Import vboot-utils_0~R99-14469.B.orig.tar.gz
authorSophie Brun <sophie@offensive-security.com>
Mon, 14 Feb 2022 13:32:56 +0000 (13:32 +0000)
committerSophie Brun <sophie@offensive-security.com>
Mon, 14 Feb 2022 13:32:56 +0000 (13:32 +0000)
[dgit import orig vboot-utils_0~R99-14469.B.orig.tar.gz]

1184 files changed:
.checkpatch.conf [new file with mode: 0644]
.clang-format [new file with mode: 0644]
.gitignore [new file with mode: 0644]
Android.mk [new file with mode: 0644]
LICENSE [new file with mode: 0644]
Makefile [new file with mode: 0644]
OWNERS [new file with mode: 0644]
PRESUBMIT.cfg [new file with mode: 0644]
README [new file with mode: 0644]
cgpt/cgpt.c [new file with mode: 0644]
cgpt/cgpt.h [new file with mode: 0644]
cgpt/cgpt_add.c [new file with mode: 0644]
cgpt/cgpt_boot.c [new file with mode: 0644]
cgpt/cgpt_common.c [new file with mode: 0644]
cgpt/cgpt_create.c [new file with mode: 0644]
cgpt/cgpt_edit.c [new file with mode: 0644]
cgpt/cgpt_endian.h [new file with mode: 0644]
cgpt/cgpt_find.c [new file with mode: 0644]
cgpt/cgpt_legacy.c [new file with mode: 0644]
cgpt/cgpt_nor.c [new file with mode: 0644]
cgpt/cgpt_nor.h [new file with mode: 0644]
cgpt/cgpt_prioritize.c [new file with mode: 0644]
cgpt/cgpt_repair.c [new file with mode: 0644]
cgpt/cgpt_show.c [new file with mode: 0644]
cgpt/cgpt_wrapper.c [new file with mode: 0644]
cgpt/cmd_add.c [new file with mode: 0644]
cgpt/cmd_boot.c [new file with mode: 0644]
cgpt/cmd_create.c [new file with mode: 0644]
cgpt/cmd_edit.c [new file with mode: 0644]
cgpt/cmd_find.c [new file with mode: 0644]
cgpt/cmd_legacy.c [new file with mode: 0644]
cgpt/cmd_prioritize.c [new file with mode: 0644]
cgpt/cmd_repair.c [new file with mode: 0644]
cgpt/cmd_show.c [new file with mode: 0644]
emerge_test.sh [new file with mode: 0755]
firmware/2lib/2api.c [new file with mode: 0644]
firmware/2lib/2auxfw_sync.c [new file with mode: 0644]
firmware/2lib/2common.c [new file with mode: 0644]
firmware/2lib/2context.c [new file with mode: 0644]
firmware/2lib/2crc8.c [new file with mode: 0644]
firmware/2lib/2crypto.c [new file with mode: 0644]
firmware/2lib/2ec_sync.c [new file with mode: 0644]
firmware/2lib/2firmware.c [new file with mode: 0644]
firmware/2lib/2gbb.c [new file with mode: 0644]
firmware/2lib/2hmac.c [new file with mode: 0644]
firmware/2lib/2kernel.c [new file with mode: 0644]
firmware/2lib/2misc.c [new file with mode: 0644]
firmware/2lib/2nvstorage.c [new file with mode: 0644]
firmware/2lib/2packed_key.c [new file with mode: 0644]
firmware/2lib/2recovery_reasons.c [new file with mode: 0644]
firmware/2lib/2rsa.c [new file with mode: 0644]
firmware/2lib/2secdata_firmware.c [new file with mode: 0644]
firmware/2lib/2secdata_fwmp.c [new file with mode: 0644]
firmware/2lib/2secdata_kernel.c [new file with mode: 0644]
firmware/2lib/2sha1.c [new file with mode: 0644]
firmware/2lib/2sha256.c [new file with mode: 0644]
firmware/2lib/2sha256_x86.c [new file with mode: 0644]
firmware/2lib/2sha512.c [new file with mode: 0644]
firmware/2lib/2sha_utility.c [new file with mode: 0644]
firmware/2lib/2struct.c [new file with mode: 0644]
firmware/2lib/2stub.c [new file with mode: 0644]
firmware/2lib/2stub_hwcrypto.c [new file with mode: 0644]
firmware/2lib/2tpm_bootmode.c [new file with mode: 0644]
firmware/2lib/include/2api.h [new file with mode: 0644]
firmware/2lib/include/2common.h [new file with mode: 0644]
firmware/2lib/include/2constants.h [new file with mode: 0644]
firmware/2lib/include/2crc8.h [new file with mode: 0644]
firmware/2lib/include/2crypto.h [new file with mode: 0644]
firmware/2lib/include/2fw_hash_tags.h [new file with mode: 0644]
firmware/2lib/include/2gbb.h [new file with mode: 0644]
firmware/2lib/include/2gbb_flags.h [new file with mode: 0644]
firmware/2lib/include/2hmac.h [new file with mode: 0644]
firmware/2lib/include/2id.h [new file with mode: 0644]
firmware/2lib/include/2kernel.h [new file with mode: 0644]
firmware/2lib/include/2misc.h [new file with mode: 0644]
firmware/2lib/include/2nvstorage.h [new file with mode: 0644]
firmware/2lib/include/2nvstorage_fields.h [new file with mode: 0644]
firmware/2lib/include/2packed_key.h [new file with mode: 0644]
firmware/2lib/include/2recovery_reasons.h [new file with mode: 0644]
firmware/2lib/include/2return_codes.h [new file with mode: 0644]
firmware/2lib/include/2rsa.h [new file with mode: 0644]
firmware/2lib/include/2rsa_private.h [new file with mode: 0644]
firmware/2lib/include/2secdata.h [new file with mode: 0644]
firmware/2lib/include/2secdata_struct.h [new file with mode: 0644]
firmware/2lib/include/2sha.h [new file with mode: 0644]
firmware/2lib/include/2sha_private.h [new file with mode: 0644]
firmware/2lib/include/2struct.h [new file with mode: 0644]
firmware/2lib/include/2sysincludes.h [new file with mode: 0644]
firmware/2lib/include/2tpm_bootmode.h [new file with mode: 0644]
firmware/README [new file with mode: 0644]
firmware/include/OWNERS [new file with mode: 0644]
firmware/include/gpt.h [new file with mode: 0644]
firmware/include/gpt_misc.h [new file with mode: 0644]
firmware/include/tlcl.h [new file with mode: 0644]
firmware/include/tpm1_tss_constants.h [new file with mode: 0644]
firmware/include/tpm2_marshaling.h [new file with mode: 0644]
firmware/include/tpm2_tss_constants.h [new file with mode: 0644]
firmware/include/tss_constants.h [new file with mode: 0644]
firmware/include/vb2_api.h [new file with mode: 0644]
firmware/include/vb2_constants.h [new file with mode: 0644]
firmware/include/vb2_internals_please_do_not_use.h [new file with mode: 0644]
firmware/include/vb2_sha.h [new file with mode: 0644]
firmware/include/vboot_api.h [new file with mode: 0644]
firmware/lib/cgptlib/cgptlib.c [new file with mode: 0644]
firmware/lib/cgptlib/cgptlib_internal.c [new file with mode: 0644]
firmware/lib/cgptlib/crc32.c [new file with mode: 0644]
firmware/lib/cgptlib/include/cgptlib.h [new file with mode: 0644]
firmware/lib/cgptlib/include/cgptlib_internal.h [new file with mode: 0644]
firmware/lib/cgptlib/include/crc32.h [new file with mode: 0644]
firmware/lib/gpt_misc.c [new file with mode: 0644]
firmware/lib/include/load_kernel_fw.h [new file with mode: 0644]
firmware/lib/include/vboot_struct.h [new file with mode: 0644]
firmware/lib/include/vboot_test.h [new file with mode: 0644]
firmware/lib/tpm2_lite/OWNERS [new file with mode: 0644]
firmware/lib/tpm2_lite/marshaling.c [new file with mode: 0644]
firmware/lib/tpm2_lite/tlcl.c [new file with mode: 0644]
firmware/lib/tpm_lite/OWNERS [new file with mode: 0644]
firmware/lib/tpm_lite/include/tlcl_internal.h [new file with mode: 0644]
firmware/lib/tpm_lite/include/tlcl_structures.h [new file with mode: 0644]
firmware/lib/tpm_lite/include/tpm_error_messages.h [new file with mode: 0644]
firmware/lib/tpm_lite/mocked_tlcl.c [new file with mode: 0644]
firmware/lib/tpm_lite/tlcl.c [new file with mode: 0644]
firmware/lib/vboot_api_kernel.c [new file with mode: 0644]
firmware/lib/vboot_kernel.c [new file with mode: 0644]
firmware/lib20/api_kernel.c [new file with mode: 0644]
firmware/lib20/kernel.c [new file with mode: 0644]
firmware/stub/OWNERS [new file with mode: 0644]
firmware/stub/tpm_lite_stub.c [new file with mode: 0644]
firmware/stub/vboot_api_stub.c [new file with mode: 0644]
firmware/stub/vboot_api_stub_disk.c [new file with mode: 0644]
firmware/stub/vboot_api_stub_stream.c [new file with mode: 0644]
futility/cmd_create.c [new file with mode: 0644]
futility/cmd_dump_fmap.c [new file with mode: 0644]
futility/cmd_dump_kernel_config.c [new file with mode: 0644]
futility/cmd_gbb_utility.c [new file with mode: 0644]
futility/cmd_gscvd.c [new file with mode: 0644]
futility/cmd_load_fmap.c [new file with mode: 0644]
futility/cmd_pcr.c [new file with mode: 0644]
futility/cmd_show.c [new file with mode: 0644]
futility/cmd_sign.c [new file with mode: 0644]
futility/cmd_update.c [new file with mode: 0644]
futility/cmd_validate_rec_mrc.c [new file with mode: 0644]
futility/cmd_vbutil_firmware.c [new file with mode: 0644]
futility/cmd_vbutil_kernel.c [new file with mode: 0644]
futility/cmd_vbutil_key.c [new file with mode: 0644]
futility/cmd_vbutil_keyblock.c [new file with mode: 0644]
futility/dump_kernel_config_lib.c [new file with mode: 0644]
futility/file_type.c [new file with mode: 0644]
futility/file_type.h [new file with mode: 0644]
futility/file_type.inc [new file with mode: 0644]
futility/file_type_bios.c [new file with mode: 0644]
futility/file_type_bios.h [new file with mode: 0644]
futility/file_type_rwsig.c [new file with mode: 0644]
futility/file_type_usbpd1.c [new file with mode: 0644]
futility/flashrom_drv.c [new file with mode: 0644]
futility/futility.c [new file with mode: 0644]
futility/futility.h [new file with mode: 0644]
futility/futility_options.h [new file with mode: 0644]
futility/kernel_blob.h [new file with mode: 0644]
futility/misc.c [new file with mode: 0644]
futility/updater.c [new file with mode: 0644]
futility/updater.h [new file with mode: 0644]
futility/updater_archive.c [new file with mode: 0644]
futility/updater_quirks.c [new file with mode: 0644]
futility/updater_utils.c [new file with mode: 0644]
futility/updater_utils.h [new file with mode: 0644]
futility/vb1_helper.c [new file with mode: 0644]
futility/vb1_helper.h [new file with mode: 0644]
futility/vb2_helper.c [new file with mode: 0644]
host/arch/arm/lib/crossystem_arch.c [new file with mode: 0644]
host/arch/mips/lib/crossystem_arch.c [new file with mode: 0644]
host/arch/stub/lib/crossystem_arch.c [new file with mode: 0644]
host/arch/x86/lib/crossystem_arch.c [new file with mode: 0644]
host/arch/x86_64/lib/crossystem_arch.c [new symlink]
host/include/cgpt_params.h [new file with mode: 0644]
host/include/crossystem.h [new file with mode: 0644]
host/include/crossystem_vbnv.h [new file with mode: 0644]
host/include/openssl_compat.h [new file with mode: 0644]
host/include/vboot_host.h [new file with mode: 0644]
host/lib/chromeos_config.c [new file with mode: 0644]
host/lib/crossystem.c [new file with mode: 0644]
host/lib/crypto.c [new file with mode: 0644]
host/lib/extract_vmlinuz.c [new file with mode: 0644]
host/lib/file_keys.c [new file with mode: 0644]
host/lib/flashrom.c [new file with mode: 0644]
host/lib/fmap.c [new file with mode: 0644]
host/lib/host_common.c [new file with mode: 0644]
host/lib/host_key2.c [new file with mode: 0644]
host/lib/host_keyblock.c [new file with mode: 0644]
host/lib/host_misc.c [new file with mode: 0644]
host/lib/host_signature.c [new file with mode: 0644]
host/lib/host_signature2.c [new file with mode: 0644]
host/lib/include/chromeos_config.h [new file with mode: 0644]
host/lib/include/crossystem_arch.h [new file with mode: 0644]
host/lib/include/file_keys.h [new file with mode: 0644]
host/lib/include/flashrom.h [new file with mode: 0644]
host/lib/include/fmap.h [new file with mode: 0644]
host/lib/include/gsc_ro.h [new file with mode: 0644]
host/lib/include/host_common.h [new file with mode: 0644]
host/lib/include/host_key.h [new file with mode: 0644]
host/lib/include/host_keyblock.h [new file with mode: 0644]
host/lib/include/host_misc.h [new file with mode: 0644]
host/lib/include/host_signature.h [new file with mode: 0644]
host/lib/include/signature_digest.h [new file with mode: 0644]
host/lib/include/subprocess.h [new file with mode: 0644]
host/lib/include/util_misc.h [new file with mode: 0644]
host/lib/signature_digest.c [new file with mode: 0644]
host/lib/subprocess.c [new file with mode: 0644]
host/lib/util_misc.c [new file with mode: 0644]
host/lib21/host_common.c [new file with mode: 0644]
host/lib21/host_key.c [new file with mode: 0644]
host/lib21/host_misc.c [new file with mode: 0644]
host/lib21/host_signature.c [new file with mode: 0644]
host/lib21/include/host_common21.h [new file with mode: 0644]
host/lib21/include/host_key21.h [new file with mode: 0644]
host/lib21/include/host_misc21.h [new file with mode: 0644]
host/lib21/include/host_signature21.h [new file with mode: 0644]
host/lib21/include/host_struct21.h [new file with mode: 0644]
rust/OWNERS [new file with mode: 0644]
rust/README.md [new file with mode: 0644]
rust/vboot_reference-sys/Cargo.toml [new file with mode: 0644]
rust/vboot_reference-sys/build.rs [new file with mode: 0644]
rust/vboot_reference-sys/crossystem.h [new symlink]
rust/vboot_reference-sys/lib.rs [new file with mode: 0644]
scripts/OWNERS [new file with mode: 0644]
scripts/getversion.sh [new file with mode: 0755]
scripts/image_signing/common.sh [new file with mode: 0644]
scripts/image_signing/common_minimal.sh [new file with mode: 0644]
scripts/image_signing/convert_recovery_to_full_ssd.sh [new file with mode: 0755]
scripts/image_signing/convert_recovery_to_ssd.sh [new file with mode: 0755]
scripts/image_signing/ensure_no_nonrelease_files.sh [new file with mode: 0755]
scripts/image_signing/ensure_no_password.sh [new file with mode: 0755]
scripts/image_signing/ensure_not_ASAN.sh [new file with mode: 0755]
scripts/image_signing/ensure_not_tainted_license.sh [new file with mode: 0755]
scripts/image_signing/ensure_sane_lsb-release.sh [new file with mode: 0755]
scripts/image_signing/ensure_secure_kernelparams.sh [new file with mode: 0755]
scripts/image_signing/ensure_update_verification.sh [new file with mode: 0755]
scripts/image_signing/gbb_flags_common.sh [new file with mode: 0755]
scripts/image_signing/get_gbb_flags.sh [new file with mode: 0755]
scripts/image_signing/insert_au_publickey.sh [new file with mode: 0755]
scripts/image_signing/insert_container_publickey.sh [new file with mode: 0755]
scripts/image_signing/install_gsetup_certs.sh [new file with mode: 0755]
scripts/image_signing/lib/shflags/README.chromium [new file with mode: 0644]
scripts/image_signing/lib/shflags/shflags [new file with mode: 0644]
scripts/image_signing/lib/sign_android_lib.sh [new file with mode: 0644]
scripts/image_signing/make_dev_firmware.sh [new file with mode: 0755]
scripts/image_signing/make_dev_ssd.sh [new file with mode: 0755]
scripts/image_signing/remove_test_label.sh [new file with mode: 0755]
scripts/image_signing/resign_firmwarefd.sh [new file with mode: 0755]
scripts/image_signing/resign_kernel_partition.sh [new file with mode: 0755]
scripts/image_signing/sample-test-configs/README [new file with mode: 0644]
scripts/image_signing/sample-test-configs/ensure_no_nonrelease_files.config [new file with mode: 0644]
scripts/image_signing/sample-test-configs/ensure_sane_lsb-release.config [new file with mode: 0644]
scripts/image_signing/sample-test-configs/ensure_secure_kernelparams.config [new file with mode: 0644]
scripts/image_signing/set_channel.sh [new file with mode: 0755]
scripts/image_signing/set_gbb_flags.sh [new file with mode: 0755]
scripts/image_signing/set_lsb_release.sh [new file with mode: 0755]
scripts/image_signing/sign_android_image.sh [new file with mode: 0755]
scripts/image_signing/sign_android_unittests.sh [new file with mode: 0755]
scripts/image_signing/sign_firmware.sh [new file with mode: 0755]
scripts/image_signing/sign_gsc_firmware.sh [new file with mode: 0755]
scripts/image_signing/sign_official_build.sh [new file with mode: 0755]
scripts/image_signing/sign_psp_verstagebl_fw.sh [new file with mode: 0755]
scripts/image_signing/sign_uefi.sh [new file with mode: 0755]
scripts/image_signing/strip_boot_from_image.sh [new file with mode: 0755]
scripts/image_signing/tag_image.sh [new file with mode: 0755]
scripts/image_signing/verify_uefi.sh [new file with mode: 0755]
scripts/image_signing/versions.default [new file with mode: 0644]
scripts/keygeneration/accessory/common_leverage_hammer.sh [new file with mode: 0644]
scripts/keygeneration/accessory/create_new_ec_efs_key.sh [new file with mode: 0755]
scripts/keygeneration/accessory/create_new_hammer_like_keys.sh [new file with mode: 0755]
scripts/keygeneration/add_loem_keys.sh [new file with mode: 0755]
scripts/keygeneration/common.sh [new file with mode: 0644]
scripts/keygeneration/create_new_android_keys.sh [new file with mode: 0755]
scripts/keygeneration/create_new_keys.sh [new file with mode: 0755]
scripts/keygeneration/create_psp_verstagebl_key.sh [new file with mode: 0755]
scripts/keygeneration/increment_firmware_data_key.sh [new file with mode: 0755]
scripts/keygeneration/increment_kernel_data_key.sh [new file with mode: 0755]
scripts/keygeneration/increment_kernel_subkey.sh [new file with mode: 0755]
scripts/keygeneration/increment_kernel_subkey_and_key.sh [new file with mode: 0755]
scripts/keygeneration/keyset_version_check.sh [new file with mode: 0755]
scripts/keygeneration/make_keyblock.sh [new file with mode: 0755]
scripts/keygeneration/make_pair.sh [new file with mode: 0755]
scripts/keygeneration/uefi/create_new_uefi_keys.sh [new file with mode: 0755]
scripts/keygeneration/uefi/increment_db_child_key.sh [new file with mode: 0755]
scripts/keygeneration/uefi/increment_db_key.sh [new file with mode: 0755]
scripts/keygeneration/uefi/increment_kek_key.sh [new file with mode: 0755]
scripts/keygeneration/uefi/increment_pk_key.sh [new file with mode: 0755]
scripts/keygeneration/uefi/uefi_common.sh [new file with mode: 0644]
scripts/newbitmaps/README [new file with mode: 0644]
tests/cgpt_fuzzer.c [new file with mode: 0644]
tests/cgptlib_test.c [new file with mode: 0644]
tests/cgptlib_test.h [new file with mode: 0644]
tests/chromeos_config_tests.c [new file with mode: 0644]
tests/common.sh [new file with mode: 0644]
tests/crc32_test.c [new file with mode: 0644]
tests/crc32_test.h [new file with mode: 0644]
tests/devkeys-acc/key.versions [new file with mode: 0644]
tests/devkeys-acc/key_hadoken.vbprik2 [new file with mode: 0644]
tests/devkeys-acc/key_hadoken.vbpubk2 [new file with mode: 0644]
tests/devkeys-acc/key_zinger.pem [new file with mode: 0644]
tests/devkeys-pkc/dev_firmware.keyblock [new file with mode: 0644]
tests/devkeys-pkc/dev_firmware_data_key.vbprivk [new file with mode: 0644]
tests/devkeys-pkc/dev_firmware_data_key.vbpubk [new file with mode: 0644]
tests/devkeys-pkc/ec.keyblock [new file with mode: 0644]
tests/devkeys-pkc/ec_data_key.vbprivk [new file with mode: 0644]
tests/devkeys-pkc/ec_data_key.vbpubk [new file with mode: 0644]
tests/devkeys-pkc/ec_root_key.vbprivk [new file with mode: 0644]
tests/devkeys-pkc/ec_root_key.vbpubk [new file with mode: 0644]
tests/devkeys-pkc/firmware.keyblock [new file with mode: 0644]
tests/devkeys-pkc/firmware_bmpfv.bin [new file with mode: 0644]
tests/devkeys-pkc/firmware_data_key.vbprivk [new file with mode: 0644]
tests/devkeys-pkc/firmware_data_key.vbpubk [new file with mode: 0644]
tests/devkeys-pkc/installer_kernel.keyblock [new file with mode: 0644]
tests/devkeys-pkc/installer_kernel_data_key.vbprivk [new file with mode: 0644]
tests/devkeys-pkc/installer_kernel_data_key.vbpubk [new file with mode: 0644]
tests/devkeys-pkc/kernel.keyblock [new file with mode: 0644]
tests/devkeys-pkc/kernel_data_key.vbprivk [new file with mode: 0644]
tests/devkeys-pkc/kernel_data_key.vbpubk [new file with mode: 0644]
tests/devkeys-pkc/kernel_subkey.vbprivk [new file with mode: 0644]
tests/devkeys-pkc/kernel_subkey.vbpubk [new file with mode: 0644]
tests/devkeys-pkc/key.versions [new file with mode: 0644]
tests/devkeys-pkc/nv_pkc.pem [new file with mode: 0644]
tests/devkeys-pkc/recovery_kernel.keyblock [new file with mode: 0644]
tests/devkeys-pkc/recovery_kernel_data_key.vbprivk [new file with mode: 0644]
tests/devkeys-pkc/recovery_kernel_data_key.vbpubk [new file with mode: 0644]
tests/devkeys-pkc/recovery_key.vbprivk [new file with mode: 0644]
tests/devkeys-pkc/recovery_key.vbpubk [new file with mode: 0644]
tests/devkeys-pkc/root_key.vbprivk [new file with mode: 0644]
tests/devkeys-pkc/root_key.vbpubk [new file with mode: 0644]
tests/devkeys/android/media.pk8 [new file with mode: 0644]
tests/devkeys/android/media.x509.pem [new file with mode: 0644]
tests/devkeys/android/networkstack.pk8 [new file with mode: 0644]
tests/devkeys/android/networkstack.x509.pem [new file with mode: 0644]
tests/devkeys/android/platform.pk8 [new file with mode: 0644]
tests/devkeys/android/platform.x509.pem [new file with mode: 0644]
tests/devkeys/android/releasekey.pk8 [new file with mode: 0644]
tests/devkeys/android/releasekey.x509.pem [new file with mode: 0644]
tests/devkeys/android/shared.pk8 [new file with mode: 0644]
tests/devkeys/android/shared.x509.pem [new file with mode: 0644]
tests/devkeys/arv_platform.vbprivk [new file with mode: 0644]
tests/devkeys/arv_platform.vbpubk [new file with mode: 0644]
tests/devkeys/arv_root.vbprivk [new file with mode: 0644]
tests/devkeys/arv_root.vbpubk [new file with mode: 0644]
tests/devkeys/cr50.pem [new file with mode: 0644]
tests/devkeys/ec.keyblock [new file with mode: 0644]
tests/devkeys/ec_data_key.vbprivk [new file with mode: 0644]
tests/devkeys/ec_data_key.vbpubk [new file with mode: 0644]
tests/devkeys/ec_root_key.vbprivk [new file with mode: 0644]
tests/devkeys/ec_root_key.vbpubk [new file with mode: 0644]
tests/devkeys/firmware.keyblock [new file with mode: 0644]
tests/devkeys/firmware_bmpfv.bin [new file with mode: 0644]
tests/devkeys/firmware_data_key.vbprivk [new file with mode: 0644]
tests/devkeys/firmware_data_key.vbpubk [new file with mode: 0644]
tests/devkeys/installer_kernel.keyblock [new file with mode: 0644]
tests/devkeys/installer_kernel_data_key.vbprivk [new file with mode: 0644]
tests/devkeys/installer_kernel_data_key.vbpubk [new file with mode: 0644]
tests/devkeys/kernel.keyblock [new file with mode: 0644]
tests/devkeys/kernel_data_key.vbprivk [new file with mode: 0644]
tests/devkeys/kernel_data_key.vbpubk [new file with mode: 0644]
tests/devkeys/kernel_subkey.vbprivk [new file with mode: 0644]
tests/devkeys/kernel_subkey.vbpubk [new file with mode: 0644]
tests/devkeys/key.versions [new file with mode: 0644]
tests/devkeys/key_ec_efs.vbprik2 [new file with mode: 0644]
tests/devkeys/key_ec_efs.vbpubk2 [new file with mode: 0644]
tests/devkeys/minios_kernel.keyblock [new file with mode: 0644]
tests/devkeys/minios_kernel_data_key.vbprivk [new file with mode: 0644]
tests/devkeys/minios_kernel_data_key.vbpubk [new file with mode: 0644]
tests/devkeys/recovery_kernel.keyblock [new file with mode: 0644]
tests/devkeys/recovery_kernel_data_key.vbprivk [new file with mode: 0644]
tests/devkeys/recovery_kernel_data_key.vbpubk [new file with mode: 0644]
tests/devkeys/recovery_key.vbprivk [new file with mode: 0644]
tests/devkeys/recovery_key.vbpubk [new file with mode: 0644]
tests/devkeys/root_key.vbprivk [new file with mode: 0644]
tests/devkeys/root_key.vbpubk [new file with mode: 0644]
tests/devkeys/uefi/db/db.children/.srl [new file with mode: 0644]
tests/devkeys/uefi/db/db.children/db_child.csr [new file with mode: 0644]
tests/devkeys/uefi/db/db.children/db_child.pem [new file with mode: 0644]
tests/devkeys/uefi/db/db.children/db_child.rsa [new file with mode: 0644]
tests/devkeys/uefi/db/db.pem [new file with mode: 0644]
tests/devkeys/uefi/kek/kek.pem [new file with mode: 0644]
tests/devkeys/uefi/pk/pk.pem [new file with mode: 0644]
tests/devkeys/uefi/uefi_key.versions [new file with mode: 0644]
tests/external_rsa_signer.sh [new file with mode: 0755]
tests/futility/binary_editor.c [new file with mode: 0644]
tests/futility/data/EC_RW.bin [new file with mode: 0644]
tests/futility/data/README [new file with mode: 0644]
tests/futility/data/bios_link_mp.bin [new file with mode: 0644]
tests/futility/data/bios_mario_mp.bin [new file with mode: 0644]
tests/futility/data/bios_peppy_mp.bin [new file with mode: 0644]
tests/futility/data/bios_zgb_mp.bin [new file with mode: 0644]
tests/futility/data/dingdong.pem [new file with mode: 0644]
tests/futility/data/dingdong.signed [new file with mode: 0644]
tests/futility/data/dingdong.unsigned [new file with mode: 0644]
tests/futility/data/fw_gbb.bin [new file with mode: 0644]
tests/futility/data/fw_vblock.bin [new file with mode: 0644]
tests/futility/data/hammer_dev.bin [new file with mode: 0755]
tests/futility/data/hoho.pem [new file with mode: 0644]
tests/futility/data/hoho.signed [new file with mode: 0644]
tests/futility/data/hoho.unsigned [new file with mode: 0644]
tests/futility/data/kern_preamble.bin [new file with mode: 0644]
tests/futility/data/minimuffin.pem [new file with mode: 0644]
tests/futility/data/minimuffin.signed [new file with mode: 0644]
tests/futility/data/minimuffin.unsigned [new file with mode: 0644]
tests/futility/data/random_noise.bin [new file with mode: 0644]
tests/futility/data/rec_kernel_part.bin [new file with mode: 0644]
tests/futility/data/ro_vpd.bin [new file with mode: 0644]
tests/futility/data/sample.vbprik2 [new file with mode: 0644]
tests/futility/data/sample.vbpubk2 [new file with mode: 0644]
tests/futility/data/short_junk.bin [new file with mode: 0644]
tests/futility/data/vmlinuz-amd64.bin [new file with mode: 0644]
tests/futility/data/vmlinuz-arm.bin [new file with mode: 0644]
tests/futility/data/zinger.pem [new file with mode: 0644]
tests/futility/data/zinger.signed [new file with mode: 0644]
tests/futility/data/zinger.unsigned [new file with mode: 0644]
tests/futility/data/zinger_mp_image.bin [new file with mode: 0644]
tests/futility/data_bios_link_mp.bin_expect.txt [new file with mode: 0644]
tests/futility/data_bios_mario_mp.bin_expect.txt [new file with mode: 0644]
tests/futility/data_bios_peppy_mp.bin_expect.txt [new file with mode: 0644]
tests/futility/data_bios_peppy_mp_no_vblock.bin_expect.txt [new file with mode: 0644]
tests/futility/data_bios_zgb_mp.bin_expect.txt [new file with mode: 0644]
tests/futility/data_fmap.bin [new file with mode: 0644]
tests/futility/data_fmap2.bin [new file with mode: 0644]
tests/futility/data_fmap2_expect_h.txt [new file with mode: 0644]
tests/futility/data_fmap2_expect_hh.txt [new file with mode: 0644]
tests/futility/data_fmap2_expect_hhH.txt [new file with mode: 0644]
tests/futility/data_fmap_expect_f.txt [new file with mode: 0644]
tests/futility/data_fmap_expect_h.txt [new file with mode: 0644]
tests/futility/data_fmap_expect_p.txt [new file with mode: 0644]
tests/futility/data_fmap_expect_x.txt [new file with mode: 0644]
tests/futility/data_fmap_expect_x2.txt [new file with mode: 0644]
tests/futility/expect_output/show.tests_devkeys_kernel.keyblock [new file with mode: 0644]
tests/futility/expect_output/show.tests_devkeys_root_key.vbprivk [new file with mode: 0644]
tests/futility/expect_output/show.tests_devkeys_root_key.vbpubk [new file with mode: 0644]
tests/futility/expect_output/show.tests_futility_data_bios_mario_mp.bin [new file with mode: 0644]
tests/futility/expect_output/show.tests_futility_data_bios_zgb_mp.bin [new file with mode: 0644]
tests/futility/expect_output/show.tests_futility_data_fw_gbb.bin [new file with mode: 0644]
tests/futility/expect_output/show.tests_futility_data_fw_vblock.bin [new file with mode: 0644]
tests/futility/expect_output/show.tests_futility_data_kern_preamble.bin [new file with mode: 0644]
tests/futility/expect_output/show.tests_futility_data_sample.vbprik2 [new file with mode: 0644]
tests/futility/expect_output/show.tests_futility_data_sample.vbpubk2 [new file with mode: 0644]
tests/futility/expect_output/show.tests_testkeys_key_rsa2048.pem [new file with mode: 0644]
tests/futility/expect_output/show.tests_testkeys_key_rsa8192.pub.pem [new file with mode: 0644]
tests/futility/expect_output/vbutil_firmware.tests_futility_data_fw.vblock [new file with mode: 0644]
tests/futility/expect_output/vbutil_firmware.tests_futility_data_fw_vblock.bin [new file with mode: 0644]
tests/futility/expect_output/vbutil_firmware.verify [new file with mode: 0644]
tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbprivk [new file with mode: 0644]
tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbpubk [new file with mode: 0644]
tests/futility/expect_output/vbutil_keyblock.tests_devkeys_kernel.keyblock [new file with mode: 0644]
tests/futility/link_bios.manifest.json [new file with mode: 0644]
tests/futility/link_image.manifest.json [new file with mode: 0644]
tests/futility/models/link/setvars.sh [new file with mode: 0755]
tests/futility/models/peppy/setvars.sh [new file with mode: 0755]
tests/futility/models/whitetip/setvars.sh [new file with mode: 0755]
tests/futility/run_test_scripts.sh [new file with mode: 0755]
tests/futility/test_create.sh [new file with mode: 0755]
tests/futility/test_dump_fmap.sh [new file with mode: 0755]
tests/futility/test_file_types.c [new file with mode: 0644]
tests/futility/test_file_types.sh [new file with mode: 0755]
tests/futility/test_gbb_utility.sh [new file with mode: 0755]
tests/futility/test_load_fmap.sh [new file with mode: 0755]
tests/futility/test_main.sh [new file with mode: 0755]
tests/futility/test_not_really.c [new file with mode: 0644]
tests/futility/test_rwsig.sh [new file with mode: 0755]
tests/futility/test_show_contents.sh [new file with mode: 0755]
tests/futility/test_show_kernel.sh [new file with mode: 0755]
tests/futility/test_show_usbpd1.sh [new file with mode: 0755]
tests/futility/test_show_vs_verify.sh [new file with mode: 0755]
tests/futility/test_sign_firmware.sh [new file with mode: 0755]
tests/futility/test_sign_fw_main.sh [new file with mode: 0755]
tests/futility/test_sign_kernel.sh [new file with mode: 0755]
tests/futility/test_sign_keyblocks.sh [new file with mode: 0755]
tests/futility/test_sign_usbpd1.sh [new file with mode: 0755]
tests/futility/test_update.sh [new file with mode: 0755]
tests/gen_fuzz_test_cases.sh [new file with mode: 0755]
tests/gen_preamble_testdata.sh [new file with mode: 0755]
tests/gen_test_cases.sh [new file with mode: 0755]
tests/gen_test_keys.sh [new file with mode: 0755]
tests/gen_test_vbpubks.sh [new file with mode: 0755]
tests/gpt_misc_tests.c [new file with mode: 0644]
tests/hmac_test.c [new file with mode: 0644]
tests/load_kernel_tests.sh [new file with mode: 0755]
tests/loemkeys/README [new file with mode: 0644]
tests/loemkeys/firmware.loem1.keyblock [new symlink]
tests/loemkeys/firmware.loem2.keyblock [new symlink]
tests/loemkeys/firmware.loem3.keyblock [new symlink]
tests/loemkeys/firmware.loem4.keyblock [new symlink]
tests/loemkeys/firmware_data_key.loem1.vbprivk [new symlink]
tests/loemkeys/firmware_data_key.loem1.vbpubk [new symlink]
tests/loemkeys/firmware_data_key.loem2.vbprivk [new symlink]
tests/loemkeys/firmware_data_key.loem2.vbpubk [new symlink]
tests/loemkeys/firmware_data_key.loem3.vbprivk [new symlink]
tests/loemkeys/firmware_data_key.loem3.vbpubk [new symlink]
tests/loemkeys/firmware_data_key.loem4.vbprivk [new symlink]
tests/loemkeys/firmware_data_key.loem4.vbpubk [new symlink]
tests/loemkeys/installer_kernel.keyblock [new symlink]
tests/loemkeys/installer_kernel_data_key.vbprivk [new symlink]
tests/loemkeys/installer_kernel_data_key.vbpubk [new symlink]
tests/loemkeys/kernel.keyblock [new symlink]
tests/loemkeys/kernel_data_key.vbprivk [new symlink]
tests/loemkeys/kernel_data_key.vbpubk [new symlink]
tests/loemkeys/kernel_subkey.vbprivk [new symlink]
tests/loemkeys/kernel_subkey.vbpubk [new symlink]
tests/loemkeys/key.versions [new file with mode: 0644]
tests/loemkeys/loem.ini [new file with mode: 0644]
tests/loemkeys/recovery_kernel.keyblock [new symlink]
tests/loemkeys/recovery_kernel_data_key.vbprivk [new symlink]
tests/loemkeys/recovery_kernel_data_key.vbpubk [new symlink]
tests/loemkeys/recovery_key.vbprivk [new symlink]
tests/loemkeys/recovery_key.vbpubk [new symlink]
tests/loemkeys/root_key.loem1.vbprivk [new symlink]
tests/loemkeys/root_key.loem1.vbpubk [new symlink]
tests/loemkeys/root_key.loem2.vbprivk [new symlink]
tests/loemkeys/root_key.loem2.vbpubk [new symlink]
tests/loemkeys/root_key.loem3.vbprivk [new symlink]
tests/loemkeys/root_key.loem3.vbpubk [new symlink]
tests/loemkeys/root_key.loem4.vbprivk [new symlink]
tests/loemkeys/root_key.loem4.vbpubk [new symlink]
tests/preamble_tests/data/FWDATA [new file with mode: 0644]
tests/preamble_tests/data/KERNDATA [new file with mode: 0644]
tests/preamble_tests/data/data_0.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/data_0.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/data_1.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/data_1.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/data_10.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/data_10.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/data_11.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/data_11.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/data_2.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/data_2.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/data_3.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/data_3.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/data_4.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/data_4.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/data_5.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/data_5.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/data_6.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/data_6.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/data_7.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/data_7.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/data_8.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/data_8.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/data_9.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/data_9.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/dummy_0.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/dummy_0.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/dummy_bootloader.bin [new file with mode: 0644]
tests/preamble_tests/data/dummy_config.txt [new file with mode: 0644]
tests/preamble_tests/data/kb_0_0.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_0_1.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_0_10.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_0_11.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_0_2.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_0_3.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_0_4.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_0_5.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_0_6.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_0_7.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_0_8.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_0_9.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_10_0.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_10_1.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_10_10.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_10_11.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_10_2.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_10_3.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_10_4.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_10_5.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_10_6.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_10_7.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_10_8.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_10_9.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_11_0.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_11_1.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_11_10.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_11_11.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_11_2.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_11_3.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_11_4.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_11_5.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_11_6.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_11_7.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_11_8.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_11_9.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_1_0.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_1_1.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_1_10.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_1_11.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_1_2.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_1_3.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_1_4.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_1_5.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_1_6.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_1_7.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_1_8.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_1_9.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_2_0.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_2_1.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_2_10.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_2_11.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_2_2.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_2_3.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_2_4.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_2_5.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_2_6.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_2_7.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_2_8.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_2_9.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_3_0.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_3_1.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_3_10.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_3_11.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_3_2.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_3_3.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_3_4.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_3_5.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_3_6.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_3_7.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_3_8.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_3_9.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_4_0.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_4_1.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_4_10.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_4_11.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_4_2.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_4_3.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_4_4.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_4_5.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_4_6.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_4_7.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_4_8.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_4_9.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_5_0.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_5_1.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_5_10.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_5_11.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_5_2.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_5_3.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_5_4.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_5_5.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_5_6.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_5_7.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_5_8.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_5_9.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_6_0.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_6_1.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_6_10.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_6_11.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_6_2.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_6_3.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_6_4.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_6_5.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_6_6.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_6_7.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_6_8.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_6_9.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_7_0.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_7_1.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_7_10.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_7_11.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_7_2.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_7_3.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_7_4.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_7_5.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_7_6.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_7_7.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_7_8.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_7_9.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_8_0.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_8_1.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_8_10.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_8_11.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_8_2.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_8_3.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_8_4.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_8_5.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_8_6.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_8_7.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_8_8.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_8_9.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_9_0.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_9_1.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_9_10.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_9_11.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_9_2.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_9_3.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_9_4.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_9_5.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_9_6.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_9_7.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_9_8.keyblock [new file with mode: 0644]
tests/preamble_tests/data/kb_9_9.keyblock [new file with mode: 0644]
tests/preamble_tests/data/root_0.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/root_0.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/root_1.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/root_1.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/root_10.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/root_10.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/root_11.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/root_11.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/root_2.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/root_2.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/root_3.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/root_3.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/root_4.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/root_4.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/root_5.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/root_5.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/root_6.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/root_6.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/root_7.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/root_7.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/root_8.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/root_8.vbpubk [new file with mode: 0644]
tests/preamble_tests/data/root_9.vbprivk [new file with mode: 0644]
tests/preamble_tests/data/root_9.vbpubk [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_0_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_0_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_0_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_0_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_0_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_0_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_0_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_0_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_0_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_0_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_0_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_0_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_10_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_10_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_10_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_10_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_10_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_10_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_10_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_10_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_10_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_10_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_10_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_10_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_11_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_11_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_11_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_11_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_11_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_11_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_11_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_11_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_11_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_11_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_11_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_11_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_1_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_1_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_1_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_1_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_1_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_1_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_1_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_1_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_1_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_1_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_1_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_1_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_2_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_2_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_2_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_2_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_2_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_2_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_2_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_2_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_2_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_2_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_2_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_2_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_3_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_3_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_3_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_3_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_3_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_3_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_3_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_3_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_3_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_3_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_3_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_3_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_4_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_4_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_4_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_4_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_4_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_4_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_4_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_4_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_4_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_4_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_4_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_4_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_5_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_5_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_5_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_5_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_5_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_5_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_5_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_5_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_5_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_5_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_5_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_5_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_6_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_6_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_6_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_6_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_6_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_6_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_6_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_6_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_6_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_6_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_6_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_6_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_7_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_7_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_7_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_7_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_7_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_7_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_7_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_7_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_7_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_7_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_7_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_7_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_8_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_8_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_8_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_8_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_8_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_8_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_8_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_8_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_8_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_8_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_8_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_8_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_9_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_9_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_9_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_9_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_9_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_9_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_9_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_9_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_9_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_9_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_9_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/fw_9_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_0_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_0_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_0_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_0_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_0_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_0_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_0_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_0_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_0_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_0_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_0_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_0_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_10_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_10_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_10_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_10_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_10_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_10_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_10_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_10_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_10_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_10_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_10_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_10_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_11_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_11_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_11_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_11_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_11_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_11_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_11_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_11_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_11_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_11_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_11_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_11_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_1_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_1_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_1_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_1_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_1_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_1_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_1_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_1_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_1_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_1_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_1_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_1_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_2_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_2_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_2_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_2_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_2_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_2_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_2_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_2_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_2_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_2_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_2_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_2_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_3_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_3_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_3_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_3_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_3_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_3_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_3_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_3_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_3_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_3_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_3_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_3_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_4_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_4_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_4_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_4_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_4_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_4_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_4_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_4_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_4_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_4_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_4_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_4_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_5_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_5_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_5_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_5_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_5_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_5_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_5_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_5_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_5_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_5_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_5_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_5_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_6_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_6_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_6_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_6_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_6_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_6_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_6_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_6_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_6_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_6_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_6_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_6_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_7_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_7_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_7_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_7_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_7_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_7_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_7_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_7_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_7_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_7_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_7_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_7_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_8_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_8_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_8_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_8_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_8_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_8_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_8_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_8_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_8_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_8_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_8_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_8_9.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_9_0.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_9_1.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_9_10.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_9_11.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_9_2.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_9_3.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_9_4.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_9_5.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_9_6.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_9_7.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_9_8.vblock [new file with mode: 0644]
tests/preamble_tests/preamble_v2x/kern_9_9.vblock [new file with mode: 0644]
tests/rsa_padding_test.h [new file with mode: 0644]
tests/run_cgpt_tests.sh [new file with mode: 0755]
tests/run_preamble_tests.sh [new file with mode: 0755]
tests/run_vbutil_kernel_arg_tests.sh [new file with mode: 0755]
tests/run_vbutil_tests.sh [new file with mode: 0755]
tests/sha_benchmark.c [new file with mode: 0644]
tests/sha_test_vectors.h [new file with mode: 0644]
tests/sha_tests.c [new file with mode: 0644]
tests/subprocess_tests.c [new file with mode: 0644]
tests/test_common.c [new file with mode: 0644]
tests/test_common.h [new file with mode: 0644]
tests/test_using_qemu.sh [new file with mode: 0755]
tests/testcases/padding_test_vectors.inc [new file with mode: 0644]
tests/testcases/test_file [new file with mode: 0644]
tests/testcases/test_file.rsa1024_sha1.sig [new file with mode: 0644]
tests/testcases/test_file.rsa1024_sha256.sig [new file with mode: 0644]
tests/testcases/test_file.rsa1024_sha512.sig [new file with mode: 0644]
tests/testcases/test_file.rsa2048_exp3_sha1.sig [new file with mode: 0644]
tests/testcases/test_file.rsa2048_exp3_sha256.sig [new file with mode: 0644]
tests/testcases/test_file.rsa2048_exp3_sha512.sig [new file with mode: 0644]
tests/testcases/test_file.rsa2048_sha1.sig [new file with mode: 0644]
tests/testcases/test_file.rsa2048_sha256.sig [new file with mode: 0644]
tests/testcases/test_file.rsa2048_sha512.sig [new file with mode: 0644]
tests/testcases/test_file.rsa3072_exp3_sha1.sig [new file with mode: 0644]
tests/testcases/test_file.rsa3072_exp3_sha256.sig [new file with mode: 0644]
tests/testcases/test_file.rsa3072_exp3_sha512.sig [new file with mode: 0644]
tests/testcases/test_file.rsa4096_sha1.sig [new file with mode: 0644]
tests/testcases/test_file.rsa4096_sha256.sig [new file with mode: 0644]
tests/testcases/test_file.rsa4096_sha512.sig [new file with mode: 0644]
tests/testcases/test_file.rsa8192_sha1.sig [new file with mode: 0644]
tests/testcases/test_file.rsa8192_sha256.sig [new file with mode: 0644]
tests/testcases/test_file.rsa8192_sha512.sig [new file with mode: 0644]
tests/testcases/test_file.sha1.digest [new file with mode: 0644]
tests/testcases/test_file.sha256.digest [new file with mode: 0644]
tests/testcases/test_file.sha512.digest [new file with mode: 0644]
tests/testdata/datakey_digest.bin [new file with mode: 0644]
tests/testdata/sp-rw.bin [new file with mode: 0644]
tests/testkeys/datakey.crt [new file with mode: 0644]
tests/testkeys/datakey.keyb [new file with mode: 0644]
tests/testkeys/datakey.pem [new file with mode: 0644]
tests/testkeys/key_rsa1024.crt [new file with mode: 0644]
tests/testkeys/key_rsa1024.keyb [new file with mode: 0644]
tests/testkeys/key_rsa1024.pem [new file with mode: 0644]
tests/testkeys/key_rsa1024.pub.pem [new file with mode: 0644]
tests/testkeys/key_rsa1024.sha1.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa1024.sha1.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa1024.sha256.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa1024.sha256.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa1024.sha512.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa1024.sha512.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa2048.crt [new file with mode: 0644]
tests/testkeys/key_rsa2048.keyb [new file with mode: 0644]
tests/testkeys/key_rsa2048.pem [new file with mode: 0644]
tests/testkeys/key_rsa2048.pub.pem [new file with mode: 0644]
tests/testkeys/key_rsa2048.sha1.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa2048.sha1.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa2048.sha256.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa2048.sha256.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa2048.sha512.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa2048.sha512.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa2048_exp3.crt [new file with mode: 0644]
tests/testkeys/key_rsa2048_exp3.keyb [new file with mode: 0644]
tests/testkeys/key_rsa2048_exp3.pem [new file with mode: 0644]
tests/testkeys/key_rsa2048_exp3.sha1.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa2048_exp3.sha1.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa2048_exp3.sha256.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa2048_exp3.sha256.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa2048_exp3.sha512.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa2048_exp3.sha512.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa3072_exp3.crt [new file with mode: 0644]
tests/testkeys/key_rsa3072_exp3.keyb [new file with mode: 0644]
tests/testkeys/key_rsa3072_exp3.pem [new file with mode: 0644]
tests/testkeys/key_rsa3072_exp3.sha1.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa3072_exp3.sha1.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa3072_exp3.sha256.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa3072_exp3.sha256.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa3072_exp3.sha512.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa3072_exp3.sha512.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa4096.crt [new file with mode: 0644]
tests/testkeys/key_rsa4096.keyb [new file with mode: 0644]
tests/testkeys/key_rsa4096.pem [new file with mode: 0644]
tests/testkeys/key_rsa4096.pub.pem [new file with mode: 0644]
tests/testkeys/key_rsa4096.sha1.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa4096.sha1.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa4096.sha256.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa4096.sha256.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa4096.sha512.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa4096.sha512.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa8192.crt [new file with mode: 0644]
tests/testkeys/key_rsa8192.keyb [new file with mode: 0644]
tests/testkeys/key_rsa8192.pem [new file with mode: 0644]
tests/testkeys/key_rsa8192.pub.pem [new file with mode: 0644]
tests/testkeys/key_rsa8192.sha1.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa8192.sha1.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa8192.sha256.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa8192.sha256.vbpubk [new file with mode: 0644]
tests/testkeys/key_rsa8192.sha512.vbprivk [new file with mode: 0644]
tests/testkeys/key_rsa8192.sha512.vbpubk [new file with mode: 0644]
tests/testkeys/rsa_padding_test_pubkey.keyb [new file with mode: 0644]
tests/testkeys/rsa_padding_test_pubkey.pem [new file with mode: 0644]
tests/timer_utils.c [new file with mode: 0644]
tests/timer_utils.h [new file with mode: 0644]
tests/tlcl_tests.c [new file with mode: 0644]
tests/tpm_lite/lock.c [new file with mode: 0644]
tests/tpm_lite/readonly.c [new file with mode: 0644]
tests/tpm_lite/startup.c [new file with mode: 0644]
tests/tpm_lite/tlcl_tests.c [new file with mode: 0644]
tests/tpm_lite/tlcl_tests.h [new file with mode: 0644]
tests/tpm_lite/tpmtest_earlyextend.c [new file with mode: 0644]
tests/tpm_lite/tpmtest_earlynvram.c [new file with mode: 0644]
tests/tpm_lite/tpmtest_earlynvram2.c [new file with mode: 0644]
tests/tpm_lite/tpmtest_enable.c [new file with mode: 0644]
tests/tpm_lite/tpmtest_fastenable.c [new file with mode: 0644]
tests/tpm_lite/tpmtest_globallock.c [new file with mode: 0644]
tests/tpm_lite/tpmtest_redefine_unowned.c [new file with mode: 0644]
tests/tpm_lite/tpmtest_spaceperm.c [new file with mode: 0644]
tests/tpm_lite/tpmtest_testsetup.c [new file with mode: 0644]
tests/tpm_lite/tpmtest_timing.c [new file with mode: 0644]
tests/tpm_lite/tpmtest_writelimit.c [new file with mode: 0644]
tests/vb20_api_kernel_tests.c [new file with mode: 0644]
tests/vb20_kernel_tests.c [new file with mode: 0644]
tests/vb20_rsa_padding_tests.c [new file with mode: 0644]
tests/vb20_verify_fw.c [new file with mode: 0644]
tests/vb21_host_common2_tests.c [new file with mode: 0644]
tests/vb21_host_common_tests.c [new file with mode: 0644]
tests/vb21_host_key_tests.c [new file with mode: 0644]
tests/vb21_host_misc_tests.c [new file with mode: 0644]
tests/vb21_host_sig_tests.c [new file with mode: 0644]
tests/vb2_api_tests.c [new file with mode: 0644]
tests/vb2_auxfw_sync_tests.c [new file with mode: 0644]
tests/vb2_common2_tests.c [new file with mode: 0644]
tests/vb2_common3_tests.c [new file with mode: 0644]
tests/vb2_common_tests.c [new file with mode: 0644]
tests/vb2_crypto_tests.c [new file with mode: 0644]
tests/vb2_ec_sync_tests.c [new file with mode: 0644]
tests/vb2_firmware_tests.c [new file with mode: 0644]
tests/vb2_firmware_tests.sh [new file with mode: 0755]
tests/vb2_gbb_tests.c [new file with mode: 0644]
tests/vb2_host_flashrom_tests.c [new file with mode: 0644]
tests/vb2_host_key_tests.c [new file with mode: 0644]
tests/vb2_host_nvdata_flashrom_tests.c [new file with mode: 0644]
tests/vb2_kernel_tests.c [new file with mode: 0644]
tests/vb2_keyblock_fuzzer.c [new file with mode: 0644]
tests/vb2_misc_tests.c [new file with mode: 0644]
tests/vb2_nvstorage_tests.c [new file with mode: 0644]
tests/vb2_preamble_fuzzer.c [new file with mode: 0644]
tests/vb2_recovery_reasons_tests.c [new file with mode: 0644]
tests/vb2_rsa_tests.sh [new file with mode: 0755]
tests/vb2_rsa_utility_tests.c [new file with mode: 0644]
tests/vb2_secdata_firmware_tests.c [new file with mode: 0644]
tests/vb2_secdata_fwmp_tests.c [new file with mode: 0644]
tests/vb2_secdata_kernel_tests.c [new file with mode: 0644]
tests/vb2_sha256_x86_tests.c [new file with mode: 0644]
tests/vb2_sha_api_tests.c [new file with mode: 0644]
tests/vb2_sha_tests.c [new file with mode: 0644]
tests/vboot_api_kernel4_tests.c [new file with mode: 0644]
tests/vboot_api_kernel_tests.c [new file with mode: 0644]
tests/vboot_kernel2_tests.c [new file with mode: 0644]
tests/vboot_kernel_tests.c [new file with mode: 0644]
tests/verify_kernel.c [new file with mode: 0644]
unblocked_terms.txt [new file with mode: 0644]
utility/chromeos-tpm-recovery [new file with mode: 0755]
utility/chromeos-tpm-recovery-test [new file with mode: 0755]
utility/crossystem.c [new file with mode: 0644]
utility/dev_debug_vboot [new file with mode: 0755]
utility/dev_make_keypair [new file with mode: 0755]
utility/dumpRSAPublicKey.c [new file with mode: 0644]
utility/enable_dev_usb_boot [new file with mode: 0755]
utility/include/gbb_utility.h [new file with mode: 0644]
utility/include/tpmextras.h [new file with mode: 0644]
utility/load_kernel_test.c [new file with mode: 0644]
utility/pad_digest_utility.c [new file with mode: 0644]
utility/signature_digest_utility.c [new file with mode: 0644]
utility/tlcl_generator.c [new file with mode: 0644]
utility/tpm-dad-lock [new file with mode: 0644]
utility/tpm-nvsize [new file with mode: 0755]
utility/tpmc.c [new file with mode: 0644]
utility/vbutil_what_keys [new file with mode: 0755]
utility/verify_data.c [new file with mode: 0644]
vboot_host.pc.in [new file with mode: 0644]

diff --git a/.checkpatch.conf b/.checkpatch.conf
new file mode 100644 (file)
index 0000000..1f93e0e
--- /dev/null
@@ -0,0 +1,21 @@
+# Not Linux, so don't expect a Linux tree.
+--no-tree
+
+# Ignore aspects we don't follow here.
+--ignore BLOCK_COMMENT_STYLE
+--ignore C99_COMMENTS
+--ignore CAMELCASE
+--ignore CONFIG_DESCRIPTION
+--ignore GLOBAL_INITIALISERS
+--ignore INITIALISED_STATIC
+--ignore LINE_SPACING
+--ignore MACRO_WITH_FLOW_CONTROL
+--ignore NEW_TYPEDEFS
+--ignore OPEN_BRACE
+--ignore PREFER_ALIGNED
+--ignore PREFER_PACKED
+--ignore PREFER_PRINTF
+--ignore SPACING
+--ignore SPDX_LICENSE_TAG
+--ignore SPLIT_STRING
+--ignore TRAILING_STATEMENTS
diff --git a/.clang-format b/.clang-format
new file mode 100644 (file)
index 0000000..16d606b
--- /dev/null
@@ -0,0 +1,10 @@
+BasedOnStyle:                              LLVM
+Language:                                  Cpp
+IndentWidth:                               8
+UseTab:                                    Always
+BreakBeforeBraces:                         Linux
+AllowShortIfStatementsOnASingleLine:       false
+IndentCaseLabels:                          false
+SortIncludes:                              false
+ContinuationIndentWidth:                   8
+ColumnLimit:                               80
diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..9edc243
--- /dev/null
@@ -0,0 +1,13 @@
+/build
+/build-au
+/build-main
+Cargo.lock
+ID
+scripts/newbitmaps/default_source/*.bmp
+scripts/newbitmaps/images/out_*
+scripts/newbitmaps/lib/*.pyc
+scripts/newbitmaps/strings/font
+scripts/newbitmaps/strings/*.png
+scripts/newbitmaps/strings/localized_text/*/*.png
+target
+.idea
diff --git a/Android.mk b/Android.mk
new file mode 100644 (file)
index 0000000..c54a3b7
--- /dev/null
@@ -0,0 +1,172 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Minimal makefile capable of compiling futility to sign images
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libvboot_util-host
+
+ifeq ($(HOST_OS),darwin)
+LOCAL_CFLAGS += -DHAVE_MACOS
+endif
+
+# These are required to access large disks and files on 32-bit systems.
+LOCAL_CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
+
+LOCAL_C_INCLUDES += \
+       $(LOCAL_PATH)/firmware/include \
+       $(LOCAL_PATH)/firmware/lib/include \
+       $(LOCAL_PATH)/firmware/lib/cgptlib/include \
+       $(LOCAL_PATH)/firmware/lib/cryptolib/include \
+       $(LOCAL_PATH)/firmware/lib/tpm_lite/include \
+       $(LOCAL_PATH)/firmware/2lib/include \
+       $(LOCAL_PATH)/host/include \
+       $(LOCAL_PATH)/host/lib/include
+
+# Firmware library sources needed by VbInit() call
+VBINIT_SRCS = \
+       firmware/lib/crc8.c \
+       firmware/lib/utility.c \
+       firmware/lib/vboot_api_init.c \
+       firmware/lib/vboot_common_init.c \
+
+# Additional firmware library sources needed by VbSelectFirmware() call
+VBSF_SRCS = \
+       firmware/lib/cryptolib/padding.c \
+       firmware/lib/cryptolib/rsa.c \
+       firmware/lib/cryptolib/rsa_utility.c \
+       firmware/lib/cryptolib/sha1.c \
+       firmware/lib/cryptolib/sha256.c \
+       firmware/lib/cryptolib/sha512.c \
+       firmware/lib/cryptolib/sha_utility.c \
+       firmware/lib/stateful_util.c \
+       firmware/lib/vboot_common.c \
+       firmware/lib/region-fw.c \
+
+# Additional firmware library sources needed by VbSelectAndLoadKernel() call
+VBSLK_SRCS = \
+       firmware/lib/cgptlib/cgptlib.c \
+       firmware/lib/cgptlib/cgptlib_internal.c \
+       firmware/lib/cgptlib/crc32.c \
+       firmware/lib/gpt_misc.c \
+       firmware/lib/utility_string.c \
+       firmware/lib/vboot_api_kernel.c \
+       firmware/lib/vboot_display.c \
+       firmware/lib/vboot_kernel.c \
+       firmware/lib/region-kernel.c \
+
+VBINIT_SRCS += \
+       firmware/stub/tpm_lite_stub.c \
+       firmware/stub/utility_stub.c \
+       firmware/stub/vboot_api_stub_region.c
+
+VBSF_SRCS += \
+       firmware/stub/vboot_api_stub_sf.c
+
+VBSLK_SRCS += \
+       firmware/stub/vboot_api_stub.c \
+       firmware/stub/vboot_api_stub_disk.c \
+       firmware/stub/vboot_api_stub_stream.c
+
+UTILLIB_SRCS = \
+       cgpt/cgpt_create.c \
+       cgpt/cgpt_add.c \
+       cgpt/cgpt_boot.c \
+       cgpt/cgpt_show.c \
+       cgpt/cgpt_repair.c \
+       cgpt/cgpt_prioritize.c \
+       cgpt/cgpt_common.c \
+       futility/dump_kernel_config_lib.c \
+       host/lib/crossystem.c \
+       host/lib/file_keys.c \
+       host/lib/fmap.c \
+       host/lib/host_common.c \
+       host/lib/host_key.c \
+       host/lib/host_keyblock.c \
+       host/lib/host_misc.c \
+       host/lib/util_misc.c \
+       host/lib/host_signature.c \
+       host/lib/signature_digest.c
+
+#      host/arch/${HOST_ARCH}/lib/crossystem_arch.c \
+
+LOCAL_SRC_FILES := \
+       $(VBINIT_SRCS) \
+       $(VBSF_SRCS) \
+       $(VBSLK_SRCS) \
+       $(UTILLIB_SRCS)
+
+LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_C_INCLUDES)
+LOCAL_STATIC_LIBRARIES := libcrypto_static
+
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := futility-host
+LOCAL_IS_HOST_MODULE := true
+LOCAL_MODULE_CLASS := EXECUTABLES
+generated_sources := $(call local-generated-sources-dir)
+
+ifeq ($(HOST_OS),darwin)
+LOCAL_CFLAGS += -DHAVE_MACOS
+endif
+
+# These are required to access large disks and files on 32-bit systems.
+LOCAL_CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
+
+FUTIL_STATIC_SRCS = \
+       futility/futility.c \
+       futility/cmd_dump_fmap.c \
+       futility/cmd_gbb_utility.c \
+       futility/misc.c
+
+FUTIL_SRCS = \
+       ${FUTIL_STATIC_SRCS} \
+       futility/cmd_dump_kernel_config.c \
+       futility/cmd_load_fmap.c \
+       futility/cmd_pcr.c \
+       futility/cmd_show.c \
+       futility/cmd_sign.c \
+       futility/cmd_vbutil_firmware.c \
+       futility/cmd_vbutil_kernel.c \
+       futility/cmd_vbutil_key.c \
+       futility/cmd_vbutil_keyblock.c \
+       futility/file_type.c \
+       futility/traversal.c \
+       futility/vb1_helper.c
+
+#      ${FUTIL_STATIC_WORKAROUND_SRCS:%.c=${BUILD}/%.o} \
+
+LOCAL_SRC_FILES := \
+       $(FUTIL_SRCS) \
+
+$(generated_sources)/futility_cmds.c: ${FUTIL_SRCS:%=${LOCAL_PATH}/%}
+       @echo making $< from ${FUTIL_SRCS}
+       @rm -f $@ $@_t $@_commands
+       @mkdir -p $(dir $@)
+       @grep -hoRE '^DECLARE_FUTIL_COMMAND\([^,]+' $^ \
+               | sed 's/DECLARE_FUTIL_COMMAND(\(.*\)/_CMD(\1)/' \
+               | sort >>$@_commands
+       @external/vboot_reference/scripts/getversion.sh >> $@_t
+       @echo '#define _CMD(NAME) extern const struct' \
+               'futil_cmd_t __cmd_##NAME;' >> $@_t
+       @cat $@_commands >> $@_t
+       @echo '#undef _CMD' >> $@_t
+       @echo '#define _CMD(NAME) &__cmd_##NAME,' >> $@_t
+       @echo 'const struct futil_cmd_t *const futil_cmds[] = {' >> $@_t
+       @cat $@_commands >> $@_t
+       @echo '0};  /* null-terminated */' >> $@_t
+       @echo '#undef _CMD' >> $@_t
+       @mv $@_t $@
+       @rm -f $@_commands
+
+LOCAL_GENERATED_SOURCES := $(generated_sources)/futility_cmds.c
+
+LOCAL_STATIC_LIBRARIES := libvboot_util-host
+LOCAL_SHARED_LIBRARIES := libcrypto-host
+include $(BUILD_HOST_EXECUTABLE)
+
diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..d251496
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,27 @@
+// Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..4f0dee4
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,1399 @@
+# Copyright 2013 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This Makefile normally builds in a 'build' subdir, but use
+#
+#    make BUILD=<dir>
+#
+# to put the output somewhere else.
+
+##############################################################################
+# Make variables come in two flavors, immediate or deferred.
+#
+#   Variable definitions are parsed like this:
+#
+#        IMMEDIATE = DEFERRED
+#    or
+#        IMMEDIATE := IMMEDIATE
+#
+#   Rules are parsed this way:
+#
+#        IMMEDIATE : IMMEDIATE
+#           DEFERRED
+#
+# So you can assign variables in any order if they're only to be used in
+# actions, but if you use a variable in either the target or prerequisite of a
+# rule, the rule will be constructed using only the top-down, immediate value.
+#
+# So we'll try to define all the variables first. Then the rules.
+#
+
+##############################################################################
+# Configuration variables come first.
+#
+# Our convention is that we only use := for variables that will never be
+# changed or appended. They must be defined before being used anywhere.
+
+# We should only run pwd once, not every time we refer to ${BUILD}.
+SRCDIR := $(shell pwd)
+export SRCDIR
+BUILD = ${SRCDIR}/build
+export BUILD
+
+# Stuff for 'make install'
+INSTALL = install
+DESTDIR = /
+LIBDIR ?= lib
+
+# Default values
+DEV_DEBUG_FORCE=
+
+# Where exactly do the pieces go?
+#  UB_DIR = utility binary directory
+#  ULP_DIR = pkgconfig directory, usually /usr/lib/pkgconfig
+#  UI_DIR = include directory for library headers
+#  US_DIR = shared data directory (for static content like devkeys)
+#  DF_DIR = utility defaults directory
+#  VB_DIR = vboot binary directory for dev-mode-only scripts
+#  DUT_TEST_DIR = vboot dut tests binary directory
+UB_DIR=${DESTDIR}/usr/bin
+UL_DIR=${DESTDIR}/usr/${LIBDIR}
+ULP_DIR=${UL_DIR}/pkgconfig
+UI_DIR=${DESTDIR}/usr/include/vboot
+US_DIR=${DESTDIR}/usr/share/vboot
+DF_DIR=${DESTDIR}/etc/default
+VB_DIR=${US_DIR}/bin
+DUT_TEST_DIR=${US_DIR}/tests
+
+# Where to install the (exportable) executables for testing?
+TEST_INSTALL_DIR = ${BUILD}/install_for_test
+
+# Set when installing into the SDK instead of building for a board sysroot.
+SDK_BUILD ?=
+
+# Verbose? Use V=1
+ifeq ($(filter-out 0,${V}),)
+Q := @
+endif
+
+# Quiet? Use QUIET=1
+ifeq ($(filter-out 0,${QUIET}),)
+PRINTF := printf
+else
+PRINTF := :
+endif
+
+# Architecture detection
+_machname := $(shell uname -m)
+HOST_ARCH ?= ${_machname}
+
+# ARCH and/or FIRMWARE_ARCH are defined by the Chromium OS ebuild.
+# Pick a valid target architecture if none is defined.
+ifeq (${ARCH},)
+  ARCH := ${HOST_ARCH}
+endif
+
+ifeq (${ARCH},armv7l)
+  override ARCH := arm
+else ifneq (,$(filter aarch64 arm64,${ARCH}))
+  override ARCH := arm
+else ifeq (${ARCH},i386)
+  override ARCH := x86
+else ifeq (${ARCH},i686)
+  override ARCH := x86
+else ifeq (${ARCH},amd64)
+  override ARCH := x86_64
+endif
+
+ifneq ($(wildcard host/arch/${ARCH}/lib/crossystem_arch.c),)
+       CROSSYSTEM_ARCH_C := host/arch/${ARCH}/lib/crossystem_arch.c
+else
+       CROSSYSTEM_ARCH_C := host/arch/stub/lib/crossystem_arch.c
+endif
+
+# FIRMWARE_ARCH is only defined by the Chromium OS ebuild if compiling
+# for a firmware target (coreboot or depthcharge). It must map to the same
+# consistent set of architectures as the host.
+ifeq (${FIRMWARE_ARCH},i386)
+  override FIRMWARE_ARCH := x86
+else ifeq (${FIRMWARE_ARCH},amd64)
+  override FIRMWARE_ARCH := x86_64
+else ifeq (${FIRMWARE_ARCH},armv7)
+  override FIRMWARE_ARCH := arm
+endif
+
+# Provide default CC and CFLAGS for firmware builds; if you have any -D flags,
+# please add them after this point (e.g., -DVBOOT_DEBUG).
+DEBUG_FLAGS := $(if $(filter-out 0,${DEBUG}),-g -Og,-g -Os)
+WERROR := -Werror
+FIRMWARE_FLAGS := -nostdinc -ffreestanding -fno-builtin -fno-stack-protector
+COMMON_FLAGS := -pipe ${WERROR} -Wall -Wstrict-prototypes -Wtype-limits \
+       -Wundef -Wmissing-prototypes -Wno-trigraphs -Wredundant-decls -Wshadow \
+       -Wwrite-strings -Wstrict-aliasing -Wdate-time \
+       -ffunction-sections -fdata-sections \
+       -Wformat -Wno-format-security ${DEBUG_FLAGS}
+
+# FIRMWARE_ARCH is defined if compiling for a firmware target
+# (coreboot or depthcharge).
+ifeq (${FIRMWARE_ARCH},arm)
+CC ?= armv7a-cros-linux-gnueabihf-gcc
+CFLAGS ?= -march=armv5 -fno-common -ffixed-r8 -mfloat-abi=hard -marm
+       -mabi=aapcs-linux -mno-thumb-interwork ${FIRMWARE_FLAGS} ${COMMON_FLAGS}
+else ifeq (${FIRMWARE_ARCH},x86)
+CC ?= i686-pc-linux-gnu-gcc
+# Drop -march=i386 to permit use of SSE instructions
+CFLAGS ?= -fvisibility=hidden -fomit-frame-pointer \
+       -fno-toplevel-reorder -fno-dwarf2-cfi-asm -mpreferred-stack-boundary=2 \
+       ${FIRMWARE_FLAGS} ${COMMON_FLAGS}
+else ifeq (${FIRMWARE_ARCH},x86_64)
+CFLAGS ?= ${FIRMWARE_FLAGS} ${COMMON_FLAGS} -fvisibility=hidden \
+       -fomit-frame-pointer
+else
+# FIRMWARE_ARCH not defined; assuming local compile.
+CC ?= gcc
+CFLAGS += -DCHROMEOS_ENVIRONMENT ${COMMON_FLAGS}
+endif
+
+CFLAGS += -std=gnu11
+
+# test_ccflag
+# $(1): compiler flags to test
+# $(2): code to insert into test snippet
+# returns: $(1) if compiler was successful, empty string otherwise
+test_ccflag = $(shell \
+       printf "$(2)\nvoid _start(void) {}\n" | \
+       $(CC) -nostdlib -Werror $(1) -xc -c - -o /dev/null \
+       >/dev/null 2>&1 && echo "$(1)")
+
+COMMON_FLAGS += $(call test_ccflag,-Wimplicit-fallthrough)
+COMMON_FLAGS += $(call test_ccflag,-Wno-address-of-packed-member)
+COMMON_FLAGS += $(call test_ccflag,-Wno-unknown-warning)
+
+# Needs -Wl because LD is actually set to CC by default.
+LDFLAGS += -Wl,--gc-sections
+
+ifneq ($(filter-out 0,${DEBUG})$(filter-out 0,${TEST_PRINT}),)
+CFLAGS += -DVBOOT_DEBUG
+endif
+
+ifeq ($(filter-out 0,${DISABLE_NDEBUG}),)
+CFLAGS += -DNDEBUG
+endif
+
+ifneq ($(filter-out 0,${FORCE_LOGGING_ON}),)
+CFLAGS += -DFORCE_LOGGING_ON=${FORCE_LOGGING_ON}
+endif
+
+ifneq ($(filter-out 0,${TPM2_MODE}),)
+CFLAGS += -DTPM2_MODE
+endif
+
+# Support devices with GPT in SPI-NOR (for nand device)
+# TODO(b:184812319): Consider removing this code if nobody uses it.
+ifneq ($(filter-out 0,${GPT_SPI_NOR}),)
+CFLAGS += -DGPT_SPI_NOR
+endif
+
+# Enable EC early firmware selection.
+ifneq ($(filter-out 0,${EC_EFS}),)
+CFLAGS += -DEC_EFS=1
+else
+CFLAGS += -DEC_EFS=0
+endif
+
+# Some tests need to be disabled when using mocked_secdata_tpm.
+ifneq ($(filter-out 0,${MOCK_TPM}),)
+CFLAGS += -DMOCK_TPM
+endif
+
+# TPM2_SIMULATOR indicates whether the TPM2 simulator feature is enable or not.
+ifneq ($(filter-out 0,${TPM2_SIMULATOR}),)
+CFLAGS += -DTPM2_SIMULATOR=1
+else
+CFLAGS += -DTPM2_SIMULATOR=0
+endif
+
+# NOTE: We don't use these files but they are useful for other packages to
+# query about required compiling/linking flags.
+PC_IN_FILES = vboot_host.pc.in
+
+# Create / use dependency files
+CFLAGS += -MMD -MF $@.d
+
+ifeq (${FIRMWARE_ARCH},)
+# Creates position independent code for non firmware target.
+CFLAGS += -fPIC
+endif
+
+CFLAGS += -D_GNU_SOURCE
+
+# This is required to access large disks and files on 32-bit systems,
+# but if the environment doesn't support it, at least compile support
+# for what is possible.
+# Pass through cflags_use_64bits to evaluate it only once, here.
+cflags_use_64bits := $(call test_ccflag,-D_FILE_OFFSET_BITS=64,\#include <fts.h>)
+CFLAGS += $(cflags_use_64bits)
+
+# Code coverage
+ifneq ($(filter-out 0,${COV}),)
+  COV_FLAGS = -O0 --coverage -DCOVERAGE
+  CFLAGS += ${COV_FLAGS}
+  LDFLAGS += ${COV_FLAGS}
+  COV_INFO = ${BUILD}/coverage.info
+endif
+
+ifdef HAVE_MACOS
+  CFLAGS += -DHAVE_MACOS -Wno-deprecated-declarations
+endif
+
+# Musl doesn't have execinfo.h.
+ifndef HAVE_MUSL
+  CFLAGS += -DHAVE_EXECINFO_H
+endif
+
+# And a few more default utilities
+LD = ${CC}
+CXX ?= g++
+PKG_CONFIG ?= pkg-config
+
+# Static?
+ifneq ($(filter-out 0,${STATIC}),)
+LDFLAGS += -static
+PKG_CONFIG += --static
+endif
+
+ifneq (${FUZZ_FLAGS},)
+CFLAGS += ${FUZZ_FLAGS}
+endif
+
+# Optional Libraries
+LIBZIP_VERSION := $(shell ${PKG_CONFIG} --modversion libzip 2>/dev/null)
+HAVE_LIBZIP := $(if ${LIBZIP_VERSION},1)
+ifneq ($(filter-out 0,${HAVE_LIBZIP}),)
+  CFLAGS += -DHAVE_LIBZIP $(shell ${PKG_CONFIG} --cflags libzip)
+  LIBZIP_LIBS := $(shell ${PKG_CONFIG} --libs libzip)
+endif
+
+HAVE_CROSID := $(shell ${PKG_CONFIG} --exists crosid && echo 1)
+ifeq ($(HAVE_CROSID),1)
+  CFLAGS += -DHAVE_CROSID $(shell ${PKG_CONFIG} --cflags crosid)
+  CROSID_LIBS := $(shell ${PKG_CONFIG} --libs crosid)
+endif
+
+# Determine QEMU architecture needed, if any
+ifeq (${ARCH},${HOST_ARCH})
+  # Same architecture; no need for QEMU
+  QEMU_ARCH :=
+else ifeq (${HOST_ARCH}-${ARCH},x86_64-x86)
+  # 64-bit host can run 32-bit targets directly
+  QEMU_ARCH :=
+else
+  QEMU_ARCH := ${ARCH}
+endif
+
+# The top of the chroot for qemu must be passed in via the SYSROOT environment
+# variable.  In the Chromium OS chroot, this is done automatically by the
+# ebuild.
+
+ifeq (${QEMU_ARCH},)
+  # Path to build output for running tests is same as for building
+  BUILD_RUN = ${BUILD}
+  SRC_RUN = ${SRCDIR}
+else
+  $(info Using qemu for testing.)
+  # Path to build output for running tests is different in the chroot
+  BUILD_RUN = $(subst ${SYSROOT},,${BUILD})
+  SRC_RUN = $(subst ${SYSROOT},,${SRCDIR})
+
+  QEMU_BIN = qemu-${QEMU_ARCH}
+  QEMU_RUN = ${BUILD_RUN}/${QEMU_BIN}
+  export QEMU_RUN
+
+  RUNTEST = tests/test_using_qemu.sh
+endif
+
+export BUILD_RUN
+
+##############################################################################
+# The default target is here, to allow dependencies to be expressed below
+# without accidentally changing the default target.
+
+# Default target.
+.PHONY: all
+all: fwlib futil utillib hostlib cgpt tlcl \
+       $(if ${SDK_BUILD},${UTIL_FILES_SDK},${UTIL_FILES_BOARD}) \
+       $(if $(filter x86_64,${ARCH}),$(if $(filter clang,${CC}),fuzzers)) \
+       $(if $(filter-out 0,${COV}),coverage)
+
+##############################################################################
+# Now we need to describe everything we might want or need to build
+
+# Everything wants these headers.
+INCLUDES += \
+       -Ifirmware/include \
+       -Ifirmware/lib/include \
+       -Ifirmware/lib/cgptlib/include \
+       -Ifirmware/lib/cryptolib/include \
+       -Ifirmware/lib/tpm_lite/include \
+       -Ifirmware/2lib/include \
+       -Ifirmware/lib20/include
+
+# If we're not building for a specific target, just stub out things like the
+# TPM commands and various external functions that are provided by the BIOS.
+ifeq (${FIRMWARE_ARCH},)
+INCLUDES += -Ihost/include -Ihost/lib/include
+INCLUDES += -Ihost/lib21/include
+ifeq ($(shell uname -s), OpenBSD)
+INCLUDES += -I/usr/local/include
+endif
+endif
+
+# Firmware library, used by the other firmware components (depthcharge,
+# coreboot, etc.). It doesn't need exporting to some other place; they'll build
+# this source tree locally and link to it directly.
+FWLIB = ${BUILD}/vboot_fw.a
+
+# Separate TPM lightweight command library (TLCL)
+TLCL = ${BUILD}/tlcl.a
+
+FWLIB_SRCS = \
+       firmware/2lib/2api.c \
+       firmware/2lib/2auxfw_sync.c \
+       firmware/2lib/2common.c \
+       firmware/2lib/2context.c \
+       firmware/2lib/2crc8.c \
+       firmware/2lib/2crypto.c \
+       firmware/2lib/2ec_sync.c \
+       firmware/2lib/2firmware.c \
+       firmware/2lib/2gbb.c \
+       firmware/2lib/2hmac.c \
+       firmware/2lib/2kernel.c \
+       firmware/2lib/2misc.c \
+       firmware/2lib/2nvstorage.c \
+       firmware/2lib/2packed_key.c \
+       firmware/2lib/2recovery_reasons.c \
+       firmware/2lib/2rsa.c \
+       firmware/2lib/2secdata_firmware.c \
+       firmware/2lib/2secdata_fwmp.c \
+       firmware/2lib/2secdata_kernel.c \
+       firmware/2lib/2sha1.c \
+       firmware/2lib/2sha256.c \
+       firmware/2lib/2sha512.c \
+       firmware/2lib/2sha_utility.c \
+       firmware/2lib/2struct.c \
+       firmware/2lib/2stub_hwcrypto.c \
+       firmware/2lib/2tpm_bootmode.c \
+       firmware/lib/cgptlib/cgptlib.c \
+       firmware/lib/cgptlib/cgptlib_internal.c \
+       firmware/lib/cgptlib/crc32.c \
+       firmware/lib/gpt_misc.c \
+       firmware/lib/vboot_api_kernel.c \
+       firmware/lib/vboot_kernel.c \
+       firmware/lib20/api_kernel.c \
+       firmware/lib20/kernel.c
+
+# TPM lightweight command library
+ifeq ($(filter-out 0,${TPM2_MODE}),)
+TLCL_SRCS = \
+       firmware/lib/tpm_lite/tlcl.c
+else
+# TODO(apronin): tests for TPM2 case?
+TLCL_SRCS = \
+       firmware/lib/tpm2_lite/tlcl.c \
+       firmware/lib/tpm2_lite/marshaling.c
+endif
+
+# Support real TPM unless MOCK_TPM is set
+ifneq ($(filter-out 0,${MOCK_TPM}),)
+FWLIB_SRCS += \
+       firmware/lib/tpm_lite/mocked_tlcl.c
+endif
+
+ifneq ($(filter-out 0,${X86_SHA_EXT}),)
+CFLAGS += -DX86_SHA_EXT
+FWLIB_SRCS += \
+       firmware/2lib/2sha256_x86.c
+endif
+# Even if X86_SHA_EXT is 0 we need cflags since this will be compiled for tests
+${BUILD}/firmware/2lib/2sha256_x86.o: CFLAGS += -mssse3 -mno-avx -msha
+
+ifeq (${FIRMWARE_ARCH},)
+# Include BIOS stubs in the firmware library when compiling for host
+# TODO: split out other stub funcs too
+FWLIB_SRCS += \
+       firmware/stub/tpm_lite_stub.c \
+       firmware/stub/vboot_api_stub.c \
+       firmware/stub/vboot_api_stub_disk.c \
+       firmware/stub/vboot_api_stub_stream.c \
+       firmware/2lib/2stub.c
+endif
+
+FWLIB_OBJS = ${FWLIB_SRCS:%.c=${BUILD}/%.o}
+TLCL_OBJS = ${TLCL_SRCS:%.c=${BUILD}/%.o}
+ALL_OBJS += ${FWLIB_OBJS} ${TLCL_OBJS}
+
+COMMONLIB_SRCS = \
+       host/lib/fmap.c \
+       host/lib/flashrom.c \
+       host/lib/subprocess.c
+
+# Intermediate library for the vboot_reference utilities to link against.
+UTILLIB = ${BUILD}/libvboot_util.a
+
+UTILLIB_SRCS = \
+       cgpt/cgpt_add.c \
+       cgpt/cgpt_boot.c \
+       cgpt/cgpt_common.c \
+       cgpt/cgpt_create.c \
+       cgpt/cgpt_edit.c \
+       cgpt/cgpt_prioritize.c \
+       cgpt/cgpt_repair.c \
+       cgpt/cgpt_show.c \
+       futility/dump_kernel_config_lib.c \
+       $(CROSSYSTEM_ARCH_C) \
+       host/lib/chromeos_config.c \
+       host/lib/crossystem.c \
+       host/lib/crypto.c \
+       host/lib/file_keys.c \
+       $(COMMONLIB_SRCS) \
+       host/lib/host_common.c \
+       host/lib/host_key2.c \
+       host/lib/host_keyblock.c \
+       host/lib/host_misc.c \
+       host/lib/host_signature.c \
+       host/lib/host_signature2.c \
+       host/lib/signature_digest.c \
+       host/lib/util_misc.c \
+       host/lib21/host_common.c \
+       host/lib21/host_key.c \
+       host/lib21/host_misc.c \
+       host/lib21/host_signature.c
+
+UTILLIB_OBJS = ${UTILLIB_SRCS:%.c=${BUILD}/%.o}
+ALL_OBJS += ${UTILLIB_OBJS}
+
+# Externally exported library for some target userspace apps to link with
+# (cryptohome, updater, etc.)
+HOSTLIB = ${BUILD}/libvboot_host.a
+
+HOSTLIB_SRCS = \
+       cgpt/cgpt_add.c \
+       cgpt/cgpt_boot.c \
+       cgpt/cgpt_common.c \
+       cgpt/cgpt_create.c \
+       cgpt/cgpt_edit.c \
+       cgpt/cgpt_find.c \
+       cgpt/cgpt_prioritize.c \
+       cgpt/cgpt_show.c \
+       firmware/2lib/2common.c \
+       firmware/2lib/2context.c \
+       firmware/2lib/2crc8.c \
+       firmware/2lib/2crypto.c \
+       firmware/2lib/2hmac.c \
+       firmware/2lib/2kernel.c \
+       firmware/2lib/2nvstorage.c \
+       firmware/2lib/2recovery_reasons.c \
+       firmware/2lib/2rsa.c \
+       firmware/2lib/2sha1.c \
+       firmware/2lib/2sha256.c \
+       firmware/2lib/2sha512.c \
+       firmware/2lib/2sha_utility.c \
+       firmware/2lib/2struct.c \
+       firmware/2lib/2stub.c \
+       firmware/2lib/2stub_hwcrypto.c \
+       firmware/lib/cgptlib/cgptlib_internal.c \
+       firmware/lib/cgptlib/crc32.c \
+       firmware/lib/gpt_misc.c \
+       firmware/stub/tpm_lite_stub.c \
+       firmware/stub/vboot_api_stub.c \
+       firmware/stub/vboot_api_stub_disk.c \
+       futility/dump_kernel_config_lib.c \
+       $(CROSSYSTEM_ARCH_C) \
+       host/lib/chromeos_config.c \
+       host/lib/crossystem.c \
+       host/lib/crypto.c \
+       host/lib/extract_vmlinuz.c \
+       $(COMMONLIB_SRCS) \
+       host/lib/host_misc.c \
+       host/lib21/host_misc.c \
+       ${TLCL_SRCS}
+
+ifneq ($(filter-out 0,${GPT_SPI_NOR}),)
+HOSTLIB_SRCS += cgpt/cgpt_nor.c
+endif
+
+HOSTLIB_OBJS = ${HOSTLIB_SRCS:%.c=${BUILD}/%.o}
+ALL_OBJS += ${HOSTLIB_OBJS}
+
+# ----------------------------------------------------------------------------
+# Now for the userspace binaries
+
+CGPT = ${BUILD}/cgpt/cgpt
+
+CGPT_SRCS = \
+       cgpt/cgpt.c \
+       cgpt/cgpt_add.c \
+       cgpt/cgpt_boot.c \
+       cgpt/cgpt_common.c \
+       cgpt/cgpt_create.c \
+       cgpt/cgpt_edit.c \
+       cgpt/cgpt_find.c \
+       cgpt/cgpt_legacy.c \
+       cgpt/cgpt_prioritize.c \
+       cgpt/cgpt_repair.c \
+       cgpt/cgpt_show.c \
+       cgpt/cmd_add.c \
+       cgpt/cmd_boot.c \
+       cgpt/cmd_create.c \
+       cgpt/cmd_edit.c \
+       cgpt/cmd_find.c \
+       cgpt/cmd_legacy.c \
+       cgpt/cmd_prioritize.c \
+       cgpt/cmd_repair.c \
+       cgpt/cmd_show.c
+
+ifneq ($(filter-out 0,${GPT_SPI_NOR}),)
+CGPT_SRCS += cgpt/cgpt_nor.c
+endif
+
+CGPT_OBJS = ${CGPT_SRCS:%.c=${BUILD}/%.o}
+
+ALL_OBJS += ${CGPT_OBJS}
+
+CGPT_WRAPPER = ${BUILD}/cgpt/cgpt_wrapper
+
+CGPT_WRAPPER_SRCS = \
+       cgpt/cgpt_nor.c \
+       cgpt/cgpt_wrapper.c
+
+CGPT_WRAPPER_OBJS = ${CGPT_WRAPPER_SRCS:%.c=${BUILD}/%.o}
+
+ALL_OBJS += ${CGPT_WRAPPER_OBJS}
+
+# Utility defaults
+UTIL_DEFAULTS = ${BUILD}/default/vboot_reference
+
+# Scripts to install directly (not compiled)
+UTIL_SCRIPT_NAMES_SDK = \
+       utility/dev_make_keypair \
+       utility/vbutil_what_keys
+UTIL_SCRIPT_NAMES_BOARD = \
+       utility/chromeos-tpm-recovery \
+       utility/dev_debug_vboot \
+       utility/enable_dev_usb_boot \
+       utility/tpm-nvsize
+
+UTIL_BIN_NAMES_SDK = \
+       utility/dumpRSAPublicKey \
+       utility/load_kernel_test \
+       utility/pad_digest_utility \
+       utility/signature_digest_utility \
+       utility/verify_data
+UTIL_BIN_NAMES_BOARD = \
+       utility/crossystem \
+       utility/dumpRSAPublicKey \
+       utility/tpmc
+
+UTIL_SCRIPTS_SDK = $(addprefix ${BUILD}/,${UTIL_SCRIPT_NAMES_SDK})
+UTIL_SCRIPTS_BOARD = $(addprefix ${BUILD}/,${UTIL_SCRIPT_NAMES_BOARD})
+UTIL_BINS_SDK = $(addprefix ${BUILD}/,${UTIL_BIN_NAMES_SDK})
+UTIL_BINS_BOARD = $(addprefix ${BUILD}/,${UTIL_BIN_NAMES_BOARD})
+UTIL_FILES_SDK = ${UTIL_BINS_SDK} ${UTIL_SCRIPTS_SDK}
+UTIL_FILES_BOARD = ${UTIL_BINS_BOARD} ${UTIL_SCRIPTS_BOARD}
+ALL_OBJS += $(addsuffix .o,${UTIL_BINS_SDK})
+ALL_OBJS += $(addsuffix .o,${UTIL_BINS_BOARD})
+
+
+# Signing scripts that are also useful on DUTs.
+SIGNING_SCRIPTS_BOARD = \
+       scripts/image_signing/resign_firmwarefd.sh \
+       scripts/image_signing/make_dev_firmware.sh \
+       scripts/image_signing/make_dev_ssd.sh \
+       scripts/image_signing/gbb_flags_common.sh \
+       scripts/image_signing/set_gbb_flags.sh \
+       scripts/image_signing/get_gbb_flags.sh \
+       scripts/image_signing/common_minimal.sh
+
+# SDK installations just want everything.
+SIGNING_SCRIPTS_SDK = $(wildcard scripts/image_signing/*.sh)
+
+# Unified firmware utility.
+FUTIL_BIN = ${BUILD}/futility/futility
+
+# These are the executables that are now built in to futility. We'll create
+# symlinks for these so the old names will still work.
+FUTIL_SYMLINKS = \
+       dump_fmap \
+       dump_kernel_config \
+       gbb_utility \
+       vbutil_firmware \
+       vbutil_kernel \
+       vbutil_key \
+       vbutil_keyblock
+
+FUTIL_SRCS = \
+       futility/futility.c \
+       futility/cmd_create.c \
+       futility/cmd_dump_fmap.c \
+       futility/cmd_dump_kernel_config.c \
+       futility/cmd_gbb_utility.c \
+       futility/cmd_gscvd.c \
+       futility/cmd_load_fmap.c \
+       futility/cmd_pcr.c \
+       futility/cmd_show.c \
+       futility/cmd_sign.c \
+       futility/cmd_update.c \
+       futility/cmd_validate_rec_mrc.c \
+       futility/cmd_vbutil_firmware.c \
+       futility/cmd_vbutil_firmware.c \
+       futility/cmd_vbutil_kernel.c \
+       futility/cmd_vbutil_key.c \
+       futility/cmd_vbutil_keyblock.c \
+       futility/file_type_bios.c \
+       futility/file_type.c \
+       futility/file_type_rwsig.c \
+       futility/file_type_usbpd1.c \
+       futility/misc.c \
+       futility/vb1_helper.c \
+       futility/vb2_helper.c
+
+# Maintain behaviour of default on.
+USE_FLASHROM ?= 1
+
+ifneq ($(filter-out 0,${USE_FLASHROM}),)
+$(info building with libflashrom support)
+FLASHROM_LIBS := $(shell ${PKG_CONFIG} --libs flashrom)
+FUTIL_SRCS += futility/flashrom_drv.c \
+       futility/updater_archive.c \
+       futility/updater_quirks.c \
+       futility/updater_utils.c \
+       futility/updater.c
+CFLAGS += -DUSE_FLASHROM
+endif
+
+# List of commands built in futility.
+FUTIL_CMD_LIST = ${BUILD}/gen/futility_cmds.c
+
+FUTIL_OBJS = ${FUTIL_SRCS:%.c=${BUILD}/%.o} ${FUTIL_CMD_LIST:%.c=%.o}
+
+${FUTIL_OBJS}: INCLUDES += -Ihost/lib21/include
+
+ALL_OBJS += ${FUTIL_OBJS}
+
+
+# Library of handy test functions.
+TESTLIB = ${BUILD}/tests/test.a
+
+TESTLIB_SRCS += \
+       tests/test_common.c \
+       tests/timer_utils.c \
+       tests/crc32_test.c
+
+TESTLIB_OBJS = ${TESTLIB_SRCS:%.c=${BUILD}/%.o}
+TEST_OBJS += ${TESTLIB_OBJS}
+
+
+# And some compiled tests.
+TEST_NAMES = \
+       tests/cgptlib_test \
+       tests/chromeos_config_tests \
+       tests/gpt_misc_tests \
+       tests/sha_benchmark \
+       tests/subprocess_tests \
+       tests/vboot_api_kernel4_tests \
+       tests/vboot_api_kernel_tests \
+       tests/vboot_kernel_tests \
+       tests/vboot_kernel2_tests \
+       tests/verify_kernel
+
+ifeq ($(filter-out 0,${MOCK_TPM})$(filter-out 0,${TPM2_MODE}),)
+# tlcl_tests only works when MOCK_TPM is disabled
+# TODO(apronin): tests for TPM2 case?
+TEST_NAMES += \
+       tests/tlcl_tests
+endif
+
+TEST_FUTIL_NAMES = \
+       tests/futility/binary_editor \
+       tests/futility/test_file_types \
+       tests/futility/test_not_really
+
+TEST_NAMES += ${TEST_FUTIL_NAMES}
+
+TEST2X_NAMES = \
+       tests/vb2_api_tests \
+       tests/vb2_auxfw_sync_tests \
+       tests/vb2_common_tests \
+       tests/vb2_common2_tests \
+       tests/vb2_common3_tests \
+       tests/vb2_crypto_tests \
+       tests/vb2_ec_sync_tests \
+       tests/vb2_firmware_tests \
+       tests/vb2_gbb_tests \
+       tests/vb2_host_flashrom_tests \
+       tests/vb2_host_key_tests \
+       tests/vb2_host_nvdata_flashrom_tests \
+       tests/vb2_kernel_tests \
+       tests/vb2_misc_tests \
+       tests/vb2_nvstorage_tests \
+       tests/vb2_rsa_utility_tests \
+       tests/vb2_recovery_reasons_tests \
+       tests/vb2_secdata_firmware_tests \
+       tests/vb2_secdata_fwmp_tests \
+       tests/vb2_secdata_kernel_tests \
+       tests/vb2_sha_api_tests \
+       tests/vb2_sha_tests \
+       tests/hmac_test
+
+TEST20_NAMES = \
+       tests/vb20_api_kernel_tests \
+       tests/vb20_verify_fw.c \
+       tests/vb20_kernel_tests \
+       tests/vb20_rsa_padding_tests \
+       tests/vb20_verify_fw
+
+TEST21_NAMES = \
+       tests/vb21_host_common2_tests \
+       tests/vb21_host_common_tests \
+       tests/vb21_host_key_tests \
+       tests/vb21_host_misc_tests \
+       tests/vb21_host_sig_tests
+
+TEST_NAMES += ${TEST2X_NAMES} ${TEST20_NAMES} ${TEST21_NAMES}
+
+# Tests which should be run on dut
+ifeq (${ARCH}, x86_64)
+DUT_TEST_NAMES += tests/vb2_sha256_x86_tests
+endif
+
+TEST_NAMES += ${DUT_TEST_NAMES}
+
+# And a few more...
+ifeq ($(filter-out 0,${TPM2_MODE}),)
+TLCL_TEST_NAMES = \
+       tests/tpm_lite/tpmtest_earlyextend \
+       tests/tpm_lite/tpmtest_earlynvram \
+       tests/tpm_lite/tpmtest_earlynvram2 \
+       tests/tpm_lite/tpmtest_enable \
+       tests/tpm_lite/tpmtest_fastenable \
+       tests/tpm_lite/tpmtest_globallock \
+       tests/tpm_lite/tpmtest_redefine_unowned \
+       tests/tpm_lite/tpmtest_spaceperm \
+       tests/tpm_lite/tpmtest_testsetup \
+       tests/tpm_lite/tpmtest_timing \
+       tests/tpm_lite/tpmtest_writelimit
+else
+# TODO(apronin): tests for TPM2 case?
+TLCL_TEST_NAMES =
+endif
+
+TEST_NAMES += ${TLCL_TEST_NAMES}
+
+# Finally
+TEST_BINS = $(addprefix ${BUILD}/,${TEST_NAMES})
+TEST_OBJS += $(addsuffix .o,${TEST_BINS})
+
+TEST_FUTIL_BINS = $(addprefix ${BUILD}/,${TEST_FUTIL_NAMES})
+TEST2X_BINS = $(addprefix ${BUILD}/,${TEST2X_NAMES})
+TEST20_BINS = $(addprefix ${BUILD}/,${TEST20_NAMES})
+TEST21_BINS = $(addprefix ${BUILD}/,${TEST21_NAMES})
+
+# Directory containing test keys
+TEST_KEYS = ${SRC_RUN}/tests/testkeys
+
+# ----------------------------------------------------------------------------
+# Fuzzing binaries
+
+FUZZ_TEST_NAMES = \
+       tests/cgpt_fuzzer \
+       tests/vb2_keyblock_fuzzer \
+       tests/vb2_preamble_fuzzer
+
+FUZZ_TEST_BINS = $(addprefix ${BUILD}/,${FUZZ_TEST_NAMES})
+
+##############################################################################
+# Finally, some targets. High-level ones first.
+
+# Create output directories if necessary.  Do this via explicit shell commands
+# so it happens before trying to generate/include dependencies.
+SUBDIRS := firmware host cgpt utility futility tests tests/tpm_lite
+_dir_create := $(foreach d, \
+       $(shell find ${SUBDIRS} -name '*.c' -exec  dirname {} \; | sort -u), \
+       $(shell [ -d ${BUILD}/${d} ] || mkdir -p ${BUILD}/${d}))
+
+.PHONY: clean
+clean:
+       ${Q}/bin/rm -rf ${BUILD}
+
+.PHONY: install
+install: cgpt_install signing_install futil_install pc_files_install \
+       lib_install $(if ${SDK_BUILD},,util_install_defaults) \
+       $(foreach f,$(if ${SDK_BUILD},${UTIL_FILES_SDK},${UTIL_FILES_BOARD}), \
+               util_install-$(patsubst ${BUILD}/%,%,${f}))
+
+.PHONY: install_dev
+install_dev: devkeys_install headers_install
+
+.PHONY: install_mtd
+install_mtd: install cgpt_wrapper_install
+
+.PHONY: install_for_test
+install_for_test: override DESTDIR = ${TEST_INSTALL_DIR}
+install_for_test: test_setup install \
+       $(foreach f,${UTIL_FILES_SDK} ${UTIL_FILES_BOARD}, \
+               util_install-$(patsubst ${BUILD}/%,%,${f}))
+
+# Don't delete intermediate object files
+.SECONDARY:
+
+# ----------------------------------------------------------------------------
+# Firmware library
+
+# TPM-specific flags.  These depend on the particular TPM we're targeting for.
+# They are needed here only for compiling parts of the firmware code into
+# user-level tests.
+
+# TPM_BLOCKING_CONTINUESELFTEST is defined if TPM_ContinueSelfTest blocks until
+# the self test has completed.
+
+${TLCL_OBJS}: CFLAGS += -DTPM_BLOCKING_CONTINUESELFTEST
+
+# TPM_MANUAL_SELFTEST is defined if the self test must be started manually
+# (with a call to TPM_ContinueSelfTest) instead of starting automatically at
+# power on.
+#
+# We sincerely hope that TPM_BLOCKING_CONTINUESELFTEST and TPM_MANUAL_SELFTEST
+# are not both defined at the same time.  (See comment in code.)
+
+# CFLAGS += -DTPM_MANUAL_SELFTEST
+
+# NOTE: UNROLL_LOOPS *only* affects SHA256, *not* SHA512. This seems to have
+# been a conscious decision at some point (see b/35501356) but whether it still
+# holds up in all situations on all architectures today might need to be
+# reevaluated. For now, since we currently always use SHA256 for (non-recovery)
+# kernel bodies and don't unroll loops for firmware verification, it's not very
+# relevant in practice. To unroll SHA512, UNROLL_LOOPS_SHA512 would need to be
+# defined.
+ifneq ($(filter-out 0,$(UNROLL_LOOPS)),)
+$(info vboot SHA256 built with unrolled loops (faster, larger code size))
+CFLAGS += -DUNROLL_LOOPS
+else
+$(info vboot SHA256 built with tight loops (slower, smaller code size))
+endif
+
+.PHONY: fwlib
+fwlib: $(if ${FIRMWARE_ARCH},${FWLIB},)
+
+${FWLIB}: ${FWLIB_OBJS}
+       @${PRINTF} "    RM            $(subst ${BUILD}/,,$@)\n"
+       ${Q}rm -f $@
+       @${PRINTF} "    AR            $(subst ${BUILD}/,,$@)\n"
+       ${Q}ar qc $@ $^
+
+.PHONY: tlcl
+tlcl: ${TLCL}
+
+${TLCL}: ${TLCL_OBJS}
+       @${PRINTF} "    RM            $(subst ${BUILD}/,,$@)\n"
+       ${Q}rm -f $@
+       @${PRINTF} "    AR            $(subst ${BUILD}/,,$@)\n"
+       ${Q}ar qc $@ $^
+
+# ----------------------------------------------------------------------------
+# Host library(s)
+
+.PHONY: utillib
+utillib: ${UTILLIB}
+
+# TODO: better way to make .a than duplicating this recipe each time?
+${UTILLIB}: ${UTILLIB_OBJS} ${FWLIB_OBJS} ${TLCL_OBJS}
+       @${PRINTF} "    RM            $(subst ${BUILD}/,,$@)\n"
+       ${Q}rm -f $@
+       @${PRINTF} "    AR            $(subst ${BUILD}/,,$@)\n"
+       ${Q}ar qc $@ $^
+
+.PHONY: hostlib
+hostlib: ${HOSTLIB}
+
+# TODO: better way to make .a than duplicating this recipe each time?
+${HOSTLIB}: ${HOSTLIB_OBJS}
+       @${PRINTF} "    RM            $(subst ${BUILD}/,,$@)\n"
+       ${Q}rm -f $@
+       @${PRINTF} "    AR            $(subst ${BUILD}/,,$@)\n"
+       ${Q}ar qc $@ $^
+
+.PHONY: headers_install
+headers_install:
+       @${PRINTF} "    INSTALL       HEADERS\n"
+       ${Q}mkdir -p ${UI_DIR}
+       ${Q}${INSTALL} -t ${UI_DIR} -m644 \
+               host/include/* \
+               firmware/2lib/include/2crypto.h \
+               firmware/2lib/include/2recovery_reasons.h \
+               firmware/2lib/include/2sysincludes.h \
+               firmware/include/gpt.h \
+               firmware/include/tlcl.h \
+               firmware/include/tss_constants.h \
+               firmware/include/tpm1_tss_constants.h \
+               firmware/include/tpm2_tss_constants.h
+
+.PHONY: lib_install
+lib_install: ${HOSTLIB}
+       @${PRINTF} "    INSTALL       HOSTLIB\n"
+       ${Q}mkdir -p ${UL_DIR}
+       ${Q}${INSTALL} -t ${UL_DIR} -m644 $^
+
+.PHONY: devkeys_install
+devkeys_install:
+       @${PRINTF} "    INSTALL       DEVKEYS\n"
+       ${Q}mkdir -p ${US_DIR}/devkeys
+       ${Q}${INSTALL} -t ${US_DIR}/devkeys -m644 \
+               `find tests/devkeys -type f -maxdepth 1`
+
+# ----------------------------------------------------------------------------
+# CGPT library and utility
+
+.PHONY: cgpt_wrapper
+cgpt_wrapper: ${CGPT_WRAPPER}
+
+${CGPT_WRAPPER}: ${CGPT_WRAPPER_OBJS} ${UTILLIB}
+       @$(PRINTF) "    LD            $(subst ${BUILD}/,,$@)\n"
+       ${Q}${LD} -o ${CGPT_WRAPPER} ${LDFLAGS} $^ ${LDLIBS}
+
+.PHONY: cgpt
+cgpt: ${CGPT} $(if $(filter-out 0,${GPT_SPI_NOR}),cgpt_wrapper)
+
+# on FreeBSD: install misc/e2fsprogs-libuuid from ports,
+# or e2fsprogs-libuuid from its binary package system.
+# on OpenBSD: install sysutils/e2fsprogs from ports,
+# or e2fsprogs from its binary package system, to install uuid/uid.h
+${CGPT}: LDLIBS += -luuid
+
+${CGPT}: ${CGPT_OBJS} ${UTILLIB}
+       @${PRINTF} "    LDcgpt        $(subst ${BUILD}/,,$@)\n"
+       ${Q}${LD} -o ${CGPT} ${LDFLAGS} $^ ${LDLIBS}
+
+.PHONY: cgpt_install
+cgpt_install: ${CGPT}
+       @${PRINTF} "    INSTALL       CGPT\n"
+       ${Q}mkdir -p ${UB_DIR}
+       ${Q}${INSTALL} -t ${UB_DIR} $^
+
+.PHONY: cgpt_wrapper_install
+cgpt_wrapper_install: cgpt_install ${CGPT_WRAPPER}
+       @$(PRINTF) "    INSTALL       cgpt_wrapper\n"
+       ${Q}${INSTALL} -t ${UB_DIR} ${CGPT_WRAPPER}
+       ${Q}mv ${UB_DIR}/$(notdir ${CGPT}) \
+               ${UB_DIR}/$(notdir ${CGPT}).bin
+       ${Q}mv ${UB_DIR}/$(notdir ${CGPT_WRAPPER}) \
+               ${UB_DIR}/$(notdir ${CGPT})
+
+# ----------------------------------------------------------------------------
+# Utilities
+
+# These have their own headers too.
+${BUILD}/utility/%: INCLUDES += -Iutility/include
+
+${UTIL_BINS_SDK}: ${UTILLIB}
+${UTIL_BINS_SDK}: LIBS = ${UTILLIB}
+${UTIL_BINS_BOARD}: ${UTILLIB}
+${UTIL_BINS_BOARD}: LIBS = ${UTILLIB}
+
+${UTIL_SCRIPTS_SDK} ${UTIL_SCRIPTS_BOARD}: ${BUILD}/%: %
+       ${Q}cp -f $< $@
+       ${Q}chmod a+rx $@
+
+define UTIL_INSTALL_template
+.PHONY: util_install-$(1)
+util_install-$(1): $$(addprefix $${BUILD}/,$(1))
+       @${PRINTF} "    INSTALL       $(1)\n"
+       ${Q}mkdir -p $${UB_DIR}
+       ${Q}${INSTALL} -t $${UB_DIR} $$<
+endef
+
+$(foreach f, $(sort ${UTIL_FILES_SDK} ${UTIL_FILES_BOARD}), \
+       $(eval $(call UTIL_INSTALL_template,$(patsubst ${BUILD}/%,%,${f}))))
+
+.PHONY: util_install_defaults
+util_install_defaults: ${UTIL_DEFAULTS}
+       ${Q}mkdir -p ${DF_DIR}
+       ${Q}${INSTALL} -t ${DF_DIR} -m 'u=rw,go=r,a-s' ${UTIL_DEFAULTS}
+
+# And some signing stuff for the target
+.PHONY: signing_install
+signing_install: $(if ${SDK_BUILD},\
+                  ${SIGNING_SCRIPTS_SDK},${SIGNING_SCRIPTS_BOARD})
+       @${PRINTF} "    INSTALL       SIGNING\n"
+       ${Q}mkdir -p ${VB_DIR}
+       ${Q}${INSTALL} -t ${VB_DIR} $^
+
+# ----------------------------------------------------------------------------
+# Firmware Utility
+
+.PHONY: futil
+futil: ${FUTIL_BIN}
+
+# FUTIL_LIBS is shared by FUTIL_BIN and TEST_FUTIL_BINS.
+FUTIL_LIBS = ${CROSID_LIBS} ${CRYPTO_LIBS} ${LIBZIP_LIBS} ${FLASHROM_LIBS}
+
+${FUTIL_BIN}: LDLIBS += ${FUTIL_LIBS}
+${FUTIL_BIN}: ${FUTIL_OBJS} ${UTILLIB} ${FWLIB}
+       @${PRINTF} "    LD            $(subst ${BUILD}/,,$@)\n"
+       ${Q}${LD} -o $@ ${LDFLAGS} $^ ${LDLIBS}
+
+.PHONY: futil_install
+futil_install: ${FUTIL_BIN}
+       @${PRINTF} "    INSTALL       futility\n"
+       ${Q}mkdir -p ${UB_DIR}
+       ${Q}${INSTALL} -t ${UB_DIR} ${FUTIL_BIN}
+       ${Q}for prog in ${FUTIL_SYMLINKS}; do \
+               ln -sf futility "${UB_DIR}/$$prog"; done
+
+# ----------------------------------------------------------------------------
+# Utility to generate TLCL structure definition header file.
+
+${BUILD}/utility/tlcl_generator: CFLAGS += -fpack-struct
+
+STRUCTURES_TMP=${BUILD}/tlcl_structures.tmp
+STRUCTURES_SRC=firmware/lib/tpm_lite/include/tlcl_structures.h
+
+.PHONY: update_tlcl_structures
+update_tlcl_structures: ${BUILD}/utility/tlcl_generator
+       @${PRINTF} "    Rebuilding TLCL structures\n"
+       ${Q}${BUILD}/utility/tlcl_generator > ${STRUCTURES_TMP}
+       ${Q}cmp -s ${STRUCTURES_TMP} ${STRUCTURES_SRC} || \
+               ( echo "%% Updating structures.h %%" && \
+                 cp ${STRUCTURES_TMP} ${STRUCTURES_SRC} )
+
+# ----------------------------------------------------------------------------
+# Tests
+
+.PHONY: tests
+tests: ${TEST_BINS}
+
+${TEST_BINS}: ${UTILLIB} ${TESTLIB}
+${TEST_BINS}: INCLUDES += -Itests
+${TEST_BINS}: LIBS = ${TESTLIB} ${UTILLIB}
+
+# Futility tests need almost everything that futility needs.
+${TEST_FUTIL_BINS}: ${FUTIL_OBJS} ${UTILLIB}
+${TEST_FUTIL_BINS}: INCLUDES += -Ifutility
+${TEST_FUTIL_BINS}: OBJS += ${FUTIL_OBJS} ${UTILLIB}
+${TEST_FUTIL_BINS}: LDLIBS += ${FUTIL_LIBS}
+
+${TEST2X_BINS}: ${FWLIB}
+${TEST2X_BINS}: LIBS += ${FWLIB}
+
+${TEST20_BINS}: ${FWLIB}
+${TEST20_BINS}: LIBS += ${FWLIB}
+${TEST20_BINS}: LDLIBS += ${CRYPTO_LIBS}
+
+${TESTLIB}: ${TESTLIB_OBJS}
+       @${PRINTF} "    RM            $(subst ${BUILD}/,,$@)\n"
+       ${Q}rm -f $@
+       @${PRINTF} "    AR            $(subst ${BUILD}/,,$@)\n"
+       ${Q}ar qc $@ $^
+
+DUT_TEST_BINS = $(addprefix ${BUILD}/,${DUT_TEST_NAMES})
+
+# Special build for sha256_x86 test
+${BUILD}/tests/vb2_sha256_x86_tests: \
+       ${BUILD}/firmware/2lib/2sha256_x86.o
+${BUILD}/tests/vb2_sha256_x86_tests: \
+       LIBS += ${BUILD}/firmware/2lib/2sha256_x86.o
+
+.PHONY: install_dut_test
+install_dut_test: ${DUT_TEST_BINS}
+ifneq ($(strip ${DUT_TEST_BINS}),)
+       @${PRINTF} "    INSTALL       DUT TESTS\n"
+       ${Q}mkdir -p ${DUT_TEST_DIR}
+       ${Q}${INSTALL} -t ${DUT_TEST_DIR} $^
+endif
+
+# ----------------------------------------------------------------------------
+# Fuzzers
+
+.PHONY: fuzzers
+fuzzers: ${FUZZ_TEST_BINS}
+
+${FUZZ_TEST_BINS}: ${FWLIB}
+${FUZZ_TEST_BINS}: LIBS = ${FWLIB}
+${FUZZ_TEST_BINS}: LDFLAGS += -fsanitize=fuzzer
+
+# ----------------------------------------------------------------------------
+# Generic build rules. LIBS and OBJS can be overridden to tweak the generic
+# rules for specific targets.
+
+${BUILD}/%: ${BUILD}/%.o ${OBJS} ${LIBS}
+       @${PRINTF} "    LD            $(subst ${BUILD}/,,$@)\n"
+       ${Q}${LD} -o $@ ${LDFLAGS} $< ${OBJS} ${LIBS} ${LDLIBS}
+
+${BUILD}/%.o: %.c
+       @${PRINTF} "    CC            $(subst ${BUILD}/,,$@)\n"
+       ${Q}${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $<
+
+${BUILD}/%.o: ${BUILD}/%.c
+       @${PRINTF} "    CC            $(subst ${BUILD}/,,$@)\n"
+       ${Q}${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $<
+
+# ----------------------------------------------------------------------------
+# Here are the special tweaks to the generic rules.
+
+# Always create the defaults file, since it depends on input variables
+.PHONY: ${UTIL_DEFAULTS}
+${UTIL_DEFAULTS}:
+       @${PRINTF} "    CREATE        $(subst ${BUILD}/,,$@)\n"
+       ${Q}rm -f $@
+       ${Q}mkdir -p $(dir $@)
+       ${Q}echo '# Generated file. Do not edit.' > $@.tmp
+       ${Q}echo "DEV_DEBUG_FORCE=${DEV_DEBUG_FORCE}" >> $@.tmp
+       ${Q}mv -f $@.tmp $@
+
+# Some utilities need external crypto functions
+CRYPTO_LIBS := $(shell ${PKG_CONFIG} --libs libcrypto)
+ifeq ($(shell uname -s), FreeBSD)
+CRYPTO_LIBS += -lcrypto
+endif
+ifeq ($(shell uname -s), OpenBSD)
+LDFLAGS += -Wl,-z,notext
+endif
+
+${BUILD}/utility/dumpRSAPublicKey: LDLIBS += ${CRYPTO_LIBS}
+${BUILD}/utility/pad_digest_utility: LDLIBS += ${CRYPTO_LIBS}
+${BUILD}/utility/signature_digest_utility: LDLIBS += ${CRYPTO_LIBS}
+${BUILD}/utility/verify_data: LDLIBS += ${CRYPTO_LIBS}
+
+${BUILD}/tests/vb2_host_key_tests: LDLIBS += ${CRYPTO_LIBS}
+${BUILD}/tests/vb2_common2_tests: LDLIBS += ${CRYPTO_LIBS}
+${BUILD}/tests/vb2_common3_tests: LDLIBS += ${CRYPTO_LIBS}
+${BUILD}/tests/verify_kernel: LDLIBS += ${CRYPTO_LIBS}
+${BUILD}/tests/hmac_test: LDLIBS += ${CRYPTO_LIBS}
+
+${TEST21_BINS}: LDLIBS += ${CRYPTO_LIBS}
+
+# Allow multiple definitions, so tests can mock functions from other libraries
+${BUILD}/tests/%: LDFLAGS += -Xlinker --allow-multiple-definition
+${BUILD}/tests/%: LDLIBS += -lrt -luuid
+${BUILD}/tests/%: LIBS += ${TESTLIB}
+
+ifeq ($(filter-out 0,${TPM2_MODE}),)
+# TODO(apronin): tests for TPM2 case?
+TLCL_TEST_BINS = $(addprefix ${BUILD}/,${TLCL_TEST_NAMES})
+${TLCL_TEST_BINS}: OBJS += ${BUILD}/tests/tpm_lite/tlcl_tests.o
+${TLCL_TEST_BINS}: ${BUILD}/tests/tpm_lite/tlcl_tests.o
+TEST_OBJS += ${BUILD}/tests/tpm_lite/tlcl_tests.o
+endif
+
+# ----------------------------------------------------------------------------
+# Here are the special rules that don't fit in the generic rules.
+
+# Generates the list of commands defined in futility by running grep in the
+# source files looking for the DECLARE_FUTIL_COMMAND() macro usage.
+${FUTIL_CMD_LIST}: ${FUTIL_SRCS}
+       @${PRINTF} "    GEN           $(subst ${BUILD}/,,$@)\n"
+       ${Q}rm -f $@ $@_t $@_commands
+       ${Q}mkdir -p ${BUILD}/gen
+       ${Q}grep -hoRE '^DECLARE_FUTIL_COMMAND\([^,]+' $^ \
+               | sed 's/DECLARE_FUTIL_COMMAND(\(.*\)/_CMD(\1)/' \
+               | sort >>$@_commands
+       ${Q}./scripts/getversion.sh >> $@_t
+       ${Q}echo '#define _CMD(NAME) extern const struct' \
+               'futil_cmd_t __cmd_##NAME;' >> $@_t
+       ${Q}cat $@_commands >> $@_t
+       ${Q}echo '#undef _CMD' >> $@_t
+       ${Q}echo '#define _CMD(NAME) &__cmd_##NAME,' >> $@_t
+       ${Q}echo 'const struct futil_cmd_t *const futil_cmds[] = {' >> $@_t
+       ${Q}cat $@_commands >> $@_t
+       ${Q}echo '0};  /* null-terminated */' >> $@_t
+       ${Q}echo '#undef _CMD' >> $@_t
+       ${Q}mv $@_t $@
+       ${Q}rm -f $@_commands
+
+##############################################################################
+# Targets that exist just to run tests
+
+.PHONY: test_setup
+test_setup:: cgpt ${UTIL_FILES_SDK} ${UTIL_FILES_BOARD} futil tests
+
+# Qemu setup for cross-compiled tests.  Need to copy qemu binary into the
+# sysroot.
+ifneq (${QEMU_ARCH},)
+test_setup:: qemu_install
+
+.PHONY: qemu_install
+qemu_install:
+ifeq (${SYSROOT},)
+       $(error SYSROOT must be set to the top of the target-specific root \
+when cross-compiling for qemu-based tests to run properly.)
+endif
+       @${PRINTF} "    Copying qemu binary.\n"
+       ${Q}cp -fu /usr/bin/${QEMU_BIN} ${BUILD}/${QEMU_BIN}
+       ${Q}chmod a+rx ${BUILD}/${QEMU_BIN}
+endif
+
+# Generate test keys
+.PHONY: genkeys
+genkeys: install_for_test
+       tests/gen_test_keys.sh
+
+# Generate test cases
+.PHONY: gentestcases
+gentestcases: install_for_test
+       tests/gen_test_cases.sh
+
+# Generate test cases for fuzzing
+.PHONY: genfuzztestcases
+genfuzztestcases: install_for_test
+       tests/gen_fuzz_test_cases.sh
+
+.PHONY: runcgpttests
+runcgpttests: install_for_test
+       ${RUNTEST} ${BUILD_RUN}/tests/cgptlib_test
+
+.PHONY: runtestscripts
+runtestscripts: install_for_test genfuzztestcases
+       scripts/image_signing/sign_android_unittests.sh
+       tests/load_kernel_tests.sh
+       tests/run_cgpt_tests.sh ${BUILD_RUN}/cgpt/cgpt
+       tests/run_cgpt_tests.sh ${BUILD_RUN}/cgpt/cgpt -D 358400
+       tests/run_preamble_tests.sh
+       tests/run_vbutil_kernel_arg_tests.sh
+       tests/run_vbutil_tests.sh
+       tests/vb2_rsa_tests.sh
+       tests/vb2_firmware_tests.sh
+
+.PHONY: runmisctests
+runmisctests: install_for_test
+       ${RUNTEST} ${BUILD_RUN}/tests/gpt_misc_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/subprocess_tests
+ifeq ($(filter-out 0,${MOCK_TPM})$(filter-out 0,${TPM2_MODE}),)
+# tlcl_tests only works when MOCK_TPM is disabled
+       ${RUNTEST} ${BUILD_RUN}/tests/tlcl_tests
+endif
+       ${RUNTEST} ${BUILD_RUN}/tests/vboot_api_kernel4_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vboot_api_kernel_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vboot_kernel_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vboot_kernel2_tests
+
+.PHONY: run2tests
+run2tests: install_for_test
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_api_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_auxfw_sync_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_common_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_common2_tests ${TEST_KEYS}
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_common3_tests ${TEST_KEYS}
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_crypto_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_ec_sync_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_firmware_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_gbb_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_host_key_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_kernel_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_misc_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_nvstorage_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_rsa_utility_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_secdata_firmware_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_secdata_fwmp_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_secdata_kernel_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_sha_api_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_sha_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb20_api_kernel_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb20_kernel_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb21_host_common_tests
+       ${RUNTEST} ${BUILD_RUN}/tests/vb21_host_common2_tests ${TEST_KEYS}
+       ${RUNTEST} ${BUILD_RUN}/tests/vb21_host_key_tests ${TEST_KEYS} ${BUILD}
+       ${RUNTEST} ${BUILD_RUN}/tests/vb21_host_misc_tests ${BUILD}
+       ${RUNTEST} ${BUILD_RUN}/tests/vb21_host_sig_tests ${TEST_KEYS}
+       ${RUNTEST} ${BUILD_RUN}/tests/hmac_test
+
+.PHONY: runfutiltests
+runfutiltests: install_for_test
+       tests/futility/run_test_scripts.sh
+       ${RUNTEST} ${BUILD_RUN}/tests/futility/test_file_types
+       ${RUNTEST} ${BUILD_RUN}/tests/futility/test_not_really
+
+# Test all permutations of encryption keys, instead of just the ones we use.
+# Not run by automated build.
+.PHONY: runlongtests
+runlongtests: install_for_test genkeys genfuzztestcases
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_common2_tests ${TEST_KEYS} --all
+       ${RUNTEST} ${BUILD_RUN}/tests/vb2_common3_tests ${TEST_KEYS} --all
+       ${RUNTEST} ${BUILD_RUN}/tests/vb21_host_common2_tests ${TEST_KEYS} --all
+       tests/run_preamble_tests.sh --all
+       tests/run_vbutil_tests.sh --all
+
+.PHONY: rununittests
+rununittests: runcgpttests runmisctests run2tests
+
+# Print a big green success message at the end of all tests. If you don't see
+# that, you know there was an error somewhere further up.
+.PHONY: runtests
+runtests: rununittests runtestscripts runfutiltests
+       ${Q}echo -e "\nruntests: \E[32;1mALL TESTS PASSED SUCCESSFULLY!\E[0;m\n"
+
+# Code coverage
+.PHONY: coverage_init
+coverage_init: install_for_test
+       rm -f ${COV_INFO}*
+       lcov -c -i -d . -b . -o ${COV_INFO}.initial
+
+.PHONY: coverage_html
+coverage_html:
+       lcov -c -d . -b . -o ${COV_INFO}.tests
+       lcov -a ${COV_INFO}.initial -a ${COV_INFO}.tests -o ${COV_INFO}.total
+       lcov -r ${COV_INFO}.total '/usr/*' -o ${COV_INFO}.local
+       genhtml ${COV_INFO}.local -o ${BUILD}/coverage
+# Generate addtional coverage stats just for firmware subdir, because the stats
+# for the whole project don't include subdirectory summaries. This will print
+# the summary for just the firmware sources.
+       lcov -r ${COV_INFO}.local '*/stub/*' -o ${COV_INFO}.nostub
+       lcov -e ${COV_INFO}.nostub '${SRCDIR}/firmware/*' \
+               -o ${COV_INFO}.firmware
+
+.PHONY: coverage
+ifeq ($(filter-out 0,${COV}),)
+coverage:
+       $(error Build coverage like this: make clean && COV=1 make coverage)
+else
+coverage: coverage_init runtests coverage_html
+endif
+
+# Include generated dependencies
+ALL_DEPS += ${ALL_OBJS:%.o=%.o.d}
+TEST_DEPS += ${TEST_OBJS:%.o=%.o.d}
+-include ${ALL_DEPS}
+-include ${TEST_DEPS}
+
+# We want to use only relative paths in cscope.files, especially since the
+# paths inside and outside the chroot are different.
+SRCDIRPAT=$(subst /,\/,${SRCDIR}/)
+
+# Note: vboot 2.0 is deprecated, so don't index those files
+${BUILD}/cscope.files: all install_for_test
+       ${Q}rm -f $@
+       ${Q}cat ${ALL_DEPS} | tr -d ':\\' | tr ' ' '\012' | \
+               grep -v /lib20/ | \
+               sed -e "s/${SRCDIRPAT}//" | \
+               egrep '\.[chS]$$' | sort | uniq > $@
+
+cmd_etags = etags -o ${BUILD}/TAGS $(shell cat ${BUILD}/cscope.files)
+cmd_ctags = ctags -o ${BUILD}/tags $(shell cat ${BUILD}/cscope.files)
+run_if_prog = $(if $(shell which $(1) 2>/dev/null),$(2),)
+
+.PHONY: tags TAGS xrefs
+tags TAGS xrefs: ${BUILD}/cscope.files
+       ${Q}\rm -f ${BUILD}/tags ${BUILD}/TAGS
+       ${Q}$(call run_if_prog,etags,${cmd_etags})
+       ${Q}$(call run_if_prog,ctags,${cmd_ctags})
+
+PC_FILES = ${PC_IN_FILES:%.pc.in=${BUILD}/%.pc}
+${PC_FILES}: ${PC_IN_FILES}
+       ${Q}sed \
+               -e 's:@LDLIBS@:${LDLIBS}:' \
+               -e 's:@LIBDIR@:${LIBDIR}:' \
+               $< > $@
+
+.PHONY: pc_files_install
+pc_files_install: ${PC_FILES}
+       ${Q}mkdir -p ${ULP_DIR}
+       ${Q}${INSTALL} -D -m 0644 $< ${ULP_DIR}/$(notdir $<)
diff --git a/OWNERS b/OWNERS
new file mode 100644 (file)
index 0000000..21ecb22
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1,5 @@
+jwerner@chromium.org
+yupingso@chromium.org
+twawrzynczak@chromium.org
+hungte@chromium.org
+*
diff --git a/PRESUBMIT.cfg b/PRESUBMIT.cfg
new file mode 100644 (file)
index 0000000..9f66545
--- /dev/null
@@ -0,0 +1,16 @@
+[Hook Overrides]
+branch_check: true
+cargo_clippy_check: true
+checkpatch_check: true
+long_line_check: false
+signoff_check: true
+
+# We are using Linux style indentation with tabs
+# The indentation is checked by checkpatch not the python script
+tab_check: false
+
+[Hook Overrides Options]
+cros_license_check: --exclude_regex=^\.checkpatch\.conf$
+
+cargo_clippy_check:
+  --project=rust/vboot_reference-sys
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..1787d4d
--- /dev/null
+++ b/README
@@ -0,0 +1,177 @@
+This directory contains a reference implementation for Chrome OS
+verified boot in firmware.
+
+----------
+Directory Structure
+----------
+
+The source is organized into distinct modules -
+
+firmware/
+
+  Contains ONLY the code required by the BIOS to validate the secure boot
+  components. There shouldn't be any code in here that signs or generates
+  images. BIOS should require ONLY this directory to implement secure boot.
+  Refer to firmware/README for futher details.
+
+cgpt/
+
+  Utility to read/write/modify GPT partitions. Similar to GNU parted or any
+  other GPT tool, but this has support for Chrome OS extensions.
+
+host/
+
+  Miscellaneous functions needed by userland utilities.
+
+futility/
+
+  The "firmware utility" tool, used to create, sign, and validate Chrome OS
+  images.
+
+utility/
+
+  Random other utilities, not necesssarily related to verified boot as such.
+
+tests/
+
+  User-land tests and benchmarks that test the reference implementation.
+  Please have a look at these if you'd like to understand how to use the
+  reference implementation.
+
+build/
+
+  The output directory where the generated files will be placed, and where
+  tests are run.
+
+scripts/
+
+  Tools and scripts used to generate and use new signing keypairs. These are
+  typically used only on a secure machine.
+
+rust/
+
+  Rust bindings for vboot_reference. See rust/README.md for more details.
+
+--------------------
+Building and testing
+--------------------
+
+The suite can be built on the host or in the chroot environment.
+
+Building on the host could fail if certain packages are not installed. If
+there are host environment build problems due to missing .h files, try
+researching what packages the files belong to and install the missing packages
+before reporting a problem.
+
+
+The commands are the more-or-less expected ones:
+
+  make
+  make runtests
+  make install [ DESTDIR=/usr/local ]
+
+
+
+----------
+Some useful utilities:
+----------
+
+futility vbutil_key         Convert a public key into .vbpubk format
+futility vbutil_keyblock    Wrap a public key inside a signature and checksum
+futility vbutil_firmware    Create a .vblock with signature info for a
+                              firmware image
+futility vbutil_kernel      Pack a kernel image, bootloader, and config into
+                              a signed binary
+
+dumpRSAPublicKey            Dump RSA Public key (from a DER-encoded X509
+                            certificate) in a format suitable for use by
+                            RSAVerify* functions in crypto/.
+
+verify_data.c               Verify a given signature on a given file.
+
+
+
+----------
+Generating a signed firmware image:
+----------
+
+* Step 0: Build the tools, install them somewhere.
+
+* Step 1: Generate RSA root and signing keys.
+
+  The root key is always 8192 bits.
+
+    $ openssl genrsa -F4 -out root_key.pem 8192
+
+  The signing key can be between 1024-8192 bits.
+
+    $ openssl genrsa -F4 -out signing_key.pem <1024|2048|4096|8192>
+
+  Note: The -F4 option must be specified to generate RSA keys with a public
+  exponent of 65535. RSA keys with 3 as a public exponent (the default)
+  won't work.
+
+* Step 2: Generate pre-processed public versions of the above keys using
+          dumpRSAPublicKey. This utility expects an x509 certificate as
+          input, and emits an intermediate representation for further
+          processing.
+
+    $ openssl req -batch -new -x509 -key root_key.pem -out root_key.crt
+    $ openssl req -batch -new -x509 -key signing_key.pem -out signing_key.crt
+    $ dumpRSAPublicKey root_key.crt > root_key.keyb
+    $ dumpRSAPublicKey signing_key.crt > signing_key.keyb
+
+************** TODO: STUFF PAST HERE IS OUT OF DATE ***************
+
+At this point we have all the requisite keys needed to generate a signed
+firmware image.
+
+.pem   RSA Public/Private Key Pair
+.crt   X509 Key Certificate
+.keyb  Pre-processed RSA Public Key
+
+
+* Step 3: Use utility/firmware_utility to generate a signed firmare blob.
+
+$ utility/firmware_utility --generate \
+  --root_key root_key.pem \
+  --firmware_sign_key signing_key.pem \
+  --firmware_sign_key_pub signing_key.keyb \
+  --firmware_sign_algorithm <algoid> \
+  --firmware_key_version 1 \
+  --firmware_version 1 \
+  --in <firmware blob file> \
+  --out <output file>
+
+Where <algoid> is based on the signature algorithm to use for firmware
+signining. The list of <algoid> specifications can be output by running
+'utility/firmware_utility' without any arguments.
+
+Note: --firmware_key_version and --firmware_version are part of a signed
+      image and are used to prevent rollbacks to older version. For testing,
+      they can just be set to valid values.
+
+
+* Step 4: Verify that this image verifies.
+
+$ utility/firmware_utility --verify \
+                         --in <signed firmware image>
+                         --root_key_pub root_key.keyb
+Verification SUCCESS.
+
+
+Note: The verification functions expects a pointer to the
+      pre-processed public root key as input. For testing purposes,
+      root_key.keyb can be stored in RW part of the firmware. For the
+      final firmware, this will be a fixed public key which cannot be
+      changed and must be stored in RO firmware.
+
+----------
+Generating a signed kernel image:
+----------
+
+The steps for generating a signed kernel image are similar to that of
+a firmware image. Since verification is chained - RO firmware verifies
+RW firmware which verifies the kernel, only the keys change. An additional
+kernel signing key must be generated. The firmware signing generated above
+is the root key equivalent for signed kernel images.
diff --git a/cgpt/cgpt.c b/cgpt/cgpt.c
new file mode 100644 (file)
index 0000000..d06874e
--- /dev/null
@@ -0,0 +1,98 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Utility for ChromeOS-specific GPT partitions, Please see corresponding .c
+ * files for more details.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <uuid/uuid.h>
+
+#include "cgpt.h"
+#include "vboot_host.h"
+
+const char* progname;
+
+int GenerateGuid(Guid *newguid)
+{
+  /* From libuuid */
+  uuid_generate(newguid->u.raw);
+  return CGPT_OK;
+}
+
+struct {
+  const char *name;
+  int (*fp)(int argc, char *argv[]);
+  const char *comment;
+} cmds[] = {
+  {"create", cmd_create, "Create or reset GPT headers and tables"},
+  {"add", cmd_add, "Add, edit or remove a partition entry"},
+  {"show", cmd_show, "Show partition table and entries"},
+  {"repair", cmd_repair, "Repair damaged GPT headers and tables"},
+  {"boot", cmd_boot, "Edit the PMBR sector for legacy BIOSes"},
+  {"find", cmd_find, "Locate a partition by its GUID"},
+  {"edit", cmd_edit, "Edit a drive entry"},
+  {"prioritize", cmd_prioritize,
+   "Reorder the priority of all kernel partitions"},
+  {"legacy", cmd_legacy, "Switch between GPT and Legacy GPT"},
+};
+
+static void Usage(void) {
+  int i;
+
+  printf("\nUsage: %s COMMAND [OPTIONS] DRIVE\n\n"
+         "Supported COMMANDs:\n\n",
+         progname);
+
+  for (i = 0; i < sizeof(cmds)/sizeof(cmds[0]); ++i) {
+    printf("    %-15s  %s\n", cmds[i].name, cmds[i].comment);
+  }
+  printf("\nFor more detailed usage, use %s COMMAND -h\n\n", progname);
+}
+
+int main(int argc, char *argv[]) {
+  int i;
+  int match_count = 0;
+  int match_index = 0;
+  char* command;
+
+  progname = strrchr(argv[0], '/');
+  if (progname)
+    progname++;
+  else
+    progname = argv[0];
+
+  if (argc < 2) {
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  // increment optind now, so that getopt skips argv[0] in command function
+  command = argv[optind++];
+
+  // Find the command to invoke.
+  for (i = 0; command && i < sizeof(cmds)/sizeof(cmds[0]); ++i) {
+    // exact match?
+    if (0 == strcmp(cmds[i].name, command)) {
+      match_index = i;
+      match_count = 1;
+      break;
+    }
+    // unique match?
+    else if (0 == strncmp(cmds[i].name, command, strlen(command))) {
+      match_index = i;
+      match_count++;
+    }
+  }
+
+  if (match_count == 1)
+    return cmds[match_index].fp(argc, argv);
+
+  // Couldn't find a single matching command.
+  Usage();
+
+  return CGPT_FAILED;
+}
diff --git a/cgpt/cgpt.h b/cgpt/cgpt.h
new file mode 100644 (file)
index 0000000..89c357e
--- /dev/null
@@ -0,0 +1,209 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_CGPT_H_
+#define VBOOT_REFERENCE_CGPT_H_
+
+#include <fcntl.h>
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
+#include <features.h>
+#endif
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "cgpt_endian.h"
+#include "cgptlib.h"
+#include "gpt.h"
+
+struct legacy_partition {
+  uint8_t  status;
+  uint8_t  f_head;
+  uint8_t  f_sect;
+  uint8_t  f_cyl;
+  uint8_t  type;
+  uint8_t  l_head;
+  uint8_t  l_sect;
+  uint8_t  l_cyl;
+  uint32_t f_lba;
+  uint32_t num_sect;
+} __attribute__((packed));
+
+// syslinux uses this format:
+struct pmbr {
+  uint8_t                 bootcode[424];
+  Guid                    boot_guid;
+  uint32_t                disk_id;
+  uint8_t                 magic[2];     // 0x1d, 0x9a
+  struct legacy_partition part[4];
+  uint8_t                 sig[2];       // 0x55, 0xaa
+} __attribute__((packed));
+
+void PMBRToStr(struct pmbr *pmbr, char *str, unsigned int buflen);
+
+// Handle to the drive storing the GPT.
+struct drive {
+  uint64_t size;    /* total size (in bytes) */
+  GptData gpt;
+  struct pmbr pmbr;
+  int fd;       /* file descriptor */
+};
+
+// Opens a block device or file, loads raw GPT data from it.
+// 'mode' should be O_RDONLY or O_RDWR.
+// If 'drive_size' is 0, both the partitions and GPT structs reside on the same
+// 'drive_path'.
+// Otherwise, 'drive_size' is taken as the size of the device that all
+// partitions will reside on, and 'drive_path' is where we store GPT structs.
+//
+// Returns CGPT_FAILED if any error happens.
+// Returns CGPT_OK if success and information are stored in 'drive'. */
+int DriveOpen(const char *drive_path, struct drive *drive, int mode,
+              uint64_t drive_size);
+int DriveClose(struct drive *drive, int update_as_needed);
+int CheckValid(const struct drive *drive);
+
+/* Loads sectors from 'drive'.
+ *
+ *   drive -- open drive.
+ *   buf -- pointer to buffer of at least (sector_bytes * sector_count) size
+ *   sector -- offset of starting sector (in sectors)
+ *   sector_bytes -- bytes per sector
+ *   sector_count -- number of sectors to load
+ *
+ * Returns CGPT_OK for successful. Aborts if any error occurs.
+ */
+int Load(struct drive *drive, uint8_t *buf,
+                const uint64_t sector,
+                const uint64_t sector_bytes,
+                const uint64_t sector_count);
+
+/* Saves sectors to 'drive'.
+ *
+ *   drive -- open drive
+ *   buf -- pointer to buffer
+ *   sector -- starting sector offset
+ *   sector_bytes -- bytes per sector
+ *   sector_count -- number of sector to save
+ *
+ * Returns CGPT_OK for successful, CGPT_FAILED for failed.
+ */
+int Save(struct drive *drive, const uint8_t *buf,
+                const uint64_t sector,
+                const uint64_t sector_bytes,
+                const uint64_t sector_count);
+
+
+/* Constant global type values to compare against */
+extern const Guid guid_chromeos_firmware;
+extern const Guid guid_chromeos_kernel;
+extern const Guid guid_chromeos_rootfs;
+extern const Guid guid_linux_data;
+extern const Guid guid_chromeos_reserved;
+extern const Guid guid_efi;
+extern const Guid guid_unused;
+
+int ReadPMBR(struct drive *drive);
+int WritePMBR(struct drive *drive);
+
+/* Convert possibly unterminated UTF16 string to UTF8.
+ * Caller must prepare enough space for UTF8, which could be up to
+ * twice the byte length of UTF16 string plus the terminating '\0'.
+ *
+ * Return: CGPT_OK --- all character are converted successfully.
+ *         CGPT_FAILED --- convert error, i.e. output buffer is too short.
+ */
+int UTF16ToUTF8(const uint16_t *utf16, unsigned int maxinput,
+                uint8_t *utf8, unsigned int maxoutput);
+
+/* Convert null-terminated UTF8 string to UTF16.
+ * Caller must prepare enough space for UTF16, which is the byte length of UTF8
+ * plus the terminating 0x0000.
+ *
+ * Return: CGPT_OK --- all character are converted successfully.
+ *         CGPT_FAILED --- convert error, i.e. output buffer is too short.
+ */
+int UTF8ToUTF16(const uint8_t *utf8, uint16_t *utf16, unsigned int maxoutput);
+
+/* Helper functions for supported GPT types. */
+int ResolveType(const Guid *type, char *buf);
+int SupportedType(const char *name, Guid *type);
+void PrintTypes(void);
+void EntryDetails(GptEntry *entry, uint32_t index, int raw);
+
+uint32_t GetNumberOfEntries(const struct drive *drive);
+GptEntry *GetEntry(GptData *gpt, int secondary, uint32_t entry_index);
+
+void SetRequired(struct drive *drive, int secondary, uint32_t entry_index,
+                 int required);
+int GetRequired(struct drive *drive, int secondary, uint32_t entry_index);
+void SetLegacyBoot(struct drive *drive, int secondary, uint32_t entry_index,
+                   int legacy_boot);
+int GetLegacyBoot(struct drive *drive, int secondary, uint32_t entry_index);
+void SetPriority(struct drive *drive, int secondary, uint32_t entry_index,
+                 int priority);
+int GetPriority(struct drive *drive, int secondary, uint32_t entry_index);
+void SetTries(struct drive *drive, int secondary, uint32_t entry_index,
+              int tries);
+int GetTries(struct drive *drive, int secondary, uint32_t entry_index);
+void SetSuccessful(struct drive *drive, int secondary, uint32_t entry_index,
+                   int success);
+int GetSuccessful(struct drive *drive, int secondary, uint32_t entry_index);
+
+void SetRaw(struct drive *drive, int secondary, uint32_t entry_index,
+           uint32_t raw);
+
+void UpdateAllEntries(struct drive *drive);
+
+uint8_t RepairHeader(GptData *gpt, const uint32_t valid_headers);
+uint8_t RepairEntries(GptData *gpt, const uint32_t valid_entries);
+void UpdateCrc(GptData *gpt);
+int IsSynonymous(const GptHeader* a, const GptHeader* b);
+
+int IsUnused(struct drive *drive, int secondary, uint32_t index);
+int IsKernel(struct drive *drive, int secondary, uint32_t index);
+
+// Optional. Applications that need this must provide an implementation.
+//
+// Explanation:
+//   Some external utilities need to manipulate the GPT, but don't create new
+//   partitions from scratch. The cgpt executable uses libuuid to provide this
+//   functionality, but we don't want to have to build or install a separate
+//   instance of that library just for the 32-bit static post-install tool,
+//   which doesn't need this function.
+int GenerateGuid(Guid *newguid);
+
+// For usage and error messages.
+void Error(const char *format, ...);
+void Warning(const char *format, ...);
+
+// Command functions.
+int check_int_parse(char option, const char *buf);
+int check_int_limit(char option, int val, int low, int high);
+int cmd_show(int argc, char *argv[]);
+int cmd_repair(int argc, char *argv[]);
+int cmd_create(int argc, char *argv[]);
+int cmd_add(int argc, char *argv[]);
+int cmd_boot(int argc, char *argv[]);
+int cmd_find(int argc, char *argv[]);
+int cmd_edit(int argc, char *argv[]);
+int cmd_prioritize(int argc, char *argv[]);
+int cmd_legacy(int argc, char *argv[]);
+
+#define ARRAY_COUNT(array) (sizeof(array)/sizeof((array)[0]))
+const char *GptError(int errnum);
+
+// Size in chars of the GPT Entry's PartitionName field
+#define GPT_PARTNAME_LEN 72
+
+/* The standard "assert" macro goes away when NDEBUG is defined. This doesn't.
+ */
+#define require(A) do { \
+  if (!(A)) { \
+    fprintf(stderr, "condition (%s) failed at %s:%d\n", \
+            #A, __FILE__, __LINE__); \
+    exit(1); } \
+  } while (0)
+
+#endif  /* VBOOT_REFERENCE_CGPT_H_ */
diff --git a/cgpt/cgpt_add.c b/cgpt/cgpt_add.c
new file mode 100644 (file)
index 0000000..9267755
--- /dev/null
@@ -0,0 +1,308 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <stdio.h>
+#include <string.h>
+
+#include "cgpt.h"
+#include "cgptlib_internal.h"
+#include "cgpt_params.h"
+#include "vboot_host.h"
+
+static void PrintCgptAddParams(const CgptAddParams *params) {
+  char tmp[64];
+
+  fprintf(stderr, "-i %d ", params->partition);
+  if (params->label)
+    fprintf(stderr, "-l %s ", params->label);
+  if (params->set_begin)
+    fprintf(stderr, "-b %llu ", (unsigned long long)params->begin);
+  if (params->set_size)
+    fprintf(stderr, "-s %llu ", (unsigned long long)params->size);
+  if (params->set_type) {
+    GuidToStr(&params->type_guid, tmp, sizeof(tmp));
+    fprintf(stderr, "-t %s ", tmp);
+  }
+  if (params->set_unique) {
+    GuidToStr(&params->unique_guid, tmp, sizeof(tmp));
+    fprintf(stderr, "-u %s ", tmp);
+  }
+  if (params->set_successful)
+    fprintf(stderr, "-S %d ", params->successful);
+  if (params->set_tries)
+    fprintf(stderr, "-T %d ", params->tries);
+  if (params->set_priority)
+    fprintf(stderr, "-P %d ", params->priority);
+  if (params->set_required)
+    fprintf(stderr, "-R %d ", params->required);
+  if (params->set_legacy_boot)
+    fprintf(stderr, "-B %d ", params->legacy_boot);
+  if (params->set_raw)
+    fprintf(stderr, "-A %#x ", params->raw_value);
+
+  fprintf(stderr, "\n");
+}
+
+// This is the implementation-specific helper function.
+static int GptSetEntryAttributes(struct drive *drive,
+                                 uint32_t index,
+                                 CgptAddParams *params) {
+  GptEntry *entry;
+
+  entry = GetEntry(&drive->gpt, PRIMARY, index);
+  if (params->set_begin)
+    entry->starting_lba = params->begin;
+  if (params->set_size)
+    entry->ending_lba = entry->starting_lba + params->size - 1;
+  if (params->set_unique) {
+    memcpy(&entry->unique, &params->unique_guid, sizeof(Guid));
+  } else if (GuidIsZero(&entry->type)) {
+         if (CGPT_OK != GenerateGuid(&entry->unique)) {
+                 Error("Unable to generate new GUID.\n");
+                 return -1;
+    }
+  }
+  if (params->set_type)
+    memcpy(&entry->type, &params->type_guid, sizeof(Guid));
+  if (params->label) {
+    if (CGPT_OK != UTF8ToUTF16((const uint8_t *)params->label, entry->name,
+                               sizeof(entry->name) / sizeof(entry->name[0]))) {
+      Error("The label cannot be converted to UTF16.\n");
+      return -1;
+    }
+  }
+  return 0;
+}
+
+// This is an internal helper function which assumes no NULL args are passed.
+// It sets the given attribute values for a single entry at the given index.
+static int SetEntryAttributes(struct drive *drive,
+                              uint32_t index,
+                              CgptAddParams *params) {
+  if (params->set_raw) {
+    SetRaw(drive, PRIMARY, index, params->raw_value);
+  } else {
+    if (params->set_successful)
+      SetSuccessful(drive, PRIMARY, index, params->successful);
+    if (params->set_tries)
+      SetTries(drive, PRIMARY, index, params->tries);
+    if (params->set_priority)
+      SetPriority(drive, PRIMARY, index, params->priority);
+    if (params->set_legacy_boot)
+      SetLegacyBoot(drive, PRIMARY, index, params->legacy_boot);
+    if (params->set_required)
+      SetRequired(drive, PRIMARY, index, params->required);
+  }
+
+  // New partitions must specify type, begin, and size.
+  if (IsUnused(drive, PRIMARY, index)) {
+    if (!params->set_begin || !params->set_size || !params->set_type) {
+      Error("-t, -b, and -s options are required for new partitions\n");
+      return -1;
+    }
+    if (GuidIsZero(&params->type_guid)) {
+      Error("New partitions must have a type other than \"unused\"\n");
+      return -1;
+    }
+  }
+
+  return 0;
+}
+
+static int CgptCheckAddValidity(struct drive *drive) {
+  int gpt_retval;
+  if (GPT_SUCCESS != (gpt_retval = GptValidityCheck(&drive->gpt))) {
+    Error("GptValidityCheck() returned %d: %s\n",
+          gpt_retval, GptError(gpt_retval));
+    return -1;
+  }
+
+  if (CGPT_OK != CheckValid(drive)) {
+    Error("please run 'cgpt repair' before adding anything.\n");
+    return -1;
+  }
+
+  return 0;
+}
+
+static int CgptGetUnusedPartition(struct drive *drive, uint32_t *index,
+                                  CgptAddParams *params) {
+  uint32_t i;
+  uint32_t max_part = GetNumberOfEntries(drive);
+  if (params->partition) {
+    if (params->partition > max_part) {
+      Error("invalid partition number: %d\n", params->partition);
+      return -1;
+    }
+    *index = params->partition - 1;
+    return 0;
+  } else {
+    // Find next empty partition.
+    for (i = 0; i < max_part; i++) {
+      if (IsUnused(drive, PRIMARY, i)) {
+        params->partition = i + 1;
+        *index = i;
+        return 0;
+      }
+    }
+    Error("no unused partitions available\n");
+    return -1;
+  }
+}
+
+int CgptSetAttributes(CgptAddParams *params) {
+  struct drive drive;
+
+  if (params == NULL)
+    return CGPT_FAILED;
+
+  if (CGPT_OK != DriveOpen(params->drive_name, &drive, O_RDWR,
+                           params->drive_size))
+    return CGPT_FAILED;
+
+  if (CgptCheckAddValidity(&drive)) {
+    goto bad;
+  }
+
+  if (params->partition == 0 ||
+      params->partition >= GetNumberOfEntries(&drive)) {
+    Error("invalid partition number: %d\n", params->partition);
+    goto bad;
+  }
+
+  SetEntryAttributes(&drive, params->partition - 1, params);
+
+  UpdateAllEntries(&drive);
+
+  // Write it all out.
+  return DriveClose(&drive, 1);
+
+bad:
+  DriveClose(&drive, 0);
+  return CGPT_FAILED;
+}
+
+// This method gets the partition details such as the attributes, the
+// guids of the partitions, etc. Input is the partition number or the
+// unique id of the partition. Output is populated in the respective
+// fields of params.
+int CgptGetPartitionDetails(CgptAddParams *params) {
+  struct drive drive;
+  int result = CGPT_FAILED;
+  int index;
+
+  if (params == NULL)
+    return CGPT_FAILED;
+
+  if (CGPT_OK != DriveOpen(params->drive_name, &drive, O_RDWR,
+                           params->drive_size))
+    return CGPT_FAILED;
+
+  if (CgptCheckAddValidity(&drive)) {
+    goto bad;
+  }
+
+  int max_part = GetNumberOfEntries(&drive);
+  if (params->partition > 0) {
+    if (params->partition >= max_part) {
+      Error("invalid partition number: %d\n", params->partition);
+      goto bad;
+    }
+  } else {
+    if (!params->set_unique) {
+      Error("either partition or unique_id must be specified\n");
+      goto bad;
+    }
+    for (index = 0; index < max_part; index++) {
+      GptEntry *entry = GetEntry(&drive.gpt, PRIMARY, index);
+      if (GuidEqual(&entry->unique, &params->unique_guid)) {
+        params->partition = index + 1;
+        break;
+      }
+    }
+    if (index >= max_part) {
+      Error("no partitions with the given unique id available\n");
+      goto bad;
+    }
+  }
+  index = params->partition - 1;
+
+  // GPT-specific code
+  GptEntry *entry = GetEntry(&drive.gpt, PRIMARY, index);
+  params->begin = entry->starting_lba;
+  params->size =  entry->ending_lba - entry->starting_lba + 1;
+  memcpy(&params->type_guid, &entry->type, sizeof(Guid));
+  memcpy(&params->unique_guid, &entry->unique, sizeof(Guid));
+  params->raw_value = entry->attrs.fields.gpt_att;
+
+  params->successful = GetSuccessful(&drive, PRIMARY, index);
+  params->tries = GetTries(&drive, PRIMARY, index);
+  params->priority = GetPriority(&drive, PRIMARY, index);
+  result = CGPT_OK;
+
+bad:
+  DriveClose(&drive, 0);
+  return result;
+}
+
+static int GptAdd(struct drive *drive, CgptAddParams *params, uint32_t index) {
+  GptEntry *entry, backup;
+  int rv;
+
+  entry = GetEntry(&drive->gpt, PRIMARY, index);
+  memcpy(&backup, entry, sizeof(backup));
+
+  if (SetEntryAttributes(drive, index, params) ||
+      GptSetEntryAttributes(drive, index, params)) {
+    memcpy(entry, &backup, sizeof(*entry));
+    return -1;
+  }
+
+  UpdateAllEntries(drive);
+
+  rv = CheckEntries((GptEntry*)drive->gpt.primary_entries,
+                    (GptHeader*)drive->gpt.primary_header);
+
+  if (0 != rv) {
+    // If the modified entry is illegal, recover it and return error.
+    memcpy(entry, &backup, sizeof(*entry));
+    Error("%s\n", GptErrorText(rv));
+    Error("");
+    PrintCgptAddParams(params);
+    return -1;
+  }
+
+  return 0;
+}
+
+int CgptAdd(CgptAddParams *params) {
+  struct drive drive;
+  uint32_t index;
+
+  if (params == NULL)
+    return CGPT_FAILED;
+
+  if (CGPT_OK != DriveOpen(params->drive_name, &drive, O_RDWR,
+                           params->drive_size))
+    return CGPT_FAILED;
+
+  if (CgptCheckAddValidity(&drive)) {
+    goto bad;
+  }
+
+  if (CgptGetUnusedPartition(&drive, &index, params)) {
+    goto bad;
+  }
+
+  if (GptAdd(&drive, params, index))
+    goto bad;
+
+  // Write it all out.
+  return DriveClose(&drive, 1);
+
+bad:
+  DriveClose(&drive, 0);
+  return CGPT_FAILED;
+}
diff --git a/cgpt/cgpt_boot.c b/cgpt/cgpt_boot.c
new file mode 100644 (file)
index 0000000..d82720e
--- /dev/null
@@ -0,0 +1,153 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "cgpt.h"
+#include "cgptlib_internal.h"
+#include "cgpt_params.h"
+#include "vboot_host.h"
+
+int CgptGetBootPartitionNumber(CgptBootParams *params) {
+  struct drive drive;
+  int gpt_retval= 0;
+  int retval;
+
+  if (params == NULL)
+    return CGPT_FAILED;
+
+  if (CGPT_OK != DriveOpen(params->drive_name, &drive, O_RDONLY,
+                           params->drive_size))
+    return CGPT_FAILED;
+
+  if (GPT_SUCCESS != (gpt_retval = GptValidityCheck(&drive.gpt))) {
+    Error("GptValidityCheck() returned %d: %s\n",
+          gpt_retval, GptError(gpt_retval));
+    retval = CGPT_FAILED;
+    goto done;
+  }
+
+  if (CGPT_OK != ReadPMBR(&drive)) {
+    Error("Unable to read PMBR\n");
+    retval = CGPT_FAILED;
+    goto done;
+  }
+
+  char buf[GUID_STRLEN];
+  GuidToStr(&drive.pmbr.boot_guid, buf, sizeof(buf));
+
+  int numEntries = GetNumberOfEntries(&drive);
+  int i;
+  for(i = 0; i < numEntries; i++) {
+      GptEntry *entry = GetEntry(&drive.gpt, ANY_VALID, i);
+
+      if (GuidEqual(&entry->unique, &drive.pmbr.boot_guid)) {
+        params->partition = i + 1;
+        retval = CGPT_OK;
+        goto done;
+      }
+  }
+
+  Error("Didn't find any boot partition\n");
+  params->partition = 0;
+  retval = CGPT_FAILED;
+
+done:
+  (void) DriveClose(&drive, 1);
+  return retval;
+}
+
+
+int CgptBoot(CgptBootParams *params) {
+  struct drive drive;
+  int retval = 1;
+  int gpt_retval= 0;
+  int mode = O_RDONLY;
+
+  if (params == NULL)
+    return CGPT_FAILED;
+
+  if (params->create_pmbr || params->partition || params->bootfile)
+    mode = O_RDWR;
+
+  if (CGPT_OK != DriveOpen(params->drive_name, &drive, mode,
+                           params->drive_size)) {
+    return CGPT_FAILED;
+  }
+
+  if (CGPT_OK != ReadPMBR(&drive)) {
+    Error("Unable to read PMBR\n");
+    goto done;
+  }
+
+  if (params->create_pmbr) {
+    drive.pmbr.magic[0] = 0x1d;
+    drive.pmbr.magic[1] = 0x9a;
+    drive.pmbr.sig[0] = 0x55;
+    drive.pmbr.sig[1] = 0xaa;
+    memset(&drive.pmbr.part, 0, sizeof(drive.pmbr.part));
+    drive.pmbr.part[0].f_head = 0x00;
+    drive.pmbr.part[0].f_sect = 0x02;
+    drive.pmbr.part[0].f_cyl = 0x00;
+    drive.pmbr.part[0].type = 0xee;
+    drive.pmbr.part[0].l_head = 0xff;
+    drive.pmbr.part[0].l_sect = 0xff;
+    drive.pmbr.part[0].l_cyl = 0xff;
+    drive.pmbr.part[0].f_lba = htole32(1);
+    uint32_t max = 0xffffffff;
+    if (drive.gpt.streaming_drive_sectors < 0xffffffff)
+      max = drive.gpt.streaming_drive_sectors - 1;
+    drive.pmbr.part[0].num_sect = htole32(max);
+  }
+
+  if (params->partition) {
+    if (GPT_SUCCESS != (gpt_retval = GptValidityCheck(&drive.gpt))) {
+      Error("GptValidityCheck() returned %d: %s\n",
+            gpt_retval, GptError(gpt_retval));
+      goto done;
+    }
+
+    if (params->partition > GetNumberOfEntries(&drive)) {
+      Error("invalid partition number: %d\n", params->partition);
+      goto done;
+    }
+
+    uint32_t index = params->partition - 1;
+    GptEntry *entry = GetEntry(&drive.gpt, ANY_VALID, index);
+    memcpy(&drive.pmbr.boot_guid, &entry->unique, sizeof(Guid));
+  }
+
+  if (params->bootfile) {
+    int fd = open(params->bootfile, O_RDONLY);
+    if (fd < 0) {
+      Error("Can't read %s: %s\n", params->bootfile, strerror(errno));
+      goto done;
+    }
+
+    int n = read(fd, drive.pmbr.bootcode, sizeof(drive.pmbr.bootcode));
+    if (n < 1) {
+      Error("problem reading %s: %s\n", params->bootfile, strerror(errno));
+      close(fd);
+      goto done;
+    }
+
+    close(fd);
+  }
+
+  char buf[GUID_STRLEN];
+  GuidToStr(&drive.pmbr.boot_guid, buf, sizeof(buf));
+  printf("%s\n", buf);
+
+  // Write it all out, if needed.
+  if (mode == O_RDONLY || CGPT_OK == WritePMBR(&drive))
+    retval = 0;
+
+done:
+  (void) DriveClose(&drive, 1);
+  return retval;
+}
diff --git a/cgpt/cgpt_common.c b/cgpt/cgpt_common.c
new file mode 100644 (file)
index 0000000..2f888fd
--- /dev/null
@@ -0,0 +1,1103 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Utility for ChromeOS-specific GPT partitions, Please see corresponding .c
+ * files for more details.
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
+#include <linux/major.h>
+#include <mtd/mtd-user.h>
+#endif
+#include <stdarg.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/mount.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "cgpt.h"
+#include "cgptlib_internal.h"
+#include "crc32.h"
+#include "vboot_host.h"
+
+static const char kErrorTag[] = "ERROR";
+static const char kWarningTag[] = "WARNING";
+
+static void LogToStderr(const char *tag, const char *format, va_list ap) {
+  fprintf(stderr, "%s: ", tag);
+  vfprintf(stderr, format, ap);
+}
+
+void Error(const char *format, ...) {
+  va_list ap;
+  va_start(ap, format);
+  LogToStderr(kErrorTag, format, ap);
+  va_end(ap);
+}
+
+void Warning(const char *format, ...) {
+  va_list ap;
+  va_start(ap, format);
+  LogToStderr(kWarningTag, format, ap);
+  va_end(ap);
+}
+
+int check_int_parse(char option, const char *buf) {
+  if (!*optarg || (buf && *buf)) {
+    Error("invalid argument to -%c: \"%s\"\n", option, optarg);
+    return 1;
+  }
+  return 0;
+}
+
+int check_int_limit(char option, int val, int low, int high) {
+  if (val < low || val > high) {
+    Error("value for -%c must be between %d and %d", option, low, high);
+    return 1;
+  }
+  return 0;
+}
+
+int CheckValid(const struct drive *drive) {
+  if ((drive->gpt.valid_headers != MASK_BOTH) ||
+      (drive->gpt.valid_entries != MASK_BOTH)) {
+    Warning("One of the GPT headers/entries is invalid\n\n");
+    return CGPT_FAILED;
+  }
+  return CGPT_OK;
+}
+
+int Load(struct drive *drive, uint8_t *buf,
+                const uint64_t sector,
+                const uint64_t sector_bytes,
+                const uint64_t sector_count) {
+  int count;  /* byte count to read */
+  int nread;
+
+  require(buf);
+  if (!sector_count || !sector_bytes) {
+    Error("%s() failed at line %d: sector_count=%" PRIu64 ", sector_bytes=%" PRIu64 "\n",
+          __FUNCTION__, __LINE__, sector_count, sector_bytes);
+    return CGPT_FAILED;
+  }
+  /* Make sure that sector_bytes * sector_count doesn't roll over. */
+  if (sector_bytes > (UINT64_MAX / sector_count)) {
+    Error("%s() failed at line %d: sector_count=%" PRIu64 ", sector_bytes=%" PRIu64 "\n",
+          __FUNCTION__, __LINE__, sector_count, sector_bytes);
+    return CGPT_FAILED;
+  }
+  count = sector_bytes * sector_count;
+
+  if (-1 == lseek(drive->fd, sector * sector_bytes, SEEK_SET)) {
+    Error("Can't seek: %s\n", strerror(errno));
+    return CGPT_FAILED;
+  }
+
+  nread = read(drive->fd, buf, count);
+  if (nread < count) {
+    Error("Can't read enough: %d, not %d\n", nread, count);
+    return CGPT_FAILED;
+  }
+
+  return CGPT_OK;
+}
+
+
+int ReadPMBR(struct drive *drive) {
+  if (-1 == lseek(drive->fd, 0, SEEK_SET))
+    return CGPT_FAILED;
+
+  int nread = read(drive->fd, &drive->pmbr, sizeof(struct pmbr));
+  if (nread != sizeof(struct pmbr))
+    return CGPT_FAILED;
+
+  return CGPT_OK;
+}
+
+int WritePMBR(struct drive *drive) {
+  if (-1 == lseek(drive->fd, 0, SEEK_SET))
+    return CGPT_FAILED;
+
+  int nwrote = write(drive->fd, &drive->pmbr, sizeof(struct pmbr));
+  if (nwrote != sizeof(struct pmbr))
+    return CGPT_FAILED;
+
+  return CGPT_OK;
+}
+
+int Save(struct drive *drive, const uint8_t *buf,
+                const uint64_t sector,
+                const uint64_t sector_bytes,
+                const uint64_t sector_count) {
+  int count;  /* byte count to write */
+  int nwrote;
+
+  require(buf);
+  count = sector_bytes * sector_count;
+
+  if (-1 == lseek(drive->fd, sector * sector_bytes, SEEK_SET))
+    return CGPT_FAILED;
+
+  nwrote = write(drive->fd, buf, count);
+  if (nwrote < count)
+    return CGPT_FAILED;
+
+  return CGPT_OK;
+}
+
+static int GptLoad(struct drive *drive, uint32_t sector_bytes) {
+  drive->gpt.sector_bytes = sector_bytes;
+  if (drive->size % drive->gpt.sector_bytes) {
+    Error("Media size (%llu) is not a multiple of sector size(%d)\n",
+          (long long unsigned int)drive->size, drive->gpt.sector_bytes);
+    return -1;
+  }
+  drive->gpt.streaming_drive_sectors = drive->size / drive->gpt.sector_bytes;
+
+  drive->gpt.primary_header = malloc(drive->gpt.sector_bytes);
+  drive->gpt.secondary_header = malloc(drive->gpt.sector_bytes);
+  drive->gpt.primary_entries = malloc(GPT_ENTRIES_ALLOC_SIZE);
+  drive->gpt.secondary_entries = malloc(GPT_ENTRIES_ALLOC_SIZE);
+  if (!drive->gpt.primary_header || !drive->gpt.secondary_header ||
+      !drive->gpt.primary_entries || !drive->gpt.secondary_entries)
+    return -1;
+
+  /* TODO(namnguyen): Remove this and totally trust gpt_drive_sectors. */
+  if (!(drive->gpt.flags & GPT_FLAG_EXTERNAL)) {
+    drive->gpt.gpt_drive_sectors = drive->gpt.streaming_drive_sectors;
+  } /* Else, we trust gpt.gpt_drive_sectors. */
+
+  // Read the data.
+  if (CGPT_OK != Load(drive, drive->gpt.primary_header,
+                      GPT_PMBR_SECTORS,
+                      drive->gpt.sector_bytes, GPT_HEADER_SECTORS)) {
+    Error("Cannot read primary GPT header\n");
+    return -1;
+  }
+  if (CGPT_OK != Load(drive, drive->gpt.secondary_header,
+                      drive->gpt.gpt_drive_sectors - GPT_PMBR_SECTORS,
+                      drive->gpt.sector_bytes, GPT_HEADER_SECTORS)) {
+    Error("Cannot read secondary GPT header\n");
+    return -1;
+  }
+  GptHeader* primary_header = (GptHeader*)drive->gpt.primary_header;
+  if (CheckHeader(primary_header, 0, drive->gpt.streaming_drive_sectors,
+                  drive->gpt.gpt_drive_sectors,
+                  drive->gpt.flags,
+                  drive->gpt.sector_bytes) == 0) {
+    if (CGPT_OK != Load(drive, drive->gpt.primary_entries,
+                        primary_header->entries_lba,
+                        drive->gpt.sector_bytes,
+                        CalculateEntriesSectors(primary_header,
+                          drive->gpt.sector_bytes))) {
+      Error("Cannot read primary partition entry array\n");
+      return -1;
+    }
+  } else {
+    Warning("Primary GPT header is %s\n",
+      memcmp(primary_header->signature, GPT_HEADER_SIGNATURE_IGNORED,
+             GPT_HEADER_SIGNATURE_SIZE) ? "invalid" : "being ignored");
+  }
+  GptHeader* secondary_header = (GptHeader*)drive->gpt.secondary_header;
+  if (CheckHeader(secondary_header, 1, drive->gpt.streaming_drive_sectors,
+                  drive->gpt.gpt_drive_sectors,
+                  drive->gpt.flags,
+                  drive->gpt.sector_bytes) == 0) {
+    if (CGPT_OK != Load(drive, drive->gpt.secondary_entries,
+                        secondary_header->entries_lba,
+                        drive->gpt.sector_bytes,
+                        CalculateEntriesSectors(secondary_header,
+                          drive->gpt.sector_bytes))) {
+      Error("Cannot read secondary partition entry array\n");
+      return -1;
+    }
+  } else {
+    Warning("Secondary GPT header is %s\n",
+      memcmp(primary_header->signature, GPT_HEADER_SIGNATURE_IGNORED,
+             GPT_HEADER_SIGNATURE_SIZE) ? "invalid" : "being ignored");
+  }
+  return 0;
+}
+
+static int GptSave(struct drive *drive) {
+  int errors = 0;
+
+  if (!(drive->gpt.ignored & MASK_PRIMARY)) {
+    if (drive->gpt.modified & GPT_MODIFIED_HEADER1) {
+      if (CGPT_OK != Save(drive, drive->gpt.primary_header,
+                          GPT_PMBR_SECTORS,
+                          drive->gpt.sector_bytes, GPT_HEADER_SECTORS)) {
+        errors++;
+        Error("Cannot write primary header: %s\n", strerror(errno));
+      }
+    }
+    GptHeader* primary_header = (GptHeader*)drive->gpt.primary_header;
+    if (drive->gpt.modified & GPT_MODIFIED_ENTRIES1) {
+      if (CGPT_OK != Save(drive, drive->gpt.primary_entries,
+                          primary_header->entries_lba,
+                          drive->gpt.sector_bytes,
+                          CalculateEntriesSectors(primary_header,
+                            drive->gpt.sector_bytes))) {
+        errors++;
+        Error("Cannot write primary entries: %s\n", strerror(errno));
+      }
+    }
+
+    // Sync primary GPT before touching secondary so one is always valid.
+    if (drive->gpt.modified & (GPT_MODIFIED_HEADER1 | GPT_MODIFIED_ENTRIES1))
+      if (fsync(drive->fd) < 0 && errno == EIO) {
+        errors++;
+        Error("I/O error when trying to write primary GPT\n");
+      }
+  }
+
+  // Only start writing secondary GPT if primary was written correctly.
+  if (!errors && !(drive->gpt.ignored & MASK_SECONDARY)) {
+    if (drive->gpt.modified & GPT_MODIFIED_HEADER2) {
+      if(CGPT_OK != Save(drive, drive->gpt.secondary_header,
+                         drive->gpt.gpt_drive_sectors - GPT_PMBR_SECTORS,
+                         drive->gpt.sector_bytes, GPT_HEADER_SECTORS)) {
+        errors++;
+        Error("Cannot write secondary header: %s\n", strerror(errno));
+      }
+    }
+    GptHeader* secondary_header = (GptHeader*)drive->gpt.secondary_header;
+    if (drive->gpt.modified & GPT_MODIFIED_ENTRIES2) {
+      if (CGPT_OK != Save(drive, drive->gpt.secondary_entries,
+                          secondary_header->entries_lba,
+                          drive->gpt.sector_bytes,
+                          CalculateEntriesSectors(secondary_header,
+                            drive->gpt.sector_bytes))) {
+        errors++;
+        Error("Cannot write secondary entries: %s\n", strerror(errno));
+      }
+    }
+  }
+
+  return errors ? -1 : 0;
+}
+
+/*
+ * Query drive size and bytes per sector. Return zero on success. On error,
+ * -1 is returned and errno is set appropriately.
+ */
+static int ObtainDriveSize(int fd, uint64_t* size, uint32_t* sector_bytes) {
+  struct stat stat;
+  if (fstat(fd, &stat) == -1) {
+    return -1;
+  }
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
+  if ((stat.st_mode & S_IFMT) != S_IFREG) {
+    if (ioctl(fd, BLKGETSIZE64, size) < 0) {
+      return -1;
+    }
+    if (ioctl(fd, BLKSSZGET, sector_bytes) < 0) {
+      return -1;
+    }
+  } else {
+    *sector_bytes = 512;  /* bytes */
+    *size = stat.st_size;
+  }
+#else
+  *sector_bytes = 512;  /* bytes */
+  *size = stat.st_size;
+#endif
+  return 0;
+}
+
+int DriveOpen(const char *drive_path, struct drive *drive, int mode,
+              uint64_t drive_size) {
+  uint32_t sector_bytes;
+
+  require(drive_path);
+  require(drive);
+
+  // Clear struct for proper error handling.
+  memset(drive, 0, sizeof(struct drive));
+
+  drive->fd = open(drive_path, mode |
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
+                              O_LARGEFILE |
+#endif
+                              O_NOFOLLOW);
+  if (drive->fd == -1) {
+    Error("Can't open %s: %s\n", drive_path, strerror(errno));
+    return CGPT_FAILED;
+  }
+
+  uint64_t gpt_drive_size;
+  if (ObtainDriveSize(drive->fd, &gpt_drive_size, &sector_bytes) != 0) {
+    Error("Can't get drive size and bytes per sector for %s: %s\n",
+          drive_path, strerror(errno));
+    goto error_close;
+  }
+
+  drive->gpt.gpt_drive_sectors = gpt_drive_size / sector_bytes;
+  if (drive_size == 0) {
+    drive->size = gpt_drive_size;
+    drive->gpt.flags = 0;
+  } else {
+    drive->size = drive_size;
+    drive->gpt.flags = GPT_FLAG_EXTERNAL;
+  }
+
+
+  if (GptLoad(drive, sector_bytes)) {
+    goto error_close;
+  }
+
+  // We just load the data. Caller must validate it.
+  return CGPT_OK;
+
+error_close:
+  (void) DriveClose(drive, 0);
+  return CGPT_FAILED;
+}
+
+
+int DriveClose(struct drive *drive, int update_as_needed) {
+  int errors = 0;
+
+  if (update_as_needed) {
+    if (GptSave(drive)) {
+        errors++;
+    }
+  }
+
+  free(drive->gpt.primary_header);
+  drive->gpt.primary_header = NULL;
+  free(drive->gpt.primary_entries);
+  drive->gpt.primary_entries = NULL;
+  free(drive->gpt.secondary_header);
+  drive->gpt.secondary_header = NULL;
+  free(drive->gpt.secondary_entries);
+  drive->gpt.secondary_entries = NULL;
+
+  // Sync early! Only sync file descriptor here, and leave the whole system sync
+  // outside cgpt because whole system sync would trigger tons of disk accesses
+  // and timeout tests.
+  fsync(drive->fd);
+
+  close(drive->fd);
+
+  return errors ? CGPT_FAILED : CGPT_OK;
+}
+
+
+/* GUID conversion functions. Accepted format:
+ *
+ *   "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"
+ *
+ * Returns CGPT_OK if parsing is successful; otherwise CGPT_FAILED.
+ */
+int StrToGuid(const char *str, Guid *guid) {
+  uint32_t time_low;
+  uint16_t time_mid;
+  uint16_t time_high_and_version;
+  unsigned int chunk[11];
+
+  if (11 != sscanf(str, "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X",
+                   chunk+0,
+                   chunk+1,
+                   chunk+2,
+                   chunk+3,
+                   chunk+4,
+                   chunk+5,
+                   chunk+6,
+                   chunk+7,
+                   chunk+8,
+                   chunk+9,
+                   chunk+10)) {
+    printf("FAILED\n");
+    return CGPT_FAILED;
+  }
+
+  time_low = chunk[0] & 0xffffffff;
+  time_mid = chunk[1] & 0xffff;
+  time_high_and_version = chunk[2] & 0xffff;
+
+  guid->u.Uuid.time_low = htole32(time_low);
+  guid->u.Uuid.time_mid = htole16(time_mid);
+  guid->u.Uuid.time_high_and_version = htole16(time_high_and_version);
+
+  guid->u.Uuid.clock_seq_high_and_reserved = chunk[3] & 0xff;
+  guid->u.Uuid.clock_seq_low = chunk[4] & 0xff;
+  guid->u.Uuid.node[0] = chunk[5] & 0xff;
+  guid->u.Uuid.node[1] = chunk[6] & 0xff;
+  guid->u.Uuid.node[2] = chunk[7] & 0xff;
+  guid->u.Uuid.node[3] = chunk[8] & 0xff;
+  guid->u.Uuid.node[4] = chunk[9] & 0xff;
+  guid->u.Uuid.node[5] = chunk[10] & 0xff;
+
+  return CGPT_OK;
+}
+void GuidToStr(const Guid *guid, char *str, unsigned int buflen) {
+  require(buflen >= GUID_STRLEN);
+  require(snprintf(str, buflen,
+                  "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X",
+                  le32toh(guid->u.Uuid.time_low),
+                  le16toh(guid->u.Uuid.time_mid),
+                  le16toh(guid->u.Uuid.time_high_and_version),
+                  guid->u.Uuid.clock_seq_high_and_reserved,
+                  guid->u.Uuid.clock_seq_low,
+                  guid->u.Uuid.node[0], guid->u.Uuid.node[1],
+                  guid->u.Uuid.node[2], guid->u.Uuid.node[3],
+                  guid->u.Uuid.node[4], guid->u.Uuid.node[5]) == GUID_STRLEN-1);
+}
+
+/* Convert possibly unterminated UTF16 string to UTF8.
+ * Caller must prepare enough space for UTF8, which could be up to
+ * twice the byte length of UTF16 string plus the terminating '\0'.
+ * See the following table for encoding lengths.
+ *
+ *     Code point       UTF16       UTF8
+ *   0x0000-0x007F     2 bytes     1 byte
+ *   0x0080-0x07FF     2 bytes     2 bytes
+ *   0x0800-0xFFFF     2 bytes     3 bytes
+ *  0x10000-0x10FFFF   4 bytes     4 bytes
+ *
+ * This function uses a simple state meachine to convert UTF-16 char(s) to
+ * a code point. Once a code point is parsed out, the state machine throws
+ * out sequencial UTF-8 chars in one time.
+ *
+ * Return: CGPT_OK --- all character are converted successfully.
+ *         CGPT_FAILED --- convert error, i.e. output buffer is too short.
+ */
+int UTF16ToUTF8(const uint16_t *utf16, unsigned int maxinput,
+                uint8_t *utf8, unsigned int maxoutput)
+{
+  size_t s16idx, s8idx;
+  uint32_t code_point = 0;
+  int code_point_ready = 1;  // code point is ready to output.
+  int retval = CGPT_OK;
+
+  if (!utf16 || !maxinput || !utf8 || !maxoutput)
+    return CGPT_FAILED;
+
+  maxoutput--;                             /* plan for termination now */
+
+  for (s16idx = s8idx = 0;
+       s16idx < maxinput && utf16[s16idx] && maxoutput;
+       s16idx++) {
+    uint16_t codeunit = le16toh(utf16[s16idx]);
+
+    if (code_point_ready) {
+      if (codeunit >= 0xD800 && codeunit <= 0xDBFF) {
+        /* high surrogate, need the low surrogate. */
+        code_point_ready = 0;
+        code_point = (codeunit & 0x03FF) + 0x0040;
+      } else {
+        /* BMP char, output it. */
+        code_point = codeunit;
+      }
+    } else {
+      /* expect the low surrogate */
+      if (codeunit >= 0xDC00 && codeunit <= 0xDFFF) {
+        code_point = (code_point << 10) | (codeunit & 0x03FF);
+        code_point_ready = 1;
+      } else {
+        /* the second code unit is NOT the low surrogate. Unexpected. */
+        code_point_ready = 0;
+        retval = CGPT_FAILED;
+        break;
+      }
+    }
+
+    /* If UTF code point is ready, output it. */
+    if (code_point_ready) {
+      require(code_point <= 0x10FFFF);
+      if (code_point <= 0x7F && maxoutput >= 1) {
+        maxoutput -= 1;
+        utf8[s8idx++] = code_point & 0x7F;
+      } else if (code_point <= 0x7FF && maxoutput >= 2) {
+        maxoutput -= 2;
+        utf8[s8idx++] = 0xC0 | (code_point >> 6);
+        utf8[s8idx++] = 0x80 | (code_point & 0x3F);
+      } else if (code_point <= 0xFFFF && maxoutput >= 3) {
+        maxoutput -= 3;
+        utf8[s8idx++] = 0xE0 | (code_point >> 12);
+        utf8[s8idx++] = 0x80 | ((code_point >> 6) & 0x3F);
+        utf8[s8idx++] = 0x80 | (code_point & 0x3F);
+      } else if (code_point <= 0x10FFFF && maxoutput >= 4) {
+        maxoutput -= 4;
+        utf8[s8idx++] = 0xF0 | (code_point >> 18);
+        utf8[s8idx++] = 0x80 | ((code_point >> 12) & 0x3F);
+        utf8[s8idx++] = 0x80 | ((code_point >> 6) & 0x3F);
+        utf8[s8idx++] = 0x80 | (code_point & 0x3F);
+      } else {
+        /* buffer underrun */
+        retval = CGPT_FAILED;
+        break;
+      }
+    }
+  }
+  utf8[s8idx++] = 0;
+  return retval;
+}
+
+/* Convert UTF8 string to UTF16. The UTF8 string must be null-terminated.
+ * Caller must prepare enough space for UTF16, including a terminating 0x0000.
+ * See the following table for encoding lengths. In any case, the caller
+ * just needs to prepare the byte length of UTF8 plus the terminating 0x0000.
+ *
+ *     Code point       UTF16       UTF8
+ *   0x0000-0x007F     2 bytes     1 byte
+ *   0x0080-0x07FF     2 bytes     2 bytes
+ *   0x0800-0xFFFF     2 bytes     3 bytes
+ *  0x10000-0x10FFFF   4 bytes     4 bytes
+ *
+ * This function converts UTF8 chars to a code point first. Then, convrts it
+ * to UTF16 code unit(s).
+ *
+ * Return: CGPT_OK --- all character are converted successfully.
+ *         CGPT_FAILED --- convert error, i.e. output buffer is too short.
+ */
+int UTF8ToUTF16(const uint8_t *utf8, uint16_t *utf16, unsigned int maxoutput)
+{
+  size_t s16idx, s8idx;
+  uint32_t code_point = 0;
+  unsigned int expected_units = 1;
+  unsigned int decoded_units = 1;
+  int retval = CGPT_OK;
+
+  if (!utf8 || !utf16 || !maxoutput)
+    return CGPT_FAILED;
+
+  maxoutput--;                             /* plan for termination */
+
+  for (s8idx = s16idx = 0;
+       utf8[s8idx] && maxoutput;
+       s8idx++) {
+    uint8_t code_unit;
+    code_unit = utf8[s8idx];
+
+    if (expected_units != decoded_units) {
+      /* Trailing bytes of multi-byte character */
+      if ((code_unit & 0xC0) == 0x80) {
+        code_point = (code_point << 6) | (code_unit & 0x3F);
+        ++decoded_units;
+      } else {
+        /* Unexpected code unit. */
+        retval = CGPT_FAILED;
+        break;
+      }
+    } else {
+      /* parsing a new code point. */
+      decoded_units = 1;
+      if (code_unit <= 0x7F) {
+        code_point = code_unit;
+        expected_units = 1;
+      } else if (code_unit <= 0xBF) {
+        /* 0x80-0xBF must NOT be the heading byte unit of a new code point. */
+        retval = CGPT_FAILED;
+        break;
+      } else if (code_unit >= 0xC2 && code_unit <= 0xDF) {
+        code_point = code_unit & 0x1F;
+        expected_units = 2;
+      } else if (code_unit >= 0xE0 && code_unit <= 0xEF) {
+        code_point = code_unit & 0x0F;
+        expected_units = 3;
+      } else if (code_unit >= 0xF0 && code_unit <= 0xF4) {
+        code_point = code_unit & 0x07;
+        expected_units = 4;
+      } else {
+        /* illegal code unit: 0xC0-0xC1, 0xF5-0xFF */
+        retval = CGPT_FAILED;
+        break;
+      }
+    }
+
+    /* If no more unit is needed, output the UTF16 unit(s). */
+    if ((retval == CGPT_OK) &&
+        (expected_units == decoded_units)) {
+      /* Check if the encoding is the shortest possible UTF-8 sequence. */
+      switch (expected_units) {
+        case 2:
+          if (code_point <= 0x7F) retval = CGPT_FAILED;
+          break;
+        case 3:
+          if (code_point <= 0x7FF) retval = CGPT_FAILED;
+          break;
+        case 4:
+          if (code_point <= 0xFFFF) retval = CGPT_FAILED;
+          break;
+      }
+      if (retval == CGPT_FAILED) break;  /* leave immediately */
+
+      if ((code_point <= 0xD7FF) ||
+          (code_point >= 0xE000 && code_point <= 0xFFFF)) {
+        utf16[s16idx++] = code_point;
+        maxoutput -= 1;
+      } else if (code_point >= 0x10000 && code_point <= 0x10FFFF &&
+                 maxoutput >= 2) {
+        utf16[s16idx++] = 0xD800 | ((code_point >> 10) - 0x0040);
+        utf16[s16idx++] = 0xDC00 | (code_point & 0x03FF);
+        maxoutput -= 2;
+      } else {
+        /* Three possibilities fall into here. Both are failure cases.
+         *   a. surrogate pair (non-BMP characters; 0xD800~0xDFFF)
+         *   b. invalid code point > 0x10FFFF
+         *   c. buffer underrun
+         */
+        retval = CGPT_FAILED;
+        break;
+      }
+    }
+  }
+
+  /* A null-terminator shows up before the UTF8 sequence ends. */
+  if (expected_units != decoded_units) {
+    retval = CGPT_FAILED;
+  }
+
+  utf16[s16idx++] = 0;
+  return retval;
+}
+
+/* global types to compare against */
+const Guid guid_chromeos_firmware = GPT_ENT_TYPE_CHROMEOS_FIRMWARE;
+const Guid guid_chromeos_kernel =   GPT_ENT_TYPE_CHROMEOS_KERNEL;
+const Guid guid_chromeos_rootfs =   GPT_ENT_TYPE_CHROMEOS_ROOTFS;
+const Guid guid_basic_data =        GPT_ENT_TYPE_BASIC_DATA;
+const Guid guid_linux_data =        GPT_ENT_TYPE_LINUX_FS;
+const Guid guid_chromeos_reserved = GPT_ENT_TYPE_CHROMEOS_RESERVED;
+const Guid guid_efi =               GPT_ENT_TYPE_EFI;
+const Guid guid_unused =            GPT_ENT_TYPE_UNUSED;
+const Guid guid_chromeos_minios =   GPT_ENT_TYPE_CHROMEOS_MINIOS;
+const Guid guid_chromeos_hibernate = GPT_ENT_TYPE_CHROMEOS_HIBERNATE;
+
+const static struct {
+  const Guid *type;
+  const char *name;
+  const char *description;
+} supported_types[] = {
+  {&guid_chromeos_firmware, "firmware", "ChromeOS firmware"},
+  {&guid_chromeos_kernel, "kernel", "ChromeOS kernel"},
+  {&guid_chromeos_rootfs, "rootfs", "ChromeOS rootfs"},
+  {&guid_linux_data, "data", "Linux data"},
+  {&guid_basic_data, "basicdata", "Basic data"},
+  {&guid_chromeos_reserved, "reserved", "ChromeOS reserved"},
+  {&guid_efi, "efi", "EFI System Partition"},
+  {&guid_unused, "unused", "Unused (nonexistent) partition"},
+  {&guid_chromeos_minios, "minios", "ChromeOS miniOS"},
+  {&guid_chromeos_hibernate, "hibernate", "ChromeOS hibernate"},
+};
+
+/* Resolves human-readable GPT type.
+ * Returns CGPT_OK if found.
+ * Returns CGPT_FAILED if no known type found. */
+int ResolveType(const Guid *type, char *buf) {
+  int i;
+  for (i = 0; i < ARRAY_COUNT(supported_types); ++i) {
+    if (!memcmp(type, supported_types[i].type, sizeof(Guid))) {
+      strcpy(buf, supported_types[i].description);
+      return CGPT_OK;
+    }
+  }
+  return CGPT_FAILED;
+}
+
+int SupportedType(const char *name, Guid *type) {
+  int i;
+  for (i = 0; i < ARRAY_COUNT(supported_types); ++i) {
+    if (!strcmp(name, supported_types[i].name)) {
+      memcpy(type, supported_types[i].type, sizeof(Guid));
+      return CGPT_OK;
+    }
+  }
+  return CGPT_FAILED;
+}
+
+void PrintTypes(void) {
+  int i;
+  printf("The partition type may also be given as one of these aliases:\n\n");
+  for (i = 0; i < ARRAY_COUNT(supported_types); ++i) {
+    printf("    %-10s  %s\n", supported_types[i].name,
+                          supported_types[i].description);
+  }
+  printf("\n");
+}
+
+static GptHeader* GetGptHeader(const GptData *gpt) {
+  if (gpt->valid_headers & MASK_PRIMARY)
+    return (GptHeader*)gpt->primary_header;
+  else if (gpt->valid_headers & MASK_SECONDARY)
+    return (GptHeader*)gpt->secondary_header;
+  else
+    return 0;
+}
+
+uint32_t GetNumberOfEntries(const struct drive *drive) {
+  GptHeader *header = GetGptHeader(&drive->gpt);
+  if (!header)
+    return 0;
+  return header->number_of_entries;
+}
+
+
+GptEntry *GetEntry(GptData *gpt, int secondary, uint32_t entry_index) {
+  GptHeader *header = GetGptHeader(gpt);
+  uint8_t *entries;
+  uint32_t stride = header->size_of_entry;
+  require(stride);
+  require(entry_index < header->number_of_entries);
+
+  if (secondary == PRIMARY) {
+    entries = gpt->primary_entries;
+  } else if (secondary == SECONDARY) {
+    entries = gpt->secondary_entries;
+  } else {  /* ANY_VALID */
+    require(secondary == ANY_VALID);
+    if (gpt->valid_entries & MASK_PRIMARY) {
+      entries = gpt->primary_entries;
+    } else {
+      require(gpt->valid_entries & MASK_SECONDARY);
+      entries = gpt->secondary_entries;
+    }
+  }
+
+  return (GptEntry*)(&entries[stride * entry_index]);
+}
+
+void SetRequired(struct drive *drive, int secondary, uint32_t entry_index,
+                 int required) {
+  require(required >= 0 && required <= CGPT_ATTRIBUTE_MAX_REQUIRED);
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, entry_index);
+  SetEntryRequired(entry, required);
+}
+
+int GetRequired(struct drive *drive, int secondary, uint32_t entry_index) {
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, entry_index);
+  return GetEntryRequired(entry);
+}
+
+void SetLegacyBoot(struct drive *drive, int secondary, uint32_t entry_index,
+                   int legacy_boot) {
+  require(legacy_boot >= 0 && legacy_boot <= CGPT_ATTRIBUTE_MAX_LEGACY_BOOT);
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, entry_index);
+  SetEntryLegacyBoot(entry, legacy_boot);
+}
+
+int GetLegacyBoot(struct drive *drive, int secondary, uint32_t entry_index) {
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, entry_index);
+  return GetEntryLegacyBoot(entry);
+}
+
+void SetPriority(struct drive *drive, int secondary, uint32_t entry_index,
+                 int priority) {
+  require(priority >= 0 && priority <= CGPT_ATTRIBUTE_MAX_PRIORITY);
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, entry_index);
+  SetEntryPriority(entry, priority);
+}
+
+int GetPriority(struct drive *drive, int secondary, uint32_t entry_index) {
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, entry_index);
+  return GetEntryPriority(entry);
+}
+
+void SetTries(struct drive *drive, int secondary, uint32_t entry_index,
+              int tries) {
+  require(tries >= 0 && tries <= CGPT_ATTRIBUTE_MAX_TRIES);
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, entry_index);
+  SetEntryTries(entry, tries);
+}
+
+int GetTries(struct drive *drive, int secondary, uint32_t entry_index) {
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, entry_index);
+  return GetEntryTries(entry);
+}
+
+void SetSuccessful(struct drive *drive, int secondary, uint32_t entry_index,
+                   int success) {
+  require(success >= 0 && success <= CGPT_ATTRIBUTE_MAX_SUCCESSFUL);
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, entry_index);
+  SetEntrySuccessful(entry, success);
+}
+
+int GetSuccessful(struct drive *drive, int secondary, uint32_t entry_index) {
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, entry_index);
+  return GetEntrySuccessful(entry);
+}
+
+void SetRaw(struct drive *drive, int secondary, uint32_t entry_index,
+            uint32_t raw) {
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, entry_index);
+  entry->attrs.fields.gpt_att = (uint16_t)raw;
+}
+
+void UpdateAllEntries(struct drive *drive) {
+  RepairEntries(&drive->gpt, MASK_PRIMARY);
+  RepairHeader(&drive->gpt, MASK_PRIMARY);
+
+  drive->gpt.modified |= (GPT_MODIFIED_HEADER1 | GPT_MODIFIED_ENTRIES1 |
+                          GPT_MODIFIED_HEADER2 | GPT_MODIFIED_ENTRIES2);
+  UpdateCrc(&drive->gpt);
+}
+
+int IsUnused(struct drive *drive, int secondary, uint32_t index) {
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, index);
+  return GuidIsZero(&entry->type);
+}
+
+int IsKernel(struct drive *drive, int secondary, uint32_t index) {
+  GptEntry *entry;
+  entry = GetEntry(&drive->gpt, secondary, index);
+  return GuidEqual(&entry->type, &guid_chromeos_kernel);
+}
+
+
+#define TOSTRING(A) #A
+const char *GptError(int errnum) {
+  const char *error_string[] = {
+    TOSTRING(GPT_SUCCESS),
+    TOSTRING(GPT_ERROR_NO_VALID_KERNEL),
+    TOSTRING(GPT_ERROR_INVALID_HEADERS),
+    TOSTRING(GPT_ERROR_INVALID_ENTRIES),
+    TOSTRING(GPT_ERROR_INVALID_SECTOR_SIZE),
+    TOSTRING(GPT_ERROR_INVALID_SECTOR_NUMBER),
+    TOSTRING(GPT_ERROR_INVALID_UPDATE_TYPE)
+  };
+  if (errnum < 0 || errnum >= ARRAY_COUNT(error_string))
+    return "<illegal value>";
+  return error_string[errnum];
+}
+
+/*  Update CRC value if necessary.  */
+void UpdateCrc(GptData *gpt) {
+  GptHeader *primary_header, *secondary_header;
+
+  primary_header = (GptHeader*)gpt->primary_header;
+  secondary_header = (GptHeader*)gpt->secondary_header;
+
+  if (gpt->modified & GPT_MODIFIED_ENTRIES1 &&
+      memcmp(primary_header, GPT_HEADER_SIGNATURE2,
+             GPT_HEADER_SIGNATURE_SIZE)) {
+    size_t entries_size = primary_header->size_of_entry *
+        primary_header->number_of_entries;
+    primary_header->entries_crc32 =
+        Crc32(gpt->primary_entries, entries_size);
+  }
+  if (gpt->modified & GPT_MODIFIED_ENTRIES2) {
+    size_t entries_size = secondary_header->size_of_entry *
+        secondary_header->number_of_entries;
+    secondary_header->entries_crc32 =
+        Crc32(gpt->secondary_entries, entries_size);
+  }
+  if (gpt->modified & GPT_MODIFIED_HEADER1) {
+    primary_header->header_crc32 = 0;
+    primary_header->header_crc32 = Crc32(
+        (const uint8_t *)primary_header, sizeof(GptHeader));
+  }
+  if (gpt->modified & GPT_MODIFIED_HEADER2) {
+    secondary_header->header_crc32 = 0;
+    secondary_header->header_crc32 = Crc32(
+        (const uint8_t *)secondary_header, sizeof(GptHeader));
+  }
+}
+/* Two headers are NOT bitwise identical. For example, my_lba pointers to header
+ * itself so that my_lba in primary and secondary is definitely different.
+ * Only the following fields should be identical.
+ *
+ *   first_usable_lba
+ *   last_usable_lba
+ *   number_of_entries
+ *   size_of_entry
+ *   disk_uuid
+ *
+ * If any of above field are not matched, overwrite secondary with primary since
+ * we always trust primary.
+ * If any one of header is invalid, copy from another. */
+int IsSynonymous(const GptHeader* a, const GptHeader* b) {
+  if ((a->first_usable_lba == b->first_usable_lba) &&
+      (a->last_usable_lba == b->last_usable_lba) &&
+      (a->number_of_entries == b->number_of_entries) &&
+      (a->size_of_entry == b->size_of_entry) &&
+      (!memcmp(&a->disk_uuid, &b->disk_uuid, sizeof(Guid))))
+    return 1;
+  return 0;
+}
+
+/* Primary entries and secondary entries should be bitwise identical.
+ * If two entries tables are valid, compare them. If not the same,
+ * overwrites secondary with primary (primary always has higher priority),
+ * and marks secondary as modified.
+ * If only one is valid, overwrites invalid one.
+ * If all are invalid, does nothing.
+ * This function returns bit masks for GptData.modified field.
+ * Note that CRC is NOT re-computed in this function.
+ */
+uint8_t RepairEntries(GptData *gpt, const uint32_t valid_entries) {
+  /* If we have an alternate GPT header signature, don't overwrite
+   * the secondary GPT with the primary one as that might wipe the
+   * partition table. Also don't overwrite the primary one with the
+   * secondary one as that will stop Windows from booting. */
+  GptHeader* h = (GptHeader*)(gpt->primary_header);
+  if (!memcmp(h->signature, GPT_HEADER_SIGNATURE2, GPT_HEADER_SIGNATURE_SIZE))
+    return 0;
+
+  if (gpt->valid_headers & MASK_PRIMARY) {
+    h = (GptHeader*)gpt->primary_header;
+  } else if (gpt->valid_headers & MASK_SECONDARY) {
+    h = (GptHeader*)gpt->secondary_header;
+  } else {
+    /* We cannot trust any header, don't update entries. */
+    return 0;
+  }
+
+  size_t entries_size = h->number_of_entries * h->size_of_entry;
+  if (valid_entries == MASK_BOTH) {
+    if (memcmp(gpt->primary_entries, gpt->secondary_entries, entries_size)) {
+      memcpy(gpt->secondary_entries, gpt->primary_entries, entries_size);
+      return GPT_MODIFIED_ENTRIES2;
+    }
+  } else if (valid_entries == MASK_PRIMARY) {
+    memcpy(gpt->secondary_entries, gpt->primary_entries, entries_size);
+    return GPT_MODIFIED_ENTRIES2;
+  } else if (valid_entries == MASK_SECONDARY) {
+    memcpy(gpt->primary_entries, gpt->secondary_entries, entries_size);
+    return GPT_MODIFIED_ENTRIES1;
+  }
+
+  return 0;
+}
+
+/* The above five fields are shared between primary and secondary headers.
+ * We can recover one header from another through copying those fields. */
+static void CopySynonymousParts(GptHeader* target, const GptHeader* source) {
+  target->first_usable_lba = source->first_usable_lba;
+  target->last_usable_lba = source->last_usable_lba;
+  target->number_of_entries = source->number_of_entries;
+  target->size_of_entry = source->size_of_entry;
+  memcpy(&target->disk_uuid, &source->disk_uuid, sizeof(Guid));
+}
+
+/* This function repairs primary and secondary headers if possible.
+ * If both headers are valid (CRC32 is correct) but
+ *   a) indicate inconsistent usable LBA ranges,
+ *   b) inconsistent partition entry size and number,
+ *   c) inconsistent disk_uuid,
+ * we will use the primary header to overwrite secondary header.
+ * If primary is invalid (CRC32 is wrong), then we repair it from secondary.
+ * If secondary is invalid (CRC32 is wrong), then we repair it from primary.
+ * This function returns the bitmasks for modified header.
+ * Note that CRC value is NOT re-computed in this function. UpdateCrc() will
+ * do it later.
+ */
+uint8_t RepairHeader(GptData *gpt, const uint32_t valid_headers) {
+  GptHeader *primary_header, *secondary_header;
+
+  primary_header = (GptHeader*)gpt->primary_header;
+  secondary_header = (GptHeader*)gpt->secondary_header;
+
+  if (valid_headers == MASK_BOTH) {
+    if (!IsSynonymous(primary_header, secondary_header)) {
+      CopySynonymousParts(secondary_header, primary_header);
+      return GPT_MODIFIED_HEADER2;
+    }
+  } else if (valid_headers == MASK_PRIMARY) {
+    memcpy(secondary_header, primary_header, sizeof(GptHeader));
+    secondary_header->my_lba = gpt->gpt_drive_sectors - 1;  /* the last sector */
+    secondary_header->alternate_lba = primary_header->my_lba;
+    secondary_header->entries_lba = secondary_header->my_lba -
+        CalculateEntriesSectors(primary_header, gpt->sector_bytes);
+    return GPT_MODIFIED_HEADER2;
+  } else if (valid_headers == MASK_SECONDARY) {
+    memcpy(primary_header, secondary_header, sizeof(GptHeader));
+    primary_header->my_lba = GPT_PMBR_SECTORS;  /* the second sector on drive */
+    primary_header->alternate_lba = secondary_header->my_lba;
+    /* TODO (namnguyen): Preserve (header, entries) padding space. */
+    primary_header->entries_lba = primary_header->my_lba + GPT_HEADER_SECTORS;
+    return GPT_MODIFIED_HEADER1;
+  }
+
+  return 0;
+}
+
+int CgptGetNumNonEmptyPartitions(CgptShowParams *params) {
+  struct drive drive;
+  int gpt_retval;
+  int retval;
+
+  if (params == NULL)
+    return CGPT_FAILED;
+
+  if (CGPT_OK != DriveOpen(params->drive_name, &drive, O_RDONLY,
+                           params->drive_size))
+    return CGPT_FAILED;
+
+  if (GPT_SUCCESS != (gpt_retval = GptValidityCheck(&drive.gpt))) {
+    Error("GptValidityCheck() returned %d: %s\n",
+          gpt_retval, GptError(gpt_retval));
+    retval = CGPT_FAILED;
+    goto done;
+  }
+
+  params->num_partitions = 0;
+  int numEntries = GetNumberOfEntries(&drive);
+  int i;
+  for(i = 0; i < numEntries; i++) {
+      GptEntry *entry = GetEntry(&drive.gpt, ANY_VALID, i);
+      if (GuidIsZero(&entry->type))
+        continue;
+
+      params->num_partitions++;
+  }
+
+  retval = CGPT_OK;
+
+done:
+  DriveClose(&drive, 0);
+  return retval;
+}
+
+int GuidEqual(const Guid *guid1, const Guid *guid2) {
+  return (0 == memcmp(guid1, guid2, sizeof(Guid)));
+}
+
+int GuidIsZero(const Guid *gp) {
+  return GuidEqual(gp, &guid_unused);
+}
+
+void PMBRToStr(struct pmbr *pmbr, char *str, unsigned int buflen) {
+  char buf[GUID_STRLEN];
+  if (GuidIsZero(&pmbr->boot_guid)) {
+    require(snprintf(str, buflen, "PMBR") < buflen);
+  } else {
+    GuidToStr(&pmbr->boot_guid, buf, sizeof(buf));
+    require(snprintf(str, buflen, "PMBR (Boot GUID: %s)", buf) < buflen);
+  }
+}
+
+/*
+ * This is here because some CGPT functionality is provided in libvboot_host.a
+ * for other host utilities. GenerateGuid() is implemented (in cgpt.c which is
+ * *not* linked into libvboot_host.a) by calling into libuuid. We don't want to
+ * mandate libuuid as a dependency for every utilitity that wants to link
+ * libvboot_host.a, since they usually don't use the functionality that needs
+ * to generate new UUIDs anyway (just other functionality implemented in the
+ * same files).
+ */
+#ifndef HAVE_MACOS
+__attribute__((weak)) int GenerateGuid(Guid *newguid) { return CGPT_FAILED; };
+#endif
diff --git a/cgpt/cgpt_create.c b/cgpt/cgpt_create.c
new file mode 100644 (file)
index 0000000..fac8992
--- /dev/null
@@ -0,0 +1,140 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <string.h>
+
+#include "cgpt.h"
+#include "cgptlib_internal.h"
+#include "vboot_host.h"
+
+static void AllocAndClear(uint8_t **buf, uint64_t size) {
+  if (*buf) {
+    memset(*buf, 0, size);
+  } else {
+    *buf = calloc(1, size);
+    if (!*buf) {
+      Error("Cannot allocate %" PRIu64 " bytes.\n", size);
+      abort();
+    }
+  }
+}
+
+static int GptCreate(struct drive *drive, CgptCreateParams *params) {
+  // Do not replace any existing IGNOREME GPT headers.
+  if (!memcmp(((GptHeader*)drive->gpt.primary_header)->signature,
+              GPT_HEADER_SIGNATURE_IGNORED, GPT_HEADER_SIGNATURE_SIZE)) {
+    drive->gpt.ignored |= MASK_PRIMARY;
+    Warning("Primary GPT was marked ignored, will not overwrite.\n");
+  }
+
+  if (!memcmp(((GptHeader*)drive->gpt.secondary_header)->signature,
+              GPT_HEADER_SIGNATURE_IGNORED, GPT_HEADER_SIGNATURE_SIZE)) {
+    drive->gpt.ignored |= MASK_SECONDARY;
+    Warning("Secondary GPT was marked ignored, will not overwrite.\n");
+  }
+
+  // Allocate and/or erase the data.
+  // We cannot assume the GPT headers or entry arrays have been allocated
+  // by GptLoad() because those fields might have failed validation checks.
+  AllocAndClear(&drive->gpt.primary_header,
+                drive->gpt.sector_bytes * GPT_HEADER_SECTORS);
+  AllocAndClear(&drive->gpt.secondary_header,
+                drive->gpt.sector_bytes * GPT_HEADER_SECTORS);
+
+  drive->gpt.modified |= (GPT_MODIFIED_HEADER1 | GPT_MODIFIED_ENTRIES1 |
+                         GPT_MODIFIED_HEADER2 | GPT_MODIFIED_ENTRIES2);
+
+  // Initialize a blank set
+  if (!params->zap) {
+    GptHeader *h = (GptHeader *)drive->gpt.primary_header;
+    memcpy(h->signature, GPT_HEADER_SIGNATURE, GPT_HEADER_SIGNATURE_SIZE);
+    h->revision = GPT_HEADER_REVISION;
+    h->size = sizeof(GptHeader);
+    h->my_lba = GPT_PMBR_SECTORS;  /* The second sector on drive. */
+    h->alternate_lba = drive->gpt.gpt_drive_sectors - GPT_HEADER_SECTORS;
+    if (CGPT_OK != GenerateGuid(&h->disk_uuid)) {
+      Error("Unable to generate new GUID.\n");
+      return -1;
+    }
+
+    /* Calculate number of entries */
+    h->size_of_entry = sizeof(GptEntry);
+    h->number_of_entries = MAX_NUMBER_OF_ENTRIES;
+    if (drive->gpt.flags & GPT_FLAG_EXTERNAL) {
+      // We might have smaller space for the GPT table. Scale accordingly.
+      //
+      // +------+------------+---------------+-----+--------------+-----------+
+      // | PMBR | Prim. Head | Prim. Entries | ... | Sec. Entries | Sec. Head |
+      // +------+------------+---------------+-----+--------------+-----------+
+      //
+      // Half the size of gpt_drive_sectors must be big enough to hold PMBR +
+      // GPT Header + Entries Table, though the secondary structures do not
+      // contain PMBR.
+      size_t required_headers_size =
+          (GPT_PMBR_SECTORS + GPT_HEADER_SECTORS) * drive->gpt.sector_bytes;
+      size_t min_entries_size = MIN_NUMBER_OF_ENTRIES * h->size_of_entry;
+      size_t required_min_size = required_headers_size + min_entries_size;
+      size_t half_size =
+          (drive->gpt.gpt_drive_sectors / 2) * drive->gpt.sector_bytes;
+      if (half_size < required_min_size) {
+        Error("Not enough space to store GPT structures. Required %zu bytes.\n",
+              required_min_size * 2);
+        return -1;
+      }
+      size_t max_entries =
+          (half_size - required_headers_size) / h->size_of_entry;
+      if (h->number_of_entries > max_entries) {
+        h->number_of_entries = max_entries;
+      }
+    }
+
+    /* Then use number of entries to calculate entries_lba. */
+    h->entries_lba = h->my_lba + GPT_HEADER_SECTORS;
+    if (!(drive->gpt.flags & GPT_FLAG_EXTERNAL)) {
+      h->entries_lba += params->padding;
+      h->first_usable_lba = h->entries_lba + CalculateEntriesSectors(h,
+                                               drive->gpt.sector_bytes);
+      h->last_usable_lba =
+        (drive->gpt.streaming_drive_sectors - GPT_HEADER_SECTORS -
+          CalculateEntriesSectors(h, drive->gpt.sector_bytes) - 1);
+    } else {
+      h->first_usable_lba = params->padding;
+      h->last_usable_lba = (drive->gpt.streaming_drive_sectors - 1);
+    }
+
+    size_t entries_size = h->number_of_entries * h->size_of_entry;
+    AllocAndClear(&drive->gpt.primary_entries, entries_size);
+    AllocAndClear(&drive->gpt.secondary_entries, entries_size);
+
+    // Copy to secondary
+    RepairHeader(&drive->gpt, MASK_PRIMARY);
+
+    UpdateCrc(&drive->gpt);
+  }
+
+  return 0;
+}
+
+int CgptCreate(CgptCreateParams *params) {
+  struct drive drive;
+
+  if (params == NULL)
+    return CGPT_FAILED;
+
+  if (CGPT_OK != DriveOpen(params->drive_name, &drive, O_RDWR,
+                           params->drive_size))
+    return CGPT_FAILED;
+
+  if (GptCreate(&drive, params))
+    goto bad;
+
+  // Write it all out
+  return DriveClose(&drive, 1);
+
+bad:
+
+  DriveClose(&drive, 0);
+  return CGPT_FAILED;
+}
diff --git a/cgpt/cgpt_edit.c b/cgpt/cgpt_edit.c
new file mode 100644 (file)
index 0000000..963a8ac
--- /dev/null
@@ -0,0 +1,51 @@
+/* Copyright 2018 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "cgpt.h"
+#include "cgptlib_internal.h"
+#include "cgpt_params.h"
+#include "vboot_host.h"
+
+int CgptEdit(CgptEditParams *params) {
+  struct drive drive;
+  GptHeader *h;
+  int gpt_retval;
+
+  if (params == NULL)
+    return CGPT_FAILED;
+
+  if (CGPT_OK != DriveOpen(params->drive_name, &drive, O_RDWR,
+                           params->drive_size))
+    return CGPT_FAILED;
+
+  if (GPT_SUCCESS != (gpt_retval = GptValidityCheck(&drive.gpt))) {
+    Error("GptValidityCheck() returned %d: %s\n",
+          gpt_retval, GptError(gpt_retval));
+    goto bad;
+  }
+
+  if (CGPT_OK != CheckValid(&drive)) {
+    Error("Please run 'cgpt repair' before changing settings.\n");
+    goto bad;
+  }
+
+  h = (GptHeader *)drive.gpt.primary_header;
+  if (params->set_unique) {
+    memcpy(&h->disk_uuid, &params->unique_guid, sizeof(h->disk_uuid));
+  }
+  // Copy to secondary
+  RepairHeader(&drive.gpt, MASK_PRIMARY);
+  drive.gpt.modified |= (GPT_MODIFIED_HEADER1 | GPT_MODIFIED_HEADER2);
+
+  UpdateCrc(&drive.gpt);
+
+  // Write it all out.
+  return DriveClose(&drive, 1);
+
+bad:
+
+  DriveClose(&drive, 0);
+  return CGPT_FAILED;
+}
diff --git a/cgpt/cgpt_endian.h b/cgpt/cgpt_endian.h
new file mode 100644 (file)
index 0000000..f59ab1b
--- /dev/null
@@ -0,0 +1,56 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_CGPT_ENDIAN_H_
+#define VBOOT_REFERENCE_CGPT_ENDIAN_H_
+
+// Newer distros already have this. For those that don't, we add it here.
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__)
+#include <endian.h>
+#elif defined(__FreeBSD__)
+#include <sys/endian.h>
+#endif
+
+#ifndef le16toh
+
+#ifndef HAVE_MACOS
+# include <byteswap.h>
+#endif
+
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+#  define htobe16(x) __bswap_16 (x)
+#  define htole16(x) (x)
+#  define be16toh(x) __bswap_16 (x)
+#  define le16toh(x) (x)
+
+#  define htobe32(x) __bswap_32 (x)
+#  define htole32(x) (x)
+#  define be32toh(x) __bswap_32 (x)
+#  define le32toh(x) (x)
+
+#  define htobe64(x) __bswap_64 (x)
+#  define htole64(x) (x)
+#  define be64toh(x) __bswap_64 (x)
+#  define le64toh(x) (x)
+# else
+#  define htobe16(x) (x)
+#  define htole16(x) __bswap_16 (x)
+#  define be16toh(x) (x)
+#  define le16toh(x) __bswap_16 (x)
+
+#  define htobe32(x) (x)
+#  define htole32(x) __bswap_32 (x)
+#  define be32toh(x) (x)
+#  define le32toh(x) __bswap_32 (x)
+
+#  define htobe64(x) (x)
+#  define htole64(x) __bswap_64 (x)
+#  define be64toh(x) (x)
+#  define le64toh(x) __bswap_64 (x)
+# endif
+
+#endif
+
+#endif  /* VBOOT_REFERENCE_CGPT_ENDIAN_H_ */
diff --git a/cgpt/cgpt_find.c b/cgpt/cgpt_find.c
new file mode 100644 (file)
index 0000000..8046aad
--- /dev/null
@@ -0,0 +1,331 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <ctype.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "cgpt.h"
+#include "cgptlib_internal.h"
+#include "cgpt_nor.h"
+#include "vboot_host.h"
+
+#define BUFSIZE 1024
+
+// fill comparebuf with the data to be examined, returning true on success.
+static int FillBuffer(CgptFindParams *params, int fd, uint64_t pos,
+                       uint64_t count) {
+  uint8_t *bufptr = params->comparebuf;
+
+  if (-1 == lseek(fd, pos, SEEK_SET))
+    return 0;
+
+  // keep reading until done or error
+  while (count) {
+    ssize_t bytes_read = read(fd, bufptr, count);
+    // negative means error, 0 means (unexpected) EOF
+    if (bytes_read <= 0)
+      return 0;
+    count -= bytes_read;
+    bufptr += bytes_read;
+  }
+
+  return 1;
+}
+
+// check partition data content. return true for match, 0 for no match or error
+static int match_content(CgptFindParams *params, struct drive *drive,
+                             GptEntry *entry) {
+  uint64_t part_size;
+
+  if (!params->matchlen)
+    return 1;
+
+  // Ensure that the region we want to match against is inside the partition.
+  part_size = drive->gpt.sector_bytes *
+    (entry->ending_lba - entry->starting_lba + 1);
+  if (params->matchoffset + params->matchlen > part_size) {
+    return 0;
+  }
+
+  // Read the partition data.
+  if (!FillBuffer(params, drive->fd,
+    (drive->gpt.sector_bytes * entry->starting_lba) + params->matchoffset,
+                  params->matchlen)) {
+    Error("unable to read partition data\n");
+    return 0;
+  }
+
+  // Compare it
+  if (0 == memcmp(params->matchbuf, params->comparebuf, params->matchlen)) {
+    return 1;
+  }
+
+  // Nope.
+  return 0;
+}
+
+// This needs to handle /dev/mmcblk0 -> /dev/mmcblk0p3, /dev/sda -> /dev/sda3
+static void showmatch(CgptFindParams *params, const char *filename,
+                      int partnum, GptEntry *entry) {
+  const char * format = "%s%d\n";
+
+  /*
+   * Follow convention from disk_name() in kernel block/partition-generic.c
+   * code:
+   * If the last digit of the device name is a number, add a 'p' between the
+   * device name and the partition number.
+   */
+  if (isdigit(filename[strlen(filename) - 1]))
+    format = "%sp%d\n";
+
+  if (params->numeric) {
+    printf("%d\n", partnum);
+  } else {
+    if (params->show_fn) {
+      params->show_fn(params, filename, partnum, entry);
+    } else {
+      printf(format, filename, partnum);
+    }
+  }
+  if (params->verbose > 0)
+    EntryDetails(entry, partnum - 1, params->numeric);
+}
+
+// This returns true if a GPT partition matches the search criteria. If a match
+// isn't found (or if the file doesn't contain a GPT), it returns false. The
+// filename and partition number that matched is left in a global, since we
+// could have multiple hits.
+static int gpt_search(CgptFindParams *params, struct drive *drive,
+                      const char *filename) {
+  int i;
+  GptEntry *entry;
+  int retval = 0;
+  char partlabel[GPT_PARTNAME_LEN];
+
+  if (GPT_SUCCESS != GptValidityCheck(&drive->gpt)) {
+    return 0;
+  }
+
+  for (i = 0; i < GetNumberOfEntries(drive); ++i) {
+    entry = GetEntry(&drive->gpt, ANY_VALID, i);
+
+    if (GuidIsZero(&entry->type))
+      continue;
+
+    int found = 0;
+    if ((params->set_unique && GuidEqual(&params->unique_guid, &entry->unique))
+        || (params->set_type && GuidEqual(&params->type_guid, &entry->type))) {
+      found = 1;
+    } else if (params->set_label) {
+      if (CGPT_OK != UTF16ToUTF8(entry->name,
+                                 sizeof(entry->name) / sizeof(entry->name[0]),
+                                 (uint8_t *)partlabel, sizeof(partlabel))) {
+        Error("The label cannot be converted from UTF16, so abort.\n");
+        return 0;
+      }
+      if (!strncmp(params->label, partlabel, sizeof(partlabel)))
+        found = 1;
+    }
+    if (found && match_content(params, drive, entry)) {
+      params->hits++;
+      retval++;
+      showmatch(params, filename, i+1, entry);
+      if (!params->match_partnum)
+        params->match_partnum = i+1;
+    }
+  }
+
+  return retval;
+}
+
+static int do_search(CgptFindParams *params, const char *fileName) {
+  int retval;
+  struct drive drive;
+
+  if (CGPT_OK != DriveOpen(fileName, &drive, O_RDONLY, params->drive_size))
+    return 0;
+
+  retval = gpt_search(params, &drive, fileName);
+
+  (void) DriveClose(&drive, 0);
+
+  return retval;
+}
+
+
+#define PROC_MTD "/proc/mtd"
+#define PROC_PARTITIONS "/proc/partitions"
+#define DEV_DIR "/dev"
+#define SYS_BLOCK_DIR "/sys/block"
+#define MAX_PARTITION_NAME_LEN 128
+
+static const char *devdirs[] = { "/dev", "/devices", "/devfs", 0 };
+
+// Given basename "foo", see if we can find a whole, real device by that name.
+// This is copied from the logic in the linux utility 'findfs', although that
+// does more exhaustive searching.
+static char *is_wholedev(const char *basename) {
+  int i;
+  struct stat statbuf;
+  static char pathname[BUFSIZE];        // we'll return this.
+  char tmpname[BUFSIZE];
+
+  // It should be a block device under /dev/,
+  for (i = 0; devdirs[i]; i++) {
+    sprintf(pathname, "%s/%s", devdirs[i], basename);
+
+    if (0 != stat(pathname, &statbuf))
+      continue;
+
+    if (!S_ISBLK(statbuf.st_mode))
+      continue;
+
+    // It should have a symlink called /sys/block/*/device
+    sprintf(tmpname, "%s/%s/device", SYS_BLOCK_DIR, basename);
+
+    if (0 != lstat(tmpname, &statbuf))
+      continue;
+
+    if (!S_ISLNK(statbuf.st_mode))
+      continue;
+
+    // found it
+    return pathname;
+  }
+
+  return 0;
+}
+
+#ifdef GPT_SPI_NOR
+// This handles the MTD devices. ChromeOS uses /dev/mtdX for kernel partitions,
+// /dev/ubiblockX_0 for root partitions, and /dev/ubiX for stateful partition.
+static void chromeos_mtd_show(CgptFindParams *params, const char *filename,
+                              int partnum, GptEntry *entry) {
+  if (GuidEqual(&guid_chromeos_kernel, &entry->type)) {
+    printf("/dev/mtd%d\n", partnum);
+  } else if (GuidEqual(&guid_chromeos_rootfs, &entry->type)) {
+    printf("/dev/ubiblock%d_0\n", partnum);
+  } else {
+    printf("/dev/ubi%d_0\n", partnum);
+  }
+}
+
+static int scan_spi_gpt(CgptFindParams *params) {
+  int found = 0;
+  char partname[MAX_PARTITION_NAME_LEN];
+  FILE *fp;
+  size_t line_length = 0;
+  char *line = NULL;
+
+  fp = fopen(PROC_MTD, "re");
+  if (!fp) {
+    return found;
+  }
+
+  while (getline(&line, &line_length, fp) != -1) {
+    uint64_t sz;
+    uint32_t erasesz;
+    char name[128];
+    // dev:  size  erasesize  name
+    if (sscanf(line, "%64[^:]: %" PRIx64 " %x \"%127[^\"]\"",
+               partname, &sz, &erasesz, name) != 4)
+      continue;
+    if (strcmp(partname, "mtd0") == 0) {
+      char temp_dir[] = "/tmp/cgpt_find.XXXXXX";
+      if (params->drive_size == 0) {
+        if (GetMtdSize("/dev/mtd0", &params->drive_size) != 0) {
+          perror("GetMtdSize");
+          goto cleanup;
+        }
+      }
+      if (ReadNorFlash(temp_dir) != 0) {
+        perror("ReadNorFlash");
+        goto cleanup;
+      }
+      char nor_file[64];
+      if (snprintf(nor_file, sizeof(nor_file), "%s/rw_gpt", temp_dir) > 0) {
+        params->show_fn = chromeos_mtd_show;
+        if (do_search(params, nor_file)) {
+          found++;
+        }
+        params->show_fn = NULL;
+      }
+      RemoveDir(temp_dir);
+      break;
+    }
+  }
+cleanup:
+  fclose(fp);
+  free(line);
+  return found;
+}
+#else
+// Stub
+static int scan_spi_gpt(CgptFindParams *params) {
+  return 0;
+}
+#endif
+
+// This scans all the physical devices it can find, looking for a match. It
+// returns true if any matches were found, false otherwise.
+static int scan_real_devs(CgptFindParams *params) {
+  int found = 0;
+  char partname[MAX_PARTITION_NAME_LEN];
+  char partname_prev[MAX_PARTITION_NAME_LEN];
+  FILE *fp;
+  char *pathname;
+
+  fp = fopen(PROC_PARTITIONS, "re");
+  if (!fp) {
+    perror("can't read " PROC_PARTITIONS);
+    return found;
+  }
+
+  size_t line_length = 0;
+  char *line = NULL;
+  partname_prev[0] = '\0';
+  while (getline(&line, &line_length, fp) != -1) {
+    int ma, mi;
+    long long unsigned int sz;
+
+    if (sscanf(line, " %d %d %llu %127[^\n ]", &ma, &mi, &sz, partname) != 4)
+      continue;
+
+    /* Only check devices that have partitions under them.
+     * We can tell by checking that an entry like "sda" is immediately
+     * followed by one like "sda0". */
+    if (!strncmp(partname_prev, partname, strlen(partname_prev)) &&
+        strlen(partname_prev)) {
+      if ((pathname = is_wholedev(partname_prev))) {
+        if (do_search(params, pathname)) {
+          found++;
+        }
+      }
+    }
+
+    strcpy(partname_prev, partname);
+  }
+
+  fclose(fp);
+  free(line);
+
+  found += scan_spi_gpt(params);
+
+  return found;
+}
+
+
+void CgptFind(CgptFindParams *params) {
+  if (params == NULL)
+    return;
+
+  if (params->drive_name != NULL)
+    do_search(params, params->drive_name);
+  else
+    scan_real_devs(params);
+}
diff --git a/cgpt/cgpt_legacy.c b/cgpt/cgpt_legacy.c
new file mode 100644 (file)
index 0000000..89b33e6
--- /dev/null
@@ -0,0 +1,66 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <string.h>
+
+#include "cgpt.h"
+#include "cgptlib_internal.h"
+#include "vboot_host.h"
+
+int CgptLegacy(CgptLegacyParams *params) {
+  struct drive drive;
+  int gpt_retval;
+  GptHeader *h1, *h2;
+
+  if (params == NULL)
+    return CGPT_FAILED;
+
+  if (CGPT_OK != DriveOpen(params->drive_name, &drive, O_RDWR,
+                           params->drive_size))
+    return CGPT_FAILED;
+
+  if (GPT_SUCCESS != (gpt_retval = GptValidityCheck(&drive.gpt))) {
+    Error("GptValidityCheck() returned %d: %s\n",
+          gpt_retval, GptError(gpt_retval));
+    goto bad;
+  }
+
+  h1 = (GptHeader *)drive.gpt.primary_header;
+  h2 = (GptHeader *)drive.gpt.secondary_header;
+  if (params->mode == CGPT_LEGACY_MODE_EFIPART) {
+    drive.gpt.ignored = MASK_NONE;
+    memcpy(h1->signature, GPT_HEADER_SIGNATURE, GPT_HEADER_SIGNATURE_SIZE);
+    memcpy(h2->signature, GPT_HEADER_SIGNATURE, GPT_HEADER_SIGNATURE_SIZE);
+    RepairEntries(&drive.gpt, MASK_SECONDARY);
+    drive.gpt.modified |= (GPT_MODIFIED_HEADER1 | GPT_MODIFIED_ENTRIES1 |
+                           GPT_MODIFIED_HEADER2);
+  } else if (params->mode == CGPT_LEGACY_MODE_IGNORE_PRIMARY) {
+    if (!(drive.gpt.valid_headers & MASK_SECONDARY) ||
+        !(drive.gpt.valid_entries & MASK_SECONDARY) ||
+        drive.gpt.ignored & MASK_SECONDARY) {
+      Error("Refusing to mark primary GPT ignored unless secondary is valid.");
+      goto bad;
+    }
+    memset(h1, 0, sizeof(*h1));
+    memcpy(h1->signature, GPT_HEADER_SIGNATURE_IGNORED,
+           GPT_HEADER_SIGNATURE_SIZE);
+    drive.gpt.modified |= GPT_MODIFIED_HEADER1;
+  } else {
+    memcpy(h1->signature, GPT_HEADER_SIGNATURE2, GPT_HEADER_SIGNATURE_SIZE);
+    memcpy(h2->signature, GPT_HEADER_SIGNATURE2, GPT_HEADER_SIGNATURE_SIZE);
+    memset(drive.gpt.primary_entries, 0, drive.gpt.sector_bytes);
+    drive.gpt.modified |= (GPT_MODIFIED_HEADER1 | GPT_MODIFIED_ENTRIES1 |
+                           GPT_MODIFIED_HEADER2);
+  }
+
+  UpdateCrc(&drive.gpt);
+
+  // Write it all out
+  return DriveClose(&drive, 1);
+
+bad:
+  (void) DriveClose(&drive, 0);
+  return CGPT_FAILED;
+}
diff --git a/cgpt/cgpt_nor.c b/cgpt/cgpt_nor.c
new file mode 100644 (file)
index 0000000..4450adb
--- /dev/null
@@ -0,0 +1,298 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <err.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <ftw.h>
+#include <inttypes.h>
+#if !defined(__FreeBSD__)
+#include <linux/major.h>
+#endif
+#include <stdbool.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+#include "cgpt.h"
+#include "cgpt_nor.h"
+#include "subprocess.h"
+
+static const char FLASHROM_PATH[] = "/usr/sbin/flashrom";
+
+// Obtain the MTD size from its sysfs node.
+int GetMtdSize(const char *mtd_device, uint64_t *size) {
+  mtd_device = strrchr(mtd_device, '/');
+  if (mtd_device == NULL) {
+    errno = EINVAL;
+    return 1;
+  }
+  char *sysfs_name;
+  if (asprintf(&sysfs_name, "/sys/class/mtd%s/size", mtd_device) == -1) {
+    return 1;
+  }
+  FILE *fp = fopen(sysfs_name, "r");
+  free(sysfs_name);
+  if (fp == NULL) {
+    return 1;
+  }
+  int ret = (fscanf(fp, "%" PRIu64 "\n", size) != 1);
+  fclose(fp);
+  return ret;
+}
+
+// TODO(b:184812319): Remove these functions and use subprocess_run everywhere.
+int ForkExecV(const char *cwd, const char *const argv[]) {
+  pid_t pid = fork();
+  if (pid == -1) {
+    return -1;
+  }
+  int status = -1;
+  if (pid == 0) {
+    if (cwd && chdir(cwd) != 0) {
+      return -1;
+    }
+    execv(argv[0], (char *const *)argv);
+    // If this is reached, execv fails.
+    err(-1, "Cannot exec %s in %s.", argv[0], cwd);
+  } else {
+    if (waitpid(pid, &status, 0) != -1 && WIFEXITED(status))
+      return WEXITSTATUS(status);
+  }
+  return status;
+}
+
+static int ForkExecL(const char *cwd, const char *cmd, ...) {
+  int argc;
+  va_list ap;
+  va_start(ap, cmd);
+  for (argc = 1; va_arg(ap, char *) != NULL; ++argc);
+  va_end(ap);
+
+  va_start(ap, cmd);
+  const char **argv = calloc(argc + 1, sizeof(char *));
+  if (argv == NULL) {
+    errno = ENOMEM;
+    va_end(ap);
+    return -1;
+  }
+  argv[0] = cmd;
+  int i;
+  for (i = 1; i < argc; ++i) {
+    argv[i] = va_arg(ap, char *);
+  }
+  va_end(ap);
+
+  int ret = ForkExecV(cwd, argv);
+  free(argv);
+  return ret;
+}
+
+static int read_write(int source_fd,
+                      uint64_t size,
+                      const char *src_name,
+                      int idx) {
+  int ret = 1;
+  const int bufsize = 4096;
+  char *buf = malloc(bufsize);
+  if (buf == NULL) {
+    goto clean_exit;
+  }
+
+  ret++;
+  char *dest;
+  if (asprintf(&dest, "%s_%d", src_name, idx) == -1) {
+    goto free_buf;
+  }
+
+  ret++;
+  int dest_fd = open(dest, O_WRONLY | O_CLOEXEC | O_CREAT, 0600);
+  if (dest_fd < 0) {
+    goto free_dest;
+  }
+
+  ret++;
+  uint64_t copied = 0;
+  ssize_t nr_read;
+  ssize_t nr_write;
+  while (copied < size) {
+    size_t to_read = size - copied;
+    if (to_read > bufsize) {
+      to_read = bufsize;
+    }
+    nr_read = read(source_fd, buf, to_read);
+    if (nr_read < 0) {
+      goto close_dest_fd;
+    }
+    nr_write = 0;
+    while (nr_write < nr_read) {
+      ssize_t s = write(dest_fd, buf + nr_write, nr_read - nr_write);
+      if (s < 0) {
+        goto close_dest_fd;
+      }
+      nr_write += s;
+    }
+    copied += nr_read;
+  }
+
+  ret = 0;
+
+close_dest_fd:
+  close(dest_fd);
+free_dest:
+  free(dest);
+free_buf:
+  free(buf);
+clean_exit:
+  return ret;
+}
+
+static int split_gpt(const char *dir_name, const char *file_name) {
+  int ret = 1;
+  char *source;
+  if (asprintf(&source, "%s/%s", dir_name, file_name) == -1) {
+    goto clean_exit;
+  }
+
+  ret++;
+  int fd = open(source, O_RDONLY | O_CLOEXEC);
+  if (fd < 0) {
+    goto free_source;
+  }
+
+  ret++;
+  struct stat stat;
+  if (fstat(fd, &stat) != 0 || (stat.st_size & 1) != 0) {
+    goto close_fd;
+  }
+  uint64_t half_size = stat.st_size / 2;
+
+  ret++;
+  if (read_write(fd, half_size, source, 1) != 0 ||
+      read_write(fd, half_size, source, 2) != 0) {
+    goto close_fd;
+  }
+
+  ret = 0;
+close_fd:
+  close(fd);
+free_source:
+  free(source);
+clean_exit:
+  return ret;
+}
+
+static int remove_file_or_dir(const char *fpath, const struct stat *sb,
+                              int typeflag, struct FTW *ftwbuf) {
+  return remove(fpath);
+}
+
+int RemoveDir(const char *dir) {
+  return nftw(dir, remove_file_or_dir, 20, FTW_DEPTH | FTW_PHYS);
+}
+
+// Read RW_GPT from NOR flash to "rw_gpt" in a temp dir |temp_dir_template|.
+// |temp_dir_template| is passed to mkdtemp() so it must satisfy all
+// requirements by mkdtemp.
+// TODO(b:184812319): Replace this function with flashrom_read.
+int ReadNorFlash(char *temp_dir_template) {
+  int ret = 0;
+
+  // Create a temp dir to work in.
+  ret++;
+  if (mkdtemp(temp_dir_template) == NULL) {
+    Error("Cannot create a temporary directory.\n");
+    return ret;
+  }
+
+  // Read RW_GPT section from NOR flash to "rw_gpt".
+  ret++;
+
+  char *cwd = getcwd(NULL, 0);
+  if (!cwd) {
+    Error("Cannot get current directory.\n");
+    return ret;
+  }
+  if (chdir(temp_dir_template) < 0) {
+    Error("Cannot change directory.\n");
+    goto out_free;
+  }
+  const char *const argv[] = {FLASHROM_PATH, "-i", "RW_GPT:rw_gpt", "-r"};
+  // Redirect stdout to /dev/null so that flashrom does not muck up cgpt's
+  // output.
+  if (subprocess_run(argv, &subprocess_null, &subprocess_null, NULL) != 0) {
+    Error("Cannot exec flashrom to read from RW_GPT section.\n");
+    RemoveDir(temp_dir_template);
+  } else {
+    ret = 0;
+  }
+  if (chdir(cwd) < 0) {
+    Error("Cannot change directory back to original.\n");
+    goto out_free;
+  }
+
+out_free:
+  free(cwd);
+  return ret;
+}
+
+// Write "rw_gpt" back to NOR flash. We write the file in two parts for safety.
+// TODO(b:184812319): Replace this function with flashrom_write.
+int WriteNorFlash(const char *dir) {
+  int ret = 0;
+
+  ret++;
+  if (split_gpt(dir, "rw_gpt") != 0) {
+    Error("Cannot split rw_gpt in two.\n");
+    return ret;
+  }
+  ret++;
+  int nr_fails = 0;
+
+  char *cwd = getcwd(NULL, 0);
+  if (!cwd) {
+    Error("Cannot get current directory.\n");
+    return ret;
+  }
+  if (chdir(dir) < 0) {
+    Error("Cannot change directory.\n");
+    goto out_free;
+  }
+  const char *const argv1[] = {FLASHROM_PATH, "-i", "RW_GPT_PRIMARY:rw_gpt_1",
+                "-w", "--noverify-all"};
+  // Redirect stdout to /dev/null so that flashrom does not muck up cgpt's
+  // output.
+  if (subprocess_run(argv1, &subprocess_null, &subprocess_null, NULL) != 0) {
+    Warning("Cannot write the 1st half of rw_gpt back with flashrom.\n");
+    nr_fails++;
+  }
+  const char *const argv2[] = {FLASHROM_PATH, "-i", "RW_GPT_SECONDARY:rw_gpt_2",
+                "-w", "--noverify-all"};
+  // Redirect stdout to /dev/null so that flashrom does not muck up cgpt's
+  // output.
+  if (subprocess_run(argv2, &subprocess_null, &subprocess_null, NULL) != 0) {
+    Warning("Cannot write the 2nd half of rw_gpt back with flashrom.\n");
+    nr_fails++;
+  }
+  if (chdir(cwd) < 0) {
+    Error("Cannot change directory back to original.\n");
+    goto out_free;
+  }
+  switch (nr_fails) {
+    case 0: ret = 0; break;
+    case 1: Warning("It might still be okay.\n"); break;
+    case 2: Error("Cannot write both parts back with flashrom.\n"); break;
+  }
+
+out_free:
+  free(cwd);
+  return ret;
+}
diff --git a/cgpt/cgpt_nor.h b/cgpt/cgpt_nor.h
new file mode 100644 (file)
index 0000000..4746089
--- /dev/null
@@ -0,0 +1,34 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * This module provides some utility functions to use "flashrom" to read from
+ * and write to NOR flash.
+ */
+
+#ifndef VBOOT_REFERENCE_CGPT_NOR_H_
+#define VBOOT_REFERENCE_CGPT_NOR_H_
+
+// Obtain the MTD size from its sysfs node. |mtd_device| should point to
+// a dev node such as /dev/mtd0. This function returns 0 on success.
+int GetMtdSize(const char *mtd_device, uint64_t *size);
+
+// Exec |argv| in |cwd|. Return -1 on error, or exit code on success. |argv|
+// must be terminated with a NULL element as is required by execv().
+int ForkExecV(const char *cwd, const char *const argv[]);
+
+// Similar to ForkExecV but with a vararg instead of an array of pointers.
+int ForkExecL(const char *cwd, const char *cmd, ...);
+
+// Exec "rm" to remove |dir|.
+int RemoveDir(const char *dir);
+
+// Read RW_GPT from NOR flash to "rw_gpt" in a temp dir |temp_dir_template|.
+// |temp_dir_template| is passed to mkdtemp() so it must satisfy all
+// requirements by mkdtemp().
+int ReadNorFlash(char *temp_dir_template);
+
+// Write "rw_gpt" back to NOR flash. We write the file in two parts for safety.
+int WriteNorFlash(const char *dir);
+
+#endif  /* VBOOT_REFERENCE_CGPT_NOR_H_ */
diff --git a/cgpt/cgpt_prioritize.c b/cgpt/cgpt_prioritize.c
new file mode 100644 (file)
index 0000000..6d53f59
--- /dev/null
@@ -0,0 +1,215 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <string.h>
+
+#include "cgpt.h"
+#include "cgptlib_internal.h"
+#include "vboot_host.h"
+
+//////////////////////////////////////////////////////////////////////////////
+// We need a sorted list of priority groups, where each element in the list
+// contains an unordered list of GPT partition numbers.
+
+#define MAX_GROUPS 17                   // 0-15, plus one "higher"
+
+typedef struct {
+  int priority;                         // priority of this group
+  int num_parts;                        // number of partitions in this group
+  uint32_t *part;                       // array of partitions in this group
+} group_t;
+
+typedef struct {
+  int max_parts;                       // max number of partitions in any group
+  int num_groups;                      // number of non-empty groups
+  group_t group[MAX_GROUPS];           // array of groups
+} group_list_t;
+
+
+static group_list_t *NewGroupList(int max_p) {
+  int i;
+  group_list_t *gl = (group_list_t *)malloc(sizeof(group_list_t));
+  require(gl);
+  gl->max_parts = max_p;
+  gl->num_groups = 0;
+  // reserve space for the maximum number of partitions in every group
+  for (i=0; i<MAX_GROUPS; i++) {
+    gl->group[i].priority = -1;
+    gl->group[i].num_parts = 0;
+    gl->group[i].part = (uint32_t *)malloc(sizeof(uint32_t) * max_p);
+    require(gl->group[i].part);
+  }
+
+  return gl;
+}
+
+static void FreeGroups(group_list_t *gl) {
+  int i;
+  for (i=0; i<MAX_GROUPS; i++)
+    free(gl->group[i].part);
+  free(gl);
+}
+
+static void AddToGroup(group_list_t *gl, int priority, int partition) {
+  int i;
+  // See if I've already got a group with this priority
+  for (i=0; i<gl->num_groups; i++)
+    if (gl->group[i].priority == priority)
+      break;
+  if (i == gl->num_groups) {
+    // no, add a group
+    require(i < MAX_GROUPS);
+    gl->num_groups++;
+    gl->group[i].priority = priority;
+  }
+  // add the partition to it
+  int j = gl->group[i].num_parts;
+  gl->group[i].part[j] = partition;
+  gl->group[i].num_parts++;
+}
+
+static void ChangeGroup(group_list_t *gl, int old_priority, int new_priority) {
+  int i;
+  for (i=0; i<gl->num_groups; i++)
+    if (gl->group[i].priority == old_priority) {
+      gl->group[i].priority = new_priority;
+      break;
+    }
+}
+
+static void SortGroups(group_list_t *gl) {
+  int i, j;
+  group_t tmp;
+
+  // straight insertion sort is fast enough
+  for (i=1; i<gl->num_groups; i++) {
+    tmp = gl->group[i];
+    for (j=i; j && (gl->group[j-1].priority < tmp.priority); j--)
+      gl->group[j] = gl->group[j-1];
+    gl->group[j] = tmp;
+  }
+}
+
+int CgptPrioritize(CgptPrioritizeParams *params) {
+  struct drive drive;
+
+  int priority;
+
+  int gpt_retval;
+  uint32_t index;
+  uint32_t max_part;
+  int num_kernels;
+  int i,j;
+  group_list_t *groups;
+
+  if (params == NULL)
+    return CGPT_FAILED;
+
+  if (CGPT_OK != DriveOpen(params->drive_name, &drive, O_RDWR,
+                           params->drive_size))
+    return CGPT_FAILED;
+
+  if (GPT_SUCCESS != (gpt_retval = GptValidityCheck(&drive.gpt))) {
+    Error("GptValidityCheck() returned %d: %s\n",
+          gpt_retval, GptError(gpt_retval));
+    goto bad;
+  }
+
+  if (CGPT_OK != CheckValid(&drive)) {
+    Error("please run 'cgpt repair' before reordering the priority.\n");
+    (void) DriveClose(&drive, 0);
+    return CGPT_OK;
+  }
+
+  max_part = GetNumberOfEntries(&drive);
+
+  if (params->set_partition) {
+    if (params->set_partition < 1 || params->set_partition > max_part) {
+      Error("invalid partition number: %d (must be between 1 and %d\n",
+            params->set_partition, max_part);
+      goto bad;
+    }
+    index = params->set_partition - 1;
+    // it must be a kernel
+    if (!IsKernel(&drive, PRIMARY, index)) {
+      Error("partition %d is not a ChromeOS kernel\n", params->set_partition);
+      goto bad;
+    }
+  }
+
+  // How many kernel partitions do I have?
+  num_kernels = 0;
+  for (i = 0; i < max_part; i++) {
+    if (IsKernel(&drive, PRIMARY, i))
+      num_kernels++;
+  }
+
+  if (num_kernels) {
+    // Determine the current priority groups
+    groups = NewGroupList(num_kernels);
+    for (i = 0; i < max_part; i++) {
+      if (!IsKernel(&drive, PRIMARY, i))
+        continue;
+
+      priority = GetPriority(&drive, PRIMARY, i);
+
+      // Is this partition special?
+      if (params->set_partition && (i+1 == params->set_partition)) {
+        params->orig_priority = priority;  // remember the original priority
+        if (params->set_friends)
+          AddToGroup(groups, priority, i); // we'll move them all later
+        else
+          AddToGroup(groups, 99, i);       // move only this one
+      } else {
+        AddToGroup(groups, priority, i);   // just remember
+      }
+    }
+
+    // If we're including friends, then change the original group priority
+    if (params->set_partition && params->set_friends) {
+      ChangeGroup(groups, params->orig_priority, 99);
+    }
+
+    // Sorting gives the new order. Now we just need to reassign the
+    // priorities.
+    SortGroups(groups);
+
+    // We'll never lower anything to zero, so if the last group is priority zero
+    // we can ignore it.
+    i = groups->num_groups;
+    if (groups->group[i-1].priority == 0)
+      groups->num_groups--;
+
+    // Where do we start?
+    if (params->max_priority)
+      priority = params->max_priority;
+    else
+      priority = groups->num_groups > 15 ? 15 : groups->num_groups;
+
+    // Figure out what the new values should be
+    for (i=0; i<groups->num_groups; i++) {
+      groups->group[i].priority = priority;
+      if (priority > 1)
+        priority--;
+    }
+
+    // Now apply the ranking to the GPT
+    for (i=0; i<groups->num_groups; i++)
+      for (j=0; j<groups->group[i].num_parts; j++)
+        SetPriority(&drive, PRIMARY,
+                    groups->group[i].part[j], groups->group[i].priority);
+
+    FreeGroups(groups);
+  }
+
+  // Write it all out
+  UpdateAllEntries(&drive);
+
+  return DriveClose(&drive, 1);
+
+bad:
+  (void) DriveClose(&drive, 0);
+  return CGPT_FAILED;
+}
diff --git a/cgpt/cgpt_repair.c b/cgpt/cgpt_repair.c
new file mode 100644 (file)
index 0000000..b4ddde6
--- /dev/null
@@ -0,0 +1,38 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <string.h>
+
+#include "cgpt.h"
+#include "cgptlib_internal.h"
+#include "vboot_host.h"
+
+int CgptRepair(CgptRepairParams *params) {
+  struct drive drive;
+
+  if (params == NULL)
+    return CGPT_FAILED;
+
+  if (CGPT_OK != DriveOpen(params->drive_name, &drive, O_RDWR,
+                           params->drive_size))
+    return CGPT_FAILED;
+
+  int gpt_retval = GptValidityCheck(&drive.gpt);
+  if (params->verbose)
+    printf("GptValidityCheck() returned %d: %s\n",
+           gpt_retval, GptError(gpt_retval));
+
+  GptRepair(&drive.gpt);
+  if (drive.gpt.modified & GPT_MODIFIED_HEADER1)
+    printf("Primary Header is updated.\n");
+  if (drive.gpt.modified & GPT_MODIFIED_ENTRIES1)
+    printf("Primary Entries is updated.\n");
+  if (drive.gpt.modified & GPT_MODIFIED_ENTRIES2)
+    printf("Secondary Entries is updated.\n");
+  if (drive.gpt.modified & GPT_MODIFIED_HEADER2)
+    printf("Secondary Header is updated.\n");
+
+  return DriveClose(&drive, 1);
+}
diff --git a/cgpt/cgpt_show.c b/cgpt/cgpt_show.c
new file mode 100644 (file)
index 0000000..3923815
--- /dev/null
@@ -0,0 +1,410 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#define __STDC_FORMAT_MACROS
+
+#include <string.h>
+
+#include "cgpt.h"
+#include "cgptlib_internal.h"
+#include "crc32.h"
+#include "vboot_host.h"
+
+/* Generate output like:
+ *
+ *  [AB-CD-EF-01]   for group = 1
+ *  [ABCD-EF01]     for group = 3  (low byte first)
+ *
+ * Needs (size*3-1+3) bytes of space in 'buf' (included the tailing '\0').
+ */
+#define BUFFER_SIZE(size) (size *3 - 1 + 3)
+static short Uint8To2Chars(const uint8_t t) {
+  int h = t >> 4;
+  int l = t & 0xf;
+  h = (h >= 0xA) ? h - 0xA + 'A' : h + '0';
+  l = (l >= 0xA) ? l - 0xA + 'A' : l + '0';
+  return (h << 8) + l;
+}
+
+static void RawDump(const uint8_t *memory, const int size,
+                    char *buf, int group) {
+  int i, outlen = 0;
+  buf[outlen++] = '[';
+  for (i = 0; i < size; ++i) {
+    short c2 = Uint8To2Chars(memory[i]);
+    buf[outlen++] = c2 >> 8;
+    buf[outlen++] = c2 & 0xff;
+    if (i != (size - 1) && ((i + 1) % group) == 0)
+      buf[outlen++] = '-';
+  }
+  buf[outlen++] = ']';
+  buf[outlen++] = '\0';
+}
+
+/* Output formatters */
+#define TITLE_FMT      "%12s%12s%8s  %s\n"
+#define GPT_FMT        "%12"PRId64"%12"PRId64"%8s  %s\n"
+#define GPT_MORE       "%12s%12s%8s  ", "", "", ""
+#define PARTITION_FMT  "%12"PRId64"%12"PRId64"%8d  %s\n"
+#define PARTITION_MORE "%12s%12s%8s  %s%s\n", "", "", ""
+
+static void PrintSignature(const char *indent, const char *sig, size_t n,
+                           int raw) {
+  size_t i;
+  printf("%sSig: ", indent);
+  if (!raw) {
+    printf("[");
+    for (i = 0; i < n; ++i)
+      printf("%c", sig[i]);
+    printf("]");
+  } else {
+    char *buf = malloc(BUFFER_SIZE(n));
+    RawDump((uint8_t *)sig, n, buf, 1);
+    printf("%s", buf);
+    free(buf);
+  }
+  printf("\n");
+}
+
+static void HeaderDetails(GptHeader *header, GptEntry *entries,
+                          const char *indent, int raw) {
+  PrintSignature(indent, header->signature, sizeof(header->signature), raw);
+
+  printf("%sRev: 0x%08x\n", indent, header->revision);
+  printf("%sSize: %d (blocks)\n", indent, header->size);
+  printf("%sHeader CRC: 0x%08x %s\n", indent, header->header_crc32,
+         (HeaderCrc(header) != header->header_crc32) ? "(INVALID)" : "");
+  printf("%sMy LBA: %lld\n", indent, (long long)header->my_lba);
+  printf("%sAlternate LBA: %lld\n", indent, (long long)header->alternate_lba);
+  printf("%sFirst LBA: %lld\n", indent, (long long)header->first_usable_lba);
+  printf("%sLast LBA: %lld\n", indent, (long long)header->last_usable_lba);
+
+  {  /* For disk guid */
+    char buf[GUID_STRLEN];
+    GuidToStr(&header->disk_uuid, buf, GUID_STRLEN);
+    printf("%sDisk UUID: %s\n", indent, buf);
+  }
+
+  printf("%sEntries LBA: %lld\n", indent, (long long)header->entries_lba);
+  printf("%sNumber of entries: %d\n", indent, header->number_of_entries);
+  printf("%sSize of entry: %d\n", indent, header->size_of_entry);
+  printf("%sEntries CRC: 0x%08x %s\n", indent, header->entries_crc32,
+         header->entries_crc32 !=
+             Crc32((const uint8_t *)entries,header->size_of_entry *
+                                            header->number_of_entries)
+             ? "INVALID" : ""
+         );
+}
+
+void EntryDetails(GptEntry *entry, uint32_t index, int raw) {
+  char contents[256];                   // scratch buffer for formatting output
+  uint8_t label[GPT_PARTNAME_LEN];
+  char type[GUID_STRLEN], unique[GUID_STRLEN];
+  int clen;
+
+  UTF16ToUTF8(entry->name, sizeof(entry->name) / sizeof(entry->name[0]),
+              label, sizeof(label));
+  require(snprintf(contents, sizeof(contents),
+                   "Label: \"%s\"", label) < sizeof(contents));
+  printf(PARTITION_FMT, (uint64_t)entry->starting_lba,
+         (uint64_t)(entry->ending_lba - entry->starting_lba + 1),
+         index+1, contents);
+
+  if (!raw && CGPT_OK == ResolveType(&entry->type, type)) {
+    printf(PARTITION_MORE, "Type: ", type);
+  } else {
+    GuidToStr(&entry->type, type, GUID_STRLEN);
+    printf(PARTITION_MORE, "Type: ", type);
+  }
+  GuidToStr(&entry->unique, unique, GUID_STRLEN);
+  printf(PARTITION_MORE, "UUID: ", unique);
+
+  clen = 0;
+  if (!raw) {
+    if (GuidEqual(&guid_chromeos_kernel, &entry->type)) {
+      int tries = (entry->attrs.fields.gpt_att &
+                   CGPT_ATTRIBUTE_TRIES_MASK) >>
+          CGPT_ATTRIBUTE_TRIES_OFFSET;
+      int successful = (entry->attrs.fields.gpt_att &
+                        CGPT_ATTRIBUTE_SUCCESSFUL_MASK) >>
+          CGPT_ATTRIBUTE_SUCCESSFUL_OFFSET;
+      int priority = (entry->attrs.fields.gpt_att &
+                      CGPT_ATTRIBUTE_PRIORITY_MASK) >>
+          CGPT_ATTRIBUTE_PRIORITY_OFFSET;
+      clen = snprintf(contents, sizeof(contents),
+                      "priority=%d tries=%d successful=%d ",
+                      priority, tries, successful);
+    }
+
+    if (entry->attrs.fields.required) {
+      clen += snprintf(contents + clen, sizeof(contents) - clen,
+                       "required=%d ", entry->attrs.fields.required);
+      require(clen < sizeof(contents));
+    }
+
+    if (entry->attrs.fields.efi_ignore) {
+      clen += snprintf(contents + clen, sizeof(contents) - clen,
+                       "efi_ignore=%d ", entry->attrs.fields.efi_ignore);
+      require(clen < sizeof(contents));
+    }
+
+    if (entry->attrs.fields.legacy_boot) {
+      clen += snprintf(contents + clen, sizeof(contents) - clen,
+                       "legacy_boot=%d ", entry->attrs.fields.legacy_boot);
+      require(clen < sizeof(contents));
+    }
+  } else {
+    clen = snprintf(contents, sizeof(contents),
+                    "[%x]", entry->attrs.fields.gpt_att);
+  }
+  require(clen < sizeof(contents));
+  if (clen)
+    printf(PARTITION_MORE, "Attr: ", contents);
+}
+
+static void EntriesDetails(struct drive *drive, const int secondary, int raw) {
+  uint32_t i;
+
+  for (i = 0; i < GetNumberOfEntries(drive); ++i) {
+    GptEntry *entry;
+    entry = GetEntry(&drive->gpt, secondary, i);
+
+    if (GuidIsZero(&entry->type))
+      continue;
+
+    EntryDetails(entry, i, raw);
+  }
+}
+
+static int GptShow(struct drive *drive, CgptShowParams *params) {
+  int gpt_retval;
+  if (GPT_SUCCESS != (gpt_retval = GptValidityCheck(&drive->gpt))) {
+    Error("GptValidityCheck() returned %d: %s\n",
+          gpt_retval, GptError(gpt_retval));
+    return CGPT_FAILED;
+  }
+
+  if (params->partition) {                      // show single partition
+
+    if (params->partition > GetNumberOfEntries(drive)) {
+      Error("invalid partition number: %d\n", params->partition);
+      return CGPT_FAILED;
+    }
+
+    uint32_t index = params->partition - 1;
+    GptEntry *entry = GetEntry(&drive->gpt, ANY_VALID, index);
+    char buf[256];                      // scratch buffer for string conversion
+
+    if (params->single_item) {
+      switch(params->single_item) {
+      case 'b':
+        printf("%" PRId64 "\n", entry->starting_lba);
+        break;
+      case 's': {
+        uint64_t size = 0;
+        // If these aren't actually defined, don't show anything
+        if (entry->ending_lba || entry->starting_lba)
+          size = entry->ending_lba - entry->starting_lba + 1;
+        printf("%" PRId64 "\n", size);
+        break;
+      }
+      case 't':
+        GuidToStr(&entry->type, buf, sizeof(buf));
+        printf("%s\n", buf);
+        break;
+      case 'u':
+        GuidToStr(&entry->unique, buf, sizeof(buf));
+        printf("%s\n", buf);
+        break;
+      case 'l':
+        UTF16ToUTF8(entry->name, sizeof(entry->name) / sizeof(entry->name[0]),
+                    (uint8_t *)buf, sizeof(buf));
+        printf("%s\n", buf);
+        break;
+      case 'S':
+        printf("%d\n", GetSuccessful(drive, ANY_VALID, index));
+        break;
+      case 'T':
+        printf("%d\n", GetTries(drive, ANY_VALID, index));
+        break;
+      case 'P':
+        printf("%d\n", GetPriority(drive, ANY_VALID, index));
+        break;
+      case 'R':
+        printf("%d\n", GetRequired(drive, ANY_VALID, index));
+        break;
+      case 'B':
+        printf("%d\n", GetLegacyBoot(drive, ANY_VALID, index));
+        break;
+      case 'A':
+        printf("%#x\n", entry->attrs.fields.gpt_att);
+        break;
+      }
+    } else {
+      printf(TITLE_FMT, "start", "size", "part", "contents");
+      EntryDetails(entry, index, params->numeric);
+    }
+
+  } else if (params->quick) {                   // show all partitions, quickly
+    uint32_t i;
+    GptEntry *entry;
+    char type[GUID_STRLEN];
+
+    for (i = 0; i < GetNumberOfEntries(drive); ++i) {
+      entry = GetEntry(&drive->gpt, ANY_VALID, i);
+
+      if (GuidIsZero(&entry->type))
+        continue;
+
+      if (!params->numeric && CGPT_OK == ResolveType(&entry->type, type)) {
+      } else {
+        GuidToStr(&entry->type, type, GUID_STRLEN);
+      }
+      printf(PARTITION_FMT, (uint64_t)entry->starting_lba,
+             (uint64_t)(entry->ending_lba - entry->starting_lba + 1),
+             i+1, type);
+    }
+  } else {                              // show all partitions
+    GptEntry *entries;
+
+    if (params->debug || params->verbose) {
+      printf("Drive details:\n");
+      printf("    Total Size (bytes): %" PRIu64 "\n", drive->size);
+      printf("    LBA Size (bytes): %d\n", drive->gpt.sector_bytes);
+      if (drive->gpt.flags & GPT_FLAG_EXTERNAL) {
+        printf("    Drive (where GPT lives) Size (blocks): %" PRIu64 "\n",
+               drive->gpt.gpt_drive_sectors);
+        printf("    Drive (where partitions live) Size (blocks): %" PRIu64 "\n",
+               drive->gpt.streaming_drive_sectors);
+      } else {
+        // We know gpt_drive_sectors == streaming_drive_sectors here.
+        printf("    Drive Size (blocks): %" PRIu64 "\n",
+               drive->gpt.gpt_drive_sectors);
+      }
+      printf("\n");
+    }
+
+    if (CGPT_OK != ReadPMBR(drive)) {
+      Error("Unable to read PMBR\n");
+      return CGPT_FAILED;
+    }
+
+    printf(TITLE_FMT, "start", "size", "part", "contents");
+    char buf[256];                      // buffer for formatted PMBR content
+    PMBRToStr(&drive->pmbr, buf, sizeof(buf)); // will exit if buf is too small
+    printf(GPT_FMT, (uint64_t)0, (uint64_t)GPT_PMBR_SECTORS, "", buf);
+
+    if (drive->gpt.ignored & MASK_PRIMARY) {
+      printf(GPT_FMT, (uint64_t)GPT_PMBR_SECTORS,
+             (uint64_t)GPT_HEADER_SECTORS, "IGNORED", "Pri GPT header");
+    } else {
+      if (drive->gpt.valid_headers & MASK_PRIMARY) {
+        printf(GPT_FMT, (uint64_t)GPT_PMBR_SECTORS,
+               (uint64_t)GPT_HEADER_SECTORS, "", "Pri GPT header");
+      } else {
+        printf(GPT_FMT, (uint64_t)GPT_PMBR_SECTORS,
+               (uint64_t)GPT_HEADER_SECTORS, "INVALID", "Pri GPT header");
+      }
+
+      if (params->debug ||
+          ((drive->gpt.valid_headers & MASK_PRIMARY) && params->verbose)) {
+        GptHeader *header;
+        char indent[64];
+
+        require(snprintf(indent, sizeof(indent), GPT_MORE) < sizeof(indent));
+        header = (GptHeader*)drive->gpt.primary_header;
+        entries = (GptEntry*)drive->gpt.primary_entries;
+        HeaderDetails(header, entries, indent, params->numeric);
+      }
+
+      GptHeader* primary_header = (GptHeader*)drive->gpt.primary_header;
+      printf(GPT_FMT, (uint64_t)primary_header->entries_lba,
+             (uint64_t)CalculateEntriesSectors(primary_header,
+                         drive->gpt.sector_bytes),
+             drive->gpt.valid_entries & MASK_PRIMARY ? "" : "INVALID",
+             "Pri GPT table");
+
+      if (params->debug ||
+          (drive->gpt.valid_entries & MASK_PRIMARY))
+        EntriesDetails(drive, PRIMARY, params->numeric);
+    }
+
+    /****************************** Secondary *************************/
+    if (drive->gpt.ignored & MASK_SECONDARY) {
+      printf(GPT_FMT,
+             (uint64_t)(drive->gpt.gpt_drive_sectors - GPT_HEADER_SECTORS),
+             (uint64_t)GPT_HEADER_SECTORS, "IGNORED", "Sec GPT header");
+    } else {
+      GptHeader* secondary_header = (GptHeader*)drive->gpt.secondary_header;
+      printf(GPT_FMT, (uint64_t)secondary_header->entries_lba,
+             (uint64_t)CalculateEntriesSectors(secondary_header,
+                         drive->gpt.sector_bytes),
+             drive->gpt.valid_entries & MASK_SECONDARY ? "" : "INVALID",
+             "Sec GPT table");
+      /* We show secondary table details if any of following is true.
+       *   1. in debug mode.
+       *   2. primary table is being ignored
+       *   3. only secondary is valid.
+       *   4. secondary is not identical to primary.
+       */
+      if (params->debug || (drive->gpt.ignored & MASK_PRIMARY) ||
+          ((drive->gpt.valid_entries & MASK_SECONDARY) &&
+           (!(drive->gpt.valid_entries & MASK_PRIMARY) ||
+            memcmp(drive->gpt.primary_entries, drive->gpt.secondary_entries,
+                   secondary_header->number_of_entries *
+                   secondary_header->size_of_entry)))) {
+        EntriesDetails(drive, SECONDARY, params->numeric);
+      }
+
+      if (drive->gpt.valid_headers & MASK_SECONDARY) {
+        printf(GPT_FMT,
+               (uint64_t)(drive->gpt.gpt_drive_sectors - GPT_HEADER_SECTORS),
+               (uint64_t)GPT_HEADER_SECTORS, "", "Sec GPT header");
+      } else {
+        printf(GPT_FMT, (uint64_t)GPT_PMBR_SECTORS,
+               (uint64_t)GPT_HEADER_SECTORS, "INVALID", "Sec GPT header");
+      }
+      /* We show secondary header if any of following is true:
+       *   1. in debug mode.
+       *   2. primary table is being ignored
+       *   3. only secondary is valid.
+       *   4. secondary is not synonymous to primary and not ignored.
+       */
+      if (params->debug || (drive->gpt.ignored & MASK_PRIMARY) ||
+          ((drive->gpt.valid_headers & MASK_SECONDARY) &&
+           (!(drive->gpt.valid_headers & MASK_PRIMARY) ||
+            !IsSynonymous((GptHeader*)drive->gpt.primary_header,
+                          (GptHeader*)drive->gpt.secondary_header)) &&
+           params->verbose)) {
+        GptHeader *header;
+        char indent[64];
+
+        require(snprintf(indent, sizeof(indent), GPT_MORE) < sizeof(indent));
+        header = (GptHeader*)drive->gpt.secondary_header;
+        entries = (GptEntry*)drive->gpt.secondary_entries;
+        HeaderDetails(header, entries, indent, params->numeric);
+      }
+    }
+  }
+
+  CheckValid(drive);
+
+  return CGPT_OK;
+}
+
+int CgptShow(CgptShowParams *params) {
+  struct drive drive;
+
+  if (params == NULL)
+    return CGPT_FAILED;
+
+  if (CGPT_OK != DriveOpen(params->drive_name, &drive, O_RDONLY,
+                           params->drive_size))
+    return CGPT_FAILED;
+
+  int ret = GptShow(&drive, params);
+  DriveClose(&drive, 0);
+  return ret;
+}
diff --git a/cgpt/cgpt_wrapper.c b/cgpt/cgpt_wrapper.c
new file mode 100644 (file)
index 0000000..d26682d
--- /dev/null
@@ -0,0 +1,200 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * This utility wraps around "cgpt" execution to work with NAND. If the target
+ * device is an MTD device, this utility will read the GPT structures from
+ * FMAP, invokes "cgpt" on that, and writes the result back to NOR flash. */
+
+#include <err.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <inttypes.h>
+#include <limits.h>
+#if !defined(__FreeBSD__)
+#include <linux/major.h>
+#endif
+#include <stdbool.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+#if !defined(__FreeBSD__)
+#include <sys/sysmacros.h>
+#endif
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "cgpt.h"
+#include "cgpt_nor.h"
+#include "file_keys.h"
+
+// Check if cmdline |argv| has "-D". "-D" signifies that GPT structs are stored
+// off device, and hence we should not wrap around cgpt.
+static bool has_dash_D(int argc, const char *const argv[]) {
+  int i;
+  // We go from 2, because the second arg is a cgpt command such as "create".
+  for (i = 2; i < argc; ++i) {
+    if (strcmp("-D", argv[i]) == 0) {
+      return true;
+    }
+  }
+  return false;
+}
+
+// Check if |device_path| is an MTD device based on its major number being 90.
+static bool is_mtd(const char *device_path) {
+  struct stat stat;
+  if (lstat(device_path, &stat) != 0) {
+    return false;
+  }
+
+#if !defined(__FreeBSD__)
+  if (major(stat.st_rdev) == MTD_CHAR_MAJOR) {
+    return true;
+  }
+#endif
+  return false;
+}
+
+// Return the element in |argv| that is an MTD device.
+static const char *find_mtd_device(int argc, const char *const argv[]) {
+  int i;
+  for (i = 2; i < argc; ++i) {
+    if (is_mtd(argv[i])) {
+      return argv[i];
+    }
+  }
+  return NULL;
+}
+
+static int wrap_cgpt(int argc,
+                     const char *const argv[],
+                     const char *mtd_device) {
+  uint8_t original_hash[VB2_SHA1_DIGEST_SIZE];
+  uint8_t modified_hash[VB2_SHA1_DIGEST_SIZE];
+  int ret = 0;
+
+  // Create a temp dir to work in.
+  ret++;
+  char temp_dir[] = "/tmp/cgpt_wrapper.XXXXXX";
+  if (ReadNorFlash(temp_dir) != 0) {
+    return ret;
+  }
+  char rw_gpt_path[PATH_MAX];
+  if (snprintf(rw_gpt_path, sizeof(rw_gpt_path), "%s/rw_gpt", temp_dir) < 0) {
+    goto cleanup;
+  }
+  if (VB2_SUCCESS != DigestFile(rw_gpt_path, VB2_HASH_SHA1,
+                               original_hash, sizeof(original_hash))) {
+    Error("Cannot compute original GPT digest.\n");
+    goto cleanup;
+  }
+
+  // Obtain the MTD size.
+  ret++;
+  uint64_t drive_size = 0;
+  if (GetMtdSize(mtd_device, &drive_size) != 0) {
+    Error("Cannot get the size of %s.\n", mtd_device);
+    goto cleanup;
+  }
+
+  // Launch cgpt on "rw_gpt" with -D size.
+  ret++;
+  const char** my_argv = calloc(argc + 2 + 1, sizeof(char *));
+  if (my_argv == NULL) {
+    errno = ENOMEM;
+    goto cleanup;
+  }
+  memcpy(my_argv, argv, sizeof(char *) * argc);
+  char *real_cgpt;
+  if (asprintf(&real_cgpt, "%s.bin", argv[0]) == -1) {
+    free(my_argv);
+    goto cleanup;
+  }
+  my_argv[0] = real_cgpt;
+
+  int i;
+  for (i = 2; i < argc; ++i) {
+    if (strcmp(my_argv[i], mtd_device) == 0) {
+      my_argv[i] = rw_gpt_path;
+    }
+  }
+  my_argv[argc] = "-D";
+  char size[32];
+  snprintf(size, sizeof(size), "%" PRIu64, drive_size);
+  my_argv[argc + 1] = size;
+  i = ForkExecV(NULL, my_argv);
+  free(real_cgpt);
+  free(my_argv);
+  if (i != 0) {
+    Error("Cannot exec cgpt to modify rw_gpt.\n");
+    goto cleanup;
+  }
+
+  // Write back "rw_gpt" to NOR flash in two chunks.
+  ret++;
+  if (VB2_SUCCESS == DigestFile(rw_gpt_path, VB2_HASH_SHA1,
+                               modified_hash, sizeof(modified_hash))) {
+    if (memcmp(original_hash, modified_hash, VB2_SHA1_DIGEST_SIZE) != 0) {
+      ret = WriteNorFlash(temp_dir);
+    } else {
+      ret = 0;
+    }
+  }
+
+cleanup:
+  RemoveDir(temp_dir);
+  return ret;
+}
+
+int main(int argc, const char *argv[]) {
+  char resolved_cgpt[PATH_MAX];
+  pid_t pid = getpid();
+  char exe_link[40];
+  int retval = 0;
+
+  if (argc < 1) {
+    return -1;
+  }
+
+  const char *orig_argv0 = argv[0];
+
+  snprintf(exe_link, sizeof(exe_link), "/proc/%d/exe", pid);
+  memset(resolved_cgpt, 0, sizeof(resolved_cgpt));
+  if (readlink(exe_link, resolved_cgpt, sizeof(resolved_cgpt) - 1) == -1) {
+    perror("readlink");
+    return -1;
+  }
+
+  argv[0] = resolved_cgpt;
+
+  if (argc > 2 && !has_dash_D(argc, argv)) {
+    const char *mtd_device = find_mtd_device(argc, argv);
+    if (mtd_device) {
+      retval = wrap_cgpt(argc, argv, mtd_device);
+      goto cleanup;
+    }
+  }
+
+  // Forward to cgpt as-is. Real cgpt has been renamed cgpt.bin.
+  char *real_cgpt;
+  if (asprintf(&real_cgpt, "%s.bin", argv[0]) == -1) {
+    retval = -1;
+    goto cleanup;
+  }
+  argv[0] = real_cgpt;
+  if (execv(argv[0], (char * const *)argv) == -1) {
+    err(-2, "execv(%s) failed", real_cgpt);
+  }
+  free(real_cgpt);
+  retval = -2;
+
+cleanup:
+  argv[0] = orig_argv0;
+  return retval;
+}
diff --git a/cgpt/cmd_add.c b/cgpt/cmd_add.c
new file mode 100644 (file)
index 0000000..b229ef1
--- /dev/null
@@ -0,0 +1,158 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <getopt.h>
+#include <string.h>
+
+#include "cgpt.h"
+#include "vboot_host.h"
+
+extern const char* progname;
+
+static void Usage(void)
+{
+  printf("\nUsage: %s add [OPTIONS] DRIVE\n\n"
+         "Add, edit, or remove a partition entry.\n\n"
+         "Options:\n"
+         "  -D NUM       Size (in bytes) of the disk where partitions reside;\n"
+         "                 default 0, meaning partitions and GPT structs are\n"
+         "                 both on DRIVE\n"
+         "  -i NUM       Specify partition (default is next available)\n"
+         "  -b NUM       First block (a.k.a. start of partition)\n"
+         "  -s NUM       Size (in blocks)\n"
+         "  -t GUID      Partition Type GUID\n"
+         "  -u GUID      Partition Unique ID\n"
+         "  -l LABEL     Label\n"
+         "  -S NUM       set Successful flag (0|1)\n"
+         "  -T NUM       set Tries flag (0-15)\n"
+         "  -P NUM       set Priority flag (0-15)\n"
+         "  -R NUM       set Required flag (0|1)\n"
+         "  -B NUM       set Legacy Boot flag (0|1)\n"
+         "  -A NUM       set raw 16-bit attribute value (bits 48-63)\n"
+         "\n"
+         "Use the -i option to modify an existing partition.\n"
+         "The -b, -s, and -t options must be given for new partitions.\n"
+         "\n", progname);
+  PrintTypes();
+}
+
+int cmd_add(int argc, char *argv[]) {
+
+  CgptAddParams params;
+  memset(&params, 0, sizeof(params));
+
+  int c;
+  int errorcnt = 0;
+  char *e = 0;
+
+  opterr = 0;                     // quiet, you
+  while ((c=getopt(argc, argv, ":hi:b:s:t:u:l:S:T:P:R:B:A:D:")) != -1)
+  {
+    switch (c)
+    {
+    case 'D':
+      params.drive_size = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'i':
+      params.partition = (uint32_t)strtoul(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'b':
+      params.set_begin = 1;
+      params.begin = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 's':
+      params.set_size = 1;
+      params.size = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 't':
+      params.set_type = 1;
+      if (CGPT_OK != SupportedType(optarg, &params.type_guid) &&
+          CGPT_OK != StrToGuid(optarg, &params.type_guid)) {
+        Error("invalid argument to -%c: %s\n", c, optarg);
+        errorcnt++;
+      }
+      break;
+    case 'u':
+      params.set_unique = 1;
+      if (CGPT_OK != StrToGuid(optarg, &params.unique_guid)) {
+        Error("invalid argument to -%c: %s\n", c, optarg);
+        errorcnt++;
+      }
+      break;
+    case 'l':
+      params.label = optarg;
+      break;
+    case 'S':
+      params.set_successful = 1;
+      params.successful = (uint32_t)strtoul(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      errorcnt += check_int_limit(c, params.successful, 0, 1);
+      break;
+    case 'T':
+      params.set_tries = 1;
+      params.tries = (uint32_t)strtoul(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      errorcnt += check_int_limit(c, params.tries, 0, 15);
+      break;
+    case 'P':
+      params.set_priority = 1;
+      params.priority = (uint32_t)strtoul(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      errorcnt += check_int_limit(c, params.priority, 0, 15);
+      break;
+    case 'R':
+      params.set_required = 1;
+      params.required = (uint32_t)strtoul(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      errorcnt += check_int_limit(c, params.required, 0, 1);
+      break;
+    case 'B':
+      params.set_legacy_boot = 1;
+      params.legacy_boot = (uint32_t)strtoul(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      errorcnt += check_int_limit(c, params.legacy_boot, 0, 1);
+      break;
+    case 'A':
+      params.set_raw = 1;
+      params.raw_value = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+
+    case 'h':
+      Usage();
+      return CGPT_OK;
+    case '?':
+      Error("unrecognized option: -%c\n", optopt);
+      errorcnt++;
+      break;
+    case ':':
+      Error("missing argument to -%c\n", optopt);
+      errorcnt++;
+      break;
+    default:
+      errorcnt++;
+      break;
+    }
+  }
+  if (errorcnt)
+  {
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  if (optind >= argc)
+  {
+    Error("missing drive argument\n");
+    return CGPT_FAILED;
+  }
+
+  params.drive_name = argv[optind];
+
+  return CgptAdd(&params);
+}
diff --git a/cgpt/cmd_boot.c b/cgpt/cmd_boot.c
new file mode 100644 (file)
index 0000000..a638deb
--- /dev/null
@@ -0,0 +1,90 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <getopt.h>
+#include <string.h>
+
+#include "cgpt.h"
+#include "vboot_host.h"
+
+extern const char* progname;
+
+static void Usage(void)
+{
+  printf("\nUsage: %s boot [OPTIONS] DRIVE\n\n"
+         "Edit the PMBR sector for legacy BIOSes\n\n"
+         "Options:\n"
+         "  -D NUM       Size (in bytes) of the disk where partitions reside;\n"
+         "                 default 0, meaning partitions and GPT structs are\n"
+         "                 both on DRIVE\n"
+         "  -i NUM       Set bootable partition\n"
+         "  -b FILE      Install bootloader code in the PMBR\n"
+         "  -p           Create legacy PMBR partition table\n"
+         "\n"
+         "With no options, it will just print the PMBR boot guid\n"
+         "\n", progname);
+}
+
+
+int cmd_boot(int argc, char *argv[]) {
+  CgptBootParams params;
+  memset(&params, 0, sizeof(params));
+
+
+  int c;
+  int errorcnt = 0;
+  char *e = 0;
+
+  opterr = 0;                     // quiet, you
+  while ((c=getopt(argc, argv, ":hi:b:pD:")) != -1)
+  {
+    switch (c)
+    {
+    case 'D':
+      params.drive_size = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'i':
+      params.partition = (uint32_t)strtoul(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'b':
+      params.bootfile = optarg;
+      break;
+    case 'p':
+      params.create_pmbr = 1;
+      break;
+
+    case 'h':
+      Usage();
+      return CGPT_OK;
+    case '?':
+      Error("unrecognized option: -%c\n", optopt);
+      errorcnt++;
+      break;
+    case ':':
+      Error("missing argument to -%c\n", optopt);
+      errorcnt++;
+      break;
+    default:
+      errorcnt++;
+      break;
+    }
+  }
+  if (errorcnt)
+  {
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  if (optind >= argc) {
+    Error("missing drive argument\n");
+    return CGPT_FAILED;
+  }
+
+  params.drive_name = argv[optind];
+
+  return CgptBoot(&params);
+}
diff --git a/cgpt/cmd_create.c b/cgpt/cmd_create.c
new file mode 100644 (file)
index 0000000..dfa8a1f
--- /dev/null
@@ -0,0 +1,82 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <getopt.h>
+#include <string.h>
+
+#include "cgpt.h"
+#include "vboot_host.h"
+
+extern const char* progname;
+
+static void Usage(void)
+{
+  printf("\nUsage: %s create [OPTIONS] DRIVE\n\n"
+         "Create or reset an empty GPT.\n\n"
+         "Options:\n"
+         "  -D NUM       Size (in bytes) of the disk where partitions reside;\n"
+         "                 default 0, meaning partitions and GPT structs are\n"
+         "                 both on DRIVE\n"
+         "  -z           Zero the blocks of the GPT table and entries\n"
+         "  -p NUM       Size (in blocks) of the disk to pad between the\n"
+         "                 primary GPT header and its entries, default 0\n"
+         "\n", progname);
+}
+
+int cmd_create(int argc, char *argv[]) {
+  CgptCreateParams params;
+  memset(&params, 0, sizeof(params));
+
+  int c;
+  int errorcnt = 0;
+  char *e = 0;
+
+  opterr = 0;                     // quiet, you
+  while ((c=getopt(argc, argv, ":hzp:D:")) != -1)
+  {
+    switch (c)
+    {
+    case 'D':
+      params.drive_size = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'z':
+      params.zap = 1;
+      break;
+    case 'p':
+      params.padding = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'h':
+      Usage();
+      return CGPT_OK;
+    case '?':
+      Error("unrecognized option: -%c\n", optopt);
+      errorcnt++;
+      break;
+    case ':':
+      Error("missing argument to -%c\n", optopt);
+      errorcnt++;
+      break;
+    default:
+      errorcnt++;
+      break;
+    }
+  }
+  if (errorcnt)
+  {
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  if (optind >= argc) {
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  params.drive_name = argv[optind];
+
+  return CgptCreate(&params);
+}
diff --git a/cgpt/cmd_edit.c b/cgpt/cmd_edit.c
new file mode 100644 (file)
index 0000000..7a4cdf5
--- /dev/null
@@ -0,0 +1,87 @@
+/* Copyright 2018 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <getopt.h>
+
+#include "cgpt.h"
+#include "vboot_host.h"
+
+extern const char* progname;
+
+static void Usage(void)
+{
+  printf("\nUsage: %s edit [OPTIONS] DRIVE\n\n"
+         "Edit a drive's parameters.\n\n"
+         "Options:\n"
+         "  -D NUM       Size (in bytes) of the disk where partitions reside;\n"
+         "                 default 0, meaning partitions and GPT structs are\n"
+         "                 both on DRIVE\n"
+         "  -u GUID      Drive Unique ID\n"
+         "\n", progname);
+}
+
+int cmd_edit(int argc, char *argv[]) {
+
+  CgptEditParams params;
+  memset(&params, 0, sizeof(params));
+
+  int c;
+  int errorcnt = 0;
+  char *e = 0;
+
+  opterr = 0;                     // quiet, you
+  while ((c=getopt(argc, argv, ":hu:D:")) != -1)
+  {
+    switch (c)
+    {
+    case 'D':
+      params.drive_size = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'u':
+      params.set_unique = 1;
+      if (CGPT_OK != StrToGuid(optarg, &params.unique_guid)) {
+        Error("invalid argument to -%c: %s\n", c, optarg);
+        errorcnt++;
+      }
+      break;
+    case 'h':
+      Usage();
+      return CGPT_OK;
+    case '?':
+      Error("unrecognized option: -%c\n", optopt);
+      errorcnt++;
+      break;
+    case ':':
+      Error("missing argument to -%c\n", optopt);
+      errorcnt++;
+      break;
+    default:
+      errorcnt++;
+      break;
+    }
+  }
+  if (errorcnt)
+  {
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  if (optind >= argc)
+  {
+    Error("missing drive argument\n");
+    return CGPT_FAILED;
+  }
+
+  params.drive_name = argv[optind];
+
+  if (!params.set_unique)
+  {
+    Error("no parameters were edited\n");
+    return CGPT_FAILED;
+  }
+
+  return CgptEdit(&params);
+}
diff --git a/cgpt/cmd_find.c b/cgpt/cmd_find.c
new file mode 100644 (file)
index 0000000..fe04b09
--- /dev/null
@@ -0,0 +1,183 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <getopt.h>
+#include <string.h>
+
+#include "cgpt.h"
+#include "vboot_host.h"
+
+extern const char* progname;
+
+static void Usage(void)
+{
+  printf("\nUsage: %s find [OPTIONS] [DRIVE]\n\n"
+         "Find a partition by its UUID or label. With no specified DRIVE\n"
+         "it scans all physical drives.\n\n"
+         "Options:\n"
+         "  -D NUM       Size (in bytes) of the disk where partitions reside;\n"
+         "                 default 0, meaning partitions and GPT structs are\n"
+         "                 both on DRIVE\n"
+         "  -t GUID      Search for Partition Type GUID\n"
+         "  -u GUID      Search for Partition Unique ID\n"
+         "  -l LABEL     Search for Label\n"
+         "  -v           Be verbose in displaying matches (repeatable)\n"
+         "  -n           Numeric output only\n"
+         "  -1           Fail if more than one match is found\n"
+         "  -M FILE"
+         "      Matching partition data must also contain FILE content\n"
+         "  -O NUM"
+         "       Byte offset into partition to match content (default 0)\n"
+         "\n", progname);
+  PrintTypes();
+}
+
+// read a file into a buffer, return buffer and update size
+static uint8_t *ReadFile(const char *filename, uint64_t *size) {
+  FILE *f;
+  uint8_t *buf;
+  long pos;
+
+  f = fopen(filename, "rb");
+  if (!f) {
+    return NULL;
+  }
+
+  fseek(f, 0, SEEK_END);
+  pos = ftell(f);
+  if (pos < 0) {
+    fclose(f);
+    return NULL;
+  }
+  *size = pos;
+  rewind(f);
+
+  buf = malloc(*size);
+  if (!buf) {
+    fclose(f);
+    return NULL;
+  }
+
+  if(1 != fread(buf, *size, 1, f)) {
+    fclose(f);
+    free(buf);
+    return NULL;
+  }
+
+  fclose(f);
+  return buf;
+}
+
+int cmd_find(int argc, char *argv[]) {
+
+  CgptFindParams params;
+  memset(&params, 0, sizeof(params));
+
+  int i;
+  int errorcnt = 0;
+  char *e = 0;
+  int c;
+
+  opterr = 0;                     // quiet, you
+  while ((c=getopt(argc, argv, ":hv1nt:u:l:M:O:D:")) != -1)
+  {
+    switch (c)
+    {
+    case 'D':
+      params.drive_size = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'v':
+      params.verbose++;
+      break;
+    case 'n':
+      params.numeric = 1;
+      break;
+    case '1':
+      params.oneonly = 1;
+      break;
+    case 'l':
+      params.set_label = 1;
+      params.label = optarg;
+      break;
+    case 't':
+      params.set_type = 1;
+      if (CGPT_OK != SupportedType(optarg, &params.type_guid) &&
+          CGPT_OK != StrToGuid(optarg, &params.type_guid)) {
+        Error("invalid argument to -%c: %s\n", c, optarg);
+        errorcnt++;
+      }
+      break;
+    case 'u':
+      params.set_unique = 1;
+      if (CGPT_OK != StrToGuid(optarg, &params.unique_guid)) {
+        Error("invalid argument to -%c: %s\n", c, optarg);
+        errorcnt++;
+      }
+      break;
+    case 'M':
+      params.matchbuf = ReadFile(optarg, &params.matchlen);
+      if (!params.matchbuf || !params.matchlen) {
+        Error("Unable to read from %s\n", optarg);
+        errorcnt++;
+      }
+      // Go ahead and allocate space for the comparison too
+      params.comparebuf = (uint8_t *)malloc(params.matchlen);
+      if (!params.comparebuf) {
+        Error("Unable to allocate %" PRIu64 "bytes for comparison buffer\n",
+              params.matchlen);
+        errorcnt++;
+      }
+      break;
+    case 'O':
+      params.matchoffset = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+
+    case 'h':
+      Usage();
+      return CGPT_OK;
+    case '?':
+      Error("unrecognized option: -%c\n", optopt);
+      errorcnt++;
+      break;
+    case ':':
+      Error("missing argument to -%c\n", optopt);
+      errorcnt++;
+      break;
+    default:
+      errorcnt++;
+      break;
+    }
+  }
+  if (!params.set_unique && !params.set_type && !params.set_label) {
+    Error("You must specify at least one of -t, -u, or -l\n");
+    errorcnt++;
+  }
+  if (errorcnt)
+  {
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  if (optind < argc) {
+    for (i=optind; i<argc; i++) {
+      params.drive_name = argv[i];
+      CgptFind(&params);
+      }
+  } else {
+      CgptFind(&params);
+  }
+
+  if (params.oneonly && params.hits != 1) {
+    return CGPT_FAILED;
+  }
+
+  if (params.match_partnum) {
+    return CGPT_OK;
+  }
+
+  return CGPT_FAILED;
+}
diff --git a/cgpt/cmd_legacy.c b/cgpt/cmd_legacy.c
new file mode 100644 (file)
index 0000000..dd39848
--- /dev/null
@@ -0,0 +1,88 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <getopt.h>
+#include <string.h>
+
+#include "cgpt.h"
+#include "vboot_host.h"
+
+extern const char* progname;
+
+static void Usage(void)
+{
+  printf("\nUsage: %s legacy [OPTIONS] DRIVE\n\n"
+         "Switch GPT header signature to \"CHROMEOS\".\n\n"
+         "Options:\n"
+         "  -D NUM       Size (in bytes) of the disk where partitions reside;\n"
+         "                 default 0, meaning partitions and GPT structs are\n"
+         "                 both on DRIVE\n"
+         "  -e           Switch GPT header signature back to \"EFI PART\"\n"
+         "  -p           Switch primary GPT header signature to \"IGNOREME\"\n"
+         "\n", progname);
+}
+
+int cmd_legacy(int argc, char *argv[]) {
+  CgptLegacyParams params;
+  memset(&params, 0, sizeof(params));
+
+  int c;
+  char* e = 0;
+  int errorcnt = 0;
+
+  opterr = 0;                     // quiet, you
+  while ((c=getopt(argc, argv, ":hepD:")) != -1)
+  {
+    switch (c)
+    {
+    case 'D':
+      params.drive_size = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'e':
+      if (params.mode) {
+        Error("Incompatible flags, pick either -e or -p\n");
+        errorcnt++;
+      }
+      params.mode = CGPT_LEGACY_MODE_EFIPART;
+      break;
+    case 'p':
+      if (params.mode) {
+        Error("Incompatible flags, pick either -e or -p\n");
+        errorcnt++;
+      }
+      params.mode = CGPT_LEGACY_MODE_IGNORE_PRIMARY;
+      break;
+    case 'h':
+      Usage();
+      return CGPT_OK;
+    case '?':
+      Error("unrecognized option: -%c\n", optopt);
+      errorcnt++;
+      break;
+    case ':':
+      Error("missing argument to -%c\n", optopt);
+      errorcnt++;
+      break;
+    default:
+      errorcnt++;
+      break;
+    }
+  }
+  if (errorcnt)
+  {
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  if (optind >= argc) {
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  params.drive_name = argv[optind];
+
+  return CgptLegacy(&params);
+}
diff --git a/cgpt/cmd_prioritize.c b/cgpt/cmd_prioritize.c
new file mode 100644 (file)
index 0000000..afd257f
--- /dev/null
@@ -0,0 +1,107 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <uuid/uuid.h>
+
+#include "cgpt.h"
+#include "vboot_host.h"
+
+extern const char* progname;
+
+static void Usage(void)
+{
+  printf("\nUsage: %s prioritize [OPTIONS] DRIVE\n\n"
+         "Reorder the priority of all active ChromeOS Kernel partitions.\n\n"
+         "Options:\n"
+         "  -D NUM       Size (in bytes) of the disk where partitions reside;\n"
+         "                 default 0, meaning partitions and GPT structs are\n"
+         "                 both on DRIVE\n"
+         "  -P NUM       Highest priority to use in the new ordering. The\n"
+         "                 other partitions will be ranked in decreasing\n"
+         "                 priority while preserving their original order.\n"
+         "                 If necessary the lowest ranks will be coalesced.\n"
+         "                 No active kernels will be lowered to priority 0.\n"
+         "  -i NUM       Specify the partition to make the highest in the new\n"
+         "                 order.\n"
+         "  -f           Friends of the given partition (those with the same\n"
+         "                 starting priority) are also updated to the new\n"
+         "                 highest priority.\n"
+         "\n"
+         "With no options this will set the lowest active kernel to\n"
+         "priority 1 while maintaining the original order.\n"
+         "\n", progname);
+}
+
+int cmd_prioritize(int argc, char *argv[]) {
+  CgptPrioritizeParams params;
+  memset(&params, 0, sizeof(params));
+
+  int c;
+  int errorcnt = 0;
+  char *e = 0;
+
+  opterr = 0;                     // quiet, you
+  while ((c=getopt(argc, argv, ":hi:fP:D:")) != -1)
+  {
+    switch (c)
+    {
+    case 'D':
+      params.drive_size = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'i':
+      params.set_partition = (uint32_t)strtoul(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'f':
+      params.set_friends = 1;
+      break;
+    case 'P':
+      params.max_priority = (int)strtol(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      errorcnt += check_int_limit(c, params.max_priority, 1, 15);
+      break;
+
+    case 'h':
+      Usage();
+      return CGPT_OK;
+    case '?':
+      Error("unrecognized option: -%c\n", optopt);
+      errorcnt++;
+      break;
+    case ':':
+      Error("missing argument to -%c\n", optopt);
+      errorcnt++;
+      break;
+    default:
+      errorcnt++;
+      break;
+    }
+  }
+  if (errorcnt)
+  {
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  if (params.set_friends && !params.set_partition) {
+    Error("the -f option is only useful with the -i option\n");
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  if (optind >= argc) {
+    Error("missing drive argument\n");
+    return CGPT_FAILED;
+  }
+
+  params.drive_name = argv[optind];
+
+  return CgptPrioritize(&params);
+}
diff --git a/cgpt/cmd_repair.c b/cgpt/cmd_repair.c
new file mode 100644 (file)
index 0000000..7e4012e
--- /dev/null
@@ -0,0 +1,72 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <getopt.h>
+#include <string.h>
+
+#include "cgpt.h"
+#include "vboot_host.h"
+
+extern const char* progname;
+
+static void Usage(void)
+{
+  printf("\nUsage: %s repair [OPTIONS] DRIVE\n\n"
+         "Repair damaged GPT headers and tables.\n\n"
+         "Options:\n"
+         "  -D NUM       Size (in bytes) of the disk where partitions reside;\n"
+         "                 default 0, meaning partitions and GPT structs are\n"
+         "                 both on DRIVE\n"
+         "  -v           Verbose\n"
+         "\n", progname);
+}
+
+int cmd_repair(int argc, char *argv[]) {
+  CgptRepairParams params;
+  memset(&params, 0, sizeof(params));
+
+  int c;
+  char* e = 0;
+  int errorcnt = 0;
+
+  opterr = 0;                     // quiet, you
+  while ((c=getopt(argc, argv, ":hvD:")) != -1)
+  {
+    switch (c)
+    {
+    case 'D':
+      params.drive_size = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'v':
+      params.verbose++;
+      break;
+
+    case 'h':
+      Usage();
+      return CGPT_OK;
+    case '?':
+      Error("unrecognized option: -%c\n", optopt);
+      errorcnt++;
+      break;
+    case ':':
+      Error("missing argument to -%c\n", optopt);
+      errorcnt++;
+      break;
+    default:
+      errorcnt++;
+      break;
+    }
+  }
+  if (errorcnt)
+  {
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  params.drive_name = argv[optind];
+
+  return CgptRepair(&params);
+}
diff --git a/cgpt/cmd_show.c b/cgpt/cmd_show.c
new file mode 100644 (file)
index 0000000..ba19315
--- /dev/null
@@ -0,0 +1,140 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#define __STDC_FORMAT_MACROS
+
+#include <getopt.h>
+#include <inttypes.h>
+#include <string.h>
+
+#include "cgpt.h"
+#include "vboot_host.h"
+
+extern const char* progname;
+
+static void Usage(void)
+{
+  printf("\nUsage: %s show [OPTIONS] DRIVE\n\n"
+         "Display the GPT table.\n\n"
+         "Units are blocks by default.\n\n"
+         "Options:\n"
+         "  -D NUM       Size (in bytes) of the disk where partitions reside;\n"
+         "                 default 0, meaning partitions and GPT structs are\n"
+         "                 both on DRIVE\n"
+         "  -n           Numeric output only\n"
+         "  -v           Verbose output\n"
+         "  -q           Quick output\n"
+         "  -i NUM       Show specified partition only\n"
+         "  -d           Debug output (including invalid headers)\n"
+         "\n"
+         "When using -i, specific fields may be displayed using one of:\n"
+         "  -b  first block (a.k.a. start of partition)\n"
+         "  -s  partition size (in blocks)\n"
+         "  -t  type guid\n"
+         "  -u  unique guid\n"
+         "  -l  label\n"
+         "  -S  Successful flag\n"
+         "  -T  Tries flag\n"
+         "  -P  Priority flag\n"
+         "  -R  Required flag\n"
+         "  -B  Legacy Boot flag\n"
+         "  -A  raw 16-bit attribute value (bits 48-63)\n"
+         "\n", progname);
+}
+
+int cmd_show(int argc, char *argv[]) {
+  CgptShowParams params;
+  memset(&params, 0, sizeof(params));
+
+  int c;
+  int errorcnt = 0;
+  char *e = 0;
+
+  opterr = 0;                     // quiet, you
+  while ((c=getopt(argc, argv, ":hnvqi:bstulSTPRBAdD:")) != -1)
+  {
+    switch (c)
+    {
+    case 'D':
+      params.drive_size = strtoull(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      break;
+    case 'n':
+      params.numeric = 1;
+      break;
+    case 'v':
+      params.verbose = 1;
+      break;
+    case 'q':
+      params.quick = 1;
+      break;
+    case 'i':
+      params.partition = (uint32_t)strtoul(optarg, &e, 0);
+      errorcnt += check_int_parse(c, e);
+      if (params.partition <= 0) {
+        Error("-i requires a number between 1 and 128 (inclusive)\n");
+        errorcnt++;
+      }
+      break;
+    case 'b':
+    case 's':
+    case 't':
+    case 'u':
+    case 'l':
+    case 'S':
+    case 'T':
+    case 'P':
+    case 'R':
+    case 'B':
+    case 'A':
+      if (params.single_item) {
+        Error("-%c already specified; rejecting additional -%c\n",
+              params.single_item, c);
+        Error("Only a single item may be displayed at a time\n");
+        errorcnt++;
+      }
+      params.single_item = c;
+      break;
+
+    case 'd':
+      params.debug = 1;
+      break;
+
+    case 'h':
+      Usage();
+      return CGPT_OK;
+    case '?':
+      Error("unrecognized option: -%c\n", optopt);
+      errorcnt++;
+      break;
+    case ':':
+      Error("missing argument to -%c\n", optopt);
+      errorcnt++;
+      break;
+    default:
+      errorcnt++;
+      break;
+    }
+  }
+  if (!params.partition && params.single_item) {
+    Error("-i required when displaying a single item\n");
+    errorcnt++;
+  }
+  if (errorcnt)
+  {
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  if (optind >= argc) {
+    Error("missing drive argument\n");
+    Usage();
+    return CGPT_FAILED;
+  }
+
+  params.drive_name = argv[optind];
+
+  return CgptShow(&params);
+}
diff --git a/emerge_test.sh b/emerge_test.sh
new file mode 100755 (executable)
index 0000000..99c33ec
--- /dev/null
@@ -0,0 +1,60 @@
+#!/bin/sh
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Tests emerging all the ebuilds that use vboot_reference either as an
+# ebuild dependency or by checking out the code and compiling it in a
+# different ebuild. This is meant to be run from the chroot as part of testing
+# a new change in vboot_reference.
+
+# Required ebuilds:
+TEST_EBUILDS="
+  sys-boot/chromeos-bootimage
+  sys-boot/chromeos-u-boot
+  sys-boot/coreboot
+  sys-boot/depthcharge
+  chromeos-base/chromeos-cryptohome
+  chromeos-base/chromeos-ec
+  chromeos-base/chromeos-installer
+  chromeos-base/chromeos-initramfs
+  chromeos-base/chromeos-login
+  chromeos-base/update_engine
+  chromeos-base/vboot_reference
+  chromeos-base/verity
+"
+
+set -e
+
+# Check running inside the chroot.
+if [ ! -e /etc/cros_chroot_version ]; then
+  echo "You must run this inside the chroot." >&2
+  exit 1
+fi
+
+# Detect the target board.
+if [ "x${BOARD}" == "x" ]; then
+  if [ -e ~/trunk/src/scripts/.default_board ]; then
+    BOARD="`cat ~/trunk/src/scripts/.default_board`"
+  else
+    echo "You must pass BOARD environment variable or set a default board." >&2
+    exit 1
+  fi
+fi
+
+VBOOT_REF_DIR="$(dirname "$0")"
+echo "Running tests for board '${BOARD}' from ${VBOOT_REF_DIR}"
+
+cd "${VBOOT_REF_DIR}"
+
+echo "Running make runtests..."
+make runtests -j32
+
+echo "Removing build artifacts."
+rm -rf build build-main
+
+echo "Running emerge tests (runs cros_workon start)."
+# Ignore errors about already working on those repos.
+cros_workon-${BOARD} start ${TEST_EBUILDS} || true
+
+emerge-${BOARD} ${TEST_EBUILDS}
diff --git a/firmware/2lib/2api.c b/firmware/2lib/2api.c
new file mode 100644 (file)
index 0000000..c041d8a
--- /dev/null
@@ -0,0 +1,372 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Externally-callable APIs
+ * (Firmware portion)
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2secdata.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "2tpm_bootmode.h"
+
+vb2_error_t vb2api_fw_phase1(struct vb2_context *ctx)
+{
+       vb2_error_t rv;
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+
+       /* Initialize NV context */
+       vb2_nv_init(ctx);
+
+       /*
+        * Handle caller-requested reboot due to secdata.  Do this before we
+        * even look at secdata.  If we fail because of a reboot loop we'll be
+        * the first failure so will get to set the recovery reason.
+        */
+       if (!(ctx->flags & VB2_CONTEXT_SECDATA_WANTS_REBOOT)) {
+               /* No reboot requested */
+               vb2_nv_set(ctx, VB2_NV_TPM_REQUESTED_REBOOT, 0);
+       } else if (vb2_nv_get(ctx, VB2_NV_TPM_REQUESTED_REBOOT)) {
+               /*
+                * Reboot requested... again.  Fool me once, shame on you.
+                * Fool me twice, shame on me.  Fail into recovery to avoid
+                * a reboot loop.
+                */
+               vb2api_fail(ctx, VB2_RECOVERY_RO_TPM_REBOOT, 0);
+       } else {
+               /* Reboot requested for the first time */
+               vb2_nv_set(ctx, VB2_NV_TPM_REQUESTED_REBOOT, 1);
+               return VB2_ERROR_API_PHASE1_SECDATA_REBOOT;
+       }
+
+       /* Initialize firmware & kernel secure data */
+       rv = vb2_secdata_firmware_init(ctx);
+       if (rv)
+               vb2api_fail(ctx, VB2_RECOVERY_SECDATA_FIRMWARE_INIT, rv);
+
+       rv = vb2_secdata_kernel_init(ctx);
+       if (rv)
+               vb2api_fail(ctx, VB2_RECOVERY_SECDATA_KERNEL_INIT, rv);
+
+       /* Load and parse the GBB header */
+       rv = vb2_fw_init_gbb(ctx);
+       if (rv)
+               vb2api_fail(ctx, VB2_RECOVERY_GBB_HEADER, rv);
+
+       /* Check for dev switch */
+       rv = vb2_check_dev_switch(ctx);
+       if (rv)
+               vb2api_fail(ctx, VB2_RECOVERY_DEV_SWITCH, rv);
+
+       /*
+        * Check for recovery.  Note that this function returns void, since any
+        * errors result in requesting recovery.  That's also why we don't
+        * return error from failures in the preceding steps; those failures
+        * simply cause us to detect recovery mode here.
+        */
+       vb2_check_recovery(ctx);
+
+       /*
+        * Check for possible reasons to ask the firmware to make display
+        * available.  VB2_CONTEXT_RECOVERY_MODE may have been set above by
+        * vb2_check_recovery.  VB2_SD_FLAG_DEV_MODE_ENABLED may have been set
+        * above by vb2_check_dev_switch.  VB2_NV_DIAG_REQUEST may have been
+        * set during the last boot in recovery mode.
+        */
+       if (!(ctx->flags & VB2_CONTEXT_DISPLAY_INIT) &&
+           (vb2_nv_get(ctx, VB2_NV_DISPLAY_REQUEST) ||
+            sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED ||
+            ctx->flags & VB2_CONTEXT_RECOVERY_MODE ||
+            vb2_nv_get(ctx, VB2_NV_DIAG_REQUEST)))
+               ctx->flags |= VB2_CONTEXT_DISPLAY_INIT;
+       /* Mark display as available for downstream vboot and vboot callers. */
+       if (ctx->flags & VB2_CONTEXT_DISPLAY_INIT)
+               sd->flags |= VB2_SD_FLAG_DISPLAY_AVAILABLE;
+
+       /* Decide the boot mode */
+       vb2_set_boot_mode(ctx);
+
+       /* Return error if recovery is needed */
+       if (ctx->flags & VB2_CONTEXT_RECOVERY_MODE) {
+               /* Always clear RAM when entering recovery mode */
+               ctx->flags |= VB2_CONTEXT_CLEAR_RAM;
+               return VB2_ERROR_API_PHASE1_RECOVERY;
+       }
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2api_fw_phase2(struct vb2_context *ctx)
+{
+       /*
+        * Use the slot from the last boot if this is a resume.  Do not set
+        * VB2_SD_STATUS_CHOSE_SLOT so the try counter is not decremented on
+        * failure as we are explicitly not attempting to boot from a new slot.
+        */
+       if (ctx->flags & VB2_CONTEXT_S3_RESUME) {
+               struct vb2_shared_data *sd = vb2_get_sd(ctx);
+
+               /* Set the current slot to the last booted slot */
+               sd->fw_slot = vb2_nv_get(ctx, VB2_NV_FW_TRIED);
+
+               /* Set context flag if we're using slot B */
+               if (sd->fw_slot)
+                       ctx->flags |= VB2_CONTEXT_FW_SLOT_B;
+
+               return VB2_SUCCESS;
+       }
+
+       /* Always clear RAM when entering developer mode */
+       if (ctx->flags & VB2_CONTEXT_DEVELOPER_MODE)
+               ctx->flags |= VB2_CONTEXT_CLEAR_RAM;
+
+       /* Check for explicit request to clear TPM */
+       VB2_TRY(vb2_check_tpm_clear(ctx), ctx, VB2_RECOVERY_TPM_CLEAR_OWNER);
+
+       /* Decide which firmware slot to try this boot */
+       VB2_TRY(vb2_select_fw_slot(ctx), ctx, VB2_RECOVERY_FW_SLOT);
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2api_extend_hash(struct vb2_context *ctx,
+                      const void *buf,
+                      uint32_t size)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_digest_context *dc = (struct vb2_digest_context *)
+               vb2_member_of(sd, sd->hash_offset);
+
+       /* Must have initialized hash digest work area */
+       if (!sd->hash_size)
+               return VB2_ERROR_API_EXTEND_HASH_WORKBUF;
+
+       /* Don't extend past the data we expect to hash */
+       if (!size || size > sd->hash_remaining_size)
+               return VB2_ERROR_API_EXTEND_HASH_SIZE;
+
+       sd->hash_remaining_size -= size;
+
+       if (dc->using_hwcrypto)
+               return vb2ex_hwcrypto_digest_extend(buf, size);
+       else
+               return vb2_digest_extend(dc, buf, size);
+}
+
+vb2_error_t vb2api_get_pcr_digest(struct vb2_context *ctx,
+                         enum vb2_pcr_digest which_digest,
+                         uint8_t *dest,
+                         uint32_t *dest_size)
+{
+       const uint8_t *digest;
+       uint32_t digest_size;
+
+       switch (which_digest) {
+       case BOOT_MODE_PCR:
+               digest = vb2_get_boot_state_digest(ctx);
+               digest_size = VB2_SHA1_DIGEST_SIZE;
+               break;
+       case HWID_DIGEST_PCR:
+               digest = vb2_get_gbb(ctx)->hwid_digest;
+               digest_size = VB2_GBB_HWID_DIGEST_SIZE;
+               break;
+       default:
+               return VB2_ERROR_API_PCR_DIGEST;
+       }
+
+       if (digest == NULL || *dest_size < digest_size)
+               return VB2_ERROR_API_PCR_DIGEST_BUF;
+
+       memcpy(dest, digest, digest_size);
+       if (digest_size < *dest_size)
+               memset(dest + digest_size, 0, *dest_size - digest_size);
+
+       *dest_size = digest_size;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2api_fw_phase3(struct vb2_context *ctx)
+{
+       /* Verify firmware keyblock */
+       VB2_TRY(vb2_load_fw_keyblock(ctx), ctx, VB2_RECOVERY_RO_INVALID_RW);
+
+       /* Verify firmware preamble */
+       VB2_TRY(vb2_load_fw_preamble(ctx), ctx, VB2_RECOVERY_RO_INVALID_RW);
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2api_init_hash(struct vb2_context *ctx, uint32_t tag)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       const struct vb2_fw_preamble *pre;
+       struct vb2_digest_context *dc;
+       struct vb2_public_key key;
+       struct vb2_workbuf wb;
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       if (tag == VB2_HASH_TAG_INVALID)
+               return VB2_ERROR_API_INIT_HASH_TAG;
+
+       /* Get preamble pointer */
+       if (!sd->preamble_size)
+               return VB2_ERROR_API_INIT_HASH_PREAMBLE;
+       pre = (const struct vb2_fw_preamble *)
+               vb2_member_of(sd, sd->preamble_offset);
+
+       /* For now, we only support the firmware body tag */
+       if (tag != VB2_HASH_TAG_FW_BODY)
+               return VB2_ERROR_API_INIT_HASH_TAG;
+
+       /* Allocate workbuf space for the hash */
+       if (sd->hash_size) {
+               dc = (struct vb2_digest_context *)
+                       vb2_member_of(sd, sd->hash_offset);
+       } else {
+               uint32_t dig_size = sizeof(*dc);
+
+               dc = vb2_workbuf_alloc(&wb, dig_size);
+               if (!dc)
+                       return VB2_ERROR_API_INIT_HASH_WORKBUF;
+
+               sd->hash_offset = vb2_offset_of(sd, dc);
+               sd->hash_size = dig_size;
+               vb2_set_workbuf_used(ctx, sd->hash_offset + dig_size);
+       }
+
+       /*
+        * Work buffer now contains:
+        *   - vb2_shared_data
+        *   - packed firmware data key
+        *   - firmware preamble
+        *   - hash data
+        */
+
+       /*
+        * Unpack the firmware data key to see which hashing algorithm we
+        * should use.
+        *
+        * TODO: really, the firmware body should be hashed, and not signed,
+        * because the signature we're checking is already signed as part of
+        * the firmware preamble.  But until we can change the signing scripts,
+        * we're stuck with a signature here instead of a hash.
+        */
+       if (!sd->data_key_size)
+               return VB2_ERROR_API_INIT_HASH_DATA_KEY;
+
+       VB2_TRY(vb2_unpack_key_buffer(&key,
+                                     vb2_member_of(sd, sd->data_key_offset),
+                                     sd->data_key_size));
+
+       sd->hash_tag = tag;
+       sd->hash_remaining_size = pre->body_signature.data_size;
+
+       if (vb2_hwcrypto_allowed(ctx)) {
+               vb2_error_t rv = vb2ex_hwcrypto_digest_init(
+                       key.hash_alg, pre->body_signature.data_size);
+               if (!rv) {
+                       VB2_DEBUG("Using HW crypto engine for hash_alg %d\n",
+                                 key.hash_alg);
+                       dc->hash_alg = key.hash_alg;
+                       dc->using_hwcrypto = 1;
+                       return VB2_SUCCESS;
+               }
+               if (rv != VB2_ERROR_EX_HWCRYPTO_UNSUPPORTED)
+                       return rv;
+               VB2_DEBUG("HW crypto for hash_alg %d not supported, using SW\n",
+                         key.hash_alg);
+       } else {
+               VB2_DEBUG("HW crypto forbidden by TPM flag, using SW\n");
+       }
+
+       return vb2_digest_init(dc, key.hash_alg);
+}
+
+vb2_error_t vb2api_check_hash_get_digest(struct vb2_context *ctx,
+                                        void *digest_out,
+                                        uint32_t digest_out_size)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_digest_context *dc = (struct vb2_digest_context *)
+               vb2_member_of(sd, sd->hash_offset);
+       struct vb2_workbuf wb;
+
+       uint8_t *digest;
+       uint32_t digest_size = vb2_digest_size(dc->hash_alg);
+
+       struct vb2_fw_preamble *pre;
+       struct vb2_public_key key;
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       /* Get preamble pointer */
+       if (!sd->preamble_size)
+               return VB2_ERROR_API_CHECK_HASH_PREAMBLE;
+       pre = vb2_member_of(sd, sd->preamble_offset);
+
+       /* Must have initialized hash digest work area */
+       if (!sd->hash_size)
+               return VB2_ERROR_API_CHECK_HASH_WORKBUF;
+
+       /* Should have hashed the right amount of data */
+       if (sd->hash_remaining_size)
+               return VB2_ERROR_API_CHECK_HASH_SIZE;
+
+       /* Allocate the digest */
+       digest = vb2_workbuf_alloc(&wb, digest_size);
+       if (!digest)
+               return VB2_ERROR_API_CHECK_HASH_WORKBUF_DIGEST;
+
+       /* Finalize the digest */
+       if (dc->using_hwcrypto)
+               VB2_TRY(vb2ex_hwcrypto_digest_finalize(digest, digest_size));
+       else
+               VB2_TRY(vb2_digest_finalize(dc, digest, digest_size));
+
+       /* The code below is specific to the body signature */
+       if (sd->hash_tag != VB2_HASH_TAG_FW_BODY)
+               return VB2_ERROR_API_CHECK_HASH_TAG;
+
+       /*
+        * The body signature is currently a *signature* of the body data, not
+        * just its hash.  So we need to verify the signature.
+        */
+
+       /* Unpack the data key */
+       if (!sd->data_key_size)
+               return VB2_ERROR_API_CHECK_HASH_DATA_KEY;
+
+       VB2_TRY(vb2_unpack_key_buffer(&key,
+                                     vb2_member_of(sd, sd->data_key_offset),
+                                     sd->data_key_size));
+
+       key.allow_hwcrypto = vb2_hwcrypto_allowed(ctx);
+
+       /*
+        * Check digest vs. signature.  Note that this destroys the signature.
+        * That's ok, because we only check each signature once per boot.
+        */
+       VB2_TRY(vb2_verify_digest(&key, &pre->body_signature, digest, &wb),
+               ctx, VB2_RECOVERY_FW_BODY);
+
+       if (digest_out != NULL) {
+               if (digest_out_size < digest_size)
+                       return VB2_ERROR_API_CHECK_DIGEST_SIZE;
+               memcpy(digest_out, digest, digest_size);
+       }
+
+       return VB2_SUCCESS;
+}
+
+int vb2api_check_hash(struct vb2_context *ctx)
+{
+       return vb2api_check_hash_get_digest(ctx, NULL, 0);
+}
diff --git a/firmware/2lib/2auxfw_sync.c b/firmware/2lib/2auxfw_sync.c
new file mode 100644 (file)
index 0000000..eaea1d4
--- /dev/null
@@ -0,0 +1,70 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Auxiliary firmware (auxfw) sync routines for vboot.
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+
+/**
+ * Determine if we are allowed to update auxfw.
+ *
+ * @param ctx          Vboot2 context
+ * @return boolean (true iff we can update auxfw)
+ */
+static int auxfw_sync_allowed(struct vb2_context *ctx)
+{
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+
+       /* Reasons not to do sync at all */
+       if (gbb->flags & VB2_GBB_FLAG_DISABLE_AUXFW_SOFTWARE_SYNC)
+               return 0;
+       if (ctx->flags & VB2_CONTEXT_RECOVERY_MODE)
+               return 0;
+       return 1;
+}
+
+/**
+ * Decides if auxfw sync is allowed to be performed.
+ *
+ * If sync is allowed, invokes the external callback,
+ * vb2ex_auxfw_check() to allow the client to decide on the auxfw
+ * update severity.
+ *
+ * @param ctx          Vboot2 context
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+static vb2_error_t auxfw_sync_check_update(struct vb2_context *ctx,
+                                          enum vb2_auxfw_update_severity *severity)
+{
+       if (!auxfw_sync_allowed(ctx)) {
+               *severity = VB2_AUXFW_NO_UPDATE;
+               return VB2_SUCCESS;
+       }
+
+       return vb2ex_auxfw_check(severity);
+}
+
+vb2_error_t vb2api_auxfw_sync(struct vb2_context *ctx)
+{
+       enum vb2_auxfw_update_severity fw_update = VB2_AUXFW_NO_UPDATE;
+
+       /* Check for update severity */
+       VB2_TRY(auxfw_sync_check_update(ctx, &fw_update));
+
+       if (fw_update > VB2_AUXFW_NO_UPDATE) {
+               VB2_DEBUG("Updating auxfw\n");
+               VB2_TRY(vb2ex_auxfw_update(), ctx, VB2_RECOVERY_AUXFW_UPDATE);
+               /*
+                * auxfw update is applied successfully. Request EC reboot to
+                * RO, so that the chips that had FW update get reset to a
+                * clean state.
+                */
+               return VB2_REQUEST_REBOOT_EC_TO_RO;
+       }
+
+       return vb2ex_auxfw_finalize(ctx);
+}
diff --git a/firmware/2lib/2common.c b/firmware/2lib/2common.c
new file mode 100644 (file)
index 0000000..fa0585e
--- /dev/null
@@ -0,0 +1,231 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Common functions between firmware and kernel verified boot.
+ * (Firmware portion)
+ */
+
+#include "2common.h"
+#include "2rsa.h"
+
+vb2_error_t vb2_safe_memcmp(const void *s1, const void *s2, size_t size)
+{
+       const unsigned char *us1 = s1;
+       const unsigned char *us2 = s2;
+       int result = 0;
+
+       if (0 == size)
+               return 0;
+
+       /*
+        * Code snippet without data-dependent branch due to Nate Lawson
+        * (nate@root.org) of Root Labs.
+        */
+       while (size--)
+               result |= *us1++ ^ *us2++;
+
+       return result != 0;
+}
+
+vb2_error_t vb2_align(uint8_t **ptr, uint32_t *size, uint32_t align,
+                     uint32_t want_size)
+{
+       uintptr_t p = (uintptr_t)*ptr;
+       uintptr_t offs = p & (align - 1);
+
+       if (offs) {
+               offs = align - offs;
+
+               if (*size < offs)
+                       return VB2_ERROR_ALIGN_BIGGER_THAN_SIZE;
+
+               *ptr += offs;
+               *size -= offs;
+       }
+
+       if (*size < want_size)
+               return VB2_ERROR_ALIGN_SIZE;
+
+       return VB2_SUCCESS;
+}
+
+void vb2_workbuf_init(struct vb2_workbuf *wb, uint8_t *buf, uint32_t size)
+{
+       wb->buf = buf;
+       wb->size = size;
+
+       /* Align the buffer so allocations will be aligned */
+       if (vb2_align(&wb->buf, &wb->size, VB2_WORKBUF_ALIGN, 0))
+               wb->size = 0;
+}
+
+void *vb2_workbuf_alloc(struct vb2_workbuf *wb, uint32_t size)
+{
+       uint8_t *ptr = wb->buf;
+
+       /* Round up size to work buffer alignment */
+       size = vb2_wb_round_up(size);
+
+       if (size > wb->size)
+               return NULL;
+
+       wb->buf += size;
+       wb->size -= size;
+
+       return ptr;
+}
+
+void *vb2_workbuf_realloc(struct vb2_workbuf *wb, uint32_t oldsize,
+                         uint32_t newsize)
+{
+       /*
+        * Just free and allocate to update the size.  No need to move/copy
+        * memory, since the new pointer is guaranteed to be the same as the
+        * old one.  The new allocation can fail, if the new size is too big.
+        */
+       vb2_workbuf_free(wb, oldsize);
+       return vb2_workbuf_alloc(wb, newsize);
+}
+
+void vb2_workbuf_free(struct vb2_workbuf *wb, uint32_t size)
+{
+       /* Round up size to work buffer alignment */
+       size = vb2_wb_round_up(size);
+
+       wb->buf -= size;
+       wb->size += size;
+}
+
+ptrdiff_t vb2_offset_of(const void *base, const void *ptr)
+{
+       return (uintptr_t)ptr - (uintptr_t)base;
+}
+
+void *vb2_member_of(void *parent, ptrdiff_t offset)
+{
+       /* TODO(kitching): vb2_assert(parent && offset) */
+       return parent + offset;
+}
+
+vb2_error_t vb2_verify_member_inside(const void *parent, size_t parent_size,
+                                    const void *member, size_t member_size,
+                                    ptrdiff_t member_data_offset,
+                                    size_t member_data_size)
+{
+       const uintptr_t parent_end = (uintptr_t)parent + parent_size;
+       const ptrdiff_t member_offs = vb2_offset_of(parent, member);
+       const ptrdiff_t member_end_offs = member_offs + member_size;
+       const ptrdiff_t data_offs = member_offs + member_data_offset;
+       const ptrdiff_t data_end_offs = data_offs + member_data_size;
+
+       /* Make sure parent doesn't wrap */
+       if (parent_end < (uintptr_t)parent)
+               return VB2_ERROR_INSIDE_PARENT_WRAPS;
+
+       /*
+        * Make sure the member is fully contained in the parent and doesn't
+        * wrap.  Use >, not >=, since member_size = 0 is possible.
+        */
+       if (member_end_offs < member_offs)
+               return VB2_ERROR_INSIDE_MEMBER_WRAPS;
+       if (member_offs < 0 || member_offs > parent_size ||
+           member_end_offs > parent_size)
+               return VB2_ERROR_INSIDE_MEMBER_OUTSIDE;
+
+       /* Make sure the member data is after the member */
+       if (member_data_size > 0 && data_offs < member_end_offs)
+               return VB2_ERROR_INSIDE_DATA_OVERLAP;
+
+       /* Make sure parent fully contains member data, if any */
+       if (data_end_offs < data_offs)
+               return VB2_ERROR_INSIDE_DATA_WRAPS;
+       if (data_offs < 0 || data_offs > parent_size ||
+           data_end_offs > parent_size)
+               return VB2_ERROR_INSIDE_DATA_OUTSIDE;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_verify_digest(const struct vb2_public_key *key,
+                             struct vb2_signature *sig, const uint8_t *digest,
+                             const struct vb2_workbuf *wb)
+{
+       /* A signature is destroyed in the process of being verified. */
+       uint8_t *sig_data = vb2_signature_data_mutable(sig);
+
+       if (sig->sig_size != vb2_rsa_sig_size(key->sig_alg)) {
+               VB2_DEBUG("Wrong data signature size for algorithm, "
+                         "sig_size=%d, expected %d for algorithm %d.\n",
+                         sig->sig_size, vb2_rsa_sig_size(key->sig_alg),
+                         key->sig_alg);
+               return VB2_ERROR_VDATA_SIG_SIZE;
+       }
+
+       if (key->allow_hwcrypto) {
+               vb2_error_t rv =
+                       vb2ex_hwcrypto_rsa_verify_digest(key, sig_data, digest);
+
+               if (rv != VB2_ERROR_EX_HWCRYPTO_UNSUPPORTED) {
+                       VB2_DEBUG("Using HW RSA engine for sig_alg %d %s\n",
+                                       key->sig_alg,
+                                       rv ? "failed" : "succeeded");
+                       return rv;
+               }
+
+               VB2_DEBUG("HW RSA for sig_alg %d not supported, using SW\n",
+                         key->sig_alg);
+       } else {
+               VB2_DEBUG("HW RSA forbidden, using SW\n");
+       }
+
+       return vb2_rsa_verify_digest(key, sig_data, digest, wb);
+}
+
+vb2_error_t vb2_verify_data(const uint8_t *data, uint32_t size,
+                           struct vb2_signature *sig,
+                           const struct vb2_public_key *key,
+                           const struct vb2_workbuf *wb)
+{
+       struct vb2_workbuf wblocal = *wb;
+       uint8_t *digest;
+       uint32_t digest_size;
+       vb2_error_t rv;
+
+       if (sig->data_size > size) {
+               VB2_DEBUG("Data buffer smaller than length of signed data.\n");
+               return VB2_ERROR_VDATA_NOT_ENOUGH_DATA;
+       }
+
+       /* Digest goes at start of work buffer */
+       digest_size = vb2_digest_size(key->hash_alg);
+       if (!digest_size)
+               return VB2_ERROR_VDATA_DIGEST_SIZE;
+
+       digest = vb2_workbuf_alloc(&wblocal, digest_size);
+       if (!digest)
+               return VB2_ERROR_VDATA_WORKBUF_DIGEST;
+
+       if (key->allow_hwcrypto) {
+               rv = vb2ex_hwcrypto_digest_init(key->hash_alg, sig->data_size);
+               if (rv == VB2_SUCCESS) {
+                       VB2_DEBUG("Using HW crypto engine for hash_alg %d\n", key->hash_alg);
+                       VB2_TRY(vb2ex_hwcrypto_digest_extend(data, sig->data_size));
+                       VB2_TRY(vb2ex_hwcrypto_digest_finalize(digest, digest_size));
+               } else if (rv == VB2_ERROR_EX_HWCRYPTO_UNSUPPORTED) {
+                       VB2_DEBUG("HW crypto for hash_alg %d not supported, using SW\n",
+                                 key->hash_alg);
+                       VB2_TRY(vb2_digest_buffer(data, sig->data_size, key->hash_alg,
+                                                 digest, digest_size));
+               } else {
+                       VB2_DEBUG("HW crypto init error : %d\n", rv);
+                       return rv;
+               }
+       } else {
+               VB2_DEBUG("HW crypto forbidden by TPM flag, using SW\n");
+               VB2_TRY(vb2_digest_buffer(data, sig->data_size, key->hash_alg,
+                                         digest, digest_size));
+       }
+
+       return vb2_verify_digest(key, sig, digest, &wblocal);
+}
diff --git a/firmware/2lib/2context.c b/firmware/2lib/2context.c
new file mode 100644 (file)
index 0000000..2fa017d
--- /dev/null
@@ -0,0 +1,101 @@
+/* Copyright (c) 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Functions for initializing the vboot workbuffer and vb2_context.
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2sysincludes.h"
+
+void vb2_workbuf_from_ctx(struct vb2_context *ctx, struct vb2_workbuf *wb)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       vb2_workbuf_init(wb, (void *)sd + sd->workbuf_used,
+                        sd->workbuf_size - sd->workbuf_used);
+}
+
+void vb2_set_workbuf_used(struct vb2_context *ctx, uint32_t used)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       sd->workbuf_used = vb2_wb_round_up(used);
+}
+
+vb2_error_t vb2api_init(void *workbuf, uint32_t size,
+                       struct vb2_context **ctxptr)
+{
+       struct vb2_shared_data *sd = workbuf;
+       *ctxptr = NULL;
+
+       if (!vb2_aligned(workbuf, VB2_WORKBUF_ALIGN))
+               return VB2_ERROR_WORKBUF_ALIGN;
+
+       if (size < vb2_wb_round_up(sizeof(*sd)))
+               return VB2_ERROR_WORKBUF_SMALL;
+
+       /* Zero out vb2_shared_data (which includes vb2_context). */
+       memset(sd, 0, sizeof(*sd));
+
+       /* Initialize shared data. */
+       sd->magic = VB2_SHARED_DATA_MAGIC;
+       sd->struct_version_major = VB2_SHARED_DATA_VERSION_MAJOR;
+       sd->struct_version_minor = VB2_SHARED_DATA_VERSION_MINOR;
+       sd->workbuf_size = size;
+       sd->workbuf_used = vb2_wb_round_up(sizeof(*sd));
+
+       *ctxptr = &sd->ctx;
+       return VB2_SUCCESS;
+}
+
+#pragma GCC diagnostic push
+/* Don't warn for the version_minor check even if the checked version is 0. */
+#pragma GCC diagnostic ignored "-Wtype-limits"
+vb2_error_t vb2api_relocate(void *new_workbuf, const void *cur_workbuf,
+                           uint32_t size, struct vb2_context **ctxptr)
+{
+       const struct vb2_shared_data *cur_sd = cur_workbuf;
+       struct vb2_shared_data *new_sd;
+
+       if (!vb2_aligned(new_workbuf, VB2_WORKBUF_ALIGN))
+               return VB2_ERROR_WORKBUF_ALIGN;
+
+       /* Check magic and version. */
+       if (cur_sd->magic != VB2_SHARED_DATA_MAGIC)
+               return VB2_ERROR_SHARED_DATA_MAGIC;
+
+       if (cur_sd->struct_version_major != VB2_SHARED_DATA_VERSION_MAJOR ||
+           cur_sd->struct_version_minor < VB2_SHARED_DATA_VERSION_MINOR)
+               return VB2_ERROR_SHARED_DATA_VERSION;
+
+       /* Check workbuf integrity. */
+       if (cur_sd->workbuf_used < vb2_wb_round_up(sizeof(*cur_sd)))
+               return VB2_ERROR_WORKBUF_INVALID;
+
+       if (cur_sd->workbuf_size < cur_sd->workbuf_used)
+               return VB2_ERROR_WORKBUF_INVALID;
+
+       if (cur_sd->workbuf_used > size)
+               return VB2_ERROR_WORKBUF_SMALL;
+
+       /* Relocate if necessary. */
+       if (cur_workbuf != new_workbuf)
+               memmove(new_workbuf, cur_workbuf, cur_sd->workbuf_used);
+
+       /* Set the new size, and return the context pointer. */
+       new_sd = new_workbuf;
+       new_sd->workbuf_size = size;
+       *ctxptr = &new_sd->ctx;
+
+       return VB2_SUCCESS;
+}
+#pragma GCC diagnostic pop
+
+vb2_error_t vb2api_reinit(void *workbuf, struct vb2_context **ctxptr)
+{
+       /* Blindly retrieve workbuf_size.  vb2api_relocate() will
+          perform workbuf validation checks. */
+       struct vb2_shared_data *sd = workbuf;
+       return vb2api_relocate(workbuf, workbuf, sd->workbuf_size, ctxptr);
+}
diff --git a/firmware/2lib/2crc8.c b/firmware/2lib/2crc8.c
new file mode 100644 (file)
index 0000000..2760f27
--- /dev/null
@@ -0,0 +1,31 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Very simple 8-bit CRC function.
+ */
+
+#include "2crc8.h"
+#include "2sysincludes.h"
+
+/* Uses CRC-8 ITU version, with x^8 + x^2 + x + 1 polynomial.
+   Note that result will evaluate to zero for a buffer of all zeroes. */
+uint8_t vb2_crc8(const void *vptr, uint32_t size)
+{
+       const uint8_t *data = vptr;
+       unsigned crc = 0;
+       uint32_t i, j;
+
+       /* Calculate CRC-8 directly.  A table-based algorithm would be faster,
+          but for only a few bytes it isn't worth the code size. */
+       for (j = size; j; j--, data++) {
+               crc ^= (*data << 8);
+               for(i = 8; i; i--) {
+                       if (crc & 0x8000)
+                               crc ^= (0x1070 << 3);
+                       crc <<= 1;
+               }
+       }
+
+       return (uint8_t)(crc >> 8);
+}
diff --git a/firmware/2lib/2crypto.c b/firmware/2lib/2crypto.c
new file mode 100644 (file)
index 0000000..0c0978d
--- /dev/null
@@ -0,0 +1,212 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Hash and signature algorithm parsing helpers for host utilities.
+ */
+
+#include "2common.h"
+#include "2crypto.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+
+/*
+ * These two need to be exported for host/lib/crypto.c, but they also need to be
+ * in .rodata to make coreboot XIP stages happy. We know they are immutable but
+ * there is no C language way to guarantee that, so we have to manually force
+ * the compiler to place them in .rodata. Also inject custom section flags so
+ * they are only allocatable (a) but not writeable (w).
+ */
+
+__attribute__((section(".rodata.vb2_sig_names,\"a\"\n# ")))
+const char *vb2_sig_names[VB2_SIG_ALG_COUNT] = {
+       [VB2_SIG_NONE]          = "none",
+       [VB2_SIG_RSA1024]       = "RSA1024",
+       [VB2_SIG_RSA2048]       = "RSA2048",
+       [VB2_SIG_RSA4096]       = "RSA4096",
+       [VB2_SIG_RSA8192]       = "RSA8192",
+       [VB2_SIG_RSA2048_EXP3]  = "RSA2048EXP3",
+       [VB2_SIG_RSA3072_EXP3]  = "RSA3072EXP3",
+};
+
+__attribute__((section(".rodata.vb2_hash_names,\"a\"\n# ")))
+const char *vb2_hash_names[VB2_HASH_ALG_COUNT] = {
+       [VB2_HASH_NONE]         = "none",
+#if VB2_SUPPORT_SHA1
+       [VB2_HASH_SHA1]         = VB2_SHA1_ALG_NAME,
+#endif
+#if VB2_SUPPORT_SHA256
+       [VB2_HASH_SHA224]       = VB2_SHA224_ALG_NAME,
+       [VB2_HASH_SHA256]       = VB2_SHA256_ALG_NAME,
+#endif
+#if VB2_SUPPORT_SHA512
+       [VB2_HASH_SHA384]       = VB2_SHA384_ALG_NAME,
+       [VB2_HASH_SHA512]       = VB2_SHA512_ALG_NAME,
+#endif
+};
+
+/* The others are internal to this file. */
+
+static const char *crypto_names[] = {
+#if VB2_SUPPORT_SHA1
+       [VB2_ALG_RSA1024_SHA1]          = "RSA1024 SHA1",
+       [VB2_ALG_RSA2048_SHA1]          = "RSA2048 SHA1",
+       [VB2_ALG_RSA4096_SHA1]          = "RSA4096 SHA1",
+       [VB2_ALG_RSA8192_SHA1]          = "RSA8192 SHA1",
+       [VB2_ALG_RSA2048_EXP3_SHA1]     = "RSA2048 EXP3 SHA1",
+       [VB2_ALG_RSA3072_EXP3_SHA1]     = "RSA3072 EXP3 SHA1",
+#endif
+#if VB2_SUPPORT_SHA256
+       [VB2_ALG_RSA1024_SHA256]        = "RSA1024 SHA256",
+       [VB2_ALG_RSA2048_SHA256]        = "RSA2048 SHA256",
+       [VB2_ALG_RSA4096_SHA256]        = "RSA4096 SHA256",
+       [VB2_ALG_RSA8192_SHA256]        = "RSA8192 SHA256",
+       [VB2_ALG_RSA2048_EXP3_SHA256]   = "RSA2048 EXP3 SHA256",
+       [VB2_ALG_RSA3072_EXP3_SHA256]   = "RSA3072 EXP3 SHA256",
+#endif
+#if VB2_SUPPORT_SHA512
+       [VB2_ALG_RSA1024_SHA512]        = "RSA1024 SHA512",
+       [VB2_ALG_RSA2048_SHA512]        = "RSA2048 SHA512",
+       [VB2_ALG_RSA4096_SHA512]        = "RSA4096 SHA512",
+       [VB2_ALG_RSA8192_SHA512]        = "RSA8192 SHA512",
+       [VB2_ALG_RSA2048_EXP3_SHA512]   = "RSA2048 EXP3 SHA512",
+       [VB2_ALG_RSA3072_EXP3_SHA512]   = "RSA3072 EXP3 SHA512",
+#endif
+};
+
+static const char *crypto_filenames[] = {
+#if VB2_SUPPORT_SHA1
+       [VB2_ALG_RSA1024_SHA1]          = "rsa1024",
+       [VB2_ALG_RSA2048_SHA1]          = "rsa2048",
+       [VB2_ALG_RSA4096_SHA1]          = "rsa4096",
+       [VB2_ALG_RSA8192_SHA1]          = "rsa8192",
+       [VB2_ALG_RSA2048_EXP3_SHA1]     = "rsa2048_exp3",
+       [VB2_ALG_RSA3072_EXP3_SHA1]     = "rsa3072_exp3",
+#endif
+#if VB2_SUPPORT_SHA256
+       [VB2_ALG_RSA1024_SHA256]        = "rsa1024",
+       [VB2_ALG_RSA2048_SHA256]        = "rsa2048",
+       [VB2_ALG_RSA4096_SHA256]        = "rsa4096",
+       [VB2_ALG_RSA8192_SHA256]        = "rsa8192",
+       [VB2_ALG_RSA2048_EXP3_SHA256]   = "rsa2048_exp3",
+       [VB2_ALG_RSA3072_EXP3_SHA256]   = "rsa3072_exp3",
+#endif
+#if VB2_SUPPORT_SHA512
+       [VB2_ALG_RSA1024_SHA512]        = "rsa1024",
+       [VB2_ALG_RSA2048_SHA512]        = "rsa2048",
+       [VB2_ALG_RSA4096_SHA512]        = "rsa4096",
+       [VB2_ALG_RSA8192_SHA512]        = "rsa8192",
+       [VB2_ALG_RSA2048_EXP3_SHA512]   = "rsa2048_exp3",
+       [VB2_ALG_RSA3072_EXP3_SHA512]   = "rsa3072_exp3",
+#endif
+};
+
+static const uint8_t crypto_to_sig[] = {
+#if VB2_SUPPORT_SHA1
+       [VB2_ALG_RSA1024_SHA1]          = VB2_SIG_RSA1024,
+       [VB2_ALG_RSA2048_SHA1]          = VB2_SIG_RSA2048,
+       [VB2_ALG_RSA4096_SHA1]          = VB2_SIG_RSA4096,
+       [VB2_ALG_RSA8192_SHA1]          = VB2_SIG_RSA8192,
+       [VB2_ALG_RSA2048_EXP3_SHA1]     = VB2_SIG_RSA2048_EXP3,
+       [VB2_ALG_RSA3072_EXP3_SHA1]     = VB2_SIG_RSA3072_EXP3,
+#endif
+#if VB2_SUPPORT_SHA256
+       [VB2_ALG_RSA1024_SHA256]        = VB2_SIG_RSA1024,
+       [VB2_ALG_RSA2048_SHA256]        = VB2_SIG_RSA2048,
+       [VB2_ALG_RSA4096_SHA256]        = VB2_SIG_RSA4096,
+       [VB2_ALG_RSA8192_SHA256]        = VB2_SIG_RSA8192,
+       [VB2_ALG_RSA2048_EXP3_SHA256]   = VB2_SIG_RSA2048_EXP3,
+       [VB2_ALG_RSA3072_EXP3_SHA256]   = VB2_SIG_RSA3072_EXP3,
+#endif
+#if VB2_SUPPORT_SHA512
+       [VB2_ALG_RSA1024_SHA512]        = VB2_SIG_RSA1024,
+       [VB2_ALG_RSA2048_SHA512]        = VB2_SIG_RSA2048,
+       [VB2_ALG_RSA4096_SHA512]        = VB2_SIG_RSA4096,
+       [VB2_ALG_RSA8192_SHA512]        = VB2_SIG_RSA8192,
+       [VB2_ALG_RSA2048_EXP3_SHA512]   = VB2_SIG_RSA2048_EXP3,
+       [VB2_ALG_RSA3072_EXP3_SHA512]   = VB2_SIG_RSA3072_EXP3,
+#endif
+};
+
+static const uint8_t crypto_to_hash[] = {
+#if VB2_SUPPORT_SHA1
+       [VB2_ALG_RSA1024_SHA1]          = VB2_HASH_SHA1,
+       [VB2_ALG_RSA2048_SHA1]          = VB2_HASH_SHA1,
+       [VB2_ALG_RSA4096_SHA1]          = VB2_HASH_SHA1,
+       [VB2_ALG_RSA8192_SHA1]          = VB2_HASH_SHA1,
+       [VB2_ALG_RSA2048_EXP3_SHA1]     = VB2_HASH_SHA1,
+       [VB2_ALG_RSA3072_EXP3_SHA1]     = VB2_HASH_SHA1,
+#endif
+#if VB2_SUPPORT_SHA256
+       [VB2_ALG_RSA1024_SHA256]        = VB2_HASH_SHA256,
+       [VB2_ALG_RSA2048_SHA256]        = VB2_HASH_SHA256,
+       [VB2_ALG_RSA4096_SHA256]        = VB2_HASH_SHA256,
+       [VB2_ALG_RSA8192_SHA256]        = VB2_HASH_SHA256,
+       [VB2_ALG_RSA2048_EXP3_SHA256]   = VB2_HASH_SHA256,
+       [VB2_ALG_RSA3072_EXP3_SHA256]   = VB2_HASH_SHA256,
+#endif
+#if VB2_SUPPORT_SHA512
+       [VB2_ALG_RSA1024_SHA512]        = VB2_HASH_SHA512,
+       [VB2_ALG_RSA2048_SHA512]        = VB2_HASH_SHA512,
+       [VB2_ALG_RSA4096_SHA512]        = VB2_HASH_SHA512,
+       [VB2_ALG_RSA8192_SHA512]        = VB2_HASH_SHA512,
+       [VB2_ALG_RSA2048_EXP3_SHA512]   = VB2_HASH_SHA512,
+       [VB2_ALG_RSA3072_EXP3_SHA512]   = VB2_HASH_SHA512,
+#endif
+};
+
+#if VB2_SUPPORT_SHA512
+_Static_assert(ARRAY_SIZE(crypto_names) == VB2_ALG_COUNT, "");
+_Static_assert(ARRAY_SIZE(crypto_filenames) == VB2_ALG_COUNT, "");
+_Static_assert(ARRAY_SIZE(crypto_to_sig) == VB2_ALG_COUNT, "");
+_Static_assert(ARRAY_SIZE(crypto_to_hash) == VB2_ALG_COUNT, "");
+#endif
+
+const char *vb2_get_hash_algorithm_name(enum vb2_hash_algorithm hash_alg)
+{      if (hash_alg < ARRAY_SIZE(vb2_hash_names) && vb2_hash_names[hash_alg])
+               return vb2_hash_names[hash_alg];
+       else
+               return VB2_INVALID_ALG_NAME;
+}
+
+const char *vb2_get_sig_algorithm_name(enum vb2_signature_algorithm sig_alg)
+{
+       if (sig_alg < ARRAY_SIZE(vb2_sig_names) && vb2_sig_names[sig_alg])
+               return vb2_sig_names[sig_alg];
+       else
+               return VB2_INVALID_ALG_NAME;
+}
+
+const char *vb2_get_crypto_algorithm_name(enum vb2_crypto_algorithm alg)
+{
+       if (alg < ARRAY_SIZE(crypto_names) && crypto_names[alg])
+               return crypto_names[alg];
+       else
+               return VB2_INVALID_ALG_NAME;
+}
+
+const char *vb2_get_crypto_algorithm_file(enum vb2_crypto_algorithm alg)
+{
+       if (alg < ARRAY_SIZE(crypto_filenames) && crypto_filenames[alg])
+               return crypto_filenames[alg];
+       else
+               return VB2_INVALID_ALG_NAME;
+}
+
+enum vb2_signature_algorithm vb2_crypto_to_signature(
+               enum vb2_crypto_algorithm algorithm)
+{
+       if (algorithm < ARRAY_SIZE(crypto_to_sig))
+               return crypto_to_sig[algorithm];
+       else
+               return VB2_SIG_INVALID;
+}
+
+enum vb2_hash_algorithm vb2_crypto_to_hash(enum vb2_crypto_algorithm algorithm)
+{
+       if (algorithm < ARRAY_SIZE(crypto_to_hash))
+               return crypto_to_hash[algorithm];
+       else
+               return VB2_HASH_INVALID;
+}
diff --git a/firmware/2lib/2ec_sync.c b/firmware/2lib/2ec_sync.c
new file mode 100644 (file)
index 0000000..e75313b
--- /dev/null
@@ -0,0 +1,376 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * EC software sync routines for vboot
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2secdata.h"
+#include "2sysincludes.h"
+
+#define SYNC_FLAG(select)                                      \
+       ((select) == VB_SELECT_FIRMWARE_READONLY ?              \
+        VB2_SD_FLAG_ECSYNC_EC_RO : VB2_SD_FLAG_ECSYNC_EC_RW)
+
+/**
+ * Print a hash to debug output
+ *
+ * @param hash         Pointer to the hash
+ * @param hash_size    Size of the hash in bytes
+ * @param desc         Description of what's being hashed
+ */
+static void print_hash(const uint8_t *hash, uint32_t hash_size)
+{
+       int i;
+       for (i = 0; i < hash_size; i++)
+               VB2_DEBUG_RAW("%02x", hash[i]);
+       VB2_DEBUG_RAW("\n");
+}
+
+static const char *image_name_to_string(enum vb2_firmware_selection select)
+{
+       switch (select) {
+       case VB_SELECT_FIRMWARE_READONLY:
+               return "RO";
+       case VB_SELECT_FIRMWARE_EC_ACTIVE:
+               return "RW(active)";
+       case VB_SELECT_FIRMWARE_EC_UPDATE:
+               return "RW(update)";
+       default:
+               return "UNKNOWN";
+       }
+}
+
+/**
+ * Check if the hash of the EC code matches the expected hash.
+ *
+ * @param ctx          Vboot2 context
+ * @param select       Which firmware image to check
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+static vb2_error_t check_ec_hash(struct vb2_context *ctx,
+                                enum vb2_firmware_selection select)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       const uint8_t *hexp = NULL;
+       const uint8_t *hmir = NULL;
+       const uint8_t *heff = NULL;
+       int hexp_len, heff_len;
+       const int hmir_len = VB2_SHA256_DIGEST_SIZE;
+       vb2_error_t rv;
+
+       /*
+        * Get expected EC hash and length.
+        */
+       VB2_TRY(vb2ex_ec_get_expected_image_hash(select, &hexp, &hexp_len),
+               ctx, VB2_RECOVERY_EC_EXPECTED_HASH);
+       VB2_DEBUG("Hexp %10s: ", image_name_to_string(select));
+       print_hash(hexp, hexp_len);
+
+       /*
+        * Get mirrored EC hash. This returns NULL on old systems. On new
+        * systems without EFS2, Hmir will be updated but unused.
+        *
+        * If it's called from update_ec, Hmir and Hexp are already synced.
+        */
+       hmir = vb2_secdata_kernel_get_ec_hash(ctx);
+       if (hmir && select == VB_SELECT_FIRMWARE_EC_ACTIVE) {
+               VB2_DEBUG("     %10s: ", "Hmir");
+               print_hash(hmir, hmir_len);
+               if (hmir_len != hexp_len) {
+                       VB2_DEBUG("Hmir size (%d) != Hexp size (%d)\n",
+                                 hmir_len, hexp_len);
+                       rv = VB2_ERROR_EC_HASH_SIZE;
+                       vb2api_fail(ctx, VB2_RECOVERY_EC_HASH_SIZE, rv);
+                       return rv;
+               }
+               if (vb2_safe_memcmp(hmir, hexp, hexp_len)) {
+                       VB2_DEBUG("Hmir != Hexp. Update Hmir.\n");
+                       vb2_secdata_kernel_set_ec_hash(ctx, hexp);
+                       sd->flags |= VB2_SD_FLAG_ECSYNC_HMIR_UPDATED;
+               }
+       }
+
+       /*
+        * Get effective EC hash and length.
+        */
+       VB2_TRY(vb2ex_ec_hash_image(select, &heff, &heff_len),
+               ctx, VB2_RECOVERY_EC_HASH_FAILED);
+       VB2_DEBUG("Heff %10s: ", image_name_to_string(select));
+       print_hash(heff, heff_len);
+
+       /* Lengths should match. */
+       if (heff_len != hexp_len) {
+               VB2_DEBUG("EC uses %d-byte hash but AP-RW contains %d bytes\n",
+                         heff_len, hexp_len);
+               rv = VB2_ERROR_EC_HASH_SIZE;
+               vb2api_fail(ctx, VB2_RECOVERY_EC_HASH_SIZE, rv);
+               return rv;
+       }
+
+       if (vb2_safe_memcmp(heff, hexp, hexp_len)) {
+               VB2_DEBUG("Heff != Hexp. Schedule update\n");
+               sd->flags |= SYNC_FLAG(select);
+       }
+
+       return VB2_SUCCESS;
+}
+
+/**
+ * Update the specified EC and verify the update succeeded
+ *
+ * @param ctx          Vboot2 context
+ * @param select       Which firmware image to check
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+static vb2_error_t update_ec(struct vb2_context *ctx,
+                            enum vb2_firmware_selection select)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+
+       VB2_DEBUG("Updating %s...\n", image_name_to_string(select));
+       VB2_TRY(vb2ex_ec_update_image(select), ctx, VB2_RECOVERY_EC_UPDATE);
+
+       /* Verify the EC was updated properly */
+       sd->flags &= ~SYNC_FLAG(select);
+       VB2_TRY(check_ec_hash(ctx, select));
+       if (sd->flags & SYNC_FLAG(select)) {
+               VB2_DEBUG("Failed to update\n");
+               vb2api_fail(ctx, VB2_RECOVERY_EC_UPDATE, 0);
+               return VB2_REQUEST_REBOOT_EC_TO_RO;
+       }
+
+       VB2_DEBUG("Updated %s successfully\n", image_name_to_string(select));
+
+       return VB2_SUCCESS;
+}
+
+/**
+ * Set VB2_SD_FLAG_ECSYNC_EC_IN_RW flag for the EC
+ *
+ * @param ctx          Vboot2 context
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+static vb2_error_t check_ec_active(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       int in_rw = 0;
+       /*
+        * We don't use VB2_CONTEXT_EC_TRUSTED, which checks if not EC_IN_RW.
+        * It is controlled by cr50 but on some platforms, cr50 can't know when
+        * a EC resets. So, we trust what EC-RW says. If it lies it's in RO,
+        * we'll flash RW while it's in RW.
+        */
+       /* If we couldn't determine where the EC was, reboot to recovery. */
+       VB2_TRY(vb2ex_ec_running_rw(&in_rw),
+               ctx, VB2_RECOVERY_EC_UNKNOWN_IMAGE);
+
+       if (in_rw)
+               sd->flags |= VB2_SD_FLAG_ECSYNC_EC_IN_RW;
+
+       return VB2_SUCCESS;
+}
+
+/**
+ * Sync, jump, and protect EC device
+ *
+ * @param ctx          Vboot2 context
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+static vb2_error_t sync_ec(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+
+       const enum vb2_firmware_selection select_rw = EC_EFS ?
+               VB_SELECT_FIRMWARE_EC_UPDATE :
+               VB_SELECT_FIRMWARE_EC_ACTIVE;
+       VB2_DEBUG("select_rw=%s\n", image_name_to_string(select_rw));
+
+       /* Update the RW Image */
+       if (sd->flags & SYNC_FLAG(select_rw)) {
+               VB2_TRY(update_ec(ctx, select_rw), ctx, VB2_RECOVERY_EC_UPDATE);
+               /* Updated successfully. Cold reboot to switch to the new RW. */
+               if (ctx->flags & VB2_CONTEXT_NO_BOOT) {
+                       VB2_DEBUG("Rebooting to jump to new EC-RW\n");
+                       return VB2_REQUEST_REBOOT_EC_TO_RO;
+               } else if (EC_EFS) {
+                       VB2_DEBUG("Rebooting to switch to new EC-RW\n");
+                       return VB2_REQUEST_REBOOT_EC_SWITCH_RW;
+               }
+       }
+
+       if (sd->flags & VB2_SD_FLAG_ECSYNC_HMIR_UPDATED) {
+               /*
+                * After Hmir is updated, EFS needs to be retried since the
+                * verification result is revoked.
+                */
+               VB2_DEBUG("Reset EC after Hmir update\n");
+               return VB2_REQUEST_REBOOT_EC_TO_RO;
+       }
+
+       /* We no longer trust the EC once it is already in RW or tries to jump
+          to RW. */
+       ctx->flags &= ~VB2_CONTEXT_EC_TRUSTED;
+
+       /* Tell EC to jump to RW. It should already be in RW for EFS2. */
+       if (!(sd->flags & VB2_SD_FLAG_ECSYNC_EC_IN_RW)) {
+               VB2_DEBUG("jumping to EC-RW\n");
+               VB2_TRY(vb2ex_ec_jump_to_rw(), ctx, VB2_RECOVERY_EC_JUMP_RW);
+       }
+
+       /* Might need to update EC-RO */
+       if (sd->flags & VB2_SD_FLAG_ECSYNC_EC_RO) {
+               VB2_DEBUG("RO Software Sync\n");
+
+               /* Reset RO Software Sync NV flag */
+               vb2_nv_set(ctx, VB2_NV_TRY_RO_SYNC, 0);
+
+               /* Update the RO Image */
+               VB2_TRY(update_ec(ctx, VB_SELECT_FIRMWARE_READONLY),
+                       ctx, VB2_RECOVERY_EC_UPDATE);
+       }
+
+       /* Protect RO flash */
+       VB2_TRY(vb2ex_ec_protect(VB_SELECT_FIRMWARE_READONLY),
+               ctx, VB2_RECOVERY_EC_PROTECT);
+
+       /* Protect RW flash */
+       VB2_TRY(vb2ex_ec_protect(select_rw), ctx, VB2_RECOVERY_EC_PROTECT);
+
+       /* Disable further sysjumps */
+       VB2_TRY(vb2ex_ec_disable_jump(), ctx, VB2_RECOVERY_EC_SOFTWARE_SYNC);
+
+       return VB2_SUCCESS;
+}
+
+/**
+ * EC sync, phase 1
+ *
+ * This checks whether the EC is running the correct image to do EC sync, and
+ * whether any updates are necessary.
+ *
+ * @param ctx          Vboot2 context
+ * @return VB2_SUCCESS, VB2_REQUEST_REBOOT_EC_TO_RO if the EC must reboot back
+ * to its RO code to continue EC sync, or other non-zero error code.
+ */
+static vb2_error_t ec_sync_phase1(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+
+       /* Reasons not to do sync at all */
+       if (!(ctx->flags & VB2_CONTEXT_EC_SYNC_SUPPORTED))
+               return VB2_SUCCESS;
+       if (gbb->flags & VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC)
+               return VB2_SUCCESS;
+
+       /* Set VB2_SD_FLAG_ECSYNC_EC_IN_RW flag */
+       if (check_ec_active(ctx))
+               return VB2_REQUEST_REBOOT_EC_TO_RO;
+
+       /* Check if we need to update RW. Failures trigger recovery mode. */
+       if (check_ec_hash(ctx, VB_SELECT_FIRMWARE_EC_ACTIVE))
+               return VB2_REQUEST_REBOOT_EC_TO_RO;
+
+       /* See if we need to update EC-RO. */
+       if (vb2_nv_get(ctx, VB2_NV_TRY_RO_SYNC) &&
+           check_ec_hash(ctx, VB_SELECT_FIRMWARE_READONLY)) {
+               return VB2_REQUEST_REBOOT_EC_TO_RO;
+       }
+
+       /*
+        * If we're in RW, we need to reboot back to RO because RW can't be
+        * updated while we're running it.
+        *
+        * If EC supports RW-A/B slots, we can proceed but we need
+        * to jump to the new RW version later.
+        */
+       if ((sd->flags & SYNC_FLAG(VB_SELECT_FIRMWARE_EC_ACTIVE)) &&
+           (sd->flags & VB2_SD_FLAG_ECSYNC_EC_IN_RW) && !EC_EFS) {
+               return VB2_REQUEST_REBOOT_EC_TO_RO;
+       }
+
+       return VB2_SUCCESS;
+}
+
+/**
+ * determine if we can update the EC
+ *
+ * @param ctx          Vboot2 context
+ * @return boolean (true iff we can update the EC)
+ */
+
+static int ec_sync_allowed(struct vb2_context *ctx)
+{
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+
+       /* Reasons not to do sync at all */
+       if (!(ctx->flags & VB2_CONTEXT_EC_SYNC_SUPPORTED))
+               return 0;
+       if (gbb->flags & VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC)
+               return 0;
+       if (ctx->flags & VB2_CONTEXT_RECOVERY_MODE)
+               return 0;
+       return 1;
+}
+
+/**
+ * EC sync, phase 2
+ *
+ * This updates the EC if necessary, makes sure it has protected its image(s),
+ * and makes sure it has jumped to the correct image.
+ *
+ * @param ctx          Vboot2 context
+ * @return VB2_SUCCESS, VB2_REQUEST_REBOOT_EC_TO_RO if the EC must
+ * reboot back to its RO code to continue EC sync, or other non-zero error
+ * code.
+ */
+static vb2_error_t ec_sync_phase2(struct vb2_context *ctx)
+{
+       if (!ec_sync_allowed(ctx))
+               return VB2_SUCCESS;
+
+       /* Handle updates and jumps for EC */
+       return sync_ec(ctx);
+}
+
+vb2_error_t vb2api_ec_sync(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+
+       /*
+        * If the status indicates that the EC has already gone through
+        * software sync this boot, then don't do it again.
+        */
+       if (sd->status & VB2_SD_STATUS_EC_SYNC_COMPLETE) {
+               VB2_DEBUG("EC software sync already performed this boot, skipping\n");
+               return VB2_SUCCESS;
+       }
+
+       /*
+        * If the device is in recovery mode, then EC sync should
+        * not be performed.
+        */
+       if (ctx->flags & VB2_CONTEXT_RECOVERY_MODE) {
+               VB2_DEBUG("In recovery mode, skipping EC sync\n");
+               return VB2_SUCCESS;
+       }
+
+       /* Phase 1; this determines if we need an update */
+       VB2_TRY(ec_sync_phase1(ctx));
+
+       /* Phase 2; Applies update and/or jumps to the correct EC image */
+       VB2_TRY(ec_sync_phase2(ctx));
+
+       /* Phase 3; Let the platform know that EC software sync is now done */
+       VB2_TRY(vb2ex_ec_vboot_done(ctx));
+
+       /* Establish that EC software sync is complete and successful */
+       sd->status |= VB2_SD_STATUS_EC_SYNC_COMPLETE;
+
+       return VB2_SUCCESS;
+}
diff --git a/firmware/2lib/2firmware.c b/firmware/2lib/2firmware.c
new file mode 100644 (file)
index 0000000..bc708dc
--- /dev/null
@@ -0,0 +1,237 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Misc functions which need access to vb2_context but are not public APIs
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2secdata.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+
+vb2_error_t vb2_load_fw_keyblock(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+       struct vb2_workbuf wb;
+
+       uint8_t *key_data;
+       uint32_t key_size;
+       struct vb2_public_key root_key;
+
+       struct vb2_keyblock *kb;
+       uint32_t block_size;
+
+       vb2_error_t rv = VB2_SUCCESS;
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       /* Read the root key */
+       key_size = gbb->rootkey_size;
+       key_data = vb2_workbuf_alloc(&wb, key_size);
+       if (!key_data)
+               return VB2_ERROR_FW_KEYBLOCK_WORKBUF_ROOT_KEY;
+
+       VB2_TRY(vb2ex_read_resource(ctx, VB2_RES_GBB, gbb->rootkey_offset,
+                                   key_data, key_size));
+
+       /* Unpack the root key */
+       VB2_TRY(vb2_unpack_key_buffer(&root_key, key_data, key_size));
+
+       root_key.allow_hwcrypto = vb2_hwcrypto_allowed(ctx);
+
+       /* Load the firmware keyblock header after the root key */
+       kb = vb2_workbuf_alloc(&wb, sizeof(*kb));
+       if (!kb)
+               return VB2_ERROR_FW_KEYBLOCK_WORKBUF_HEADER;
+
+       VB2_TRY(vb2ex_read_resource(ctx, VB2_RES_FW_VBLOCK, 0,
+                                   kb, sizeof(*kb)));
+
+       block_size = kb->keyblock_size;
+
+       /*
+        * Load the entire keyblock, now that we know how big it is.  Note that
+        * we're loading the entire keyblock instead of just the piece after
+        * the header.  That means we re-read the header.  But that's a tiny
+        * amount of data, and it makes the code much more straightforward.
+        */
+       kb = vb2_workbuf_realloc(&wb, sizeof(*kb), block_size);
+       if (!kb)
+               return VB2_ERROR_FW_KEYBLOCK_WORKBUF;
+
+       VB2_TRY(vb2ex_read_resource(ctx, VB2_RES_FW_VBLOCK, 0, kb, block_size));
+
+       /* Verify the keyblock */
+       VB2_TRY(vb2_verify_keyblock(kb, block_size, &root_key, &wb),
+               ctx, VB2_RECOVERY_FW_KEYBLOCK);
+
+       /* Key version is the upper 16 bits of the composite firmware version */
+       if (kb->data_key.key_version > VB2_MAX_KEY_VERSION)
+               rv = VB2_ERROR_FW_KEYBLOCK_VERSION_RANGE;
+       if (!rv && kb->data_key.key_version < (sd->fw_version_secdata >> 16)) {
+               if (gbb->flags & VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK)
+                       VB2_DEBUG("Ignoring FW key rollback due to GBB flag\n");
+               else
+                       rv = VB2_ERROR_FW_KEYBLOCK_VERSION_ROLLBACK;
+       }
+       if (rv) {
+               vb2api_fail(ctx, VB2_RECOVERY_FW_KEY_ROLLBACK, rv);
+               return rv;
+       }
+
+       sd->fw_version = kb->data_key.key_version << 16;
+
+       /* Preamble follows the keyblock in the vblock. */
+       sd->vblock_preamble_offset = kb->keyblock_size;
+
+       /*
+        * Save the data key in the work buffer.  We'll overwrite the root key
+        * we read above.  That's ok, because now that we have the data key we
+        * no longer need the root key.  First, let's double-check that it is
+        * well-formed though (although the keyblock was signed anyway).
+        */
+       VB2_TRY(vb2_verify_packed_key_inside(kb, block_size, &kb->data_key));
+
+       /* Save the future offset and size while kb->data_key is still valid.
+          The check above made sure that key_offset and key_size are valid. */
+       sd->data_key_offset = vb2_offset_of(sd, key_data);
+       sd->data_key_size = kb->data_key.key_offset + kb->data_key.key_size;
+
+       /*
+        * Use memmove() instead of memcpy().  In theory, the destination will
+        * never overlap because with the source because the root key is likely
+        * to be at least as large as the data key, but there's no harm here in
+        * being paranoid.  Make sure we immediately invalidate 'kb' after the
+        * move to guarantee we won't try to access it anymore.
+        */
+       memmove(key_data, &kb->data_key, sd->data_key_size);
+       kb = NULL;
+
+       /*
+        * Data key will persist in the workbuf after we return.
+        *
+        * Work buffer now contains:
+        *   - vb2_shared_data
+        *   - packed firmware data key
+        */
+       vb2_set_workbuf_used(ctx, sd->data_key_offset + sd->data_key_size);
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_load_fw_preamble(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+       struct vb2_workbuf wb;
+
+       uint8_t *key_data = vb2_member_of(sd, sd->data_key_offset);
+       uint32_t key_size = sd->data_key_size;
+       struct vb2_public_key data_key;
+
+       /* Preamble goes in the next unused chunk of work buffer */
+       struct vb2_fw_preamble *pre;
+       uint32_t pre_size;
+
+       vb2_error_t rv = VB2_SUCCESS;
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       /* Unpack the firmware data key */
+       if (!sd->data_key_size)
+               return VB2_ERROR_FW_PREAMBLE2_DATA_KEY;
+
+       VB2_TRY(vb2_unpack_key_buffer(&data_key, key_data, key_size));
+
+       data_key.allow_hwcrypto = vb2_hwcrypto_allowed(ctx);
+
+       /* Load the firmware preamble header */
+       pre = vb2_workbuf_alloc(&wb, sizeof(*pre));
+       if (!pre)
+               return VB2_ERROR_FW_PREAMBLE2_WORKBUF_HEADER;
+
+       VB2_TRY(vb2ex_read_resource(ctx, VB2_RES_FW_VBLOCK,
+                                   sd->vblock_preamble_offset,
+                                   pre, sizeof(*pre)));
+
+       pre_size = pre->preamble_size;
+
+       /* Load the entire firmware preamble, now that we know how big it is */
+       pre = vb2_workbuf_realloc(&wb, sizeof(*pre), pre_size);
+       if (!pre)
+               return VB2_ERROR_FW_PREAMBLE2_WORKBUF;
+
+       VB2_TRY(vb2ex_read_resource(ctx, VB2_RES_FW_VBLOCK,
+                                   sd->vblock_preamble_offset,
+                                   pre, pre_size));
+
+       /* Work buffer now contains the data subkey data and the preamble */
+
+       /* Verify the preamble */
+       VB2_TRY(vb2_verify_fw_preamble(pre, pre_size, &data_key, &wb),
+               ctx, VB2_RECOVERY_FW_PREAMBLE);
+
+       /*
+        * Firmware version is the lower 16 bits of the composite firmware
+        * version.
+        */
+       if (pre->firmware_version > VB2_MAX_PREAMBLE_VERSION)
+               rv = VB2_ERROR_FW_PREAMBLE_VERSION_RANGE;
+       /* Combine with the key version from vb2_load_fw_keyblock() */
+       sd->fw_version |= pre->firmware_version;
+       if (!rv && sd->fw_version < sd->fw_version_secdata) {
+               if (gbb->flags & VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK)
+                       VB2_DEBUG("Ignoring FW rollback due to GBB flag\n");
+               else
+                       rv = VB2_ERROR_FW_PREAMBLE_VERSION_ROLLBACK;
+       }
+       if (rv) {
+               vb2api_fail(ctx, VB2_RECOVERY_FW_ROLLBACK, rv);
+               return rv;
+       }
+
+       /*
+        * If this is a newer version than in secure storage, and we
+        * successfully booted the same slot last boot, roll forward the
+        * version in secure storage.
+        *
+        * Note that this happens before we've verified the firmware data this
+        * boot; we're relying on the indicator that the last boot was
+        * successful.  That's ok, because even if the firmware data has a
+        * valid hash, the only way we can know if it's functional is to trust
+        * the status from the last boot.
+        */
+       if (sd->fw_version > sd->fw_version_secdata &&
+           sd->last_fw_slot == sd->fw_slot &&
+           sd->last_fw_result == VB2_FW_RESULT_SUCCESS) {
+               sd->fw_version_secdata = sd->fw_version;
+               vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_VERSIONS,
+                                        sd->fw_version);
+       }
+
+       /* Keep track of where we put the preamble */
+       sd->preamble_offset = vb2_offset_of(sd, pre);
+       sd->preamble_size = pre_size;
+
+       /*
+        * Preamble will persist in work buffer after we return.
+        *
+        * Work buffer now contains:
+        *   - vb2_shared_data
+        *   - vb2_gbb_header
+        *   - packed firmware data key
+        *   - firmware preamble
+        *
+        * TODO: we could move the preamble down over the firmware data key
+        * since we don't need it anymore.
+        */
+       vb2_set_workbuf_used(ctx, sd->preamble_offset + pre_size);
+
+       return VB2_SUCCESS;
+}
diff --git a/firmware/2lib/2gbb.c b/firmware/2lib/2gbb.c
new file mode 100644 (file)
index 0000000..9238c30
--- /dev/null
@@ -0,0 +1,117 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * GBB accessor functions.
+ */
+
+#include "2common.h"
+#include "2misc.h"
+
+static vb2_error_t vb2_gbb_read_key(struct vb2_context *ctx, uint32_t offset,
+                                   uint32_t *size,
+                                   struct vb2_packed_key **keyp,
+                                   struct vb2_workbuf *wb)
+{
+       struct vb2_workbuf wblocal = *wb;
+
+       /* Check offset and size. */
+       if (offset < sizeof(struct vb2_gbb_header))
+               return VB2_ERROR_GBB_INVALID;
+       if (*size < sizeof(**keyp))
+               return VB2_ERROR_GBB_INVALID;
+
+       /* GBB header might be padded.  Retrieve the vb2_packed_key
+          header so we can find out what the real size is. */
+       *keyp = vb2_workbuf_alloc(&wblocal, sizeof(**keyp));
+       if (!*keyp)
+               return VB2_ERROR_GBB_WORKBUF;
+       VB2_TRY(vb2ex_read_resource(ctx, VB2_RES_GBB, offset, *keyp,
+                                   sizeof(**keyp)));
+
+       VB2_TRY(vb2_verify_packed_key_inside(*keyp, *size, *keyp));
+
+       /* Deal with a zero-size key (used in testing). */
+       *size = (*keyp)->key_offset + (*keyp)->key_size;
+       *size = VB2_MAX(*size, sizeof(**keyp));
+
+       /* Now that we know the real size of the key, retrieve the key
+          data, and write it on the workbuf, directly after vb2_packed_key. */
+       *keyp = vb2_workbuf_realloc(&wblocal, sizeof(**keyp), *size);
+       if (!*keyp)
+               return VB2_ERROR_GBB_WORKBUF;
+
+       VB2_TRY(vb2ex_read_resource(ctx, VB2_RES_GBB,
+                                   offset + sizeof(**keyp),
+                                   (void *)*keyp + sizeof(**keyp),
+                                   *size - sizeof(**keyp)));
+       *wb = wblocal;
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_gbb_read_root_key(struct vb2_context *ctx,
+                                 struct vb2_packed_key **keyp, uint32_t *size,
+                                 struct vb2_workbuf *wb)
+{
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+       uint32_t size_in = gbb->rootkey_size;
+       vb2_error_t ret = vb2_gbb_read_key(ctx, gbb->rootkey_offset,
+                                          &size_in, keyp, wb);
+       if (size)
+               *size = size_in;
+       return ret;
+}
+
+vb2_error_t vb2_gbb_read_recovery_key(struct vb2_context *ctx,
+                                     struct vb2_packed_key **keyp,
+                                     uint32_t *size, struct vb2_workbuf *wb)
+{
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+       uint32_t size_in = gbb->recovery_key_size;
+       vb2_error_t ret = vb2_gbb_read_key(ctx, gbb->recovery_key_offset,
+                                          &size_in, keyp, wb);
+       if (size)
+               *size = size_in;
+       return ret;
+}
+
+vb2_error_t vb2api_gbb_read_hwid(struct vb2_context *ctx, char *hwid,
+                                uint32_t *size)
+{
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+       uint32_t i;
+       vb2_error_t ret;
+
+       if (gbb->hwid_size == 0) {
+               VB2_DEBUG("invalid HWID size %d\n", gbb->hwid_size);
+               return VB2_ERROR_GBB_INVALID;
+       }
+
+       *size = VB2_MIN(*size, VB2_GBB_HWID_MAX_SIZE);
+       *size = VB2_MIN(*size, gbb->hwid_size);
+
+       ret = vb2ex_read_resource(ctx, VB2_RES_GBB, gbb->hwid_offset,
+                                 hwid, *size);
+       if (ret) {
+               VB2_DEBUG("read resource failure: %d\n", ret);
+               return ret;
+       }
+
+       /* Count HWID size, and ensure that it fits in the given buffer. */
+       for (i = 0; i < *size; i++) {
+               if (hwid[i] == '\0') {
+                       *size = i + 1;
+                       break;
+               }
+       }
+       if (hwid[*size - 1] != '\0')
+               return VB2_ERROR_INVALID_PARAMETER;
+
+       return VB2_SUCCESS;
+}
+
+vb2_gbb_flags_t vb2api_gbb_get_flags(struct vb2_context *ctx)
+{
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+       return gbb->flags;
+}
diff --git a/firmware/2lib/2hmac.c b/firmware/2lib/2hmac.c
new file mode 100644 (file)
index 0000000..d67da42
--- /dev/null
@@ -0,0 +1,60 @@
+/* Copyright 2016 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "2hmac.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+
+int hmac(enum vb2_hash_algorithm alg,
+        const void *key, uint32_t key_size,
+        const void *msg, uint32_t msg_size,
+        uint8_t *mac, uint32_t mac_size)
+{
+       uint32_t block_size;
+       uint32_t digest_size;
+       uint8_t k[VB2_MAX_BLOCK_SIZE];
+       uint8_t o_pad[VB2_MAX_BLOCK_SIZE];
+       uint8_t i_pad[VB2_MAX_BLOCK_SIZE];
+       uint8_t b[VB2_MAX_DIGEST_SIZE];
+       struct vb2_digest_context dc;
+       int i;
+
+       if (!key | !msg | !mac)
+               return -1;
+
+       digest_size = vb2_digest_size(alg);
+       block_size = vb2_hash_block_size(alg);
+       if (!digest_size || !block_size)
+               return -1;
+
+       if (mac_size < digest_size)
+               return -1;
+
+       if (key_size > block_size) {
+               vb2_digest_buffer((uint8_t *)key, key_size, alg, k, block_size);
+               key_size = digest_size;
+       } else {
+               memcpy(k, key, key_size);
+       }
+       if (key_size < block_size)
+               memset(k + key_size, 0, block_size - key_size);
+
+       for (i = 0; i < block_size; i++) {
+               o_pad[i] = 0x5c ^ k[i];
+               i_pad[i] = 0x36 ^ k[i];
+       }
+
+       vb2_digest_init(&dc, alg);
+       vb2_digest_extend(&dc, i_pad, block_size);
+       vb2_digest_extend(&dc, msg, msg_size);
+       vb2_digest_finalize(&dc, b, digest_size);
+
+       vb2_digest_init(&dc, alg);
+       vb2_digest_extend(&dc, o_pad, block_size);
+       vb2_digest_extend(&dc, b, digest_size);
+       vb2_digest_finalize(&dc, mac, mac_size);
+
+       return 0;
+}
diff --git a/firmware/2lib/2kernel.c b/firmware/2lib/2kernel.c
new file mode 100644 (file)
index 0000000..5b18cad
--- /dev/null
@@ -0,0 +1,199 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Kernel selection, loading, verification, and booting.
+ */
+
+#include "2common.h"
+#include "2kernel.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2secdata.h"
+#include "vboot_api.h"
+
+/**
+ * Reset any NVRAM requests.
+ *
+ * @param ctx          Vboot context
+ * @return 1 if a reboot is required, 0 otherwise.
+ */
+static int vb2_reset_nv_requests(struct vb2_context *ctx)
+{
+       int need_reboot = 0;
+
+       if (vb2_nv_get(ctx, VB2_NV_DISPLAY_REQUEST)) {
+               VB2_DEBUG("Unset display request (undo display init)\n");
+               vb2_nv_set(ctx, VB2_NV_DISPLAY_REQUEST, 0);
+               need_reboot = 1;
+       }
+
+       if (vb2_nv_get(ctx, VB2_NV_DIAG_REQUEST)) {
+               VB2_DEBUG("Unset diagnostic request (undo display init)\n");
+               vb2_nv_set(ctx, VB2_NV_DIAG_REQUEST, 0);
+               need_reboot = 1;
+       }
+
+       return need_reboot;
+}
+
+vb2_error_t vb2_normal_boot(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       uint32_t max_rollforward = vb2_nv_get(ctx,
+                                             VB2_NV_KERNEL_MAX_ROLLFORWARD);
+
+       /* Boot from fixed disk only */
+       VB2_DEBUG("Entering\n");
+
+       if (vb2_reset_nv_requests(ctx)) {
+               VB2_DEBUG("Normal mode: reboot to reset NVRAM requests\n");
+               return VB2_REQUEST_REBOOT;
+       }
+
+       vb2_error_t rv = VbTryLoadKernel(ctx, VB_DISK_FLAG_FIXED);
+
+       VB2_DEBUG("Checking if TPM kernel version needs advancing\n");
+
+       /*
+        * Special case for when we're trying a slot with new firmware.
+        * Firmware updates also usually change the kernel key, which means
+        * that the new firmware can only boot a new kernel, and the old
+        * firmware in the previous slot can only boot the previous kernel.
+        *
+        * Don't roll-forward the kernel version, because we don't yet know if
+        * the new kernel will successfully boot.
+        */
+       if (vb2_nv_get(ctx, VB2_NV_FW_RESULT) == VB2_FW_RESULT_TRYING) {
+               VB2_DEBUG("Trying new FW; skip kernel version roll-forward.\n");
+               return rv;
+       }
+
+       /*
+        * Limit kernel version rollforward if needed.  Can't limit kernel
+        * version to less than the version currently in the TPM.  That is,
+        * we're limiting rollforward, not allowing rollback.
+        */
+       if (max_rollforward < sd->kernel_version_secdata)
+               max_rollforward = sd->kernel_version_secdata;
+
+       if (sd->kernel_version > max_rollforward) {
+               VB2_DEBUG("Limiting TPM kernel version roll-forward "
+                         "to %#x < %#x\n",
+                         max_rollforward, sd->kernel_version);
+
+               sd->kernel_version = max_rollforward;
+       }
+
+       if (sd->kernel_version > sd->kernel_version_secdata) {
+               vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS,
+                                      sd->kernel_version);
+       }
+
+       return rv;
+}
+
+int vb2api_is_developer_signed(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+
+       if (!sd->kernel_key_offset || !sd->kernel_key_size) {
+               VB2_DEBUG("ERROR: Cannot call this before kernel_phase1!\n");
+               return 0;
+       }
+
+       struct vb2_public_key key;
+       if (vb2_unpack_key(&key, vb2_member_of(sd, sd->kernel_key_offset)))
+               return 0;
+
+       /* This is a debugging aid, not a security-relevant feature. There's no
+          reason to hardcode the whole key or waste time computing a hash. Just
+          spot check the starting bytes of the pseudorandom part of the key. */
+       uint32_t devkey_n0inv = ctx->flags & VB2_CONTEXT_RECOVERY_MODE ?
+               0x18cebcf5 :    /*  recovery_key.vbpubk @0x24 */
+               0xe0cd87d9;     /* kernel_subkey.vbpubk @0x24 */
+
+       if (key.n0inv == devkey_n0inv)
+               return 1;
+
+       return 0;
+}
+
+vb2_error_t vb2api_kernel_phase1(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_workbuf wb;
+       struct vb2_packed_key *packed_key;
+       uint32_t flags;
+       vb2_error_t rv;
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       /*
+        * Init secdata_fwmp spaces. No need to init secdata_firmware or
+        * secdata_kernel, since they were already read during firmware
+        * verification.  Ignore errors in recovery mode.
+        */
+       rv = vb2_secdata_fwmp_init(ctx);
+       if (rv && !(ctx->flags & VB2_CONTEXT_RECOVERY_MODE)) {
+               VB2_DEBUG("TPM: init secdata_fwmp returned %#x\n", rv);
+               vb2api_fail(ctx, VB2_RECOVERY_SECDATA_FWMP_INIT, rv);
+               return rv;
+       }
+
+       /* Initialize experimental feature flags while in normal RW path. */
+       if (!(ctx->flags & VB2_CONTEXT_RECOVERY_MODE)) {
+               flags = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS);
+               flags &= ~VB2_SECDATA_KERNEL_FLAG_PHONE_RECOVERY_DISABLED;
+               flags |= VB2_SECDATA_KERNEL_FLAG_PHONE_RECOVERY_UI_DISABLED;
+               flags &= ~VB2_SECDATA_KERNEL_FLAG_DIAGNOSTIC_UI_DISABLED;
+               flags |= VB2_SECDATA_KERNEL_FLAG_HWCRYPTO_ALLOWED;
+               vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS, flags);
+       }
+
+       /* Read kernel version from secdata. */
+       sd->kernel_version_secdata =
+               vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS);
+       sd->kernel_version = sd->kernel_version_secdata;
+
+       vb2_fill_dev_boot_flags(ctx);
+
+       /* Find the key to use to verify the kernel keyblock */
+       if ((ctx->flags & VB2_CONTEXT_RECOVERY_MODE)) {
+               /* Load recovery key from GBB. */
+               rv = vb2_gbb_read_recovery_key(ctx, &packed_key, NULL, &wb);
+               if (rv) {
+                       if (ctx->boot_mode != VB2_BOOT_MODE_BROKEN_SCREEN)
+                               VB2_DIE("GBB read recovery key failed.\n");
+                       else
+                               /*
+                                * If we're headed for the BROKEN screen,
+                                * we won't need the recovery key.  Just
+                                * short-circuit with success.
+                                */
+                               return VB2_SUCCESS;
+               }
+       } else {
+               /* Kernel subkey from firmware preamble */
+               struct vb2_fw_preamble *pre;
+
+               /* Make sure we have a firmware preamble loaded */
+               if (!sd->preamble_size)
+                       return VB2_ERROR_API_KPHASE1_PREAMBLE;
+
+               pre = (struct vb2_fw_preamble *)
+                       vb2_member_of(sd, sd->preamble_offset);
+               packed_key = &pre->kernel_subkey;
+       }
+
+       sd->kernel_key_offset = vb2_offset_of(sd, packed_key);
+       sd->kernel_key_size = packed_key->key_offset + packed_key->key_size;
+
+       vb2_set_workbuf_used(ctx, vb2_offset_of(sd, wb.buf));
+
+       if (vb2api_is_developer_signed(ctx))
+               VB2_DEBUG("This is developer-signed firmware.\n");
+
+       return VB2_SUCCESS;
+}
diff --git a/firmware/2lib/2misc.c b/firmware/2lib/2misc.c
new file mode 100644 (file)
index 0000000..6e92690
--- /dev/null
@@ -0,0 +1,742 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Misc functions which need access to vb2_context but are not public APIs
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2recovery_reasons.h"
+#include "2rsa.h"
+#include "2secdata.h"
+#include "2sha.h"
+#include "2struct.h"
+#include "2sysincludes.h"
+#include "vboot_api.h"
+#include "vboot_struct.h"
+
+vb2_error_t vb2_validate_gbb_signature(uint8_t *sig)
+{
+       const static uint8_t sig_xor[VB2_GBB_SIGNATURE_SIZE] =
+                       VB2_GBB_XOR_SIGNATURE;
+       int i;
+       for (i = 0; i < VB2_GBB_SIGNATURE_SIZE; i++) {
+               if (sig[i] != (sig_xor[i] ^ VB2_GBB_XOR_CHARS[i]))
+                       return VB2_ERROR_GBB_MAGIC;
+       }
+       return VB2_SUCCESS;
+}
+
+test_mockable
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       return (struct vb2_gbb_header *)((void *)sd + sd->gbb_offset);
+}
+
+uint32_t vb2api_get_firmware_size(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       if (!sd->preamble_size)
+               return 0;
+
+       const struct vb2_fw_preamble *pre = (const struct vb2_fw_preamble *)
+               vb2_member_of(sd, sd->preamble_offset);
+       return pre->body_signature.data_size;
+}
+
+test_mockable
+vb2_error_t vb2_read_gbb_header(struct vb2_context *ctx,
+                               struct vb2_gbb_header *gbb)
+{
+       /* Read the entire header */
+       VB2_TRY(vb2ex_read_resource(ctx, VB2_RES_GBB, 0, gbb, sizeof(*gbb)));
+
+       /* Make sure it's really a GBB */
+       VB2_TRY(vb2_validate_gbb_signature(gbb->signature));
+
+       /* Check for compatible version */
+       if (gbb->major_version != VB2_GBB_MAJOR_VER)
+               return VB2_ERROR_GBB_VERSION;
+
+       /* Current code is not backwards-compatible to 1.1 headers or older */
+       if (gbb->minor_version < VB2_GBB_MINOR_VER)
+               return VB2_ERROR_GBB_TOO_OLD;
+
+       /*
+        * Header size should be at least as big as we expect.  It could be
+        * bigger, if the header has grown.
+        */
+       if (gbb->header_size < sizeof(*gbb))
+               return VB2_ERROR_GBB_HEADER_SIZE;
+
+       return VB2_SUCCESS;
+}
+
+test_mockable
+void vb2api_fail(struct vb2_context *ctx, uint8_t reason, uint8_t subcode)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+
+       /* If NV data hasn't been initialized, initialize it now */
+       if (!(sd->status & VB2_SD_STATUS_NV_INIT))
+               vb2_nv_init(ctx);
+
+       /* See if we were far enough in the boot process to choose a slot */
+       if (sd->status & VB2_SD_STATUS_CHOSE_SLOT) {
+
+               /* Boot failed */
+               vb2_nv_set(ctx, VB2_NV_FW_RESULT, VB2_FW_RESULT_FAILURE);
+
+               /* Use up remaining tries */
+               vb2_nv_set(ctx, VB2_NV_TRY_COUNT, 0);
+
+               /*
+                * Try the other slot next time.  We'll alternate
+                * between slots, which may help if one or both slots is
+                * flaky.
+                */
+               vb2_nv_set(ctx, VB2_NV_TRY_NEXT, 1 - sd->fw_slot);
+
+               /*
+                * If we didn't try the other slot last boot, or we tried it
+                * and it didn't fail, try it next boot.
+                */
+               if (sd->last_fw_slot != 1 - sd->fw_slot ||
+                   sd->last_fw_result != VB2_FW_RESULT_FAILURE)
+                       return;
+       }
+
+       /*
+        * If we're still here, we failed before choosing a slot, or both
+        * this slot and the other slot failed in successive boots.  So we
+        * need to go to recovery.
+        *
+        * Set a recovery reason and subcode only if they're not already set.
+        * If recovery is already requested, it's a more specific error code
+        * than later code is providing and we shouldn't overwrite it.
+        */
+       VB2_DEBUG("Need recovery, reason: %#x / %#x\n", reason, subcode);
+       if (!vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST)) {
+               vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, reason);
+               vb2_nv_set(ctx, VB2_NV_RECOVERY_SUBCODE, subcode);
+       }
+}
+
+void vb2_check_recovery(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       uint32_t reason = vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST);
+       uint32_t subcode = vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE);
+
+       VB2_DEBUG("Recovery reason from previous boot: %#x / %#x\n",
+                 reason, subcode);
+
+       /*
+        * Sets the current recovery request, unless there's already been a
+        * failure earlier in the boot process.
+        */
+       if (!sd->recovery_reason)
+               sd->recovery_reason = reason;
+
+       if (ctx->flags & VB2_CONTEXT_FORCE_RECOVERY_MODE) {
+               VB2_DEBUG("Recovery was requested manually\n");
+               if (subcode && !sd->recovery_reason &&
+                   subcode != VB2_RECOVERY_TRAIN_AND_REBOOT)
+                       /*
+                        * Recovery was requested at 'broken' screen.
+                        * Promote subcode to reason.
+                        */
+                       sd->recovery_reason = subcode;
+               else
+                       /* Recovery was forced. Override recovery reason */
+                       sd->recovery_reason = VB2_RECOVERY_RO_MANUAL;
+       }
+
+       /* If recovery reason is non-zero, tell caller we need recovery mode */
+       if (sd->recovery_reason) {
+               ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+               VB2_DEBUG("We have a recovery request: %#x / %#x\n",
+                         sd->recovery_reason,
+                         vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE));
+       }
+
+       sd->status |= VB2_SD_STATUS_RECOVERY_DECIDED;
+}
+
+vb2_error_t vb2_fw_init_gbb(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_gbb_header *gbb;
+       struct vb2_workbuf wb;
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       /* Read GBB into next chunk of work buffer */
+       gbb = vb2_workbuf_alloc(&wb, sizeof(*gbb));
+       if (!gbb)
+               return VB2_ERROR_GBB_WORKBUF;
+
+       VB2_TRY(vb2_read_gbb_header(ctx, gbb));
+
+       /* Keep on the work buffer permanently */
+       sd->gbb_offset = vb2_offset_of(sd, gbb);
+       vb2_set_workbuf_used(ctx, vb2_offset_of(sd, wb.buf));
+
+       /* Set any context flags based on GBB flags */
+       if (gbb->flags & VB2_GBB_FLAG_DISABLE_FWMP)
+               ctx->flags |= VB2_CONTEXT_NO_SECDATA_FWMP;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_check_dev_switch(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+       uint32_t flags = 0;
+       uint32_t old_flags;
+       int is_dev = 0;
+       int valid_secdata = 1;
+       vb2_error_t rv;
+
+       /* Check whether secdata_firmware is initialized */
+       if (!(sd->status & VB2_SD_STATUS_SECDATA_FIRMWARE_INIT))
+               valid_secdata = 0;
+
+       /* Read secure flags */
+       flags = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS);
+       old_flags = flags;
+
+       /* Handle dev disable request */
+       if (valid_secdata && vb2_nv_get(ctx, VB2_NV_DISABLE_DEV_REQUEST)) {
+               flags &= ~VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE;
+
+               /* Clear the request */
+               vb2_nv_set(ctx, VB2_NV_DISABLE_DEV_REQUEST, 0);
+       }
+
+       /*
+        * Check if we've been asked by the caller to disable dev mode.  Note
+        * that hardware switch and GBB flag will take precedence over this.
+        */
+       if (ctx->flags & VB2_CONTEXT_DISABLE_DEVELOPER_MODE)
+               flags &= ~VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE;
+
+       /* Check virtual dev switch */
+       if (flags & VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE)
+               is_dev = 1;
+
+       /* Check if GBB is forcing dev mode */
+       if (gbb->flags & VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON)
+               is_dev = 1;
+
+       /* Handle whichever mode we end up in */
+       if (is_dev) {
+               /* Developer mode */
+               sd->flags |= VB2_SD_FLAG_DEV_MODE_ENABLED;
+               ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+
+               flags |= VB2_SECDATA_FIRMWARE_FLAG_LAST_BOOT_DEVELOPER;
+       } else {
+               /* Normal mode */
+               flags &= ~VB2_SECDATA_FIRMWARE_FLAG_LAST_BOOT_DEVELOPER;
+
+               /*
+                * Disable dev_boot_* flags.  This ensures they will be
+                * initially disabled if the user later transitions back into
+                * developer mode.
+                */
+               vb2_nv_set(ctx, VB2_NV_DEV_BOOT_EXTERNAL, 0);
+               vb2_nv_set(ctx, VB2_NV_DEV_BOOT_ALTFW, 0);
+               vb2_nv_set(ctx, VB2_NV_DEV_BOOT_SIGNED_ONLY, 0);
+               vb2_nv_set(ctx, VB2_NV_DEV_DEFAULT_BOOT, 0);
+       }
+
+       if (ctx->flags & VB2_CONTEXT_FORCE_WIPEOUT_MODE)
+               vb2_nv_set(ctx, VB2_NV_REQ_WIPEOUT, 1);
+
+       if (flags != old_flags) {
+               /*
+                * Just changed dev mode state.  Clear TPM owner.  This must be
+                * done here instead of simply passing a flag to
+                * vb2_check_tpm_clear(), because we don't want to update
+                * last_boot_developer and then fail to clear the TPM owner.
+                *
+                * Note that we do this even if secdata_firmware is having
+                * issues, since the TPM owner and secdata_firmware may be
+                * independent, and we want the owner to be cleared if *this
+                * boot* is different than the last one (perhaps due to GBB or
+                * hardware override).
+                */
+               rv = vb2ex_tpm_clear_owner(ctx);
+               /* Check for failure to clear owner */
+               if (valid_secdata && rv) {
+                       /*
+                        * Note that this truncates rv to 8 bit.  Which
+                        * is not as useful as the full error code, but
+                        * we don't have NVRAM space to store the full
+                        * 32-bit code.
+                        */
+                       vb2api_fail(ctx, VB2_RECOVERY_TPM_CLEAR_OWNER, rv);
+                       return rv;
+               }
+
+               /* Save new flags */
+               vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_FLAGS,
+                                        flags);
+       }
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_check_tpm_clear(struct vb2_context *ctx)
+{
+       vb2_error_t rv;
+
+       /* Check if we've been asked to clear the owner */
+       if (!vb2_nv_get(ctx, VB2_NV_CLEAR_TPM_OWNER_REQUEST))
+               return VB2_SUCCESS;  /* No need to clear */
+
+       /* Request applies one time only */
+       vb2_nv_set(ctx, VB2_NV_CLEAR_TPM_OWNER_REQUEST, 0);
+
+       /* Try clearing */
+       rv = vb2ex_tpm_clear_owner(ctx);
+       if (rv) {
+               /*
+                * Note that this truncates rv to 8 bit.  Which is not as
+                * useful as the full error code, but we don't have NVRAM space
+                * to store the full 32-bit code.
+                */
+               vb2api_fail(ctx, VB2_RECOVERY_TPM_CLEAR_OWNER, rv);
+               return rv;
+       }
+
+       /* Clear successful */
+       vb2_nv_set(ctx, VB2_NV_CLEAR_TPM_OWNER_DONE, 1);
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_select_fw_slot(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       uint32_t tries;
+
+       /* Get result of last boot */
+       sd->last_fw_slot = vb2_nv_get(ctx, VB2_NV_FW_TRIED);
+       sd->last_fw_result = vb2_nv_get(ctx, VB2_NV_FW_RESULT);
+
+       /* Save to the previous result fields in NV storage */
+       vb2_nv_set(ctx, VB2_NV_FW_PREV_TRIED, sd->last_fw_slot);
+       vb2_nv_set(ctx, VB2_NV_FW_PREV_RESULT, sd->last_fw_result);
+
+       /* Clear result, since we don't know what will happen this boot */
+       vb2_nv_set(ctx, VB2_NV_FW_RESULT, VB2_FW_RESULT_UNKNOWN);
+
+       /* Get slot to try */
+       sd->fw_slot = vb2_nv_get(ctx, VB2_NV_TRY_NEXT);
+
+       /* Check try count */
+       tries = vb2_nv_get(ctx, VB2_NV_TRY_COUNT);
+
+       if (sd->last_fw_result == VB2_FW_RESULT_TRYING &&
+           sd->last_fw_slot == sd->fw_slot &&
+           tries == 0) {
+               /*
+                * We used up our last try on the previous boot, so fall back
+                * to the other slot this boot.
+                */
+               sd->fw_slot = 1 - sd->fw_slot;
+               vb2_nv_set(ctx, VB2_NV_TRY_NEXT, sd->fw_slot);
+       }
+
+       if (tries > 0) {
+               /* Still trying this firmware */
+               vb2_nv_set(ctx, VB2_NV_FW_RESULT, VB2_FW_RESULT_TRYING);
+
+               /* Decrement non-zero try count, unless told not to */
+               if (!(ctx->flags & VB2_CONTEXT_NOFAIL_BOOT))
+                       vb2_nv_set(ctx, VB2_NV_TRY_COUNT, tries - 1);
+       }
+
+       /* Store the slot we're trying */
+       vb2_nv_set(ctx, VB2_NV_FW_TRIED, sd->fw_slot);
+
+       /* Set context flag if we're using slot B */
+       if (sd->fw_slot)
+               ctx->flags |= VB2_CONTEXT_FW_SLOT_B;
+
+       /* Set status flag */
+       sd->status |= VB2_SD_STATUS_CHOSE_SLOT;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2api_enable_developer_mode(struct vb2_context *ctx)
+{
+       if (ctx->boot_mode != VB2_BOOT_MODE_MANUAL_RECOVERY) {
+               VB2_DEBUG("ERROR: Can only enable developer mode from manual "
+                         "recovery mode\n");
+               return VB2_ERROR_API_ENABLE_DEV_NOT_ALLOWED;
+       }
+
+       uint32_t flags;
+
+       VB2_DEBUG("Enabling developer mode...\n");
+
+       flags = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS);
+       flags |= VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE;
+       vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_FLAGS, flags);
+
+       VB2_DEBUG("Mode change will take effect on next reboot\n");
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2api_disable_developer_mode(struct vb2_context *ctx)
+{
+       if (vb2api_gbb_get_flags(ctx) & VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON) {
+               VB2_DEBUG("ERROR: dev mode forced by GBB flag\n");
+               return VB2_ERROR_API_DISABLE_DEV_NOT_ALLOWED;
+       }
+
+       VB2_DEBUG("Leaving dev mode\n");
+       vb2_nv_set(ctx, VB2_NV_DISABLE_DEV_REQUEST, 1);
+       return VB2_SUCCESS;
+}
+
+void vb2api_request_diagnostics(struct vb2_context *ctx) {
+       vb2_nv_set(ctx, VB2_NV_DIAG_REQUEST, 1);
+       VB2_DEBUG("Diagnostics requested\n");
+}
+
+void vb2_clear_recovery(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       uint32_t reason = vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST);
+       uint32_t subcode = vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE);
+
+       if (reason || subcode)
+               VB2_DEBUG("Clearing recovery request: %#x / %#x  %s\n",
+                         reason, subcode,
+                         vb2_get_recovery_reason_string(reason));
+
+       /* Clear recovery request for both the manual recovery and the broken
+          screen. */
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, VB2_RECOVERY_NOT_REQUESTED);
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_SUBCODE, 0);
+
+       /* But stow recovery reason as subcode for the broken screen. */
+       if (ctx->boot_mode == VB2_BOOT_MODE_BROKEN_SCREEN) {
+               VB2_DEBUG("Stow recovery reason as subcode (%#x)\n",
+                         sd->recovery_reason);
+               vb2_nv_set(ctx, VB2_NV_RECOVERY_SUBCODE, sd->recovery_reason);
+       }
+}
+
+int vb2api_need_reboot_for_display(struct vb2_context *ctx)
+{
+       if (!(vb2_get_sd(ctx)->flags & VB2_SD_FLAG_DISPLAY_AVAILABLE)) {
+               VB2_DEBUG("Need reboot to initialize display\n");
+               vb2_nv_set(ctx, VB2_NV_DISPLAY_REQUEST, 1);
+               return 1;
+       }
+       return 0;
+}
+
+uint32_t vb2api_get_recovery_reason(struct vb2_context *ctx)
+{
+       return vb2_get_sd(ctx)->recovery_reason;
+}
+
+uint32_t vb2api_get_locale_id(struct vb2_context *ctx)
+{
+       return vb2_nv_get(ctx, VB2_NV_LOCALIZATION_INDEX);
+}
+
+void vb2api_set_locale_id(struct vb2_context *ctx, uint32_t locale_id)
+{
+       vb2_nv_set(ctx, VB2_NV_LOCALIZATION_INDEX, locale_id);
+}
+
+void vb2api_export_vbsd(struct vb2_context *ctx, void *dest)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       VbSharedDataHeader *vbsd = (void *)dest;
+
+       /* Initialize with boilerplate fields. */
+       memset(vbsd, 0, VB2_VBSD_SIZE);
+       vbsd->magic = VB_SHARED_DATA_MAGIC;
+       vbsd->struct_version = VB_SHARED_DATA_VERSION;
+       vbsd->struct_size = VB2_VBSD_SIZE;
+       vbsd->data_size = VB2_VBSD_SIZE;
+       vbsd->data_used = VB2_VBSD_SIZE;
+       vbsd->flags |= VBSD_BOOT_FIRMWARE_VBOOT2;
+
+       /* Translate vboot2 flags and fields into vboot1. */
+       if (ctx->flags & VB2_CONTEXT_EC_SYNC_SUPPORTED)
+               vbsd->flags |= VBSD_EC_SOFTWARE_SYNC;
+       if (ctx->flags & VB2_CONTEXT_NVDATA_V2)
+               vbsd->flags |= VBSD_NVDATA_V2;
+       if (ctx->flags & VB2_CONTEXT_DEVELOPER_MODE)
+               vbsd->flags |= VBSD_BOOT_DEV_SWITCH_ON;
+       if (ctx->flags & VB2_CONTEXT_FORCE_RECOVERY_MODE)
+               vbsd->flags |= VBSD_BOOT_REC_SWITCH_ON;
+       if (sd->flags & VB2_SD_FLAG_KERNEL_SIGNED)
+               vbsd->flags |= VBSD_KERNEL_KEY_VERIFIED;
+
+       vbsd->fw_version_tpm_start = sd->fw_version_secdata;
+       vbsd->fw_version_tpm = sd->fw_version;
+       vbsd->kernel_version_tpm_start = sd->kernel_version_secdata;
+       vbsd->kernel_version_tpm = sd->kernel_version;
+
+       vbsd->recovery_reason = sd->recovery_reason;
+       if (sd->recovery_reason)
+               vbsd->firmware_index = 0xff;
+       else
+               vbsd->firmware_index = sd->fw_slot;
+}
+_Static_assert(VB2_VBSD_SIZE == sizeof(VbSharedDataHeader),
+              "VB2_VBSD_SIZE incorrect");
+
+int vb2api_phone_recovery_enabled(struct vb2_context *ctx)
+{
+       return !(vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS) &
+                VB2_SECDATA_KERNEL_FLAG_PHONE_RECOVERY_DISABLED);
+}
+
+int vb2api_phone_recovery_ui_enabled(struct vb2_context *ctx)
+{
+       /*
+        * When phone recovery functionality is disabled, return 0 even if
+        * PHONE_RECOVERY_UI_DISABLED is not set.
+        */
+       return vb2api_phone_recovery_enabled(ctx) &&
+              !(vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS) &
+                VB2_SECDATA_KERNEL_FLAG_PHONE_RECOVERY_UI_DISABLED);
+}
+
+int vb2api_diagnostic_ui_enabled(struct vb2_context *ctx)
+{
+       return !(vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS) &
+                VB2_SECDATA_KERNEL_FLAG_DIAGNOSTIC_UI_DISABLED);
+}
+
+enum vb2_dev_default_boot_target vb2api_get_dev_default_boot_target(
+       struct vb2_context *ctx)
+{
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+
+       if (gbb->flags & VB2_GBB_FLAG_DEFAULT_DEV_BOOT_ALTFW)
+               return VB2_DEV_DEFAULT_BOOT_TARGET_ALTFW;
+
+       switch (vb2_nv_get(ctx, VB2_NV_DEV_DEFAULT_BOOT)) {
+               case VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL:
+                       if (ctx->flags & VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED)
+                               return VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL;
+                       break;
+
+               case VB2_DEV_DEFAULT_BOOT_TARGET_ALTFW:
+                       if (ctx->flags & VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED)
+                               return VB2_DEV_DEFAULT_BOOT_TARGET_ALTFW;
+                       break;
+       }
+
+       return VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL;
+}
+
+void vb2_fill_dev_boot_flags(struct vb2_context *ctx)
+{
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+
+       if (!vb2_secdata_fwmp_get_flag(ctx,
+                                      VB2_SECDATA_FWMP_DEV_DISABLE_BOOT) ||
+           (gbb->flags & VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON))
+               ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALLOWED;
+
+       if (vb2_nv_get(ctx, VB2_NV_DEV_BOOT_EXTERNAL) ||
+           (gbb->flags & VB2_GBB_FLAG_FORCE_DEV_BOOT_USB) ||
+           vb2_secdata_fwmp_get_flag(ctx,
+                                     VB2_SECDATA_FWMP_DEV_ENABLE_EXTERNAL))
+               ctx->flags |= VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED;
+
+       if (vb2_nv_get(ctx, VB2_NV_DEV_BOOT_ALTFW) ||
+           (gbb->flags & VB2_GBB_FLAG_FORCE_DEV_BOOT_ALTFW) ||
+           vb2_secdata_fwmp_get_flag(ctx, VB2_SECDATA_FWMP_DEV_ENABLE_ALTFW))
+               ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED;
+}
+
+int vb2api_use_short_dev_screen_delay(struct vb2_context *ctx)
+{
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+       return gbb->flags & VB2_GBB_FLAG_DEV_SCREEN_SHORT_DELAY;
+}
+
+static void snprint_sha1_sum(struct vb2_packed_key *key,
+                            char *dest, size_t dest_size)
+{
+       uint8_t *buf = ((uint8_t *)key) + key->key_offset;
+       uint64_t buflen = key->key_size;
+       uint8_t digest[VB2_SHA1_DIGEST_SIZE];
+       int32_t used = 0;
+       int i;
+
+       vb2_digest_buffer(buf, buflen, VB2_HASH_SHA1, digest, sizeof(digest));
+       for (i = 0; i < sizeof(digest); i++)
+               if (used < dest_size)
+                       used += snprintf(dest + used, dest_size - used,
+                                        "%02x", digest[i]);
+       dest[dest_size - 1] = '\0';
+}
+
+#define DEBUG_INFO_MAX_LENGTH 1024
+
+#define DEBUG_INFO_APPEND(format, args...) do { \
+       if (used < DEBUG_INFO_MAX_LENGTH) \
+               used += snprintf(buf + used, DEBUG_INFO_MAX_LENGTH - used, \
+                                format, ## args); \
+} while (0)
+
+char *vb2api_get_debug_info(struct vb2_context *ctx)
+{
+       char *buf;
+       uint32_t used = 0;
+
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+       struct vb2_workbuf wb;
+       char sha1sum[VB2_SHA1_DIGEST_SIZE * 2 + 1];
+
+       vb2_error_t rv;
+       uint32_t i;
+
+       buf = malloc(DEBUG_INFO_MAX_LENGTH + 1);
+       if (buf == NULL)
+               return NULL;
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       /* Add hardware ID */
+       {
+               char hwid[VB2_GBB_HWID_MAX_SIZE];
+               uint32_t size = sizeof(hwid);
+               rv = vb2api_gbb_read_hwid(ctx, hwid, &size);
+               if (rv)
+                       strcpy(hwid, "{INVALID}");
+               DEBUG_INFO_APPEND("HWID: %s", hwid);
+       }
+
+       /* Add recovery reason and subcode */
+       i = vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE);
+       DEBUG_INFO_APPEND("\nrecovery_reason: %#.2x / %#.2x  %s",
+                         sd->recovery_reason, i,
+                         vb2_get_recovery_reason_string(sd->recovery_reason));
+
+       /* Add vb2_context and vb2_shared_data flags */
+       DEBUG_INFO_APPEND("\ncontext.flags: %#.16" PRIx64, ctx->flags);
+       DEBUG_INFO_APPEND("\nshared_data.flags: %#.8x", sd->flags);
+       DEBUG_INFO_APPEND("\nshared_data.status: %#.8x", sd->status);
+
+       /* Add raw contents of nvdata */
+       DEBUG_INFO_APPEND("\nnvdata:");
+       if (vb2_nv_get_size(ctx) > 16)  /* Multi-line starts on next line */
+               DEBUG_INFO_APPEND("\n  ");
+       for (i = 0; i < vb2_nv_get_size(ctx); i++) {
+               /* Split into 16-byte blocks */
+               if (i > 0 && i % 16 == 0)
+                       DEBUG_INFO_APPEND("\n  ");
+               DEBUG_INFO_APPEND(" %02x", ctx->nvdata[i]);
+       }
+
+       /* Add dev_boot_usb flag */
+       i = vb2_nv_get(ctx, VB2_NV_DEV_BOOT_EXTERNAL);
+       DEBUG_INFO_APPEND("\ndev_boot_usb: %d", i);
+
+       /* Add dev_boot_altfw flag */
+       i = vb2_nv_get(ctx, VB2_NV_DEV_BOOT_ALTFW);
+       DEBUG_INFO_APPEND("\ndev_boot_altfw: %d", i);
+
+       /* Add dev_default_boot flag */
+       i = vb2_nv_get(ctx, VB2_NV_DEV_DEFAULT_BOOT);
+       DEBUG_INFO_APPEND("\ndev_default_boot: %d", i);
+
+       /* Add dev_boot_signed_only flag */
+       i = vb2_nv_get(ctx, VB2_NV_DEV_BOOT_SIGNED_ONLY);
+       DEBUG_INFO_APPEND("\ndev_boot_signed_only: %d", i);
+
+       /* Add TPM versions */
+       DEBUG_INFO_APPEND("\nTPM: fwver=%#.8x kernver=%#.8x",
+                         sd->fw_version_secdata, sd->kernel_version_secdata);
+
+       /* Add GBB flags */
+       DEBUG_INFO_APPEND("\ngbb.flags: %#.8x", gbb->flags);
+
+       /* Add sha1sum for Root & Recovery keys */
+       {
+               struct vb2_packed_key *key;
+               struct vb2_workbuf wblocal = wb;
+               rv = vb2_gbb_read_root_key(ctx, &key, NULL, &wblocal);
+               if (rv == VB2_SUCCESS) {
+                       snprint_sha1_sum(key, sha1sum, sizeof(sha1sum));
+                       DEBUG_INFO_APPEND("\ngbb.rootkey: %s", sha1sum);
+               }
+       }
+
+       {
+               struct vb2_packed_key *key;
+               struct vb2_workbuf wblocal = wb;
+               rv = vb2_gbb_read_recovery_key(ctx, &key, NULL, &wblocal);
+               if (rv == VB2_SUCCESS) {
+                       snprint_sha1_sum(key, sha1sum, sizeof(sha1sum));
+                       DEBUG_INFO_APPEND("\ngbb.recovery_key: %s", sha1sum);
+               }
+       }
+
+       /* If we're in dev-mode, show the kernel subkey that we expect, too. */
+       if (!(ctx->flags & VB2_CONTEXT_RECOVERY_MODE) &&
+           sd->kernel_key_offset) {
+               struct vb2_packed_key *key =
+                       vb2_member_of(sd, sd->kernel_key_offset);
+               snprint_sha1_sum(key, sha1sum, sizeof(sha1sum));
+               DEBUG_INFO_APPEND("\nkernel_subkey: %s", sha1sum);
+       }
+
+       buf[DEBUG_INFO_MAX_LENGTH] = '\0';
+       return buf;
+}
+
+void vb2_set_boot_mode(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
+
+       /* Cast boot mode to non-constant and assign */
+       enum vb2_boot_mode *boot_mode = (enum vb2_boot_mode *)&ctx->boot_mode;
+       *boot_mode = VB2_BOOT_MODE_NORMAL;
+
+       /*
+        * The only way to pass this check and proceed to the recovery process
+        * is to physically request a recovery (a.k.a. manual recovery).  All
+        * other recovery requests including manual recovery requested by a
+        * (compromised) host will end up with 'broken' screen.
+        */
+       if ((ctx->flags & VB2_CONTEXT_FORCE_RECOVERY_MODE) &&
+           !(ctx->flags & VB2_CONTEXT_NO_BOOT) &&
+           (ctx->flags & VB2_CONTEXT_EC_TRUSTED)) {
+               *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       } else if (sd->recovery_reason) {
+               if (gbb->flags & VB2_GBB_FLAG_FORCE_MANUAL_RECOVERY)
+                       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+               else
+                       *boot_mode = VB2_BOOT_MODE_BROKEN_SCREEN;
+       } else if (vb2api_diagnostic_ui_enabled(ctx) &&
+                  vb2_nv_get(ctx, VB2_NV_DIAG_REQUEST)) {
+               *boot_mode = VB2_BOOT_MODE_DIAGNOSTICS;
+       } else if (ctx->flags & VB2_CONTEXT_DEVELOPER_MODE) {
+               *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       }
+}
diff --git a/firmware/2lib/2nvstorage.c b/firmware/2lib/2nvstorage.c
new file mode 100644 (file)
index 0000000..4fd9808
--- /dev/null
@@ -0,0 +1,447 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Non-volatile storage routines */
+
+#include "2common.h"
+#include "2crc8.h"
+#include "2misc.h"
+#include "2nvstorage_fields.h"
+#include "2nvstorage.h"
+#include "2sysincludes.h"
+
+static void vb2_nv_regen_crc(struct vb2_context *ctx)
+{
+       const int offs = ctx->flags & VB2_CONTEXT_NVDATA_V2 ?
+                       VB2_NV_OFFS_CRC_V2 : VB2_NV_OFFS_CRC_V1;
+
+       ctx->nvdata[offs] = vb2_crc8(ctx->nvdata, offs);
+       ctx->flags |= VB2_CONTEXT_NVDATA_CHANGED;
+}
+
+int vb2_nv_get_size(const struct vb2_context *ctx)
+{
+       return ctx->flags & VB2_CONTEXT_NVDATA_V2 ?
+                       VB2_NVDATA_SIZE_V2 : VB2_NVDATA_SIZE;
+}
+
+/**
+ * Check the CRC of the non-volatile storage context.
+ *
+ * Use this if reading from non-volatile storage may be flaky, and you want to
+ * retry reading it several times.
+ *
+ * This may be called before vb2_context_init().
+ *
+ * @param ctx          Context pointer
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_nv_check_crc(const struct vb2_context *ctx)
+{
+       const uint8_t *p = ctx->nvdata;
+       const int offs = ctx->flags & VB2_CONTEXT_NVDATA_V2 ?
+                       VB2_NV_OFFS_CRC_V2 : VB2_NV_OFFS_CRC_V1;
+       const int sig = ctx->flags & VB2_CONTEXT_NVDATA_V2 ?
+                       VB2_NV_HEADER_SIGNATURE_V2 : VB2_NV_HEADER_SIGNATURE_V1;
+
+       /* Check header */
+       if (sig != (p[VB2_NV_OFFS_HEADER] & VB2_NV_HEADER_SIGNATURE_MASK))
+               return VB2_ERROR_NV_HEADER;
+
+       /* Check CRC */
+       if (vb2_crc8(p, offs) != p[offs])
+               return VB2_ERROR_NV_CRC;
+
+       return VB2_SUCCESS;
+}
+
+void vb2_nv_init(struct vb2_context *ctx)
+{
+       const int sig = ctx->flags & VB2_CONTEXT_NVDATA_V2 ?
+                       VB2_NV_HEADER_SIGNATURE_V2 : VB2_NV_HEADER_SIGNATURE_V1;
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       uint8_t *p = ctx->nvdata;
+
+
+       /* Check data for consistency */
+       if (vb2_nv_check_crc(ctx) != VB2_SUCCESS) {
+               /* Data is inconsistent (bad CRC or header); reset defaults */
+               memset(p, 0, VB2_NVDATA_SIZE_V2);
+               p[VB2_NV_OFFS_HEADER] = (sig |
+                                        VB2_NV_HEADER_FW_SETTINGS_RESET |
+                                        VB2_NV_HEADER_KERNEL_SETTINGS_RESET);
+
+               /* Regenerate CRC */
+               vb2_nv_regen_crc(ctx);
+
+               /* Set status flag. */
+               sd->status |= VB2_SD_STATUS_NV_REINIT;
+
+               /* TODO: unit test for status flag being set */
+       } else {
+#ifndef CHROMEOS_ENVIRONMENT
+               /* Always clear this on first reboot that didn't need reinit. */
+               vb2_nv_set(ctx, VB2_NV_FIRMWARE_SETTINGS_RESET, 0);
+#endif
+       }
+
+       sd->status |= VB2_SD_STATUS_NV_INIT;
+}
+
+/* Macro for vb2_nv_get() single-bit settings to reduce duplicate code. */
+#define GETBIT(offs, mask) (p[offs] & mask ? 1 : 0)
+
+uint32_t vb2_nv_get(struct vb2_context *ctx, enum vb2_nv_param param)
+{
+       const uint8_t *p = ctx->nvdata;
+
+       /*
+        * TODO: We could reduce the binary size for this code by #ifdef'ing
+        * out the params not used by firmware verification.
+        */
+       switch (param) {
+       case VB2_NV_FIRMWARE_SETTINGS_RESET:
+               return GETBIT(VB2_NV_OFFS_HEADER,
+                             VB2_NV_HEADER_FW_SETTINGS_RESET);
+
+       case VB2_NV_KERNEL_SETTINGS_RESET:
+               return GETBIT(VB2_NV_OFFS_HEADER,
+                             VB2_NV_HEADER_KERNEL_SETTINGS_RESET);
+
+       case VB2_NV_DEBUG_RESET_MODE:
+               return GETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_DEBUG_RESET);
+
+       case VB2_NV_TRY_NEXT:
+               return GETBIT(VB2_NV_OFFS_BOOT2, VB2_NV_BOOT2_TRY_NEXT);
+
+       case VB2_NV_TRY_COUNT:
+               return p[VB2_NV_OFFS_BOOT] & VB2_NV_BOOT_TRY_COUNT_MASK;
+
+       case VB2_NV_FW_TRIED:
+               return GETBIT(VB2_NV_OFFS_BOOT2, VB2_NV_BOOT2_TRIED);
+
+       case VB2_NV_FW_RESULT:
+               return p[VB2_NV_OFFS_BOOT2] & VB2_NV_BOOT2_RESULT_MASK;
+
+       case VB2_NV_FW_PREV_TRIED:
+               return GETBIT(VB2_NV_OFFS_BOOT2, VB2_NV_BOOT2_PREV_TRIED);
+
+       case VB2_NV_FW_PREV_RESULT:
+               return (p[VB2_NV_OFFS_BOOT2] & VB2_NV_BOOT2_PREV_RESULT_MASK)
+                       >> VB2_NV_BOOT2_PREV_RESULT_SHIFT;
+
+       case VB2_NV_RECOVERY_REQUEST:
+               return p[VB2_NV_OFFS_RECOVERY];
+
+       case VB2_NV_DIAG_REQUEST:
+               return GETBIT(VB2_NV_OFFS_BOOT2, VB2_NV_BOOT2_REQ_DIAG);
+
+       case VB2_NV_RECOVERY_SUBCODE:
+               return p[VB2_NV_OFFS_RECOVERY_SUBCODE];
+
+       case VB2_NV_LOCALIZATION_INDEX:
+               return p[VB2_NV_OFFS_LOCALIZATION];
+
+       case VB2_NV_KERNEL_FIELD:
+               return p[VB2_NV_OFFS_KERNEL1] | (p[VB2_NV_OFFS_KERNEL2] << 8);
+
+       case VB2_NV_DEV_BOOT_EXTERNAL:
+               return GETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_EXTERNAL);
+
+       case VB2_NV_DEV_BOOT_ALTFW:
+               return GETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_LEGACY);
+
+       case VB2_NV_DEV_BOOT_SIGNED_ONLY:
+               return GETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_SIGNED_ONLY);
+
+       case VB2_NV_DEV_DEFAULT_BOOT:
+               return (p[VB2_NV_OFFS_DEV] & VB2_NV_DEV_FLAG_DEFAULT_BOOT)
+                       >> VB2_NV_DEV_DEFAULT_BOOT_SHIFT;
+
+       case VB2_NV_DEV_ENABLE_UDC:
+               return GETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_UDC);
+
+       case VB2_NV_DISABLE_DEV_REQUEST:
+               return GETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_DISABLE_DEV);
+
+       case VB2_NV_DISPLAY_REQUEST:
+               return GETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_DISPLAY_REQUEST);
+
+       case VB2_NV_BACKUP_NVRAM_REQUEST:
+               return GETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_BACKUP_NVRAM);
+
+       case VB2_NV_CLEAR_TPM_OWNER_REQUEST:
+               return GETBIT(VB2_NV_OFFS_TPM, VB2_NV_TPM_CLEAR_OWNER_REQUEST);
+
+       case VB2_NV_CLEAR_TPM_OWNER_DONE:
+               return GETBIT(VB2_NV_OFFS_TPM, VB2_NV_TPM_CLEAR_OWNER_DONE);
+
+       case VB2_NV_TPM_REQUESTED_REBOOT:
+               return GETBIT(VB2_NV_OFFS_TPM, VB2_NV_TPM_REBOOTED);
+
+       case VB2_NV_REQ_WIPEOUT:
+               return GETBIT(VB2_NV_OFFS_HEADER , VB2_NV_HEADER_WIPEOUT);
+
+       case VB2_NV_BOOT_ON_AC_DETECT:
+               return GETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_BOOT_ON_AC_DETECT);
+
+       case VB2_NV_TRY_RO_SYNC:
+               return GETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_TRY_RO_SYNC);
+
+       case VB2_NV_BATTERY_CUTOFF_REQUEST:
+               return GETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_BATTERY_CUTOFF);
+
+       case VB2_NV_KERNEL_MAX_ROLLFORWARD:
+               return (p[VB2_NV_OFFS_KERNEL_MAX_ROLLFORWARD1]
+                       | (p[VB2_NV_OFFS_KERNEL_MAX_ROLLFORWARD2] << 8)
+                       | (p[VB2_NV_OFFS_KERNEL_MAX_ROLLFORWARD3] << 16)
+                       | ((uint32_t)p[VB2_NV_OFFS_KERNEL_MAX_ROLLFORWARD4]
+                          << 24));
+
+       case VB2_NV_FW_MAX_ROLLFORWARD:
+               /* Field only present in V2 */
+               if (!(ctx->flags & VB2_CONTEXT_NVDATA_V2))
+                       return VB2_FW_MAX_ROLLFORWARD_V1_DEFAULT;
+
+               return (p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD1]
+                       | (p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD2] << 8)
+                       | (p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD3] << 16)
+                       | ((uint32_t)p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD4] << 24));
+
+       case VB2_NV_POST_EC_SYNC_DELAY:
+               return GETBIT(VB2_NV_OFFS_MISC,
+                             VB2_NV_MISC_POST_EC_SYNC_DELAY);
+
+       case VB2_NV_MINIOS_PRIORITY:
+               return GETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_MINIOS_PRIORITY);
+
+       case VB2_NV_DEPRECATED_DEV_BOOT_FASTBOOT_FULL_CAP:
+       case VB2_NV_DEPRECATED_FASTBOOT_UNLOCK_IN_FW:
+       case VB2_NV_DEPRECATED_ENABLE_ALT_OS_REQUEST:
+       case VB2_NV_DEPRECATED_DISABLE_ALT_OS_REQUEST:
+               return 0;
+       }
+
+       /*
+        * Put default return outside the switch() instead of in default:, so
+        * that adding a new param will cause a compiler warning.
+        */
+       return 0;
+}
+
+#undef GETBIT
+
+/* Macro for vb2_nv_set() single-bit settings to reduce duplicate code. */
+#define SETBIT(offs, mask)                                     \
+       { if (value) p[offs] |= mask; else p[offs] &= ~mask; }
+
+void vb2_nv_set(struct vb2_context *ctx,
+               enum vb2_nv_param param,
+               uint32_t value)
+{
+       uint8_t *p = ctx->nvdata;
+
+       /* If not changing the value, don't regenerate the CRC. */
+       if (vb2_nv_get(ctx, param) == value)
+               return;
+
+       /*
+        * TODO: We could reduce the binary size for this code by #ifdef'ing
+        * out the params not used by firmware verification.
+        */
+       switch (param) {
+       case VB2_NV_FIRMWARE_SETTINGS_RESET:
+               SETBIT(VB2_NV_OFFS_HEADER, VB2_NV_HEADER_FW_SETTINGS_RESET);
+               break;
+
+       case VB2_NV_KERNEL_SETTINGS_RESET:
+               SETBIT(VB2_NV_OFFS_HEADER, VB2_NV_HEADER_KERNEL_SETTINGS_RESET);
+               break;
+
+       case VB2_NV_DEBUG_RESET_MODE:
+               SETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_DEBUG_RESET);
+               break;
+
+       case VB2_NV_TRY_NEXT:
+               SETBIT(VB2_NV_OFFS_BOOT2, VB2_NV_BOOT2_TRY_NEXT);
+               break;
+
+       case VB2_NV_TRY_COUNT:
+               /* Clip to valid range. */
+               if (value > VB2_NV_BOOT_TRY_COUNT_MASK)
+                       value = VB2_NV_BOOT_TRY_COUNT_MASK;
+
+               p[VB2_NV_OFFS_BOOT] &= ~VB2_NV_BOOT_TRY_COUNT_MASK;
+               p[VB2_NV_OFFS_BOOT] |= (uint8_t)value;
+               break;
+
+       case VB2_NV_FW_TRIED:
+               SETBIT(VB2_NV_OFFS_BOOT2, VB2_NV_BOOT2_TRIED);
+               break;
+
+       case VB2_NV_FW_RESULT:
+               /* Map out of range values to unknown */
+               if (value > VB2_NV_BOOT2_RESULT_MASK)
+                       value = VB2_FW_RESULT_UNKNOWN;
+
+               p[VB2_NV_OFFS_BOOT2] &= ~VB2_NV_BOOT2_RESULT_MASK;
+               p[VB2_NV_OFFS_BOOT2] |= (uint8_t)value;
+               break;
+
+       case VB2_NV_FW_PREV_TRIED:
+               SETBIT(VB2_NV_OFFS_BOOT2, VB2_NV_BOOT2_PREV_TRIED);
+               break;
+
+       case VB2_NV_FW_PREV_RESULT:
+               /* Map out of range values to unknown */
+               if (value > VB2_NV_BOOT2_RESULT_MASK)
+                       value = VB2_FW_RESULT_UNKNOWN;
+
+               p[VB2_NV_OFFS_BOOT2] &= ~VB2_NV_BOOT2_PREV_RESULT_MASK;
+               p[VB2_NV_OFFS_BOOT2] |=
+                       (uint8_t)(value << VB2_NV_BOOT2_PREV_RESULT_SHIFT);
+               break;
+
+       case VB2_NV_RECOVERY_REQUEST:
+               /*
+                * Map values outside the valid range to the legacy reason,
+                * since we can't determine if we're called from kernel or user
+                * mode.
+                */
+               if (value > 0xff)
+                       value = VB2_RECOVERY_LEGACY;
+               p[VB2_NV_OFFS_RECOVERY] = (uint8_t)value;
+               break;
+
+       case VB2_NV_DIAG_REQUEST:
+               SETBIT(VB2_NV_OFFS_BOOT2, VB2_NV_BOOT2_REQ_DIAG);
+               break;
+
+       case VB2_NV_RECOVERY_SUBCODE:
+               p[VB2_NV_OFFS_RECOVERY_SUBCODE] = (uint8_t)value;
+               break;
+
+       case VB2_NV_LOCALIZATION_INDEX:
+               /* Map values outside the valid range to the default index. */
+               if (value > 0xFF)
+                       value = 0;
+               p[VB2_NV_OFFS_LOCALIZATION] = (uint8_t)value;
+               break;
+
+       case VB2_NV_KERNEL_FIELD:
+               p[VB2_NV_OFFS_KERNEL1] = (uint8_t)(value);
+               p[VB2_NV_OFFS_KERNEL2] = (uint8_t)(value >> 8);
+               break;
+
+       case VB2_NV_DEV_BOOT_EXTERNAL:
+               SETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_EXTERNAL);
+               break;
+
+       case VB2_NV_DEV_BOOT_ALTFW:
+               SETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_LEGACY);
+               break;
+
+       case VB2_NV_DEV_BOOT_SIGNED_ONLY:
+               SETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_SIGNED_ONLY);
+               break;
+
+       case VB2_NV_DEV_DEFAULT_BOOT:
+               /* Map out of range values to disk */
+               if (value > (VB2_NV_DEV_FLAG_DEFAULT_BOOT >>
+                            VB2_NV_DEV_DEFAULT_BOOT_SHIFT))
+                       value = VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL;
+
+               p[VB2_NV_OFFS_DEV] &= ~VB2_NV_DEV_FLAG_DEFAULT_BOOT;
+               p[VB2_NV_OFFS_DEV] |=
+                       (uint8_t)(value << VB2_NV_DEV_DEFAULT_BOOT_SHIFT);
+               break;
+
+       case VB2_NV_DEV_ENABLE_UDC:
+               SETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_UDC);
+               break;
+
+       case VB2_NV_DISABLE_DEV_REQUEST:
+               SETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_DISABLE_DEV);
+               break;
+
+       case VB2_NV_DISPLAY_REQUEST:
+               SETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_DISPLAY_REQUEST);
+               break;
+
+       case VB2_NV_BACKUP_NVRAM_REQUEST:
+               SETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_BACKUP_NVRAM);
+               break;
+
+       case VB2_NV_CLEAR_TPM_OWNER_REQUEST:
+               SETBIT(VB2_NV_OFFS_TPM, VB2_NV_TPM_CLEAR_OWNER_REQUEST);
+               break;
+
+       case VB2_NV_CLEAR_TPM_OWNER_DONE:
+               SETBIT(VB2_NV_OFFS_TPM, VB2_NV_TPM_CLEAR_OWNER_DONE);
+               break;
+
+       case VB2_NV_TPM_REQUESTED_REBOOT:
+               SETBIT(VB2_NV_OFFS_TPM, VB2_NV_TPM_REBOOTED);
+               break;
+
+       case VB2_NV_REQ_WIPEOUT:
+               SETBIT(VB2_NV_OFFS_HEADER , VB2_NV_HEADER_WIPEOUT);
+               break;
+
+       case VB2_NV_BOOT_ON_AC_DETECT:
+               SETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_BOOT_ON_AC_DETECT);
+               break;
+
+       case VB2_NV_TRY_RO_SYNC:
+               SETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_TRY_RO_SYNC);
+               break;
+
+       case VB2_NV_BATTERY_CUTOFF_REQUEST:
+               SETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_BATTERY_CUTOFF);
+               break;
+
+       case VB2_NV_KERNEL_MAX_ROLLFORWARD:
+               p[VB2_NV_OFFS_KERNEL_MAX_ROLLFORWARD1] = (uint8_t)(value);
+               p[VB2_NV_OFFS_KERNEL_MAX_ROLLFORWARD2] = (uint8_t)(value >> 8);
+               p[VB2_NV_OFFS_KERNEL_MAX_ROLLFORWARD3] = (uint8_t)(value >> 16);
+               p[VB2_NV_OFFS_KERNEL_MAX_ROLLFORWARD4] = (uint8_t)(value >> 24);
+               break;
+
+       case VB2_NV_FW_MAX_ROLLFORWARD:
+               /* Field only present in V2 */
+               if (!(ctx->flags & VB2_CONTEXT_NVDATA_V2))
+                       return;
+
+               p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD1] = (uint8_t)(value);
+               p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD2] = (uint8_t)(value >> 8);
+               p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD3] = (uint8_t)(value >> 16);
+               p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD4] = (uint8_t)(value >> 24);
+               break;
+
+       case VB2_NV_POST_EC_SYNC_DELAY:
+               SETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_POST_EC_SYNC_DELAY);
+               break;
+
+       case VB2_NV_MINIOS_PRIORITY:
+               SETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_MINIOS_PRIORITY);
+               break;
+
+       case VB2_NV_DEPRECATED_DEV_BOOT_FASTBOOT_FULL_CAP:
+       case VB2_NV_DEPRECATED_FASTBOOT_UNLOCK_IN_FW:
+       case VB2_NV_DEPRECATED_ENABLE_ALT_OS_REQUEST:
+       case VB2_NV_DEPRECATED_DISABLE_ALT_OS_REQUEST:
+               return;
+       }
+
+       /*
+        * Note there is no default case.  This causes a compiler warning if
+        * a new param is added to the enum without adding support here.
+        */
+
+       /* Need to regenerate CRC, since the value changed. */
+       vb2_nv_regen_crc(ctx);
+}
+
+#undef SETBIT
diff --git a/firmware/2lib/2packed_key.c b/firmware/2lib/2packed_key.c
new file mode 100644 (file)
index 0000000..4e2c654
--- /dev/null
@@ -0,0 +1,80 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Key unpacking functions
+ */
+
+#include "2common.h"
+#include "2packed_key.h"
+#include "2rsa.h"
+#include "2sysincludes.h"
+
+test_mockable
+vb2_error_t vb2_unpack_key_buffer(struct vb2_public_key *key,
+                                 const uint8_t *buf, uint32_t size)
+{
+       const struct vb2_packed_key *packed_key =
+               (const struct vb2_packed_key *)buf;
+       const uint32_t *buf32;
+       uint32_t expected_key_size;
+
+       /* Make sure passed buffer is big enough for the packed key */
+       VB2_TRY(vb2_verify_packed_key_inside(buf, size, packed_key));
+
+       /* Unpack key algorithm */
+       key->sig_alg = vb2_crypto_to_signature(packed_key->algorithm);
+       if (key->sig_alg == VB2_SIG_INVALID) {
+               VB2_DEBUG("Unsupported signature algorithm.\n");
+               return VB2_ERROR_UNPACK_KEY_SIG_ALGORITHM;
+       }
+
+       key->hash_alg = vb2_crypto_to_hash(packed_key->algorithm);
+       if (key->hash_alg == VB2_HASH_INVALID) {
+               VB2_DEBUG("Unsupported hash algorithm.\n");
+               return VB2_ERROR_UNPACK_KEY_HASH_ALGORITHM;
+       }
+
+       expected_key_size = vb2_packed_key_size(key->sig_alg);
+       if (!expected_key_size || expected_key_size != packed_key->key_size) {
+               VB2_DEBUG("Wrong key size for algorithm\n");
+               return VB2_ERROR_UNPACK_KEY_SIZE;
+       }
+
+       /* Make sure source buffer is 32-bit aligned */
+       buf32 = (const uint32_t *)vb2_packed_key_data(packed_key);
+       if (!vb2_aligned(buf32, sizeof(uint32_t)))
+               return VB2_ERROR_UNPACK_KEY_ALIGN;
+
+       /* Validity check key array size */
+       key->arrsize = buf32[0];
+       if (key->arrsize * sizeof(uint32_t) != vb2_rsa_sig_size(key->sig_alg))
+               return VB2_ERROR_UNPACK_KEY_ARRAY_SIZE;
+
+       key->n0inv = buf32[1];
+
+       /* Arrays point inside the key data */
+       key->n = buf32 + 2;
+       key->rr = buf32 + 2 + key->arrsize;
+
+       /* disable hwcrypto for RSA by default */
+       key->allow_hwcrypto = 0;
+
+#ifdef __COVERITY__
+       __coverity_tainted_data_sanitize__(key);
+       __coverity_tainted_data_sanitize__(buf);
+#endif
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_unpack_key(struct vb2_public_key *key,
+                          const struct vb2_packed_key *packed_key)
+{
+       if (!packed_key)
+               return VB2_ERROR_UNPACK_KEY_BUFFER;
+
+       return vb2_unpack_key_buffer(key,
+                                    (const uint8_t *)packed_key,
+                                    packed_key->key_offset +
+                                    packed_key->key_size);
+}
diff --git a/firmware/2lib/2recovery_reasons.c b/firmware/2lib/2recovery_reasons.c
new file mode 100644 (file)
index 0000000..8c43dce
--- /dev/null
@@ -0,0 +1,181 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Recovery reason string mapping.
+ */
+
+#include "2recovery_reasons.h"
+#include "2sysincludes.h"
+
+const char *vb2_get_recovery_reason_string(uint8_t code)
+{
+       switch ((enum vb2_nv_recovery)code) {
+       /* 0x00 */ case VB2_RECOVERY_NOT_REQUESTED:
+               return "Recovery not requested";
+       /* 0x01 */ case VB2_RECOVERY_LEGACY:
+               return "Recovery requested from legacy utility";
+       /* 0x02 */ case VB2_RECOVERY_RO_MANUAL:
+               return "Recovery button pressed";
+       /* 0x03 */ case VB2_RECOVERY_RO_INVALID_RW:
+               return "RW firmware failed signature check";
+       /* 0x04 */ case VB2_RECOVERY_DEPRECATED_RO_S3_RESUME:
+               return "S3 resume failed";
+       /* 0x05 */ case VB2_RECOVERY_DEPRECATED_RO_TPM_ERROR:
+               return "TPM error in read-only firmware";
+       /* 0x06 */ case VB2_RECOVERY_RO_SHARED_DATA:
+               return "Shared data error in read-only firmware";
+       /* 0x07 */ case VB2_RECOVERY_DEPRECATED_RO_TEST_S3:
+               return "Test error from S3Resume()";
+       /* 0x08 */ case VB2_RECOVERY_DEPRECATED_RO_TEST_LFS:
+               return "Test error from LoadFirmwareSetup()";
+       /* 0x09 */ case VB2_RECOVERY_DEPRECATED_RO_TEST_LF:
+               return "Test error from LoadFirmware()";
+       /* 0x10 */ case VB2_RECOVERY_DEPRECATED_RW_NOT_DONE:
+               return "RW firmware check not done";
+       /* 0x11 */ case VB2_RECOVERY_DEPRECATED_RW_DEV_FLAG_MISMATCH:
+               return "RW firmware developer flag mismatch";
+       /* 0x12 */ case VB2_RECOVERY_DEPRECATED_RW_REC_FLAG_MISMATCH:
+               return "RW firmware recovery flag mismatch";
+       /* 0x13 */ case VB2_RECOVERY_FW_KEYBLOCK:
+               return "RW firmware unable to verify keyblock";
+       /* 0x14 */ case VB2_RECOVERY_FW_KEY_ROLLBACK:
+               return "RW firmware key version rollback detected";
+       /* 0x15 */ case VB2_RECOVERY_DEPRECATED_RW_DATA_KEY_PARSE:
+               return "RW firmware unable to parse data key";
+       /* 0x16 */ case VB2_RECOVERY_FW_PREAMBLE:
+               return "RW firmware unable to verify preamble";
+       /* 0x17 */ case VB2_RECOVERY_FW_ROLLBACK:
+               return "RW firmware version rollback detected";
+       /* 0x18 */ case VB2_RECOVERY_DEPRECATED_FW_HEADER_VALID:
+               return "RW firmware header is valid";
+       /* 0x19 */ case VB2_RECOVERY_DEPRECATED_FW_GET_FW_BODY:
+               return "RW firmware unable to get firmware body";
+       /* 0x1a */ case VB2_RECOVERY_DEPRECATED_FW_HASH_WRONG_SIZE:
+               return "RW firmware hash is wrong size";
+       /* 0x1b */ case VB2_RECOVERY_FW_BODY:
+               return "RW firmware unable to verify firmware body";
+       /* 0x1c */ case VB2_RECOVERY_DEPRECATED_FW_VALID:
+               return "RW firmware is valid";
+       /* 0x1d */ case VB2_RECOVERY_DEPRECATED_FW_NO_RO_NORMAL:
+               return "RW firmware read-only normal path is not supported";
+       /* 0x20 */ case VB2_RECOVERY_RO_FIRMWARE:
+               return "Firmware problem outside of verified boot";
+       /* 0x21 */ case VB2_RECOVERY_RO_TPM_REBOOT:
+               return "TPM requires a system reboot (should be transient)";
+       /* 0x22 */ case VB2_RECOVERY_EC_SOFTWARE_SYNC:
+               return "EC software sync error";
+       /* 0x23 */ case VB2_RECOVERY_EC_UNKNOWN_IMAGE:
+               return "EC software sync unable to determine active EC image";
+       /* 0x24 */ case VB2_RECOVERY_DEPRECATED_EC_HASH:
+               return "EC software sync error obtaining EC image hash";
+       /* 0x25 */ case VB2_RECOVERY_DEPRECATED_EC_EXPECTED_IMAGE:
+               return "EC software sync error "
+                       "obtaining expected EC image from BIOS";
+       /* 0x26 */ case VB2_RECOVERY_EC_UPDATE:
+               return "EC software sync error updating EC";
+       /* 0x27 */ case VB2_RECOVERY_EC_JUMP_RW:
+               return "EC software sync unable to jump to EC-RW";
+       /* 0x28 */ case VB2_RECOVERY_EC_PROTECT:
+               return "EC software sync protection error";
+       /* 0x29 */ case VB2_RECOVERY_EC_EXPECTED_HASH:
+               return "EC software sync error "
+                       "obtaining expected EC hash from BIOS";
+       /* 0x2a */ case VB2_RECOVERY_DEPRECATED_EC_HASH_MISMATCH:
+               return "EC software sync error "
+                       "comparing expected EC hash and image";
+       /* 0x2b */ case VB2_RECOVERY_SECDATA_FIRMWARE_INIT:
+               return "Firmware secure NVRAM (TPM) initialization error";
+       /* 0x2c */ case VB2_RECOVERY_GBB_HEADER:
+               return "Error parsing GBB header";
+       /* 0x2d */ case VB2_RECOVERY_TPM_CLEAR_OWNER:
+               return "Error trying to clear TPM owner";
+       /* 0x2e */ case VB2_RECOVERY_DEV_SWITCH:
+               return "Error reading or updating developer switch";
+       /* 0x2f */ case VB2_RECOVERY_FW_SLOT:
+               return "Error selecting RW firmware slot";
+       /* 0x30 */ case VB2_RECOVERY_AUXFW_UPDATE:
+               return "Error updating auxiliary firmware";
+       /* 0x31 */ case VB2_RECOVERY_INTEL_CSE_LITE_SKU:
+               return "Intel CSE Lite SKU firmware failure";
+       /* 0x3f */ case VB2_RECOVERY_RO_UNSPECIFIED:
+               return "Unspecified/unknown error in RO firmware";
+       /* 0x41 */ case VB2_RECOVERY_DEPRECATED_RW_DEV_SCREEN:
+               return "User requested recovery from dev-mode warning screen";
+       /* 0x42 */ case VB2_RECOVERY_DEPRECATED_RW_NO_OS:
+               return "No OS kernel detected (or kernel rollback attempt?)";
+       /* 0x43 */ case VB2_RECOVERY_RW_INVALID_OS:
+               return "OS kernel or rootfs failed signature check";
+       /* 0x44 */ case VB2_RECOVERY_DEPRECATED_RW_TPM_ERROR:
+               return "TPM error in rewritable firmware";
+       /* 0x45 */ case VB2_RECOVERY_DEPRECATED_RW_DEV_MISMATCH:
+               return "RW firmware in dev mode, but dev switch is off";
+       /* 0x46 */ case VB2_RECOVERY_RW_SHARED_DATA:
+               return "Shared data error in rewritable firmware";
+       /* 0x47 */ case VB2_RECOVERY_DEPRECATED_RW_TEST_LK:
+               return "Test error from LoadKernel()";
+       /* 0x48 */ case VB2_RECOVERY_DEPRECATED_RW_NO_DISK:
+               return "No bootable storage device in system";
+       /* 0x49 */ case VB2_RECOVERY_TPM_E_FAIL:
+               return "TPM error that was not fixed by reboot";
+       /* 0x50 */ case VB2_RECOVERY_RO_TPM_S_ERROR:
+               return "TPM setup error in read-only firmware";
+       /* 0x51 */ case VB2_RECOVERY_RO_TPM_W_ERROR:
+               return "TPM write error in read-only firmware";
+       /* 0x52 */ case VB2_RECOVERY_RO_TPM_L_ERROR:
+               return "TPM lock error in read-only firmware";
+       /* 0x53 */ case VB2_RECOVERY_RO_TPM_U_ERROR:
+               return "TPM update error in read-only firmware";
+       /* 0x54 */ case VB2_RECOVERY_RW_TPM_R_ERROR:
+               return "TPM read error in rewritable firmware";
+       /* 0x55 */ case VB2_RECOVERY_RW_TPM_W_ERROR:
+               return "TPM write error in rewritable firmware";
+       /* 0x56 */ case VB2_RECOVERY_RW_TPM_L_ERROR:
+               return "TPM lock error in rewritable firmware";
+       /* 0x57 */ case VB2_RECOVERY_EC_HASH_FAILED:
+               return "EC software sync unable to get EC image hash";
+       /* 0x58 */ case VB2_RECOVERY_EC_HASH_SIZE:
+               return "EC software sync invalid image hash size";
+       /* 0x59 */ case VB2_RECOVERY_LK_UNSPECIFIED:
+               return "Unspecified error while trying to load kernel";
+       /* 0x5a */ case VB2_RECOVERY_RW_NO_DISK:
+               return "No bootable storage device in system";
+       /* 0x5b */ case VB2_RECOVERY_RW_NO_KERNEL:
+               return "No bootable kernel found on disk";
+       /* 0x5c */ case VB2_RECOVERY_DEPRECATED_RW_BCB_ERROR:
+               return "BCB partition error on disk";
+       /* 0x5d */ case VB2_RECOVERY_SECDATA_KERNEL_INIT:
+               return "Kernel secure NVRAM (TPM) initialization error";
+       /* 0x5e */ case VB2_RECOVERY_DEPRECATED_FW_FASTBOOT:
+               return "Fastboot-mode requested in firmware";
+       /* 0x5f */ case VB2_RECOVERY_RO_TPM_REC_HASH_L_ERROR:
+               return "Recovery hash space lock error in RO firmware";
+       /* 0x60 */ case VB2_RECOVERY_TPM_DISABLE_FAILED:
+               return "Failed to disable TPM before running untrusted code";
+       /* 0x61 */ case VB2_RECOVERY_ALTFW_HASH_MISMATCH:
+               return "Verification of alternate bootloader payload failed";
+       /* 0x62 */ case VB2_RECOVERY_SECDATA_FWMP_INIT:
+               return "FWMP secure NVRAM (TPM) initialization error";
+       /* 0x63 */ case VB2_RECOVERY_CR50_BOOT_MODE:
+               return "Failed to get boot mode from Cr50";
+       /* 0x64 */ case VB2_RECOVERY_ESCAPE_NO_BOOT:
+               return "Attempt to escape from NO_BOOT mode was detected";
+       /* 0x7f */ case VB2_RECOVERY_RW_UNSPECIFIED:
+               return "Unspecified/unknown error in RW firmware";
+       /* 0x81 */ case VB2_RECOVERY_DEPRECATED_KE_DM_VERITY:
+               return "DM-verity error";
+       /* 0xbf */ case VB2_RECOVERY_DEPRECATED_KE_UNSPECIFIED:
+               return "Unspecified/unknown error in kernel";
+       /* 0xc1 */ case VB2_RECOVERY_US_TEST:
+               return "Recovery mode test from user-mode";
+       /* 0xc2 */ case VB2_RECOVERY_DEPRECATED_BCB_USER_MODE:
+               return "User-mode requested recovery via BCB";
+       /* 0xc3 */ case VB2_RECOVERY_DEPRECATED_US_FASTBOOT:
+               return "User-mode requested fastboot mode";
+       /* 0xc4 */ case VB2_RECOVERY_TRAIN_AND_REBOOT:
+               return "User-mode requested DRAM train and reboot";
+       /* 0xff */ case VB2_RECOVERY_US_UNSPECIFIED:
+               return "Unspecified/unknown error in user-mode";
+       }
+       return "Unknown error code";
+}
diff --git a/firmware/2lib/2rsa.c b/firmware/2lib/2rsa.c
new file mode 100644 (file)
index 0000000..dcd8bad
--- /dev/null
@@ -0,0 +1,412 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/*
+ * Implementation of RSA signature verification which uses a pre-processed key
+ * for computation. The code extends Android's RSA verification code to support
+ * multiple RSA key lengths and hash digest algorithms.
+ */
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2rsa_private.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "vboot_test.h"
+
+/**
+ * a[] -= mod
+ */
+static void subM(const struct vb2_public_key *key, uint32_t *a)
+{
+       int64_t A = 0;
+       uint32_t i;
+       for (i = 0; i < key->arrsize; ++i) {
+               A += (uint64_t)a[i] - key->n[i];
+               a[i] = (uint32_t)A;
+               A >>= 32;
+       }
+}
+
+/**
+ * Return a[] >= mod
+ */
+int vb2_mont_ge(const struct vb2_public_key *key, uint32_t *a)
+{
+       uint32_t i;
+       for (i = key->arrsize; i;) {
+               --i;
+               if (a[i] < key->n[i])
+                       return 0;
+               if (a[i] > key->n[i])
+                       return 1;
+       }
+       return 1;  /* equal */
+}
+
+/**
+ * Montgomery c[] += a * b[] / R % mod
+ */
+static void montMulAdd(const struct vb2_public_key *key,
+                      uint32_t *c,
+                      const uint32_t a,
+                      const uint32_t *b)
+{
+       uint64_t A = (uint64_t)a * b[0] + c[0];
+       uint32_t d0 = (uint32_t)A * key->n0inv;
+       uint64_t B = (uint64_t)d0 * key->n[0] + (uint32_t)A;
+       uint32_t i;
+
+       for (i = 1; i < key->arrsize; ++i) {
+               A = (A >> 32) + (uint64_t)a * b[i] + c[i];
+               B = (B >> 32) + (uint64_t)d0 * key->n[i] + (uint32_t)A;
+               c[i - 1] = (uint32_t)B;
+       }
+
+       A = (A >> 32) + (B >> 32);
+
+       c[i - 1] = (uint32_t)A;
+
+       if (A >> 32) {
+               subM(key, c);
+       }
+}
+
+/**
+ * Montgomery c[] += 0 * b[] / R % mod
+ */
+static void montMulAdd0(const struct vb2_public_key *key,
+                       uint32_t *c,
+                       const uint32_t *b)
+{
+       uint32_t d0 = c[0] * key->n0inv;
+       uint64_t B = (uint64_t)d0 * key->n[0] + c[0];
+       uint32_t i;
+
+       for (i = 1; i < key->arrsize; ++i) {
+               B = (B >> 32) + (uint64_t)d0 * key->n[i] + c[i];
+               c[i - 1] = (uint32_t)B;
+       }
+
+       c[i - 1] = B >> 32;
+}
+
+/**
+ * Montgomery c[] = a[] * b[] / R % mod
+ */
+static void montMul(const struct vb2_public_key *key,
+                   uint32_t *c,
+                   const uint32_t *a,
+                   const uint32_t *b)
+{
+       uint32_t i;
+       for (i = 0; i < key->arrsize; ++i) {
+               c[i] = 0;
+       }
+       for (i = 0; i < key->arrsize; ++i) {
+               montMulAdd(key, c, a[i], b);
+       }
+}
+
+/* Montgomery c[] = a[] * 1 / R % key. */
+static void montMul1(const struct vb2_public_key *key,
+                    uint32_t *c,
+                    const uint32_t *a)
+{
+       int i;
+
+       for (i = 0; i < key->arrsize; ++i)
+               c[i] = 0;
+
+       montMulAdd(key, c, 1, a);
+       for (i = 1; i < key->arrsize; ++i)
+               montMulAdd0(key, c, a);
+}
+
+/**
+ * In-place public exponentiation.
+ *
+ * @param key          Key to use in signing
+ * @param inout                Input and output big-endian byte array
+ * @param workbuf32    Work buffer; caller must verify this is
+ *                     (3 * key->arrsize) elements long.
+ * @param exp          RSA public exponent: either 65537 (F4) or 3
+ */
+static void modpow(const struct vb2_public_key *key, uint8_t *inout,
+               uint32_t *workbuf32, int exp)
+{
+       uint32_t *a = workbuf32;
+       uint32_t *aR = a + key->arrsize;
+       uint32_t *aaR = aR + key->arrsize;
+       uint32_t *aaa = aaR;  /* Re-use location. */
+       int i;
+
+       /* Convert from big endian byte array to little endian word array. */
+       for (i = 0; i < (int)key->arrsize; ++i) {
+               uint32_t tmp =
+                       ((uint32_t)inout[((key->arrsize - 1 - i) * 4) + 0]
+                               << 24) |
+                       (inout[((key->arrsize - 1 - i) * 4) + 1] << 16) |
+                       (inout[((key->arrsize - 1 - i) * 4) + 2] << 8) |
+                       (inout[((key->arrsize - 1 - i) * 4) + 3] << 0);
+               a[i] = tmp;
+       }
+
+       montMul(key, aR, a, key->rr);  /* aR = a * RR / R mod M   */
+       if (exp == 3) {
+               montMul(key, aaR, aR, aR); /* aaR = aR * aR / R mod M */
+               montMul(key, a, aaR, aR); /* a = aaR * aR / R mod M */
+               montMul1(key, aaa, a); /* aaa = a * 1 / R mod M */
+       } else {
+               /* Exponent 65537 */
+               for (i = 0; i < 16; i+=2) {
+                       montMul(key, aaR, aR, aR);  /* aaR = aR * aR / R mod M */
+                       montMul(key, aR, aaR, aaR);  /* aR = aaR * aaR / R mod M */
+               }
+               montMul(key, aaa, aR, a);  /* aaa = aR * a / R mod M */
+       }
+
+       /* Make sure aaa < mod; aaa is at most 1x mod too large. */
+       if (vb2_mont_ge(key, aaa)) {
+               subM(key, aaa);
+       }
+
+       /* Convert to bigendian byte array */
+       for (i = (int)key->arrsize - 1; i >= 0; --i) {
+               uint32_t tmp = aaa[i];
+               *inout++ = (uint8_t)(tmp >> 24);
+               *inout++ = (uint8_t)(tmp >> 16);
+               *inout++ = (uint8_t)(tmp >>  8);
+               *inout++ = (uint8_t)(tmp >>  0);
+       }
+}
+
+uint32_t vb2_rsa_sig_size(enum vb2_signature_algorithm sig_alg)
+{
+       switch (sig_alg) {
+       case VB2_SIG_RSA1024:
+               return 1024 / 8;
+       case VB2_SIG_RSA2048:
+       case VB2_SIG_RSA2048_EXP3:
+               return 2048 / 8;
+       case VB2_SIG_RSA3072_EXP3:
+               return 3072 / 8;
+       case VB2_SIG_RSA4096:
+               return 4096 / 8;
+       case VB2_SIG_RSA8192:
+               return 8192 / 8;
+       default:
+               return 0;
+       }
+}
+
+/**
+ * Return the exponent used by an RSA algorithm
+ *
+ * @param sig_alg      Signature algorithm
+ * @return The exponent to use (3 or 65537(F4)), or 0 if error.
+ */
+static uint32_t vb2_rsa_exponent(enum vb2_signature_algorithm sig_alg)
+{
+       switch (sig_alg) {
+       case VB2_SIG_RSA1024:
+       case VB2_SIG_RSA2048:
+       case VB2_SIG_RSA4096:
+       case VB2_SIG_RSA8192:
+               return 65537;
+       case VB2_SIG_RSA2048_EXP3:
+       case VB2_SIG_RSA3072_EXP3:
+               return 3;
+       default:
+               return 0;
+       }
+}
+
+uint32_t vb2_packed_key_size(enum vb2_signature_algorithm sig_alg)
+{
+       uint32_t sig_size = vb2_rsa_sig_size(sig_alg);
+
+       if (!sig_size)
+               return 0;
+
+       /*
+        * Total size needed by a RSAPublicKey buffer is =
+        *  2 * key_len bytes for the n and rr arrays
+        *  + sizeof len + sizeof n0inv.
+        */
+       return 2 * sig_size + 2 * sizeof(uint32_t);
+}
+
+/*
+ * PKCS 1.5 padding (from the RSA PKCS#1 v2.1 standard)
+ *
+ * Depending on the RSA key size and hash function, the padding is calculated
+ * as follows:
+ *
+ * 0x00 || 0x01 || PS || 0x00 || T
+ *
+ * T: DER Encoded DigestInfo value which depends on the hash function used.
+ *
+ * SHA-1:   (0x)30 21 30 09 06 05 2b 0e 03 02 1a 05 00 04 14 || H.
+ * SHA-256: (0x)30 31 30 0d 06 09 60 86 48 01 65 03 04 02 01 05 00 04 20 || H.
+ * SHA-512: (0x)30 51 30 0d 06 09 60 86 48 01 65 03 04 02 03 05 00 04 40 || H.
+ *
+ * Length(T) = 35 octets for SHA-1
+ * Length(T) = 51 octets for SHA-256
+ * Length(T) = 83 octets for SHA-512
+ *
+ * PS: octet string consisting of {Length(RSA Key) - Length(T) - 3} 0xFF
+ */
+static const uint8_t sha1_tail[] = {
+       0x00,0x30,0x21,0x30,0x09,0x06,0x05,0x2b,
+       0x0e,0x03,0x02,0x1a,0x05,0x00,0x04,0x14
+};
+
+static const uint8_t sha256_tail[] = {
+       0x00,0x30,0x31,0x30,0x0d,0x06,0x09,0x60,
+       0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x01,
+       0x05,0x00,0x04,0x20
+};
+
+static const uint8_t sha512_tail[] = {
+       0x00,0x30,0x51,0x30,0x0d,0x06,0x09,0x60,
+       0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x03,
+       0x05,0x00,0x04,0x40
+};
+
+/**
+ * Check pkcs 1.5 padding bytes
+ *
+ * @param sig          Signature to verify
+ * @param key          Key to take signature and hash algorithms from
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+test_mockable
+vb2_error_t vb2_check_padding(const uint8_t *sig,
+                             const struct vb2_public_key *key)
+{
+       /* Determine padding to use depending on the signature type */
+       uint32_t sig_size = vb2_rsa_sig_size(key->sig_alg);
+       uint32_t hash_size = vb2_digest_size(key->hash_alg);
+       uint32_t pad_size = sig_size - hash_size;
+       const uint8_t *tail;
+       uint32_t tail_size;
+       int result = 0;
+       int i;
+
+       if (!sig_size || !hash_size || hash_size > sig_size)
+               return VB2_ERROR_RSA_PADDING_SIZE;
+
+       switch (key->hash_alg) {
+       case VB2_HASH_SHA1:
+               tail = sha1_tail;
+               tail_size = sizeof(sha1_tail);
+               break;
+       case VB2_HASH_SHA256:
+               tail = sha256_tail;
+               tail_size = sizeof(sha256_tail);
+               break;
+       case VB2_HASH_SHA512:
+               tail = sha512_tail;
+               tail_size = sizeof(sha512_tail);
+               break;
+       default:
+               return VB2_ERROR_RSA_PADDING_ALGORITHM;
+       }
+
+       /* First 2 bytes are always 0x00 0x01 */
+       result |= *sig++ ^ 0x00;
+       result |= *sig++ ^ 0x01;
+
+       /* Then 0xff bytes until the tail */
+       for (i = 0; i < pad_size - tail_size - 2; i++)
+               result |= *sig++ ^ 0xff;
+
+       /*
+        * Then the tail.  Even though there are probably no timing issues
+        * here, we use vb2_safe_memcmp() just to be on the safe side.
+        */
+       result |= vb2_safe_memcmp(sig, tail, tail_size);
+
+       return result ? VB2_ERROR_RSA_PADDING : VB2_SUCCESS;
+}
+
+vb2_error_t vb2_rsa_verify_digest(const struct vb2_public_key *key,
+                                 uint8_t *sig, const uint8_t *digest,
+                                 const struct vb2_workbuf *wb)
+{
+       struct vb2_workbuf wblocal = *wb;
+       uint32_t *workbuf32;
+       uint32_t key_bytes;
+       int sig_size;
+       int pad_size;
+       int exp;
+       vb2_error_t rv = VB2_ERROR_EX_HWCRYPTO_UNSUPPORTED;
+
+       if (!key || !sig || !digest)
+               return VB2_ERROR_RSA_VERIFY_PARAM;
+
+       sig_size = vb2_rsa_sig_size(key->sig_alg);
+       exp = vb2_rsa_exponent(key->sig_alg);
+       if (!sig_size || !exp) {
+               VB2_DEBUG("Invalid signature type!\n");
+               return VB2_ERROR_RSA_VERIFY_ALGORITHM;
+       }
+
+       /* Signature length should be same as key length */
+       key_bytes = key->arrsize * sizeof(uint32_t);
+       if (key_bytes != sig_size) {
+               VB2_DEBUG("Signature is of incorrect length!\n");
+               return VB2_ERROR_RSA_VERIFY_SIG_LEN;
+       }
+
+       workbuf32 = vb2_workbuf_alloc(&wblocal, 3 * key_bytes);
+       if (!workbuf32) {
+               VB2_DEBUG("ERROR - vboot2 work buffer too small!\n");
+               return VB2_ERROR_RSA_VERIFY_WORKBUF;
+       }
+
+       if (key->allow_hwcrypto) {
+               rv = vb2ex_hwcrypto_modexp(key, sig, workbuf32, exp);
+
+               if (rv == VB2_SUCCESS)
+                       VB2_DEBUG("Using HW modexp engine for sig_alg %d\n",
+                                       key->sig_alg);
+               else
+                       VB2_DEBUG("HW modexp for sig_alg %d not supported, using SW\n",
+                                       key->sig_alg);
+       } else {
+               VB2_DEBUG("HW modexp forbidden, using SW\n");
+       }
+
+       if (rv != VB2_SUCCESS) {
+               modpow(key, sig, workbuf32, exp);
+       }
+
+       vb2_workbuf_free(&wblocal, 3 * key_bytes);
+
+       /*
+        * Check padding.  Only fail immediately if the padding size is bad.
+        * Otherwise, continue on to check the digest to reduce the risk of
+        * timing based attacks.
+        */
+       rv = vb2_check_padding(sig, key);
+       if (rv == VB2_ERROR_RSA_PADDING_SIZE)
+               return rv;
+
+       /*
+        * Check digest.  Even though there are probably no timing issues here,
+        * use vb2_safe_memcmp() just to be on the safe side.  (That's also why
+        * we don't return before this check if the padding check failed.)
+        */
+       pad_size = sig_size - vb2_digest_size(key->hash_alg);
+       if (vb2_safe_memcmp(sig + pad_size, digest, key_bytes - pad_size)) {
+               VB2_DEBUG("Digest check failed!\n");
+               if (!rv)
+                       rv = VB2_ERROR_RSA_VERIFY_DIGEST;
+       }
+
+       return rv;
+}
diff --git a/firmware/2lib/2secdata_firmware.c b/firmware/2lib/2secdata_firmware.c
new file mode 100644 (file)
index 0000000..b5d9692
--- /dev/null
@@ -0,0 +1,151 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Secure storage APIs
+ */
+
+#include "2common.h"
+#include "2crc8.h"
+#include "2misc.h"
+#include "2secdata.h"
+#include "2secdata_struct.h"
+#include "2sysincludes.h"
+
+vb2_error_t vb2api_secdata_firmware_check(struct vb2_context *ctx)
+{
+       struct vb2_secdata_firmware *sec =
+               (struct vb2_secdata_firmware *)ctx->secdata_firmware;
+
+       /* Verify CRC */
+       if (sec->crc8 != vb2_crc8(sec, offsetof(struct vb2_secdata_firmware,
+                                               crc8))) {
+               VB2_DEBUG("secdata_firmware: bad CRC\n");
+               return VB2_ERROR_SECDATA_FIRMWARE_CRC;
+       }
+
+       /* Verify version */
+       if (sec->struct_version < VB2_SECDATA_FIRMWARE_VERSION) {
+               VB2_DEBUG("secdata_firmware: version incompatible\n");
+               return VB2_ERROR_SECDATA_FIRMWARE_VERSION;
+       }
+
+       return VB2_SUCCESS;
+}
+
+uint32_t vb2api_secdata_firmware_create(struct vb2_context *ctx)
+{
+       struct vb2_secdata_firmware *sec =
+               (struct vb2_secdata_firmware *)ctx->secdata_firmware;
+
+       /* Clear the entire struct */
+       memset(sec, 0, sizeof(*sec));
+
+       /* Set to current version */
+       sec->struct_version = VB2_SECDATA_FIRMWARE_VERSION;
+
+       /* Calculate initial CRC */
+       sec->crc8 = vb2_crc8(sec, offsetof(struct vb2_secdata_firmware, crc8));
+
+       /* Mark as changed */
+       ctx->flags |= VB2_CONTEXT_SECDATA_FIRMWARE_CHANGED;
+
+       return sizeof(*sec);
+}
+
+vb2_error_t vb2_secdata_firmware_init(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+
+       VB2_TRY(vb2api_secdata_firmware_check(ctx));
+
+       /* Set status flag */
+       sd->status |= VB2_SD_STATUS_SECDATA_FIRMWARE_INIT;
+
+       /* Read this now to make sure crossystem has it even in rec mode */
+       sd->fw_version_secdata =
+               vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_VERSIONS);
+
+       return VB2_SUCCESS;
+}
+
+uint32_t vb2_secdata_firmware_get(struct vb2_context *ctx,
+                                 enum vb2_secdata_firmware_param param)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_secdata_firmware *sec =
+               (struct vb2_secdata_firmware *)ctx->secdata_firmware;
+       const char *msg;
+
+       if (!(sd->status & VB2_SD_STATUS_SECDATA_FIRMWARE_INIT)) {
+               msg = "get before init";
+               goto fail;
+       }
+
+       switch (param) {
+       case VB2_SECDATA_FIRMWARE_FLAGS:
+               return sec->flags;
+
+       case VB2_SECDATA_FIRMWARE_VERSIONS:
+               return sec->fw_versions;
+
+       default:
+               msg = "invalid param";
+       }
+
+ fail:
+       VB2_REC_OR_DIE(ctx, "%s\n", msg);
+       return 0;
+}
+
+void vb2_secdata_firmware_set(struct vb2_context *ctx,
+                             enum vb2_secdata_firmware_param param,
+                             uint32_t value)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_secdata_firmware *sec =
+               (struct vb2_secdata_firmware *)ctx->secdata_firmware;
+       const char *msg;
+
+       if (!(sd->status & VB2_SD_STATUS_SECDATA_FIRMWARE_INIT)) {
+               msg = "set before init";
+               goto fail;
+       }
+
+       /* If not changing the value, just return early */
+       if (value == vb2_secdata_firmware_get(ctx, param))
+               return;
+
+       switch (param) {
+       case VB2_SECDATA_FIRMWARE_FLAGS:
+               /* Make sure flags is in valid range */
+               if (value > 0xff) {
+                       msg = "flags out of range";
+                       goto fail;
+               }
+
+               VB2_DEBUG("secdata_firmware flags updated from %#x to %#x\n",
+                         sec->flags, value);
+               sec->flags = value;
+               break;
+
+       case VB2_SECDATA_FIRMWARE_VERSIONS:
+               VB2_DEBUG("secdata_firmware versions updated from "
+                         "%#x to %#x\n",
+                         sec->fw_versions, value);
+               sec->fw_versions = value;
+               break;
+
+       default:
+               msg = "invalid param";
+               goto fail;
+       }
+
+       /* Regenerate CRC */
+       sec->crc8 = vb2_crc8(sec, offsetof(struct vb2_secdata_firmware, crc8));
+       ctx->flags |= VB2_CONTEXT_SECDATA_FIRMWARE_CHANGED;
+       return;
+
+ fail:
+       VB2_REC_OR_DIE(ctx, "%s\n", msg);
+}
diff --git a/firmware/2lib/2secdata_fwmp.c b/firmware/2lib/2secdata_fwmp.c
new file mode 100644 (file)
index 0000000..cec2481
--- /dev/null
@@ -0,0 +1,131 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Firmware management parameters (FWMP) APIs
+ */
+
+#include "2common.h"
+#include "2crc8.h"
+#include "2misc.h"
+#include "2secdata.h"
+#include "2secdata_struct.h"
+
+test_mockable
+vb2_error_t vb2api_secdata_fwmp_check(struct vb2_context *ctx, uint8_t *size)
+{
+       struct vb2_secdata_fwmp *sec =
+               (struct vb2_secdata_fwmp *)&ctx->secdata_fwmp;
+
+       /* Verify that at least the minimum size has been read */
+       if (*size < VB2_SECDATA_FWMP_MIN_SIZE) {
+               VB2_DEBUG("FWMP: missing %d bytes for minimum size\n",
+                         VB2_SECDATA_FWMP_MIN_SIZE - *size);
+               *size = VB2_SECDATA_FWMP_MIN_SIZE;
+               return VB2_ERROR_SECDATA_FWMP_INCOMPLETE;
+       }
+
+       /* Verify that struct_size is reasonable */
+       if (sec->struct_size < VB2_SECDATA_FWMP_MIN_SIZE ||
+           sec->struct_size > VB2_SECDATA_FWMP_MAX_SIZE) {
+               VB2_DEBUG("FWMP: invalid size: %d\n", sec->struct_size);
+               return VB2_ERROR_SECDATA_FWMP_SIZE;
+       }
+
+       /* Verify that we have read full structure */
+       if (*size < sec->struct_size) {
+               VB2_DEBUG("FWMP: missing %d bytes\n", sec->struct_size - *size);
+               *size = sec->struct_size;
+               return VB2_ERROR_SECDATA_FWMP_INCOMPLETE;
+       }
+       *size = sec->struct_size;
+
+       /* Verify CRC */
+       if (sec->crc8 != vb2_secdata_fwmp_crc(sec)) {
+               VB2_DEBUG("FWMP: bad CRC\n");
+               return VB2_ERROR_SECDATA_FWMP_CRC;
+       }
+
+       /* Verify major version is compatible */
+       if ((sec->struct_version >> 4) != (VB2_SECDATA_FWMP_VERSION >> 4)) {
+               VB2_DEBUG("FWMP: major version incompatible\n");
+               return VB2_ERROR_SECDATA_FWMP_VERSION;
+       }
+
+       /*
+        * If this were a 1.1+ reader and the source was a 1.0 struct,
+        * we would need to take care of initializing the extra fields
+        * added in 1.1+.  But that's not an issue yet.
+        */
+       return VB2_SUCCESS;
+}
+
+uint32_t vb2api_secdata_fwmp_create(struct vb2_context *ctx)
+{
+       struct vb2_secdata_fwmp *sec = (void *)&ctx->secdata_fwmp;
+
+       /* Clear the entire struct */
+       memset(sec, 0, sizeof(*sec));
+
+       /* Set to current version */
+       sec->struct_version = VB2_SECDATA_FWMP_VERSION;
+
+       /* Set the structure size */
+       sec->struct_size = sizeof(*sec);
+
+       /* Calculate initial CRC */
+       sec->crc8 = vb2_secdata_fwmp_crc(sec);
+
+       return sizeof(*sec);
+}
+
+vb2_error_t vb2_secdata_fwmp_init(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_secdata_fwmp *sec =
+               (struct vb2_secdata_fwmp *)&ctx->secdata_fwmp;
+
+       /* Skip checking if NO_SECDATA_FWMP is set. */
+       if (!(ctx->flags & VB2_CONTEXT_NO_SECDATA_FWMP))
+               VB2_TRY(vb2api_secdata_fwmp_check(ctx, &sec->struct_size));
+
+       /* Mark as initialized */
+       sd->status |= VB2_SD_STATUS_SECDATA_FWMP_INIT;
+
+       return VB2_SUCCESS;
+}
+
+int vb2_secdata_fwmp_get_flag(struct vb2_context *ctx,
+                             enum vb2_secdata_fwmp_flags flag)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_secdata_fwmp *sec =
+               (struct vb2_secdata_fwmp *)&ctx->secdata_fwmp;
+
+       if (!(sd->status & VB2_SD_STATUS_SECDATA_FWMP_INIT)) {
+               VB2_REC_OR_DIE(ctx, "Must init FWMP before retrieving flag\n");
+               return 0;
+       }
+
+       if (ctx->flags & VB2_CONTEXT_NO_SECDATA_FWMP)
+               return 0;
+
+       return !!(sec->flags & flag);
+}
+
+uint8_t *vb2_secdata_fwmp_get_dev_key_hash(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_secdata_fwmp *sec =
+               (struct vb2_secdata_fwmp *)&ctx->secdata_fwmp;
+
+       if (!(sd->status & VB2_SD_STATUS_SECDATA_FWMP_INIT)) {
+               VB2_REC_OR_DIE(ctx, "Must init FWMP before get dev key hash\n");
+               return NULL;
+       }
+
+       if (ctx->flags & VB2_CONTEXT_NO_SECDATA_FWMP)
+               return NULL;
+
+       return sec->dev_key_hash;
+}
diff --git a/firmware/2lib/2secdata_kernel.c b/firmware/2lib/2secdata_kernel.c
new file mode 100644 (file)
index 0000000..0d4208f
--- /dev/null
@@ -0,0 +1,319 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Secure storage APIs - kernel version space
+ */
+
+#include "2common.h"
+#include "2crc8.h"
+#include "2misc.h"
+#include "2secdata.h"
+#include "2secdata_struct.h"
+#include "2sysincludes.h"
+#include "vboot_test.h"
+
+#define MAJOR_VER(x) (((x) & 0xf0) >> 4)
+#define MINOR_VER(x) ((x) & 0x0f)
+
+static inline int is_v0(struct vb2_context *ctx)
+{
+       struct vb2_secdata_kernel_v1 *sec = (void *)ctx->secdata_kernel;
+       return MAJOR_VER(sec->struct_version) == 0;
+}
+
+/**
+ * Calculate crc8 of kernel secure storage.
+ *
+ * @param ctx          Context pointer
+ * @return Calculated crc8 value.
+ */
+static uint8_t secdata_kernel_crc(struct vb2_context *ctx)
+{
+       size_t offset, size;
+
+       if (is_v0(ctx)) {
+               offset = 0;
+               size = offsetof(struct vb2_secdata_kernel_v0, crc8);
+       } else {
+               struct vb2_secdata_kernel_v1 *sec
+                       = (void *)ctx->secdata_kernel;
+               offset = offsetof(struct vb2_secdata_kernel_v1, flags);
+               size = sec->struct_size - offset;
+       }
+
+       return vb2_crc8(ctx->secdata_kernel + offset, size);
+}
+
+static vb2_error_t secdata_kernel_check_v0(struct vb2_context *ctx,
+                                          uint8_t *size)
+{
+       struct vb2_secdata_kernel_v0 *sec = (void *)ctx->secdata_kernel;
+       uint8_t ver = sec->struct_version;
+
+       if (MINOR_VER(ver) != MINOR_VER(VB2_SECDATA_KERNEL_VERSION_V02)) {
+               VB2_DEBUG("secdata_kernel: bad struct_version (%d.%d)\n",
+                         MAJOR_VER(ver), MINOR_VER(ver));
+               return VB2_ERROR_SECDATA_KERNEL_VERSION;
+       }
+
+       *size = VB2_SECDATA_KERNEL_SIZE_V02;
+
+       /* Verify CRC */
+       if (sec->crc8 != secdata_kernel_crc(ctx)) {
+               VB2_DEBUG("secdata_kernel: bad CRC\n");
+               return VB2_ERROR_SECDATA_KERNEL_CRC;
+       }
+
+       /* Verify UID */
+       if (sec->uid != VB2_SECDATA_KERNEL_UID) {
+               VB2_DEBUG("secdata_kernel: bad UID\n");
+               return VB2_ERROR_SECDATA_KERNEL_UID;
+       }
+
+       return VB2_SUCCESS;
+}
+
+static vb2_error_t secdata_kernel_check_v1(struct vb2_context *ctx,
+                                          uint8_t *size)
+{
+       struct vb2_secdata_kernel_v1 *sec = (void *)ctx->secdata_kernel;
+       uint8_t ver = sec->struct_version;
+
+       if (MAJOR_VER(ver) != MAJOR_VER(VB2_SECDATA_KERNEL_VERSION_V10)) {
+               VB2_DEBUG("secdata_kernel: bad struct_version (%d.%d)\n",
+                         MAJOR_VER(ver), MINOR_VER(ver));
+               return VB2_ERROR_SECDATA_KERNEL_VERSION;
+       }
+
+       if (sec->struct_size < VB2_SECDATA_KERNEL_SIZE_V10 ||
+                       VB2_SECDATA_KERNEL_MAX_SIZE < sec->struct_size) {
+               VB2_DEBUG("secdata_kernel: bad struct_size (%d)\n",
+                         sec->struct_size);
+               return VB2_ERROR_SECDATA_KERNEL_STRUCT_SIZE;
+       }
+
+       if (*size < sec->struct_size) {
+               VB2_DEBUG("secdata_kernel: incomplete data (missing %d bytes)\n",
+                         sec->struct_size - *size);
+               *size = sec->struct_size;
+               return VB2_ERROR_SECDATA_KERNEL_INCOMPLETE;
+       }
+
+       /*
+        * In case larger data should be passed, kindly let the caller know
+        * the right size.
+        */
+       *size = sec->struct_size;
+
+       /* Verify CRC */
+       if (sec->crc8 != secdata_kernel_crc(ctx)) {
+               VB2_DEBUG("secdata_kernel: bad CRC\n");
+               return VB2_ERROR_SECDATA_KERNEL_CRC;
+       }
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2api_secdata_kernel_check(struct vb2_context *ctx, uint8_t *size)
+{
+       if (*size < VB2_SECDATA_KERNEL_MIN_SIZE) {
+               VB2_DEBUG("secdata_kernel: data size too small!\n");
+               *size = VB2_SECDATA_KERNEL_MIN_SIZE;
+               return VB2_ERROR_SECDATA_KERNEL_INCOMPLETE;
+       }
+
+       if (is_v0(ctx))
+               return secdata_kernel_check_v0(ctx, size);
+       else
+               return secdata_kernel_check_v1(ctx, size);
+}
+
+uint32_t vb2api_secdata_kernel_create(struct vb2_context *ctx)
+{
+       struct vb2_secdata_kernel_v1 *sec = (void *)ctx->secdata_kernel;
+
+       /* Populate the struct */
+       memset(sec, 0, sizeof(*sec));
+       sec->struct_version = VB2_SECDATA_KERNEL_VERSION_LATEST;
+       sec->struct_size = sizeof(*sec);
+       sec->crc8 = secdata_kernel_crc(ctx);
+
+       /* Mark as changed */
+       ctx->flags |= VB2_CONTEXT_SECDATA_KERNEL_CHANGED;
+
+       return sizeof(*sec);
+}
+
+/* For TPM 1.2 */
+uint32_t vb2api_secdata_kernel_create_v0(struct vb2_context *ctx)
+{
+       struct vb2_secdata_kernel_v0 *sec = (void *)ctx->secdata_kernel;
+
+       /* Clear the entire struct */
+       memset(sec, 0, sizeof(*sec));
+
+       /* Set to current version */
+       sec->struct_version = VB2_SECDATA_KERNEL_VERSION_V02;
+
+       /* Set UID */
+       sec->uid = VB2_SECDATA_KERNEL_UID;
+
+       /* Calculate initial CRC */
+       sec->crc8 = vb2_crc8(sec, offsetof(struct vb2_secdata_kernel_v0, crc8));
+
+       /* Mark as changed */
+       ctx->flags |= VB2_CONTEXT_SECDATA_KERNEL_CHANGED;
+
+       return sizeof(*sec);
+}
+
+vb2_error_t vb2_secdata_kernel_init(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       uint8_t size = VB2_SECDATA_KERNEL_MAX_SIZE;
+
+       VB2_TRY(vb2api_secdata_kernel_check(ctx, &size));
+
+       /* Set status flag */
+       sd->status |= VB2_SD_STATUS_SECDATA_KERNEL_INIT;
+
+       return VB2_SUCCESS;
+}
+
+uint32_t vb2_secdata_kernel_get(struct vb2_context *ctx,
+                               enum vb2_secdata_kernel_param param)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       const char *msg;
+       const struct vb2_secdata_kernel_v0 *v0 = (void *)ctx->secdata_kernel;
+       const struct vb2_secdata_kernel_v1 *v1 = (void *)ctx->secdata_kernel;
+
+       if (!(sd->status & VB2_SD_STATUS_SECDATA_KERNEL_INIT)) {
+               msg = "get before init";
+               goto fail;
+       }
+
+       switch (param) {
+       case VB2_SECDATA_KERNEL_VERSIONS:
+               return is_v0(ctx) ? v0->kernel_versions : v1->kernel_versions;
+       case VB2_SECDATA_KERNEL_FLAGS:
+               if (is_v0(ctx)) {
+                       VB2_DEBUG("VB2_SECDATA_KERNEL_FLAGS not supported for "
+                                 "secdata_kernel v0, return 0\n");
+                       return 0;
+               }
+               return v1->flags;
+       default:
+               msg = "invalid param";
+       }
+
+ fail:
+       VB2_REC_OR_DIE(ctx, "%s\n", msg);
+       return 0;
+}
+
+void vb2_secdata_kernel_set(struct vb2_context *ctx,
+                           enum vb2_secdata_kernel_param param,
+                           uint32_t value)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       const char *msg;
+       struct vb2_secdata_kernel_v0 *v0 = (void *)ctx->secdata_kernel;
+       struct vb2_secdata_kernel_v1 *v1 = (void *)ctx->secdata_kernel;
+       uint32_t *ptr;
+
+       if (!(sd->status & VB2_SD_STATUS_SECDATA_KERNEL_INIT)) {
+               msg = "set before init";
+               goto fail;
+       }
+
+       /* If not changing the value, just return early */
+       if (value == vb2_secdata_kernel_get(ctx, param))
+               return;
+
+       switch (param) {
+       case VB2_SECDATA_KERNEL_VERSIONS:
+               ptr = is_v0(ctx) ? &v0->kernel_versions : &v1->kernel_versions;
+               VB2_DEBUG("secdata_kernel versions updated from %#x to %#x\n",
+                         *ptr, value);
+               *ptr = value;
+               break;
+       case VB2_SECDATA_KERNEL_FLAGS:
+               if (is_v0(ctx)) {
+                       VB2_DEBUG("VB2_SECDATA_KERNEL_FLAGS not supported for "
+                                 "secdata_kernel v0, silently ignore\n");
+                       return;
+               }
+
+               /* Make sure flags is in valid range */
+               if (value > UINT8_MAX) {
+                       msg = "flags out of range";
+                       goto fail;
+               }
+
+               VB2_DEBUG("secdata_kernel flags updated from %#x to %#x\n",
+                         v1->flags, value);
+               v1->flags = value;
+               break;
+       default:
+               msg = "invalid param";
+               goto fail;
+       }
+
+       if (is_v0(ctx))
+               v0->crc8 = secdata_kernel_crc(ctx);
+       else
+               v1->crc8 = secdata_kernel_crc(ctx);
+
+       ctx->flags |= VB2_CONTEXT_SECDATA_KERNEL_CHANGED;
+       return;
+
+ fail:
+       VB2_REC_OR_DIE(ctx, "%s\n", msg);
+}
+
+const uint8_t *vb2_secdata_kernel_get_ec_hash(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_secdata_kernel_v1 *sec = (void *)ctx->secdata_kernel;
+
+       if (!(sd->status & VB2_SD_STATUS_SECDATA_KERNEL_INIT)) {
+               VB2_REC_OR_DIE(ctx, "Get kernel secdata before init\n");
+               return NULL;
+       }
+       if (is_v0(ctx)) {
+               VB2_DEBUG("kernel secdata v.0* doesn't support EC hash\n");
+               return NULL;
+       }
+
+       return sec->ec_hash;
+}
+
+void vb2_secdata_kernel_set_ec_hash(struct vb2_context *ctx,
+                                   const uint8_t *sha256)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_secdata_kernel_v1 *sec = (void *)ctx->secdata_kernel;
+
+       if (!(sd->status & VB2_SD_STATUS_SECDATA_KERNEL_INIT)) {
+               VB2_REC_OR_DIE(ctx, "Get kernel secdata before init\n");
+               return;
+       }
+       if (is_v0(ctx)) {
+               VB2_REC_OR_DIE(ctx, "Invalid version of kernel secdata\n");
+               return;
+       }
+
+       memcpy(sec->ec_hash, sha256, sizeof(sec->ec_hash));
+       sec->crc8 = secdata_kernel_crc(ctx);
+
+       ctx->flags |= VB2_CONTEXT_SECDATA_KERNEL_CHANGED;
+
+       return;
+}
+
+uint32_t vb2api_get_kernel_rollback_version(struct vb2_context *ctx)
+{
+       return vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS);
+}
diff --git a/firmware/2lib/2sha1.c b/firmware/2lib/2sha1.c
new file mode 100644 (file)
index 0000000..68ee4fd
--- /dev/null
@@ -0,0 +1,292 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * SHA-1 implementation largely based on libmincrypt in the the Android
+ * Open Source Project (platorm/system/core.git/libmincrypt/sha.c
+ */
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+
+/*
+ * Some machines lack byteswap.h and endian.h. These have to use the
+ * slower code, even if they're little-endian.
+ */
+
+#if defined(HAVE_ENDIAN_H) && defined(HAVE_LITTLE_ENDIAN)
+
+/*
+ * This version is about 28% faster than the generic version below,
+ * but assumes little-endianness.
+ */
+static uint32_t ror27(uint32_t val)
+{
+       return (val >> 27) | (val << 5);
+}
+
+static uint32_t ror2(uint32_t val)
+{
+       return (val >> 2) | (val << 30);
+}
+
+static uint32_t ror31(uint32_t val)
+{
+       return (val >> 31) | (val << 1);
+}
+
+static void sha1_transform(struct vb2_sha1_context *ctx)
+{
+       /* Note that this array uses 80*4=320 bytes of stack */
+       uint32_t W[80];
+       register uint32_t A, B, C, D, E;
+       int t;
+
+       A = ctx->state[0];
+       B = ctx->state[1];
+       C = ctx->state[2];
+       D = ctx->state[3];
+       E = ctx->state[4];
+
+#define SHA_F1(A,B,C,D,E,t)                            \
+       E += ror27(A) +                                 \
+               (W[t] = bswap_32(ctx->buf.w[t])) +      \
+               (D^(B&(C^D))) + 0x5A827999;             \
+       B = ror2(B);
+
+       for (t = 0; t < 15; t += 5) {
+               SHA_F1(A,B,C,D,E,t + 0);
+               SHA_F1(E,A,B,C,D,t + 1);
+               SHA_F1(D,E,A,B,C,t + 2);
+               SHA_F1(C,D,E,A,B,t + 3);
+               SHA_F1(B,C,D,E,A,t + 4);
+       }
+       SHA_F1(A,B,C,D,E,t + 0);  /* 16th one, t == 15 */
+
+#undef SHA_F1
+
+#define SHA_F1(A,B,C,D,E,t)                                            \
+       E += ror27(A) +                                                 \
+               (W[t] = ror31(W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16])) +   \
+               (D^(B&(C^D))) + 0x5A827999;                             \
+       B = ror2(B);
+
+       SHA_F1(E,A,B,C,D,t + 1);
+       SHA_F1(D,E,A,B,C,t + 2);
+       SHA_F1(C,D,E,A,B,t + 3);
+       SHA_F1(B,C,D,E,A,t + 4);
+
+#undef SHA_F1
+
+#define SHA_F2(A,B,C,D,E,t)                                            \
+       E += ror27(A) +                                                 \
+               (W[t] = ror31(W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16])) +   \
+               (B^C^D) + 0x6ED9EBA1;                                   \
+       B = ror2(B);
+
+       for (t = 20; t < 40; t += 5) {
+               SHA_F2(A,B,C,D,E,t + 0);
+               SHA_F2(E,A,B,C,D,t + 1);
+               SHA_F2(D,E,A,B,C,t + 2);
+               SHA_F2(C,D,E,A,B,t + 3);
+               SHA_F2(B,C,D,E,A,t + 4);
+       }
+
+#undef SHA_F2
+
+#define SHA_F3(A,B,C,D,E,t)                                            \
+       E += ror27(A) +                                                 \
+               (W[t] = ror31(W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16])) +   \
+               ((B&C)|(D&(B|C))) + 0x8F1BBCDC;                         \
+       B = ror2(B);
+
+       for (; t < 60; t += 5) {
+               SHA_F3(A,B,C,D,E,t + 0);
+               SHA_F3(E,A,B,C,D,t + 1);
+               SHA_F3(D,E,A,B,C,t + 2);
+               SHA_F3(C,D,E,A,B,t + 3);
+               SHA_F3(B,C,D,E,A,t + 4);
+       }
+
+#undef SHA_F3
+
+#define SHA_F4(A,B,C,D,E,t)                                            \
+       E += ror27(A) +                                                 \
+               (W[t] = ror31(W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16])) +   \
+               (B^C^D) + 0xCA62C1D6;                                   \
+       B = ror2(B);
+
+       for (; t < 80; t += 5) {
+               SHA_F4(A,B,C,D,E,t + 0);
+               SHA_F4(E,A,B,C,D,t + 1);
+               SHA_F4(D,E,A,B,C,t + 2);
+               SHA_F4(C,D,E,A,B,t + 3);
+               SHA_F4(B,C,D,E,A,t + 4);
+       }
+
+#undef SHA_F4
+
+       ctx->state[0] += A;
+       ctx->state[1] += B;
+       ctx->state[2] += C;
+       ctx->state[3] += D;
+       ctx->state[4] += E;
+}
+
+void vb2_sha1_update(struct vb2_sha1_context *ctx,
+                    const uint8_t *data,
+                    uint32_t size)
+{
+       int i = ctx->count % sizeof(ctx->buf);
+       const uint8_t *p = (const uint8_t*)data;
+
+       ctx->count += size;
+
+       while (size > sizeof(ctx->buf) - i) {
+               memcpy(&ctx->buf.b[i], p, sizeof(ctx->buf) - i);
+               size -= sizeof(ctx->buf) - i;
+               p += sizeof(ctx->buf) - i;
+               sha1_transform(ctx);
+               i = 0;
+       }
+
+       while (size--) {
+               ctx->buf.b[i++] = *p++;
+               if (i == sizeof(ctx->buf)) {
+                       sha1_transform(ctx);
+                       i = 0;
+               }
+       }
+}
+
+uint8_t *vb2_sha1_finalize(struct vb2_sha1_context *ctx)
+{
+       uint32_t cnt = ctx->count * 8;
+       int i;
+
+       vb2_sha1_update(ctx, (uint8_t*)"\x80", 1);
+       while ((ctx->count % sizeof(ctx->buf)) != (sizeof(ctx->buf) - 8)) {
+               vb2_sha1_update(ctx, (uint8_t*)"\0", 1);
+       }
+
+       for (i = 0; i < 8; ++i) {
+               uint8_t tmp = cnt >> ((7 - i) * 8);
+               vb2_sha1_update(ctx, &tmp, 1);
+       }
+
+       for (i = 0; i < 5; i++) {
+               ctx->buf.w[i] = bswap_32(ctx->state[i]);
+       }
+
+       return ctx->buf.b;
+}
+
+#else   /* #if defined(HAVE_ENDIAN_H) && defined(HAVE_LITTLE_ENDIAN) */
+
+#define rol(bits, value) (((value) << (bits)) | ((value) >> (32 - (bits))))
+
+static void sha1_transform(struct vb2_sha1_context *ctx)
+{
+       /* Note that this array uses 80*4=320 bytes of stack */
+       uint32_t W[80];
+       uint32_t A, B, C, D, E;
+       uint8_t *p = ctx->buf;
+       int t;
+
+       for(t = 0; t < 16; ++t) {
+               uint32_t tmp = (uint32_t)*p++ << 24;
+               tmp |= *p++ << 16;
+               tmp |= *p++ << 8;
+               tmp |= *p++;
+               W[t] = tmp;
+       }
+
+       for(; t < 80; t++) {
+               W[t] = rol(1,W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16]);
+       }
+
+       A = ctx->state[0];
+       B = ctx->state[1];
+       C = ctx->state[2];
+       D = ctx->state[3];
+       E = ctx->state[4];
+
+       for(t = 0; t < 80; t++) {
+               uint32_t tmp = rol(5,A) + E + W[t];
+
+               if (t < 20)
+                       tmp += (D^(B&(C^D))) + 0x5A827999;
+               else if ( t < 40)
+                       tmp += (B^C^D) + 0x6ED9EBA1;
+               else if ( t < 60)
+                       tmp += ((B&C)|(D&(B|C))) + 0x8F1BBCDC;
+               else
+                       tmp += (B^C^D) + 0xCA62C1D6;
+
+               E = D;
+               D = C;
+               C = rol(30,B);
+               B = A;
+               A = tmp;
+       }
+
+       ctx->state[0] += A;
+       ctx->state[1] += B;
+       ctx->state[2] += C;
+       ctx->state[3] += D;
+       ctx->state[4] += E;
+}
+
+void vb2_sha1_update(struct vb2_sha1_context *ctx,
+                    const uint8_t *data,
+                    uint32_t size)
+{
+       int i = (int)(ctx->count % sizeof(ctx->buf));
+       const uint8_t* p = (const uint8_t*) data;
+
+       ctx->count += size;
+
+       while (size--) {
+               ctx->buf[i++] = *p++;
+               if (i == sizeof(ctx->buf)) {
+                       sha1_transform(ctx);
+                       i = 0;
+               }
+       }
+}
+
+void vb2_sha1_finalize(struct vb2_sha1_context *ctx, uint8_t *digest)
+{
+       uint32_t cnt = ctx->count << 3;
+       int i;
+
+       vb2_sha1_update(ctx, (uint8_t*)"\x80", 1);
+       while ((ctx->count % sizeof(ctx->buf)) != (sizeof(ctx->buf) - 8)) {
+               vb2_sha1_update(ctx, (uint8_t*)"\0", 1);
+       }
+       for (i = 0; i < 8; ++i) {
+               uint8_t tmp = (uint8_t)((uint64_t)cnt >> ((7 - i) * 8));
+               vb2_sha1_update(ctx, &tmp, 1);
+       }
+
+       for (i = 0; i < 5; i++) {
+               uint32_t tmp = ctx->state[i];
+               *digest++ = (uint8_t)(tmp >> 24);
+               *digest++ = (uint8_t)(tmp >> 16);
+               *digest++ = (uint8_t)(tmp >> 8);
+               *digest++ = (uint8_t)(tmp >> 0);
+       }
+}
+
+#endif /* endianness */
+
+void vb2_sha1_init(struct vb2_sha1_context *ctx)
+{
+       ctx->state[0] = 0x67452301;
+       ctx->state[1] = 0xefcdab89;
+       ctx->state[2] = 0x98badcfe;
+       ctx->state[3] = 0x10325476;
+       ctx->state[4] = 0xc3d2e1f0;
+       ctx->count = 0;
+}
diff --git a/firmware/2lib/2sha256.c b/firmware/2lib/2sha256.c
new file mode 100644 (file)
index 0000000..0044113
--- /dev/null
@@ -0,0 +1,335 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* SHA-256 and SHA-512 implementation based on code by Oliver Gay
+ * <olivier.gay@a3.epfl.ch> under a BSD-style license. See below.
+ */
+
+/*
+ * FIPS 180-2 SHA-224/256/384/512 implementation
+ * Last update: 02/02/2007
+ * Issue date:  04/30/2005
+ *
+ * Copyright (C) 2005, 2007 Olivier Gay <olivier.gay@a3.epfl.ch>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the project nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sha_private.h"
+#include "2sysincludes.h"
+
+#define SHFR(x, n)    (x >> n)
+#define ROTR(x, n)   ((x >> n) | (x << ((sizeof(x) << 3) - n)))
+#define ROTL(x, n)   ((x << n) | (x >> ((sizeof(x) << 3) - n)))
+#define CH(x, y, z)  ((x & y) ^ (~x & z))
+#define MAJ(x, y, z) ((x & y) ^ (x & z) ^ (y & z))
+
+#define SHA256_F1(x) (ROTR(x,  2) ^ ROTR(x, 13) ^ ROTR(x, 22))
+#define SHA256_F2(x) (ROTR(x,  6) ^ ROTR(x, 11) ^ ROTR(x, 25))
+#define SHA256_F3(x) (ROTR(x,  7) ^ ROTR(x, 18) ^ SHFR(x,  3))
+#define SHA256_F4(x) (ROTR(x, 17) ^ ROTR(x, 19) ^ SHFR(x, 10))
+
+/* Macros used for loops unrolling */
+
+#define SHA256_SCR(i)                                          \
+       {                                                       \
+               w[i] =  SHA256_F4(w[i -  2]) + w[i -  7]        \
+                       + SHA256_F3(w[i - 15]) + w[i - 16];     \
+       }
+
+#define SHA256_EXP(a, b, c, d, e, f, g, h, j)                          \
+       {                                                               \
+               t1 = wv[h] + SHA256_F2(wv[e]) + CH(wv[e], wv[f], wv[g]) \
+                       + vb2_sha256_k[j] + w[j];                               \
+               t2 = SHA256_F1(wv[a]) + MAJ(wv[a], wv[b], wv[c]);       \
+               wv[d] += t1;                                            \
+               wv[h] = t1 + t2;                                        \
+       }
+
+const uint32_t vb2_sha256_h0[8] = {
+       0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
+       0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
+};
+
+static const uint32_t sha224_h0[8] = {
+       0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,
+       0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4
+};
+
+const uint32_t vb2_sha256_k[64] = {
+       0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
+       0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
+       0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
+       0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
+       0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
+       0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
+       0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
+       0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
+       0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
+       0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
+       0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
+       0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
+       0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
+       0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
+       0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
+       0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
+};
+
+/* SHA-256 implementation */
+void vb2_sha256_init(struct vb2_sha256_context *ctx,
+                    enum vb2_hash_algorithm algo)
+{
+       const uint32_t *h0 = algo == VB2_HASH_SHA224 ? sha224_h0 : vb2_sha256_h0;
+
+#ifndef UNROLL_LOOPS
+       int i;
+       for (i = 0; i < 8; i++) {
+               ctx->h[i] = h0[i];
+       }
+#else
+       ctx->h[0] = h0[0]; ctx->h[1] = h0[1];
+       ctx->h[2] = h0[2]; ctx->h[3] = h0[3];
+       ctx->h[4] = h0[4]; ctx->h[5] = h0[5];
+       ctx->h[6] = h0[6]; ctx->h[7] = h0[7];
+#endif /* !UNROLL_LOOPS */
+
+       ctx->size = 0;
+       ctx->total_size = 0;
+}
+
+static void vb2_sha256_transform(struct vb2_sha256_context *ctx,
+                                const uint8_t *message,
+                                unsigned int block_nb)
+{
+       /* Note that these arrays use 72*4=288 bytes of stack */
+       uint32_t w[64];
+       uint32_t wv[8];
+       uint32_t t1, t2;
+       const unsigned char *sub_block;
+       int i;
+
+#ifndef UNROLL_LOOPS
+       int j;
+#endif
+
+       for (i = 0; i < (int) block_nb; i++) {
+               sub_block = message + (i << 6);
+
+#ifndef UNROLL_LOOPS
+               for (j = 0; j < 16; j++) {
+                       PACK32(&sub_block[j << 2], &w[j]);
+               }
+
+               for (j = 16; j < 64; j++) {
+                       SHA256_SCR(j);
+               }
+
+               for (j = 0; j < 8; j++) {
+                       wv[j] = ctx->h[j];
+               }
+
+               for (j = 0; j < 64; j++) {
+                       t1 = wv[7] + SHA256_F2(wv[4]) + CH(wv[4], wv[5], wv[6])
+                               + vb2_sha256_k[j] + w[j];
+                       t2 = SHA256_F1(wv[0]) + MAJ(wv[0], wv[1], wv[2]);
+                       wv[7] = wv[6];
+                       wv[6] = wv[5];
+                       wv[5] = wv[4];
+                       wv[4] = wv[3] + t1;
+                       wv[3] = wv[2];
+                       wv[2] = wv[1];
+                       wv[1] = wv[0];
+                       wv[0] = t1 + t2;
+               }
+
+               for (j = 0; j < 8; j++) {
+                       ctx->h[j] += wv[j];
+               }
+#else
+               PACK32(&sub_block[ 0], &w[ 0]); PACK32(&sub_block[ 4], &w[ 1]);
+               PACK32(&sub_block[ 8], &w[ 2]); PACK32(&sub_block[12], &w[ 3]);
+               PACK32(&sub_block[16], &w[ 4]); PACK32(&sub_block[20], &w[ 5]);
+               PACK32(&sub_block[24], &w[ 6]); PACK32(&sub_block[28], &w[ 7]);
+               PACK32(&sub_block[32], &w[ 8]); PACK32(&sub_block[36], &w[ 9]);
+               PACK32(&sub_block[40], &w[10]); PACK32(&sub_block[44], &w[11]);
+               PACK32(&sub_block[48], &w[12]); PACK32(&sub_block[52], &w[13]);
+               PACK32(&sub_block[56], &w[14]); PACK32(&sub_block[60], &w[15]);
+
+               SHA256_SCR(16); SHA256_SCR(17); SHA256_SCR(18); SHA256_SCR(19);
+               SHA256_SCR(20); SHA256_SCR(21); SHA256_SCR(22); SHA256_SCR(23);
+               SHA256_SCR(24); SHA256_SCR(25); SHA256_SCR(26); SHA256_SCR(27);
+               SHA256_SCR(28); SHA256_SCR(29); SHA256_SCR(30); SHA256_SCR(31);
+               SHA256_SCR(32); SHA256_SCR(33); SHA256_SCR(34); SHA256_SCR(35);
+               SHA256_SCR(36); SHA256_SCR(37); SHA256_SCR(38); SHA256_SCR(39);
+               SHA256_SCR(40); SHA256_SCR(41); SHA256_SCR(42); SHA256_SCR(43);
+               SHA256_SCR(44); SHA256_SCR(45); SHA256_SCR(46); SHA256_SCR(47);
+               SHA256_SCR(48); SHA256_SCR(49); SHA256_SCR(50); SHA256_SCR(51);
+               SHA256_SCR(52); SHA256_SCR(53); SHA256_SCR(54); SHA256_SCR(55);
+               SHA256_SCR(56); SHA256_SCR(57); SHA256_SCR(58); SHA256_SCR(59);
+               SHA256_SCR(60); SHA256_SCR(61); SHA256_SCR(62); SHA256_SCR(63);
+
+               wv[0] = ctx->h[0]; wv[1] = ctx->h[1];
+               wv[2] = ctx->h[2]; wv[3] = ctx->h[3];
+               wv[4] = ctx->h[4]; wv[5] = ctx->h[5];
+               wv[6] = ctx->h[6]; wv[7] = ctx->h[7];
+
+               SHA256_EXP(0,1,2,3,4,5,6,7, 0); SHA256_EXP(7,0,1,2,3,4,5,6, 1);
+               SHA256_EXP(6,7,0,1,2,3,4,5, 2); SHA256_EXP(5,6,7,0,1,2,3,4, 3);
+               SHA256_EXP(4,5,6,7,0,1,2,3, 4); SHA256_EXP(3,4,5,6,7,0,1,2, 5);
+               SHA256_EXP(2,3,4,5,6,7,0,1, 6); SHA256_EXP(1,2,3,4,5,6,7,0, 7);
+               SHA256_EXP(0,1,2,3,4,5,6,7, 8); SHA256_EXP(7,0,1,2,3,4,5,6, 9);
+               SHA256_EXP(6,7,0,1,2,3,4,5,10); SHA256_EXP(5,6,7,0,1,2,3,4,11);
+               SHA256_EXP(4,5,6,7,0,1,2,3,12); SHA256_EXP(3,4,5,6,7,0,1,2,13);
+               SHA256_EXP(2,3,4,5,6,7,0,1,14); SHA256_EXP(1,2,3,4,5,6,7,0,15);
+               SHA256_EXP(0,1,2,3,4,5,6,7,16); SHA256_EXP(7,0,1,2,3,4,5,6,17);
+               SHA256_EXP(6,7,0,1,2,3,4,5,18); SHA256_EXP(5,6,7,0,1,2,3,4,19);
+               SHA256_EXP(4,5,6,7,0,1,2,3,20); SHA256_EXP(3,4,5,6,7,0,1,2,21);
+               SHA256_EXP(2,3,4,5,6,7,0,1,22); SHA256_EXP(1,2,3,4,5,6,7,0,23);
+               SHA256_EXP(0,1,2,3,4,5,6,7,24); SHA256_EXP(7,0,1,2,3,4,5,6,25);
+               SHA256_EXP(6,7,0,1,2,3,4,5,26); SHA256_EXP(5,6,7,0,1,2,3,4,27);
+               SHA256_EXP(4,5,6,7,0,1,2,3,28); SHA256_EXP(3,4,5,6,7,0,1,2,29);
+               SHA256_EXP(2,3,4,5,6,7,0,1,30); SHA256_EXP(1,2,3,4,5,6,7,0,31);
+               SHA256_EXP(0,1,2,3,4,5,6,7,32); SHA256_EXP(7,0,1,2,3,4,5,6,33);
+               SHA256_EXP(6,7,0,1,2,3,4,5,34); SHA256_EXP(5,6,7,0,1,2,3,4,35);
+               SHA256_EXP(4,5,6,7,0,1,2,3,36); SHA256_EXP(3,4,5,6,7,0,1,2,37);
+               SHA256_EXP(2,3,4,5,6,7,0,1,38); SHA256_EXP(1,2,3,4,5,6,7,0,39);
+               SHA256_EXP(0,1,2,3,4,5,6,7,40); SHA256_EXP(7,0,1,2,3,4,5,6,41);
+               SHA256_EXP(6,7,0,1,2,3,4,5,42); SHA256_EXP(5,6,7,0,1,2,3,4,43);
+               SHA256_EXP(4,5,6,7,0,1,2,3,44); SHA256_EXP(3,4,5,6,7,0,1,2,45);
+               SHA256_EXP(2,3,4,5,6,7,0,1,46); SHA256_EXP(1,2,3,4,5,6,7,0,47);
+               SHA256_EXP(0,1,2,3,4,5,6,7,48); SHA256_EXP(7,0,1,2,3,4,5,6,49);
+               SHA256_EXP(6,7,0,1,2,3,4,5,50); SHA256_EXP(5,6,7,0,1,2,3,4,51);
+               SHA256_EXP(4,5,6,7,0,1,2,3,52); SHA256_EXP(3,4,5,6,7,0,1,2,53);
+               SHA256_EXP(2,3,4,5,6,7,0,1,54); SHA256_EXP(1,2,3,4,5,6,7,0,55);
+               SHA256_EXP(0,1,2,3,4,5,6,7,56); SHA256_EXP(7,0,1,2,3,4,5,6,57);
+               SHA256_EXP(6,7,0,1,2,3,4,5,58); SHA256_EXP(5,6,7,0,1,2,3,4,59);
+               SHA256_EXP(4,5,6,7,0,1,2,3,60); SHA256_EXP(3,4,5,6,7,0,1,2,61);
+               SHA256_EXP(2,3,4,5,6,7,0,1,62); SHA256_EXP(1,2,3,4,5,6,7,0,63);
+
+               ctx->h[0] += wv[0]; ctx->h[1] += wv[1];
+               ctx->h[2] += wv[2]; ctx->h[3] += wv[3];
+               ctx->h[4] += wv[4]; ctx->h[5] += wv[5];
+               ctx->h[6] += wv[6]; ctx->h[7] += wv[7];
+#endif /* !UNROLL_LOOPS */
+       }
+}
+
+void vb2_sha256_update(struct vb2_sha256_context *ctx,
+                      const uint8_t *data,
+                      uint32_t size)
+{
+       unsigned int block_nb;
+       unsigned int new_size, rem_size, tmp_size;
+       const uint8_t *shifted_data;
+
+       tmp_size = VB2_SHA256_BLOCK_SIZE - ctx->size;
+       rem_size = size < tmp_size ? size : tmp_size;
+
+       memcpy(&ctx->block[ctx->size], data, rem_size);
+
+       if (ctx->size + size < VB2_SHA256_BLOCK_SIZE) {
+               ctx->size += size;
+               return;
+       }
+
+       new_size = size - rem_size;
+       block_nb = new_size / VB2_SHA256_BLOCK_SIZE;
+
+       shifted_data = data + rem_size;
+
+       vb2_sha256_transform(ctx, ctx->block, 1);
+       vb2_sha256_transform(ctx, shifted_data, block_nb);
+
+       rem_size = new_size % VB2_SHA256_BLOCK_SIZE;
+
+       memcpy(ctx->block, &shifted_data[block_nb << 6],
+              rem_size);
+
+       ctx->size = rem_size;
+       ctx->total_size += (block_nb + 1) << 6;
+}
+
+void vb2_sha256_finalize(struct vb2_sha256_context *ctx, uint8_t *digest,
+                        enum vb2_hash_algorithm algo)
+{
+       unsigned int block_nb;
+       unsigned int pm_size;
+       unsigned int size_b;
+#ifndef UNROLL_LOOPS
+       int i;
+#endif
+
+       block_nb = (1 + ((VB2_SHA256_BLOCK_SIZE - 9)
+                        < (ctx->size % VB2_SHA256_BLOCK_SIZE)));
+
+       size_b = (ctx->total_size + ctx->size) << 3;
+       pm_size = block_nb << 6;
+
+       memset(ctx->block + ctx->size, 0, pm_size - ctx->size);
+       ctx->block[ctx->size] = 0x80;
+       UNPACK32(size_b, ctx->block + pm_size - 4);
+
+       vb2_sha256_transform(ctx, ctx->block, block_nb);
+
+#ifndef UNROLL_LOOPS
+       for (i = 0 ; i < (algo == VB2_HASH_SHA224 ? 7 : 8); i++) {
+               UNPACK32(ctx->h[i], &digest[i << 2]);
+       }
+#else
+       UNPACK32(ctx->h[0], &digest[ 0]);
+       UNPACK32(ctx->h[1], &digest[ 4]);
+       UNPACK32(ctx->h[2], &digest[ 8]);
+       UNPACK32(ctx->h[3], &digest[12]);
+       UNPACK32(ctx->h[4], &digest[16]);
+       UNPACK32(ctx->h[5], &digest[20]);
+       UNPACK32(ctx->h[6], &digest[24]);
+       if (algo != VB2_HASH_SHA224) {
+               UNPACK32(ctx->h[7], &digest[28]);
+       }
+#endif /* !UNROLL_LOOPS */
+}
+
+void vb2_sha256_extend(const uint8_t *from, const uint8_t *by, uint8_t *to)
+{
+       struct vb2_sha256_context dc;
+       int i;
+
+       for (i = 0; i < 8; i++) {
+                PACK32(from, &dc.h[i]);
+                from += 4;
+       }
+
+       vb2_sha256_transform(&dc, by, 1);
+
+       for (i = 0; i < 8; i++) {
+                UNPACK32(dc.h[i], to);
+                to += 4;
+       }
+}
diff --git a/firmware/2lib/2sha256_x86.c b/firmware/2lib/2sha256_x86.c
new file mode 100644 (file)
index 0000000..e80477e
--- /dev/null
@@ -0,0 +1,255 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * SHA256 implementation using x86 SHA extension.
+ * Mainly from https://github.com/noloader/SHA-Intrinsics/blob/master/sha256-x86.c,
+ * Written and place in public domain by Jeffrey Walton
+ * Based on code from Intel, and by Sean Gulley for
+ * the miTLS project.
+ */
+#include "2common.h"
+#include "2sha.h"
+#include "2sha_private.h"
+#include "2api.h"
+
+static struct vb2_sha256_context sha_ctx;
+
+typedef int vb2_m128i __attribute__ ((vector_size(16)));
+
+static inline vb2_m128i vb2_loadu_si128(vb2_m128i *ptr)
+{
+       vb2_m128i result;
+       asm volatile ("movups %1, %0" : "=x"(result) : "m"(*ptr));
+       return result;
+}
+
+static inline void vb2_storeu_si128(vb2_m128i *to, vb2_m128i from)
+{
+       asm volatile ("movups %1, %0" : "=m"(*to) : "x"(from));
+}
+
+static inline vb2_m128i vb2_add_epi32(vb2_m128i a, vb2_m128i b)
+{
+       return a + b;
+}
+
+static inline vb2_m128i vb2_shuffle_epi8(vb2_m128i value, vb2_m128i mask)
+{
+       asm ("pshufb %1, %0" : "+x"(value) : "xm"(mask));
+       return value;
+}
+
+static inline vb2_m128i vb2_shuffle_epi32(vb2_m128i value, int mask)
+{
+       vb2_m128i result;
+       asm ("pshufd %2, %1, %0" : "=x"(result) : "xm"(value), "i" (mask));
+       return result;
+}
+
+static inline vb2_m128i vb2_alignr_epi8(vb2_m128i a, vb2_m128i b, int imm8)
+{
+       asm ("palignr %2, %1, %0" : "+x"(a) : "xm"(b), "i"(imm8));
+       return a;
+}
+
+static inline vb2_m128i vb2_sha256msg1_epu32(vb2_m128i a, vb2_m128i b)
+{
+       asm ("sha256msg1 %1, %0" : "+x"(a) : "xm"(b));
+       return a;
+}
+
+static inline vb2_m128i vb2_sha256msg2_epu32(vb2_m128i a, vb2_m128i b)
+{
+       asm ("sha256msg2 %1, %0" : "+x"(a) : "xm"(b));
+       return a;
+}
+
+static inline vb2_m128i vb2_sha256rnds2_epu32(vb2_m128i a, vb2_m128i b,
+                                              vb2_m128i k)
+{
+       asm ("sha256rnds2 %1, %0" : "+x"(a) : "xm"(b), "Yz"(k));
+       return a;
+}
+
+#define SHA256_X86_PUT_STATE1(j, i)                                    \
+       {                                                               \
+               msgtmp[j] = vb2_loadu_si128((vb2_m128i *)                       \
+                               (message + (i << 6) + (j * 16)));       \
+               msgtmp[j] = vb2_shuffle_epi8(msgtmp[j], shuf_mask);     \
+               msg = vb2_add_epi32(msgtmp[j],                          \
+                       vb2_loadu_si128((vb2_m128i *)&vb2_sha256_k[j * 4]));    \
+               state1 = vb2_sha256rnds2_epu32(state1, state0, msg);    \
+       }
+
+#define SHA256_X86_PUT_STATE0()                                                \
+       {                                                               \
+               msg    = vb2_shuffle_epi32(msg, 0x0E);                  \
+               state0 = vb2_sha256rnds2_epu32(state0, state1, msg);    \
+       }
+
+#define SHA256_X86_LOOP(j)                                             \
+       {                                                               \
+               int k = j & 3;                                          \
+               int prev_k = (k + 3) & 3;                               \
+               int next_k = (k + 1) & 3;                               \
+               msg = vb2_add_epi32(msgtmp[k],                          \
+                       vb2_loadu_si128((vb2_m128i *)&vb2_sha256_k[j * 4]));    \
+               state1 = vb2_sha256rnds2_epu32(state1, state0, msg);    \
+               tmp = vb2_alignr_epi8(msgtmp[k], msgtmp[prev_k], 4);    \
+               msgtmp[next_k] = vb2_add_epi32(msgtmp[next_k], tmp);    \
+               msgtmp[next_k] = vb2_sha256msg2_epu32(msgtmp[next_k],   \
+                                       msgtmp[k]);                     \
+               SHA256_X86_PUT_STATE0();                                \
+               msgtmp[prev_k] = vb2_sha256msg1_epu32(msgtmp[prev_k],   \
+                               msgtmp[k]);                             \
+       }
+
+static void vb2_sha256_transform_x86ext(const uint8_t *message,
+                                       unsigned int block_nb)
+{
+       vb2_m128i state0, state1, msg, abef_save, cdgh_save;
+       vb2_m128i msgtmp[4];
+       vb2_m128i tmp;
+       int i;
+       const vb2_m128i shuf_mask = {0x00010203, 0x04050607, 0x08090a0b, 0x0c0d0e0f};
+
+       state0 = vb2_loadu_si128((vb2_m128i *)&sha_ctx.h[0]);
+       state1 = vb2_loadu_si128((vb2_m128i *)&sha_ctx.h[4]);
+       for (i = 0; i < (int) block_nb; i++) {
+               abef_save = state0;
+               cdgh_save = state1;
+
+               SHA256_X86_PUT_STATE1(0, i);
+               SHA256_X86_PUT_STATE0();
+
+               SHA256_X86_PUT_STATE1(1, i);
+               SHA256_X86_PUT_STATE0();
+               msgtmp[0] = vb2_sha256msg1_epu32(msgtmp[0], msgtmp[1]);
+
+               SHA256_X86_PUT_STATE1(2, i);
+               SHA256_X86_PUT_STATE0();
+               msgtmp[1] = vb2_sha256msg1_epu32(msgtmp[1], msgtmp[2]);
+
+               SHA256_X86_PUT_STATE1(3, i);
+               tmp = vb2_alignr_epi8(msgtmp[3], msgtmp[2], 4);
+               msgtmp[0] = vb2_add_epi32(msgtmp[0], tmp);
+               msgtmp[0] = vb2_sha256msg2_epu32(msgtmp[0], msgtmp[3]);
+               SHA256_X86_PUT_STATE0();
+               msgtmp[2] = vb2_sha256msg1_epu32(msgtmp[2], msgtmp[3]);
+
+               SHA256_X86_LOOP(4);
+               SHA256_X86_LOOP(5);
+               SHA256_X86_LOOP(6);
+               SHA256_X86_LOOP(7);
+               SHA256_X86_LOOP(8);
+               SHA256_X86_LOOP(9);
+               SHA256_X86_LOOP(10);
+               SHA256_X86_LOOP(11);
+               SHA256_X86_LOOP(12);
+               SHA256_X86_LOOP(13);
+               SHA256_X86_LOOP(14);
+
+               msg = vb2_add_epi32(msgtmp[3],
+                       vb2_loadu_si128((vb2_m128i *)&vb2_sha256_k[15 * 4]));
+               state1 = vb2_sha256rnds2_epu32(state1, state0, msg);
+               SHA256_X86_PUT_STATE0();
+
+               state0 = vb2_add_epi32(state0, abef_save);
+               state1 = vb2_add_epi32(state1, cdgh_save);
+
+       }
+
+       vb2_storeu_si128((vb2_m128i *)&sha_ctx.h[0], state0);
+       vb2_storeu_si128((vb2_m128i *)&sha_ctx.h[4], state1);
+}
+
+vb2_error_t vb2ex_hwcrypto_digest_init(enum vb2_hash_algorithm hash_alg,
+                                      uint32_t data_size)
+{
+       if (hash_alg != VB2_HASH_SHA256)
+               return VB2_ERROR_EX_HWCRYPTO_UNSUPPORTED;
+
+       sha_ctx.h[0] = vb2_sha256_h0[5];
+       sha_ctx.h[1] = vb2_sha256_h0[4];
+       sha_ctx.h[2] = vb2_sha256_h0[1];
+       sha_ctx.h[3] = vb2_sha256_h0[0];
+       sha_ctx.h[4] = vb2_sha256_h0[7];
+       sha_ctx.h[5] = vb2_sha256_h0[6];
+       sha_ctx.h[6] = vb2_sha256_h0[3];
+       sha_ctx.h[7] = vb2_sha256_h0[2];
+       sha_ctx.size = 0;
+       sha_ctx.total_size = 0;
+       memset(sha_ctx.block, 0, sizeof(sha_ctx.block));
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2ex_hwcrypto_digest_extend(const uint8_t *buf, uint32_t size)
+{
+       unsigned int remaining_blocks;
+       unsigned int new_size, rem_size, tmp_size;
+       const uint8_t *shifted_data;
+
+       tmp_size = VB2_SHA256_BLOCK_SIZE - sha_ctx.size;
+       rem_size = size < tmp_size ? size : tmp_size;
+
+       memcpy(&sha_ctx.block[sha_ctx.size], buf, rem_size);
+
+       if (sha_ctx.size + size < VB2_SHA256_BLOCK_SIZE) {
+               sha_ctx.size += size;
+               return VB2_SUCCESS;
+       }
+
+       new_size = size - rem_size;
+       remaining_blocks = new_size / VB2_SHA256_BLOCK_SIZE;
+
+       shifted_data = buf + rem_size;
+
+       vb2_sha256_transform_x86ext(sha_ctx.block, 1);
+       vb2_sha256_transform_x86ext(shifted_data, remaining_blocks);
+
+       rem_size = new_size % VB2_SHA256_BLOCK_SIZE;
+
+       memcpy(sha_ctx.block, &shifted_data[remaining_blocks * VB2_SHA256_BLOCK_SIZE],
+              rem_size);
+
+       sha_ctx.size = rem_size;
+       sha_ctx.total_size += (remaining_blocks + 1) * VB2_SHA256_BLOCK_SIZE;
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2ex_hwcrypto_digest_finalize(uint8_t *digest,
+                                          uint32_t digest_size)
+{
+       unsigned int block_nb;
+       unsigned int pm_size;
+       unsigned int size_b;
+       unsigned int block_rem_size = sha_ctx.size % VB2_SHA256_BLOCK_SIZE;
+       if (digest_size != VB2_SHA256_DIGEST_SIZE) {
+               VB2_DEBUG("ERROR: Digest size does not match expected length.\n");
+               return VB2_ERROR_SHA_FINALIZE_DIGEST_SIZE;
+       }
+
+       block_nb = (1 + ((VB2_SHA256_BLOCK_SIZE - SHA256_MIN_PAD_LEN)
+                               < block_rem_size));
+
+       size_b = (sha_ctx.total_size + sha_ctx.size) * 8;
+       pm_size = block_nb * VB2_SHA256_BLOCK_SIZE;
+
+       memset(sha_ctx.block + sha_ctx.size, 0, pm_size - sha_ctx.size);
+       sha_ctx.block[sha_ctx.size] = SHA256_PAD_BEGIN;
+       UNPACK32(size_b, sha_ctx.block + pm_size - 4);
+
+       vb2_sha256_transform_x86ext(sha_ctx.block, block_nb);
+
+       UNPACK32(sha_ctx.h[3], &digest[ 0]);
+       UNPACK32(sha_ctx.h[2], &digest[ 4]);
+       UNPACK32(sha_ctx.h[7], &digest[ 8]);
+       UNPACK32(sha_ctx.h[6], &digest[12]);
+       UNPACK32(sha_ctx.h[1], &digest[16]);
+       UNPACK32(sha_ctx.h[0], &digest[20]);
+       UNPACK32(sha_ctx.h[5], &digest[24]);
+       UNPACK32(sha_ctx.h[4], &digest[28]);
+       return VB2_SUCCESS;
+}
diff --git a/firmware/2lib/2sha512.c b/firmware/2lib/2sha512.c
new file mode 100644 (file)
index 0000000..b72ebce
--- /dev/null
@@ -0,0 +1,359 @@
+/* SHA-256 and SHA-512 implementation based on code by Oliver Gay
+ * <olivier.gay@a3.epfl.ch> under a BSD-style license. See below.
+ */
+
+/*
+ * FIPS 180-2 SHA-224/256/384/512 implementation
+ * Last update: 02/02/2007
+ * Issue date:  04/30/2005
+ *
+ * Copyright (C) 2005, 2007 Olivier Gay <olivier.gay@a3.epfl.ch>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the project nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+
+#define SHFR(x, n)    (x >> n)
+#define ROTR(x, n)   ((x >> n) | (x << ((sizeof(x) << 3) - n)))
+#define ROTL(x, n)   ((x << n) | (x >> ((sizeof(x) << 3) - n)))
+#define CH(x, y, z)  ((x & y) ^ (~x & z))
+#define MAJ(x, y, z) ((x & y) ^ (x & z) ^ (y & z))
+
+#define SHA512_F1(x) (ROTR(x, 28) ^ ROTR(x, 34) ^ ROTR(x, 39))
+#define SHA512_F2(x) (ROTR(x, 14) ^ ROTR(x, 18) ^ ROTR(x, 41))
+#define SHA512_F3(x) (ROTR(x,  1) ^ ROTR(x,  8) ^ SHFR(x,  7))
+#define SHA512_F4(x) (ROTR(x, 19) ^ ROTR(x, 61) ^ SHFR(x,  6))
+
+#define UNPACK32(x, str)                               \
+       {                                               \
+               *((str) + 3) = (uint8_t) ((x)      );   \
+               *((str) + 2) = (uint8_t) ((x) >>  8);   \
+               *((str) + 1) = (uint8_t) ((x) >> 16);   \
+               *((str) + 0) = (uint8_t) ((x) >> 24);   \
+       }
+
+#define UNPACK64(x, str)                                       \
+       {                                                       \
+               *((str) + 7) = (uint8_t) x;                     \
+               *((str) + 6) = (uint8_t) ((uint64_t)x >> 8);    \
+               *((str) + 5) = (uint8_t) ((uint64_t)x >> 16);   \
+               *((str) + 4) = (uint8_t) ((uint64_t)x >> 24);   \
+               *((str) + 3) = (uint8_t) ((uint64_t)x >> 32);   \
+               *((str) + 2) = (uint8_t) ((uint64_t)x >> 40);   \
+               *((str) + 1) = (uint8_t) ((uint64_t)x >> 48);   \
+               *((str) + 0) = (uint8_t) ((uint64_t)x >> 56);   \
+       }
+
+#define PACK64(str, x)                                         \
+       {                                                       \
+               *(x) =   ((uint64_t) *((str) + 7)      )        \
+                       | ((uint64_t) *((str) + 6) <<  8)       \
+                       | ((uint64_t) *((str) + 5) << 16)       \
+                       | ((uint64_t) *((str) + 4) << 24)       \
+                       | ((uint64_t) *((str) + 3) << 32)       \
+                       | ((uint64_t) *((str) + 2) << 40)       \
+                       | ((uint64_t) *((str) + 1) << 48)       \
+                       | ((uint64_t) *((str) + 0) << 56);      \
+       }
+
+/* Macros used for loops unrolling */
+
+#define SHA512_SCR(i)                                          \
+       {                                                       \
+               w[i] =  SHA512_F4(w[i -  2]) + w[i -  7]        \
+                       + SHA512_F3(w[i - 15]) + w[i - 16];     \
+       }
+
+#define SHA512_EXP(a, b, c, d, e, f, g ,h, j)                          \
+       {                                                               \
+               t1 = wv[h] + SHA512_F2(wv[e]) + CH(wv[e], wv[f], wv[g]) \
+                       + sha512_k[j] + w[j];                           \
+               t2 = SHA512_F1(wv[a]) + MAJ(wv[a], wv[b], wv[c]);       \
+               wv[d] += t1;                                            \
+               wv[h] = t1 + t2;                                        \
+       }
+
+static const uint64_t sha512_h0[8] = {
+       0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL,
+       0x3c6ef372fe94f82bULL, 0xa54ff53a5f1d36f1ULL,
+       0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL,
+       0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL
+};
+
+static const uint64_t sha384_h0[8] = {
+       0xcbbb9d5dc1059ed8ULL, 0x629a292a367cd507ULL,
+       0x9159015a3070dd17ULL, 0x152fecd8f70e5939ULL,
+       0x67332667ffc00b31ULL, 0x8eb44a8768581511ULL,
+       0xdb0c2e0d64f98fa7ULL, 0x47b5481dbefa4fa4ULL
+};
+
+static const uint64_t sha512_k[80] = {
+       0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL,
+       0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL,
+       0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL,
+       0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL,
+       0xd807aa98a3030242ULL, 0x12835b0145706fbeULL,
+       0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL,
+       0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL,
+       0x9bdc06a725c71235ULL, 0xc19bf174cf692694ULL,
+       0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL,
+       0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL,
+       0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL,
+       0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL,
+       0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL,
+       0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL,
+       0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL,
+       0x06ca6351e003826fULL, 0x142929670a0e6e70ULL,
+       0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL,
+       0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL,
+       0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL,
+       0x81c2c92e47edaee6ULL, 0x92722c851482353bULL,
+       0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL,
+       0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL,
+       0xd192e819d6ef5218ULL, 0xd69906245565a910ULL,
+       0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL,
+       0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL,
+       0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL,
+       0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL,
+       0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL,
+       0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL,
+       0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL,
+       0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL,
+       0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL,
+       0xca273eceea26619cULL, 0xd186b8c721c0c207ULL,
+       0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL,
+       0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL,
+       0x113f9804bef90daeULL, 0x1b710b35131c471bULL,
+       0x28db77f523047d84ULL, 0x32caab7b40c72493ULL,
+       0x3c9ebe0a15c9bebcULL, 0x431d67c49c100d4cULL,
+       0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL,
+       0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL
+};
+
+/* SHA-512 implementation */
+
+void vb2_sha512_init(struct vb2_sha512_context *ctx,
+                    enum vb2_hash_algorithm algo)
+{
+       const uint64_t *h0 = algo == VB2_HASH_SHA384 ? sha384_h0 : sha512_h0;
+
+#ifdef UNROLL_LOOPS_SHA512
+       ctx->h[0] = h0[0]; ctx->h[1] = h0[1];
+       ctx->h[2] = h0[2]; ctx->h[3] = h0[3];
+       ctx->h[4] = h0[4]; ctx->h[5] = h0[5];
+       ctx->h[6] = h0[6]; ctx->h[7] = h0[7];
+#else
+       int i;
+
+       for (i = 0; i < 8; i++)
+               ctx->h[i] = h0[i];
+#endif /* UNROLL_LOOPS_SHA512 */
+
+       ctx->size = 0;
+       ctx->total_size = 0;
+}
+
+static void vb2_sha512_transform(struct vb2_sha512_context *ctx,
+                                const uint8_t *message,
+                                unsigned int block_nb)
+{
+       /* Note that these arrays use 88*8=704 bytes of stack */
+       uint64_t w[80];
+       uint64_t wv[8];
+       uint64_t t1, t2;
+       const uint8_t *sub_block;
+       int i, j;
+
+       for (i = 0; i < (int) block_nb; i++) {
+               sub_block = message + (i << 7);
+
+#ifdef UNROLL_LOOPS_SHA512
+               PACK64(&sub_block[  0], &w[ 0]);
+               PACK64(&sub_block[  8], &w[ 1]);
+               PACK64(&sub_block[ 16], &w[ 2]);
+               PACK64(&sub_block[ 24], &w[ 3]);
+               PACK64(&sub_block[ 32], &w[ 4]);
+               PACK64(&sub_block[ 40], &w[ 5]);
+               PACK64(&sub_block[ 48], &w[ 6]);
+               PACK64(&sub_block[ 56], &w[ 7]);
+               PACK64(&sub_block[ 64], &w[ 8]);
+               PACK64(&sub_block[ 72], &w[ 9]);
+               PACK64(&sub_block[ 80], &w[10]);
+               PACK64(&sub_block[ 88], &w[11]);
+               PACK64(&sub_block[ 96], &w[12]);
+               PACK64(&sub_block[104], &w[13]);
+               PACK64(&sub_block[112], &w[14]);
+               PACK64(&sub_block[120], &w[15]);
+
+               SHA512_SCR(16); SHA512_SCR(17); SHA512_SCR(18); SHA512_SCR(19);
+               SHA512_SCR(20); SHA512_SCR(21); SHA512_SCR(22); SHA512_SCR(23);
+               SHA512_SCR(24); SHA512_SCR(25); SHA512_SCR(26); SHA512_SCR(27);
+               SHA512_SCR(28); SHA512_SCR(29); SHA512_SCR(30); SHA512_SCR(31);
+               SHA512_SCR(32); SHA512_SCR(33); SHA512_SCR(34); SHA512_SCR(35);
+               SHA512_SCR(36); SHA512_SCR(37); SHA512_SCR(38); SHA512_SCR(39);
+               SHA512_SCR(40); SHA512_SCR(41); SHA512_SCR(42); SHA512_SCR(43);
+               SHA512_SCR(44); SHA512_SCR(45); SHA512_SCR(46); SHA512_SCR(47);
+               SHA512_SCR(48); SHA512_SCR(49); SHA512_SCR(50); SHA512_SCR(51);
+               SHA512_SCR(52); SHA512_SCR(53); SHA512_SCR(54); SHA512_SCR(55);
+               SHA512_SCR(56); SHA512_SCR(57); SHA512_SCR(58); SHA512_SCR(59);
+               SHA512_SCR(60); SHA512_SCR(61); SHA512_SCR(62); SHA512_SCR(63);
+               SHA512_SCR(64); SHA512_SCR(65); SHA512_SCR(66); SHA512_SCR(67);
+               SHA512_SCR(68); SHA512_SCR(69); SHA512_SCR(70); SHA512_SCR(71);
+               SHA512_SCR(72); SHA512_SCR(73); SHA512_SCR(74); SHA512_SCR(75);
+               SHA512_SCR(76); SHA512_SCR(77); SHA512_SCR(78); SHA512_SCR(79);
+
+               wv[0] = ctx->h[0]; wv[1] = ctx->h[1];
+               wv[2] = ctx->h[2]; wv[3] = ctx->h[3];
+               wv[4] = ctx->h[4]; wv[5] = ctx->h[5];
+               wv[6] = ctx->h[6]; wv[7] = ctx->h[7];
+
+               j = 0;
+
+               do {
+                       SHA512_EXP(0,1,2,3,4,5,6,7,j); j++;
+                       SHA512_EXP(7,0,1,2,3,4,5,6,j); j++;
+                       SHA512_EXP(6,7,0,1,2,3,4,5,j); j++;
+                       SHA512_EXP(5,6,7,0,1,2,3,4,j); j++;
+                       SHA512_EXP(4,5,6,7,0,1,2,3,j); j++;
+                       SHA512_EXP(3,4,5,6,7,0,1,2,j); j++;
+                       SHA512_EXP(2,3,4,5,6,7,0,1,j); j++;
+                       SHA512_EXP(1,2,3,4,5,6,7,0,j); j++;
+               } while (j < 80);
+
+               ctx->h[0] += wv[0]; ctx->h[1] += wv[1];
+               ctx->h[2] += wv[2]; ctx->h[3] += wv[3];
+               ctx->h[4] += wv[4]; ctx->h[5] += wv[5];
+               ctx->h[6] += wv[6]; ctx->h[7] += wv[7];
+#else
+               for (j = 0; j < 16; j++) {
+                       PACK64(&sub_block[j << 3], &w[j]);
+               }
+
+               for (j = 16; j < 80; j++) {
+                       SHA512_SCR(j);
+               }
+
+               for (j = 0; j < 8; j++) {
+                       wv[j] = ctx->h[j];
+               }
+
+               for (j = 0; j < 80; j++) {
+                       t1 = wv[7] + SHA512_F2(wv[4]) + CH(wv[4], wv[5], wv[6])
+                               + sha512_k[j] + w[j];
+                       t2 = SHA512_F1(wv[0]) + MAJ(wv[0], wv[1], wv[2]);
+                       wv[7] = wv[6];
+                       wv[6] = wv[5];
+                       wv[5] = wv[4];
+                       wv[4] = wv[3] + t1;
+                       wv[3] = wv[2];
+                       wv[2] = wv[1];
+                       wv[1] = wv[0];
+                       wv[0] = t1 + t2;
+               }
+
+               for (j = 0; j < 8; j++)
+                       ctx->h[j] += wv[j];
+#endif /* UNROLL_LOOPS_SHA512 */
+       }
+}
+
+void vb2_sha512_update(struct vb2_sha512_context *ctx,
+                      const uint8_t *data,
+                      uint32_t size)
+{
+       unsigned int block_nb;
+       unsigned int new_size, rem_size, tmp_size;
+       const uint8_t *shifted_data;
+
+       tmp_size = VB2_SHA512_BLOCK_SIZE - ctx->size;
+       rem_size = size < tmp_size ? size : tmp_size;
+
+       memcpy(&ctx->block[ctx->size], data, rem_size);
+
+       if (ctx->size + size < VB2_SHA512_BLOCK_SIZE) {
+               ctx->size += size;
+               return;
+       }
+
+       new_size = size - rem_size;
+       block_nb = new_size / VB2_SHA512_BLOCK_SIZE;
+
+       shifted_data = data + rem_size;
+
+       vb2_sha512_transform(ctx, ctx->block, 1);
+       vb2_sha512_transform(ctx, shifted_data, block_nb);
+
+       rem_size = new_size % VB2_SHA512_BLOCK_SIZE;
+
+       memcpy(ctx->block, &shifted_data[block_nb << 7],
+              rem_size);
+
+       ctx->size = rem_size;
+       ctx->total_size += (block_nb + 1) << 7;
+}
+
+void vb2_sha512_finalize(struct vb2_sha512_context *ctx, uint8_t *digest,
+                        enum vb2_hash_algorithm algo)
+{
+       unsigned int block_nb;
+       unsigned int pm_size;
+       unsigned int size_b;
+
+#ifndef UNROLL_LOOPS_SHA512
+       int i;
+#endif
+
+       block_nb = 1 + ((VB2_SHA512_BLOCK_SIZE - 17)
+                       < (ctx->size % VB2_SHA512_BLOCK_SIZE));
+
+       size_b = (ctx->total_size + ctx->size) << 3;
+       pm_size = block_nb << 7;
+
+       memset(ctx->block + ctx->size, 0, pm_size - ctx->size);
+       ctx->block[ctx->size] = 0x80;
+       UNPACK32(size_b, ctx->block + pm_size - 4);
+
+       vb2_sha512_transform(ctx, ctx->block, block_nb);
+
+#ifdef UNROLL_LOOPS_SHA512
+       UNPACK64(ctx->h[0], &digest[ 0]);
+       UNPACK64(ctx->h[1], &digest[ 8]);
+       UNPACK64(ctx->h[2], &digest[16]);
+       UNPACK64(ctx->h[3], &digest[24]);
+       UNPACK64(ctx->h[4], &digest[32]);
+       UNPACK64(ctx->h[5], &digest[40]);
+       if (algo != VB2_HASH_SHA384) {
+               UNPACK64(ctx->h[6], &digest[48]);
+               UNPACK64(ctx->h[7], &digest[56]);
+       }
+#else
+       for (i = 0 ; i < (algo == VB2_HASH_SHA384 ? 6 : 8); i++)
+               UNPACK64(ctx->h[i], &digest[i << 3]);
+#endif /* UNROLL_LOOPS_SHA512 */
+}
diff --git a/firmware/2lib/2sha_utility.c b/firmware/2lib/2sha_utility.c
new file mode 100644 (file)
index 0000000..3a6c230
--- /dev/null
@@ -0,0 +1,169 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Utility functions for message digest functions.
+ */
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+
+size_t vb2_digest_size(enum vb2_hash_algorithm hash_alg)
+{
+       switch (hash_alg) {
+#if VB2_SUPPORT_SHA1
+       case VB2_HASH_SHA1:
+               return VB2_SHA1_DIGEST_SIZE;
+#endif
+#if VB2_SUPPORT_SHA256
+       case VB2_HASH_SHA224:
+               return VB2_SHA224_DIGEST_SIZE;
+       case VB2_HASH_SHA256:
+               return VB2_SHA256_DIGEST_SIZE;
+#endif
+#if VB2_SUPPORT_SHA512
+       case VB2_HASH_SHA384:
+               return VB2_SHA384_DIGEST_SIZE;
+       case VB2_HASH_SHA512:
+               return VB2_SHA512_DIGEST_SIZE;
+#endif
+       default:
+               return 0;
+       }
+}
+
+size_t vb2_hash_block_size(enum vb2_hash_algorithm alg)
+{
+       switch (alg) {
+#if VB2_SUPPORT_SHA1
+       case VB2_HASH_SHA1:
+               return VB2_SHA1_BLOCK_SIZE;
+#endif
+#if VB2_SUPPORT_SHA256
+       case VB2_HASH_SHA224:   /* SHA224 reuses SHA256 internal structures */
+       case VB2_HASH_SHA256:
+               return VB2_SHA256_BLOCK_SIZE;
+#endif
+#if VB2_SUPPORT_SHA512
+       case VB2_HASH_SHA384:   /* SHA384 reuses SHA512 internal structures */
+       case VB2_HASH_SHA512:
+               return VB2_SHA512_BLOCK_SIZE;
+#endif
+       default:
+               return 0;
+       }
+}
+
+test_mockable
+vb2_error_t vb2_digest_init(struct vb2_digest_context *dc,
+                           enum vb2_hash_algorithm hash_alg)
+{
+       dc->hash_alg = hash_alg;
+       dc->using_hwcrypto = 0;
+
+       switch (dc->hash_alg) {
+#if VB2_SUPPORT_SHA1
+       case VB2_HASH_SHA1:
+               vb2_sha1_init(&dc->sha1);
+               return VB2_SUCCESS;
+#endif
+#if VB2_SUPPORT_SHA256
+       case VB2_HASH_SHA224:
+       case VB2_HASH_SHA256:
+               vb2_sha256_init(&dc->sha256, hash_alg);
+               return VB2_SUCCESS;
+#endif
+#if VB2_SUPPORT_SHA512
+       case VB2_HASH_SHA384:
+       case VB2_HASH_SHA512:
+               vb2_sha512_init(&dc->sha512, hash_alg);
+               return VB2_SUCCESS;
+#endif
+       default:
+               return VB2_ERROR_SHA_INIT_ALGORITHM;
+       }
+}
+
+test_mockable
+vb2_error_t vb2_digest_extend(struct vb2_digest_context *dc, const uint8_t *buf,
+                             uint32_t size)
+{
+       switch (dc->hash_alg) {
+#if VB2_SUPPORT_SHA1
+       case VB2_HASH_SHA1:
+               vb2_sha1_update(&dc->sha1, buf, size);
+               return VB2_SUCCESS;
+#endif
+#if VB2_SUPPORT_SHA256
+       case VB2_HASH_SHA224:
+       case VB2_HASH_SHA256:
+               vb2_sha256_update(&dc->sha256, buf, size);
+               return VB2_SUCCESS;
+#endif
+#if VB2_SUPPORT_SHA512
+       case VB2_HASH_SHA384:
+       case VB2_HASH_SHA512:
+               vb2_sha512_update(&dc->sha512, buf, size);
+               return VB2_SUCCESS;
+#endif
+       default:
+               return VB2_ERROR_SHA_EXTEND_ALGORITHM;
+       }
+}
+
+test_mockable
+vb2_error_t vb2_digest_finalize(struct vb2_digest_context *dc, uint8_t *digest,
+                               uint32_t digest_size)
+{
+       if (digest_size < vb2_digest_size(dc->hash_alg))
+               return VB2_ERROR_SHA_FINALIZE_DIGEST_SIZE;
+
+       switch (dc->hash_alg) {
+#if VB2_SUPPORT_SHA1
+       case VB2_HASH_SHA1:
+               vb2_sha1_finalize(&dc->sha1, digest);
+               return VB2_SUCCESS;
+#endif
+#if VB2_SUPPORT_SHA256
+       case VB2_HASH_SHA224:
+       case VB2_HASH_SHA256:
+               vb2_sha256_finalize(&dc->sha256, digest, dc->hash_alg);
+               return VB2_SUCCESS;
+#endif
+#if VB2_SUPPORT_SHA512
+       case VB2_HASH_SHA384:
+       case VB2_HASH_SHA512:
+               vb2_sha512_finalize(&dc->sha512, digest, dc->hash_alg);
+               return VB2_SUCCESS;
+#endif
+       default:
+               return VB2_ERROR_SHA_FINALIZE_ALGORITHM;
+       }
+}
+
+test_mockable
+vb2_error_t vb2_digest_buffer(const uint8_t *buf, uint32_t size,
+                             enum vb2_hash_algorithm hash_alg, uint8_t *digest,
+                             uint32_t digest_size)
+{
+       struct vb2_digest_context dc;
+
+       VB2_TRY(vb2_digest_init(&dc, hash_alg));
+       VB2_TRY(vb2_digest_extend(&dc, buf, size));
+
+       return vb2_digest_finalize(&dc, digest, digest_size);
+}
+
+vb2_error_t vb2_hash_verify(const void *buf, uint32_t size,
+                           const struct vb2_hash *hash)
+{
+       uint8_t hash_buf[VB2_MAX_DIGEST_SIZE];
+       size_t hash_size = vb2_digest_size(hash->algo);
+
+       VB2_TRY(vb2_digest_buffer(buf, size, hash->algo, hash_buf, hash_size));
+       if (memcmp(hash_buf, hash->raw, hash_size))
+               return VB2_ERROR_SHA_MISMATCH;
+       else
+               return VB2_SUCCESS;
+}
diff --git a/firmware/2lib/2struct.c b/firmware/2lib/2struct.c
new file mode 100644 (file)
index 0000000..a16f869
--- /dev/null
@@ -0,0 +1,317 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Functions for reading, checking and verifying firmware and
+ * kernel data structures.
+ */
+
+#include "2common.h"
+
+vb2_error_t vb2_check_keyblock(const struct vb2_keyblock *block, uint32_t size,
+                              const struct vb2_signature *sig)
+{
+       if(size < sizeof(*block)) {
+               VB2_DEBUG("Not enough space for keyblock header.\n");
+               return VB2_ERROR_KEYBLOCK_TOO_SMALL_FOR_HEADER;
+       }
+
+       if (memcmp(block->magic, VB2_KEYBLOCK_MAGIC, VB2_KEYBLOCK_MAGIC_SIZE)) {
+               VB2_DEBUG("Not a valid verified boot keyblock.\n");
+               return VB2_ERROR_KEYBLOCK_MAGIC;
+       }
+
+       if (block->header_version_major != VB2_KEYBLOCK_VERSION_MAJOR) {
+               VB2_DEBUG("Incompatible keyblock header version.\n");
+               return VB2_ERROR_KEYBLOCK_HEADER_VERSION;
+       }
+
+       if (size < block->keyblock_size) {
+               VB2_DEBUG("Not enough data for keyblock.\n");
+               return VB2_ERROR_KEYBLOCK_SIZE;
+       }
+
+       if (vb2_verify_signature_inside(block, block->keyblock_size, sig)) {
+               VB2_DEBUG("Keyblock signature off end of block\n");
+               return VB2_ERROR_KEYBLOCK_SIG_OUTSIDE;
+       }
+
+       /* Make sure advertised signature data sizes are valid. */
+       if (block->keyblock_size < sig->data_size) {
+               VB2_DEBUG("Signature calculated past end of block\n");
+               return VB2_ERROR_KEYBLOCK_SIGNED_TOO_MUCH;
+       }
+
+       /* Verify we signed enough data */
+       if (sig->data_size < sizeof(struct vb2_keyblock)) {
+               VB2_DEBUG("Didn't sign enough data\n");
+               return VB2_ERROR_KEYBLOCK_SIGNED_TOO_LITTLE;
+       }
+
+       /* Verify data key is inside the block and inside signed data */
+       if (vb2_verify_packed_key_inside(block, block->keyblock_size,
+                                        &block->data_key)) {
+               VB2_DEBUG("Data key off end of keyblock\n");
+               return VB2_ERROR_KEYBLOCK_DATA_KEY_OUTSIDE;
+       }
+       if (vb2_verify_packed_key_inside(block, sig->data_size,
+                                        &block->data_key)) {
+               VB2_DEBUG("Data key off end of signed data\n");
+               return VB2_ERROR_KEYBLOCK_DATA_KEY_UNSIGNED;
+       }
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_verify_keyblock(struct vb2_keyblock *block, uint32_t size,
+                               const struct vb2_public_key *key,
+                               const struct vb2_workbuf *wb)
+{
+       struct vb2_signature *sig = &block->keyblock_signature;
+       vb2_error_t rv;
+
+       /* Validity check keyblock before attempting signature check of data */
+       VB2_TRY(vb2_check_keyblock(block, size, sig));
+
+       VB2_DEBUG("Checking keyblock signature...\n");
+       rv = vb2_verify_data((const uint8_t *)block, size, sig, key, wb);
+       if (rv) {
+               VB2_DEBUG("Invalid keyblock signature.\n");
+               return VB2_ERROR_KEYBLOCK_SIG_INVALID;
+       }
+
+       /* Success */
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_verify_fw_preamble(struct vb2_fw_preamble *preamble,
+                                  uint32_t size,
+                                  const struct vb2_public_key *key,
+                                  const struct vb2_workbuf *wb)
+{
+       struct vb2_signature *sig = &preamble->preamble_signature;
+
+       VB2_DEBUG("Verifying preamble.\n");
+
+       /* Validity checks before attempting signature of data */
+       if(size < sizeof(*preamble)) {
+               VB2_DEBUG("Not enough data for preamble header\n");
+               return VB2_ERROR_PREAMBLE_TOO_SMALL_FOR_HEADER;
+       }
+       if (preamble->header_version_major !=
+           VB2_FIRMWARE_PREAMBLE_HEADER_VERSION_MAJOR) {
+               VB2_DEBUG("Incompatible firmware preamble header version.\n");
+               return VB2_ERROR_PREAMBLE_HEADER_VERSION;
+       }
+
+       if (preamble->header_version_minor < 1) {
+               VB2_DEBUG("Only preamble header 2.1+ supported\n");
+               return VB2_ERROR_PREAMBLE_HEADER_OLD;
+       }
+
+       if (size < preamble->preamble_size) {
+               VB2_DEBUG("Not enough data for preamble.\n");
+               return VB2_ERROR_PREAMBLE_SIZE;
+       }
+
+       /* Check signature */
+       if (vb2_verify_signature_inside(preamble, preamble->preamble_size,
+                                       sig)) {
+               VB2_DEBUG("Preamble signature off end of preamble\n");
+               return VB2_ERROR_PREAMBLE_SIG_OUTSIDE;
+       }
+
+       /* Make sure advertised signature data sizes are valid. */
+       if (preamble->preamble_size < sig->data_size) {
+               VB2_DEBUG("Signature calculated past end of the block\n");
+               return VB2_ERROR_PREAMBLE_SIGNED_TOO_MUCH;
+       }
+
+       if (vb2_verify_data((const uint8_t *)preamble, size, sig, key, wb)) {
+               VB2_DEBUG("Preamble signature validation failed\n");
+               return VB2_ERROR_PREAMBLE_SIG_INVALID;
+       }
+
+       /* Verify we signed enough data */
+       if (sig->data_size < sizeof(struct vb2_fw_preamble)) {
+               VB2_DEBUG("Didn't sign enough data\n");
+               return VB2_ERROR_PREAMBLE_SIGNED_TOO_LITTLE;
+       }
+
+       /* Verify body signature is inside the signed data */
+       if (vb2_verify_signature_inside(preamble, sig->data_size,
+                                       &preamble->body_signature)) {
+               VB2_DEBUG("Firmware body signature off end of preamble\n");
+               return VB2_ERROR_PREAMBLE_BODY_SIG_OUTSIDE;
+       }
+
+       /* Verify kernel subkey is inside the signed data */
+       if (vb2_verify_packed_key_inside(preamble, sig->data_size,
+                                        &preamble->kernel_subkey)) {
+               VB2_DEBUG("Kernel subkey off end of preamble\n");
+               return VB2_ERROR_PREAMBLE_KERNEL_SUBKEY_OUTSIDE;
+       }
+
+       /* Success */
+       return VB2_SUCCESS;
+}
+
+uint32_t vb2_kernel_get_flags(const struct vb2_kernel_preamble *preamble)
+{
+       if (preamble->header_version_minor < 2)
+               return 0;
+
+       return preamble->flags;
+}
+
+test_mockable
+vb2_error_t vb2_verify_keyblock_hash(const struct vb2_keyblock *block,
+                                    uint32_t size,
+                                    const struct vb2_workbuf *wb)
+{
+       const struct vb2_signature *sig = &block->keyblock_hash;
+       struct vb2_workbuf wblocal = *wb;
+       struct vb2_digest_context *dc;
+       uint8_t *digest;
+       uint32_t digest_size;
+
+       /* Validity check keyblock before attempting hash check of data */
+       VB2_TRY(vb2_check_keyblock(block, size, sig));
+
+       VB2_DEBUG("Checking keyblock hash...\n");
+
+       /* Digest goes at start of work buffer */
+       digest_size = vb2_digest_size(VB2_HASH_SHA512);
+       digest = vb2_workbuf_alloc(&wblocal, digest_size);
+       if (!digest)
+               return VB2_ERROR_VDATA_WORKBUF_DIGEST;
+
+       /* Hashing requires temp space for the context */
+       dc = vb2_workbuf_alloc(&wblocal, sizeof(*dc));
+       if (!dc)
+               return VB2_ERROR_VDATA_WORKBUF_HASHING;
+
+       VB2_TRY(vb2_digest_init(dc, VB2_HASH_SHA512));
+
+       VB2_TRY(vb2_digest_extend(dc, (const uint8_t *)block, sig->data_size));
+
+       VB2_TRY(vb2_digest_finalize(dc, digest, digest_size));
+
+       if (vb2_safe_memcmp(vb2_signature_data(sig), digest,
+                           digest_size) != 0) {
+               VB2_DEBUG("Invalid keyblock hash.\n");
+               return VB2_ERROR_KEYBLOCK_HASH_INVALID_IN_DEV_MODE;
+       }
+
+       /* Success */
+       return VB2_SUCCESS;
+}
+
+test_mockable
+vb2_error_t vb2_verify_kernel_preamble(struct vb2_kernel_preamble *preamble,
+                                      uint32_t size,
+                                      const struct vb2_public_key *key,
+                                      const struct vb2_workbuf *wb)
+{
+       struct vb2_signature *sig = &preamble->preamble_signature;
+       uint32_t min_size = EXPECTED_VB2_KERNEL_PREAMBLE_2_0_SIZE;
+
+       VB2_DEBUG("Verifying kernel preamble.\n");
+
+       /* Make sure it's even safe to look at the struct */
+       if(size < min_size) {
+               VB2_DEBUG("Not enough data for preamble header.\n");
+               return VB2_ERROR_PREAMBLE_TOO_SMALL_FOR_HEADER;
+       }
+       if (preamble->header_version_major !=
+           VB2_KERNEL_PREAMBLE_HEADER_VERSION_MAJOR) {
+               VB2_DEBUG("Incompatible kernel preamble header version.\n");
+               return VB2_ERROR_PREAMBLE_HEADER_VERSION;
+       }
+
+       if (preamble->header_version_minor >= 2)
+               min_size = EXPECTED_VB2_KERNEL_PREAMBLE_2_2_SIZE;
+       else if (preamble->header_version_minor == 1)
+               min_size = EXPECTED_VB2_KERNEL_PREAMBLE_2_1_SIZE;
+       if(preamble->preamble_size < min_size) {
+               VB2_DEBUG("Preamble size too small for header.\n");
+               return VB2_ERROR_PREAMBLE_TOO_SMALL_FOR_HEADER;
+       }
+       if (size < preamble->preamble_size) {
+               VB2_DEBUG("Not enough data for preamble.\n");
+               return VB2_ERROR_PREAMBLE_SIZE;
+       }
+
+       /* Check signature */
+       if (vb2_verify_signature_inside(preamble, preamble->preamble_size,
+                                       sig)) {
+               VB2_DEBUG("Preamble signature off end of preamble\n");
+               return VB2_ERROR_PREAMBLE_SIG_OUTSIDE;
+       }
+
+       /* Make sure advertised signature data sizes are valid. */
+       if (preamble->preamble_size < sig->data_size) {
+               VB2_DEBUG("Signature calculated past end of the block\n");
+               return VB2_ERROR_PREAMBLE_SIGNED_TOO_MUCH;
+       }
+
+       if (vb2_verify_data((const uint8_t *)preamble, size, sig, key, wb)) {
+               VB2_DEBUG("Preamble signature validation failed\n");
+               return VB2_ERROR_PREAMBLE_SIG_INVALID;
+       }
+
+       /* Verify we signed enough data */
+       if (sig->data_size < sizeof(struct vb2_fw_preamble)) {
+               VB2_DEBUG("Didn't sign enough data\n");
+               return VB2_ERROR_PREAMBLE_SIGNED_TOO_LITTLE;
+       }
+
+       /* Verify body signature is inside the signed data */
+       if (vb2_verify_signature_inside(preamble, sig->data_size,
+                                       &preamble->body_signature)) {
+               VB2_DEBUG("Body signature off end of preamble\n");
+               return VB2_ERROR_PREAMBLE_BODY_SIG_OUTSIDE;
+       }
+
+       /*
+        * If bootloader is present, verify it's covered by the body
+        * signature.
+        */
+       if (preamble->bootloader_size) {
+               const void *body_ptr =
+                       (const void *)(uintptr_t)preamble->body_load_address;
+               const void *bootloader_ptr =
+                       (const void *)(uintptr_t)preamble->bootloader_address;
+               if (vb2_verify_member_inside(body_ptr,
+                                            preamble->body_signature.data_size,
+                                            bootloader_ptr,
+                                            preamble->bootloader_size,
+                                            0, 0)) {
+                       VB2_DEBUG("Bootloader off end of signed data\n");
+                       return VB2_ERROR_PREAMBLE_BOOTLOADER_OUTSIDE;
+               }
+       }
+
+       /*
+        * If vmlinuz header is present, verify it's covered by the body
+        * signature.
+        */
+       if (preamble->header_version_minor >= 1 &&
+           preamble->vmlinuz_header_size) {
+               const void *body_ptr =
+                       (const void *)(uintptr_t)preamble->body_load_address;
+               const void *vmlinuz_header_ptr = (const void *)
+                       (uintptr_t)preamble->vmlinuz_header_address;
+               if (vb2_verify_member_inside(body_ptr,
+                                            preamble->body_signature.data_size,
+                                            vmlinuz_header_ptr,
+                                            preamble->vmlinuz_header_size,
+                                            0, 0)) {
+                       VB2_DEBUG("Vmlinuz header off end of signed data\n");
+                       return VB2_ERROR_PREAMBLE_VMLINUZ_HEADER_OUTSIDE;
+               }
+       }
+
+       /* Success */
+       return VB2_SUCCESS;
+}
diff --git a/firmware/2lib/2stub.c b/firmware/2lib/2stub.c
new file mode 100644 (file)
index 0000000..da754ad
--- /dev/null
@@ -0,0 +1,263 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Stub API implementations which should be implemented by the caller.
+ */
+
+#include <stdarg.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <sys/time.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "2sysincludes.h"
+
+/*****************************************************************************/
+/* General utility stubs */
+
+__attribute__((weak))
+void vb2ex_printf(const char *func, const char *fmt, ...)
+{
+#ifdef VBOOT_DEBUG
+       va_list ap;
+       va_start(ap, fmt);
+       if (func)
+               fprintf(stderr, "%s: ", func);
+       vfprintf(stderr, fmt, ap);
+       va_end(ap);
+#endif
+}
+
+__attribute__((weak))
+void vb2ex_abort(void)
+{
+       /* Stub simply exits. */
+       abort();
+}
+
+__attribute__((weak))
+uint32_t vb2ex_mtime(void)
+{
+       struct timeval tv;
+       gettimeofday(&tv, NULL);
+       return tv.tv_sec * VB2_MSEC_PER_SEC + tv.tv_usec / VB2_USEC_PER_MSEC;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_read_resource(struct vb2_context *ctx,
+                               enum vb2_resource_index index, uint32_t offset,
+                               void *buf, uint32_t size)
+{
+       VB2_DEBUG("function not implemented\n");
+       return VB2_ERROR_EX_UNIMPLEMENTED;
+}
+
+/*****************************************************************************/
+/* TPM-related stubs */
+
+__attribute__((weak))
+vb2_error_t vb2ex_tpm_clear_owner(struct vb2_context *ctx)
+{
+       VB2_DEBUG("function not implemented\n");
+       return VB2_ERROR_EX_UNIMPLEMENTED;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_tpm_set_mode(enum vb2_tpm_mode mode_val)
+{
+       VB2_DEBUG("function not implemented\n");
+       return VB2_ERROR_EX_UNIMPLEMENTED;
+}
+
+/*****************************************************************************/
+/* auxfw and EC-related stubs */
+
+__attribute__((weak))
+vb2_error_t vb2ex_ec_running_rw(int *in_rw)
+{
+       *in_rw = 0;
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_ec_jump_to_rw(void)
+{
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_ec_disable_jump(void)
+{
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_ec_hash_image(enum vb2_firmware_selection select,
+                               const uint8_t **hash, int *hash_size)
+{
+       static const uint8_t fake_hash[32] = {1, 2, 3, 4};
+
+       *hash = fake_hash;
+       *hash_size = sizeof(fake_hash);
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_ec_get_expected_image_hash(enum vb2_firmware_selection select,
+                                            const uint8_t **hash, int *hash_size)
+{
+       static const uint8_t fake_hash[32] = {1, 2, 3, 4};
+
+       *hash = fake_hash;
+       *hash_size = sizeof(fake_hash);
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_ec_update_image(enum vb2_firmware_selection select)
+{
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_ec_protect(enum vb2_firmware_selection select)
+{
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_ec_vboot_done(struct vb2_context *ctx)
+{
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_ec_battery_cutoff(void)
+{
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_auxfw_check(enum vb2_auxfw_update_severity *severity)
+{
+       *severity = VB2_AUXFW_NO_UPDATE;
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_auxfw_update(void)
+{
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_auxfw_finalize(struct vb2_context *ctx)
+{
+       return VB2_SUCCESS;
+}
+
+/*****************************************************************************/
+/* UI-related stubs */
+
+__attribute__((weak))
+const char *vb2ex_get_debug_info(struct vb2_context *ctx)
+{
+       return NULL;
+}
+
+__attribute__((weak))
+const char *vb2ex_get_firmware_log(int reset)
+{
+       return NULL;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_diag_get_storage_health(const char **out)
+{
+       *out = "mock";
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_diag_get_storage_test_log(const char **out)
+{
+       *out = "mock";
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_diag_memory_quick_test(int reset, const char **out)
+{
+       *out = "mock";
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_diag_memory_full_test(int reset, const char **out)
+{
+       *out = "mock";
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+void vb2ex_msleep(uint32_t msec)
+{
+}
+
+__attribute__((weak))
+void vb2ex_beep(uint32_t msec, uint32_t frequency)
+{
+}
+
+__attribute__((weak))
+uint32_t vb2ex_get_locale_count(void)
+{
+       return 0;
+}
+
+__attribute__((weak))
+uint32_t vb2ex_get_altfw_count(void)
+{
+       return 0;
+}
+
+__attribute__((weak))
+int vb2ex_physical_presence_pressed(void)
+{
+       return 0;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_commit_data(struct vb2_context *ctx)
+{
+       ctx->flags &= ~VB2_CONTEXT_SECDATA_FIRMWARE_CHANGED;
+       ctx->flags &= ~VB2_CONTEXT_SECDATA_KERNEL_CHANGED;
+       ctx->flags &= ~VB2_CONTEXT_NVDATA_CHANGED;
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_broken_screen_ui(struct vb2_context *ctx)
+{
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_manual_recovery_ui(struct vb2_context *ctx)
+{
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_developer_ui(struct vb2_context *ctx)
+{
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_diagnostic_ui(struct vb2_context *ctx)
+{
+       return VB2_SUCCESS;
+}
diff --git a/firmware/2lib/2stub_hwcrypto.c b/firmware/2lib/2stub_hwcrypto.c
new file mode 100644 (file)
index 0000000..87fb733
--- /dev/null
@@ -0,0 +1,43 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Stub hwcrypto API implementations which should be implemented by the caller.
+ */
+
+#include "2api.h"
+
+#ifndef X86_SHA_EXT
+__attribute__((weak))
+vb2_error_t vb2ex_hwcrypto_digest_init(enum vb2_hash_algorithm hash_alg,
+                                      uint32_t data_size)
+{
+       return VB2_ERROR_EX_HWCRYPTO_UNSUPPORTED;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_hwcrypto_digest_extend(const uint8_t *buf, uint32_t size)
+{
+       return VB2_ERROR_SHA_EXTEND_ALGORITHM;  /* Should not be called. */
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_hwcrypto_digest_finalize(uint8_t *digest,
+                                          uint32_t digest_size)
+{
+       return VB2_ERROR_SHA_FINALIZE_ALGORITHM;  /* Should not be called. */
+}
+#endif
+
+__attribute__((weak))
+vb2_error_t vb2ex_hwcrypto_rsa_verify_digest(const struct vb2_public_key *key,
+                                            const uint8_t *sig, const uint8_t *digest)
+{
+       return VB2_ERROR_EX_HWCRYPTO_UNSUPPORTED;
+}
+
+__attribute__((weak))
+vb2_error_t vb2ex_hwcrypto_modexp(const struct vb2_public_key *key,
+                                 uint8_t *inout, uint32_t *workbuf32, int exp) {
+       return VB2_ERROR_EX_HWCRYPTO_UNSUPPORTED;
+}
diff --git a/firmware/2lib/2tpm_bootmode.c b/firmware/2lib/2tpm_bootmode.c
new file mode 100644 (file)
index 0000000..81f6c40
--- /dev/null
@@ -0,0 +1,54 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Functions for updating the TPM state with the status of boot path.
+ */
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "2tpm_bootmode.h"
+
+/*
+ * Input digests for PCR extend.
+ * These are calculated as:
+ *    SHA1("|Developer_Mode||Recovery_Mode||Keyblock_Mode|").
+ * Developer_Mode can be 0 or 1.
+ * Recovery_Mode can be 0 or 1.
+ * Keyblock flags are defined in 2struct.h and assumed always 0 in recovery mode
+ * or 7 in non-recovery mode.
+ *
+ * We map them to Keyblock_Mode as follows:
+ *   -----------------------------------------
+ *   Keyblock Flags            | Keyblock Mode
+ *   -----------------------------------------
+ *   0 recovery mode           |     0
+ *   7 Normal-signed firmware  |     1
+ */
+
+const uint8_t kBootStateSHA1Digests[][VB2_SHA1_DIGEST_SIZE] = {
+       /* SHA1(0x00|0x00|0x01) */
+       {0x25, 0x47, 0xcc, 0x73, 0x6e, 0x95, 0x1f, 0xa4, 0x91, 0x98, 0x53, 0xc4,
+                       0x3a, 0xe8, 0x90, 0x86, 0x1a, 0x3b, 0x32, 0x64},
+
+       /* SHA1(0x01|0x00|0x01) */
+       {0xc4, 0x2a, 0xc1, 0xc4, 0x6f, 0x1d, 0x4e, 0x21, 0x1c, 0x73, 0x5c, 0xc7,
+                       0xdf, 0xad, 0x4f, 0xf8, 0x39, 0x11, 0x10, 0xe9},
+
+       /* SHA1(0x00|0x01|0x00) */
+       {0x62, 0x57, 0x18, 0x91, 0x21, 0x5b, 0x4e, 0xfc, 0x1c, 0xea, 0xb7, 0x44,
+                       0xce, 0x59, 0xdd, 0x0b, 0x66, 0xea, 0x6f, 0x73},
+
+       /* SHA1(0x01|0x01|0x00) */
+       {0x47, 0xec, 0x8d, 0x98, 0x36, 0x64, 0x33, 0xdc, 0x00, 0x2e, 0x77, 0x21,
+                       0xc9, 0xe3, 0x7d, 0x50, 0x67, 0x54, 0x79, 0x37},
+};
+
+const uint8_t *vb2_get_boot_state_digest(struct vb2_context *ctx)
+{
+       int index = (ctx->flags & VB2_CONTEXT_RECOVERY_MODE ? 2 : 0) +
+                       (ctx->flags & VB2_CONTEXT_DEVELOPER_MODE ? 1 : 0);
+
+       return kBootStateSHA1Digests[index];
+}
diff --git a/firmware/2lib/include/2api.h b/firmware/2lib/include/2api.h
new file mode 100644 (file)
index 0000000..1430111
--- /dev/null
@@ -0,0 +1,1641 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * APIs between calling firmware and vboot_reference
+ *
+ * General notes:
+ *
+ * TODO: split this file into a vboot_entry_points.h file which contains the
+ * entry points for the firmware to call vboot_reference, and a
+ * vboot_firmware_exports.h which contains the APIs to be implemented by the
+ * calling firmware and exported to vboot_reference.
+ *
+ * Notes:
+ *    * Assumes this code is never called in the S3 resume path.  TPM resume
+ *      must be done elsewhere, and VB2_NV_DEBUG_RESET_MODE is ignored.
+ */
+
+#ifndef VBOOT_REFERENCE_2API_H_
+#define VBOOT_REFERENCE_2API_H_
+
+#include "2constants.h"
+#include "2crypto.h"
+#include "2fw_hash_tags.h"
+#include "2gbb_flags.h"
+#include "2id.h"
+#include "2recovery_reasons.h"
+#include "2return_codes.h"
+#include "2rsa.h"
+#include "2secdata_struct.h"
+
+#define _VB2_TRY_IMPL(expr, ctx, recovery_reason, ...) do { \
+       vb2_error_t _vb2_try_rv = (expr); \
+       struct vb2_context *_vb2_try_ctx = (ctx); \
+       uint8_t _vb2_try_reason = (recovery_reason); \
+       if (_vb2_try_rv != VB2_SUCCESS) { \
+               vb2ex_printf(__func__, \
+                            "%s returned %#x\n", #expr, _vb2_try_rv); \
+               if (_vb2_try_rv >= VB2_REQUEST_END && \
+                   (_vb2_try_ctx) && \
+                   (_vb2_try_reason) != VB2_RECOVERY_NOT_REQUESTED) \
+                       vb2api_fail(_vb2_try_ctx, _vb2_try_reason, \
+                                   _vb2_try_rv); \
+               return _vb2_try_rv; \
+       } \
+} while (0)
+
+/*
+ * Evaluate an expression and return *from the caller* on failure or if an
+ * action (such as reboot) is requested.
+ *
+ * This macro supports two forms of usage:
+ * 1. VB2_TRY(expr)
+ * 2. VB2_TRY(expr, ctx, recovery_reason)
+ *
+ * When the second form is used, vb2api_fail() will be called on failure before
+ * return. Note that nvdata only holds one byte for recovery subcode, so any
+ * other more significant bytes will be truncated.
+ *
+ * @param expr                 An expression (such as a function call) of type
+ *                             vb2_error_t.
+ * @param ctx                  Vboot context.
+ * @param recovery_reason      Recovery reason passed to vb2api_fail().
+ */
+#define VB2_TRY(expr, ...) _VB2_TRY_IMPL(expr, ##__VA_ARGS__, NULL, 0)
+
+/**
+ * Check if the return value is an error.
+ *
+ * @param rv   The return value.
+ * @return True if the value is an error.
+ */
+static inline int vb2_is_error(vb2_error_t rv)
+{
+       return rv >= VB2_ERROR_BASE && rv <= VB2_ERROR_MAX;
+}
+
+/* Flags for vb2_context.
+ *
+ * Unless otherwise noted, flags are set by verified boot and may be read (but
+ * not set or cleared) by the caller.
+ */
+enum vb2_context_flags {
+
+       /*
+        * Verified boot has changed nvdata[].  Caller must save nvdata[] back
+        * to its underlying storage, then may clear this flag.
+        */
+       VB2_CONTEXT_NVDATA_CHANGED = (1 << 0),
+
+       /*
+        * Verified boot has changed secdata_firmware[].  Caller must save
+        * secdata_firmware[] back to its underlying storage, then may clear
+        * this flag.
+        */
+       VB2_CONTEXT_SECDATA_FIRMWARE_CHANGED = (1 << 1),
+
+       /* Recovery mode is requested this boot */
+       VB2_CONTEXT_RECOVERY_MODE = (1 << 2),
+
+       /* Developer mode is requested this boot */
+       VB2_CONTEXT_DEVELOPER_MODE = (1 << 3),
+
+       /*
+        * Force recovery mode due to physical user request.  Caller may set
+        * this flag when initializing the context.
+        */
+       VB2_CONTEXT_FORCE_RECOVERY_MODE = (1 << 4),
+
+       /*
+        * Force developer mode enabled.  Caller may set this flag when
+        * initializing the context.  Previously used for forcing developer
+        * mode with physical dev switch.
+        *
+        * Deprecated as part of chromium:942901.
+        */
+       VB2_CONTEXT_DEPRECATED_FORCE_DEVELOPER_MODE = (1 << 5),
+
+       /* Using firmware slot B.  If this flag is clear, using slot A. */
+       VB2_CONTEXT_FW_SLOT_B = (1 << 6),
+
+       /* RAM should be cleared by caller this boot */
+       VB2_CONTEXT_CLEAR_RAM = (1 << 7),
+
+       /* Wipeout by the app should be requested. */
+       VB2_CONTEXT_FORCE_WIPEOUT_MODE = (1 << 8),
+
+       /* Erase developer mode state if it is enabled. */
+       VB2_CONTEXT_DISABLE_DEVELOPER_MODE = (1 << 9),
+
+       /*
+        * Verified boot has changed secdata_kernel[].  Caller must save
+        * secdata_kernel[] back to its underlying storage, then may clear
+        * this flag.
+        */
+       VB2_CONTEXT_SECDATA_KERNEL_CHANGED = (1 << 10),
+
+       /*
+        * Allow kernel verification to roll forward the version in
+        * secdata_kernel[].  Caller may set this flag before calling
+        * vb2api_kernel_phase3().
+        */
+       VB2_CONTEXT_ALLOW_KERNEL_ROLL_FORWARD = (1 << 11),
+
+       /*
+        * Boot optimistically: don't touch failure counters.  Caller may set
+        * this flag when initializing the context.
+        */
+       VB2_CONTEXT_NOFAIL_BOOT = (1 << 12),
+
+       /*
+        * secdata is not ready this boot, but should be ready next boot.  It
+        * would like to reboot.  The decision whether to reboot or not must be
+        * deferred until vboot, because rebooting all the time before then
+        * could cause a device with malfunctioning secdata to get stuck in an
+        * unrecoverable crash loop.
+        */
+       VB2_CONTEXT_SECDATA_WANTS_REBOOT = (1 << 13),
+
+       /*
+        * Boot is S3->S0 resume, not S5->S0 normal boot.  Caller may set this
+        * flag when initializing the context.
+        */
+       VB2_CONTEXT_S3_RESUME = (1 << 14),
+
+       /*
+        * System supports EC software sync.  Caller may set this flag at any
+        * time before calling VbSelectAndLoadKernel().
+        */
+       VB2_CONTEXT_EC_SYNC_SUPPORTED = (1 << 15),
+
+       /*
+        * EC software sync is slow to update; warning screen should be
+        * displayed.  Caller may set this flag at any time before calling
+        * VbSelectAndLoadKernel().  Deprecated as part of chromium:1038259.
+        */
+       VB2_CONTEXT_DEPRECATED_EC_SYNC_SLOW = (1 << 16),
+
+       /*
+        * EC firmware supports early firmware selection; two EC images exist,
+        * and EC may have already verified and jumped to EC-RW prior to EC
+        * software sync.  Deprecated as part of chromium:1038259.
+        */
+       VB2_CONTEXT_DEPRECATED_EC_EFS = (1 << 17),
+
+       /*
+        * NV storage uses data format V2.  Data is size VB2_NVDATA_SIZE_V2,
+        * not VB2_NVDATA_SIZE.
+        *
+        * Caller must set this flag when initializing the context to use V2.
+        * (Vboot cannot infer the data size from the data itself, because the
+        * data provided by the caller could be uninitialized.)
+        */
+       VB2_CONTEXT_NVDATA_V2 = (1 << 18),
+
+       /*
+        * Allow vendor data to be set via the vendor data ui.
+        *
+        * Deprecated with CL:2512740.
+        */
+       VB2_CONTEXT_DEPRECATED_VENDOR_DATA_SETTABLE = (1 << 19),
+
+       /*
+        * Caller may set this before running vb2api_fw_phase1.  In this case,
+        * it means: "Display is available on this boot.  Please advertise
+        * as such to downstream vboot code and users."
+        *
+        * vboot may also set this before returning from vb2api_fw_phase1.
+        * In this case, it means: "Please initialize display so that it is
+        * available to downstream vboot code and users."  This is used when
+        * vboot encounters some internally-generated request for display
+        * support.
+        */
+       VB2_CONTEXT_DISPLAY_INIT = (1 << 20),
+
+       /*
+        * Caller may set this before running vb2api_kernel_phase1.  It means
+        * that there is no FWMP on this system, and thus default values should
+        * be used instead.
+        *
+        * Caller should *not* set this when FWMP is available but invalid.
+        */
+       VB2_CONTEXT_NO_SECDATA_FWMP = (1 << 21),
+
+       /*
+        * Enable detachable menu ui (volume up/down + power).
+        *
+        * Deprecated with CL:1975390.
+        */
+       VB2_CONTEXT_DEPRECATED_DETACHABLE_UI = (1 << 22),
+
+       /*
+        * NO_BOOT means the OS is not allowed to boot. Only relevant for EFS2.
+        */
+       VB2_CONTEXT_NO_BOOT = (1 << 23),
+
+       /*
+        * TRUSTED means EC is running an RO copy and PD isn't enabled. At
+        * least that was last known to the GSC. If EC RO is correctly behaving,
+        * it doesn't jump to RW when this flag is set.
+        */
+       VB2_CONTEXT_EC_TRUSTED = (1 << 24),
+
+       /*
+        * Boot into developer mode is allowed by FWMP or GBB flags.
+        */
+       VB2_CONTEXT_DEV_BOOT_ALLOWED = (1 << 25),
+
+       /*
+        * Boot into developer mode from external disk is allowed by nvdata,
+        * FWMP or GBB flags.
+        */
+       VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED = (1 << 26),
+
+       /*
+        * Boot into developer mode from alternate bootloader is allowed by
+        * nvdata, FWMP or GBB flags.
+        */
+       VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED = (1 << 27),
+};
+
+/* Boot mode decided in vb2api_fw_phase1.
+ *
+ * Boot mode is a constant set by verified boot and may be read (but should not
+ * be set or cleared) by the caller.
+ * The boot modes are mutually exclusive. If a boot fulfill more than one
+ * constraints of the listing boot modes, it will be set to the most important
+ * one. The priority is the same as the listing order.
+ */
+enum vb2_boot_mode {
+       /* Undefined, The boot mode is not set. */
+       VB2_BOOT_MODE_UNDEFINED = 0,
+
+       /*
+        * Manual recovery boot, regardless of dev mode state.
+        *
+        * VB2_CONTEXT_RECOVERY_MODE is set and the recovery is physically
+        * requested (a.k.a. Manual recovery).  All other recovery requests
+        * including manual recovery requested by a (compromised) host will end
+        * up with a broken screen.
+        */
+       VB2_BOOT_MODE_MANUAL_RECOVERY = 1,
+
+       /*
+        * Broken screen.
+        *
+        * If a recovery boot is not a manual recovery (a.k.a. not requested
+        * physically), the recovery is not allowed and will end up with
+        * broken screen.
+        */
+       VB2_BOOT_MODE_BROKEN_SCREEN = 2,
+
+       /*
+        * Diagnostic boot.
+        *
+        * If diagnostic boot is enabled (a.k.a. vb2api_diagnostic_ui_enabled)
+        * and the nvdata contains VB2_NV_DIAG_REQUEST from previous boot, it
+        * will boot to diagnostic mode.
+        */
+       VB2_BOOT_MODE_DIAGNOSTICS = 3,
+
+       /*
+        * Developer boot: self-signed kernel okay.
+        *
+        * The developer mode switch is set (a.k.a. VB2_CONTEXT_DEVELOPER_MODE)
+        * and we are in the developer boot mode.
+        */
+       VB2_BOOT_MODE_DEVELOPER = 4,
+
+       /* Normal boot: kernel must be verified. */
+       VB2_BOOT_MODE_NORMAL = 5,
+};
+
+/* Helper for aligning fields in vb2_context. */
+#define VB2_PAD_STRUCT3(size, align, count) \
+       uint8_t _pad##count[align - (((size - 1) % align) + 1)]
+#define VB2_PAD_STRUCT2(size, align, count) VB2_PAD_STRUCT3(size, align, count)
+#define VB2_PAD_STRUCT(size, align) VB2_PAD_STRUCT2(size, align, __COUNTER__)
+
+/*
+ * Context for firmware verification.  Pass this to all vboot APIs.
+ *
+ * Context is stored as part of vb2_shared_data, initialized with vb2api_init().
+ * Subsequent retrieval of the context object should be done by calling
+ * vb2api_reinit(), e.g. if switching firmware applications.
+ *
+ * The context struct can be seen as the "publicly accessible" portion of
+ * vb2_shared_data, and thus does not require its own magic and version fields.
+ */
+struct vb2_context {
+
+       /**********************************************************************
+        * Fields caller must initialize before calling any API functions.
+        */
+
+       /*
+        * Flags; see vb2_context_flags.  Some flags may only be set by caller
+        * prior to calling vboot functions.
+        */
+       uint64_t flags;
+
+       /*
+        * Non-volatile data.  Caller must fill this from some non-volatile
+        * location before calling vb2api_fw_phase1.  If the
+        * VB2_CONTEXT_NVDATA_CHANGED flag is set when a vb2api function
+        * returns, caller must save the data back to the non-volatile location
+        * and then clear the flag.
+        */
+       uint8_t nvdata[VB2_NVDATA_SIZE_V2];
+       VB2_PAD_STRUCT(VB2_NVDATA_SIZE_V2, 8);
+
+       /*
+        * Secure data for firmware verification stage.  Caller must fill this
+        * from some secure non-volatile location before calling
+        * vb2api_fw_phase1.  If the VB2_CONTEXT_SECDATA_FIRMWARE_CHANGED flag
+        * is set when a function returns, caller must save the data back to the
+        * secure non-volatile location and then clear the flag.
+        */
+       uint8_t secdata_firmware[VB2_SECDATA_FIRMWARE_SIZE];
+       VB2_PAD_STRUCT(VB2_SECDATA_FIRMWARE_SIZE, 8);
+
+       /**********************************************************************
+        * Fields caller must initialize before calling vb2api_kernel_phase1().
+        */
+
+       /*
+        * Secure data for kernel verification stage.  Caller must fill this
+        * from some secure non-volatile location before calling
+        * vb2api_kernel_phase1.  If the VB2_CONTEXT_SECDATA_KERNEL_CHANGED
+        * flag is set when a function returns, caller must save the data back
+        * to the secure non-volatile location and then clear the flag.
+        */
+       uint8_t secdata_kernel[VB2_SECDATA_KERNEL_MAX_SIZE];
+       VB2_PAD_STRUCT(VB2_SECDATA_KERNEL_MAX_SIZE, 8);
+
+       /*
+        * Firmware management parameters (FWMP) secure data.  Caller must fill
+        * this from some secure non-volatile location before calling
+        * vb2api_kernel_phase1.  Since FWMP is a variable-size space, caller
+        * should initially fill in VB2_SECDATA_FWMP_MIN_SIZE bytes, and call
+        * vb2_secdata_fwmp_check() to see whether more should be read.  If the
+        * VB2_CONTEXT_SECDATA_FWMP_CHANGED flag is set when a function
+        * returns, caller must save the data back to the secure non-volatile
+        * location and then clear the flag.
+        */
+       uint8_t secdata_fwmp[VB2_SECDATA_FWMP_MAX_SIZE];
+       VB2_PAD_STRUCT(VB2_SECDATA_FWMP_MAX_SIZE, 8);
+
+       /**********************************************************************
+        * Fields below added in struct version 3.1.
+        */
+
+       /*
+        * Mutually exclusive boot mode.
+        * This constant is initialized after calling vb2api_fw_phase1().
+        */
+       const enum vb2_boot_mode boot_mode;
+};
+
+/* Resource index for vb2ex_read_resource() */
+enum vb2_resource_index {
+
+       /* Google binary block */
+       VB2_RES_GBB,
+
+       /*
+        * Firmware verified boot block (keyblock+preamble).  Use
+        * VB2_CONTEXT_FW_SLOT_B to determine whether this refers to slot A or
+        * slot B; vboot will set that flag to the proper state before reading
+        * the vblock.
+        */
+       VB2_RES_FW_VBLOCK,
+
+       /*
+        * Kernel verified boot block (keyblock+preamble) for the current
+        * kernel partition.  Used only by vb2api_kernel_load_vblock().
+        * Contents are allowed to change between calls to that function (to
+        * allow multiple kernels to be examined).
+        */
+       VB2_RES_KERNEL_VBLOCK,
+};
+
+/* Digest ID for vbapi_get_pcr_digest() */
+enum vb2_pcr_digest {
+       /* Digest based on current developer and recovery mode flags */
+       BOOT_MODE_PCR,
+
+       /* SHA-256 hash digest of HWID, from GBB */
+       HWID_DIGEST_PCR,
+};
+
+/******************************************************************************
+ * APIs provided by verified boot.
+ *
+ * At a high level, call functions in the order described below.  After each
+ * call, examine vb2_context.flags to determine whether nvdata or secdata
+ * needs to be written.
+ *
+ * If you need to cause the boot process to fail at any point, call
+ * vb2api_fail().  Then check vb2_context.flags to see what data needs to be
+ * written.  Then reboot.
+ *
+ *     Load nvdata from wherever you keep it.
+ *
+ *     Load secdata_firmware from wherever you keep it.
+ *
+ *             If it wasn't there at all (for example, this is the first boot
+ *             of a new system in the factory), call
+ *             vb2api_secdata_firmware_create() to initialize the data.
+ *
+ *             If access to your storage is unreliable (reads/writes may
+ *             contain corrupt data), you may call
+ *             vb2api_secdata_firmware_check() to determine if the data was
+ *             valid, and retry reading if it wasn't.  (In that case, you
+ *             should also read back and check the data after any time you
+ *             write it, to make sure it was written correctly.)
+ *
+ *     Call vb2api_fw_phase1().  At present, this nominally decides whether
+ *     recovery mode is needed this boot.
+ *
+ *     Call vb2api_fw_phase2().  At present, this nominally decides which
+ *     firmware slot will be attempted (A or B).
+ *
+ *     Call vb2api_fw_phase3().  At present, this nominally verifies the
+ *     firmware keyblock and preamble.
+ *
+ *     Lock down wherever you keep secdata_firmware.  It should no longer be
+ *     writable this boot.
+ *
+ *     Verify the hash of each section of code/data you need to boot the RW
+ *     firmware.  For each section:
+ *
+ *             Call vb2_init_hash() to see if the hash exists.
+ *
+ *             Load the data for the section.  Call vb2_extend_hash() on the
+ *             data as you load it.  You can load it all at once and make one
+ *             call, or load and hash-extend a block at a time.
+ *
+ *             Call vb2_check_hash() to see if the hash is valid.
+ *
+ *                     If it is valid, you may use the data and/or execute
+ *                     code from that section.
+ *
+ *                     If the hash was invalid, you must reboot.
+ *
+ * At this point, firmware verification is done, and vb2_context contains the
+ * kernel key needed to verify the kernel.  That context should be preserved
+ * and passed on to kernel selection.  The kernel selection process may be
+ * done by the same firmware image, or may be done by the RW firmware.  The
+ * recommended order is:
+ *
+ *     Load secdata_kernel from wherever you keep it.
+ *
+ *             If it wasn't there at all (for example, this is the first boot
+ *             of a new system in the factory), call
+ *             vb2api_secdata_kernel_create() to initialize the data.
+ *
+ *             If access to your storage is unreliable (reads/writes may
+ *             contain corrupt data), you may call
+ *             vb2api_secdata_kernel_check() to determine if the data was
+ *             valid, and retry reading if it wasn't.  (In that case, you
+ *             should also read back and check the data after any time you
+*              write it, to make sure it was written correctly.)
+ *
+ *     Call vb2api_kernel_phase1().  At present, this decides which key to
+ *     use to verify kernel data - the recovery key from the GBB, or the
+ *     kernel subkey from the firmware verification stage.
+ *
+ *     Kernel phase 2 is finding loading, and verifying the kernel partition.
+ *
+ *     Find a boot device (you're on your own here).
+ *
+ *     Call vb2api_load_kernel_vblock() for each kernel partition on the
+ *     boot device, until one succeeds.
+ *
+ *     When that succeeds, call vb2api_get_kernel_size() to determine where
+ *     the kernel is located in the stream and how big it is.  Load or map
+ *     the kernel.  (Again, you're on your own.  This is the responsibility of
+ *     the caller so that the caller can choose whether to allocate a buffer,
+ *     load the kernel data into a predefined area of RAM, or directly map a
+ *     kernel file into the address space.  Note that technically it doesn't
+ *     matter whether the kernel data is even in the same file or stream as
+ *     the vblock, as long as the caller loads the right data.
+ *
+ *     Call vb2api_verify_kernel_data() on the kernel data.
+ *
+ *     If you ran out of kernels before finding a good one, call vb2api_fail()
+ *     with an appropriate recovery reason.
+ *
+ *     Set the VB2_CONTEXT_ALLOW_KERNEL_ROLL_FORWARD flag if the current
+ *     kernel partition has the successful flag (that is, it's already known
+ *     or assumed to be a functional kernel partition).
+ *
+ *     Call vb2api_kernel_phase3().  This cleans up from kernel verification
+ *     and updates the secure data if needed.
+ *
+ *     Lock down wherever you keep secdata_kernel.  It should no longer be
+ *     writable this boot.
+ */
+
+/**
+ * Initialize verified boot data structures.
+ *
+ * Needs to be called once per boot, before using any API functions that
+ * accept a vb2_context object.  Sets up the vboot work buffer, as well as
+ * vb2_shared_data and vb2_context.  A pointer to the context object is
+ * written to ctxptr.  After transitioning between different firmware
+ * applications, or any time the context pointer is lost, vb2api_reinit()
+ * should be used to restore access to the context and data on the workbuf.
+ *
+ * If the workbuf needs to be relocated, call vb2api_relocate() instead
+ * of copying memory manually.
+ *
+ * @param workbuf      Workbuf memory location to initialize
+ * @param size         Size of workbuf being initialized
+ * @param ctxptr       Pointer to a context pointer to be filled in
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2api_init(void *workbuf, uint32_t size,
+                       struct vb2_context **ctxptr);
+
+/**
+ * Reinitialize vboot data structures.
+ *
+ * After transitioning between different firmware applications, or any time the
+ * context pointer is lost, this function should be called to restore access to
+ * the workbuf.  A pointer to the context object is written to ctxptr.  Returns
+ * an error if the vboot work buffer is inconsistent.
+ *
+ * If the workbuf needs to be relocated, call vb2api_relocate() instead
+ * of copying memory manually.
+ *
+ * @param workbuf      Workbuf memory location to check
+ * @param ctxptr       Pointer to a context pointer to be filled in
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2api_reinit(void *workbuf, struct vb2_context **ctxptr);
+
+/**
+ * Relocate vboot data structures.
+ *
+ * Move the vboot work buffer from one memory location to another, and expand
+ * or contract the workbuf to fit.  The target memory location may be the same
+ * as the original (used for a "resize" operation), and it is safe to call this
+ * function with overlapping memory regions.
+ *
+ * A pointer to the context object is written to ctxptr.  Returns an error if
+ * the vboot work buffer is inconsistent, or if the new memory space is too
+ * small to contain the work buffer.
+ *
+ * @param new_workbuf  Target workbuf memory location
+ * @param cur_workbuf  Original workbuf memory location to relocate
+ * @param size         Target size of relocated workbuf
+ * @param ctxptr       Pointer to a context pointer to be filled in
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2api_relocate(void *new_workbuf, const void *cur_workbuf,
+                           uint32_t size, struct vb2_context **ctxptr);
+
+/**
+ * Export "VBSD" vboot1 data structure.
+ *
+ * Copy relevant fields from vboot2 data structures to VbSharedDataHeader
+ * format.  Takes a pointer to the memory space to be filled in.  Expects
+ * the memory available to be of size VB2_VBSD_SIZE.
+ *
+ * @param ctx          Context pointer
+ * @param dest         Target memory to store VbSharedDataHeader
+ */
+void vb2api_export_vbsd(struct vb2_context *ctx, void *dest);
+
+/**
+ * Check the validity of firmware secure storage context.
+ *
+ * Checks version and CRC.
+ *
+ * @param ctx          Context pointer
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2api_secdata_firmware_check(struct vb2_context *ctx);
+
+/**
+ * Create fresh data in firmware secure storage context.
+ *
+ * Use this only when initializing the secure storage context on a new machine
+ * the first time it boots.  Do NOT simply use this if
+ * vb2api_secdata_firmware_check() (or any other API in this library) fails;
+ * that could allow the secure data to be rolled back to an insecure state.
+ *
+ * @param ctx          Context pointer
+ * @return size of created firmware secure storage data in bytes
+ */
+uint32_t vb2api_secdata_firmware_create(struct vb2_context *ctx);
+
+/**
+ * Check the validity of kernel secure storage context (ctx->secdata_kernel).
+ *
+ * Checks version, UID, and CRC.
+ *
+ * @param ctx          Context pointer
+ * @param size         (IN) Size of data to be checked
+ *                     (OUT) Expected size of data
+ * @return VB2_SUCCESS, or non-zero error code if error. If data is missing,
+ *        it returns VB2_ERROR_SECDATA_KERNEL_INCOMPLETE and informs the caller
+ *        of the expected size.
+ */
+vb2_error_t vb2api_secdata_kernel_check(struct vb2_context *ctx, uint8_t *size);
+
+/**
+ * Create fresh data in kernel secure storage context.
+ *
+ * Use this only when initializing the secure storage context on a new machine
+ * the first time it boots.  Do NOT simply use this if
+ * vb2api_secdata_kernel_check() (or any other API in this library) fails; that
+ * could allow the secure data to be rolled back to an insecure state.
+ *
+ * vb2api_secdata_kernel_create always creates secdata kernel using the latest
+ * revision.
+ *
+ * @param ctx          Context pointer
+ * @return size of created kernel secure storage data in bytes
+ */
+uint32_t vb2api_secdata_kernel_create(struct vb2_context *ctx);
+uint32_t vb2api_secdata_kernel_create_v0(struct vb2_context *ctx);
+
+/**
+ * Create an empty Firmware Management Parameters (FWMP) in secure storage
+ * context.
+ *
+ * @param ctx          Context pointer
+ * @return size of created FWMP secure storage data in bytes
+ */
+uint32_t vb2api_secdata_fwmp_create(struct vb2_context *ctx);
+
+/**
+ * Check the validity of firmware management parameters (FWMP) space.
+ *
+ * Checks size, version, and CRC.  If the struct size is larger than the size
+ * passed in, the size pointer is set to the expected full size of the struct,
+ * and VB2_ERROR_SECDATA_FWMP_INCOMPLETE is returned.  The caller should
+ * re-read the returned number of bytes, and call this function again.
+ *
+ * @param ctx          Context pointer
+ * @param size         Amount of struct which has been read
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2api_secdata_fwmp_check(struct vb2_context *ctx, uint8_t *size);
+
+/**
+ * Report firmware failure to vboot.
+ *
+ * If the failure occurred after choosing a firmware slot, and the other
+ * firmware slot is not known-bad, try the other firmware slot after reboot.
+ *
+ * If the failure occurred before choosing a firmware slot, or both slots have
+ * failed in successive boots, request recovery.
+ *
+ * This may be called before vb2api_phase1() to indicate errors in the boot
+ * process prior to the start of vboot.  On return, the calling firmware should
+ * check for updates to secdata and/or nvdata, then reboot.
+ *
+ * @param reason       Recovery reason
+ * @param subcode      Recovery subcode
+ */
+void vb2api_fail(struct vb2_context *ctx, uint8_t reason, uint8_t subcode);
+
+/**
+ * Firmware selection, phase 1.
+ *
+ * If the returned error is VB2_ERROR_API_PHASE1_RECOVERY, the calling firmware
+ * should jump directly to recovery-mode firmware without rebooting.
+ *
+ * For other errors, the calling firmware should check for updates to secdata
+ * and/or nvdata, then reboot.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2api_fw_phase1(struct vb2_context *ctx);
+
+/**
+ * Firmware selection, phase 2.
+ *
+ * On error, the calling firmware should check for updates to secdata and/or
+ * nvdata, then reboot.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2api_fw_phase2(struct vb2_context *ctx);
+
+/**
+ * Firmware selection, phase 3.
+ *
+ * On error, the calling firmware should check for updates to secdata and/or
+ * nvdata, then reboot.
+ *
+ * On success, the calling firmware should lock down secdata before continuing
+ * with the boot process.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2api_fw_phase3(struct vb2_context *ctx);
+
+/**
+ * Initialize hashing data for the specified tag.
+ *
+ * @param ctx          Vboot context
+ * @param tag          Tag to start hashing (enum vb2_hash_tag)
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2api_init_hash(struct vb2_context *ctx, uint32_t tag);
+
+/**
+ * Extend the hash started by vb2api_init_hash() with additional data.
+ *
+ * (This is the same for both old and new style structs.)
+ *
+ * @param ctx          Vboot context
+ * @param buf          Data to hash
+ * @param size         Size of data in bytes
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2api_extend_hash(struct vb2_context *ctx, const void *buf,
+                              uint32_t size);
+
+/**
+ * Check the hash value started by vb2api_init_hash().
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+int vb2api_check_hash(struct vb2_context *ctx);
+
+/**
+ * Check the hash value started by vb2api_init_hash() while retrieving
+ * calculated digest.
+ *
+ * @param ctx                  Vboot context
+ * @param digest_out           optional pointer to buffer to store digest
+ * @param digest_out_size      optional size of buffer to store digest
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2api_check_hash_get_digest(struct vb2_context *ctx,
+                                        void *digest_out,
+                                        uint32_t digest_out_size);
+
+/**
+ * Get a PCR digest
+ *
+ * @param ctx          Vboot context
+ * @param which_digest PCR index of the digest
+ * @param dest         Destination where the digest is copied.
+ *                     Recommended size is VB2_PCR_DIGEST_RECOMMENDED_SIZE.
+ * @param dest_size    IN: size of the buffer pointed by dest
+ *                     OUT: size of the copied digest
+ * @return VB2_SUCCESS, or error code on error
+ */
+vb2_error_t vb2api_get_pcr_digest(struct vb2_context *ctx,
+                                 enum vb2_pcr_digest which_digest,
+                                 uint8_t *dest, uint32_t *dest_size);
+
+/**
+ * Prepare for kernel verification stage.
+ *
+ * Must be called before other vb2api kernel functions.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2api_kernel_phase1(struct vb2_context *ctx);
+
+/**
+ * Load the verified boot block (vblock) for a kernel.
+ *
+ * This function may be called multiple times, to load and verify the
+ * vblocks from multiple kernel partitions.
+ *
+ * @param ctx          Vboot context
+ * @param stream       Kernel stream
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2api_load_kernel_vblock(struct vb2_context *ctx);
+
+/**
+ * Get the size and offset of the kernel data for the most recent vblock.
+ *
+ * Valid after a successful call to vb2api_load_kernel_vblock().
+ *
+ * @param ctx          Vboot context
+ * @param offset_ptr   Destination for offset in bytes of kernel data as
+ *                     reported by vblock.
+ * @param size_ptr      Destination for size of kernel data in bytes.
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2api_get_kernel_size(struct vb2_context *ctx,
+                                  uint32_t *offset_ptr, uint32_t *size_ptr);
+
+/**
+ * Verify kernel data using the previously loaded kernel vblock.
+ *
+ * Valid after a successful call to vb2api_load_kernel_vblock().  This allows
+ * the caller to load or map the kernel data, as appropriate, and pass the
+ * pointer to the kernel data into vboot.
+ *
+ * @param ctx          Vboot context
+ * @param buf          Pointer to kernel data
+ * @param size         Size of kernel data in bytes
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2api_verify_kernel_data(struct vb2_context *ctx, const void *buf,
+                                     uint32_t size);
+
+/**
+ * Clean up after kernel verification.
+ *
+ * Call this after successfully loading a vblock and verifying kernel data,
+ * or if you've run out of boot devices and/or kernel partitions.
+ *
+ * This cleans up intermediate data structures in the vboot context, and
+ * updates the version in the secure data if necessary.
+ */
+vb2_error_t vb2api_kernel_phase3(struct vb2_context *ctx);
+
+/**
+ * Read the hardware ID from the GBB, and store it onto the given buffer.
+ *
+ * @param ctx          Vboot context.
+ * @param hwid         Buffer to store HWID, which will be null-terminated.
+ * @param size         Maximum size of HWID including null terminator.  HWID
+ *                     length may not exceed 256 (VB2_GBB_HWID_MAX_SIZE), so
+ *                     this value is suggested.  If size is too small, then
+ *                     VB2_ERROR_INVALID_PARAMETER is returned.  Actual size
+ *                     of the output HWID string is returned in this pointer,
+ *                     also including null terminator.
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2api_gbb_read_hwid(struct vb2_context *ctx, char *hwid,
+                                uint32_t *size);
+
+/**
+ * Retrieve current GBB flags.
+ *
+ * See enum vb2_gbb_flag in 2gbb_flags.h for a list of all GBB flags.
+ *
+ * @param ctx          Vboot context.
+ *
+ * @return vb2_gbb_flags_t representing current GBB flags.
+ */
+vb2_gbb_flags_t vb2api_gbb_get_flags(struct vb2_context *ctx);
+
+/**
+ * Get the size of the signed firmware body. This is only legal to call after
+ * vb2api_fw_phase3() has returned successfully, and will return 0 otherwise.
+ *
+ * @param ctx          Vboot context
+ *
+ * @return The firmware body size in bytes (or 0 if called too early).
+ */
+uint32_t vb2api_get_firmware_size(struct vb2_context *ctx);
+
+/**
+ * Check if this firmware was bundled with the well-known public developer key
+ * set (more specifically, checks the recovery key in recovery mode and the
+ * kernel subkey from the firmware preamble in other modes). This is a best
+ * effort check that could be misled by a specifically crafted key.
+ *
+ * May only be called after vb2api_kernel_phase1() has run.
+ *
+ * @param ctx          Vboot context
+ *
+ * @return 1 for developer keys, 0 for any others.
+ */
+int vb2api_is_developer_signed(struct vb2_context *ctx);
+
+/**
+ * Return the current kernel rollback version from secdata.
+ *
+ * @param ctx          Vboot context
+ *
+ * @return The rollback version number.
+ */
+uint32_t vb2api_get_kernel_rollback_version(struct vb2_context *ctx);
+
+/**
+ * If no display is available, set DISPLAY_REQUEST in nvdata.
+ *
+ * @param ctx           Vboot2 context
+ * @return 1 if DISPLAY_REQUEST is set and a reboot is required, or 0 otherwise.
+ */
+int vb2api_need_reboot_for_display(struct vb2_context *ctx);
+
+/**
+ * Get the current recovery reason.
+ *
+ * See enum vb2_nv_recovery in 2recovery_reasons.h.
+ *
+ * @param ctx          Vboot context
+ * @return Current recovery reason.
+ */
+uint32_t vb2api_get_recovery_reason(struct vb2_context *ctx);
+
+/**
+ * Get the current locale id from nvdata.
+ *
+ * @param ctx          Vboot context
+ * @return Current locale id.
+ */
+uint32_t vb2api_get_locale_id(struct vb2_context *ctx);
+
+/**
+ * Set the locale id in nvdata.
+ *
+ * @param ctx          Vboot context
+ * @param locale_id    The locale id to be set
+ */
+void vb2api_set_locale_id(struct vb2_context *ctx, uint32_t locale_id);
+
+/**
+ * Whether phone recovery functionality is enabled or not.
+ *
+ * @param ctx          Vboot context
+ * @return 1 if enabled, 0 if disabled.
+ */
+int vb2api_phone_recovery_enabled(struct vb2_context *ctx);
+
+/**
+ * Whether phone recovery instructions in recovery UI are enabled or not.
+ *
+ * @param ctx          Vboot context
+ * @return 1 if enabled, 0 if disabled.
+ */
+int vb2api_phone_recovery_ui_enabled(struct vb2_context *ctx);
+
+/**
+ * Whether diagnostic UI functionality is enabled or not.
+ *
+ * @param ctx          Vboot context
+ * @return 1 if enabled, 0 if disabled.
+ */
+int vb2api_diagnostic_ui_enabled(struct vb2_context *ctx);
+
+/* Default boot target in developer mode. */
+enum vb2_dev_default_boot_target {
+       /* Default to boot from internal disk. */
+       VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL = 0,
+
+       /* Default to boot from external disk. */
+       VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL = 1,
+
+       /* Default to boot altfw. */
+       VB2_DEV_DEFAULT_BOOT_TARGET_ALTFW = 2,
+};
+
+/**
+ * Get the default boot target in developer mode. This function must be called
+ * after vb2api_kernel_phase1.
+ *
+ * @param ctx          Vboot context
+ * @return The developer mode default boot target.
+ */
+enum vb2_dev_default_boot_target vb2api_get_dev_default_boot_target(
+       struct vb2_context *ctx);
+
+/**
+ * Whether to use short delay instead of the normal delay in developer screens.
+ *
+ * @param ctx          Vboot context
+ * @return 1 for short delay and 0 otherwise.
+ */
+int vb2api_use_short_dev_screen_delay(struct vb2_context *ctx);
+
+/**
+ * Request to enable developer mode.
+ *
+ * Enables the developer flag in vb2_context firmware secdata.  Note that
+ * modified secdata must be saved for change to apply on reboot.
+ *
+ * NOTE: Doesn't update the LAST_BOOT_DEVELOPER secdata flag.  That should be
+ * done on the next boot.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS if success; error if enabling developer mode is not
+ * allowed.
+ */
+vb2_error_t vb2api_enable_developer_mode(struct vb2_context *ctx);
+
+/**
+ * Request to disable developer mode by setting VB2_NV_DIAG_REQUEST.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS if success; other errors if the check of
+ * VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON failed.
+ */
+vb2_error_t vb2api_disable_developer_mode(struct vb2_context *ctx);
+
+/**
+ * Request diagnostics by setting VB2_NV_DIAG_REQUEST.
+ *
+ * @param ctx          Vboot context
+ */
+void vb2api_request_diagnostics(struct vb2_context *ctx);
+
+/*****************************************************************************/
+/* APIs provided by the caller to verified boot */
+
+/**
+ * Read a verified boot resource.
+ *
+ * @param ctx          Vboot context
+ * @param index                Resource index to read
+ * @param offset       Byte offset within resource to start at
+ * @param buf          Destination for data
+ * @param size         Amount of data to read
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2ex_read_resource(struct vb2_context *ctx,
+                               enum vb2_resource_index index, uint32_t offset,
+                               void *buf, uint32_t size);
+
+/**
+ * Print debug output.
+ *
+ * This should work like printf().  If func!=NULL, it will be a string with
+ * the current function name; that can be used to generate prettier debug
+ * output.  If func==NULL, don't print any extra header/trailer so that this
+ * can be used to composite a bigger output string from several calls - for
+ * example, when doing a hex dump.
+ *
+ * @param func         Function name generating output, or NULL.
+ * @param fmt          Printf format string
+ */
+__attribute__((format(printf, 2, 3)))
+void vb2ex_printf(const char *func, const char *fmt, ...);
+
+/**
+ * Initialize the hardware crypto engine to calculate a block-style digest.
+ *
+ * @param hash_alg     Hash algorithm to use
+ * @param data_size    Expected total size of data to hash
+ * @return VB2_SUCCESS, or non-zero error code (HWCRYPTO_UNSUPPORTED not fatal).
+ */
+vb2_error_t vb2ex_hwcrypto_digest_init(enum vb2_hash_algorithm hash_alg,
+                                      uint32_t data_size);
+
+/**
+ * Extend the hash in the hardware crypto engine with another block of data.
+ *
+ * @param buf          Next data block to hash
+ * @param size         Length of data block in bytes
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2ex_hwcrypto_digest_extend(const uint8_t *buf, uint32_t size);
+
+/**
+ * Finalize the digest in the hardware crypto engine and extract the result.
+ *
+ * @param digest       Destination buffer for resulting digest
+ * @param digest_size  Length of digest buffer in bytes
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2ex_hwcrypto_digest_finalize(uint8_t *digest,
+                                          uint32_t digest_size);
+
+/**
+ * Verify a RSA PKCS1.5 signature in hardware crypto engine
+ * against an expected hash digest.
+ *
+ * @param key          Key to use in signature verification
+ * @param sig          Signature to verify (destroyed in process)
+ * @param digest       Digest of signed data
+ * @return VB2_SUCCESS, or non-zero error code (HWCRYPTO_UNSUPPORTED not fatal).
+ */
+vb2_error_t vb2ex_hwcrypto_rsa_verify_digest(const struct vb2_public_key *key,
+                                            const uint8_t *sig,
+                                            const uint8_t *digest);
+
+/**
+ * Calculate modexp using hardware crypto engine.
+ *
+ * @param key          Key to use in signing
+ * @param inout                Input and output big-endian byte array
+ * @param workbuf32    Work buffer; caller must verify this is
+ *                     (3 * key->arrsize) elements long.
+ * @param exp          RSA public exponent: either 65537 (F4) or 3
+ * @return VB2_SUCCESS or HWCRYPTO_UNSUPPORTED.
+ */
+vb2_error_t vb2ex_hwcrypto_modexp(const struct vb2_public_key *key,
+                                 uint8_t *inout,
+                                 uint32_t *workbuf32, int exp);
+
+/*
+ * Abort vboot flow due to a failed assertion or broken assumption.
+ *
+ * Likely due to caller misusing vboot (e.g. calling API functions
+ * out-of-order, filling in vb2_context fields inappropriately).
+ * Implementation should reboot or halt the machine, or fall back to some
+ * alternative boot flow.  Retrying vboot is unlikely to succeed.
+ */
+void vb2ex_abort(void);
+
+/**
+ * Commit any pending data to disk.
+ *
+ * Commit nvdata and secdata spaces if modified.  Normally this should be
+ * performed after vboot has completed executing and control has been passed
+ * back to the caller.  However, in certain kernel verification cases (e.g.
+ * right before attempting to boot an OS; from a UI screen which requires
+ * user-initiated shutdown; just prior to triggering battery cut-off), the
+ * caller may not get a chance to commit this data.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2ex_commit_data(struct vb2_context *ctx);
+
+/*****************************************************************************/
+/* TPM functionality */
+
+/**
+ * Initialize the TPM.
+ *
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2ex_tpm_init(void);
+
+/**
+ * Close and open the TPM.
+ *
+ * This is needed for running more complex commands at user level, such as
+ * TPM_TakeOwnership, since the TPM device can be opened only by one process at
+ * a time.
+ *
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2ex_tpm_close(void);
+vb2_error_t vb2ex_tpm_open(void);
+
+/**
+ * Send request to TPM and receive response
+ *
+ * Send a request_length-byte request to the TPM and receive a response.  On
+ * input, response_length is the size of the response buffer in bytes.  On
+ * exit, response_length is set to the actual received response length in
+ * bytes.
+ *
+ * @param request              Pointer to request buffer
+ * @param request_length       Number of bytes to send
+ * @param response             Pointer to response buffer
+ * @param response_length      Size of response buffer; on return,
+ *                             set to number of received bytes
+ * @return TPM_SUCCESS, or non-zero if error.
+ */
+uint32_t vb2ex_tpm_send_recv(const uint8_t *request, uint32_t request_length,
+                            uint8_t *response, uint32_t *response_length);
+
+#ifdef CHROMEOS_ENVIRONMENT
+
+/**
+ * Obtain cryptographically secure random bytes.
+ *
+ * This function is used to generate random nonces for TPM auth sessions for
+ * example. As an implication, the generated random bytes should not be
+ * predictable for a TPM communication interception attack. This implies a
+ * local source of randomness should be used, i.e. this should not be wired to
+ * the TPM RNG directly. Otherwise, an attacker with communication interception
+ * abilities could launch replay attacks by reusing previous nonces.
+ *
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2ex_tpm_get_random(uint8_t *buf, uint32_t length);
+
+#endif  /* CHROMEOS_ENVIRONMENT */
+
+/* Modes for vb2ex_tpm_set_mode. */
+enum vb2_tpm_mode {
+       /*
+        * TPM is enabled tentatively, and may be set to either
+        * ENABLED or DISABLED mode.
+        */
+       VB2_TPM_MODE_ENABLED_TENTATIVE = 0,
+
+       /* TPM is enabled, and mode may not be changed. */
+       VB2_TPM_MODE_ENABLED = 1,
+
+       /* TPM is disabled, and mode may not be changed. */
+       VB2_TPM_MODE_DISABLED = 2,
+};
+
+/**
+ * Set the current TPM mode value, and validate that it was changed.  If one
+ * of the following occurs, the function call fails:
+ *   - TPM does not understand the instruction (old version)
+ *   - TPM has already left the TpmModeEnabledTentative mode
+ *   - TPM responds with a mode other than the requested mode
+ *   - Some other communication error occurs
+ *  Otherwise, the function call succeeds.
+ *
+ * @param mode_val       Desired TPM mode to set.  May be one of ENABLED
+ *                       or DISABLED from vb2_tpm_mode enum.
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2ex_tpm_set_mode(enum vb2_tpm_mode mode_val);
+
+/**
+ * Clear the TPM owner.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2ex_tpm_clear_owner(struct vb2_context *ctx);
+
+/*****************************************************************************/
+/* Auxiliary firmware (auxfw) */
+
+/**
+ * Sync all auxiliary firmware to the expected versions.
+ *
+ * This function will first check if an auxfw update is needed and
+ * what the "severity" of that update is (i.e., if any auxfw devices
+ * exist and the relative quickness of updating it.  If the update is
+ * deemed slow, it may display a screen to notify the user.  The
+ * platform is then instructed to perform the update.  Finally, an EC
+ * reboot to its RO section is performed to ensure that auxfw devices
+ * are also reset and running the new firmware.
+ *
+ * @param ctx           Vboot2 context
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2api_auxfw_sync(struct vb2_context *ctx);
+
+/*
+ * severity levels for an auxiliary firmware update request
+ */
+enum vb2_auxfw_update_severity {
+       /* no update needed and no protection needed */
+       VB2_AUXFW_NO_DEVICE = 0,
+       /* no update needed */
+       VB2_AUXFW_NO_UPDATE = 1,
+       /* update needed, can be done quickly */
+       VB2_AUXFW_FAST_UPDATE = 2,
+       /* update needed, "this would take a while..." */
+       VB2_AUXFW_SLOW_UPDATE = 3,
+};
+
+/*
+ * Check if any auxiliary firmware needs updating.
+ *
+ * This is called after the EC has been updated and is intended to
+ * version-check additional firmware blobs such as TCPCs.
+ *
+ * @param severity     return parameter for health of auxiliary firmware
+ *                     (see vb2_auxfw_update_severity above)
+ * @return VBERROR_... error, VB2_SUCCESS on success.
+ */
+vb2_error_t vb2ex_auxfw_check(enum vb2_auxfw_update_severity *severity);
+
+/*
+ * Perform auxiliary firmware update(s).
+ *
+ * This is called after the EC has been updated and is intended to
+ * update additional firmware blobs such as TCPCs.
+ *
+ * @return VBERROR_... error, VB2_SUCCESS on success.
+ */
+vb2_error_t vb2ex_auxfw_update(void);
+
+/*
+ * Notify client that vboot is done with auxfw.
+ *
+ * If auxfw sync was successful, this will be called at the end so that
+ * the client may perform actions that require the auxfw to be in its
+ * final state.  This may include protecting the communcations tunnels that
+ * allow auxiliary firmware updates from the OS.
+ *
+ * @param ctx          Vboot context
+ * @return VBERROR_... error, VB2_SUCCESS on success.
+ */
+vb2_error_t vb2ex_auxfw_finalize(struct vb2_context *ctx);
+
+/*****************************************************************************/
+/* Embedded controller (EC) */
+
+/*
+ * Firmware selection type for EC software sync logic.  Note that we store
+ * these in a uint32_t because enum maps to int, which isn't fixed-size.
+ */
+enum vb2_firmware_selection {
+       /* Read only firmware for normal or developer path. */
+       VB_SELECT_FIRMWARE_READONLY = 3,
+       /* Rewritable EC firmware currently set active */
+       VB_SELECT_FIRMWARE_EC_ACTIVE = 4,
+       /* Rewritable EC firmware currently not set active thus updatable */
+       VB_SELECT_FIRMWARE_EC_UPDATE = 5,
+       /* Keep this at the end */
+       VB_SELECT_FIRMWARE_COUNT,
+};
+
+/**
+ * Sync the Embedded Controller device to the expected version.
+ *
+ * This function will check if EC software sync is allowed, and if it
+ * is, it will compare the expected image hash to the actual image
+ * hash.  If they are the same, the EC will simply jump to its RW
+ * firwmare.  Otherwise, the specified flash image will be updated to
+ * the new version, and the EC will reboot into its new firmware.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2api_ec_sync(struct vb2_context *ctx);
+
+/**
+ * Check if the EC is currently running rewritable code.
+ *
+ * If the EC is in RO code, sets *in_rw=0.
+ * If the EC is in RW code, sets *in_rw non-zero.
+ * If the current EC image is unknown, returns error. */
+vb2_error_t vb2ex_ec_running_rw(int *in_rw);
+
+/**
+ * Request the EC jump to its rewritable code.  If successful, returns when the
+ * EC has booting its RW code far enough to respond to subsequent commands.
+ * Does nothing if the EC is already in its rewritable code.
+ */
+vb2_error_t vb2ex_ec_jump_to_rw(void);
+
+/**
+ * Tell the EC to refuse another jump until it reboots. Subsequent calls to
+ * vb2ex_ec_jump_to_rw() in this boot will fail.
+ */
+vb2_error_t vb2ex_ec_disable_jump(void);
+
+/**
+ * Read the SHA-256 hash of the selected EC image.
+ *
+ * @param select    Image to get hash of. RO or RW.
+ * @param hash      Pointer to the hash.
+ * @param hash_size Pointer to the hash size.
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2ex_ec_hash_image(enum vb2_firmware_selection select,
+                               const uint8_t **hash, int *hash_size);
+
+/**
+ * Read the SHA-256 hash of the expected contents of the EC image associated
+ * with the main firmware specified by the "select" argument.
+ *
+ * @param select       Image to get expected hash for (RO or RW).
+ * @param hash         Pointer to the hash.
+ * @param hash_size    Pointer to the hash size (in bytes).
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2ex_ec_get_expected_image_hash(enum vb2_firmware_selection select,
+                                            const uint8_t **hash,
+                                            int *hash_size);
+
+/**
+ * Update the selected EC image to the expected version.
+ *
+ * @param select       Image to get expected hash for (RO or RW).
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2ex_ec_update_image(enum vb2_firmware_selection select);
+
+/**
+ * Lock the EC code to prevent updates until the EC is rebooted.
+ * Subsequent calls to vb2ex_ec_update_image() with the same region this
+ * boot will fail.
+ *
+ * @param select       Image to get expected hash for (RO or RW).
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2ex_ec_protect(enum vb2_firmware_selection select);
+
+/**
+ * Perform EC post-verification / updating / jumping actions.
+ *
+ * This routine is called to perform certain actions that must wait until
+ * after the EC resides in its `final` image (the image the EC will
+ * run for the duration of boot). These actions include verifying that
+ * enough power is available to continue with boot.
+ *
+ * @param ctx          Pointer to vboot context.
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2ex_ec_vboot_done(struct vb2_context *ctx);
+
+/**
+ * Request EC to stop discharging and cut-off battery.
+ */
+vb2_error_t vb2ex_ec_battery_cutoff(void);
+
+/*****************************************************************************/
+/* Functions for UI display. */
+
+/**
+ * UI for a non-manual recovery ("BROKEN").
+ *
+ * Enter the broken screen UI, which shows that an unrecoverable error was
+ * encountered last boot. Wait for the user to physically reset or shut down.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2ex_broken_screen_ui(struct vb2_context *ctx);
+
+/**
+ * UI for a manual recovery-mode boot.
+ *
+ * Enter the recovery menu, which prompts the user to insert recovery media,
+ * navigate the step-by-step recovery, or enter developer mode if allowed.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2ex_manual_recovery_ui(struct vb2_context *ctx);
+
+/**
+ * UI for a developer-mode boot.
+ *
+ * Enter the developer menu, which provides options to switch out of developer
+ * mode, boot from external media, use legacy bootloader, or boot Chrome OS from
+ * disk.
+ *
+ * If a timeout occurs, take the default boot action.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2ex_developer_ui(struct vb2_context *ctx);
+
+/**
+ * UI for a diagnostic tools boot.
+ *
+ * Enter the diagnostic tools menu, which provides debug information and
+ * diagnostic tests of various hardware components.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+vb2_error_t vb2ex_diagnostic_ui(struct vb2_context *ctx);
+
+/* Helpers for bitmask operations */
+#define VB2_SET_BIT(mask, index) ((mask) |= ((uint32_t)1 << (index)))
+#define VB2_CLR_BIT(mask, index) ((mask) &= ~((uint32_t)1 << (index)))
+#define VB2_GET_BIT(mask, index) ((mask) & ((uint32_t)1 << (index)))
+
+/**
+ * Check that physical presence button is currently pressed by the user.
+ *
+ * @return 1 for pressed, 0 for not.
+ */
+int vb2ex_physical_presence_pressed(void);
+
+/**
+ * Get the number of supported locales.
+ *
+ * @return Number of locales.  0 if none or on error.
+ */
+uint32_t vb2ex_get_locale_count(void);
+
+/**
+ * Return the number of available alternate bootloaders.
+ *
+ * @return Number of alternate bootloaders.  0 if none or on error.
+ */
+uint32_t vb2ex_get_altfw_count(void);
+
+/**
+ * Run alternate bootloader.
+ *
+ * @param altfw_id     ID of alternate bootloader to run, where
+ *                      altfw_id <= vb2ex_get_altfw_count().  0 for default,
+ *                      which corresponds to an alternate bootloader in
+ *                      the range 1 <= altfw_id <= vb2ex_getfw_count().
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2ex_run_altfw(uint32_t altfw_id);
+
+/**
+ * Delay for at least the specified number of milliseconds.
+ *
+ * @param msec                 Duration in milliseconds.
+ */
+void vb2ex_msleep(uint32_t msec);
+
+/**
+ * Play a beep tone of the specified frequency in Hz for the duration msec.
+ *
+ * This is effectively a sleep call that makes noise.  The implementation may
+ * beep at a fixed frequency if frequency support is not available.  Regardless
+ * of whether any errors occur, the callback is expected to delay for the
+ * specified duration before returning.
+ *
+ * @param msec                 Duration of beep in milliseconds.
+ * @param frequency            Sound frequency in Hz.
+ */
+void vb2ex_beep(uint32_t msec, uint32_t frequency);
+
+/**
+ * Get the full debug info string.
+ *
+ * Return a pointer to the full debug info string which is guaranteed to be
+ * null-terminated.  The function implementation should manage string memory
+ * internally.  Subsequent calls may update the string and return the same
+ * pointer, or return a new pointer if necessary.
+ *
+ * @param ctx          Vboot context
+ * @return The pointer to the full debug info string.  NULL on error.
+ */
+const char *vb2ex_get_debug_info(struct vb2_context *ctx);
+
+/**
+ * Get the vboot debug info.
+ *
+ * Return a pointer to the vboot debug info string which is guaranteed to be
+ * null-terminated.  The caller owns the string and should call free() when
+ * finished with it.
+ *
+ * @param ctx          Vboot context
+ * @return The pointer to the vboot debug info string.  NULL on error.
+ */
+char *vb2api_get_debug_info(struct vb2_context *ctx);
+
+/**
+ * Get the full firmware log string.
+ *
+ * Return a pointer to the full firmware log string which is guaranteed to be
+ * null-terminated.  The function implementation should snapshot the full
+ * firmware log when it is called.  If `reset` is not zero, it will reset the
+ * firmware log snapshot.
+ *
+ * @param reset                Discard the current firmware log snapshot and
+ *                     reacquire a new one.
+ * @return The pointer to the full firmware log string.  NULL on error.
+ */
+const char *vb2ex_get_firmware_log(int reset);
+
+/**
+ * Get the health info of the storage.
+ *
+ * @param out  For returning a read-only pointer of full log string which is
+ *             guaranteed to be null-terminated. The function will manage
+ *             memory internally, so the returned pointer will only be valid
+ *             until next call.
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2ex_diag_get_storage_health(const char **out);
+
+/**
+ * Get the storage self-test log.
+ *
+ * @param out  For returning a read-only pointer of full log string which is
+ *             guaranteed to be null-terminated. The function will manage
+ *             memory internally, so the returned pointer will only be valid
+ *             until next call.
+ * @return The status of storage test. VB2_SUCCESS means the test is finished,
+ * regardless of passing or failing. VB2_ERROR_EX_DIAG_TEST_RUNNING means
+ * the test is still running. VB2_ERROR_EX_UNIMPLEMENTED means the storage
+ * self-test is not supported on this device. Other non-zero codes for internal
+ * errors.
+ */
+vb2_error_t vb2ex_diag_get_storage_test_log(const char **out);
+
+/**
+ * Get the memory diagnostic status. When it is called, it will take over the
+ * control for a short period of time running memory test, and then return the
+ * result of current status. If `reset` is not zero, it will reset the memory
+ * test state.
+ *
+ * @param reset        Discard the current memory test result and re-initialize
+ *             a new test.
+ * @param out  For returning a read-only pointer of full log string which is
+ *             guaranteed to be null-terminated. The function will manage
+ *             memory internally, so the returned pointer will only be valid
+ *             until next call.
+ * @return The status of memory test. VB2_SUCCESS means the test is finished,
+ * regardless of passing or failing. VB2_ERROR_EX_DIAG_TEST_RUNNING means
+ * the test is still running but the output buffer was unchanged.
+ * VB2_ERROR_EX_DIAG_TEST_UPDATED means the test is still running and the output
+ * buffer was updated. Other non-zero codes for internal errors.
+ */
+vb2_error_t vb2ex_diag_memory_quick_test(int reset, const char **out);
+vb2_error_t vb2ex_diag_memory_full_test(int reset, const char **out);
+
+/*****************************************************************************/
+/* Timer. */
+
+/**
+ * Read a millisecond timer.
+ *
+ * This should have a sufficient number of bits to avoid wraparound for at
+ * least 10 minutes.
+ *
+ * @return Current timer value in milliseconds.
+ */
+uint32_t vb2ex_mtime(void);
+
+#endif  /* VBOOT_REFERENCE_2API_H_ */
diff --git a/firmware/2lib/include/2common.h b/firmware/2lib/include/2common.h
new file mode 100644 (file)
index 0000000..d43f18a
--- /dev/null
@@ -0,0 +1,473 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Common functions between firmware and kernel verified boot.
+ */
+
+#ifndef VBOOT_REFERENCE_2COMMON_H_
+#define VBOOT_REFERENCE_2COMMON_H_
+
+#include "2api.h"
+#include "2gbb.h"
+#include "2misc.h"
+#include "2packed_key.h"
+#include "2return_codes.h"
+#include "2sha.h"
+#include "2struct.h"
+#include "2sysincludes.h"
+
+struct vb2_public_key;
+
+/* Time conversion constants. */
+#define VB2_USEC_PER_MSEC 1000ULL
+#define VB2_MSEC_PER_SEC 1000ULL
+
+/*
+ * Return the min/max of A and B.  This is used in macros which calculate the
+ * required buffer size, so can't be turned into a static inline function.
+ */
+#define VB2_MIN(a, b) ({ \
+       typeof(a) __vb2_min_a = (a); \
+       typeof(b) __vb2_min_b = (b); \
+       __vb2_min_a < __vb2_min_b ? __vb2_min_a : __vb2_min_b; \
+       })
+#define VB2_MAX(a, b) ({ \
+       typeof(a) __vb2_max_a = (a); \
+       typeof(b) __vb2_max_b = (b); \
+       __vb2_max_a > __vb2_max_b ? __vb2_max_a : __vb2_max_b; \
+       })
+
+/* Return the number of elements in an array */
+#ifndef ARRAY_SIZE
+#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
+#endif
+
+/* Platform-dependent debug/assert output macros. */
+#define VB2_DEBUG(format, args...) \
+       vb2ex_printf(__func__, format, ## args)
+
+#define VB2_DEBUG_RAW(format, args...) \
+       vb2ex_printf(NULL, format, ## args)
+
+#define VB2_ASSERT(expr) do { \
+       if (!(expr)) { \
+               VB2_DEBUG("assertion failed: %s at %s:%d\n", \
+                         #expr, __FILE__, __LINE__); \
+               vb2ex_abort(); \
+               for (;;); \
+       } \
+} while (0)
+
+#define VB2_DIE(format, args...) do { \
+       VB2_DEBUG(format, ## args); \
+       vb2ex_abort(); \
+       for (;;); \
+} while (0)
+
+#define VB2_REC_OR_DIE(ctx, format, args...) do { \
+       VB2_DEBUG(format, ## args); \
+       if ((vb2_get_sd(ctx)->status & VB2_SD_STATUS_RECOVERY_DECIDED) && \
+           !(ctx->flags & VB2_CONTEXT_RECOVERY_MODE)) { \
+               vb2ex_abort(); \
+               for (;;); \
+       } \
+       VB2_DEBUG("IGNORING ABORT IN RECOVERY MODE!!!\n"); \
+} while (0)
+
+/*
+ * Define test_mockable and for mocking functions when compiled for Chrome OS
+ * environment (that is, not for firmware).
+ */
+#ifndef test_mockable
+#ifdef CHROMEOS_ENVIRONMENT
+#define test_mockable __attribute__((weak))
+#else
+#define test_mockable
+#endif
+#endif
+
+#if (defined(__GNUC__) && __GNUC__ >= 7)
+#define VBOOT_FALLTHROUGH __attribute__((__fallthrough__))
+#elif defined(__clang__)
+#if __has_attribute(__fallthrough__)
+#define VBOOT_FALLTHROUGH __attribute__((__fallthrough__))
+#endif
+#else
+#define VBOOT_FALLTHROUGH ((void)0)
+#endif
+
+/**
+ * Round up a number to a multiple of VB2_WORKBUF_ALIGN
+ *
+ * @param v            Number to round up
+ * @return The number, rounded up.
+ */
+static inline uint32_t vb2_wb_round_up(uint32_t v)
+{
+       return (v + VB2_WORKBUF_ALIGN - 1) & ~(VB2_WORKBUF_ALIGN - 1);
+}
+
+/* Work buffer */
+struct vb2_workbuf {
+       uint8_t *buf;
+       uint32_t size;
+};
+
+/**
+ * Initialize a work buffer.
+ *
+ * @param wb           Work buffer to init
+ * @param buf          Pointer to work buffer data
+ * @param size         Size of work buffer data in bytes
+ */
+void vb2_workbuf_init(struct vb2_workbuf *wb, uint8_t *buf, uint32_t size);
+
+/**
+ * Allocate space in a work buffer.
+ *
+ * Note that the returned buffer will always be aligned to VB2_WORKBUF_ALIGN.
+ *
+ * The work buffer acts like a stack, and detailed tracking of allocs and frees
+ * is not done.  The caller must track the size of each allocation and free via
+ * vb2_workbuf_free() in the reverse order they were allocated.
+ *
+ * An acceptable alternate workflow inside a function is to pass in a const
+ * work buffer, then make a local copy.  Allocations done to the local copy
+ * then don't change the passed-in work buffer, and will effectively be freed
+ * when the local copy goes out of scope.
+ *
+ * @param wb           Work buffer
+ * @param size         Requested size in bytes
+ * @return A pointer to the allocated space, or NULL if error.
+ */
+void *vb2_workbuf_alloc(struct vb2_workbuf *wb, uint32_t size);
+
+/**
+ * Reallocate space in a work buffer.
+ *
+ * Note that the returned buffer will always be aligned to VB2_WORKBUF_ALIGN.
+ * The work buffer acts like a stack, so this must only be done to the most
+ * recently allocated buffer.
+ *
+ * @param wb           Work buffer
+ * @param oldsize      Old allocation size in bytes
+ * @param newsize      Requested size in bytes
+ * @return A pointer to the allocated space, or NULL if error.
+ */
+void *vb2_workbuf_realloc(struct vb2_workbuf *wb, uint32_t oldsize,
+                         uint32_t newsize);
+
+/**
+ * Free the preceding allocation.
+ *
+ * Note that the work buffer acts like a stack, and detailed tracking of
+ * allocs and frees is not done.  The caller must track the size of each
+ * allocation and free them in reverse order.
+ *
+ * @param wb           Work buffer
+ * @param size         Size of data to free
+ */
+void vb2_workbuf_free(struct vb2_workbuf *wb, uint32_t size);
+
+/* Check if a pointer is aligned on an align-byte boundary */
+#define vb2_aligned(ptr, align) (!(((uintptr_t)(ptr)) & ((align) - 1)))
+
+/**
+ * Safer memcmp() for use in crypto.
+ *
+ * Compares the buffers to see if they are equal.  Time taken to perform
+ * the comparison is dependent only on the size, not the relationship of
+ * the match between the buffers.  Note that unlike memcmp(), this only
+ * indicates inequality, not which buffer is lesser.
+ *
+ * @param s1           First buffer
+ * @param s2           Second buffer
+ * @param size         Number of bytes to compare
+ * @return 0 if match or size=0, non-zero if at least one byte mismatched.
+ */
+vb2_error_t vb2_safe_memcmp(const void *s1, const void *s2, size_t size);
+
+/**
+ * Align a buffer and check its size.
+ *
+ * @param **ptr                Pointer to pointer to align
+ * @param *size                Points to size of buffer pointed to by *ptr
+ * @param align                Required alignment (must be power of 2)
+ * @param want_size    Required size
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2_align(uint8_t **ptr, uint32_t *size, uint32_t align,
+                     uint32_t want_size);
+
+/**
+ * Return offset of ptr from base.
+ *
+ * @param base         Base pointer
+ * @param ptr          Pointer at some offset from base
+ * @return The offset of ptr from base.
+ */
+ptrdiff_t vb2_offset_of(const void *base, const void *ptr);
+
+/**
+ * Return member of given object.
+ *
+ * @param parent       Pointer to parent object
+ * @param offset       Offset from base
+ * @return Pointer to child object.
+ */
+void *vb2_member_of(void *parent, ptrdiff_t offset);
+
+/**
+ * Return expected signature size for a signature/hash algorithm pair
+ *
+ * @param sig_alg      Signature algorithm
+ * @param hash_alg     Hash algorithm
+ * @return The signature size, or zero if error / unsupported algorithm.
+ */
+uint32_t vb2_sig_size(enum vb2_signature_algorithm sig_alg,
+                     enum vb2_hash_algorithm hash_alg);
+
+/**
+ * Return a key ID for an unsigned hash algorithm.
+ *
+ * @param hash_alg     Hash algorithm to return key for
+ * @return A pointer to the key ID for that hash algorithm with
+ *        sig_alg=VB2_SIG_NONE, or NULL if error.
+ */
+const struct vb2_id *vb2_hash_id(enum vb2_hash_algorithm hash_alg);
+
+/* Size of work buffer sufficient for vb2_verify_digest() worst case. */
+#define VB2_VERIFY_DIGEST_WORKBUF_BYTES VB2_VERIFY_RSA_DIGEST_WORKBUF_BYTES
+
+/* Size of work buffer sufficient for vb2_verify_data() worst case. */
+#define VB2_VERIFY_DATA_WORKBUF_BYTES                                  \
+       (VB2_SHA512_DIGEST_SIZE +                                       \
+        VB2_MAX(VB2_VERIFY_DIGEST_WORKBUF_BYTES,                       \
+                sizeof(struct vb2_digest_context)))
+
+/* Size of work buffer sufficient for vb2_verify_keyblock() worst case. */
+#define VB2_KEYBLOCK_VERIFY_WORKBUF_BYTES VB2_VERIFY_DATA_WORKBUF_BYTES
+
+/* Size of work buffer sufficient for vb2_verify_fw_preamble() worst case. */
+#define VB2_VERIFY_FIRMWARE_PREAMBLE_WORKBUF_BYTES VB2_VERIFY_DATA_WORKBUF_BYTES
+
+/*
+ * Size of work buffer sufficient for vb2_verify_kernel_preamble() worst
+ * case.
+ */
+#define VB2_VERIFY_KERNEL_PREAMBLE_WORKBUF_BYTES VB2_VERIFY_DATA_WORKBUF_BYTES
+
+/**
+ * Verify the data pointed to by a subfield is inside the parent data.
+ *
+ * The subfield has a header pointed to by member, and a separate data
+ * field at an offset relative to the header.  That is:
+ *
+ *   struct parent {
+ *     (possibly other parent fields)
+ *     struct member {
+ *        (member header fields)
+ *     };
+ *     (possibly other parent fields)
+ *   };
+ *   (possibly some other parent data)
+ *   (member data)
+ *   (possibly some other parent data)
+ *
+ * @param parent               Parent data
+ * @param parent_size          Parent size in bytes
+ * @param member               Subfield header
+ * @param member_size          Size of subfield header in bytes
+ * @param member_data_offset   Offset of member data from start of member
+ * @param member_data_size     Size of member data in bytes
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2_verify_member_inside(const void *parent, size_t parent_size,
+                                    const void *member, size_t member_size,
+                                    ptrdiff_t member_data_offset,
+                                    size_t member_data_size);
+
+/*
+ * Helper function to get data pointed to by a public key.
+ */
+static inline uint8_t *vb2_packed_key_data_mutable(
+       struct vb2_packed_key *key)
+{
+       return (uint8_t *)key + key->key_offset;
+}
+
+static inline const uint8_t *vb2_packed_key_data(
+       const struct vb2_packed_key *key)
+{
+       return (const uint8_t *)((uintptr_t)key + key->key_offset);
+}
+
+/**
+ * Verify a packed key is fully contained in its parent data
+ *
+ * @param parent       Parent data
+ * @param parent_size  Parent size in bytes
+ * @param key          Packed key pointer
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+static inline vb2_error_t vb2_verify_packed_key_inside(
+       const void *parent,
+       uint32_t parent_size,
+       const struct vb2_packed_key *key)
+{
+       return vb2_verify_member_inside(parent, parent_size,
+                                       key, sizeof(*key),
+                                       key->key_offset, key->key_size);
+}
+
+/*
+ * Helper functions to get data pointed to by a public key or signature.
+ */
+static inline uint8_t *vb2_signature_data_mutable(
+       struct vb2_signature *sig)
+{
+       return (uint8_t *)sig + sig->sig_offset;
+}
+
+static inline const uint8_t *vb2_signature_data(
+       const struct vb2_signature *sig)
+{
+       return (const uint8_t *)((uintptr_t)sig + sig->sig_offset);
+}
+
+/**
+ * Verify a signature is fully contained in its parent data
+ *
+ * @param parent       Parent data
+ * @param parent_size  Parent size in bytes
+ * @param sig          Signature pointer
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+static inline vb2_error_t vb2_verify_signature_inside(
+       const void *parent,
+       uint32_t parent_size,
+       const struct vb2_signature *sig)
+{
+       return vb2_verify_member_inside(parent, parent_size,
+                                       sig, sizeof(*sig),
+                                       sig->sig_offset, sig->sig_size);
+}
+
+/**
+ * Verify a signature against an expected hash digest.
+ *
+ * @param key          Key to use in signature verification
+ * @param sig          Signature to verify (may be destroyed in process)
+ * @param digest       Digest of signed data
+ * @param wb           Work buffer
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2_verify_digest(const struct vb2_public_key *key,
+                             struct vb2_signature *sig, const uint8_t *digest,
+                             const struct vb2_workbuf *wb);
+
+/**
+ * Verify data matches signature.
+ *
+ * @param data         Data to verify
+ * @param size         Size of data buffer.  Note that amount of data to
+ *                     actually validate is contained in sig->data_size.
+ * @param sig          Signature of data (destroyed in process)
+ * @param key          Key to use to validate signature
+ * @param wb           Work buffer
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_verify_data(const uint8_t *data, uint32_t size,
+                           struct vb2_signature *sig,
+                           const struct vb2_public_key *key,
+                           const struct vb2_workbuf *wb);
+
+/**
+ * Check the validity of a keyblock structure.
+ *
+ * Verifies all the header fields.  Does not verify key index or keyblock
+ * flags.  Should be called before verifying the keyblock data itself using
+ * the key.  (This function does not itself verify the signature - just that
+ * the right amount of data is claimed to be signed.)
+ *
+ * @param block                Keyblock to verify
+ * @param size         Size of keyblock buffer
+ * @param sig          Which signature inside the keyblock to use
+ */
+vb2_error_t vb2_check_keyblock(const struct vb2_keyblock *block, uint32_t size,
+                              const struct vb2_signature *sig);
+
+/**
+ * Verify a keyblock using a public key.
+ *
+ * Header fields are also checked for validity. Does not verify key index or key
+ * block flags.  Signature inside block is destroyed during check.
+ *
+ * @param block                Keyblock to verify
+ * @param size         Size of keyblock buffer
+ * @param key          Key to use to verify block
+ * @param wb           Work buffer
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_verify_keyblock(struct vb2_keyblock *block, uint32_t size,
+                               const struct vb2_public_key *key,
+                               const struct vb2_workbuf *wb);
+
+/**
+ * Check the validity of a firmware preamble using a public key.
+ *
+ * The signature in the preamble is destroyed during the check.
+ *
+ * @param preamble             Preamble to verify
+ * @param size         Size of preamble buffer
+ * @param key          Key to use to verify preamble
+ * @param wb           Work buffer
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_verify_fw_preamble(struct vb2_fw_preamble *preamble,
+                                  uint32_t size,
+                                  const struct vb2_public_key *key,
+                                  const struct vb2_workbuf *wb);
+
+/**
+ * Get the flags for the kernel preamble.
+ *
+ * @param preamble     Preamble to check
+ * @return Flags for the preamble.  Old preamble versions (<2.2) return 0.
+ */
+uint32_t vb2_kernel_get_flags(const struct vb2_kernel_preamble *preamble);
+
+/**
+ * Verify a keyblock using its hash.
+ *
+ * Header fields are also checked for validity. Does not verify key index or key
+ * block flags.  Use this for self-signed keyblocks in developer mode.
+ *
+ * @param block                Keyblock to verify
+ * @param size         Size of keyblock buffer
+ * @param key          Key to use to verify block
+ * @param wb           Work buffer
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_verify_keyblock_hash(const struct vb2_keyblock *block,
+                                    uint32_t size,
+                                    const struct vb2_workbuf *wb);
+
+/**
+ * Check the validity of a kernel preamble using a public key.
+ *
+ * The signature in the preamble is destroyed during the check.
+ *
+ * @param preamble             Preamble to verify
+ * @param size         Size of preamble buffer
+ * @param key          Key to use to verify preamble
+ * @param wb           Work buffer
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_verify_kernel_preamble(struct vb2_kernel_preamble *preamble,
+                                      uint32_t size,
+                                      const struct vb2_public_key *key,
+                                      const struct vb2_workbuf *wb);
+
+#endif  /* VBOOT_REFERENCE_2COMMON_H_ */
diff --git a/firmware/2lib/include/2constants.h b/firmware/2lib/include/2constants.h
new file mode 100644 (file)
index 0000000..96dc999
--- /dev/null
@@ -0,0 +1,89 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * General vboot-related constants.
+ *
+ * Constants that need to be exposed to assembly files or linker scripts
+ * may be placed here and imported via vb2_constants.h.
+ */
+
+#ifndef VBOOT_REFERENCE_2CONSTANTS_H_
+#define VBOOT_REFERENCE_2CONSTANTS_H_
+
+/*
+ * Size of non-volatile data used by vboot.
+ *
+ * If you only support non-volatile data format V1, then use VB2_NVDATA_SIZE.
+ * If you support V2, use VB2_NVDATA_SIZE_V2 and set context flag
+ * VB2_CONTEXT_NVDATA_V2.
+ */
+#define VB2_NVDATA_SIZE 16
+#define VB2_NVDATA_SIZE_V2 64
+
+/* Size of secure data spaces used by vboot */
+#define VB2_SECDATA_FIRMWARE_SIZE 10
+#define VB2_SECDATA_KERNEL_SIZE_V02 13
+#define VB2_SECDATA_KERNEL_SIZE_V10 40
+#define VB2_SECDATA_KERNEL_MIN_SIZE 13
+#define VB2_SECDATA_KERNEL_MAX_SIZE 64
+#define VB2_SECDATA_FWMP_MIN_SIZE 40
+#define VB2_SECDATA_FWMP_MAX_SIZE 64
+
+/* Size of current secdata_kernel revision. Referenced by external projects. */
+#define VB2_SECDATA_KERNEL_SIZE VB2_SECDATA_KERNEL_SIZE_V10
+
+/*
+ * Recommended size of work buffer for firmware verification stage.
+ *
+ * TODO: The recommended size really depends on which key algorithms are
+ * used.  Should have a better / more accurate recommendation than this.
+ */
+#define VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE (12 * 1024)
+
+/*
+ * Recommended size of work buffer for kernel verification stage.
+ *
+ * This is bigger because vboot 2.0 kernel preambles are usually padded to
+ * 64 KB.
+ *
+ * TODO: The recommended size really depends on which key algorithms are
+ * used.  Should have a better / more accurate recommendation than this.
+ */
+#define VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE (80 * 1024)
+
+/* Recommended buffer size for vb2api_get_pcr_digest. */
+#define VB2_PCR_DIGEST_RECOMMENDED_SIZE 32
+
+/*
+ * Alignment for work buffer pointers/allocations should be useful for any
+ * data type. When declaring workbuf buffers on the stack, the caller should
+ * use explicit alignment to avoid run-time errors. For example:
+ *
+ *    int foo(void)
+ *    {
+ *        struct vb2_workbuf wb;
+ *        uint8_t buf[NUM] __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+ *        wb.buf = buf;
+ *        wb.size = sizeof(buf);
+ */
+
+/* We want consistent alignment across all architectures.
+   8-byte should work for all of them. */
+#define VB2_WORKBUF_ALIGN 8
+
+/* Maximum length of a HWID in bytes, counting terminating null. */
+#define VB2_GBB_HWID_MAX_SIZE 256
+
+/* Type and offset of flags member in vb2_gbb_header struct. */
+#define VB2_GBB_FLAGS_OFFSET 12
+#ifndef __ASSEMBLER__
+#include <stdint.h>
+typedef uint32_t vb2_gbb_flags_t;
+#endif
+
+/* Size of legacy VbSharedDataHeader struct.  Defined here to avoid including
+   the struct definition as part of a vb2_api.h include. */
+#define VB2_VBSD_SIZE 1096
+
+#endif  /* VBOOT_REFERENCE_2CONSTANTS_H_ */
diff --git a/firmware/2lib/include/2crc8.h b/firmware/2lib/include/2crc8.h
new file mode 100644 (file)
index 0000000..f9e0cce
--- /dev/null
@@ -0,0 +1,26 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Very simple 8-bit CRC function.
+ */
+
+#ifndef VBOOT_REFERENCE_2CRC8_H_
+#define VBOOT_REFERENCE_2CRC8_H_
+
+#include "2sysincludes.h"
+
+/**
+ * Calculate CRC-8 of the data, using the ITU version.
+ *
+ * Calculate CRC-8 ITU version of the given buffer, using x^8 + x^2 + x + 1
+ * polynomial.  Note that the CRC-8 will evaluate to zero for a buffer of all
+ * zeroes.
+ *
+ * @param data         Data to CRC
+ * @param size         Size of data in bytes
+ * @return CRC-8 of the data.
+ */
+uint8_t vb2_crc8(const void *data, uint32_t size);
+
+#endif  /* VBOOT_REFERENCE_2CRC8_H_ */
diff --git a/firmware/2lib/include/2crypto.h b/firmware/2lib/include/2crypto.h
new file mode 100644 (file)
index 0000000..14e1f14
--- /dev/null
@@ -0,0 +1,141 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Crypto constants for verified boot
+ */
+
+#ifndef VBOOT_REFERENCE_2CRYPTO_H_
+#define VBOOT_REFERENCE_2CRYPTO_H_
+
+#include "2sysincludes.h"
+
+/* Verified boot crypto algorithms */
+enum vb2_crypto_algorithm {
+       VB2_ALG_RSA1024_SHA1   = 0,
+       VB2_ALG_RSA1024_SHA256 = 1,
+       VB2_ALG_RSA1024_SHA512 = 2,
+       VB2_ALG_RSA2048_SHA1   = 3,
+       VB2_ALG_RSA2048_SHA256 = 4,
+       VB2_ALG_RSA2048_SHA512 = 5,
+       VB2_ALG_RSA4096_SHA1   = 6,
+       VB2_ALG_RSA4096_SHA256 = 7,
+       VB2_ALG_RSA4096_SHA512 = 8,
+       VB2_ALG_RSA8192_SHA1   = 9,
+       VB2_ALG_RSA8192_SHA256 = 10,
+       VB2_ALG_RSA8192_SHA512 = 11,
+       VB2_ALG_RSA2048_EXP3_SHA1   = 12,
+       VB2_ALG_RSA2048_EXP3_SHA256 = 13,
+       VB2_ALG_RSA2048_EXP3_SHA512 = 14,
+       VB2_ALG_RSA3072_EXP3_SHA1   = 15,
+       VB2_ALG_RSA3072_EXP3_SHA256 = 16,
+       VB2_ALG_RSA3072_EXP3_SHA512 = 17,
+       /* Number of algorithms */
+       VB2_ALG_COUNT
+};
+
+/* Algorithm types for signatures */
+enum vb2_signature_algorithm {
+       /* Invalid or unsupported signature type */
+       VB2_SIG_INVALID = 0,
+
+       /*
+        * No signature algorithm.  The digest is unsigned.  See
+        * VB2_ID_NONE_* for key IDs to use with this algorithm.
+        */
+       VB2_SIG_NONE = 1,
+
+       /* RSA algorithms of the given length in bits (1024-8192) */
+       VB2_SIG_RSA1024 = 2,  /* Warning!  This is likely to be deprecated! */
+       VB2_SIG_RSA2048 = 3,
+       VB2_SIG_RSA4096 = 4,
+       VB2_SIG_RSA8192 = 5,
+       VB2_SIG_RSA2048_EXP3 = 6,
+       VB2_SIG_RSA3072_EXP3 = 7,
+
+       /* Last index. Don't add anything below. */
+       VB2_SIG_ALG_COUNT,
+};
+
+/* Algorithm types for hash digests */
+enum vb2_hash_algorithm {
+       /* Invalid or unsupported digest type */
+       VB2_HASH_INVALID = 0,
+       /* For some applications, it's more useful that 0 means "no hash". */
+       VB2_HASH_NONE = VB2_HASH_INVALID,
+
+       /* SHA-1.  Warning: This is likely to be deprecated soon! */
+       VB2_HASH_SHA1 = 1,
+
+       /* SHA-256 and SHA-512 */
+       VB2_HASH_SHA256 = 2,
+       VB2_HASH_SHA512 = 3,
+
+       /* SHA-224/SHA-384 are variants of SHA-256/SHA-512, respectively. */
+       VB2_HASH_SHA224 = 4,
+       VB2_HASH_SHA384 = 5,
+
+       /* Last index. Don't add anything below. */
+       VB2_HASH_ALG_COUNT,
+};
+
+/* Arrays mapping signature/hash types to their string representations. */
+extern const char *vb2_sig_names[VB2_SIG_ALG_COUNT];
+extern const char *vb2_hash_names[VB2_HASH_ALG_COUNT];
+
+/**
+ * Convert vb2_crypto_algorithm to vb2_signature_algorithm.
+ *
+ * @param algorithm    Crypto algorithm (vb2_crypto_algorithm)
+ *
+ * @return The signature algorithm for that crypto algorithm, or
+ * VB2_SIG_INVALID if the crypto algorithm or its corresponding signature
+ * algorithm is invalid or not supported.
+ */
+enum vb2_signature_algorithm vb2_crypto_to_signature(
+                                       enum vb2_crypto_algorithm algorithm);
+
+/**
+ * Convert vb2_crypto_algorithm to vb2_hash_algorithm.
+ *
+ * @param algorithm    Crypto algorithm (vb2_crypto_algorithm)
+ *
+ * @return The hash algorithm for that crypto algorithm, or VB2_HASH_INVALID if
+ * the crypto algorithm or its corresponding hash algorithm is invalid or not
+ * supported.
+ */
+enum vb2_hash_algorithm vb2_crypto_to_hash(enum vb2_crypto_algorithm algorithm);
+
+/**
+ * Return the name of a signature algorithm.
+ *
+ * @param sig_alg      Signature algorithm to look up
+ * @return The corresponding name, or VB2_INVALID_ALG_NAME if no match.
+ */
+const char *vb2_get_sig_algorithm_name(enum vb2_signature_algorithm sig_alg);
+
+/**
+ * Return the name of a hash algorithm
+ *
+ * @param alg  Hash algorithm ID
+ * @return The corresponding name, or VB2_INVALID_ALG_NAME if no match.
+ */
+const char *vb2_get_hash_algorithm_name(enum vb2_hash_algorithm alg);
+
+/**
+ * Return the name of a crypto algorithm.
+ *
+ * @param alg          Crypto algorithm to look up
+ * @return The corresponding name, or VB2_INVALID_ALG_NAME if no match.
+ */
+const char *vb2_get_crypto_algorithm_name(enum vb2_crypto_algorithm alg);
+
+/**
+ * Return the name of a crypto algorithm.
+ *
+ * @param alg          Crypto algorithm to look up
+ * @return The corresponding stem filename, or VB2_INVALID_ALG_NAME if no match.
+ */
+const char *vb2_get_crypto_algorithm_file(enum vb2_crypto_algorithm alg);
+
+#endif  /* VBOOT_REFERENCE_2CRYPTO_H_ */
diff --git a/firmware/2lib/include/2fw_hash_tags.h b/firmware/2lib/include/2fw_hash_tags.h
new file mode 100644 (file)
index 0000000..1ecec6e
--- /dev/null
@@ -0,0 +1,41 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Firmware hash tags for verified boot
+ */
+
+#ifndef VBOOT_REFERENCE_2FW_HASH_TAGS_H_
+#define VBOOT_REFERENCE_2FW_HASH_TAGS_H_
+
+#include <stdint.h>
+
+/*
+ * Tags for types of hashable data.
+ *
+ * Note that not every firmware image will contain every tag.
+ *
+ * TODO: These are the ones that vboot specifically knows about given the
+ * current data structures.  In the future, I'd really like the vboot preamble
+ * to contain an arbitrary list of tags and their hashes, so that we can hash
+ * ram init, main RW body, EC-RW for software sync, etc. all separately.
+ */
+enum vb2_hash_tag {
+       /* Invalid hash tag; never present in table */
+       VB2_HASH_TAG_INVALID = 0,
+
+       /* Firmware body */
+       VB2_HASH_TAG_FW_BODY = 1,
+
+       /* Kernel data key */
+       VB2_HASH_TAG_KERNEL_DATA_KEY = 2,
+
+       /*
+        * Tags over 0x40000000 are reserved for use by the calling firmware,
+        * which may associate them with arbitrary types of RW firmware data
+        * that it wants to track.
+        */
+       VB2_HASH_TAG_CALLER_BASE = 0x40000000
+};
+
+#endif  /* VBOOT_REFERENCE_2FW_HASH_TAGS_H_ */
diff --git a/firmware/2lib/include/2gbb.h b/firmware/2lib/include/2gbb.h
new file mode 100644 (file)
index 0000000..58da663
--- /dev/null
@@ -0,0 +1,46 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * GBB accessor functions.
+ */
+
+#ifndef VBOOT_REFERENCE_2GBB_H_
+#define VBOOT_REFERENCE_2GBB_H_
+
+#include "2common.h"
+
+struct vb2_packed_key;
+struct vb2_workbuf;
+
+/**
+ * Read the root key from the GBB, and store it onto the given workbuf.
+ *
+ * @param ctx          Vboot context.
+ * @param keyp         Returns a pointer to the key. The caller may discard
+ *                     workbuf state if it wants to free the key.
+ * @param size         If pointer is non-NULL, returns the total size of key,
+ *                     including data.
+ * @param wb           Workbuf for data storage.
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2_gbb_read_root_key(struct vb2_context *ctx,
+                                 struct vb2_packed_key **keyp, uint32_t *size,
+                                 struct vb2_workbuf *wb);
+
+/**
+ * Read the recovery key from the GBB, and store it onto the given workbuf.
+ *
+ * @param ctx          Vboot context.
+ * @param keyp         Returns a pointer to the key. The caller may discard
+ *                     workbuf state if it wants to free the key.
+ * @param size         If pointer is non-NULL, returns the total size of key,
+ *                     including data.
+ * @param wb           Workbuf for data storage.
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2_gbb_read_recovery_key(struct vb2_context *ctx,
+                                     struct vb2_packed_key **keyp,
+                                     uint32_t *size, struct vb2_workbuf *wb);
+
+#endif  /* VBOOT_REFERENCE_2GBB_H_ */
diff --git a/firmware/2lib/include/2gbb_flags.h b/firmware/2lib/include/2gbb_flags.h
new file mode 100644 (file)
index 0000000..0eff7f7
--- /dev/null
@@ -0,0 +1,96 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Flags for vb2_gbb_header.flags.
+ *
+ * Should be imported externally via vb2_api.h.
+ */
+
+#ifndef VBOOT_REFERENCE_2GBB_FLAGS_H_
+#define VBOOT_REFERENCE_2GBB_FLAGS_H_
+
+enum vb2_gbb_flag {
+       /*
+        * Reduce the dev screen delay to 2 sec from 30 sec to speed up
+        * factory.
+        */
+       VB2_GBB_FLAG_DEV_SCREEN_SHORT_DELAY = 1 << 0,
+
+       /*
+        * BIOS should load option ROMs from arbitrary PCI devices. We'll never
+        * enable this ourselves because it executes non-verified code, but if
+        * a customer wants to void their warranty and set this flag in the
+        * read-only flash, they should be able to do so.
+        *
+        * (TODO: Currently not supported. Mark as deprecated/unused?)
+        */
+       VB2_GBB_FLAG_LOAD_OPTION_ROMS = 1 << 1,
+
+       /*
+        * The factory flow may need the BIOS to boot a non-ChromeOS kernel if
+        * the dev-switch is on. This flag allows that.
+        *
+        * (TODO: Currently not supported. Mark as deprecated/unused?)
+        */
+       VB2_GBB_FLAG_ENABLE_ALTERNATE_OS = 1 << 2,
+
+       /*
+        * Force dev switch on, regardless of physical/keyboard dev switch
+        * position.
+        */
+       VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON = 1 << 3,
+
+       /*
+        * Allow booting from external disk in dev mode even if
+        * dev_boot_usb=0.
+        */
+       VB2_GBB_FLAG_FORCE_DEV_BOOT_USB = 1 << 4,
+
+       /* Disable firmware rollback protection. */
+       VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK = 1 << 5,
+
+       /* Allow Enter key to trigger dev->tonorm screen transition */
+       VB2_GBB_FLAG_ENTER_TRIGGERS_TONORM = 1 << 6,
+
+       /* Allow booting Legacy OSes in dev mode even if dev_boot_altfw=0. */
+       VB2_GBB_FLAG_FORCE_DEV_BOOT_ALTFW = 1 << 7,
+
+       /*
+        * Currently running FAFT tests.  May be used as a hint to disable
+        * other debug features which may interfere with tests.  However, this
+        * should never be used to modify Chrome OS behaviour on specific
+        * devices with the goal of passing a test.  See chromium:965914 for
+        * more information.
+        */
+       VB2_GBB_FLAG_RUNNING_FAFT = 1 << 8,
+
+       /* Disable EC software sync */
+       VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC = 1 << 9,
+
+       /* Default to booting legacy OS when dev screen times out */
+       VB2_GBB_FLAG_DEFAULT_DEV_BOOT_ALTFW = 1 << 10,
+
+       /* Disable auxiliary firmware (auxfw) software sync */
+       VB2_GBB_FLAG_DISABLE_AUXFW_SOFTWARE_SYNC = 1 << 11,
+
+       /* Disable shutdown on lid closed */
+       VB2_GBB_FLAG_DISABLE_LID_SHUTDOWN = 1 << 12,
+
+       /*
+        * Allow full fastboot capability in firmware even if
+        * dev_boot_fastboot_full_cap=0.  Deprecated; see chromium:995172.
+        */
+       VB2_GBB_FLAG_DEPRECATED_FORCE_DEV_BOOT_FASTBOOT_FULL_CAP = 1 << 13,
+
+       /* Recovery mode always assumes manual recovery, even if EC_IN_RW=1 */
+       VB2_GBB_FLAG_FORCE_MANUAL_RECOVERY = 1 << 14,
+
+       /* Disable FWMP */
+       VB2_GBB_FLAG_DISABLE_FWMP = 1 << 15,
+
+       /* Enable USB Device Controller */
+       VB2_GBB_FLAG_ENABLE_UDC = 1 << 16,
+};
+
+#endif  /* VBOOT_REFERENCE_2GBB_FLAGS_H_ */
diff --git a/firmware/2lib/include/2hmac.h b/firmware/2lib/include/2hmac.h
new file mode 100644 (file)
index 0000000..2f8d8f7
--- /dev/null
@@ -0,0 +1,29 @@
+/* Copyright 2016 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_2HMAC_H_
+#define VBOOT_REFERENCE_2HMAC_H_
+
+#include <stdint.h>
+#include "2crypto.h"
+
+/**
+ * Compute HMAC
+ *
+ * @param alg          Hash algorithm ID
+ * @param key          HMAC key
+ * @param key_size     HMAC key size
+ * @param msg          Message to compute HMAC for
+ * @param msg_size     Message size
+ * @param mac          Computed message authentication code
+ * @param mac_size     Size of the buffer pointed by <mac>
+ * @return
+ */
+int hmac(enum vb2_hash_algorithm alg,
+        const void *key, uint32_t key_size,
+        const void *msg, uint32_t msg_size,
+        uint8_t *mac, uint32_t mac_size);
+
+#endif  /* VBOOT_REFERENCE_2HMAC_H_ */
diff --git a/firmware/2lib/include/2id.h b/firmware/2lib/include/2id.h
new file mode 100644 (file)
index 0000000..d1897fd
--- /dev/null
@@ -0,0 +1,37 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Key ID, used to quickly match keys with signatures. There's not a standard
+ * fingerprint for private keys, so we're using the sha1sum of the public key
+ * in our keyb format. Pretty much anything would work as long as it's
+ * resistant to collisions and easy to compare.
+ */
+
+#ifndef VBOOT_REFERENCE_2ID_H_
+#define VBOOT_REFERENCE_2ID_H_
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+#define VB2_ID_NUM_BYTES 20
+
+struct vb2_id {
+       uint8_t raw[VB2_ID_NUM_BYTES];
+} __attribute__((packed));
+
+#define EXPECTED_ID_SIZE VB2_ID_NUM_BYTES
+
+/* IDs to use for "keys" with sig_alg==VB2_SIG_NONE */
+#define VB2_ID_NONE_SHA1   {{0x00, 0x01,}}
+#define VB2_ID_NONE_SHA256 {{0x02, 0x56,}}
+#define VB2_ID_NONE_SHA512 {{0x05, 0x12,}}
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_2ID_H_ */
diff --git a/firmware/2lib/include/2kernel.h b/firmware/2lib/include/2kernel.h
new file mode 100644 (file)
index 0000000..bed1a01
--- /dev/null
@@ -0,0 +1,21 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Kernel selection, loading, verification, and booting.
+ */
+
+#ifndef VBOOT_REFERENCE_2KERNEL_H_
+#define VBOOT_REFERENCE_2KERNEL_H_
+
+#include "2common.h"
+
+/**
+ * Handle a normal boot.
+ *
+ * @param ctx          Vboot context.
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2_normal_boot(struct vb2_context *ctx);
+
+#endif  /* VBOOT_REFERENCE_2KERNEL_H_ */
diff --git a/firmware/2lib/include/2misc.h b/firmware/2lib/include/2misc.h
new file mode 100644 (file)
index 0000000..3d29287
--- /dev/null
@@ -0,0 +1,209 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Misc functions which need access to vb2_context but are not public APIs
+ */
+
+#ifndef VBOOT_REFERENCE_2MISC_H_
+#define VBOOT_REFERENCE_2MISC_H_
+
+#include "2api.h"
+#include "2struct.h"
+
+struct vb2_gbb_header;
+struct vb2_workbuf;
+
+#define vb2_container_of(ptr, type, member) ({                     \
+       const typeof(((type *)0)->member) *__mptr = (ptr);         \
+       (type *)((uint8_t *)__mptr - offsetof(type, member) );})   \
+
+/**
+ * Get the shared data pointer from the vboot context
+ *
+ * @param ctx          Vboot context
+ * @return The shared data pointer.
+ */
+static inline struct vb2_shared_data *vb2_get_sd(struct vb2_context *ctx)
+{
+       return vb2_container_of(ctx, struct vb2_shared_data, ctx);
+}
+
+/**
+ * Get the GBB header pointer from a vboot context's shared data
+ *
+ * @param ctx          Vboot context
+ * @return The GBB header pointer.
+ */
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *ctx);
+
+/**
+ * Validate gbb signature (the magic number)
+ *
+ * @param sig          Pointer to the signature bytes to validate
+ * @return VB2_SUCCESS if valid or non-zero if error.
+ */
+vb2_error_t vb2_validate_gbb_signature(uint8_t *sig);
+
+/**
+ * Initialize a work buffer from the vboot context.
+ *
+ * This sets the work buffer to the unused portion of the context work buffer.
+ *
+ * @param ctx          Vboot context
+ * @param wb           Work buffer to initialize
+ */
+void vb2_workbuf_from_ctx(struct vb2_context *ctx, struct vb2_workbuf *wb);
+
+/**
+ * Set the amount of work buffer used in the vboot context.
+ *
+ * This will round up to VB2_WORKBUF_ALIGN, so that the next allocation will
+ * be aligned as expected.
+ *
+ * @param ctx          Vboot context
+ * @param used         Number of bytes used
+ */
+void vb2_set_workbuf_used(struct vb2_context *ctx, uint32_t used);
+
+/**
+ * Read the GBB header.
+ *
+ * @param ctx          Vboot context
+ * @param gbb          Destination for header
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2_read_gbb_header(struct vb2_context *ctx,
+                               struct vb2_gbb_header *gbb);
+
+/**
+ * Check for recovery reasons we can determine early in the boot process.
+ *
+ * On exit, check ctx->flags for VB2_CONTEXT_RECOVERY_MODE; if present, jump to
+ * the recovery path instead of continuing with normal boot.  This is the only
+ * direct path to recovery mode.  All other errors later in the boot process
+ * should induce a reboot instead of jumping to recovery, so that recovery mode
+ * starts from a consistent firmware state.
+ *
+ * @param ctx          Vboot context
+ */
+void vb2_check_recovery(struct vb2_context *ctx);
+
+/**
+ * Parse the GBB header.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2_fw_init_gbb(struct vb2_context *ctx);
+
+/**
+ * Check developer switch position.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2_check_dev_switch(struct vb2_context *ctx);
+
+/**
+ * Check if we need to clear the TPM owner.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2_check_tpm_clear(struct vb2_context *ctx);
+
+/**
+ * Decide which firmware slot to try this boot.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2_select_fw_slot(struct vb2_context *ctx);
+
+/**
+ * Verify the firmware keyblock using the root key.
+ *
+ * After this call, the data key is stored in the work buffer.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2_load_fw_keyblock(struct vb2_context *ctx);
+
+/**
+ * Verify the firmware preamble using the data subkey from the keyblock.
+ *
+ * After this call, the preamble is stored in the work buffer.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2_load_fw_preamble(struct vb2_context *ctx);
+
+/**
+ * Verify the kernel keyblock using the previously-loaded kernel key.
+ *
+ * After this call, the data key is stored in the work buffer.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2_load_kernel_keyblock(struct vb2_context *ctx);
+
+/**
+ * Verify the kernel preamble using the data subkey from the keyblock.
+ *
+ * After this call, the preamble is stored in the work buffer.
+ *
+ * @param ctx          Vboot context
+ * @return VB2_SUCCESS, or error code on error.
+ */
+vb2_error_t vb2_load_kernel_preamble(struct vb2_context *ctx);
+
+/**
+ * Clear recovery request appropriately.
+ *
+ * To avoid the recovery request "sticking" and the user being in a permanent
+ * recovery loop, the recovery request must be cleared and committed to nvdata.
+ * Note that this should be done at some point after we are certain the system
+ * does not require any reboots for non-vboot-related reasons (e.g. FSP
+ * initialization), and before triggering a reboot to exit a transient recovery
+ * mode (e.g. memory retraining request).
+ *
+ * In BROKEN cases, the recovery reason will be stowed away as subcode, to be
+ * retrieved after the user reboots in manual recovery.  In manual recovery,
+ * subcode will be left alone to keep available for subsequent manual recovery
+ * requests, or for accessing from userspace on the next boot.
+ *
+ * This function modifies nvdata in vb2_context, but the caller is still
+ * expected to call vb2_commit_data.
+ *
+ * @param ctx          Vboot context
+ */
+void vb2_clear_recovery(struct vb2_context *ctx);
+
+/**
+ * Fill VB2_CONTEXT_DEV_BOOT_ALLOWED, VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED and
+ * VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED flags in ctx->flags.
+ *
+ * @param ctx          Vboot context.
+ */
+void vb2_fill_dev_boot_flags(struct vb2_context *ctx);
+
+/**
+ * Determine and set a mutually exclusive boot mode in the vboot context.
+ *
+ * Determine the most relevant boot mode for current boot, store into
+ * ctx->boot_mode, which is a ctx field introduced in struct version 3.1.
+ *
+ * This function should be only called by vb2api_fw_phase1.
+ * The vb2api_fw_phase1 should call this function at its end phase once and all
+ * the following steps should directly access ctx->boot_mode to retrieve the
+ * most relevant boot mode.
+ *
+ * @param ctx          Vboot context.
+ */
+void vb2_set_boot_mode(struct vb2_context *ctx);
+
+#endif  /* VBOOT_REFERENCE_2MISC_H_ */
diff --git a/firmware/2lib/include/2nvstorage.h b/firmware/2lib/include/2nvstorage.h
new file mode 100644 (file)
index 0000000..fe75823
--- /dev/null
@@ -0,0 +1,222 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Non-volatile storage routines
+ */
+
+#ifndef VBOOT_REFERENCE_2NVSTORAGE_H_
+#define VBOOT_REFERENCE_2NVSTORAGE_H_
+
+struct vb2_context;
+
+enum vb2_nv_param {
+       /*
+        * Parameter values have been reset to defaults (flag for firmware).
+        * 0=clear; 1=set.
+        */
+       VB2_NV_FIRMWARE_SETTINGS_RESET = 0,
+       /*
+        * Parameter values have been reset to defaults (flag for kernel).
+        * 0=clear; 1=set.
+        */
+       VB2_NV_KERNEL_SETTINGS_RESET,
+       /* Request debug reset on next S3->S0 transition.  0=clear; 1=set. */
+       VB2_NV_DEBUG_RESET_MODE,
+       /* Firmware slot to try next.  0=A, 1=B */
+       VB2_NV_TRY_NEXT,
+       /*
+        * Number of times to try booting RW firmware slot B before slot A.
+        * Valid range: 0-15.
+        *
+        * For VB2, number of times to try booting the slot indicated by
+        * VB2_NV_TRY_NEXT.  On a 1->0 transition of try count, VB2_NV_TRY_NEXT
+        * will be set to the other slot.
+        */
+       VB2_NV_TRY_COUNT,
+       /*
+        * Request recovery mode on next boot; see 2recovery_reason.h for
+        * currently defined reason codes.  8-bit value.
+        */
+       VB2_NV_RECOVERY_REQUEST,
+       /*
+        * Localization index for screen bitmaps displayed by firmware.
+        * 8-bit value.
+        */
+       VB2_NV_LOCALIZATION_INDEX,
+       /* Field reserved for kernel/user-mode use; 16-bit value. */
+       VB2_NV_KERNEL_FIELD,
+       /* Allow booting from external disk in developer mode.  0=no, 1=yes. */
+       VB2_NV_DEV_BOOT_EXTERNAL,
+       /* Allow booting of legacy OSes in developer mode.  0=no, 1=yes. */
+       VB2_NV_DEV_BOOT_ALTFW,
+       /* Only boot Google-signed images in developer mode.  0=no, 1=yes. */
+       VB2_NV_DEV_BOOT_SIGNED_ONLY,
+       /*
+        * Allow full fastboot capability in firmware in developer mode.
+        * 0=no, 1=yes.  Deprecated; see chromium:995172.
+        */
+       VB2_NV_DEPRECATED_DEV_BOOT_FASTBOOT_FULL_CAP,
+       /* Set default boot mode (see vb2_dev_default_boot_target) */
+       VB2_NV_DEV_DEFAULT_BOOT,
+       /* Enable USB Device Controller */
+       VB2_NV_DEV_ENABLE_UDC,
+       /*
+        * Set by userspace to request that RO firmware disable dev-mode on the
+        * next boot. This is likely only possible if the dev-switch is
+        * virtual.
+        */
+       VB2_NV_DISABLE_DEV_REQUEST,
+       /* Set and cleared by vboot to request that display be initialized
+          at boot time, so that BIOS screens can be displayed. 0=no, 1=yes. */
+       VB2_NV_DISPLAY_REQUEST,
+       /* Request that the firmware clear the TPM owner on the next boot. */
+       VB2_NV_CLEAR_TPM_OWNER_REQUEST,
+       /* Flag that TPM owner was cleared on request. */
+       VB2_NV_CLEAR_TPM_OWNER_DONE,
+       /* TPM requested a reboot already. */
+       VB2_NV_TPM_REQUESTED_REBOOT,
+       /* More details on recovery reason */
+       VB2_NV_RECOVERY_SUBCODE,
+       /* Request that NVRAM be backed up at next boot if possible. */
+       VB2_NV_BACKUP_NVRAM_REQUEST,
+       /* Firmware slot tried this boot (0=A, 1=B) */
+       VB2_NV_FW_TRIED,
+       /* Result of trying that firmware (see vb2_fw_result) */
+       VB2_NV_FW_RESULT,
+       /* Firmware slot tried previous boot (0=A, 1=B) */
+       VB2_NV_FW_PREV_TRIED,
+       /* Result of trying that firmware (see vb2_fw_result) */
+       VB2_NV_FW_PREV_RESULT,
+       /* Request wipeout of the device by the app. */
+       VB2_NV_REQ_WIPEOUT,
+
+       /* Fastboot: Unlock in firmware, 0=disabled, 1=enabled.
+          Deprecated; see chromium:995172. */
+       VB2_NV_DEPRECATED_FASTBOOT_UNLOCK_IN_FW,
+       /* Boot system when AC detected (0=no, 1=yes). */
+       VB2_NV_BOOT_ON_AC_DETECT,
+       /*
+        * Try to update the EC-RO image after updating the EC-RW image
+        * (0=no, 1=yes).
+        */
+       VB2_NV_TRY_RO_SYNC,
+       /* Cut off battery and shutdown on next boot. */
+       VB2_NV_BATTERY_CUTOFF_REQUEST,
+       /* Maximum kernel version to roll forward to */
+       VB2_NV_KERNEL_MAX_ROLLFORWARD,
+
+       /*** Fields only available in NV storage V2 ***/
+
+       /*
+        * Maximum firmware version to roll forward to.  Returns
+        * VB2_MAX_ROLLFORWARD_MAX_V1_DEFAULT for V1.
+        */
+       VB2_NV_FW_MAX_ROLLFORWARD,
+       /* Deprecated: Enable AltOS Mode on next boot. */
+       VB2_NV_DEPRECATED_ENABLE_ALT_OS_REQUEST,
+       /* Deprecated: Disable AltOS Mode on next boot. */
+       VB2_NV_DEPRECATED_DISABLE_ALT_OS_REQUEST,
+       /*
+        * Add a short delay after EC software sync for any interaction
+        * with EC-RW (persistent).  Formerly used for programmatically
+        * testing Alt OS booting.
+        */
+       VB2_NV_POST_EC_SYNC_DELAY,
+       /* Request booting of diagnostic rom.  0=no, 1=yes. */
+       VB2_NV_DIAG_REQUEST,
+       /* Priority of miniOS partition to load: 0=MINIOS-A, 1=MINIOS-B. */
+       VB2_NV_MINIOS_PRIORITY,
+};
+
+/* Firmware result codes for VB2_NV_FW_RESULT and VB2_NV_FW_PREV_RESULT */
+enum vb2_fw_result {
+       /* Unknown */
+       VB2_FW_RESULT_UNKNOWN = 0,
+
+       /* Trying a new slot, but haven't reached success/failure */
+       VB2_FW_RESULT_TRYING = 1,
+
+       /* Successfully booted to the OS */
+       VB2_FW_RESULT_SUCCESS = 2,
+
+       /* Known failure */
+       VB2_FW_RESULT_FAILURE = 3,
+};
+
+/*
+ * Default value for VB2_NV_FIRMWARE_MAX_ROLLFORWARD on V1.  This preserves the
+ * existing behavior that V1 systems will always roll forward the firmware
+ * version when possible.
+ */
+#define VB2_FW_MAX_ROLLFORWARD_V1_DEFAULT 0xfffffffe
+
+/**
+ * Return the size of the non-volatile storage data in the context.
+ *
+ * This may be called before vb2_context_init(), but you must set
+ * VB2_CONTEXT_NVDATA_V2 if you support V2 record size.
+ *
+ * @param ctx          Context pointer
+ * @return Size of the non-volatile storage data in bytes.
+ */
+int vb2_nv_get_size(const struct vb2_context *ctx);
+
+/**
+ * Check the CRC of the non-volatile storage context.
+ *
+ * Use this if reading from non-volatile storage may be flaky, and you want to
+ * retry reading it several times.
+ *
+ * This may be called before vb2_context_init().
+ *
+ * @param ctx          Context pointer
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_nv_check_crc(const struct vb2_context *ctx);
+
+/**
+ * Initialize the non-volatile storage context and verify its CRC.
+ *
+ * This may be called before vb2_context_init(), as long as:
+ *
+ *    1) The ctx structure has been cleared to 0.
+ *    2) Existing non-volatile data, if any, has been stored to ctx->nvdata[].
+ *
+ * This is to support using the non-volatile storage functions to request
+ * recovery if there is an error allocating the workbuf for the context.  It
+ * also allows host-side code to use this library without setting up a bunch of
+ * extra context.
+ *
+ * @param ctx          Context pointer
+ */
+void vb2_nv_init(struct vb2_context *ctx);
+
+/**
+ * Read a non-volatile value.
+ *
+ * Valid only after calling vb2_nv_init().
+ *
+ * @param ctx          Context pointer
+ * @param param                Parameter to read
+ * @return The value of the parameter.  If you somehow force an invalid
+ *         parameter number, returns 0.
+ */
+uint32_t vb2_nv_get(struct vb2_context *ctx, enum vb2_nv_param param);
+
+/**
+ * Write a non-volatile value.
+ *
+ * Ignores writes to unknown params.  Valid only after calling vb2_nv_init().
+ * If this changes ctx->nvdata[], it will set VB2_CONTEXT_NVDATA_CHANGED in
+ * ctx->flags.
+ *
+ * @param ctx          Context pointer
+ * @param param                Parameter to write
+ * @param value                New value
+ */
+void vb2_nv_set(struct vb2_context *ctx,
+               enum vb2_nv_param param,
+               uint32_t value);
+
+#endif  /* VBOOT_REFERENCE_2NVSTORAGE_H_ */
diff --git a/firmware/2lib/include/2nvstorage_fields.h b/firmware/2lib/include/2nvstorage_fields.h
new file mode 100644 (file)
index 0000000..449b8fd
--- /dev/null
@@ -0,0 +1,113 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Non-volatile storage bitfields
+ */
+
+#ifndef VBOOT_REFERENCE_2NVSTORAGE_FIELDS_H_
+#define VBOOT_REFERENCE_2NVSTORAGE_FIELDS_H_
+
+/*
+ * Constants for NV storage.  We use this rather than structs and bitfields so
+ * the data format is consistent across platforms and compilers.  Total NV
+ * storage size is:
+ *
+ * Version 1: VB2_NVDATA_SIZE = 16 bytes
+ * Version 2: VB2_NVDATA_SIZE_V2 = 64 bytes
+ *
+ * Unused bits/bytes must be set to 0.
+ */
+
+enum vb2_nv_offset {
+       /*** The following fields are present in all versions ***/
+       VB2_NV_OFFS_HEADER = 0,
+       VB2_NV_OFFS_BOOT = 1,
+       VB2_NV_OFFS_RECOVERY = 2,
+       VB2_NV_OFFS_LOCALIZATION = 3,
+       VB2_NV_OFFS_DEV = 4,
+       VB2_NV_OFFS_TPM = 5,
+       VB2_NV_OFFS_RECOVERY_SUBCODE = 6,
+       VB2_NV_OFFS_BOOT2 = 7,
+       VB2_NV_OFFS_MISC = 8,
+       VB2_NV_OFFS_KERNEL_MAX_ROLLFORWARD1 = 9, /* bits 0-7 of 32 */
+       VB2_NV_OFFS_KERNEL_MAX_ROLLFORWARD2 = 10, /* bits 8-15 of 32 */
+       VB2_NV_OFFS_KERNEL1 = 11, /* bits 0-7 of 16 */
+       VB2_NV_OFFS_KERNEL2 = 12, /* bits 8-15 of 16 */
+       VB2_NV_OFFS_KERNEL_MAX_ROLLFORWARD3 = 13, /* bits 16-23 of 32 */
+       VB2_NV_OFFS_KERNEL_MAX_ROLLFORWARD4 = 14, /* bits 24-31 of 32 */
+
+       /*
+        * CRC_V1 must be last field in V1.  This byte can be reused in later
+        * versions.
+        */
+       VB2_NV_OFFS_CRC_V1 = 15,
+
+       /* The following fields are only present in V2+ */
+       VB2_NV_OFFS_RESERVED_V2 = 15, /* Was CRC in V1 (unused = 0xff) */
+       VB2_NV_OFFS_FW_MAX_ROLLFORWARD1 = 16, /* bits 0-7 of 32 */
+       VB2_NV_OFFS_FW_MAX_ROLLFORWARD2 = 17, /* bits 8-15 of 32 */
+       VB2_NV_OFFS_FW_MAX_ROLLFORWARD3 = 18, /* bits 16-23 of 32 */
+       VB2_NV_OFFS_FW_MAX_ROLLFORWARD4 = 19, /* bits 24-31 of 32 */
+
+       /* CRC must be last field */
+       VB2_NV_OFFS_CRC_V2 = 63,
+};
+
+/* Fields in VB2_NV_OFFS_HEADER (unused = 0x04) */
+#define VB2_NV_HEADER_WIPEOUT                 0x08
+#define VB2_NV_HEADER_KERNEL_SETTINGS_RESET    0x10
+#define VB2_NV_HEADER_FW_SETTINGS_RESET        0x20
+#define VB2_NV_HEADER_SIGNATURE_MASK           0xc3
+
+/*
+ * Valid signature values.  Note that V1 readers only looked at mask 0xc0, and
+ * expect it to have value 0x40.  Versions != V1 must have the top two bits !=
+ * 0x40 so old readers will reject the data.  Using all 1-bits or all 0-bits is
+ * also discouraged, because that is indistinguishable from all-erased data on
+ * some platforms.
+ */
+/* Version 1 = 16-byte record */
+#define VB2_NV_HEADER_SIGNATURE_V1             0x40
+/* Version 2 = 64-byte record */
+#define VB2_NV_HEADER_SIGNATURE_V2             0x03
+
+/* Fields in VB2_NV_OFFS_BOOT */
+#define VB2_NV_BOOT_TRY_COUNT_MASK             0x0f
+#define VB2_NV_BOOT_BACKUP_NVRAM               0x10
+#define VB2_NV_BOOT_DISPLAY_REQUEST            0x20
+#define VB2_NV_BOOT_DISABLE_DEV                0x40
+#define VB2_NV_BOOT_DEBUG_RESET                0x80
+
+/* Fields in VB2_NV_OFFS_BOOT2 */
+#define VB2_NV_BOOT2_RESULT_MASK               0x03
+#define VB2_NV_BOOT2_TRIED                     0x04
+#define VB2_NV_BOOT2_TRY_NEXT                  0x08
+#define VB2_NV_BOOT2_PREV_RESULT_MASK          0x30
+#define VB2_NV_BOOT2_PREV_RESULT_SHIFT 4  /* Number of bits to shift result */
+#define VB2_NV_BOOT2_PREV_TRIED                0x40
+#define VB2_NV_BOOT2_REQ_DIAG                  0x80
+
+/* Fields in VB2_NV_OFFS_DEV (unused = 0x80) */
+#define VB2_NV_DEV_FLAG_EXTERNAL               0x01
+#define VB2_NV_DEV_FLAG_SIGNED_ONLY            0x02
+#define VB2_NV_DEV_FLAG_LEGACY                 0x04
+#define VB2_NV_DEV_FLAG_DEPRECATED_FASTBOOT_FULL_CAP      0x08
+#define VB2_NV_DEV_FLAG_DEFAULT_BOOT           0x30
+#define VB2_NV_DEV_DEFAULT_BOOT_SHIFT 4  /* Number of bits to shift */
+#define VB2_NV_DEV_FLAG_UDC                    0x40
+
+/* Fields in VB2_NV_OFFS_TPM (unused = 0xf8) */
+#define VB2_NV_TPM_CLEAR_OWNER_REQUEST         0x01
+#define VB2_NV_TPM_CLEAR_OWNER_DONE            0x02
+#define VB2_NV_TPM_REBOOTED                    0x04
+
+/* Fields in VB2_NV_OFFS_MISC (unused = 0xa0) */
+#define VB2_NV_MISC_DEPRECATED_UNLOCK_FASTBOOT            0x01
+#define VB2_NV_MISC_BOOT_ON_AC_DETECT          0x02
+#define VB2_NV_MISC_TRY_RO_SYNC                       0x04
+#define VB2_NV_MISC_BATTERY_CUTOFF             0x08
+#define VB2_NV_MISC_MINIOS_PRIORITY            0x10
+#define VB2_NV_MISC_POST_EC_SYNC_DELAY         0x40
+
+#endif  /* VBOOT_REFERENCE_2NVSTORAGE_FIELDS_H_ */
diff --git a/firmware/2lib/include/2packed_key.h b/firmware/2lib/include/2packed_key.h
new file mode 100644 (file)
index 0000000..09c7355
--- /dev/null
@@ -0,0 +1,39 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Functions related to unpacking keys and key buffers.
+ */
+
+#ifndef VBOOT_REFERENCE_2PACKED_KEY_H_
+#define VBOOT_REFERENCE_2PACKED_KEY_H_
+
+/**
+ * Unpack a vboot1-format key buffer for use in verification
+ *
+ * The elements of the unpacked key will point into the source buffer, so don't
+ * free the source buffer until you're done with the key.
+ *
+ * @param key          Destintion for unpacked key
+ * @param buf          Source buffer containing packed key
+ * @param size         Size of buffer in bytes
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_unpack_key_buffer(struct vb2_public_key *key,
+                                 const uint8_t *buf, uint32_t size);
+
+/**
+ * Unpack a vboot1-format key for use in verification
+ *
+ * The elements of the unpacked key will point into the source packed key, so
+ * don't free the source until you're done with the public key.
+ *
+ * @param key          Destintion for unpacked key
+ * @param packed_key   Source packed key
+ * @param size         Size of buffer in bytes
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_unpack_key(struct vb2_public_key *key,
+                          const struct vb2_packed_key *packed_key);
+
+#endif  /* VBOOT_REFERENCE_2PACKED_KEY_H_ */
diff --git a/firmware/2lib/include/2recovery_reasons.h b/firmware/2lib/include/2recovery_reasons.h
new file mode 100644 (file)
index 0000000..30dbd2e
--- /dev/null
@@ -0,0 +1,321 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Recovery reasons.
+ */
+
+#ifndef VBOOT_REFERENCE_2RECOVERY_REASONS_H_
+#define VBOOT_REFERENCE_2RECOVERY_REASONS_H_
+
+#include "2sysincludes.h"
+
+/**
+ * Return a description of the recovery reason code.
+ *
+ * @param              recovery reason code
+ * @return A string literal with English description of the recovery reason
+ */
+const char *vb2_get_recovery_reason_string(uint8_t code);
+
+/* Recovery reason codes */
+enum vb2_nv_recovery {
+
+       /**********************************************************************/
+       /**** Uncategorized errors ********************************************/
+
+       /* Recovery not requested. */
+       VB2_RECOVERY_NOT_REQUESTED = 0x00,
+
+       /*
+        * Recovery requested from legacy utility.  (Prior to the NV storage
+        * spec, recovery mode was a single bitfield; this value is reserved so
+        * that scripts which wrote 1 to the recovery field are distinguishable
+        * from scripts whch use the recovery reasons listed here.
+        */
+       VB2_RECOVERY_LEGACY = 0x01,
+
+       /* User manually requested recovery via recovery button */
+       VB2_RECOVERY_RO_MANUAL = 0x02,
+
+
+
+       /**********************************************************************/
+       /**** Firmware verification (RO) errors (and some EC stuff???) ********/
+
+       /* Unspecified RW verification error (when none of 0x10-0x1f fit) */
+       VB2_RECOVERY_RO_INVALID_RW = 0x03,
+
+       /* S3 resume failed (deprecated) */
+       VB2_RECOVERY_DEPRECATED_RO_S3_RESUME = 0x04,
+
+       /* TPM error in read-only firmware (deprecated, see 0x54+) */
+       VB2_RECOVERY_DEPRECATED_RO_TPM_ERROR = 0x05,
+
+       /* Shared data error in read-only firmware */
+       VB2_RECOVERY_RO_SHARED_DATA = 0x06,
+
+       /* Test error from S3Resume() (deprecated) */
+       VB2_RECOVERY_DEPRECATED_RO_TEST_S3 = 0x07,
+
+       /* Test error from LoadFirmwareSetup() (deprecated) */
+       VB2_RECOVERY_DEPRECATED_RO_TEST_LFS = 0x08,
+
+       /* Test error from LoadFirmware() (deprecated) */
+       VB2_RECOVERY_DEPRECATED_RO_TEST_LF = 0x09,
+
+       /*
+        * RW firmware failed signature check (neither RW firmware slot was
+        * valid).  Recovery reason is VB2_RECOVERY_DEPRECATED_RW_NOT_DONE +
+        * the check value for the slot which came closest to validating; see
+        * VBSD_LF_CHECK_* in vboot_struct.h (deprecated).
+        */
+       VB2_RECOVERY_DEPRECATED_RW_NOT_DONE = 0x10,
+
+       /* Latest tried RW firmware developer flag mismatch */
+       VB2_RECOVERY_DEPRECATED_RW_DEV_FLAG_MISMATCH = 0x11,
+
+       /* Latest tried RW firmware recovery flag mismatch */
+       VB2_RECOVERY_DEPRECATED_RW_REC_FLAG_MISMATCH = 0x12,
+
+       /* Latest tried RW firmware keyblock verification failed */
+       VB2_RECOVERY_FW_KEYBLOCK = 0x13,
+
+       /* Latest tried RW firmware key version too old */
+       VB2_RECOVERY_FW_KEY_ROLLBACK = 0x14,
+
+       /* Latest tried RW firmware unable to parse data key */
+       VB2_RECOVERY_DEPRECATED_RW_DATA_KEY_PARSE = 0x15,
+
+       /* Latest tried RW firmware preamble verification failed */
+       VB2_RECOVERY_FW_PREAMBLE = 0x16,
+
+       /* Latest tried RW firmware version too old */
+       VB2_RECOVERY_FW_ROLLBACK = 0x17,
+
+       /* Latest tried RW firmware header valid */
+       VB2_RECOVERY_DEPRECATED_FW_HEADER_VALID = 0x18,
+
+       /* Latest tried RW firmware unable to get firmware body */
+       VB2_RECOVERY_DEPRECATED_FW_GET_FW_BODY = 0x19,
+
+       /* Latest tried RW firmware hash wrong size */
+       VB2_RECOVERY_DEPRECATED_FW_HASH_WRONG_SIZE = 0x1a,
+
+       /* Latest tried RW firmware body verification failed */
+       VB2_RECOVERY_FW_BODY = 0x1b,
+
+       /* Latest tried RW firmware valid */
+       VB2_RECOVERY_DEPRECATED_FW_VALID = 0x1c,
+
+       /* Latest tried RW firmware RO normal path not supported */
+       VB2_RECOVERY_DEPRECATED_FW_NO_RO_NORMAL = 0x1d,
+
+       /*
+        * Firmware boot failure outside of verified boot (RAM init, missing
+        * SSD, etc.).
+        */
+       VB2_RECOVERY_RO_FIRMWARE = 0x20,
+
+       /*
+        * Recovery mode TPM initialization requires a system reboot.  The
+        * system was already in recovery mode for some other reason when this
+        * happened.
+        */
+       VB2_RECOVERY_RO_TPM_REBOOT = 0x21,
+
+       /* EC software sync - other error */
+       VB2_RECOVERY_EC_SOFTWARE_SYNC = 0x22,
+
+       /* EC software sync - unable to determine active EC image */
+       VB2_RECOVERY_EC_UNKNOWN_IMAGE = 0x23,
+
+       /* EC software sync - error obtaining EC image hash (deprecated) */
+       VB2_RECOVERY_DEPRECATED_EC_HASH = 0x24,
+
+       /* EC software sync - error obtaining expected EC image (deprecated) */
+       VB2_RECOVERY_DEPRECATED_EC_EXPECTED_IMAGE = 0x25,
+
+       /* EC software sync - error updating EC */
+       VB2_RECOVERY_EC_UPDATE = 0x26,
+
+       /* EC software sync - unable to jump to EC-RW */
+       VB2_RECOVERY_EC_JUMP_RW = 0x27,
+
+       /* EC software sync - unable to protect / unprotect EC-RW */
+       VB2_RECOVERY_EC_PROTECT = 0x28,
+
+       /* EC software sync - error obtaining expected EC hash */
+       VB2_RECOVERY_EC_EXPECTED_HASH = 0x29,
+
+       /* EC software sync - expected EC image doesn't match hash (deprc.) */
+       VB2_RECOVERY_DEPRECATED_EC_HASH_MISMATCH = 0x2a,
+
+       /* Firmware secure data initialization error */
+       VB2_RECOVERY_SECDATA_FIRMWARE_INIT = 0x2b,
+
+       /* GBB header is bad */
+       VB2_RECOVERY_GBB_HEADER = 0x2c,
+
+       /* Unable to clear TPM owner */
+       VB2_RECOVERY_TPM_CLEAR_OWNER = 0x2d,
+
+       /* Error determining/updating virtual dev switch */
+       VB2_RECOVERY_DEV_SWITCH = 0x2e,
+
+       /* Error determining firmware slot */
+       VB2_RECOVERY_FW_SLOT = 0x2f,
+
+       /* Error updating auxiliary firmware */
+       VB2_RECOVERY_AUXFW_UPDATE = 0x30,
+
+       /*
+        * Intel CSE Lite SKU firmware failure; see subcodes defined in coreboot for specific
+        * reason.
+        */
+       VB2_RECOVERY_INTEL_CSE_LITE_SKU = 0x31,
+
+       /* Unspecified/unknown error in read-only firmware */
+       VB2_RECOVERY_RO_UNSPECIFIED = 0x3f,
+
+
+
+       /**********************************************************************/
+       /**** Kernel verification (RW) errors *********************************/
+
+       /*
+        * User manually requested recovery by pressing a key at developer
+        * warning screen (deprecated)
+        */
+       VB2_RECOVERY_DEPRECATED_RW_DEV_SCREEN = 0x41,
+
+       /* No OS kernel detected (deprecated, now 0x5b) */
+       VB2_RECOVERY_DEPRECATED_RW_NO_OS = 0x42,
+
+       /* OS kernel failed signature check. Since the kernel corrupts itself
+          (DMVERROR) on a verity failure, may also indicate corrupt rootfs. */
+       VB2_RECOVERY_RW_INVALID_OS = 0x43,
+
+       /* TPM error in rewritable firmware (deprecated, see 0x54+) */
+       VB2_RECOVERY_DEPRECATED_RW_TPM_ERROR = 0x44,
+
+       /* RW firmware in dev mode, but dev switch is off (deprecated) */
+       VB2_RECOVERY_DEPRECATED_RW_DEV_MISMATCH = 0x45,
+
+       /* Shared data error in rewritable firmware */
+       VB2_RECOVERY_RW_SHARED_DATA = 0x46,
+
+       /* Test error from LoadKernel() (deprecated) */
+       VB2_RECOVERY_DEPRECATED_RW_TEST_LK = 0x47,
+
+       /* No bootable disk found (deprecated, see 0x5a) */
+       VB2_RECOVERY_DEPRECATED_RW_NO_DISK = 0x48,
+
+       /* Rebooting did not correct TPM_E_FAIL or TPM_E_FAILEDSELFTEST  */
+       VB2_RECOVERY_TPM_E_FAIL = 0x49,
+
+       /* TPM setup error in read-only firmware */
+       VB2_RECOVERY_RO_TPM_S_ERROR = 0x50,
+
+       /* TPM write error in read-only firmware */
+       VB2_RECOVERY_RO_TPM_W_ERROR = 0x51,
+
+       /* TPM lock error in read-only firmware */
+       VB2_RECOVERY_RO_TPM_L_ERROR = 0x52,
+
+       /* TPM update error in read-only firmware */
+       VB2_RECOVERY_RO_TPM_U_ERROR = 0x53,
+
+       /* TPM read error in rewritable firmware */
+       VB2_RECOVERY_RW_TPM_R_ERROR = 0x54,
+
+       /* TPM write error in rewritable firmware */
+       VB2_RECOVERY_RW_TPM_W_ERROR = 0x55,
+
+       /* TPM lock error in rewritable firmware */
+       VB2_RECOVERY_RW_TPM_L_ERROR = 0x56,
+
+       /* EC software sync unable to get EC image hash */
+       VB2_RECOVERY_EC_HASH_FAILED = 0x57,
+
+       /* EC software sync invalid image hash size */
+       VB2_RECOVERY_EC_HASH_SIZE = 0x58,
+
+       /* Unspecified error while trying to load kernel */
+       VB2_RECOVERY_LK_UNSPECIFIED = 0x59,
+
+       /* No bootable storage device in system */
+       VB2_RECOVERY_RW_NO_DISK = 0x5a,
+
+       /* No bootable kernel found on disk */
+       VB2_RECOVERY_RW_NO_KERNEL = 0x5b,
+
+       /* BCB related error in RW firmware (deprecated) */
+       VB2_RECOVERY_DEPRECATED_RW_BCB_ERROR = 0x5c,
+
+       /* Kernel secure data initialization error */
+       VB2_RECOVERY_SECDATA_KERNEL_INIT = 0x5d,
+
+       /* Fastboot mode requested in firmware (deprecated) */
+       VB2_RECOVERY_DEPRECATED_FW_FASTBOOT = 0x5e,
+
+       /* Recovery hash space lock error in RO firmware */
+       VB2_RECOVERY_RO_TPM_REC_HASH_L_ERROR = 0x5f,
+
+       /* Failed to disable the TPM [prior to running untrusted code] */
+       VB2_RECOVERY_TPM_DISABLE_FAILED = 0x60,
+
+       /* Verification of altfw payload failed (deprecated) */
+       VB2_RECOVERY_ALTFW_HASH_MISMATCH = 0x61,
+
+       /* FWMP secure data initialization error */
+       VB2_RECOVERY_SECDATA_FWMP_INIT = 0x62,
+
+       /* Failed to get boot mode from TPM/Cr50 */
+       VB2_RECOVERY_CR50_BOOT_MODE = 0x63,
+
+       /* Attempt to escape from NO_BOOT mode was detected */
+       VB2_RECOVERY_ESCAPE_NO_BOOT = 0x64,
+
+       /* Unspecified/unknown error in rewritable firmware */
+       VB2_RECOVERY_RW_UNSPECIFIED = 0x7f,
+
+
+
+       /**********************************************************************/
+       /**** OS level (kernel) errors (deprecated) ***************************/
+
+       /*
+        * Note: we want to avoid having the kernel touch vboot NVRAM directly
+        * in the future, so this whole range is essentially deprecated until
+        * further notice.
+        */
+
+       /* DM-verity error (deprecated) */
+       VB2_RECOVERY_DEPRECATED_KE_DM_VERITY = 0x81,
+
+       /* Unspecified/unknown error in kernel (deprecated) */
+       VB2_RECOVERY_DEPRECATED_KE_UNSPECIFIED = 0xbf,
+
+
+
+       /**********************************************************************/
+       /**** OS level (userspace) errors *************************************/
+
+       /* Recovery mode test from user-mode */
+       VB2_RECOVERY_US_TEST = 0xc1,
+
+       /* Recovery requested by user-mode via BCB (deprecated) */
+       VB2_RECOVERY_DEPRECATED_BCB_USER_MODE = 0xc2,
+
+       /* Fastboot mode requested by user-mode (deprecated) */
+       VB2_RECOVERY_DEPRECATED_US_FASTBOOT = 0xc3,
+
+       /* User requested recovery for training memory and rebooting. */
+       VB2_RECOVERY_TRAIN_AND_REBOOT = 0xc4,
+
+       /* Unspecified/unknown error in user-mode */
+       VB2_RECOVERY_US_UNSPECIFIED = 0xff,
+};
+
+#endif  /* VBOOT_REFERENCE_2RECOVERY_REASONS_H_ */
diff --git a/firmware/2lib/include/2return_codes.h b/firmware/2lib/include/2return_codes.h
new file mode 100644 (file)
index 0000000..176c2c6
--- /dev/null
@@ -0,0 +1,1035 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_2RETURN_CODES_H_
+#define VBOOT_REFERENCE_2RETURN_CODES_H_
+
+#include "2sysincludes.h"
+
+/*
+ * Functions which return an error all return this type.  This is a 32-bit
+ * value rather than an int so it's consistent across different architectures.
+ */
+typedef uint32_t vb2_error_t;
+
+/*
+ * Return codes from verified boot functions.
+ *
+ * Note that other values may be passed through from vb2ex_*() calls; see
+ * the comment for VB2_ERROR_EX below.
+ */
+enum vb2_return_code {
+       /* Success - no error */
+       VB2_SUCCESS = 0,
+
+       /**********************************************************************
+        * Requests to the caller that are not considered errors
+        */
+       VB2_REQUEST = 0x1000,
+
+       /* Calling firmware requested shutdown */
+       VB2_REQUEST_SHUTDOWN = 0x1001,
+
+       /* Calling firmware needs to perform a reboot */
+       VB2_REQUEST_REBOOT = 0x1002,
+
+       /* Need EC to reboot to read-only code to switch RW slot */
+       VB2_REQUEST_REBOOT_EC_SWITCH_RW = 0x1003,
+
+       /* Need EC to reboot to read-only code */
+       VB2_REQUEST_REBOOT_EC_TO_RO = 0x1004,
+
+       /* Continue in the UI loop.  This is used in UI internal functions. */
+       VB2_REQUEST_UI_CONTINUE = 0x1005,
+
+       /* Break from the UI loop.  This is used in UI internal functions. */
+       VB2_REQUEST_UI_EXIT = 0x1006,
+
+       /* End of VB2_REQUEST_* */
+       VB2_REQUEST_END = 0x5000,
+
+       /**********************************************************************
+        * All vboot2 error codes start at a large offset from zero, to reduce
+        * the risk of overlap with other error codes (TPM, etc.).
+        */
+       VB2_ERROR_BASE = 0x10000000,
+
+       /* Unknown / unspecified error */
+       VB2_ERROR_UNKNOWN = VB2_ERROR_BASE + 1,
+
+       /* Mock error for testing */
+       VB2_ERROR_MOCK,
+
+       /**********************************************************************
+        * SHA errors
+        */
+       VB2_ERROR_SHA = VB2_ERROR_BASE + 0x010000,
+
+       /* Bad algorithm in vb2_digest_init() */
+       VB2_ERROR_SHA_INIT_ALGORITHM,
+
+       /* Bad algorithm in vb2_digest_extend() */
+       VB2_ERROR_SHA_EXTEND_ALGORITHM,
+
+       /* Bad algorithm in vb2_digest_finalize() */
+       VB2_ERROR_SHA_FINALIZE_ALGORITHM,
+
+       /* Digest size buffer too small in vb2_digest_finalize() */
+       VB2_ERROR_SHA_FINALIZE_DIGEST_SIZE,
+
+       /* Hash mismatch in vb2_hash_verify() */
+       VB2_ERROR_SHA_MISMATCH,
+
+       /**********************************************************************
+        * RSA errors
+        */
+       VB2_ERROR_RSA = VB2_ERROR_BASE + 0x020000,
+
+       /* Padding mismatch in vb2_check_padding() */
+       VB2_ERROR_RSA_PADDING,
+
+       /* Bad algorithm in vb2_check_padding() */
+       VB2_ERROR_RSA_PADDING_ALGORITHM,
+
+       /* Null param passed to vb2_verify_digest() */
+       VB2_ERROR_RSA_VERIFY_PARAM,
+
+       /* Bad algorithm in vb2_verify_digest() */
+       VB2_ERROR_RSA_VERIFY_ALGORITHM,
+
+       /* Bad signature length in vb2_verify_digest() */
+       VB2_ERROR_RSA_VERIFY_SIG_LEN,
+
+       /* Work buffer too small in vb2_verify_digest() */
+       VB2_ERROR_RSA_VERIFY_WORKBUF,
+
+       /* Digest mismatch in vb2_verify_digest() */
+       VB2_ERROR_RSA_VERIFY_DIGEST,
+
+       /* Bad size calculation in vb2_check_padding() */
+       VB2_ERROR_RSA_PADDING_SIZE,
+
+       /**********************************************************************
+        * NV storage errors
+        */
+       VB2_ERROR_NV = VB2_ERROR_BASE + 0x030000,
+
+       /* Bad header in vb2_nv_check_crc() */
+       VB2_ERROR_NV_HEADER,
+
+       /* Bad CRC in vb2_nv_check_crc() */
+       VB2_ERROR_NV_CRC,
+
+       /* Read error in nvdata backend */
+       VB2_ERROR_NV_READ,
+
+       /* Write error in nvdata backend */
+       VB2_ERROR_NV_WRITE,
+
+       /**********************************************************************
+        * Secure data storage errors
+        */
+       VB2_ERROR_SECDATA = VB2_ERROR_BASE + 0x040000,
+
+       /* Bad CRC in vb2api_secdata_firmware_check() */
+       VB2_ERROR_SECDATA_FIRMWARE_CRC,
+
+       /* Bad struct version in vb2api_secdata_firmware_check() */
+       VB2_ERROR_SECDATA_FIRMWARE_VERSION,
+
+       /* Invalid param in vb2_secdata_firmware_get();
+          Deprecated with chromium:972956. */
+       VB2_ERROR_DEPRECATED_SECDATA_FIRMWARE_GET_PARAM,
+
+       /* Invalid param in vb2_secdata_firmware_set();
+          Deprecated with chromium:972956. */
+       VB2_ERROR_DEPRECATED_SECDATA_FIRMWARE_SET_PARAM,
+
+       /* Invalid flags passed to vb2_secdata_firmware_set();
+          Deprecated with chromium:972956. */
+       VB2_ERROR_DEPRECATED_SECDATA_FIRMWARE_SET_FLAGS,
+
+       /* Called vb2_secdata_firmware_get() with uninitialized secdata;
+          Deprecated with chromium:972956. */
+       VB2_ERROR_DEPRECATED_SECDATA_FIRMWARE_GET_UNINITIALIZED,
+
+       /* Called vb2_secdata_firmware_set() with uninitialized secdata;
+          Deprecated with chromium:972956. */
+       VB2_ERROR_DEPRECATED_SECDATA_FIRMWARE_SET_UNINITIALIZED,
+
+       /* Bad CRC in vb2api_secdata_kernel_check() */
+       VB2_ERROR_SECDATA_KERNEL_CRC,
+
+       /* Bad struct version in vb2_secdata_kernel_init() */
+       VB2_ERROR_SECDATA_KERNEL_VERSION,
+
+       /* Bad uid in vb2_secdata_kernel_init() */
+       VB2_ERROR_SECDATA_KERNEL_UID,
+
+       /* Invalid param in vb2_secdata_kernel_get();
+          Deprecated with chromium:972956. */
+       VB2_ERROR_DEPRECATED_SECDATA_KERNEL_GET_PARAM,
+
+       /* Invalid param in vb2_secdata_kernel_set();
+          Deprecated with chromium:972956. */
+       VB2_ERROR_DEPRECATED_SECDATA_KERNEL_SET_PARAM,
+
+       /* Invalid flags passed to vb2_secdata_kernel_set();
+          Deprecated with chromium:972956. */
+       VB2_ERROR_DEPRECATED_SECDATA_KERNEL_SET_FLAGS,
+
+       /* Called vb2_secdata_kernel_get() with uninitialized secdata_kernel;
+          Deprecated with chromium:972956. */
+       VB2_ERROR_DEPRECATED_SECDATA_KERNEL_GET_UNINITIALIZED,
+
+       /* Called vb2_secdata_kernel_set() with uninitialized secdata_kernel;
+          Deprecated with chromium:972956. */
+       VB2_ERROR_DEPRECATED_SECDATA_KERNEL_SET_UNINITIALIZED,
+
+       /* Bad size in vb2api_secdata_fwmp_check() */
+       VB2_ERROR_SECDATA_FWMP_SIZE,
+
+       /* Incomplete structure in vb2api_secdata_fwmp_check() */
+       VB2_ERROR_SECDATA_FWMP_INCOMPLETE,
+
+       /* Bad CRC in vb2api_secdata_fwmp_check() */
+       VB2_ERROR_SECDATA_FWMP_CRC,
+
+       /* Bad struct version in vb2_secdata_fwmp_check() */
+       VB2_ERROR_SECDATA_FWMP_VERSION,
+
+       /* Error reading secdata_firmware from storage backend */
+       VB2_ERROR_SECDATA_FIRMWARE_READ,
+
+       /* Error writing secdata_firmware to storage backend */
+       VB2_ERROR_SECDATA_FIRMWARE_WRITE,
+
+       /* Error locking secdata_firmware in storage backend */
+       VB2_ERROR_SECDATA_FIRMWARE_LOCK,
+
+       /* Error reading secdata_kernel from storage backend */
+       VB2_ERROR_SECDATA_KERNEL_READ,
+
+       /* Error writing secdata_kernel to storage backend */
+       VB2_ERROR_SECDATA_KERNEL_WRITE,
+
+       /* Error locking secdata_kernel in storage backend */
+       VB2_ERROR_SECDATA_KERNEL_LOCK,
+
+       /* Error reading secdata_fwmp from storage backend */
+       VB2_ERROR_SECDATA_FWMP_READ,
+
+       /* Bad buffer size to read vb2_secdata_kernel */
+       VB2_ERROR_SECDATA_KERNEL_BUFFER_SIZE,
+
+       /* Incomplete structure in vb2api_secdata_kernel_check() */
+       VB2_ERROR_SECDATA_KERNEL_INCOMPLETE,
+
+       /* Bad struct size in vb2_secdata_kernel */
+       VB2_ERROR_SECDATA_KERNEL_STRUCT_SIZE,
+
+       /**********************************************************************
+        * Common code errors
+        */
+       VB2_ERROR_COMMON = VB2_ERROR_BASE + 0x050000,
+
+       /* Buffer is smaller than alignment offset in vb2_align() */
+       VB2_ERROR_ALIGN_BIGGER_THAN_SIZE,
+
+       /* Buffer is smaller than request in vb2_align() */
+       VB2_ERROR_ALIGN_SIZE,
+
+       /* Parent wraps around in vb2_verify_member_inside() */
+       VB2_ERROR_INSIDE_PARENT_WRAPS,
+
+       /* Member wraps around in vb2_verify_member_inside() */
+       VB2_ERROR_INSIDE_MEMBER_WRAPS,
+
+       /* Member outside parent in vb2_verify_member_inside() */
+       VB2_ERROR_INSIDE_MEMBER_OUTSIDE,
+
+       /* Member data wraps around in vb2_verify_member_inside() */
+       VB2_ERROR_INSIDE_DATA_WRAPS,
+
+       /* Member data outside parent in vb2_verify_member_inside() */
+       VB2_ERROR_INSIDE_DATA_OUTSIDE,
+
+       /* Unsupported signature algorithm in vb2_unpack_key_buffer() */
+       VB2_ERROR_UNPACK_KEY_SIG_ALGORITHM,                      /* 0x150008 */
+
+       /* Bad key size in vb2_unpack_key_buffer() */
+       VB2_ERROR_UNPACK_KEY_SIZE,
+
+       /* Bad key alignment in vb2_unpack_key_buffer() */
+       VB2_ERROR_UNPACK_KEY_ALIGN,
+
+       /* Bad key array size in vb2_unpack_key_buffer() */
+       VB2_ERROR_UNPACK_KEY_ARRAY_SIZE,
+
+       /* Bad algorithm in vb2_verify_data() */
+       VB2_ERROR_VDATA_ALGORITHM,
+
+       /* Incorrect signature size for algorithm in vb2_verify_data() */
+       VB2_ERROR_VDATA_SIG_SIZE,
+
+       /* Data smaller than length of signed data in vb2_verify_data() */
+       VB2_ERROR_VDATA_NOT_ENOUGH_DATA,
+
+       /* Not enough work buffer for digest in vb2_verify_data() */
+       VB2_ERROR_VDATA_WORKBUF_DIGEST,
+
+       /* Not enough work buffer for hash temp data in vb2_verify_data() */
+       VB2_ERROR_VDATA_WORKBUF_HASHING,                         /* 0x150010 */
+
+       /*
+        * Bad digest size in vb2_verify_data() - probably because algorithm
+        * is bad.
+        */
+       VB2_ERROR_VDATA_DIGEST_SIZE,
+
+       /* Unsupported hash algorithm in vb2_unpack_key_buffer() */
+       VB2_ERROR_UNPACK_KEY_HASH_ALGORITHM,
+
+       /* Member data overlaps member header */
+       VB2_ERROR_INSIDE_DATA_OVERLAP,
+
+       /* Unsupported packed key struct version */
+       VB2_ERROR_UNPACK_KEY_STRUCT_VERSION,
+
+       /*
+        * Buffer too small for total, fixed size, or description reported in
+        * common header, or member data checked via
+        * vb21_verify_common_member().
+        */
+       VB2_ERROR_COMMON_TOTAL_SIZE,
+       VB2_ERROR_COMMON_FIXED_SIZE,
+       VB2_ERROR_COMMON_DESC_SIZE,
+       VB2_ERROR_COMMON_MEMBER_SIZE,                            /* 0x150018 */
+
+       /*
+        * Total, fixed, description, or member offset/size not a multiple of
+        * 32 bits.
+        */
+       VB2_ERROR_COMMON_TOTAL_UNALIGNED,
+       VB2_ERROR_COMMON_FIXED_UNALIGNED,
+       VB2_ERROR_COMMON_DESC_UNALIGNED,
+       VB2_ERROR_COMMON_MEMBER_UNALIGNED,
+
+       /* Common struct description or member data wraps address space */
+       VB2_ERROR_COMMON_DESC_WRAPS,
+       VB2_ERROR_COMMON_MEMBER_WRAPS,
+
+       /* Common struct description is not null-terminated */
+       VB2_ERROR_COMMON_DESC_TERMINATOR,
+
+       /* Member data overlaps previous data */
+       VB2_ERROR_COMMON_MEMBER_OVERLAP,                         /* 0x150020 */
+
+       /* Signature bad magic number */
+       VB2_ERROR_SIG_MAGIC,
+
+       /* Signature incompatible version */
+       VB2_ERROR_SIG_VERSION,
+
+       /* Signature header doesn't fit */
+       VB2_ERROR_SIG_HEADER_SIZE,
+
+       /* Signature unsupported algorithm */
+       VB2_ERROR_SIG_ALGORITHM,
+
+       /* Signature bad size for algorithm */
+       VB2_ERROR_SIG_SIZE,
+
+       /* Wrong amount of data signed */
+       VB2_ERROR_VDATA_SIZE,
+
+       /* Digest mismatch */
+       VB2_ERROR_VDATA_VERIFY_DIGEST,
+
+       /* Key algorithm doesn't match signature algorithm */
+       VB2_ERROR_VDATA_ALGORITHM_MISMATCH,
+
+       /* Bad magic number in vb2_unpack_key_buffer() */
+       VB2_ERROR_UNPACK_KEY_MAGIC,
+
+       /* Null public key buffer passed to vb2_unpack_key_buffer() */
+       VB2_ERROR_UNPACK_KEY_BUFFER,
+
+       /**********************************************************************
+        * Keyblock verification errors (all in vb2_verify_keyblock())
+        */
+       VB2_ERROR_KEYBLOCK = VB2_ERROR_BASE + 0x060000,
+
+       /* Data buffer too small for header */
+       VB2_ERROR_KEYBLOCK_TOO_SMALL_FOR_HEADER,
+
+       /* Magic number not present */
+       VB2_ERROR_KEYBLOCK_MAGIC,
+
+       /* Header version incompatible */
+       VB2_ERROR_KEYBLOCK_HEADER_VERSION,
+
+       /* Data buffer too small for keyblock */
+       VB2_ERROR_KEYBLOCK_SIZE,
+
+       /* Signature data offset outside keyblock */
+       VB2_ERROR_KEYBLOCK_SIG_OUTSIDE,
+
+       /* Signature signed more data than size of keyblock */
+       VB2_ERROR_KEYBLOCK_SIGNED_TOO_MUCH,
+
+       /* Signature signed less data than size of keyblock header */
+       VB2_ERROR_KEYBLOCK_SIGNED_TOO_LITTLE,
+
+       /* Signature invalid */
+       VB2_ERROR_KEYBLOCK_SIG_INVALID,
+
+       /* Data key outside keyblock */
+       VB2_ERROR_KEYBLOCK_DATA_KEY_OUTSIDE,
+
+       /* Data key outside signed part of keyblock */
+       VB2_ERROR_KEYBLOCK_DATA_KEY_UNSIGNED,
+
+       /* Signature signed wrong amount of data */
+       VB2_ERROR_KEYBLOCK_SIGNED_SIZE,
+
+       /* No signature matching key ID */
+       VB2_ERROR_KEYBLOCK_SIG_ID,
+
+       /* Invalid keyblock hash in dev mode (self-signed kernel) */
+       VB2_ERROR_KEYBLOCK_HASH_INVALID_IN_DEV_MODE,
+
+       /**********************************************************************
+        * Preamble verification errors (all in vb2_verify_preamble())
+        */
+       VB2_ERROR_PREAMBLE = VB2_ERROR_BASE + 0x070000,
+
+       /* Preamble data too small to contain header */
+       VB2_ERROR_PREAMBLE_TOO_SMALL_FOR_HEADER,
+
+       /* Header version incompatible */
+       VB2_ERROR_PREAMBLE_HEADER_VERSION,
+
+       /* Header version too old */
+       VB2_ERROR_PREAMBLE_HEADER_OLD,
+
+       /* Data buffer too small for preamble */
+       VB2_ERROR_PREAMBLE_SIZE,
+
+       /* Signature data offset outside preamble */
+       VB2_ERROR_PREAMBLE_SIG_OUTSIDE,
+
+       /* Signature signed more data than size of preamble */
+       VB2_ERROR_PREAMBLE_SIGNED_TOO_MUCH,
+
+       /* Signature signed less data than size of preamble header */
+       VB2_ERROR_PREAMBLE_SIGNED_TOO_LITTLE,
+
+       /* Signature invalid */
+       VB2_ERROR_PREAMBLE_SIG_INVALID,
+
+       /* Body signature outside preamble */
+       VB2_ERROR_PREAMBLE_BODY_SIG_OUTSIDE,
+
+       /* Kernel subkey outside preamble */
+       VB2_ERROR_PREAMBLE_KERNEL_SUBKEY_OUTSIDE,
+
+       /* Bad magic number */
+       VB2_ERROR_PREAMBLE_MAGIC,
+
+       /* Hash is signed */
+       VB2_ERROR_PREAMBLE_HASH_SIGNED,
+
+       /* Bootloader outside signed portion of body */
+       VB2_ERROR_PREAMBLE_BOOTLOADER_OUTSIDE,
+
+       /* Vmlinuz header outside signed portion of body */
+       VB2_ERROR_PREAMBLE_VMLINUZ_HEADER_OUTSIDE,
+
+       /**********************************************************************
+        * Misc higher-level code errors
+        */
+       VB2_ERROR_MISC = VB2_ERROR_BASE + 0x080000,
+
+       /* Work buffer too small (see vb2api_init and vb2api_reinit) */
+       VB2_ERROR_WORKBUF_SMALL = 0x10080001,
+
+       /* Work buffer unaligned (see vb2api_init and vb2api_reinit) */
+       VB2_ERROR_WORKBUF_ALIGN = 0x10080002,
+
+       /* Work buffer too small in GBB-related function */
+       VB2_ERROR_GBB_WORKBUF = 0x10080003,
+
+       /* Bad magic number in vb2_read_gbb_header() */
+       VB2_ERROR_GBB_MAGIC = 0x10080004,
+
+       /* Incompatible version in vb2_read_gbb_header() */
+       VB2_ERROR_GBB_VERSION = 0x10080005,
+
+       /* Old version in vb2_read_gbb_header() */
+       VB2_ERROR_GBB_TOO_OLD = 0x10080006,
+
+       /* Header size too small in vb2_read_gbb_header() */
+       VB2_ERROR_GBB_HEADER_SIZE = 0x10080007,
+
+       /* Work buffer too small for root key in vb2_load_fw_keyblock() */
+       VB2_ERROR_FW_KEYBLOCK_WORKBUF_ROOT_KEY = 0x10080008,
+
+       /* Work buffer too small for header in vb2_load_fw_keyblock() */
+       VB2_ERROR_FW_KEYBLOCK_WORKBUF_HEADER = 0x10080009,
+
+       /* Work buffer too small for keyblock in vb2_load_fw_keyblock() */
+       VB2_ERROR_FW_KEYBLOCK_WORKBUF = 0x1008000a,
+
+       /* Keyblock version out of range in vb2_load_fw_keyblock() */
+       VB2_ERROR_FW_KEYBLOCK_VERSION_RANGE = 0x1008000b,
+
+       /* Keyblock version rollback in vb2_load_fw_keyblock() */
+       VB2_ERROR_FW_KEYBLOCK_VERSION_ROLLBACK = 0x1008000c,
+
+       /* Missing firmware data key in vb2_load_fw_preamble() */
+       VB2_ERROR_FW_PREAMBLE2_DATA_KEY = 0x1008000d,
+
+       /* Work buffer too small for header in vb2_load_fw_preamble() */
+       VB2_ERROR_FW_PREAMBLE2_WORKBUF_HEADER = 0x1008000e,
+
+       /* Work buffer too small for preamble in vb2_load_fw_preamble() */
+       VB2_ERROR_FW_PREAMBLE2_WORKBUF = 0x1008000f,
+
+       /* Firmware version out of range in vb2_load_fw_preamble() */
+       VB2_ERROR_FW_PREAMBLE_VERSION_RANGE = 0x10080010,
+
+       /* Firmware version rollback in vb2_load_fw_preamble() */
+       VB2_ERROR_FW_PREAMBLE_VERSION_ROLLBACK = 0x10080011,
+
+       /* Not enough space in work buffer for resource object */
+       VB2_ERROR_READ_RESOURCE_OBJECT_BUF = 0x10080012,
+
+       /* Work buffer too small for header in vb2_load_kernel_keyblock() */
+       VB2_ERROR_KERNEL_KEYBLOCK_WORKBUF_HEADER = 0x10080013,
+
+       /* Work buffer too small for keyblock in vb2_load_kernel_keyblock() */
+       VB2_ERROR_KERNEL_KEYBLOCK_WORKBUF = 0x10080014,
+
+       /* Keyblock version out of range in vb2_load_kernel_keyblock() */
+       VB2_ERROR_KERNEL_KEYBLOCK_VERSION_RANGE = 0x10080015,
+
+       /* Keyblock version rollback in vb2_load_kernel_keyblock() */
+       VB2_ERROR_KERNEL_KEYBLOCK_VERSION_ROLLBACK = 0x10080016,
+
+       /*
+        * Keyblock flags don't match current mode in
+        * vb2_load_kernel_keyblock().
+        */
+       VB2_ERROR_KERNEL_KEYBLOCK_DEV_FLAG = 0x10080017,
+       VB2_ERROR_KERNEL_KEYBLOCK_REC_FLAG = 0x10080018,
+
+       /* Missing firmware data key in vb2_load_kernel_preamble() */
+       VB2_ERROR_KERNEL_PREAMBLE2_DATA_KEY = 0x10080019,
+
+       /* Work buffer too small for header in vb2_load_kernel_preamble() */
+       VB2_ERROR_KERNEL_PREAMBLE2_WORKBUF_HEADER = 0x1008001a,
+
+       /* Work buffer too small for preamble in vb2_load_kernel_preamble() */
+       VB2_ERROR_KERNEL_PREAMBLE2_WORKBUF = 0x1008001b,
+
+       /* Kernel version out of range in vb2_load_kernel_preamble() */
+       VB2_ERROR_KERNEL_PREAMBLE_VERSION_RANGE = 0x1008001c,
+
+       /* Kernel version rollback in vb2_load_kernel_preamble() */
+       VB2_ERROR_KERNEL_PREAMBLE_VERSION_ROLLBACK = 0x1008001d,
+
+       /* Kernel preamble not loaded before calling vb2api_get_kernel_size() */
+       VB2_ERROR_API_GET_KERNEL_SIZE_PREAMBLE = 0x1008001e,
+
+       /* Unable to unpack kernel subkey in vb2_verify_vblock();
+        * deprecated and replaced with VB2_ERROR_UNPACK_KEY_* */
+       VB2_ERROR_DEPRECATED_VBLOCK_KERNEL_SUBKEY = 0x1008001f,
+
+       /*
+        * Got a self-signed kernel in vb2_verify_vblock(), but need an
+        * officially signed one; deprecated and replaced with
+        * VB2_ERROR_KERNEL_KEYBLOCK_*.
+        */
+       VB2_ERROR_DEPRECATED_VBLOCK_SELF_SIGNED = 0x10080020,
+
+       /* Invalid keyblock hash in vb2_verify_vblock();
+        * deprecated and replaced with VB2_ERROR_KERNEL_KEYBLOCK_* */
+       VB2_ERROR_DEPRECATED_VBLOCK_KEYBLOCK_HASH = 0x10080021,
+
+       /* Invalid keyblock in vb2_verify_vblock();
+        * deprecated and replaced with VB2_ERROR_KERNEL_KEYBLOCK_* */
+       VB2_ERROR_DEPRECATED_VBLOCK_KEYBLOCK = 0x10080022,
+
+       /* Wrong dev key hash in vb2_verify_kernel_vblock_dev_key_hash() */
+       VB2_ERROR_KERNEL_KEYBLOCK_DEV_KEY_HASH = 0x10080023,
+
+       /* Work buffer too small in vb2_load_partition() */
+       VB2_ERROR_LOAD_PARTITION_WORKBUF = 0x10080024,
+
+       /* Unable to read vblock in vb2_load_partition() */
+       VB2_ERROR_LOAD_PARTITION_READ_VBLOCK = 0x10080025,
+
+       /* Unable to verify vblock in vb2_load_partition() */
+       VB2_ERROR_LOAD_PARTITION_VERIFY_VBLOCK = 0x10080026,
+
+       /* Kernel body offset too large in vb2_load_partition() */
+       VB2_ERROR_LOAD_PARTITION_BODY_OFFSET = 0x10080027,
+
+       /* Kernel body too big in vb2_load_partition() */
+       VB2_ERROR_LOAD_PARTITION_BODY_SIZE = 0x10080028,
+
+       /* Unable to read kernel body in vb2_load_partition() */
+       VB2_ERROR_LOAD_PARTITION_READ_BODY = 0x10080029,
+
+       /* Unable to unpack data key in vb2_load_partition() */
+       VB2_ERROR_LOAD_PARTITION_DATA_KEY = 0x1008002a,
+
+       /* Unable to verify body in vb2_load_partition() */
+       VB2_ERROR_LOAD_PARTITION_VERIFY_BODY = 0x1008002b,
+
+       /* Unable to get EC image hash in ec_sync_phase1() */
+       VB2_ERROR_EC_HASH_IMAGE = 0x1008002c,
+
+       /* Unable to get expected EC image hash in ec_sync_phase1() */
+       VB2_ERROR_EC_HASH_EXPECTED = 0x1008002d,
+
+       /* Expected and image hashes are different size in ec_sync_phase1() */
+       VB2_ERROR_EC_HASH_SIZE = 0x1008002e,
+
+       /* Incompatible version for vb2_shared_data structure being loaded */
+       VB2_ERROR_SHARED_DATA_VERSION = 0x1008002f,
+
+       /* Bad magic number in vb2_shared_data structure */
+       VB2_ERROR_SHARED_DATA_MAGIC = 0x10080030,
+
+       /* Some part of GBB data is invalid */
+       VB2_ERROR_GBB_INVALID = 0x10080031,
+
+       /* Invalid parameter */
+       VB2_ERROR_INVALID_PARAMETER = 0x10080032,
+
+       /* Problem with workbuf validity (see vb2api_init and vb2api_reinit) */
+       VB2_ERROR_WORKBUF_INVALID = 0x10080033,
+
+       /* Escape from NO_BOOT mode is detected */
+       VB2_ERROR_ESCAPE_NO_BOOT = 0x10080034,
+
+       /*
+        * Keyblock flags don't match current mode in
+        * vb2_load_kernel_keyblock().
+        */
+       VB2_ERROR_KERNEL_KEYBLOCK_MINIOS_FLAG = 0x10080035,
+
+       /**********************************************************************
+        * API-level errors
+        */
+       VB2_ERROR_API = VB2_ERROR_BASE + 0x090000,
+
+       /* Bad tag in vb2api_init_hash() */
+       VB2_ERROR_API_INIT_HASH_TAG,
+
+       /* Preamble not present in vb2api_init_hash() */
+       VB2_ERROR_API_INIT_HASH_PREAMBLE,
+
+       /* Work buffer too small in vb2api_init_hash() */
+       VB2_ERROR_API_INIT_HASH_WORKBUF,
+
+       /* Missing firmware data key in vb2api_init_hash() */
+       VB2_ERROR_API_INIT_HASH_DATA_KEY,
+
+       /* Uninitialized work area in vb2api_extend_hash() */
+       VB2_ERROR_API_EXTEND_HASH_WORKBUF,
+
+       /* Too much data hashed in vb2api_extend_hash() */
+       VB2_ERROR_API_EXTEND_HASH_SIZE,
+
+       /* Preamble not present in vb2api_check_hash() */
+       VB2_ERROR_API_CHECK_HASH_PREAMBLE,
+
+       /* Uninitialized work area in vb2api_check_hash() */
+       VB2_ERROR_API_CHECK_HASH_WORKBUF,
+
+       /* Wrong amount of data hashed in vb2api_check_hash() */
+       VB2_ERROR_API_CHECK_HASH_SIZE,
+
+       /* Work buffer too small in vb2api_check_hash() */
+       VB2_ERROR_API_CHECK_HASH_WORKBUF_DIGEST,
+
+       /* Bad tag in vb2api_check_hash() */
+       VB2_ERROR_API_CHECK_HASH_TAG,
+
+       /* Missing firmware data key in vb2api_check_hash() */
+       VB2_ERROR_API_CHECK_HASH_DATA_KEY,
+
+       /* Signature size mismatch in vb2api_check_hash() */
+       VB2_ERROR_API_CHECK_HASH_SIG_SIZE,
+
+       /* Phase one needs recovery mode */
+       VB2_ERROR_API_PHASE1_RECOVERY,
+
+       /* Bad tag in vb2api_check_hash() */
+       VB2_ERROR_API_INIT_HASH_ID,
+
+       /* Signature mismatch in vb2api_check_hash() */
+       VB2_ERROR_API_CHECK_HASH_SIG,
+
+       /* Invalid enum vb2_pcr_digest requested to vb2api_get_pcr_digest */
+       VB2_ERROR_API_PCR_DIGEST,
+
+       /* Buffer size for the digest is too small for vb2api_get_pcr_digest */
+       VB2_ERROR_API_PCR_DIGEST_BUF,
+
+       /* Work buffer too small for recovery key in vb2api_kernel_phase1();
+        * Deprecated: use vb2_gbb_read_recovery_key return values */
+       VB2_ERROR_DEPRECATED_API_KPHASE1_WORKBUF_REC_KEY,
+
+       /* Firmware preamble not present for vb2api_kernel_phase1() */
+       VB2_ERROR_API_KPHASE1_PREAMBLE,
+
+       /* Wrong amount of kernel data in vb2api_verify_kernel_data() */
+       VB2_ERROR_API_VERIFY_KDATA_SIZE,
+
+       /* Kernel preamble not present for vb2api_verify_kernel_data() */
+       VB2_ERROR_API_VERIFY_KDATA_PREAMBLE,
+
+       /* Insufficient workbuf for hashing in vb2api_verify_kernel_data() */
+       VB2_ERROR_API_VERIFY_KDATA_WORKBUF,
+
+       /* Bad data key in vb2api_verify_kernel_data() */
+       VB2_ERROR_API_VERIFY_KDATA_KEY,
+
+       /* Phase one passing through secdata's request to reboot */
+       VB2_ERROR_API_PHASE1_SECDATA_REBOOT,
+
+       /* Digest buffer passed into vb2api_check_hash incorrect. */
+       VB2_ERROR_API_CHECK_DIGEST_SIZE,
+
+       /* Disabling developer mode is not allowed by GBB flags */
+       VB2_ERROR_API_DISABLE_DEV_NOT_ALLOWED,
+
+       /* Enabling developer mode is not allowed in non-recovery mode */
+       VB2_ERROR_API_ENABLE_DEV_NOT_ALLOWED,
+
+       /**********************************************************************
+        * Errors which may be generated by implementations of vb2ex functions.
+        * Implementation may also return its own specific errors, which should
+        * NOT be in the range VB2_ERROR_BASE...VB2_ERROR_MAX to avoid
+        * conflicting with future vboot2 error codes.
+        */
+       VB2_ERROR_EX = VB2_ERROR_BASE + 0x0a0000,
+
+       /* Read resource not implemented
+        * Deprecated: use VB2_ERROR_EX_UNIMPLEMENTED (chromium:944804) */
+       VB2_ERROR_EX_DEPRECATED_READ_RESOURCE_UNIMPLEMENTED,
+
+       /* Resource index not found */
+       VB2_ERROR_EX_READ_RESOURCE_INDEX,
+
+       /* Size of resource not big enough for requested offset and/or size */
+       VB2_ERROR_EX_READ_RESOURCE_SIZE,
+
+       /* TPM clear owner failed */
+       VB2_ERROR_EX_TPM_CLEAR_OWNER,
+
+       /* TPM clear owner not implemented
+        * Deprecated: use VB2_ERROR_EX_UNIMPLEMENTED (chromium:944804) */
+       VB2_ERROR_DEPRECATED_EX_TPM_CLEAR_OWNER_UNIMPLEMENTED,
+
+       /* Hardware crypto engine doesn't support this algorithm (non-fatal) */
+       VB2_ERROR_EX_HWCRYPTO_UNSUPPORTED,
+
+       /* TPM does not understand this command */
+       VB2_ERROR_EX_TPM_NO_SUCH_COMMAND,
+
+       /* vb2ex function is unimplemented (stubbed in 2lib/2stub.c) */
+       VB2_ERROR_EX_UNIMPLEMENTED,
+
+       /* AUXFW peripheral busy. Cannot upgrade firmware at present. */
+       VB2_ERROR_EX_AUXFW_PERIPHERAL_BUSY,
+
+       /* Error setting vendor data (see: VbExSetVendorData).
+        * Deprecated: functionality removed with legacy UI (b/167643628) */
+       VB2_ERROR_DEPRECATED_EX_SET_VENDOR_DATA,
+
+       /* The memory test is running but the output buffer was unchanged. */
+       VB2_ERROR_EX_DIAG_TEST_RUNNING,
+
+       /* The memory test is running and the output buffer was updated. */
+       VB2_ERROR_EX_DIAG_TEST_UPDATED,
+
+       /* The memory test initialization failed. */
+       VB2_ERROR_EX_DIAG_TEST_INIT_FAILED,
+
+       /**********************************************************************
+        * LoadKernel errors
+        *
+        * Should be ordered by specificity -- lower number means more specific.
+        */
+       VB2_ERROR_LK = 0x100b0000,
+
+       /* Only an invalid kernel was found in LoadKernel() */
+       VB2_ERROR_LK_INVALID_KERNEL_FOUND = 0x100b1000,
+
+       /* No kernel partitions were found in LoadKernel() */
+       VB2_ERROR_LK_NO_KERNEL_FOUND = 0x100b2000,
+
+       /* No working block devices were found in VbTryLoadKernel() */
+       VB2_ERROR_LK_NO_DISK_FOUND = 0x100b3000,
+
+       /**********************************************************************
+        * UI errors
+        */
+       VB2_ERROR_UI = 0x100c0000,
+
+       /* Display initialization failed */
+       VB2_ERROR_UI_DISPLAY_INIT = 0x100c0001,
+
+       /* Problem finding screen entry or its draw function */
+       VB2_ERROR_UI_INVALID_SCREEN = 0x100c0002,
+
+       /* Screen drawing failed, including all CBGFX_ERROR_* errors returned
+          from libpayload */
+       VB2_ERROR_UI_DRAW_FAILURE = 0x100c0003,
+
+       /* Problem loading archive from CBFS */
+       VB2_ERROR_UI_INVALID_ARCHIVE = 0x100c0004,
+
+       /* Image not found in the archive */
+       VB2_ERROR_UI_MISSING_IMAGE = 0x100c0005,
+
+       /* Requested locale not available */
+       VB2_ERROR_UI_INVALID_LOCALE = 0x100c0006,
+
+       /* Memory allocation failure */
+       VB2_ERROR_UI_MEMORY_ALLOC = 0x100c0007,
+
+       /* Log screen initialization failed */
+       VB2_ERROR_UI_LOG_INIT = 0x100c0008,
+
+       /**********************************************************************
+        * Errors generated by host library (non-firmware) start here.
+        */
+       VB2_ERROR_HOST_BASE = 0x20000000,
+
+       /**********************************************************************
+        * Errors generated by host library misc functions
+        */
+       VB2_ERROR_HOST_MISC = VB2_ERROR_HOST_BASE + 0x010000,
+
+       /* Unable to open file in read_file() */
+       VB2_ERROR_READ_FILE_OPEN,
+
+       /* Bad size in read_file() */
+       VB2_ERROR_READ_FILE_SIZE,
+
+       /* Unable to allocate buffer in read_file() */
+       VB2_ERROR_READ_FILE_ALLOC,
+
+       /* Unable to read data in read_file() */
+       VB2_ERROR_READ_FILE_DATA,
+
+       /* Unable to open file in write_file() */
+       VB2_ERROR_WRITE_FILE_OPEN,
+
+       /* Unable to write data in write_file() */
+       VB2_ERROR_WRITE_FILE_DATA,
+
+       /* Unable to convert string to struct vb_id */
+       VB2_ERROR_STR_TO_ID,
+
+       /* Flashrom exited with failure status */
+       VB2_ERROR_FLASHROM,
+
+       /**********************************************************************
+        * Errors generated by host library key functions
+        */
+       VB2_ERROR_HOST_KEY = VB2_ERROR_HOST_BASE + 0x020000,
+
+       /* Unable to allocate key  in vb2_private_key_read_pem() */
+       VB2_ERROR_READ_PEM_ALLOC,
+
+       /* Unable to open .pem file in vb2_private_key_read_pem() */
+       VB2_ERROR_READ_PEM_FILE_OPEN,
+
+       /* Bad RSA data from .pem file in vb2_private_key_read_pem() */
+       VB2_ERROR_READ_PEM_RSA,
+
+       /* Unable to set private key description */
+       VB2_ERROR_PRIVATE_KEY_SET_DESC,
+
+       /* Bad magic number in vb2_private_key_unpack() */
+       VB2_ERROR_UNPACK_PRIVATE_KEY_MAGIC,
+
+       /* Bad common header in vb2_private_key_unpack() */
+       VB2_ERROR_UNPACK_PRIVATE_KEY_HEADER,
+
+       /* Bad key data in vb2_private_key_unpack() */
+       VB2_ERROR_UNPACK_PRIVATE_KEY_DATA,
+
+       /* Bad struct version in vb2_private_key_unpack() */
+       VB2_ERROR_UNPACK_PRIVATE_KEY_STRUCT_VERSION,
+
+       /* Unable to allocate buffer in vb2_private_key_unpack() */
+       VB2_ERROR_UNPACK_PRIVATE_KEY_ALLOC,
+
+       /* Unable to unpack RSA key in vb2_private_key_unpack() */
+       VB2_ERROR_UNPACK_PRIVATE_KEY_RSA,
+
+       /* Unable to set description in vb2_private_key_unpack() */
+       VB2_ERROR_UNPACK_PRIVATE_KEY_DESC,
+
+       /* Bad bare hash key in vb2_private_key_unpack() */
+       VB2_ERROR_UNPACK_PRIVATE_KEY_HASH,
+
+       /* Unable to create RSA data in vb2_private_key_write() */
+       VB2_ERROR_PRIVATE_KEY_WRITE_RSA,
+
+       /* Unable to allocate packed key buffer in vb2_private_key_write() */
+       VB2_ERROR_PRIVATE_KEY_WRITE_ALLOC,
+
+       /* Unable to write file in vb2_private_key_write() */
+       VB2_ERROR_PRIVATE_KEY_WRITE_FILE,
+
+       /* Bad algorithm in vb2_private_key_hash() */
+       VB2_ERROR_PRIVATE_KEY_HASH,
+
+       /* Unable to determine key size in vb2_public_key_alloc() */
+       VB2_ERROR_PUBLIC_KEY_ALLOC_SIZE,
+
+       /* Unable to allocate buffer in vb2_public_key_alloc() */
+       VB2_ERROR_PUBLIC_KEY_ALLOC,
+
+       /* Unable to set public key description */
+       VB2_ERROR_PUBLIC_KEY_SET_DESC,
+
+       /* Unable to read key data in vb2_public_key_read_keyb() */
+       VB2_ERROR_READ_KEYB_DATA,
+
+       /* Wrong amount of data read in vb2_public_key_read_keyb() */
+       VB2_ERROR_READ_KEYB_SIZE,
+
+       /* Unable to allocate key buffer in vb2_public_key_read_keyb() */
+       VB2_ERROR_READ_KEYB_ALLOC,
+
+       /* Error unpacking RSA arrays in vb2_public_key_read_keyb() */
+       VB2_ERROR_READ_KEYB_UNPACK,
+
+       /* Unable to read key data in vb2_packed_key_read() */
+       VB2_ERROR_READ_PACKED_KEY_DATA,
+
+       /* Bad key data in vb2_packed_key_read() */
+       VB2_ERROR_READ_PACKED_KEY,
+
+       /* Unable to determine key size in vb2_public_key_pack() */
+       VB2_ERROR_PUBLIC_KEY_PACK_SIZE,
+
+       /* Bad hash algorithm in vb2_public_key_hash() */
+       VB2_ERROR_PUBLIC_KEY_HASH,
+
+       /* Bad key size in vb2_copy_packed_key() */
+       VB2_ERROR_COPY_KEY_SIZE,
+
+       /* Unable to convert back to vb1 crypto algorithm */
+       VB2_ERROR_VB1_CRYPTO_ALGORITHM,
+
+       /* Unable to allocate packed key */
+       VB2_ERROR_PACKED_KEY_ALLOC,
+
+       /* Unable to copy packed key */
+       VB2_ERROR_PACKED_KEY_COPY,
+
+       /* Packed key with invalid version */
+       VB2_ERROR_PACKED_KEY_VERSION,
+
+       /**********************************************************************
+        * Errors generated by host library signature functions
+        */
+       VB2_ERROR_HOST_SIG = VB2_ERROR_HOST_BASE + 0x030000,
+
+       /* Bad hash algorithm in vb2_digest_info() */
+       VB2_ERROR_DIGEST_INFO,
+
+       /*
+        * Unable to determine signature size for key algorithm in
+        * vb2_sig_size_for_key().
+        */
+       VB2_ERROR_SIG_SIZE_FOR_KEY,
+
+       /* Bad signature size in vb2_sign_data() */
+       VB2_SIGN_DATA_SIG_SIZE,
+
+       /* Unable to get digest info in vb2_sign_data() */
+       VB2_SIGN_DATA_DIGEST_INFO,
+
+       /* Unable to get digest size in vb2_sign_data() */
+       VB2_SIGN_DATA_DIGEST_SIZE,
+
+       /* Unable to allocate digest buffer in vb2_sign_data() */
+       VB2_SIGN_DATA_DIGEST_ALLOC,
+
+       /* Unable to initialize digest in vb2_sign_data() */
+       VB2_SIGN_DATA_DIGEST_INIT,
+
+       /* Unable to extend digest in vb2_sign_data() */
+       VB2_SIGN_DATA_DIGEST_EXTEND,
+
+       /* Unable to finalize digest in vb2_sign_data() */
+       VB2_SIGN_DATA_DIGEST_FINALIZE,
+
+       /* RSA encrypt failed in vb2_sign_data() */
+       VB2_SIGN_DATA_RSA_ENCRYPT,
+
+       /* Not enough buffer space to hold signature in vb2_sign_object() */
+       VB2_SIGN_OBJECT_OVERFLOW,
+
+       /**********************************************************************
+        * Errors generated by host library keyblock functions
+        */
+       VB2_ERROR_HOST_KEYBLOCK = VB2_ERROR_HOST_BASE + 0x040000,
+
+       /* Unable to determine signature sizes for vb2_create_keyblock() */
+       VB2_KEYBLOCK_CREATE_SIG_SIZE,
+
+       /* Unable to pack data key for vb2_create_keyblock() */
+       VB2_KEYBLOCK_CREATE_DATA_KEY,
+
+       /* Unable to allocate buffer in vb2_create_keyblock() */
+       VB2_KEYBLOCK_CREATE_ALLOC,
+
+       /* Unable to sign keyblock in vb2_create_keyblock() */
+       VB2_KEYBLOCK_CREATE_SIGN,
+
+       /**********************************************************************
+        * Errors generated by host library firmware preamble functions
+        */
+       VB2_ERROR_HOST_FW_PREAMBLE = VB2_ERROR_HOST_BASE + 0x050000,
+
+       /* Unable to determine signature sizes for vb2_create_fw_preamble() */
+       VB2_FW_PREAMBLE_CREATE_SIG_SIZE,
+
+       /* Unable to allocate buffer in vb2_create_fw_preamble() */
+       VB2_FW_PREAMBLE_CREATE_ALLOC,
+
+       /* Unable to sign preamble in vb2_create_fw_preamble() */
+       VB2_FW_PREAMBLE_CREATE_SIGN,
+
+       /**********************************************************************
+        * Errors generated by unit test functions
+        */
+       VB2_ERROR_UNIT_TEST = VB2_ERROR_HOST_BASE + 0x060000,
+
+       /* Unable to open an input file needed for a unit test */
+       VB2_ERROR_TEST_INPUT_FILE,
+
+       /**********************************************************************
+        * Highest non-zero error generated inside vboot library.  Note that
+        * error codes passed through vboot when it calls external APIs may
+        * still be outside this range.
+        */
+       VB2_ERROR_MAX = VB2_ERROR_BASE + 0x1fffffff,
+};
+
+#endif  /* VBOOT_REFERENCE_2RETURN_CODES_H_ */
diff --git a/firmware/2lib/include/2rsa.h b/firmware/2lib/include/2rsa.h
new file mode 100644 (file)
index 0000000..6d5ffcb
--- /dev/null
@@ -0,0 +1,60 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_2RSA_H_
+#define VBOOT_REFERENCE_2RSA_H_
+
+#include "2crypto.h"
+#include "2return_codes.h"
+
+struct vb2_workbuf;
+
+/* Public key structure in RAM */
+struct vb2_public_key {
+       uint32_t arrsize;    /* Length of n[] and rr[] in number of uint32_t */
+       uint32_t n0inv;      /* -1 / n[0] mod 2^32 */
+       const uint32_t *n;   /* Modulus as little endian array */
+       const uint32_t *rr;  /* R^2 as little endian array */
+       enum vb2_signature_algorithm sig_alg;   /* Signature algorithm */
+       enum vb2_hash_algorithm hash_alg;       /* Hash algorithm */
+       const char *desc;                       /* Description */
+       uint32_t version;                       /* Key version */
+       const struct vb2_id *id;                /* Key ID */
+       int allow_hwcrypto;                     /* Is hwcrypto allowed for key */
+};
+
+/**
+ * Return the size of a RSA signature
+ *
+ * @param sig_alg      Signature algorithm
+ * @return The size of the signature in bytes, or 0 if error.
+ */
+uint32_t vb2_rsa_sig_size(enum vb2_signature_algorithm sig_alg);
+
+/**
+ * Return the size of a pre-processed RSA public key.
+ *
+ * @param sig_alg      Signature algorithm
+ * @return The size of the preprocessed key in bytes, or 0 if error.
+ */
+uint32_t vb2_packed_key_size(enum vb2_signature_algorithm sig_alg);
+
+/* Size of work buffer sufficient for vb2_rsa_verify_digest() worst case */
+#define VB2_VERIFY_RSA_DIGEST_WORKBUF_BYTES (3 * 1024)
+
+/**
+ * Verify a RSA PKCS1.5 signature against an expected hash digest.
+ *
+ * @param key          Key to use in signature verification
+ * @param sig          Signature to verify (destroyed in process)
+ * @param digest       Digest of signed data
+ * @param wb           Work buffer
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2_rsa_verify_digest(const struct vb2_public_key *key,
+                                 uint8_t *sig, const uint8_t *digest,
+                                 const struct vb2_workbuf *wb);
+
+#endif  /* VBOOT_REFERENCE_2RSA_H_ */
diff --git a/firmware/2lib/include/2rsa_private.h b/firmware/2lib/include/2rsa_private.h
new file mode 100644 (file)
index 0000000..23a2aac
--- /dev/null
@@ -0,0 +1,21 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Internal functions from 2rsa.c that have error conditions we can't trigger
+ * from the public APIs.  These include checks for bad algorithms where the
+ * next call level up already checks for bad algorithms, etc.
+ *
+ * These functions aren't in 2rsa.h because they're not part of the public
+ * APIs.
+ */
+
+#ifndef VBOOT_REFERENCE_2RSA_PRIVATE_H_
+#define VBOOT_REFERENCE_2RSA_PRIVATE_H_
+
+struct vb2_public_key;
+int vb2_mont_ge(const struct vb2_public_key *key, uint32_t *a);
+vb2_error_t vb2_check_padding(const uint8_t *sig,
+                             const struct vb2_public_key *key);
+
+#endif  /* VBOOT_REFERENCE_2RSA_PRIVATE_H_ */
diff --git a/firmware/2lib/include/2secdata.h b/firmware/2lib/include/2secdata.h
new file mode 100644 (file)
index 0000000..f9a0e30
--- /dev/null
@@ -0,0 +1,243 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Secure non-volatile storage routines
+ */
+
+#ifndef VBOOT_REFERENCE_2SECDATA_H_
+#define VBOOT_REFERENCE_2SECDATA_H_
+
+#include "2api.h"
+
+/*****************************************************************************/
+/* Firmware secure storage space */
+
+/* Which param to get/set for vb2_secdata_firmware_get/set() */
+enum vb2_secdata_firmware_param {
+       /* Flags; see vb2_secdata_firmware_flags */
+       VB2_SECDATA_FIRMWARE_FLAGS = 0,
+
+       /* Firmware versions */
+       VB2_SECDATA_FIRMWARE_VERSIONS,
+};
+
+/* Flags for firmware space */
+enum vb2_secdata_firmware_flags {
+       /*
+        * Last boot was developer mode.  TPM ownership is cleared when
+        * transitioning to/from developer mode.  Set/cleared by
+        * vb2_check_dev_switch().
+        */
+       VB2_SECDATA_FIRMWARE_FLAG_LAST_BOOT_DEVELOPER = (1 << 0),
+
+       /*
+        * Virtual developer mode switch is on.  Set/cleared by the
+        * keyboard-controlled dev screens in recovery mode.  Cleared by
+        * vb2_check_dev_switch().
+        */
+       VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE = (1 << 1),
+};
+
+/**
+ * Initialize firmware secure storage context and verify its CRC.
+ *
+ * This must be called before vb2_secdata_firmware_get/set().
+ *
+ * @param ctx          Context pointer
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_secdata_firmware_init(struct vb2_context *ctx);
+
+/**
+ * Read a firmware secure storage value.
+ *
+ * @param ctx          Context pointer
+ * @param param                Parameter to read
+ * @return Requested parameter value
+ */
+uint32_t vb2_secdata_firmware_get(struct vb2_context *ctx,
+                                 enum vb2_secdata_firmware_param param);
+
+/**
+ * Write a firmware secure storage value.
+ *
+ * @param ctx          Context pointer
+ * @param param                Parameter to write
+ * @param value                New value
+ */
+void vb2_secdata_firmware_set(struct vb2_context *ctx,
+                             enum vb2_secdata_firmware_param param,
+                             uint32_t value);
+
+/*****************************************************************************/
+/* Kernel secure storage space
+ *
+ * These are separate functions so that they don't bloat the size of the early
+ * boot code which uses the firmware version space functions.
+ */
+
+/* Which param to get/set for vb2_secdata_kernel_get/set() */
+enum vb2_secdata_kernel_param {
+       /* Kernel versions */
+       VB2_SECDATA_KERNEL_VERSIONS = 0,
+
+       /* Flags; see vb2_secdata_kernel_flags */
+       VB2_SECDATA_KERNEL_FLAGS,
+};
+
+/* Flags for kernel space */
+enum vb2_secdata_kernel_flags {
+       /*
+        * Phone recovery functionality is disabled.
+        *
+        * RW firmware currently clears this flag to enable phone recovery on
+        * first boot (see function vb2api_kernel_phase1()).  In the case that
+        * there are TPM communication issues, phone recovery is enabled by the
+        * default value of 0.  See b/147744345 for details.
+        */
+       VB2_SECDATA_KERNEL_FLAG_PHONE_RECOVERY_DISABLED = (1 << 0),
+
+       /* Phone recovery instructions in recovery UI are disabled. */
+       VB2_SECDATA_KERNEL_FLAG_PHONE_RECOVERY_UI_DISABLED = (1 << 1),
+
+       /*
+        * Diagnostic UI is disabled.  This includes both hiding the entry
+        * point on the recovery UI menu ("Launch diagnostics"), and
+        * disallowing the user from booting into the diagnostic UI.
+        */
+       VB2_SECDATA_KERNEL_FLAG_DIAGNOSTIC_UI_DISABLED = (1 << 2),
+
+       /*
+        * Allow HW acceleration for crypto
+        *
+        * RW firmware currently set this flag to enable HW acceleration
+        * for crypto. Verstage will use HW implementation for RSA/SHA
+        * only when this flag is set.
+        *
+        * Note: We used a flag in the FW preamble for this before.
+        * FW preamble was checked by verstage so the effect was immediate.
+        * However with TPM flag we have to modify this in RW stage which is
+        * after verstage, so even if we clear this flag the first boot
+        * WILL use hwcrypto, RW stage will run and clear this flag and then
+        * hwcrypto will be disabled from next boot.
+        */
+       VB2_SECDATA_KERNEL_FLAG_HWCRYPTO_ALLOWED = (1 << 3),
+};
+
+/**
+ * Initialize kernel secure storage context and verify its CRC.
+ *
+ * This must be called before vb2_secdata_kernel_get/set().
+ *
+ * @param ctx          Context pointer
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_secdata_kernel_init(struct vb2_context *ctx);
+
+/**
+ * Read a kernel secure storage value.
+ *
+ * @param ctx          Context pointer
+ * @param param                Parameter to read
+ * @return Requested parameter value
+ */
+uint32_t vb2_secdata_kernel_get(struct vb2_context *ctx,
+                               enum vb2_secdata_kernel_param param);
+
+/**
+ * Write a kernel secure storage value.
+ *
+ * @param ctx          Context pointer
+ * @param param                Parameter to write
+ * @param value                New value
+ */
+void vb2_secdata_kernel_set(struct vb2_context *ctx,
+                           enum vb2_secdata_kernel_param param,
+                           uint32_t value);
+
+/**
+ * Get ec_hash from kernel secure storage.
+ *
+ * @param ctx          Context pointer
+ * @return Buffer where hash is stored or NULL on error.
+ */
+const uint8_t *vb2_secdata_kernel_get_ec_hash(struct vb2_context *ctx);
+
+/**
+ * Set ec_hash in kernel secure storage.
+ *
+ * @param ctx          Context pointer
+ * @param sha256       Hash to be set. 32 bytes.
+ */
+void vb2_secdata_kernel_set_ec_hash(struct vb2_context *ctx,
+                                   const uint8_t *sha256);
+
+/*****************************************************************************/
+/* Firmware management parameters (FWMP) space */
+
+/* Flags for FWMP space */
+enum vb2_secdata_fwmp_flags {
+       VB2_SECDATA_FWMP_DEV_DISABLE_BOOT = (1 << 0),
+       VB2_SECDATA_FWMP_DEV_DISABLE_RECOVERY = (1 << 1),
+       VB2_SECDATA_FWMP_DEV_ENABLE_EXTERNAL = (1 << 2),
+       VB2_SECDATA_FWMP_DEV_ENABLE_ALTFW = (1 << 3),
+       VB2_SECDATA_FWMP_DEV_ENABLE_OFFICIAL_ONLY = (1 << 4),
+       VB2_SECDATA_FWMP_DEV_USE_KEY_HASH = (1 << 5),
+       /* CCD = case-closed debugging on cr50; flag implemented on cr50 */
+       VB2_SECDATA_FWMP_DEV_DISABLE_CCD_UNLOCK = (1 << 6),
+       VB2_SECDATA_FWMP_DEV_FIPS_MODE = (1 << 7),
+};
+
+/**
+ * Initialize FWMP secure storage context and verify its CRC.
+ *
+ * This must be called before vb2_secdata_fwmp_get_flag/get_dev_key_hash().
+ *
+ * @param ctx          Context pointer
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_secdata_fwmp_init(struct vb2_context *ctx);
+
+/**
+ * Read a FWMP secure storage flag value.
+ *
+ * It is unsupported to call before successfully running vb2_secdata_fwmp_init.
+ * In this case, vboot will fail and exit.
+ *
+ * @param ctx          Context pointer
+ * @param flag         Flag to read
+ * @return current flag value (0 or 1)
+ */
+int vb2_secdata_fwmp_get_flag(struct vb2_context *ctx,
+                             enum vb2_secdata_fwmp_flags flag);
+
+/**
+ * Return a pointer to FWMP dev key hash.
+ *
+ * @param ctx          Context pointer
+ * @return uint8_t pointer to dev_key_hash field
+ */
+uint8_t *vb2_secdata_fwmp_get_dev_key_hash(struct vb2_context *ctx);
+
+/*
+ * Helper function to check if hwcrypto is allowed.
+ */
+static inline int vb2_hwcrypto_allowed(struct vb2_context *ctx)
+{
+
+       /* disable hwcrypto in recovery mode */
+       if (ctx->flags & VB2_CONTEXT_RECOVERY_MODE)
+               return 0;
+
+       /* enable hwcrypto only if RW firmware set the flag */
+       if (vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS)
+                               & VB2_SECDATA_KERNEL_FLAG_HWCRYPTO_ALLOWED)
+               return 1;
+
+       return 0;
+
+}
+
+
+#endif  /* VBOOT_REFERENCE_2SECDATA_H_ */
diff --git a/firmware/2lib/include/2secdata_struct.h b/firmware/2lib/include/2secdata_struct.h
new file mode 100644 (file)
index 0000000..7614043
--- /dev/null
@@ -0,0 +1,150 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Secure non-volatile storage data structure definitions
+ */
+
+#ifndef VBOOT_REFERENCE_2SECDATA_STRUCT_H_
+#define VBOOT_REFERENCE_2SECDATA_STRUCT_H_
+
+#include "2constants.h"
+#include "2crc8.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+
+/*****************************************************************************/
+/* Firmware secure storage space */
+
+#define VB2_SECDATA_FIRMWARE_VERSION 2
+
+struct vb2_secdata_firmware {
+       /* Struct version, for backwards compatibility */
+       uint8_t struct_version;
+
+       /* Flags; see vb2_secdata_firmware_flags */
+       uint8_t flags;
+
+       /* Firmware versions */
+       uint32_t fw_versions;
+
+       /* Reserved for future expansion */
+       uint8_t reserved[3];
+
+       /* CRC; must be last field in struct */
+       uint8_t crc8;
+} __attribute__((packed));
+
+/*****************************************************************************/
+/* Kernel secure storage space
+ *
+ * We'll never convert v0.2 to v1.* or the other way. v0.2 or v1.* data will be
+ * passed around between AP and TPM without upgrade or downgrade.
+ *
+ * 1. Old BIOS on old device will read/write v0.2 data from/to TPM.
+ * 2. New BIOS on old device will read/write v0.2 data from/to TPM.
+ * 3. Old BIOS on new device will read/write v0.2 data from/to TPM.
+ * 4. New BIOS on new device will read/write v1.0 data from/to TPM.
+ */
+
+/* Kernel space - KERNEL_NV_INDEX, locked with physical presence. */
+#define VB2_SECDATA_KERNEL_VERSION_V02 (0 << 4 | 2 << 0)  /* 0.2 */
+#define VB2_SECDATA_KERNEL_VERSION_V10 (1 << 4 | 0 << 0)  /* 1.0 */
+#define VB2_SECDATA_KERNEL_VERSION_LATEST VB2_SECDATA_KERNEL_VERSION_V10
+#define VB2_SECDATA_KERNEL_UID 0x4752574c  /* 'LWRG' */
+
+struct vb2_secdata_kernel_v0 {
+       /* Struct version, for backwards compatibility */
+       uint8_t struct_version;  /* 0.2 (or 0x02 in v0 format) */
+
+       /* Unique ID to detect space redefinition */
+       uint32_t uid;
+
+       /* Kernel versions */
+       uint32_t kernel_versions;
+
+       /* Reserved for future expansion */
+       uint8_t reserved[3];
+
+       /* CRC; must be last field in struct */
+       uint8_t crc8;
+} __attribute__((packed));
+_Static_assert(sizeof(struct vb2_secdata_kernel_v0)
+              == VB2_SECDATA_KERNEL_SIZE_V02,
+              "VB2_SECDATA_KERNEL_SIZE_V02 incorrect");
+_Static_assert(sizeof(struct vb2_secdata_kernel_v0)
+              < VB2_SECDATA_KERNEL_MAX_SIZE,
+              "VB2_SECDATA_KERNEL_SIZE_V02 exceeds max size");
+
+/*
+ * Secdata kernel v1.* series.
+ */
+struct vb2_secdata_kernel_v1 {
+       /* Struct version, for backwards compatibility */
+       uint8_t struct_version;  /* 1.0 (or 0x10 in v0 format) */
+
+       /* Size of the struct */
+       uint8_t struct_size;
+
+       /* 8-bit CRC for everything below */
+       uint8_t crc8;
+
+       /* Flags; see vb2_secdata_kernel_flags */
+       uint8_t flags;
+
+       /* Kernel versions */
+       uint32_t kernel_versions;
+
+       /* EC hash used for EFS2 */
+       uint8_t ec_hash[VB2_SHA256_DIGEST_SIZE];
+};
+_Static_assert(sizeof(struct vb2_secdata_kernel_v1)
+              == VB2_SECDATA_KERNEL_SIZE_V10,
+              "VB2_SECDATA_KERNEL_SIZE_V10 incorrect");
+_Static_assert(sizeof(struct vb2_secdata_kernel_v1)
+              < VB2_SECDATA_KERNEL_MAX_SIZE,
+              "VB2_SECDATA_KERNEL_SIZE_V10 exceeds max size");
+
+/*****************************************************************************/
+/* Firmware management parameters (FWMP) space */
+
+#define VB2_SECDATA_FWMP_VERSION 0x10  /* 1.0 */
+#define VB2_SECDATA_FWMP_HASH_SIZE 32  /* enough for SHA-256 */
+
+struct vb2_secdata_fwmp {
+       /* CRC-8 of fields following struct_size */
+       uint8_t crc8;
+
+       /* Structure size in bytes */
+       uint8_t struct_size;
+
+       /* Structure version (4 bits major, 4 bits minor) */
+       uint8_t struct_version;
+
+       /* Reserved; ignored by current reader */
+       uint8_t reserved0;
+
+       /* Flags; see enum vb2_secdata_fwmp_flags */
+       uint32_t flags;
+
+       /* Hash of developer kernel key */
+       uint8_t dev_key_hash[VB2_SECDATA_FWMP_HASH_SIZE];
+};
+
+/**
+ * Generate CRC for FWMP secure storage space.
+ *
+ * Calculate CRC hash from struct_version onward.  In valid FWMP data, this CRC
+ * value should match the crc8 field.
+ *
+ * @param sec          Pointer to FWMP struct
+ * @return 32-bit CRC hash of FWMP data
+ */
+static inline uint32_t vb2_secdata_fwmp_crc(struct vb2_secdata_fwmp *sec)
+{
+       int version_offset = offsetof(struct vb2_secdata_fwmp, struct_version);
+       return vb2_crc8((void *)sec + version_offset,
+                       sec->struct_size - version_offset);
+}
+
+#endif  /* VBOOT_REFERENCE_2SECDATA_STRUCT_H_ */
diff --git a/firmware/2lib/include/2sha.h b/firmware/2lib/include/2sha.h
new file mode 100644 (file)
index 0000000..e586a77
--- /dev/null
@@ -0,0 +1,286 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * These APIs may be called by external firmware as well as vboot.  External
+ * firmware must NOT include this header file directly; instead, import
+ * the external-facing vb2_sha.h.  This is permissible because the
+ * SHA library routines below don't interact with the rest of vboot.
+ */
+
+#ifndef VBOOT_REFERENCE_2SHA_H_
+#define VBOOT_REFERENCE_2SHA_H_
+
+#include "2crypto.h"
+#include "2return_codes.h"
+
+/* Hash algorithms may be disabled individually to save code space */
+
+#ifndef VB2_SUPPORT_SHA1
+#define VB2_SUPPORT_SHA1 1
+#endif
+
+#ifndef VB2_SUPPORT_SHA256
+#define VB2_SUPPORT_SHA256 1
+#endif
+
+#ifndef VB2_SUPPORT_SHA512
+#define VB2_SUPPORT_SHA512 1
+#endif
+
+/* These are set to the biggest values among the supported hash algorithms.
+ * They have to be updated as we add new hash algorithms */
+#define VB2_MAX_DIGEST_SIZE    VB2_SHA512_DIGEST_SIZE
+#define VB2_MAX_BLOCK_SIZE     VB2_SHA512_BLOCK_SIZE
+#define VB2_INVALID_ALG_NAME   "INVALID"
+
+#define VB2_SHA1_DIGEST_SIZE 20
+#define VB2_SHA1_BLOCK_SIZE 64
+#define VB2_SHA1_ALG_NAME      "SHA1"
+
+/* Context structs for hash algorithms */
+
+struct vb2_sha1_context {
+       uint32_t count;
+       uint32_t state[5];
+#if defined(HAVE_ENDIAN_H) && defined(HAVE_LITTLE_ENDIAN)
+       union {
+               uint8_t b[VB2_SHA1_BLOCK_SIZE];
+               uint32_t w[VB2_SHA1_BLOCK_SIZE / sizeof(uint32_t)];
+       } buf;
+#else
+       uint8_t buf[VB2_SHA1_BLOCK_SIZE];
+#endif
+};
+
+#define VB2_SHA256_DIGEST_SIZE 32
+#define VB2_SHA256_BLOCK_SIZE 64
+#define VB2_SHA256_ALG_NAME    "SHA256"
+
+struct vb2_sha256_context {
+       uint32_t h[8];
+       uint32_t total_size;
+       uint32_t size;
+       uint8_t block[2 * VB2_SHA256_BLOCK_SIZE];
+};
+
+#define VB2_SHA512_DIGEST_SIZE 64
+#define VB2_SHA512_BLOCK_SIZE 128
+#define VB2_SHA512_ALG_NAME    "SHA512"
+
+struct vb2_sha512_context {
+       uint64_t h[8];
+       uint32_t total_size;
+       uint32_t size;
+       uint8_t block[2 * VB2_SHA512_BLOCK_SIZE];
+};
+
+/*
+ * SHA224/SHA384 are variants of SHA256/SHA512 that use almost all the same code
+ * (and the same context structures), so no separate "SUPPORT" flags for them.
+ */
+#define VB2_SHA224_DIGEST_SIZE 28
+#define VB2_SHA224_ALG_NAME "SHA224"
+#define VB2_SHA384_DIGEST_SIZE 48
+#define VB2_SHA384_ALG_NAME "SHA384"
+
+/* Hash algorithm independent digest context; includes all of the above. */
+struct vb2_digest_context {
+       /* Context union for all algorithms */
+       union {
+#if VB2_SUPPORT_SHA1
+               struct vb2_sha1_context sha1;
+#endif
+#if VB2_SUPPORT_SHA256
+               struct vb2_sha256_context sha256;
+#endif
+#if VB2_SUPPORT_SHA512
+               struct vb2_sha512_context sha512;
+#endif
+       };
+
+       /* Current hash algorithm */
+       enum vb2_hash_algorithm hash_alg;
+
+       /* 1 if digest is computed with vb2ex_hwcrypto routines, else 0 */
+       int using_hwcrypto;
+};
+
+/*
+ * Serializable data structure that can store any vboot hash. Layout used in
+ * CBFS attributes that need to be backwards-compatible -- do not change!
+ * When serializing/deserizaling this, you should store/load (offsetof(raw) +
+ * vb2_digest_size(algo)), not the full size of this structure. vboot functions
+ * taking a pointer to this should only access the |raw| array up to
+ * vb2_digest_size(algo) and not assume that the whole structure is accessible.
+ */
+struct vb2_hash {
+       /* Padding to match existing 4-byte big-endian from CBFS.
+          Could be reused for other stuff later (e.g. flags or something). */
+       uint8_t reserved[3];
+       /* enum vb2_hash_algorithm. Single byte to avoid endianness issues. */
+       uint8_t algo;
+       /* The actual digest. Can add new types here as required. */
+       union {
+               uint8_t raw[0];
+#if VB2_SUPPORT_SHA1
+               uint8_t sha1[VB2_SHA1_DIGEST_SIZE];
+#endif
+#if VB2_SUPPORT_SHA256
+               uint8_t sha256[VB2_SHA256_DIGEST_SIZE];
+#endif
+#if VB2_SUPPORT_SHA512
+               uint8_t sha512[VB2_SHA512_DIGEST_SIZE];
+#endif
+       };
+};
+_Static_assert(sizeof(struct vb2_hash) - offsetof(struct vb2_hash, raw)
+       <= VB2_MAX_DIGEST_SIZE, "Update VB2_MAX_DIGEST_SIZE for new digests!");
+_Static_assert(VB2_HASH_ALG_COUNT <= UINT8_MAX, "vb2_hash.algo overflow!");
+
+/**
+ * Initialize a hash context.
+ *
+ * @param ctx          Hash context
+ * @param algo         Hash algorithm (only for overloaded functions)
+ */
+void vb2_sha1_init(struct vb2_sha1_context *ctx);
+void vb2_sha256_init(struct vb2_sha256_context *ctx,
+                    enum vb2_hash_algorithm algo);
+void vb2_sha512_init(struct vb2_sha512_context *ctx,
+                    enum vb2_hash_algorithm algo);
+
+/**
+ * Update (extend) a hash.
+ *
+ * @param ctx          Hash context
+ * @param data         Data to hash
+ * @param size         Length of data in bytes
+ */
+void vb2_sha1_update(struct vb2_sha1_context *ctx,
+                    const uint8_t *data,
+                    uint32_t size);
+void vb2_sha256_update(struct vb2_sha256_context *ctx,
+                      const uint8_t *data,
+                      uint32_t size);
+void vb2_sha512_update(struct vb2_sha512_context *ctx,
+                      const uint8_t *data,
+                      uint32_t size);
+
+/**
+ * Finalize a hash digest.
+ *
+ * @param ctx          Hash context
+ * @param digest       Destination for hash; must be VB_SHA*_DIGEST_SIZE bytes
+ * @param algo         Hash algorithm (only for overloaded functions)
+ */
+void vb2_sha1_finalize(struct vb2_sha1_context *ctx, uint8_t *digest);
+void vb2_sha256_finalize(struct vb2_sha256_context *ctx, uint8_t *digest,
+                        enum vb2_hash_algorithm algo);
+void vb2_sha512_finalize(struct vb2_sha512_context *ctx, uint8_t *digest,
+                        enum vb2_hash_algorithm algo);
+
+/**
+ * Hash-extend data
+ *
+ * @param from Hash to be extended. It has to be the hash size.
+ * @param by   Block to be extended by. It has to be the hash block size.
+ * @param to   Destination for extended data
+ */
+void vb2_sha256_extend(const uint8_t *from, const uint8_t *by, uint8_t *to);
+
+/**
+ * Return the size of the digest for a hash algorithm.
+ *
+ * @param hash_alg     Hash algorithm
+ * @return The size of the digest, or 0 if error.
+ */
+size_t vb2_digest_size(enum vb2_hash_algorithm hash_alg);
+
+/**
+ * Return the block size of a hash algorithm.
+ *
+ * @param hash_alg     Hash algorithm
+ * @return The block size of the algorithm, or 0 if error.
+ */
+size_t vb2_hash_block_size(enum vb2_hash_algorithm alg);
+
+/**
+ * Initialize a digest context for doing block-style digesting.
+ *
+ * @param dc           Digest context
+ * @param hash_alg     Hash algorithm
+ * @return VB2_SUCCESS, or non-zero on error.
+ */
+vb2_error_t vb2_digest_init(struct vb2_digest_context *dc,
+                           enum vb2_hash_algorithm hash_alg);
+
+/**
+ * Extend a digest's hash with another block of data.
+ *
+ * @param dc           Digest context
+ * @param buf          Data to hash
+ * @param size         Length of data in bytes
+ * @return VB2_SUCCESS, or non-zero on error.
+ */
+vb2_error_t vb2_digest_extend(struct vb2_digest_context *dc, const uint8_t *buf,
+                             uint32_t size);
+
+/**
+ * Finalize a digest and store the result.
+ *
+ * The destination digest should be at least vb2_digest_size(algorithm).
+ *
+ * @param dc           Digest context
+ * @param digest       Destination for digest
+ * @param digest_size  Length of digest buffer in bytes.
+ * @return VB2_SUCCESS, or non-zero on error.
+ */
+vb2_error_t vb2_digest_finalize(struct vb2_digest_context *dc,
+                               uint8_t *digest, uint32_t digest_size);
+
+/**
+ * Calculate the digest of a buffer and store the result.
+ *
+ * @param buf          Data to hash
+ * @param size         Length of data in bytes
+ * @param hash_alg     Hash algorithm
+ * @param digest       Destination for digest
+ * @param digest_size  Length of digest buffer in bytes.
+ * @return VB2_SUCCESS, or non-zero on error.
+ */
+vb2_error_t vb2_digest_buffer(const uint8_t *buf, uint32_t size,
+                             enum vb2_hash_algorithm hash_alg, uint8_t *digest,
+                             uint32_t digest_size);
+
+/**
+ * Fill a vb2_hash structure with the hash of a buffer.
+ *
+ * @param buf          Buffer to hash
+ * @param size         Size of |buf| in bytes
+ * @param algo         The hash algorithm to use (and store in |hash|)
+ * @param hash         vb2_hash structure to fill with the hash of |buf|
+ * @return VB2_SUCCESS, or non-zero on error.
+ */
+static inline vb2_error_t vb2_hash_calculate(const void *buf, uint32_t size,
+                                            enum vb2_hash_algorithm algo,
+                                            struct vb2_hash *hash)
+{
+       hash->algo = algo;
+       return vb2_digest_buffer(buf, size, algo, hash->raw,
+                                vb2_digest_size(algo));
+}
+
+/**
+ * Verify that a vb2_hash matches a buffer.
+ *
+ * @param buf          Buffer to hash and match to |hash|
+ * @param size         Size of |buf| in bytes
+ * @param hash         Hash to compare to the buffer
+ * @return VB2_SUCCESS if hash matches, VB2_ERROR_SHA_MISMATCH if hash doesn't
+ *  match, or non-zero on other error.
+ */
+vb2_error_t vb2_hash_verify(const void *buf, uint32_t size,
+                           const struct vb2_hash *hash);
+
+#endif  /* VBOOT_REFERENCE_2SHA_H_ */
diff --git a/firmware/2lib/include/2sha_private.h b/firmware/2lib/include/2sha_private.h
new file mode 100644 (file)
index 0000000..ffa79f2
--- /dev/null
@@ -0,0 +1,38 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Constants & macro for sha algorithms.
+ */
+
+#ifndef VBOOT_REFERENCE_2SHA_PRIVATE_H_
+#define VBOOT_REFERENCE_2SHA_PRIVATE_H_
+
+/* Sha256 padding is consisted of 0x80 + zeros + length of message (8 byte).
+ * So minimum length for padding is 9.
+ */
+#define SHA256_MIN_PAD_LEN 9
+
+/* Beginning of sha256 padding is always 0x80 when messages are in bytes
+ */
+#define SHA256_PAD_BEGIN 0x80
+
+extern const uint32_t vb2_sha256_h0[8];
+extern const uint32_t vb2_sha256_k[64];
+
+#define UNPACK32(x, str)                               \
+       {                                               \
+               *((str) + 3) = (uint8_t) ((x)      );   \
+               *((str) + 2) = (uint8_t) ((x) >>  8);   \
+               *((str) + 1) = (uint8_t) ((x) >> 16);   \
+               *((str) + 0) = (uint8_t) ((x) >> 24);   \
+       }
+
+#define PACK32(str, x)                                         \
+       {                                                       \
+               *(x) =   ((uint32_t) *((str) + 3)      )        \
+                       | ((uint32_t) *((str) + 2) <<  8)       \
+                       | ((uint32_t) *((str) + 1) << 16)       \
+                       | ((uint32_t) *((str) + 0) << 24);      \
+       }
+#endif  /* VBOOT_REFERENCE_2SHA_PRIVATE_H_ */
diff --git a/firmware/2lib/include/2struct.h b/firmware/2lib/include/2struct.h
new file mode 100644 (file)
index 0000000..3e2c422
--- /dev/null
@@ -0,0 +1,621 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Vboot data structures.
+ *
+ * Note: Many of the structs have pairs of 32-bit fields and reserved fields.
+ * This is to be backwards-compatible with older verified boot data which used
+ * 64-bit fields (when we thought that hey, UEFI is 64-bit so all our fields
+ * should be too).
+ *
+ * Offsets should be padded to 32-bit boundaries, since some architectures
+ * have trouble with accessing unaligned integers.
+ */
+
+#ifndef VBOOT_REFERENCE_2STRUCT_H_
+#define VBOOT_REFERENCE_2STRUCT_H_
+
+#include "2api.h"
+#include "2constants.h"
+#include "2crypto.h"
+#include "2sysincludes.h"
+
+/* Flags for vb2_shared_data.flags */
+enum vb2_shared_data_flags {
+       /*
+        * VB2_SD_FLAG_MANUAL_RECOVERY (1 << 0) is deprecated. This flag is not
+        * necessary since the introduction of persistent context (CL:1716351).
+        * With introducing vb2_boot_mode and differentiating between manual
+        * recovery and broken screen (CL:3274699), it is suggested to leverage
+        * the vb2_boot_mode instead to determine if the user has physically
+        * requested recovery.
+        */
+
+       /* Developer mode is enabled */
+       VB2_SD_FLAG_DEV_MODE_ENABLED = (1 << 1),
+
+       /*
+        * TODO: might be nice to add flags for why dev mode is enabled - via
+        * gbb, virtual dev switch, or forced on for testing.
+        */
+
+       /* Kernel keyblock was verified by signature (not just hash) */
+       VB2_SD_FLAG_KERNEL_SIGNED = (1 << 2),
+
+       /* Software sync needs to update EC-RO or EC-RW */
+       VB2_SD_FLAG_ECSYNC_EC_RO = (1 << 3),
+       VB2_SD_FLAG_ECSYNC_EC_RW = (1 << 4),
+
+       /*
+        * VB2_SD_FLAG_ECSYNC_PD_RW (1 << 5) is deprecated. Vboot no
+        * longer supports updating "PD" devices running CrOS EC code.
+        */
+
+       /* Software sync says EC running RW */
+       VB2_SD_FLAG_ECSYNC_EC_IN_RW = (1 << 6),
+
+       /*
+        * VB2_SD_FLAG_ECSYNC_PD_IN_RW (1 << 7) is deprecated. Vboot
+        * no longer supports updating "PD" devices running CrOS EC
+        * code.
+        */
+
+       /* Display is available on this boot */
+       VB2_SD_FLAG_DISPLAY_AVAILABLE = (1 << 8),
+
+       /* Mirrored hash (Hmir) is updated. */
+       VB2_SD_FLAG_ECSYNC_HMIR_UPDATED = (1 << 9),
+};
+
+/* Flags for vb2_shared_data.status */
+enum vb2_shared_data_status {
+       /* Reinitialized NV data due to invalid checksum */
+       VB2_SD_STATUS_NV_REINIT = (1 << 0),
+
+       /* NV data has been initialized */
+       VB2_SD_STATUS_NV_INIT = (1 << 1),
+
+       /* Secure data initialized */
+       VB2_SD_STATUS_SECDATA_FIRMWARE_INIT = (1 << 2),
+
+       /* Chose a firmware slot */
+       VB2_SD_STATUS_CHOSE_SLOT = (1 << 3),
+
+       /* Secure data kernel version space initialized */
+       VB2_SD_STATUS_SECDATA_KERNEL_INIT = (1 << 4),
+
+       /* FWMP secure data initialized */
+       VB2_SD_STATUS_SECDATA_FWMP_INIT = (1 << 5),
+
+       /* EC Sync completed successfully */
+       VB2_SD_STATUS_EC_SYNC_COMPLETE = (1 << 6),
+
+       /* Have checked whether we are booting into recovery mode or not. */
+       VB2_SD_STATUS_RECOVERY_DECIDED = (1 << 7),
+};
+
+/* "V2SD" = vb2_shared_data.magic */
+#define VB2_SHARED_DATA_MAGIC 0x44533256
+
+/* Current version of vb2_shared_data struct */
+#define VB2_SHARED_DATA_VERSION_MAJOR 3
+#define VB2_SHARED_DATA_VERSION_MINOR 1
+
+/* MAX_SIZE should not be changed without bumping up DATA_VERSION_MAJOR. */
+#define VB2_CONTEXT_MAX_SIZE 384
+
+/*
+ * Data shared between vboot API calls.  Stored at the start of the work
+ * buffer.
+ */
+struct vb2_shared_data {
+       /* Magic number for struct (VB2_SHARED_DATA_MAGIC) */
+       uint32_t magic;
+
+       /* Version of this structure */
+       uint16_t struct_version_major;
+       uint16_t struct_version_minor;
+
+       /* Public fields are stored in the context object */
+       struct vb2_context ctx;
+
+       /* Padding for adding future vb2_context fields */
+       uint8_t padding[VB2_CONTEXT_MAX_SIZE - sizeof(struct vb2_context)];
+
+       /* Work buffer length in bytes. */
+       uint32_t workbuf_size;
+
+       /*
+        * Amount of work buffer used so far.  Verified boot sub-calls use
+        * this to know where the unused work area starts.
+        */
+       uint32_t workbuf_used;
+
+       /* Flags; see enum vb2_shared_data_flags */
+       uint32_t flags;
+
+       /*
+        * Reason we are in recovery mode this boot (enum vb2_nv_recovery), or
+        * 0 if we aren't.
+        */
+       uint32_t recovery_reason;
+
+       /* Firmware slot used last boot (0=A, 1=B) */
+       uint32_t last_fw_slot;
+
+       /* Result of last boot (enum vb2_fw_result) */
+       uint32_t last_fw_result;
+
+       /* Firmware slot used this boot */
+       uint32_t fw_slot;
+
+       /*
+        * Version for this slot (top 16 bits = key, lower 16 bits = firmware).
+        *
+        * TODO: Make this a union to allow getting/setting those versions
+        * separately?
+        */
+       uint32_t fw_version;
+
+       /* Version from secdata_firmware (must be <= fw_version to boot). */
+       uint32_t fw_version_secdata;
+
+       /*
+        * Status flags for this boot; see enum vb2_shared_data_status.  Status
+        * is "what we've done"; flags above are "decisions we've made".
+        */
+       uint32_t status;
+
+       /* Offset from start of this struct to GBB header */
+       uint32_t gbb_offset;
+
+       /**********************************************************************
+        * Data from kernel verification stage.
+        *
+        * TODO: shouldn't be part of the main struct, since that needlessly
+        * uses more memory during firmware verification.
+        */
+
+       /*
+        * Version for the current kernel (top 16 bits = key, lower 16 bits =
+        * kernel preamble).
+        *
+        * TODO: Make this a union to allow getting/setting those versions
+        * separately?
+        */
+       uint32_t kernel_version;
+
+       /* Version from secdata_kernel (must be <= kernel_version to boot) */
+       uint32_t kernel_version_secdata;
+
+       /**********************************************************************
+        * Temporary variables used during firmware verification.  These don't
+        * really need to persist through to the OS, but there's nowhere else
+        * we can put them.
+        */
+
+       /* Offset of preamble from start of vblock */
+       uint32_t vblock_preamble_offset;
+
+       /*
+        * Offset and size of packed data key in work buffer.  Size is 0 if
+        * data key is not stored in the work buffer.
+        */
+       uint32_t data_key_offset;
+       uint32_t data_key_size;
+
+       /*
+        * Offset and size of firmware preamble in work buffer.  Size is 0 if
+        * preamble is not stored in the work buffer.
+        */
+       uint32_t preamble_offset;
+       uint32_t preamble_size;
+
+       /*
+        * Offset and size of hash context in work buffer.  Size is 0 if
+        * hash context is not stored in the work buffer.
+        */
+       uint32_t hash_offset;
+       uint32_t hash_size;
+
+       /*
+        * Current tag we're hashing
+        *
+        * For new structs, this is the offset of the vb2_signature struct
+        * in the work buffer.
+        *
+        * TODO: rename to hash_sig_offset when vboot1 structs are deprecated.
+        */
+       uint32_t hash_tag;
+
+       /* Amount of data we still expect to hash */
+       uint32_t hash_remaining_size;
+
+       /**********************************************************************
+        * Temporary variables used during kernel verification.  These don't
+        * really need to persist through to the OS, but there's nowhere else
+        * we can put them.
+        *
+        * TODO: make a union with the firmware verification temp variables,
+        * or make both of them workbuf-allocated sub-structs, so that we can
+        * overlap them so kernel variables don't bloat firmware verification
+        * stage memory requirements.
+        */
+
+       /*
+        * Formerly a pointer to vboot1 shared data header ("VBSD").  Caller
+        * may now export a copy of VBSD via vb2api_export_vbsd().
+        * TODO: Remove this field and bump struct_version_major.
+        */
+       uintptr_t reserved0;
+
+       /*
+        * Offset and size of packed kernel key in work buffer.  Size is 0 if
+        * subkey is not stored in the work buffer.  Note that kernel key may
+        * be inside the firmware preamble.
+        */
+       uint32_t kernel_key_offset;
+       uint32_t kernel_key_size;
+} __attribute__((packed));
+
+/****************************************************************************/
+
+/* Signature at start of the GBB
+ * Note that if you compile in the signature as is, you are likely to break any
+ * tools that search for the signature. */
+#define VB2_GBB_SIGNATURE "$GBB"
+#define VB2_GBB_SIGNATURE_SIZE 4
+#define VB2_GBB_XOR_CHARS "****"
+/* TODO: can we write a macro to produce this at compile time? */
+#define VB2_GBB_XOR_SIGNATURE { 0x0e, 0x6d, 0x68, 0x68 }
+
+#define VB2_GBB_HWID_DIGEST_SIZE 32
+
+/* VB2 GBB struct version */
+#define VB2_GBB_MAJOR_VER 1
+#define VB2_GBB_MINOR_VER 2
+/* v1.2 - added fields for sha256 digest of the HWID */
+
+struct vb2_gbb_header {
+       /* Fields present in version 1.1 */
+       uint8_t  signature[VB2_GBB_SIGNATURE_SIZE]; /* VB2_GBB_SIGNATURE */
+       uint16_t major_version;   /* See VB2_GBB_MAJOR_VER */
+       uint16_t minor_version;   /* See VB2_GBB_MINOR_VER */
+       uint32_t header_size;     /* Size of GBB header in bytes */
+
+       /* Flags (see enum vb2_gbb_flag in 2gbb_flags.h) */
+       vb2_gbb_flags_t flags;
+
+       /* Offsets (from start of header) and sizes (in bytes) of components */
+       uint32_t hwid_offset;           /* HWID */
+       uint32_t hwid_size;
+       uint32_t rootkey_offset;        /* Root key */
+       uint32_t rootkey_size;
+       uint32_t bmpfv_offset;          /* BMP FV; deprecated in current FW */
+       uint32_t bmpfv_size;
+       uint32_t recovery_key_offset;   /* Recovery key */
+       uint32_t recovery_key_size;
+
+       /* Added in version 1.2 */
+       uint8_t  hwid_digest[VB2_GBB_HWID_DIGEST_SIZE]; /* SHA-256 of HWID */
+
+       /* Pad to match EXPECTED_VB2_GBB_HEADER_SIZE.  Initialize to 0. */
+       uint8_t  pad[48];
+} __attribute__((packed));
+
+#define EXPECTED_VB2_GBB_HEADER_SIZE 128
+
+/* VB2_GBB_FLAGS_OFFSET exposed in 2constants.h */
+_Static_assert(VB2_GBB_FLAGS_OFFSET == offsetof(struct vb2_gbb_header, flags),
+              "VB2_GBB_FLAGS_OFFSET set incorrectly");
+
+/****************************************************************************/
+
+/* Packed public key data */
+struct vb2_packed_key {
+       /* Offset of key data from start of this struct */
+       uint32_t key_offset;
+       uint32_t reserved0;
+
+       /* Size of key data in bytes (NOT strength of key in bits) */
+       uint32_t key_size;
+       uint32_t reserved1;
+
+       /* Signature algorithm used by the key (enum vb2_crypto_algorithm) */
+       uint32_t algorithm;
+       uint32_t reserved2;
+
+       /* Key version */
+       uint32_t key_version;
+       uint32_t reserved3;
+
+       /* TODO: when redoing this struct, add a text description of the key */
+} __attribute__((packed));
+
+#define EXPECTED_VB2_PACKED_KEY_SIZE 32
+
+/****************************************************************************/
+
+/* Signature data (a secure hash, possibly signed) */
+struct vb2_signature {
+       /* Offset of signature data from start of this struct */
+       uint32_t sig_offset;
+       uint32_t reserved0;
+
+       /* Size of signature data in bytes */
+       uint32_t sig_size;
+       uint32_t reserved1;
+
+       /* Size of the data block which was signed in bytes */
+       uint32_t data_size;
+       uint32_t reserved2;
+} __attribute__((packed));
+
+#define EXPECTED_VB2_SIGNATURE_SIZE 24
+
+/****************************************************************************/
+
+#define VB2_KEYBLOCK_MAGIC "CHROMEOS"
+#define VB2_KEYBLOCK_MAGIC_SIZE 8
+
+#define VB2_KEYBLOCK_VERSION_MAJOR 2
+#define VB2_KEYBLOCK_VERSION_MINOR 1
+
+/*
+ * Keyblock flags.
+ *
+ * The following flags set where the key is valid.  Not used by firmware
+ * verification; only kernel verification.
+ */
+#define VB2_KEYBLOCK_FLAG_DEVELOPER_0 0x1  /* Developer switch off */
+#define VB2_KEYBLOCK_FLAG_DEVELOPER_1 0x2  /* Developer switch on */
+#define VB2_KEYBLOCK_FLAG_RECOVERY_0 0x4  /* Not recovery mode */
+#define VB2_KEYBLOCK_FLAG_RECOVERY_1 0x8  /* Recovery mode */
+#define VB2_KEYBLOCK_FLAG_MINIOS_0 0x10  /* Not miniOS boot */
+#define VB2_KEYBLOCK_FLAG_MINIOS_1 0x20  /* miniOS boot */
+
+/*
+ * Keyblock, containing the public key used to sign some other chunk of data.
+ *
+ * This should be followed by:
+ *   1) The data_key key data, pointed to by data_key.key_offset.
+ *   2) The checksum data for (vb2_keyblock + data_key data), pointed to
+ *      by keyblock_checksum.sig_offset.
+ *   3) The signature data for (vb2_keyblock + data_key data), pointed to
+ *      by keyblock_signature.sig_offset.
+ */
+struct vb2_keyblock {
+       /* Magic number */
+       uint8_t magic[VB2_KEYBLOCK_MAGIC_SIZE];
+
+       /* Version of this header format */
+       uint32_t header_version_major;
+       uint32_t header_version_minor;
+
+       /*
+        * Length of this entire keyblock, including keys, signatures, and
+        * padding, in bytes
+        */
+       uint32_t keyblock_size;
+       uint32_t reserved0;
+
+       /*
+        * Signature for this keyblock (header + data pointed to by data_key)
+        * For use with signed data keys
+        */
+       struct vb2_signature keyblock_signature;
+
+       /*
+        * SHA-512 hash for this keyblock (header + data pointed to by
+        * data_key) For use with unsigned data keys.
+        *
+        * Only supported for kernel keyblocks, not firmware keyblocks.
+        */
+       struct vb2_signature keyblock_hash;
+
+       /* Flags for key (VB2_KEYBLOCK_FLAG_*) */
+       uint32_t keyblock_flags;
+       uint32_t reserved1;
+
+       /* Key to verify the chunk of data */
+       struct vb2_packed_key data_key;
+} __attribute__((packed));
+
+#define EXPECTED_VB2_KEYBLOCK_SIZE 112
+
+/****************************************************************************/
+
+/*
+ * Rollback protection currently uses a 32-bit value comprised of the bottom 16
+ * bits of the (firmware or kernel) preamble version and the bottom 16 bits of
+ * the key version.  So each of those versions is effectively limited to 16
+ * bits even though they get stored in 32-bit fields.
+ */
+#define VB2_MAX_KEY_VERSION 0xffff
+#define VB2_MAX_PREAMBLE_VERSION 0xffff
+
+/****************************************************************************/
+
+/* Firmware preamble header */
+#define VB2_FIRMWARE_PREAMBLE_HEADER_VERSION_MAJOR 2
+#define VB2_FIRMWARE_PREAMBLE_HEADER_VERSION_MINOR 1
+
+/* Flags for vb2_fw_preamble.flags */
+/* Use RO-normal firmware (deprecated; do not use) */
+#define VB2_FIRMWARE_PREAMBLE_USE_RO_NORMAL 0x00000001
+/* Do not allow use of any hardware crypto accelerators.
+ * (deprecated; use VB2_SECDATA_KERNEL_FLAG_HWCRYPTO_ALLOWED instead)
+ */
+#define VB2_FIRMWARE_PREAMBLE_DISALLOW_HWCRYPTO 0x00000002
+
+/* Premable block for rewritable firmware, vboot1 version 2.1.
+ *
+ * The firmware preamble header should be followed by:
+ *   1) The kernel_subkey key data, pointed to by kernel_subkey.key_offset.
+ *   2) The signature data for the firmware body, pointed to by
+ *      body_signature.sig_offset.
+ *   3) The signature data for (header + kernel_subkey data + body signature
+ *      data), pointed to by preamble_signature.sig_offset.
+ */
+struct vb2_fw_preamble {
+       /*
+        * Size of this preamble, including keys, signatures, and padding, in
+        * bytes
+        */
+       uint32_t preamble_size;
+       uint32_t reserved0;
+
+       /*
+        * Signature for this preamble (header + kernel subkey + body
+        * signature)
+        */
+       struct vb2_signature preamble_signature;
+
+       /* Version of this header format */
+       uint32_t header_version_major;
+       uint32_t header_version_minor;
+
+       /* Firmware version */
+       uint32_t firmware_version;
+       uint32_t reserved1;
+
+       /* Key to verify kernel keyblock */
+       struct vb2_packed_key kernel_subkey;
+
+       /* Signature for the firmware body */
+       struct vb2_signature body_signature;
+
+       /*
+        * Fields added in header version 2.1.  You must verify the header
+        * version before reading these fields!
+        */
+
+       /*
+        * Flags; see VB2_FIRMWARE_PREAMBLE_*.  Readers should return 0 for
+        * header version < 2.1.
+        */
+       uint32_t flags;
+} __attribute__((packed));
+
+#define EXPECTED_VB2_FW_PREAMBLE_SIZE 108
+
+_Static_assert(EXPECTED_VB2_FW_PREAMBLE_SIZE == sizeof(struct vb2_fw_preamble),
+              "EXPECTED_VB2_FW_PREAMBLE_SIZE incorrect");
+
+/****************************************************************************/
+
+/* Kernel preamble header */
+#define VB2_KERNEL_PREAMBLE_HEADER_VERSION_MAJOR 2
+#define VB2_KERNEL_PREAMBLE_HEADER_VERSION_MINOR 2
+
+/* Flags for vb2_kernel_preamble.flags */
+/* Kernel image type = bits 1:0 */
+#define VB2_KERNEL_PREAMBLE_KERNEL_TYPE_MASK 0x00000003
+#define VB2_KERNEL_PREAMBLE_KERNEL_TYPE_CROS      0
+#define VB2_KERNEL_PREAMBLE_KERNEL_TYPE_BOOTIMG   1
+#define VB2_KERNEL_PREAMBLE_KERNEL_TYPE_MULTIBOOT 2
+/* Kernel type 3 is reserved for future use */
+
+/*
+ * Preamble block for kernel, version 2.2
+ *
+ * This should be followed by:
+ *   1) The signature data for the kernel body, pointed to by
+ *      body_signature.sig_offset.
+ *   2) The signature data for (vb2_kernel_preamble + body signature data),
+ *       pointed to by preamble_signature.sig_offset.
+ *   3) The 16-bit vmlinuz header, which is used for reconstruction of
+ *      vmlinuz image.
+ */
+struct vb2_kernel_preamble {
+       /*
+        * Size of this preamble, including keys, signatures, vmlinuz header,
+        * and padding, in bytes
+        */
+       uint32_t preamble_size;
+       uint32_t reserved0;
+
+       /* Signature for this preamble (header + body signature) */
+       struct vb2_signature preamble_signature;
+
+       /* Version of this header format */
+       uint32_t header_version_major;
+       uint32_t header_version_minor;
+
+       /* Kernel version */
+       uint32_t kernel_version;
+       uint32_t reserved1;
+
+       /* Load address for kernel body */
+       uint64_t body_load_address;
+       /* TODO (vboot 2.1): we never used that */
+
+       /* Address of bootloader, after body is loaded at body_load_address */
+       uint64_t bootloader_address;
+       /* TODO (vboot 2.1): should be a 32-bit offset */
+
+       /* Size of bootloader in bytes */
+       uint32_t bootloader_size;
+       uint32_t reserved2;
+
+       /* Signature for the kernel body */
+       struct vb2_signature body_signature;
+
+       /*
+        * TODO (vboot 2.1): fields for kernel offset and size.  Right now the
+        * size is implicitly the same as the size of data signed by the body
+        * signature, and the offset is implicitly at the end of the preamble.
+        * But that forces us to pad the preamble to 64KB rather than just
+        * having a tiny preamble and an offset field.
+        */
+
+       /*
+        * Fields added in header version 2.1.  You must verify the header
+        * version before reading these fields!
+        */
+
+       /*
+        * Address of 16-bit header for vmlinuz reassembly.  Readers should
+        * return 0 for header version < 2.1.
+        */
+       uint64_t vmlinuz_header_address;
+
+       /* Size of 16-bit header for vmlinuz in bytes.  Readers should return 0
+          for header version < 2.1 */
+       uint32_t vmlinuz_header_size;
+       uint32_t reserved3;
+
+       /*
+        * Fields added in header version 2.2.  You must verify the header
+        * version before reading these fields!
+        */
+
+       /*
+        * Flags; see VB2_KERNEL_PREAMBLE_*.  Readers should return 0 for
+        * header version < 2.2.  Flags field is currently defined as:
+        * [31:2] - Reserved (for future use)
+        * [1:0]  - Kernel image type (0b00 - CrOS,
+        *                             0b01 - bootimg,
+        *                             0b10 - multiboot)
+        */
+       uint32_t flags;
+} __attribute__((packed));
+
+#define EXPECTED_VB2_KERNEL_PREAMBLE_2_0_SIZE 96
+#define EXPECTED_VB2_KERNEL_PREAMBLE_2_1_SIZE 112
+#define EXPECTED_VB2_KERNEL_PREAMBLE_2_2_SIZE 116
+
+_Static_assert(EXPECTED_VB2_KERNEL_PREAMBLE_2_0_SIZE
+              == offsetof(struct vb2_kernel_preamble, vmlinuz_header_address),
+              "EXPECTED_VB2_KERNEL_PREAMBLE_2_0_SIZE incorrect");
+
+_Static_assert(EXPECTED_VB2_KERNEL_PREAMBLE_2_1_SIZE
+              == offsetof(struct vb2_kernel_preamble, flags),
+              "EXPECTED_VB2_KERNEL_PREAMBLE_2_1_SIZE incorrect");
+
+_Static_assert(EXPECTED_VB2_KERNEL_PREAMBLE_2_2_SIZE
+              == sizeof(struct vb2_kernel_preamble),
+              "EXPECTED_VB2_KERNEL_PREAMBLE_2_2_SIZE incorrect");
+
+#endif  /* VBOOT_REFERENCE_2STRUCT_H_ */
diff --git a/firmware/2lib/include/2sysincludes.h b/firmware/2lib/include/2sysincludes.h
new file mode 100644 (file)
index 0000000..1e671e9
--- /dev/null
@@ -0,0 +1,24 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/*
+ * System includes for vboot reference library.  This is the ONLY
+ * place in firmware/ where system headers may be included via
+ * #include <...>, so that there's only one place that needs to be
+ * fixed up for platforms which don't have all the system includes.
+ */
+
+#ifndef VBOOT_REFERENCE_2SYSINCLUDES_H_
+#define VBOOT_REFERENCE_2SYSINCLUDES_H_
+
+#include <ctype.h>
+#include <inttypes.h>  /* For PRIu64 */
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#endif  /* VBOOT_REFERENCE_2SYSINCLUDES_H_ */
diff --git a/firmware/2lib/include/2tpm_bootmode.h b/firmware/2lib/include/2tpm_bootmode.h
new file mode 100644 (file)
index 0000000..63f247d
--- /dev/null
@@ -0,0 +1,21 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Functions for updating the TPM state with the status of boot path.
+ */
+
+#ifndef VBOOT_REFERENCE_2TPM_BOOTMODE_H_
+#define VBOOT_REFERENCE_2TPM_BOOTMODE_H_
+
+#include "2api.h"
+
+/**
+ * Return digest indicating the boot state
+ *
+ * @param ctx          Vboot context
+ * @return             Pointer to sha1 digest of size VB2_SHA1_DIGEST_SIZE
+ */
+const uint8_t *vb2_get_boot_state_digest(struct vb2_context *ctx);
+
+#endif  /* VBOOT_REFERENCE_2TPM_BOOTMODE_H_ */
diff --git a/firmware/README b/firmware/README
new file mode 100644 (file)
index 0000000..e5d5256
--- /dev/null
@@ -0,0 +1,36 @@
+
+Here's what's what in the firmware/ directory.
+
+include/
+lib/
+
+  These are the original structures and APIs used in the earliest
+  Chromebooks and continuing through 2014. It never had a version as such to
+  begin with, but we now refer to this implementation as "vboot1" or
+  "vboot version 1.0".
+
+linktest/
+stub/
+
+  These are stubs used to link the vboot1 libraries into host-side test
+  executables so we can run some tests on the build machine instead of a
+  Chromebook.
+
+2lib/
+
+  In 2014 we began work on a new vboot API. The first step was just a
+  refactoring and renaming of the verification API. The public functions and
+  external headers that are exported for use by the Chrome OS firmware (or
+  anything else that wants to use vboot) live in here. The internal
+  structures and implementations go elsewhere.
+
+lib20/
+
+  This is an early implementation of the public (2lib/) API. It is
+  binary-compatible with vboot1, so although the interface details are
+  different, any existing on-device structures or signatures created by the
+  vboot1 tools can be validated using this implementation.
+
+  This was deployed slightly before it was ready. That's not a problem,
+  thanks to the binary compatibility, but this directory will be abandoned
+  Real Soon Now, except for the product support branches.
diff --git a/firmware/include/OWNERS b/firmware/include/OWNERS
new file mode 100644 (file)
index 0000000..b8919e0
--- /dev/null
@@ -0,0 +1 @@
+per-file tlcl*, tpm*, tss* = apronin@chromium.org, rspangler@chromium.org, vbendeb@chromium.org
diff --git a/firmware/include/gpt.h b/firmware/include/gpt.h
new file mode 100644 (file)
index 0000000..9f50509
--- /dev/null
@@ -0,0 +1,141 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Defines UEFI related structure. See more details in the UEFI spec.
+ *
+ * To download UEFI standard, please visit UEFI homepage:
+ *    http://www.uefi.org/
+ */
+
+#ifndef VBOOT_REFERENCE_CGPTLIB_GPT_H_
+#define VBOOT_REFERENCE_CGPTLIB_GPT_H_
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+/* From the specification */
+#define GPT_HEADER_SIGNATURE_SIZE 8
+#define GPT_HEADER_REVISION 0x00010000
+#define GPT_HEADER_SIGNATURE  "EFI PART"
+
+/* From https://chromium-review.googlesource.com/31264 */
+#define GPT_HEADER_SIGNATURE2 "CHROMEOS"
+
+/* From http://crosbug.com/p/52595 */
+#define GPT_HEADER_SIGNATURE_IGNORED "IGNOREME"
+
+/*
+ * The first 3 numbers should be stored in network-endian format according to
+ * the GUID RFC.  The UEFI spec appendix A claims they should be stored in
+ * little-endian format.  But they need to be _displayed_ in network-endian
+ * format, which is also how they're documented in the specs.
+ *
+ * Since what we have here are little-endian constants, they're byte-swapped
+ * from the normal display order.
+ */
+#define GPT_ENT_TYPE_UNUSED \
+       {{{0x00000000,0x0000,0x0000,0x00,0x00,{0x00,0x00,0x00,0x00,0x00,0x00}}}}
+#define GPT_ENT_TYPE_EFI \
+       {{{0xc12a7328,0xf81f,0x11d2,0xba,0x4b,{0x00,0xa0,0xc9,0x3e,0xc9,0x3b}}}}
+#define GPT_ENT_TYPE_CHROMEOS_FIRMWARE \
+       {{{0xcab6e88e,0xabf3,0x4102,0xa0,0x7a,{0xd4,0xbb,0x9b,0xe3,0xc1,0xd3}}}}
+#define GPT_ENT_TYPE_CHROMEOS_KERNEL \
+       {{{0xfe3a2a5d,0x4f32,0x41a7,0xb7,0x25,{0xac,0xcc,0x32,0x85,0xa3,0x09}}}}
+#define GPT_ENT_TYPE_CHROMEOS_ROOTFS \
+       {{{0x3cb8e202,0x3b7e,0x47dd,0x8a,0x3c,{0x7f,0xf2,0xa1,0x3c,0xfc,0xec}}}}
+#define GPT_ENT_TYPE_CHROMEOS_RESERVED \
+       {{{0x2e0a753d,0x9e48,0x43b0,0x83,0x37,{0xb1,0x51,0x92,0xcb,0x1b,0x5e}}}}
+#define GPT_ENT_TYPE_BASIC_DATA \
+       {{{0xebd0a0a2,0xb9e5,0x4433,0x87,0xc0,{0x68,0xb6,0xb7,0x26,0x99,0xc7}}}}
+#define GPT_ENT_TYPE_LINUX_FS \
+       {{{0x0fc63daf,0x8483,0x4772,0x8e,0x79,{0x3d,0x69,0xd8,0x47,0x7d,0xe4}}}}
+#define GPT_ENT_TYPE_CHROMEOS_MINIOS \
+       {{{0x09845860,0x705f,0x4bb5,0xb1,0x6c,{0x8a,0x8a,0x09,0x9c,0xaf,0x52}}}}
+#define GPT_ENT_TYPE_CHROMEOS_HIBERNATE \
+       {{{0x3f0f8318,0xf146,0x4e6b,0x82,0x22,{0xc2,0x8c,0x8f,0x02,0xe0,0xd5}}}}
+
+#define UUID_NODE_LEN 6
+#define GUID_SIZE 16
+
+/* GUID definition. Defined in appendix A of UEFI standard. */
+typedef struct {
+       union {
+               struct {
+                       uint32_t time_low;
+                       uint16_t time_mid;
+                       uint16_t time_high_and_version;
+                       uint8_t clock_seq_high_and_reserved;
+                       uint8_t clock_seq_low;
+                       uint8_t node[UUID_NODE_LEN];
+               } Uuid;
+               uint8_t raw[GUID_SIZE];
+       } u;
+} __attribute__((packed)) Guid;
+
+#define GUID_EXPECTED_SIZE GUID_SIZE
+
+/*
+ * GPT header defines how many partitions exist on a drive and sectors managed.
+ * For every drive device, there are 2 headers, primary and secondary.  Most of
+ * the fields are duplicates except my_lba and entries_lba.
+ *
+ * You may find more details in chapter 5 of the UEFI standard.
+ */
+typedef struct {
+       char signature[GPT_HEADER_SIGNATURE_SIZE];
+       uint32_t revision;
+       uint32_t size;
+       uint32_t header_crc32;
+       uint32_t reserved_zero;
+       uint64_t my_lba;
+       uint64_t alternate_lba;
+       uint64_t first_usable_lba;
+       uint64_t last_usable_lba;
+       Guid disk_uuid;
+       uint64_t entries_lba;
+       uint32_t number_of_entries;
+       uint32_t size_of_entry;
+       uint32_t entries_crc32;
+       /* Remainder of sector is reserved and should be 0 */
+} __attribute__((packed)) GptHeader;
+
+#define GPTHEADER_EXPECTED_SIZE 92
+
+/*
+ * GPT partition entry defines the starting and ending LBAs of a partition.  It
+ * also contains the unique GUID, type, and attribute bits.
+ *
+ * You may find more details in chapter 5 of the UEFI standard.
+ */
+typedef struct {
+       Guid type;
+       Guid unique;
+       uint64_t starting_lba;
+       uint64_t ending_lba;
+       union {
+               struct {
+                       uint8_t required:1;
+                       uint8_t efi_ignore:1;
+                       uint8_t legacy_boot:1;
+                       uint8_t reserved1:5;
+                       uint8_t reserved2;
+                       uint16_t reserved[2];
+                       uint16_t gpt_att;
+               } __attribute__((packed)) fields;
+               uint64_t whole;
+       } attrs;
+       uint16_t name[36];  /* UTF-16 encoded partition name */
+       /* Remainder of entry is reserved and should be 0 */
+} __attribute__((packed)) GptEntry;
+
+#define GPTENTRY_EXPECTED_SIZE 128
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_CGPTLIB_GPT_H_ */
diff --git a/firmware/include/gpt_misc.h b/firmware/include/gpt_misc.h
new file mode 100644 (file)
index 0000000..aa46094
--- /dev/null
@@ -0,0 +1,220 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_GPT_MISC_H_
+#define VBOOT_REFERENCE_GPT_MISC_H_
+
+#include "gpt.h"
+#include "vboot_api.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+enum {
+       GPT_SUCCESS = 0,
+       GPT_ERROR_NO_VALID_KERNEL,
+       GPT_ERROR_INVALID_HEADERS,
+       GPT_ERROR_INVALID_ENTRIES,
+       GPT_ERROR_INVALID_SECTOR_SIZE,
+       GPT_ERROR_INVALID_SECTOR_NUMBER,
+       GPT_ERROR_INVALID_UPDATE_TYPE,
+       GPT_ERROR_CRC_CORRUPTED,
+       GPT_ERROR_OUT_OF_REGION,
+       GPT_ERROR_START_LBA_OVERLAP,
+       GPT_ERROR_END_LBA_OVERLAP,
+       GPT_ERROR_DUP_GUID,
+       GPT_ERROR_INVALID_FLASH_GEOMETRY,
+       GPT_ERROR_NO_SUCH_ENTRY,
+       /* Number of errors */
+       GPT_ERROR_COUNT
+};
+
+/* Bit masks for GptData.modified field. */
+#define GPT_MODIFIED_HEADER1 0x01
+#define GPT_MODIFIED_HEADER2 0x02
+#define GPT_MODIFIED_ENTRIES1 0x04
+#define GPT_MODIFIED_ENTRIES2 0x08
+
+/*
+ * The 'update_type' of GptUpdateKernelEntry().  We expose TRY and BAD only
+ * because those are what verified boot needs.  For more precise control on GPT
+ * attribute bits, please refer to gpt_internal.h.
+ */
+enum {
+       /*
+        * System will be trying to boot the currently selected kernel
+        * partition.  Update its try count if necessary.
+        */
+       GPT_UPDATE_ENTRY_TRY = 1,
+       /*
+        * The currently selected kernel partition failed validation.  Mark
+        * entry as invalid.
+        */
+       GPT_UPDATE_ENTRY_BAD = 2,
+       /*
+        * Used for fastboot mode. If kernel partition slot is marked active,
+        * its GPT entry is marked with S1,P2,T0.
+        */
+       GPT_UPDATE_ENTRY_ACTIVE = 3,
+       /*
+        * Used for fastboot mode. If kernel partition slot is marked invalid,
+        * its GPT entry is marked with S0,P0,T0.
+        */
+       GPT_UPDATE_ENTRY_INVALID = 4,
+};
+
+/* If this bit is 1, the GPT is stored in another from the streaming data */
+#define GPT_FLAG_EXTERNAL      0x1
+
+/*
+ * A note about stored_on_device and gpt_drive_sectors:
+ *
+ * This code is used by both the "cgpt" utility and depthcharge/vboot. ATM,
+ * depthcharge does not have logic to properly setup stored_on_device and
+ * gpt_drive_sectors, but it does do a memset(gpt, 0, sizeof(GptData)). And so,
+ * GPT_STORED_ON_DEVICE should be 0 to make stored_on_device compatible with
+ * present behavior. At the same time, in vboot_kernel:LoadKernel(), and
+ * cgpt_common:GptLoad(), we need to have simple shims to set gpt_drive_sectors
+ * to drive_sectors.
+ *
+ * TODO(namnguyen): Remove those shims when the firmware can set these fields.
+ */
+typedef struct {
+       /* Fill in the following fields before calling GptInit() */
+       /* GPT primary header, from sector 1 of disk (size: 512 bytes) */
+       uint8_t *primary_header;
+       /* GPT secondary header, from last sector of disk (size: 512 bytes) */
+       uint8_t *secondary_header;
+       /* Primary GPT table, follows primary header */
+       uint8_t *primary_entries;
+       /* Secondary GPT table, precedes secondary header */
+       uint8_t *secondary_entries;
+       /* Size of a LBA sector, in bytes */
+       uint32_t sector_bytes;
+       /* Size of drive (that the partitions are on) in LBA sectors */
+       uint64_t streaming_drive_sectors;
+       /* Size of the device that holds the GPT structures, 512-byte sectors */
+       uint64_t gpt_drive_sectors;
+       /* Flags */
+       uint32_t flags;
+
+       /* Outputs */
+       /* Which inputs have been modified?  GPT_MODIFIED_* */
+       uint8_t modified;
+       /*
+        * The current chromeos kernel index in partition table.  -1 means not
+        * found on drive. Note that GPT partition numbers are traditionally
+        * 1-based, but we're using a zero-based index here.
+        */
+       int current_kernel;
+
+       /* Internal variables */
+       uint8_t valid_headers, valid_entries, ignored;
+       int current_priority;
+} GptData;
+
+/**
+ * Initializes the GPT data structure's internal state.
+ *
+ * The following fields must be filled before calling this function:
+ *
+ *   primary_header
+ *   secondary_header
+ *   primary_entries
+ *   secondary_entries
+ *   sector_bytes
+ *   drive_sectors
+ *   stored_on_device
+ *   gpt_device_sectors
+ *
+ * On return the modified field may be set, if the GPT data has been modified
+ * and should be written to disk.
+ *
+ * Returns GPT_SUCCESS if successful, non-zero if error:
+ *   GPT_ERROR_INVALID_HEADERS, both partition table headers are invalid, enters
+ *                              recovery mode,
+ *   GPT_ERROR_INVALID_ENTRIES, both partition table entries are invalid, enters
+ *                              recovery mode,
+ *   GPT_ERROR_INVALID_SECTOR_SIZE, size of a sector is not supported,
+ *   GPT_ERROR_INVALID_SECTOR_NUMBER, number of sectors in drive is invalid (too
+ *                                    small) */
+int GptInit(GptData *gpt);
+
+/**
+ * Return the nth instance of parition entry matching the partition type guid
+ * from the gpt table. Instance value starts from 0. If the entry is not found,
+ * it returns NULL.
+ */
+GptEntry *GptFindNthEntry(GptData *gpt, const Guid *guid, unsigned int n);
+
+/**
+ * Allocate and read GPT data from the drive.  The sector_bytes and
+ * drive_sectors fields should be filled on input.  The primary and secondary
+ * header and entries are filled on output.
+ *
+ * Returns 0 if successful, 1 if error.
+ */
+int AllocAndReadGptData(VbExDiskHandle_t disk_handle, GptData *gptdata);
+
+/**
+ * Write any changes for the GPT data back to the drive, then free the buffers.
+ */
+int WriteAndFreeGptData(VbExDiskHandle_t disk_handle, GptData *gptdata);
+
+/**
+ * Return 1 if the entry is unused, 0 if it is used.
+ */
+int IsUnusedEntry(const GptEntry *e);
+
+/**
+ * Return size(in lba) of a partition represented by given GPT entry.
+ */
+size_t GptGetEntrySizeLba(const GptEntry *e);
+
+/**
+ * Return size(in bytes) of a partition represented by given GPT entry.
+ */
+size_t GptGetEntrySizeBytes(const GptData *gpt, const GptEntry *e);
+
+/**
+ * Updates the kernel entry with the specified index, using the specified type
+ * of update (GPT_UPDATE_ENTRY_*).
+ *
+ * On return the modified field may be set, if the GPT data has been modified
+ * and should be written to disk.
+ *
+ * Returns GPT_SUCCESS if successful, else
+ *   GPT_ERROR_INVALID_UPDATE_TYPE, invalid 'update_type' is given.
+ */
+int GptUpdateKernelWithEntry(GptData *gpt, GptEntry *e, uint32_t update_type);
+
+/**
+ * Updates the kernel entry identified by current_kernel field. If
+ * current_kernel is not set it returns an error.
+ *
+ * Returns GPT_SUCCESS if successful, else
+ *   GPT_ERROR_INVALID_UPDATE_TYPE, invalid 'update_type' is given.
+ */
+int GptUpdateKernelEntry(GptData *gpt, uint32_t update_type);
+
+/* Getters and setters for partition attribute fields. */
+
+int GetEntryRequired(const GptEntry *e);
+int GetEntryLegacyBoot(const GptEntry *e);
+int GetEntrySuccessful(const GptEntry *e);
+int GetEntryPriority(const GptEntry *e);
+int GetEntryTries(const GptEntry *e);
+void SetEntryRequired(GptEntry *e, int required);
+void SetEntryLegacyBoot(GptEntry *e, int legacy_boot);
+void SetEntrySuccessful(GptEntry *e, int successful);
+void SetEntryPriority(GptEntry *e, int priority);
+void SetEntryTries(GptEntry *e, int tries);
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_GPT_MISC_H_ */
diff --git a/firmware/include/tlcl.h b/firmware/include/tlcl.h
new file mode 100644 (file)
index 0000000..d33fa47
--- /dev/null
@@ -0,0 +1,325 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * TPM Lightweight Command Library.
+ *
+ * A low-level library for interfacing to TPM hardware or an emulator.
+ */
+
+#ifndef VBOOT_REFERENCE_TLCL_H_
+#define VBOOT_REFERENCE_TLCL_H_
+
+#include <stddef.h>
+#include <stdint.h>
+
+#include "tss_constants.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*****************************************************************************/
+/* Functions implemented in tlcl.c */
+
+/**
+ * Call this first.  Returns 0 if success, nonzero if error.
+ */
+uint32_t TlclLibInit(void);
+
+/**
+ * Call this on shutdown.  Returns 0 if success, nonzero if error.
+ */
+uint32_t TlclLibClose(void);
+
+/* Low-level operations */
+
+/**
+ * Perform a raw TPM request/response transaction.
+ */
+uint32_t TlclSendReceive(const uint8_t *request, uint8_t *response,
+                        int max_length);
+
+/**
+ * Return the size of a TPM request or response packet.
+ */
+int TlclPacketSize(const uint8_t *packet);
+
+/* Commands */
+
+/**
+ * Send a TPM_Startup(ST_CLEAR).  The TPM error code is returned (0 for
+ * success).
+ */
+uint32_t TlclStartup(void);
+
+/**
+ * Save the TPM state.  Normally done by the kernel before a suspend, included
+ * here for tests.  The TPM error code is returned (0 for success).
+ */
+uint32_t TlclSaveState(void);
+
+/**
+ * Resume by sending a TPM_Startup(ST_STATE).  The TPM error code is returned
+ * (0 for success).
+ */
+uint32_t TlclResume(void);
+
+/**
+ * Run the self test.
+ *
+ * Note---this is synchronous.  To run this in parallel with other firmware,
+ * use ContinueSelfTest().  The TPM error code is returned.
+ */
+uint32_t TlclSelfTestFull(void);
+
+/**
+ * Run the self test in the background.
+ */
+uint32_t TlclContinueSelfTest(void);
+
+/**
+ * Define a space with permission [perm].  [index] is the index for the space,
+ * [size] the usable data size.  The TPM error code is returned.
+ */
+uint32_t TlclDefineSpace(uint32_t index, uint32_t perm, uint32_t size);
+
+/**
+ * Define a space using owner authorization secret [owner_auth]. The space is
+ * set up to have permission [perm].  [index] is the index for the space, [size]
+ * the usable data size. Optional auth policy (such as PCR selections) can be
+ * passed via [auth_policy]. The TPM error code is returned.
+ */
+uint32_t TlclDefineSpaceEx(const uint8_t* owner_auth, uint32_t owner_auth_size,
+                          uint32_t index, uint32_t perm, uint32_t size,
+                          const void* auth_policy, uint32_t auth_policy_size);
+
+/**
+ * Initializes [auth_policy] to require PCR binding of the given
+ * [pcr_selection_bitmap]. The PCR values are passed in the [pcr_values]
+ * parameter with each entry corresponding to the sequence of indexes that
+ * corresponds to the bits that are set in [pcr_selection_bitmap]. Returns
+ * TPM_SUCCESS if successful, TPM_E_BUFFER_SIZE if the provided buffer is too
+ * short. The actual size of the policy will be set in [auth_policy_size] upon
+ * return, also for the case of insufficient buffer size.
+ */
+uint32_t TlclInitNvAuthPolicy(uint32_t pcr_selection_bitmap,
+                             const uint8_t pcr_values[][TPM_PCR_DIGEST],
+                             void* auth_policy, uint32_t* auth_policy_size);
+
+/**
+ * Write [length] bytes of [data] to space at [index].  The TPM error code is
+ * returned.
+ */
+uint32_t TlclWrite(uint32_t index, const void *data, uint32_t length);
+
+/**
+ * Read [length] bytes from space at [index] into [data].  The TPM error code
+ * is returned.
+ */
+uint32_t TlclRead(uint32_t index, void *data, uint32_t length);
+
+/**
+ * Read PCR at [index] into [data].  [length] must be TPM_PCR_DIGEST or
+ * larger. The TPM error code is returned.
+ */
+uint32_t TlclPCRRead(uint32_t index, void *data, uint32_t length);
+
+/**
+ * Write-lock space at [index].  The TPM error code is returned.
+ */
+uint32_t TlclWriteLock(uint32_t index);
+
+/**
+ * Read-lock space at [index].  The TPM error code is returned.
+ */
+uint32_t TlclReadLock(uint32_t index);
+
+/**
+ * Assert physical presence in software.  The TPM error code is returned.
+ */
+uint32_t TlclAssertPhysicalPresence(void);
+
+/**
+ * Enable the physical presence command.  The TPM error code is returned.
+ */
+uint32_t TlclPhysicalPresenceCMDEnable(void);
+
+/**
+ * Finalize the physical presence settings: sofware PP is enabled, hardware PP
+ * is disabled, and the lifetime lock is set.  The TPM error code is returned.
+ */
+uint32_t TlclFinalizePhysicalPresence(void);
+
+uint32_t TlclAssertPhysicalPresenceResult(void);
+
+/**
+ * Turn off physical presence and locks it off until next reboot.  The TPM
+ * error code is returned.
+ */
+uint32_t TlclLockPhysicalPresence(void);
+
+/**
+ * Set the nvLocked bit.  The TPM error code is returned.
+ */
+uint32_t TlclSetNvLocked(void);
+
+/**
+ * Return 1 if the TPM is owned, 0 otherwise.
+ */
+int TlclIsOwned(void);
+
+/**
+ * Issue a ForceClear.  The TPM error code is returned.
+ */
+uint32_t TlclForceClear(void);
+
+/**
+ * Issue a PhysicalEnable.  The TPM error code is returned.
+ */
+uint32_t TlclSetEnable(void);
+
+/**
+ * Issue a PhysicalDisable.  The TPM error code is returned.
+ */
+uint32_t TlclClearEnable(void);
+
+/**
+ * Issue a SetDeactivated.  Pass 0 to activate.  Returns result code.
+ */
+uint32_t TlclSetDeactivated(uint8_t flag);
+
+/**
+ * Get flags of interest.  Pointers for flags you aren't interested in may
+ * be NULL.  The TPM error code is returned.
+ */
+uint32_t TlclGetFlags(uint8_t *disable, uint8_t *deactivated,
+                     uint8_t *nvlocked);
+
+/**
+ * Set the bGlobalLock flag, which only a reboot can clear.  The TPM error
+ * code is returned.
+ */
+uint32_t TlclSetGlobalLock(void);
+
+/**
+ * Perform a TPM_Extend.
+ */
+uint32_t TlclExtend(int pcr_num, const uint8_t *in_digest, uint8_t *out_digest);
+
+/**
+ * Get the permission bits for the NVRAM space with |index|.
+ */
+uint32_t TlclGetPermissions(uint32_t index, uint32_t *permissions);
+
+/**
+ * Get the public information about the NVRAM space identified by |index|. All
+ * other parameters are filled in with the respective information.
+ * |auth_policy_size| is both an input an output parameter. It should contain
+ * the available buffer size in |auth_policy| and will be updated to indicate
+ * the size of the filled in auth policy upon return. If the buffer size is not
+ * sufficient, the return value will be TPM_E_BUFFER_SIZE.
+ */
+uint32_t TlclGetSpaceInfo(uint32_t index, uint32_t *attributes, uint32_t *size,
+                         void* auth_policy, uint32_t* auth_policy_size);
+
+/**
+ * Get the entire set of permanent flags.
+ */
+uint32_t TlclGetPermanentFlags(TPM_PERMANENT_FLAGS *pflags);
+
+/**
+ * Get the entire set of volatile (ST_CLEAR) flags.
+ */
+uint32_t TlclGetSTClearFlags(TPM_STCLEAR_FLAGS *pflags);
+
+/**
+ * Get the ownership flag. The TPM error code is returned.
+ */
+uint32_t TlclGetOwnership(uint8_t *owned);
+
+/**
+ * Request [length] bytes from TPM RNG to be stored in [data]. Actual number of
+ * bytes read is stored in [size]. The TPM error code is returned.
+ */
+uint32_t TlclGetRandom(uint8_t *data, uint32_t length, uint32_t *size);
+
+/**
+ * Requests version information from the TPM.
+ * If vendor_specific_buf_size != NULL, requests also the vendor-specific
+ * variable-length part of the version:
+ *   if vendor_specific_buf == NULL, determines its size and returns in
+ *       *vendor_specific_buf_size;
+ *   if vendor_specific_buf != NULL, fills the buffer until either the
+ *       end of the vendor specific data or the end of the buffer, sets
+ *       *vendor_specific_buf_size to the length of the filled data.
+ */
+uint32_t TlclGetVersion(uint32_t* vendor, uint64_t* firmware_version,
+                       uint8_t* vendor_specific_buf,
+                       size_t* vendor_specific_buf_size);
+
+/**
+ * Issues the IFX specific FieldUpgradeInfoRequest2 TPM_FieldUpgrade subcommand
+ * and fills in [info] with results.
+ */
+uint32_t TlclIFXFieldUpgradeInfo(TPM_IFX_FIELDUPGRADEINFO *info);
+
+#ifdef CHROMEOS_ENVIRONMENT
+
+/**
+ * Undefine the space. [index] is the index for the space. The TPM error code
+ * is returned.
+ */
+uint32_t TlclUndefineSpace(uint32_t index);
+
+/**
+ * Undefine a space. For TPM 2.0, it will use platform authrorization when the
+ * space is created by TPMA_NV_PLATFORMCREATE flag, or use owner authorization
+ * secret [owner_auth] otherwise. For TPM 1.2, only avaible when physical
+ * presence is set or TPM_PERMANENT_FLAGS->nvLocked is not set.
+ * [index] is the index for the space
+ * The TPM error code is returned.
+ */
+uint32_t TlclUndefineSpaceEx(const uint8_t* owner_auth,
+                            uint32_t owner_auth_size,
+                            uint32_t index);
+
+#ifndef TPM2_MODE
+
+/**
+ * Read the public half of the EK.
+ */
+uint32_t TlclReadPubek(uint32_t* public_exponent,
+                      uint8_t* modulus,
+                      uint32_t* modulus_size);
+
+/**
+ * Takes ownership of the TPM. [enc_owner_auth] and [enc_srk_auth] are the owner
+ * and SRK authorization secrets encrypted under the endorsement key. The clear
+ * text [owner_auth] needs to be passed as well for command auth.
+ */
+uint32_t TlclTakeOwnership(uint8_t enc_owner_auth[TPM_RSA_2048_LEN],
+                          uint8_t enc_srk_auth[TPM_RSA_2048_LEN],
+                          uint8_t owner_auth[TPM_AUTH_DATA_LEN]);
+
+/**
+ * Create a delegation family with the specified [family_label].
+ */
+uint32_t TlclCreateDelegationFamily(uint8_t family_label);
+
+/**
+ * Read the delegation family table. Entries are stored in [table]. The size of
+ * the family table array must be specified in [table_size]. [table_size] gets
+ * updated to indicate actual number of table entries available.
+ */
+uint32_t TlclReadDelegationFamilyTable(TPM_FAMILY_TABLE_ENTRY *table,
+                                      uint32_t* table_size);
+
+#endif  /* TPM2_MODE */
+#endif  /* CHROMEOS_ENVIRONMENT */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* VBOOT_REFERENCE_TLCL_H_ */
diff --git a/firmware/include/tpm1_tss_constants.h b/firmware/include/tpm1_tss_constants.h
new file mode 100644 (file)
index 0000000..6edc491
--- /dev/null
@@ -0,0 +1,262 @@
+/* Copyright 2016 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Some TPM constants and type definitions for standalone compilation for use
+ * in the firmware
+ */
+
+#ifndef VBOOT_REFERENCE_TPM1_TSS_CONSTANTS_H_
+#define VBOOT_REFERENCE_TPM1_TSS_CONSTANTS_H_
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+#define TPM_MAX_COMMAND_SIZE 4096
+#define TPM_LARGE_ENOUGH_COMMAND_SIZE 256  /* saves space in the firmware */
+#define TPM_PUBEK_SIZE 256
+#define TPM_PCR_DIGEST 20
+
+#define TPM_NV_INDEX0            ((uint32_t) 0x00000000)
+#define TPM_NV_INDEX_LOCK        ((uint32_t) 0xffffffff)
+#define TPM_NV_INDEX_TRIAL       ((uint32_t) 0x0000f004)
+
+#define TPM_NV_PER_READ_STCLEAR        (((uint32_t)1) << 31)
+#define TPM_NV_PER_AUTHREAD            (((uint32_t)1) << 18)
+#define TPM_NV_PER_OWNERREAD           (((uint32_t)1) << 17)
+#define TPM_NV_PER_PPREAD              (((uint32_t)1) << 16)
+#define TPM_NV_PER_GLOBALLOCK          (((uint32_t)1) << 15)
+#define TPM_NV_PER_WRITE_STCLEAR       (((uint32_t)1) << 14)
+#define TPM_NV_PER_WRITEDEFINE         (((uint32_t)1) << 13)
+#define TPM_NV_PER_WRITEALL            (((uint32_t)1) << 12)
+#define TPM_NV_PER_AUTHWRITE           (((uint32_t)1) << 2)
+#define TPM_NV_PER_OWNERWRITE          (((uint32_t)1) << 1)
+#define TPM_NV_PER_PPWRITE             (((uint32_t)1) << 0)
+
+#define TPM_TAG_NV_ATTRIBUTES          ((uint16_t) 0x0017)
+#define TPM_TAG_NV_DATA_PUBLIC         ((uint16_t) 0x0018)
+#define TPM_TAG_KEY12                  ((uint16_t) 0x0028)
+
+#define TPM_TAG_RQU_COMMAND       ((uint16_t) 0xc1)
+#define TPM_TAG_RQU_AUTH1_COMMAND ((uint16_t) 0xc2)
+#define TPM_TAG_RQU_AUTH2_COMMAND ((uint16_t) 0xc3)
+
+#define TPM_TAG_RSP_COMMAND       ((uint16_t) 0xc4)
+#define TPM_TAG_RSP_AUTH1_COMMAND ((uint16_t) 0xc5)
+#define TPM_TAG_RSP_AUTH2_COMMAND ((uint16_t) 0xc6)
+
+typedef uint8_t TSS_BOOL;
+typedef uint8_t TPM_BOOL;
+typedef uint16_t TPM_TAG;
+typedef uint16_t TPM_STRUCTURE_TAG;
+typedef uint32_t TPM_NV_INDEX;
+typedef uint32_t TPM_NV_PER_ATTRIBUTES;
+typedef uint8_t TPM_LOCALITY_SELECTION;
+typedef uint32_t TPM_COMMAND_CODE;
+typedef uint16_t TPM_PHYSICAL_PRESENCE;
+typedef uint16_t TPM_STARTUP_TYPE;
+typedef uint32_t TPM_CAPABILITY_AREA;
+typedef uint8_t TPM_FAMILY_LABEL;
+typedef uint32_t TPM_FAMILY_ID;
+typedef uint32_t TPM_FAMILY_VERIFICATION;
+typedef uint32_t TPM_FAMILY_FLAGS;
+
+#define TPM_CAP_FLAG           ((uint32_t) 0x00000004)
+#define TPM_CAP_FLAG_PERMANENT ((uint32_t) 0x00000108)
+#define TPM_CAP_FLAG_VOLATILE  ((uint32_t) 0x00000109)
+
+#define TPM_CAP_PROPERTY        ((uint32_t) 0x00000005)
+#define TPM_CAP_PROP_OWNER      ((uint32_t) 0x00000111)
+#define TPM_CAP_NV_INDEX        ((uint32_t) 0x00000011)
+#define TPM_CAP_GET_VERSION_VAL ((uint32_t) 0x0000001a)
+
+#define TPM_AUTH_ALWAYS  ((uint8_t) 0x01)
+
+#define TPM_KEY_USAGE_STORAGE ((uint16_t) 0x0011)
+
+#define TPM_ALG_RSA ((uint16_t)0x0001)
+
+#define TPM_ES_RSAESOAEP_SHA1_MGF1 ((uint16_t)0x0003)
+
+#define TPM_SS_NONE ((uint16_t)0x0001)
+
+#define TPM_PID_OWNER ((uint16_t) 0x0005)
+
+#define TPM_ET_OWNER ((uint32_t) 0x02)
+
+#define TPM_FAMILY_CREATE ((uint32_t) 0x00000001)
+
+#define TPM_ST_CLEAR       ((uint16_t) 0x0001)
+#define TPM_ST_STATE       ((uint16_t) 0x0002)
+#define TPM_ST_DEACTIVATED ((uint16_t) 0x0003)
+
+#define TPM_LOC_FOUR   (((uint32_t)1)<<4)
+#define TPM_LOC_THREE  (((uint32_t)1)<<3)
+#define TPM_LOC_TWO    (((uint32_t)1)<<2)
+#define TPM_LOC_ONE    (((uint32_t)1)<<1)
+#define TPM_LOC_ZERO   (((uint32_t)1)<<0)
+
+#define TPM_ALL_LOCALITIES (TPM_LOC_ZERO | TPM_LOC_ONE | TPM_LOC_TWO    \
+                           | TPM_LOC_THREE | TPM_LOC_FOUR)  /* 0x1f */
+
+#define TPM_PHYSICAL_PRESENCE_LOCK          ((uint16_t) 0x0004)
+#define TPM_PHYSICAL_PRESENCE_PRESENT       ((uint16_t) 0x0008)
+#define TPM_PHYSICAL_PRESENCE_NOTPRESENT    ((uint16_t) 0x0010)
+#define TPM_PHYSICAL_PRESENCE_CMD_ENABLE    ((uint16_t) 0x0020)
+#define TPM_PHYSICAL_PRESENCE_HW_ENABLE     ((uint16_t) 0x0040)
+#define TPM_PHYSICAL_PRESENCE_LIFETIME_LOCK ((uint16_t) 0x0080)
+#define TPM_PHYSICAL_PRESENCE_CMD_DISABLE   ((uint16_t) 0x0100)
+#define TPM_PHYSICAL_PRESENCE_HW_DISABLE    ((uint16_t) 0x0200)
+
+#define TPM_SHA1_160_HASH_LEN    0x14
+#define TPM_SHA1BASED_NONCE_LEN  TPM_SHA1_160_HASH_LEN
+
+#define TPM_AUTH_DATA_LEN    0x14
+
+#define TPM_RSA_2048_LEN    0x100
+
+typedef struct tdTPM_DIGEST
+{
+       uint8_t  digest[TPM_SHA1_160_HASH_LEN];
+} TPM_DIGEST;
+
+typedef TPM_DIGEST TPM_COMPOSITE_HASH;
+
+typedef struct tdTPM_PCR_SELECTION
+{
+       uint16_t  sizeOfSelect;
+       uint8_t   pcrSelect[3];
+} __attribute__((packed)) TPM_PCR_SELECTION;
+
+typedef struct tdTPM_NV_ATTRIBUTES
+{
+       TPM_STRUCTURE_TAG     tag;
+       TPM_NV_PER_ATTRIBUTES attributes;
+} __attribute__((packed)) TPM_NV_ATTRIBUTES;
+
+typedef struct tdTPM_PCR_INFO_SHORT
+{
+       TPM_PCR_SELECTION      pcrSelection;
+       TPM_LOCALITY_SELECTION localityAtRelease;
+       TPM_COMPOSITE_HASH     digestAtRelease;
+} __attribute__((packed)) TPM_PCR_INFO_SHORT;
+
+typedef struct tdTPM_PERMANENT_FLAGS
+{
+       TPM_STRUCTURE_TAG tag;
+       TSS_BOOL disable;
+       TSS_BOOL ownership;
+       TSS_BOOL deactivated;
+       TSS_BOOL readPubek;
+       TSS_BOOL disableOwnerClear;
+       TSS_BOOL allowMaintenance;
+       TSS_BOOL physicalPresenceLifetimeLock;
+       TSS_BOOL physicalPresenceHWEnable;
+       TSS_BOOL physicalPresenceCMDEnable;
+       TSS_BOOL CEKPUsed;
+       TSS_BOOL TPMpost;
+       TSS_BOOL TPMpostLock;
+       TSS_BOOL FIPS;
+       TSS_BOOL Operator;
+       TSS_BOOL enableRevokeEK;
+       TSS_BOOL nvLocked;
+       TSS_BOOL readSRKPub;
+       TSS_BOOL tpmEstablished;
+       TSS_BOOL maintenanceDone;
+       TSS_BOOL disableFullDALogicInfo;
+} TPM_PERMANENT_FLAGS;
+
+typedef struct tdTPM_STCLEAR_FLAGS{
+       TPM_STRUCTURE_TAG tag;
+       TSS_BOOL deactivated;
+       TSS_BOOL disableForceClear;
+       TSS_BOOL physicalPresence;
+       TSS_BOOL physicalPresenceLock;
+       TSS_BOOL bGlobalLock;
+} TPM_STCLEAR_FLAGS;
+
+typedef struct tdTPM_NV_DATA_PUBLIC
+{
+       TPM_STRUCTURE_TAG  tag;
+       TPM_NV_INDEX       nvIndex;
+       TPM_PCR_INFO_SHORT pcrInfoRead;
+       TPM_PCR_INFO_SHORT pcrInfoWrite;
+       TPM_NV_ATTRIBUTES  permission;
+       TPM_BOOL           bReadSTClear;
+       TPM_BOOL           bWriteSTClear;
+       TPM_BOOL           bWriteDefine;
+       uint32_t           dataSize;
+} TPM_NV_DATA_PUBLIC;
+
+typedef struct tdTPM_NONCE
+{
+       uint8_t nonce[TPM_SHA1BASED_NONCE_LEN];
+} TPM_NONCE;
+
+typedef struct tdTPM_FAMILY_TABLE_ENTRY
+{
+       TPM_STRUCTURE_TAG tag;
+       TPM_FAMILY_LABEL familyLabel;
+       TPM_FAMILY_ID familyID;
+       TPM_FAMILY_VERIFICATION verificationCount;
+       TPM_FAMILY_FLAGS flags;
+} TPM_FAMILY_TABLE_ENTRY;
+
+typedef struct tdTPM_IFX_FIRMWAREPACKAGE {
+       uint32_t FwPackageIdentifier;
+       uint32_t Version;
+       uint32_t StaleVersion;
+} TPM_IFX_FIRMWAREPACKAGE;
+
+typedef struct tdTPM_IFX_FIELDUPGRADEINFO
+{
+       uint16_t wMaxDataSize;
+       TPM_IFX_FIRMWAREPACKAGE sBootloaderFirmwarePackage;
+       TPM_IFX_FIRMWAREPACKAGE sFirmwarePackages[2];
+       uint16_t wSecurityModuleStatus;
+       TPM_IFX_FIRMWAREPACKAGE sProcessFirmwarePackage;
+       uint16_t wFieldUpgradeCounter;
+} TPM_IFX_FIELDUPGRADEINFO;
+
+typedef struct tdTPM_NV_AUTH_POLICY
+{
+       TPM_PCR_INFO_SHORT pcr_info_read;
+       TPM_PCR_INFO_SHORT pcr_info_write;
+} TPM_NV_AUTH_POLICY;
+
+#define TPM_IFX_FieldUpgradeInfoRequest2  ((uint8_t) 0x11)
+
+/* Ordinals */
+
+#define TPM_ORD_ContinueSelfTest        ((uint32_t) 0x00000053)
+#define TPM_ORD_Delegate_Manage         ((uint32_t) 0x000000D2)
+#define TPM_ORD_Delegate_ReadTable      ((uint32_t) 0x000000DB)
+#define TPM_ORD_Extend                  ((uint32_t) 0x00000014)
+#define TPM_ORD_FieldUpgrade            ((uint32_t) 0x000000AA)
+#define TPM_ORD_ForceClear              ((uint32_t) 0x0000005D)
+#define TPM_ORD_GetCapability           ((uint32_t) 0x00000065)
+#define TPM_ORD_GetRandom               ((uint32_t) 0x00000046)
+#define TPM_ORD_NV_DefineSpace          ((uint32_t) 0x000000CC)
+#define TPM_ORD_NV_ReadValue            ((uint32_t) 0x000000CF)
+#define TPM_ORD_NV_WriteValue           ((uint32_t) 0x000000CD)
+#define TPM_ORD_OIAP                    ((uint32_t) 0x0000000A)
+#define TPM_ORD_OSAP                    ((uint32_t) 0x0000000B)
+#define TPM_ORD_PcrRead                 ((uint32_t) 0x00000015)
+#define TPM_ORD_PhysicalEnable          ((uint32_t) 0x0000006F)
+#define TPM_ORD_PhysicalDisable         ((uint32_t) 0x00000070)
+#define TSC_ORD_PhysicalPresence        ((uint32_t) 0x4000000A)
+#define TPM_ORD_PhysicalSetDeactivated  ((uint32_t) 0x00000072)
+#define TPM_ORD_ReadPubek               ((uint32_t) 0x0000007C)
+#define TPM_ORD_SaveState               ((uint32_t) 0x00000098)
+#define TPM_ORD_SelfTestFull            ((uint32_t) 0x00000050)
+#define TPM_ORD_Startup                 ((uint32_t) 0x00000099)
+#define TPM_ORD_TakeOwnership           ((uint32_t) 0x0000000D)
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_TPM1_TSS_CONSTANTS_H_ */
diff --git a/firmware/include/tpm2_marshaling.h b/firmware/include/tpm2_marshaling.h
new file mode 100644 (file)
index 0000000..9fd79da
--- /dev/null
@@ -0,0 +1,97 @@
+/* Copyright 2016 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_TPM2_MARSHALING_H_
+#define VBOOT_REFERENCE_TPM2_MARSHALING_H_
+
+#include "tss_constants.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+/* The below functions are used to serialize/deserialize TPM2 commands. */
+
+/**
+ * tpm_marshal_command
+ *
+ * Given a structure containing a TPM2 command, serialize the structure for
+ * sending it to the TPM.
+ *
+ * @command: code of the TPM2 command to marshal
+ * @tpm_command_body: a pointer to the command specific structure
+ * @buffer: buffer where command is marshaled to
+ * @buffer_size: size of the buffer
+ *
+ * Returns number of bytes placed in the buffer, or -1 on error.
+ *
+ */
+int tpm_marshal_command(TPM_CC command, void *tpm_command_body,
+                       void *buffer, int buffer_size);
+
+/**
+ * tpm_unmarshal_response
+ *
+ * Given a buffer received from the TPM in response to a certain command,
+ * deserialize the buffer into the expeced response structure.
+ *
+ * @command: code of the TPM2 command for which a response is unmarshaled
+ * @response_body: buffer containing the serialized response.
+ * @response_size: number of bytes in the buffer containing response
+ * @response: structure to be filled with deserialized response,
+ *            struct tpm2_response is a union of all possible responses.
+ *
+ * Returns 0 on success, or -1 on error.
+ */
+int tpm_unmarshal_response(TPM_CC command,
+                          void *response_body,
+                          int response_size,
+                          struct tpm2_response *response);
+
+/**
+ * tpm_get_packet_size
+ *
+ * @packet: pointer to the start of the command or response packet.
+ *
+ * Returns the size of the tpm packet.
+ */
+uint32_t tpm_get_packet_size(const uint8_t *packet);
+
+/**
+ * tpm_get_packet_response_code
+ *
+ * @packet: pointer to the start of the response packet.
+ *
+ * Returns the response code.
+ */
+uint32_t tpm_get_packet_response_code(const uint8_t *packet);
+
+/**
+ * tpm_set_ph_disabled
+ *
+ * Sets the flag that indicates if platform hierarchy is disabled.
+ * Certain commands, like NV_Read, may need to use different
+ * authorization if platform hierarchy is disabled.
+ *
+ * @flag: 1 if platform hierarchy is disabled, 0 otherwise
+ */
+void tpm_set_ph_disabled(int flag);
+
+/**
+ * tpm_is_ph_disabled
+ *
+ * Gets the flag that indicates if platform hierarchy is disabled.
+ * Certain commands, like NV_Read, may need to use different
+ * authorization if platform hierarchy is disabled.
+ *
+ * Returns 1 if platform hierarchy is disabled, 0 otherwise
+ */
+int tpm_is_ph_disabled(void);
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_TPM2_MARSHALING_H_ */
diff --git a/firmware/include/tpm2_tss_constants.h b/firmware/include/tpm2_tss_constants.h
new file mode 100644 (file)
index 0000000..becd710
--- /dev/null
@@ -0,0 +1,350 @@
+/* Copyright 2016 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Some TPM constants and type definitions for standalone compilation for use
+ * in the firmware
+ */
+
+#ifndef VBOOT_REFERENCE_TPM2_TSS_CONSTANTS_H_
+#define VBOOT_REFERENCE_TPM2_TSS_CONSTANTS_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+#define TPM_BUFFER_SIZE 256
+
+/* Tpm2 command tags. */
+#define TPM_ST_NO_SESSIONS 0x8001
+#define TPM_ST_SESSIONS    0x8002
+
+/* TPM2 command codes. */
+#define TPM2_Hierarchy_Control ((TPM_CC)0x00000121)
+#define TPM2_NV_UndefineSpace  ((TPM_CC)0x00000122)
+#define TPM2_Clear             ((TPM_CC)0x00000126)
+#define TPM2_NV_DefineSpace    ((TPM_CC)0x0000012A)
+#define TPM2_NV_Write          ((TPM_CC)0x00000137)
+#define TPM2_NV_WriteLock      ((TPM_CC)0x00000138)
+#define TPM2_SelfTest          ((TPM_CC)0x00000143)
+#define TPM2_Startup           ((TPM_CC)0x00000144)
+#define TPM2_Shutdown          ((TPM_CC)0x00000145)
+#define TPM2_NV_Read           ((TPM_CC)0x0000014E)
+#define TPM2_NV_ReadLock       ((TPM_CC)0x0000014F)
+#define TPM2_NV_ReadPublic     ((TPM_CC)0x00000169)
+#define TPM2_GetCapability     ((TPM_CC)0x0000017A)
+#define TPM2_GetRandom         ((TPM_CC)0x0000017B)
+#define TPM2_PCR_Extend        ((TPM_CC)0x00000182)
+
+#define TPM_HT_PCR             0x00
+#define TPM_HT_NV_INDEX        0x01
+
+#define HR_SHIFT               24
+#define HR_PCR                (TPM_HT_PCR <<  HR_SHIFT)
+#define HR_NV_INDEX           (TPM_HT_NV_INDEX <<  HR_SHIFT)
+#define TPM_RH_OWNER        0x40000001
+#define TPM_RH_PLATFORM     0x4000000C
+#define TPM_RS_PW           0x40000009
+
+/* TPM2 capabilities. */
+#define TPM_CAP_FIRST                   ((TPM_CAP)0x00000000)
+#define TPM_CAP_TPM_PROPERTIES          ((TPM_CAP)0x00000006)
+
+/* TPM properties */
+#define TPM_PT_NONE                     ((TPM_PT)0x00000000)
+#define PT_GROUP                        ((TPM_PT)0x00000100)
+#define PT_FIXED                        PT_GROUP
+#define TPM_PT_MANUFACTURER             (PT_FIXED + 5)
+#define TPM_PT_VENDOR_STRING_1          (PT_FIXED + 6)
+#define TPM_PT_VENDOR_STRING_4          (PT_FIXED + 9)
+#define TPM_PT_FIRMWARE_VERSION_1       (PT_FIXED + 11)
+#define TPM_PT_FIRMWARE_VERSION_2       (PT_FIXED + 12)
+#define PT_VAR                          (PT_GROUP * 2)
+#define TPM_PT_PERMANENT                (PT_VAR + 0)
+#define TPM_PT_STARTUP_CLEAR            (PT_VAR + 1)
+
+/* TPM startup types. */
+#define TPM_SU_CLEAR                    ((TPM_SU)0x0000)
+#define TPM_SU_STATE                    ((TPM_SU)0x0001)
+
+/* TPM algorithm IDs. */
+#define TPM_ALG_SHA1                   ((TPM_ALG_ID)0x0004)
+#define TPM_ALG_SHA256                 ((TPM_ALG_ID)0x000B)
+#define TPM_ALG_NULL                   ((TPM_ALG_ID)0x0010)
+
+/* NV index attributes. */
+#define TPMA_NV_PPWRITE                        ((TPMA_NV)(1UL << 0))
+#define TPMA_NV_OWNERWRITE             ((TPMA_NV)(1UL << 1))
+#define TPMA_NV_AUTHWRITE              ((TPMA_NV)(1UL << 2))
+#define TPMA_NV_POLICYWRITE            ((TPMA_NV)(1UL << 3))
+#define TPMA_NV_COUNTER                        ((TPMA_NV)(1UL << 4))
+#define TPMA_NV_BITS                   ((TPMA_NV)(1UL << 5))
+#define TPMA_NV_EXTEND                 ((TPMA_NV)(1UL << 6))
+#define TPMA_NV_POLICY_DELETE          ((TPMA_NV)(1UL << 10))
+#define TPMA_NV_WRITELOCKED            ((TPMA_NV)(1UL << 11))
+#define TPMA_NV_WRITEALL               ((TPMA_NV)(1UL << 12))
+#define TPMA_NV_WRITEDEFINE            ((TPMA_NV)(1UL << 13))
+#define TPMA_NV_WRITE_STCLEAR          ((TPMA_NV)(1UL << 14))
+#define TPMA_NV_GLOBALLOCK             ((TPMA_NV)(1UL << 15))
+#define TPMA_NV_PPREAD                 ((TPMA_NV)(1UL << 16))
+#define TPMA_NV_OWNERREAD              ((TPMA_NV)(1UL << 17))
+#define TPMA_NV_AUTHREAD               ((TPMA_NV)(1UL << 18))
+#define TPMA_NV_POLICYREAD             ((TPMA_NV)(1UL << 19))
+#define TPMA_NV_NO_DA                  ((TPMA_NV)(1UL << 25))
+#define TPMA_NV_ORDERLY                        ((TPMA_NV)(1UL << 26))
+#define TPMA_NV_CLEAR_STCLEAR          ((TPMA_NV)(1UL << 27))
+#define TPMA_NV_READLOCKED             ((TPMA_NV)(1UL << 28))
+#define TPMA_NV_WRITTEN                        ((TPMA_NV)(1UL << 29))
+#define TPMA_NV_PLATFORMCREATE         ((TPMA_NV)(1UL << 30))
+#define TPMA_NV_READ_STCLEAR           ((TPMA_NV)(1UL << 31))
+
+#define TPMA_NV_MASK_READ              (TPMA_NV_PPREAD | TPMA_NV_OWNERREAD |\
+                                        TPMA_NV_AUTHREAD | TPMA_NV_POLICYREAD)
+#define TPMA_NV_MASK_WRITE             (TPMA_NV_PPWRITE | TPMA_NV_OWNERWRITE |\
+                                        TPMA_NV_AUTHWRITE |\
+                                        TPMA_NV_POLICYWRITE)
+
+/* Starting indexes of NV index ranges, as defined in "Registry of reserved
+ * TPM 2.0 handles and localities".
+ */
+#define TPMI_RH_NV_INDEX_TPM_START     ((TPMI_RH_NV_INDEX)0x01000000)
+#define TPMI_RH_NV_INDEX_PLATFORM_START        ((TPMI_RH_NV_INDEX)0x01400000)
+#define TPMI_RH_NV_INDEX_OWNER_START   ((TPMI_RH_NV_INDEX)0x01800000)
+#define TPMI_RH_NV_INDEX_TCG_OEM_START ((TPMI_RH_NV_INDEX)0x01C00000)
+#define TPMI_RH_NV_INDEX_TCG_WG_START  ((TPMI_RH_NV_INDEX)0x01C40000)
+#define TPMI_RH_NV_INDEX_RESERVED_START        ((TPMI_RH_NV_INDEX)0x01C90000)
+
+#define HASH_COUNT 1 /* Only SHA-256 is supported */
+
+/* Table 206 - Defines for SHA256 Hash Values */
+#define SHA256_DIGEST_SIZE  32
+
+typedef uint8_t TPMI_YES_NO;
+typedef uint32_t TPM_CC;
+typedef uint32_t TPM_HANDLE;
+typedef TPM_HANDLE TPMI_DH_PCR;
+typedef TPM_HANDLE TPMI_RH_NV_INDEX;
+typedef TPM_HANDLE TPMI_RH_ENABLES;
+typedef uint32_t TPM_CAP;
+typedef uint32_t TPM_PT;
+typedef uint16_t TPM_SU;
+typedef uint16_t TPM_ALG_ID;
+typedef TPM_ALG_ID TPMI_ALG_HASH;
+typedef uint32_t TPMA_NV;
+
+typedef struct {
+       uint16_t      size;
+       uint8_t       *buffer;
+} TPM2B, TPM2B_DIGEST, TPM2B_AUTH, TPM2B_NAME;
+
+typedef union {
+       struct {
+               uint16_t  size;
+               const uint8_t   *buffer;
+       } t;
+       TPM2B b;
+} TPM2B_MAX_NV_BUFFER;
+
+typedef struct {
+       TPM_PT property;
+       uint32_t value;
+} TPMS_TAGGED_PROPERTY;
+
+typedef struct {
+       uint32_t count;
+       TPMS_TAGGED_PROPERTY tpm_property[1];
+} TPML_TAGGED_TPM_PROPERTY;
+
+typedef union {
+       uint8_t sha256[SHA256_DIGEST_SIZE];
+} TPMU_HA;
+
+typedef struct {
+       TPMI_ALG_HASH  hashAlg;
+       TPMU_HA        digest;
+} TPMT_HA;
+
+typedef struct {
+       uint32_t   count;
+       TPMT_HA digests[HASH_COUNT];
+} TPML_DIGEST_VALUES;
+
+typedef union {
+       TPML_TAGGED_TPM_PROPERTY tpm_properties;
+} TPMU_CAPABILITIES;
+
+typedef struct {
+       TPM_CAP capability;
+       TPMU_CAPABILITIES data;
+} TPMS_CAPABILITY_DATA;
+
+typedef struct {
+       TPMI_RH_NV_INDEX nvIndex;
+       TPMI_ALG_HASH nameAlg;
+       TPMA_NV attributes;
+       TPM2B authPolicy;
+       uint16_t dataSize;
+} TPMS_NV_PUBLIC;
+
+struct tpm2_nv_define_space_cmd {
+       TPM2B auth;
+       TPMS_NV_PUBLIC publicInfo;
+};
+
+struct tpm2_nv_undefine_space_cmd {
+       TPMI_RH_NV_INDEX nvIndex;
+       uint8_t use_platform_auth;
+};
+
+struct tpm2_nv_read_cmd {
+       TPMI_RH_NV_INDEX nvIndex;
+       uint16_t size;
+       uint16_t offset;
+};
+
+struct tpm2_nv_write_cmd {
+       TPMI_RH_NV_INDEX nvIndex;
+       TPM2B_MAX_NV_BUFFER data;
+       uint16_t offset;
+};
+
+struct tpm2_nv_read_lock_cmd {
+       TPMI_RH_NV_INDEX nvIndex;
+};
+
+struct tpm2_nv_write_lock_cmd {
+       TPMI_RH_NV_INDEX nvIndex;
+};
+
+struct tpm2_nv_read_public_cmd {
+       TPMI_RH_NV_INDEX nvIndex;
+};
+
+struct tpm2_hierarchy_control_cmd {
+       TPMI_RH_ENABLES enable;
+       TPMI_YES_NO state;
+};
+
+struct tpm2_get_capability_cmd {
+       TPM_CAP capability;
+       uint32_t property;
+       uint32_t property_count;
+};
+
+struct tpm2_get_random_cmd {
+       uint16_t bytes_requested;
+};
+
+struct tpm2_self_test_cmd {
+       TPMI_YES_NO full_test;
+};
+
+struct tpm2_startup_cmd {
+       TPM_SU startup_type;
+};
+
+struct tpm2_shutdown_cmd {
+       TPM_SU shutdown_type;
+};
+
+struct tpm2_pcr_extend_cmd {
+       TPMI_DH_PCR pcrHandle;
+       TPML_DIGEST_VALUES digests;
+};
+
+/* Common command/response header. */
+struct tpm_header {
+       uint16_t tpm_tag;
+       uint32_t tpm_size;
+       uint32_t tpm_code;
+} __attribute__((packed));
+
+struct nv_read_response {
+       uint32_t params_size;
+       TPM2B_MAX_NV_BUFFER buffer;
+};
+
+struct tpm2_session_attrs {
+       uint8_t continueSession : 1;
+       uint8_t auditExclusive  : 1;
+       uint8_t auditReset      : 1;
+       uint8_t reserved3_4     : 2;
+       uint8_t decrypt         : 1;
+       uint8_t encrypt         : 1;
+       uint8_t audit           : 1;
+};
+
+struct tpm2_session_header {
+       uint32_t session_handle;
+       uint16_t nonce_size;
+       uint8_t *nonce;
+       union {
+               struct tpm2_session_attrs session_attr_bits;
+               uint8_t session_attrs;
+       }  __attribute__((packed));
+       uint16_t auth_size;
+       uint8_t *auth;
+};
+
+struct get_capability_response {
+       TPMI_YES_NO more_data;
+       TPMS_CAPABILITY_DATA capability_data;
+} __attribute__((packed));
+
+struct get_random_response {
+       TPM2B_DIGEST random_bytes;
+} __attribute__((packed));
+
+struct nv_read_public_response {
+       TPMS_NV_PUBLIC nvPublic;
+       TPM2B_NAME nvName;
+} __attribute__((packed));
+
+struct tpm2_response {
+       struct tpm_header hdr;
+       union {
+               struct nv_read_response nvr;
+               struct tpm2_session_header def_space;
+               struct get_capability_response cap;
+               struct get_random_response random;
+               struct nv_read_public_response nv_read_public;
+       };
+};
+
+typedef struct {
+       uint32_t ownerAuthSet : 1;
+       uint32_t endorsementAuthSet : 1;
+       uint32_t lockoutAuthSet : 1;
+       uint32_t reserved3_7 : 5;
+       uint32_t disableClear : 1;
+       uint32_t inLockout : 1;
+       uint32_t tpmGeneratedEPS : 1;
+       uint32_t reserved11_31 : 21;
+} TPM_PERMANENT_FLAGS;
+
+typedef struct {
+       uint32_t phEnable : 1;
+       uint32_t shEnable : 1;
+       uint32_t ehEnable : 1;
+       uint32_t phEnableNV : 1;
+       uint32_t reserved4_30 : 27;
+       uint32_t orderly : 1;
+} TPM_STCLEAR_FLAGS;
+
+typedef struct tdTPM_IFX_FIELDUPGRADEINFO
+{
+} TPM_IFX_FIELDUPGRADEINFO;
+
+/* TODO(apronin): For TPM2 certain properties must be received using
+ * TPM2_GetCapability instead of being hardcoded as they are now:
+ * TPM_MAX_COMMAND_SIZE -> use TPM_PT_MAX_COMMAND_SIZE for TPM2.
+ * TPM_PCR_DIGEST -> use TPM_PT_MAX_DIGEST for TPM2.
+ */
+#define TPM_MAX_COMMAND_SIZE   4096
+#define TPM_PCR_DIGEST         32
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_TPM2_TSS_CONSTANTS_H_ */
diff --git a/firmware/include/tss_constants.h b/firmware/include/tss_constants.h
new file mode 100644 (file)
index 0000000..0dd3ab0
--- /dev/null
@@ -0,0 +1,60 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_TSS_CONSTANTS_H_
+#define VBOOT_REFERENCE_TSS_CONSTANTS_H_
+
+#include <stdint.h>
+
+#define TPM_SUCCESS ((uint32_t) 0x00000000)
+
+#define TPM_E_ALREADY_INITIALIZED    ((uint32_t) 0x00005000)  /* vboot local */
+#define TPM_E_INTERNAL_INCONSISTENCY ((uint32_t) 0x00005001)  /* vboot local */
+#define TPM_E_MUST_REBOOT            ((uint32_t) 0x00005002)  /* vboot local */
+#define TPM_E_CORRUPTED_STATE        ((uint32_t) 0x00005003)  /* vboot local */
+#define TPM_E_COMMUNICATION_ERROR    ((uint32_t) 0x00005004)  /* vboot local */
+#define TPM_E_RESPONSE_TOO_LARGE     ((uint32_t) 0x00005005)  /* vboot local */
+#define TPM_E_NO_DEVICE              ((uint32_t) 0x00005006)  /* vboot local */
+#define TPM_E_INPUT_TOO_SMALL        ((uint32_t) 0x00005007)  /* vboot local */
+#define TPM_E_WRITE_FAILURE          ((uint32_t) 0x00005008)  /* vboot local */
+#define TPM_E_READ_EMPTY             ((uint32_t) 0x00005009)  /* vboot local */
+#define TPM_E_READ_FAILURE           ((uint32_t) 0x0000500a)  /* vboot local */
+#define TPM_E_STRUCT_SIZE            ((uint32_t) 0x0000500b)  /* vboot local */
+#define TPM_E_STRUCT_VERSION         ((uint32_t) 0x0000500c)  /* vboot local */
+#define TPM_E_INTERNAL_ERROR         ((uint32_t) 0x0000500d)  /* vboot local */
+#define TPM_E_INVALID_RESPONSE       ((uint32_t) 0x0000500e)  /* vboot local */
+#define TPM_E_BUFFER_SIZE            ((uint32_t) 0x0000500f)  /* vboot local */
+#define TPM_E_NO_SUCH_COMMAND        ((uint32_t) 0x00005010)  /* vboot local */
+
+
+/*
+ * AP firmware relies on Tlcl returning these exact TPM1.2 error codes
+ * regardless of the TPM spec version in certain sitautions. So, TPM2.0 should
+ * map to these errors when necessary. All TPM2.0-spec-defined errors have
+ * either 0x100 or 0x80 bit set, so there is no confusion with actual error
+ * codes returned from a TPM2.0 chip.
+ */
+#define TPM_E_AUTHFAIL              ((uint32_t) 0x00000001)
+#define TPM_E_BADINDEX              ((uint32_t) 0x00000002)
+#define TPM_E_BAD_ORDINAL           ((uint32_t) 0x0000000a)
+#define TPM_E_OWNER_SET             ((uint32_t) 0x00000014)
+#define TPM_E_BADTAG                ((uint32_t) 0x0000001e)
+#define TPM_E_IOERROR               ((uint32_t) 0x0000001f)
+#define TPM_E_INVALID_POSTINIT      ((uint32_t) 0x00000026)
+#define TPM_E_BAD_PRESENCE          ((uint32_t) 0x0000002d)
+#define TPM_E_AREA_LOCKED           ((uint32_t) 0x0000003c)
+#define TPM_E_MAXNVWRITES           ((uint32_t) 0x00000048)
+
+#define TPM_E_NON_FATAL 0x800
+#define TPM_E_NEEDS_SELFTEST ((uint32_t) (TPM_E_NON_FATAL + 1))
+#define TPM_E_DOING_SELFTEST ((uint32_t) (TPM_E_NON_FATAL + 2))
+
+#ifdef TPM2_MODE
+#include "tpm2_tss_constants.h"
+#else
+#include "tpm1_tss_constants.h"
+#endif
+
+#endif  /* VBOOT_REFERENCE_TSS_CONSTANTS_H_ */
diff --git a/firmware/include/vb2_api.h b/firmware/include/vb2_api.h
new file mode 100644 (file)
index 0000000..a0ad7bd
--- /dev/null
@@ -0,0 +1,20 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * APIs between calling firmware and vboot_reference
+ *
+ * DO NOT INCLUDE THE HEADERS BELOW DIRECTLY!  ONLY INCLUDE THIS FILE!
+ *
+ * Using vb2_api.h as the single point of contact between calling firmware and
+ * vboot allows subsequent refactoring of vboot (renaming of headers, etc.)
+ * without churning other projects' source code.
+ */
+
+#ifndef VBOOT_REFERENCE_VB2_API_H_
+#define VBOOT_REFERENCE_VB2_API_H_
+
+/* Standard APIs */
+#include "../2lib/include/2api.h"
+
+#endif  /* VBOOT_REFERENCE_VB2_API_H_ */
diff --git a/firmware/include/vb2_constants.h b/firmware/include/vb2_constants.h
new file mode 100644 (file)
index 0000000..204bca9
--- /dev/null
@@ -0,0 +1,14 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * This header may be imported to expose a limited set of constants to
+ * assembly files or linker scripts without including the entire vboot API.
+ */
+
+#ifndef VBOOT_REFERENCE_VB2_CONSTANTS_H_
+#define VBOOT_REFERENCE_VB2_CONSTANTS_H_
+
+#include "../2lib/include/2constants.h"
+
+#endif  /* VBOOT_REFERENCE_VB2_CONSTANTS_H_ */
diff --git a/firmware/include/vb2_internals_please_do_not_use.h b/firmware/include/vb2_internals_please_do_not_use.h
new file mode 100644 (file)
index 0000000..af72d5c
--- /dev/null
@@ -0,0 +1,26 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Allows the caller to peek into vboot2 data structures, by including a
+ * specific set of internal header files.  Including this header means the
+ * caller is broken and should be fixed.
+ *
+ * TODO(chromium:957880): The existence of this header is a bug, and it should
+ * be removed when it is no longer used.
+ */
+
+#ifndef VBOOT_REFERENCE_VB2_INTERNALS_PLEASE_DO_NOT_USE_H_
+#define VBOOT_REFERENCE_VB2_INTERNALS_PLEASE_DO_NOT_USE_H_
+
+/*
+ * Coreboot should not need access to vboot2 internals.  But right now it does.
+ * At least this forces it to do so through a relatively narrow hole so vboot2
+ * refactoring can continue.
+ *
+ * Please do not rip this into a wider hole, or expect this hole to continue.
+ */
+#include "../2lib/include/2misc.h"  /* for vb2_get_sd() */
+#include "../2lib/include/2struct.h"  /* for vb2_shared_data struct */
+
+#endif  /* VBOOT_REFERENCE_VB2_INTERNALS_PLEASE_DO_NOT_USE_H_ */
diff --git a/firmware/include/vb2_sha.h b/firmware/include/vb2_sha.h
new file mode 100644 (file)
index 0000000..41ef050
--- /dev/null
@@ -0,0 +1,13 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * This header may be imported to expose vboot SHA implementation.
+ */
+
+#ifndef VBOOT_REFERENCE_VB2_SHA_H_
+#define VBOOT_REFERENCE_VB2_SHA_H_
+
+#include "../2lib/include/2sha.h"
+
+#endif  /* VBOOT_REFERENCE_VB2_SHA_H_ */
diff --git a/firmware/include/vboot_api.h b/firmware/include/vboot_api.h
new file mode 100644 (file)
index 0000000..ce3ac2d
--- /dev/null
@@ -0,0 +1,295 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * APIs provided by firmware to vboot_reference.
+ *
+ * General notes:
+ *
+ * All verified boot functions now start with "Vb" for namespace clarity.  This
+ * fixes the problem where uboot and vboot both defined assert().
+ *
+ * Verified boot APIs to be implemented by the calling firmware and exported to
+ * vboot_reference start with "VbEx".
+ *
+ * TODO: split this file into a vboot_entry_points.h file which contains the
+ * entry points for the firmware to call vboot_reference, and a
+ * vboot_firmware_exports.h which contains the APIs to be implemented by the
+ * calling firmware and exported to vboot_reference.
+ */
+
+#ifndef VBOOT_REFERENCE_VBOOT_API_H_
+#define VBOOT_REFERENCE_VBOOT_API_H_
+
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "../2lib/include/2return_codes.h"
+#include "gpt.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+struct vb2_context;
+typedef struct VbSharedDataHeader VbSharedDataHeader;
+
+
+/*****************************************************************************/
+/* Main entry points from firmware into vboot_reference */
+
+/*
+ * We use disk handles rather than indices.  Using indices causes problems if
+ * a disk is removed/inserted in the middle of processing.
+ */
+typedef void *VbExDiskHandle_t;
+
+typedef struct VbSelectAndLoadKernelParams {
+       /* Inputs to VbSelectAndLoadKernel() */
+       /* Destination buffer for kernel (normally at 0x100000 on x86) */
+       void *kernel_buffer;
+       /* Size of kernel buffer in bytes */
+       uint32_t kernel_buffer_size;
+
+       /*
+        * Outputs from VbSelectAndLoadKernel(); valid only if it returns
+        * success.
+        */
+       /* Handle of disk containing loaded kernel */
+       VbExDiskHandle_t disk_handle;
+       /* Partition number on disk to boot (1...M) */
+       uint32_t partition_number;
+       /* Address of bootloader image in RAM */
+       uint64_t bootloader_address;
+       /* Size of bootloader image in bytes */
+       uint32_t bootloader_size;
+       /* UniquePartitionGuid for boot partition */
+       uint8_t partition_guid[16];
+       /* Flags set by signer */
+       uint32_t flags;
+} VbSelectAndLoadKernelParams;
+
+/**
+ * Select and loads the kernel.
+ *
+ * Returns VB2_SUCCESS if success, non-zero if error; on error, caller
+ * should reboot. */
+vb2_error_t VbSelectAndLoadKernel(struct vb2_context *ctx,
+                                 VbSelectAndLoadKernelParams *kparams);
+
+/**
+ * Attempt loading a kernel from the specified type(s) of disks.
+ *
+ * If successful, sets kparams.disk_handle to the disk for the kernel and
+ * returns VB2_SUCCESS.
+ *
+ * @param ctx                  Vboot context
+ * @param disk_flags           Flags to pass to VbExDiskGetInfo()
+ * @return VB2_SUCCESS or the most specific VB2_ERROR_LK error.
+ */
+vb2_error_t VbTryLoadKernel(struct vb2_context *ctx, uint32_t disk_flags);
+
+/* miniOS flags */
+
+/* Boot from non-active miniOS partition only */
+#define VB_MINIOS_FLAG_NON_ACTIVE (1 << 0)
+
+/**
+ * Attempt loading a miniOS kernel from internal disk.
+ *
+ * Scans sectors at the start and end of the disk, and looks for miniOS kernels
+ * starting at the beginning of the sector.  Attempts loading any miniOS
+ * kernels found.
+ *
+ * If successful, sets lkp.disk_handle to the disk for the kernel and returns
+ * VB2_SUCCESS.
+ *
+ * @param ctx                  Vboot context
+ * @param minios_flags         Flags for miniOS
+ * @return VB2_SUCCESS or the most specific VB2_ERROR_LK error.
+ */
+vb2_error_t VbTryLoadMiniOsKernel(struct vb2_context *ctx,
+                                 uint32_t minios_flags);
+
+/*****************************************************************************/
+/* Disk access (previously in boot_device.h) */
+
+/* Flags for VbDisk APIs */
+
+/*
+ * Disk selection in the lower 16 bits (where the disk lives), and disk
+ * attributes in the higher 16 bits (extra information about the disk
+ * needed to access it correctly).
+ */
+#define VB_DISK_FLAG_SELECT_MASK 0xffff
+#define VB_DISK_FLAG_ATTRIBUTE_MASK (0xffff << 16)
+
+/* Disk is removable.  Example removable disks: SD cards, USB keys.  */
+#define VB_DISK_FLAG_REMOVABLE (1 << 0)
+/*
+ * Disk is fixed.  If this flag is present, disk is internal to the system and
+ * not removable.  Example fixed disks: internal SATA SSD, eMMC.
+ */
+#define VB_DISK_FLAG_FIXED (1 << 1)
+/*
+ * Note that VB_DISK_FLAG_REMOVABLE and VB_DISK_FLAG_FIXED are
+ * mutually-exclusive for a single disk.  VbExDiskGetInfo() may specify both
+ * flags to request disks of both types in a single call.
+ *
+ * At some point we could specify additional flags, but we don't currently
+ * have a way to make use of these:
+ *
+ * USB              Device is known to be attached to USB.  Note that the SD
+ *                  card reader inside x86 systems is attached to USB so this
+ *                  isn't super useful.
+ * SD               Device is known to be a SD card.  Note that external card
+ *                  readers might not return this information, so also of
+ *                  questionable use.
+ * READ_ONLY        Device is known to be read-only.  Could be used by recovery
+ *                  when processing read-only recovery image.
+ */
+
+/*
+ * Disks are used in two ways:
+ * - As a random-access device to read and write the GPT
+ * - As a streaming device to read the kernel
+ * These are implemented differently on raw NAND vs eMMC/SATA/USB
+ * - On eMMC/SATA/USB, both of these refer to the same underlying
+ *   storage, so they have the same size and LBA size. In this case,
+ *   the GPT should not point to the same address as itself.
+ * - On raw NAND, the GPT is held on a portion of the SPI flash.
+ *   Random access GPT operations refer to the SPI and streaming
+ *   operations refer to NAND. The GPT may therefore point into
+ *   the same offsets as itself.
+ * These types are distinguished by the following flag and VbDiskInfo
+ * has separate fields to describe the random-access ("GPT") and
+ * streaming aspects of the disk. If a disk is random-access (i.e.
+ * not raw NAND) then these fields are equal.
+ */
+#define VB_DISK_FLAG_EXTERNAL_GPT (1 << 16)
+
+/* Information on a single disk */
+typedef struct VbDiskInfo {
+       /* Disk handle */
+       VbExDiskHandle_t handle;
+       /* Size of a random-access LBA sector in bytes */
+       uint64_t bytes_per_lba;
+       /* Number of random-access LBA sectors on the device.
+        * If streaming_lba_count is 0, this stands in for the size of the
+        * randomly accessed portion as well as the streaming portion.
+        * Otherwise, this is only the randomly-accessed portion. */
+       uint64_t lba_count;
+       /* Number of streaming sectors on the device */
+       uint64_t streaming_lba_count;
+       /* Flags (see VB_DISK_FLAG_* constants) */
+       uint32_t flags;
+       /*
+        * Optional name string, for use in debugging.  May be empty or null if
+        * not available.
+        */
+       const char *name;
+} VbDiskInfo;
+
+/**
+ * Store information into [info] for all disks (storage devices) attached to
+ * the system which match all of the disk_flags.
+ *
+ * On output, count indicates how many disks are present, and [infos_ptr]
+ * points to a [count]-sized array of VbDiskInfo structs with the information
+ * on those disks; this pointer must be freed by calling VbExDiskFreeInfo().
+ * If count=0, infos_ptr may point to NULL.  If [infos_ptr] points to NULL
+ * because count=0 or error, it is not necessary to call VbExDiskFreeInfo().
+ *
+ * A multi-function device (such as a 4-in-1 card reader) should provide
+ * multiple disk handles.
+ *
+ * The firmware must not alter or free the list pointed to by [infos_ptr] until
+ * VbExDiskFreeInfo() is called.
+ */
+vb2_error_t VbExDiskGetInfo(VbDiskInfo **infos_ptr, uint32_t *count,
+                           uint32_t disk_flags);
+
+/**
+ * Free a disk information list [infos] previously returned by
+ * VbExDiskGetInfo().  If [preserve_handle] != NULL, the firmware must ensure
+ * that handle remains valid after this call; all other handles from the info
+ * list need not remain valid after this call.
+ */
+vb2_error_t VbExDiskFreeInfo(VbDiskInfo *infos,
+                            VbExDiskHandle_t preserve_handle);
+
+/**
+ * Read lba_count LBA sectors, starting at sector lba_start, from the disk,
+ * into the buffer.
+ *
+ * This is used for random access to the GPT. It is not for the partition
+ * contents. The upper limit is lba_count.
+ *
+ * If the disk handle is invalid (for example, the handle refers to a disk
+ * which as been removed), the function must return error but must not
+ * crash.
+ */
+vb2_error_t VbExDiskRead(VbExDiskHandle_t handle, uint64_t lba_start,
+                        uint64_t lba_count, void *buffer);
+
+/**
+ * Write lba_count LBA sectors, starting at sector lba_start, to the disk, from
+ * the buffer.
+ *
+ * This is used for random access to the GPT. It does not (necessarily) access
+ * the streaming portion of the device.
+ *
+ * If the disk handle is invalid (for example, the handle refers to a disk
+ * which as been removed), the function must return error but must not
+ * crash.
+ */
+vb2_error_t VbExDiskWrite(VbExDiskHandle_t handle, uint64_t lba_start,
+                         uint64_t lba_count, const void *buffer);
+
+/* Streaming read interface */
+typedef void *VbExStream_t;
+
+/**
+ * Open a stream on a disk
+ *
+ * @param handle       Disk to open the stream against
+ * @param lba_start    Starting sector offset within the disk to stream from
+ * @param lba_count    Maximum extent of the stream in sectors
+ * @param stream       out-paramter for the generated stream
+ *
+ * @return Error code, or VB2_SUCCESS.
+ *
+ * This is used for access to the contents of the actual partitions on the
+ * device. It is not used to access the GPT. The size of the content addressed
+ * is within streaming_lba_count.
+ */
+vb2_error_t VbExStreamOpen(VbExDiskHandle_t handle, uint64_t lba_start,
+                          uint64_t lba_count, VbExStream_t *stream_ptr);
+
+/**
+ * Read from a stream on a disk
+ *
+ * @param stream       Stream to read from
+ * @param bytes                Number of bytes to read
+ * @param buffer       Destination to read into
+ *
+ * @return Error code, or VB2_SUCCESS. Failure to read as much data as
+ * requested is an error.
+ *
+ * This is used for access to the contents of the actual partitions on the
+ * device. It is not used to access the GPT.
+ */
+vb2_error_t VbExStreamRead(VbExStream_t stream, uint32_t bytes, void *buffer);
+
+/**
+ * Close a stream
+ *
+ * @param stream       Stream to close
+ */
+void VbExStreamClose(VbExStream_t stream);
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_VBOOT_API_H_ */
diff --git a/firmware/lib/cgptlib/cgptlib.c b/firmware/lib/cgptlib/cgptlib.c
new file mode 100644 (file)
index 0000000..4c091d0
--- /dev/null
@@ -0,0 +1,231 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "2common.h"
+#include "2sysincludes.h"
+#include "cgptlib.h"
+#include "cgptlib_internal.h"
+#include "crc32.h"
+#include "gpt.h"
+#include "vboot_api.h"
+
+int GptInit(GptData *gpt)
+{
+       int retval;
+
+       gpt->modified = 0;
+       gpt->current_kernel = CGPT_KERNEL_ENTRY_NOT_FOUND;
+       gpt->current_priority = 999;
+
+       retval = GptValidityCheck(gpt);
+       if (GPT_SUCCESS != retval) {
+               VB2_DEBUG("GptInit() failed validity check\n");
+               return retval;
+       }
+
+       GptRepair(gpt);
+       return GPT_SUCCESS;
+}
+
+int GptNextKernelEntry(GptData *gpt, uint64_t *start_sector, uint64_t *size)
+{
+       GptHeader *header = (GptHeader *)gpt->primary_header;
+       GptEntry *entries = (GptEntry *)gpt->primary_entries;
+       GptEntry *e;
+       int new_kernel = CGPT_KERNEL_ENTRY_NOT_FOUND;
+       int new_prio = 0;
+       uint32_t i;
+
+       /*
+        * If we already found a kernel, continue the scan at the current
+        * kernel's priority, in case there is another kernel with the same
+        * priority.
+        */
+       if (gpt->current_kernel != CGPT_KERNEL_ENTRY_NOT_FOUND) {
+               for (i = gpt->current_kernel + 1;
+                    i < header->number_of_entries; i++) {
+                       e = entries + i;
+                       if (!IsKernelEntry(e))
+                               continue;
+                       VB2_DEBUG("GptNextKernelEntry looking at same prio "
+                                 "partition %d\n", i+1);
+                       VB2_DEBUG("GptNextKernelEntry s%d t%d p%d\n",
+                                 GetEntrySuccessful(e), GetEntryTries(e),
+                                 GetEntryPriority(e));
+                       if (!(GetEntrySuccessful(e) || GetEntryTries(e)))
+                               continue;
+                       if (GetEntryPriority(e) == gpt->current_priority) {
+                               gpt->current_kernel = i;
+                               *start_sector = e->starting_lba;
+                               *size = e->ending_lba - e->starting_lba + 1;
+                               VB2_DEBUG("GptNextKernelEntry likes it\n");
+                               return GPT_SUCCESS;
+                       }
+               }
+       }
+
+       /*
+        * We're still here, so scan for the remaining kernel with the highest
+        * priority less than the previous attempt.
+        */
+       for (i = 0, e = entries; i < header->number_of_entries; i++, e++) {
+               int current_prio = GetEntryPriority(e);
+               if (!IsKernelEntry(e))
+                       continue;
+               VB2_DEBUG("GptNextKernelEntry looking at new prio "
+                         "partition %d\n", i+1);
+               VB2_DEBUG("GptNextKernelEntry s%d t%d p%d\n",
+                         GetEntrySuccessful(e), GetEntryTries(e),
+                         GetEntryPriority(e));
+               if (!(GetEntrySuccessful(e) || GetEntryTries(e)))
+                       continue;
+               if (current_prio >= gpt->current_priority) {
+                       /* Already returned this kernel in a previous call */
+                       continue;
+               }
+               if (current_prio > new_prio) {
+                       new_kernel = i;
+                       new_prio = current_prio;
+               }
+       }
+
+       /*
+        * Save what we found.  Note that if we didn't find a new kernel,
+        * new_prio will still be -1, so future calls to this function will
+        * also fail.
+        */
+       gpt->current_kernel = new_kernel;
+       gpt->current_priority = new_prio;
+
+       if (CGPT_KERNEL_ENTRY_NOT_FOUND == new_kernel) {
+               VB2_DEBUG("GptNextKernelEntry no more kernels\n");
+               return GPT_ERROR_NO_VALID_KERNEL;
+       }
+
+       VB2_DEBUG("GptNextKernelEntry likes partition %d\n", new_kernel + 1);
+       e = entries + new_kernel;
+       *start_sector = e->starting_lba;
+       *size = e->ending_lba - e->starting_lba + 1;
+       return GPT_SUCCESS;
+}
+
+/*
+ * Func: GptUpdateKernelWithEntry
+ * Desc: This function updates the given kernel entry according to the provided
+ * update_type.
+ */
+int GptUpdateKernelWithEntry(GptData *gpt, GptEntry *e, uint32_t update_type)
+{
+       int modified = 0;
+
+       if (!IsKernelEntry(e))
+               return GPT_ERROR_INVALID_UPDATE_TYPE;
+
+       switch (update_type) {
+       case GPT_UPDATE_ENTRY_TRY: {
+               /* Used up a try */
+               int tries;
+               if (GetEntrySuccessful(e)) {
+                       /*
+                        * Successfully booted this partition, so tries field
+                        * is ignored.
+                        */
+                       return GPT_SUCCESS;
+               }
+               tries = GetEntryTries(e);
+               if (tries > 1) {
+                       /* Still have tries left */
+                       modified = 1;
+                       SetEntryTries(e, tries - 1);
+                       break;
+               }
+               /* Out of tries, so drop through and mark partition bad. */
+               VBOOT_FALLTHROUGH;
+       }
+       case GPT_UPDATE_ENTRY_BAD: {
+               /* Giving up on this partition entirely. */
+               if (!GetEntrySuccessful(e)) {
+                       /*
+                        * Only clear tries and priority if the successful bit
+                        * is not set.
+                        */
+                       modified = 1;
+                       SetEntryTries(e, 0);
+                       SetEntryPriority(e, 0);
+               }
+               break;
+       }
+       case GPT_UPDATE_ENTRY_ACTIVE: {
+               /*
+                * Used for fastboot mode. If kernel partition slot is marked
+                * active, its GPT entry is marked with S1,P2,T0.
+                */
+               modified = 1;
+               SetEntryTries(e, 0);
+               SetEntryPriority(e, 2);
+               SetEntrySuccessful(e, 1);
+               break;
+       }
+       case GPT_UPDATE_ENTRY_INVALID: {
+               /*
+                * Used for fastboot mode. If kernel partition slot is marked
+                * invalid, its GPT entry is marked with S0,P0,T0
+                */
+               modified = 1;
+               SetEntryTries(e, 0);
+               SetEntryPriority(e, 0);
+               SetEntrySuccessful(e, 0);
+               break;
+       }
+       default:
+               return GPT_ERROR_INVALID_UPDATE_TYPE;
+       }
+
+       if (modified) {
+               GptModified(gpt);
+       }
+
+       return GPT_SUCCESS;
+}
+
+/*
+ * Func: GptUpdateKernelEntry
+ * Desc: This function updates current_kernel entry with provided
+ * update_type. If current_kernel is not set, then it returns error.
+ */
+int GptUpdateKernelEntry(GptData *gpt, uint32_t update_type)
+{
+       GptEntry *entries = (GptEntry *)gpt->primary_entries;
+       GptEntry *e = entries + gpt->current_kernel;
+
+       if (gpt->current_kernel == CGPT_KERNEL_ENTRY_NOT_FOUND)
+               return GPT_ERROR_INVALID_UPDATE_TYPE;
+
+       return GptUpdateKernelWithEntry(gpt, e, update_type);
+}
+
+/*
+ * Func: GptFindNthEntry
+ * Desc: This function returns the nth instance of parition entry matching the
+ * partition type guid from the gpt table. Instance value starts from 0. If the
+ * entry is not found it returns NULL.
+ */
+GptEntry *GptFindNthEntry(GptData *gpt, const Guid *guid, unsigned int n)
+{
+       GptHeader *header = (GptHeader *)gpt->primary_header;
+       GptEntry *entries = (GptEntry *)gpt->primary_entries;
+       GptEntry *e;
+       int i;
+
+       for (i = 0, e = entries; i < header->number_of_entries; i++, e++) {
+               if (!memcmp(&e->type, guid, sizeof(*guid))) {
+                       if (n == 0)
+                               return e;
+                       n--;
+               }
+       }
+
+       return NULL;
+}
diff --git a/firmware/lib/cgptlib/cgptlib_internal.c b/firmware/lib/cgptlib/cgptlib_internal.c
new file mode 100644 (file)
index 0000000..cb8ad2b
--- /dev/null
@@ -0,0 +1,518 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "2sysincludes.h"
+#include "cgptlib.h"
+#include "cgptlib_internal.h"
+#include "crc32.h"
+#include "gpt.h"
+#include "gpt_misc.h"
+
+const static int MIN_SECTOR_SIZE = 512;
+
+size_t CalculateEntriesSectors(GptHeader* h, uint32_t sector_bytes)
+{
+       size_t bytes = h->number_of_entries * h->size_of_entry;
+       size_t ret = (bytes + sector_bytes - 1) / sector_bytes;
+       return ret;
+}
+
+int CheckParameters(GptData *gpt)
+{
+       /* Only support 512-byte or larger sectors that are a power of 2 */
+       if (gpt->sector_bytes < MIN_SECTOR_SIZE ||
+                       (gpt->sector_bytes  & (gpt->sector_bytes  - 1)) != 0)
+               return GPT_ERROR_INVALID_SECTOR_SIZE;
+
+       /*
+        * gpt_drive_sectors should be reasonable. It cannot be unset, and it
+        * cannot differ from streaming_drive_sectors if the GPT structs are
+        * stored on same device.
+        */
+       if (gpt->gpt_drive_sectors == 0 ||
+               (!(gpt->flags & GPT_FLAG_EXTERNAL) &&
+                gpt->gpt_drive_sectors != gpt->streaming_drive_sectors)) {
+               return GPT_ERROR_INVALID_SECTOR_NUMBER;
+       }
+
+       /*
+        * Sector count of a drive should be reasonable. If the given value is
+        * too small to contain basic GPT structure (PMBR + Headers + Entries),
+        * the value is wrong.
+        */
+       if (gpt->gpt_drive_sectors <
+               (1 + 2 * (1 + MIN_NUMBER_OF_ENTRIES /
+                               (gpt->sector_bytes / sizeof(GptEntry)))))
+               return GPT_ERROR_INVALID_SECTOR_NUMBER;
+
+       return GPT_SUCCESS;
+}
+
+uint32_t HeaderCrc(GptHeader *h)
+{
+       uint32_t crc32, original_crc32;
+
+       /* Original CRC is calculated with the CRC field 0. */
+       original_crc32 = h->header_crc32;
+       h->header_crc32 = 0;
+       crc32 = Crc32((const uint8_t *)h, h->size);
+       h->header_crc32 = original_crc32;
+
+       return crc32;
+}
+
+int CheckHeader(GptHeader *h, int is_secondary,
+               uint64_t streaming_drive_sectors,
+               uint64_t gpt_drive_sectors, uint32_t flags,
+               uint32_t sector_bytes)
+{
+       if (!h)
+               return 1;
+
+       /*
+        * Make sure we're looking at a header of reasonable size before
+        * attempting to calculate CRC.
+        */
+       if (memcmp(h->signature, GPT_HEADER_SIGNATURE,
+                  GPT_HEADER_SIGNATURE_SIZE) &&
+           memcmp(h->signature, GPT_HEADER_SIGNATURE2,
+                  GPT_HEADER_SIGNATURE_SIZE))
+               return 1;
+       if (h->revision != GPT_HEADER_REVISION)
+               return 1;
+       if (h->size < MIN_SIZE_OF_HEADER || h->size > MAX_SIZE_OF_HEADER)
+               return 1;
+
+       /* Check CRC before looking at remaining fields */
+       if (HeaderCrc(h) != h->header_crc32)
+               return 1;
+
+       /* Reserved fields must be zero. */
+       if (h->reserved_zero)
+               return 1;
+
+       /* Could check that padding is zero, but that doesn't matter to us. */
+
+       /*
+        * If entry size is different than our struct, we won't be able to
+        * parse it.  Technically, any size 2^N where N>=7 is valid.
+        */
+       if (h->size_of_entry != sizeof(GptEntry))
+               return 1;
+       if ((h->number_of_entries < MIN_NUMBER_OF_ENTRIES) ||
+           (h->number_of_entries > MAX_NUMBER_OF_ENTRIES) ||
+           (!(flags & GPT_FLAG_EXTERNAL) &&
+           h->number_of_entries != MAX_NUMBER_OF_ENTRIES))
+               return 1;
+
+       /*
+        * Check locations for the header and its entries.  The primary
+        * immediately follows the PMBR, and is followed by its entries.  The
+        * secondary is at the end of the drive, preceded by its entries.
+        */
+       if (is_secondary) {
+               if (h->my_lba != gpt_drive_sectors - GPT_HEADER_SECTORS)
+                       return 1;
+               if (h->entries_lba != h->my_lba - CalculateEntriesSectors(h,
+                                                               sector_bytes))
+                       return 1;
+       } else {
+               if (h->my_lba != GPT_PMBR_SECTORS)
+                       return 1;
+               if (h->entries_lba < h->my_lba + 1)
+                       return 1;
+       }
+
+       /* FirstUsableLBA <= LastUsableLBA. */
+       if (h->first_usable_lba > h->last_usable_lba)
+               return 1;
+
+       if (flags & GPT_FLAG_EXTERNAL) {
+               if (h->last_usable_lba >= streaming_drive_sectors) {
+                       return 1;
+               }
+               return 0;
+       }
+
+       /*
+        * FirstUsableLBA must be after the end of the primary GPT table array.
+        * LastUsableLBA must be before the start of the secondary GPT table
+        * array.
+        */
+       /* TODO(namnguyen): Also check for padding between header & entries. */
+       if (h->first_usable_lba < 2 + CalculateEntriesSectors(h, sector_bytes))
+               return 1;
+       if (h->last_usable_lba >=
+                       streaming_drive_sectors - 1 - CalculateEntriesSectors(h,
+                                                               sector_bytes))
+               return 1;
+
+       /* Success */
+       return 0;
+}
+
+int IsKernelEntry(const GptEntry *e)
+{
+       static Guid chromeos_kernel = GPT_ENT_TYPE_CHROMEOS_KERNEL;
+       return !memcmp(&e->type, &chromeos_kernel, sizeof(Guid));
+}
+
+int CheckEntries(GptEntry *entries, GptHeader *h)
+{
+       if (!entries)
+               return GPT_ERROR_INVALID_ENTRIES;
+       GptEntry *entry;
+       uint32_t crc32;
+       uint32_t i;
+
+       /* Check CRC before examining entries. */
+       crc32 = Crc32((const uint8_t *)entries,
+                     h->size_of_entry * h->number_of_entries);
+       if (crc32 != h->entries_crc32)
+               return GPT_ERROR_CRC_CORRUPTED;
+
+       /* Check all entries. */
+       for (i = 0, entry = entries; i < h->number_of_entries; i++, entry++) {
+               GptEntry *e2;
+               uint32_t i2;
+
+               if (IsUnusedEntry(entry))
+                       continue;
+
+               /* Entry must be in valid region. */
+               if ((entry->starting_lba < h->first_usable_lba) ||
+                   (entry->ending_lba > h->last_usable_lba) ||
+                   (entry->ending_lba < entry->starting_lba))
+                       return GPT_ERROR_OUT_OF_REGION;
+
+               /* Entry must not overlap other entries. */
+               for (i2 = 0, e2 = entries; i2 < h->number_of_entries;
+                    i2++, e2++) {
+                       if (i2 == i || IsUnusedEntry(e2))
+                               continue;
+
+                       if ((entry->starting_lba >= e2->starting_lba) &&
+                           (entry->starting_lba <= e2->ending_lba))
+                               return GPT_ERROR_START_LBA_OVERLAP;
+                       if ((entry->ending_lba >= e2->starting_lba) &&
+                           (entry->ending_lba <= e2->ending_lba))
+                               return GPT_ERROR_END_LBA_OVERLAP;
+
+                       /* UniqueGuid field must be unique. */
+                       if (0 == memcmp(&entry->unique, &e2->unique,
+                                       sizeof(Guid)))
+                               return GPT_ERROR_DUP_GUID;
+               }
+       }
+
+       /* Success */
+       return 0;
+}
+
+int HeaderFieldsSame(GptHeader *h1, GptHeader *h2)
+{
+       if (memcmp(h1->signature, h2->signature, sizeof(h1->signature)))
+               return 1;
+       if (h1->revision != h2->revision)
+               return 1;
+       if (h1->size != h2->size)
+               return 1;
+       if (h1->reserved_zero != h2->reserved_zero)
+               return 1;
+       if (h1->first_usable_lba != h2->first_usable_lba)
+               return 1;
+       if (h1->last_usable_lba != h2->last_usable_lba)
+               return 1;
+       if (memcmp(&h1->disk_uuid, &h2->disk_uuid, sizeof(Guid)))
+               return 1;
+       if (h1->number_of_entries != h2->number_of_entries)
+               return 1;
+       if (h1->size_of_entry != h2->size_of_entry)
+               return 1;
+       if (h1->entries_crc32 != h2->entries_crc32)
+               return 1;
+
+       return 0;
+}
+
+int GptValidityCheck(GptData *gpt)
+{
+       int retval;
+       GptHeader *header1 = (GptHeader *)(gpt->primary_header);
+       GptHeader *header2 = (GptHeader *)(gpt->secondary_header);
+       GptEntry *entries1 = (GptEntry *)(gpt->primary_entries);
+       GptEntry *entries2 = (GptEntry *)(gpt->secondary_entries);
+       GptHeader *goodhdr = NULL;
+
+       gpt->valid_headers = 0;
+       gpt->valid_entries = 0;
+       gpt->ignored = 0;
+
+       retval = CheckParameters(gpt);
+       if (retval != GPT_SUCCESS)
+               return retval;
+
+       /* Check both headers; we need at least one valid header. */
+       if (0 == CheckHeader(header1, 0, gpt->streaming_drive_sectors,
+                            gpt->gpt_drive_sectors, gpt->flags,
+                            gpt->sector_bytes)) {
+               gpt->valid_headers |= MASK_PRIMARY;
+               goodhdr = header1;
+               if (0 == CheckEntries(entries1, goodhdr))
+                       gpt->valid_entries |= MASK_PRIMARY;
+       } else if (header1 && !memcmp(header1->signature,
+                  GPT_HEADER_SIGNATURE_IGNORED, GPT_HEADER_SIGNATURE_SIZE)) {
+               gpt->ignored |= MASK_PRIMARY;
+       }
+       if (0 == CheckHeader(header2, 1, gpt->streaming_drive_sectors,
+                            gpt->gpt_drive_sectors, gpt->flags,
+                            gpt->sector_bytes)) {
+               gpt->valid_headers |= MASK_SECONDARY;
+               if (!goodhdr)
+                       goodhdr = header2;
+               /* Check header1+entries2 if it was good, to catch mismatch. */
+               if (0 == CheckEntries(entries2, goodhdr))
+                       gpt->valid_entries |= MASK_SECONDARY;
+       } else if (header2 && !memcmp(header2->signature,
+                  GPT_HEADER_SIGNATURE_IGNORED, GPT_HEADER_SIGNATURE_SIZE)) {
+               gpt->ignored |= MASK_SECONDARY;
+       }
+
+       if (!gpt->valid_headers)
+               return GPT_ERROR_INVALID_HEADERS;
+
+       /*
+        * If both headers are good but neither entries were good, check the
+        * entries with the secondary header.
+        */
+       if (MASK_BOTH == gpt->valid_headers && !gpt->valid_entries) {
+               if (0 == CheckEntries(entries1, header2))
+                       gpt->valid_entries |= MASK_PRIMARY;
+               if (0 == CheckEntries(entries2, header2))
+                       gpt->valid_entries |= MASK_SECONDARY;
+               if (gpt->valid_entries) {
+                       /*
+                        * Sure enough, header2 had a good CRC for one of the
+                        * entries.  Mark header1 invalid, so we'll update its
+                        * entries CRC.
+                        */
+                       gpt->valid_headers &= ~MASK_PRIMARY;
+                       goodhdr = header2;
+               }
+       }
+
+       if (!gpt->valid_entries)
+               return GPT_ERROR_INVALID_ENTRIES;
+
+       /*
+        * Now that we've determined which header contains a good CRC for
+        * the entries, make sure the headers are otherwise identical.
+        */
+       if (MASK_BOTH == gpt->valid_headers &&
+           0 != HeaderFieldsSame(header1, header2))
+               gpt->valid_headers &= ~MASK_SECONDARY;
+
+       /*
+        * When we're ignoring a GPT, make it look in memory like the other one
+        * and pretend that everything is fine (until we try to save).
+        */
+       if (MASK_NONE != gpt->ignored) {
+               GptRepair(gpt);
+               gpt->modified = 0;
+       }
+
+       return GPT_SUCCESS;
+}
+
+void GptRepair(GptData *gpt)
+{
+       GptHeader *header1 = (GptHeader *)(gpt->primary_header);
+       GptHeader *header2 = (GptHeader *)(gpt->secondary_header);
+       GptEntry *entries1 = (GptEntry *)(gpt->primary_entries);
+       GptEntry *entries2 = (GptEntry *)(gpt->secondary_entries);
+       int entries_size;
+
+       /* Need at least one good header and one good set of entries. */
+       if (MASK_NONE == gpt->valid_headers || MASK_NONE == gpt->valid_entries)
+               return;
+
+       /* Repair headers if necessary */
+       if (MASK_PRIMARY == gpt->valid_headers) {
+               /* Primary is good, secondary is bad */
+               memcpy(header2, header1, sizeof(GptHeader));
+               header2->my_lba = gpt->gpt_drive_sectors - GPT_HEADER_SECTORS;
+               header2->alternate_lba = GPT_PMBR_SECTORS;  /* Second sector. */
+               header2->entries_lba = header2->my_lba -
+                       CalculateEntriesSectors(header1, gpt->sector_bytes);
+               header2->header_crc32 = HeaderCrc(header2);
+               gpt->modified |= GPT_MODIFIED_HEADER2;
+       }
+       else if (MASK_SECONDARY == gpt->valid_headers) {
+               /* Secondary is good, primary is bad */
+               memcpy(header1, header2, sizeof(GptHeader));
+               header1->my_lba = GPT_PMBR_SECTORS;  /* Second sector. */
+               header1->alternate_lba =
+                       gpt->streaming_drive_sectors - GPT_HEADER_SECTORS;
+               /* TODO (namnguyen): Preserve (header, entries) padding. */
+               header1->entries_lba = header1->my_lba + 1;
+               header1->header_crc32 = HeaderCrc(header1);
+               gpt->modified |= GPT_MODIFIED_HEADER1;
+       }
+       gpt->valid_headers = MASK_BOTH;
+
+       /* Repair entries if necessary */
+       entries_size = header1->size_of_entry * header1->number_of_entries;
+       if (MASK_PRIMARY == gpt->valid_entries) {
+               /* Primary is good, secondary is bad */
+               memcpy(entries2, entries1, entries_size);
+               gpt->modified |= GPT_MODIFIED_ENTRIES2;
+       }
+       else if (MASK_SECONDARY == gpt->valid_entries) {
+               /* Secondary is good, primary is bad */
+               memcpy(entries1, entries2, entries_size);
+               gpt->modified |= GPT_MODIFIED_ENTRIES1;
+       }
+       gpt->valid_entries = MASK_BOTH;
+}
+
+int GetEntryRequired(const GptEntry *e)
+{
+       return e->attrs.fields.required;
+}
+
+int GetEntryLegacyBoot(const GptEntry *e)
+{
+       return e->attrs.fields.legacy_boot;
+}
+
+int GetEntrySuccessful(const GptEntry *e)
+{
+       return (e->attrs.fields.gpt_att & CGPT_ATTRIBUTE_SUCCESSFUL_MASK) >>
+               CGPT_ATTRIBUTE_SUCCESSFUL_OFFSET;
+}
+
+int GetEntryPriority(const GptEntry *e)
+{
+       return (e->attrs.fields.gpt_att & CGPT_ATTRIBUTE_PRIORITY_MASK) >>
+               CGPT_ATTRIBUTE_PRIORITY_OFFSET;
+}
+
+int GetEntryTries(const GptEntry *e)
+{
+       return (e->attrs.fields.gpt_att & CGPT_ATTRIBUTE_TRIES_MASK) >>
+               CGPT_ATTRIBUTE_TRIES_OFFSET;
+}
+
+void SetEntryRequired(GptEntry *e, int required)
+{
+       e->attrs.fields.required = required;
+}
+
+void SetEntryLegacyBoot(GptEntry *e, int legacy_boot)
+{
+       e->attrs.fields.legacy_boot = legacy_boot;
+}
+
+void SetEntrySuccessful(GptEntry *e, int successful)
+{
+       if (successful)
+               e->attrs.fields.gpt_att |= CGPT_ATTRIBUTE_SUCCESSFUL_MASK;
+       else
+               e->attrs.fields.gpt_att &= ~CGPT_ATTRIBUTE_SUCCESSFUL_MASK;
+}
+
+void SetEntryPriority(GptEntry *e, int priority)
+{
+       e->attrs.fields.gpt_att &= ~CGPT_ATTRIBUTE_PRIORITY_MASK;
+       e->attrs.fields.gpt_att |=
+               (priority << CGPT_ATTRIBUTE_PRIORITY_OFFSET) &
+               CGPT_ATTRIBUTE_PRIORITY_MASK;
+}
+
+void SetEntryTries(GptEntry *e, int tries)
+{
+       e->attrs.fields.gpt_att &= ~CGPT_ATTRIBUTE_TRIES_MASK;
+       e->attrs.fields.gpt_att |= (tries << CGPT_ATTRIBUTE_TRIES_OFFSET) &
+               CGPT_ATTRIBUTE_TRIES_MASK;
+}
+
+void GetCurrentKernelUniqueGuid(GptData *gpt, void *dest)
+{
+       GptEntry *entries = (GptEntry *)gpt->primary_entries;
+       GptEntry *e = entries + gpt->current_kernel;
+       memcpy(dest, &e->unique, sizeof(Guid));
+}
+
+void GptModified(GptData *gpt) {
+       GptHeader *header = (GptHeader *)gpt->primary_header;
+
+       /* Update the CRCs */
+       header->entries_crc32 = Crc32(gpt->primary_entries,
+                                     header->size_of_entry *
+                                     header->number_of_entries);
+       header->header_crc32 = HeaderCrc(header);
+       gpt->modified |= GPT_MODIFIED_HEADER1 | GPT_MODIFIED_ENTRIES1;
+
+       /*
+        * Use the repair function to update the other copy of the GPT.  This
+        * is a tad inefficient, but is much faster than the disk I/O to update
+        * the GPT on disk so it doesn't matter.
+        */
+       gpt->valid_headers = MASK_PRIMARY;
+       gpt->valid_entries = MASK_PRIMARY;
+       GptRepair(gpt);
+}
+
+
+const char *GptErrorText(int error_code)
+{
+       switch(error_code) {
+       case GPT_SUCCESS:
+               return "none";
+
+       case GPT_ERROR_NO_VALID_KERNEL:
+               return "Invalid kernel";
+
+       case GPT_ERROR_INVALID_HEADERS:
+               return "Invalid headers";
+
+       case GPT_ERROR_INVALID_ENTRIES:
+               return "Invalid entries";
+
+       case GPT_ERROR_INVALID_SECTOR_SIZE:
+               return "Invalid sector size";
+
+       case GPT_ERROR_INVALID_SECTOR_NUMBER:
+               return "Invalid sector number";
+
+       case GPT_ERROR_INVALID_UPDATE_TYPE:
+               return "Invalid update type";
+
+       case GPT_ERROR_CRC_CORRUPTED:
+               return "Entries' crc corrupted";
+
+       case GPT_ERROR_OUT_OF_REGION:
+               return "Entry outside of valid region";
+
+       case GPT_ERROR_START_LBA_OVERLAP:
+               return "Starting LBA overlaps";
+
+       case GPT_ERROR_END_LBA_OVERLAP:
+               return "Ending LBA overlaps";
+
+       case GPT_ERROR_DUP_GUID:
+               return "Duplicated GUID";
+
+       case GPT_ERROR_INVALID_FLASH_GEOMETRY:
+               return "Invalid flash geometry";
+
+       case GPT_ERROR_NO_SUCH_ENTRY:
+               return "No entry found";
+
+       default:
+               break;
+       };
+       return "Unknown";
+}
diff --git a/firmware/lib/cgptlib/crc32.c b/firmware/lib/cgptlib/crc32.c
new file mode 100644 (file)
index 0000000..f97fe5a
--- /dev/null
@@ -0,0 +1,111 @@
+/* CRC32 implementation by Gary S. Brown. See license claim below. */
+
+/* ============================================================= */
+/*  COPYRIGHT (C) 1986 Gary S. Brown.  You may use this program, or       */
+/*  code or tables extracted from it, as desired without restriction.     */
+/*                                                                        */
+/*  First, the polynomial itself and its table of feedback terms.  The    */
+/*  polynomial is                                                         */
+/*  X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0   */
+/*                                                                        */
+/*  Note that we take it "backwards" and put the highest-order term in    */
+/*  the lowest-order bit.  The X^32 term is "implied"; the LSB is the     */
+/*  X^31 term, etc.  The X^0 term (usually shown as "+1") results in      */
+/*  the MSB being 1.                                                      */
+/*                                                                        */
+/*  Note that the usual hardware shift register implementation, which     */
+/*  is what we're using (we're merely optimizing it by doing eight-bit    */
+/*  chunks at a time) shifts bits into the lowest-order term.  In our     */
+/*  implementation, that means shifting towards the right.  Why do we     */
+/*  do it this way?  Because the calculated CRC must be transmitted in    */
+/*  order from highest-order term to lowest-order term.  UARTs transmit   */
+/*  characters in order from LSB to MSB.  By storing the CRC this way,    */
+/*  we hand it to the UART in the order low-byte to high-byte; the UART   */
+/*  sends each low-bit to hight-bit; and the result is transmission bit   */
+/*  by bit from highest- to lowest-order term without requiring any bit   */
+/*  shuffling on our part.  Reception works similarly.                    */
+/*                                                                        */
+/*  The feedback terms table consists of 256, 32-bit entries.  Notes:     */
+/*                                                                        */
+/*      The table can be generated at runtime if desired; code to do so   */
+/*      is shown later.  It might not be obvious, but the feedback        */
+/*      terms simply represent the results of eight shift/xor opera-      */
+/*      tions for all combinations of data and CRC register values.       */
+/*                                                                        */
+/*      The values must be right-shifted by eight bits by the "updcrc"    */
+/*      logic; the shift must be unsigned (bring in zeroes).  On some     */
+/*      hardware you could probably optimize the shift in assembler by    */
+/*      using byte-swap instructions.                                     */
+/*      polynomial $edb88320                                              */
+/*                                                                        */
+/*  --------------------------------------------------------------------  */
+
+#include "2sysincludes.h"
+#include "crc32.h"
+
+static uint32_t crc32_tab[] = {
+       0x00000000U, 0x77073096U, 0xee0e612cU, 0x990951baU, 0x076dc419U,
+       0x706af48fU, 0xe963a535U, 0x9e6495a3U, 0x0edb8832U, 0x79dcb8a4U,
+       0xe0d5e91eU, 0x97d2d988U, 0x09b64c2bU, 0x7eb17cbdU, 0xe7b82d07U,
+       0x90bf1d91U, 0x1db71064U, 0x6ab020f2U, 0xf3b97148U, 0x84be41deU,
+       0x1adad47dU, 0x6ddde4ebU, 0xf4d4b551U, 0x83d385c7U, 0x136c9856U,
+       0x646ba8c0U, 0xfd62f97aU, 0x8a65c9ecU, 0x14015c4fU, 0x63066cd9U,
+       0xfa0f3d63U, 0x8d080df5U, 0x3b6e20c8U, 0x4c69105eU, 0xd56041e4U,
+       0xa2677172U, 0x3c03e4d1U, 0x4b04d447U, 0xd20d85fdU, 0xa50ab56bU,
+       0x35b5a8faU, 0x42b2986cU, 0xdbbbc9d6U, 0xacbcf940U, 0x32d86ce3U,
+       0x45df5c75U, 0xdcd60dcfU, 0xabd13d59U, 0x26d930acU, 0x51de003aU,
+       0xc8d75180U, 0xbfd06116U, 0x21b4f4b5U, 0x56b3c423U, 0xcfba9599U,
+       0xb8bda50fU, 0x2802b89eU, 0x5f058808U, 0xc60cd9b2U, 0xb10be924U,
+       0x2f6f7c87U, 0x58684c11U, 0xc1611dabU, 0xb6662d3dU, 0x76dc4190U,
+       0x01db7106U, 0x98d220bcU, 0xefd5102aU, 0x71b18589U, 0x06b6b51fU,
+       0x9fbfe4a5U, 0xe8b8d433U, 0x7807c9a2U, 0x0f00f934U, 0x9609a88eU,
+       0xe10e9818U, 0x7f6a0dbbU, 0x086d3d2dU, 0x91646c97U, 0xe6635c01U,
+       0x6b6b51f4U, 0x1c6c6162U, 0x856530d8U, 0xf262004eU, 0x6c0695edU,
+       0x1b01a57bU, 0x8208f4c1U, 0xf50fc457U, 0x65b0d9c6U, 0x12b7e950U,
+       0x8bbeb8eaU, 0xfcb9887cU, 0x62dd1ddfU, 0x15da2d49U, 0x8cd37cf3U,
+       0xfbd44c65U, 0x4db26158U, 0x3ab551ceU, 0xa3bc0074U, 0xd4bb30e2U,
+       0x4adfa541U, 0x3dd895d7U, 0xa4d1c46dU, 0xd3d6f4fbU, 0x4369e96aU,
+       0x346ed9fcU, 0xad678846U, 0xda60b8d0U, 0x44042d73U, 0x33031de5U,
+       0xaa0a4c5fU, 0xdd0d7cc9U, 0x5005713cU, 0x270241aaU, 0xbe0b1010U,
+       0xc90c2086U, 0x5768b525U, 0x206f85b3U, 0xb966d409U, 0xce61e49fU,
+       0x5edef90eU, 0x29d9c998U, 0xb0d09822U, 0xc7d7a8b4U, 0x59b33d17U,
+       0x2eb40d81U, 0xb7bd5c3bU, 0xc0ba6cadU, 0xedb88320U, 0x9abfb3b6U,
+       0x03b6e20cU, 0x74b1d29aU, 0xead54739U, 0x9dd277afU, 0x04db2615U,
+       0x73dc1683U, 0xe3630b12U, 0x94643b84U, 0x0d6d6a3eU, 0x7a6a5aa8U,
+       0xe40ecf0bU, 0x9309ff9dU, 0x0a00ae27U, 0x7d079eb1U, 0xf00f9344U,
+       0x8708a3d2U, 0x1e01f268U, 0x6906c2feU, 0xf762575dU, 0x806567cbU,
+       0x196c3671U, 0x6e6b06e7U, 0xfed41b76U, 0x89d32be0U, 0x10da7a5aU,
+       0x67dd4accU, 0xf9b9df6fU, 0x8ebeeff9U, 0x17b7be43U, 0x60b08ed5U,
+       0xd6d6a3e8U, 0xa1d1937eU, 0x38d8c2c4U, 0x4fdff252U, 0xd1bb67f1U,
+       0xa6bc5767U, 0x3fb506ddU, 0x48b2364bU, 0xd80d2bdaU, 0xaf0a1b4cU,
+       0x36034af6U, 0x41047a60U, 0xdf60efc3U, 0xa867df55U, 0x316e8eefU,
+       0x4669be79U, 0xcb61b38cU, 0xbc66831aU, 0x256fd2a0U, 0x5268e236U,
+       0xcc0c7795U, 0xbb0b4703U, 0x220216b9U, 0x5505262fU, 0xc5ba3bbeU,
+       0xb2bd0b28U, 0x2bb45a92U, 0x5cb36a04U, 0xc2d7ffa7U, 0xb5d0cf31U,
+       0x2cd99e8bU, 0x5bdeae1dU, 0x9b64c2b0U, 0xec63f226U, 0x756aa39cU,
+       0x026d930aU, 0x9c0906a9U, 0xeb0e363fU, 0x72076785U, 0x05005713U,
+       0x95bf4a82U, 0xe2b87a14U, 0x7bb12baeU, 0x0cb61b38U, 0x92d28e9bU,
+       0xe5d5be0dU, 0x7cdcefb7U, 0x0bdbdf21U, 0x86d3d2d4U, 0xf1d4e242U,
+       0x68ddb3f8U, 0x1fda836eU, 0x81be16cdU, 0xf6b9265bU, 0x6fb077e1U,
+       0x18b74777U, 0x88085ae6U, 0xff0f6a70U, 0x66063bcaU, 0x11010b5cU,
+       0x8f659effU, 0xf862ae69U, 0x616bffd3U, 0x166ccf45U, 0xa00ae278U,
+       0xd70dd2eeU, 0x4e048354U, 0x3903b3c2U, 0xa7672661U, 0xd06016f7U,
+       0x4969474dU, 0x3e6e77dbU, 0xaed16a4aU, 0xd9d65adcU, 0x40df0b66U,
+       0x37d83bf0U, 0xa9bcae53U, 0xdebb9ec5U, 0x47b2cf7fU, 0x30b5ffe9U,
+       0xbdbdf21cU, 0xcabac28aU, 0x53b39330U, 0x24b4a3a6U, 0xbad03605U,
+       0xcdd70693U, 0x54de5729U, 0x23d967bfU, 0xb3667a2eU, 0xc4614ab8U,
+       0x5d681b02U, 0x2a6f2b94U, 0xb40bbe37U, 0xc30c8ea1U, 0x5a05df1bU,
+       0x2d02ef8dU
+};
+
+
+uint32_t Crc32(const void *buffer, uint32_t len)
+{
+       uint8_t *byte = (uint8_t *)buffer;
+       uint32_t i;
+       uint32_t value = ~0U;
+
+       for (i = 0; i < len; ++i)
+               value = crc32_tab[(value ^ byte[i]) & 0xff] ^ (value >> 8);
+       return value ^ ~0U;
+}
diff --git a/firmware/lib/cgptlib/include/cgptlib.h b/firmware/lib/cgptlib/include/cgptlib.h
new file mode 100644 (file)
index 0000000..93d15da
--- /dev/null
@@ -0,0 +1,25 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_CGPTLIB_H_
+#define VBOOT_REFERENCE_CGPTLIB_H_
+
+#include "2sysincludes.h"
+#include "gpt_misc.h"
+
+/**
+ * Provides the location of the next kernel partition, in order of decreasing
+ * priority.
+ *
+ * On return the start_sector parameter contains the LBA sector for the start
+ * of the kernel partition, and the size parameter contains the size of the
+ * kernel partition in LBA sectors.  gpt.current_kernel contains the partition
+ * index of the current chromeos kernel partition.
+ *
+ * Returns GPT_SUCCESS if successful, else
+ *   GPT_ERROR_NO_VALID_KERNEL, no avaliable kernel, enters recovery mode */
+int GptNextKernelEntry(GptData *gpt, uint64_t *start_sector, uint64_t *size);
+
+#endif  /* VBOOT_REFERENCE_CGPTLIB_H_ */
diff --git a/firmware/lib/cgptlib/include/cgptlib_internal.h b/firmware/lib/cgptlib/include/cgptlib_internal.h
new file mode 100644 (file)
index 0000000..8066031
--- /dev/null
@@ -0,0 +1,172 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_CGPTLIB_INTERNAL_H_
+#define VBOOT_REFERENCE_CGPTLIB_INTERNAL_H_
+
+#include "2sysincludes.h"
+#include "cgptlib.h"
+#include "gpt.h"
+
+/*
+ * If gpt->current_kernel is this value, means either:
+ *   1. an initial value before scanning GPT entries,
+ *   2. after scanning, no any valid kernel is found.
+ */
+#define CGPT_KERNEL_ENTRY_NOT_FOUND (-1)
+
+/*
+ * Bit definitions and masks for GPT attributes.
+ *
+ *  63-61  -- (reserved)
+ *     60  -- read-only
+ *  59-57  -- (reserved)
+ *     56  -- success
+ *  55-52  -- tries
+ *  51-48  -- priority
+ *   47-3  -- UEFI: reserved for future use
+ *      2  -- UEFI: Legacy BIOS bootable
+ *      1  -- UEFI: partition is not mapped
+ *      0  -- UEFI: partition is required
+ */
+#define CGPT_ATTRIBUTE_SUCCESSFUL_OFFSET (56 - 48)
+#define CGPT_ATTRIBUTE_MAX_SUCCESSFUL (1ULL)
+#define CGPT_ATTRIBUTE_SUCCESSFUL_MASK (CGPT_ATTRIBUTE_MAX_SUCCESSFUL << \
+                                       CGPT_ATTRIBUTE_SUCCESSFUL_OFFSET)
+
+#define CGPT_ATTRIBUTE_TRIES_OFFSET (52 - 48)
+#define CGPT_ATTRIBUTE_MAX_TRIES (15ULL)
+#define CGPT_ATTRIBUTE_TRIES_MASK (CGPT_ATTRIBUTE_MAX_TRIES << \
+                                  CGPT_ATTRIBUTE_TRIES_OFFSET)
+
+#define CGPT_ATTRIBUTE_PRIORITY_OFFSET (48 - 48)
+#define CGPT_ATTRIBUTE_MAX_PRIORITY (15ULL)
+#define CGPT_ATTRIBUTE_PRIORITY_MASK (CGPT_ATTRIBUTE_MAX_PRIORITY << \
+                                     CGPT_ATTRIBUTE_PRIORITY_OFFSET)
+
+#define CGPT_ATTRIBUTE_REQUIRED_OFFSET (0)
+#define CGPT_ATTRIBUTE_MAX_REQUIRED (1ULL)
+#define CGPT_ATTRIBUTE_LEGACY_BOOT_OFFSET (2)
+#define CGPT_ATTRIBUTE_MAX_LEGACY_BOOT (1ULL)
+
+/* Defines ChromeOS-specific limitation on GPT */
+#define MIN_SIZE_OF_HEADER 92
+#define MAX_SIZE_OF_HEADER 512
+#define MIN_SIZE_OF_ENTRY 128
+#define MAX_SIZE_OF_ENTRY 512
+#define SIZE_OF_ENTRY_MULTIPLE 8
+#define MIN_NUMBER_OF_ENTRIES 16
+#define MAX_NUMBER_OF_ENTRIES 128
+
+/* All GptData.(primary|secondary)_entries must be allocated to this size! */
+#define GPT_ENTRIES_ALLOC_SIZE (MAX_NUMBER_OF_ENTRIES * sizeof(GptEntry))
+
+/* Defines GPT sizes */
+#define GPT_PMBR_SECTORS 1  /* size (in sectors) of PMBR */
+#define GPT_HEADER_SECTORS 1
+
+/*
+ * Alias name of index in internal array for primary and secondary header and
+ * entries.
+ */
+enum {
+       /* constants for index */
+       PRIMARY = 0,
+       SECONDARY = 1,
+       ANY_VALID = 9999,  /* accept any between primary and secondary */
+
+       /* constants for bit mask */
+       MASK_NONE = 0,
+       MASK_PRIMARY = 1,
+       MASK_SECONDARY = 2,
+       MASK_BOTH = 3,
+};
+
+/**
+ * Verify GptData parameters are valid.
+ */
+int CheckParameters(GptData* gpt);
+
+/**
+ * Check header fields.
+ *
+ * Returns 0 if header is valid, 1 if invalid.
+ */
+int CheckHeader(GptHeader *h, int is_secondary,
+               uint64_t streaming_drive_sectors,
+               uint64_t gpt_drive_sectors, uint32_t flags,
+               uint32_t sector_bytes);
+
+/**
+ * Calculate and return the header CRC.
+ */
+uint32_t HeaderCrc(GptHeader *h);
+
+/**
+ * Check entries.
+ *
+ * Returns 0 if entries are valid, 1 if invalid.
+ */
+int CheckEntries(GptEntry *entries, GptHeader *h);
+
+/**
+ * Return 0 if the GptHeaders are the same for all fields which don't differ
+ * between the primary and secondary headers - that is, all fields other than:
+ *
+ * my_lba
+ * alternate_lba
+ * entries_lba
+ */
+int HeaderFieldsSame(GptHeader *h1, GptHeader *h2);
+
+/**
+ * Check GptData, headers, entries.
+ *
+ * If successful, sets gpt->valid_headers and gpt->valid_entries and returns
+ * GPT_SUCCESS.
+ *
+ * On error, returns a GPT_ERROR_* return code.
+ */
+int GptValidityCheck(GptData *gpt);
+
+/**
+ * Repair GPT data by copying from one set of valid headers/entries to the
+ * other.  Assumes GptValidityCheck() has been run to determine which headers
+ * and/or entries are already valid.
+ *
+ * The caller must make sure that even if one of the entries table is invalid
+ * then corresponding buffer is allocated and big enough to accommodate entries
+ * from the other (good) table.
+ */
+void GptRepair(GptData *gpt);
+
+/**
+ * Called when the primary entries are modified and the CRCs need to be
+ * recalculated and propagated to the secondary entries
+ */
+void GptModified(GptData *gpt);
+
+/**
+ * Return 1 if the entry is a Chrome OS kernel partition, else 0.
+ */
+int IsKernelEntry(const GptEntry *e);
+
+/**
+ * Copy the current kernel partition's UniquePartitionGuid to the dest.
+ */
+void GetCurrentKernelUniqueGuid(GptData *gpt, void *dest);
+
+/**
+ * Return a pointer to text describing the passed in error.
+ */
+const char *GptErrorText(int error_code);
+
+/**
+ * Return number of sectors required to store the entries table. Where
+ * a sector has size sector_bytes.
+ */
+size_t CalculateEntriesSectors(GptHeader* h, uint32_t sector_bytes);
+
+#endif  /* VBOOT_REFERENCE_CGPTLIB_INTERNAL_H_ */
diff --git a/firmware/lib/cgptlib/include/crc32.h b/firmware/lib/cgptlib/include/crc32.h
new file mode 100644 (file)
index 0000000..1f3e2a3
--- /dev/null
@@ -0,0 +1,13 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_CRC32_H_
+#define VBOOT_REFERENCE_CRC32_H_
+
+#include "2sysincludes.h"
+
+uint32_t Crc32(const void *buffer, uint32_t len);
+
+#endif  /* VBOOT_REFERENCE_CRC32_H_ */
diff --git a/firmware/lib/gpt_misc.c b/firmware/lib/gpt_misc.c
new file mode 100644 (file)
index 0000000..641ef37
--- /dev/null
@@ -0,0 +1,249 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "2common.h"
+#include "2sysincludes.h"
+#include "cgptlib.h"
+#include "cgptlib_internal.h"
+#include "crc32.h"
+#include "gpt.h"
+#include "vboot_api.h"
+
+/**
+ * Allocate and read GPT data from the drive.
+ *
+ * The sector_bytes and gpt_drive_sectors fields should be filled on input.  The
+ * primary and secondary header and entries are filled on output.
+ *
+ * Returns 0 if successful, 1 if error.
+ */
+int AllocAndReadGptData(VbExDiskHandle_t disk_handle, GptData *gptdata)
+{
+       int primary_valid = 0, secondary_valid = 0;
+
+       /* No data to be written yet */
+       gptdata->modified = 0;
+       /* This should get overwritten by GptInit() */
+       gptdata->ignored = 0;
+
+       /* Allocate all buffers */
+       gptdata->primary_header = (uint8_t *)malloc(gptdata->sector_bytes);
+       gptdata->secondary_header =
+               (uint8_t *)malloc(gptdata->sector_bytes);
+       gptdata->primary_entries = (uint8_t *)malloc(GPT_ENTRIES_ALLOC_SIZE);
+       gptdata->secondary_entries = (uint8_t *)malloc(GPT_ENTRIES_ALLOC_SIZE);
+
+       /* In some cases we try to validate header1 with entries2 or vice versa,
+          so make sure the entries buffers always got fully initialized. */
+       memset(gptdata->primary_entries, 0, GPT_ENTRIES_ALLOC_SIZE);
+       memset(gptdata->secondary_entries, 0, GPT_ENTRIES_ALLOC_SIZE);
+
+       if (gptdata->primary_header == NULL ||
+           gptdata->secondary_header == NULL ||
+           gptdata->primary_entries == NULL ||
+           gptdata->secondary_entries == NULL)
+               return 1;
+
+       /* Read primary header from the drive, skipping the protective MBR */
+       if (0 != VbExDiskRead(disk_handle, 1, 1, gptdata->primary_header)) {
+               VB2_DEBUG("Read error in primary GPT header\n");
+               memset(gptdata->primary_header, 0, gptdata->sector_bytes);
+       }
+
+       /* Only read primary GPT if the primary header is valid */
+       GptHeader* primary_header = (GptHeader*)gptdata->primary_header;
+       if (0 == CheckHeader(primary_header, 0,
+                       gptdata->streaming_drive_sectors,
+                       gptdata->gpt_drive_sectors,
+                       gptdata->flags,
+                       gptdata->sector_bytes)) {
+               primary_valid = 1;
+               uint64_t entries_bytes =
+                               (uint64_t)primary_header->number_of_entries
+                               * primary_header->size_of_entry;
+               uint64_t entries_sectors =
+                               (entries_bytes + gptdata->sector_bytes - 1)
+                               / gptdata->sector_bytes;
+               if (0 != VbExDiskRead(disk_handle,
+                                     primary_header->entries_lba,
+                                     entries_sectors,
+                                     gptdata->primary_entries)) {
+                       VB2_DEBUG("Read error in primary GPT entries\n");
+                       primary_valid = 0;
+               }
+       } else {
+               VB2_DEBUG("Primary GPT header is %s\n",
+                         memcmp(primary_header->signature,
+                                GPT_HEADER_SIGNATURE_IGNORED,
+                                GPT_HEADER_SIGNATURE_SIZE)
+                         ? "invalid" : "being ignored");
+       }
+
+       /* Read secondary header from the end of the drive */
+       if (0 != VbExDiskRead(disk_handle, gptdata->gpt_drive_sectors - 1, 1,
+                             gptdata->secondary_header)) {
+               VB2_DEBUG("Read error in secondary GPT header\n");
+               memset(gptdata->secondary_header, 0, gptdata->sector_bytes);
+       }
+
+       /* Only read secondary GPT if the secondary header is valid */
+       GptHeader* secondary_header = (GptHeader*)gptdata->secondary_header;
+       if (0 == CheckHeader(secondary_header, 1,
+                       gptdata->streaming_drive_sectors,
+                       gptdata->gpt_drive_sectors,
+                       gptdata->flags,
+                       gptdata->sector_bytes)) {
+               secondary_valid = 1;
+               uint64_t entries_bytes =
+                               (uint64_t)secondary_header->number_of_entries
+                               * secondary_header->size_of_entry;
+               uint64_t entries_sectors =
+                               (entries_bytes + gptdata->sector_bytes - 1)
+                               / gptdata->sector_bytes;
+               if (0 != VbExDiskRead(disk_handle,
+                                     secondary_header->entries_lba,
+                                     entries_sectors,
+                                     gptdata->secondary_entries)) {
+                       VB2_DEBUG("Read error in secondary GPT entries\n");
+                       secondary_valid = 0;
+               }
+       } else {
+               VB2_DEBUG("Secondary GPT header is %s\n",
+                         memcmp(secondary_header->signature,
+                                GPT_HEADER_SIGNATURE_IGNORED,
+                                GPT_HEADER_SIGNATURE_SIZE)
+                         ? "invalid" : "being ignored");
+       }
+
+       /* Return 0 if least one GPT header was valid */
+       return (primary_valid || secondary_valid) ? 0 : 1;
+}
+
+/**
+ * Write any changes for the GPT data back to the drive, then free the buffers.
+ *
+ * Returns 0 if successful, 1 if error.
+ */
+int WriteAndFreeGptData(VbExDiskHandle_t disk_handle, GptData *gptdata)
+{
+       int skip_primary = 0;
+       GptHeader *header;
+       uint64_t entries_bytes, entries_sectors;
+       int ret = 1;
+
+       header = (GptHeader *)gptdata->primary_header;
+       if (!header)
+               header = (GptHeader *)gptdata->secondary_header;
+       if (!header)
+               return 1;  /* No headers at all, so nothing to write */
+
+       entries_bytes = (uint64_t)header->number_of_entries
+                       * header->size_of_entry;
+       entries_sectors = entries_bytes / gptdata->sector_bytes;
+
+       /*
+        * TODO(namnguyen): Preserve padding between primary GPT header and
+        * its entries.
+        */
+       uint64_t entries_lba = GPT_PMBR_SECTORS + GPT_HEADER_SECTORS;
+       if (gptdata->primary_header) {
+               GptHeader *h = (GptHeader *)(gptdata->primary_header);
+               entries_lba = h->entries_lba;
+
+               if (gptdata->ignored & MASK_PRIMARY) {
+                       VB2_DEBUG("Not updating primary GPT: "
+                                 "marked to be ignored.\n");
+                       skip_primary = 1;
+               } else if (gptdata->modified & GPT_MODIFIED_HEADER1) {
+                       if (!memcmp(h->signature, GPT_HEADER_SIGNATURE2,
+                                   GPT_HEADER_SIGNATURE_SIZE)) {
+                               VB2_DEBUG("Not updating primary GPT: "
+                                         "legacy mode is enabled.\n");
+                               skip_primary = 1;
+                       } else {
+                               VB2_DEBUG("Updating GPT header 1\n");
+                               if (0 != VbExDiskWrite(disk_handle, 1, 1,
+                                                      gptdata->primary_header))
+                                       goto fail;
+                       }
+               }
+       }
+
+       if (gptdata->primary_entries && !skip_primary) {
+               if (gptdata->modified & GPT_MODIFIED_ENTRIES1) {
+                       VB2_DEBUG("Updating GPT entries 1\n");
+                       if (0 != VbExDiskWrite(disk_handle, entries_lba,
+                                              entries_sectors,
+                                              gptdata->primary_entries))
+                               goto fail;
+               }
+       }
+
+       entries_lba = (gptdata->gpt_drive_sectors - entries_sectors -
+               GPT_HEADER_SECTORS);
+       if (gptdata->secondary_header && !(gptdata->ignored & MASK_SECONDARY)) {
+               GptHeader *h = (GptHeader *)(gptdata->secondary_header);
+               entries_lba = h->entries_lba;
+               if (gptdata->modified & GPT_MODIFIED_HEADER2) {
+                       VB2_DEBUG("Updating GPT header 2\n");
+                       if (0 != VbExDiskWrite(disk_handle,
+                                              gptdata->gpt_drive_sectors - 1, 1,
+                                              gptdata->secondary_header))
+                               goto fail;
+               }
+       }
+
+       if (gptdata->secondary_entries && !(gptdata->ignored & MASK_SECONDARY)){
+               if (gptdata->modified & GPT_MODIFIED_ENTRIES2) {
+                       VB2_DEBUG("Updating GPT entries 2\n");
+                       if (0 != VbExDiskWrite(disk_handle,
+                                              entries_lba, entries_sectors,
+                                              gptdata->secondary_entries))
+                               goto fail;
+               }
+       }
+
+       ret = 0;
+
+ fail:
+       /* Avoid leaking memory on disk write failure */
+       if (gptdata->primary_header)
+               free(gptdata->primary_header);
+       if (gptdata->primary_entries)
+               free(gptdata->primary_entries);
+       if (gptdata->secondary_entries)
+               free(gptdata->secondary_entries);
+       if (gptdata->secondary_header)
+               free(gptdata->secondary_header);
+
+       /* Success */
+       return ret;
+}
+
+int IsUnusedEntry(const GptEntry *e)
+{
+       static Guid zero = {{{0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 0}}}};
+       return !memcmp(&zero, (const uint8_t*)(&e->type), sizeof(zero));
+}
+
+/*
+ * Func: GptGetEntrySize
+ * Desc: This function returns size(in lba) of a partition represented by
+ * given GPT entry.
+ */
+size_t GptGetEntrySizeLba(const GptEntry *e)
+{
+       return (e->ending_lba - e->starting_lba + 1);
+}
+
+/*
+ * Func: GptGetEntrySize
+ * Desc: This function returns size(in bytes) of a partition represented by
+ * given GPT entry.
+ */
+size_t GptGetEntrySizeBytes(const GptData *gpt, const GptEntry *e)
+{
+       return GptGetEntrySizeLba(e) * gpt->sector_bytes;
+}
diff --git a/firmware/lib/include/load_kernel_fw.h b/firmware/lib/include/load_kernel_fw.h
new file mode 100644 (file)
index 0000000..76d2556
--- /dev/null
@@ -0,0 +1,41 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * High-level firmware API for loading and verifying kernel.
+ * (Firmware Portion)
+ */
+
+#ifndef VBOOT_REFERENCE_LOAD_KERNEL_FW_H_
+#define VBOOT_REFERENCE_LOAD_KERNEL_FW_H_
+
+#include "vboot_api.h"
+
+/**
+ * Attempt to load kernel from the specified device.
+ *
+ * @param ctx          Vboot context
+ * @param params       Params specific to loading the kernel
+ * @param disk_info    Disk from which to read kernel
+ *
+ * Returns VB2_SUCCESS if successful.  If unsuccessful, returns an error code.
+ */
+vb2_error_t LoadKernel(struct vb2_context *ctx,
+                      VbSelectAndLoadKernelParams *params,
+                      VbDiskInfo *disk_info);
+
+/**
+ * Attempt to load miniOS kernel from the specified device.
+ *
+ * @param ctx          Vboot context
+ * @param params       Params specific to loading the kernel
+ * @param disk_info    Disk from which to read kernel
+ * @param minios_flags Flags for miniOS
+ *
+ * Returns VB2_SUCCESS if successful.  If unsuccessful, returns an error code.
+ */
+vb2_error_t LoadMiniOsKernel(struct vb2_context *ctx,
+                            VbSelectAndLoadKernelParams *params,
+                            VbDiskInfo *disk_info, uint32_t minios_flags);
+
+#endif  /* VBOOT_REFERENCE_LOAD_KERNEL_FW_H_ */
diff --git a/firmware/lib/include/vboot_struct.h b/firmware/lib/include/vboot_struct.h
new file mode 100644 (file)
index 0000000..374dfd4
--- /dev/null
@@ -0,0 +1,162 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * VbSharedDataHeader definition, for sharing with OS.
+ */
+
+#ifndef VBOOT_REFERENCE_VBOOT_STRUCT_H_
+#define VBOOT_REFERENCE_VBOOT_STRUCT_H_
+
+#include <stdint.h>
+
+#include "2sysincludes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+/* Constants and sub-structures for VbSharedDataHeader */
+
+/* Magic number for recognizing VbSharedDataHeader ("VbSD") */
+#define VB_SHARED_DATA_MAGIC 0x44536256
+
+/* Version for struct_version */
+#define VB_SHARED_DATA_VERSION 2
+
+/*
+ * Flags for VbSharedDataHeader
+ *
+ * TODO(b:124141368): Move these constants into crossystem once they are
+ * no longer needed in vboot2 code.
+ */
+
+/* LoadFirmware() tried firmware B because of VbNvStorage firmware B tries;
+   Deprecated as part of chromium:1010389. */
+#define VBSD_FWB_TRIED        0x00000001
+/*
+ * LoadKernel() verified the good kernel keyblock using the kernel subkey from
+ * the firmware.  If this flag is not present, it just used the hash of the
+ * kernel keyblock.
+ */
+#define VBSD_KERNEL_KEY_VERIFIED         0x00000002
+/* Developer switch was enabled at boot time */
+#define VBSD_BOOT_DEV_SWITCH_ON          0x00000010
+/* Recovery switch was enabled at boot time */
+#define VBSD_BOOT_REC_SWITCH_ON          0x00000020
+/* Firmware write protect was enabled at boot time */
+#define VBSD_BOOT_FIRMWARE_WP_ENABLED    0x00000040
+/* VbInit() was told the system supports EC software sync */
+#define VBSD_EC_SOFTWARE_SYNC            0x00000800
+/* Firmware used vboot2 for firmware selection */
+#define VBSD_BOOT_FIRMWARE_VBOOT2        0x00008000
+/* NvStorage uses 64-byte record, not 16-byte */
+#define VBSD_NVDATA_V2                   0x00100000
+
+/* Data shared to OS. */
+typedef struct VbSharedDataHeader {
+       /* Fields present in version 1 */
+       /* Magic number for struct (VB_SHARED_DATA_MAGIC) */
+       uint32_t magic;
+       /* Version of this structure */
+       uint32_t struct_version;
+       /* Size of this structure in bytes */
+       uint64_t struct_size;
+       /* Size of shared data buffer in bytes */
+       uint64_t data_size;
+       /* Amount of shared data used so far */
+       uint64_t data_used;
+       /* Flags */
+       uint32_t flags;
+       /* Reserved for padding */
+       uint32_t reserved0;
+       /* Previously, kernel subkey, from firmware (struct vb2_packed_key).
+          Now we use vboot2 workbuf for storage. */
+       uint8_t reserved1[32];
+       /* Offset of kernel subkey data from start of this struct */
+       uint64_t kernel_subkey_data_offset;
+       /* Size of kernel subkey data */
+       uint64_t kernel_subkey_data_size;
+
+       /*
+        * These timer values are all deprecated.  coreboot tstamp_table should
+        * be used instead.  See crosbug.com/1014102.
+        */
+       /* VbInit() enter/exit */
+       uint64_t timer_vb_init_enter;
+       uint64_t timer_vb_init_exit;
+       /* VbSelectFirmware() enter/exit */
+       uint64_t timer_vb_select_firmware_enter;
+       uint64_t timer_vb_select_firmware_exit;
+       /* VbSelectAndLoadKernel() enter/exit */
+       uint64_t timer_vb_select_and_load_kernel_enter;
+       uint64_t timer_vb_select_and_load_kernel_exit;
+
+       /* Information stored in TPM, as retrieved by firmware */
+       /* Current firmware version in TPM */
+       uint32_t fw_version_tpm;
+       /* Current kernel version in TPM */
+       uint32_t kernel_version_tpm;
+
+       /* Debugging information from LoadFirmware() */
+       /* Result of checking RW firmware A and B */
+       uint8_t check_fw_a_result;
+       uint8_t check_fw_b_result;
+       /* Firmware index returned by LoadFirmware() or 0xFF if failure */
+       uint8_t firmware_index;
+       /* Reserved for padding */
+       uint8_t reserved2;
+       /* Firmware TPM version at start of VbSelectFirmware() */
+       uint32_t fw_version_tpm_start;
+       /* Firmware lowest version found */
+       uint32_t fw_version_lowest;
+
+       /* Debugging information from LoadKernel() */
+       /* Number of times LoadKernel() called */
+       uint32_t lk_call_count;
+       /* Reserved for padding */
+       uint8_t reserved3[896];
+
+       /*
+        * Offset and size of supplemental kernel data.  Reserve space for
+        * these fields now, so that future LoadKernel() versions can store
+        * information there without needing to shift down whatever data the
+        * original LoadFirmware() might have put immediately following its
+        * VbSharedDataHeader.
+        */
+       uint64_t kernel_supplemental_offset;
+       uint64_t kernel_supplemental_size;
+
+       /*
+        * Fields added in version 2.  Before accessing, make sure that
+        * struct_version >= 2
+        */
+       /* Recovery reason for current boot */
+       uint8_t recovery_reason;
+       /* Reserved for padding */
+       uint8_t reserved4[7];
+       /* Flags from firmware keyblock */
+       uint64_t fw_keyblock_flags;
+       /* Kernel TPM version at start of VbSelectAndLoadKernel() */
+       uint32_t kernel_version_tpm_start;
+       /* Kernel lowest version found */
+       uint32_t kernel_version_lowest;
+
+} __attribute__((packed)) VbSharedDataHeader;
+
+/* Size of VbSharedDataheader for each version */
+#define VB_SHARED_DATA_HEADER_SIZE_V1 1072
+#define VB_SHARED_DATA_HEADER_SIZE_V2 1096
+
+_Static_assert(VB_SHARED_DATA_HEADER_SIZE_V1
+              == offsetof(VbSharedDataHeader, recovery_reason),
+              "VB_SHARED_DATA_HEADER_SIZE_V1 incorrect");
+
+_Static_assert(VB_SHARED_DATA_HEADER_SIZE_V2 == sizeof(VbSharedDataHeader),
+              "VB_SHARED_DATA_HEADER_SIZE_V2 incorrect");
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_VBOOT_STRUCT_H_ */
diff --git a/firmware/lib/include/vboot_test.h b/firmware/lib/include/vboot_test.h
new file mode 100644 (file)
index 0000000..fb1f52a
--- /dev/null
@@ -0,0 +1,17 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * This header is for APIs that are only used by test code.
+ */
+
+#ifndef VBOOT_REFERENCE_TEST_API_H_
+#define VBOOT_REFERENCE_TEST_API_H_
+
+/****************************************************************************
+ * vboot_api_kernel.c */
+
+struct VbSelectAndLoadKernelParams;
+struct VbSelectAndLoadKernelParams **VbApiKernelGetParamsPtr(void);
+
+#endif  /* VBOOT_REFERENCE_TEST_API_H_ */
diff --git a/firmware/lib/tpm2_lite/OWNERS b/firmware/lib/tpm2_lite/OWNERS
new file mode 100644 (file)
index 0000000..eda9c5e
--- /dev/null
@@ -0,0 +1,3 @@
+apronin@chromium.org
+rspangler@chromium.org
+vbendeb@chromium.org
diff --git a/firmware/lib/tpm2_lite/marshaling.c b/firmware/lib/tpm2_lite/marshaling.c
new file mode 100644 (file)
index 0000000..b9857d4
--- /dev/null
@@ -0,0 +1,923 @@
+/* Copyright 2016 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "2common.h"
+#include "2sysincludes.h"
+#include "tpm2_marshaling.h"
+
+static uint16_t tpm_tag;  /* Depends on the command type. */
+static int ph_disabled;   /* Platform hierarchy disabled. */
+
+static void write_be16(void *dest, uint16_t val)
+{
+       uint8_t *byte_dest = dest;
+
+       byte_dest[0] = val >> 8;
+       byte_dest[1] = val;
+}
+
+static void write_be32(void *dest, uint32_t val)
+{
+       uint8_t *byte_dest = dest;
+
+       byte_dest[0] = val >> 24;
+       byte_dest[1] = val >> 16;
+       byte_dest[2] = val >> 8;
+       byte_dest[3] = val;
+}
+
+static uint16_t read_be16(const void *src)
+{
+       const uint8_t *s = src;
+       return (((uint16_t)s[0]) << 8) | (((uint16_t)s[1]) << 0);
+}
+
+static inline uint32_t read_be32(const void *src)
+{
+       const uint8_t *s = src;
+
+       return (((uint32_t)s[0]) << 24) | (((uint32_t)s[1]) << 16) |
+               (((uint32_t)s[2]) << 8) | (((uint32_t)s[3]) << 0);
+}
+
+/*
+ * Each unmarshaling function receives a pointer to the buffer pointer and a
+ * pointer to the size of data still in the buffer. The function extracts data
+ * from the buffer and adjusts both buffer pointer and remaining data size.
+ *
+ * Should there be not enough data in the buffer to unmarshal the required
+ * object, the remaining data size is set to -1 to indicate the error. The
+ * remaining data size is expected to be set to zero once the last data item
+ * has been extracted from the buffer.
+ */
+
+static uint8_t unmarshal_u8(void **buffer, int *buffer_space)
+{
+       uint8_t value;
+
+       if (*buffer_space < sizeof(value)) {
+               *buffer_space = -1; /* Indicate a failure. */
+               return 0;
+       }
+
+       value = *(uint8_t *)(*buffer);
+       *buffer = (void *) ((uintptr_t) (*buffer) + sizeof(value));
+       *buffer_space -= sizeof(value);
+
+       return value;
+}
+
+static uint16_t unmarshal_u16(void **buffer, int *buffer_space)
+{
+       uint16_t value;
+
+       if (*buffer_space < sizeof(value)) {
+               *buffer_space = -1; /* Indicate a failure. */
+               return 0;
+       }
+
+       value = read_be16(*buffer);
+       *buffer = (void *) ((uintptr_t) (*buffer) + sizeof(value));
+       *buffer_space -= sizeof(value);
+
+       return value;
+}
+
+static uint32_t unmarshal_u32(void **buffer, int *buffer_space)
+{
+       uint32_t value;
+
+       if (*buffer_space < sizeof(value)) {
+               *buffer_space = -1; /* Indicate a failure. */
+               return 0;
+       }
+
+       value = read_be32(*buffer);
+       *buffer = (void *) ((uintptr_t) (*buffer) + sizeof(value));
+       *buffer_space -= sizeof(value);
+
+       return value;
+}
+
+#define unmarshal_TPM_HANDLE(a, b) unmarshal_u32(a, b)
+#define unmarshal_ALG_ID(a, b) unmarshal_u16(a, b)
+
+static void unmarshal_TPM2B_MAX_NV_BUFFER(void **buffer,
+                                         int *size,
+                                         TPM2B_MAX_NV_BUFFER *nv_buffer)
+{
+       nv_buffer->t.size = unmarshal_u16(buffer, size);
+       if (nv_buffer->t.size > *size) {
+               VB2_DEBUG("size mismatch: expected %d, remaining %d\n",
+                         nv_buffer->t.size, *size);
+               return;
+       }
+
+       nv_buffer->t.buffer = *buffer;
+
+       *buffer = ((uint8_t *)(*buffer)) + nv_buffer->t.size;
+       *size -= nv_buffer->t.size;
+}
+
+static void unmarshal_authorization_section(void **buffer, int *size,
+                                           const char *cmd_name)
+{
+       /*
+        * Let's ignore the authorisation section. It should be 5 bytes total,
+        * just confirm that this is the case and report any discrepancy.
+        */
+       if (*size != 5)
+               VB2_DEBUG("unexpected authorisation section size %d for %s\n",
+                         *size, cmd_name);
+
+       *buffer = ((uint8_t *)(*buffer)) + *size;
+       *size = 0;
+}
+
+static void unmarshal_nv_read(void **buffer, int *size,
+                             struct nv_read_response *nvr)
+{
+       /* Total size of the parameter field. */
+       nvr->params_size = unmarshal_u32(buffer, size);
+       unmarshal_TPM2B_MAX_NV_BUFFER(buffer, size, &nvr->buffer);
+
+       if (nvr->params_size !=
+           (nvr->buffer.t.size + sizeof(nvr->buffer.t.size))) {
+               VB2_DEBUG("parameter/buffer %d/%d size mismatch",
+                         nvr->params_size, nvr->buffer.t.size);
+               return;
+       }
+
+       if (*size < 0)
+               return;
+
+       unmarshal_authorization_section(buffer, size, "NV_Read");
+}
+
+static void unmarshal_TPM2B(void **buffer,
+                           int *size,
+                           TPM2B *tpm2b)
+{
+       tpm2b->size = unmarshal_u16(buffer, size);
+       if (tpm2b->size > *size) {
+               VB2_DEBUG("size mismatch: expected %d, remaining %d\n",
+                         tpm2b->size, *size);
+               *size = -1;
+               return;
+       }
+
+       tpm2b->buffer = *buffer;
+
+       *buffer = ((uint8_t *)(*buffer)) + tpm2b->size;
+       *size -= tpm2b->size;
+}
+
+static void unmarshal_TPMS_NV_PUBLIC(void **buffer,
+                                    int *size,
+                                    TPMS_NV_PUBLIC *pub)
+{
+       int tpm2b_size = unmarshal_u16(buffer, size);
+       if (tpm2b_size > *size) {
+               VB2_DEBUG("size mismatch: expected %d, remaining %d\n",
+                         tpm2b_size, *size);
+               *size = -1;
+               return;
+       }
+       *size -= tpm2b_size;
+
+       pub->nvIndex = unmarshal_TPM_HANDLE(buffer, &tpm2b_size);
+       pub->nameAlg = unmarshal_ALG_ID(buffer, &tpm2b_size);
+       pub->attributes = unmarshal_u32(buffer, &tpm2b_size);
+       unmarshal_TPM2B(buffer, &tpm2b_size, &pub->authPolicy);
+       pub->dataSize = unmarshal_u16(buffer, &tpm2b_size);
+
+       if (tpm2b_size != 0) {
+               VB2_DEBUG("TPMS_NV_PUBLIC size doesn't match size field\n");
+               *size = -1;
+               return;
+       }
+}
+
+static void unmarshal_nv_read_public(void **buffer, int *size,
+                                    struct nv_read_public_response *nv_pub)
+{
+       unmarshal_TPMS_NV_PUBLIC(buffer, size, &nv_pub->nvPublic);
+       unmarshal_TPM2B(buffer, size, &nv_pub->nvName);
+
+       if (*size > 0) {
+               VB2_DEBUG("extra %d bytes after nvName\n", *size);
+               *size = -1;
+               return;
+       }
+}
+
+static void unmarshal_TPML_TAGGED_TPM_PROPERTY(void **buffer, int *size,
+                                              TPML_TAGGED_TPM_PROPERTY *prop)
+{
+       prop->count = unmarshal_u32(buffer, size);
+
+       if (prop->count != 1) {
+               *size = -1;
+               VB2_DEBUG("Request to unmarshal unsupported "
+                         "number of properties: %u\n",
+                         prop->count);
+               return;
+       }
+
+       prop->tpm_property[0].property = unmarshal_u32(buffer, size);
+       prop->tpm_property[0].value = unmarshal_u32(buffer, size);
+}
+
+static void unmarshal_TPMS_CAPABILITY_DATA(void **buffer, int *size,
+                                          TPMS_CAPABILITY_DATA *cap_data)
+{
+       cap_data->capability = unmarshal_u32(buffer, size);
+
+       switch (cap_data->capability) {
+
+       case TPM_CAP_TPM_PROPERTIES:
+               unmarshal_TPML_TAGGED_TPM_PROPERTY(buffer, size,
+                                                  &cap_data->data.
+                                                      tpm_properties);
+               break;
+
+       default:
+               *size = -1;
+               VB2_DEBUG("Request to unmarshal unsupported capability %#x\n",
+                         cap_data->capability);
+       }
+}
+
+static void unmarshal_get_capability(void **buffer, int *size,
+                                    struct get_capability_response *cap)
+{
+       /* Total size of the parameter field. */
+       cap->more_data = unmarshal_u8(buffer, size);
+       unmarshal_TPMS_CAPABILITY_DATA(buffer, size, &cap->capability_data);
+}
+
+static void unmarshal_get_random(void **buffer, int *size,
+                                struct get_random_response *random)
+{
+       unmarshal_TPM2B(buffer, size, &random->random_bytes);
+}
+
+/*
+ * Each marshaling function receives a pointer to the buffer to marshal into,
+ * a pointer to the data item to be marshaled, and a pointer to the remaining
+ * room in the buffer.
+ */
+
+/*
+ * Marshaling an arbitrary blob requires its size in addition to common
+ * parameter set.
+ */
+static void marshal_blob(void **buffer, void *blob,
+                        size_t blob_size, int *buffer_space)
+{
+       if (*buffer_space < blob_size) {
+               *buffer_space = -1;
+               return;
+       }
+
+       memcpy(*buffer, blob, blob_size);
+       *buffer_space -= blob_size;
+       *buffer = (void *)((uintptr_t)(*buffer) + blob_size);
+}
+
+static void marshal_u8(void **buffer, uint8_t value, int *buffer_space)
+{
+       uint8_t *bp = *buffer;
+
+       if (*buffer_space < sizeof(value)) {
+               *buffer_space = -1;
+               return;
+       }
+
+       *bp++ = value;
+       *buffer = bp;
+       *buffer_space -= sizeof(value);
+}
+
+static void marshal_u16(void **buffer, uint16_t value, int *buffer_space)
+{
+       if (*buffer_space < sizeof(value)) {
+               *buffer_space = -1;
+               return;
+       }
+       write_be16(*buffer, value);
+       *buffer = (void *)((uintptr_t)(*buffer) + sizeof(value));
+       *buffer_space -= sizeof(value);
+}
+
+static void marshal_u32(void **buffer, uint32_t value, int *buffer_space)
+{
+       if (*buffer_space < sizeof(value)) {
+               *buffer_space = -1;
+               return;
+       }
+
+       write_be32(*buffer, value);
+       *buffer = (void *)((uintptr_t)(*buffer) + sizeof(value));
+       *buffer_space -= sizeof(value);
+}
+
+#define marshal_TPM_HANDLE(a, b, c) marshal_u32(a, b, c)
+#define marshal_TPM_SU(a, b, c) marshal_u16(a, b, c)
+#define marshal_ALG_ID(a, b, c) marshal_u16(a, b, c)
+#define marshal_TPMI_ALG_HASH(a, b, c) marshal_u16(a, b, c)
+
+/*
+ * For TPM2B* structures the size field (16 or 32 bits) goes before the data.
+ * When marshaling, we first reserve the space for the size field, then
+ * marshal the data, then fill the reserved size field with the actual size
+ * of the marshaled data.
+ */
+typedef struct {
+       int size;
+       void *location;
+} tpm2_marshal_size_field;
+
+static void marshal_reserve_size_field(void **buffer,
+                                      tpm2_marshal_size_field *field,
+                                      int field_size,
+                                      int *buffer_space)
+{
+       if (field_size != sizeof(uint32_t) && field_size != sizeof(uint16_t)) {
+               VB2_DEBUG("Unsupported size field size: %d\n", field_size);
+               *buffer_space = -1;
+               return;
+       }
+       if (*buffer_space < field_size) {
+               *buffer_space = -1;
+               return;
+       }
+       field->size = field_size;
+       field->location = *buffer;
+       *buffer_space -= field_size;
+       *buffer = (void *)(((uintptr_t) *buffer) + field_size);
+}
+
+static void marshal_fill_size_field(void **buffer,
+                                   tpm2_marshal_size_field *field,
+                                   int include_size_field,
+                                   int *buffer_space)
+{
+       uintptr_t size = (uintptr_t) *buffer - (uintptr_t) field->location;
+
+       if (*buffer_space < 0)
+               return;  /* The structure did not fit. */
+
+       if (!include_size_field)
+               size -= field->size;
+       if (field->size == sizeof(uint32_t))
+               marshal_u32(&field->location, size, &field->size);
+       else /* if (field->size == sizeof(uint16_t)) */
+               marshal_u16(&field->location, size, &field->size);
+}
+
+static void marshal_session_header(void **buffer,
+                                  struct tpm2_session_header *session_header,
+                                  int *buffer_space)
+{
+       tpm2_marshal_size_field size_field;
+
+       /* Skip room for the session header size. */
+       marshal_reserve_size_field(buffer, &size_field,
+                                  sizeof(uint32_t), buffer_space);
+
+       marshal_u32(buffer, session_header->session_handle, buffer_space);
+       marshal_u16(buffer, session_header->nonce_size, buffer_space);
+       marshal_blob(buffer, session_header->nonce,
+                    session_header->nonce_size, buffer_space);
+       marshal_u8(buffer, session_header->session_attrs, buffer_space);
+       marshal_u16(buffer, session_header->auth_size, buffer_space);
+       marshal_blob(buffer, session_header->auth,
+                    session_header->auth_size, buffer_space);
+
+       /* Paste in the session size. */
+       marshal_fill_size_field(buffer, &size_field, 0, buffer_space);
+}
+
+static void marshal_TPM2B(void **buffer,
+                         TPM2B *data,
+                         int *buffer_space)
+{
+       size_t total_size = data->size + sizeof(data->size);
+
+       if (total_size > *buffer_space) {
+               *buffer_space = -1;
+               return;
+       }
+       marshal_u16(buffer, data->size, buffer_space);
+       memcpy(*buffer, data->buffer, data->size);
+       *buffer = ((uint8_t *)(*buffer)) + data->size;
+       *buffer_space -= data->size;
+}
+
+static void marshal_TPMS_NV_PUBLIC(void **buffer,
+                                  TPMS_NV_PUBLIC *data,
+                                  int *buffer_space)
+{
+       tpm2_marshal_size_field size_field;
+
+       /* Skip room for the size. */
+       marshal_reserve_size_field(buffer, &size_field,
+                                  sizeof(uint16_t), buffer_space);
+
+       marshal_TPM_HANDLE(buffer, data->nvIndex, buffer_space);
+       marshal_ALG_ID(buffer, data->nameAlg, buffer_space);
+       marshal_u32(buffer, data->attributes, buffer_space);
+       marshal_TPM2B(buffer, &data->authPolicy, buffer_space);
+       marshal_u16(buffer, data->dataSize, buffer_space);
+
+       /* Paste in the structure size. */
+       marshal_fill_size_field(buffer, &size_field, 0, buffer_space);
+}
+
+static void marshal_nv_define_space(void **buffer,
+                                   struct tpm2_nv_define_space_cmd
+                                       *command_body,
+                                   int *buffer_space)
+{
+       struct tpm2_session_header session_header;
+
+       /* Use platform authorization if PLATFORMCREATE is set, and owner
+        * authorization otherwise (per TPM2 Spec. Part 2. Section 31.3.1).
+        * Owner authorization with empty password will work only until
+        * ownership is taken. Platform authorization will work only until
+        * platform hierarchy is disabled (i.e. in firmware or in recovery
+        * mode).
+        */
+       if (command_body->publicInfo.attributes & TPMA_NV_PLATFORMCREATE)
+               marshal_TPM_HANDLE(buffer, TPM_RH_PLATFORM, buffer_space);
+       else
+               marshal_TPM_HANDLE(buffer, TPM_RH_OWNER, buffer_space);
+
+       memset(&session_header, 0, sizeof(session_header));
+       session_header.session_handle = TPM_RS_PW;
+       marshal_session_header(buffer, &session_header, buffer_space);
+       tpm_tag = TPM_ST_SESSIONS;
+
+       marshal_TPM2B(buffer, &command_body->auth, buffer_space);
+       marshal_TPMS_NV_PUBLIC(buffer, &command_body->publicInfo, buffer_space);
+}
+
+static void marshal_nv_undefine_space(void **buffer,
+                                     struct tpm2_nv_undefine_space_cmd
+                                         *command_body,
+                                     int *buffer_space)
+{
+       struct tpm2_session_header session_header;
+
+       /* Use platform authorization if PLATFORMCREATE is set, and owner
+        * authorization otherwise (per TPM2 Spec. Part 2. Section 31.3.1).
+        * Owner authorization with empty password will work only until
+        * ownership is taken. Platform authorization will work only until
+        * platform hierarchy is disabled (i.e. in firmware or in recovery
+        * mode).
+        */
+       if (command_body->use_platform_auth)
+               marshal_TPM_HANDLE(buffer, TPM_RH_PLATFORM, buffer_space);
+       else
+               marshal_TPM_HANDLE(buffer, TPM_RH_OWNER, buffer_space);
+       marshal_TPM_HANDLE(buffer, command_body->nvIndex, buffer_space);
+
+       memset(&session_header, 0, sizeof(session_header));
+       session_header.session_handle = TPM_RS_PW;
+       marshal_session_header(buffer, &session_header, buffer_space);
+       tpm_tag = TPM_ST_SESSIONS;
+}
+
+/* Determine which authorization should be used when writing or write-locking
+ * an NV index.
+ *
+ * Use a simplified approach:
+ * 1) Use platform auth for indexes defined by TPM and Platform, as
+ * specified in "Registry of reserved TPM 2.0 handles and localities".
+ * That will only work for indexes with PPWRITE, and until the platform
+ * hierarchy is disabled.
+ * 2) Use empty password auth for other indexes.
+ * That will only work for indexes with AUTHWRITE and empty auth value.
+ *
+ * A more honest approach would require the caller to specify the
+ * authorization, or would check the NV index attributes.
+ * But that's not needed now, as all indexes defined by firmware are
+ * in the TPM range and have PPWRITE. The indexes defined by the
+ * OS are in the Owner range and have either OWNERWRITE or AUTHWRITE,
+ * but we don't ever use Tlcl to write to OWNERWRITE indexes.
+ */
+static TPM_HANDLE get_nv_index_write_auth(TPMI_RH_NV_INDEX nvIndex)
+{
+       return nvIndex >= TPMI_RH_NV_INDEX_OWNER_START ?
+              nvIndex :
+              TPM_RH_PLATFORM;
+}
+
+static void marshal_nv_write(void **buffer,
+                            struct tpm2_nv_write_cmd *command_body,
+                            int *buffer_space)
+{
+       struct tpm2_session_header session_header;
+
+       marshal_TPM_HANDLE(buffer,
+                          get_nv_index_write_auth(command_body->nvIndex),
+                          buffer_space);
+       marshal_TPM_HANDLE(buffer, command_body->nvIndex, buffer_space);
+       memset(&session_header, 0, sizeof(session_header));
+       session_header.session_handle = TPM_RS_PW;
+       marshal_session_header(buffer, &session_header, buffer_space);
+       tpm_tag = TPM_ST_SESSIONS;
+
+       marshal_TPM2B(buffer, &command_body->data.b, buffer_space);
+       marshal_u16(buffer, command_body->offset, buffer_space);
+}
+
+static void marshal_nv_read(void **buffer,
+                           struct tpm2_nv_read_cmd *command_body,
+                           int *buffer_space)
+{
+       struct tpm2_session_header session_header;
+
+       /* Use empty password auth if platform hierarchy is disabled */
+       if (ph_disabled)
+               marshal_TPM_HANDLE(buffer, command_body->nvIndex, buffer_space);
+       else
+               marshal_TPM_HANDLE(buffer, TPM_RH_PLATFORM, buffer_space);
+       marshal_TPM_HANDLE(buffer, command_body->nvIndex, buffer_space);
+       memset(&session_header, 0, sizeof(session_header));
+       session_header.session_handle = TPM_RS_PW;
+       marshal_session_header(buffer, &session_header, buffer_space);
+       tpm_tag = TPM_ST_SESSIONS;
+       marshal_u16(buffer, command_body->size, buffer_space);
+       marshal_u16(buffer, command_body->offset, buffer_space);
+}
+
+static void marshal_nv_read_lock(void **buffer,
+                                 struct tpm2_nv_read_lock_cmd *command_body,
+                                 int *buffer_space)
+{
+       struct tpm2_session_header session_header;
+
+       tpm_tag = TPM_ST_SESSIONS;
+       marshal_TPM_HANDLE(buffer, command_body->nvIndex, buffer_space);
+       marshal_TPM_HANDLE(buffer, command_body->nvIndex, buffer_space);
+       memset(&session_header, 0, sizeof(session_header));
+       session_header.session_handle = TPM_RS_PW;
+       marshal_session_header(buffer, &session_header, buffer_space);
+}
+
+static void marshal_nv_write_lock(void **buffer,
+                                 struct tpm2_nv_write_lock_cmd *command_body,
+                                 int *buffer_space)
+{
+       struct tpm2_session_header session_header;
+
+       tpm_tag = TPM_ST_SESSIONS;
+       marshal_TPM_HANDLE(buffer,
+                          get_nv_index_write_auth(command_body->nvIndex),
+                          buffer_space);
+       marshal_TPM_HANDLE(buffer, command_body->nvIndex, buffer_space);
+       memset(&session_header, 0, sizeof(session_header));
+       session_header.session_handle = TPM_RS_PW;
+       marshal_session_header(buffer, &session_header, buffer_space);
+}
+
+static void marshal_nv_read_public(void **buffer,
+                                  struct tpm2_nv_read_public_cmd *command_body,
+                                  int *buffer_space)
+{
+       tpm_tag = TPM_ST_NO_SESSIONS;
+
+       marshal_TPM_HANDLE(buffer, command_body->nvIndex, buffer_space);
+}
+
+static void marshal_hierarchy_control(void **buffer,
+                                     struct tpm2_hierarchy_control_cmd
+                                         *command_body,
+                                     int *buffer_space)
+{
+       struct tpm2_session_header session_header;
+
+       tpm_tag = TPM_ST_SESSIONS;
+       marshal_TPM_HANDLE(buffer, TPM_RH_PLATFORM, buffer_space);
+       memset(&session_header, 0, sizeof(session_header));
+       session_header.session_handle = TPM_RS_PW;
+       marshal_session_header(buffer, &session_header, buffer_space);
+
+       marshal_TPM_HANDLE(buffer, command_body->enable, buffer_space);
+       marshal_u8(buffer, command_body->state, buffer_space);
+}
+
+static void marshal_get_capability(void **buffer,
+                                  struct tpm2_get_capability_cmd
+                                      *command_body,
+                                  int *buffer_space)
+{
+       tpm_tag = TPM_ST_NO_SESSIONS;
+
+       marshal_u32(buffer, command_body->capability, buffer_space);
+       marshal_u32(buffer, command_body->property, buffer_space);
+       marshal_u32(buffer, command_body->property_count, buffer_space);
+}
+
+static void marshal_get_random(void **buffer, struct tpm2_get_random_cmd
+                                      *command_body,
+                                  int *buffer_space)
+{
+       tpm_tag = TPM_ST_NO_SESSIONS;
+
+       marshal_u16(buffer, command_body->bytes_requested, buffer_space);
+}
+
+static void marshal_clear(void **buffer,
+                         void *command_body,
+                         int *buffer_space)
+{
+       struct tpm2_session_header session_header;
+
+       tpm_tag = TPM_ST_SESSIONS;
+       marshal_TPM_HANDLE(buffer, TPM_RH_PLATFORM, buffer_space);
+       memset(&session_header, 0, sizeof(session_header));
+       session_header.session_handle = TPM_RS_PW;
+       marshal_session_header(buffer, &session_header, buffer_space);
+}
+
+static void marshal_self_test(void **buffer,
+                             struct tpm2_self_test_cmd *command_body,
+                             int *buffer_space)
+{
+       tpm_tag = TPM_ST_NO_SESSIONS;
+
+       marshal_u8(buffer, command_body->full_test, buffer_space);
+}
+
+static void marshal_startup(void **buffer,
+                           struct tpm2_startup_cmd *command_body,
+                           int *buffer_space)
+{
+       tpm_tag = TPM_ST_NO_SESSIONS;
+
+       marshal_TPM_SU(buffer, command_body->startup_type, buffer_space);
+}
+
+static void marshal_shutdown(void **buffer,
+                            struct tpm2_shutdown_cmd *command_body,
+                            int *buffer_space)
+{
+       tpm_tag = TPM_ST_NO_SESSIONS;
+
+       marshal_TPM_SU(buffer, command_body->shutdown_type, buffer_space);
+}
+
+static void marshal_TPMT_HA(void **buffer,
+                           TPMT_HA *data,
+                           int *buffer_space)
+{
+       if (data->hashAlg != TPM_ALG_SHA256)
+       {
+               VB2_DEBUG("Unsupported TPMT_HA hash algorithm: %#x\n",
+                         data->hashAlg);
+               *buffer_space = -1;
+               return;
+       }
+       marshal_TPMI_ALG_HASH(buffer, data->hashAlg, buffer_space);
+       /* We only support SHA256 now. */
+       marshal_blob(buffer, data->digest.sha256,
+                    SHA256_DIGEST_SIZE, buffer_space);
+}
+
+static void marshal_TPML_DIGEST_VALUES(void **buffer,
+                                      TPML_DIGEST_VALUES *data,
+                                      int *buffer_space)
+{
+       int i;
+
+       marshal_u32(buffer, data->count, buffer_space);
+       for (i = 0; i < data->count; i++)
+               marshal_TPMT_HA(buffer, &data->digests[i], buffer_space);
+}
+
+static void marshal_pcr_extend(void **buffer,
+                              struct tpm2_pcr_extend_cmd *command_body,
+                              int *buffer_space)
+{
+       struct tpm2_session_header session_header;
+
+       tpm_tag = TPM_ST_SESSIONS;
+       marshal_TPM_HANDLE(buffer, command_body->pcrHandle, buffer_space);
+       memset(&session_header, 0, sizeof(session_header));
+       session_header.session_handle = TPM_RS_PW;
+       marshal_session_header(buffer, &session_header, buffer_space);
+       marshal_TPML_DIGEST_VALUES(buffer, &command_body->digests, buffer_space);
+}
+
+int tpm_marshal_command(TPM_CC command, void *tpm_command_body,
+                       void *buffer, int buffer_size)
+{
+       void *cmd_body = (uint8_t *)buffer + sizeof(struct tpm_header);
+       int max_body_size = buffer_size - sizeof(struct tpm_header);
+       int body_size = max_body_size;
+
+       /* Will be modified when marshaling some commands. */
+       tpm_tag = TPM_ST_NO_SESSIONS;
+
+       switch (command) {
+
+       case TPM2_NV_DefineSpace:
+               marshal_nv_define_space(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_NV_UndefineSpace:
+               marshal_nv_undefine_space(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_NV_Read:
+               marshal_nv_read(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_NV_Write:
+               marshal_nv_write(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_NV_ReadLock:
+               marshal_nv_read_lock(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_NV_WriteLock:
+               marshal_nv_write_lock(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_NV_ReadPublic:
+               marshal_nv_read_public(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_Hierarchy_Control:
+               marshal_hierarchy_control(&cmd_body,
+                                         tpm_command_body, &body_size);
+               break;
+
+       case TPM2_GetCapability:
+               marshal_get_capability(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_GetRandom:
+               marshal_get_random(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_Clear:
+               marshal_clear(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_SelfTest:
+               marshal_self_test(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_Startup:
+               marshal_startup(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_Shutdown:
+               marshal_shutdown(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       case TPM2_PCR_Extend:
+               marshal_pcr_extend(&cmd_body, tpm_command_body, &body_size);
+               break;
+
+       default:
+               body_size = -1;
+               VB2_DEBUG("Request to marshal unsupported command %#x\n",
+                         command);
+       }
+
+       if (body_size > 0) {
+
+               /* See how much room was taken by marshaling. */
+               body_size = max_body_size - body_size;
+
+               body_size += sizeof(struct tpm_header);
+
+               marshal_u16(&buffer, tpm_tag, &max_body_size);
+               marshal_u32(&buffer, body_size, &max_body_size);
+               marshal_u32(&buffer, command, &max_body_size);
+       }
+
+       return body_size;
+}
+
+int tpm_unmarshal_response(TPM_CC command,
+                          void *response_body,
+                          int cr_size,
+                          struct tpm2_response *response)
+{
+       if (cr_size < sizeof(struct tpm_header))
+               return -1;
+
+       response->hdr.tpm_tag = unmarshal_u16(&response_body, &cr_size);
+       response->hdr.tpm_size = unmarshal_u32(&response_body, &cr_size);
+       response->hdr.tpm_code = unmarshal_u32(&response_body, &cr_size);
+
+       if (!cr_size) {
+               if (response->hdr.tpm_size != sizeof(response->hdr))
+                       VB2_DEBUG("size mismatch in response to command %#x\n",
+                                 command);
+               return 0;
+       }
+
+       switch (command) {
+       case TPM2_NV_Read:
+               unmarshal_nv_read(&response_body, &cr_size,
+                                 &response->nvr);
+               break;
+
+       case TPM2_NV_ReadPublic:
+               unmarshal_nv_read_public(&response_body, &cr_size,
+                                        &response->nv_read_public);
+               break;
+
+       case TPM2_GetCapability:
+               unmarshal_get_capability(&response_body, &cr_size,
+                                        &response->cap);
+               break;
+
+       case TPM2_GetRandom:
+               unmarshal_get_random(&response_body, &cr_size,
+                                    &response->random);
+               break;
+
+       case TPM2_Hierarchy_Control:
+       case TPM2_NV_Write:
+       case TPM2_NV_WriteLock:
+       case TPM2_NV_ReadLock:
+       case TPM2_Clear:
+       case TPM2_SelfTest:
+       case TPM2_Startup:
+       case TPM2_Shutdown:
+       case TPM2_NV_DefineSpace:
+       case TPM2_NV_UndefineSpace:
+       case TPM2_PCR_Extend:
+               /* Session data included in response can be safely ignored. */
+               cr_size = 0;
+               break;
+
+       default:
+               {
+                       int i;
+
+                       VB2_DEBUG("Request to unmarshal unexpected command %#x,"
+                                 " code %#x",
+                                 command,
+                                 response->hdr.tpm_code);
+
+                       for (i = 0; i < cr_size; i++) {
+                               if (!(i % 16))
+                                       VB2_DEBUG_RAW("\n");
+                               VB2_DEBUG_RAW("%2.2x ",
+                                             ((uint8_t *)response_body)[i]);
+                       }
+               }
+               VB2_DEBUG("\n");
+               return -1;
+       }
+
+       if (cr_size) {
+               VB2_DEBUG("got %d bytes back in response to %#x,"
+                         " failed to parse (%d)\n",
+                         response->hdr.tpm_size,
+                         command, cr_size);
+               return -1;
+       }
+
+       /* The entire message have been parsed. */
+       return 0;
+}
+
+uint32_t tpm_get_packet_size(const uint8_t *packet)
+{
+       /* 0: tag (16 bit)
+        * 2: size (32 bit)
+        */
+       return read_be32(packet + 2);
+}
+
+uint32_t tpm_get_packet_response_code(const uint8_t *packet)
+{
+       /* 0: tag (16 bit)
+        * 2: size (32 bit)
+        * 6: resp code (32 bit)
+        */
+       return read_be32(packet + 6);
+}
+
+void tpm_set_ph_disabled(int flag)
+{
+       ph_disabled = flag;
+}
+
+int tpm_is_ph_disabled(void)
+{
+       return ph_disabled;
+}
diff --git a/firmware/lib/tpm2_lite/tlcl.c b/firmware/lib/tpm2_lite/tlcl.c
new file mode 100644 (file)
index 0000000..b91119b
--- /dev/null
@@ -0,0 +1,685 @@
+/* Copyright 2016 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Some TPM constants and type definitions for standalone compilation for use
+ * in the firmware
+ */
+
+#include "2common.h"
+#include "2sysincludes.h"
+#include "tlcl.h"
+#include "tpm2_marshaling.h"
+
+/*
+ * TODO(chromium:1032930): Originally accessed by including secdata_tpm.h.
+ * This file moved to depthcharge, and vboot shouldn't need to know the indices
+ * of different TPM spaces anyways.  But since the vboot TPM 2.0 implementation
+ * uses TPM 1.2 primitives as its API, TlclSetGlobalLock (TPM 1.2) needs to use
+ * the firmware space index to emulate a TlclWriteLock call (TPM 2.0).
+ */
+#define FIRMWARE_NV_INDEX 0x1007
+
+/* Global buffer for deserialized responses. */
+struct tpm2_response tpm2_resp;
+
+/*
+ * Serializes and sends the command, gets back the response and
+ * parses it into the provided buffer.
+ *
+ * @command: command code.
+ * @command_body: command-specific payload.
+ * @response: pointer to the buffer to place the parsed response to.
+ *
+ * Returns the result of processing the command:
+ *   - if an error happened at marshaling, sending, receiving or unmarshaling
+ *     stages, returns the error code;
+ *   - if the received response was successfully unmarshaled, returns success
+ *     regardless of the received response code.
+ */
+static uint32_t tpm_get_response(TPM_CC command,
+                                void *command_body,
+                                struct tpm2_response *response)
+{
+       /* Command/response buffer. */
+       static uint8_t cr_buffer[TPM_BUFFER_SIZE];
+       int out_size;
+       uint32_t res;
+       uint32_t in_size;
+
+       out_size = tpm_marshal_command(command, command_body,
+                                      cr_buffer, sizeof(cr_buffer));
+       if (out_size < 0) {
+               VB2_DEBUG("command %#x, failed to serialize\n", command);
+               return TPM_E_WRITE_FAILURE;
+       }
+
+       in_size = sizeof(cr_buffer);
+       res = vb2ex_tpm_send_recv(cr_buffer, out_size, cr_buffer, &in_size);
+       if (res != TPM_SUCCESS) {
+               VB2_DEBUG("tpm transaction failed for %#x with error %#x\n",
+                         command, res);
+               return res;
+       }
+
+       if (tpm_unmarshal_response(command, cr_buffer, in_size, response) < 0) {
+               VB2_DEBUG("command %#x, failed to parse response\n", command);
+               return TPM_E_READ_FAILURE;
+       }
+
+       VB2_DEBUG("command %#x, return code %#x\n", command,
+                 response->hdr.tpm_code);
+
+       return TPM_SUCCESS;
+}
+
+/*
+ * Same as tpm_get_response() but, if the response was successfully received,
+ * returns the received response code. The set of errors returned by the
+ * communication stack doesn't overlap with the set of errors returned by the
+ * TPM, so it's always possible to distinguish the two. In case of communication
+ * errors, the caller should not check other fields of response, as the response
+ * is likely not filled. In any case, it is recommended that callers, who need
+ * to work with response fields even if a non-zero response code was received
+ * from the TPM, use tpm_get_response() and explicitly check the response code
+ * themselves.
+ */
+static uint32_t tpm_send_receive(TPM_CC command,
+                                void *command_body,
+                                struct tpm2_response *response)
+{
+       uint32_t rv = tpm_get_response(command, command_body, response);
+
+       return rv ? rv : response->hdr.tpm_code;
+}
+
+/*
+ * Same as tpm_send_receive() for callers that care only about the return code.
+ */
+static uint32_t tpm_get_response_code(TPM_CC command, void *command_body)
+{
+       return tpm_send_receive(command, command_body, &tpm2_resp);
+}
+
+static uint32_t tlcl_read_ph_disabled(void)
+{
+       uint32_t rv;
+       TPM_STCLEAR_FLAGS flags;
+
+       rv = TlclGetSTClearFlags(&flags);
+       if (rv == TPM_SUCCESS)
+               tpm_set_ph_disabled(!flags.phEnable);
+
+       return rv;
+}
+
+uint32_t TlclLibInit(void)
+{
+       uint32_t rv;
+
+       rv = vb2ex_tpm_init();
+       if (rv != TPM_SUCCESS)
+               return rv;
+
+       rv = tlcl_read_ph_disabled();
+       if (rv != TPM_SUCCESS)
+               TlclLibClose();
+
+       return rv;
+}
+
+uint32_t TlclLibClose(void)
+{
+       return vb2ex_tpm_close();
+}
+
+uint32_t TlclSendReceive(const uint8_t *request, uint8_t *response,
+                        int max_length)
+{
+       uint32_t rv, resp_size;
+
+       resp_size = max_length;
+       rv = vb2ex_tpm_send_recv(request, tpm_get_packet_size(request),
+                                response, &resp_size);
+
+       return rv ? rv : tpm_get_packet_response_code(response);
+}
+
+int TlclPacketSize(const uint8_t *packet)
+{
+       return tpm_get_packet_size(packet);
+}
+
+uint32_t TlclStartup(void)
+{
+       struct tpm2_startup_cmd startup;
+
+       startup.startup_type = TPM_SU_CLEAR;
+
+       return tpm_get_response_code(TPM2_Startup, &startup);
+}
+
+uint32_t TlclSaveState(void)
+{
+       struct tpm2_shutdown_cmd shutdown;
+
+       shutdown.shutdown_type = TPM_SU_STATE;
+
+       return tpm_get_response_code(TPM2_Shutdown, &shutdown);
+}
+
+uint32_t TlclResume(void)
+{
+       struct tpm2_startup_cmd startup;
+
+       startup.startup_type = TPM_SU_STATE;
+
+       return tpm_get_response_code(TPM2_Startup, &startup);
+}
+
+uint32_t TlclSelfTestFull(void)
+{
+       struct tpm2_self_test_cmd self_test;
+
+       self_test.full_test = 1;
+
+       return tpm_get_response_code(TPM2_SelfTest, &self_test);
+}
+
+uint32_t TlclContinueSelfTest(void)
+{
+       struct tpm2_self_test_cmd self_test;
+
+       self_test.full_test = 0;
+
+       return tpm_get_response_code(TPM2_SelfTest, &self_test);
+}
+
+uint32_t TlclDefineSpace(uint32_t index, uint32_t perm, uint32_t size)
+{
+       return TlclDefineSpaceEx(NULL, 0, index, perm, size, NULL, 0);
+}
+
+#ifdef CHROMEOS_ENVIRONMENT
+
+uint32_t TlclUndefineSpace(uint32_t index)
+{
+       return TlclUndefineSpaceEx(NULL, 0, index);
+}
+
+uint32_t TlclUndefineSpaceEx(const uint8_t* owner_auth,
+                            uint32_t owner_auth_size,
+                            uint32_t index)
+{
+       struct tpm2_nv_undefine_space_cmd undefine_space;
+       uint32_t permissions;
+       uint32_t rv;
+
+       /* Authentication support is not implemented. */
+       VB2_ASSERT(owner_auth == NULL && owner_auth_size == 0);
+
+       /* get the publicInfo of index */
+       rv = TlclGetPermissions(index, &permissions);
+       if (rv != TPM_SUCCESS) {
+               return rv;
+       }
+       undefine_space.nvIndex = HR_NV_INDEX + index;
+       undefine_space.use_platform_auth =
+               (permissions & TPMA_NV_PLATFORMCREATE) > 0;
+       return tpm_get_response_code(TPM2_NV_UndefineSpace, &undefine_space);
+}
+
+#endif  /* CHROMEOS_ENVIRONMENT */
+
+uint32_t TlclDefineSpaceEx(const uint8_t* owner_auth, uint32_t owner_auth_size,
+                          uint32_t index, uint32_t perm, uint32_t size,
+                          const void* auth_policy, uint32_t auth_policy_size)
+{
+       struct tpm2_nv_define_space_cmd define_space;
+
+       /* Authentication support is not implemented. */
+       VB2_ASSERT(owner_auth == NULL && owner_auth_size == 0);
+
+       /* For backwards-compatibility, if no READ or WRITE permissions are set,
+        * assume readable/writeable with empty auth value.
+        */
+       if (!(perm & TPMA_NV_MASK_WRITE))
+               perm |= TPMA_NV_AUTHWRITE;
+       if (!(perm & TPMA_NV_MASK_READ))
+               perm |= TPMA_NV_AUTHREAD;
+
+       memset(&define_space, 0, sizeof(define_space));
+       define_space.publicInfo.nvIndex = HR_NV_INDEX + index;
+       define_space.publicInfo.dataSize = size;
+       define_space.publicInfo.attributes = perm;
+       define_space.publicInfo.nameAlg = TPM_ALG_SHA256;
+       if (auth_policy && auth_policy_size > 0) {
+               define_space.publicInfo.authPolicy.size = auth_policy_size;
+               define_space.publicInfo.authPolicy.buffer =
+                               (uint8_t*) auth_policy;
+       }
+
+       return tpm_get_response_code(TPM2_NV_DefineSpace, &define_space);
+}
+
+uint32_t TlclInitNvAuthPolicy(uint32_t pcr_selection_bitmap,
+                             const uint8_t pcr_values[][TPM_PCR_DIGEST],
+                             void* auth_policy, uint32_t* auth_policy_size)
+{
+       /* Actual PCR selection isn't implemented. */
+       VB2_ASSERT(pcr_selection_bitmap == 0);
+       *auth_policy_size = 0;
+       return TPM_SUCCESS;
+}
+
+/**
+ * Issue a ForceClear.  The TPM error code is returned.
+ */
+uint32_t TlclForceClear(void)
+{
+       return tpm_get_response_code(TPM2_Clear, NULL);
+}
+
+uint32_t TlclSetDeactivated(uint8_t flag)
+{
+       VB2_DEBUG("NOT YET IMPLEMENTED\n");
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclSetEnable(void)
+{
+       VB2_DEBUG("NOT YET IMPLEMENTED\n");
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclGetFlags(uint8_t* disable,
+                     uint8_t* deactivated,
+                     uint8_t *nvlocked)
+{
+       /* For TPM2 the flags are always the same */
+       if (disable)
+               *disable = 0;
+       if (deactivated)
+               *deactivated = 0;
+       if (nvlocked)
+               *nvlocked = 1;
+       return TPM_SUCCESS;
+}
+
+int TlclIsOwned(void)
+{
+       VB2_DEBUG("NOT YET IMPLEMENTED\n");
+       return 0;
+}
+
+uint32_t TlclExtend(int pcr_num, const uint8_t *in_digest, uint8_t *out_digest)
+{
+       struct tpm2_pcr_extend_cmd pcr_ext_cmd;
+
+       pcr_ext_cmd.pcrHandle = HR_PCR + pcr_num;
+       pcr_ext_cmd.digests.count = 1;
+       pcr_ext_cmd.digests.digests[0].hashAlg = TPM_ALG_SHA256;
+       memcpy(pcr_ext_cmd.digests.digests[0].digest.sha256, in_digest,
+              sizeof(pcr_ext_cmd.digests.digests[0].digest.sha256));
+
+       return tpm_get_response_code(TPM2_PCR_Extend, &pcr_ext_cmd);
+}
+
+
+static uint32_t tlcl_nv_read_public(uint32_t index,
+                                   struct nv_read_public_response **presp)
+{
+       struct tpm2_response *response = &tpm2_resp;
+       struct tpm2_nv_read_public_cmd read_pub;
+       uint32_t rv;
+
+       memset(&read_pub, 0, sizeof(read_pub));
+       read_pub.nvIndex = HR_NV_INDEX + index;
+
+       rv = tpm_send_receive(TPM2_NV_ReadPublic, &read_pub, response);
+       if (rv == TPM_SUCCESS)
+               *presp = &response->nv_read_public;
+
+       return rv;
+}
+
+/**
+ * Get the permission bits for the NVRAM space with |index|.
+ */
+uint32_t TlclGetPermissions(uint32_t index, uint32_t *permissions)
+{
+       uint32_t rv;
+       struct nv_read_public_response *resp;
+
+       rv = tlcl_nv_read_public(index, &resp);
+       if (rv == TPM_SUCCESS)
+               *permissions = resp->nvPublic.attributes;
+
+       return rv;
+}
+
+uint32_t TlclGetSpaceInfo(uint32_t index, uint32_t *attributes, uint32_t *size,
+                         void* auth_policy, uint32_t* auth_policy_size)
+{
+       uint32_t rv;
+       struct nv_read_public_response *resp;
+
+       rv = tlcl_nv_read_public(index, &resp);
+       if (rv != TPM_SUCCESS)
+               return rv;
+
+       *attributes = resp->nvPublic.attributes;
+       *size = resp->nvPublic.dataSize;
+       if (resp->nvPublic.authPolicy.size > *auth_policy_size) {
+               return TPM_E_BUFFER_SIZE;
+       }
+
+       *auth_policy_size = resp->nvPublic.authPolicy.size;
+       memcpy(auth_policy, resp->nvPublic.authPolicy.buffer,
+              *auth_policy_size);
+
+       return TPM_SUCCESS;
+}
+
+static uint32_t tlcl_get_capability(TPM_CAP cap, TPM_PT property,
+                                   struct get_capability_response **presp)
+{
+       struct tpm2_response *response = &tpm2_resp;
+       struct tpm2_get_capability_cmd getcap;
+       uint32_t rv;
+
+       getcap.capability = cap;
+       getcap.property = property;
+       getcap.property_count = 1;
+
+       rv = tpm_send_receive(TPM2_GetCapability, &getcap, response);
+       if (rv == TPM_SUCCESS)
+               *presp = &response->cap;
+
+       return rv;
+}
+
+static uint32_t tlcl_get_tpm_property(TPM_PT property, uint32_t *pvalue)
+{
+       uint32_t rv;
+       struct get_capability_response *resp;
+       TPML_TAGGED_TPM_PROPERTY *tpm_prop;
+
+       rv = tlcl_get_capability(TPM_CAP_TPM_PROPERTIES, property, &resp);
+       if (rv != TPM_SUCCESS)
+               return rv;
+
+       if (resp->capability_data.capability != TPM_CAP_TPM_PROPERTIES)
+               return TPM_E_IOERROR;
+
+       tpm_prop = &resp->capability_data.data.tpm_properties;
+
+       if ((tpm_prop->count != 1) ||
+           (tpm_prop->tpm_property[0].property != property))
+               return TPM_E_IOERROR;
+
+       *pvalue = tpm_prop->tpm_property[0].value;
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclGetPermanentFlags(TPM_PERMANENT_FLAGS *pflags)
+{
+       return tlcl_get_tpm_property(TPM_PT_PERMANENT,
+                                    (uint32_t *)pflags);
+}
+
+uint32_t TlclGetSTClearFlags(TPM_STCLEAR_FLAGS *pflags)
+{
+       return tlcl_get_tpm_property(TPM_PT_STARTUP_CLEAR,
+                                    (uint32_t *)pflags);
+}
+
+uint32_t TlclGetOwnership(uint8_t *owned)
+{
+       uint32_t rv;
+       TPM_PERMANENT_FLAGS flags;
+       *owned = 0;
+
+       rv = TlclGetPermanentFlags(&flags);
+       if (rv == TPM_SUCCESS)
+               *owned = flags.ownerAuthSet;
+
+       return rv;
+}
+
+static uint32_t tlcl_lock_nv_write(uint32_t index)
+{
+       struct tpm2_nv_write_lock_cmd nv_wl;
+
+       nv_wl.nvIndex = HR_NV_INDEX + index;
+       return tpm_get_response_code(TPM2_NV_WriteLock, &nv_wl);
+}
+
+static uint32_t tlcl_disable_platform_hierarchy(void)
+{
+       struct tpm2_hierarchy_control_cmd hc;
+       uint32_t rv;
+
+       hc.enable = TPM_RH_PLATFORM;
+       hc.state = 0;
+
+       rv = tpm_get_response_code(TPM2_Hierarchy_Control, &hc);
+       if (rv == TPM_SUCCESS)
+               tpm_set_ph_disabled(1);
+
+       return rv;
+}
+
+/**
+ * The name of the function was kept to maintain the existing TPM API, but
+ * TPM2.0 does not use the global lock to protect the FW rollback counter.
+ * Instead it calls WriteLock for the FW NVRAM index to prevent future
+ * writes to it.
+ *
+ * It first checks if the platform hierarchy is already disabled, and does
+ * nothing, if so. Otherwise, WriteLock for the index obviously fails.
+ */
+uint32_t TlclSetGlobalLock(void)
+{
+       if (tpm_is_ph_disabled())
+               return TPM_SUCCESS;
+       else
+               return tlcl_lock_nv_write(FIRMWARE_NV_INDEX);
+}
+
+/**
+ * Turn off physical presence and locks it off until next reboot.  The TPM
+ * error code is returned.
+ *
+ * The name of the function was kept to maintain the existing TPM API, but
+ * TPM2.0 does not have to use the Physical Presence concept. Instead it just
+ * removes platform authorization - this makes sure that firmware and kernel
+ * rollback counter spaces can not be modified.
+ *
+ * It also explicitly locks the kernel rollback counter space (the FW rollback
+ * counter space was locked before RW firmware started.)
+ */
+uint32_t TlclLockPhysicalPresence(void)
+{
+       if (tpm_is_ph_disabled())
+               return TPM_SUCCESS;
+
+       return tlcl_disable_platform_hierarchy();
+}
+
+uint32_t TlclRead(uint32_t index, void* data, uint32_t length)
+{
+       struct tpm2_nv_read_cmd nv_readc;
+       struct tpm2_response *response = &tpm2_resp;
+       uint32_t rv;
+
+       memset(&nv_readc, 0, sizeof(nv_readc));
+
+       nv_readc.nvIndex = HR_NV_INDEX + index;
+       nv_readc.size = length;
+
+       rv = tpm_send_receive(TPM2_NV_Read, &nv_readc, response);
+
+       /* Need to map tpm error codes into internal values. */
+       switch (rv) {
+       case TPM_SUCCESS:
+               break;
+
+       case 0x28b:
+               return TPM_E_BADINDEX;
+
+       default:
+               return rv;
+       }
+
+       if (length > response->nvr.buffer.t.size)
+               return TPM_E_RESPONSE_TOO_LARGE;
+
+       if (length < response->nvr.buffer.t.size)
+               return TPM_E_READ_EMPTY;
+
+       memcpy(data, response->nvr.buffer.t.buffer, length);
+
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclWrite(uint32_t index, const void *data, uint32_t length)
+{
+       struct tpm2_nv_write_cmd nv_writec;
+
+       memset(&nv_writec, 0, sizeof(nv_writec));
+
+       nv_writec.nvIndex = HR_NV_INDEX + index;
+       nv_writec.data.t.size = length;
+       nv_writec.data.t.buffer = data;
+
+       return tpm_get_response_code(TPM2_NV_Write, &nv_writec);
+}
+
+uint32_t TlclPCRRead(uint32_t index, void *data, uint32_t length)
+{
+       VB2_DEBUG("NOT YET IMPLEMENTED\n");
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclWriteLock(uint32_t index)
+{
+       struct tpm2_nv_write_lock_cmd nv_writelockc;
+
+       memset(&nv_writelockc, 0, sizeof(nv_writelockc));
+
+       nv_writelockc.nvIndex = HR_NV_INDEX | index;
+
+       return tpm_get_response_code(TPM2_NV_WriteLock, &nv_writelockc);
+}
+
+uint32_t TlclReadLock(uint32_t index)
+{
+       struct tpm2_nv_read_lock_cmd nv_readlockc;
+
+       memset(&nv_readlockc, 0, sizeof(nv_readlockc));
+
+       nv_readlockc.nvIndex = HR_NV_INDEX | index;
+
+       return tpm_get_response_code(TPM2_NV_ReadLock, &nv_readlockc);
+}
+
+uint32_t TlclGetRandom(uint8_t *data, uint32_t length, uint32_t *size)
+{
+       uint32_t rv;
+       struct tpm2_get_random_cmd random;
+       struct get_random_response *response = &tpm2_resp.random;
+       size_t max_len, offset;
+
+       offset = offsetof(struct tpm2_response, random.random_bytes.buffer);
+       max_len = TPM_BUFFER_SIZE - offset;
+
+       if (length > max_len)
+               return TPM_E_BUFFER_SIZE;
+
+       random.bytes_requested = length;
+
+       rv = tpm_send_receive(TPM2_GetRandom, &random, &tpm2_resp);
+       if (rv != TPM_SUCCESS)
+               return rv;
+
+       *size = response->random_bytes.size;
+       if (*size > length)
+               return TPM_E_RESPONSE_TOO_LARGE;
+
+       memcpy(data, response->random_bytes.buffer, *size);
+
+       return rv;
+}
+
+// Converts TPM_PT_VENDOR_STRING_x |value| to an array of bytes in |buf|.
+// Returns the number of bytes in the array.
+// |buf| should be at least 4 bytes long.
+static size_t tlcl_vendor_string_parse(uint32_t value, uint8_t* buf)
+{
+       size_t len = 0;
+       int shift = 24;
+       for (; len < 4; shift -= 8) {
+               uint8_t byte = (value >> shift) & 0xffu;
+               if (!byte)
+                       break;
+               buf[len++] = byte;
+       }
+       return len;
+}
+
+uint32_t TlclGetVersion(uint32_t* vendor, uint64_t* firmware_version,
+                       uint8_t* vendor_specific_buf,
+                       size_t* vendor_specific_buf_size)
+{
+       uint32_t result =  tlcl_get_tpm_property(TPM_PT_MANUFACTURER, vendor);
+       if (result != TPM_SUCCESS)
+               return result;
+
+       uint32_t version_1;
+       uint32_t version_2;
+       result = tlcl_get_tpm_property(TPM_PT_FIRMWARE_VERSION_1, &version_1);
+       if (result != TPM_SUCCESS)
+               return result;
+       result = tlcl_get_tpm_property(TPM_PT_FIRMWARE_VERSION_2, &version_2);
+       if (result != TPM_SUCCESS)
+               return result;
+
+       *firmware_version = ((uint64_t) version_1 << 32) | version_2;
+
+       if (!vendor_specific_buf_size)
+               return TPM_SUCCESS;
+
+       size_t total_size = 0;
+       uint32_t prop_id;
+       uint8_t prop_string[16];
+       for (prop_id = TPM_PT_VENDOR_STRING_1;
+            prop_id <= TPM_PT_VENDOR_STRING_4;
+            ++prop_id) {
+               uint32_t prop_value;
+               result = tlcl_get_tpm_property(prop_id, &prop_value);
+               if (result != TPM_SUCCESS)
+                       break;
+
+               size_t prop_len = tlcl_vendor_string_parse(
+                               prop_value, prop_string + total_size);
+               VB2_ASSERT(prop_len <= 4 &&
+                          total_size + prop_len <= sizeof(prop_string));
+               total_size += prop_len;
+               if (prop_len < 4)
+                       break;
+       }
+       if (vendor_specific_buf) {
+               if (total_size > *vendor_specific_buf_size)
+                       total_size = *vendor_specific_buf_size;
+               memcpy(vendor_specific_buf, prop_string, total_size);
+       }
+       *vendor_specific_buf_size = total_size;
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclIFXFieldUpgradeInfo(TPM_IFX_FIELDUPGRADEINFO* info)
+{
+       VB2_DEBUG("NOT YET IMPLEMENTED\n");
+       return TPM_E_IOERROR;
+}
diff --git a/firmware/lib/tpm_lite/OWNERS b/firmware/lib/tpm_lite/OWNERS
new file mode 100644 (file)
index 0000000..eda9c5e
--- /dev/null
@@ -0,0 +1,3 @@
+apronin@chromium.org
+rspangler@chromium.org
+vbendeb@chromium.org
diff --git a/firmware/lib/tpm_lite/include/tlcl_internal.h b/firmware/lib/tpm_lite/include/tlcl_internal.h
new file mode 100644 (file)
index 0000000..51557d9
--- /dev/null
@@ -0,0 +1,87 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_TLCL_INTERNAL_H_
+#define VBOOT_REFERENCE_TLCL_INTERNAL_H_
+
+/*
+ * These numbers derive from adding the sizes of command fields as shown in the
+ * TPM commands manual.
+ */
+#define kTpmRequestHeaderLength 10
+#define kTpmResponseHeaderLength 10
+#define kTpmReadInfoLength 12
+#define kEncAuthLength 20
+#define kPcrDigestLength 20
+#define kTpmRequestAuthBlockLength \
+       (sizeof(uint32_t) + sizeof(TPM_NONCE) + 1 + TPM_AUTH_DATA_LEN)
+#define kTpmResponseAuthBlockLength (sizeof(TPM_NONCE) + 1 + TPM_AUTH_DATA_LEN)
+
+
+/*
+ * Conversion functions.  ToTpmTYPE puts a value of type TYPE into a TPM
+ * command buffer.  FromTpmTYPE gets a value of type TYPE from a TPM command
+ * buffer into a variable. ReadTpmTYPE reads a value of type TYPE from a buffer
+ * and advances the buffer pointer to after the field.
+ */
+__attribute__((unused))
+static inline void ToTpmUint32(uint8_t *buffer, uint32_t x) {
+       buffer[0] = (uint8_t)(x >> 24);
+       buffer[1] = (uint8_t)((x >> 16) & 0xff);
+       buffer[2] = (uint8_t)((x >> 8) & 0xff);
+       buffer[3] = (uint8_t)(x & 0xff);
+}
+
+/*
+ * See comment for above function.
+ */
+__attribute__((unused))
+static inline void FromTpmUint32(const uint8_t *buffer, uint32_t *x) {
+       *x = (((uint32_t)buffer[0] << 24) |
+             (buffer[1] << 16) |
+             (buffer[2] << 8) |
+             buffer[3]);
+}
+
+/*
+ * See comment for above function.
+ */
+__attribute__((unused))
+static inline uint32_t ReadTpmUint32(const uint8_t **buffer) {
+       uint32_t value;
+       FromTpmUint32(*buffer, &value);
+       *buffer += sizeof(value);
+       return value;
+}
+
+/*
+ * See comment for above function.
+ */
+__attribute__((unused))
+static inline void ToTpmUint16(uint8_t *buffer, uint16_t x) {
+       buffer[0] = (uint8_t)(x >> 8);
+       buffer[1] = (uint8_t)(x & 0xff);
+}
+
+/*
+ * See comment for above function.
+ */
+__attribute__((unused))
+static inline void FromTpmUint16(const uint8_t *buffer, uint16_t *x) {
+       *x = (buffer[0] << 8) | buffer[1];
+}
+
+/*
+ * See comment for above function.
+ */
+__attribute__((unused))
+static inline uint16_t ReadTpmUint16(const uint8_t **buffer) {
+       uint16_t value;
+       FromTpmUint16(*buffer, &value);
+       *buffer += sizeof(value);
+       return value;
+}
+
+#endif  /* VBOOT_REFERENCE_TLCL_INTERNAL_H_ */
diff --git a/firmware/lib/tpm_lite/include/tlcl_structures.h b/firmware/lib/tpm_lite/include/tlcl_structures.h
new file mode 100644 (file)
index 0000000..7356c43
--- /dev/null
@@ -0,0 +1,181 @@
+/* This file is automatically generated */
+
+const struct s_tpm_delegate_read_table_cmd{
+       uint8_t buffer[10];
+} tpm_delegate_read_table_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0xdb, },
+};
+
+const struct s_tpm_create_delegation_family_cmd{
+       uint8_t buffer[23];
+       uint16_t familyLabel;
+} tpm_create_delegation_family_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x17, 0x0, 0x0, 0x0, 0xd2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, },
+22, };
+
+const struct s_tpm_takeownership_cmd{
+       uint8_t buffer[624];
+       uint16_t encOwnerAuth;
+       uint16_t encSrkAuth;
+} tpm_takeownership_cmd = {{0x0, 0xc2, 0x0, 0x0, 0x2, 0x70, 0x0, 0x0, 0x0, 0xd, 0x0, 0x5, 0x0, 0x0, 0x1, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0, 0x0, 0x1, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0, 0x28, 0x0, 0x0, 0x0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, },
+16, 276, };
+
+const struct s_tpm_osap_cmd{
+       uint8_t buffer[36];
+       uint16_t entityType;
+       uint16_t entityValue;
+       uint16_t nonceOddOSAP;
+} tpm_osap_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x24, 0x0, 0x0, 0x0, 0xb, },
+10, 12, 16, };
+
+const struct s_tpm_oiap_cmd{
+       uint8_t buffer[10];
+} tpm_oiap_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0xa, },
+};
+
+const struct s_tpm_ifx_fieldupgradeinforequest2_cmd{
+       uint8_t buffer[13];
+} tpm_ifx_fieldupgradeinforequest2_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0, 0x0, 0xaa, 0x11, 0x0, 0x0, },
+};
+
+const struct s_tpm_getversionval_cmd{
+       uint8_t buffer[18];
+} tpm_getversionval_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x12, 0x0, 0x0, 0x0, 0x65, 0x0, 0x0, 0x0, 0x1a, 0x0, 0x0, 0x0, 0x0, },
+};
+
+const struct s_tpm_extend_cmd{
+       uint8_t buffer[34];
+       uint16_t pcrNum;
+       uint16_t inDigest;
+} tpm_extend_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x22, 0x0, 0x0, 0x0, 0x14, },
+10, 14, };
+
+const struct s_tpm_get_random_cmd{
+       uint8_t buffer[14];
+       uint16_t bytesRequested;
+} tpm_get_random_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x46, },
+10, };
+
+const struct s_tpm_getownership_cmd{
+       uint8_t buffer[22];
+} tpm_getownership_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x0, 0x0, 0x65, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x1, 0x11, },
+};
+
+const struct s_tpm_getspaceinfo_cmd{
+       uint8_t buffer[22];
+       uint16_t index;
+} tpm_getspaceinfo_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x0, 0x0, 0x65, 0x0, 0x0, 0x0, 0x11, 0x0, 0x0, 0x0, 0x4, },
+18, };
+
+const struct s_tpm_getstclearflags_cmd{
+       uint8_t buffer[22];
+} tpm_getstclearflags_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x0, 0x0, 0x65, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x1, 0x9, },
+};
+
+const struct s_tpm_getflags_cmd{
+       uint8_t buffer[22];
+} tpm_getflags_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x0, 0x0, 0x65, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x1, 0x8, },
+};
+
+const struct s_tpm_physicalsetdeactivated_cmd{
+       uint8_t buffer[11];
+       uint16_t deactivated;
+} tpm_physicalsetdeactivated_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x72, },
+10, };
+
+const struct s_tpm_physicalenable_cmd{
+       uint8_t buffer[10];
+} tpm_physicalenable_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x6f, },
+};
+
+const struct s_tpm_physicaldisable_cmd{
+       uint8_t buffer[10];
+} tpm_physicaldisable_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x70, },
+};
+
+const struct s_tpm_forceclear_cmd{
+       uint8_t buffer[10];
+} tpm_forceclear_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x5d, },
+};
+
+const struct s_tpm_readpubek_cmd{
+       uint8_t buffer[30];
+       uint16_t antiReplay;
+} tpm_readpubek_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x0, 0x7c, },
+10, };
+
+const struct s_tpm_continueselftest_cmd{
+       uint8_t buffer[10];
+} tpm_continueselftest_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x53, },
+};
+
+const struct s_tpm_selftestfull_cmd{
+       uint8_t buffer[10];
+} tpm_selftestfull_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x50, },
+};
+
+const struct s_tpm_resume_cmd{
+       uint8_t buffer[12];
+} tpm_resume_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x99, 0x0, 0x2, },
+};
+
+const struct s_tpm_savestate_cmd{
+       uint8_t buffer[10];
+} tpm_savestate_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x98, },
+};
+
+const struct s_tpm_startup_cmd{
+       uint8_t buffer[12];
+} tpm_startup_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x99, 0x0, 0x1, },
+};
+
+const struct s_tpm_finalizepp_cmd{
+       uint8_t buffer[12];
+} tpm_finalizepp_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0xa, 0x2, 0xa0, },
+};
+
+const struct s_tpm_pplock_cmd{
+       uint8_t buffer[12];
+} tpm_pplock_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0xa, 0x0, 0x4, },
+};
+
+const struct s_tpm_ppenable_cmd{
+       uint8_t buffer[12];
+} tpm_ppenable_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0xa, 0x0, 0x20, },
+};
+
+const struct s_tpm_ppassert_cmd{
+       uint8_t buffer[12];
+} tpm_ppassert_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0xa, 0x0, 0x8, },
+};
+
+const struct s_tpm_pcr_read_cmd{
+       uint8_t buffer[14];
+       uint16_t pcrNum;
+} tpm_pcr_read_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x15, },
+10, };
+
+const struct s_tpm_nv_read_cmd{
+       uint8_t buffer[22];
+       uint16_t index;
+       uint16_t length;
+} tpm_nv_read_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x0, 0x0, 0xcf, },
+10, 18, };
+
+const struct s_tpm_nv_write_cmd{
+       uint8_t buffer[256];
+       uint16_t index;
+       uint16_t length;
+       uint16_t data;
+} tpm_nv_write_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcd, },
+10, 18, 22, };
+
+const struct s_tpm_nv_definespace_cmd{
+       uint8_t buffer[101];
+       uint16_t index;
+       uint16_t pcr_info_read;
+       uint16_t pcr_info_write;
+       uint16_t perm;
+       uint16_t size;
+} tpm_nv_definespace_cmd = {{0x0, 0xc1, 0x0, 0x0, 0x0, 0x65, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x18, 0, 0, 0, 0, 0x0, 0x3, 0, 0, 0, 0x1f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0, 0x3, 0, 0, 0, 0x1f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0, 0x17, },
+12, 16, 42, 70, 77, };
+
+const int kWriteInfoLength = 12;
diff --git a/firmware/lib/tpm_lite/include/tpm_error_messages.h b/firmware/lib/tpm_lite/include/tpm_error_messages.h
new file mode 100644 (file)
index 0000000..ad2692c
--- /dev/null
@@ -0,0 +1,249 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.\r
+ * Use of this source code is governed by a BSD-style license that can be\r
+ * found in the LICENSE file.\r
+ *\r
+ * TPM error codes.\r
+ *\r
+ * Copy-pasted and lightly edited from TCG TPM Main Part 2 TPM Structures\r
+ * Version 1.2 Level 2 Revision 103 26 October 2006 Draft.\r
+ */\r
+\r
+#ifndef VBOOT_REFERENCE_TPM_ERROR_MESSAGES_H_\r
+#define VBOOT_REFERENCE_TPM_ERROR_MESSAGES_H_\r
+\r
+#define TPM_E_BASE 0x0\r
+#define TPM_E_NON_FATAL 0x800\r
+\r
+typedef struct tpm_error_info {\r
+       const char* name;\r
+       uint32_t code;\r
+       const char* description;\r
+} tpm_error_info;\r
+\r
+tpm_error_info tpm_error_table[] = {\r
+{ "TPM_AUTHFAIL", TPM_E_BASE + 1,\r
+"Authentication failed" },\r
+{ "TPM_BADINDEX", TPM_E_BASE + 2,\r
+"The index to a PCR, DIR or other register is incorrect" },\r
+{ "TPM_BAD_PARAMETER", TPM_E_BASE + 3,\r
+"One or more parameter is bad" },\r
+{ "TPM_AUDITFAILURE", TPM_E_BASE + 4,\r
+"An operation completed successfully\n\\r
+but the auditing of that operation failed" },\r
+{ "TPM_CLEAR_DISABLED", TPM_E_BASE + 5,\r
+"The clear disable flag is set and all clear operations now require\n\\r
+physical access" },\r
+{ "TPM_DEACTIVATED", TPM_E_BASE + 6,\r
+"The TPM is deactivated" },\r
+{ "TPM_DISABLED", TPM_E_BASE + 7,\r
+"The TPM is disabled" },\r
+{ "TPM_DISABLED_CMD", TPM_E_BASE + 8,\r
+"The target command has been disabled" },\r
+{ "TPM_FAIL", TPM_E_BASE + 9,\r
+"The operation failed" },\r
+{ "TPM_BAD_ORDINAL", TPM_E_BASE + 10,\r
+"The ordinal was unknown or inconsistent" },\r
+{ "TPM_INSTALL_DISABLED", TPM_E_BASE + 11,\r
+"The ability to install an owner is disabled" },\r
+{ "TPM_INVALID_KEYHANDLE", TPM_E_BASE + 12,\r
+"The key handle can not be interpreted" },\r
+{ "TPM_KEYNOTFOUND", TPM_E_BASE + 13,\r
+"The key handle points to an invalid key" },\r
+{ "TPM_INAPPROPRIATE_ENC", TPM_E_BASE + 14,\r
+"Unacceptable encryption scheme" },\r
+{ "TPM_MIGRATEFAIL", TPM_E_BASE + 15,\r
+"Migration authorization failed" },\r
+{ "TPM_INVALID_PCR_INFO", TPM_E_BASE + 16,\r
+"PCR information could not be interpreted" },\r
+{ "TPM_NOSPACE", TPM_E_BASE + 17,\r
+"No room to load key" },\r
+{ "TPM_NOSRK", TPM_E_BASE + 18,\r
+"There is no SRK set" },\r
+{ "TPM_NOTSEALED_BLOB", TPM_E_BASE + 19,\r
+"An encrypted blob is invalid or was not created by this TPM" },\r
+{ "TPM_OWNER_SET", TPM_E_BASE + 20,\r
+"There is already an Owner" },\r
+{ "TPM_RESOURCES", TPM_E_BASE + 21,\r
+"The TPM has insufficient internal resources to perform the requested action" },\r
+{ "TPM_SHORTRANDOM", TPM_E_BASE + 22,\r
+"A random string was too short" },\r
+{ "TPM_SIZE", TPM_E_BASE + 23,\r
+"The TPM does not have the space to perform the operation" },\r
+{ "TPM_WRONGPCRVAL", TPM_E_BASE + 24,\r
+"The named PCR value does not match the current PCR value" },\r
+{ "TPM_BAD_PARAM_SIZE", TPM_E_BASE + 25,\r
+"The paramSize argument to the command has the incorrect value" },\r
+{ "TPM_SHA_THREAD", TPM_E_BASE + 26,\r
+"There is no existing SHA-1 thread" },\r
+{ "TPM_SHA_ERROR", TPM_E_BASE + 27,\r
+"The calculation is unable to proceed because the existing SHA-1\n\\r
+thread has already encountered an error" },\r
+{ "TPM_FAILEDSELFTEST", TPM_E_BASE + 28,\r
+"Self-test has failed and the TPM has shutdown" },\r
+{ "TPM_AUTH2FAIL", TPM_E_BASE + 29,\r
+"The authorization for the second key in a 2 key function\n\\r
+failed authorization" },\r
+{ "TPM_BADTAG", TPM_E_BASE + 30,\r
+"The tag value sent to for a command is invalid" },\r
+{ "TPM_IOERROR", TPM_E_BASE + 31,\r
+"An IO error occurred transmitting information to the TPM" },\r
+{ "TPM_ENCRYPT_ERROR", TPM_E_BASE + 32,\r
+"The encryption process had a problem" },\r
+{ "TPM_DECRYPT_ERROR", TPM_E_BASE + 33,\r
+"The decryption process did not complete" },\r
+{ "TPM_INVALID_AUTHHANDLE", TPM_E_BASE + 34,\r
+"An invalid handle was used" },\r
+{ "TPM_NO_ENDORSEMENT", TPM_E_BASE + 35,\r
+"The TPM does not a EK installed" },\r
+{ "TPM_INVALID_KEYUSAGE", TPM_E_BASE + 36,\r
+"The usage of a key is not allowed" },\r
+{ "TPM_WRONG_ENTITYTYPE", TPM_E_BASE + 37,\r
+"The submitted entity type is not allowed" },\r
+{ "TPM_INVALID_POSTINIT", TPM_E_BASE + 38,\r
+"The command was received in the wrong sequence relative to TPM_Init\n\\r
+and a subsequent TPM_Startup" },\r
+{ "TPM_INAPPROPRIATE_SIG", TPM_E_BASE + 39,\r
+"Signed data cannot include additional DER information" },\r
+{ "TPM_BAD_KEY_PROPERTY", TPM_E_BASE + 40,\r
+"The key properties in TPM_KEY_PARMs are not supported by this TPM" },\r
+{ "TPM_BAD_MIGRATION", TPM_E_BASE + 41,\r
+"The migration properties of this key are incorrect" },\r
+{ "TPM_BAD_SCHEME", TPM_E_BASE + 42,\r
+"The signature or encryption scheme for this key is incorrect or not\n\\r
+permitted in this situation" },\r
+{ "TPM_BAD_DATASIZE", TPM_E_BASE + 43,\r
+"The size of the data (or blob) parameter is bad or inconsistent\n\\r
+with the referenced key" },\r
+{ "TPM_BAD_MODE", TPM_E_BASE + 44,\r
+"A mode parameter is bad, such as capArea or subCapArea for\n\\r
+TPM_GetCapability, physicalPresence parameter for TPM_PhysicalPresence,\n\\r
+or migrationType for, TPM_CreateMigrationBlob" },\r
+{ "TPM_BAD_PRESENCE", TPM_E_BASE + 45,\r
+"Either the physicalPresence or physicalPresenceLock bits\n\\r
+have the wrong value" },\r
+{ "TPM_BAD_VERSION", TPM_E_BASE + 46,\r
+"The TPM cannot perform this version of the capability" },\r
+{ "TPM_NO_WRAP_TRANSPORT", TPM_E_BASE + 47,\r
+"The TPM does not allow for wrapped transport sessions" },\r
+{ "TPM_AUDITFAIL_UNSUCCESSFUL", TPM_E_BASE + 48,\r
+"TPM audit construction failed and the underlying command\n\\r
+was returning a failure code also" },\r
+{ "TPM_AUDITFAIL_SUCCESSFUL", TPM_E_BASE + 49,\r
+"TPM audit construction failed and the underlying command\n\\r
+was returning success" },\r
+{ "TPM_NOTRESETABLE", TPM_E_BASE + 50,\r
+"Attempt to reset a PCR register that does not have the resettable attribute" },\r
+{ "TPM_NOTLOCAL", TPM_E_BASE + 51,\r
+"Attempt to reset a PCR register that requires locality\n\\r
+and locality modifier not part of command transport" },\r
+{ "TPM_BAD_TYPE", TPM_E_BASE + 52,\r
+"Make identity blob not properly typed" },\r
+{ "TPM_INVALID_RESOURCE", TPM_E_BASE + 53,\r
+"When saving context identified resource type does not match actual resource" },\r
+{ "TPM_NOTFIPS", TPM_E_BASE + 54,\r
+"The TPM is attempting to execute a command only available when in FIPS mode" },\r
+{ "TPM_INVALID_FAMILY", TPM_E_BASE + 55,\r
+"The command is attempting to use an invalid family ID" },\r
+{ "TPM_NO_NV_PERMISSION", TPM_E_BASE + 56,\r
+"The permission to manipulate the NV storage is not available" },\r
+{ "TPM_REQUIRES_SIGN", TPM_E_BASE + 57,\r
+"The operation requires a signed command" },\r
+{ "TPM_KEY_NOTSUPPORTED", TPM_E_BASE + 58,\r
+"Wrong operation to load an NV key" },\r
+{ "TPM_AUTH_CONFLICT", TPM_E_BASE + 59,\r
+"NV_LoadKey blob requires both owner and blob authorization" },\r
+{ "TPM_AREA_LOCKED", TPM_E_BASE + 60,\r
+"The NV area is locked and not writable" },\r
+{ "TPM_BAD_LOCALITY", TPM_E_BASE + 61,\r
+"The locality is incorrect for the attempted operation" },\r
+{ "TPM_READ_ONLY", TPM_E_BASE + 62,\r
+"The NV area is read only and canât be written to" },\r
+{ "TPM_PER_NOWRITE", TPM_E_BASE + 63,\r
+"There is no protection on the write to the NV area" },\r
+{ "TPM_FAMILYCOUNT", TPM_E_BASE + 64,\r
+"The family count value does not match" },\r
+{ "TPM_WRITE_LOCKED", TPM_E_BASE + 65,\r
+"The NV area has already been written to" },\r
+{ "TPM_BAD_ATTRIBUTES", TPM_E_BASE + 66,\r
+"The NV area attributes conflict" },\r
+{ "TPM_INVALID_STRUCTURE", TPM_E_BASE + 67,\r
+"The structure tag and version are invalid or inconsistent" },\r
+{ "TPM_KEY_OWNER_CONTROL", TPM_E_BASE + 68,\r
+"The key is under control of the TPM Owner and can only be evicted\n\\r
+by the TPM Owner" },\r
+{ "TPM_BAD_COUNTER", TPM_E_BASE + 69,\r
+"The counter handle is incorrect" },\r
+{ "TPM_NOT_FULLWRITE", TPM_E_BASE + 70,\r
+"The write is not a complete write of the area" },\r
+{ "TPM_CONTEXT_GAP", TPM_E_BASE + 71,\r
+"The gap between saved context counts is too large" },\r
+{ "TPM_MAXNVWRITES", TPM_E_BASE + 72,\r
+"The maximum number of NV writes without an owner has been exceeded" },\r
+{ "TPM_NOOPERATOR", TPM_E_BASE + 73,\r
+"No operator AuthData value is set" },\r
+{ "TPM_RESOURCEMISSING", TPM_E_BASE + 74,\r
+"The resource pointed to by context is not loaded" },\r
+{ "TPM_DELEGATE_LOCK", TPM_E_BASE + 75,\r
+"The delegate administration is locked" },\r
+{ "TPM_DELEGATE_FAMILY", TPM_E_BASE + 76,\r
+"Attempt to manage a family other then the delegated family" },\r
+{ "TPM_DELEGATE_ADMIN", TPM_E_BASE + 77,\r
+"Delegation table management not enabled" },\r
+{ "TPM_TRANSPORT_NOTEXCLUSIVE", TPM_E_BASE + 78,\r
+"There was a command executed outside of an exclusive transport session" },\r
+{ "TPM_OWNER_CONTROL", TPM_E_BASE + 79,\r
+"Attempt to context save a owner evict controlled key" },\r
+{ "TPM_DAA_RESOURCES", TPM_E_BASE + 80,\r
+"The DAA command has no resources available to execute the command" },\r
+{ "TPM_DAA_INPUT_DATA0", TPM_E_BASE + 81,\r
+"The consistency check on DAA parameter inputData0 has failed" },\r
+{ "TPM_DAA_INPUT_DATA1", TPM_E_BASE + 82,\r
+"The consistency check on DAA parameter inputData1 has failed" },\r
+{ "TPM_DAA_ISSUER_SETTINGS", TPM_E_BASE + 83,\r
+"The consistency check on DAA_issuerSettings has failed" },\r
+{ "TPM_DAA_TPM_SETTINGS", TPM_E_BASE + 84,\r
+"The consistency check on DAA_tpmSpecific has failed" },\r
+{ "TPM_DAA_STAGE", TPM_E_BASE + 85,\r
+"The atomic process indicated by the submitted DAA command is not\n\\r
+the expected process" },\r
+{ "TPM_DAA_ISSUER_VALIDITY", TPM_E_BASE + 86,\r
+"The issuerâs validity check has detected an inconsistency" },\r
+{ "TPM_DAA_WRONG_W", TPM_E_BASE + 87,\r
+"The consistency check on w has failed" },\r
+{ "TPM_BAD_HANDLE", TPM_E_BASE + 88,\r
+"The handle is incorrect" },\r
+{ "TPM_BAD_DELEGATE", TPM_E_BASE + 89,\r
+"Delegation is not correct" },\r
+{ "TPM_BADCONTEXT", TPM_E_BASE + 90,\r
+"The context blob is invalid" },\r
+{ "TPM_TOOMANYCONTEXTS", TPM_E_BASE + 91,\r
+"Too many contexts held by the TPM" },\r
+{ "TPM_MA_TICKET_SIGNATURE", TPM_E_BASE + 92,\r
+"Migration authority signature validation failure" },\r
+{ "TPM_MA_DESTINATION", TPM_E_BASE + 93,\r
+"Migration destination not authenticated" },\r
+{ "TPM_MA_SOURCE", TPM_E_BASE + 94,\r
+"Migration source incorrect" },\r
+{ "TPM_MA_AUTHORITY", TPM_E_BASE + 95,\r
+"Incorrect migration authority" },\r
+{ "TPM_PERMANENTEK", TPM_E_BASE + 97,\r
+"Attempt to revoke the EK and the EK is not revocable" },\r
+{ "TPM_BAD_SIGNATURE", TPM_E_BASE + 98,\r
+"Bad signature of CMK ticket" },\r
+{ "TPM_NOCONTEXTSPACE", TPM_E_BASE + 99,\r
+"There is no room in the context list for additional contexts" },\r
+{ "TPM_RETRY", TPM_E_BASE + TPM_E_NON_FATAL,\r
+"The TPM is too busy to respond to the command immediately, but\n\\r
+the command could be resubmitted at a later time.  The TPM MAY\n\\r
+return TPM_RETRY for any command at any time" },\r
+{ "TPM_NEEDS_SELFTEST", TPM_E_BASE + TPM_E_NON_FATAL + 1,\r
+"TPM_ContinueSelfTest has not been run" },\r
+{ "TPM_DOING_SELFTEST", TPM_E_BASE + TPM_E_NON_FATAL + 2,\r
+"The TPM is currently executing the actions of TPM_ContinueSelfTest\n\\r
+because the ordinal required resources that have not been tested" },\r
+{ "TPM_DEFEND_LOCK_RUNNING", TPM_E_BASE + TPM_E_NON_FATAL + 3,\r
+"The TPM is defending against dictionary attacks and is in some\n\\r
+time-out period" },\r
+};\r
+\r
+#endif  /* VBOOT_REFERENCE_TPM_ERROR_MESSAGES_H_ */\r
diff --git a/firmware/lib/tpm_lite/mocked_tlcl.c b/firmware/lib/tpm_lite/mocked_tlcl.c
new file mode 100644 (file)
index 0000000..c29ada7
--- /dev/null
@@ -0,0 +1,231 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "2sysincludes.h"
+#include "tlcl.h"
+#include "tlcl_internal.h"
+
+uint32_t TlclLibInit(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclLibClose(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclStartup(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclSaveState(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclResume(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclSelfTestFull(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclContinueSelfTest(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclDefineSpace(uint32_t index, uint32_t perm, uint32_t size)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclDefineSpaceEx(const uint8_t* owner_auth, uint32_t owner_auth_size,
+                          uint32_t index, uint32_t perm, uint32_t size,
+                          const void* auth_policy, uint32_t auth_policy_size)
+{
+       return TPM_SUCCESS;
+}
+
+#ifdef CHROMEOS_ENVIRONMENT
+
+uint32_t TlclUndefineSpace(uint32_t index)
+{
+       return TPM_SUCCESS;
+}
+
+#endif  /* CHROMEOS_ENVIRONMENT */
+
+uint32_t TlclWrite(uint32_t index, const void* data, uint32_t length)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclRead(uint32_t index, void* data, uint32_t length)
+{
+       memset(data, '\0', length);
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclPCRRead(uint32_t index, void* data, uint32_t length)
+{
+       memset(data, '\0', length);
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclWriteLock(uint32_t index)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclReadLock(uint32_t index)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclAssertPhysicalPresence(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclPhysicalPresenceCMDEnable(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclFinalizePhysicalPresence(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclAssertPhysicalPresenceResult(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclLockPhysicalPresence(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclSetNvLocked(void)
+{
+       return TPM_SUCCESS;
+}
+
+int TlclIsOwned(void)
+{
+       return 0;
+}
+
+uint32_t TlclForceClear(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclSetEnable(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclClearEnable(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclSetDeactivated(uint8_t flag)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclGetPermanentFlags(TPM_PERMANENT_FLAGS* pflags)
+{
+       memset(pflags, '\0', sizeof(*pflags));
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclGetSTClearFlags(TPM_STCLEAR_FLAGS* vflags)
+{
+       memset(vflags, '\0', sizeof(*vflags));
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclGetFlags(uint8_t* disable,
+                     uint8_t* deactivated,
+                     uint8_t *nvlocked)
+{
+       *disable = 0;
+       *deactivated = 0;
+       *nvlocked = 0;
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclSetGlobalLock(void)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclExtend(int pcr_num, const uint8_t* in_digest,
+                   uint8_t* out_digest)
+{
+       memcpy(out_digest, in_digest, kPcrDigestLength);
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclGetPermissions(uint32_t index, uint32_t* permissions)
+{
+       *permissions = 0;
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclGetOwnership(uint8_t* owned)
+{
+       *owned = 0;
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclGetRandom(uint8_t* data, uint32_t length, uint32_t *size)
+{
+       *size = length;
+       /* http://dilbert.com/strips/comic/2001-10-25/ */
+       memset(data, '\x9', *size);
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclGetVersion(uint32_t* vendor, uint64_t* firmware_version,
+                       uint8_t* vendor_specific_buf,
+                       size_t* vendor_specific_buf_size)
+{
+       *vendor = 0x4e4f4e45;
+       *firmware_version = 0x1;
+       if (vendor_specific_buf_size) {
+               *vendor_specific_buf_size = 0;
+       }
+       return TPM_SUCCESS;
+}
+
+int TlclPacketSize(const uint8_t* packet)
+{
+       uint32_t size;
+       FromTpmUint32(packet + sizeof(uint16_t), &size);
+       return (int) size;
+}
+
+uint32_t TlclSendReceive(const uint8_t* request, uint8_t* response,
+                        int max_length)
+{
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclIFXFieldUpgradeInfo(TPM_IFX_FIELDUPGRADEINFO* info)
+{
+       memset(info, 0, sizeof(*info));
+       return TPM_SUCCESS;
+}
diff --git a/firmware/lib/tpm_lite/tlcl.c b/firmware/lib/tpm_lite/tlcl.c
new file mode 100644 (file)
index 0000000..47f58dc
--- /dev/null
@@ -0,0 +1,1376 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* A lightweight TPM command library.
+ *
+ * The general idea is that TPM commands are array of bytes whose
+ * fields are mostly compile-time constant.  The goal is to build much
+ * of the commands at compile time (or build time) and change some of
+ * the fields at run time as needed.  The code in
+ * utility/tlcl_generator.c builds structures containing the commands,
+ * as well as the offsets of the fields that need to be set at run
+ * time.
+ */
+
+#include "2common.h"
+#include "2hmac.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "tlcl.h"
+#include "tlcl_internal.h"
+#include "tlcl_structures.h"
+
+/* Sets the size field of a TPM command. */
+static inline void SetTpmCommandSize(uint8_t* buffer, uint32_t size)
+{
+       ToTpmUint32(buffer + sizeof(uint16_t), size);
+}
+
+/* Gets the size field of a TPM command. */
+__attribute__((unused))
+static inline int TpmCommandSize(const uint8_t* buffer)
+{
+       uint32_t size;
+       FromTpmUint32(buffer + sizeof(uint16_t), &size);
+       return (int) size;
+}
+
+/* Gets the size field of a TPM request or response. */
+int TlclPacketSize(const uint8_t* packet)
+{
+       return TpmCommandSize(packet);
+}
+
+/* Gets the code field of a TPM command. */
+static inline int TpmCommandCode(const uint8_t* buffer)
+{
+       uint32_t code;
+       FromTpmUint32(buffer + sizeof(uint16_t) + sizeof(uint32_t), &code);
+       return code;
+}
+
+/* Gets the return code field of a TPM result. */
+static inline int TpmReturnCode(const uint8_t* buffer)
+{
+       return TpmCommandCode(buffer);
+}
+
+/* Like TlclSendReceive below, but do not retry if NEEDS_SELFTEST or
+ * DOING_SELFTEST errors are returned.
+ */
+static uint32_t TlclSendReceiveNoRetry(const uint8_t* request,
+                                      uint8_t* response, int max_length)
+{
+
+       uint32_t response_length = max_length;
+       uint32_t result;
+
+#ifdef EXTRA_LOGGING
+       VB2_DEBUG("TPM: command: %x%x %x%x%x%x %x%x%x%x\n",
+                 request[0], request[1],
+                 request[2], request[3], request[4], request[5],
+                 request[6], request[7], request[8], request[9]);
+#endif
+
+       result = vb2ex_tpm_send_recv(request, TpmCommandSize(request),
+                                    response, &response_length);
+       if (TPM_SUCCESS != result) {
+               /* Communication with TPM failed, so response is garbage */
+               VB2_DEBUG("TPM: command %#x send/receive failed: %#x\n",
+                         TpmCommandCode(request), result);
+               return result;
+       }
+       /* Otherwise, use the result code from the response */
+       result = TpmReturnCode(response);
+
+       /* TODO: add paranoia about returned response_length vs. max_length
+        * (and possibly expected length from the response header).  See
+        * crosbug.com/17017 */
+
+#ifdef EXTRA_LOGGING
+       VB2_DEBUG("TPM: response: %x%x %x%x%x%x %x%x%x%x\n",
+                 response[0], response[1],
+                 response[2], response[3], response[4], response[5],
+                 response[6], response[7], response[8], response[9]);
+#endif
+
+       VB2_DEBUG("TPM: command %#x returned %#x\n",
+                 TpmCommandCode(request), result);
+
+       return result;
+}
+
+/* Sends a TPM command and gets a response.  Returns 0 if success or the TPM
+ * error code if error. In the firmware, waits for the self test to complete
+ * if needed. In the host, reports the first error without retries. */
+uint32_t TlclSendReceive(const uint8_t* request, uint8_t* response,
+                        int max_length)
+{
+       uint32_t result = TlclSendReceiveNoRetry(request, response, max_length);
+       /* When compiling for the firmware, hide command failures due to the
+        * self test not having run or completed. */
+#ifndef CHROMEOS_ENVIRONMENT
+       /* If the command fails because the self test has not completed, try it
+        * again after attempting to ensure that the self test has completed. */
+       if (result == TPM_E_NEEDS_SELFTEST || result == TPM_E_DOING_SELFTEST) {
+               result = TlclContinueSelfTest();
+               if (result != TPM_SUCCESS) {
+                       return result;
+               }
+#if defined(TPM_BLOCKING_CONTINUESELFTEST) || defined(VB_RECOVERY_MODE)
+               /* Retry only once */
+               result = TlclSendReceiveNoRetry(request, response, max_length);
+#else
+               /* This needs serious testing.  The TPM specification says:
+                * "iii. The caller MUST wait for the actions of
+                * TPM_ContinueSelfTest to complete before reissuing the
+                * command C1."  But, if ContinueSelfTest is non-blocking, how
+                * do we know that the actions have completed other than trying
+                * again? */
+               do {
+                       result = TlclSendReceiveNoRetry(request, response,
+                                                       max_length);
+               } while (result == TPM_E_DOING_SELFTEST);
+#endif
+       }
+#endif  /* ! defined(CHROMEOS_ENVIRONMENT) */
+       return result;
+}
+
+/* Sends a command and returns the error code. */
+static uint32_t Send(const uint8_t* command)
+{
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       return TlclSendReceive(command, response, sizeof(response));
+}
+
+#ifdef CHROMEOS_ENVIRONMENT
+
+struct auth_session
+{
+       uint32_t handle;
+       TPM_NONCE nonce_even;
+       TPM_NONCE nonce_odd;
+       uint8_t shared_secret[TPM_AUTH_DATA_LEN];
+       uint8_t valid;
+};
+
+static uint32_t StartOIAPSession(struct auth_session* session,
+                                const uint8_t secret[TPM_AUTH_DATA_LEN])
+{
+       session->valid = 0;
+
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       uint32_t result = TlclSendReceive(tpm_oiap_cmd.buffer, response,
+                                         sizeof(response));
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+
+       uint32_t size;
+       FromTpmUint32(response + sizeof(uint16_t), &size);
+       if (size < kTpmResponseHeaderLength + sizeof(uint32_t)
+                       + sizeof(TPM_NONCE)) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       const uint8_t* cursor = response + kTpmResponseHeaderLength;
+       session->handle = ReadTpmUint32(&cursor);
+       memcpy(session->nonce_even.nonce, cursor, sizeof(TPM_NONCE));
+       cursor += sizeof(TPM_NONCE);
+       VB2_ASSERT(cursor - response <= TPM_LARGE_ENOUGH_COMMAND_SIZE);
+
+       memcpy(session->shared_secret, secret, TPM_AUTH_DATA_LEN);
+       session->valid = 1;
+
+       return result;
+}
+
+static uint32_t StartOSAPSession(
+               struct auth_session* session,
+               uint16_t entity_type,
+               uint32_t entity_value,
+               const uint8_t entity_usage_auth[TPM_AUTH_DATA_LEN])
+{
+       session->valid = 0;
+
+       /* Build OSAP command. */
+       struct s_tpm_osap_cmd cmd;
+       memcpy(&cmd, &tpm_osap_cmd, sizeof(cmd));
+       ToTpmUint16(cmd.buffer + cmd.entityType, entity_type);
+       ToTpmUint32(cmd.buffer + cmd.entityValue, entity_value);
+       if (vb2ex_tpm_get_random(cmd.buffer + cmd.nonceOddOSAP,
+                                sizeof(TPM_NONCE)) != VB2_SUCCESS) {
+               return TPM_E_INTERNAL_ERROR;
+       }
+
+       /* Send OSAP command. */
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       uint32_t result = TlclSendReceive(cmd.buffer, response,
+                                         sizeof(response));
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+
+       /* Parse response. */
+       uint32_t size;
+       FromTpmUint32(response + sizeof(uint16_t), &size);
+       if (size < kTpmResponseHeaderLength + sizeof(uint32_t)
+                       + 2 * sizeof(TPM_NONCE)) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       const uint8_t* cursor = response + kTpmResponseHeaderLength;
+       session->handle = ReadTpmUint32(&cursor);
+       memcpy(session->nonce_even.nonce, cursor, sizeof(TPM_NONCE));
+       cursor += sizeof(TPM_NONCE);
+       const uint8_t* nonce_even_osap = cursor;
+       cursor += sizeof(TPM_NONCE);
+       VB2_ASSERT(cursor - response <= TPM_LARGE_ENOUGH_COMMAND_SIZE);
+
+       /* Compute shared secret */
+       uint8_t hmac_input[2 * sizeof(TPM_NONCE)];
+       memcpy(hmac_input, nonce_even_osap, sizeof(TPM_NONCE));
+       memcpy(hmac_input + sizeof(TPM_NONCE), cmd.buffer + cmd.nonceOddOSAP,
+              sizeof(TPM_NONCE));
+       if (hmac(VB2_HASH_SHA1, entity_usage_auth, TPM_AUTH_DATA_LEN,
+                hmac_input, sizeof(hmac_input), session->shared_secret,
+                sizeof(session->shared_secret))) {
+               return TPM_E_INTERNAL_ERROR;
+       }
+       session->valid = 1;
+
+       return result;
+}
+
+/* Fills in the authentication block at the end of the command. The command body
+ * should already be initialized in |command_buffer|, and the included command
+ * size should account for the auth block that gets filled in. */
+static uint32_t AddRequestAuthBlock(struct auth_session* auth_session,
+                                   uint8_t* command_buffer,
+                                   uint32_t command_buffer_size,
+                                   uint8_t continue_auth_session)
+{
+       if (!auth_session->valid) {
+               return TPM_E_AUTHFAIL;
+       }
+
+       /* Validity check to make sure the command buffer has sufficient space
+        * to add the auth block at the end of the command. */
+       if (command_buffer_size < kTpmRequestHeaderLength) {
+               return TPM_E_BUFFER_SIZE;
+       }
+       const uint32_t size = TpmCommandSize(command_buffer);
+       if (size < kTpmResponseHeaderLength + kTpmRequestAuthBlockLength ||
+           size > command_buffer_size) {
+               return TPM_E_INTERNAL_ERROR;
+       }
+       const uint32_t auth_offset = size - kTpmRequestAuthBlockLength;
+
+       /*
+        * The digest of the command is computed over the command buffer, but
+        * excluding the leading tag and paramSize fields.
+        */
+       struct vb2_sha1_context sha1_ctx;
+       vb2_sha1_init(&sha1_ctx);
+       vb2_sha1_update(&sha1_ctx,
+                       command_buffer + sizeof(uint16_t) + sizeof(uint32_t),
+                       auth_offset - sizeof(uint16_t) - sizeof(uint32_t));
+       uint8_t buf[TPM_SHA1_160_HASH_LEN + 2 * sizeof(TPM_NONCE) + 1];
+       vb2_sha1_finalize(&sha1_ctx, buf);
+
+       /* Generate a fresh nonce. */
+       if (vb2ex_tpm_get_random(auth_session->nonce_odd.nonce,
+                                sizeof(TPM_NONCE)) != VB2_SUCCESS) {
+               return TPM_E_INTERNAL_ERROR;
+       }
+
+       /* Append the authentication block to the command buffer. */
+       uint8_t* cursor = command_buffer + auth_offset;
+       ToTpmUint32(cursor, auth_session->handle);
+       cursor += sizeof(uint32_t);
+       memcpy(cursor, auth_session->nonce_odd.nonce, sizeof(TPM_NONCE));
+       cursor += sizeof(TPM_NONCE);
+       *cursor++ = continue_auth_session;
+
+       /* Compute and append the MAC. */
+       memcpy(buf + TPM_SHA1_160_HASH_LEN, auth_session->nonce_even.nonce,
+              sizeof(TPM_NONCE));
+       memcpy(buf + TPM_SHA1_160_HASH_LEN + sizeof(TPM_NONCE),
+              auth_session->nonce_odd.nonce, sizeof(TPM_NONCE));
+       buf[TPM_SHA1_160_HASH_LEN + 2 * sizeof(TPM_NONCE)] =
+                       continue_auth_session;
+       if (hmac(VB2_HASH_SHA1, auth_session->shared_secret,
+                sizeof(auth_session->shared_secret), buf, sizeof(buf), cursor,
+                TPM_SHA1_160_HASH_LEN)) {
+               return TPM_E_AUTHFAIL;
+       }
+       cursor += TPM_SHA1_160_HASH_LEN;
+
+       return TPM_SUCCESS;
+}
+
+static uint32_t CheckResponseAuthBlock(struct auth_session* auth_session,
+                                      TPM_COMMAND_CODE ordinal,
+                                      uint8_t* response_buffer,
+                                      uint32_t response_buffer_size)
+{
+       if (!auth_session->valid) {
+               return TPM_E_AUTHFAIL;
+       }
+
+       if (response_buffer_size < kTpmResponseHeaderLength) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       /* Parse and validate the actual response size from the response. */
+       uint32_t size;
+       FromTpmUint32(response_buffer + sizeof(uint16_t), &size);
+       if (size >= response_buffer_size ||
+           size < kTpmResponseHeaderLength + kTpmResponseAuthBlockLength) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+       uint32_t auth_offset = size - kTpmResponseAuthBlockLength;
+
+       /*
+        * The digest of the response is computed over the return code, ordinal,
+        * response payload.
+        */
+       struct vb2_sha1_context sha1_ctx;
+       vb2_sha1_init(&sha1_ctx);
+       vb2_sha1_update(&sha1_ctx,
+                       response_buffer + sizeof(uint16_t) + sizeof(uint32_t),
+                       sizeof(uint32_t));
+       uint8_t ordinal_buf[sizeof(ordinal)];
+       ToTpmUint32(ordinal_buf, ordinal);
+       vb2_sha1_update(&sha1_ctx, ordinal_buf, sizeof(ordinal_buf));
+       vb2_sha1_update(&sha1_ctx,
+                       response_buffer + kTpmResponseHeaderLength,
+                       auth_offset - kTpmResponseHeaderLength);
+       uint8_t hmac_input[TPM_SHA1_160_HASH_LEN + 2 * sizeof(TPM_NONCE) + 1];
+       vb2_sha1_finalize(&sha1_ctx, hmac_input);
+
+       /* Compute the MAC. */
+       uint8_t* cursor = response_buffer + auth_offset;
+       memcpy(hmac_input + TPM_SHA1_160_HASH_LEN, cursor, sizeof(TPM_NONCE));
+       cursor += sizeof(TPM_NONCE);
+       memcpy(hmac_input + TPM_SHA1_160_HASH_LEN + sizeof(TPM_NONCE),
+              auth_session->nonce_odd.nonce, sizeof(TPM_NONCE));
+       auth_session->valid = *cursor++;
+       hmac_input[TPM_SHA1_160_HASH_LEN + 2 * sizeof(TPM_NONCE)] =
+                       auth_session->valid;
+       uint8_t mac[TPM_SHA1_160_HASH_LEN];
+       if (hmac(VB2_HASH_SHA1, auth_session->shared_secret,
+                sizeof(auth_session->shared_secret), hmac_input,
+                sizeof(hmac_input), mac, sizeof(mac))) {
+               auth_session->valid = 0;
+               return TPM_E_AUTHFAIL;
+       }
+
+       /* Check the MAC. */
+       if (vb2_safe_memcmp(mac, cursor, sizeof(mac))) {
+               auth_session->valid = 0;
+               return TPM_E_AUTHFAIL;
+       }
+
+       /* Success, save the even nonce. */
+       memcpy(auth_session->nonce_even.nonce, response_buffer + auth_offset,
+              sizeof(TPM_NONCE));
+
+       return TPM_SUCCESS;
+}
+
+#endif  /* CHROMEOS_ENVIRONMENT */
+
+/* Exported functions. */
+
+uint32_t TlclLibInit(void)
+{
+       return vb2ex_tpm_init();
+}
+
+uint32_t TlclLibClose(void)
+{
+       return vb2ex_tpm_close();
+}
+
+uint32_t TlclStartup(void)
+{
+       VB2_DEBUG("TPM: Startup\n");
+       return Send(tpm_startup_cmd.buffer);
+}
+
+uint32_t TlclSaveState(void)
+{
+       VB2_DEBUG("TPM: SaveState\n");
+       return Send(tpm_savestate_cmd.buffer);
+}
+
+uint32_t TlclResume(void)
+{
+       VB2_DEBUG("TPM: Resume\n");
+       return Send(tpm_resume_cmd.buffer);
+}
+
+uint32_t TlclSelfTestFull(void)
+{
+       VB2_DEBUG("TPM: Self test full\n");
+       return Send(tpm_selftestfull_cmd.buffer);
+}
+
+uint32_t TlclContinueSelfTest(void)
+{
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       VB2_DEBUG("TPM: Continue self test\n");
+       /* Call the No Retry version of SendReceive to avoid recursion. */
+       return TlclSendReceiveNoRetry(tpm_continueselftest_cmd.buffer,
+                                     response, sizeof(response));
+}
+
+uint32_t TlclDefineSpace(uint32_t index, uint32_t perm, uint32_t size)
+{
+       VB2_DEBUG("TPM: TlclDefineSpace(%#x, %#x, %d)\n", index, perm, size);
+       return TlclDefineSpaceEx(NULL, 0, index, perm, size, NULL, 0);
+}
+
+#ifdef CHROMEOS_ENVIRONMENT
+
+uint32_t TlclUndefineSpace(uint32_t index)
+{
+       VB2_DEBUG("TPM: TlclUndefineSpace(%#x)\n", index);
+       return TlclUndefineSpaceEx(NULL, 0, index);
+}
+
+uint32_t TlclUndefineSpaceEx(const uint8_t* owner_auth,
+                            uint32_t owner_auth_size,
+                            uint32_t index)
+{
+       return TlclDefineSpaceEx(owner_auth, owner_auth_size,
+                                index, 0, 0,
+                                NULL, 0);
+}
+
+#endif  /* CHROMEOS_ENVIRONMENT */
+
+uint32_t TlclDefineSpaceEx(const uint8_t* owner_auth, uint32_t owner_auth_size,
+                          uint32_t index, uint32_t perm, uint32_t size,
+                          const void* auth_policy, uint32_t auth_policy_size)
+{
+       uint32_t result;
+
+       /* Build the request data. */
+       uint8_t cmd[sizeof(tpm_nv_definespace_cmd.buffer) +
+                       kTpmRequestAuthBlockLength];
+       memcpy(cmd, &tpm_nv_definespace_cmd, sizeof(tpm_nv_definespace_cmd));
+       ToTpmUint32(cmd + tpm_nv_definespace_cmd.index, index);
+       ToTpmUint32(cmd + tpm_nv_definespace_cmd.perm, perm);
+       ToTpmUint32(cmd + tpm_nv_definespace_cmd.size, size);
+       if (auth_policy != NULL) {
+               if (auth_policy_size != sizeof(TPM_NV_AUTH_POLICY)) {
+                       return TPM_E_BUFFER_SIZE;
+               }
+
+               const TPM_NV_AUTH_POLICY* policy = auth_policy;
+               memcpy(cmd + tpm_nv_definespace_cmd.pcr_info_read,
+                      &policy->pcr_info_read, sizeof(policy->pcr_info_read));
+               memcpy(cmd + tpm_nv_definespace_cmd.pcr_info_write,
+                      &policy->pcr_info_write, sizeof(policy->pcr_info_write));
+       }
+
+#ifdef CHROMEOS_ENVIRONMENT
+       struct auth_session auth_session;
+       if (owner_auth) {
+               if (owner_auth_size != TPM_AUTH_DATA_LEN) {
+                       return TPM_E_AUTHFAIL;
+               }
+
+               result = StartOSAPSession(&auth_session, TPM_ET_OWNER, 0,
+                                         owner_auth);
+               if (result != TPM_SUCCESS) {
+                       return result;
+               }
+
+               ToTpmUint32(cmd + sizeof(uint16_t), sizeof(cmd));
+               ToTpmUint16(cmd, TPM_TAG_RQU_AUTH1_COMMAND);
+               result = AddRequestAuthBlock(&auth_session, cmd, sizeof(cmd),
+                                            0);
+               if (result != TPM_SUCCESS) {
+                       return result;
+               }
+       }
+#endif
+
+       /* Send the command. */
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       result = TlclSendReceive(cmd, response, sizeof(response));
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+
+#ifdef CHROMEOS_ENVIRONMENT
+       if (owner_auth) {
+               result = CheckResponseAuthBlock(&auth_session,
+                                               TPM_ORD_NV_DefineSpace,
+                                               response, sizeof(response));
+       }
+#endif
+
+       return result;
+}
+
+uint32_t TlclInitNvAuthPolicy(uint32_t pcr_selection_bitmap,
+                             const uint8_t pcr_values[][TPM_PCR_DIGEST],
+                             void* auth_policy, uint32_t* auth_policy_size)
+{
+       uint32_t buffer_size = *auth_policy_size;
+       *auth_policy_size = sizeof(TPM_NV_AUTH_POLICY);
+       if (!auth_policy || buffer_size < sizeof(TPM_NV_AUTH_POLICY)) {
+               return TPM_E_BUFFER_SIZE;
+       }
+       TPM_NV_AUTH_POLICY* policy = auth_policy;
+
+       /* Note that although the struct definition allocates space for 3 bytes
+        * worth of PCR selection, it is technically a variably-sized field in
+        * the TPM structure definition. Since this is part of the policy
+        * digest, we need to carefully match our selection sizes. For now, we
+        * use 3 bytes, which aligns with TrouSerS behavior. */
+       TPM_PCR_SELECTION* select = &policy->pcr_info_read.pcrSelection;
+       ToTpmUint16((uint8_t*)&select->sizeOfSelect, sizeof(select->pcrSelect));
+       select->pcrSelect[0] = (pcr_selection_bitmap >> 0) & 0xff;
+       select->pcrSelect[1] = (pcr_selection_bitmap >> 8) & 0xff;
+       select->pcrSelect[2] = (pcr_selection_bitmap >> 16) & 0xff;
+       VB2_ASSERT((pcr_selection_bitmap & 0xff000000) == 0);
+
+       /* Allow all localities except locality 3. Rationale:
+        *
+        * We don't actually care about restricting NVRAM access to specific
+        * localities. In fact localities aren't used in Chrome OS and locality
+        * 0 is used for everything.
+        *
+        * However, the TPM specification makes an effort to not allow NVRAM
+        * spaces that do not have some write access control configured: When
+        * defining a space, either at least one of OWNERWRITE, AUTHWRITE,
+        * WRITEDEFINE, PPWRITE or a locality restriction must be specified (See
+        * TPM_NV_DefineSpace command description in the spec).
+        *
+        * This complicates matters when defining an NVRAM space that should be
+        * writable and lockable (for the remainder of the boot cycle) by the OS
+        * even when the TPM is not owned:
+        *  * OWNERWRITE doesn't work because there might be no owner.
+        *  * PPWRITE restricts writing to firmware only.
+        *  * Use of WRITEDEFINE prevents use of WRITE_STCLEAR (i.e. the space
+        *    can either not be locked, or it would remain locked until next TPM
+        *    clear).
+        *  * AUTHWRITE looks workable at first sight (by setting a well-known
+        *    auth secret). However writes must use TPM_NV_WriteValueAuth, which
+        *    only works when the TPM is owned. Interestingly, the spec admits
+        *    to that being a mistake in the TPM_NV_WriteValueAuth comment but
+        *    asserts that the behavior is normative.
+        *
+        * Having ruled out all attributes, we're left with locality restriction
+        * as the only option to pass the access control requirement check in
+        * TPM_NV_DefineSpace. We choose to disallow locality 3, since that is
+        * the most unlikely one to be used in practice, i.e. the spec says
+        * locality 3 is for "Auxiliary components. Use of this is optional and,
+        * if used, it is implementation dependent."
+        */
+       policy->pcr_info_read.localityAtRelease =
+               TPM_ALL_LOCALITIES & ~TPM_LOC_THREE;
+
+       struct vb2_sha1_context sha1_ctx;
+       vb2_sha1_init(&sha1_ctx);
+
+       vb2_sha1_update(&sha1_ctx,
+                       (const uint8_t*)&policy->pcr_info_read.pcrSelection,
+                       sizeof(policy->pcr_info_read.pcrSelection));
+
+       uint32_t num_pcrs = 0;
+       int i;
+       for (i = 0; i < sizeof(pcr_selection_bitmap) * 8; ++i) {
+               if ((1U << i) & pcr_selection_bitmap) {
+                       num_pcrs++;
+               }
+       }
+
+       uint8_t pcrs_size[sizeof(uint32_t)];
+       ToTpmUint32(pcrs_size, num_pcrs * TPM_PCR_DIGEST);
+       vb2_sha1_update(&sha1_ctx, pcrs_size, sizeof(pcrs_size));
+
+       for (i = 0; i < num_pcrs; ++i) {
+               vb2_sha1_update(&sha1_ctx, pcr_values[i], TPM_PCR_DIGEST);
+       }
+
+       vb2_sha1_finalize(&sha1_ctx,
+                         policy->pcr_info_read.digestAtRelease.digest);
+
+       /* Make the write policy an identical copy of the read auth policy. */
+       memcpy(&policy->pcr_info_write, &policy->pcr_info_read,
+              sizeof(policy->pcr_info_read));
+
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclWrite(uint32_t index, const void* data, uint32_t length)
+{
+       struct s_tpm_nv_write_cmd cmd;
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       const int total_length =
+                       kTpmRequestHeaderLength + kWriteInfoLength + length;
+
+       VB2_DEBUG("TPM: TlclWrite(%#x, %d)\n", index, length);
+       memcpy(&cmd, &tpm_nv_write_cmd, sizeof(cmd));
+       VB2_ASSERT(total_length <= TPM_LARGE_ENOUGH_COMMAND_SIZE);
+       SetTpmCommandSize(cmd.buffer, total_length);
+
+       ToTpmUint32(cmd.buffer + tpm_nv_write_cmd.index, index);
+       ToTpmUint32(cmd.buffer + tpm_nv_write_cmd.length, length);
+       memcpy(cmd.buffer + tpm_nv_write_cmd.data, data, length);
+
+       return TlclSendReceive(cmd.buffer, response, sizeof(response));
+}
+
+uint32_t TlclRead(uint32_t index, void* data, uint32_t length)
+{
+       struct s_tpm_nv_read_cmd cmd;
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       uint32_t result;
+
+       VB2_DEBUG("TPM: TlclRead(%#x, %d)\n", index, length);
+       memcpy(&cmd, &tpm_nv_read_cmd, sizeof(cmd));
+       ToTpmUint32(cmd.buffer + tpm_nv_read_cmd.index, index);
+       ToTpmUint32(cmd.buffer + tpm_nv_read_cmd.length, length);
+
+       result = TlclSendReceive(cmd.buffer, response, sizeof(response));
+       if (result == TPM_SUCCESS && length > 0) {
+               const uint8_t* nv_read_cursor =
+                               response + kTpmResponseHeaderLength;
+               uint32_t result_length = ReadTpmUint32(&nv_read_cursor);
+               if (result_length > length)
+                       result_length = length;  /* Truncate to fit buffer */
+               memcpy(data, nv_read_cursor, result_length);
+       }
+
+       return result;
+}
+
+uint32_t TlclPCRRead(uint32_t index, void* data, uint32_t length)
+{
+       struct s_tpm_pcr_read_cmd cmd;
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       uint32_t result;
+
+       VB2_DEBUG("TPM: TlclPCRRead(%#x, %d)\n", index, length);
+       if (length < kPcrDigestLength) {
+               return TPM_E_IOERROR;
+       }
+       memcpy(&cmd, &tpm_pcr_read_cmd, sizeof(cmd));
+       ToTpmUint32(cmd.buffer + tpm_pcr_read_cmd.pcrNum, index);
+
+       result = TlclSendReceive(cmd.buffer, response, sizeof(response));
+       if (result == TPM_SUCCESS) {
+               const uint8_t* pcr_read_cursor =
+                               response + kTpmResponseHeaderLength;
+               memcpy(data, pcr_read_cursor, kPcrDigestLength);
+       }
+
+       return result;
+}
+
+uint32_t TlclWriteLock(uint32_t index)
+{
+       VB2_DEBUG("TPM: Write lock %#x\n", index);
+       return TlclWrite(index, NULL, 0);
+}
+
+uint32_t TlclReadLock(uint32_t index)
+{
+       VB2_DEBUG("TPM: Read lock %#x\n", index);
+       return TlclRead(index, NULL, 0);
+}
+
+uint32_t TlclAssertPhysicalPresence(void)
+{
+       VB2_DEBUG("TPM: Asserting physical presence\n");
+       return Send(tpm_ppassert_cmd.buffer);
+}
+
+uint32_t TlclPhysicalPresenceCMDEnable(void)
+{
+       VB2_DEBUG("TPM: Enable the physical presence command\n");
+       return Send(tpm_ppenable_cmd.buffer);
+}
+
+uint32_t TlclFinalizePhysicalPresence(void)
+{
+       VB2_DEBUG("TPM: Enable PP cmd, disable HW pp, and set lifetime lock\n");
+       return Send(tpm_finalizepp_cmd.buffer);
+}
+
+uint32_t TlclAssertPhysicalPresenceResult(void)
+{
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       return TlclSendReceive(tpm_ppassert_cmd.buffer, response,
+                              sizeof(response));
+}
+
+uint32_t TlclLockPhysicalPresence(void)
+{
+       VB2_DEBUG("TPM: Lock physical presence\n");
+       return Send(tpm_pplock_cmd.buffer);
+}
+
+uint32_t TlclSetNvLocked(void)
+{
+       VB2_DEBUG("TPM: Set NV locked\n");
+       return TlclDefineSpace(TPM_NV_INDEX_LOCK, 0, 0);
+}
+
+int TlclIsOwned(void)
+{
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE + TPM_PUBEK_SIZE];
+       uint32_t result;
+       result = TlclSendReceive(tpm_readpubek_cmd.buffer,
+                                response, sizeof(response));
+       return (result != TPM_SUCCESS);
+}
+
+uint32_t TlclForceClear(void)
+{
+       VB2_DEBUG("TPM: Force clear\n");
+       return Send(tpm_forceclear_cmd.buffer);
+}
+
+uint32_t TlclSetEnable(void)
+{
+       VB2_DEBUG("TPM: Enabling TPM\n");
+       return Send(tpm_physicalenable_cmd.buffer);
+}
+
+uint32_t TlclClearEnable(void)
+{
+       VB2_DEBUG("TPM: Disabling TPM\n");
+       return Send(tpm_physicaldisable_cmd.buffer);
+}
+
+uint32_t TlclSetDeactivated(uint8_t flag)
+{
+       struct s_tpm_physicalsetdeactivated_cmd cmd;
+       VB2_DEBUG("TPM: SetDeactivated(%d)\n", flag);
+       memcpy(&cmd, &tpm_physicalsetdeactivated_cmd, sizeof(cmd));
+       *(cmd.buffer + cmd.deactivated) = flag;
+       return Send(cmd.buffer);
+}
+
+uint32_t TlclGetPermanentFlags(TPM_PERMANENT_FLAGS* pflags)
+{
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       uint32_t size;
+       uint32_t result = TlclSendReceive(tpm_getflags_cmd.buffer, response,
+                                         sizeof(response));
+       if (result != TPM_SUCCESS)
+               return result;
+       FromTpmUint32(response + kTpmResponseHeaderLength, &size);
+       /* TODO(crbug.com/379255): This fails. Find out why.
+        * VB2_ASSERT(size == sizeof(TPM_PERMANENT_FLAGS));
+        */
+       memcpy(pflags,
+              response + kTpmResponseHeaderLength + sizeof(size),
+              sizeof(TPM_PERMANENT_FLAGS));
+       return result;
+}
+
+uint32_t TlclGetSTClearFlags(TPM_STCLEAR_FLAGS* vflags)
+{
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       uint32_t size;
+       uint32_t result = TlclSendReceive(tpm_getstclearflags_cmd.buffer,
+                                         response, sizeof(response));
+       if (result != TPM_SUCCESS)
+               return result;
+       FromTpmUint32(response + kTpmResponseHeaderLength, &size);
+       /* Ugly assertion, but the struct is padded up by one byte. */
+       /* TODO(crbug.com/379255): This fails. Find out why.
+        * VB2_ASSERT(size == 7 && sizeof(TPM_STCLEAR_FLAGS) - 1 == 7);
+        */
+       memcpy(vflags,
+              response + kTpmResponseHeaderLength + sizeof(size),
+              sizeof(TPM_STCLEAR_FLAGS));
+       return result;
+}
+
+uint32_t TlclGetFlags(uint8_t* disable,
+                     uint8_t* deactivated,
+                     uint8_t *nvlocked)
+{
+       TPM_PERMANENT_FLAGS pflags;
+       uint32_t result = TlclGetPermanentFlags(&pflags);
+       if (result == TPM_SUCCESS) {
+               if (disable)
+                       *disable = pflags.disable;
+               if (deactivated)
+                       *deactivated = pflags.deactivated;
+               if (nvlocked)
+                       *nvlocked = pflags.nvLocked;
+               VB2_DEBUG("TPM: Got flags disable=%d, deactivated=%d, "
+                         "nvlocked=%d\n",
+                         pflags.disable, pflags.deactivated, pflags.nvLocked);
+       }
+       return result;
+}
+
+uint32_t TlclSetGlobalLock(void)
+{
+       uint32_t x;
+       VB2_DEBUG("TPM: Set global lock\n");
+       return TlclWrite(TPM_NV_INDEX0, (uint8_t*) &x, 0);
+}
+
+uint32_t TlclExtend(int pcr_num, const uint8_t* in_digest,
+                   uint8_t* out_digest)
+{
+       struct s_tpm_extend_cmd cmd;
+       uint8_t response[kTpmResponseHeaderLength + kPcrDigestLength];
+       uint32_t result;
+
+       memcpy(&cmd, &tpm_extend_cmd, sizeof(cmd));
+       ToTpmUint32(cmd.buffer + tpm_extend_cmd.pcrNum, pcr_num);
+       memcpy(cmd.buffer + cmd.inDigest, in_digest, kPcrDigestLength);
+
+       result = TlclSendReceive(cmd.buffer, response, sizeof(response));
+       if (result != TPM_SUCCESS)
+               return result;
+
+       memcpy(out_digest, response + kTpmResponseHeaderLength,
+              kPcrDigestLength);
+       return result;
+}
+
+uint32_t TlclGetPermissions(uint32_t index, uint32_t* permissions)
+{
+       uint32_t dummy_attributes;
+       TPM_NV_AUTH_POLICY dummy_policy;
+       uint32_t dummy_policy_size = sizeof(dummy_policy);
+
+       return TlclGetSpaceInfo(index, permissions, &dummy_attributes,
+                               &dummy_policy, &dummy_policy_size);
+}
+
+static int DecodePCRInfo(const uint8_t** cursor,
+                        const uint8_t* end,
+                        TPM_PCR_INFO_SHORT* pcr_info)
+{
+       const size_t available_size = end - *cursor;
+       if (available_size < sizeof(uint16_t)) {
+               return 0;
+       }
+
+       uint16_t size_of_select = 0;
+       FromTpmUint16(*cursor, &size_of_select);
+
+       /* Compute the actual size of the encoded PCR selection (which is a
+        * variable-length field). */
+       const size_t encoded_pcr_info_size = sizeof(TPM_PCR_INFO_SHORT) -
+               sizeof(pcr_info->pcrSelection.pcrSelect) + size_of_select;
+       if (available_size < encoded_pcr_info_size ||
+           size_of_select > sizeof(pcr_info->pcrSelection.pcrSelect)) {
+               return 0;
+       }
+
+       memset(&pcr_info->pcrSelection, 0, sizeof(pcr_info->pcrSelection));
+       const size_t pcr_selection_size =
+               sizeof(size_of_select) + size_of_select;
+       memcpy(&pcr_info->pcrSelection, *cursor, pcr_selection_size);
+       *cursor += pcr_selection_size;
+
+       pcr_info->localityAtRelease = **cursor;
+       (*cursor)++;
+
+       memcpy(&pcr_info->digestAtRelease, *cursor, sizeof(TPM_COMPOSITE_HASH));
+       *cursor += sizeof(TPM_COMPOSITE_HASH);
+
+       return 1;
+}
+
+uint32_t TlclGetSpaceInfo(uint32_t index, uint32_t *attributes, uint32_t *size,
+                         void* auth_policy, uint32_t* auth_policy_size)
+{
+       TPM_NV_AUTH_POLICY* policy;
+       uint32_t buffer_size = *auth_policy_size;
+       *auth_policy_size = sizeof(TPM_NV_AUTH_POLICY);
+       if (buffer_size < sizeof(TPM_NV_AUTH_POLICY)) {
+               return TPM_E_BUFFER_SIZE;
+       }
+       policy = auth_policy;
+
+       struct s_tpm_getspaceinfo_cmd cmd;
+       memcpy(&cmd, &tpm_getspaceinfo_cmd, sizeof(cmd));
+       ToTpmUint32(cmd.buffer + tpm_getspaceinfo_cmd.index, index);
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       uint32_t result = TlclSendReceive(cmd.buffer, response,
+                                         sizeof(response));
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+
+       uint32_t response_size = TpmCommandSize(response);
+       if (response_size > sizeof(response)) {
+               return TPM_E_RESPONSE_TOO_LARGE;
+       }
+
+       const uint8_t* cursor = response + kTpmResponseHeaderLength;
+       uint32_t cap_size = ReadTpmUint32(&cursor);
+       if (cap_size >
+           response_size - sizeof(cap_size) - kTpmResponseHeaderLength) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+       const uint8_t* end = cursor + cap_size;
+
+       cursor += sizeof(uint16_t);  /* skip tag */
+       uint32_t response_index = ReadTpmUint32(&cursor);
+       if (index != response_index) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       if (!DecodePCRInfo(&cursor, end, &policy->pcr_info_read) ||
+           !DecodePCRInfo(&cursor, end, &policy->pcr_info_write)) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       /* Make sure that the remaining data in the buffer matches the size of
+        * the remaining fields to decode. */
+       if (end - cursor !=
+           2 * sizeof(uint32_t) + 3 * sizeof(uint8_t) + sizeof(uint16_t)) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       cursor += sizeof(uint16_t);  /* skip TPM_NV_ATTRIBUTES tag */
+       *attributes = ReadTpmUint32(&cursor);
+       cursor += sizeof(uint8_t);  /* skip bReadSTClear */
+       cursor += sizeof(uint8_t);  /* skip bWriteSTClear */
+       cursor += sizeof(uint8_t);  /* skip bWriteDefine */
+       *size = ReadTpmUint32(&cursor);
+
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclGetOwnership(uint8_t* owned)
+{
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       uint32_t size;
+       uint32_t result = TlclSendReceive(tpm_getownership_cmd.buffer,
+                                         response, sizeof(response));
+       if (result != TPM_SUCCESS)
+               return result;
+       FromTpmUint32(response + kTpmResponseHeaderLength, &size);
+       /* TODO(crbug.com/379255): This fails. Find out why.
+        * VB2_ASSERT(size == sizeof(*owned));
+        */
+       memcpy(owned,
+              response + kTpmResponseHeaderLength + sizeof(size),
+              sizeof(*owned));
+       return result;
+}
+
+uint32_t TlclGetRandom(uint8_t* data, uint32_t length, uint32_t *size)
+{
+       struct s_tpm_get_random_cmd cmd;
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       uint32_t result;
+
+       VB2_DEBUG("TPM: TlclGetRandom(%d)\n", length);
+       memcpy(&cmd, &tpm_get_random_cmd, sizeof(cmd));
+       ToTpmUint32(cmd.buffer + tpm_get_random_cmd.bytesRequested, length);
+       /* There must be room in the response buffer for the bytes. */
+       if (length > TPM_LARGE_ENOUGH_COMMAND_SIZE - kTpmResponseHeaderLength
+           - sizeof(uint32_t)) {
+               return TPM_E_IOERROR;
+       }
+
+       result = TlclSendReceive(cmd.buffer, response, sizeof(response));
+       if (result == TPM_SUCCESS) {
+               const uint8_t* get_random_cursor =
+                               response + kTpmResponseHeaderLength;
+               *size = ReadTpmUint32(&get_random_cursor);
+
+               /* There must be room in the target buffer for the bytes. */
+               if (*size > length) {
+                       return TPM_E_RESPONSE_TOO_LARGE;
+               }
+               memcpy(data, get_random_cursor, *size);
+       }
+
+       return result;
+}
+
+uint32_t TlclGetVersion(uint32_t* vendor, uint64_t* firmware_version,
+                       uint8_t* vendor_specific_buf,
+                       size_t* vendor_specific_buf_size)
+{
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       uint32_t result = TlclSendReceive(tpm_getversionval_cmd.buffer,
+                                         response, sizeof(response));
+       if (result != TPM_SUCCESS)
+               return result;
+
+       const uint8_t* cursor = response + kTpmResponseHeaderLength;
+       uint32_t size = ReadTpmUint32(&cursor);
+
+       /* Verify size >= sizeof(TPM_CAP_VERSION_INFO). */
+       const uint32_t kSizeofCapVersionInfo = 15;
+       if (size < kSizeofCapVersionInfo ||
+           kTpmResponseHeaderLength + sizeof(size) + size >
+                       TPM_LARGE_ENOUGH_COMMAND_SIZE) {
+               return TPM_E_IOERROR;
+       }
+
+       cursor += sizeof(uint16_t);  /* tag */
+       cursor += sizeof(uint16_t);  /* spec version */
+
+       *firmware_version = ReadTpmUint16(&cursor);
+
+       cursor += sizeof(uint16_t);  /* specLevel */
+       cursor += sizeof(uint8_t);  /* errataRev */
+
+       *vendor = ReadTpmUint32(&cursor);
+
+       if (vendor_specific_buf_size) {
+               uint16_t vendor_specific_size = ReadTpmUint16(&cursor);
+
+               if (size < kSizeofCapVersionInfo + vendor_specific_size) {
+                       return TPM_E_IOERROR;
+               }
+               if (vendor_specific_buf) {
+                       if (vendor_specific_size > *vendor_specific_buf_size) {
+                               vendor_specific_size =
+                                       *vendor_specific_buf_size;
+                       }
+                       memcpy(vendor_specific_buf, cursor,
+                              vendor_specific_size);
+                       cursor += vendor_specific_size;
+               }
+               *vendor_specific_buf_size = vendor_specific_size;
+       }
+
+       return TPM_SUCCESS;
+}
+
+static void ParseIFXFirmwarePackage(const uint8_t** cursor,
+                                   TPM_IFX_FIRMWAREPACKAGE* firmware_package)
+{
+       firmware_package->FwPackageIdentifier = ReadTpmUint32(cursor);
+       firmware_package->Version = ReadTpmUint32(cursor);
+       firmware_package->StaleVersion = ReadTpmUint32(cursor);
+}
+
+uint32_t TlclIFXFieldUpgradeInfo(TPM_IFX_FIELDUPGRADEINFO* info)
+{
+       uint32_t vendor;
+       uint64_t firmware_version;
+       uint32_t result =
+                       TlclGetVersion(&vendor, &firmware_version, NULL, NULL);
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+       if (vendor != 0x49465800) {
+               return TPM_E_BAD_ORDINAL;
+       }
+
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       result = TlclSendReceive(tpm_ifx_fieldupgradeinforequest2_cmd.buffer,
+                                response, sizeof(response));
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+
+       const uint8_t* cursor = response + kTpmResponseHeaderLength;
+       uint16_t size = ReadTpmUint16(&cursor);
+
+       /* Comments below indicate skipped fields of unknown purpose that are
+        * marked "internal" in the firmware updater source. */
+       cursor += sizeof(uint16_t);  /* internal1 */
+       info->wMaxDataSize = ReadTpmUint16(&cursor);
+       cursor += sizeof(uint16_t);  /* sSecurityModuleLogic.internal1 */
+       cursor += sizeof(uint32_t);  /* sSecurityModuleLogic.internal2 */
+       cursor += sizeof(uint8_t[34]);  /* sSecurityModuleLogic.internal3 */
+       ParseIFXFirmwarePackage(&cursor, &info->sBootloaderFirmwarePackage);
+       uint16_t fw_entry_count = ReadTpmUint16(&cursor);
+       if (fw_entry_count > ARRAY_SIZE(info->sFirmwarePackages)) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+       uint16_t i;
+       for (i = 0; i < fw_entry_count; ++i) {
+               ParseIFXFirmwarePackage(&cursor, &info->sFirmwarePackages[i]);
+       }
+       info->wSecurityModuleStatus = ReadTpmUint16(&cursor);
+       ParseIFXFirmwarePackage(&cursor, &info->sProcessFirmwarePackage);
+       cursor += sizeof(uint16_t);  /* internal6 */
+       cursor += sizeof(uint8_t[6]);  /* internal7 */
+       info->wFieldUpgradeCounter = ReadTpmUint16(&cursor);
+
+       uint32_t parsed_bytes = cursor - response;
+       VB2_ASSERT(parsed_bytes <= TPM_LARGE_ENOUGH_COMMAND_SIZE);
+       if (parsed_bytes > kTpmResponseHeaderLength + sizeof(size) + size) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       return result;
+}
+
+#ifdef CHROMEOS_ENVIRONMENT
+
+static uint32_t ParseRsaKeyParms(const uint8_t* buffer,
+                                const uint8_t* end,
+                                uint32_t* key_len,
+                                uint32_t* num_primes,
+                                uint32_t* exponent)
+{
+       if (end - buffer < 3 * sizeof(uint32_t)) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+       *key_len = ReadTpmUint32(&buffer);
+       *num_primes = ReadTpmUint32(&buffer);
+       uint32_t exponent_size = ReadTpmUint32(&buffer);
+       if (end - buffer < exponent_size) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       if (exponent_size == 0) {
+               *exponent = 0x10001;
+       } else if (exponent_size <= sizeof(*exponent)) {
+               *exponent = 0;
+               int i;
+               for (i = 0; i < exponent_size; ++i) {
+                       *exponent |= (*buffer++) << (8 * i);
+               }
+       } else {
+               return TPM_E_INTERNAL_ERROR;
+       }
+
+       return TPM_SUCCESS;
+}
+
+static uint32_t ParseTpmPubKey(const uint8_t** buffer,
+                              const uint8_t* end,
+                              uint32_t* algorithm,
+                              uint16_t* enc_scheme,
+                              uint16_t* sig_scheme,
+                              uint32_t* key_len,
+                              uint32_t* num_primes,
+                              uint32_t* exponent,
+                              uint8_t* modulus,
+                              uint32_t* modulus_size)
+{
+       uint32_t result = TPM_SUCCESS;
+
+       if (end - *buffer < 2 * sizeof(uint32_t) + 2 * sizeof(uint16_t)) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       *algorithm = ReadTpmUint32(buffer);
+       *enc_scheme = ReadTpmUint16(buffer);
+       *sig_scheme = ReadTpmUint16(buffer);
+
+       uint32_t parm_size = ReadTpmUint32(buffer);
+       if (end - *buffer < parm_size) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       if (*algorithm == TPM_ALG_RSA) {
+               result = ParseRsaKeyParms(*buffer, *buffer + parm_size,
+                                         key_len, num_primes, exponent);
+               if (result != TPM_SUCCESS) {
+                       return result;
+               }
+       } else {
+               return TPM_E_INTERNAL_ERROR;
+       }
+
+       *buffer += parm_size;
+
+       if (end - *buffer < sizeof(uint32_t)) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       uint32_t actual_modulus_size = ReadTpmUint32(buffer);
+       if (end - *buffer < actual_modulus_size) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       if (modulus && *modulus_size >= actual_modulus_size) {
+               memcpy(modulus, *buffer, actual_modulus_size);
+       } else {
+               result = TPM_E_BUFFER_SIZE;
+       }
+       *modulus_size = actual_modulus_size;
+       *buffer += actual_modulus_size;
+
+       return result;
+}
+
+uint32_t TlclReadPubek(uint32_t* public_exponent,
+                      uint8_t* modulus,
+                      uint32_t* modulus_size)
+{
+       struct s_tpm_readpubek_cmd cmd;
+       memcpy(&cmd, &tpm_readpubek_cmd, sizeof(cmd));
+       if (vb2ex_tpm_get_random(cmd.buffer + tpm_readpubek_cmd.antiReplay,
+                                sizeof(TPM_NONCE)) != VB2_SUCCESS) {
+               return TPM_E_INTERNAL_ERROR;
+       }
+
+       /* The response contains the public endorsement key, so use a large
+        * response buffer. */
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE + TPM_RSA_2048_LEN];
+       uint32_t result = TlclSendReceive(cmd.buffer, response,
+                                         sizeof(response));
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+
+       const uint8_t* cursor = response + kTpmResponseHeaderLength;
+       const uint8_t* end = response + sizeof(response);
+
+       /* Parse the key */
+       uint32_t algorithm;
+       uint16_t enc_scheme;
+       uint16_t sig_scheme;
+       uint32_t key_len;
+       uint32_t num_primes;
+       result = ParseTpmPubKey(&cursor, end, &algorithm, &enc_scheme,
+                               &sig_scheme, &key_len, &num_primes,
+                               public_exponent, modulus, modulus_size);
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+
+       /* Parse the checksum */
+       if (end - cursor < TPM_SHA1_160_HASH_LEN) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+       const uint8_t* checksum = cursor;
+       cursor += TPM_SHA1_160_HASH_LEN;
+
+       /* Check the digest */
+       struct vb2_sha1_context sha1_ctx;
+       vb2_sha1_init(&sha1_ctx);
+       vb2_sha1_update(&sha1_ctx, response + kTpmResponseHeaderLength,
+                       checksum - (response + kTpmResponseHeaderLength));
+       vb2_sha1_update(&sha1_ctx, cmd.buffer + tpm_readpubek_cmd.antiReplay,
+                       sizeof(TPM_NONCE));
+       uint8_t digest[TPM_SHA1_160_HASH_LEN];
+       vb2_sha1_finalize(&sha1_ctx, digest);
+       if (vb2_safe_memcmp(digest, checksum, sizeof(digest))) {
+               return TPM_E_AUTHFAIL;
+       }
+
+       /* Validate expectations for the EK. */
+       if (algorithm != TPM_ALG_RSA ||
+           enc_scheme != TPM_ES_RSAESOAEP_SHA1_MGF1 ||
+           sig_scheme != TPM_SS_NONE ||
+           key_len != 2048 ||
+           num_primes != 2) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       return result;
+}
+
+uint32_t TlclTakeOwnership(uint8_t enc_owner_auth[TPM_RSA_2048_LEN],
+                          uint8_t enc_srk_auth[TPM_RSA_2048_LEN],
+                          uint8_t owner_auth[TPM_AUTH_DATA_LEN])
+{
+       /* Start an OAIP session. */
+       struct auth_session auth_session;
+       uint32_t result = StartOIAPSession(&auth_session, owner_auth);
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+
+       /* Build the TakeOwnership command. */
+       struct s_tpm_takeownership_cmd cmd;
+       memcpy(&cmd, &tpm_takeownership_cmd, sizeof(cmd));
+       memcpy(cmd.buffer + tpm_takeownership_cmd.encOwnerAuth, enc_owner_auth,
+              TPM_RSA_2048_LEN);
+       memcpy(cmd.buffer + tpm_takeownership_cmd.encSrkAuth, enc_srk_auth,
+              TPM_RSA_2048_LEN);
+       result = AddRequestAuthBlock(&auth_session, cmd.buffer,
+                                    sizeof(cmd.buffer), 0);
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+
+       /* The response buffer needs to be large to hold the public half of the
+        * generated SRK. */
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE + TPM_RSA_2048_LEN];
+       result = TlclSendReceive(cmd.buffer, response, sizeof(response));
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+
+       /* Check the auth tag on the response. */
+       result = CheckResponseAuthBlock(&auth_session, TPM_ORD_TakeOwnership,
+                                       response, sizeof(response));
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+
+       return TPM_SUCCESS;
+}
+
+uint32_t TlclCreateDelegationFamily(uint8_t family_label)
+{
+       struct s_tpm_create_delegation_family_cmd cmd;
+       memcpy(&cmd, &tpm_create_delegation_family_cmd, sizeof(cmd));
+       cmd.buffer[tpm_create_delegation_family_cmd.familyLabel] = family_label;
+       return Send(cmd.buffer);
+}
+
+uint32_t TlclReadDelegationFamilyTable(TPM_FAMILY_TABLE_ENTRY *table,
+                                      uint32_t* table_size)
+{
+       uint8_t response[TPM_LARGE_ENOUGH_COMMAND_SIZE];
+       uint32_t result = TlclSendReceive(tpm_delegate_read_table_cmd.buffer,
+                                         response, sizeof(response));
+       if (result != TPM_SUCCESS) {
+               return result;
+       }
+
+       uint32_t size;
+       FromTpmUint32(response + sizeof(uint16_t), &size);
+       if (size < kTpmRequestHeaderLength + sizeof(uint32_t) ||
+           size > sizeof(response)) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       const uint8_t* cursor = response + kTpmRequestHeaderLength;
+       uint32_t table_bytes = ReadTpmUint32(&cursor);
+
+       if (table_bytes > size - (cursor - response)) {
+               return TPM_E_INVALID_RESPONSE;
+       }
+
+       const uint32_t table_entry_size =
+               sizeof(uint16_t) + sizeof(uint8_t) + 3 * sizeof(uint32_t);
+       uint32_t table_entries = table_bytes / table_entry_size;
+       int i;
+       for (i = 0; i < table_entries; ++i) {
+               if (i >= *table_size || !table) {
+                       result = TPM_E_BUFFER_SIZE;
+                       break;
+               }
+
+               table[i].tag = ReadTpmUint16(&cursor);
+               table[i].familyLabel = *cursor++;
+               table[i].familyID = ReadTpmUint32(&cursor);
+               table[i].verificationCount = ReadTpmUint32(&cursor);
+               table[i].flags = ReadTpmUint32(&cursor);
+       }
+
+       *table_size = table_entries;
+
+       return result;
+}
+
+#endif  /* CHROMEOS_ENVIRONMENT */
diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c
new file mode 100644 (file)
index 0000000..85a8f4b
--- /dev/null
@@ -0,0 +1,263 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * High-level firmware wrapper API - entry points for kernel selection
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2kernel.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2secdata.h"
+#include "2sysincludes.h"
+#include "load_kernel_fw.h"
+#include "vboot_api.h"
+#include "vboot_struct.h"
+#include "vboot_test.h"
+
+/* Global variables */
+static VbSelectAndLoadKernelParams *kparams_ptr;
+
+#ifdef CHROMEOS_ENVIRONMENT
+/* Global variable accessor for unit tests */
+struct VbSelectAndLoadKernelParams **VbApiKernelGetParamsPtr(void)
+{
+       return &kparams_ptr;
+}
+#endif
+
+static vb2_error_t handle_battery_cutoff(struct vb2_context *ctx)
+{
+       /*
+        * Check if we need to cut-off battery. This should be done after EC
+        * FW and auxfw are updated, and before the kernel is started.  This
+        * is to make sure all firmware is up-to-date before shipping (which
+        * is the typical use-case for cutoff).
+        */
+       if (vb2_nv_get(ctx, VB2_NV_BATTERY_CUTOFF_REQUEST)) {
+               VB2_DEBUG("Request to cut-off battery\n");
+               vb2_nv_set(ctx, VB2_NV_BATTERY_CUTOFF_REQUEST, 0);
+
+               /* May lose power immediately, so commit our update now. */
+               VB2_TRY(vb2ex_commit_data(ctx));
+
+               vb2ex_ec_battery_cutoff();
+               return VB2_REQUEST_SHUTDOWN;
+       }
+
+       return VB2_SUCCESS;
+}
+
+static int is_valid_disk(VbDiskInfo *info, uint32_t disk_flags)
+{
+       return info->bytes_per_lba >= 512 &&
+               (info->bytes_per_lba & (info->bytes_per_lba - 1)) == 0 &&
+               info->lba_count >= 16 &&
+               (info->flags & disk_flags & VB_DISK_FLAG_SELECT_MASK) &&
+               ((info->flags & VB_DISK_FLAG_SELECT_MASK) &
+                ((info->flags & VB_DISK_FLAG_SELECT_MASK) - 1)) == 0;
+}
+
+static vb2_error_t VbTryLoadKernelImpl(struct vb2_context *ctx,
+                                      uint32_t disk_flags, int minios,
+                                      uint32_t minios_flags)
+{
+       vb2_error_t rv = VB2_ERROR_LK_NO_DISK_FOUND;
+       VbDiskInfo* disk_info = NULL;
+       uint32_t disk_count = 0;
+       uint32_t i;
+       vb2_error_t new_rv;
+
+       /* TODO: Should have been set by VbSelectAndLoadKernel. Remove when
+          this global is no longer needed. */
+       VB2_ASSERT(kparams_ptr);
+
+       kparams_ptr->disk_handle = NULL;
+
+       /* Find disks */
+       if (VB2_SUCCESS != VbExDiskGetInfo(&disk_info, &disk_count, disk_flags))
+               disk_count = 0;
+
+       /* Loop over disks */
+       for (i = 0; i < disk_count; i++) {
+               VB2_DEBUG("trying disk %d\n", (int)i);
+
+               if (!is_valid_disk(&disk_info[i], disk_flags)) {
+                       VB2_DEBUG("  skipping: bytes_per_lba=%" PRIu64
+                                 " lba_count=%" PRIu64 " flags=%#x\n",
+                                 disk_info[i].bytes_per_lba,
+                                 disk_info[i].lba_count,
+                                 disk_info[i].flags);
+                       continue;
+               }
+               kparams_ptr->disk_handle = disk_info[i].handle;
+
+               if (minios) {
+                       new_rv = LoadMiniOsKernel(ctx, kparams_ptr,
+                                                 &disk_info[i], minios_flags);
+                       VB2_DEBUG("LoadMiniOsKernel() = %#x\n", new_rv);
+               } else {
+                       new_rv = LoadKernel(ctx, kparams_ptr, &disk_info[i]);
+                       VB2_DEBUG("LoadKernel() = %#x\n", new_rv);
+               }
+
+               /* Stop now if we found a kernel. */
+               if (VB2_SUCCESS == new_rv) {
+                       VbExDiskFreeInfo(disk_info, disk_info[i].handle);
+                       return VB2_SUCCESS;
+               }
+
+               /* Don't update error if we already have a more specific one. */
+               if (VB2_ERROR_LK_INVALID_KERNEL_FOUND != rv)
+                       rv = new_rv;
+       }
+
+       /* If we drop out of the loop, we didn't find any usable kernel. */
+       if (!(ctx->flags & VB2_CONTEXT_RECOVERY_MODE) &&
+           !(ctx->flags & VB2_CONTEXT_DEVELOPER_MODE)) {
+               switch (rv) {
+               case VB2_ERROR_LK_INVALID_KERNEL_FOUND:
+                       vb2api_fail(ctx, VB2_RECOVERY_RW_INVALID_OS, rv);
+                       break;
+               case VB2_ERROR_LK_NO_KERNEL_FOUND:
+                       vb2api_fail(ctx, VB2_RECOVERY_RW_NO_KERNEL, rv);
+                       break;
+               case VB2_ERROR_LK_NO_DISK_FOUND:
+                       vb2api_fail(ctx, VB2_RECOVERY_RW_NO_DISK, rv);
+                       break;
+               default:
+                       vb2api_fail(ctx, VB2_RECOVERY_LK_UNSPECIFIED, rv);
+                       break;
+               }
+       }
+
+       /* If we didn't find any good kernels, don't return a disk handle. */
+       VbExDiskFreeInfo(disk_info, NULL);
+
+       return rv;
+}
+
+test_mockable
+vb2_error_t VbTryLoadKernel(struct vb2_context *ctx, uint32_t disk_flags)
+{
+       return VbTryLoadKernelImpl(ctx, disk_flags, 0, 0);
+}
+
+test_mockable
+vb2_error_t VbTryLoadMiniOsKernel(struct vb2_context *ctx,
+                                 uint32_t minios_flags)
+{
+       return VbTryLoadKernelImpl(ctx, VB_DISK_FLAG_FIXED, 1, minios_flags);
+}
+
+vb2_error_t VbSelectAndLoadKernel(struct vb2_context *ctx,
+                                 VbSelectAndLoadKernelParams *kparams)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       vb2_gbb_flags_t gbb_flags = vb2api_gbb_get_flags(ctx);
+
+       /* TODO: Send this argument through subsequent function calls, rather
+          than relying on a global to pass it to VbTryLoadKernel. */
+       kparams_ptr = kparams;
+
+       /* Init nvstorage space. TODO(kitching): Remove once we add assertions
+          to vb2_nv_get and vb2_nv_set. */
+       vb2_nv_init(ctx);
+
+       VB2_TRY(vb2api_kernel_phase1(ctx));
+
+       VB2_DEBUG("GBB flags are %#x\n", gbb_flags);
+
+       /*
+        * Do EC and auxfw software sync unless we're in recovery mode. This
+        * has UI but it's just a single non-interactive WAIT screen.
+        */
+       if (!(ctx->flags & VB2_CONTEXT_RECOVERY_MODE)) {
+               VB2_TRY(vb2api_ec_sync(ctx));
+               VB2_TRY(vb2api_auxfw_sync(ctx));
+               VB2_TRY(handle_battery_cutoff(ctx));
+       }
+
+       /*
+        * If in the broken screen, save the recovery reason as subcode.
+        * Otherwise, clear any leftover recovery requests or subcodes.
+        */
+       vb2_clear_recovery(ctx);
+
+       /* Select boot path */
+       switch (ctx->boot_mode) {
+       case VB2_BOOT_MODE_MANUAL_RECOVERY:
+       case VB2_BOOT_MODE_BROKEN_SCREEN:
+               /* If we're in recovery mode just to do memory retraining, all
+                  we need to do is reboot. */
+               if (sd->recovery_reason == VB2_RECOVERY_TRAIN_AND_REBOOT) {
+                       VB2_DEBUG("Reboot after retraining in recovery\n");
+                       return VB2_REQUEST_REBOOT;
+               }
+
+               /*
+                * Need to commit nvdata changes immediately, since we will be
+                * entering either manual recovery UI or BROKEN screen shortly.
+                */
+               vb2ex_commit_data(ctx);
+
+               /*
+                * In EFS2, recovery mode can be entered even when battery is
+                * drained or damaged. EC-RO sets NO_BOOT flag in such case and
+                * uses PD power to boot AP.
+                *
+                * TODO: Inform user why recovery failed to start.
+                */
+               if (ctx->flags & VB2_CONTEXT_NO_BOOT)
+                       VB2_DEBUG("NO_BOOT in RECOVERY mode\n");
+
+               /* Recovery boot.  This has UI. */
+               if (ctx->boot_mode == VB2_BOOT_MODE_MANUAL_RECOVERY)
+                       VB2_TRY(vb2ex_manual_recovery_ui(ctx));
+               else
+                       VB2_TRY(vb2ex_broken_screen_ui(ctx));
+               break;
+       case VB2_BOOT_MODE_DIAGNOSTICS:
+               /*
+                * Need to clear the request flag and commit nvdata changes
+                * immediately to avoid booting back into diagnostic tool when a
+                * forced system reset occurs.
+                */
+               vb2_nv_set(ctx, VB2_NV_DIAG_REQUEST, 0);
+               vb2ex_commit_data(ctx);
+
+               /* Diagnostic boot.  This has UI. */
+               VB2_TRY(vb2ex_diagnostic_ui(ctx));
+               /*
+                * The diagnostic menu should either boot a rom, or
+                * return either of reboot or shutdown.
+                */
+               return VB2_REQUEST_REBOOT;
+       case VB2_BOOT_MODE_DEVELOPER:
+               /* Developer boot.  This has UI. */
+               VB2_TRY(vb2ex_developer_ui(ctx));
+               break;
+       case VB2_BOOT_MODE_NORMAL:
+               /* Normal boot */
+               VB2_TRY(vb2_normal_boot(ctx));
+               break;
+       default:
+               return VB2_ERROR_ESCAPE_NO_BOOT;
+       }
+
+       /*
+        * Stop all cases returning SUCCESS against NO_BOOT flag except when
+        * GBB flag disables software sync.
+        */
+       if (!(gbb_flags & VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC)
+           && (ctx->flags & VB2_CONTEXT_NO_BOOT)) {
+               VB2_DEBUG("Blocking escape from NO_BOOT mode.\n");
+               vb2api_fail(ctx, VB2_RECOVERY_ESCAPE_NO_BOOT, 0);
+               return VB2_ERROR_ESCAPE_NO_BOOT;
+       }
+
+       return VB2_SUCCESS;
+}
diff --git a/firmware/lib/vboot_kernel.c b/firmware/lib/vboot_kernel.c
new file mode 100644 (file)
index 0000000..1edf4a5
--- /dev/null
@@ -0,0 +1,764 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Functions for loading a kernel from disk.
+ * (Firmware portion)
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2packed_key.h"
+#include "2secdata.h"
+#include "2sysincludes.h"
+#include "cgptlib.h"
+#include "cgptlib_internal.h"
+#include "gpt_misc.h"
+#include "load_kernel_fw.h"
+#include "vboot_api.h"
+
+enum vb2_load_partition_flags {
+       VB2_LOAD_PARTITION_FLAG_VBLOCK_ONLY = (1 << 0),
+       VB2_LOAD_PARTITION_FLAG_MINIOS = (1 << 1),
+};
+
+#define KBUF_SIZE 65536  /* Bytes to read at start of kernel partition */
+
+/* Minimum context work buffer size needed for vb2_load_partition() */
+#define VB2_LOAD_PARTITION_WORKBUF_BYTES       \
+       (VB2_VERIFY_KERNEL_PREAMBLE_WORKBUF_BYTES + KBUF_SIZE)
+
+#define LOWEST_TPM_VERSION 0xffffffff
+
+/**
+ * Check if a valid keyblock is required.
+ *
+ * @param ctx          Vboot context
+ * @return 1 if valid keyblock required (officially signed kernel);
+ *         0 if valid hash is enough (self-signed kernel).
+ */
+static int need_valid_keyblock(struct vb2_context *ctx)
+{
+       /* Normal and recovery modes always require official OS */
+       if (ctx->boot_mode != VB2_BOOT_MODE_DEVELOPER)
+               return 1;
+
+       /* FWMP can require developer mode to use signed kernels */
+       if (vb2_secdata_fwmp_get_flag(
+               ctx, VB2_SECDATA_FWMP_DEV_ENABLE_OFFICIAL_ONLY))
+               return 1;
+
+       /* Developers may require signed kernels */
+       if (vb2_nv_get(ctx, VB2_NV_DEV_BOOT_SIGNED_ONLY))
+               return 1;
+
+       return 0;
+}
+
+/**
+ * Return a pointer to the keyblock inside a vblock.
+ *
+ * Must only be called during or after vb2_verify_kernel_vblock().
+ *
+ * @param kbuf         Buffer containing vblock
+ * @return The keyblock pointer.
+ */
+static struct vb2_keyblock *get_keyblock(uint8_t *kbuf)
+{
+       return (struct vb2_keyblock *)kbuf;
+}
+
+/**
+ * Return a pointer to the kernel preamble inside a vblock.
+ *
+ * Must only be called during or after vb2_verify_kernel_vblock().
+ *
+ * @param kbuf         Buffer containing vblock
+ * @return The kernel preamble pointer.
+ */
+static struct vb2_kernel_preamble *get_preamble(uint8_t *kbuf)
+{
+       return (struct vb2_kernel_preamble *)
+                       (kbuf + get_keyblock(kbuf)->keyblock_size);
+}
+
+/**
+ * Return the offset of the kernel body from the start of the vblock.
+ *
+ * Must only be called during or after vb2_verify_kernel_vblock().
+ *
+ * @param kbuf         Buffer containing vblock
+ * @return The offset of the kernel body from the vblock start, in bytes.
+ */
+static uint32_t get_body_offset(uint8_t *kbuf)
+{
+       return (get_keyblock(kbuf)->keyblock_size +
+               get_preamble(kbuf)->preamble_size);
+}
+
+/**
+ * Verify developer mode key hash.
+ *
+ * @param ctx          Vboot context
+ * @param keyblock     Keyblock to verify
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+static vb2_error_t vb2_verify_kernel_dev_key_hash(
+       struct vb2_context *ctx, struct vb2_keyblock *keyblock)
+{
+       struct vb2_packed_key *key = &keyblock->data_key;
+       uint8_t *buf = ((uint8_t *)key) + key->key_offset;
+       uint32_t buflen = key->key_size;
+       uint8_t digest[VB2_SHA256_DIGEST_SIZE];
+
+       VB2_DEBUG("Checking developer key hash.\n");
+       VB2_TRY(vb2_digest_buffer(buf, buflen, VB2_HASH_SHA256, digest,
+                                 sizeof(digest)));
+
+       uint8_t *fwmp_dev_key_hash =
+               vb2_secdata_fwmp_get_dev_key_hash(ctx);
+       if (fwmp_dev_key_hash == NULL) {
+               VB2_DEBUG("Couldn't retrieve developer key hash.\n");
+               return VB2_ERROR_KERNEL_KEYBLOCK_DEV_KEY_HASH;
+       }
+
+       if (vb2_safe_memcmp(digest, fwmp_dev_key_hash,
+                           VB2_SHA256_DIGEST_SIZE)) {
+               int i;
+
+               VB2_DEBUG("Wrong developer key hash.\n");
+               VB2_DEBUG("Want: ");
+               for (i = 0; i < VB2_SHA256_DIGEST_SIZE; i++)
+                       VB2_DEBUG_RAW("%02x ", fwmp_dev_key_hash[i]);
+               VB2_DEBUG_RAW("\n");
+               VB2_DEBUG("Got:  ");
+               for (i = 0; i < VB2_SHA256_DIGEST_SIZE; i++)
+                       VB2_DEBUG_RAW("%02x ", digest[i]);
+               VB2_DEBUG_RAW("\n");
+
+               return VB2_ERROR_KERNEL_KEYBLOCK_DEV_KEY_HASH;
+       }
+
+       return VB2_SUCCESS;
+}
+
+/**
+ * Verify a kernel vblock.
+ *
+ * @param ctx          Vboot context
+ * @param kbuf         Buffer containing the vblock
+ * @param kbuf_size    Size of the buffer in bytes
+ * @param lpflags      Flags (one or more of vb2_load_partition_flags)
+ * @param wb           Work buffer.  Must be at least
+ *                     VB2_VERIFY_KERNEL_PREAMBLE_WORKBUF_BYTES bytes.
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+static vb2_error_t vb2_verify_kernel_vblock(
+       struct vb2_context *ctx, uint8_t *kbuf, uint32_t kbuf_size,
+       uint32_t lpflags, struct vb2_workbuf *wb)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+
+       uint8_t *key_data;
+       uint32_t key_size;
+       struct vb2_public_key kernel_key;
+
+       int need_keyblock_valid = need_valid_keyblock(ctx);
+       int keyblock_valid = 1;  /* Assume valid */
+
+       vb2_error_t rv;
+
+       /* Locate key to verify kernel.  This will either be a recovery key, or
+          a kernel subkey passed from firmware verification. */
+       key_data = vb2_member_of(sd, sd->kernel_key_offset);
+       key_size = sd->kernel_key_size;
+       VB2_TRY(vb2_unpack_key_buffer(&kernel_key, key_data, key_size));
+
+       if (vb2_hwcrypto_allowed(ctx))
+               kernel_key.allow_hwcrypto = 1;
+
+       /*
+        * Clear any previous keyblock-valid flag (for example, from a previous
+        * kernel where the keyblock was signed but the preamble failed
+        * verification).
+        */
+       sd->flags &= ~VB2_SD_FLAG_KERNEL_SIGNED;
+
+       /* Verify the keyblock. */
+       struct vb2_keyblock *keyblock = get_keyblock(kbuf);
+       rv = vb2_verify_keyblock(keyblock, kbuf_size, &kernel_key, wb);
+       if (rv) {
+               VB2_DEBUG("Verifying keyblock signature failed.\n");
+               keyblock_valid = 0;
+
+               /* Check if we must have an officially signed kernel */
+               if (need_keyblock_valid) {
+                       VB2_DEBUG("Self-signed kernels not enabled.\n");
+                       return rv;
+               }
+
+               /* Otherwise, allow the kernel if the keyblock hash is valid */
+               rv = vb2_verify_keyblock_hash(keyblock, kbuf_size, wb);
+               if (rv) {
+                       VB2_DEBUG("Verifying keyblock hash failed.\n");
+                       return rv;
+               }
+       }
+
+       /* Check the keyblock flags against boot flags. */
+       if (!(keyblock->keyblock_flags &
+             ((ctx->flags & VB2_CONTEXT_DEVELOPER_MODE) ?
+              VB2_KEYBLOCK_FLAG_DEVELOPER_1 :
+              VB2_KEYBLOCK_FLAG_DEVELOPER_0))) {
+               VB2_DEBUG("Keyblock developer flag mismatch.\n");
+               keyblock_valid = 0;
+               if (need_keyblock_valid)
+                       return VB2_ERROR_KERNEL_KEYBLOCK_DEV_FLAG;
+       }
+       if (!(keyblock->keyblock_flags &
+             ((ctx->flags & VB2_CONTEXT_RECOVERY_MODE) ?
+              VB2_KEYBLOCK_FLAG_RECOVERY_1 :
+              VB2_KEYBLOCK_FLAG_RECOVERY_0))) {
+               VB2_DEBUG("Keyblock recovery flag mismatch.\n");
+               keyblock_valid = 0;
+               if (need_keyblock_valid)
+                       return VB2_ERROR_KERNEL_KEYBLOCK_REC_FLAG;
+       }
+       if (!(keyblock->keyblock_flags &
+             ((lpflags & VB2_LOAD_PARTITION_FLAG_MINIOS) ?
+              VB2_KEYBLOCK_FLAG_MINIOS_1 :
+              VB2_KEYBLOCK_FLAG_MINIOS_0))) {
+               VB2_DEBUG("Keyblock miniOS flag mismatch.\n");
+               keyblock_valid = 0;
+               if (need_keyblock_valid)
+                       return VB2_ERROR_KERNEL_KEYBLOCK_MINIOS_FLAG;
+       }
+
+       /* Check for rollback of key version except in recovery mode. */
+       uint32_t key_version = keyblock->data_key.key_version;
+       if (ctx->boot_mode != VB2_BOOT_MODE_MANUAL_RECOVERY) {
+               if (key_version < (sd->kernel_version_secdata >> 16)) {
+                       keyblock_valid = 0;
+                       if (need_keyblock_valid) {
+                               VB2_DEBUG("Key version too old.\n");
+                               return VB2_ERROR_KERNEL_KEYBLOCK_VERSION_ROLLBACK;
+                       }
+               }
+               if (key_version > VB2_MAX_KEY_VERSION) {
+                       /*
+                        * Key version is stored in 16 bits in the TPM, so key
+                        * versions greater than 0xFFFF can't be stored
+                        * properly.
+                        */
+                       VB2_DEBUG("Key version > 0xFFFF.\n");
+                       keyblock_valid = 0;
+                       if (need_keyblock_valid)
+                               return VB2_ERROR_KERNEL_KEYBLOCK_VERSION_RANGE;
+               }
+       }
+
+       /* If in developer mode and using key hash, check it. */
+       if (ctx->boot_mode == VB2_BOOT_MODE_DEVELOPER &&
+           vb2_secdata_fwmp_get_flag(ctx, VB2_SECDATA_FWMP_DEV_USE_KEY_HASH)) {
+               VB2_TRY(vb2_verify_kernel_dev_key_hash(ctx, keyblock));
+       }
+
+       /*
+        * At this point, we've checked everything.  The kernel keyblock is at
+        * least self-consistent, and has either a valid signature or a valid
+        * hash.  Track if it had a valid signature (that is, would we have
+        * been willing to boot it even if developer mode was off).
+        */
+       if (keyblock_valid)
+               sd->flags |= VB2_SD_FLAG_KERNEL_SIGNED;
+
+       /* Get key for preamble verification from the keyblock. */
+       struct vb2_public_key data_key;
+       rv = vb2_unpack_key(&data_key, &keyblock->data_key);
+       if (rv) {
+               VB2_DEBUG("Unable to unpack kernel data key\n");
+               return rv;
+       }
+
+       /* Verify the preamble, which follows the keyblock */
+       struct vb2_kernel_preamble *preamble = get_preamble(kbuf);
+       rv = vb2_verify_kernel_preamble(preamble,
+                                       kbuf_size - keyblock->keyblock_size,
+                                       &data_key,
+                                       wb);
+       if (rv) {
+               VB2_DEBUG("Preamble verification failed.\n");
+               return rv;
+       }
+
+       /* Rollback check for miniOS */
+       if (need_keyblock_valid && (lpflags & VB2_LOAD_PARTITION_FLAG_MINIOS)) {
+               if (preamble->kernel_version <
+                   (sd->kernel_version_secdata >> 24)) {
+                       keyblock_valid = 0;
+                       if (need_keyblock_valid) {
+                               VB2_DEBUG("miniOS kernel version too old.\n");
+                               return VB2_ERROR_KERNEL_PREAMBLE_VERSION_ROLLBACK;
+                       }
+               }
+               if (preamble->kernel_version > 0xff) {
+                       /*
+                        * Key version is stored in the top 8 bits of 16 bits
+                        * in the TPM, so key versions greater than 0xFF can't
+                        * be stored properly.
+                        */
+                       VB2_DEBUG("Key version > 0xFF.\n");
+                       keyblock_valid = 0;
+                       if (need_keyblock_valid)
+                               return VB2_ERROR_KERNEL_PREAMBLE_VERSION_RANGE;
+               }
+       }
+
+       /*
+        * Kernel preamble version is the lower 16 bits of the composite
+        * kernel version.
+        */
+       if (preamble->kernel_version > VB2_MAX_PREAMBLE_VERSION)
+               return VB2_ERROR_KERNEL_PREAMBLE_VERSION_RANGE;
+
+       /* Combine with the key version. */
+       sd->kernel_version = key_version << 16 | preamble->kernel_version;
+
+       /* If not in recovery mode, check for rollback of the kernel version. */
+       if (need_keyblock_valid &&
+           ctx->boot_mode != VB2_BOOT_MODE_MANUAL_RECOVERY &&
+           sd->kernel_version < sd->kernel_version_secdata) {
+               VB2_DEBUG("Kernel version too low.\n");
+               return VB2_ERROR_KERNEL_PREAMBLE_VERSION_ROLLBACK;
+       }
+
+       VB2_DEBUG("Kernel preamble is good.\n");
+       return VB2_SUCCESS;
+}
+
+/**
+ * Load and verify a partition from the stream.
+ *
+ * @param ctx          Vboot context
+ * @param params       Load-kernel parameters
+ * @param stream       Stream to load kernel from
+ * @param lpflags      Flags (one or more of vb2_load_partition_flags)
+ * @return VB2_SUCCESS, or non-zero error code.
+ */
+static vb2_error_t vb2_load_partition(
+       struct vb2_context *ctx, VbSelectAndLoadKernelParams *params,
+       VbExStream_t stream, uint32_t lpflags)
+{
+       uint32_t read_ms = 0, start_ts;
+       struct vb2_workbuf wb;
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       /* Allocate kernel header buffer in workbuf */
+       uint8_t *kbuf = vb2_workbuf_alloc(&wb, KBUF_SIZE);
+       if (!kbuf)
+               return VB2_ERROR_LOAD_PARTITION_WORKBUF;
+
+       start_ts = vb2ex_mtime();
+       if (VbExStreamRead(stream, KBUF_SIZE, kbuf)) {
+               VB2_DEBUG("Unable to read start of partition.\n");
+               return VB2_ERROR_LOAD_PARTITION_READ_VBLOCK;
+       }
+       read_ms += vb2ex_mtime() - start_ts;
+
+       if (vb2_verify_kernel_vblock(ctx, kbuf, KBUF_SIZE, lpflags, &wb))
+               return VB2_ERROR_LOAD_PARTITION_VERIFY_VBLOCK;
+
+       if (lpflags & VB2_LOAD_PARTITION_FLAG_VBLOCK_ONLY)
+               return VB2_SUCCESS;
+
+       struct vb2_keyblock *keyblock = get_keyblock(kbuf);
+       struct vb2_kernel_preamble *preamble = get_preamble(kbuf);
+
+       /*
+        * Make sure the kernel starts at or before what we already read into
+        * kbuf.
+        *
+        * We could deal with a larger offset by reading and discarding the
+        * data in between the vblock and the kernel data.
+        */
+       uint32_t body_offset = get_body_offset(kbuf);
+       if (body_offset > KBUF_SIZE) {
+               VB2_DEBUG("Kernel body offset is %u > 64KB.\n", body_offset);
+               return VB2_ERROR_LOAD_PARTITION_BODY_OFFSET;
+       }
+
+       uint8_t *kernbuf = params->kernel_buffer;
+       uint32_t kernbuf_size = params->kernel_buffer_size;
+       if (!kernbuf) {
+               /* Get kernel load address and size from the header. */
+               kernbuf = (uint8_t *)((long)preamble->body_load_address);
+               kernbuf_size = preamble->body_signature.data_size;
+       } else if (preamble->body_signature.data_size > kernbuf_size) {
+               VB2_DEBUG("Kernel body doesn't fit in memory.\n");
+               return  VB2_ERROR_LOAD_PARTITION_BODY_SIZE;
+       }
+
+       uint32_t body_toread = preamble->body_signature.data_size;
+       uint8_t *body_readptr = kernbuf;
+
+       /*
+        * If we've already read part of the kernel, copy that to the beginning
+        * of the kernel buffer.
+        */
+       uint32_t body_copied = KBUF_SIZE - body_offset;
+       if (body_copied > body_toread)
+               body_copied = body_toread;  /* Don't over-copy tiny kernel */
+       memcpy(body_readptr, kbuf + body_offset, body_copied);
+       body_toread -= body_copied;
+       body_readptr += body_copied;
+
+       /* Read the kernel data */
+       start_ts = vb2ex_mtime();
+       if (body_toread && VbExStreamRead(stream, body_toread, body_readptr)) {
+               VB2_DEBUG("Unable to read kernel data.\n");
+               return VB2_ERROR_LOAD_PARTITION_READ_BODY;
+       }
+       read_ms += vb2ex_mtime() - start_ts;
+       if (read_ms == 0)  /* Avoid division by 0 in speed calculation */
+               read_ms = 1;
+       VB2_DEBUG("read %u KB in %u ms at %u KB/s.\n",
+                 (body_toread + KBUF_SIZE) / 1024, read_ms,
+                 (uint32_t)(((body_toread + KBUF_SIZE) * VB2_MSEC_PER_SEC) /
+                            (read_ms * 1024)));
+
+       /* Get key for preamble/data verification from the keyblock. */
+       struct vb2_public_key data_key;
+       if (vb2_unpack_key(&data_key, &keyblock->data_key)) {
+               VB2_DEBUG("Unable to unpack kernel data key\n");
+               return VB2_ERROR_LOAD_PARTITION_DATA_KEY;
+       }
+
+       if (vb2_hwcrypto_allowed(ctx))
+               data_key.allow_hwcrypto = 1;
+
+       /* Verify kernel data */
+       if (vb2_verify_data(kernbuf, kernbuf_size, &preamble->body_signature,
+                           &data_key, &wb)) {
+               VB2_DEBUG("Kernel data verification failed.\n");
+               return VB2_ERROR_LOAD_PARTITION_VERIFY_BODY;
+       }
+
+       /* If we're still here, the kernel is valid */
+       VB2_DEBUG("Partition is good.\n");
+
+       /* Save kernel data back to parameters */
+       params->bootloader_address = preamble->bootloader_address;
+       params->bootloader_size = preamble->bootloader_size;
+       params->flags = vb2_kernel_get_flags(preamble);
+       if (!params->kernel_buffer) {
+               params->kernel_buffer = kernbuf;
+               params->kernel_buffer_size = kernbuf_size;
+       }
+
+       return VB2_SUCCESS;
+}
+
+static vb2_error_t try_minios_kernel(struct vb2_context *ctx,
+                                    VbSelectAndLoadKernelParams *params,
+                                    VbDiskInfo *disk_info,
+                                    uint64_t sector) {
+       VbExStream_t stream;
+       uint64_t sectors_left = disk_info->lba_count - sector;
+       const uint32_t lpflags = VB2_LOAD_PARTITION_FLAG_MINIOS;
+       vb2_error_t rv = VB2_ERROR_LK_NO_KERNEL_FOUND;
+
+       /* Re-open stream at correct offset to pass to vb2_load_partition. */
+       if (VbExStreamOpen(params->disk_handle, sector, sectors_left,
+                          &stream)) {
+               VB2_DEBUG("Unable to open disk handle.\n");
+               return rv;
+       }
+
+       rv = vb2_load_partition(ctx, params, stream, lpflags);
+       VB2_DEBUG("vb2_load_partition returned: %d\n", rv);
+
+       VbExStreamClose(stream);
+
+       if (rv)
+               return VB2_ERROR_LK_NO_KERNEL_FOUND;
+       return rv;
+}
+
+static vb2_error_t try_minios_sectors(struct vb2_context *ctx,
+                                     VbSelectAndLoadKernelParams *params,
+                                     VbDiskInfo *disk_info,
+                                     uint64_t start, uint64_t count)
+{
+       const uint32_t buf_size = count * disk_info->bytes_per_lba;
+       char *buf;
+       VbExStream_t stream;
+       uint64_t isector;
+       vb2_error_t rv = VB2_ERROR_LK_NO_KERNEL_FOUND;
+
+       buf = malloc(buf_size);
+       if (buf == NULL) {
+               VB2_DEBUG("Unable to allocate disk read buffer.\n");
+               return rv;
+       }
+
+       if (VbExStreamOpen(params->disk_handle, start, count, &stream)) {
+               VB2_DEBUG("Unable to open disk handle.\n");
+               free(buf);
+               return rv;
+       }
+       if (VbExStreamRead(stream, buf_size, buf)) {
+               VB2_DEBUG("Unable to read disk.\n");
+               free(buf);
+               VbExStreamClose(stream);
+               return rv;
+       }
+       VbExStreamClose(stream);
+
+       for (isector = 0; isector < count; isector++) {
+               if (memcmp(buf + isector * disk_info->bytes_per_lba,
+                          VB2_KEYBLOCK_MAGIC, VB2_KEYBLOCK_MAGIC_SIZE))
+                       continue;
+               VB2_DEBUG("Match on sector %" PRIu64 " / %" PRIu64 "\n",
+                         start + isector,
+                         disk_info->lba_count - 1);
+               rv = try_minios_kernel(ctx, params, disk_info, start + isector);
+               if (rv == VB2_SUCCESS)
+                       break;
+       }
+
+       free(buf);
+       return rv;
+}
+
+static vb2_error_t try_minios_sector_region(struct vb2_context *ctx,
+                                           VbSelectAndLoadKernelParams *params,
+                                           VbDiskInfo *disk_info,
+                                           int end_region)
+{
+       const uint64_t disk_count_half = (disk_info->lba_count + 1) / 2;
+       const uint64_t check_count_256 = 256 * 1024
+               * 1024 / disk_info->bytes_per_lba;  // 256 MB
+       const uint64_t batch_count_1 = 1024
+               * 1024 / disk_info->bytes_per_lba;  // 1 MB
+       const uint64_t check_count = VB2_MIN(disk_count_half, check_count_256);
+       const uint64_t batch_count = VB2_MIN(disk_count_half, batch_count_1);
+       uint64_t sector;
+       uint64_t start;
+       uint64_t end;
+       const char *region_name;
+       vb2_error_t rv = VB2_ERROR_LK_NO_KERNEL_FOUND;
+
+       if (!end_region) {
+               start = 0;
+               end = check_count;
+               region_name = "start";
+       } else {
+               start = disk_info->lba_count - check_count;
+               end = disk_info->lba_count;
+               region_name = "end";
+       }
+
+       VB2_DEBUG("Checking %s of disk for kernels...\n", region_name);
+       for (sector = start; sector < end; sector += batch_count) {
+               rv = try_minios_sectors(ctx, params, disk_info, sector,
+                                       batch_count);
+               if (rv == VB2_SUCCESS)
+                       return rv;
+       }
+
+       return rv;
+}
+
+/*
+ * Search for kernels by sector, rather than by partition.  Only sectors near
+ * the start and end of disks are considered, and the kernel must start exactly
+ * at the first byte of the sector.
+ */
+vb2_error_t LoadMiniOsKernel(struct vb2_context *ctx,
+                            VbSelectAndLoadKernelParams *params,
+                            VbDiskInfo *disk_info, uint32_t minios_flags)
+{
+       vb2_error_t rv;
+       int end_region_first = vb2_nv_get(ctx, VB2_NV_MINIOS_PRIORITY);
+
+       if (minios_flags & VB_MINIOS_FLAG_NON_ACTIVE)
+               rv = VB2_ERROR_UNKNOWN;  /* Ignore active partition */
+       else
+               rv = try_minios_sector_region(ctx, params, disk_info,
+                                             end_region_first);
+
+       if (rv)
+               rv = try_minios_sector_region(ctx, params, disk_info,
+                                             !end_region_first);
+       if (rv)
+               return rv;
+
+       rv = vb2ex_tpm_set_mode(VB2_TPM_MODE_DISABLED);
+       if (rv)
+               VB2_DEBUG("Failed to disable TPM\n");
+
+       return rv;
+}
+
+vb2_error_t LoadKernel(struct vb2_context *ctx,
+                      VbSelectAndLoadKernelParams *params,
+                      VbDiskInfo *disk_info)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       int found_partitions = 0;
+       uint32_t lowest_version = LOWEST_TPM_VERSION;
+       vb2_error_t rv;
+
+       /* Clear output params */
+       params->partition_number = 0;
+
+       /* Read GPT data */
+       GptData gpt;
+       gpt.sector_bytes = (uint32_t)disk_info->bytes_per_lba;
+       gpt.streaming_drive_sectors = disk_info->streaming_lba_count
+               ?: disk_info->lba_count;
+       gpt.gpt_drive_sectors = disk_info->lba_count;
+       gpt.flags = disk_info->flags & VB_DISK_FLAG_EXTERNAL_GPT
+                       ? GPT_FLAG_EXTERNAL : 0;
+       if (AllocAndReadGptData(disk_info->handle, &gpt)) {
+               VB2_DEBUG("Unable to read GPT data\n");
+               goto gpt_done;
+       }
+
+       /* Initialize GPT library */
+       if (GptInit(&gpt)) {
+               VB2_DEBUG("Error parsing GPT\n");
+               goto gpt_done;
+       }
+
+       /* Loop over candidate kernel partitions */
+       uint64_t part_start, part_size;
+       while (GptNextKernelEntry(&gpt, &part_start, &part_size) ==
+              GPT_SUCCESS) {
+
+               VB2_DEBUG("Found kernel entry at %"
+                         PRIu64 " size %" PRIu64 "\n",
+                         part_start, part_size);
+
+               /* Found at least one kernel partition. */
+               found_partitions++;
+
+               /* Set up the stream */
+               VbExStream_t stream = NULL;
+               if (VbExStreamOpen(disk_info->handle,
+                                  part_start, part_size, &stream)) {
+                       VB2_DEBUG("Partition error getting stream.\n");
+                       VB2_DEBUG("Marking kernel as invalid.\n");
+                       GptUpdateKernelEntry(&gpt, GPT_UPDATE_ENTRY_BAD);
+                       continue;
+               }
+
+               uint32_t lpflags = 0;
+               if (params->partition_number > 0) {
+                       /*
+                        * If we already have a good kernel, we only needed to
+                        * look at the vblock versions to check for rollback.
+                        */
+                       lpflags |= VB2_LOAD_PARTITION_FLAG_VBLOCK_ONLY;
+               }
+
+               rv = vb2_load_partition(ctx, params, stream, lpflags);
+               VbExStreamClose(stream);
+
+               if (rv) {
+                       VB2_DEBUG("Marking kernel as invalid (err=%x).\n", rv);
+                       GptUpdateKernelEntry(&gpt, GPT_UPDATE_ENTRY_BAD);
+                       continue;
+               }
+
+               int keyblock_valid = sd->flags & VB2_SD_FLAG_KERNEL_SIGNED;
+               /* Track lowest version from a valid header. */
+               if (keyblock_valid && lowest_version > sd->kernel_version) {
+                       lowest_version = sd->kernel_version;
+               }
+               VB2_DEBUG("Keyblock valid: %d\n", keyblock_valid);
+               VB2_DEBUG("Combined version: %u\n", sd->kernel_version);
+
+               /*
+                * If we're only looking at headers, we're done with this
+                * partition.
+                */
+               if (lpflags & VB2_LOAD_PARTITION_FLAG_VBLOCK_ONLY)
+                       continue;
+
+               /*
+                * Otherwise, we found a partition we like.
+                *
+                * TODO: GPT partitions start at 1, but cgptlib starts them at
+                * 0.  Adjust here, until cgptlib is fixed.
+                */
+               params->partition_number = gpt.current_kernel + 1;
+
+               /*
+                * TODO: GetCurrentKernelUniqueGuid() should take a destination
+                * size, or the dest should be a struct, so we know it's big
+                * enough.
+                */
+               GetCurrentKernelUniqueGuid(&gpt, &params->partition_guid);
+
+               /* Update GPT to note this is the kernel we're trying.
+                * But not when we assume that the boot process may
+                * not complete for valid reasons (eg. early shutdown).
+                */
+               if (!(ctx->flags & VB2_CONTEXT_NOFAIL_BOOT))
+                       GptUpdateKernelEntry(&gpt, GPT_UPDATE_ENTRY_TRY);
+
+               /*
+                * If we're in recovery mode or we're about to boot a
+                * non-officially-signed kernel, there's no rollback
+                * protection, so we can stop at the first valid kernel.
+                */
+               if (ctx->boot_mode == VB2_BOOT_MODE_MANUAL_RECOVERY ||
+                   !keyblock_valid) {
+                       VB2_DEBUG("In recovery mode or dev-signed kernel\n");
+                       break;
+               }
+
+               /*
+                * Otherwise, we do care about the key index in the TPM.  If
+                * the good partition's key version is the same as the tpm,
+                * then the TPM doesn't need updating; we can stop now.
+                * Otherwise, we'll check all the other headers to see if they
+                * contain a newer key.
+                */
+               if (sd->kernel_version == sd->kernel_version_secdata) {
+                       VB2_DEBUG("Same kernel version\n");
+                       break;
+               }
+       } /* while(GptNextKernelEntry) */
+
+ gpt_done:
+       /* Write and free GPT data */
+       WriteAndFreeGptData(disk_info->handle, &gpt);
+
+       /* Handle finding a good partition */
+       if (params->partition_number > 0) {
+               VB2_DEBUG("Good partition %d\n", params->partition_number);
+               /*
+                * Validity check - only store a new TPM version if we found
+                * one. If lowest_version is still at its initial value, we
+                * didn't find one; for example, we're in developer mode and
+                * just didn't look.
+                */
+               if (lowest_version != LOWEST_TPM_VERSION &&
+                   lowest_version > sd->kernel_version_secdata)
+                       sd->kernel_version = lowest_version;
+
+               /* Success! */
+               rv = VB2_SUCCESS;
+       } else if (found_partitions > 0) {
+               rv = VB2_ERROR_LK_INVALID_KERNEL_FOUND;
+       } else {
+               rv = VB2_ERROR_LK_NO_KERNEL_FOUND;
+       }
+
+       return rv;
+}
diff --git a/firmware/lib20/api_kernel.c b/firmware/lib20/api_kernel.c
new file mode 100644 (file)
index 0000000..403e932
--- /dev/null
@@ -0,0 +1,144 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Externally-callable APIs
+ * (Kernel portion)
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2secdata.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+
+vb2_error_t vb2api_load_kernel_vblock(struct vb2_context *ctx)
+{
+       /* Verify kernel keyblock */
+       VB2_TRY(vb2_load_kernel_keyblock(ctx));
+
+       /* Verify kernel preamble */
+       VB2_TRY(vb2_load_kernel_preamble(ctx));
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2api_get_kernel_size(struct vb2_context *ctx,
+                                  uint32_t *offset_ptr, uint32_t *size_ptr)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       const struct vb2_kernel_preamble *pre;
+
+       /* Get preamble pointer */
+       if (!sd->preamble_size)
+               return VB2_ERROR_API_GET_KERNEL_SIZE_PREAMBLE;
+
+       pre = (const struct vb2_kernel_preamble *)
+               vb2_member_of(sd, sd->preamble_offset);
+
+       if (offset_ptr) {
+               /* The kernel implicitly follows the preamble */
+               *offset_ptr = sd->vblock_preamble_offset +
+                       sd->preamble_size;
+       }
+
+       if (size_ptr) {
+               /* Expect the kernel to be the size of data we signed */
+               *size_ptr = pre->body_signature.data_size;
+       }
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2api_verify_kernel_data(struct vb2_context *ctx, const void *buf,
+                                     uint32_t size)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_kernel_preamble *pre;
+       struct vb2_digest_context *dc;
+       struct vb2_public_key key;
+       struct vb2_workbuf wb;
+
+       uint8_t *digest;
+       uint32_t digest_size;
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       /* Get preamble pointer */
+       if (!sd->preamble_size)
+               return VB2_ERROR_API_VERIFY_KDATA_PREAMBLE;
+
+       pre = (struct vb2_kernel_preamble *)
+               vb2_member_of(sd, sd->preamble_offset);
+
+       /* Make sure we were passed the right amount of data */
+       if (size != pre->body_signature.data_size)
+               return VB2_ERROR_API_VERIFY_KDATA_SIZE;
+
+       /* Allocate workbuf space for the hash */
+       dc = vb2_workbuf_alloc(&wb, sizeof(*dc));
+       if (!dc)
+               return VB2_ERROR_API_VERIFY_KDATA_WORKBUF;
+
+       /*
+        * Unpack the kernel data key to see which hashing algorithm we
+        * should use.
+        *
+        * TODO: really, the kernel body should be hashed, and not signed,
+        * because the signature we're checking is already signed as part of
+        * the kernel preamble.  But until we can change the signing scripts,
+        * we're stuck with a signature here instead of a hash.
+        */
+       if (!sd->data_key_size)
+               return VB2_ERROR_API_VERIFY_KDATA_KEY;
+
+       VB2_TRY(vb2_unpack_key_buffer(&key,
+                                     vb2_member_of(sd, sd->data_key_offset),
+                                     sd->data_key_size));
+
+       VB2_TRY(vb2_digest_init(dc, key.hash_alg));
+
+       VB2_TRY(vb2_digest_extend(dc, buf, size));
+
+       digest_size = vb2_digest_size(key.hash_alg);
+       digest = vb2_workbuf_alloc(&wb, digest_size);
+       if (!digest)
+               return VB2_ERROR_API_CHECK_HASH_WORKBUF_DIGEST;
+
+       VB2_TRY(vb2_digest_finalize(dc, digest, digest_size));
+
+       /*
+        * The body signature is currently a *signature* of the body data, not
+        * just its hash.  So we need to verify the signature.
+        */
+
+       /*
+        * Check digest vs. signature.  Note that this destroys the signature.
+        * That's ok, because we only check each signature once per boot.
+        */
+       return vb2_verify_digest(&key, &pre->body_signature, digest, &wb);
+}
+
+vb2_error_t vb2api_kernel_phase3(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+
+       /*
+        * If the kernel is a newer version than in secure storage, and the
+        * kernel signature is valid, and we're not in recovery mode, and we're
+        * allowed to, roll forward the version in secure storage.
+        */
+       if (sd->kernel_version > sd->kernel_version_secdata &&
+           (sd->flags & VB2_SD_FLAG_KERNEL_SIGNED) &&
+           !(ctx->flags & VB2_CONTEXT_RECOVERY_MODE) &&
+           (ctx->flags & VB2_CONTEXT_ALLOW_KERNEL_ROLL_FORWARD)) {
+               vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS,
+                                           sd->kernel_version);
+               sd->kernel_version_secdata = sd->kernel_version;
+       }
+
+       return VB2_SUCCESS;
+}
diff --git a/firmware/lib20/kernel.c b/firmware/lib20/kernel.c
new file mode 100644 (file)
index 0000000..81ded65
--- /dev/null
@@ -0,0 +1,270 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Kernel verified boot functions
+ */
+
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2secdata.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+
+/**
+ * Returns non-zero if the kernel needs to have a valid signature, instead of
+ * just a valid hash.
+ */
+static int vb2_need_signed_kernel(struct vb2_context *ctx)
+{
+       /* Recovery kernels are always signed */
+       if (ctx->flags & VB2_CONTEXT_RECOVERY_MODE)
+               return 1;
+
+       /* Normal mode kernels are always signed */
+       if (!(ctx->flags & VB2_CONTEXT_DEVELOPER_MODE))
+               return 1;
+
+       /* Developers may require signed kernels */
+       if (vb2_nv_get(ctx, VB2_NV_DEV_BOOT_SIGNED_ONLY))
+               return 1;
+
+       return 0;
+}
+
+vb2_error_t vb2_load_kernel_keyblock(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_workbuf wb;
+
+       uint8_t *key_data;
+       uint32_t key_size;
+       struct vb2_packed_key *packed_key;
+       struct vb2_public_key kernel_key;
+
+       struct vb2_keyblock *kb;
+       uint32_t block_size;
+
+       int rec_switch = (ctx->flags & VB2_CONTEXT_RECOVERY_MODE) != 0;
+       int dev_switch = (ctx->flags & VB2_CONTEXT_DEVELOPER_MODE) != 0;
+       int need_keyblock_valid = vb2_need_signed_kernel(ctx);
+       int keyblock_is_valid = 1;
+
+       vb2_error_t rv;
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       /*
+        * Clear any previous keyblock-valid flag (for example, from a previous
+        * kernel where the keyblock was signed but the preamble failed
+        * verification).
+        */
+       sd->flags &= ~VB2_SD_FLAG_KERNEL_SIGNED;
+
+       /* Unpack the kernel key */
+       key_data = vb2_member_of(sd, sd->kernel_key_offset);
+       key_size = sd->kernel_key_size;
+       VB2_TRY(vb2_unpack_key_buffer(&kernel_key, key_data, key_size));
+
+       /* Load the kernel keyblock header after the root key */
+       kb = vb2_workbuf_alloc(&wb, sizeof(*kb));
+       if (!kb)
+               return VB2_ERROR_KERNEL_KEYBLOCK_WORKBUF_HEADER;
+
+       VB2_TRY(vb2ex_read_resource(ctx, VB2_RES_KERNEL_VBLOCK, 0, kb,
+                                   sizeof(*kb)));
+
+       block_size = kb->keyblock_size;
+
+       /*
+        * Load the entire keyblock, now that we know how big it is.  Note that
+        * we're loading the entire keyblock instead of just the piece after
+        * the header.  That means we re-read the header.  But that's a tiny
+        * amount of data, and it makes the code much more straightforward.
+        */
+       kb = vb2_workbuf_realloc(&wb, sizeof(*kb), block_size);
+       if (!kb)
+               return VB2_ERROR_KERNEL_KEYBLOCK_WORKBUF;
+
+       VB2_TRY(vb2ex_read_resource(ctx, VB2_RES_KERNEL_VBLOCK, 0, kb,
+                                   block_size));
+
+       /* Verify the keyblock */
+       rv = vb2_verify_keyblock(kb, block_size, &kernel_key, &wb);
+       if (rv) {
+               keyblock_is_valid = 0;
+               if (need_keyblock_valid)
+                       return rv;
+
+               /* Signature is invalid, but hash may be fine */
+               VB2_TRY(vb2_verify_keyblock_hash(kb, block_size, &wb));
+       }
+
+       /* Check the keyblock flags against the current boot mode */
+       if (!(kb->keyblock_flags &
+             (dev_switch ? VB2_KEYBLOCK_FLAG_DEVELOPER_1 :
+              VB2_KEYBLOCK_FLAG_DEVELOPER_0))) {
+               VB2_DEBUG("Keyblock developer flag mismatch.\n");
+               keyblock_is_valid = 0;
+               if (need_keyblock_valid)
+                       return VB2_ERROR_KERNEL_KEYBLOCK_DEV_FLAG;
+       }
+       if (!(kb->keyblock_flags &
+             (rec_switch ? VB2_KEYBLOCK_FLAG_RECOVERY_1 :
+              VB2_KEYBLOCK_FLAG_RECOVERY_0))) {
+               VB2_DEBUG("Keyblock recovery flag mismatch.\n");
+               keyblock_is_valid = 0;
+               if (need_keyblock_valid)
+                       return VB2_ERROR_KERNEL_KEYBLOCK_REC_FLAG;
+       }
+
+       /* Check for keyblock rollback if not in recovery mode */
+       /* Key version is the upper 16 bits of the composite version */
+       if (!rec_switch && kb->data_key.key_version > VB2_MAX_KEY_VERSION) {
+               keyblock_is_valid = 0;
+               if (need_keyblock_valid)
+                       return VB2_ERROR_KERNEL_KEYBLOCK_VERSION_RANGE;
+       }
+       if (!rec_switch && kb->data_key.key_version <
+           (sd->kernel_version_secdata >> 16)) {
+               keyblock_is_valid = 0;
+               if (need_keyblock_valid)
+                       return VB2_ERROR_KERNEL_KEYBLOCK_VERSION_ROLLBACK;
+       }
+
+       sd->kernel_version = kb->data_key.key_version << 16;
+
+       /*
+        * At this point, we've checked everything.  The kernel keyblock is at
+        * least self-consistent, and has either a valid signature or a valid
+        * hash.  Track if it had a valid signature (that is, would we have
+        * been willing to boot it even if developer mode was off).
+        */
+       if (keyblock_is_valid)
+               sd->flags |= VB2_SD_FLAG_KERNEL_SIGNED;
+
+       /* Preamble follows the keyblock in the vblock */
+       sd->vblock_preamble_offset = kb->keyblock_size;
+
+       /*
+        * Keep just the data key from the vblock.  This follows the kernel key
+        * (which we might still need to verify the next kernel, if the
+        * assoiciated kernel preamble and data don't verify).
+        */
+       sd->data_key_offset = sd->workbuf_used;
+       key_data = vb2_member_of(sd, sd->data_key_offset);
+       packed_key = (struct vb2_packed_key *)key_data;
+       memmove(packed_key, &kb->data_key, sizeof(*packed_key));
+       packed_key->key_offset = sizeof(*packed_key);
+       memmove(key_data + packed_key->key_offset,
+               (uint8_t*)&kb->data_key + kb->data_key.key_offset,
+               packed_key->key_size);
+
+       /* Save the packed key size */
+       sd->data_key_size =
+               packed_key->key_offset + packed_key->key_size;
+
+       /*
+        * Data key will persist in the workbuf after we return.
+        *
+        * Work buffer now contains:
+        *   - vb2_shared_data
+        *   - kernel key
+        *   - packed kernel data key
+        */
+       vb2_set_workbuf_used(ctx, sd->data_key_offset + sd->data_key_size);
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_load_kernel_preamble(struct vb2_context *ctx)
+{
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       struct vb2_workbuf wb;
+
+       uint8_t *key_data = vb2_member_of(sd, sd->data_key_offset);
+       uint32_t key_size = sd->data_key_size;
+       struct vb2_public_key data_key;
+
+       /* Preamble goes in the next unused chunk of work buffer */
+       /* TODO: what's the minimum workbuf size?  Kernel preamble is usually
+        * padded to around 64KB. */
+       struct vb2_kernel_preamble *pre;
+       uint32_t pre_size;
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       /* Unpack the kernel data key */
+       if (!sd->data_key_size)
+               return VB2_ERROR_KERNEL_PREAMBLE2_DATA_KEY;
+
+       VB2_TRY(vb2_unpack_key_buffer(&data_key, key_data, key_size));
+
+       /* Load the kernel preamble header */
+       pre = vb2_workbuf_alloc(&wb, sizeof(*pre));
+       if (!pre)
+               return VB2_ERROR_KERNEL_PREAMBLE2_WORKBUF_HEADER;
+
+       VB2_TRY(vb2ex_read_resource(ctx, VB2_RES_KERNEL_VBLOCK,
+                                   sd->vblock_preamble_offset,
+                                   pre, sizeof(*pre)));
+
+       pre_size = pre->preamble_size;
+
+       /* Load the entire preamble, now that we know how big it is */
+       pre = vb2_workbuf_realloc(&wb, sizeof(*pre), pre_size);
+       if (!pre)
+               return VB2_ERROR_KERNEL_PREAMBLE2_WORKBUF;
+
+       VB2_TRY(vb2ex_read_resource(ctx, VB2_RES_KERNEL_VBLOCK,
+                                   sd->vblock_preamble_offset,
+                                   pre, pre_size));
+
+       /*
+        * Work buffer now contains:
+        *   - vb2_shared_data
+        *   - kernel key
+        *   - packed kernel data key
+        *   - kernel preamble
+        */
+
+       /* Verify the preamble */
+       VB2_TRY(vb2_verify_kernel_preamble(pre, pre_size, &data_key, &wb));
+
+       /*
+        * Kernel preamble version is the lower 16 bits of the composite kernel
+        * version.
+        */
+       if (pre->kernel_version > VB2_MAX_PREAMBLE_VERSION)
+               return VB2_ERROR_KERNEL_PREAMBLE_VERSION_RANGE;
+
+       /* Combine with the key version from vb2_load_kernel_keyblock() */
+       sd->kernel_version |= pre->kernel_version;
+
+       if (vb2_need_signed_kernel(ctx) &&
+           sd->kernel_version < sd->kernel_version_secdata)
+               return VB2_ERROR_KERNEL_PREAMBLE_VERSION_ROLLBACK;
+
+       /* Keep track of where we put the preamble */
+       sd->preamble_offset = vb2_offset_of(sd, pre);
+       sd->preamble_size = pre_size;
+
+       /*
+        * Preamble will persist in work buffer after we return.
+        *
+        * Work buffer now contains:
+        *   - vb2_shared_data
+        *   - vb2_gbb_header
+        *   - kernel key
+        *   - packed kernel data key
+        *   - kernel preamble
+        *
+        * TODO: we could move the preamble down over the kernel data key
+        * since we don't need it anymore.
+        */
+       vb2_set_workbuf_used(ctx, sd->preamble_offset + pre_size);
+
+       return VB2_SUCCESS;
+}
diff --git a/firmware/stub/OWNERS b/firmware/stub/OWNERS
new file mode 100644 (file)
index 0000000..0cbadec
--- /dev/null
@@ -0,0 +1 @@
+per-file tpm_lite* = apronin@chromium.org, rspangler@chromium.org, vbendeb@chromium.org
diff --git a/firmware/stub/tpm_lite_stub.c b/firmware/stub/tpm_lite_stub.c
new file mode 100644 (file)
index 0000000..01704f8
--- /dev/null
@@ -0,0 +1,300 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Stub implementations of utility functions which call their linux-specific
+ * equivalents.
+ */
+
+#include <assert.h>
+#include <stdint.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2sysincludes.h"
+#include "tlcl.h"
+#include "tlcl_internal.h"
+
+#define TPM_DEVICE_PATH "/dev/tpm0"
+/* Retry failed open()s for 5 seconds in 10ms polling intervals. */
+#define OPEN_RETRY_DELAY_NS (10 * 1000 * 1000)
+#define OPEN_RETRY_MAX_NUM  500
+#define COMM_RETRY_MAX_NUM  3
+
+/* TODO: these functions should pass errors back rather than returning void */
+/* TODO: if the only callers to these are just wrappers, should just
+ * remove the wrappers and call us directly. */
+
+
+/* The file descriptor for the TPM device.
+ */
+static int tpm_fd = -1;
+/* If the library should exit during an OS-level TPM failure.
+ */
+static int exit_on_failure = 1;
+
+static inline uint32_t try_exit(uint32_t result)
+{
+       if (exit_on_failure)
+               exit(1);
+       return result;
+}
+
+/* Print |n| bytes from array |a| to stderr, with newlines.
+ */
+__attribute__((unused)) static void DbgPrintBytes(const uint8_t* a, int n)
+{
+       int i;
+       VB2_DEBUG_RAW("DEBUG: ");
+       for (i = 0; i < n; i++) {
+               if (i && i % 16 == 0)
+                       VB2_DEBUG_RAW("\nDEBUG: ");
+               VB2_DEBUG_RAW("%02x ", a[i]);
+       }
+       VB2_DEBUG_RAW("\n");
+}
+
+
+/* Executes a command on the TPM.
+ */
+static uint32_t TpmExecute(const uint8_t *in, const uint32_t in_len,
+                          uint8_t *out, uint32_t *pout_len)
+{
+       uint8_t response[TPM_MAX_COMMAND_SIZE];
+       if (in_len <= 0) {
+               VB2_DEBUG("ERROR: invalid command length %d for command %#x\n",
+                         in_len, in[9]);
+               return try_exit(TPM_E_INPUT_TOO_SMALL);
+       } else if (tpm_fd < 0) {
+               VB2_DEBUG("ERROR: the TPM device was not opened.  "
+                         "Forgot to call TlclLibInit?\n");
+               return try_exit(TPM_E_NO_DEVICE);
+       } else {
+               int n;
+               int retries = 0;
+               int first_errno = 0;
+
+               /* Write command. Retry in case of communication errors.
+                */
+               for ( ; retries < COMM_RETRY_MAX_NUM; ++retries) {
+                       n = write(tpm_fd, in, in_len);
+                       if (n >= 0) {
+                               break;
+                       }
+                       if (retries == 0) {
+                               first_errno = errno;
+                       }
+                       VB2_DEBUG("TPM: write attempt %d failed: %s\n",
+                                 retries + 1, strerror(errno));
+               }
+               if (n < 0) {
+                       VB2_DEBUG("ERROR: write failure to TPM device: %s "
+                                 "(first error %d)\n",
+                                 strerror(errno), first_errno);
+                       return try_exit(TPM_E_WRITE_FAILURE);
+               } else if (n != in_len) {
+                       VB2_DEBUG("ERROR: bad write size to TPM device: "
+                                 "%d vs %u (%d retries, first error %d)\n",
+                                 n, in_len, retries, first_errno);
+                       return try_exit(TPM_E_WRITE_FAILURE);
+               }
+
+               /* Read response. Retry in case of communication errors.
+                */
+               for (retries = 0, first_errno = 0;
+                    retries < COMM_RETRY_MAX_NUM; ++retries) {
+                       n = read(tpm_fd, response, sizeof(response));
+                       if (n >= 0) {
+                               break;
+                       }
+                       if (retries == 0) {
+                               first_errno = errno;
+                       }
+                       VB2_DEBUG("TPM: read attempt %d failed: %s\n",
+                                 retries + 1, strerror(errno));
+               }
+               if (n == 0) {
+                       VB2_DEBUG("ERROR: null read from TPM device\n");
+                       return try_exit(TPM_E_READ_EMPTY);
+               } else if (n < 0) {
+                       VB2_DEBUG("ERROR: read failure from TPM device: %s "
+                                 "(first error %d)\n",
+                                 strerror(errno), first_errno);
+                       return try_exit(TPM_E_READ_FAILURE);
+               } else {
+                       if (n > *pout_len) {
+                               VB2_DEBUG("ERROR: TPM response too long for "
+                                         "output buffer\n");
+                               return try_exit(TPM_E_RESPONSE_TOO_LARGE);
+                       } else {
+                               *pout_len = n;
+                               memcpy(out, response, n);
+                       }
+               }
+       }
+       return TPM_SUCCESS;
+}
+
+/* Gets the tag field of a TPM command.
+ */
+__attribute__((unused))
+static inline int TpmTag(const uint8_t* buffer)
+{
+       uint16_t tag;
+       FromTpmUint16(buffer, &tag);
+       return (int) tag;
+}
+
+/* Gets the size field of a TPM command.
+ */
+__attribute__((unused))
+static inline int TpmResponseSize(const uint8_t* buffer)
+{
+       uint32_t size;
+       FromTpmUint32(buffer + sizeof(uint16_t), &size);
+       return (int) size;
+}
+
+vb2_error_t vb2ex_tpm_init(void)
+{
+       char *no_exit = getenv("TPM_NO_EXIT");
+       if (no_exit)
+               exit_on_failure = !atoi(no_exit);
+       return vb2ex_tpm_open();
+}
+
+vb2_error_t vb2ex_tpm_close(void)
+{
+       if (tpm_fd != -1) {
+               close(tpm_fd);
+               tpm_fd = -1;
+       }
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2ex_tpm_open(void)
+{
+       const char *device_path;
+       struct timespec delay;
+       int retries, saved_errno;
+
+       if (tpm_fd >= 0)
+               return VB2_SUCCESS;  /* Already open */
+
+       device_path = getenv("TPM_DEVICE_PATH");
+       if (device_path == NULL) {
+               device_path = TPM_DEVICE_PATH;
+       }
+
+       /* Retry TPM opens on EBUSY failures. */
+       for (retries = 0; retries < OPEN_RETRY_MAX_NUM; ++ retries) {
+               errno = 0;
+               tpm_fd = open(device_path, O_RDWR | O_CLOEXEC);
+               saved_errno = errno;
+               if (tpm_fd >= 0)
+                       return VB2_SUCCESS;
+               if (saved_errno != EBUSY)
+                       break;
+
+               VB2_DEBUG("TPM: retrying %s: %s\n",
+                         device_path, strerror(errno));
+
+               /* Stall until TPM comes back. */
+               delay.tv_sec = 0;
+               delay.tv_nsec = OPEN_RETRY_DELAY_NS;
+               nanosleep(&delay, NULL);
+       }
+       VB2_DEBUG("ERROR: TPM: Cannot open TPM device %s: %s\n",
+                 device_path, strerror(saved_errno));
+       return try_exit(VB2_ERROR_UNKNOWN);
+}
+
+uint32_t vb2ex_tpm_send_recv(const uint8_t* request, uint32_t request_length,
+                            uint8_t* response, uint32_t* response_length)
+{
+       /*
+        * In a real firmware implementation, this function should contain
+        * the equivalent API call for the firmware TPM driver which takes a
+        * raw sequence of bytes as input command and a pointer to the
+        * output buffer for putting in the results.
+        *
+        * For EFI firmwares, this can make use of the EFI TPM driver as
+        * follows (based on page 16, of TCG EFI Protocol Specs Version 1.20
+        * availaible from the TCG website):
+        *
+        * EFI_STATUS status;
+        * status = TcgProtocol->EFI_TCG_PASS_THROUGH_TO_TPM(
+        *              TpmCommandSize(request),
+        *              request,
+        *              max_length,
+        *              response);
+        * // Error checking depending on the value of the status above
+        */
+#ifndef NDEBUG
+       int tag, response_tag;
+#endif
+       uint32_t result;
+
+#ifdef VBOOT_DEBUG
+       struct timeval before, after;
+       VB2_DEBUG("request (%d bytes):\n", request_length);
+       DbgPrintBytes(request, request_length);
+       gettimeofday(&before, NULL);
+#endif
+
+       result = TpmExecute(request, request_length, response, response_length);
+       if (result != TPM_SUCCESS)
+               return result;
+
+#ifdef VBOOT_DEBUG
+       gettimeofday(&after, NULL);
+       VB2_DEBUG("response (%d bytes):\n", *response_length);
+       DbgPrintBytes(response, *response_length);
+       VB2_DEBUG("execution time: %dms\n",
+                 (int) ((after.tv_sec - before.tv_sec) * VB2_MSEC_PER_SEC +
+                        (after.tv_usec - before.tv_usec) / VB2_USEC_PER_MSEC));
+#endif
+
+#ifndef NDEBUG
+       /* validity checks */
+       tag = TpmTag(request);
+       response_tag = TpmTag(response);
+       assert(
+               (tag == TPM_TAG_RQU_COMMAND &&
+                response_tag == TPM_TAG_RSP_COMMAND) ||
+               (tag == TPM_TAG_RQU_AUTH1_COMMAND &&
+                response_tag == TPM_TAG_RSP_AUTH1_COMMAND) ||
+               (tag == TPM_TAG_RQU_AUTH2_COMMAND &&
+                response_tag == TPM_TAG_RSP_AUTH2_COMMAND));
+       assert(*response_length == TpmResponseSize(response));
+#endif
+
+       return TPM_SUCCESS;
+}
+
+vb2_error_t vb2ex_tpm_get_random(uint8_t *buf, uint32_t length)
+{
+       static int urandom_fd = -1;
+       if (urandom_fd < 0) {
+               urandom_fd = open("/dev/urandom", O_RDONLY);
+               if (urandom_fd == -1) {
+                       return VB2_ERROR_UNKNOWN;
+               }
+       }
+
+       if (length != read(urandom_fd, buf, length)) {
+               return VB2_ERROR_UNKNOWN;
+       }
+
+       return VB2_SUCCESS;
+}
diff --git a/firmware/stub/vboot_api_stub.c b/firmware/stub/vboot_api_stub.c
new file mode 100644 (file)
index 0000000..9335c8b
--- /dev/null
@@ -0,0 +1,25 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Stub implementations of firmware-provided API functions.
+ */
+
+#include <stdint.h>
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "vboot_api.h"
+#include "vboot_test.h"
+
+__attribute__((weak))
+vb2_error_t vb2ex_run_altfw(uint32_t altfw_id)
+{
+       return VB2_SUCCESS;
+}
diff --git a/firmware/stub/vboot_api_stub_disk.c b/firmware/stub/vboot_api_stub_disk.c
new file mode 100644 (file)
index 0000000..3244dc6
--- /dev/null
@@ -0,0 +1,50 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Stub implementations of disk APIs.
+ */
+
+#include <stdarg.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+
+#include "2common.h"
+#include "vboot_api.h"
+
+
+__attribute__((weak))
+vb2_error_t VbExDiskGetInfo(VbDiskInfo** infos_ptr, uint32_t* count,
+                           uint32_t disk_flags)
+{
+       *infos_ptr = NULL;
+       *count = 0;
+       return VB2_SUCCESS;
+}
+
+
+__attribute__((weak))
+vb2_error_t VbExDiskFreeInfo(VbDiskInfo* infos_ptr,
+                            VbExDiskHandle_t preserve_handle)
+{
+       return VB2_SUCCESS;
+}
+
+
+__attribute__((weak))
+vb2_error_t VbExDiskRead(VbExDiskHandle_t handle, uint64_t lba_start,
+                        uint64_t lba_count, void* buffer)
+{
+       return VB2_SUCCESS;
+}
+
+
+__attribute__((weak))
+vb2_error_t VbExDiskWrite(VbExDiskHandle_t handle, uint64_t lba_start,
+                         uint64_t lba_count, const void* buffer)
+{
+       return VB2_SUCCESS;
+}
diff --git a/firmware/stub/vboot_api_stub_stream.c b/firmware/stub/vboot_api_stub_stream.c
new file mode 100644 (file)
index 0000000..68e7ec7
--- /dev/null
@@ -0,0 +1,89 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Stub implementations of stream APIs.
+ */
+
+#include <stdint.h>
+
+#include "2common.h"
+#include "vboot_api.h"
+
+/* The stub implementation assumes 512-byte disk sectors */
+#define LBA_BYTES 512
+
+/* Internal struct to simulate a stream for sector-based disks */
+struct disk_stream {
+       /* Disk handle */
+       VbExDiskHandle_t handle;
+
+       /* Next sector to read */
+       uint64_t sector;
+
+       /* Number of sectors left in partition */
+       uint64_t sectors_left;
+};
+
+__attribute__((weak))
+vb2_error_t VbExStreamOpen(VbExDiskHandle_t handle, uint64_t lba_start,
+                          uint64_t lba_count, VbExStream_t *stream)
+{
+       struct disk_stream *s;
+
+       if (!handle) {
+               *stream = NULL;
+               return VB2_ERROR_UNKNOWN;
+       }
+
+       s = malloc(sizeof(*s));
+       s->handle = handle;
+       s->sector = lba_start;
+       s->sectors_left = lba_count;
+
+       *stream = (void *)s;
+
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+vb2_error_t VbExStreamRead(VbExStream_t stream, uint32_t bytes, void *buffer)
+{
+       struct disk_stream *s = (struct disk_stream *)stream;
+       uint64_t sectors;
+       vb2_error_t rv;
+
+       if (!s)
+               return VB2_ERROR_UNKNOWN;
+
+       /* For now, require reads to be a multiple of the LBA size */
+       if (bytes % LBA_BYTES)
+               return VB2_ERROR_UNKNOWN;
+
+       /* Fail on overflow */
+       sectors = bytes / LBA_BYTES;
+       if (sectors > s->sectors_left)
+               return VB2_ERROR_UNKNOWN;
+
+       rv = VbExDiskRead(s->handle, s->sector, sectors, buffer);
+       if (rv != VB2_SUCCESS)
+               return rv;
+
+       s->sector += sectors;
+       s->sectors_left -= sectors;
+
+       return VB2_SUCCESS;
+}
+
+__attribute__((weak))
+void VbExStreamClose(VbExStream_t stream)
+{
+       struct disk_stream *s = (struct disk_stream *)stream;
+
+       /* Allow freeing a null pointer */
+       if (!s)
+               return;
+
+       free(s);
+       return;
+}
diff --git a/futility/cmd_create.c b/futility/cmd_create.c
new file mode 100644 (file)
index 0000000..16a3733
--- /dev/null
@@ -0,0 +1,419 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <openssl/pem.h>
+
+#include <getopt.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2id.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "futility.h"
+#include "futility_options.h"
+#include "host_common21.h"
+#include "host_key.h"
+#include "host_key21.h"
+#include "host_misc21.h"
+#include "openssl_compat.h"
+#include "util_misc.h"
+#include "vboot_host.h"
+
+/* Command line options */
+enum {
+       OPT_OUTFILE = 1000,
+       OPT_VERSION,
+       OPT_DESC,
+       OPT_ID,
+       OPT_HASH_ALG,
+       OPT_HELP,
+};
+
+#define DEFAULT_VERSION 1
+#define DEFAULT_HASH VB2_HASH_SHA256;
+
+static char *infile, *outfile, *outext;
+static uint32_t opt_version = DEFAULT_VERSION;
+enum vb2_hash_algorithm opt_hash_alg = DEFAULT_HASH;
+static char *opt_desc;
+static struct vb2_id opt_id;
+static int force_id;
+
+static const struct option long_opts[] = {
+       {"version",  1, 0, OPT_VERSION},
+       {"desc",     1, 0, OPT_DESC},
+       {"id",       1, 0, OPT_ID},
+       {"hash_alg", 1, 0, OPT_HASH_ALG},
+       {"help",     0, 0, OPT_HELP},
+       {NULL, 0, 0, 0}
+};
+
+static void print_help(int argc, char *argv[])
+{
+       enum vb2_hash_algorithm alg;
+
+       printf("\n"
+"Usage:  " MYNAME " %s [options] <INFILE> [<BASENAME>]\n", argv[0]);
+       printf("\n"
+"Create a keypair from an RSA key (.pem file).\n"
+"\n"
+"Options:\n"
+"\n"
+"  --version <number>          Key version (default %d)\n"
+"  --hash_alg <number>         Hashing algorithm to use:\n",
+               DEFAULT_VERSION);
+       for (alg = 0; alg < VB2_HASH_ALG_COUNT; alg++) {
+               const char *name = vb2_get_hash_algorithm_name(alg);
+               if (strcmp(name, VB2_INVALID_ALG_NAME) != 0)
+                       printf("                                %d / %s%s\n",
+                              alg, name,
+                              alg == VB2_HASH_SHA256 ? " (default)" : "");
+       }
+       printf(
+"  --id <id>                   Identifier for this keypair (vb21 only)\n"
+"  --desc <text>               Human-readable description (vb21 only)\n"
+"\n");
+
+}
+
+static int vb1_make_keypair(void)
+{
+       struct vb2_private_key *privkey = NULL;
+       struct vb2_packed_key *pubkey = NULL;
+       struct rsa_st *rsa_key = NULL;
+       uint8_t *keyb_data = 0;
+       uint32_t keyb_size;
+       int ret = 1;
+
+       FILE *fp = fopen(infile, "rb");
+       if (!fp) {
+               fprintf(stderr, "Unable to open %s\n", infile);
+               goto done;
+       }
+
+       /* TODO: this is very similar to vb2_read_private_key_pem() */
+
+       rsa_key = PEM_read_RSAPrivateKey(fp, NULL, NULL, NULL);
+       fclose(fp);
+       if (!rsa_key) {
+               fprintf(stderr, "Unable to read RSA key from %s\n", infile);
+               goto done;
+       }
+
+       enum vb2_signature_algorithm sig_alg = vb2_rsa_sig_alg(rsa_key);
+       if (sig_alg == VB2_SIG_INVALID) {
+               fprintf(stderr, "Unsupported sig algorithm in RSA key\n");
+               goto done;
+       }
+
+       /* Combine the sig_alg with the hash_alg to get the vb1 algorithm */
+       uint64_t vb1_algorithm =
+               vb2_get_crypto_algorithm(opt_hash_alg, sig_alg);
+
+       /* Create the private key */
+       privkey = (struct vb2_private_key *)calloc(sizeof(*privkey), 1);
+       if (!privkey)
+               goto done;
+
+       privkey->rsa_private_key = rsa_key;
+       privkey->sig_alg = sig_alg;
+       privkey->hash_alg = opt_hash_alg;
+
+       /* Write it out */
+       strcpy(outext, ".vbprivk");
+       if (0 != vb2_write_private_key(outfile, privkey)) {
+               fprintf(stderr, "unable to write private key\n");
+               goto done;
+       }
+       printf("wrote %s\n", outfile);
+
+       /* Create the public key */
+       ret = vb_keyb_from_rsa(rsa_key, &keyb_data, &keyb_size);
+       if (ret) {
+               fprintf(stderr, "couldn't extract the public key\n");
+               goto done;
+       }
+
+       pubkey = vb2_alloc_packed_key(keyb_size, vb1_algorithm, opt_version);
+       if (!pubkey)
+               goto done;
+       memcpy((uint8_t *)vb2_packed_key_data(pubkey), keyb_data, keyb_size);
+
+       /* Write it out */
+       strcpy(outext, ".vbpubk");
+       if (VB2_SUCCESS != vb2_write_packed_key(outfile, pubkey)) {
+               fprintf(stderr, "unable to write public key\n");
+               goto done;
+       }
+       printf("wrote %s\n", outfile);
+
+       ret = 0;
+
+done:
+       free(privkey);
+       free(pubkey);
+       free(keyb_data);
+       RSA_free(rsa_key);
+       return ret;
+}
+
+static int vb2_make_keypair(void)
+{
+       struct vb2_private_key *privkey = 0;
+       struct vb2_public_key *pubkey = 0;
+       RSA *rsa_key = 0;
+       uint8_t *keyb_data = 0;
+       uint32_t keyb_size;
+       enum vb2_signature_algorithm sig_alg;
+       uint8_t *pubkey_buf = 0;
+       int has_priv = 0;
+       const BIGNUM *rsa_d;
+
+       FILE *fp;
+       int ret = 1;
+
+       fp = fopen(infile, "rb");
+       if (!fp) {
+               fprintf(stderr, "Unable to open %s\n", infile);
+               goto done;
+       }
+
+       rsa_key = PEM_read_RSAPrivateKey(fp, NULL, NULL, NULL);
+
+       if (!rsa_key) {
+               /* Check if the PEM contains only a public key */
+               if (0 != fseek(fp, 0, SEEK_SET)) {
+                       fprintf(stderr, "Error seeking in %s\n", infile);
+                       goto done;
+               }
+               rsa_key = PEM_read_RSA_PUBKEY(fp, NULL, NULL, NULL);
+       }
+       fclose(fp);
+       if (!rsa_key) {
+               fprintf(stderr, "Unable to read RSA key from %s\n", infile);
+               goto done;
+       }
+       /* Public keys doesn't have the private exponent */
+       RSA_get0_key(rsa_key, NULL, NULL, &rsa_d);
+       has_priv = !!rsa_d;
+       if (!has_priv)
+               fprintf(stderr, "%s has a public key only.\n", infile);
+
+       sig_alg = vb2_rsa_sig_alg(rsa_key);
+       if (sig_alg == VB2_SIG_INVALID) {
+               fprintf(stderr, "Unsupported sig algorithm in RSA key\n");
+               goto done;
+       }
+
+       if (has_priv) {
+               /* Create the private key */
+               privkey = calloc(1, sizeof(*privkey));
+               if (!privkey) {
+                       fprintf(stderr, "Unable to allocate the private key\n");
+                       goto done;
+               }
+
+               privkey->rsa_private_key = rsa_key;
+               privkey->sig_alg = sig_alg;
+               privkey->hash_alg = opt_hash_alg;
+               if (opt_desc && vb2_private_key_set_desc(privkey, opt_desc)) {
+                       fprintf(stderr,
+                               "Unable to set the private key description\n");
+                       goto done;
+               }
+       }
+
+       /* Create the public key */
+       if (vb2_public_key_alloc(&pubkey, sig_alg)) {
+               fprintf(stderr, "Unable to allocate the public key\n");
+               goto done;
+       }
+
+       /* Extract the keyb blob */
+       if (vb_keyb_from_rsa(rsa_key, &keyb_data, &keyb_size)) {
+               fprintf(stderr, "Couldn't extract the public key\n");
+               goto done;
+       }
+
+       /*
+        * Copy the keyb blob to the public key's buffer, because that's where
+        * vb2_unpack_key_data() and vb2_public_key_pack() expect to find it.
+        */
+       pubkey_buf = vb2_public_key_packed_data(pubkey);
+       memcpy(pubkey_buf, keyb_data, keyb_size);
+
+       /* Fill in the internal struct pointers */
+       if (vb2_unpack_key_data(pubkey, pubkey_buf, keyb_size)) {
+               fprintf(stderr, "Unable to unpack the public key blob\n");
+               goto done;
+       }
+
+       pubkey->hash_alg = opt_hash_alg;
+       pubkey->version = opt_version;
+       if (opt_desc && vb2_public_key_set_desc(pubkey, opt_desc)) {
+               fprintf(stderr, "Unable to set pubkey description\n");
+               goto done;
+       }
+
+       /* Update the IDs */
+       if (!force_id) {
+               vb2_digest_buffer(keyb_data, keyb_size, VB2_HASH_SHA1,
+                                 opt_id.raw, sizeof(opt_id.raw));
+       }
+
+       memcpy((struct vb2_id *)pubkey->id, &opt_id, sizeof(opt_id));
+
+       /* Write them out */
+       if (has_priv) {
+               privkey->id = opt_id;
+               strcpy(outext, ".vbprik2");
+               if (vb21_private_key_write(privkey, outfile)) {
+                       fprintf(stderr, "unable to write private key\n");
+                       goto done;
+               }
+               printf("wrote %s\n", outfile);
+       }
+
+       strcpy(outext, ".vbpubk2");
+       if (vb21_public_key_write(pubkey, outfile)) {
+               fprintf(stderr, "unable to write public key\n");
+               goto done;
+       }
+       printf("wrote %s\n", outfile);
+
+       ret = 0;
+
+done:
+       RSA_free(rsa_key);
+       if (privkey)                            /* prevent double-free */
+               privkey->rsa_private_key = 0;
+       vb2_private_key_free(privkey);
+       vb2_public_key_free(pubkey);
+       free(keyb_data);
+       return ret;
+}
+
+static int do_create(int argc, char *argv[])
+{
+       int errorcnt = 0;
+       char *e, *s;
+       int i, r, len, remove_ext = 0;
+
+       while ((i = getopt_long(argc, argv, "", long_opts, NULL)) != -1) {
+               switch (i) {
+
+               case OPT_VERSION:
+                       opt_version = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr,
+                                       "invalid version \"%s\"\n", optarg);
+                               errorcnt = 1;
+                       }
+                       break;
+
+               case OPT_DESC:
+                       opt_desc = optarg;
+                       break;
+
+               case OPT_ID:
+                       if (VB2_SUCCESS != vb2_str_to_id(optarg, &opt_id)) {
+                               fprintf(stderr, "invalid id \"%s\"\n",
+                                       optarg);
+                               errorcnt = 1;
+                       }
+                       force_id = 1;
+                       break;
+
+               case OPT_HASH_ALG:
+                       if (!vb2_lookup_hash_alg(optarg, &opt_hash_alg)) {
+                               fprintf(stderr,
+                                       "invalid hash_alg \"%s\"\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+
+               case OPT_HELP:
+                       print_help(argc, argv);
+                       return !!errorcnt;
+
+               case '?':
+                       if (optopt)
+                               fprintf(stderr, "Unrecognized option: -%c\n",
+                                       optopt);
+                       else
+                               fprintf(stderr, "Unrecognized option\n");
+                       errorcnt++;
+                       break;
+               case ':':
+                       fprintf(stderr, "Missing argument to -%c\n", optopt);
+                       errorcnt++;
+                       break;
+               case 0:                         /* handled option */
+                       break;
+               default:
+                       FATAL("Unrecognized getopt output: %d\n", i);
+               }
+       }
+
+       /* If we don't have an input file already, we need one */
+       if (!infile) {
+               if (argc - optind <= 0) {
+                       fprintf(stderr, "ERROR: missing input filename\n");
+                       errorcnt++;
+               } else {
+                       infile = argv[optind++];
+               }
+       }
+
+       if (errorcnt) {
+               print_help(argc, argv);
+               return 1;
+       }
+
+       /* Decide how to determine the output filenames. */
+       if (argc > optind) {
+               s = argv[optind++];             /* just use this */
+       } else {
+               s = infile;                     /* based on pem file name */
+               remove_ext = 1;
+       }
+
+       /* Make an extra-large copy to leave room for filename extensions */
+       len = strlen(s) + 20;
+       outfile = (char *)malloc(len);
+       if (!outfile) {
+               fprintf(stderr, "ERROR: malloc() failed\n");
+               return 1;
+       }
+       strcpy(outfile, s);
+
+       if (remove_ext) {
+               /* Find the last '/' if any, then the last '.' before that. */
+               s = strrchr(outfile, '/');
+               if (!s)
+                       s = outfile;
+               s = strrchr(s, '.');
+               /* Cut off the extension */
+               if (s)
+                       *s = '\0';
+       }
+       /* Remember that spot for later */
+       outext = outfile + strlen(outfile);
+
+       /* Okay, do it */
+       if (vboot_version == VBOOT_VERSION_1_0)
+               r = vb1_make_keypair();
+       else
+               r = vb2_make_keypair();
+
+       free(outfile);
+       return r;
+}
+
+DECLARE_FUTIL_COMMAND(create, do_create, VBOOT_VERSION_ALL,
+                     "Create a keypair from an RSA .pem file");
diff --git a/futility/cmd_dump_fmap.c b/futility/cmd_dump_fmap.c
new file mode 100644 (file)
index 0000000..3a0e14e
--- /dev/null
@@ -0,0 +1,529 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <inttypes.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "fmap.h"
+#include "futility.h"
+
+enum { FMT_NORMAL, FMT_PRETTY, FMT_FLASHROM, FMT_HUMAN };
+
+/* global variables */
+static int opt_extract;
+static int opt_format = FMT_NORMAL;
+static int opt_overlap;
+static void *base_of_rom;
+static size_t size_of_rom;
+static int opt_gaps;
+
+/* Return 0 if successful */
+static int normal_fmap(const FmapHeader *fmh, int argc, char *argv[])
+{
+       int i, retval = 0;
+       char buf[80];           /* DWR: magic number */
+       const FmapAreaHeader *ah;
+       ah = (const FmapAreaHeader *) (fmh + 1);
+        /* Size must greater than 0, else behavior is undefined. */
+       char *extract_names[argc >= 1 ? argc : 1];
+       char *outname = 0;
+
+       memset(extract_names, 0, sizeof(extract_names));
+
+       if (opt_extract) {
+               /* prepare the filenames to write areas to */
+               for (i = 0; i < argc; i++) {
+                       char *a = argv[i];
+                       char *f = strchr(a, ':');
+                       if (!f)
+                               continue;
+                       if (a == f || *(f+1) == '\0') {
+                               fprintf(stderr,
+                                       "argument \"%s\" is bogus\n", a);
+                               retval = 1;
+                               continue;
+                       }
+                       *f++ = '\0';
+                       extract_names[i] = f;
+               }
+               if (retval)
+                       return retval;
+       }
+
+       if (FMT_NORMAL == opt_format) {
+               snprintf(buf, FMAP_SIGNATURE_SIZE + 1, "%s",
+                        fmh->fmap_signature);
+               printf("fmap_signature   %s\n", buf);
+               printf("fmap_version:    %d.%d\n",
+                      fmh->fmap_ver_major, fmh->fmap_ver_minor);
+               printf("fmap_base:       0x%" PRIx64 "\n", fmh->fmap_base);
+               printf("fmap_size:       0x%08x (%d)\n", fmh->fmap_size,
+                      fmh->fmap_size);
+               snprintf(buf, FMAP_NAMELEN + 1, "%s", fmh->fmap_name);
+               printf("fmap_name:       %s\n", buf);
+               printf("fmap_nareas:     %d\n", fmh->fmap_nareas);
+       }
+
+       for (i = 0; i < fmh->fmap_nareas; i++, ah++) {
+               snprintf(buf, FMAP_NAMELEN + 1, "%s", ah->area_name);
+
+               if (argc) {
+                       int j, found = 0;
+                       outname = NULL;
+                       for (j = 0; j < argc; j++)
+                               if (!strcmp(argv[j], buf)) {
+                                       found = 1;
+                                       outname = extract_names[j];
+                                       break;
+                               }
+                       if (!found)
+                               continue;
+               }
+
+               switch (opt_format) {
+               case FMT_PRETTY:
+                       printf("%s %d %d\n", buf, ah->area_offset,
+                              ah->area_size);
+                       break;
+               case FMT_FLASHROM:
+                       if (ah->area_size)
+                               printf("0x%08x:0x%08x %s\n", ah->area_offset,
+                                      ah->area_offset + ah->area_size - 1,
+                                      buf);
+                       break;
+               default:
+                       printf("area:            %d\n", i + 1);
+                       printf("area_offset:     0x%08x\n", ah->area_offset);
+                       printf("area_size:       0x%08x (%d)\n", ah->area_size,
+                              ah->area_size);
+                       printf("area_name:       %s\n", buf);
+               }
+
+               if (opt_extract) {
+                       char *s;
+                       if (!outname) {
+                               for (s = buf; *s; s++)
+                                       if (*s == ' ')
+                                               *s = '_';
+                               outname = buf;
+                       }
+                       FILE *fp = fopen(outname, "wb");
+                       if (!fp) {
+                               fprintf(stderr, "%s: can't open %s: %s\n",
+                                       argv[0], outname, strerror(errno));
+                               retval = 1;
+                       } else if (!ah->area_size) {
+                               fprintf(stderr,
+                                       "%s: section %s has zero size\n",
+                                       argv[0], buf);
+                       } else if (ah->area_offset + ah->area_size >
+                                  size_of_rom) {
+                               fprintf(stderr, "%s: section %s is larger"
+                                       " than the image\n", argv[0], buf);
+                               retval = 1;
+                       } else if (1 != fwrite(base_of_rom + ah->area_offset,
+                                              ah->area_size, 1, fp)) {
+                               fprintf(stderr, "%s: can't write %s: %s\n",
+                                       argv[0], buf, strerror(errno));
+                               retval = 1;
+                       } else {
+                               if (FMT_NORMAL == opt_format)
+                                       printf("saved as \"%s\"\n", outname);
+                       }
+                       if (fp)
+                               fclose(fp);
+               }
+       }
+
+       return retval;
+}
+
+/****************************************************************************/
+/* Stuff for human-readable form */
+
+struct dup_s {
+       char *name;
+       struct dup_s *next;
+};
+
+struct node_s {
+       char *name;
+       uint32_t start;
+       uint32_t size;
+       uint32_t end;
+       struct node_s *parent;
+       int num_children;
+       struct node_s **child;
+       struct dup_s *alias;
+};
+
+static struct node_s *all_nodes;
+
+static void sort_nodes(int num, struct node_s *ary[])
+{
+       int i, j;
+       struct node_s *tmp;
+
+       /* bubble-sort is quick enough with only a few entries */
+       for (i = 0; i < num; i++) {
+               for (j = i + 1; j < num; j++) {
+                       if (ary[j]->start > ary[i]->start) {
+                               tmp = ary[i];
+                               ary[i] = ary[j];
+                               ary[j] = tmp;
+                       }
+               }
+       }
+}
+
+static void line(int indent, const char *name, uint32_t start, uint32_t end,
+                uint32_t size, const char *append)
+{
+       int i;
+       for (i = 0; i < indent; i++)
+               printf("  ");
+       printf("%-25s  %08x    %08x    %08x%s\n", name, start, end, size,
+              append ? append : "");
+}
+
+static int gapcount;
+static void empty(int indent, uint32_t start, uint32_t end, char *name)
+{
+       char buf[80];
+       if (opt_gaps) {
+               sprintf(buf, "  // gap in %s", name);
+               line(indent + 1, "", start, end, end - start, buf);
+       }
+       gapcount++;
+}
+
+static void show(struct node_s *p, int indent, int show_first)
+{
+       int i;
+       struct dup_s *alias;
+       if (show_first) {
+               line(indent, p->name, p->start, p->end, p->size, 0);
+               for (alias = p->alias; alias; alias = alias->next)
+                       line(indent, alias->name, p->start, p->end, p->size,
+                            "  // DUPLICATE");
+       }
+       sort_nodes(p->num_children, p->child);
+       for (i = 0; i < p->num_children; i++) {
+               if (i == 0 && p->end != p->child[i]->end)
+                       empty(indent, p->child[i]->end, p->end, p->name);
+               show(p->child[i], indent + show_first, 1);
+               if (i < p->num_children - 1
+                   && p->child[i]->start != p->child[i + 1]->end)
+                       empty(indent, p->child[i + 1]->end, p->child[i]->start,
+                             p->name);
+               if (i == p->num_children - 1 && p->child[i]->start != p->start)
+                       empty(indent, p->start, p->child[i]->start, p->name);
+       }
+}
+
+static int overlaps(int i, int j)
+{
+       struct node_s *a = all_nodes + i;
+       struct node_s *b = all_nodes + j;
+
+       return ((a->start < b->start) && (b->start < a->end) &&
+               (b->start < a->end) && (a->end < b->end));
+}
+
+static int encloses(int i, int j)
+{
+       struct node_s *a = all_nodes + i;
+       struct node_s *b = all_nodes + j;
+
+       return ((a->start <= b->start) && (a->end >= b->end));
+}
+
+static int duplicates(int i, int j)
+{
+       struct node_s *a = all_nodes + i;
+       struct node_s *b = all_nodes + j;
+
+       return ((a->start == b->start) && (a->end == b->end));
+}
+
+static void add_dupe(int i, int j, int numnodes)
+{
+       int k;
+       struct dup_s *alias;
+
+       alias = (struct dup_s *) malloc(sizeof(struct dup_s));
+       alias->name = all_nodes[j].name;
+       alias->next = all_nodes[i].alias;
+       all_nodes[i].alias = alias;
+       for (k = j; k < numnodes; k++)
+               all_nodes[k] = all_nodes[k + 1];
+}
+
+static void add_child(struct node_s *p, int n)
+{
+       int i;
+       if (p->num_children && !p->child) {
+               p->child =
+                   (struct node_s **)calloc(p->num_children,
+                                            sizeof(struct node_s *));
+               if (!p->child) {
+                       perror("calloc failed");
+                       exit(1);
+               }
+       }
+       for (i = 0; i < p->num_children; i++)
+               if (!p->child[i]) {
+                       p->child[i] = all_nodes + n;
+                       return;
+               }
+}
+
+static int human_fmap(const FmapHeader *fmh)
+{
+       FmapAreaHeader *ah;
+       int i, j, errorcnt = 0;
+       int numnodes;
+
+       ah = (FmapAreaHeader *) (fmh + 1);
+
+       /* The challenge here is to generate a directed graph from the
+        * arbitrarily-ordered FMAP entries, and then to prune it until it's as
+        * simple (and deep) as possible. Overlapping regions are not allowed.
+        * Duplicate regions are okay, but may require special handling. */
+
+       /* Convert the FMAP info into our format. */
+       numnodes = fmh->fmap_nareas;
+
+       /* plus one for the all-enclosing "root" */
+       all_nodes = (struct node_s *) calloc(numnodes + 1,
+                                            sizeof(struct node_s));
+       if (!all_nodes) {
+               perror("calloc failed");
+               exit(1);
+       }
+       for (i = 0; i < numnodes; i++) {
+               char buf[FMAP_NAMELEN + 1];
+               strncpy(buf, ah[i].area_name, FMAP_NAMELEN);
+               buf[FMAP_NAMELEN] = '\0';
+               all_nodes[i].name = strdup(buf);
+               if (!all_nodes[i].name) {
+                       perror("strdup failed");
+                       exit(1);
+               }
+               all_nodes[i].start = ah[i].area_offset;
+               all_nodes[i].size = ah[i].area_size;
+               all_nodes[i].end = ah[i].area_offset + ah[i].area_size;
+       }
+       /* Now add the root node */
+       all_nodes[numnodes].name = strdup("-entire flash-");
+       all_nodes[numnodes].start = fmh->fmap_base;
+       all_nodes[numnodes].size = fmh->fmap_size;
+       all_nodes[numnodes].end = fmh->fmap_base + fmh->fmap_size;
+
+       /* First, coalesce any duplicates */
+       for (i = 0; i < numnodes; i++) {
+               for (j = i + 1; j < numnodes; j++) {
+                       if (duplicates(i, j)) {
+                               add_dupe(i, j, numnodes);
+                               numnodes--;
+                       }
+               }
+       }
+
+       /* Each node should have at most one parent, which is the smallest
+        * enclosing node. Duplicate nodes "enclose" each other, but if there's
+        * already a relationship in one direction, we won't create another.
+        */
+       for (i = 0; i < numnodes; i++) {
+               /* Find the smallest parent, which might be the root node. */
+               int k = numnodes;
+               for (j = 0; j < numnodes; j++) { /* full O(N^2) comparison */
+                       if (i == j)
+                               continue;
+                       if (overlaps(i, j)) {
+                               printf("ERROR: %s and %s overlap\n",
+                                      all_nodes[i].name, all_nodes[j].name);
+                               printf("  %s: %#x - %#x\n", all_nodes[i].name,
+                                      all_nodes[i].start, all_nodes[i].end);
+                               printf("  %s: %#x - %#x\n", all_nodes[j].name,
+                                      all_nodes[j].start, all_nodes[j].end);
+                               if (opt_overlap < 2) {
+                                       printf("Use more -h args to ignore"
+                                              " this error\n");
+                                       errorcnt++;
+                               }
+                               continue;
+                       }
+                       if (encloses(j, i)
+                           && all_nodes[j].size < all_nodes[k].size)
+                               k = j;
+               }
+               all_nodes[i].parent = all_nodes + k;
+       }
+       if (errorcnt)
+               return 1;
+
+       /* Force those deadbeat parents to recognize their children */
+       for (i = 0; i < numnodes; i++)  /* how many */
+               if (all_nodes[i].parent)
+                       all_nodes[i].parent->num_children++;
+       for (i = 0; i < numnodes; i++)  /* here they are */
+               if (all_nodes[i].parent)
+                       add_child(all_nodes[i].parent, i);
+
+       /* Ready to go */
+       printf("# name                     start       end         size\n");
+       show(all_nodes + numnodes, 0, opt_gaps);
+
+       if (gapcount && !opt_gaps)
+               printf("\nWARNING: unused regions found. Use -H to see them\n");
+
+       return 0;
+}
+
+/* End of human-reable stuff */
+/****************************************************************************/
+
+static const char usage[] =
+       "\nUsage:  " MYNAME " %s [OPTIONS] FLASHIMAGE [NAME...]\n\n"
+       "Display (and extract) the FMAP components from a BIOS image.\n"
+       "\n"
+       "Options:\n"
+       "  -x             Extract the named sections from the file\n"
+       "  -h             Use a human-readable format\n"
+       "  -H             With -h, display any gaps\n"
+       "  -p             Use a format easy to parse by scripts\n"
+       "  -F             Use the format expected by flashrom\n"
+       "\n"
+       "Specify one or more NAMEs to dump only those sections.\n"
+       "\n";
+
+static void print_help(int argc, char *argv[])
+{
+       printf(usage, argv[0]);
+}
+
+enum {
+       OPT_HELP = 1000,
+};
+static const struct option long_opts[] = {
+       {"help",     0, 0, OPT_HELP},
+       {NULL, 0, 0, 0}
+};
+static int do_dump_fmap(int argc, char *argv[])
+{
+       int c;
+       int errorcnt = 0;
+       struct stat sb;
+       int fd;
+       const FmapHeader *fmap;
+       int retval = 1;
+
+       opterr = 0;             /* quiet, you */
+       while ((c = getopt_long(argc, argv, ":xpFhH", long_opts, 0)) != -1) {
+               switch (c) {
+               case 'x':
+                       opt_extract = 1;
+                       break;
+               case 'p':
+                       opt_format = FMT_PRETTY;
+                       break;
+               case 'F':
+                       opt_format = FMT_FLASHROM;
+                       break;
+               case 'H':
+                       opt_gaps = 1;
+                       VBOOT_FALLTHROUGH;
+               case 'h':
+                       opt_format = FMT_HUMAN;
+                       opt_overlap++;
+                       break;
+               case OPT_HELP:
+                       print_help(argc, argv);
+                       return 0;
+               case '?':
+                       fprintf(stderr, "%s: unrecognized switch: -%c\n",
+                               argv[0], optopt);
+                       errorcnt++;
+                       break;
+               case ':':
+                       fprintf(stderr, "%s: missing argument to -%c\n",
+                               argv[0], optopt);
+                       errorcnt++;
+                       break;
+               default:
+                       errorcnt++;
+                       break;
+               }
+       }
+
+       if (errorcnt || optind >= argc) {
+               print_help(argc, argv);
+               return 1;
+       }
+
+       fd = open(argv[optind], O_RDONLY);
+       if (fd < 0) {
+               fprintf(stderr, "%s: can't open %s: %s\n",
+                       argv[0], argv[optind], strerror(errno));
+               return 1;
+       }
+
+       if (0 != fstat(fd, &sb)) {
+               fprintf(stderr, "%s: can't stat %s: %s\n",
+                       argv[0], argv[optind], strerror(errno));
+               close(fd);
+               return 1;
+       }
+
+       base_of_rom =
+           mmap(0, sb.st_size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
+       if (base_of_rom == (char *)-1) {
+               fprintf(stderr, "%s: can't mmap %s: %s\n",
+                       argv[0], argv[optind], strerror(errno));
+               close(fd);
+               return 1;
+       }
+       close(fd);              /* done with this now */
+       size_of_rom = sb.st_size;
+
+       fmap = fmap_find(base_of_rom, size_of_rom);
+       if (fmap) {
+               switch (opt_format) {
+               case FMT_HUMAN:
+                       retval = human_fmap(fmap);
+                       break;
+               case FMT_NORMAL:
+                       printf("hit at 0x%08x\n",
+                              (uint32_t) ((char *)fmap - (char *)base_of_rom));
+                       VBOOT_FALLTHROUGH;
+               default:
+                       retval = normal_fmap(fmap,
+                                            argc - optind - 1,
+                                            argv + optind + 1);
+               }
+       }
+
+       if (0 != munmap(base_of_rom, sb.st_size)) {
+               fprintf(stderr, "%s: can't munmap %s: %s\n",
+                       argv[0], argv[optind], strerror(errno));
+               return 1;
+       }
+
+       return retval;
+}
+
+DECLARE_FUTIL_COMMAND(dump_fmap, do_dump_fmap, VBOOT_VERSION_ALL,
+                     "Display FMAP contents from a firmware image");
diff --git a/futility/cmd_dump_kernel_config.c b/futility/cmd_dump_kernel_config.c
new file mode 100644 (file)
index 0000000..a46a19d
--- /dev/null
@@ -0,0 +1,98 @@
+/* Copyright 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Exports the kernel commandline from a given partition/image.
+ */
+
+#include <getopt.h>
+#include <stdio.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+#include "futility.h"
+#include "vboot_host.h"
+
+enum {
+       OPT_KLOADADDR = 1000,
+       OPT_HELP,
+};
+
+static const struct option long_opts[] = {
+       {"kloadaddr", 1, NULL, OPT_KLOADADDR},
+       {"help", 0, 0, OPT_HELP},
+       {NULL, 0, NULL, 0}
+};
+
+/* Print help and return error */
+static void print_help(int argc, char *argv[])
+{
+       printf("\nUsage:  " MYNAME " %s [--kloadaddr ADDRESS] "
+              "KERNEL_PARTITION\n\n", argv[0]);
+}
+
+static int do_dump_kern_cfg(int argc, char *argv[])
+{
+       char *infile = NULL;
+       char *config = NULL;
+       uint64_t kernel_body_load_address = USE_PREAMBLE_LOAD_ADDR;
+       int parse_error = 0;
+       char *e;
+       int i;
+
+       while (((i = getopt_long(argc, argv, ":", long_opts, NULL)) != -1) &&
+              !parse_error) {
+               switch (i) {
+               default:
+               case '?':
+                       /* Unhandled option */
+                       parse_error = 1;
+                       break;
+
+               case 0:
+                       /* silently handled option */
+                       break;
+
+               case OPT_KLOADADDR:
+                       kernel_body_load_address = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr, "Invalid --kloadaddr\n");
+                               parse_error = 1;
+                       }
+                       break;
+
+               case OPT_HELP:
+                       print_help(argc, argv);
+                       return 0;
+               }
+       }
+
+       if (optind >= argc) {
+               fprintf(stderr, "Expected argument after options\n");
+               parse_error = 1;
+       } else
+               infile = argv[optind];
+
+       if (parse_error) {
+               print_help(argc, argv);
+               return 1;
+       }
+
+       if (!infile || !*infile) {
+               fprintf(stderr, "Must specify filename\n");
+               return 1;
+       }
+
+       config = FindKernelConfig(infile, kernel_body_load_address);
+       if (!config)
+               return 1;
+
+       printf("%s", config);
+
+       free(config);
+       return 0;
+}
+
+DECLARE_FUTIL_COMMAND(dump_kernel_config, do_dump_kern_cfg, VBOOT_VERSION_ALL,
+                     "Prints the kernel command line");
+
diff --git a/futility/cmd_gbb_utility.c b/futility/cmd_gbb_utility.c
new file mode 100644 (file)
index 0000000..8f21eee
--- /dev/null
@@ -0,0 +1,651 @@
+/* Copyright 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <getopt.h>
+#include <inttypes.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "futility.h"
+
+static void print_help(int argc, char *argv[])
+{
+       printf("\n"
+               "Usage:  " MYNAME " %s [-g|-s|-c] [OPTIONS] "
+              "bios_file [output_file]\n"
+               "\n"
+               "GET MODE:\n"
+               "-g, --get   (default)\tGet (read) from bios_file, "
+               "with following options:\n"
+               "     --hwid          \tReport hardware id (default).\n"
+               "     --flags         \tReport header flags.\n"
+               "     --digest        \tReport digest of hwid (>= v1.2)\n"
+               " -k, --rootkey=FILE  \tFile name to export Root Key.\n"
+               " -b, --bmpfv=FILE    \tFile name to export Bitmap FV.\n"
+               " -r  --recoverykey=FILE\tFile name to export Recovery Key.\n"
+               "\n"
+               "SET MODE:\n"
+               "-s, --set            \tSet (write) to bios_file, "
+               "with following options:\n"
+               " -o, --output=FILE   \tNew file name for ouptput.\n"
+               "     --hwid=HWID     \tThe new hardware id to be changed.\n"
+               "     --flags=FLAGS   \tThe new (numeric) flags value.\n"
+               " -k, --rootkey=FILE  \tFile name of new Root Key.\n"
+               " -b, --bmpfv=FILE    \tFile name of new Bitmap FV.\n"
+               " -r  --recoverykey=FILE\tFile name of new Recovery Key.\n"
+               "\n"
+               "CREATE MODE:\n"
+               "-c, --create=hwid_size,rootkey_size,bmpfv_size,"
+               "recoverykey_size\n"
+               "                     \tCreate a GBB blob by given size list.\n"
+               "SAMPLE:\n"
+               "  %s -g bios.bin\n"
+               "  %s --set --hwid='New Model' -k key.bin"
+               " bios.bin newbios.bin\n"
+               "  %s -c 0x100,0x1000,0x03DE80,0x1000 gbb.blob\n\n",
+               argv[0], argv[0], argv[0], argv[0]);
+}
+
+enum {
+       OPT_HWID = 1000,
+       OPT_FLAGS,
+       OPT_DIGEST,
+       OPT_HELP,
+};
+
+/* Command line options */
+static struct option long_opts[] = {
+       /* name  has_arg *flag val */
+       {"get", 0, NULL, 'g'},
+       {"set", 0, NULL, 's'},
+       {"create", 1, NULL, 'c'},
+       {"output", 1, NULL, 'o'},
+       {"rootkey", 1, NULL, 'k'},
+       {"bmpfv", 1, NULL, 'b'},
+       {"recoverykey", 1, NULL, 'r'},
+       {"hwid", 0, NULL, OPT_HWID},
+       {"flags", 0, NULL, OPT_FLAGS},
+       {"digest", 0, NULL, OPT_DIGEST},
+       {"help", 0, NULL, OPT_HELP},
+       {NULL, 0, NULL, 0},
+};
+
+static const char *short_opts = ":gsc:o:k:b:r:";
+
+/* Change the has_arg field of a long_opts entry */
+static void opt_has_arg(const char *name, int val)
+{
+       struct option *p;
+       for (p = long_opts; p->name; p++)
+               if (!strcmp(name, p->name)) {
+                       p->has_arg = val;
+                       break;
+               }
+}
+
+static int errorcnt;
+
+#define GBB_SEARCH_STRIDE 4
+static struct vb2_gbb_header *FindGbbHeader(uint8_t *ptr, size_t size)
+{
+       size_t i;
+       struct vb2_gbb_header *tmp, *gbb_header = NULL;
+       int count = 0;
+
+       for (i = 0; i <= size - GBB_SEARCH_STRIDE; i += GBB_SEARCH_STRIDE) {
+               if (0 != memcmp(ptr + i, VB2_GBB_SIGNATURE,
+                               VB2_GBB_SIGNATURE_SIZE))
+                       continue;
+
+               /* Found something. See if it's any good. */
+               tmp = (struct vb2_gbb_header *) (ptr + i);
+               if (futil_valid_gbb_header(tmp, size - i, NULL))
+                       if (!count++)
+                               gbb_header = tmp;
+       }
+
+       switch (count) {
+       case 0:
+               errorcnt++;
+               return NULL;
+       case 1:
+               return gbb_header;
+       default:
+               fprintf(stderr, "ERROR: multiple GBB headers found\n");
+               errorcnt++;
+               return NULL;
+       }
+}
+
+static uint8_t *create_gbb(const char *desc, off_t *sizeptr)
+{
+       char *str, *sizes, *param, *e = NULL;
+       size_t size = EXPECTED_VB2_GBB_HEADER_SIZE;
+       int i = 0;
+       /* Danger Will Robinson! four entries ==> four paramater blocks */
+       uint32_t val[] = { 0, 0, 0, 0 };
+       uint8_t *buf;
+       struct vb2_gbb_header *gbb;
+
+       sizes = strdup(desc);
+       if (!sizes) {
+               errorcnt++;
+               fprintf(stderr, "ERROR: strdup() failed: %s\n",
+                       strerror(errno));
+               return NULL;
+       }
+
+       for (str = sizes; (param = strtok(str, ", ")) != NULL; str = NULL) {
+               val[i] = (uint32_t) strtoul(param, &e, 0);
+               if (e && *e) {
+                       errorcnt++;
+                       fprintf(stderr,
+                               "ERROR: invalid creation parameter: \"%s\"\n",
+                               param);
+                       free(sizes);
+                       return NULL;
+               }
+               size += val[i++];
+               if (i > ARRAY_SIZE(val))
+                       break;
+       }
+
+       buf = (uint8_t *) calloc(1, size);
+       if (!buf) {
+               errorcnt++;
+               fprintf(stderr, "ERROR: can't malloc %zu bytes: %s\n",
+                       size, strerror(errno));
+               free(sizes);
+               return NULL;
+       } else if (sizeptr) {
+               *sizeptr = size;
+       }
+
+       gbb = (struct vb2_gbb_header *) buf;
+       memcpy(gbb->signature, VB2_GBB_SIGNATURE, VB2_GBB_SIGNATURE_SIZE);
+       gbb->major_version = VB2_GBB_MAJOR_VER;
+       gbb->minor_version = VB2_GBB_MINOR_VER;
+       gbb->header_size = EXPECTED_VB2_GBB_HEADER_SIZE;
+       gbb->flags = 0;
+
+       i = EXPECTED_VB2_GBB_HEADER_SIZE;
+       gbb->hwid_offset = i;
+       gbb->hwid_size = val[0];
+       i += val[0];
+
+       gbb->rootkey_offset = i;
+       gbb->rootkey_size = val[1];
+       i += val[1];
+
+       gbb->bmpfv_offset = i;
+       gbb->bmpfv_size = val[2];
+       i += val[2];
+
+       gbb->recovery_key_offset = i;
+       gbb->recovery_key_size = val[3];
+       i += val[1];
+
+       free(sizes);
+       return buf;
+}
+
+static uint8_t *read_entire_file(const char *filename, off_t *sizeptr)
+{
+       FILE *fp = NULL;
+       uint8_t *buf = NULL;
+       struct stat sb;
+
+       fp = fopen(filename, "rb");
+       if (!fp) {
+               fprintf(stderr, "ERROR: Unable to open %s for reading: %s\n",
+                       filename, strerror(errno));
+               goto fail;
+       }
+
+       if (0 != fstat(fileno(fp), &sb)) {
+               fprintf(stderr, "ERROR: can't fstat %s: %s\n",
+                       filename, strerror(errno));
+               goto fail;
+       }
+       if (sizeptr)
+               *sizeptr = sb.st_size;
+
+       buf = (uint8_t *) malloc(sb.st_size);
+       if (!buf) {
+               fprintf(stderr, "ERROR: can't malloc %" PRIi64 " bytes: %s\n",
+                       sb.st_size, strerror(errno));
+               goto fail;
+       }
+
+       if (1 != fread(buf, sb.st_size, 1, fp)) {
+               fprintf(stderr, "ERROR: Unable to read from %s: %s\n",
+                       filename, strerror(errno));
+               goto fail;
+       }
+
+       if (0 != fclose(fp)) {
+               fprintf(stderr, "ERROR: Unable to close %s: %s\n",
+                       filename, strerror(errno));
+               fp = NULL;  /* Don't try to close it again */
+               goto fail;
+       }
+
+       return buf;
+
+fail:
+       errorcnt++;
+
+       if (buf)
+               free(buf);
+
+       if (fp && 0 != fclose(fp))
+               fprintf(stderr, "ERROR: Unable to close %s: %s\n",
+                       filename, strerror(errno));
+       return NULL;
+}
+
+static int write_to_file(const char *msg, const char *filename,
+                        uint8_t *start, size_t size)
+{
+       FILE *fp;
+       int r = 0;
+
+       fp = fopen(filename, "wb");
+       if (!fp) {
+               fprintf(stderr, "ERROR: Unable to open %s for writing: %s\n",
+                       filename, strerror(errno));
+               errorcnt++;
+               return errno;
+       }
+
+       /* Don't write zero bytes */
+       if (size && 1 != fwrite(start, size, 1, fp)) {
+               fprintf(stderr, "ERROR: Unable to write to %s: %s\n",
+                       filename, strerror(errno));
+               errorcnt++;
+               r = errno;
+       }
+
+       if (0 != fclose(fp)) {
+               fprintf(stderr, "ERROR: Unable to close %s: %s\n",
+                       filename, strerror(errno));
+               errorcnt++;
+               if (!r)
+                       r = errno;
+       }
+
+       if (!r && msg)
+               printf("%s %s\n", msg, filename);
+
+       return r;
+}
+
+static int read_from_file(const char *msg, const char *filename,
+                         uint8_t *start, uint32_t size)
+{
+       FILE *fp;
+       struct stat sb;
+       size_t count;
+       int r = 0;
+
+       fp = fopen(filename, "rb");
+       if (!fp) {
+               fprintf(stderr, "ERROR: Unable to open %s for reading: %s\n",
+                       filename, strerror(errno));
+               errorcnt++;
+               return errno;
+       }
+
+       if (0 != fstat(fileno(fp), &sb)) {
+               fprintf(stderr, "ERROR: can't fstat %s: %s\n",
+                       filename, strerror(errno));
+               errorcnt++;
+               r = errno;
+               goto done_close;
+       }
+
+       if (sb.st_size > size) {
+               fprintf(stderr,
+                       "ERROR: file %s exceeds capacity (%" PRIu32 ")\n",
+                       filename, size);
+               errorcnt++;
+               r = errno;
+               goto done_close;
+       }
+
+       /* Wipe existing data. */
+       memset(start, 0, size);
+
+       /* It's okay if we read less than size. That's just the max. */
+       count = fread(start, 1, size, fp);
+       if (ferror(fp)) {
+               fprintf(stderr,
+                       "ERROR: Read %zu/%" PRIi64 " bytes from %s: %s\n",
+                       count, sb.st_size, filename, strerror(errno));
+               errorcnt++;
+               r = errno;
+       }
+
+done_close:
+       if (0 != fclose(fp)) {
+               fprintf(stderr, "ERROR: Unable to close %s: %s\n",
+                       filename, strerror(errno));
+               errorcnt++;
+               if (!r)
+                       r = errno;
+       }
+
+       if (!r && msg)
+               printf(" - import %s from %s: success\n", msg, filename);
+
+       return r;
+}
+
+static int do_gbb(int argc, char *argv[])
+{
+       enum do_what_now { DO_GET, DO_SET, DO_CREATE } mode = DO_GET;
+       char *infile = NULL;
+       char *outfile = NULL;
+       char *opt_create = NULL;
+       char *opt_rootkey = NULL;
+       char *opt_bmpfv = NULL;
+       char *opt_recoverykey = NULL;
+       char *opt_hwid = NULL;
+       char *opt_flags = NULL;
+       int sel_hwid = 0;
+       int sel_digest = 0;
+       int sel_flags = 0;
+       uint8_t *inbuf = NULL;
+       off_t filesize;
+       uint8_t *outbuf = NULL;
+       struct vb2_gbb_header *gbb;
+       uint8_t *gbb_base;
+       int i;
+
+       opterr = 0;             /* quiet, you */
+       while ((i = getopt_long(argc, argv, short_opts, long_opts, 0)) != -1) {
+               switch (i) {
+               case 'g':
+                       mode = DO_GET;
+                       opt_has_arg("flags", 0);
+                       opt_has_arg("hwid", 0);
+                       break;
+               case 's':
+                       mode = DO_SET;
+                       opt_has_arg("flags", 1);
+                       opt_has_arg("hwid", 1);
+                       break;
+               case 'c':
+                       mode = DO_CREATE;
+                       opt_create = optarg;
+                       break;
+               case 'o':
+                       outfile = optarg;
+                       break;
+               case 'k':
+                       opt_rootkey = optarg;
+                       break;
+               case 'b':
+                       opt_bmpfv = optarg;
+                       break;
+               case 'r':
+                       opt_recoverykey = optarg;
+                       break;
+               case OPT_HWID:
+                       /* --hwid is optional: null might be okay */
+                       opt_hwid = optarg;
+                       sel_hwid = 1;
+                       break;
+               case OPT_FLAGS:
+                       /* --flags is optional: null might be okay */
+                       opt_flags = optarg;
+                       sel_flags = 1;
+                       break;
+               case OPT_DIGEST:
+                       sel_digest = 1;
+                       break;
+               case OPT_HELP:
+                       print_help(argc, argv);
+                       return !!errorcnt;
+
+               case '?':
+                       errorcnt++;
+                       if (optopt)
+                               fprintf(stderr,
+                                       "ERROR: unrecognized option: -%c\n",
+                                       optopt);
+                       else if (argv[optind - 1])
+                               fprintf(stderr,
+                                       "ERROR: unrecognized option "
+                                       "(possibly \"%s\")\n",
+                                       argv[optind - 1]);
+                       else
+                               fprintf(stderr, "ERROR: unrecognized option\n");
+                       break;
+               case ':':
+                       errorcnt++;
+                       if (argv[optind - 1])
+                               fprintf(stderr,
+                                       "ERROR: missing argument to -%c (%s)\n",
+                                       optopt, argv[optind - 1]);
+                       else
+                               fprintf(stderr,
+                                       "ERROR: missing argument to -%c\n",
+                                       optopt);
+                       break;
+               default:
+                       errorcnt++;
+                       fprintf(stderr,
+                               "ERROR: error while parsing options\n");
+               }
+       }
+
+       /* Problems? */
+       if (errorcnt) {
+               print_help(argc, argv);
+               return 1;
+       }
+
+       /* Now try to do something */
+       switch (mode) {
+       case DO_GET:
+               if (argc - optind < 1) {
+                       fprintf(stderr, "\nERROR: missing input filename\n");
+                       print_help(argc, argv);
+                       return 1;
+               } else {
+                       infile = argv[optind++];
+               }
+
+               /* With no args, show the HWID */
+               if (!opt_rootkey && !opt_bmpfv && !opt_recoverykey
+                   && !sel_flags && !sel_digest)
+                       sel_hwid = 1;
+
+               inbuf = read_entire_file(infile, &filesize);
+               if (!inbuf)
+                       break;
+
+               gbb = FindGbbHeader(inbuf, filesize);
+               if (!gbb) {
+                       fprintf(stderr, "ERROR: No GBB found in %s\n", infile);
+                       break;
+               }
+               gbb_base = (uint8_t *) gbb;
+
+               /* Get the stuff */
+               if (sel_hwid)
+                       printf("hardware_id: %s\n",
+                              gbb->hwid_size ? (char *)(gbb_base +
+                                                        gbb->
+                                                        hwid_offset) : "");
+               if (sel_digest)
+                       print_hwid_digest(gbb, "digest: ", "\n");
+
+               if (sel_flags)
+                       printf("flags: 0x%08x\n", gbb->flags);
+               if (opt_rootkey)
+                       write_to_file(" - exported root_key to file:",
+                                     opt_rootkey,
+                                     gbb_base + gbb->rootkey_offset,
+                                     gbb->rootkey_size);
+               if (opt_bmpfv)
+                       write_to_file(" - exported bmp_fv to file:", opt_bmpfv,
+                                     gbb_base + gbb->bmpfv_offset,
+                                     gbb->bmpfv_size);
+               if (opt_recoverykey)
+                       write_to_file(" - exported recovery_key to file:",
+                                     opt_recoverykey,
+                                     gbb_base + gbb->recovery_key_offset,
+                                     gbb->recovery_key_size);
+               break;
+
+       case DO_SET:
+               if (argc - optind < 1) {
+                       fprintf(stderr, "\nERROR: missing input filename\n");
+                       print_help(argc, argv);
+                       return 1;
+               }
+               infile = argv[optind++];
+               if (!outfile)
+                       outfile = (argc - optind < 1) ? infile : argv[optind++];
+
+               if (sel_hwid && !opt_hwid) {
+                       fprintf(stderr, "\nERROR: missing new HWID value\n");
+                       print_help(argc, argv);
+                       return 1;
+               }
+               if (sel_flags && (!opt_flags || !*opt_flags)) {
+                       fprintf(stderr, "\nERROR: missing new flags value\n");
+                       print_help(argc, argv);
+                       return 1;
+               }
+
+               /* With no args, we'll either copy it unchanged or do nothing */
+               inbuf = read_entire_file(infile, &filesize);
+               if (!inbuf)
+                       break;
+
+               gbb = FindGbbHeader(inbuf, filesize);
+               if (!gbb) {
+                       fprintf(stderr, "ERROR: No GBB found in %s\n", infile);
+                       break;
+               }
+               gbb_base = (uint8_t *) gbb;
+
+               outbuf = (uint8_t *) malloc(filesize);
+               if (!outbuf) {
+                       errorcnt++;
+                       fprintf(stderr,
+                               "ERROR: can't malloc %" PRIi64 " bytes: %s\n",
+                               filesize, strerror(errno));
+                       break;
+               }
+
+               /* Switch pointers to outbuf */
+               memcpy(outbuf, inbuf, filesize);
+               gbb = FindGbbHeader(outbuf, filesize);
+               if (!gbb) {
+                       fprintf(stderr,
+                               "INTERNAL ERROR: No GBB found in outbuf\n");
+                       exit(1);
+               }
+               gbb_base = (uint8_t *) gbb;
+
+               if (opt_hwid) {
+                       if (strlen(opt_hwid) + 1 > gbb->hwid_size) {
+                               fprintf(stderr,
+                                       "ERROR: null-terminated HWID"
+                                       " exceeds capacity (%d)\n",
+                                       gbb->hwid_size);
+                               errorcnt++;
+                       } else {
+                               /* Wipe data before writing new value. */
+                               memset(gbb_base + gbb->hwid_offset, 0,
+                                      gbb->hwid_size);
+                               strcpy((char *)(gbb_base + gbb->hwid_offset),
+                                      opt_hwid);
+                               update_hwid_digest(gbb);
+                       }
+               }
+
+               if (opt_flags) {
+                       char *e = NULL;
+                       uint32_t val;
+                       val = (uint32_t) strtoul(opt_flags, &e, 0);
+                       if (e && *e) {
+                               fprintf(stderr,
+                                       "ERROR: invalid flags value: %s\n",
+                                       opt_flags);
+                               errorcnt++;
+                       } else {
+                               gbb->flags = val;
+                       }
+               }
+
+               if (opt_rootkey) {
+                       read_from_file("root_key", opt_rootkey,
+                                      gbb_base + gbb->rootkey_offset,
+                                      gbb->rootkey_size);
+               }
+               if (opt_bmpfv)
+                       read_from_file("bmp_fv", opt_bmpfv,
+                                      gbb_base + gbb->bmpfv_offset,
+                                      gbb->bmpfv_size);
+               if (opt_recoverykey)
+                       read_from_file("recovery_key", opt_recoverykey,
+                                      gbb_base + gbb->recovery_key_offset,
+                                      gbb->recovery_key_size);
+
+               /* Write it out if there are no problems. */
+               if (!errorcnt)
+                       write_to_file("successfully saved new image to:",
+                                     outfile, outbuf, filesize);
+
+               break;
+
+       case DO_CREATE:
+               if (!outfile) {
+                       if (argc - optind < 1) {
+                               fprintf(stderr,
+                                       "\nERROR: missing output filename\n");
+                               print_help(argc, argv);
+                               return 1;
+                       }
+                       outfile = argv[optind++];
+               }
+               /* Parse the creation args */
+               outbuf = create_gbb(opt_create, &filesize);
+               if (!outbuf) {
+                       fprintf(stderr,
+                               "\nERROR: unable to parse creation spec (%s)\n",
+                               opt_create);
+                       print_help(argc, argv);
+                       return 1;
+               }
+               if (!errorcnt)
+                       write_to_file("successfully created new GBB to:",
+                                     outfile, outbuf, filesize);
+               break;
+       }
+
+       if (inbuf)
+               free(inbuf);
+       if (outbuf)
+               free(outbuf);
+       return !!errorcnt;
+}
+
+DECLARE_FUTIL_COMMAND(gbb, do_gbb, VBOOT_VERSION_ALL,
+                     "Manipulate the Google Binary Block (GBB)");
+DECLARE_FUTIL_COMMAND(gbb_utility, do_gbb, VBOOT_VERSION_ALL,
+                     "Legacy name for `gbb` command");
diff --git a/futility/cmd_gscvd.c b/futility/cmd_gscvd.c
new file mode 100644 (file)
index 0000000..7fff293
--- /dev/null
@@ -0,0 +1,1050 @@
+/*
+ * Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <openssl/bn.h>
+#include <openssl/pem.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include "fmap.h"
+#include "futility.h"
+#include "gsc_ro.h"
+#include "host_key21.h"
+#include "host_keyblock.h"
+#include "host_signature.h"
+
+/*
+ * for testing purposes let's use
+ * - tests/devkeys/arv_root.vbprivk as the root private key
+ * - tests/devkeys/arv_root.vbpubk as the root public key
+ *   used for signing of the platform public key
+ * - tests/devkeys/arv_platform.vbprivk signing platform key
+ * - tests/devkeys/arv_platform.vbpubk - public key used for signature
+ *       verification
+ *------------
+ * Command to create the signed public key block in ~/tmp/packed:
+ *
+  ./build/futility/futility vbutil_keyblock --pack ~/tmp/packed \
+      --datapubkey  tests/devkeys/arv_platform.vbpubk \
+      --signprivate tests/devkeys/arv_root.vbprivk
+ *------------
+ * Command to fill RO_GSCVD FMAP area in an AP firmware file. The input AP
+ *   firmware file is ~/tmp/image-guybrush.serial.bin, the output signed
+ *   AP firmware file is ~/tmp/guybrush-signed:
+ *
+  ./build/futility/futility gscvd --outfile ~/tmp/guybrush-signed \
+     -R 818100:10000,f00000:100,f80000:2000,f8c000:1000,0x00804000:0x00000800 \
+     -k ~/tmp/packed -p tests/devkeys/arv_platform.vbprivk -b 5a5a4352  \
+     -r tests/devkeys/arv_root.vbpubk ~/tmp/image-guybrush.serial.bin
+ *------------
+ * Command to validate a previously signed AP firmware file. The hash is the
+ *  sha256sum of tests/devkeys/kernel_subkey.vbpubk:
+ *
+  build/futility/futility gscvd ~/tmp/guybrush-signed \
+   3d74429f35be8d34bcb425d4397e2218e6961afed456a78ce30047f5b54ed158
+ */
+
+/* Command line options processing support. */
+enum no_short_opts {
+       OPT_OUTFILE = 1000,
+};
+
+static const struct option long_opts[] = {
+       /* name       hasarg *flag  val */
+       {"outfile",       1, NULL, OPT_OUTFILE},
+       {"ranges",        1, NULL, 'R'},
+       {"board_id",      1, NULL, 'b'},
+       {"root_pub_key",  1, NULL, 'r'},
+       {"keyblock",      1, NULL, 'k'},
+       {"platform_priv", 1, NULL, 'p'},
+       {"help",          0, NULL, 'h'},
+       {}
+};
+
+static const char *short_opts = "R:b:hk:p:r:";
+
+static const char usage[] =
+       "\n"
+       "This utility creates an RO verification space in the Chrome OS AP\n"
+       "firmware image or allows to validate a previously prepared image\n"
+       "containing the RO verification space.\n\n"
+       "Usage: " MYNAME " gscvd PARAMS <AP FIRMWARE FILE> [<root key hash>]\n"
+       "\n\nCreation of RO Verification space:\n\n"
+       "Required PARAMS:\n"
+       "  -R|--ranges        STRING        Comma separated colon delimited\n"
+       "                                     hex tuples <offset>:<size>, the\n"
+       "                                     areas of the RO covered by the\n"
+       "                                     signature\n"
+       "  -b|--board_id  <hex value>      The Board ID of the board for which\n"
+       "                                     the image is being signed\n"
+       "  -r|--root_pub_key  <file>        The main public key, in .vbpubk\n"
+       "                                     format, used to verify platform\n"
+       "                                     key\n"
+       "  -k|--keyblock      <file>        Signed platform public key in\n"
+       "                                     .keyblock format, used for run\n"
+       "                                     time RO verifcation\n"
+       "  -p|--platform_priv <file>        Private platform key in .vbprivk\n"
+       "                                     format, used for signing RO\n"
+       "                                     verification data\n"
+       "Optional PARAMS:\n"
+       "  [--outfile]        OUTFILE       Output firmware image containing\n"
+       "                                     RO verification information\n"
+       "\n\n"
+       "Validation of RO Verification space:\n\n"
+       "   The only required parameter is <AP FIRMWARE FILE>, if optional\n"
+       "   <root key hash> is given, it is compared to the hash\n"
+       "   of the root key found in <AP_FIRMWARE_FILE>.\n"
+       "\n\n"
+       "  -h|--help                        Print this message\n\n";
+
+/* Structure helping to keep track of the file mapped into memory. */
+struct file_buf {
+       uint32_t len;
+       uint8_t *data;
+       int fd;
+       FmapAreaHeader *ro_gscvd;
+};
+
+/*
+ * Max number of RO ranges to cover. 32 is more than enough, this must be kept
+ * in sync with APRO_MAX_NUM_RANGES declaration in
+ * common/ap_ro_integrity_check.c in the Cr50 tree.
+ */
+#define MAX_RANGES 32
+
+/*
+ * Container keeping track of the set of ranges to include in hash
+ * calculation.
+ */
+struct gscvd_ro_ranges {
+       size_t range_count;
+       struct gscvd_ro_range ranges[MAX_RANGES];
+};
+
+/**
+ * Load the AP firmware file into memory.
+ *
+ * Map the requested file into memory, find RO_GSCVD area in the file, and
+ * cache the information in the passed in file_buf structure.
+ *
+ * @param file_name  name of the AP firmware file
+ * @param file_buf   pointer to the helper structure keeping information about
+ *                   the file
+ *
+ * @return 0 on success 1 on failure.
+ */
+static int load_ap_firmware(const char *file_name, struct file_buf *file)
+{
+       int fd;
+       int rv;
+
+       fd = open(file_name, O_RDWR);
+       if (fd < 0) {
+               ERROR("Can't open %s: %s\n", file_name,
+                     strerror(errno));
+               return 1;
+       }
+
+       file->fd = fd;
+       do {
+               rv = 1;
+
+               if (futil_map_file(fd, MAP_RW, &file->data, &file->len)) {
+                       file->data = NULL;
+                       break;
+               }
+
+               if (!fmap_find_by_name(file->data, file->len, NULL, "RO_GSCVD",
+                                      &file->ro_gscvd)) {
+                       ERROR("Could not find RO_GSCVD in the FMAP\n");
+                       break;
+               }
+               rv = 0;
+       } while (false);
+
+       return rv;
+}
+
+/**
+ * Check if the passed in offset falls into the passed in FMAP area.
+ */
+static bool in_range(uint32_t offset, const FmapAreaHeader *ah)
+{
+       return (offset >= ah->area_offset) &&
+              (offset <= (ah->area_offset + ah->area_size));
+}
+
+/**
+ * Check if the passed in range fits into the passed in FMAP area.
+ */
+static bool range_fits(const struct gscvd_ro_range *range,
+                      const FmapAreaHeader *ah)
+{
+       if (in_range(range->offset, ah) &&
+           in_range(range->offset + range->size, ah))
+               return true;
+
+       ERROR("Range %#x..+%#x does not fit in %s\n", range->offset,
+             range->size, ah->area_name);
+
+       return false;
+}
+
+/**
+ * Check if the passed in range overlaps with the area.
+ *
+ * @param range  pointer to the range to check
+ * @param offset  offset of the area to check against
+ * @param size  size of the area to check against
+ *
+ * @return true if range overlaps with the area, false otherwise.
+ */
+static bool range_overlaps(const struct gscvd_ro_range *range, uint32_t offset,
+                          size_t size)
+{
+       if (((range->offset + range->size) <= offset) ||
+           (offset + size) <= range->offset)
+               return false;
+
+       ERROR("Range %x..+%x overlaps with %x..+%zx\n", range->offset,
+             range->size, offset, size);
+
+       return true;
+}
+
+/*
+ * Check validity of the passed in ranges.
+ *
+ * All ranges must
+ * - fit into the WP_RO FMAP area
+ * - not overlap with the RO_GSCVD FMAP area
+ * - not overlap with each other
+ *
+ * @param ranges - pointer to the container of ranges to check
+ * @param file - pointer to the file layout descriptor
+ *
+ * @return zero on success, -1 on failures
+ */
+static int verify_ranges(const struct gscvd_ro_ranges *ranges,
+                        const struct file_buf *file)
+{
+       size_t i;
+       FmapAreaHeader *wp_ro;
+       int errorcount;
+
+       if (!fmap_find_by_name(file->data, file->len, NULL, "WP_RO", &wp_ro)) {
+               ERROR("Could not find WP_RO in the FMAP\n");
+               return 1;
+       }
+
+       errorcount = 0;
+       for (i = 0; i < ranges->range_count; i++) {
+               size_t j;
+
+               /* Must fit into WP_RO. */
+               if (!range_fits(ranges->ranges + i, wp_ro))
+                       errorcount++;
+
+               /* Must not overlap with RO_GSCVD. */
+               if (range_overlaps(ranges->ranges + i,
+                                  file->ro_gscvd->area_offset,
+                                  file->ro_gscvd->area_size))
+                       errorcount++;
+
+               /* The last range is nothing to compare against. */
+               if (i == ranges->range_count - 1)
+                       break;
+
+               /* Must not overlap with all following ranges. */
+               for (j = i + 1; j < ranges->range_count; j++)
+                       if (range_overlaps(ranges->ranges + i,
+                                          ranges->ranges[j].offset,
+                                          ranges->ranges[j].size))
+                               errorcount++;
+       }
+
+       return errorcount ? -1 : 0;
+}
+
+/**
+ * Parse range specification supplied by the user.
+ *
+ * The input is a string of the following format:
+ * <hex base>:<hex size>[,<hex base>:<hex size>[,...]]
+ *
+ * @param input  user input, part of the command line
+ * @param output  pointer to the ranges container
+ *
+ * @return zero on success, -1 on failure
+ */
+static int parse_ranges(const char *input, struct gscvd_ro_ranges *output)
+{
+       char *cursor;
+       char *delim;
+       char *str = strdup(input);
+       int rv = 0;
+
+       if (!str) {
+               ERROR("Failed to allocate memory for ranges string copy!\n");
+               return -1;
+       }
+
+       output->range_count = 0;
+       cursor = str;
+       do {
+               char *colon;
+               char *e;
+
+               if (output->range_count >= ARRAY_SIZE(output->ranges)) {
+                       ERROR("Too many ranges!\n");
+                       rv = -1;
+                       break;
+               }
+
+               delim = strchr(cursor, ',');
+               if (delim)
+                       *delim = '\0';
+               colon = strchr(cursor, ':');
+               if (!colon) {
+                       rv = -1;
+                       break;
+               }
+               *colon = '\0';
+
+               errno = 0;
+               output->ranges[output->range_count].offset =
+                       strtol(cursor, &e, 16);
+               if (errno || *e) {
+                       rv = -1;
+                       break;
+               }
+
+               output->ranges[output->range_count].size =
+                       strtol(colon + 1, &e, 16);
+               if (errno || *e) {
+                       rv = -1;
+                       break;
+               }
+
+               output->range_count++;
+               cursor = delim + 1;
+               /* Iterate until there is no more commas. */
+       } while (delim);
+
+       free(str);
+       if (rv)
+               ERROR("Misformatted ranges string\n");
+
+       return rv;
+}
+
+/**
+ * Calculate hash of the RO ranges.
+ *
+ * @param ap_firmware_file  pointer to the AP firmware file layout descriptor
+ * @param ranges  pointer to the container of ranges to include in hash
+ *               calculation
+ * @param hash_alg  algorithm to use for hashing
+ * @param digest  memory to copy the calculated hash to
+ * @param digest_ size requested size of the digest, padded with zeros if the
+ *               SHA digest size is smaller than digest_size
+ *
+ * @return zero on success, -1 on failure.
+ */
+static int calculate_ranges_digest(const struct file_buf *ap_firmware_file,
+                                  const struct gscvd_ro_ranges *ranges,
+                                  enum vb2_hash_algorithm hash_alg,
+                                  void *digest, size_t digest_size)
+{
+       struct vb2_digest_context dc;
+       size_t i;
+
+       /* Calculate the ranges digest. */
+       if (vb2_digest_init(&dc, hash_alg) != VB2_SUCCESS) {
+               ERROR("Failed to init digest!\n");
+               return 1;
+       }
+
+       for (i = 0; i < ranges->range_count; i++) {
+               if (vb2_digest_extend(&dc,
+                                     ap_firmware_file->data +
+                                             ranges->ranges[i].offset,
+                                     ranges->ranges[i].size) != VB2_SUCCESS) {
+                       ERROR("Failed to extend digest!\n");
+                       return -1;
+               }
+       }
+
+       memset(digest, 0, digest_size);
+       if (vb2_digest_finalize(&dc, digest, digest_size) != VB2_SUCCESS) {
+               ERROR("Failed to finalize digest!\n");
+               return -1;
+       }
+
+       return 0;
+}
+
+/**
+ * Build GSC verification data.
+ *
+ * Calculate size of the structure including the signature and the root key,
+ * allocate memory, fill up the structure, calculate AP RO ranges digest and
+ * then the GVD signature.
+ *
+ * @param ap_firmware_file  pointer to the AP firmware file layout descriptor
+ * @param ranges  pointer to the container of ranges to include in verification
+ * @param root_pubk  pointer to the root pubk container
+ * @param privk   pointer to the private key to use for signing
+ * @param board_id  Board ID value to use.
+ *
+ * @return pointer to the created GVD (to be freed by the caller) on success,
+ *         NULL on failure.
+ */
+static
+struct gsc_verification_data *create_gvd(struct file_buf *ap_firmware_file,
+                                        struct gscvd_ro_ranges *ranges,
+                                        const struct vb2_packed_key *root_pubk,
+                                        const struct vb2_private_key *privk,
+                                        uint32_t board_id)
+{
+       struct gsc_verification_data *gvd;
+       size_t total_size;
+       size_t sig_size;
+       size_t ranges_size;
+       struct vb2_signature *sig;
+       const FmapHeader *fmh;
+
+       sig_size = vb2_rsa_sig_size(privk->sig_alg);
+       ranges_size = ranges->range_count * sizeof(struct gscvd_ro_range);
+       total_size = sizeof(struct gsc_verification_data) +
+               root_pubk->key_size + sig_size + ranges_size;
+
+       gvd = calloc(total_size, 1);
+
+       if (!gvd) {
+               ERROR("Failed to allocate %zd bytes for gvd\n", total_size);
+               return NULL;
+       }
+
+       gvd->gv_magic = GSC_VD_MAGIC;
+       gvd->size = total_size;
+       gvd->gsc_board_id = board_id;
+       gvd->rollback_counter = GSC_VD_ROLLBACK_COUNTER;
+
+       /* Guaranteed to succeed. */
+       fmh = fmap_find(ap_firmware_file->data, ap_firmware_file->len);
+
+       gvd->fmap_location = (uintptr_t)fmh - (uintptr_t)ap_firmware_file->data;
+
+       gvd->hash_alg = VB2_HASH_SHA256;
+
+       if (calculate_ranges_digest(ap_firmware_file, ranges, gvd->hash_alg,
+                                   gvd->ranges_digest,
+                                   sizeof(gvd->ranges_digest))) {
+               free(gvd);
+               return NULL;
+       }
+
+       /* Prepare signature header. */
+       vb2_init_signature(&gvd->sig_header,
+                          (uint8_t *)(gvd + 1) + ranges_size,
+                          sig_size,
+                          sizeof(struct gsc_verification_data) + ranges_size);
+
+       /* Copy root key into the structure. */
+       vb2_init_packed_key(&gvd->root_key_header,
+                           (uint8_t *)(gvd + 1) + ranges_size + sig_size,
+                           root_pubk->key_size);
+       vb2_copy_packed_key(&gvd->root_key_header, root_pubk);
+
+       /* Copy ranges into the ranges section. */
+       gvd->range_count = ranges->range_count;
+       memcpy(gvd->ranges, ranges->ranges, ranges_size);
+
+       sig = vb2_calculate_signature((uint8_t *)gvd,
+                                     sizeof(struct gsc_verification_data) +
+                                     ranges_size, privk);
+       if (!sig) {
+               ERROR("Failed to calculate signature\n");
+               free(gvd);
+               return NULL;
+       }
+
+       /* Copy signature body into GVD after some basic checks. */
+       if ((sig_size == sig->sig_size) &&
+           (gvd->sig_header.data_size == sig->data_size)) {
+               vb2_copy_signature(&gvd->sig_header, sig);
+       } else {
+               ERROR("Inconsistent signature headers\n");
+               free(sig);
+               free(gvd);
+               return NULL;
+       }
+
+       free(sig);
+
+       return gvd;
+}
+
+/**
+ * Fill RO_GSCVD FMAP area.
+ *
+ * All trust chain components have been verified, AP RO sections digest
+ * calculated, and GVD signature created; put it all together in the dedicated
+ * FMAP area.
+ *
+ * @param ap_firmware_file  pointer to the AP firmware file layout descriptor
+ * @param gvd  pointer to the GVD header
+ * @param keyblock  pointer to the keyblock container
+ *
+ * @return zero on success, -1 on failure
+ */
+static int fill_gvd_area(struct file_buf *ap_firmware_file,
+                        struct gsc_verification_data *gvd,
+                        struct vb2_keyblock *keyblock)
+{
+       size_t total;
+       uint8_t *cursor;
+
+       /* How much room is needed for the whole thing? */
+       total = gvd->size + keyblock->keyblock_size;
+
+       if (total > ap_firmware_file->ro_gscvd->area_size) {
+               ERROR("GVD section does not fit, %zd > %d\n",
+                     total, ap_firmware_file->ro_gscvd->area_size);
+               return -1;
+       }
+
+       cursor = ap_firmware_file->data +
+                ap_firmware_file->ro_gscvd->area_offset;
+
+       /* Copy GSC verification data */
+       memcpy(cursor, gvd, gvd->size);
+       cursor += gvd->size;
+
+       /* Keyblock, size includes everything. */
+       memcpy(cursor, keyblock, keyblock->keyblock_size);
+
+       return 0;
+}
+
+/**
+ * Initialize a work buffer structure.
+ *
+ * Embedded vboot reference code does not use malloc/free, it uses the so
+ * called work buffer structure to provide a poor man's memory management
+ * tool. This program uses some of the embedded library functions, let's
+ * implement work buffer support to keep the embedded code happy.
+ *
+ * @param wb  pointer to the workubffer structure to initialize
+ * @param size  size of the buffer to allocate
+ *
+ * @return pointer to the allocated buffer on success, NULL on failure.
+ */
+static void *init_wb(struct vb2_workbuf *wb, size_t size)
+{
+       void *buf = malloc(size);
+
+       if (!buf)
+               ERROR("Failed to allocate workblock of %zd\n", size);
+       else
+               vb2_workbuf_init(wb, buf, size);
+
+       return buf;
+}
+
+/**
+ * Validate that platform key keyblock was signed by the root key.
+ *
+ * This function performs the same step the GSC is supposed to perform:
+ * validate the platform key keyblock signature using the root public key.
+ *
+ * @param root_pubk  pointer to the root public key container
+ * @param kblock  pointer to the platform public key keyblock
+ *
+ * @return 0 on success, -1 on failure
+ */
+static int validate_pubk_signature(const struct vb2_packed_key *root_pubk,
+                                  struct vb2_keyblock *kblock)
+{
+       struct vb2_public_key pubk;
+       struct vb2_workbuf wb;
+       uint32_t kbsize;
+       int rv;
+       void *buf;
+
+       if (vb2_unpack_key(&pubk, root_pubk) != VB2_SUCCESS) {
+               ERROR("Failed to unpack public key\n");
+               return -1;
+       }
+
+       /* Let's create an ample sized work buffer. */
+       buf = init_wb(&wb, 8192);
+       if (!buf)
+               return -1;
+
+       rv = -1;
+       do {
+               void *work;
+
+               kbsize = kblock->keyblock_size;
+               work = vb2_workbuf_alloc(&wb, kbsize);
+               if (!work) {
+                       ERROR("Failed to allocate workblock space %d\n",
+                             kbsize);
+                       break;
+               }
+
+               memcpy(work, kblock, kbsize);
+
+               if (vb2_verify_keyblock(work, kbsize, &pubk, &wb) !=
+                   VB2_SUCCESS) {
+                       ERROR("Root and keyblock mismatch\n");
+                       break;
+               }
+
+               rv = 0;
+       } while (false);
+
+       free(buf);
+
+       return rv;
+}
+
+/**
+ * Validate that private and public parts of the platform key match.
+ *
+ * This is a fairly routine validation, the N components of the private and
+ * public RSA keys are compared.
+ *
+ * @param keyblock  pointer to the keyblock containing the public key
+ * @param plat_privk  pointer to the matching private key
+ *
+ * @return 0 on success, nonzero on failure
+ */
+static int validate_privk(struct vb2_keyblock *kblock,
+                         struct vb2_private_key *plat_privk)
+{
+       const BIGNUM *privn;
+       BIGNUM *pubn;
+       struct vb2_public_key pubk;
+       int rv;
+
+       privn = pubn = NULL;
+
+       RSA_get0_key(plat_privk->rsa_private_key, &privn, NULL, NULL);
+
+       if (vb2_unpack_key(&pubk, &kblock->data_key) != VB2_SUCCESS) {
+               ERROR("Failed to unpack public key\n");
+               return -1;
+       }
+
+       pubn = BN_new();
+       pubn = BN_lebin2bn((uint8_t *)pubk.n, vb2_rsa_sig_size(pubk.sig_alg),
+                          pubn);
+       rv = BN_cmp(pubn, privn);
+       if (rv)
+               ERROR("Public/private key N mismatch!\n");
+
+       BN_free(pubn);
+       return rv;
+}
+
+/**
+ * Copy ranges from AP firmware file into gscvd_ro_ranges container
+ *
+ * While copying the ranges verify that they do not overlap.
+ *
+ * @param ap_firmware_file  pointer to the AP firmware file layout descriptor
+ * @param gvd  pointer to the GVD header followed by the ranges
+ * @param ranges  pointer to the ranges container to copy ranges to
+ *
+ * @return 0 on successful copy nonzero on errors.
+ */
+static int copy_ranges(const struct file_buf *ap_firmware_file,
+                      const struct gsc_verification_data *gvd,
+                      struct gscvd_ro_ranges *ranges)
+{
+       ranges->range_count = gvd->range_count;
+       memcpy(ranges->ranges, gvd->ranges,
+              sizeof(ranges->ranges[0]) * ranges->range_count);
+
+       return verify_ranges(ranges, ap_firmware_file);
+}
+
+/**
+ * Basic validation of GVD included in a AP firmware file.
+ *
+ * This is not a cryptographic verification, just a check that the structure
+ * makes sense and the expected values are found in certain fields.
+ *
+ * @param gvd  pointer to the GVD header followed by the ranges
+ * @param ap_firmware_file  pointer to the AP firmware file layout descriptor
+ *
+ * @return zero on success, -1 on failure.
+ */
+static int validate_gvd(const struct gsc_verification_data *gvd,
+                       const struct file_buf *ap_firmware_file)
+{
+       const FmapHeader *fmh;
+
+       if (gvd->gv_magic != GSC_VD_MAGIC) {
+               ERROR("Incorrect gscvd magic %x\n", gvd->gv_magic);
+               return -1;
+       }
+
+       if (!gvd->range_count || (gvd->range_count > MAX_RANGES)) {
+               ERROR("Incorrect gscvd range count %d\n", gvd->range_count);
+               return -1;
+       }
+
+       /* Guaranteed to succeed. */
+       fmh = fmap_find(ap_firmware_file->data, ap_firmware_file->len);
+
+       if (gvd->fmap_location !=
+           ((uintptr_t)fmh - (uintptr_t)ap_firmware_file->data)) {
+               ERROR("Incorrect gscvd fmap offset %x\n", gvd->fmap_location);
+               return -1;
+       }
+
+       /* Make sure signature and root key fit. */
+       if (vb2_verify_signature_inside(gvd, gvd->size, &gvd->sig_header) !=
+           VB2_SUCCESS) {
+               ERROR("Corrupted signature header in GVD\n");
+               return -1;
+       }
+
+       if (vb2_verify_packed_key_inside(gvd, gvd->size,
+                                        &gvd->root_key_header) !=
+           VB2_SUCCESS) {
+               ERROR("Corrupted root key header in GVD\n");
+               return -1;
+       }
+
+       return 0;
+}
+
+/**
+ * Validate GVD signature.
+ *
+ * Given the entire GVD space (header plus ranges array), the signature and
+ * the public key, verify that the signature matches.
+ *
+ * @param gvd  pointer to gsc_verification_data followed by the ranges array
+ * @param gvd_signature  pointer to the vb2 signature container
+ * @param packedk  pointer to the keyblock containing the public key
+ *
+ * @return zero on success, non-zero on failure
+ */
+static int validate_gvd_signature(struct gsc_verification_data *gvd,
+                                 const struct vb2_packed_key *packedk)
+{
+       struct vb2_workbuf wb;
+       void *buf;
+       int rv;
+       struct vb2_public_key pubk;
+       size_t signed_size;
+
+       /* Extract public key from the public key keyblock. */
+       if (vb2_unpack_key(&pubk, packedk) != VB2_SUCCESS) {
+               ERROR("Failed to unpack public key\n");
+               return -1;
+       }
+
+       /* Let's create an ample sized work buffer. */
+       buf = init_wb(&wb, 8192);
+       if (!buf)
+               return -1;
+
+       signed_size = sizeof(struct gsc_verification_data) +
+               gvd->range_count * sizeof(gvd->ranges[0]);
+
+       rv = vb2_verify_data((const uint8_t *)gvd, signed_size,
+                            &gvd->sig_header,
+                            &pubk, &wb);
+
+       free(buf);
+       return rv;
+}
+
+/*
+ * Validate GVD of the passed in AP firmware file and possibly the root key hash
+ *
+ * The input parameters are the subset of the command line, the first argv
+ * string is the AP firmware file name, the second string, if present, is the
+ * hash of the root public key included in the RO_GSCVD area of the AP
+ * firmware file.
+ *
+ * @return zero on success, -1 on failure.
+ */
+static int validate_gscvd(int argc, char *argv[])
+{
+       struct file_buf ap_firmware_file;
+       int rv;
+       struct gscvd_ro_ranges ranges;
+       struct gsc_verification_data *gvd;
+       const char *file_name;
+       uint8_t digest[sizeof(gvd->ranges_digest)];
+       struct vb2_hash root_key_digest = { .algo = VB2_HASH_SHA256 };
+
+       /* Guaranteed to be available. */
+       file_name = argv[0];
+
+       if (argc > 1)
+               parse_digest_or_die(root_key_digest.sha256,
+                                   sizeof(root_key_digest.sha256),
+                                   argv[1]);
+
+       do {
+               struct vb2_keyblock *kblock;
+
+               rv = -1; /* Speculative, will be cleared on success. */
+
+               if (load_ap_firmware(file_name, &ap_firmware_file))
+                       break;
+
+               /* Copy ranges from gscvd to local structure. */
+               gvd = (struct gsc_verification_data
+                              *)(ap_firmware_file.data +
+                                 ap_firmware_file.ro_gscvd->area_offset);
+
+               if (validate_gvd(gvd, &ap_firmware_file))
+                       break;
+
+               if (copy_ranges(&ap_firmware_file, gvd, &ranges))
+                       break;
+
+               if (calculate_ranges_digest(&ap_firmware_file, &ranges,
+                                           gvd->hash_alg, digest,
+                                           sizeof(digest)))
+                       break;
+
+               if (memcmp(digest, gvd->ranges_digest, sizeof(digest))) {
+                       ERROR("Ranges digest mismatch\n");
+                       break;
+               }
+
+               /* Find the keyblock. */
+               kblock = (struct vb2_keyblock *)((uintptr_t)gvd + gvd->size);
+
+               if ((argc > 1) && (vb2_hash_verify
+                                  (vb2_packed_key_data(&gvd->root_key_header),
+                                   gvd->root_key_header.key_size,
+                                   &root_key_digest) != VB2_SUCCESS)) {
+                       ERROR("Sha256 mismatch\n");
+                       break;
+               }
+
+               if (validate_pubk_signature(&gvd->root_key_header,
+                                           kblock))
+                       break;
+
+               if (validate_gvd_signature(gvd, &kblock->data_key))
+                       break;
+
+               rv = 0;
+       } while (false);
+
+       return rv;
+}
+
+/**
+ * Calculate and report sha256 hash of the public key body.
+ *
+ * The hash will be incorporated into GVC firmware to allow it to validate the
+ * root key.
+ *
+ * @param pubk pointer to the public key to process.
+ */
+static void dump_pubk_hash(const struct vb2_packed_key *pubk)
+{
+       struct vb2_hash hash;
+       size_t i;
+
+       vb2_hash_calculate(vb2_packed_key_data(pubk), pubk->key_size,
+                          VB2_HASH_SHA256, &hash);
+
+       printf("Root key body sha256 hash:\n");
+
+       for (i = 0; i < sizeof(hash.sha256); i++)
+               printf("%02x", hash.sha256[i]);
+
+       printf("\n");
+}
+
+/**
+ * The main function of this futilty option.
+ *
+ * See the usage string for input details.
+ *
+ * @return zero on success, nonzero on failure.
+ */
+static int do_gscvd(int argc, char *argv[])
+{
+       int i;
+       int longindex;
+       char *infile = NULL;
+       char *outfile = NULL;
+       char *work_file = NULL;
+       struct gscvd_ro_ranges ranges;
+       int errorcount = 0;
+       struct vb2_packed_key *root_pubk = NULL;
+       struct vb2_keyblock *kblock = NULL;
+       struct vb2_private_key *plat_privk = NULL;
+       struct gsc_verification_data *gvd = NULL;
+       struct file_buf ap_firmware_file = { .fd = -1 };
+       uint32_t board_id = UINT32_MAX;
+       int rv = 0;
+
+       ranges.range_count = 0;
+
+       while ((i = getopt_long(argc, argv, short_opts, long_opts,
+                               &longindex)) != -1) {
+               switch (i) {
+               case OPT_OUTFILE:
+                       outfile = optarg;
+                       break;
+               case 'R':
+                       if (parse_ranges(optarg, &ranges)) {
+                               ERROR("Could not parse ranges\n");
+                               /* Error message has been already printed. */
+                               errorcount++;
+                       }
+                       break;
+               case 'b': {
+                       char *e;
+                       long long bid;
+
+                       bid = strtoull(optarg, &e, 16);
+                       if (*e || (bid >= UINT32_MAX)) {
+                               ERROR("Board ID value '%s' is invalid\n",
+                                     optarg);
+                               errorcount++;
+                       } else {
+                               board_id = (uint32_t)bid;
+                       }
+                       break;
+               }
+               case 'r':
+                       root_pubk = vb2_read_packed_key(optarg);
+                       if (!root_pubk) {
+                               ERROR("Could not read %s\n", optarg);
+                               errorcount++;
+                       }
+                       break;
+               case 'k':
+                       kblock = vb2_read_keyblock(optarg);
+                       if (!kblock) {
+                               ERROR("Could not read %s\n", optarg);
+                               errorcount++;
+                       }
+                       break;
+               case 'p':
+                       plat_privk = vb2_read_private_key(optarg);
+                       if (!plat_privk) {
+                               ERROR("Could not read %s\n", optarg);
+                               errorcount++;
+                       }
+                       break;
+               case 'h':
+                       printf("%s", usage);
+                       return 0;
+               case '?':
+                       if (optopt)
+                               ERROR("Unrecognized option: -%c\n", optopt);
+                       else
+                               ERROR("Unrecognized option: %s\n",
+                                     argv[optind - 1]);
+                       errorcount++;
+                       break;
+               case ':':
+                       ERROR("Missing argument to -%c\n", optopt);
+                       errorcount++;
+                       break;
+               case 0: /* handled option */
+                       break;
+               default:
+                       FATAL("Unrecognized getopt output: %d\n", i);
+               }
+       }
+
+       if ((optind == 1) && (argc > 1))
+               /* This must be a validation request. */
+               return validate_gscvd(argc - 1, argv + 1);
+
+       if (optind != (argc - 1)) {
+               ERROR("Misformatted command line\n%s\n", usage);
+               return 1;
+       }
+
+       if (errorcount || !ranges.range_count || !root_pubk || !kblock ||
+           !plat_privk || (board_id == UINT32_MAX)) {
+               /* Error message(s) should have been printed by now. */
+               ERROR("%s\n", usage);
+               return 1;
+       }
+
+       infile = argv[optind];
+
+       if (outfile) {
+               futil_copy_file_or_die(infile, outfile);
+               work_file = outfile;
+       } else {
+               work_file = infile;
+       }
+
+       do {
+               rv = 1; /* Speculative, will be cleared on success. */
+
+               if (validate_pubk_signature(root_pubk, kblock))
+                       break;
+
+               if (validate_privk(kblock, plat_privk))
+                       break;
+
+               if (load_ap_firmware(work_file, &ap_firmware_file))
+                       break;
+
+               if (verify_ranges(&ranges, &ap_firmware_file))
+                       break;
+
+               gvd = create_gvd(&ap_firmware_file, &ranges,
+                                root_pubk, plat_privk, board_id);
+               if (!gvd)
+                       break;
+
+               if (fill_gvd_area(&ap_firmware_file, gvd, kblock))
+                       break;
+
+               dump_pubk_hash(root_pubk);
+
+               rv = 0;
+       } while (false);
+
+       free(gvd);
+       free(root_pubk);
+       free(kblock);
+       vb2_private_key_free(plat_privk);
+
+       /* Now flush the file. */
+       if (ap_firmware_file.data) {
+               rv |= futil_unmap_file(ap_firmware_file.fd, true,
+                                      ap_firmware_file.data,
+                                      ap_firmware_file.len);
+       }
+
+       if (ap_firmware_file.fd != -1)
+               close(ap_firmware_file.fd);
+
+       return rv;
+}
+
+DECLARE_FUTIL_COMMAND(gscvd, do_gscvd, VBOOT_VERSION_2_1,
+                     "Create RO verification structure");
diff --git a/futility/cmd_load_fmap.c b/futility/cmd_load_fmap.c
new file mode 100644 (file)
index 0000000..818fda8
--- /dev/null
@@ -0,0 +1,209 @@
+/* Copyright 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <inttypes.h>
+#include <limits.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "fmap.h"
+#include "futility.h"
+
+static const char usage[] = "\n"
+       "Usage:  " MYNAME " %s [OPTIONS] FILE AREA:file [AREA:file ...]\n"
+       "\n"
+       "Replace the contents of specific FMAP areas. This is the complement\n"
+       "of " MYNAME " dump_fmap -x FILE AREA [AREA ...]\n"
+       "\n"
+       "Options:\n"
+       "  -o OUTFILE     Write the result to this file, instead of modifying\n"
+       "                   the input file. This is safer, since there are no\n"
+       "                   safeguards against doing something stupid.\n"
+       "\n"
+       "Example:\n"
+       "\n"
+       "  This will clear the RO_VPD area, and scramble VBLOCK_B:\n"
+       "\n"
+       "  " MYNAME " %s bios.bin RO_VPD:/dev/zero VBLOCK_B:/dev/urandom\n"
+       "\n";
+
+static void print_help(int argc, char *argv[])
+{
+       printf(usage, argv[0], argv[0]);
+}
+
+enum {
+       OPT_HELP = 1000,
+};
+static const struct option long_opts[] = {
+       /* name    hasarg *flag  val */
+       {"help",        0, NULL, OPT_HELP},
+       {NULL,          0, NULL, 0},
+};
+static const char *short_opts = ":o:";
+
+
+static int copy_to_area(char *file, uint8_t *buf, uint32_t len, char *area)
+{
+       FILE *fp;
+       int retval = 0;
+       int n;
+
+       fp = fopen(file, "r");
+       if (!fp) {
+               fprintf(stderr, "area %s: can't open %s for reading: %s\n",
+                       area, file, strerror(errno));
+               return 1;
+       }
+
+       n = fread(buf, 1, len, fp);
+       if (n == 0) {
+               if (feof(fp))
+                       fprintf(stderr, "area %s: unexpected EOF on %s\n",
+                               area, file);
+               if (ferror(fp))
+                       fprintf(stderr, "area %s: can't read from %s: %s\n",
+                               area, file, strerror(errno));
+               retval = 1;
+       } else if (n < len) {
+               fprintf(stderr, "Warning on area %s: only read %d "
+                       "(not %d) from %s\n", area, n, len, file);
+       }
+
+       if (0 != fclose(fp)) {
+               fprintf(stderr, "area %s: error closing %s: %s\n",
+                       area, file, strerror(errno));
+               retval = 1;
+       }
+
+       return retval;
+}
+
+
+static int do_load_fmap(int argc, char *argv[])
+{
+       char *infile = 0;
+       char *outfile = 0;
+       uint8_t *buf;
+       uint32_t len;
+       FmapHeader *fmap;
+       FmapAreaHeader *ah;
+       int errorcnt = 0;
+       int fd, i;
+
+       opterr = 0;             /* quiet, you */
+       while ((i = getopt_long(argc, argv, short_opts, long_opts, 0)) != -1) {
+               switch (i) {
+               case 'o':
+                       outfile = optarg;
+                       break;
+               case OPT_HELP:
+                       print_help(argc, argv);
+                       return !!errorcnt;
+               case '?':
+                       if (optopt)
+                               fprintf(stderr, "Unrecognized option: -%c\n",
+                                       optopt);
+                       else
+                               fprintf(stderr, "Unrecognized option\n");
+                       errorcnt++;
+                       break;
+               case ':':
+                       fprintf(stderr, "Missing argument to -%c\n", optopt);
+                       errorcnt++;
+                       break;
+               default:
+                       FATAL("Unrecognized getopt output: %d\n", i);
+               }
+       }
+
+       if (errorcnt) {
+               print_help(argc, argv);
+               return 1;
+       }
+
+       if (argc - optind < 2) {
+               fprintf(stderr,
+                       "You must specify an input file"
+                       " and at least one AREA:file argument\n");
+               print_help(argc, argv);
+               return 1;
+       }
+
+       infile = argv[optind++];
+
+       /* okay, let's do it ... */
+       if (outfile)
+               futil_copy_file_or_die(infile, outfile);
+       else
+               outfile = infile;
+
+       fd = open(outfile, O_RDWR);
+       if (fd < 0) {
+               fprintf(stderr, "Can't open %s: %s\n",
+                       outfile, strerror(errno));
+               return 1;
+       }
+
+       errorcnt |= futil_map_file(fd, MAP_RW, &buf, &len);
+       if (errorcnt)
+               goto done_file;
+
+       fmap = fmap_find(buf, len);
+       if (!fmap) {
+               fprintf(stderr, "Can't find an FMAP in %s\n", infile);
+               errorcnt++;
+               goto done_map;
+       }
+
+       for (i = optind; i < argc; i++) {
+               char *a = argv[i];
+               char *f = strchr(a, ':');
+
+               if (!f || a == f || *(f+1) == '\0') {
+                       fprintf(stderr, "argument \"%s\" is bogus\n", a);
+                       errorcnt++;
+                       break;
+               }
+               *f++ = '\0';
+               uint8_t *area_buf = fmap_find_by_name(buf, len, fmap, a, &ah);
+               if (!area_buf) {
+                       fprintf(stderr, "Can't find area \"%s\" in FMAP\n", a);
+                       errorcnt++;
+                       break;
+               }
+
+               if (0 != copy_to_area(f, area_buf, ah->area_size, a)) {
+                       errorcnt++;
+                       break;
+               }
+       }
+
+done_map:
+       errorcnt |= futil_unmap_file(fd, 1, buf, len);
+
+done_file:
+
+       if (0 != close(fd)) {
+               fprintf(stderr, "Error closing %s: %s\n",
+                       outfile, strerror(errno));
+               errorcnt++;
+       }
+
+       return !!errorcnt;
+}
+
+DECLARE_FUTIL_COMMAND(load_fmap, do_load_fmap, VBOOT_VERSION_ALL,
+                     "Replace the contents of specified FMAP areas");
+
diff --git a/futility/cmd_pcr.c b/futility/cmd_pcr.c
new file mode 100644 (file)
index 0000000..e267b24
--- /dev/null
@@ -0,0 +1,148 @@
+/* Copyright 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <ctype.h>
+#include <getopt.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "futility.h"
+
+static const char usage[] = "\n"
+       "Usage:  " MYNAME " %s [OPTIONS] DIGEST [...]\n"
+       "\n"
+       "This simulates a TPM PCR extension, to determine the expected output\n"
+       "\n"
+       "Each DIGEST arg should be a hex string (spaces optional) of the\n"
+       "appropriate length. The PCR is extended with each digest in turn\n"
+       "and the new value displayed.\n"
+       "\n"
+       "Options:\n"
+       "  -i      Initialize the PCR with the first DIGEST argument\n"
+       "            (the default is to start with all zeros)\n"
+       "  -2      Use sha256 DIGESTS (the default is sha1)\n"
+       "\n"
+       "Examples:\n"
+       "\n"
+       "  " MYNAME " %s b52791126f96a21a8ba4d511c6f25a1c1eb6dc9e\n"
+       "  " MYNAME " %s "
+       "'b5 27 91 12 6f 96 a2 1a 8b a4 d5 11 c6 f2 5a 1c 1e b6 dc 9e'\n"
+       "\n";
+
+static void print_help(int argc, char *argv[])
+{
+       printf(usage, argv[0], argv[0], argv[0]);
+}
+
+static void print_digest(const uint8_t *buf, int len)
+{
+       int i;
+       for (i = 0; i < len; i++)
+               printf("%02x", buf[i]);
+}
+
+enum {
+       OPT_HELP = 1000,
+};
+static const struct option long_opts[] = {
+       {"help",     0, 0, OPT_HELP},
+       {NULL, 0, 0, 0}
+};
+static int do_pcr(int argc, char *argv[])
+{
+       uint8_t accum[VB2_MAX_DIGEST_SIZE * 2];
+       uint8_t pcr[VB2_MAX_DIGEST_SIZE];
+       int digest_alg = VB2_HASH_SHA1;
+       int digest_size;
+       int opt_init = 0;
+       int errorcnt = 0;
+       int i;
+
+       opterr = 0;             /* quiet, you */
+       while ((i = getopt_long(argc, argv, ":i2", long_opts, NULL)) != -1) {
+               switch (i) {
+               case 'i':
+                       opt_init = 1;
+                       break;
+               case '2':
+                       digest_alg = VB2_HASH_SHA256;
+                       break;
+               case OPT_HELP:
+                       print_help(argc, argv);
+                       return !!errorcnt;
+               case '?':
+                       if (optopt)
+                               fprintf(stderr, "Unrecognized option: -%c\n",
+                                       optopt);
+                       else
+                               fprintf(stderr, "Unrecognized option\n");
+                       errorcnt++;
+                       break;
+               case ':':
+                       fprintf(stderr, "Missing argument to -%c\n", optopt);
+                       errorcnt++;
+                       break;
+               default:
+                       FATAL("Unrecognized getopt output: %d\n", i);
+               }
+       }
+
+       if (errorcnt) {
+               print_help(argc, argv);
+               return 1;
+       }
+
+       if (argc - optind < 1 + opt_init) {
+               fprintf(stderr, "You must extend at least one DIGEST\n");
+               print_help(argc, argv);
+               return 1;
+       }
+
+       memset(pcr, 0, sizeof(pcr));
+
+       digest_size = vb2_digest_size(digest_alg);
+       if (!digest_size) {
+               fprintf(stderr, "Error determining digest size!\n");
+               return 1;
+       }
+
+       if (opt_init) {
+               parse_digest_or_die(pcr, digest_size, argv[optind]);
+               optind++;
+       }
+
+       printf("PCR: ");
+       print_digest(pcr, digest_size);
+       printf("\n");
+
+       for (i = optind; i < argc; i++) {
+               memcpy(accum, pcr, sizeof(pcr));
+               parse_digest_or_die(accum + digest_size, digest_size, argv[i]);
+
+               printf("   + ");
+               print_digest(accum + digest_size, digest_size);
+               printf("\n");
+
+               if (VB2_SUCCESS != vb2_digest_buffer(accum, digest_size * 2,
+                                                    digest_alg,
+                                                    pcr, digest_size)) {
+                       fprintf(stderr, "Error computing digest!\n");
+                       return 1;
+               }
+
+               printf("PCR: ");
+               print_digest(pcr, digest_size);
+               printf("\n");
+       }
+
+       return 0;
+}
+
+DECLARE_FUTIL_COMMAND(pcr, do_pcr, VBOOT_VERSION_ALL,
+                     "Simulate a TPM PCR extension operation");
diff --git a/futility/cmd_show.c b/futility/cmd_show.c
new file mode 100644 (file)
index 0000000..dbe6edd
--- /dev/null
@@ -0,0 +1,638 @@
+/* Copyright 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <openssl/rsa.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <inttypes.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "file_type_bios.h"
+#include "file_type.h"
+#include "fmap.h"
+#include "futility.h"
+#include "futility_options.h"
+#include "host_common.h"
+#include "host_key21.h"
+#include "util_misc.h"
+#include "vb1_helper.h"
+
+/* Options */
+struct show_option_s show_option = {
+       .padding = 65536,
+       .type = FILE_TYPE_UNKNOWN,
+};
+
+/* Shared work buffer */
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_workbuf wb;
+
+void show_pubkey(const struct vb2_packed_key *pubkey, const char *sp)
+{
+       printf("%sVboot API:           1.0\n", sp);
+       printf("%sAlgorithm:           %d %s\n", sp, pubkey->algorithm,
+              vb2_get_crypto_algorithm_name(pubkey->algorithm));
+       printf("%sKey Version:         %d\n", sp, pubkey->key_version);
+       printf("%sKey sha1sum:         %s\n",
+              sp, packed_key_sha1_string(pubkey));
+}
+
+static void show_keyblock(struct vb2_keyblock *keyblock, const char *name,
+                         int sign_key, int good_sig)
+{
+       if (name)
+               printf("Keyblock:                %s\n", name);
+       else
+               printf("Keyblock:\n");
+       printf("  Signature:             %s\n",
+              sign_key ? (good_sig ? "valid" : "invalid") : "ignored");
+       printf("  Size:                  %#x\n", keyblock->keyblock_size);
+       printf("  Flags:                 %d ", keyblock->keyblock_flags);
+       if (keyblock->keyblock_flags & VB2_KEYBLOCK_FLAG_DEVELOPER_0)
+               printf(" !DEV");
+       if (keyblock->keyblock_flags & VB2_KEYBLOCK_FLAG_DEVELOPER_1)
+               printf(" DEV");
+       if (keyblock->keyblock_flags & VB2_KEYBLOCK_FLAG_RECOVERY_0)
+               printf(" !REC");
+       if (keyblock->keyblock_flags & VB2_KEYBLOCK_FLAG_RECOVERY_1)
+               printf(" REC");
+       if (keyblock->keyblock_flags & VB2_KEYBLOCK_FLAG_MINIOS_0)
+               printf(" !MINIOS");
+       if (keyblock->keyblock_flags & VB2_KEYBLOCK_FLAG_MINIOS_1)
+               printf(" MINIOS");
+       printf("\n");
+
+       struct vb2_packed_key *data_key = &keyblock->data_key;
+       printf("  Data key algorithm:    %d %s\n", data_key->algorithm,
+              vb2_get_crypto_algorithm_name(data_key->algorithm));
+       printf("  Data key version:      %d\n", data_key->key_version);
+       printf("  Data key sha1sum:      %s\n",
+              packed_key_sha1_string(data_key));
+}
+
+int ft_show_pubkey(const char *name, uint8_t *buf, uint32_t len, void *data)
+{
+       struct vb2_packed_key *pubkey = (struct vb2_packed_key *)buf;
+
+       if (vb2_packed_key_looks_ok(pubkey, len)) {
+               printf("%s looks bogus\n", name);
+               return 1;
+       }
+
+       printf("Public Key file:       %s\n", name);
+       show_pubkey(pubkey, "  ");
+
+       return 0;
+}
+
+int ft_show_privkey(const char *name, uint8_t *buf, uint32_t len, void *data)
+{
+       struct vb2_packed_private_key *pkey =
+               (struct vb2_packed_private_key *)buf;
+       struct vb2_private_key key;
+       const unsigned char *start = pkey->key_data;
+
+       if (len <= sizeof(*pkey)) {
+               printf("%s looks bogus\n", name);
+               return 1;
+       }
+       len -= sizeof(*pkey);
+       key.rsa_private_key = d2i_RSAPrivateKey(NULL, &start, len);
+
+       printf("Private Key file:      %s\n", name);
+       printf("  Vboot API:           1.0\n");
+       printf("  Algorithm:           %u %s\n", pkey->algorithm,
+              vb2_get_crypto_algorithm_name(pkey->algorithm));
+       printf("  Key sha1sum:         %s\n",
+              private_key_sha1_string(&key));
+
+       return 0;
+}
+
+int ft_show_keyblock(const char *name, uint8_t *buf, uint32_t len, void *data)
+{
+       struct vb2_keyblock *block = (struct vb2_keyblock *)buf;
+       struct vb2_public_key *sign_key = show_option.k;
+       int good_sig = 0;
+       int retval = 0;
+
+       /* Check the hash only first */
+       if (0 != vb2_verify_keyblock_hash(block, len, &wb)) {
+               printf("%s is invalid\n", name);
+               return 1;
+       }
+
+       /* Check the signature if we have one */
+       if (sign_key &&
+           VB2_SUCCESS == vb2_verify_keyblock(block, len, sign_key, &wb))
+               good_sig = 1;
+
+       if (show_option.strict && (!sign_key || !good_sig))
+               retval = 1;
+
+       show_keyblock(block, name, !!sign_key, good_sig);
+
+       return retval;
+}
+
+int ft_show_fw_preamble(const char *name, uint8_t *buf, uint32_t len,
+                       void *data)
+{
+       struct vb2_keyblock *keyblock = (struct vb2_keyblock *)buf;
+       struct bios_state_s *state = (struct bios_state_s *)data;
+       struct vb2_public_key *sign_key = show_option.k;
+       uint8_t *fv_data = show_option.fv;
+       uint64_t fv_size = show_option.fv_size;
+       struct bios_area_s *fw_body_area = 0;
+       int good_sig = 0;
+       int retval = 0;
+
+       /* Check the hash... */
+       if (VB2_SUCCESS != vb2_verify_keyblock_hash(keyblock, len, &wb)) {
+               printf("%s keyblock component is invalid\n", name);
+               return 1;
+       }
+
+       /*
+        * If we're being invoked while poking through a BIOS, we should
+        * be given the keys and data to verify as part of the state. If we
+        * have no state, then we're just looking at a standalone fw_preamble,
+        * so we'll have to get any keys or data from options.
+        */
+       struct vb2_public_key root_key;
+       if (state) {
+               if (!sign_key &&
+                   state->rootkey.is_valid &&
+                   VB2_SUCCESS == vb2_unpack_key_buffer(&root_key,
+                                                        state->rootkey.buf,
+                                                        state->rootkey.len)) {
+                       /* BIOS should have a rootkey in the GBB */
+                       sign_key = &root_key;
+               }
+
+               /* Identify the firmware body for this VBLOCK */
+               enum bios_component body_c = state->c == BIOS_FMAP_VBLOCK_A
+                       ? BIOS_FMAP_FW_MAIN_A
+                       : BIOS_FMAP_FW_MAIN_B;
+               fw_body_area = &state->area[body_c];
+       }
+
+       /* If we have a key, check the signature too */
+       if (sign_key && VB2_SUCCESS ==
+           vb2_verify_keyblock(keyblock, len, sign_key, &wb))
+               good_sig = 1;
+
+       show_keyblock(keyblock, name, !!sign_key, good_sig);
+
+       if (show_option.strict && (!sign_key || !good_sig))
+               retval = 1;
+
+       struct vb2_public_key data_key;
+       if (VB2_SUCCESS != vb2_unpack_key(&data_key, &keyblock->data_key)) {
+               fprintf(stderr, "Error parsing data key in %s\n", name);
+               return 1;
+       }
+
+       uint32_t more = keyblock->keyblock_size;
+       struct vb2_fw_preamble *pre2 = (struct vb2_fw_preamble *)(buf + more);
+       if (VB2_SUCCESS != vb2_verify_fw_preamble(pre2, len - more,
+                                                 &data_key, &wb)) {
+               printf("%s is invalid\n", name);
+               return 1;
+       }
+
+       uint32_t flags = pre2->flags;
+       if (pre2->header_version_minor < 1)
+               flags = 0;  /* Old 2.0 structure didn't have flags */
+
+       printf("Firmware Preamble:\n");
+       printf("  Size:                  %d\n", pre2->preamble_size);
+       printf("  Header version:        %d.%d\n",
+              pre2->header_version_major, pre2->header_version_minor);
+       printf("  Firmware version:      %d\n", pre2->firmware_version);
+
+       struct vb2_packed_key *kernel_subkey = &pre2->kernel_subkey;
+       printf("  Kernel key algorithm:  %d %s\n",
+              kernel_subkey->algorithm,
+              vb2_get_crypto_algorithm_name(kernel_subkey->algorithm));
+       if (kernel_subkey->algorithm >= VB2_ALG_COUNT)
+               retval = 1;
+       printf("  Kernel key version:    %d\n", kernel_subkey->key_version);
+       printf("  Kernel key sha1sum:    %s\n",
+              packed_key_sha1_string(kernel_subkey));
+       printf("  Firmware body size:    %d\n", pre2->body_signature.data_size);
+       printf("  Preamble flags:        %d\n", flags);
+
+       if (flags & VB2_FIRMWARE_PREAMBLE_USE_RO_NORMAL) {
+               printf("Preamble requests USE_RO_NORMAL;"
+                      " skipping body verification.\n");
+               goto done;
+       }
+
+       /* We'll need to get the firmware body from somewhere... */
+       if (fw_body_area && fw_body_area->is_valid) {
+               fv_data = fw_body_area->buf;
+               fv_size = fw_body_area->len;
+       }
+
+       if (!fv_data) {
+               printf("No firmware body available to verify.\n");
+               if (show_option.strict)
+                       return 1;
+               return 0;
+       }
+
+       if (VB2_SUCCESS !=
+           vb2_verify_data(fv_data, fv_size, &pre2->body_signature,
+                           &data_key, &wb)) {
+               fprintf(stderr, "Error verifying firmware body.\n");
+               return 1;
+       }
+
+done:
+       /* Can't trust the BIOS unless everything is signed (in which case
+        * we've already returned), but standalone files are okay. */
+       if (state || (sign_key && good_sig)) {
+               if (!(flags & VB2_FIRMWARE_PREAMBLE_USE_RO_NORMAL))
+                       printf("Body verification succeeded.\n");
+               if (state)
+                       state->area[state->c].is_valid = 1;
+       } else {
+               printf("Seems legit, but the signature is unverified.\n");
+               if (show_option.strict)
+                       retval = 1;
+       }
+
+       return retval;
+}
+
+int ft_show_kernel_preamble(const char *name, uint8_t *buf, uint32_t len,
+                           void *data)
+{
+       struct vb2_keyblock *keyblock = (struct vb2_keyblock *)buf;
+       struct vb2_public_key *sign_key = show_option.k;
+       int retval = 0;
+
+       /* Check the hash... */
+       if (VB2_SUCCESS != vb2_verify_keyblock_hash(keyblock, len, &wb)) {
+               printf("%s keyblock component is invalid\n", name);
+               return 1;
+       }
+
+       /* If we have a key, check the signature too */
+       int good_sig = 0;
+       if (sign_key && VB2_SUCCESS ==
+           vb2_verify_keyblock(keyblock, len, sign_key, &wb))
+               good_sig = 1;
+
+       printf("Kernel partition:        %s\n", name);
+       show_keyblock(keyblock, NULL, !!sign_key, good_sig);
+
+       if (show_option.strict && (!sign_key || !good_sig))
+               retval = 1;
+
+       struct vb2_public_key data_key;
+       if (VB2_SUCCESS != vb2_unpack_key(&data_key, &keyblock->data_key)) {
+               fprintf(stderr, "Error parsing data key in %s\n", name);
+               return 1;
+       }
+
+       uint32_t more = keyblock->keyblock_size;
+       struct vb2_kernel_preamble *pre2 =
+               (struct vb2_kernel_preamble *)(buf + more);
+
+       if (VB2_SUCCESS != vb2_verify_kernel_preamble(pre2, len - more,
+                                                     &data_key, &wb)) {
+               printf("%s is invalid\n", name);
+               return 1;
+       }
+
+       printf("Kernel Preamble:\n");
+       printf("  Size:                  %#x\n", pre2->preamble_size);
+       printf("  Header version:        %u.%u\n",
+              pre2->header_version_major,
+              pre2->header_version_minor);
+       printf("  Kernel version:        %u\n", pre2->kernel_version);
+       printf("  Body load address:     0x%" PRIx64 "\n",
+              pre2->body_load_address);
+       printf("  Body size:             %#x\n",
+              pre2->body_signature.data_size);
+       printf("  Bootloader address:    0x%" PRIx64 "\n",
+              pre2->bootloader_address);
+       printf("  Bootloader size:       %#x\n", pre2->bootloader_size);
+
+       uint64_t vmlinuz_header_address = 0;
+       uint32_t vmlinuz_header_size = 0;
+       vb2_kernel_get_vmlinuz_header(pre2,
+                                     &vmlinuz_header_address,
+                                     &vmlinuz_header_size);
+       if (vmlinuz_header_size) {
+               printf("  Vmlinuz_header address:    0x%" PRIx64 "\n",
+                      vmlinuz_header_address);
+               printf("  Vmlinuz header size:       %#x\n",
+                      vmlinuz_header_size);
+       }
+
+       printf("  Flags:                 %#x\n", vb2_kernel_get_flags(pre2));
+
+       /* Verify kernel body */
+       uint8_t *kernel_blob = 0;
+       uint64_t kernel_size = 0;
+       if (show_option.fv) {
+               /* It's in a separate file, which we've already read in */
+               kernel_blob = show_option.fv;
+               kernel_size = show_option.fv_size;
+       } else if (len > show_option.padding) {
+               /* It should be at an offset within the input file. */
+               kernel_blob = buf + show_option.padding;
+               kernel_size = len - show_option.padding;
+       }
+
+       if (!kernel_blob) {
+               /* TODO: Is this always a failure? The preamble is okay. */
+               fprintf(stderr, "No kernel blob available to verify.\n");
+               return 1;
+       }
+
+       if (VB2_SUCCESS !=
+           vb2_verify_data(kernel_blob, kernel_size, &pre2->body_signature,
+                           &data_key, &wb)) {
+               fprintf(stderr, "Error verifying kernel body.\n");
+               return 1;
+       }
+
+       printf("Body verification succeeded.\n");
+
+       printf("Config:\n%s\n", kernel_blob + kernel_cmd_line_offset(pre2));
+
+       return retval;
+}
+
+enum no_short_opts {
+       OPT_PADDING = 1000,
+       OPT_TYPE,
+       OPT_PUBKEY,
+       OPT_HELP,
+};
+
+static const char usage[] = "\n"
+       "Usage:  " MYNAME " %s [OPTIONS] FILE [...]\n"
+       "\n"
+       "Where FILE could be\n"
+       "\n"
+       "  a boot descriptor block (BDB)\n"
+       "  a keyblock (.keyblock)\n"
+       "  a firmware preamble signature (VBLOCK_A/B)\n"
+       "  a firmware image (bios.bin)\n"
+       "  a kernel partition (/dev/sda2, /dev/mmcblk0p2)\n"
+       "  keys in various formats (.vbpubk, .vbprivk, .pem)\n"
+       "  several other file types related to verified boot\n"
+       "\n"
+       "Options:\n"
+       "  -t                               Just show the type of each file\n"
+       "  --type           TYPE            Override the detected file type\n"
+       "                                     Use \"--type help\" for a list\n"
+       "Type-specific options:\n"
+       "  -k|--publickey   FILE.vbpubk     Public key in vb1 format\n"
+       "  --pubkey         FILE.vpubk2     Public key in vb2 format\n"
+       "  -f|--fv          FILE            Verify this payload (FW_MAIN_A/B)\n"
+       "  --pad            NUM             Kernel vblock padding size\n"
+       "  --strict                         "
+       "Fail unless all signatures are valid\n"
+       "\n";
+
+static void print_help(int argc, char *argv[])
+{
+       if (!strcmp(argv[0], "verify"))
+               printf("\nUsage:  " MYNAME " %s [OPTIONS] FILE [...]\n\n"
+                      "This is just an alias for\n\n"
+                      "  " MYNAME " show --strict\n\n",
+                      argv[0]);
+
+       printf(usage, "show");
+}
+
+static const struct option long_opts[] = {
+       /* name    hasarg *flag val */
+       {"publickey",   1, 0, 'k'},
+       {"fv",          1, 0, 'f'},
+       {"pad",         1, NULL, OPT_PADDING},
+       {"type",        1, NULL, OPT_TYPE},
+       {"strict",      0, &show_option.strict, 1},
+       {"pubkey",      1, NULL, OPT_PUBKEY},
+       {"help",        0, NULL, OPT_HELP},
+       {NULL, 0, NULL, 0},
+};
+static const char *short_opts = ":f:k:t";
+
+
+static int show_type(char *filename)
+{
+       enum futil_file_err err;
+       enum futil_file_type type;
+       err = futil_file_type(filename, &type);
+       switch (err) {
+       case FILE_ERR_NONE:
+               printf("%s:\t%s\n", filename, futil_file_type_name(type));
+               /* Only our recognized types return success */
+               return 0;
+       case FILE_ERR_DIR:
+               printf("%s:\t%s\n", filename, "directory");
+               break;
+       case FILE_ERR_CHR:
+               printf("%s:\t%s\n", filename, "character special");
+               break;
+       case FILE_ERR_FIFO:
+               printf("%s:\t%s\n", filename, "FIFO");
+               break;
+       case FILE_ERR_SOCK:
+               printf("%s:\t%s\n", filename, "socket");
+               break;
+       default:
+               break;
+       }
+       /* Everything else is an error */
+       return 1;
+}
+
+static int do_show(int argc, char *argv[])
+{
+       uint8_t *pubkbuf = NULL;
+       struct vb2_public_key pubk2;
+       char *infile = 0;
+       int ifd, i;
+       int errorcnt = 0;
+       uint8_t *buf;
+       uint32_t len;
+       char *e = 0;
+       int type_override = 0;
+       enum futil_file_type type;
+
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       opterr = 0;             /* quiet, you */
+       while ((i = getopt_long(argc, argv, short_opts, long_opts, 0)) != -1) {
+               switch (i) {
+               case 'f':
+                       show_option.fv = ReadFile(optarg,
+                                                 &show_option.fv_size);
+                       if (!show_option.fv) {
+                               fprintf(stderr, "Error reading %s: %s\n",
+                                       optarg, strerror(errno));
+                               errorcnt++;
+                       }
+                       break;
+               case 'k':
+                       if (VB2_SUCCESS !=
+                           vb2_read_file(optarg, &pubkbuf, &len)) {
+                               fprintf(stderr, "Error reading %s\n", optarg);
+                               errorcnt++;
+                               break;
+                       }
+
+                       if (VB2_SUCCESS !=
+                           vb2_unpack_key_buffer(&pubk2, pubkbuf, len)) {
+                               fprintf(stderr, "Error unpacking %s\n", optarg);
+                               errorcnt++;
+                               break;
+                       }
+
+                       show_option.k = &pubk2;
+                       break;
+               case 't':
+                       show_option.t_flag = 1;
+                       break;
+               case OPT_PADDING:
+                       show_option.padding = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr,
+                                       "Invalid --padding \"%s\"\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case OPT_TYPE:
+                       if (!futil_str_to_file_type(optarg,
+                                                   &show_option.type)) {
+                               if (!strcasecmp("help", optarg))
+                                       print_file_types_and_exit(errorcnt);
+                               fprintf(stderr,
+                                       "Invalid --type \"%s\"\n", optarg);
+                               errorcnt++;
+                       }
+                       type_override = 1;
+                       break;
+               case OPT_PUBKEY:
+                       if (vb21_packed_key_read(&show_option.pkey, optarg)) {
+                               fprintf(stderr, "Error reading %s\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case OPT_HELP:
+                       print_help(argc, argv);
+                       return !!errorcnt;
+
+               case '?':
+                       if (optopt)
+                               fprintf(stderr, "Unrecognized option: -%c\n",
+                                       optopt);
+                       else
+                               fprintf(stderr, "Unrecognized option\n");
+                       errorcnt++;
+                       break;
+               case ':':
+                       fprintf(stderr, "Missing argument to -%c\n", optopt);
+                       errorcnt++;
+                       break;
+               case 0:                         /* handled option */
+                       break;
+               default:
+                       FATAL("Unrecognized getopt output: %d\n", i);
+               }
+       }
+
+       if (errorcnt) {
+               print_help(argc, argv);
+               return 1;
+       }
+
+       if (argc - optind < 1) {
+               fprintf(stderr, "ERROR: missing input filename\n");
+               print_help(argc, argv);
+               return 1;
+       }
+
+       if (show_option.t_flag) {
+               for (i = optind; i < argc; i++)
+                       errorcnt += show_type(argv[i]);
+               goto done;
+       }
+
+       for (i = optind; i < argc; i++) {
+               infile = argv[i];
+               ifd = open(infile, O_RDONLY);
+               if (ifd < 0) {
+                       errorcnt++;
+                       fprintf(stderr, "Can't open %s: %s\n",
+                               infile, strerror(errno));
+                       continue;
+               }
+
+               if (0 != futil_map_file(ifd, MAP_RO, &buf, &len)) {
+                       errorcnt++;
+                       goto boo;
+               }
+
+               /* Allow the user to override the type */
+               if (type_override)
+                       type = show_option.type;
+               else
+                       type = futil_file_type_buf(buf, len);
+
+               errorcnt += futil_file_type_show(type, infile, buf, len);
+
+               errorcnt += futil_unmap_file(ifd, MAP_RO, buf, len);
+boo:
+               if (close(ifd)) {
+                       errorcnt++;
+                       fprintf(stderr, "Error when closing %s: %s\n",
+                               infile, strerror(errno));
+               }
+       }
+
+done:
+       if (pubkbuf)
+               free(pubkbuf);
+       if (show_option.fv)
+               free(show_option.fv);
+
+       return !!errorcnt;
+}
+
+DECLARE_FUTIL_COMMAND(show, do_show, VBOOT_VERSION_ALL,
+                     "Display the content of various binary components");
+
+static int do_verify(int argc, char *argv[])
+{
+       show_option.strict = 1;
+       return do_show(argc, argv);
+}
+
+DECLARE_FUTIL_COMMAND(verify, do_verify,
+                     VBOOT_VERSION_ALL,
+                     "Verify the signatures of various binary components");
diff --git a/futility/cmd_sign.c b/futility/cmd_sign.c
new file mode 100644 (file)
index 0000000..be8b634
--- /dev/null
@@ -0,0 +1,1073 @@
+/* Copyright 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <inttypes.h>
+#include <limits.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "file_type.h"
+#include "file_type_bios.h"
+#include "futility.h"
+#include "futility_options.h"
+#include "host_common.h"
+#include "host_common21.h"
+#include "host_key21.h"
+#include "kernel_blob.h"
+#include "util_misc.h"
+#include "vb1_helper.h"
+
+/* Options */
+struct sign_option_s sign_option = {
+       .version = 1,
+       .arch = ARCH_UNSPECIFIED,
+       .kloadaddr = CROS_32BIT_ENTRY_ADDR,
+       .padding = 65536,
+       .type = FILE_TYPE_UNKNOWN,
+       .hash_alg = VB2_HASH_SHA256,            /* default */
+       .ro_size = 0xffffffff,
+       .rw_size = 0xffffffff,
+       .ro_offset = 0xffffffff,
+       .rw_offset = 0xffffffff,
+       .sig_size = 1024,
+};
+
+/* Helper to complain about invalid args. Returns num errors discovered */
+static int no_opt_if(int expr, const char *optname)
+{
+       if (expr) {
+               fprintf(stderr, "Missing --%s option\n", optname);
+               return 1;
+       }
+       return 0;
+}
+
+/* This wraps/signs a public key, producing a keyblock. */
+int ft_sign_pubkey(const char *name, uint8_t *buf, uint32_t len, void *data)
+{
+       struct vb2_packed_key *data_key = (struct vb2_packed_key *)buf;
+       struct vb2_keyblock *block;
+
+       if (vb2_packed_key_looks_ok(data_key, len)) {
+               fprintf(stderr, "Public key looks bad.\n");
+               return 1;
+       }
+
+       if (sign_option.pem_signpriv) {
+               if (sign_option.pem_external) {
+                       /* External signing uses the PEM file directly. */
+                       block = vb2_create_keyblock_external(
+                               data_key,
+                               sign_option.pem_signpriv,
+                               sign_option.pem_algo,
+                               sign_option.flags,
+                               sign_option.pem_external);
+               } else {
+                       sign_option.signprivate = vb2_read_private_key_pem(
+                               sign_option.pem_signpriv,
+                               sign_option.pem_algo);
+                       if (!sign_option.signprivate) {
+                               fprintf(stderr,
+                                       "Unable to read PEM signing key: %s\n",
+                                       strerror(errno));
+                               return 1;
+                       }
+                       block = vb2_create_keyblock(data_key,
+                                                   sign_option.signprivate,
+                                                   sign_option.flags);
+               }
+       } else {
+               /* Not PEM. Should already have a signing key. */
+               block = vb2_create_keyblock(data_key, sign_option.signprivate,
+                                           sign_option.flags);
+       }
+
+       /* Write it out */
+       return WriteSomeParts(sign_option.outfile,
+                             block, block->keyblock_size,
+                             NULL, 0);
+}
+
+int ft_sign_raw_kernel(const char *name, uint8_t *buf, uint32_t len,
+                      void *data)
+{
+       uint8_t *vmlinuz_data, *kblob_data, *vblock_data;
+       uint32_t vmlinuz_size, kblob_size, vblock_size;
+       int rv;
+
+       vmlinuz_data = buf;
+       vmlinuz_size = len;
+
+       kblob_data = CreateKernelBlob(
+               vmlinuz_data, vmlinuz_size,
+               sign_option.arch, sign_option.kloadaddr,
+               sign_option.config_data, sign_option.config_size,
+               sign_option.bootloader_data, sign_option.bootloader_size,
+               &kblob_size);
+       if (!kblob_data) {
+               fprintf(stderr, "Unable to create kernel blob\n");
+               return 1;
+       }
+       VB2_DEBUG("kblob_size = %#x\n", kblob_size);
+
+       vblock_data = SignKernelBlob(kblob_data, kblob_size,
+                                    sign_option.padding,
+                                    sign_option.version,
+                                    sign_option.kloadaddr,
+                                    sign_option.keyblock,
+                                    sign_option.signprivate,
+                                    sign_option.flags, &vblock_size);
+       if (!vblock_data) {
+               fprintf(stderr, "Unable to sign kernel blob\n");
+               free(kblob_data);
+               return 1;
+       }
+       VB2_DEBUG("vblock_size = %#x\n", vblock_size);
+
+       /* We should be creating a completely new output file.
+        * If not, something's wrong. */
+       if (!sign_option.create_new_outfile)
+               FATAL("create_new_outfile should be selected\n");
+
+       if (sign_option.vblockonly)
+               rv = WriteSomeParts(sign_option.outfile,
+                                   vblock_data, vblock_size,
+                                   NULL, 0);
+       else
+               rv = WriteSomeParts(sign_option.outfile,
+                                   vblock_data, vblock_size,
+                                   kblob_data, kblob_size);
+
+       free(vblock_data);
+       free(kblob_data);
+       return rv;
+}
+
+int ft_sign_kern_preamble(const char *name, uint8_t *buf, uint32_t len,
+                         void *data)
+{
+       uint8_t *kpart_data, *kblob_data, *vblock_data;
+       uint32_t kpart_size, kblob_size, vblock_size;
+       struct vb2_keyblock *keyblock = NULL;
+       struct vb2_kernel_preamble *preamble = NULL;
+       int rv = 0;
+
+       kpart_data = buf;
+       kpart_size = len;
+
+       /* Note: This just sets some static pointers. It doesn't malloc. */
+       kblob_data = unpack_kernel_partition(kpart_data, kpart_size,
+                                            sign_option.padding,
+                                            &keyblock, &preamble, &kblob_size);
+
+       if (!kblob_data) {
+               fprintf(stderr, "Unable to unpack kernel partition\n");
+               return 1;
+       }
+
+       /*
+        * We don't let --kloadaddr change when resigning, because the original
+        * vbutil_kernel program didn't do it right. Since obviously no one
+        * ever noticed, we'll maintain bug-compatibility by just not allowing
+        * it here either. To enable it, we'd need to update the zeropage
+        * table's cmd_line_ptr as well as the preamble.
+        */
+       sign_option.kloadaddr = preamble->body_load_address;
+
+       /* Replace the config if asked */
+       if (sign_option.config_data &&
+           0 != UpdateKernelBlobConfig(kblob_data, kblob_size,
+                                       sign_option.config_data,
+                                       sign_option.config_size)) {
+               fprintf(stderr, "Unable to update config\n");
+               return 1;
+       }
+
+       /* Preserve the version unless a new one is given */
+       if (!sign_option.version_specified)
+               sign_option.version = preamble->kernel_version;
+
+       /* Preserve the flags if not specified */
+       uint32_t kernel_flags = vb2_kernel_get_flags(preamble);
+       if (sign_option.flags_specified == 0)
+               sign_option.flags = kernel_flags;
+
+       /* Replace the keyblock if asked */
+       if (sign_option.keyblock)
+               keyblock = sign_option.keyblock;
+
+       /* Compute the new signature */
+       vblock_data = SignKernelBlob(kblob_data, kblob_size,
+                                    sign_option.padding,
+                                    sign_option.version,
+                                    sign_option.kloadaddr,
+                                    keyblock,
+                                    sign_option.signprivate,
+                                    sign_option.flags,
+                                    &vblock_size);
+       if (!vblock_data) {
+               fprintf(stderr, "Unable to sign kernel blob\n");
+               return 1;
+       }
+       VB2_DEBUG("vblock_size = %#x\n", vblock_size);
+
+       if (sign_option.create_new_outfile) {
+               /* Write out what we've been asked for */
+               if (sign_option.vblockonly)
+                       rv = WriteSomeParts(sign_option.outfile,
+                                           vblock_data, vblock_size,
+                                           NULL, 0);
+               else
+                       rv = WriteSomeParts(sign_option.outfile,
+                                           vblock_data, vblock_size,
+                                           kblob_data, kblob_size);
+       } else {
+               /* If we're modifying an existing file, it's mmap'ed so that
+                * all our modifications to the buffer will get flushed to
+                * disk when we close it. */
+               memcpy(kpart_data, vblock_data, vblock_size);
+       }
+
+       free(vblock_data);
+       return rv;
+}
+
+
+int ft_sign_raw_firmware(const char *name, uint8_t *buf, uint32_t len,
+                        void *data)
+{
+       struct vb2_signature *body_sig;
+       struct vb2_fw_preamble *preamble;
+       int rv;
+
+       body_sig = vb2_calculate_signature(buf, len, sign_option.signprivate);
+       if (!body_sig) {
+               fprintf(stderr, "Error calculating body signature\n");
+               return 1;
+       }
+
+       preamble = vb2_create_fw_preamble(
+                       sign_option.version,
+                       (struct vb2_packed_key *)sign_option.kernel_subkey,
+                       body_sig,
+                       sign_option.signprivate,
+                       sign_option.flags);
+       if (!preamble) {
+               fprintf(stderr, "Error creating firmware preamble.\n");
+               free(body_sig);
+               return 1;
+       }
+
+       rv = WriteSomeParts(sign_option.outfile,
+                           sign_option.keyblock,
+                           sign_option.keyblock->keyblock_size,
+                           preamble, preamble->preamble_size);
+
+       free(preamble);
+       free(body_sig);
+
+       return rv;
+}
+
+static const char usage_pubkey[] = "\n"
+       "To sign a public key / create a new keyblock:\n"
+       "\n"
+       "Required PARAMS:\n"
+       "  [--datapubkey]   INFILE          The public key to wrap\n"
+       "  [--outfile]      OUTFILE         The resulting keyblock\n"
+       "\n"
+       "Optional PARAMS:\n"
+       "  A private signing key, specified as either\n"
+       "    -s|--signprivate FILE.vbprivk  Signing key in .vbprivk format\n"
+       "  Or\n"
+       "    --pem_signpriv   FILE.pem      Signing key in PEM format...\n"
+       "    --pem_algo       NUM           AND the algorithm to use (0 - %d)\n"
+       "\n"
+       "  If a signing key is not given, the keyblock will not be signed."
+       "\n\n"
+       "And these, too:\n\n"
+       "  -f|--flags       NUM             Flags specifying use conditions\n"
+       "  --pem_external   PROGRAM"
+       "         External program to compute the signature\n"
+       "                                     (requires a PEM signing key)\n"
+       "\n";
+static void print_help_pubkey(int argc, char *argv[])
+{
+       printf(usage_pubkey, VB2_ALG_COUNT - 1);
+}
+
+
+static const char usage_fw_main[] = "\n"
+       "To sign a raw firmware blob (FW_MAIN_A/B):\n"
+       "\n"
+       "Required PARAMS:\n"
+       "  -s|--signprivate FILE.vbprivk    The private firmware data key\n"
+       "  -b|--keyblock    FILE.keyblock   The keyblock containing the\n"
+       "                                     public firmware data key\n"
+       "  -k|--kernelkey   FILE.vbpubk     The public kernel subkey\n"
+       "  -v|--version     NUM             The firmware version number\n"
+       "  [--fv]           INFILE"
+       "          The raw firmware blob (FW_MAIN_A/B)\n"
+       "  [--outfile]      OUTFILE         Output VBLOCK_A/B\n"
+       "\n"
+       "Optional PARAMS:\n"
+       "  -f|--flags       NUM             The preamble flags value"
+       " (default is 0)\n"
+       "\n";
+static void print_help_raw_firmware(int argc, char *argv[])
+{
+       puts(usage_fw_main);
+}
+
+static const char usage_bios[] = "\n"
+       "To sign a complete firmware image (bios.bin):\n"
+       "\n"
+       "Required PARAMS:\n"
+       "  -s|--signprivate FILE.vbprivk    The private firmware data key\n"
+       "  -b|--keyblock    FILE.keyblock   The keyblock containing the\n"
+       "                                     public firmware data key\n"
+       "  -k|--kernelkey   FILE.vbpubk     The public kernel subkey\n"
+       "  [--infile]       INFILE          Input firmware image (modified\n"
+       "                                     in place if no OUTFILE given)\n"
+       "\n"
+       "These are required if the A and B firmware differ:\n"
+       "  -S|--devsign     FILE.vbprivk    The DEV private firmware data key\n"
+       "  -B|--devkeyblock FILE.keyblock   The keyblock containing the\n"
+       "                                     DEV public firmware data key\n"
+       "\n"
+       "Optional PARAMS:\n"
+       "  -v|--version     NUM             The firmware version number"
+       " (default %d)\n"
+       "  -f|--flags       NUM             The preamble flags value"
+       " (default is\n"
+       "                                     unchanged, or 0 if unknown)\n"
+       "  -d|--loemdir     DIR             Local OEM output vblock directory\n"
+       "  -l|--loemid      STRING          Local OEM vblock suffix\n"
+       "  [--outfile]      OUTFILE         Output firmware image\n"
+       "\n";
+static void print_help_bios_image(int argc, char *argv[])
+{
+       printf(usage_bios, sign_option.version);
+}
+
+static const char usage_new_kpart[] = "\n"
+       "To create a new kernel partition image (/dev/sda2, /dev/mmcblk0p2):\n"
+       "\n"
+       "Required PARAMS:\n"
+       "  -s|--signprivate FILE.vbprivk"
+       "    The private key to sign the kernel blob\n"
+       "  -b|--keyblock    FILE.keyblock   Keyblock containing the public\n"
+       "                                     key to verify the kernel blob\n"
+       "  -v|--version     NUM             The kernel version number\n"
+       "  --bootloader     FILE            Bootloader stub\n"
+       "  --config         FILE            The kernel commandline file\n"
+       "  --arch           ARCH            The CPU architecture (one of\n"
+       "                                     x86|amd64, arm|aarch64, mips)\n"
+       "  [--vmlinuz]      INFILE          Linux kernel bzImage file\n"
+       "  [--outfile]      OUTFILE         Output kernel partition or vblock\n"
+       "\n"
+       "Optional PARAMS:\n"
+       "  --kloadaddr      NUM"
+       "             RAM address to load the kernel body\n"
+       "                                     (default %#x)\n"
+       "  --pad            NUM             The vblock padding size in bytes\n"
+       "                                     (default %#x)\n"
+       " --vblockonly                      Emit just the vblock (requires a\n"
+       "                                     distinct outfile)\n"
+       "  -f|--flags       NUM             The preamble flags value\n"
+       "\n";
+static void print_help_raw_kernel(int argc, char *argv[])
+{
+       printf(usage_new_kpart, sign_option.kloadaddr, sign_option.padding);
+}
+
+static const char usage_old_kpart[] = "\n"
+       "To resign an existing kernel partition (/dev/sda2, /dev/mmcblk0p2):\n"
+       "\n"
+       "Required PARAMS:\n"
+       "  -s|--signprivate FILE.vbprivk"
+       "    The private key to sign the kernel blob\n"
+       "  [--infile]       INFILE          Input kernel partition (modified\n"
+       "                                     in place if no OUTFILE given)\n"
+       "\n"
+       "Optional PARAMS:\n"
+       "  -b|--keyblock    FILE.keyblock   Keyblock containing the public\n"
+       "                                     key to verify the kernel blob\n"
+       "  -v|--version     NUM             The kernel version number\n"
+       "  --config         FILE            The kernel commandline file\n"
+       "  --pad            NUM             The vblock padding size in bytes\n"
+       "                                     (default %#x)\n"
+       "  [--outfile]      OUTFILE         Output kernel partition or vblock\n"
+       "  --vblockonly                     Emit just the vblock (requires a\n"
+       "                                     distinct OUTFILE)\n"
+       "  -f|--flags       NUM             The preamble flags value\n"
+       "\n";
+static void print_help_kern_preamble(int argc, char *argv[])
+{
+       printf(usage_old_kpart, sign_option.padding);
+}
+
+static void print_help_usbpd1(int argc, char *argv[])
+{
+       enum vb2_hash_algorithm algo;
+
+       printf("\n"
+              "Usage:  " MYNAME " %s --type %s [options] INFILE [OUTFILE]\n"
+              "\n"
+              "This signs a %s.\n"
+              "\n"
+              "The INFILE is assumed to consist of equal-sized RO and RW"
+              " sections,\n"
+              "with the public key at the end of of the RO section and the"
+              " signature\n"
+              "at the end of the RW section (both in an opaque binary"
+              " format).\n"
+              "Signing the image will update both binary blobs, so both"
+              " public and\n"
+              "private keys are required.\n"
+              "\n"
+              "The signing key is specified with:\n"
+              "\n"
+              "  --pem            "
+              "FILE          Signing keypair in PEM format\n"
+              "\n"
+              "  --hash_alg       "
+              "NUM           Hash algorithm to use:\n",
+              argv[0],
+              futil_file_type_name(FILE_TYPE_USBPD1),
+              futil_file_type_desc(FILE_TYPE_USBPD1));
+       for (algo = 0; algo < VB2_HASH_ALG_COUNT; algo++) {
+               const char *name = vb2_get_hash_algorithm_name(algo);
+               if (strcmp(name, VB2_INVALID_ALG_NAME) != 0)
+                       printf("                                   %d / %s%s\n",
+                              algo, name,
+                              algo == VB2_HASH_SHA256 ? " (default)" : "");
+       }
+       printf("\n"
+              "The size and offset assumptions can be overridden. "
+              "All numbers are in bytes.\n"
+              "Specify a size of 0 to ignore that section.\n"
+              "\n"
+              "  --ro_size        NUM"
+              "           Size of the RO section (default half)\n"
+              "  --rw_size        NUM"
+              "           Size of the RW section (default half)\n"
+              "  --ro_offset      NUM"
+              "           Start of the RO section (default 0)\n"
+              "  --rw_offset      NUM"
+              "           Start of the RW section (default half)\n"
+              "\n");
+}
+
+static void print_help_rwsig(int argc, char *argv[])
+{
+       printf("\n"
+              "Usage:  " MYNAME " %s --type %s [options] INFILE [OUTFILE]\n"
+              "\n"
+              "This signs a %s.\n"
+              "\n"
+              "Data only mode\n"
+              "This mode requires OUTFILE.\n"
+              "The INFILE is a binary blob of arbitrary size. It is signed using the\n"
+              "private key and the vb21_signature blob emitted.\n"
+              "\n"
+              "Data + Signature mode\n"
+              "If no OUTFILE is specified, the INFILE should contain an existing\n"
+              "vb21_signature blob near its end. The data_size from that signature is\n"
+              "used to re-sign a portion of the INFILE, and the old signature blob is\n"
+              "replaced.\n"
+              "\n"
+              "Key + Data + Signature mode\n"
+              "This mode also takes no output file.\n"
+              "If INFILE contains an FMAP, RW and signatures offsets are read from\n"
+              "FMAP. These regions must be named EC_RW and SIG_RW respectively.\n"
+              "If a public key is found in the region named KEY_RO, it will be replaced\n"
+              "in the RO image. This mode also produces EC_RW.bin which is a EC_RW\n"
+              "region image (same as the input file for 'Data + Signature mode').\n"
+              "\n"
+              "Options:\n"
+              "\n"
+              "  --prikey      FILE.vbprik2      Private key in vb2 format. Required\n"
+              "                                  if INFILE is a binary blob. If not\n"
+              "                                  provided, previous signature is copied\n"
+              "                                  and a public key won't be replaced.\n"
+              "  --version     NUM               Public key version if we are replacing\n"
+              "                                  the key in INFILE (default: 1)\n"
+              "  --sig_size    NUM               Offset from the end of INFILE where the\n"
+              "                                    signature blob should be located, if\n"
+              "                                    the file does not contain an FMAP.\n"
+              "                                    (default 1024 bytes)\n"
+              "  --data_size   NUM               Number of bytes of INFILE to sign\n"
+              "\n",
+              argv[0],
+              futil_file_type_name(FILE_TYPE_RWSIG),
+              futil_file_type_desc(FILE_TYPE_RWSIG));
+}
+
+static void (*help_type[NUM_FILE_TYPES])(int argc, char *argv[]) = {
+       [FILE_TYPE_PUBKEY] = &print_help_pubkey,
+       [FILE_TYPE_RAW_FIRMWARE] = &print_help_raw_firmware,
+       [FILE_TYPE_BIOS_IMAGE] = &print_help_bios_image,
+       [FILE_TYPE_RAW_KERNEL] = &print_help_raw_kernel,
+       [FILE_TYPE_KERN_PREAMBLE] = &print_help_kern_preamble,
+       [FILE_TYPE_USBPD1] = &print_help_usbpd1,
+       [FILE_TYPE_RWSIG] = &print_help_rwsig,
+};
+
+static const char usage_default[] = "\n"
+       "Usage:  " MYNAME " %s [PARAMS] INFILE [OUTFILE]\n"
+       "\n"
+       "The following signing operations are supported:\n"
+       "\n"
+       "    INFILE                              OUTFILE\n"
+       "  public key (.vbpubk)                keyblock\n"
+       "  raw firmware blob (FW_MAIN_A/B)     firmware preamble (VBLOCK_A/B)\n"
+       "  full firmware image (bios.bin)      same, or signed in-place\n"
+       "  raw linux kernel (vmlinuz)          kernel partition image\n"
+       "  kernel partition (/dev/sda2)        same, or signed in-place\n"
+       "  usbpd1 firmware image               same, or signed in-place\n"
+       "  RW device image                     same, or signed in-place\n"
+       "\n"
+       "For more information, use \"" MYNAME " help %s TYPE\", where\n"
+       "TYPE is one of:\n\n";
+static void print_help_default(int argc, char *argv[])
+{
+       enum futil_file_type type;
+
+       printf(usage_default, argv[0], argv[0]);
+       for (type = 0; type < NUM_FILE_TYPES; type++)
+               if (help_type[type])
+                       printf("  %s", futil_file_type_name(type));
+       printf("\n\n");
+}
+
+static void print_help(int argc, char *argv[])
+{
+       enum futil_file_type type = FILE_TYPE_UNKNOWN;
+
+       if (argc > 1)
+               futil_str_to_file_type(argv[1], &type);
+
+       if (help_type[type])
+               help_type[type](argc, argv);
+       else
+               print_help_default(argc, argv);
+}
+
+enum no_short_opts {
+       OPT_FV = 1000,
+       OPT_INFILE,
+       OPT_OUTFILE,
+       OPT_BOOTLOADER,
+       OPT_CONFIG,
+       OPT_ARCH,
+       OPT_KLOADADDR,
+       OPT_PADDING,
+       OPT_PEM_SIGNPRIV,
+       OPT_PEM_ALGO,
+       OPT_PEM_EXTERNAL,
+       OPT_TYPE,
+       OPT_HASH_ALG,
+       OPT_RO_SIZE,
+       OPT_RW_SIZE,
+       OPT_RO_OFFSET,
+       OPT_RW_OFFSET,
+       OPT_DATA_SIZE,
+       OPT_SIG_SIZE,
+       OPT_PRIKEY,
+       OPT_HELP,
+};
+
+static const struct option long_opts[] = {
+       /* name    hasarg *flag  val */
+       {"signprivate",  1, NULL, 's'},
+       {"keyblock",     1, NULL, 'b'},
+       {"kernelkey",    1, NULL, 'k'},
+       {"devsign",      1, NULL, 'S'},
+       {"devkeyblock",  1, NULL, 'B'},
+       {"version",      1, NULL, 'v'},
+       {"flags",        1, NULL, 'f'},
+       {"loemdir",      1, NULL, 'd'},
+       {"loemid",       1, NULL, 'l'},
+       {"fv",           1, NULL, OPT_FV},
+       {"infile",       1, NULL, OPT_INFILE},
+       {"datapubkey",   1, NULL, OPT_INFILE},  /* alias */
+       {"vmlinuz",      1, NULL, OPT_INFILE},  /* alias */
+       {"outfile",      1, NULL, OPT_OUTFILE},
+       {"bootloader",   1, NULL, OPT_BOOTLOADER},
+       {"config",       1, NULL, OPT_CONFIG},
+       {"arch",         1, NULL, OPT_ARCH},
+       {"kloadaddr",    1, NULL, OPT_KLOADADDR},
+       {"pad",          1, NULL, OPT_PADDING},
+       {"pem_signpriv", 1, NULL, OPT_PEM_SIGNPRIV},
+       {"pem",          1, NULL, OPT_PEM_SIGNPRIV}, /* alias */
+       {"pem_algo",     1, NULL, OPT_PEM_ALGO},
+       {"pem_external", 1, NULL, OPT_PEM_EXTERNAL},
+       {"type",         1, NULL, OPT_TYPE},
+       {"vblockonly",   0, &sign_option.vblockonly, 1},
+       {"hash_alg",     1, NULL, OPT_HASH_ALG},
+       {"ro_size",      1, NULL, OPT_RO_SIZE},
+       {"rw_size",      1, NULL, OPT_RW_SIZE},
+       {"ro_offset",    1, NULL, OPT_RO_OFFSET},
+       {"rw_offset",    1, NULL, OPT_RW_OFFSET},
+       {"data_size",    1, NULL, OPT_DATA_SIZE},
+       {"sig_size",     1, NULL, OPT_SIG_SIZE},
+       {"prikey",       1, NULL, OPT_PRIKEY},
+       {"privkey",      1, NULL, OPT_PRIKEY},  /* alias */
+       {"help",         0, NULL, OPT_HELP},
+       {NULL,           0, NULL, 0},
+};
+static const char *short_opts = ":s:b:k:S:B:v:f:d:l:";
+
+/* Return zero on success */
+static int parse_number_opt(const char *arg, const char *name, uint32_t *dest)
+{
+       char *e;
+       uint32_t val = strtoul(arg, &e, 0);
+       if (!*arg || (e && *e)) {
+               fprintf(stderr, "Invalid --%s \"%s\"\n", name, arg);
+               return 1;
+       }
+       *dest = val;
+       return 0;
+}
+
+static int do_sign(int argc, char *argv[])
+{
+       char *infile = 0;
+       int i;
+       int ifd = -1;
+       int errorcnt = 0;
+       uint8_t *buf;
+       uint32_t buf_len;
+       char *e = 0;
+       int mapping;
+       int helpind = 0;
+       int longindex;
+
+       opterr = 0;             /* quiet, you */
+       while ((i = getopt_long(argc, argv, short_opts, long_opts,
+                               &longindex)) != -1) {
+               switch (i) {
+               case 's':
+                       sign_option.signprivate = vb2_read_private_key(optarg);
+                       if (!sign_option.signprivate) {
+                               fprintf(stderr, "Error reading %s\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case 'b':
+                       sign_option.keyblock = vb2_read_keyblock(optarg);
+                       if (!sign_option.keyblock) {
+                               fprintf(stderr, "Error reading %s\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case 'k':
+                       sign_option.kernel_subkey = vb2_read_packed_key(optarg);
+                       if (!sign_option.kernel_subkey) {
+                               fprintf(stderr, "Error reading %s\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case 'S':
+                       sign_option.devsignprivate =
+                               vb2_read_private_key(optarg);
+                       if (!sign_option.devsignprivate) {
+                               fprintf(stderr, "Error reading %s\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case 'B':
+                       sign_option.devkeyblock = vb2_read_keyblock(optarg);
+                       if (!sign_option.devkeyblock) {
+                               fprintf(stderr, "Error reading %s\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case 'v':
+                       sign_option.version_specified = 1;
+                       sign_option.version = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr,
+                                       "Invalid --version \"%s\"\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+
+               case 'f':
+                       sign_option.flags_specified = 1;
+                       errorcnt += parse_number_opt(optarg, "flags",
+                                                    &sign_option.flags);
+                       break;
+               case 'd':
+                       sign_option.loemdir = optarg;
+                       break;
+               case 'l':
+                       sign_option.loemid = optarg;
+                       break;
+               case OPT_FV:
+                       sign_option.fv_specified = 1;
+                       VBOOT_FALLTHROUGH;
+               case OPT_INFILE:
+                       sign_option.inout_file_count++;
+                       infile = optarg;
+                       break;
+               case OPT_OUTFILE:
+                       sign_option.inout_file_count++;
+                       sign_option.outfile = optarg;
+                       break;
+               case OPT_BOOTLOADER:
+                       sign_option.bootloader_data = ReadFile(
+                               optarg, &sign_option.bootloader_size);
+                       if (!sign_option.bootloader_data) {
+                               fprintf(stderr,
+                                       "Error reading bootloader file: %s\n",
+                                       strerror(errno));
+                               errorcnt++;
+                       }
+                       VB2_DEBUG("bootloader file size=0x%" PRIx64 "\n",
+                             sign_option.bootloader_size);
+                       break;
+               case OPT_CONFIG:
+                       sign_option.config_data = ReadConfigFile(
+                               optarg, &sign_option.config_size);
+                       if (!sign_option.config_data) {
+                               fprintf(stderr,
+                                       "Error reading config file: %s\n",
+                                       strerror(errno));
+                               errorcnt++;
+                       }
+                       break;
+               case OPT_ARCH:
+                       /* check the first 3 characters to also match x86_64 */
+                       if ((!strncasecmp(optarg, "x86", 3)) ||
+                           (!strcasecmp(optarg, "amd64")))
+                               sign_option.arch = ARCH_X86;
+                       else if ((!strcasecmp(optarg, "arm")) ||
+                                (!strcasecmp(optarg, "aarch64")))
+                               sign_option.arch = ARCH_ARM;
+                       else if (!strcasecmp(optarg, "mips"))
+                               sign_option.arch = ARCH_MIPS;
+                       else {
+                               fprintf(stderr,
+                                       "Unknown architecture: \"%s\"\n",
+                                       optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case OPT_KLOADADDR:
+                       errorcnt += parse_number_opt(optarg, "kloadaddr",
+                                                    &sign_option.kloadaddr);
+                       break;
+               case OPT_PADDING:
+                       errorcnt += parse_number_opt(optarg, "padding",
+                                                    &sign_option.padding);
+                       break;
+               case OPT_RO_SIZE:
+                       errorcnt += parse_number_opt(optarg, "ro_size",
+                                                    &sign_option.ro_size);
+                       break;
+               case OPT_RW_SIZE:
+                       errorcnt += parse_number_opt(optarg, "rw_size",
+                                                    &sign_option.rw_size);
+                       break;
+               case OPT_RO_OFFSET:
+                       errorcnt += parse_number_opt(optarg, "ro_offset",
+                                                    &sign_option.ro_offset);
+                       break;
+               case OPT_RW_OFFSET:
+                       errorcnt += parse_number_opt(optarg, "rw_offset",
+                                                    &sign_option.rw_offset);
+                       break;
+               case OPT_DATA_SIZE:
+                       errorcnt += parse_number_opt(optarg, "data_size",
+                                                    &sign_option.data_size);
+                       break;
+               case OPT_SIG_SIZE:
+                       errorcnt += parse_number_opt(optarg, "sig_size",
+                                                    &sign_option.sig_size);
+                       break;
+               case OPT_PEM_SIGNPRIV:
+                       sign_option.pem_signpriv = optarg;
+                       break;
+               case OPT_PEM_ALGO:
+                       sign_option.pem_algo_specified = 1;
+                       sign_option.pem_algo = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e) ||
+                           (sign_option.pem_algo >= VB2_ALG_COUNT)) {
+                               fprintf(stderr,
+                                       "Invalid --pem_algo \"%s\"\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case OPT_HASH_ALG:
+                       if (!vb2_lookup_hash_alg(optarg,
+                                                &sign_option.hash_alg)) {
+                               fprintf(stderr,
+                                       "invalid hash_alg \"%s\"\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case OPT_PEM_EXTERNAL:
+                       sign_option.pem_external = optarg;
+                       break;
+               case OPT_TYPE:
+                       if (!futil_str_to_file_type(optarg,
+                                                   &sign_option.type)) {
+                               if (!strcasecmp("help", optarg))
+                                   print_file_types_and_exit(errorcnt);
+                               fprintf(stderr,
+                                       "Invalid --type \"%s\"\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case OPT_PRIKEY:
+                       if (vb21_private_key_read(&sign_option.prikey,
+                                                 optarg)) {
+                               fprintf(stderr, "Error reading %s\n", optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case OPT_HELP:
+                       helpind = optind - 1;
+                       break;
+
+               case '?':
+                       if (optopt)
+                               fprintf(stderr, "Unrecognized option: -%c\n",
+                                       optopt);
+                       else
+                               fprintf(stderr, "Unrecognized option: %s\n",
+                                       argv[optind - 1]);
+                       errorcnt++;
+                       break;
+               case ':':
+                       fprintf(stderr, "Missing argument to -%c\n", optopt);
+                       errorcnt++;
+                       break;
+               case 0:                         /* handled option */
+                       break;
+               default:
+                       FATAL("Unrecognized getopt output: %d\n", i);
+               }
+       }
+
+       if (helpind) {
+               /* Skip all the options we've already parsed */
+               optind--;
+               argv[optind] = argv[0];
+               argc -= optind;
+               argv += optind;
+               print_help(argc, argv);
+               return !!errorcnt;
+       }
+
+       /* If we don't have an input file already, we need one */
+       if (!infile) {
+               if (argc - optind <= 0) {
+                       errorcnt++;
+                       fprintf(stderr, "ERROR: missing input filename\n");
+                       goto done;
+               } else {
+                       sign_option.inout_file_count++;
+                       infile = argv[optind++];
+               }
+       }
+
+       /* Look for an output file if we don't have one, just in case. */
+       if (!sign_option.outfile && argc - optind > 0) {
+               sign_option.inout_file_count++;
+               sign_option.outfile = argv[optind++];
+       }
+
+       /* What are we looking at? */
+       if (sign_option.type == FILE_TYPE_UNKNOWN &&
+           futil_file_type(infile, &sign_option.type)) {
+               errorcnt++;
+               goto done;
+       }
+
+       /* We may be able to infer the type based on the other args */
+       if (sign_option.type == FILE_TYPE_UNKNOWN) {
+               if (sign_option.bootloader_data || sign_option.config_data
+                   || sign_option.arch != ARCH_UNSPECIFIED)
+                       sign_option.type = FILE_TYPE_RAW_KERNEL;
+               else if (sign_option.kernel_subkey || sign_option.fv_specified)
+                       sign_option.type = FILE_TYPE_RAW_FIRMWARE;
+       }
+
+       VB2_DEBUG("type=%s\n", futil_file_type_name(sign_option.type));
+
+       /* Check the arguments for the type of thing we want to sign */
+       switch (sign_option.type) {
+       case FILE_TYPE_PUBKEY:
+               sign_option.create_new_outfile = 1;
+               if (sign_option.signprivate && sign_option.pem_signpriv) {
+                       fprintf(stderr,
+                               "Only one of --signprivate and --pem_signpriv"
+                               " can be specified\n");
+                       errorcnt++;
+               }
+               if ((sign_option.signprivate &&
+                    sign_option.pem_algo_specified) ||
+                   (sign_option.pem_signpriv &&
+                    !sign_option.pem_algo_specified)) {
+                       fprintf(stderr, "--pem_algo must be used with"
+                               " --pem_signpriv\n");
+                       errorcnt++;
+               }
+               if (sign_option.pem_external && !sign_option.pem_signpriv) {
+                       fprintf(stderr, "--pem_external must be used with"
+                               " --pem_signpriv\n");
+                       errorcnt++;
+               }
+               /* We'll wait to read the PEM file, since the external signer
+                * may want to read it instead. */
+               break;
+       case FILE_TYPE_BIOS_IMAGE:
+       case FILE_TYPE_OLD_BIOS_IMAGE:
+               errorcnt += no_opt_if(!sign_option.signprivate, "signprivate");
+               errorcnt += no_opt_if(!sign_option.keyblock, "keyblock");
+               errorcnt += no_opt_if(!sign_option.kernel_subkey, "kernelkey");
+               break;
+       case FILE_TYPE_KERN_PREAMBLE:
+               errorcnt += no_opt_if(!sign_option.signprivate, "signprivate");
+               if (sign_option.vblockonly || sign_option.inout_file_count > 1)
+                       sign_option.create_new_outfile = 1;
+               break;
+       case FILE_TYPE_RAW_FIRMWARE:
+               sign_option.create_new_outfile = 1;
+               errorcnt += no_opt_if(!sign_option.signprivate, "signprivate");
+               errorcnt += no_opt_if(!sign_option.keyblock, "keyblock");
+               errorcnt += no_opt_if(!sign_option.kernel_subkey, "kernelkey");
+               errorcnt += no_opt_if(!sign_option.version_specified,
+                                     "version");
+               break;
+       case FILE_TYPE_RAW_KERNEL:
+               sign_option.create_new_outfile = 1;
+               errorcnt += no_opt_if(!sign_option.signprivate, "signprivate");
+               errorcnt += no_opt_if(!sign_option.keyblock, "keyblock");
+               errorcnt += no_opt_if(!sign_option.version_specified,
+                                     "version");
+               errorcnt += no_opt_if(!sign_option.bootloader_data,
+                                     "bootloader");
+               errorcnt += no_opt_if(!sign_option.config_data, "config");
+               errorcnt += no_opt_if(sign_option.arch == ARCH_UNSPECIFIED,
+                                     "arch");
+               break;
+       case FILE_TYPE_USBPD1:
+               errorcnt += no_opt_if(!sign_option.pem_signpriv, "pem");
+               errorcnt += no_opt_if(sign_option.hash_alg == VB2_HASH_INVALID,
+                                     "hash_alg");
+               break;
+       case FILE_TYPE_RWSIG:
+               if (sign_option.inout_file_count > 1)
+                       /* Signing raw data. No signature pre-exists. */
+                       errorcnt += no_opt_if(!sign_option.prikey, "prikey");
+               break;
+       default:
+               /* Anything else we don't care */
+               break;
+       }
+
+       VB2_DEBUG("infile=%s\n", infile);
+       VB2_DEBUG("sign_option.inout_file_count=%d\n",
+                 sign_option.inout_file_count);
+       VB2_DEBUG("sign_option.create_new_outfile=%d\n",
+                 sign_option.create_new_outfile);
+
+       /* Make sure we have an output file if one is needed */
+       if (!sign_option.outfile) {
+               if (sign_option.create_new_outfile) {
+                       errorcnt++;
+                       fprintf(stderr, "Missing output filename\n");
+                       goto done;
+               } else {
+                       sign_option.outfile = infile;
+               }
+       }
+
+       VB2_DEBUG("sign_option.outfile=%s\n", sign_option.outfile);
+
+       if (argc - optind > 0) {
+               errorcnt++;
+               fprintf(stderr, "ERROR: too many arguments left over\n");
+       }
+
+       if (errorcnt)
+               goto done;
+
+       if (sign_option.create_new_outfile) {
+               /* The input is read-only, the output is write-only. */
+               mapping = MAP_RO;
+               VB2_DEBUG("open RO %s\n", infile);
+               ifd = open(infile, O_RDONLY);
+               if (ifd < 0) {
+                       errorcnt++;
+                       fprintf(stderr, "Can't open %s for reading: %s\n",
+                               infile, strerror(errno));
+                       goto done;
+               }
+       } else {
+               /* We'll read-modify-write the output file */
+               mapping = MAP_RW;
+               if (sign_option.inout_file_count > 1)
+                       futil_copy_file_or_die(infile, sign_option.outfile);
+               VB2_DEBUG("open RW %s\n", sign_option.outfile);
+               infile = sign_option.outfile;
+               ifd = open(sign_option.outfile, O_RDWR);
+               if (ifd < 0) {
+                       errorcnt++;
+                       fprintf(stderr, "Can't open %s for writing: %s\n",
+                               sign_option.outfile, strerror(errno));
+                       goto done;
+               }
+       }
+
+       if (0 != futil_map_file(ifd, mapping, &buf, &buf_len)) {
+               errorcnt++;
+               goto done;
+       }
+
+       errorcnt += futil_file_type_sign(sign_option.type, infile,
+                                        buf, buf_len);
+
+       errorcnt += futil_unmap_file(ifd, mapping, buf, buf_len);
+
+done:
+       if (ifd >= 0 && close(ifd)) {
+               errorcnt++;
+               fprintf(stderr, "Error when closing ifd: %s\n",
+                       strerror(errno));
+       }
+
+       if (sign_option.signprivate)
+               free(sign_option.signprivate);
+       if (sign_option.keyblock)
+               free(sign_option.keyblock);
+       if (sign_option.kernel_subkey)
+               free(sign_option.kernel_subkey);
+       if (sign_option.prikey)
+               vb2_private_key_free(sign_option.prikey);
+
+       if (errorcnt)
+               fprintf(stderr, "Use --help for usage instructions\n");
+
+       return !!errorcnt;
+}
+
+DECLARE_FUTIL_COMMAND(sign, do_sign, VBOOT_VERSION_ALL,
+                     "Sign / resign various binary components");
diff --git a/futility/cmd_update.c b/futility/cmd_update.c
new file mode 100644 (file)
index 0000000..e4b3765
--- /dev/null
@@ -0,0 +1,376 @@
+/* Copyright 2018 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * The command line tool to invoke firmware updater.
+ */
+
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <getopt.h>
+
+#include "futility.h"
+#include "updater.h"
+
+#ifdef USE_FLASHROM
+
+enum {
+       OPT_DUMMY = 0x100,
+
+       OPT_CCD,
+       OPT_EMULATE,
+       OPT_FACTORY,
+       OPT_FAST,
+       OPT_FORCE,
+       OPT_GBB_FLAGS,
+       OPT_HOST_ONLY,
+       OPT_MANIFEST,
+       OPT_MODEL,
+       OPT_OUTPUT_DIR,
+       OPT_PD_IMAGE,
+       OPT_QUIRKS,
+       OPT_QUIRKS_LIST,
+       OPT_REPACK,
+       OPT_SERVO,
+       OPT_SERVO_NORESET,
+       OPT_SERVO_PORT,
+       OPT_SIGNATURE,
+       OPT_SYS_PROPS,
+       OPT_UNPACK,
+       OPT_WRITE_PROTECTION,
+};
+
+/* Command line options */
+static struct option const long_opts[] = {
+       /* name  has_arg *flag val */
+       {"help", 0, NULL, 'h'},
+       {"debug", 0, NULL, 'd'},
+       {"verbose", 0, NULL, 'v'},
+
+       {"image", 1, NULL, 'i'},
+       {"ec_image", 1, NULL, 'e'},
+       {"try", 0, NULL, 't'},
+       {"archive", 1, NULL, 'a'},
+       {"programmer", 1, NULL, 'p'},
+       {"mode", 1, NULL, 'm'},
+
+       {"ccd", 0, NULL, OPT_CCD},
+       {"servo", 0, NULL, OPT_SERVO},
+       {"servo_noreset", 0, NULL, OPT_SERVO_NORESET},
+       {"servo_port", 1, NULL, OPT_SERVO_PORT},
+       {"emulate", 1, NULL, OPT_EMULATE},
+       {"factory", 0, NULL, OPT_FACTORY},
+       {"fast", 0, NULL, OPT_FAST},
+       {"force", 0, NULL, OPT_FORCE},
+       {"gbb_flags", 1, NULL, OPT_GBB_FLAGS},
+       {"host_only", 0, NULL, OPT_HOST_ONLY},
+       {"list-quirks", 0, NULL, OPT_QUIRKS_LIST},
+       {"manifest", 0, NULL, OPT_MANIFEST},
+       {"model", 1, NULL, OPT_MODEL},
+       {"output_dir", 1, NULL, OPT_OUTPUT_DIR},
+       {"pd_image", 1, NULL, OPT_PD_IMAGE},
+       {"quirks", 1, NULL, OPT_QUIRKS},
+       {"repack", 1, NULL, OPT_REPACK},
+       {"signature_id", 1, NULL, OPT_SIGNATURE},
+       {"sys_props", 1, NULL, OPT_SYS_PROPS},
+       {"unpack", 1, NULL, OPT_UNPACK},
+       {"wp", 1, NULL, OPT_WRITE_PROTECTION},
+
+       /* TODO(hungte) Remove following deprecated options. */
+       {"noupdate_ec", 0, NULL, OPT_HOST_ONLY},
+       {"noupdate_pd", 0, NULL, OPT_HOST_ONLY},
+       {"nocheck_keys", 0, NULL, OPT_FORCE},
+       {"update_main", 0, NULL, OPT_DUMMY},
+       {"update_ec", 0, NULL, OPT_DUMMY},
+       {"update_pd", 0, NULL, OPT_DUMMY},
+       {"check_keys", 0, NULL, OPT_DUMMY},
+
+       {NULL, 0, NULL, 0},
+};
+
+static const char * const short_opts = "hdvi:e:ta:m:p:";
+
+static void print_help(int argc, char *argv[])
+{
+       printf("\n"
+               "Usage:  " MYNAME " %s [OPTIONS]\n"
+               "\n"
+               "Updates firmware in one of the following modes (default to recovery):\n"
+               "  autoupdate:\tUpdate RW[A|B], or recovery if RO changed.\n"
+               "  recovery:  \tUpdate RW[A&B], (RO, RO:GBB[keys] - if RO changed)\n"
+               "  factory:   \tUpdate RW[A&B],  RO, RO:GBB[keys,flags]\n"
+               "\n"
+               "Note: firmware sections with PRESERVE flags like VPD and\n"
+               "      HWID in GBB are always preserved.\n"
+               "      GBB flags are preserved in autoupdate and recovery modes.\n"
+               "\n"
+               "OPTIONS:\n"
+               "\n"
+               "-i, --image=FILE    \tAP (host) firmware image (image.bin)\n"
+               "-e, --ec_image=FILE \tEC firmware image (i.e, ec.bin)\n"
+               "    --pd_image=FILE \tPD firmware image (i.e, pd.bin)\n"
+               "-t, --try           \tTry A/B update on reboot if possible\n"
+               "-a, --archive=PATH  \tRead resources from archive\n"
+               "    --manifest      \tPrint out a JSON manifest and exit\n"
+               "    --repack=DIR    \tUpdates archive from DIR\n"
+               "    --unpack=DIR    \tExtracts archive to DIR\n"
+               "-p, --programmer=PRG\tChange AP (host) flashrom programmer\n"
+               "    --fast          \tReduce read cycles and do not verify\n"
+               "    --quirks=LIST   \tSpecify the quirks to apply\n"
+               "    --list-quirks   \tPrint all available quirks\n"
+               "-m, --mode=MODE     \tRun updater in specified mode\n"
+               "\n"
+               "Legacy and compatibility options:\n"
+               "    --factory       \tAlias for --mode=factory\n"
+               "    --force         \tForce update (skip checking contents)\n"
+               "    --output_dir=DIR\tSpecify the target for --mode=output\n"
+               "\n"
+               "Debugging and testing options:\n"
+               "    --wp=1|0        \tSpecify write protection status\n"
+               "    --host_only     \tUpdate only AP (host) firmware\n"
+               "    --emulate=FILE  \tEmulate system firmware using file\n"
+               "    --model=MODEL   \tOverride system model for images\n"
+               "    --gbb_flags=FLAG\tOverride new GBB flags\n"
+               "    --ccd           \tDo fast,force,wp=0,p=raiden_debug_spi\n"
+               "    --servo         \tFlash using Servo (v2, v4, micro, ...)\n"
+               "    --servo_noreset \tLike servo but with 'custom_rst=true'\n"
+               "    --servo_port=PRT\tOverride servod port, implies --servo\n"
+               "    --signature_id=S\tOverride signature ID for key files\n"
+               "    --sys_props=LIST\tList of system properties to override\n"
+               "-d, --debug         \tPrint debugging messages\n"
+               "-v, --verbose       \tPrint verbose messages\n"
+               "",
+               argv[0]);
+}
+
+static char *add_servo_noreset(char *programmer)
+{
+       char *ret;
+
+       if (strstr(programmer, "raiden_debug_spi:target=AP") == NULL) {
+               ERROR("servo_noreset only works for AP flashing over CCD.\n");
+               free(programmer);
+
+               return NULL;
+       }
+
+       ASPRINTF(&ret, "%s,custom_rst=true", programmer);
+       free(programmer);
+
+       return ret;
+}
+
+static int do_update(int argc, char *argv[])
+{
+       struct updater_config *cfg;
+       struct updater_config_arguments args = {0};
+       int i, errorcnt = 0, do_update = 1;
+       int detect_servo = 0, do_servo_cpu_fw_spi = 0, servo_noreset = 0;
+       char *servo_programmer = NULL;
+       char *endptr;
+
+       cfg = updater_new_config();
+       assert(cfg);
+
+       opterr = 0;
+       while ((i = getopt_long(argc, argv, short_opts, long_opts, 0)) != -1) {
+               switch (i) {
+               case 'h':
+                       print_help(argc, argv);
+                       updater_delete_config(cfg);
+                       return !!errorcnt;
+               case 'd':
+                       debugging_enabled = 1;
+                       args.verbosity++;
+                       break;
+               case 'v':
+                       args.verbosity++;
+                       break;
+               case 'i':
+                       args.image = optarg;
+                       break;
+               case 'e':
+                       args.ec_image = optarg;
+                       break;
+               case 't':
+                       args.try_update = 1;
+                       break;
+               case 'a':
+                       args.archive = optarg;
+                       break;
+               case 'm':
+                       args.mode = optarg;
+                       break;
+               case 'p':
+                       args.programmer = optarg;
+                       break;
+
+               case OPT_PD_IMAGE:
+                       args.pd_image = optarg;
+                       break;
+               case OPT_REPACK:
+                       args.repack = optarg;
+                       break;
+               case OPT_UNPACK:
+                       args.unpack = optarg;
+                       break;
+               case OPT_QUIRKS:
+                       args.quirks = optarg;
+                       break;
+               case OPT_QUIRKS_LIST:
+                       updater_list_config_quirks(cfg);
+                       updater_delete_config(cfg);
+                       return 0;
+               case OPT_OUTPUT_DIR:
+                       args.output_dir = optarg;
+                       break;
+               case OPT_MODEL:
+                       args.model = optarg;
+                       break;
+               case OPT_SIGNATURE:
+                       args.signature_id = optarg;
+                       break;
+               case OPT_WRITE_PROTECTION:
+                       args.write_protection = optarg;
+                       break;
+               case OPT_EMULATE:
+                       args.emulation = optarg;
+                       break;
+               case OPT_SYS_PROPS:
+                       args.sys_props = optarg;
+                       break;
+               case OPT_MANIFEST:
+                       args.do_manifest = 1;
+                       break;
+               case OPT_FACTORY:
+                       args.is_factory = 1;
+                       break;
+               case OPT_HOST_ONLY:
+                       args.host_only = 1;
+                       break;
+               case OPT_FORCE:
+                       args.force_update = 1;
+                       break;
+               case OPT_FAST:
+                       args.fast_update = 1;
+                       break;
+               case OPT_GBB_FLAGS:
+                       args.gbb_flags = strtoul(optarg, &endptr, 0);
+                       if (*endptr) {
+                               ERROR("Invalid flags: %s\n", optarg);
+                               errorcnt++;
+                       } else {
+                               args.override_gbb_flags = 1;
+                       }
+                       break;
+               case OPT_CCD:
+                       args.fast_update = 1;
+                       args.force_update = 1;
+                       args.write_protection = "0";
+                       args.programmer = "raiden_debug_spi:target=AP";
+                       break;
+               case OPT_SERVO:
+                       args.fast_update = 1;
+                       args.force_update = 1;
+                       args.write_protection = "0";
+                       args.host_only = 1;
+                       detect_servo = 1;
+                       break;
+               case OPT_SERVO_NORESET:
+                       args.fast_update = 1;
+                       args.force_update = 1;
+                       args.write_protection = "0";
+                       args.host_only = 1;
+                       detect_servo = 1;
+                       servo_noreset = 1;
+                       break;
+               case OPT_SERVO_PORT:
+                       setenv(ENV_SERVOD_PORT, optarg, 1);
+                       args.fast_update = 1;
+                       args.force_update = 1;
+                       args.write_protection = "0";
+                       args.host_only = 1;
+                       detect_servo = 1;
+                       break;
+
+               case OPT_DUMMY:
+                       break;
+
+               case '?':
+                       errorcnt++;
+                       if (optopt)
+                               ERROR("Unrecognized option: -%c\n", optopt);
+                       else if (argv[optind - 1])
+                               ERROR("Unrecognized option (possibly '%s')\n",
+                                     argv[optind - 1]);
+                       else
+                               ERROR("Unrecognized option.\n");
+                       break;
+               default:
+                       errorcnt++;
+                       ERROR("Failed parsing options.\n");
+               }
+       }
+       if (optind < argc) {
+               errorcnt++;
+               ERROR("Unexpected arguments.\n");
+       }
+
+       if (!errorcnt && detect_servo) {
+               servo_programmer = host_detect_servo(&do_servo_cpu_fw_spi);
+
+               if (servo_programmer && servo_noreset)
+                       servo_programmer = add_servo_noreset(servo_programmer);
+
+               if (!servo_programmer)
+                       errorcnt++;
+               else if (!args.programmer)
+                       args.programmer = servo_programmer;
+       }
+       /*
+        * Some boards may need to fetch firmware before starting to
+        * update (i.e., in updater_setup_config) so we want to turn on
+        * cpu_fw_spi mode now.
+        */
+       if (do_servo_cpu_fw_spi)
+               free(host_shell("dut-control cpu_fw_spi:on"));
+
+       if (!errorcnt)
+               errorcnt += updater_setup_config(cfg, &args, &do_update);
+       if (!errorcnt && do_update) {
+               int r;
+               STATUS("Starting firmware updater.\n");
+               r = update_firmware(cfg);
+               if (r != UPDATE_ERR_DONE) {
+                       r = VB2_MIN(r, UPDATE_ERR_UNKNOWN);
+                       ERROR("%s\n", updater_error_messages[r]);
+                       errorcnt++;
+               }
+               /* Use stdout for the final result. */
+               printf(">> %s: Firmware updater %s.\n",
+                       errorcnt ? "FAILED": "DONE",
+                       errorcnt ? "aborted" : "exits successfully");
+       }
+
+       if (do_servo_cpu_fw_spi)
+               free(host_shell("dut-control cpu_fw_spi:off"));
+       free(servo_programmer);
+
+       updater_delete_config(cfg);
+       return !!errorcnt;
+}
+#define CMD_HELP_STR "Update system firmware"
+
+#else /* USE_FLASHROM */
+
+static int do_update(int argc, char *argv[])
+{
+       FATAL(MYNAME " was built without flashrom support, `update` command unavailable!\n");
+       return -1;
+}
+#define CMD_HELP_STR "Update system firmware (unavailable in this build)"
+
+#endif /* !USE_FLASHROM */
+
+DECLARE_FUTIL_COMMAND(update, do_update, VBOOT_VERSION_ALL, CMD_HELP_STR);
diff --git a/futility/cmd_validate_rec_mrc.c b/futility/cmd_validate_rec_mrc.c
new file mode 100644 (file)
index 0000000..1d35bed
--- /dev/null
@@ -0,0 +1,272 @@
+/* Copyright 2016 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "futility.h"
+
+enum {
+       OPT_HELP = 1000,
+       OPT_OFFSET,
+};
+
+static const struct option long_opts[] = {
+       {"help", 0, 0, OPT_HELP},
+       {"offset", 1, 0, OPT_OFFSET},
+       {NULL, 0, NULL, 0},
+};
+
+static void print_help(int argc, char *argv[])
+{
+       printf("\nUsage:  " MYNAME " %s FILE [OPTIONS]\n", argv[0]);
+       printf("\nOptions:\n");
+       printf(" --offset <offset>          Offset of cache within FILE\n");
+       printf("\n");
+}
+
+struct mrc_metadata {
+       uint32_t signature;
+       uint32_t data_size;
+       uint16_t data_checksum;
+       uint16_t header_checksum;
+       uint32_t version;
+} __attribute__((packed));
+
+#define MRC_DATA_SIGNATURE             (('M'<<0)|('R'<<8)|('C'<<16)|('D'<<24))
+#define REGF_BLOCK_SHIFT               4
+#define REGF_BLOCK_GRANULARITY         (1 << REGF_BLOCK_SHIFT)
+#define REGF_METADATA_BLOCK_SIZE       REGF_BLOCK_GRANULARITY
+#define REGF_UNALLOCATED_BLOCK         0xffff
+
+static unsigned long compute_ip_checksum(const void *addr, unsigned long length)
+{
+       const uint8_t *ptr;
+       volatile union {
+               uint8_t  byte[2];
+               uint16_t word;
+       } value;
+       unsigned long sum;
+       unsigned long i;
+       /* In the most straight forward way possible,
+        * compute an ip style checksum.
+        */
+       sum = 0;
+       ptr = addr;
+       for(i = 0; i < length; i++) {
+               unsigned long v;
+               v = ptr[i];
+               if (i & 1) {
+                       v <<= 8;
+               }
+               /* Add the new value */
+               sum += v;
+               /* Wrap around the carry */
+               if (sum > 0xFFFF) {
+                       sum = (sum + (sum >> 16)) & 0xFFFF;
+               }
+       }
+       value.byte[0] = sum & 0xff;
+       value.byte[1] = (sum >> 8) & 0xff;
+       return (~value.word) & 0xFFFF;
+}
+
+static int verify_mrc_slot(struct mrc_metadata *md, unsigned long slot_len)
+{
+       uint32_t header_checksum;
+
+       if (slot_len < sizeof(*md)) {
+               fprintf(stderr, "Slot too small!\n");
+               return 1;
+       }
+
+       if (md->signature != MRC_DATA_SIGNATURE) {
+               fprintf(stderr, "MRC signature mismatch\n");
+               return 1;
+       }
+
+       fprintf(stderr, "MRC signature match.. successful\n");
+
+       if (md->data_size > slot_len) {
+               fprintf(stderr, "MRC cache size overflow\n");
+               return 1;
+       }
+
+       header_checksum = md->header_checksum;
+       md->header_checksum = 0;
+
+       if (header_checksum != compute_ip_checksum(md, sizeof(*md))) {
+               fprintf(stderr, "MRC metadata header checksum mismatch\n");
+               return 1;
+       }
+
+       md->header_checksum = header_checksum;
+
+       fprintf(stderr, "MRC metadata header checksum.. verified!\n");
+
+       if (md->data_checksum != compute_ip_checksum(&md[1], md->data_size)) {
+               fprintf(stderr, "MRC data checksum mismatch\n");
+               return 1;
+       }
+
+       fprintf(stderr, "MRC data checksum.. verified!\n");
+       return 0;
+}
+
+static int block_offset_unallocated(uint16_t offset)
+{
+       return offset == REGF_UNALLOCATED_BLOCK;
+}
+
+static uint8_t *get_next_mb(uint8_t *curr_mb)
+{
+       return curr_mb + REGF_METADATA_BLOCK_SIZE;
+}
+
+static int get_mrc_data_slot(uint16_t *mb, uint32_t *data_offset,
+                            uint32_t *data_size)
+{
+       uint16_t num_metadata_blocks = *mb;
+
+       if (block_offset_unallocated(*mb)) {
+               fprintf(stderr, "MRC cache is empty!!\n");
+               return 1;
+       }
+
+       /*
+        * First block offset in metadata block tells the total number of
+        * metadata blocks.
+        * Currently, we expect only 1 metadata block to be used.
+        */
+       if (num_metadata_blocks != 1) {
+               uint16_t *next_mb = (uint16_t *)get_next_mb((uint8_t *)mb);
+               if (!block_offset_unallocated(*next_mb)) {
+                       fprintf(stderr, "More than 1 valid metadata block!!");
+                       return 1;
+               }
+       }
+
+       /*
+        * RECOVERY_MRC_CACHE is expected to contain only one slot. Thus, there
+        * should be only one block offset present, indicating size of the MRC
+        * cache slot.
+        */
+       mb++;
+       *data_offset = (1 << REGF_BLOCK_SHIFT) * num_metadata_blocks;
+       *data_size = (*mb - num_metadata_blocks) << REGF_BLOCK_SHIFT;
+
+       mb++;
+       if (!block_offset_unallocated(*mb)) {
+               fprintf(stderr, "More than 1 slot in recovery mrc cache.\n");
+               return 1;
+       }
+
+       return 0;
+}
+
+static int do_validate_rec_mrc(int argc, char *argv[])
+{
+       char *infile = NULL;
+       int parse_error = 0;
+       int fd, i, ret = 1;
+       uint32_t file_size;
+       uint8_t *buff;
+       uint32_t offset = 0;
+       uint32_t data_offset;
+       uint32_t data_size;
+       char *e;
+
+       while (((i = getopt_long(argc, argv, ":", long_opts, NULL)) != -1) &&
+              !parse_error) {
+               switch (i) {
+               case OPT_HELP:
+                       print_help(argc, argv);
+                       return 0;
+               case OPT_OFFSET:
+                       offset = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr, "Invalid --offset\n");
+                               parse_error = 1;
+                       }
+                       break;
+               default:
+               case '?':
+                       parse_error = 1;
+                       break;
+               }
+       }
+
+       if (parse_error) {
+               print_help(argc, argv);
+               return 1;
+       }
+
+       if ((argc - optind) < 1) {
+               fprintf(stderr, "You must specify an input FILE!\n");
+               print_help(argc, argv);
+               return 1;
+       } else if ((argc - optind) != 1) {
+               fprintf(stderr, "Unexpected arguments!\n");
+               print_help(argc, argv);
+               return 1;
+       }
+
+       infile = argv[optind++];
+
+       fd = open(infile, O_RDONLY);
+       if (fd < 0) {
+               fprintf(stderr, "Cannot open %s:%s\n", infile, strerror(errno));
+               return 1;
+       }
+
+       if (futil_map_file(fd, MAP_RO, &buff, &file_size) != FILE_ERR_NONE) {
+               fprintf(stderr, "Cannot map file %s\n", infile);
+               close(fd);
+               return 1;
+       }
+
+       if (offset > file_size) {
+               fprintf(stderr, "File size(%#x) smaller than offset(%#x)\n",
+                       file_size, offset);
+               futil_unmap_file(fd, MAP_RO, buff, file_size);
+               close(fd);
+               return 1;
+       }
+
+       if (get_mrc_data_slot((uint16_t *)(buff + offset), &data_offset,
+                             &data_size)) {
+               fprintf(stderr, "Metadata block error\n");
+               futil_unmap_file(fd, MAP_RO, buff, file_size);
+               close(fd);
+               return 1;
+       }
+       offset += data_offset;
+
+       if ((file_size > offset) && ((file_size - offset) >= data_size))
+               ret = verify_mrc_slot((struct mrc_metadata *)(buff + offset),
+                                     data_size);
+       else
+               fprintf(stderr, "Offset or data size greater than file size: "
+                       "offset=%#x, file size=%#x, data_size=%#x\n",
+                       offset, file_size, data_size);
+
+       if (futil_unmap_file(fd, MAP_RO, buff, file_size) != FILE_ERR_NONE) {
+               fprintf(stderr, "Failed to unmap file %s\n", infile);
+               ret = 1;
+       }
+
+       close(fd);
+       return ret;
+}
+
+DECLARE_FUTIL_COMMAND(validate_rec_mrc, do_validate_rec_mrc, VBOOT_VERSION_ALL,
+                     "Validates content of Recovery MRC cache");
diff --git a/futility/cmd_vbutil_firmware.c b/futility/cmd_vbutil_firmware.c
new file mode 100644 (file)
index 0000000..b7155f7
--- /dev/null
@@ -0,0 +1,415 @@
+/* Copyright 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Verified boot firmware utility
+ */
+
+#include <getopt.h>
+#include <inttypes.h>          /* For PRIu64 */
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "2rsa.h"
+#include "2sysincludes.h"
+#include "futility.h"
+#include "host_common.h"
+#include "host_key21.h"
+#include "kernel_blob.h"
+#include "util_misc.h"
+#include "vb1_helper.h"
+
+/* Command line options */
+enum {
+       OPT_MODE_VBLOCK = 1000,
+       OPT_MODE_VERIFY,
+       OPT_KEYBLOCK,
+       OPT_SIGNPUBKEY,
+       OPT_SIGNPRIVATE,
+       OPT_VERSION,
+       OPT_FV,
+       OPT_KERNELKEY,
+       OPT_FLAGS,
+       OPT_HELP,
+};
+
+static const struct option long_opts[] = {
+       {"vblock", 1, 0, OPT_MODE_VBLOCK},
+       {"verify", 1, 0, OPT_MODE_VERIFY},
+       {"keyblock", 1, 0, OPT_KEYBLOCK},
+       {"signpubkey", 1, 0, OPT_SIGNPUBKEY},
+       {"signprivate", 1, 0, OPT_SIGNPRIVATE},
+       {"version", 1, 0, OPT_VERSION},
+       {"fv", 1, 0, OPT_FV},
+       {"kernelkey", 1, 0, OPT_KERNELKEY},
+       {"flags", 1, 0, OPT_FLAGS},
+       {"help", 0, 0, OPT_HELP},
+       {NULL, 0, 0, 0}
+};
+
+/* Print help and return error */
+static void print_help(int argc, char *argv[])
+{
+       printf("\nUsage:  " MYNAME " %s <--vblock|--verify> <file> [OPTIONS]\n"
+              "\n"
+              "For '--vblock <file>', required OPTIONS are:\n"
+              "\n"
+              "  --keyblock <file>           Keyblock in .keyblock format\n"
+              "  --signprivate <file>"
+              "        Signing private key in .vbprivk format\n"
+              "  --version <number>          Firmware version\n"
+              "  --fv <file>                 Firmware volume to sign\n"
+              "  --kernelkey <file>          Kernel subkey in .vbpubk format\n"
+              "\n"
+              "optional OPTIONS are:\n"
+              "  --flags <number>            Preamble flags (defaults to 0)\n"
+              "\n"
+              "For '--verify <file>', required OPTIONS are:\n"
+              "\n"
+              "  --signpubkey <file>"
+              "         Signing public key in .vbpubk format\n"
+              "  --fv <file>                 Firmware volume to verify\n"
+              "\n"
+              "For '--verify <file>', optional OPTIONS are:\n"
+              "  --kernelkey <file>"
+              "          Write the kernel subkey to this file\n\n",
+              argv[0]);
+}
+
+/* Create a firmware .vblock */
+static int do_vblock(const char *outfile, const char *keyblock_file,
+                    const char *signprivate, uint32_t version,
+                    const char *fv_file, const char *kernelkey_file,
+                    uint32_t preamble_flags)
+{
+       struct vb2_keyblock *keyblock = NULL;
+       struct vb2_private_key *signing_key = NULL;
+       struct vb2_packed_key *kernel_subkey = NULL;
+       struct vb2_signature *body_sig = NULL;
+       struct vb2_fw_preamble *preamble = NULL;
+       uint8_t *fv_data = NULL;
+       int retval = 1;
+
+       if (!outfile) {
+               FATAL("Must specify output filename\n");
+               goto vblock_cleanup;
+       }
+       if (!keyblock_file || !signprivate || !kernelkey_file) {
+               FATAL("Must specify all keys\n");
+               goto vblock_cleanup;
+       }
+       if (!fv_file) {
+               FATAL("Must specify firmware volume\n");
+               goto vblock_cleanup;
+       }
+
+       /* Read the keyblock and keys */
+       keyblock = vb2_read_keyblock(keyblock_file);
+       if (!keyblock) {
+               FATAL("Error reading keyblock.\n");
+               goto vblock_cleanup;
+       }
+
+       signing_key = vb2_read_private_key(signprivate);
+       if (!signing_key) {
+               FATAL("Error reading signing key.\n");
+               goto vblock_cleanup;
+       }
+
+       kernel_subkey = vb2_read_packed_key(kernelkey_file);
+       if (!kernel_subkey) {
+               FATAL("Error reading kernel subkey.\n");
+               goto vblock_cleanup;
+       }
+
+       /* Read and sign the firmware volume */
+       uint32_t fv_size;
+       if (VB2_SUCCESS != vb2_read_file(fv_file, &fv_data, &fv_size))
+               goto vblock_cleanup;
+       if (!fv_size) {
+               FATAL("Empty firmware volume file\n");
+               goto vblock_cleanup;
+       }
+       body_sig = vb2_calculate_signature(fv_data, fv_size, signing_key);
+       if (!body_sig) {
+               FATAL("Error calculating body signature\n");
+               goto vblock_cleanup;
+       }
+
+       /* Create preamble */
+       preamble = vb2_create_fw_preamble(version, kernel_subkey, body_sig,
+                                         signing_key, preamble_flags);
+       if (!preamble) {
+               FATAL("Error creating preamble.\n");
+               goto vblock_cleanup;
+       }
+
+       /* Write the output file */
+       FILE *f = fopen(outfile, "wb");
+       if (!f) {
+               FATAL("Can't open output file %s\n", outfile);
+               goto vblock_cleanup;
+       }
+       int i = ((1 != fwrite(keyblock, keyblock->keyblock_size, 1, f)) ||
+                (1 != fwrite(preamble, preamble->preamble_size, 1, f)));
+       fclose(f);
+       if (i) {
+               FATAL("Can't write output file %s\n", outfile);
+               unlink(outfile);
+               goto vblock_cleanup;
+       }
+
+       /* Success */
+       retval = 0;
+
+vblock_cleanup:
+       if (keyblock)
+               free(keyblock);
+       if (signing_key)
+               free(signing_key);
+       if (kernel_subkey)
+               free(kernel_subkey);
+       if (fv_data)
+               free(fv_data);
+       if (body_sig)
+               free(body_sig);
+       if (preamble)
+               free(preamble);
+
+       return retval;
+}
+
+static int do_verify(const char *infile, const char *signpubkey,
+                    const char *fv_file, const char *kernelkey_file)
+{
+       uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+               __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       uint32_t now = 0;
+
+       uint8_t *pubkbuf = NULL;
+       uint8_t *blob = NULL;
+       uint8_t *fv_data = NULL;
+       int retval = 1;
+
+       if (!infile || !signpubkey || !fv_file) {
+               FATAL("Must specify filename, signpubkey, and fv\n");
+               goto verify_cleanup;
+       }
+
+       /* Read public signing key */
+       uint32_t pubklen;
+       struct vb2_public_key sign_key;
+       if (VB2_SUCCESS != vb2_read_file(signpubkey, &pubkbuf, &pubklen)) {
+               fprintf(stderr, "Error reading signpubkey.\n");
+               goto verify_cleanup;
+       }
+       if (VB2_SUCCESS != vb2_unpack_key_buffer(&sign_key, pubkbuf, pubklen)) {
+               fprintf(stderr, "Error unpacking signpubkey.\n");
+               goto verify_cleanup;
+       }
+
+       /* Read blob */
+       uint32_t blob_size;
+       if (VB2_SUCCESS != vb2_read_file(infile, &blob, &blob_size)) {
+               FATAL("Error reading input file\n");
+               goto verify_cleanup;
+       }
+
+       /* Read firmware volume */
+       uint32_t fv_size;
+       if (VB2_SUCCESS != vb2_read_file(fv_file, &fv_data, &fv_size)) {
+               FATAL("Error reading firmware volume\n");
+               goto verify_cleanup;
+       }
+
+       /* Verify keyblock */
+       struct vb2_keyblock *keyblock = (struct vb2_keyblock *)blob;
+       if (VB2_SUCCESS !=
+           vb2_verify_keyblock(keyblock, blob_size, &sign_key, &wb)) {
+               FATAL("Error verifying keyblock.\n");
+               goto verify_cleanup;
+       }
+
+       now += keyblock->keyblock_size;
+
+       printf("Keyblock:\n");
+       printf("  Size:                %d\n", keyblock->keyblock_size);
+       printf("  Flags:               %d (ignored)\n",
+              keyblock->keyblock_flags);
+
+       struct vb2_packed_key *packed_key = &keyblock->data_key;
+       printf("  Data key algorithm:  %d %s\n", packed_key->algorithm,
+              vb2_get_crypto_algorithm_name(packed_key->algorithm));
+       printf("  Data key version:    %d\n", packed_key->key_version);
+       printf("  Data key sha1sum:    %s\n",
+              packed_key_sha1_string(packed_key));
+
+       struct vb2_public_key data_key;
+       if (VB2_SUCCESS !=
+           vb2_unpack_key(&data_key, &keyblock->data_key)) {
+               fprintf(stderr, "Error parsing data key.\n");
+               goto verify_cleanup;
+       }
+
+       /* Verify preamble */
+       struct vb2_fw_preamble *pre2 = (struct vb2_fw_preamble *)(blob + now);
+       if (VB2_SUCCESS !=
+           vb2_verify_fw_preamble(pre2, blob_size - now, &data_key, &wb)) {
+               FATAL("Error2 verifying preamble.\n");
+               goto verify_cleanup;
+       }
+       now += pre2->preamble_size;
+
+       uint32_t flags = pre2->flags;
+       if (pre2->header_version_minor < 1)
+               flags = 0;  /* Old 2.0 structure didn't have flags */
+
+       printf("Preamble:\n");
+       printf("  Size:                  %d\n", pre2->preamble_size);
+       printf("  Header version:        %d.%d\n",
+              pre2->header_version_major, pre2->header_version_minor);
+       printf("  Firmware version:      %d\n", pre2->firmware_version);
+
+       struct vb2_packed_key *kernel_subkey = &pre2->kernel_subkey;
+       printf("  Kernel key algorithm:  %d %s\n", kernel_subkey->algorithm,
+              vb2_get_crypto_algorithm_name(kernel_subkey->algorithm));
+       printf("  Kernel key version:    %d\n", kernel_subkey->key_version);
+       printf("  Kernel key sha1sum:    %s\n",
+              packed_key_sha1_string(kernel_subkey));
+       printf("  Firmware body size:    %d\n", pre2->body_signature.data_size);
+       printf("  Preamble flags:        %d\n", flags);
+
+       /* TODO: verify body size same as signature size */
+
+       /* Verify body */
+       if (flags & VB2_FIRMWARE_PREAMBLE_USE_RO_NORMAL) {
+               printf("Preamble requests USE_RO_NORMAL;"
+                      " skipping body verification.\n");
+       } else if (VB2_SUCCESS ==
+                  vb2_verify_data(fv_data, fv_size, &pre2->body_signature,
+                                  &data_key, &wb)) {
+               printf("Body verification succeeded.\n");
+       } else {
+               FATAL("Error verifying firmware body.\n");
+               goto verify_cleanup;
+       }
+
+       if (kernelkey_file &&
+           VB2_SUCCESS != vb2_write_packed_key(kernelkey_file,
+                                               kernel_subkey)) {
+               FATAL("Unable to write kernel subkey\n");
+               goto verify_cleanup;
+       }
+
+       /* Success */
+       retval = 0;
+
+verify_cleanup:
+       if (pubkbuf)
+               free(pubkbuf);
+       if (blob)
+               free(blob);
+       if (fv_data)
+               free(fv_data);
+
+       return retval;
+}
+
+static int do_vbutil_firmware(int argc, char *argv[])
+{
+
+       char *filename = NULL;
+       char *keyblock_file = NULL;
+       char *signpubkey = NULL;
+       char *signprivate = NULL;
+       uint32_t version = 0;
+       char *fv_file = NULL;
+       char *kernelkey_file = NULL;
+       uint32_t preamble_flags = 0;
+       int mode = 0;
+       int parse_error = 0;
+       char *e;
+       int i;
+
+       while ((i = getopt_long(argc, argv, "", long_opts, NULL)) != -1) {
+               switch (i) {
+               case '?':
+                       /* Unhandled option */
+                       printf("Unknown option\n");
+                       parse_error = 1;
+                       break;
+               case OPT_HELP:
+                       print_help(argc, argv);
+                       return !!parse_error;
+
+               case OPT_MODE_VBLOCK:
+               case OPT_MODE_VERIFY:
+                       mode = i;
+                       filename = optarg;
+                       break;
+
+               case OPT_KEYBLOCK:
+                       keyblock_file = optarg;
+                       break;
+
+               case OPT_SIGNPUBKEY:
+                       signpubkey = optarg;
+                       break;
+
+               case OPT_SIGNPRIVATE:
+                       signprivate = optarg;
+                       break;
+
+               case OPT_FV:
+                       fv_file = optarg;
+                       break;
+
+               case OPT_KERNELKEY:
+                       kernelkey_file = optarg;
+                       break;
+
+               case OPT_VERSION:
+                       version = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               printf("Invalid --version\n");
+                               parse_error = 1;
+                       }
+                       break;
+
+               case OPT_FLAGS:
+                       preamble_flags = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               printf("Invalid --flags\n");
+                               parse_error = 1;
+                       }
+                       break;
+               }
+       }
+
+       if (parse_error) {
+               print_help(argc, argv);
+               return 1;
+       }
+
+       switch (mode) {
+       case OPT_MODE_VBLOCK:
+               return do_vblock(filename, keyblock_file, signprivate, version,
+                                fv_file, kernelkey_file, preamble_flags);
+       case OPT_MODE_VERIFY:
+               return do_verify(filename, signpubkey, fv_file, kernelkey_file);
+       default:
+               fprintf(stderr, "Must specify a mode.\n");
+               print_help(argc, argv);
+               return 1;
+       }
+}
+
+DECLARE_FUTIL_COMMAND(vbutil_firmware, do_vbutil_firmware, VBOOT_VERSION_1_0,
+                     "Verified boot firmware utility");
diff --git a/futility/cmd_vbutil_kernel.c b/futility/cmd_vbutil_kernel.c
new file mode 100644 (file)
index 0000000..7268bee
--- /dev/null
@@ -0,0 +1,652 @@
+/* Copyright 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Verified boot kernel utility
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <inttypes.h>          /* For PRIu64 */
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
+#include <linux/fs.h>          /* For BLKGETSIZE64 */
+#endif
+#include <stdarg.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2sysincludes.h"
+#include "file_type.h"
+#include "futility.h"
+#include "host_common.h"
+#include "kernel_blob.h"
+#include "vb1_helper.h"
+
+/* Global opts */
+static int opt_verbose;
+static int opt_vblockonly;
+static uint64_t opt_pad = 65536;
+
+/* Command line options */
+enum {
+       OPT_MODE_PACK = 1000,
+       OPT_MODE_REPACK,
+       OPT_MODE_VERIFY,
+       OPT_MODE_GET_VMLINUZ,
+       OPT_ARCH,
+       OPT_OLDBLOB,
+       OPT_KLOADADDR,
+       OPT_KEYBLOCK,
+       OPT_SIGNPUBKEY,
+       OPT_SIGNPRIVATE,
+       OPT_VERSION,
+       OPT_VMLINUZ,
+       OPT_BOOTLOADER,
+       OPT_CONFIG,
+       OPT_VBLOCKONLY,
+       OPT_PAD,
+       OPT_VERBOSE,
+       OPT_MINVERSION,
+       OPT_VMLINUZ_OUT,
+       OPT_FLAGS,
+       OPT_HELP,
+};
+
+static const struct option long_opts[] = {
+       {"pack", 1, 0, OPT_MODE_PACK},
+       {"repack", 1, 0, OPT_MODE_REPACK},
+       {"verify", 1, 0, OPT_MODE_VERIFY},
+       {"get-vmlinuz", 1, 0, OPT_MODE_GET_VMLINUZ},
+       {"arch", 1, 0, OPT_ARCH},
+       {"oldblob", 1, 0, OPT_OLDBLOB},
+       {"kloadaddr", 1, 0, OPT_KLOADADDR},
+       {"keyblock", 1, 0, OPT_KEYBLOCK},
+       {"signpubkey", 1, 0, OPT_SIGNPUBKEY},
+       {"signprivate", 1, 0, OPT_SIGNPRIVATE},
+       {"version", 1, 0, OPT_VERSION},
+       {"minversion", 1, 0, OPT_MINVERSION},
+       {"vmlinuz", 1, 0, OPT_VMLINUZ},
+       {"bootloader", 1, 0, OPT_BOOTLOADER},
+       {"config", 1, 0, OPT_CONFIG},
+       {"vblockonly", 0, 0, OPT_VBLOCKONLY},
+       {"pad", 1, 0, OPT_PAD},
+       {"verbose", 0, &opt_verbose, 1},
+       {"vmlinuz-out", 1, 0, OPT_VMLINUZ_OUT},
+       {"flags", 1, 0, OPT_FLAGS},
+       {"help", 0, 0, OPT_HELP},
+       {NULL, 0, 0, 0}
+};
+
+
+
+static const char usage[] =
+       "\n"
+       "Usage:  " MYNAME " %s --pack <file> [PARAMETERS]\n"
+       "\n"
+       "  Required parameters:\n"
+       "    --keyblock <file>         Keyblock in .keyblock format\n"
+       "    --signprivate <file>      Private key to sign kernel data,\n"
+       "                                in .vbprivk format\n"
+       "    --version <number>        Kernel version\n"
+       "    --vmlinuz <file>          Linux kernel bzImage file\n"
+       "    --bootloader <file>       Bootloader stub\n"
+       "    --config <file>           Command line file\n"
+       "    --arch <arch>             Cpu architecture (default x86)\n"
+       "\n"
+       "  Optional:\n"
+       "    --kloadaddr <address>     Assign kernel body load address\n"
+       "    --pad <number>            Verification padding size in bytes\n"
+       "    --vblockonly              Emit just the verification blob\n"
+       "    --flags NUM               Flags to be passed in the header\n"
+       "\nOR\n\n"
+       "Usage:  " MYNAME " %s --repack <file> [PARAMETERS]\n"
+       "\n"
+       "  Required parameters:\n"
+       "    --signprivate <file>      Private key to sign kernel data,\n"
+       "                                in .vbprivk format\n"
+       "    --oldblob <file>          Previously packed kernel blob\n"
+       "                                (including verfication blob)\n"
+       "\n"
+       "  Optional:\n"
+       "    --keyblock <file>         Keyblock in .keyblock format\n"
+       "    --config <file>           New command line file\n"
+       "    --version <number>        Kernel version\n"
+       "    --kloadaddr <address>     Assign kernel body load address\n"
+       "    --pad <number>            Verification blob size in bytes\n"
+       "    --vblockonly              Emit just the verification blob\n"
+       "\nOR\n\n"
+       "Usage:  " MYNAME " %s --verify <file> [PARAMETERS]\n"
+       "\n"
+       "  Optional:\n"
+       "    --signpubkey <file>"
+       "       Public key to verify kernel keyblock,\n"
+       "                                in .vbpubk format\n"
+       "    --verbose                 Print a more detailed report\n"
+       "    --keyblock <file>         Outputs the verified keyblock,\n"
+       "                                in .keyblock format\n"
+       "    --pad <number>            Verification padding size in bytes\n"
+       "    --minversion <number>     Minimum combined kernel key version\n"
+       "\nOR\n\n"
+       "Usage:  " MYNAME " %s --get-vmlinuz <file> [PARAMETERS]\n"
+       "\n"
+       "  Required parameters:\n"
+       "    --vmlinuz-out <file>      vmlinuz image output file\n"
+       "\n";
+
+
+/* Print help and return error */
+static void print_help(int argc, char *argv[])
+{
+       printf(usage, argv[0], argv[0], argv[0], argv[0]);
+}
+
+
+/* Return an explanation when fread() fails. */
+static const char *error_fread(FILE *fp)
+{
+       const char *retval = "beats me why";
+       if (feof(fp))
+               retval = "EOF";
+       else if (ferror(fp))
+               retval = strerror(errno);
+       clearerr(fp);
+       return retval;
+}
+
+
+/* This reads a complete kernel partition into a buffer */
+static uint8_t *ReadOldKPartFromFileOrDie(const char *filename,
+                                        uint32_t *size_ptr)
+{
+       FILE *fp = NULL;
+       struct stat statbuf;
+       uint8_t *buf;
+       uint32_t file_size = 0;
+
+       if (0 != stat(filename, &statbuf))
+               FATAL("Unable to stat %s: %s\n", filename, strerror(errno));
+
+       if (S_ISBLK(statbuf.st_mode)) {
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
+               int fd = open(filename, O_RDONLY);
+               if (fd >= 0) {
+                       ioctl(fd, BLKGETSIZE64, &file_size);
+                       close(fd);
+               }
+#endif
+       } else {
+               file_size = statbuf.st_size;
+       }
+       VB2_DEBUG("%s size is %#x\n", filename, file_size);
+       if (file_size < opt_pad)
+               FATAL("%s is too small to be a valid kernel blob\n", filename);
+
+       VB2_DEBUG("Reading %s\n", filename);
+       fp = fopen(filename, "rb");
+       if (!fp)
+               FATAL("Unable to open file %s: %s\n", filename,
+                     strerror(errno));
+
+       buf = malloc(file_size);
+       if (1 != fread(buf, file_size, 1, fp))
+               FATAL("Unable to read entirety of %s: %s\n", filename,
+                     error_fread(fp));
+
+       if (size_ptr)
+               *size_ptr = file_size;
+
+       fclose(fp);
+       return buf;
+}
+
+/****************************************************************************/
+
+static int do_vbutil_kernel(int argc, char *argv[])
+{
+       char *filename = NULL;
+       char *oldfile = NULL;
+       char *keyblock_file = NULL;
+       char *signpubkey_file = NULL;
+       char *signprivkey_file = NULL;
+       char *version_str = NULL;
+       int version = -1;
+       char *vmlinuz_file = NULL;
+       char *bootloader_file = NULL;
+       char *config_file = NULL;
+       char *vmlinuz_out_file = NULL;
+       enum arch_t arch = ARCH_X86;
+       uint64_t kernel_body_load_address = CROS_32BIT_ENTRY_ADDR;
+       int mode = 0;
+       int parse_error = 0;
+       uint32_t min_version = 0;
+       char *e;
+       int i = 0;
+       int errcount = 0;
+       int rv;
+       struct vb2_keyblock *keyblock = NULL;
+       struct vb2_keyblock *t_keyblock = NULL;
+       struct vb2_private_key *signpriv_key = NULL;
+       struct vb2_packed_key *signpub_key = NULL;
+       uint8_t *kpart_data = NULL;
+       uint32_t kpart_size = 0;
+       uint8_t *vmlinuz_buf = NULL;
+       uint32_t vmlinuz_size = 0;
+       uint8_t *t_config_data;
+       uint32_t t_config_size;
+       uint8_t *t_bootloader_data;
+       uint32_t t_bootloader_size;
+       uint32_t vmlinuz_header_size = 0;
+       uint64_t vmlinuz_header_address = 0;
+       uint32_t vmlinuz_header_offset = 0;
+       struct vb2_kernel_preamble *preamble = NULL;
+       uint8_t *kblob_data = NULL;
+       uint32_t kblob_size = 0;
+       uint8_t *vblock_data = NULL;
+       uint32_t vblock_size = 0;
+       uint32_t flags = 0;
+       FILE *f;
+
+       while (((i = getopt_long(argc, argv, ":", long_opts, NULL)) != -1) &&
+              !parse_error) {
+               switch (i) {
+               default:
+               case '?':
+                       /* Unhandled option */
+                       parse_error = 1;
+                       break;
+
+               case 0:
+                       /* silently handled option */
+                       break;
+               case OPT_HELP:
+                       print_help(argc, argv);
+                       return !!parse_error;
+
+               case OPT_MODE_PACK:
+               case OPT_MODE_REPACK:
+               case OPT_MODE_VERIFY:
+               case OPT_MODE_GET_VMLINUZ:
+                       if (mode && (mode != i)) {
+                               fprintf(stderr,
+                                       "Only one mode can be specified\n");
+                               parse_error = 1;
+                               break;
+                       }
+                       mode = i;
+                       filename = optarg;
+                       break;
+
+               case OPT_ARCH:
+                       /* check the first 3 characters to also detect x86_64 */
+                       if ((!strncasecmp(optarg, "x86", 3)) ||
+                           (!strcasecmp(optarg, "amd64")))
+                               arch = ARCH_X86;
+                       /* check the first 3 characters to also detect arm64 */
+                       else if ((!strncasecmp(optarg, "arm", 3)) ||
+                                (!strcasecmp(optarg, "aarch64")))
+                               arch = ARCH_ARM;
+                       else if (!strcasecmp(optarg, "mips"))
+                               arch = ARCH_MIPS;
+                       else {
+                               fprintf(stderr,
+                                       "Unknown architecture string: %s\n",
+                                       optarg);
+                               parse_error = 1;
+                       }
+                       break;
+
+               case OPT_OLDBLOB:
+                       oldfile = optarg;
+                       break;
+
+               case OPT_KLOADADDR:
+                       kernel_body_load_address = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr, "Invalid --kloadaddr\n");
+                               parse_error = 1;
+                       }
+                       break;
+
+               case OPT_KEYBLOCK:
+                       keyblock_file = optarg;
+                       break;
+
+               case OPT_SIGNPUBKEY:
+                       signpubkey_file = optarg;
+                       break;
+
+               case OPT_SIGNPRIVATE:
+                       signprivkey_file = optarg;
+                       break;
+
+               case OPT_VMLINUZ:
+                       vmlinuz_file = optarg;
+                       break;
+
+               case OPT_FLAGS:
+                       flags = (uint32_t)strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr, "Invalid --flags\n");
+                               parse_error = 1;
+                       }
+                       break;
+
+               case OPT_BOOTLOADER:
+                       bootloader_file = optarg;
+                       break;
+
+               case OPT_CONFIG:
+                       config_file = optarg;
+                       break;
+
+               case OPT_VBLOCKONLY:
+                       opt_vblockonly = 1;
+                       break;
+
+               case OPT_VERSION:
+                       version_str = optarg;
+                       version = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr, "Invalid --version\n");
+                               parse_error = 1;
+                       }
+                       break;
+
+               case OPT_MINVERSION:
+                       min_version = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr, "Invalid --minversion\n");
+                               parse_error = 1;
+                       }
+                       break;
+
+               case OPT_PAD:
+                       opt_pad = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr, "Invalid --pad\n");
+                               parse_error = 1;
+                       }
+                       break;
+               case OPT_VMLINUZ_OUT:
+                       vmlinuz_out_file = optarg;
+               }
+       }
+
+       if (parse_error) {
+               print_help(argc, argv);
+               return 1;
+       }
+
+       switch (mode) {
+       case OPT_MODE_PACK:
+
+               if (!keyblock_file)
+                       FATAL("Missing required keyblock file.\n");
+
+               t_keyblock = (struct vb2_keyblock *)ReadFile(keyblock_file, 0);
+               if (!t_keyblock)
+                       FATAL("Error reading keyblock.\n");
+
+               if (!signprivkey_file)
+                       FATAL("Missing required signprivate file.\n");
+
+               signpriv_key = vb2_read_private_key(signprivkey_file);
+               if (!signpriv_key)
+                       FATAL("Error reading signing key.\n");
+
+               if (!config_file)
+                       FATAL("Missing required config file.\n");
+
+               VB2_DEBUG("Reading %s\n", config_file);
+               t_config_data =
+                       ReadConfigFile(config_file, &t_config_size);
+               if (!t_config_data)
+                       FATAL("Error reading config file.\n");
+
+               if (!bootloader_file)
+                       FATAL("Missing required bootloader file.\n");
+
+               VB2_DEBUG("Reading %s\n", bootloader_file);
+
+               if (VB2_SUCCESS != vb2_read_file(bootloader_file,
+                                                &t_bootloader_data,
+                                                &t_bootloader_size))
+                       FATAL("Error reading bootloader file.\n");
+               VB2_DEBUG(" bootloader file size=%#x\n", t_bootloader_size);
+
+               if (!vmlinuz_file)
+                       FATAL("Missing required vmlinuz file.\n");
+
+               VB2_DEBUG("Reading %s\n", vmlinuz_file);
+               if (VB2_SUCCESS !=
+                   vb2_read_file(vmlinuz_file, &vmlinuz_buf, &vmlinuz_size))
+                       FATAL("Error reading vmlinuz file.\n");
+
+               VB2_DEBUG(" vmlinuz file size=%#x\n", vmlinuz_size);
+               if (!vmlinuz_size)
+                       FATAL("Empty vmlinuz file\n");
+
+               kblob_data = CreateKernelBlob(
+                       vmlinuz_buf, vmlinuz_size,
+                       arch, kernel_body_load_address,
+                       t_config_data, t_config_size,
+                       t_bootloader_data, t_bootloader_size,
+                       &kblob_size);
+               if (!kblob_data)
+                       FATAL("Unable to create kernel blob\n");
+
+               VB2_DEBUG("kblob_size = %#x\n", kblob_size);
+
+               vblock_data = SignKernelBlob(kblob_data, kblob_size, opt_pad,
+                                            version, kernel_body_load_address,
+                                            t_keyblock, signpriv_key, flags,
+                                            &vblock_size);
+               if (!vblock_data)
+                       FATAL("Unable to sign kernel blob\n");
+
+               VB2_DEBUG("vblock_size = %#x\n", vblock_size);
+
+               if (opt_vblockonly)
+                       rv = WriteSomeParts(filename,
+                                           vblock_data, vblock_size,
+                                           NULL, 0);
+               else
+                       rv = WriteSomeParts(filename,
+                                           vblock_data, vblock_size,
+                                           kblob_data, kblob_size);
+
+               free(vmlinuz_buf);
+               free(t_config_data);
+               free(t_bootloader_data);
+               free(vblock_data);
+               vb2_free_private_key(signpriv_key);
+               return rv;
+
+       case OPT_MODE_REPACK:
+
+               /* Required */
+
+               if (!signprivkey_file)
+                       FATAL("Missing required signprivate file.\n");
+
+               signpriv_key = vb2_read_private_key(signprivkey_file);
+               if (!signpriv_key)
+                       FATAL("Error reading signing key.\n");
+
+               if (!oldfile)
+                       FATAL("Missing previously packed blob.\n");
+
+               /* Load the kernel partition */
+               kpart_data = ReadOldKPartFromFileOrDie(oldfile, &kpart_size);
+
+               /* Make sure we have a kernel partition */
+               if (FILE_TYPE_KERN_PREAMBLE !=
+                   futil_file_type_buf(kpart_data, kpart_size))
+                       FATAL("%s is not a kernel blob\n", oldfile);
+
+               kblob_data = unpack_kernel_partition(kpart_data, kpart_size,
+                                                    opt_pad, &keyblock,
+                                                    &preamble, &kblob_size);
+
+               if (!kblob_data)
+                       FATAL("Unable to unpack kernel partition\n");
+
+               kernel_body_load_address = preamble->body_load_address;
+
+               /* Update the config if asked */
+               if (config_file) {
+                       VB2_DEBUG("Reading %s\n", config_file);
+                       t_config_data =
+                               ReadConfigFile(config_file, &t_config_size);
+                       if (!t_config_data)
+                               FATAL("Error reading config file.\n");
+                       if (0 != UpdateKernelBlobConfig(
+                                   kblob_data, kblob_size,
+                                   t_config_data, t_config_size))
+                               FATAL("Unable to update config\n");
+               }
+
+               if (!version_str)
+                       version = preamble->kernel_version;
+
+               if (vb2_kernel_get_flags(preamble))
+                       flags = vb2_kernel_get_flags(preamble);
+
+               if (keyblock_file) {
+                       t_keyblock = (struct vb2_keyblock *)
+                               ReadFile(keyblock_file, 0);
+                       if (!t_keyblock)
+                               FATAL("Error reading keyblock.\n");
+               }
+
+               /* Reuse previous body size */
+               vblock_data = SignKernelBlob(kblob_data, kblob_size, opt_pad,
+                                            version, kernel_body_load_address,
+                                            t_keyblock ? t_keyblock : keyblock,
+                                            signpriv_key, flags, &vblock_size);
+               if (!vblock_data)
+                       FATAL("Unable to sign kernel blob\n");
+
+               if (opt_vblockonly)
+                       rv = WriteSomeParts(filename,
+                                           vblock_data, vblock_size,
+                                           NULL, 0);
+               else
+                       rv = WriteSomeParts(filename,
+                                           vblock_data, vblock_size,
+                                           kblob_data, kblob_size);
+               return rv;
+
+       case OPT_MODE_VERIFY:
+
+               /* Optional */
+
+               if (signpubkey_file) {
+                       signpub_key = vb2_read_packed_key(signpubkey_file);
+                       if (!signpub_key)
+                               FATAL("Error reading public key.\n");
+               }
+
+               /* Do it */
+
+               /* Load the kernel partition */
+               kpart_data = ReadOldKPartFromFileOrDie(filename, &kpart_size);
+
+               kblob_data = unpack_kernel_partition(kpart_data, kpart_size,
+                                                    opt_pad, 0, 0,
+                                                    &kblob_size);
+               if (!kblob_data)
+                       FATAL("Unable to unpack kernel partition\n");
+
+               rv = VerifyKernelBlob(kblob_data, kblob_size,
+                                     signpub_key, keyblock_file, min_version);
+
+               return rv;
+
+       case OPT_MODE_GET_VMLINUZ:
+
+               if (!vmlinuz_out_file) {
+                       fprintf(stderr,
+                               "USE: vbutil_kernel --get-vmlinuz <file> "
+                               "--vmlinuz-out <file>\n");
+                       print_help(argc, argv);
+                       return 1;
+               }
+
+               kpart_data = ReadOldKPartFromFileOrDie(filename, &kpart_size);
+
+               kblob_data = unpack_kernel_partition(kpart_data, kpart_size,
+                                                    opt_pad, &keyblock,
+                                                    &preamble, &kblob_size);
+
+               if (!kblob_data)
+                       FATAL("Unable to unpack kernel partition\n");
+
+               f = fopen(vmlinuz_out_file, "wb");
+               if (!f) {
+                       FATAL("Can't open output file %s\n", vmlinuz_out_file);
+                       return 1;
+               }
+
+               /* Now stick 16-bit header followed by kernel block into
+                  output */
+               vb2_kernel_get_vmlinuz_header(preamble,
+                                             &vmlinuz_header_address,
+                                             &vmlinuz_header_size);
+               if (vmlinuz_header_size) {
+                       // verify that the 16-bit header is included in the
+                       // kblob (to make sure that it's included in the
+                       // signature)
+                       if (vb2_verify_member_inside(
+                                       (void *)preamble->body_load_address,
+                                       kblob_size,
+                                       (void *)vmlinuz_header_address,
+                                       vmlinuz_header_size, 0, 0)) {
+                               fclose(f);
+                               unlink(vmlinuz_out_file);
+                               FATAL("Vmlinuz header not signed!\n");
+                               return 1;
+                       }
+                       // calculate the vmlinuz_header offset from
+                       // the beginning of the kpart_data.  The kblob doesn't
+                       // include the body_load_offset, but does include
+                       // the keyblock and preamble sections.
+                       vmlinuz_header_offset = vmlinuz_header_address -
+                               preamble->body_load_address +
+                               keyblock->keyblock_size +
+                               preamble->preamble_size;
+                       errcount |=
+                               (1 != fwrite(kpart_data + vmlinuz_header_offset,
+                                            vmlinuz_header_size,
+                                            1,
+                                            f));
+               }
+               errcount |= (1 != fwrite(kblob_data,
+                                        kblob_size,
+                                        1,
+                                        f));
+               if (errcount) {
+                       fclose(f);
+                       unlink(vmlinuz_out_file);
+                       FATAL("Can't write output file %s\n", vmlinuz_out_file);
+                       return 1;
+               }
+
+               fclose(f);
+               return 0;
+       }
+
+       fprintf(stderr,
+               "You must specify a mode: "
+               "--pack, --repack, --verify, or --get-vmlinuz\n");
+       print_help(argc, argv);
+       return 1;
+}
+
+DECLARE_FUTIL_COMMAND(vbutil_kernel, do_vbutil_kernel, VBOOT_VERSION_1_0,
+                     "Creates, signs, and verifies the kernel partition");
diff --git a/futility/cmd_vbutil_key.c b/futility/cmd_vbutil_key.c
new file mode 100644 (file)
index 0000000..d26df3f
--- /dev/null
@@ -0,0 +1,236 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Verified boot key utility
+ */
+
+#include <getopt.h>
+#include <inttypes.h>          /* For PRIu64 */
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "futility.h"
+#include "host_common.h"
+#include "host_key21.h"
+#include "util_misc.h"
+#include "vb1_helper.h"
+
+/* Command line options */
+enum {
+       OPT_INKEY = 1000,
+       OPT_KEY_VERSION,
+       OPT_ALGORITHM,
+       OPT_MODE_PACK,
+       OPT_MODE_UNPACK,
+       OPT_COPYTO,
+       OPT_HELP,
+};
+
+static const struct option long_opts[] = {
+       {"key", 1, 0, OPT_INKEY},
+       {"version", 1, 0, OPT_KEY_VERSION},
+       {"algorithm", 1, 0, OPT_ALGORITHM},
+       {"pack", 1, 0, OPT_MODE_PACK},
+       {"unpack", 1, 0, OPT_MODE_UNPACK},
+       {"copyto", 1, 0, OPT_COPYTO},
+       {"help", 0, 0, OPT_HELP},
+       {NULL, 0, 0, 0}
+};
+
+static void print_help(int argc, char *argv[])
+{
+       int i;
+
+       printf("\n"
+              "Usage:  " MYNAME " %s --pack <outfile> [PARAMETERS]\n"
+              "\n"
+              "  Required parameters:\n"
+              "    --key <infile>              RSA key file (.keyb or .pem)\n"
+              "    --version <number>          Key version number "
+              "(required for .keyb,\n"
+              "                                  ignored for .pem)\n"
+              "    --algorithm <number>        "
+              "Signing algorithm to use with key:\n", argv[0]);
+
+       for (i = 0; i < VB2_ALG_COUNT; i++) {
+               printf("                                  %d = (%s)\n",
+                      i, vb2_get_crypto_algorithm_name(i));
+       }
+
+       printf("\nOR\n\n"
+              "Usage:  " MYNAME " %s --unpack <infile>\n"
+              "\n"
+              "  Optional parameters:\n"
+              "    --copyto <file>             "
+              "Write a copy of the key to this file.\n\n", argv[0]);
+}
+
+/* Pack a .keyb file into a .vbpubk, or a .pem into a .vbprivk */
+static int do_pack(const char *infile, const char *outfile, uint32_t algorithm,
+                  uint32_t version)
+{
+       if (!infile || !outfile) {
+               fprintf(stderr, "vbutil_key: Must specify --in and --out\n");
+               return 1;
+       }
+
+       struct vb2_packed_key *pubkey =
+               vb2_read_packed_keyb(infile, algorithm, version);
+       if (pubkey) {
+               if (0 != vb2_write_packed_key(outfile, pubkey)) {
+                       fprintf(stderr, "vbutil_key: Error writing key.\n");
+                       free(pubkey);
+                       return 1;
+               }
+               free(pubkey);
+               return 0;
+       }
+
+       struct vb2_private_key *privkey =
+               vb2_read_private_key_pem(infile, algorithm);
+       if (privkey) {
+               if (VB2_SUCCESS != vb2_write_private_key(outfile, privkey)) {
+                       fprintf(stderr, "vbutil_key: Error writing key.\n");
+                       free(privkey);
+                       return 1;
+               }
+               free(privkey);
+               return 0;
+       }
+
+       FATAL("Unable to parse either .keyb or .pem from %s\n", infile);
+       return 1;
+}
+
+/* Unpack a .vbpubk or .vbprivk */
+static int do_unpack(const char *infile, const char *outfile)
+{
+       struct vb2_packed_key *pubkey;
+
+       if (!infile) {
+               fprintf(stderr, "Need file to unpack\n");
+               return 1;
+       }
+
+       pubkey = vb2_read_packed_key(infile);
+       if (pubkey) {
+               printf("Public Key file:   %s\n", infile);
+               printf("Algorithm:         %u %s\n", pubkey->algorithm,
+                      vb2_get_crypto_algorithm_name(pubkey->algorithm));
+               printf("Key Version:       %u\n", pubkey->key_version);
+               printf("Key sha1sum:       %s\n",
+                      packed_key_sha1_string(pubkey));
+               if (outfile &&
+                   VB2_SUCCESS != vb2_write_packed_key(outfile, pubkey)) {
+                       fprintf(stderr, "butil_key: Error writing key copy\n");
+                       free(pubkey);
+                       return 1;
+               }
+               free(pubkey);
+               return 0;
+       }
+
+       struct vb2_private_key *privkey = vb2_read_private_key(infile);
+       if (privkey) {
+               printf("Private Key file:  %s\n", infile);
+
+               enum vb2_crypto_algorithm alg =
+                       vb2_get_crypto_algorithm(privkey->hash_alg,
+                                                privkey->sig_alg);
+               printf("Algorithm:         %u %s\n", alg,
+                      vb2_get_crypto_algorithm_name(alg));
+               if (outfile &&
+                   VB2_SUCCESS != vb2_write_private_key(outfile, privkey)) {
+                       fprintf(stderr,"vbutil_key: Error writing key copy\n");
+                       free(privkey);
+                       return 1;
+               }
+               free(privkey);
+               return 0;
+       }
+
+       FATAL("Unable to parse either .vbpubk or vbprivk from %s\n", infile);
+       return 1;
+}
+
+static int do_vbutil_key(int argc, char *argv[])
+{
+
+       char *infile = NULL;
+       char *outfile = NULL;
+       int mode = 0;
+       int parse_error = 0;
+       uint32_t version = 1;
+       uint32_t algorithm = VB2_ALG_COUNT;
+       char *e;
+       int i;
+
+       while ((i = getopt_long(argc, argv, "", long_opts, NULL)) != -1) {
+               switch (i) {
+               case '?':
+                       /* Unhandled option */
+                       FATAL("Unknown option\n");
+                       parse_error = 1;
+                       break;
+               case OPT_HELP:
+                       print_help(argc, argv);
+                       return !!parse_error;
+
+               case OPT_INKEY:
+                       infile = optarg;
+                       break;
+
+               case OPT_KEY_VERSION:
+                       version = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               FATAL("Invalid --version\n");
+                               parse_error = 1;
+                       }
+                       break;
+
+               case OPT_ALGORITHM:
+                       algorithm = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               FATAL("Invalid --algorithm\n");
+                               parse_error = 1;
+                       }
+                       break;
+
+               case OPT_MODE_PACK:
+                       mode = i;
+                       outfile = optarg;
+                       break;
+
+               case OPT_MODE_UNPACK:
+                       mode = i;
+                       infile = optarg;
+                       break;
+
+               case OPT_COPYTO:
+                       outfile = optarg;
+                       break;
+               }
+       }
+
+       if (parse_error) {
+               print_help(argc, argv);
+               return 1;
+       }
+
+       switch (mode) {
+       case OPT_MODE_PACK:
+               return do_pack(infile, outfile, algorithm, version);
+       case OPT_MODE_UNPACK:
+               return do_unpack(infile, outfile);
+       default:
+               printf("Must specify a mode.\n");
+               print_help(argc, argv);
+               return 1;
+       }
+}
+
+DECLARE_FUTIL_COMMAND(vbutil_key, do_vbutil_key, VBOOT_VERSION_1_0,
+                     "Wraps RSA keys with vboot headers");
diff --git a/futility/cmd_vbutil_keyblock.c b/futility/cmd_vbutil_keyblock.c
new file mode 100644 (file)
index 0000000..28a3ccd
--- /dev/null
@@ -0,0 +1,363 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Verified boot keyblock utility
+ */
+
+#include <getopt.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sysincludes.h"
+#include "futility.h"
+#include "host_common.h"
+#include "host_key21.h"
+#include "util_misc.h"
+#include "vb1_helper.h"
+
+/* Command line options */
+enum {
+       OPT_MODE_PACK = 1000,
+       OPT_MODE_UNPACK,
+       OPT_DATAPUBKEY,
+       OPT_SIGNPUBKEY,
+       OPT_SIGNPRIVATE,
+       OPT_SIGNPRIVATE_PEM,
+       OPT_PEM_ALGORITHM,
+       OPT_EXTERNAL_SIGNER,
+       OPT_FLAGS,
+       OPT_HELP,
+};
+
+static const struct option long_opts[] = {
+       {"pack", 1, 0, OPT_MODE_PACK},
+       {"unpack", 1, 0, OPT_MODE_UNPACK},
+       {"datapubkey", 1, 0, OPT_DATAPUBKEY},
+       {"signpubkey", 1, 0, OPT_SIGNPUBKEY},
+       {"signprivate", 1, 0, OPT_SIGNPRIVATE},
+       {"signprivate_pem", 1, 0, OPT_SIGNPRIVATE_PEM},
+       {"pem_algorithm", 1, 0, OPT_PEM_ALGORITHM},
+       {"externalsigner", 1, 0, OPT_EXTERNAL_SIGNER},
+       {"flags", 1, 0, OPT_FLAGS},
+       {"help", 0, 0, OPT_HELP},
+       {NULL, 0, 0, 0}
+};
+
+static const char usage[] =
+       "\n"
+       "Usage:  " MYNAME " %s <--pack|--unpack> <file> [OPTIONS]\n"
+       "\n"
+       "For '--pack <file>', required OPTIONS are:\n"
+       "  --datapubkey <file>         Data public key in .vbpubk format\n"
+       "\n"
+       "Optional OPTIONS are:\n"
+       "  --signprivate <file>"
+       "        Signing private key in .vbprivk format.\n"
+       "OR\n"
+       "  --signprivate_pem <file>\n"
+       "  --pem_algorithm <algo>\n"
+       "        Signing private key in .pem format and algorithm id.\n"
+       "(If one of the above arguments is not specified, the keyblock will\n"
+       "not be signed.)\n"
+       "\n"
+       "  --flags <number>            Specifies allowed use conditions.\n"
+       "  --externalsigner \"cmd\""
+       "        Use an external program cmd to calculate the signatures.\n"
+       "\n"
+       "For '--unpack <file>', optional OPTIONS are:\n"
+       "  --signpubkey <file>"
+       "        Signing public key in .vbpubk format. This is required to\n"
+       "                                verify a signed keyblock.\n"
+       "  --datapubkey <file>"
+       "        Write the data public key to this file.\n\n";
+
+static void print_help(int argc, char *argv[])
+{
+       printf(usage, argv[0]);
+}
+
+/* Pack a .keyblock */
+static int Pack(const char *outfile, const char *datapubkey,
+               const char *signprivate,
+               const char *signprivate_pem, uint64_t pem_algorithm,
+               uint64_t flags, const char *external_signer)
+{
+       struct vb2_private_key *signing_key = NULL;
+       struct vb2_keyblock *block;
+
+       if (!outfile) {
+               fprintf(stderr,
+                       "vbutil_keyblock: Must specify output filename.\n");
+               return 1;
+       }
+       if (!datapubkey) {
+               fprintf(stderr,
+                       "vbutil_keyblock: Must specify data public key.\n");
+               return 1;
+       }
+
+       struct vb2_packed_key *data_key = vb2_read_packed_key(datapubkey);
+       if (!data_key) {
+               fprintf(stderr, "vbutil_keyblock: Error reading data key.\n");
+               return 1;
+       }
+
+       if (signprivate_pem) {
+               if (pem_algorithm >= VB2_ALG_COUNT) {
+                       fprintf(stderr,
+                               "vbutil_keyblock: Invalid --pem_algorithm %"
+                               PRIu64 "\n", pem_algorithm);
+                       return 1;
+               }
+               if (external_signer) {
+                       /* External signing uses the PEM file directly. */
+                       block = vb2_create_keyblock_external(data_key,
+                                                            signprivate_pem,
+                                                            pem_algorithm,
+                                                            flags,
+                                                            external_signer);
+               } else {
+                       signing_key =
+                               vb2_read_private_key_pem(signprivate_pem,
+                                                        pem_algorithm);
+                       if (!signing_key) {
+                               fprintf(stderr, "vbutil_keyblock:"
+                                       " Error reading signing key.\n");
+                               return 1;
+                       }
+                       block = vb2_create_keyblock(data_key, signing_key,
+                                                   flags);
+               }
+       } else {
+               if (signprivate) {
+                       signing_key = vb2_read_private_key(signprivate);
+                       if (!signing_key) {
+                               fprintf(stderr, "vbutil_keyblock:"
+                                       " Error reading signing key.\n");
+                               return 1;
+                       }
+               }
+               block = vb2_create_keyblock(data_key, signing_key, flags);
+       }
+
+       free(data_key);
+       if (signing_key)
+               free(signing_key);
+
+       if (VB2_SUCCESS != vb2_write_keyblock(outfile, block)) {
+               fprintf(stderr, "vbutil_keyblock: Error writing keyblock.\n");
+               return 1;
+       }
+       free(block);
+       return 0;
+}
+
+static int Unpack(const char *infile, const char *datapubkey,
+                 const char *signpubkey)
+{
+       struct vb2_packed_key *sign_key = NULL;
+
+       if (!infile) {
+               fprintf(stderr, "vbutil_keyblock: Must specify filename\n");
+               return 1;
+       }
+
+       struct vb2_keyblock *block = vb2_read_keyblock(infile);
+       if (!block) {
+               fprintf(stderr, "vbutil_keyblock: Error reading keyblock.\n");
+               return 1;
+       }
+
+       /* If the signing public key is provided, then verify the block
+        * signature, since vb2_read_keyblock() only verified the hash. */
+       if (signpubkey) {
+               static uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+                       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+               static struct vb2_workbuf wb;
+
+               if (block->keyblock_signature.sig_size == 0) {
+                       fprintf(stderr,
+                               "vbutil_keyblock: signpubkey provided but keyblock is not signed.\n");
+                       return 1;
+               }
+
+               vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+               sign_key = vb2_read_packed_key(signpubkey);
+               if (!sign_key) {
+                       fprintf(stderr,
+                               "vbutil_keyblock: Error reading signpubkey.\n");
+                       return 1;
+               }
+               struct vb2_public_key key;
+               if (VB2_SUCCESS != vb2_unpack_key(&key, sign_key)) {
+                       fprintf(stderr,
+                               "vbutil_keyblock: Error reading signpubkey.\n");
+                       return 1;
+               }
+
+               if (VB2_SUCCESS !=
+                   vb2_verify_keyblock(block, block->keyblock_size,
+                                       &key, &wb)) {
+                       fprintf(stderr, "vbutil_keyblock:"
+                               " Error verifying keyblock.\n");
+                       return 1;
+               }
+               free(sign_key);
+       }
+
+       printf("Keyblock file:        %s\n", infile);
+       printf("Signature             %s\n", sign_key ? "valid" : "ignored");
+       printf("Flags:                %u ", block->keyblock_flags);
+       if (block->keyblock_flags & VB2_KEYBLOCK_FLAG_DEVELOPER_0)
+               printf(" !DEV");
+       if (block->keyblock_flags & VB2_KEYBLOCK_FLAG_DEVELOPER_1)
+               printf(" DEV");
+       if (block->keyblock_flags & VB2_KEYBLOCK_FLAG_RECOVERY_0)
+               printf(" !REC");
+       if (block->keyblock_flags & VB2_KEYBLOCK_FLAG_RECOVERY_1)
+               printf(" REC");
+       if (block->keyblock_flags & VB2_KEYBLOCK_FLAG_MINIOS_0)
+               printf(" !MINIOS");
+       if (block->keyblock_flags & VB2_KEYBLOCK_FLAG_MINIOS_1)
+               printf(" MINIOS");
+       printf("\n");
+
+       struct vb2_packed_key *data_key = &block->data_key;
+       printf("Data key algorithm:   %u %s\n", data_key->algorithm,
+              vb2_get_crypto_algorithm_name(data_key->algorithm));
+       printf("Data key version:     %u\n", data_key->key_version);
+       printf("Data key sha1sum:     %s\n",
+              packed_key_sha1_string(data_key));
+
+       if (datapubkey &&
+           VB2_SUCCESS != vb2_write_packed_key(datapubkey, data_key)) {
+               fprintf(stderr, "vbutil_keyblock: error writing public key\n");
+               return 1;
+       }
+
+       free(block);
+       return 0;
+}
+
+static int do_vbutil_keyblock(int argc, char *argv[])
+{
+
+       char *filename = NULL;
+       char *datapubkey = NULL;
+       char *signpubkey = NULL;
+       char *signprivate = NULL;
+       char *signprivate_pem = NULL;
+       char *external_signer = NULL;
+       uint64_t flags = 0;
+       uint64_t pem_algorithm = 0;
+       int is_pem_algorithm = 0;
+       int mode = 0;
+       int parse_error = 0;
+       char *e;
+       int i;
+
+       while ((i = getopt_long(argc, argv, "", long_opts, NULL)) != -1) {
+               switch (i) {
+               case '?':
+                       /* Unhandled option */
+                       printf("Unknown option\n");
+                       parse_error = 1;
+                       break;
+               case OPT_HELP:
+                       print_help(argc, argv);
+                       return !!parse_error;
+
+               case OPT_MODE_PACK:
+               case OPT_MODE_UNPACK:
+                       mode = i;
+                       filename = optarg;
+                       break;
+
+               case OPT_DATAPUBKEY:
+                       datapubkey = optarg;
+                       break;
+
+               case OPT_SIGNPUBKEY:
+                       signpubkey = optarg;
+                       break;
+
+               case OPT_SIGNPRIVATE:
+                       signprivate = optarg;
+                       break;
+
+               case OPT_SIGNPRIVATE_PEM:
+                       signprivate_pem = optarg;
+                       break;
+
+               case OPT_PEM_ALGORITHM:
+                       pem_algorithm = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr, "Invalid --pem_algorithm\n");
+                               parse_error = 1;
+                       } else {
+                               is_pem_algorithm = 1;
+                       }
+                       break;
+
+               case OPT_EXTERNAL_SIGNER:
+                       external_signer = optarg;
+                       break;
+
+               case OPT_FLAGS:
+                       flags = strtoul(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr, "Invalid --flags\n");
+                               parse_error = 1;
+                       }
+                       break;
+               }
+       }
+
+       /* Check if the right combination of options was provided. */
+       if (signprivate && signprivate_pem) {
+               fprintf(stderr,
+                       "Only one of --signprivate or --signprivate_pem must"
+                       " be specified\n");
+               parse_error = 1;
+       }
+
+       if (signprivate_pem && !is_pem_algorithm) {
+               fprintf(stderr, "--pem_algorithm must be used with"
+                       " --signprivate_pem\n");
+               parse_error = 1;
+       }
+
+       if (external_signer && !signprivate_pem) {
+               fprintf(stderr,
+                       "--externalsigner must be used with --signprivate_pem"
+                       "\n");
+               parse_error = 1;
+       }
+
+       if (parse_error) {
+               print_help(argc, argv);
+               return 1;
+       }
+
+       switch (mode) {
+       case OPT_MODE_PACK:
+               return Pack(filename, datapubkey, signprivate,
+                           signprivate_pem, pem_algorithm,
+                           flags, external_signer);
+       case OPT_MODE_UNPACK:
+               return Unpack(filename, datapubkey, signpubkey);
+       default:
+               printf("Must specify a mode.\n");
+               print_help(argc, argv);
+               return 1;
+       }
+}
+
+DECLARE_FUTIL_COMMAND(vbutil_keyblock, do_vbutil_keyblock, VBOOT_VERSION_1_0,
+                     "Creates, signs, and verifies a keyblock");
diff --git a/futility/dump_kernel_config_lib.c b/futility/dump_kernel_config_lib.c
new file mode 100644 (file)
index 0000000..ff39c41
--- /dev/null
@@ -0,0 +1,146 @@
+/* Copyright 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Exports the kernel commandline from a given partition/image.
+ */
+
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#if !defined (__FreeBSD__) && !defined(__OpenBSD__)
+#include <sys/sysmacros.h>
+#endif
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "futility.h"
+#include "host_common.h"
+#include "kernel_blob.h"
+#include "vboot_api.h"
+#include "vboot_host.h"
+
+typedef ssize_t (*ReadFullyFn)(void *ctx, void *buf, size_t count);
+
+static ssize_t ReadFullyWithRead(void *ctx, void *buf, size_t count)
+{
+       ssize_t nr_read = 0;
+       int fd = *((int*)ctx);
+       while (nr_read < count) {
+               ssize_t to_read = count - nr_read;
+               ssize_t chunk = read(fd, buf + nr_read, to_read);
+               if (chunk < 0) {
+                       return -1;
+               } else if (chunk == 0) {
+                       break;
+               }
+               nr_read += chunk;
+       }
+       return nr_read;
+}
+
+/* Skip the stream by calling |read_fn| many times. Return 0 on success. */
+static int SkipWithRead(void *ctx, ReadFullyFn read_fn, size_t count)
+{
+       char buf[1024];
+       ssize_t nr_skipped = 0;
+       while (nr_skipped < count) {
+               ssize_t to_read = count - nr_skipped;
+               if (to_read > sizeof(buf)) {
+                       to_read = sizeof(buf);
+               }
+               if (read_fn(ctx, buf, to_read) != to_read) {
+                       return -1;
+               }
+               nr_skipped += to_read;
+       }
+       return 0;
+}
+
+static char *FindKernelConfigFromStream(void *ctx, ReadFullyFn read_fn,
+                                       uint64_t kernel_body_load_address)
+{
+       struct vb2_keyblock keyblock;
+       struct vb2_kernel_preamble preamble;
+       uint32_t now = 0;
+       uint32_t offset = 0;
+
+       /* Skip the keyblock */
+       if (read_fn(ctx, &keyblock, sizeof(keyblock)) != sizeof(keyblock)) {
+               FATAL("not enough data to fill keyblock header\n");
+               return NULL;
+       }
+       ssize_t to_skip = keyblock.keyblock_size - sizeof(keyblock);
+       if (to_skip < 0 || SkipWithRead(ctx, read_fn, to_skip)) {
+               FATAL("keyblock_size advances past the end of the blob\n");
+               return NULL;
+       }
+       now += keyblock.keyblock_size;
+
+       /* Open up the preamble */
+       if (read_fn(ctx, &preamble, sizeof(preamble)) != sizeof(preamble)) {
+               FATAL("not enough data to fill preamble\n");
+               return NULL;
+       }
+       to_skip = preamble.preamble_size - sizeof(preamble);
+       if (to_skip < 0 || SkipWithRead(ctx, read_fn, to_skip)) {
+               FATAL("preamble_size advances past the end of the blob\n");
+               return NULL;
+       }
+       now += preamble.preamble_size;
+
+       /* Read body_load_address from preamble if no
+        * kernel_body_load_address */
+       if (kernel_body_load_address == USE_PREAMBLE_LOAD_ADDR)
+               kernel_body_load_address = preamble.body_load_address;
+
+       /* The x86 kernels have a pointer to the kernel commandline in the
+        * zeropage table, but that's irrelevant for ARM. Both types keep the
+        * config blob in the same place, so just go find it. */
+       offset = preamble.bootloader_address -
+           (kernel_body_load_address + CROS_PARAMS_SIZE +
+            CROS_CONFIG_SIZE) + now;
+       to_skip = offset - now;
+       if (to_skip < 0 || SkipWithRead(ctx, read_fn, to_skip)) {
+               FATAL("params are outside of the memory blob: %x\n", offset);
+               return NULL;
+       }
+       char *ret = malloc(CROS_CONFIG_SIZE);
+       if (!ret) {
+               FATAL("No memory\n");
+               return NULL;
+       }
+       if (read_fn(ctx, ret, CROS_CONFIG_SIZE) != CROS_CONFIG_SIZE) {
+               FATAL("Cannot read kernel config\n");
+               free(ret);
+               ret = NULL;
+       }
+       return ret;
+}
+
+char *FindKernelConfig(const char *infile, uint64_t kernel_body_load_address)
+{
+       char *newstr = NULL;
+
+       int fd = open(infile, O_RDONLY | O_CLOEXEC
+#if !defined(__FreeBSD__) && !defined(__OpenBSD__)
+                       | O_LARGEFILE
+#endif
+                       );
+       if (fd < 0) {
+               FATAL("Cannot open %s\n", infile);
+               return NULL;
+       }
+
+       void *ctx = &fd;
+       ReadFullyFn read_fn = ReadFullyWithRead;
+
+       newstr = FindKernelConfigFromStream(ctx, read_fn,
+                                           kernel_body_load_address);
+
+       close(fd);
+
+       return newstr;
+}
diff --git a/futility/file_type.c b/futility/file_type.c
new file mode 100644 (file)
index 0000000..b55d13f
--- /dev/null
@@ -0,0 +1,180 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "file_type.h"
+#include "futility.h"
+
+/* Description and functions to handle each file type */
+struct futil_file_type_s {
+       /* Short name for this type */
+       const char *name;
+       /* Human-readable description */
+       const char *desc;
+       /* Functions to identify, display, and sign this type of file. */
+       enum futil_file_type (*recognize)(uint8_t *buf, uint32_t len);
+       int (*show)(const char *name, uint8_t *buf, uint32_t len, void *data);
+       int (*sign)(const char *name, uint8_t *buf, uint32_t len, void *data);
+};
+
+/* Populate a list of file types and operator functions. */
+static const struct futil_file_type_s futil_file_types[] = {
+       {"unknown",       "not something we know about", 0, 0, 0},
+#define R_(x) x
+#define S_(x) x
+#define NONE 0
+#define FILE_TYPE(A, B, C, D, E, F) {B, C, D, E, F},
+#include "file_type.inc"
+#undef FILE_TYPE
+#undef NONE
+#undef S_
+#undef R_
+};
+
+const char * const futil_file_type_name(enum futil_file_type type)
+{
+       return futil_file_types[type].name;
+}
+
+const char * const futil_file_type_desc(enum futil_file_type type)
+{
+       return futil_file_types[type].desc;
+}
+
+/* Name to enum. Returns true on success. */
+int futil_str_to_file_type(const char *str, enum futil_file_type *type)
+{
+       int i;
+       for (i = 0; i < NUM_FILE_TYPES; i++)
+               if (!strcasecmp(str, futil_file_types[i].name)) {
+                       *type = i;
+                       return 1;
+               }
+
+       *type = FILE_TYPE_UNKNOWN;
+       return 0;
+}
+
+/* Print the list of type names and exit with the given value. */
+void print_file_types_and_exit(int retval)
+{
+       int i;
+       printf("\nValid file types are:\n\n");
+       for (i = 0; i < NUM_FILE_TYPES; i++)
+               printf("  %-20s%s\n", futil_file_types[i].name,
+                      futil_file_types[i].desc);
+       printf("\n");
+
+       exit(retval);
+}
+
+/* Try to figure out what we're looking at */
+enum futil_file_type futil_file_type_buf(uint8_t *buf, uint32_t len)
+{
+       enum futil_file_type type;
+       int i;
+
+       for (i = 0; i < NUM_FILE_TYPES; i++) {
+               if (futil_file_types[i].recognize) {
+                       type = futil_file_types[i].recognize(buf, len);
+                       if (type != FILE_TYPE_UNKNOWN)
+                               return type;
+               }
+       }
+
+       return FILE_TYPE_UNKNOWN;
+}
+
+enum futil_file_err futil_file_type(const char *filename,
+                                   enum futil_file_type *type)
+{
+       int ifd;
+       uint8_t *buf;
+       uint32_t buf_len;
+       struct stat sb;
+       enum futil_file_err err = FILE_ERR_NONE;
+
+       *type = FILE_TYPE_UNKNOWN;
+
+       ifd = open(filename, O_RDONLY);
+       if (ifd < 0) {
+               fprintf(stderr, "Can't open %s: %s\n",
+                       filename, strerror(errno));
+               return FILE_ERR_OPEN;
+       }
+
+       if (0 != fstat(ifd, &sb)) {
+               fprintf(stderr, "Can't stat input file: %s\n",
+                       strerror(errno));
+               close(ifd);
+               return FILE_ERR_STAT;
+       }
+
+       if (S_ISREG(sb.st_mode) || S_ISBLK(sb.st_mode)) {
+               err = futil_map_file(ifd, MAP_RO, &buf, &buf_len);
+               if (err) {
+                       close(ifd);
+                       return err;
+               }
+
+               *type = futil_file_type_buf(buf, buf_len);
+
+               err = futil_unmap_file(ifd, MAP_RO, buf, buf_len);
+               if (err) {
+                       close(ifd);
+                       return err;
+               }
+       } else if (S_ISDIR(sb.st_mode)) {
+               err = FILE_ERR_DIR;
+       } else if (S_ISCHR(sb.st_mode)) {
+               err = FILE_ERR_CHR;
+       } else if (S_ISFIFO(sb.st_mode)) {
+               err = FILE_ERR_FIFO;
+       } else if (S_ISSOCK(sb.st_mode)) {
+               err = FILE_ERR_SOCK;
+       }
+
+       if (close(ifd)) {
+               fprintf(stderr, "Error when closing %s: %s\n",
+                       filename, strerror(errno));
+               return FILE_ERR_CLOSE;
+       }
+
+       return err;
+}
+
+int futil_file_type_show(enum futil_file_type type,
+                        const char *filename,
+                        uint8_t *buf, uint32_t len)
+{
+       if (futil_file_types[type].show)
+               return futil_file_types[type].show(filename, buf, len, 0);
+
+       fprintf(stderr, "Don't know how to show %s (type %s)\n",
+               filename, futil_file_type_name(type));
+       return 1;
+}
+
+int futil_file_type_sign(enum futil_file_type type,
+                        const char *filename,
+                        uint8_t *buf, uint32_t len)
+{
+       if (futil_file_types[type].sign)
+               return futil_file_types[type].sign(filename, buf, len, 0);
+
+       fprintf(stderr, "Don't know how to sign %s (type %s)\n",
+               filename, futil_file_type_name(type));
+       return 1;
+}
+
diff --git a/futility/file_type.h b/futility/file_type.h
new file mode 100644 (file)
index 0000000..e1efe76
--- /dev/null
@@ -0,0 +1,79 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_FILE_TYPE_H_
+#define VBOOT_REFERENCE_FILE_TYPE_H_
+
+/* What type of things do I know how to handle? */
+enum futil_file_type {
+       FILE_TYPE_UNKNOWN,
+#define FILE_TYPE(A, B, C, D, E, F) FILE_TYPE_ ## A,
+#include "file_type.inc"
+#undef FILE_TYPE
+       NUM_FILE_TYPES
+};
+
+/* Short name for file types */
+const char * const futil_file_type_name(enum futil_file_type type);
+
+/* Description of file type */
+const char * const futil_file_type_desc(enum futil_file_type type);
+
+/* Print the list of type names and exit with the given value. */
+void print_file_types_and_exit(int retval);
+
+/* Lookup a type by name. Return true on success */
+int futil_str_to_file_type(const char *str, enum futil_file_type *type);
+
+/*
+ * This tries to match the buffer content to one of the known file types.
+ */
+enum futil_file_type futil_file_type_buf(uint8_t *buf, uint32_t len);
+
+/*
+ * This opens a file and tries to match it to one of the known file types.
+ * It's not an error if it returns FILE_TYPE_UKNOWN.
+ */
+enum futil_file_err futil_file_type(const char *filename,
+                                   enum futil_file_type *type);
+
+/*
+ * Call the show() method on a buffer containing a specific file type.
+ * Returns zero on success. It's up to the caller to ensure that only valid
+ * file types are invoked.
+ */
+int futil_file_type_show(enum futil_file_type type,
+                        const char *filename,
+                        uint8_t *buf, uint32_t len);
+
+/*
+ * Call the sign() method on a buffer containing a specific file type.
+ * Returns zero on success. It's up to the caller to ensure that only valid
+ * file types are invoked.
+ */
+int futil_file_type_sign(enum futil_file_type type,
+                        const char *filename,
+                        uint8_t *buf, uint32_t len);
+
+/*
+ * Declare the file_type functions. Certain functions are reused for more than
+ * one file type, leading to redundant declarations here.
+ */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wredundant-decls"
+#define R_(FOO) \
+       enum futil_file_type FOO(uint8_t *buf, uint32_t len);
+#define S_(FOO) \
+       int FOO(const char *name, uint8_t *buf, uint32_t len, void *data);
+#define NONE
+#define FILE_TYPE(A, B, C, D, E, F) D E F
+#include "file_type.inc"
+#undef FILE_TYPE
+#undef NONE
+#undef S_
+#undef R_
+#pragma GCC diagnostic pop
+
+#endif  /* VBOOT_REFERENCE_FILE_TYPE_H_ */
diff --git a/futility/file_type.inc b/futility/file_type.inc
new file mode 100644 (file)
index 0000000..0d3acc9
--- /dev/null
@@ -0,0 +1,82 @@
+/* -*- mode:c -*-
+ *
+ * Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * This declares the file types that we can handle. Note that the order may be
+ * important for types with recognizer functions, since we generally want to to
+ * look for big things first.
+ */
+
+/*
+ *        enum              --type           desc
+ *        recognizer function
+ *        show function
+ *        sign function
+ */
+FILE_TYPE(BIOS_IMAGE,       "bios",          "Chrome OS BIOS image",
+         R_(ft_recognize_bios_image),
+         S_(ft_show_bios),
+         S_(ft_sign_bios))
+FILE_TYPE(OLD_BIOS_IMAGE,   "oldbios",       "Cr-48 Chrome OS BIOS image",
+         R_(ft_recognize_bios_image),
+         S_(ft_show_bios),
+         S_(ft_sign_bios))
+FILE_TYPE(GBB,              "gbb",           "GBB",
+         R_(ft_recognize_gbb),
+         S_(ft_show_gbb),
+         NONE)
+FILE_TYPE(FW_PREAMBLE,      "fw_pre",        "firmware preamble (VBLOCK_A/B)",
+         R_(ft_recognize_vblock1),
+         S_(ft_show_fw_preamble),
+         NONE)
+FILE_TYPE(KERN_PREAMBLE,    "kernel",        "kernel preamble/partition",
+         R_(ft_recognize_vblock1),
+         S_(ft_show_kernel_preamble),
+         S_(ft_sign_kern_preamble))
+FILE_TYPE(KEYBLOCK,         "keyblock",      "keyblock (signed public key)",
+         R_(ft_recognize_vblock1),
+         S_(ft_show_keyblock),
+         NONE)
+FILE_TYPE(PUBKEY,           "pubkey",        "vb1 packed public key (.vbpubk)",
+         R_(ft_recognize_vb1_key),
+         S_(ft_show_pubkey),
+         S_(ft_sign_pubkey))
+FILE_TYPE(PRIVKEY,          "prikey",        "vb1 private key (.vbprivk)",
+         R_(ft_recognize_vb1_key),
+         S_(ft_show_privkey),
+         NONE)
+FILE_TYPE(VB2_PUBKEY,       "pubkey21",      "vb21 public key (.vbpubk2)",
+         R_(ft_recognize_vb21_key),
+         S_(ft_show_vb21_pubkey),
+         NONE)
+FILE_TYPE(VB2_PRIVKEY,     "prikey21",      "vb21 private key (.vbprik2)",
+         R_(ft_recognize_vb21_key),
+         S_(ft_show_vb21_privkey),
+         NONE)
+FILE_TYPE(PEM,             "pem",           "RSA private key (.pem)",
+         R_(ft_recognize_pem),
+         S_(ft_show_pem),
+         NONE)
+FILE_TYPE(RAW_FIRMWARE,     "fwblob",        "raw firmware blob (FW_MAIN_A/B)",
+         NONE,
+         NONE,
+         S_(ft_sign_raw_firmware))
+FILE_TYPE(RAW_KERNEL,       "vmlinuz",       "raw linux kernel",
+         NONE,
+         NONE,
+         S_(ft_sign_raw_kernel))
+FILE_TYPE(CHROMIUMOS_DISK,  "disk_img",      "chromiumos disk image",
+         R_(ft_recognize_gpt),
+         NONE,
+         NONE)
+FILE_TYPE(RWSIG,            "rwsig",         "RW device image",
+         R_(ft_recognize_rwsig),
+         S_(ft_show_rwsig),
+         S_(ft_sign_rwsig))
+/* Firmware for USB Type-C power adapters */
+FILE_TYPE(USBPD1,           "usbpd1",        "USB-PD charger image (v1.0)",
+         R_(ft_recognize_usbpd1),
+         S_(ft_show_usbpd1),
+         S_(ft_sign_usbpd1))
diff --git a/futility/file_type_bios.c b/futility/file_type_bios.c
new file mode 100644 (file)
index 0000000..fe0b223
--- /dev/null
@@ -0,0 +1,509 @@
+/* Copyright 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <limits.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "file_type_bios.h"
+#include "file_type.h"
+#include "fmap.h"
+#include "futility.h"
+#include "futility_options.h"
+#include "host_common.h"
+#include "vb1_helper.h"
+
+static const char * const fmap_name[] = {
+       "GBB",                                  /* BIOS_FMAP_GBB */
+       "FW_MAIN_A",                            /* BIOS_FMAP_FW_MAIN_A */
+       "FW_MAIN_B",                            /* BIOS_FMAP_FW_MAIN_B */
+       "VBLOCK_A",                             /* BIOS_FMAP_VBLOCK_A */
+       "VBLOCK_B",                             /* BIOS_FMAP_VBLOCK_B */
+};
+_Static_assert(ARRAY_SIZE(fmap_name) == NUM_BIOS_COMPONENTS,
+              "Size of fmap_name[] should match NUM_BIOS_COMPONENTS");
+
+static const char * const fmap_oldname[] = {
+       "GBB Area",                             /* BIOS_FMAP_GBB */
+       "Firmware A Data",                      /* BIOS_FMAP_FW_MAIN_A */
+       "Firmware B Data",                      /* BIOS_FMAP_FW_MAIN_B */
+       "Firmware A Key",                       /* BIOS_FMAP_VBLOCK_A */
+       "Firmware B Key",                       /* BIOS_FMAP_VBLOCK_B */
+};
+_Static_assert(ARRAY_SIZE(fmap_oldname) == NUM_BIOS_COMPONENTS,
+              "Size of fmap_oldname[] should match NUM_BIOS_COMPONENTS");
+
+static void fmap_limit_area(FmapAreaHeader *ah, uint32_t len)
+{
+       uint32_t sum = ah->area_offset + ah->area_size;
+       if (sum < ah->area_size || sum > len) {
+               VB2_DEBUG("%s %#x + %#x > %#x\n",
+                         ah->area_name, ah->area_offset, ah->area_size, len);
+               ah->area_offset = 0;
+               ah->area_size = 0;
+       }
+}
+
+/** Show functions **/
+
+int ft_show_gbb(const char *name, uint8_t *buf, uint32_t len, void *data)
+{
+       struct vb2_gbb_header *gbb = (struct vb2_gbb_header *)buf;
+       struct bios_state_s *state = (struct bios_state_s *)data;
+       int retval = 0;
+       uint32_t maxlen = 0;
+
+       if (!len) {
+               printf("GBB header:              %s <invalid>\n", name);
+               return 1;
+       }
+
+       /* It looks like a GBB or we wouldn't be called. */
+       if (!futil_valid_gbb_header(gbb, len, &maxlen))
+               retval = 1;
+
+       printf("GBB header:              %s\n", name);
+       printf("  Version:               %d.%d\n",
+              gbb->major_version, gbb->minor_version);
+       printf("  Flags:                 0x%08x\n", gbb->flags);
+       printf("  Regions:                 offset       size\n");
+       printf("    hwid                 0x%08x   0x%08x\n",
+              gbb->hwid_offset, gbb->hwid_size);
+       printf("    bmpvf                0x%08x   0x%08x\n",
+              gbb->bmpfv_offset, gbb->bmpfv_size);
+       printf("    rootkey              0x%08x   0x%08x\n",
+              gbb->rootkey_offset, gbb->rootkey_size);
+       printf("    recovery_key         0x%08x   0x%08x\n",
+              gbb->recovery_key_offset, gbb->recovery_key_size);
+
+       printf("  Size:                  0x%08x / 0x%08x%s\n",
+              maxlen, len, maxlen > len ? "  (not enough)" : "");
+
+       if (retval) {
+               printf("GBB header is invalid, ignoring content\n");
+               return 1;
+       }
+
+       printf("GBB content:\n");
+       printf("  HWID:                  %s\n", buf + gbb->hwid_offset);
+       print_hwid_digest(gbb, "     digest:             ", "\n");
+
+       struct vb2_packed_key *pubkey =
+               (struct vb2_packed_key *)(buf + gbb->rootkey_offset);
+       if (vb2_packed_key_looks_ok(pubkey, gbb->rootkey_size) == VB2_SUCCESS) {
+               if (state) {
+                       state->rootkey.offset =
+                               state->area[BIOS_FMAP_GBB].offset +
+                               gbb->rootkey_offset;
+                       state->rootkey.buf = buf + gbb->rootkey_offset;
+                       state->rootkey.len = gbb->rootkey_size;
+                       state->rootkey.is_valid = 1;
+               }
+               printf("  Root Key:\n");
+               show_pubkey(pubkey, "    ");
+       } else {
+               retval = 1;
+               printf("  Root Key:              <invalid>\n");
+       }
+
+       pubkey = (struct vb2_packed_key *)(buf + gbb->recovery_key_offset);
+       if (vb2_packed_key_looks_ok(pubkey, gbb->recovery_key_size)
+           == VB2_SUCCESS) {
+               if (state) {
+                       state->recovery_key.offset =
+                               state->area[BIOS_FMAP_GBB].offset +
+                               gbb->recovery_key_offset;
+                       state->recovery_key.buf = buf +
+                               gbb->recovery_key_offset;
+                       state->recovery_key.len = gbb->recovery_key_size;
+                       state->recovery_key.is_valid = 1;
+               }
+               printf("  Recovery Key:\n");
+               show_pubkey(pubkey, "    ");
+       } else {
+               retval = 1;
+               printf("  Recovery Key:          <invalid>\n");
+       }
+
+       if (!retval && state)
+               state->area[BIOS_FMAP_GBB].is_valid = 1;
+
+       return retval;
+}
+
+/*
+ * This handles FW_MAIN_A and FW_MAIN_B while processing a BIOS image.
+ *
+ * The data is just the RW firmware blob, so there's nothing useful to show
+ * about it. We'll just mark it as present so when we encounter corresponding
+ * VBLOCK area, we'll have this to verify.
+ */
+static int fmap_show_fw_main(const char *name, uint8_t *buf, uint32_t len,
+                            void *data)
+{
+       struct bios_state_s *state = (struct bios_state_s *)data;
+
+       if (!len) {
+               printf("Firmware body:           %s <invalid>\n", name);
+               return 1;
+       }
+
+       printf("Firmware body:           %s\n", name);
+       printf("  Offset:                0x%08x\n",
+              state->area[state->c].offset);
+       printf("  Size:                  0x%08x\n", len);
+
+       state->area[state->c].is_valid = 1;
+
+       return 0;
+}
+
+/* Functions to call to show the bios components */
+static int (*fmap_show_fn[])(const char *name, uint8_t *buf, uint32_t len,
+                              void *data) = {
+       ft_show_gbb,
+       fmap_show_fw_main,
+       fmap_show_fw_main,
+       ft_show_fw_preamble,
+       ft_show_fw_preamble,
+};
+_Static_assert(ARRAY_SIZE(fmap_show_fn) == NUM_BIOS_COMPONENTS,
+              "Size of fmap_show_fn[] should match NUM_BIOS_COMPONENTS");
+
+int ft_show_bios(const char *name, uint8_t *buf, uint32_t len, void *data)
+{
+       FmapHeader *fmap;
+       FmapAreaHeader *ah = 0;
+       char ah_name[FMAP_NAMELEN + 1];
+       enum bios_component c;
+       int retval = 0;
+       struct bios_state_s state;
+
+       memset(&state, 0, sizeof(state));
+
+       printf("BIOS:                    %s\n", name);
+
+       /* We've already checked, so we know this will work. */
+       fmap = fmap_find(buf, len);
+       for (c = 0; c < NUM_BIOS_COMPONENTS; c++) {
+               /* We know one of these will work, too */
+               if (fmap_find_by_name(buf, len, fmap, fmap_name[c], &ah) ||
+                   fmap_find_by_name(buf, len, fmap, fmap_oldname[c], &ah)) {
+                       /* But the file might be truncated */
+                       fmap_limit_area(ah, len);
+                       /* The name is not necessarily null-terminated */
+                       snprintf(ah_name, sizeof(ah_name), "%s", ah->area_name);
+
+                       /* Update the state we're passing around */
+                       state.c = c;
+                       state.area[c].offset = ah->area_offset;
+                       state.area[c].buf = buf + ah->area_offset;
+                       state.area[c].len = ah->area_size;
+
+                       VB2_DEBUG("showing FMAP area %d (%s),"
+                                 " offset=0x%08x len=0x%08x\n",
+                                 c, ah_name, ah->area_offset, ah->area_size);
+
+                       /* Go look at it. */
+                       if (fmap_show_fn[c])
+                               retval += fmap_show_fn[c](ah_name,
+                                                         state.area[c].buf,
+                                                         state.area[c].len,
+                                                         &state);
+               }
+       }
+
+       return retval;
+}
+
+/** Sign functions **/
+
+/*
+ * This handles FW_MAIN_A and FW_MAIN_B while signing a BIOS image. The data is
+ * just the RW firmware blob so there's nothing useful to do with it, but we'll
+ * mark it as valid so that we'll know that this FMAP area exists and can
+ * be signed.
+ */
+static int fmap_sign_fw_main(const char *name, uint8_t *buf, uint32_t len,
+                            void *data)
+{
+       struct bios_state_s *state = (struct bios_state_s *)data;
+       state->area[state->c].is_valid = 1;
+       return 0;
+}
+
+/*
+ * This handles VBLOCK_A and VBLOCK_B while processing a BIOS image. We don't
+ * do any signing here. We just check to see if the existing FMAP area contains
+ * a firmware preamble so we can preserve its contents. We do the signing once
+ * we've looked over all the components.
+ */
+static int fmap_sign_fw_preamble(const char *name, uint8_t *buf, uint32_t len,
+                                void *data)
+{
+       static uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+               __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       static struct vb2_workbuf wb;
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       struct vb2_keyblock *keyblock = (struct vb2_keyblock *)buf;
+       struct bios_state_s *state = (struct bios_state_s *)data;
+
+       /*
+        * If we have a valid keyblock and fw_preamble, then we can use them to
+        * determine the size of the firmware body. Otherwise, we'll have to
+        * just sign the whole region.
+        */
+       if (VB2_SUCCESS != vb2_verify_keyblock_hash(keyblock, len, &wb)) {
+               fprintf(stderr, "Warning: %s keyblock is invalid. "
+                       "Signing the entire FW FMAP region...\n", name);
+               goto whatever;
+       }
+
+       if (vb2_packed_key_looks_ok(&keyblock->data_key,
+                                   keyblock->data_key.key_offset +
+                                   keyblock->data_key.key_size)) {
+               fprintf(stderr, "Warning: %s public key is invalid. "
+                       "Signing the entire FW FMAP region...\n", name);
+               goto whatever;
+       }
+       uint32_t more = keyblock->keyblock_size;
+       struct vb2_fw_preamble *preamble =
+               (struct vb2_fw_preamble *)(buf + more);
+       uint32_t fw_size = preamble->body_signature.data_size;
+       struct bios_area_s *fw_body_area = 0;
+
+       switch (state->c) {
+       case BIOS_FMAP_VBLOCK_A:
+               fw_body_area = &state->area[BIOS_FMAP_FW_MAIN_A];
+               /* Preserve the flags if they're not specified */
+               if (!sign_option.flags_specified)
+                       sign_option.flags = preamble->flags;
+               break;
+       case BIOS_FMAP_VBLOCK_B:
+               fw_body_area = &state->area[BIOS_FMAP_FW_MAIN_B];
+               break;
+       default:
+               FATAL("Can only handle VBLOCK_A or VBLOCK_B\n");
+       }
+
+       if (fw_size > fw_body_area->len) {
+               fprintf(stderr,
+                       "%s says the firmware is larger than we have\n",
+                       name);
+               return 1;
+       }
+
+       /* Update the firmware size */
+       fw_body_area->len = fw_size;
+
+whatever:
+       state->area[state->c].is_valid = 1;
+
+       return 0;
+}
+
+static int write_new_preamble(struct bios_area_s *vblock,
+                             struct bios_area_s *fw_body,
+                             struct vb2_private_key *signkey,
+                             struct vb2_keyblock *keyblock)
+{
+       struct vb2_signature *body_sig;
+       struct vb2_fw_preamble *preamble;
+
+       body_sig = vb2_calculate_signature(fw_body->buf, fw_body->len, signkey);
+       if (!body_sig) {
+               fprintf(stderr, "Error calculating body signature\n");
+               return 1;
+       }
+
+       preamble = vb2_create_fw_preamble(sign_option.version,
+                       (struct vb2_packed_key *)sign_option.kernel_subkey,
+                       body_sig,
+                       signkey,
+                       sign_option.flags);
+       if (!preamble) {
+               fprintf(stderr, "Error creating firmware preamble.\n");
+               free(body_sig);
+               return 1;
+       }
+
+       /* Write the new keyblock */
+       uint32_t more = keyblock->keyblock_size;
+       memcpy(vblock->buf, keyblock, more);
+       /* and the new preamble */
+       memcpy(vblock->buf + more, preamble, preamble->preamble_size);
+
+       free(preamble);
+       free(body_sig);
+
+       return 0;
+}
+
+static int write_loem(const char *ab, struct bios_area_s *vblock)
+{
+       char filename[PATH_MAX];
+       int n;
+       n = snprintf(filename, sizeof(filename), "%s/vblock_%s.%s",
+                    sign_option.loemdir ? sign_option.loemdir : ".",
+                    ab, sign_option.loemid);
+       if (n >= sizeof(filename)) {
+               fprintf(stderr, "LOEM args produce bogus filename\n");
+               return 1;
+       }
+
+       FILE *fp = fopen(filename, "w");
+       if (!fp) {
+               fprintf(stderr, "Can't open %s for writing: %s\n",
+                       filename, strerror(errno));
+               return 1;
+       }
+
+       if (1 != fwrite(vblock->buf, vblock->len, 1, fp)) {
+               fprintf(stderr, "Can't write to %s: %s\n",
+                       filename, strerror(errno));
+               fclose(fp);
+               return 1;
+       }
+       if (fclose(fp)) {
+               fprintf(stderr, "Failed closing loem output: %s\n",
+                       strerror(errno));
+               return 1;
+       }
+
+       return 0;
+}
+
+/* This signs a full BIOS image after it's been traversed. */
+static int sign_bios_at_end(struct bios_state_s *state)
+{
+       struct bios_area_s *vblock_a = &state->area[BIOS_FMAP_VBLOCK_A];
+       struct bios_area_s *vblock_b = &state->area[BIOS_FMAP_VBLOCK_B];
+       struct bios_area_s *fw_a = &state->area[BIOS_FMAP_FW_MAIN_A];
+       struct bios_area_s *fw_b = &state->area[BIOS_FMAP_FW_MAIN_B];
+       int retval = 0;
+
+       if (!vblock_a->is_valid || !vblock_b->is_valid ||
+           !fw_a->is_valid || !fw_b->is_valid) {
+               fprintf(stderr, "Something's wrong. Not changing anything\n");
+               return 1;
+       }
+
+       /* Do A & B differ ? */
+       if (fw_a->len != fw_b->len ||
+           memcmp(fw_a->buf, fw_b->buf, fw_a->len)) {
+               /* Yes, must use DEV keys for A */
+               if (!sign_option.devsignprivate || !sign_option.devkeyblock) {
+                       fprintf(stderr,
+                               "FW A & B differ. DEV keys are required.\n");
+                       return 1;
+               }
+               retval |= write_new_preamble(vblock_a, fw_a,
+                                            sign_option.devsignprivate,
+                                            sign_option.devkeyblock);
+       } else {
+               retval |= write_new_preamble(vblock_a, fw_a,
+                                            sign_option.signprivate,
+                                            sign_option.keyblock);
+       }
+
+       /* FW B is always normal keys */
+       retval |= write_new_preamble(vblock_b, fw_b,
+                                    sign_option.signprivate,
+                                    sign_option.keyblock);
+
+
+
+
+       if (sign_option.loemid) {
+               retval |= write_loem("A", vblock_a);
+               retval |= write_loem("B", vblock_b);
+       }
+
+       return retval;
+}
+
+/* Functions to call while preparing to sign the bios */
+static int (*fmap_sign_fn[])(const char *name, uint8_t *buf, uint32_t len,
+                            void *data) = {
+       0,
+       fmap_sign_fw_main,
+       fmap_sign_fw_main,
+       fmap_sign_fw_preamble,
+       fmap_sign_fw_preamble,
+};
+_Static_assert(ARRAY_SIZE(fmap_sign_fn) == NUM_BIOS_COMPONENTS,
+              "Size of fmap_sign_fn[] should match NUM_BIOS_COMPONENTS");
+
+int ft_sign_bios(const char *name, uint8_t *buf, uint32_t len, void *data)
+{
+       FmapHeader *fmap;
+       FmapAreaHeader *ah = 0;
+       char ah_name[FMAP_NAMELEN + 1];
+       enum bios_component c;
+       int retval = 0;
+       struct bios_state_s state;
+
+       memset(&state, 0, sizeof(state));
+
+       /* We've already checked, so we know this will work. */
+       fmap = fmap_find(buf, len);
+       for (c = 0; c < NUM_BIOS_COMPONENTS; c++) {
+               /* We know one of these will work, too */
+               if (fmap_find_by_name(buf, len, fmap, fmap_name[c], &ah) ||
+                   fmap_find_by_name(buf, len, fmap, fmap_oldname[c], &ah)) {
+                       /* But the file might be truncated */
+                       fmap_limit_area(ah, len);
+                       /* The name is not necessarily null-terminated */
+                       snprintf(ah_name, sizeof(ah_name), "%s", ah->area_name);
+
+                       /* Update the state we're passing around */
+                       state.c = c;
+                       state.area[c].buf = buf + ah->area_offset;
+                       state.area[c].len = ah->area_size;
+
+                       VB2_DEBUG("examining FMAP area %d (%s),"
+                                 " offset=0x%08x len=0x%08x\n",
+                                 c, ah_name, ah->area_offset, ah->area_size);
+
+                       /* Go look at it, but abort on error */
+                       if (fmap_sign_fn[c])
+                               retval += fmap_sign_fn[c](ah_name,
+                                                         state.area[c].buf,
+                                                         state.area[c].len,
+                                                         &state);
+               }
+       }
+
+       retval += sign_bios_at_end(&state);
+
+       return retval;
+}
+
+enum futil_file_type ft_recognize_bios_image(uint8_t *buf, uint32_t len)
+{
+       FmapHeader *fmap;
+       enum bios_component c;
+
+       fmap = fmap_find(buf, len);
+       if (!fmap)
+               return FILE_TYPE_UNKNOWN;
+
+       for (c = 0; c < NUM_BIOS_COMPONENTS; c++)
+               if (!fmap_find_by_name(buf, len, fmap, fmap_name[c], 0))
+                       break;
+       if (c == NUM_BIOS_COMPONENTS)
+               return FILE_TYPE_BIOS_IMAGE;
+
+       for (c = 0; c < NUM_BIOS_COMPONENTS; c++)
+               if (!fmap_find_by_name(buf, len, fmap, fmap_oldname[c], 0))
+                       break;
+       if (c == NUM_BIOS_COMPONENTS)
+               return FILE_TYPE_OLD_BIOS_IMAGE;
+
+       return FILE_TYPE_UNKNOWN;
+}
diff --git a/futility/file_type_bios.h b/futility/file_type_bios.h
new file mode 100644 (file)
index 0000000..ef40107
--- /dev/null
@@ -0,0 +1,43 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_FILE_TYPE_BIOS_H_
+#define VBOOT_REFERENCE_FILE_TYPE_BIOS_H_
+
+#include <stdint.h>
+
+/*
+ * The Chrome OS BIOS must contain specific FMAP areas, which we want to look
+ * at in a certain order.
+ */
+enum bios_component {
+       BIOS_FMAP_GBB,
+       BIOS_FMAP_FW_MAIN_A,
+       BIOS_FMAP_FW_MAIN_B,
+       BIOS_FMAP_VBLOCK_A,
+       BIOS_FMAP_VBLOCK_B,
+
+       NUM_BIOS_COMPONENTS
+};
+
+/* Location information for each component */
+struct bios_area_s {
+       uint32_t offset;                        /* to avoid pointer math */
+       uint8_t *buf;
+       uint32_t len;
+       uint32_t is_valid;
+};
+
+/* State to track as we visit all components */
+struct bios_state_s {
+       /* Current component */
+       enum bios_component c;
+       /* Other activites, possibly before or after the current one */
+       struct bios_area_s area[NUM_BIOS_COMPONENTS];
+       struct bios_area_s recovery_key;
+       struct bios_area_s rootkey;
+};
+
+#endif  /* VBOOT_REFERENCE_FILE_TYPE_BIOS_H_ */
diff --git a/futility/file_type_rwsig.c b/futility/file_type_rwsig.c
new file mode 100644 (file)
index 0000000..a09782c
--- /dev/null
@@ -0,0 +1,442 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Some instances of the Chrome OS embedded controller firmware can't do a
+ * normal software sync handshake at boot, but will verify their own RW images
+ * instead. This is typically done by putting a struct vb2_packed_key in the RO
+ * image and a corresponding struct vb21_signature in the RW image.
+ *
+ * This file provides the basic implementation for that approach.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "file_type.h"
+#include "fmap.h"
+#include "futility.h"
+#include "futility_options.h"
+#include "host_common.h"
+#include "host_common21.h"
+#include "host_key21.h"
+#include "host_misc.h"
+#include "host_signature21.h"
+#include "util_misc.h"
+
+#define SIGNATURE_RSVD_SIZE 1024
+#define EC_RW_FILENAME "EC_RW.bin"
+
+static inline void vb2_print_bytes(const void *ptr, uint32_t len)
+{
+       const uint8_t *buf = (const uint8_t *)ptr;
+       int i;
+       for (i = 0; i < len; i++)
+               printf("%02x", *buf++);
+}
+
+static void show_sig(const char *name, const struct vb21_signature *sig)
+{
+       printf("Signature:             %s\n", name);
+       printf("  Vboot API:           2.1\n");
+       printf("  Desc:                \"%s\"\n", vb21_common_desc(sig));
+       printf("  Signature Algorithm: %d %s\n", sig->sig_alg,
+              vb2_get_sig_algorithm_name(sig->sig_alg));
+       printf("  Hash Algorithm:      %d %s\n", sig->hash_alg,
+              vb2_get_hash_algorithm_name(sig->hash_alg));
+       printf("  Total size:          %#x (%d)\n", sig->c.total_size,
+              sig->c.total_size);
+       printf("  ID:                  ");
+       vb2_print_bytes(&sig->id, sizeof(sig->id));
+       printf("\n");
+       printf("  Data size:           %#x (%d)\n", sig->data_size,
+              sig->data_size);
+}
+
+int ft_show_rwsig(const char *name, uint8_t *buf, uint32_t len, void *nuthin)
+{
+       const struct vb21_signature *sig = 0;
+       const struct vb21_packed_key *pkey = show_option.pkey;
+       struct vb2_public_key key;
+       uint8_t workbuf[VB2_VERIFY_DATA_WORKBUF_BYTES]
+                __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+       uint32_t data_size, sig_size = SIGNATURE_RSVD_SIZE;
+       uint32_t total_data_size = 0;
+       uint8_t *data;
+       FmapHeader *fmap;
+       int i;
+
+       VB2_DEBUG("name %s len 0x%08x (%d)\n", name, len, len);
+
+       /* Am I just looking at a signature file? */
+       VB2_DEBUG("Looking for signature at 0x0\n");
+       sig = (const struct vb21_signature *)buf;
+       if (VB2_SUCCESS == vb21_verify_signature(sig, len)) {
+               show_sig(name, sig);
+               if (!show_option.fv) {
+                       printf("No data available to verify\n");
+                       return show_option.strict;
+               }
+               data = show_option.fv;
+               data_size = show_option.fv_size;
+               total_data_size = show_option.fv_size;
+       } else if ((fmap = fmap_find(buf, len))) {
+               /* This looks like a full image. */
+               FmapAreaHeader *fmaparea;
+
+               VB2_DEBUG("Found an FMAP!\n");
+
+               /* If no public key is provided, use the one packed in RO
+                * image, and print that. */
+               if (!pkey) {
+                       pkey = (const struct vb21_packed_key *)
+                               fmap_find_by_name(buf, len, fmap, "KEY_RO", 0);
+
+                       if (pkey)
+                               ft_show_vb21_pubkey(name, (uint8_t *)pkey,
+                                               pkey->c.total_size, NULL);
+               }
+
+               sig = (const struct vb21_signature *)
+                       fmap_find_by_name(buf, len, fmap, "SIG_RW", &fmaparea);
+               if (!sig) {
+                       VB2_DEBUG("No SIG_RW in FMAP.\n");
+                       return 1;
+               }
+
+               sig_size = fmaparea->area_size;
+
+               VB2_DEBUG("Looking for signature at %#tx (%#x)\n",
+                         (uint8_t*)sig - buf, sig_size);
+
+               if (VB2_SUCCESS != vb21_verify_signature(sig, sig_size))
+                       return 1;
+
+               show_sig(name, sig);
+               data = fmap_find_by_name(buf, len, fmap, "EC_RW", &fmaparea);
+               data_size = sig->data_size;
+               /*
+                * TODO(crosbug.com/p/62231): EC_RW region should not include
+                * the signature.
+                */
+               total_data_size = fmaparea->area_size-sig_size;
+
+               if (!data) {
+                       VB2_DEBUG("No EC_RW in FMAP.\n");
+                       return 1;
+               }
+       } else {
+               /* Or maybe this is just the RW portion, that does not
+                * contain a FMAP. */
+               if (show_option.sig_size)
+                       sig_size = show_option.sig_size;
+
+               VB2_DEBUG("Looking for signature at %#x\n", len - sig_size);
+
+               if (len < sig_size) {
+                       VB2_DEBUG("File is too small\n");
+                       return 1;
+               }
+
+               sig = (const struct vb21_signature *)(buf + len - sig_size);
+               if (VB2_SUCCESS == vb21_verify_signature(sig, sig_size)) {
+                       show_sig(name, sig);
+                       data = buf;
+                       data_size = sig->data_size;
+                       total_data_size = len - sig_size;
+               } else {
+                       return 1;
+               }
+       }
+
+       if (!pkey) {
+               printf("No public key available to verify with\n");
+               return show_option.strict;
+       }
+
+       /* We already did this once, so it should work again */
+       if (vb21_unpack_key(&key,
+                           (const uint8_t *)pkey,
+                           pkey->c.total_size)) {
+               VB2_DEBUG("Can't unpack pubkey\n");
+               return 1;
+       }
+
+       if (data_size > total_data_size) {
+               VB2_DEBUG("Invalid signature data_size: bigger than total area size.\n");
+               return 1;
+       }
+
+       /* The sig is destroyed by the verify operation, so make a copy */
+       {
+               uint8_t sigbuf[sig->c.total_size];
+               memcpy(sigbuf, sig, sizeof(sigbuf));
+
+               vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+               if (vb21_verify_data(data, data_size,
+                                    (struct vb21_signature *)sigbuf,
+                                    (const struct vb2_public_key *)&key,
+                                    &wb)) {
+                       fprintf(stderr, "Signature verification failed\n");
+                       return 1;
+               }
+       }
+
+       /* Check that the rest of region is padded with 0xff. */
+       for (i = data_size; i < total_data_size; i++) {
+               if (data[i] != 0xff) {
+                       fprintf(stderr, "Padding verification failed\n");
+                       return 1;
+               }
+       }
+
+       printf("Signature verification succeeded.\n");
+       return 0;
+}
+
+int ft_sign_rwsig(const char *name, uint8_t *buf, uint32_t len, void *nuthin)
+{
+       struct vb21_signature *tmp_sig = 0;
+       struct vb2_public_key *pubkey = 0;
+       struct vb21_packed_key *packedkey = 0;
+       uint8_t *keyb_data = 0;
+       uint32_t keyb_size;
+       uint8_t* data = buf; /* data to be signed */
+       uint32_t r, data_size = len, sig_size = SIGNATURE_RSVD_SIZE;
+       int retval = 1;
+       FmapHeader *fmap = NULL;
+       FmapAreaHeader *fmaparea;
+       struct vb21_signature *old_sig = 0;
+
+       VB2_DEBUG("name %s len  0x%08x (%d)\n", name, len, len);
+
+       /* If we don't have a distinct OUTFILE, look for an existing sig */
+       if (sign_option.inout_file_count < 2) {
+               fmap = fmap_find(buf, len);
+
+               if (fmap) {
+                       /* This looks like a full image. */
+                       VB2_DEBUG("Found an FMAP!\n");
+
+                       old_sig = (struct vb21_signature *)
+                               fmap_find_by_name(buf, len, fmap, "SIG_RW",
+                                                 &fmaparea);
+                       if (!old_sig) {
+                               VB2_DEBUG("No SIG_RW in FMAP.\n");
+                               goto done;
+                       }
+
+                       sig_size = fmaparea->area_size;
+
+                       VB2_DEBUG("Looking for signature at %#tx (%#x)\n",
+                                 (uint8_t*)old_sig - buf, sig_size);
+
+                       data = fmap_find_by_name(buf, len, fmap, "EC_RW",
+                                                &fmaparea);
+                       if (!data) {
+                               VB2_DEBUG("No EC_RW in FMAP.\n");
+                               goto done;
+                       }
+               } else {
+                       /* Or maybe this is just the RW portion, that does not
+                        * contain a FMAP. */
+                       if (sign_option.sig_size)
+                               sig_size = sign_option.sig_size;
+
+                       VB2_DEBUG("Looking for old signature at %#x\n",
+                                 len - sig_size);
+
+                       if (len < sig_size) {
+                               fprintf(stderr, "File is too small\n");
+                               goto done;
+                       }
+
+                       /* Take a look */
+                       old_sig = (struct vb21_signature *)
+                               (buf + len - sig_size);
+               }
+
+               if (vb21_verify_signature(old_sig, sig_size)) {
+                       fprintf(stderr, "Can't find a valid signature\n");
+                       goto done;
+               }
+
+               /* Use the same extent again */
+               data_size = old_sig->data_size;
+
+               VB2_DEBUG("Found sig: data_size is %#x (%d)\n", data_size,
+                         data_size);
+       }
+
+       /* Unless overridden */
+       if (sign_option.data_size)
+               data_size = sign_option.data_size;
+
+       /* Sign the blob */
+       if (sign_option.prikey) {
+               r = vb21_sign_data(&tmp_sig,
+                                  data, data_size, sign_option.prikey, 0);
+               if (r) {
+                       fprintf(stderr,
+                               "Unable to sign data (error 0x%08x)\n", r);
+                       goto done;
+               }
+       } else {
+               VB2_DEBUG("Private key not provided. Copying previous signature\n");
+               if (!old_sig) {
+                       /* This isn't necessary because no prikey mode runs only
+                        * for fmap input or RW input */
+                       fprintf(stderr, "Previous signature not found.\n");
+                       goto done;
+               }
+               tmp_sig = calloc(1, old_sig->c.total_size);
+               if (!tmp_sig)
+                       goto done;
+               memcpy(tmp_sig, old_sig, old_sig->c.total_size);
+       }
+
+       if (sign_option.inout_file_count < 2) {
+               /* Overwrite the old signature */
+               if (tmp_sig->c.total_size > sig_size) {
+                       fprintf(stderr, "New sig is too large (%d > %d)\n",
+                               tmp_sig->c.total_size, sig_size);
+                       goto done;
+               }
+               VB2_DEBUG("Replacing old signature with new one\n");
+               memset(old_sig, 0xff, sig_size);
+               memcpy(old_sig, tmp_sig, tmp_sig->c.total_size);
+               if (fmap) {
+                       VB2_DEBUG("Writing %s (size=%d)\n",
+                                 EC_RW_FILENAME, fmaparea->area_size);
+                       if (vb2_write_file(EC_RW_FILENAME,
+                                          data, fmaparea->area_size))
+                               goto done;
+               }
+       } else {
+               /* Write the signature to a new file */
+               r = vb21_write_object(sign_option.outfile, tmp_sig);
+               if (r) {
+                       fprintf(stderr, "Unable to write sig"
+                               " (error 0x%08x, if that helps)\n", r);
+                       goto done;
+               }
+       }
+
+       /* For full images, let's replace the public key in RO. If prikey is
+        * not provided, skip it. */
+       if (fmap && sign_option.prikey) {
+               uint8_t *new_pubkey;
+               uint8_t *pubkey_buf = 0;
+
+               /* Create the public key */
+               if (vb2_public_key_alloc(&pubkey,
+                                               sign_option.prikey->sig_alg)) {
+                       fprintf(stderr, "Unable to allocate the public key\n");
+                       goto done;
+               }
+
+               /* Extract the keyb blob */
+               if (vb_keyb_from_rsa(sign_option.prikey->rsa_private_key,
+                                       &keyb_data, &keyb_size)) {
+                       fprintf(stderr, "Couldn't extract the public key\n");
+                       goto done;
+               }
+
+               /*
+                * Copy the keyb blob to the public key's buffer, because that's
+                * where vb2_unpack_key_data() and vb2_public_key_pack() expect
+                * to find it.
+                */
+               pubkey_buf = vb2_public_key_packed_data(pubkey);
+               memcpy(pubkey_buf, keyb_data, keyb_size);
+
+               /* Fill in the internal struct pointers */
+               if (vb2_unpack_key_data(pubkey, pubkey_buf, keyb_size)) {
+                       fprintf(stderr, "Unable to unpack the public key blob\n");
+                       goto done;
+               }
+
+               pubkey->hash_alg = sign_option.prikey->hash_alg;
+               pubkey->version = sign_option.version_specified ?
+                       sign_option.version : 1;
+               vb2_public_key_set_desc(pubkey, sign_option.prikey->desc);
+
+               memcpy((struct vb2_id *)pubkey->id, &sign_option.prikey->id,
+                       sizeof(*(pubkey->id)));
+
+               if (vb21_public_key_pack(&packedkey, pubkey)) {
+                       goto done;
+               }
+
+               new_pubkey = fmap_find_by_name(buf, len, fmap, "KEY_RO",
+                                       &fmaparea);
+               if (!new_pubkey) {
+                       VB2_DEBUG("No KEY_RO in FMAP.\n");
+                       goto done;
+               }
+               /* Overwrite the old signature */
+               if (packedkey->c.total_size > fmaparea->area_size) {
+                       fprintf(stderr, "New sig is too large (%d > %d)\n",
+                               packedkey->c.total_size, sig_size);
+                       goto done;
+               }
+
+               memset(new_pubkey, 0xff, fmaparea->area_size);
+               memcpy(new_pubkey, packedkey, packedkey->c.total_size);
+       }
+
+       /* Finally */
+       retval = 0;
+done:
+       if (tmp_sig)
+               free(tmp_sig);
+       if (pubkey)
+               vb2_public_key_free(pubkey);
+       if (packedkey)
+               free(packedkey);
+       if (keyb_data)
+               free(keyb_data);
+
+       return retval;
+}
+
+enum futil_file_type ft_recognize_rwsig(uint8_t *buf, uint32_t len)
+{
+       FmapHeader *fmap;
+       const struct vb21_signature *sig = NULL;
+       uint32_t sig_size;
+
+       if (!vb21_verify_signature((const struct vb21_signature *)buf, len))
+               return FILE_TYPE_RWSIG;
+
+       fmap = fmap_find(buf, len);
+       if (fmap) {
+               /* This looks like a full image. */
+               FmapAreaHeader *fmaparea;
+
+               sig = (const struct vb21_signature *)
+                       fmap_find_by_name(buf, len, fmap, "SIG_RW", &fmaparea);
+
+               if (!sig)
+                       return FILE_TYPE_UNKNOWN;
+
+               sig_size = fmaparea->area_size;
+       } else {
+               /* RW-only image */
+               sig = (const struct vb21_signature *)
+                       (buf + len - SIGNATURE_RSVD_SIZE);
+               sig_size = SIGNATURE_RSVD_SIZE;
+       }
+
+       if (len >= sig_size && !vb21_verify_signature(sig, sig_size))
+               return FILE_TYPE_RWSIG;
+
+       return FILE_TYPE_UNKNOWN;
+}
diff --git a/futility/file_type_usbpd1.c b/futility/file_type_usbpd1.c
new file mode 100644 (file)
index 0000000..9379188
--- /dev/null
@@ -0,0 +1,483 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * The USB Type-C chargers released with Samus ("Pixel (2015)") have upgradable
+ * firmware. Due to space considerations, we don't have room for handy things
+ * like an FMAP or headers for the signatures. Accordingly, all the normally
+ * variable factors (image size, signature algorithms, etc.) are hard coded
+ * and the image itself just looks like a bunch of random numbers.
+ *
+ * This file handles those images, but PLEASE don't use it as a template for
+ * new devices. Look at file_type_rwsig.c instead.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "file_type.h"
+#include "futility.h"
+#include "futility_options.h"
+#include "host_common.h"
+#include "host_common21.h"
+#include "host_key21.h"
+#include "host_signature21.h"
+#include "util_misc.h"
+
+/* Return 1 if okay, 0 if not */
+static int parse_size_opts(uint32_t len,
+                          uint32_t *ro_size_ptr, uint32_t *rw_size_ptr,
+                          uint32_t *ro_offset_ptr, uint32_t * rw_offset_ptr)
+{
+       uint32_t ro_size, rw_size, ro_offset, rw_offset;
+
+       /* Assume the image has both RO and RW, evenly split. */
+       ro_offset = 0;
+       ro_size = rw_size = rw_offset = len / 2;
+
+       /* Unless told otherwise... */
+       if (sign_option.ro_size != 0xffffffff)
+               ro_size = sign_option.ro_size;
+       if (sign_option.ro_offset != 0xffffffff)
+               ro_offset = sign_option.ro_offset;
+
+       /* If RO is missing, the whole thing must be RW */
+       if (!ro_size) {
+               rw_size = len;
+               rw_offset = 0;
+       }
+
+       /* Unless that's overridden too */
+       if (sign_option.rw_size != 0xffffffff)
+               rw_size = sign_option.rw_size;
+       if (sign_option.rw_offset != 0xffffffff)
+               rw_offset = sign_option.rw_offset;
+
+       VB2_DEBUG("ro_size     0x%08x\n", ro_size);
+       VB2_DEBUG("ro_offset   0x%08x\n", ro_offset);
+       VB2_DEBUG("rw_size     0x%08x\n", rw_size);
+       VB2_DEBUG("rw_offset   0x%08x\n", rw_offset);
+
+       /* Now let's do some validity checks. */
+       if (ro_size > len || ro_offset > len - ro_size ||
+           rw_size > len || rw_offset > len - rw_size) {
+               printf("size/offset values are bogus\n");
+               return 0;
+       }
+
+       *ro_size_ptr = ro_size;
+       *rw_size_ptr = rw_size;
+       *ro_offset_ptr = ro_offset;
+       *rw_offset_ptr = rw_offset;
+
+       return 1;
+}
+
+int ft_sign_usbpd1(const char *name, uint8_t *buf, uint32_t len, void *data)
+{
+       struct vb2_private_key *key_ptr = 0;
+       struct vb21_signature *sig_ptr = 0;
+       uint8_t *keyb_data = 0;
+       uint32_t keyb_size;
+       int retval = 1;
+       uint32_t sig_size;
+       uint32_t sig_offset;
+       uint32_t pub_size;
+       uint32_t pub_offset;
+       uint32_t ro_size;
+       uint32_t rw_size;
+       uint32_t ro_offset;
+       uint32_t rw_offset;
+       uint32_t r;
+
+       VB2_DEBUG("name %s len  %#.8x (%d)\n", name, len, len);
+
+       /* Get image locations */
+       if (!parse_size_opts(len, &ro_size, &rw_size, &ro_offset, &rw_offset))
+               goto done;
+
+       /* Read the signing keypair file */
+       if (vb2_private_key_read_pem(&key_ptr, sign_option.pem_signpriv)) {
+               fprintf(stderr, "Unable to read keypair from %s\n",
+                       sign_option.pem_signpriv);
+               goto done;
+       }
+
+       /* Set the algs */
+       key_ptr->hash_alg = sign_option.hash_alg;
+       key_ptr->sig_alg = vb2_rsa_sig_alg(key_ptr->rsa_private_key);
+       if (key_ptr->sig_alg == VB2_SIG_INVALID) {
+               fprintf(stderr, "Unsupported sig algorithm in RSA key\n");
+               goto done;
+       }
+
+       /* Figure out what needs signing */
+       sig_size = vb2_rsa_sig_size(key_ptr->sig_alg);
+       if (rw_size < sig_size) {
+               fprintf(stderr,
+                       "The RW image is too small to hold the signature"
+                       " (0x%08x < %08x)\n", rw_size, sig_size);
+               goto done;
+       }
+       rw_size -= sig_size;
+       sig_offset = rw_offset + rw_size;
+
+       VB2_DEBUG("rw_size   => 0x%08x\n", rw_size);
+       VB2_DEBUG("rw_offset => 0x%08x\n", rw_offset);
+       VB2_DEBUG("sig_size     0x%08x\n", sig_size);
+       VB2_DEBUG("sig_offset   0x%08x\n", sig_offset);
+
+       /* Sign the blob */
+       r = vb21_sign_data(&sig_ptr, buf + rw_offset, rw_size, key_ptr, "Bah");
+       if (r) {
+               fprintf(stderr,
+                       "Unable to sign data (error 0x%08x, if that helps)\n",
+                       r);
+               goto done;
+       }
+
+       /* Double-check the size */
+       if (sig_ptr->sig_size != sig_size) {
+               fprintf(stderr,
+                       "ERROR: sig size is %d bytes, not %d as expected.\n",
+                       sig_ptr->sig_size, sig_size);
+               goto done;
+       }
+
+       /* Okay, looking good. Update the signature. */
+       memcpy(buf + sig_offset,
+              (uint8_t *)sig_ptr + sig_ptr->sig_offset,
+              sig_ptr->sig_size);
+
+
+       /* If there's no RO section, we're done. */
+       if (!ro_size) {
+               retval = 0;
+               goto done;
+       }
+
+       /* Otherwise, now update the public key */
+       if (vb_keyb_from_rsa(key_ptr->rsa_private_key,
+                            &keyb_data, &keyb_size)) {
+               fprintf(stderr, "Couldn't extract the public key\n");
+               goto done;
+       }
+       VB2_DEBUG("keyb_size is %#x (%d):\n", keyb_size, keyb_size);
+
+       /*
+        * Of course the packed public key format is different. Why would you
+        * think otherwise? Since the dawn of time, vboot has used this:
+        *
+        *   uint32_t  nwords        size of RSA key in 32-bit words
+        *   uint32_t  n0inv         magic RSA n0inv
+        *   uint32_t  n[nwords]     magic RSA modulus little endian array
+        *   uint32_t  rr[nwords]    magic RSA R^2 little endian array
+        *
+        * But for no discernable reason, the usbpd1 format uses this:
+        *
+        *   uint32_t  n[nwords]     magic RSA modulus little endian array
+        *   uint32_t  rr[nwords]    magic RSA R^2 little endian array
+        *   uint32_t  n0inv         magic RSA n0inv
+        *
+        * There's no nwords field, and n0inv is last insted of first. Sigh.
+        */
+       pub_size = keyb_size - 4;
+
+       /* align pubkey size to 16-byte boundary */
+       uint32_t pub_pad = pub_size;
+       pub_size = (pub_size + 16) / 16 * 16;
+       pub_pad = pub_size - pub_pad;
+
+       pub_offset = ro_offset + ro_size - pub_size;
+
+       if (ro_size < pub_size) {
+               fprintf(stderr,
+                       "The RO image is too small to hold the public key"
+                       " (0x%08x < %08x)\n", ro_size, pub_size);
+               goto done;
+       }
+
+       /* How many bytes in the arrays? */
+       uint32_t nbytes = 4 * (*(uint32_t *)keyb_data);
+       /* Source offsets from keyb_data */
+       uint32_t src_ofs_n0inv = 4;
+       uint32_t src_ofs_n = src_ofs_n0inv + 4;
+       uint32_t src_ofs_rr = src_ofs_n + nbytes;
+       /* Dest offsets from buf */
+       uint32_t dst_ofs_n = pub_offset + 0;
+       uint32_t dst_ofs_rr = dst_ofs_n + nbytes;
+       uint32_t dst_ofs_n0inv = dst_ofs_rr + nbytes;
+
+       VB2_DEBUG("len 0x%08x ro_size 0x%08x ro_offset 0x%08x\n",
+                 len, ro_size, ro_offset);
+       VB2_DEBUG("pub_size 0x%08x pub_offset 0x%08x nbytes 0x%08x\n",
+                 pub_size, pub_offset, nbytes);
+       VB2_DEBUG("pub_pad 0x%08x\n", pub_pad);
+
+       /* Copy n[nwords] */
+       memcpy(buf + dst_ofs_n,
+              keyb_data + src_ofs_n,
+              nbytes);
+       /* Copy rr[nwords] */
+       memcpy(buf + dst_ofs_rr,
+              keyb_data + src_ofs_rr,
+              nbytes);
+       /* Copy n0inv */
+       memcpy(buf + dst_ofs_n0inv,
+              keyb_data + src_ofs_n0inv,
+              4);
+       /* Pad with 0xff */
+       memset(buf + dst_ofs_n0inv + 4, 0xff, pub_pad);
+
+       /* Finally */
+       retval = 0;
+done:
+       if (key_ptr)
+               vb2_private_key_free(key_ptr);
+       if (keyb_data)
+               free(keyb_data);
+
+       return retval;
+}
+
+
+/*
+ * Algorithms that we want to try, in order. We've only ever shipped with
+ * RSA2048 / SHA256, but the others should work in tests.
+ */
+static enum vb2_signature_algorithm sigs[] = {
+       VB2_SIG_RSA2048,
+       VB2_SIG_RSA2048_EXP3,
+       VB2_SIG_RSA1024,
+       VB2_SIG_RSA4096,
+       VB2_SIG_RSA8192,
+};
+static enum vb2_hash_algorithm hashes[] = {
+       VB2_HASH_SHA256,
+       VB2_HASH_SHA1,
+       VB2_HASH_SHA512,
+};
+
+/*
+ * The size of the public key structure used by usbpd1 is
+ * 2 x RSANUMBYTES for n and rr fields
+ * plus 4 for n0inv, aligned on a multiple of 16
+ */
+static uint32_t usbpd1_packed_key_size(enum vb2_signature_algorithm sig_alg)
+{
+       switch (sig_alg) {
+       case VB2_SIG_RSA1024:
+               return 272;
+       case VB2_SIG_RSA2048:
+       case VB2_SIG_RSA2048_EXP3:
+               return 528;
+       case VB2_SIG_RSA4096:
+               return 1040;
+       case VB2_SIG_RSA8192:
+               return 2064;
+       default:
+               return 0;
+       }
+}
+static void vb2_pubkey_from_usbpd1(struct vb2_public_key *key,
+                                  enum vb2_signature_algorithm sig_alg,
+                                  enum vb2_hash_algorithm hash_alg,
+                                  const uint8_t *o_pubkey,
+                                  uint32_t o_pubkey_size)
+{
+       key->arrsize = vb2_rsa_sig_size(sig_alg) / sizeof(uint32_t);
+       key->n0inv = *((uint32_t *)o_pubkey + 2 * key->arrsize);
+       key->n = (uint32_t *)o_pubkey;
+       key->rr = (uint32_t *)o_pubkey + key->arrsize;
+       key->sig_alg = sig_alg;
+       key->hash_alg = hash_alg;
+       key->desc = 0;
+       key->version = 0;
+       key->id = vb2_hash_id(hash_alg);
+}
+
+static vb2_error_t vb21_sig_from_usbpd1(struct vb21_signature **sig,
+                                       enum vb2_signature_algorithm sig_alg,
+                                       enum vb2_hash_algorithm hash_alg,
+                                       const uint8_t *o_sig,
+                                       uint32_t o_sig_size, uint32_t data_size)
+{
+       struct vb21_signature s = {
+               .c.magic = VB21_MAGIC_SIGNATURE,
+               .c.struct_version_major = VB21_SIGNATURE_VERSION_MAJOR,
+               .c.struct_version_minor = VB21_SIGNATURE_VERSION_MINOR,
+               .c.fixed_size = sizeof(s),
+               .sig_alg = sig_alg,
+               .hash_alg = hash_alg,
+               .data_size = data_size,
+               .sig_size = vb2_rsa_sig_size(sig_alg),
+               .sig_offset = sizeof(s),
+       };
+       uint32_t total_size = sizeof(s) + o_sig_size;
+       uint8_t *buf = calloc(1, total_size);
+       if (!buf)
+               return VB2_ERROR_UNKNOWN;
+
+       memcpy(buf, &s, sizeof(s));
+       memcpy(buf + sizeof(s), o_sig, o_sig_size);
+
+       *sig = (struct vb21_signature *)buf;
+       return VB2_SUCCESS;
+}
+
+static void show_usbpd1_stuff(const char *name,
+                             enum vb2_signature_algorithm sig_alg,
+                             enum vb2_hash_algorithm hash_alg,
+                             const uint8_t *o_pubkey, uint32_t o_pubkey_size)
+{
+       struct vb2_public_key key;
+       struct vb21_packed_key *pkey;
+       uint8_t sha1sum[VB2_SHA1_DIGEST_SIZE];
+       int i;
+
+       vb2_pubkey_from_usbpd1(&key, sig_alg, hash_alg,
+                              o_pubkey, o_pubkey_size);
+
+       if (vb21_public_key_pack(&pkey, &key))
+               return;
+
+       vb2_digest_buffer((uint8_t *)pkey + pkey->key_offset, pkey->key_size,
+                         VB2_HASH_SHA1, sha1sum, sizeof(sha1sum));
+
+       printf("USB-PD v1 image:       %s\n", name);
+       printf("  Algorithm:           %s %s\n",
+              vb2_get_sig_algorithm_name(sig_alg),
+              vb2_get_hash_algorithm_name(hash_alg));
+       printf("  Key sha1sum:         ");
+       for (i = 0; i < VB2_SHA1_DIGEST_SIZE; i++)
+               printf("%02x", sha1sum[i]);
+       printf("\n");
+
+       free(pkey);
+}
+
+
+/* Returns VB2_SUCCESS or random error code */
+static vb2_error_t try_our_own(enum vb2_signature_algorithm sig_alg,
+                              enum vb2_hash_algorithm hash_alg,
+                              const uint8_t *o_pubkey, uint32_t o_pubkey_size,
+                              const uint8_t *o_sig, uint32_t o_sig_size,
+                              const uint8_t *data, uint32_t data_size)
+{
+       struct vb2_public_key pubkey;
+       struct vb21_signature *sig;
+       uint8_t buf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+               __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb = {
+               .buf = buf,
+               .size = sizeof(buf),
+       };
+       vb2_error_t rv = VB2_ERROR_UNKNOWN;
+
+       vb2_pubkey_from_usbpd1(&pubkey, sig_alg, hash_alg,
+                              o_pubkey, o_pubkey_size);
+
+       if ((rv = vb21_sig_from_usbpd1(&sig, sig_alg, hash_alg,
+                                      o_sig, o_sig_size, data_size)))
+           return rv;
+
+       rv = vb21_verify_data(data, data_size, sig, &pubkey, &wb);
+
+       free(sig);
+
+       return rv;
+}
+
+/* Returns VB2_SUCCESS if the image validates itself */
+static vb2_error_t check_self_consistency(const uint8_t *buf, const char *name,
+                                         uint32_t ro_size, uint32_t rw_size,
+                                         uint32_t ro_offset,
+                                         uint32_t rw_offset,
+                                         enum vb2_signature_algorithm sig_alg,
+                                         enum vb2_hash_algorithm hash_alg)
+{
+       /* Where are the important bits? */
+       uint32_t sig_size = vb2_rsa_sig_size(sig_alg);
+       uint32_t sig_offset = rw_offset + rw_size - sig_size;
+       uint32_t pubkey_size = usbpd1_packed_key_size(sig_alg);
+       uint32_t pubkey_offset = ro_offset + ro_size - pubkey_size;
+       vb2_error_t rv;
+
+       /* Skip stuff that obviously doesn't work */
+       if (sig_size > rw_size || pubkey_size > ro_size)
+               return VB2_ERROR_UNKNOWN;
+
+       rv = try_our_own(sig_alg, hash_alg,                /* algs */
+                        buf + pubkey_offset, pubkey_size, /* pubkey blob */
+                        buf + sig_offset, sig_size,       /* sig blob */
+                        buf + rw_offset, rw_size - sig_size); /* RW image */
+
+       if (rv == VB2_SUCCESS && name)
+               show_usbpd1_stuff(name, sig_alg, hash_alg,
+                                 buf + pubkey_offset, pubkey_size);
+
+       return rv;
+}
+
+
+int ft_show_usbpd1(const char *name, uint8_t *buf, uint32_t len, void *data)
+{
+       uint32_t ro_size, rw_size, ro_offset, rw_offset;
+       int s, h;
+
+       VB2_DEBUG("name %s len  0x%08x (%d)\n", name, len, len);
+
+       /* Get image locations */
+       if (!parse_size_opts(len, &ro_size, &rw_size, &ro_offset, &rw_offset))
+               return 1;
+
+       /* TODO: If we don't have a RO image, ask for a public key
+        * TODO: If we're given an external public key, use it (and its alg) */
+       if (!ro_size) {
+               printf("Can't find the public key\n");
+               return 1;
+       }
+
+       /* TODO: Only loop through the numbers we haven't been given */
+       for (s = 0; s < ARRAY_SIZE(sigs); s++)
+               for (h = 0; h < ARRAY_SIZE(hashes); h++)
+                       if (!check_self_consistency(buf, name,
+                                                   ro_size, rw_size,
+                                                   ro_offset, rw_offset,
+                                                   sigs[s], hashes[h]))
+                               return 0;
+
+       printf("This doesn't appear to be a complete usbpd1 image\n");
+       return 1;
+}
+
+enum futil_file_type ft_recognize_usbpd1(uint8_t *buf, uint32_t len)
+{
+       uint32_t ro_size, rw_size, ro_offset, rw_offset;
+       int s, h;
+
+       /*
+        * Since we don't use any headers to identify or locate the pubkey and
+        * signature, in order to identify blob as the right type we have to
+        * just assume that the RO & RW are 1) both present, and 2) evenly
+        * split. Then we just try to use what we think might be the pubkey to
+        * validate what we think might be the signature.
+        */
+       ro_offset = 0;
+       ro_size = rw_size = rw_offset = len / 2;
+
+       for (s = 0; s < ARRAY_SIZE(sigs); s++)
+               for (h = 0; h < ARRAY_SIZE(hashes); h++)
+                       if (!check_self_consistency(buf, 0,
+                                                   ro_size, rw_size,
+                                                   ro_offset, rw_offset,
+                                                   sigs[s], hashes[h]))
+                               return FILE_TYPE_USBPD1;
+
+       return FILE_TYPE_UNKNOWN;
+}
diff --git a/futility/flashrom_drv.c b/futility/flashrom_drv.c
new file mode 100644 (file)
index 0000000..69532f4
--- /dev/null
@@ -0,0 +1,227 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * The utility functions for firmware updater.
+ */
+
+#include <libflashrom.h>
+
+#include "2common.h"
+#include "crossystem.h"
+#include "host_misc.h"
+#include "util_misc.h"
+#include "updater.h"
+
+#define FLASHROM_OUTPUT_WP_PATTERN "write protect is "
+
+/* System environment values. */
+static const char * const FLASHROM_OUTPUT_WP_ENABLED =
+                         FLASHROM_OUTPUT_WP_PATTERN "enabled",
+                 * const FLASHROM_OUTPUT_WP_DISABLED =
+                         FLASHROM_OUTPUT_WP_PATTERN "disabled";
+
+// global to allow verbosity level to be injected into callback.
+static enum flashrom_log_level g_verbose_screen = FLASHROM_MSG_INFO;
+
+static int flashrom_print_cb(enum flashrom_log_level level, const char *fmt,
+                            va_list ap)
+{
+       int ret = 0;
+       FILE *output_type = (level < FLASHROM_MSG_INFO) ? stderr : stdout;
+
+       if (level > g_verbose_screen)
+               return ret;
+
+       ret = vfprintf(output_type, fmt, ap);
+       /* msg_*spew often happens inside chip accessors
+        * in possibly time-critical operations.
+        * Don't slow them down by flushing.
+        */
+       if (level != FLASHROM_MSG_SPEW)
+               fflush(output_type);
+
+       return ret;
+}
+
+static char *flashrom_extract_params(const char *str, char **prog, char **params)
+{
+       char *tmp = strdup(str);
+       *prog = strtok(tmp, ":");
+       *params = strtok(NULL, "");
+       return tmp;
+}
+
+int flashrom_read_image(struct firmware_image *image, const char *region,
+                       int verbosity)
+{
+       int r = 0;
+       size_t len = 0;
+
+       g_verbose_screen = verbosity;
+
+       char *programmer, *params;
+       char *tmp = flashrom_extract_params(image->programmer, &programmer, &params);
+
+       struct flashrom_programmer *prog = NULL;
+       struct flashrom_flashctx *flashctx = NULL;
+       struct flashrom_layout *layout = NULL;
+
+       flashrom_set_log_callback((flashrom_log_callback *)&flashrom_print_cb);
+
+       r |= flashrom_init(1);
+       r |= flashrom_programmer_init(&prog, programmer, params);
+       r |= flashrom_flash_probe(&flashctx, prog, NULL);
+
+       len = flashrom_flash_getsize(flashctx);
+
+       if (region) {
+               r = flashrom_layout_read_fmap_from_buffer(
+                       &layout, flashctx, (const uint8_t *)image->data,
+                       image->size);
+               if (r > 0) {
+                       WARN("could not read fmap from image, r=%d, "
+                               "falling back to read from rom\n", r);
+                       r = flashrom_layout_read_fmap_from_rom(
+                               &layout, flashctx, 0, len);
+                       if (r > 0) {
+                               ERROR("could not read fmap from rom, r=%d\n", r);
+                               r = -1;
+                               goto err_cleanup;
+                       }
+               }
+               // empty region causes seg fault in API.
+               r |= flashrom_layout_include_region(layout, region);
+               if (r > 0) {
+                       ERROR("could not include region = '%s'\n", region);
+                       r = -1;
+                       goto err_cleanup;
+               }
+               flashrom_layout_set(flashctx, layout);
+       }
+
+       image->data = calloc(1, len);
+       image->size = len;
+       image->file_name = strdup("<none>");
+
+       r |= flashrom_image_read(flashctx, image->data, len);
+
+err_cleanup:
+       r |= flashrom_programmer_shutdown(prog);
+       flashrom_layout_release(layout);
+       flashrom_flash_release(flashctx);
+       free(tmp);
+
+       return r;
+}
+
+int flashrom_write_image(const struct firmware_image *image,
+                       const char *region,
+                       const struct firmware_image *diff_image,
+                       int verbosity)
+{
+       int r = 0;
+       size_t len = 0;
+
+       g_verbose_screen = verbosity;
+
+       char *programmer, *params;
+       char *tmp = flashrom_extract_params(image->programmer, &programmer, &params);
+
+       struct flashrom_programmer *prog = NULL;
+       struct flashrom_flashctx *flashctx = NULL;
+       struct flashrom_layout *layout = NULL;
+
+       flashrom_set_log_callback((flashrom_log_callback *)&flashrom_print_cb);
+
+       r |= flashrom_init(1);
+       r |= flashrom_programmer_init(&prog, programmer, params);
+       r |= flashrom_flash_probe(&flashctx, prog, NULL);
+
+       len = flashrom_flash_getsize(flashctx);
+       if (len == 0) {
+               ERROR("zero sized flash detected\n");
+               r = -1;
+               goto err_cleanup;
+       }
+
+       if (diff_image) {
+               if (diff_image->size != image->size) {
+                       ERROR("diff_image->size != image->size");
+                       r = -1;
+                       goto err_cleanup;
+               }
+       }
+
+       if (region) {
+               r = flashrom_layout_read_fmap_from_buffer(
+                       &layout, flashctx, (const uint8_t *)image->data,
+                       image->size);
+               if (r > 0) {
+                       WARN("could not read fmap from image, r=%d, "
+                               "falling back to read from rom\n", r);
+                       r = flashrom_layout_read_fmap_from_rom(
+                               &layout, flashctx, 0, len);
+                       if (r > 0) {
+                               ERROR("could not read fmap from rom, r=%d\n", r);
+                               r = -1;
+                               goto err_cleanup;
+                       }
+               }
+               // empty region causes seg fault in API.
+               r |= flashrom_layout_include_region(layout, region);
+               if (r > 0) {
+                       ERROR("could not include region = '%s'\n", region);
+                       r = -1;
+                       goto err_cleanup;
+               }
+               flashrom_layout_set(flashctx, layout);
+       }
+
+       flashrom_flag_set(flashctx, FLASHROM_FLAG_VERIFY_WHOLE_CHIP, true);
+       flashrom_flag_set(flashctx, FLASHROM_FLAG_VERIFY_AFTER_WRITE, true);
+       if (diff_image) /* equiv --noverify --flash-contents=diff_image at cli */
+               flashrom_flag_set(flashctx, FLASHROM_FLAG_VERIFY_AFTER_WRITE, false);
+
+       r |= flashrom_image_write(flashctx, image->data, image->size,
+                                 diff_image ? diff_image->data : NULL);
+
+err_cleanup:
+       r |= flashrom_programmer_shutdown(prog);
+       flashrom_layout_release(layout);
+       flashrom_flash_release(flashctx);
+       free(tmp);
+
+       return r;
+}
+
+/* Helper function to return write protection status via given programmer. */
+enum wp_state flashrom_get_wp(const char *programmer)
+{
+       char *command, *result;
+       const char *postfix;
+       int r;
+
+       /* grep is needed because host_shell only returns 1 line. */
+       postfix = " 2>/dev/null | grep \"" FLASHROM_OUTPUT_WP_PATTERN "\"";
+
+
+       /* TODO(b/203715651): link with flashrom directly. */
+       ASPRINTF(&command, "flashrom --wp-status -p %s %s", programmer, postfix);
+
+       /* invokes flashrom(8) with non-zero result if error. */
+       result = host_shell(command);
+       strip_string(result, NULL);
+       free(command);
+       VB2_DEBUG("wp-status: %s\n", result);
+
+       if (strstr(result, FLASHROM_OUTPUT_WP_ENABLED))
+               r = WP_ENABLED;
+       else if (strstr(result, FLASHROM_OUTPUT_WP_DISABLED))
+               r = WP_DISABLED;
+       else
+               r = WP_ERROR;
+       free(result);
+
+       return r;
+}
diff --git a/futility/futility.c b/futility/futility.c
new file mode 100644 (file)
index 0000000..0f262c2
--- /dev/null
@@ -0,0 +1,388 @@
+/* Copyright 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <limits.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include "futility.h"
+
+/******************************************************************************/
+/* Logging stuff */
+
+/* File to use for logging, if present */
+#define LOGFILE "/tmp/futility.log"
+
+/* Normally logging will only happen if the logfile already exists. Uncomment
+ * this to force log file creation (and thus logging) always. */
+
+/* #define FORCE_LOGGING_ON */
+
+static int log_fd = -1;
+
+/* Write the string and a newline. Silently give up on errors */
+static void log_str(const char *prefix, const char *str)
+{
+       int len, done, n;
+
+       if (log_fd < 0)
+               return;
+
+       if (!str)
+               str = "(NULL)";
+
+       if (prefix && *prefix) {
+               len = strlen(prefix);
+               for (done = 0; done < len; done += n) {
+                       n = write(log_fd, prefix + done, len - done);
+                       if (n < 0)
+                               return;
+               }
+       }
+
+       len = strlen(str);
+       if (len == 0) {
+               str = "(EMPTY)";
+               len = strlen(str);
+       }
+
+       for (done = 0; done < len; done += n) {
+               n = write(log_fd, str + done, len - done);
+               if (n < 0)
+                       return;
+       }
+
+       if (write(log_fd, "\n", 1) < 0)
+               return;
+}
+
+static void log_close(void)
+{
+       struct flock lock;
+
+       if (log_fd >= 0) {
+               memset(&lock, 0, sizeof(lock));
+               lock.l_type = F_UNLCK;
+               lock.l_whence = SEEK_SET;
+               if (fcntl(log_fd, F_SETLKW, &lock))
+                       perror("Unable to unlock log file");
+
+               close(log_fd);
+               log_fd = -1;
+       }
+}
+
+static void log_open(void)
+{
+       struct flock lock;
+       int ret;
+
+#ifdef FORCE_LOGGING_ON
+       log_fd = open(LOGFILE, O_WRONLY | O_APPEND | O_CREAT, 0666);
+#else
+       log_fd = open(LOGFILE, O_WRONLY | O_APPEND);
+#endif
+       if (log_fd < 0) {
+
+               if (errno != EACCES)
+                       return;
+
+               /* Permission problems should improve shortly ... */
+               sleep(1);
+               log_fd = open(LOGFILE, O_WRONLY | O_APPEND | O_CREAT, 0666);
+               if (log_fd < 0) /* Nope, they didn't */
+                       return;
+       }
+
+       /* Let anyone have a turn */
+       fchmod(log_fd, 0666);
+
+       /* But only one at a time */
+       memset(&lock, 0, sizeof(lock));
+       lock.l_type = F_WRLCK;
+       lock.l_whence = SEEK_END;
+
+       ret = fcntl(log_fd, F_SETLKW, &lock);   /* this blocks */
+       if (ret < 0)
+               log_close();
+}
+
+static void log_args(int argc, char *argv[])
+{
+       int i;
+       ssize_t r;
+       pid_t parent;
+       char buf[80];
+       FILE *fp;
+       char caller_buf[PATH_MAX];
+
+       log_open();
+
+       /* delimiter */
+       log_str(NULL, "##### LOG #####");
+
+       /* Can we tell who called us? */
+       parent = getppid();
+       snprintf(buf, sizeof(buf), "/proc/%d/exe", parent);
+       r = readlink(buf, caller_buf, sizeof(caller_buf) - 1);
+       if (r >= 0) {
+               caller_buf[r] = '\0';
+               log_str("CALLER:", caller_buf);
+       }
+
+       /* From where? */
+       snprintf(buf, sizeof(buf), "/proc/%d/cwd", parent);
+       r = readlink(buf, caller_buf, sizeof(caller_buf) - 1);
+       if (r >= 0) {
+               caller_buf[r] = '\0';
+               log_str("DIR:", caller_buf);
+       }
+
+       /* And maybe the args? */
+       snprintf(buf, sizeof(buf), "/proc/%d/cmdline", parent);
+       fp = fopen(buf, "r");
+       if (fp) {
+               memset(caller_buf, 0, sizeof(caller_buf));
+               r = fread(caller_buf, 1, sizeof(caller_buf) - 1, fp);
+               if (r > 0) {
+                       char *s = caller_buf;
+                       for (i = 0; i < r && *s; ) {
+                               log_str("CMDLINE:", s);
+                               while (i < r && *s)
+                                       i++, s++;
+                               i++, s++;
+                       }
+               }
+               fclose(fp);
+       }
+
+       /* Now log the stuff about ourselves */
+       for (i = 0; i < argc; i++)
+               log_str(NULL, argv[i]);
+
+       log_close();
+}
+
+/******************************************************************************/
+
+static const char *const usage = "\n"
+"Usage: " MYNAME " [options] COMMAND [args...]\n"
+"\n"
+"This is the unified firmware utility, which will eventually replace\n"
+"most of the distinct verified boot tools formerly produced by the\n"
+"vboot_reference package.\n"
+"\n"
+"When symlinked under the name of one of those previous tools, it should\n"
+"fully implement the original behavior. It can also be invoked directly\n"
+"as " MYNAME ", followed by the original name as the first argument.\n"
+"\n";
+
+static const char *const options =
+"Global options:\n"
+"\n"
+"  --vb1        Use only vboot v1.0 binary formats\n"
+"  --vb21       Use only vboot v2.1 binary formats\n"
+"  --debug      Be noisy about what's going on\n"
+"\n";
+
+static const struct futil_cmd_t *find_command(const char *name)
+{
+       const struct futil_cmd_t *const *cmd;
+
+       for (cmd = futil_cmds; *cmd; cmd++)
+               if (((*cmd)->version & vboot_version) &&
+                   !strcmp((*cmd)->name, name))
+                       return *cmd;
+
+       return NULL;
+}
+
+static void list_commands(void)
+{
+       const struct futil_cmd_t *const *cmd;
+
+       for (cmd = futil_cmds; *cmd; cmd++)
+               if (vboot_version & (*cmd)->version)
+                       printf("  %-20s %s\n",
+                              (*cmd)->name, (*cmd)->shorthelp);
+}
+
+static int run_command(const struct futil_cmd_t *cmd, int argc, char *argv[])
+{
+       int i;
+       VB2_DEBUG("\"%s\" ...\n", cmd->name);
+       for (i = 0; i < argc; i++)
+               VB2_DEBUG("  argv[%d] = \"%s\"\n", i, argv[i]);
+
+       return cmd->handler(argc, argv);
+}
+
+static int do_help(int argc, char *argv[])
+{
+       const struct futil_cmd_t *cmd;
+       const char *vstr = "";
+
+       /* Help about a known command? */
+       if (argc > 1) {
+               cmd = find_command(argv[1]);
+               if (cmd) {
+                       /* Let the command provide its own help */
+                       argv[0] = argv[1];
+                       argv[1] = (char *)"--help";
+                       return run_command(cmd, argc, argv);
+               }
+       }
+
+       fputs(usage, stdout);
+
+       if (vboot_version == VBOOT_VERSION_ALL)
+               fputs(options, stdout);
+
+       switch (vboot_version) {
+       case VBOOT_VERSION_1_0:
+               vstr = "version 1.0 ";
+               break;
+       case VBOOT_VERSION_2_1:
+               vstr = "version 2.1 ";
+               break;
+       case VBOOT_VERSION_ALL:
+               vstr = "";
+               break;
+       }
+       printf("The following %scommands are built-in:\n\n", vstr);
+       list_commands();
+       printf("\nUse \"" MYNAME " help COMMAND\" for more information.\n\n");
+
+       return 0;
+}
+
+DECLARE_FUTIL_COMMAND(help, do_help, VBOOT_VERSION_ALL,
+                     "Show a bit of help (you're looking at it)");
+
+static const char ver_help[] =
+       "Show the futility source revision and build date";
+static int do_version(int argc, char *argv[])
+{
+       if (argc > 1)
+               printf("%s - %s\n", argv[0], ver_help);
+       else
+               printf("%s\n", futility_version);
+       return 0;
+}
+
+DECLARE_FUTIL_COMMAND(version, do_version, VBOOT_VERSION_ALL,
+                     ver_help);
+
+static char *simple_basename(char *str)
+{
+       char *s = strrchr(str, '/');
+       if (s)
+               s++;
+       else
+               s = str;
+       return s;
+}
+
+/* Here we go */
+#define OPT_HELP 1000
+int main(int argc, char *argv[], char *envp[])
+{
+       char *progname;
+       const struct futil_cmd_t *cmd;
+       int i, errorcnt = 0;
+       int vb_ver = VBOOT_VERSION_ALL;
+       int helpind = 0;
+       struct option long_opts[] = {
+               {"debug", 0, &debugging_enabled, 1},
+               {"vb1" ,  0, &vb_ver, VBOOT_VERSION_1_0},
+               {"vb21",  0, &vb_ver, VBOOT_VERSION_2_1},
+               {"help",  0, 0, OPT_HELP},
+               { 0, 0, 0, 0},
+       };
+
+       log_args(argc, argv);
+
+       /* How were we invoked? */
+       progname = simple_basename(argv[0]);
+
+       /* See if the program name is a command we recognize */
+       cmd = find_command(progname);
+       if (cmd) {
+               /* Yep, just do that */
+               return !!run_command(cmd, argc, argv);
+       }
+
+       /* Parse the global options, stopping at the first non-option. */
+       opterr = 0;                             /* quiet, you. */
+       while ((i = getopt_long(argc, argv, "+:", long_opts, NULL)) != -1) {
+               switch (i) {
+               case OPT_HELP:
+                       /* Remember where we found this option */
+                       /* Note: this might be GNU-specific */
+                       helpind = optind - 1;
+                       break;
+               case '?':
+                       if (optopt)
+                               fprintf(stderr, "Unrecognized option: -%c\n",
+                                       optopt);
+                       else
+                               fprintf(stderr, "Unrecognized option: %s\n",
+                                       argv[optind - 1]);
+                       errorcnt++;
+                       break;
+               case ':':
+                       fprintf(stderr, "Missing argument to -%c\n", optopt);
+                       errorcnt++;
+                       break;
+               case 0:                         /* handled option */
+                       break;
+               default:
+                       FATAL("Unrecognized getopt output: %d\n", i);
+               }
+       }
+       vboot_version = vb_ver;
+
+       /*
+        * Translate "--help" in the args to "help" as the first parameter,
+        * by rearranging argv[].
+        */
+       if (helpind) {
+               int j;
+               optind--;
+               for (j = helpind; j < optind; j++)
+                       argv[j] = argv[j + 1];
+               argv[j] = (char *)"help";
+       }
+
+       /* We require a command name. */
+       if (errorcnt || argc == optind) {
+               do_help(1, argv);
+               return 1;
+       }
+
+       /* For reasons I've forgotten, treat /blah/blah/CMD the same as CMD */
+       argv[optind] = simple_basename(argv[optind]);
+
+       /* Do we recognize the command? */
+       cmd = find_command(argv[optind]);
+       if (cmd) {
+               /* Reset so commands can parse their own options */
+               argc -= optind;
+               argv += optind;
+               optind = 0;
+               return !!run_command(cmd, argc, argv);
+       }
+
+       /* Nope. We've no clue what we're being asked to do. */
+       do_help(1, argv);
+       return 1;
+}
diff --git a/futility/futility.h b/futility/futility.h
new file mode 100644 (file)
index 0000000..9d40ba7
--- /dev/null
@@ -0,0 +1,157 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_FUTILITY_H_
+#define VBOOT_REFERENCE_FUTILITY_H_
+
+#include <stdint.h>
+
+#include "2common.h"
+#include "host_key.h"
+
+/* This program */
+#define MYNAME "futility"
+
+/* Version string (autogenerated) */
+extern const char futility_version[];
+
+/* Bitfields indicating the struct/format versions supported by a command */
+enum vboot_version  {
+       /*
+        * v1.0 is the original structs used since the dawn of time.
+        * v2.0 can verify the firmware in smaller chunks, but there's
+        * no difference in the on-device structs, so it's only
+        * meaningful for the firmware API. Futility doesn't care.
+        */
+       VBOOT_VERSION_1_0 = 0x00000001,
+
+       /*
+        * v2.1 uses new and different structs, and is what v2.0 would have
+        * been if someone hadn't started using it before it was ready.
+        */
+       VBOOT_VERSION_2_1 = 0x00000002,
+
+       /*
+        * Everything we know about to date.
+        */
+       VBOOT_VERSION_ALL = 0x00000003,
+};
+
+/* What's our preferred API & data format? */
+extern enum vboot_version vboot_version;
+
+/* Here's a structure to define the commands that futility implements. */
+struct futil_cmd_t {
+       /* String used to invoke this command */
+       const char *const name;
+       /* Function to do the work. Returns 0 on success.
+        * Called with argv[0] == "name".
+        * It should handle its own "--help" option. */
+       int (*const handler) (int argc, char **argv);
+       /* Supported ABIs */
+       enum vboot_version version;
+       /* One-line summary of what it does */
+       const char *const shorthelp;
+};
+
+/* Macro to define a command */
+#define DECLARE_FUTIL_COMMAND(NAME, HANDLER, VERSION, SHORTHELP)       \
+       const struct futil_cmd_t __cmd_##NAME = {                       \
+               .name = #NAME,                                          \
+               .handler = HANDLER,                                     \
+               .version = VERSION,                                     \
+               .shorthelp = SHORTHELP,                                 \
+       }
+
+/* This is the list of pointers to all commands. */
+extern const struct futil_cmd_t *const futil_cmds[];
+
+/* Size of an array */
+#ifndef ARRAY_SIZE
+#define ARRAY_SIZE(array) (sizeof(array)/sizeof(array[0]))
+#endif
+
+/* Fatal error (print error message and exit). */
+#define FATAL(format, ...) do { \
+               fprintf(stderr, "FATAL: %s: " format, __func__, \
+                       ##__VA_ARGS__ ); \
+               exit(1); \
+       } while (0)
+
+/* Print error messages (won't exit). */
+#define ERROR(format, ...) fprintf(stderr, "ERROR: %s: " format, __func__, \
+                                  ##__VA_ARGS__ )
+#define WARN(format, ...) fprintf(stderr, "WARNING: %s: " format, __func__, \
+                                 ##__VA_ARGS__ )
+#define INFO(format, ...) fprintf(stderr, "INFO: %s: " format, __func__, \
+                                 ##__VA_ARGS__ )
+#define STATUS(format, ...) fprintf(stderr, ">> " format, ##__VA_ARGS__ )
+
+/* Debug output (off by default) */
+extern int debugging_enabled;
+
+/* Returns true if this looks enough like a GBB header to proceed. */
+int futil_looks_like_gbb(struct vb2_gbb_header *gbb, uint32_t len);
+
+/*
+ * Returns true if the gbb header is valid (and optionally updates *maxlen).
+ * This doesn't verify the contents, though.
+ */
+int futil_valid_gbb_header(struct vb2_gbb_header *gbb, uint32_t len,
+                          uint32_t *maxlen);
+
+/* Sets the HWID string field inside a GBB header. */
+int futil_set_gbb_hwid(struct vb2_gbb_header *gbb, const char *hwid);
+
+/* For GBB v1.2 and later, update the hwid_digest */
+void update_hwid_digest(struct vb2_gbb_header *gbb);
+
+/* For GBB v1.2 and later, print the stored digest of the HWID (and whether
+ * it's correct). Return true if it is correct. */
+int print_hwid_digest(struct vb2_gbb_header *gbb,
+                     const char *banner, const char *footer);
+
+/* Copies a file or dies with an error message */
+void futil_copy_file_or_die(const char *infile, const char *outfile);
+
+/* Possible file operation errors */
+enum futil_file_err {
+       FILE_ERR_NONE,
+       FILE_ERR_STAT,
+       FILE_ERR_SIZE,
+       FILE_ERR_MMAP,
+       FILE_ERR_MSYNC,
+       FILE_ERR_MUNMAP,
+       FILE_ERR_OPEN,
+       FILE_ERR_CLOSE,
+       FILE_ERR_DIR,
+       FILE_ERR_CHR,
+       FILE_ERR_FIFO,
+       FILE_ERR_SOCK,
+};
+
+/* Wrapper for mmap/munmap. Skips stupidly large files. */
+#define MAP_RO 0
+#define MAP_RW 1
+enum futil_file_err futil_map_file(int fd, int writeable,
+                                  uint8_t **buf, uint32_t *len);
+enum futil_file_err futil_unmap_file(int fd, int writeable,
+                                    uint8_t *buf, uint32_t len);
+
+/*
+ * Parse input string as a hex representation of size len, exit with error if
+ *  the string is not a valid hex string or is of a wrongs size.
+ */
+void parse_digest_or_die(uint8_t *buf, int len, const char *str);
+
+/* The CPU architecture is occasionally important */
+enum arch_t {
+       ARCH_UNSPECIFIED,
+       ARCH_X86,
+       ARCH_ARM,
+       ARCH_MIPS
+};
+
+#endif  /* VBOOT_REFERENCE_FUTILITY_H_ */
diff --git a/futility/futility_options.h b/futility/futility_options.h
new file mode 100644 (file)
index 0000000..a79505c
--- /dev/null
@@ -0,0 +1,70 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * We centralize option parsing but may split operations into multiple files,
+ * so let's declare the option structures in a single place (here).
+ */
+
+#ifndef VBOOT_REFERENCE_FUTILITY_OPTIONS_H_
+#define VBOOT_REFERENCE_FUTILITY_OPTIONS_H_
+
+#include <stdint.h>
+
+#include "2rsa.h"
+#include "file_type.h"
+
+struct vb2_private_key;
+struct vb21_packed_key;
+
+struct show_option_s {
+       struct vb2_public_key *k;
+       uint8_t *fv;
+       uint64_t fv_size;
+       uint32_t padding;
+       int strict;
+       int t_flag;
+       enum futil_file_type type;
+       struct vb21_packed_key *pkey;
+       uint32_t sig_size;
+};
+extern struct show_option_s show_option;
+
+struct sign_option_s {
+       struct vb2_private_key *signprivate;
+       struct vb2_keyblock *keyblock;
+       struct vb2_packed_key *kernel_subkey;
+       struct vb2_private_key *devsignprivate;
+       struct vb2_keyblock *devkeyblock;
+       uint32_t version;
+       int version_specified;
+       uint32_t flags;
+       int flags_specified;
+       char *loemdir;
+       char *loemid;
+       uint8_t *bootloader_data;
+       uint64_t bootloader_size;
+       uint8_t *config_data;
+       uint32_t config_size;
+       enum arch_t arch;
+       int fv_specified;
+       uint32_t kloadaddr;
+       uint32_t padding;
+       int vblockonly;
+       char *outfile;
+       int create_new_outfile;
+       int inout_file_count;
+       char *pem_signpriv;
+       int pem_algo_specified;
+       uint32_t pem_algo;
+       char *pem_external;
+       enum futil_file_type type;
+       enum vb2_hash_algorithm hash_alg;
+       uint32_t ro_size, rw_size;
+       uint32_t ro_offset, rw_offset;
+       uint32_t data_size, sig_size;
+       struct vb2_private_key *prikey;
+};
+extern struct sign_option_s sign_option;
+
+#endif  /* VBOOT_REFERENCE_FUTILITY_OPTIONS_H_ */
diff --git a/futility/kernel_blob.h b/futility/kernel_blob.h
new file mode 100644 (file)
index 0000000..9043bac
--- /dev/null
@@ -0,0 +1,67 @@
+/* Copyright 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Constants describing the kernel blob content.
+ */
+
+#ifndef VBOOT_REFERENCE_KERNEL_BLOB_H_
+#define VBOOT_REFERENCE_KERNEL_BLOB_H_
+
+/* Linux vmlinuz header signature */
+#define VMLINUZ_HEADER_SIG 0x53726448
+
+/* Maximum kernel command-line size */
+#define CROS_CONFIG_SIZE 4096
+
+/* Size of the x86 zeropage table */
+#define CROS_PARAMS_SIZE 4096
+
+/* Alignment of various chunks within the kernel blob */
+#define CROS_ALIGN 4096
+
+/* Sentinel RAM address indicating that no entry address is specified */
+#define CROS_NO_ENTRY_ADDR     (~0)
+
+/* RAM address where the 32-bit kernel expects to be started */
+#define CROS_32BIT_ENTRY_ADDR  0x100000
+
+/* Simplified version of x86 kernel e820 memory map entries */
+#define E820_ENTRY_MAX 128
+#define E820_TYPE_RAM      1
+#define E820_TYPE_RESERVED 2
+
+struct linux_kernel_e820entry {
+       uint64_t start_addr;
+       uint64_t segment_size;
+       uint32_t segment_type;
+} __attribute__((packed));
+
+/* Simplified version of the x86 kernel zeropage table */
+struct linux_kernel_params {
+       uint8_t pad0[0x1e8 - 0x0];
+       uint8_t n_e820_entry;                   /* 1e8 */
+       uint8_t pad1[0x1f1 - 0x1e9];
+       uint8_t setup_sects;                    /* 1f1 */
+       uint8_t pad2[0x1fe - 0x1f2];
+       uint16_t boot_flag;                     /* 1fe */
+       uint16_t jump;                          /* 200 */
+       uint32_t header;                        /* 202 */
+       uint16_t version;                       /* 206 */
+       uint8_t pad3[0x210 - 0x208];
+       uint8_t type_of_loader;                 /* 210 */
+       uint8_t pad4[0x218 - 0x211];
+       uint32_t ramdisk_image;                 /* 218 */
+       uint32_t ramdisk_size;                  /* 21c */
+       uint8_t pad5[0x228 - 0x220];
+       uint32_t cmd_line_ptr;                  /* 228 */
+       uint32_t ramdisk_max;                   /* 22c */
+       uint32_t kernel_alignment;              /* 230 */
+       uint8_t relocatable_kernel;             /* 234 */
+       uint8_t min_alignment;                  /* 235 */
+       uint8_t pad6[0x2d0 - 0x236];
+       struct linux_kernel_e820entry
+               e820_entries[E820_ENTRY_MAX];   /* 2d0-cd0 */
+} __attribute__((packed));
+
+#endif  /* VBOOT_REFERENCE_KERNEL_BLOB_H_ */
diff --git a/futility/misc.c b/futility/misc.c
new file mode 100644 (file)
index 0000000..76b8ad1
--- /dev/null
@@ -0,0 +1,405 @@
+/* Copyright 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <assert.h>
+#include <errno.h>
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
+#include <linux/fs.h>          /* For BLKGETSIZE64 */
+#endif
+#include <stdarg.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "cgptlib_internal.h"
+#include "file_type.h"
+#include "futility.h"
+
+/* Default is to support everything we can */
+enum vboot_version vboot_version = VBOOT_VERSION_ALL;
+
+int debugging_enabled;
+void vb2ex_printf(const char *func, const char *format, ...)
+{
+       if (!debugging_enabled)
+               return;
+
+       va_list ap;
+       va_start(ap, format);
+       fprintf(stderr, "DEBUG: %s: ", func);
+       vfprintf(stderr, format, ap);
+       va_end(ap);
+}
+
+static int is_null_terminated(const char *s, int len)
+{
+       len--;
+       s += len;
+       while (len-- >= 0)
+               if (!*s--)
+                       return 1;
+       return 0;
+}
+
+static inline uint32_t max(uint32_t a, uint32_t b)
+{
+       return a > b ? a : b;
+}
+
+enum futil_file_type ft_recognize_gbb(uint8_t *buf, uint32_t len)
+{
+       struct vb2_gbb_header *gbb = (struct vb2_gbb_header *)buf;
+
+       if (memcmp(gbb->signature, VB2_GBB_SIGNATURE, VB2_GBB_SIGNATURE_SIZE))
+               return FILE_TYPE_UNKNOWN;
+       if (gbb->major_version > VB2_GBB_MAJOR_VER)
+               return FILE_TYPE_UNKNOWN;
+       if (sizeof(struct vb2_gbb_header) > len)
+               return FILE_TYPE_UNKNOWN;
+
+       /* close enough */
+       return FILE_TYPE_GBB;
+}
+
+int futil_valid_gbb_header(struct vb2_gbb_header *gbb, uint32_t len,
+                          uint32_t *maxlen_ptr)
+{
+       if (len < sizeof(struct vb2_gbb_header))
+               return 0;
+
+       if (memcmp(gbb->signature, VB2_GBB_SIGNATURE, VB2_GBB_SIGNATURE_SIZE))
+               return 0;
+       if (gbb->major_version != VB2_GBB_MAJOR_VER)
+               return 0;
+
+       /* Check limits first, to help identify problems */
+       if (maxlen_ptr) {
+               uint32_t maxlen = gbb->header_size;
+               maxlen = max(maxlen,
+                            gbb->hwid_offset + gbb->hwid_size);
+               maxlen = max(maxlen,
+                            gbb->rootkey_offset + gbb->rootkey_size);
+               maxlen = max(maxlen,
+                            gbb->bmpfv_offset + gbb->bmpfv_size);
+               maxlen = max(maxlen,
+                            gbb->recovery_key_offset + gbb->recovery_key_size);
+               *maxlen_ptr = maxlen;
+       }
+
+       if (gbb->header_size != EXPECTED_VB2_GBB_HEADER_SIZE ||
+           gbb->header_size > len)
+               return 0;
+       if (gbb->hwid_offset < EXPECTED_VB2_GBB_HEADER_SIZE)
+               return 0;
+       if (gbb->hwid_offset + gbb->hwid_size > len)
+               return 0;
+       if (gbb->hwid_size) {
+               const char *s = (const char *)
+                       ((uint8_t *)gbb + gbb->hwid_offset);
+               if (!is_null_terminated(s, gbb->hwid_size))
+                       return 0;
+       }
+       if (gbb->rootkey_offset < EXPECTED_VB2_GBB_HEADER_SIZE)
+               return 0;
+       if (gbb->rootkey_offset + gbb->rootkey_size > len)
+               return 0;
+
+       if (gbb->bmpfv_offset < EXPECTED_VB2_GBB_HEADER_SIZE)
+               return 0;
+       if (gbb->bmpfv_offset + gbb->bmpfv_size > len)
+               return 0;
+       if (gbb->recovery_key_offset < EXPECTED_VB2_GBB_HEADER_SIZE)
+               return 0;
+       if (gbb->recovery_key_offset + gbb->recovery_key_size > len)
+               return 0;
+
+       /* Seems legit... */
+       return 1;
+}
+
+/* For GBB v1.2 and later, print the stored digest of the HWID (and whether
+ * it's correct). Return true if it is correct. */
+int print_hwid_digest(struct vb2_gbb_header *gbb,
+                     const char *banner, const char *footer)
+{
+       printf("%s", banner);
+
+       /* There isn't one for v1.1 and earlier, so assume it's good. */
+       if (gbb->minor_version < 2) {
+               printf("<none>%s", footer);
+               return 1;
+       }
+
+       uint8_t *buf = (uint8_t *)gbb;
+       char *hwid_str = (char *)(buf + gbb->hwid_offset);
+       int is_valid = 0;
+       uint8_t digest[VB2_SHA256_DIGEST_SIZE];
+
+       if (VB2_SUCCESS == vb2_digest_buffer(buf + gbb->hwid_offset,
+                                            strlen(hwid_str), VB2_HASH_SHA256,
+                                            digest, sizeof(digest))) {
+               int i;
+               is_valid = 1;
+               /* print it, comparing as we go */
+               for (i = 0; i < VB2_SHA256_DIGEST_SIZE; i++) {
+                       printf("%02x", gbb->hwid_digest[i]);
+                       if (gbb->hwid_digest[i] != digest[i])
+                               is_valid = 0;
+               }
+       }
+
+       printf("   %s", is_valid ? "valid" : "<invalid>");
+       printf("%s", footer);
+       return is_valid;
+}
+
+/* Deprecated. Use futil_set_gbb_hwid in future. */
+/* For GBB v1.2 and later, update the hwid_digest field. */
+void update_hwid_digest(struct vb2_gbb_header *gbb)
+{
+       /* There isn't one for v1.1 and earlier */
+       if (gbb->minor_version < 2)
+               return;
+
+       uint8_t *buf = (uint8_t *)gbb;
+       char *hwid_str = (char *)(buf + gbb->hwid_offset);
+
+       vb2_digest_buffer(buf + gbb->hwid_offset, strlen(hwid_str),
+                         VB2_HASH_SHA256,
+                         gbb->hwid_digest, sizeof(gbb->hwid_digest));
+}
+
+/* Sets the HWID string field inside a GBB header. */
+int futil_set_gbb_hwid(struct vb2_gbb_header *gbb, const char *hwid)
+{
+       uint8_t *to = (uint8_t *)gbb + gbb->hwid_offset;
+       size_t len;
+
+       assert(hwid);
+       len = strlen(hwid);
+       if (len >= gbb->hwid_size)
+               return -1;
+
+       /* Zero whole area so we won't have garbage after NUL. */
+       memset(to, 0, gbb->hwid_size);
+       memcpy(to, hwid, len);
+
+       /* major_version starts from 1 and digest must be updated since v1.2. */
+       if (gbb->major_version == 1 && gbb->minor_version < 2)
+               return 0;
+
+       return vb2_digest_buffer(to, len, VB2_HASH_SHA256, gbb->hwid_digest,
+                                sizeof(gbb->hwid_digest));
+}
+
+/*
+ * TODO: All sorts of race conditions likely here, and everywhere this is used.
+ * Do we care? If so, fix it.
+ */
+void futil_copy_file_or_die(const char *infile, const char *outfile)
+{
+       pid_t pid;
+       int status;
+
+       VB2_DEBUG("%s -> %s\n", infile, outfile);
+
+       pid = fork();
+
+       if (pid < 0) {
+               fprintf(stderr, "Couldn't fork /bin/cp process: %s\n",
+                       strerror(errno));
+               exit(1);
+       }
+
+       /* child */
+       if (!pid) {
+               execl("/bin/cp", "/bin/cp", infile, outfile, NULL);
+               fprintf(stderr, "Child couldn't exec /bin/cp: %s\n",
+                       strerror(errno));
+               exit(1);
+       }
+
+       /* parent - wait for child to finish */
+       if (wait(&status) == -1) {
+               fprintf(stderr,
+                       "Couldn't wait for /bin/cp process to exit: %s\n",
+                       strerror(errno));
+               exit(1);
+       }
+
+       if (WIFEXITED(status)) {
+               status = WEXITSTATUS(status);
+               /* zero is normal exit */
+               if (!status)
+                       return;
+               fprintf(stderr, "/bin/cp exited with status %d\n", status);
+               exit(1);
+       }
+
+       if (WIFSIGNALED(status)) {
+               status = WTERMSIG(status);
+               fprintf(stderr, "/bin/cp was killed with signal %d\n", status);
+               exit(1);
+       }
+
+       fprintf(stderr, "I have no idea what just happened\n");
+       exit(1);
+}
+
+
+enum futil_file_err futil_map_file(int fd, int writeable,
+                                  uint8_t **buf, uint32_t *len)
+{
+       struct stat sb;
+       void *mmap_ptr;
+       uint32_t reasonable_len;
+
+       if (0 != fstat(fd, &sb)) {
+               fprintf(stderr, "Can't stat input file: %s\n",
+                       strerror(errno));
+               return FILE_ERR_STAT;
+       }
+
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
+       if (S_ISBLK(sb.st_mode))
+               ioctl(fd, BLKGETSIZE64, &sb.st_size);
+#endif
+
+       /* If the image is larger than 2^32 bytes, it's wrong. */
+       if (sb.st_size < 0 || sb.st_size > UINT32_MAX) {
+               fprintf(stderr, "Image size is unreasonable\n");
+               return FILE_ERR_SIZE;
+       }
+       reasonable_len = (uint32_t)sb.st_size;
+
+       if (writeable)
+               mmap_ptr = mmap(0, sb.st_size,
+                               PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
+       else
+               mmap_ptr = mmap(0, sb.st_size,
+                               PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
+
+       if (mmap_ptr == (void *)-1) {
+               fprintf(stderr, "Can't mmap %s file: %s\n",
+                       writeable ? "output" : "input",
+                       strerror(errno));
+               return FILE_ERR_MMAP;
+       }
+
+       *buf = (uint8_t *)mmap_ptr;
+       *len = reasonable_len;
+       return FILE_ERR_NONE;
+}
+
+enum futil_file_err futil_unmap_file(int fd, int writeable,
+                                    uint8_t *buf, uint32_t len)
+{
+       void *mmap_ptr = buf;
+       enum futil_file_err err = FILE_ERR_NONE;
+
+       if (writeable &&
+           (0 != msync(mmap_ptr, len, MS_SYNC|MS_INVALIDATE))) {
+               fprintf(stderr, "msync failed: %s\n", strerror(errno));
+               err = FILE_ERR_MSYNC;
+       }
+
+       if (0 != munmap(mmap_ptr, len)) {
+               fprintf(stderr, "Can't munmap pointer: %s\n",
+                       strerror(errno));
+               if (err == FILE_ERR_NONE)
+                       err = FILE_ERR_MUNMAP;
+       }
+
+       return err;
+}
+
+
+#define DISK_SECTOR_SIZE 512
+enum futil_file_type ft_recognize_gpt(uint8_t *buf, uint32_t len)
+{
+       GptHeader *h;
+
+       /* GPT header starts at sector 1, is one sector long */
+       if (len < 2 * DISK_SECTOR_SIZE)
+               return FILE_TYPE_UNKNOWN;
+
+       h = (GptHeader *)(buf + DISK_SECTOR_SIZE);
+
+       if (memcmp(h->signature, GPT_HEADER_SIGNATURE,
+                  GPT_HEADER_SIGNATURE_SIZE) &&
+           memcmp(h->signature, GPT_HEADER_SIGNATURE2,
+                  GPT_HEADER_SIGNATURE_SIZE))
+               return FILE_TYPE_UNKNOWN;
+       if (h->revision != GPT_HEADER_REVISION)
+               return FILE_TYPE_UNKNOWN;
+       if (h->size < MIN_SIZE_OF_HEADER || h->size > MAX_SIZE_OF_HEADER)
+               return FILE_TYPE_UNKNOWN;
+
+       if (HeaderCrc(h) != h->header_crc32)
+               return FILE_TYPE_UNKNOWN;
+
+       return FILE_TYPE_CHROMIUMOS_DISK;
+}
+
+static int parse_hex(uint8_t *val, const char *str)
+{
+       uint8_t v = 0;
+       char c;
+       int digit;
+
+       for (digit = 0; digit < 2; digit++) {
+               c = *str;
+               if (!c)
+                       return 0;
+               if (!isxdigit(c))
+                       return 0;
+               c = tolower(c);
+               if (c >= '0' && c <= '9')
+                       v += c - '0';
+               else
+                       v += 10 + c - 'a';
+               if (!digit)
+                       v <<= 4;
+               str++;
+       }
+
+       *val = v;
+       return 1;
+}
+
+void parse_digest_or_die(uint8_t *buf, int len, const char *str)
+{
+       const char *s = str;
+       int i;
+
+       for (i = 0; i < len; i++) {
+               /* skip whitespace */
+               while (*s && isspace(*s))
+                       s++;
+               if (!*s)
+                       break;
+               if (!parse_hex(buf, s))
+                       break;
+
+               /* on to the next byte */
+               s += 2;
+               buf++;
+       }
+
+       if ((i != len) || *s) {
+               fprintf(stderr, "Invalid DIGEST \"%s\"\n", str);
+               exit(1);
+       }
+}
diff --git a/futility/updater.c b/futility/updater.c
new file mode 100644 (file)
index 0000000..b550b33
--- /dev/null
@@ -0,0 +1,1662 @@
+/* Copyright 2018 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * A reference implementation for AP (and supporting images) firmware updater.
+ */
+
+#include <assert.h>
+#include <ctype.h>
+
+#include "2rsa.h"
+#include "crossystem.h"
+#include "futility.h"
+#include "host_misc.h"
+#include "updater.h"
+#include "util_misc.h"
+
+#define REMOVE_WP_URL "https://goo.gl/ces83U"
+
+static const char ROOTKEY_HASH_DEV[] =
+               "b11d74edd286c144e1135b49e7f0bc20cf041f10";
+
+enum target_type {
+       TARGET_SELF,
+       TARGET_UPDATE,
+};
+
+enum rootkey_compat_result {
+       ROOTKEY_COMPAT_OK,
+       ROOTKEY_COMPAT_ERROR,
+       ROOTKEY_COMPAT_REKEY,
+       ROOTKEY_COMPAT_REKEY_TO_DEV,
+};
+
+/*
+ * Gets the system property by given type.
+ * If the property was not loaded yet, invoke the property getter function
+ * and cache the result.
+ * Returns the property value.
+ */
+int get_system_property(enum system_property_type property_type,
+                       struct updater_config *cfg)
+{
+       struct system_property *prop;
+
+       assert(property_type < SYS_PROP_MAX);
+       prop = &cfg->system_properties[property_type];
+       if (!prop->initialized) {
+               prop->initialized = 1;
+               prop->value = prop->getter();
+       }
+       return prop->value;
+}
+
+static void print_system_properties(struct updater_config *cfg)
+{
+       int i;
+
+       /*
+        * There may be error messages when fetching properties from active
+        * system, so we want to peek at them first and then print out.
+        */
+       VB2_DEBUG("Scanning system properties...\n");
+       for (i = 0; i < SYS_PROP_MAX; i++) {
+               get_system_property((enum system_property_type)i, cfg);
+       }
+
+       printf("System properties: [");
+       for (i = 0; i < SYS_PROP_MAX; i++) {
+               printf("%d,",
+                      get_system_property((enum system_property_type)i, cfg));
+       }
+       printf("]\n");
+}
+
+/*
+ * Overrides the return value of a system property.
+ * After invoked, next call to get_system_property(type, cfg) will return
+ * the given value.
+ */
+static void override_system_property(enum system_property_type property_type,
+                                    struct updater_config *cfg,
+                                    int value)
+{
+       struct system_property *prop;
+
+       assert(property_type < SYS_PROP_MAX);
+       prop = &cfg->system_properties[property_type];
+       prop->initialized = 1;
+       prop->value = value;
+}
+
+/*
+ * Overrides system properties from a given list.
+ * The list should be string of integers eliminated by comma and/or space.
+ * For example, "1 2 3" and "1,2,3" both overrides first 3 properties.
+ * To skip some properties you have to use comma, for example
+ * "1, , 3" will only override the first and 3rd properties.
+ * Invalid characters and fields will be ignored.
+ *
+ * The current implementation is only for unit testing.
+ * In future we may extend this with name=value so users can use it easily on
+ * actual systems.
+ */
+static void override_properties_from_list(const char *override_list,
+                                         struct updater_config *cfg)
+{
+       const char *s = override_list;
+       char *e, c;
+       int i = 0, wait_comma = 0;
+       long int v;
+
+       VB2_DEBUG("Input is <%s>\n", override_list);
+       for (c = *s; c; c = *++s) {
+               if (c == ',') {
+                       if (!wait_comma)
+                               i++;
+                       wait_comma = 0;
+               }
+               if (!isascii(c) || !(isdigit(c) || c == '-'))
+                       continue;
+               if (i >= SYS_PROP_MAX) {
+                       ERROR("Too many fields (max is %d): %s.\n",
+                             SYS_PROP_MAX, override_list);
+                       return;
+               }
+               v = strtol(s, &e, 0);
+               s = e - 1;
+               VB2_DEBUG("property[%d].value = %ld\n", i, v);
+               override_system_property((enum system_property_type)i, cfg, v);
+               wait_comma = 1;
+               i++;
+       }
+}
+
+/* Gets the value (setting) of specified quirks from updater configuration. */
+int get_config_quirk(enum quirk_types quirk, const struct updater_config *cfg)
+{
+       assert(quirk < QUIRK_MAX);
+       return cfg->quirks[quirk].value;
+}
+
+/* Prints the name and description from all supported quirks. */
+void updater_list_config_quirks(const struct updater_config *cfg)
+{
+       const struct quirk_entry *entry = cfg->quirks;
+       int i;
+
+       printf("Supported quirks:\n");
+       for (i = 0; i < QUIRK_MAX; i++, entry++) {
+               printf(" '%s': %s (default: %d)\n", entry->name,
+                      entry->help ? entry->help : "(no description)",
+                      get_config_quirk((enum quirk_types)i, cfg));
+       }
+}
+
+/*
+ * Applies a quirk if applicable (the value should be non-zero).
+ * Returns 0 on success, otherwise failure.
+ */
+static int try_apply_quirk(enum quirk_types quirk, struct updater_config *cfg)
+{
+       const struct quirk_entry *entry = cfg->quirks + quirk;
+       assert(quirk < QUIRK_MAX);
+
+       if (!entry->value)
+               return 0;
+
+       if (!entry->apply) {
+               ERROR("<%s> not implemented.\n", entry->name);
+               return -1;
+       }
+       VB2_DEBUG("Applying quirk <%s>.\n", entry->name);
+       return entry->apply(cfg);
+}
+
+/*
+ * Initialize the updater_config quirks from a list of settings.
+ * Returns 0 on success, otherwise failure.
+ */
+static int setup_config_quirks(const char *quirks, struct updater_config *cfg)
+{
+       /*
+        * The list should be in NAME[=VALUE],...
+        * Value defaults to 1 if not specified.
+        */
+       int r = 0;
+       char *buf = strdup(quirks);
+       char *token;
+       const char *delimiters = ", \n\r\t";
+
+       token = strtok(buf, delimiters);
+       for (; token; token = strtok(NULL, delimiters)) {
+               const char *name = token;
+               char *equ = strchr(token, '=');
+               int i, value = 1;
+               struct quirk_entry *entry = cfg->quirks;
+
+               if (!*name)
+                       continue;
+
+               if (equ) {
+                       *equ = '\0';
+                       value = strtol(equ + 1, NULL, 0);
+               }
+
+               VB2_DEBUG("Looking for quirk <%s=%d>.\n", name, value);
+               for (i = 0; i < QUIRK_MAX; i++, entry++) {
+                       if (strcmp(name, entry->name))
+                               continue;
+                       entry->value = value;
+                       VB2_DEBUG("Set quirk %s to %d.\n", entry->name, value);
+                       break;
+               }
+               if (i >= QUIRK_MAX) {
+                       ERROR("Unknown quirk: %s\n", name);
+                       r++;
+               }
+       }
+       free(buf);
+       return r;
+}
+
+/*
+ * Checks if the section is filled with given character.
+ * If section size is 0, return 0. If section is not empty, return non-zero if
+ * the section is filled with same character c, otherwise 0.
+ */
+static int section_is_filled_with(const struct firmware_section *section,
+                                 uint8_t c)
+{
+       uint32_t i;
+       if (!section->size)
+               return 0;
+       for (i = 0; i < section->size; i++)
+               if (section->data[i] != c)
+                       return 0;
+       return 1;
+}
+
+/*
+ * Decides which target in RW firmware to manipulate.
+ * The `target` argument specifies if we want to know "the section to be
+ * update" (TARGET_UPDATE), or "the (active) section * to check" (TARGET_SELF).
+ * Returns the section name if success, otherwise NULL.
+ */
+static const char *decide_rw_target(struct updater_config *cfg,
+                                   enum target_type target,
+                                   int is_vboot2)
+{
+       const char *a = FMAP_RW_SECTION_A, *b = FMAP_RW_SECTION_B;
+       int slot = get_system_property(SYS_PROP_MAINFW_ACT, cfg);
+
+       /* In vboot1, always update B and check content with A. */
+       if (!is_vboot2)
+               return target == TARGET_UPDATE ? b : a;
+
+       switch (slot) {
+       case SLOT_A:
+               return target == TARGET_UPDATE ? b : a;
+
+       case SLOT_B:
+               return target == TARGET_UPDATE ? a : b;
+       }
+
+       return NULL;
+}
+
+/*
+ * Sets any needed system properties to indicate system should try the new
+ * firmware on next boot.
+ * The `target` argument is an FMAP section name indicating which to try.
+ * Returns 0 if success, non-zero if error.
+ */
+static int set_try_cookies(struct updater_config *cfg, const char *target,
+                          int has_update, int is_vboot2)
+{
+       int tries = 8;
+       const char *slot;
+
+       /* EC Software Sync needs few more reboots. */
+       if (cfg->ec_image.data)
+               tries += 2;
+
+       if (!has_update)
+               tries = 0;
+
+       /* Find new slot according to target (section) name. */
+       if (strcmp(target, FMAP_RW_SECTION_A) == 0)
+               slot = FWACT_A;
+       else if (strcmp(target, FMAP_RW_SECTION_B) == 0)
+               slot = FWACT_B;
+       else {
+               ERROR("Unknown target: %s\n", target);
+               return -1;
+       }
+
+       if (cfg->emulation) {
+               INFO("(emulation) %s slot %s on next boot, try_count=%d.\n",
+                    has_update ? "Try" : "Keep", slot, tries);
+               return 0;
+       }
+
+       if (is_vboot2) {
+               if (VbSetSystemPropertyString("fw_try_next", slot)) {
+                       ERROR("Failed to set fw_try_next to %s.\n", slot);
+                       return -1;
+               }
+               if (!has_update &&
+                   VbSetSystemPropertyString("fw_result", "success")) {
+                       ERROR("Failed to set fw_result to success.\n");
+                       return -1;
+               }
+       }
+
+       /* fw_try_count is identical to fwb_tries in vboot1. */
+       if (VbSetSystemPropertyInt("fw_try_count", tries)) {
+               ERROR("Failed to set fw_try_count to %d.\n", tries);
+               return -1;
+       }
+
+       return 0;
+}
+
+/*
+ * Emulates writing to firmware.
+ * Returns 0 if success, non-zero if error.
+ */
+static int emulate_write_firmware(const char *filename,
+                                 const struct firmware_image *image,
+                                 const char *section_name)
+{
+       struct firmware_image to_image = {0};
+       struct firmware_section from, to;
+       int errorcnt = 0;
+
+       from.data = image->data;
+       from.size = image->size;
+
+       if (load_firmware_image(&to_image, filename, NULL)) {
+               ERROR("Cannot load image from %s.\n", filename);
+               return -1;
+       }
+
+       if (section_name) {
+               find_firmware_section(&from, image, section_name);
+               if (!from.data) {
+                       ERROR("No section %s in source image %s.\n",
+                             section_name, image->file_name);
+                       errorcnt++;
+               }
+               find_firmware_section(&to, &to_image, section_name);
+               if (!to.data) {
+                       ERROR("No section %s in destination image %s.\n",
+                             section_name, filename);
+                       errorcnt++;
+               }
+       } else if (image->size != to_image.size) {
+               ERROR("Image size is different (%s:%d != %s:%d)\n",
+                     image->file_name, image->size, to_image.file_name,
+                     to_image.size);
+               errorcnt++;
+       } else {
+               to.data = to_image.data;
+               to.size = to_image.size;
+       }
+
+       if (!errorcnt) {
+               size_t to_write = VB2_MIN(to.size, from.size);
+
+               assert(from.data && to.data);
+               VB2_DEBUG("Writing %zu bytes\n", to_write);
+               memcpy(to.data, from.data, to_write);
+       }
+
+       if (!errorcnt && vb2_write_file(
+                       filename, to_image.data, to_image.size)) {
+               ERROR("Failed writing to file: %s\n", filename);
+               errorcnt++;
+       }
+
+       free_firmware_image(&to_image);
+       return errorcnt;
+}
+
+/*
+ * Writes a section from given firmware image to system firmware.
+ * If section_name is NULL, write whole image.
+ * Returns 0 if success, non-zero if error.
+ */
+static int write_firmware(struct updater_config *cfg,
+                         const struct firmware_image *image,
+                         const char *section_name)
+{
+       struct firmware_image *diff_image = NULL;
+
+       if (cfg->emulation) {
+               INFO("(emulation) Writing %s from %s to %s (emu=%s).\n",
+                    section_name ? section_name : "whole image",
+                    image->file_name, image->programmer, cfg->emulation);
+
+               return emulate_write_firmware(
+                               cfg->emulation, image, section_name);
+       }
+
+       if (cfg->fast_update && image == &cfg->image && cfg->image_current.data)
+               diff_image = &cfg->image_current;
+
+       return write_system_firmware(image, diff_image, section_name,
+                                    &cfg->tempfiles, cfg->verbosity + 1);
+}
+
+/*
+ * Returns True if we should start the update process for given image.
+ */
+static int has_valid_update(struct updater_config *cfg,
+                       const struct firmware_image *image,
+                       const char *section_name,
+                       int is_host)
+{
+       if (!image->data) {
+               VB2_DEBUG("No data in <%s> image.\n", image->programmer);
+               return 0;
+       }
+       if (section_name && !firmware_section_exists(image, section_name)) {
+               VB2_DEBUG("Image %s<%s> does not have section %s.\n",
+                         image->file_name, image->programmer, section_name);
+               return 0;
+       }
+       /* Currently only host emulation is supported. */
+       if (cfg->emulation && !is_host) {
+               INFO("(emulation) Update %s from %s to %s (%d bytes), "
+                    "skipped for non-host targets in emulation.\n",
+                    section_name ? section_name : "whole image",
+                    image->file_name, image->programmer, image->size);
+               return 0;
+       }
+       return 1;
+}
+
+/*
+ * Write a section from given firmware image to system firmware if possible.
+ * If section_name is NULL, write whole image.  If the image has no data or if
+ * the section does not exist, ignore and return success.
+ * Returns 0 if success, non-zero if error.
+ */
+static int write_optional_firmware(struct updater_config *cfg,
+                                  const struct firmware_image *image,
+                                  const char *section_name,
+                                  int check_programmer_wp,
+                                  int is_host)
+{
+       if (!has_valid_update(cfg, image, section_name, is_host))
+               return 0;
+       /*
+        * EC & PD may have different WP settings and we want to write
+        * only if it is OK.
+        */
+       if (check_programmer_wp &&
+           get_system_property(SYS_PROP_WP_HW, cfg) == WP_ENABLED &&
+           flashrom_get_wp(image->programmer) == WP_ENABLED) {
+               ERROR("Target %s is write protected, skip updating.\n",
+                     image->programmer);
+               return 0;
+       }
+
+       return write_firmware(cfg, image, section_name);
+}
+
+/*
+ * Preserve the GBB contents from image_from to image_to.
+ * HWID is always preserved, and flags are preserved only if preserve_flags set.
+ * Returns 0 if success, otherwise -1 if GBB header can't be found or if HWID is
+ * too large.
+ */
+static int preserve_gbb(const struct firmware_image *image_from,
+                       struct firmware_image *image_to,
+                       int preserve_flags, int override_flags,
+                       uint64_t override_value)
+{
+       const struct vb2_gbb_header *gbb_from;
+       struct vb2_gbb_header *gbb_to;
+
+       gbb_from = find_gbb(image_from);
+       /* We do want to change GBB contents later. */
+       gbb_to = (struct vb2_gbb_header *)find_gbb(image_to);
+
+       if (!gbb_from || !gbb_to)
+               return -1;
+
+       /* Preserve (for non-factory mode) or override flags. */
+       if (override_flags)
+               gbb_to->flags = override_value;
+       else if (preserve_flags)
+               gbb_to->flags = gbb_from->flags;
+
+       /* Preserve HWID. */
+       return futil_set_gbb_hwid(
+                       gbb_to, (const char *)gbb_from + gbb_from->hwid_offset);
+}
+
+/*
+ * Preserves the regions locked by Intel management engine.
+ */
+static int preserve_management_engine(struct updater_config *cfg,
+                                     const struct firmware_image *image_from,
+                                     struct firmware_image *image_to)
+{
+       struct firmware_section section;
+
+       find_firmware_section(&section, image_from, FMAP_SI_ME);
+       if (!section.data) {
+               VB2_DEBUG("Skipped because no section %s.\n", FMAP_SI_ME);
+               return 0;
+       }
+       if (section_is_filled_with(&section, 0xFF)) {
+               VB2_DEBUG("ME is probably locked - preserving %s.\n",
+                         FMAP_SI_DESC);
+               return preserve_firmware_section(
+                               image_from, image_to, FMAP_SI_DESC);
+       }
+
+       if (try_apply_quirk(QUIRK_PRESERVE_ME, cfg) > 0) {
+               VB2_DEBUG("ME needs to be preserved - preserving %s.\n",
+                         FMAP_SI_ME);
+               return preserve_firmware_section(
+                               image_from, image_to, FMAP_SI_ME);
+       }
+
+       return try_apply_quirk(QUIRK_UNLOCK_ME_FOR_UPDATE, cfg);
+}
+
+/* Preserve firmware sections by FMAP area flags. */
+static int preserve_fmap_sections(struct firmware_image *from,
+                                 struct firmware_image *to,
+                                 int *count)
+{
+       int i, errcnt = 0;
+       FmapHeader *fmap = to->fmap_header;
+       FmapAreaHeader *ah = (FmapAreaHeader*)(
+                       (uint8_t *)fmap + sizeof(FmapHeader));
+       *count = 0;
+
+       for (i = 0; i < fmap->fmap_nareas; i++, ah++) {
+               if (!(ah->area_flags & FMAP_AREA_PRESERVE))
+                       continue;
+               /* Warning: area_name 'may' not end with NUL. */
+               if (!firmware_section_exists(from, ah->area_name)) {
+                       VB2_DEBUG("FMAP area does not exist in source: %.*s\n",
+                                 FMAP_NAMELEN, ah->area_name);
+                       continue;
+               }
+               VB2_DEBUG("Preserve FMAP area: %.*s\n", FMAP_NAMELEN,
+                         ah->area_name);
+               errcnt += preserve_firmware_section(from, to, ah->area_name);
+               (*count)++;
+       }
+
+       return errcnt;
+}
+
+/*
+ * Preserve old images without "preserve" information in FMAP.
+ * We have to use the legacy hard-coded list of names.
+ */
+static int preserve_known_sections(struct firmware_image *from,
+                                  struct firmware_image *to)
+{
+       int errcnt = 0, i;
+       const char * const names[] = {
+               "RW_PRESERVE",  /* Only octopus fw branch is using this. */
+               "RO_VPD",
+               "RW_VPD",
+               "SMMSTORE",
+               "RW_NVRAM",
+               "RW_ELOG",
+       };
+
+       for (i = 0; i < ARRAY_SIZE(names); i++) {
+               if (!firmware_section_exists(from, names[i]))
+                       continue;
+               VB2_DEBUG("Preserve firmware section: %s\n", names[i]);
+               errcnt += preserve_firmware_section(from, to, names[i]);
+       }
+       return errcnt;
+}
+
+/*
+ * Preserves the critical sections from the current (active) firmware.
+ * Currently preserved sections: GBB (HWID and flags), x86 ME, and any firmware
+ * sections with FMAP_AREA_PRESERVE flag set (or a list of known names).
+ * Returns 0 if success, non-zero if error.
+ */
+static int preserve_images(struct updater_config *cfg)
+{
+       int errcnt = 0, found;
+       struct firmware_image *from = &cfg->image_current, *to = &cfg->image;
+
+       errcnt += preserve_gbb(from, to, !cfg->factory_update,
+                              cfg->override_gbb_flags, cfg->gbb_flags);
+       errcnt += preserve_management_engine(cfg, from, to);
+       errcnt += preserve_fmap_sections(from, to, &found);
+
+       if (!found)
+               errcnt += preserve_known_sections(from, to);
+
+       return errcnt;
+}
+
+/*
+ * Compares if two sections have same size and data.
+ * Returns 0 if given sections are the same, otherwise non-zero.
+ */
+static int compare_section(const struct firmware_section *a,
+                          const struct firmware_section *b)
+{
+       if (a->size != b->size)
+               return a->size - b->size;
+       return memcmp(a->data, b->data, a->size);
+}
+
+/*
+ * Returns if the images are different (should be updated) in given section.
+ * If the section contents are the same or if the section does not exist on both
+ * images, return value is 0 (no need to update). Otherwise the return value is
+ * non-zero, indicating an update should be performed.
+ * If section_name is NULL, compare whole images.
+ */
+static int section_needs_update(const struct firmware_image *image_from,
+                               const struct firmware_image *image_to,
+                               const char *section_name)
+{
+       struct firmware_section from, to;
+
+       if (!section_name) {
+               if (image_from->size != image_to->size)
+                       return -1;
+               return memcmp(image_from->data, image_to->data, image_to->size);
+       }
+
+       find_firmware_section(&from, image_from, section_name);
+       find_firmware_section(&to, image_to, section_name);
+
+       return compare_section(&from, &to);
+}
+
+/*
+ * Returns true if the write protection is enabled on current system.
+ */
+static int is_write_protection_enabled(struct updater_config *cfg)
+{
+       /* Default to enabled. */
+       int wp = get_system_property(SYS_PROP_WP_HW, cfg);
+       if (wp == WP_DISABLED)
+               return wp;
+       /* For error or enabled, check WP SW. */
+       wp = get_system_property(SYS_PROP_WP_SW, cfg);
+       /* Consider all errors as enabled. */
+       if (wp != WP_DISABLED)
+               return WP_ENABLED;
+       return wp;
+}
+
+/*
+ * Checks if the given firmware images are compatible with current platform.
+ * In current implementation (following Chrome OS style), we assume the platform
+ * is identical to the name before a dot (.) in firmware version.
+ * Returns 0 for success, otherwise failure.
+ */
+static int check_compatible_platform(struct updater_config *cfg)
+{
+       int len;
+       struct firmware_image *image_from = &cfg->image_current,
+                             *image_to = &cfg->image;
+       const char *from_dot = strchr(image_from->ro_version, '.'),
+                  *to_dot = strchr(image_to->ro_version, '.');
+
+       if (!from_dot || !to_dot) {
+               VB2_DEBUG("Missing dot (from=%p, to=%p)\n", from_dot, to_dot);
+               return -1;
+       }
+       len = from_dot - image_from->ro_version + 1;
+       VB2_DEBUG("Platform: %*.*s\n", len, len, image_from->ro_version);
+       return strncasecmp(image_from->ro_version, image_to->ro_version, len);
+}
+
+/*
+ * Returns a valid root key from GBB header, or NULL on failure.
+ */
+const struct vb2_packed_key *get_rootkey(
+               const struct vb2_gbb_header *gbb)
+{
+       struct vb2_packed_key *key = NULL;
+
+       key = (struct vb2_packed_key *)((uint8_t *)gbb + gbb->rootkey_offset);
+       if (vb2_packed_key_looks_ok(key, gbb->rootkey_size)) {
+               ERROR("Invalid root key.\n");
+               return NULL;
+       }
+       return key;
+}
+
+/*
+ * Returns a keyblock key from given image section, or NULL on failure.
+ */
+static const struct vb2_keyblock *get_keyblock(
+               const struct firmware_image *image,
+               const char *section_name)
+{
+       struct firmware_section section;
+
+       find_firmware_section(&section, image, section_name);
+       /* A keyblock must be followed by a vb2_fw_preamble. */
+       if (section.size < sizeof(struct vb2_keyblock) +
+           sizeof(struct vb2_fw_preamble)) {
+               ERROR("Invalid section: %s\n", section_name);
+               return NULL;
+       }
+       return (const struct vb2_keyblock *)section.data;
+}
+
+/*
+ * Duplicates a keyblock and returns the duplicated block.
+ * The caller must free the returned keyblock after being used.
+ */
+static struct vb2_keyblock *dupe_keyblock(const struct vb2_keyblock *block)
+{
+       struct vb2_keyblock *new_block;
+
+       new_block = (struct vb2_keyblock *)malloc(block->keyblock_size);
+       assert(new_block);
+       memcpy(new_block, block, block->keyblock_size);
+       return new_block;
+}
+
+/*
+ * Verifies if keyblock is signed with given key.
+ * Returns 0 on success, otherwise failure.
+ */
+static int verify_keyblock(const struct vb2_keyblock *block,
+                          const struct vb2_packed_key *sign_key) {
+       int r;
+       uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+               __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+       struct vb2_public_key key;
+       struct vb2_keyblock *new_block;
+
+       if (block->keyblock_signature.sig_size == 0) {
+               ERROR("Keyblock is not signed.\n");
+               return -1;
+       }
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+       if (VB2_SUCCESS != vb2_unpack_key(&key, sign_key)) {
+               ERROR("Invalid signing key.\n");
+               return -1;
+       }
+
+       /*
+        * vb2_verify_keyblock will destroy the signature inside keyblock
+        * so we have to verify with a local copy.
+        */
+       new_block = dupe_keyblock(block);
+       r = vb2_verify_keyblock(new_block, new_block->keyblock_size, &key, &wb);
+       free(new_block);
+
+       if (r != VB2_SUCCESS) {
+               ERROR("Failed verifying keyblock.\n");
+               return -1;
+       }
+       return 0;
+}
+
+/*
+ * Gets the data key and firmware version from a section on firmware image.
+ * The section should contain a vb2_keyblock and a vb2_fw_preamble immediately
+ * after keyblock so we can decode and save the data key and firmware version
+ * into argument `data_key_version` and `firmware_version`.
+ * Returns 0 for success, otherwise failure.
+ */
+static int get_key_versions(const struct firmware_image *image,
+                           const char *section_name,
+                           unsigned int *data_key_version,
+                           unsigned int *firmware_version)
+{
+       const struct vb2_keyblock *keyblock = get_keyblock(image, section_name);
+       const struct vb2_fw_preamble *pre;
+
+       if (!keyblock)
+               return -1;
+       *data_key_version = keyblock->data_key.key_version;
+       pre = (struct vb2_fw_preamble *)((uint8_t*)keyblock +
+                                        keyblock->keyblock_size);
+       *firmware_version = pre->firmware_version;
+       VB2_DEBUG("%s: data key version = %d, firmware version = %d\n",
+                 image->file_name, *data_key_version, *firmware_version);
+       return 0;
+}
+
+/*
+ * Checks if the root key in ro_image can verify vblocks in rw_image.
+ * Returns 0 for success, otherwise failure.
+ */
+static enum rootkey_compat_result check_compatible_root_key(
+               const struct firmware_image *ro_image,
+               const struct firmware_image *rw_image)
+{
+       const struct vb2_gbb_header *gbb = find_gbb(ro_image);
+       const struct vb2_packed_key *rootkey;
+       const struct vb2_keyblock *keyblock;
+
+       if (!gbb)
+               return ROOTKEY_COMPAT_ERROR;
+
+       rootkey = get_rootkey(gbb);
+       if (!rootkey)
+               return ROOTKEY_COMPAT_ERROR;
+
+       /* Assume VBLOCK_A and VBLOCK_B are signed in same way. */
+       keyblock = get_keyblock(rw_image, FMAP_RW_VBLOCK_A);
+       if (!keyblock)
+               return ROOTKEY_COMPAT_ERROR;
+
+       if (verify_keyblock(keyblock, rootkey) != 0) {
+               const struct vb2_gbb_header *gbb_rw = find_gbb(rw_image);
+               const struct vb2_packed_key *rootkey_rw = NULL;
+               int is_same_key = 0, to_dev = 0;
+               /*
+                * Try harder to provide more info.
+                * packed_key_sha1_string uses static buffer so don't call
+                * it twice in args list of one expression.
+                */
+               if (gbb_rw)
+                       rootkey_rw = get_rootkey(gbb_rw);
+               if (rootkey_rw) {
+                       if (rootkey->key_offset == rootkey_rw->key_offset &&
+                           rootkey->key_size == rootkey_rw->key_size &&
+                           memcmp(rootkey, rootkey_rw, rootkey->key_size +
+                                  rootkey->key_offset) == 0)
+                               is_same_key = 1;
+                       if (strcmp(packed_key_sha1_string(rootkey_rw),
+                                  ROOTKEY_HASH_DEV) == 0)
+                               to_dev = 1;
+               }
+               INFO("Current (RO) firmware image has root key: %s\n",
+                    packed_key_sha1_string(rootkey));
+               if (is_same_key) {
+                       ERROR("Rootkey is same as target (RW) image. \n"
+                             "Maybe RW corrupted?");
+                       return ROOTKEY_COMPAT_ERROR;
+               }
+               WARN("Target (RW) image is signed by root key: %s%s\n",
+                    rootkey_rw ? packed_key_sha1_string(rootkey_rw) :
+                    "<invalid>", to_dev ? " (DEV/unsigned)" : "");
+               return to_dev ? ROOTKEY_COMPAT_REKEY_TO_DEV :
+                               ROOTKEY_COMPAT_REKEY;
+       }
+       return ROOTKEY_COMPAT_OK;
+}
+
+/*
+ * Returns non-zero if the RW_LEGACY needs to be updated, otherwise 0.
+ */
+static int legacy_needs_update(struct updater_config *cfg)
+{
+       int has_from, has_to;
+       const char * const tag = "cros_allow_auto_update";
+       const char *section = FMAP_RW_LEGACY;
+       const char *tmp_path;
+
+       VB2_DEBUG("Checking %s contents...\n", FMAP_RW_LEGACY);
+
+       tmp_path = get_firmware_image_temp_file(&cfg->image, &cfg->tempfiles);
+       if (!tmp_path)
+               return 0;
+
+       has_to = cbfs_file_exists(tmp_path, section, tag);
+       has_from = cbfs_file_exists(tmp_path, section, tag);
+
+       if (!has_from || !has_to) {
+               VB2_DEBUG("Current legacy firmware has%s updater tag (%s) and "
+                         "target firmware has%s updater tag, won't update.\n",
+                         has_from ? "" : " no", tag, has_to ? "" : " no");
+               return 0;
+       }
+
+       return section_needs_update(
+                       &cfg->image_current, &cfg->image, FMAP_RW_LEGACY);
+}
+
+/*
+ * Checks if the given firmware image is signed with a key that won't be
+ * blocked by TPM's anti-rollback detection.
+ * Returns 0 for success, otherwise failure.
+ */
+static int do_check_compatible_tpm_keys(struct updater_config *cfg,
+                                       const struct firmware_image *rw_image)
+{
+       unsigned int data_key_version = 0, firmware_version = 0,
+                    tpm_data_key_version = 0, tpm_firmware_version = 0;
+       int tpm_fwver = 0;
+
+       /* Fail if the given image does not look good. */
+       if (get_key_versions(rw_image, FMAP_RW_VBLOCK_A, &data_key_version,
+                            &firmware_version) != 0)
+               return -1;
+
+       /* The stored tpm_fwver can be 0 (b/116298359#comment3). */
+       tpm_fwver = get_system_property(SYS_PROP_TPM_FWVER, cfg);
+       if (tpm_fwver < 0) {
+               /*
+                * tpm_fwver is commonly misreported in --ccd mode, so allow
+                * force_update to ignore the reported value.
+                */
+               if (!cfg->force_update)
+                       ERROR("Invalid tpm_fwver: %d.\n", tpm_fwver);
+               return -1;
+       }
+
+       tpm_data_key_version = tpm_fwver >> 16;
+       tpm_firmware_version = tpm_fwver & 0xffff;
+       VB2_DEBUG("TPM: data_key_version = %d, firmware_version = %d\n",
+                 tpm_data_key_version, tpm_firmware_version);
+
+       if (tpm_data_key_version > data_key_version) {
+               ERROR("Data key version rollback detected (%d->%d).\n",
+                     tpm_data_key_version, data_key_version);
+               return -1;
+       }
+       if (tpm_firmware_version > firmware_version) {
+               ERROR("Firmware version rollback detected (%d->%d).\n",
+                     tpm_firmware_version, firmware_version);
+               return -1;
+       }
+       return 0;
+}
+
+/*
+ * Wrapper for do_check_compatible_tpm_keys.
+ * Will return 0 if do_check_compatible_tpm_keys success or if cfg.force_update
+ * is set; otherwise non-zero.
+ */
+static int check_compatible_tpm_keys(struct updater_config *cfg,
+                                    const struct firmware_image *rw_image)
+{
+       int r = do_check_compatible_tpm_keys(cfg, rw_image);
+       if (!r)
+               return r;
+       if (!cfg->force_update) {
+               ERROR("Add --force if you want to waive TPM checks.\n");
+               return r;
+       }
+       WARN("TPM KEYS CHECK IS WAIVED BY --force. YOU ARE ON YOUR OWN.\n");
+       return 0;
+}
+
+
+/*
+ * Update EC (RO+RW) firmware.
+ * Returns 0 if success, non-zero if error.
+ */
+static int update_ec_firmware(struct updater_config *cfg)
+{
+       struct firmware_image *ec_image = &cfg->ec_image;
+       if (!has_valid_update(cfg, ec_image, NULL, 0))
+               return 0;
+
+       int r = try_apply_quirk(QUIRK_EC_PARTIAL_RECOVERY, cfg);
+       switch (r) {
+       case EC_RECOVERY_FULL:
+               return write_optional_firmware(cfg, ec_image, NULL, 1, 0);
+
+       case EC_RECOVERY_RO:
+               return write_optional_firmware(cfg, ec_image, "WP_RO", 1, 0);
+
+       case EC_RECOVERY_DONE:
+               /* Done by some quirks, for example EC RO software sync. */
+               return 0;
+       }
+       return r;
+}
+
+const char * const updater_error_messages[] = {
+       [UPDATE_ERR_DONE] = "Done (no error)",
+       [UPDATE_ERR_NEED_RO_UPDATE] = "RO changed and no WP. Need full update.",
+       [UPDATE_ERR_NO_IMAGE] = "No image to update; try specify with -i.",
+       [UPDATE_ERR_SYSTEM_IMAGE] = "Cannot load system active firmware.",
+       [UPDATE_ERR_INVALID_IMAGE] = "The given firmware image is not valid.",
+       [UPDATE_ERR_SET_COOKIES] = "Failed writing system flags to try update.",
+       [UPDATE_ERR_WRITE_FIRMWARE] = "Failed writing firmware.",
+       [UPDATE_ERR_PLATFORM] = "Your system platform is not compatible.",
+       [UPDATE_ERR_TARGET] = "No valid RW target to update. Abort.",
+       [UPDATE_ERR_ROOT_KEY] = "RW signed by incompatible root key "
+                               "(different from RO).",
+       [UPDATE_ERR_TPM_ROLLBACK] = "RW not usable due to TPM anti-rollback.",
+       [UPDATE_ERR_UNKNOWN] = "Unknown error.",
+};
+
+/*
+ * The main updater for "Try-RW update", to update only one RW section
+ * and try if it can boot properly on reboot.
+ * This was also known as --mode=autoupdate,--wp=1 in legacy updater.
+ * Returns UPDATE_ERR_DONE if success, otherwise error.
+ */
+static enum updater_error_codes update_try_rw_firmware(
+               struct updater_config *cfg,
+               struct firmware_image *image_from,
+               struct firmware_image *image_to,
+               int wp_enabled)
+{
+       const char *target;
+       int has_update = 1;
+       int is_vboot2 = get_system_property(SYS_PROP_FW_VBOOT2, cfg);
+
+       preserve_gbb(image_from, image_to, 1, 0, 0);
+       if (!wp_enabled && section_needs_update(
+                       image_from, image_to, FMAP_RO_SECTION))
+               return UPDATE_ERR_NEED_RO_UPDATE;
+
+       INFO("Checking compatibility...\n");
+       if (check_compatible_root_key(image_from, image_to))
+               return UPDATE_ERR_ROOT_KEY;
+       if (check_compatible_tpm_keys(cfg, image_to))
+               return UPDATE_ERR_TPM_ROLLBACK;
+
+       VB2_DEBUG("Firmware %s vboot2.\n", is_vboot2 ?  "is" : "is NOT");
+       target = decide_rw_target(cfg, TARGET_SELF, is_vboot2);
+       if (target == NULL) {
+               ERROR("TRY-RW update needs system to boot in RW firmware.\n");
+               return UPDATE_ERR_TARGET;
+       }
+
+       INFO("Checking %s contents...\n", target);
+       if (!firmware_section_exists(image_to, target)) {
+               ERROR("Cannot find section '%s' on firmware image: %s\n",
+                     target, image_to->file_name);
+               return UPDATE_ERR_INVALID_IMAGE;
+       }
+       if (!cfg->force_update)
+               has_update = section_needs_update(image_from, image_to, target);
+
+       if (has_update) {
+               target = decide_rw_target(cfg, TARGET_UPDATE, is_vboot2);
+               STATUS("TRY-RW UPDATE: Updating %s to try on reboot.\n",
+                      target);
+
+               if (write_firmware(cfg, image_to, target))
+                       return UPDATE_ERR_WRITE_FIRMWARE;
+       }
+
+       /* Always set right cookies for next boot. */
+       if (set_try_cookies(cfg, target, has_update, is_vboot2))
+               return UPDATE_ERR_SET_COOKIES;
+
+       /* Do not fail on updating legacy. */
+       if (legacy_needs_update(cfg)) {
+               has_update = 1;
+               STATUS("LEGACY UPDATE: Updating %s.\n", FMAP_RW_LEGACY);
+               write_firmware(cfg, image_to, FMAP_RW_LEGACY);
+       }
+
+       if (!has_update)
+               STATUS("NO UPDATE: No need to update.\n");
+
+       return UPDATE_ERR_DONE;
+}
+
+/*
+ * The main updater for "RW update".
+ * This was also known as --mode=recovery, --wp=1 in legacy updater.
+ * Returns UPDATE_ERR_DONE if success, otherwise error.
+ */
+static enum updater_error_codes update_rw_firmware(
+               struct updater_config *cfg,
+               struct firmware_image *image_from,
+               struct firmware_image *image_to)
+{
+       STATUS("RW UPDATE: Updating RW sections (%s, %s, %s, and %s).\n",
+              FMAP_RW_SECTION_A, FMAP_RW_SECTION_B, FMAP_RW_SHARED,
+              FMAP_RW_LEGACY);
+
+       INFO("Checking compatibility...\n");
+       if (check_compatible_root_key(image_from, image_to))
+               return UPDATE_ERR_ROOT_KEY;
+       if (check_compatible_tpm_keys(cfg, image_to))
+               return UPDATE_ERR_TPM_ROLLBACK;
+       /*
+        * TODO(hungte) Speed up by flashing multiple sections in one
+        * command, or provide diff file.
+        */
+       if (write_firmware(cfg, image_to, FMAP_RW_SECTION_A) ||
+           write_firmware(cfg, image_to, FMAP_RW_SECTION_B) ||
+           write_firmware(cfg, image_to, FMAP_RW_SHARED) ||
+           write_optional_firmware(cfg, image_to, FMAP_RW_LEGACY, 0, 1))
+               return UPDATE_ERR_WRITE_FIRMWARE;
+
+       return UPDATE_ERR_DONE;
+}
+
+/*
+ * The main updater for "Legacy update".
+ * This is equivalent to --mode=legacy.
+ * Returns UPDATE_ERR_DONE if success, otherwise error.
+ */
+static enum updater_error_codes update_legacy_firmware(
+               struct updater_config *cfg,
+               struct firmware_image *image_to)
+{
+       STATUS("LEGACY UPDATE: Updating firmware %s.\n", FMAP_RW_LEGACY);
+
+       if (write_firmware(cfg, image_to, FMAP_RW_LEGACY))
+               return UPDATE_ERR_WRITE_FIRMWARE;
+
+       return UPDATE_ERR_DONE;
+}
+
+/*
+ * The main updater for "Full update".
+ * This was also known as "--mode=factory" or "--mode=recovery, --wp=0" in
+ * legacy updater.
+ * Returns UPDATE_ERR_DONE if success, otherwise error.
+ */
+static enum updater_error_codes update_whole_firmware(
+               struct updater_config *cfg,
+               struct firmware_image *image_to)
+{
+       STATUS("FULL UPDATE: Updating whole firmware image(s), RO+RW.\n");
+
+       if (preserve_images(cfg))
+               VB2_DEBUG("Failed to preserve some sections - ignore.\n");
+
+       INFO("Checking compatibility...\n");
+       if (!cfg->force_update) {
+               /* Check if the image_to itself is broken */
+               enum rootkey_compat_result r = check_compatible_root_key(
+                               image_to, image_to);
+               if (r != ROOTKEY_COMPAT_OK) {
+                       ERROR("Target image does not look valid. \n"
+                             "Add --force if you really want to use it.");
+                       return UPDATE_ERR_ROOT_KEY;
+               }
+
+               /* Check if the system is going to re-key. */
+               r = check_compatible_root_key(&cfg->image_current, image_to);
+               /* We only allow re-key to non-dev keys. */
+               switch (r) {
+               case ROOTKEY_COMPAT_OK:
+                       break;
+               case ROOTKEY_COMPAT_REKEY:
+                       INFO("Will change firmware signing key.\n");
+                       break;
+               case ROOTKEY_COMPAT_REKEY_TO_DEV:
+                       ERROR("Re-key to DEV is not allowed. \n"
+                             "Add --force if you really want to do that.");
+                       return UPDATE_ERR_ROOT_KEY;
+               default:
+                       return UPDATE_ERR_ROOT_KEY;
+               }
+       }
+       if (check_compatible_tpm_keys(cfg, image_to))
+               return UPDATE_ERR_TPM_ROLLBACK;
+
+       /* FMAP may be different so we should just update all. */
+       if (write_firmware(cfg, image_to, NULL) ||
+           update_ec_firmware(cfg) ||
+           write_optional_firmware(cfg, &cfg->pd_image, NULL, 1, 0))
+               return UPDATE_ERR_WRITE_FIRMWARE;
+
+       return UPDATE_ERR_DONE;
+}
+
+/*
+ * The main updater to update system firmware using the configuration parameter.
+ * Returns UPDATE_ERR_DONE if success, otherwise failure.
+ */
+enum updater_error_codes update_firmware(struct updater_config *cfg)
+{
+       int wp_enabled, done = 0;
+       enum updater_error_codes r = UPDATE_ERR_UNKNOWN;
+
+       struct firmware_image *image_from = &cfg->image_current,
+                             *image_to = &cfg->image;
+       if (!image_to->data)
+               return UPDATE_ERR_NO_IMAGE;
+
+       STATUS("Target image: %s (RO:%s, RW/A:%s, RW/B:%s).\n",
+            image_to->file_name, image_to->ro_version,
+            image_to->rw_version_a, image_to->rw_version_b);
+
+       if (try_apply_quirk(QUIRK_MIN_PLATFORM_VERSION, cfg)) {
+               if (!cfg->force_update) {
+                       ERROR("Add --force to waive checking the version.\n");
+                       return UPDATE_ERR_PLATFORM;
+               }
+       }
+       if (!image_from->data) {
+               int ret;
+               INFO("Loading current system firmware...\n");
+               ret = load_system_firmware(image_from, &cfg->tempfiles,
+                                          cfg->verbosity);
+               if (ret == IMAGE_PARSE_FAILURE && cfg->force_update) {
+                       WARN("No compatible firmware in system.\n");
+                       cfg->check_platform = 0;
+               } else if (ret)
+                       return UPDATE_ERR_SYSTEM_IMAGE;
+       }
+       STATUS("Current system: %s (RO:%s, RW/A:%s, RW/B:%s).\n",
+              image_from->file_name, image_from->ro_version,
+              image_from->rw_version_a, image_from->rw_version_b);
+
+       try_apply_quirk(QUIRK_NO_CHECK_PLATFORM, cfg);
+       if (cfg->check_platform && check_compatible_platform(cfg)) {
+               ERROR("The firmware image is not compatible with your system. "
+                     "If you really want to proceed, please run again with: "
+                     "--quirks=no_check_platform\n");
+               return UPDATE_ERR_PLATFORM;
+       }
+
+       wp_enabled = is_write_protection_enabled(cfg);
+       STATUS("Write protection: %d (%s; HW=%d, SW=%d).\n", wp_enabled,
+              wp_enabled ? "enabled" : "disabled",
+              get_system_property(SYS_PROP_WP_HW, cfg),
+              get_system_property(SYS_PROP_WP_SW, cfg));
+
+       if (try_apply_quirk(QUIRK_ENLARGE_IMAGE, cfg))
+               return UPDATE_ERR_SYSTEM_IMAGE;
+
+       if (try_apply_quirk(QUIRK_EVE_SMM_STORE, cfg))
+               return UPDATE_ERR_INVALID_IMAGE;
+
+       if (debugging_enabled)
+               print_system_properties(cfg);
+
+       if (cfg->legacy_update)
+               return update_legacy_firmware(cfg, image_to);
+
+       if (cfg->try_update) {
+               r = update_try_rw_firmware(cfg, image_from, image_to,
+                                          wp_enabled);
+               if (r == UPDATE_ERR_NEED_RO_UPDATE)
+                       WARN("%s\n", updater_error_messages[r]);
+               else
+                       done = 1;
+       }
+
+       if (!done) {
+               r = wp_enabled ? update_rw_firmware(cfg, image_from, image_to) :
+                                update_whole_firmware(cfg, image_to);
+       }
+
+       /* Providing more hints for what to do on failure. */
+       if (r == UPDATE_ERR_ROOT_KEY && wp_enabled)
+               ERROR("To change keys in RO area, you must first remove "
+                     "write protection ( " REMOVE_WP_URL " ).\n");
+
+       return r;
+}
+
+/*
+ * Allocates and initializes a updater_config object with default values.
+ * Returns the newly allocated object, or NULL on error.
+ */
+struct updater_config *updater_new_config()
+{
+       struct updater_config *cfg = (struct updater_config *)calloc(
+                       1, sizeof(struct updater_config));
+       if (!cfg)
+               return cfg;
+       cfg->image.programmer = PROG_HOST;
+       cfg->image_current.programmer = PROG_HOST;
+       cfg->ec_image.programmer = PROG_EC;
+       cfg->pd_image.programmer = PROG_PD;
+
+       cfg->check_platform = 1;
+
+       init_system_properties(&cfg->system_properties[0],
+                              ARRAY_SIZE(cfg->system_properties));
+       updater_register_quirks(cfg);
+       return cfg;
+}
+
+/*
+ * Setup quirks for updating current image.
+ *
+ * Quirks must be loaded after image loaded because we use image contents to
+ * decide default quirks to load. Also, we have to load default quirks first so
+ * user can override them using command line.
+ *
+ * Returns 0 on success, otherwise number of failures.
+ */
+static int updater_setup_quirks(struct updater_config *cfg,
+                               const struct updater_config_arguments *arg)
+{
+       int errorcnt = 0;
+       const char *model_quirks = updater_get_model_quirks(cfg);
+       char *cbfs_quirks = updater_get_cbfs_quirks(cfg);
+
+       if (model_quirks)
+               errorcnt += !!setup_config_quirks(model_quirks, cfg);
+       if (cbfs_quirks) {
+               errorcnt += !!setup_config_quirks(cbfs_quirks, cfg);
+               free(cbfs_quirks);
+       }
+       if (arg->quirks)
+               errorcnt += !!setup_config_quirks(arg->quirks, cfg);
+       return errorcnt;
+}
+
+/*
+ * Loads images into updater configuration.
+ * Returns 0 on success, otherwise number of failures.
+ */
+static int updater_load_images(struct updater_config *cfg,
+                              const struct updater_config_arguments *arg,
+                              const char *image,
+                              const char *ec_image,
+                              const char *pd_image)
+{
+       int errorcnt = 0;
+       struct archive *ar = cfg->archive;
+
+       if (!cfg->image.data && image) {
+               if (image && strcmp(image, "-") == 0) {
+                       INFO("Reading image from stdin...\n");
+                       image = create_temp_file(&cfg->tempfiles);
+                       if (image)
+                               errorcnt += !!save_file_from_stdin(image);
+               }
+               errorcnt += !!load_firmware_image(&cfg->image, image, ar);
+               if (!errorcnt)
+                       errorcnt += updater_setup_quirks(cfg, arg);
+       }
+       if (arg->host_only)
+               return errorcnt;
+
+       if (!cfg->ec_image.data && ec_image)
+               errorcnt += !!load_firmware_image(&cfg->ec_image, ec_image, ar);
+       if (!cfg->pd_image.data && pd_image)
+               errorcnt += !!load_firmware_image(&cfg->pd_image, pd_image, ar);
+       return errorcnt;
+}
+
+/*
+ * Writes a firmware image to specified file.
+ * Returns 0 on success, otherwise failure.
+ */
+static int updater_output_image(const struct firmware_image *image,
+                               const char *fname, const char *root)
+{
+       int r = 0;
+       char *fpath;
+
+       if (!image->data)
+               return 0;
+
+       ASPRINTF(&fpath, "%s/%s", root, fname);
+       r = vb2_write_file(fpath, image->data, image->size);
+       if (r)
+               ERROR("Failed writing firmware image to: %s\n", fpath);
+       else
+               printf("Firmware image saved in: %s\n", fpath);
+
+       free(fpath);
+       return !!r;
+}
+
+/*
+ * Applies white label information to an existing model config.
+ * Returns 0 on success, otherwise failure.
+ */
+static int updater_apply_white_label(struct updater_config *cfg,
+                                    struct model_config *model,
+                                    const char *signature_id)
+{
+       const char *tmp_image = NULL;
+
+       assert(model->is_white_label);
+       if (!signature_id) {
+               if (!cfg->image_current.data) {
+                       INFO("Loading system firmware for white label...\n");
+                       load_system_firmware(&cfg->image_current,
+                                            &cfg->tempfiles, cfg->verbosity);
+               }
+               tmp_image = get_firmware_image_temp_file(
+                               &cfg->image_current, &cfg->tempfiles);
+               if (!tmp_image) {
+                       ERROR("Failed to get system current firmware\n");
+                       return 1;
+               }
+               if (get_config_quirk(QUIRK_OVERRIDE_SIGNATURE_ID, cfg) &&
+                   is_write_protection_enabled(cfg))
+                       quirk_override_signature_id(
+                                       cfg, model, &signature_id);
+       }
+       return !!model_apply_white_label(
+                       model, cfg->archive, signature_id, tmp_image);
+}
+
+/*
+ * Setup what the updater has to do against an archive.
+ * Returns number of failures, or 0 on success.
+ */
+static int updater_setup_archive(
+               struct updater_config *cfg,
+               const struct updater_config_arguments *arg,
+               struct manifest *manifest,
+               int is_factory)
+{
+       int errorcnt = 0;
+       struct archive *ar = cfg->archive;
+       const struct model_config *model;
+
+       if (arg->do_manifest) {
+               assert(!arg->image);
+               print_json_manifest(manifest);
+               /* No additional error. */
+               return errorcnt;
+       }
+
+       model = manifest_find_model(manifest, arg->model);
+       if (!model)
+               return ++errorcnt;
+
+       /* Load images now so we can get quirks in WL checks. */
+       errorcnt += updater_load_images(
+                       cfg, arg, model->image, model->ec_image,
+                       model->pd_image);
+
+       if (model->is_white_label && !manifest->has_keyset) {
+               /*
+                * Developers running unsigned updaters (usually local build)
+                * won't be able match any white label tags.
+                */
+               WARN("No keysets found - this is probably a local build of \n"
+                    "unsigned firmware updater. Skip applying white label.");
+       } else if (model->is_white_label) {
+               /*
+                * It is fine to fail in updater_apply_white_label for factory
+                * mode so we are not checking the return value; instead we
+                * verify if the patches do contain new root key.
+                */
+               updater_apply_white_label(cfg, (struct model_config *)model,
+                                         arg->signature_id);
+               if (!model->patches.rootkey) {
+                       if (is_factory ||
+                           is_write_protection_enabled(cfg) ||
+                           get_config_quirk(QUIRK_ALLOW_EMPTY_WLTAG, cfg)) {
+                               WARN("No VPD for white label.\n");
+                       } else {
+                               ERROR("Need VPD set for white label.\n");
+                               return ++errorcnt;
+                       }
+               }
+       }
+       errorcnt += patch_image_by_model(&cfg->image, model, ar);
+       return errorcnt;
+}
+
+/*
+ * Helper function to setup an allocated updater_config object.
+ * Returns number of failures, or 0 on success.
+ */
+int updater_setup_config(struct updater_config *cfg,
+                        const struct updater_config_arguments *arg,
+                        int *do_update)
+{
+       int errorcnt = 0;
+       int check_single_image = 0, check_wp_disabled = 0;
+       int do_output = 0;
+       const char *archive_path = arg->archive;
+
+       /* Setup values that may change output or decision of other argument. */
+       cfg->verbosity = arg->verbosity;
+       cfg->fast_update = arg->fast_update;
+       cfg->factory_update = arg->is_factory;
+       if (arg->force_update)
+               cfg->force_update = 1;
+
+       /* Check incompatible options and return early. */
+       if (arg->do_manifest) {
+               if (!!arg->archive == !!arg->image) {
+                       ERROR("--manifest needs either -a or -i\n");
+                       return ++errorcnt;
+               }
+               if (arg->archive && (arg->ec_image || arg->pd_image)) {
+                       ERROR("--manifest for archive (-a) does not accept \n"
+                             "additional images (--ec_image, --pd_image).");
+                       return ++errorcnt;
+               }
+               *do_update = 0;
+       }
+       if (arg->repack || arg->unpack) {
+               if (!arg->archive) {
+                       ERROR("--{re,un}pack needs --archive.\n");
+                       return ++errorcnt;
+               }
+               *do_update = 0;
+       }
+
+       /* Setup update mode. */
+       if (arg->try_update)
+               cfg->try_update = 1;
+       if (arg->mode) {
+               if (strcmp(arg->mode, "autoupdate") == 0) {
+                       cfg->try_update = 1;
+               } else if (strcmp(arg->mode, "recovery") == 0) {
+                       cfg->try_update = 0;
+               } else if (strcmp(arg->mode, "legacy") == 0) {
+                       cfg->legacy_update = 1;
+               } else if (strcmp(arg->mode, "factory") == 0 ||
+                          strcmp(arg->mode, "factory_install") == 0) {
+                       cfg->factory_update = 1;
+               } else if (strcmp(arg->mode, "output") == 0) {
+                       do_output = 1;
+               } else {
+                       errorcnt++;
+                       ERROR("Invalid mode: %s\n", arg->mode);
+               }
+       }
+       if (cfg->factory_update) {
+               /* factory_update must be processed after arg->mode. */
+               check_wp_disabled = 1;
+               cfg->try_update = 0;
+       }
+       cfg->gbb_flags = arg->gbb_flags;
+       cfg->override_gbb_flags = arg->override_gbb_flags;
+
+       /* Setup properties and fields that do not have external dependency. */
+       if (arg->programmer) {
+               check_single_image = 1;
+               cfg->image.programmer = arg->programmer;
+               cfg->image_current.programmer = arg->programmer;
+               VB2_DEBUG("AP (host) programmer changed to %s.\n",
+                         arg->programmer);
+       }
+       if (arg->sys_props)
+               override_properties_from_list(arg->sys_props, cfg);
+       if (arg->write_protection) {
+               /* arg->write_protection must be done after arg->sys_props. */
+               int r = strtol(arg->write_protection, NULL, 0);
+               override_system_property(SYS_PROP_WP_HW, cfg, r);
+               override_system_property(SYS_PROP_WP_SW, cfg, r);
+       }
+
+       /* Set up archive and load images. */
+       if (arg->emulation) {
+               /* Process emulation file first. */
+               cfg->emulation = arg->emulation;
+               VB2_DEBUG("Using file %s for emulation.\n", arg->emulation);
+               errorcnt += !!load_firmware_image(
+                               &cfg->image_current, arg->emulation, NULL);
+       }
+
+       /* Always load images specified from command line directly. */
+       errorcnt += updater_load_images(
+                       cfg, arg, arg->image, arg->ec_image, arg->pd_image);
+
+       if (!archive_path)
+               archive_path = ".";
+       cfg->archive = archive_open(archive_path);
+       if (!cfg->archive) {
+               ERROR("Failed to open archive: %s\n", archive_path);
+               return ++errorcnt;
+       }
+
+       /* Process archives which may not have valid contents. */
+       if (arg->repack || arg->unpack) {
+               const char *work_name = arg->repack ? arg->repack : arg->unpack;
+               struct archive *from, *to, *work;
+
+               work = archive_open(work_name);
+               if (arg->repack) {
+                       from = work;
+                       to = cfg->archive;
+               } else {
+                       to = work;
+                       from = cfg->archive;
+               }
+               if (!work) {
+                       ERROR("Failed to open: %s\n", work_name);
+                       return ++errorcnt;
+               }
+               errorcnt += !!archive_copy(from, to);
+               /* TODO(hungte) Update manifest after copied. */
+               archive_close(work);
+               return errorcnt;
+       }
+
+       /* Load images from archive. */
+       if (arg->archive) {
+               struct manifest *m = new_manifest_from_archive(cfg->archive);
+               if (m) {
+                       errorcnt += updater_setup_archive(
+                                       cfg, arg, m, cfg->factory_update);
+                       delete_manifest(m);
+               } else {
+                       ERROR("Failure in archive: %s\n", arg->archive);
+                       ++errorcnt;
+               }
+       } else if (arg->do_manifest) {
+               char name[] = "default";
+               struct model_config model = {
+                       .name = name,
+                       .image = arg->image,
+                       .ec_image = arg->ec_image,
+                       .pd_image = arg->pd_image,
+               };
+               struct manifest manifest = {
+                       .num = 1,
+                       .models = &model,
+               };
+               assert(model.image);
+               print_json_manifest(&manifest);
+       }
+
+       /*
+        * Images should be loaded now (either in first updater_load_images or
+        * second call from updater_setup_archive) and quirks should be loaded.
+        * For invocation without image, we want to get quirks now.
+        */
+       if (!cfg->image.data && arg->quirks)
+               errorcnt += !!setup_config_quirks(arg->quirks, cfg);
+
+       /* Additional checks. */
+       if (check_single_image && !do_output && (cfg->ec_image.data || cfg->pd_image.data)) {
+               errorcnt++;
+               ERROR("EC/PD images are not supported in current mode.\n");
+       }
+       if (check_wp_disabled && is_write_protection_enabled(cfg)) {
+               errorcnt++;
+               ERROR("Please remove write protection for factory mode \n"
+                     "( " REMOVE_WP_URL " ).");
+       }
+       if (!errorcnt && do_output) {
+               const char *r = arg->output_dir;
+               if (!r)
+                       r = ".";
+               /* TODO(hungte) Remove bios.bin when migration is done. */
+               errorcnt += updater_output_image(&cfg->image, "bios.bin", r);
+               errorcnt += updater_output_image(&cfg->image, "image.bin", r);
+               errorcnt += updater_output_image(&cfg->ec_image, "ec.bin", r);
+               errorcnt += updater_output_image(&cfg->pd_image, "pd.bin", r);
+               *do_update = 0;
+       }
+       return errorcnt;
+}
+
+/*
+ * Releases all resources in an updater configuration object.
+ */
+void updater_delete_config(struct updater_config *cfg)
+{
+       assert(cfg);
+       free_firmware_image(&cfg->image);
+       free_firmware_image(&cfg->image_current);
+       free_firmware_image(&cfg->ec_image);
+       free_firmware_image(&cfg->pd_image);
+       remove_all_temp_files(&cfg->tempfiles);
+       if (cfg->archive)
+               archive_close(cfg->archive);
+       free(cfg);
+}
diff --git a/futility/updater.h b/futility/updater.h
new file mode 100644 (file)
index 0000000..856ea78
--- /dev/null
@@ -0,0 +1,284 @@
+/* Copyright 2018 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * A reference implementation for AP (and supporting images) firmware updater.
+ */
+
+#ifndef VBOOT_REFERENCE_FUTILITY_UPDATER_H_
+#define VBOOT_REFERENCE_FUTILITY_UPDATER_H_
+
+#include "futility.h"
+#include "updater_utils.h"
+
+/* FMAP section names. */
+static const char * const FMAP_RO_FRID = "RO_FRID",
+                 * const FMAP_RO_SECTION = "RO_SECTION",
+                 * const FMAP_RO_CBFS = "COREBOOT",
+                 * const FMAP_RO_GBB = "GBB",
+                 * const FMAP_RW_VBLOCK_A = "VBLOCK_A",
+                 * const FMAP_RW_VBLOCK_B = "VBLOCK_B",
+                 * const FMAP_RW_SECTION_A = "RW_SECTION_A",
+                 * const FMAP_RW_SECTION_B = "RW_SECTION_B",
+                 * const FMAP_RW_FWID = "RW_FWID",
+                 * const FMAP_RW_FWID_A = "RW_FWID_A",
+                 * const FMAP_RW_FWID_B = "RW_FWID_B",
+                 * const FMAP_RW_SHARED = "RW_SHARED",
+                 * const FMAP_RW_LEGACY = "RW_LEGACY",
+                 * const FMAP_SI_DESC = "SI_DESC",
+                 * const FMAP_SI_ME = "SI_ME";
+
+struct updater_config;
+struct quirk_entry {
+       const char *name;
+       const char *help;
+       int (*apply)(struct updater_config *cfg);
+       int value;
+};
+
+enum quirk_types {
+       QUIRK_ENLARGE_IMAGE,
+       QUIRK_MIN_PLATFORM_VERSION,
+       QUIRK_UNLOCK_ME_FOR_UPDATE,
+       QUIRK_UNLOCK_WILCO_ME_FOR_UPDATE,
+       QUIRK_EVE_SMM_STORE,
+       QUIRK_ALLOW_EMPTY_WLTAG,
+       QUIRK_EC_PARTIAL_RECOVERY,
+       QUIRK_OVERRIDE_SIGNATURE_ID,
+       QUIRK_PRESERVE_ME,
+       QUIRK_NO_CHECK_PLATFORM,
+       QUIRK_MAX,
+};
+
+/* Return values from QUIRK_EC_PARTIAL_RECOVERY. */
+enum {
+       EC_RECOVERY_FULL = 0,  /* Must be 0 as default value of quirks. */
+       EC_RECOVERY_RO,
+       EC_RECOVERY_DONE
+};
+
+struct updater_config {
+       struct firmware_image image, image_current;
+       struct firmware_image ec_image, pd_image;
+       struct system_property system_properties[SYS_PROP_MAX];
+       struct quirk_entry quirks[QUIRK_MAX];
+       struct archive *archive;
+       struct tempfile tempfiles;
+       int try_update;
+       int force_update;
+       int legacy_update;
+       int factory_update;
+       int check_platform;
+       int fast_update;
+       int verbosity;
+       const char *emulation;
+       int override_gbb_flags;
+       uint32_t gbb_flags;
+};
+
+struct updater_config_arguments {
+       char *image, *ec_image, *pd_image;
+       char *archive, *quirks, *mode;
+       const char *programmer, *write_protection;
+       char *model, *signature_id;
+       char *emulation, *sys_props;
+       char *output_dir;
+       char *repack, *unpack;
+       int is_factory, try_update, force_update, do_manifest, host_only;
+       int fast_update;
+       int verbosity;
+       int override_gbb_flags;
+       uint32_t gbb_flags;
+};
+
+struct patch_config {
+       char *rootkey;
+       char *vblock_a;
+       char *vblock_b;
+};
+
+struct model_config {
+       char *name;
+       char *image, *ec_image, *pd_image;
+       struct patch_config patches;
+       char *signature_id;
+       int is_white_label;
+};
+
+struct manifest {
+       int num;
+       struct model_config *models;
+       struct archive *archive;
+       int default_model;
+       int has_keyset;
+};
+
+enum updater_error_codes {
+       UPDATE_ERR_DONE,
+       UPDATE_ERR_NEED_RO_UPDATE,
+       UPDATE_ERR_NO_IMAGE,
+       UPDATE_ERR_SYSTEM_IMAGE,
+       UPDATE_ERR_INVALID_IMAGE,
+       UPDATE_ERR_SET_COOKIES,
+       UPDATE_ERR_WRITE_FIRMWARE,
+       UPDATE_ERR_PLATFORM,
+       UPDATE_ERR_TARGET,
+       UPDATE_ERR_ROOT_KEY,
+       UPDATE_ERR_TPM_ROLLBACK,
+       UPDATE_ERR_UNKNOWN,
+};
+
+/* Messages explaining enum updater_error_codes. */
+extern const char * const updater_error_messages[];
+
+/*
+ * Returns a valid root key from GBB header, or NULL on failure.
+ */
+const struct vb2_packed_key *get_rootkey(
+               const struct vb2_gbb_header *gbb);
+
+/*
+ * The main updater to update system firmware using the configuration parameter.
+ * Returns UPDATE_ERR_DONE if success, otherwise failure.
+ */
+enum updater_error_codes update_firmware(struct updater_config *cfg);
+
+/*
+ * Allocates and initializes a updater_config object with default values.
+ * Returns the newly allocated object, or NULL on error.
+ */
+struct updater_config *updater_new_config(void);
+
+/*
+ * Releases all resources in an updater configuration object.
+ */
+void updater_delete_config(struct updater_config *cfg);
+
+/*
+ * Helper function to setup an allocated updater_config object.
+ * Returns number of failures, or 0 on success.
+ */
+int updater_setup_config(struct updater_config *cfg,
+                        const struct updater_config_arguments *arg,
+                        int *do_update);
+
+/* Prints the name and description from all supported quirks. */
+void updater_list_config_quirks(const struct updater_config *cfg);
+
+/*
+ * Registers known quirks to a updater_config object.
+ */
+void updater_register_quirks(struct updater_config *cfg);
+
+/* Gets the value (setting) of specified quirks from updater configuration. */
+int get_config_quirk(enum quirk_types quirk, const struct updater_config *cfg);
+
+/* Gets the system property by given type. Returns the property value. */
+int get_system_property(enum system_property_type property_type,
+                       struct updater_config *cfg);
+/*
+ * Gets the default quirk config string from target image name.
+ * Returns a string (in same format as --quirks) to load or NULL if no quirks.
+ */
+const char * const updater_get_model_quirks(struct updater_config *cfg);
+
+/*
+ * Gets the quirk config string from target image CBFS.
+ * Returns a string (in same format as --quirks) to load or NULL if no quirks.
+ */
+char * updater_get_cbfs_quirks(struct updater_config *cfg);
+
+/*
+ * Overrides signature id if the device was shipped with known
+ * special rootkey.
+ */
+int quirk_override_signature_id(struct updater_config *cfg,
+                               struct model_config *model,
+                               const char **signature_id);
+
+/* Functions from updater_archive.c */
+
+/*
+ * Opens an archive from given path.
+ * The type of archive will be determined automatically.
+ * Returns a pointer to reference to archive (must be released by archive_close
+ * when not used), otherwise NULL on error.
+ */
+struct archive *archive_open(const char *path);
+
+/*
+ * Closes an archive reference.
+ * Returns 0 on success, otherwise non-zero as failure.
+ */
+int archive_close(struct archive *ar);
+
+/*
+ * Checks if an entry (either file or directory) exists in archive.
+ * Returns 1 if exists, otherwise 0
+ */
+int archive_has_entry(struct archive *ar, const char *name);
+
+/*
+ * Reads a file from archive.
+ * Returns 0 on success (data and size reflects the file content),
+ * otherwise non-zero as failure.
+ */
+int archive_read_file(struct archive *ar, const char *fname,
+                     uint8_t **data, uint32_t *size, int64_t *mtime);
+
+/*
+ * Writes a file into archive.
+ * If entry name (fname) is an absolute path (/file), always write into real
+ * file system.
+ * Returns 0 on success, otherwise non-zero as failure.
+ */
+int archive_write_file(struct archive *ar, const char *fname,
+                      uint8_t *data, uint32_t size, int64_t mtime);
+
+/*
+ * Copies all entries from one archive to another.
+ * Returns 0 on success, otherwise non-zero as failure.
+ */
+int archive_copy(struct archive *from, struct archive *to);
+
+/*
+ * Creates a new manifest object by scanning files in archive.
+ * Returns the manifest on success, otherwise NULL for failure.
+ */
+struct manifest *new_manifest_from_archive(struct archive *archive);
+
+/* Releases all resources allocated by given manifest object. */
+void delete_manifest(struct manifest *manifest);
+
+/* Prints the information of objects in manifest (models and images) in JSON. */
+void print_json_manifest(const struct manifest *manifest);
+
+/*
+ * Modifies a firmware image from patch information specified in model config.
+ * Returns 0 on success, otherwise number of failures.
+ */
+int patch_image_by_model(
+               struct firmware_image *image, const struct model_config *model,
+               struct archive *archive);
+
+/*
+ * Finds the existing model_config from manifest that best matches current
+ * system (as defined by model_name).
+ * Returns a model_config from manifest, or NULL if not found.
+ */
+const struct model_config *manifest_find_model(const struct manifest *manifest,
+                                              const char *model_name);
+
+/*
+ * Applies white label information to an existing model configuration.
+ * Collects signature ID information from either parameter signature_id or
+ * image file (via VPD) and updates model.patches for key files.
+ * Returns 0 on success, otherwise failure.
+ */
+int model_apply_white_label(
+               struct model_config *model,
+               struct archive *archive,
+               const char *signature_id,
+               const char *image);
+
+#endif  /* VBOOT_REFERENCE_FUTILITY_UPDATER_H_ */
diff --git a/futility/updater_archive.c b/futility/updater_archive.c
new file mode 100644 (file)
index 0000000..93a043a
--- /dev/null
@@ -0,0 +1,1150 @@
+/* Copyright 2018 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Accessing updater resources from an archive.
+ */
+
+#include <assert.h>
+#include <ctype.h>
+#include <errno.h>
+#if defined(__OpenBSD__)
+#include <sys/types.h>
+#endif
+#include <fts.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <unistd.h>
+
+#ifdef HAVE_LIBZIP
+#ifndef __clang__
+/* If libzip headers were built for Clang but later get included with GCC you
+   need this. This check should really be in libzip but apparently they think
+   it's fine to ship compiler-specific system headers or something... */
+#define _Nullable
+#define _Nonnull
+#endif
+#include <zip.h>
+#endif
+
+#ifdef HAVE_CROSID
+#include <crosid.h>
+#endif
+
+#include "host_misc.h"
+#include "updater.h"
+#include "util_misc.h"
+
+/*
+ * A firmware update package (archive) is a file packed by either shar(1) or
+ * zip(1). See https://chromium.googlesource.com/chromiumos/platform/firmware/
+ * for more information.
+ *
+ * A package for single board (i.e., not Unified Build) will have all the image
+ * files in top folder:
+ *  - host: 'image.bin' (or 'bios.bin' as legacy name before CL:1318712)
+ *  - ec: 'ec.bin'
+ *  - pd: 'pd.bin'
+ * If white label is supported, a 'keyset/' folder will be available, with key
+ * files in it:
+ *  - rootkey.$WLTAG
+ *  - vblock_A.$WLTAG
+ *  - vblock_B.$WLTAG
+ * The $WLTAG should come from VPD value 'whitelabel_tag', or the
+ * 'customization_id'. Note 'customization_id' is in format LOEM[-VARIANT] and
+ * we can only take LOEM as $WLTAG, for example A-B => $WLTAG=A.
+ *
+ * A package for Unified Build is more complicated. There will be a models/
+ * folder, and each model (by $(mosys platform model) ) should appear as a sub
+ * folder, with a 'setvars.sh' file inside. The 'setvars.sh' is a shell script
+ * describing what files should be used and the signature ID ($SIGID) to use.
+ *
+ * Similar to write label in non-Unified-Build, the keys and vblock files will
+ * be in 'keyset/' folder:
+ *  - rootkey.$SIGID
+ *  - vblock_A.$SIGID
+ *  - vblock_B.$SIGID
+ * If $SIGID starts with 'sig-id-in-*' then we have to replace it by VPD value
+ * 'whitelabel_tag' as '$MODEL-$WLTAG'.
+ */
+
+static const char * const SETVARS_IMAGE_MAIN = "IMAGE_MAIN",
+                 * const SETVARS_IMAGE_EC = "IMAGE_EC",
+                 * const SETVARS_IMAGE_PD = "IMAGE_PD",
+                 * const SETVARS_SIGNATURE_ID = "SIGNATURE_ID",
+                 * const SIG_ID_IN_VPD_PREFIX = "sig-id-in",
+                 * const DIR_KEYSET = "keyset",
+                 * const DIR_MODELS = "models",
+                 * const DEFAULT_MODEL_NAME = "default",
+                 * const VPD_WHITELABEL_TAG = "whitelabel_tag",
+                 * const VPD_CUSTOMIZATION_ID = "customization_id",
+                 * const ENV_VAR_MODEL_DIR = "${MODEL_DIR}",
+                 * const PATH_STARTSWITH_KEYSET = "keyset/",
+                 * const PATH_ENDSWITH_SERVARS = "/setvars.sh";
+
+struct archive {
+       void *handle;
+
+       void * (*open)(const char *name);
+       int (*close)(void *handle);
+
+       int (*walk)(void *handle, void *arg,
+                   int (*callback)(const char *path, void *arg));
+       int (*has_entry)(void *handle, const char *name);
+       int (*read_file)(void *handle, const char *fname,
+                        uint8_t **data, uint32_t *size, int64_t *mtime);
+       int (*write_file)(void *handle, const char *fname,
+                         uint8_t *data, uint32_t size, int64_t mtime);
+};
+
+/*
+ * -- Begin of archive implementations --
+ */
+
+/* Callback for archive_open on a general file system. */
+static void *archive_fallback_open(const char *name)
+{
+       assert(name && *name);
+       return strdup(name);
+}
+
+/* Callback for archive_close on a general file system. */
+static int archive_fallback_close(void *handle)
+{
+       free(handle);
+       return 0;
+}
+
+/* Callback for archive_walk on a general file system. */
+static int archive_fallback_walk(
+               void *handle, void *arg,
+               int (*callback)(const char *path, void *arg))
+{
+       FTS *fts_handle;
+       FTSENT *ent;
+       char *fts_argv[2] = {};
+       char default_path[] = ".";
+       char *root = default_path;
+       size_t root_len;
+
+       if (handle)
+               root = (char *)handle;
+       root_len = strlen(root);
+       fts_argv[0] = root;
+
+       fts_handle = fts_open(fts_argv, FTS_NOCHDIR, NULL);
+       if (!fts_handle)
+               return -1;
+
+       while ((ent = fts_read(fts_handle)) != NULL) {
+               char *path = ent->fts_path + root_len;
+               if (ent->fts_info != FTS_F && ent->fts_info != FTS_SL)
+                       continue;
+               while (*path == '/')
+                       path++;
+               if (!*path)
+                       continue;
+               if (callback(path, arg))
+                       break;
+       }
+       return 0;
+}
+
+/* Callback for fallback drivers to get full path easily. */
+static const char *archive_fallback_get_path(void *handle, const char *fname,
+                                            char **temp_path)
+{
+       if (handle && *fname != '/') {
+               ASPRINTF(temp_path, "%s/%s", (char *)handle, fname);
+               return *temp_path;
+       }
+       return fname;
+}
+
+/* Callback for archive_has_entry on a general file system. */
+static int archive_fallback_has_entry(void *handle, const char *fname)
+{
+       int r;
+       char *temp_path = NULL;
+       const char *path = archive_fallback_get_path(handle, fname, &temp_path);
+
+       VB2_DEBUG("Checking %s\n", path);
+       r = access(path, R_OK);
+       free(temp_path);
+       return r == 0;
+}
+
+/* Callback for archive_read_file on a general file system. */
+static int archive_fallback_read_file(void *handle, const char *fname,
+                                     uint8_t **data, uint32_t *size, int64_t *mtime)
+{
+       int r;
+       char *temp_path = NULL;
+       const char *path = archive_fallback_get_path(handle, fname, &temp_path);
+       struct stat st;
+
+       VB2_DEBUG("Reading %s\n", path);
+       *data = NULL;
+       *size = 0;
+       r = vb2_read_file(path, data, size) != VB2_SUCCESS;
+       if (mtime) {
+               if (stat(path, &st) == 0)
+                       *mtime = st.st_mtime;
+               else
+                       WARN("Unable to stat %s: %s\n", path, strerror(errno));
+       }
+       free(temp_path);
+       return r;
+}
+
+/* Callback for archive_write_file on a general file system. */
+static int archive_fallback_write_file(void *handle, const char *fname,
+                                      uint8_t *data, uint32_t size, int64_t mtime)
+{
+       int r;
+       char *temp_path = NULL;
+       const char *path = archive_fallback_get_path(handle, fname, &temp_path);
+
+       VB2_DEBUG("Writing %s\n", path);
+       if (strchr(path, '/')) {
+               char *dirname = strdup(path);
+               *strrchr(dirname, '/') = '\0';
+               /* TODO(hungte): call mkdir(2) instead of shell invocation. */
+               if (access(dirname, W_OK) != 0) {
+                       char *command;
+                       ASPRINTF(&command, "mkdir -p %s", dirname);
+                       free(host_shell(command));
+                       free(command);
+               }
+               free(dirname);
+       }
+       r = vb2_write_file(path, data, size) != VB2_SUCCESS;
+       if (mtime) {
+               struct timeval times[2] = {
+                       {.tv_sec = mtime, .tv_usec = 0},
+                       {.tv_sec = mtime, .tv_usec = 0},
+               };
+               if (utimes(path, times) != 0)
+                       WARN("Unable to set times on %s: %s\n", path, strerror(errno));
+       }
+       free(temp_path);
+       return r;
+}
+
+#ifdef HAVE_LIBZIP
+
+/* Callback for archive_open on a ZIP file. */
+static void *archive_zip_open(const char *name)
+{
+       return zip_open(name, 0, NULL);
+}
+
+/* Callback for archive_close on a ZIP file. */
+static int archive_zip_close(void *handle)
+{
+       struct zip *zip = (struct zip *)handle;
+
+       if (zip)
+               return zip_close(zip);
+       return 0;
+}
+
+/* Callback for archive_has_entry on a ZIP file. */
+static int archive_zip_has_entry(void *handle, const char *fname)
+{
+       struct zip *zip = (struct zip *)handle;
+       assert(zip);
+       return zip_name_locate(zip, fname, 0) != -1;
+}
+
+/* Callback for archive_walk on a ZIP file. */
+static int archive_zip_walk(
+               void *handle, void *arg,
+               int (*callback)(const char *name, void *arg))
+{
+       zip_int64_t num, i;
+       struct zip *zip = (struct zip *)handle;
+       assert(zip);
+
+       num = zip_get_num_entries(zip, 0);
+       if (num < 0)
+               return 1;
+       for (i = 0; i < num; i++) {
+               const char *name = zip_get_name(zip, i, 0);
+               if (*name && name[strlen(name) - 1] == '/')
+                       continue;
+               if (callback(name, arg))
+                       break;
+       }
+       return 0;
+}
+
+/* Callback for archive_zip_read_file on a ZIP file. */
+static int archive_zip_read_file(void *handle, const char *fname,
+                            uint8_t **data, uint32_t *size, int64_t *mtime)
+{
+       struct zip *zip = (struct zip *)handle;
+       struct zip_file *fp;
+       struct zip_stat stat;
+
+       assert(zip);
+       *data = NULL;
+       *size = 0;
+       zip_stat_init(&stat);
+       if (zip_stat(zip, fname, 0, &stat)) {
+               ERROR("Fail to stat entry in ZIP: %s\n", fname);
+               return 1;
+       }
+       fp = zip_fopen(zip, fname, 0);
+       if (!fp) {
+               ERROR("Failed to open entry in ZIP: %s\n", fname);
+               return 1;
+       }
+       *data = (uint8_t *)malloc(stat.size);
+       if (*data) {
+               if (zip_fread(fp, *data, stat.size) == stat.size) {
+                       if (mtime)
+                               *mtime = stat.mtime;
+                       *size = stat.size;
+               } else {
+                       ERROR("Failed to read entry in zip: %s\n", fname);
+                       free(*data);
+                       *data = NULL;
+               }
+       }
+       zip_fclose(fp);
+       return *data == NULL;
+}
+
+/* Callback for archive_zip_write_file on a ZIP file. */
+static int archive_zip_write_file(void *handle, const char *fname,
+                                 uint8_t *data, uint32_t size, int64_t mtime)
+{
+       struct zip *zip = (struct zip *)handle;
+       struct zip_source *src;
+
+       VB2_DEBUG("Writing %s\n", fname);
+       assert(zip);
+       src = zip_source_buffer(zip, data, size, 0);
+       if (!src) {
+               ERROR("Internal error: cannot allocate buffer: %s\n", fname);
+               return 1;
+       }
+
+       if (zip_file_add(zip, fname, src, ZIP_FL_OVERWRITE) < 0) {
+               zip_source_free(src);
+               ERROR("Internal error: failed to add: %s\n", fname);
+               return 1;
+       }
+       /* zip_source_free is not needed if zip_file_add success. */
+#if LIBZIP_VERSION_MAJOR >= 1
+       zip_file_set_mtime(zip, zip_name_locate(zip, fname, 0), mtime, 0);
+#endif
+       return 0;
+}
+#endif
+
+/*
+ * Opens an archive from given path.
+ * The type of archive will be determined automatically.
+ * Returns a pointer to reference to archive (must be released by archive_close
+ * when not used), otherwise NULL on error.
+ */
+struct archive *archive_open(const char *path)
+{
+       struct stat path_stat;
+       struct archive *ar;
+
+       if (stat(path, &path_stat) != 0) {
+               ERROR("Cannot identify type of path: %s\n", path);
+               return NULL;
+       }
+
+       ar = (struct archive *)malloc(sizeof(*ar));
+       if (!ar) {
+               ERROR("Internal error: allocation failure.\n");
+               return NULL;
+       }
+
+       if (S_ISDIR(path_stat.st_mode)) {
+               VB2_DEBUG("Found directory, use fallback (fs) driver: %s\n",
+                         path);
+               /* Regular file system. */
+               ar->open = archive_fallback_open;
+               ar->close = archive_fallback_close;
+               ar->walk = archive_fallback_walk;
+               ar->has_entry = archive_fallback_has_entry;
+               ar->read_file = archive_fallback_read_file;
+               ar->write_file = archive_fallback_write_file;
+       } else {
+#ifdef HAVE_LIBZIP
+               VB2_DEBUG("Found file, use ZIP driver: %s\n", path);
+               ar->open = archive_zip_open;
+               ar->close = archive_zip_close;
+               ar->walk = archive_zip_walk;
+               ar->has_entry = archive_zip_has_entry;
+               ar->read_file = archive_zip_read_file;
+               ar->write_file = archive_zip_write_file;
+#else
+               ERROR("Found file, but no drivers were enabled: %s\n", path);
+               free(ar);
+               return NULL;
+#endif
+       }
+       ar->handle = ar->open(path);
+       if (!ar->handle) {
+               ERROR("Failed to open archive: %s\n", path);
+               free(ar);
+               return NULL;
+       }
+       return ar;
+}
+
+/*
+ * Closes an archive reference.
+ * Returns 0 on success, otherwise non-zero as failure.
+ */
+int archive_close(struct archive *ar)
+{
+       int r = ar->close(ar->handle);
+       free(ar);
+       return r;
+}
+
+/*
+ * Checks if an entry (either file or directory) exists in archive.
+ * If entry name (fname) is an absolute path (/file), always check
+ * with real file system.
+ * Returns 1 if exists, otherwise 0
+ */
+int archive_has_entry(struct archive *ar, const char *name)
+{
+       if (!ar || *name == '/')
+               return archive_fallback_has_entry(NULL, name);
+       return ar->has_entry(ar->handle, name);
+}
+
+/*
+ * Traverses all files within archive (directories are ignored).
+ * For every entry, the path (relative the archive root) will be passed to
+ * callback function, until the callback returns non-zero.
+ * The arg argument will also be passed to callback.
+ * Returns 0 on success otherwise non-zero as failure.
+ */
+static int archive_walk(struct archive *ar, void *arg,
+                       int (*callback)(const char *path, void *arg))
+{
+       if (!ar)
+               return archive_fallback_walk(NULL, arg, callback);
+       return ar->walk(ar->handle, arg, callback);
+}
+
+/*
+ * Reads a file from archive.
+ * If entry name (fname) is an absolute path (/file), always read
+ * from real file system.
+ * Returns 0 on success (data and size reflects the file content),
+ * otherwise non-zero as failure.
+ */
+int archive_read_file(struct archive *ar, const char *fname,
+                     uint8_t **data, uint32_t *size, int64_t *mtime)
+{
+       if (!ar || *fname == '/')
+               return archive_fallback_read_file(NULL, fname, data, size, mtime);
+       return ar->read_file(ar->handle, fname, data, size, mtime);
+}
+
+/*
+ * Writes a file into archive.
+ * If entry name (fname) is an absolute path (/file), always write into real
+ * file system.
+ * Returns 0 on success, otherwise non-zero as failure.
+ */
+int archive_write_file(struct archive *ar, const char *fname,
+                      uint8_t *data, uint32_t size, int64_t mtime)
+{
+       if (!ar || *fname == '/')
+               return archive_fallback_write_file(NULL, fname, data, size, mtime);
+       return ar->write_file(ar->handle, fname, data, size, mtime);
+}
+
+struct _copy_arg {
+       struct archive *from, *to;
+};
+
+/* Callback for archive_copy. */
+static int archive_copy_callback(const char *path, void *_arg)
+{
+       const struct _copy_arg *arg = (const struct _copy_arg*)_arg;
+       uint32_t size;
+       uint8_t *data;
+       int64_t mtime;
+       int r;
+
+       INFO("Copying: %s\n", path);
+       if (archive_read_file(arg->from, path, &data, &size, &mtime)) {
+               ERROR("Failed reading: %s\n", path);
+               return 1;
+       }
+       r = archive_write_file(arg->to, path, data, size, mtime);
+       VB2_DEBUG("result=%d\n", r);
+       free(data);
+       return r;
+}
+
+/*
+ * Copies all entries from one archive to another.
+ * Returns 0 on success, otherwise non-zero as failure.
+ */
+int archive_copy(struct archive *from, struct archive *to)
+{
+       struct _copy_arg arg = { .from = from, .to = to };
+       return archive_walk(from, &arg, archive_copy_callback);
+}
+
+/*
+ * -- End of archive implementations --
+ */
+
+/* Utility function to convert a string. */
+static void str_convert(char *s, int (*convert)(int c))
+{
+       int c;
+
+       for (; *s; s++) {
+               c = *s;
+               if (!isascii(c))
+                       continue;
+               *s = convert(c);
+       }
+}
+
+/* Returns 1 if name ends by given pattern, otherwise 0. */
+static int str_endswith(const char *name, const char *pattern)
+{
+       size_t name_len = strlen(name), pattern_len = strlen(pattern);
+       if (name_len < pattern_len)
+               return 0;
+       return strcmp(name + name_len - pattern_len, pattern) == 0;
+}
+
+/* Returns 1 if name starts by given pattern, otherwise 0. */
+static int str_startswith(const char *name, const char *pattern)
+{
+       return strncmp(name, pattern, strlen(pattern)) == 0;
+}
+
+/* Returns the VPD value by given key name, or NULL on error (or no value). */
+static char *vpd_get_value(const char *fpath, const char *key)
+{
+       char *command, *result;
+
+       assert(fpath);
+       ASPRINTF(&command, "vpd -g %s -f %s 2>/dev/null", key, fpath);
+       result = host_shell(command);
+       free(command);
+
+       if (result && !*result) {
+               free(result);
+               result = NULL;
+       }
+       return result;
+}
+
+/*
+ * Reads and parses a setvars type file from archive, then stores into config.
+ * Returns 0 on success (at least one entry found), otherwise failure.
+ */
+static int model_config_parse_setvars_file(
+               struct model_config *cfg, struct archive *archive,
+               const char *fpath)
+{
+       uint8_t *data;
+       uint32_t len;
+
+       char *ptr_line, *ptr_token;
+       char *line, *k, *v;
+       int valid = 0;
+
+       if (archive_read_file(archive, fpath, &data, &len, NULL) != 0) {
+               ERROR("Failed reading: %s\n", fpath);
+               return -1;
+       }
+
+       /* Valid content should end with \n, or \"; ensure ASCIIZ for parsing */
+       if (len)
+               data[len - 1] = '\0';
+
+       for (line = strtok_r((char *)data, "\n\r", &ptr_line); line;
+            line = strtok_r(NULL, "\n\r", &ptr_line)) {
+               char *expand_path = NULL;
+               int found_valid = 1;
+
+               /* Format: KEY="value" */
+               k = strtok_r(line, "=", &ptr_token);
+               if (!k)
+                       continue;
+               v = strtok_r(NULL, "\"", &ptr_token);
+               if (!v)
+                       continue;
+
+               /* Some legacy updaters may be still using ${MODEL_DIR}. */
+               if (str_startswith(v, ENV_VAR_MODEL_DIR)) {
+                       ASPRINTF(&expand_path, "%s/%s%s", DIR_MODELS, cfg->name,
+                                v + strlen(ENV_VAR_MODEL_DIR));
+               }
+
+               if (strcmp(k, SETVARS_IMAGE_MAIN) == 0)
+                       cfg->image = strdup(v);
+               else if (strcmp(k, SETVARS_IMAGE_EC) == 0)
+                       cfg->ec_image = strdup(v);
+               else if (strcmp(k, SETVARS_IMAGE_PD) == 0)
+                       cfg->pd_image = strdup(v);
+               else if (strcmp(k, SETVARS_SIGNATURE_ID) == 0) {
+                       cfg->signature_id = strdup(v);
+                       if (str_startswith(v, SIG_ID_IN_VPD_PREFIX))
+                               cfg->is_white_label = 1;
+               } else
+                       found_valid = 0;
+               free(expand_path);
+               valid += found_valid;
+       }
+       free(data);
+       return valid == 0;
+}
+
+/*
+ * Changes the rootkey in firmware GBB to given new key.
+ * Returns 0 on success, otherwise failure.
+ */
+static int change_gbb_rootkey(struct firmware_image *image,
+                             const char *section_name,
+                             const uint8_t *rootkey, uint32_t rootkey_len)
+{
+       const struct vb2_gbb_header *gbb = find_gbb(image);
+       uint8_t *gbb_rootkey;
+       if (!gbb) {
+               ERROR("Cannot find GBB in image %s.\n", image->file_name);
+               return -1;
+       }
+       if (gbb->rootkey_size < rootkey_len) {
+               ERROR("New root key (%u bytes) larger than GBB (%u bytes).\n",
+                     rootkey_len, gbb->rootkey_size);
+               return -1;
+       }
+
+       gbb_rootkey = (uint8_t *)gbb + gbb->rootkey_offset;
+       /* See cmd_gbb_utility: root key must be first cleared with zero. */
+       memset(gbb_rootkey, 0, gbb->rootkey_size);
+       memcpy(gbb_rootkey, rootkey, rootkey_len);
+       return 0;
+}
+
+/*
+ * Changes the VBlock in firmware section to new data.
+ * Returns 0 on success, otherwise failure.
+ */
+static int change_vblock(struct firmware_image *image, const char *section_name,
+                        const uint8_t *vblock, uint32_t vblock_len)
+{
+       struct firmware_section section;
+
+       find_firmware_section(&section, image, section_name);
+       if (!section.data) {
+               ERROR("Need section %s in image %s.\n", section_name,
+                     image->file_name);
+               return -1;
+       }
+       if (section.size < vblock_len) {
+               ERROR("Section %s too small (%zu bytes) for vblock (%u bytes).\n",
+                     section_name, section.size, vblock_len);
+               return -1;
+       }
+       memcpy(section.data, vblock, vblock_len);
+       return 0;
+}
+
+/*
+ * Applies a key file to firmware image.
+ * Returns 0 on success, otherwise failure.
+ */
+static int apply_key_file(
+               struct firmware_image *image, const char *path,
+               struct archive *archive, const char *section_name,
+               int (*apply)(struct firmware_image *image, const char *section,
+                            const uint8_t *data, uint32_t len))
+{
+       int r = 0;
+       uint8_t *data = NULL;
+       uint32_t len;
+
+       r = archive_read_file(archive, path, &data, &len, NULL);
+       if (r == 0) {
+               VB2_DEBUG("Loaded file: %s\n", path);
+               r = apply(image, section_name, data, len);
+               if (r)
+                       ERROR("Failed applying %s to %s\n", path, section_name);
+       } else {
+               ERROR("Failed reading: %s\n", path);
+       }
+       free(data);
+       return r;
+}
+
+/*
+ * Modifies a firmware image from patch information specified in model config.
+ * Returns 0 on success, otherwise number of failures.
+ */
+int patch_image_by_model(
+               struct firmware_image *image, const struct model_config *model,
+               struct archive *archive)
+{
+       int err = 0;
+       if (model->patches.rootkey)
+               err += !!apply_key_file(
+                               image, model->patches.rootkey, archive,
+                               FMAP_RO_GBB, change_gbb_rootkey);
+       if (model->patches.vblock_a)
+               err += !!apply_key_file(
+                               image, model->patches.vblock_a, archive,
+                               FMAP_RW_VBLOCK_A, change_vblock);
+       if (model->patches.vblock_b)
+               err += !!apply_key_file(
+                               image, model->patches.vblock_b, archive,
+                               FMAP_RW_VBLOCK_B, change_vblock);
+       return err;
+}
+
+/*
+ * Finds available patch files by given model.
+ * Updates `model` argument with path of patch files.
+ */
+static void find_patches_for_model(struct model_config *model,
+                                  struct archive *archive,
+                                  const char *signature_id)
+{
+       char *path;
+       int i;
+
+       const char *names[] = {
+               "rootkey",
+               "vblock_A",
+               "vblock_B",
+       };
+
+       char **targets[] = {
+               &model->patches.rootkey,
+               &model->patches.vblock_a,
+               &model->patches.vblock_b,
+       };
+
+       assert(ARRAY_SIZE(names) == ARRAY_SIZE(targets));
+       for (i = 0; i < ARRAY_SIZE(names); i++) {
+               ASPRINTF(&path, "%s/%s.%s", DIR_KEYSET, names[i], signature_id);
+               if (archive_has_entry(archive, path))
+                       *targets[i] = path;
+               else
+                       free(path);
+       }
+}
+
+/*
+ * Adds and copies one new model config to the existing list of given manifest.
+ * Returns a pointer to the newly allocated config, or NULL on failure.
+ */
+static struct model_config *manifest_add_model(
+               struct manifest *manifest,
+               const struct model_config *cfg)
+{
+       struct model_config *model;
+       manifest->num++;
+       manifest->models = (struct model_config *)realloc(
+                       manifest->models, manifest->num * sizeof(*model));
+       if (!manifest->models) {
+               ERROR("Internal error: failed to allocate buffer.\n");
+               return NULL;
+       }
+       model = &manifest->models[manifest->num - 1];
+       memcpy(model, cfg, sizeof(*model));
+       return model;
+}
+
+/*
+ * A callback function for manifest to scan files in archive.
+ * Returns 0 to keep scanning, or non-zero to stop.
+ */
+static int manifest_scan_entries(const char *name, void *arg)
+{
+       struct manifest *manifest = (struct manifest *)arg;
+       struct archive *archive = manifest->archive;
+       struct model_config model = {0};
+       char *slash;
+
+       if (str_startswith(name, PATH_STARTSWITH_KEYSET))
+               manifest->has_keyset = 1;
+       if (!str_endswith(name, PATH_ENDSWITH_SERVARS))
+               return 0;
+
+       /* name: models/$MODEL/setvars.sh */
+       model.name = strdup(strchr(name, '/') + 1);
+       slash = strchr(model.name, '/');
+       if (slash)
+               *slash = '\0';
+
+       VB2_DEBUG("Found model <%s> setvars: %s\n", model.name, name);
+       if (model_config_parse_setvars_file(&model, archive, name)) {
+               ERROR("Invalid setvars file: %s\n", name);
+               return 0;
+       }
+
+       /* In legacy setvars.sh, the ec_image and pd_image may not exist. */
+       if (model.ec_image && !archive_has_entry(archive, model.ec_image)) {
+               VB2_DEBUG("Ignore non-exist EC image: %s\n", model.ec_image);
+               free(model.ec_image);
+               model.ec_image = NULL;
+       }
+       if (model.pd_image && !archive_has_entry(archive, model.pd_image)) {
+               VB2_DEBUG("Ignore non-exist PD image: %s\n", model.pd_image);
+               free(model.pd_image);
+               model.pd_image = NULL;
+       }
+
+       /* Find patch files. */
+       if (model.signature_id)
+               find_patches_for_model(&model, archive, model.signature_id);
+
+       return !manifest_add_model(manifest, &model);
+}
+
+/**
+ * get_manifest_key() - Wrapper to get the firmware manifest key from crosid
+ *
+ * @manifest_key_out - Output parameter of the firmware manifest key.
+ *
+ * Returns:
+ * - <0 if libcrosid is unavailable or there was an error reading
+ *   device data
+ * - >=0 (the matched device index) success
+ */
+static int get_manifest_key(char **manifest_key_out)
+{
+#ifdef HAVE_CROSID
+       return crosid_get_firmware_manifest_key(manifest_key_out);
+#else
+       ERROR("This version of futility was compiled without libcrosid "
+             "(perhaps compiled outside of the Chrome OS build system?) and "
+             "the update command is not fully supported.  Either compile "
+             "from the Chrome OS build, or pass --model to manually specify "
+             "the machine model.\n");
+       return -1;
+#endif
+}
+
+/*
+ * Finds the existing model_config from manifest that best matches current
+ * system (as defined by model_name).
+ * Returns a model_config from manifest, or NULL if not found.
+ */
+const struct model_config *manifest_find_model(const struct manifest *manifest,
+                                              const char *model_name)
+{
+       char *manifest_key = NULL;
+       const struct model_config *model = NULL;
+       int i;
+       int matched_index;
+
+       /*
+        * For manifest with single model defined, we should just return because
+        * there are other mechanisms like platform name check to double confirm
+        * if the firmware is valid.
+        */
+       if (manifest->num == 1)
+               return &manifest->models[0];
+
+       if (!model_name) {
+               matched_index = get_manifest_key(&manifest_key);
+               if (matched_index < 0) {
+                       ERROR("Failed to get device identity.  "
+                             "Run \"crosid -v\" for explanation.\n");
+                       return NULL;
+               }
+
+               VB2_DEBUG("Matched chromeos-config index: %d\n", matched_index);
+               VB2_DEBUG("Manifest key (model): '%s'\n", manifest_key);
+               model_name = manifest_key;
+       }
+
+       for (i = 0; !model && i < manifest->num; i++) {
+               if (strcmp(model_name, manifest->models[i].name) == 0)
+                       model = &manifest->models[i];
+       }
+       if (!model) {
+               ERROR("Unsupported model: '%s'.\n", model_name);
+
+               fprintf(stderr,
+                       "The firmware manifest key '%s' is not present in this "
+                       "updater archive. The known keys to this updater "
+                       "archive are:\n", model_name);
+
+               for (i = 0; i < manifest->num; i++)
+                       fprintf(stderr, " %s", manifest->models[i].name);
+               fprintf(stderr, "\n\n");
+               fprintf(stderr,
+                       "Perhaps you are trying to use an updater archive for "
+                       "the wrong board, or designed for an older OS version "
+                       "before this model was supported.\n");
+               fprintf(stderr,
+                       "Hint: Read the FIRMWARE_MANIFEST_KEY from the output "
+                       "of the crosid command.\n");
+       }
+
+
+       free(manifest_key);
+       return model;
+}
+
+/*
+ * Determines the signature ID to use for white label.
+ * Returns the signature ID for looking up rootkey and vblock files.
+ * Caller must free the returned string.
+ */
+static char *resolve_signature_id(struct model_config *model, const char *image)
+{
+       int is_unibuild = model->signature_id ? 1 : 0;
+       char *wl_tag = vpd_get_value(image, VPD_WHITELABEL_TAG);
+       char *sig_id = NULL;
+
+       /* Unified build: $model.$wl_tag, or $model (b/126800200). */
+       if (is_unibuild) {
+               if (!wl_tag) {
+                       WARN("No VPD '%s' set for white label - use model name "
+                            "'%s' as default.\n", VPD_WHITELABEL_TAG,
+                            model->name);
+                       return strdup(model->name);
+               }
+
+               ASPRINTF(&sig_id, "%s-%s", model->name, wl_tag);
+               free(wl_tag);
+               return sig_id;
+       }
+
+       /* Non-Unibuild: Upper($wl_tag), or Upper(${cid%%-*}). */
+       if (!wl_tag) {
+               char *cid = vpd_get_value(image, VPD_CUSTOMIZATION_ID);
+               if (cid) {
+                       /* customization_id in format LOEM[-VARIANT]. */
+                       char *dash = strchr(cid, '-');
+                       if (dash)
+                               *dash = '\0';
+                       wl_tag = cid;
+               }
+       }
+       if (wl_tag)
+               str_convert(wl_tag, toupper);
+       return wl_tag;
+}
+
+/*
+ * Applies white label information to an existing model configuration.
+ * Collects signature ID information from either parameter signature_id or
+ * image file (via VPD) and updates model.patches for key files.
+ * Returns 0 on success, otherwise failure.
+ */
+int model_apply_white_label(
+               struct model_config *model,
+               struct archive *archive,
+               const char *signature_id,
+               const char *image)
+{
+       char *sig_id = NULL;
+       int r = 0;
+
+       if (!signature_id) {
+               sig_id = resolve_signature_id(model, image);
+               signature_id = sig_id;
+       }
+
+       if (signature_id) {
+               VB2_DEBUG("Find white label patches by signature ID: '%s'.\n",
+                     signature_id);
+               find_patches_for_model(model, archive, signature_id);
+       } else {
+               signature_id = "";
+               WARN("No VPD '%s' set for white label - use default keys.\n",
+                    VPD_WHITELABEL_TAG);
+       }
+       if (!model->patches.rootkey) {
+               ERROR("No keys found for signature_id: '%s'\n", signature_id);
+               r = 1;
+       } else {
+               INFO("Applied for white label: %s\n", signature_id);
+       }
+       free(sig_id);
+       return r;
+}
+
+/*
+ * Creates a new manifest object by scanning files in archive.
+ * Returns the manifest on success, otherwise NULL for failure.
+ */
+struct manifest *new_manifest_from_archive(struct archive *archive)
+{
+       struct manifest manifest = {0}, *new_manifest;
+       struct model_config model = {0};
+       const char * const host_image_name = "image.bin",
+                  * const old_host_image_name = "bios.bin",
+                  * const ec_name = "ec.bin",
+                  * const pd_name = "pd.bin";
+
+       manifest.archive = archive;
+       manifest.default_model = -1;
+       archive_walk(archive, &manifest, manifest_scan_entries);
+       if (manifest.num == 0) {
+               const char *image_name = NULL;
+               struct firmware_image image = {0};
+
+               /* Try to load from current folder. */
+               if (archive_has_entry(archive, old_host_image_name))
+                       image_name = old_host_image_name;
+               else if (archive_has_entry(archive, host_image_name))
+                       image_name = host_image_name;
+               else
+                       return 0;
+
+               model.image = strdup(image_name);
+               if (archive_has_entry(archive, ec_name))
+                       model.ec_image = strdup(ec_name);
+               if (archive_has_entry(archive, pd_name))
+                       model.pd_image = strdup(pd_name);
+               /* Extract model name from FWID: $Vendor_$Platform.$Version */
+               if (!load_firmware_image(&image, image_name, archive)) {
+                       char *token = NULL;
+                       if (strtok(image.ro_version, "_"))
+                               token = strtok(NULL, ".");
+                       if (token && *token) {
+                               str_convert(token, tolower);
+                               model.name = strdup(token);
+                       }
+                       free_firmware_image(&image);
+               }
+               if (!model.name)
+                       model.name = strdup(DEFAULT_MODEL_NAME);
+               if (manifest.has_keyset)
+                       model.is_white_label = 1;
+               manifest_add_model(&manifest, &model);
+               manifest.default_model = manifest.num - 1;
+       }
+       VB2_DEBUG("%d model(s) loaded.\n", manifest.num);
+       if (!manifest.num) {
+               ERROR("No valid configurations found from archive.\n");
+               return NULL;
+       }
+
+       new_manifest = (struct manifest *)malloc(sizeof(manifest));
+       if (!new_manifest) {
+               ERROR("Internal error: memory allocation error.\n");
+               return NULL;
+       }
+       memcpy(new_manifest, &manifest, sizeof(manifest));
+       return new_manifest;
+}
+
+/* Releases all resources allocated by given manifest object. */
+void delete_manifest(struct manifest *manifest)
+{
+       int i;
+       assert(manifest);
+       for (i = 0; i < manifest->num; i++) {
+               struct model_config *model = &manifest->models[i];
+               free(model->name);
+               free(model->signature_id);
+               free(model->image);
+               free(model->ec_image);
+               free(model->pd_image);
+               free(model->patches.rootkey);
+               free(model->patches.vblock_a);
+               free(model->patches.vblock_b);
+       }
+       free(manifest->models);
+       free(manifest);
+}
+
+static const char *get_gbb_key_hash(const struct vb2_gbb_header *gbb,
+                                   int32_t offset, int32_t size)
+{
+       struct vb2_packed_key *key;
+
+       if (!gbb)
+               return "<No GBB>";
+       key = (struct vb2_packed_key *)((uint8_t *)gbb + offset);
+       if (vb2_packed_key_looks_ok(key, size))
+               return "<Invalid key>";
+       return packed_key_sha1_string(key);
+}
+
+/* Prints the information of given image file in JSON format. */
+static void print_json_image(
+               const char *name, const char *fpath, struct model_config *m,
+               struct archive *archive, int indent, int is_host)
+{
+       struct firmware_image image = {0};
+       const struct vb2_gbb_header *gbb = NULL;
+       if (!fpath)
+               return;
+       if (load_firmware_image(&image, fpath, archive))
+               return;
+       if (!is_host)
+               printf(",\n");
+       printf("%*s\"%s\": { \"versions\": { \"ro\": \"%s\", \"rw\": \"%s\" },",
+              indent, "", name, image.ro_version, image.rw_version_a);
+       indent += 2;
+       if (!is_host) {
+               /* No extra information to be printed */
+        } else if (patch_image_by_model(&image, m, archive) != 0) {
+               ERROR("Failed to patch images by model: %s\n", m->name);
+       } else if (NULL != (gbb = find_gbb(&image))) {
+               printf("\n%*s\"keys\": { \"root\": \"%s\", ",
+                      indent, "",
+                      get_gbb_key_hash(gbb, gbb->rootkey_offset,
+                                       gbb->rootkey_size));
+               printf("\"recovery\": \"%s\" },",
+                      get_gbb_key_hash(gbb, gbb->recovery_key_offset,
+                                       gbb->recovery_key_size));
+       }
+       printf("\n%*s\"image\": \"%s\" }", indent, "", fpath);
+       free_firmware_image(&image);
+}
+
+/* Prints the information of objects in manifest (models and images) in JSON. */
+void print_json_manifest(const struct manifest *manifest)
+{
+       int i, indent;
+       struct archive *ar = manifest->archive;
+
+       printf("{\n");
+       for (i = 0, indent = 2; i < manifest->num; i++) {
+               struct model_config *m = &manifest->models[i];
+               printf("%s%*s\"%s\": {\n", i ? ",\n" : "", indent, "", m->name);
+               indent += 2;
+               print_json_image("host", m->image, m, ar, indent, 1);
+               print_json_image("ec", m->ec_image, m, ar, indent, 0);
+               print_json_image("pd", m->pd_image, m, ar, indent, 0);
+               if (m->patches.rootkey) {
+                       struct patch_config *p = &m->patches;
+                       printf(",\n%*s\"patches\": { \"rootkey\": \"%s\", "
+                              "\"vblock_a\": \"%s\", \"vblock_b\": \"%s\" }",
+                              indent, "", p->rootkey, p->vblock_a,
+                              p->vblock_b);
+               }
+               if (m->signature_id)
+                       printf(",\n%*s\"signature_id\": \"%s\"", indent, "",
+                              m->signature_id);
+               printf("\n  }");
+               indent -= 2;
+               assert(indent == 2);
+       }
+       printf("\n}\n");
+}
diff --git a/futility/updater_quirks.c b/futility/updater_quirks.c
new file mode 100644 (file)
index 0000000..e5ee5c1
--- /dev/null
@@ -0,0 +1,587 @@
+/* Copyright 2018 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * The board-specific quirks needed by firmware updater.
+ */
+
+#include <assert.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#include "crossystem.h"
+#include "futility.h"
+#include "host_misc.h"
+#include "updater.h"
+
+struct quirks_record {
+       const char * const match;
+       const char * const quirks;
+};
+
+static const struct quirks_record quirks_records[] = {
+       { .match = "Google_Whirlwind.", .quirks = "enlarge_image" },
+       { .match = "Google_Arkham.", .quirks = "enlarge_image" },
+       { .match = "Google_Storm.", .quirks = "enlarge_image" },
+       { .match = "Google_Gale.", .quirks = "enlarge_image" },
+
+       { .match = "Google_Chell.", .quirks = "unlock_me_for_update" },
+       { .match = "Google_Lars.", .quirks = "unlock_me_for_update" },
+       { .match = "Google_Sentry.", .quirks = "unlock_me_for_update" },
+       { .match = "Google_Asuka.", .quirks = "unlock_me_for_update" },
+       { .match = "Google_Caroline.", .quirks = "unlock_me_for_update" },
+       { .match = "Google_Cave.", .quirks = "unlock_me_for_update" },
+
+       { .match = "Google_Eve.",
+         .quirks = "unlock_me_for_update,eve_smm_store" },
+
+       { .match = "Google_Sarien.",
+         .quirks = "unlock_wilco_me_for_update" },
+       { .match = "Google_Arcada.",
+         .quirks = "unlock_wilco_me_for_update" },
+       { .match = "Google_Drallion.",
+         .quirks = "unlock_wilco_me_for_update" },
+
+       { .match = "Google_Poppy.", .quirks = "min_platform_version=6" },
+       { .match = "Google_Scarlet.", .quirks = "min_platform_version=1" },
+       { .match = "Google_Trogdor.", .quirks = "min_platform_version=2" },
+
+        /* Legacy white label units. */
+        { .match = "Google_Enguarde.", .quirks = "allow_empty_wltag" },
+        { .match = "Google_Expresso.", .quirks = "allow_empty_wltag" },
+        { .match = "Google_Hana.", .quirks = "allow_empty_wltag" },
+        { .match = "Google_Veyron_Jaq.", .quirks = "allow_empty_wltag" },
+        { .match = "Google_Veyron_Jerry.", .quirks = "allow_empty_wltag" },
+        { .match = "Google_Veyron_Mighty.", .quirks = "allow_empty_wltag" },
+        { .match = "Google_Reks.", .quirks = "allow_empty_wltag" },
+        { .match = "Google_Relm.", .quirks = "allow_empty_wltag" },
+        { .match = "Google_Wizpig.", .quirks = "allow_empty_wltag" },
+
+        { .match = "Google_Phaser.", .quirks = "override_signature_id" },
+};
+
+/* Preserves meta data and reload image contents from given file path. */
+static int reload_firmware_image(const char *file_path,
+                                struct firmware_image *image)
+{
+       free_firmware_image(image);
+       return load_firmware_image(image, file_path, NULL);
+}
+
+/*
+ * Returns True if the system has EC software sync enabled.
+ */
+static int is_ec_software_sync_enabled(struct updater_config *cfg)
+{
+       const struct vb2_gbb_header *gbb;
+
+       /* Check if current system has disabled software sync or no support. */
+       if (!(VbGetSystemPropertyInt("vdat_flags") & VBSD_EC_SOFTWARE_SYNC)) {
+               INFO("EC Software Sync is not available.\n");
+               return 0;
+       }
+
+       /* Check if the system has been updated to disable software sync. */
+       gbb = find_gbb(&cfg->image);
+       if (!gbb) {
+               WARN("Invalid AP firmware image.\n");
+               return 0;
+       }
+       if (gbb->flags & VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC) {
+               INFO("EC Software Sync will be disabled in next boot.\n");
+               return 0;
+       }
+       return 1;
+}
+
+/*
+ * Schedules an EC RO software sync (in next boot) if applicable.
+ */
+static int ec_ro_software_sync(struct updater_config *cfg)
+{
+       const char *ec_ro_path;
+       uint8_t *ec_ro_data;
+       uint32_t ec_ro_len;
+       int is_same_ec_ro;
+       struct firmware_section ec_ro_sec;
+       const char *tmp_path = get_firmware_image_temp_file(
+                       &cfg->image, &cfg->tempfiles);
+
+       if (!tmp_path)
+               return 1;
+       find_firmware_section(&ec_ro_sec, &cfg->ec_image, "EC_RO");
+       if (!ec_ro_sec.data || !ec_ro_sec.size) {
+               ERROR("EC image has invalid section '%s'.\n", "EC_RO");
+               return 1;
+       }
+       ec_ro_path = cbfs_extract_file(tmp_path, FMAP_RO_CBFS, "ecro",
+                                      &cfg->tempfiles);
+       if (!ec_ro_path ||
+           !cbfs_file_exists(tmp_path, FMAP_RO_CBFS, "ecro.hash")) {
+               INFO("No valid EC RO for software sync in AP firmware.\n");
+               return 1;
+       }
+       if (vb2_read_file(ec_ro_path, &ec_ro_data, &ec_ro_len) != VB2_SUCCESS) {
+               ERROR("Failed to read EC RO.\n");
+               return 1;
+       }
+
+       is_same_ec_ro = (ec_ro_len <= ec_ro_sec.size &&
+                        memcmp(ec_ro_sec.data, ec_ro_data, ec_ro_len) == 0);
+       free(ec_ro_data);
+
+       if (!is_same_ec_ro) {
+               /* TODO(hungte) If change AP RO is not a problem (hash will be
+                * different, which may be a problem to factory and HWID), or if
+                * we can be be sure this is for developers, extract EC RO and
+                * update AP RO CBFS to trigger EC RO sync with new EC.
+                */
+               ERROR("The EC RO contents specified from AP (--image) and EC "
+                     "(--ec_image) firmware images are different, cannot "
+                     "update by EC RO software sync.\n");
+               return 1;
+       }
+       VbSetSystemPropertyInt("try_ro_sync", 1);
+       return 0;
+}
+
+/*
+ * Returns True if EC is running in RW.
+ */
+static int is_ec_in_rw(void)
+{
+       char buf[VB_MAX_STRING_PROPERTY];
+       return (VbGetSystemPropertyString("ecfw_act", buf, sizeof(buf)) &&
+               strcasecmp(buf, "RW") == 0);
+}
+
+/*
+ * Quirk to enlarge a firmware image to match flash size. This is needed by
+ * devices using multiple SPI flash with different sizes, for example 8M and
+ * 16M. The image_to will be padded with 0xFF using the size of image_from.
+ * Returns 0 on success, otherwise failure.
+ */
+static int quirk_enlarge_image(struct updater_config *cfg)
+{
+       struct firmware_image *image_from = &cfg->image_current,
+                             *image_to = &cfg->image;
+       const char *tmp_path;
+       size_t to_write;
+       FILE *fp;
+
+       if (image_from->size <= image_to->size)
+               return 0;
+
+       tmp_path = get_firmware_image_temp_file(image_to, &cfg->tempfiles);
+       if (!tmp_path)
+               return -1;
+
+       VB2_DEBUG("Resize image from %u to %u.\n",
+                 image_to->size, image_from->size);
+       to_write = image_from->size - image_to->size;
+       fp = fopen(tmp_path, "ab");
+       if (!fp) {
+               ERROR("Cannot open temporary file %s.\n", tmp_path);
+               return -1;
+       }
+       while (to_write-- > 0)
+               fputc('\xff', fp);
+       fclose(fp);
+       return reload_firmware_image(tmp_path, image_to);
+}
+
+/*
+ * Quirk to unlock a firmware image with SI_ME (management engine) when updating
+ * so the system has a chance to make sure SI_ME won't be corrupted on next boot
+ * before locking the Flash Master values in SI_DESC.
+ * Returns 0 on success, otherwise failure.
+ */
+static int quirk_unlock_me_for_update(struct updater_config *cfg)
+{
+       struct firmware_section section;
+       struct firmware_image *image_to = &cfg->image;
+       const int flash_master_offset = 128;
+       const uint8_t flash_master[] = {
+               0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff,
+               0xff, 0xff
+       };
+
+       find_firmware_section(&section, image_to, FMAP_SI_DESC);
+       if (section.size < flash_master_offset + ARRAY_SIZE(flash_master))
+               return 0;
+       if (memcmp(section.data + flash_master_offset, flash_master,
+                  ARRAY_SIZE(flash_master)) == 0) {
+               VB2_DEBUG("Target ME not locked.\n");
+               return 0;
+       }
+       /*
+        * b/35568719: We should only update with unlocked ME and let
+        * board-postinst lock it.
+        */
+       INFO("Changed Flash Master Values to unlocked.\n");
+       memcpy(section.data + flash_master_offset, flash_master,
+              ARRAY_SIZE(flash_master));
+       return 0;
+}
+
+/*
+ * Quirk to unlock a firmware image with SI_ME (management engine) when updating
+ * so the system has a chance to make sure SI_ME won't be corrupted on next boot
+ * before locking the Flash Master values in SI_DESC.
+ * Returns 0 on success, otherwise failure.
+ */
+static int quirk_unlock_wilco_me_for_update(struct updater_config *cfg)
+{
+       struct firmware_section section;
+       struct firmware_image *image_to = &cfg->image;
+       const int flash_master_offset = 128;
+       const uint8_t flash_master[] = {
+               0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff
+       };
+
+       find_firmware_section(&section, image_to, FMAP_SI_DESC);
+       if (section.size < flash_master_offset + ARRAY_SIZE(flash_master))
+               return 0;
+       if (memcmp(section.data + flash_master_offset, flash_master,
+                  ARRAY_SIZE(flash_master)) == 0) {
+               VB2_DEBUG("Target ME not locked.\n");
+               return 0;
+       }
+       INFO("Changed Flash Master Values to unlocked.\n");
+       memcpy(section.data + flash_master_offset, flash_master,
+              ARRAY_SIZE(flash_master));
+       return 0;
+}
+
+/*
+ * Checks and returns 0 if the platform version of current system is larger
+ * or equal to given number, otherwise non-zero.
+ */
+static int quirk_min_platform_version(struct updater_config *cfg)
+{
+       int min_version = get_config_quirk(QUIRK_MIN_PLATFORM_VERSION, cfg);
+       int platform_version = get_system_property(SYS_PROP_PLATFORM_VER, cfg);
+
+       VB2_DEBUG("Minimum required version=%d, current platform version=%d\n",
+                 min_version, platform_version);
+
+       if (platform_version >= min_version)
+               return 0;
+       ERROR("Need platform version >= %d (current is %d). "
+             "This firmware will only run on newer systems.\n",
+             min_version, platform_version);
+       return -1;
+}
+
+/*
+ * Quirk to help preserving SMM store on devices without a dedicated "SMMSTORE"
+ * FMAP section. These devices will store "smm_store" file in same CBFS where
+ * the legacy boot loader lives (i.e, FMAP RW_LEGACY).
+ * Note this currently has dependency on external program "cbstool".
+ * Returns 0 if the SMM store is properly preserved, or if the system is not
+ * available to do that (problem in cbfstool, or no "smm_store" in current
+ * system firmware). Otherwise non-zero as failure.
+ */
+static int quirk_eve_smm_store(struct updater_config *cfg)
+{
+       const char *smm_store_name = "smm_store";
+       const char *old_store;
+       char *command;
+       const char *temp_image = get_firmware_image_temp_file(
+                       &cfg->image_current, &cfg->tempfiles);
+
+       if (!temp_image)
+               return -1;
+
+       old_store = cbfs_extract_file(temp_image, FMAP_RW_LEGACY,
+                                     smm_store_name, &cfg->tempfiles);
+       if (!old_store) {
+               VB2_DEBUG("cbfstool failure or SMM store not available. "
+                         "Don't preserve.\n");
+               return 0;
+       }
+
+       /* Reuse temp_image */
+       temp_image = get_firmware_image_temp_file(&cfg->image, &cfg->tempfiles);
+       if (!temp_image)
+               return -1;
+
+       /* crosreview.com/1165109: The offset is fixed at 0x1bf000. */
+       ASPRINTF(&command,
+                "cbfstool \"%s\" remove -r %s -n \"%s\" 2>/dev/null; "
+                "cbfstool \"%s\" add -r %s -n \"%s\" -f \"%s\" "
+                " -t raw -b 0x1bf000", temp_image, FMAP_RW_LEGACY,
+                smm_store_name, temp_image, FMAP_RW_LEGACY,
+                smm_store_name, old_store);
+       free(host_shell(command));
+       free(command);
+
+       return reload_firmware_image(temp_image, &cfg->image);
+}
+
+/*
+ * Update EC (RO+RW) in most reliable way.
+ *
+ * Some EC will reset TCPC when doing sysjump, and will make rootfs unavailable
+ * if the system was boot from USB, or other unexpected issues even if the
+ * system was boot from internal disk. To prevent that, try to partial update
+ * only RO and expect EC software sync to update RW later, or perform EC RO
+ * software sync.
+ *
+ * Returns:
+ *  EC_RECOVERY_FULL to indicate a full recovery is needed.
+ *  EC_RECOVERY_RO to indicate partial update (WP_RO) is needed.
+ *  EC_RECOVERY_DONE to indicate EC RO software sync is applied.
+ *  Other values to report failure.
+ */
+static int quirk_ec_partial_recovery(struct updater_config *cfg)
+{
+       /*
+        * http://crbug.com/1024401: Some EC needs extra header outside EC_RO so
+        * we have to update whole WP_RO, not just EC_RO.
+        */
+       const char *ec_ro = "WP_RO";
+       struct firmware_image *ec_image = &cfg->ec_image;
+
+       int do_partial = get_config_quirk(QUIRK_EC_PARTIAL_RECOVERY, cfg);
+       if (do_partial == -1) {
+               char arch[VB_MAX_STRING_PROPERTY];
+               /*
+                * Don't do partial update if can't decide arch (usually implies
+                * running outside DUT).
+                */
+               do_partial = 0;
+               if (VbGetSystemPropertyString("arch", arch, sizeof(arch)) > 0) {
+                       /* By default disabled for x86, otherwise enabled. */
+                       do_partial = !!strcmp(arch, "x86");
+               }
+       }
+
+       if (!do_partial) {
+               return EC_RECOVERY_FULL;
+       } else if (!firmware_section_exists(ec_image, ec_ro)) {
+               INFO("EC image does not have section '%s'.\n", ec_ro);
+               /* Need full update. */
+       } else if (!is_ec_software_sync_enabled(cfg)) {
+               /* Message already printed, need full update. */
+       } else if (is_ec_in_rw()) {
+               WARN("EC Software Sync detected, will only update EC RO. "
+                    "The contents in EC RW will be updated after reboot.\n");
+               return EC_RECOVERY_RO;
+       } else if (ec_ro_software_sync(cfg) == 0) {
+               INFO("EC RO and RW should be updated after reboot.\n");
+               return EC_RECOVERY_DONE;
+       }
+
+       WARN("Update EC RO+RW and may cause unexpected error later. "
+            "See http://crbug.com/782427#c4 for more information.\n");
+       return EC_RECOVERY_FULL;
+}
+
+/*
+ * Preserve ME during firmware update.
+ *
+ * Updating ME region while SoC is in S0 state is an unsupported use-case. On
+ * recent platforms, we are seeing issues more frequently because of this use-
+ * case. For the firmware updates performed using firmware update archive,
+ * preserve the ME region so that it gets updated in the successive boot.
+ *
+ * Returns:
+ *   1 to signal ME needs to be preserved.
+ *   0 to signal ME does not need to be preserved.
+ */
+static int quirk_preserve_me(struct updater_config *cfg)
+{
+       /* For a factory update donot preserve ME. */
+       if (cfg->factory_update) {
+              WARN("Factory update. Not preserving ME.\n");
+              return 0;
+       }
+
+       /*
+        * For a non-archive update, the post boot script that updates ME
+        * does not have access to the firmware image after the boot. Hence
+        * donot preserve ME.
+        */
+       if (!cfg->archive) {
+               WARN("Update using a non-archive image. Not preserving ME.\n");
+               return 0;
+       }
+
+       return 1;
+}
+
+/*
+ * Disable checking platform compatibility.
+ */
+static int quirk_no_check_platform(struct updater_config *cfg)
+{
+       WARN("Disabled checking platform. You are on your own.\n");
+       cfg->check_platform = 0;
+       return 0;
+}
+
+/*
+ * Registers known quirks to a updater_config object.
+ */
+void updater_register_quirks(struct updater_config *cfg)
+{
+       struct quirk_entry *quirks;
+
+       assert(ARRAY_SIZE(cfg->quirks) == QUIRK_MAX);
+       quirks = &cfg->quirks[QUIRK_ENLARGE_IMAGE];
+       quirks->name = "enlarge_image";
+       quirks->help = "Enlarge firmware image by flash size.";
+       quirks->apply = quirk_enlarge_image;
+
+       quirks = &cfg->quirks[QUIRK_MIN_PLATFORM_VERSION];
+       quirks->name = "min_platform_version";
+       quirks->help = "Minimum compatible platform version "
+                       "(also known as Board ID version).";
+       quirks->apply = quirk_min_platform_version;
+
+       quirks = &cfg->quirks[QUIRK_UNLOCK_WILCO_ME_FOR_UPDATE];
+       quirks->name = "unlock_wilco_me_for_update";
+       quirks->help = "Unlock ME for safe lockdown.";
+       quirks->apply = quirk_unlock_wilco_me_for_update;
+
+       quirks = &cfg->quirks[QUIRK_UNLOCK_ME_FOR_UPDATE];
+       quirks->name = "unlock_me_for_update";
+       quirks->help = "b/35568719; only lock management engine in "
+                       "board-postinst.";
+       quirks->apply = quirk_unlock_me_for_update;
+
+       quirks = &cfg->quirks[QUIRK_EVE_SMM_STORE];
+       quirks->name = "eve_smm_store";
+       quirks->help = "b/70682365; preserve UEFI SMM store without "
+                      "dedicated FMAP section.";
+       quirks->apply = quirk_eve_smm_store;
+
+       quirks = &cfg->quirks[QUIRK_ALLOW_EMPTY_WLTAG];
+       quirks->name = "allow_empty_wltag";
+       quirks->help = "chromium/906962; allow devices without white label "
+                      "tags set to use default keys.";
+       quirks->apply = NULL;  /* Simple config. */
+
+       quirks = &cfg->quirks[QUIRK_EC_PARTIAL_RECOVERY];
+       quirks->name = "ec_partial_recovery";
+       quirks->help = "chromium/1024401; recover EC by partial RO update.";
+       quirks->apply = quirk_ec_partial_recovery;
+       quirks->value = -1;  /* Decide at runtime. */
+
+       quirks = &cfg->quirks[QUIRK_OVERRIDE_SIGNATURE_ID];
+       quirks->name = "override_signature_id";
+       quirks->help = "chromium/146876241; override signature id for "
+                       "devices shipped with different root key.";
+       quirks->apply = NULL; /* Simple config. */
+
+       quirks = &cfg->quirks[QUIRK_PRESERVE_ME];
+       quirks->name = "preserve_me";
+       quirks->help = "b/165590952; Preserve ME during firmware update except "
+                      "for factory update or developer images.";
+       quirks->apply = quirk_preserve_me;
+
+       quirks = &cfg->quirks[QUIRK_NO_CHECK_PLATFORM];
+       quirks->name = "no_check_platform";
+       quirks->help = "Do not check platform name.";
+       quirks->apply = quirk_no_check_platform;
+}
+
+/*
+ * Gets the default quirk config string from target image name.
+ * Returns a string (in same format as --quirks) to load or NULL if no quirks.
+ */
+const char * const updater_get_model_quirks(struct updater_config *cfg)
+{
+       const char *pattern = cfg->image.ro_version;
+       int i;
+
+       if (!pattern) {
+               VB2_DEBUG("Cannot identify system for default quirks.\n");
+               return NULL;
+       }
+
+       for (i = 0; i < ARRAY_SIZE(quirks_records); i++) {
+               const struct quirks_record *r = &quirks_records[i];
+               if (strncmp(r->match, pattern, strlen(r->match)) != 0)
+                   continue;
+               VB2_DEBUG("Found system default quirks: %s\n", r->quirks);
+               return r->quirks;
+       }
+       return NULL;
+}
+
+/*
+ * Gets the quirk config string from target image CBFS.
+ * Returns a string (in same format as --quirks) to load or NULL if no quirks.
+ */
+char *updater_get_cbfs_quirks(struct updater_config *cfg)
+{
+       const char *entry_name = "updater_quirks";
+       const char *cbfs_region = "FW_MAIN_A";
+       struct firmware_section cbfs_section;
+
+       /* Before invoking cbfstool, try to search for CBFS file name. */
+       find_firmware_section(&cbfs_section, &cfg->image, cbfs_region);
+       if (!cbfs_section.size || !memmem(cbfs_section.data, cbfs_section.size,
+                                         entry_name, strlen(entry_name))) {
+               if (!cbfs_section.size)
+                       VB2_DEBUG("Missing region: %s\n", cbfs_region);
+               else
+                       VB2_DEBUG("Cannot find entry: %s\n", entry_name);
+               return NULL;
+       }
+
+       const char *tmp_path = get_firmware_image_temp_file(
+                       &cfg->image, &cfg->tempfiles);
+       uint8_t *data = NULL;
+       uint32_t size = 0;
+
+       /* Although the name exists, it may not be a real file. */
+       if (!cbfs_file_exists(tmp_path, cbfs_region, entry_name)) {
+               VB2_DEBUG("Found string '%s' but not a file.\n", entry_name);
+               return NULL;
+       }
+
+       VB2_DEBUG("Found %s from CBFS %s\n", entry_name, cbfs_region);
+       tmp_path = cbfs_extract_file(tmp_path, cbfs_region, entry_name,
+                                    &cfg->tempfiles);
+       if (!tmp_path ||
+           vb2_read_file(tmp_path, &data, &size) != VB2_SUCCESS) {
+               ERROR("Failed to read [%s] from CBFS [%s].\n",
+                     entry_name, cbfs_region);
+               return NULL;
+       }
+       VB2_DEBUG("Got quirks (%u bytes): %s\n", size, data);
+       return (char *)data;
+}
+
+/*
+ * Overrides signature id if the device was shipped with known
+ * special rootkey.
+ */
+int quirk_override_signature_id(struct updater_config *cfg,
+                               struct model_config *model,
+                               const char **signature_id)
+{
+       const char * const DOPEFISH_KEY_HASH =
+                               "9a1f2cc319e2f2e61237dc51125e35ddd4d20984";
+
+       /* b/146876241 */
+       assert(model);
+       if (strcmp(model->name, "phaser360") == 0) {
+               struct firmware_image *image = &cfg->image_current;
+               const char *key_hash = get_firmware_rootkey_hash(image);
+               if (key_hash && strcmp(key_hash, DOPEFISH_KEY_HASH) == 0) {
+                       const char * const sig_dopefish = "phaser360-dopefish";
+                       WARN("A Phaser360 with Dopefish rootkey - "
+                            "override signature_id to '%s'.\n", sig_dopefish);
+                       *signature_id = sig_dopefish;
+               }
+       }
+
+       return 0;
+}
diff --git a/futility/updater_utils.c b/futility/updater_utils.c
new file mode 100644 (file)
index 0000000..50a3326
--- /dev/null
@@ -0,0 +1,651 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * The utility functions for firmware updater.
+ */
+
+#include <assert.h>
+#include <limits.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <string.h>
+#include <unistd.h>
+#if defined (__FreeBSD__) || defined(__OpenBSD__)
+#include <sys/wait.h>
+#endif
+
+#include "2common.h"
+#include "crossystem.h"
+#include "host_misc.h"
+#include "util_misc.h"
+#include "updater.h"
+
+#define COMMAND_BUFFER_SIZE 256
+
+/* System environment values. */
+static const char * const STR_REV = "rev";
+
+/*
+ * Strips a string (usually from shell execution output) by removing all the
+ * trailing characters in pattern. If pattern is NULL, match by space type
+ * characters (space, new line, tab, ... etc).
+ */
+void strip_string(char *s, const char *pattern)
+{
+       int len;
+       assert(s);
+
+       len = strlen(s);
+       while (len-- > 0) {
+               if (pattern) {
+                       if (!strchr(pattern, s[len]))
+                               break;
+               } else {
+                       if (!isascii(s[len]) || !isspace(s[len]))
+                               break;
+               }
+               s[len] = '\0';
+       }
+}
+
+/*
+ * Saves everything from stdin to given output file.
+ * Returns 0 on success, otherwise failure.
+ */
+int save_file_from_stdin(const char *output)
+{
+       FILE *in = stdin, *out = fopen(output, "wb");
+       char buffer[4096];
+       size_t sz;
+
+       assert(in);
+       if (!out)
+               return -1;
+
+       while (!feof(in)) {
+               sz = fread(buffer, 1, sizeof(buffer), in);
+               if (fwrite(buffer, 1, sz, out) != sz) {
+                       fclose(out);
+                       return -1;
+               }
+       }
+       fclose(out);
+       return 0;
+}
+
+/*
+ * Returns 1 if a given file (cbfs_entry_name) exists inside a particular CBFS
+ * section of an image file, otherwise 0.
+ */
+int cbfs_file_exists(const char *image_file,
+                    const char *section_name,
+                    const char *cbfs_entry_name)
+{
+       char *cmd;
+       int r;
+
+       ASPRINTF(&cmd,
+                "cbfstool '%s' print -r %s 2>/dev/null | grep -q '^%s '",
+                image_file, section_name, cbfs_entry_name);
+       r = system(cmd);
+       free(cmd);
+       return !r;
+}
+
+/*
+ * Extracts files from a CBFS on given region (section) of image_file.
+ * Returns the path to a temporary file on success, otherwise NULL.
+ */
+const char *cbfs_extract_file(const char *image_file,
+                             const char *cbfs_region,
+                             const char *cbfs_name,
+                             struct tempfile *tempfiles)
+{
+       const char *output = create_temp_file(tempfiles);
+       char *command, *result;
+
+       if (!output)
+               return NULL;
+
+       ASPRINTF(&command, "cbfstool \"%s\" extract -r %s -n \"%s\" "
+                "-f \"%s\" 2>&1", image_file, cbfs_region,
+                cbfs_name, output);
+
+       result = host_shell(command);
+       free(command);
+
+       if (!*result)
+               output = NULL;
+
+       free(result);
+       return output;
+}
+
+/*
+ * Loads the firmware information from an FMAP section in loaded firmware image.
+ * The section should only contain ASCIIZ string as firmware version.
+ * Returns 0 if a non-empty version string is stored in *version, otherwise -1.
+ */
+static int load_firmware_version(struct firmware_image *image,
+                                const char *section_name,
+                                char **version)
+{
+       struct firmware_section fwid;
+       int len = 0;
+
+       /*
+        * section_name is NULL when parsing the RW versions on a non-vboot
+        * image (and already warned in load_firmware_image). We still need to
+        * initialize *version with empty string.
+        */
+       if (section_name) {
+               find_firmware_section(&fwid, image, section_name);
+               if (fwid.size)
+                       len = fwid.size;
+               else
+                       WARN("No valid section '%s', missing version info.\n",
+                            section_name);
+       }
+
+       if (!len) {
+               *version = strdup("");
+               return -1;
+       }
+
+       /*
+        * For 'system current' images, the version string may contain
+        * invalid characters that we do want to strip.
+        */
+       *version = strndup((const char *)fwid.data, len);
+       strip_string(*version, "\xff");
+       return 0;
+}
+
+static int parse_firmware_image(struct firmware_image *image)
+{
+       int ret = IMAGE_LOAD_SUCCESS;
+       const char *section_a = NULL, *section_b = NULL;
+
+       VB2_DEBUG("Image size: %d\n", image->size);
+       assert(image->data);
+
+       image->fmap_header = fmap_find(image->data, image->size);
+
+       if (!image->fmap_header) {
+               ERROR("Invalid image file (missing FMAP): %s\n", image->file_name);
+               ret = IMAGE_PARSE_FAILURE;
+       }
+
+       if (load_firmware_version(image, FMAP_RO_FRID, &image->ro_version))
+               ret = IMAGE_PARSE_FAILURE;
+
+       if (firmware_section_exists(image, FMAP_RW_FWID_A)) {
+               section_a = FMAP_RW_FWID_A;
+               section_b = FMAP_RW_FWID_B;
+       } else if (firmware_section_exists(image, FMAP_RW_FWID)) {
+               section_a = FMAP_RW_FWID;
+               section_b = FMAP_RW_FWID;
+       } else if (!ret) {
+               ERROR("Unsupported VBoot firmware (no RW ID): %s\n", image->file_name);
+               ret = IMAGE_PARSE_FAILURE;
+       }
+
+       /*
+        * Load and initialize both RW A and B sections.
+        * Note some unit tests will create only RW A.
+        */
+       load_firmware_version(image, section_a, &image->rw_version_a);
+       load_firmware_version(image, section_b, &image->rw_version_b);
+
+       return ret;
+}
+
+/*
+ * Loads a firmware image from file.
+ * If archive is provided and file_name is a relative path, read the file from
+ * archive.
+ * Returns IMAGE_LOAD_SUCCESS on success, IMAGE_READ_FAILURE on file I/O
+ * failure, or IMAGE_PARSE_FAILURE for non-vboot images.
+ */
+int load_firmware_image(struct firmware_image *image, const char *file_name,
+                       struct archive *archive)
+{
+       if (!file_name) {
+               ERROR("No file name given\n");
+               return IMAGE_READ_FAILURE;
+       }
+
+       VB2_DEBUG("Load image file from %s...\n", file_name);
+
+       if (!archive_has_entry(archive, file_name)) {
+               ERROR("Does not exist: %s\n", file_name);
+               return IMAGE_READ_FAILURE;
+       }
+       if (archive_read_file(archive, file_name, &image->data, &image->size,
+                             NULL) != VB2_SUCCESS) {
+               ERROR("Failed to load %s\n", file_name);
+               return IMAGE_READ_FAILURE;
+       }
+
+       image->file_name = strdup(file_name);
+
+       return parse_firmware_image(image);
+}
+
+/*
+ * Generates a temporary file for snapshot of firmware image contents.
+ *
+ * Returns a file path if success, otherwise NULL.
+ */
+const char *get_firmware_image_temp_file(const struct firmware_image *image,
+                                        struct tempfile *tempfiles)
+{
+       const char *tmp_path = create_temp_file(tempfiles);
+       if (!tmp_path)
+               return NULL;
+
+       if (vb2_write_file(tmp_path, image->data, image->size) != VB2_SUCCESS) {
+               ERROR("Failed writing %s firmware image (%u bytes) to %s.\n",
+                     image->programmer ? image->programmer : "temp",
+                     image->size, tmp_path);
+               return NULL;
+       }
+       return tmp_path;
+}
+
+/*
+ * Frees the allocated resource from a firmware image object.
+ */
+void free_firmware_image(struct firmware_image *image)
+{
+       /*
+        * The programmer is not allocated by load_firmware_image and must be
+        * preserved explicitly.
+        */
+       const char *programmer = image->programmer;
+
+       free(image->data);
+       free(image->file_name);
+       free(image->ro_version);
+       free(image->rw_version_a);
+       free(image->rw_version_b);
+       memset(image, 0, sizeof(*image));
+       image->programmer = programmer;
+}
+
+/*
+ * Finds a firmware section by given name in the firmware image.
+ * If successful, return zero and *section argument contains the address and
+ * size of the section; otherwise failure.
+ */
+int find_firmware_section(struct firmware_section *section,
+                         const struct firmware_image *image,
+                         const char *section_name)
+{
+       FmapAreaHeader *fah = NULL;
+       uint8_t *ptr;
+
+       section->data = NULL;
+       section->size = 0;
+       ptr = fmap_find_by_name(
+                       image->data, image->size, image->fmap_header,
+                       section_name, &fah);
+       if (!ptr)
+               return -1;
+       section->data = (uint8_t *)ptr;
+       section->size = fah->area_size;
+       return 0;
+}
+
+/*
+ * Returns true if the given FMAP section exists in the firmware image.
+ */
+int firmware_section_exists(const struct firmware_image *image,
+                           const char *section_name)
+{
+       struct firmware_section section;
+       find_firmware_section(&section, image, section_name);
+       return section.data != NULL;
+}
+
+/*
+ * Preserves (copies) the given section (by name) from image_from to image_to.
+ * The offset may be different, and the section data will be directly copied.
+ * If the section does not exist on either images, return as failure.
+ * If the source section is larger, contents on destination be truncated.
+ * If the source section is smaller, the remaining area is not modified.
+ * Returns 0 if success, non-zero if error.
+ */
+int preserve_firmware_section(const struct firmware_image *image_from,
+                             struct firmware_image *image_to,
+                             const char *section_name)
+{
+       struct firmware_section from, to;
+
+       find_firmware_section(&from, image_from, section_name);
+       find_firmware_section(&to, image_to, section_name);
+       if (!from.data || !to.data) {
+               VB2_DEBUG("Cannot find section %.*s: from=%p, to=%p\n",
+                         FMAP_NAMELEN, section_name, from.data, to.data);
+               return -1;
+       }
+       if (from.size > to.size) {
+               WARN("Section %.*s is truncated after updated.\n",
+                    FMAP_NAMELEN, section_name);
+       }
+       /* Use memmove in case if we need to deal with sections that overlap. */
+       memmove(to.data, from.data, VB2_MIN(from.size, to.size));
+       return 0;
+}
+
+/*
+ * Finds the GBB (Google Binary Block) header on a given firmware image.
+ * Returns a pointer to valid GBB header, or NULL on not found.
+ */
+const struct vb2_gbb_header *find_gbb(const struct firmware_image *image)
+{
+       struct firmware_section section;
+       struct vb2_gbb_header *gbb_header;
+
+       find_firmware_section(&section, image, FMAP_RO_GBB);
+       gbb_header = (struct vb2_gbb_header *)section.data;
+       if (!futil_valid_gbb_header(gbb_header, section.size, NULL)) {
+               ERROR("Cannot find GBB in image: %s.\n", image->file_name);
+               return NULL;
+       }
+       return gbb_header;
+}
+
+/*
+ * Executes a command on current host and returns stripped command output.
+ * If the command has failed (exit code is not zero), returns an empty string.
+ * The caller is responsible for releasing the returned string.
+ */
+char *host_shell(const char *command)
+{
+       /* Currently all commands we use do not have large output. */
+       char buf[COMMAND_BUFFER_SIZE];
+
+       int result;
+       FILE *fp = popen(command, "r");
+
+       VB2_DEBUG("%s\n", command);
+       buf[0] = '\0';
+       if (!fp) {
+               VB2_DEBUG("Execution error for %s.\n", command);
+               return strdup(buf);
+       }
+
+       if (fgets(buf, sizeof(buf), fp))
+               strip_string(buf, NULL);
+       result = pclose(fp);
+       if (!WIFEXITED(result) || WEXITSTATUS(result) != 0) {
+               VB2_DEBUG("Execution failure with exit code %d: %s\n",
+                         WEXITSTATUS(result), command);
+               /*
+                * Discard all output if command failed, for example command
+                * syntax failure may lead to garbage in stdout.
+                */
+               buf[0] = '\0';
+       }
+       return strdup(buf);
+}
+
+
+/* An helper function to return "mainfw_act" system property.  */
+static int host_get_mainfw_act(void)
+{
+       char buf[VB_MAX_STRING_PROPERTY];
+
+       if (!VbGetSystemPropertyString("mainfw_act", buf, sizeof(buf)))
+               return SLOT_UNKNOWN;
+
+       if (strcmp(buf, FWACT_A) == 0)
+               return SLOT_A;
+       else if (strcmp(buf, FWACT_B) == 0)
+               return SLOT_B;
+
+       return SLOT_UNKNOWN;
+}
+
+/* A helper function to return the "tpm_fwver" system property. */
+static int host_get_tpm_fwver(void)
+{
+       return VbGetSystemPropertyInt("tpm_fwver");
+}
+
+/* A helper function to return the "hardware write protection" status. */
+static int host_get_wp_hw(void)
+{
+       /* wpsw refers to write protection 'switch', not 'software'. */
+       return VbGetSystemPropertyInt("wpsw_cur");
+}
+
+/* A helper function to return "fw_vboot2" system property. */
+static int host_get_fw_vboot2(void)
+{
+       return VbGetSystemPropertyInt("fw_vboot2");
+}
+
+/* A help function to get $(mosys platform version). */
+static int host_get_platform_version(void)
+{
+       char *result = host_shell("mosys platform version");
+       long rev = -1;
+
+       /* Result should be 'revN' */
+       if (strncmp(result, STR_REV, strlen(STR_REV)) == 0)
+               rev = strtol(result + strlen(STR_REV), NULL, 0);
+
+       /* we should never have negative or extremely large versions,
+        * but clamp just to be sure
+        */
+       if (rev < 0)
+               rev = 0;
+       if (rev > INT_MAX)
+               rev = INT_MAX;
+
+       VB2_DEBUG("Raw data = [%s], parsed version is %ld\n", result, rev);
+
+       free(result);
+       return rev;
+}
+
+/*
+ * Helper function to detect type of Servo board attached to host.
+ * Returns a string as programmer parameter on success, otherwise NULL.
+ */
+char *host_detect_servo(int *need_prepare_ptr)
+{
+       const char *servo_port = getenv(ENV_SERVOD_PORT);
+       const char *servo_name = getenv(ENV_SERVOD_NAME);
+       char *servo_type = host_shell("dut-control -o servo_type 2>/dev/null");
+       const char *programmer = NULL;
+       char *ret = NULL;
+       int need_prepare = 0;  /* To prepare by dut-control cpu_fw_spi:on */
+       char *servo_serial = NULL;
+
+       /* Get serial name if servo port is provided. */
+       if ((servo_port && *servo_port) || (servo_name && *servo_name)) {
+               const char *cmd = "dut-control -o serialname 2>/dev/null";
+
+               VB2_DEBUG("Select servod using port: %s or name: %s\n",
+                         servo_port, servo_name);
+               if (strstr(servo_type, "with_servo_micro"))
+                       cmd = ("dut-control -o servo_micro_serialname"
+                              " 2>/dev/null");
+               else if (strstr(servo_type, "with_ccd"))
+                       cmd = "dut-control -o ccd_serialname 2>/dev/null";
+
+               servo_serial = host_shell(cmd);
+               VB2_DEBUG("Servo SN=%s (serial cmd: %s)\n", servo_serial, cmd);
+       }
+
+       if (!*servo_type) {
+               ERROR("Failed to get servo type. Check servod.\n");
+       } else if (servo_serial && !*servo_serial) {
+               ERROR("Failed to get serial at servo port %s.\n", servo_port);
+       } else if (strstr(servo_type, "servo_micro")) {
+               VB2_DEBUG("Selected Servo Micro.\n");
+               programmer = "raiden_debug_spi";
+               need_prepare = 1;
+       } else if (strstr(servo_type, "ccd_cr50") ||
+                  strstr(servo_type, "ccd_gsc")) {
+               VB2_DEBUG("Selected CCD.\n");
+               programmer = "raiden_debug_spi:target=AP";
+       } else {
+               VB2_DEBUG("Selected Servo V2.\n");
+               programmer = "ft2232_spi:type=google-servo-v2";
+               need_prepare = 1;
+       }
+
+       if (programmer) {
+               if (!servo_serial) {
+                       ret = strdup(programmer);
+               } else {
+                       const char prefix = strchr(programmer, ':') ? ',' : ':';
+                       ASPRINTF(&ret, "%s%cserial=%s", programmer, prefix,
+                                servo_serial);
+               }
+               VB2_DEBUG("Servo programmer: %s\n", ret);
+       }
+
+       free(servo_type);
+       free(servo_serial);
+       *need_prepare_ptr = need_prepare;
+
+       return ret;
+}
+
+/*
+ * Loads the active system firmware image (usually from SPI flash chip).
+ * Returns 0 if success, non-zero if error.
+ */
+int load_system_firmware(struct firmware_image *image,
+                        struct tempfile *tempfiles, int verbosity)
+{
+       int r;
+
+       r = flashrom_read_image(image, NULL, (verbosity + 1));
+       if (!r)
+               r = parse_firmware_image(image);
+       return r;
+}
+
+/*
+ * Writes a section from given firmware image to system firmware.
+ * If section_name is NULL, write whole image.
+ * Returns 0 if success, non-zero if error.
+ */
+int write_system_firmware(const struct firmware_image *image,
+                         const struct firmware_image *diff_image,
+                         const char *section_name,
+                         struct tempfile *tempfiles,
+                         int verbosity)
+{
+       return flashrom_write_image(image, section_name, diff_image, (verbosity + 1));
+}
+
+/* Helper function to return host software write protection status. */
+static int host_get_wp_sw(void)
+{
+       return flashrom_get_wp(PROG_HOST);
+}
+
+/* Helper function to configure all properties. */
+void init_system_properties(struct system_property *props, int num)
+{
+       memset(props, 0, num * sizeof(*props));
+       assert(num >= SYS_PROP_MAX);
+       props[SYS_PROP_MAINFW_ACT].getter = host_get_mainfw_act;
+       props[SYS_PROP_TPM_FWVER].getter = host_get_tpm_fwver;
+       props[SYS_PROP_FW_VBOOT2].getter = host_get_fw_vboot2;
+       props[SYS_PROP_PLATFORM_VER].getter = host_get_platform_version;
+       props[SYS_PROP_WP_HW].getter = host_get_wp_hw;
+       props[SYS_PROP_WP_SW].getter = host_get_wp_sw;
+}
+
+/*
+ * Helper function to create a new temporary file.
+ * All files created will be removed remove_all_temp_files().
+ * Returns the path of new file, or NULL on failure.
+ */
+const char *create_temp_file(struct tempfile *head)
+{
+       struct tempfile *new_temp;
+       char new_path[] = P_tmpdir "/fwupdater.XXXXXX";
+       int fd;
+       mode_t umask_save;
+
+       /* Set the umask before mkstemp for security considerations. */
+       umask_save = umask(077);
+       fd = mkstemp(new_path);
+       umask(umask_save);
+       if (fd < 0) {
+               ERROR("Failed to create new temp file in %s\n", new_path);
+               return NULL;
+       }
+       close(fd);
+       new_temp = (struct tempfile *)malloc(sizeof(*new_temp));
+       if (new_temp)
+               new_temp->filepath = strdup(new_path);
+       if (!new_temp || !new_temp->filepath) {
+               remove(new_path);
+               free(new_temp);
+               ERROR("Failed to allocate buffer for new temp file.\n");
+               return NULL;
+       }
+       VB2_DEBUG("Created new temporary file: %s.\n", new_path);
+       new_temp->next = NULL;
+       while (head->next)
+               head = head->next;
+       head->next = new_temp;
+       return new_temp->filepath;
+}
+
+/*
+ * Helper function to remove all files created by create_temp_file().
+ * This is intended to be called only once at end of program execution.
+ */
+void remove_all_temp_files(struct tempfile *head)
+{
+       /* head itself is dummy and should not be removed. */
+       assert(!head->filepath);
+       struct tempfile *next = head->next;
+       head->next = NULL;
+       while (next) {
+               head = next;
+               next = head->next;
+               assert(head->filepath);
+               VB2_DEBUG("Remove temporary file: %s.\n", head->filepath);
+               remove(head->filepath);
+               free(head->filepath);
+               free(head);
+       }
+}
+
+/*
+ * Returns rootkey hash of firmware image, or NULL on failure.
+ */
+const char *get_firmware_rootkey_hash(const struct firmware_image *image)
+{
+       const struct vb2_gbb_header *gbb = NULL;
+       const struct vb2_packed_key *rootkey = NULL;
+
+       assert(image->data);
+
+       gbb = find_gbb(image);
+       if (!gbb) {
+               WARN("No GBB found in image.\n");
+               return NULL;
+       }
+
+       rootkey = get_rootkey(gbb);
+       if (!rootkey) {
+               WARN("No rootkey found in image.\n");
+               return NULL;
+       }
+
+       return packed_key_sha1_string(rootkey);
+}
diff --git a/futility/updater_utils.h b/futility/updater_utils.h
new file mode 100644 (file)
index 0000000..2ab6f07
--- /dev/null
@@ -0,0 +1,241 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Utilities for firmware updater.
+ */
+
+#ifndef VBOOT_REFERENCE_FUTILITY_UPDATER_UTILS_H_
+#define VBOOT_REFERENCE_FUTILITY_UPDATER_UTILS_H_
+
+#include <stdio.h>
+#include "fmap.h"
+
+#define ASPRINTF(strp, ...) do { if (asprintf(strp, __VA_ARGS__) >= 0) break; \
+       ERROR("Failed to allocate memory, abort.\n"); exit(1); } while (0)
+
+/* Structure(s) declared in updater_archive */
+struct archive;
+
+/* flashrom programmers. */
+static const char * const PROG_HOST = "host",
+                 * const PROG_EC = "ec",
+                 * const PROG_PD = "ec:type=pd";
+
+/* Firmware slots */
+static const char * const FWACT_A = "A",
+                 * const FWACT_B = "B";
+
+enum active_slot {
+       SLOT_UNKNOWN = -1,
+       SLOT_A = 0,
+       SLOT_B,
+};
+
+/* Utilities for managing temporary files. */
+struct tempfile {
+       char *filepath;
+       struct tempfile *next;
+};
+
+/*
+ * Create a new temporary file.
+ *
+ * The parameter head refers to a linked list dummy head.
+ * Returns the path of new file, or NULL on failure.
+ */
+const char *create_temp_file(struct tempfile *head);
+
+/*
+ * Remove all files created by create_temp_file().
+ *
+ * The parameter head refers to the dummy head of linked list.
+ * This is intended to be called only once at end of program execution.
+ */
+void remove_all_temp_files(struct tempfile *head);
+
+/* Utilities for firmware images and (FMAP) sections */
+struct firmware_image {
+       const char *programmer;
+       uint32_t size;
+       uint8_t *data;
+       char *file_name;
+       char *ro_version, *rw_version_a, *rw_version_b;
+       FmapHeader *fmap_header;
+};
+
+enum {
+       IMAGE_LOAD_SUCCESS = 0,
+       IMAGE_READ_FAILURE = -1,
+       IMAGE_PARSE_FAILURE = -2,
+};
+
+/*
+ * Loads a firmware image from file.
+ * If archive is provided and file_name is a relative path, read the file from
+ * archive.
+ * Returns IMAGE_LOAD_SUCCESS on success, IMAGE_READ_FAILURE on file I/O
+ * failure, or IMAGE_PARSE_FAILURE for non-vboot images.
+ */
+int load_firmware_image(struct firmware_image *image, const char *file_name,
+                       struct archive *archive);
+
+/*
+ * Loads the active system firmware image (usually from SPI flash chip).
+ * Returns 0 if success, non-zero if error.
+ */
+int load_system_firmware(struct firmware_image *image,
+                        struct tempfile *tempfiles, int verbosity);
+
+/* Frees the allocated resource from a firmware image object. */
+void free_firmware_image(struct firmware_image *image);
+
+/*
+ * Generates a temporary file for snapshot of firmware image contents.
+ *
+ * Returns a file path if success, otherwise NULL.
+ */
+const char *get_firmware_image_temp_file(const struct firmware_image *image,
+                                        struct tempfile *tempfiles);
+
+/*
+ * Writes a section from given firmware image to system firmware.
+ * If section_name is NULL, write whole image.
+ * Returns 0 if success, non-zero if error.
+ */
+int write_system_firmware(const struct firmware_image *image,
+                         const struct firmware_image *diff_image,
+                         const char *section_name,
+                         struct tempfile *tempfiles,
+                         int verbosity);
+
+struct firmware_section {
+       uint8_t *data;
+       size_t size;
+};
+
+/*
+ * Returns true if the given FMAP section exists in the firmware image.
+ */
+int firmware_section_exists(const struct firmware_image *image,
+                           const char *section_name);
+
+/*
+ * Finds a firmware section by given name in the firmware image.
+ * If successful, return zero and *section argument contains the address and
+ * size of the section; otherwise failure.
+ */
+int find_firmware_section(struct firmware_section *section,
+                         const struct firmware_image *image,
+                         const char *section_name);
+
+/*
+ * Preserves (copies) the given section (by name) from image_from to image_to.
+ * The offset may be different, and the section data will be directly copied.
+ * If the section does not exist on either images, return as failure.
+ * If the source section is larger, contents on destination be truncated.
+ * If the source section is smaller, the remaining area is not modified.
+ * Returns 0 if success, non-zero if error.
+ */
+int preserve_firmware_section(const struct firmware_image *image_from,
+                             struct firmware_image *image_to,
+                             const char *section_name);
+
+/*
+ * Finds the GBB (Google Binary Block) header on a given firmware image.
+ * Returns a pointer to valid GBB header, or NULL on not found.
+ */
+struct vb2_gbb_header;
+const struct vb2_gbb_header *find_gbb(const struct firmware_image *image);
+
+/*
+ * Strips a string (usually from shell execution output) by removing all the
+ * trailing characters in pattern. If pattern is NULL, match by space type
+ * characters (space, new line, tab, ... etc).
+ */
+void strip_string(char *s, const char *pattern);
+
+/*
+ * Saves everything from stdin to given output file.
+ * Returns 0 on success, otherwise failure.
+ */
+int save_file_from_stdin(const char *output);
+
+/*
+ * Executes a command on current host and returns stripped command output.
+ * If the command has failed (exit code is not zero), returns an empty string.
+ * The caller is responsible for releasing the returned string.
+ */
+char *host_shell(const char *command);
+
+enum wp_state {
+       WP_ERROR = -1,
+       WP_DISABLED = 0,
+       WP_ENABLED,
+};
+
+/* Helper function to return write protection status via given programmer. */
+enum wp_state flashrom_get_wp(const char *programmer);
+
+/* The environment variable name for setting servod port. */
+#define ENV_SERVOD_PORT        "SERVOD_PORT"
+
+/* The environment variable name for setting servod name. */
+#define ENV_SERVOD_NAME        "SERVOD_NAME"
+
+/*
+ * Helper function to detect type of Servo board attached to host.
+ * Returns a string as programmer parameter on success, otherwise NULL.
+ */
+char *host_detect_servo(int *need_prepare_ptr);
+
+/*
+ * Returns 1 if a given file (cbfs_entry_name) exists inside a particular CBFS
+ * section of an image file, otherwise 0.
+ */
+int cbfs_file_exists(const char *image_file,
+                    const char *section_name,
+                    const char *cbfs_entry_name);
+
+/*
+ * Extracts files from a CBFS on given region (section) of image_file.
+ * Returns the path to a temporary file on success, otherwise NULL.
+ */
+const char *cbfs_extract_file(const char *image_file,
+                             const char *cbfs_region,
+                             const char *cbfs_name,
+                             struct tempfile *tempfiles);
+
+/* Utilities for accessing system properties */
+struct system_property {
+       int (*getter)(void);
+       int value;
+       int initialized;
+};
+
+enum system_property_type {
+       SYS_PROP_MAINFW_ACT,
+       SYS_PROP_TPM_FWVER,
+       SYS_PROP_FW_VBOOT2,
+       SYS_PROP_PLATFORM_VER,
+       SYS_PROP_WP_HW,
+       SYS_PROP_WP_SW,
+       SYS_PROP_MAX
+};
+
+/* Helper function to initialize system properties. */
+void init_system_properties(struct system_property *props, int num);
+
+/*
+ * Returns rootkey hash of firmware image, or NULL on failure.
+ */
+const char *get_firmware_rootkey_hash(const struct firmware_image *image);
+
+int flashrom_read_image(struct firmware_image *image, const char *region,
+                        int verbosity);
+int flashrom_write_image(const struct firmware_image *image,
+                       const char *region,
+                       const struct firmware_image *diff_image,
+                       int verbosity);
+
+#endif  /* VBOOT_REFERENCE_FUTILITY_UPDATER_UTILS_H_ */
diff --git a/futility/vb1_helper.c b/futility/vb1_helper.c
new file mode 100644 (file)
index 0000000..2a0e87a
--- /dev/null
@@ -0,0 +1,820 @@
+/* Copyright 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <inttypes.h>          /* For PRIu64 */
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <openssl/rsa.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "file_type.h"
+#include "futility.h"
+#include "host_common.h"
+#include "kernel_blob.h"
+#include "util_misc.h"
+#include "vb1_helper.h"
+
+/****************************************************************************/
+/* Here are globals containing all the bits & pieces I'm working on.
+ *
+ * kernel vblock    = keyblock + kernel preamble + padding to 64K (or whatever)
+ * kernel blob      = 32-bit kernel + config file + params + bootloader stub +
+ *                    vmlinuz_header
+ * kernel partition = kernel vblock + kernel blob
+ *
+ * The vb2_kernel_preamble.preamble_size includes the padding.
+ */
+
+/* The keyblock, preamble, and kernel blob are kept in separate places. */
+static struct vb2_keyblock *g_keyblock;
+static struct vb2_kernel_preamble *g_preamble;
+static uint8_t *g_kernel_blob_data;
+static uint32_t g_kernel_blob_size;
+
+/* These refer to individual parts within the kernel blob. */
+static uint8_t *g_kernel_data;
+static uint32_t g_kernel_size;
+static uint8_t *g_config_data;
+static uint32_t g_config_size;
+static uint8_t *g_param_data;
+static uint32_t g_param_size;
+static uint8_t *g_bootloader_data;
+static uint32_t g_bootloader_size;
+static uint8_t *g_vmlinuz_header_data;
+static uint32_t g_vmlinuz_header_size;
+
+static uint64_t g_ondisk_bootloader_addr;
+static uint64_t g_ondisk_vmlinuz_header_addr;
+
+
+/*
+ * Read the kernel command line from a file. Get rid of \n characters along
+ * the way and verify that the line fits into a 4K buffer.
+ *
+ * Return the buffer contaning the line on success (and set the line length
+ * using the passed in parameter), or NULL in case something goes wrong.
+ */
+uint8_t *ReadConfigFile(const char *config_file, uint32_t *config_size)
+{
+       uint8_t *config_buf;
+       int i;
+
+       if (VB2_SUCCESS != vb2_read_file(config_file, &config_buf, config_size))
+               return NULL;
+       VB2_DEBUG(" config file size=%#x\n", *config_size);
+       if (CROS_CONFIG_SIZE <= *config_size) { /* room for trailing '\0' */
+               fprintf(stderr, "Config file %s is too large (>= %d bytes)\n",
+                       config_file, CROS_CONFIG_SIZE);
+               free(config_buf);
+               return NULL;
+       }
+
+       /* Replace newlines with spaces */
+       for (i = 0; i < *config_size; i++)
+               if ('\n' == config_buf[i])
+                       config_buf[i] = ' ';
+
+       return config_buf;
+}
+
+/****************************************************************************/
+
+/* Return the smallest integral multiple of [alignment] that is equal
+ * to or greater than [val]. Used to determine the number of
+ * pages/sectors/blocks/whatever needed to contain [val]
+ * items/bytes/etc. */
+static uint32_t roundup(uint32_t val, uint32_t alignment)
+{
+       uint32_t rem = val % alignment;
+       if (rem)
+               return val + (alignment - rem);
+       return val;
+}
+
+/* Match regexp /\b--\b/ to delimit the start of the kernel commandline. If we
+ * don't find one, we'll use the whole thing. */
+static unsigned int find_cmdline_start(uint8_t *buf_ptr, unsigned int max_len)
+{
+       char *input = (char *)buf_ptr;
+       int start = 0;
+       int i;
+       for (i = 0; i < max_len - 1 && input[i]; i++) {
+               if ('-' == input[i] && '-' == input[i + 1]) {
+                       if ((i == 0 || ' ' == input[i - 1]) &&
+                           (i + 2 >= max_len || ' ' == input[i + 2])) {
+                               /* found "--" with nothing before or after it */
+                               start = i + 2;  /* hope for a trailing '\0' */
+                               break;
+                       }
+               }
+       }
+       while (' ' == input[start])     /* skip leading spaces */
+               start++;
+
+       return start;
+}
+
+/* Offset of kernel command line string from the start of the kernel blob */
+uint64_t kernel_cmd_line_offset(const struct vb2_kernel_preamble *preamble)
+{
+       return preamble->bootloader_address - preamble->body_load_address -
+           CROS_CONFIG_SIZE - CROS_PARAMS_SIZE;
+}
+
+/* Returns the size of the 32-bit kernel, or negative on error. */
+static int KernelSize(uint8_t *kernel_buf,
+                     uint32_t kernel_size,
+                     enum arch_t arch)
+{
+       uint32_t kernel32_start = 0;
+       struct linux_kernel_params *lh;
+
+       /* Except for x86, the kernel is the kernel. */
+       if (arch != ARCH_X86)
+               return kernel_size;
+
+       /* The first part of the x86 vmlinuz is a header, followed by
+        * a real-mode boot stub. We only want the 32-bit part. */
+       lh = (struct linux_kernel_params *)kernel_buf;
+       if (lh->header != VMLINUZ_HEADER_SIG) {
+               VB2_DEBUG("Not a linux kernel image\n");
+               return kernel_size;
+       }
+       kernel32_start = (lh->setup_sects + 1) << 9;
+       if (kernel32_start >= kernel_size) {
+               fprintf(stderr, "Malformed kernel\n");
+               return -1;
+       }
+       return kernel_size - kernel32_start;
+}
+
+/* This extracts g_kernel_* and g_param_* from a standard vmlinuz file.
+ * It returns nonzero on error. */
+static int PickApartVmlinuz(uint8_t *kernel_buf,
+                           uint32_t kernel_size,
+                           enum arch_t arch,
+                           uint64_t kernel_body_load_address)
+{
+       uint32_t kernel32_start = 0;
+       uint32_t kernel32_size = kernel_size;
+       struct linux_kernel_params *lh, *params;
+
+       /* Except for x86, the kernel is the kernel. */
+       switch (arch) {
+       case ARCH_X86:
+               /* The first part of the x86 vmlinuz is a header, followed by
+                * a real-mode boot stub. We only want the 32-bit part. */
+               lh = (struct linux_kernel_params *)kernel_buf;
+               if (lh->header != VMLINUZ_HEADER_SIG) {
+                       VB2_DEBUG("Not a linux kernel image\n");
+                       break;
+               }
+               kernel32_start = (lh->setup_sects + 1) << 9;
+               if (kernel32_start >= kernel_size) {
+                       fprintf(stderr, "Malformed kernel\n");
+                       return -1;
+               }
+               kernel32_size = kernel_size - kernel32_start;
+
+               VB2_DEBUG(" kernel16_start=%#x\n", 0);
+               VB2_DEBUG(" kernel16_size=%#x\n", kernel32_start);
+
+               /* Copy the original zeropage data from kernel_buf into
+                * g_param_data, then tweak a few fields for our purposes */
+               params = (struct linux_kernel_params *)(g_param_data);
+               memcpy(&(params->setup_sects), &(lh->setup_sects),
+                      offsetof(struct linux_kernel_params, e820_entries)
+                      - offsetof(struct linux_kernel_params, setup_sects));
+               params->boot_flag = 0;
+               params->ramdisk_image = 0;      /* we don't support initrd */
+               params->ramdisk_size = 0;
+               params->type_of_loader = 0xff;
+               /* We need to point to the kernel commandline arg. On disk, it
+                * will come right after the 32-bit part of the kernel. */
+               params->cmd_line_ptr = kernel_body_load_address +
+                       roundup(kernel32_size, CROS_ALIGN) +
+                       find_cmdline_start(g_config_data, g_config_size);
+               VB2_DEBUG(" cmdline_addr=%#x\n", params->cmd_line_ptr);
+               VB2_DEBUG(" version=%#x\n", params->version);
+               VB2_DEBUG(" kernel_alignment=%#x\n", params->kernel_alignment);
+               VB2_DEBUG(" relocatable_kernel=%#x\n",
+                         params->relocatable_kernel);
+               /* Add a fake e820 memory map with 2 entries. */
+               params->n_e820_entry = 2;
+               params->e820_entries[0].start_addr = 0x00000000;
+               params->e820_entries[0].segment_size = 0x00001000;
+               params->e820_entries[0].segment_type = E820_TYPE_RAM;
+               params->e820_entries[1].start_addr = 0xfffff000;
+               params->e820_entries[1].segment_size = 0x00001000;
+               params->e820_entries[1].segment_type = E820_TYPE_RESERVED;
+               break;
+       default:
+               break;
+       }
+
+       VB2_DEBUG(" kernel32_start=%#x\n", kernel32_start);
+       VB2_DEBUG(" kernel32_size=%#x\n", kernel32_size);
+
+       /* Keep just the 32-bit kernel. */
+       if (kernel32_size) {
+               g_kernel_size = kernel32_size;
+               memcpy(g_kernel_data, kernel_buf + kernel32_start,
+                      g_kernel_size);
+       }
+
+       /* done */
+       return 0;
+}
+
+/* Split a kernel blob into separate g_kernel, g_param, g_config,
+ * g_bootloader, and g_vmlinuz_header parts. */
+static void UnpackKernelBlob(uint8_t *kernel_blob_data)
+{
+       uint32_t now;
+       uint32_t vmlinuz_header_size = 0;
+       uint64_t vmlinuz_header_address = 0;
+
+       /* We have to work backwards from the end, because the preamble
+          only describes the bootloader and vmlinuz stubs. */
+
+       /* Vmlinuz Header is at the end */
+       vb2_kernel_get_vmlinuz_header(g_preamble,
+                                     &vmlinuz_header_address,
+                                     &vmlinuz_header_size);
+       if (vmlinuz_header_size) {
+               now = vmlinuz_header_address - g_preamble->body_load_address;
+               g_vmlinuz_header_size = vmlinuz_header_size;
+               g_vmlinuz_header_data = kernel_blob_data + now;
+
+               VB2_DEBUG("vmlinuz_header_size     = %#x\n",
+                         g_vmlinuz_header_size);
+               VB2_DEBUG("vmlinuz_header_ofs      = %#x\n", now);
+       }
+
+       /* Where does the bootloader stub begin? */
+       now = g_preamble->bootloader_address - g_preamble->body_load_address;
+
+       /* Bootloader is at the end */
+       g_bootloader_size = g_preamble->bootloader_size;
+       g_bootloader_data = kernel_blob_data + now;
+       /* TODO: What to do if this is beyond the end of the blob? */
+
+       VB2_DEBUG("bootloader_size     = %#x\n", g_bootloader_size);
+       VB2_DEBUG("bootloader_ofs      = %#x\n", now);
+
+       /* Before that is the params */
+       now -= CROS_PARAMS_SIZE;
+       g_param_size = CROS_PARAMS_SIZE;
+       g_param_data = kernel_blob_data + now;
+       VB2_DEBUG("param_ofs           = %#x\n", now);
+
+       /* Before that is the config */
+       now -= CROS_CONFIG_SIZE;
+       g_config_size = CROS_CONFIG_SIZE;
+       g_config_data = kernel_blob_data + now;
+       VB2_DEBUG("config_ofs          = %#x\n", now);
+
+       /* The kernel starts at offset 0 and extends up to the config */
+       g_kernel_data = kernel_blob_data;
+       g_kernel_size = now;
+       VB2_DEBUG("kernel_size         = %#x\n", g_kernel_size);
+}
+
+
+/* Replaces the config section of the specified kernel blob.
+ * Return nonzero on error. */
+int UpdateKernelBlobConfig(uint8_t *kblob_data, uint32_t kblob_size,
+                          uint8_t *config_data, uint32_t config_size)
+{
+       /* We should have already examined this blob. If not, we could do it
+        * again, but it's more likely due to an error. */
+       if (kblob_data != g_kernel_blob_data ||
+           kblob_size != g_kernel_blob_size) {
+               fprintf(stderr, "Trying to update some other blob\n");
+               return -1;
+       }
+
+       memset(g_config_data, 0, g_config_size);
+       memcpy(g_config_data, config_data, config_size);
+
+       return 0;
+}
+
+/* Split a kernel partition into separate vblock and blob parts. */
+uint8_t *unpack_kernel_partition(uint8_t *kpart_data,
+                                uint32_t kpart_size,
+                                uint32_t padding,
+                                struct vb2_keyblock **keyblock_ptr,
+                                struct vb2_kernel_preamble **preamble_ptr,
+                                uint32_t *blob_size_ptr)
+{
+       struct vb2_kernel_preamble *preamble;
+       uint32_t vmlinuz_header_size = 0;
+       uint64_t vmlinuz_header_address = 0;
+       uint32_t now = 0;
+
+       /* Validity-check the keyblock */
+       struct vb2_keyblock *keyblock = (struct vb2_keyblock *)kpart_data;
+       VB2_DEBUG("Keyblock is %#x bytes\n", keyblock->keyblock_size);
+       now += keyblock->keyblock_size;
+       if (now > kpart_size) {
+               fprintf(stderr,
+                       "keyblock_size advances past the end of the blob\n");
+               return NULL;
+       }
+       if (now > padding) {
+               fprintf(stderr,
+                       "keyblock_size advances past %u byte padding\n",
+                       padding);
+               return NULL;
+       }
+
+       /* LGTM */
+       g_keyblock = keyblock;
+
+       /* And the preamble */
+       preamble = (struct vb2_kernel_preamble *)(kpart_data + now);
+       VB2_DEBUG("Preamble is %#x bytes\n", preamble->preamble_size);
+       now += preamble->preamble_size;
+       if (now > kpart_size) {
+               fprintf(stderr,
+                       "preamble_size advances past the end of the blob\n");
+               return NULL;
+       }
+       if (now > padding) {
+               fprintf(stderr, "preamble_size advances past %u"
+                       " byte padding\n", padding);
+               return NULL;
+       }
+       /* LGTM */
+       VB2_DEBUG(" kernel_version = %d\n", preamble->kernel_version);
+       VB2_DEBUG(" bootloader_address = 0x%" PRIx64 "\n",
+                 preamble->bootloader_address);
+       VB2_DEBUG(" bootloader_size = %#x\n", preamble->bootloader_size);
+       VB2_DEBUG(" kern_blob_size = %#x\n",
+                 preamble->body_signature.data_size);
+
+       uint32_t flags = vb2_kernel_get_flags(preamble);
+       VB2_DEBUG(" flags = %#x\n", flags);
+
+       g_preamble = preamble;
+       g_ondisk_bootloader_addr = g_preamble->bootloader_address;
+
+       vb2_kernel_get_vmlinuz_header(preamble,
+                                     &vmlinuz_header_address,
+                                     &vmlinuz_header_size);
+       if (vmlinuz_header_size) {
+               VB2_DEBUG(" vmlinuz_header_address = 0x%" PRIx64 "\n",
+                         vmlinuz_header_address);
+               VB2_DEBUG(" vmlinuz_header_size = %#x\n", vmlinuz_header_size);
+               g_ondisk_vmlinuz_header_addr = vmlinuz_header_address;
+       }
+
+       VB2_DEBUG("kernel blob is at offset %#x\n", now);
+       g_kernel_blob_data = kpart_data + now;
+       g_kernel_blob_size = preamble->body_signature.data_size;
+
+       /* Validity check */
+       if (kpart_size < now + g_kernel_blob_size) {
+               fprintf(stderr,
+                       "kernel body size %u exceeds partition end\n",
+                       g_kernel_blob_size);
+               return NULL;
+       }
+
+       /* Update the blob pointers */
+       UnpackKernelBlob(g_kernel_blob_data);
+
+       if (keyblock_ptr)
+               *keyblock_ptr = keyblock;
+       if (preamble_ptr)
+               *preamble_ptr = preamble;
+       if (blob_size_ptr)
+               *blob_size_ptr = g_kernel_blob_size;
+
+       return g_kernel_blob_data;
+}
+
+uint8_t *SignKernelBlob(uint8_t *kernel_blob,
+                       uint32_t kernel_size,
+                       uint32_t padding,
+                       int version,
+                       uint64_t kernel_body_load_address,
+                       struct vb2_keyblock *keyblock,
+                       struct vb2_private_key *signpriv_key,
+                       uint32_t flags,
+                       uint32_t *vblock_size_ptr)
+{
+       /* Make sure the preamble fills up the rest of the required padding */
+       uint32_t min_size = padding > keyblock->keyblock_size
+               ? padding - keyblock->keyblock_size : 0;
+
+       /* Sign the kernel data */
+       struct vb2_signature *body_sig = vb2_calculate_signature(kernel_blob,
+                                                                kernel_size,
+                                                                signpriv_key);
+       if (!body_sig) {
+               fprintf(stderr, "Error calculating body signature\n");
+               return NULL;
+       }
+
+       /* Create preamble */
+       struct vb2_kernel_preamble *preamble =
+               vb2_create_kernel_preamble(version,
+                                          kernel_body_load_address,
+                                          g_ondisk_bootloader_addr,
+                                          g_bootloader_size,
+                                          body_sig,
+                                          g_ondisk_vmlinuz_header_addr,
+                                          g_vmlinuz_header_size,
+                                          flags,
+                                          min_size,
+                                          signpriv_key);
+       if (!preamble) {
+               fprintf(stderr, "Error creating preamble.\n");
+               return 0;
+       }
+
+       uint32_t outsize = keyblock->keyblock_size + preamble->preamble_size;
+       void *outbuf = calloc(outsize, 1);
+       memcpy(outbuf, keyblock, keyblock->keyblock_size);
+       memcpy(outbuf + keyblock->keyblock_size,
+              preamble, preamble->preamble_size);
+
+       if (vblock_size_ptr)
+               *vblock_size_ptr = outsize;
+       return outbuf;
+}
+
+/* Returns zero on success */
+int WriteSomeParts(const char *outfile,
+                  void *part1_data, uint32_t part1_size,
+                  void *part2_data, uint32_t part2_size)
+{
+       FILE *f;
+
+       /* Write the output file */
+       VB2_DEBUG("writing %s with %#x, %#x\n",
+                 outfile, part1_size, part2_size);
+
+       f = fopen(outfile, "wb");
+       if (!f) {
+               fprintf(stderr, "Can't open output file %s: %s\n",
+                       outfile, strerror(errno));
+               return -1;
+       }
+
+       if (part1_data && part1_size) {
+               if (1 != fwrite(part1_data, part1_size, 1, f)) {
+                       fprintf(stderr, "Can't write output file %s: %s\n",
+                               outfile, strerror(errno));
+                       fclose(f);
+                       unlink(outfile);
+                       return -1;
+               }
+       }
+
+       if (part2_data && part2_size) {
+               if (1 != fwrite(part2_data, part2_size, 1, f)) {
+                       fprintf(stderr, "Can't write output file %s: %s\n",
+                               outfile, strerror(errno));
+                       fclose(f);
+                       unlink(outfile);
+                       return -1;
+               }
+       }
+
+       fclose(f);
+
+       /* Success */
+       return 0;
+}
+
+/* Returns 0 on success */
+int VerifyKernelBlob(uint8_t *kernel_blob,
+                    uint32_t kernel_size,
+                    struct vb2_packed_key *signpub_key,
+                    const char *keyblock_outfile,
+                    uint32_t min_version)
+{
+       int rv = -1;
+       uint32_t vmlinuz_header_size = 0;
+       uint64_t vmlinuz_header_address = 0;
+
+       uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+               __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       if (signpub_key) {
+               struct vb2_public_key pubkey;
+               if (VB2_SUCCESS != vb2_unpack_key(&pubkey, signpub_key)) {
+                       fprintf(stderr, "Error unpacking signing key.\n");
+                       goto done;
+               }
+               if (VB2_SUCCESS !=
+                   vb2_verify_keyblock(g_keyblock, g_keyblock->keyblock_size,
+                                       &pubkey, &wb)) {
+                       fprintf(stderr, "Error verifying keyblock.\n");
+                       goto done;
+               }
+       } else if (VB2_SUCCESS !=
+                  vb2_verify_keyblock_hash(g_keyblock,
+                                           g_keyblock->keyblock_size,
+                                           &wb)) {
+               fprintf(stderr, "Error verifying keyblock.\n");
+               goto done;
+       }
+
+       printf("Keyblock:\n");
+       struct vb2_packed_key *data_key = &g_keyblock->data_key;
+       printf("  Signature:           %s\n",
+              signpub_key ? "valid" : "ignored");
+       printf("  Size:                %#x\n", g_keyblock->keyblock_size);
+       printf("  Flags:               %u ", g_keyblock->keyblock_flags);
+       if (g_keyblock->keyblock_flags & VB2_KEYBLOCK_FLAG_DEVELOPER_0)
+               printf(" !DEV");
+       if (g_keyblock->keyblock_flags & VB2_KEYBLOCK_FLAG_DEVELOPER_1)
+               printf(" DEV");
+       if (g_keyblock->keyblock_flags & VB2_KEYBLOCK_FLAG_RECOVERY_0)
+               printf(" !REC");
+       if (g_keyblock->keyblock_flags & VB2_KEYBLOCK_FLAG_RECOVERY_1)
+               printf(" REC");
+       if (g_keyblock->keyblock_flags & VB2_KEYBLOCK_FLAG_MINIOS_0)
+               printf(" !MINIOS");
+       if (g_keyblock->keyblock_flags & VB2_KEYBLOCK_FLAG_MINIOS_1)
+               printf(" MINIOS");
+       printf("\n");
+       printf("  Data key algorithm:  %u %s\n", data_key->algorithm,
+              vb2_get_crypto_algorithm_name(data_key->algorithm));
+       printf("  Data key version:    %u\n", data_key->key_version);
+       printf("  Data key sha1sum:    %s\n",
+              packed_key_sha1_string(data_key));
+
+       if (keyblock_outfile) {
+               FILE *f = NULL;
+               f = fopen(keyblock_outfile, "wb");
+               if (!f)  {
+                       fprintf(stderr, "Can't open keyblock file %s: %s\n",
+                               keyblock_outfile, strerror(errno));
+                       goto done;
+               }
+               if (1 != fwrite(g_keyblock, g_keyblock->keyblock_size, 1, f)) {
+                       fprintf(stderr, "Can't write keyblock file %s: %s\n",
+                               keyblock_outfile, strerror(errno));
+                       fclose(f);
+                       goto done;
+               }
+               fclose(f);
+       }
+
+       if (data_key->key_version < (min_version >> 16)) {
+               fprintf(stderr, "Data key version %u < minimum %u.\n",
+                       data_key->key_version, (min_version >> 16));
+               goto done;
+       }
+
+       struct vb2_public_key pubkey;
+       if (VB2_SUCCESS != vb2_unpack_key(&pubkey, data_key)) {
+               fprintf(stderr, "Error parsing data key.\n");
+               goto done;
+       }
+
+       /* Verify preamble */
+       if (VB2_SUCCESS != vb2_verify_kernel_preamble(
+                       (struct vb2_kernel_preamble *)g_preamble,
+                       g_preamble->preamble_size, &pubkey, &wb)) {
+               fprintf(stderr, "Error verifying preamble.\n");
+               goto done;
+       }
+
+       printf("Preamble:\n");
+       printf("  Size:                %#x\n", g_preamble->preamble_size);
+       printf("  Header version:      %u.%u\n",
+              g_preamble->header_version_major,
+              g_preamble->header_version_minor);
+       printf("  Kernel version:      %u\n", g_preamble->kernel_version);
+       printf("  Body load address:   0x%" PRIx64 "\n",
+              g_preamble->body_load_address);
+       printf("  Body size:           %#x\n",
+              g_preamble->body_signature.data_size);
+       printf("  Bootloader address:  0x%" PRIx64 "\n",
+              g_preamble->bootloader_address);
+       printf("  Bootloader size:     %#x\n", g_preamble->bootloader_size);
+
+       vb2_kernel_get_vmlinuz_header(g_preamble,
+                                     &vmlinuz_header_address,
+                                     &vmlinuz_header_size);
+       if (vmlinuz_header_size) {
+               printf("  Vmlinuz header address: 0x%" PRIx64 "\n",
+                      vmlinuz_header_address);
+               printf("  Vmlinuz header size:    %#x\n",
+                      (uint32_t)vmlinuz_header_size);
+       }
+
+       printf("  Flags          :       %#x\n",
+              vb2_kernel_get_flags(g_preamble));
+
+       if (g_preamble->kernel_version < (min_version & 0xFFFF)) {
+               fprintf(stderr,
+                       "Kernel version %u is lower than minimum %u.\n",
+                       g_preamble->kernel_version, (min_version & 0xFFFF));
+               goto done;
+       }
+
+       /* Verify body */
+       if (VB2_SUCCESS !=
+           vb2_verify_data(kernel_blob, kernel_size,
+                           &g_preamble->body_signature,
+                           &pubkey, &wb)) {
+               fprintf(stderr, "Error verifying kernel body.\n");
+               goto done;
+       }
+       printf("Body verification succeeded.\n");
+
+       printf("Config:\n%s\n",
+              kernel_blob + kernel_cmd_line_offset(g_preamble));
+
+       rv = 0;
+done:
+       return rv;
+}
+
+
+uint8_t *CreateKernelBlob(uint8_t *vmlinuz_buf, uint32_t vmlinuz_size,
+                         enum arch_t arch, uint64_t kernel_body_load_address,
+                         uint8_t *config_data, uint32_t config_size,
+                         uint8_t *bootloader_data, uint32_t bootloader_size,
+                         uint32_t *blob_size_ptr)
+{
+       uint32_t now = 0;
+       int tmp;
+
+       /* We have all the parts. How much room do we need? */
+       tmp = KernelSize(vmlinuz_buf, vmlinuz_size, arch);
+       if (tmp < 0)
+               return NULL;
+       g_kernel_size = tmp;
+       g_config_size = CROS_CONFIG_SIZE;
+       g_param_size = CROS_PARAMS_SIZE;
+       g_bootloader_size = roundup(bootloader_size, CROS_ALIGN);
+       g_vmlinuz_header_size = vmlinuz_size-g_kernel_size;
+       g_kernel_blob_size =
+               roundup(g_kernel_size, CROS_ALIGN) +
+               g_config_size                      +
+               g_param_size                       +
+               g_bootloader_size                  +
+               g_vmlinuz_header_size;
+
+       /*
+        * Round the whole blob up so it's a multiple of sectors, even on 4k
+        * devices.
+        */
+       g_kernel_blob_size = roundup(g_kernel_blob_size, CROS_ALIGN);
+       VB2_DEBUG("g_kernel_blob_size  %#x\n", g_kernel_blob_size);
+
+       /* Allocate space for the blob. */
+       g_kernel_blob_data = malloc(g_kernel_blob_size);
+       memset(g_kernel_blob_data, 0, g_kernel_blob_size);
+
+       /* Assign the sub-pointers */
+       g_kernel_data = g_kernel_blob_data + now;
+       VB2_DEBUG("g_kernel_size       %#x ofs %#x\n",
+                 g_kernel_size, now);
+       now += roundup(g_kernel_size, CROS_ALIGN);
+
+       g_config_data = g_kernel_blob_data + now;
+       VB2_DEBUG("g_config_size       %#x ofs %#x\n",
+                 g_config_size, now);
+       now += g_config_size;
+
+       g_param_data = g_kernel_blob_data + now;
+       VB2_DEBUG("g_param_size        %#x ofs %#x\n",
+                 g_param_size, now);
+       now += g_param_size;
+
+       g_bootloader_data = g_kernel_blob_data + now;
+       VB2_DEBUG("g_bootloader_size   %#x ofs %#x\n",
+                 g_bootloader_size, now);
+       g_ondisk_bootloader_addr = kernel_body_load_address + now;
+       VB2_DEBUG("g_ondisk_bootloader_addr   0x%" PRIx64 "\n",
+                 g_ondisk_bootloader_addr);
+       now += g_bootloader_size;
+
+       if (g_vmlinuz_header_size) {
+               g_vmlinuz_header_data = g_kernel_blob_data + now;
+               VB2_DEBUG("g_vmlinuz_header_size %#x ofs %#x\n",
+                         g_vmlinuz_header_size, now);
+               g_ondisk_vmlinuz_header_addr = kernel_body_load_address + now;
+               VB2_DEBUG("g_ondisk_vmlinuz_header_addr   0x%" PRIx64 "\n",
+                         g_ondisk_vmlinuz_header_addr);
+       }
+
+       VB2_DEBUG("end of kern_blob at kern_blob+%#x\n", now);
+
+       /* Copy the kernel and params bits into the correct places */
+       if (0 != PickApartVmlinuz(vmlinuz_buf, vmlinuz_size,
+                                 arch, kernel_body_load_address)) {
+               fprintf(stderr, "Error picking apart kernel file.\n");
+               free(g_kernel_blob_data);
+               g_kernel_blob_data = NULL;
+               g_kernel_blob_size = 0;
+               return NULL;
+       }
+
+       /* Copy the other bits too */
+       memcpy(g_config_data, config_data, config_size);
+       memcpy(g_bootloader_data, bootloader_data, bootloader_size);
+       if (g_vmlinuz_header_size) {
+               memcpy(g_vmlinuz_header_data,
+                      vmlinuz_buf,
+                      g_vmlinuz_header_size);
+       }
+
+       if (blob_size_ptr)
+               *blob_size_ptr = g_kernel_blob_size;
+       return g_kernel_blob_data;
+}
+
+enum futil_file_type ft_recognize_vblock1(uint8_t *buf, uint32_t len)
+{
+       uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+               __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       /* Vboot 2.0 signature checks destroy the buffer, so make a copy */
+       uint8_t *buf2 = malloc(len);
+       memcpy(buf2, buf, len);
+       struct vb2_keyblock *keyblock = (struct vb2_keyblock *)buf2;
+       if (VB2_SUCCESS != vb2_verify_keyblock_hash(keyblock, len, &wb)) {
+               free(buf2);
+               return FILE_TYPE_UNKNOWN;
+       }
+
+       /* Try unpacking the data key from the keyblock */
+       struct vb2_public_key data_key;
+       if (VB2_SUCCESS !=
+           vb2_unpack_key(&data_key, &keyblock->data_key)) {
+               /* It looks like a bad keyblock, but still a keyblock */
+               free(buf2);
+               return FILE_TYPE_KEYBLOCK;
+       }
+
+       uint32_t more = keyblock->keyblock_size;
+
+       /* Followed by firmware preamble too? */
+       struct vb2_fw_preamble *pre2 = (struct vb2_fw_preamble *)(buf2 + more);
+       if (VB2_SUCCESS ==
+           vb2_verify_fw_preamble(pre2, len - more, &data_key, &wb)) {
+               free(buf2);
+               return FILE_TYPE_FW_PREAMBLE;
+       }
+
+       /* Recopy since firmware preamble check destroyed the buffer */
+       memcpy(buf2, buf, len);
+
+       /* Or maybe kernel preamble? */
+       struct vb2_kernel_preamble *kern_preamble =
+               (struct vb2_kernel_preamble *)(buf2 + more);
+       if (VB2_SUCCESS ==
+           vb2_verify_kernel_preamble(kern_preamble, len - more,
+                                      &data_key, &wb)) {
+               free(buf2);
+               return FILE_TYPE_KERN_PREAMBLE;
+       }
+
+       free(buf2);
+
+       /* No, just keyblock */
+       return FILE_TYPE_KEYBLOCK;
+}
+
+enum futil_file_type ft_recognize_vb1_key(uint8_t *buf, uint32_t len)
+{
+       /* Maybe just a packed public key? */
+       const struct vb2_packed_key *pubkey = (struct vb2_packed_key *)buf;
+       if (vb2_packed_key_looks_ok(pubkey, len) == VB2_SUCCESS)
+               return FILE_TYPE_PUBKEY;
+
+       /* How about a private key? */
+       if (len < sizeof(uint64_t))
+               return FILE_TYPE_UNKNOWN;
+       const unsigned char *start = buf + sizeof(uint64_t);
+       struct rsa_st *rsa =
+               d2i_RSAPrivateKey(NULL, &start, len - sizeof(uint64_t));
+       if (rsa) {
+               RSA_free(rsa);
+               return FILE_TYPE_PRIVKEY;
+       }
+
+       return FILE_TYPE_UNKNOWN;
+}
diff --git a/futility/vb1_helper.h b/futility/vb1_helper.h
new file mode 100644 (file)
index 0000000..0699998
--- /dev/null
@@ -0,0 +1,69 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#ifndef VBOOT_REFERENCE_VB1_HELPER_H_
+#define VBOOT_REFERENCE_VB1_HELPER_H_
+
+struct vb2_kernel_preamble;
+struct vb2_keyblock;
+struct vb2_packed_key;
+
+/* Display a public key with variable indentation */
+void show_pubkey(const struct vb2_packed_key *pubkey, const char *sp);
+
+/* Other random functions needed for backward compatibility */
+
+uint8_t *ReadConfigFile(const char *config_file, uint32_t *config_size);
+
+uint8_t *CreateKernelBlob(uint8_t *vmlinuz_buf, uint32_t vmlinuz_size,
+                         enum arch_t arch, uint64_t kernel_body_load_address,
+                         uint8_t *config_data, uint32_t config_size,
+                         uint8_t *bootloader_data, uint32_t bootloader_size,
+                         uint32_t *blob_size_ptr);
+
+uint8_t *SignKernelBlob(uint8_t *kernel_blob,
+                       uint32_t kernel_size,
+                       uint32_t padding,
+                       int version,
+                       uint64_t kernel_body_load_address,
+                       struct vb2_keyblock *keyblock,
+                       struct vb2_private_key *signpriv_key,
+                       uint32_t flags,
+                       uint32_t *vblock_size_ptr);
+
+int WriteSomeParts(const char *outfile,
+                  void *part1_data, uint32_t part1_size,
+                  void *part2_data, uint32_t part2_size);
+
+/**
+ * Unpack a kernel partition.
+ *
+ * @param kpart_data   Kernel partition data
+ * @param kpart_size   Size of kernel partition data in bytes
+ * @param padding      Expected max size of keyblock+preamble
+ * @param keyblock_ptr Pointer to keyblock stored here on exit
+ * @param preamble_ptr Pointer to premable stored here on exit
+ * @param blob_size_ptr        Size of kernel data blob stored here on exit
+ *
+ * @return A pointer to the kernel data blob, or NULL if error.
+ */
+uint8_t *unpack_kernel_partition(uint8_t *kpart_data,
+                                uint32_t kpart_size,
+                                uint32_t padding,
+                                struct vb2_keyblock **keyblock_ptr,
+                                struct vb2_kernel_preamble **preamble_ptr,
+                                uint32_t *blob_size_ptr);
+
+int UpdateKernelBlobConfig(uint8_t *kblob_data, uint32_t kblob_size,
+                          uint8_t *config_data, uint32_t config_size);
+
+int VerifyKernelBlob(uint8_t *kernel_blob,
+                    uint32_t kernel_size,
+                    struct vb2_packed_key *signpub_key,
+                    const char *keyblock_outfile,
+                    uint32_t min_version);
+
+uint64_t kernel_cmd_line_offset(const struct vb2_kernel_preamble *preamble);
+
+#endif  /* VBOOT_REFERENCE_VB1_HELPER_H_ */
diff --git a/futility/vb2_helper.c b/futility/vb2_helper.c
new file mode 100644 (file)
index 0000000..4d676a6
--- /dev/null
@@ -0,0 +1,213 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <openssl/pem.h>
+
+#include "2common.h"
+#include "2id.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "file_type.h"
+#include "futility.h"
+#include "futility_options.h"
+#include "host_common.h"
+#include "host_common21.h"
+#include "host_key21.h"
+#include "host_misc21.h"
+#include "openssl_compat.h"
+#include "util_misc.h"
+
+enum futil_file_type ft_recognize_vb21_key(uint8_t *buf, uint32_t len)
+{
+       struct vb2_public_key pubkey;
+       struct vb2_private_key *privkey = 0;
+
+       /* The pubkey points into buf, so nothing to free */
+       if (VB2_SUCCESS == vb21_unpack_key(&pubkey, buf, len))
+               return FILE_TYPE_VB2_PUBKEY;
+
+       /* The private key unpacks into new structs */
+       if (VB2_SUCCESS == vb21_private_key_unpack(&privkey, buf, len)) {
+               vb2_private_key_free(privkey);
+               return FILE_TYPE_VB2_PRIVKEY;
+       }
+
+       return FILE_TYPE_UNKNOWN;
+}
+
+static inline void vb2_print_bytes(const void *ptr, uint32_t len)
+{
+       const uint8_t *buf = (const uint8_t *)ptr;
+       int i;
+       for (i = 0; i < len; i++)
+               printf("%02x", *buf++);
+}
+
+static int vb2_public_key_sha1sum(struct vb2_public_key *key, uint8_t *digest)
+{
+       struct vb21_packed_key *pkey;
+
+       if (vb21_public_key_pack(&pkey, key))
+               return 0;
+
+       vb2_digest_buffer((uint8_t *)pkey + pkey->key_offset, pkey->key_size,
+                         VB2_HASH_SHA1, digest, VB2_SHA1_DIGEST_SIZE);
+
+       free(pkey);
+       return 1;
+}
+
+int ft_show_vb21_pubkey(const char *name, uint8_t *buf, uint32_t len,
+                       void *data)
+{
+       struct vb2_public_key key;
+       uint8_t sha1sum[VB2_SHA1_DIGEST_SIZE];
+
+       /* The key's members will point into the state buffer after this. Don't
+        * free anything. */
+       if (VB2_SUCCESS != vb21_unpack_key(&key, buf, len))
+               return 1;
+
+       printf("Public Key file:       %s\n", name);
+       printf("  Vboot API:           2.1\n");
+       printf("  Desc:                \"%s\"\n", key.desc);
+       printf("  Signature Algorithm: %d %s\n", key.sig_alg,
+              vb2_get_sig_algorithm_name(key.sig_alg));
+       printf("  Hash Algorithm:      %d %s\n", key.hash_alg,
+              vb2_get_hash_algorithm_name(key.hash_alg));
+       printf("  Version:             0x%08x\n", key.version);
+       printf("  ID:                  ");
+       vb2_print_bytes(key.id, sizeof(*key.id));
+       printf("\n");
+       if (vb2_public_key_sha1sum(&key, sha1sum) &&
+           memcmp(key.id, sha1sum, sizeof(*key.id))) {
+               printf("  Key sha1sum:         ");
+               vb2_print_bytes(sha1sum, sizeof(sha1sum));
+               printf("\n");
+       }
+       return 0;
+}
+
+static int vb2_private_key_sha1sum(struct vb2_private_key *key, uint8_t *digest)
+{
+       uint8_t *buf;
+       uint32_t buflen;
+
+       if (vb_keyb_from_rsa(key->rsa_private_key, &buf, &buflen))
+               return 0;
+
+       vb2_digest_buffer(buf, buflen, VB2_HASH_SHA1, digest,
+                         VB2_SHA1_DIGEST_SIZE);
+
+       free(buf);
+       return 1;
+}
+
+int ft_show_vb21_privkey(const char *name, uint8_t *buf, uint32_t len,
+                        void *data)
+{
+       struct vb2_private_key *key = 0;
+       uint8_t sha1sum[VB2_SHA1_DIGEST_SIZE];
+
+       if (VB2_SUCCESS != vb21_private_key_unpack(&key, buf, len))
+               return 1;
+
+       printf("Private key file:      %s\n", name);
+       printf("  Vboot API:           2.1\n");
+       printf("  Desc:                \"%s\"\n", key->desc ? key->desc : "");
+       printf("  Signature Algorithm: %d %s\n", key->sig_alg,
+              vb2_get_sig_algorithm_name(key->sig_alg));
+       printf("  Hash Algorithm:      %d %s\n", key->hash_alg,
+              vb2_get_hash_algorithm_name(key->hash_alg));
+       printf("  ID:                  ");
+       vb2_print_bytes(&key->id, sizeof(key->id));
+       printf("\n");
+       if (vb2_private_key_sha1sum(key, sha1sum) &&
+           memcmp(&key->id, sha1sum, sizeof(key->id))) {
+               printf("  Key sha1sum:         ");
+               vb2_print_bytes(sha1sum, sizeof(sha1sum));
+               printf("\n");
+       }
+       vb2_private_key_free(key);
+       return 0;
+}
+
+static RSA *rsa_from_buffer(uint8_t *buf, uint32_t len)
+{
+       BIO *bp;
+       RSA *rsa_key;
+
+       bp = BIO_new_mem_buf(buf, len);
+       if (!bp)
+               return 0;
+
+       rsa_key = PEM_read_bio_RSAPrivateKey(bp, NULL, NULL, NULL);
+       if (!rsa_key) {
+               if (BIO_reset(bp) < 0)
+                       return 0;
+               rsa_key = PEM_read_bio_RSA_PUBKEY(bp, NULL, NULL, NULL);
+       }
+       if (!rsa_key) {
+               BIO_free(bp);
+               return 0;
+       }
+
+       BIO_free(bp);
+
+       return rsa_key;
+}
+
+enum futil_file_type ft_recognize_pem(uint8_t *buf, uint32_t len)
+{
+       RSA *rsa_key = rsa_from_buffer(buf, len);
+
+       if (rsa_key) {
+               RSA_free(rsa_key);
+               return FILE_TYPE_PEM;
+       }
+
+       return FILE_TYPE_UNKNOWN;
+}
+
+int ft_show_pem(const char *name, uint8_t *buf, uint32_t len, void *data)
+{
+       RSA *rsa_key;
+       uint8_t *keyb;
+       uint8_t digest[VB2_SHA1_DIGEST_SIZE];
+       uint32_t keyb_len;
+       int i, bits;
+       const BIGNUM *rsa_key_n, *rsa_key_d;
+
+       /* We're called only after ft_recognize_pem, so this should work. */
+       rsa_key = rsa_from_buffer(buf, len);
+       if (!rsa_key)
+               FATAL("No RSA key found in buffer\n");
+
+       /* Use to presence of the private exponent to decide if it's public */
+       RSA_get0_key(rsa_key, &rsa_key_n, NULL, &rsa_key_d);
+       printf("%s Key file:      %s\n", rsa_key_d ? "Private" : "Public",
+                                        name);
+
+       bits = BN_num_bits(rsa_key_n);
+       printf("  Key length:          %d\n", bits);
+
+       if (vb_keyb_from_rsa(rsa_key, &keyb, &keyb_len)) {
+               printf("  Key sha1sum:         <error>");
+               RSA_free(rsa_key);
+               return 1;
+       }
+
+       printf("  Key sha1sum:         ");
+       vb2_digest_buffer(keyb, keyb_len, VB2_HASH_SHA1,
+                         digest, sizeof(digest));
+       for (i = 0; i < sizeof(digest); i++)
+               printf("%02x", digest[i]);
+       printf("\n");
+
+       free(keyb);
+       RSA_free(rsa_key);
+       return 0;
+}
diff --git a/host/arch/arm/lib/crossystem_arch.c b/host/arch/arm/lib/crossystem_arch.c
new file mode 100644 (file)
index 0000000..116f8fc
--- /dev/null
@@ -0,0 +1,553 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <string.h>
+#include <stddef.h>
+#include <stdlib.h>
+#ifndef HAVE_MACOS
+#include <linux/fs.h>
+#include <linux/gpio.h>
+#endif
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+#include <sys/ioctl.h>
+#include <sys/wait.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <netinet/in.h>
+
+#include "crossystem_arch.h"
+#include "crossystem.h"
+#include "crossystem_vbnv.h"
+#include "host_common.h"
+
+/* Base name for firmware FDT files */
+#define FDT_BASE_PATH "/proc/device-tree/firmware/chromeos"
+/* Path to compatible FDT entry */
+#define FDT_COMPATIBLE_PATH "/proc/device-tree/compatible"
+/* Path to the chromeos_arm platform device (deprecated) */
+#define PLATFORM_DEV_PATH "/sys/devices/platform/chromeos_arm"
+/* These should match the Linux GPIO name (i.e., 'gpio-line-names'). */
+#define GPIO_NAME_RECOVERY_SW_L "RECOVERY_SW_L"
+#define GPIO_NAME_RECOVERY_SW "RECOVERY_SW"
+#define GPIO_NAME_WP_L "AP_FLASH_WP_L"
+#define GPIO_NAME_WP "AP_FLASH_WP"
+/* Device for NVCTX write */
+#define NVCTX_PATH "/dev/mmcblk%d"
+/* Base name for GPIO files */
+#define GPIO_BASE_PATH "/sys/class/gpio"
+#define GPIO_EXPORT_PATH GPIO_BASE_PATH "/export"
+/* Name of NvStorage type property */
+#define FDT_NVSTORAGE_TYPE_PROP "nonvolatile-context-storage"
+/* Errors */
+#define E_FAIL      -1
+#define E_FILEOP    -2
+#define E_MEM       -3
+/* Common constants */
+#define FNAME_SIZE  80
+#define SECTOR_SIZE 512
+#define MAX_NMMCBLK 9
+
+static int FindEmmcDev(void)
+{
+       int mmcblk;
+       unsigned value;
+       char filename[FNAME_SIZE];
+       for (mmcblk = 0; mmcblk < MAX_NMMCBLK; mmcblk++) {
+               /* Get first non-removable mmc block device */
+               snprintf(filename, sizeof(filename),
+                        "/sys/block/mmcblk%d/removable", mmcblk);
+               if (ReadFileInt(filename, &value) < 0)
+                       continue;
+               if (value == 0)
+                       return mmcblk;
+       }
+       /* eMMC not found */
+       return E_FAIL;
+}
+
+static int ReadFdtValue(const char *property, int *value)
+{
+       char filename[FNAME_SIZE];
+       FILE *file;
+       int data = 0;
+
+       snprintf(filename, sizeof(filename), FDT_BASE_PATH "/%s", property);
+       file = fopen(filename, "rb");
+       if (!file) {
+               fprintf(stderr, "Unable to open FDT property %s\n", property);
+               return E_FILEOP;
+       }
+
+       if (fread(&data, 1, sizeof(data), file) != sizeof(data)) {
+               fprintf(stderr, "Unable to read FDT property %s\n", property);
+               return E_FILEOP;
+       }
+       fclose(file);
+
+       if (value)
+               *value = ntohl(data); /* FDT is network byte order */
+
+       return 0;
+}
+
+static int ReadFdtInt(const char *property)
+{
+       int value = 0;
+       if (ReadFdtValue(property, &value))
+               return E_FAIL;
+       return value;
+}
+
+static void GetFdtPropertyPath(const char *property, char *path, size_t size)
+{
+       if (property[0] == '/')
+               StrCopy(path, property, size);
+       else
+               snprintf(path, size, FDT_BASE_PATH "/%s", property);
+}
+
+static int FdtPropertyExist(const char *property)
+{
+       char filename[FNAME_SIZE];
+       struct stat file_status;
+
+       GetFdtPropertyPath(property, filename, sizeof(filename));
+       if (!stat(filename, &file_status))
+               return 1; // It exists!
+       else
+               return 0; // It does not exist or some error happened.
+}
+
+static int ReadFdtBlock(const char *property, void **block, size_t *size)
+{
+       char filename[FNAME_SIZE];
+       FILE *file;
+       size_t property_size;
+       char *data;
+
+       if (!block)
+               return E_FAIL;
+
+       GetFdtPropertyPath(property, filename, sizeof(filename));
+       file = fopen(filename, "rb");
+       if (!file) {
+               fprintf(stderr, "Unable to open FDT property %s\n", property);
+               return E_FILEOP;
+       }
+
+       fseek(file, 0, SEEK_END);
+       property_size = ftell(file);
+       rewind(file);
+
+       data = malloc(property_size +1);
+       if (!data) {
+               fclose(file);
+               return E_MEM;
+       }
+       data[property_size] = 0;
+
+       if (1 != fread(data, property_size, 1, file)) {
+               fprintf(stderr, "Unable to read from property %s\n", property);
+               fclose(file);
+               free(data);
+               return E_FILEOP;
+       }
+
+       fclose(file);
+       *block = data;
+       if (size)
+               *size = property_size;
+
+       return 0;
+}
+
+static char * ReadFdtString(const char *property)
+{
+       void *str = NULL;
+       /* Do not need property size */
+       ReadFdtBlock(property, &str, 0);
+       return (char *)str;
+}
+
+static int VbGetPlatformGpioStatus(const char* name)
+{
+       char gpio_name[FNAME_SIZE];
+       unsigned value;
+
+       snprintf(gpio_name, sizeof(gpio_name), "%s/%s/value",
+                PLATFORM_DEV_PATH, name);
+       if (ReadFileInt(gpio_name, &value) < 0)
+               return -1;
+
+       return (int)value;
+}
+
+#ifndef HAVE_MACOS
+static int gpioline_read_value(int chip_fd, int idx, bool active_low)
+{
+       struct gpiohandle_request request = {
+               .lineoffsets = { idx },
+               .flags = GPIOHANDLE_REQUEST_INPUT | \
+                        (active_low ? GPIOHANDLE_REQUEST_ACTIVE_LOW : 0),
+               .lines = 1,
+       };
+       struct gpiohandle_data data;
+       int ret;
+
+       ret = ioctl(chip_fd, GPIO_GET_LINEHANDLE_IOCTL, &request);
+       if (ret < 0) {
+               perror("GPIO_GET_LINEHANDLE_IOCTL");
+               return -1;
+       }
+       if (request.fd < 0) {
+               fprintf(stderr, "bad LINEHANDLE fd %d\n", request.fd);
+               return -1;
+       }
+
+       ret = ioctl(request.fd, GPIOHANDLE_GET_LINE_VALUES_IOCTL, &data);
+       if (ret < 0) {
+               perror("GPIOHANDLE_GET_LINE_VALUES_IOCTL");
+               close(request.fd);
+               return -1;
+       }
+       close(request.fd);
+       return data.values[0];
+}
+
+/* Return 1 if @idx line matches name; 0 if no match; negative if error. */
+static int gpioline_name_match(int chip_fd, int idx, const char *name)
+{
+       struct gpioline_info info = {
+               .line_offset = idx,
+       };
+       int ret;
+
+       ret = ioctl(chip_fd, GPIO_GET_LINEINFO_IOCTL, &info);
+       if (ret < 0) {
+               perror("GPIO_GET_LINEINFO_IOCTL");
+               return -1;
+       }
+
+       return strncmp(info.name, name, sizeof(info.name)) == 0;
+}
+
+/* Return value of gpio, if found. Negative for error codes. */
+static int gpiochip_read_value(int chip_fd, const char *name, bool active_low)
+{
+       struct gpiochip_info info;
+       int i, ret;
+
+       ret = ioctl(chip_fd, GPIO_GET_CHIPINFO_IOCTL, &info);
+       if (ret < 0) {
+               perror("GPIO_GET_CHIPINFO_IOCTL");
+               return -1;
+       }
+
+       for (i = 0; i < info.lines; i++) {
+               if (gpioline_name_match(chip_fd, i, name) != 1)
+                       continue;
+               return gpioline_read_value(chip_fd, i, active_low);
+       }
+
+       return -1;
+}
+
+/* Return nonzero for entries with a 'gpiochip'-prefixed name. */
+static int gpiochip_scan_filter(const struct dirent *d)
+{
+       const char prefix[] = "gpiochip";
+       return !strncmp(prefix, d->d_name, strlen(prefix));
+}
+
+/*
+ * Read a named GPIO via the Linux /dev/gpiochip* API, supported in recent
+ * kernels (e.g., ChromeOS kernel 4.14+). This method is preferred over the
+ * downstream chromeos_arm driver.
+ *
+ * Returns -1 for errors (e.g., API not supported, or @name not found); 1 for
+ * active; 0 for inactive.
+ */
+static int gpiod_read(const char *name, bool active_low)
+{
+       struct dirent **list;
+       int i, max, ret;
+
+       ret = scandir("/dev", &list, gpiochip_scan_filter, alphasort);
+       if (ret < 0) {
+               perror("scandir");
+               return -1;
+       }
+       max = ret;
+       /* No /dev/gpiochip* -- API not supported. */
+       if (!max)
+               return -1;
+
+       for (i = 0; i < max; i++) {
+               char buf[5 + NAME_MAX + 1];
+               int fd;
+
+               snprintf(buf, sizeof(buf), "/dev/%s", list[i]->d_name);
+               ret = open(buf, O_RDWR);
+               if (ret < 0) {
+                       perror("open");
+                       break;
+               }
+               fd = ret;
+
+               ret = gpiochip_read_value(fd, name, active_low);
+               close(fd);
+               if (ret >= 0)
+                       break;
+       }
+
+       for (i = 0; i < max; i++)
+               free(list[i]);
+       free(list);
+
+       return ret >= 0 ? ret : -1;
+}
+#else
+static int gpiod_read(const char *name, bool active_low)
+{
+       return -1;
+}
+#endif /* HAVE_MACOS */
+
+static int vb2_read_nv_storage_disk(struct vb2_context *ctx)
+{
+       int nvctx_fd = -1;
+       uint8_t sector[SECTOR_SIZE];
+       int rv = -1;
+       char nvctx_path[FNAME_SIZE];
+       int emmc_dev;
+       int lba = ReadFdtInt("nonvolatile-context-lba");
+       int offset = ReadFdtInt("nonvolatile-context-offset");
+       int size = ReadFdtInt("nonvolatile-context-size");
+
+       emmc_dev = FindEmmcDev();
+       if (emmc_dev < 0)
+               return E_FAIL;
+       snprintf(nvctx_path, sizeof(nvctx_path), NVCTX_PATH, emmc_dev);
+
+       if (size != vb2_nv_get_size(ctx) || (size + offset > SECTOR_SIZE))
+               return E_FAIL;
+
+       nvctx_fd = open(nvctx_path, O_RDONLY);
+       if (nvctx_fd == -1) {
+               fprintf(stderr, "%s: failed to open %s\n", __FUNCTION__,
+                       nvctx_path);
+               goto out;
+       }
+       lseek(nvctx_fd, lba * SECTOR_SIZE, SEEK_SET);
+
+       rv = read(nvctx_fd, sector, SECTOR_SIZE);
+       if (size <= 0) {
+               fprintf(stderr, "%s: failed to read nvctx from device %s\n",
+                       __FUNCTION__, nvctx_path);
+               goto out;
+       }
+       memcpy(ctx->nvdata, sector+offset, size);
+       rv = 0;
+
+out:
+       if (nvctx_fd > 0)
+               close(nvctx_fd);
+
+       return rv;
+}
+
+static int vb2_write_nv_storage_disk(struct vb2_context *ctx)
+{
+       int nvctx_fd = -1;
+       uint8_t sector[SECTOR_SIZE];
+       int rv = -1;
+       char nvctx_path[FNAME_SIZE];
+       int emmc_dev;
+       int lba = ReadFdtInt("nonvolatile-context-lba");
+       int offset = ReadFdtInt("nonvolatile-context-offset");
+       int size = ReadFdtInt("nonvolatile-context-size");
+
+       emmc_dev = FindEmmcDev();
+       if (emmc_dev < 0)
+               return E_FAIL;
+       snprintf(nvctx_path, sizeof(nvctx_path), NVCTX_PATH, emmc_dev);
+
+       if (size != vb2_nv_get_size(ctx) || (size + offset > SECTOR_SIZE))
+               return E_FAIL;
+
+       do {
+               nvctx_fd = open(nvctx_path, O_RDWR);
+               if (nvctx_fd == -1) {
+                       fprintf(stderr, "%s: failed to open %s\n",
+                               __FUNCTION__, nvctx_path);
+                       break;
+               }
+               lseek(nvctx_fd, lba * SECTOR_SIZE, SEEK_SET);
+               rv = read(nvctx_fd, sector, SECTOR_SIZE);
+               if (rv <= 0) {
+                       fprintf(stderr,
+                               "%s: failed to read nvctx from device %s\n",
+                               __FUNCTION__, nvctx_path);
+                       break;
+               }
+               memcpy(sector+offset, ctx->nvdata, size);
+               lseek(nvctx_fd, lba * SECTOR_SIZE, SEEK_SET);
+               rv = write(nvctx_fd, sector, SECTOR_SIZE);
+               if (rv <= 0) {
+                       fprintf(stderr,
+                               "%s: failed to write nvctx to device %s\n",
+                               __FUNCTION__, nvctx_path);
+                       break;
+               }
+#ifndef HAVE_MACOS
+               /* Must flush buffer cache here to make sure it goes to disk */
+               rv = ioctl(nvctx_fd, BLKFLSBUF, 0);
+               if (rv < 0) {
+                       fprintf(stderr,
+                               "%s: failed to flush nvctx to device %s\n",
+                               __FUNCTION__, nvctx_path);
+                       break;
+               }
+#endif
+               rv = 0;
+       } while (0);
+
+       if (nvctx_fd > 0)
+               close(nvctx_fd);
+
+       return rv;
+}
+
+int vb2_read_nv_storage(struct vb2_context *ctx)
+{
+       /* Default to disk for older firmware which does not provide storage
+        * type */
+       char *media;
+       if (!FdtPropertyExist(FDT_NVSTORAGE_TYPE_PROP))
+               return vb2_read_nv_storage_disk(ctx);
+       media = ReadFdtString(FDT_NVSTORAGE_TYPE_PROP);
+       if (!strcmp(media, "disk"))
+               return vb2_read_nv_storage_disk(ctx);
+       if (!strcmp(media, "flash"))
+               return vb2_read_nv_storage_flashrom(ctx);
+       return -1;
+}
+
+int vb2_write_nv_storage(struct vb2_context *ctx)
+{
+       /* Default to disk for older firmware which does not provide storage
+        * type */
+       char *media;
+       if (!FdtPropertyExist(FDT_NVSTORAGE_TYPE_PROP))
+               return vb2_write_nv_storage_disk(ctx);
+       media = ReadFdtString(FDT_NVSTORAGE_TYPE_PROP);
+       if (!strcmp(media, "disk"))
+               return vb2_write_nv_storage_disk(ctx);
+       if (!strcmp(media, "flash"))
+               return vb2_write_nv_storage_flashrom(ctx);
+       return -1;
+}
+
+VbSharedDataHeader *VbSharedDataRead(void)
+{
+       void *block = NULL;
+       size_t size = 0;
+       if (ReadFdtBlock("vboot-shared-data", &block, &size))
+               return NULL;
+       VbSharedDataHeader *p = (VbSharedDataHeader *)block;
+       if (p->magic != VB_SHARED_DATA_MAGIC) {
+               fprintf(stderr,  "%s: failed to validate magic in "
+                       "VbSharedDataHeader (%x != %x)\n",
+                       __FUNCTION__, p->magic, VB_SHARED_DATA_MAGIC);
+               return NULL;
+       }
+       return (VbSharedDataHeader *)block;
+}
+
+int VbGetArchPropertyInt(const char* name)
+{
+       if (!strcasecmp(name, "devsw_cur")) {
+               /* Systems with virtual developer switches return at-boot
+                * value */
+               return VbGetSystemPropertyInt("devsw_boot");
+       } else if (!strcasecmp(name, "recoverysw_cur")) {
+               int value;
+               /* Try GPIO chardev API first. */
+               value = gpiod_read(GPIO_NAME_RECOVERY_SW_L, true);
+               if (value != -1)
+                       return value;
+               value = gpiod_read(GPIO_NAME_RECOVERY_SW, false);
+               if (value != -1)
+                       return value;
+               /* Try the deprecated chromeos_arm platform device next. */
+               return VbGetPlatformGpioStatus("recovery");
+       } else if (!strcasecmp(name, "wpsw_cur")) {
+               int value;
+               /* Try GPIO chardev API first. */
+               value = gpiod_read(GPIO_NAME_WP_L, true);
+               if (value != -1)
+                       return value;
+               value = gpiod_read(GPIO_NAME_WP, false);
+               if (value != -1)
+                       return value;
+               /* Try the deprecated chromeos_arm platform device next. */
+               return VbGetPlatformGpioStatus("write-protect");
+       } else if (!strcasecmp(name, "recoverysw_ec_boot")) {
+               /* TODO: read correct value using ectool */
+               return 0;
+       } else {
+               return -1;
+       }
+}
+
+const char* VbGetArchPropertyString(const char* name, char* dest,
+                                    size_t size)
+{
+       char *str = NULL;
+       char *rv = NULL;
+       const char *prop = NULL;
+
+       if (!strcasecmp(name,"arch"))
+               return StrCopy(dest, "arm", size);
+
+       /* Properties from fdt */
+       if (!strcasecmp(name, "ro_fwid"))
+               prop = "readonly-firmware-version";
+       else if (!strcasecmp(name, "hwid"))
+               prop = "hardware-id";
+       else if (!strcasecmp(name, "fwid"))
+               prop = "firmware-version";
+       else if (!strcasecmp(name, "mainfw_type"))
+               prop = "firmware-type";
+       else if (!strcasecmp(name, "ecfw_act"))
+               prop = "active-ec-firmware";
+
+       if (prop)
+               str = ReadFdtString(prop);
+
+       if (str) {
+               rv = StrCopy(dest, str, size);
+               free(str);
+               return rv;
+       }
+       return NULL;
+}
+
+int VbSetArchPropertyInt(const char* name, int value)
+{
+       /* All is handled in arch independent fashion */
+       return -1;
+}
+
+int VbSetArchPropertyString(const char* name, const char* value)
+{
+       /* All is handled in arch independent fashion */
+       return -1;
+}
diff --git a/host/arch/mips/lib/crossystem_arch.c b/host/arch/mips/lib/crossystem_arch.c
new file mode 100644 (file)
index 0000000..cb0ea92
--- /dev/null
@@ -0,0 +1,77 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <string.h>
+
+#include "crossystem_arch.h"
+#include "crossystem.h"
+#include "host_common.h"
+
+/* TODO: Currently these are stub implementations providing reasonable defaults
+ * wherever possible. They will need real implementation as part of of MIPS
+ * firmware bringup. */
+
+int vb2_read_nv_storage(struct vb2_context *ctx)
+{
+       return -1;
+}
+
+int vb2_write_nv_storage(struct vb2_context *ctx)
+{
+       return -1;
+}
+
+VbSharedDataHeader *VbSharedDataRead(void)
+{
+       return NULL;
+}
+
+int VbGetArchPropertyInt(const char* name)
+{
+       if (!strcasecmp(name,"devsw_cur")) {
+               return 1;
+       } else if (!strcasecmp(name,"recoverysw_cur")) {
+               return 0;
+       } else if (!strcasecmp(name,"wpsw_cur")) {
+               return 1;
+       } else if (!strcasecmp(name,"devsw_boot")) {
+               return 1;
+       } else if (!strcasecmp(name,"recoverysw_boot")) {
+               return 0;
+       } else if (!strcasecmp(name,"recoverysw_ec_boot")) {
+               return 0;
+       }
+       return -1;
+}
+
+const char* VbGetArchPropertyString(const char* name, char* dest, size_t size)
+{
+       if (!strcasecmp(name,"hwid")) {
+               return StrCopy(dest, "UnknownMipsHwid", size);
+       } else if (!strcasecmp(name,"fwid")) {
+               return StrCopy(dest, "UnknownMipsFwid", size);
+       } else if (!strcasecmp(name,"ro_fwid")) {
+               return StrCopy(dest, "UnknownMipsRoFwid", size);
+       } else if (!strcasecmp(name,"mainfw_act")) {
+               return StrCopy(dest, "A", size);
+       } else if (!strcasecmp(name,"mainfw_type")) {
+               return StrCopy(dest, "developer", size);
+       } else if (!strcasecmp(name,"ecfw_act")) {
+               return StrCopy(dest, "RO", size);
+       }
+       return NULL;
+}
+
+int VbSetArchPropertyInt(const char* name, int value)
+{
+       /* All is handled in arch independent fashion */
+       return -1;
+}
+
+int VbSetArchPropertyString(const char* name, const char* value)
+{
+       /* All is handled in arch independent fashion */
+       return -1;
+}
diff --git a/host/arch/stub/lib/crossystem_arch.c b/host/arch/stub/lib/crossystem_arch.c
new file mode 100644 (file)
index 0000000..4a71ddd
--- /dev/null
@@ -0,0 +1,49 @@
+/* Copyright (c) 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "crossystem_arch.h"
+#include "crossystem.h"
+#include "crossystem_vbnv.h"
+#include "host_common.h"
+#include "vboot_struct.h"
+
+int vb2_read_nv_storage(struct vb2_context *ctx)
+{
+       return -1;
+}
+
+
+int vb2_write_nv_storage(struct vb2_context *ctx)
+{
+       return -1;
+}
+
+VbSharedDataHeader* VbSharedDataRead(void)
+{
+       return NULL;
+}
+
+int VbGetArchPropertyInt(const char* name)
+{
+       return -1;
+}
+
+
+const char* VbGetArchPropertyString(const char* name, char* dest,
+                                   size_t size)
+{
+       return NULL;
+}
+
+
+int VbSetArchPropertyInt(const char* name, int value)
+{
+       return -1;
+}
+
+int VbSetArchPropertyString(const char* name, const char* value)
+{
+       return -1;
+}
diff --git a/host/arch/x86/lib/crossystem_arch.c b/host/arch/x86/lib/crossystem_arch.c
new file mode 100644 (file)
index 0000000..e805e2a
--- /dev/null
@@ -0,0 +1,991 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <ctype.h>
+#include <dirent.h>
+#include <errno.h>
+#include <fcntl.h>
+#if !defined(__FreeBSD__) && !defined(__OpenBSD__)
+#include <linux/nvram.h>
+#include <linux/version.h>
+#endif
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/utsname.h>
+#include <unistd.h>
+
+#include "crossystem_arch.h"
+#include "crossystem.h"
+#include "crossystem_vbnv.h"
+#include "host_common.h"
+#include "vboot_struct.h"
+
+/* ACPI constants from Chrome OS Main Processor Firmware Spec */
+/* Boot reasons from BINF.0, from early H2C firmware */
+/* Unknown */
+#define BINF0_UNKNOWN                  0
+/* Normal boot to Chrome OS */
+#define BINF0_NORMAL                   1
+/* Developer mode boot (developer mode warning displayed) */
+#define BINF0_DEVELOPER                2
+/* Recovery initiated by user, using recovery button */
+#define BINF0_RECOVERY_BUTTON          3
+/* Recovery initiated by user pressing a key at developer mode warning
+ * screen */
+#define BINF0_RECOVERY_DEV_SCREEN_KEY  4
+/* Recovery caused by BIOS failed signature check (neither rewritable
+ * firmware was valid) */
+#define BINF0_RECOVERY_RW_FW_BAD       5
+/* Recovery caused by no OS kernel detected */
+#define BINF0_RECOVERY_NO_OS           6
+/* Recovery caused by OS kernel failed signature check */
+#define BINF0_RECOVERY_BAD_OS          7
+/* Recovery initiated by OS */
+#define BINF0_RECOVERY_OS_INITIATED    8
+/* OS-initiated S3 diagnostic path (debug mode boot) */
+#define BINF0_S3_DIAGNOSTIC_PATH       9
+/* S3 resume failed */
+#define BINF0_S3_RESUME_FAILED        10
+/* Recovery caused by TPM error */
+#define BINF0_RECOVERY_TPM_ERROR      11
+/* CHSW bitflags */
+#define CHSW_RECOVERY_BOOT     0x00000002
+#define CHSW_RECOVERY_EC_BOOT  0x00000004
+#define CHSW_DEV_BOOT          0x00000020
+/* CMOS reboot field bitflags */
+#define CMOSRF_RECOVERY        0x80
+#define CMOSRF_DEBUG_RESET     0x40
+#define CMOSRF_TRY_B           0x20
+/* GPIO signal types */
+#define GPIO_SIGNAL_TYPE_RECOVERY 1
+#define GPIO_SIGNAL_TYPE_DEPRECATED_DEV 2  /* Deprecated; see chromium:942901 */
+#define GPIO_SIGNAL_TYPE_WP 3
+#define GPIO_SIGNAL_TYPE_PHASE_ENFORCEMENT 4
+
+/* Base name for ACPI files */
+#define ACPI_BASE_PATH "/sys/devices/platform/chromeos_acpi"
+/* Paths for frequently used ACPI files */
+#define ACPI_BINF_PATH ACPI_BASE_PATH "/BINF"
+#define ACPI_CHNV_PATH ACPI_BASE_PATH "/CHNV"
+#define ACPI_CHSW_PATH ACPI_BASE_PATH "/CHSW"
+#define ACPI_GPIO_PATH ACPI_BASE_PATH "/GPIO"
+#define ACPI_VBNV_PATH ACPI_BASE_PATH "/VBNV"
+#define ACPI_VDAT_PATH ACPI_BASE_PATH "/VDAT"
+
+/* Base name for GPIO files */
+#define GPIO_BASE_PATH "/sys/class/gpio"
+#define GPIO_EXPORT_PATH GPIO_BASE_PATH "/export"
+
+/* Filename for NVRAM file */
+#define NVRAM_PATH "/dev/nvram"
+
+/* Filename for legacy firmware update tries */
+#define NEED_FWUPDATE_PATH "/mnt/stateful_partition/.need_firmware_update"
+
+/* Filenames for PCI Vendor and Device IDs */
+#define PCI_VENDOR_ID_PATH "/sys/bus/pci/devices/0000:00:00.0/vendor"
+#define PCI_DEVICE_ID_PATH "/sys/bus/pci/devices/0000:00:00.0/device"
+
+typedef struct {
+       unsigned int base;
+       unsigned int uid;
+} Basemapping;
+
+static void VbFixCmosChecksum(FILE* file)
+{
+#if !defined(__FreeBSD__) && !defined(__OpenBSD__)
+       int fd = fileno(file);
+       ioctl(fd, NVRAM_SETCKS);
+#endif
+}
+
+
+static int VbCmosRead(unsigned offs, size_t size, void *ptr)
+{
+       size_t res;
+       FILE* f;
+
+       f = fopen(NVRAM_PATH, "rb");
+       if (!f)
+               return -1;
+
+       if (0 != fseek(f, offs, SEEK_SET)) {
+               fclose(f);
+               return -1;
+       }
+
+       res = fread(ptr, size, 1, f);
+       if (1 != res && errno == EIO && ferror(f)) {
+               VbFixCmosChecksum(f);
+               res = fread(ptr, size, 1, f);
+       }
+
+       fclose(f);
+       return (1 == res) ? 0 : -1;
+}
+
+
+static int VbCmosWrite(unsigned offs, size_t size, const void *ptr)
+{
+       size_t res;
+       FILE* f;
+
+       f = fopen(NVRAM_PATH, "w+b");
+       if (!f)
+               return -1;
+
+       if (0 != fseek(f, offs, SEEK_SET)) {
+               fclose(f);
+               return -1;
+       }
+
+       res = fwrite(ptr, size, 1, f);
+       if (1 != res && errno == EIO && ferror(f)) {
+               VbFixCmosChecksum(f);
+               res = fwrite(ptr, size, 1, f);
+       }
+
+       fclose(f);
+       return (1 == res) ? 0 : -1;
+}
+
+
+int vb2_read_nv_storage(struct vb2_context *ctx)
+{
+       unsigned offs, blksz;
+       unsigned expectsz = vb2_nv_get_size(ctx);
+
+       /* Get the byte offset from VBNV */
+       if (ReadFileInt(ACPI_VBNV_PATH ".0", &offs) < 0)
+               return -1;
+       if (ReadFileInt(ACPI_VBNV_PATH ".1", &blksz) < 0)
+               return -1;
+       if (expectsz > blksz)
+               return -1;  /* NV storage block is too small */
+
+       if (0 != VbCmosRead(offs, expectsz, ctx->nvdata))
+               return -1;
+
+       return 0;
+}
+
+
+int vb2_write_nv_storage(struct vb2_context *ctx)
+{
+       unsigned offs, blksz;
+       unsigned expectsz = vb2_nv_get_size(ctx);
+
+       if (!(ctx->flags & VB2_CONTEXT_NVDATA_CHANGED))
+               return 0;  /* Nothing changed, so no need to write */
+
+       /* Get the byte offset from VBNV */
+       if (ReadFileInt(ACPI_VBNV_PATH ".0", &offs) < 0)
+               return -1;
+       if (ReadFileInt(ACPI_VBNV_PATH ".1", &blksz) < 0)
+               return -1;
+       if (expectsz > blksz)
+               return -1;  /* NV storage block is too small */
+
+       if (0 != VbCmosWrite(offs, expectsz, ctx->nvdata))
+               return -1;
+
+       /* Also attempt to write using flashrom if using vboot2 */
+       VbSharedDataHeader *sh = VbSharedDataRead();
+       if (sh) {
+               if (sh->flags & VBSD_BOOT_FIRMWARE_VBOOT2)
+                       vb2_write_nv_storage_flashrom(ctx);
+               free(sh);
+       }
+
+       return 0;
+}
+
+
+/*
+ * Get buffer data from ACPI.
+ *
+ * Buffer data is expected to be represented by a file which is a text dump of
+ * the buffer, representing each byte by two hex numbers, space and newline
+ * separated.
+ *
+ * On success, stores the amount of data read in bytes to *buffer_size; on
+ * erros, sets *buffer_size=0.
+ *
+ * Input - ACPI file name to get data from.
+ *
+ * Output: a pointer to AcpiBuffer structure containing the binary
+ *         representation of the data. The caller is responsible for
+ *         deallocating the pointer, this will take care of both the structure
+ *         and the buffer. Null in case of error.
+ */
+static uint8_t* VbGetBuffer(const char* filename, int* buffer_size)
+{
+       FILE* f = NULL;
+       char* file_buffer = NULL;
+       uint8_t* output_buffer = NULL;
+       uint8_t* return_value = NULL;
+
+       /* Assume error until proven otherwise */
+       if (buffer_size)
+               *buffer_size = 0;
+
+       do {
+               struct stat fs;
+               uint8_t* output_ptr;
+               int rv, i, real_size;
+               int parsed_size = 0;
+
+               int fd = open(filename, O_RDONLY);
+               if (fd == -1)
+                       break;
+
+               rv = fstat(fd, &fs);
+               if (rv || !S_ISREG(fs.st_mode)) {
+                       close(fd);
+                       break;
+               }
+
+               f = fdopen(fd, "r");
+               if (!f) {
+                       close(fd);
+                       break;
+               }
+
+               file_buffer = malloc(fs.st_size + 1);
+               if (!file_buffer)
+                       break;
+
+               real_size = fread(file_buffer, 1, fs.st_size, f);
+               if (!real_size)
+                       break;
+               file_buffer[real_size] = '\0';
+
+               /* Each byte in the output will replace two characters and a
+                * space in the input, so the output size does not exceed input
+                * side/3 (a little less if account for newline characters). */
+               output_buffer = malloc(real_size/3);
+               if (!output_buffer)
+                       break;
+               output_ptr = output_buffer;
+
+               /* process the file contents */
+               for (i = 0; i < real_size; i++) {
+                       char* base, *end;
+
+                       base = file_buffer + i;
+
+                       if (!isxdigit(*base))
+                               continue;
+
+                       output_ptr[parsed_size++] =
+                                       strtol(base, &end, 16) & 0xff;
+
+                       if ((end - base) != 2)
+                               /* Input file format error */
+                               break;
+
+                       /* skip the second character and the following space */
+                       i += 2;
+               }
+
+               if (i == real_size) {
+                       /* all is well */
+                       return_value = output_buffer;
+                       output_buffer = NULL; /* prevent it from deallocating */
+                       if (buffer_size)
+                               *buffer_size = parsed_size;
+               }
+       } while(0);
+
+       /* wrap up */
+       if (f)
+               fclose(f);
+
+       if (file_buffer)
+               free(file_buffer);
+
+       if (output_buffer)
+               free(output_buffer);
+
+       return return_value;
+}
+
+
+VbSharedDataHeader* VbSharedDataRead(void)
+{
+       VbSharedDataHeader* sh;
+       int got_size = 0;
+       int expect_size;
+
+       sh = (VbSharedDataHeader*)VbGetBuffer(ACPI_VDAT_PATH, &got_size);
+       if (!sh)
+               return NULL;
+
+       /* Make sure the size is sufficient for the struct version we got.
+        * Check supported old versions first. */
+       if (1 == sh->struct_version)
+               expect_size = VB_SHARED_DATA_HEADER_SIZE_V1;
+       else {
+               /* There'd better be enough data for the current header size. */
+               expect_size = sizeof(VbSharedDataHeader);
+       }
+
+       if (got_size < expect_size) {
+               free(sh);
+               return NULL;
+       }
+       if (sh->data_size > got_size)
+               sh->data_size = got_size;  /* Truncated read */
+
+       return sh;
+}
+
+
+/* Read the CMOS reboot field in NVRAM.
+ *
+ * Returns 0 if the mask is clear in the field, 1 if set, or -1 if error. */
+static int VbGetCmosRebootField(uint8_t mask)
+{
+       unsigned chnv;
+       uint8_t nvbyte;
+
+       /* Get the byte offset from CHNV */
+       if (ReadFileInt(ACPI_CHNV_PATH, &chnv) < 0)
+               return -1;
+
+       if (0 != VbCmosRead(chnv, 1, &nvbyte))
+               return -1;
+
+       return (nvbyte & mask ? 1 : 0);
+}
+
+
+/* Write the CMOS reboot field in NVRAM.
+ *
+ * Sets (value=0) or clears (value!=0) the mask in the byte.
+ *
+ * Returns 0 if success, or -1 if error. */
+static int VbSetCmosRebootField(uint8_t mask, int value)
+{
+       unsigned chnv;
+       uint8_t nvbyte;
+
+       /* Get the byte offset from CHNV */
+       if (ReadFileInt(ACPI_CHNV_PATH, &chnv) < 0)
+               return -1;
+
+       if (0 != VbCmosRead(chnv, 1, &nvbyte))
+               return -1;
+
+       /* Set/clear the mask */
+       if (value)
+               nvbyte |= mask;
+       else
+               nvbyte &= ~mask;
+
+       /* Write the byte back */
+       if (0 != VbCmosWrite(chnv, 1, &nvbyte))
+               return -1;
+
+       /* Success */
+       return 0;
+}
+
+
+/* Read the active main firmware type into the destination buffer.
+ * Passed the destination and its size.  Returns the destination, or
+ * NULL if error. */
+static const char* VbReadMainFwType(char* dest, int size)
+{
+       unsigned value;
+
+       /* Try reading type from BINF.3 */
+       if (ReadFileInt(ACPI_BINF_PATH ".3", &value) == 0) {
+               switch(value) {
+                       case BINF3_LEGACY:
+                               return StrCopy(dest, "legacy", size);
+                       case BINF3_NETBOOT:
+                               return StrCopy(dest, "netboot", size);
+                       case BINF3_RECOVERY:
+                               return StrCopy(dest, "recovery", size);
+                       case BINF3_NORMAL:
+                               return StrCopy(dest, "normal", size);
+                       case BINF3_DEVELOPER:
+                               return StrCopy(dest, "developer", size);
+                       default:
+                               break;  /* Fall through to legacy handling */
+               }
+       }
+
+       /* Fall back to BINF.0 for legacy systems like Mario. */
+       if (ReadFileInt(ACPI_BINF_PATH ".0", &value) < 0)
+               /* Both BINF.0 and BINF.3 are missing, so this isn't Chrome OS
+                * firmware. */
+               return StrCopy(dest, "nonchrome", size);
+
+       switch(value) {
+               case BINF0_NORMAL:
+                       return StrCopy(dest, "normal", size);
+               case BINF0_DEVELOPER:
+                       return StrCopy(dest, "developer", size);
+               case BINF0_RECOVERY_BUTTON:
+               case BINF0_RECOVERY_DEV_SCREEN_KEY:
+               case BINF0_RECOVERY_RW_FW_BAD:
+               case BINF0_RECOVERY_NO_OS:
+               case BINF0_RECOVERY_BAD_OS:
+               case BINF0_RECOVERY_OS_INITIATED:
+               case BINF0_RECOVERY_TPM_ERROR:
+                       /* Assorted flavors of recovery boot reason. */
+                       return StrCopy(dest, "recovery", size);
+               default:
+                       /* Other values don't map cleanly to firmware type. */
+                       return NULL;
+       }
+}
+
+
+/* Read the recovery reason.  Returns the reason code or -1 if error. */
+static vb2_error_t VbGetRecoveryReason(void)
+{
+       unsigned value;
+
+       /* Try reading type from BINF.4 */
+       if (ReadFileInt(ACPI_BINF_PATH ".4", &value) == 0)
+               return value;
+
+       /* Fall back to BINF.0 for legacy systems like Mario. */
+       if (ReadFileInt(ACPI_BINF_PATH ".0", &value) < 0)
+               return -1;
+       switch(value) {
+               case BINF0_NORMAL:
+               case BINF0_DEVELOPER:
+                       return VB2_RECOVERY_NOT_REQUESTED;
+               case BINF0_RECOVERY_BUTTON:
+                       return VB2_RECOVERY_RO_MANUAL;
+               case BINF0_RECOVERY_RW_FW_BAD:
+                       return VB2_RECOVERY_RO_INVALID_RW;
+               case BINF0_RECOVERY_NO_OS:
+                       return VB2_RECOVERY_RW_NO_KERNEL;
+               case BINF0_RECOVERY_BAD_OS:
+                       return VB2_RECOVERY_RW_INVALID_OS;
+               case BINF0_RECOVERY_OS_INITIATED:
+                       return VB2_RECOVERY_LEGACY;
+               default:
+                       /* Other values don't map cleanly to firmware type. */
+                       return -1;
+       }
+}
+
+/* Physical GPIO number <N> may be accessed through /sys/class/gpio/gpio<M>/,
+ * but <N> and <M> may differ by some offset <O>. To determine that constant,
+ * we look for a directory named /sys/class/gpio/gpiochip<O>/. If there's not
+ * exactly one match for that, we're SOL.
+ */
+static int FindGpioChipOffset(unsigned *gpio_num, unsigned *offset,
+                             const char *name)
+{
+       DIR *dir;
+       struct dirent *ent;
+       int match = 0;
+
+       dir = opendir(GPIO_BASE_PATH);
+       if (!dir) {
+               return 0;
+       }
+
+       while(0 != (ent = readdir(dir))) {
+               if (1 == sscanf(ent->d_name, "gpiochip%u", offset)) {
+                       match++;
+               }
+       }
+
+       closedir(dir);
+       return (1 == match);
+}
+
+/* Physical GPIO number <N> may be accessed through /sys/class/gpio/gpio<M>/,
+ * but <N> and <M> may differ by some offset <O>. To determine that constant,
+ * we look for a directory named /sys/class/gpio/gpiochip<O>/ and check for
+ * a 'label' file inside of it to find the expected the controller name.
+ */
+static int FindGpioChipOffsetByLabel(unsigned *gpio_num, unsigned *offset,
+                                    const char *name)
+{
+       DIR *dir;
+       struct dirent *ent;
+       char filename[128];
+       char chiplabel[128];
+       int match = 0;
+       unsigned controller_offset = 0;
+
+       dir = opendir(GPIO_BASE_PATH);
+       if (!dir) {
+               return 0;
+       }
+
+       while(0 != (ent = readdir(dir))) {
+               if (1 == sscanf(ent->d_name, "gpiochip%u",
+                               &controller_offset)) {
+                       /*
+                        * Read the file at gpiochip<O>/label to get the
+                        * identifier for this bank of GPIOs.
+                        */
+                       snprintf(filename, sizeof(filename),
+                                "%s/gpiochip%u/label",
+                                GPIO_BASE_PATH, controller_offset);
+                       if (ReadFileString(chiplabel, sizeof(chiplabel),
+                                          filename)) {
+                               if (!strncasecmp(chiplabel, name,
+                                                strlen(name))) {
+                                       /*
+                                        * Store offset when chip label is
+                                        * matched.
+                                        */
+                                       *offset = controller_offset;
+                                       match++;
+                               }
+                       }
+               }
+       }
+
+       closedir(dir);
+       return (1 == match);
+}
+
+static int FindGpioChipOffsetByNumber(unsigned *gpio_num, unsigned *offset,
+                                     Basemapping *data)
+{
+       DIR *dir;
+       struct dirent *ent;
+       int match = 0;
+
+       /* Obtain relative GPIO number.
+        * The assumption here is the Basemapping
+        * table is arranged in decreasing order of
+        * base address and ends with 0.
+        * A UID with value 0 indicates an invalid range
+        * and causes an early return to avoid the directory
+        * opening code below.
+        */
+       do {
+               if (*gpio_num >= data->base) {
+                       *gpio_num -= data->base;
+                       break;
+               }
+               data++;
+       } while(1);
+
+       if (data->uid == 0) {
+               return 0;
+       }
+
+       dir = opendir(GPIO_BASE_PATH);
+       if (!dir) {
+               return 0;
+       }
+
+       while(0 != (ent = readdir(dir))) {
+               /* For every gpiochip entry determine uid. */
+               if (1 == sscanf(ent->d_name, "gpiochip%u", offset)) {
+                       char uid_file[128];
+                       unsigned uid_value;
+                       snprintf(uid_file, sizeof(uid_file),
+                                "%s/gpiochip%u/device/firmware_node/uid",
+                                GPIO_BASE_PATH, *offset);
+                       if (ReadFileInt(uid_file, &uid_value) < 0)
+                               continue;
+                       if (data->uid == uid_value) {
+                               match++;
+                               break;
+                       }
+               }
+       }
+
+       closedir(dir);
+       return (1 == match);
+}
+
+
+/* Braswell has 4 sets of GPIO banks. It is expected the firmware exposes each
+ * bank of gpios using a UID in ACPI. Furthermore the gpio number exposed is
+ * relative to the bank. e.g. gpio MF_ISH_GPIO_4 in the bank specified by UID 3
+ * would be encoded as 0x10016.
+ *
+ *  UID | Bank Offset
+ *  ----+------------
+ *   1  | 0x0000
+ *   2  | 0x8000
+ *   3  | 0x10000
+ *   4  | 0x18000
+ */
+static int BraswellFindGpioChipOffset(unsigned *gpio_num, unsigned *offset,
+                                     const char *name)
+{
+       int ret;
+       struct utsname host;
+       unsigned int maj, min;
+       int gpe = 0;
+       static Basemapping data[]={
+               {0x20000, 0},
+               {0x18000, 4},
+               {0x10000, 3},
+               {0x08000, 2},
+               {0x00000, 1}};
+
+       /*
+        * This quirk addresses b:143174998 and is required on kernels >= 4.16
+        * when GPIO numbering has changed with an upstream commit:
+        * 03c4749dd6c7ff948a0ce59a44a1b97c015353c2
+        * "gpio / ACPI: Drop unnecessary ACPI GPIO to Linux GPIO translation".
+        * With that change gpio ACPI/Linux kernel 1:1 mapping was introduced which
+        * made mismatch for gpio number and backward compatibility for user-space.
+        * Details on review commit review
+        * https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2153155
+        */
+
+       /*
+        * Here we are addressing particular wpsw_cur pin which is connected to
+        * East Community GPIO chip (uid == 3, base == 0x10000). In this case there
+        * is only one gap between 11 and 15 (0..11 15..26). For now crosssystem
+        * is not checking pins in other gpio banks, but it is worth to mention that
+        * there are gaps as well.
+        */
+       if (*gpio_num >=  0x10000 && *gpio_num < 0x18000)
+               gpe = 1;
+
+       ret = FindGpioChipOffsetByNumber(gpio_num, offset, data);
+       if (!ret || !gpe)
+               return ret;
+
+       if (uname(&host) == 0) {
+               if (sscanf(host.release, "%u.%u.", &maj, &min) == 2) {
+#if !defined(__FreeBSD__) && !defined(__OpenBSD__)
+                       if (KERNEL_VERSION(maj, min, 0) >= KERNEL_VERSION(4, 16, 0) &&
+                           *offset > 11)
+                               *offset += 3;
+#endif
+               } else {
+                       printf("Couldn't retrieve kernel version!\n");
+                       ret = 0;
+               }
+       } else {
+               perror("uname");
+               ret = 0;
+       }
+
+       return ret;
+}
+
+/* BayTrail has 3 sets of GPIO banks. It is expected the firmware exposes
+ * each bank of gpios using a UID in ACPI. Furthermore the gpio number exposed
+ * is relative to the bank. e.g. gpio 6 in the bank specified by UID 3 would
+ * be encoded as 0x2006.
+ *  UID | Bank Offset
+ *  ----+------------
+ *   1  | 0x0000
+ *   2  | 0x1000
+ *   3  | 0x2000
+ */
+static int BayTrailFindGpioChipOffset(unsigned *gpio_num, unsigned *offset,
+                                     const char *name)
+{
+       static Basemapping data[]={
+               {0x3000, 0},
+               {0x2000, 3},
+               {0x1000, 2},
+               {0x0000, 1}};
+
+       return FindGpioChipOffsetByNumber(gpio_num, offset, data);
+}
+
+struct GpioChipset {
+       const char *name;
+       int (*ChipOffsetAndGpioNumber)(unsigned *gpio_num,
+                                      unsigned *chip_offset,
+                                      const char *name);
+};
+
+static const struct GpioChipset chipsets_supported[] = {
+       { "AMD0030", FindGpioChipOffset },
+       { "NM10", FindGpioChipOffset },
+       { "CougarPoint", FindGpioChipOffset },
+       { "PantherPoint", FindGpioChipOffset },
+       { "LynxPoint", FindGpioChipOffset },
+       { "PCH-LP", FindGpioChipOffset },
+       { "INT3437:00", FindGpioChipOffsetByLabel },
+       { "INT344B:00", FindGpioChipOffsetByLabel },
+       /* INT3452 are for Apollolake */
+       { "INT3452:00", FindGpioChipOffsetByLabel },
+       { "INT3452:01", FindGpioChipOffsetByLabel },
+       { "INT3452:02", FindGpioChipOffsetByLabel },
+       { "INT3452:03", FindGpioChipOffsetByLabel },
+       { "INT3455:00", FindGpioChipOffsetByLabel },
+       { "INT34BB:00", FindGpioChipOffsetByLabel },
+       { "INT34C8:00", FindGpioChipOffsetByLabel },
+       { "INT34C5:00", FindGpioChipOffsetByLabel },
+       /* INTC105x are for Alderlake */
+       { "INTC1055:00", FindGpioChipOffsetByLabel },
+       { "INTC1056:00", FindGpioChipOffsetByLabel },
+       /* INT3453 are for GLK */
+       { "INT3453:00", FindGpioChipOffsetByLabel },
+       { "INT3453:01", FindGpioChipOffsetByLabel },
+       { "INT3453:02", FindGpioChipOffsetByLabel },
+       { "INT3453:03", FindGpioChipOffsetByLabel },
+       { "BayTrail", BayTrailFindGpioChipOffset },
+       { "Braswell", BraswellFindGpioChipOffset },
+       { NULL },
+};
+
+static const struct GpioChipset *FindChipset(const char *name)
+{
+       const struct GpioChipset *chipset = &chipsets_supported[0];
+
+       while (chipset->name != NULL) {
+               if (!strcmp(name, chipset->name))
+                       return chipset;
+               chipset++;
+       }
+       return NULL;
+}
+
+/* Read a GPIO of the specified signal type (see ACPI GPIO SignalType).
+ *
+ * Returns 1 if the signal is asserted, 0 if not asserted, or -1 if error. */
+static int ReadGpio(unsigned signal_type)
+{
+       char name[128];
+       int index = 0;
+       unsigned gpio_type;
+       unsigned active_high;
+       unsigned controller_num;
+       unsigned controller_offset = 0;
+       char controller_name[128];
+       unsigned value;
+       const struct GpioChipset *chipset;
+
+       /* Scan GPIO.* to find a matching signal type */
+       for (index = 0; ; index++) {
+               snprintf(name, sizeof(name), "%s.%d/GPIO.0", ACPI_GPIO_PATH,
+                        index);
+               if (ReadFileInt(name, &gpio_type) < 0)
+                       return -1; /* Ran out of GPIOs before finding a match */
+               if (gpio_type == signal_type)
+                       break;
+       }
+
+       /* Read attributes and controller info for the GPIO */
+       snprintf(name, sizeof(name), "%s.%d/GPIO.1", ACPI_GPIO_PATH, index);
+       if (ReadFileInt(name, &active_high) < 0)
+               return -1;
+       snprintf(name, sizeof(name), "%s.%d/GPIO.2", ACPI_GPIO_PATH, index);
+       if (ReadFileInt(name, &controller_num) < 0)
+               return -1;
+       /* Do not attempt to read GPIO that is set to -1 in ACPI */
+       if (controller_num == 0xFFFFFFFF)
+               return -1;
+
+       /* Check for chipsets we recognize. */
+       snprintf(name, sizeof(name), "%s.%d/GPIO.3", ACPI_GPIO_PATH, index);
+       if (!ReadFileString(controller_name, sizeof(controller_name), name))
+               return -1;
+       chipset = FindChipset(controller_name);
+       if (chipset == NULL)
+               return -1;
+
+       /* Modify GPIO number by driver's offset */
+       if (!chipset->ChipOffsetAndGpioNumber(&controller_num,
+                                             &controller_offset,
+                                             chipset->name))
+               return -1;
+       controller_offset += controller_num;
+
+       /* Try reading the GPIO value */
+       snprintf(name, sizeof(name), "%s/gpio%d/value",
+                GPIO_BASE_PATH, controller_offset);
+       if (ReadFileInt(name, &value) < 0) {
+               /* Try exporting the GPIO */
+               FILE* f = fopen(GPIO_EXPORT_PATH, "wt");
+               if (!f)
+                       return -1;
+               fprintf(f, "%u", controller_offset);
+               fclose(f);
+
+               /* Try re-reading the GPIO value */
+               if (ReadFileInt(name, &value) < 0)
+                       return -1;
+       }
+
+       /* Normalize the value read from the kernel in case it is not always
+        * 1. */
+       value = value ? 1 : 0;
+
+       /* Compare the GPIO value with the active value and return 1 if
+        * match. */
+       return (value == active_high ? 1 : 0);
+}
+
+
+int VbGetArchPropertyInt(const char* name)
+{
+       int value = -1;
+
+       /* Switch positions */
+       if (!strcasecmp(name,"devsw_cur")) {
+               /* Systems with virtual developer switches return at-boot
+                * value */
+               value = VbGetSystemPropertyInt("devsw_boot");
+       } else if (!strcasecmp(name,"recoverysw_cur")) {
+               value = ReadGpio(GPIO_SIGNAL_TYPE_RECOVERY);
+       } else if (!strcasecmp(name,"wpsw_cur")) {
+               value = ReadGpio(GPIO_SIGNAL_TYPE_WP);
+       } else if (!strcasecmp(name,"recoverysw_ec_boot")) {
+               value = ReadFileBit(ACPI_CHSW_PATH, CHSW_RECOVERY_EC_BOOT);
+       } else if (!strcasecmp(name,"phase_enforcement")) {
+               value = ReadGpio(GPIO_SIGNAL_TYPE_PHASE_ENFORCEMENT);
+       }
+
+       /* Fields for old systems which don't have VbSharedData */
+       if (VbSharedDataVersion() < 2) {
+               if (!strcasecmp(name,"recovery_reason")) {
+                       value = VbGetRecoveryReason();
+               } else if (!strcasecmp(name,"devsw_boot")) {
+                       value = ReadFileBit(ACPI_CHSW_PATH, CHSW_DEV_BOOT);
+               } else if (!strcasecmp(name,"recoverysw_boot")) {
+                       value = ReadFileBit(ACPI_CHSW_PATH, CHSW_RECOVERY_BOOT);
+               }
+       }
+
+       /* NV storage values.  If unable to get from NV storage, fall back to
+        * the CMOS reboot field used by older BIOS (e.g. Mario). */
+       if (!strcasecmp(name,"recovery_request")) {
+               value = vb2_get_nv_storage(VB2_NV_RECOVERY_REQUEST);
+               if (-1 == value)
+                       value = VbGetCmosRebootField(CMOSRF_RECOVERY);
+       } else if (!strcasecmp(name,"dbg_reset")) {
+               value = vb2_get_nv_storage(VB2_NV_DEBUG_RESET_MODE);
+               if (-1 == value)
+                       value = VbGetCmosRebootField(CMOSRF_DEBUG_RESET);
+       } else if (!strcasecmp(name,"fwb_tries")) {
+               value = vb2_get_nv_storage(VB2_NV_TRY_COUNT);
+               if (-1 == value)
+                       value = VbGetCmosRebootField(CMOSRF_TRY_B);
+       }
+
+       /* Firmware update tries is now stored in the kernel field.  On
+        * older systems where it's not, it was stored in a file in the
+        * stateful partition. */
+       if (!strcasecmp(name,"fwupdate_tries")) {
+               unsigned fwupdate_value;
+               if (-1 != vb2_get_nv_storage(VB2_NV_KERNEL_FIELD))
+                       return -1;  /* NvStorage supported; fail through
+                                    * arch-specific implementation to normal
+                                    * implementation. */
+               /* Read value from file; missing file means value=0. */
+               if (ReadFileInt(NEED_FWUPDATE_PATH, &fwupdate_value) < 0)
+                       value = 0;
+               else
+                       value = (int)fwupdate_value;
+       }
+
+       return value;
+}
+
+
+const char* VbGetArchPropertyString(const char* name, char* dest,
+                                   size_t size)
+{
+       unsigned value;
+
+       if (!strcasecmp(name,"arch")) {
+               return StrCopy(dest, "x86", size);
+       } else if (!strcasecmp(name,"hwid")) {
+               return ReadFileString(dest, size, ACPI_BASE_PATH "/HWID");
+       } else if (!strcasecmp(name,"fwid")) {
+               return ReadFileString(dest, size, ACPI_BASE_PATH "/FWID");
+       } else if (!strcasecmp(name,"ro_fwid")) {
+               return ReadFileString(dest, size, ACPI_BASE_PATH "/FRID");
+       } else if (!strcasecmp(name,"mainfw_act")) {
+               if (ReadFileInt(ACPI_BINF_PATH ".1", &value) < 0)
+                       return NULL;
+               switch(value) {
+                       case 0:
+                               return StrCopy(dest, "recovery", size);
+                       case 1:
+                               return StrCopy(dest, "A", size);
+                       case 2:
+                               return StrCopy(dest, "B", size);
+                       default:
+                               return NULL;
+               }
+       } else if (!strcasecmp(name,"mainfw_type")) {
+               return VbReadMainFwType(dest, size);
+       } else if (!strcasecmp(name,"ecfw_act")) {
+               if (ReadFileInt(ACPI_BINF_PATH ".2", &value) < 0)
+                       return NULL;
+               switch(value) {
+                       case 0:
+                               return StrCopy(dest, "RO", size);
+                       case 1:
+                               return StrCopy(dest, "RW", size);
+                       default:
+                               return NULL;
+               }
+       }
+
+       return NULL;
+}
+
+
+int VbSetArchPropertyInt(const char* name, int value)
+{
+       /* NV storage values.  If unable to get from NV storage, fall back to
+        * the CMOS reboot field used by older BIOS. */
+       if (!strcasecmp(name,"recovery_request")) {
+               if (0 == vb2_set_nv_storage(VB2_NV_RECOVERY_REQUEST, value))
+                       return 0;
+               return VbSetCmosRebootField(CMOSRF_RECOVERY, value);
+       } else if (!strcasecmp(name,"dbg_reset")) {
+               if (0 == vb2_set_nv_storage(VB2_NV_DEBUG_RESET_MODE, value))
+                       return 0;
+               return  VbSetCmosRebootField(CMOSRF_DEBUG_RESET, value);
+       } else if (!strcasecmp(name,"fwb_tries")) {
+               if (0 == vb2_set_nv_storage(VB2_NV_TRY_COUNT, value))
+                       return 0;
+               return VbSetCmosRebootField(CMOSRF_TRY_B, value);
+       }
+       /* Firmware update tries is now stored in the kernel field.  On
+        * older systems where it's not, it was stored in a file in the
+        * stateful partition. */
+       else if (!strcasecmp(name,"fwupdate_tries")) {
+               if (-1 != vb2_get_nv_storage(VB2_NV_KERNEL_FIELD))
+                       return -1;  /* NvStorage supported; fail through
+                                    * arch-specific implementation to normal
+                                    * implementation */
+
+               if (value) {
+                       char buf[32];
+                       snprintf(buf, sizeof(buf), "%d", value);
+                       return WriteFile(NEED_FWUPDATE_PATH, buf, strlen(buf));
+               } else {
+                       /* No update tries, so remove file if it exists. */
+                       unlink(NEED_FWUPDATE_PATH);
+                       return 0;
+               }
+       }
+
+       return -1;
+}
+
+int VbSetArchPropertyString(const char* name, const char* value)
+{
+       /* If there were settable architecture-dependent string properties,
+        * they'd be here. */
+       return -1;
+}
diff --git a/host/arch/x86_64/lib/crossystem_arch.c b/host/arch/x86_64/lib/crossystem_arch.c
new file mode 120000 (symlink)
index 0000000..1f5d652
--- /dev/null
@@ -0,0 +1 @@
+../../x86/lib/crossystem_arch.c
\ No newline at end of file
diff --git a/host/include/cgpt_params.h b/host/include/cgpt_params.h
new file mode 100644 (file)
index 0000000..b17a0b4
--- /dev/null
@@ -0,0 +1,142 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_CGPT_PARAMS_H_
+#define VBOOT_REFERENCE_CGPT_PARAMS_H_
+
+#include <stdint.h>
+
+#include "gpt.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+enum {
+       CGPT_OK = 0,
+       CGPT_FAILED,
+};
+
+typedef struct CgptCreateParams {
+       const char *drive_name;
+       uint64_t drive_size;
+       int zap;
+       uint64_t padding;
+} CgptCreateParams;
+
+typedef struct CgptAddParams {
+       const char *drive_name;
+       uint64_t drive_size;
+       uint32_t partition;
+       uint64_t begin;
+       uint64_t size;
+       Guid type_guid;
+       Guid unique_guid;
+       const char *label;
+       int successful;
+       int tries;
+       int priority;
+       int required;
+       int legacy_boot;
+       uint32_t raw_value;
+       int set_begin;
+       int set_size;
+       int set_type;
+       int set_unique;
+       int set_successful;
+       int set_tries;
+       int set_priority;
+       int set_required;
+       int set_legacy_boot;
+       int set_raw;
+} CgptAddParams;
+
+typedef struct CgptEditParams {
+       const char *drive_name;
+       uint64_t drive_size;
+       Guid unique_guid;
+       int set_unique;
+} CgptEditParams;
+
+typedef struct CgptShowParams {
+       const char *drive_name;
+       uint64_t drive_size;
+       int numeric;
+       int verbose;
+       int quick;
+       uint32_t partition;
+       int single_item;
+       int debug;
+       int num_partitions;
+} CgptShowParams;
+
+typedef struct CgptRepairParams {
+       const char *drive_name;
+       uint64_t drive_size;
+       int verbose;
+} CgptRepairParams;
+
+typedef struct CgptBootParams {
+       const char *drive_name;
+       uint64_t drive_size;
+       uint32_t partition;
+       const char *bootfile;
+       int create_pmbr;
+} CgptBootParams;
+
+typedef struct CgptPrioritizeParams {
+       const char *drive_name;
+       uint64_t drive_size;
+       uint32_t set_partition;
+       int set_friends;
+       int max_priority;
+       int orig_priority;
+} CgptPrioritizeParams;
+
+struct CgptFindParams;
+typedef void (*CgptFindShowFn)(struct CgptFindParams *params,
+                              const char *filename, int partnum,
+                              GptEntry *entry);
+typedef struct CgptFindParams {
+       const char *drive_name;
+       uint64_t drive_size;
+       int verbose;
+       int set_unique;
+       int set_type;
+       int set_label;
+       int oneonly;
+       int numeric;
+       uint8_t *matchbuf;
+       uint64_t matchlen;
+       uint64_t matchoffset;
+       uint8_t *comparebuf;
+       Guid unique_guid;
+       Guid type_guid;
+       const char *label;
+       int hits;
+       int match_partnum;           /* 1-based; 0 means no match */
+       /* when working with MTD, we actually work on a temp file, but we still
+        * need to print the device name. so this parameter is here to properly
+        * show the correct device name in that special case. */
+       CgptFindShowFn show_fn;
+} CgptFindParams;
+
+enum {
+       CGPT_LEGACY_MODE_LEGACY = 0,
+       CGPT_LEGACY_MODE_EFIPART,
+       CGPT_LEGACY_MODE_IGNORE_PRIMARY,
+};
+
+typedef struct CgptLegacyParams {
+       const char *drive_name;
+       uint64_t drive_size;
+       int mode;
+} CgptLegacyParams;
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_CGPT_PARAMS_H_ */
diff --git a/host/include/crossystem.h b/host/include/crossystem.h
new file mode 100644 (file)
index 0000000..63e9ec7
--- /dev/null
@@ -0,0 +1,52 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_CROSSYSTEM_H_
+#define VBOOT_REFERENCE_CROSSYSTEM_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stddef.h>
+
+/* Recommended size for string property buffers used with
+ * VbGetSystemPropertyString(). */
+#define VB_MAX_STRING_PROPERTY     ((size_t) 8192)
+
+/* Reads a system property integer.
+ *
+ * Returns the property value, or -1 if error. */
+int VbGetSystemPropertyInt(const char* name);
+
+/* Read a system property string into a destination buffer of the
+ * specified size.  Returned string will be null-terminated.  If the
+ * buffer is too small, the returned string will be truncated.
+ *
+ * The caller can expect an un-truncated value if the size provided is
+ * at least VB_MAX_STRING_PROPERTY.
+ *
+ * Returns the passed buffer, or NULL if error. */
+const char* VbGetSystemPropertyString(const char* name, char* dest,
+                                     size_t size);
+
+/* Sets a system property integer.
+ *
+ * Returns 0 if success, -1 if error. */
+int VbSetSystemPropertyInt(const char* name, int value);
+
+/* Set a system property string.
+ *
+ * The maximum length of the value accepted depends on the specific
+ * property, not on VB_MAX_STRING_PROPERTY.
+ *
+ * Returns 0 if success, -1 if error. */
+int VbSetSystemPropertyString(const char* name, const char* value);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* VBOOT_REFERENCE_CROSSYSTEM_H_ */
diff --git a/host/include/crossystem_vbnv.h b/host/include/crossystem_vbnv.h
new file mode 100644 (file)
index 0000000..2f24618
--- /dev/null
@@ -0,0 +1,35 @@
+/* Copyright 2016 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * vboot nv storage related functions exported for use by userspace programs
+ */
+
+#ifndef VBOOT_REFERENCE_CROSSYSTEM_VBNV_H_
+#define VBOOT_REFERENCE_CROSSYSTEM_VBNV_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct vb2_context;
+
+/**
+ * Attempt to read non-volatile storage using flashrom.
+ *
+ * Returns 0 if success, non-zero if error.
+ */
+int vb2_read_nv_storage_flashrom(struct vb2_context *ctx);
+
+/**
+ * Attempt to write non-volatile storage using flashrom.
+ *
+ * Returns 0 if success, non-zero if error.
+ */
+int vb2_write_nv_storage_flashrom(struct vb2_context* ctx);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* VBOOT_REFERENCE_CROSSYSTEM_VBNV_H_ */
diff --git a/host/include/openssl_compat.h b/host/include/openssl_compat.h
new file mode 100644 (file)
index 0000000..35bb250
--- /dev/null
@@ -0,0 +1,34 @@
+/* Copyright 2017 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_OPENSSL_COMPAT_H_
+#define VBOOT_REFERENCE_OPENSSL_COMPAT_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+#include <openssl/rsa.h>
+
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+
+static inline void RSA_get0_key(const RSA *rsa, const BIGNUM **n,
+                               const BIGNUM **e, const BIGNUM **d)
+{
+       if (n != NULL)
+               *n = rsa->n;
+       if (e != NULL)
+               *e = rsa->e;
+       if (d != NULL)
+               *d = rsa->d;
+}
+
+#endif  /* OPENSSL_VERSION_NUMBER < 0x10100000L */
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_OPENSSL_COMPAT_H_ */
diff --git a/host/include/vboot_host.h b/host/include/vboot_host.h
new file mode 100644 (file)
index 0000000..328c063
--- /dev/null
@@ -0,0 +1,100 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * vboot-related functions exported for use by userspace programs
+ */
+
+#ifndef VBOOT_REFERENCE_VBOOT_HOST_H_
+#define VBOOT_REFERENCE_VBOOT_HOST_H_
+
+#include <inttypes.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "2crypto.h"
+#include "cgpt_params.h"
+
+/****************************************************************************/
+/* EFI GPT manipulation */
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+/* partition table manipulation */
+int CgptCreate(CgptCreateParams *params);
+int CgptAdd(CgptAddParams *params);
+int CgptEdit(CgptEditParams *params);
+int CgptSetAttributes(CgptAddParams *params);
+int CgptGetPartitionDetails(CgptAddParams *params);
+int CgptBoot(CgptBootParams *params);
+int CgptGetBootPartitionNumber(CgptBootParams *params);
+int CgptShow(CgptShowParams *params);
+int CgptGetNumNonEmptyPartitions(CgptShowParams *params);
+int CgptRepair(CgptRepairParams *params);
+int CgptPrioritize(CgptPrioritizeParams *params);
+void CgptFind(CgptFindParams *params);
+int CgptLegacy(CgptLegacyParams *params);
+
+/* GUID conversion functions. Accepted format:
+ *
+ *   "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"
+ *
+ * At least GUID_STRLEN bytes should be reserved in 'str' (included the tailing
+ * '\0').
+ */
+#define GUID_STRLEN 37
+int StrToGuid(const char *str, Guid *guid);
+void GuidToStr(const Guid *guid, char *str, unsigned int buflen);
+int GuidEqual(const Guid *guid1, const Guid *guid2);
+int GuidIsZero(const Guid *guid);
+
+
+/****************************************************************************/
+/* Kernel command line */
+
+/* TODO(wfrichar): This needs a better location */
+#define MAX_KERNEL_CONFIG_SIZE     4096
+
+/* Use this to obtain the body load address from the kernel preamble */
+#define USE_PREAMBLE_LOAD_ADDR     (~0)
+
+/* Returns a new copy of the kernel cmdline. The caller must free it. */
+char *FindKernelConfig(const char *filename,
+                      uint64_t kernel_body_load_address);
+
+/****************************************************************************/
+/* Kernel partition */
+
+/* Used to get a bootable vmlinuz from the kernel partition. vmlinuz_out must
+ * be free'd after this function returns success. Success is indicated by a
+ * zero return value.
+ */
+int ExtractVmlinuz(void *kpart_data, size_t kpart_size,
+                  void **vmlinuz_out, size_t *vmlinuz_size);
+
+/**
+ * Look up a signature algorithm by its string representation.
+ *
+ * @param str          String representation of algo (e.g. "rsa2048" or "1")
+ * @param alg          Output parameter that will be filled with found enum
+ * @return             True if algorithm was found, false otherwise.
+ */
+bool vb2_lookup_sig_alg(const char *str, enum vb2_signature_algorithm *sig_alg);
+
+/**
+ * Look up a hash algorithm by its string representation.
+ *
+ * @param str          String representation of algorithm (e.g. "sha1" or "1")
+ * @param alg          Output parameter that will be filled with found enum
+ * @return             True if algorithm was found, false otherwise.
+ */
+bool vb2_lookup_hash_alg(const char *str, enum vb2_hash_algorithm *hash_alg);
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_VBOOT_HOST_H_ */
diff --git a/host/lib/chromeos_config.c b/host/lib/chromeos_config.c
new file mode 100644 (file)
index 0000000..6307318
--- /dev/null
@@ -0,0 +1,108 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <limits.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "2common.h"
+#include "2return_codes.h"
+#include "chromeos_config.h"
+#include "host_misc.h"
+
+#define CHROMEOS_CONFIG_BASE "/run/chromeos-config/v1"
+
+vb2_error_t chromeos_config_get_string(const char *path, const char *property,
+                                      char **val_out)
+{
+       vb2_error_t rv;
+       uint32_t size;
+       char filepath[PATH_MAX];
+
+       *val_out = NULL;
+
+       if (!path || path[0] != '/') {
+               VB2_DEBUG("Path parameter must begin with /");
+               return VB2_ERROR_INVALID_PARAMETER;
+       }
+
+       if (strstr(path, "//")) {
+               VB2_DEBUG("Path cannot contain //");
+               return VB2_ERROR_INVALID_PARAMETER;
+       }
+
+       if (strchr(property, '/')) {
+               VB2_DEBUG("Property cannot contain /");
+               return VB2_ERROR_INVALID_PARAMETER;
+       }
+
+       snprintf(filepath, sizeof(filepath), CHROMEOS_CONFIG_BASE "%s/%s", path,
+                property);
+       rv = vb2_read_file(filepath, (uint8_t **)val_out, &size);
+
+       if (rv == VB2_SUCCESS) {
+               *val_out = realloc(*val_out, size + 1);
+               (*val_out)[size] = '\0';
+       }
+
+       return rv;
+}
+
+vb2_error_t chromeos_config_get_boolean(const char *path, const char *property,
+                                       bool *val_out)
+{
+       char *val_string;
+       vb2_error_t rv;
+
+       *val_out = false;
+       if ((rv = chromeos_config_get_string(path, property, &val_string)) !=
+           VB2_SUCCESS)
+               return rv;
+
+       if (!strcmp(val_string, "false"))
+               goto exit;
+
+       if (!strcmp(val_string, "true")) {
+               *val_out = true;
+               goto exit;
+       }
+
+       VB2_DEBUG("Config entry is not a boolean: %s:%s", path, property);
+       rv = VB2_ERROR_INVALID_PARAMETER;
+
+ exit:
+       free(val_string);
+       return rv;
+}
+
+vb2_error_t chromeos_config_get_integer(const char *path, const char *property,
+                                       int *val_out)
+{
+       char *endptr;
+       char *val_string;
+       vb2_error_t rv;
+
+       *val_out = -1;
+       if ((rv = chromeos_config_get_string(path, property, &val_string)) !=
+           VB2_SUCCESS)
+               goto exit;
+
+       errno = 0;
+       *val_out = strtol(val_string, &endptr, 10);
+       if (errno || endptr) {
+               VB2_DEBUG("Config entry is not an integer: %s:%s", path,
+                         property);
+               rv = VB2_ERROR_INVALID_PARAMETER;
+               goto exit;
+       }
+
+ exit:
+       free(val_string);
+       return rv;
+}
diff --git a/host/lib/crossystem.c b/host/lib/crossystem.c
new file mode 100644 (file)
index 0000000..7c3ee87
--- /dev/null
@@ -0,0 +1,878 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <ctype.h>
+#include <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/file.h>
+#include <unistd.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "2nvstorage.h"
+#include "2sysincludes.h"
+#include "chromeos_config.h"
+#include "crossystem_arch.h"
+#include "crossystem.h"
+#include "crossystem_vbnv.h"
+#include "host_common.h"
+#include "flashrom.h"
+#include "subprocess.h"
+#include "vboot_struct.h"
+
+/* Filename for crossystem lock */
+#define CROSSYSTEM_LOCK_PATH "/run/lock/crossystem.lock"
+
+/* Filename for kernel command line */
+#define KERNEL_CMDLINE_PATH "/proc/cmdline"
+
+/* Filename for the TPM simulator NV data */
+#define TPM_SIMULATOR_NVCHIP_PATH \
+       "/mnt/stateful_partition/unencrypted/tpm2-simulator/NVChip"
+
+/* Fields that GetVdatString() can get */
+typedef enum VdatStringField {
+       VDAT_STRING_DEPRECATED_TIMERS = 0,  /* Timer values */
+       VDAT_STRING_LOAD_FIRMWARE_DEBUG,  /* LoadFirmware() debug info */
+       VDAT_STRING_DEPRECATED_LOAD_KERNEL_DEBUG,  /* LoadKernel() debug info */
+       VDAT_STRING_MAINFW_ACT  /* Active main firmware */
+} VdatStringField;
+
+
+/* Fields that GetVdatInt() can get */
+typedef enum VdatIntField {
+       VDAT_INT_FLAGS = 0,           /* Flags */
+       VDAT_INT_HEADER_VERSION,      /* Header version for VbSharedData */
+       VDAT_INT_DEVSW_BOOT,          /* Dev switch position at boot */
+       VDAT_INT_RECSW_BOOT,          /* Recovery switch position at boot */
+       VDAT_INT_HW_WPSW_BOOT,        /* Hardware WP switch position at boot */
+
+       VDAT_INT_FW_VERSION_TPM,      /* Current firmware version in TPM */
+       VDAT_INT_KERNEL_VERSION_TPM,  /* Current kernel version in TPM */
+       VDAT_INT_TRIED_FIRMWARE_B,    /* Tried firmware B due to fwb_tries */
+       VDAT_INT_KERNEL_KEY_VERIFIED, /* Kernel key verified using
+                                      * signature, not just hash */
+       VDAT_INT_RECOVERY_REASON,     /* Recovery reason for current boot */
+       VDAT_INT_FW_BOOT2             /* Firmware selection by vboot2 */
+} VdatIntField;
+
+
+/* Description of build options that may be specified on the
+ * kernel command line. */
+typedef enum VbBuildOption {
+       VB_BUILD_OPTION_UNKNOWN,
+       VB_BUILD_OPTION_DEBUG,
+       VB_BUILD_OPTION_NODEBUG
+} VbBuildOption;
+
+static const char *fw_results[] = {"unknown", "trying", "success", "failure"};
+static const char *default_boot[] = {"disk", "usb", "altfw"};
+
+/* Masks for kern_nv usage by kernel. */
+#define KERN_NV_FWUPDATE_TRIES_MASK 0x000F
+#define KERN_NV_BLOCK_DEVMODE_FLAG  0x0010
+#define KERN_NV_TPM_ATTACK_FLAG     0x0020
+/* If you want to use the remaining currently-unused bits in kern_nv
+ * for something kernel-y, define a new field (the way we did for
+ * fwupdate_tries).  Don't just modify kern_nv directly, because that
+ * makes it too easy to accidentally corrupt other sub-fields. */
+#define KERN_NV_CURRENTLY_UNUSED    0xFFC0
+
+/* Return true if the FWID starts with the specified string. */
+int FwidStartsWith(const char *start)
+{
+       char fwid[VB_MAX_STRING_PROPERTY];
+       if (!VbGetSystemPropertyString("fwid", fwid, sizeof(fwid)))
+               return 0;
+
+       return 0 == strncmp(fwid, start, strlen(start));
+}
+
+/* Acquire the lock for crossystem SetSystemProperty call. */
+static int AcquireCrossystemLock(void)
+{
+       int lock_fd;
+
+       lock_fd = open(CROSSYSTEM_LOCK_PATH, O_RDWR | O_CREAT, 0600);
+       if (lock_fd < 0)
+               return -1;
+
+       if (flock(lock_fd, LOCK_EX) < 0)
+               return -1;
+
+       return lock_fd;
+}
+
+/* Release the lock for crossystem SetSystemProperty call. */
+static int ReleaseCrossystemLock(int lock_fd)
+{
+       if (flock(lock_fd, F_UNLCK) < 0)
+               return -1;
+
+       close(lock_fd);
+
+       return 0;
+}
+
+static struct vb2_context *get_fake_context(void)
+{
+       static uint8_t fake_workbuf[sizeof(struct vb2_shared_data) + 16]
+               __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       static struct vb2_context *fake_ctx;
+
+       if (fake_ctx)
+               return fake_ctx;
+
+       vb2api_init(fake_workbuf, sizeof(fake_workbuf), &fake_ctx);
+
+       return fake_ctx;
+}
+
+static int vnc_read;
+
+int vb2_get_nv_storage(enum vb2_nv_param param)
+{
+       VbSharedDataHeader* sh = VbSharedDataRead();
+       struct vb2_context *ctx = get_fake_context();
+
+       if (!sh)
+               return -1;
+
+       /* TODO: locking around NV access */
+       if (!vnc_read) {
+               if (sh && sh->flags & VBSD_NVDATA_V2)
+                       ctx->flags |= VB2_CONTEXT_NVDATA_V2;
+               if (0 != vb2_read_nv_storage(ctx)) {
+                       free(sh);
+                       return -1;
+               }
+               vb2_nv_init(ctx);
+
+               /* TODO: If vnc.raw_changed, attempt to reopen NVRAM for write
+                * and save the new defaults.  If we're able to, log. */
+
+               vnc_read = 1;
+       }
+
+       free(sh);
+       return (int)vb2_nv_get(ctx, param);
+}
+
+int vb2_set_nv_storage(enum vb2_nv_param param, int value)
+{
+       VbSharedDataHeader* sh = VbSharedDataRead();
+       struct vb2_context *ctx = get_fake_context();
+
+       if (!sh)
+               return -1;
+
+       /* TODO: locking around NV access */
+       if (sh && sh->flags & VBSD_NVDATA_V2)
+               ctx->flags |= VB2_CONTEXT_NVDATA_V2;
+       if (0 != vb2_read_nv_storage(ctx)) {
+               free(sh);
+               return -1;
+       }
+       vb2_nv_init(ctx);
+       vb2_nv_set(ctx, param, (uint32_t)value);
+
+       if (ctx->flags & VB2_CONTEXT_NVDATA_CHANGED) {
+               vnc_read = 0;
+               if (0 != vb2_write_nv_storage(ctx)) {
+                       free(sh);
+                       return -1;
+               }
+       }
+
+       /* Success */
+       free(sh);
+       return 0;
+}
+
+/*
+ * Set a param value, and try to flag it for persistent backup.  It's okay if
+ * backup isn't supported (which it isn't, in current designs). It's
+ * best-effort only.
+ */
+static int vb2_set_nv_storage_with_backup(enum vb2_nv_param param, int value)
+{
+       int retval;
+       retval = vb2_set_nv_storage(param, value);
+       if (!retval)
+               vb2_set_nv_storage(VB2_NV_BACKUP_NVRAM_REQUEST, 1);
+       return retval;
+}
+
+/* Find what build/debug status is specified on the kernel command
+ * line, if any. */
+static VbBuildOption VbScanBuildOption(void)
+{
+       FILE* f = NULL;
+       char buf[4096] = "";
+       char *t, *saveptr;
+       const char *delimiters = " \r\n";
+
+       f = fopen(KERNEL_CMDLINE_PATH, "r");
+       if (NULL != f) {
+               if (NULL == fgets(buf, sizeof(buf), f))
+                       buf[0] = 0;
+               fclose(f);
+       }
+       for (t = strtok_r(buf, delimiters, &saveptr); t;
+            t = strtok_r(NULL, delimiters, &saveptr)) {
+               if (0 == strcmp(t, "cros_debug"))
+                       return VB_BUILD_OPTION_DEBUG;
+               else if (0 == strcmp(t, "cros_nodebug"))
+                       return VB_BUILD_OPTION_NODEBUG;
+       }
+
+       return VB_BUILD_OPTION_UNKNOWN;
+}
+
+/* Determine whether the running OS image was built for debugging.
+ * Returns 1 if yes, 0 if no or indeterminate. */
+static vb2_error_t VbGetDebugBuild(void)
+{
+       return VB_BUILD_OPTION_DEBUG == VbScanBuildOption();
+}
+
+/* Determine whether OS-level debugging should be allowed.
+ * Returns 1 if yes, 0 if no or indeterminate. */
+static int VbGetCrosDebug(void)
+{
+       /* If the currently running system specifies its debug status, use
+        * that in preference to other indicators. */
+       VbBuildOption option = VbScanBuildOption();
+       if (VB_BUILD_OPTION_DEBUG == option) {
+               return 1;
+       } else if (VB_BUILD_OPTION_NODEBUG == option) {
+               return 0;
+       }
+
+       /* Command line is silent; allow debug if the dev switch is on. */
+       if (1 == VbGetSystemPropertyInt("devsw_boot"))
+               return 1;
+
+       /* All other cases disallow debug. */
+       return 0;
+}
+
+static char *GetVdatLoadFirmwareDebug(char *dest, int size,
+                                     const VbSharedDataHeader *sh)
+{
+       snprintf(dest, size,
+                "Check A result=%d\n"
+                "Check B result=%d\n"
+                "Firmware index booted=0x%02x\n"
+                "TPM combined version at start=0x%08x\n"
+                "Lowest combined version from firmware=0x%08x\n",
+                sh->check_fw_a_result,
+                sh->check_fw_b_result,
+                sh->firmware_index,
+                sh->fw_version_tpm_start,
+                sh->fw_version_lowest);
+       return dest;
+}
+
+static char *GetVdatString(char *dest, int size, VdatStringField field)
+{
+       VbSharedDataHeader *sh = VbSharedDataRead();
+       char *value = dest;
+
+       if (!sh)
+               return NULL;
+
+       switch (field) {
+               case VDAT_STRING_LOAD_FIRMWARE_DEBUG:
+                       value = GetVdatLoadFirmwareDebug(dest, size, sh);
+                       break;
+
+               case VDAT_STRING_MAINFW_ACT:
+                       switch(sh->firmware_index) {
+                               case 0:
+                                       StrCopy(dest, "A", size);
+                                       break;
+                               case 1:
+                                       StrCopy(dest, "B", size);
+                                       break;
+                               case 0xFF:
+                                       StrCopy(dest, "recovery", size);
+                                       break;
+                               default:
+                                       value = NULL;
+                       }
+                       break;
+
+               default:
+                       value = NULL;
+                       break;
+       }
+
+       free(sh);
+       return value;
+}
+
+static int GetVdatInt(VdatIntField field)
+{
+       VbSharedDataHeader* sh = VbSharedDataRead();
+       int value = -1;
+
+       if (!sh)
+               return -1;
+
+       /* Fields supported in version 1 */
+       switch (field) {
+               case VDAT_INT_FLAGS:
+                       value = (int)sh->flags;
+                       break;
+               case VDAT_INT_HEADER_VERSION:
+                       value = sh->struct_version;
+                       break;
+               case VDAT_INT_TRIED_FIRMWARE_B:
+                       value = (sh->flags & VBSD_FWB_TRIED ? 1 : 0);
+                       break;
+               case VDAT_INT_KERNEL_KEY_VERIFIED:
+                       value = (sh->flags & VBSD_KERNEL_KEY_VERIFIED ? 1 : 0);
+                       break;
+               case VDAT_INT_FW_VERSION_TPM:
+                       value = (int)sh->fw_version_tpm;
+                       break;
+               case VDAT_INT_KERNEL_VERSION_TPM:
+                       value = (int)sh->kernel_version_tpm;
+                       break;
+               case VDAT_INT_FW_BOOT2:
+                       value = (sh->flags & VBSD_BOOT_FIRMWARE_VBOOT2 ? 1 : 0);
+                       VBOOT_FALLTHROUGH;
+               default:
+                       break;
+       }
+
+       /* Fields added in struct version 2 */
+       if (sh->struct_version >= 2) {
+               switch(field) {
+                       case VDAT_INT_DEVSW_BOOT:
+                               value = (sh->flags &
+                                        VBSD_BOOT_DEV_SWITCH_ON ? 1 : 0);
+                               break;
+                       case VDAT_INT_RECSW_BOOT:
+                               value = (sh->flags &
+                                        VBSD_BOOT_REC_SWITCH_ON ? 1 : 0);
+                               break;
+                       case VDAT_INT_HW_WPSW_BOOT:
+                               value = (sh->flags &
+                                        VBSD_BOOT_FIRMWARE_WP_ENABLED ? 1 : 0);
+                               break;
+                       case VDAT_INT_RECOVERY_REASON:
+                               value = sh->recovery_reason;
+                               break;
+                       default:
+                               break;
+               }
+       }
+
+       free(sh);
+       return value;
+}
+
+/* Return version of VbSharedData struct or -1 if not found. */
+int VbSharedDataVersion(void)
+{
+       return GetVdatInt(VDAT_INT_HEADER_VERSION);
+}
+
+int VbGetSystemPropertyInt(const char *name)
+{
+       int value = -1;
+
+       /* Check architecture-dependent properties first */
+       value = VbGetArchPropertyInt(name);
+       if (-1 != value)
+               return value;
+
+       /* NV storage values */
+       else if (!strcasecmp(name,"kern_nv")) {
+               value = vb2_get_nv_storage(VB2_NV_KERNEL_FIELD);
+       } else if (!strcasecmp(name,"nvram_cleared")) {
+               value = vb2_get_nv_storage(VB2_NV_KERNEL_SETTINGS_RESET);
+       } else if (!strcasecmp(name,"recovery_request")) {
+               value = vb2_get_nv_storage(VB2_NV_RECOVERY_REQUEST);
+       } else if (!strcasecmp(name,"diagnostic_request")) {
+               value = vb2_get_nv_storage(VB2_NV_DIAG_REQUEST);
+       } else if (!strcasecmp(name,"dbg_reset")) {
+               value = vb2_get_nv_storage(VB2_NV_DEBUG_RESET_MODE);
+       } else if (!strcasecmp(name,"disable_dev_request")) {
+               value = vb2_get_nv_storage(VB2_NV_DISABLE_DEV_REQUEST);
+       } else if (!strcasecmp(name,"clear_tpm_owner_request")) {
+               if (TPM2_SIMULATOR)
+                       /* Check TPM simulator NVChip status */
+                       value = access(TPM_SIMULATOR_NVCHIP_PATH, F_OK) != 0;
+               else
+                       value = vb2_get_nv_storage(
+                               VB2_NV_CLEAR_TPM_OWNER_REQUEST);
+       } else if (!strcasecmp(name,"clear_tpm_owner_done")) {
+               value = vb2_get_nv_storage(VB2_NV_CLEAR_TPM_OWNER_DONE);
+       } else if (!strcasecmp(name,"tpm_rebooted")) {
+               value = vb2_get_nv_storage(VB2_NV_TPM_REQUESTED_REBOOT);
+       } else if (!strcasecmp(name,"fwb_tries") ||
+                  !strcasecmp(name,"fw_try_count")) {
+               value = vb2_get_nv_storage(VB2_NV_TRY_COUNT);
+       } else if (!strcasecmp(name,"fw_vboot2")) {
+               value = GetVdatInt(VDAT_INT_FW_BOOT2);
+       } else if (!strcasecmp(name,"fwupdate_tries")) {
+               value = vb2_get_nv_storage(VB2_NV_KERNEL_FIELD);
+               if (value != -1)
+                       value &= KERN_NV_FWUPDATE_TRIES_MASK;
+       } else if (!strcasecmp(name,"block_devmode")) {
+               value = vb2_get_nv_storage(VB2_NV_KERNEL_FIELD);
+               if (value != -1) {
+                       value &= KERN_NV_BLOCK_DEVMODE_FLAG;
+                       value = !!value;
+               }
+       } else if (!strcasecmp(name,"tpm_attack")) {
+               value = vb2_get_nv_storage(VB2_NV_KERNEL_FIELD);
+               if (value != -1) {
+                       value &= KERN_NV_TPM_ATTACK_FLAG;
+                       value = !!value;
+               }
+       } else if (!strcasecmp(name,"loc_idx")) {
+               value = vb2_get_nv_storage(VB2_NV_LOCALIZATION_INDEX);
+       } else if (!strcasecmp(name,"backup_nvram_request")) {
+               value = vb2_get_nv_storage(VB2_NV_BACKUP_NVRAM_REQUEST);
+       } else if (!strcasecmp(name,"dev_boot_usb")) {
+               value = vb2_get_nv_storage(VB2_NV_DEV_BOOT_EXTERNAL);
+       } else if (!strcasecmp(name,"dev_boot_altfw") ||
+                  !strcasecmp(name,"dev_boot_legacy")) {
+               value = vb2_get_nv_storage(VB2_NV_DEV_BOOT_ALTFW);
+       } else if (!strcasecmp(name,"dev_boot_signed_only")) {
+               value = vb2_get_nv_storage(VB2_NV_DEV_BOOT_SIGNED_ONLY);
+       } else if (!strcasecmp(name,"dev_enable_udc")) {
+               value = vb2_get_nv_storage(VB2_NV_DEV_ENABLE_UDC);
+       } else if (!strcasecmp(name,"display_request")) {
+               value = vb2_get_nv_storage(VB2_NV_DISPLAY_REQUEST);
+       } else if (!strcasecmp(name,"recovery_subcode")) {
+               value = vb2_get_nv_storage(VB2_NV_RECOVERY_SUBCODE);
+       } else if (!strcasecmp(name,"wipeout_request")) {
+               value = vb2_get_nv_storage(VB2_NV_REQ_WIPEOUT);
+       } else if (!strcasecmp(name,"kernel_max_rollforward")) {
+               value = vb2_get_nv_storage(VB2_NV_KERNEL_MAX_ROLLFORWARD);
+       }
+       /* Other parameters */
+       else if (!strcasecmp(name,"cros_debug")) {
+               value = VbGetCrosDebug();
+       } else if (!strcasecmp(name,"debug_build")) {
+               value = VbGetDebugBuild();
+       } else if (!strcasecmp(name,"devsw_boot")) {
+               value = GetVdatInt(VDAT_INT_DEVSW_BOOT);
+       } else if (!strcasecmp(name, "recoverysw_boot")) {
+               value = GetVdatInt(VDAT_INT_RECSW_BOOT);
+       } else if (!strcasecmp(name, "wpsw_cur")) {
+               /* Use "write-protect at boot" as a fallback value. */
+               value = GetVdatInt(VDAT_INT_HW_WPSW_BOOT);
+       } else if (!strcasecmp(name,"vdat_flags")) {
+               value = GetVdatInt(VDAT_INT_FLAGS);
+       } else if (!strcasecmp(name,"tpm_fwver")) {
+               value = GetVdatInt(VDAT_INT_FW_VERSION_TPM);
+       } else if (!strcasecmp(name,"tpm_kernver")) {
+               value = GetVdatInt(VDAT_INT_KERNEL_VERSION_TPM);
+       } else if (!strcasecmp(name,"tried_fwb")) {
+               value = GetVdatInt(VDAT_INT_TRIED_FIRMWARE_B);
+       } else if (!strcasecmp(name,"recovery_reason")) {
+               value = GetVdatInt(VDAT_INT_RECOVERY_REASON);
+       } else if (!strcasecmp(name, "boot_on_ac_detect")) {
+               value = vb2_get_nv_storage(VB2_NV_BOOT_ON_AC_DETECT);
+       } else if (!strcasecmp(name, "try_ro_sync")) {
+               value = vb2_get_nv_storage(VB2_NV_TRY_RO_SYNC);
+       } else if (!strcasecmp(name, "battery_cutoff_request")) {
+               value = vb2_get_nv_storage(VB2_NV_BATTERY_CUTOFF_REQUEST);
+       } else if (!strcasecmp(name, "inside_vm")) {
+               /* Detect if the host is a VM. If there is no HWID and the
+                * firmware type is "nonchrome", then assume it is a VM. If
+                * HWID is present, it is a baremetal Chrome OS machine. Other
+                * cases are errors. */
+               char hwid[VB_MAX_STRING_PROPERTY];
+               if (!VbGetSystemPropertyString("hwid", hwid, sizeof(hwid))) {
+                       char fwtype_buf[VB_MAX_STRING_PROPERTY];
+                       const char *fwtype = VbGetSystemPropertyString(
+                               "mainfw_type", fwtype_buf, sizeof(fwtype_buf));
+                       if (fwtype && !strcasecmp(fwtype, "nonchrome")) {
+                               value = 1;
+                       }
+               } else {
+                       value = 0;
+               }
+       } else if (!strcasecmp(name, "post_ec_sync_delay")) {
+               value = vb2_get_nv_storage(VB2_NV_POST_EC_SYNC_DELAY);
+       }
+
+       return value;
+}
+
+const char *VbGetSystemPropertyString(const char *name, char *dest, size_t size)
+{
+       /* Check for HWID override via cros_config */
+       if (!strcasecmp(name, "hwid")) {
+               char *hwid_override;
+
+               if (chromeos_config_get_string("/", "hwid-override",
+                                              &hwid_override) == VB2_SUCCESS) {
+                       StrCopy(dest, hwid_override, size);
+                       free(hwid_override);
+                       return dest;
+               }
+       }
+
+       /* Check architecture-dependent properties */
+       if (VbGetArchPropertyString(name, dest, size))
+               return dest;
+
+       if (!strcasecmp(name,"kernkey_vfy")) {
+               switch(GetVdatInt(VDAT_INT_KERNEL_KEY_VERIFIED)) {
+                       case 0:
+                               return "hash";
+                       case 1:
+                               return "sig";
+                       default:
+                               return NULL;
+               }
+       } else if (!strcasecmp(name, "mainfw_act")) {
+               return GetVdatString(dest, size, VDAT_STRING_MAINFW_ACT);
+       } else if (!strcasecmp(name, "vdat_lfdebug")) {
+               return GetVdatString(dest, size,
+                                    VDAT_STRING_LOAD_FIRMWARE_DEBUG);
+       } else if (!strcasecmp(name, "fw_try_next")) {
+               return vb2_get_nv_storage(VB2_NV_TRY_NEXT) ? "B" : "A";
+       } else if (!strcasecmp(name, "fw_tried")) {
+               return vb2_get_nv_storage(VB2_NV_FW_TRIED) ? "B" : "A";
+       } else if (!strcasecmp(name, "fw_result")) {
+               int v = vb2_get_nv_storage(VB2_NV_FW_RESULT);
+               if (v < ARRAY_SIZE(fw_results))
+                       return fw_results[v];
+               else
+                       return "unknown";
+       } else if (!strcasecmp(name, "fw_prev_tried")) {
+               return vb2_get_nv_storage(VB2_NV_FW_PREV_TRIED) ? "B" : "A";
+       } else if (!strcasecmp(name, "fw_prev_result")) {
+               int v = vb2_get_nv_storage(VB2_NV_FW_PREV_RESULT);
+               if (v < ARRAY_SIZE(fw_results))
+                       return fw_results[v];
+               else
+                       return "unknown";
+       } else if (!strcasecmp(name,"dev_default_boot")) {
+               int v = vb2_get_nv_storage(VB2_NV_DEV_DEFAULT_BOOT);
+               if (v < ARRAY_SIZE(default_boot))
+                       return default_boot[v];
+               else
+                       return "unknown";
+       } else if (!strcasecmp(name, "minios_priority")) {
+               return vb2_get_nv_storage(VB2_NV_MINIOS_PRIORITY) ? "B" : "A";
+       }
+
+       return NULL;
+}
+
+static int VbSetSystemPropertyIntInternal(const char *name, int value)
+{
+       /* Check architecture-dependent properties first */
+
+       if (0 == VbSetArchPropertyInt(name, value))
+               return 0;
+
+       /* NV storage values */
+       if (!strcasecmp(name,"nvram_cleared")) {
+               /* Can only clear this flag; it's set inside the NV storage
+                * library. */
+               return vb2_set_nv_storage(VB2_NV_KERNEL_SETTINGS_RESET, 0);
+       } else if (!strcasecmp(name,"recovery_request")) {
+               return vb2_set_nv_storage(VB2_NV_RECOVERY_REQUEST, value);
+       } else if (!strcasecmp(name,"diagnostic_request")) {
+               return vb2_set_nv_storage(VB2_NV_DIAG_REQUEST, value);
+       } else if (!strcasecmp(name,"recovery_subcode")) {
+               return vb2_set_nv_storage(VB2_NV_RECOVERY_SUBCODE, value);
+       } else if (!strcasecmp(name,"dbg_reset")) {
+               return vb2_set_nv_storage(VB2_NV_DEBUG_RESET_MODE, value);
+       } else if (!strcasecmp(name,"disable_dev_request")) {
+               return vb2_set_nv_storage(VB2_NV_DISABLE_DEV_REQUEST, value);
+       } else if (!strcasecmp(name,"clear_tpm_owner_request")) {
+               if (TPM2_SIMULATOR) {
+                       /* We don't support to set clear_tpm_owner_request to 0
+                        * on simulator */
+                       if (value == 0)
+                               return -1;
+                       /* Check TPM simulator data status */
+                       if (!access(TPM_SIMULATOR_NVCHIP_PATH, F_OK)) {
+                               /* Remove the TPM2.0 simulator data */
+                               return remove(TPM_SIMULATOR_NVCHIP_PATH);
+                       } else {
+                               /* Return success when the file is already
+                                * removed */
+                               return 0;
+                       }
+               } else {
+                       return vb2_set_nv_storage(
+                               VB2_NV_CLEAR_TPM_OWNER_REQUEST, value);
+               }
+       } else if (!strcasecmp(name,"clear_tpm_owner_done")) {
+               /* Can only clear this flag; it's set by firmware. */
+               return vb2_set_nv_storage(VB2_NV_CLEAR_TPM_OWNER_DONE, 0);
+       } else if (!strcasecmp(name,"fwb_tries") ||
+                  !strcasecmp(name,"fw_try_count")) {
+               return vb2_set_nv_storage(VB2_NV_TRY_COUNT, value);
+       } else if (!strcasecmp(name,"display_request")) {
+               return vb2_set_nv_storage(VB2_NV_DISPLAY_REQUEST, value);
+       } else if (!strcasecmp(name,"wipeout_request")) {
+               /* Can only clear this flag, set only by firmware. */
+               return vb2_set_nv_storage(VB2_NV_REQ_WIPEOUT, 0);
+       } else if (!strcasecmp(name,"backup_nvram_request")) {
+               /* Best-effort only, since it requires firmware and TPM
+                * support. */
+               return vb2_set_nv_storage(VB2_NV_BACKUP_NVRAM_REQUEST, value);
+       } else if (!strcasecmp(name,"fwupdate_tries")) {
+               int kern_nv = vb2_get_nv_storage(VB2_NV_KERNEL_FIELD);
+               if (kern_nv == -1)
+                       return -1;
+               kern_nv &= ~KERN_NV_FWUPDATE_TRIES_MASK;
+               kern_nv |= (value & KERN_NV_FWUPDATE_TRIES_MASK);
+               return vb2_set_nv_storage_with_backup(
+                       VB2_NV_KERNEL_FIELD, kern_nv);
+       } else if (!strcasecmp(name,"block_devmode")) {
+               int kern_nv = vb2_get_nv_storage(VB2_NV_KERNEL_FIELD);
+               if (kern_nv == -1)
+                       return -1;
+               kern_nv &= ~KERN_NV_BLOCK_DEVMODE_FLAG;
+               if (value)
+                       kern_nv |= KERN_NV_BLOCK_DEVMODE_FLAG;
+               return vb2_set_nv_storage_with_backup(
+                       VB2_NV_KERNEL_FIELD, kern_nv);
+       } else if (!strcasecmp(name,"tpm_attack")) {
+               /* This value should only be read and cleared, but we allow
+                * setting it to 1 for testing. */
+               int kern_nv = vb2_get_nv_storage(VB2_NV_KERNEL_FIELD);
+               if (kern_nv == -1)
+                       return -1;
+               kern_nv &= ~KERN_NV_TPM_ATTACK_FLAG;
+               if (value)
+                       kern_nv |= KERN_NV_TPM_ATTACK_FLAG;
+               return vb2_set_nv_storage_with_backup(
+                       VB2_NV_KERNEL_FIELD, kern_nv);
+       } else if (!strcasecmp(name,"loc_idx")) {
+               return vb2_set_nv_storage_with_backup(
+                       VB2_NV_LOCALIZATION_INDEX, value);
+       } else if (!strcasecmp(name,"dev_boot_usb")) {
+               return vb2_set_nv_storage_with_backup(
+                       VB2_NV_DEV_BOOT_EXTERNAL, value);
+       } else if (!strcasecmp(name,"dev_boot_altfw") ||
+                  !strcasecmp(name,"dev_boot_legacy")) {
+               return vb2_set_nv_storage_with_backup(
+                       VB2_NV_DEV_BOOT_ALTFW, value);
+       } else if (!strcasecmp(name,"dev_boot_signed_only")) {
+               return vb2_set_nv_storage_with_backup(
+                       VB2_NV_DEV_BOOT_SIGNED_ONLY, value);
+       } else if (!strcasecmp(name, "dev_enable_udc")) {
+               return vb2_set_nv_storage_with_backup(
+                       VB2_NV_DEV_ENABLE_UDC, value);
+       } else if (!strcasecmp(name, "boot_on_ac_detect")) {
+               return vb2_set_nv_storage_with_backup(
+                       VB2_NV_BOOT_ON_AC_DETECT, value);
+       } else if (!strcasecmp(name, "try_ro_sync")) {
+               return vb2_set_nv_storage_with_backup(
+                       VB2_NV_TRY_RO_SYNC, value);
+       } else if (!strcasecmp(name, "battery_cutoff_request")) {
+               return vb2_set_nv_storage(VB2_NV_BATTERY_CUTOFF_REQUEST, value);
+       } else if (!strcasecmp(name,"kernel_max_rollforward")) {
+               return vb2_set_nv_storage(VB2_NV_KERNEL_MAX_ROLLFORWARD, value);
+       } else if (!strcasecmp(name, "post_ec_sync_delay")) {
+               return vb2_set_nv_storage(VB2_NV_POST_EC_SYNC_DELAY, value);
+       }
+
+       return -1;
+}
+
+int VbSetSystemPropertyInt(const char *name, int value)
+{
+       int result = -1;
+       int lock_fd;
+
+       lock_fd = AcquireCrossystemLock();
+       if (lock_fd < 0)
+               return -1;
+
+       result = VbSetSystemPropertyIntInternal(name, value);
+
+       if (ReleaseCrossystemLock(lock_fd) < 0)
+               return -1;
+
+       return result;
+}
+
+static int VbSetSystemPropertyStringInternal(const char *name,
+                                            const char *value)
+{
+       /* Chain to architecture-dependent properties */
+       if (0 == VbSetArchPropertyString(name, value))
+               return 0;
+
+       if (!strcasecmp(name, "fw_try_next")) {
+               if (!strcasecmp(value, "A"))
+                       return vb2_set_nv_storage(VB2_NV_TRY_NEXT, 0);
+               else if (!strcasecmp(value, "B"))
+                       return vb2_set_nv_storage(VB2_NV_TRY_NEXT, 1);
+               else
+                       return -1;
+       } else if (!strcasecmp(name, "minios_priority")) {
+               if (!strcasecmp(value, "A"))
+                       return vb2_set_nv_storage(VB2_NV_MINIOS_PRIORITY, 0);
+               else if (!strcasecmp(value, "B"))
+                       return vb2_set_nv_storage(VB2_NV_MINIOS_PRIORITY, 1);
+               else
+                       return -1;
+       } else if (!strcasecmp(name, "fw_result")) {
+               int i;
+
+               for (i = 0; i < ARRAY_SIZE(fw_results); i++) {
+                       if (!strcasecmp(value, fw_results[i]))
+                               return vb2_set_nv_storage(VB2_NV_FW_RESULT, i);
+               }
+               return -1;
+       } else if (!strcasecmp(name, "dev_default_boot")) {
+               int i;
+
+               /* "legacy" term deprecated in favour of "altfw"
+                  (see: b/179458327) */
+               if (!strcasecmp(value, "legacy")) {
+                       fprintf(stderr,
+                               "!!!\n"
+                               "!!! PLEASE USE 'altfw' INSTEAD OF 'legacy'\n"
+                               "!!!\n");
+                       value = "altfw";
+               }
+
+               for (i = 0; i < ARRAY_SIZE(default_boot); i++) {
+                       if (!strcasecmp(value, default_boot[i]))
+                               return vb2_set_nv_storage(
+                                       VB2_NV_DEV_DEFAULT_BOOT, i);
+               }
+               return -1;
+       }
+
+       return -1;
+}
+
+int VbSetSystemPropertyString(const char *name, const char *value)
+{
+       int result = -1;
+       int lock_fd;
+
+       lock_fd = AcquireCrossystemLock();
+       if (lock_fd < 0)
+               return -1;
+
+       result = VbSetSystemPropertyStringInternal(name, value);
+
+       if (ReleaseCrossystemLock(lock_fd) < 0)
+               return -1;
+
+       return result;
+}
+
+/**
+ * Get index of the last valid VBNV entry in an EEPROM.
+ *
+ * @param buf          Pointer to the beginning of the EEPROM.
+ * @param buf_sz       Size of the EEPROM.
+ * @param vbnv_size    The size of a single VBNV entry for this device.
+ *
+ * @return The index of the last valid VBNV entry on success, or -1 on
+ * failure.
+ */
+static int vb2_nv_index(const uint8_t *buf, uint32_t buf_sz, int vbnv_size)
+{
+       int index;
+       uint8_t blank[VB2_NVDATA_SIZE_V2];
+
+       /* The size of the buffer should be an even multiple of the
+          VBNV size. */
+       if (buf_sz % vbnv_size != 0) {
+               VB2_DIE("The VBNV in flash (%u bytes) is not an even multiple "
+                       "of the VBNV size (%u bytes).  This is likely a "
+                       "firmware bug.\n", buf_sz, vbnv_size);
+       }
+
+       memset(blank, 0xff, sizeof(blank));
+       for (index = 0; index < buf_sz / vbnv_size; index++) {
+               if (!memcmp(blank, &buf[index * vbnv_size], vbnv_size))
+                       break;
+       }
+
+       if (!index) {
+               fprintf(stderr, "VBNV is uninitialized.\n");
+               return -1;
+       }
+
+       return index - 1;
+}
+
+#define VBNV_FMAP_REGION "RW_NVRAM"
+
+int vb2_read_nv_storage_flashrom(struct vb2_context *ctx)
+{
+       int index;
+       int vbnv_size = vb2_nv_get_size(ctx);
+       uint8_t *flash_buf;
+       uint32_t flash_size;
+
+       if (flashrom_read(FLASHROM_PROGRAMMER_INTERNAL_AP, VBNV_FMAP_REGION,
+                         &flash_buf, &flash_size))
+               return -1;
+
+       index = vb2_nv_index(flash_buf, flash_size, vbnv_size);
+       if (index < 0) {
+               free(flash_buf);
+               return -1;
+       }
+
+       memcpy(ctx->nvdata, &flash_buf[index * vbnv_size], vbnv_size);
+       free(flash_buf);
+       return 0;
+}
+
+int vb2_write_nv_storage_flashrom(struct vb2_context *ctx)
+{
+       int rv = 0;
+       int current_index;
+       int next_index;
+       int vbnv_size = vb2_nv_get_size(ctx);
+       uint8_t *flash_buf;
+       uint32_t flash_size;
+
+       if (flashrom_read(FLASHROM_PROGRAMMER_INTERNAL_AP, VBNV_FMAP_REGION,
+                         &flash_buf, &flash_size))
+               return -1;
+
+       current_index = vb2_nv_index(flash_buf, flash_size, vbnv_size);
+       if (current_index < 0) {
+               rv = -1;
+               goto exit;
+       }
+
+       next_index = current_index + 1;
+       if (next_index * vbnv_size == flash_size) {
+               /* VBNV is full.  Erase and write at beginning. */
+               memset(flash_buf, 0xff, flash_size);
+               next_index = 0;
+       }
+
+       memcpy(&flash_buf[next_index * vbnv_size], ctx->nvdata, vbnv_size);
+       if (flashrom_write(FLASHROM_PROGRAMMER_INTERNAL_AP, VBNV_FMAP_REGION,
+                          flash_buf, flash_size)) {
+               rv = -1;
+               goto exit;
+       }
+
+ exit:
+       free(flash_buf);
+       return rv;
+}
diff --git a/host/lib/crypto.c b/host/lib/crypto.c
new file mode 100644 (file)
index 0000000..7103ed8
--- /dev/null
@@ -0,0 +1,44 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <stdlib.h>
+#include <strings.h>
+
+#include "vboot_host.h"
+
+static int lookup_helper(const char *str, const char *table[], size_t size,
+                        unsigned int *out)
+{
+       unsigned int algo;
+       char *e;
+
+       /* try string first */
+       for (algo = 0; algo < size; algo++)
+               if (table[algo] && !strcasecmp(table[algo], str))
+                       goto found;
+
+       /* fine, try number */
+       algo = strtoul(str, &e, 0);
+       if (!*str || (e && *e))
+               /* that's not a number */
+               return false;
+       if (algo >= size || !table[algo])
+               /* that's not a valid algorithm */
+               return false;
+
+ found:
+       *out = algo;
+       return true;
+}
+
+bool vb2_lookup_sig_alg(const char *str, enum vb2_signature_algorithm *sig_alg)
+{
+       return lookup_helper(str, vb2_sig_names, VB2_SIG_ALG_COUNT, sig_alg);
+}
+
+bool vb2_lookup_hash_alg(const char *str, enum vb2_hash_algorithm *hash_alg)
+{
+       return lookup_helper(str, vb2_hash_names, VB2_HASH_ALG_COUNT, hash_alg);
+}
diff --git a/host/lib/extract_vmlinuz.c b/host/lib/extract_vmlinuz.c
new file mode 100644 (file)
index 0000000..1260f11
--- /dev/null
@@ -0,0 +1,76 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Exports a vmlinuz from a kernel partition in memory.
+ */
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "2common.h"
+#include "2struct.h"
+#include "vboot_host.h"
+#include "vboot_struct.h"
+
+int ExtractVmlinuz(void *kpart_data, size_t kpart_size,
+                  void **vmlinuz_out, size_t *vmlinuz_size) {
+       size_t now = 0;
+       struct vb2_kernel_preamble *preamble = NULL;
+       uint8_t *kblob_data = NULL;
+       uint32_t kblob_size = 0;
+       uint32_t vmlinuz_header_size = 0;
+       uint64_t vmlinuz_header_address = 0;
+       uint64_t vmlinuz_header_offset = 0;
+       void *vmlinuz = NULL;
+
+       struct vb2_keyblock *keyblock = (struct vb2_keyblock *)kpart_data;
+       now += keyblock->keyblock_size;
+       if (now > kpart_size)
+               return 1;
+
+       preamble = (struct vb2_kernel_preamble *)(kpart_data + now);
+       now += preamble->preamble_size;
+       if (now > kpart_size)
+               return 1;
+
+       kblob_data = kpart_data + now;
+       kblob_size = preamble->body_signature.data_size;
+
+       if (!kblob_data || (now + kblob_size) > kpart_size)
+               return 1;
+
+       if (preamble->header_version_minor > 0) {
+               vmlinuz_header_address = preamble->vmlinuz_header_address;
+               vmlinuz_header_size = preamble->vmlinuz_header_size;
+       }
+
+       if (!vmlinuz_header_size ||
+           kpart_data + vmlinuz_header_offset + vmlinuz_header_size >
+           kpart_data) {
+               return 1;
+       }
+
+       // calculate the vmlinuz_header offset from
+       // the beginning of the kpart_data.  The kblob doesn't
+       // include the body_load_offset, but does include
+       // the keyblock and preamble sections.
+       vmlinuz_header_offset = vmlinuz_header_address -
+               preamble->body_load_address +
+               keyblock->keyblock_size +
+               preamble->preamble_size;
+
+       vmlinuz = malloc(vmlinuz_header_size + kblob_size);
+       if (vmlinuz == NULL)
+               return 1;
+
+       memcpy(vmlinuz, kpart_data + vmlinuz_header_offset,
+              vmlinuz_header_size);
+
+       memcpy(vmlinuz + vmlinuz_header_size, kblob_data, kblob_size);
+
+       *vmlinuz_out = vmlinuz;
+       *vmlinuz_size = vmlinuz_header_size + kblob_size;
+
+       return 0;
+}
diff --git a/host/lib/file_keys.c b/host/lib/file_keys.c
new file mode 100644 (file)
index 0000000..7ae7180
--- /dev/null
@@ -0,0 +1,42 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Utility functions for file and key handling.
+ */
+
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "file_keys.h"
+#include "host_common.h"
+#include "signature_digest.h"
+
+vb2_error_t DigestFile(char *input_file, enum vb2_hash_algorithm alg,
+                      uint8_t *digest, uint32_t digest_size)
+{
+       int input_fd, len;
+       uint8_t data[VB2_SHA1_BLOCK_SIZE];
+       struct vb2_digest_context ctx;
+
+       if( (input_fd = open(input_file, O_RDONLY)) == -1 ) {
+               fprintf(stderr, "Couldn't open %s\n", input_file);
+               return VB2_ERROR_UNKNOWN;
+       }
+       vb2_digest_init(&ctx, alg);
+       while ((len = read(input_fd, data, sizeof(data))) == sizeof(data))
+               vb2_digest_extend(&ctx, data, len);
+       if (len != -1)
+               vb2_digest_extend(&ctx, data, len);
+       close(input_fd);
+
+       return vb2_digest_finalize(&ctx, digest, digest_size);
+}
diff --git a/host/lib/flashrom.c b/host/lib/flashrom.c
new file mode 100644 (file)
index 0000000..e83dfb2
--- /dev/null
@@ -0,0 +1,169 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* For strdup */
+#define _POSIX_C_SOURCE 200809L
+
+#include <fcntl.h>
+#include <limits.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "2api.h"
+#include "2return_codes.h"
+#include "host_misc.h"
+#include "flashrom.h"
+#include "subprocess.h"
+
+#define FLASHROM_EXEC_NAME "flashrom"
+
+/**
+ * Helper to create a temporary file, and optionally write some data
+ * into it.
+ *
+ * @param data         If data needs to be written to the file, a
+ *                     pointer to the buffer.  Pass NULL to just
+ *                     create an empty temporary file.
+ * @param data_size    The size of the buffer to write, if applicable.
+ * @param path_out     An output pointer for the filename.  Caller
+ *                     should free.
+ *
+ * @return VB2_SUCCESS on success, or a relevant error.
+ */
+static vb2_error_t write_temp_file(const uint8_t *data, uint32_t data_size,
+                                  char **path_out)
+{
+       int fd;
+       ssize_t write_rv;
+       vb2_error_t rv;
+       char *path;
+       mode_t umask_save;
+
+#if defined(__FreeBSD__)
+#define P_tmpdir "/tmp"
+#endif
+
+       *path_out = NULL;
+       path = strdup(P_tmpdir "/vb2_flashrom.XXXXXX");
+
+       /* Set the umask before mkstemp for security considerations. */
+       umask_save = umask(077);
+       fd = mkstemp(path);
+       umask(umask_save);
+       if (fd < 0) {
+               rv = VB2_ERROR_WRITE_FILE_OPEN;
+               goto fail;
+       }
+
+       while (data && data_size > 0) {
+               write_rv = write(fd, data, data_size);
+               if (write_rv < 0) {
+                       close(fd);
+                       unlink(path);
+                       rv = VB2_ERROR_WRITE_FILE_DATA;
+                       goto fail;
+               }
+
+               data_size -= write_rv;
+               data += write_rv;
+       }
+
+       close(fd);
+       *path_out = path;
+       return VB2_SUCCESS;
+
+ fail:
+       free(path);
+       return rv;
+}
+
+static vb2_error_t run_flashrom(const char *const argv[])
+{
+       int status = subprocess_run(argv, &subprocess_null, &subprocess_null,
+                                   &subprocess_null);
+       if (status) {
+               fprintf(stderr, "Flashrom invocation failed (exit status %d):",
+                       status);
+
+               for (const char *const *argp = argv; *argp; argp++)
+                       fprintf(stderr, " %s", *argp);
+
+               fprintf(stderr, "\n");
+               return VB2_ERROR_FLASHROM;
+       }
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t flashrom_read(const char *programmer, const char *region,
+                         uint8_t **data_out, uint32_t *size_out)
+{
+       char *tmpfile;
+       char region_param[PATH_MAX];
+       vb2_error_t rv;
+
+       *data_out = NULL;
+       *size_out = 0;
+
+       VB2_TRY(write_temp_file(NULL, 0, &tmpfile));
+
+       if (region)
+               snprintf(region_param, sizeof(region_param), "%s:%s", region,
+                        tmpfile);
+
+       const char *const argv[] = {
+               FLASHROM_EXEC_NAME,
+               "-p",
+               programmer,
+               "-r",
+               region ? "-i" : tmpfile,
+               region ? region_param : NULL,
+               NULL,
+       };
+
+       rv = run_flashrom(argv);
+       if (rv == VB2_SUCCESS)
+               rv = vb2_read_file(tmpfile, data_out, size_out);
+
+       unlink(tmpfile);
+       free(tmpfile);
+       return rv;
+}
+
+vb2_error_t flashrom_write(const char *programmer, const char *region,
+                          uint8_t *data, uint32_t size)
+{
+       char *tmpfile;
+       char region_param[PATH_MAX];
+       vb2_error_t rv;
+
+       VB2_TRY(write_temp_file(data, size, &tmpfile));
+
+       if (region)
+               snprintf(region_param, sizeof(region_param), "%s:%s", region,
+                        tmpfile);
+
+       const char *const argv[] = {
+               FLASHROM_EXEC_NAME,
+               "-p",
+               programmer,
+               "--noverify-all",
+               "-w",
+               region ? "-i" : tmpfile,
+               region ? region_param : NULL,
+               NULL,
+       };
+
+       rv = run_flashrom(argv);
+       unlink(tmpfile);
+       free(tmpfile);
+       return rv;
+}
diff --git a/host/lib/fmap.c b/host/lib/fmap.c
new file mode 100644 (file)
index 0000000..2609064
--- /dev/null
@@ -0,0 +1,67 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+
+#include "fmap.h"
+
+static int is_fmap(uint8_t *ptr)
+{
+       FmapHeader *fmap_header = (FmapHeader *)ptr;
+
+       if (0 != memcmp(ptr, FMAP_SIGNATURE, FMAP_SIGNATURE_SIZE))
+               return 0;
+
+       if (fmap_header->fmap_ver_major == FMAP_VER_MAJOR)
+               return 1;
+
+       fprintf(stderr, "Found FMAP, but major version is %u instead of %u\n",
+               fmap_header->fmap_ver_major, FMAP_VER_MAJOR);
+       return 0;
+}
+
+/* Find and point to the FMAP header within the buffer */
+FmapHeader *fmap_find(uint8_t *ptr, size_t size)
+{
+       ssize_t offset, align;
+       ssize_t lim = size - sizeof(FmapHeader);
+
+       if (lim >= 0 && is_fmap(ptr))
+               return (FmapHeader *)ptr;
+
+       /* Search large alignments before small ones to find "right" FMAP. */
+       for (align = FMAP_SEARCH_STRIDE; align <= lim; align *= 2);
+       for (; align >= FMAP_SEARCH_STRIDE; align /= 2)
+               for (offset = align; offset <= lim; offset += align * 2)
+                       if (is_fmap(ptr + offset))
+                               return (FmapHeader *)(ptr + offset);
+
+       return NULL;
+}
+
+/* Search for an area by name, return pointer to its beginning */
+uint8_t *fmap_find_by_name(uint8_t *ptr, size_t size, FmapHeader *fmap,
+                          const char *name, FmapAreaHeader **ah_ptr)
+{
+       int i;
+       FmapAreaHeader *ah;
+
+       if (!fmap)
+               fmap = fmap_find(ptr, size);
+       if (!fmap)
+               return NULL;
+
+       ah = (FmapAreaHeader*)((void *)fmap + sizeof(FmapHeader));
+       for (i = 0; i < fmap->fmap_nareas; i++)
+               if (!strncmp(ah[i].area_name, name, FMAP_NAMELEN)) {
+                       if (ah_ptr)
+                               *ah_ptr = ah + i;
+                       return ptr + ah[i].area_offset;
+               }
+
+       return NULL;
+}
diff --git a/host/lib/host_common.c b/host/lib/host_common.c
new file mode 100644 (file)
index 0000000..82a5954
--- /dev/null
@@ -0,0 +1,154 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host functions for verified boot.
+ */
+
+#include <string.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_key21.h"
+
+struct vb2_fw_preamble *vb2_create_fw_preamble(
+       uint32_t firmware_version,
+       const struct vb2_packed_key *kernel_subkey,
+       const struct vb2_signature *body_signature,
+       const struct vb2_private_key *signing_key,
+       uint32_t flags)
+{
+       uint32_t signed_size = (sizeof(struct vb2_fw_preamble) +
+                               kernel_subkey->key_size +
+                               body_signature->sig_size);
+       uint32_t block_size = signed_size +
+               vb2_rsa_sig_size(signing_key->sig_alg);
+
+       /* Allocate keyblock */
+       struct vb2_fw_preamble *h =
+               (struct vb2_fw_preamble *)calloc(block_size, 1);
+       if (!h)
+               return NULL;
+
+       uint8_t *kernel_subkey_dest = (uint8_t *)(h + 1);
+       uint8_t *body_sig_dest = kernel_subkey_dest + kernel_subkey->key_size;
+       uint8_t *block_sig_dest = body_sig_dest + body_signature->sig_size;
+
+       h->header_version_major = VB2_FIRMWARE_PREAMBLE_HEADER_VERSION_MAJOR;
+       h->header_version_minor = VB2_FIRMWARE_PREAMBLE_HEADER_VERSION_MINOR;
+       h->preamble_size = block_size;
+       h->firmware_version = firmware_version;
+       h->flags = flags;
+
+       /* Copy data key */
+       vb2_init_packed_key(&h->kernel_subkey, kernel_subkey_dest,
+                           kernel_subkey->key_size);
+       if (VB2_SUCCESS !=
+           vb2_copy_packed_key(&h->kernel_subkey, kernel_subkey)) {
+               free(h);
+               return NULL;
+       }
+
+       /* Copy body signature */
+       vb2_init_signature(&h->body_signature,
+                          body_sig_dest, body_signature->sig_size, 0);
+       if (VB2_SUCCESS !=
+           vb2_copy_signature(&h->body_signature, body_signature)) {
+               free(h);
+               return NULL;
+       }
+
+       /* Set up signature struct so we can calculate the signature */
+       vb2_init_signature(&h->preamble_signature, block_sig_dest,
+                          vb2_rsa_sig_size(signing_key->sig_alg), signed_size);
+
+       /* Calculate signature */
+       struct vb2_signature *sig =
+               vb2_calculate_signature((uint8_t *)h, signed_size, signing_key);
+       vb2_copy_signature(&h->preamble_signature, sig);
+       free(sig);
+
+       /* Return the header */
+       return h;
+}
+
+struct vb2_kernel_preamble *vb2_create_kernel_preamble(
+       uint32_t kernel_version,
+       uint64_t body_load_address,
+       uint64_t bootloader_address,
+       uint32_t bootloader_size,
+       const struct vb2_signature *body_signature,
+       uint64_t vmlinuz_header_address,
+       uint32_t vmlinuz_header_size,
+       uint32_t flags,
+       uint32_t desired_size,
+       const struct vb2_private_key *signing_key)
+{
+       uint64_t signed_size = (sizeof(struct vb2_kernel_preamble) +
+                               body_signature->sig_size);
+       uint32_t sig_size = vb2_rsa_sig_size(signing_key->sig_alg);
+       uint32_t block_size = signed_size + sig_size;
+
+       /* If the block size is smaller than the desired size, pad it */
+       if (block_size < desired_size)
+               block_size = desired_size;
+
+       /* Allocate keyblock */
+       struct vb2_kernel_preamble *h =
+               (struct vb2_kernel_preamble *)calloc(block_size, 1);
+       if (!h)
+               return NULL;
+
+       uint8_t *body_sig_dest = (uint8_t *)(h + 1);
+       uint8_t *block_sig_dest = body_sig_dest + body_signature->sig_size;
+
+       h->header_version_major = VB2_KERNEL_PREAMBLE_HEADER_VERSION_MAJOR;
+       h->header_version_minor = VB2_KERNEL_PREAMBLE_HEADER_VERSION_MINOR;
+       h->preamble_size = block_size;
+       h->kernel_version = kernel_version;
+       h->body_load_address = body_load_address;
+       h->bootloader_address = bootloader_address;
+       h->bootloader_size = bootloader_size;
+       h->vmlinuz_header_address = vmlinuz_header_address;
+       h->vmlinuz_header_size = vmlinuz_header_size;
+       h->flags = flags;
+
+       /* Copy body signature */
+       vb2_init_signature(&h->body_signature, body_sig_dest,
+                          body_signature->sig_size, 0);
+       vb2_copy_signature(&h->body_signature, body_signature);
+
+       /* Set up signature struct so we can calculate the signature */
+       vb2_init_signature(&h->preamble_signature, block_sig_dest,
+                          sig_size, signed_size);
+
+       /* Calculate signature */
+       struct vb2_signature *sigtmp =
+               vb2_calculate_signature((uint8_t *)h, signed_size, signing_key);
+       vb2_copy_signature(&h->preamble_signature, sigtmp);
+       free(sigtmp);
+
+       /* Return the header */
+       return h;
+}
+
+void vb2_kernel_get_vmlinuz_header(const struct vb2_kernel_preamble *preamble,
+                                  uint64_t *vmlinuz_header_address,
+                                  uint32_t *vmlinuz_header_size)
+{
+       if (preamble->header_version_minor < 1) {
+               *vmlinuz_header_address = 0;
+               *vmlinuz_header_size = 0;
+       } else {
+               /*
+                * Set header and size only if the preamble header version is >
+                * 2.1 as they don't exist in version 2.0 (Note that we don't
+                * need to check header_version_major; if that's not 2 then
+                * vb2_verify_kernel_preamble() would have already failed.
+                */
+               *vmlinuz_header_address = preamble->vmlinuz_header_address;
+               *vmlinuz_header_size = preamble->vmlinuz_header_size;
+       }
+}
diff --git a/host/lib/host_key2.c b/host/lib/host_key2.c
new file mode 100644 (file)
index 0000000..e2e3f31
--- /dev/null
@@ -0,0 +1,328 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host functions for keys.
+ */
+
+#include <openssl/pem.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_key21.h"
+#include "host_key.h"
+#include "host_misc.h"
+
+enum vb2_crypto_algorithm vb2_get_crypto_algorithm(
+       enum vb2_hash_algorithm hash_alg,
+       enum vb2_signature_algorithm sig_alg)
+{
+       /* Make sure algorithms are in the range supported by crypto alg */
+       if (sig_alg < VB2_SIG_RSA1024 || sig_alg >= VB2_SIG_ALG_COUNT)
+               return VB2_ALG_COUNT;
+       if (hash_alg < VB2_HASH_SHA1 || hash_alg > VB2_HASH_SHA512)
+               return VB2_ALG_COUNT;
+
+       return (sig_alg - VB2_SIG_RSA1024)
+               * (VB2_HASH_SHA512 - VB2_HASH_SHA1 + 1)
+               + (hash_alg - VB2_HASH_SHA1);
+};
+
+struct vb2_private_key *vb2_read_private_key(const char *filename)
+{
+       uint8_t *buf = NULL;
+       uint32_t bufsize = 0;
+       if (VB2_SUCCESS != vb2_read_file(filename, &buf, &bufsize)) {
+               VB2_DEBUG("unable to read from file %s\n", filename);
+               return NULL;
+       }
+
+       struct vb2_private_key *key =
+               (struct vb2_private_key *)calloc(sizeof(*key), 1);
+       if (!key) {
+               VB2_DEBUG("Unable to allocate private key\n");
+               free(buf);
+               return NULL;
+       }
+
+       uint64_t alg = *(uint64_t *)buf;
+       key->hash_alg = vb2_crypto_to_hash(alg);
+       key->sig_alg = vb2_crypto_to_signature(alg);
+       const unsigned char *start = buf + sizeof(alg);
+
+       key->rsa_private_key =
+               d2i_RSAPrivateKey(0, &start, bufsize - sizeof(alg));
+
+       if (!key->rsa_private_key) {
+               VB2_DEBUG("Unable to parse RSA private key\n");
+               free(buf);
+               free(key);
+               return NULL;
+       }
+
+       free(buf);
+       return key;
+}
+
+struct vb2_private_key *vb2_read_private_key_pem(
+       const char* filename,
+       enum vb2_crypto_algorithm algorithm)
+{
+       if (algorithm >= VB2_ALG_COUNT) {
+               VB2_DEBUG("%s() called with invalid algorithm!\n",
+                         __FUNCTION__);
+               return NULL;
+       }
+
+       /* Read private key */
+       FILE *f = fopen(filename, "r");
+       if (!f) {
+               VB2_DEBUG("%s(): Couldn't open key file: %s\n",
+                         __FUNCTION__, filename);
+               return NULL;
+       }
+       struct rsa_st *rsa_key = PEM_read_RSAPrivateKey(f, NULL, NULL, NULL);
+       fclose(f);
+       if (!rsa_key) {
+               VB2_DEBUG("%s(): Couldn't read private key from file: %s\n",
+                        __FUNCTION__, filename);
+               return NULL;
+       }
+
+       /* Store key and algorithm in our struct */
+       struct vb2_private_key *key =
+               (struct vb2_private_key *)calloc(sizeof(*key), 1);
+       if (!key) {
+               RSA_free(rsa_key);
+               return NULL;
+       }
+       key->rsa_private_key = rsa_key;
+       key->hash_alg = vb2_crypto_to_hash(algorithm);
+       key->sig_alg = vb2_crypto_to_signature(algorithm);
+
+       /* Return the key */
+       return key;
+}
+
+void vb2_free_private_key(struct vb2_private_key *key)
+{
+       if (!key)
+               return;
+       if (key->rsa_private_key)
+               RSA_free(key->rsa_private_key);
+       free(key);
+}
+
+vb2_error_t vb2_write_private_key(const char *filename,
+                                 const struct vb2_private_key *key)
+{
+       /* Convert back to legacy vb1 algorithm enum */
+       uint64_t alg = vb2_get_crypto_algorithm(key->hash_alg, key->sig_alg);
+       if (alg == VB2_ALG_COUNT) {
+               fprintf(stderr, "Can't find crypto algorithm\n");
+               return VB2_ERROR_VB1_CRYPTO_ALGORITHM;
+       }
+
+       uint8_t *outbuf = NULL;
+       int buflen = i2d_RSAPrivateKey(key->rsa_private_key, &outbuf);
+       if (buflen <= 0) {
+               fprintf(stderr, "Unable to write private key buffer\n");
+               return VB2_ERROR_PRIVATE_KEY_WRITE_RSA;
+       }
+
+       FILE *f = fopen(filename, "wb");
+       if (!f) {
+               fprintf(stderr, "Unable to open file %s\n", filename);
+               free(outbuf);
+               return VB2_ERROR_PRIVATE_KEY_WRITE_FILE;
+       }
+
+       if (1 != fwrite(&alg, sizeof(alg), 1, f) ||
+           1 != fwrite(outbuf, buflen, 1, f)) {
+               fprintf(stderr, "Unable to write to file %s\n", filename);
+               fclose(f);
+               unlink(filename);  /* Delete any partial file */
+               free(outbuf);
+               return VB2_ERROR_PRIVATE_KEY_WRITE_FILE;
+       }
+
+       fclose(f);
+       free(outbuf);
+       return VB2_SUCCESS;
+}
+
+void vb2_init_packed_key(struct vb2_packed_key *key, uint8_t *key_data,
+                        uint32_t key_size)
+{
+       memset(key, 0, sizeof(*key));
+       key->key_offset = vb2_offset_of(key, key_data);
+       key->key_size = key_size;
+       key->algorithm = VB2_ALG_COUNT; /* Key not present yet */
+}
+
+struct vb2_packed_key *vb2_alloc_packed_key(uint32_t key_size,
+                                           uint32_t algorithm,
+                                           uint32_t version)
+{
+       struct vb2_packed_key *key =
+               (struct vb2_packed_key *)calloc(sizeof(*key) + key_size, 1);
+       if (!key)
+               return NULL;
+
+       key->algorithm = algorithm;
+       key->key_version = version;
+       key->key_size = key_size;
+       key->key_offset = sizeof(*key);
+       return key;
+}
+
+vb2_error_t vb2_copy_packed_key(struct vb2_packed_key *dest,
+                               const struct vb2_packed_key *src)
+{
+       if (dest->key_size < src->key_size)
+               return VB2_ERROR_COPY_KEY_SIZE;
+
+       dest->key_size = src->key_size;
+       dest->algorithm = src->algorithm;
+       dest->key_version = src->key_version;
+       memcpy(vb2_packed_key_data_mutable(dest),
+              vb2_packed_key_data(src),
+              src->key_size);
+       return VB2_SUCCESS;
+}
+
+struct vb2_packed_key *vb2_read_packed_key(const char *filename)
+{
+       struct vb2_packed_key *key = NULL;
+       uint32_t file_size = 0;
+
+       if (VB2_SUCCESS !=
+           vb2_read_file(filename, (uint8_t **)&key, &file_size)) {
+               return NULL;
+       }
+
+       if (vb2_packed_key_looks_ok(key, file_size) == VB2_SUCCESS)
+               return key;
+
+       /* Error */
+       free(key);
+       return NULL;
+}
+
+struct vb2_packed_key *vb2_read_packed_keyb(const char *filename,
+                                           uint32_t algorithm,
+                                           uint32_t version)
+{
+       if (algorithm >= VB2_ALG_COUNT) {
+               fprintf(stderr, "%s() - invalid algorithm\n", __func__);
+               return NULL;
+       }
+       if (version > VB2_MAX_KEY_VERSION) {
+               /* Currently, TPM only supports 16-bit version */
+               fprintf(stderr, "%s() - invalid version %#x\n", __func__,
+                       version);
+               return NULL;
+       }
+
+       uint8_t *key_data = NULL;
+       uint32_t key_size = 0;
+       if (VB2_SUCCESS != vb2_read_file(filename, &key_data, &key_size))
+               return NULL;
+
+       uint32_t expected_key_size =
+                       vb2_packed_key_size(vb2_crypto_to_signature(algorithm));
+       if (!expected_key_size || expected_key_size != key_size) {
+               fprintf(stderr, "%s() - wrong key size %u for algorithm %u\n",
+                       __func__, key_size, algorithm);
+               free(key_data);
+               return NULL;
+       }
+
+       struct vb2_packed_key *key =
+               vb2_alloc_packed_key(key_size, algorithm, version);
+       if (!key) {
+               free(key_data);
+               return NULL;
+       }
+       memcpy(vb2_packed_key_data_mutable(key), key_data, key_size);
+
+       free(key_data);
+       return key;
+}
+
+vb2_error_t vb2_write_packed_key(const char *filename,
+                                const struct vb2_packed_key *key)
+{
+       /* Copy the key, so its data is contiguous with the header */
+       struct vb2_packed_key *kcopy =
+               vb2_alloc_packed_key(key->key_size, 0, 0);
+       if (!kcopy)
+               return VB2_ERROR_PACKED_KEY_ALLOC;
+       if (VB2_SUCCESS != vb2_copy_packed_key(kcopy, key)) {
+               free(kcopy);
+               return VB2_ERROR_PACKED_KEY_COPY;
+       }
+
+       /* Write the copy, then free it */
+       vb2_error_t rv = vb2_write_file(filename, kcopy,
+                               kcopy->key_offset + kcopy->key_size);
+       free(kcopy);
+       return rv;
+}
+
+vb2_error_t vb2_packed_key_looks_ok(const struct vb2_packed_key *key,
+                                   uint32_t size)
+{
+       struct vb2_public_key pubkey;
+       vb2_error_t rv;
+
+       rv = vb2_unpack_key_buffer(&pubkey, (const uint8_t *)key, size);
+       if (rv)
+               return rv;
+
+       if (key->key_version > VB2_MAX_KEY_VERSION) {
+               /* Currently, TPM only supports 16-bit version */
+               VB2_DEBUG("packed key invalid version\n");
+               return VB2_ERROR_PACKED_KEY_VERSION;
+       }
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_unpack_key_data(struct vb2_public_key *key,
+                               const uint8_t *key_data, uint32_t key_size)
+{
+       const uint32_t *buf32 = (const uint32_t *)key_data;
+       uint32_t expected_key_size = vb2_packed_key_size(key->sig_alg);
+
+       /* Make sure buffer is the correct length */
+       if (!expected_key_size || expected_key_size != key_size) {
+               VB2_DEBUG("Wrong key size for algorithm\n");
+               return VB2_ERROR_UNPACK_KEY_SIZE;
+       }
+
+       /* Check for alignment */
+       if (!vb2_aligned(buf32, sizeof(uint32_t)))
+               return VB2_ERROR_UNPACK_KEY_ALIGN;
+
+       key->arrsize = buf32[0];
+
+       /* Validity check key array size */
+       if (key->arrsize * sizeof(uint32_t) != vb2_rsa_sig_size(key->sig_alg))
+               return VB2_ERROR_UNPACK_KEY_ARRAY_SIZE;
+
+       key->n0inv = buf32[1];
+
+       /* Arrays point inside the key data */
+       key->n = buf32 + 2;
+       key->rr = buf32 + 2 + key->arrsize;
+
+       return VB2_SUCCESS;
+}
diff --git a/host/lib/host_keyblock.c b/host/lib/host_keyblock.c
new file mode 100644 (file)
index 0000000..e5634ce
--- /dev/null
@@ -0,0 +1,173 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host functions for verified boot.
+ */
+
+#include <stdio.h>
+
+#include "2sysincludes.h"
+
+#include "2api.h"
+#include "2common.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "host_common.h"
+#include "host_key21.h"
+#include "host_keyblock.h"
+#include "host_key.h"
+
+struct vb2_keyblock *vb2_create_keyblock(
+               const struct vb2_packed_key *data_key,
+               const struct vb2_private_key *signing_key,
+               uint32_t flags)
+{
+       /* Allocate keyblock */
+       uint32_t signed_size = sizeof(struct vb2_keyblock) + data_key->key_size;
+       uint32_t sig_data_size =
+               (signing_key ? vb2_rsa_sig_size(signing_key->sig_alg) : 0);
+       uint32_t block_size =
+               signed_size + VB2_SHA512_DIGEST_SIZE + sig_data_size;
+       struct vb2_keyblock *h = (struct vb2_keyblock *)calloc(block_size, 1);
+       if (!h)
+               return NULL;
+
+       uint8_t *data_key_dest = (uint8_t *)(h + 1);
+       uint8_t *block_chk_dest = data_key_dest + data_key->key_size;
+       uint8_t *block_sig_dest = block_chk_dest + VB2_SHA512_DIGEST_SIZE;
+
+       memcpy(h->magic, VB2_KEYBLOCK_MAGIC, VB2_KEYBLOCK_MAGIC_SIZE);
+       h->header_version_major = VB2_KEYBLOCK_VERSION_MAJOR;
+       h->header_version_minor = VB2_KEYBLOCK_VERSION_MINOR;
+       h->keyblock_size = block_size;
+       h->keyblock_flags = flags;
+
+       /* Copy data key */
+       vb2_init_packed_key(&h->data_key, data_key_dest, data_key->key_size);
+       vb2_copy_packed_key(&h->data_key, data_key);
+
+       /* Set up signature structs so we can calculate the signatures */
+       vb2_init_signature(&h->keyblock_hash, block_chk_dest,
+                          VB2_SHA512_DIGEST_SIZE, signed_size);
+       if (signing_key) {
+               vb2_init_signature(&h->keyblock_signature, block_sig_dest,
+                                  sig_data_size, signed_size);
+       } else {
+               memset(&h->keyblock_signature, 0,
+                      sizeof(h->keyblock_signature));
+       }
+
+       /* Calculate hash */
+       struct vb2_signature *chk =
+               vb2_sha512_signature((uint8_t*)h, signed_size);
+       vb2_copy_signature(&h->keyblock_hash, chk);
+       free(chk);
+
+       /* Calculate signature */
+       if (signing_key) {
+               struct vb2_signature *sigtmp =
+                       vb2_calculate_signature((uint8_t*)h,
+                                               signed_size,
+                                               signing_key);
+               vb2_copy_signature(&h->keyblock_signature, sigtmp);
+               free(sigtmp);
+       }
+
+       /* Return the header */
+       return h;
+}
+
+/* TODO(gauravsh): This could easily be integrated into the function above
+ * since the code is almost a mirror - I have kept it as such to avoid changing
+ * the existing interface. */
+struct vb2_keyblock *vb2_create_keyblock_external(
+               const struct vb2_packed_key *data_key,
+               const char *signing_key_pem_file,
+               uint32_t algorithm,
+               uint32_t flags,
+               const char *external_signer)
+{
+       if (!signing_key_pem_file || !data_key || !external_signer)
+               return NULL;
+
+       uint32_t signed_size = sizeof(struct vb2_keyblock) + data_key->key_size;
+       uint32_t sig_data_size = vb2_rsa_sig_size(vb2_crypto_to_signature(algorithm));
+       uint32_t block_size =
+               signed_size + VB2_SHA512_DIGEST_SIZE + sig_data_size;
+
+       /* Allocate keyblock */
+       struct vb2_keyblock *h = (struct vb2_keyblock *)calloc(block_size, 1);
+       if (!h)
+               return NULL;
+
+       uint8_t *data_key_dest = (uint8_t *)(h + 1);
+       uint8_t *block_chk_dest = data_key_dest + data_key->key_size;
+       uint8_t *block_sig_dest = block_chk_dest + VB2_SHA512_DIGEST_SIZE;
+
+       memcpy(h->magic, VB2_KEYBLOCK_MAGIC, VB2_KEYBLOCK_MAGIC_SIZE);
+       h->header_version_major = VB2_KEYBLOCK_VERSION_MAJOR;
+       h->header_version_minor = VB2_KEYBLOCK_VERSION_MINOR;
+       h->keyblock_size = block_size;
+       h->keyblock_flags = flags;
+
+       /* Copy data key */
+       vb2_init_packed_key(&h->data_key, data_key_dest, data_key->key_size);
+       vb2_copy_packed_key(&h->data_key, data_key);
+
+       /* Set up signature structs so we can calculate the signatures */
+       vb2_init_signature(&h->keyblock_hash, block_chk_dest,
+                          VB2_SHA512_DIGEST_SIZE, signed_size);
+       vb2_init_signature(&h->keyblock_signature, block_sig_dest,
+                          sig_data_size, signed_size);
+
+       /* Calculate checksum */
+       struct vb2_signature *chk =
+               vb2_sha512_signature((uint8_t*)h, signed_size);
+       vb2_copy_signature(&h->keyblock_hash, chk);
+       free(chk);
+
+       /* Calculate signature */
+       struct vb2_signature *sigtmp =
+               vb2_external_signature((uint8_t*)h, signed_size,
+                                      signing_key_pem_file, algorithm,
+                                      external_signer);
+       vb2_copy_signature(&h->keyblock_signature, sigtmp);
+       free(sigtmp);
+
+       /* Return the header */
+       return h;
+}
+
+struct vb2_keyblock *vb2_read_keyblock(const char *filename)
+{
+       uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+               __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       struct vb2_keyblock *block;
+       uint32_t file_size;
+       if (VB2_SUCCESS !=
+           vb2_read_file(filename, (uint8_t **)&block, &file_size)) {
+               fprintf(stderr, "Error reading keyblock file: %s\n", filename);
+               return NULL;
+       }
+
+       /* Verify the hash of the keyblock, since we can do that without
+        * the public signing key. */
+       if (VB2_SUCCESS != vb2_verify_keyblock_hash(block, file_size, &wb)) {
+               fprintf(stderr, "Invalid keyblock file: %s\n", filename);
+               free(block);
+               return NULL;
+       }
+
+       return block;
+}
+
+
+int vb2_write_keyblock(const char *filename,
+                      const struct vb2_keyblock *keyblock)
+{
+       return vb2_write_file(filename, keyblock, keyblock->keyblock_size);
+}
diff --git a/host/lib/host_misc.c b/host/lib/host_misc.c
new file mode 100644 (file)
index 0000000..4b6c863
--- /dev/null
@@ -0,0 +1,118 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host functions for verified boot.
+ */
+
+/* TODO: change all 'return 0', 'return 1' into meaningful return codes */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "host_common.h"
+
+char* StrCopy(char* dest, const char* src, int dest_size)
+{
+       strncpy(dest, src, dest_size);
+       dest[dest_size - 1] = '\0';
+       return dest;
+}
+
+uint8_t* ReadFile(const char* filename, uint64_t* sizeptr)
+{
+       FILE* f;
+       uint8_t* buf;
+       long size;
+
+       f = fopen(filename, "rb");
+       if (!f) {
+               fprintf(stderr, "Unable to open file %s\n", filename);
+               return NULL;
+       }
+
+       fseek(f, 0, SEEK_END);
+       size = ftell(f);
+       if (size < 0) {
+               fclose(f);
+               return NULL;
+       }
+       rewind(f);
+
+       buf = malloc(size);
+       if (!buf) {
+               fclose(f);
+               return NULL;
+       }
+
+       if(1 != fread(buf, size, 1, f)) {
+               fprintf(stderr, "Unable to read from file %s\n", filename);
+               fclose(f);
+               free(buf);
+               return NULL;
+       }
+
+       fclose(f);
+       if (sizeptr)
+               *sizeptr = size;
+       return buf;
+}
+
+char* ReadFileString(char* dest, int size, const char* filename)
+{
+       char* got;
+       FILE* f;
+
+       f = fopen(filename, "rt");
+       if (!f)
+               return NULL;
+
+       got = fgets(dest, size, f);
+       fclose(f);
+       return got;
+}
+
+int ReadFileInt(const char* filename, unsigned* value)
+{
+       char buf[64];
+       char* e = NULL;
+
+       if (!ReadFileString(buf, sizeof(buf), filename))
+               return -1;
+
+       /* Convert to integer.  Allow characters after the int ("123 blah"). */
+       *value = (unsigned)strtoul(buf, &e, 0);
+       if (e == buf)
+               return -1;  /* No characters consumed, so conversion failed */
+
+       return 0;
+}
+
+int ReadFileBit(const char* filename, int bitmask)
+{
+       unsigned value;
+       if (ReadFileInt(filename, &value) < 0)
+               return -1;
+       else return (value & bitmask ? 1 : 0);
+}
+
+vb2_error_t WriteFile(const char* filename, const void *data, uint64_t size)
+{
+       FILE *f = fopen(filename, "wb");
+       if (!f) {
+               fprintf(stderr, "Unable to open file %s\n", filename);
+               return 1;
+       }
+
+       if (1 != fwrite(data, size, 1, f)) {
+               fprintf(stderr, "Unable to write to file %s\n", filename);
+               fclose(f);
+               unlink(filename);  /* Delete any partial file */
+               return 1;
+       }
+
+       fclose(f);
+       return 0;
+}
diff --git a/host/lib/host_signature.c b/host/lib/host_signature.c
new file mode 100644 (file)
index 0000000..5b71d29
--- /dev/null
@@ -0,0 +1,171 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host functions for signature generation.
+ */
+
+/* TODO: change all 'return 0', 'return 1' into meaningful return codes */
+
+#include <openssl/rsa.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_signature21.h"
+
+/* Invoke [external_signer] command with [pem_file] as an argument, contents of
+ * [inbuf] passed redirected to stdin, and the stdout of the command is put
+ * back into [outbuf].  Returns -1 on error, 0 on success.
+ */
+static int sign_external(uint32_t size, const uint8_t *inbuf, uint8_t *outbuf,
+                        uint32_t outbufsize, const char *pem_file,
+                        const char *external_signer)
+{
+       int rv = 0, n;
+       int p_to_c[2], c_to_p[2];  /* pipe descriptors */
+       pid_t pid;
+
+       VB2_DEBUG("Will invoke \"%s %s\" to perform signing.\n"
+                "Input to the signer will be provided on standard in.\n"
+                "Output of the signer will be read from standard out.\n",
+                 external_signer, pem_file);
+
+       /* Need two pipes since we want to invoke the external_signer as
+        * a co-process writing to its stdin and reading from its stdout. */
+       if (pipe(p_to_c) < 0 || pipe(c_to_p) < 0) {
+               VB2_DEBUG("pipe() error\n");
+               return -1;
+       }
+       if ((pid = fork()) < 0) {
+               VB2_DEBUG("fork() error\n");
+               return -1;
+       } else if (pid > 0) {  /* Parent. */
+               close(p_to_c[STDIN_FILENO]);
+               close(c_to_p[STDOUT_FILENO]);
+
+               /* We provide input to the child process (external signer). */
+               if (write(p_to_c[STDOUT_FILENO], inbuf, size) != size) {
+                       VB2_DEBUG("write() error\n");
+                       rv = -1;
+               } else {
+                       /* Send EOF to child (signer process). */
+                       close(p_to_c[STDOUT_FILENO]);
+
+                       do {
+                               n = read(c_to_p[STDIN_FILENO], outbuf,
+                                        outbufsize);
+                               outbuf += n;
+                               outbufsize -= n;
+                       } while (n > 0 && outbufsize);
+
+                       if (n < 0) {
+                               VB2_DEBUG("read() error\n");
+                               rv = -1;
+                       }
+               }
+               if (waitpid(pid, NULL, 0) < 0) {
+                       VB2_DEBUG("waitpid() error\n");
+                       rv = -1;
+               }
+       } else {  /* Child. */
+               close (p_to_c[STDOUT_FILENO]);
+               close (c_to_p[STDIN_FILENO]);
+               /* Map the stdin to the first pipe (this pipe gets input
+                * from the parent) */
+               if (STDIN_FILENO != p_to_c[STDIN_FILENO]) {
+                       if (dup2(p_to_c[STDIN_FILENO], STDIN_FILENO) !=
+                           STDIN_FILENO) {
+                               VB2_DEBUG("stdin dup2() failed\n");
+                               close(p_to_c[0]);
+                               return -1;
+                       }
+               }
+               /* Map the stdout to the second pipe (this pipe sends back
+                * signer output to the parent) */
+               if (STDOUT_FILENO != c_to_p[STDOUT_FILENO]) {
+                       if (dup2(c_to_p[STDOUT_FILENO], STDOUT_FILENO) !=
+                           STDOUT_FILENO) {
+                               VB2_DEBUG("stdout dup2() failed\n");
+                               close(c_to_p[STDOUT_FILENO]);
+                               return -1;
+                       }
+               }
+               /* External signer is invoked here. */
+               if (execl(external_signer, external_signer, pem_file,
+                         (char *) 0) < 0) {
+                       VB2_DEBUG("execl() of external signer failed\n");
+               }
+       }
+       return rv;
+}
+
+struct vb2_signature *vb2_external_signature(const uint8_t *data, uint32_t size,
+                                            const char *key_file,
+                                            uint32_t key_algorithm,
+                                            const char *external_signer)
+{
+       int vb2_alg = vb2_crypto_to_hash(key_algorithm);
+       uint8_t digest[VB2_MAX_DIGEST_SIZE];
+       int digest_size = vb2_digest_size(vb2_alg);
+
+       uint32_t digest_info_size = 0;
+       const uint8_t *digest_info = NULL;
+       if (VB2_SUCCESS != vb2_digest_info(vb2_alg,
+                                          &digest_info, &digest_info_size))
+               return NULL;
+
+
+       uint8_t *signature_digest;
+       uint64_t signature_digest_len = digest_size + digest_info_size;
+
+       int rv;
+
+       /* Calculate the digest */
+       if (VB2_SUCCESS != vb2_digest_buffer(data, size, vb2_alg,
+                                            digest, sizeof(digest)))
+               return NULL;
+
+       /* Prepend the digest info to the digest */
+       signature_digest = calloc(signature_digest_len, 1);
+       if (!signature_digest)
+               return NULL;
+
+       memcpy(signature_digest, digest_info, digest_info_size);
+       memcpy(signature_digest + digest_info_size, digest, digest_size);
+
+       /* Allocate output signature */
+       uint32_t sig_size =
+               vb2_rsa_sig_size(vb2_crypto_to_signature(key_algorithm));
+       struct vb2_signature *sig = vb2_alloc_signature(sig_size, size);
+       if (!sig) {
+               free(signature_digest);
+               return NULL;
+       }
+
+       /* Sign the signature_digest into our output buffer */
+       rv = sign_external(signature_digest_len,    /* Input length */
+                          signature_digest,        /* Input data */
+                          vb2_signature_data_mutable(sig),  /* Output sig */
+                          sig_size,                /* Max Output sig size */
+                          key_file,                /* Key file to use */
+                          external_signer);        /* External cmd to invoke */
+       free(signature_digest);
+
+       if (-1 == rv) {
+               VB2_DEBUG("RSA_private_encrypt() failed.\n");
+               free(sig);
+               return NULL;
+       }
+
+       /* Return the signature */
+       return sig;
+}
diff --git a/host/lib/host_signature2.c b/host/lib/host_signature2.c
new file mode 100644 (file)
index 0000000..b6cd652
--- /dev/null
@@ -0,0 +1,133 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host functions for signature generation.
+ */
+
+#include <openssl/rsa.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+#include "2sysincludes.h"
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "file_keys.h"
+#include "host_common.h"
+#include "host_key21.h"
+#include "host_signature21.h"
+
+struct vb2_signature *vb2_alloc_signature(uint32_t sig_size,
+                                         uint32_t data_size)
+{
+       struct vb2_signature *sig = (struct vb2_signature *)
+               calloc(sizeof(*sig) + sig_size, 1);
+       if (!sig)
+               return NULL;
+
+       sig->sig_offset = sizeof(*sig);
+       sig->sig_size = sig_size;
+       sig->data_size = data_size;
+
+       return sig;
+}
+
+void vb2_init_signature(struct vb2_signature *sig, uint8_t *sig_data,
+                       uint32_t sig_size, uint32_t data_size)
+{
+       memset(sig, 0, sizeof(*sig));
+       sig->sig_offset = vb2_offset_of(sig, sig_data);
+       sig->sig_size = sig_size;
+       sig->data_size = data_size;
+}
+
+vb2_error_t vb2_copy_signature(struct vb2_signature *dest,
+                              const struct vb2_signature *src)
+{
+       if (dest->sig_size < src->sig_size)
+               return VB2_ERROR_SIG_SIZE;
+
+       dest->sig_size = src->sig_size;
+       dest->data_size = src->data_size;
+
+       memcpy(vb2_signature_data_mutable(dest),
+              vb2_signature_data(src),
+              src->sig_size);
+
+       return VB2_SUCCESS;
+}
+
+struct vb2_signature *vb2_sha512_signature(const uint8_t *data, uint32_t size)
+{
+       uint8_t digest[VB2_SHA512_DIGEST_SIZE];
+       if (VB2_SUCCESS != vb2_digest_buffer(data, size, VB2_HASH_SHA512,
+                                            digest, sizeof(digest)))
+               return NULL;
+
+       struct vb2_signature *sig =
+               vb2_alloc_signature(VB2_SHA512_DIGEST_SIZE, size);
+       if (!sig)
+               return NULL;
+
+       memcpy(vb2_signature_data_mutable(sig), digest, VB2_SHA512_DIGEST_SIZE);
+       return sig;
+}
+
+struct vb2_signature *vb2_calculate_signature(
+               const uint8_t *data, uint32_t size,
+               const struct vb2_private_key *key)
+{
+       uint8_t digest[VB2_MAX_DIGEST_SIZE];
+       uint32_t digest_size = vb2_digest_size(key->hash_alg);
+
+       uint32_t digest_info_size = 0;
+       const uint8_t *digest_info = NULL;
+       if (VB2_SUCCESS != vb2_digest_info(key->hash_alg,
+                                          &digest_info, &digest_info_size))
+               return NULL;
+
+       /* Calculate the digest */
+       if (VB2_SUCCESS != vb2_digest_buffer(data, size, key->hash_alg,
+                                            digest, digest_size))
+               return NULL;
+
+       /* Prepend the digest info to the digest */
+       int signature_digest_len = digest_size + digest_info_size;
+       uint8_t *signature_digest = malloc(signature_digest_len);
+       if (!signature_digest)
+               return NULL;
+
+       memcpy(signature_digest, digest_info, digest_info_size);
+       memcpy(signature_digest + digest_info_size, digest, digest_size);
+
+       /* Allocate output signature */
+       struct vb2_signature *sig = (struct vb2_signature *)
+               vb2_alloc_signature(vb2_rsa_sig_size(key->sig_alg), size);
+       if (!sig) {
+               free(signature_digest);
+               return NULL;
+       }
+
+       /* Sign the signature_digest into our output buffer */
+       int rv = RSA_private_encrypt(signature_digest_len,    /* Input length */
+                                    signature_digest,        /* Input data */
+                                    vb2_signature_data_mutable(sig),  /* Output sig */
+                                    key->rsa_private_key,    /* Key to use */
+                                    RSA_PKCS1_PADDING);      /* Padding */
+       free(signature_digest);
+
+       if (-1 == rv) {
+               fprintf(stderr, "%s: RSA_private_encrypt() failed\n", __func__);
+               free(sig);
+               return NULL;
+       }
+
+       /* Return the signature */
+       return sig;
+}
diff --git a/host/lib/include/chromeos_config.h b/host/lib/include/chromeos_config.h
new file mode 100644 (file)
index 0000000..e83570e
--- /dev/null
@@ -0,0 +1,56 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_CHROMEOS_CONFIG_H_
+#define VBOOT_REFERENCE_CHROMEOS_CONFIG_H_
+
+#include <stdbool.h>
+#include <stdint.h>
+
+#include "2common.h"
+#include "2return_codes.h"
+
+/**
+ * Get a value from the model configuration on the device as a string.
+ *
+ * Note: this function allocates memory by its use of vb2_read_file, and relies
+ * on the caller to free the allocated memory. The output parameter will be set
+ * to NULL upon failure, so free can be safely called on this parameter.
+ *
+ * @param path          The path in the config schema to the object containing
+ *                      the requested property.
+ * @param property      The name of the requested property.
+ * @param val_out       Output parameter which gets assigned to a
+ *                      null-terminated string.
+ * @return VB2_SUCCESS on success, or a relevant error upon error.
+ */
+vb2_error_t chromeos_config_get_string(const char *path, const char *property,
+                                      char **val_out);
+
+/**
+ * Get a value from the model configuration on the device as a boolean.
+ *
+ * @param path          The path in the config schema to the object containing
+ *                      the requested property.
+ * @param property      The name of the requested property.
+ * @param val_out       Output parameter which gets assigned to a boolean.
+ * @return VB2_SUCCESS on success, or a relevant error upon error.
+ */
+vb2_error_t chromeos_config_get_boolean(const char *path, const char *property,
+                                       bool *val_out);
+
+/**
+ * Get a value from the model configuration on the device as an integer.
+ *
+ * @param path          The path in the config schema to the object containing
+ *                      the requested property.
+ * @param property      The name of the requested property.
+ * @param val_out       Output parameter which gets assigned to an integer.
+ * @return VB2_SUCCESS on success, or a relevant error upon error.
+ */
+vb2_error_t chromeos_config_get_integer(const char *path, const char *property,
+                                       int *val_out);
+
+#endif /* VBOOT_REFERENCE_CHROMEOS_CONFIG_H_ */
diff --git a/host/lib/include/crossystem_arch.h b/host/lib/include/crossystem_arch.h
new file mode 100644 (file)
index 0000000..6b94d44
--- /dev/null
@@ -0,0 +1,96 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Architecture-specific APIs for crossystem
+ */
+
+#ifndef VBOOT_REFERENCE_CROSSYSTEM_ARCH_H_
+#define VBOOT_REFERENCE_CROSSYSTEM_ARCH_H_
+
+#include <stddef.h>
+
+#include "2sysincludes.h"
+#include "2api.h"
+#include "2nvstorage.h"
+#include "vboot_struct.h"
+
+/* Firmware types from BINF.3. Placed in the common file because both x86 and
+ * arm use this. The constants are defined in "Chrome OS Main Processor
+ * Firmware Spec"
+ */
+#define BINF3_RECOVERY   0
+#define BINF3_NORMAL     1
+#define BINF3_DEVELOPER  2
+#define BINF3_NETBOOT    3
+#define BINF3_LEGACY     4
+
+
+/* INTERNAL APIS FOR CROSSYSTEM AVAILABLE TO ARCH-SPECIFIC FUNCTIONS */
+
+/* Read an integer property from VbNvStorage.
+ *
+ * Returns the parameter value, or -1 if error. */
+int vb2_get_nv_storage(enum vb2_nv_param param);
+
+/* Write an integer property to VbNvStorage.
+ *
+ * Returns 0 if success, -1 if error. */
+int vb2_set_nv_storage(enum vb2_nv_param param, int value);
+
+/* Return true if the FWID starts with the specified string. */
+int FwidStartsWith(const char *start);
+
+/* Return version of VbSharedData struct or -1 if not found. */
+int VbSharedDataVersion(void);
+
+/* Apis WITH ARCH-SPECIFIC IMPLEMENTATIONS */
+
+/* Read the non-volatile context from NVRAM.
+ *
+ * Returns 0 if success, -1 if error. */
+int vb2_read_nv_storage(struct vb2_context *ctx);
+
+/* Write the non-volatile context to NVRAM.
+ *
+ * Returns 0 if success, -1 if error. */
+int vb2_write_nv_storage(struct vb2_context *ctx);
+
+/* Read the VbSharedData buffer.
+ *
+ * Verifies the buffer contains at least enough data for the
+ * VbSharedDataHeader; if not, this is an error.
+ *
+ * If less data is read than expected, sets the returned structure's data_size
+ * to the actual amount of data read.  If this is less than data_used, then
+ * some data was not returned; callers must handle this; this is not considered
+ * an error.
+ *
+ * Returns the data buffer, which must be freed by the caller using
+ * free(), or NULL if error. */
+VbSharedDataHeader* VbSharedDataRead(void);
+
+/* Read an architecture-specific system property integer.
+ *
+ * Returns the property value, or -1 if error. */
+int VbGetArchPropertyInt(const char* name);
+
+/* Read an architecture-specific system property string into a
+ * destination buffer of the specified size.  Returned string will be
+ * null-terminated.  If the buffer is too small, the returned string
+ * will be truncated.
+ *
+ * Returns the passed buffer, or NULL if error. */
+const char* VbGetArchPropertyString(const char* name, char* dest, size_t size);
+
+/* Set an architecture-specific system property integer.
+ *
+ * Returns 0 if success, -1 if error. */
+int VbSetArchPropertyInt(const char* name, int value);
+
+/* Set an architecture-specific system property string.
+ *
+ * Returns 0 if success, -1 if error. */
+int VbSetArchPropertyString(const char* name, const char* value);
+
+#endif  /* VBOOT_REFERENCE_CROSSYSTEM_ARCH_H_ */
diff --git a/host/lib/include/file_keys.h b/host/lib/include/file_keys.h
new file mode 100644 (file)
index 0000000..8176cdb
--- /dev/null
@@ -0,0 +1,20 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Utility functions for file and key handling.
+ */
+
+#ifndef VBOOT_REFERENCE_FILE_KEYS_H_
+#define VBOOT_REFERENCE_FILE_KEYS_H_
+
+#include "2sha.h"
+
+/* Calculates the appropriate digest for the data in [input_file] based on the
+ * hash algorithm [alg] and stores it into [digest], which is of size
+ * [digest_size].  Returns VB2_SUCCESS, or non-zero on error.
+ */
+vb2_error_t DigestFile(char *input_file, enum vb2_hash_algorithm alg,
+                      uint8_t *digest, uint32_t digest_size);
+
+#endif  /* VBOOT_REFERENCE_FILE_KEYS_H_ */
diff --git a/host/lib/include/flashrom.h b/host/lib/include/flashrom.h
new file mode 100644 (file)
index 0000000..560fbb0
--- /dev/null
@@ -0,0 +1,50 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host utilites to execute flashrom command.
+ */
+
+#include <stdint.h>
+
+#include "2return_codes.h"
+
+#define FLASHROM_PROGRAMMER_INTERNAL_AP "host"
+#define FLASHROM_PROGRAMMER_INTERNAL_EC "ec"
+
+/**
+ * Read using flashrom into an allocated buffer.
+ *
+ * @param programmer   The name of the programmer to use.  There are
+ *                     named constants FLASHROM_PROGRAMMER_INTERNAL_AP
+ *                     and FLASHROM_PROGRAMMER_INTERNAL_EC available
+ *                     for the AP and EC respectively, or a custom
+ *                     programmer string can be provided.
+ * @param region       The name of the fmap region to read, or NULL to
+ *                     read the entire flash chip.
+ * @param data_out     Output parameter of allocated buffer to read into.
+ *                     The caller should free the buffer.
+ * @param size_out     Output parameter of buffer size.
+ *
+ * @return VB2_SUCCESS on success, or a relevant error.
+ */
+vb2_error_t flashrom_read(const char *programmer, const char *region,
+                         uint8_t **data_out, uint32_t *size_out);
+
+/**
+ * Write using flashrom from a buffer.
+ *
+ * @param programmer   The name of the programmer to use.  There are
+ *                     named constants FLASHROM_PROGRAMMER_INTERNAL_AP
+ *                     and FLASHROM_PROGRAMMER_INTERNAL_EC available
+ *                     for the AP and EC respectively, or a custom
+ *                     programmer string can be provided.
+ * @param region       The name of the fmap region to write, or NULL to
+ *                     write the entire flash chip.
+ * @param data         The buffer to write.
+ * @param size         The size of the buffer to write.
+ *
+ * @return VB2_SUCCESS on success, or a relevant error.
+ */
+vb2_error_t flashrom_write(const char *programmer, const char *region,
+                          uint8_t *data, uint32_t size);
diff --git a/host/lib/include/fmap.h b/host/lib/include/fmap.h
new file mode 100644 (file)
index 0000000..4fddaae
--- /dev/null
@@ -0,0 +1,57 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_FMAP_H_
+#define VBOOT_REFERENCE_FMAP_H_
+
+#include <inttypes.h>
+#include <stddef.h>
+
+/* FMAP structs. See http://code.google.com/p/flashmap/wiki/FmapSpec */
+#define FMAP_NAMELEN 32
+#define FMAP_SIGNATURE "__FMAP__"
+#define FMAP_SIGNATURE_SIZE 8
+#define FMAP_SEARCH_STRIDE 4
+#define FMAP_VER_MAJOR 1
+typedef struct _FmapHeader {
+       /* Avoid endian issues in signature... */
+       char        fmap_signature[FMAP_SIGNATURE_SIZE];
+       uint8_t     fmap_ver_major;
+       uint8_t     fmap_ver_minor;
+       uint64_t    fmap_base;
+       uint32_t    fmap_size;
+       char        fmap_name[FMAP_NAMELEN];
+       uint16_t    fmap_nareas;
+} __attribute__((packed)) FmapHeader;
+
+enum fmap_flags {
+       FMAP_AREA_STATIC        = 1 << 0,
+       FMAP_AREA_COMPRESSED    = 1 << 1,
+       FMAP_AREA_RO            = 1 << 2,
+       /* Should be preserved on update or rollback. */
+       FMAP_AREA_PRESERVE      = 1 << 3,
+};
+
+typedef struct _FmapAreaHeader {
+       uint32_t area_offset;
+       uint32_t area_size;
+       char     area_name[FMAP_NAMELEN];
+       uint16_t area_flags;
+} __attribute__((packed)) FmapAreaHeader;
+
+
+/* Find and point to the FMAP header within the buffer */
+FmapHeader *fmap_find(uint8_t *ptr, size_t size);
+
+/* Search for an area by name, return pointer to its beginning */
+uint8_t *fmap_find_by_name(uint8_t *ptr, size_t size,
+                          /* optional, will call fmap_find() if NULL */
+                          FmapHeader *fmap,
+                          /* The area name to search for */
+                          const char *name,
+                          /* optional, return pointer to entry if not NULL */
+                          FmapAreaHeader **ah);
+
+#endif  /* VBOOT_REFERENCE_FMAP_H_ */
diff --git a/host/lib/include/gsc_ro.h b/host/lib/include/gsc_ro.h
new file mode 100644 (file)
index 0000000..00a4011
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef __VBOOT_REFERENCE_HOST_LIB_INCLUDE_GSC_RO_H
+#define __VBOOT_REFERENCE_HOST_LIB_INCLUDE_GSC_RO_H
+
+#include <stddef.h>
+#include <stdint.h>
+
+#include "2sha.h"
+
+struct gscvd_ro_range {
+       uint32_t offset;
+       uint32_t size; /* Use uint32_t as opposed to size_to be portable. */
+};
+
+#define GSC_VD_MAGIC 0x65666135 /* Little endian '5 a f e' */
+#define GSC_VD_ROLLBACK_COUNTER 1
+
+struct gsc_verification_data {
+       uint32_t gv_magic;
+       /*
+        * Size of this structure in bytes, including the ranges array,
+        * signature and root key bodies.
+        */
+       uint16_t size;
+       uint16_t major_version; /* Version of this struct layout. Starts at 0 */
+       uint16_t minor_version;
+       /*
+        * GSC will cache the counter value and will not accept verification
+        * data blobs with a lower value.
+        */
+       uint16_t rollback_counter;
+       uint32_t gsc_board_id; /* Locks blob to certain platform. */
+       uint32_t gsc_flags; /* A field for future enhancements. */
+       /*
+        * The location of fmap that points to this blob. This location must
+        * also be in one of the verified sections, expressed as offset in
+        * flash
+        */
+       uint32_t fmap_location;
+       uint32_t hash_alg; /* one of enum vb2_hash_algorithm alg. */
+       struct vb2_signature sig_header;
+       struct vb2_packed_key root_key_header;
+       /*
+        * SHAxxx(ranges[0].offset..ranges[0].size || ... ||
+        *        ranges[n].offset..ranges[n].size)
+        *
+        * Let the digest space allow to accommodate the largest possible one.
+        */
+       uint8_t ranges_digest[VB2_SHA512_DIGEST_SIZE];
+       uint32_t range_count; /* Number of gscvd_ro_range entries. */
+       struct gscvd_ro_range ranges[0];
+};
+
+#endif /* ! __VBOOT_REFERENCE_HOST_LIB_INCLUDE_GSC_RO_H */
diff --git a/host/lib/include/host_common.h b/host/lib/include/host_common.h
new file mode 100644 (file)
index 0000000..a37a6c9
--- /dev/null
@@ -0,0 +1,81 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host-side functions for verified boot.
+ */
+
+#ifndef VBOOT_REFERENCE_HOST_COMMON_H_
+#define VBOOT_REFERENCE_HOST_COMMON_H_
+
+#include "host_key.h"
+#include "host_key21.h"
+#include "host_keyblock.h"
+#include "host_misc.h"
+#include "host_signature.h"
+#include "vboot_api.h"
+#include "vboot_host.h"
+#include "vboot_struct.h"
+
+/**
+ * Create a firmware preamble.
+ *
+ * @param firmware_version     Firmware version
+ * @param kernel_subkey                Kernel subkey to store in preamble
+ * @param body_signature       Signature of firmware body
+ * @param signing_key          Private key to sign header with
+ * @param flags                        Firmware preamble flags
+ *
+ * @return The preamble, or NULL if error.  Caller must free() it.
+ */
+struct vb2_fw_preamble *vb2_create_fw_preamble(
+       uint32_t firmware_version,
+       const struct vb2_packed_key *kernel_subkey,
+       const struct vb2_signature *body_signature,
+       const struct vb2_private_key *signing_key,
+       uint32_t flags);
+
+
+/**
+ * Create a kernel preamble.
+ *
+ * @param kernel_version               Firmware version
+ * @param body_load_address            Load address for kernel body
+ * @param bootloader_address           Load address for bootloader
+ * @param bootloader_size              Size of bootloader in bytes
+ * @param body_signature               Signature of kernel body
+ * @param vmlinuz_header_address       Load address for 16-bit vmlinuz header
+ * @param vmlinuz_header_size          Size of 16-bit vmlinuz header in bytes
+ * @param flags                                Kernel preamble flags
+ * @param desired_size                 Minimum size of preamble in bytes
+ * @param signing_key                  Private key to sign header with
+ *
+ * @return The preamble, or NULL if error.  Caller must free() it.
+ */
+struct vb2_kernel_preamble *vb2_create_kernel_preamble(
+       uint32_t kernel_version,
+       uint64_t body_load_address,
+       uint64_t bootloader_address,
+       uint32_t bootloader_size,
+       const struct vb2_signature *body_signature,
+       uint64_t vmlinuz_header_address,
+       uint32_t vmlinuz_header_size,
+       uint32_t flags,
+       uint32_t desired_size,
+       const struct vb2_private_key *signing_key);
+
+/**
+ * Retrieve the 16-bit vmlinuz header address and size from the preamble.
+ *
+ * Size 0 means there is no 16-bit vmlinuz header present.  Old preamble
+ * versions (<2.1) return 0 for both fields.
+ *
+ * @param preamble     Preamble to check
+ * @param vmlinuz_header_address       Destination for header address
+ * @param vmlinuz_header_size          Destination for header size
+ */
+void vb2_kernel_get_vmlinuz_header(const struct vb2_kernel_preamble *preamble,
+                                  uint64_t *vmlinuz_header_address,
+                                  uint32_t *vmlinuz_header_size);
+
+#endif  /* VBOOT_REFERENCE_HOST_COMMON_H_ */
diff --git a/host/lib/include/host_key.h b/host/lib/include/host_key.h
new file mode 100644 (file)
index 0000000..c6fea5b
--- /dev/null
@@ -0,0 +1,163 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host-side functions for verified boot.
+ */
+
+#ifndef VBOOT_REFERENCE_HOST_KEY_H_
+#define VBOOT_REFERENCE_HOST_KEY_H_
+
+#include "2crypto.h"
+#include "2return_codes.h"
+
+struct vb2_public_key;
+struct vb2_packed_key;
+struct vb2_private_key;
+
+/**
+ * Convert a vb2 hash and crypto algorithm to a vb1 crypto algorithm.
+ *
+ * @param hash_alg     Hash algorithm
+ * @param sig_alg      Signature algorithm
+ *
+ * @return The equivalent vb1 crypto algorithm or VB2_ALG_COUNT if error.
+ */
+enum vb2_crypto_algorithm vb2_get_crypto_algorithm(
+       enum vb2_hash_algorithm hash_alg,
+       enum vb2_signature_algorithm sig_alg);
+
+/**
+ * Read a private key from a .pem file.
+ *
+ * @param filename     Filename to read from
+ * @param algorithm    Algorithm to associate with file
+ *                     (enum vb2_crypto_algorithm)
+ *
+ * @return The private key or NULL if error.  Caller must free() it.
+ */
+struct vb2_private_key *vb2_read_private_key_pem(
+       const char *filename,
+       enum vb2_crypto_algorithm algorithm);
+
+/**
+ * Free a private key.
+ *
+ * @param key          Key to free; ok to pass NULL (ignored).
+ */
+void vb2_free_private_key(struct vb2_private_key *key);
+
+/**
+ * Write a private key to a file in .vbprivk format.
+ *
+ * @param filename     Filename to write to
+ * @param key          Key to write
+ *
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2_write_private_key(const char *filename,
+                                 const struct vb2_private_key *key);
+
+
+/**
+ * Read a private key from a .vbprivk file.
+ *
+ * @param filename     Filename to read key from.
+ *
+ * @return The private key or NULL if error.  Caller must free() it.
+ */
+struct vb2_private_key *vb2_read_private_key(const char *filename);
+
+/**
+ * Allocate a new public key.
+ * @param key_size     Size of key data the key can hold
+ * @param algorithm    Algorithm to store in key header
+ * @param version      Version to store in key header
+ *
+ * @return The public key or NULL if error.  Caller must free() it.
+ */
+struct vb2_packed_key *vb2_alloc_packed_key(uint32_t key_size,
+                                           uint32_t algorithm,
+                                           uint32_t version);
+
+/**
+ * Initialize a packed key structure.
+ *
+ * @param key          Structure to initialize
+ * @param key_data     Pointer to key data (following the structure)
+ * @param key_size     Size of key
+ */
+void vb2_init_packed_key(struct vb2_packed_key *key, uint8_t *key_data,
+                        uint32_t key_size);
+
+/**
+ * Copy a packed key.
+ *
+ * @param dest         Destination packed key
+ * @param src          Source packed key
+ *
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2_copy_packed_key(struct vb2_packed_key *dest,
+                               const struct vb2_packed_key *src);
+
+/**
+ * Read a packed key from a .vbpubk file.
+ *
+ * @param filename     Name of file to read
+ * @param algorithm    Crypto algorithm to associate with key
+ * @param version      Version to store in key
+ *
+ * @return The packed key, or NULL if error.  Caller must free() it.
+ */
+struct vb2_packed_key *vb2_read_packed_key(const char *filename);
+
+/**
+ * Validity-check a packed key structure.
+ *
+ * @param key          Key to check
+ * @param size         Size of key buffer in bytes
+ *
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2_packed_key_looks_ok(const struct vb2_packed_key *key,
+                                   uint32_t size);
+
+/**
+ * Read a packed key from a .keyb file.
+ *
+ * @param filename     Name of file to read
+ * @param algorithm    Crypto algorithm to associate with key
+ * @param version      Version to store in key
+ *
+ * @return The packed key, or NULL if error.  Caller must free() it.
+ */
+struct vb2_packed_key *vb2_read_packed_keyb(const char *filename,
+                                           uint32_t algorithm,
+                                           uint32_t version);
+
+/**
+ * Write a packed key in .vbpubk format.
+ *
+ * @param filename     Name of file to write
+ * @param key          Key to write
+ *
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2_write_packed_key(const char *filename,
+                                const struct vb2_packed_key *key);
+
+/**
+ * Unpack the RSA data fields for a public key
+ *
+ * This is called by vb21_unpack_key() to extract the arrays from a packed key.
+ * These elements of *key will point inside the key_data buffer.
+ *
+ * @param key          Destination key for RSA data fields
+ * @param key_data     Packed key data (from inside a packed key buffer)
+ * @param key_size     Size of packed key data in bytes
+ */
+vb2_error_t vb2_unpack_key_data(struct vb2_public_key *key,
+                               const uint8_t *key_data, uint32_t key_size);
+
+#endif  /* VBOOT_REFERENCE_HOST_KEY_H_ */
diff --git a/host/lib/include/host_keyblock.h b/host/lib/include/host_keyblock.h
new file mode 100644 (file)
index 0000000..2125796
--- /dev/null
@@ -0,0 +1,70 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host-side functions for verified boot.
+ */
+
+#ifndef VBOOT_REFERENCE_HOST_KEYBLOCK_H_
+#define VBOOT_REFERENCE_HOST_KEYBLOCK_H_
+
+#include "host_key.h"
+#include "vboot_struct.h"
+
+struct vb2_keyblock;
+
+/**
+ * Create a keyblock header
+ *
+ * @param data_key     Data key to store in keyblock
+ * @param signing_key  Key to sign keyblock with.  May be NULL if keyblock
+ *                     only needs a hash digest.
+ * @param flags                Keyblock flags
+ *
+ * @return The keyblock, or NULL if error.  Caller must free() it.
+ */
+struct vb2_keyblock *vb2_create_keyblock(
+               const struct vb2_packed_key *data_key,
+               const struct vb2_private_key *signing_key,
+               uint32_t flags);
+
+/**
+ * Create a keyblock header using an external signer for all private key
+ * operations.
+ *
+ * @param data_key             Data key to store in keyblock
+ * @param signing_key_pem_file Filename of private key
+ * @param algorithm            Signing algorithm index
+ * @param flags                        Keyblock flags
+ * @param external_signer      Path to external signer program
+ *
+ * @return The keyblock, or NULL if error.  Caller must free() it.
+ */
+struct vb2_keyblock *vb2_create_keyblock_external(
+               const struct vb2_packed_key *data_key,
+               const char *signing_key_pem_file,
+               uint32_t algorithm,
+               uint32_t flags,
+               const char *external_signer);
+
+/**
+ * Read a keyblock from a .keyblock file.
+ *
+ * @param filename     File to read keyblock from
+ *
+ * @return The keyblock, or NULL if error.  Caller must free() it.
+ */
+struct vb2_keyblock *vb2_read_keyblock(const char *filename);
+
+/**
+ * Write a keyblock to a file in .keyblock format.
+ *
+ * @param filename     Filename to write
+ * @param keyblock     Keyblock to write
+ *
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+int vb2_write_keyblock(const char *filename,
+                      const struct vb2_keyblock *keyblock);
+
+#endif  /* VBOOT_REFERENCE_HOST_KEYBLOCK_H_ */
diff --git a/host/lib/include/host_misc.h b/host/lib/include/host_misc.h
new file mode 100644 (file)
index 0000000..298e742
--- /dev/null
@@ -0,0 +1,102 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host-side misc functions for verified boot.
+ */
+
+#ifndef VBOOT_REFERENCE_HOST_MISC_H_
+#define VBOOT_REFERENCE_HOST_MISC_H_
+
+#include "vboot_struct.h"
+#include "vboot_api.h"
+
+/* Copy up to dest_size-1 characters from src to dest, ensuring null
+ * termination (which strncpy() doesn't do).  Returns the destination
+ * string. */
+char* StrCopy(char* dest, const char* src, int dest_size);
+
+/* Read data from [filename].  Store the size of returned data in [size].
+ *
+ * Returns the data buffer, which the caller must Free(), or NULL if
+ * error. */
+uint8_t* ReadFile(const char* filename, uint64_t* size);
+
+/* Read a string from a file.  Passed the destination, dest size, and
+ * filename to read.
+ *
+ * Returns the destination, or NULL if error. */
+char* ReadFileString(char* dest, int size, const char* filename);
+
+/* Read an unsigned integer from a file and save into passed pointer.
+ *
+ * Returns 0 if success, -1 if error. */
+int ReadFileInt(const char* filename, unsigned* value);
+
+/* Check if a bit is set in a file which contains an integer.
+ *
+ * Returns 1 if the bit is set, 0 if clear, or -1 if error. */
+int ReadFileBit(const char* filename, int bitmask);
+
+/* Writes [size] bytes of [data] to [filename].
+ *
+ * Returns 0 if success, 1 if error. */
+vb2_error_t WriteFile(const char* filename, const void *data, uint64_t size);
+
+/**
+ * Read data from a file into a newly allocated buffer.
+ * The buffer will end with an extra null byte ('\0', not counted in size).
+ *
+ * @param filename     Name of file to read from
+ * @param data_ptr     On exit, pointer to newly allocated buffer with data
+ *                     will be stored here.  Caller must free() the buffer
+ *                     when done with it.
+ * @param size_ptr     On exit, size of data will be stored here.
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2_read_file(const char *filename, uint8_t **data_ptr,
+                         uint32_t *size_ptr);
+
+/**
+ * Write data to a file from a buffer.
+ *
+ * @param filename     Name of file to write to
+ * @param buf          Buffer to write
+ * @param size         Number of bytes of data to write
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2_write_file(const char *filename, const void *buf,
+                          uint32_t size);
+
+/**
+ * Write a buffer which starts with a standard vb21_struct_common header.
+ *
+ * Determines the buffer size from the common header total size field.
+ *
+ * @param filename     Name of file to write to
+ * @param buf          Buffer to write
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb21_write_object(const char *filename, const void *buf);
+
+/**
+ * Round up a size to a multiple of 32 bits (4 bytes).
+ */
+static inline const uint32_t roundup32(uint32_t v)
+{
+       return (v + 3) & ~3;
+}
+
+/**
+ * Return the buffer size required to hold a description string.
+ *
+ * If the string is NULL or empty, the size is zero.  Otherwise, it is the
+ * size of a buffer which can hold the string and its null terminator,
+ * rounded up to the nerest multiple of 32 bits.
+ *
+ * @param desc         Description string
+ * @return The buffer size in bytes.
+ */
+uint32_t vb2_desc_size(const char *desc);
+
+#endif  /* VBOOT_REFERENCE_HOST_MISC_H_ */
diff --git a/host/lib/include/host_signature.h b/host/lib/include/host_signature.h
new file mode 100644 (file)
index 0000000..72160fd
--- /dev/null
@@ -0,0 +1,88 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host-side functions for verified boot.
+ */
+
+#ifndef VBOOT_REFERENCE_HOST_SIGNATURE_H_
+#define VBOOT_REFERENCE_HOST_SIGNATURE_H_
+
+#include "host_key.h"
+#include "vboot_struct.h"
+
+struct vb2_private_key;
+struct vb2_signature;
+
+/**
+ * Initialize a signature struct.
+ *
+ * @param sig          Structure to initialize
+ * @param sig_data     Pointer to signature data buffer (after sig)
+ * @param sig_size     Size of signature data buffer in bytes
+ * @param data_size    Amount of data signed in bytes
+ */
+void vb2_init_signature(struct vb2_signature *sig, uint8_t *sig_data,
+                       uint32_t sig_size, uint32_t data_size);
+
+
+/**
+ * Allocate a new signature.
+ *
+ * @param sig_size     Size of signature in bytes
+ * @param data_size    Amount of data signed in bytes
+ *
+ * @return The signature or NULL if error.  Caller must free() it.
+ */
+struct vb2_signature *vb2_alloc_signature(uint32_t sig_size,
+                                         uint32_t data_size);
+
+/**
+ * Copy a signature.
+ *
+ * @param dest         Destination signature
+ * @param src          Source signature
+ *
+ * @return VB2_SUCCESS, or non-zero if error. */
+vb2_error_t vb2_copy_signature(struct vb2_signature *dest,
+                              const struct vb2_signature *src);
+
+/**
+ * Calculate a SHA-512 digest-only signature.
+ *
+ * @param data         Pointer to data to hash
+ * @param size         Length of data in bytes
+ *
+ * @return The signature, or NULL if error.  Caller must free() it.
+ */
+struct vb2_signature *vb2_sha512_signature(const uint8_t *data, uint32_t size);
+
+/**
+ * Calculate a signature for the data using the specified key.
+ *
+ * @param data         Pointer to data to sign
+ * @param size         Length of data in bytes
+ * @param key          Private key to use to sign data
+ *
+ * @return The signature, or NULL if error.  Caller must free() it.
+ */
+struct vb2_signature *vb2_calculate_signature(
+       const uint8_t *data, uint32_t size, const struct vb2_private_key *key);
+
+/**
+ * Calculate a signature for the data using an external signer.
+ *
+ * @param data                 Pointer to data to sign
+ * @param size                 Length of data in bytes
+ * @param key_file             Name of file containing private key
+ * @param key_algorithm                Key algorithm
+ * @param external_signer      Path to external signer program
+ *
+ * @return The signature, or NULL if error.  Caller must free() it.
+ */
+struct vb2_signature *vb2_external_signature(const uint8_t *data, uint32_t size,
+                                            const char *key_file,
+                                            uint32_t key_algorithm,
+                                            const char *external_signer);
+
+#endif  /* VBOOT_REFERENCE_HOST_SIGNATURE_H_ */
diff --git a/host/lib/include/signature_digest.h b/host/lib/include/signature_digest.h
new file mode 100644 (file)
index 0000000..ac0cd11
--- /dev/null
@@ -0,0 +1,36 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_SIGNATURE_DIGEST_H_
+#define VBOOT_REFERENCE_SIGNATURE_DIGEST_H_
+
+#include <stdint.h>
+
+/* Returns a buffer with DigestInfo (which depends on [algorithm])
+ * prepended to [digest].
+ */
+uint8_t* PrependDigestInfo(enum vb2_hash_algorithm hash_alg, uint8_t* digest);
+
+/* Function that outputs the message digest of the contents of a buffer in a
+ * format that can be used as input to OpenSSL for an RSA signature.
+ * Needed until the stable OpenSSL release supports SHA-256/512 digests for
+ * RSA signatures.
+ *
+ * Returns DigestInfo || Digest where DigestInfo is the OID depending on the
+ * choice of the hash algorithm (see padding.c). Caller owns the returned
+ * pointer and must Free() it.
+ */
+uint8_t* SignatureDigest(const uint8_t* buf, uint64_t len,
+                        unsigned int algorithm);
+
+/* Calculates the signature on a buffer [buf] of length [len] using
+ * the private RSA key file from [key_file] and signature algorithm
+ * [algorithm].
+ *
+ * Returns the signature. Caller owns the buffer and must Free() it.
+ */
+uint8_t* SignatureBuf(const uint8_t* buf, uint64_t len, const char* key_file,
+                     unsigned int algorithm);
+#endif  /* VBOOT_REFERENCE_SIGNATURE_DIGEST_H_ */
diff --git a/host/lib/include/subprocess.h b/host/lib/include/subprocess.h
new file mode 100644 (file)
index 0000000..b24b987
--- /dev/null
@@ -0,0 +1,125 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Library for creating subprocesses in a high level manner.
+ */
+
+#ifndef VBOOT_REFERENCE_SUBPROCESS_H_
+#define VBOOT_REFERENCE_SUBPROCESS_H_
+
+#include <stdio.h>
+#include <stdlib.h>
+
+/**
+ * subprocess_target is the "mini language" of the subprocess
+ * library. It describes where to read or write data from the process.
+ *
+ * There are currently five target of targets:
+ *
+ * - TARGET_NULL: /dev/null, no need to describe any other fields.
+ *
+ * - TARGET_FD: file descriptor, put the fd in the fd field.
+ *
+ * - TARGET_FILE: FILE *, put the FILE pointer in the file field.
+ *
+ * - TARGET_BUFFER: read to, or write from, a buffer. Fields:
+ *   - buffer->buf: the buffer
+ *   - buffer->size: the size of that buffer
+ *   - buffer->bytes_consumed: do not fill out this field.
+ *     subprocess_run will set it to the number of bytes read from the
+ *     process (if writing to a buffer). Goes unused when reading from
+ *     a buffer.
+ *
+ * - TARGET_BUFFER_NULL_TERMINATED: when reading from a buffer, don't
+ *   fill out the size field and subprocess_run will strlen for you.
+ *   When writing to a buffer, subprocess_run will reserve one byte of
+ *   the size for a null terminator and guarantee that the output is
+ *   always NULL terminated.
+ *
+ * - TARGET_CALLBACK: when the target is provided as an input to a
+ *   process, the callback will be called occasionally to provide
+ *   input to the process. The callback should fill buf with up to
+ *   buf_sz bytes of data, and return the number of bytes
+ *   written, or negative values on error. When the target is provided
+ *   as an output to a process, the callback will be called
+ *   occasionally with buf_sz bytes of data from the output put into
+ *   buf. In this case, the return value from the callback is
+ *   ignored except for errors. The data field is for application use
+ *   and will always be passed to the data parameter of the callback
+ *   function.
+ */
+struct subprocess_target {
+       enum {
+               TARGET_NULL,
+               TARGET_FD,
+               TARGET_FILE,
+               TARGET_BUFFER,
+               TARGET_BUFFER_NULL_TERMINATED,
+               TARGET_CALLBACK,
+       } type;
+       union {
+               int fd;
+               FILE *file;
+               struct {
+                       char *buf;
+                       size_t size;
+
+                       /*
+                        * This variable is the output of the number of bytes
+                        * read or written. It should be read by the caller, not
+                        * set.
+                        */
+                       size_t bytes_consumed;
+               } buffer;
+               struct {
+                       ssize_t (*cb)(char *buf, size_t buf_sz, void *data);
+                       void *data;
+               } callback;
+       };
+       struct {
+               int pipefd[2];
+       } priv;
+};
+
+/**
+ * A convenience subprocess target which uses TARGET_NULL.
+ */
+extern struct subprocess_target subprocess_null;
+
+/**
+ * A convenience subprocess target which uses TARGET_FD to STDIN_FILENO.
+ */
+extern struct subprocess_target subprocess_stdin;
+
+/**
+ * A convenience subprocess target which uses TARGET_FD to STDOUT_FILENO.
+ */
+extern struct subprocess_target subprocess_stdout;
+
+/**
+ * A convenience subprocess target which uses TARGET_FD to STDERR_FILENO.
+ */
+extern struct subprocess_target subprocess_stderr;
+
+/**
+ * Call a process and run until completion.
+ *
+ * @param argv          A NULL-terminated list of arguments describing
+ *                      the program to run.
+ * @param input         The subprocess_target connected to stdin.
+ * @param output        The subprocess_target connected to stdout.
+ * @param error         The subprocess_target connected to stderr.
+ *
+ * If either input, output, or error are set to NULL, they will be
+ * &subprocess_stdin, &subprocess_stdout, or &subprocess_stderr
+ * respectively.
+ *
+ * @return The exit status on success, or negative values on error.
+ */
+int subprocess_run(const char *const argv[],
+                  struct subprocess_target *input,
+                  struct subprocess_target *output,
+                  struct subprocess_target *error);
+
+#endif  /* VBOOT_REFERENCE_SUBPROCESS_H_ */
diff --git a/host/lib/include/util_misc.h b/host/lib/include/util_misc.h
new file mode 100644 (file)
index 0000000..1f92af9
--- /dev/null
@@ -0,0 +1,68 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host-side misc functions for verified boot.
+ */
+
+#ifndef VBOOT_REFERENCE_UTIL_MISC_H_
+#define VBOOT_REFERENCE_UTIL_MISC_H_
+
+#include "host_key.h"
+#include "vboot_struct.h"
+
+struct rsa_st;
+struct vb2_packed_key;
+struct vb2_private_key;
+
+/**
+ * Returns the SHA1 digest of the packed key data as a string.
+ *
+ * The returned string is a global static buffer, so each call to this
+ * overwrites the previous digest string.  So don't call this more than once
+ * per printf().
+ *
+ * @param key          Key to print digest for
+ *
+ * @return A string containing the SHA1 digest.
+ */
+const char *packed_key_sha1_string(const struct vb2_packed_key *key);
+
+/**
+ * Returns the SHA1 digest of the private key data as a string.
+ *
+ * The returned string is a global static buffer, so each call to this
+ * overwrites the previous digest string.  So don't call this more than once
+ * per printf().
+ *
+ * @param key          Key to print digest for
+ *
+ * @return A string containing the SHA1 digest.
+ */
+const char *private_key_sha1_string(const struct vb2_private_key *key);
+
+/*
+ * Our packed RSBPublicKey buffer (historically in files ending with ".keyb",
+ * but also the part of struct vb2_packed_key and struct vb21_packed_key that
+ * is referenced by .key_offset) has this binary format:
+ *
+ *   struct {
+ *       uint32_t nwords;            // size of RSA key in 32-bit words
+ *       uint32_t N0inv;             // -1 / N[0] mod 2^32
+ *       uint32_t modulus[nwords];   // modulus as a little endian array
+ *       uint32_t R2[nwords];        // R^2  as little endian array
+ *   };
+ *
+ * This function allocates and extracts that binary structure directly
+ * from the RSA private key, rather than from a file.
+ *
+ * @param rsa_private_key     RSA private key (duh)
+ * @param keyb_data          Pointer to newly allocated binary blob
+ * @param keyb_size          Size of newly allocated binary blob
+ *
+ * @return 0 on success, non-zero if unable to allocate enough memory.
+ */
+int vb_keyb_from_rsa(struct rsa_st *rsa_private_key,
+                    uint8_t **keyb_data, uint32_t *keyb_size);
+
+#endif  /* VBOOT_REFERENCE_UTIL_MISC_H_ */
diff --git a/host/lib/signature_digest.c b/host/lib/signature_digest.c
new file mode 100644 (file)
index 0000000..f6be00a
--- /dev/null
@@ -0,0 +1,114 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <openssl/pem.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_signature21.h"
+#include "signature_digest.h"
+
+uint8_t* PrependDigestInfo(enum vb2_hash_algorithm hash_alg, uint8_t* digest)
+{
+       const int digest_size = vb2_digest_size(hash_alg);
+       uint32_t digestinfo_size = 0;
+       const uint8_t* digestinfo = NULL;
+
+       if (VB2_SUCCESS != vb2_digest_info(hash_alg, &digestinfo,
+                                          &digestinfo_size))
+               return NULL;
+
+       uint8_t* p = malloc(digestinfo_size + digest_size);
+       memcpy(p, digestinfo, digestinfo_size);
+       memcpy(p + digestinfo_size, digest, digest_size);
+       return p;
+}
+
+uint8_t* SignatureDigest(const uint8_t* buf, uint64_t len,
+                        unsigned int algorithm)
+{
+       uint8_t* info_digest  = NULL;
+
+       uint8_t digest[VB2_SHA512_DIGEST_SIZE];  /* Longest digest */
+       enum vb2_hash_algorithm hash_alg;
+
+       if (algorithm >= VB2_ALG_COUNT) {
+               fprintf(stderr,
+                       "SignatureDigest(): Called with invalid algorithm!\n");
+               return NULL;
+       }
+
+       hash_alg = vb2_crypto_to_hash(algorithm);
+
+       if (VB2_SUCCESS == vb2_digest_buffer(buf, len, hash_alg,
+                                            digest, sizeof(digest))) {
+               info_digest = PrependDigestInfo(hash_alg, digest);
+       }
+       return info_digest;
+}
+
+uint8_t* SignatureBuf(const uint8_t* buf, uint64_t len, const char* key_file,
+                     unsigned int algorithm)
+{
+       const enum vb2_hash_algorithm hash_alg = vb2_crypto_to_hash(algorithm);
+       FILE* key_fp = NULL;
+       RSA* key = NULL;
+       uint8_t* signature = NULL;
+       uint8_t* signature_digest = SignatureDigest(buf, len, algorithm);
+       if (!signature_digest) {
+               fprintf(stderr, "SignatureBuf(): "
+                       "Couldn't get signature digest\n");
+               return NULL;
+       }
+
+       const int digest_size = vb2_digest_size(hash_alg);
+
+       uint32_t digestinfo_size = 0;
+       const uint8_t* digestinfo = NULL;
+       if (VB2_SUCCESS != vb2_digest_info(hash_alg, &digestinfo,
+                                          &digestinfo_size)) {
+               fprintf(stderr, "SignatureBuf(): Couldn't get digest info\n");
+               free(signature_digest);
+               return NULL;
+       }
+
+       int signature_digest_len = digest_size + digestinfo_size;
+
+       key_fp  = fopen(key_file, "r");
+       if (!key_fp) {
+               fprintf(stderr, "SignatureBuf(): Couldn't open key file: %s\n",
+                       key_file);
+               free(signature_digest);
+               return NULL;
+       }
+       if ((key = PEM_read_RSAPrivateKey(key_fp, NULL, NULL, NULL)))
+               signature = (uint8_t *)malloc(
+                   vb2_rsa_sig_size(vb2_crypto_to_signature(algorithm)));
+       else
+               fprintf(stderr, "SignatureBuf(): "
+                       "Couldn't read private key from: %s\n", key_file);
+       if (signature) {
+               if (-1 == RSA_private_encrypt(
+                               signature_digest_len,  /* Input length. */
+                               signature_digest,  /* Input data. */
+                               signature,  /* Output signature. */
+                               key,  /* Key to use. */
+                               RSA_PKCS1_PADDING))  /* Padding to use. */
+                       fprintf(stderr, "SignatureBuf(): "
+                               "RSA_private_encrypt() failed.\n");
+       }
+       fclose(key_fp);
+       if (key)
+               RSA_free(key);
+       free(signature_digest);
+       return signature;
+}
diff --git a/host/lib/subprocess.c b/host/lib/subprocess.c
new file mode 100644 (file)
index 0000000..242b189
--- /dev/null
@@ -0,0 +1,325 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "subprocess.h"
+
+#define MAX_CB_BUF_SIZE 2048
+
+static int init_target_private(struct subprocess_target *target)
+{
+       switch (target->type) {
+       case TARGET_BUFFER:
+       case TARGET_BUFFER_NULL_TERMINATED:
+       case TARGET_CALLBACK:
+               return pipe(target->priv.pipefd);
+       default:
+               return 0;
+       }
+}
+
+static int flags_for_fd(int fd)
+{
+       switch (fd) {
+       case STDIN_FILENO:
+               return O_RDONLY;
+       case STDOUT_FILENO:
+       case STDERR_FILENO:
+               return O_WRONLY;
+       default:
+               return -1;
+       }
+}
+
+static int connect_process_target(struct subprocess_target *target, int fd)
+{
+       int target_fd;
+
+       switch (target->type) {
+       case TARGET_NULL:
+               target_fd = open("/dev/null", flags_for_fd(fd));
+               break;
+       case TARGET_FD:
+               target_fd = target->fd;
+               break;
+       case TARGET_FILE:
+               target_fd = fileno(target->file);
+               break;
+       case TARGET_BUFFER:
+       case TARGET_BUFFER_NULL_TERMINATED:
+       case TARGET_CALLBACK:
+               switch (fd) {
+               case STDIN_FILENO:
+                       target_fd = target->priv.pipefd[0];
+                       close(target->priv.pipefd[1]);
+                       break;
+               case STDOUT_FILENO:
+               case STDERR_FILENO:
+                       target_fd = target->priv.pipefd[1];
+                       close(target->priv.pipefd[0]);
+                       break;
+               default:
+                       return -1;
+               }
+               break;
+       default:
+               return -1;
+       }
+
+       return dup2(target_fd, fd);
+}
+
+static int process_target_input_buffer(struct subprocess_target *target)
+{
+       ssize_t write_rv;
+       size_t bytes_to_write;
+       char *buf;
+
+       switch (target->type) {
+       case TARGET_BUFFER:
+               bytes_to_write = target->buffer.size;
+               break;
+       case TARGET_BUFFER_NULL_TERMINATED:
+               bytes_to_write = strlen(target->buffer.buf);
+               break;
+       default:
+               return -1;
+       }
+
+       buf = target->buffer.buf;
+       while (bytes_to_write) {
+               write_rv = write(target->priv.pipefd[1], buf, bytes_to_write);
+               if (write_rv <= 0)
+                       return -1;
+               buf += write_rv;
+               bytes_to_write -= write_rv;
+       }
+
+       return 0;
+}
+
+static int process_target_input_cb(struct subprocess_target *target)
+{
+       ssize_t write_rv, bytes_to_write;
+       char buf[MAX_CB_BUF_SIZE];
+       char *bufptr;
+
+       for (;;) {
+               bytes_to_write = target->callback.cb(buf, MAX_CB_BUF_SIZE,
+                                                    target->callback.data);
+               if (bytes_to_write < 0 || bytes_to_write > MAX_CB_BUF_SIZE)
+                       return -1;
+               if (bytes_to_write == 0)
+                       return 0;
+
+               bufptr = buf;
+               while (bytes_to_write) {
+                       write_rv = write(target->priv.pipefd[1], bufptr,
+                                        bytes_to_write);
+                       if (write_rv <= 0)
+                               return -1;
+                       bufptr += write_rv;
+                       bytes_to_write -= write_rv;
+               }
+       }
+}
+
+static int process_target_input(struct subprocess_target *target)
+{
+       int rv;
+
+       switch (target->type) {
+       case TARGET_BUFFER:
+       case TARGET_BUFFER_NULL_TERMINATED:
+       case TARGET_CALLBACK:
+               break;
+       default:
+               return 0;
+       }
+
+       close(target->priv.pipefd[0]);
+       switch (target->type) {
+       case TARGET_BUFFER:
+       case TARGET_BUFFER_NULL_TERMINATED:
+               rv = process_target_input_buffer(target);
+               break;
+       case TARGET_CALLBACK:
+               rv = process_target_input_cb(target);
+               break;
+       default:
+               return -1;
+       }
+
+       close(target->priv.pipefd[1]);
+       return rv;
+}
+
+static int process_target_output_buffer(struct subprocess_target *target)
+{
+       ssize_t read_rv;
+       size_t bytes_remaining;
+
+       switch (target->type) {
+       case TARGET_BUFFER:
+               bytes_remaining = target->buffer.size;
+               break;
+       case TARGET_BUFFER_NULL_TERMINATED:
+               if (target->buffer.size == 0)
+                       return -1;
+               bytes_remaining = target->buffer.size - 1;
+               break;
+       default:
+               return 0;
+       }
+
+       target->buffer.bytes_consumed = 0;
+       while (bytes_remaining) {
+               read_rv = read(
+                       target->priv.pipefd[0],
+                       target->buffer.buf + target->buffer.bytes_consumed,
+                       bytes_remaining);
+               if (read_rv < 0)
+                       return -1;
+               if (read_rv == 0)
+                       break;
+               target->buffer.bytes_consumed += read_rv;
+               bytes_remaining -= read_rv;
+       }
+
+       if (target->type == TARGET_BUFFER_NULL_TERMINATED)
+               target->buffer.buf[target->buffer.bytes_consumed] = '\0';
+       return 0;
+}
+
+static int process_target_output_cb(struct subprocess_target *target)
+{
+       char buf[MAX_CB_BUF_SIZE];
+       ssize_t rv;
+
+       for (;;) {
+               rv = read(target->priv.pipefd[0], buf, MAX_CB_BUF_SIZE);
+               if (rv < 0)
+                       return -1;
+               if (rv == 0)
+                       break;
+               if (target->callback.cb(buf, rv, target->callback.data) < 0)
+                       return -1;
+       }
+
+       return 0;
+}
+
+static int process_target_output(struct subprocess_target *target)
+{
+       int rv;
+
+       switch (target->type) {
+       case TARGET_BUFFER:
+       case TARGET_BUFFER_NULL_TERMINATED:
+       case TARGET_CALLBACK:
+               break;
+       default:
+               return 0;
+       }
+
+       close(target->priv.pipefd[1]);
+       switch (target->type) {
+       case TARGET_BUFFER:
+       case TARGET_BUFFER_NULL_TERMINATED:
+               rv = process_target_output_buffer(target);
+               break;
+       case TARGET_CALLBACK:
+               rv = process_target_output_cb(target);
+               break;
+       default:
+               return -1;
+       }
+
+       close(target->priv.pipefd[0]);
+       return rv;
+}
+
+struct subprocess_target subprocess_null = {
+       .type = TARGET_NULL,
+};
+
+struct subprocess_target subprocess_stdin = {
+       .type = TARGET_FD,
+       .fd = STDIN_FILENO,
+};
+
+struct subprocess_target subprocess_stdout = {
+       .type = TARGET_FD,
+       .fd = STDOUT_FILENO,
+};
+
+struct subprocess_target subprocess_stderr = {
+       .type = TARGET_FD,
+       .fd = STDERR_FILENO,
+};
+
+int subprocess_run(const char *const argv[],
+                  struct subprocess_target *input,
+                  struct subprocess_target *output,
+                  struct subprocess_target *error)
+{
+       int status;
+       pid_t pid = -1;
+
+       if (!input)
+               input = &subprocess_stdin;
+       if (!output)
+               output = &subprocess_stdout;
+       if (!error)
+               error = &subprocess_stderr;
+
+       if (init_target_private(input) < 0)
+               goto fail;
+       if (init_target_private(output) < 0)
+               goto fail;
+       if (init_target_private(error) < 0)
+               goto fail;
+
+       if ((pid = fork()) < 0)
+               goto fail;
+       if (pid == 0) {
+               /* Child process */
+               if (connect_process_target(input, STDIN_FILENO) < 0)
+                       goto fail;
+               if (connect_process_target(output, STDOUT_FILENO) < 0)
+                       goto fail;
+               if (connect_process_target(error, STDERR_FILENO) < 0)
+                       goto fail;
+               execvp(*argv, (char *const *)argv);
+               goto fail;
+       }
+
+       /* Parent process */
+       if (process_target_input(input) < 0)
+               goto fail;
+       if (process_target_output(output) < 0)
+               goto fail;
+       if (process_target_output(error) < 0)
+               goto fail;
+
+       if (waitpid(pid, &status, 0) < 0)
+               goto fail;
+
+       if (WIFEXITED(status))
+               return WEXITSTATUS(status);
+
+ fail:
+       VB2_DEBUG("Failed to execute external command: %s\n", strerror(errno));
+       if (pid == 0)
+               exit(127);
+       return -1;
+}
diff --git a/host/lib/util_misc.c b/host/lib/util_misc.c
new file mode 100644 (file)
index 0000000..26f7dac
--- /dev/null
@@ -0,0 +1,177 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Miscellaneous functions for userspace vboot utilities.
+ */
+
+#include <openssl/bn.h>
+#include <openssl/rsa.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_key21.h"
+#include "openssl_compat.h"
+#include "util_misc.h"
+
+const char *packed_key_sha1_string(const struct vb2_packed_key *key)
+{
+       uint8_t *buf = ((uint8_t *)key) + key->key_offset;
+       uint32_t buflen = key->key_size;
+       uint8_t digest[VB2_SHA1_DIGEST_SIZE];
+       static char dest[VB2_SHA1_DIGEST_SIZE * 2 + 1];
+
+       vb2_digest_buffer(buf, buflen, VB2_HASH_SHA1, digest, sizeof(digest));
+
+       char *dnext = dest;
+       int i;
+       for (i = 0; i < sizeof(digest); i++)
+               dnext += sprintf(dnext, "%02x", digest[i]);
+
+       return dest;
+}
+
+const char *private_key_sha1_string(const struct vb2_private_key *key)
+{
+       uint8_t *buf;
+       uint32_t buflen;
+       uint8_t digest[VB2_SHA1_DIGEST_SIZE];
+       static char dest[VB2_SHA1_DIGEST_SIZE * 2 + 1];
+
+       if (!key->rsa_private_key ||
+           vb_keyb_from_rsa(key->rsa_private_key, &buf, &buflen)) {
+               return "<error>";
+       }
+
+       vb2_digest_buffer(buf, buflen, VB2_HASH_SHA1, digest, sizeof(digest));
+
+       char *dnext = dest;
+       int i;
+       for (i = 0; i < sizeof(digest); i++)
+               dnext += sprintf(dnext, "%02x", digest[i]);
+
+       free(buf);
+       return dest;
+}
+
+int vb_keyb_from_rsa(struct rsa_st *rsa_private_key,
+                    uint8_t **keyb_data, uint32_t *keyb_size)
+{
+       uint32_t i, nwords;
+       BIGNUM *N = NULL;
+       BIGNUM *Big1 = NULL, *Big2 = NULL, *Big32 = NULL, *BigMinus1 = NULL;
+       BIGNUM *B = NULL;
+       BIGNUM *N0inv = NULL, *R = NULL, *RR = NULL;
+       BIGNUM *RRTemp = NULL, *NnumBits = NULL;
+       BIGNUM *n = NULL, *rr = NULL;
+       const BIGNUM *rsa_private_key_n;
+       BN_CTX *bn_ctx = BN_CTX_new();
+       uint32_t n0invout;
+       uint32_t bufsize;
+       uint32_t *outbuf;
+       int retval = 1;
+
+       /* Size of RSA key in 32-bit words */
+       nwords = RSA_size(rsa_private_key) / 4;
+
+       bufsize = (2 + nwords + nwords) * sizeof(uint32_t);
+       outbuf = malloc(bufsize);
+       if (!outbuf)
+               goto done;
+
+       *keyb_data = (uint8_t *)outbuf;
+       *keyb_size = bufsize;
+
+       *outbuf++ = nwords;
+
+       /* Initialize BIGNUMs */
+#define NEW_BIGNUM(x) do { x = BN_new(); if (!x) goto done; } while (0)
+       NEW_BIGNUM(N);
+       NEW_BIGNUM(Big1);
+       NEW_BIGNUM(Big2);
+       NEW_BIGNUM(Big32);
+       NEW_BIGNUM(BigMinus1);
+       NEW_BIGNUM(N0inv);
+       NEW_BIGNUM(R);
+       NEW_BIGNUM(RR);
+       NEW_BIGNUM(RRTemp);
+       NEW_BIGNUM(NnumBits);
+       NEW_BIGNUM(n);
+       NEW_BIGNUM(rr);
+       NEW_BIGNUM(B);
+#undef NEW_BIGNUM
+
+       RSA_get0_key(rsa_private_key, &rsa_private_key_n, NULL, NULL);
+       BN_copy(N, rsa_private_key_n);
+       BN_set_word(Big1, 1L);
+       BN_set_word(Big2, 2L);
+       BN_set_word(Big32, 32L);
+       BN_sub(BigMinus1, Big1, Big2);
+
+       BN_exp(B, Big2, Big32, bn_ctx); /* B = 2^32 */
+
+       /* Calculate and output N0inv = -1 / N[0] mod 2^32 */
+       BN_mod_inverse(N0inv, N, B, bn_ctx);
+       BN_sub(N0inv, B, N0inv);
+       n0invout = BN_get_word(N0inv);
+
+       *outbuf++ = n0invout;
+
+       /* Calculate R = 2^(# of key bits) */
+       BN_set_word(NnumBits, BN_num_bits(N));
+       BN_exp(R, Big2, NnumBits, bn_ctx);
+
+       /* Calculate RR = R^2 mod N */
+       BN_copy(RR, R);
+       BN_mul(RRTemp, RR, R, bn_ctx);
+       BN_mod(RR, RRTemp, N, bn_ctx);
+
+
+       /* Write out modulus as little endian array of integers. */
+       for (i = 0; i < nwords; ++i) {
+               uint32_t nout;
+
+               BN_mod(n, N, B, bn_ctx); /* n = N mod B */
+               nout = BN_get_word(n);
+               *outbuf++ = nout;
+
+               BN_rshift(N, N, 32); /*  N = N/B */
+       }
+
+       /* Write R^2 as little endian array of integers. */
+       for (i = 0; i < nwords; ++i) {
+               uint32_t rrout;
+
+               BN_mod(rr, RR, B, bn_ctx); /* rr = RR mod B */
+               rrout = BN_get_word(rr);
+               *outbuf++ = rrout;
+
+               BN_rshift(RR, RR, 32); /* RR = RR/B */
+       }
+
+       outbuf = NULL;
+       retval = 0;
+
+done:
+       free(outbuf);
+       /* Free BIGNUMs. */
+       BN_free(Big1);
+       BN_free(Big2);
+       BN_free(Big32);
+       BN_free(BigMinus1);
+       BN_free(N0inv);
+       BN_free(R);
+       BN_free(RRTemp);
+       BN_free(NnumBits);
+       BN_free(n);
+       BN_free(rr);
+
+       return retval;
+}
diff --git a/host/lib21/host_common.c b/host/lib21/host_common.c
new file mode 100644 (file)
index 0000000..245b188
--- /dev/null
@@ -0,0 +1,303 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Signature validation functions
+ */
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "host_common21.h"
+
+const char *vb21_common_desc(const void *buf)
+{
+       const struct vb21_struct_common *c = buf;
+
+       return c->desc_size ? (const char *)c + c->fixed_size : "";
+}
+
+vb2_error_t vb21_verify_common_header(const void *parent, uint32_t parent_size)
+{
+       const struct vb21_struct_common *c = parent;
+
+       /* Parent buffer size must be at least the claimed total size */
+       if (parent_size < c->total_size)
+               return VB2_ERROR_COMMON_TOTAL_SIZE;
+
+       /*
+        * And big enough for the fixed size, which itself must be at least as
+        * big as the common struct header.
+        */
+       if (c->total_size < c->fixed_size || c->fixed_size < sizeof(*c))
+               return VB2_ERROR_COMMON_FIXED_SIZE;
+
+       /* Make sure sizes are all multiples of 32 bits */
+       if (!vb2_aligned(c->total_size, sizeof(uint32_t)))
+               return VB2_ERROR_COMMON_TOTAL_UNALIGNED;
+       if (!vb2_aligned(c->fixed_size, sizeof(uint32_t)))
+               return VB2_ERROR_COMMON_FIXED_UNALIGNED;
+       if (!vb2_aligned(c->desc_size, sizeof(uint32_t)))
+               return VB2_ERROR_COMMON_DESC_UNALIGNED;
+
+       /* Check description */
+       if (c->desc_size > 0) {
+               /* Make sure description fits and doesn't wrap */
+               if (c->fixed_size + c->desc_size < c->fixed_size)
+                       return VB2_ERROR_COMMON_DESC_WRAPS;
+               if (c->fixed_size + c->desc_size > c->total_size)
+                       return VB2_ERROR_COMMON_DESC_SIZE;
+
+               /* Description must be null-terminated */
+               if (vb21_common_desc(c)[c->desc_size - 1] != 0)
+                       return VB2_ERROR_COMMON_DESC_TERMINATOR;
+       }
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb21_verify_common_member(const void *parent, uint32_t *min_offset,
+                                     uint32_t member_offset,
+                                     uint32_t member_size)
+{
+       const struct vb21_struct_common *c = parent;
+       uint32_t member_end = member_offset + member_size;
+
+       /* Make sure member doesn't wrap */
+       if (member_end < member_offset)
+               return VB2_ERROR_COMMON_MEMBER_WRAPS;
+
+       /* Member offset and size must be 32-bit aligned */
+       if (!vb2_aligned(member_offset, sizeof(uint32_t)) ||
+           !vb2_aligned(member_size, sizeof(uint32_t)))
+               return VB2_ERROR_COMMON_MEMBER_UNALIGNED;
+
+       /* Initialize minimum offset if necessary */
+       if (!*min_offset)
+               *min_offset = c->fixed_size + c->desc_size;
+
+       /* Member must be after minimum offset */
+       if (member_offset < *min_offset)
+               return VB2_ERROR_COMMON_MEMBER_OVERLAP;
+
+       /* Member must end before total size */
+       if (member_end > c->total_size)
+               return VB2_ERROR_COMMON_MEMBER_SIZE;
+
+       /* Update minimum offset for subsequent checks */
+       *min_offset = member_end;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb21_verify_common_subobject(const void *parent,
+                                        uint32_t *min_offset,
+                                        uint32_t member_offset)
+{
+       const struct vb21_struct_common *p = parent;
+       const struct vb21_struct_common *m =
+               (const struct vb21_struct_common *)
+               ((const uint8_t *)parent + member_offset);
+       vb2_error_t rv;
+
+       /*
+        * Verify the parent has space at the member offset for the common
+        * header.
+        */
+       rv = vb21_verify_common_member(parent, min_offset, member_offset,
+                                     sizeof(*m));
+       if (rv)
+               return rv;
+
+       /*
+        * Now it's safe to look at the member's header, and verify any
+        * additional data for the object past its common header fits in the
+        * parent.
+        */
+       rv = vb21_verify_common_header(m, p->total_size - member_offset);
+       if (rv)
+               return rv;
+
+       /* Advance the min offset to the end of the subobject */
+       *min_offset = member_offset + m->total_size;
+
+       return VB2_SUCCESS;
+}
+
+uint32_t vb2_sig_size(enum vb2_signature_algorithm sig_alg,
+                     enum vb2_hash_algorithm hash_alg)
+{
+       uint32_t digest_size = vb2_digest_size(hash_alg);
+
+       /* Fail if we don't support the hash algorithm */
+       if (!digest_size)
+               return 0;
+
+       /* Handle unsigned hashes */
+       if (sig_alg == VB2_SIG_NONE)
+               return digest_size;
+
+       return vb2_rsa_sig_size(sig_alg);
+}
+
+const struct vb2_id *vb2_hash_id(enum vb2_hash_algorithm hash_alg)
+{
+       switch(hash_alg) {
+#ifdef VB2_SUPPORT_SHA1
+       case VB2_HASH_SHA1:
+               {
+                       static const struct vb2_id id = VB2_ID_NONE_SHA1;
+                       return &id;
+               }
+#endif
+#ifdef VB2_SUPPORT_SHA256
+       case VB2_HASH_SHA256:
+               {
+                       static const struct vb2_id id = VB2_ID_NONE_SHA256;
+                       return &id;
+               }
+#endif
+#ifdef VB2_SUPPORT_SHA512
+       case VB2_HASH_SHA512:
+               {
+                       static const struct vb2_id id = VB2_ID_NONE_SHA512;
+                       return &id;
+               }
+#endif
+       default:
+               return NULL;
+       }
+}
+
+vb2_error_t vb21_verify_signature(const struct vb21_signature *sig,
+                                 uint32_t size)
+{
+       uint32_t min_offset = 0;
+       uint32_t expect_sig_size;
+       vb2_error_t rv;
+
+       /* Check magic number */
+       if (sig->c.magic != VB21_MAGIC_SIGNATURE)
+               return VB2_ERROR_SIG_MAGIC;
+
+       /* Make sure common header is good */
+       rv = vb21_verify_common_header(sig, size);
+       if (rv)
+               return rv;
+
+       /*
+        * Check for compatible version.  No need to check minor version, since
+        * that's compatible across readers matching the major version, and we
+        * haven't added any new fields.
+        */
+       if (sig->c.struct_version_major != VB21_SIGNATURE_VERSION_MAJOR)
+               return VB2_ERROR_SIG_VERSION;
+
+       /* Make sure header is big enough for signature */
+       if (sig->c.fixed_size < sizeof(*sig))
+               return VB2_ERROR_SIG_HEADER_SIZE;
+
+       /* Make sure signature data is inside */
+       rv = vb21_verify_common_member(sig, &min_offset,
+                                     sig->sig_offset, sig->sig_size);
+       if (rv)
+               return rv;
+
+       /* Make sure signature size is correct for the algorithm */
+       expect_sig_size = vb2_sig_size(sig->sig_alg, sig->hash_alg);
+       if (!expect_sig_size)
+               return VB2_ERROR_SIG_ALGORITHM;
+       if (sig->sig_size != expect_sig_size)
+               return VB2_ERROR_SIG_SIZE;
+
+       return VB2_SUCCESS;
+}
+
+/**
+ * Return the signature data for a signature
+ */
+static uint8_t *vb21_signature_data(struct vb21_signature *sig)
+{
+       return (uint8_t *)sig + sig->sig_offset;
+}
+
+vb2_error_t vb21_verify_digest(const struct vb2_public_key *key,
+                              struct vb21_signature *sig,
+                              const uint8_t *digest,
+                              const struct vb2_workbuf *wb)
+{
+       uint32_t key_sig_size = vb2_sig_size(key->sig_alg, key->hash_alg);
+
+       /* If we can't figure out the signature size, key algorithm was bad */
+       if (!key_sig_size)
+               return VB2_ERROR_VDATA_ALGORITHM;
+
+       /* Make sure the signature and key algorithms match */
+       if (key->sig_alg != sig->sig_alg || key->hash_alg != sig->hash_alg)
+               return VB2_ERROR_VDATA_ALGORITHM_MISMATCH;
+
+       if (sig->sig_size != key_sig_size)
+               return VB2_ERROR_VDATA_SIG_SIZE;
+
+       if (key->sig_alg == VB2_SIG_NONE) {
+               /* Bare hash */
+               if (vb2_safe_memcmp(vb21_signature_data(sig),
+                                   digest, key_sig_size))
+                       return VB2_ERROR_VDATA_VERIFY_DIGEST;
+
+               return VB2_SUCCESS;
+       } else {
+               /* RSA-signed digest */
+               return vb2_rsa_verify_digest(key,
+                                            vb21_signature_data(sig),
+                                            digest, wb);
+       }
+}
+
+vb2_error_t vb21_verify_data(const void *data, uint32_t size,
+                            struct vb21_signature *sig,
+                            const struct vb2_public_key *key,
+                            const struct vb2_workbuf *wb)
+{
+       struct vb2_workbuf wblocal = *wb;
+       struct vb2_digest_context *dc;
+       uint8_t *digest;
+       uint32_t digest_size;
+       vb2_error_t rv;
+
+       if (sig->data_size != size) {
+               VB2_DEBUG("Wrong amount of data signed.\n");
+               return VB2_ERROR_VDATA_SIZE;
+       }
+
+       /* Digest goes at start of work buffer */
+       digest_size = vb2_digest_size(key->hash_alg);
+       if (!digest_size)
+               return VB2_ERROR_VDATA_DIGEST_SIZE;
+
+       digest = vb2_workbuf_alloc(&wblocal, digest_size);
+       if (!digest)
+               return VB2_ERROR_VDATA_WORKBUF_DIGEST;
+
+       /* Hashing requires temp space for the context */
+       dc = vb2_workbuf_alloc(&wblocal, sizeof(*dc));
+       if (!dc)
+               return VB2_ERROR_VDATA_WORKBUF_HASHING;
+
+       rv = vb2_digest_init(dc, key->hash_alg);
+       if (rv)
+               return rv;
+
+       rv = vb2_digest_extend(dc, data, size);
+       if (rv)
+               return rv;
+
+       rv = vb2_digest_finalize(dc, digest, digest_size);
+       if (rv)
+               return rv;
+
+       vb2_workbuf_free(&wblocal, sizeof(*dc));
+
+       return vb21_verify_digest(key, sig, digest, &wblocal);
+}
diff --git a/host/lib21/host_key.c b/host/lib21/host_key.c
new file mode 100644 (file)
index 0000000..c880d45
--- /dev/null
@@ -0,0 +1,605 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host functions for keys.
+ */
+
+#include <stdio.h>
+
+#include <openssl/pem.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_common21.h"
+#include "host_key21.h"
+#include "host_misc.h"
+#include "openssl_compat.h"
+
+void vb2_private_key_free(struct vb2_private_key *key)
+{
+       if (!key)
+               return;
+
+       if (key->rsa_private_key)
+               RSA_free(key->rsa_private_key);
+
+       if (key->desc)
+               free(key->desc);
+
+       free(key);
+}
+
+vb2_error_t vb21_private_key_unpack(struct vb2_private_key **key_ptr,
+                                   const uint8_t *buf, uint32_t size)
+{
+       const struct vb21_packed_private_key *pkey =
+               (const struct vb21_packed_private_key *)buf;
+       struct vb2_private_key *key;
+       const unsigned char *start;
+       uint32_t min_offset = 0;
+
+       *key_ptr = NULL;
+
+       /*
+        * Check magic number.
+        *
+        * TODO: If it doesn't match, pass through to the old packed key format.
+        */
+       if (pkey->c.magic != VB21_MAGIC_PACKED_PRIVATE_KEY)
+               return VB2_ERROR_UNPACK_PRIVATE_KEY_MAGIC;
+
+       if (vb21_verify_common_header(buf, size))
+               return VB2_ERROR_UNPACK_PRIVATE_KEY_HEADER;
+
+       /* Make sure key data is inside */
+       if (vb21_verify_common_member(pkey, &min_offset,
+                                    pkey->key_offset, pkey->key_size))
+               return VB2_ERROR_UNPACK_PRIVATE_KEY_DATA;
+
+       /*
+        * Check for compatible version.  No need to check minor version, since
+        * that's compatible across readers matching the major version, and we
+        * haven't added any new fields.
+        */
+       if (pkey->c.struct_version_major !=
+           VB21_PACKED_PRIVATE_KEY_VERSION_MAJOR)
+               return VB2_ERROR_UNPACK_PRIVATE_KEY_STRUCT_VERSION;
+
+       /* Allocate the new key */
+       key = calloc(1, sizeof(*key));
+       if (!key)
+               return VB2_ERROR_UNPACK_PRIVATE_KEY_ALLOC;
+
+       /* Copy key algorithms and ID */
+       key->sig_alg = pkey->sig_alg;
+       key->hash_alg = pkey->hash_alg;
+       key->id = pkey->id;
+
+       /* Unpack RSA key */
+       if (pkey->sig_alg == VB2_SIG_NONE) {
+               if (pkey->key_size != 0) {
+                       free(key);
+                       return VB2_ERROR_UNPACK_PRIVATE_KEY_HASH;
+               }
+       } else {
+               start = (const unsigned char *)(buf + pkey->key_offset);
+               key->rsa_private_key = d2i_RSAPrivateKey(0, &start,
+                                                        pkey->key_size);
+               if (!key->rsa_private_key) {
+                       free(key);
+                       return VB2_ERROR_UNPACK_PRIVATE_KEY_RSA;
+               }
+       }
+
+       /* Key description */
+       if (pkey->c.desc_size) {
+               if (vb2_private_key_set_desc(
+                            key, (const char *)(buf + pkey->c.fixed_size))) {
+                       vb2_private_key_free(key);
+                       return VB2_ERROR_UNPACK_PRIVATE_KEY_DESC;
+               }
+       }
+
+       *key_ptr = key;
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb21_private_key_read(struct vb2_private_key **key_ptr,
+                                 const char *filename)
+{
+       uint32_t size = 0;
+       uint8_t *buf = NULL;
+       vb2_error_t rv;
+
+       *key_ptr = NULL;
+
+       rv = vb2_read_file(filename, &buf, &size);
+       if (rv)
+               return rv;
+
+       rv = vb21_private_key_unpack(key_ptr, buf, size);
+
+       free(buf);
+
+       return rv;
+}
+
+vb2_error_t vb2_private_key_read_pem(struct vb2_private_key **key_ptr,
+                                    const char *filename)
+{
+       struct vb2_private_key *key;
+       FILE *f;
+
+       *key_ptr = NULL;
+
+       /* Allocate the new key */
+       key = calloc(1, sizeof(*key));
+       if (!key)
+               return VB2_ERROR_READ_PEM_ALLOC;
+
+       /* Read private key */
+       f = fopen(filename, "rb");
+       if (!f) {
+               free(key);
+               return VB2_ERROR_READ_PEM_FILE_OPEN;
+       }
+
+       key->rsa_private_key = PEM_read_RSAPrivateKey(f, NULL, NULL, NULL);
+       fclose(f);
+
+       if (!key->rsa_private_key) {
+               free(key);
+               return VB2_ERROR_READ_PEM_RSA;
+       }
+
+       *key_ptr = key;
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_private_key_set_desc(struct vb2_private_key *key,
+                                    const char *desc)
+{
+       if (key->desc)
+               free(key->desc);
+
+       if (desc) {
+               key->desc = strdup(desc);
+               if (!key->desc)
+                       return VB2_ERROR_PRIVATE_KEY_SET_DESC;
+       } else {
+               key->desc = NULL;
+       }
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb21_private_key_write(const struct vb2_private_key *key,
+                                  const char *filename)
+{
+       struct vb21_packed_private_key pkey = {
+               .c.magic = VB21_MAGIC_PACKED_PRIVATE_KEY,
+               .c.struct_version_major = VB21_PACKED_PRIVATE_KEY_VERSION_MAJOR,
+               .c.struct_version_minor = VB21_PACKED_PRIVATE_KEY_VERSION_MINOR,
+               .c.fixed_size = sizeof(pkey),
+               .sig_alg = key->sig_alg,
+               .hash_alg = key->hash_alg,
+               .id = key->id,
+       };
+       uint8_t *buf;
+       uint8_t *rsabuf = NULL;
+       int rsalen = 0;
+       vb2_error_t rv;
+
+       memcpy(&pkey.id, &key->id, sizeof(pkey.id));
+
+       pkey.c.desc_size = vb2_desc_size(key->desc);
+
+       if (key->sig_alg != VB2_SIG_NONE) {
+               /* Pack RSA key */
+               rsalen = i2d_RSAPrivateKey(key->rsa_private_key, &rsabuf);
+               if (rsalen <= 0 || !rsabuf)
+                       return VB2_ERROR_PRIVATE_KEY_WRITE_RSA;
+       }
+
+       pkey.key_offset = pkey.c.fixed_size + pkey.c.desc_size;
+       pkey.key_size = roundup32(rsalen);
+       pkey.c.total_size = pkey.key_offset + pkey.key_size;
+
+       /* Pack private key */
+       buf = calloc(1, pkey.c.total_size);
+       if (!buf) {
+               free(rsabuf);
+               return VB2_ERROR_PRIVATE_KEY_WRITE_ALLOC;
+       }
+
+       memcpy(buf, &pkey, sizeof(pkey));
+
+       /* strcpy() is ok here because we checked the length above */
+       if (pkey.c.desc_size)
+               strcpy((char *)buf + pkey.c.fixed_size, key->desc);
+
+       if (rsabuf) {
+               memcpy(buf + pkey.key_offset, rsabuf, rsalen);
+               free(rsabuf);
+       }
+
+       rv = vb21_write_object(filename, buf);
+       free(buf);
+
+       return rv ? VB2_ERROR_PRIVATE_KEY_WRITE_FILE : VB2_SUCCESS;
+}
+
+vb2_error_t vb2_private_key_hash(const struct vb2_private_key **key_ptr,
+                                enum vb2_hash_algorithm hash_alg)
+{
+       *key_ptr = NULL;
+
+       switch (hash_alg) {
+#if VB2_SUPPORT_SHA1
+       case VB2_HASH_SHA1:
+               {
+                       static const struct vb2_private_key key = {
+                               .hash_alg = VB2_HASH_SHA1,
+                               .sig_alg = VB2_SIG_NONE,
+                               .desc = (char *)"Unsigned SHA1",
+                               .id = VB2_ID_NONE_SHA1,
+                       };
+                       *key_ptr = &key;
+                       return VB2_SUCCESS;
+               }
+#endif
+#if VB2_SUPPORT_SHA256
+       case VB2_HASH_SHA256:
+               {
+                       static const struct vb2_private_key key = {
+                               .hash_alg = VB2_HASH_SHA256,
+                               .sig_alg = VB2_SIG_NONE,
+                               .desc = (char *)"Unsigned SHA-256",
+                               .id = VB2_ID_NONE_SHA256,
+                       };
+                       *key_ptr = &key;
+                       return VB2_SUCCESS;
+               }
+#endif
+#if VB2_SUPPORT_SHA512
+       case VB2_HASH_SHA512:
+               {
+                       static const struct vb2_private_key key = {
+                               .hash_alg = VB2_HASH_SHA512,
+                               .sig_alg = VB2_SIG_NONE,
+                               .desc = (char *)"Unsigned SHA-512",
+                               .id = VB2_ID_NONE_SHA512,
+                       };
+                       *key_ptr = &key;
+                       return VB2_SUCCESS;
+               }
+#endif
+       default:
+               return VB2_ERROR_PRIVATE_KEY_HASH;
+       }
+}
+
+vb2_error_t vb2_public_key_alloc(struct vb2_public_key **key_ptr,
+                                enum vb2_signature_algorithm sig_alg)
+{
+       struct vb2_public_key *key;
+       uint32_t key_data_size = vb2_packed_key_size(sig_alg);
+
+       /* The buffer contains the key, its ID, and its packed data */
+       uint32_t buf_size = sizeof(*key) + sizeof(struct vb2_id) +
+               key_data_size;
+
+       if (!key_data_size)
+               return VB2_ERROR_PUBLIC_KEY_ALLOC_SIZE;
+
+       key = calloc(1, buf_size);
+       if (!key)
+               return VB2_ERROR_PUBLIC_KEY_ALLOC;
+
+       key->id = (struct vb2_id *)(key + 1);
+       key->sig_alg = sig_alg;
+
+       *key_ptr = key;
+
+       return VB2_SUCCESS;
+}
+
+void vb2_public_key_free(struct vb2_public_key *key)
+{
+       if (!key)
+               return;
+
+       if (key->desc)
+               free((void *)key->desc);
+
+       free(key);
+}
+
+uint8_t *vb2_public_key_packed_data(struct vb2_public_key *key)
+{
+       return (uint8_t *)(key->id + 1);
+}
+
+vb2_error_t vb2_public_key_read_keyb(struct vb2_public_key **key_ptr,
+                                    const char *filename)
+{
+       struct vb2_public_key *key = NULL;
+       uint8_t *key_data, *key_buf;
+       uint32_t key_size;
+       enum vb2_signature_algorithm sig_alg;
+
+       *key_ptr = NULL;
+
+       if (vb2_read_file(filename, &key_data, &key_size))
+               return VB2_ERROR_READ_KEYB_DATA;
+
+       /* Guess the signature algorithm from the key size
+        * Note: This only considers exponent F4 keys, as there is no way to
+        * distinguish between exp 3 and F4 based on size. Vboot API 2.1 is
+        * required to make proper use of exp 3 keys. */
+       for (sig_alg = VB2_SIG_RSA1024; sig_alg <= VB2_SIG_RSA8192; sig_alg++) {
+               if (key_size == vb2_packed_key_size(sig_alg))
+                       break;
+       }
+       if (sig_alg > VB2_SIG_RSA8192) {
+               free(key_data);
+               return VB2_ERROR_READ_KEYB_SIZE;
+       }
+
+       if (vb2_public_key_alloc(&key, sig_alg)) {
+               free(key_data);
+               return VB2_ERROR_READ_KEYB_ALLOC;
+       }
+
+       /* Copy data from the file buffer to the public key buffer */
+       key_buf = vb2_public_key_packed_data(key);
+       memcpy(key_buf, key_data, key_size);
+       free(key_data);
+
+       if (vb2_unpack_key_data(key, key_buf, key_size)) {
+               vb2_public_key_free(key);
+               return VB2_ERROR_READ_KEYB_UNPACK;
+       }
+
+       *key_ptr = key;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_public_key_set_desc(struct vb2_public_key *key,
+                                   const char *desc)
+{
+       if (key->desc)
+               free((void *)key->desc);
+
+       if (desc) {
+               key->desc = strdup(desc);
+               if (!key->desc)
+                       return VB2_ERROR_PUBLIC_KEY_SET_DESC;
+       } else {
+               key->desc = NULL;
+       }
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb21_packed_key_read(struct vb21_packed_key **key_ptr,
+                                const char *filename)
+{
+       struct vb2_public_key key;
+       uint8_t *buf;
+       uint32_t size;
+
+       *key_ptr = NULL;
+
+       if (vb2_read_file(filename, &buf, &size))
+               return VB2_ERROR_READ_PACKED_KEY_DATA;
+
+       /* Validity check: make sure key unpacks properly */
+       if (vb21_unpack_key(&key, buf, size))
+               return VB2_ERROR_READ_PACKED_KEY;
+
+       *key_ptr = (struct vb21_packed_key *)buf;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb21_public_key_pack(struct vb21_packed_key **key_ptr,
+                                const struct vb2_public_key *pubk)
+{
+       struct vb21_packed_key key = {
+               .c.magic = VB21_MAGIC_PACKED_KEY,
+               .c.struct_version_major = VB21_PACKED_KEY_VERSION_MAJOR,
+               .c.struct_version_minor = VB21_PACKED_KEY_VERSION_MINOR,
+       };
+       uint8_t *buf;
+       uint32_t *buf32;
+
+       *key_ptr = NULL;
+
+       /* Calculate sizes and offsets */
+       key.c.fixed_size = sizeof(key);
+       key.c.desc_size = vb2_desc_size(pubk->desc);
+       key.key_offset = key.c.fixed_size + key.c.desc_size;
+
+       if (pubk->sig_alg != VB2_SIG_NONE) {
+               key.key_size = vb2_packed_key_size(pubk->sig_alg);
+               if (!key.key_size)
+                       return VB2_ERROR_PUBLIC_KEY_PACK_SIZE;
+       }
+
+       key.c.total_size = key.key_offset + key.key_size;
+
+       /* Copy/initialize fields */
+       key.key_version = pubk->version;
+       key.sig_alg = pubk->sig_alg;
+       key.hash_alg = pubk->hash_alg;
+       key.id = *pubk->id;
+
+       /* Allocate the new buffer */
+       buf = calloc(1, key.c.total_size);
+
+       /* Copy data into the buffer */
+       memcpy(buf, &key, sizeof(key));
+
+       /* strcpy() is safe because we allocated above based on strlen() */
+       if (pubk->desc && *pubk->desc) {
+               strcpy((char *)(buf + key.c.fixed_size), pubk->desc);
+               buf[key.c.fixed_size + key.c.desc_size - 1] = 0;
+       }
+
+       if (pubk->sig_alg != VB2_SIG_NONE) {
+               /* Re-pack the key arrays */
+               buf32 = (uint32_t *)(buf + key.key_offset);
+               buf32[0] = pubk->arrsize;
+               buf32[1] = pubk->n0inv;
+               memcpy(buf32 + 2, pubk->n, pubk->arrsize * sizeof(uint32_t));
+               memcpy(buf32 + 2 + pubk->arrsize, pubk->rr,
+                      pubk->arrsize * sizeof(uint32_t));
+       }
+
+       *key_ptr = (struct vb21_packed_key *)buf;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_public_key_hash(struct vb2_public_key *key,
+                               enum vb2_hash_algorithm hash_alg)
+{
+       switch (hash_alg) {
+#if VB2_SUPPORT_SHA1
+       case VB2_HASH_SHA1:
+               key->desc = "Unsigned SHA1";
+               break;
+#endif
+#if VB2_SUPPORT_SHA256
+       case VB2_HASH_SHA256:
+               key->desc = "Unsigned SHA-256";
+               break;
+#endif
+#if VB2_SUPPORT_SHA512
+       case VB2_HASH_SHA512:
+               key->desc = "Unsigned SHA-512";
+               break;
+#endif
+       default:
+               return VB2_ERROR_PUBLIC_KEY_HASH;
+       }
+
+       key->sig_alg = VB2_SIG_NONE;
+       key->hash_alg = hash_alg;
+       key->id = vb2_hash_id(hash_alg);
+       return VB2_SUCCESS;
+}
+
+enum vb2_signature_algorithm vb2_rsa_sig_alg(struct rsa_st *rsa)
+{
+       const BIGNUM *e, *n;
+       int exp, bits;
+
+       RSA_get0_key(rsa, &n, &e, NULL);
+       exp = BN_get_word(e);
+       bits = BN_num_bits(n);
+
+       switch (exp) {
+       case RSA_3:
+               switch (bits) {
+               case 2048:
+                       return VB2_SIG_RSA2048_EXP3;
+               case 3072:
+                       return VB2_SIG_RSA3072_EXP3;
+               }
+               break;
+       case RSA_F4:
+               switch (bits) {
+               case 1024:
+                       return VB2_SIG_RSA1024;
+               case 2048:
+                       return VB2_SIG_RSA2048;
+               case 4096:
+                       return VB2_SIG_RSA4096;
+               case 8192:
+                       return VB2_SIG_RSA8192;
+               }
+       }
+
+       /* no clue */
+       return VB2_SIG_INVALID;
+}
+
+vb2_error_t vb21_public_key_write(const struct vb2_public_key *key,
+                                 const char *filename)
+{
+       struct vb21_packed_key *pkey;
+       int ret;
+
+       ret = vb21_public_key_pack(&pkey, key);
+       if (ret)
+               return ret;
+
+       ret = vb21_write_object(filename, pkey);
+
+       free(pkey);
+       return ret;
+}
+
+vb2_error_t vb21_unpack_key(struct vb2_public_key *key, const uint8_t *buf,
+                           uint32_t size)
+{
+       const struct vb21_packed_key *pkey =
+               (const struct vb21_packed_key *)buf;
+       uint32_t sig_size;
+       uint32_t min_offset = 0;
+       vb2_error_t rv;
+
+       /* Check magic number */
+       if (pkey->c.magic != VB21_MAGIC_PACKED_KEY)
+               return VB2_ERROR_UNPACK_KEY_MAGIC;
+
+       rv = vb21_verify_common_header(buf, size);
+       if (rv)
+               return rv;
+
+       /* Make sure key data is inside */
+       rv = vb21_verify_common_member(pkey, &min_offset,
+                                      pkey->key_offset, pkey->key_size);
+       if (rv)
+               return rv;
+
+       /*
+        * Check for compatible version.  No need to check minor version, since
+        * that's compatible across readers matching the major version, and we
+        * haven't added any new fields.
+        */
+       if (pkey->c.struct_version_major != VB21_PACKED_KEY_VERSION_MAJOR)
+               return VB2_ERROR_UNPACK_KEY_STRUCT_VERSION;
+
+       /* Copy key algorithms */
+       key->hash_alg = pkey->hash_alg;
+       if (!vb2_digest_size(key->hash_alg))
+               return VB2_ERROR_UNPACK_KEY_HASH_ALGORITHM;
+
+       key->sig_alg = pkey->sig_alg;
+       if (key->sig_alg != VB2_SIG_NONE) {
+               sig_size = vb2_rsa_sig_size(key->sig_alg);
+               if (!sig_size)
+                       return VB2_ERROR_UNPACK_KEY_SIG_ALGORITHM;
+               rv = vb2_unpack_key_data(
+                               key,
+                               (const uint8_t *)pkey + pkey->key_offset,
+                               pkey->key_size);
+               if (rv)
+                       return rv;
+       }
+
+       /* Key description */
+       key->desc = vb21_common_desc(pkey);
+       key->version = pkey->key_version;
+       key->id = &pkey->id;
+
+       return VB2_SUCCESS;
+}
diff --git a/host/lib21/host_misc.c b/host/lib21/host_misc.c
new file mode 100644 (file)
index 0000000..6c0e0ef
--- /dev/null
@@ -0,0 +1,161 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host functions for verified boot.
+ */
+
+#include <ctype.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_common21.h"
+#include "host_misc21.h"
+
+vb2_error_t vb2_read_file(const char *filename, uint8_t **data_ptr,
+                         uint32_t *size_ptr)
+{
+       FILE *f;
+       uint8_t *buf;
+       long size;
+
+       *data_ptr = NULL;
+       *size_ptr = 0;
+
+       f = fopen(filename, "rb");
+       if (!f) {
+               VB2_DEBUG("Unable to open file %s\n", filename);
+               return VB2_ERROR_READ_FILE_OPEN;
+       }
+
+       fseek(f, 0, SEEK_END);
+       size = ftell(f);
+       rewind(f);
+
+       if (size < 0 || size > UINT32_MAX) {
+               fclose(f);
+               return VB2_ERROR_READ_FILE_SIZE;
+       }
+
+       buf = malloc(size + 1);
+       if (!buf) {
+               fclose(f);
+               return VB2_ERROR_READ_FILE_ALLOC;
+       }
+       buf[size] = '\0';
+
+       if(1 != fread(buf, size, 1, f)) {
+               VB2_DEBUG("Unable to read file %s\n", filename);
+               fclose(f);
+               free(buf);
+               return VB2_ERROR_READ_FILE_DATA;
+       }
+
+       fclose(f);
+
+       *data_ptr = buf;
+       *size_ptr = size;
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_write_file(const char *filename, const void *buf, uint32_t size)
+{
+       FILE *f = fopen(filename, "wb");
+
+       if (!f) {
+               VB2_DEBUG("Unable to open file %s\n", filename);
+               return VB2_ERROR_WRITE_FILE_OPEN;
+       }
+
+       if (1 != fwrite(buf, size, 1, f)) {
+               VB2_DEBUG("Unable to write to file %s\n", filename);
+               fclose(f);
+               unlink(filename);  /* Delete any partial file */
+               return VB2_ERROR_WRITE_FILE_DATA;
+       }
+
+       fclose(f);
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb21_write_object(const char *filename, const void *buf)
+{
+       const struct vb21_struct_common *cptr = buf;
+
+       return vb2_write_file(filename, buf, cptr->total_size);
+}
+
+uint32_t vb2_desc_size(const char *desc)
+{
+       if (!desc || !*desc)
+               return 0;
+
+       return roundup32(strlen(desc) + 1);
+}
+
+static const char *onedigit(const char *str, uint8_t *vptr)
+{
+       uint8_t val = 0;
+       char c;
+
+       for (; (c = *str++) && !isxdigit(c);)
+               ;
+       if (!c)
+               return 0;
+
+       if (c >= '0' && c <= '9')
+               val = c - '0';
+       else if (c >= 'A' && c <= 'F')
+               val = 10 + c - 'A';
+       else if (c >= 'a' && c <= 'f')
+               val = 10 + c - 'a';
+
+       *vptr = val;
+       return str;
+}
+
+static const char *onebyte(const char *str, uint8_t *vptr)
+{
+       uint8_t val;
+       uint8_t digit;
+
+       str = onedigit(str, &digit);
+       if (!str)
+               return 0;
+       val = digit << 4;
+
+       str = onedigit(str, &digit);
+       if (!str)
+               return 0;
+       val |= digit;
+
+       *vptr = val;
+       return str;
+}
+
+vb2_error_t vb2_str_to_id(const char *str, struct vb2_id *id)
+{
+       uint8_t val = 0;
+       int i;
+
+       if (!str)
+               return VB2_ERROR_STR_TO_ID;
+
+       memset(id, 0, sizeof(*id));
+
+       for (i = 0; i < VB2_ID_NUM_BYTES; i++) {
+
+               str = onebyte(str, &val);
+               if (!str)
+                       break;
+               id->raw[i] = val;
+       }
+
+       /* If we get at least one valid byte, that's good enough. */
+       return i ? VB2_SUCCESS : VB2_ERROR_STR_TO_ID;
+}
diff --git a/host/lib21/host_signature.c b/host/lib21/host_signature.c
new file mode 100644 (file)
index 0000000..77ee448
--- /dev/null
@@ -0,0 +1,257 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host functions for signatures.
+ */
+
+#include <openssl/rsa.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_common21.h"
+#include "host_key21.h"
+#include "host_misc.h"
+#include "host_signature21.h"
+
+vb2_error_t vb2_digest_info(enum vb2_hash_algorithm hash_alg,
+                           const uint8_t **buf_ptr, uint32_t *size_ptr)
+{
+       *buf_ptr = NULL;
+       *size_ptr = 0;
+
+       switch (hash_alg) {
+#if VB2_SUPPORT_SHA1
+       case VB2_HASH_SHA1:
+               {
+                       static const uint8_t info[] = {
+                               0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e,
+                               0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14
+                       };
+                       *buf_ptr = info;
+                       *size_ptr = sizeof(info);
+                       return VB2_SUCCESS;
+               }
+#endif
+#if VB2_SUPPORT_SHA256
+       case VB2_HASH_SHA256:
+               {
+                       static const uint8_t info[] = {
+                               0x30, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86,
+                               0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+                               0x00, 0x04, 0x20
+                       };
+                       *buf_ptr = info;
+                       *size_ptr = sizeof(info);
+                       return VB2_SUCCESS;
+               }
+#endif
+#if VB2_SUPPORT_SHA512
+       case VB2_HASH_SHA512:
+               {
+                       static const uint8_t info[] = {
+                               0x30, 0x51, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86,
+                               0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05,
+                               0x00, 0x04, 0x40
+                       };
+                       *buf_ptr = info;
+                       *size_ptr = sizeof(info);
+                       return VB2_SUCCESS;
+               }
+#endif
+       default:
+               return VB2_ERROR_DIGEST_INFO;
+       }
+}
+
+vb2_error_t vb21_sign_data(struct vb21_signature **sig_ptr, const uint8_t *data,
+                          uint32_t size, const struct vb2_private_key *key,
+                          const char *desc)
+{
+       struct vb21_signature s = {
+               .c.magic = VB21_MAGIC_SIGNATURE,
+               .c.struct_version_major = VB21_SIGNATURE_VERSION_MAJOR,
+               .c.struct_version_minor = VB21_SIGNATURE_VERSION_MINOR,
+               .c.fixed_size = sizeof(s),
+               .sig_alg = key->sig_alg,
+               .hash_alg = key->hash_alg,
+               .data_size = size,
+               .id = key->id,
+       };
+
+       struct vb2_digest_context dc;
+       uint32_t digest_size;
+       const uint8_t *info = NULL;
+       uint32_t info_size = 0;
+       uint32_t sig_digest_size;
+       uint8_t *sig_digest;
+       uint8_t *buf;
+
+       *sig_ptr = NULL;
+
+       /* Use key description if no description supplied */
+       if (!desc)
+               desc = key->desc;
+
+       s.c.desc_size = vb2_desc_size(desc);
+
+       s.sig_offset = s.c.fixed_size + s.c.desc_size;
+       s.sig_size = vb2_sig_size(key->sig_alg, key->hash_alg);
+       if (!s.sig_size)
+               return VB2_SIGN_DATA_SIG_SIZE;
+
+       s.c.total_size = s.sig_offset + s.sig_size;
+
+       /* Determine digest size and allocate buffer */
+       if (s.sig_alg != VB2_SIG_NONE) {
+               if (vb2_digest_info(s.hash_alg, &info, &info_size))
+                       return VB2_SIGN_DATA_DIGEST_INFO;
+       }
+
+       digest_size = vb2_digest_size(key->hash_alg);
+       if (!digest_size)
+               return VB2_SIGN_DATA_DIGEST_SIZE;
+
+       sig_digest_size = info_size + digest_size;
+       sig_digest = malloc(sig_digest_size);
+       if (!sig_digest)
+               return VB2_SIGN_DATA_DIGEST_ALLOC;
+
+       /* Prepend digest info, if any */
+       if (info_size)
+               memcpy(sig_digest, info, info_size);
+
+       /* Calculate hash digest */
+       if (vb2_digest_init(&dc, s.hash_alg)) {
+               free(sig_digest);
+               return VB2_SIGN_DATA_DIGEST_INIT;
+       }
+
+       if (vb2_digest_extend(&dc, data, size)) {
+               free(sig_digest);
+               return VB2_SIGN_DATA_DIGEST_EXTEND;
+       }
+
+       if (vb2_digest_finalize(&dc, sig_digest + info_size, digest_size)) {
+               free(sig_digest);
+               return VB2_SIGN_DATA_DIGEST_FINALIZE;
+       }
+
+       /* Allocate signature buffer and copy header */
+       buf = calloc(1, s.c.total_size);
+       memcpy(buf, &s, sizeof(s));
+
+       /* strcpy() is ok because we allocated buffer based on desc length */
+       if (desc)
+               strcpy((char *)buf + s.c.fixed_size, desc);
+
+       if (s.sig_alg == VB2_SIG_NONE) {
+               /* Bare hash signature is just the digest */
+               memcpy(buf + s.sig_offset, sig_digest, sig_digest_size);
+       } else {
+               /* RSA-encrypt the signature */
+               if (RSA_private_encrypt(sig_digest_size,
+                                       sig_digest,
+                                       buf + s.sig_offset,
+                                       key->rsa_private_key,
+                                       RSA_PKCS1_PADDING) == -1) {
+                       free(sig_digest);
+                       free(buf);
+                       return VB2_SIGN_DATA_RSA_ENCRYPT;
+               }
+       }
+
+       free(sig_digest);
+       *sig_ptr = (struct vb21_signature *)buf;
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb21_sig_size_for_key(uint32_t *size_ptr,
+                                 const struct vb2_private_key *key,
+                                 const char *desc)
+{
+       uint32_t size = vb2_sig_size(key->sig_alg, key->hash_alg);
+
+       if (!size)
+               return VB2_ERROR_SIG_SIZE_FOR_KEY;
+
+       size += sizeof(struct vb21_signature);
+       size += vb2_desc_size(desc ? desc : key->desc);
+
+       *size_ptr = size;
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb21_sig_size_for_keys(uint32_t *size_ptr,
+                                  const struct vb2_private_key **key_list,
+                                  uint32_t key_count)
+{
+       uint32_t total = 0, size = 0;
+       vb2_error_t rv, i;
+
+       *size_ptr = 0;
+
+       for (i = 0; i < key_count; i++) {
+               rv = vb21_sig_size_for_key(&size, key_list[i], NULL);
+               if (rv)
+                       return rv;
+               total += size;
+       }
+
+       *size_ptr = total;
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb21_sign_object(uint8_t *buf, uint32_t sig_offset,
+                            const struct vb2_private_key *key,
+                            const char *desc)
+{
+       struct vb21_struct_common *c = (struct vb21_struct_common *)buf;
+       struct vb21_signature *sig = NULL;
+       vb2_error_t rv;
+
+       rv = vb21_sign_data(&sig, buf, sig_offset, key, desc);
+       if (rv)
+               return rv;
+
+       if (sig_offset + sig->c.total_size > c->total_size) {
+               free(sig);
+               return VB2_SIGN_OBJECT_OVERFLOW;
+       }
+
+       memcpy(buf + sig_offset, sig, sig->c.total_size);
+       free(sig);
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb21_sign_object_multiple(uint8_t *buf, uint32_t sig_offset,
+                                     const struct vb2_private_key **key_list,
+                                     uint32_t key_count)
+{
+       struct vb21_struct_common *c = (struct vb21_struct_common *)buf;
+       uint32_t sig_next = sig_offset;
+       vb2_error_t rv, i;
+
+       for (i = 0; i < key_count; i++) {
+               struct vb21_signature *sig = NULL;
+
+               rv = vb21_sign_data(&sig, buf, sig_offset, key_list[i], NULL);
+               if (rv)
+                       return rv;
+
+               if (sig_next + sig->c.total_size > c->total_size) {
+                       free(sig);
+                       return VB2_SIGN_OBJECT_OVERFLOW;
+               }
+
+               memcpy(buf + sig_next, sig, sig->c.total_size);
+               sig_next += sig->c.total_size;
+               free(sig);
+       }
+
+       return VB2_SUCCESS;
+}
diff --git a/host/lib21/include/host_common21.h b/host/lib21/include/host_common21.h
new file mode 100644 (file)
index 0000000..55b623d
--- /dev/null
@@ -0,0 +1,124 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Common functions between firmware and kernel verified boot.
+ */
+
+#ifndef VBOOT_REFERENCE_VB21_COMMON_H_
+#define VBOOT_REFERENCE_VB21_COMMON_H_
+
+#include "2common.h"
+#include "2return_codes.h"
+#include "2struct.h"
+#include "host_struct21.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+/**
+ * Return the description of an object starting with a vb21_struct_common
+ * header.
+ *
+ * Does not validity-check the buffer; merely returns the pointer.
+ *
+ * @param buf          Pointer to common object
+ * @return A pointer to description or an empty string if none.
+ */
+const char *vb21_common_desc(const void *buf);
+
+/**
+ * Verify the common struct header is fully contained in its parent data
+ *
+ * Also verifies the description is either zero-length or null-terminated.
+ *
+ * @param parent       Parent data
+ * @param parent_size  Parent size in bytes
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb21_verify_common_header(const void *parent, uint32_t parent_size);
+
+/**
+ * Verify a member is within the data for a parent object
+ *
+ * @param parent       Parent data (starts with struct vb21_struct_common)
+ * @param min_offset   Pointer to minimum offset where member can be located.
+ *                     If this offset is 0 on input, uses the size of the
+ *                     fixed header (and description, if any).  This will be
+ *                     updated on return to the end of the passed member.  On
+ *                     error, the value of min_offset is undefined.
+ * @param member_offset Offset of member data from start of parent, in bytes
+ * @param member_size  Size of member data, in bytes
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb21_verify_common_member(const void *parent, uint32_t *min_offset,
+                                     uint32_t member_offset,
+                                     uint32_t member_size);
+
+/**
+ * Verify a member which starts with a common header is within the parent
+ *
+ * This does not verify the contents of the member or its header, only that the
+ * member's claimed total size fits within the parent's claimed total size at
+ * the specified offset.
+ *
+ * @param parent       Parent data (starts with struct vb21_struct_common)
+ * @param min_offset   Pointer to minimum offset where member can be located.
+ *                     If this offset is 0 on input, uses the size of the
+ *                     fixed header (and description, if any).  This will be
+ *                     updated on return to the end of the passed member.  On
+ *                     error, the value of min_offset is undefined.
+ * @param member_offset Offset of member data from start of parent, in bytes.
+ *                      This should be the start of the common header of the
+ *                      member.
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb21_verify_common_subobject(const void *parent,
+                                        uint32_t *min_offset,
+                                        uint32_t member_offset);
+
+/**
+ * Verify the integrity of a signature struct
+ * @param sig          Signature struct
+ * @param size         Size of buffer containing signature struct
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb21_verify_signature(const struct vb21_signature *sig,
+                                 uint32_t size);
+
+/**
+ * Verify a signature against an expected hash digest.
+ *
+ * @param key          Key to use in signature verification
+ * @param sig          Signature to verify (may be destroyed in process)
+ * @param digest       Digest of signed data
+ * @param wb           Work buffer
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb21_verify_digest(const struct vb2_public_key *key,
+                              struct vb21_signature *sig,
+                              const uint8_t *digest,
+                              const struct vb2_workbuf *wb);
+
+/**
+ * Verify data matches signature.
+ *
+ * @param data         Data to verify
+ * @param size         Size of data buffer.  Note that amount of data to
+ *                     actually validate is contained in sig->data_size.
+ * @param sig          Signature of data (destroyed in process)
+ * @param key          Key to use to validate signature
+ * @param wb           Work buffer
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb21_verify_data(const void *data, uint32_t size,
+                            struct vb21_signature *sig,
+                            const struct vb2_public_key *key,
+                            const struct vb2_workbuf *wb);
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_VB21_COMMON_H_ */
diff --git a/host/lib21/include/host_key21.h b/host/lib21/include/host_key21.h
new file mode 100644 (file)
index 0000000..ae53ad5
--- /dev/null
@@ -0,0 +1,233 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host-side functions for verified boot key structures
+ */
+
+#ifndef VBOOT_REFERENCE_HOST_KEY2_H_
+#define VBOOT_REFERENCE_HOST_KEY2_H_
+
+#include "2id.h"
+#include "2return_codes.h"
+#include "2struct.h"
+
+struct vb2_public_key;
+struct vb21_packed_key;
+
+/* Private key data, in-memory format for use in signing calls. */
+struct vb2_private_key {
+       struct rsa_st *rsa_private_key;         /* Private key data */
+       enum vb2_hash_algorithm hash_alg;       /* Hash algorithm */
+       enum vb2_signature_algorithm sig_alg;   /* Signature algorithm */
+       char *desc;                             /* Description */
+       struct vb2_id id;                       /* Key ID */
+};
+
+struct vb2_packed_private_key {
+       /* Signature algorithm used by the key (enum vb2_crypto_algorithm) */
+       uint32_t algorithm;
+       uint32_t reserved2;
+       /* Key data formatted for d2i_RSAPrivateKey() */
+       uint8_t key_data[0];
+};
+
+/**
+ * Free a private key.
+ *
+ * @param key          Key containing internal data to free.
+ */
+void vb2_private_key_free(struct vb2_private_key *key);
+
+/**
+ * Unpack a private key from vb21_packed_private_key format.
+ *
+ * @param key_ptr      Destination for newly allocated key; this must be
+ *                     freed with vb2_private_key_free().
+ * @param buf          Source buffer containing packed key
+ * @param size         Size of buffer in bytes
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb21_private_key_unpack(struct vb2_private_key **key_ptr,
+                                   const uint8_t *buf, uint32_t size);
+
+/**
+ * Read a private key from vb21_packed_private_key format.
+ *
+ * @param key_ptr      Destination for newly allocated key; this must be
+ *                     freed with vb2_private_key_free().
+ * @param filename     File to read key data from.
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb21_private_key_read(struct vb2_private_key **key_ptr,
+                                 const char *filename);
+
+/**
+ * Read a private key from a .pem file.
+ *
+ * This only reads the internal data for the key.  It does not set any of the
+ * other fields in *key_ptr, since those are not contained in the .pem file.
+ *
+ * @param key_ptr      Destination for newly allocated key; this must be
+ *                     freed with vb2_private_key_free().
+ * @param filename     File to read key data from.
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_private_key_read_pem(struct vb2_private_key **key_ptr,
+                                    const char *filename);
+
+/**
+ * Set the description of a private key.
+ *
+ * @param key          Key to set description for
+ * @param desc         Description string, or NULL if no description.
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_private_key_set_desc(struct vb2_private_key *key,
+                                    const char *desc);
+
+/**
+ * Write a private key to vb21_packed_private_key format.
+ *
+ * @param key          Key to write
+ * @param filename     File to write key data to.
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb21_private_key_write(const struct vb2_private_key *key,
+                                  const char *filename);
+
+/**
+ * Get a private key for an unsigned hash
+ *
+ * @param key_ptr      Destination for pointer to key.  The key is statically
+ *                     allocated and must not be freed.
+ * @param hash_alg     Hash algorithm to use
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_private_key_hash(const struct vb2_private_key **key_ptr,
+                                enum vb2_hash_algorithm hash_alg);
+
+/**
+ * Allocate a public key buffer of sufficient size for the signature algorithm.
+ *
+ * This only initializes the sig_alg field and the id field to an empty
+ * id.  It does not set any of the other fields in *key_ptr.
+ *
+ * @param key_ptr      Destination for newly allocated key; this must be
+ *                     freed with vb2_public_key_free().
+ * @param sig_alg      Signature algorithm for key.
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_public_key_alloc(struct vb2_public_key **key_ptr,
+                                enum vb2_signature_algorithm sig_alg);
+
+/**
+ * Return the packed data for a key allocated with vb2_public_key_alloc().
+ *
+ * The packed data is in the same buffer, following the key struct and ID.
+ */
+uint8_t *vb2_public_key_packed_data(struct vb2_public_key *key);
+
+/**
+ * Free a public key allocated by one of the functions below.
+ *
+ * Note that this should ONLY be called for public keys allocated via one
+ * of those functions; public keys created or filled in other ways (such as
+ * vb21_unpack_key()) do not allocate memory for sub-fields in the same way.
+ *
+ * @param key          Key to free
+ */
+void vb2_public_key_free(struct vb2_public_key *key);
+
+/**
+ * Read a public key from a .keyb file.
+ *
+ * Guesses the signature algorithm based on the size of the .keyb file.  Does
+ * not set the hash_alg, id, or desc fields, since those are not contained in
+ * the .keyb file.
+ *
+ * @param key_ptr      Destination for newly allocated key; this must be
+ *                     freed with vb2_public_key_free().
+ * @param filename     File to read key from.
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+
+vb2_error_t vb2_public_key_read_keyb(struct vb2_public_key **key_ptr,
+                                    const char *filename);
+
+/**
+ * Set the description of a public key.
+ *
+ * @param key          Key to set description for
+ * @param desc         Description string, or NULL if no description.
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_public_key_set_desc(struct vb2_public_key *key,
+                                   const char *desc);
+
+/**
+ * Read a public key in vb21_packed_key format.
+ *
+ * @param key_ptr      On success, points to the newly allocated key buffer.
+ *                     Caller is responsible for calling free() on this.
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb21_packed_key_read(struct vb21_packed_key **key_ptr,
+                                const char *filename);
+
+/**
+ * Pack a public key into vb21_packed_key format.
+ *
+ * @param pubk         Public key to pack
+ * @param key_ptr      On success, points to a newly allocated packed key
+ *                     buffer.  Caller is responsible for calling free() on
+ *                     this.
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb21_public_key_pack(struct vb21_packed_key **key_ptr,
+                                const struct vb2_public_key *pubk);
+
+/**
+ * Get a public key for an unsigned hash.
+ *
+ * @param key          Destination for key data.
+ * @param hash_alg     Hash algorithm to use
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb2_public_key_hash(struct vb2_public_key *key,
+                               enum vb2_hash_algorithm hash_alg);
+
+
+/**
+ * Return the signature algorithm implied by the bit length of an RSA key
+ *
+ * @param rsa          RSA key
+ * @return vb2 signature algorithm
+ */
+enum vb2_signature_algorithm vb2_rsa_sig_alg(struct rsa_st *rsa);
+
+/**
+ * Write a public key to the vb21_packed_key format.
+ *
+ * @param key          Key to write
+ * @param filename     File to write key data to.
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb21_public_key_write(const struct vb2_public_key *key,
+                                 const char *filename);
+
+/**
+ * Unpack a key for use in verification
+ *
+ * The elements of the unpacked key will point into the source buffer, so don't
+ * free the source buffer until you're done with the key.
+ *
+ * @param key          Destintion for unpacked key
+ * @param buf          Source buffer containing packed key
+ * @param size         Size of buffer in bytes
+ * @return VB2_SUCCESS, or non-zero error code if error.
+ */
+vb2_error_t vb21_unpack_key(struct vb2_public_key *key, const uint8_t *buf,
+                           uint32_t size);
+
+#endif  /* VBOOT_REFERENCE_HOST_KEY2_H_ */
diff --git a/host/lib21/include/host_misc21.h b/host/lib21/include/host_misc21.h
new file mode 100644 (file)
index 0000000..795ebb2
--- /dev/null
@@ -0,0 +1,26 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_HOST_MISC2_H_
+#define VBOOT_REFERENCE_HOST_MISC2_H_
+
+#include <stdint.h>
+#include <stdio.h>
+
+#include "2id.h"
+
+/* Length of string representation, including trailing '\0' */
+#define VB2_ID_MIN_STRLEN (2 * VB2_ID_NUM_BYTES + 1)
+
+/**
+ * Convert hex string to struct vb2_id.
+ *
+ * @param str          Example: "01ABef000042"
+ * @param id            Destination for binary representation
+ * @return VB2_SUCCESS, or non-zero if error.
+ */
+vb2_error_t vb2_str_to_id(const char *str, struct vb2_id *id);
+
+#endif  /* VBOOT_REFERENCE_HOST_MISC2_H_ */
diff --git a/host/lib21/include/host_signature21.h b/host/lib21/include/host_signature21.h
new file mode 100644 (file)
index 0000000..0b1784a
--- /dev/null
@@ -0,0 +1,96 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Host-side functions for verified boot key structures
+ */
+
+#ifndef VBOOT_REFERENCE_HOST_SIGNATURE2_H_
+#define VBOOT_REFERENCE_HOST_SIGNATURE2_H_
+
+#include "2struct.h"
+
+struct vb2_private_key;
+struct vb21_signature;
+
+/**
+ * Get the digest info for a hash algorithm
+ *
+ * @param hash_alg     Hash algorithm
+ * @param buf_ptr      On success, points to the digest info
+ * @param size_ptr     On success, contains the info size in bytes
+ * @return VB2_SUCCESS, or non-zero error code on failure.
+ */
+vb2_error_t vb2_digest_info(enum vb2_hash_algorithm hash_alg,
+                           const uint8_t **buf_ptr, uint32_t *size_ptr);
+
+/**
+ * Sign data buffer
+ *
+ * @param sig_ptr      On success, points to a newly allocated signature.
+ *                     Caller is responsible for calling free() on this.
+ * @param data         Pointer to data to sign
+ * @param size         Size of data to sign in bytes
+ * @param key          Private key to use to sign data
+ * @param desc         Optional description for signature.  If NULL, the
+ *                     key description will be used.
+ * @return VB2_SUCCESS, or non-zero error code on failure.
+ */
+vb2_error_t vb21_sign_data(struct vb21_signature **sig_ptr, const uint8_t *data,
+                          uint32_t size, const struct vb2_private_key *key,
+                          const char *desc);
+
+/**
+ * Calculate the signature size for a private key.
+ *
+ * @param size_ptr     On success, contains the signature size in bytes.
+ * @param key          Key to calculate signature length from.
+ * @param desc         Optional description for signature.  If NULL, the
+ *                     key description will be used.
+ * @return VB2_SUCCESS, or non-zero error code on failure.
+ */
+vb2_error_t vb21_sig_size_for_key(uint32_t *size_ptr,
+                                 const struct vb2_private_key *key,
+                                 const char *desc);
+
+/**
+ * Calculate the total signature size for a list of keys.
+ *
+ * @param size_ptr     On success, contains the signature size in bytes.
+ * @param key_list     List of keys to calculate signature length from.
+ * @param key_count    Number of keys.
+ * @return VB2_SUCCESS, or non-zero error code on failure.
+ */
+vb2_error_t vb21_sig_size_for_keys(uint32_t *size_ptr,
+                                  const struct vb2_private_key **key_list,
+                                  uint32_t key_count);
+
+/**
+ * Sign object with a key.
+ *
+ * @param buf          Buffer containing object to sign, starting with
+ *                     common header
+ * @param sig_offset   Offset in buffer at which to store signature.  All
+ *                     data before this in the buffer will be signed.
+ * @param key          Key to sign object with
+ * @param desc         If non-null, description to use for signature
+ */
+vb2_error_t vb21_sign_object(uint8_t *buf, uint32_t sig_offset,
+                            const struct vb2_private_key *key,
+                            const char *desc);
+
+/**
+ * Sign object with list of keys.
+ *
+ * @param buf          Buffer containing object to sign, starting with
+ *                     common header
+ * @param sig_offset   Offset to start signatures.  All data before this
+ *                     in the buffer will be signed.
+ * @param key_list     List of keys to sign object with
+ * @param key_count    Number of keys in list
+ */
+vb2_error_t vb21_sign_object_multiple(uint8_t *buf, uint32_t sig_offset,
+                                     const struct vb2_private_key **key_list,
+                                     uint32_t key_count);
+
+#endif  /* VBOOT_REFERENCE_HOST_SIGNATURE2_H_ */
diff --git a/host/lib21/include/host_struct21.h b/host/lib21/include/host_struct21.h
new file mode 100644 (file)
index 0000000..6f91e36
--- /dev/null
@@ -0,0 +1,233 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Vboot 2.1 data structures
+ *
+ * Offsets should be padded to 32-bit boundaries, since some architectures
+ * have trouble with accessing unaligned integers.
+ */
+
+#ifndef VBOOT_REFERENCE_VB21_STRUCT_H_
+#define VBOOT_REFERENCE_VB21_STRUCT_H_
+
+#include "2id.h"
+#include "2sysincludes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif  /* __cplusplus */
+
+/*
+ * Magic numbers used by vb21_struct_common.magic.
+ *
+ * All valid numbers should be listed here to avoid accidental overlap.
+ * Numbers start at a large value, so that previous parsers (which stored
+ * things like lengths and offsets at that field) will detect and reject new
+ * structs as invalid.
+ */
+enum vb21_struct_common_magic {
+       /* "Vb2I" = vb21_packed_private_key.c.magic */
+       VB21_MAGIC_PACKED_PRIVATE_KEY   = 0x49326256,
+
+       /* "Vb2P" = vb21_packed_key.c.magic */
+       VB21_MAGIC_PACKED_KEY           = 0x50326256,
+
+       /* "Vb2S" = vb21_signature.c.magic */
+       VB21_MAGIC_SIGNATURE            = 0x53326256,
+};
+
+
+/*
+ * Generic struct header for all vboot2.1 structs.  This makes it easy to
+ * automatically parse and identify vboot structs (e.g., in futility).  This
+ * must be the first member of the parent vboot2.1 struct.
+ */
+struct vb21_struct_common {
+       /* Magic number; see vb21_struct_common_magic for expected values */
+       uint32_t magic;
+
+       /*
+        * Parent struct version; see each struct for the expected value.
+        *
+        * How to handle struct version mismatches, if the parser is version
+        * A.b and the data is version C.d:
+        *     1) If A.b == C.d, we're good.
+        *     2) If A != C, the data cannot be parsed at all.
+        *     3) If b < d, C.d is a newer version of data which is backwards-
+        *        compatible to old parsers.  We're good.
+        *     4) If b > d, C.d is an older version of data.  The parser should
+        *        use default values for fields added after version d.  We're
+        *        good.
+        *
+        * Struct versions start at 3.0, since the highest version of the old
+        * structures was 2.1.  This way, there is no possibility of collision
+        * for old code which depends on the version number.
+        */
+       uint16_t struct_version_major;
+       uint16_t struct_version_minor;
+
+       /*
+        * Size of the parent structure and all its data, including the
+        * description and any necessary padding.  That is, all data must lie
+        * in a contiguous region of <total_size> bytes starting at the first
+        * byte of this header.
+        */
+       uint32_t total_size;
+
+       /*
+        * Size of the fixed portion of the parent structure.  If a description
+        * is present, it must start at this offset.
+        */
+       uint32_t fixed_size;
+
+       /*
+        * The object may contain an ASCII description following the fixed
+        * portion of the structure.  If it is present, it must be
+        * null-terminated, and padded with 0 (null) bytes to a multiple of 32
+        * bits.
+        *
+        * Size of ASCII description in bytes, counting null terminator and
+        * padding (if any).  Set 0 if no description is present.  If non-zero,
+        * there must be a null terminator (0) at offset (fixed_size +
+        * desc_size - 1).
+        */
+       uint32_t desc_size;
+} __attribute__((packed));
+
+#define EXPECTED_VB21_STRUCT_COMMON_SIZE 20
+
+/* Current version of vb21_packed_key struct */
+#define VB21_PACKED_KEY_VERSION_MAJOR 3
+#define VB21_PACKED_KEY_VERSION_MINOR 0
+
+/*
+ * Packed public key data
+ *
+ * The key data must be arranged like this:
+ *     1) vb21_packed_key header struct h
+ *     2) Key description (pointed to by h.c.fixed_size)
+ *     3) Key data key (pointed to by h.key_offset)
+ */
+struct vb21_packed_key {
+       /* Common header fields */
+       struct vb21_struct_common c;
+
+       /* Offset of key data from start of this struct */
+       uint32_t key_offset;
+
+       /* Size of key data in bytes (NOT strength of key in bits) */
+       uint32_t key_size;
+
+       /* Signature algorithm used by the key (enum vb2_signature_algorithm) */
+       uint16_t sig_alg;
+
+       /*
+        * Hash digest algorithm used with the key (enum vb2_hash_algorithm).
+        * This is explicitly specified as part of the key to prevent use of a
+        * strong key with a weak hash.
+        */
+       uint16_t hash_alg;
+
+       /* Key version */
+       uint32_t key_version;
+
+       /* Key ID */
+       struct vb2_id id;
+} __attribute__((packed));
+
+#define EXPECTED_VB21_PACKED_KEY_SIZE                                  \
+       (EXPECTED_VB21_STRUCT_COMMON_SIZE + 16 + EXPECTED_ID_SIZE)
+
+/* Current version of vb21_packed_private_key struct */
+#define VB21_PACKED_PRIVATE_KEY_VERSION_MAJOR 3
+#define VB21_PACKED_PRIVATE_KEY_VERSION_MINOR 0
+
+/*
+ * Packed private key data
+ *
+ * The key data must be arranged like this:
+ *     1) vb21_packed_private_key header struct h
+ *     2) Key description (pointed to by h.c.fixed_size)
+ *     3) Key data key (pointed to by h.key_offset)
+ */
+struct vb21_packed_private_key {
+       /* Common header fields */
+       struct vb21_struct_common c;
+
+       /* Offset of key data from start of this struct */
+       uint32_t key_offset;
+
+       /* Size of key data in bytes (NOT strength of key in bits) */
+       uint32_t key_size;
+
+       /* Signature algorithm used by the key (enum vb2_signature_algorithm) */
+       uint16_t sig_alg;
+
+       /*
+        * Hash digest algorithm used with the key (enum vb2_hash_algorithm).
+        * This is explicitly specified as part of the key to prevent use of a
+        * strong key with a weak hash.
+        */
+       uint16_t hash_alg;
+
+       /* Key ID */
+       struct vb2_id id;
+} __attribute__((packed));
+
+#define EXPECTED_VB21_PACKED_PRIVATE_KEY_SIZE                          \
+       (EXPECTED_VB21_STRUCT_COMMON_SIZE + 12 + EXPECTED_ID_SIZE)
+
+/* Current version of vb21_signature struct */
+#define VB21_SIGNATURE_VERSION_MAJOR 3
+#define VB21_SIGNATURE_VERSION_MINOR 0
+
+/*
+ * Signature data
+ *
+ * The signature data must be arranged like this:
+ *     1) vb21_signature header struct h
+ *     2) Signature description (pointed to by h.c.fixed_size)
+ *     3) Signature data (pointed to by h.sig_offset)
+ */
+struct vb21_signature {
+       /* Common header fields */
+       struct vb21_struct_common c;
+
+       /* Offset of signature data from start of this struct */
+       uint32_t sig_offset;
+
+       /* Size of signature data in bytes */
+       uint32_t sig_size;
+
+       /* Size of the data block which was signed in bytes */
+       uint32_t data_size;
+
+       /* Signature algorithm used (enum vb2_signature_algorithm) */
+       uint16_t sig_alg;
+
+       /* Hash digest algorithm used (enum vb2_hash_algorithm) */
+       uint16_t hash_alg;
+
+       /*
+        * ID for the signature.
+        *
+        * If this is a keyblock signature entry, this is the ID of the key
+        * used to generate this signature.  This allows the firmware to
+        * quickly determine which signature block (if any) goes with the key
+        * being used by the firmware.
+        *
+        * If this is a preamble hash entry, this is the ID of the data type
+        * being hashed.  There is no key ID, because sig_alg=VB2_ALG_NONE.
+        */
+       struct vb2_id id;
+} __attribute__((packed));
+
+#define EXPECTED_VB21_SIGNATURE_SIZE                                   \
+       (EXPECTED_VB21_STRUCT_COMMON_SIZE + 16 + EXPECTED_ID_SIZE)
+
+#ifdef __cplusplus
+}
+#endif  /* __cplusplus */
+
+#endif  /* VBOOT_REFERENCE_VB21_STRUCT_H_ */
diff --git a/rust/OWNERS b/rust/OWNERS
new file mode 100644 (file)
index 0000000..fe3921f
--- /dev/null
@@ -0,0 +1 @@
+allenwebb@chromium.org
diff --git a/rust/README.md b/rust/README.md
new file mode 100644 (file)
index 0000000..3a899ce
--- /dev/null
@@ -0,0 +1,18 @@
+# Rust bindings for vboot_reference
+
+This path contains the vboot_reference-sys crate which uses bindgen to generate
+Rust bindings for the vboot_reference C library.
+
+Each header is included as its own submodule. To use these bindings:
+ * Add `vboot_reference-sys` to your `Cargo.toml` for example:
+```toml
+[dependencies]
+vboot_reference-sys = { path = "../../vboot_reference/rust/vboot_reference-sys" }
+```
+ * Include the symbols you need for example:
+```rust
+use vboot_reference_sys::crossystem::*;
+```
+
+The `build.rs` in `vboot_reference-sys` takes care of adding the necessary
+includes and linker flags for `vboot_host` through the `pkg-config` crate.
diff --git a/rust/vboot_reference-sys/Cargo.toml b/rust/vboot_reference-sys/Cargo.toml
new file mode 100644 (file)
index 0000000..59769ee
--- /dev/null
@@ -0,0 +1,17 @@
+[package]
+name = "vboot_reference-sys"
+version = "1.0.0"
+description = "Provides raw (unsafe) bindings to the vboot_reference C library."
+authors = ["The Chromium OS Authors"]
+edition = "2018"
+build = "build.rs"
+
+[lib]
+path = "lib.rs"
+
+[dependencies]
+libc = "0.2.44"
+
+[build-dependencies]
+pkg-config = "0.3"
+which = "4.0.0"
diff --git a/rust/vboot_reference-sys/build.rs b/rust/vboot_reference-sys/build.rs
new file mode 100644 (file)
index 0000000..523602f
--- /dev/null
@@ -0,0 +1,54 @@
+// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/// Minijail's build script invoked by cargo.
+///
+/// This script prefers linking against a pkg-config provided libminijail, but will fall back to
+/// building libminijail statically.
+use std::env;
+use std::fs::remove_file;
+use std::io;
+use std::path::Path;
+use std::process::Command;
+
+fn bindings_generation() -> io::Result<()> {
+    let bindgen = which::which("bindgen").unwrap();
+
+    let out_dir = env::var("OUT_DIR").unwrap();
+    let gen_file = Path::new(&out_dir).join("./crossystem.rs");
+    if gen_file.exists() {
+        remove_file(&gen_file).expect("Failed to remove generated file.");
+    }
+    let header_dir = Path::new(".");
+    let header_path = header_dir.join("crossystem.h");
+    println!("cargo:rerun-if-changed={}", header_path.display());
+    let status = Command::new(&bindgen)
+        .args(&["--default-enum-style", "rust"])
+        .args(&["--blacklist-type", "__rlim64_t"])
+        .args(&["--raw-line", "pub type __rlim64_t = u64;"])
+        .args(&["--blacklist-type", "__u\\d{1,2}"])
+        .args(&["--raw-line", "pub type __u8 = u8;"])
+        .args(&["--raw-line", "pub type __u16 = u16;"])
+        .args(&["--raw-line", "pub type __u32 = u32;"])
+        .args(&["--blacklist-type", "__uint64_t"])
+        .arg("--no-layout-tests")
+        .arg("--disable-header-comment")
+        .args(&["--output", gen_file.to_str().unwrap()])
+        .arg(header_path.to_str().unwrap())
+        .args(&[
+            "--",
+            "-DUSE_BINDGEN",
+            "-D_FILE_OFFSET_BITS=64",
+            "-D_LARGEFILE_SOURCE",
+            "-D_LARGEFILE64_SOURCE",
+        ])
+        .status()?;
+    assert!(status.success());
+    Ok(())
+}
+
+fn main() -> io::Result<()> {
+    pkg_config::Config::new().probe("vboot_host").unwrap();
+    bindings_generation()
+}
diff --git a/rust/vboot_reference-sys/crossystem.h b/rust/vboot_reference-sys/crossystem.h
new file mode 120000 (symlink)
index 0000000..9672639
--- /dev/null
@@ -0,0 +1 @@
+../../host/include/crossystem.h
\ No newline at end of file
diff --git a/rust/vboot_reference-sys/lib.rs b/rust/vboot_reference-sys/lib.rs
new file mode 100644 (file)
index 0000000..85b6f2a
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2022 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/// vboot_reference bindings for Rust.
+
+#[allow(
+    clippy::all,
+    non_camel_case_types,
+    non_snake_case,
+    non_upper_case_globals
+)]
+pub mod crossystem {
+    include!(concat!(env!("OUT_DIR"), "/crossystem.rs"));
+}
diff --git a/scripts/OWNERS b/scripts/OWNERS
new file mode 100644 (file)
index 0000000..ad80321
--- /dev/null
@@ -0,0 +1,4 @@
+vapier@chromium.org
+engeg@chromium.org
+roydsouza@chromium.org
+allenwebb@google.com
diff --git a/scripts/getversion.sh b/scripts/getversion.sh
new file mode 100755 (executable)
index 0000000..a563007
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Generate version information
+
+if ghash=$(git rev-parse --short --verify HEAD 2>/dev/null); then
+       if gdesc=$(git describe --dirty --match='v*' 2>/dev/null); then
+               IFS="-" fields=($gdesc)
+               tag="${fields[0]}"
+               IFS="." vernum=($tag)
+               numcommits=$((${vernum[2]}+${fields[1]:-0}))
+               ver_major="${vernum[0]}"
+               ver_branch="${vernum[1]}"
+       else
+               numcommits=$(git rev-list HEAD | wc -l)
+               ver_major="v0"
+               ver_branch="0"
+       fi
+       # avoid putting the -dirty attribute if only the timestamp
+       # changed
+       dirty=$(sh -c "[ '$(git diff-index --name-only HEAD)' ] \
+                && echo '-dirty'")
+       ver="${ver_major}.${ver_branch}.${numcommits}-${ghash}${dirty}"
+else
+       ver="unknown"
+fi
+
+date=$(date '+%F %T')
+
+echo "const char futility_version[] = \"${ver} ${date} ${USER}\";";
diff --git a/scripts/image_signing/common.sh b/scripts/image_signing/common.sh
new file mode 100644 (file)
index 0000000..efa00a2
--- /dev/null
@@ -0,0 +1,140 @@
+#!/bin/bash
+#
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# shellcheck disable=SC2039,SC2059,SC2155
+
+# shellcheck source=./common_minimal.sh
+. "$(dirname "$0")/common_minimal.sh"
+CROS_LOG_PREFIX="${PROG}: "
+
+# Performs clean up by executing actions in the cleanup_actions array in
+# reversed order.
+cleanup() {
+  # Save the existing return value.
+  rv=$?
+  set +e
+
+  cleanup_temps_and_mounts
+  cleanup_loopbacks
+
+  set -e
+  return $rv
+}
+
+# ANSI color codes used when displaying messages.
+# Taken from src/scripts/common.sh.
+V_BOLD_GREEN="\e[1;32m"
+V_BOLD_RED="\e[1;31m"
+V_BOLD_YELLOW="\e[1;33m"
+V_VIDOFF="\e[0m"
+
+# Prints an informational message.
+# Taken from src/scripts/common.sh.
+# Arg: MESSAGE
+info() {
+  echo -e >&2 "${V_BOLD_GREEN}${CROS_LOG_PREFIX:-}INFO   : $*${V_VIDOFF}"
+}
+
+# Prints a warning message.
+# Taken from src/scripts/common.sh.
+# Arg: MESSAGE
+warn() {
+  echo -e >&2 "${V_BOLD_YELLOW}${CROS_LOG_PREFIX:-}WARNING: $*${V_VIDOFF}"
+}
+
+# Prints the specified error and exit the script with an error code.
+# Taken from src/scripts/common.sh.
+# Args: MESSAGE
+error() {
+  echo -e >&2   "${V_BOLD_RED}${CROS_LOG_PREFIX:-}ERROR  : $*${V_VIDOFF}"
+}
+
+TEMP_LOOP_LIST=$(mktemp)
+
+# Setup a loopback device for a file and scan for partitions, with retries.
+#
+# $1 - The file to back the new loopback device.
+# $2-$N - Additional arguments to pass to losetup.
+loopback_partscan() {
+  local lb_dev image="$1"
+  shift
+
+  # We know partition scanning & dev node creation can be racy with udev and
+  # the kernel, and the kernel does not sleep/wait for it to finish.  We have
+  # to use the partx tool manually as it will sleep until things are finished.
+  lb_dev=$(sudo losetup --show -f "$@" "${image}")
+
+  # Cache the path so we can clean it up.
+  echo "${lb_dev}" >>"${TEMP_LOOP_LIST}"
+
+  # Ignore problems deleting existing partitions. There shouldn't be any
+  # which will upset partx, but that's actually ok.
+  sudo partx -d "${lb_dev}" 2>/dev/null || true
+  sudo partx -a "${lb_dev}"
+
+  echo "${lb_dev}"
+}
+
+# Detach a loopback device set up earlier.
+#
+# $1 - The loop device to detach.
+# $2-$N - Additional arguments to pass to losetup.
+loopback_detach() {
+  # Retry the deletes before we detach.  crbug.com/469259
+  local i
+  for (( i = 0; i < 10; i++ )); do
+    if sudo partx -d "$1"; then
+      break
+    fi
+    warn "Sleeping & retrying ..."
+    sync
+    sleep 1
+  done
+  sudo losetup --detach "$@"
+}
+
+# Clear out all loopback devices we setup.
+cleanup_loopbacks() {
+  local line
+  while read -r line; do
+    info "Cleanup: detaching ${line}"
+    loopback_detach "${line}" 2>/dev/null
+  done <"${TEMP_LOOP_LIST}"
+  rm -f "${TEMP_LOOP_LIST}"
+}
+
+# Usage: lsbval path-to-lsb-file key
+# Returns the value for the given lsb-release file variable.
+lsbval() {
+  local lsbfile="$1"
+  local key="$2"
+  grep "^${key}=" "${lsbfile}" | sed "s/^${key}=//"
+}
+
+# Usage: get_board_from_lsb_release rootfs
+# Returns the exact board name from /etc/lsb-release.  This may contain
+# dashes or other characters not suitable for variable names.  See the
+# next function for that.
+get_board_from_lsb_release() {
+  local rootfs="$1"
+  lsbval "${rootfs}/etc/lsb-release" CHROMEOS_RELEASE_BOARD
+}
+
+# Usage: get_boardvar_from_lsb_release rootfs
+# Returns the board name from /etc/lsb-release in a mangled form that can
+# be used in variable names.  e.g. dashes are turned into underscores.
+get_boardvar_from_lsb_release() {
+  get_board_from_lsb_release "$@" | sed 's:[-]:_:g'
+}
+
+# Usage: restore_lsb_selinux lsb-file
+# restore lsb-release security.selinux attribute
+restore_lsb_selinux() {
+  sudo setfattr -n security.selinux -v "u:object_r:cros_conf_file:s0" "$1"
+}
+
+# This will override the trap set in common_minmal.sh
+trap "cleanup" INT TERM EXIT
diff --git a/scripts/image_signing/common_minimal.sh b/scripts/image_signing/common_minimal.sh
new file mode 100644 (file)
index 0000000..e8f0336
--- /dev/null
@@ -0,0 +1,520 @@
+#!/bin/sh
+#
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Note: This file must be written in dash compatible way as scripts that use
+# this may run in the Chrome OS client enviornment.
+
+# shellcheck disable=SC2039,SC2059,SC2155
+
+# Determine script directory
+SCRIPT_DIR=$(dirname "$0")
+PROG=$(basename "$0")
+: "${GPT:=cgpt}"
+: "${FUTILITY:=futility}"
+
+# The tag when the rootfs is changed.
+TAG_NEEDS_TO_BE_SIGNED="/root/.need_to_be_signed"
+
+# List of Temporary files and mount points.
+TEMP_FILE_LIST=$(mktemp)
+TEMP_DIR_LIST=$(mktemp)
+
+# Finds and loads the 'shflags' library, or return as failed.
+load_shflags() {
+  # Load shflags
+  if [ -f /usr/share/misc/shflags ]; then
+    # shellcheck disable=SC1090,SC1091
+    .  /usr/share/misc/shflags
+  elif [ -f "${SCRIPT_DIR}/lib/shflags/shflags" ]; then
+    # shellcheck disable=SC1090
+    . "${SCRIPT_DIR}/lib/shflags/shflags"
+  else
+    echo "ERROR: Cannot find the required shflags library."
+    return 1
+  fi
+
+  # Add debug option for debug output below
+  DEFINE_boolean debug $FLAGS_FALSE "Provide debug messages" "d"
+}
+
+# Functions for debug output
+# ----------------------------------------------------------------------------
+
+# These helpers are for runtime systems.  For scripts using common.sh,
+# they'll get better definitions that will clobber these ones.
+info() {
+  echo "${PROG}: INFO: $*" >&2
+}
+
+warn() {
+  echo "${PROG}: WARN: $*" >&2
+}
+
+error() {
+  echo "${PROG}: ERROR: $*" >&2
+}
+
+# Reports error message and exit(1)
+# Args: error message
+die() {
+  error "$@"
+  exit 1
+}
+
+# Returns true if we're running in debug mode.
+#
+# Note that if you don't set up shflags by calling load_shflags(), you
+# must set $FLAGS_debug and $FLAGS_TRUE yourself.  The default
+# behavior is that debug will be off if you define neither $FLAGS_TRUE
+# nor $FLAGS_debug.
+is_debug_mode() {
+  [ "${FLAGS_debug:-not$FLAGS_TRUE}" = "$FLAGS_TRUE" ]
+}
+
+# Prints messages (in parameters) in debug mode
+# Args: debug message
+debug_msg() {
+  if is_debug_mode; then
+    echo "DEBUG: $*" 1>&2
+  fi
+}
+
+# Functions for temporary files and directories
+# ----------------------------------------------------------------------------
+
+# Create a new temporary file and return its name.
+# File is automatically cleaned when cleanup_temps_and_mounts() is called.
+make_temp_file() {
+  local tempfile="$(mktemp)"
+  echo "$tempfile" >> "$TEMP_FILE_LIST"
+  echo "$tempfile"
+}
+
+# Create a new temporary directory and return its name.
+# Directory is automatically deleted and any filesystem mounted on it unmounted
+# when cleanup_temps_and_mounts() is called.
+make_temp_dir() {
+  local tempdir=$(mktemp -d)
+  echo "$tempdir" >> "$TEMP_DIR_LIST"
+  echo "$tempdir"
+}
+
+cleanup_temps_and_mounts() {
+  while read -r line; do
+    rm -f "$line"
+  done < "$TEMP_FILE_LIST"
+
+  set +e  # umount may fail for unmounted directories
+  while read -r line; do
+    if [ -n "$line" ]; then
+      if has_needs_to_be_resigned_tag "$line"; then
+        echo "Warning: image may be modified. Please resign image."
+      fi
+      sudo umount "$line" 2>/dev/null
+      rm -rf "$line"
+    fi
+  done < "$TEMP_DIR_LIST"
+  set -e
+  rm -rf "$TEMP_DIR_LIST" "$TEMP_FILE_LIST"
+}
+
+trap "cleanup_temps_and_mounts" EXIT
+
+# Functions for partition management
+# ----------------------------------------------------------------------------
+
+# Construct a partition device name from a whole disk block device and a
+# partition number.
+# This works for [/dev/sda, 3] (-> /dev/sda3) as well as [/dev/mmcblk0, 2]
+# (-> /dev/mmcblk0p2).
+make_partition_dev() {
+  local block="$1"
+  local num="$2"
+  # If the disk block device ends with a number, we add a 'p' before the
+  # partition number.
+  if [ "${block%[0-9]}" = "${block}" ]; then
+    echo "${block}${num}"
+  else
+    echo "${block}p${num}"
+  fi
+}
+
+# Find the block size of a device in bytes
+# Args: DEVICE (e.g. /dev/sda)
+# Return: block size in bytes
+blocksize() {
+  local output=''
+  local path="$1"
+  if [ -b "${path}" ]; then
+    local dev="${path##*/}"
+    local sys="/sys/block/${dev}/queue/logical_block_size"
+    output="$(cat "${sys}" 2>/dev/null)"
+  fi
+  echo "${output:-512}"
+}
+
+# Read GPT table to find the starting location of a specific partition.
+# Args: DEVICE PARTNUM
+# Returns: offset (in sectors) of partition PARTNUM
+partoffset() {
+  sudo "$GPT" show -b -i "$2" "$1"
+}
+
+# Read GPT table to find the size of a specific partition.
+# Args: DEVICE PARTNUM
+# Returns: size (in sectors) of partition PARTNUM
+partsize() {
+  sudo "$GPT" show -s -i "$2" "$1"
+}
+
+# Tags a file system as "needs to be resigned".
+# Args: MOUNTDIRECTORY
+tag_as_needs_to_be_resigned() {
+  local mount_dir="$1"
+  sudo touch "$mount_dir/$TAG_NEEDS_TO_BE_SIGNED"
+}
+
+# Determines if the target file system has the tag for resign
+# Args: MOUNTDIRECTORY
+# Returns: true if the tag is there otherwise false
+has_needs_to_be_resigned_tag() {
+  local mount_dir="$1"
+  [ -f "$mount_dir/$TAG_NEEDS_TO_BE_SIGNED" ]
+}
+
+# Determines if the target file system is a Chrome OS root fs
+# Args: MOUNTDIRECTORY
+# Returns: true if MOUNTDIRECTORY looks like root fs, otherwise false
+is_rootfs_partition() {
+  local mount_dir="$1"
+  [ -f "$mount_dir/$(dirname "$TAG_NEEDS_TO_BE_SIGNED")" ]
+}
+
+# If the kernel is buggy and is unable to loop+mount quickly,
+# retry the operation a few times.
+# Args: IMAGE PARTNUM MOUNTDIRECTORY [ro]
+#
+# This function does not check whether the partition is allowed to be mounted as
+# RW.  Callers must ensure the partition can be mounted as RW before calling
+# this function without |ro| argument.
+_mount_image_partition_retry() {
+  local image=$1
+  local partnum=$2
+  local mount_dir=$3
+  local ro=$4
+  local bs="$(blocksize "${image}")"
+  local offset=$(( $(partoffset "${image}" "${partnum}") * bs ))
+  local out try
+
+  # shellcheck disable=SC2086
+  set -- sudo LC_ALL=C mount -o loop,offset=${offset},${ro} \
+    "${image}" "${mount_dir}"
+  try=1
+  while [ ${try} -le 5 ]; do
+    if ! out=$("$@" 2>&1); then
+      if [ "${out}" = "mount: you must specify the filesystem type" ]; then
+        printf 'WARNING: mounting %s at %s failed (try %i); retrying\n' \
+               "${image}" "${mount_dir}" "${try}"
+        # Try to "quiet" the disks and sleep a little to reduce contention.
+        sync
+        sleep $(( try * 5 ))
+      else
+        # Failed for a different reason; abort!
+        break
+      fi
+    else
+      # It worked!
+      return 0
+    fi
+    : $(( try += 1 ))
+  done
+  echo "ERROR: mounting ${image} at ${mount_dir} failed:"
+  echo "${out}"
+  # We don't preserve the exact exit code of `mount`, but since
+  # no one in this code base seems to check it, it's a moot point.
+  return 1
+}
+
+# If called without 'ro', make sure the partition is allowed to be mounted as
+# 'rw' before actually mounting it.
+# Args: IMAGE PARTNUM MOUNTDIRECTORY [ro]
+_mount_image_partition() {
+  local image=$1
+  local partnum=$2
+  local mount_dir=$3
+  local ro=$4
+  local bs="$(blocksize "${image}")"
+  local offset=$(( $(partoffset "${image}" "${partnum}") * bs ))
+
+  if [ "$ro" != "ro" ]; then
+    # Forcibly call enable_rw_mount.  It should fail on unsupported
+    # filesystems and be idempotent on ext*.
+    enable_rw_mount "${image}" ${offset} 2> /dev/null
+  fi
+
+  _mount_image_partition_retry "$@"
+}
+
+# If called without 'ro', make sure the partition is allowed to be mounted as
+# 'rw' before actually mounting it.
+# Args: LOOPDEV PARTNUM MOUNTDIRECTORY [ro]
+_mount_loop_image_partition() {
+  local loopdev=$1
+  local partnum=$2
+  local mount_dir=$3
+  local ro=$4
+  local loop_rootfs="${loopdev}p${partnum}"
+
+  if [ "$ro" != "ro" ]; then
+    # Forcibly call enable_rw_mount.  It should fail on unsupported
+    # filesystems and be idempotent on ext*.
+    enable_rw_mount "${loop_rootfs}" 2>/dev/null
+  fi
+
+  sudo mount -o "${ro}" "${loop_rootfs}" "${mount_dir}"
+}
+
+# Mount a partition read-only from an image into a local directory
+# Args: IMAGE PARTNUM MOUNTDIRECTORY
+mount_image_partition_ro() {
+  _mount_image_partition "$@" "ro"
+}
+
+# Mount a partition read-only from an image into a local directory
+# Args: LOOPDEV PARTNUM MOUNTDIRECTORY
+mount_loop_image_partition_ro() {
+  _mount_loop_image_partition "$@" "ro"
+}
+
+# Mount a partition from an image into a local directory
+# Args: IMAGE PARTNUM MOUNTDIRECTORY
+mount_image_partition() {
+  local mount_dir=$3
+  _mount_image_partition "$@"
+  if is_rootfs_partition "${mount_dir}"; then
+    tag_as_needs_to_be_resigned "${mount_dir}"
+  fi
+}
+
+# Mount a partition from an image into a local directory
+# Args: LOOPDEV PARTNUM MOUNTDIRECTORY
+mount_loop_image_partition() {
+  local mount_dir=$3
+  _mount_loop_image_partition "$@"
+  if is_rootfs_partition "${mount_dir}"; then
+    tag_as_needs_to_be_resigned "${mount_dir}"
+  fi
+}
+
+# Mount the image's ESP (EFI System Partition) on a newly created temporary
+# directory.
+# Prints out the newly created temporary directory path if succeeded.
+# If the image doens't have an ESP partition, returns 0 without print anything.
+# Args: LOOPDEV
+# Returns: 0 if succeeded, 1 otherwise.
+mount_image_esp() {
+  local loopdev="$1"
+  local ESP_PARTNUM=12
+  local loop_esp="${loopdev}p${ESP_PARTNUM}"
+
+  local esp_offset=$(( $(partoffset "${loopdev}" "${ESP_PARTNUM}") ))
+  # Check if the image has an ESP partition.
+  if [[ "${esp_offset}" == "0" ]]; then
+    return 0
+  fi
+
+  local esp_dir="$(make_temp_dir)"
+  if ! sudo mount -o "${ro}" "${loop_esp}" "${esp_dir}"; then
+    return 1
+  fi
+
+  echo "${esp_dir}"
+  return 0
+}
+
+# Extract a partition to a file
+# Args: IMAGE PARTNUM OUTPUTFILE
+extract_image_partition() {
+  local image=$1
+  local partnum=$2
+  local output_file=$3
+  local offset=$(partoffset "$image" "$partnum")
+  local size=$(partsize "$image" "$partnum")
+
+  # shellcheck disable=SC2086
+  dd if="$image" of="$output_file" bs=512 skip=$offset count=$size \
+    conv=notrunc 2>/dev/null
+}
+
+# Replace a partition in an image from file
+# Args: IMAGE PARTNUM INPUTFILE
+replace_image_partition() {
+  local image=$1
+  local partnum=$2
+  local input_file=$3
+  local offset=$(partoffset "$image" "$partnum")
+  local size=$(partsize "$image" "$partnum")
+
+  # shellcheck disable=SC2086
+  dd if="$input_file" of="$image" bs=512 seek=$offset count=$size \
+    conv=notrunc 2>/dev/null
+}
+
+# For details, see crosutils.git/common.sh
+enable_rw_mount() {
+  local rootfs="$1"
+  local offset="${2-0}"
+
+  # Make sure we're checking an ext2 image
+  # shellcheck disable=SC2086
+  if ! is_ext2 "$rootfs" $offset; then
+    echo "enable_rw_mount called on non-ext2 filesystem: $rootfs $offset" 1>&2
+    return 1
+  fi
+
+  local ro_compat_offset=$((0x464 + 3))  # Set 'highest' byte
+  # Dash can't do echo -ne, but it can do printf "\NNN"
+  # We could use /dev/zero here, but this matches what would be
+  # needed for disable_rw_mount (printf '\377').
+  printf '\000' |
+    sudo dd of="$rootfs" seek=$((offset + ro_compat_offset)) \
+            conv=notrunc count=1 bs=1 2>/dev/null
+}
+
+# For details, see crosutils.git/common.sh
+is_ext2() {
+  local rootfs="$1"
+  local offset="${2-0}"
+
+  # Make sure we're checking an ext2 image
+  local sb_magic_offset=$((0x438))
+  local sb_value=$(sudo dd if="$rootfs" skip=$((offset + sb_magic_offset)) \
+                   count=2 bs=1 2>/dev/null)
+  local expected_sb_value=$(printf '\123\357')
+  if [ "$sb_value" = "$expected_sb_value" ]; then
+    return 0
+  fi
+  return 1
+}
+
+disable_rw_mount() {
+  local rootfs="$1"
+  local offset="${2-0}"
+
+  # Make sure we're checking an ext2 image
+  # shellcheck disable=SC2086
+  if ! is_ext2 "$rootfs" $offset; then
+    echo "disable_rw_mount called on non-ext2 filesystem: $rootfs $offset" 1>&2
+    return 1
+  fi
+
+  local ro_compat_offset=$((0x464 + 3))  # Set 'highest' byte
+  # Dash can't do echo -ne, but it can do printf "\NNN"
+  # We could use /dev/zero here, but this matches what would be
+  # needed for disable_rw_mount (printf '\377').
+  printf '\377' |
+    sudo dd of="$rootfs" seek=$((offset + ro_compat_offset)) \
+            conv=notrunc count=1 bs=1 2>/dev/null
+}
+
+rw_mount_disabled() {
+  local rootfs="$1"
+  local offset="${2-0}"
+
+  # Make sure we're checking an ext2 image
+  # shellcheck disable=SC2086
+  if ! is_ext2 "$rootfs" $offset; then
+    return 2
+  fi
+
+  local ro_compat_offset=$((0x464 + 3))  # Set 'highest' byte
+  local ro_value=$(sudo dd if="$rootfs" skip=$((offset + ro_compat_offset)) \
+                   count=1 bs=1 2>/dev/null)
+  local expected_ro_value=$(printf '\377')
+  if [ "$ro_value" = "$expected_ro_value" ]; then
+    return 0
+  fi
+  return 1
+}
+
+# Functions for CBFS management
+# ----------------------------------------------------------------------------
+
+# Get the compression algorithm used for the given CBFS file.
+# Args: INPUT_CBFS_IMAGE CBFS_FILE_NAME
+get_cbfs_compression() {
+  cbfstool "$1" print -r "FW_MAIN_A" | awk -vname="$2" '$1 == name {print $5}'
+}
+
+# Store a file in CBFS.
+# Args: INPUT_CBFS_IMAGE INPUT_FILE CBFS_FILE_NAME
+store_file_in_cbfs() {
+  local image="$1"
+  local file="$2"
+  local name="$3"
+  local compression=$(get_cbfs_compression "$1" "${name}")
+
+  # Don't re-add a file to a section if it's unchanged.  Otherwise this seems
+  # to break signature of existing contents.  https://crbug.com/889716
+  if cbfstool "${image}" extract -r "FW_MAIN_A,FW_MAIN_B" \
+       -f "${file}.orig" -n "${name}"; then
+    if cmp -s "${file}" "${file}.orig"; then
+      rm -f "${file}.orig"
+      return
+    fi
+    rm -f "${file}.orig"
+  fi
+
+  cbfstool "${image}" remove -r "FW_MAIN_A,FW_MAIN_B" -n "${name}" || return
+  # This add can fail if
+  # 1. Size of a signature after compression is larger
+  # 2. CBFS is full
+  # These conditions extremely unlikely become true at the same time.
+  cbfstool "${image}" add -r "FW_MAIN_A,FW_MAIN_B" -t "raw" \
+    -c "${compression}" -f "${file}" -n "${name}" || return
+}
+
+# Misc functions
+# ----------------------------------------------------------------------------
+
+# Parses the version file containing key=value lines
+# Args: key file
+# Returns: value
+get_version() {
+  local key="$1"
+  local file="$2"
+  awk -F= -vkey="${key}" '$1 == key { print $NF }' "${file}"
+}
+
+# Returns true if all files in parameters exist.
+# Args: List of files
+ensure_files_exist() {
+  local filename return_value=0
+  for filename in "$@"; do
+    if [ ! -f "$filename"  ] && [ ! -b "$filename" ]; then
+      echo "ERROR: Cannot find required file: $filename"
+      return_value=1
+    fi
+  done
+
+  return $return_value
+}
+
+# Check if the 'chronos' user already has a password
+# Args: rootfs
+no_chronos_password() {
+  local rootfs=$1
+  # Make sure the chronos user actually exists.
+  if grep -qs '^chronos:' "${rootfs}/etc/passwd"; then
+    sudo grep -q '^chronos:\*:' "${rootfs}/etc/shadow"
+  fi
+}
+
+# Returns true if given ec.bin is signed or false if not.
+is_ec_rw_signed() {
+  ${FUTILITY} dump_fmap "$1" | grep -q KEY_RO
+}
+
diff --git a/scripts/image_signing/convert_recovery_to_full_ssd.sh b/scripts/image_signing/convert_recovery_to_full_ssd.sh
new file mode 100755 (executable)
index 0000000..c249a4f
--- /dev/null
@@ -0,0 +1,75 @@
+#!/bin/bash
+
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script to convert a recovery image into an SSD image usable by factory.
+
+# TODO(gauravsh): crosbug.com/14790 (Merge this with
+#                 convert_recovery_to_ssd.sh)
+
+# Load common constants and variables.
+. "$(dirname "$0")/common_minimal.sh"
+
+usage() {
+  cat <<EOF
+Usage: $PROG <signed_recovery_image> <original_image_zip> <output_ssd_image>
+
+Converts <signed_recovery_image> into a full SSD image usable by factory. Uses
+stateful partition from SSD image <original_image_zip>.
+EOF
+}
+
+if [ $# -ne 3 ]; then
+  usage
+  exit 1
+fi
+
+type -P cgpt &>/dev/null ||
+  { echo "cgpt tool must be in the path"; exit 1; }
+
+# Abort on errors.
+set -e
+
+RECOVERY_IMAGE=$1
+IMAGE_ZIP=$2
+SSD_IMAGE=$3
+
+work_dir=$(make_temp_dir)
+
+echo "Extracting original SSD image."
+unzip -o $IMAGE_ZIP chromiumos_base_image.bin -d ${work_dir}
+
+mv ${work_dir}/chromiumos_base_image.bin ${SSD_IMAGE}
+
+kerna_offset=$(partoffset ${RECOVERY_IMAGE} 2)
+kernb_offset=$(partoffset ${RECOVERY_IMAGE} 4)
+# Kernel partition sizes should be the same.
+kern_size=$(partsize ${RECOVERY_IMAGE} 2)
+
+rootfs=$(make_temp_file)
+echo "Replacing RootFS on the SSD with that of the RECOVERY image"
+extract_image_partition ${RECOVERY_IMAGE} 3 ${rootfs}
+replace_image_partition ${SSD_IMAGE} 3 ${rootfs}
+
+kerna=$(make_temp_file)
+echo "Replacing KernelA on the SSD with that of the RECOVERY image"
+extract_image_partition ${RECOVERY_IMAGE} 4 ${kerna}
+replace_image_partition ${SSD_IMAGE} 2 ${kerna}
+
+# Overwrite the kernel vblock on the created SSD image.
+stateful_dir=$(make_temp_dir)
+tmp_vblock=$(make_temp_file)
+mount_image_partition_ro ${RECOVERY_IMAGE} 1 ${stateful_dir}
+sudo cp ${stateful_dir}/vmlinuz_hd.vblock ${tmp_vblock}
+echo "Overwriting kernel vblock with SSD kernel vblock"
+sudo dd if=${tmp_vblock} of=${SSD_IMAGE} seek=${kerna_offset} bs=512 \
+  conv=notrunc
+sudo umount ${stateful_dir}
+
+# Zero out Kernel B partition.
+echo "Zeroing out Kernel partition B"
+sudo dd if=/dev/zero of=${SSD_IMAGE} seek=${kernb_offset} bs=512 \
+  count=${kern_size} conv=notrunc
+echo "${RECOVERY_IMAGE} was converted to a factory SSD image: ${SSD_IMAGE}"
diff --git a/scripts/image_signing/convert_recovery_to_ssd.sh b/scripts/image_signing/convert_recovery_to_ssd.sh
new file mode 100755 (executable)
index 0000000..bd6c96d
--- /dev/null
@@ -0,0 +1,71 @@
+#!/bin/bash
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+usage() {
+  cat <<EOF
+Usage: $PROG <image> [--force]
+
+In-place converts recovery <image> into an SSD image. With --force, does not
+ask for confirmation from the user.
+
+EOF
+  exit 1
+}
+
+if [ $# -lt 1 ] || [ $# -gt 3 ]; then
+  usage
+else
+  IMAGE=$1
+  shift
+fi
+
+for arg in "$@"; do
+  case "$arg" in
+  --force)
+    IS_FORCE=${arg}
+    ;;
+  *)
+    usage
+    ;;
+  esac
+done
+
+# Load common constants (and use GPT if set above) and variables.
+. "$(dirname "$0")/common.sh"
+
+# Abort on errors.
+set -e
+
+if [ "${IS_FORCE}" != "--force" ]; then
+  echo "This will modify ${IMAGE} in-place and convert it into an SSD image."
+  read -p "Are you sure you want to continue (y/N)? " SURE
+  SURE="${SURE:0:1}"
+  [ "${SURE}" != "y" ] && exit 1
+fi
+
+loopdev=$(loopback_partscan "${IMAGE}")
+loop_kerna="${loopdev}p2"
+loop_kernb="${loopdev}p4"
+
+# Move Kernel B to Kernel A.
+info "Replacing Kernel partition A with Kernel partition B"
+sudo cp "${loop_kernb}" "${loop_kerna}"
+
+# Overwrite the vblock.
+info "Overwriting kernel partition A vblock with SSD vblock"
+stateful_dir=$(make_temp_dir)
+tmp_vblock=$(make_temp_file)
+sudo mount -o ro "${loopdev}p1" "${stateful_dir}"
+sudo cp "${stateful_dir}/vmlinuz_hd.vblock" "${tmp_vblock}"
+# Unmount before overwriting image to avoid sync issues.
+sudo umount "${stateful_dir}"
+sudo dd if="${tmp_vblock}" of="${loop_kerna}" bs=512 conv=notrunc
+
+# Zero out Kernel B partition.
+info "Zeroing out Kernel partition B"
+# This will throw a "disk is full" error, so ignore it.
+sudo cp /dev/zero "${loop_kernb}" 2>/dev/null || :
+
+info "${IMAGE} was converted to an SSD image."
diff --git a/scripts/image_signing/ensure_no_nonrelease_files.sh b/scripts/image_signing/ensure_no_nonrelease_files.sh
new file mode 100755 (executable)
index 0000000..9e549ed
--- /dev/null
@@ -0,0 +1,72 @@
+#!/bin/bash
+
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Abort on error.
+set -e
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+usage() {
+    echo "Usage $PROG image [config]"
+}
+
+main() {
+    # We want to catch all the discrepancies, not just the first one.
+    # So, any time we find one, we set testfail=1 and continue.
+    # When finished we will use testfail to determine our exit value.
+    local testfail=0
+
+    if [[ $# -ne 1 ]] && [[ $# -ne 2 ]]; then
+        usage
+        exit 1
+    fi
+
+    local image="$1"
+
+    # Default config location: same name/directory as this script,
+    # with a .config file extension, ie ensure_no_nonrelease_files.config.
+    local configfile="$(dirname "$0")/${0/%.sh/.config}"
+    # Or, maybe a config was provided on the command line.
+    if [[ $# -eq 2 ]]; then
+        configfile="$2"
+    fi
+    # Either way, load test-expectations data from config.
+    . "${configfile}" || return 1
+
+    local loopdev rootfs
+    if [[ -d "${image}" ]]; then
+        rootfs="${image}"
+    else
+        rootfs=$(make_temp_dir)
+        loopdev=$(loopback_partscan "${image}")
+        mount_loop_image_partition "${loopdev}" 3 "${rootfs}"
+    fi
+    # Pick the right set of test-expectation data to use.
+    local brdvar=$(get_boardvar_from_lsb_release "${rootfs}")
+    eval "release_file_blocklist=(\"\${RELEASE_FILE_BLOCKLIST_${brdvar}[@]}\")"
+
+    for file in ${release_file_blocklist}; do
+        if [ -e "${rootfs}/${file}" ]; then
+            error "${file} exists in this image!"
+            ls -al "${rootfs}/${file}"
+            testfail=1
+        fi
+    done
+
+    # Verify that session_manager isn't configured to pass additional
+    # environment variables or command-line arguments to Chrome.
+    local config_path="${rootfs}/etc/chrome_dev.conf"
+    local matches=$(grep -s "^[^#]" "${config_path}")
+    if [ -n "${matches}" ]; then
+        error "Found commands in ${config_path}:"
+        error "${matches}"
+        testfail=1
+    fi
+
+    exit ${testfail}
+}
+main "$@"
diff --git a/scripts/image_signing/ensure_no_password.sh b/scripts/image_signing/ensure_no_password.sh
new file mode 100755 (executable)
index 0000000..5df6845
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# abort on error
+set -e
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+main() {
+  if [[ $# -ne 1 ]]; then
+    echo "Usage $0 <image>"
+    exit 1
+  fi
+
+  local image="$1"
+
+  local loopdev rootfs
+  if [[ -d "${image}" ]]; then
+    rootfs="${image}"
+  else
+    rootfs=$(make_temp_dir)
+    loopdev=$(loopback_partscan "${image}")
+    mount_loop_image_partition_ro "${loopdev}" 3 "${rootfs}"
+  fi
+
+  if ! no_chronos_password "${rootfs}"; then
+    die "chronos password is set! Shouldn't be for release builds."
+  fi
+}
+main "$@"
diff --git a/scripts/image_signing/ensure_not_ASAN.sh b/scripts/image_signing/ensure_not_ASAN.sh
new file mode 100755 (executable)
index 0000000..f19b1dd
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Abort on error.
+set -e
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+usage() {
+  echo "Usage $PROG image"
+}
+
+main() {
+  if [[ $# -ne 1 ]]; then
+    usage
+    exit 1
+  fi
+
+  local image="$1"
+
+  local loopdev rootfs
+  if [[ -d "${image}" ]]; then
+    rootfs="${image}"
+  else
+    rootfs=$(make_temp_dir)
+    loopdev=$(loopback_partscan "${image}")
+    mount_loop_image_partition_ro "${loopdev}" 3 "${rootfs}"
+  fi
+
+  # This mirrors the check performed in the platform_ToolchainOptions
+  # autotest.
+  if readelf -s "$rootfs/opt/google/chrome/chrome" | \
+     grep -q __asan_init; then
+    exit 1
+  fi
+}
+main "$@"
diff --git a/scripts/image_signing/ensure_not_tainted_license.sh b/scripts/image_signing/ensure_not_tainted_license.sh
new file mode 100755 (executable)
index 0000000..7eab1c9
--- /dev/null
@@ -0,0 +1,71 @@
+#!/bin/bash
+#
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This script ensures absence of a <!-- tainted --> tag in image's license.
+
+# Abort on error.
+set -e
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+usage() {
+  echo "Usage ${PROG} image"
+}
+
+main() {
+  if [[ $# -ne 1 ]]; then
+    usage
+    exit 1
+  fi
+
+  local image="$1"
+
+  local loopdev rootfs
+  if [[ -d "${image}" ]]; then
+    rootfs="${image}"
+  else
+    rootfs=$(make_temp_dir)
+    loopdev=$(loopback_partscan "${image}")
+    mount_loop_image_partition_ro "${loopdev}" 3 "${rootfs}"
+  fi
+
+  local license_dir license tainted_tag tainted_status
+  license_dir="${rootfs}/opt/google/chrome/"
+  if [[ ! -d "${license_dir}" ]]; then
+    echo "Directory ${license_dir} does not exist. Skipping the tainted check."
+    exit 0
+  fi
+
+  license=$(find "${license_dir}" -name about_os_credits.html 2>/dev/null)
+  if [[ -z "${license}" ]]; then
+    echo "License file about_os_credits.html not found in ${license_dir}."
+    echo "Skipping the check of tainted license."
+    exit 0
+  fi
+
+  tainted_tag="<!-- tainted -->"
+  # Add "|| :" to the grep command to prevent it from returning error code 1 if
+  # no match is found, which would cause the script to exit immediately with
+  # error code 1 due to set -e.
+  tainted_status=$(grep "${tainted_tag}" "${license}") || :
+  if [[ -n "${tainted_status}" ]]; then
+    echo "${license}:"
+    echo "License file contains packages with LICENSE=TAINTED."
+    echo "Remove those packages or modify their license to allow signing."
+    # Print the list of tainted packages.
+    sed -n '/Image is TAINTED/,/<\/ul>/{
+      # Strip out HTML tags.
+      s/<[^>]*>//g
+      # Delete any empty lines.
+      /^[[:space:]]*$/d
+      p
+    }' "${license}"
+    exit 1
+  fi
+  exit 0
+}
+main "$@"
diff --git a/scripts/image_signing/ensure_sane_lsb-release.sh b/scripts/image_signing/ensure_sane_lsb-release.sh
new file mode 100755 (executable)
index 0000000..0846963
--- /dev/null
@@ -0,0 +1,159 @@
+#!/bin/bash
+
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Abort on error.
+set -e
+
+LSB_FILE=/etc/lsb-release
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+usage() {
+  echo "Usage $PROG image [config]"
+}
+
+# Usage: lsbequals path-to-lsb-file key expected-value
+# Returns 0 if they match, 1 otherwise.
+# Also outputs a warning message if they don't match.
+lsbequals() {
+  local lsbfile="$1"
+  local key="$2"
+  local expectval="$3"
+  local realval=$(lsbval "$lsbfile" $key)
+  if [ "$realval" != "$expectval" ]; then
+    error "${key} mismatch. Expected '${expectval}'," \
+      "image contains '${realval}'"
+    return 1
+  fi
+  return 0
+}
+
+# Usage: check_keyval_in_list lsbfile lsbkey [list of values]
+# Extracts the lsb-release value for the specified key, and confirms it
+# matches one of the allowed values specified in value_array.
+# Implementation note:
+# You can't really pass bash arrays to functions. Best you can do is either
+# serialize to string/pass/deserialize (e.g. using whitspace/IFS hacks), or,
+# let the array contents be received as multiple arguments to the target
+# function. We take the latter approach here, hence the shift's to get the
+# first 2 arguments out, before we process the rest of the varargs.
+check_keyval_in_list() {
+  local lsbfile="$1"
+  shift
+  local lsbkey="$1"
+  shift
+  local lsbval=$(lsbval "$lsbfile" "$lsbkey")
+  while [ $# -gt 0 ]; do
+    if [ "$lsbval" == "$1" ]; then
+      return 0
+    fi
+    shift
+  done
+  # If we get here, it wasn't found
+  error "${lsbkey}: Value '${lsbval}' was not recognized"
+  return 1
+}
+
+# Usage: lsb_syntaxcheck path-to-lsb-file
+# Enforces a number of basic validity checks on the overall format and contents
+# of the lsb-release file:
+# - Every line is "key=value".
+# - No space after key, no space before value.
+# - key is all A-Z or _, but not starting with _.
+# - value is made up of printable characters, or is empty.
+# - The whole file is a reasonable size (4kb).
+lsb_syntaxcheck() {
+  local lsbfile="$1"
+  syntaxbad=0
+  # Checks for key being A-Z_, 1 or more characters, not starting with _.
+  # Also checks for = with no spaces on either side.
+  # Checks that the value contains printables (and not starting with space).
+  # Alternatively, the value is permitted to be empty (0 chars) too.
+  # Allow comments to start with #.
+  badlines=$(grep -Ev \
+               -e '^[A-Z][A-Z_]*=([[:graph:]][[:print:]]*)?$' \
+               -e '^[[:space:]]*#' "${lsbfile}")
+  if [ -n "$badlines" ]; then
+    syntaxbad=1
+    error "${lsbfile}: Some lines seem non-well-formed:"
+    error "${badlines}"
+  fi
+
+  # Overall file size check:
+  size=$(ls -sk "$lsbfile" | cut -d ' ' -f 1)
+  if [ $size -gt 4 ]; then
+    syntaxbad=1
+    error "${lsbfile}: This file exceeds 4kb"
+  fi
+  return $syntaxbad
+}
+
+main() {
+  # We want to catch all the discrepancies, not just the first one.
+  # So, any time we find one, we set testfail=1 and continue.
+  # When finished we will use testfail to determine our exit value.
+  local testfail=0
+
+  if [ $# -ne 1 ] && [ $# -ne 2 ]; then
+    usage
+    exit 1
+  fi
+
+  local image="$1"
+
+  # Default config location: same directory as this script.
+  local configfile="$(dirname "$0")/default_lsb_release.config"
+  # Or, maybe a config was provided on the command line.
+  if [ $# -eq 2 ]; then
+    configfile="$2"
+  fi
+  # Either way, load test-expectations data from config.
+  info "Loading config from ${configfile}"
+  . "$configfile" || return 1
+
+  local loopdev rootfs
+  if [[ -d "${image}" ]]; then
+    # We're given a mounted rootfs.
+    rootfs="${image}"
+  else
+    # Mount the disk image.
+    loopdev=$(loopback_partscan "${image}")
+    rootfs=$(make_temp_dir)
+    mount_loop_image_partition_ro "${loopdev}" 3 "${rootfs}"
+  fi
+  local lsb="$rootfs/$LSB_FILE"
+
+  # Basic syntax check first.
+  lsb_syntaxcheck "$lsb" || testfail=1
+
+  lsbequals $lsb CHROMEOS_AUSERVER "$expected_auserver" || testfail=1
+  lsbequals $lsb CHROMEOS_RELEASE_NAME "$expected_release_name" || testfail=1
+  check_keyval_in_list $lsb CHROMEOS_RELEASE_TRACK \
+    "${expected_release_tracks[@]}" || testfail=1
+
+  local board=$(get_board_from_lsb_release "${rootfs}")
+  if check_keyval_in_list $lsb CHROMEOS_RELEASE_BOARD \
+    "${expected_boards[@]}"; then
+    local boardvar=$(get_boardvar_from_lsb_release "${rootfs}")
+    channel=$(lsbval $lsb CHROMEOS_RELEASE_TRACK)
+    # For a canary or dogfood channel, appid maybe a different default value.
+    if [[ "${channel}" == 'canary-channel' ||
+          "${channel}" == 'dogfood-channel' ]]; then
+      eval "expected_appid=\"\$expected_appid_${channel%\-channel}\""
+    else
+      eval "expected_appid=\"\$expected_appid_$boardvar\""
+    fi
+    lsbequals $lsb CHROMEOS_RELEASE_APPID "$expected_appid" || testfail=1
+  else # unrecognized board
+    testfail=1
+    error "Unknown board: ${board}"
+  fi
+
+  exit $testfail
+}
+
+main "$@"
diff --git a/scripts/image_signing/ensure_secure_kernelparams.sh b/scripts/image_signing/ensure_secure_kernelparams.sh
new file mode 100755 (executable)
index 0000000..b971ab4
--- /dev/null
@@ -0,0 +1,228 @@
+#!/bin/bash
+
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Abort on error.
+set -e
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+# Given a kernel boot param string which includes ...dm="dmstuff"...
+# this returns the dmstuff by itself.
+get_dmparams() {
+    echo "$1" | sed 's/^.*\ dm="\([^"]*\)".*/\1/'
+}
+
+# Given a kernel boot param string which includes ...dm="stuff"...
+# this returns the param string with the dm="..." section removed.
+# Useful in conjunction with get_dmparams to divide and process
+# the two sections of parameters in seperate passes
+kparams_remove_dm() {
+    echo "$1" | sed 's/dm="[^"]*"//'
+}
+
+# Given a dm param string which includes dynamic values, return the
+# same string with these values replaced by a magic string placeholder.
+# This same magic placeholder is used in the config file, for comparison
+# purposes.
+dmparams_mangle() {
+  local dmparams=$1
+  # First handle new key-value style verity parameters.
+  dmparams=$(echo "$dmparams" |
+    sed -e 's/root_hexdigest=[0-9a-fA-F]*/root_hexdigest=MAGIC_HASH/' |
+    sed -e 's/salt=[0-9a-fA-F]*/salt=MAGIC_SALT'/)
+  # If we didn't substitute the MAGIC_HASH yet, these are the old
+  # verity parameter format.
+  if [[ $dmparams != *MAGIC_HASH* ]]; then
+    dmparams=$(echo $dmparams | sed 's/sha1 [0-9a-fA-F]*/sha1 MAGIC_HASH/')
+  fi
+  # If we have bootcache enabled, replace its copy of the root_hexdigest
+  # with MAGIC_HASH. The parameter is positional.
+  if [[ $dmparams == *bootcache* ]]; then
+    dmparams=$(echo $dmparams |
+      sed -r 's:(bootcache (PARTUUID=)?%U(/PARTNROFF=|\+)1 [0-9]+) [0-9a-fA-F]+:\1 MAGIC_HASH:')
+  fi
+  echo $dmparams
+}
+
+# This escapes any non-alphanum character, since many such characters
+# are regex metacharacters.
+escape_regexmetas() {
+    echo "$1" | sed 's/\([^a-zA-Z0-9]\)/\\\1/g'
+}
+
+usage() {
+    echo "Usage $PROG image [config]"
+}
+
+main() {
+    # We want to catch all the discrepancies, not just the first one.
+    # So, any time we find one, we set testfail=1 and continue.
+    # When finished we will use testfail to determine our exit value.
+    local testfail=0
+    # A buffer to include useful information that we dump when things fail.
+    local output
+    # Copy of a string before it has been through sed
+    local pre_sed
+    # Where the disk image is mounted.
+    local loopdev
+
+    if [[ $# -ne 1 ]] && [[ $# -ne 2 ]]; then
+        usage
+        exit 1
+    fi
+
+    local image="$1"
+
+    # A byte that should not appear in the command line to use as a sed
+    # marker when doing regular expression replacements.
+    local M=$'\001'
+
+    # Default config location: same name/directory as this script,
+    # with a .config file extension, ie ensure_secure_kernelparams.config.
+    local configfile="$(dirname "$0")/${0/%.sh/.config}"
+    # Or, maybe a config was provided on the command line.
+    if [[ $# -eq 2 ]]; then
+        configfile="$2"
+    fi
+    # Either way, load test-expectations data from config.
+    . "$configfile" || return 1
+
+    # Set up the image on a loopback device so it's faster to access.
+    local loopdev
+    loopdev=$(loopback_partscan "${image}")
+
+    # TODO(jimhebert): Perform the kernel security tests on both the kernel
+    #                  partitions. Here, we just run it on kernel partition 4
+    #                  which is the install kernel on the recovery image.
+    #                  crosbug.com/24274
+    local loop_kern="${loopdev}p4"
+    local rootfs=$(make_temp_dir)
+    mount_loop_image_partition_ro "${loopdev}" 3 "${rootfs}"
+
+    # Pick the right set of test-expectation data to use.
+    local boardvar=$(get_boardvar_from_lsb_release "${rootfs}")
+    eval "required_kparams=(\"\${required_kparams_${boardvar}[@]}\")"
+    eval "required_kparams_regex=(\"\${required_kparams_regex_${boardvar}[@]}\")"
+    eval "optional_kparams=(\"\${optional_kparams_${boardvar}[@]}\")"
+    eval "optional_kparams_regex=(\"\${optional_kparams_regex_${boardvar}[@]}\")"
+    eval "required_dmparams=(\"\${required_dmparams_${boardvar}[@]}\")"
+    eval "required_dmparams_regex=(\"\${required_dmparams_regex_${boardvar}[@]}\")"
+    output+="required_kparams=(\n"
+    output+="$(printf "\t'%s'\n" "${required_kparams[@]}")\n)\n"
+    output+="required_kparams_regex=(\n"
+    output+="$(printf "\t'%s'\n" "${required_kparams_regex[@]}")\n)\n"
+    output+="optional_kparams=(\n"
+    output+="$(printf "\t'%s'\n" "${optional_kparams[@]}")\n)\n"
+    output+="optional_kparams_regex=(\n"
+    output+="$(printf "\t'%s'\n" "${optional_kparams_regex[@]}")\n)\n"
+    output+="required_dmparams=(\n"
+    output+="$(printf "\t'%s'\n" "${required_dmparams[@]}")\n)\n"
+    output+="required_dmparams_regex=(\n"
+    output+="$(printf "\t'%s'\n" "${required_dmparams_regex[@]}")\n)\n"
+
+    # Divide the dm params from the rest and process seperately.
+    local kparams=$(sudo dump_kernel_config "${loop_kern}")
+    local dmparams=$(get_dmparams "$kparams")
+    local kparams_nodm=$(kparams_remove_dm "$kparams")
+
+    output+="\nkparams='${kparams}'\n"
+    output+="\ndmparams='${dmparams}'\n"
+    output+="\nkparams_nodm='${kparams_nodm}'\n"
+
+    mangled_dmparams=$(dmparams_mangle "${dmparams}")
+    output+="\nmangled_dmparams='${mangled_dmparams}'\n"
+    # Special-case handling of the dm= param:
+    testfail=1
+    for expected_dmparams in "${required_dmparams[@]}"; do
+      # Filter out all dynamic parameters.
+      if [ "$mangled_dmparams" = "$expected_dmparams" ]; then
+        testfail=0
+        break
+      fi
+    done
+
+    local sedout
+    for expected_dmparams in "${required_dmparams_regex[@]}"; do
+      if ! sedout=$(echo "${mangled_dmparams}" | \
+                    sed "s${M}^${expected_dmparams}\$${M}${M}"); then
+        echo "INTERNAL ERROR from sed script: ${expected_dmparams}"
+        break
+      elif [[ -z "${sedout}" ]]; then
+        testfail=0
+        break
+      fi
+    done
+
+    if [ $testfail -eq 1 ]; then
+      echo "Kernel dm= parameter does not match any expected values!"
+      echo "Actual value:          ${dmparams}"
+      echo "Mangled testing value: ${mangled_dmparams}"
+      if [[ ${#required_dmparams[@]} -gt 0 ]]; then
+        echo "Expected -- only one need match:"
+        printf "  >>> %s\n" "${required_dmparams[@]}"
+      fi
+      if [[ ${#required_dmparams_regex[@]} -gt 0 ]]; then
+        echo "Expected (regex) -- only one need match:"
+        printf "  >>> %s\n" "${required_dmparams_regex[@]}"
+      fi
+    fi
+
+    # Ensure all other required params are present.
+    for param in "${required_kparams[@]}"; do
+        if [[ "$kparams_nodm" != *$param* ]]; then
+            echo "Kernel parameters missing required value: $param"
+            testfail=1
+        else
+            # Remove matched params as we go. If all goes well, kparams_nodm
+            # will be nothing left but whitespace by the end.
+            param=$(escape_regexmetas "$param")
+            kparams_nodm=$(echo " ${kparams_nodm} " |
+                           sed "s${M} ${param} ${M} ${M}")
+        fi
+    done
+
+    # Ensure all other required regex params are present.
+    for param in "${required_kparams_regex[@]}"; do
+      pre_sed=" ${kparams_nodm} "
+      kparams_nodm=$(echo "${pre_sed}" | sed "s${M} ${param} ${M} ${M}")
+      if [[ "${pre_sed}" == "${kparams_nodm}" ]]; then
+        echo "Kernel parameters missing required value: ${param}"
+        testfail=1
+      fi
+    done
+
+    # Check-off each of the allowed-but-optional params that were present.
+    for param in "${optional_kparams[@]}"; do
+        param=$(escape_regexmetas "$param")
+        kparams_nodm=$(echo " ${kparams_nodm} " |
+                       sed "s${M} ${param} ${M} ${M}")
+    done
+
+    # Check-off each of the allowed-but-optional params that were present.
+    for param in "${optional_kparams_regex[@]}"; do
+        kparams_nodm=$(echo " ${kparams_nodm} " |
+                       sed "s${M} ${param} ${M} ${M}")
+    done
+
+    # This section enforces the default-deny for any unexpected params
+    # not already processed by one of the above loops.
+    if [[ ! -z ${kparams_nodm// /} ]]; then
+        echo "Unexpected kernel parameters found:"
+        echo " $(echo "${kparams_nodm}" | sed -r 's:  +: :g')"
+        testfail=1
+    fi
+
+    if [[ ${testfail} -eq 1 ]]; then
+        echo "Debug output:"
+        printf '%b\n' "${output}"
+        echo "(actual error will be at the top of output)"
+    fi
+
+    exit $testfail
+}
+
+main $@
diff --git a/scripts/image_signing/ensure_update_verification.sh b/scripts/image_signing/ensure_update_verification.sh
new file mode 100755 (executable)
index 0000000..e3929c5
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Verify that update payload verification is enabled.
+
+# Abort on error.
+set -e
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+usage() {
+  echo "Usage: $PROG image"
+}
+
+main() {
+  if [ $# -ne 1 ]; then
+    usage
+    exit 1
+  fi
+
+  local image=$1
+
+  local loopdev rootfs
+  if [[ -d "${image}" ]]; then
+    rootfs="${image}"
+  else
+    rootfs=$(make_temp_dir)
+    loopdev=$(loopback_partscan "${image}")
+    mount_loop_image_partition_ro "${loopdev}" 3 "${rootfs}"
+  fi
+  local key_location="/usr/share/update_engine/update-payload-key.pub.pem"
+  if [ ! -e "$rootfs/$key_location" ]; then
+    die "Update payload verification key not found at $key_location"
+  fi
+}
+
+main "$@"
diff --git a/scripts/image_signing/gbb_flags_common.sh b/scripts/image_signing/gbb_flags_common.sh
new file mode 100755 (executable)
index 0000000..63c3f12
--- /dev/null
@@ -0,0 +1,59 @@
+#!/bin/sh
+#
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This script provides tools to read or change GBB flags on a live system.
+
+SCRIPT_BASE="$(dirname "$0")"
+. "${SCRIPT_BASE}/common_minimal.sh"
+load_shflags || exit 1
+
+# Globals
+# ----------------------------------------------------------------------------
+
+# Values from vboot_reference/firmware/2lib/include/2gbb_flags.h
+GBBFLAGS_DESCRIPTION_PREFIX="
+  Defined flags (some values may be not supported by all systems):
+
+  "
+GBBFLAGS_LIST="
+  VB2_GBB_FLAG_DEV_SCREEN_SHORT_DELAY            0x00000001
+  VB2_GBB_FLAG_LOAD_OPTION_ROMS                  0x00000002
+  VB2_GBB_FLAG_ENABLE_ALTERNATE_OS               0x00000004
+  VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON               0x00000008
+  VB2_GBB_FLAG_FORCE_DEV_BOOT_USB                0x00000010
+  VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK         0x00000020
+  VB2_GBB_FLAG_ENTER_TRIGGERS_TONORM             0x00000040
+  VB2_GBB_FLAG_FORCE_DEV_BOOT_ALTFW              0x00000080
+  VB2_GBB_FLAG_RUNNING_FAFT                      0x00000100
+  VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC          0x00000200
+  VB2_GBB_FLAG_DEFAULT_DEV_BOOT_ALTFW            0x00000400
+  VB2_GBB_FLAG_DISABLE_AUXFW_SOFTWARE_SYNC       0x00000800
+  VB2_GBB_FLAG_DISABLE_LID_SHUTDOWN              0x00001000
+  VB2_GBB_FLAG_FORCE_MANUAL_RECOVERY             0x00004000
+  VB2_GBB_FLAG_DISABLE_FWMP                      0x00008000
+  VB2_GBB_FLAG_ENABLE_UDC                        0x00010000
+  "
+
+GBBFLAGS_DESCRIPTION_SUFFIX="
+  To get a developer-friendly device, try 0x11 (short_delay + boot_usb).
+  For factory-related tests (always DEV), try 0x39.
+  For early development (disable EC/auxfw software sync), try 0xa39.
+  "
+GBBFLAGS_DESCRIPTION="${GBBFLAGS_DESCRIPTION_PREFIX}${GBBFLAGS_LIST}"
+GBBFLAGS_DESCRIPTION="${GBBFLAGS_DESCRIPTION}${GBBFLAGS_DESCRIPTION_SUFFIX}"
+
+FLAGS_HELP="Manages Chrome OS Firmware GBB Flags value.
+
+  Usage: $0 [option_flags] GBB_FLAGS_VALUE
+  ${GBBFLAGS_DESCRIPTION}"
+
+flashrom_read() {
+  flashrom -p host -i GBB -r "$@"
+}
+
+flashrom_write() {
+  flashrom -p host -i GBB --noverify-all -w "$@"
+}
diff --git a/scripts/image_signing/get_gbb_flags.sh b/scripts/image_signing/get_gbb_flags.sh
new file mode 100755 (executable)
index 0000000..2b78af6
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/sh
+#
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This script can change GBB flags in system live firmware or a given image
+# file.
+
+SCRIPT_BASE="$(dirname "$0")"
+. "${SCRIPT_BASE}/gbb_flags_common.sh"
+
+# DEFINE_string name default_value description flag
+DEFINE_string file "" "Path to firmware image. Default to system firmware." "f"
+DEFINE_boolean explicit ${FLAGS_FALSE} "Print list of what flags are set." "e"
+
+set -e
+
+main() {
+  if [ $# -ne 0 ]; then
+    flags_help
+    exit 1
+  fi
+
+  local image_file="${FLAGS_file}"
+
+  if [ -z "${FLAGS_file}" ]; then
+    image_file="$(make_temp_file)"
+    flashrom_read "${image_file}"
+  fi
+
+  # Process file.
+
+  # Keep 'local' declaration split from assignment so return code is checked.
+  local gbb_flags
+  gbb_flags="$(futility gbb -g --flags "${image_file}")"
+  local raw_gbb_flags="$(echo "${gbb_flags}" | egrep -o "0x[0-9a-fA-F]+")"
+  printf "Chrome OS GBB set ${gbb_flags}\n"
+
+  if [ "${FLAGS_explicit}" = "${FLAGS_TRUE}" ]; then
+    printf "Chrome OS GBB set flags listed:\n"
+    echo "${GBBFLAGS_LIST}" | while read -r flag code; do
+      if [ $((code & raw_gbb_flags)) -ne 0 ]; then
+        printf "${flag}\n"
+      fi
+    done
+  fi
+}
+
+# Parse command line.
+FLAGS "$@" || exit 1
+eval set -- "${FLAGS_ARGV}"
+
+main "$@"
diff --git a/scripts/image_signing/insert_au_publickey.sh b/scripts/image_signing/insert_au_publickey.sh
new file mode 100755 (executable)
index 0000000..fe0dbcc
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Install an update payload verification public key to the image.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+main() {
+  set -e
+
+  local image="$1"
+  local pub_key="$2"
+  if [ $# -ne 2 ]; then
+    cat <<EOF
+Usage: $PROG <image.bin> <au_public_key.pem>
+Installs the update verification public key <au_public_key.pem> to <image.bin>.
+EOF
+    exit 1
+  fi
+
+  local loopdev rootfs
+  if [[ -d "${image}" ]]; then
+    rootfs="${image}"
+  else
+    rootfs=$(make_temp_dir)
+    loopdev=$(loopback_partscan "${image}")
+    mount_loop_image_partition "${loopdev}" 3 "${rootfs}"
+  fi
+
+  local key_location="/usr/share/update_engine/"
+  sudo mkdir -p "$rootfs/$key_location"
+  sudo cp "$pub_key" "$rootfs/$key_location/update-payload-key.pub.pem"
+  sudo chown root:root "$rootfs/$key_location/update-payload-key.pub.pem"
+  sudo chmod 644 "$rootfs/$key_location/update-payload-key.pub.pem"
+  echo "AU verification key was installed. Do not forget to resign the image!"
+}
+
+main "$@"
diff --git a/scripts/image_signing/insert_container_publickey.sh b/scripts/image_signing/insert_container_publickey.sh
new file mode 100755 (executable)
index 0000000..606a291
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/bash
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+load_shflags || exit 1
+
+FLAGS_HELP="Usage: ${PROG} <image.bin|rootfs_dir> <public_key.pem>
+
+Installs the container verification public key <public_key.pem> to
+<image.bin|rootfs_dir>.
+"
+
+# Parse command line.
+FLAGS "$@" || exit 1
+eval set -- "${FLAGS_ARGV}"
+
+# Abort on error.
+set -e
+
+main() {
+  if [[ $# -ne 2 ]]; then
+    flags_help
+    exit 1
+  fi
+
+  local image="$1"
+  local pub_key="$2"
+  local loopdev
+  local rootfs
+  local key_location="/usr/share/misc/"
+
+  if [[ -d "${image}" ]]; then
+    rootfs="${image}"
+  else
+    loopdev=$(loopback_partscan "${image}")
+    rootfs=$(make_temp_dir)
+    mount_loop_image_partition "${loopdev}" 3 "${rootfs}"
+  fi
+
+  # Imageloader likes DER as a runtime format as it's easier to read.
+  local tmpfile=$(make_temp_file)
+  openssl pkey -pubin -in "${pub_key}" -out "${tmpfile}" -pubout -outform DER
+
+  sudo install \
+    -D -o root -g root -m 644 \
+    "${tmpfile}" "${rootfs}/${key_location}/oci-container-key-pub.der"
+  info "Container verification key was installed." \
+       "Do not forget to resign the image!"
+}
+
+main "$@"
diff --git a/scripts/image_signing/install_gsetup_certs.sh b/scripts/image_signing/install_gsetup_certs.sh
new file mode 100755 (executable)
index 0000000..e51843d
--- /dev/null
@@ -0,0 +1,72 @@
+#!/bin/bash
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+. "$(dirname "$0")/common.sh"
+
+set -e
+
+usage() {
+  cat <<EOF
+Usage: $PROG /path/to/esp/dir /path/to/keys/dir
+
+Install UEFI certs in GSetup directory in ESP.
+EOF
+  if [[ $# -gt 0 ]]; then
+    error "$*"
+    exit 1
+  fi
+  exit 0
+}
+
+# Installs the specified UEFI cert in GSetup directory, if the cert exists.
+# Args: KEY_TYPE CERT GSETUP_DIR
+install_gsetup_cert() {
+  local key_type="$1"
+  local cert="$2"
+  local gsetup_dir="$3"
+  if [[ -f "${cert}" ]]; then
+    info "Putting ${key_type} cert: ${cert}"
+    local cert_basename="$(basename "${cert}")"
+    local der_filename="${cert_basename%.*}.der"
+    sudo mkdir -p "${gsetup_dir}/${key_type}"
+    sudo openssl x509 -in "${cert}" -inform PEM \
+        -out "${gsetup_dir}/${key_type}/${der_filename}" -outform DER
+  else
+    info "No ${key_type} cert: ${cert}"
+  fi
+}
+
+main() {
+  local esp_dir="$1"
+  local key_dir="$2"
+
+  if [[ $# -ne 2 ]]; then
+    usage "command takes exactly 2 args"
+  fi
+
+  local gsetup_dir="${esp_dir}/EFI/Google/GSetup"
+
+  local pk_cert="${key_dir}/pk/pk.pem"
+  if [[ ! -f "${pk_cert}" ]]; then
+    die "No PK cert: ${pk_cert}"
+  fi
+  install_gsetup_cert pk "${pk_cert}" "${gsetup_dir}"
+
+  local db_cert="${key_dir}/db/db.pem"
+  if [[ ! -f "${db_cert}" ]]; then
+    die "No DB cert: ${db_cert}"
+  fi
+  install_gsetup_cert db "${db_cert}" "${gsetup_dir}"
+
+  local kek_cert="${key_dir}/kek/kek.pem"
+  install_gsetup_cert kek "${kek_cert}" "${gsetup_dir}"
+
+  local dbx_cert
+  for dbx_cert in "${key_dir}"/dbx/*.pem; do
+    install_gsetup_cert dbx "${dbx_cert}" "${gsetup_dir}"
+  done
+}
+
+main "$@"
diff --git a/scripts/image_signing/lib/shflags/README.chromium b/scripts/image_signing/lib/shflags/README.chromium
new file mode 100644 (file)
index 0000000..3886892
--- /dev/null
@@ -0,0 +1 @@
+This is r137 of shflags
diff --git a/scripts/image_signing/lib/shflags/shflags b/scripts/image_signing/lib/shflags/shflags
new file mode 100644 (file)
index 0000000..773e0f3
--- /dev/null
@@ -0,0 +1,1009 @@
+# $Id: shflags 133 2009-05-10 18:04:51Z kate.ward@forestent.com $
+# vim:et:ft=sh:sts=2:sw=2
+#
+# Copyright 2008 Kate Ward. All Rights Reserved.
+# Released under the LGPL (GNU Lesser General Public License)
+#
+# shFlags -- Advanced command-line flag library for Unix shell scripts.
+# http://code.google.com/p/shflags/
+#
+# Author: kate.ward@forestent.com (Kate Ward)
+#
+# This module implements something like the google-gflags library available
+# from http://code.google.com/p/google-gflags/.
+#
+# FLAG TYPES: This is a list of the DEFINE_*'s that you can do.  All flags take
+# a name, default value, help-string, and optional 'short' name (one-letter
+# name).  Some flags have other arguments, which are described with the flag.
+#
+# DEFINE_string: takes any input, and intreprets it as a string.
+#
+# DEFINE_boolean: typically does not take any argument: say --myflag to set
+#   FLAGS_myflag to true, or --nomyflag to set FLAGS_myflag to false.
+#   Alternately, you can say
+#     --myflag=true  or --myflag=t or --myflag=0  or
+#     --myflag=false or --myflag=f or --myflag=1
+#   Passing an option has the same affect as passing the option once.
+#
+# DEFINE_float: takes an input and intreprets it as a floating point number. As
+#   shell does not support floats per-se, the input is merely validated as
+#   being a valid floating point value.
+#
+# DEFINE_integer: takes an input and intreprets it as an integer.
+#
+# SPECIAL FLAGS: There are a few flags that have special meaning:
+#   --help (or -?)  prints a list of all the flags in a human-readable fashion
+#   --flagfile=foo  read flags from foo.  (not implemented yet)
+#   --              as in getopt(), terminates flag-processing
+#
+# EXAMPLE USAGE:
+#
+#   -- begin hello.sh --
+#   #! /bin/sh
+#   . ./shflags
+#   DEFINE_string name 'world' "somebody's name" n
+#   FLAGS "$@" || exit $?
+#   eval set -- "${FLAGS_ARGV}"
+#   echo "Hello, ${FLAGS_name}."
+#   -- end hello.sh --
+#
+#   $ ./hello.sh -n Kate
+#   Hello, Kate.
+#
+# NOTE: Not all systems include a getopt version that supports long flags. On
+# these systems, only short flags are recognized.
+
+#==============================================================================
+# shFlags
+#
+# Shared attributes:
+#   flags_error: last error message
+#   flags_return: last return value
+#
+#   __flags_longNames: list of long names for all flags
+#   __flags_shortNames: list of short names for all flags
+#   __flags_boolNames: list of boolean flag names
+#
+#   __flags_opts: options parsed by getopt
+#
+# Per-flag attributes:
+#   FLAGS_<flag_name>: contains value of flag named 'flag_name'
+#   __flags_<flag_name>_default: the default flag value
+#   __flags_<flag_name>_help: the flag help string
+#   __flags_<flag_name>_short: the flag short name
+#   __flags_<flag_name>_type: the flag type
+#
+# Notes:
+# - lists of strings are space separated, and a null value is the '~' char.
+
+# return if FLAGS already loaded
+[ -n "${FLAGS_VERSION:-}" ] && return 0
+FLAGS_VERSION='1.0.3'
+
+# return values
+FLAGS_TRUE=0
+FLAGS_FALSE=1
+FLAGS_ERROR=2
+
+# reserved flag names
+FLAGS_RESERVED='ARGC ARGV ERROR FALSE HELP PARENT RESERVED TRUE VERSION'
+
+_flags_debug() { echo "flags:DEBUG $@" >&2; }
+_flags_warn() { echo "flags:WARN $@" >&2; }
+_flags_error() { echo "flags:ERROR $@" >&2; }
+_flags_fatal() { echo "flags:FATAL $@" >&2; }
+
+# specific shell checks
+if [ -n "${ZSH_VERSION:-}" ]; then
+  setopt |grep "^shwordsplit$" >/dev/null
+  if [ $? -ne ${FLAGS_TRUE} ]; then
+    _flags_fatal 'zsh shwordsplit option is required for proper zsh operation'
+    exit ${FLAGS_ERROR}
+  fi
+  if [ -z "${FLAGS_PARENT:-}" ]; then
+    _flags_fatal "zsh does not pass \$0 through properly. please declare' \
+\"FLAGS_PARENT=\$0\" before calling shFlags"
+    exit ${FLAGS_ERROR}
+  fi
+fi
+
+#
+# constants
+#
+
+# getopt version
+__FLAGS_GETOPT_VERS_STD=0
+__FLAGS_GETOPT_VERS_ENH=1
+__FLAGS_GETOPT_VERS_BSD=2
+
+getopt >/dev/null 2>&1
+case $? in
+  0) __FLAGS_GETOPT_VERS=${__FLAGS_GETOPT_VERS_STD} ;;  # bsd getopt
+  2)
+    # TODO(kward): look into '-T' option to test the internal getopt() version
+    if [ "`getopt --version`" = '-- ' ]; then
+      __FLAGS_GETOPT_VERS=${__FLAGS_GETOPT_VERS_STD}
+    else
+      __FLAGS_GETOPT_VERS=${__FLAGS_GETOPT_VERS_ENH}
+    fi
+    ;;
+  *)
+    _flags_fatal 'unable to determine getopt version'
+    exit ${FLAGS_ERROR}
+    ;;
+esac
+
+# getopt optstring lengths
+__FLAGS_OPTSTR_SHORT=0
+__FLAGS_OPTSTR_LONG=1
+
+__FLAGS_NULL='~'
+
+# flag info strings
+__FLAGS_INFO_DEFAULT='default'
+__FLAGS_INFO_HELP='help'
+__FLAGS_INFO_SHORT='short'
+__FLAGS_INFO_TYPE='type'
+
+# flag lengths
+__FLAGS_LEN_SHORT=0
+__FLAGS_LEN_LONG=1
+
+# flag types
+__FLAGS_TYPE_NONE=0
+__FLAGS_TYPE_BOOLEAN=1
+__FLAGS_TYPE_FLOAT=2
+__FLAGS_TYPE_INTEGER=3
+__FLAGS_TYPE_STRING=4
+
+# set the constants readonly
+__flags_constants=`set |awk -F= '/^FLAGS_/ || /^__FLAGS_/ {print $1}'`
+for __flags_const in ${__flags_constants}; do
+  # skip certain flags
+  case ${__flags_const} in
+    FLAGS_HELP) continue ;;
+    FLAGS_PARENT) continue ;;
+  esac
+  # set flag readonly
+  if [ -z "${ZSH_VERSION:-}" ]; then
+    readonly ${__flags_const}
+  else  # handle zsh
+    case ${ZSH_VERSION} in
+      [123].*) readonly ${__flags_const} ;;
+      *) readonly -g ${__flags_const} ;;  # declare readonly constants globally
+    esac
+  fi
+done
+unset __flags_const __flags_constants
+
+#
+# internal variables
+#
+
+__flags_boolNames=' '  # space separated list of boolean flag names
+__flags_longNames=' '  # space separated list of long flag names
+__flags_shortNames=' '  # space separated list of short flag names
+
+__flags_columns=''  # screen width in columns
+__flags_opts=''  # temporary storage for parsed getopt flags
+
+#------------------------------------------------------------------------------
+# private functions
+#
+
+# Define a flag.
+#
+# Calling this function will define the following info variables for the
+# specified flag:
+#   FLAGS_flagname - the name for this flag (based upon the long flag name)
+#   __flags_<flag_name>_default - the default value
+#   __flags_flagname_help - the help string
+#   __flags_flagname_short - the single letter alias
+#   __flags_flagname_type - the type of flag (one of __FLAGS_TYPE_*)
+#
+# Args:
+#   _flags__type: integer: internal type of flag (__FLAGS_TYPE_*)
+#   _flags__name: string: long flag name
+#   _flags__default: default flag value
+#   _flags__help: string: help string
+#   _flags__short: string: (optional) short flag name
+# Returns:
+#   integer: success of operation, or error
+_flags_define()
+{
+  if [ $# -lt 4 ]; then
+    flags_error='DEFINE error: too few arguments'
+    flags_return=${FLAGS_ERROR}
+    _flags_error "${flags_error}"
+    return ${flags_return}
+  fi
+
+  _flags_type_=$1
+  _flags_name_=$2
+  _flags_default_=$3
+  _flags_help_=$4
+  _flags_short_=${5:-${__FLAGS_NULL}}
+
+  _flags_return_=${FLAGS_TRUE}
+
+  # TODO(kward): check for validity of the flag name (e.g. dashes)
+
+  # check whether the flag name is reserved
+  echo " ${FLAGS_RESERVED} " |grep " ${_flags_name_} " >/dev/null
+  if [ $? -eq 0 ]; then
+    flags_error="flag name (${_flags_name_}) is reserved"
+    _flags_return_=${FLAGS_ERROR}
+  fi
+
+  # require short option for getopt that don't support long options
+  if [ ${_flags_return_} -eq ${FLAGS_TRUE} \
+      -a ${__FLAGS_GETOPT_VERS} -ne ${__FLAGS_GETOPT_VERS_ENH} \
+      -a "${_flags_short_}" = "${__FLAGS_NULL}" ]
+  then
+    flags_error="short flag required for (${_flags_name_}) on this platform"
+    _flags_return_=${FLAGS_ERROR}
+  fi
+
+  # check for existing long name definition
+  if [ ${_flags_return_} -eq ${FLAGS_TRUE} ]; then
+    if _flags_itemInList "${_flags_name_}" \
+        ${__flags_longNames} ${__flags_boolNames}
+    then
+      flags_error="flag name ([no]${_flags_name_}) already defined"
+      _flags_warn "${flags_error}"
+      _flags_return_=${FLAGS_FALSE}
+    fi
+  fi
+
+  # check for existing short name definition
+  if [ ${_flags_return_} -eq ${FLAGS_TRUE} \
+      -a "${_flags_short_}" != "${__FLAGS_NULL}" ]
+  then
+    if _flags_itemInList "${_flags_short_}" ${__flags_shortNames}; then
+      flags_error="flag short name (${_flags_short_}) already defined"
+      _flags_warn "${flags_error}"
+      _flags_return_=${FLAGS_FALSE}
+    fi
+  fi
+
+  # handle default value. note, on several occasions the 'if' portion of an
+  # if/then/else contains just a ':' which does nothing. a binary reversal via
+  # '!' is not done because it does not work on all shells.
+  if [ ${_flags_return_} -eq ${FLAGS_TRUE} ]; then
+    case ${_flags_type_} in
+      ${__FLAGS_TYPE_BOOLEAN})
+        if _flags_validateBoolean "${_flags_default_}"; then
+          case ${_flags_default_} in
+            true|t|0) _flags_default_=${FLAGS_TRUE} ;;
+            false|f|1) _flags_default_=${FLAGS_FALSE} ;;
+          esac
+        else
+          flags_error="invalid default flag value '${_flags_default_}'"
+          _flags_return_=${FLAGS_ERROR}
+        fi
+        ;;
+
+      ${__FLAGS_TYPE_FLOAT})
+        if _flags_validateFloat "${_flags_default_}"; then
+          :
+        else
+          flags_error="invalid default flag value '${_flags_default_}'"
+          _flags_return_=${FLAGS_ERROR}
+        fi
+        ;;
+
+      ${__FLAGS_TYPE_INTEGER})
+        if _flags_validateInteger "${_flags_default_}"; then
+          :
+        else
+          flags_error="invalid default flag value '${_flags_default_}'"
+          _flags_return_=${FLAGS_ERROR}
+        fi
+        ;;
+
+      ${__FLAGS_TYPE_STRING}) ;;  # everything in shell is a valid string
+
+      *)
+        flags_error="unrecognized flag type '${_flags_type_}'"
+        _flags_return_=${FLAGS_ERROR}
+        ;;
+    esac
+  fi
+
+  if [ ${_flags_return_} -eq ${FLAGS_TRUE} ]; then
+    # store flag information
+    eval "FLAGS_${_flags_name_}='${_flags_default_}'"
+    eval "__flags_${_flags_name_}_${__FLAGS_INFO_TYPE}=${_flags_type_}"
+    eval "__flags_${_flags_name_}_${__FLAGS_INFO_DEFAULT}=\
+\"${_flags_default_}\""
+    eval "__flags_${_flags_name_}_${__FLAGS_INFO_HELP}=\"${_flags_help_}\""
+    eval "__flags_${_flags_name_}_${__FLAGS_INFO_SHORT}='${_flags_short_}'"
+
+    # append flag name(s) to list of names
+    __flags_longNames="${__flags_longNames}${_flags_name_} "
+    __flags_shortNames="${__flags_shortNames}${_flags_short_} "
+    [ ${_flags_type_} -eq ${__FLAGS_TYPE_BOOLEAN} ] && \
+        __flags_boolNames="${__flags_boolNames}no${_flags_name_} "
+  fi
+
+  flags_return=${_flags_return_}
+  unset _flags_default_ _flags_help_ _flags_name_ _flags_return_ _flags_short_ \
+      _flags_type_
+  [ ${flags_return} -eq ${FLAGS_ERROR} ] && _flags_error "${flags_error}"
+  return ${flags_return}
+}
+
+# Return valid getopt options using currently defined list of long options.
+#
+# This function builds a proper getopt option string for short (and long)
+# options, using the current list of long options for reference.
+#
+# Args:
+#   _flags_optStr: integer: option string type (__FLAGS_OPTSTR_*)
+# Output:
+#   string: generated option string for getopt
+# Returns:
+#   boolean: success of operation (always returns True)
+_flags_genOptStr()
+{
+  _flags_optStrType_=$1
+
+  _flags_opts_=''
+
+  for _flags_flag_ in ${__flags_longNames}; do
+    _flags_type_=`_flags_getFlagInfo ${_flags_flag_} ${__FLAGS_INFO_TYPE}`
+    case ${_flags_optStrType_} in
+      ${__FLAGS_OPTSTR_SHORT})
+        _flags_shortName_=`_flags_getFlagInfo \
+            ${_flags_flag_} ${__FLAGS_INFO_SHORT}`
+        if [ "${_flags_shortName_}" != "${__FLAGS_NULL}" ]; then
+          _flags_opts_="${_flags_opts_}${_flags_shortName_}"
+          # getopt needs a trailing ':' to indicate a required argument
+          [ ${_flags_type_} -ne ${__FLAGS_TYPE_BOOLEAN} ] && \
+              _flags_opts_="${_flags_opts_}:"
+        fi
+        ;;
+
+      ${__FLAGS_OPTSTR_LONG})
+        _flags_opts_="${_flags_opts_:+${_flags_opts_},}${_flags_flag_}"
+        # getopt needs a trailing ':' to indicate a required argument
+        [ ${_flags_type_} -ne ${__FLAGS_TYPE_BOOLEAN} ] && \
+            _flags_opts_="${_flags_opts_}:"
+        ;;
+    esac
+  done
+
+  echo "${_flags_opts_}"
+  unset _flags_flag_ _flags_opts_ _flags_optStrType_ _flags_shortName_ \
+      _flags_type_
+  return ${FLAGS_TRUE}
+}
+
+# Returns flag details based on a flag name and flag info.
+#
+# Args:
+#   string: long flag name
+#   string: flag info (see the _flags_define function for valid info types)
+# Output:
+#   string: value of dereferenced flag variable
+# Returns:
+#   integer: one of FLAGS_{TRUE|FALSE|ERROR}
+_flags_getFlagInfo()
+{
+  _flags_name_=$1
+  _flags_info_=$2
+
+  _flags_nameVar_="__flags_${_flags_name_}_${_flags_info_}"
+  _flags_strToEval_="_flags_value_=\"\${${_flags_nameVar_}:-}\""
+  eval "${_flags_strToEval_}"
+  if [ -n "${_flags_value_}" ]; then
+    flags_return=${FLAGS_TRUE}
+  else
+    # see if the _flags_name_ variable is a string as strings can be empty...
+    # note: the DRY principle would say to have this function call itself for
+    # the next three lines, but doing so results in an infinite loop as an
+    # invalid _flags_name_ will also not have the associated _type variable.
+    # Because it doesn't (it will evaluate to an empty string) the logic will
+    # try to find the _type variable of the _type variable, and so on. Not so
+    # good ;-)
+    _flags_typeVar_="__flags_${_flags_name_}_${__FLAGS_INFO_TYPE}"
+    _flags_strToEval_="_flags_type_=\"\${${_flags_typeVar_}:-}\""
+    eval "${_flags_strToEval_}"
+    if [ "${_flags_type_}" = "${__FLAGS_TYPE_STRING}" ]; then
+      flags_return=${FLAGS_TRUE}
+    else
+      flags_return=${FLAGS_ERROR}
+      flags_error="invalid flag name (${_flags_nameVar_})"
+    fi
+  fi
+
+  echo "${_flags_value_}"
+  unset _flags_info_ _flags_name_ _flags_strToEval_ _flags_type_ _flags_value_ \
+      _flags_nameVar_ _flags_typeVar_
+  [ ${flags_return} -eq ${FLAGS_ERROR} ] && _flags_error "${flags_error}"
+  return ${flags_return}
+}
+
+# check for presense of item in a list. passed a string (e.g. 'abc'), this
+# function will determine if the string is present in the list of strings (e.g.
+# ' foo bar abc ').
+#
+# Args:
+#   _flags__str: string: string to search for in a list of strings
+#   unnamed: list: list of strings
+# Returns:
+#   boolean: true if item is in the list
+_flags_itemInList()
+{
+  _flags_str_=$1
+  shift
+
+  echo " ${*:-} " |grep " ${_flags_str_} " >/dev/null
+  if [ $? -eq 0 ]; then
+    flags_return=${FLAGS_TRUE}
+  else
+    flags_return=${FLAGS_FALSE}
+  fi
+
+  unset _flags_str_
+  return ${flags_return}
+}
+
+# Returns the width of the current screen.
+#
+# Output:
+#   integer: width in columns of the current screen.
+_flags_columns()
+{
+  if [ -z "${__flags_columns}" ]; then
+    # determine the value and store it
+    if eval stty size >/dev/null 2>&1; then
+      # stty size worked :-)
+      set -- `stty size`
+      __flags_columns=$2
+    elif eval tput cols >/dev/null 2>&1; then
+      set -- `tput cols`
+      __flags_columns=$1
+    else
+      __flags_columns=80  # default terminal width
+    fi
+  fi
+  echo ${__flags_columns}
+}
+
+# Validate a boolean.
+#
+# Args:
+#   _flags__bool: boolean: value to validate
+# Returns:
+#   bool: true if the value is a valid boolean
+_flags_validateBoolean()
+{
+  _flags_bool_=$1
+
+  flags_return=${FLAGS_TRUE}
+  case "${_flags_bool_}" in
+    true|t|0) ;;
+    false|f|1) ;;
+    *) flags_return=${FLAGS_FALSE} ;;
+  esac
+
+  unset _flags_bool_
+  return ${flags_return}
+}
+
+# Validate a float.
+#
+# Args:
+#   _flags__float: float: value to validate
+# Returns:
+#   bool: true if the value is a valid float
+_flags_validateFloat()
+{
+  _flags_float_=$1
+
+  if _flags_validateInteger ${_flags_float_}; then
+    flags_return=${FLAGS_TRUE}
+  else
+    flags_return=${FLAGS_TRUE}
+    case ${_flags_float_} in
+      -*)  # negative floats
+        _flags_test_=`expr "${_flags_float_}" : '\(-[0-9][0-9]*\.[0-9][0-9]*\)'`
+        ;;
+      *)  # positive floats
+        _flags_test_=`expr "${_flags_float_}" : '\([0-9][0-9]*\.[0-9][0-9]*\)'`
+        ;;
+    esac
+    [ "${_flags_test_}" != "${_flags_float_}" ] && flags_return=${FLAGS_FALSE}
+  fi
+
+  unset _flags_float_ _flags_test_
+  return ${flags_return}
+}
+
+# Validate an integer.
+#
+# Args:
+#   _flags__integer: interger: value to validate
+# Returns:
+#   bool: true if the value is a valid integer
+_flags_validateInteger()
+{
+  _flags_int_=$1
+
+  flags_return=${FLAGS_TRUE}
+  case ${_flags_int_} in
+    -*)  # negative ints
+      _flags_test_=`expr "${_flags_int_}" : '\(-[0-9][0-9]*\)'`
+      ;;
+    *)  # positive ints
+      _flags_test_=`expr "${_flags_int_}" : '\([0-9][0-9]*\)'`
+      ;;
+  esac
+  [ "${_flags_test_}" != "${_flags_int_}" ] && flags_return=${FLAGS_FALSE}
+
+  unset _flags_int_ _flags_test_
+  return ${flags_return}
+}
+
+# Parse command-line options using the standard getopt.
+#
+# Note: the flag options are passed around in the global __flags_opts so that
+# the formatting is not lost due to shell parsing and such.
+#
+# Args:
+#   @: varies: command-line options to parse
+# Returns:
+#   integer: a FLAGS success condition
+_flags_getoptStandard()
+{
+  flags_return=${FLAGS_TRUE}
+  _flags_shortOpts_=`_flags_genOptStr ${__FLAGS_OPTSTR_SHORT}`
+
+  # check for spaces in passed options
+  for _flags_opt_ in "$@"; do
+    # note: the silliness with the x's is purely for ksh93 on Ubuntu 6.06
+    _flags_match_=`echo "x${_flags_opt_}x" |sed 's/ //g'`
+    if [ "${_flags_match_}" != "x${_flags_opt_}x" ]; then
+      flags_error='the available getopt does not support spaces in options'
+      flags_return=${FLAGS_ERROR}
+      break
+    fi
+  done
+
+  if [ ${flags_return} -eq ${FLAGS_TRUE} ]; then
+    __flags_opts=`getopt ${_flags_shortOpts_} $@ 2>&1`
+    _flags_rtrn_=$?
+    if [ ${_flags_rtrn_} -ne ${FLAGS_TRUE} ]; then
+      _flags_warn "${__flags_opts}"
+      flags_error='unable to parse provided options with getopt.'
+      flags_return=${FLAGS_ERROR}
+    fi
+  fi
+
+  unset _flags_match_ _flags_opt_ _flags_rtrn_ _flags_shortOpts_
+  return ${flags_return}
+}
+
+# Parse command-line options using the enhanced getopt.
+#
+# Note: the flag options are passed around in the global __flags_opts so that
+# the formatting is not lost due to shell parsing and such.
+#
+# Args:
+#   @: varies: command-line options to parse
+# Returns:
+#   integer: a FLAGS success condition
+_flags_getoptEnhanced()
+{
+  flags_return=${FLAGS_TRUE}
+  _flags_shortOpts_=`_flags_genOptStr ${__FLAGS_OPTSTR_SHORT}`
+  _flags_boolOpts_=`echo "${__flags_boolNames}" \
+      |sed 's/^ *//;s/ *$//;s/ /,/g'`
+  _flags_longOpts_=`_flags_genOptStr ${__FLAGS_OPTSTR_LONG}`
+
+  __flags_opts=`getopt \
+      -o ${_flags_shortOpts_} \
+      -l "${_flags_longOpts_},${_flags_boolOpts_}" \
+      -- "$@" 2>&1`
+  _flags_rtrn_=$?
+  if [ ${_flags_rtrn_} -ne ${FLAGS_TRUE} ]; then
+    _flags_warn "${__flags_opts}"
+    flags_error='unable to parse provided options with getopt.'
+    flags_return=${FLAGS_ERROR}
+  fi
+
+  unset _flags_boolOpts_ _flags_longOpts_ _flags_rtrn_ _flags_shortOpts_
+  return ${flags_return}
+}
+
+# Dynamically parse a getopt result and set appropriate variables.
+#
+# This function does the actual conversion of getopt output and runs it through
+# the standard case structure for parsing. The case structure is actually quite
+# dynamic to support any number of flags.
+#
+# Args:
+#   argc: int: original command-line argument count
+#   @: varies: output from getopt parsing
+# Returns:
+#   integer: a FLAGS success condition
+_flags_parseGetopt()
+{
+  _flags_argc_=$1
+  shift
+
+  flags_return=${FLAGS_TRUE}
+
+  if [ ${__FLAGS_GETOPT_VERS} -ne ${__FLAGS_GETOPT_VERS_ENH} ]; then
+    set -- $@
+  else
+    # note the quotes around the `$@' -- they are essential!
+    eval set -- "$@"
+  fi
+
+  # provide user with number of arguments to shift by later
+  # NOTE: the FLAGS_ARGC variable is obsolete as of 1.0.3 because it does not
+  # properly give user access to non-flag arguments mixed in between flag
+  # arguments. Its usage was replaced by FLAGS_ARGV, and it is being kept only
+  # for backwards compatibility reasons.
+  FLAGS_ARGC=`expr $# - 1 - ${_flags_argc_}`
+
+  # handle options. note options with values must do an additional shift
+  while true; do
+    _flags_opt_=$1
+    _flags_arg_=${2:-}
+    _flags_type_=${__FLAGS_TYPE_NONE}
+    _flags_name_=''
+
+    # determine long flag name
+    case "${_flags_opt_}" in
+      --) shift; break ;;  # discontinue option parsing
+
+      --*)  # long option
+        _flags_opt_=`expr "${_flags_opt_}" : '--\(.*\)'`
+        _flags_len_=${__FLAGS_LEN_LONG}
+        if _flags_itemInList "${_flags_opt_}" ${__flags_longNames}; then
+          _flags_name_=${_flags_opt_}
+        else
+          # check for negated long boolean version
+          if _flags_itemInList "${_flags_opt_}" ${__flags_boolNames}; then
+            _flags_name_=`expr "${_flags_opt_}" : 'no\(.*\)'`
+            _flags_type_=${__FLAGS_TYPE_BOOLEAN}
+            _flags_arg_=${__FLAGS_NULL}
+          fi
+        fi
+        ;;
+
+      -*)  # short option
+        _flags_opt_=`expr "${_flags_opt_}" : '-\(.*\)'`
+        _flags_len_=${__FLAGS_LEN_SHORT}
+        if _flags_itemInList "${_flags_opt_}" ${__flags_shortNames}; then
+          # yes. match short name to long name. note purposeful off-by-one
+          # (too high) with awk calculations.
+          _flags_pos_=`echo "${__flags_shortNames}" \
+              |awk 'BEGIN{RS=" ";rn=0}$0==e{rn=NR}END{print rn}' \
+                  e=${_flags_opt_}`
+          _flags_name_=`echo "${__flags_longNames}" \
+              |awk 'BEGIN{RS=" "}rn==NR{print $0}' rn="${_flags_pos_}"`
+        fi
+        ;;
+    esac
+
+    # die if the flag was unrecognized
+    if [ -z "${_flags_name_}" ]; then
+      flags_error="unrecognized option (${_flags_opt_})"
+      flags_return=${FLAGS_ERROR}
+      break
+    fi
+
+    # set new flag value
+    [ ${_flags_type_} -eq ${__FLAGS_TYPE_NONE} ] && \
+        _flags_type_=`_flags_getFlagInfo \
+            "${_flags_name_}" ${__FLAGS_INFO_TYPE}`
+    case ${_flags_type_} in
+      ${__FLAGS_TYPE_BOOLEAN})
+        if [ ${_flags_len_} -eq ${__FLAGS_LEN_LONG} ]; then
+          if [ "${_flags_arg_}" != "${__FLAGS_NULL}" ]; then
+            eval "FLAGS_${_flags_name_}=${FLAGS_TRUE}"
+          else
+            eval "FLAGS_${_flags_name_}=${FLAGS_FALSE}"
+          fi
+        else
+          _flags_strToEval_="_flags_val_=\
+\${__flags_${_flags_name_}_${__FLAGS_INFO_DEFAULT}}"
+          eval "${_flags_strToEval_}"
+          if [ ${_flags_val_} -eq ${FLAGS_FALSE} ]; then
+            eval "FLAGS_${_flags_name_}=${FLAGS_TRUE}"
+          else
+            eval "FLAGS_${_flags_name_}=${FLAGS_FALSE}"
+          fi
+        fi
+        ;;
+
+      ${__FLAGS_TYPE_FLOAT})
+        if _flags_validateFloat "${_flags_arg_}"; then
+          eval "FLAGS_${_flags_name_}='${_flags_arg_}'"
+        else
+          flags_error="invalid float value (${_flags_arg_})"
+          flags_return=${FLAGS_ERROR}
+          break
+        fi
+        ;;
+
+      ${__FLAGS_TYPE_INTEGER})
+        if _flags_validateInteger "${_flags_arg_}"; then
+          eval "FLAGS_${_flags_name_}='${_flags_arg_}'"
+        else
+          flags_error="invalid integer value (${_flags_arg_})"
+          flags_return=${FLAGS_ERROR}
+          break
+        fi
+        ;;
+
+      ${__FLAGS_TYPE_STRING})
+        eval "FLAGS_${_flags_name_}='${_flags_arg_}'"
+        ;;
+    esac
+
+    # handle special case help flag
+    if [ "${_flags_name_}" = 'help' ]; then
+      if [ ${FLAGS_help} -eq ${FLAGS_TRUE} ]; then
+        flags_help
+        flags_error='help requested'
+        flags_return=${FLAGS_FALSE}
+        break
+      fi
+    fi
+
+    # shift the option and non-boolean arguements out.
+    shift
+    [ ${_flags_type_} != ${__FLAGS_TYPE_BOOLEAN} ] && shift
+  done
+
+  # give user back non-flag arguments
+  FLAGS_ARGV=''
+  while [ $# -gt 0 ]; do
+    FLAGS_ARGV="${FLAGS_ARGV:+${FLAGS_ARGV} }'$1'"
+    shift
+  done
+
+  unset _flags_arg_ _flags_len_ _flags_name_ _flags_opt_ _flags_pos_ \
+      _flags_strToEval_ _flags_type_ _flags_val_
+  return ${flags_return}
+}
+
+#------------------------------------------------------------------------------
+# public functions
+#
+
+# A basic boolean flag. Boolean flags do not take any arguments, and their
+# value is either 1 (false) or 0 (true). For long flags, the false value is
+# specified on the command line by prepending the word 'no'. With short flags,
+# the presense of the flag toggles the current value between true and false.
+# Specifying a short boolean flag twice on the command results in returning the
+# value back to the default value.
+#
+# A default value is required for boolean flags.
+#
+# For example, lets say a Boolean flag was created whose long name was 'update'
+# and whose short name was 'x', and the default value was 'false'. This flag
+# could be explicitly set to 'true' with '--update' or by '-x', and it could be
+# explicitly set to 'false' with '--noupdate'.
+DEFINE_boolean() { _flags_define ${__FLAGS_TYPE_BOOLEAN} "$@"; }
+
+# Other basic flags.
+DEFINE_float()   { _flags_define ${__FLAGS_TYPE_FLOAT} "$@"; }
+DEFINE_integer() { _flags_define ${__FLAGS_TYPE_INTEGER} "$@"; }
+DEFINE_string()  { _flags_define ${__FLAGS_TYPE_STRING} "$@"; }
+
+# Parse the flags.
+#
+# Args:
+#   unnamed: list: command-line flags to parse
+# Returns:
+#   integer: success of operation, or error
+FLAGS()
+{
+  # define a standard 'help' flag if one isn't already defined
+  [ -z "${__flags_help_type:-}" ] && \
+      DEFINE_boolean 'help' false 'show this help' 'h'
+
+  # parse options
+  if [ $# -gt 0 ]; then
+    if [ ${__FLAGS_GETOPT_VERS} -ne ${__FLAGS_GETOPT_VERS_ENH} ]; then
+      _flags_getoptStandard "$@"
+    else
+      _flags_getoptEnhanced "$@"
+    fi
+    flags_return=$?
+  else
+    # nothing passed; won't bother running getopt
+    __flags_opts='--'
+    flags_return=${FLAGS_TRUE}
+  fi
+
+  if [ ${flags_return} -eq ${FLAGS_TRUE} ]; then
+    _flags_parseGetopt $# "${__flags_opts}"
+    flags_return=$?
+  fi
+
+  [ ${flags_return} -eq ${FLAGS_ERROR} ] && _flags_fatal "${flags_error}"
+  return ${flags_return}
+}
+
+# This is a helper function for determining the `getopt` version for platforms
+# where the detection isn't working. It simply outputs debug information that
+# can be included in a bug report.
+#
+# Args:
+#   none
+# Output:
+#   debug info that can be included in a bug report
+# Returns:
+#   nothing
+flags_getoptInfo()
+{
+  # platform info
+  _flags_debug "uname -a: `uname -a`"
+  _flags_debug "PATH: ${PATH}"
+
+  # shell info
+  if [ -n "${BASH_VERSION:-}" ]; then
+    _flags_debug 'shell: bash'
+    _flags_debug "BASH_VERSION: ${BASH_VERSION}"
+  elif [ -n "${ZSH_VERSION:-}" ]; then
+    _flags_debug 'shell: zsh'
+    _flags_debug "ZSH_VERSION: ${ZSH_VERSION}"
+  fi
+
+  # getopt info
+  getopt >/dev/null
+  _flags_getoptReturn=$?
+  _flags_debug "getopt return: ${_flags_getoptReturn}"
+  _flags_debug "getopt --version: `getopt --version 2>&1`"
+
+  unset _flags_getoptReturn
+}
+
+# Returns whether the detected getopt version is the enhanced version.
+#
+# Args:
+#   none
+# Output:
+#   none
+# Returns:
+#   bool: true if getopt is the enhanced version
+flags_getoptIsEnh()
+{
+  test ${__FLAGS_GETOPT_VERS} -eq ${__FLAGS_GETOPT_VERS_ENH}
+}
+
+# Returns whether the detected getopt version is the standard version.
+#
+# Args:
+#   none
+# Returns:
+#   bool: true if getopt is the standard version
+flags_getoptIsStd()
+{
+  test ${__FLAGS_GETOPT_VERS} -eq ${__FLAGS_GETOPT_VERS_STD}
+}
+
+# This is effectively a 'usage()' function. It prints usage information and
+# exits the program with ${FLAGS_FALSE} if it is ever found in the command line
+# arguments. Note this function can be overridden so other apps can define
+# their own --help flag, replacing this one, if they want.
+#
+# Args:
+#   none
+# Returns:
+#   integer: success of operation (always returns true)
+flags_help()
+{
+  if [ -n "${FLAGS_HELP:-}" ]; then
+    echo "${FLAGS_HELP}" >&2
+  else
+    echo "USAGE: ${FLAGS_PARENT:-$0} [flags] args" >&2
+  fi
+  if [ -n "${__flags_longNames}" ]; then
+    echo 'flags:' >&2
+    for flags_name_ in ${__flags_longNames}; do
+      flags_flagStr_=''
+      flags_boolStr_=''
+
+      flags_default_=`_flags_getFlagInfo \
+          "${flags_name_}" ${__FLAGS_INFO_DEFAULT}`
+      flags_help_=`_flags_getFlagInfo \
+          "${flags_name_}" ${__FLAGS_INFO_HELP}`
+      flags_short_=`_flags_getFlagInfo \
+          "${flags_name_}" ${__FLAGS_INFO_SHORT}`
+      flags_type_=`_flags_getFlagInfo \
+          "${flags_name_}" ${__FLAGS_INFO_TYPE}`
+
+      [ "${flags_short_}" != "${__FLAGS_NULL}" ] \
+          && flags_flagStr_="-${flags_short_}"
+
+      if [ ${__FLAGS_GETOPT_VERS} -eq ${__FLAGS_GETOPT_VERS_ENH} ]; then
+        [ "${flags_short_}" != "${__FLAGS_NULL}" ] \
+            && flags_flagStr_="${flags_flagStr_},"
+        [ ${flags_type_} -eq ${__FLAGS_TYPE_BOOLEAN} ] \
+            && flags_boolStr_='[no]'
+        flags_flagStr_="${flags_flagStr_}--${flags_boolStr_}${flags_name_}:"
+      fi
+
+      case ${flags_type_} in
+        ${__FLAGS_TYPE_BOOLEAN})
+          if [ ${flags_default_} -eq ${FLAGS_TRUE} ]; then
+            flags_defaultStr_='true'
+          else
+            flags_defaultStr_='false'
+          fi
+          ;;
+        ${__FLAGS_TYPE_FLOAT}|${__FLAGS_TYPE_INTEGER})
+          flags_defaultStr_=${flags_default_} ;;
+        ${__FLAGS_TYPE_STRING}) flags_defaultStr_="'${flags_default_}'" ;;
+      esac
+      flags_defaultStr_="(default: ${flags_defaultStr_})"
+
+      flags_helpStr_="  ${flags_flagStr_}  ${flags_help_} ${flags_defaultStr_}"
+      flags_helpStrLen_=`expr "${flags_helpStr_}" : '.*'`
+      flags_columns_=`_flags_columns`
+      if [ ${flags_helpStrLen_} -lt ${flags_columns_} ]; then
+        echo "${flags_helpStr_}" >&2
+      else
+        echo "  ${flags_flagStr_}  ${flags_help_}" >&2
+        # note: the silliness with the x's is purely for ksh93 on Ubuntu 6.06
+        # because it doesn't like empty strings when used in this manner.
+        flags_emptyStr_="`echo \"x${flags_flagStr_}x\" \
+            |awk '{printf "%"length($0)-2"s", ""}'`"
+        flags_helpStr_="  ${flags_emptyStr_}  ${flags_defaultStr_}"
+        flags_helpStrLen_=`expr "${flags_helpStr_}" : '.*'`
+        if [ ${__FLAGS_GETOPT_VERS} -eq ${__FLAGS_GETOPT_VERS_STD} \
+            -o ${flags_helpStrLen_} -lt ${flags_columns_} ]; then
+          # indented to match help string
+          echo "${flags_helpStr_}" >&2
+        else
+          # indented four from left to allow for longer defaults as long flag
+          # names might be used too, making things too long
+          echo "    ${flags_defaultStr_}" >&2
+        fi
+      fi
+    done
+  fi
+
+  unset flags_boolStr_ flags_default_ flags_defaultStr_ flags_emptyStr_ \
+      flags_flagStr_ flags_help_ flags_helpStr flags_helpStrLen flags_name_ \
+      flags_columns_ flags_short_ flags_type_
+  return ${FLAGS_TRUE}
+}
+
+# Reset shflags back to an uninitialized state.
+#
+# Args:
+#   none
+# Returns:
+#   nothing
+flags_reset()
+{
+  for flags_name_ in ${__flags_longNames}; do
+    flags_strToEval_="unset FLAGS_${flags_name_}"
+    for flags_type_ in \
+        ${__FLAGS_INFO_DEFAULT} \
+        ${__FLAGS_INFO_HELP} \
+        ${__FLAGS_INFO_SHORT} \
+        ${__FLAGS_INFO_TYPE}
+    do
+      flags_strToEval_=\
+"${flags_strToEval_} __flags_${flags_name_}_${flags_type_}"
+    done
+    eval ${flags_strToEval_}
+  done
+
+  # reset internal variables
+  __flags_boolNames=' '
+  __flags_longNames=' '
+  __flags_shortNames=' '
+
+  unset flags_name_ flags_type_ flags_strToEval_
+}
diff --git a/scripts/image_signing/lib/sign_android_lib.sh b/scripts/image_signing/lib/sign_android_lib.sh
new file mode 100644 (file)
index 0000000..4c1d25f
--- /dev/null
@@ -0,0 +1,143 @@
+#!/bin/bash
+
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+. "$(dirname "$0")/common.sh"
+
+#######################################
+# Return name according to the current signing debug key. The name is used to
+# select key files.
+# Globals:
+#   None
+# Arguments:
+#   sha1: signature of the APK.
+#   keyset: "cheets" or "aosp" build?
+# Outputs:
+#   Writes the name of the key to stdout.
+# Returns:
+#   0 on success, non-zero on error.
+#######################################
+android_choose_key() {
+  local sha1="$1"
+  local keyset="$2"
+
+  if [[ "${keyset}" != "aosp" && "${keyset}" != "cheets" ]]; then
+    error "Unknown Android build keyset '${keyset}'."
+    return 1
+  fi
+
+  # Fingerprints below are generated by:
+  # 'cheets' keyset:
+  # $ keytool -file vendor/google_arc/certs/cheetskeys/$NAME.x509.pem \
+  #     -printcert | grep SHA1:
+  # 'aosp' keyset:
+  # $ keytool -file build/target/product/security/$NAME.x509.pem -printcert \
+  #     | grep SHA1:
+  declare -A platform_sha=(
+    ['cheets']='AA:04:E0:5F:82:9C:7E:D1:B9:F8:FC:99:6C:5A:54:43:83:D9:F5:BC'
+    ['aosp']='27:19:6E:38:6B:87:5E:76:AD:F7:00:E7:EA:84:E4:C6:EE:E3:3D:FA'
+  )
+  declare -A media_sha=(
+    ['cheets']='D4:C4:2D:E0:B9:1B:15:72:FA:7D:A7:21:E0:A6:09:94:B4:4C:B5:AE'
+    ['aosp']='B7:9D:F4:A8:2E:90:B5:7E:A7:65:25:AB:70:37:AB:23:8A:42:F5:D3'
+  )
+  declare -A shared_sha=(
+    ['cheets']='38:B6:2C:E1:75:98:E3:E1:1C:CC:F6:6B:83:BB:97:0E:2D:40:6C:AE'
+    ['aosp']='5B:36:8C:FF:2D:A2:68:69:96:BC:95:EA:C1:90:EA:A4:F5:63:0F:E5'
+  )
+  declare -A release_sha=(
+    ['cheets']='EC:63:36:20:23:B7:CB:66:18:70:D3:39:3C:A9:AE:7E:EF:A9:32:42'
+    ['aosp']='61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81'
+  )
+  declare -A networkstack_sha=(
+    ['cheets']='7C:AD:D6:52:41:69:E7:A4:47:6F:DA:74:D0:8E:F0:48:3A:6F:00:ED'
+    ['aosp']='7C:8B:DA:BD:21:F9:53:A1:B1:8C:CB:E7:B9:13:93:D9:FD:F9:48:30'
+  )
+
+  case "${sha1}" in
+    "${platform_sha["${keyset}"]}")
+      echo "platform"
+      ;;
+    "${media_sha["${keyset}"]}")
+      echo "media"
+      ;;
+    "${shared_sha["${keyset}"]}")
+      echo "shared"
+      ;;
+    "${release_sha["${keyset}"]}")
+      # The release_sha[] fingerprint is from devkey. Translate to releasekey.
+      echo "releasekey"
+      ;;
+    "${networkstack_sha["${keyset}"]}")
+      echo "networkstack"
+      ;;
+    *)
+      # Not a framework apk.  Do not re-sign.
+      echo ""
+      ;;
+  esac
+  return 0
+}
+
+#######################################
+# Extract 'ro.build.flavor' property from build property file.
+# Globals:
+#   None
+# Arguments:
+#   build_prop_file: path to build property file.
+# Outputs:
+#   Writes the value of the property to stdout.
+# Returns:
+#   0 on success, non-zero on error.
+#######################################
+android_get_build_flavor_prop() {
+  local build_prop_file="$1"
+  local flavor_prop=""
+
+  if ! flavor_prop=$(grep -a "^ro\.build\.flavor=" "${build_prop_file}"); then
+    return 1
+  fi
+  flavor_prop=$(echo "${flavor_prop}" | cut -d "=" -f2)
+  echo "${flavor_prop}"
+  return 0
+}
+
+#######################################
+# Pick the expected keyset ('cheets', 'aosp') depending on the build flavor.
+# Globals:
+#   None
+# Arguments:
+#   flavor_prop: the value of the build flavor property.
+# Outputs:
+#   Writes the name of the keyset to stdout.
+# Returns:
+#   0 on success, non-zero on error.
+#######################################
+android_choose_signing_keyset() {
+  local flavor_prop="$1"
+
+  # Property ro.build.flavor follows those patterns:
+  # - cheets builds:
+  #   ro.build.flavor=cheets_${arch}-user(debug)
+  # - SDK builds:
+  #   ro.build.flavor=sdk_google_cheets_${arch}-user(debug) # For N
+  #   ro.build.flavor=sdk_cheets_${arch}-user(debug) # For P
+  # - AOSP builds:
+  #   ro.build.flavor=aosp_cheets_${arch}-user(debug)
+  # "cheets" and "SDK" builds both use the same signing keys, cheetskeys. "AOSP"
+  # builds use the public AOSP signing keys.
+  if [[ "${flavor_prop}" == aosp_cheets_* ]]; then
+    keyset="aosp"
+  elif [[ "${flavor_prop}" == cheets_* ||
+    "${flavor_prop}" == sdk_cheets_* ||
+    "${flavor_prop}" == sdk_google_cheets_* ||
+    "${flavor_prop}" == bertha_* ]]; then
+    keyset="cheets"
+  else
+    return 1
+  fi
+  echo "${keyset}"
+  return 0
+}
diff --git a/scripts/image_signing/make_dev_firmware.sh b/scripts/image_signing/make_dev_firmware.sh
new file mode 100755 (executable)
index 0000000..0db5638
--- /dev/null
@@ -0,0 +1,465 @@
+#!/bin/sh
+#
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This script can change key (usually developer keys) in a firmware binary
+# image or system live firmware (EEPROM), and assign proper HWID, FLAGS as well.
+
+SCRIPT_BASE="$(dirname "$0")"
+. "$SCRIPT_BASE/common_minimal.sh"
+load_shflags || exit 1
+
+# Constants used by DEFINE_*
+VBOOT_BASE='/usr/share/vboot'
+DEFAULT_KEYS_FOLDER="$VBOOT_BASE/devkeys"
+DEFAULT_BACKUP_FOLDER='/mnt/stateful_partition/backups'
+
+# DEFINE_string name default_value description flag
+DEFINE_string from "" "Path of input BIOS file (empty for system live BIOS)" "f"
+DEFINE_string to "" "Path of output BIOS file (empty for system live BIOS)" "t"
+DEFINE_string ec_from "" "Path of input EC file (empty for system live EC)" "e"
+DEFINE_string ec_to "" "Path of output EC file (empty for system live EC)" "o"
+DEFINE_string keys "$DEFAULT_KEYS_FOLDER" "Path to folder of dev keys" "k"
+DEFINE_string preamble_flags "" "Override preamble flags value. Known values:
+                        0: None. (Using RW to boot in normal. aka, two-stop)
+                        1: VB_FIRMWARE_PREAMBLE_USE_RO_NORMAL (one-stop)" "p"
+DEFINE_boolean mod_hwid \
+  $FLAGS_TRUE "Modify HWID to indicate this is a modified firmware" ""
+DEFINE_boolean mod_gbb_flags \
+  $FLAGS_TRUE "Modify GBB flags to enable developer friendly features" ""
+DEFINE_boolean change_ec \
+  $FLAGS_FALSE "Change the key in the EC binary if EC uses EFS boot" ""
+DEFINE_boolean force_backup \
+  $FLAGS_TRUE "Create backup even if source is not live" ""
+DEFINE_string backup_dir \
+  "$DEFAULT_BACKUP_FOLDER" "Path of directory to store firmware backups" ""
+
+# Parse command line
+FLAGS "$@" || exit 1
+eval set -- "$FLAGS_ARGV"
+
+# Globals
+# ----------------------------------------------------------------------------
+set -e
+
+# the image we are (temporary) working with
+IMAGE_BIOS="$(make_temp_file)"
+IMAGE_BIOS="$(readlink -f "${IMAGE_BIOS}")"
+if [ "${FLAGS_change_ec}" = "${FLAGS_TRUE}" ]; then
+  IMAGE_EC="$(make_temp_file)"
+  IMAGE_EC="$(readlink -f "${IMAGE_EC}")"
+fi
+
+# a log file to keep the output results of executed command
+EXEC_LOG="$(make_temp_file)"
+
+# Functions
+# ----------------------------------------------------------------------------
+
+flashrom_bios() {
+  if is_debug_mode; then
+    flashrom -V -p host "$@"
+  else
+    flashrom -p host "$@"
+  fi
+}
+
+flashrom_ec() {
+  if is_debug_mode; then
+    flashrom -V -p ec "$@"
+  else
+    flashrom -p ec "$@"
+  fi
+}
+
+# Execute the given command and log its output to the file ${EXEC_LOG}.
+# If is_debug_mode, also print the output directly.
+execute() {
+  if is_debug_mode; then
+    "$@" 2>&1 | tee "${EXEC_LOG}"
+  else
+    "$@" >"${EXEC_LOG}" 2>&1
+  fi
+}
+
+# Disables write protection status registers
+disable_write_protection() {
+  # No need to change WP status in file mode
+  if [ -n "$FLAGS_to" ]; then
+    return $FLAGS_TRUE
+  fi
+
+  # --wp-disable command may return success even if WP is still enabled,
+  # so we should use --wp-status to verify the results.
+  echo "Disabling system software write protection status..."
+  (flashrom_bios --wp-disable && flashrom_bios --wp-status) 2>&1 |
+    tee "$EXEC_LOG" |
+    grep -q '^WP: .* is disabled\.$'
+}
+
+# Reads ${IMAGE_BIOS} from ${FLAGS_from} and ${IMAGE_EC} from ${FLAGS_ec_from}
+read_image() {
+  if [ -z "$FLAGS_from" ]; then
+    echo "Reading system live BIOS firmware..."
+    execute flashrom_bios -r "${IMAGE_BIOS}"
+  else
+    debug_msg "reading from file: ${FLAGS_from}"
+    cp -f "${FLAGS_from}" "${IMAGE_BIOS}"
+  fi
+  if [ "${FLAGS_change_ec}" = "${FLAGS_TRUE}" ]; then
+    if [ -z "${FLAGS_ec_from}" ]; then
+      echo "Reading system live EC firmware..."
+      execute flashrom_ec -r "${IMAGE_EC}"
+    else
+      debug_msg "reading from file: ${FLAGS_ec_from}"
+      cp -f "${FLAGS_ec_from}" "${IMAGE_EC}"
+    fi
+  fi
+}
+
+# Writes ${IMAGE_BIOS} to ${FLAGS_to} and ${IMAGE_EC} to ${FLAGS_ec_to}
+write_image() {
+  if [ -z "${FLAGS_to}" ]; then
+    echo "Writing system live BIOS firmware..."
+    # TODO(hungte) we can enable partial write to make this faster
+    execute flashrom_bios -w "${IMAGE_BIOS}"
+  else
+    debug_msg "writing to file: ${FLAGS_to}"
+    cp -f "${IMAGE_BIOS}" "${FLAGS_to}"
+    chmod a+r "${FLAGS_to}"
+  fi
+  if [ "${FLAGS_change_ec}" = "${FLAGS_TRUE}" ]; then
+    if [ -z "${FLAGS_ec_to}" ]; then
+      echo "Writing system live EC firmware..."
+      # TODO(hungte) we can enable partial write to make this faster
+      execute flashrom_ec -w "${IMAGE_EC}"
+    else
+      debug_msg "writing to file: ${FLAGS_ec_to}"
+      cp -f "${IMAGE_EC}" "${FLAGS_ec_to}"
+      chmod a+r "${FLAGS_ec_to}"
+    fi
+  fi
+}
+
+# Converts HWID from $1 to proper format with "DEV" extension
+echo_dev_hwid() {
+  local hwid="$1"
+  local hwid_no_dev="${hwid% DEV}"
+
+  # NOTE: Some DEV firmware image files may put GUID in HWID.
+  # These are not officially supported and they will see "{GUID} DEV".
+
+  if [ "$hwid" != "$hwid_no_dev" ]; then
+    hwid="$hwid_no_dev"
+  fi
+  local hwid_dev="$hwid DEV"
+  debug_msg "echo_dev_hwid: [$1] -> [$hwid_dev]"
+  echo "$hwid_dev"
+}
+
+# Main
+# ----------------------------------------------------------------------------
+main() {
+  # Check parameters
+  local root_pubkey="${FLAGS_keys}/root_key.vbpubk"
+  local recovery_pubkey="${FLAGS_keys}/recovery_key.vbpubk"
+  local firmware_keyblock="${FLAGS_keys}/firmware.keyblock"
+  local firmware_prvkey="${FLAGS_keys}/firmware_data_key.vbprivk"
+  local dev_firmware_keyblock="${FLAGS_keys}/dev_firmware.keyblock"
+  local dev_firmware_prvkey="${FLAGS_keys}/dev_firmware_data_key.vbprivk"
+  local kernel_sub_pubkey="${FLAGS_keys}/kernel_subkey.vbpubk"
+  local ec_efs_pubkey="${FLAGS_keys}/key_ec_efs.vbpubk2"
+  local ec_efs_prvkey="${FLAGS_keys}/key_ec_efs.vbprik2"
+  local is_from_live=0
+  local backup_bios_image=''
+  local backup_ec_image=''
+
+  debug_msg "Prerequisite check"
+  ensure_files_exist \
+    "${root_pubkey}" \
+    "${recovery_pubkey}" \
+    "${firmware_keyblock}" \
+    "${firmware_prvkey}" \
+    "${kernel_sub_pubkey}" \
+    "${ec_efs_pubkey}" \
+    "${ec_efs_prvkey}" ||
+    exit 1
+
+  if [ -z "${FLAGS_from}" ]; then
+    is_from_live=1
+  else
+    ensure_files_exist "${FLAGS_from}" || exit 1
+  fi
+
+  if [ -z "${FLAGS_ec_from}" ]; then
+    is_from_live=1
+  else
+    ensure_files_exist "${FLAGS_ec_from}" || exit 1
+  fi
+
+  debug_msg "Checking software write protection status"
+  disable_write_protection ||
+    if is_debug_mode; then
+      die "Failed to disable WP. Diagnose Message: $(cat "${EXEC_LOG}")"
+    else
+      die "Write protection is still enabled. " \
+          "Please verify that hardware write protection is disabled."
+    fi
+
+  debug_msg "Pulling image"
+  (read_image &&
+      [ -s "${IMAGE_BIOS}" ] &&
+      [ "${FLAGS_change_ec}" = "${FLAGS_FALSE}" -o -s "${IMAGE_EC}" ]) ||
+    die "Failed to read image. Error message: $(cat "${EXEC_LOG}")"
+
+
+  debug_msg "Prepare to backup the file"
+  if [ -n "${is_from_live}" -o ${FLAGS_force_backup} = ${FLAGS_TRUE} ]; then
+    backup_bios_image="$(make_temp_file)"
+    debug_msg "Creating BIOS backup file to ${backup_bios_image}..."
+    cp -f "${IMAGE_BIOS}" "${backup_bios_image}"
+
+    if [ "${FLAGS_change_ec}" = "${FLAGS_TRUE}" ]; then
+      backup_ec_image="$(make_temp_file)"
+      debug_msg "Creating EC backup file to ${backup_ec_image}..."
+      cp -f "${IMAGE_EC}" "${backup_ec_image}"
+    fi
+  fi
+
+  local expanded_firmware_dir="$(make_temp_dir)"
+  if [ "${FLAGS_change_ec}" = "${FLAGS_TRUE}" ]; then
+    if is_ec_rw_signed "${IMAGE_EC}"; then
+      # TODO(waihong): These are duplicated from sign_official_build.sh. We need
+      # to move them to a single place for share.
+      debug_msg "Resign EC firmware with new EC EFS key"
+      local rw_bin="EC_RW.bin"
+      local rw_hash="EC_RW.hash"
+      # futility writes byproduct files to CWD, so we cd to temp dir.
+      local old_cwd=$(pwd)
+      cd "${expanded_firmware_dir}"
+
+      ${FUTILITY} sign --type rwsig --prikey "${ec_efs_prvkey}" "${IMAGE_EC}" ||
+        die "Failed to sign EC image"
+      # Above command produces EC_RW.bin. Compute its hash.
+      openssl dgst -sha256 -binary "${rw_bin}" > "${rw_hash}"
+
+      debug_msg "Store ecrw and its hash to BIOS firmware"
+      store_file_in_cbfs "${IMAGE_BIOS}" "${rw_bin}" "ecrw" ||
+        die "Failed to store ecrw in BIOS image"
+      store_file_in_cbfs "${IMAGE_BIOS}" "${rw_hash}" "ecrw.hash" ||
+        die "Failed to store ecrw.hash in BIOS image"
+
+      cd "${old_cwd}"
+      # Continuous the code below to resign the BIOS image.
+    else
+      echo "EC image is not signed. Skip changing its key."
+    fi
+  fi
+
+  debug_msg "Detecting developer firmware keyblock"
+  local use_devfw_keyblock="$FLAGS_FALSE"
+  (cd "${expanded_firmware_dir}"; dump_fmap -x "${IMAGE_BIOS}" \
+    >/dev/null 2>&1) || die "Failed to extract firmware image."
+  if [ -f "$expanded_firmware_dir/VBLOCK_A" ]; then
+    local has_dev=$FLAGS_TRUE has_norm=$FLAGS_TRUE
+    # In output of vbutil_keyblock, "!DEV" means "bootable on normal mode" and
+    # "DEV" means "bootable on developer mode". Here we try to match the pattern
+    # in output of vbutil_block, and disable the flags (has_dev, has_norm) if
+    # the pattern was not found.
+    vbutil_keyblock --unpack "$expanded_firmware_dir/VBLOCK_A" |
+      grep -qw '!DEV' || has_norm=$FLAGS_FALSE
+    vbutil_keyblock --unpack "$expanded_firmware_dir/VBLOCK_A" |
+      grep -qw '[^!]DEV' || has_dev=$FLAGS_FALSE
+    if [ "$has_norm" = "$FLAGS_FALSE" -a "$has_dev" = "$FLAGS_TRUE" ]; then
+      use_devfw_keyblock=$FLAGS_TRUE
+    fi
+  fi
+
+  if [ "$use_devfw_keyblock" = "$FLAGS_TRUE" ]; then
+    echo "Using keyblocks (developer, normal)..."
+  else
+    echo "Using keyblocks (normal, normal)..."
+    dev_firmware_prvkey="$firmware_prvkey"
+    dev_firmware_keyblock="$firmware_keyblock"
+  fi
+
+  debug_msg "Extract firmware version and data key version"
+  ${FUTILITY} gbb -g --rootkey="${expanded_firmware_dir}/rootkey" \
+    "${IMAGE_BIOS}" >/dev/null 2>&1
+
+  local data_key_version firmware_version
+  # When we are going to flash directly from or to system, the versions stored
+  # in TPM can be found by crossystem; otherwise we'll need to guess from source
+  # firmware (FLAGS_from).
+  if [ -z "$FLAGS_to" -o -z "$FLAGS_from" ]; then
+    debug_msg "Reading TPM version from crossystem tpm_fwver."
+    data_key_version="$(( $(crossystem tpm_fwver) >> 16 ))"
+    firmware_version="$(( $(crossystem tpm_fwver) & 0xFFFF ))"
+  else
+    # TODO(hungte) On Vboot2, A/B slot may contain different firmware so we may
+    # need to check both and decide from largest number.
+    debug_msg "Guessing TPM version from original firmware."
+    local fw_info="$(vbutil_firmware \
+                     --verify "${expanded_firmware_dir}/VBLOCK_A" \
+                     --signpubkey "${expanded_firmware_dir}/rootkey" \
+                     --fv "${expanded_firmware_dir}/FW_MAIN_A" 2>/dev/null)" ||
+        die "Failed to verify firmware slot A."
+    data_key_version="$(
+      echo "$fw_info" | sed -n '/^ *Data key version:/s/.*:[ \t]*//p')"
+    firmware_version="$(
+      echo "$fw_info" | sed -n '/^ *Firmware version:/s/.*:[ \t]*//p')"
+  fi
+
+  local new_data_key_version="$(
+    vbutil_keyblock --unpack "$firmware_keyblock" |
+    sed -n '/^ *Data key version:/s/.*:[ \t]*//p')"
+
+  # TODO(hungte) Change keyblock by data_key_version.
+  if [ "$data_key_version" -gt "$new_data_key_version" ]; then
+    echo "$(tput bold)$(tput setaf 1)
+    Warning: firmware data key version <$new_data_key_version> in your new keys
+    [$FLAGS_keys] is smaller than original firmware <$data_key_version> and
+    will boot into only recovery mode due to TPM anti-rollback detection.
+
+    After reboot with dev recovery key, you will need to reset TPM by booting a
+    test or dev image in recovery mode (NOT Ctrl-U), switch to VT2 and run
+    command <chromeos-tpm-recovery>; or use a factory install shim image
+    (build_image factory_install).
+    $(tput sgr 0)" >&2
+  fi
+
+  echo "Signing with Data Key Version: $data_key_version, " \
+       "Firmware Version: $firmware_version"
+
+  echo "Preparing new firmware image..."
+
+  debug_msg "Resign the firmware code (A/B) with new keys"
+  # Note resign_firmwarefd.sh needs the original rootkey to determine firmware
+  # body size, so we must resign image before changing GBB rootkey.
+
+  local unsigned_image="$(make_temp_file)"
+  local optional_opts=""
+  if [ -n "$FLAGS_preamble_flags" ]; then
+    debug_msg "Setting FLAGS=$FLAGS_preamble_flags"
+    optional_opts="$FLAGS_preamble_flags"
+  fi
+  cp -f "${IMAGE_BIOS}" "$unsigned_image"
+  execute "$SCRIPT_BASE/resign_firmwarefd.sh" \
+    "${unsigned_image}" \
+    "${IMAGE_BIOS}" \
+    "${firmware_prvkey}" \
+    "${firmware_keyblock}" \
+    "${dev_firmware_prvkey}" \
+    "${dev_firmware_keyblock}" \
+    "${kernel_sub_pubkey}" \
+    "${firmware_version}" \
+    ${optional_opts} ||
+    die "Failed to re-sign firmware. (message: $(cat "${EXEC_LOG}"))"
+
+  debug_msg "Extract current HWID"
+  local old_hwid
+  old_hwid="$(${FUTILITY} gbb --get --hwid "${IMAGE_BIOS}" 2>"${EXEC_LOG}" |
+              sed -rne 's/^hardware_id: (.*)$/\1/p')"
+
+  debug_msg "Decide new HWID"
+  [ -z "$old_hwid" ] &&
+    die "Cannot find current HWID. (message: $(cat "${EXEC_LOG}"))"
+  local new_hwid="$old_hwid"
+  if [ "$FLAGS_mod_hwid" = "$FLAGS_TRUE" ]; then
+    new_hwid="$(echo_dev_hwid "$old_hwid")"
+  fi
+
+  local old_gbb_flags
+  old_gbb_flags="$(${FUTILITY} gbb --get --flags "${IMAGE_BIOS}" \
+    2>"${EXEC_LOG}" | sed -rne 's/^flags: (.*)$/\1/p')"
+  debug_msg "Decide new GBB flags from: $old_gbb_flags"
+  [ -z "$old_gbb_flags" ] &&
+    die "Cannot find GBB flags. (message: $(cat "${EXEC_LOG}"))"
+  # 0x30: VB2_GBB_FLAG_FORCE_DEV_BOOT_USB |
+  #       VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK
+  local new_gbb_flags="$((old_gbb_flags | 0x30))"
+
+  debug_msg "Replace GBB parts (futility gbb allows changing on-the-fly)"
+  ${FUTILITY} gbb --set \
+    --hwid="${new_hwid}" \
+    --rootkey="${root_pubkey}" \
+    --recoverykey="${recovery_pubkey}" \
+    "${IMAGE_BIOS}" >"${EXEC_LOG}" 2>&1 ||
+    die "Failed to change GBB Data. (message: $(cat "${EXEC_LOG}"))"
+
+  # Old firmware does not support GBB flags, so let's make it an exception.
+  if [ "${FLAGS_mod_gbb_flags}" = "${FLAGS_TRUE}" ]; then
+    debug_msg "Changing GBB flags from ${old_gbb_flags} to ${new_gbb_flags}"
+    ${FUTILITY} gbb --set \
+      --flags="${new_gbb_flags}" \
+      "${IMAGE_BIOS}" >"${EXEC_LOG}" 2>&1 ||
+      echo "Warning: Can't set GBB flags ${old_gbb_flags} -> ${new_gbb_flags}."
+  fi
+
+  # TODO(hungte) compare if the image really needs to be changed.
+
+  debug_msg "Check if we need to make backup file(s)"
+  if [ -n "${backup_bios_image}" ]; then
+    local backup_hwid_name="$(echo "${old_hwid}" | sed 's/ /_/g')"
+    local backup_date_time="$(date +'%Y%m%d_%H%M%S')"
+    local backup_bios_name="bios_${backup_hwid_name}_${backup_date_time}.fd"
+    local backup_bios_path="${FLAGS_backup_dir}/${backup_bios_name}"
+    local backup_ec_name="ec_${backup_hwid_name}_${backup_date_time}.fd"
+    local backup_ec_path=''
+    if mkdir -p "${FLAGS_backup_dir}" &&
+       cp -f "${backup_bios_image}" "${backup_bios_path}"; then
+      if [ -n "${backup_ec_image}" ]; then
+        backup_ec_path="${FLAGS_backup_dir}/${backup_ec_name}"
+        cp -f "${backup_ec_image}" "${backup_ec_path}"
+      fi
+    elif cp -f "${backup_bios_image}" "/tmp/${backup_bios_name}"; then
+      backup_bios_path="/tmp/${backup_bios_name}"
+      if [ -n "${backup_ec_image}" ]; then
+        cp -f "${backup_ec_image}" "/tmp/${backup_ec_name}"
+        backup_ec_path="/tmp/${backup_ec_name}"
+      fi
+    else
+      backup_bios_path=''
+    fi
+    if [ -n "${backup_bios_path}" ]; then
+      # TODO(hungte) maybe we can wrap the flashrom by 'make_dev_firmware.sh -r'
+      # so that the only command to remember would be make_dev_firmware.sh.
+      echo "
+        Backup of current firmware image is stored in:
+          ${backup_bios_path}
+          ${backup_ec_path}
+        Please copy the backup file to a safe place ASAP.
+
+        To stop using devkeys and restore original BIOS, execute command:
+          flashrom -p host -w [PATH_TO_BACKUP_BIOS]
+        Ex: flashrom -p host -w ${backup_bios_path}"
+      if [ -n "${backup_ec_image}" ]; then
+        echo "
+        To stop using devkeys and restore original EC, execute command:
+          flashrom -p ec -w [PATH_TO_BACKUP_EC]
+        Ex: flashrom -p ec -w ${backup_ec_path}"
+      fi
+      echo ""
+    else
+      echo "WARNING: Can't create file in ${FLAGS_backup_dir}. Ignore backups."
+    fi
+  fi
+
+  # TODO(hungte) use vbutil_firmware to check if the new firmware is valid.
+  # Or, do verification in resign_firmwarefd.sh and trust it.
+
+  debug_msg "Write the image"
+  write_image ||
+    die "Failed to write image. Error message: $(cat "${EXEC_LOG}")"
+
+  debug_msg "Complete."
+  if [ -z "$FLAGS_to" ]; then
+    echo "Successfully changed firmware to Developer Keys. New HWID: $new_hwid"
+  else
+    echo "Firmware '$FLAGS_to' now uses Developer Keys. New HWID: $new_hwid"
+  fi
+}
+
+main
diff --git a/scripts/image_signing/make_dev_ssd.sh b/scripts/image_signing/make_dev_ssd.sh
new file mode 100755 (executable)
index 0000000..992d89c
--- /dev/null
@@ -0,0 +1,565 @@
+#!/bin/sh
+#
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This script can change key (usually developer keys) and kernel config
+# of kernels on an disk image (usually for SSD but also works for USB).
+
+SCRIPT_BASE="$(dirname "$0")"
+. "$SCRIPT_BASE/common_minimal.sh"
+load_shflags || exit 1
+
+# Constants used by DEFINE_*
+VBOOT_BASE='/usr/share/vboot'
+DEFAULT_KEYS_FOLDER="$VBOOT_BASE/devkeys"
+DEFAULT_PARTITIONS='2 4'
+
+# Only store backup in stateful partition if available.
+if [ -d /mnt/stateful_partition ]; then
+  DEFAULT_BACKUP_FOLDER="/mnt/stateful_partition"
+else
+  DEFAULT_BACKUP_FOLDER="$(pwd)"
+fi
+DEFAULT_BACKUP_FOLDER="${DEFAULT_BACKUP_FOLDER}/cros_sign_backups"
+
+# TODO(hungte) The default image selection is no longer a SSD, so the script
+# works more like "make_dev_image".  We may change the file name in future.
+ROOTDEV="$(rootdev -s 2>/dev/null)"
+ROOTDEV_PARTITION="$(echo $ROOTDEV | sed -n 's/.*[^0-9]\([0-9][0-9]*\)$/\1/p')"
+ROOTDEV_DISK="$(rootdev -s -d 2>/dev/null)"
+ROOTDEV_KERNEL="$((ROOTDEV_PARTITION - 1))"
+
+# DEFINE_string name default_value description flag
+DEFINE_string image "$ROOTDEV_DISK" "Path to device or image file" "i"
+DEFINE_string keys "$DEFAULT_KEYS_FOLDER" "Path to folder of dev keys" "k"
+DEFINE_boolean remove_rootfs_verification \
+  "${FLAGS_FALSE}" "Modify kernel boot config to disable rootfs verification" ""
+DEFINE_boolean enable_earlycon "${FLAGS_FALSE}" \
+  "Enable earlycon from stdout-path (ARM/ARM64) or SPCR (x86)." ""
+DEFINE_boolean disable_earlycon "${FLAGS_FALSE}" \
+  "Disable earlycon." ""
+DEFINE_boolean enable_console "${FLAGS_FALSE}" \
+  "Enable serial console." ""
+DEFINE_boolean disable_console "${FLAGS_FALSE}" \
+  "Disable serial console." ""
+DEFINE_string backup_dir \
+  "$DEFAULT_BACKUP_FOLDER" "Path of directory to store kernel backups" ""
+DEFINE_string save_config "" \
+  "Base filename to store kernel configs to, instead of resigning." ""
+DEFINE_string set_config "" \
+  "Base filename to load kernel configs from" ""
+DEFINE_boolean edit_config "${FLAGS_FALSE}" \
+  "Edit kernel config in-place." ""
+DEFINE_string partitions "" \
+  "List of partitions to examine (default: $DEFAULT_PARTITIONS)" ""
+DEFINE_boolean recovery_key "$FLAGS_FALSE" \
+  "Use recovery key to sign image (to boot from USB)" ""
+DEFINE_boolean force "$FLAGS_FALSE" \
+  "Skip validity checks and make the change" "f"
+DEFINE_boolean default_rw_root "${FLAGS_TRUE}" \
+  "When --remove_rootfs_verification is set, change root mount option to RW." ""
+
+# Parse command line
+FLAGS "$@" || exit 1
+ORIGINAL_CMD="$0"
+ORIGINAL_PARAMS="$@"
+eval set -- "$FLAGS_ARGV"
+ORIGINAL_PARTITIONS="$FLAGS_partitions"
+: ${FLAGS_partitions:=$DEFAULT_PARTITIONS}
+
+# Globals
+# ----------------------------------------------------------------------------
+set -e
+
+# a log file to keep the output results of executed command
+EXEC_LOG="$(make_temp_file)"
+
+# Functions
+# ----------------------------------------------------------------------------
+
+# Removes rootfs verification from kernel boot parameter
+# And strip out bootcache args if it exists
+remove_rootfs_verification() {
+  local new_root="PARTUUID=%U/PARTNROFF=1"
+  # the first line in sed is to strip out bootcache details
+  local rw_root_opt="s| ro | rw |"
+  if [ "${FLAGS_default_rw_root}" = "${FLAGS_FALSE}" ]; then
+    rw_root_opt="s| rw | ro |"
+  fi
+
+  echo "$*" | sed '
+    s| dm=\"2 [^"]*bootcache[^"]* vroot | dm=\"1 vroot |
+    s| root=/dev/dm-[0-9] | root='"$new_root"' |
+    s| dm_verity.dev_wait=1 | dm_verity.dev_wait=0 |
+    s| payload=PARTUUID=%U/PARTNROFF=1 | payload=ROOT_DEV |
+    s| hashtree=PARTUUID=%U/PARTNROFF=1 | hashtree=HASH_DEV |
+    '"${rw_root_opt}"
+}
+
+remove_legacy_boot_rootfs_verification() {
+  # See src/scripts/create_legacy_bootloader_templates
+  local image="$1"
+  local mount_point="$(make_temp_dir)"
+  local config_file
+  debug_msg "Removing rootfs verification for legacy boot configuration."
+  mount_image_partition "$image" 12 "$mount_point" || return $FLAGS_FALSE
+  config_file="$mount_point/efi/boot/grub.cfg"
+  [ ! -f "$config_file" ] ||
+    sudo sed -i 's/^ *set default=2 *$/set default=0/g' "$config_file"
+  config_file="$mount_point/syslinux/default.cfg"
+  [ ! -f "$config_file" ] ||
+    sudo sed -i 's/-vusb/-usb/g; s/-vhd/-hd/g' "$config_file"
+  sudo umount "$mount_point"
+}
+
+# Enable/Disable earlycon or serial console
+insert_parameter() {
+  local cmdline="$1"
+  local param="$2"
+
+  if [ -n "${cmdline##*${param}*}" ]; then
+    cmdline="${param} ${cmdline}"
+  fi
+
+  echo "${cmdline}"
+}
+
+remove_parameter() {
+  local cmdline="$1"
+  local param="$2"
+
+  cmdline=$(echo "${cmdline}" | sed '
+    s/'"${param} "'//g')
+
+  echo "${cmdline}"
+}
+
+# Wrapped version of dd
+mydd() {
+  # oflag=sync is safer, but since we need bs=512, syncing every block would be
+  # very slow.
+  dd "$@" >"$EXEC_LOG" 2>&1 ||
+    die "Failed in [dd $*], Message: $(cat "${EXEC_LOG}")"
+}
+
+# Prints a more friendly name from kernel index number
+cros_kernel_name() {
+  case $1 in
+    2)
+      echo "Kernel A"
+      ;;
+    4)
+      echo "Kernel B"
+      ;;
+    6)
+      echo "Kernel C"
+      ;;
+    *)
+      echo "Partition $1"
+  esac
+}
+
+find_valid_kernel_partitions() {
+  local part_id
+  local valid_partitions=""
+  for part_id in $*; do
+    local name="$(cros_kernel_name $part_id)"
+    local kernel_part="$(make_partition_dev "$FLAGS_image" "$part_id")"
+    if [ -z "$(dump_kernel_config "$kernel_part" 2>"$EXEC_LOG")" ]; then
+      info "${name}: no kernel boot information, ignored." >&2
+    else
+      [ -z "$valid_partitions" ] &&
+        valid_partitions="$part_id" ||
+        valid_partitions="$valid_partitions $part_id"
+      continue
+    fi
+  done
+  debug_msg "find_valid_kernel_partitions: [$*] -> [$valid_partitions]"
+  echo "$valid_partitions"
+}
+
+# Resigns a kernel on SSD or image.
+resign_ssd_kernel() {
+  local ssd_device="$1"
+  local bs="$(blocksize "${ssd_device}")"
+
+  # reasonable size for current kernel partition
+  local min_kernel_size=$((8000 * 1024 / bs))
+  local resigned_kernels=0
+
+  for kernel_index in $FLAGS_partitions; do
+    local old_blob="$(make_temp_file)"
+    local new_blob="$(make_temp_file)"
+    local name="$(cros_kernel_name $kernel_index)"
+    local rootfs_index="$(($kernel_index + 1))"
+
+    debug_msg "Probing $name information"
+    local offset size
+    offset="$(partoffset "$ssd_device" "$kernel_index")" ||
+      die "Failed to get partition ${kernel_index} offset from ${ssd_device}"
+    size="$(partsize "$ssd_device" "$kernel_index")" ||
+      die "Failed to get partition ${kernel_index} size from ${ssd_device}"
+    if [ ! $size -gt $min_kernel_size ]; then
+      info "${name} seems too small (${size}), ignored."
+      continue
+    fi
+
+    debug_msg "Reading $name from partition $kernel_index"
+    mydd if="$ssd_device" of="$old_blob" bs=$bs skip=$offset count=$size
+
+    debug_msg "Checking if $name is valid"
+    local kernel_config
+    if ! kernel_config="$(dump_kernel_config "$old_blob" 2>"$EXEC_LOG")"; then
+      debug_msg "dump_kernel_config error message: $(cat "$EXEC_LOG")"
+      info "${name}: no kernel boot information, ignored."
+      continue
+    fi
+
+    if [ -n "${FLAGS_save_config}" ]; then
+      # Save current kernel config
+      local old_config_file
+      old_config_file="${FLAGS_save_config}.$kernel_index"
+      info "Saving ${name} config to ${old_config_file}"
+      echo "$kernel_config" > "$old_config_file"
+      # Just save; don't resign
+      continue
+    fi
+
+    if [ -n "${FLAGS_set_config}" ]; then
+      # Set new kernel config from file
+      local new_config_file
+      new_config_file="${FLAGS_set_config}.$kernel_index"
+      kernel_config="$(cat "$new_config_file")" ||
+        die "Failed to read new kernel config from ${new_config_file}"
+      debug_msg "New kernel config: $kernel_config)"
+      info "${name}: Replaced config from ${new_config_file}"
+    fi
+
+    if [ "${FLAGS_edit_config}" = ${FLAGS_TRUE} ]; then
+      debug_msg "Editing kernel config file."
+      local new_config_file="$(make_temp_file)"
+      echo "${kernel_config}" >"${new_config_file}"
+      local old_md5sum="$(md5sum "${new_config_file}")"
+      local editor="${VISUAL:-${EDITOR:-vi}}"
+      info "${name}: Editing kernel config:"
+      # On ChromiumOS, some builds may come with broken EDITOR that refers to
+      # nano so we want to check again if the editor really exists.
+      if type "${editor}" >/dev/null 2>&1; then
+        "${editor}" "${new_config_file}"
+      else
+        # This script runs under dash but we want readline in bash to support
+        # editing in in console.
+        bash -c "read -e -i '${kernel_config}' &&
+                 echo \"\${REPLY}\" >${new_config_file}" ||
+          die "Failed to run editor. Please specify editor name by VISUAL."
+      fi
+      kernel_config="$(cat "${new_config_file}")"
+      if [ "$(md5sum "${new_config_file}")" = "${old_md5sum}" ]; then
+        info "${name}: Config not changed."
+      else
+        debug_msg "New kernel config: ${kernel_config})"
+        info "${name}: Config updated"
+      fi
+    fi
+
+    if [ ${FLAGS_remove_rootfs_verification} = $FLAGS_FALSE ]; then
+      debug_msg "Bypassing rootfs verification check"
+    else
+      debug_msg "Changing boot parameter to remove rootfs verification"
+      kernel_config="$(remove_rootfs_verification "$kernel_config")"
+      debug_msg "New kernel config: $kernel_config"
+      info "${name}: Disabled rootfs verification."
+      remove_legacy_boot_rootfs_verification "$ssd_device"
+    fi
+
+    if [ "${FLAGS_enable_earlycon}" = "${FLAGS_TRUE}" ]; then
+      debug_msg "Enabling earlycon"
+      kernel_config="$(insert_parameter "${kernel_config}" "earlycon")"
+      debug_msg "New kernel config: ${kernel_config}"
+    elif [ "${FLAGS_disable_earlycon}" = "${FLAGS_TRUE}" ]; then
+      debug_msg "Disabling earlycon"
+      kernel_config="$(remove_parameter "${kernel_config}" "earlycon")"
+      debug_msg "New kernel config: ${kernel_config}"
+    fi
+
+    if [ "${FLAGS_enable_console}" = "${FLAGS_TRUE}" ]; then
+      debug_msg "Enabling serial console"
+      kernel_config="$(remove_parameter "${kernel_config}" "console=")"
+      debug_msg "New kernel config: ${kernel_config}"
+    elif [ "${FLAGS_disable_console}" = "${FLAGS_TRUE}" ]; then
+      debug_msg "Disabling serial console"
+      kernel_config="$(insert_parameter "${kernel_config}" "console=")"
+      debug_msg "New kernel config: ${kernel_config}"
+    fi
+
+    local new_kernel_config_file="$(make_temp_file)"
+    echo -n "$kernel_config"  >"$new_kernel_config_file"
+
+    debug_msg "Re-signing $name from $old_blob to $new_blob"
+    debug_msg "Using key: $KERNEL_DATAKEY"
+    vbutil_kernel \
+      --repack "$new_blob" \
+      --keyblock "$KERNEL_KEYBLOCK" \
+      --config "$new_kernel_config_file" \
+      --signprivate "$KERNEL_DATAKEY" \
+      --oldblob "$old_blob" >"$EXEC_LOG" 2>&1 ||
+      die "Failed to resign ${name}. Message: $(cat "${EXEC_LOG}")"
+
+    debug_msg "Creating new kernel image (vboot+code+config)"
+    local new_kern="$(make_temp_file)"
+    cp "$old_blob" "$new_kern"
+    mydd if="$new_blob" of="$new_kern" conv=notrunc
+
+    if is_debug_mode; then
+      debug_msg "for debug purposes, check *.dbgbin"
+      cp "$old_blob" old_blob.dbgbin
+      cp "$new_blob" new_blob.dbgbin
+      cp "$new_kern" new_kern.dbgbin
+    fi
+
+    debug_msg "Verifying new kernel and keys"
+    vbutil_kernel \
+      --verify "$new_kern" \
+      --signpubkey "$KERNEL_PUBKEY" --verbose >"$EXEC_LOG" 2>&1 ||
+      die "Failed to verify new ${name}. Message: $(cat "${EXEC_LOG}")"
+
+    debug_msg "Backup old kernel blob"
+    local backup_date_time="$(date +'%Y%m%d_%H%M%S')"
+    local backup_name="$(echo "$name" | sed 's/ /_/g; s/^K/k/')"
+    local backup_file_name="${backup_name}_${backup_date_time}.bin"
+    local backup_file_path="$FLAGS_backup_dir/$backup_file_name"
+    if mkdir -p "$FLAGS_backup_dir" &&
+      cp -f "$old_blob" "$backup_file_path"; then
+      info "Backup of ${name} is stored in: ${backup_file_path}"
+    else
+      warn "Cannot create file in ${FLAGS_backup_dir} ... Ignore backups."
+    fi
+
+    debug_msg "Writing $name to partition $kernel_index"
+    mydd \
+      if="$new_kern" \
+      of="$ssd_device" \
+      seek=$offset \
+      bs=$bs \
+      count=$size \
+      conv=notrunc
+    resigned_kernels=$(($resigned_kernels + 1))
+
+    debug_msg "Make the root file system writable if needed."
+    # TODO(hungte) for safety concern, a more robust way would be to:
+    # (1) change kernel config to ro
+    # (2) check if we can enable rw mount
+    # (3) change kernel config to rw
+    if [ ${FLAGS_remove_rootfs_verification} = $FLAGS_TRUE ]; then
+      local root_offset_sector=$(partoffset "$ssd_device" $rootfs_index)
+      local root_offset_bytes=$((root_offset_sector * bs))
+      if ! is_ext2 "$ssd_device" "$root_offset_bytes"; then
+        debug_msg "Non-ext2 partition: $ssd_device$rootfs_index, skip."
+      elif ! rw_mount_disabled "$ssd_device" "$root_offset_bytes"; then
+        debug_msg "Root file system is writable. No need to modify."
+      else
+        # disable the RO ext2 hack
+        debug_msg "Disabling rootfs ext2 RO bit hack"
+        enable_rw_mount "$ssd_device" "$root_offset_bytes" >"$EXEC_LOG" 2>&1 ||
+          die "Failed turning off rootfs RO bit. OS may be corrupted. " \
+              "Message: $(cat "${EXEC_LOG}")"
+      fi
+    fi
+
+    # Sometimes doing "dump_kernel_config" or other I/O now (or after return to
+    # shell) will get the data before modification. Not a problem now, but for
+    # safety, let's try to sync more.
+    sync; sync; sync
+
+    info "${name}: Re-signed with developer keys successfully."
+  done
+
+  # If we saved the kernel config, exit now so we don't print an error
+  if [ -n "${FLAGS_save_config}" ]; then
+    info "(Kernels have not been resigned.)"
+    exit 0
+  fi
+
+  return $resigned_kernels
+}
+
+validity_check_crossystem_flags() {
+  debug_msg "crossystem validity check"
+  if [ -n "${FLAGS_save_config}" ]; then
+    debug_msg "not resigning kernel."
+    return
+  fi
+
+  if [ "$(crossystem dev_boot_signed_only)" = "0" ]; then
+    debug_msg "dev_boot_signed_only not set - safe."
+    return
+  fi
+
+  echo "
+  ERROR: YOUR FIRMWARE WILL ONLY BOOT SIGNED IMAGES.
+
+  Modifying the kernel or root filesystem will result in an unusable system.  If
+  you really want to make this change, allow the firmware to boot self-signed
+  images by running:
+
+    sudo crossystem dev_boot_signed_only=0
+
+  before re-executing this command.
+  "
+  return $FLAGS_FALSE
+}
+
+validity_check_live_partitions() {
+  debug_msg "Partition validity check"
+  if [ "$FLAGS_partitions" = "$ROOTDEV_KERNEL" ]; then
+    debug_msg "only for current active partition - safe."
+    return
+  fi
+  if [ "$ORIGINAL_PARTITIONS" != "" ]; then
+    debug_msg "user has assigned partitions - provide more info."
+    info "Making change to ${FLAGS_partitions} on ${FLAGS_image}."
+    return
+  fi
+  echo "
+  ERROR: YOU ARE TRYING TO MODIFY THE LIVE SYSTEM IMAGE $FLAGS_image.
+
+  The system may become unusable after that change, especially when you have
+  some auto updates in progress. To make it safer, we suggest you to only
+  change the partition you have booted with. To do that, re-execute this command
+  as:
+
+    sudo $ORIGINAL_CMD $ORIGINAL_PARAMS --partitions $ROOTDEV_KERNEL
+
+  If you are sure to modify other partition, please invoke the command again and
+  explicitly assign only one target partition for each time  (--partitions N )
+  "
+  return $FLAGS_FALSE
+}
+
+validity_check_live_firmware() {
+  debug_msg "Firmware compatibility validity check"
+  if [ "$(crossystem mainfw_type)" = "developer" ]; then
+    debug_msg "developer type firmware in active."
+    return
+  fi
+  debug_msg "Loading firmware to check root key..."
+  local bios_image="$(make_temp_file)"
+  local rootkey_file="$(make_temp_file)"
+  info "checking system firmware..."
+  sudo flashrom -p host -i GBB -r "$bios_image" >/dev/null 2>&1
+  futility gbb -g --rootkey="$rootkey_file" "$bios_image" >/dev/null 2>&1
+  if [ ! -s "$rootkey_file" ]; then
+    debug_msg "failed to read root key from system firmware..."
+  else
+    # The magic 130 is counted by "od dev-rootkey" for the lines until the body
+    # of key is reached. Trailing bytes (0x00 or 0xFF - both may appear, and
+    # that's why we need to skip them) are started at line 131.
+    # TODO(hungte) compare with rootkey in $VBOOT_BASE directly.
+    local rootkey_hash="$(od "$rootkey_file" |
+                          head -130 | md5sum |
+                          sed 's/ .*$//' )"
+    if [ "$rootkey_hash" = "a13642246ef93daaf75bd791446fec9b" ]; then
+      debug_msg "detected DEV root key in firmware."
+      return
+    else
+      debug_msg "non-devkey hash: $rootkey_hash"
+    fi
+  fi
+
+  echo "
+  ERROR: YOU ARE NOT USING DEVELOPER FIRMWARE, AND RUNNING THIS COMMAND MAY
+  THROW YOUR CHROMEOS DEVICE INTO UN-BOOTABLE STATE.
+
+  You need to either install developer firmware, or change system root key.
+
+   - To install developer firmware: type command
+     sudo chromeos-firmwareupdate --mode=todev
+
+   - To change system rootkey: disable firmware write protection (a hardware
+     switch) and then type command:
+     sudo $SCRIPT_BASE/make_dev_firmware.sh
+
+  If you are sure that you want to make such image without developer
+  firmware or you've already changed system root keys, please run this
+  command again with --force paramemeter:
+
+     sudo $ORIGINAL_CMD --force $ORIGINAL_PARAMS
+  "
+  return $FLAGS_FALSE
+}
+
+# Main
+# ----------------------------------------------------------------------------
+main() {
+  local num_signed=0
+  local num_given=$(echo "$FLAGS_partitions" | wc -w)
+  # Check parameters
+  if [ "$FLAGS_recovery_key" = "$FLAGS_TRUE" ]; then
+    KERNEL_KEYBLOCK="$FLAGS_keys/recovery_kernel.keyblock"
+    KERNEL_DATAKEY="$FLAGS_keys/recovery_kernel_data_key.vbprivk"
+    KERNEL_PUBKEY="$FLAGS_keys/recovery_key.vbpubk"
+  else
+    KERNEL_KEYBLOCK="$FLAGS_keys/kernel.keyblock"
+    KERNEL_DATAKEY="$FLAGS_keys/kernel_data_key.vbprivk"
+    KERNEL_PUBKEY="$FLAGS_keys/kernel_subkey.vbpubk"
+  fi
+
+  debug_msg "Prerequisite check"
+  ensure_files_exist \
+    "$KERNEL_KEYBLOCK" \
+    "$KERNEL_DATAKEY" \
+    "$KERNEL_PUBKEY" \
+    "$FLAGS_image" ||
+    exit 1
+
+  # checks for running on a live system image.
+  if [ "$FLAGS_image" = "$ROOTDEV_DISK" ]; then
+    debug_msg "check valid kernel partitions for live system"
+    local valid_partitions="$(find_valid_kernel_partitions $FLAGS_partitions)"
+    [ -n "$valid_partitions" ] ||
+      die "No valid kernel partitions on ${FLAGS_image} (${FLAGS_partitions})."
+    FLAGS_partitions="$valid_partitions"
+
+    # Validity checks
+    if [ "$FLAGS_force" = "$FLAGS_TRUE" ]; then
+      echo "
+      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+      ! INFO: ALL VALIDITY CHECKS WERE BYPASSED. YOU ARE ON YOUR OWN. !
+      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+      " >&2
+      local i
+      for i in $(seq 5 -1 1); do
+        echo -n "\rStart in $i second(s) (^C to abort)...  " >&2
+        sleep 1
+      done
+      echo ""
+    elif ! validity_check_live_firmware ||
+         ! validity_check_live_partitions ||
+         ! validity_check_crossystem_flags; then
+      die "IMAGE ${FLAGS_image} IS NOT MODIFIED."
+    fi
+  fi
+
+  resign_ssd_kernel "$FLAGS_image" || num_signed=$?
+
+  debug_msg "Complete."
+  if [ $num_signed -gt 0 -a $num_signed -le $num_given ]; then
+    # signed something at least
+    info "Successfully re-signed ${num_signed} of ${num_given} kernel(s)" \
+      " on device ${FLAGS_image}."
+    info "Please remember to reboot before updating the kernel on this device."
+  else
+    die "Failed re-signing kernels."
+  fi
+}
+
+# People using this to process images may forget to add "-i",
+# so adding parameter check is safer.
+if [ "$#" -gt 0 ]; then
+  flags_help
+  die "Unknown parameters: $*"
+fi
+
+main
diff --git a/scripts/image_signing/remove_test_label.sh b/scripts/image_signing/remove_test_label.sh
new file mode 100755 (executable)
index 0000000..18a7978
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Remove the test label from lsb-release to prepare an image for
+# signing using the official keys.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+set -e
+image=$1
+
+loopdev=$(loopback_partscan "${image}")
+rootfs=$(make_temp_dir)
+mount_loop_image_partition "${loopdev}" 3 "${rootfs}"
+sed -i 's/test//' "${rootfs}/etc/lsb-release"
+restore_lsb_selinux "${rootfs}/etc/lsb-release"
diff --git a/scripts/image_signing/resign_firmwarefd.sh b/scripts/image_signing/resign_firmwarefd.sh
new file mode 100755 (executable)
index 0000000..d4cb5b8
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Abort on error
+set -e
+
+# This script is obsolete. The required functionality is now provided by the
+# compiled futility executable, so all this does is invoke that. This wrapper
+# should go away Real Soon Now.
+
+
+# Which futility to run?
+[ -z "$FUTILITY" ] && FUTILITY=futility
+
+# required
+SRC_FD=$1
+DST_FD=$2
+FIRMWARE_DATAKEY=$3
+FIRMWARE_KEYBLOCK=$4
+DEV_FIRMWARE_DATAKEY=$5
+DEV_FIRMWARE_KEYBLOCK=$6
+KERNEL_SUBKEY=$7
+# optional
+VERSION=$8
+PREAMBLE_FLAG=$9
+LOEM_OUTPUT_DIR=${10}
+LOEMID=${11}
+
+if [ ! -e $DEV_FIRMWARE_KEYBLOCK ] || [ ! -e $DEV_FIRMWARE_DATAKEY ] ; then
+  echo "No dev firmware keyblock/datakey found. Reusing normal keys."
+  DEV_FIRMWARE_KEYBLOCK="$FIRMWARE_KEYBLOCK"
+  DEV_FIRMWARE_DATAKEY="$FIRMWARE_DATAKEY"
+fi
+
+# pass optional args
+[ -n "$VERSION" ] && VERSION="--version $VERSION"
+[ -n "$PREAMBLE_FLAG" ] && PREAMBLE_FLAG="--flags $PREAMBLE_FLAG"
+[ -n "$LOEM_OUTPUT_DIR" ] && LOEM_OUTPUT_DIR="--loemdir $LOEM_OUTPUT_DIR"
+[ -n "$LOEMID" ] && LOEMID="--loemid $LOEMID"
+
+exec ${FUTILITY} sign \
+  --signprivate $FIRMWARE_DATAKEY \
+  --keyblock $FIRMWARE_KEYBLOCK \
+  --devsign $DEV_FIRMWARE_DATAKEY \
+  --devkeyblock $DEV_FIRMWARE_KEYBLOCK \
+  --kernelkey $KERNEL_SUBKEY \
+  $VERSION \
+  $PREAMBLE_FLAG \
+  $LOEM_OUTPUT_DIR \
+  $LOEMID \
+  $SRC_FD \
+  $DST_FD
+
+echo UNABLE TO EXEC FUTILITY 1>&2
+exit 1
diff --git a/scripts/image_signing/resign_kernel_partition.sh b/scripts/image_signing/resign_kernel_partition.sh
new file mode 100755 (executable)
index 0000000..fd7cfd3
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script that just takes in a kernel partition and outputs a new vblock
+# signed with the specific keys. For use on signing servers.
+
+# vbutil_kernel must be in the system path.
+
+SCRIPT_DIR=$(dirname $0)
+
+# Abort on error
+set -e
+
+# Check arguments
+if [ $# -lt 4 ] || [ $# -gt 5 ]; then
+  echo "usage: $0 src_kpart dst_vblock kernel_datakey kernel_keyblock [version]"
+  exit 1
+fi
+
+# Make sure the tools we need are available.
+type -P vbutil_kernel &>/dev/null || \
+  ( echo "vbutil_kernel tool not found."; exit 1; )
+
+SRC_KPART=$1
+DST_VBLOCK=$2
+KERNEL_DATAKEY=$3
+KERNEL_KEYBLOCK=$4
+VERSION=$5
+
+if [ -z $VERSION ]; then
+  VERSION=1
+fi
+echo "Using kernel version: $VERSION"
+
+vbutil_kernel --repack "${DST_VBLOCK}" \
+  --vblockonly \
+  --keyblock "${KERNEL_KEYBLOCK}" \
+  --signprivate "${KERNEL_DATAKEY}" \
+  --version "${VERSION}" \
+  --oldblob "${SRC_KPART}"
+
+echo "New kernel vblock was output to ${DST_VBLOCK}"
+
diff --git a/scripts/image_signing/sample-test-configs/README b/scripts/image_signing/sample-test-configs/README
new file mode 100644 (file)
index 0000000..d60ad3d
--- /dev/null
@@ -0,0 +1,4 @@
+These are sample configurations used with the test scripts located in the
+parent directory. Note that these are not maintained in this git with complete
+or necessarily current production data for Chrome OS. They serve to provide
+examples of the configuraiton syntax.
diff --git a/scripts/image_signing/sample-test-configs/ensure_no_nonrelease_files.config b/scripts/image_signing/sample-test-configs/ensure_no_nonrelease_files.config
new file mode 100644 (file)
index 0000000..3e7556b
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Files/directories that should never be present in a clean,
+# standard release build. 
+RELEASE_FILE_BLOCKLIST=(
+# Flag-file indicating "developer mode", crosh offers "shell" if present:
+/root/.dev_mode
+
+# Should not ship with a local account pre-set on the system
+/opt/google/chrome/localaccount
+
+# Generation of this should happen on-device. Don't want to introduce
+# any cryptohome-related weaknesses e.g. everyone using the same salt.
+/home/.shadow
+)
diff --git a/scripts/image_signing/sample-test-configs/ensure_sane_lsb-release.config b/scripts/image_signing/sample-test-configs/ensure_sane_lsb-release.config
new file mode 100644 (file)
index 0000000..4dfae3c
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+expected_auserver="https://tools.google.com/service/update2"
+expected_release_name="Chrome OS"
+
+# List boards here
+expected_boards=(
+    x86-mario
+    x86-alex-signed-mp-v3keys
+)
+
+# List track names here
+expected_release_tracks=(
+    canary-channel
+    dogfood-channel
+    beta-channel
+    dev-channel
+)
+
+# Associate board names with APPID's by creating a series
+# of variables here. Variables should be named based on 
+# expected boards (above), with hyphens transposed to
+# underscores (to be legal in variable names).
+expected_appid_x86_mario="{87efface-864d-49a5-9bb3-4b050a7c227a}"
+expected_appid_x86_alex="{C776D42E-287A-435E-8BA7-E770BD30B46D}"
+expected_appid_canary="{90F229CE-83E2-4FAF-8479-E368A34938B1}"
+expected_appid_dogfood="{4897842343-83E2-4FAF-8479-E368A34938B1}"
diff --git a/scripts/image_signing/sample-test-configs/ensure_secure_kernelparams.config b/scripts/image_signing/sample-test-configs/ensure_secure_kernelparams.config
new file mode 100644 (file)
index 0000000..9b78def
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+#
+# COMMON
+#
+required_kparams_common=( quiet console=tty2 init=/sbin/init add_efi_memmap
+                          boot=local rootwait ro noresume noswap i915.modeset=1
+                          loglevel=1 cros_secure kern_guid=%U tpm_tis.force=1
+                          tpm_tis.interrupts=0 root=/dev/dm-0
+                          dm_verity.error_behavior=3 dm_verity.max_bios=-1
+                          dm_verity.dev_wait=1 noinitrd )
+
+optional_kparams_common=( )
+optional_kparams_regex_common=( )
+
+# use "MAGIC_HASH" in place of the unpredictable sha1 hash, comparison
+# functions later take care of the rest.... This set of dmparams
+# taken from observation of current builds. In particular we may see
+# the size of the filesystem creep over time. That size is denoted by
+# the large number that appears a couple times in this string.
+dmparams_common_list=('vroot none ro,0 1740800 verity %U+1 %U+1 1740800 0 sha1 MAGIC_HASH' 
+'vroot none ro,0 1740800 verity payload=%U+1 hashtree=%U+1 hashstart=1740800 alg=sha1 root_hexdigest=MAGIC_HASH' 
+
+'vroot none ro,0 1740800 verity payload=%U+1 hashtree=%U+1 hashstart=1740800 alg=sha1 root_hexdigest=MAGIC_HASH salt=MAGIC_SALT' 
+)
+
+#
+# x86-mario
+#
+required_kparams_x86_mario=( ${required_kparams_common[@]} )
+optional_kparams_x86_mario=( ${optional_kparams_common[@]} )
+optional_kparams_regex_x86_mario=( ${optional_kparams_regex_common[@]} )
+required_dmparams_x86_mario=("${required_dmparams_common[@]}")
+
+# Set up additional boards here. The "common" variables are
+# not directly consulted by the test script, they're only
+# here for your convenience in building up the board-specific
+# configuration variables like the 3 shown above.
diff --git a/scripts/image_signing/set_channel.sh b/scripts/image_signing/set_channel.sh
new file mode 100755 (executable)
index 0000000..d4e64ad
--- /dev/null
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Changes the channel on a Chrome OS image.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+set -e
+
+if [ $# -ne 2 ]; then
+  cat <<EOF
+Usage: $PROG <image.bin> <channel>
+
+<image.bin>: Path to image.
+<channel>: The new channel of the image.
+EOF
+  exit 1
+fi
+
+main() {
+  local image=$1
+  local to=$2
+  local loopdev rootfs lsb
+
+  if [[ -d "${image}" ]]; then
+    rootfs="${image}"
+  else
+    rootfs=$(make_temp_dir)
+    loopdev=$(loopback_partscan "${image}")
+    mount_loop_image_partition "${loopdev}" 3 "${rootfs}"
+  fi
+  lsb="${rootfs}/etc/lsb-release"
+  # Get the current channel on the image.
+  local from=$(lsbval "${lsb}" 'CHROMEOS_RELEASE_TRACK')
+  from=${from%"-channel"}
+  echo "Current channel is '${from}'. Changing to '${to}'."
+
+  local sudo
+  if [[ ! -w ${lsb} ]] ; then
+    sudo="sudo"
+  fi
+  ${sudo} sed -i "s/\b${from}\b/${to}/" "${lsb}" &&
+    restore_lsb_selinux "${lsb}" &&
+    echo "Channel change successful."
+  cat "${lsb}"
+}
+
+main "$@"
diff --git a/scripts/image_signing/set_gbb_flags.sh b/scripts/image_signing/set_gbb_flags.sh
new file mode 100755 (executable)
index 0000000..7a22b85
--- /dev/null
@@ -0,0 +1,80 @@
+#!/bin/sh
+#
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This script can change GBB flags in system live firmware or a given image
+# file.
+
+SCRIPT_BASE="$(dirname "$0")"
+. "${SCRIPT_BASE}/gbb_flags_common.sh"
+
+# DEFINE_string name default_value description flag
+DEFINE_string file "" "Path to firmware image. Default to system firmware." "f"
+DEFINE_boolean check_wp ${FLAGS_TRUE} "Check write protection states first." ""
+
+set -e
+
+# Check write protection
+# ----------------------------------------------------------------------------
+check_write_protection() {
+  local hw_wp="" sw_wp=""
+  if ! crossystem "wpsw_cur?0"; then
+    hw_wp="on"
+  fi
+  # Keep 'local' declaration split from assignment so return code is checked.
+  local wp_states
+  wp_states="$(flashrom -p host --wp-status 2>/dev/null | grep WP)"
+  local wp_disabled="$(echo "${wp_states}" | grep "WP:.*is disabled.")"
+  local wp_zero_len="$(echo "${wp_states}" | grep "WP:.*, len=0x00000000")"
+  if [ -z "${wp_disabled}" -a -z "${wp_zero_len}" ]; then
+    sw_wp="on"
+  fi
+  if [ -n "${hw_wp}" -a -n "${sw_wp}" ]; then
+    return ${FLAGS_FALSE}
+  fi
+  return ${FLAGS_TRUE}
+}
+
+# Main
+# ----------------------------------------------------------------------------
+main() {
+  if [ "$#" != "1" ]; then
+    flags_help
+    exit 1
+  fi
+
+  local value="$(($1))"
+  local image_file="${FLAGS_file}"
+
+  if [ -z "${FLAGS_file}" ]; then
+    image_file="$(make_temp_file)"
+    flashrom_read "${image_file}"
+  fi
+
+  # Process file
+  # Keep 'local' declaration split from assignment so return code is checked.
+  local old_value
+  old_value="$(futility gbb -g --flags "${image_file}")"
+  printf "Setting GBB flags from %s to %#x.." "${old_value}" "${value}"
+  futility gbb -s --flags="${value}" "${image_file}"
+
+  if [ -z "${FLAGS_file}" ]; then
+    if [ "${FLAGS_check_wp}" = "${FLAGS_TRUE}" ]; then
+      if ! check_write_protection; then
+        echo ""
+        echo "WARNING: System GBB Flags are NOT changed!!!"
+        echo "ERROR: You must disable write protection before setting flags."
+        exit 1
+      fi
+    fi
+    flashrom_write "$image_file"
+  fi
+}
+
+# Parse command line
+FLAGS "$@" || exit 1
+eval set -- "$FLAGS_ARGV"
+
+main "$@"
diff --git a/scripts/image_signing/set_lsb_release.sh b/scripts/image_signing/set_lsb_release.sh
new file mode 100755 (executable)
index 0000000..55c1653
--- /dev/null
@@ -0,0 +1,89 @@
+#!/bin/bash
+
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Customizes a Chrome OS release image by setting /etc/lsb-release values.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+set_lsb_release_keyval() {
+  local rootfs=$1
+  local lsb="${rootfs}/etc/lsb-release"
+  local key=$2
+  local value=$3
+  local data
+  data=$(
+    (
+    grep -Ev "^${key}=" "${lsb}"
+    echo "${key}=${value}"
+    ) | sort
+  )
+  sudo tee "${lsb}" <<<"${data}" >/dev/null
+}
+
+main() {
+  set -e
+
+  if [[ $(( $# % 2 )) -eq 0 ]]; then
+    cat <<EOF
+Usage: $PROG <image.bin> [<key> <value> [<key> <value> ...]]
+
+Examples:
+
+$ $PROG chromiumos_image.bin
+
+Dumps /etc/lsb-release from chromiumos_image.bin to stdout.
+
+$ $PROG chromiumos_image.bin CHROMEOS_RELEASE_DESCRIPTION "New description"
+
+Sets the CHROMEOS_RELEASE_DESCRIPTION key's value to "New description"
+in /etc/lsb-release in chromiumos_image.bin, sorts the keys and dumps
+the updated file to stdout.
+
+EOF
+    exit 1
+  fi
+
+  # If there are no key/value pairs to process, we don't need write access.
+  local ro=$([[ $# -eq 0 ]] && echo true || echo false)
+
+  local image=$1
+  shift
+  local loopdev rootfs
+
+  if [[ -d "${image}" ]]; then
+    rootfs="${image}"
+  else
+    rootfs=$(make_temp_dir)
+    loopdev=$(loopback_partscan "${image}")
+
+    if ${ro}; then
+      mount_loop_image_partition_ro "${loopdev}" 3 "${rootfs}"
+    else
+      mount_loop_image_partition "${loopdev}" 3 "${rootfs}"
+      touch "${image}"  # Updates the image modification time.
+    fi
+  fi
+
+  # Process all the key/value pairs.
+  local key value
+  while [[ $# -ne 0 ]]; do
+    key=$1 value=$2
+    shift 2
+    set_lsb_release_keyval "${rootfs}" "${key}" "${value}"
+  done
+  if ! ${ro}; then
+    restore_lsb_selinux "${rootfs}/etc/lsb-release"
+  fi
+
+  # Dump the final state.
+  cat "${rootfs}/etc/lsb-release"
+
+  # Dump security context for lsb-release file
+  getfattr --absolute-names -n security.selinux "${rootfs}/etc/lsb-release"
+}
+
+main "$@"
diff --git a/scripts/image_signing/sign_android_image.sh b/scripts/image_signing/sign_android_image.sh
new file mode 100755 (executable)
index 0000000..5af1aa6
--- /dev/null
@@ -0,0 +1,431 @@
+#!/bin/bash
+
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+. "$(dirname "$0")/common.sh"
+. "$(dirname "$0")/lib/sign_android_lib.sh"
+load_shflags || exit 1
+
+DEFINE_boolean use_apksigner "${FLAGS_FALSE}" \
+  "Use apksigner instead of signapk for APK signing"
+
+FLAGS_HELP="
+Usage: $PROG /path/to/cros_root_fs/dir /path/to/keys/dir
+
+Re-sign framework apks in an Android system image.  The image itself does not
+need to be signed since it is shipped with Chrome OS image, which is already
+signed.
+
+Android has many ``framework apks'' that are signed with different framework
+keys, depends on the purpose of the apk.  During development, apks are signed
+with the debug one.  This script is to re-sign those apks with corresponding
+release key.  It also handles some of the consequences of the key changes, such
+as sepolicy update.
+"
+
+# Parse command line.
+FLAGS "$@" || exit 1
+eval set -- "${FLAGS_ARGV}"
+
+set -e
+
+# Re-sign framework apks with the corresponding release keys.  Only apk with
+# known key fingerprint are re-signed.  We should not re-sign non-framework
+# apks.
+sign_framework_apks() {
+  local system_mnt="$1"
+  local key_dir="$2"
+  local working_dir="$3"
+  local flavor_prop=""
+  local keyset=""
+
+  if ! flavor_prop=$(android_get_build_flavor_prop \
+    "${system_mnt}/system/build.prop"); then
+    die "Failed to extract build flavor property from \
+'${system_mnt}/system/build.prop'."
+  fi
+  info "Found build flavor property '${flavor_prop}'."
+  if ! keyset=$(android_choose_signing_keyset "${flavor_prop}"); then
+    die "Unknown build flavor property '${flavor_prop}'."
+  fi
+  info "Expecting signing keyset '${keyset}'."
+
+  info "Start signing framework apks"
+
+  if ! image_content_integrity_check "${system_mnt}" "${working_dir}" \
+                                     "Prepare apks signing"; then
+    return 1
+  fi
+
+  # Counters for validity check.
+  local counter_platform=0
+  local counter_media=0
+  local counter_shared=0
+  local counter_releasekey=0
+  local counter_networkstack=0
+  local counter_total=0
+
+  local apk
+  while read -d $'\0' -r apk; do
+    local sha1=""
+    local keyname=""
+
+    sha1=$(unzip -p "${apk}" META-INF/CERT.RSA | \
+      keytool -printcert | awk '/^\s*SHA1:/ {print $2}')
+
+    if  ! keyname=$(android_choose_key "${sha1}" "${keyset}"); then
+      die "Failed to choose signing key for APK '${apk}' (SHA1 '${sha1}') in \
+build flavor '${flavor_prop}'."
+    fi
+    if [[ -z "${keyname}" ]]; then
+      continue
+    fi
+
+    info "Re-signing (${keyname}) ${apk}"
+
+    local temp_dir="$(make_temp_dir)"
+    local temp_apk="${temp_dir}/temp.apk"
+    local signed_apk="${temp_dir}/signed.apk"
+
+    # Follow the standard manual signing process.  See
+    # https://developer.android.com/studio/publish/app-signing.html.
+    cp -a "${apk}" "${temp_apk}"
+    # Explicitly remove existing signature.
+    zip -q "${temp_apk}" -d "META-INF/*"
+
+    if [ "${FLAGS_use_apksigner}" = "$FLAGS_FALSE" ]; then
+      # Signapk now creates signature of APK Signature Scheme v2. No further APK
+      # changes should happen afterward.  Also note that signapk now takes care
+      # of zipalign.
+      signapk "${key_dir}/$keyname.x509.pem" "${key_dir}/$keyname.pk8" \
+          "${temp_apk}" "${signed_apk}" > /dev/null
+    else
+      # Key rotation: old key can sign a new key and generate a lineage file.
+      # Provided the lineage file, Android P can honor the new key. Lineage file
+      # can be generated similar to the following command:
+      #
+      # apksigner rotate --out media.lineage --old-signer --key old-media.pk8
+      # --cert old-media.x509.pem --new-signer --key new-media.pk8 --cert
+      # new-media.x509.pem
+      #
+      # TODO(b/132818552): disable v1 signing once a check is removed.
+
+      local extra_flags
+      local lineage_file="${key_dir}/$keyname.lineage}"
+      if [ -f ${lineage_file} ]; then
+        extra_flags="--lineage ${lineage_file}"
+      fi
+      apksigner sign --v1-signing-enabled true --v2-signing-enabled false \
+        --key "${key_dir}/$keyname.pk8" --cert "${key_dir}/$keyname.x509.pem" \
+        --in "${temp_apk}" --out "${signed_apk}" \
+        ${extra_flags}
+    fi
+    if ! image_content_integrity_check "${system_mnt}" "${working_dir}" \
+                                       "sign apk ${signed_apk}"; then
+      return 1
+    fi
+
+    # Copy the content instead of mv to avoid owner/mode changes.
+    sudo cp "${signed_apk}" "${apk}" && rm -f "${signed_apk}"
+
+    # Set timestamp rounded to second since squash file system has resolution
+    # in seconds. Required in order for the packages cache generator output is
+    # compatible with the packed file system.
+    sudo touch "${apk}" -t "$(date +%m%d%H%M.%S)"
+
+    : $(( counter_${keyname} += 1 ))
+    : $(( counter_total += 1 ))
+    if ! image_content_integrity_check "${system_mnt}" "${working_dir}" \
+                                       "update re-signed apk ${apk}"; then
+      return 1
+    fi
+  done < <(find "${system_mnt}/system" -type f -name '*.apk' -print0)
+
+  info "Found ${counter_platform} platform APKs."
+  info "Found ${counter_media} media APKs."
+  info "Found ${counter_shared} shared APKs."
+  info "Found ${counter_releasekey} release APKs."
+  info "Found ${counter_networkstack} networkstack APKs."
+  info "Found ${counter_total} total APKs."
+  # Validity check.
+  if [[ ${counter_platform} -lt 2 || ${counter_media} -lt 2 ||
+        ${counter_shared} -lt 2 || ${counter_releasekey} -lt 2 ||
+        ${counter_total} -lt 25 ]]; then
+    die "Number of re-signed package seems to be wrong"
+  fi
+
+  return 0
+}
+
+# Extracts certificate from the provided public key.
+get_cert() {
+  # Full path to public key to read and extract certificate. It must exist.
+  local public_key=$1
+  local cert=$(sed -E '/(BEGIN|END) CERTIFICATE/d' \
+    "${public_key}" | tr -d '\n' \
+    | base64 --decode | hexdump -v -e '/1 "%02x"')
+
+  if [[ -z "${cert}" ]]; then
+    die "Unable to get the public platform key"
+  fi
+  echo "${cert}"
+}
+
+# Replaces particular certificate in mac_permissions xml file with new one.
+# Note, this does not fail if particular entry is not found. For example
+# network_stack does not exist in P.
+change_cert() {
+  # Type of signer entry to process. Could be platform, media or network_stack.
+  local type=$1
+  # New certificate encoded to string. This replaces old one.
+  local cert=$2
+  # *mac_permissions xml file to modify, plat_mac_permissions.xml for example.
+  local xml=$3
+  local pattern="(<signer signature=\")\w+(\"><seinfo value=\"${type})"
+  sudo sed -i -E "s/${pattern}/\1${cert}"'\2/g' "${xml}"
+}
+
+# Platform key is part of the SELinux policy.  Since we are re-signing framework
+# apks, we need to replace the key in the policy as well.
+update_sepolicy() {
+  local system_mnt=$1
+  local key_dir=$2
+
+  # Only platform is used at this time.
+  local public_platform_key="${key_dir}/platform.x509.pem"
+  local public_media_key="${key_dir}/media.x509.pem"
+  local public_network_stack_key="${key_dir}/networkstack.x509.pem"
+
+  info "Start updating sepolicy"
+
+  local new_platform_cert=$(get_cert "${public_platform_key}")
+  local new_media_cert=$(get_cert "${public_media_key}")
+  local new_network_stack_cert=$(get_cert "${public_network_stack_key}")
+
+  shopt -s nullglob
+  local xml_list=( "${system_mnt}"/system/etc/**/*mac_permissions.xml )
+  shopt -u nullglob
+  if [[ "${#xml_list[@]}" -ne 1 ]]; then
+    die "Unexpected number of *mac_permissions.xml: ${#xml_list[@]}\n \
+      ${xml_list[*]}"
+  fi
+
+  local xml="${xml_list[0]}"
+  local orig=$(make_temp_file)
+  cp "${xml}" "${orig}"
+
+  change_cert "platform" "${new_platform_cert}" "${xml}"
+  change_cert "media" "${new_media_cert}" "${xml}"
+  change_cert "network_stack" "${new_network_stack_cert}" "${xml}"
+
+  # Validity check.
+  if cmp "${xml}" "${orig}"; then
+    die "Failed to replace SELinux policy cert"
+  fi
+}
+
+# Replace the debug key in OTA cert with release key.
+replace_ota_cert() {
+  local system_mnt=$1
+  local release_cert=$2
+  local ota_zip="${system_mnt}/system/etc/security/otacerts.zip"
+
+  info "Replacing OTA cert"
+
+  local temp_dir=$(make_temp_dir)
+  pushd "${temp_dir}" > /dev/null
+  cp "${release_cert}" .
+  local temp_zip=$(make_temp_file)
+  zip -q -r "${temp_zip}.zip" .
+  # Copy the content instead of mv to avoid owner/mode changes.
+  sudo cp "${temp_zip}.zip" "${ota_zip}"
+  popd > /dev/null
+}
+
+# Snapshot file properties in a directory recursively.
+snapshot_file_properties() {
+  local dir=$1
+  sudo find "${dir}" -exec stat -c '%n:%u:%g:%a' {} + | sort
+}
+
+# Integrity check that image content is unchanged.
+image_content_integrity_check() {
+  local system_mnt=$1
+  local working_dir=$2
+  local reason=$3
+  snapshot_file_properties "${system_mnt}" > "${working_dir}/properties.new"
+  local d
+  if ! d=$(diff "${working_dir}"/properties.{orig,new}); then
+    error "Unexpected change of file property, diff due to ${reason}\n${d}"
+    return 1
+  fi
+
+  return 0
+}
+
+sign_android_internal() {
+  local root_fs_dir=$1
+  local key_dir=$2
+
+  # Detect vm/container type and set environment correspondingly.
+  # Keep this aligned with
+  # src/private-overlays/project-cheets-private/scripts/board_specific_setup.sh
+  local system_image=""
+  local selinux_dir="${root_fs_dir}/etc/selinux"
+  local file_contexts=""
+  local vm_candidate="${root_fs_dir}/opt/google/vms/android/system.raw.img"
+  local container_candidate=(
+      "${root_fs_dir}/opt/google/containers/android/system.raw.img")
+  if [[ -f "${vm_candidate}" ]]; then
+    system_image="${vm_candidate}"
+    file_contexts="${selinux_dir}/arc/contexts/files/android_file_contexts_vm"
+  elif [[ -f "${container_candidate}" ]]; then
+    system_image="${container_candidate}"
+    file_contexts="${selinux_dir}/arc/contexts/files/android_file_contexts"
+  else
+    die "System image does not exist"
+  fi
+
+  local android_system_image="$(echo \
+    "${root_fs_dir}"/opt/google/*/android/system.raw.img)"
+  local android_dir=$(dirname "${android_system_image}")
+  local system_img="${android_dir}/system.raw.img"
+  # Use the versions in $PATH rather than the system ones.
+  local unsquashfs=$(which unsquashfs)
+  local mksquashfs=$(which mksquashfs)
+
+  if [[ $# -ne 2 ]]; then
+    flags_help
+    die "command takes exactly 2 args"
+  fi
+
+  if [[ ! -f "${system_img}" ]]; then
+    die "System image does not exist: ${system_img}"
+  fi
+
+  # NOTE: Keep compression_flags aligned with
+  # src/private-overlays/project-cheets-private/scripts/board_specific_setup.sh
+  local compression_flags=""
+  local compression=$(sudo "${unsquashfs}" -s "${system_img}" \
+    | grep -e ^"Compression\s")
+  if [[ "${compression}" == "Compression gzip" ]]; then
+    compression_flags="-comp gzip"
+  elif [[ "${compression}" == "Compression lz4" ]]; then
+    compression_flags="-comp lz4 -Xhc -b 256K"
+  elif [[ "${compression}" == "Compression zstd" ]]; then
+    compression_flags="-comp zstd -b 256K"
+  else
+    die "Unexpected compression type: ${compression}"
+  fi
+
+  if ! type -P zipalign &>/dev/null || ! type -P signapk &>/dev/null \
+    || ! type -P apksigner &>/dev/null; then
+    # TODO(victorhsieh): Make this an error.  This is not treating as error
+    # just to make an unrelated test pass by skipping this signing.
+    warn "Skip signing Android apks (some of executables are not found)."
+    exit 0
+  fi
+
+  local working_dir=$(make_temp_dir)
+  local system_mnt="${working_dir}/mnt"
+
+  info "Unpacking squashfs system image to ${system_mnt}"
+  sudo "${unsquashfs}" -no-xattrs -f -no-progress -d "${system_mnt}" "${system_img}"
+
+  snapshot_file_properties "${system_mnt}" > "${working_dir}/properties.orig"
+
+  if ! sign_framework_apks "${system_mnt}" "${key_dir}" "${working_dir}"; then
+    return 1
+  fi
+
+  if ! image_content_integrity_check "${system_mnt}" "${working_dir}" \
+                                     "sign_framework_apks"; then
+    return 1
+  fi
+
+  update_sepolicy "${system_mnt}" "${key_dir}"
+  if ! image_content_integrity_check "${system_mnt}" "${working_dir}" \
+                                      "update_sepolicy"; then
+    return 1
+  fi
+
+  replace_ota_cert "${system_mnt}" "${key_dir}/releasekey.x509.pem"
+  if ! image_content_integrity_check "${system_mnt}" "${working_dir}" \
+                                     "replace_ota_cert"; then
+    return 1
+  fi
+
+  # Packages cache needs to be regenerated when the key and timestamp are
+  # changed for apks.
+  local packages_cache="${system_mnt}/system/etc/packages_cache.xml"
+  local file_hash_cache="${system_mnt}/system/etc/file_hash_cache"
+  if [[ -f "${packages_cache}" ]]; then
+    if type -P aapt &>/dev/null; then
+      info "Regenerating packages cache ${packages_cache}"
+      # For the validity check.
+      local packages_before=$(grep "<package " "${packages_cache}" | wc -l)
+      local vendor_mnt=$(make_temp_dir)
+      local vendor_img="${android_dir}/vendor.raw.img"
+      local jar_lib="lib/arc-cache-builder/org.chromium.arc.cachebuilder.jar"
+      info "Unpacking squashfs vendor image to ${vendor_mnt}/vendor"
+      # Vendor image is not updated during this step. However we have to include
+      # vendor apks to re-generated packages cache which exists in one file for
+      # both system and vendor images.
+      sudo "${unsquashfs}" -x -f -no-progress -d "${vendor_mnt}/vendor" \
+          "${vendor_img}"
+      if ! arc_generate_packages_cache "${system_mnt}" "${vendor_mnt}" \
+          "${working_dir}/packages_cache.xml" \
+          "${working_dir}/file_hash_cache"; then
+        die "Failed to generate packages cache."
+      fi
+      sudo cp "${working_dir}/packages_cache.xml" "${packages_cache}"
+      sudo cp "${working_dir}/file_hash_cache" "${file_hash_cache}"
+      # Set android-root as an owner.
+      sudo chown 655360:655360 "${packages_cache}"
+      local packages_after=$(grep "<package " "${packages_cache}" | wc -l)
+      if [[ "${packages_before}" != "${packages_after}" ]]; then
+        die "failed to verify the packages count after the regeneration of " \
+            "the packages cache. Expected ${packages_before} but found " \
+            "${packages_after} packages in pacakges_cache.xml"
+      fi
+    else
+      warn "aapt tool could not be found. Could not regenerate the packages " \
+           "cache. Outdated pacakges_cache.xml is removed."
+      sudo rm "${packages_cache}"
+    fi
+  else
+    info "Packages cache ${packages_cache} does not exist. Skip regeneration."
+  fi
+
+  info "Repacking squashfs image with compression flags '${compression_flags}'"
+  local old_size=$(stat -c '%s' "${system_img}")
+  # Remove old system image to prevent mksquashfs tries to merge both images.
+  sudo rm -rf "${system_img}"
+  sudo mksquashfs "${system_mnt}" "${system_img}" \
+    ${compression_flags} -context-file "${file_contexts}" -mount-point "/" \
+    -no-progress
+  local new_size=$(stat -c '%s' "${system_img}")
+  info "Android system image size change: ${old_size} -> ${new_size}"
+  return 0
+}
+
+main() {
+  # TODO(b/175081695): Remove retries once root problem is fixed.
+  local attempts
+  for (( attempts = 1; attempts <= 3; ++attempts )); do
+    if sign_android_internal "$@"; then
+      exit 0
+    fi
+    warn "Could not sign android image due to recoverable error, will retry," \
+         "attempt # ${attempts}."
+    warn "@@@ALERT@@@"
+    lsof -n
+    dmesg
+    mount
+  done
+  die "Unable to sign Android image; giving up."
+}
+
+main "$@"
diff --git a/scripts/image_signing/sign_android_unittests.sh b/scripts/image_signing/sign_android_unittests.sh
new file mode 100755 (executable)
index 0000000..9bb99a8
--- /dev/null
@@ -0,0 +1,219 @@
+#!/bin/bash
+
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+. "$(dirname "$0")/lib/sign_android_lib.sh"
+
+# Expected APK signatures depending on the type of APK and the type of build.
+declare -A platform_sha=(
+  ['cheets']='AA:04:E0:5F:82:9C:7E:D1:B9:F8:FC:99:6C:5A:54:43:83:D9:F5:BC'
+  ['aosp']='27:19:6E:38:6B:87:5E:76:AD:F7:00:E7:EA:84:E4:C6:EE:E3:3D:FA'
+)
+declare -A media_sha=(
+  ['cheets']='D4:C4:2D:E0:B9:1B:15:72:FA:7D:A7:21:E0:A6:09:94:B4:4C:B5:AE'
+  ['aosp']='B7:9D:F4:A8:2E:90:B5:7E:A7:65:25:AB:70:37:AB:23:8A:42:F5:D3'
+)
+declare -A shared_sha=(
+  ['cheets']='38:B6:2C:E1:75:98:E3:E1:1C:CC:F6:6B:83:BB:97:0E:2D:40:6C:AE'
+  ['aosp']='5B:36:8C:FF:2D:A2:68:69:96:BC:95:EA:C1:90:EA:A4:F5:63:0F:E5'
+)
+declare -A release_sha=(
+  ['cheets']='EC:63:36:20:23:B7:CB:66:18:70:D3:39:3C:A9:AE:7E:EF:A9:32:42'
+  ['aosp']='61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81'
+)
+
+
+test_android_choose_key_invalid_keyset() {
+  local keyname
+  local keyset
+  local keysets=("invalid_keyset" " " "")
+
+  for keyset in "${keysets[@]}"; do
+    echo "TEST: Detection of invalid keyset '${keyset}'."
+    if keyname=$(android_choose_key "ignored_sha1" "${keyset}"); then
+      : $(( NUM_TEST_FAILURES += 1 ))
+      echo "ERROR: Failed to detect invalid keyset '${keyset}'."
+    else
+      echo "PASS: Detected invalid keyset '${keyset}'."
+    fi
+  done
+}
+
+android_choose_key_test_helper() {
+  local sha1="$1"
+  local keyset="$2"
+  local expected_keyname="$3"
+  local keyname="invalid_key"
+
+  echo "TEST: Detect '${expected_keyname}' key name for '${keyset}' keyset."
+  keyname=$(android_choose_key "${sha1}" "${keyset}")
+  if [[ "${keyname}" != "${expected_keyname}" ]]; then
+    : $(( NUM_TEST_FAILURES += 1 ))
+    echo "ERROR: Incorrect key name '${keyname}' returned."
+  else
+    echo "PASS: Correct key name '${keyname}' returned."
+  fi
+}
+
+test_android_choose_key() {
+  local keyset
+  local expected_keyname
+
+  local keysets=("cheets" "aosp")
+  for keyset in "${keysets[@]}"; do
+    expected_keyname="platform"
+    android_choose_key_test_helper "${platform_sha[${keyset}]}" "${keyset}" \
+      "${expected_keyname}"
+    expected_keyname="media"
+    android_choose_key_test_helper "${media_sha[${keyset}]}" "${keyset}" \
+      "${expected_keyname}"
+    expected_keyname="shared"
+    android_choose_key_test_helper "${shared_sha[${keyset}]}" "${keyset}" \
+      "${expected_keyname}"
+    expected_keyname="releasekey"
+    android_choose_key_test_helper "${release_sha[${keyset}]}" "${keyset}" \
+      "${expected_keyname}"
+  done
+}
+
+build_flavor_test_helper() {
+  local prop_file="${BUILD}/build.prop"
+  local prop_content="$1"
+  local expected_flavor_prop="$2"
+  local flavor_prop=""
+
+  echo "${prop_content}" > "${prop_file}"
+  flavor_prop=$(android_get_build_flavor_prop "${prop_file}")
+  if [[ "${flavor_prop}" != "${expected_flavor_prop}" ]]; then
+    : $(( NUM_TEST_FAILURES += 1 ))
+    echo "ERROR: Incorrect build flavor '${flavor_prop}' returned."
+  else
+    echo "PASS: Correct key name '${flavor_prop}' returned."
+  fi
+  rm "${prop_file}"
+}
+
+test_android_get_build_flavor_prop() {
+  local prop_file="${BUILD}/build.prop"
+  local prop_content=""
+  local flavor_prop=""
+
+  echo "TEST: Extract ro.build.flavor property."
+  prop_content="ro.random.prop=foo
+other.prop=bar
+x=foobar
+ro.build.flavor=cheets_x86-user
+another.prop=barfoo"
+  build_flavor_test_helper "${prop_content}" "cheets_x86-user"
+
+  echo "TEST: Extract single ro.build.flavor property."
+  prop_content="ro.build.flavor=cheets_x86-user"
+  build_flavor_test_helper "${prop_content}" "cheets_x86-user"
+
+  echo "TEST: Avoid commented out ro.build.flavor property."
+  prop_content="ro.random.prop=foo
+other.prop=bar
+x=foobar
+#ro.build.flavor=commented_out
+ro.build.flavor=cheets_x86-user
+another.prop=barfoo"
+  build_flavor_test_helper "${prop_content}" "cheets_x86-user"
+
+  # Missing ro.build.flavor property.
+  echo "TEST: Detect missing ro.build.flavor property."
+  echo "ro.random.prop=foo" > "${prop_file}"
+  if flavor_prop=$(android_get_build_flavor_prop "${prop_file}"); then
+    : $(( NUM_TEST_FAILURES += 1 ))
+    echo "ERROR: Failed to detect missing ro.build.flavor property."
+  else
+    echo "PASS: Detected missing ro.build.flavor property."
+  fi
+  rm "${prop_file}"
+}
+
+choose_signing_keyset_test_helper() {
+  local flavor_prop="$1"
+  local expected_keyset="$2"
+  local keyset=""
+
+  keyset=$(android_choose_signing_keyset "${flavor_prop}")
+  if [[ "${keyset}" != "${expected_keyset}" ]]; then
+    : $(( NUM_TEST_FAILURES += 1 ))
+    echo "ERROR: Incorrect keyset '${keyset}' returned instead of \
+'${expected_keyset}'."
+  else
+    echo "PASS: Correct keyset '${keyset}' returned."
+  fi
+}
+
+choose_signing_keyset_test_invalid_flavors() {
+  local flavor="$1"
+
+  echo "TEST: Detect invalid build flavor '${flavor}'."
+  if android_choose_signing_keyset "${flavor}"; then
+    : $(( NUM_TEST_FAILURES += 1 ))
+    echo "ERROR: Failed to detect invalid build flavor '${flavor}'."
+  else
+    echo "PASS: Detected invalid build flavor '${flavor}'."
+  fi
+}
+
+test_android_choose_signing_keyset() {
+  echo "TEST: Keyset for aosp_cheets build."
+  choose_signing_keyset_test_helper "aosp_cheets_x86-userdebug" "aosp"
+  echo "TEST: Keyset for sdk_google_cheets build."
+  choose_signing_keyset_test_helper "sdk_google_cheets_x86-userdebug" "cheets"
+  echo "TEST: Keyset for sdk_cheets build."
+  choose_signing_keyset_test_helper "sdk_cheets_x86-userdebug" "cheets"
+  echo "TEST: Keyset for cheets_x86 build."
+  choose_signing_keyset_test_helper "cheets_x86-user" "cheets"
+  echo "TEST: Keyset for cheets_arm build."
+  choose_signing_keyset_test_helper "cheets_arm-user" "cheets"
+  echo "TEST: Keyset for cheets_x86_64 build."
+  choose_signing_keyset_test_helper "cheets_x86_64-user" "cheets"
+  echo "TEST: Keyset for userdebug build."
+  choose_signing_keyset_test_helper "cheets_x86-userdebug" "cheets"
+  echo "TEST: Keyset for bertha_x86 build."
+  choose_signing_keyset_test_helper "bertha_x86-user" "cheets"
+  echo "TEST: Keyset for bertha_arm build."
+  choose_signing_keyset_test_helper "bertha_arm-user" "cheets"
+  echo "TEST: Keyset for bertha_x86_64 build."
+  choose_signing_keyset_test_helper "bertha_x86_64-user" "cheets"
+
+  choose_signing_keyset_test_invalid_flavors "aosp"
+  choose_signing_keyset_test_invalid_flavors "cheets"
+  choose_signing_keyset_test_invalid_flavors "bertha"
+  choose_signing_keyset_test_invalid_flavors ""
+  choose_signing_keyset_test_invalid_flavors " "
+}
+
+main() {
+  if [[ $# -ne 0 ]]; then
+    echo "FAIL: unexpected arguments '$@'."
+    return 1
+  fi
+
+  BUILD=$(mktemp -d)
+  echo "Setting temporary build directory as '${BUILD}'."
+
+  test_android_choose_key_invalid_keyset
+  test_android_choose_key
+  test_android_get_build_flavor_prop
+  test_android_choose_signing_keyset
+
+  echo "Deleting temporary build directory '${BUILD}'."
+  rmdir "${BUILD}"
+
+  if [[ ${NUM_TEST_FAILURES} -gt 0 ]]; then
+    echo "FAIL: found ${NUM_TEST_FAILURES} failed :(."
+    return 1
+  fi
+  echo "PASS: all tests passed :)."
+  return 0
+}
+
+# Global incremented by each test when they fail.
+NUM_TEST_FAILURES=0
+main "$@"
diff --git a/scripts/image_signing/sign_firmware.sh b/scripts/image_signing/sign_firmware.sh
new file mode 100755 (executable)
index 0000000..0e7ac7c
--- /dev/null
@@ -0,0 +1,133 @@
+#!/bin/bash
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Wrapper script for re-signing a firmware image.
+
+# Determine script directory.
+SCRIPT_DIR=$(dirname "$0")
+
+# Load common constants and variables.
+. "${SCRIPT_DIR}/common_minimal.sh"
+
+# Abort on error.
+set -e
+
+usage() {
+  cat<<EOF
+Usage: $0 <input_firmware> <key_dir> <output_firmware> [firmware_version] \
+[loem_output_dir]
+
+Signs <input_firmware> with keys in <key_dir>, setting firmware version
+to <firmware_version>. Outputs signed firmware to <output_firmware>.
+The <input_firmware> and <output_firmware> paths may be the same.
+If no firmware version is specified, it is set as 1.
+EOF
+  exit 1
+}
+
+gbb_update() {
+  local in_firmware="$1"
+  local key_dir="$2"
+  local out_firmware="$3"
+  local rootkey="$4"
+
+  # Replace the root and recovery key in the Google Binary Block of the
+  # firmware.  Note: This needs to happen after calling resign_firmwarefd.sh
+  # since it needs to be able to verify the firmware using the root key to
+  # determine the preamble flags.
+  futility gbb \
+    -s \
+    --recoverykey="${key_dir}/recovery_key.vbpubk" \
+    --rootkey="${rootkey}" \
+    "${in_firmware}" \
+    "${out_firmware}"
+}
+
+# Sign a single firmware image.
+# ARGS: [loem_key] [loemid]
+sign_one() {
+  local loem_key="$1"
+  local loemid="$2"
+
+  # Resign the firmware with new keys.
+  "${SCRIPT_DIR}/resign_firmwarefd.sh" \
+    "${in_firmware}" \
+    "${temp_fw}" \
+    "${key_dir}/firmware_data_key${loem_key}.vbprivk" \
+    "${key_dir}/firmware${loem_key}.keyblock" \
+    "${key_dir}/dev_firmware_data_key${loem_key}.vbprivk" \
+    "${key_dir}/dev_firmware${loem_key}.keyblock" \
+    "${key_dir}/kernel_subkey.vbpubk" \
+    "${firmware_version}" \
+    "" \
+    "${loem_output_dir}" \
+    "${loemid}"
+}
+
+# Process all the keysets in the loem.ini file.
+sign_loems() {
+  local line loem_section=false loem_index loemid
+  local rootkey
+
+  while read line; do
+    # Find the [loem] section.
+    if ! ${loem_section}; then
+      if grep -q "^ *\[loem\] *$" <<<"${line}"; then
+        loem_section=true
+      fi
+      continue
+    # Abort when we hit the next section.
+    elif [[ ${line} == *"["* ]]; then
+      break
+    fi
+
+    # Strip comments/whitespace.
+    line=$(sed -e 's:#.*::' -e 's:^ *::' -e 's: *$::' <<<"${line}")
+    if [[ -z "${line}" ]]; then
+      # Skip blank lines.
+      continue
+    fi
+
+    loem_index=$(cut -d= -f1 <<<"${line}" | sed 's: *$::')
+    loemid=$(cut -d= -f2 <<<"${line}" | sed 's:^ *::')
+
+    echo "### Processing LOEM ${loem_index} ${loemid}"
+    sign_one ".loem${loem_index}" "${loemid}"
+
+    rootkey="${key_dir}/root_key.loem${loem_index}.vbpubk"
+    cp "${rootkey}" "${loem_output_dir}/rootkey.${loemid}"
+
+    if [[ ${loem_index} == "1" ]]; then
+      gbb_update "${temp_fw}" "${key_dir}" "${out_firmware}" "${rootkey}"
+    fi
+    echo
+  done <"${key_dir}/loem.ini"
+}
+
+main() {
+  if [[ $# -lt 3 || $# -gt 5 ]]; then
+    usage
+  fi
+
+  local in_firmware=$1
+  local key_dir=$2
+  local out_firmware=$3
+  local firmware_version=${4:-1}
+  local loem_output_dir=${5:-}
+
+  local temp_fw=$(make_temp_file)
+
+  if [[ -e ${key_dir}/loem.ini ]]; then
+    if [[ -z ${loem_output_dir} ]]; then
+      die "need loem_output_dir w/loem keysets"
+    fi
+    sign_loems
+  else
+    sign_one
+    gbb_update "${temp_fw}" "${key_dir}" "${out_firmware}" \
+      "${key_dir}/root_key.vbpubk"
+  fi
+}
+main "$@"
diff --git a/scripts/image_signing/sign_gsc_firmware.sh b/scripts/image_signing/sign_gsc_firmware.sh
new file mode 100755 (executable)
index 0000000..af7b7da
--- /dev/null
@@ -0,0 +1,648 @@
+#!/bin/bash
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+. "$(dirname "$0")/common.sh"
+
+load_shflags || exit 1
+
+DEFINE_boolean override_keyid "${FLAGS_TRUE}" \
+  "Override keyid from manifest." ""
+
+FLAGS_HELP="Usage: ${PROG} [options] <input_dir> <key_dir> <output_image>
+
+Signs <input_dir> with keys in <key_dir>.
+"
+
+# Parse command line.
+FLAGS "$@" || exit 1
+eval set -- "${FLAGS_ARGV}"
+
+# Abort on error and uninitialized variables.
+set -e
+set -u
+
+PRE_PVT_BID_FLAG=0x10
+MP_BID_FLAG=0x10000
+CR50_NODE_LOCKED_VERSION="0.5.12"
+
+# Convert unsigned 32 bit value into a signed one.
+to_int32() {
+  local inp="$1"
+  python -c \
+         "import struct; \
+          d=struct.pack('I', $inp); \
+           print (struct.unpack('i', d)[0])"
+}
+
+# Functions allowing to determine the base address of a binary blob in ihex
+# format. Invoked in a subprocess through () to be able to use stdout as the
+# return values.
+
+# In ihex format binary data is represented as a set of records. Each record
+# is a text string of hex values in ASCII. All records start with a header
+# which determines the record contents.
+#
+# The most common record type is the data record, its header includes the 16
+# bit address of where the record data will have to be placed in the physical
+# address space. Naturally 16 bits is not enough as of last thirty years, some
+# special types of record are used to specify the segment base of there the
+# 16 bit address is used as the offset.
+#
+# The segment base is still represented as a 16 bit value, depending on the
+# record type the base is shifted right ether 4 (record type 02) or 16 (record
+# type 04) bits.
+#
+# The first two records of the ihex binary blob are a segment record and a
+# data record. Combining the segment value from the first record and the
+# address value from the second record one can determine the base address
+# where the blob is supposed to be placed.
+#
+# See https://en.wikipedia.org/wiki/Intel_HEX for further details.
+parse_segment() {
+  local string="$1"
+
+  if [[ "${string}" =~ ^:020000 && "${#string}" -eq 15 ]]; then
+    local type="${string:7:2}"
+    local value="0x${string:9:4}"
+    local segment
+
+    case "${type}" in
+      (02)
+        segment=$(( value << 4 ))
+        ;;
+      (04)
+        segment=$(( value << 16 ))
+        ;;
+      (*)
+        error "unknown segment record type ${type}"
+        ;;
+    esac
+    printf "0x%x" "${segment}"
+  else
+    error "unexpected segment record: ${string}"
+  fi
+}
+
+# The second record in the ihex binary blob is mapped to the lowest 16 bit
+# address in the segment.
+parse_data() {
+  local string="$1"
+
+  if [[ "${string}" =~ ^:10 && "${#string}" -eq 43 ]]; then
+    echo "0x${string:3:4}"
+  else
+    error "unexpected data record: ${string}"
+  fi
+}
+
+# Given an ihex binary blob determine its base address as a sum of the segment
+# address and the offset of the first record into the segment.
+get_hex_base() {
+  local hexf="$1"
+  local strings
+  local segment
+  local base_offset
+
+  # Some ihex blobs include <cr><lf>, drop <cr> to allow for fixed size check.
+  mapfile -t strings < <(head -2 "${hexf}" | sed 's/\x0d//')
+
+  if [[ ${#strings[@]} != 2 ]]; then
+    error "input file ${hexf} too short"
+    return
+  fi
+  segment="$(parse_segment "${strings[0]}")"
+  base_offset="$(parse_data "${strings[1]}")"
+
+  if [[ -n "${segment}" && -n "${base_offset}" ]]; then
+    printf "%d\n" $(( segment + base_offset ))
+  else
+    error "${hexf} does not seem to be a valid ihex module."
+  fi
+}
+
+# Paste a binary blob into a larger binary file at a given offset.
+paste_bin() {
+  local file="${1}"
+  local blob="${2}"
+  local image_base="${3}"
+  local hex_base="${4}"
+  local file_size
+  local blob_size
+  local offset
+
+
+  file_size="$(stat -c '%s' "${file}")"
+  blob_size="$(stat -c '%s' "${blob}")"
+  offset="$(( hex_base - image_base ))"
+
+  if [[ $(( blob_size + offset )) -ge ${file_size} ]];then
+    die \
+      "Can't fit ${blob_size} bytes at offset ${offset} into ${file_size} bytes"
+  fi
+  dd if="${blob}" of="${file}" seek="${offset}" bs=1 conv=notrunc
+}
+
+# This function accepts one argument, the name of the GSC manifest file which
+# needs to be verified and in certain cases altered.
+#
+# The function verifies that the input manifest is a proper json file, and
+# that the manifest conforms to GSC version numbering and board ID flags
+# conventions for various build images:
+#
+# - only binaries where version is set to CR50_NODE_LOCKED_VERSION can be
+#   converted to node locked images. Board IDs for node locked images come
+#   from signing instructions, and the config1 manifest field value must have
+#   the 0x80000000 bit set.
+#
+# - when signing pre-pvt binaries (major version number is even) the 0x10
+#   flags bit must be set.
+#
+# - when signing mp images (major version number is odd), the 0x10000 flags
+#   bit must be set (this can be overridden by signing instructions).
+verify_and_prepare_gsc_manifest() {
+  if [[ $# -ne 1 ]]; then
+    die "Usage: verify_and_prepare_gsc_manifest <manifest .json file>"
+  fi
+
+  local manifest_json="$1"
+
+  local bid_flags
+  local config1
+  local epoch
+  local major
+  local minor
+  local values
+
+  mapfile -t values < <(jq '.config1,.epoch,.major,.minor,.board_id_flags' \
+             "${manifest_json}")
+
+  config1="${values[0]}"
+  epoch="${values[1]}"
+  major="${values[2]}"
+  minor="${values[3]}"
+  bid_flags="${values[4]}"
+
+  if [[ ${major} == null ]]; then
+    die "Major version number not found in ${manifest_json}"
+  fi
+
+  if [[ ${bid_flags} == null ]]; then
+    die "bid_flags not found in ${manifest_json}"
+  fi
+
+  case "${INSN_TARGET:-}" in
+
+    (NodeLocked)
+      if [[ -z ${INSN_DEVICE_ID:-} ]]; then
+        die "Node locked target without Device ID value"
+      fi
+      # Case of a node locked image, it must have the fixed version.
+      if [[ "${epoch}.${major}.${minor}" != "${CR50_NODE_LOCKED_VERSION}" ]]
+      then
+        die "Won't create node locked images for version $epoch.$major.$minor"
+      fi
+
+      local sub
+      local devid0
+      local devid1
+
+      devid0="$(to_int32 "0x${INSN_DEVICE_ID/-*}")"
+      devid1="$(to_int32 "0x${INSN_DEVICE_ID/*-}")"
+      cf1="$(to_int32 $(( 0x80000000 + config1 )))"
+      sub="$(printf "   \"DEV_ID0\": %s,\\\n  \"DEV_ID1\": %s," \
+                              "${devid0}" "${devid1}")"
+
+      # Manifest fields must be modified as follows:
+      #
+      # - board_id related fields removed
+      # - 'config1' field bit 0x80000000 set
+      # - least significant bit of the 'tag' field originally set to all zeros
+      #   changed from zero to one
+      # - DEV_ID values spliced in into the 'fuses' section
+      sed -i  "/board_id/d;\
+        s/\"config1\":.*/\"config1\": ${cf1},/;\
+        s/\(tag.*0\+\)0/\11/;\
+        /\"fuses\":/ a\
+            $sub"  "${manifest_json}" || die "Failed to edit the manifest"
+      return 0
+      ;;
+
+    (PrePVT)
+      # All we care about for pre pvt images is that major version number is
+      # even and the 0x10 Board ID flag is set.
+      if (( !(major & 1 ) && (bid_flags & PRE_PVT_BID_FLAG) )); then
+        return 0
+      fi
+      ;;
+
+    (ReleaseCandidate|GeneralRelease)
+      if (( (bid_flags & MP_BID_FLAG) && (major & 1) )); then
+        if [[ ${INSN_TARGET} == GeneralRelease ]]; then
+          # Strip Board ID information for approved for release MP images.
+          sed -i  "/board_id/d" "${manifest_json}"
+        fi
+        return 0
+      fi
+      ;;
+
+    (*)
+      die "Unsupported target '${INSN_TARGET:-}'"
+  esac
+
+  die "Inconsistent manifest ${manifest_json}: major = '${major}'," \
+      "board_id_flags = '${bid_flags}' target = '${INSN_TARGET}'"
+}
+
+# This function accepts two arguments, names of two binary files.
+#
+# It searches the first passed-in file for the first 8 bytes of the second
+# passed in file. The od utility is used to generate full hex dump of the
+# first file (16 bytes per line) and the first 8 bytes of the second file.
+# grep is used to check if the pattern is present in the full dump.
+find_blob_in_blob() {
+  if [[ $# -ne 2 ]]; then
+    die "Usage: find_blob_in_blob <haystack> <needle>"
+  fi
+
+  local main_blob="$1"
+  local pattern_blob="$2"
+  local pattern
+  # Show without offsets, single byte hex, no compression of zero runs.
+  local od_options=("-An" "-tx1" "-v")
+
+  # Get the first 8 bytes of the pattern blob.
+  pattern="$(od "${od_options[@]}" -N8 "${pattern_blob}")"
+
+  # Eliminate all newlines to be able to search the entire body as one unit.
+  if od "${od_options[@]}" "${main_blob}" | \
+     tr -d '\n' |
+     grep -q -F "${pattern}"; then
+    return 0
+  fi
+
+  return 1
+}
+
+# This function accepts two arguments, names of the two ELF files.
+#
+# The files are searched for test RMA public key patterns - x25519 or p256,
+# both files are supposed to have pattern of one of these keys and not the
+# other. If this holds true the function prints the public key base name. If
+# not both files include the same key, or include more than one key, the
+# function reports failure and exits the script.
+determine_rma_key_base() {
+  if [[ $# -ne 3 ]]; then
+    die "Usage: determine_rma_key_base <rma_key_dir> <rw_a> <rw_b>"
+  fi
+
+  local rma_key_dir="$1"
+  local elfs=( "$2" "$3" )
+  local base_name="${rma_key_dir}/rma_key_blob"
+  local curve
+  local curves=( "x25519" "p256" )
+  local elf
+  local key_file
+  local mask=1
+  local result=0
+  local rma_key_base
+
+  for curve in "${curves[@]}"; do
+    key_file="${base_name}.${curve}.test"
+    for elf in "${elfs[@]}"; do
+      if find_blob_in_blob "${elf}" "${key_file}"; then
+        : $(( result |= mask ))
+      fi
+      : $(( mask <<= 1 ))
+    done
+  done
+
+  case "${result}" in
+    (3)  curve="x25519";;
+    (12) curve="p256";;
+    (*)  die "could not determine key type in the ELF files";;
+  esac
+
+  echo "${base_name}.${curve}"
+}
+
+# Sign GSC RW firmware ELF images into a combined GSC firmware image
+# using the provided production keys and manifests.
+sign_rw() {
+  if [[ $# -ne 9 ]]; then
+    die "Usage: sign_rw <key_file> <manifest> <fuses>" \
+        "<rma_key_dir> <rw_a> <rw_b> <output> <generation> <image_base>"
+  fi
+
+  local key_file="$1"
+  local manifest_file="$2"
+  local fuses_file="$3"
+  local rma_key_dir="$4"
+  local rws=( "$5" "$6" )
+  local result_file="$7"
+  local generation="$8"
+  local image_base="$9"
+  local base_name
+  local rma_key_base=""
+  local signer_command_params
+  local temp_dir
+
+  temp_dir="$(make_temp_dir)"
+  signer_command_params=(-x "${fuses_file}" --key "${key_file}")
+
+  case "${generation}"  in
+    (h)
+      # H1 image might require some tweaking.
+      # If signing a chip factory image (version 0.0.22) do not try figuring
+      # out the RMA keys.
+      local gsc_version
+
+      gsc_version="$(jq '.epoch * 10000 + .major * 100 + .minor' \
+        "${manifest_file}")"
+
+      if [[ "${gsc_version}" != "22" ]]; then
+        rma_key_base="$(determine_rma_key_base "${rma_key_dir}" "${rws[@]}")"
+      else
+        warn "Ignoring RMA keys for factory branch ${gsc_version}"
+      fi
+
+      # Swap test public RMA server key with the prod version.
+      if [[ -n "${rma_key_base}" ]]; then
+        signer_command_params+=(
+          --swap "${rma_key_base}.test,${rma_key_base}.prod"
+        )
+      fi
+
+      # Indicate H1 signing.
+      signer_command_params+=( "--b" )
+      base_name="cr50"
+      ;;
+    (d)
+      # Indicate D1 signing.
+      signer_command_params+=( "--dauntless" "--ihex" )
+      base_name="ti50"
+      ;;
+    (*)
+      die "Unknown generation value \"${generation}\""
+      ;;
+  esac
+
+  signer_command_params+=(--json "${manifest_file}")
+
+
+  if [[ "${FLAGS_override_keyid}" == "${FLAGS_TRUE}" ]]; then
+    signer_command_params+=(--override-keyid)
+  fi
+
+  for rw in "${rws[@]}"; do
+    local hex_signed="${temp_dir}/hex_signed"
+    local bin_signed="${temp_dir}/bin_signed"
+    local hex_base
+
+    # Make sure output files are not owned by root.
+    touch "${bin_signed}" "${hex_signed}"
+    if ! gsc-codesigner "${signer_command_params[@]}" \
+        -i "${rw}" -o "${hex_signed}"; then
+      die "gsc-codesigner ${signer_command_params[*]}" \
+        "-i ${rw} -o ${hex_signed} failed"
+    fi
+
+    if ! objcopy -I ihex "${hex_signed}" -O binary "${bin_signed}"; then
+      die "Failed to convert ${rw} from hex to bin"
+    fi
+
+    if [[ -n "${rma_key_base}" ]]; then
+      if find_blob_in_blob  "${bin_signed}" "${rma_key_base}.test"; then
+        die "test RMA key in the signed image!"
+      fi
+
+      if ! find_blob_in_blob "${bin_signed}" "${rma_key_base}.prod"; then
+        die "prod RMA key not in the signed image!"
+      fi
+    fi
+
+    hex_base="$(get_hex_base "${hex_signed}")"
+    paste_bin "${result_file}" "${bin_signed}" "${image_base}" "${hex_base}"
+  done
+
+  if strings "${rw}" | grep -q "DBG/${base_name}"; then
+    die "Will not sign debug image with prod keys"
+  fi
+
+}
+
+# A very crude RO verification function. The key signature found at a fixed
+# offset into the RO blob must match the RO type. Prod keys have bit D2 set to
+# one, dev keys have this bit set to zero.
+#
+# The check is bypassed if the key file directory name includes string 'test'.
+verify_ro() {
+  if [[ $# -ne 2 ]]; then
+    die "Usage: verify_ro <ro_bin> <key_file>"
+  fi
+
+  local ro_bin="$1"
+  local key_file="$2"
+  local key_byte
+  local key_path
+
+  if [[ ! -f "${ro_bin}" ]]; then
+    die "${ro_bin} not a file!"
+  fi
+
+  key_path="$(dirname "${key_file}")"
+  if [[ ${key_path##*/} == *"test"* ]]; then
+    info "Test run, ignoring key type verification"
+    return 0
+  fi
+
+  # Key signature's lowest byte is byte #5 in the line at offset 0001a0.
+  key_byte="$(od -Ax -t x1 -v "${ro_bin}" | awk '/0001a0/ {print $6}')"
+  case "${key_byte}" in
+    (?[4567cdef])
+      return 0
+      ;;
+  esac
+
+  die "RO key (${key_byte}) in ${ro_bin} does not match type prod"
+}
+
+# This function prepares a full GSC image, consisting of two ROs and two RWs
+# placed at their respective offsets into the resulting blob. It invokes the
+# bs (binary signer) script to actually convert ELF versions of RWs into
+# binaries and sign them.
+#
+# The signed image is placed in the directory named as concatenation of RO and
+# RW version numbers and board ID fields, if set to non-default. The ebuild
+# downloading the tarball from the BCS expects the image to be in that
+# directory.
+sign_gsc_firmware() {
+  if [[ $# -ne 10 ]]; then
+    die "Usage: sign_gsc_firmware <key_file> <manifest> <fuses>" \
+        "<rma_key_dir> <ro_a> <ro_b> <rw_a> <rw_b> <output> <generation>"
+  fi
+
+  local key_file="$1"
+  local manifest_file="$2"
+  local fuses_file="$3"
+  local rma_key_dir="$4"
+  local ro_a_hex="$5"
+  local ro_b_hex="$6"
+  local rw_a="$7"
+  local rw_b="$8"
+  local output_file="$9"
+  local generation="${10}"
+  local temp_dir
+  local chip_name
+
+  temp_dir="$(make_temp_dir)"
+
+  case "${generation}"  in
+    (h)
+      # H1 flash size, image size must match.
+      IMAGE_SIZE="$(( 512 * 1024 ))"
+      IMAGE_BASE="0x40000"
+      chip_name="cr50"
+      ;;
+    (d)
+      # D2 flash size, image size must match.
+      IMAGE_SIZE="$(( 1024 * 1024 ))"
+      IMAGE_BASE="0x80000"
+      chip_name="ti50"
+      ;;
+  esac
+
+  verify_and_prepare_gsc_manifest "${manifest_file}"
+
+  dd if=/dev/zero bs="${IMAGE_SIZE}" count=1 status=none |
+    tr '\000' '\377' > "${output_file}"
+  if [[ "$(stat -c '%s' "${output_file}")" != "${IMAGE_SIZE}" ]]; then
+    die "Failed creating ${output_file}"
+  fi
+
+  if ! sign_rw "${key_file}" "${manifest_file}" "${fuses_file}" \
+       "${rma_key_dir}" "${rw_a}" "${rw_b}" \
+       "${output_file}" "${generation}" "${IMAGE_BASE}"; then
+    die "Failed invoking sign_rw for ${rw_a} and ${rw_b}"
+  fi
+
+  local f
+  for f in "${ro_a_hex}" "${ro_b_hex}"; do
+    local hex_base
+    local bin
+
+    hex_base="$(get_hex_base "${f}")"
+    bin="${temp_dir}/bin"
+
+    if [[ -z ${hex_base} ]]; then
+      die "Failed retrieving base address from ${f}"
+    fi
+
+    if ! objcopy -I ihex "${f}" -O binary "${bin}"; then
+      die "Failed to convert ${f} from hex to bin"
+    fi
+    if [[ "${generation}" == "h" ]]; then
+      verify_ro "${bin}" "${key_file}"
+    fi
+
+    paste_bin "${output_file}" "${bin}" "${IMAGE_BASE}" "${hex_base}"
+  done
+
+  # Tell the signer how to rename the @CHIP@ portion of the output.
+  echo "${chip_name}" > "${output_file}.rename"
+
+  info "Image successfully signed to ${output_file}"
+}
+
+# Sign the directory holding GSC firmware.
+sign_gsc_firmware_dir() {
+  if [[ $# -ne 3 ]]; then
+    die "Usage: sign_gsc_firmware_dir <input> <key dir> <output>"
+  fi
+
+  local input="${1%/}"
+  local key_dir="$2"
+  local output="$3"
+  local generation
+  local rw_a
+  local rw_b
+  local manifest_source
+  local manifest_file
+  local key_file
+  local base_name
+
+  manifest_source="${input}/prod.json"
+  manifest_file="${manifest_source}.updated"
+
+  # Verify signing manifest.
+  jq . < "${manifest_source}" > "${manifest_file}" || \
+    die "basic validation of ${manifest_source} failed"
+
+
+  # Retrieve chip type from the manifest, if present, otherwise use h1.
+  generation="$(jq ".generation" "${input}/prod.json" | sed 's/"//g')"
+  case "${generation}"  in
+    (h|null)
+      generation="h"
+      base_name="cr50"
+      rw_a="${input}/ec.RW.elf"
+      rw_b="${input}/ec.RW_B.elf"
+      ;;
+    (d)
+      base_name="ti50"
+      rw_a="${input}/rw_A.hex"
+      rw_b="${input}/rw_B.hex"
+      ;;
+    (*)
+      die "Unknown generation value \"${generation}\" in signing manifest"
+      ;;
+  esac
+
+  key_file="${key_dir}/${base_name}.pem"
+  if [[ ! -e "${key_file}" ]]; then
+    die "Missing key file: ${key_file}"
+  fi
+
+  if [[ -d "${output}" ]]; then
+    output="${output}/${base_name}.bin.prod"
+  fi
+
+  sign_gsc_firmware \
+          "${key_file}" \
+          "${manifest_file}" \
+          "${input}/fuses.xml" \
+          "${input}" \
+          "${input}/prod.ro.A" \
+          "${input}/prod.ro.B" \
+          "${rw_a}" \
+          "${rw_b}" \
+          "${output}" \
+          "${generation}"
+}
+
+main() {
+  if [[ $# -ne 3 ]]; then
+    flags_help
+    exit 1
+  fi
+
+  local input="${1%/}"
+  local key_dir="$2"
+  local output="$3"
+
+  local signing_instructions="${input}/signing_instructions.sh"
+
+  if [[ -f ${signing_instructions} ]]; then
+    . "${signing_instructions}"
+  else
+    die "${signing_instructions} not found"
+  fi
+
+  if [[ ! -d "${input}" ]]; then
+    die "Missing input directory: ${input}"
+  fi
+
+  sign_gsc_firmware_dir "${input}" "${key_dir}" "${output}"
+}
+main "$@"
diff --git a/scripts/image_signing/sign_official_build.sh b/scripts/image_signing/sign_official_build.sh
new file mode 100755 (executable)
index 0000000..d35db6f
--- /dev/null
@@ -0,0 +1,1158 @@
+#!/bin/bash
+
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Sign the final build image using the "official" keys.
+#
+# Prerequisite tools needed in the system path:
+#
+#  futility (from src/platform/vboot_reference)
+#  verity (from src/platform2/verity)
+#  load_kernel_test (from src/platform/vboot_reference)
+#  dumpe2fs
+#  e2fsck
+#  sha1sum
+
+MINIOS_KERNEL_GUID="09845860-705f-4bb5-b16c-8a8a099caf52"
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+# Print usage string
+usage() {
+  cat <<EOF
+Usage: $PROG <type> input_image /path/to/keys/dir [output_image] [version_file]
+where <type> is one of:
+             base (sign a base image)
+             recovery (sign a USB recovery image)
+             factory (sign a factory install image)
+             update_payload (sign a delta update hash)
+             firmware (sign a firmware image)
+             verify (verify an image including rootfs hashes)
+             accessory_usbpd (sign USB-PD accessory firmware)
+             accessory_rwsig (sign accessory RW firmware)
+             gsc_firmware (sign a GSC firmware image)
+
+output_image: File name of the signed output image
+version_file: File name of where to read the kernel and firmware versions.
+
+If you are signing an image, you must specify an [output_image] and
+optionally, a [version_file].
+
+EOF
+  if [[ $# -gt 0 ]]; then
+    error "$*"
+    exit 1
+  fi
+  exit 0
+}
+
+# Verify we have as many arguments as we expect, else show usage & quit.
+# Usage:
+#  check_argc <number args> <exact number>
+#  check_argc <number args> <lower bound> <upper bound>
+check_argc() {
+  case $# in
+  2)
+    if [[ $1 -ne $2 ]]; then
+      usage "command takes exactly $2 args"
+    fi
+    ;;
+  3)
+    if [[ $1 -lt $2 || $1 -gt $3 ]]; then
+      usage "command takes $2 to $3 args"
+    fi
+    ;;
+  *)
+    die "check_argc: incorrect number of arguments"
+  esac
+}
+
+# Abort on errors.
+set -e
+
+# Add to the path since some tools reside here and may not be in the non-root
+# system path.
+PATH=$PATH:/usr/sbin:/sbin
+
+# Make sure the tools we need are available.
+for prereqs in ${FUTILITY} verity load_kernel_test dumpe2fs e2fsck sha1sum; do
+  type -P "${prereqs}" &>/dev/null || \
+    die "${prereqs} tool not found."
+done
+
+TYPE=$1
+INPUT_IMAGE=$2
+KEY_DIR=$3
+OUTPUT_IMAGE=$4
+VERSION_FILE=$5
+
+FIRMWARE_VERSION=1
+KERNEL_VERSION=1
+
+# TODO(gauravsh): These are duplicated from chromeos-setimage. We need
+# to move all signing and rootfs code to one single place where it can be
+# reused. crosbug.com/19543
+
+# get_verity_arg <commandline> <key> -> <value>
+get_verity_arg() {
+  echo "$1" | sed -n "s/.*\b$2=\([^ \"]*\).*/\1/p"
+}
+
+# Get the dmparams parameters from a kernel config.
+get_dmparams_from_config() {
+  local kernel_config=$1
+  echo ${kernel_config} | sed -nre 's/.*dm="([^"]*)".*/\1/p'
+}
+# Get the verity root digest hash from a kernel config command line.
+get_hash_from_config() {
+  local kernel_config=$1
+  local dm_config=$(get_dmparams_from_config "${kernel_config}")
+  local vroot_dev=$(get_dm_device "${dm_config}" vroot)
+  echo $(get_verity_arg "${vroot_dev}" root_hexdigest)
+}
+
+# Get the mapped device and its args.
+# Usage:
+#   get_dm_device $dm_config [vboot|vroot]
+# Assumes we have only one mapped device per device.
+get_dm_device() {
+  local dm=$1
+  local device=$2
+  echo $(echo "${dm}" | sed -nre "s/.*${device}[^,]*,([^,]*).*/\1/p")
+}
+
+# Set the mapped device and its args for a device.
+# Usage:
+#   set_dm_device $dm_config [vboot|vroot] args
+# Assumes we have only one mapped device per device.
+set_dm_device() {
+  local dm=$1
+  local device=$2
+  local args=$3
+  echo $(echo "${dm}" |
+    sed -nre "s#(.*${device}[^,]*,)([^,]*)(.*)#\1${args}\3#p")
+}
+
+CALCULATED_KERNEL_CONFIG=
+CALCULATED_DM_ARGS=
+# Calculate rootfs hash of an image
+# Args: ROOTFS_IMAGE KERNEL_CONFIG HASH_IMAGE
+#
+# rootfs calculation parameters are grabbed from KERNEL_CONFIG
+#
+# Updated dm-verity arguments (to be replaced in kernel config command line)
+# with the new hash is stored in $CALCULATED_DM_ARGS and the new hash image is
+# written to the file HASH_IMAGE.
+calculate_rootfs_hash() {
+  local rootfs_image=$1
+  local kernel_config=$2
+  local hash_image=$3
+  local dm_config=$(get_dmparams_from_config "${kernel_config}")
+
+  if [ -z "${dm_config}" ]; then
+    warn "Couldn't grab dm_config. Aborting rootfs hash calculation."
+    return 1
+  fi
+  local vroot_dev=$(get_dm_device "${dm_config}" vroot)
+
+  # Extract the key-value parameters from the kernel command line.
+  local rootfs_sectors=$(get_verity_arg "${vroot_dev}" hashstart)
+  local verity_algorithm=$(get_verity_arg "${vroot_dev}" alg)
+  local root_dev=$(get_verity_arg "${vroot_dev}" payload)
+  local hash_dev=$(get_verity_arg "${vroot_dev}" hashtree)
+  local salt=$(get_verity_arg "${vroot_dev}" salt)
+
+  local salt_arg
+  if [ -n "$salt" ]; then
+    salt_arg="salt=$salt"
+  fi
+
+  # Run the verity tool on the rootfs partition.
+  local table=$(sudo verity mode=create \
+    alg=${verity_algorithm} \
+    payload="${rootfs_image}" \
+    payload_blocks=$((rootfs_sectors / 8)) \
+    hashtree="${hash_image}" ${salt_arg})
+  # Reconstruct new kernel config command line and replace placeholders.
+  table="$(echo "${table}" |
+    sed -s "s|ROOT_DEV|${root_dev}|g;s|HASH_DEV|${hash_dev}|")"
+  CALCULATED_DM_ARGS="$(set_dm_device "${dm_config}" vroot "${table}")"
+  CALCULATED_KERNEL_CONFIG="$(echo "${kernel_config}" |
+    sed -e 's#\(.*dm="\)\([^"]*\)\(".*\)'"#\1${CALCULATED_DM_ARGS}\3#g")"
+}
+
+# Re-calculate rootfs hash, update rootfs and kernel command line(s).
+# Args: LOOPDEV KERNEL KERN_A_KEYBLOCK KERN_A_PRIVKEY KERN_B_KEYBLOCK \
+#       KERN_B_PRIVKEY
+#
+# The rootfs is hashed by tool 'verity', and the hash data is stored after the
+# rootfs. A hash of those hash data (also known as final verity hash) may be
+# contained in kernel 2 or kernel 4 command line.
+#
+# This function reads dm-verity configuration from KERNEL, rebuilds the rootfs
+# hash, and then resigns kernel A & B by their keyblock and private key files.
+update_rootfs_hash() {
+  local loopdev="$1"  # Input image.
+  local loop_kern="$2"  # Kernel that contains verity args.
+  local kern_a_keyblock="$3"  # Keyblock file for kernel A.
+  local kern_a_privkey="$4"  # Private key file for kernel A.
+  local kern_b_keyblock="$5"  # Keyblock file for kernel B.
+  local kern_b_privkey="$6"  # Private key file for kernel A.
+  local loop_rootfs="${loopdev}p3"
+
+  # Note even though there are two kernels, there is one place (after rootfs)
+  # for hash data, so we must assume both kernel use same hash algorithm (i.e.,
+  # DM config).
+  info "Updating rootfs hash and updating config for Kernel partitions"
+
+  # If we can't find dm parameters in the kernel config, bail out now.
+  local kernel_config=$(sudo ${FUTILITY} dump_kernel_config "${loop_kern}")
+  local dm_config=$(get_dmparams_from_config "${kernel_config}")
+  if [ -z "${dm_config}" ]; then
+    error "Couldn't grab dm_config from kernel ${loop_kern}"
+    error " (config: ${kernel_config})"
+    return 1
+  fi
+
+  # check and clear need_to_resign tag
+  local rootfs_dir=$(make_temp_dir)
+  sudo mount -o ro "${loop_rootfs}" "${rootfs_dir}"
+  if has_needs_to_be_resigned_tag "${rootfs_dir}"; then
+    # remount as RW
+    sudo mount -o remount,rw "${rootfs_dir}"
+    sudo rm -f "${rootfs_dir}/${TAG_NEEDS_TO_BE_SIGNED}"
+  fi
+  sudo umount "${rootfs_dir}"
+
+  local hash_image=$(make_temp_file)
+
+  # Disable rw mount support prior to hashing.
+  disable_rw_mount "${loop_rootfs}"
+
+  if ! calculate_rootfs_hash "${loop_rootfs}"  "${kernel_config}" \
+    "${hash_image}"; then
+    error "calculate_rootfs_hash failed!"
+    error "Aborting rootfs hash update!"
+    return 1
+  fi
+
+  local rootfs_blocks=$(sudo dumpe2fs "${loop_rootfs}" 2> /dev/null |
+    grep "Block count" |
+    tr -d ' ' |
+    cut -f2 -d:)
+  local rootfs_sectors=$((rootfs_blocks * 8))
+
+  # Overwrite the appended hashes in the rootfs
+  sudo dd if="${hash_image}" of="${loop_rootfs}" bs=512 \
+    seek=${rootfs_sectors} conv=notrunc 2>/dev/null
+
+  # Update kernel command lines
+  local dm_args="${CALCULATED_DM_ARGS}"
+  local temp_config=$(make_temp_file)
+  local kernelpart=
+  local keyblock=
+  local priv_key=
+  local new_kernel_config=
+
+  for kernelpart in 2 4; do
+    loop_kern="${loopdev}p${kernelpart}"
+    if ! new_kernel_config="$(
+         sudo ${FUTILITY} dump_kernel_config "${loop_kern}" 2>/dev/null)" &&
+       [[ "${kernelpart}" == 4 ]]; then
+      # Legacy images don't have partition 4.
+      info "Skipping empty kernel partition 4 (legacy images)."
+      continue
+    fi
+    new_kernel_config="$(echo "${new_kernel_config}" |
+      sed -e 's#\(.*dm="\)\([^"]*\)\(".*\)'"#\1${dm_args}\3#g")"
+    info "New config for kernel partition ${kernelpart} is:"
+    echo "${new_kernel_config}" | tee "${temp_config}"
+    # Re-calculate kernel partition signature and command line.
+    if [[ "$kernelpart" == 2 ]]; then
+      keyblock="${kern_a_keyblock}"
+      priv_key="${kern_a_privkey}"
+    else
+      keyblock="${kern_b_keyblock}"
+      priv_key="${kern_b_privkey}"
+    fi
+    sudo ${FUTILITY} vbutil_kernel --repack "${loop_kern}" \
+      --keyblock ${keyblock} \
+      --signprivate ${priv_key} \
+      --version "${KERNEL_VERSION}" \
+      --oldblob "${loop_kern}" \
+      --config ${temp_config}
+  done
+}
+
+# Update the SSD install-able vblock file on stateful partition.
+# ARGS: Loopdev
+# This is deprecated because all new images should have a SSD boot-able kernel
+# in partition 4. However, the signer needs to be able to sign new & old images
+# (crbug.com/449450#c13) so we will probably never remove this.
+update_stateful_partition_vblock() {
+  local loopdev="$1"
+  local temp_out_vb="$(make_temp_file)"
+
+  local loop_kern="${loopdev}p4"
+  if [[ -z "$(sudo ${FUTILITY} dump_kernel_config "${loop_kern}" 2>/dev/null)" ]]; then
+    info "Building vmlinuz_hd.vblock from legacy image partition 2."
+    loop_kern="${loopdev}p2"
+  fi
+
+  # vblock should always use kernel keyblock.
+  sudo ${FUTILITY} vbutil_kernel --repack "${temp_out_vb}" \
+    --keyblock "${KEY_DIR}/kernel.keyblock" \
+    --signprivate "${KEY_DIR}/kernel_data_key.vbprivk" \
+    --oldblob "${loop_kern}" \
+    --vblockonly
+
+  # Copy the installer vblock to the stateful partition.
+  local stateful_dir=$(make_temp_dir)
+  sudo mount "${loopdev}p1" "${stateful_dir}"
+  sudo cp ${temp_out_vb} ${stateful_dir}/vmlinuz_hd.vblock
+  sudo umount "${stateful_dir}"
+}
+
+# Do a validity check on the image's rootfs
+# ARGS: Image
+verify_image_rootfs() {
+  local rootfs=$1
+  # This flips the read-only compatibility flag, so that e2fsck does not
+  # complain about unknown file system capabilities.
+  enable_rw_mount "${rootfs}"
+  info "Running e2fsck to check root file system for errors"
+  sudo e2fsck -fn "${rootfs}" ||
+    die "Root file system has errors!"
+  # Flip the bit back so we don't break hashes.
+  disable_rw_mount "${rootfs}"
+}
+
+# Extracts a firmware updater bundle (for firmware image binaries) file
+# (generated by src/platform/firmware/pack_firmware.sh).
+# Args: INPUT_FILE OUTPUT_DIR
+extract_firmware_bundle() {
+  local input="$(readlink -f "$1")"
+  local output_dir="$2"
+  if [ ! -s "${input}" ]; then
+    return 1
+  elif grep -q '^##CUTHERE##' "${input}"; then
+    # Bundle supports self-extraction.
+    "$input" --sb_extract "${output_dir}" ||
+      die "Extracting firmware autoupdate (--sb_extract) failed."
+  else
+    # Legacy bundle - try uudecode.
+    uudecode -o - ${input} | tar -C ${output_dir} -zxf - 2>/dev/null ||
+      die "Extracting firmware autoupdate failed."
+  fi
+}
+
+# Repacks firmware updater bundle content from given folder.
+# Args: INPUT_DIR TARGET_SCRIPT
+repack_firmware_bundle() {
+  local input_dir="$1"
+  local target="$(readlink -f "$2")"
+
+  if [ ! -s "${target}" ]; then
+    return 1
+  elif grep -q '^##CUTHERE##' "${target}"; then
+    # Bundle supports repacking.
+    # Workaround issue crosbug.com/p/33719
+    sed -i \
+      's/shar -Q -q -x -m -w/shar -Q -q -x -m --no-character-count/' \
+      "${target}"
+    "$target" --sb_repack "${input_dir}" ||
+      die "Updating firmware autoupdate (--sb_repack) failed."
+  else
+    # Legacy bundle using uuencode + tar.gz.
+    # Replace MD5 checksum in the firmware update payload.
+    local newfd_checksum="$(md5sum ${input_dir}/bios.bin | cut -f 1 -d ' ')"
+    local temp_version="$(make_temp_file)"
+    cat ${input_dir}/VERSION |
+    sed -e "s#\(.*\)\ \(.*bios.bin.*\)#${newfd_checksum}\ \2#" > ${temp_version}
+    mv ${temp_version} ${input_dir}/VERSION
+
+    # Re-generate firmware_update.tgz and copy over encoded archive in
+    # the original shell ball.
+    sed -ine '/^begin .*firmware_package/,/end/D' "$target"
+    tar zcf - -C "${input_dir}" . |
+      uuencode firmware_package.tgz >>"${target}"
+  fi
+}
+
+# Sign a firmware in-place with the given keys.
+# Args: FIRMWARE_IMAGE KEY_DIR FIRMWARE_VERSION [LOEM_OUTPUT_DIR]
+sign_firmware() {
+  local image=$1
+  local key_dir=$2
+  local firmware_version=$3
+  local loem_output_dir=${4:-}
+
+  # Resign the firmware with new keys, also replacing the root and recovery
+  # public keys in the GBB.
+  "${SCRIPT_DIR}/sign_firmware.sh" "${image}" "${key_dir}" "${image}" \
+    "${firmware_version}" "${loem_output_dir}"
+  info "Signed firmware image output to ${image}"
+}
+
+# Sign a delta update payload (usually created by paygen).
+# Args: INPUT_IMAGE KEY_DIR OUTPUT_IMAGE
+sign_update_payload() {
+  local image=$1
+  local key_dir=$2
+  local output=$3
+  local key_output key_size key_file="${key_dir}/update_key.pem"
+  # Maps key size to verified boot's algorithm id (for pad_digest_utility).
+  # Hashing algorithm is always SHA-256.
+  local algo algos=(
+    [1024]=1
+    [2048]=4
+    [4096]=7
+    [8192]=10
+  )
+
+  key_output=$(${FUTILITY} show "${key_file}")
+  key_size=$(echo "${key_output}" | sed -n '/Key length/s/[^0-9]*//p')
+  algo=${algos[${key_size}]}
+  if [[ -z ${algo} ]]; then
+    die "Unknown algorithm: futility output=${key_output}"
+  fi
+
+  pad_digest_utility ${algo} "${image}" | \
+    openssl rsautl -sign -pkcs -inkey "${key_file}" -out "${output}"
+}
+
+# Re-sign the firmware AU payload inside the image rootfs with a new keys.
+# Args: LOOPDEV
+resign_firmware_payload() {
+  local loopdev="$1"
+
+  if [ -n "${NO_FWUPDATE}" ]; then
+    info "Skipping firmware update."
+    return
+  fi
+
+  # Grab firmware image from the autoupdate bundle (shellball).
+  local rootfs_dir=$(make_temp_dir)
+  mount_loop_image_partition "${loopdev}" 3 "${rootfs_dir}"
+  local firmware_bundle="${rootfs_dir}/usr/sbin/chromeos-firmwareupdate"
+  local shellball_dir=$(make_temp_dir)
+
+  # extract_firmware_bundle can fail if the image has no firmware update.
+  if ! extract_firmware_bundle "${firmware_bundle}" "${shellball_dir}"; then
+    # Unmount now to prevent changes.
+    sudo umount "${rootfs_dir}"
+    info "Didn't find a firmware update. Not signing firmware."
+    return
+  fi
+  info "Found a valid firmware update shellball."
+
+  # For context on signing firmware for unified builds, see:
+  #   go/cros-unibuild-signing
+  #
+  # This iterates over a signer_config.csv file, which contains the following:
+  #   output_name,image,key_id               (header)
+  #   santa,models/santa/bios.bin,SOME_OEM  (sample line)
+  #
+  # This dictates what output signature blocks to generate based on what
+  # keys/binaries.
+  #
+  # It reuses the LOEM architecture already existing in the signer keysets,
+  # but this could be revisited at a future date.
+  #
+  # Within signer_config.csv, it uses the key_id column to match the key
+  # value in loem.ini (if present) and signs the corresponding firmware
+  # image using that key.
+  #
+  # It then outputs the appropriate signature blocks based on the output_name.
+  # The firmware updater scripts then detects what output_name to use at
+  # runtime based on the platform.
+  local signer_config="${shellball_dir}/signer_config.csv"
+  if [[ -e "${signer_config}" ]]; then
+    info "Using signer_config.csv to determine firmware signatures"
+    info "See go/cros-unibuild-signing for details"
+    {
+      read # Burn the first line (header line)
+      while IFS="," read -r output_name bios_image key_id ec_image
+      do
+        local key_suffix=''
+        local extra_args=()
+        rootkey="${KEY_DIR}/root_key.vbpubk"
+
+        # If there are OEM specific keys available, we're going to use them.
+        # Otherwise, we're going to ignore key_id from the config file and
+        # just use the common keys present in the keyset.
+        #
+        # The presence of the /keyset subdir in the shellball will indicate
+        # whether dynamic signature blocks are available or not.
+        # This is what updater4.sh currently uses to make the decision.
+        if [[ -e "${KEY_DIR}/loem.ini" ]]; then
+          # loem.ini has the format KEY_ID_VALUE = KEY_INDEX
+          local match="$(grep -E "[0-9]+ *= *${key_id}$" "${KEY_DIR}/loem.ini")"
+          local key_index="$(echo "${match}" | sed 's/ *= *.*$//g')"
+          info "Detected key index from loem.ini as ${key_index} for ${key_id}"
+          if [[ -z "${key_index}" ]]; then
+            die "Failed to find key_id ${key_id} in loem.ini file for " \
+              "${output_name}"
+          fi
+          key_suffix=".loem${key_index}"
+          shellball_keyset_dir="${shellball_dir}/keyset"
+          mkdir -p "${shellball_keyset_dir}"
+          extra_args+=(
+            --loemdir "${shellball_keyset_dir}"
+            --loemid "${output_name}"
+          )
+          rootkey="${KEY_DIR}/root_key${key_suffix}.vbpubk"
+          cp "${rootkey}" "${shellball_keyset_dir}/rootkey.${output_name}"
+        fi
+
+        info "Signing firmware image ${bios_image} for ${output_name} " \
+          "with key suffix ${key_suffix}"
+
+        local temp_fw=$(make_temp_file)
+
+        local signprivate="${KEY_DIR}/firmware_data_key${key_suffix}.vbprivk"
+        local keyblock="${KEY_DIR}/firmware${key_suffix}.keyblock"
+        local devsign="${KEY_DIR}/dev_firmware_data_key${key_suffix}.vbprivk"
+        local devkeyblock="${KEY_DIR}/dev_firmware${key_suffix}.keyblock"
+
+        if [ ! -e "${devsign}" ] || [ ! -e "${devkeyblock}" ] ; then
+          echo "No dev firmware keyblock/datakey found. Reusing normal keys."
+          devsign="${signprivate}"
+          devkeyblock="${keyblock}"
+        fi
+
+        # Path to bios.bin.
+        local bios_path="${shellball_dir}/${bios_image}"
+
+        echo "Before EC signing ${bios_path}: md5 =" \
+          $(md5sum ${bios_path} | awk '{print $1}')
+
+        if [ -n "${ec_image}" ]; then
+          # Path to ec.bin.
+          local ec_path="${shellball_dir}/${ec_image}"
+
+          # Resign ec.bin.
+          if is_ec_rw_signed "${ec_path}"; then
+            local rw_bin="EC_RW.bin"
+            local rw_hash="EC_RW.hash"
+            # futility writes byproduct files to CWD, so we cd to temp dir.
+            pushd "$(make_temp_dir)" > /dev/null
+
+            echo "Signing EC with:" ${FUTILITY} sign --type rwsig --prikey \
+              "${KEY_DIR}/key_ec_efs.vbprik2" "${ec_path}"
+
+            ${FUTILITY} sign --type rwsig --prikey \
+              "${KEY_DIR}/key_ec_efs.vbprik2" "${ec_path}" \
+              || die "Failed to sign ${ec_path}"
+            # Above command produces EC_RW.bin. Compute its hash.
+            openssl dgst -sha256 -binary "${rw_bin}" > "${rw_hash}"
+            # Store EC_RW.bin and its hash in bios.bin.
+            store_file_in_cbfs "${bios_path}" "${rw_bin}" "ecrw" \
+              || die "Failed to store file in ${bios_path}"
+            store_file_in_cbfs "${bios_path}" "${rw_hash}" "ecrw.hash" \
+              || die "Failed to store file in ${bios_path}"
+            popd > /dev/null
+            info "Signed EC image output to ${ec_path}"
+          fi
+        fi
+
+        echo "After EC signing ${bios_path}: md5 =" \
+          $(md5sum ${bios_path} | awk '{print $1}')
+
+        # Resign bios.bin.
+        echo "Signing Bios with:" ${FUTILITY} sign \
+          --signprivate "${signprivate}" \
+          --keyblock "${keyblock}" \
+          --devsign "${devsign}" \
+          --devkeyblock "${devkeyblock}" \
+          --kernelkey "${KEY_DIR}/kernel_subkey.vbpubk" \
+          --version "${FIRMWARE_VERSION}" \
+          "${extra_args[@]}" \
+          ${bios_path} \
+          ${temp_fw}
+        ${FUTILITY} sign \
+          --signprivate "${signprivate}" \
+          --keyblock "${keyblock}" \
+          --devsign "${devsign}" \
+          --devkeyblock "${devkeyblock}" \
+          --kernelkey "${KEY_DIR}/kernel_subkey.vbpubk" \
+          --version "${FIRMWARE_VERSION}" \
+          "${extra_args[@]}" \
+          ${bios_path} \
+          ${temp_fw}
+
+        echo "After Bios signing ${temp_fw}: md5 =" \
+          $(md5sum ${temp_fw} | awk '{print $1}')
+
+        # For development phases, when the GBB can be updated still, set the
+        # recovery and root keys in the image.
+        echo "Setting GBB with:" ${FUTILITY} gbb \
+          -s \
+          --recoverykey="${KEY_DIR}/recovery_key.vbpubk" \
+          --rootkey="${rootkey}" \
+          "${temp_fw}" \
+          "${bios_path}"
+        ${FUTILITY} gbb \
+          -s \
+          --recoverykey="${KEY_DIR}/recovery_key.vbpubk" \
+          --rootkey="${rootkey}" \
+          "${temp_fw}" \
+          "${bios_path}"
+
+        echo "After setting GBB on ${bios_path}: md5 =" \
+          $(md5sum ${bios_path} | awk '{print $1}')
+
+        info "Signed firmware image output to ${bios_path}"
+      done
+      unset IFS
+    } < "${signer_config}"
+  else
+    local image_file sign_args=() loem_sfx loem_output_dir
+    for image_file in "${shellball_dir}"/bios*.bin; do
+      if [[ -e "${KEY_DIR}/loem.ini" ]]; then
+        # Extract the extended details from "bios.bin" and use that in the
+        # subdir for the keyset.
+        loem_sfx=$(sed -r 's:.*/bios([^/]*)[.]bin$:\1:' <<<"${image_file}")
+        loem_output_dir="${shellball_dir}/keyset${loem_sfx}"
+        sign_args=( "${loem_output_dir}" )
+        mkdir -p "${loem_output_dir}"
+      fi
+      sign_firmware "${image_file}" "${KEY_DIR}" "${FIRMWARE_VERSION}" \
+        "${sign_args[@]}"
+    done
+  fi
+
+  local signer_notes="${shellball_dir}/VERSION.signer"
+  echo "" >"$signer_notes"
+  echo "Signed with keyset in $(readlink -f "${KEY_DIR}") ." >>"${signer_notes}"
+  # record recovery_key
+  key="${KEY_DIR}/recovery_key.vbpubk"
+  sha1=$(${FUTILITY} vbutil_key --unpack "${key}" \
+    | grep sha1sum | cut -d" " -f9)
+  echo "recovery: ${sha1}" >>"${signer_notes}"
+  # record root_key(s)
+  if [[ -d "${shellball_keyset_dir}"  ]]; then
+    echo "List sha1sum of all loem/model's signatures:" >>"${signer_notes}"
+    for key in "${shellball_keyset_dir}"/rootkey.*; do
+      model="${key##*.}"
+      sha1=$(${FUTILITY} vbutil_key --unpack "${key}" \
+        | grep sha1sum | cut -d" " -f9)
+      echo "  ${model}: ${sha1}" >>"${signer_notes}"
+    done
+  else
+    echo "List sha1sum of single key's signature:" >>"${signer_notes}"
+    key="${KEY_DIR}/root_key.vbpubk"
+    sha1=$(${FUTILITY} vbutil_key --unpack "${key}" \
+      | grep sha1sum | cut -d" " -f9)
+    echo "  root: ${sha1}" >>"${signer_notes}"
+  fi
+
+  new_shellball=$(make_temp_file)
+  cp -f "${firmware_bundle}" "${new_shellball}"
+  chmod a+rx "${new_shellball}"
+  repack_firmware_bundle "${shellball_dir}" "${new_shellball}"
+  sudo cp -f "${new_shellball}" "${firmware_bundle}"
+  sudo chmod a+rx "${firmware_bundle}"
+  # Unmount now to flush changes.
+  sudo umount "${rootfs_dir}"
+  info "Re-signed firmware AU payload in ${loopdev}"
+}
+
+# Remove old container key if it exists.
+# We can drop this logic once all devices that shipped R78 have gone EOL.
+# So probably in like 2025.
+remove_old_container_key() {
+  local loopdev="$1"
+
+  local rootfs_dir=$(make_temp_dir)
+  mount_loop_image_partition "${loopdev}" 3 "${rootfs_dir}"
+
+  sudo rm -f "${rootfs_dir}/usr/share/misc/oci-container-key-pub.der"
+
+  sudo umount "${rootfs_dir}"
+}
+
+# Re-sign Android image if exists.
+resign_android_image_if_exists() {
+  local loopdev="$1"
+
+  local rootfs_dir=$(make_temp_dir)
+  mount_loop_image_partition "${loopdev}" 3 "${rootfs_dir}"
+
+  local system_img="$(echo "${rootfs_dir}"/opt/google/*/android/system.raw.img)"
+  local arc_version=$(grep CHROMEOS_ARC_VERSION= \
+    "${rootfs_dir}/etc/lsb-release" | cut -d= -f2)
+  if [[ ! -e "${system_img}" || -z "${arc_version}" ]]; then
+    info "ARC image not found.  Not signing Android APKs."
+    sudo umount "${rootfs_dir}"
+    return
+  fi
+
+  info "Found ARC image version '${arc_version}', re-signing APKs."
+  # TODO(crbug.com/1141907): remove set -x and set +x below.
+  set -x
+  "${SCRIPT_DIR}/sign_android_image.sh" "${rootfs_dir}" "${KEY_DIR}/android"
+
+  if ! sudo umount "${rootfs_dir}"; then
+    error "umount ${rootfs_dir} failed"
+    sudo lsof -n "${rootfs_dir}"
+    ps auxf
+    set +x
+    return 1
+  fi
+  info "Re-signed Android image"
+  set +x
+}
+
+# Sign UEFI binaries, if possible.
+# Args: LOOPDEV
+sign_uefi_binaries() {
+  local loopdev="$1"
+  local efi_glob="*.efi"
+
+  if [[ ! -d "${KEY_DIR}/uefi" ]]; then
+    return 0
+  fi
+
+  local esp_dir
+  if ! esp_dir="$(mount_image_esp "${loopdev}")"; then
+    error "Could not mount EFI partition for signing UEFI binaries"
+    return 1
+  elif [[ -z "${esp_dir}" ]]; then
+    return 0
+  fi
+  # TODO(b/199136347): First class this as an arg and pass from config
+  # in the signing repo. This is a temporary fix to unblock reven-release.
+  if [[ "${KEY_DIR}" != *"Reven"* ]]; then
+    "${SCRIPT_DIR}/install_gsetup_certs.sh" "${esp_dir}" "${KEY_DIR}/uefi"
+  else
+    # b/205145491: the reven board's boot*.efi files are already signed,
+    # change the glob so that they don't get resigned.
+    efi_glob="grub*.efi"
+  fi
+  "${SCRIPT_DIR}/sign_uefi.sh" "${esp_dir}" "${KEY_DIR}/uefi" "${efi_glob}"
+  sudo umount "${esp_dir}"
+
+  local rootfs_dir="$(make_temp_dir)"
+  mount_loop_image_partition "${loopdev}" 3 "${rootfs_dir}"
+  "${SCRIPT_DIR}/sign_uefi.sh" "${rootfs_dir}/boot" "${KEY_DIR}/uefi" \
+                               "${efi_glob}"
+  sudo umount "${rootfs_dir}"
+
+  info "Signed UEFI binaries"
+  return 0
+}
+
+# Verify the signatures of UEFI binaries.
+# Args: LOOPDEV
+verify_uefi_signatures() {
+  local loopdev="$1"
+  local succeeded=1
+
+  if [[ ! -d "${KEY_DIR}/uefi" ]]; then
+    return 0
+  fi
+
+  local esp_dir
+  if ! esp_dir="$(mount_image_esp "${loopdev}")"; then
+    error "Could not mount EFI partition for verifying UEFI signatures"
+    return 1
+  elif [[ -z "${esp_dir}" ]]; then
+    return 0
+  fi
+  "${SCRIPT_DIR}/verify_uefi.sh" "${esp_dir}" "${esp_dir}" \
+      "${KEY_DIR}/uefi" || succeeded=0
+
+  local rootfs_dir="$(make_temp_dir)"
+  mount_loop_image_partition_ro "${loopdev}" 3 "${rootfs_dir}"
+  "${SCRIPT_DIR}/verify_uefi.sh" "${rootfs_dir}/boot" "${esp_dir}" \
+      "${KEY_DIR}/uefi" || succeeded=0
+  sudo umount "${rootfs_dir}"
+
+  sudo umount "${esp_dir}"
+
+  if [[ "${succeeded}" == "0" ]]; then
+    die "UEFI signature verification failed"
+  fi
+}
+
+# Sign a GSC firmware image with the given keys.
+# Args: CONTAINER KEY_DIR [OUTPUT_CONTAINER]
+sign_gsc_firmware() {
+  local image=$1
+  local key_dir=$2
+  local output=$3
+
+  "${SCRIPT_DIR}/sign_gsc_firmware.sh" \
+    "${image}" "${key_dir}" "${output}"
+}
+
+# Verify an image including rootfs hash using the specified keys.
+verify_image() {
+  local loopdev=$(loopback_partscan "${INPUT_IMAGE}")
+  local loop_rootfs="${loopdev}p3"
+
+  info "Verifying RootFS hash..."
+  # What we get from image.
+  local kernel_config
+  # What we calculate from the rootfs.
+  local new_kernel_config
+  # Depending on the type of image, the verity parameters may
+  # exist in either kernel partition 2 or kernel partition 4
+  local partnum
+  for partnum in 2 4; do
+    info "Considering Kernel partition ${partnum}"
+    kernel_config=$(sudo ${FUTILITY} dump_kernel_config "${loopdev}p${partnum}")
+    local hash_image=$(make_temp_file)
+    if ! calculate_rootfs_hash "${loop_rootfs}" "${kernel_config}" \
+      "${hash_image}"; then
+      info "Trying next kernel partition."
+      continue
+    fi
+    new_kernel_config="$CALCULATED_KERNEL_CONFIG"
+    break
+  done
+
+  # Note: If calculate_rootfs_hash succeeded above, these should
+  # be non-empty.
+  expected_hash=$(get_hash_from_config "${new_kernel_config}")
+  got_hash=$(get_hash_from_config "${kernel_config}")
+
+  if [ -z "${expected_hash}" ] || [ -z "${got_hash}" ]; then
+    die "Couldn't verify RootFS hash on the image."
+  fi
+
+  if [ ! "${got_hash}" = "${expected_hash}" ]; then
+    cat <<EOF
+FAILED: RootFS hash is incorrect.
+Expected: ${expected_hash}
+Got: ${got_hash}
+EOF
+    exit 1
+  else
+    info "PASS: RootFS hash is correct (${expected_hash})"
+  fi
+
+  # Now try and verify kernel partition signature.
+  set +e
+  local try_key=${KEY_DIR}/recovery_key.vbpubk
+  info "Testing key verification..."
+  # The recovery key is only used in the recovery mode.
+  echo -n "With Recovery Key (Recovery Mode ON, Dev Mode OFF): " && \
+  { load_kernel_test "${INPUT_IMAGE}" "${try_key}" -b 2 >/dev/null 2>&1 && \
+    echo "YES"; } || echo "NO"
+  echo -n "With Recovery Key (Recovery Mode ON, Dev Mode ON): " && \
+  { load_kernel_test "${INPUT_IMAGE}" "${try_key}" -b 3 >/dev/null 2>&1 && \
+    echo "YES"; } || echo "NO"
+
+  try_key=${KEY_DIR}/kernel_subkey.vbpubk
+  # The SSD key is only used in non-recovery mode.
+  echo -n "With SSD Key (Recovery Mode OFF, Dev Mode OFF): " && \
+  { load_kernel_test "${INPUT_IMAGE}" "${try_key}" -b 0 >/dev/null 2>&1  && \
+    echo "YES"; } || echo "NO"
+  echo -n "With SSD Key (Recovery Mode OFF, Dev Mode ON): " && \
+  { load_kernel_test "${INPUT_IMAGE}" "${try_key}" -b 1 >/dev/null 2>&1 && \
+    echo "YES"; } || echo "NO"
+  set -e
+
+  verify_image_rootfs "${loop_rootfs}"
+
+  verify_uefi_signatures "${INPUT_IMAGE}"
+
+  # TODO(gauravsh): Check embedded firmware AU signatures.
+}
+
+# Re-calculate recovery kernel hash.
+# Args: LOOPDEV
+update_recovery_kernel_hash() {
+  local loopdev="$1"
+  local loop_kerna="${loopdev}p2"
+  local loop_kernb="${loopdev}p4"
+
+  # Update the Kernel B hash in Kernel A command line
+  local old_kerna_config="$(sudo ${FUTILITY} \
+    dump_kernel_config "${loop_kerna}")"
+  local old_kernb_hash="$(echo "$old_kerna_config" |
+    sed -nEe "s#.*kern_b_hash=([a-z0-9]*).*#\1#p")"
+  if [[ "${#old_kernb_hash}" -lt 64 ]]; then
+    local new_kernb_hash=$(sudo sha1sum "${loop_kernb}" | cut -f1 -d' ')
+  else
+    local new_kernb_hash=$(sudo sha256sum "${loop_kernb}" | cut -f1 -d' ')
+  fi
+
+  new_kerna_config=$(make_temp_file)
+  echo "$old_kerna_config" |
+    sed -e "s#\(kern_b_hash=\)[a-z0-9]*#\1${new_kernb_hash}#" \
+      > ${new_kerna_config}
+  info "New config for kernel partition 2 is"
+  cat ${new_kerna_config}
+
+  # Re-calculate kernel partition signature and command line.
+  sudo ${FUTILITY} vbutil_kernel --repack "${loop_kerna}" \
+    --keyblock ${KEY_DIR}/recovery_kernel.keyblock \
+    --signprivate ${KEY_DIR}/recovery_kernel_data_key.vbprivk \
+    --version "${KERNEL_VERSION}" \
+    --oldblob "${loop_kerna}" \
+    --config ${new_kerna_config}
+}
+
+# Re-sign miniOS kernels with new keys.
+# Args: LOOPDEV KEYBLOCK PRIVKEY
+resign_minios_kernels() {
+  local loopdev="$1"
+  local keyblock="$2"
+  local priv_key="$3"
+
+  info "Searching for miniOS kernels to resign..."
+
+  local loop_minios
+  for loop_minios in "${loopdev}p"*; do
+    local part_type_guid
+    part_type_guid=$(sudo lsblk -rnb -o PARTTYPE "${loop_minios}")
+    if [[ "${part_type_guid}" != "${MINIOS_KERNEL_GUID}" ]]; then
+      continue
+    fi
+
+    # Skip miniOS partitions which are empty. This happens when miniOS
+    # kernels aren't written to the partitions because the feature is not
+    # enabled.
+    if ! sudo "${FUTILITY}" dump_kernel_config "${loop_minios}"; then
+      info "Skipping empty miniOS partition ${loop_minios}."
+      continue
+    fi
+
+    # Delay checking that keyblock and private key exist until we are certain
+    # of a valid miniOS partition.  Images that don't support miniOS might not
+    # provide these.  (This check is repeated twice, but that's okay.)
+    if [[ ! -e "${keyblock}" ]]; then
+      error "Resign miniOS: keyblock doesn't exist: ${keyblock}"
+      return 1
+    fi
+    if [[ ! -e "${priv_key}" ]]; then
+      error "Resign miniOS: private key doesn't exist: ${priv_key}"
+      return 1
+    fi
+
+    # Assume this is a miniOS kernel.
+    local minios_kernel_version=$((KERNEL_VERSION >> 24))
+    if sudo ${FUTILITY} vbutil_kernel --repack "${loop_minios}" \
+        --keyblock "${keyblock}" \
+        --signprivate "${priv_key}" \
+        --version "${minios_kernel_version}" \
+        --oldblob "${loop_minios}"; then
+      info "Resign miniOS ${loop_minios}: done"
+    else
+      error "Resign miniOS ${loop_minios}: failed"
+      return 1
+    fi
+  done
+}
+
+# Update the legacy bootloader templates in EFI partition if available.
+# Args: LOOPDEV KERNEL
+update_legacy_bootloader() {
+  local loopdev="$1"
+  local loop_kern="$2"
+
+  local esp_dir
+  if ! esp_dir="$(mount_image_esp "${loopdev}")"; then
+    error "Could not mount EFI partition for updating legacy bootloader cfg."
+    return 1
+  elif [[ -z "${esp_dir}" ]]; then
+    info "Not updating legacy bootloader configs: ${loopdev}"
+    return 0
+  fi
+
+  # If we can't find the dm parameter in the kernel config, bail out now.
+  local kernel_config=$(sudo ${FUTILITY} dump_kernel_config "${loop_kern}")
+  local root_hexdigest="$(get_hash_from_config "${kernel_config}")"
+  if [[ -z "${root_hexdigest}" ]]; then
+    error "Couldn't grab root_digest from kernel partition ${loop_kern}"
+    error " (config: ${kernel_config})"
+    return 1
+  fi
+  # Update syslinux configs for legacy BIOS systems.
+  if [[ -d "${esp_dir}/syslinux" ]]; then
+    local cfg=("${esp_dir}"/syslinux/*.cfg)
+    if ! sudo sed -i -r \
+      "s/\broot_hexdigest=[a-z0-9]+/root_hexdigest=${root_hexdigest}/g" \
+      "${cfg[@]}"; then
+        error "Updating syslinux configs failed: '${cfg[*]}'"
+        return 1
+    fi
+  fi
+  # Update grub configs for EFI systems.
+  local grub_cfg="${esp_dir}/efi/boot/grub.cfg"
+  if [[ -f "${grub_cfg}" ]]; then
+    if ! sudo sed -i -r \
+      "s/\broot_hexdigest=[a-z0-9]+/root_hexdigest=${root_hexdigest}/g" \
+      "${grub_cfg}"; then
+        error "Updating grub config failed: '${grub_cfg}'"
+        return 1
+    fi
+  fi
+}
+
+# Sign an image file with proper keys.
+# Args: IMAGE_TYPE INPUT OUTPUT DM_PARTNO KERN_A_KEYBLOCK KERN_A_PRIVKEY \
+#       KERN_B_KEYBLOCK KERN_B_PRIVKEY MINIOS_KEYBLOCK MINIOS_PRIVKEY
+#
+# A ChromiumOS image file (INPUT) always contains 2 partitions (kernel A & B).
+# This function will rebuild hash data by DM_PARTNO, resign kernel partitions by
+# their KEYBLOCK and PRIVKEY files, and then write to OUTPUT file. Note some
+# special images (specified by IMAGE_TYPE, like 'recovery' or 'factory_install')
+# may have additional steps (ex, tweaking verity hash or not stripping files)
+# when generating output file.
+sign_image_file() {
+  local image_type="$1"
+  local input="$2"
+  local output="$3"
+  local dm_partno="$4"
+  local kernA_keyblock="$5"
+  local kernA_privkey="$6"
+  local kernB_keyblock="$7"
+  local kernB_privkey="$8"
+  local minios_keyblock="$9"
+  local minios_privkey="${10}"
+
+  info "Preparing ${image_type} image..."
+  cp --sparse=always "${input}" "${output}"
+
+  local loopdev=$(loopback_partscan "${output}")
+  local loop_kern="${loopdev}p${dm_partno}"
+  local loop_rootfs="${loopdev}p3"
+
+  resign_firmware_payload "${loopdev}"
+  remove_old_container_key "${loopdev}"
+  resign_android_image_if_exists "${loopdev}"
+  sign_uefi_binaries "${loopdev}"
+  # We do NOT strip /boot for factory installer, since some devices need it to
+  # boot EFI. crbug.com/260512 would obsolete this requirement.
+  #
+  # We also do NOT strip /boot for legacy BIOS or EFI devices.  This is because
+  # "cros_installer postinst" on BIOS or EFI systems relies on presence of
+  # /boot in rootfs to update kernel.  We infer the BIOS type from the kernel
+  # config.
+  local loop_kerna="${loopdev}p2"
+  local kerna_config="$(sudo ${FUTILITY} dump_kernel_config "${loop_kerna}")"
+  if [[ "${image_type}" != "factory_install" &&
+        " ${kerna_config} " != *" cros_legacy "* &&
+        " ${kerna_config} " != *" cros_efi "* ]]; then
+    "${SCRIPT_DIR}/strip_boot_from_image.sh" --image "${loop_rootfs}"
+  fi
+  update_rootfs_hash "${loopdev}" "${loop_kern}" \
+    "${kernA_keyblock}" "${kernA_privkey}" \
+    "${kernB_keyblock}" "${kernB_privkey}"
+  update_stateful_partition_vblock "${loopdev}"
+  if [[ "${image_type}" == "recovery" ]]; then
+    update_recovery_kernel_hash "${loopdev}"
+  fi
+  if ! resign_minios_kernels "${loopdev}" "${minios_keyblock}" \
+      "${minios_privkey}"; then
+    return 1
+  fi
+  if ! update_legacy_bootloader "${loopdev}" "${loop_kern}"; then
+    # Error is already logged.
+    return 1
+  fi
+  info "Signed ${image_type} image output to ${output}"
+}
+
+# Verification
+case ${TYPE} in
+dump_config)
+  check_argc $# 2
+  loopdev=$(loopback_partscan "${INPUT_IMAGE}")
+  for partnum in 2 4; do
+    info "kernel config in partition number ${partnum}:"
+    sudo ${FUTILITY} dump_kernel_config "${loopdev}p${partnum}"
+    echo
+  done
+  exit 0
+  ;;
+verify)
+  check_argc $# 2
+  verify_image
+  exit 0
+  ;;
+*)
+  # All other signing commands take 4 to 5 args.
+  if [ -z "${OUTPUT_IMAGE}" ]; then
+    # Friendlier message.
+    usage "Missing output image name"
+  fi
+  check_argc $# 4 5
+  ;;
+esac
+
+# If a version file was specified, read the firmware and kernel
+# versions from there.
+if [ -n "${VERSION_FILE}" ]; then
+  FIRMWARE_VERSION=$(sed -n 's#^firmware_version=\(.*\)#\1#pg' ${VERSION_FILE})
+  KERNEL_VERSION=$(sed -n 's#^kernel_version=\(.*\)#\1#pg' ${VERSION_FILE})
+fi
+info "Using firmware version: ${FIRMWARE_VERSION}"
+info "Using kernel version: ${KERNEL_VERSION}"
+
+# Make all modifications on output copy.
+if [[ "${TYPE}" == "base" ]]; then
+  sign_image_file "base" "${INPUT_IMAGE}" "${OUTPUT_IMAGE}" 2 \
+    "${KEY_DIR}/kernel.keyblock" \
+    "${KEY_DIR}/kernel_data_key.vbprivk" \
+    "${KEY_DIR}/kernel.keyblock" \
+    "${KEY_DIR}/kernel_data_key.vbprivk" \
+    "${KEY_DIR}/minios_kernel.keyblock" \
+    "${KEY_DIR}/minios_kernel_data_key.vbprivk"
+elif [[ "${TYPE}" == "recovery" ]]; then
+  sign_image_file "recovery" "${INPUT_IMAGE}" "${OUTPUT_IMAGE}" 4 \
+    "${KEY_DIR}/recovery_kernel.keyblock" \
+    "${KEY_DIR}/recovery_kernel_data_key.vbprivk" \
+    "${KEY_DIR}/kernel.keyblock" \
+    "${KEY_DIR}/kernel_data_key.vbprivk" \
+    "${KEY_DIR}/minios_kernel.keyblock" \
+    "${KEY_DIR}/minios_kernel_data_key.vbprivk"
+elif [[ "${TYPE}" == "factory" ]]; then
+  sign_image_file "factory_install" "${INPUT_IMAGE}" "${OUTPUT_IMAGE}" 2 \
+    "${KEY_DIR}/installer_kernel.keyblock" \
+    "${KEY_DIR}/installer_kernel_data_key.vbprivk" \
+    "${KEY_DIR}/kernel.keyblock" \
+    "${KEY_DIR}/kernel_data_key.vbprivk" \
+    "${KEY_DIR}/minios_kernel.keyblock" \
+    "${KEY_DIR}/minios_kernel_data_key.vbprivk"
+elif [[ "${TYPE}" == "firmware" ]]; then
+  if [[ -e "${KEY_DIR}/loem.ini" ]]; then
+    die "LOEM signing not implemented yet for firmware images"
+  fi
+  cp ${INPUT_IMAGE} ${OUTPUT_IMAGE}
+  sign_firmware ${OUTPUT_IMAGE} ${KEY_DIR} ${FIRMWARE_VERSION}
+elif [[ "${TYPE}" == "update_payload" ]]; then
+  sign_update_payload ${INPUT_IMAGE} ${KEY_DIR} ${OUTPUT_IMAGE}
+elif [[ "${TYPE}" == "accessory_usbpd" ]]; then
+  KEY_NAME="${KEY_DIR}/key_$(basename $(dirname ${INPUT_IMAGE}))"
+  if [[ ! -e "${KEY_NAME}.pem" ]]; then
+    KEY_NAME="${KEY_DIR}/key"
+  fi
+  cp "${INPUT_IMAGE}" "${OUTPUT_IMAGE}"
+  ${FUTILITY} sign --type usbpd1 --pem "${KEY_NAME}.pem" "${OUTPUT_IMAGE}"
+elif [[ "${TYPE}" == "accessory_rwsig" ]]; then
+  # If one key is present in this container, assume it's the right one.
+  # See crbug.com/863464
+  if [[ ! -e "${KEY_NAME}.vbprik2" ]]; then
+    KEYS=( "${KEY_DIR}"/*.vbprik2 )
+    if [[ ${#KEYS[@]} -eq 1 ]]; then
+      KEY_NAME="${KEYS[0]}"
+    else
+      die "Expected exactly one key present in keyset for accessory_rwsig"
+    fi
+  fi
+  cp "${INPUT_IMAGE}" "${OUTPUT_IMAGE}"
+  ${FUTILITY} sign --type rwsig --prikey "${KEY_NAME}" \
+           --version "${FIRMWARE_VERSION}" "${OUTPUT_IMAGE}"
+elif [[ "${TYPE}" == "gsc_firmware" ]]; then
+  sign_gsc_firmware "${INPUT_IMAGE}" "${KEY_DIR}" "${OUTPUT_IMAGE}"
+else
+  die "Invalid type ${TYPE}"
+fi
diff --git a/scripts/image_signing/sign_psp_verstagebl_fw.sh b/scripts/image_signing/sign_psp_verstagebl_fw.sh
new file mode 100755 (executable)
index 0000000..9d7fd87
--- /dev/null
@@ -0,0 +1,162 @@
+#!/bin/bash
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Abort on error.
+set -e -o pipefail
+
+# Determine script directory.
+SCRIPT_DIR=$(dirname "$0")
+
+# Load common constants and variables.
+. "${SCRIPT_DIR}/common.sh"
+
+usage() {
+  cat <<EOF
+Usage: ${PROG} <input_firmware> <key_dir> <output_firmware>
+
+Signs <input_firmware> with keys in <key_dir>. Outputs signed firmware to
+<output_firmware>.  The <input_firmware> and <output_firmware> paths should not
+be the same.
+
+For detail, reference the AMD documentation titled "OEM PSP VERSTAGE
+BL FW Signing Key Pair Generation and Certificate Request Process"
+http://dr/corp/drive/folders/1ySJyDgbH73W1lqrhxMvM9UYl5TtJt_mw
+
+EOF
+
+  if [[ $# -ne 0 ]]; then
+    echo "$*" >&2
+    exit 1
+  else
+    exit 0
+  fi
+}
+
+# Check the arguments to make sure we have the correct number.
+if [[ $# -lt 3 ]]; then
+  usage "Error: Too few arguments"
+fi
+if [[ $# -gt 3 ]]; then
+  usage "Error: Too many arguments"
+fi
+
+read_byte() {
+  local position="$1"
+  local file="$2"
+
+  dd if="${file}" bs=1 count=1 skip="$((16#${position}))" status=none |
+    hexdump -e '/1 "%X"'
+}
+
+write_byte() {
+  local position="$1"
+  local value="$2"
+  local file="$3"
+
+  printf "\x${value}" |
+    dd of="${file}" bs=1 count=1 seek="${position}" conv=notrunc status=none
+}
+
+read_dword_le() {
+  local position
+  position=$(printf -- "%d" "$1")
+  local file="$2"
+  read_byte "${position}" "${file}"
+  read_byte $((position + 1)) "${file}"
+  read_byte $((position + 2)) "${file}"
+  read_byte $((position + 3))
+}
+
+write_dword_le() {
+  local position
+  position=$(printf -- "%d" "$1")
+  local value
+  value=$(printf -- "%08x" "$2")
+  local file="$3"
+
+  write_byte "${position}" "${value:6:2}" "$file"
+  write_byte $((position + 1)) "${value:4:2}" "$file"
+  write_byte $((position + 2)) "${value:2:2}" "$file"
+  write_byte $((position + 3)) "${value:0:2}" "$file"
+}
+
+filesize() {
+  local file="$1"
+  stat -c %s -- "${file}"
+}
+
+copy_key_id() {
+  local input_file="$1"
+  local input_offset
+  input_offset=$(printf -- "%d" "$2")
+  local output_file="$3"
+  local output_offset
+  output_offset=$(printf -- "%d" "$4")
+
+  local id_size=16
+
+  dd if="${input_file}" skip="${input_offset}" \
+    of="${output_file}" seek="${output_offset}" \
+    bs=1 count="${id_size}" conv=notrunc status=none
+}
+
+KEYNAME=psp_verstagebl_fw_signing
+
+main() {
+  local input_firmware="$1"
+  local key_dir="$2"
+  local output_firmware="$3"
+
+  if [[ "${input_firmware}" == "${output_firmware}" ]]; then
+    usage "Error: input and output files must not be the same"
+  fi
+
+  local amd_key="${key_dir}/${KEYNAME}.stkn"
+  local hashtype
+  local sig_size
+  local temp_sig
+  local temp_fw
+  local fw_size
+  local image_size
+
+  temp_sig=$(make_temp_file)
+  temp_fw=$(make_temp_file)
+
+  # TODO: Differentiate sizes for Picasso vs later chips
+  hashtype="-sha256"
+  sig_size=256
+
+  fw_size="$(($(filesize "${input_firmware}")))"
+  fw_minus_header_size="$((fw_size - 256))"
+  image_size="$((fw_size + sig_size))"
+
+  cp "${input_firmware}" "${temp_fw}"
+
+  # Refer to Appendix D in the AMD BIOS Signing Key Pair and Certification
+  # Process document for what needs to be changed in the psp_verstage header.
+  write_dword_le "0x14" "${fw_minus_header_size}" "${temp_fw}"
+  write_dword_le "0x30" "1" "${temp_fw}"
+  write_dword_le "0x6c" "${image_size}" "${temp_fw}"
+
+  # TODO: Need the PSP verstage signing token from AMD to verify.
+  copy_key_id "${amd_key}" "0x04" "${temp_fw}" "0x38"
+
+  local cmd=(
+    openssl dgst
+    "${hashtype}"
+    -sign "${key_dir}/${KEYNAME}.pem"
+    -sigopt rsa_padding_mode:pss
+    -sigopt rsa_pss_saltlen:-1
+    -out "${temp_sig}"
+  )
+
+  "${cmd[@]}" "${temp_fw}"
+
+  cat "${temp_fw}" "${temp_sig}" >"${output_firmware}"
+
+  echo "Complete"
+}
+
+main "$@"
diff --git a/scripts/image_signing/sign_uefi.sh b/scripts/image_signing/sign_uefi.sh
new file mode 100755 (executable)
index 0000000..a053a4a
--- /dev/null
@@ -0,0 +1,113 @@
+#!/bin/bash
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+. "$(dirname "$0")/common.sh"
+
+set -e
+
+usage() {
+  cat <<EOF
+Usage: $PROG /path/to/target/dir /path/to/uefi/keys/dir efi_glob
+
+Sign the UEFI binaries in the target directory.
+The target directory can be either the root of ESP or /boot of root filesystem.
+EOF
+  if [[ $# -gt 0 ]]; then
+    error "$*"
+    exit 1
+  fi
+  exit 0
+}
+
+# Signs an EFI binary file, if possible.
+# Args: TARGET_FILE TEMP_DIR PRIVATE_KEY SIGN_CERT VERIFY_CERT
+sign_efi_file() {
+  local target="$1"
+  local temp_dir="$2"
+  local priv_key="$3"
+  local sign_cert="$4"
+  local verify_cert="$5"
+  if [[ -z "${verify_cert}" ]]; then
+    verify_cert="${sign_cert}"
+  fi
+
+  info "Signing efi file ${target}"
+  sudo sbattach --remove "${target}" || true
+  local signed_file="${temp_dir}/$(basename "${target}")"
+  sbsign --key="${priv_key}" --cert="${sign_cert}" \
+      --output="${signed_file}" "${target}" || warn "Cannot sign ${target}"
+  if [[ -f "${signed_file}" ]]; then
+    sudo cp -f "${signed_file}" "${target}"
+    sbverify --cert "${verify_cert}" "${target}" || die "Verification failed"
+  fi
+}
+
+main() {
+  local target_dir="$1"
+  local key_dir="$2"
+  local efi_glob="$3"
+
+  if [[ $# -ne 3 ]]; then
+    usage "command takes exactly 3 args"
+  fi
+
+  if ! type -P sbattach &>/dev/null; then
+    die "Cannot sign UEFI binaries (sbattach not found)."
+  fi
+  if ! type -P sbsign &>/dev/null; then
+    die "Cannot sign UEFI binaries (sbsign not found)."
+  fi
+  if ! type -P sbverify &>/dev/null; then
+    die "Cannot sign UEFI binaries (sbverify not found)."
+  fi
+
+  local bootloader_dir="${target_dir}/efi/boot"
+  local syslinux_dir="${target_dir}/syslinux"
+  local kernel_dir="${target_dir}"
+
+  local verify_cert="${key_dir}/db/db.pem"
+  if [[ ! -f "${verify_cert}" ]]; then
+    die "No verification cert: ${verify_cert}"
+  fi
+
+  local sign_cert="${key_dir}/db/db.children/db_child.pem"
+  if [[ ! -f "${sign_cert}" ]]; then
+    die "No signing cert: ${sign_cert}"
+  fi
+
+  local sign_key="${key_dir}/db/db.children/db_child.rsa"
+  if [[ ! -f "${sign_key}" ]]; then
+    die "No signing key: ${sign_key}"
+  fi
+
+  local working_dir="$(make_temp_dir)"
+
+  local efi_file
+  # Leave ${efi_glob} unquoted so that globbing occurs.
+  for efi_file in "${bootloader_dir}"/${efi_glob}; do
+    if [[ ! -f "${efi_file}" ]]; then
+      continue
+    fi
+    sign_efi_file "${efi_file}" "${working_dir}" \
+        "${sign_key}" "${sign_cert}" "${verify_cert}"
+  done
+
+  local syslinux_kernel_file
+  for syslinux_kernel_file in "${syslinux_dir}"/vmlinuz.?; do
+    if [[ ! -f "${syslinux_kernel_file}" ]]; then
+      continue
+    fi
+    sign_efi_file "${syslinux_kernel_file}" "${working_dir}" \
+        "${sign_key}" "${sign_cert}" "${verify_cert}"
+  done
+
+  local kernel_file="$(readlink -f "${kernel_dir}/vmlinuz")"
+  if [[ -f "${kernel_file}" ]]; then
+    sign_efi_file "${kernel_file}" "${working_dir}" \
+        "${sign_key}" "${sign_cert}" "${verify_cert}"
+  fi
+}
+
+main "$@"
diff --git a/scripts/image_signing/strip_boot_from_image.sh b/scripts/image_signing/strip_boot_from_image.sh
new file mode 100755 (executable)
index 0000000..0f36390
--- /dev/null
@@ -0,0 +1,66 @@
+#!/bin/bash
+
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script to remove /boot directory from an image.
+
+# Load common constants.  This should be the first executable line.
+# The path to common.sh should be relative to your script's location.
+. "$(dirname "$0")/common.sh"
+
+load_shflags
+
+DEFINE_string image "chromiumos_image.bin" \
+  "Input file name of Chrome OS image to strip /boot from, or path to rootfs."
+
+# Parse command line.
+FLAGS "$@" || exit 1
+eval set -- "${FLAGS_ARGV}"
+
+# Abort on error.
+set -e
+
+# Swiped/modifed from $SRC/src/scripts/base_library/base_image_util.sh.
+zero_free_space() {
+  local rootfs="$1"
+
+  info "Zeroing freespace in ${rootfs}"
+  sudo sfill -llz "${rootfs}"
+}
+
+
+strip_boot() {
+  local image=$1
+
+  local rootfs_dir=$(make_temp_dir)
+  if [[ -b "${image}" ]]; then
+    enable_rw_mount "${image}"
+    sudo mount "${image}" "${rootfs_dir}"
+    tag_as_needs_to_be_resigned "${rootfs_dir}"
+  else
+    # Mount image so we can modify it.
+    local loopdev=$(loopback_partscan "${image}")
+    mount_loop_image_partition "${loopdev}" 3 "${rootfs_dir}"
+  fi
+
+  sudo rm -rf "${rootfs_dir}/boot" &&
+    info "/boot directory was removed."
+
+  # To prevent the files we just removed from the FS from remaining as non-
+  # zero trash blocks that bloat payload sizes, need to zero them. This was
+  # done when the image was built, but needs to be repeated now that we've
+  # modified it in a non-trivial way.
+  zero_free_space "${rootfs_dir}"
+}
+
+IMAGE=$(readlink -f "${FLAGS_image}")
+if [[ ! -f "${IMAGE}" && ! -b "${IMAGE}" ]]; then
+  IMAGE=
+fi
+if [[ -z "${IMAGE}" ]]; then
+  die "Missing required argument: --from (image to update)"
+fi
+
+strip_boot "${IMAGE}"
diff --git a/scripts/image_signing/tag_image.sh b/scripts/image_signing/tag_image.sh
new file mode 100755 (executable)
index 0000000..fb9492e
--- /dev/null
@@ -0,0 +1,232 @@
+#!/bin/bash
+
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script to manipulate the tag files in the output of build_image
+
+# Load common constants.  This should be the first executable line.
+# The path to common.sh should be relative to your script's location.
+. "$(dirname "$0")/common.sh"
+
+load_shflags
+
+DEFINE_string from "chromiumos_image.bin" \
+  "Input file name of Chrome OS image to tag/stamp."
+DEFINE_string dev_mode "" \
+  "(build-info) Tag as a developer mode build (1 to enable, 0 to disable)"
+DEFINE_string update_firmware "" \
+  "(auto-update) Force updating firmware (1 to enable, 0 to disable)"
+DEFINE_string leave_firmware_alone "" \
+  "(auto-update) For BIOS development use ONLY (1 to enable, 0 to disable)"
+DEFINE_string leave_core "" \
+  "(crash-reporter) Leave core dumps (1 to enable, 0 to disable)"
+
+# Parameters for manipulating /etc/lsb-release.
+DEFINE_boolean remove_test_label false \
+  "(build-info) Remove 'test' suffix in /etc/lsb-release"
+DEFINE_boolean change_dev_to_beta false \
+  "(build-info) Change 'dev' -> 'beta' in /etc/lsb-release"
+
+
+# TODO(hungte) we can add factory_installer and factory_test,
+# but I don't see any reason to tweak/check these values.
+
+# Parse command line.
+FLAGS "$@" || exit 1
+eval set -- "${FLAGS_ARGV}"
+
+# Abort on error.
+set -e
+
+if [ -z "${FLAGS_from}" ] || [ ! -s "${FLAGS_from}" ] ; then
+  echo "Error: need a valid file by --from"
+  exit 1
+fi
+
+# Global variable to track if the image is modified.
+g_modified=${FLAGS_FALSE}
+
+# Processes (enable, disable, or simply report) a tag file.
+# Args: DO_MODIFICATION NAME ROOT TAG_FILE ACTION
+#
+# When DO_MODIFICATION=${FLAGS_TRUE},
+#  Creates (ACTION=1) the TAG_FILE in ROOT, or
+#  removes (ACTION=0) the TAG_FILE in ROOT, then
+#  reports the status (and change) to the tag file.
+# When DO_MODIFICATION=${FLAGS_FALSE},
+#  make a dry-run and only change ${g_modified}
+function process_tag() {
+  local tag_status_text=""
+  local do_modification="$1"
+  local name="$2"
+  local root="$3"
+  local tag_file_path="$3/$4"
+  local action="$5"
+  local do_enable=${FLAGS_FALSE}
+  local do_disable=${FLAGS_FALSE}
+
+  # only 1, 0, and "" are valid params to action.
+  case "${action}" in
+    "1" )
+      do_enable=${FLAGS_TRUE}
+      ;;
+    "0" )
+      do_disable=${FLAGS_TRUE}
+      ;;
+    "" )
+      ;;
+    * )
+      echo "Error: invalid param to ${name}: ${action} (must be 1 or 0)."
+      exit 1
+      ;;
+  esac
+
+  if [ -f "${tag_file_path}" ]; then
+    tag_status_text="ENABLED"
+    if [ "${do_disable}" = ${FLAGS_TRUE} ]; then
+      # disable the tag
+      if [ "${do_modification}" = ${FLAGS_TRUE} ]; then
+        sudo rm "${tag_file_path}"
+      fi
+      g_modified=${FLAGS_TRUE}
+      tag_status_text="${tag_status_text} => disabled"
+    elif [ "${do_disable}" != ${FLAGS_FALSE} ]; then
+      # internal error
+      echo "Internal error for tag ${name}: need disable param." 1>&2
+      exit 1
+    fi
+  else
+    tag_status_text="disabled"
+    if [ "${do_enable}" = ${FLAGS_TRUE} ]; then
+      # enable the tag
+      if [ "${do_modification}" = ${FLAGS_TRUE} ]; then
+        sudo touch "${tag_file_path}"
+      fi
+      g_modified=${FLAGS_TRUE}
+      tag_status_text="${tag_status_text} => ENABLED"
+    elif [ "${do_enable}" != ${FLAGS_FALSE} ]; then
+      # internal error
+      echo "Internal error for tag ${name}: need enable param." 1>&2
+      exit 1
+    fi
+  fi
+
+  # report tag status
+  if [ "${do_modification}" != ${FLAGS_TRUE} ]; then
+    echo "${name}: ${tag_status_text}"
+  fi
+}
+
+# Iterates all tags to a given partition root.
+# Args: ROOTFS DO_MODIFICATION
+#
+# Check process_tag for the meaning of parameters.
+process_all_tags() {
+  local rootfs="$1"
+  local do_modification="$2"
+
+  process_tag "${do_modification}" \
+    "(build-info) dev_mode" \
+    "${rootfs}" \
+    /root/.dev_mode \
+    "${FLAGS_dev_mode}"
+
+  process_tag "${do_modification}" \
+    "(auto-update) update_firmware" \
+    "${rootfs}" \
+    /root/.force_update_firmware \
+    "${FLAGS_update_firmware}"
+
+  process_tag "${do_modification}" \
+    "(auto-update) leave_firmware_alone" \
+    "${rootfs}" \
+    /root/.leave_firmware_alone \
+    "${FLAGS_leave_firmware_alone}"
+
+  process_tag "${do_modification}" \
+    "(crash-reporter) leave_core" \
+    "${rootfs}" \
+    /root/.leave_core \
+    "${FLAGS_leave_core}"
+}
+
+# Iterates through all options for manipulating the lsb-release.
+# Args: ROOTFS DO_MODIFICATION
+process_all_lsb_mods() {
+  local rootfs="$1"
+  local do_modifications="$2"
+  local lsb="${rootfs}/etc/lsb-release"
+  local sudo
+
+  if [ ! -w "${lsb}" ]; then
+    sudo="sudo"
+  fi
+
+  if [ ${FLAGS_remove_test_label} = ${FLAGS_TRUE} ]; then
+    if grep -wq "test" "${lsb}"; then
+      g_modified=${FLAGS_TRUE}
+    fi
+    if [ ${do_modifications} = ${FLAGS_TRUE} ]; then
+      ${sudo} sed -i 's/\btest\b//' "${lsb}" &&
+        restore_lsb_selinux "${lsb}" &&
+        echo "Test Label removed from /etc/lsb-release"
+    fi
+  fi
+
+  if [ ${FLAGS_change_dev_to_beta} = ${FLAGS_TRUE} ]; then
+    if grep -wq "dev" "${lsb}"; then
+      g_modified=${FLAGS_TRUE}
+    fi
+    if [ ${do_modifications} = ${FLAGS_TRUE} ]; then
+      ${sudo} sed -i 's/\bdev\b/beta/' "${lsb}" &&
+        restore_lsb_selinux "${lsb}" &&
+        echo "Dev Channel Label was changed to Beta"
+    fi
+  fi
+}
+
+
+IMAGE=$(readlink -f "${FLAGS_from}")
+if [[ -z "${IMAGE}" || ! -f "${IMAGE}" ]]; then
+  echo "Missing required argument: --from (image to update)"
+  usage
+  exit 1
+fi
+
+# First round, mount as read-only and check if we need any modifications.
+if [[ -d "${IMAGE}" ]]; then
+  rootfs="${IMAGE}"
+else
+  loopdev=$(loopback_partscan "${IMAGE}")
+  rootfs=$(make_temp_dir)
+  mount_loop_image_partition_ro "${loopdev}" 3 "${rootfs}"
+fi
+
+# we don't have tags in stateful partition yet...
+# stateful_dir=$(make_temp_dir)
+# mount_loop_image_partition "${loopdev}" 1 "${stateful_dir}"
+
+process_all_tags "${rootfs}" ${FLAGS_FALSE}
+process_all_lsb_mods "${rootfs}" ${FLAGS_FALSE}
+
+if [ ${g_modified} = ${FLAGS_TRUE} ]; then
+  # Remount as RW.  We can't use `mount -o rw,remount` because of the bits in
+  # the ext4 header we've set to block that.  See enable_rw_mount for details.
+  if [[ ! -d "${IMAGE}" ]]; then
+    sudo umount "${rootfs}"
+    mount_loop_image_partition "${loopdev}" 3 "${rootfs}"
+  fi
+
+  # second round, apply the modification to image.
+  process_all_tags "${rootfs}" ${FLAGS_TRUE}
+  process_all_lsb_mods "${rootfs}" ${FLAGS_TRUE}
+
+  # This is supposed to be automatically done in mount_loop_image_partition,
+  # but it's no harm to explicitly make it again here.
+  tag_as_needs_to_be_resigned "${rootfs}"
+  echo "IMAGE IS MODIFIED. PLEASE REMEMBER TO RESIGN YOUR IMAGE."
+else
+  echo "Image is not modified."
+fi
diff --git a/scripts/image_signing/verify_uefi.sh b/scripts/image_signing/verify_uefi.sh
new file mode 100755 (executable)
index 0000000..0d30511
--- /dev/null
@@ -0,0 +1,87 @@
+#!/bin/bash
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+. "$(dirname "$0")/common.sh"
+
+set -e
+
+usage() {
+  cat <<EOF
+Usage: $PROG /path/to/target/dir /path/to/esp/dir /path/to/uefi/keys/dir
+
+Verify signatures of UEFI binaries in the target directory.
+EOF
+  if [[ $# -gt 0 ]]; then
+    error "$*"
+    exit 1
+  fi
+  exit 0
+}
+
+main() {
+  local target_dir="$1"
+  local esp_dir="$2"
+  local key_dir="$3"
+
+  if [[ $# -ne 3 ]]; then
+    usage "command takes exactly 3 args"
+  fi
+
+  if ! type -P sbverify &>/dev/null; then
+    die "Cannot verify UEFI signatures (sbverify not found)."
+  fi
+
+  local bootloader_dir="${target_dir}/efi/boot"
+  local syslinux_dir="${target_dir}/syslinux"
+  local kernel_dir="${target_dir}"
+  local gsetup_dir="${esp_dir}/EFI/Google/GSetup"
+
+  if [[ ! -f "${gsetup_dir}/pk/pk.der" ]]; then
+    die "No PK cert"
+  fi
+
+  local db_cert_der="${gsetup_dir}/db/db.der"
+  if [[ ! -f "${db_cert_der}" ]]; then
+    die "No DB cert"
+  fi
+
+  local cert="${key_dir}/db/db.pem"
+
+  local working_dir="$(make_temp_dir)"
+  local gsetup_cert="${working_dir}/cert.pem"
+  openssl x509 -in "${db_cert_der}" -inform DER \
+      -out "${gsetup_cert}" -outform PEM
+
+  for efi_file in "${bootloader_dir}"/*.efi; do
+    if [[ ! -f "${efi_file}" ]]; then
+      continue
+    fi
+    sbverify --cert "${cert}" "${efi_file}" ||
+        die "Verification failed. file:${efi_file} cert:${cert}"
+    sbverify --cert "${gsetup_cert}" "${efi_file}" ||
+        die "Verification failed. file:${efi_file} cert:${gsetup_cert}"
+  done
+
+  for syslinux_kernel_file in "${syslinux_dir}"/vmlinuz.?; do
+    if [[ ! -f "${syslinux_kernel_file}" ]]; then
+      continue
+    fi
+    sbverify --cert "${cert}" "${syslinux_kernel_file}" ||
+        warn "Verification failed. file:${syslinux_kernel_file} cert:${cert}"
+    sbverify --cert "${gsetup_cert}" "${syslinux_kernel_file}" ||
+        warn "Verification failed. file:${syslinux_kernel_file}" \
+            "cert:${gsetup_cert}"
+  done
+
+  local kernel_file="$(readlink -f "${kernel_dir}/vmlinuz")"
+  if [[ -f "${kernel_file}" ]]; then
+    sbverify --cert "${cert}" "${kernel_file}" ||
+        warn "Verification failed: file:${kernel_file} cert:${cert}"
+    sbverify --cert "${gsetup_cert}" "${kernel_file}" ||
+        warn "Verification failed: file:${kernel_file} cert:${gsetup_cert}"
+  fi
+}
+
+main "$@"
diff --git a/scripts/image_signing/versions.default b/scripts/image_signing/versions.default
new file mode 100644 (file)
index 0000000..1fefcb3
--- /dev/null
@@ -0,0 +1,7 @@
+# sign_official_build.sh can (optionally) take a file name from which to read
+# firmware and kernel versions to set during the signing process.
+
+# This is a sample version file template.
+
+firmware_version=1
+kernel_version=1
diff --git a/scripts/keygeneration/accessory/common_leverage_hammer.sh b/scripts/keygeneration/accessory/common_leverage_hammer.sh
new file mode 100644 (file)
index 0000000..1e0f712
--- /dev/null
@@ -0,0 +1,69 @@
+#!/bin/bash
+
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Load common constants and functions.
+. "$(dirname "$0")/../common.sh"
+
+usage() {
+  cat <<EOF
+Usage: ${PROG} [options]
+
+Options:
+  -o, --output_dir <dir>:    Where to write the keys (default is cwd)
+EOF
+
+  if [[ $# -ne 0 ]]; then
+    die "$*"
+  else
+    exit 0
+  fi
+}
+
+generate_rsa3072_exp3_key() {
+  local output_dir="$1"
+  local key_name="$2"
+
+  # Generate RSA key.
+  openssl genrsa -3 -out "${output_dir}/temp.pem" 3072
+
+  # Create a keypair from an RSA .pem file generated above.
+  futility create "${output_dir}/temp.pem" "${output_dir}/key_${key_name}"
+
+  # Best attempt to securely delete the temp.pem file.
+  shred --remove "${output_dir}/temp.pem"
+}
+
+# To generate a keypair with the same algorithm of Hammer and rename the kepair
+# to specific accessory's name.
+leverage_hammer_to_create_key() {
+  local output_dir="${PWD}"
+  local key_name="$1"
+  shift
+
+  while [[ $# -gt 0 ]]; do
+    case "$1" in
+    -h|--help)
+      usage
+      ;;
+    -o|--output_dir)
+      output_dir="$2"
+      if [[ ! -d "${output_dir}" ]]; then
+        die "output dir ("${output_dir}") doesn't exist."
+      fi
+      shift
+      ;;
+    -*)
+      usage "Unknown option: "$1""
+      ;;
+    *)
+      usage "Unknown argument "$1""
+      ;;
+    esac
+    shift
+  done
+
+  generate_rsa3072_exp3_key "${output_dir}" "${key_name}"
+}
diff --git a/scripts/keygeneration/accessory/create_new_ec_efs_key.sh b/scripts/keygeneration/accessory/create_new_ec_efs_key.sh
new file mode 100755 (executable)
index 0000000..54725e2
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Load common constants and functions.
+. "$(dirname "$0")/common_leverage_hammer.sh"
+
+main() {
+  set -e
+
+  leverage_hammer_to_create_key "ec_efs" "$@"
+}
+
+main "$@"
diff --git a/scripts/keygeneration/accessory/create_new_hammer_like_keys.sh b/scripts/keygeneration/accessory/create_new_hammer_like_keys.sh
new file mode 100755 (executable)
index 0000000..3d5c96e
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Load common constants and functions.
+. "$(dirname "$0")/common_leverage_hammer.sh"
+
+main() {
+  set -e
+
+  leverage_hammer_to_create_key "hammerlike" "$@"
+}
+
+main "$@"
diff --git a/scripts/keygeneration/add_loem_keys.sh b/scripts/keygeneration/add_loem_keys.sh
new file mode 100755 (executable)
index 0000000..4cf8f4c
--- /dev/null
@@ -0,0 +1,83 @@
+#!/bin/bash
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Load common constants and functions.
+. "$(dirname "$0")/common.sh"
+
+usage() {
+  cat <<EOF
+Usage: ${PROG} <number of loem keys to add>
+
+If the existing keyset is not set up for loem usage, it will be converted.
+
+Note: Use 0 if you want to just convert an existing keyset.
+EOF
+  exit ${1:-0}
+}
+
+convert_keyset_to_loem() {
+  local f
+
+  printf "Converting to loem keyset; continue? (y/N) "
+  read f
+  [[ ${f} == [yY] ]]
+
+  for f in {firmware_data,root}_key.vb{pub,priv}k firmware.keyblock; do
+    if [[ ${f} == "root_key.vbprivk" && ! -e ${f} ]]; then
+      # For official keys, we won't have the private half of the root key.
+      echo "Skipping ${f} for official keys"
+      continue
+    fi
+    if [[ ${f} == *.vbprivk && ! -e ${f} ]]; then
+      # For official keys, will be gpg wrapped.
+      f+=".gpg"
+    fi
+    mv -i "${f}" "${f/./.loem1.}"
+  done
+
+  echo "[loem]" > loem.ini
+}
+
+main() {
+  set -e -u
+
+  if [[ $# -ne 1 || $1 == -* ]]; then
+    usage
+  fi
+
+  # Keep `local` and assignment split so return values are checked.
+  local firmware_key_version
+  local num_keys highest_key k
+
+  if [[ ! -e ${VERSION_FILE} ]]; then
+    die "missing ${VERSION_FILE} in ${PWD}; please create one"
+  fi
+
+  firmware_key_version=$(get_version "firmware_key_version")
+
+  # See if we need to convert the keyset first.
+  if [[ -e root_key.vbpubk ]]; then
+    convert_keyset_to_loem
+  fi
+
+  num_keys=$1
+  highest_key=$(printf '%s\n' firmware.loem*.keyblock |
+                sed -r 's:firmware.loem(.*).keyblock:\1:' |
+                sort -n | tail -1)
+  echo "There are ${highest_key} loem keys; adding ${num_keys} more"
+
+  for ((k = highest_key + 1; k < highest_key + 1 + num_keys; ++k)); do
+    echo "Generating LOEM ${k}"
+    make_pair root_key.loem${k} ${ROOT_KEY_ALGOID}
+    make_pair firmware_data_key.loem${k} ${FIRMWARE_DATAKEY_ALGOID} \
+      ${firmware_key_version}
+    make_keyblock firmware.loem${k} ${FIRMWARE_KEYBLOCK_MODE} \
+      firmware_data_key.loem${k} root_key.loem${k}
+  done
+
+  echo
+  echo "Don't forget to update loem.ini to allocate the keys!"
+}
+main "$@"
diff --git a/scripts/keygeneration/common.sh b/scripts/keygeneration/common.sh
new file mode 100644 (file)
index 0000000..af6cd71
--- /dev/null
@@ -0,0 +1,289 @@
+#!/bin/bash
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Common key generation functions.
+
+SCRIPT_DIR="$(dirname "$(readlink -f -- "$0")")"
+PROG=$(basename "$0")
+CROS_LOG_PREFIX="${PROG}: "
+
+# Prints an informational message.
+info() {
+  echo "${CROS_LOG_PREFIX}INFO: $*" >&2
+}
+
+# Prints a warning message.
+warn() {
+  echo "${CROS_LOG_PREFIX}WARNING: $*" >&2
+}
+
+# Prints an error message.
+error() {
+  echo "${CROS_LOG_PREFIX}ERROR: $*" >&2
+}
+
+# Print an error message and then exit the script.
+die() {
+  error "$@"
+  exit 1
+}
+
+# Algorithm ID mappings:
+RSA1024_SHA1_ALGOID=0
+RSA1024_SHA256_ALGOID=1
+RSA1024_SHA512_ALGOID=2
+RSA2048_SHA1_ALGOID=3
+RSA2048_SHA256_ALGOID=4
+RSA2048_SHA512_ALGOID=5
+RSA4096_SHA1_ALGOID=6
+RSA4096_SHA256_ALGOID=7
+RSA4096_SHA512_ALGOID=8
+RSA8192_SHA1_ALGOID=9
+RSA8192_SHA256_ALGOID=10
+RSA8192_SHA512_ALGOID=11
+alg_to_keylen() {
+  echo $(( 1 << (10 + ($1 / 3)) ))
+}
+
+# Default algorithms.
+EC_ROOT_KEY_ALGOID=${RSA4096_SHA256_ALGOID}
+EC_DATAKEY_ALGOID=${RSA4096_SHA256_ALGOID}
+
+ROOT_KEY_ALGOID=${RSA4096_SHA512_ALGOID}
+RECOVERY_KEY_ALGOID=${RSA4096_SHA512_ALGOID}
+
+FIRMWARE_DATAKEY_ALGOID=${RSA4096_SHA256_ALGOID}
+DEV_FIRMWARE_DATAKEY_ALGOID=${RSA4096_SHA256_ALGOID}
+
+RECOVERY_KERNEL_ALGOID=${RSA4096_SHA512_ALGOID}
+MINIOS_KERNEL_ALGOID=${RSA4096_SHA512_ALGOID}
+INSTALLER_KERNEL_ALGOID=${RSA4096_SHA512_ALGOID}
+KERNEL_SUBKEY_ALGOID=${RSA4096_SHA256_ALGOID}
+KERNEL_DATAKEY_ALGOID=${RSA2048_SHA256_ALGOID}
+
+# AP RO Verification.
+ARV_ROOT_ALGOID=${RSA4096_SHA256_ALGOID}
+ARV_PLATFORM_ALGOID=${RSA4096_SHA256_ALGOID}
+
+# Keyblock modes determine which boot modes a signing key is valid for use
+# in verification.
+#    !DEV 0x1      DEV 0x2
+#    !REC 0x4      REC 0x8
+# !MINIOS 0x10  MINIOS 0x20
+# Note that firmware keyblock modes are not used.  Consider deprecating.
+
+# Only allow RW EC firmware in non-recovery + non-miniOS.
+EC_KEYBLOCK_MODE=$((0x1 | 0x2 | 0x4 | 0x10))
+# Only allow RW firmware in non-recovery + non-miniOS.
+FIRMWARE_KEYBLOCK_MODE=$((0x1 | 0x2 | 0x4 | 0x10))
+# Only allow in dev mode + non-recovery + non-miniOS.
+DEV_FIRMWARE_KEYBLOCK_MODE=$((0x2 | 0x4 | 0x10))
+# Only allow in recovery mode + non-miniOS.
+RECOVERY_KERNEL_KEYBLOCK_MODE=$((0x1 | 0x2 | 0x8 | 0x10))
+# Only allow in recovery mode + miniOS.
+MINIOS_KERNEL_KEYBLOCK_MODE=$((0x1 | 0x2 | 0x8 | 0x20))
+# Only allow in non-recovery + non-miniOS.
+KERNEL_KEYBLOCK_MODE=$((0x1 | 0x2 | 0x4 | 0x10))
+# Only allow in dev + recovery + non-miniOS.
+INSTALLER_KERNEL_KEYBLOCK_MODE=$((0x2 | 0x8 | 0x10))
+
+# Emit .vbpubk and .vbprivk using given basename and algorithm
+# NOTE: This function also appears in ../../utility/dev_make_keypair. Making
+# the two implementations the same would require some common.sh, which is more
+# likely to cause problems than just keeping an eye out for any differences. If
+# you feel the need to change this file, check the history of that other file
+# to see what may need updating here too.
+make_pair() {
+  local base=$1
+  local alg=$2
+  local key_version=${3:-1}
+  local len=$(alg_to_keylen $alg)
+
+  echo "creating $base keypair (version = $key_version)..."
+
+  # make the RSA keypair
+  openssl genrsa -F4 -out "${base}_${len}.pem" $len
+  # create a self-signed certificate
+  openssl req -batch -new -x509 -key "${base}_${len}.pem" \
+    -out "${base}_${len}.crt"
+  # generate pre-processed RSA public key
+  dumpRSAPublicKey -cert "${base}_${len}.crt" > "${base}_${len}.keyb"
+
+  # wrap the public key
+  vbutil_key \
+    --pack "${base}.vbpubk" \
+    --key "${base}_${len}.keyb" \
+    --version  "${key_version}" \
+    --algorithm $alg
+
+  # wrap the private key
+  vbutil_key \
+    --pack "${base}.vbprivk" \
+    --key "${base}_${len}.pem" \
+    --algorithm $alg
+
+  # remove intermediate files
+  rm -f "${base}_${len}.pem" "${base}_${len}.crt" "${base}_${len}.keyb"
+}
+
+# Used to generate keys for signing update payloads.
+make_au_payload_key() {
+  local dir=$1
+  local priv="${dir}/update_key.pem"
+  local pub="${dir}/update-payload-key-pub.pem"
+  openssl genrsa -out "${priv}" 2048
+  openssl rsa -pubout -in "${priv}" -out "${pub}"
+}
+
+# Emit a .keyblock containing flags and a public key, signed by a private key
+# flags are the bitwise OR of these (passed in decimal, though)
+#   0x01  Developer switch off
+#   0x02  Developer switch on
+#   0x04  Not recovery mode
+#   0x08  Recovery mode
+#   0x10  Not miniOS mode
+#   0x20  miniOS mode
+make_keyblock() {
+  local base=$1
+  local flags=$2
+  local pubkey=$3
+  local signkey=$4
+
+  echo "creating $base keyblock..."
+
+  # create it
+  vbutil_keyblock \
+    --pack "${base}.keyblock" \
+    --flags $flags \
+    --datapubkey "${pubkey}.vbpubk" \
+    --signprivate "${signkey}.vbprivk"
+
+  # verify it
+  vbutil_keyblock \
+    --unpack "${base}.keyblock" \
+    --signpubkey "${signkey}.vbpubk"
+}
+
+# File to read current versions from.
+VERSION_FILE="key.versions"
+
+# ARGS: <VERSION_TYPE> [VERSION_FILE]
+get_version() {
+  local key="$1"
+  local file="${2:-${VERSION_FILE}}"
+  awk -F= -vkey="${key}" '$1 == key { print $NF }' "${file}"
+}
+
+# Loads the current versions prints them to stdout and sets the global version
+# variables: CURR_FIRMKEY_VER CURR_FIRM_VER CURR_KERNKEY_VER CURR_KERN_VER
+load_current_versions() {
+  local key_dir=$1
+  local VERSION_FILE="${key_dir}/${VERSION_FILE}"
+  if [[ ! -f ${VERSION_FILE} ]]; then
+    return 1
+  fi
+  CURR_FIRMKEY_VER=$(get_version "firmware_key_version")
+  # Firmware version is the kernel subkey version.
+  CURR_FIRM_VER=$(get_version "firmware_version")
+  # Kernel data key version is the kernel key version.
+  CURR_KERNKEY_VER=$(get_version "kernel_key_version")
+  CURR_KERN_VER=$(get_version "kernel_version")
+
+  cat <<EOF
+Current Firmware key version: ${CURR_FIRMKEY_VER}
+Current Firmware version: ${CURR_FIRM_VER}
+Current Kernel key version: ${CURR_KERNKEY_VER}
+Current Kernel version: ${CURR_KERN_VER}
+EOF
+}
+
+# Make backups of existing kernel subkeys and keyblocks that will be revved.
+# Backup format:
+# for keyblocks: <keyblock_name>.v<datakey version>.v<subkey version>.keyblock
+# Args: SUBKEY_VERSION DATAKEY_VERSION
+backup_existing_kernel_keyblock() {
+  if [[ ! -e kernel.keyblock ]]; then
+    return
+  fi
+  mv --no-clobber kernel.{keyblock,"v$2.v$1.keyblock"}
+}
+
+# Make backups of existing kernel subkeys and keyblocks that will be revved.
+# Backup format:
+# for keys: <key_name>.v<version>.vb{pub|priv}k
+# for keyblocks: <keyblock_name>.v<datakey version>.v<subkey version>.keyblock
+# Args: SUBKEY_VERSION DATAKEY_VERSION
+backup_existing_kernel_subkeys() {
+  local subkey_ver=$1
+  local datakey_ver=$2
+  # --no-clobber to prevent accidentally overwriting existing
+  # backups.
+  mv --no-clobber kernel_subkey.{vbprivk,"v${subkey_ver}.vbprivk"}
+  mv --no-clobber kernel_subkey.{vbpubk,"v${subkey_ver}.vbpubk"}
+  backup_existing_kernel_keyblock ${subkey_ver} ${datakey_ver}
+}
+
+# Make backups of existing kernel data keys and keyblocks that will be revved.
+# Backup format:
+# for keys: <key_name>.v<version>.vb{pub|priv}k
+# for keyblocks: <keyblock_name>.v<datakey version>.v<subkey version>.keyblock
+# Args: SUBKEY_VERSION DATAKEY_VERSION
+backup_existing_kernel_data_keys() {
+  local subkey_ver=$1
+  local datakey_ver=$2
+  # --no-clobber to prevent accidentally overwriting existing
+  # backups.
+  mv --no-clobber kernel_data_key.{vbprivk,"v${datakey_ver}.vbprivk"}
+  mv --no-clobber kernel_data_key.{vbpubk,"v${datakey_ver}.vbpubk"}
+  backup_existing_kernel_keyblock ${subkey_ver} ${datakey_ver}
+}
+
+# Make backups of existing firmware keys and keyblocks that will be revved.
+# Backup format:
+# for keys: <key_name>.v<version>.vb{pub|priv}k
+# for keyblocks: <keyblock_name>.v<datakey version>.v<subkey version>.keyblock
+# Args: SUBKEY_VERSION DATAKEY_VERSION
+backup_existing_firmware_keys() {
+  local subkey_ver=$1
+  local datakey_ver=$2
+  mv --no-clobber firmware_data_key.{vbprivk,"v${subkey_ver}.vbprivk"}
+  mv --no-clobber firmware_data_key.{vbpubk,"v${subkey_ver}.vbpubk"}
+  mv --no-clobber firmware.{keyblock,"v${datakey_ver}.v${subkey_ver}.keyblock"}
+}
+
+
+# Write new key version file with the updated key versions.
+# Args: FIRMWARE_KEY_VERSION FIRMWARE_VERSION KERNEL_KEY_VERSION
+#       KERNEL_VERSION
+write_updated_version_file() {
+  local firmware_key_version=$1
+  local firmware_version=$2
+  local kernel_key_version=$3
+  local kernel_version=$4
+
+  cat > ${VERSION_FILE} <<EOF
+firmware_key_version=${firmware_key_version}
+firmware_version=${firmware_version}
+kernel_key_version=${kernel_key_version}
+kernel_version=${kernel_version}
+EOF
+}
+
+# Returns the incremented version number of the passed in key from the version
+# file.  The options are "firmware_key_version", "firmware_version",
+# "kernel_key_version", or "kernel_version".
+# ARGS: KEY_DIR <key_name>
+increment_version() {
+  local key_dir=$1
+  local VERSION_FILE="${key_dir}/${VERSION_FILE}"
+  local old_version=$(get_version $2)
+  local new_version=$(( ${old_version} + 1 ))
+
+  if [[ ${new_version} -gt 0xffff ]]; then
+    echo "Version overflow!" >&2
+    return 1
+  fi
+  echo ${new_version}
+}
diff --git a/scripts/keygeneration/create_new_android_keys.sh b/scripts/keygeneration/create_new_android_keys.sh
new file mode 100755 (executable)
index 0000000..9701d41
--- /dev/null
@@ -0,0 +1,93 @@
+#!/bin/bash
+
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Load common constants and functions.
+. "$(dirname "$0")/common.sh"
+
+usage() {
+  cat <<EOF
+Usage: ${PROG} [FLAGS] DIR
+
+Generate Android's set of framework key pairs at DIR.  For detail, please refer
+to "Certificates and private keys" and "Manually generating keys" in
+https://source.android.com/devices/tech/ota/sign_builds.html.
+
+FLAGS:
+  --rotate-from  Directory containing a set of old key pairs to rotate from
+EOF
+
+  if [[ $# -ne 0 ]]; then
+    die "$*"
+  else
+    exit 0
+  fi
+}
+
+# Use the same SUBJECT used in Nexus.
+SUBJECT='/C=US/ST=California/L=Mountain View/O=Google Inc./OU=Android/CN=Android'
+
+# Generate .pk8 and .x509.pem at the given directory.
+make_pair() {
+  local dir=$1
+  local name=$2
+
+  # Generate RSA key.
+  openssl genrsa -3 -out "${dir}/temp.pem" 2048
+
+  # Create a certificate with the public part of the key.
+  openssl req -new -x509 -key "${dir}/temp.pem" -out "${dir}/${name}.x509.pem" \
+    -days 10000 -subj "${SUBJECT}"
+
+  # Create a PKCS#8-formatted version of the private key.
+  openssl pkcs8 -in "${dir}/temp.pem" -topk8 -outform DER \
+    -out "${dir}/${name}.pk8" -nocrypt
+
+  # Best attempt to securely delete the temp.pem file.
+  shred --remove "${dir}/temp.pem"
+}
+
+main() {
+  set -e
+
+  local dir
+  local old_dir
+
+  while [[ $# -gt 0 ]]; do
+    case $1 in
+    -h|--help)
+      usage
+      ;;
+    --rotate-from)
+      old_dir="$2"
+      shift 2
+      ;;
+    -*)
+      usage "Unknown option: $1"
+      ;;
+    *)
+      break
+      ;;
+    esac
+  done
+
+  if [[ $# -ne 1 ]]; then
+    usage "Missing output directory"
+  fi
+  dir=$1
+
+  for name in platform shared media releasekey networkstack; do
+    make_pair "${dir}" "${name}"
+
+    if [ -d "${old_dir}" ]; then
+      apksigner rotate --out "${dir}/${name}.lineage" \
+        --old-signer --key "${old_dir}/${name}.pk8" \
+            --cert "${old_dir}/${name}.x509.pem" \
+        --new-signer --key "${dir}/${name}.pk8" --cert "${dir}/${name}.x509.pem"
+    fi
+  done
+}
+
+main "$@"
diff --git a/scripts/keygeneration/create_new_keys.sh b/scripts/keygeneration/create_new_keys.sh
new file mode 100755 (executable)
index 0000000..2e1fd22
--- /dev/null
@@ -0,0 +1,219 @@
+#!/bin/bash
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Generate .vbpubk and .vbprivk pairs for use by developer builds. These should
+# be exactly like the real keys except that the private keys aren't secret.
+
+# Load common constants and functions.
+. "$(dirname "$0")/common.sh"
+
+usage() {
+  cat <<EOF
+Usage: ${PROG} [options]
+
+Options:
+  --devkeyblock          Also generate developer firmware keyblock and data key
+  --android              Also generate android keys
+  --uefi                 Also generate UEFI keys
+  --8k                   Use 8k keys instead of 4k (enables options below)
+  --8k-root              Use 8k key size for the root key
+  --8k-recovery          Use 8k key size for the recovery key
+  --8k-recovery-kernel   Use 8k key size for the recovery kernel data
+  --8k-installer-kernel  Use 8k key size for the installer kernel data
+  --key-name <name>      Name of the keyset (for key.versions)
+  --output <dir>         Where to write the keys (default is cwd)
+EOF
+
+  if [[ $# -ne 0 ]]; then
+    die "unknown option $*"
+  else
+    exit 0
+  fi
+}
+
+main() {
+  set -e
+
+  # Flag to indicate whether we should be generating a developer keyblock flag.
+  local dev_keyblock="false"
+  local android_keys="false"
+  local uefi_keys="false"
+  local root_key_algoid=${ROOT_KEY_ALGOID}
+  local recovery_key_algoid=${RECOVERY_KEY_ALGOID}
+  local recovery_kernel_algoid=${RECOVERY_KERNEL_ALGOID}
+  local minios_kernel_algoid=${MINIOS_KERNEL_ALGOID}
+  local installer_kernel_algoid=${INSTALLER_KERNEL_ALGOID}
+  local keyname
+  local output_dir="${PWD}" setperms="false"
+
+  while [[ $# -gt 0 ]]; do
+    case $1 in
+    --devkeyblock)
+      echo "Will also generate developer firmware keyblock and data key."
+      dev_keyblock="true"
+      ;;
+
+    --android)
+      echo "Will also generate Android keys."
+      android_keys="true"
+      ;;
+
+    --uefi)
+      echo "Will also generate UEFI keys."
+      uefi_keys="true"
+      ;;
+
+    --8k)
+      root_key_algoid=${RSA8192_SHA512_ALGOID}
+      recovery_key_algoid=${RSA8192_SHA512_ALGOID}
+      recovery_kernel_algoid=${RSA8192_SHA512_ALGOID}
+      installer_kernel_algoid=${RSA8192_SHA512_ALGOID}
+      ;;
+    --8k-root)
+      root_key_algoid=${RSA8192_SHA512_ALGOID}
+      ;;
+    --8k-recovery)
+      recovery_key_algoid=${RSA8192_SHA512_ALGOID}
+      ;;
+    --8k-recovery-kernel)
+      recovery_kernel_algoid=${RSA8192_SHA512_ALGOID}
+      ;;
+    --8k-installer-kernel)
+      installer_kernel_algoid=${RSA8192_SHA512_ALGOID}
+      ;;
+
+    --4k)
+      root_key_algoid=${RSA4096_SHA512_ALGOID}
+      recovery_key_algoid=${RSA4096_SHA512_ALGOID}
+      recovery_kernel_algoid=${RSA4096_SHA512_ALGOID}
+      installer_kernel_algoid=${RSA4096_SHA512_ALGOID}
+      ;;
+    --4k-root)
+      root_key_algoid=${RSA4096_SHA512_ALGOID}
+      ;;
+    --4k-recovery)
+      recovery_key_algoid=${RSA4096_SHA512_ALGOID}
+      ;;
+    --4k-recovery-kernel)
+      recovery_kernel_algoid=${RSA4096_SHA512_ALGOID}
+      ;;
+    --4k-installer-kernel)
+      installer_kernel_algoid=${RSA4096_SHA512_ALGOID}
+      ;;
+
+    --key-name)
+      keyname="$2"
+      shift
+      ;;
+
+    --output)
+      output_dir="$2"
+      setperms="true"
+      if [[ -d "${output_dir}" ]]; then
+        die "output dir (${output_dir}) already exists"
+      fi
+      shift
+      ;;
+
+    -h|--help)
+      usage
+      ;;
+    *)
+      usage "$1"
+      ;;
+    esac
+    shift
+  done
+
+  mkdir -p "${output_dir}"
+  cd "${output_dir}"
+  if [[ "${setperms}" == "true" ]]; then
+    chmod 700 .
+  fi
+
+  if [[ ! -e "${VERSION_FILE}" ]]; then
+    echo "No version file found. Creating default ${VERSION_FILE}."
+    (
+      if [[ -n "${keyname}" ]]; then
+        echo "name=${keyname}"
+      fi
+      printf '%s_version=1\n' {firmware,kernel}{_key,}
+    ) > "${VERSION_FILE}"
+  fi
+
+  local eckey_version fkey_version ksubkey_version kdatakey_version
+
+  # Get the key versions for normal keypairs
+  eckey_version=$(get_version "ec_key_version")
+  fkey_version=$(get_version "firmware_key_version")
+  # Firmware version is the kernel subkey version.
+  ksubkey_version=$(get_version "firmware_version")
+  # Kernel data key version is the kernel key version.
+  kdatakey_version=$(get_version "kernel_key_version")
+
+  # Create the normal keypairs
+  make_pair ec_root_key              ${EC_ROOT_KEY_ALGOID}
+  make_pair ec_data_key              ${EC_DATAKEY_ALGOID} ${eckey_version}
+  make_pair root_key                 ${root_key_algoid}
+  make_pair firmware_data_key        ${FIRMWARE_DATAKEY_ALGOID} ${fkey_version}
+  if [[ "${dev_keyblock}" == "true" ]]; then
+    make_pair dev_firmware_data_key    ${DEV_FIRMWARE_DATAKEY_ALGOID} ${fkey_version}
+  fi
+  make_pair kernel_subkey            ${KERNEL_SUBKEY_ALGOID} ${ksubkey_version}
+  make_pair kernel_data_key          ${KERNEL_DATAKEY_ALGOID} ${kdatakey_version}
+
+  # Create the recovery and factory installer keypairs
+  make_pair recovery_key             ${recovery_key_algoid}
+  make_pair recovery_kernel_data_key ${recovery_kernel_algoid}
+  make_pair minios_kernel_data_key   ${minios_kernel_algoid}
+  make_pair installer_kernel_data_key ${installer_kernel_algoid}
+  make_pair arv_root ${ARV_ROOT_ALGOID}
+  make_pair arv_platform ${ARV_PLATFORM_ALGOID}
+
+  # Create the firmware keyblock for use only in Normal mode. This is redundant,
+  # since it's never even checked during Recovery mode.
+  make_keyblock firmware ${FIRMWARE_KEYBLOCK_MODE} firmware_data_key root_key
+  # Ditto EC keyblock
+  make_keyblock ec ${EC_KEYBLOCK_MODE} ec_data_key ec_root_key
+
+  if [[ "${dev_keyblock}" == "true" ]]; then
+    # Create the dev firmware keyblock for use only in Developer mode.
+    make_keyblock dev_firmware ${DEV_FIRMWARE_KEYBLOCK_MODE} dev_firmware_data_key root_key
+  fi
+
+  # Create the recovery kernel keyblock for use only in Recovery mode.
+  make_keyblock recovery_kernel ${RECOVERY_KERNEL_KEYBLOCK_MODE} recovery_kernel_data_key recovery_key
+
+  # Create the miniOS kernel keyblock for use only in miniOS mode.
+  make_keyblock minios_kernel ${MINIOS_KERNEL_KEYBLOCK_MODE} minios_kernel_data_key recovery_key
+
+  # Create the normal kernel keyblock for use only in Normal mode.
+  make_keyblock kernel ${KERNEL_KEYBLOCK_MODE} kernel_data_key kernel_subkey
+
+  # Create the installer keyblock for use in Developer + Recovery mode
+  # For use in Factory Install and Developer Mode install shims.
+  make_keyblock installer_kernel ${INSTALLER_KERNEL_KEYBLOCK_MODE} installer_kernel_data_key recovery_key
+
+  if [[ "${android_keys}" == "true" ]]; then
+    mkdir android
+    "${SCRIPT_DIR}"/create_new_android_keys.sh android
+  fi
+
+  if [[ "${uefi_keys}" == "true" ]]; then
+    mkdir -p uefi
+    "${SCRIPT_DIR}"/uefi/create_new_uefi_keys.sh --output uefi
+  fi
+
+  if [[ "${setperms}" == "true" ]]; then
+    find -type f -exec chmod 400 {} +
+    find -type d -exec chmod 500 {} +
+  fi
+
+  # CAUTION: The public parts of most of these blobs must be compiled into the
+  # firmware, which is built separately (and some of which can't be changed after
+  # manufacturing). If you update these keys, you must coordinate the changes
+  # with the BIOS people or you'll be unable to boot the resulting images.
+}
+main "$@"
diff --git a/scripts/keygeneration/create_psp_verstagebl_key.sh b/scripts/keygeneration/create_psp_verstagebl_key.sh
new file mode 100755 (executable)
index 0000000..aeb7920
--- /dev/null
@@ -0,0 +1,141 @@
+#!/bin/bash
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Load common constants and functions.
+. "$(dirname "$0")/common.sh"
+
+usage() {
+  cat <<EOF
+Usage: ${PROG} <PROJECT/DEVICE NAME> <OUTPUT DIRECTORY> <KEY SIZE>
+
+Generate a key pair for signing the PSP_Verstage binary to be loaded by
+the PSP bootloader.  For detail, reference the AMD documentation titled
+"OEM PSP VERSTAGE BL FW Signing Key Pair Generation and Certificate Request
+Process" - http://dr/corp/drive/folders/1ySJyDgbH73W1lqrhxMvM9UYl5TtJt_mw
+
+Arguments:
+- Output Directory: Location for the keys to be generated.  Must exist.
+- Key size: 2048 for Picasso, Dali, & Pollock, 4096 for other F17h SOCs
+EOF
+
+  if [[ $# -ne 0 ]]; then
+    echo "$*" >&2
+    exit 1
+  else
+    exit 0
+  fi
+}
+
+KEYNAME=psp_verstagebl_fw_signing
+
+# Generate the key pair.
+# ARGS: <name> <key> <keysize>
+create_psp_key() {
+  local name=$1
+  local key=$2
+  local keysize=$3
+
+  [[ $# -eq 3 ]] || error "${FUNCNAME} requires 3 args"
+
+  local plainname="psp_verstagebl_${name}_${keysize}"
+  local embedname="psp_verstagebl_${name}"
+
+  # HSM signer stuff -- need a unique name for the key.
+  echo "Will use plain name: ${plainname}, and embed name: ${embedname}."
+
+  local cmd=(
+    openssl genrsa -F4 -out "${key}" "${keysize}"
+  )
+  echo "> ${cmd[@]}"
+  "${cmd[@]}" || die "generating key failed"
+}
+
+# Generate the CSR for this key.
+# ARGS: <output dir> key> <keysize>
+create_psp_csr() {
+  local dir=$1
+  local key=$2
+  local keysize=$3
+
+  [[ $# -eq 3 ]] || error "${FUNCNAME} requires 3 args"
+
+  local hash
+  if [[ ${keysize} -eq 2048 ]]; then
+    hash="sha256"
+  else
+    hash="sha384"
+  fi
+
+  local config="${dir}/${KEYNAME}.cnf"
+  local csr="${dir}/${KEYNAME}.csr"
+
+  cat <<EOF >"${config}"
+[req]
+default_md         = ${hash}
+prompt             = no
+distinguished_name = req_distinguished_name
+req_extensions     = v3_req
+
+[req_distinguished_name]
+countryName             = US
+stateOrProvinceName     = CA
+localityName            = Mountain View
+organizationalUnitName  = Google LLC
+commonName              = AMD Reference PSP Verstage BL FW Certificate
+
+# Google Platform Vendor ID [31:24] = 0x94 other bits [23:0] are reserved
+serialNumber            = 94000000
+
+[v3_req]
+basicConstraints     = CA:FALSE
+keyUsage             = nonRepudiation, digitalSignature, keyEncipherment
+subjectKeyIdentifier = hash
+EOF
+
+  local cmd=(
+    openssl req -new
+    -config "${config}"
+    -key "${key}"
+    -out "${csr}"
+  )
+  echo "> ${cmd[@]}"
+  "${cmd[@]}" || die "generating CSR failed"
+
+  echo
+  echo "The following hash should be communicated to AMD separately from the CSR"
+  echo "to allow it to be verified."
+  local digest="${dir}/${KEYNAME}.digest"
+  openssl dgst -sha256 "${csr}" >"${digest}" || die "generating digest failed"
+  cat "${digest}"
+}
+
+main() {
+  set -e
+
+  # Check arguments.
+  if [[ $# -ne 3 ]]; then
+    usage "Error: Incorrect number of arguments"
+  fi
+  local name=$1
+  local dir=$2
+  local keysize=$3
+
+  if [[ "${keysize}" -ne 2048 && "${keysize}" -ne 4096 ]]; then
+    usage "Error: invalid keysize"
+  fi
+
+  if [[ ! -d "${dir}" ]]; then
+    mkdir -p "${dir}"
+  else
+    echo "Error: ${dir} already exists" >&2
+    exit 1
+  fi
+
+  local key="${dir}/${KEYNAME}.pem"
+  create_psp_key "${name}" "${key}" "${keysize}"
+  create_psp_csr "${dir}" "${key}" "${keysize}"
+}
+
+main "$@"
diff --git a/scripts/keygeneration/increment_firmware_data_key.sh b/scripts/keygeneration/increment_firmware_data_key.sh
new file mode 100755 (executable)
index 0000000..c6b65a4
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/bash
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script to increment firmware version key for firmware updates.
+# Used when revving versions for a firmware update.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+# Abort on errors.
+set -e
+
+if [ $# -ne 1 ]; then
+  cat <<EOF
+  Usage: $0 <keyset directory>
+
+  Increments the firmware version in the specified keyset.
+EOF
+  exit 1
+fi
+
+KEY_DIR=$1
+
+main() {
+  load_current_versions "${KEY_DIR}"
+  new_firmkey_ver=$(increment_version "${KEY_DIR}" "firmware_key_version")
+
+  cd "${KEY_DIR}"
+  backup_existing_firmware_keys ${CURR_FIRM_VER} ${CURR_FIRMKEY_VER}
+
+  cat <<EOF
+Generating new firmware version key.
+
+New Firmware key version (due to firmware key change): ${new_firmkey_ver}.
+EOF
+  make_pair firmware_data_key ${FIRMWARE_DATAKEY_ALGOID} ${new_firmkey_ver}
+  make_keyblock firmware ${FIRMWARE_KEYBLOCK_MODE} firmware_data_key root_key
+
+  write_updated_version_file ${new_firmkey_ver} ${CURR_FIRM_VER} \
+    ${CURR_KERNKEY_VER} ${CURR_KERN_VER}
+}
+
+main "$@"
diff --git a/scripts/keygeneration/increment_kernel_data_key.sh b/scripts/keygeneration/increment_kernel_data_key.sh
new file mode 100755 (executable)
index 0000000..b3ed3ea
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/bash
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script to increment kernel data key for firmware updates.
+# Used when revving versions for a firmware update.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+# Abort on errors.
+set -e
+
+if [ $# -ne 1 ]; then
+  cat <<EOF
+  Usage: $0 <keyset directory>
+
+  Increments the kernel data key in the specified keyset.
+EOF
+  exit 1
+fi
+
+KEY_DIR=$1
+
+main() {
+  load_current_versions "${KEY_DIR}"
+  new_kernkey_ver=$(increment_version "${KEY_DIR}" "kernel_key_version")
+
+  cd "${KEY_DIR}"
+  backup_existing_kernel_data_keys ${CURR_FIRM_VER} ${CURR_KERNKEY_VER}
+
+  cat <<EOF
+Generating new kernel data version, and new kernel keyblock.
+
+New Kernel data key version: ${new_kernkey_ver}.
+EOF
+  make_pair kernel_data_key ${KERNEL_DATAKEY_ALGOID} ${new_kernkey_ver}
+  make_keyblock kernel ${KERNEL_KEYBLOCK_MODE} kernel_data_key kernel_subkey
+
+  write_updated_version_file ${CURR_FIRMKEY_VER} ${CURR_FIRM_VER} \
+    ${new_kernkey_ver} ${CURR_KERN_VER}
+}
+
+main "$@"
diff --git a/scripts/keygeneration/increment_kernel_subkey.sh b/scripts/keygeneration/increment_kernel_subkey.sh
new file mode 100755 (executable)
index 0000000..ccac937
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/bash
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script to increment kernel subkey for firmware updates.
+# Used when revving versions for a firmware update.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+# Abort on errors.
+set -e
+
+if [ $# -ne 1 ]; then
+  cat <<EOF
+  Usage: $0 <keyset directory>
+
+  Increments the kernel subkey in the specified keyset.
+EOF
+  exit 1
+fi
+
+KEY_DIR=$1
+
+main() {
+  load_current_versions "${KEY_DIR}"
+  new_firm_ver=$(increment_version "${KEY_DIR}" "firmware_version")
+
+  cd "${KEY_DIR}"
+  backup_existing_kernel_subkeys ${CURR_FIRM_VER} ${CURR_KERNKEY_VER}
+
+  cat <<EOF
+Generating new kernel subkey and new kernel keyblock.
+
+New Firmware version (due to kernel subkey change): ${new_firm_ver}.
+EOF
+  make_pair kernel_subkey ${KERNEL_SUBKEY_ALGOID} ${new_firm_ver}
+  make_keyblock kernel $KERNEL_KEYBLOCK_MODE kernel_data_key kernel_subkey
+
+  write_updated_version_file ${CURR_FIRMKEY_VER} ${new_firm_ver} \
+    ${CURR_KERNKEY_VER} ${CURR_KERN_VER}
+}
+
+main "$@"
diff --git a/scripts/keygeneration/increment_kernel_subkey_and_key.sh b/scripts/keygeneration/increment_kernel_subkey_and_key.sh
new file mode 100755 (executable)
index 0000000..dda0416
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/bash
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script to increment kernel subkey and datakey for firmware updates.
+# Used when revving versions for a firmware update.
+
+# Load common constants and variables.
+. "${0%/*}"/common.sh
+
+# Abort on errors.
+set -e
+
+if [ $# -ne 1 ]; then
+  cat <<EOF
+Usage: $0 <keyset directory>
+
+Increments the kernel subkey, data key and firmware version in the
+specified keyset.
+EOF
+  exit 1
+fi
+
+KEY_DIR=$1
+
+main() {
+  load_current_versions "${KEY_DIR}"
+  new_kernkey_ver=$(increment_version "${KEY_DIR}" "kernel_key_version")
+  new_firm_ver=$(increment_version "${KEY_DIR}" "firmware_version")
+
+  cd "${KEY_DIR}"
+  backup_existing_kernel_subkeys ${CURR_FIRM_VER} ${CURR_KERNKEY_VER}
+  backup_existing_kernel_data_keys ${CURR_FIRM_VER} ${CURR_KERNKEY_VER}
+
+  cat <<EOF 
+Generating new kernel subkey, data keys and new kernel keyblock.
+
+New Firmware version (due to kernel subkey change): ${new_firm_ver}.
+New Kernel key version (due to kernel datakey change): ${new_kernkey_ver}.
+EOF
+  make_pair kernel_subkey ${KERNEL_SUBKEY_ALGOID} ${new_firm_ver}
+  make_pair kernel_data_key ${KERNEL_DATAKEY_ALGOID} ${new_kernkey_ver}
+  make_keyblock kernel ${KERNEL_KEYBLOCK_MODE} kernel_data_key kernel_subkey
+
+  write_updated_version_file ${CURR_FIRMKEY_VER} ${new_firm_ver} \
+    ${new_kernkey_ver} ${CURR_KERN_VER}
+}
+
+main "$@"
diff --git a/scripts/keygeneration/keyset_version_check.sh b/scripts/keygeneration/keyset_version_check.sh
new file mode 100755 (executable)
index 0000000..2ab3394
--- /dev/null
@@ -0,0 +1,118 @@
+#!/bin/bash
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script that validity checks a keyset to ensure actual key versions
+# match those set in key.versions.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+# Abort on errors.
+set -e
+
+if [ $# -ne 1 ]; then
+  cat <<EOF
+Usage: $0 <keyset directory>
+
+Validity check a keyset directory for key versions.
+EOF
+  exit 1
+fi
+
+KEY_DIR="$1"
+VERSION_FILE="${KEY_DIR}/key.versions"
+
+keyblock_version() {
+  local keyblock="$1"
+  echo "$(vbutil_keyblock --unpack "${keyblock}" | grep 'Data key version' |
+    cut -f 2 -d : | tr -d ' ')"
+}
+
+key_version() {
+  local key="$1"
+  echo "$(vbutil_key --unpack "${key}" | grep 'Key Version' | cut -f 2 -d : |
+    tr -d ' ')"
+}
+
+# Compare versions and print out error if there is a mismatch.
+check_versions() {
+  local expected="$1"
+  local got="$2"
+  local expected_label="$3"
+  local got_label="$4"
+  if [[ ${expected} != ${got} ]]; then
+    echo "ERROR: ${expected_label} version does not match ${got_label} version"
+    echo "EXPECTED (${expected_label} version): ${expected}"
+    echo "GOT (${got_label} version): ${got}"
+    return 1
+  fi
+  return 0
+}
+
+# Check the key.versions against firmware.keyblock and firmware_data_key.vbpubk.
+check_firmware_keyblock() {
+  local fkey_keyblock="$1" fkey="$2"
+  local got_fkey_keyblock="$(keyblock_version "${fkey_keyblock}")"
+  local got_fkey="$(key_version "${fkey}")"
+
+  check_versions "${got_fkey_keyblock}" "${got_fkey}" \
+    "${fkey_keyblock##*/} keyblock key" "firmware key" || testfail=1
+  check_versions "${expected_fkey}" "${got_fkey}" "${fkey##*/} key" \
+    "firmware key" || testfail=1
+}
+
+# Validate the firmware keys in an loem keyset.
+check_loem_keyset() {
+  local line loem_index
+  while read line; do
+    loem_index=$(cut -d= -f1 <<<"${line}" | sed 's: *$::')
+
+    check_firmware_keyblock \
+      "${KEY_DIR}/firmware.loem${loem_index}.keyblock" \
+      "${KEY_DIR}/firmware_data_key.loem${loem_index}.vbpubk"
+  done < <(grep = "${KEY_DIR}"/loem.ini)
+}
+
+# Validate the firmware keys in a non-loem keyset.
+check_non_loem_keyset() {
+  check_firmware_keyblock \
+    "${KEY_DIR}/firmware.keyblock" \
+    "${KEY_DIR}/firmware_data_key.vbpubk"
+}
+
+main() {
+  local testfail=0
+
+  local expected_kkey="$(get_version kernel_key_version)"
+  local expected_fkey="$(get_version firmware_key_version)"
+  local expected_firmware="$(get_version firmware_version)"
+  local expected_kernel="$(get_version kernel_version)"
+
+  check_versions "${expected_firmware}" "${expected_kkey}" \
+    "firmware" "kernel key" || testfail=1
+
+  local got_kkey_keyblock="$(keyblock_version ${KEY_DIR}/kernel.keyblock)"
+  local got_ksubkey="$(key_version ${KEY_DIR}/kernel_subkey.vbpubk)"
+  local got_kdatakey="$(key_version ${KEY_DIR}/kernel_data_key.vbpubk)"
+
+  if [[ -f "${KEY_DIR}"/loem.ini ]]; then
+    check_loem_keyset
+  else
+    check_non_loem_keyset
+  fi
+
+  check_versions "${got_kkey_keyblock}" "${got_ksubkey}" "kernel keyblock key" \
+    "kernel subkey" || testfail=1
+  check_versions "${got_kdatakey}" "${got_ksubkey}" "kernel data key" \
+    "kernel subkey" || testfail=1
+  check_versions "${expected_kkey}" "${got_kdatakey}" "key.versions kernel key" \
+    "kernel datakey" || testfail=1
+  check_versions "${expected_kkey}" "${got_ksubkey}" "key.versions kernel key" \
+    "kernel subkey" || testfail=1
+
+  exit ${testfail}
+}
+
+main "$@"
diff --git a/scripts/keygeneration/make_keyblock.sh b/scripts/keygeneration/make_keyblock.sh
new file mode 100755 (executable)
index 0000000..565a566
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Generates a keyblock containing a public key and signed using the given
+# signing key.
+
+# Load common constants and functions.
+. "$(dirname "$0")/common.sh"
+
+if [ $# -ne 4 ]; then
+  cat <<EOF
+Usage: $0 <in_public_key> <in_signing_key> <flags> <out_keyblock>
+
+Emits <out_keyblock>.keyblock containing <in_public_key>.vbpubk signed with
+<in_signing_key>.vbprivk with the given keyblock <flags>.
+EOF
+  exit 1
+fi
+
+in_pubkey=$1
+in_signkey=$2
+keyblock_flags=$3
+out_keyblock=$4
+
+make_keyblock $out_keyblock $keyblock_flags $in_pubkey $in_signkey
diff --git a/scripts/keygeneration/make_pair.sh b/scripts/keygeneration/make_pair.sh
new file mode 100755 (executable)
index 0000000..cd5d0c1
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/bash
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Generate .vbpubk and .vbprivk pairs with the given algorithm id.
+
+# Load common constants and functions.
+. "$(dirname "$0")/common.sh"
+
+if [ $# -ne 2 ]; then
+  cat <<EOF
+Usage: $0 <algoid> <out_keypair>
+
+Output: <out_keypair>.vbprivk and <out_keypair>.vbpubk
+EOF
+  exit 1
+fi
+
+algoid=$1
+out_keypair=$2
+
+make_pair $out_keypair $algoid
diff --git a/scripts/keygeneration/uefi/create_new_uefi_keys.sh b/scripts/keygeneration/uefi/create_new_uefi_keys.sh
new file mode 100755 (executable)
index 0000000..2e91b01
--- /dev/null
@@ -0,0 +1,80 @@
+#!/bin/bash
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Load common constants and functions.
+. "$(dirname "$0")/uefi_common.sh"
+
+usage() {
+  cat <<EOF
+Usage: ${PROG} [options]
+
+Generate key pairs for UEFI secure boot.
+
+Options:
+  --output <dir>  Where to write the keys (default is cwd).
+                  The base name must be '.../uefi'.
+  --no-pk         Do not generate PK.
+EOF
+
+  if [[ $# -ne 0 ]]; then
+    die "unknown option $*"
+  else
+    exit 0
+  fi
+}
+
+main() {
+  set -e
+
+  local generate_pk="true"
+  local output_dir="${PWD}"
+
+  while [[ $# -gt 0 ]]; do
+    case $1 in
+    --output)
+      output_dir="$2"
+      shift
+      ;;
+    --no-pk)
+      info "Will not generate PK."
+      generate_pk="false"
+      ;;
+    -h|--help)
+      usage
+      ;;
+    *)
+      usage "Unknown option: $1"
+      ;;
+    esac
+    shift
+  done
+
+  check_uefi_key_dir_name "${output_dir}"
+  pushd "${output_dir}" >/dev/null || die "Wrong output directory name"
+
+  if [[ ! -e "${UEFI_VERSION_FILE}" ]]; then
+    echo "No version file found. Creating default ${UEFI_VERSION_FILE}."
+    printf '%s_key_version=1\n' {pk,kek,db,db_child} > "${UEFI_VERSION_FILE}"
+  fi
+
+  local pk_key_version kek_key_version db_key_version db_child_key_version
+
+  # Get the key versions for normal keypairs
+  pk_key_version=$(get_uefi_version "pk_key_version")
+  kek_key_version=$(get_uefi_version "kek_key_version")
+  db_key_version=$(get_uefi_version "db_key_version")
+  db_child_key_version=$(get_uefi_version "db_child_key_version")
+
+  if [[ "${generate_pk}" == "true" ]]; then
+    make_pk_keypair "${pk_key_version}"
+  fi
+  make_kek_keypair "${kek_key_version}"
+  make_db_keypair "${db_key_version}"
+  make_db_child_keypair "${db_key_version}" "${db_child_key_version}"
+
+  popd >/dev/null
+}
+
+main "$@"
diff --git a/scripts/keygeneration/uefi/increment_db_child_key.sh b/scripts/keygeneration/uefi/increment_db_child_key.sh
new file mode 100755 (executable)
index 0000000..fe206f8
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/bash
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script to increment UEFI DB child key.
+
+# Load common constants and variables.
+. "$(dirname "$0")/uefi_common.sh"
+
+# Abort on errors.
+set -e
+
+if [ $# -ne 1 ]; then
+  cat <<EOF
+  Usage: $0 <keyset directory>
+
+  Increments the UEFI DB child key in the specified keyset.
+EOF
+  exit 1
+fi
+
+KEY_DIR="$1"
+
+main() {
+  check_uefi_key_dir_name "${KEY_DIR}"
+
+  load_current_uefi_key_versions "${KEY_DIR}"
+  new_db_child_key_ver=$(increment_uefi_version "${KEY_DIR}" \
+                                                "db_child_key_version")
+
+  cd "${KEY_DIR}"
+  backup_db_child_keypair "${CURR_DB_CHILD_KEY_VER}"
+
+  cat <<EOF
+Generating new UEFI DB child key version.
+
+New DB child key version: ${new_db_child_key_ver}.
+EOF
+  make_db_child_keypair "${CURR_DB_KEY_VER}" "${new_db_child_key_ver}"
+  write_updated_uefi_version_file "${CURR_PK_KEY_VER}" "${CURR_KEK_KEY_VER}" \
+      "${CURR_DB_KEY_VER}" "${new_db_child_key_ver}"
+}
+
+main "$@"
diff --git a/scripts/keygeneration/uefi/increment_db_key.sh b/scripts/keygeneration/uefi/increment_db_key.sh
new file mode 100755 (executable)
index 0000000..b21454c
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/bash
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script to increment UEFI DB key.
+
+# Load common constants and variables.
+. "$(dirname "$0")/uefi_common.sh"
+
+# Abort on errors.
+set -e
+
+if [ $# -ne 1 ]; then
+  cat <<EOF
+  Usage: $0 <keyset directory>
+
+  Increments the UEFI DB key in the specified keyset.
+EOF
+  exit 1
+fi
+
+KEY_DIR="$1"
+
+main() {
+  check_uefi_key_dir_name "${KEY_DIR}"
+
+  load_current_uefi_key_versions "${KEY_DIR}"
+  new_db_key_ver=$(increment_uefi_version "${KEY_DIR}" "db_key_version")
+  new_db_child_key_ver=1
+
+  cd "${KEY_DIR}"
+  backup_db_keypair_and_children "${CURR_DB_KEY_VER}"
+
+  cat <<EOF
+Generating new UEFI DB key version.
+
+New DB key version: ${new_db_key_ver}.
+EOF
+  make_db_keypair "${new_db_key_ver}"
+  make_db_child_keypair "${new_db_key_ver}" "${new_db_child_key_ver}"
+  write_updated_uefi_version_file "${CURR_PK_KEY_VER}" "${CURR_KEK_KEY_VER}" \
+      "${new_db_key_ver}" "${new_db_child_key_ver}"
+}
+
+main "$@"
diff --git a/scripts/keygeneration/uefi/increment_kek_key.sh b/scripts/keygeneration/uefi/increment_kek_key.sh
new file mode 100755 (executable)
index 0000000..0c813ba
--- /dev/null
@@ -0,0 +1,44 @@
+#!/bin/bash
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script to increment UEFI Key Exchange Key (KEK).
+
+# Load common constants and variables.
+. "$(dirname "$0")/uefi_common.sh"
+
+# Abort on errors.
+set -e
+
+if [ $# -ne 1 ]; then
+  cat <<EOF
+  Usage: $0 <keyset directory>
+
+  Increments the UEFI Key Exchange Key (KEK) in the specified keyset.
+EOF
+  exit 1
+fi
+
+KEY_DIR="$1"
+
+main() {
+  check_uefi_key_dir_name "${KEY_DIR}"
+
+  load_current_uefi_key_versions "${KEY_DIR}"
+  new_kek_key_ver=$(increment_uefi_version "${KEY_DIR}" "kek_key_version")
+
+  cd "${KEY_DIR}"
+  backup_kek_keypair "${CURR_KEK_KEY_VER}"
+
+  cat <<EOF
+Generating new UEFI Key Exchange Key (KEK) version.
+
+New Key Exchange Key version: ${new_kek_key_ver}.
+EOF
+  make_kek_keypair "${new_kek_key_ver}"
+  write_updated_uefi_version_file "${CURR_PK_KEY_VER}" "${new_kek_key_ver}" \
+      "${CURR_DB_KEY_VER}" "${CURR_DB_CHILD_KEY_VER}"
+}
+
+main "$@"
diff --git a/scripts/keygeneration/uefi/increment_pk_key.sh b/scripts/keygeneration/uefi/increment_pk_key.sh
new file mode 100755 (executable)
index 0000000..75442e7
--- /dev/null
@@ -0,0 +1,44 @@
+#!/bin/bash
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Script to increment UEFI Platform Key (PK).
+
+# Load common constants and variables.
+. "$(dirname "$0")/uefi_common.sh"
+
+# Abort on errors.
+set -e
+
+if [ $# -ne 1 ]; then
+  cat <<EOF
+  Usage: $0 <keyset directory>
+
+  Increments the UEFI Platform Key (PK) in the specified keyset.
+EOF
+  exit 1
+fi
+
+KEY_DIR="$1"
+
+main() {
+  check_uefi_key_dir_name "${KEY_DIR}"
+
+  load_current_uefi_key_versions "${KEY_DIR}"
+  new_pk_key_ver=$(increment_uefi_version "${KEY_DIR}" "pk_key_version")
+
+  cd "${KEY_DIR}"
+  backup_pk_keypair "${CURR_PK_KEY_VER}"
+
+  cat <<EOF
+Generating new UEFI Platform Key (PK) version.
+
+New Platform Key version: ${new_pk_key_ver}.
+EOF
+  make_pk_keypair "${new_pk_key_ver}"
+  write_updated_uefi_version_file "${new_pk_key_ver}" "${CURR_KEK_KEY_VER}" \
+      "${CURR_DB_KEY_VER}" "${CURR_DB_CHILD_KEY_VER}"
+}
+
+main "$@"
diff --git a/scripts/keygeneration/uefi/uefi_common.sh b/scripts/keygeneration/uefi/uefi_common.sh
new file mode 100644 (file)
index 0000000..ba5369b
--- /dev/null
@@ -0,0 +1,253 @@
+#!/bin/bash
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Common UEFI key generation functions.
+
+. "$(dirname "$0")/../common.sh"
+
+# Checks whether the given key directory name is "uefi".
+# Dies if it isn't.
+# ARGS: KEY_DIR
+check_uefi_key_dir_name() {
+  local key_dir="$1"
+  local key_dir_fullpath="$(readlink -f "${key_dir}")"
+  local key_dir_basename="$(basename "${key_dir_fullpath}")"
+  if [[ "${key_dir_basename}" != "uefi" ]]; then
+    die "Key directory base name is not \"uefi\""
+  fi
+}
+
+# File to read current versions from.
+UEFI_VERSION_FILE="uefi_key.versions"
+
+# Prints the version value for the given VERSION_TYPE, from UEFI_VERSION_FILE.
+# ARGS: <VERSION_TYPE> [UEFI_VERSION_FILE]
+get_uefi_version() {
+  local key="$1"
+  local file="${2:-${UEFI_VERSION_FILE}}"
+  awk -F= -vkey="${key}" '$1 == key { print $NF }' "${file}"
+}
+
+# Loads the current versions, prints them to stdout, and sets the global version
+# variables: CURR_PK_KEY_VER CURR_KEK_KEY_VER CURR_DB_KEY_VER
+# CURR_DB_CHILD_KEY_VER
+# ARGS: KEY_DIR
+load_current_uefi_key_versions() {
+  local key_dir="$1"
+  local UEFI_VERSION_FILE="${key_dir}/${UEFI_VERSION_FILE}"
+  if [[ ! -f "${UEFI_VERSION_FILE}" ]]; then
+    return 1
+  fi
+  CURR_PK_KEY_VER=$(get_uefi_version "pk_key_version")
+  CURR_KEK_KEY_VER=$(get_uefi_version "kek_key_version")
+  CURR_DB_KEY_VER=$(get_uefi_version "db_key_version")
+  CURR_DB_CHILD_KEY_VER=$(get_uefi_version "db_child_key_version")
+
+  cat <<EOF
+Current UEFI Platform Key (PK) version: ${CURR_PK_KEY_VER}
+Current UEFI Key Exchange Key (KEK) version: ${CURR_KEK_KEY_VER}
+Current UEFI DB key version: ${CURR_DB_KEY_VER}
+Current UEFI DB child key version: ${CURR_DB_CHILD_KEY_VER}
+EOF
+}
+
+# The common part for the subject of a UEFI key.
+_CHROMIUM_OS_SUBJECT=\
+'/C=US/ST=California/L=Mountain View/O=Google LLC./OU=Chromium OS'
+
+# Prints a UEFI key subject.
+# ARGS: TITLE VERSION
+_get_subj() {
+  local title="$1"
+  local version="$2"
+
+  echo "${_CHROMIUM_OS_SUBJECT}/CN=${title} v${version}"
+}
+
+# Generates a pair of a private key and a self-signed cert at the current
+# directory. Generated files are
+#   $1/$1.rsa: The private key
+#   $1/$1.pem: The self-signed cert in PEM format
+# ARGS: KEY_NAME SUBJECT
+_make_self_signed_pair() {
+  local key_name="$1"
+  local subj="$2"
+
+  mkdir -p "${key_name}"
+  pushd "${key_name}" >/dev/null || return 1
+  openssl req -new -x509 -nodes -newkey rsa:2048 -sha256 \
+      -keyout "${key_name}.rsa" -out "${key_name}.pem" \
+      -subj "${subj}" -days 3650
+  popd >/dev/null
+}
+
+# Generates a pair of a private key and a cert signed by the given CA.
+# "$1" (the first argument) is the CA file name without extension.
+# The results are signed by "$1/$1.{rsa,pem}", and are generated in
+# "$1/$1.children" directory under the current directory. Generated files are
+#   $1/$1.children/$2.rsa: The private key
+#   $1/$1.children/$2.csr: The Certificate Signing Request
+#   $1/$1.children/$2.pem: The certificate signed by "$1.{rsa,pem}"
+# ARGS: CA_NAME CHILD_KEY_NAME SUBJECT
+_make_child_pair() {
+  local ca_name="$1"  # Base filename without extension.
+  local child_key_name="$2"
+  local subj="$3"
+
+  mkdir -p "${ca_name}/${ca_name}.children"
+  pushd "${ca_name}/${ca_name}.children" >/dev/null || return 1
+  openssl req -new -nodes -newkey rsa:2048 -sha256 \
+      -keyout "${child_key_name}.rsa" -out "${child_key_name}.csr" \
+      -subj "${subj}"
+  openssl x509 -req -sha256 -CA "../${ca_name}.pem" -CAkey "../${ca_name}.rsa" \
+      -CAcreateserial -in "${child_key_name}.csr" \
+      -out "${child_key_name}.pem" -days 3650
+  popd >/dev/null
+}
+
+# Makes a PK (Platform Key) keypair.
+# Generated files are
+#   pk/pk.rsa: The private key
+#   pk/pk.pem: The self-signed cert in PEM format
+# ARGS: VERSION
+make_pk_keypair() {
+  local version="$1"
+  _make_self_signed_pair pk \
+      "$(_get_subj "UEFI Platform Key" "${version}")"
+}
+
+# Makes a KEK (Key Exchange Key) keypair.
+# Generated files are
+#   kek/kek.rsa: The private key
+#   kek/kek.pem: The self-signed cert in PEM format
+# ARGS: VERSION
+make_kek_keypair() {
+  local version="$1"
+  _make_self_signed_pair kek \
+      "$(_get_subj "UEFI Key Exchange Key" "${version}")"
+}
+
+# Makes a DB keypair.
+# Generated files are
+#   db/db.rsa: The private key
+#   db/db.pem: The self-signed cert in PEM format
+# ARGS: VERSION
+make_db_keypair() {
+  local version="$1"
+  _make_self_signed_pair db \
+      "$(_get_subj "UEFI DB Key" "${version}")"
+}
+
+# Makes a DB child keypair (a keypair signed by the db key).
+# Generated files are
+#   db/db.children/db_child.rsa: The private key
+#   db/db.children/db_child.csr: The Certificate Signing Request
+#   db/db.children/db_child.pem: The certificate signed by "db/db.{rsa,pem}"
+# ARGS: DB_KEY_VERSION CHILD_KEY_VERSION
+make_db_child_keypair() {
+  local db_key_version="$1"
+  local child_key_version="$2"
+  _make_child_pair db db_child \
+      "$(_get_subj "UEFI DB Child Key" \
+          "${db_key_version}.${child_key_version}")"
+}
+
+# Makes a backup of a self-signed keypair.
+# ARGS: KEY_NAME VERSION
+_backup_self_signed_pair() {
+  local key_name="$1"
+  local version="$2"
+  pushd "${key_name}" >/dev/null || return 1
+  mv --no-clobber "${key_name}".{rsa,"v${version}.rsa"}
+  mv --no-clobber "${key_name}".{pem,"v${version}.pem"}
+  popd >/dev/null
+}
+
+# Makes a backup of a self-signed keypair and its child keys.
+# ARGS: KEY_NAME VERSION
+_backup_self_signed_pair_and_children() {
+  local key_name="$1"
+  local version="$2"
+  _backup_self_signed_pair "${key_name}" "${version}"
+  pushd "${key_name}" >/dev/null || return 1
+  mv --no-clobber "${key_name}".{children,"v${version}.children"}
+  popd >/dev/null
+}
+
+# Makes a backup of a child keypair signed by a CA.
+# ARGS: CA_NAME CHILD_KEY_NAME CHILD_KEY_VERSION
+_backup_child_pair() {
+  local ca_name="$1"
+  local child_key_name="$2"
+  local child_key_version="$3"
+  pushd "${ca_name}/${ca_name}.children" >/dev/null || return 1
+  mv --no-clobber "${child_key_name}".{rsa,"v${child_key_version}.rsa"}
+  mv --no-clobber "${child_key_name}".{csr,"v${child_key_version}.csr"}
+  mv --no-clobber "${child_key_name}".{pem,"v${child_key_version}.pem"}
+  popd >/dev/null
+}
+
+# Makes a backup of the PK (Platform Key) keypair.
+# Backup format: pk.v<pk key version>.{rsa,pem}
+# ARGS: PK_KEY_VERSION
+backup_pk_keypair() {
+  local pk_key_version="$1"
+  _backup_self_signed_pair pk "${pk_key_version}"
+}
+
+# Makes a backup of the KEK (Key Exchange Key) keypair.
+# Backup format: kek.v<kek key version>.{rsa,pem}
+# ARGS: KEK_KEY_VERSION
+backup_kek_keypair() {
+  local kek_key_version="$1"
+  _backup_self_signed_pair kek "${kek_key_version}"
+}
+
+# Makes a backup of the DB keypair and its children.
+# Backup format:
+#   for db keypair: db.v<db key version>.{rsa,pem}
+#   for child keypair: db.v<db key version>.childern/child*.{rsa,csr,pem}
+# ARGS: DB_KEY_VERSION
+backup_db_keypair_and_children() {
+  local db_key_version="$1"
+  _backup_self_signed_pair_and_children db "${db_key_version}"
+}
+
+# Makes a backup of the DB child keypair.
+# Backup format: db.children/child.v<db child key version>.{rsa,csr,pem}
+# ARGS: DB_CHILD_KEY_VERSION
+backup_db_child_keypair() {
+  local db_child_key_version="$1"
+  _backup_child_pair db db_child "${db_child_key_version}"
+}
+
+# Writes new key version file with the updated key versions.
+# Args: PK_KEY_VERSION KEK_KEY_VERSION DB_KEY_VERSION DB_CHILD_KEY_VERSION
+write_updated_uefi_version_file() {
+  local pk_key_version="$1"
+  local kek_key_version="$2"
+  local db_key_version="$3"
+  local db_child_key_version="$4"
+
+  cat > "${UEFI_VERSION_FILE}" <<EOF
+pk_key_version=${pk_key_version}
+kek_key_version=${kek_key_version}
+db_key_version=${db_key_version}
+db_child_key_version=${db_child_key_version}
+EOF
+}
+
+# Returns the incremented version number of the passed in key from the version
+# file.  The options are "pk_key_version", "kek_key_version", "db_key_version",
+# or "db_child_key_version".
+# ARGS: KEY_DIR <key_name>
+increment_uefi_version() {
+  local key_dir="$1"
+  local UEFI_VERSION_FILE="${key_dir}/${UEFI_VERSION_FILE}"
+  local old_version=$(get_uefi_version "$2")
+  local new_version=$(( old_version + 1 ))
+
+  echo "${new_version}"
+}
diff --git a/scripts/newbitmaps/README b/scripts/newbitmaps/README
new file mode 100644 (file)
index 0000000..390afda
--- /dev/null
@@ -0,0 +1,2 @@
+Firmware bitmaps genereation is now moved to ~/trunk/src/platform/bmpblk.
+
diff --git a/tests/cgpt_fuzzer.c b/tests/cgpt_fuzzer.c
new file mode 100644 (file)
index 0000000..d440ee8
--- /dev/null
@@ -0,0 +1,86 @@
+// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <stddef.h>
+#include <stdint.h>
+
+#include "cgptlib.h"
+#include "gpt.h"
+
+struct MockDisk {
+       size_t sector_shift;
+       const uint8_t* data;
+       size_t size;
+};
+
+// GPT disk parameters provided by the fuzzer test case. See GptData type
+// definition for details.
+struct GptDataParams {
+       uint32_t sector_shift;
+       uint32_t flags;
+       uint64_t streaming_drive_sectors;
+       uint64_t gpt_drive_sectors;
+} __attribute__((packed));
+
+static struct MockDisk mock_disk;
+
+vb2_error_t VbExDiskRead(VbExDiskHandle_t h, uint64_t lba_start,
+                        uint64_t lba_count, void *buffer)
+{
+       size_t lba_size = mock_disk.size >> mock_disk.sector_shift;
+       if (lba_start > lba_size || lba_size - lba_start < lba_count) {
+               return VB2_ERROR_UNKNOWN;
+       }
+
+       size_t start = lba_start << mock_disk.sector_shift;
+       size_t size = lba_count << mock_disk.sector_shift;
+
+       memcpy(buffer, &mock_disk.data[start], size);
+       return VB2_SUCCESS;
+}
+
+int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size);
+
+int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+       struct GptDataParams params;
+       if (size < sizeof(params)) {
+               return 0;
+       }
+       memcpy(&params, data, sizeof(params));
+
+       // Enforce a valid sector size. The sector size must accommodate the GPT
+       // header (the code assumes this) and large values don't make sense
+       // either (both in terms of actual hardware parameters and ability for
+       // the fuzzer to deal with effectively).
+       if (params.sector_shift < 9) {
+               params.sector_shift = 9;  // 512 byte sectors min.
+       }
+       if (params.sector_shift > 12) {
+               params.sector_shift = 12;  // 4K sectors max.
+       }
+
+       mock_disk.sector_shift = params.sector_shift;
+       mock_disk.data = data + sizeof(params);
+       mock_disk.size = size - sizeof(params);
+
+       GptData gpt;
+       memset(&gpt, 0, sizeof(gpt));
+       gpt.sector_bytes = 1ULL << params.sector_shift;
+       gpt.streaming_drive_sectors = params.streaming_drive_sectors;
+       gpt.gpt_drive_sectors = params.gpt_drive_sectors;
+       gpt.flags = params.flags;
+
+       if (0 == AllocAndReadGptData(0, &gpt)) {
+               int result = GptInit(&gpt);
+               while (GPT_SUCCESS == result) {
+                       uint64_t part_start, part_size;
+                       result = GptNextKernelEntry(&gpt, &part_start,
+                                                   &part_size);
+               }
+       }
+
+       WriteAndFreeGptData(0, &gpt);
+
+       return 0;
+}
diff --git a/tests/cgptlib_test.c b/tests/cgptlib_test.c
new file mode 100644 (file)
index 0000000..6fd7c32
--- /dev/null
@@ -0,0 +1,1661 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <errno.h>
+#include <string.h>
+
+#include "../cgpt/cgpt.h"
+#include "cgptlib_internal.h"
+#include "cgptlib_test.h"
+#include "crc32.h"
+#include "crc32_test.h"
+#include "gpt.h"
+#include "test_common.h"
+
+/*
+ * Testing partition layout (sector_bytes=512)
+ *
+ *     LBA   Size  Usage
+ * ---------------------------------------------------------
+ *       0      1  PMBR
+ *       1      1  primary partition header
+ *       2     32  primary partition entries (128B * 128)
+ *      34    100  kernel A (index: 0)
+ *     134    100  root A (index: 1)
+ *     234    100  root B (index: 2)
+ *     334    100  kernel B (index: 3)
+ *     434     32  secondary partition entries
+ *     466      1  secondary partition header
+ *     467
+ */
+#define KERNEL_A 0
+#define KERNEL_B 1
+#define ROOTFS_A 2
+#define ROOTFS_B 3
+#define KERNEL_X 2 /* Overload ROOTFS_A, for some GetNext tests */
+#define KERNEL_Y 3 /* Overload ROOTFS_B, for some GetNext tests */
+
+#define DEFAULT_SECTOR_SIZE 512
+#define MAX_SECTOR_SIZE 4096
+#define DEFAULT_DRIVE_SECTORS 467
+#define TOTAL_ENTRIES_SIZE GPT_ENTRIES_ALLOC_SIZE /* 16384 */
+#define PARTITION_ENTRIES_SIZE TOTAL_ENTRIES_SIZE /* 16384 */
+
+static const Guid guid_zero = {{{0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 0}}}};
+static const Guid guid_kernel = GPT_ENT_TYPE_CHROMEOS_KERNEL;
+static const Guid guid_rootfs = GPT_ENT_TYPE_CHROMEOS_ROOTFS;
+
+// cgpt_common.c requires these be defined if linked in.
+const char *progname = "CGPT-TEST";
+const char *command = "TEST";
+
+/*
+ * Copy a random-for-this-program-only Guid into the dest. The num parameter
+ * completely determines the Guid.
+ */
+static void SetGuid(void *dest, uint32_t num)
+{
+       Guid g = {{{num,0xd450,0x44bc,0xa6,0x93,
+                   {0xb8,0xac,0x75,0x5f,0xcd,0x48}}}};
+       memcpy(dest, &g, sizeof(Guid));
+}
+
+/*
+ * Given a GptData pointer, first re-calculate entries CRC32 value, then reset
+ * header CRC32 value to 0, and calculate header CRC32 value.  Both primary and
+ * secondary are updated.
+ */
+static void RefreshCrc32(GptData *gpt)
+{
+       GptHeader *header, *header2;
+       GptEntry *entries, *entries2;
+
+       header = (GptHeader *)gpt->primary_header;
+       entries = (GptEntry *)gpt->primary_entries;
+       header2 = (GptHeader *)gpt->secondary_header;
+       entries2 = (GptEntry *)gpt->secondary_entries;
+
+       header->entries_crc32 =
+               Crc32((uint8_t *)entries,
+                     header->number_of_entries * header->size_of_entry);
+       header->header_crc32 = 0;
+       header->header_crc32 = Crc32((uint8_t *)header, header->size);
+       header2->entries_crc32 =
+               Crc32((uint8_t *)entries2,
+                     header2->number_of_entries * header2->size_of_entry);
+       header2->header_crc32 = 0;
+       header2->header_crc32 = Crc32((uint8_t *)header2, header2->size);
+}
+
+static void ZeroHeaders(GptData *gpt)
+{
+       memset(gpt->primary_header, 0, MAX_SECTOR_SIZE);
+       memset(gpt->secondary_header, 0, MAX_SECTOR_SIZE);
+}
+
+static void ZeroEntries(GptData *gpt)
+{
+       memset(gpt->primary_entries, 0, PARTITION_ENTRIES_SIZE);
+       memset(gpt->secondary_entries, 0, PARTITION_ENTRIES_SIZE);
+}
+
+static void ZeroHeadersEntries(GptData *gpt)
+{
+       ZeroHeaders(gpt);
+       ZeroEntries(gpt);
+}
+
+/*
+ * Return a pointer to a static GptData instance (no free is required).
+ * All fields are zero except 4 pointers linking to header and entries.
+ * All content of headers and entries are zero.
+ */
+static GptData *GetEmptyGptData(void)
+{
+       static GptData gpt;
+       static uint8_t primary_header[MAX_SECTOR_SIZE];
+       static uint8_t primary_entries[PARTITION_ENTRIES_SIZE];
+       static uint8_t secondary_header[MAX_SECTOR_SIZE];
+       static uint8_t secondary_entries[PARTITION_ENTRIES_SIZE];
+
+       memset(&gpt, 0, sizeof(gpt));
+       gpt.primary_header = primary_header;
+       gpt.primary_entries = primary_entries;
+       gpt.secondary_header = secondary_header;
+       gpt.secondary_entries = secondary_entries;
+       ZeroHeadersEntries(&gpt);
+
+       /* Initialize GptData internal states. */
+       gpt.current_kernel = CGPT_KERNEL_ENTRY_NOT_FOUND;
+
+       return &gpt;
+}
+
+/*
+ * Fill in most of fields and creates the layout described in the top of this
+ * file. Before calling this function, primary/secondary header/entries must
+ * have been pointed to the buffer, say, a gpt returned from GetEmptyGptData().
+ * This function returns a good (valid) copy of GPT layout described in top of
+ * this file.
+ */
+static void BuildTestGptData(GptData *gpt)
+{
+       GptHeader *header, *header2;
+       GptEntry *entries, *entries2;
+       Guid chromeos_kernel = GPT_ENT_TYPE_CHROMEOS_KERNEL;
+       Guid chromeos_rootfs = GPT_ENT_TYPE_CHROMEOS_ROOTFS;
+
+       gpt->sector_bytes = DEFAULT_SECTOR_SIZE;
+       gpt->streaming_drive_sectors =
+               gpt->gpt_drive_sectors = DEFAULT_DRIVE_SECTORS;
+       gpt->current_kernel = CGPT_KERNEL_ENTRY_NOT_FOUND;
+       gpt->valid_headers = MASK_BOTH;
+       gpt->valid_entries = MASK_BOTH;
+       gpt->modified = 0;
+
+       /* Build primary */
+       header = (GptHeader *)gpt->primary_header;
+       entries = (GptEntry *)gpt->primary_entries;
+       memcpy(header->signature, GPT_HEADER_SIGNATURE,
+              GPT_HEADER_SIGNATURE_SIZE);
+       header->revision = GPT_HEADER_REVISION;
+       header->size = sizeof(GptHeader);
+       header->reserved_zero = 0;
+       header->my_lba = 1;
+       header->alternate_lba = DEFAULT_DRIVE_SECTORS - 1;
+       header->first_usable_lba = 34;
+       header->last_usable_lba = DEFAULT_DRIVE_SECTORS - 1 - 32 - 1;  /* 433 */
+       header->entries_lba = 2;
+         /* 512B / 128B * 32sectors = 128 entries */
+       header->number_of_entries = 128;
+       header->size_of_entry = 128;  /* bytes */
+       memcpy(&entries[0].type, &chromeos_kernel, sizeof(chromeos_kernel));
+       SetGuid(&entries[0].unique, 0);
+       entries[0].starting_lba = 34;
+       entries[0].ending_lba = 133;
+       memcpy(&entries[1].type, &chromeos_rootfs, sizeof(chromeos_rootfs));
+       SetGuid(&entries[1].unique, 1);
+       entries[1].starting_lba = 134;
+       entries[1].ending_lba = 232;
+       memcpy(&entries[2].type, &chromeos_rootfs, sizeof(chromeos_rootfs));
+       SetGuid(&entries[2].unique, 2);
+       entries[2].starting_lba = 234;
+       entries[2].ending_lba = 331;
+       memcpy(&entries[3].type, &chromeos_kernel, sizeof(chromeos_kernel));
+       SetGuid(&entries[3].unique, 3);
+       entries[3].starting_lba = 334;
+       entries[3].ending_lba = 430;
+
+       /* Build secondary */
+       header2 = (GptHeader *)gpt->secondary_header;
+       entries2 = (GptEntry *)gpt->secondary_entries;
+       memcpy(header2, header, sizeof(GptHeader));
+       memcpy(entries2, entries, PARTITION_ENTRIES_SIZE);
+       header2->my_lba = DEFAULT_DRIVE_SECTORS - 1;  /* 466 */
+       header2->alternate_lba = 1;
+       header2->entries_lba = DEFAULT_DRIVE_SECTORS - 1 - 32;  /* 434 */
+
+       RefreshCrc32(gpt);
+}
+
+/*
+ * Test if the structures are the expected size; if this fails, struct packing
+ * is not working properly.
+ */
+static int StructSizeTest(void)
+{
+
+       EXPECT(GUID_EXPECTED_SIZE == sizeof(Guid));
+       EXPECT(GPTHEADER_EXPECTED_SIZE == sizeof(GptHeader));
+       EXPECT(GPTENTRY_EXPECTED_SIZE == sizeof(GptEntry));
+       return TEST_OK;
+}
+
+
+/* Test if the default structure returned by BuildTestGptData() is good. */
+static int TestBuildTestGptData(void)
+{
+       GptData *gpt;
+
+       gpt = GetEmptyGptData();
+       BuildTestGptData(gpt);
+       EXPECT(GPT_SUCCESS == GptInit(gpt));
+       gpt->sector_bytes = 0;
+       EXPECT(GPT_ERROR_INVALID_SECTOR_SIZE == GptInit(gpt));
+       return TEST_OK;
+}
+
+/*
+ * Test if wrong sector_bytes or drive_sectors is detected by GptInit().
+ * Currently we only support 512 bytes per sector.  In the future, we may
+ * support other sizes.  A too small drive_sectors should be rejected by
+ * GptInit().
+ */
+static int ParameterTests(void)
+{
+       GptData *gpt;
+       struct {
+               uint32_t sector_bytes;
+               uint64_t drive_sectors;
+               int expected_retval;
+       } cases[] = {
+               {512, DEFAULT_DRIVE_SECTORS, GPT_SUCCESS},
+               {520, DEFAULT_DRIVE_SECTORS, GPT_ERROR_INVALID_SECTOR_SIZE},
+               {123, DEFAULT_DRIVE_SECTORS, GPT_ERROR_INVALID_SECTOR_SIZE},
+               {4097, DEFAULT_DRIVE_SECTORS, GPT_ERROR_INVALID_SECTOR_SIZE},
+               {256, DEFAULT_DRIVE_SECTORS, GPT_ERROR_INVALID_SECTOR_SIZE},
+               {512, 0, GPT_ERROR_INVALID_SECTOR_NUMBER},
+               {512, 10, GPT_ERROR_INVALID_SECTOR_NUMBER},
+               {512, GPT_PMBR_SECTORS + GPT_HEADER_SECTORS * 2 +
+                TOTAL_ENTRIES_SIZE / DEFAULT_SECTOR_SIZE * 2, GPT_SUCCESS},
+               {4096, DEFAULT_DRIVE_SECTORS, GPT_SUCCESS},
+               {2048, DEFAULT_DRIVE_SECTORS, GPT_SUCCESS},
+               {8192, DEFAULT_DRIVE_SECTORS, GPT_SUCCESS},
+       };
+       int i;
+
+       gpt = GetEmptyGptData();
+       for (i = 0; i < ARRAY_SIZE(cases); ++i) {
+               BuildTestGptData(gpt);
+               gpt->sector_bytes = cases[i].sector_bytes;
+               gpt->streaming_drive_sectors =
+                       gpt->gpt_drive_sectors = cases[i].drive_sectors;
+               EXPECT(cases[i].expected_retval == CheckParameters(gpt));
+       }
+
+       return TEST_OK;
+}
+
+/* Test if header CRC in two copies are calculated. */
+static int HeaderCrcTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+
+       BuildTestGptData(gpt);
+       EXPECT(HeaderCrc(h1) == h1->header_crc32);
+
+       /* CRC covers first byte of header */
+       BuildTestGptData(gpt);
+       gpt->primary_header[0] ^= 0xa5;
+       EXPECT(HeaderCrc(h1) != h1->header_crc32);
+
+       /* CRC covers last byte of header */
+       BuildTestGptData(gpt);
+       gpt->primary_header[h1->size - 1] ^= 0x5a;
+       EXPECT(HeaderCrc(h1) != h1->header_crc32);
+
+       /* CRC only covers header */
+       BuildTestGptData(gpt);
+       gpt->primary_header[h1->size] ^= 0x5a;
+       EXPECT(HeaderCrc(h1) == h1->header_crc32);
+
+       return TEST_OK;
+}
+
+/* Test if header-same comparison works. */
+static int HeaderSameTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptHeader *h2 = (GptHeader *)gpt->secondary_header;
+       GptHeader h3;
+
+       EXPECT(0 == HeaderFieldsSame(h1, h2));
+
+       memcpy(&h3, h2, sizeof(h3));
+       h3.signature[0] ^= 0xba;
+       EXPECT(1 == HeaderFieldsSame(h1, &h3));
+
+       memcpy(&h3, h2, sizeof(h3));
+       h3.revision++;
+       EXPECT(1 == HeaderFieldsSame(h1, &h3));
+
+       memcpy(&h3, h2, sizeof(h3));
+       h3.size++;
+       EXPECT(1 == HeaderFieldsSame(h1, &h3));
+
+       memcpy(&h3, h2, sizeof(h3));
+       h3.reserved_zero++;
+       EXPECT(1 == HeaderFieldsSame(h1, &h3));
+
+       memcpy(&h3, h2, sizeof(h3));
+       h3.first_usable_lba++;
+       EXPECT(1 == HeaderFieldsSame(h1, &h3));
+
+       memcpy(&h3, h2, sizeof(h3));
+       h3.last_usable_lba++;
+       EXPECT(1 == HeaderFieldsSame(h1, &h3));
+
+       memcpy(&h3, h2, sizeof(h3));
+       h3.disk_uuid.u.raw[0] ^= 0xba;
+       EXPECT(1 == HeaderFieldsSame(h1, &h3));
+
+       memcpy(&h3, h2, sizeof(h3));
+       h3.number_of_entries++;
+       EXPECT(1 == HeaderFieldsSame(h1, &h3));
+
+       memcpy(&h3, h2, sizeof(h3));
+       h3.size_of_entry++;
+       EXPECT(1 == HeaderFieldsSame(h1, &h3));
+
+       memcpy(&h3, h2, sizeof(h3));
+       h3.entries_crc32++;
+       EXPECT(1 == HeaderFieldsSame(h1, &h3));
+
+       return TEST_OK;
+}
+
+/* Test if signature ("EFI PART") is checked. */
+static int SignatureTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptHeader *h2 = (GptHeader *)gpt->secondary_header;
+       int i;
+
+       EXPECT(1 == CheckHeader(NULL, 0, gpt->streaming_drive_sectors,
+                               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+
+       for (i = 0; i < 8; ++i) {
+               BuildTestGptData(gpt);
+               h1->signature[i] ^= 0xff;
+               h2->signature[i] ^= 0xff;
+               RefreshCrc32(gpt);
+               EXPECT(1 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+                               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+               EXPECT(1 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+                               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       }
+
+       return TEST_OK;
+}
+
+/*
+ * The revision we currently support is GPT_HEADER_REVISION.  If the revision
+ * in header is not that, we expect the header is invalid.
+ */
+static int RevisionTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptHeader *h2 = (GptHeader *)gpt->secondary_header;
+       int i;
+
+       struct {
+               uint32_t value_to_test;
+               int expect_rv;
+       } cases[] = {
+               {0x01000000, 1},
+               {0x00010000, 0},  /* GPT_HEADER_REVISION */
+               {0x00000100, 1},
+               {0x00000001, 1},
+               {0x23010456, 1},
+       };
+
+       for (i = 0; i < ARRAY_SIZE(cases); ++i) {
+               BuildTestGptData(gpt);
+               h1->revision = cases[i].value_to_test;
+               h2->revision = cases[i].value_to_test;
+               RefreshCrc32(gpt);
+
+               EXPECT(CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+                       gpt->gpt_drive_sectors, 0, gpt->sector_bytes) ==
+                       cases[i].expect_rv);
+               EXPECT(CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+                       gpt->gpt_drive_sectors, 0,
+                       gpt->sector_bytes) == cases[i].expect_rv);
+       }
+       return TEST_OK;
+}
+
+static int SizeTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptHeader *h2 = (GptHeader *)gpt->secondary_header;
+       int i;
+
+       struct {
+               uint32_t value_to_test;
+               int expect_rv;
+       } cases[] = {
+               {91, 1},
+               {92, 0},
+               {93, 0},
+               {511, 0},
+               {512, 0},
+               {513, 1},
+       };
+
+       for (i = 0; i < ARRAY_SIZE(cases); ++i) {
+               BuildTestGptData(gpt);
+               h1->size = cases[i].value_to_test;
+               h2->size = cases[i].value_to_test;
+               RefreshCrc32(gpt);
+
+               EXPECT(CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+                       gpt->gpt_drive_sectors, 0, gpt->sector_bytes) ==
+                       cases[i].expect_rv);
+               EXPECT(CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+                       gpt->gpt_drive_sectors, 0, gpt->sector_bytes) ==
+                       cases[i].expect_rv);
+       }
+       return TEST_OK;
+}
+
+/* Test if CRC is checked. */
+static int CrcFieldTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptHeader *h2 = (GptHeader *)gpt->secondary_header;
+
+       BuildTestGptData(gpt);
+       /* Modify a field that the header verification doesn't care about */
+       h1->entries_crc32++;
+       h2->entries_crc32++;
+       EXPECT(1 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(1 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       /* Refresh the CRC; should pass now */
+       RefreshCrc32(gpt);
+       EXPECT(0 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(0 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+
+       return TEST_OK;
+}
+
+/* Test if reserved fields are checked.  We'll try non-zero values to test. */
+static int ReservedFieldsTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptHeader *h2 = (GptHeader *)gpt->secondary_header;
+
+       BuildTestGptData(gpt);
+       h1->reserved_zero ^= 0x12345678;  /* whatever random */
+       h2->reserved_zero ^= 0x12345678;  /* whatever random */
+       RefreshCrc32(gpt);
+       EXPECT(1 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(1 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+
+#ifdef PADDING_CHECKED
+       /* TODO: padding check is currently disabled */
+       BuildTestGptData(gpt);
+       h1->padding[12] ^= 0x34;  /* whatever random */
+       h2->padding[56] ^= 0x78;  /* whatever random */
+       RefreshCrc32(gpt);
+       EXPECT(1 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(1 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+#endif
+
+       return TEST_OK;
+}
+
+/*
+ * Technically, any size which is 2^N where N > 6 should work, but our
+ * library only supports one size.
+ */
+static int SizeOfPartitionEntryTest(void) {
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptHeader *h2 = (GptHeader *)gpt->secondary_header;
+       int i;
+
+       struct {
+               uint32_t value_to_test;
+               int expect_rv;
+       } cases[] = {
+               {127, 1},
+               {128, 0},
+               {129, 1},
+               {256, 1},
+               {512, 1},
+       };
+
+       /* Check size of entryes */
+       for (i = 0; i < ARRAY_SIZE(cases); ++i) {
+               BuildTestGptData(gpt);
+               h1->size_of_entry = cases[i].value_to_test;
+               h2->size_of_entry = cases[i].value_to_test;
+               h1->number_of_entries = TOTAL_ENTRIES_SIZE /
+                       cases[i].value_to_test;
+               h2->number_of_entries = TOTAL_ENTRIES_SIZE /
+                       cases[i].value_to_test;
+               RefreshCrc32(gpt);
+
+               EXPECT(CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+                       gpt->gpt_drive_sectors, 0, gpt->sector_bytes) ==
+                      cases[i].expect_rv);
+               EXPECT(CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+                       gpt->gpt_drive_sectors, 0, gpt->sector_bytes) ==
+                      cases[i].expect_rv);
+       }
+
+       return TEST_OK;
+}
+
+/*
+ * Technically, any size which is 2^N where N > 6 should work, but our library
+ * only supports one size.
+ */
+static int NumberOfPartitionEntriesTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptHeader *h2 = (GptHeader *)gpt->secondary_header;
+
+       BuildTestGptData(gpt);
+       h1->number_of_entries--;
+       h2->number_of_entries /= 2;
+       /* Because we halved h2 entries, its entries_lba is going to change. */
+       h2->entries_lba = h2->my_lba - CalculateEntriesSectors(h2, gpt->sector_bytes);
+       RefreshCrc32(gpt);
+       EXPECT(1 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(1 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       /* But it's okay to have less if the GPT structs are stored elsewhere. */
+       EXPECT(0 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, GPT_FLAG_EXTERNAL, gpt->sector_bytes));
+       EXPECT(0 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, GPT_FLAG_EXTERNAL, gpt->sector_bytes));
+
+       return TEST_OK;
+}
+
+
+/* Test if myLBA field is checked (1 for primary, last for secondary). */
+static int MyLbaTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptHeader *h2 = (GptHeader *)gpt->secondary_header;
+
+       /* myLBA depends on primary vs secondary flag */
+       BuildTestGptData(gpt);
+       EXPECT(1 == CheckHeader(h1, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(1 == CheckHeader(h2, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+
+       BuildTestGptData(gpt);
+       h1->my_lba--;
+       h2->my_lba--;
+       RefreshCrc32(gpt);
+       EXPECT(1 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(1 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+
+       BuildTestGptData(gpt);
+       h1->my_lba = 2;
+       h2->my_lba--;
+       RefreshCrc32(gpt);
+       EXPECT(1 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(1 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+
+       /* We should ignore the alternate_lba field entirely */
+       BuildTestGptData(gpt);
+       h1->alternate_lba++;
+       h2->alternate_lba++;
+       RefreshCrc32(gpt);
+       EXPECT(0 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(0 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+
+       BuildTestGptData(gpt);
+       h1->alternate_lba--;
+       h2->alternate_lba--;
+       RefreshCrc32(gpt);
+       EXPECT(0 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(0 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+
+       BuildTestGptData(gpt);
+       h1->entries_lba++;
+       h2->entries_lba++;
+       RefreshCrc32(gpt);
+       /*
+        * We support a padding between primary GPT header and its entries. So
+        * this still passes.
+        */
+       EXPECT(0 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       /*
+        * But the secondary table should fail because it would overlap the
+        * header, which is now lying after its entry array.
+        */
+       EXPECT(1 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+
+       BuildTestGptData(gpt);
+       h1->entries_lba--;
+       h2->entries_lba--;
+       RefreshCrc32(gpt);
+       EXPECT(1 == CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(1 == CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+
+       return TEST_OK;
+}
+
+/* Test if FirstUsableLBA and LastUsableLBA are checked.
+ * FirstUsableLBA must be after the end of the primary GPT table array.
+ * LastUsableLBA must be before the start of the secondary GPT table array.
+ * FirstUsableLBA <= LastUsableLBA.
+ * Also see CheckHeaderOffDevice() test. */
+static int FirstUsableLbaAndLastUsableLbaTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptHeader *h2 = (GptHeader *)gpt->secondary_header;
+       int i;
+
+       struct {
+               uint64_t primary_entries_lba;
+               uint64_t primary_first_usable_lba;
+               uint64_t primary_last_usable_lba;
+               uint64_t secondary_first_usable_lba;
+               uint64_t secondary_last_usable_lba;
+               uint64_t secondary_entries_lba;
+               int primary_rv;
+               int secondary_rv;
+       } cases[] = {
+               {2,  34, 433,   34, 433, 434,  0, 0},
+               {2,  34, 432,   34, 430, 434,  0, 0},
+               {2,  33, 433,   33, 433, 434,  1, 1},
+               {2,  34, 434,   34, 433, 434,  1, 0},
+               {2,  34, 433,   34, 434, 434,  0, 1},
+               {2,  35, 433,   35, 433, 434,  0, 0},
+               {2, 433, 433,  433, 433, 434,  0, 0},
+               {2, 434, 433,  434, 434, 434,  1, 1},
+               {2, 433,  34,   34, 433, 434,  1, 0},
+               {2,  34, 433,  433,  34, 434,  0, 1},
+       };
+
+       for (i = 0; i < ARRAY_SIZE(cases); ++i) {
+               BuildTestGptData(gpt);
+               h1->entries_lba = cases[i].primary_entries_lba;
+               h1->first_usable_lba = cases[i].primary_first_usable_lba;
+               h1->last_usable_lba = cases[i].primary_last_usable_lba;
+               h2->entries_lba = cases[i].secondary_entries_lba;
+               h2->first_usable_lba = cases[i].secondary_first_usable_lba;
+               h2->last_usable_lba = cases[i].secondary_last_usable_lba;
+               RefreshCrc32(gpt);
+
+               EXPECT(CheckHeader(h1, 0, gpt->streaming_drive_sectors,
+                       gpt->gpt_drive_sectors, 0, gpt->sector_bytes) ==
+                      cases[i].primary_rv);
+               EXPECT(CheckHeader(h2, 1, gpt->streaming_drive_sectors,
+                       gpt->gpt_drive_sectors, 0, gpt->sector_bytes) ==
+                      cases[i].secondary_rv);
+       }
+
+       return TEST_OK;
+}
+
+/*
+ * Test if PartitionEntryArrayCRC32 is checked.  PartitionEntryArrayCRC32 must
+ * be calculated over SizeOfPartitionEntry * NumberOfPartitionEntries bytes.
+ */
+static int EntriesCrcTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptEntry *e1 = (GptEntry *)(gpt->primary_entries);
+       GptEntry *e2 = (GptEntry *)(gpt->secondary_entries);
+
+       /* Modify first byte of primary entries, and expect the CRC is wrong. */
+       BuildTestGptData(gpt);
+       EXPECT(0 == CheckEntries(e1, h1));
+       EXPECT(0 == CheckEntries(e2, h1));
+       gpt->primary_entries[0] ^= 0xa5;  /* just XOR a non-zero value */
+       gpt->secondary_entries[TOTAL_ENTRIES_SIZE-1] ^= 0x5a;
+       EXPECT(GPT_ERROR_CRC_CORRUPTED == CheckEntries(e1, h1));
+       EXPECT(GPT_ERROR_CRC_CORRUPTED == CheckEntries(e2, h1));
+
+       return TEST_OK;
+}
+
+/*
+ * Test if partition geometry is checked.
+ * All active (non-zero PartitionTypeGUID) partition entries should have:
+ *   entry.StartingLBA >= header.FirstUsableLBA
+ *   entry.EndingLBA <= header.LastUsableLBA
+ *   entry.StartingLBA <= entry.EndingLBA
+ */
+static int ValidEntryTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptEntry *e1 = (GptEntry *)(gpt->primary_entries);
+
+       /* error case: entry.StartingLBA < header.FirstUsableLBA */
+       BuildTestGptData(gpt);
+       e1[0].starting_lba = h1->first_usable_lba - 1;
+       RefreshCrc32(gpt);
+       EXPECT(GPT_ERROR_OUT_OF_REGION == CheckEntries(e1, h1));
+
+       /* error case: entry.EndingLBA > header.LastUsableLBA */
+       BuildTestGptData(gpt);
+       e1[2].ending_lba = h1->last_usable_lba + 1;
+       RefreshCrc32(gpt);
+       EXPECT(GPT_ERROR_OUT_OF_REGION == CheckEntries(e1, h1));
+
+       /* error case: entry.StartingLBA > entry.EndingLBA */
+       BuildTestGptData(gpt);
+       e1[3].starting_lba = e1[3].ending_lba + 1;
+       RefreshCrc32(gpt);
+       EXPECT(GPT_ERROR_OUT_OF_REGION == CheckEntries(e1, h1));
+
+       /* case: non active entry should be ignored. */
+       BuildTestGptData(gpt);
+       memset(&e1[1].type, 0, sizeof(e1[1].type));
+       e1[1].starting_lba = e1[1].ending_lba + 1;
+       RefreshCrc32(gpt);
+       EXPECT(0 == CheckEntries(e1, h1));
+
+       return TEST_OK;
+}
+
+/* Test if overlapped partition tables can be detected. */
+static int OverlappedPartitionTest(void) {
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h = (GptHeader *)gpt->primary_header;
+       GptEntry *e = (GptEntry *)gpt->primary_entries;
+       int i, j;
+
+       struct {
+               int overlapped;
+               struct {
+                       int active;
+                       uint64_t starting_lba;
+                       uint64_t ending_lba;
+               } entries[16];  /* enough for testing. */
+       } cases[] = {
+               {GPT_SUCCESS, {{0, 100, 199}}},
+               {GPT_SUCCESS, {{1, 100, 199}}},
+               {GPT_SUCCESS, {{1, 100, 150}, {1, 200, 250}, {1, 300, 350}}},
+               {GPT_ERROR_START_LBA_OVERLAP,
+                {{1, 200, 299}, {1, 100, 199}, {1, 100, 100}}},
+               {GPT_ERROR_END_LBA_OVERLAP,
+                {{1, 200, 299}, {1, 100, 199}, {1, 299, 299}}},
+               {GPT_SUCCESS, {{1, 300, 399}, {1, 200, 299}, {1, 100, 199}}},
+               {GPT_ERROR_END_LBA_OVERLAP,
+                {{1, 100, 199}, {1, 199, 299}, {1, 299, 399}}},
+               {GPT_ERROR_START_LBA_OVERLAP,
+                {{1, 100, 199}, {1, 200, 299}, {1, 75, 399}}},
+               {GPT_ERROR_START_LBA_OVERLAP,
+                {{1, 100, 199}, {1, 75, 250}, {1, 200, 299}}},
+               {GPT_ERROR_END_LBA_OVERLAP,
+                {{1, 75, 150}, {1, 100, 199}, {1, 200, 299}}},
+               {GPT_ERROR_START_LBA_OVERLAP,
+                {{1, 200, 299}, {1, 100, 199}, {1, 300, 399}, {1, 100, 399}}},
+               {GPT_SUCCESS,
+                {{1, 200, 299}, {1, 100, 199}, {1, 300, 399}, {0, 100, 399}}},
+               {GPT_ERROR_START_LBA_OVERLAP,
+                {{1, 200, 300}, {1, 100, 200}, {1, 100, 400}, {1, 300, 400}}},
+               {GPT_ERROR_START_LBA_OVERLAP,
+                {{0, 200, 300}, {1, 100, 200}, {1, 100, 400}, {1, 300, 400}}},
+               {GPT_SUCCESS,
+                {{1, 200, 300}, {1, 100, 199}, {0, 100, 400}, {0, 300, 400}}},
+               {GPT_ERROR_END_LBA_OVERLAP,
+                {{1, 200, 299}, {1, 100, 199}, {1, 199, 199}}},
+               {GPT_SUCCESS, {{1, 200, 299}, {0, 100, 199}, {1, 199, 199}}},
+               {GPT_SUCCESS, {{1, 200, 299}, {1, 100, 199}, {0, 199, 199}}},
+               {GPT_ERROR_START_LBA_OVERLAP,
+                {{1, 199, 199}, {1, 200, 200}, {1, 201, 201}, {1, 202, 202},
+                 {1, 203, 203}, {1, 204, 204}, {1, 205, 205}, {1, 206, 206},
+                 {1, 207, 207}, {1, 208, 208}, {1, 199, 199}}},
+               {GPT_SUCCESS,
+                {{1, 199, 199}, {1, 200, 200}, {1, 201, 201}, {1, 202, 202},
+                 {1, 203, 203}, {1, 204, 204}, {1, 205, 205}, {1, 206, 206},
+                 {1, 207, 207}, {1, 208, 208}, {0, 199, 199}}},
+       };
+
+       for (i = 0; i < ARRAY_SIZE(cases); ++i) {
+               BuildTestGptData(gpt);
+               ZeroEntries(gpt);
+               for(j = 0; j < ARRAY_SIZE(cases[0].entries); ++j) {
+                       if (!cases[i].entries[j].starting_lba)
+                               break;
+
+                       if (cases[i].entries[j].active) {
+                               memcpy(&e[j].type, &guid_kernel, sizeof(Guid));
+                       }
+                       SetGuid(&e[j].unique, j);
+                       e[j].starting_lba = cases[i].entries[j].starting_lba;
+                       e[j].ending_lba = cases[i].entries[j].ending_lba;
+               }
+               RefreshCrc32(gpt);
+
+               EXPECT(cases[i].overlapped == CheckEntries(e, h));
+       }
+       return TEST_OK;
+}
+
+/* Test both validity checking and repair. */
+static int ValidityCheckTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h1 = (GptHeader *)gpt->primary_header;
+       GptHeader *h2 = (GptHeader *)gpt->secondary_header;
+       GptEntry *e1 = (GptEntry *)gpt->primary_entries;
+       uint8_t *tempptr;
+
+       /* Unmodified test data is completely valid. */
+       BuildTestGptData(gpt);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(MASK_NONE == gpt->ignored);
+       /* Repair doesn't damage it */
+       GptRepair(gpt);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       EXPECT(0 == gpt->modified);
+
+       /* Invalid sector size should fail */
+       BuildTestGptData(gpt);
+       gpt->sector_bytes = 1023;
+       EXPECT(GPT_ERROR_INVALID_SECTOR_SIZE == GptValidityCheck(gpt));
+
+       /* Modify headers */
+       BuildTestGptData(gpt);
+       gpt->primary_header[0]++;
+       gpt->secondary_header[0]++;
+       EXPECT(GPT_ERROR_INVALID_HEADERS == GptValidityCheck(gpt));
+       EXPECT(0 == gpt->valid_headers);
+       EXPECT(0 == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       /* Repair can't fix completely busted headers */
+       GptRepair(gpt);
+       EXPECT(GPT_ERROR_INVALID_HEADERS == GptValidityCheck(gpt));
+       EXPECT(0 == gpt->valid_headers);
+       EXPECT(0 == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       EXPECT(0 == gpt->modified);
+
+       BuildTestGptData(gpt);
+       gpt->primary_header[0]++;
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_SECONDARY == gpt->valid_headers);
+       EXPECT(MASK_SECONDARY == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       GptRepair(gpt);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       EXPECT((GPT_MODIFIED_HEADER1 | GPT_MODIFIED_ENTRIES1) == gpt->modified);
+
+       BuildTestGptData(gpt);
+       gpt->secondary_header[0]++;
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_PRIMARY == gpt->valid_headers);
+       EXPECT(MASK_PRIMARY == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       GptRepair(gpt);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       EXPECT((GPT_MODIFIED_HEADER2 | GPT_MODIFIED_ENTRIES2) == gpt->modified);
+
+       /*
+        * Modify header1 and update its CRC.  Since header2 is now different
+        * than header1, it'll be the one considered invalid.
+        */
+       BuildTestGptData(gpt);
+       h1->size++;
+       RefreshCrc32(gpt);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_PRIMARY == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       GptRepair(gpt);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       EXPECT(GPT_MODIFIED_HEADER2 == gpt->modified);
+
+       /* Modify entries */
+       BuildTestGptData(gpt);
+       gpt->primary_entries[0]++;
+       gpt->secondary_entries[0]++;
+       EXPECT(GPT_ERROR_INVALID_ENTRIES == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_NONE == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       /* Repair can't fix both copies of entries being bad, either. */
+       GptRepair(gpt);
+       EXPECT(GPT_ERROR_INVALID_ENTRIES == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_NONE == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       EXPECT(0 == gpt->modified);
+
+       BuildTestGptData(gpt);
+       gpt->primary_entries[0]++;
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_SECONDARY == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       GptRepair(gpt);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       EXPECT(GPT_MODIFIED_ENTRIES1 == gpt->modified);
+
+       BuildTestGptData(gpt);
+       gpt->secondary_entries[0]++;
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_PRIMARY == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       GptRepair(gpt);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       EXPECT(GPT_MODIFIED_ENTRIES2 == gpt->modified);
+
+       /*
+        * Modify entries and recompute CRCs, then make both primary and
+        * secondary entry pointers use the secondary data.  The primary
+        * header will have the wrong entries CRC, so we should fall back
+        * to the secondary header.
+        */
+       BuildTestGptData(gpt);
+       e1->starting_lba++;
+       RefreshCrc32(gpt);
+       tempptr = gpt->primary_entries;
+       gpt->primary_entries = gpt->secondary_entries;
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_SECONDARY == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       gpt->primary_entries = tempptr;
+
+       /* Modify both header and entries */
+       BuildTestGptData(gpt);
+       gpt->primary_header[0]++;
+       gpt->primary_entries[0]++;
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_SECONDARY == gpt->valid_headers);
+       EXPECT(MASK_SECONDARY == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       GptRepair(gpt);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       EXPECT((GPT_MODIFIED_HEADER1 | GPT_MODIFIED_ENTRIES1) == gpt->modified);
+
+       BuildTestGptData(gpt);
+       gpt->secondary_header[0]++;
+       gpt->secondary_entries[0]++;
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_PRIMARY == gpt->valid_headers);
+       EXPECT(MASK_PRIMARY == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       GptRepair(gpt);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       EXPECT((GPT_MODIFIED_HEADER2 | GPT_MODIFIED_ENTRIES2) == gpt->modified);
+
+       /*
+        * Test mismatched pairs (h1+e1 valid, h2+e2 valid but different.  This
+        * simulates a partial update of the drive.
+        */
+       BuildTestGptData(gpt);
+       gpt->secondary_entries[0]++;
+       RefreshCrc32(gpt);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_PRIMARY == gpt->valid_headers);
+       EXPECT(MASK_PRIMARY == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       GptRepair(gpt);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       EXPECT((GPT_MODIFIED_HEADER2 | GPT_MODIFIED_ENTRIES2) == gpt->modified);
+
+       /* Test unloaded entry array. */
+       BuildTestGptData(gpt);
+       gpt->primary_entries = NULL;
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_SECONDARY == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       gpt = GetEmptyGptData();
+       BuildTestGptData(gpt);
+       gpt->secondary_entries = NULL;
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_PRIMARY == gpt->valid_entries);
+       EXPECT(0 == gpt->ignored);
+       gpt = GetEmptyGptData();
+
+       /* Test unloaded header. */
+       BuildTestGptData(gpt);
+       gpt->primary_header = NULL;
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_SECONDARY == gpt->valid_headers);
+       EXPECT(0 == gpt->ignored);
+       gpt = GetEmptyGptData();
+       BuildTestGptData(gpt);
+       gpt->secondary_header = NULL;
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_PRIMARY == gpt->valid_headers);
+       EXPECT(0 == gpt->ignored);
+       gpt = GetEmptyGptData();
+
+       /* Test correct recognition of IGNOREME in primary GPT. */
+       BuildTestGptData(gpt);
+       memset(gpt->primary_entries, 0, PARTITION_ENTRIES_SIZE);
+       memset(gpt->primary_header, 0, sizeof(GptHeader));
+       memcpy(h1->signature, GPT_HEADER_SIGNATURE_IGNORED,
+              GPT_HEADER_SIGNATURE_SIZE);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(MASK_PRIMARY == gpt->ignored);
+       EXPECT(0 == gpt->modified);
+
+       /* Test correct recognition of IGNOREME in secondary GPT. */
+       BuildTestGptData(gpt);
+       memset(gpt->secondary_entries, 0, PARTITION_ENTRIES_SIZE);
+       memset(gpt->secondary_header, 0, sizeof(GptHeader));
+       memcpy(h2->signature, GPT_HEADER_SIGNATURE_IGNORED,
+              GPT_HEADER_SIGNATURE_SIZE);
+       EXPECT(GPT_SUCCESS == GptValidityCheck(gpt));
+       EXPECT(MASK_BOTH == gpt->valid_headers);
+       EXPECT(MASK_BOTH == gpt->valid_entries);
+       EXPECT(MASK_SECONDARY == gpt->ignored);
+       EXPECT(0 == gpt->modified);
+
+       /* Test that two IGNOREME GPTs are invalid. */
+       ZeroHeadersEntries(gpt);
+       memcpy(h1->signature, GPT_HEADER_SIGNATURE_IGNORED,
+              GPT_HEADER_SIGNATURE_SIZE);
+       memcpy(h2->signature, GPT_HEADER_SIGNATURE_IGNORED,
+              GPT_HEADER_SIGNATURE_SIZE);
+       EXPECT(GPT_ERROR_INVALID_HEADERS == GptValidityCheck(gpt));
+       EXPECT(0 == gpt->valid_headers);
+       EXPECT(0 == gpt->valid_entries);
+       EXPECT(MASK_BOTH == gpt->ignored);
+       EXPECT(0 == gpt->modified);
+
+       /* Test that one IGNOREME GPT and one corrupted one are invalid. */
+       BuildTestGptData(gpt);
+       memset(gpt->primary_entries, 0, PARTITION_ENTRIES_SIZE);
+       memset(gpt->primary_header, 0, sizeof(GptHeader));
+       memcpy(h1->signature, GPT_HEADER_SIGNATURE_IGNORED,
+              GPT_HEADER_SIGNATURE_SIZE);
+       gpt->secondary_entries[0]++;
+       EXPECT(GPT_ERROR_INVALID_ENTRIES == GptValidityCheck(gpt));
+       EXPECT(MASK_SECONDARY == gpt->valid_headers);
+       EXPECT(0 == gpt->valid_entries);
+       EXPECT(MASK_PRIMARY == gpt->ignored);
+       EXPECT(0 == gpt->modified);
+
+       return TEST_OK;
+}
+
+static int EntryAttributeGetSetTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptEntry *e = (GptEntry *)(gpt->primary_entries);
+
+       e->attrs.whole = 0x0000000000000000ULL;
+       SetEntryRequired(e, 1);
+       EXPECT(0x0000000000000001ULL == e->attrs.whole);
+       EXPECT(1 == GetEntryRequired(e));
+       e->attrs.whole = 0xFFFFFFFFFFFFFFFFULL;
+       SetEntryRequired(e, 0);
+       EXPECT(0xFFFFFFFFFFFFFFFEULL == e->attrs.whole);
+       EXPECT(0 == GetEntryRequired(e));
+
+       e->attrs.whole = 0x0000000000000000ULL;
+       SetEntryLegacyBoot(e, 1);
+       EXPECT(0x0000000000000004ULL == e->attrs.whole);
+       EXPECT(1 == GetEntryLegacyBoot(e));
+       e->attrs.whole = 0xFFFFFFFFFFFFFFFFULL;
+       SetEntryLegacyBoot(e, 0);
+       EXPECT(0xFFFFFFFFFFFFFFFBULL == e->attrs.whole);
+       EXPECT(0 == GetEntryLegacyBoot(e));
+
+       e->attrs.whole = 0x0000000000000000ULL;
+       SetEntrySuccessful(e, 1);
+       EXPECT(0x0100000000000000ULL == e->attrs.whole);
+       EXPECT(1 == GetEntrySuccessful(e));
+       e->attrs.whole = 0xFFFFFFFFFFFFFFFFULL;
+       SetEntrySuccessful(e, 0);
+       EXPECT(0xFEFFFFFFFFFFFFFFULL == e->attrs.whole);
+       EXPECT(0 == GetEntrySuccessful(e));
+
+       e->attrs.whole = 0x0000000000000000ULL;
+       SetEntryTries(e, 15);
+       EXPECT(15 == GetEntryTries(e));
+       EXPECT(0x00F0000000000000ULL == e->attrs.whole);
+       e->attrs.whole = 0xFFFFFFFFFFFFFFFFULL;
+       SetEntryTries(e, 0);
+       EXPECT(0xFF0FFFFFFFFFFFFFULL == e->attrs.whole);
+       EXPECT(0 == GetEntryTries(e));
+
+       e->attrs.whole = 0x0000000000000000ULL;
+       SetEntryPriority(e, 15);
+       EXPECT(0x000F000000000000ULL == e->attrs.whole);
+       EXPECT(15 == GetEntryPriority(e));
+       e->attrs.whole = 0xFFFFFFFFFFFFFFFFULL;
+       SetEntryPriority(e, 0);
+       EXPECT(0xFFF0FFFFFFFFFFFFULL == e->attrs.whole);
+       EXPECT(0 == GetEntryPriority(e));
+
+       e->attrs.whole = 0xFFFFFFFFFFFFFFFFULL;
+       EXPECT(1 == GetEntryRequired(e));
+       EXPECT(1 == GetEntryLegacyBoot(e));
+       EXPECT(1 == GetEntrySuccessful(e));
+       EXPECT(15 == GetEntryPriority(e));
+       EXPECT(15 == GetEntryTries(e));
+
+       e->attrs.whole = 0x0123000000000004ULL;
+       EXPECT(0 == GetEntryRequired(e));
+       EXPECT(1 == GetEntryLegacyBoot(e));
+       EXPECT(1 == GetEntrySuccessful(e));
+       EXPECT(2 == GetEntryTries(e));
+       EXPECT(3 == GetEntryPriority(e));
+
+       return TEST_OK;
+}
+
+static int EntryTypeTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptEntry *e = (GptEntry *)(gpt->primary_entries);
+
+       memcpy(&e->type, &guid_zero, sizeof(Guid));
+       EXPECT(1 == IsUnusedEntry(e));
+       EXPECT(0 == IsKernelEntry(e));
+
+       memcpy(&e->type, &guid_kernel, sizeof(Guid));
+       EXPECT(0 == IsUnusedEntry(e));
+       EXPECT(1 == IsKernelEntry(e));
+
+       memcpy(&e->type, &guid_rootfs, sizeof(Guid));
+       EXPECT(0 == IsUnusedEntry(e));
+       EXPECT(0 == IsKernelEntry(e));
+
+       return TEST_OK;
+}
+
+/* Make an entry unused by clearing its type. */
+static void FreeEntry(GptEntry *e)
+{
+       memset(&e->type, 0, sizeof(Guid));
+}
+
+/* Set up an entry. */
+static void FillEntry(GptEntry *e, int is_kernel,
+                     int priority, int successful, int tries)
+{
+       memcpy(&e->type, (is_kernel ? &guid_kernel : &guid_zero), sizeof(Guid));
+       SetEntryPriority(e, priority);
+       SetEntrySuccessful(e, successful);
+       SetEntryTries(e, tries);
+}
+
+/*
+ * Invalidate all kernel entries and expect GptNextKernelEntry() cannot find
+ * any usable kernel entry.
+ */
+static int NoValidKernelEntryTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptEntry *e1 = (GptEntry *)(gpt->primary_entries);
+
+       BuildTestGptData(gpt);
+       SetEntryPriority(e1 + KERNEL_A, 0);
+       FreeEntry(e1 + KERNEL_B);
+       RefreshCrc32(gpt);
+       EXPECT(GPT_ERROR_NO_VALID_KERNEL ==
+              GptNextKernelEntry(gpt, NULL, NULL));
+
+       return TEST_OK;
+}
+
+static int GetNextNormalTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptEntry *e1 = (GptEntry *)(gpt->primary_entries);
+       uint64_t start, size;
+
+       /* Normal case - both kernels successful */
+       BuildTestGptData(gpt);
+       FillEntry(e1 + KERNEL_A, 1, 2, 1, 0);
+       FillEntry(e1 + KERNEL_B, 1, 2, 1, 0);
+       RefreshCrc32(gpt);
+       GptInit(gpt);
+
+       EXPECT(GPT_SUCCESS == GptNextKernelEntry(gpt, &start, &size));
+       EXPECT(KERNEL_A == gpt->current_kernel);
+       EXPECT(34 == start);
+       EXPECT(100 == size);
+
+       EXPECT(GPT_SUCCESS == GptNextKernelEntry(gpt, &start, &size));
+       EXPECT(KERNEL_B == gpt->current_kernel);
+       EXPECT(134 == start);
+       EXPECT(99 == size);
+
+       EXPECT(GPT_ERROR_NO_VALID_KERNEL ==
+              GptNextKernelEntry(gpt, &start, &size));
+       EXPECT(-1 == gpt->current_kernel);
+
+       /* Call as many times as you want; you won't get another kernel... */
+       EXPECT(GPT_ERROR_NO_VALID_KERNEL ==
+              GptNextKernelEntry(gpt, &start, &size));
+       EXPECT(-1 == gpt->current_kernel);
+
+       return TEST_OK;
+}
+
+static int GetNextPrioTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptEntry *e1 = (GptEntry *)(gpt->primary_entries);
+       uint64_t start, size;
+
+       /* Priority 3, 4, 0, 4 - should boot order B, Y, A */
+       BuildTestGptData(gpt);
+       FillEntry(e1 + KERNEL_A, 1, 3, 1, 0);
+       FillEntry(e1 + KERNEL_B, 1, 4, 1, 0);
+       FillEntry(e1 + KERNEL_X, 1, 0, 1, 0);
+       FillEntry(e1 + KERNEL_Y, 1, 4, 1, 0);
+       RefreshCrc32(gpt);
+       GptInit(gpt);
+
+       EXPECT(GPT_SUCCESS == GptNextKernelEntry(gpt, &start, &size));
+       EXPECT(KERNEL_B == gpt->current_kernel);
+       EXPECT(GPT_SUCCESS == GptNextKernelEntry(gpt, &start, &size));
+       EXPECT(KERNEL_Y == gpt->current_kernel);
+       EXPECT(GPT_SUCCESS == GptNextKernelEntry(gpt, &start, &size));
+       EXPECT(KERNEL_A == gpt->current_kernel);
+       EXPECT(GPT_ERROR_NO_VALID_KERNEL ==
+              GptNextKernelEntry(gpt, &start, &size));
+
+       return TEST_OK;
+}
+
+static int GetNextTriesTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptEntry *e1 = (GptEntry *)(gpt->primary_entries);
+       uint64_t start, size;
+
+       /* Tries=nonzero is attempted just like success, but tries=0 isn't */
+       BuildTestGptData(gpt);
+       FillEntry(e1 + KERNEL_A, 1, 2, 1, 0);
+       FillEntry(e1 + KERNEL_B, 1, 3, 0, 0);
+       FillEntry(e1 + KERNEL_X, 1, 4, 0, 1);
+       FillEntry(e1 + KERNEL_Y, 1, 0, 0, 5);
+       RefreshCrc32(gpt);
+       GptInit(gpt);
+
+       EXPECT(GPT_SUCCESS == GptNextKernelEntry(gpt, &start, &size));
+       EXPECT(KERNEL_X == gpt->current_kernel);
+       EXPECT(GPT_SUCCESS == GptNextKernelEntry(gpt, &start, &size));
+       EXPECT(KERNEL_A == gpt->current_kernel);
+       EXPECT(GPT_ERROR_NO_VALID_KERNEL ==
+              GptNextKernelEntry(gpt, &start, &size));
+
+       return TEST_OK;
+}
+
+static int GptUpdateTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptEntry *e = (GptEntry *)(gpt->primary_entries);
+       GptEntry *e2 = (GptEntry *)(gpt->secondary_entries);
+       uint64_t start, size;
+
+       /* Tries=nonzero is attempted just like success, but tries=0 isn't */
+       BuildTestGptData(gpt);
+       FillEntry(e + KERNEL_A, 1, 4, 1, 0);
+       FillEntry(e + KERNEL_B, 1, 3, 0, 2);
+       FillEntry(e + KERNEL_X, 1, 2, 0, 2);
+       RefreshCrc32(gpt);
+       GptInit(gpt);
+       gpt->modified = 0;  /* Nothing modified yet */
+
+       /* Successful kernel */
+       EXPECT(GPT_SUCCESS == GptNextKernelEntry(gpt, &start, &size));
+       EXPECT(KERNEL_A == gpt->current_kernel);
+       EXPECT(1 == GetEntrySuccessful(e + KERNEL_A));
+       EXPECT(4 == GetEntryPriority(e + KERNEL_A));
+       EXPECT(0 == GetEntryTries(e + KERNEL_A));
+       EXPECT(1 == GetEntrySuccessful(e2 + KERNEL_A));
+       EXPECT(4 == GetEntryPriority(e2 + KERNEL_A));
+       EXPECT(0 == GetEntryTries(e2 + KERNEL_A));
+       /* Trying successful kernel changes nothing */
+       EXPECT(GPT_SUCCESS == GptUpdateKernelEntry(gpt, GPT_UPDATE_ENTRY_TRY));
+       EXPECT(1 == GetEntrySuccessful(e + KERNEL_A));
+       EXPECT(4 == GetEntryPriority(e + KERNEL_A));
+       EXPECT(0 == GetEntryTries(e + KERNEL_A));
+       EXPECT(0 == gpt->modified);
+       /* Marking it bad also does not update it. */
+       EXPECT(GPT_SUCCESS == GptUpdateKernelEntry(gpt, GPT_UPDATE_ENTRY_BAD));
+       EXPECT(1 == GetEntrySuccessful(e + KERNEL_A));
+       EXPECT(4 == GetEntryPriority(e + KERNEL_A));
+       EXPECT(0 == GetEntryTries(e + KERNEL_A));
+       EXPECT(0 == gpt->modified);
+
+       /* Kernel with tries */
+       EXPECT(GPT_SUCCESS == GptNextKernelEntry(gpt, &start, &size));
+       EXPECT(KERNEL_B == gpt->current_kernel);
+       EXPECT(0 == GetEntrySuccessful(e + KERNEL_B));
+       EXPECT(3 == GetEntryPriority(e + KERNEL_B));
+       EXPECT(2 == GetEntryTries(e + KERNEL_B));
+       /* Marking it bad clears it */
+       EXPECT(GPT_SUCCESS == GptUpdateKernelEntry(gpt, GPT_UPDATE_ENTRY_BAD));
+       EXPECT(0 == GetEntrySuccessful(e + KERNEL_B));
+       EXPECT(0 == GetEntryPriority(e + KERNEL_B));
+       EXPECT(0 == GetEntryTries(e + KERNEL_B));
+       /* Which affects both copies of the partition entries */
+       EXPECT(0 == GetEntrySuccessful(e2 + KERNEL_B));
+       EXPECT(0 == GetEntryPriority(e2 + KERNEL_B));
+       EXPECT(0 == GetEntryTries(e2 + KERNEL_B));
+       /* And that's caused the GPT to need updating */
+       EXPECT(0x0F == gpt->modified);
+
+       /* Another kernel with tries */
+       EXPECT(GPT_SUCCESS == GptNextKernelEntry(gpt, &start, &size));
+       EXPECT(KERNEL_X == gpt->current_kernel);
+       EXPECT(0 == GetEntrySuccessful(e + KERNEL_X));
+       EXPECT(2 == GetEntryPriority(e + KERNEL_X));
+       EXPECT(2 == GetEntryTries(e + KERNEL_X));
+       /* Trying it uses up a try */
+       EXPECT(GPT_SUCCESS == GptUpdateKernelEntry(gpt, GPT_UPDATE_ENTRY_TRY));
+       EXPECT(0 == GetEntrySuccessful(e + KERNEL_X));
+       EXPECT(2 == GetEntryPriority(e + KERNEL_X));
+       EXPECT(1 == GetEntryTries(e + KERNEL_X));
+       EXPECT(0 == GetEntrySuccessful(e2 + KERNEL_X));
+       EXPECT(2 == GetEntryPriority(e2 + KERNEL_X));
+       EXPECT(1 == GetEntryTries(e2 + KERNEL_X));
+       /* Trying it again marks it inactive */
+       EXPECT(GPT_SUCCESS == GptUpdateKernelEntry(gpt, GPT_UPDATE_ENTRY_TRY));
+       EXPECT(0 == GetEntrySuccessful(e + KERNEL_X));
+       EXPECT(0 == GetEntryPriority(e + KERNEL_X));
+       EXPECT(0 == GetEntryTries(e + KERNEL_X));
+
+       /* Can't update if entry isn't a kernel, or there isn't an entry */
+       memcpy(&e[KERNEL_X].type, &guid_rootfs, sizeof(guid_rootfs));
+       EXPECT(GPT_ERROR_INVALID_UPDATE_TYPE ==
+              GptUpdateKernelEntry(gpt, GPT_UPDATE_ENTRY_BAD));
+       gpt->current_kernel = CGPT_KERNEL_ENTRY_NOT_FOUND;
+       EXPECT(GPT_ERROR_INVALID_UPDATE_TYPE ==
+              GptUpdateKernelEntry(gpt, GPT_UPDATE_ENTRY_BAD));
+
+
+       return TEST_OK;
+}
+
+/*
+ * Give an invalid kernel type, and expect GptUpdateKernelEntry() returns
+ * GPT_ERROR_INVALID_UPDATE_TYPE.
+ */
+static int UpdateInvalidKernelTypeTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+
+       BuildTestGptData(gpt);
+       /* anything, but not CGPT_KERNEL_ENTRY_NOT_FOUND */
+       gpt->current_kernel = 0;
+       /* any invalid update_type value */
+       EXPECT(GPT_ERROR_INVALID_UPDATE_TYPE ==
+              GptUpdateKernelEntry(gpt, 99));
+
+       return TEST_OK;
+}
+
+/* Test duplicate UniqueGuids can be detected. */
+static int DuplicateUniqueGuidTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptHeader *h = (GptHeader *)gpt->primary_header;
+       GptEntry *e = (GptEntry *)gpt->primary_entries;
+       int i, j;
+
+       struct {
+               int duplicate;
+               struct {
+                       uint64_t starting_lba;
+                       uint64_t ending_lba;
+                       uint32_t type_guid;
+                       uint32_t unique_guid;
+               } entries[16];   /* enough for testing. */
+       } cases[] = {
+               {GPT_SUCCESS, {{100, 109, 1, 1},
+                              {110, 119, 2, 2},
+                              {120, 129, 3, 3},
+                              {130, 139, 4, 4},
+                       }},
+               {GPT_SUCCESS, {{100, 109, 1, 1},
+                              {110, 119, 1, 2},
+                              {120, 129, 2, 3},
+                              {130, 139, 2, 4},
+                       }},
+               {GPT_ERROR_DUP_GUID, {{100, 109, 1, 1},
+                                     {110, 119, 2, 2},
+                                     {120, 129, 3, 1},
+                                     {130, 139, 4, 4},
+                       }},
+               {GPT_ERROR_DUP_GUID, {{100, 109, 1, 1},
+                                     {110, 119, 1, 2},
+                                     {120, 129, 2, 3},
+                                     {130, 139, 2, 2},
+                       }},
+       };
+
+       for (i = 0; i < ARRAY_SIZE(cases); ++i) {
+               BuildTestGptData(gpt);
+               ZeroEntries(gpt);
+               for(j = 0; j < ARRAY_SIZE(cases[0].entries); ++j) {
+                       if (!cases[i].entries[j].starting_lba)
+                               break;
+
+                       e[j].starting_lba = cases[i].entries[j].starting_lba;
+                       e[j].ending_lba = cases[i].entries[j].ending_lba;
+                       SetGuid(&e[j].type, cases[i].entries[j].type_guid);
+                       SetGuid(&e[j].unique, cases[i].entries[j].unique_guid);
+               }
+               RefreshCrc32(gpt);
+
+               EXPECT(cases[i].duplicate == CheckEntries(e, h));
+       }
+
+       return TEST_OK;
+}
+
+/* Test getting the current kernel GUID */
+static int GetKernelGuidTest(void)
+{
+       GptData *gpt = GetEmptyGptData();
+       GptEntry *e = (GptEntry *)gpt->primary_entries;
+       Guid g;
+
+       BuildTestGptData(gpt);
+       gpt->current_kernel = 0;
+       GetCurrentKernelUniqueGuid(gpt, &g);
+       EXPECT(!memcmp(&g, &e[0].unique, sizeof(Guid)));
+       gpt->current_kernel = 1;
+       GetCurrentKernelUniqueGuid(gpt, &g);
+       EXPECT(!memcmp(&g, &e[1].unique, sizeof(Guid)));
+
+       return TEST_OK;
+}
+
+/* Test getting GPT error text strings */
+static int ErrorTextTest(void)
+{
+       int i;
+
+       /* Known errors are not unknown */
+       for (i = 0; i < GPT_ERROR_COUNT; i++) {
+               EXPECT(GptErrorText(i));
+               EXPECT(strcmp(GptErrorText(i), "Unknown"));
+       }
+
+       /* But other error values are */
+       EXPECT(!strcmp(GptErrorText(GPT_ERROR_COUNT), "Unknown"));
+
+       return TEST_OK;
+}
+
+static int CheckHeaderOffDevice(void)
+{
+       GptData* gpt = GetEmptyGptData();
+       BuildTestGptData(gpt);
+
+       GptHeader* primary_header = (GptHeader*)gpt->primary_header;
+       primary_header->first_usable_lba = 0;
+       RefreshCrc32(gpt);
+       // GPT is stored on the same device so first usable lba should not
+       // start at 0.
+       EXPECT(1 == CheckHeader(primary_header, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       // But off device, it is okay to accept this GPT header.
+       EXPECT(0 == CheckHeader(primary_header, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, GPT_FLAG_EXTERNAL, gpt->sector_bytes));
+
+       BuildTestGptData(gpt);
+       primary_header->number_of_entries = 100;
+       RefreshCrc32(gpt);
+       // Normally, number of entries is 128. So this should fail.
+       EXPECT(1 == CheckHeader(primary_header, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       // But off device, it is okay.
+       EXPECT(0 == CheckHeader(primary_header, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, GPT_FLAG_EXTERNAL, gpt->sector_bytes));
+
+       primary_header->number_of_entries = MIN_NUMBER_OF_ENTRIES - 1;
+       RefreshCrc32(gpt);
+       // However, too few entries is not good.
+       EXPECT(1 == CheckHeader(primary_header, 0, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, GPT_FLAG_EXTERNAL, gpt->sector_bytes));
+
+       // Repeat for secondary header.
+       BuildTestGptData(gpt);
+       GptHeader* secondary_header = (GptHeader*)gpt->secondary_header;
+       secondary_header->first_usable_lba = 0;
+       RefreshCrc32(gpt);
+       EXPECT(1 == CheckHeader(secondary_header, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(0 == CheckHeader(secondary_header, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, GPT_FLAG_EXTERNAL, gpt->sector_bytes));
+
+       BuildTestGptData(gpt);
+       secondary_header->number_of_entries = 100;
+       /* Because we change number of entries, we need to also update entrie_lba. */
+       secondary_header->entries_lba = secondary_header->my_lba -
+               CalculateEntriesSectors(secondary_header, gpt->sector_bytes);
+       RefreshCrc32(gpt);
+       EXPECT(1 == CheckHeader(secondary_header, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, 0, gpt->sector_bytes));
+       EXPECT(0 == CheckHeader(secondary_header, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, GPT_FLAG_EXTERNAL, gpt->sector_bytes));
+
+       secondary_header->number_of_entries = MIN_NUMBER_OF_ENTRIES - 1;
+       RefreshCrc32(gpt);
+       EXPECT(1 == CheckHeader(secondary_header, 1, gpt->streaming_drive_sectors,
+               gpt->gpt_drive_sectors, GPT_FLAG_EXTERNAL, gpt->sector_bytes));
+
+       return TEST_OK;
+}
+
+int main(int argc, char *argv[])
+{
+       int i;
+       int error_count = 0;
+       struct {
+               const char *name;
+               test_func fp;
+               int retval;
+       } test_cases[] = {
+               { TEST_CASE(StructSizeTest), },
+               { TEST_CASE(TestBuildTestGptData), },
+               { TEST_CASE(ParameterTests), },
+               { TEST_CASE(HeaderCrcTest), },
+               { TEST_CASE(HeaderSameTest), },
+               { TEST_CASE(SignatureTest), },
+               { TEST_CASE(RevisionTest), },
+               { TEST_CASE(SizeTest), },
+               { TEST_CASE(CrcFieldTest), },
+               { TEST_CASE(ReservedFieldsTest), },
+               { TEST_CASE(SizeOfPartitionEntryTest), },
+               { TEST_CASE(NumberOfPartitionEntriesTest), },
+               { TEST_CASE(MyLbaTest), },
+               { TEST_CASE(FirstUsableLbaAndLastUsableLbaTest), },
+               { TEST_CASE(EntriesCrcTest), },
+               { TEST_CASE(ValidEntryTest), },
+               { TEST_CASE(OverlappedPartitionTest), },
+               { TEST_CASE(ValidityCheckTest), },
+               { TEST_CASE(NoValidKernelEntryTest), },
+               { TEST_CASE(EntryAttributeGetSetTest), },
+               { TEST_CASE(EntryTypeTest), },
+               { TEST_CASE(GetNextNormalTest), },
+               { TEST_CASE(GetNextPrioTest), },
+               { TEST_CASE(GetNextTriesTest), },
+               { TEST_CASE(GptUpdateTest), },
+               { TEST_CASE(UpdateInvalidKernelTypeTest), },
+               { TEST_CASE(DuplicateUniqueGuidTest), },
+               { TEST_CASE(TestCrc32TestVectors), },
+               { TEST_CASE(GetKernelGuidTest), },
+               { TEST_CASE(ErrorTextTest), },
+               { TEST_CASE(CheckHeaderOffDevice), },
+       };
+
+       for (i = 0; i < sizeof(test_cases)/sizeof(test_cases[0]); ++i) {
+               printf("Running %s() ...\n", test_cases[i].name);
+               test_cases[i].retval = test_cases[i].fp();
+               if (test_cases[i].retval) {
+                       printf(COL_RED "[ERROR]\n\n" COL_STOP);
+                       ++error_count;
+               } else {
+                       printf(COL_GREEN "[PASS]\n\n" COL_STOP);
+               }
+       }
+
+       if (error_count) {
+               printf("\n------------------------------------------------\n");
+               printf(COL_RED "The following %d test cases are failed:\n"
+                      COL_STOP, error_count);
+               for (i = 0; i < sizeof(test_cases)/sizeof(test_cases[0]); ++i) {
+                       if (test_cases[i].retval)
+                               printf("  %s()\n", test_cases[i].name);
+               }
+       }
+
+       return error_count ? 1 : 0;
+}
diff --git a/tests/cgptlib_test.h b/tests/cgptlib_test.h
new file mode 100644 (file)
index 0000000..e78c25a
--- /dev/null
@@ -0,0 +1,31 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_CGPTLIB_TEST_H_
+#define VBOOT_REFERENCE_CGPTLIB_TEST_H_
+
+#include <stdio.h>
+#include "2sysincludes.h"
+
+enum {
+       TEST_FAIL = -1,
+       TEST_OK = 0,
+};
+
+#define TEST_CASE(func) #func, func
+typedef int (*test_func)(void);
+
+#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
+
+#define EXPECT(expr) do { \
+       if (!(expr)) { \
+               printf(COL_RED " fail " COL_STOP \
+                      "in expression %s in %s() line %d\n", \
+                      #expr, __FUNCTION__, __LINE__); \
+               return TEST_FAIL; \
+       } \
+} while (0)
+
+#endif  /* VBOOT_REFERENCE_CGPTLIB_TEST_H_ */
diff --git a/tests/chromeos_config_tests.c b/tests/chromeos_config_tests.c
new file mode 100644 (file)
index 0000000..2408d8c
--- /dev/null
@@ -0,0 +1,158 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "2common.h"
+#include "2return_codes.h"
+#include "chromeos_config.h"
+#include "host_misc.h"
+#include "test_common.h"
+
+static struct {
+       const char *path;
+       const char *data;
+} fakefs[] = {
+       {"/run/chromeos-config/v1/name", "bleh_model"},
+       {"/run/chromeos-config/v1/brand-code", "ZZCR"},
+       {"/run/chromeos-config/v1/identity/sku-id", "7"},
+       {"/run/chromeos-config/v1/firmware/image-name", "bloop"},
+       {"/run/chromeos-config/v1/auto-night-light", "true"},
+       {"/run/chromeos-config/v1/hardware-properties/is-lid-convertible",
+        "false"},
+};
+
+vb2_error_t vb2_read_file(const char *filepath, uint8_t **data_ptr,
+                         uint32_t *size_ptr)
+{
+       *data_ptr = NULL;
+       *size_ptr = 0;
+
+       for (size_t i = 0; i < ARRAY_SIZE(fakefs); i++) {
+               if (!strcmp(fakefs[i].path, filepath)) {
+                       *size_ptr = strlen(fakefs[i].data);
+                       *data_ptr = malloc(*size_ptr);
+
+                       if (!*data_ptr)
+                               return VB2_ERROR_READ_FILE_ALLOC;
+
+                       memcpy(*data_ptr, fakefs[i].data, *size_ptr);
+                       return VB2_SUCCESS;
+               }
+       }
+
+       return VB2_ERROR_READ_FILE_OPEN;
+}
+
+static void test_get_string(void)
+{
+       char *val_out;
+
+       TEST_EQ(chromeos_config_get_string("/firmware", "image-name", &val_out),
+               VB2_SUCCESS, "Reading a string is successful");
+       TEST_STR_EQ(val_out, "bloop", "The string is the correct value");
+       free(val_out);
+}
+
+static void test_get_boolean_true(void)
+{
+       bool val_out;
+
+       TEST_EQ(chromeos_config_get_boolean("/", "auto-night-light", &val_out),
+               VB2_SUCCESS, "Reading a true boolean is successful");
+       TEST_EQ(val_out, true, "The resulting boolean is true");
+}
+
+static void test_get_boolean_false(void)
+{
+       bool val_out;
+
+       TEST_EQ(chromeos_config_get_boolean("/hardware-properties",
+                                           "is-lid-convertible", &val_out),
+               VB2_SUCCESS, "Reading a false boolean is successful");
+       TEST_EQ(val_out, false, "The resulting boolean is false");
+}
+
+static void test_get_integer(void)
+{
+       int val_out;
+
+       TEST_EQ(chromeos_config_get_integer("/identity", "sku-id", &val_out),
+               VB2_SUCCESS, "Reading an integer is successful");
+       TEST_EQ(val_out, 7, "The resulting integer is correct");
+}
+
+static void test_get_no_exist(void)
+{
+       char *val_out;
+
+       TEST_NEQ(
+               chromeos_config_get_string("/this/does", "not-exist", &val_out),
+               VB2_SUCCESS, "Reading non-existent property fails");
+       free(val_out);
+}
+
+static void test_get_bad_path(void)
+{
+       char *val_out;
+
+       TEST_NEQ(chromeos_config_get_string("name", "name", &val_out),
+                VB2_SUCCESS, "Reading bad path fails");
+       free(val_out);
+}
+
+static void test_get_bad_path2(void)
+{
+       char *val_out;
+
+       TEST_NEQ(chromeos_config_get_string("//name", "name", &val_out),
+                VB2_SUCCESS, "Reading bad path fails");
+       free(val_out);
+}
+
+static void test_get_bad_property(void)
+{
+       char *val_out;
+
+       TEST_NEQ(chromeos_config_get_string("/firmware", "/image-name",
+                                           &val_out),
+                VB2_SUCCESS, "Reading bad property fails");
+       free(val_out);
+}
+
+static void test_get_not_boolean(void)
+{
+       bool val_out;
+
+       TEST_NEQ(chromeos_config_get_boolean("/identity", "sku-id", &val_out),
+                VB2_SUCCESS, "Reading integer as boolean fails");
+}
+
+static void test_get_not_integer(void)
+{
+       int val_out;
+
+       TEST_NEQ(chromeos_config_get_integer("/", "brand-code", &val_out),
+                VB2_SUCCESS, "Reading string as integer fails");
+}
+
+int main(int argc, char *argv[])
+{
+       test_get_string();
+       test_get_boolean_true();
+       test_get_boolean_false();
+       test_get_integer();
+       test_get_no_exist();
+       test_get_bad_path();
+       test_get_bad_path2();
+       test_get_bad_property();
+       test_get_not_boolean();
+       test_get_not_integer();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/common.sh b/tests/common.sh
new file mode 100644 (file)
index 0000000..e69692b
--- /dev/null
@@ -0,0 +1,71 @@
+#!/bin/bash
+
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Determine script directory.
+SCRIPT_DIR="$(dirname $(realpath "${BASH_SOURCE[0]}"))"
+ROOT_DIR="$(dirname "${SCRIPT_DIR}")"
+SRCDIR="${SRCDIR:-${ROOT_DIR}}"
+BUILD="${BUILD:-${ROOT_DIR}/build}"
+BUILD_RUN="${BUILD_RUN:-${BUILD}}"
+SRC_RUN="${SRC_RUN:-${SRCDIR}}"
+BUILD_DIR="${BUILD}"
+BIN_DIR="${BUILD_DIR}/install_for_test/usr/bin"
+FUTILITY="${BIN_DIR}/futility"
+TEST_DIR="${BUILD_DIR}/tests"
+TESTKEY_DIR="${SCRIPT_DIR}/testkeys"
+TESTCASE_DIR="${SCRIPT_DIR}/testcases"
+TESTKEY_SCRATCH_DIR="${TEST_DIR}/testkeys"
+
+if [ ! -d ${TESTKEY_SCRATCH_DIR} ]; then
+  mkdir -p ${TESTKEY_SCRATCH_DIR}
+fi
+
+# Color output encodings.
+COL_RED='\E[31;1m'
+COL_GREEN='\E[32;1m'
+COL_YELLOW='\E[33;1m'
+COL_BLUE='\E[34;1m'
+COL_STOP='\E[0;m'
+
+hash_algos=( sha1 sha256 sha512 )
+key_lengths=( 1024 2048 4096 8192 2048_exp3 3072_exp3 )
+
+function happy {
+  echo -e "${COL_GREEN}$*${COL_STOP}" 1>&2
+}
+
+# args: [nested level [message]]
+function warning {
+  echo -e "${COL_YELLOW}WARNING: $*${COL_STOP}" 1>&2
+}
+
+# args: [nested level [message]]
+function error {
+  local lev=${1:-}
+  case "${1:-}" in
+    [0-9]*)
+      lev=$1
+      shift
+      ;;
+    *) lev=0
+      ;;
+  esac
+  local x=$(caller $lev)
+  local cline=${x%% *}
+  local cfunc=${x#* }
+  cfunc=${cfunc##*/}
+  local args="$*"
+  local spacer=${args:+: }
+  echo -e "${COL_RED}ERROR at ${cfunc}, line ${cline}${spacer}${args}" \
+    "${COL_STOP}" 1>&2
+  exit 1
+}
+
+function check_test_keys {
+  [ -d ${TESTKEY_DIR} ] || \
+    error 1 "You must run gen_test_keys.sh to generate test keys first."
+}
+
diff --git a/tests/crc32_test.c b/tests/crc32_test.c
new file mode 100644 (file)
index 0000000..1d1d8cd
--- /dev/null
@@ -0,0 +1,47 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "cgptlib_test.h"
+#include "crc32.h"
+#include "crc32_test.h"
+#include "test_common.h"
+
+#define MAX_VECTOR_LEN 256
+
+int TestCrc32TestVectors(void) {
+       struct {
+               uint8_t vector[MAX_VECTOR_LEN];
+               int len;
+               uint32_t crc32;
+       } cases[] = {
+               {{0x00}, 1, 0xD202EF8D},
+               {{0x00, 0x00, 0x00, 0x00}, 4, 0x2144DF1C},
+               {{0x01, 0x01, 0x01, 0x01}, 4, 0xF626D399},
+               {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+                 0x00,0x00,0x00,0x28,0x86,0x4d,0x7f,0x99}, 48, 0x923D6EFD},
+               {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+                 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+                 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+                 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+                 0x00,0x00,0x00,0x28,0xc5,0x5e,0x45,0x7a}, 48, 0x49A04D82},
+               {{0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,
+                 0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,
+                 0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,
+                 0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,
+                 0x00,0x00,0x00,0x28,0xbf,0x67,0x1e,0xd0}, 48, 0x688B3BFA},
+       };
+       int i;
+
+       for (i = 0; i < ARRAY_SIZE(cases); ++i) {
+               uint32_t crc32;
+
+               crc32 = Crc32(cases[i].vector, cases[i].len);
+               EXPECT(crc32 == cases[i].crc32);
+       }
+       return TEST_OK;
+}
diff --git a/tests/crc32_test.h b/tests/crc32_test.h
new file mode 100644 (file)
index 0000000..2098707
--- /dev/null
@@ -0,0 +1,11 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_CRC32_TEST_H_
+#define VBOOT_REFERENCE_CRC32_TEST_H_
+
+int TestCrc32TestVectors(void);
+
+#endif  /* VBOOT_REFERENCE_CRC32_TEST_H_ */
diff --git a/tests/devkeys-acc/key.versions b/tests/devkeys-acc/key.versions
new file mode 100644 (file)
index 0000000..7b8d194
--- /dev/null
@@ -0,0 +1,5 @@
+name=devkeys-acc-premp
+firmware_key_version=1
+firmware_version=1
+kernel_key_version=1
+kernel_version=1
diff --git a/tests/devkeys-acc/key_hadoken.vbprik2 b/tests/devkeys-acc/key_hadoken.vbprik2
new file mode 100644 (file)
index 0000000..ebe81d6
Binary files /dev/null and b/tests/devkeys-acc/key_hadoken.vbprik2 differ
diff --git a/tests/devkeys-acc/key_hadoken.vbpubk2 b/tests/devkeys-acc/key_hadoken.vbpubk2
new file mode 100644 (file)
index 0000000..5304756
Binary files /dev/null and b/tests/devkeys-acc/key_hadoken.vbpubk2 differ
diff --git a/tests/devkeys-acc/key_zinger.pem b/tests/devkeys-acc/key_zinger.pem
new file mode 100644 (file)
index 0000000..2199a47
--- /dev/null
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEA7K6enHYIpVKR0/J973NpdL5cgRMh+KqRvRASe0//adnH4bRY
+Wp0mXhl4tgQ/30264KmyKWPxEj+Pl6wqYTh+plwEqco2IO7MX9O2YgYMbZiAPby4
+r5fSrjTJYvzQKCrcSagW1HAlbQv5QmpZcDcLR8Z0t3PhdKFWfaAy2JW3mlQxoTqt
+ovhrn1TH1bIRJape4/mU+/+AOQ5zAzkaMJeo0v5L6naVbuwjCJUrAK6BdP8/x3A7
+6GhstZ5QlkLKH/uNBnR80YMs3AlOygDSddRthOm7WMG7YkivsszwsWgl/aHXoFVE
+EQfl7aPpoAO9bvydyf+6DGUUJJPZpOnJeOPquwIDAQABAoIBAHWCNOmFiMFb/171
+dCUgbekyYgcLksA9H2J4ylRC4ZKSN7UNrxg+EcCCcPYdogCiPPgyCGyYXCYtPIOX
+TOs7+1VpNj9+T+WF6h5hpJmCW0VGg9UjD6bOgCFRv/LPhiGLNhezxrHuhAZh/X1G
+A+W8znLySxySAgu/1otEsDnsC14pHoI0aFLQ+djE14uEbqnV1WZyXX2BL7rOU3Fb
+fAL4bau0LkqJ2WR0zh9wMpkXb7yC7F3mDoZy7QIZLoW+lkpwYM/a+zVOBTeE+Ml0
+GAKwi59X6gAlmqBV+vRw+YbKnxfFd5QhpZhbJ6LOIL7wlNo1dr+o8wkN/rG54oBA
+W8kHfAECgYEA/HwXZIXp7M4bchfB/zi8lnhd2MQ/s5rZz1EhBDdcl7nj/r2p934e
+uRBxnn+5eErKu/6kwEf/pgvwtlkOX+rMCpSLS24rYCj6wFl/f0+3ovDqIppARLyp
+2Rvyl6z4uO4bsAdOnVEl8BnmJi01dKHFYiaemPjv81KjSdJr3N4FnbsCgYEA7/o0
+TqSLWddK3JuOVfKfBGra2cEVN6KERkrkyxG6NEQHu9ItgCqxCdLj+jN9xTQxI/b5
+nayTvPIrey+NqoKtai3XSxj3svnBNtpFnO0dQsw9lXBx/UuwBuTOj+eHL/z/v2KS
+WlKL/2D8CDxFo67wMhP0A56E8b3nZui0HeivlwECgYEAvNgrvvoSXxZBnPJ8HWLY
+W0soFkuiwblelBvAMCEgVjOpfg1qJTzlydGsyboKhRibzkTGATNY2V8w6ZJul/tM
+JdW44fBC7Sd5dYj7PcPoPC0pUjxBOahK+aJXrm6nkdo2R1EP0cayM4WLiJ5jzxp4
+QdNU6GG5RytWCo8iMg618KUCgYEA4itHfQ7rHsMflQcugKZnZDxpAm1NV9/dFnqj
+YxfUDEpJl6SgqXiS3hVaM4av9FoaLjEoVIg/vQXoIPNSau86DSYjEG35lT558P6K
+OTnoJ/ph2CPf6r+YqQaf/1RQPtQNHQ0Drgi6VPfM0N4tK/VF/4x6n6aY2VUHcB/F
+EaMpSgECgYEA291EHQ7JxnXAG7GkT+b9g7klHZPjl6yB21rSXdphb27AY9K8U7l3
+3A3T4eubhPjXn6W9JXLHYwubShkmA8kFXXzZlvuXKlraP/0lh3DAB+xEASUGHOS+
+S/U4X23nMkj7EktYqPcwMM6BOFbhOy2W+v9JoJSayPhuYJEOdjOGNWU=
+-----END RSA PRIVATE KEY-----
diff --git a/tests/devkeys-pkc/dev_firmware.keyblock b/tests/devkeys-pkc/dev_firmware.keyblock
new file mode 100644 (file)
index 0000000..d0411ac
Binary files /dev/null and b/tests/devkeys-pkc/dev_firmware.keyblock differ
diff --git a/tests/devkeys-pkc/dev_firmware_data_key.vbprivk b/tests/devkeys-pkc/dev_firmware_data_key.vbprivk
new file mode 100644 (file)
index 0000000..1ef7dbd
Binary files /dev/null and b/tests/devkeys-pkc/dev_firmware_data_key.vbprivk differ
diff --git a/tests/devkeys-pkc/dev_firmware_data_key.vbpubk b/tests/devkeys-pkc/dev_firmware_data_key.vbpubk
new file mode 100644 (file)
index 0000000..7bd1716
Binary files /dev/null and b/tests/devkeys-pkc/dev_firmware_data_key.vbpubk differ
diff --git a/tests/devkeys-pkc/ec.keyblock b/tests/devkeys-pkc/ec.keyblock
new file mode 100644 (file)
index 0000000..6b088f3
Binary files /dev/null and b/tests/devkeys-pkc/ec.keyblock differ
diff --git a/tests/devkeys-pkc/ec_data_key.vbprivk b/tests/devkeys-pkc/ec_data_key.vbprivk
new file mode 100644 (file)
index 0000000..9f194ce
Binary files /dev/null and b/tests/devkeys-pkc/ec_data_key.vbprivk differ
diff --git a/tests/devkeys-pkc/ec_data_key.vbpubk b/tests/devkeys-pkc/ec_data_key.vbpubk
new file mode 100644 (file)
index 0000000..5804dfd
Binary files /dev/null and b/tests/devkeys-pkc/ec_data_key.vbpubk differ
diff --git a/tests/devkeys-pkc/ec_root_key.vbprivk b/tests/devkeys-pkc/ec_root_key.vbprivk
new file mode 100644 (file)
index 0000000..4914472
Binary files /dev/null and b/tests/devkeys-pkc/ec_root_key.vbprivk differ
diff --git a/tests/devkeys-pkc/ec_root_key.vbpubk b/tests/devkeys-pkc/ec_root_key.vbpubk
new file mode 100644 (file)
index 0000000..76c26f9
Binary files /dev/null and b/tests/devkeys-pkc/ec_root_key.vbpubk differ
diff --git a/tests/devkeys-pkc/firmware.keyblock b/tests/devkeys-pkc/firmware.keyblock
new file mode 100644 (file)
index 0000000..1e2273e
Binary files /dev/null and b/tests/devkeys-pkc/firmware.keyblock differ
diff --git a/tests/devkeys-pkc/firmware_bmpfv.bin b/tests/devkeys-pkc/firmware_bmpfv.bin
new file mode 100644 (file)
index 0000000..3e9af97
Binary files /dev/null and b/tests/devkeys-pkc/firmware_bmpfv.bin differ
diff --git a/tests/devkeys-pkc/firmware_data_key.vbprivk b/tests/devkeys-pkc/firmware_data_key.vbprivk
new file mode 100644 (file)
index 0000000..49e5751
Binary files /dev/null and b/tests/devkeys-pkc/firmware_data_key.vbprivk differ
diff --git a/tests/devkeys-pkc/firmware_data_key.vbpubk b/tests/devkeys-pkc/firmware_data_key.vbpubk
new file mode 100644 (file)
index 0000000..804d566
Binary files /dev/null and b/tests/devkeys-pkc/firmware_data_key.vbpubk differ
diff --git a/tests/devkeys-pkc/installer_kernel.keyblock b/tests/devkeys-pkc/installer_kernel.keyblock
new file mode 100644 (file)
index 0000000..cfa3bd1
Binary files /dev/null and b/tests/devkeys-pkc/installer_kernel.keyblock differ
diff --git a/tests/devkeys-pkc/installer_kernel_data_key.vbprivk b/tests/devkeys-pkc/installer_kernel_data_key.vbprivk
new file mode 100644 (file)
index 0000000..0379595
Binary files /dev/null and b/tests/devkeys-pkc/installer_kernel_data_key.vbprivk differ
diff --git a/tests/devkeys-pkc/installer_kernel_data_key.vbpubk b/tests/devkeys-pkc/installer_kernel_data_key.vbpubk
new file mode 100644 (file)
index 0000000..3e9e67c
Binary files /dev/null and b/tests/devkeys-pkc/installer_kernel_data_key.vbpubk differ
diff --git a/tests/devkeys-pkc/kernel.keyblock b/tests/devkeys-pkc/kernel.keyblock
new file mode 100644 (file)
index 0000000..9740be4
Binary files /dev/null and b/tests/devkeys-pkc/kernel.keyblock differ
diff --git a/tests/devkeys-pkc/kernel_data_key.vbprivk b/tests/devkeys-pkc/kernel_data_key.vbprivk
new file mode 100644 (file)
index 0000000..8d392fb
Binary files /dev/null and b/tests/devkeys-pkc/kernel_data_key.vbprivk differ
diff --git a/tests/devkeys-pkc/kernel_data_key.vbpubk b/tests/devkeys-pkc/kernel_data_key.vbpubk
new file mode 100644 (file)
index 0000000..80910b7
Binary files /dev/null and b/tests/devkeys-pkc/kernel_data_key.vbpubk differ
diff --git a/tests/devkeys-pkc/kernel_subkey.vbprivk b/tests/devkeys-pkc/kernel_subkey.vbprivk
new file mode 100644 (file)
index 0000000..195b1bf
Binary files /dev/null and b/tests/devkeys-pkc/kernel_subkey.vbprivk differ
diff --git a/tests/devkeys-pkc/kernel_subkey.vbpubk b/tests/devkeys-pkc/kernel_subkey.vbpubk
new file mode 100644 (file)
index 0000000..a24a036
Binary files /dev/null and b/tests/devkeys-pkc/kernel_subkey.vbpubk differ
diff --git a/tests/devkeys-pkc/key.versions b/tests/devkeys-pkc/key.versions
new file mode 100644 (file)
index 0000000..7b08cb6
--- /dev/null
@@ -0,0 +1,5 @@
+name=devkeys-pkc-premp
+firmware_key_version=1
+firmware_version=1
+kernel_key_version=1
+kernel_version=1
diff --git a/tests/devkeys-pkc/nv_pkc.pem b/tests/devkeys-pkc/nv_pkc.pem
new file mode 100644 (file)
index 0000000..cbafc03
--- /dev/null
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAs3Lf87UkomlfVHdw/FEz+owzgO+ZFu6/72qT+jSu7aEDZeZj
+l2cgTQOnHjlmBYj6KoqwXQmY6ZWPNBT7xDqzGdvimCVRC3OGRee2uD+Itu/Qwo1F
+FOb7v+l3v6lODGqDJ06aIxLicEiqK55dk5z+7dP8yyJ3pRhwiDPE4tNtlLOWgmJ/
+hENyqBHbMMzg67Qwb+aa89wfq2FRrvGOpfmrKlhqtikDnwJALBfkr7hsZGZOszHC
+ii2L5T3eCaI/me2/VIGlQSjGxmaDkiG/aIZVTuIX/LuOyi4sLXJ9cIFQ7Ty/0PAk
+6Ia6VyEGETQt6+JeLETX4Zc+XCnfbE/Flhs5PwIDAQABAoIBAQCMcmM/Xc4PY0Ne
+W6FNicyR0vtYda4u2avVGWg50tP6XiPHtDrMO8V3IV3B9RCZUmzhsOx51NIeN5T+
+IVIvcfXNTmCZzdMRkFhODB3hNLCu5SFRs7mWs3Xj7TlxA3R3mUGPGSDgRJ5/XQ/6
+1ZbNunl38IuQ/SgBShCBOWtmUC4ay+ctm1CzBZ/7AYlauOxdoKiU2nzlwpMrX9+C
+vaVKRQVYbE7EYJsWKOx6vRPU5Kjoq6StlSW4caG0ReRu9tO+xL7kZnqp1BWl3KHw
+OfzLy1CmwDkV3bKFclRWWPR97nN7F95SUFIJ3bOVjU/K2TKuLtMYPPVdG4CBBeB5
+eK2Qae7ZAoGBAOprwiAvcRNWJ2W5JoCkh0L6AHXx2z+S1Bbt0laz4NyqyfPX2SMl
+DJRxm/IoYRfwZf7fussI1bG7g4UP8HjfrlAzSEWVgPNMSWftOFzkv4QNr2ySjk0/
+nZRsd+zj2kxhc8ukDhiORkyEEg5gtsEUqbtdZHOiqtkNbKOPD6EGKeP7AoGBAMP3
+q5NUh9pJ2RGSkdKutloXNe0HPI6sjsCX3HHWAaFyqBtXWvRU3fIaMUpGQcPaqDCt
+LhzVoNlPXdeQ7vTkBPtiYQBcs0NPI+58pnD5fgR00yTX/5ZIGKbX0NnpZ3spsQAQ
+FQTXGy80+JyGMmJCDf32VGC96I9Ey5w49U23kXiNAoGAGEtiqwM/rMlY++ncW6ix
+e/d85LxUBJqq8FVlXyb1PulUVLkh/8pvK1M63jXhGiIH8Aovyar4upq8XqXwPhaw
+cg9ehhegbZaSZProxHfQgVcJvy7RIKBfLGqxYxOaJCBVZ91wuIrGLlfhpyvOxOPn
+U0uyhWluW2BQygKhlAaXgNECgYAKDAif5RWR+3dFj14qjwqKU+ZP4K8aIX6wIRkM
+PQyYWmiD/laLcE5wuycLx85XXD6DQF283LcCbS9CfgvCQm5+9OxEOHx4VvZgo8Nk
+x2XOlK6+lNRlwAyDgU0T3wOPLPQGLMznEqAyK2UToU2z++77tkVdMF9b+Qr3V3Q8
+J80tgQKBgQCW2OHHUfnfRMns/d1sp/QNMag19flOT+IjvZXI5ZMy9yojlpcTSdSq
+NzaahUZKtEankjMlXw2RHMYrXjtAJgwXlV4rMWxkaqUrVqq99v6M1QNx/SHjnVB+
+SYQ8PZHp0mPk/opRPydP/U5WKDcP10KRuSNRSQmvacD5gzs3B6Jhqg==
+-----END RSA PRIVATE KEY-----
diff --git a/tests/devkeys-pkc/recovery_kernel.keyblock b/tests/devkeys-pkc/recovery_kernel.keyblock
new file mode 100644 (file)
index 0000000..ad16e39
Binary files /dev/null and b/tests/devkeys-pkc/recovery_kernel.keyblock differ
diff --git a/tests/devkeys-pkc/recovery_kernel_data_key.vbprivk b/tests/devkeys-pkc/recovery_kernel_data_key.vbprivk
new file mode 100644 (file)
index 0000000..0379595
Binary files /dev/null and b/tests/devkeys-pkc/recovery_kernel_data_key.vbprivk differ
diff --git a/tests/devkeys-pkc/recovery_kernel_data_key.vbpubk b/tests/devkeys-pkc/recovery_kernel_data_key.vbpubk
new file mode 100644 (file)
index 0000000..3e9e67c
Binary files /dev/null and b/tests/devkeys-pkc/recovery_kernel_data_key.vbpubk differ
diff --git a/tests/devkeys-pkc/recovery_key.vbprivk b/tests/devkeys-pkc/recovery_key.vbprivk
new file mode 100644 (file)
index 0000000..6c7ab36
Binary files /dev/null and b/tests/devkeys-pkc/recovery_key.vbprivk differ
diff --git a/tests/devkeys-pkc/recovery_key.vbpubk b/tests/devkeys-pkc/recovery_key.vbpubk
new file mode 100644 (file)
index 0000000..86d2471
Binary files /dev/null and b/tests/devkeys-pkc/recovery_key.vbpubk differ
diff --git a/tests/devkeys-pkc/root_key.vbprivk b/tests/devkeys-pkc/root_key.vbprivk
new file mode 100644 (file)
index 0000000..74c47dd
Binary files /dev/null and b/tests/devkeys-pkc/root_key.vbprivk differ
diff --git a/tests/devkeys-pkc/root_key.vbpubk b/tests/devkeys-pkc/root_key.vbpubk
new file mode 100644 (file)
index 0000000..dfca9d0
Binary files /dev/null and b/tests/devkeys-pkc/root_key.vbpubk differ
diff --git a/tests/devkeys/android/media.pk8 b/tests/devkeys/android/media.pk8
new file mode 100644 (file)
index 0000000..53fb253
Binary files /dev/null and b/tests/devkeys/android/media.pk8 differ
diff --git a/tests/devkeys/android/media.x509.pem b/tests/devkeys/android/media.x509.pem
new file mode 100644 (file)
index 0000000..d3ec5be
--- /dev/null
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIID/TCCAuWgAwIBAgIJAMi4UJBVFupsMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4g
+VmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UE
+AwwHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0xNjA2MjkyMTUxNDVaFw00MzExMTUyMTUxNDVaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4G
+A1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UEAwwHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBANRmZX0ek4H/HTuYfuS4WPvMBBtRRXSmysX1
+I/EIAXPVkMswIWmvw/3nBXnjmZDLrg/XG0pOQbUGSJ7RI4d27jHblX/3RQNwpmEx
+r8RPLcnBosM/KYaE+9lmSGl/XfbR0b8nreWOeJVBkGMDrrC5O4f7FSrORJBs2JI8
+ZZjiRFcnstdcPHwKBnHjNCRkhC72MvHMUXmndxMBnT18RWk8KrF/de9PotqPmZOZ
+fMJrebuCw0G/j0nwciqd3tpO0oANAGtWbzJ9xk53DlYRj4qu74rnQjAtyD0a73dO
+U1QRnan28Duk+lKIaIUzqqrcx9uEKYp4N2figpDWKaL9QUnVSW8CAwEAAaNQME4w
+HQYDVR0OBBYEFN99GqWFkNea+rCFvb4x45xBmMhIMB8GA1UdIwQYMBaAFN99GqWF
+kNea+rCFvb4x45xBmMhIMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB
+AFluihpLMwTAcv6l3jJZomf/a8fjEn3Ghx54B3g5n8xeDD0h2OxDOdrDc63Bg14Q
+s+ANOXsqNRkZse3ze97lX6qGzXmTfuUwXdlCzgnNA970/WG8EqOgI4yQJ+7a5bu5
+jE7WHaGRuZg5r3XiX+/A8Amo8w1vPsSTCHIiMeCShC9I6L/yF+o4bg7X/mnrVvzt
+QLkpYhbxZ68sLlnessfj9zigHpyUtY6HzAvYbRKN4y/2RvkMwRHBHaxZyu1g8LeY
+A5c/EfktgF7ORsBrxZeKejOu+8nFzlf8TQAr0zVCHaaP1FLtA2qeLDQsGeYaKBTE
+1Ol/AEBSc6LFhA3Inj6xHoI=
+-----END CERTIFICATE-----
diff --git a/tests/devkeys/android/networkstack.pk8 b/tests/devkeys/android/networkstack.pk8
new file mode 100644 (file)
index 0000000..890d9d3
Binary files /dev/null and b/tests/devkeys/android/networkstack.pk8 differ
diff --git a/tests/devkeys/android/networkstack.x509.pem b/tests/devkeys/android/networkstack.x509.pem
new file mode 100644 (file)
index 0000000..042c4e3
--- /dev/null
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIIDxzCCAq+gAwIBAgIUcfGSt74kh+tpBdU4k71ijVm1/0cwDQYJKoZIhvcNAQEL
+BQAwdDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcM
+DU1vdW50YWluIFZpZXcxFDASBgNVBAoMC0dvb2dsZSBJbmMuMRAwDgYDVQQLDAdB
+bmRyb2lkMRAwDgYDVQQDDAdBbmRyb2lkMB4XDTIxMDQwNTIzMDk1NloXDTQ4MDgy
+MTIzMDk1NlowdDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAU
+BgNVBAcMDU1vdW50YWluIFZpZXcxFDASBgNVBAoMC0dvb2dsZSBJbmMuMRAwDgYD
+VQQLDAdBbmRyb2lkMRAwDgYDVQQDDAdBbmRyb2lkMIIBIDANBgkqhkiG9w0BAQEF
+AAOCAQ0AMIIBCAKCAQEA0KHW5P5+dCq7OkVkGRmG0eYskcbgRK3DvTY7QPXCdnOm
+Fmq08S2l23mN1C+3+XMon0/Gh3DRr+lVLX3GZPoHX3e2ZTt8tu0Ee3k8T8VopfG9
+OpPlSzfazgI8sKtLe3wJ3RDalTlNd8Ne2YNRMY8RIkIwbySzUqkTixVk57NgMXpj
+tWmP19DOZPxXsGUa5m0qSS5/demnYAIoD+mg0Wd+xG2Y1ErT9O/j2l92ekm8+JKy
+jJ0W47el/mqO392JgNAEvcI9NbrnTaNi5Zq2PKhBhK0ohXOMyHUodUSmtBTWtW8n
+U+FK70ese+OzWQbjRryrmGYWB9ybc7YZ/FhH4US+rwIBA6NTMFEwHQYDVR0OBBYE
+FMGqz0YmVUA8iWBwLCMdoTFsidIiMB8GA1UdIwQYMBaAFMGqz0YmVUA8iWBwLCMd
+oTFsidIiMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAKygSG3r
+7SHEb/nox88Pu31lxERrsjmNCtxJJMFlbf8sq1nWx59lmTLOW5sFKyWGH1Mf8f8O
+nXiZ6V+5obyAt05MJOBiSIGKBk21ds9r2ACCuFpJ+MAS3SNN7HlSfNvzRbGV3+gb
+V6FOH+2ndbqN3dkXUDctWXjNiq5QQlFFI4fIvvwiul45HZvDRrNRuexT1jzOlLVF
+Qe45E5QbJYVPMUe37kCVm1Ty3N+e/s2n1NsSHoD5BK+kvb+BPL3pK4dK62HzcdVp
+TB1EZFtrL8+aun1qhlEYNKlR/TNQdIPwZWH6ZmT7bF2GCfJcxshgWmajN/cW1rdc
+OEUdUtGkI9lgNiI=
+-----END CERTIFICATE-----
diff --git a/tests/devkeys/android/platform.pk8 b/tests/devkeys/android/platform.pk8
new file mode 100644 (file)
index 0000000..7b615ec
Binary files /dev/null and b/tests/devkeys/android/platform.pk8 differ
diff --git a/tests/devkeys/android/platform.x509.pem b/tests/devkeys/android/platform.x509.pem
new file mode 100644 (file)
index 0000000..8b422ac
--- /dev/null
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIID/TCCAuWgAwIBAgIJAKsh6Cqx4cjwMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4g
+VmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UE
+AwwHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0xNjA2MjkyMTUxNDBaFw00MzExMTUyMTUxNDBaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4G
+A1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UEAwwHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBALK5wH9wQ7BxBeE7lKNn3xnerYzZcBwyAscQ
+nr+SWz4wmIUaNLZ7d2BwpzNaa84P2hiC7F3dbJDumjvgBlsNI5ALIUZcBqYkngG8
+UJhzpPw1CmvruGCsVUwaMWSx0Fh2f9o2SKuQPbGcBcdTha0tkmypONVuuZ1PeDlE
+tiSHT3b/PDMqbCGhuunLUaPCOYyBoB/qC6oR1+aInrz860U5IVfubSj4hzAOrysm
+EymSwsXkbMOG1gmZZiVjDn1pyIRC7Dy2u70JWaL92nRtRfeVaFwk0KRDXi+PYm+k
+eQ0gOTcmbGwTh/FO4Wqc0sG78qoALB8Or+WuRTvZKsp6NRF1Kw8CAwEAAaNQME4w
+HQYDVR0OBBYEFKYVE2bBhv9LZ136ipflr1O3RlVWMB8GA1UdIwQYMBaAFKYVE2bB
+hv9LZ136ipflr1O3RlVWMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB
+AAK7tIOyglsBLWHhl/Kc1ZjHUTvhrI3n+pz4aCtViynaHJs5O5qW3hYCLwetxBJf
+92SoRNIUc1va7vLkc5fk7k5FpW+kjz1XtLasGE9KsqN6Y2I5Y88w6f6ZS5Yj/DZp
+jvVAJkyCu4Un/6Qygw8DzbRGoKqlUR4x7lrqM8ZU4LkeTkxZnwX95ygth3YyXtG/
+ozbJSCx0iiJQX/uH/bXtngp5LbhFcmQj/rUxvLchRQxGPONvvpiB+6mqkN2hDLMN
+KFBc2z9vu5s477bz9sz1+uPZVOnwc8u3q6VF0dowFReXtzKViciYst/zktcGzz04
+z3jF4S6UhxYQ93pmqvI0pKI=
+-----END CERTIFICATE-----
diff --git a/tests/devkeys/android/releasekey.pk8 b/tests/devkeys/android/releasekey.pk8
new file mode 100644 (file)
index 0000000..502b5d9
Binary files /dev/null and b/tests/devkeys/android/releasekey.pk8 differ
diff --git a/tests/devkeys/android/releasekey.x509.pem b/tests/devkeys/android/releasekey.x509.pem
new file mode 100644 (file)
index 0000000..e375026
--- /dev/null
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIID/TCCAuWgAwIBAgIJAOP6XMUWw6ovMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4g
+VmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UE
+AwwHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0xNjA2MjkyMTUyMTBaFw00MzExMTUyMTUyMTBaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4G
+A1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UEAwwHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBALZPiJrLQcYJItjj8KpR879BDpoSEXy5Ptik
+TVVVXN8KoEpXWtRPwYSIG110lIY+U/VugOGz085m3VtC5mlobALvZDYz8L61XvIi
++ZYsWjoJBstBhQCr//P2uYWIJRElV1wKppJwqsS/gBc1Qmk6UZAPCABs4lF/8W1E
+p31vQpsRsi9d7kS3PFqoriI3ECYqlQ/7y2zXpulY+IlYLdan+FusunGuVEX4RO8X
+T6t/ICtV4kfvIok+WcAVrJS4ry0CWgVxEBzgkHnpuNxYsrP+VELQgvyiDrz2ZN6N
+Sdqteso6vF+LBgfnZbE28SVnXLEIq9qokAO/+vsMLS3cC0MMAQsCAwEAAaNQME4w
+HQYDVR0OBBYEFDygTzrIA3e5rGFzdiO2wvSc19psMB8GA1UdIwQYMBaAFDygTzrI
+A3e5rGFzdiO2wvSc19psMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB
+AKa7SCivs+mdPcCPlB9IcBjAU6VrZx2L1hup/g1ciE0TiKW0T43rlA/F/14OBIuD
+W9767ynezlc84edcStDrczFK6fXFivnUL5I9OWt2SqgrWJvA8340mdPpu01Ot+AH
+95LshV+ObC7ZBgIzdkcvpeFn9Z0MhUHGBWubdj+9FLrKNJZylZjX6YaRlHpjzALf
+xyDs2gkwOpEXkoEOhSsXgCX5A1nrFaM3WAjAiJa/Mbq+FfrvY/9IlVKaHrGaohQz
+NkucJC+Y147gmvVEENbUsJzV1LKJMWurEpdETMvAKlqlaLuQEbpM2d78u0uNnTEC
+6JbScH21uNVRu8UMNFh3HFs=
+-----END CERTIFICATE-----
diff --git a/tests/devkeys/android/shared.pk8 b/tests/devkeys/android/shared.pk8
new file mode 100644 (file)
index 0000000..9403f0f
Binary files /dev/null and b/tests/devkeys/android/shared.pk8 differ
diff --git a/tests/devkeys/android/shared.x509.pem b/tests/devkeys/android/shared.x509.pem
new file mode 100644 (file)
index 0000000..63bc602
--- /dev/null
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIID/TCCAuWgAwIBAgIJAMAHZkxZ4orXMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4g
+VmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UE
+AwwHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0xNjA2MjkyMTUxNTBaFw00MzExMTUyMTUxNTBaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4G
+A1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UEAwwHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBALr6JlzAZ7FZi/tOUMJTkh9Q7JuKXqqMqrNR
+d2Y3/O4WFVVH/cLhLcbaRXzLTDnc1+X6U/hGxqEsxMw/ibzMez5Wcjpw1iUtjlAv
+xFS21Fl/plasmpZicCeGr7zrN0rWBAQFDqAGWLter/NTFwPJ//gxQWLumCs5RAx9
+KUH0c7SKKwyxj5iHeu9M/af26w0ZBNDaWMjASaOKL9Zf4mPxL6BT5n57WcYgRr/w
+DGzfQXJRFS1gkhmBLlBpK1Iqn+Em6QgtKvcLRIpxgIEHvYfQ9Wp+qJfzObbF571J
+UJvgebql21zESNURDM0MuME+8o5jFwCko9xp0bGBU47SHF9uKbUCAwEAAaNQME4w
+HQYDVR0OBBYEFGbO0kw1I8ALeMIbYEGg70I+iW/kMB8GA1UdIwQYMBaAFGbO0kw1
+I8ALeMIbYEGg70I+iW/kMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB
+AI4Q7dUgKjAPHEyUXsrWaQRalN86O01QorUNnGfXeNN+9YJbGUTB7Of0PUTFoU0o
+Fgw+yHcq1WbZeAH87TnQ6iICcDzcI2vUTxOT7Ag+TM1ZaxU56zhW+YFW8m4swq6C
+NQIRxqmPMObdnaWZcRbp3jl4o3xADGVCmylfnpwRWbCE1fvEIWI3oLtDHT1S+UDt
+Z0KVj93r3iauOt9CEkTJGKIy9bmaDXq8fEiS41gk0fYHZv2KA0YuxfldROqa18Mb
+E0WZMBvIuhmC5cdiNrfZ6bGJmc2ydkehZfYO5XKk/3gIxw7OCBK72t7N7jAQ5LGc
+fvx96vPRpY9nEAvElBEvv8o=
+-----END CERTIFICATE-----
diff --git a/tests/devkeys/arv_platform.vbprivk b/tests/devkeys/arv_platform.vbprivk
new file mode 100644 (file)
index 0000000..e0bc670
Binary files /dev/null and b/tests/devkeys/arv_platform.vbprivk differ
diff --git a/tests/devkeys/arv_platform.vbpubk b/tests/devkeys/arv_platform.vbpubk
new file mode 100644 (file)
index 0000000..2ac3bde
Binary files /dev/null and b/tests/devkeys/arv_platform.vbpubk differ
diff --git a/tests/devkeys/arv_root.vbprivk b/tests/devkeys/arv_root.vbprivk
new file mode 100644 (file)
index 0000000..7747717
Binary files /dev/null and b/tests/devkeys/arv_root.vbprivk differ
diff --git a/tests/devkeys/arv_root.vbpubk b/tests/devkeys/arv_root.vbpubk
new file mode 100644 (file)
index 0000000..aebe2a4
Binary files /dev/null and b/tests/devkeys/arv_root.vbpubk differ
diff --git a/tests/devkeys/cr50.pem b/tests/devkeys/cr50.pem
new file mode 100644 (file)
index 0000000..ea16e60
--- /dev/null
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEAp/kh8/NGr1GUMA6c0tq9cRhVMaMwhYCF6mkpeW/D+1k3lL5q
+pkjqDcYBZG4xbhdCgEH9ppPYKzwKBVieWuqf7uymLBlCLmaPA6P4J+IwhS001WoD
+0kACEhnbL4xeP21fwuz9/u6ucoM8kJsFV/gacADmuOKTrU89Kyj2J5iLWVQPMMAM
+BOk+3BNamWwnCRk+CvcT+EQHtzcFkK2avm4HUQNSzhL407NbvsHwUjv7N6wtjeu5
+VLaTLTHxk9Z5savcn2jgxWASn4M59dpD7KSTYi4LsY8NPUWswz0E2a0vk8rfthtA
+amTkU4MT9ohVYq2JTCj5DC3DV/0Z7xiZ+ZsYPQIBAwKCAQBv+2v394R04Q11XxM3
+PH5LZY4hF3WuVa6cRhumSoKnkM+4fvHEMJwJLquYSXZJZNcAK/5vDTrHfVwDkGmR
+8b/0ncQdZiwe7woCbVAalssDc3iORq021Va2u+d1CD7U85Usnf6p9HRMV321vK46
+pWb1Ve8l7GJziijHcKQaZbI7jEq4JKyk9lL7seEWjf2zHyiLnh8wxQK7Ebizrqw9
+EIH3tmC6JKvbGJPizQ6tz1O0bVwiaHmZObouRxBTE8fL2zuSmJunqsYK4xqWfRsb
++RcSDndzBTW89qZr7i3h22g8jUsMiPBqV9/l9w1dOxnWwAtQSHfebcCA2u3OxUGM
+9dpTAoGBANhm0GYySwuCJc8lJpsBUl2tbuw7pzRdDe8BuqGv2aaEHx7arwFat1AA
+ZHVlQquWaKxwCuyFY/QlGq4uTNHhkBgygnFeEvtZ0KaKSVBBXY0Fbhq+N6rsX7FQ
+eRb4sz7We/aFR2K1V52dHaetOjMBfLhX1e7dZRwX8xnSSKuQeB6DAoGBAMa1uKLb
+LLbgYrnScI97GCOMGvjzdU9BjoGBbPay+53ZUqLcLPWwVy3qKeToQlISn3bqRBZp
+fAfCrKro6/weUusRAYXrzO41XeuJ1UsBUWPBqj3Gz5G1dAHQ3qkOMNRievieBnUV
+iXbdctg9dXufEL/75lZhJAZ+wZtmqAwVsjI/AoGBAJBEiu7MMgesGTTDbxIA4ZPI
+9J19GiLos/Sr0cEf5m8Cv2nnH1Y8ejVVmE5Dgce5mx2gB0hY7U1uEcl0MzaWYBAh
+rEuUDKeRNcRcMOArk7NY9BHUJRydlSDgULn7IinkUqRY2kHOOmkTaRpzfCIA/dA6
+jp8+Q2gP92aMMHJgUBRXAoGBAIR5JcHncySVlyaMSwpSEBeyvKX3o4ortFZWSKR3
+Umk7jGySyKPK5MlGxpia1uFhv6ScLWRGUq/XHcdF8qgUN0dgq66dM0l46UexONyr
+i5fWcX6EimEjoqvglHC0II2W/KW+rvi5Bk8+TJAo+P0UtdVSmY7rbVmp1meZxV1j
+zCF/AoGAcm2nAn275kfGZjXkTCYTZ6IXJgxcc4vXhv573UfNIJnC0Sg9rsgFiXHc
+nuQwFh5pTm4hU7uEknc/IobFLdCqM9mqujuYmboj0pmbRfOsjV9hqcmuo1OrSbJa
+gozzsNqU2I6srVW5SlCwWu1c4rBlBZvcdUtBRRb2b6bnhe29ykg=
+-----END RSA PRIVATE KEY-----
diff --git a/tests/devkeys/ec.keyblock b/tests/devkeys/ec.keyblock
new file mode 100644 (file)
index 0000000..d934291
Binary files /dev/null and b/tests/devkeys/ec.keyblock differ
diff --git a/tests/devkeys/ec_data_key.vbprivk b/tests/devkeys/ec_data_key.vbprivk
new file mode 100644 (file)
index 0000000..9f194ce
Binary files /dev/null and b/tests/devkeys/ec_data_key.vbprivk differ
diff --git a/tests/devkeys/ec_data_key.vbpubk b/tests/devkeys/ec_data_key.vbpubk
new file mode 100644 (file)
index 0000000..5804dfd
Binary files /dev/null and b/tests/devkeys/ec_data_key.vbpubk differ
diff --git a/tests/devkeys/ec_root_key.vbprivk b/tests/devkeys/ec_root_key.vbprivk
new file mode 100644 (file)
index 0000000..4914472
Binary files /dev/null and b/tests/devkeys/ec_root_key.vbprivk differ
diff --git a/tests/devkeys/ec_root_key.vbpubk b/tests/devkeys/ec_root_key.vbpubk
new file mode 100644 (file)
index 0000000..76c26f9
Binary files /dev/null and b/tests/devkeys/ec_root_key.vbpubk differ
diff --git a/tests/devkeys/firmware.keyblock b/tests/devkeys/firmware.keyblock
new file mode 100644 (file)
index 0000000..e3653f8
Binary files /dev/null and b/tests/devkeys/firmware.keyblock differ
diff --git a/tests/devkeys/firmware_bmpfv.bin b/tests/devkeys/firmware_bmpfv.bin
new file mode 100644 (file)
index 0000000..3e9af97
Binary files /dev/null and b/tests/devkeys/firmware_bmpfv.bin differ
diff --git a/tests/devkeys/firmware_data_key.vbprivk b/tests/devkeys/firmware_data_key.vbprivk
new file mode 100644 (file)
index 0000000..49e5751
Binary files /dev/null and b/tests/devkeys/firmware_data_key.vbprivk differ
diff --git a/tests/devkeys/firmware_data_key.vbpubk b/tests/devkeys/firmware_data_key.vbpubk
new file mode 100644 (file)
index 0000000..804d566
Binary files /dev/null and b/tests/devkeys/firmware_data_key.vbpubk differ
diff --git a/tests/devkeys/installer_kernel.keyblock b/tests/devkeys/installer_kernel.keyblock
new file mode 100644 (file)
index 0000000..282e1d6
Binary files /dev/null and b/tests/devkeys/installer_kernel.keyblock differ
diff --git a/tests/devkeys/installer_kernel_data_key.vbprivk b/tests/devkeys/installer_kernel_data_key.vbprivk
new file mode 100644 (file)
index 0000000..0379595
Binary files /dev/null and b/tests/devkeys/installer_kernel_data_key.vbprivk differ
diff --git a/tests/devkeys/installer_kernel_data_key.vbpubk b/tests/devkeys/installer_kernel_data_key.vbpubk
new file mode 100644 (file)
index 0000000..3e9e67c
Binary files /dev/null and b/tests/devkeys/installer_kernel_data_key.vbpubk differ
diff --git a/tests/devkeys/kernel.keyblock b/tests/devkeys/kernel.keyblock
new file mode 100644 (file)
index 0000000..6bb7213
Binary files /dev/null and b/tests/devkeys/kernel.keyblock differ
diff --git a/tests/devkeys/kernel_data_key.vbprivk b/tests/devkeys/kernel_data_key.vbprivk
new file mode 100644 (file)
index 0000000..8d392fb
Binary files /dev/null and b/tests/devkeys/kernel_data_key.vbprivk differ
diff --git a/tests/devkeys/kernel_data_key.vbpubk b/tests/devkeys/kernel_data_key.vbpubk
new file mode 100644 (file)
index 0000000..80910b7
Binary files /dev/null and b/tests/devkeys/kernel_data_key.vbpubk differ
diff --git a/tests/devkeys/kernel_subkey.vbprivk b/tests/devkeys/kernel_subkey.vbprivk
new file mode 100644 (file)
index 0000000..195b1bf
Binary files /dev/null and b/tests/devkeys/kernel_subkey.vbprivk differ
diff --git a/tests/devkeys/kernel_subkey.vbpubk b/tests/devkeys/kernel_subkey.vbpubk
new file mode 100644 (file)
index 0000000..a24a036
Binary files /dev/null and b/tests/devkeys/kernel_subkey.vbpubk differ
diff --git a/tests/devkeys/key.versions b/tests/devkeys/key.versions
new file mode 100644 (file)
index 0000000..6270b88
--- /dev/null
@@ -0,0 +1,5 @@
+name=devkeys-premp
+firmware_key_version=1
+firmware_version=1
+kernel_key_version=1
+kernel_version=1
diff --git a/tests/devkeys/key_ec_efs.vbprik2 b/tests/devkeys/key_ec_efs.vbprik2
new file mode 100644 (file)
index 0000000..063394a
Binary files /dev/null and b/tests/devkeys/key_ec_efs.vbprik2 differ
diff --git a/tests/devkeys/key_ec_efs.vbpubk2 b/tests/devkeys/key_ec_efs.vbpubk2
new file mode 100644 (file)
index 0000000..8bceb34
Binary files /dev/null and b/tests/devkeys/key_ec_efs.vbpubk2 differ
diff --git a/tests/devkeys/minios_kernel.keyblock b/tests/devkeys/minios_kernel.keyblock
new file mode 100644 (file)
index 0000000..3675690
Binary files /dev/null and b/tests/devkeys/minios_kernel.keyblock differ
diff --git a/tests/devkeys/minios_kernel_data_key.vbprivk b/tests/devkeys/minios_kernel_data_key.vbprivk
new file mode 100644 (file)
index 0000000..da3a15b
Binary files /dev/null and b/tests/devkeys/minios_kernel_data_key.vbprivk differ
diff --git a/tests/devkeys/minios_kernel_data_key.vbpubk b/tests/devkeys/minios_kernel_data_key.vbpubk
new file mode 100644 (file)
index 0000000..34ff93b
Binary files /dev/null and b/tests/devkeys/minios_kernel_data_key.vbpubk differ
diff --git a/tests/devkeys/recovery_kernel.keyblock b/tests/devkeys/recovery_kernel.keyblock
new file mode 100644 (file)
index 0000000..c1c8eff
Binary files /dev/null and b/tests/devkeys/recovery_kernel.keyblock differ
diff --git a/tests/devkeys/recovery_kernel_data_key.vbprivk b/tests/devkeys/recovery_kernel_data_key.vbprivk
new file mode 100644 (file)
index 0000000..0379595
Binary files /dev/null and b/tests/devkeys/recovery_kernel_data_key.vbprivk differ
diff --git a/tests/devkeys/recovery_kernel_data_key.vbpubk b/tests/devkeys/recovery_kernel_data_key.vbpubk
new file mode 100644 (file)
index 0000000..3e9e67c
Binary files /dev/null and b/tests/devkeys/recovery_kernel_data_key.vbpubk differ
diff --git a/tests/devkeys/recovery_key.vbprivk b/tests/devkeys/recovery_key.vbprivk
new file mode 100644 (file)
index 0000000..6c7ab36
Binary files /dev/null and b/tests/devkeys/recovery_key.vbprivk differ
diff --git a/tests/devkeys/recovery_key.vbpubk b/tests/devkeys/recovery_key.vbpubk
new file mode 100644 (file)
index 0000000..86d2471
Binary files /dev/null and b/tests/devkeys/recovery_key.vbpubk differ
diff --git a/tests/devkeys/root_key.vbprivk b/tests/devkeys/root_key.vbprivk
new file mode 100644 (file)
index 0000000..74c47dd
Binary files /dev/null and b/tests/devkeys/root_key.vbprivk differ
diff --git a/tests/devkeys/root_key.vbpubk b/tests/devkeys/root_key.vbpubk
new file mode 100644 (file)
index 0000000..dfca9d0
Binary files /dev/null and b/tests/devkeys/root_key.vbpubk differ
diff --git a/tests/devkeys/uefi/db/db.children/.srl b/tests/devkeys/uefi/db/db.children/.srl
new file mode 100644 (file)
index 0000000..831551b
--- /dev/null
@@ -0,0 +1 @@
+AEECCF182C203305
diff --git a/tests/devkeys/uefi/db/db.children/db_child.csr b/tests/devkeys/uefi/db/db.children/db_child.csr
new file mode 100644 (file)
index 0000000..4def9c4
--- /dev/null
@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIC1DCCAbwCAQAwgY4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh
+MRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgTExDLjEU
+MBIGA1UECwwLQ2hyb21pdW0gT1MxJjAkBgNVBAMMHWxha2l0dSBVRUZJIERCIENo
+aWxkIEtleSB2MS4xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuyrK
+i4XJtjEa4TcUAuW3aj6KL3UBGo8YkTBI9zU4HO+LGdcBU8dN/+xE5MmIaELnX0YS
+JvfuZLO1NUeGj+mbR79lLM1K0EDNCsbxysNe61cuBSsDNbI8hrCVEKjnyzhcfZLj
+tnf7n527IxIWJH5y4pLUvt47PGoyGr8VACG2/kCRVskKLUZyc+fgXKVFd4skKLlu
+FwT0HoSH3Xb/4ZnW15jrrZ2NMnwZgNCcFA1YkCfcL0iicPwlEGluc9uDvqd7sYnt
+esPxxDwCdY4iwr/8s5pk0xlz1uIEEXw5D03iKkUkfG7gWR0auE4kkuMMNkI/1LIO
+69D+YpZZEMINKcR8TwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAHZ5Oy7hkl1p
+b+mgI/+WD/tYAtKIB9v2MfO6kgYZ2wJMNmIJieIipuS7KKmePfUDlnLdvq0yGnpP
+d4sNy+DYhjXS0ywluSrZTiaiJ9B3gecYbxyHUsTMG4IeJby48G52tdxJ5BNnb/Qh
+Hs0+m7xfNz9B2mifJl/e2jOSp7LgRHfSF8PQeSdRQSj/2/pXSmbL/tLZ7ZaajKLM
+KyX32mSD+XyqIcDluVdwiG8CKDQnL4068RfW1hMyub4uqtP0WqEmDFWdBu4h4OXz
+OwJnuTOkt2MEthT9vlwtSFr+gArMMEmH+rJwISc5einvLf4JELD/VlhHfQFxRhDW
+M5xO7XgGCY4=
+-----END CERTIFICATE REQUEST-----
diff --git a/tests/devkeys/uefi/db/db.children/db_child.pem b/tests/devkeys/uefi/db/db.children/db_child.pem
new file mode 100644 (file)
index 0000000..6cf5cd7
--- /dev/null
@@ -0,0 +1,22 @@
+-----BEGIN CERTIFICATE-----
+MIIDlDCCAnwCCQCu7M8YLCAzBTANBgkqhkiG9w0BAQsFADCBhjELMAkGA1UEBhMC
+VVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcx
+FDASBgNVBAoMC0dvb2dsZSBMTEMuMRQwEgYDVQQLDAtDaHJvbWl1bSBPUzEeMBwG
+A1UEAwwVbGFraXR1IFVFRkkgREIgS2V5IHYxMCAXDTE4MDQxMDEyNTEyN1oYDzIy
+MTgwMjIxMTI1MTI3WjCBjjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3Ju
+aWExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcxFDASBgNVBAoMC0dvb2dsZSBMTEMu
+MRQwEgYDVQQLDAtDaHJvbWl1bSBPUzEmMCQGA1UEAwwdbGFraXR1IFVFRkkgREIg
+Q2hpbGQgS2V5IHYxLjEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7
+KsqLhcm2MRrhNxQC5bdqPoovdQEajxiRMEj3NTgc74sZ1wFTx03/7ETkyYhoQudf
+RhIm9+5ks7U1R4aP6ZtHv2UszUrQQM0KxvHKw17rVy4FKwM1sjyGsJUQqOfLOFx9
+kuO2d/ufnbsjEhYkfnLiktS+3js8ajIavxUAIbb+QJFWyQotRnJz5+BcpUV3iyQo
+uW4XBPQehIfddv/hmdbXmOutnY0yfBmA0JwUDViQJ9wvSKJw/CUQaW5z24O+p3ux
+ie16w/HEPAJ1jiLCv/yzmmTTGXPW4gQRfDkPTeIqRSR8buBZHRq4TiSS4ww2Qj/U
+sg7r0P5illkQwg0pxHxPAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAHe5m31WaBVW
+v/EdEi1XL27VIRF0tVAHtKWS6KyJImMXIri6ro+LvrgiGNc9QKHSOi6BQclnLC9p
+1tKhBOvWTfsKaVCy3T4hfL5JDuhcBRNaCoeJH6sJE0P8ZAomRNytQX6TdLa7z+L/
+MV+3U5h5r4RCS1sM4KJCoDWSk3jAZK1hJ6NYY85TSgd6FLNcZInIB3vaLF+Fnz6J
+xDgZXl5OIzqfD6gp0o2lC/YAX28F6C6V57r6yUM4nJus4Ah1vnMLDl6xlB1qTOG7
+bl2cgf+sxyjyRQRx+2WljXDbhhQZQMMHbi5iQKmwI5/puIwGwduAk01T+fHHD6CI
+C0qJ/AJk/dw=
+-----END CERTIFICATE-----
diff --git a/tests/devkeys/uefi/db/db.children/db_child.rsa b/tests/devkeys/uefi/db/db.children/db_child.rsa
new file mode 100644 (file)
index 0000000..7f64b5b
--- /dev/null
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC7KsqLhcm2MRrh
+NxQC5bdqPoovdQEajxiRMEj3NTgc74sZ1wFTx03/7ETkyYhoQudfRhIm9+5ks7U1
+R4aP6ZtHv2UszUrQQM0KxvHKw17rVy4FKwM1sjyGsJUQqOfLOFx9kuO2d/ufnbsj
+EhYkfnLiktS+3js8ajIavxUAIbb+QJFWyQotRnJz5+BcpUV3iyQouW4XBPQehIfd
+dv/hmdbXmOutnY0yfBmA0JwUDViQJ9wvSKJw/CUQaW5z24O+p3uxie16w/HEPAJ1
+jiLCv/yzmmTTGXPW4gQRfDkPTeIqRSR8buBZHRq4TiSS4ww2Qj/Usg7r0P5illkQ
+wg0pxHxPAgMBAAECggEAM8wm26/93879KmDMx/R86wk9wt51nL0HRn7/YnK3AcMF
+UvReqKnamz3u3wYrGveRApvowCITNolJV+JgiglTcOq1/E0gLDwSwq3GEqA475Zj
+5Qg/Tifyei/6QO8Nnv8NEa+KF2BjIYxMUutZd2YLM0sBV4U3DYQyM5a4IB40f24z
+Qir2sfKGluB2RlmQLWM3BgvVHveA1ZWydEU673NXWG5q2SaksOm3O0wS+ddxLQ0+
++7j35/0sdJbie9qVT81xAtwglJeS9TfzgNobnLLzB+1UbHrUbQhgdwrnZtT5L7Ik
+zqVuf0Awa6FHbHbkJOSpqD87UUkmDYBcfCkWfcizoQKBgQDyTfN0oDw7xtNmsHoa
+9P+ZrHLR1BTOSszo+Cy05r5NVuDG9CHXrtms/gRalJUYqZfL60DOSdMISN2QUPUu
+qN+rJhaGE2bIoKg2lslqcVaiWglsqFNYDmCmuElp8TQO3u5AsfvxzfZNH8OkaO71
+EnMVEe4LDXXd1hqiSVOHcfbF/wKBgQDFvwZhhmq8sLwoKYna0YpALnaHGzI1MmCv
+54n2OZ9FE9dVTLUsLvt42Nn4uSam2NK2jXTXrqlWy2xR869PgRlJsBAHkXrzAvzQ
+eXGeob65FxD/7tMjR7XrzZkUHUqBzNaF1OP5pGvmUDw0gyBU6MURMz9/WgJTghMm
+23PZORBpsQKBgHn/P3XX+5vJRsUsU75g3pScHA+DrZoUVUlzMuc+SlCcTn49ixCS
+S6zrFHwa1VregLw+TZnP174TGeNAr8H3au48Nhj5icW4Bhm+H9lFCW6i0J3xvkzW
+qFko7mW1+RUHr4PJWWXs4ncAaDvOTYn86Q6RwX21IEQ6OZy+OJ04hxw3AoGAIz4I
+RRlPrJFS91Vv3C+8E/Qz66BNMm3oDXGWhOuAFy+SEQG6yEUXTFJZhpp46QN7ik1r
+pYTbaTyX8YMcm27GsvtN4AttfiHqLL14Im1xMEuMHBDUUFVXds8NmSgfP0LieLeY
+acWD9WgXUsSL3pYdiRM5HdlM0NU91I8H9o7U/gECgYAYmvBCOMvRNzyKV1bzXv0t
+YdaCWmF5s0pAaYyPTNDgXMlUPVwLLP3/JwdVe733X8J0KmppY9le24voKwfnpEnr
+xmAZG8yXCqBarvqX+/tPip3aQ5qAAmVk3VC8GOX7WIvYdWx/8mJetoCkYVSDY6q+
+6XltHMnJKXo4IRi4LmW9PA==
+-----END PRIVATE KEY-----
diff --git a/tests/devkeys/uefi/db/db.pem b/tests/devkeys/uefi/db/db.pem
new file mode 100644 (file)
index 0000000..1bf3200
--- /dev/null
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIID5jCCAs6gAwIBAgIJAOwYo5fTA9BIMA0GCSqGSIb3DQEBCwUAMIGGMQswCQYD
+VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4g
+VmlldzEUMBIGA1UECgwLR29vZ2xlIExMQy4xFDASBgNVBAsMC0Nocm9taXVtIE9T
+MR4wHAYDVQQDDBVsYWtpdHUgVUVGSSBEQiBLZXkgdjEwIBcNMTgwNDEwMTI1MTI3
+WhgPMjIxODAyMjExMjUxMjdaMIGGMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2Fs
+aWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEUMBIGA1UECgwLR29vZ2xl
+IExMQy4xFDASBgNVBAsMC0Nocm9taXVtIE9TMR4wHAYDVQQDDBVsYWtpdHUgVUVG
+SSBEQiBLZXkgdjEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfMcTP
+a9xASIdKLemYcuHqhVXBg7fK5ySxwzZPJLoLHRu0Zur+IUJfJVrvajfgkjOzyYkO
+g7xoOSG4icA2gMXmyQkyMNQdU3BKNDXpG2BlVdOmQgwxP3xLo6Nj8n6UdSt9mKtb
+bTtgtmnYl7HF30uM5oc74bFwVMcfsssTEfsRCk/zYqYdBa3R9hoteXW6g/mZPH21
+PE50XZA3q88B3aajo5YMVVnQWjiEPp2CG8lqW/UQrUC9Upm5wjR91m5s4V4T24Bx
+56+ZR8qG0+QiscCaQaiIF0xQFEhQJpdm6f0wjLbmDazCgGLU+RjvC/esLeAbgZ2I
+OJ0GRbT9ml1l2rnRAgMBAAGjUzBRMB0GA1UdDgQWBBRedD8XEgd6A0gB6pTNcRAM
+Lup/NjAfBgNVHSMEGDAWgBRedD8XEgd6A0gB6pTNcRAMLup/NjAPBgNVHRMBAf8E
+BTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCJCJMUwUuuk+Eh0VGpTodsmlqsJF4V
+QQybTcNPoHEHZMTpo6+4yBB5e4hqMwHqh1GGLY2kk2skKrsS3JzwS/q24lUZNKjN
+j7izcDvbvWQ/3fnw10xLd74To3fR+/fcEwVdLnBUPObXI3Zo3HuhC6Xu4atiAf3+
+yqAw5eJ13YBMr0xLLIw04aAVW77NphI8tSilbQFH8rErjtqUn/5ixRuGz6Obdnvd
+qm8Y26b8F++8Xb4drMqOUQK72Md1FtcYIbViw5HJ13W/GhFRcQM0Y7GeIWrdu51i
+senPG8+Phx9w6saBDyTfmoECi7NQOH9Me0DIlHHyv9Qt1ucWpm4e4QVs
+-----END CERTIFICATE-----
diff --git a/tests/devkeys/uefi/kek/kek.pem b/tests/devkeys/uefi/kek/kek.pem
new file mode 100644 (file)
index 0000000..b4ad3d8
--- /dev/null
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIID+jCCAuKgAwIBAgIJALtwz4UZ85HjMA0GCSqGSIb3DQEBCwUAMIGQMQswCQYD
+VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4g
+VmlldzEUMBIGA1UECgwLR29vZ2xlIExMQy4xFDASBgNVBAsMC0Nocm9taXVtIE9T
+MSgwJgYDVQQDDB9sYWtpdHUgVUVGSSBLZXkgRXhjaGFuZ2UgS2V5IHYxMCAXDTE4
+MDQxMDEyNTEyNloYDzIyMTgwMjIxMTI1MTI2WjCBkDELMAkGA1UEBhMCVVMxEzAR
+BgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcxFDASBgNV
+BAoMC0dvb2dsZSBMTEMuMRQwEgYDVQQLDAtDaHJvbWl1bSBPUzEoMCYGA1UEAwwf
+bGFraXR1IFVFRkkgS2V5IEV4Y2hhbmdlIEtleSB2MTCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAJUzo+ngXE7adr3jM9WMLTy0jQYfZPeTWUMAbL8ykpAi
+DK7TSNXnldeEYq4KD+r6BHOKjOy9lknfCDYvWVH+lgnKKAvCG+T2brqHyH9YbDjE
+0cXg3p81014bFlNHYNDUf2dFW1SwXbXUWKAA+RsE/2eBfwHf1KIi13j3sN8Qvqmf
+8WhR/WxasbsmRwXrIdtr7tRbgQuEgJdbcCIVEC54WLu6BuWF9yWVJBZ7iNIy1ZAU
+gQMvnqf3uFOWoYpQ/CbblSR6n3L3rYwPzT/cJ0HjNaXxKfl83D5liLiJZ8MFzRDD
+sOWZup5XgCsV1kSYjLY2lccpTvf9EUbiniEQ04mQaQMCAwEAAaNTMFEwHQYDVR0O
+BBYEFEBKHZs+UeJAHr/nVlHIGEFc2a6mMB8GA1UdIwQYMBaAFEBKHZs+UeJAHr/n
+VlHIGEFc2a6mMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAADo
+J1Coo3fu9w0JWx+8OQKMgXLELQnakyaLHOVuZOZtPEUmyC+986oGuUfuYXMksI45
+y9hgyAUl+lHoMoqXeWE40XLCVcDOVqm8Z/E4ktYhec8qPL0XwDeRswDcnmnQ/q9w
+sgzLYw0Vw4XEDwjZqnk+1pq9/i1w90rGUWeszpIOEMEKvAxnMyPz+tj6EXYRn1C0
+NmeoDymps2RRqz5gVtkPBTZ3YBfC6d0P2ID+O96Ynm2mpqxqU23UhA1ZLsyZO/PJ
+vNQqpf0Z/s8Jc7M9z4gwZkDHUMQN5a4k6YEV0hU0i61TnFUtbC1jaFmNKhnXwAEy
+54/PbPwp/Tco1OPviac=
+-----END CERTIFICATE-----
diff --git a/tests/devkeys/uefi/pk/pk.pem b/tests/devkeys/uefi/pk/pk.pem
new file mode 100644 (file)
index 0000000..5ba635d
--- /dev/null
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIID8jCCAtqgAwIBAgIJAOH6BWjsyxqKMA0GCSqGSIb3DQEBCwUAMIGMMQswCQYD
+VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4g
+VmlldzEUMBIGA1UECgwLR29vZ2xlIExMQy4xFDASBgNVBAsMC0Nocm9taXVtIE9T
+MSQwIgYDVQQDDBtsYWtpdHUgVUVGSSBQbGF0Zm9ybSBLZXkgdjEwIBcNMTgwNDEw
+MTI1MTI2WhgPMjIxODAyMjExMjUxMjZaMIGMMQswCQYDVQQGEwJVUzETMBEGA1UE
+CAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEUMBIGA1UECgwL
+R29vZ2xlIExMQy4xFDASBgNVBAsMC0Nocm9taXVtIE9TMSQwIgYDVQQDDBtsYWtp
+dHUgVUVGSSBQbGF0Zm9ybSBLZXkgdjEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQDFXgkTQcjxf0Bekk2fvfRIGENhcQsNCVBu3L41SCZwcyrUVjRarzWk
+e+WUnXFFa4fS+z+HoscM0ioKTzc2J6WtsWIU1JgU48H74U6jIfsrn03+qZ02SVxr
+Q9+bajdM+e+Euv2UjVhU+BXnwqWWMjJfwsXBxs6/noYvMreDdFoUk1D4CnNJ2Feo
+9Vi0GnGbi4zlFhsILHja8fKU0uxIa7rwxUKdNMbmJ2nFCtQEllzZG1Ec7lg/JA+X
+EplFP6crWuUEIJxUoyBGH+fRNuvKjnljRYwktP7sVt5JiU3AUGYwMrq2poZS3ts3
+hKj+1xqoc9Fi7z+80RpiDWV6ZQB6gesFAgMBAAGjUzBRMB0GA1UdDgQWBBRigqC7
+Gu0Bntwf023uNkRFlsZBXjAfBgNVHSMEGDAWgBRigqC7Gu0Bntwf023uNkRFlsZB
+XjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAVFMhrW1EsAHu0
++0RvZHO9YODWPGD8tTQtB3JWJ1O9ETlTWnNgLboJlCesd1r5oBOXjt+HqWBbFoa/
+YvTo3HbIZawYWra+ia2MBIfHoqQUVx8M3CaLt8OnCepFyZPbD16qivU3KRtw7yz5
+pQr42RVDyk4rG6i/q9QO0+gnhon4ZezCqkJni5gm6vZN4a+ST2ntk4MqoKexHJTg
+EUwsiBy9kxCnZ1jW2VXvA1WrF8M/++7TsG5jeFI1heILdLiaDFjn4bqWBV/MUaGM
+a6Mo5QLL/VoIl/IGXw8Z3f4Rjy0ssFtGnnpF2zP6T1qbl+mTMRnxyywFdZaxkQtg
+ViVbKP10
+-----END CERTIFICATE-----
diff --git a/tests/devkeys/uefi/uefi_key.versions b/tests/devkeys/uefi/uefi_key.versions
new file mode 100644 (file)
index 0000000..d7f51a7
--- /dev/null
@@ -0,0 +1,4 @@
+pk_key_version=1
+kek_key_version=1
+db_key_version=1
+db_child_key_version=1
diff --git a/tests/external_rsa_signer.sh b/tests/external_rsa_signer.sh
new file mode 100755 (executable)
index 0000000..0724b87
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+if [ $# -ne 1 ]; then
+  echo "Usage: $0 <private_key_pem_file>"
+  echo "Reads data to sign from stdin, encrypted data is output to stdout"
+  exit 1
+fi
+
+openssl rsautl -sign -inkey $1
diff --git a/tests/futility/binary_editor.c b/tests/futility/binary_editor.c
new file mode 100644 (file)
index 0000000..f5d6a66
--- /dev/null
@@ -0,0 +1,38 @@
+/* Copyright 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * This is a very simple binary editor, used to create corrupted structs for
+ * testing. It copies stdin to stdout, replacing bytes beginning at the given
+ * offset with the specified 8-bit values.
+ *
+ * There is NO conversion checking of the arguments.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+int main(int argc, char *argv[])
+{
+       uint32_t offset, curpos, curarg;
+       int c;
+
+       if (argc < 3) {
+               fprintf(stderr, "Need two or more args:  OFFSET VAL [VAL...]\n");
+               return 1;
+       }
+
+       offset = (uint32_t)strtoul(argv[1], 0, 0);
+       curarg = 2;
+       for ( curpos = 0; (c = fgetc(stdin)) != EOF; curpos++) {
+
+               if (curpos == offset && curarg < argc) {
+                       c = (uint8_t)strtoul(argv[curarg++], 0, 0);
+                       offset++;
+               }
+
+               fputc(c, stdout);
+       }
+       return 0;
+}
diff --git a/tests/futility/data/EC_RW.bin b/tests/futility/data/EC_RW.bin
new file mode 100644 (file)
index 0000000..4f5a46a
Binary files /dev/null and b/tests/futility/data/EC_RW.bin differ
diff --git a/tests/futility/data/README b/tests/futility/data/README
new file mode 100644 (file)
index 0000000..6723f3d
--- /dev/null
@@ -0,0 +1,6 @@
+These are officially signed BIOS images from existing Chromebooks.
+
+  bios_mario_mp.bin   uses old names for the FMAP areas
+  bios_zgb_mp.bin     RW firmware A and B are different
+  bios_link_mp.bin    uses the RO_NORMAL flag to skip RW firmware validation
+  bios_peppy_mp.bin   doesn't do any of those things
diff --git a/tests/futility/data/bios_link_mp.bin b/tests/futility/data/bios_link_mp.bin
new file mode 100644 (file)
index 0000000..f724fd3
Binary files /dev/null and b/tests/futility/data/bios_link_mp.bin differ
diff --git a/tests/futility/data/bios_mario_mp.bin b/tests/futility/data/bios_mario_mp.bin
new file mode 100644 (file)
index 0000000..8a6e8c5
--- /dev/null
@@ -0,0 +1,8001 @@
+$LOGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\ 1\0\0\0\a\0\0\0        \11\ 2É\ 6\ 1\0\11àÆ!\ 1\0\0\0\ 4\0\0\0Ð\13\0\0\0\14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0¡\0\0\0\ 1\0\ 2\0\a\0\0\05\0\0\0\10\ 1\10\0\10\ 2        \ 1\ 4\0\0\ 1\0\0\0É\ 6\ 1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0í!öPá\ fØp£\eÐ\8a\1eöÚÌV\15\8a\97@
+V Ù]Ê\Y =\ 2\82\bË\846\95î\ 6¾
+\98\17笠l\r\16\f\93yýïÕó\r§F\ fb°#\8a\ 4pðì\95¿\97¹Ávma(Qi¹´¶\1d÷iÌá\16\eW\9aßȼÀPͳâ\852u\92Á¾¶\ 4z\97\7fkåÄ\85@R'ó\8bfL¥ê³ø\ 6ÞÌ+ä´        F
+;\ 3Þ/n\ f\b³>ðï\93N\ 10\88"o\8a\W÷Ò\91\8dd\v÷\8a\99\89\a@FMØ\80Nóåd~5óê¾âÑ:\éÇM~å0VC!ì\9e\85\10\95X\1dËöïÞí0\10í=`~\82ã-KkÐoì\83ó\92@¦ä\87\98\8dݾü¾ï¯\11!\96¿\9aˬÎy\\7f¥ø\9b¾D\ e]¶Ó£ÜÊÑr\90P:çH\ 4È\v\8dÓ\94êj>@rÃ\11\0\0\0\81Û#¦ÞÔ\15\96è\13"ZÃV\91uE\97I\9b¯]?\rr\ f¾\81ø\ f\9f@\ 4\95Sè¨Ý«\ 1\0È\99ºý\98|×-\86\8dÀ\1d/o$\8c\82õ"A`:Ó<<öÞh\v½\92\9aÜAGztÕ\13\94'6\a\8b¤|ÙÕ\8a¹ZÑ\9c|£p\1cÑ\0;|Ôº\vÔI}(^\81\ 6´\1f>4c\11|\' FFMº.Gké\9b:h\9fyHú©\94÷j=y÷\13Y}\8c\9eÑ-+-\8bÐ\8c\84\91º\15°\12µIâ\ fG\10Z[9\9fæ\bocOé¦á\1dë\üÛÍó\1a\1c\9faÿ¯%Þ<\rÌ\85\85draÞck×þ\ÜÒÿF\ 21/ÆÕ\7ftb¦X\fgþÃ(4\8f¸»/'ýO|\1c\99Bm<oiñ\ 6¿W3\90ôvu\f\9c\9dV\1f3£â\v\83í\10ñ)\88 ¶-\ 3\15Z\1e\12M¨'u\11yoÿ\9aÔ\8b'×͵xÁ!:TG\ fý5x\13Á¬X\fzý³\8b\r\12\v¯Õl\91û¤áw\83"=\0t¹¿f\ 429è3»Dµp®ß\97´\ 1Ü\¼\18·xÒÑ\13\0Î\14¾S\99\r"\17,1ò-íþ\87÷\821Õ2I\9céQD¼b"áG%O\f\ 3\14\ eéåÛ=\988\1fp\1e\1a©·t \94¢w»ù="\1d\9dlÑd\89\16å!C\1feÖ¹ï¥ûâ\1eìä\9f­D&a\9f_S¨\93çøñ(­«Ü§ú£ê\90P©pîA¤\86æhe\868ñL;p\1f®M¾ñyHÿ\90_\8c\95adG¦hýq
+\9d\12ýshñ=%÷aåÂäQ\8c\14ús²*?\fw¿\ 2¥È\8e\9eË\0HM\19=ð   ­\13[]"\86±!-.\99±\ fCèý/8Øçñ´í\93'Y[\0 µ"\b\ 2Ë#\96\10H+I,\ f¾3'²$­         ?fö\eð¹ÅÈ2é\80\98\10Ûÿÿ ^$¬¯mïæ<\82
+\0/\1eç£\15¼Á³w (¿Zq`:F´\17\9d\880\16\9a\11èõ@\7fü\ 3\89\97\ËeÙ\e~~3\ 3\15¹²¨\9eó´G\80\8aw\83ºèÕ¿\16ä̲s\1e\92\8fßÅÏD\ 2öógñ\18\12÷×·\ 5Å\9aà\ 3dãÙI\97ôC8\9eËĨ=Æ®Aº\8b\f`èj\90¤-Ì3Þõ °\18\96\1a\96¹\ e\9as¦­+ÁÈ\84¹aÝÖfò£\82Ì]BWL\89\r8< íNôaJ\9fì\13ÛNöOÄZj Ìxô
+áÝåö\91\80\98æ¬\191C¬ÝW\17׬ÃÞÄÛ|\8d3µ+r6CÈH\11\ eä\r\9aåxÖ\18\18_9Û%o\9d\96V»(\ 3{/\8eb@õ\8c§S(;?¾§3I\83\1es\7f2H\9cç\\12\80>Öb\8b\12?.­À£=ÄMæþoE]à\9aæ×µàóýÉ\ 4\8eÛ\9díæ\18Þ+Ù\97ã\ e"ÐRÂmIÀcÿ1\9fÉq\10èQ\90ñOØzs®îi{\ 3\16Q']£R¢\90^ô8i¡C1³<óC\17\e\ 1:'½\7fàÅ\1e'Ç=ú!\98
+Ðì;ÿ\em\ emM0 \8aÐ\9c\86Eþ~)øå\80\97ªC_P禦Û2Þ?{|\ 2T\0«*#\9e\f+\9bö\8de×E\1f£ÄÊh[y\8c\9fG4DÒ¤vÞL\a\eæ)\9f\896äþ        \ 2\19\8eíþ'ÔÛÒë;\93[4`F\80-}úáö\ 5ï!\8cÌÓ\16zálÜ\89¸b\88¯È\fh-ô\ 3pv.=:\8b3\96qx\1d\9féûmß\99sy)7Qû\85]4:û\83\ 5®ïçF¦sæ\17Dº+\bÂô\11C\16/¤ÎÉ0nÎ\96sÛeó¤ÐËT\101*M_¯\ f~ãWÜÑçÑM\94¾±Ð\17\87ßý\1eF<T\90=\93Åîßñü\1fÏe\13ë$(~\14rüùYà\0\ 2äN\14\r%ákkä!*ì(ùN£\ 4è\1e\ 12\ 6Å\8bDD=\85¬i\ 6§\8b¹\ e\95>\85\ 2\ f\18¨>û\9co\18I ¸\8d®\9bÖ¤òþ\97v\82\ 2\8bYõ£v±\8d³y\1c¢¸Û  ýÉ/ê t80ø\14>\87¦µSê\9c­½Í\9bVæ_Ð!uN@fWUpø4¨GzxPÄi&\ 3È\13¶°iì\9cnf[¨!²\82â×ülE\v\9c@,á\819\8dwc\7f\95Y0\8c²B\8dÂ\81   ©Wñ\15\ 1\1a¤PÝm\9b</ \9f^\1aYj¼Ï­²cè3Ì1}\vnµAÌ\92Erç#î/\18!?\e¦\92#Uà^¾8qC\ 3\9f\17\96§k\1cò\93®\8bJ#\19AH»ÓÐ_\99`¬Ã?\89Uw7\9cn
+ÅÝ\ 3\ 1ÁáÄ,½a\8a\f¤<x)Ú­À?ÌáP~lxx¶0\19ãfàîH,å\8f)µ%
\9f]7\8fÞL\8bN\84ÜbË\90/k¢¼ë1Èý\8dLõcP\9azÅi\80ã2\908\14ûãÊ\aR\92.\97`Å®õ\98¬ScZ¶\18¯³ð@I
+I\ 3\F\8aÙN²N\10à\ eæËVoOþxHÝ\92ÉM\19Å\\8b\ 4º\98DI¯\ 2çxÕÚä\HÈfÞH0#\84^Òè\8b\ 5ªÒR\ 5c[öD\98åyµë\933\82\18h\88÷\ 50ÔwgµÃ/ÕŦÒ+A\904éÒ0\89±À\81\b\1e
+\96\ 5\17É
+\9cÚGyT\99¼²ØDX¸J8
+ߦÕ\ 3\81*Çë       5º\84Àsö»\1dìî\8dØ{ßÖó_cjÔ*ÒF⪸\10Û\ f   ´NÃ÷h\1a5\ e£@\1f)Dý\96>]\91\ 5½Òbï\HQ\90·i
+þR9$\83"û ÉI\9aô\19ËÁHPÚ÷1G\ 4Î\87Ë\8fßBïë\87\13\89Õ#°-M\9dPW¡¶\aÁ«}\9a¼\rì±\84\15\0\0\15:p\9aƤ h~iÎ\86\11Ho·¡ð\81ÁpÃ-o8\97ñ\18>JÄ\e\13\9fn\84V|\80²XÌ\1eñv²ôàj6º\97=6$\ 2VX¼Bõ;Ý\81\95*\ 2\1a\8b\88xºU9?P\87\0)\14A¢Æ§ç        \ 6\91\9f0ÓS½\rM\7fþ\11\v0õ'$y¹ô\95-Uµ\ f,°±îS<ÒËííÁ\f\1cêÕìÖQÏ\1a\8aïªá-\8a¡Íµä\8cáRVÁ#vÇ,J\0 \85\89XÜÂ\9dØæøÿ¢OÛ\8b\16ow ¤7ß\ 4x\9bƼî¢þè\12UàÕ@ÜãÁSf[aÈ\9d·hí\99÷C\rk\1eö\12Û¯w÷
+\83Ï\99\9aµ\0otÜ!{²\ 3\ 1L®<$\91\87\98\9b\86\96òùÁ*\ 6,\ eòÚÍà*{t\r`x»;Ý\84¿"­µxµ\17åô\1eç÷p\80\16\1f\85«a¹Øh|¡íy~?Ø<Êk\92g
+ý¢yÚ>å×Å\99\94\83 \1exúÃ!pºpy¨U½+2øt\9e®¼\v×BÌ!Ó\935ö²\92¾&aÛSÛ1Fû\19ò\86§;,ix\85Áðeß.\1eÔõ¼åÃØêÁ)ò\19\8eàÆk\949\15øÕkÄtÞÄ\17%Q\ 1;\15!÷#§{ê*e\97$\90g\ 2üÎw\83Àë\86wø[\8d\8eK}²x\1eg ^'\f\ 1øËæø#©\95}ÇØí\9bn\98¹÷&ñLÖQ¡\80\19b«ÆÞ3R\1fÒ­ü}çëãíf\84f@ìO1\91\82v\r\8b\ 1èyب-Qa\80ÿkL\90åµ¹öö\ 2(ÿK\aµ°Ó¶÷K\8fR¿îu\86péF-\13ãÞ\rD"lëºÙ\ 5¶Zá\9f\81Rb{w\ 1\Ë%}?§L\81\87\90l\8c\86\9f20YÊøwH|² wnÃ\0I\b¡àFÙ\ 4\95P¬Äè\13.gI¦{À(\10©
+wÒ\81>]i¥46d¦³ªN\9a´Çʾ'   \1a³c§Ó;S\80±Ô2@\ f[bÐ;ÃJ
\fE
+       \1dJîL=\16_\86\15À\9fȤ\96úª9\13ï"°\98ñ¾d\9e
+Öj\87:\7f×Ä*øpß{\16èUÅù"z©÷¶±£%u=à\8c\b.q
+`4Ûx\88\97¯îòa»DX\8a\e1áÚz\8fiV \1eÃ\83\12\1eá\ 6k\86_ÿcÂ\9aõ¨Ó-´×¾¦²J\8bé{ÑK«Ø\1e\92iãò\f\ 1Ú\Ýä»\8c\ 2z7ÍeÒ4»Q]Í\ecÕåÎ\9c¥\11\ e\1fhV     /\90u\94$\8cî\1el3ã§WLN­\ 6aÎßÈ\8bÞ²\8fÌñæ¸ÎëÁ4îOÍnD\8c/ÍcGù\\13\8aÜWì\v\85\13)Ê#\19\9e\89\9eé/ïk\89`R\15\9bS\ 6\ 3úa«ÝÊ÷      ¿bYµ\1e\9aÁ\88\91ámµY\0k+ïbįÓóO6BudÐ÷\12¤m        ß\v\80buq\ 2>
\1c³.Kß\rÏ6ôC*\19\1eù        ÁYýc\8eEáSãÌÌl>­ÝÍàîHθã\16èI\ f\15Gg\eÄ/\80åí\84g3CVÒ¨\8fÀ)[6ÅÙºK\eá},|½\ 5\11*\87¤ùá\84ÅÏø\1d5\aå\11\0Â\93N\vR&íÔP|´ÒeêcûÚø}G$~\85æÇüòkx\84s!¶ZÂÂ2\1c¸Ë¯y?\9d·M\8d`æp½Ò?ßR¼àqãb>R\9e\8b'\f¥ì\9a\rú55ÃE\16\10$"ãD"nT\8a\18\15\r0²î\8f}\7fàë®ä\94×vºÒÝ^®á½ÖYn\18Ä4ƦÃñ\ f\vÃøÂ\ f­sã÷jTµn!Ó墭\16*J7³\99\f\a_¿èA¦4\97-ä4ôñ\a\8b\8e!\13¢NB=>AS° ¼t\ e¤\170ëç\87\87£K\9aî®\14\94\ e\88\8e8=Æ\b\86\8c\17þø<Ó\95I;t\12ÞZ\9eÊ3õE\97\19Y¨ïqX
+N\7f\eJ¶9ºüç\9dó«\9eBçr\98'\ 5Ç\e+é²Ì¼"ØÁ1Â\a~Wð\80=\9f\80p­¶¬ÈÀX\17ÌFá\1aýôg\1fÆ\11ÑV\eÓÀ\9a\8d\8fÞ²Z\98\8c\1ex\15<5\17¢Ï\r\83\ fè}È\81¨:ÃÂР\18á\8eöj\96W\f0U\164ÿ9$\90Îå\84§I\8178í\ eåÞÚ$ßÏL@\ 1X\17©\85\7f'ÊÛ\11·L2Ù\19U\18j¶u\9cïÁ®!\1c\92Þs~dx5>ÿÉ\ 6"Øù5cgß]-k
+¦.\93\rÍ\88È\7f\91\81NU\89®ZDK ß<+¸EÎ8p\13tvL|\r­ÑÙ~{÷\84Rò>U~XÛ\99p\16\11Mgï\8cZK1%è!\11\83LfiÈ\15h¯G\17[JÁKÍtÁöbYi\8f\84?$\rÆD\92e¬ÓLFÁr\1f\102ÒnY(TJ)(GFcÓ\886p\15è\ fß¼\15ñÊ ¯¼g\95L$ÍO¾\1dÐ\86¬&êw(\19ª¨øó°,¦æð6(\12Y%\1dlV2õô°;\19\84K)Û3[ÞXW$ÿ±L²
+SVµ\0_\0Þ{\80ñ~\13õPÕQà{cDhL¦\80d'dSôÒr\81\13æcX)Õ\9e\91.ÓùÐàÿlÒøçgâxê°\82Y\1fd6mÖ§ÄÒØJb\89ѸHÒ¼\16\ayµ\®\ e±=\96³2¼:     Z\ f\1e\95\9a\ 4Ãdc\ 2y°¿\81¾\1e\92+ti\8edMa«½(¯á¿rM\19ÏñK©qðÈSfA\1a/+\f¬Âò÷¬KPSý\96\17M8]=\15Ç-Z¤\ 6\10\94«¯d8\83Î\18X\7fEg#\96\88}¨ÖÎoáåÕNÆû¶G\ 4X*í;GÍPÂ9,i(wÆÿ\93\12Ì\ f\ 2DÇùN=Wp\8c ×\1f\ 2M\1d\97ªE·Iõ CöD±¤W\9d\ eæutT\15Z\95\ 2Uóþ.êÓüÿ\1dª-4Ì2úþÒ¯\1fJk%£È\8aÜ\r×Z7î!D\ 5(qö\94>\v ¬ø\8d\bC\96\9a\94¸Qb$C\9d1¡!-\1f¬6æã\ 2Ä÷ ¾Bå¸7&\a5\93\9braÚ\91Ã5Ö\94©Ò\ 4'*¦\17\86";\11þ°Q\15î\86\98ñ¸ÌÕ\12\16\v\9a0në\9cO¦C{Ð6¾D-/\11\8d\80ÎUÛÜ\13\ ee\95$Wmßï\94ËódÀ\9bp\1c\f\12¨¦®e(\1a\ e\81\8c
+\ fH\1d\99f0?ÃÁn\1a¼E£V
+\95×gUóÅ3­?ï¥Vfb3\b%jà·Öæ\85ñÚùÛu£±\0\1dÍ\96r¦Òxã\9e\9a=w÷Aað\8fæòÇ\7f\82Á\ 2\821vÍf·í%±\ 1\vâÜ\aÛ\99l+ÿ\9aZÄpµ\9b¬¼Ò¦\11¯\9d\f\19I#ü³\87\ 6^Õ,\0Æ»üá§P9ÀñGtÜJâ-Æ!1¢\8e\ããÞ%Ç\83ÿ%\8d)lN/'í\85©\eîuïJ m\95KÈ÷ï%Ï0\8d£\b¡%Ò½Ã\a×\12$f ÿªï¶Lþd7"_%ä{]+\16×\86®üDØ)\0ú;~ËÌ÷Õ\1fÊ7\84\9d\961\1f¯ÎQÁ\9cl©T1\86#\a°   \8d·\14\90z½nÔ¿:/*#ñHÊ\89\17uceä{\9d\ e\17þ\8b\85 Óqÿ×\8f"\ 6XBØìþ<±_êw\ 1\$ôÏ\1d"%IZeËlL]Àwò\98eÉ ¬H|\9e%T\8a~úÑ\14ï\ 3\14,1å¡_\8fWm\10\132Á±µÊð±^ºv7²\12\15éÂ\96÷È`4\81\9cÂN|´ ¯µC©î\ 69ËÔ¦È?ºÖ\8cTz¢VÐ\81\97´e«­Ô\ fâ:\ 385
+'-Oöúª&­Í4K|Uú\8a¬
+8¹\11Ê\9fÔ\83²YG\9e\0ág\ 4~\e¹³u#éР°ÆÅ²\ fÚñn\0¶¯çZTWWÈ\84\9fTºqV.eÁK®n\0oê¦._G\ 1KÓ4=@fÑ+ó1\9e\96í c\87\9aomûiT\86\ es¬Ðq÷G\94\11í? ðOæ\18¢Ú®µNbº\17¦I÷Ý|P\8e\7f\82x¢\Ï~\8b\80\f\r\ 4ó/\ f<µâ\ f£iç}¬¤¶ú½*m¢Õ» \94ÑYíB\19FÄë\9cç\1c\f¸$ßn*\13É_í
+!®\9b#1·EC\ 2g\81    ×Æâw°§ÏÄÄlÂ\82ß²\9c\9dÇ\94\1eÜÁ>cd[Mîs\87Ñ9»\9e?\1d\ 4\vã"öÊ\vmª­¼pm×µ>}w\ 3\rê,\ 6Æ\8b`rS/þ.;x\92¤ò\8fK\ 4³/¢Vâáüðd7©;/èý\92\17\10¹<Ò6e\81=6ã\9fll^^5\9e\1fe\1d\ e:\99Ýÿõóìùý\7f\88     O¢ÍÓ
+¹®OJdC\86\8c\9bè#  Zjj¸\9f³v\1e¦\897e\ 4í\1cÁúÿ\12\ 6rÑ,\ 1c`Åþ\96\11ûѼ·Ì<\15sJk¼O©óI¾9|^Àìån.\8d#ŦÂ\1a<Í hý¸o\18'\82        \1aÀ_ê\ 4E¢¡Z{(\99/÷9¬°\9d¡\v»I°±Çÿ\94Tð[¿Wãù¾À­.#MÏ´@¡ïÇ\ 1\0\0\0\a\ 1\0\0   %\bÊ\ 6\ 1\0²Xë}\ 1\0\0\0\ 4\0\0\0Ð\13\0\0\0\14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0¡\0\0\0\ 1\0\ 2\0\a\ 1\0\0\10\0\0\0°\0\ 5\0 \b        \ 1\ 4\0\0\ 1\0\0\0Ê\ 6\ 1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0,©ê+·\953ü \81¾\10\18³ð#9rcÜ\97²K¼R}/6ïÆ=\ 2\82\bË\846\95î\ 6¾
+\98\17笠l\r\16\f\93yýïÕó\r§F\ fb°#\8a\ 4pðì\95¿\97¹Ávma(Qi¹´¶\1d÷iÌá\16\eW\9aßȼÀPͳâ\852u\92Á¾¶\ 4z\97\7fkåÄ\85@R'ó\8bfL¥ê³ø\ 6ÞÌ+ä´        F
+;\ 3Þ/n\ f\b³>ðï\93N\ 10\88"o\8a\W÷Ò\91\8dd\v÷\8a\99\89\a@FMØ\80Nóåd~5óê¾âÑ:\éÇM~å0VC!ì\9e\85\10\95X\1dËöïÞí0\10í=`~\82ã-KkÐoì\83ó\92@¦ä\87\98\8dݾü¾ï¯\11!\96¿\9aˬÎy\\7f¥ø\9b¾D\ e]¶Ó£ÜÊÑr\90P:çH\ 4È\v\8dÓ\94êj>@rÃ\11\0\0\0SA\99;á¥ú#h®þÃ}æÕvydi½ï\ 5\8a\13"Þµòí ËL\É<3®¢\98\8d$úñ\v¿\1f\9f#;\1dpD?xv±Ìòï ù;ù\fAÎjN1ÒFã¯`Õ\11¢t\88®\92úDãhÒV\0\91\8d\ 6Ø\97Ï6ómOÅE\92    eÀ²lø£¬:=Ç\1fOeÇ­wW8P\88\92 «\9cPG¦\9b\ fôl¾ï4s¸ã\1fX½9ûgc\v¥c\ eÂfîá¤IZí\90äú@Ã\98\9dá¿0BÑ\17LâÄTê\86à\0\8c\eî\9d!Á/\9as\ f¸\a\1e\99GoêÂOh´ZrüB\13t<\1d<o\8b\18\ fD\ e,\1d\ 1­Æ[bH @Ùé;"&\93
+0ί\1f\90\1c\89ùéÐ\99ÃÀ1}Y\f­µK©H\83¦\9d\10ª\97ÁÍ\14ï÷{ ¯óëÓ÷OÞ?\9e§\ 2åðwM\98ýÁÐ[*4ÛÊ>u\7f\10·À¹³¬çì\89^\84þ¤,aä"Oû3¦¦S´\8fP-4\1fþ\1fÿ¼yqgw\fGÛÅÖÅ\8cMþUö¹hfs{D­1ÞÝß\964\8eÝø\91àâ\ fëx-Ç\b\9ekÄ iJkÊ\92û\ ezûHQöUá\90Ì\9f@_O%ÕÜ\90\ 6\13p¦Æ©5.ÚPËq\91\87 wä\14\9eøÀ¿\1e\9fé2ð~:\88ÈÉ\17Kºb  ï°öQ§nl3\8cüñk\96Ñ\1d~Õ&}\84.\95ÉðÚÌeîªÐY*ò²5ÀKÇ*ô\ e\90þ{\1eë:[FüÎ\ 2Ð\fK]\ fVX&¼ìj\858\9f¡{÷£s\82á>,{¹zÌCX\ f
+\8b\81\ 3E\8e\91h\17\80Òæã\ 5þ:Y6Î\8fçëLö×S\ 4\11Þ-â×<)¦\ fCO°Í¨ó5e\8fÒ;ÕY\91\16©f¬8¾w\8f­\9dk¡Ð\99F\1a\12ßxâ\89g3,\15þh¶\8c©\9f     \10ïåOÚ,iô@@m¸ëàܶ\96ø^lR\óÞ¤\ 4\19Æ\99í²!\17Ù*Éú¢$ǹZ)Sâ\ eÎ\9f\ 2½¿GÈËÝ\97;Z¥ªJ:1n¡Ì¶ä\ 6\98eåÀÛúë`:\1f\84\88ïek|á,T\15x\8b¸pU\11-8\f\90\9e@¶Ø\ 6TÌñ#2üdlaËC¬¡ã\17)¥«©2;Ø\8d\1dÍ%¶í°´¼²Ä\hø5>\80\81\94gN\91uÝÇbkgøÈ¶%¬1\19!°7ó]\¶oÞ;\929C¼I]1÷/\11\8e\ 2v\90Õã[éWw\93¡Åå C²YÒ3\1f4\1dY\r|8Ñ\96_\90Ä\16Q/¯|tñ#¢m\11\rãË(k\váá(\93 î\94\eß¹H;\16j£çrr¥íxÒ
+?9êaUøÈ§|n´³,5óù[·vÏë\97\91\8b+\93«\1f\7f\93hèñn:ü\84Î!\9aÐ\9d6¾ó¨é4H$#òqØóBøÞs¯~xÊk2ò ®ÃÒ!vÜHþ\9aA\91\12K¤#×C\ 4Î\9f\1doJzϨ\1eMi·¶%>\9eò\ 3SfQ\86\eX3/×bÇX\81eªTsÛÍ_×ÏÚ\1c\eÃ\9eT1ªøà²îý\84\9c¤\9fÎ\16x\ 1\ 5%P]ò.AMKÏ\84V}ò6?®{Y\ eµ\ 5Ý:Ò\91¬äÞÛµ\94iáÃ\81T
+\17\8aë=wM\84¸@aÎËr\85\7fb1eh¾7!©\8aoô &%m\a£*çÈ¢a³\87)\9cí\95ëÝu­<}c7ýM,½âð\ 1¤¡!¥\8a«\94\11¹×\96åæÎ\946ÈLEÃúÀ¥\9bþéöQÂ\a1¦ÆÈ\14áÁ'×B'\9f3Þ3 °\80\92üVÍ\a©6ÞÍJ·q%\12è\a`\11ÐO=\8b#¾.S4pCS\1c\8d%ëÑ\89"K5\8c¡\a`\7fîÜX\94î3 _\14á¥\15ÃEã\92\ 5QX+ÛÙ3ßn¨~­¨`Î\19\89\9a-\ e\84âµ\15n\ e\ 2\ efø¯Ú\12,@¥\95êúH\aûo¤0ÇÄ×êW\1f\95ÒÆ,¶½ô\ e\8a\ 1C\8fèReL±ñ\86\86\ 18Eîp\fâ\1f\e'\ e\95ê\ ejõ¦a¥\97$\84J\ fÏû»,\135α.OÇ\eû$`É>4¢à\94Ú\vn ñ\a\80¿\80ØØ     ~ÿÁkºl\95,\89è¥êLX3\1f\87¤¡\ 2èí\9c¢\7fË\16\86ê\88\90\99Á\89ðºÅT\aIÑ!o\1f    O<>\9aP\16±\1eü\ 5ý\13\ e[\9d^4]HÑ®êOG\ f¦\11Â>d  ¦²+\ 5\a\85²¿§pÁ»0'\8d¾\9eî©\aR\ e½\12ü¯(¤\7f-\8a\1c-ÖÀ\15ouîðÚѱ+ÓõcDiäÚ롲УêÞw@\95» \1d\18\8d\80VEd
+èFrq\ 1\f\ 2\87ïØ\0Ñæ ð©°\90\a¤\13JÞ]gñÈØ\10Q&\85\ 2\1c\1fXtw#\8c=\9d2¶øÊ/¥\ 1ô\JÑ¥\elíë­\18Æ.^\93c[2\87P\89.\8b¤C+[S\87Â(û\ f;Ñ\1f\8d¡²ÒLËÜEK¥A­í/ú\7f¡\8aÑÝ\98\1dXk\r\86\9e\10\97)\ e\80z.Å\f1L²\15\16pq\8fÃÊ%¤¿áS\81\89ý\91^5\7f±\ 4\fÓ\ f\151\9d0ǰáÜcT¸.\16N\90\93\80\9d9´÷5§?²l\9cPgÉÞ\80S¨r\91·ÑI¶B\v\ 4Íø\12þNc3Îcf\16m@\95¼éø,ÿË\99\f¯ßmUæ\99£²\9b\9e|8C¬õQIiÛMúRÈ.VAäã¢u\v¨2Åa\83ØÉzKð»\18ê°\94\\ 3õ\12\9c\fR\áÇ´¼Äro*\11ò\80\87»KN\1fîµ{>1ëT¹lË\18\80õ_Ê\98×8%\816\81+l\1aÁXp@®hA\93y@jø@§ï§,rÇq\\81÷Æcæ\96\9b$^q;~é\12Zî·½eðÕ\91!dª\95àd\98\80w\b\fiÙÀ\ f\91'¸öøUª\ 4Ñ|,\87°\93¼C\ 5\12)Rñ\16\ 3\16\16\ 6\9d#vnb\9cê\90ßBöì¶\8d*µX]\f\9bð\10£²±\e{\162q\16_\1d)\9eJ\81׿-åyèakï
+\92[XaNê\18übÎr\9f\8eíYÓd\ 5aEñô@Á`/
+ÃëdìQ²Õ\8a áq´ýÏ\99¸\8a\11\81\91µ£«ÓÎÞ¸¬\9aËÝûSº\98âIn\19lúu\98þ\1cÑüç\9cÒ   ßqtt$\9bµ}°ðß·Ä\92®kî\14d¥¡Ëj[\v\9cíDv\8frz\fÒö>Ð:ðð\12f\17ÄVá\8d\9aÿ\86¾\ 2`\16\1dáJ¡ëï3_'}²«¬\16×\9cÉzäf\85Ñ¡LÎ;\16/1°,÷\0W½dX4²Mz\91ð·"ª\9c¶nÆ\9e©øbO¤dcÒ,m\95ß·dú\18\8b#Gÿ®ëÝkÑÉ9Ë\87\14ª\13\1dùÆm1\91\81Ý}]¿±Ë\aÉ£;(z£æe\ 3\851»/6\ 4\9d\15\90i[µ\ 5P\93ðÈO\1eD\91ÜßѼø\9fÝ\ 3\82È\95\10\93\ 2¨ô\1fPb\13¨8øÎÕfûT\83»æ2¸¯â\96÷ÜUÏ(_1wå\r@\e\9bØ:ªCéî\ 1\90\e\8d\1cH­!"bMP(g\ eüb]¾z \83/3\88ÆØP\bhhKì\95c¾|¶SQ5J\14\ 4ÊwP¨Ú\w£ÜV\85\83""<\97\9f|\ 3õ\87\f\8f\9fæ£çÌhß\1fÓ\90\94ò\\9c=#x\9e\93-\9a\eÅ'.\80.6\9a\aey=n;ƺ¯_d¼s\99$qNüÓúáV\9f\ 4ì\10\v\9c§ïS\83äÍIô§?1\1aË\aS\0ºö\10{¯å\89À-\9e¤?\ f)r¤m\11[o\0z¿\ 5rr\r\87Y|\0`\8c\96WýÔ>þï#äzïRÃå\0=ÒP:í½ÐÃÍítzQ:ÌXü½\1f7²$3õgùG\95\ 6&^è\14!V?\95¡¿.Åð® S#3\ f`5·¢\1c\Ú°\9dèª5Î\byïlÆä\1cÔ¬iL_\86k7£\15¡×åÞbcÝowY\12¤âºaË\19¨=^jåÒÆò\a\18Þs4\f³Å8@\1cÆú\8a¿-=B73ÚÙrõ[é9È\1c©ÖØÂô»!K\9d\14Å\13¬\1aäÊ\18\7f¹\aî½ß\f\v\ 2©ç\82ð9\180EA|p\10ºCqY\94\95!\17ã\82åY±/X!\"ötßúÖ\87\83\98\f´\9dºu\f\87\ 4\ e\e\9a~\85!D\Þÿ\1dÏD¼ù9Óa¹F\9a±\14\9a¬Ò\84âª\1c\15R^OógO-\ 4ô="\8a¢ñ#ë=oKÑ\121\1f\90\18
+\95dzW5}û\7fE>¸\a?á¶5ToÒ\15\830 IõÐ"\11mù>\vT"¬Í\8e-\e¾ÚÀ<\91ôw\9d\9fW3]rÔ°«·v\91&E\ 3öÿRM\96\12t\10\13B\95ª>»\8eau·Nv%cZ|\84ëm\9c{ë(Ó\1dÐáirTÓìë,\ fí°Ë,æ\87Ìà\fk\8e\ 6\9f\8f\8aO\f\9ehZþ¡³¢ \84íAw\18f[G¤b»1L\v\r\0êWÇv\86½Æ\9cÕÿ\añRf\fJ\1fïfõzlXóJoÍÕ\11\1aÈ\8bkHí\ eH^ÆÇ.S2\ fl\94'\ f\10*ÆÖ\18öY\8f3\9e/n\8e×Ïüuzê\80¼s\14\ f©Ä"\9dúSªÍ<öþhåÔ\1fvj#kÂac\11ë\9e\ e\84;\19C\86î\b\84\ ex:t¿£\a\15\13­}\14\7f\17R\89§\r´¾\9eó\9aiû½"m,\11è_»\8d?Ûò\8fo\ 2\8deùk\r¿ª\9f\899/j\17¦ä[ÃðU\9eu\rQp\13\ fÇÓÑc½\84Ïh\ 1Yÿ»wKC°\8f¸d\85ÅÚí\ 6¶f*ÞUS\83Á\1e»fUÍ\90¨ºpo\8c\10Ìß\80~³;À¸à˽\14ùÚ7Pzi\ 2î\ f(&3\14È\ 4OD\ 4dO\9e"©¿ {\1c\13ºñ¼_\98\19àë\9b:\81*(À'?\0mz÷åÞ\r¬ÙRn\e\99»ÄÚ\86/£T\ fØ¿&\9c½Þõ\13nS\ 6\98\94\12\88\9e?îýàS\8a<\8cÀ<³H!{ã29ÇL\b­H\0\10ß­\89\86!T²l¾ÀÄÎ&ÆûF\84¢ ñø)\ fP]ï»p\80\8b(\0)ª1¾\8fSJ£L4Í\9d\f\17\ 5\82\10Å\ 6J\19\14ÄË¢\89f\84È\18v$Ã*AÐRÙ°|u\88û\87¹ËªÅ\8a!\92\958*\ 3ý}:.N~³K\95&4R¹õ\99¦f\80tE\9eõ"x\92P¥hKDIð\94Ötòví$\ 527L\88»Cú"!Ù\97;\99\8c\v!&ßÿÄí\16º\177Äßü\8a-\8e\v²\9b\ 1{bæ%ÕIb4\ 3ÍÁóz¬ÛB¿1z\19¶2\8eÿë\f\98ù\84°¤%¢MÙó©R =\8açArÁ\7fÎ3ñðBEMøò\84ؾ>c¡åæÅÕÊ/Î\7fUJØ\8a\9flÙýOo\r¦òÒ%à\87·á\8b§6 \87¹\9c\81#\ eegY\b\91T]uq\16WPÄ\94/\ 4kS»\15\1d8ûYÓ[@\eIù>±L\83©\1c\15Å,ÍÓ\8c\14°ìe\ 5AgY\8e\89ð×öþ$5\9e N"ôú\ 23X    däë:yþ{\ 2\19Q}Ý\80J\1eË\80¢S\96\1dØ¢N\8f\9bâå\89w\87\8e\83µþù5C\1d»¥\10uM²×\14Íg~Éú|\9b+Çö\15\91/0\f\ 62\19\90ox
\8d¨\85tò.2G¯ø°ûk^»Å\ 5\15?\86\80²3&S\ 2\18±?)sb7\81½\14\14u­Ì¼3Õþ\81;9ãy;[eÜ!"M\12øK~Uß&£ \93Ë/vn\9e¿\v\80*\8cU0½çë²Æx,K |vU>áÜèÂ>õtfHølAý\1a¨½\92±\96K´L\8awÛawÇ}©\vØVB7(ò\11\9d5â5Aí¡¼N\91ó\9a3)ae¿²b㨳pÔ\8e\8c_@\88>{[(Hï\98\10Y óýqôr\14Þy @õ\86\1cSرgâ¿\94Ý¥\8aUYF׺nîOý\90?ê?k¡ã÷\9f¨âB¸+Z0Rc}ª\¿È8w$\13;F³Xæù¬ün\18,õÕ\10=g1ºJ\80      Åã.KXb\9b\v»b¼û\8b\92C\¤\9c\9d>kË×fÚû\957\ e\ 6\11î\14\1f\91Æ¥|Ò\ 6VÔì\8aîOæX^\ 5\96S\14\f\94ù¬\ e\1dêZªH½\1a·C\14S\f'wÈVü°<Aõþ\ 6 N-ÈO\16P(\08m\97 ÷\9bô\80öAD]à¬GÃ\13fßç¬&ãqACe`/ó\99\8btt\8e\8e÷E£/\88Ø~Xz\14\18\0\88\ f&\1aQ\87\11Ð!\ 4\18Ë\91\1f\9d;:\94¯.¨T\19}\8cxÊÉ\rµÐ\9b\85¿\4\ eÈ\15_K\8ahNµ¥Î\85ÆXHl·Ã\11ÕÏÜÄ`À\ 3âðZZrfn»Í¡môP\10VµI\93T®÷!ÃzìÊu\8f×`ë¶¡pß<f5\91Ì\95©am\aÜõÍ\8b\83\87º\e5íbSRyI÷0ÿ±á\956Y\85Ë\10m\1f\ 3\v\9fIj  y\v¬\8c\1dtÊ©\7fâk\9c
+#»g¡`\19èw\f\8bà2\19\1a¼ÎQhÁ´\ 3+\ 6\91¸\viµ®ê¦²DÍ#  !â¨\ e\15\83g\18Y\82µ\8a1Ý9í        Ä\82      ö6sÔ7ý©}CÜ\ eq\1da[\1cbÿ}õ>r\7f\\95'§&+õ\94Ý>\0r\r\15\18\96\bUMlnµ]ªÞ¤bwY£¯ S\9cÏ'Qc\91SËYU"«\934Y$®JÈ\18ÖÂÏ5/ñaðÐ\8b;\85\89M\ 5[\ 2\9a?Ùæ\16\vÜ:#àú\84d8c·\ 6ÑQÚ¤      ÿ»\8d×¹Õ=á(³\f5j©,QP\99ð\ e\9eÿ|I5|"o\92\9fX\95\ 4!`Ìî+ù\9b.>~\849V=¡\19Ö\ 69XNI\82ß\10ßèçVëÓ\14Õ ¶¬Ð\ 6úüd5½y%=׿u½àI7Ï\92þ̯\vØ'Z\15é\1c2¯7Ñ\8f¤Áû¨#øUù¿\81ÈZzf\10ÊLÛ\9dà\ e\13zµk\93\1fk\v\90\97¾ Á¥zÐ[\ e\95PÕ¶\81î¹dô\808¾Kµ\98r\190\ 2ÊÁPCÀ
+Z¶ÙÔswIñ¯\14á\12\98
+Â_Ý\93@r1vJ\93§\1e¸c©\1aOt[=\13>¹²º\ 6n\G{yÎk\98èÝð\ 6H\15\f꣫ø>\v\90\9fµÓ\16VãG\7f×,E¥îsejðÜ5­Rç,\1d\84güÙÀòP*®`\0whE[çrZÁ\1182×ÔÝ"îÍÀ\8f\96òr\86º\83dB\80\96\97ä\9b>i\ð2\98H)bß
+6\7f\12+Êdóî\83¸K\95Ö-(äy¦j\9cj\1f§1\83\98\91\91\ 5³Õw@\99gÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$BVDT$\0\0\0$\0\0\0$Mario.03.60.1120.0038G5.0Mario\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$CCB.03.60.1120\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$BME$\0@\ 2\0\0\ 2\0\0$\0\0\ 2\0\0@\0\0$\0ÿÿÿÿÿÿÿÿ$_MSC_VER=Ü\ 5ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$DMIÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿVPD RW test string #01\0VPD RW test string #02\0VPD RW test string #03\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿCHROMEOS\ 2\0\0\0\ 1\0\0\0¸\b\0\0\0\0\0\0 \ 4\0\0\0\0\0\0\0\ 4\0\0\0\0\0\0x\ 4\0\0\0\0\0\0H\ 4\0\0\0\0\0\0@\0\0\0\0\0\0\0x\ 4\0\0\0\0\0\0\a\0\0\0\0\0\0\0 \0\0\0\0\0\0\0\b\ 4\0\0\0\0\0\0\b\0\0\0\0\0\0\0\ 1\0\0\0\0\0\0\0\80\0\0\0KÓ:¶\9daw´\95Úhü\93ùSÂ\98¥\98\8cuåÁÄ\82Õú;ñ   \8dÏÐý½ò³g(\8b¦Z\8bL\ e\92ò\17ò\ 5TLÙ&\9a¦\12\8d]YG÷ÿL'gL   \ 5Õ_Ï:N\8e¬\9d\ 3\ 4\ 6\84¹02¥`Ù\8a\89\ 2ż٪aÄÔ\1d\93j\99bUÊç|ÇÙ\ f¨\99"\ f\ fÈ\17\1e¤³F\1dÌ\ 2çÖÕïåÊ\1cù7N»¤\8f\ 6\17\87¬\88ˤlQIê¡ù\Æô¸¾®\18R7un\1cÙ_LU\96\86æa\1a;7õû\ 2X4\0\81g\8c\vȵÙ\1f\80\ 1\81   ÕAÅ¿6¥aÒÈ\f×Ùà­[·@" krM­\f
+KYg°·¬ÛÕë\12{ÝØ\ 3ç\92ɵH©^è99C#Ò    =¯'Ûì\80\9b{æ¨ñòn\ e/\83ë!ÂaÅ«ÛÎ\15ì\8b\8da6KË\ 5\89F\13\9aÎ\14â|üÛ«Á\ 6\82w.eä\95V\1e\90=³¼\93\f¥\v\86{!»´\88@~Ìö\8e\87\88\ e\16õIw"µj6vZóò@\8ep\aÆx¤m°\ 4`\96\98\8eÜ/\13g0Tª
+       >\13ÿºþH\rÆæ©\9e®X\99 \ 1(}\13pSòPüÇú»¡rK¤®¶°4Ù4\8dc\1cj\9d°Y\10Ú\15b.x\9bÆ¿\ fv\a%6 \f8ô­Î\87¿hO¾È`áº\ÅÎ8!å!\ 2B¦?Q¬#èà\e.âoI;\1d-|\v?\ 5À\10­§\92\10o  ßy\9f\ 2\85\aÄ¢±èü+n\9f°s\1eC\8c¥ýÕIt»ºÖ`í\8b¨pµà\95\e\7f\13Ô\10<åDKBûÉeÙ[Gýȧ\1d½v2\99A\1a;^ú\v\85­cxD\192\9b5n¶ÓÍ\19WͼL\7fÖȽë\8eB\ 3J
+|\b("\ 3\ 5V­õcO0!ó7aÁ/ù?×D°\10 "-1Ã\98\13I2»Ñ«¿iW^õêò\ 3\89\9eâ·\ 1\10\ 1\8e©\1cáÛhúWe`\15ð#g=\1dXÃå.Ãb9bAzLWs16BòÒëeÊ\17áÆ$ª\ 1ѾHúR  ¬?~\82ø\9b\1fMDeÁ\f\1aá \rn>\83÷_\v\8b ör\91\88QvJåÝ\95\15ΰQ8ÕK\8c£\92´\ 4\b+TÙÍ6\84÷P«ìuÎû
+[Ê^õ7\97NÒSþÆ¥-6¾±ë\8a±°ü\1cï\91\ 4Æ\ eã\9a>t\91k8\94L\f\16m\üzÜ\7f\ 4\80\94\ fÆç×sÖ|,ãÑ/|¿ý\9d_ÅÖ\8càf\ 3}\91æ\9a\13e.\18çÍ\ e\ 1\12¥O
+w\8b\ 6­\1aÒ\1f1õ'>º\e!}Ñ^ôA³ã>Ïðõ&ú\15\97\93\9b\19fr¹\1fóF³Ìî(R:\7f¹^ë\1c~[g¸\94ÆçkÉ3\15NI\97.É#¥}óµ9c 'iHO\17\92r\ fóÄ0\16d\17Öº©É5BPbQ·{Ï[S
+DBíyükä\13e-¿ã²Æ¦\9c@s\940æô|\1e²û\96çxK²\10ÖÕ%]¾\1d\86Ï\12?\9a\ 6\}\1dÀi0"¨÷ö\99<·ã\9e¹a8\88¨\9aù\r¶7Ö>)¯\81ÌÔúó@Ì\9f\ 2$.¦çx\8d/¦á^\8ev\8f½5ºâUÿâ\9e\fðª\90ó1^Ëx"\11Ð÷y³`è\92÷RÁ¨ Ëðñ\ 1Amx\11ùô1¹é¾Ã·Á\82ÛS
+aÛìJHË\82ö\ 4\92þ\95ØY\vºB=&\ 6ÿJ¹\7f°÷¹Pµ\15       \v®\94§²z9Ê\89/Ð!'°\1dE¥wQç\9btÀÀ÷þ\9aøO\94\87¦/Öt\9919%Vj_jÌ\e\95\ eB\1a\87\9cP>Ð\9a\8bÖâ³t·\ 5\8bMn¬H\a\aÙ\87     »¹ê#zX\18Oftyúã\93Á\89 \13\8a^È5Ò4¯Å-²\r:\8e8.%gÏG\ 1àùø,
+ÊÖg\ 3V®1]n:¡F\ 2ñX/·s\93¥\ 3\7f´Þ!\13ÕX\96A\9c\\ 2ðy?\9a\97\fß-\87ëôdk\1f·Z)-Ã\9e        «SÑ@7\1fx\ 5ì:/\82%\ 6\9c\11\7f1w\9d5ZDã/½' iÊü+\9b¸q,ó\80\8eJ\92±úF°VîÞz«ÈÝv\95Ïñ\´\9bü\10w§ÖÀ¾¦\8bT\83Ä l\14å¾mà\ 2\08«ÈìÅÀ}ÝBP2,äHún´ß\10\ 6\98u\85PÍèC´Øu\93\v¦Ï\87 \15\8eÿ2i(YID_\ e5pýrÙëoDÍÅW\1fF!b±'Ü\ 4\9c\ 2E\9b\98@9òM;ý\8dÊ\8dë\9aÍ\98g\18^~\v1hF7PDA9E¥\17=¬yªè,RÙÇr \15\15\18\99\9e\9al\1fD}¹j\9f\ eÐÙW\8c\9cá$R¼¨Ç\8dò3)'+ågMü\93Èø#\88ð\84\\8f^Æ~\7f³2\93¨\83/¢Ñç\f»©T©\8a\b1JL5Wå$Çq7A»o\ eGp:\81\9d19\8c\91Aeâ®n3p\98k?¢6,å\12O¬Ã±GðÖÈHCÀÛÓ\8b²¾9\95vEÃ#¯aÂrö²:ÄfÜ\9c\15»:ò\99û\r\bê±@y¦£M\158\97³¥\rÊ5ù\11\0l\11EQrc %»\rñ°w\ 6DKRÄÉpÈÌm     S]rJ\89PkW w*M\1d\12\85 ¹Ëh\0o*å®\89¨mÞBulìMÎá\ 6¨¯\f>\16\1d»F\1dP\ 1¾Åa\1eË!\99\9d.¿@méùV\7f        %q      \12f#\9fMaÑ\17v®¹ö\92\9cJ"¢[$µí«Ë¿(\15ç\ 2Û±\9bá¨ÞBLf\v\10\95¿\1cá\85\9a4Q\90úïRÓ\11 \95k\fy$B\9aêç¦÷îå|Û\89\8d³ãÛ\9aÑ;\94ý6ÌÔd\97\17)\8f+Xè\1aÔ\9b\86\92·T7È\19£Îæfö@+óyØ­¸Ìʸf\9d\ f\10\10\94¢\93}$içþ\12ìD9KqtOêYàê7ªh\1eD«øwÜ˲¸÷\1fÁ[\9bÏhÞ9#@       OÓáã2î\1a=R|8è\86o¸Ä9\ 3\8b\8eQèÈ\ eÑ\15ÎôV\80Ôé\aô\9a¥v­¹¾\87\9c£\14¸Ì¤\19\8fj\99vázZÀöH çi©ú5!é\ 2½kî\82\14y\9f\99°¢ýÔ¾¢{zá;u\116u\ e\95÷Ð\10\96Hàbç8\r`\7fF\7f\ 2\9d´²®n\87>]\8b0Z2oj\1eUÂ"v\88Mr?\8e½Z\12\eR,X`\8b\11\96YÓÚ\1a©×6yj×\98¿å^0'ÜÄ#0\9c¦\95\ 1\9e\ 2¶@ÀX\82æ\96©©½öÊàXrQ\9dGý(õ\84±³\99\f®ëE\ e\ 6\a!<t\b\0\0\0\0\0\0l\ 6\0\0\0\0\0\0\0\ 2\0\0\0\0\0\0t\ 6\0\0\0\0\0\0\ 2\0\0\0\ 1\0\0\0\ 1\0\0\0\0\0\0\0<\0\0\0\0\0\0\0\b\ 4\0\0\0\0\0\0\b\0\0\0\0\0\0\0\ 1\0\0\0\0\0\0\0$\ 4\0\0\0\0\0\0\0\ 2\0\0\0\0\0\0\0\0\r\0\0\0\0\0\0\0\0\0\80\0\0\0±\98\85\94¯OîjïBç&O}®º9:Բ߾\1eª\17T\15v\es\bþ÷O¢\a\8an\0ÿ]¬Ç\0\12]°d:\19­\9d(\8aîå\7f*½Â\10jªBÉã\88£Ð\9a\89¾[¦!\1a\9dÙÒYU\80Ñwø%"YÛ\1dE\11J\95\95HNª&V\8cåÆy%\8c²â"­n¶Q¸Òf!ël\r\9b\85\ 5µ;\7fø\14ɧ%J{É\8aU±ÍUk®\96N\r\f!º~ò\8a\8fþ\1e\ 1êëÞxôíÃbz±\8a\9bâ\86õ¸l³\85º\80§¯Ó@.Ýï\8e¾v\11L¡FSÔ\80¸­A{Dµ)Û¢;ß\ 2\8e:}\91ô\10\989lò9º6!\966è¼tðÛ¸K2ºÛÀúX\ 3îu4©ì]+|^=´\81"R÷8\18׳xpKâk_©s\83
+°|=']\12\rU¯      @<\1fgñ×ú9ã¡ï@,LØ\872i«\9bÄÛ±>\96SyH£ \ 6\v] iÎ\9d¡Ùª\r)­WD1\83!Î1dùé%p£üwé\18R\a\10Â\1céºÛ\9a\e~#\16 »q<\99àÐAcZÖ\8a\80?%\beJÏMZÿ\95\15mûs\16\9bË«Óþ\1aç\12Î\80\1a\95òZj\ 1KÓL\10\18        hàûnë[<ÑÛí\16\1d(\18a'\ e&&%Z\15\87&\8a»(¯>\Lïîf ¸\90D\ e\97FÙU<Ô\14p\10S\8eoå9¨\10²ù\ 2ëérã\0ÿmÏ\8c¼¤)Ö¯*\92Í/Ói\86©Ã©
+Æþ4Q\ 2>\14\85\18\a\aÃ]`ÚóösØ\7f.äYê\8aîHu\8f½N'\82l¯ ê±5)C/X»\99±§A\98Ç'ã¶@õÚX+ØP¢vûLÒ\1dUþ²£F\ e\10\92e=ÉÇ{\9fú[ìï!ùtY\98\e\ 2H\93=ËB]&B\92qr\vëk\1cy\83UQä¯ùmoÁvK~\87C\r\11dÅ&¾\ 4\96®S,µ"Z1ØU\80ÁXì\«C×~Ì1W¦}]ÜÔc·Ô}h$)r"û\9dÔ\9c+\9e«5¾òkÒÙ¿õþ@®UÐd»
+V}{\r\ 1ñ×¶¢®$=i\99\e\16\12²\93)\89÷(ÈnÖ\17\97ö¯Çm`ù·Å\98¼+\1cá*Ý\80ú56ë9¶GòôØñ\ 4\90É£ {b«\84äÌÅzF\12\80R
+)N2NqªV\97¿Û\8c´ ñ\8eÓ\ 2{\13Æ7ÖT¼ï£÷Ã~[ÄÂMë³µ\19¥U\ß\v\8d+\r̰Ç\98îyW\0`;\a´¬\84ç}¡\9f;{öxóÉ&n\ 4\ 5+5ªÂ\1d\ 4@\1d\88¯\84\1f\ eù\10½\1f¾[+\10J\ 2   º]1\87ï\91Ë ?\ 4s\ 6¨\ f_.åu\85(d\17k\ 2z½È\96NC\85\ 4äaÊ\95­\ Gnöy¾c5¡n3Ý\a/J>F^È\12\18Ò\1f!f\9e\a\88\ 2õït\14\81\r¸ìªï6\86r\16]\1c\12ÓC\bïN\ e4.4¶LN\14¨¥Q\1e6\9d,.ÈÚ\90\13º\85Ó\85\92ØqvÌ¡³v\7fm[êh8h¬»¾    rÞ¶ oë\18F:¸r@\\8cä \1e¾é\aÌõíô­Ä\86\12íOÌrè\ 3­\19D\ 3ö\88Ïyøn=üY`:¸\82\vêSq\17¢\10¤ëm;Ã\rÉB\96 \r¸\ 4\92ð? ¯\¥búê\8b(   s\rø¼½\8aÊÈ\85N\8fú*Óxh§\90q!?©î)¼{[Ý\f4*Júý\rvM\80"]'       \8a\87÷#\9bõ"´/\97\8bí\14è\92¢\81»»½Û\8cÙ\v\1aßcö/\87O#4¡ÿrïqÀªÍ®M¬áçl\90\95áw}    \18\0\81\9b!l\99>ôÈÚ\ 1 \ eåÆT¶\b\ eÜû\95/p\80>8·\83ïá\86]¡   sx\980\1c\150|_Á\93hX³°&ç¿Ñü</©¿\86Î\ e÷\1f+ã/\f2R\15\r&f\e6\fÞá\17Xc¶\91\96\ 5\90\97\94-9´Ì\fZÓ¿\¸Û¬V\90t¸ÉÉ)ýk\ 5Äza\81FPk(\83\ ex]¢§ÖGÐ\ 5\96p«¥Û\9cñÇó\16<¯Sw¾z\ e½Ø§\b%\ 1\9b\81Å\88ùâ¥QÖ\17N\eµ\98\8aÄB{ê*M~\80ѰÚxý¾J]àé#
+dÑE\ 2¥öGï\9btË 4Y£ß*¯í¢iÿ|ûï0\93ð\8d²f        \ 3o4KÀ!\91\9cï\983ØùuÇ¡A\eu\90\1ff\?ûyy³È\ 6ÿ(\8bÂÍ÷o   ùUÿõ\86²Ê¡aR'<¬x¢ÓÌ\ 6Ý¿e°Dñþ¥Ów+\96qØÿ\149GwmáÔè£Æ\82Р  Ú\ 3βÿ\97\18\7f<÷Vئ_Ë\ 6/ã;Á\8a\83Íè7ºð|Ã\15ô\ fp\88ÇúYo\9c\1e\8a\8f²}\8fèR{Ðû\18¹\r'føÃ#VUÄs\f©]\12Æ\86²ô\ 1ÞÿC\90p\10µ\12ý¬pT\93ø`ëb\r\16fdµSèS$ëæ-åJ¶A¸\ 6Ö¿\84Ü\8c3J²t©17¦:Kãͯ\18¾\84³K\aNEO\1f{\94\vÕ"9\18R\18\8dà\8fÚ\13\86\9d¡î\10\b\9fì°ó{ËÂg\11\1aiá²\90@\8c.T\83C+Î{`\86ÊUn\ 1\9b?|ò¨ h\11\8a¿=\8e§\93\ 2|qtÅÆ\a\Ô#\94ð@n\ 3\86pVî.dZû\90\87\87ú\1eD=\982±ÂáºM \90\a0]9ñD\14µiäW\99 Ô\975:[\90¿i\11«2ïr5¶\9e\9bè&\9bS<Ê;\8dï\9dfU#,çta\ f4\12\15,[³FÂÀ à\ 1}w\ fð\13ZLog+ØÅ\99²¤:ÃÅ·ã\1e\0_;*^ñ\11\93]Ìu3Ð\94ç\17Û¼¢\81b\1e\91Õh2s`«®\bi2zbêL¦\9dª\81H·üußß.ºQ"dÆx\92G}Ó\15$ÿTr\e\a\84Ùd\82ì\90UïT`'YÕÚVÇ@ÀcÊ\8c|¤fC\9fL\15ÝG        ¹ã\18m%\9d\ e v\1fZü[í7åAþ\9d\13\ 1\87v¸·\86Þ"E\1dQT®\83ÑÄÖ\ fî M\88üþä½\80\1d\10Þ\aK;:\9e\8e\83\8d\fÑ\8f\vz©H¹\ f\96\13^2;²ÊV»ù$ivÖ\8b\14U\ 3Ã_\93}Fÿ\ 4b:
+10¶½\94\f\bX®î\81\18\9c\99ìÍ «\ 3\ fÚún`y\94\9e\0ËÈb\10:ºJ­Ð<\91}:É\91±éÉ¿\8eVo¿ÝX¡\95e6ð\bd\91üxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÙT\93zh\ 4JD\81Î\vö\17Ø\90ß\0\0\r\0\0\0\0\0_FVHÿ\8eÿÿH\0\99L\0\0\0\ 1\ 1\0\0\0\0\0\r\0\0\0\0\0\0\0\0\0\18\88SJàZ²N²ëH\8b#ep"ck\ 5@¢­\bø\8a­\b\ 1\10\0 \0\ 1\b\0\10\0 \0\1d¸\85îö±¤ôÀw&L\86H\10ÌZ\v\88\80b\98¦4E\8b\82²8\v\98I\ 3Þ\93¸\90@\18UB4@*\88K\ eô!A@rE:zv­«u~´Zq[jýmµU£ \82H@\92\0\10\0Q\ 4J\80¶¾á\88\0©       \ 1&yç\9dîd\80¶ý[nýwww\9cÝç7w\9cû\9bÎoåßÏ¿«\7f\86õýïk$q¶ã´\9eô\9dw_\ 3\aØv=\94ìô9¹¤¾¯ÛÜo\91÷²òø\9a\r\1d\9dÖÓ£Þxÿ\ 2I=*|\96\1f\1ei\1f~D\83%\9bP=\9b3JÚUßeåÕö\1e\96¦Í=5?\8f\88ì6\89û\19\88[xéZú\11Òw\13í%ÿÏÕ©\7fÿõ\1d
+Iw¾#\8e}\1f\1d.\9díÖZe$¼ÀôQ\9a?.]$µ\12Åå¢\1d\19z×ýÂLÒIûÔG\95gJëÿ\80\rßû\ 5ü\bÉ%:ÛÿÚ\ fÖ+\94¨T>øÚv\83ÿ2àG\93ø\ 6ú^²\9f½ï\15ï\12\v\9a\8fÊ\92P\9aûç~\84\1fî±\9b2^\8fb\ 1\9fù\86õµ÷õYå\10\16\rÈ`ü\10£kïùáôùLÆk&\92Z¶Ìè\1dk_\7fU\9f\rü\85sUÉ&Êý§þüác\r\17äzc¸ñ¿xa\a÷\8c\98Qô%\18 |j\18\e\13/@ú\12??ä\ 2$>ðÕUµ\17s\1c*Lw)\9e¼ËÝM\17^÷¹¯Ú5\83Åï\1d\86\bâ\a¤\92GÅÝ¢÷¯§\12\1c"pÇÞÈñé\0N ?túr\81~åßÓw0Z¡\ e|6ØFboî\0E\ 3r\8f:\b\ 2\81\9a:\1cÐiþèmÔ\8a7&>Í\1c\86\ 2      ç¯\8c×UVº©ýã¡ìMô\8cÙãm\99öÕ{  $\8csñ¸8Ôê\87\1a\82½Cß< öLû8r1\8eë:Gnۣħ\11®ùûF\9e.N\94n^xy\9a-,àùùLù¿\1f3³æ!Ë\8d\v>s£ç\9b\8c|òÌù\98<æû\90óFæÞD\80ÇüoÎ\92Pì'Óm$;Vh\ 2\8e»ò4/Íñ¿BIPÀ­ÕT\ 6\9a£\8bþáÁ:\8f\b\9c\1aîÎ\9e\18úó.g!¨\13¦^nÏß\0Ý\88OLÅ\1a\fÁ\9c£ó_\84{¼öÞ\8aIVT\ 5á\1e\859Pk\ 6\83H8Jî65\81\1asÍë+
+\8b©ô\87ê\1d!\8e\ 4\f\8a\@èm\ 3àöƾzD4\8bßN4}Ð\ 6§¼åý\12Ö\ f\ 5\12÷ÌH\0hm\8f\1c;\1a[_£
+tqñÅ\9bõ\1e¡Z²#E¿\1a#Þ|?ÌTQÇg©ù²$V$î]º%þè{]|AÉ\1c#|V\88ÁõX(\12ExS£íu\ 5\88ùõe~ÕêB\8a\0_\84\8aºe\ f6q§\ 2\e'\9b©\e"\8f¨ÃSQ¸ìJñNÍâþ7\8e_Ñqxû\ëÃ\8euãËfñ\r\9bǼ"\1duÍãªç^5\7fºæñ\92fðí\9bÆ/×\vÆ\90o\ 1\8f³EÖ\r\12ÌÑrý\82¢º\8d\17Û
+$M¬C÷OV[C¾÷\82\9eÞX¨\9d3Ed4_\96¤¨¾\8f`¨¿pÑuaxC EÂ0ãñÁ§\1d?\1d\19¢-ê¿a¢öû\16 yë"zÕU«Z\81.N×í\ f\ e\8dyh\15µæ«nÊ
+ô@Mëã_;P\10 òâ\95EÔ|ô\ f\1cË÷O\9c÷\ 2yv\90èåÓ=²\87Ù\ 2\12Ö»\1a­ÓV¨ýÚ\90S\85O0h¸\ 4£â\14>,Ñ\eìh\8e¦ÉÊ\90k³±\8c{ö%\89\83]\9c\98\ 4\17§\81Þ\18ý¹\14-\1amöê\1e¾\89½ãd\87~H\fpoËKÀ­\8f6eïÆ«\97k\1e0¡hLg$\0\9c\eºÕw\94sY¹£\1c\v
+\8a\1frh8¸T÷SUËI£1Ó¤4ZéØ\e\98³É-1\17=.\92®ÎØÀ\ 2ÁÜ\88\7f\æ?ð<9tð;\94×I5ú\ 1Ä\84\7f\87Î̺¯\9e\ e\84ÂÑç\9f\8b\ eÉ\9e2gã\98öʺ5[LXh£_\9b2Bà\80\1cKcÍÌÉFzÁg\99\93\11ÔU\89×\9f\11Õ\9a.N\98=³ys1\9d\9d^.\88iCKlãÍ\19´ý0\83'l\18\aÊcÑS\1a»\83.\8f\93À\eôý@âÓB\93o\e»I(ÿ\94\13³C\ 3s\1f
+\ 5B\byëÓ\ 4ú×p¥Ìyú\84äV§"¹Eï\12Ãê~Ú\˨íÉðòæ\8b®v£}¹æ\14\83[Oî\1a-\83\93Ì\ 6\12ö\9d\ 4\8f¯\9fxcâ\1e¨Äüâ\8cMÀõ\88Â'@¶§Ý\80Ùðú¢\ 6Q\ 2\11¦êËÉGÏÌÅ\13\91S#Ô'\0SÙÄT\11ú4Q\12\1dÑ£1ó\ 2\87Å_R\86íÂgvÅ\1e\f\12#¦Þ\82\15\11tŲo´\8d\1c\1c{È¡þ\8c\90\86\9aÔwB\97PRå\18Þ)\ 4ç^£1ä\92\97\98\15¤^\8cª-8¯@Æw\91\ fd7wÖì\9f'`cÝYU+J¢¼õ  £q8ʨ.Æ\8b 
+µD¥¦®7\95\94Ô\0M\eÐI(Ú\8f\0\8fw~>z\7f\0N\eßL\16\14\9aù¶H¼LHÌ}Ð\b\85/»Ó1\8b\9cL4u5è\90\9aóü\0\12S>Ê\1f§ö\ 2á¼\87\r\10ø\f\rä\9c¾\rªÓ\16\13ùæÑú#EêR°\9fU´rYg\ 6*Aë\9e-RkSOc'T?¡]½1ï\8e=\ 1)\0$«c1\82µóÄÝ÷êöF\9eϽ[¢Ñgü\0131\8c~\ 4ø\8dh\16\ 5MjÎ\f~\96\89¹\12$XOø\ 1\97æ\e\1e\8cè\9dß\9etẳ¢\ 3Âhì\7f¸\a£óî@5Z\0ñ\12@<ÕÈ\a\a\9e\ 1®;lÆ0+fûo<G¬Ð\7fó-\91\90\v**-ÿô        ªùÜ\90;åó\84\ eäGê´YúD\95{¢Ïæ\12\19?tf;iÄUøÂ\ 1+2\ 5¥j\8dh\ f\0\ 5\99\8c.°n\90~\ 5¶hù\85TlcÞ   \7f\85%\86\1dPÿç\e"¼/\bá\r\9e36Õp\86aÄPóÑgò  +\80,§¦\95\94öÜì§\1c9K\ e\rô¦\83¼[fÐ\9e¨     í$@Çq\8eó\99`<>£Ì\9axÎÕº\98á\95ë\96ùzúÚÿMµ|\96\82÷µ\82ߪ=O¸E]}+µ\e\93X¥ßæsYÓ/Hð\8bZ4Ø\0\97)÷L
+4û"hÜ2YßÚ\18\ f­\82I(\eãA¯Ðv\81\84rwB\10{¨¾f\aíB³pB\8eÁÇ\14>dX8C?\ ú\97Ò_7áô\8c\17~ÊE\ f_r\9dïìE|\82cM1¶rÑy\0î\1d[²gôÁ¡;£\1d\0 w´ùÊtmX\13z\f\ 272þ\vó.±\91\0¶¿jeèa#&+zÃ\92ä±Î@9æj\0
+¾ýðøÂ\8d'ÒE\84\83ÂÖ6\8f<t6\8d8¹7¢Ñú\ 3\11â\9e´\ 1\80<½àz O-z-¸y=\87éôaåd\98¬¿nÉë\13m\17ÆYC\r\vj\87±G\97l9á5ãx*sUlU\ 4ê8¯ó\ 5£S5¤¹p\ 3èî\0ðAÿ~ï\1fÜCÇ\eGòj\12&U"îE°$Ø\9fÒDb\8bËc\12Ù;\19ÿ-É) S\11\89\1a\8e´\9a\99aiK\ 5ô~VvÂ\125 Tu5®ª»ò¨gzx¿¨4_c\81\8b\96\93\84Yò\J\vG$m\1a\896\87òm
+1RûD[QyoúÂÃáI°Ì\15\85Ç\17ö\17º¯\14;6\86[¼v6:®\13b&\10LÀ,Y\8c\0§K/\ 5@Nõ(âûp·i\19ú0{xå÷\8d}L#;ñ¡ÞI\1d\1asVÊE\eòÏ\ 34KJÍç\bám\0\0ù]À©\92¡êKy\82×¾á\96xéQ®9\1c^\90q\8aP"˸T¢y\93;\96Ü      o:Ü\11k̳ôÜ>¥ì\1csG\1aGQ\97&l¦·\ 4Û\98»\ f#nÖ\8b\99s<\8dÖ\91J´@æ\1dI¥Â]V\9a\r\\8dÐ\85b8ÀR1\9c\8d\9aEy¢ó%Ýx|QGÛ+\r\ 1\87Hέ<ÿ6F\89Ã\ 6\aPÓ»\ fÇÒ\92\1f§Ò}Z\ 4ðIü\10\ 2b®ãKÇ\96\81!\1d\90\13ä\vCUHW»\ 4\ 2qL\13\14\99\8fÅ5wð\97\10\8c\16«DüÍýÄzzRÑ\10À'Þ\9ax\16Z%IÒ\8dºõ\1fvÒejüÁL®a\94Ê×\85ÀÒ,\r\a\95Oç£Þµ\11ÉÇ\eñ³ ô\80[\0V[}±oÀ­ìwv\8c
+ÐÖ ¼ë\82µÈõ\8c\91ºø¾h¯«NûPH\ eîA\13\1dûôÏðÃîòY\1aò`ìGÖ\1cx[a,7\1eé\1f4Ý hü61nl\ 3E[3\88uYbt?#¶\1d÷\16ÄÉÖú@CÎ\\10ñLðËÔ=#U\18HÕw\86u\9dï¤É\vàò£­\95w`¥ b\14¸úõèÆ. ÏÂ÷@`é\vAw\89,ññR\12
+vÆÖIT\98\eÄ]8&ª\985»K§\1cV|\ ffu'U[ò<YðWµçcfÎë?\1dðz\90\v06(×Ð\8e\9dZ\96\86z\82L¹þT\89   û7¦±\84àó\ 5\82L\93hòö\13ô­\8c}\9d\84þE$u\80\ e#»å\16\86Þ\83/EårÜ`Xæ\17\97ù\12J\17_h\9c\1ej°tZ\1fº\90©ç\15j\88!mÑhAS=!{m3åp»\17¦´7\1a\16¤1ÞÔ.«l¡TÚ-ùì\1c\92{\a`;>:l\e>ì6}âgÍ\86ÓçÙÚzôl­\ 4\80È\17\10\89\1f\87H.·Ú\12ôòã«Æ\87V;ò\86ÚAñ\99zÉd¥Û£CöÇÖ\8b/C\ 2\ 6å\1då\vUmƯ&\15p8\91¯Ä²É¼ð
+\11\9d÷¤t\9e\0ùÝ\99ó*{\\9dÅ?Î>r\95ÆcÛ\13аô»ÄcÇ:\91eS¾U¹\9bÚ²¡NVÜ×û\19NAÃôÛj\84\80#{!\9a\a¸\ 2ÐØ£»FýB\ 1Üâ{ÚÊ2Ñ^Z2" .Ü[¬»\8\a\1eúV\ 4B*Û£Må]Q¯Å\81\ fo\ 1O÷.|ýeG\8des̹\vËPü\15 á\9eg0$Ð\:¶s½\9a5> \8e¸p\ 6\ 3Y\81V\0½É÷¨ê|P§oÉ3\19\99\ 6\83\9a{\9bû$Ü´\9b¿º7¬øÞ\97ÍÜ]³OPÜnßS*À\85\ 32²è}Ô¨?u;\95\(y\98òê\1d71 Ù+\99M\8c\80jx\16üô7 I²\9d¬\8f\8f
+YÀ¥~·\fóó³Ðç\16á\1e\7f        =\ f\ 6·¼\150\82¦um¸x\98<a-`\18ÌÑ"\rxo\ 5°iðÐè`MÛ\14a¼FG?\f\ 4FA\ eæá°yL÷Å\9e\ 2\9f¶&\14~U\9c#\1dF(\bí\12\16\9bñ\ 1ë\1elU\17³i\83¾\94`\93Ñ\8bÓ\91½P/}²/r%0X«éÛ\86        ÅÆ\11\82~ý8½0d-Å\82\185êõÊA£wO2\1f/3­Åå\80>Åz\ 4ØS¡\rx3ºy\80ùy\9cpc¥\1fn\9aí\89ì{½ÃÖ}\ 4
+Øó\ 6?Bi\15¦\83¸[\93óWÕ\89UTÙ-Ö\13ÛAáÔ\13å\81á{#=\ f\ f±V\ 1\1c\8d\9e3­W\ 6ìgXmuy?§@/ó\8bþ\18Ìv?¸\87\8d\87\8e\86:)M\ 3|\ 4\90¡ã\1a{NK\1c\17ªä¾q\1aîÜQ1l¡þ\11Ô©Øq~7ª/ }J¯@P<Ôc¨ë¼±\84OÞ¾\9dLüØ¿\18+\8f@û.\15¾\e5·ù5¦?\92X觪q\97\\ fµ\1a\97¨Ö\8a·`×ø.\8dìÉ!xÚ\12\89\87\1aúq=RR\9bÖ³4\1e½ÕO\9a'eY!С¿`h¨z­@|Ë+ß\aËerEó\81\ f\9bÚ¯J\9f·4[VËd§²\185±¦ödë\1cg\81\93\ 5\1c~ÐX\89à\ 5\14J­r®\93ª\8c¶MJ­3:\1d\901á½NÿZ\9c\1a×UY\0Õ¸ï'²\13\91ý\83Od'Uõ£ÝCÑj\ 1ô[´1æM\ 6iÕV\\91$/W\80ÛH\8e\171\91\83\ 4ofT\0O4`\16{2µ\9fÆ/i0Uã\fzÄâó_-Jcé\88\18Ckrh¨·tÐw\8aáÔ<ß\99äJfÒm\7f@V\9d\ e\84Ù\97°=2_è\8b\ 5®çÙ\98öF?¹"\8eu\96\9c]i/M\86\9dA,ÒØò~ZÜuÚ\8d8-\9d\ 5\19Ñ\81 M3XUKë"Xßp\a©¶\13^~-ݽF,\ 6\88\87ß§\16;Õq\81ó,¬0ùl¬á|¾\ f\9bÚ½       SõIÅæ6[¼\8b\96Á¥\1f¹\f<c¨¯\88ÁÇÅ(¾Yütâå§\0æ2ÏR\8fÚ\aÐÀ\8bËBJ?^\16\81\8dÐjÉ1»WÄNEµnc²Ï° n²Q\14]k\8c¾!é*³µuU
+@Å¢\ 2\87P\11cJCy\ f*\vx{¹E\15´\1d©\v\ e\4\8a%T\85\#ö\vt%ã«&êÆ-M4<\94\1fu\92È÷d\868¿z\12JÝyÇs\16Û¦W£\ f\98cM*\14Å\ 4ö'        \1e^\82{\r:¶äO«éN½\ 2æzÉÊãÈåéa\9f\91B{SûÀsQyrî¼U\0Ç!\80ÚëÅÃ\17\8d´³¯\16\996¬´ú\86\aÄ\9c\1f¡ÕKá;)ï@¶\89ÕOD6\18º·Þ\98Èi§up\12Æ\98+ßê-QN\ fÈê¦9\e\9dtCüã¡\90¢ð\1e\8b\10ô`y\9e\9ega\87òDó\ 1>Ànqx\10\86\90+|¦kgdÖ\89õ\ e\KW\1c*p\90\ 2\8eV\88\96D^d³ª¦\ 6®«\0êªlJ¸î\85\ 2ó­HY÷\a\ 6z\8fÑË(5\ e´\9c2T¾\81¥<(
\83म\ 16;{X\87èh\ fgB{\14ϵE=¼\97S]i\aDT\83\8eImè\9cDé0Â\8c\85«8\8aõ\ 4\8e0\r\19 (õ]EæK«4\99ð४g\91À\96;"¡\8bÌn«\88\87è£ËÄ><\15£»WíP\ 1\86z#§ \ 2s¬}\bØûw-\ 2<\ ekB\15±d2êöÃfLÇļLúôÛí      \85û#.èÌPu@zö\19Ì\95Â'\86\14\r\1a@O]P³\86\1e\94\83é\83å\11CÆÃ\88\87=Nñ×\8b§-\1fĽ3\10Û\1a
+3ºÃA³\fxα\16c\8f\869\81Ú\9aEsYGõÖ¸6ÌÃ\14ðî5\9cu\905­ÕO²\1a­Î\e\9a\16åÚ\8f=2\ 3 ëL\7frIDÉ%Y7@Ó\aU=@\1c\fk;yG\r\98\17&yE¹=Â\81x'tZÀ\14?®X\ 2\87º\19\8cxo%\98'ÜI\11ú\84\86xÄÒc(\85Q\7f\b
+'\ e\bÔìM\ 5d\86      N\80O]Q>\1dª\82\15ûi\89ï\88Íò\16\9dï#yÂE2\95Ê£\1dÓêTÏÜÎ&~ü\15\8d\9b\84-Yä¡äHù\0ó~@Õ\89\11me³·öb\89\8aÓ_\8csW´0+T>Èû\88l\19é\18\82\96¸\88Tf_³\f
+\90Bñzµ5çÐ>zF|ø\ 6ið0óÞD^\8boC\ 3c\11yû*\ 3ë\87\16O¦G¶(\93\8b¯¤(¤ÿT\12pA~< M\9e4C\86\15Ë>õ
+\13\14|r'hÄNÀmÜ\ 2Õݲ(¹!Y\81µ)\80i±vÂ#³\1a\ 3Íã5ÉI\8bà
+\1c\11~\1f´-tCc\1fhË´GÙ\9fe\10ö\fº\90þVGQÓ&)?Ù£\ 5àµ(\8e\e\1d·0\12¬\1aø\8fÝ\8cI(ùsUo\95ÉÃÕ\93\12'q\1aºNSª\96JK\9dC\90Ä>Ð1óì\99Èl-ÙLL&²kÌ2cì1S\1fÝ\rn\98E c\89·ú\13ÀûâÃ\9c%¼ñÜj3\1eÂáâ\1cÜàîNDw\14£1\99¡\883çé\f\8f·°7*\1cc&±\89éÑîÚ\16´\eþ¶»ú?Mͬøg\86]°}=6\ 4<¤V\99x`\84\f3ñjl>ç\ 5ªÓá§J\0n\18
\eðû0}ÎJÝ1O\88\1co,c\12UnE©$\8b\1f\1c\8bïÌ)`¾XýöY>£%ùj\9b2ß*\81~z\8cÿ&T$\8bµÂ\10\ 3²&\15ÒE×Z£·\18\v»ÿ\95\95c\14¾ØºùÉ1ßÌ¡@KúÆçÈÕòe\rßÖ.¼\rñ\a|\83AÙóü¡ î\95ã#»\1cÍ\8c\14Çß\10Çj\8e\9cpÕæ\rßÖ\81ÚÙ#¥)\876Bè<\1að¿{7\ e\92¨w\e\80QLwi±Gj\8fÃn,/$2r\14\83°Z::\v\81/úEë\92ví¤\9d»"à\1d\80\vBL\94\a®c\13      \1f\aÏÿÓ·\13´\r- i\ 1ÐÑ{µ¹;\7fù\92~\19\1dÏÏÿ\92{\9fG[óÿÐ\9eÏ\86Â2O"Mo\1a&·¿÷&½\97\1c\89¯¿Ó\7f\82kuó\7fØ\9aþØ\93\7f¬\9aÿØ\8fò¬\91ÿaÇ"?Ý\9d\92?á|¬\91û\17m\11«¸-Ñïvÿñ$\r\12\ 6ÖQ ?d\90\11Æÿ\ 4\80¡æï:ay2%VÅ^©F\1c:\ fXz*\87),â-´²®TªÙ*Ý;ªQ\ egiÅ­x\9c[d\96ýÿ0\8c`G`Aï\13_\19pëc,ë\ 6\906Pü\80#W(âá\ 5!^\81,\8d&¥º\1fNDÛ)Ò`HÝæßñ\vm\9ab¨¡\81Ä\ fëJ\18\1f\15\f \f¬7}\9ee¿\f\10ì\ 3ðÝ%oâõ¼âlB\ 3´µÌço\0\97j\7f\14 \80æÿ\ 2IHñéJ\r<Ä   \10ë$H\14Á²\N½\879Xpv.ªF)VV-³u¾É\8e\89êg\8btç5ïGÁñkÛ%\16Úè°aôoM=\8c\7fO4fôoÃÅîre×°ic7®\8fêÐ\1f/{1è\9d\8e\92è\ 4$×qGZb?6\ 6ÈS¢Þ#ÔkJ\8aÔØQâÚæð¡s~\8fÈTtOY³#Oϱ^\83\0z\8a\80£L÷v¬?y\9b\b°\9e1\ 1uB'§\17f\16\19\8a\18\e\9e¿}Î\16àì\9dTê      &¾I\ 30êÈ}\83®U2\egâÔ<
+Ä-ÙóÆî­CÂ\ 4Ü\99úl^\1c§\au&ý\9d\9b\89\a]\9cr¡Ñ\10û\7fY³8kZ\r'6Ê\9cuJÉoÇS¾Vþ\98\87Õ\9cA\ f\8bB\14?\ 1\8dHQP\9fÁ½¨{"\ fÔ?vô-óièí\84wuáõ¤åèj1´r\ 6\86\9eî¤\1fã\9cèZ¯§\99Lÿ:g¶\88~2g÷+\ 5\18Èíy²$1\8b\9a\13\8d\1f\81f\9e\0ÝÖ]        h\95¨½(:\ f\99\aúwÞY#*\ 1\97f\ 6©¥1þNr\13\95tw%\96m\1fÈQÞ\8fÕ\14¢NC\*g%%¿0øÈþ!\99CÕѳ\15\v\ 5¤\12oÚ!\8cPi\ 6¥\98\ 1\14,f\1fz\89\8aó·\88ߪ6l`É\98á\ 1\81Ø\14*\7fÂT×\9eÕ«î)«ê
+0)^=\ 6¯\ 3qboSâ\94ñ\97¨È\r1ï°ÀÑ?qj\8d\v\v6¡c)-\18F`Ù\r{ª¯\14g´O¼ª­V\f8;\ 5zèpl\15½\ 5\fæj\rvrj-¬ÂÙXgÚÇr?\1d\9c3Ù³\16\83\18õ\1eu°(Â\143í#ßÏ?{\81±ê\b\8amn\90ÝPY\86\ 2\1f[PÄ\87è\10s|>2ö\8fO\98;\80Íø7\95\1e\88,\ 4\81\8aÇ\ 4SsàF{Ç^Ã|¬\1dsª®è\99\q[W%\92\85\ 5öK\99\eÃ\11Ôû¸c+¨Y*ü\84¿»îµ\92~\f\ eÅÕLp³k\a\eOY!\9fÚ\10\1d¬\ 6G´ûÉ8­\11\b2¼mYb·\fÆs±ø<\96\vE\13Â\81¬\83r\99¢Á\19\97Ó¨\9e\94QdïüÔu\19²\8b\ f4\ 3q&¯Ú\9aI\109\95\9eÀ­Ù\0\0æP\0îH\ 1ºö?\98\ 1íÊ\05@¯\ 6´\8f*r\17ê\99\92\8a\ 4Ñ\ fXʦÀÔ\ fÑ\e\ 3wGU\11\99B&.&È(\99\14Dß¡8\1fÞ\855U£ª\92\8d\ 3çéêäèõ\ 4övÕ\97¥\8d\17µIÕTRű[Ä9á\8dû\15À$8!\90Á¸S¥Ã\1dÓ@ÊÈÆ\98ù$\16\80\98öIßýô=§hÜ=ÉFáé\18\9aþáêe6Ñr×Î×êÝ+ [\13BÌ[\19Ôð<\96HT\84\ 10­<\12\89Ë£×\89Â\\9d@\18"~2IFrZ        7\85\1f9x\9cøÝì_2^Hl{Ö£\11òé\87#¯vh¼fËqQ\81ìZ\8bÇq\13oûM\9b\8c\8f\1c\v\92f\1c\82ë]üeÌß\8f\1f­1ûAq£Õ,_\0\93­VZ¶g7/\17-¯I\1dñ\{\84\19\8cU\\8eã\80\8eؽìÑáS\14\86]\80 ð\9bäÝp9[syfé\9c~/#ý#8\8aæã=úc·ÅÏ\ f\1e2Ù[¸/dÈì\8b\r\16(\ 6÷\19¯ ¡U\98xg¦od\8c\ 52LÕ\bÎY\81·\\ 3L¸Ày\ 5([üp.ù\bÓ\93\92·Îk\ 3\88à­\ 5©®\9fE\9f1I.¢\ 2\81Ý£ÄÍJ\9f\8fÇFA®\ 1\8c\1dúÛßê#Ò\16\1fýãï\8eöÒJ\8fÈ}ìJ¯\89[é¢òåÕx\e:Äß\95R\92PonUëM\16¶\\17Ðö\9f\87rÖ'ô\8fPÔznUzMÒI_±\10
+æÌpú{ ù¿S¹\8f[\ 2D\vH\1cCìÅ\87\9aMP\99+­W"ù£Ø\80\8fùk£_\11\99á¯ó¤e~&¸r\95¥oEç2Ï!(¹\vÔiØ·Êg3*\8c7
+A\85Ø\\87p\18Zð¦~×\86^pX·¾\96\14ÔþXµÓ¨ùü\ 6°Èv\13ô\8d\9d\eé[Ó^]öo\ e½%,\9c?/'\ f¦\93\87Ô5á¢)Ñ\ 53,ó|M\0yèõÚFqçh¾\0V\8b\10»ªøfsw\96¦yMßtÃ_®v\8e\80\7f xKq¿HmT®ZÞôÕ[\1e{U
+\eG<#BÑÑP\16ø¹û²KuεY7363÷a&,Ýü¸L\17\94e
+dí\14ê<°]\12(\83Õ\9e\1e~\b}\8cY[\F>t¤ÿå\97äeeîµ]ã\99\9a\7f\8a.zì\91µ³\rW­~\1ag9·\88áó\1a\ 3K$\11­\1f\vTJôE\13¼¼¦"äîÉ@\90\8b\12\8a\ 1\94ÿõ\98\\.óJ\92RäS\17®t\9dL\14\rðÅ2¶\rÍߤ\8c\18\98%dÄ®&}rÓC;b\ fÁOðGÝ\99{ïöv÷iþ5¯½ç\8fwìÜÓ3\a>.´6³\981\fØ;;Ã<PÎÇ\85\11\9aö½3ìí¯k®`ywü²\996\8e²Y\94\89ö\9d\8b(\bîF\ fÜì
\1d³`©ZeF/3ââg@\1e\18\90ðÑÛKK%J£ª\1d¸\93e),õAvµ\ fþ\82w:t\9cïbo\ 5£\ 4ë\88$ÉôÃçL>`+}<\8a6Ƭ\94wØ,¾g½Ì\e\95¼7KZkýw÷\83÷\8ed\87p¿¬\v\92\16\97\86¡ø07Ê1\82óCÚ?Ff3¶©\9fÛ3\1d³Äqûââ¥M56ïâ\12rýà°\95±\10ªx\8aá«\f'säPÉäW+8k\14©©ÕÊ|ÐÝf¥ß\19\83\9dha<FÓ¾-=\9dE\7f|Ó/\aÚ£Ý\1f6açª0`%;Þõ\98h\e\97\ e}p\11\99p}@\90`o\90\fÞþ §xcÍG¼\99\8c\87\1cÓÙ¹Õ¦\r=?82ýfG\88ï²[ø³Å\ 4çñ\ f\9cù¹èÒ³Í\8fò´%®\1e>\84c\ 4ïUì\13c\198cËG\9b3\14\9cqã8+6×\14·\8b\10ý,}ð\90²9\7fq\92\ 3ìðcÂ\86\8f5p÷\ 2;[{\97\8b\19Íî
+\8c.YÖDL÷Ís1ÿëNÙ6~Iß\r±ä@â\19\8f¼     \9f¿Bëí\a\8cK\fg«ñí'Þ»Uô-KdlK\86é\8cv\ 5È\98,¯ö^\ 4\1fB?9E}âTM\12\97þ\ 5\G±\f\0o~¸Óa®1    É8\85ÑPÕ­\98âcÅKNDJ2ã6QÀk\8cËð-î\r«`\9c_\ 6\8d,ãäb\83"\87ê6#]\1cëôô`D\9d`æúÇW*e\84Öûh\ 5,[\ 6H wì\98\95þì\1f¦t\17 \f @s¦7ûBQ\1c/¡¨æ£!\15\1a±\98\928ÁDfõY\8cê\17Ml©\19:2O\16Ük\8fnËÆ\15\19\99WK\8bR>bè\18\8cE\15z°P\87ê.\155q\97\9bó´¥ÊÈ\9c\ 2ëv\8e\89âõ)\v\13\9dw^\ 4\10)±x\8dÞX\97·y4[ø\98+\94mrÌ\91dØXÐ÷è¹I×Ô\8cïìÂx¤á\1c\9ec-¥u\ 6\8bb\e?~\ 3¸\16æ\ fî\ 2¨^#²,Ékó[AñIà\r\7f,}\89þ<\7fá$\9bÁ\ 4\19p&ºg£ÐKç@|{\ 2DF§\7fpÆo\8c\1fuX`vu\11måÕr$W\ 15çQ\93)\95Ö:       È<¬çO\16Þ[9\8b\1aõ"Û¹uR-7Å·v¯}\16Ýê½\[yÅi~\96\1cé\ 4\80)D\84²ä@²££\fúI\96±\9dرµL\8e\11%ßÜ\14\88ì¸áX·xml©ÀÚb\81Q±Fß\96ÍãÌ+À¶\ 3í3Cà꣮6\ fÚϳ­5CM\93\15\93ü¤Ò\8c\90~E´Ñ\85§1\13®\86<)Ó.Þ#\19\98T\1a[\18Z_u3Ф\9c\1d\82¸¥'ª\1d­7=Lõg>£e'©^*Þ\16\97mi\b\ eEÌ?M´.Ïlµà=^«/ê¶\8eà½\86~\ryµ²¸\7fÞØ\a²!>\8d´kK²c¥Î\ 3K\96ÉÂìý×UCÔR ììUÇ&\7f\ 1*\r\9c\1e"©Ðv\7f\1aÜkJ\10ɺ\98~»dmÊc~9ÙsËÇ\99\14t\râ?HÔAø4\19s\ 5ð/+X\ 5æ?¬\18ÂØàÅ\16£R\f\85\93\82g\9aÞÔ`pX\82Ïõ²\99°ìÇ\11¦k\94\ 1M\9a\ 53.g¥$\8a¡âôÏìaueÑ\96K(($ÃÑ\82@õ²O½\99Dç±\8dÐ[\97\vÿþHß\882%8åÔ\81¶EÞÙ£Óò\89ûÛ$sZ\97\17¤ñ
+{¶ÅY±Ü\7f\8d\9aZ\85\7f\94I\9c\9a=rã"î\86\ 6\94®*\8a<ò@ç\0O>xÌS\ 2"ï±ð&c?j<\eÉìëůªOf\9e¬ðÌb\9c¢ûÞ\88¢ ¢³l\8c\87X<CÓAýëmÑ\94,k`Ò3n\15\92(Òç#+ýW\a\ 2Ò!ø1\ e\84×\9cdoM~¹\rþ°Ãå#\ 2°uS¥(#T\81\97Ø\ f:"\ eÍ[Ðð\ f\87\83Õ³[\92\16\1eÝ¡\fN\bî+\a\9c\1c\8f\97
+ÏVÎ\r\80n~²VçÏ\98ÿ`xö\90wJÎ(Ä!\8bðìÒ,\13^\17\1cc\ f\87Ý©ðÏa®\91ñ/\86%<5Íò\ f    V\ eéon"ýÚI¯\83|\8f·Êg\85³%9·)Èix\9fðâC¡Cð\85Ñá\99N\Á×Za\82Ð9\ f9;\95%6N½_\91\1d<Äp\8aJ%\80\bß\8f\15ÆÈ±\11x\aþb¸qÓ\91\8b¿ËÂ4;ý1w'\ 5Àc/à\81\8a]ãô#Á¥0Å\85]¸j:qkÁ\1a\16kF\15àÉ\0\11àÚ\7fX½×.\8d\91i¸ü@\14×ÿ¨Þ/~`-     \86*\fè\12\8cu\10s¢svqîÉÏwïó\8dÁJq\ fÒÄ\83ï­Æ!\ 6w\bË+@-]\11ÊäÈ\91\1c5\89ÄÁ]-ãÞ\ 1N\96¦\9eû\93\99Ë¡\97»s\a\a±¯[ãFÌ`½Á·Ît\86=Ûæ\92¸ÄtÎårW~1Sû\18\1fíÅ\99\94*\v\1eoÀüé%b<\90æ£7½I\e+i-T\8b\8dîÅ¥÷\92¡ò2x\85»\91\8dU±uS>\%½Ëª\9eÌ<(G\97\14ûé\94ý©;-\ 2Ò\ 4\84Å¥Í\8a½\11tg\91¡\91*|²òÃÖûáüò$z­\854\ fù2NùÕNÀx\ 6T¢\ÿf\f\95Ò,ä0¨Ìò\18Cyê¤-BÆ*u\130dòC\95ø\ 3\ 21Ųä`©Kª\13»ðÉÿ\a\18"\1a\85\8b­\91\8fÖJq\ féY\9a\15 ùä\82Õ\11\fÇm\bÖ3\14ßs+\93\13\95\17ÊÎ(¾fu\1eþHt£*=`<{°B\eÄ[\8d\v\18÷©°£çå_¢Ð>¦IQã\92£(ôZ4GD8ÍVú¢`Jr<Ùª­\a¦\ 3f\8fãÕ\17\9f)®áfR\90Ñ\92È\93\8eö\14\ f\9e¶FVÞVϵØ\e^\8dÚ\8bÂx &Òæ,yIÒ'J¹Æãñ\8e©\8bé¨ûó££P\ 6\98\0ÅA;L³\98\95_\13ª\9f\15\98LãÓÏÆhJ+Y\8fÙ#W\91&;b2E\ 3¹OF\1a»ñs<[Y\1e\1f²\1d8fCÞ\0x\13ÏRVü*[\7f¥lûC\84ЭÐè³Í¤\ 1Ù{RV/\1eð¡ìɬ\8flJÛ¢jr,\8d\80Ã\94_0M\9fÚg¾É¢ó[g:b    \8d#jc÷\ eK§UbíCÝ\11úÊdW\11²ß\1a\8bÀ\16\ e¸ã\ 2L\12\89\17_9Î\8deþý/\r)~\1a\ 6\ 5 Å#\98\ 2ÚÓ\91\80õz(`\83À0n\8cHä@kÌôã7àNÙî¬ÑmÛg:\93\14æ)\16eu\e\81K"=ÔW<bÚ\9e+e¸Lôâ\1fÊ\ 1á\80p\94
\ 6\¢òÆ>,y¥Ó#\14\9e\ eáYs1\86µ¯g\94\96¢òÒy&Wð¶\81)\8câ¡ú\f¶µù\82\9eê¡á ÇMá\97\9aLõ¤{}:Lä{\10É\83Åàå\11ð        \9e\13ÄÎd\16dãd;d<\96{êl\81ñ\v\92q\ràã
+A­[o\ 3bc×W\8céØö\9f_[ìy\ 4èf]0'\13\9eLÅ%P\15mÎâ/i\89[î:zq\90®ðx
+OYçV®\ 4\86\8f\8ceèÈq\83\10V\ f1iÑx.Í\1d' aëP\ f ì\93Õw¸bÈGáêñ\vc\ 3\83!ÀñâfäÑ£Úg\90\88®ÈTsu1ñA§\1d\ 1\97î\1f£Iq2\13ùõ\9e®\ 6{\93H\84\9cYâã{øåÆ÷f\eÿ\ e\80ü\8cåà\f»\9e<M\17_ÉÆ\17î¤ÌÚe
+=0\83ð$!¸g\10ÏaB\aý\8f\1eD~\fy\10X31|Ä\97Z\a\88«ñ\1dv¨¿ñä\8e¢\90oÌG\19\v\1dð¿Hêç\90PÏCÂù¶æ\80ût\ f\ f7\9aZ\91\1cx/¬y-t\ 6ÃIän\85#½Èá\ 4(\1eÖ4\9d\92näÉ\92`\12\19\80\10p\ 2\ 6)\12ÊÂ$L\vf\18\ 12L\8cÿ°ì\b\11u\15TT\12Æ¢³ÐÌ$()\ 3$G§^£mU-¶òÛ[jÛ_T¼®\8c\15S!      $\88\0\0¨B(\ 5\15?\8e"\ 2¬$\03ï¾ÿ¹\92H5}[µ¾¾Ýç7y»Í\80\1dÚÙdq¦\195j\9bÏ\ 1*\86¢²ÄàíZý=,\ e\b±­\9a\vß\ e Õ­"íÛmAÀL\11\80ô1ó\ 3\14(Ïé\8c·Z8\8f2¹©{íã=MÛÔjaFeHÚìdf_0»\eg\14V\10¸dZ¿\16\8bçE©X\11Qu\96Ïøâ-HQ\aJ¬\87kè½\1e¥>\¶\1a\13è\8eªð\1e\ 3ý\15ߣ\ fÚJï\12ðó"\8a\1aSþÜ\97Ô6^d©\95\aL\9f²ôF{\8bxßi\82^ô¦®·f!P\82°\8f\16Û\97\98S\14>£Û\f\81lW»]ç(\87'#¨\\96\8b\93\8a´QÖÐh9D\9b\f\87X _ö\1c\84ü\88ÄÜ\88ïsì2b\98ýÉ \9e<°D}^LS*Ú³\96\87@âàþiEüB\ 1\14õsG\bÛòóEz,k_ôÒ@\80\11èB©ó\89Ä~ 1CÈ4\1dÔC;ó\8b\93¥ðFÜfÓZ?\92$ÙµèwpûLÃõ\91®½\16\1cúf\ 4T\98ô\aÙd\88>\8f=G\9cmOÙ\17¢ÚòÉ\8eÔ|æ\7f±%\fÀÁ(ó\8fàÉ\v2\0§9é«>\90§½â+Z}p¾ðA^]Ñìz\81ò\98\91\1fà(W\8fûas®¡CÃ^]×H\r\1cämËd\96oìÁ\9c0ËË'\93ü\11Óf·Â\8f\18V\¦\96¥\0\13øW\bä\18o\91Èè¹Ë\99l Zà(_\ 2g\92VOú²×/´§øÌ¬\96üÑ\19\8f.àX§(\v¸w\8f®\80ÐÐe«\92.\96Æ\9f\91ýv$\10\ f®\91[¸¨líâ\96VóGù°\v=8Þ°\89ö妼÷\9bD%\93Æõ×\94²¨ Mºóÿ\18¬Gõ\ 4ÒÁ\ 1Ù\v\v"W\14µ8Yu\91t\90ÀÃ\8f\92Í\1f»éÆ\ 4­\18G\96f8^Ï\96 \80Ë&D\16Àêâ\1e8n\9aiH´\88\898P\15\96XOüÁ\84ôÙü£ª\1ct2û1F;ç*
+\ 3¯ë°!\ 2\89\ 5\1cÁ\ f\86×\b1\1a
+ðÔÌtªB*1}Tº&8aBï`Þü§·¥,\83\1f$ÃȪ\13\10ù\80©g\18\814.ET\7fÿQnú\b¨¨áØ\8bðO5\848M\89PèA}¤4Q\1d\8d\9a\15\97,KØy]\ 4\by!!aa¯9TûÔZýùÊ\1f¤\17%å¶\938¢Ø^\1a\8bæY\19môøí\86\89æÛH\16Ó\1fº|îqÆ\96Eð.\80Ëo\13g·MæÚ\9f\8eg\9c\17øPæ\86oãøj+\85߯£Vµ\ eæ\9fÏ\9fÈû®­\85\9e£°ò\9d/h¼ó!g]ð\99l\7f\fT\9b\95¢ZÀ­\9fq\13¯-2xàÄ\9f\r(ÜYÍ\8b(\9d{YöÛ\1ft9\84ëÙódø\90Ú!Ø\v>\ 1\9e\ 5-Oç\r\1dcóxÄ\92\9f«÷Hè\ 3\9a ¨0Ou³é\16\9d\89\17µ^\ 3(\8fýû¼ÍüâP¸×\89üD\ 1xR(6\92×ç\ 6\1f6Æg>#±\8d7LÑ\8d?\19\18Ó\7f\81>ú/)Ã1ÚÚ9Ýrù}\13*%¾\10ÅÛjÁ\14
+\vnñǦ_µ\vRg\ eTËÑÍ\vdy+\87®[¿f\9b>y\ f\9bõàrI¯\95|\ e\11é\8a\96\89\ 2EÕµ¿¦YHFæß\13«FÇÒ.\80M\1a\14xQÄ\ e\ 4òç\15<âaåÐÙNÿ\ edªya\b\7f\83Pt±;\8f±\7f\84M\9eÕ7\96\0\83pàЫ\1fñQ3øXð\8dÍ\12Ø\95\1e[@õOÇã\8e\14Ð\90i÷Q'Ý\\ 5\bÚ­¸ø\98!\96J\85lP{¢9÷\89\9b­Ò!£ã\9f\8d\8b\1eß\ 5éäm\82Âu¼q\v\87Ý\ 6\1c¤¥\93\7f\98Q\80Öï\97Ͳ\13ÐbÜ\16UGs\8dÉ\96CQ±û¡e¾Ûclõ´ý«\rÅxC·]æÞ\ 6àóáHUÛ6«¤ECÈ\v6mWúR»³<ôÉ6\95-\18\ 2\15\90<\11§\1cBµâ¥¨\9e{o߯PÊ\89yàÀãTÞY¿ÏE\ e\8ego[À\9d\v:jÿ*)R\88ÿ\b\8e\fï®°IÿPfv&yeOË\1dZAã!r\1d\0ìX\a\9cû\84f}\18Ô8ùE\9c\r\83\eÜüqa\86äúï}\19«F\12a?\8f«¶\7f©\1d:äiÊÙÕ Ö\13£²,9\98@Êr\8c\ 5c2Ü\ 5\16\85\ eüe¸h\18\844.½\ f÷bQ·\15\88\ 6W²W´ÛAÕ\8b\88\8bÓ¢\ 1BN7}\88½\85¥K4âY1\ 1\rÜ\1f\83\89@Òr\10\85\12Æ\89çͤ\93\8b\80Kv\82\1a\9c<q»«`X\ 4m?\97º\ãnTûø\98°d      ¿ø\afN\1eØl\17FEA&\9eëmÐ\ eÌÿ{Þc\a?|¬@l;\09ùîfX;E× #úñ©s\17HÕFäT[&8vÃ\95n\19#\17H4\87Ã{ÑXåâáý£/ÞM\ eû\b\14\ 1{x\93ÇûÄ\ 5\rÄf\18\10=ý=Ñâæ\fó¡\ 3~M¸8P,\ fkî¡3Nc-\12\8co;=\18\v1\87\97;\95ÜS¤\90é¾\8aH:\1fWéUy:ô\8fø¨Øp ÓøS±v­L@bPò
+¼Í\94µ»\83º\93\11ùpë{ªth³¾¤\96\ eíy%EQSfghz2,i¨\96\9bIütHEṞR·'?2õâ\1fþ\90·É.Ó\ 5ä$\90/\11¸cýÈ µÀ\8aG;\ã\ f¥\b³\0¾á1¹\9bA)\9c\84K\r·\91\jãÉ\19\9d\98Sýé@ü¥<\9eè\8d_lû¢\ 4\93Ä-\8e\92\7f§º\16\1aí?\ 2?Ýçt[\a¥\8bý)aß\93°\e\8d   j+\10R
+´Ã\97Q+Í\ e\19ü\82×nÓÚÐ\8a\16%l\8bý'°#&ò\97]ñw\7f\8fBÀ9\86\93DG~UR­¥z¯\1ca/ü\92a95\1aÐÑd\8bÊ(\15Áõ\9c\80@E¡\9eWj/²)³A®\f)×"ÈPðM»
+\f\11Øf\83²\10Âé>Öü\ 6ZÕþ\bËj\90@O8Õ\8bÁY§ë\107K¬#³Dæ\9c\1d;T\9bUöL\90x.©\81\85\86$\1d\ fr}WÈÆ90Ì\89ÎC½D´ão\b °kx\8cveæ\9e;\19â\92º>
+\e\1d\9eÑ"S\8b·òÓm¼/-\81\aZûîì\8a\9fa~1íÔ`ô\81ý\9bth¦Ñ\16\88xªÍ\9ft+y\7f\90¢ÓÍACÿf\ 6AE\94û-\7f­(4XÒgüÇFBãPIÄÚ\9a\r\83\85\1eq)ý1XãCþ\ e\99\86\81CäZ¾Ô\98¨£\ê9ôåϲ3Á÷m]ù\8e}Tn~w¦#l\rOÔåÑðQyá\14ç­\f9\1déf.\ f\ 1\84rbL¹\9c°üãzB\ fÖ\1eQð%A¡û R\98)ð@\8c\91\96ü%ax|iRæE]ÆÃ\17UwãûÜ2\15\8bë\97ý\bÿ\18\ak\fr>·\87ìn=?\85Ð\8aÏ\16ûr\10û\ 5UK\84 `DÍÅ\99õÝ\ 2\82\10hÌñ¥\98cb\a°e|Ôk5\88ýÙ@\8d6\ 4ñ³]\8e\1cnÁ­J2\ 2.Û7(´\1d\84Sd6gìs%\98\AAøÿ\f$£!\9eµ·ýA ¾\97á|´B\9dÑ®¶õÇ\9eP}\ 5ø$!\0±#\19\1dEÅ­¹\88\b{àC\8e\14ÜÛTßÐj\87öóï[q^A\v¶æ[×·ª@\85®¼\81«m\ 6\1c2
+\9a\88æïiÛ\82Ò»}ºíö·\8ae¸)¯á\8e]}"Ux±\13¹?óÌ\93\ fÊ¡tįçj9\85WX\916\ fiΠ,ÞW\11\8b\16(\ e×\87ò2\11\14\1aÁ\87\1a½Ùè|$\92Ùz\98\12\13\1ddþ_Dò¹þ6«Ô!Qé?¿ì\94\ e\90xm®Á+Ûÿ1lé\91¸\ 5¡Àï\16Ö8\ f®XI*id\87ÑYë\84P¼9\13,_\ 5¼¢2\ fÌ®\14ªV¡*0\8d]o$¢úî!fâ=®·YÚ\aGqÀQ]`â«\13i\a\8b\1c}61\88\15døù6Å\94=5VÌzd\9f¸3¿?\88Áþ\88ëØO¢ÞS\82÷]pÐ¥U\99\9f\94>\bÂtʹø\ 19{AÇ\98+\9eÏI\862+;¶\14öþÉ\13\rG\15_=\16r^T\8fj2ôq\f»æ@¸mqd\93\99½67veX¶6\8a÷\97Öâ).&Û}{å¼â@\7fª6Øö\ f¼Éµ_\86Cwöb\93\89(\1e\v\17$W\ eÓDòÂ\ 6\8c+\8a1oQÔË\17\897A¥\116s\17!³õw\ 3¦¯Êñ®ü\98ù\fa|ÑÖ\8evî0e¢hv\rÎ1°l?úC_\15^\14¾Ô\88\8bzRÜ\8f«B^ªS2Ô\ 6
+\80p¬¶»\14FªQw\ 2CÉlë|ÒÊ_¦\90ÑEj\ 21\17.\1e\90>¤÷[·ÑE\81\86\1e\81gÿw¥cmâ\98\96CÑulz/¹Ï»0\88\86Ô\1aË\92¹*\a1l¡]`ìr\e)¥Q}b \91R}Ú<ÿið]÷ÛòÝ\90ÇA)VTÅí{èÝóÔb¥[°\ 4À\b\89¡É\9b\1d7\8c\8e\9b\88C
+uÄ®Õh)C\82^l®m¸}©\96Ö\ e;Õ ©[Xø¾\1a\89úÎCþö\rÔ\94
+T>
+Ïu\ 5y\8c'1µ[²¥³t¦T0U®.2Ô\14È)vÇÙ\17òD\92âô\rPIKÊGÚOòuä\1c©É÷½oKmµþ5\9b²u
+Þë \81\875øjK5én\ 5¦\12þ#éι \88\8es[uD"ê<Øæ\19\95~rÛCë\9fÉC(FÕ~,r\ eDîØ9I     \880\89Ò¼\82\8bQ\8e½(WÅ\99\8c¶ús[ºF\81¾+Äjè\8d\ 3·\18KT\8b¨\96öå\8c;m3Q2Ð\80ÂÍ&éP°Y¡\13\ f\aCÑ-µbêÎ\88>%n"5\14\f·¹\ f\12-ÇëÜÆc#{\ e\fÞ2\8d\a4D\1dOxZgÑéç}î£!¸b\83\16\1d1c\86-\ 2\99 é\89¬¤tz\1a~ìF\9f\94\13f\82l\8elÙPK\91vÅC"ë#ßÏâ\8ft­@d³Ð#¹áÌ1n]\17¯\88C¬6¦\83æ\ fÀ\129\9b\1d\0~\11jE͵\9fu\b]F${^5Þ7,Q\aNH¢\80^¤µÉ\7\88C§õ¾!\eÿðË3urܦ\19%Ѩµ\93åu\bn@äþ\1dÜ#ï!xÙÕç\ 1ýå\8f\8dÈgÇÉû Âz\125!\ f4<\výß\ 1íÅ\94pït\fN/ØK¢$©ßd\88_ å6]Eè\aÓ½\11ÕåpÒ(nJ\99\11ÆrjÈU\11µ\8bù3Ì<î\ 5\17ó\8e-Ü}\ 1ż\1fP½Twv6ñö\87}óD\88\9c\1crVè7¹È3c{\96þÇBôÒ\80èÈ­F\8c\8akͲ\95ì\16S¥»ÜO½\9fðé\ e1\1añW%\12´\9c\ 4Õ\9eÝÅܰ\1f{0ý\84\1c:Óú¨\10¥K^Å\ 6Áð°¹\8a6N­\15(?EY[¸\96\91\8cÊ\8d\8a;ô#çg\16¹\ f\9c+ÂÛ5§í¢ÓßX\ e4\f\86\165x8ÏNA\b¬\91¥¡µf@\97»T)!Ù
\ 5w¸t/\87ç^;aÈ\7f\91Ä#O\1f\80\9eÙLº-\9bR¸òÿ,\82t\92~°]\82É·Qn!ù\98¢Ó/        \8d2÷¹A®\8a\17õ§\8b¡»ÐÛ\ 3\1c\ 3\8b\19ç\f¢R9\8b¾KvD¨`\8d\8d\9fõ\11\13\82«OûËvrÅ\92¼¼\91=\ 4QY\9fÊ82ù8dò\\17qY\11øf%\1a\81U\f\1f#Q8bG
+\1dÑ\fýg$7ëå£@"Þ\9b\1a\98\83\rPtíïð\vM\1eØñÄ]\ 2Ëú¾\aé61»\ 2ïõ\ 6;iÅÐ\16û1\ e\8bngyê]/T/3')\87××ÂÈ\9f¡8.
+\ 3¨­\ e¢\ 6<¡IvN\fó=KOÀÿÔ<\98Ë\1a\98(>Ì\10\99¼\ 5.H:\85\ f\7fÿ \7fÃÀÔ[\8bý_=eѨ#(Ç\93\ru¤Óºä\19j1\v80¥nÆ/\91áGÈäËÈì\11äv¥×(6ï\83/V^K³2¯ìÛÛñ\86Ö¢\182\89'îw"\8a°ä,ö\94Ó\15ê/\1e\bð{MB¼\96ê\85~ºÍÂuÜFgØf\12Jßõ\15Ä\_<¡Aói8C\a\83_\15Ù\9a»\8cÌÏ-ióæÕWU\12½äÿgr!õñ1\93q{°;¸\ f6í{\92\86 S$ÿ\1c>ªLJ÷GÌf
+\97(>ÚÉÓ\1f\93~+     \9a(?]M3\ 2ÔÕ~ñ¿ÈÛS\1eð9R\83Ê\898>¥\7f\1aËUûHp7ù\ 3£zG?M6"\rd\84»\91ûMã\ 4\1c8bÓ£ú\8a§<\ fb.n\1fº\ f0\9a\ 5Ü\87y\7f3Ï]þ Jà¨íë\81\1cQ=.\85ò\93J\8f\80Ëæ\\9fúeï£\14ÿVÙ;\961\1a\vþ§\17'}è\90a¥?;z {\83\12î­\8fö÷Ãà$LÓ$¾fhøÌ<a\8erÆ^\88\13MFÝ\ 3\1eûã*`ûQM\99ZV¢Ë\0ýøx\11ý-襢2\87«-\9fà\8c®1\11\1f¸ïüÄ~ÿÆ/è\96âÅ\15\1ft}\16õ\8dÿ^\85Þ\fo\9fs\9f\1f½»\15\1fº?Q¾@Ë\9cq!kt{ükb©ïnú]B\1dÆ_>ÓÍ\19lôÐ{{\95\15íæÄ\91ñüR\v¿+Óvã¿¢½Eedûv\ 1Yíw\97\86\8fsðÄ\88\7f/x\81ÖÜ\91Ý·l\7fѼÿØMÆ\b_¯' ë\84[;\81·É]Ñ\ 2Ò\93£\1e\16ýÅíó^\fß^NhyþxóÙJþTv_5 p¡eHU\10¢OÞ¤(ů\82<×tmê\ 3\12\92}Ø}\ fµÜ\94.\8f\91HÀõ\8b~ü(rÝ'ªC\97½àu>e!Co¿E""Y¯[Ô5a®ÇÆmVÐUko£Ê°S/é\18\9eÁÌûFÕdÆ\9d\ 4\b\9bVy"&\a\9b\1cÛX¹\12Ìî\1aã\eAÕ£]\8d\0ùï\bX]Áôõå¹Û
+eÉ\84ÑþW\84\9cmz\rÌyl\e òÅ?    \ 2\812Pb2\81"e\7f\8103ó\vZFØÌì"©c© Y<\88\ 5ïý°ûþà½ÿÙÎ\87ÍÿL%nÿù\8aÿ\9d\81:ò~H÷Ó"6\17$U\97*\1f\e²ÔÂsõÝCz\8eÀp3\94x\82®æ_\0\88SÐî\a\15¹÷\14A\92\9cr\8c³í˪\ 4ê\87êÒ{~Ô(ϰ^8\8e»¼(«,\9e(j\9e>P\82\0~V>ÿ;\ 5+\7f8XØÆ\87½êûR»Ê\0¡\1e¯\9cÅì\86\8d<õ»\9bÂ!\7fã0n\86\14Y¢î\ 5ZT0e±©PÁÐãZ¥:®£\1aÞ\85wø×\1eª\vWîOC\94\1aÖŹ\ 4\ 2ø\8dª¯(\93¬K#j¹ÓX´\92§®\18°þ§ý\a\ e·\91Ê\16\1eÿ³¨Àðe¶\8f\96º{\a\88\vÞ²\7f ½\ 3Tæ!\19}\1cs\95\16ù\8a\11Ê\9dwÅ"¢¾\824£-p|©n\9bâ\b¶Y\17P­ñD¯~\1apz.iæM̰C]Mù\96°mäm\ 5®\93ÚÒ×8Ïvô.»m\7f$\7fÛúEFX\99\9c$×}µpOÜÐãlý»´\92\9cÊY6«\11ÜÏ}Qï\büxwÔKX\1d\vá\7f§\17  ¤ý%~Ù\919\97ãH¨·)Eò¸\bnAa½cYÛ(þ²\9bEO5:«þ²<\Aä]\93÷u\19ó¨\9et4¶Â\13^\r}PZËtÞn)ì\aaR\1aKhÆ\ 2V\80\b&gp\9aݧÊàÐaµ!àv\93h\8bnËY3¦¥ÐÍ+ÞG¾WNÔ\12\9dÅ\93ç\174Ïû\8d\1aº7\1côÙhÃ\19Ä\14g¤â£êÑ¿ µ¬´©ÄÁç`|
+!oN¼\9d\b¡O»\84WÚκ\1e¤cðä\vÎg·\ fô<\ 3½}È$\19þ4\9d]Ø@åzCÔì\86\1a8|'Fí\9aèeáñ\9a\1cA\9eåM\a·j\90\8f-\ 57èô\8f̾yÇ­\14È·\eíÅ2-ñ\ e\19\97ò\9c\ 1_D\83\7fù\9eÜ\e¬
+\16*µ®¡®ªèM3x-\ 4ò\95ë>\è\81î4\1eo\ fK{¡{*\1eçûzðóÛö\11\ 1ØxÀ§\0ñ\8e´·¤È\9f\84XuÆ'̶6Ê2Ãq0\8a\10\9f]ô3ýú­\8d~Äú§\83vwÌ´:¡bá§\8fÕj1\85wP=×\9a\8cg>\a\b[\11gz$ß@GÓW?Û\9bìÔ\95ç×\1eD\8c>aÍ̲F;7\85\8e\9eL\91\99ïíÆ\0\94¬ôxca\ax\14±q³\1cB*ðÿÌJ³j¸Ér¢Dvñµ`\860
+â}Õ§òdeè\19&¶ñê!ØÕÜI\17¹KGÿì¢ñíááuY\@Ð\r¶6\89­»zÚ~ÑFp\84üG\1cÐaU&ó{O¾\1e±ð M5«\8d\912øù\18x`®\99µ>$\8d\19\9f%\14Úo>\r/¼h6AÜm)ý¨°.sò¤\89Þ#çy¦þ\ 6!Gy¦°\ 1C^(à\fö¹4"#÷t\7f\9a6\v^}e®Ü\1f\ eÅEÝ¢\15XyKÙ\10\0_§ò\ 5\9b\ 4J¡ý\83ó}\82éD«íF<&|èø4\1d\ 3Tª´î\11\e3\13ç¿­@ò\1a\f\9cT\7f}d\9eýdCÎn\89°%©\9en[jÿBH\1e\1fì¶«ò\vÄ«\8d\8d±@èmUxÝ\19°\1c$\1däZÌøò¨¥%I}û\85\17\94ÂR\f\ 59\10z\1e\ 49È?{\v"'z§\\99ßdãI2g\95ê/\9b\88fÓÕéó7\86\89       Lm\9d\14Å\98Ý\ 4Äë\84Á\1e¯+éäTyh\9bj\0Ã\ 6\f/\1a\a§E1^\9b;3VnLÚ\7fp\1e\1f\ e;ë¶þ\90Ú·"'¾,$mÊkrÊ\127ÁF©«í:\1d Þ\8eÏø\16è\9aZ\ 4\13è\94Ï\87Á8¯\0*¡âàé¦\99?\90\ fë8\r\8c³ÙtD\ 2à3!´å¬\8bÜ\1d\94Ò&²\90\9aI\ fE;qÔ%!dR\88Óý\82¾\96\9c¡wæ¾KR'JT_'ÅÎ!µh«6i7\960>S;\80\96\91±½8Í\84\7f2\19\aÿT\94¼EB\9d\13\ e,¶¿88Æè¶«ÿq¹ÏR/\9b­A\85\11áÔ\0\99àÍe\ 4¸\7fÛ\91Ϲ\8cÛ\83D®=C¤\92\82òD8Π}¡\8bÆÉ«B\1dæ\99ºOñBç§K\860\8aow@â\9eH>< ø¹¨\8eW     \13h\18\85\9a\83ÍÀê7Ë\ 5AØM\11
+µÚv\94#\8aÊG&giU\95³Iü\8ax\ f`¾ëf\ 1KsCäõ\9dË\ 4è¨ÃÏ>IòÇGÂ?ç\97MªÉ\85\9f­\16N3wé°u%pz\90¸:\81ôtñ»Q\1e\aÌ\13G n\92\ f¾\97²\87¬ÌfÛ\8f®þ,\88Ä\v\18?ó\1fd+\ 3\ 4\90+<äi(\r ãR\87\88*_
+\8a^Å9\8b\13s8\18\98PaI\ 5\9d\87\9a\a\8f¨FF³\ 3äU\9fí\17Ï\9d[\1f<&ÓÖýÂþ·Ý\17çrkuÂÅ>JXÊÀJ1\90\98»õ¢\92L¼2'\17:n¢\1d!c\ 2òU0 `hGt¾l\9b\el\87üó×\7fÙ½­$®ÆÄÁ«\1eÍ?s\aM\85¿?\96\ fíýþ-g®\13\ 5ra\88\88THCóÄ£\14/åaØ\9føs¯YQÃÁ\9bg\18\88Ç\8dô\9böÿ&\9bâ4ý\85\9fy\^m\87AbÈaòÜU\17\99À\a
+\18ìÍ\12p\ f\9d÷\18¨\13\ 6wÝÍÀêL¶r\Ëβ\1d\ 6[LäEÝõ¬\86, ;\9c~3áÃÀ\93yî@\v3iEH^õíuè\81ôWq$\re\1eß½ï{\8ak\17ÍÜ$ù]\v|Q\95Ô7re_·\18ÉCq\80§hÛ\8c\89\r»Sõ£!Â\88ÒF\91 \aÿLUÉ!§õ|Â?­¢\9e\1aÛ-\9f\ fô?\ 6\ e\9c0=\ 1\9c'\ 6æ&\93¼(\19tX\92ô\88¢ä0\8d\17î2N8\ 6\134Ñ®~>Êzhm}L\ 5\9a @c#%Y§Àü\93o88«\9b5k\18\9b©\ 4\87\91\8b³øL¢\99\8dmY¦\8d\16m-n\18ß1\ 5\ÿ¶Ïý\ 5È#\98\8c(ÚÁ\89'QÓ(¾\17R\18·óºÔ\92¢g½¡ZKxg\96ºL\10x\ap\99)üÏ8\ 6mAfùk#Û =ÐÁ¹÷/\87\0\9eÈ¡vÁ\8e.\18ûâ\16ÍyÊý÷_D|Ëûì³¢ZÍn[á\7fåi\10c!\8fc\12     \7f\81|"ØÉêOád\88¯\ßüH\ 4âìúÛ\ 6`\ fÿn¬¶H=F¯âÖ\8c½\v3ë.éWÛ9Ä£A\92¼¡Í¥\931Á±Ýue§>p \Ü0¾¿½>\85Ã_ú²\8dÃÜÞW\ e¡Cåô\86Y°{ËÕ\186sjÍén\fËy\83õ@sÅZytb-oø\95y3\8b,_dâfCÌþÑxä\9e\9cA\1aD´(zä\9f}FBid\f¸¿ü\17éô\87ÕÌ\96ÿºB\ 5s¶N»\8d ö´}-8:\19\86©&¾\16`ÿ\93\1e\a\f\82\8eýaMCÂ\12i\91\19\ fvõÁo-\12\9eg\1d\ 1\90ð\ 4_\81y?¾øw\17Ì\97\99|¹²ô\ f¸\87À¼\9cÙF»\83Ï}ìÝöÓ\0ÃomýÛ\ 3Å4\8e\8c\ 4ñÜQh\ e|@Ô+É8Q~àw}6«j:Ì9\95äóþ³\9c7ÄòÕ¶³ã\11\9bÏ=¶ÐmY\16âûj\11ÿe´~0\86±\93÷\88\18³K\1a\11é!6«­'\9eõ7&w\9fsQ \1fÙqöAåÀ9t\1ePЮþä¹´\1d\86)5¾S6\9d¨\97ui\a\9b"ÛÇ®u        ì\1e\84\8bo"\13«6Õ\9dðu\15\9bÚ\99àU\8f\81\97\ f\82¨\13yùw^7óI*y\91øëÃãQ\8dMj½×è\197\eÃép ÁýeôH-2bÁ5QÊ
+VN£5\99]Nõ+Ú\13+\1a\84Ȧ·\8fºØ\aÅ6^r;\15ª÷ïö!÷v\8a\aJÝë\153ÕQÉ\1f`\81\7f$\88+@æ\1c\ 3\97\1f¼ô@ûËÃî\82ü\9dæ\91\83J\e(ûðãJvÅõùÂKPb§U}~Å\ fuB\1f\a"¬AøK\87Âl~\13cB¦;\93Á_+e¾1\83\ 6×qä\13gt%H\8f\88\98$\95ÛQ\13½Ùu\16¨\9b\11\98 ¾aL¶èú¿\98CãnHx\8eùêÛ\83ûÁ\9fÃñ
+\ 5\89Û2\vÁæA\rzª4^Ư*\89,Wø\e\11\85¼8E·ÿ\97\ fvôK\1dn
+×U\96\8d¼1cÁ\ 6é\9bh?\8c\98î`u\12Z®hí[mâª\   \16ÕuEÑG@é\9e¬È߸q  |@\13¾Mn±8;x\90n\99(Ù÷¾z¿\96$H1#\9f˽Ù
+\15_-^\98\9c\97Û\9f\8b\12è¾0õ\82GB;\ 1ý\94>/=\13\ 5}#Ø_×ÿ[îÞè\ 3\16Wçç|\84a_jP"¶\9e¨Ëj\9ep\1f¾Mßfâ¢@?®j\1a\90£~\ 4\ f\84y\13\fe\84=rìA+\97µ²7qÜ\9c\9a<~ø\8d\7féù>\88\ 6Nßn\8eÖÝ uûx .+-Y},Ü\18\8e\1c#vï-\ 5\ 5\16µ\v\84ºEÂ..w²!QE@ùú\12â\8dÍÈ'½EßMÄ\ f\15üüÀÂ/ã\v\< u\15Yo»\99$LçGs䦿u\ 6Ufl'I\ 3¼,Á_2/U5¬\1d[\e@Ü8\15\1d\94êÊLGÖZ?Î\19|~uE«\9dZ\19\9f!5ò¼\95\ 3\17^|X»ä R¥Ô\99lÁx\99ôrìJ±\93UNKS<ËfB©Ò\ 2\ 3.\r2ó¨
+¦·\b\   Ð¯\1f1\ 6o\ 3\ 1e¥2eã\ 1\¿Î\8f\83D\ e5F@)\9c\80ø\1e\ 2i\90¾*pÌí\93ZK\86yPÈ_Z·i\90\8f\9d\83¡ÈG¥D¯iÃpTÇD3\ 44Æ@i\8fQiOméno\ 4×srâÐtj,E\12Ö\13ï\1aÀ\8f&ñq!Q.úÀ\10ø\1d\85¹ ÷\rF      ¿\10`z-5ÏIû0`¿µzPm\89§±+\8còÏQèØ´ÁÐ\8c\8a\aþ0ý\9f\82ºIÖ¿\11ì\1dGA,\rF=êÊt\aÒq©è\ 4[WKÒÆG\ 6\98\8ePN
+\9c\b2\9fF\9fk\ fõ0$ï§M\ fÇ\9bU\82¹lß´\89\e1\ 1Ø!û«q\83\89\ 6Þ]pËZÎÊ\aËòt vr«>\1c\14Ý\1a\rÖ2\9eLÐyØÍ$\8b«Cþ\98\97\98§W-¢}\16\13Aw\93\89tv»î!´\170åÏø
+\142ÑáuW8Í&\aù2?d\85\82¨ìÏ1ÿr\\94Ùy\85Ô\r¹\95\95\92.¸kPë¦/´»\11\98ºÔl]\94ÚÎ\b\1fæ\9edá*\9fÉÉ#Ü¥\86G\88ÿ\16eå<IÄ   i^Oî¾`°\91E\ 3YDnM@\90;Á§jÇq\8b.áÄY\1fL$uaÞãýc²`TÞð\84\96\87\93È@\81i²µ»í\88çÜ\97\9enÊ;×rng\ 4Ø\9dè¼÷Æï\8f¨\96\8c¾K/¬4XÀäÏ­-\9c(\8e\8cY§Ìà\ 5\13E\89\84¦6¼ú\19kæÀñ¨\8bï#\90\7f\ fÑä\7fEOcõÔüüo÷©âÍ\16ôÃ4\94µ\7f{0\8aÁ\99kñüÒ.\e<Üw\ 4E\82ÂÛÙ"GVh\89·2ɵ·Ùô\18\80\ 5\80s7P«Á\a:Øâ!³!U÷\99D\7f\86\9dg]Äjm\ 5\98|c\8d\80³3=ä?m9\8dÙ\97\9d\8f¯»îò0«Þì5:Øç½D'¹HP0EÞü\ 3ò\1a!\97þ(\8dÖÁ\95{\ 2ËÖ´\1a\1cH±7?y\10bC"\1e\14\eõ\97ÿ\11Rò(>]Õø`%\ 3ß¼c\16ûa\89\8a¹b\8a]I\ e\8b\9a\81\v"¥&¹äêk|\7f\1f¨ÿ-3IÑ\á\98\9aö^7ÐãìFí\9f       ~®¸y{cò8À\9c=DµK\0Qf\8fìz\11E\AÚÎvuû{\16Qö/YHX½\8eÂØ½f(£\8fD/\96ß\aÔ\vxÂ8a\1f\ 3\ 1U¦e!\ 1¡\97{\1f^èMm\93\85¬þXt\90\83üÿ\ 36a\92       \91÷m`|})\19\8fö0Î$Ëàå±9d\196Âå\87]3òÔ­3Ó\11kÞ¥ÎI\11\v\ 3-\80)LiâmXQ½ù\92\ 5\89NlYNxzB,0Õ\88OK!9"¼§¡<0\93~\9c¶Ka\ 3;\ 3\9bq\1aïî /Stt½°ô½ét­ªõÃ\91ß;\ 4Ln¼\87I%\ fì\11\98\96!\9e\8b\97NO\8f\9eÍ#í¦éÑ\1eür#ɽ\81sÞ=¤ÇÏÚm\88\9c\92;B\86nNEî\13\81»2³?``ý
+Ì˺\1dÑ\9dOÙGûª(?èù,Ø+pöH¡ýL\81?\98m>%·Õ\93ÿ|\81m=\974\17\80ºMÐa2r®áø_Ô\9eØ`ß;Ýa%A·X\1f;\14\87ܽ$|úaèÿ\8e±\e\8cþ\83%ÈÎ\98`£-¥x.àó\ 1\ 3ÂXr\8b´\98è\8cÙ
+9\12\9c\93\14\94°¶\16Û\99å(¼óSÓqG%cã\9a~RP,ã\ e\8f\ 4£/\96+\8eí§       \93#iâLå¿ç\84\8cÿ\96\93õp Gì\19CÇ=m±\84îuÃøü\8c(xwµW1Ð-Ö¡r\98\95 ¡r8±?ïÆ\12\9fåëÿÐ\10»R\85¦O­Å{­\17ÊgËsc8}½\ 5\8b-ú¾Cÿ¶/°¦\a(\98\ 6Ed\89@fèþ\8d¼H\90öä\ 1PR@~>,¶DÁíÜ¥\ e<\88é/\9b\9a²\91¤ÏRR\19]K\83+\9f\97<Æ1\83þ\ f\95û\93\87üC\ 4\81\1dÀÔè\81@\9fªÆ#w¿¥rÁp\11x8¢®?è\ 3wÒ¢{ ¤±\85IpO³Å\93à ðáI\a\bü\91ò|q\97¦\1aß\9aAؽ£ü\18\1f\12¯'Çc\85¶Å\90lÖ¦wRàq@Ïê\98àÆq\88D0m\13y»ÒãÞ¬È^±$£8J<Ú?Æ(ÎÍ5Ófh<PGmrs\15Â|,¹tþÂ&!\11°Î\98\93\94µ¢[v yÏî\882ïËæô\18`ûÝ\83$ÖÞ¦$K\8a5ßÑ\8cC\97¥¬)É&/d\8cÁðO1ÌD\97Öp\93\bsÙtX\82\86ê'Q\1eÉ\184\1fã\95\v\1cÁ\8dÜ\9eÊT¦\19w'è\92'\ 3\83\089J÷üQkBzÒ,-º>Ã\8eQÉïNïj\16àüû\84E?\88\10ɺZò§)
+\ 1É8[\14pc\eT[:0\eJ¬ \ÛÄC(ê`\19\eøQãL·b\17¢\9cÓ­é\99ç\9c\9d(HÀÍ0\8b·¥\8d\1a\88©-
+[â\8e\ 1Dnùb:M\9fjôe4  z\92\1e#a\8e\81\82¹\96\91\14Ò>TN\9a\92\8dm9è\89öu;\ 4zµ¯¾V«9\9fí»;Øj8¸ÛÒâ\892%\1aÊ\92\ f9±v ÄØ~Ê@\ f¿/¾ÄOþ6$æ¢Ì¹\a.v\81cÃ-ö\16\f<\82}¢`»  ¤8"#9¹©¡\8c¶"înO\82º¼\83~\183\bá\82\8d³\881Z$§\8a\ 1ð;;\19é\9cì¦ÊE»ý\ fÛÜ!\93Ð\9cÕùóÁX
+<²J\93==HÛc\9b\9c\r\88è&\92,\>W@åEô\12éÁ\96\96J\r»%g±MªûfCºÍ\93\84©üÜy\eb\v\95W34\7f»ë0©OÆÀ®t\18\rñ\18\8e\16°Z~ò_é¿\8a\1c'L
+Ù¢HýØ\95\82\8d6V·÷ÃûqA\86\8e\7f\84\9c\19\1d@ÑáwÁwpãß-\9a\9c½%(\82\9f*\8e\99\12\98ÈØÓwãPÛóY\15\ 6¸{ø½aT\98Ǻ M-ÄGº«D\92\90IêÕÕÇn\15T^\91·£A\85Y°eÜzh\89\bl\ 2©&,Ï÷îêa\89a[þ\91ÜD\8f~êC¸K,4\84\f\ 1BZ7'ã\94Ö<Yÿf¦\8f\97Ä1,\v£aóT\1dLzM¼!Ü\1c¶l\12\82\8fX?ä\1d÷*±h \97Â-½\94\ 5á[Ì\86\ eõ¹¶µv\900êE/Ø¿a~\14ÆvXt\92!\ fUWL\9fàj®£\81bèúÀ¿\ 6,¿#²sº¼\9e­Ú
+0N:Þ\9föú\83%H\9eÅE)Y\1aë\81\ 3]ýú-æ=\82{ñ5h\v¾`\9dQî~KÅ"lîðÆ\91X]Qb6{\14£\ 4þDx¤_.\11mñªdSH\95\ 2\93\1dÞ»\8c\83$CÚÃÁ\85\95ôñ{dpÑ\80\88Ø\00$دï\9f\16N\91ã1©`,ů\1aì£ÙùßÑ\10Â}Lha8Á_ÅÜ¿\86\88â1\v\ 6\17ð\ 6\83¦\97-¿^´Tü6« ïÐk¦\8f¡pZVº\83AÔËÇéq1J° (&~)ðn¹\94T\9f¸(Z\9dÈ\9b\98\19\91e(¦oÆ\17\1a\91O´QbÏïæ\82\94FÕ{Bk­§\97Iþr(ÓX½þµ\8c\85*G\85\8a\vå   \89×Pͽ\10\85,̹å\vf\83\ 2Û`\8c\7f7\94Ú¯ï\96\rg\87|!w¿v\89+§ûÜÌÀ0\0=ÀD1\90R¬d¢ëb\rØ,>ìz\18O¹8(©0ì½²\96Èz¬\90f(ÈÐØ·L=²\9aë]k·iªïUA\11¦Ae\\ 2\84Z\94\8aÍ\r5z9v\8aYFTÏßÿ¿~÷\0P»õSÞW;[»÷w¿o7yÍðwÆß\vyÍðw\9bÍç7\9bàï\81»Íþ  o9¾\ eÿ\ 2÷ËÞs\7f\859\1c5²Hä²6¨-á\ fY\91 /Ü\18±Þ\1d~)ýTRïf&\en¸P\ 2\18¨á\f·3\89\94\ 1\13\15¿»Ì=½²\94+\8f_[\9cˤ\0\ 2b³)@ã"\91\80ÎÚ\15á\ 6mQklMwÂÃÒ5\9b8\93C\13,\1aø÷x@nª.eaãòÎð\bã\1eý]Âg|\ 2\11Ô§¯·I\7fÈ\9bÎÌw\80%\94\ fÀEm¹(\ e=^#ÊÐÛ¬\10¼Én\0 ð¡V¯\92öºfÝeBÛX\17\83HM\1e\84ì{$\19Ç |²S\11§sÔÑOañëôR×öÎ\93^\86\96¿ªl\fÅ\83¹ï?ÍzR\15íÇ8P\9d\8c\ 3\ 6\11\10\10\87X&îÅk\86V     J@(\0¦¸¤\ 1ª\81\82ÆH;\ 3\81k\Qò\993(ET\9c\99\9bU#o\86d\18\81ûÔX_ÂÑÜÈÈ\15s¿ ciä\86{\97ç\99¤³×[ò\1að\ 1Ý\15¹\fYâ®îºì\9fO±zx\7f\9f>ÅÌÅ`\83\1cÐ\1fXPåm%\89Yi-ã\17\13\1a\819\15<ì£\8d«\rv6Ø73?È\89½\8e\ f   õÃÅ̱GõÄ\81\0
+¬r\85C)\ f\16      \11\12\1d
\ f\149ulD\1a+=Á×\88'\14ø¦ùN~\1e÷ó1ñ\9e红
+ó¡\82=\7f\1a\92ðõr\90\vøÉ\91\84]\98׬\8e×Û\bc\84zÿ\8c\ e@\98ÆhÔ\8d\83\19\96м?le\99~q,%\92\19aJ,\8cèx~
+xQ1CØ8\84\11Ci}A멦\17$bep[X½/\8c\9a©\97\1d{;ëò¼4×{\99·9é3ÔXÌ\81\ 2\1f\17<À \96ýp 
+B¹i®VfK\88ÂS\v\9bÈ!\89R\16¡R\f¡µÄm\ 6\1ad7   n¨I\ 41Cø1!\84²8Rn:ðß&\84\ 1ê\12ß\fú\80K.y`\e\9f\1dP\11ó\1døfìr«h è`l;ð¼\r\ 2t
+Lâ褸(ôá¤/C¼fÉ\ 6\93Àn\ fod=ÿÅ
+Êo\ 6\95-\95\86ù\94\86Úi}\84Ѹ\9b\ 4t\10ä#(jBÎ\7f\ 6\94»°ùðöTÞ\r©´=0»åc\9a©\95LÙ«\15\17.ò$s\83\8bÞ\e\89®M\fÔKÖM\a¾\17᢮\1c{ )ùUmp{\bð\fXïâô¯Ë\8b¢\1d¡TJÑñÃlHæ\8fª\80=¿Ãp)aCÒÛ\ 1¢\9eï\1d²\bÿN
+èãü\8e\9b\9a\91¾\1f\9eKï)\15|{ĶH?gzÂ\9eÄV
+¥¶\84=\88Ú*.Ä\19\15\1að+c=×\ 5F&.ßÓ\8aR!|ùvÒ×ôáíy³ª! \ 2\88dA4Z%sÇÆ\91\10Ü)m\92V0Z?\ 3Þg\ 5ãËo(Â\96\9a\9cßþ%Â\81\r:\1eþò#\ 4\ 1Þ¤=Î25D·;¢!\12»A\9dG´ëò\1d£l\90öا¸:ÝÞ4N«<2H\12áÄ#fµÌ\8eL2rzÁïi\8fTB\9eë\89ÙÑv+$µC\1a3x\0\99\8a\9bù\82/ñõ¡u[ö;ò¤y\85\9f\1f\9fQO0«®\8f\81îÞ¿Õ7EÁ¹'\99(dÚÍäëîµ?pß\94yyyâj\8eì\97}'\97}oñ\1e,§ÇÕ\97Æ>Në|^(Ëb\16¡ÉmάL.\84yI\10%)
+       \97lFÏ»ø\b\aó\ 3ÂW\eÌ\9b×Çç\8f\1cö\17,\1cËóOÂ\18\84&\10U\12\b¢^B.mc\19v1Øü\8e>p@\ 2\16H\98æ(?~Á\rá¡\1cA¶öq
+¦Hx\ 5\v\89P\9b«¼84!m\84騬\1cjr³\83Od\83ôh`\96¼Ó\ 6ËËð*\85·\85Ò\89þ\99\aï\1aDx??¨\v
\19¤-HZ\ 4\1e9Áíå}Ã\1aª\19trÒ\83å\r§ÔÈY#[ï¨=Ë\90Ê\97E_\15,¨æ³cÃÂ\1ez\ 6æ\18\9e\ 2=þýãÍ\ 3òáCCìBä÷\1d_P.Ò\15\ fw¡¾\94p§Ü\19\vµ\90\15*\0\8cÍ<¨\9cÙ«o\84ùÅA{\9fò\95A.±ÞÛÂ×áÂj_ëpä!\1fï\1aþAMº±\92\1eÉ\14?\8d\0\95!wÃ\81Bk¿\84%\7f·h\ 1eo¸c|'|\94ev\82óÝãgÂç\84ßµ\1e \10
+Ä hÇ\brB´g\99ýÒ6¨½ÞþÞ]ÍØ\86\19þ\1c\8fHñS\93û\87$wl\84÷\14}åÂ\8f\v\8e8*\v\8f´\1e\15\10Ïãà\85~ÆÁ\16\1fLü¬:\©^*\sW\ e\97\17\9eìeÙ»\13M6üõïÜ\ 1t6\87G®/ºü@\9a÷Bb¥X{Çë\ 5ÜãÄ\9a\ fÞ\90aÓ/~ò\81ç\au\8d\87^LøßÖ\10\99\94£<\a\ f\1d_\e7IÖÀ¶\7f°9°\1eø\ ej\9a\998¬h\17{1[ú+e\14R\9dÚÒgY\8aèZLïjcX\83Ç¥\9dÊ\93\11I\1a¨BDZáí\9e?7\95ÀQ\0åKI÷]©º*\11Rð],ÍÑe\86rPî¦Û+GCÅ!Z\97öº¶ìI³Çùº¡è9ù}PÈ23c.àð\ f\90®=yÓ¦·Ã\ 5ê\9aø6ü§ó|(0ë\1eñ\89~äß\ 2$¾Ú\9e\rü}      É¥âoÊPÖ}¿)K^\9d¿)øÝ\17ÈRt|Ú>åÉ#\8f\ 3Ú\f1ù6«fÍÒVÛ{¯[ö©7ì\8aÅ:\8dBLZ\94\9eM¡¥©·!Ó:n\84\10µýjb\14(G\0çÈî£ï\býîKÝ\9a\eå¬\ eµ0ß\r¨\ 5\ 1\9eç\1e\9aï\15¥\1c¬\19/\1ef6I-â6u#\7fgÔÉmÝ¿X(y­LC\9f\98¡\18ÐÖ\1f»Ä7¶\80kÒ·¶LÖX8Dh9\\80ôsßHº\1e\ 3\17çì£\r¾Wp\92[r\17tÄù÷\8f\9b
+\99
+\92 \18q3¶Þ8í[     \7f³\13\90Ýx\161\ 5<Ùni«]ëÉ\89\96Å\ 1\94ì\97ãVfÕ rÉ
+æ.\ 5F\jÊ\ 5#Ö0¨Æ«\9a@e´ß*
\82?N²Í\8a\16óHV\8fw\vÊEv´\94Î\86\fqÁèì\11Öêo\ f`_v±|¥"ñ ½7[\9déN\89²\81\ 5$\10Åuì\ f\94\f&PÇY\82\1eÌ÷ØEW¾O1\15õíTú)\9dô\97{?\17\10\aÊ`óêÏ\94Á\ 6\9dÂ\19\1f\f\1eN0TÕý\ 3\12\90\ 5\0èÞMïÞ¸\9bªT8­úc\18S|»\12a$î\87´\1a´Go\ 4=Û^[3Ü4\ 2>\ 3ÓÑiî3JÏqÚ,\18_s\v\15Ô\a\8e¶õ\1f£X=\0SP%,ÿ\10%gzi\92ðhÝ(\a\12\95·Ä*ýº\82{6Ú\97Åþx¨F¤/\89Ó\93Íöu\19À \16Î&è\84\ 6m/®[ȧQôþ\ 2ïE¶\ fL\9dÅC.ÇàzÕjë¯Qg¸\ eÓÇ·®R<Nõe@\89   »\8eÉ\8c¸ä<\8eädlÞ<\19|&î\12KzÉu
+\97wÈö\18\võè\88\14Ey¾õ¢À\97Ù\8b\12¬¾\e8\95\96\18\95I­©Ó\90\fÝ\0T\90.\91\9aráe
+\ 2\ fG\14\96~¾É1\r\98i9¥\92 |[\87\9be\89\14¾)w¬G¢ã\88B\91\83\82\13¨\9b+)ëà$õ·r72'S(H\99Ç\9eLñ®~UKgó¤æ\ 5[£ö\8fHp\ e\87¹\14Y"\98»HR\9a\ 2t\Ó\99\85)c\ 3\9c=äkÌz¢eÌ%%ÞcÕ\8c\8fèqºù\82æ\ f\87Pf\102Q¿\fV3í¨H\83_#U»\1eéøÚZò\96mY\98udèðá\89è¢\ 6\972\9e³ÙÝ ¯W\18R\90;e\92AY\9e\81\9aþ\0äR2ÜÁã\82za¼ç\ 6\ 3(òdñå\r\7f\97\1eD b#\85ûx Þ°¬\1em\98ýÞ \80]\ e$\1f¦\ 5ÐM\ f;Gµ²{KB{ð½î¾\1d×H.c\98
+AÝ>\8eK\96L9â\8cú,ó¹QêýP\9c\ f+,bÂÑÔ\98#\13\ fH'i<ï7Ëmº6A­\rsÙ+º\9fü±ÏúpÁF±çIð'.¸í\a\bÝ\ e@:.Éoü\1cìH!WFÒwª\81\ 3=C\18­\17ë!úM^ \95K\98¡C'tv\887^\eJ?\983¸kQPÞÖ\0Ýz\95UÿI\86íîyC\99µCÁ\´\vd;\85\ 5¦ \16Äù\f\16®R\16#=?\e\86¾æ\91|\1enòÅ­\ 11-Y\86ÿ£DèóXW\ 1W ~á¯jz\19ÑEÐÔØ\98\89[v¶´\8bÌj¦MCmð»Þæ,
+\90\14ª\11Ì©0Êleøº\9bñX6á2\18\91¡\16\13£ÆÎ=»¤En§#\13~LÔ1ýîFAõ¾ÉÌ\93\f\8b\12ã±_k\18îÈÎáë~\1ecE+»\86ñjô¼\8fÃ\1d2ò3¡fl\9b$\91Mº'¶p®b\16\9e1C×¥É\11\969\1f,\85\81ã|\ fØ_\0\89`,\1a\ f%¾­\88ÍJ\88v"¯üò´¨\95M5\11\9a\8e*æì\92¨\85\1aÙ0ô9&\15\ 3\85\80W!=\7f\18yðL\85t£hÀò\97?ÛJëöØ\v¿)y\ 3×ý\19µ^\990\8cþ\81]z{\9eÅ`\14\95¡\14=.\fÞ\14Tfï¨\82\91\9d<¾Ýs4³\v.\89h,ÅuhÊÌ[Ãt7ô×XVÃÔÇ)\1eо x\9aÌ[å,L\f$©§\19}C\17\13\1aau«\9as\8a²\15\976#*0\8f\87{:B\82¸Hí\90çò`ØE½÷5\19@\ 5¿z°ÆÓ      \15\ 3xÝ È »/ÜR\9e\11\104\ 1\93:BµWDMj.à¸\8fX\98æ@Ngw\ 2É\ eÊ8\r'§Ó\17\ fm\ 1XÒã0¶N\9a·\91h\171\0p\9aÀíæº__\91¿b\86àz"§WX\9b\83--æ\0Ó\ 2È\ fs\es\9ec\86G\ 3
+W£\97õÇY\9e~\9eP\98¦Â¤[4\884\1côLo$÷3»#n{zÑ\96¿\e\87\9b<\12(\13\ 3*\8a,xj\ 2·qåø=\99t\1c7\83ÃË4\94ï&\90þî\13aM/\17¡ÛµPw"ʪ\90àÎy²E·'\8d_IÊLo\8b[$êçnÉ{¬Ü,\9c"¶Ða¯Á^ê\83\8dT\9a¾D4!fÕãWLÉ:ÝñN6­ÓX¦\8a\13
+I§=¿\153n3C\97ºj \99\9dR"\ 2\87\93Ò\9d9ï+\98\86\95Ãçê\ e\8bëN\877HOE9¤,Q\9f\rÍU*jk\19TíUÊ©k   *©ª©UcÎÿT\ 4V¯Eãßp\0y\8fÓlNÞ{¥=Rb¸Ù!·\rï}øù\rܽ2\98!CL^V\8e\ 2âÀà3©\9d\ 6{|\ 29ÁR9Ù£Ãüd\85u5\92\84³ÖÃì\87d\ 5Ñ©F-î\f\rõHy!Í9d¸UÂäп2_º¡43qÛÚ¨>¶Ù?\e÷;\81\rDC\9a97\9cÑ3ñ¼þ`\15\1e\ 3N\9f!¸aL\9d\84\9a\98\8aF\f\ 6r\95Ð;H)zç¸\81\15UçÊ@\80\1a\ 2íZ¡\97\rÅh¼º¢÷¸\82\ eÁ±ãFÆ\98÷\1d\82 .«8\9b\17(qÛv\9a¼6¦"\96\8a\ fA=x µÀ#\8f\94ƪ\18s\13Z\e\83ìíAÖn³p2ëIXÑ\18\0;\83\fWJÖ<\9f\95\8b\85iuWÕ@\b,èl[-ÐÙ6\8e` {\81\aWV(\99\8c¢fÐÌ[Öª=½r¡\ 6\95M¸ ÕÑ\e´Nq»H\19\v\13ò\95¢p\16|\bD|\ 1£T\1f²\99CÀ«U\96NPðÀÚºÐõÖÑo\e'ãW\9bW\ 4CÀãµ`vÀj¬§m\82\1d´6í¸­\18J*\v\93\vî\17é¿\8f\18Ø\11¦Ô=i¤,\91Õ\8a\85­%\16sµnÐÔǪ:\96\ e\98ø\19'GRÁ\17mçÐÐ¥\9d²NO90¦z\1e¹     ¾dDFд\14}\1cÚth£S\9bþO\ 6\185÷#¿\1daµxôà[ºQf\8fOtëk½\17\1e\94\b\82 tÿ¯\<Û$&-ÂÚT\ 3La\0_)u\9fÑ\12G½2\15ÝàU\8a}C\8cð\ 54\ 5CíÛIDí¯'Ü\86Ô6ºâ¸oIr\0bM·¼z\0`\9d\83<\ fGΠÈ\17ìd\9d1\15\eÿ\1d\9c:Zørm¶Ù\0\9a½'\1eµb÷-DáäS1\ 4\17o±2°\87X¤ífÃy\0ÿr\90"\93\13Á¯Ø\19:?Bè\110y\85\92O\ 6efÑr\1aÁ\8cë\ 6Ý\15\82\ 6d:ÇW\93;áå\16\9c\b\99Ê\ 3y\81økwЭ\1d9éU\85\9b£²`*\15ô£ºó4Yf±Òù¬ÓXì\7foA\9bËe;z\18ìwnÕµ\asÛåc³\99f³ÑØöÙA2Pÿ¥ß×ö¹lÃj\ eßîw±îsy¬§j×-\9aîBîwôæ?ȧ]ôó\83Ld\1fl&ø%&Ab\1fÌ\82\91\7f\9fM\12¨È\9c¬!\913\90fDâ \8c\89 W>\98W·)í®àuoæ+\13\8d^"\fÅt\10\85y\8büä\0\9eoæDÈ«û\18Í\7f0ܬ\ 1\86\8b¼Ù\189÷°\7fÓ\1fÞ½á\14\99       \88\852\13ÄU>\9a*\ 4È©Ì\ 1\91X\85\86E&\890Û(YøFb\93iJ8È3#\1aá\f\8cÊ­22s¥23\11Ò\19\18\9a8Ëý\95ìç¼ëÀA\19\80k\ 2f\0\0\0Lø    \eû§²~ú[Æ*23x²Þ*Ê%ÔDü;5sf®M\1d\bdvV$ÈéËñ\91Ø\88\83\bË~\8aÕe\94\92\ 3þøQü\ 2c <ÑsY\ 4b̪³\16N\1abÌD1\8b<H\9bX\87\9cés\1c£Td\169þé¯ê\ 3÷Ðÿß\ 3ýOü\f     \98\1eú.Þÿk~²\87tlü38Y°Ó½¦Y\ 2bÄÑ\ 6\88\83\9f\82g\ 36©wÕBûØ?ñoüC\7fâÿIÎ\90ó\18O\17ùÁJñNu\9216C    ÷ÂÞòK¥\ 1ÆÂ\19\1aÖ\fÈÑ?ãDÿ\8d\13þ6G\ 1k\17d)\1fþ4×\18û\85\10û\171TN:Fì}ýðÿB[ô\0ÿA\9d \ f\15\ 4*\8dÂ
+£pfEHÄZ«²\86u    ?\ 6Íë\7fF¨Î\8f\1d\ek\81²À:\8b\9f\8ag\7f\9b\89\\9b\ 2üf\ 6].Ô¨¿{_ñÂæ\8a\17\862*\82î\17\88Td@\9cñ\ 2sÄc\8aÆ\ fú\ 5vðÖ°\96PN\95OÀM¿®$&(,S\9e$S\9e'\1c(N.\bȱT®,U+\8bô/Ö°öFº
+ä¦ÁÀ\99\83í°6ä\ 47éø\86pójÇH±\ 1ü¬\18\81\\11\ 1^:'\9f@yq8Õ'1V9M×zµB²\8e\1cÅ~!d[7ù¿ëd¼d ¬?\87\15\87êÅaü1\91\94\ 2¯]©DÜh\86>",ÈÝæ\ 2Þ.Öÿe~u\ f\99³c«Ýqk\a]÷ROýu\ fú©_þÚ§ýï»éö\95
\10\9cH\86\1fmv7Ä\14ß\97}¶KßC\7f}rÿ\1aùÆA\bI\8aݱ\ 4øÁ\ føÉ\15\96£ªýãß \1cÿ\18oï°\9c\1aç\1eµ³%\ 6ÅüT÷\8c\15=Å!î¨7þ\11þ\12\bÌ ¥\1e\10R\8f\b)G\84\91èíðvQ³ïigк\8d!/yÎùßõ\f°qô/wI¿ %è\ 4%þªñ\83^:íÿС_Õ\eã\92¤<\ f>/T¤ÅT
+gÔ3»¥xßð"\7fª0Üp\9fðoæAø\90\ e\9f§Ô³Q6&ø§ã"«\92¾\ 4R\1cvµß\85k\@­k\87\15\99\eè\16Ö±øYÄ\12ÀýçÛáfhâ{X\e\8c~\ fp\81à÷7ô\87¿¾Ý¾\80Çúl³R\16Y\92\ 5\7f×}\9c\19\98\1c®\ 4Ì\fçDf\a\10°Ì
+h\93     à\8a\90Ï\0¾.x\88\ 2;ÇQ¸qTmZ^\ ed¤ÜR¡[¯\10dW¡\11d­Ô4ü+8I²K¸\vª;ËÝÏ;îi
+¿ð³\ fî©ßÞ\94\8bé¶\85J{êIÎ_\19\8c\9cÇÌã²\ 1\9c1Ev\94Ãè[\11½Ñyé{¢s¥ ';.à\9cçr¤æÍ¡9Ç®'=\97hN}OTNrxbsóËßç\97¿M*N||\999æ$\89Îß­'7©HY[ÕK\13\9eJ\\9cñ\1d\999ÑN\93\9cfD\9cê1\84çG6Wz\82ÅéÉÍ["Ê|Q9ñ;\ 2Çø\92s´Ä\13\99ýaeü\99bùBs\9f\1f®'=qf?\13û\89ΰ±>\9bö\13\9bRóð:\92ÍýQ9°\9d\99í\0?\82Xí¦»\9dõ\98"ÈòóãàË\17Ç\16\a/5}\19\97\9f\10¼Öô\85\94åçä\97\9dÁyÑô¥      ñ\ 4çk\ 4Nb¸X|Ñ\81'4´#c ÿý\12Êô\80=÷Óõ\ 4gÇv8·´\9f¥»o¨OÏ\19é\ 6ô\99ýKÞû+×=\95ëÿÔ½oõ/yèõ|ú\9b¥Íu÷2ÉÿñK4»N¿!ÎJøÓ(Yõ¥¬ýëÂ$ß|wòDüÂóu\0N~Ñy­/=qyª\80û\ 2ÿóûXWyy«½ç\1d\aöÀÐ
+\9f þô¸/ ÏHX].z;Þ}ÆS+\99ÿ\8d\1fÿç\a\98§\9e?î¨\ e\9f\9d=Þ³ª¼m»gWÎ\83®\99ã¹Ïg¬ô\97­ï]é¹ðzn|\8e\1a\ÉöJÿ±Ý}ܧë\9f¿wÉÇ*©\a\18
+z\ 2\ 2~\b  Yd%%&´£ü¼ôw¼ÿ\14Áo1?Ûå¯;öE¸_\8e[\81À¶+xß\aЭz¿ùYΣú\81Ïÿý-è\903¥Ï\ 5ö¹ú\16\eÒ\15î\974¾)\1c9åó¾\eí\17ÿ\8b¼Ïÿ;Ó&ÿ»¿ÿ2ÿÿ\ eÿþ\aÿÅÎ\9aöÕ\85\17¶¨$\9aè¿¥zÿ>ãã\v\9c\92d\15í\9að\85ç\v{#âDÓ³Ðäd\9f\91ò%«.7\9dæç´äþÿª\90ñÅô/\9fÚ\7fO\ 4v{2ùÃþ\ eueo¤ü\1cæ\15¾\97ðsÛ\967Ñþ\ e{R¹ô¿\83\9eÈ®tu_ÑÎëgþ\8f\15z¯ìçÓ\7fg>\8fû9é?³\9eoû9çö\7fìòGü>\9eØ\10\1f¥Ï\8f\9f/\99þ\88¾­ýá9\86»«ê\7f­ò\v~yyÒþ²ù\87éIÍaYô\9e1|Áÿá-ßÿ\v¯å¶%»ÿcý<+ç\8aÞ\973\14À@ÁB\1a­>~\1eÓ÷é7°þGZf\8f\v×VÍ<£ç÷ó/{üµ8\ 6]aÖs^J´?^£®æý\f¾iLæûõ]7ìq\1a·äù¨\99\7f\17\r\94ðd6\1f\f67\99í<ÞÃìÎ2\93m+K ¤W»ñ3L|Y­§x¡­,\9c\84\17_âbü\8c\7f³ìÃþ\9ftÇþ\9ef¿aâßû.\a\8f5F\7f}GÓt\9dÆ~J\ 2#g\¿\r«\13\7f\b\8dþ÷\93ÕÓú>:Ê\9b\1fÛâÙÕPpÿd¥>CÎõ:¾\aWè÷w\1c_)\ fËç_XÇ|\9dÙá\9fôØ\1cîÛ¾\99Ñ4\92ý\bò|(\1eÆÞ\9f\vY­é\99R\1e×Âë6>o¹¥Íý\17ì=\8eÙ\8féâøS\1cÊìo\8dÓ[m(º¬·4ÿ+\82\9a_\ro¾§ô|$h÷جï_úu\1a\8bOoß\85\90Îa¯ìx\1d\16W\13Wæ÷w7;ÿÎ\86g:wÏ\86ýó\8ctí¼]\ f#\ 3äð\8eò\19x\19\r®\17¯ò ¬dó-!ò^\ e\ 1\87\91æùÿ\ 3
+l\1c¦Ó\9bPã5äüÌ\91Áà*q~7\ f\8fú>./\16\ f-þO;»ÌMã\18\99lWÏ\9aî¬s{oK%ì³øæiefpª½\86½vGe\1fíÇöÛ3¶|\8f;a«ô\9cù\986Þ\\9c\9aÊY\86ú?cA9³ÂÜyù?    \86û3ÃÆ~¨\f·Hw\89ÑäîoEÿ\87ÜöP=vgy\ fàÊ\19¦Ûå¨\17ÓáôË&5Ý\14×îu  \ 3Ó`¼¾ëEèV¯¿ÓwÝ\86«k5\9f¿rä{y=²ì¿\87ç  þ¼\8fÿ3\ f\81ìûo\14Oþ¸\8fýÞf¢ýeC½\87ªË\99ª3g\99ø|5ß\16A\95Û\7f\89{\17ô\9d\9e/ÆÈån»ýzÉ_\7f©þ\rq\9b>\ 6\1fßsïþdþÄ\96+!ÔmÿTÎ\8f\87\89+\94é0»]î/Ä\96\97¤Ïã³Ñ¦möm°\1eíÇ\8eªw\19çí;\1c&¦Ã}Ýþjo7{ó{[©\8f\8dÙu\14tð1õ\9e\86ó¦U§?Ñ÷4²¦3[o­õö=4¾k{\ f²øIGÿÓQºÂúýx¦|\99&}-ï}\ 4þ¦7ÚÙ®Åxÿ-\ 6\9bÒÍ<ê;̶>oeÔà\ fÑïß©=¿\8f²\9cYpvW¶Ê0ÅúSùý\8e\1f\84·\1fîÏd0Z\r\b¡ÿ\94\90ÿ\ f]îUõOÞ[\ fÓ´Ò¬æxur_?]ùÚ^Cü\8bÞÿFöOú\17½þ÷K\95óâúÿ\95\8eÁæïk©\87\9d\941÷Ͼ}óï\9f|ûçß>ù÷Ͼ}óï\9f|ûçß>ù÷Ͼ}óï\9f|ûçß>ù÷Ͼ}óï\9f|ûçß>ù÷Ͼ}óï\9f|ûçß>ù÷Ͼ}÷ÿ~Ó\18`&pvº¤uJ©ÕÓ¬§\8e§\8f§]O'O-N}<Ý<í;:yêyúz*zJzZ}->\9a\9fQOUOYNê\9eÆ\9eÊ\9eÒ\9eÖ\9d\1a{z{\8as*\15T+¨YQ\1dQ\1fPº¢N¢Z ú\89º\89Ú\86u\13Õ\14µ\1a:\8d-F\9a£QQUQYPê¢Æ¢Ê¢Ò¢Ö¡\1a\8bz\8b\8a\835jµsúº]^£WU«¬ÕºÕØêìµv\9a»]Z:»}]ƬÊ\95U*êVTÇTÇÔ®©\93©ÓTê*jªk*]TØÔÙT\99¬U¬W¬Y¬\8eÖGë)5\94ºÍ\1e³K¬\r\93!\86eCcçæRù\9a?3KæYy\96\9e\9c\7f\9dIçRùÊôë4òzym;=<ö\9e\97O£ÓÕië4ö\9a{]9\9a\85Z\88ýDÞ¢\8bQ¦ÔXê-õ\v53Ú\99ýM\16¦\93SK©Ôjjµ5\9a\97Z\9b\1dM\96¦[T~ª{U?ªÿо\890Ëû\ 3(\8cíÌ\9a3µ3,`\12äåø\1ddÔ'[ÀÅì\1dì¡£uÝÒöZçùhù£.8\8c¿ÜµçØÿî\96ÄZõßþµ¯]\9e\ 4Ã\1da\8b´\1f\86\17_ùÖ½{VO\ÿõZõôÇ\88U©ÿ²×¯\8cÀ\92_³ÀÝL\7f©k×¢T)ÿ\82\10\f/>\82ׯ>'¦\9b¦\13\9c¼ú\v\16Ö#±"\aåç}\a\96O\19ã\8cÊðR\ e\99ÿÊ\ fIkÿê\14\90\15Ë\17\9dò×ÿö¬e\7f\91\81\1f)íëäöoT^\ f\15£{\85-\88\83û!¹F\96\14fG¸\12¨¤®÷à²ÛU&v\9eE×ú\93¨ð\8a\11î\9e\11`\10!\8dúÿª\980¡¯\83S\18ãÏ_êÐÞ\18Zòg¡Ø.=\frâ+wç¨ö\11ÁB\8d\0ËÍ   õXB\83Çf¹\83\99hCÐþ\rò\8aF\9d\9d4p¡£\8cºtxÀ\8a\97\8dfb~\96\ 4\rõ4ð ·î¬\9dQÿÍ\aï\ 3½\86á\81µ{\83¬ÙÆ49|ÚÌÞ<í\88Gí&d\ fXr\12ÑÇSmìíN\81\96\8c\17dx\19\9d\ eBn%å\89Às>9İ\17Ë\8d×Â's.\98ç\aÇ   \86%ÛðÛ\1a\9bXÒe~ã9è´\99éÉ\ 649\ 3ÖY¢\10\19k\1a=J3ùèr\v0Os¨ÖÁL\9bW»`ç&¬Ú¿T\13\81d=aJÏ\99ÎM3N5;EüZ\18±¡WU{\93\15Öm\13d\98*>CÖmnÑÆal\89µ|³ÐöM«Û\1c\87¬ÑG.BÄÚ¶\110G·®NÒÎÕ¢\86\11+\9a8a\13")íËÍïÚJf\16ã\9aÁ\f£©mì\ 2\87\18Ú»6\87H|Î\1a­R''\ 39&(òÀRGpz\1cÓjë\8eBÅ £K<Ĭ\89ÈmÏo¶O!b\85xCn\18J\81Owx(XåöyÌ \9d\82\99¬\15\rè)\17fõÑ\0\ f`rfýæETí\ 5\82iUÎ0\91igÅh¿Ùk\848B\94O\13\84ò9}\93\9cM\18HW1s+\89\13¸ScÕ\10\10\aÆÀÑ\9b\9b\v\11vÜ´`ã\10´O^ ¥Ç\bO\9f\8cÖÿ!\15\9f\a\81\13ëû\13\1a\ 2\15\1aU\87VÂqqµy)ÁT#\8aÐå\16\8103\9d;F\vëÍ\ 5}´$» \8c\r«\14\88\90t(Øàê\10\88BUk¼üµ6ä\1c'Ù¢&Ýã\170\98\96½¸M!¡aü\86\ esi\9aJaÛ`\ 4#\9a\1cá®$AÙÆ»\13\1e¨\ f\80ò\82\8b®M«LÅÏ\80F\19\9d\15«gæ.Y     Ë2¡Ð\9bwm«\90\ 1
+À¦Ä\94\81[G\12«E90\r\1c\v\86`\1d\92þ-\18(à²PìTyöÍï¢Àªz\ 6^\ f$\85\9c ,QÝ£I\1fqPMs\ 4;XÁM\14OC~*9\8dGè6¯Ù\90æ\8a\80\16Èn\8e³ø\80ÑAéó\1e\ 2TÐ(³àl{\ 4;8Ä7Br\1d\e<¡ ;¾\9c¬\88Áå~À\b\vØ/äPÄ\1eå\bÈ\81\87{        -â<\90\9eÇ!amò\10\8a\11ã\90;´Ù¦0á§¹A\ f\9dZî5¡Íùp\r¢ÍØå##\0Ú®\86\ fv\88§·\vE1\18Ûç\13öÌQè\84.øn\86\87\e/¾F \14YÚ½óE\1cÖ\14¾OD\11È\86ÿ5¶ !2*\88\b\86ðHÛrÄ\fXHp¨\86*\81Ý®X\ eâ\15;\98(´Îü"|ó\rï»\90\vKîhc\ 4ç\ 3\8070¦sI\r°¦«¤zU@]0n\13ù\93\96àØvÁPÂ(Ô\ 4Á\97\13ù<´\8d!hf\ 1Z-j¶|f©\ eqS¯ì4\a\8cR!\91\8cØÀ\8e^üµ®âÑêy`#¸\82\94\1eÓoÌ\87ç\8c9ÌâØ\11\rjÂ*sàà\95\82\rçr\98eµúH\0\94[IQË\8añ Vb\14\16À¹±\bs{[0s\bW{Æ·÷Æ\89\1a\r\a0\1a\97\ 6\86B0
\95¨¬h\86˯       ÆÑ»Ëõ\a\ 2\1dh\80\8e\8b\b\1aB\99îß\9a!G×Èîí\81ÅCî\89´RHÝ~\91p\ 14h¾\81\ 4\13ç;P
\9f\8eC\9aï\1619\80\8cØ\90¹É¹­ù#\11Å\8dÓ¶Pïª\a{n\9c\e Rn\8bGª#tKµc¬ÄÊ\8e\13
+_=pNñU\ 5æw\8aî$\19å©>Dà×-K²#[\ 5ü\13{ïÈ\ 31\82þ\15\fh8Æ3\86Ú\87ª*#×\8cgN?\80+ïÀ\15²sß\8c#l\ 3~^4\ eø« ¿ÑÎ=N\11kL£\1a\81\82¸\8aß_àW\87\ 4\9fi\rùÛB)Ítkp`§n¦Ú\90CJe\16¶Ì
+Evx"\9d\9c=deyO\1eloÄì`ç°·`æ_æ\15\81ý\9aÔzAS½£\89\85À§R5\81\15\96Î
+ô§æ¼xÀÝ{y\@\1e\97÷'\11\ 3ßùywo\ 1\bNc¼\93F  ¨V¡\8f\89\14uäÌ\ 4þ\10(÷(:m\80oI\80\16\88uA\8aÉ\9f&`c­ü]Y)\80\1d\82rÐû\80à\14<!Ú°\ 1\92\ 2\89\8eC\96\139qº$F\92t\8d%£¸¡\8eBaZù\8e¤ÖûÂ$\8f\80¦ñKRʦ`\9b.®Û\93rñà¤]g4,\12\90¸-\1f\r«×L\ e\8f\87/ä½£å\81(ù®\98J\8f\8dG#Äâ
+>X\16G\ e\8f\9c¾HX-ñ\89¯çÍÈ\ 5\81b\1dß>À\96
\ 2¹\1c\96\ 4ès4ðä?\8d\9f¾r\87l\ 5*\98Hz³2\1e«¸ÐNq\10Å+:\99\95\1e­*\98p\95ä\99T0anÖw\85m)sü¨3zXÓd\86ìí²il@ \94j¨o\14}\13uì`\ 5ul»ýmªºÞ\1aÅ\0\97~­µTN\95 Yí9¯¹\ 6÷\9aA\13«\ 2\1a\92xÂQ\82Ùê\eÃ\b7¨4\e±U\aÄn¿, ÝyÉÍ×÷P\ 1\15{ë+~\ 5\8a\11\13\12`\8b\ 5Ð\98}¡!Ô[\8b r\f:\14¨·\19\82æ\8dÌÊ¥öT\1ek\ 5û\90ZBò@dHíU\11c
+\89P\16öëòKgÎ\ 5\7f\16ü+fÓ\e¢j\vp\90é\14üî\0\9d
+Jg5õ\998éY8˪q\97\8fqCÔ£6E\97äj.;ILòë²ü        ³7\ 5@\1f~Ô6\8d\8a\15 dÖ\8f\99\ 4\vGpÉ\aG!¼¶@\87e2 \13å2mM!»\ 3Ô\94üÊ\16\96\f\16®L3\10PÌËà­Z×\1c\85\99+Óú\88\ 4\ 2\86ú¯óCiú\10ßYu\r\95uÀÌÉ\94ÄØ\8eÚ\1aéuAÍu\82¦\awÇ!§@ôhÊÔ\ 6\13å ÕÚqʱ\1e\81Ïkn\8cJr7Í\89¿{ùASÛã\8dW¢æ\fÔ$ý¿\1f+ÿ\91\163uÏ\9dÖ\r-¤ÒE\8c×[¢\ 4h­Y\1dÝ9\16å7ñò¿ç\88îÒ\11ÜØ\8eæ\80îáñ\89&'Qð¡\924%9\85ìÂLX\15ª9\18Â\9a\19\9cÌ\1a©øÅS.$Æ\80Ü==ç£\103.ÜoÂ\aq\97\18\1erË.;Ni¡S\826\1f¼¬2¹1\87òz¿¢()´ün¿\95M\v\85\1a.×iI·¹uÃQ\ 5\v\16.äûx(PK\f\9dpÅNÝÙµpµÂì\83ß4oZ h¼Ð\98\83Å\9f\82Ƶڦ\8f+EV\8b4x\84iñ¢\80ÙKf\8f³Ö\ 1àJ6Çò\8d\96\90L§:÷\94\ 4\ 6Â
+7Z&Y\94ü\11\824'\b
+\ f}v\87Äx½a\rýÿYs/ú\98\1dÿÞ`ß!ÔåËõ\90Ó¬\94ã@ËÒUiÃÒ$jT«\18öNO¬dæX+\99\96U,3CäpÔü=´Äðx\vÛ\fÛE\94\952°0QZ
+ÆhæÐ\ 2©ÖIÄĪ\18ùVD9 â£Èt\16Û\v\80%2d\81(½1Õ\93a\90\eåSlE\84Æ}0\17²Z8ÅQ\e¯=øhµ\10»;½´Ä\98xR¡7\b&çóä7g·®\8f=Æ>ußq \93\f\ ffÝè\9f\9f)\aÙ\12¿ùCÔµêF\80ÿ\ f«£"H®\1dQ[\b28\165\83ØA\91À±´¨\9fÙ \8bP>l÷\18¥H\1f\15&\81ó\82ì\9d\15D\8fq\ 6\b \8aF\9c~E£ÔdÉÜ=ÒI@ 0 ¾n\97\87ÿ;ä´oAñ\ 1\ fL\ eÁ(p\18¯þ\1cã5\17t\16\9a\9e!£8V~öÀ\9c\9f\ 1º\97²P3³ÿvvÔ\ 3ã{\88\rî Úá\9bºã\9c¿m\9c\98f\ 4\80]´ÆT0\81\9dáÅ#\aâ\95t\92\9f\ 3s5\ 4\1a\1d>ÁÆy\98»\13\8cõÙ1\9fHû m\âÖ§lF
+ÎCq3ÖØ6`s\99s\9a\ f\e\rÿÉX0º.ãF\11\923l;ÂV\11%òkð\89ó·\ fpöÞè\9b<ò%\ 5\ fMJ*\198¡V/ç\8büØCêØhvK@éÄÕý\85.z\8dÚ\96\14´4bh7E\92!öåÑQZ\82¤Ô.&$ÅÓê\11\92tWèn\eC\89\83\88;\rüõ«\ 6d(\13\a\1c¬\0¢^7¸\7f7¿\84\14®C\14!å¡[¡\1a:\1dÔ­dç0\99c\149\r\18/j·6kpJq¶±ã²¯\15\1eSAF\85m`Ô¥Od÷\e
+\99#\13\0\90ø
+Í&G¯âÐA\81\9aíEqëÑ \8a\82ÜÛ\15\1c\96J>C×Û\9aßH\12\ 6«g\ f\90ù\8f\9b¡ï\87\b\ÌÊ5Z¤Þýªk¨¾9(¼\10<-±:£\fJ3£`Þ\8doR\9d¬AÂ\8b\94±P*ÿ\Pz\96ÒBreÞF(æ¸ÏK0\14'\887E\1c        K(Ó(Q\99öF\83¬¦\98Ul\15\89\10ú\9e¶L@¶4m\r\92Ú45Ä?%(­\1cþ-_\0:\8ef²Cá<\11\97ß\8cõ\e ¨ÑÝoð7¿Ù}\80\9f\ 4ôz2\ 2?\9aè\11ÛÐD\e¯`µ«\15\1f#%\1f\b\81\9d\vWzñÄâ\91S\80yc\90Ü\1eç1\87\8fb¿ãk\91\10(a)®[¤\ 4ùÍ\97÷\82\7f\ 2s|\ 5\80¥Ú\8c\15\85\ 6ô\83\ 6\vv\8eÕ\0\10*\ 4-ÛÉ[HEº\vìK\9aîë\97x£q\86\17Íê\9d\ f@>\81\r{÷¬Im?Ýïs½Ìîf\0\ 2\82â*\ 3%D´Ê£B\93Y\86f\ap3\f\1c\ 2Jj\ 6\94\85ZH\ 2EUF\15\8cqÊZj\19j\0\0À\0\15YEU\95eJ\95\95j\8aj\99õú\86*Z\9a\8a\95;ÿÿÞç@Oâ½¾÷ß~·ï½ó}óÝß¾Ýànð·\81¼-óx;ÀÞ\ eðwÍß7x;æó7\99¿\80[ÍÞNùçÜ-óx\9bÊßÁ]\97½ÙÛ\15²Û\1c?eÉþö\\89ìæx\87½'z=Æc\1f\ 6Äù\9cáTöpù*t\9b\ 1i³¹í,E%QÉ %±\8bË\9b\88Ctñ%|Ct\11$®Å       +W¬\9b\80q?£C\97Ý\9b\94\1a\84\8c\1cL\ f\r­ñÂød0ê?p¼÷\væÛÆÃOÛ\19á°\*®Æ0Ù\95|\18\99s\a_\80      \9a:(ç/Ä®pqk\9c\10å\99\1co\19ÄE\9b2ñÁ\8b\1e\15̵\87\86na  µìOTüÚ\14ç\10\ 2ê'áf\9f\ f\92\159ñËà\9d\9dQ;\egÁÒ$Â\89\80Gs\93|·9Ä^\1d\94G°:Áíî|Mf\13\8c±n\153s\964äß,ö\87>Dåüè\86·QoÛj°ql16¯c\87\ 5
+\9e¼Ù0¢a\e¢9³/\83k\90SY\1e\9bÞ\97\9a95\9dÖ#GÀ¢æ\13æÛ\rÛ¡p*\96w\8a÷´²ÑrÄÈDo9¯\f\93{Bh÷\ 5£#÷×{Ñ·A    ½\b¾1ãÁV\8e´YO7}\e­|ÍÇ\10U&^U\17\1a\87е\9d8\9cHêË1V\e9qTïßu\98\9a\1etÃox¤Å \ 6ä\9d>~tm«;\9c©k¼©3¼©ÁHå\ 5Úàå\89ÄÚ\9aã\81¼´|\96$¡×Ê/{EB«Ë\94Ë74y!L§÷å3\88ùÞüHKt\1cï\b\8f\9b\9bT7\9a\ 5)túi3ɱÿ\9b\90\1a\8f       }×Q¥Ýe\7fø~×E\rQhmv\8dip:ówXZ\15\18¦\8bÂ;sbùI\90¯üaNÆE\9b5|?PIîÛ)?Hu\94³Ø\9c:\a\85Û\83\10b\15åí|\89íÄ&´m)\8c,´þâ\10L$\93Äà³âú\9aÒæÏ\rê\8a<\v9½Ód3ú><ã\11¾\7fÞ£#ôª-\8d\86É8D\8b¬áÇ\13ÀÔ6¶¦O\15Ç·ÈA¸Èv\8cÜ(\8cs\80(ùí\85Í\83\9dNroV8RïÚߺ\99IΠ\98=ìó¥³s\97\85f:äk6(h|\e"ëeâ¾q3ù\ er\864\13\0\vG\81írh\89\87íj L5iûZ\8b\10~Ï&\9f¸1ò.d\1dä\1c{Sõñ}a¦\8bϱ\15N(xA=\88æT\15q\rϸK\8aÊ#\8cÍî/ÕfßN\85f\1c\ 3Î!\16Ã\ 3T9¨Ú\1a*ùÂÑ\16Ä\91IñkáÑ\16^\19ñ³GÇx\95Óù÷Â&ñ«\9cI?\bÒ|hÍ\1aÍÈý´\87\9fºÏ\14\'ç\9f\99¢óôó\11¯¨Ç\08\92\15_Á4¬\,ɸ\96\9eXÚR-ùûC\1f,\17:jü*Í\88B\ eoÔ~Χè¬]-Îk\11=<§ê\95u\8a<\ 5¼V'êU¢ç+W
+L1p\17qmpII½8£l.\ 2ûW»\899~\89d\1dßk\9d-\8dð¿P7\84>-e­ðC¡VHc\90\ãä²\859»U\82\89ÅоâÎ<\1f'\91ÎFÖÈZ¼£)C\97\ 2ßÉtG§á\98áqvª\8e\9fïæ\bµz\13
+\8dÆ´;x~ò\82l¿Z­8Oq\98¤!\14âb\84\96\f\ e¤@~o@{\96_O×"¤d\9a=Cä\9ds6û
+=S
+®ãqà¿i>yί\19à¬\9bXÅÃ\1e\93´?T\1cÅÎzóãû)\94ÎzòEW¥
+¸R\14@þã~p¥nvj½\9f8m«ÐÌ|1Ã\8c\ f\87\eÅ\9cÌmñ|ÜDþ\81ø\89È×\11O\88m~îµECíÇn-\ 3þínæïl·W2\93\12>\19öþ\b\99ë\ 3´PñÑ8\8c<ÛÖ\8a\1d´\83         Ç¡9àV¥\9fò&ÐV<uL\8eµ
+Ú¯Eé\8bJýFÂ;\84:°=É\9b\98Wl¢\ f\17\b>`\9aѲ£æt\90\14UÁx¹-ÑËéÒËíPdÛµHä7Uw]\8a\r¾\15\94Ýõ\1e$«)·\9b\14\e\0ë'uu_4]03á~m¯Ô>ww\7fÁVQê~¤jè\93ã\12zä[EKË\ 2\13¹Oòî'²fÍ\8cZær\87.l๳\19I     \15Ò,n0ò\rb¤n°ë¢Z¶\91\86²R2\8d\e1\90k$Ù{\19\ 4 øîÝs6L%"d¢¢\98¶¸^=seÍ\18È\8b\ 4?æmW0\94bÙ³Sð\12\aý¡Ýãlï\1cFA³)\16\ 1S ìn2ñ\7fHHÉ/\8d\94\8d\13\8e\96|\16¾4ð\929:\ 1        Eíc¢\99²_"\8c\1ex¾<ñ\92P\v(î¢Ä\1f\97H¶jyѵÔJ,\9cñ\9cRåîÁrQì\ fÐ<¤RæHXRD\86(Z\ 3\92\ 5!\1eÂã\19s ù\ 6\11\996"d\0HÄ#÷\1cÖQ£%í\9a¯jÁ\8c¢\10àó¯Ó\b½ró\98»°\90vQgJvíYÈ®\8bb\86\93ò\17K\11"s\16Í\173@\7f\1c¹ |\83\16qR\92,d\1dè^E\93A\1c¤ãÙ6\1e\90\9a2\90hºEyß\90þ=\88ñî×\91î#Ç\14G5\91\1e\9a\99\ e\0\12ì\ f×:ù\145"%ä$£ãÐØÔ\82\182\90]\12ÍÞ«E\8f\8e\14\94S%ã\ f»Ù½\8cS)F²\12\82Ø\9c[\1au0ë£ãÏÖÒé\16Mc\92+õ1ìî×m#p¼\83F\92\8c\e2íÑÚ%,8ª\b\86Ò)bº\98x\99\ fÏ\ e8^J8Z?\1dA\80É{\1fÈ\ e*\89\19y\17¯jÛòÃDZe(Ñ«  &l\7f<?é\97È1»Ñ¼\94r:NCLl\9a\9f¼T\84£,JôvÏAy\ 6\87üÝcãå#\98Èä\1a\8d\93Å/»]t\8aá~Dz"ï\ f ¾A\95Òìãîâøõò\8bÏ\91\86â\a\13ð¥u\1fÄ®ê/%!\12\19û+¼}Ù\94r\1d²\8f?o3ä²f½\81ûA#§;\9c:é&\aç¨H\11ùáÇ \87S/lÅ£^Ü[VJ4bÁ\92ïÊ'\8ae&Å\83¼]Î\1cRu\1f"Aè\1f·¥Ç\85~\96\8bY.w\8d\b¾Dr\H5fÇóÍÏ\93\98ÿ\9b¼uÖ=£Y)\ fÓ\ e\91-G§Ë¼?SHkÚ´<þÊ:,ü3#÷Ò9\94|\83\19\1fË\ eÐñ\e\8fÏ/w$ÐaÏÒÄyòc±\90\90JV~¦>)\93f\88m½ÔÉ\7f,\9cæ²\12=L\8c1ÿ\96Áã\96´ü3f+ÚÅÇ\1f+àaÅ/zæQÉI\11u\97\9f¿@aÚ.\8cD2\8aì£\8f_üµn\9c
+¢ a¯\84@ì 9ë9W\15\7fJ\156\eÑ\18   \17\920\10ǦÚê¬\e\15P\1eòF\a&\7fÜ\8a²00Ê\88À¶¿sÇT\aÿ¢ª7wTÁ»û¼¬aîªu·\82\88\e\87& ä\88,\9e0\88)\18r ¡»" \89Ã\91uS²ÜUÄj®êâ;ê²/°Ø\ 2/¤¿\11wUîÜTýnÿ¬ÞQ¦?Ñû\86zCî=\1f»dÆ¡ÃÁ½$\8bª\86Æ?«J\9a\7f\1dCô¶áq·u\10·\v\8fÄ\82|EwtãÝ´%Ý5\7ff\92è|ؤº\1dK\9dBK¡Â\970\92èx¼\92i.\871\12Ô\97CƳ\85¸\8bÇ\86\8bÇõm\83J/\1aü¤\97L?­ÚK\96\92\ÁýP$ºq¯.\92ê\aõ\1e\92èi?\ e\92êGô±%Õ!ô\92êÇõiÕ$?\1e\848©.H×ݤ¹C_\\92é\86½\12K\965õ       .`×\9eItã^a%Ô\ryT\974k\9c\92êF¼:Kª\1aði.¬k¾$»Â\1aи'\8fZ\16\98$\89ã^Í%Ê\1aû´\97L5Ý$¹c_P\92ï\83^a%ßF¼zK\985áÒ]8×\83Iu\ 3\97T5í Ò' /IsF½\92\1aúè?ã·}\128÷{ªê\11\90\95<\8aîéøy\84WwäiJÁÝî_q\a\92\10y!\a\92\10y7p{â\vÇ»\83Ñ]k¸=\15ðîàôWwU\v\96\8aï\88®b+\90\8aéÑ^Ù\1a©=B+Ú"¹¨¯f\8aêQ_\84\8aê\91\15ÞQ^\89\15Õ¢½
++¼"¾¢
+îDû\8d\17\94\1a/(4^Ph¼ Óú`\83Ó\ 4\1e\98 ôÁ\a¦\b\83Ë\b\83Ë\b<°Öya¬òÃYèÁðWr\9fÜGæ\ 4~`Gæ\ 4~`Gæ\ 4~`Gæu5^\99\15Ýê¼´W\98\82w²y\9dAztWw´z\84W\95Kdôcø+¹\83î\véÀ¾\9c\véÀ¾\9c5^\86è\17\92\eç\92\eç\92\eç\93u\a\98\8aë]\97Ñ^\15Þå讲  *\81\k\9aïrôWçÀÝÍ¿s ø\aÉ\0ù \1f$\ 3ä\80|\90\ f\92\ 1ò@>MØ}ñ\ 5ù\90)HÞ5ìànç\8f¹Þ¼\aå\0ü \1f\94\ 3ò\80~P\ fÊ\ 1ù@?(\aåu\aîø\vîd\ f\ 1z`\17¦\ 1z`\17¦\ 1z`\17¦\ 1z`\17¦\r\83Ë\0ù`\1f,\ 3å\80\ f\96\ 1òÀ>X\aË\0ù`\1f0\ 3æ\0\ f\98\ 1ó\0>`\aÌ\0ù\80\1f0\ 3æ\0}8\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÓ\80}@\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÔ\0\ f\9a\ 1ó@>h\aÍ\0ù \1f4\ 3æ\80\ f\9a\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1ô8p.g¯('¯('¯('¯('¯('¯('¯\1aöP)O^UÕj¾¥\15îg¯\0ù \1f$\ 3ä\80|\90\ f\92\ 1ò@>H\aÉ\0ù%\ 4õã^¶âzñ¯M\ 3wÌÿs=x\ fÊ\ 1ù@?(\aå\0ü \1f\94\ 3ò\80~Pi}0\aÓ\0}0\aÓ\0}0\aÓ\0}0\aÓ\0}0\aÓ\0\ f\96\ 1òÀ>X\aË\0ù`\1f,\ 3å\80\ f\96\ 1ó\0>`\aÌ\0ù\80\1f0\ 3æ\0\ f\98\ 1ó\0>`\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÍ\0ù \1f4\ 3æ\80\ f\9a\ 1ó@>h\aÍ\0ù \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fx\0ûÀ\aÞ\0\ 1÷\80\ f¼\0\ 3ï\0\1fx\0ûÀ\aÐèØ\ð\1f\8dz\18\14¸\ fƼô
+\\aé®\85墼Ä
+\\aã^N\ 5.\ 3ô:\95ð)p\1f¡Ô¯¸à?C©_\ 3wÕ/¹à/\0\ f$\ 1ä\80<\90\a\92\0ò@\1eH\ 3Ê\0y@\ f(\ 1å\0\a\94\0ò\80\1eP\ 3Ê\0z`\a¦\0z`\a¦\0z`\a¦\0z`\a¦\0z`\a\96\0òÀ\1eX\ 3Ë\0y`\ f,\ 1å\80\a\96\0÷À\a¾\0\ 1ï\80\ f|\0\ 3ß\0\1eø\0÷À\a¾\80\ 1ï \ f}\0\ 3ß@\1eú\0÷Ð\a¾\80\a\98\0ó\0\1e`\ 3Ì\0y\80\ f0\ 1æ\0\a§\0zp\a§\0zp\a§\0zp\a§\0zp\a§\0z\80\a¨\0z\80\a¨\0z\80\a¨\0z\80\a¨\0z\80\aª\0\aª\0\aª\0\aª\0\aª\0\a«\0\a«\0\a«\0\a«\0\a\9a\0ó@\1eh\ 3Í\0\ f4\ 1æ\80\a\9a\0õ \ fR\0õ \ fR\0õ \ fR\0õ \ fR\0õ=@}çn¾ò¶ÿî\9d°\95ë\11a\9bï\88×\ 5ø\14Eá[\9fàNE\86§GîUÝnþ\8e_y[§áî,ÉÂ%{\ 61_ö­Çï+aÿðÖÓ÷\95ªý²%rà\7fÝ\×ÿ\7fö+w,ã\8dóo\9coOúú7Âô\80yLÄݤú«­øûã\9bÀ\1cß½4æùgÃ\9bç\16\1cÞf\r\9bvЬÛ÷8vmûØvmòËY·\999\9b|äyÂhf\9bÄÉ\9dÁ\1d\f\15¾?ìÁù\87P\a8>\ 1p|\ 2àø\ 5Áð\v\83à\17\aÀ.\ f\80\\1f\0¸>\ 1q\9c\13~¸m¿{&\8eq¾¹¡«\ 5ïÎQT:¨×TXÔYÔZT[T\eR²¦\16¦\1e¤ê\99:\99z\99Ú\9a
+\9a\1a\97U656U6u6\956Õ&ºXê\15Ô;£\9d\97u:ê\81Õ\v§N¬]Y:³uhêÙѵK*¡j¡ê\8eª\93ª\97ª\9dª ª¡ªuUcUeUgUiUmTmZʸZ¸z³ªäêåêçjè*èjÝUØÕÙUÙÕÚUÛU\9bX²²\16²\1e°êÉ:ÉzÉÑÑa.«,k,«,ë-+-«\r­Y[\v[\ fZul\9dl½lím\ 5m\rkªÛ\1aÛ*Û:ÛJÛjÓk\96WB×C×\1d]']/];]A]C\êºÆºÊºÎºÒºÚ¸Úõ\95ðµðõçWÉ×Ë×Î×ÐWÐ׺¯±¯²¯³¯´¯¶¯6Áe\84-\84=\81Ö\12v\12ö\13\14\16\146\ e¬,l,¬,ì-,-¬\10\ 5Í2m\12Ê(Z(z#¨¤è¥è§h¨(¨h\9dQXÑYQYÑZQ[Q\e\8e\16\8e\1e\8cê9:9z9Ú:
+:\1a7Tv4vTvtv\94vÔfÒ,¤\85¤\87¤:\92N\92^\92v\92\82\92\86\91Õ%\8d%\95%\9d%¥%µ!´«)aiaéN¥\93¥\97¥\9d¥ ¥¡¥uKcKeKgKiKmJm2ÊhZhzc©¤é¥é§i¨)¨i\9dSXÓYSYÓZS[S\e\9e\16\9e\1e\9cêy:yzyÚz
+z\1awTö4öTötö\94öÔæÔ,¨\85¨\87¨:¢N¢^¢v¢\82¢\84ý\82lj,¿ÿ°Où6   Z\85\e\9fýû\ 3ñOØ\1f\94~Á$T\v`\9eyúñÿ<\9býy\ 4\910FT\89¢#\88Ê\1fÿ\93\1fìI\19²\10£I×\91\99"dV\ 3dDï#Ñûû*ݼMn\7f\93E¡Áå[ì½Å\v\11mfa\ 5k¸wþ\8e#?VËÉËSJ¼ùÜYü\ 1óüþ\1a\86û\8ac?ûg"eÿM\1aw\ 6\88 <R\1f¿ÊÎDÌK'ÿ\85\1awÿ/çtiÝù\13<\1dÁ¿úhÓ±1\99tE¡ä8Q\17úѧrâá\8f-\ f"#\94_ëF\9dÂ\v\85üÄ ùS?8?ø\rÇE¦\9d¢ù\85ÅsbGÂ;\0©Ãô:ØÊ.\ 3\bH\7fDO>\8c5\8cKA¼^8ÆÇücq\87üDcÏøí/bÆöG£\8e(ÿ\8eÕôÿ\8eÛ\1diëÝ6Ä\ 2kk#
+A³~\83L\87®\18'Gf \94\e\8d\9e\ e\8cxa3ÎB²×qzªZ4\1a/q{<ÄNuGçâìq\8a̼ÉBÅã\85Τ\83Ä­o¨\9eC+ñÆÑ\91\8b\90³@Ê\9f×+Ý%\vÕ¡\95åÿ~V;\11è\16\85Pgîí+\11iÂ/gæz\11æo"÷\aí\14\10\93B\85û¬6ÌOñ9\98²\7f\8bÄn&4\9co\f\98¬:Ûý\8f\11»wô\1e:(\99S\9b\99ºA)3ÒÛ\8c·¾þT       {¿@,ù7fÈ\9c L\97Àü»²rD\7f[+\1fy²ýã\ 6G¥7ÉÝn\1ec\1aët¶\a+ñ}ï\93±àÏIü\92ÒÍv9G\9aø\ eD®ï1\97äC{ºj\88¿+ µÅV\87Í\87ÿ¾úë\ f\98\ f\1eyÿ*G|F\ù~s'ÿ\8b~\7f\96£ACÒüf¢loÕ8%_\ f\7f+<ÑBÚ\aò-¦\1fÿt½ó6\1e\15\82r\b½§4ýêßÿÕ/½\8fþ%ï\9e<Àµ\16$R\10ù å\7f\9c½ðoédÿú\97¾q:\ 3ùä÷\ 4\7fÒ^üÀ¥¿5\19qÍýeï\93V~h¤ÿÔ~ÿ\84½âõQ7oÈs¹îß¿8<ù/\92ß{4ÿ2ö'AxM\95\ 5³äÏ4ýÿ§ì­Ð²­oìx\aø\ 5\10»\80*9%ç°} \84\1d@\14\9a¡ö1\1e¬Î4ç\18\1d±ø¨·8\aÖN=\85ÜkUÎs¶ç9x\17ìhì>lV\ 2üc\a\1e½ª\99ûkyȶ.d  c\11ÆðøgÂ\8fÊ\9dÂ\82\82û\93à¿\ fõ\82ð¨Á}X ¾¹p\9d\1aG/Û½3    \aÚ\ 6#³ò³ó­38÷ÌVî\81êÕ`¢¼3¸®»üm"Çç  Z>\10E­c» \93\15\98\9eî\84î^9_\ 66ïîÌü\8bÙ|\eìα\ 6ã¥`µ±o¨×#1T©ù\ 6Éñ\ 6¼\1a]\v%ùrÿjö,\89\17\ 3Öw\1c\83nM?\9b\83"o\10s\86Pv\9e¹H9\94¸3\9c\a\9eY3s\12M¦A\a\930øIqøW½^ò\80â\9dÙ\ 4\7fí°Ct\1að,O%\83\8e9Î>\95Ñ\1cg½(£=\1f%ïH:
+\8dÆ÷bJì.òo8ÍÇÀs\8e#\8bc\9cåoBjçwÝ$4Ï"ÉÂaûÙb±ÜÒY
\8fÛ®5sÞÑ{ä°ì\13\11}èxæMÓ\1e\9c\0¬}hXΪYpÝ®ÂOÀ
\87M?î\ 1ïh¹ðX~©\94þúô'X0ç\1c\19u¾ðý{½ø\92öÿ¥\17Ú;\ 4'\13ÄX&²fÓ$\8f\ 1à\9f\v?QèO\1eÙHµ²Z²H!Þ\96ÞÞТ~Efrö\9eÓ¶éw4J\1eû~\1fo»N6äÈÑ»åâ}¶o\8fh8\13ÍÞ~g¤^\v\8bxñXØÏHtL+ÏÀô>\ 2\81Ù·J\16?\84áþ\r\ffð@yä\1dÆn\19éíöÉ\87\ f\8eä\Á¶\bf\14(A¹$ÝH5é@ñ\99ÑA¸\94 Ý\vÒ.LH¨¿ç8óO\85'zH¹2H8ÁQñã- ô¦\18Õ\1a(Î`ü¢þ8\91çFò-\99\90oÑÝÙ·KÿZô\8bv\anÚ`M\¸¶ ½½\b\1aóó<\8c7ÃyFÍc\92á\a\16԰⢠!ÍBͽ6Ï(ðð       Å#C\87\8b×yA÷\93\87?pd¶þÍò\10q\ 1r;ïàæ3ÿ¥¨ûÿ£O7-oûZy±yw\1fñiæÿ^#?     ãû¸\8cÎxÿo\11\9fIZ\F\7f\82´¸\8cþå\7fæâ3\1f\8bÓü\19Öq4Nþ'ïhïÕ\14B¯!>\1fû=h?çÄæ@è(^áùµv©k«-ÖG¶ù¬»\ 5¥x[\99k,Þ{é\8dª\88O\97\9fyñüÕ©ãÚí+;\ e\94ÊÚ\\17«Ñ\99ó4\1f\82Õ\1e·\85Æïxs³Ì4³¼
+J\9f1×À¸\9fC¸ù6Ù~Óh¿sÏÖò³\95P\15\v\8aîr\r¤\88Ðd\9aRÓ}Ò3Xý\97\9f\12V\7f»ßëmÿ\1c\ 2ýÃö*:¾ Ì,I\7fDÏÏ¡<Tu\fë¯ÅfOá°\89NÿË\88söûY8\9dÕD*\8eÛ_\8dùbT3¿Í}Ô\92}\ 6\8dç»v<\8f?\89'\1co­®Ýæ\93\97.u\7f£¾Ë\93ìv?jòÓ}XüF^F~*ºfÏ_\97àû}ã\ 2\9e».? v_Ù}ñ¼"5\1dj\8d\8fxÁ7Ñ®ô(ú\ 6{Lüx^ãiâ[ù\\ 6\ 5ü\9cKï;?Öt£i2\11\99m\8fѤ԰3KäopyýTÄN»%¡þ\8e\8eù\82|&/£æä6ú\95úÉh\1eºm¶²\95\82\8f\17¡\91\91Ûa´,êï\97©\9f\e\95öul\rãñmúÏ\83\15ÄkçÌx\9b\1c棲\97bWÃñ\9d\81\86ùû¨¦þ^cC\96¾û5QEt¥¹y
\17=\e¸î2\9e\ 2îo«óÅ&èý4\ f¼Ôö,ª\1fþÊ*\fÏ®Þ(Ï»\17\17)÷ûÝ%´\12ef|\9bôMTYMÓæþ½Gã\9baIαÂ/°ù\1aE¦£ôz´Ý\9a\96±\966\1f7m=ôeñqe÷\98ÜÿØÎw\12Ò·µøà{ê\9f>^,ÍF\95û4¿A5\15a_\r!×ûñ'E§«¡'3\81\82ð"kû\eg}Ûp¡bÔlµ\93\1c\8dV¿Â\8dÚîù6|\7fwÌ®\8b5á¤K\e\ f\8fê\8c®Õþ\19«ç\8b\13Æ\8bSî`[N}|\96\8d\9fcó_n6Ú-SÞc°Á÷Yì\v?\13c\9d~µ½Þý\98µ}­fÿ\17\9cÚ<1 \91\7fÖv/8\9as\89ê¼Ì\96û³ç\19\15§Åðis¸ÿ\9f\8eÈ¥Xª¥\11\7f_°ûæ²C°\9f\18VS:糪s5\17³æSNõ\8e±_\14bcb}\Ý\1eßÍ\8cÑöÿ\17Ç\96Ñ\1d\1d\18Zo¯Ñä´Ázk·T´~\8eZ'Ýq\18cIo¢=6k}\13çåtíþ   \8e7²Ì®\8f[\1eéKÕSZe\1e¯\1d?â×\ 2Ì¿³o©}ÚûÝ\ 6\1e&\83ÊÅù\8c=O\15\99\95º\9f¶¢Ë\10Á\86\91\9f/yQå=ù\r    Ö{ýýû¯ÚB¯ÓÏ{\15½\19þ\95³Bºq8¾\9f#ym\1d\94ÏO\1d+\99ûf\1a&Âq¾}V±v\85\86ª\eY\111;\8cLкV´}.\8d\87\9b\15´ÛÃn=øÍß\96ÐÍ\9e­ã\9dÈ×õkuFzYnÝï\95Êh£V·wa\8cyîÖy\93\18\86\86Ãa<\9fÙ×d!\1aú\1aÿmn±\8eYý¢\9e\85»;h\1c}\92ë\1e»\1fècÛt\184U\93¿°åô4\1d\1a]=^\85Î\1eúÑ_f«{«Â\17Ë\8a\9eès
+Ðòl³1ÄùäTf¼\17Ö\91^5¶Å±4]W¿\1ca\ 4bÅÚÓä\91k#À{\8as\9cz`×\91\84Å\92LGvÇÐÓaS³òÕÔßüÇí¯\f\92¾·»þ\ eÛMí³Ñô7»ëU8>QDà·\11\7f\ f\9däÕµ©_¡{UOºË\14W\8f½²\86Àlé\18øøfüÌ¿ÍÀ\88LO³ÌãúÒó\1fc]\97{CÕl«\9cʦ)Þ\ 6ÆY\1c
+oS\97µçd\9ftËê\8eì[GFÍ«L]¤ÏÈ×µééVìáôì»FEÐ\16MG3âÂ\99\94دô:4¶X§¢ñ%\95\aÙKÓÐæö\11´¹¬\ 4\ e#âå¿\96\99â3¹³\9aÃjXy\1f\17½ÎßPa%Ë/®Ôås\94^ì$N\97®\9a\87ø;¶?9fA÷~u,ÄÞú7iîñô<iMTéi×:ûw·ÙJ\98íG3#?åÐåyE¨5ó%´ë ¶Ìiy$ý~w'­Ò\18KÇCÔǯm4Ãa\94ØÙ[Ø}ÿ\81\85p;\1d+9\17®Ê;OãÛæq\1dÿ\95\ 4bo+Q\15\ 3\8b]ærZKí:Þ_(Âÿ\ eËÜ\9bÜÙ⢶m2p\9b\9e>:\10Ã6yLîv?öc\17xüÉl\84Ï#   \16b~¬\9foKK¶òâj;\19\-®ßQ¢NO·ïñ\1ci9rëµ\9d²\9b      oS¶é¨'Y\9dák¼å\90lèuú\8c_ÖØ\95\ 6\93\v\96ï=O+ñú\99W\93õ襺La\r+\95ÕÀPϼø\võ:=å\\86Ýû\1ajoiûB¾¿ÌtÒ\9e\87\r\94ÍÀåX)&ñËà76|f\15P3X-\96÷ëã*'Ií|\18\WÝ(ÅÒÕô\98\16ÅQ^\a1G[íòw«µ¥ú\9d+\1dµ\9eaY4ðßk¯¦\17·aUìè!6ºÎNQYW\9bF«MâºáWaä#\17h¨ò9\r\14U/\98¬¿NØ\9d\9eÑ~\8e/Ê×ô:¬ÆÉãèx&gÄ\95®Ðñrl§ s¼\8d¥\ 6\95³É:\1fkWϯð»&{
+_zÕëa´³z'\aèó¾\9eã\1d@vßÂùiꥡ\7f\a²j1YHþ³ã!\8e½­÷ÉÖ½de_ ôHöû[Þ7t¿U\1e\fâ\7fÛ}%ë[ö|±[\9cjï7\9bïú\1e\ 4\a\91\9f}+²«¿ð­_xL|ßzs)Ë\9a­\98}L×y¸\90k½f¿aªñ¸þÇ        d«éiä1þ¯\10\8c\169÷i%o/,úg\14\19'\eÑ>\8dé<'}EqÜý\92\98\8b\1f'cè\àJzÂá ñ\1emèí\86§Å\8bø_á1\97´Ñ~7K+\92£\8f\80\92Õq6\e\r\85ì»ÓI­ß[\9b¯¡ËÔþÊ\\8d\11\97³/%\15½§°Ðt±\153Ýâÿ\19Wl²SKßûïÄíoIöWQëñWÌûj^\17ÇöDí¹>\96;âÍMá_\93zýî\e°õüý¢ÿ\12ýªù:>\16;¦ü]NËeènâxqºEºÎ\17~ûmÚ¿\19Wy\91§z_ÓÜá<}sM^§3¤Êj³Z\aå\1f\86\ekØò°Õñ¾~Îo'zï ~çãv\80{~Såïq\æ\7flRêâá§us\1d~\8dùVÂðB­ÇµÀ§Ó|\9dc\ f"u×?ܵiã¿<iësyìÇy\8e\8eÛfw²¿Fzû\86\7fü¥9¾\13y%Ýð­î×Þèø¹¿\86.ª§u\8eÛ6ö^/¤è5^\8ay\v\1a\1dÆþ³\83\9aéw+       \93\96\9eÃë`oq\9ed\fÆs+Í\93²¿\13û\ eq0]¿\12%ÎÚ+\89\95\8föë     úðEt¯ßÑÕ²Ù'\87\93Û¯{ë 
+륾*\1fW\91±e`û\87Ýi¸ËïP     ²[Ï\e\1f\80ù{(½o{\98Ã>ê¯PÐ\ 5Öv|\8e\8f#_m\1då#.Mü\9bÛç\90×Âk\98g¸¶]¬ÂÏ_±7ò»ÞoËËò=:ftpP\19í¹\8a\97\ 6\ 6&þ_qEØZ^ùt±U+ðTÝw\81[²¿\98\19\1aÛúv\1c\86\13ã÷\97kk·;,\1c\8fqg\7fQ«úøXÿ\85¬\94u6GâÁÛ4c\96À\13ó{Þ2ß\ 3×ÏEÓºÙhã±Ü½\16\0¨W\8f[\85     \eì¾ù½Ê\1ayÀ&O\8cÒùïtÓ\87y\9a\1c\8f\93o\83Ðð0\ 5¼ý-ý#6\rbü¿Ù\9cÎëöTÊ0\ 6^L³\81'µð^4\ fv\h½7»$ˬØlö0$õ\90\1dgª³5¬\8dÓ(ÇÎëëñ¥A\13Ó\9d\7fòö\9b\v\f^_\82g\ f\v\ 5\ 4V'\13µ_º°ö\1fw/h2\89pI°²Ù¹\1efZÑ\95FçÀælú½\14\14\196Ò^¿]9³îÚøý\8d\8esµõø½ô\19K=Ý×[\85¯Þ¯°ËÍùP\8b¾\bX4ÝÕ\1fUô«ÞH´ñÎ\95èsü\ e5t\19rúï\ 6h\9d>þ/Ë\8dÀd7=ÛL\9e\b\99Ú¿j¿Òöwñº}ÿßôEúþF¯ª'\88÷/¬Ë×cZìÕý\94:²!\97àÉwà\85Þ2Èw\8c°\1dã0§xËYÿ­\96#Úíe5<¿#ákGÛR˽{\9d\ f\97ÿ>\ 2ßXA\ fò\ 4M\91\92\1fYöh}¶\91vß[\1fû0>Û¬Ú\1eZ\88N\ fÛw
+\16ûÆ\11méþþÛ¾\89æ>*øA\17²¯\19kÃH#&gÿº²ëJ¸ê\1cf\13\7foV^TÏýõeúò\90\1f­+øõeá\7f»·\ eµ\1eÛúßçÛ\87\83\ f\aû{pÿ¥\8aÉ¡a\83?S@q'x$!b\92\879\8c,ç/í\84÷\9aÓ¡Ð\87÷\1eö\91ÏÎ/\8cÜpt\±»2Na\1e°¼aô\9cNn&ý@ÎФ:O\81eFÞ\18ìW\85\e\13\8ayç       ×-L*\0XüÄ^z^+\8fo¨wgÙ&è\95\8a\81pµÂ
\ eÇÓB\92\85\84îÕ!;Å\8c1\9dÔ$¬Ú}\12³H4P/¦6ûÄ]Sç±Xl0ú\w4\9b\17æîAÁÚ}\888g<´\vŶ\93\17\1d+[ò\ e\16\ 5´ÿß\8a\97\10l'eæÕ\91ñ\\9a6~\927\10\1cá@xbPé_\1duÒ¾ÍßÄï\11»°\1f\11w\19Ò¤ÊÆøn^YO¸¬[åÁ\9f\8a\14\9f\8dã\9c{\8cÅfÖ½\1fÛ¥\13Np\99\v1¿ê9iÿÚÞ\83¿¹¸íÑé®;t~*\1dº?Ómÿêl9Â\87\e\8f±ãó'ZpÌ\8c¤ÛE¯´Ìtk/%#ÿ®óâðT×\9f-ï|F(\8c\8b½ñòäåO\97GÁ!\89\13§§2|¾}ðåÝ\17\91_yȯÝåT-²Á\11m®Á~éwô\163s\8eûlù<\17ÿ%ÏýÕt\9cõèù\16Ñí³\8a­§ÿ\15]'+\82¸«rÞ?ß.|\1e\bu\81ÿüåÏ\9a½ ?\9e½\7f\1aºLTú²×óðhýÿU]&.Û\18ª\ fT~ÿ\84¹â¥lyPHxXü¨/Ö®\93Â\v'\83Faø?ðUÒhè­j?\7fÊÖ¤î\1f\12ý#Ó·AR!é+!\89z\1d\87ßZuÏC°eÇçô/\84]ØÚÙÎZ¾Zb\11ëäÁ\1f\1e\ 1\v\ 6`f~ ùLö\10\ 3ðbÑ\94»¨ß\81¸$R©\8b¯ÞÝñ\ 5>ÁÕÇ:\84)\90a`3È`(RÀvÃÀ   Ê\ f\12¼5cU\1c÷
+\82«\10Tn^ût{\14bÀdÇ\80\13\91¨%U!\8e×%\8e\13òâ~:\15\ 5}d\15ã\13 ¬:
+èPUj
\90\15{AXô\15úM\1a²h+X\82²¨+\9fAYt\15\94AY\84\15Å\8d]E\8a\92qã§PWtXñÓÉcµ(`(\1dà\1eu\ 2íh7 Ô\10\8d\8bî\96'n\8fEó æ\8aý"³\13¸\ 1ÚÔ`¬J;å\80\1d\81\8a\9a~rÿÝ_\9d÷\11\84ü\1foó÷V\vÓ\ 4:i\80ͬ\ 5Ó\97\9eòªü7Qͺ\ fåz3óÄoóÜ\ 6è:Þ­ó\10\92§¤*\7f¤o½\ e0õÅc#FxP\bNu\1e|ç\Ø\91Sÿúq䢧tgE\a î]æ\ 4êtæ!%ø(;~¢ó\9eVÐVÂ\vx\88\8e\eÞ\8fÃ%\1aq\vð\1d8\84\99\a\7fï&sZ|Fò\88­\a@Åæ9eÏ\ 4\FýïO9n\83Íû&\8dK'£\1c.\85\9b\v"ïÃ\rÌýBÇôFæå;v§î-B\93Qpæ\96»vºl­ß9¯\b:-zkò\0+\14\0[{è\0¾®\9dØ\v©\11¥\1e~qE\8aQB\16%\94f      \18¡\a0Qæ&ò(oÓ¼5»°´´\v)E\7fÖ^²w\1aÚáѳ8vw#HTF\8eÞ\f\86\ eÜ\9b\1f9XÀ\878³{Ó¡i\1ffL¬¸×ñëwÈ­:zéè\18 ç=kPµ 7(9ôb³þ¾é\e
+s¸±\82ñ9Äëq»ùÉ\91\91ve¡Ivèî»Öh÷òsªIÛ\ 3\87\16\13Z\8eÌ\91÷\ eãÀ\96\93ü\9cö\e\88±ðZNs\f'ùÙìBFéÄñ°    Äsß
+\99\9f\1d\86³h½1nØ\8d\89y¡Rã¥d\96ãxóçåyDOc\98_F÷\94ìF\19\15¯\v¼Ú\9f2å¥éJ\16jR*Ìú2ú.ú¶Eá\e>?y«\7f¸Ö¼ÿã\a7\91B\9dópq³Ù¹¢&ÙÏã½!5\87\13\99\19üvØh\rÜ&\84B§êùÑw\99\9f\ 5bòmÌòÞGQ?BZÂðLÒ\9e\98¼sN    \93Ç£&*p9c\833ǦÜÏ\ 4Y9\93cNYäV¢\18âø7º(n\99ãËQË\94\83×Fµ\17\18\ eàÞs\85«8\ eé§;ÌXÝQ%«6£\96·\82\8aÓd¡Ý«@      Ë\9b\14\94bçZ>IÎüV!çbè\87v}ê\8b¥ì\ eöz\ e¨\9f%\9b\93\87`ظ)83ÿm\ f\81M¾"ð{\8bÇ-\16λS.lÓ\1d\92\ e\8bßf¡+\ 6Ã\89\ eþ\84\80ÒcÏGc²\83ò\15soâñûßÒµ­Ç\1e±øqxñÃÙ\11Gäý\19#d\acr¢ÇQUÏc£_ï-I²¤\84¬ð¥\1f\ 1úNö=ô\ 56½£å¸«\ 5½ÙÜ\13/\8fè5d,ÜY³Æ\1f\94xy\11XÀàµ\13\85²c\8aõ#\Ã,fã\8c;\14f9ǵ¦)t9w©É1øu\96¤Îs\8e±¬«Cù\97ÝÊ9É\9bqg<o\95¦_Ô¾. ~%\94þí1ÇÊ\9cΠøjfÀó>õøv½#À2\84ô       \11£v\93\96/Þo\86å\ eïo\8c§þóf·Ö­îmz,n^\bÝÝ\19$,\99án\9bñ[¦µ\87ÀãÏ\81ç\f´\1dª\878vî§v\18§\94<\14H\8fYïI¢GÉóÃ\8fÀ\ 4\15¬\8dÞ\92\92(Ìkðô*)ëÇ¡\ 3å L?\ 4dæn0=+Ø\9f6¾O\869&°è?Ùb²ñL.í£\8fYvÙ2.\84Þ\1d\93\98ctÅC\97|\9cx\1f\91\939Ï[¦Æ\1d?¼<\95Í&sصz[¦Ú\8eË:\9c`]^б
+J\14^$Ä\1e\e½ð¢y3áŰøÉ·¡x¡âÏ"7Ó<ëX\96\1adl\96{/»¾\1f°ìc\99\18RØCÞ¦ÞÄð¥OïOÓ\bÔD-ïµ\8d+_û\9cÌÎLÂ\13'2\ 1\84\18É&\ 1:¢ \11"¤H\9dîa2'0\99\ 2 «\14\ 5\80$\ 4Dgd\90 \ f\92\ 4 É8ãÑUP\15A@\ 1T@\11!\ 1V@RE\ 5 
+\80\8f`\15Tä  ¯P\0G>ÿÿï¹ÌÉ\90\81ÔS«Ú¯mm}íjì.ÆÝ\97µuv\17WVûZºÕØÛv~ü\1c¿\80\97qvÞÞÝ\8d»[¾»Ë.\1d­²Ë$\91®,\14ßÉ_\10\93Æ     7ô\ fI}]æ\95ÏA\ 4â\8càûAÅ\19íîõóÖ\87\1aã¢\1f)µ.5ÇÄ\15]2n\ 2©\99\822ÿ¿×1x`
+#Ê0\ 5rø´­\88Ó!\89\84\9b0c±OÞØe\10hIé6\96æ\8d5b4Ûi\9a\9dë%:âl)v\9a\81VªùY\vü\9ap\10d'¢åJ\e\94¯|\e\94\87\9c¥_×ká\15Õ\i\18\16L\9fôì¶à\16\1f¯;\9bß|­pSÞïí\0\95¤\94l\9a\13\96p]ö¤­\8e\93\92¸O\11æ\19á\ 6Rã'@)m<gÙ\97\9a\1a
+Þ(Ûî\83\84\0I>\ e¾ê¨èbÇY;\bª¹i\89\86\fºP,uS\10\9c\986>øK÷E\84¼W$\1c¢ë(Kíb\ 1\87\84\bK÷\ÈKìb\8f\17\97)\×\91\97@@±µÏ\85À\8f5^¯\ 6z\99£û#HEO-«6f\16ê¨pY¥>SP\8bK\93\9aÌXs]Å\874ûë/
+Ü£Lݳ·\8cï\r\ 4Q\a\ 5óÄ\17Ú0\b\9eÉ\rS)\999\17;&\13¶¡\837\8c|Ýl\ 1\91\878GPïe\ 4G¨qAÜl \8e\9dÜ\8f\89iûä|\ep<;÷òt
+b\1d\94èEHÆC\90}ØÁ~\ f\96U\83Ú\1cõ\82H1uðqJ¦í Í.\ 5Y\9a\11/æWU7¶26ú©»bù²«ï\97¤ûϳ¤Ïäô\9fÚöôã\9a)Ò2S i­)\b\10â¼%\7f\8d\9aå¬\130ð!\8aÞ\ 4\ 2àF\9a\1c\13Y\8dÄ\10å©bãS\93±ð¥¶\ 1UÐ-\ fZ\15ð\8d¦ýt¼\e42« ·$9·Ö>_r!ݦÎ\86\14Ѿ\ 2½Èáï{\88<ã¹AÏ»^²\15j+{ô*ÔVáf\87û\ 6<5l\9aqP¿\85\93NU[&\9fðgþû&\9fçG\ eZHz]½<Ц\93\81=\984ch õ´µ\8ayÁ¯ûNT\rCN\14 j\eìÅ,¼»z^2\9d¿'\9a\9cW\9aoKa\98dàal'ë\926\8af\8dév*\ 4Î6ÿUS\94u\ei\97\v÷\rè\1eÜæ÷\93<\95èÃùZêè:{ÈÚæ¶èÑZÂ\84\9f\1c|ª4A\81ïÐã¢ÎF\88.(©ã Ê\0\94\14&{â¦êÐí=â:9KZU;µÉHÕ£C¸\10o³p\vJ4õ¹Õ%\99\aQÞyæYÊ9çë,øZî\1dtöiËA8gùEæp-\1a\92\96\81\92¶"èó$ÈÏ\95Oå.\95Ì@âþ¸8y+C®\88AB\17¾ºHèêÒyÕ¼(2Mj\15\98¾R$g\18ø%\9cc:\vL\94í´\8fv\8d\14Q7ô£\9e\87Q®¥½=£¼\9f\8eò¸U\8e¤u\fi]ÐÈQÞ×\17FíG{<º=5\1c\18\f\88\ 4àQJ¦¹\85+\94ä  Ê\13êì\f\ 3\94új5Äé'µnäj'2!ÂPë\18:{QC»Gëâ«ð2qû2qáÆÞÇÛBqn:\1dc§ºÄu\15dlRÚ)Cº'\19B\1cÕ\86¸0v\1aäc\ 5ª\fÙ_ÎJ\87zFÒ¬\1cl-¶uA¹#D\8eO|2`6.º-\85\ eí|í\9csþB¬2\84u`\19\9aä}tre\ 2H+ÛIå\0\11£M\r8\81\9dP¡,\1c\15Å\ 5£Îûí¡\10\1d\9d\83;\16v\1dj·ùÎNÜ|N°Çwá\98\9d\rÒ[\8e\86>,è9«4àÇeíK\82Ï¿\1c}¤ó­+\\8dù*[;å\17.`þr\bîrm­bªZ©è®\ 5\1e]÷>³\ e¸,ÿñÜ­\7f­Hsþµ'Oüª{\7f18\13'«û£ßc^sä×Ç®å§L|Ôêo\88¼ã\9e¯}ǰü¸ð©ß~ϯüxþ      \19¾\eö~   ÿ/ÕrÔ\b>W?\84\f¸\83øôºÿÆ\96ý^|+Ãû?­Asý8þm5\9dc\83аåófÀ,ó\92­86\ezÃmë\1cY 1MáÕÛ¯\81ÙT\ föö\18æÞ\91m¿òs/ñþ{\86ÅáÎ\88\88>"!tDBø\88\86\11\11\bDD=\99\9bÁ\9dÒ\1cm¬cPÚÛ­\ f\8c[íªÜ^&hv­­P6½¤î\fÛXÖ\81µ\8dh\83kSÙɧûR2äÚ\91\97Ãá¦ì¸²mf»y¾_\17dôók·Í/×\ 3­
+÷íù´9×\vl9ÓVès¡­ðã\87\91æü\96\v\83\ f\e\92I\82ã\9eÃ\9daÿÁ\89\87>\1a(\9fñpç¸\8c\87>:'\9f\15Ï\9f\9c\8bçÏÌFsçðbnÄß\93þ.ìMýØö\917£Ï\8a½\1fi\8b½\13\7fz&ÿ®&ü\9fñ}q7ýq5ðä×'ü^\1c\9aørkãI®Oø¼i5ñ§¶\89î\8f¶EwGù\11}ÑçÆwDßødß\93þ/Ã&ÿÃ&¾\80\9aäÿ\8bÐ\13_@Mzbk\93þ.\98\9aôÇÜ¢v§æb¶§ÃÅíOo\19µ&ÿxMù?â÷\84ßï\ f\8c\89\87\Ò*\1du¶.\1d\90ãÞëÛ°[í\99>ÃþY³\ 5Ô\13D\85oöëN¨cz<í$\91ö¹ß<égn:¾¦û~\95¹I_¯-\89ùj\97µ
+¯/{\7f\17\19ä/ Ñß\85ñüÚÉ\9fc_¨å¨~V?²´\aæÿ×ËÃ\ f/\99Åtnöú8ûç\9dæsÞ®wͨá\9dÉ\82ý\97+\97ú¿Õ_ì²\7fO\12f"$Þ4Ä\9bÅ\88\95öIþ¹\1a»ã\98\1cÙ¤e\16\r<i¾úáû\·YÎ\eîþ?pïû\f3²XÙgWå`$ÊÐ\í\1c¯l\19Ljk`A>M|\1aÛ'§4±ß\9dº.ÿ    ©­Â\8eáNN¿\12\a>ró oÞ°9m@f\1e\9d¶ä³ü\e\1e~ýp»!þï÷Ê2\11ç\97\1d(\1cttqÑ!ÇAØ\9báqpÒb|0\ f\84\ 3â\b¸èPã\9fðañg\ f\88@øD>!\83âÐ\1f\1cà|D\aÄP|F\aÃ0ø\8b\ f\87¯\94\1f§«Èþ'äc\8d\82¹\1d\83Üü)û\1dþÎ\eËfvë.¿¢îâ7\~ÍMÅÕÖk!\8a¼V{­>,\96'§òº<&ÖWÒñ.}¯\ f}9¬ïXê°8\ f\86FSÓÜ/ä\w\17þ\8eÕäùû]'AãºÐ~ùËþ\96e¶¯\0ö\1aR\13¯ú¥<,ó\ fG\ 3ì`a¬­¥5¾Uç-ïÛä/~\17\1f\1f[YAÕbl¬´÷\1eÛ%½ø½¥×ÜÇ¡´Ë`uu\98Õ\94W¾JyG\93ÆÝ?\85ÌûC¼ÇZë\8b\865~9s|eÍ¡\976¦\\9fí\1a49é?Ú='Ù?Ú4zw\ 4\9fí  çøz\ 6\9fAqËñ¿\86½Æ¦C\eåâ?v§§Ì'¦Èjð~ä6g\ 4^\97ýuqQÑþ\84\87aóçùÎÏ®òå¿eÒ\93WèÍÞs=m>\82/éÙq¸\fe>_\86r^õÝdu\91¼oS¢ë8Îîx[\85u¾SG\94ÙLÝ#s¾þOäì¿]¶ÕÖ»Õã½\1foÔG\1d¾òçü<\16Vs&ãÊ\92{\8b´v\1eíöë\8aé\9cÌä;\eÕ\f·læ×\8b­ÔQg©½þ§\17Óº \9bb}o}Õ`»Ì­ËsôÝx.ûÎÕîß\ 5i\92¬Öcgd*»GÖlÿÿàæ\7föÁàÇêg\7f­'Îý\\1e@~¦x\ 5ûàk~êþ@¯·àè\19h[hd42Ú\1fSEþ\86þàqÍo§a\8eí\86Ã\976v0o¥!0\9dÉ5{Bk\86Ô㬭½7¼{\16þ\8a'q3¨ý\96\1c~þÑú»u¬8èÿ²Ã\8f¤ÿ½\9e\f¶ipýêÙÿK<z?ág\8f       Ðág\8f¨\83ü,ñà\rë¶fG\1f7ß6Ã~\18\19üÄ)°.ø_ºÃ~\13k3p¯¾ù¸\18¿Ü\ 1-ÐÔ´\15µHð\ 4Îæ·S2=k\0Ze\ e
+N\ f\93ü×Å\94û\16T:Ö\80»±Ù¹\81\16§ª
\86ºô¹\9d'd\82O1m5>X¡\95\8c\86\ 1\b\85\98Ù»\ 6\9b½æ\ 65@^\b\ 1a;NþÉZBD:Û9@S4\97ä\1a\e\1a\13û\80K;èJ\11\82]\87|\15^\8eä~)í6¥éWk\86Äl×\91§Qyxf\83Ã{CTe]q{` {¿\vÍÄ*×t\9eÙ\1an2\91\16n`{\9fÑU\1d9;5Ù¤\99\19Ùö\ 2!#T´SÁ\v \9av\90n\ 4*¼ñ\99>\wìBó;&Ïn4ºE´\92©\8f\f   @Y\ 5\ 2ëêFâs³Å¥I4ÈWnk¸dÈY\ 6_Å¥þw¤7)Û\83\ftv\9cÛ'iãí\8eÓ®p\98\8a\ 4vßg¼n\8e£\86\92:? \9d\93iR¼µ\90äh¤vÐ:M¼Í"öôµNi0 \80ÖÙé;V$ê\vK~\16ý\85¥Ø\f%ÛZ9 \10\88¼K2´¹nEl\8bOh\17¦þ/ä\84\80ÿ>¿O¡v\9e$\9du6н}»OÙ'^úeëß\8c\9d{õ/z\96\17bG\94EK\8aÕ¨Ð:ó°\1a¸\96ô\15HÒv«ÛÑä\17;'_Ì\8d5Vô\8e¦\f\19;5\11\18ú=Õ¼\86Ø\8a\e\86î0»}­\97kl\14·\7fD'cþ//\7f\82ævÄ\98Ú×ÕyB½\11\9eh¯*/@W\9a
+\86¾[Ív<\8fíì>SÍ\8a
+-oö~Ç\9dï\10û^u\7f5ç]±þO;ѱü^w)ôÿD-Ûû\9e\7fÏaö¼û\ fìyù\88/­çý>?ü\9e\7fïôï\82¿íyÔ9¯;ç!ü\9ew¿Cñyß\8f\8dý½®\18\89êIÝݧ\84\8f\96l\8f?\8f¸\ 5L2`,àD©nû;6ù©\f°R\87y\91'YÄ\93±i`\92¤È/a\12î\93\vgsIÚÚ\ÑÎC\91ã\93\82\10o\9d\r\83\0¬i\82åv\b.*q¼oÓÅò¼MÜ!ø\ 5=­Néw.\1f(Êr\82\9aæë¬î^8`\b\ fÀ"E\13ëÔÕñlA\ 4·ëA{æRëÌe\19@e\17¿e&lYM\86Ãa2æ\ 5|\ 4r¢M\9b®\v\84i¶Î\9e:\vFM|+·\8dÁ\15\88\96`\ 2\97àÈ6ß\8d¾\0\17aO\19Q>?Þ8¤\10ûa\11\ 2\84"ë¤\9fN¨1ßÑU£\94Ë\9bï$?s¸²\7fà    þ\91?úR\7fÛ¤jà\ 4J´F°\9fK\80@{Â$/uøÅµ\81\r\93¯Ã­­P\16RYuµ¶à,\90º[Z\b5®ëks¤õ\88\0ÐÃk$Gׯ\89[[\aÅ(\90Fmnû\88¨\13\90þÕ\97m\0º¼C2\r©ÜÉ"s\ 1\1eLìâO\10ð\86à/}l6­ç\88_øB¹\8dÛ\14êK_A\80]\ 2Õ\9bÒ.\81\e\82%¡$Çn\92{\13\\ fW@·×,¶Gþkd9kYþ#ÿÛZÏ\9c?ó­g\9e=jÖy³Ö­gíÏå\\aÿ±`Ûæ,\88\7fn\ 2×ÿ\8dß6¦ý¢ã\9a_¡#¹K\14ÿ&¨l\1cÿ k\vzñé®·ÌßÕ\89kÛt\1c]7ÿ¨\11â\ 6îß\85\19ösGN\9d\7f;\ 63îÕ¥o²¾ËÏâØ·¨\84;\89¡\84û'ßû÷?Yã°»³Ù:Âë%9\15zë%9\9dzíæ\ eëóëíþä7¥\817\ 6Ê6\13ÿT\0l_Uºq\18þ\98i\'øP\ 1é\rÜõ\f\7f
+\0>à;®\f¸i[h?º\80\f2íÜÜ\19n=y¸?Ç\r\9b\r+³ýô\0`5\14\0\bÖ(ÛÚ\99#\Lñ\84\87¿\8aÈq1\99\81\90æM\fAm:2ÒëZ=±\ 6_¨Zê\ 6h#0Â\8cÆÕ.à"s#\rtIQ×Ò@\ 3\9dÊ\vÇ\8aÈ¡æúhg\ 6xË=8Lo\96\9a×!\93d[\13rOÀ 9¡_\8a&\1d¼\v5B\1fµ\91®\ 4\1a¯U\8c\v½Ê4\83\89¡Þ:\81FϨ\8bw\13C®d¨'ºÕê¢"ªht\f\8a\ 2\e\ e\14´®\14«ô\965\96bѵ\8bd8V¬a{Z]\8aØR¸q[%dNÑ¡í\ax>\fùé\8c¾ôÐ\14E\99Õ\ 2²<\92w¬@\11?+\8eU|ùCBÄ£:È      \a \ 2,=Ëb\r\1aÕÀÂsË\81\¹&i'J¼:Ç8y%Ç\99sI\81\8d\ 4~B7¨VÕ$å\1anëà\19\1eíksb:\8a\80\98\ 13×àCÇ:BtUNí\80ôiz%}JYq²Á\80\1c\99d\rM\ 2\ 2z\8cÇe­\f*\82\0ÀgT9ÓÉn6öT\15h{PE²q|£dßvk&ûÆ¿PËà\84b¥á\80¤FÎÉÅù"\8d\92µÚ\fÞd¦\92_±R0»Û\997¹@Þ¿²\80ê>àN\98(\80Å\8b\v'úSE²\81ÑTNû)·\1f¿XP\8a\9e®{Òr\9bv\14ñ¢%\96ÕÎhÜSõ.$¥\93µ\1eç§\83\11\97\1d\816Ó|\ 2jÏwéÞcKcõ\9d£ÉH\13\86¿ÏPGÔWå_/ å\ 3\93ÈÕ¡¸'_¸ª\92\16\\8f\eÓ\ f\1e%^JUʼ\ 1¶6r¬=(\f\9dÕ\97@¤]û\ 2\89ª¦ôq\1a? ³As\b\16à\18\b·ï!\84\ f5±Ö\ 1².¸Øn\98\81\8f\91Ê\91ÐÅ^èÌ¿O\8f\94t3÷\ 3\86å\88Ý\ 3\0ÚárÄ(KÜ\ 348â\94A\ 1Ð\8d6\ eÊ4^b£[§(\81D\fD|\1a\8a\9aèG/\18\ 5¨\v\8eÀ\ 2\18\10[i¡ò0\10\ 3\ 31ázZVn^Ñ\83æ°¤\16ç¸eüôGw\87\92Ðo\12\ 6?Ì`[uz@\0ò\80×\80R\f×\1d`\ 5\83\89Â`\b\ 5nìà\ 6á«T¿+\87\80ê\8c\8c\vHzA@*\9f² {\96#W=|LÌ\8f³<ÐmyðitóM¦Ø$¾^à°ÚZH"\8a\80\90\12¨\9b\1d4WAªnÈ!\87°ß\18pß}°\98(æ¸gr¤\97\8e\ 1/\82ì+÷yaI»\1aá\9bi0Õp¯\13>\ 2=ÓåèBhR\16I\1f«\19ûßá¶\9b\95Q¡u7åuÌZû\18b£¬!\8a\90X\159\bbº!Ä\rYü'ØÃ\14\994\ 3\7f«\8eT\ 1üy)í¤\9eÐ×¾+\a\82(\14t\87 Ö¶l@˶Ú\16
+\97bC\14<f§Òõë\8a¥ø<,æ\10 \ f#Ʋ¢\rÝ¥l6»?@Wõ"\81\81­\r\10ã#\ e\9a\0*ûe2È0ú×\8aµïæZ\rÆßó´iÿÃ\ f[\7fi»ú?\1cc\ f\fô \8f\ 2\e\ fîÆ0òO¦\7f÷/¦\7fä\ fæ_GÜ\1d\85\1cv¶ôv(îÜì!Ø2}õ¤ù        Zx2kâ\8d+=eѼVÖ´NiÒB\9cÓM   Ë\9a7\v\ 4t/Ih:\17f[6JÈ&ÿÛ\87AÙW\11Ç\¼jú;\96Ò\e3k.¿íS\11Gòü;HoFÜYZ¶Z÷\88¼Îã_'«½ÑHüR\19\1dÅÎåe,ëwrì­\14\xG9çr¹\8e\96\95ä\87üÕ¤ÿ\1d\1anÛæ¾fsÞÄ\17Ó\r´Äÿæf\1a¾\ 1ßÎ\8f\813\ eË\ e\ 5KDżµ\98î$\85\9bì\99\7f\86Â9Ä]Âeÿ=ú§4\95r\rå(ñ¸:­&'Í\93]d­²¯]ª\8aºÈn¯°÷Ê]ó\88î³{¿©^H$}V_ý&;è\ 1+S5\86³ÅCüäÇ}C/ï&;ól¿ë3½Y\97ø£\13\f?\ 2c¼1ËFÌM}ãc÷L¿\víÈE\8dº7ß6eø!}\0LuÌ\eï\9aLwÚ\fàm\8d÷ù_\96æUÅ×Û\94\10\8b\97×\13ÿ¦V`×b\80\ 2X7³Ü¼¼É-.¹Ñ6\86\ 4\ 1p1²ÎJ\b\0u\ 1\8cQ\97\16\96\v\ f\1f¸0\90D\85\99\ 2\86ºHÓkE(h«Ia\84$\9a\r\81\rÈzÐo7®^J0\ e\19^gbÀ%å­É.W\92nq\82ZFø\aÄ\96\e\98Öâ\94K8Ô²`úìóâ°\1eÁ0\8fþPY¸\ 1\10S`\8eõ%\v\89:bp 1\12\10
+{sÉ\eͼ6@\8d j©î:õÊpW\18\10\84\18\82l\9bÃc4lR¤\8aá¯Tl¶|M\ 1üäÙÓÆ\14O.v\9a\11#+ \ 2ÀÔöÎ\ 4\b\19\8a®^\0¥\1eà&þ³Ñ\13MBã \8dvKË2ëf\12\a×\9a¶Õ²ÄÅ:\1aQ\ 1¢vsÂ!¶s¶\13$Á!\14}x\9d#£5¢^i\94jô¿¼TbÍ4\133K-\1d_|§µìÏ9Fe¥6Õ7¼¢\1dÊÛÈb]\99G\809¸Z|®\r\90\\9b$vé#%·F\9a­OPjÁ\90n¼Ô\98Õqû0\95{I\15\0\1eïe4í4=%Ï\92\13¥B(tÐá®Tc\1d\19b) (l\f\9b.\10\12ë\13ÒAZV¹ó«\80_\1e¸Ô¼^¸º>\180r\ 6ÃXÂÖ\91sçGÃ.UÑÆJ\ 3áDÝKÑe(¹\ e\ 2©\ e¨ÐM;x\80£\8fO\19î\ f\7f2\ 4\8f\8e2l\10¼\17y[c¼zP½j8»ÎöÇyþ"ï8åÈ\8dû;\1dç õ\89´\88ã`íe\16Wj\90ï\ f\8a\ 4ñ\83\87\87\8c\ 1q{\0k\f\8c\9fuÈ0\95À\17Ç0Â÷µ@õJ2\0Ë[r$@r\1eØ¥\81¡\8eW\14Q´ki/CÜO-\0\95$UÔ0u\8c²G¾\ 1\ 3\7fÒ\ 1\97\93Æÿ¡ö\r\97ó>Á²ø\1f~\r\96\18¿|Ü\17-\ e/úþß®øëXØØ\19f\9f\ 4\f¸Ó\9bîÊIý\94töQíY,SöQôÿî\97Ü-w\80\9b_Íh'ô\1fe0\9fl2ÐgI\14/hM2ÙsN:Ë\16\1cžëd\7f\12¯d\7f2JzîËÈÐ\f\94û+IÇçL\1e\16`=\91ÿüÁòóaFO\ e_y¾\e\83åì\8fþôÙ\7fb\7fý\1c½Y(ýý1{\9f7Mø`ùz{\9955EMßæ5_t\94z\8f\9bW>ûæÉGÅ\11×÷^±ã\83ù\87ßóÁòæ\bàmÍ÷ÍÁòÀ¢W\a+Wïò\92Þæ\96¦ë³p5Öî)j\1cV)\1a}Ö°o×Ü\10#ï(7y\1aõô\1e½\ 5-I\80\9f½+\951Øó\8eЮ\9ea\eǯ]\bÂ7\87\bº\96­M;ׯt®ik\14ýØû\váZÁ)¬ÒT3\r\0&äe\1f¿RíÐ\17\r\12\8e\ 1{#\84¢\9d\90Äç\92©<ç\98!\bR[ØPg\ 5òL\9b \90\9bÖ+%\e\ 4M\83\97\92l@\e\97Ò\9e\11\1c/\11ðß×q§=ì´»´â¾\ 28\f\9a4ÖrD×Y¨X\réÚ)#>¨$D\1d\0¦êè1>ø&à£\94ý\9d\1a¸C\8d\16á\1c¦¬­ÿÆF1Ù°Aò5{]9ð0éhGÃ\ 1Ö!\92\9b{yeEG:\91ÜOc\r\82ë#ªÝAÎE)àÛ\95°\1a\81@^yÊq;aIk\8dÁ2\9b`\ 1#°q\93lt¬\14\88\10»õ\f9\eêp\92\f÷,        \18¢\97¨Ez·EØ«£ÎÄ\9b­ë²\ 4\14\95Äôr\9fA@ß9ÖÔ\1fÕÜ\9e\ 2䤣AÈ=ÐF\88+öè1Ç\9e\8d\11E\95¥w3¨)r\8c(ù?ê\11ÕÓ
+ãÏaíú8\ 3­\10ÁFu&\ 4hK\82\87Êq\14³¢]\0¢ \92v`\891ÚØ3\1db\9eÔ GÒPD\1dÆKà\v\87\8b\84u_\ 4\1cܰ}2\9bBN\8bq<ä\9dÙr#\8d×È©yW·$ò\9f
+HÉÎ\93¶ê°E\17À\ 4\8e\0¨ÇÜÁ\vÛVéÕïê1|pïá\12XSçk§J\96ÂM,\ f\v\b·\16\14ÃÓé \87 8z\v§\92\96ÊCѦC\8b§    \8fN\18\ 13\9a¦_\9e6\1fb¥ó\ 4¨0¶äte8*aÅ#?kæéÕàán\8aèÜ0@\97Ï7»Õ\0o`\e\ e\1c\90\1f\ 1ç\ f\94Ø\10(\7f¼1\16\16Ðoé\93À\r\aÒRzò\À¦ñ\1a(â8
+\9b\12á&\18¯N\a\8f\99ÿ\8f25]ÃE|yÓ\1e¨*¶\87GéØ=Ã\93Re\8b¹ÎK·\90¼l½#ÎG)¶<»6HäÁ8,S\8f\18,\8a9O<²b3\84õYNÀIº$7\84äiòÕ\8bÕñÿ\86HDTö\vÈOnk²K1T \94\80)¤U\8a(^¼Í b\91\16)\9f\81é\aN!à\8fÓ«\82£,\aÄN\b¸QÒ{\92\80Øfò§ªØe[\18^b-3ªuou¡N´\ 3ÿþ\90¥\16ô\81\82jy\92t\8c*uu5Í&dv(å;á\15·ø\90ó½8$²Ô<Fs±Äùm;Ð\82vk;\bO\973°Dùìç£8Ncz\86\bÑiÊ  §u\f\8a\10\84W±ÒÁ)߯\17-\8f\0C\9a\94ú2û]Jà4Gdáq4|\91Ñ^\1c>l¤ÔÖp¢\98À¤¢\8d¨Ê\95\98©Û\91\8bÉqà   
+\9e\f\96\e»ôO9\\1ev³I\ 1÷\v\84ï\ e\ 1$YÉ\ 2â!a\99Ô\84в8\ 6K\8e\12Ë\91Éû\ 5\aÛÛi\ 3ÄþÐ\8d&O\8c\12\7f²À\17\0».^\9aè\ 4\12\ 1ËÔ¥^\ 6Nf®^\92Nr\84\9càåç\813ßV\1d\11\ 3/uúòö¾N^Ìã]$ÈçÕ~&¨\ 3îãm\8bË\ 1\90eÙ¦\11UÏz\1Ø8nü¹x çÒÈå(\95Ëê¬rùãCí3«\1fQ/º_·/ª\9ft\ 4:+eê°\86&ÂÃ\9aè\87\9a#\17&ñÀ\ 51Ö}(O
+\0K^|*bá        ¾.^Ô\ 2ñ\83ÙlBÙ{Kñ\17\rJ^¼E)ÍÉ8Å3墵ú |\ 6\92Ä\8fæ\ fPBîKÔ\ 1\7f\9dIîn\80©\16Ù¬tù\82r& ~\1e5ßhÏ4\1d¯òþwà\8bX\13èõ§\1c\18i¹Ê=ëÇÔ9b0\1a©ñ¨­p)éy5ê\9b\85s\88   y7]PúÃ\1e=.á¡qQe:\80\aæ=pÀZëºË\90\13ûka»f\ 6ÁKQß1l\ f\8a\ 5\88FíÙ\19\ f\94J£Ýê\8dDO¡CÞ§=b\8c\9fÝ­\1f\ eýO(=©Ôªú?9c4ÒÓ\9e\\vµWW{\96\83u\8f¬\95fp\97 àU
+½lð´\85Áî:¢3 4|=ËH+Ïw¥§ö\ 1\9bù\1c¬àÎÈéu[\93Up\13\9eé\8dÔi$\9c\8c\14/\94{ì«\81\1a8óËàü³\81
+,_6ää\<ê¾cN÷\ e(:Æ\83¸\8dÀ/F\88\13kriv\a#Eó\17K¯&\96ðçÍ·©©,5\85\8dH[\9cî\85få43Z\93Í\°È &Û\ e\ 6e\882O_Xl1\846ºâ\90»Ë\89÷·\v¼\81<è÷Ê\8a\13d\11ݲ'ÞàQ|\8dW^/\a)ç*\15Ì\ 2L\908\8c\a\8b\1cQ\82Ï¥Í\11é§zQÊ\16JÓ©\86\97*N\f±+\91P¢érÑ _@v1yÔp\80\84ü\9eö\920²°9Bð\ 47`îY?\0¾}ìi\8fZ±Lµfµ\ 5I\97ÌBF\15<¡3\ 2\17\ 5
+ÿD.\1abFk\17Æ\90
+ýFP¹"¹\ 2«_\fZ\1c\1ce1ê\83\9f\8c÷¾e\8c\96ÎäµUfò\80RºãÊ\v.\b5\98\ 3\82¡hlõH\1c­\80ü\ 5Ä@¬\13\ 1½òà?6°&\ 1 \10\15|ô~ξ\19ö\1dÇ_\ 6øc\96'B°\ 2\82úRè­\84\b´jã\85\10Í\bsÌl;ø<»§Ô\aºMs9þW\96×Cc\ 1R
+}\1dZ¾`O£\95ôÕ     \81\83\ 6ãÔ\1e©Z¬>\1fõyø\1e\ïÎT%¤\98[Ë(ç//kܼ¼Ù\9fùmë\17Ê\f$$÷ZO¬\1aùëé\19¶ÄfÌ\12\\ 5bÕï|ZÅr\8f1)\14\84Û\16°j\91&\84æ&\e\ 3\82    ;+!<ÅIά\13\98Õ%ú²Ø\0äC¯rw\93\ 3ASUò%í¼\1fV4K\17¿x¡æM 1É\85c\12\19¯@¯\94ÈØ8>!NEüÚ!/ü\9bÓWNH)ïßÇ\1a\17+­°Ì\ 3í\86\98¢Ø¤S`ZX\1eçF\17P' #÷é[q\r\14éb\9f\14X\9b²ïqþ`\89óªDE\r§p\ 4zt\ 2\92Ç
+\97Os\9dìRN·\85\80
+ÌV\92q\92¾`ú\9a§^HJÉ·=]¿#Ë.ÝÁvë\95Û³7\1fÐ\\85+`\0ªÒ§à`\92úÐ\rÊ'³ÀÖ\0IgãéÏ\ 1a<b¬z;\1eïNxÚ\80å\92RVì\17F©ëÂO"±\9eðû§Uå\9bÝ=¢\95\97\11ؼ}±ô˱í_l|Û\88%»æ+.a\94kt/¦\fD\7f¿-\89\bÃ:0Ý\0Å.OZ\98\7f\9e!-Í@\fLÕj\-%~7\88i¼ðê\16\ 3m\84ø\80J\84AKÓU©\97ì-\98èdG\8aâÇî+íä\8cJ\93ÊZ \14ö*yñccòÀ\87\ 4\ 1\16\81Y\r·4\81»Bßï\1cý\8bú46\f^\1c¬YÞñßäbã\80\9f×µ\88áGЭ\87Îô`+¯\93¢]§z\900?`\9b¦äið~QfZ[bJROé\8f\92À\90¹±fÃ\ f\84S\ 5bÍùÚoâÍ foÖ\11a\19\ eûìfË \8e{L¬\0Ï\19õYÇÐ\80\ e\14ô\8cJXkÈ@\19ÐÕL³Ã\ f,$i»ò\93ÛÎhîYò1Ó.i.Y±lë\94¾\\80\9cGéCÆùÛ2\8d\87By\88¨\ 2ÕìfS¼|~éDí¨²ÃÏÀÒ\96HàÉ9k²òGÔûÎ\84Ä~\88IEM\rn\94½b\10\96Sg\9fu\8b\94ðVÉ0\aÍrb\97hW\9f\8f̸ü\95<IÄ\93æ\16v5Å\ f\1e\16{±                ûRtô\18   j?¾ÐTûÆðÌã«\9e\16h\1f\90\eÝ÷\1c\9bßP\13à\ f\9cu8U3)\96'c×öªE\a Ñ C¢jÿYyס5Cäèɽ\95'?\83\ e\7fÍ\ e\7f÷\ 54\80\16\ 4jw¦â}ÈC(JѤî\8a\fùv\97\ei~Ò¾\93°nþ´è\90è\17Ó\Ü\96\1e\84¤\84° ón%cu\r´ê\vÇc¤\14Ò4£5^Þ{\17\1f³0WNòöË\\83roO\18\84ÃÚøÐ\7fý!ë\ 5Í\ 1*140°6!\11WU¤=Q¢Å\9c¯\91c\19#1³é­d\83M\v\89\ 2C*;y\85      Ñúüо.w>
+\ 5;\86\ 2\19æ\95òxº3ÕÌ\9d\852$(\\8eQ·K\802\v\19ûº3ßâøÍv9¢Ì\97\944*À%&O(¢R2pöæ\93¯\8e}\8a\81Ê\ 1\ 2\aß{£}-Ê\9eâ4ý¦\19\8cñº7Þ~Çæ\8f²²¸¯\80\ f;\ e\1e\8e     ÊàDØ54%\1c~­T=ÄlÑóÂá1ÏÜ& \19ÀO\9aÇ\13\8bË\16GóV\1a;   \7fãV)ß\a\eZSCâó\8f(\87<Õ?\1c\ÿ³Ï\v\9fÁ?súrpb }\rP\89q\16¼\f\fE¬bÇlý6x\96,\90Töå\8bA\9c\16t]_\9f#F¦&×`1\17-fmä\19B\vÚß\15\ e\8bjÔNø\I\82\8cTkWið]pê@C\19G+à\96Ñ#       \8d$s\9e\96pÔ'\1a ¾´)Ïa¬\ 27vº?\18Ó%\14ßµ(­¤\ fö\õ\15(%6\17à\9c\7f\8aa\ 4\17M®vø\16{}tõ¦T.Õ^à\Ôõ2¥\94\92\16ªO7D¬^*ô J^N¤\13\e)\1e
+9>Ô¢\1c\8bÍ\10É3é\85¸fÇ8®\1cä\ 1µ©]X\90dµì´G¾¸\98*\10\8b\ 2\95\80äÐ^âWÆíª\9b!\12ø\10·rº&¿*ü0[ÍØ\83x|e;\99S(X[e'$\84\9a\12\17h!'¦Åþ\1a\87\7f\86\9d\80vÚ¡g©µª3£¶\10õ¾Yújð\85ðY\10+_Èñ·lá\86\v\8d\8a\9dÜ9Æ\1e\13
+WàYbÓö
+S\b\85\12|\10R\93ݧÅ\95\v\9cÄ"îHCÙÇ<ðx      mÝI\1c\1aê\8f _" ¯÷ÐáV\e>\1aê<CÍE\97ü\a\14¯PÞ:­ë\8f y¼\ 3«\ 1'\95ä¬\12O'à\94Õ\88\99W¶tòN\b\aCàºN\14t°S\91(qÔ¶t\97ñ(7y\10|¸ê\ e*\13Íh2\a\88D~³-y-`\1f\95\94S+,Y]ôQ\83DµM[\1e!ß%ÀidÄ&ý\ 1K\98\ 4ÖI2v\9eD\9d¦     ¸(õÉ{S¬Â\1c´êMÞe^Ô\8c´\946}'\93sÉ<\97\82\18\86ï¯í       +õ¥Æ\9cº\99CtFîúnæ\17öR¶öZ[ïÔ\91\87Y\11\1c\15P@\93×\87    N^\12t2JM\17\96\1e:{F\8f\92à"9_\1d\1c\9dà<õ|\ f\bá   ÄÐ\8f\13ì\97\1aÐÆ-Ë\f~\ eÄuç\83\ 2\ exH\ 4\86N©:\81\14\96#ê+ùë\b'ÚÞ\fÂ\96Ï;\aýdöÈÁ/\7f±N\15\87\1dÇzíåËÈÌ\ 4\ 4¾/4dôÂ|·Ì¿j\18¤\1c}!\82°Y\1a¨\10QÍ ù6\8aI>\18Ú\7fÒV\bêÖ\ 5{ÙÂ=íÏ4lß\88¯{áÌ\16\bê\ 3\ 4´S\ 4\81aL µ|@hâ\96MLÞ\14*"
+a,a\1f\f6«Ù\88 ¼N~ \82eäK\0z9çAQÕθ ø2.(8èOA\87\90Hå9æ\ 6ÎZüS\ 5~µð\ 4_Ûh\b\89'½²\11mÒ¤ð\a\8f¯Ù\ 4\1dØçe£®¢Û/'\9d\92`6\15\ 6p¶\C~BLôh¸¥óz\7f4RZûC*nCva¿\88q\84\82Ço¨º§4#\b\8ew/\ 2r*|\0\1c\91ÊçÍ@jQ¨­    =       æ¶Q§    \\16\9e|ºÓ\8d\82\91#²VÙ4\18ßSy\fq:qÝ\83\0ñ­¨K\0xJå7\84r\97\1aL\88\90B»¢A)K\aAÅ`a\e\13\9fqn«qw«3\8eó\9c¡\eIÚòA!í×ì\16\11Á¡C\88\ 2\ eëÙ®Ù\8düµÜk!R|\14\84\95.³AÖtO]Y)Äv\X\1c\9a\8d\14ÖÞ\85>s\18[5êa¯Fs"\8b\12(u\9a\aÞ\96­ØrÞ9»\ eÞècÓ\8eÐ\ 4EÍz0q²v[òóÖá*\9f«¥<b\$|õernâèFcéÏ\96\83I%C_o\9fÂ}C\80\ 5zê:\8e\15\fü±îQsÃ\12\fy\ fc>YÖÀ>eâ\88óY<0\ e¶o0ðDôêgÂ\1a\ 6}ic~\ 1\86\90FzðÝ\eÇrÑ\9d¸GQò\aqÊð\eÝø\bÑ[Ëá¤\97\8c_\r'%\fà6sÊ9>(oG$\rn!\18\99\8c\15¡'®Ke½R£\8ab+У]\11½£\0\9a<\9e¹jüBÈ\r\97\7fë¼f\b]pìûù}Åõõôpê´8\18Öò«÷\ 4\86m\85\9ef\91\87^«<\15?"LË<\84\vâæ\8b<yÒ½\16µ'\9dRçT*.VÝ\1a¯\17ݬ5Ò\a\9eTdã\1dP×.#\8e¡â+ \ 5Ð\14\93\ 5áË%{°\ e\14\91¿½×\11Ýkñ¡\9d5ç¹n½\81ðl\9dyº:\8fd]{bÞï±\9d\aë¶g\8d'03Ųwd\ eç/Q\ ewù3I\b\12ÛÂ\81\1dÐϪ\116ç»2w\10dåQô\8d.\7f\8ebgH       \9aÒÁÛ\8c\8e\92#\94JLÈë'm\93.)\18d\1frÆp \16\90jC\16  Ù(îF®l\ 6\8cLvt;Z\13ö\ 6;5\98\80áØ\13u\e[æt³\ 5
+Åm\8b\ f²Y/W/b\9cïà\1f\bWù-ñrKÊé8ÿ\85F '».\82,UÖ\82\88\rJp\80C2CÌÎ\1eqæ§C\18&%Õz_{80LYü\v\18&\10Ög\ f0t`ñ\9e£Ã±\99\1df(\88\8c\9cÁI_q\1fW\11Êt\vc!É¡\94Î\1eúT
+p\9f)\1a\1a\ 5\17׺o1\vÀ\86AbÀähª
+\1d¬#\94\v\ 5\9b\8a\ eâ7¹&ÓÌ|>õµ¡Ì\95\90R\16L`\14çs\83\0¤H¹Ï\11Q\fýbÌж^Ôê´§«\0ÂmTòFS±\9d\82\88h\ 2\1a\8fºÆ\93²·\9dÌÌ\93$$:A\98°B ¬\14\185\9e\86
+ça\98\9dÈd\b\ 5\1f\1e ¤A1\88
+¬3\ 4@\12\ eIY\93§D\ 5U[T[ëço­¶Ò\9eñ \8a¬\80\92@\ 4\0\89P_+Üp\ 4\ 2   \9fÿ~ýÿ½îB\ f\91®µ·}¿}~÷\ 3x\eÄÞ\ 6ý»¼}ào\vx{ÁÙ\06¶É$rE½Í\895Où        Þ«\98È«\15uk¦]\98\84GóiDÎÓ \ 1þÉ\ 5\8c\82Á|\80"|®çá\eÿÁâ\92\9e,x\8e·F\81ìrÐ*p\82Î'Ý~D\19Ë\b\ 2ºÙÞ-t\7fn1#^)×\85¦ºx·³Õ\ 4\87+"Y\e\12\8e/ÿ\91\ 6DA²H³\84ÓIuìÜÑú\90d»Å¾_àLV áÄ\16­v#¾ó\90g#x)T\ 5\88Ô®Ä}/8X\8f\výX\8d\12צe\8e\f(ãÂó\90f~rb¿æË¡*yå\ f9\0\90É\95k\9c\91apõ7Í<Àúd\ fgÿ\ 5¢\vµÄ×k\98³µÊ\92k\88ø\1dÄ\86\93æ\9e_ñl\ e³þ1
+Vø\19 È®<ss\10\1d\13\b:ú%zº\8f\17"\13Cb
+\80Çów\ 5.=ÊEVÞ)\vÀ\9c°ù\1f\84{\9a\ 5I\âqCµ÷M;\85\95{\9a¾\ 6\82¯\8f \85}4Á©¶³à\1auݸ~\8d:öÞ\ 3mjUä?»ð\12´i JÑâ\12\rðÕ¹¾\e\ 2\1ca|Õè\ 4\11\ë3Ñé\10,\92\8cêh\b-sÆ\96:Àïi\f2(n{Í\b\ 5.\1d³\rVÃC\94%"áiÐ\1c\0
+\9c\vGÐÐv¤\96ðqÛuÃ1ø¢\19\8fÃð\0{
+¨4_z2«¥©Ó®\93\82\11\12
+{JØ@éqæ\85x\1dhF¿M\ eÀ¡\8aBI{ÀNDó5\80^\ 6=\91º4\8d\9f\1eåR\91&\8cyT\16\84ü&\9d\97ÁfÒ¹üý¼·7Ûõ¥íïëû\7f\7fÌ<\14¦7\81í/\17>Óz\18ç\1f\99Íö\83iÏ»\ ePK;þfè\12\91á¯\97ÿ,Â;pèò÷£@¿hpµ\927ez\ 5sâFÓºÇ\ 3¿\84\0o\13Håú\9b\17ª'1\ 1\1fÙ±Rð\ 5Ò\80\8fjÈþ;2\1eÓ\88RW7o;ÿ>Þýôöä\18\88\85+W\fæ\86@\ f\95DSu8øF¶;«uPh®)¨¬¦:\8d<ÞX\94\9aí\17\97'X\1da\9c\9dr\ eÇZ­Ì¢\82_Ü<\r\vuW\9b\1fCW\9b\15ïC\9b\98\v±\ 4\b³¹0t¨³¹Au\1c.ðîÌ\9dWå>РúGßúýå~ßö÷\v\88hd\98S\1e\80bô:\9eRÞÈQüg\1e\87\9fâ\1eíhû©²\8aÕ\e\17\1eO\88\13íR74W¶Õíåè\9eÍÑC\96K\95d\95\9a¯\88>FÇMí\1a(\vbéOj\86\17¯ð»\11Q92¶[J\16á\ve½M,\918?\1a9Y~ ùYx\12ȸväRï,*ì4¼¢\r1\96\u\7f+^Ë­ç\86B¤®W®`·â¬ï\84tÛu\añ EY$\ 3ÔðSb\96­ \87\11eB\9c.\f\86}l\ 2â\11ç@C¥OÞülÐ\1f\vjPk\81ìq=ÞûµT\13û-¾¤'Îê×\95\19{\15\8bH\81ÕYpÒ_G6\ 5i%"&å£J6ÈÖ\8e\86ÓQ×è\1fUHäÐe8\8b»Hä2AÖ);\85Ü|=øì\84tÀ7\197MOC°GYùEgc\92ÊZÀL'ÌÞ\b7?ô\10>\90\r©_¤\97Ìó\89ÄØ5Õ´â\HMq1IáftRÀ³\ 3\ 4\ 6Úv\85\99ÂæÌÆ:\90c\12f1À11\89È`0$_ÿ\12\r?j\124\96ÌÊC\92,\86ÊÊ\8d\97\8cà\90àM°\14$\85\92Î\1c5\1e\8a¸\82ÖB\v¦l\15\9f@Rgö
+\a\94ç\12\91¥
+^ö½\82c\91\92ÅïÞGÎ\9bÚé<¦^wX\ f\9a
+ïb\5\85To\96ÐÓÔ¹45úükF\8aâ;CCEÇø Ñ\87\aª»0æù\90\85\8cÐ¥ý\18r¢D±-\85Ô\ eT\8a\ 4åÝÂ\10åî\83k\e\v\91Ú\7fw\ em\97\80Mg4\ 5cÞYáÝÍÃü\86á¬üÞ\86;­Ks1\8f?\18\11g\18·-\96
+)«Ã\820\f\15«Î'D\9a\97 \14ÞTã\80»ëX\16ÝAÛ\10o+2ø"Ø´*a°Af~x\8d\87\en³ÊÍz/¾e¿9\17\84ýРy\1c9]ÖcÊ@lê\95\ 5\95á²]\88\9dí\19±88£òJXº\83®AuA\16æH\1a\90£,Ú\14ø}8\84      Û\1c¯Ø\1ct\1aÖ/pÁ\91¤\ 6ý\1f\19åm\94)¤¢á¨
+\81Â\98\8a#¦ÄÙù\1fjlMO\91%\83wc¢\8a  3h\v\ 5þG.ÄÚ~È\86\1e¿tâ\9a¤ºÉ\80ºÁ½9',¹ \87s\91\93¯\1cM9\9b\ 2Üÿ^y¯3÷p1Î\98D¹Ð\91\ 2ä§²´ÀH±è]þ¢\vóî.\98ÿ\96V\1fíøè\7f\¬?öu\7fVV\1fýþ:\1fvV\1fßøè\7fÛ+\ f`1w­ØBìCi\86âÂA·\91ïáÀ}\0.\ 5öHo¤QZBëÃE1øìP\9e-(\0\12!Za\17°æD\8cÜhÞ\aî¶Ê\1d\87Se$5ÈÔ q\88]|\97\9d\9c SíÚ÷ð\14àb\15\80ѪHØ\86\ 1O\89m/T{
+·3\bfìKn'+\83½Á\8b\82\94\12\1ah\ 3ä>x.\9fþ0V\82\98\9e\1c1Ûrzé®ýÌÏB!òLýÅ*³\7fx\ 5}PÃ"z\9f\18\1d¡¿_s\9c\9b]qð\a,\9bgÈØì\9f»ö3]1¿\1açêk ½£\98J\120R\91d;|YÞ·2\8c\7f\88ßë4\82÷\8e\ 3Y,\17ÑeÙÉV×\14\86Sdq\80Rô)m¼v\87#¶4l\15n\ 3\1c\b/b·Æ§óÊ\8dr{ð×&\0Û\rÌ\1aH­ñ\ 1\EITä\15uËj­ø\f\96þ(Ð\8d\97­\15\ 5{Úð\1966\v¨.=q¢!å\}ï\15\85¬f\9d~°{\ fÏ^2ý-y\11´þSê\1c`\18\ e¦(\19\88xe\va\94\aÊÄâTi\ 2Å\83æ\95\8f[\1e\ 4½þ \fè\7f\10=¿±L§Èû©\90Î\ 4\90ÁMX)x\16W\92CB\13Årü\17û~\b\89ÄÛ!ÙÞñ:ê@C=Ü\82\89phâ33\98R¦ü|*\ 1\9a§\88e7\17*"\aµSáNA \ 2z9ê1¡¥ +\98\95\94[\9d£$Fä>\8f\e\8a¥\92×r\17\1f¡Ñ\82\9c\9c^\fº\rYòÎósøt'¡Eò\95U\9b
+òîÖ÷è\8b¸\fÖïaá±\14\99\1a÷îø9\99\9fD\11&Æ¢\0áZÅ\819Ao\92\86H\9d\18¦íjÑÛ"o[J\1c\90Wx¶\83©.\84:âÊ0SW6Þ\ 2\8b\93Ý\86âsRw\1a\1eÖ%«Uºê)-\J¦y\1e\1dB\fõËNÑ3åMÜsáÜ6·['BËn%:EÛ¾¬\91\v¥FÆùÜÇ\vHW\aLÍL] Iï¦\14}´6Q\94_Gò   -\87´ZÀ6Ö¨Q\1a]îöZɵÄI£=\9e"¸ïyÓW\80\98Æü¦\aÓ |ðµWXO\0ï\86PÊezÐÐ|®\90;1®B5¼b\99\v\e¦¹J\ 2O¨ë\86\ 6
+[ò\93\96\e\87êzÀ;-¸Ài\99_5³ü7HfpCGpÑñ¦\ 2K\8e\ 3\19\98ñ lMr>´\17\95*¦d\¡\ 3`\111\vtJL\9b\1f\10â
+¥¾®\94eãéÀ\90«ÊhPa\15ÖÑ\88Ï\83¥Û\9f=Lt\16|áEtë¿Ò\94\89ÇÁ\ 4ÿúRJ´¦Ê1
\8e;-,\95$´ãÖ\92\95ËY;\8c\82è}iæí\132)\1e )\19t7\1e¥X®À[\95nÁncYÐ\ 5  ³:§~Ý\e\eèA¦(ÙH\r\ 6\ f\9dm\8fT\v¹»YìÙ\18\8d.|\84Û\=\9fø^¶ø\16Õõ\f¯0Ý\91\9d«JN×\r\8a[\85@Tøü^ ¸Ñ_N\1a\12^\bTbÜ\ f*\98\ 4\150Ä*F\11`\8cÔÎm\15ö\fI?ðîr\1dAÝ%ñ§Ó\9d¦\ eç
+<ªj!îwEܤ¦Íj\ e 7\0÷¬$ Cç\85\96¡ß4\88\1f\12\9fã>Á ö.U0\18+±Ã¤\14\8eïqÇð\99um|{àUÿ\93Áqí\ fó×c1ĺÄãÁÜy\83|\e\ 1þX\8b\ 3I5«\fIlÞ\19òµ8\ 4Ôø\86l¡À®\19\10¬ðZ\ 1ô«f\0\9eH\11'dJ\v¹8|`\bµC];oÃ\84ö\fLûA\94¿: q\vk#¸ÝÖ\1e.V i+Òv\aZþ      Óc\0\8evnµ9\16°b§@\ 3\16\a¤f)Êѯ1x"Öd?vÀrÃ÷k­¬v+ï\94q®Ñ\84&VFÇÚKÒnºy¤µ\12\a@8\9eå\8d§Ñ\94x°dM|±ÇðOÇ ¹ëèd)²W$iO¾yý\925\81ocÐÆÊ\ 6\95f¬©\1fÞØD\95ÐÔcZ\18Û9\90ýøcûí²¦nº\r\fdyÃ}öÚ\18ÕݰrÂò\8eïe
+a8½m\99½hîB\ fBø#÷Ùñ\ð·ØtBÃé\84YÔ SïÏ`Ó"\ 6\94Î\9e\14\91\ 2a*\125Z\7fr«¹I"̵q\aF[\ 2î0\98ØQoÿ\80=6ܹtº2×þç\1fè\9cxÆÿ£bêû£b×Ml8\853ëÄ\ 5\1d°Í/\ f\12\0\f\8e\r\19ư©\ e'çJ¬Ø(\ 3ìU\vugUñª¼3+Þç°µÏp¹³F\118\92\eU|b#w%è\15¸%×ïÏ Â\86^\89T\ 6Åâ\16JzÅÔ*8VJ?kW\1eR¥°©ãÍ\9bøª¥°\99#\85õj±R©\ fN\ f\82¸\83\15\9d1ç0xD©}CÂy_ò$8­JXO]\1aÝP;\87y\81\15þ\9f.¨´ï_í\18置ꥬ\ 1ÍúpcëzoFÆÏÜ\8f­qóè\82\v{\ 1°\11\90\19Z\1fßÑ3f=q\87Ñ\ fMÄÑ\r\ e\ f;?&^%\bDÉ2\99â\872+\8eHöî\1d\ fTëðçDZÓè\86\9ea½ç®\1e&/O´/¯\aDÂAsç>$©­WJçYu\rº\83á2Ñ\18ÍS\1e\15\90õ:e7Ô\88ØV_\ 6{ZH¯r4ôÍ¿{ø\97\rª\96ôGsT½\8b\98\9eìB\9cÍoLY\91ê\96ëg\rú{]Ö&¤Ë\93{çµÝÔ±ºnê]8¸¤\røïf\fâßÛ¢\18\1foÔ:N±q³8Æ-áÆ)ÀÛ{ñ\7fI\bº½7Lt\9aÔÊ{éz¥º
+\16\82ö\8f\ 2\8dfY\ 21\rU\9b\v Â
+\1eÀNPj7¬+
+Aé³.aâ¦,×\12·»Ô\ eà4˨,/Ò7Ó÷zñRc\ 5\17¤#(\82WvD\96äàÅ\99ëMÓ>9zv\ 4\158\7f«ö\83\ fà\91\13¿7üÒb¸îE¬®+Ì[\ 6zD4\ 3h .#M(ã\19^\83Jl¾õ\10A\14$\1fb°/ni\94µ_3Yc¨ÀÉê-\8fÔK±Ô/\9dÌ%èàï%n\80Õ\8eâéµ3f9       w\97²7w\ 2p-UÛè«ÅÅ\7f@þ'¬Û\10«yàô)Z=½ÌL\v¶@@\84\91\83;F        Ê5¾IO}æE\19ô\12Â|ÀWð¸ð¢¯2Q¿\9e\ 4Ve{\8fß\82¹l=Ý*ýÑð\17²d\8fU\7fv\148oUJ\\85ù5\1e        \fÍl#\vUªMv éà¯\15\e\0\80¤\18¸£@ÅÕþ¼^\97õÅ\b¤lR\91\8c\ 4C7\88¬Ù\13\9c6\92ÂÁ5uO0\93C¹µMû5Ã\16ý´Q\87Æ\879&-ä,-Ò\e\9bîêF;ê~¥Í\8dØÏ\ 6:~TQï\14\8bôÇOd"Ùó\8cåqèzZÿ\eV{Älxã\85`\8eÚ\7fZ\aJÆ2B
+\1e\7f\10áÍ®¾ôT\1a\92b\8bÕÅú*\v\93§!g'\f\f\ 6Ô­ãýöRê½þ¨\ 4þ\7f\ 5\99\18CÔØt\82\92+{\.\93³®_Ð\9bÞ3é\17C.\1eh\9d °ûîÒD\92\83W®êÎ\16XÅpYÁÂà8\ 5!Þì\90/?\rÁ)&É\bí\8cöuWMûÓJ[\87øË\10\8df\8fÒºU\7fï\[è¶[sñ\8eðˬÒ2%z\ 3\ 4\83tyéì||,\ 1UÜ8Ö³ø\96\\95¸½!\12Ú\95¶PºP\13r¬p7=ÈIQäôÄIÿcÂÀ»\ fÕ\8f27\ 3\ 5´x\12\802\93º±º×mV·\eÂ{¯îÍ/L$J%Ûb\×\8dǮҨóEC˾á°ÓxЩÎ1ùM\8b@\86\91ÔÐn\96éGÓNýò»       \10\9c\17¨âC_Ô\a¥+\ f±\v_æõ²tGÅO,\9e«*db\82¬éî\7f41¶\16õ;Õ¾\ e\15ÈÉtÃÄyå$òÑ:C\89²,\1að  ­\9d\16?Äÿª­4ÔÚsUk-å\91\15õß"qj/×\1d<\1f\1d¯ù \ eú\9bHqC\ 3/­^­?\e{%\17\1dÈú\ eZ\92o³ì\88SKVg·Î\9a2\8dÈÎ3¿\87îÜæÀ|úé¿?á\bcÁ@\1cÏxâ»(%l¾\87\ 3cÊ=Ý\8f\ 1$\967ôë\19µ\÷\9dõÕV©óÚª\9d_\85\95\8aÉÅfrÿ y©¢þeÈqâÌ¡Z\83K\91¬¯é-ÛÎg(ü«SôlhW.ô\1f\84õ\18âÏ\13Êÿ`ó½q\18±\14\9dèÌÆVîG\95\8a!6ßr½r}¥®\1f\ 62P\91^'l·Î#PfÐ\88ÄiØÑ\rÜîÇ\95\8a¢!®\95~æ×þ%ùx\92Þ`.Q\85®8        ë\80\17%\82_ñANëk
+åux*A"ñÛ5ß.©\12\1cK«®\a\97
+åpµt\93OÎép·,aL\15}!\f\8e¾\15Òá\ eúhU*\97´ªPÓ7â\97_#¼[ðôc\14K´#×\8e\ 4\15]ÏH|rÐ(U¿\9e"\85\18\88A5\0\8c¥Q×­à.¾«\18y\90\85Ñ\82ÎimÖø\84a\19qãø\ 5E¼)#\8e\f²¹?¯T\81ôú[\ e0
+Ö .¿\17%à3eå\a\15ïj®Wá^Q±Ú¦ïy
+nNj¢º³ÏLJ*\936\89óø³6\8f/¢)/Óa¢HЮ¿w\18\9f0Á­úêé®J\v¾¡\90\926<Cèa=f\84haü¦\86ßKT\80á\f\91\99,]ß)ð¾Sã(\8a$§¸»Ù\8aw'ªk\99ºj?³ßÎ\ 6\12PÿCdÐø9Å=\12^\8fá«\1a
+d/FCGV¨RF£¬\9e\v\82ì)\89\1aí\rÆ9¨\ e8\11ÿÁê\9eòA\83ë\ 6ñ­~¦Õû¿g5\89MWÒ\89z\1c\99\v¤\80\82õÛÎD)×´u\1c\98w\90Óë\93/hê[Ã\957¡îîð¹È/b§È\1cýºÉðmôk¼{dòû\aÏÔ\90nN\17\ 2$\96q\vúkÚU¹\9b\91\97ëº[ÔPð\92¯·FÇÚz®U\ 4l~H&\9bú\b×*©²\82ïs\9ao\ 5)ÿl4'\1d[\17\96y\9cOys|\19×çÂ~§(1 8\19±BÑ\\8c\89>#$åU\0hu]\8bÌ'Ñ\v \133µènrÂÝ\ 2û¤lvB9O\80ÿ_\ 4Ü\83øÑxF-ßfã\85·n\ 3¿_5HýM·«Ê\90¾óPvÖ\17;\ 6\8eªn\1cÈo[è/\9b~è.õЦ ÅÂ\ 1\95«\13Zùû½\81\9cçp\ es\ 1\1aH¸$ ;ß#¢\ 4\83ä8cx=\ 1hfa2\86\97\14ù©|ñÕ|)¸{]ÚÏ?7æ\96Yåvb{\10\18»¬\0ÞãØ\90ÿS¬\e¹­{VíÕXñ¤@Z"õ§ûêÄ¥ï\9fÕz\ 4\1a\7fµóª\87\85WEιµug\90þ\97Ë\7f×ß\8cÉ\1e</®ùn\8d\86\8az\8c\96¢J
+\ f^#Äl5é»ù\91¦³¯¥\94y\84õϸ«ueY\1cù\v^k»|iP\92Âl3U\15|vð©*øî!QUñìáãô9Æ¡\9dd£[þ\82ü\14\92©\ 5\ f È5\ 6\91Å\ eâ\ fGg\ 5Ý\98n\1c\8d\84|rJ[G§\ fËØ4yiTkA\ 2\8aÔ|\82\1d²èýÀÈY\ 6äo\1ezLÿ*\8b    ²\87vFÆ\96Unx2\17¹¡¸y£c\8c\95\v¸Cs\931®÷л@\12åá\95´¯\ 3Ç* \ eõü´9\89&¥<àèw\83ß\8aè\v\f\r[õlÄ^r3\89ç£÷g\9fe,k\8c^}\9aT\ 3¸7\ 4Ï\ 3ÐúÀýgE\ eãTn\8cÏU\ eó¡Í\8b\89Ã\96ã<»!        ³:C½G\1aSôs\95y¹K>_S+xc©7OÛýÝ;\96z\7f¥\10Ý\ 1/\b\8d\ 1_5¨\vÒ*ãè£ä"g[´\85\90¡\90iîq
+f[\91³T5 i\94õ\86\87\19Q®Ç4«4Ð-¾î{\95\0\82|\80Ûà\rÒ\ 5«N&¸Ü
+Û(z~^æ?b\8f\19P£½g\99\91cßî.P\15\92ÄÜY¸klÃ\ 3\8cè\a\18G¯¤mYd#\ f\99ìÖñ5³\8bMÈ,
+Ø(gé;\83Ø\bÃSqZô%báõ¤äMüįt;ÓK6ò¾<N=ç\97\92\ry(2*úìó\ 1O\&¡\ 1N¬uvàjdÂÝ¥i©Å4´8BÝ\89\113\93\17\92\1e\vÒW½\95Sh·
\13     P#Z\90ö´ã\8b,@S»\rÐÜýW¼ëdâoù!T÷»FÂ\8a\ 2µ-ß©¹wq\9açÓSj ç\9et\88ë;Z     ¹¬Ëd\9aüoçö°ã\ 4cÅr`Ã\89Y½yd².6¹Ä\a@c\ 3"öÅï=sx\8c\10Ü\v-R\ 2ÉîÍ»öÛDu\9d¡¼h§D©|Ûá7ºjf\17º¦\9fµ\ 1\93\9c°¼àº\93\84\85yÌâ\ 2Úêdi    F\97\10ÞL7]BJc\9a?\89¯7\91Ý#¬ÉÍÍUdT¥Á©\96\9cM\,¼ühýjj\7fmù7{\9eô  \ 4wÙÄ\ fh\95Sj½¸\1f\o\15\9e\b\0`3\8b¡Ö\80¦Jüþ~;ö×        »\8f\ fÔ\8f.\9f¨¸ÆÁM?ðÃT1\9d;O¡\8a·_R^¯å\9fýÐ\ 2­Z\85Ç¡P*¼\ 6ÓKó.°\13\82E¯Z5\9eó\1a*ù<\ 2Ô´?U×\93f{kÕø\17ÞT>4GM\13WOÀcN£½B\98~"÷\14ä\a{j¯\8e\ 1V(bYA\1a\\18¨\188\13Ü\ 5\82\9aÝ*3OõÖâ\95\98Æa\94o²7÷\93\ f¨Ã(÷dÝ*6\90ïáùrn#x|ú´\92'\90Ãa\1eì¦aÝÍû\f$\88\ 1¡âu¯Â\80ÔND¶fõ\1fó&nj{u«\9f4\1eÊ\87a](þ,Üð\10Ö\1fÌ|\ 28­Aþ¢\828xÒ+
+¢[Ê÷ .\91ö,\1aX/\16¾õ#\80è;³ÏuÉÑ\9a/y®°§õËï_\0\9fxõG®Ú½wIo\ eiJNM\e×r\90ܨÔßrð¬\vD N&ìݵV÷©²úP3Þ>ÍáÇN(Ëc>FÆÞ\ 1
+ñ ÷ó\8b\932èµ;è\91¿·éOy£SÞA\9fÐc\ fÖ'\13\94ä\rGwL\16R`\9a\ fJ{ Ø\9d\14ë:\12\8a\1eg¹ïPi¬Da@\93À»a\85ár\9f\ 1C½«ÏÑ´\85Õ\9bå\brÕ~\9fÂ;©ç¥\ròu_®\80\ 2ý\ eÞ2U{ô\ 4V<{]X;¸\ e¸Î[\1a#I(ðqë{´\a±\19\91b\9c
+`34IV.%\ 1¹Íèç!M\15\1fã9fÆ«ã\8c±ðE\84Äg»A\8cD\13Ø~¹\CÁ\f\11ôÅ\9e\83\a¯&\ f_\0\f]ÿh\85!\83=-3olÐ\83lIí\80trFÃnõY\8at\83\7f÷»³ïô\0åèø1\1a2Qi¥è[\f\8cºÑ\1f¤Ï¿ -\11cU\8fl\ f~\büC~â\99Àf\98Á\1a\14~òä£\18¨=S\a\1eø\9cÖβÙ\80òÇ4t¯þá\16^\82p9¹Ìô\91¼\11Gy3¼\86(®?9v]`\9c}/Ã\ 3Ü[\8a"Ç'X\15¿á¯t¸º^®\15mJ\aù
+/ã»ä?\9c\1dè\a·ù)\94
+f\8bÁÛRÔò$\7f\88\vű(î ³æ\ 6'(\18?ÚÞ°\8fO³3¢\83\b'\ 1\9e\80°\ðHÌû¶\183\84\17^£cÅ\17\9d¡á*\9fÐ$ã§$UÞûpAé\83\ 1¥\83GvF³T2H     \0)\89ä\90\ 6D\18?\15^vîØµvE^u\19\84kG\1d¡\89!Ê1\ 6åg"²z ô\88ê ñà\ 1W\1f쯿\92\r>2×\13$ºJ ø\119ðS\95¶W¶M99\9cd$\ eùïBÈ·\0µ¶¨>dà\94-N¼¼°>f¼\9f3\1f¾\91 jx*\93`¹QD×>~ï\86gÔ#Nâe¼!}MÈ\94\ 6n²yf_S ß\rj¸ù\96\16¸\99¦U9N/]\18\r\17ê\1dÇ¡á\8an"eËd#\86ía\ 34\b\1câA9Áõf)\9cô7\92\98°qt/ÖË¡]®        Ð¼cº\10]f\8cçÕ\8c¹ö\9bþ\8e}éL}\8e}¢çä¹÷9\99û\ûy\96\8f·\92çׯnD\823\86î\ï¦';¶ª\17;òK·é;v\ïÝÞ\84D:à½\7fÕ.çßTD(?¤D6l`\8cj8íª\99¾ôá²\9c´J¨×\7f\95Î\8eè©gI\9b\96Kª):ÙÁ\ 5Ï\90\esµLÒ\ 2\97\83t\8a\9a     \9aÏ\ f¼@ù
+²®±5$ÕÓS\1e\19\0\92Ò\9bÐßÏ\96"\94µq×µs\96\90n<\87\92_SÇ-(e\9b\rìõR=0B·»Zis\ej\9f\f\85ç1\93G\15Û\f¶Çµ¼\1d7<\88]@YCgA\7fø2W|0]¾\8d'Ì7\97ÛF2.ú\1eñ\9a\85Læà\1c̳.ëH3ö+ÙÕý\125¨vKpÑ\º\7f+%´\ 6Q*\92eyÑFR\88\1d\ 5\88\13öºbøi©D\a¹Õ´î\89\1aY¸>#¢ë\15ȶå-à\9fø\ 3Ãþ¹o\98m\82rº»&ÇÓ&n÷y\9epyÛ¥¼±ÒH9\ eT\b¹ UMø;¶WÆJ\92M,\87ÚeSï(w\bØ$\17zH\19K ßÃ\10.ÖBw¸lR\r\ f_.@<¤ù\11ê\r¶Ç.ke\0¹­\84áûkhá\8b´,µÝ\83\f«8\99¥\85°Ä\ 5×kqÝ\r\93\8cRçF7\rªwhÃa\1e×®¨\83|\94Oy\9fH9\11eZ5i¶YåwtÔ     \17»5\9c×aÛW¶M·Ð\7fq\9d!ýÏ\fÅá_\fW\97-äx·)\1a­9`@\eÔl)[½\rþ¢hW^ûf\8d#tC¿o\ 3\84\1a\82\96ü\1c$yK\8f}t@_\8b@R\95ËÕ\a\9cG0XBÊ?ÐÁ-@~_Z\1d×îú>\91á\8eüô\0zñ .Ò\89¿Ð%\11d\b¯\ 6H\ e\ 6.\81\16Í ÖÄ;î1c7ú\90ýüDº?à\13O\1f\12ÝgÜá\19\84\86çø\ 6çÇÎ\85\9a\9d~f\ 1\9ef89\9d\99¹\9b\97fy\98\0æ$ngª¿3\87yc\99Å\82\15î\81Tx~;\80PοKl],á¹\9fª\b±\7f2 CÜ\fWxà6\8fίÕþ6|\8fx\1e#p\a\86úüÍ\ 3<Ç¡ÌÕ\eñÔA\ 6ë\89\a\1fÊè¹?PÐ`\ eÎôÏ\17\ 5-\r¾Ù(s)Y¬\18>\8eª     \ eæ®´FüFÆòEîêó\8e\ 1v\84×l7ó¾@z\ 4_[Uç\0
+Hqì\ f¯qé\13HòË\99e\1as\922VÒÊ\eà_GÞ\ f Ô|\81 \ 6h\ 3Ò\0¸oó\a\140E8
+\8fþd\1e³Û¸\10\r\9a\95ÂðHD8¶\97\ 1Ý\86\15\88h/K\9b\95\8c\967ÇàrÏ¥\ 5bÏG
+\87U×ð\82\15uÁeF\8eás^°!\ 6n\9dÏ-\8bÝ\98\84.Vàð\85< Á·Æ§¸b\10|ÉJêó\93È\14¥\82KYÂqEø'¡¸õ%
+\r<\98 K{\89\84ÕÅÍN\99\94=\9f\ f\82CqG\1f\90GRã¿ßUï\ 5\9f|¸ßÄs^Úr\18nö4\97pn÷`nàà4 à4\8en[¿\88Ãwñ¹\f7u]\ 4\19ãV    \974êÌ?y¾EÉ\9f~\1e\1ah·¶[ãHÛÕ\84V!`\87ç¢\1f\99Áù»\8cX\eê3qùÝF6=çQM\1eï¨ÅG\97Ô>\8f)¨ÄÇk¨z\ fª\1a\92êòoMíA\1cׯÉi\90Í\ 4\82\v\9a\82àÛ-pi¨«Àf@ÙVYC»\9b\93¦\a-\ 2+\z|òýϱÇ\ 1­§\15y­ØBêÃ|2`\ 3ã\9f\89Ç\ 2\87\f\fþ\a
+ëøEl?\17Ã~'\83ð\1e\11\15á\93ÊÊ\9eÁÄÆ\ 4o\9e\e\ 6\88\1d/\ 2ùMhµ¼\18\7f\98S\80ë éuÂé`f&Ò\83\1aé +K8n3ðe\94\9b4Pg\ f\ 2Û°qz&\f\1c³ñ|Pv¹\8e8Ã|?ú¬\99¿ü\9bv?ãÏàÛ\8c\e\91l'?e\v\14\1f  \aÅ\b|_Ãã\9ezì£ÕÂ7\83\8f\837âØ\e\14øYYÃñÑ\eð\12#ǽ\eñZ.\foÇj.\f\16\90r\8d\ 6\b=\86vÜ¥\93UÒ¡þÌ   \ 1HëÅ\ 67Qo÷\1a\ 2\ 3À]x¦\17^ú^Ü\15&SÎ\1eÊkÂ\11\9e\8b^|\ 6\16Å\7f°Ò\14Ø*[×¢K#!ËÕè\10\90D\1c au´}?\94n\8c\0\18-}&\12\ e^\92½íù
+,:\10¹Ã\8d¯ö{öô´y\8bó\98HÇß    \12\15\91öÜ\81£\9e\ 5ëß`\14\84\13Ø\b\92+\ 4s\96bh\vY¼©ËÖ\ 5´\7f9À34Ôöd{\ 6\93dl0íR³÷\9c¿Êl\86n^<b+í\9cfªY\9f\8cWÝÀ\1cSé£X
+kD~Ó\13\ 5pèù\18\ 2(ÂCØ1pI\9c³4-M²ð\90+¾¡ÜS)±{E4h¡#`ÞZ\ e\1a+tà;ØÂ\96\7f"Íõ\14Ü´5 áâͧ÷\10ÌûÏ@\8e½A+Û72\83`ËÚvÀ\8fç\eÕ¤[ãìH\86£Ü»\1fPïBÜ¢ö\8aú\1aðÛk_\8bA,'±
+r½
+é¨)D³k\\92       #c°M¶Õí\15ê\1eþ\0\1eÝ[\90\92K\18N\ 5\99í\8fa\ 6û\ f\19\ f²\ 3e¨)\86Þ¿À\ 2\1cYO\94ÐqÛäNðT;ÝaXÄ£­Õ\ e\18\82êÓ±>\v@·î\1c\b'\9e\ 2\r\8foñ@Sw
+v\91\e\19\8eÀ\vsCH?*\1aCØ/³6UK\ 6¹AX\b\10¡¡w®Í_M\0j©dl^öm`ÅoÙ\8dºÃ\\16ë  \16Á{<à'\12W\94ü\86 ÂcßQÚ/\91aQX\94\W\834ùÆ\ff06\9cBÝï\ 4*%q )î\8d ûnýN9í\v5¼`4$¦x\81\19\fº64Ý\ 26/¯\96|\ 6í­\93Êl!\ e!©N <\92ß0/9ȧ\13\955\99w\ 5\1d\82d¿·n²6;a\8f¼\19û`9\aìø\12Éöû\87A\97\89ªÞl)±«\ 1\aB8iǽ\9bÖ{Ù3éø#;\ f\96\ eÓî_\b\9e#\\89¬Ï\1cÏü9\bn'S\91Á\12\92·\9e\91Í\eÚ\99ì9cUGÀ4ð¦jr¤\82ü\16P8ÊeF­½\12öï(øé+>û      \11sõÂ~Ù`äõæ ù}uÊEþù\ 5Ày
+ÝÀaß`W*&åD\9b\95\8bu\7fðM»\83\8f\82c-ÐÂ\87\99ÁÉ YÈgþ9xï§3¹`Õ\98y«¾ÖÇÅ\99â~~\ 1¡µgñ74N³RÂ\0ÌÐ\ 6ú±\ 4HÞEÈÙæ\eè³\1dÁ\e\10Ê{xË\ 6¥\a-J¼\ 3Â:õ"uç-\1fµ\r\18?"Æ·?å»\f52½¢ã\97\ eRX°Ükܱø!R\16ï,D\9cúÓB¥\8ev_µA~eºÃ©\1eÈ«¡fÞ"r\92éÔ±P3Õ9&\80»<&\90¾\14y\8e\90#ÚYÚ\aÈX±\9f\9f\94\93l@òr\8bÕ\99,PÏÍ\93\97´\9e÷O«\f\e\1fh\0HïìJ½àeÑüBR\ 1\\19\85'f\1e\bF\9dÕR\94 Öñ\82­\7fº¨\eNxäö.= ®PÅïý\95ðâ\a\91\88\12\96\14½éFÁ!ðx'²Ò\ 3\81¥{\196þ\ ×Ý}\94úl´î·y5íÔ¢<z?-õó\84\16¬ãÑÉ\8d\87\12ø,\86ft¾¥\aÅÌÊå\aÖÞ>ø²ß\93&V     [W\1eÁ¿=\85>\1a\90\93ÊZJ\81+±ì\174/\9d\91qH@QÖO(6W\8dVLlØB7k\ e       |6l§Ù98XÏô_n)æ\87\10W\8egcË\e²\8b\f\9bÖò{EìÅkà\81"{©\e×\r\910ÐGçÚI4û1ÿIø{øp\9eØ_\9b´)r\8aŧÿÁ¥\9c/qy\99vvH\1e\17XÔcPhµÙÍÖ2\8e£\8e\84íKÿ\19èÿ¹P\87õÏGäÚ     ÿeC2H\88\ 3>^ÝåÏ·xr×\f,'Z
+\84\ e|^®\83\18S.ý£È\9b\8cWÛçå>Ï?}þ¾\7fÿ£S\1fþ\88õ²{~ß$»Û¯\86Sb±W8<\9d\15Í\96\ eI\1e\8eè\8cÆó2?\94äzfI\92=3ý\88ô¹pAì\ 3U¼wá0¯ð[ªd\8fQé¹\84z\8c»$z\8dèÐ#ô{1\959r=`ôC\7f\91HPÍO²Â\9a÷\97XSX\11\8d\9fâÁ\ 5g   $l\1e\e¤öWé0ä\84wkh\86\82Ñ$$Z$Õ¸\91êªl\96½\96Wy\82ìîpK¾l*ù·\8a·ÀVÍ\ 1è\96ýM|\17´}0\ fv¶AkȤ\87ÆM\ÃF©«LåmÇ$   \ 5\9f\980ßwzøZ\ 5i\9bÚ4ohñ\ 6á±\81\rý\ 6ÿg\19É\99mrm\93U6áeÿì\90gB\8eä\e\ 2\1dà¥þ\9a\9c\81l¤´§µÝ»jg~ø\1ceÛ1*¶Î\8dÑáeiø¾É\ 2ª¡Ä\19=\99Ô¥\96\9fY.·s\9c\87ò \14%Eù\81fü~ýlhùý¨\1c2i\81)À¦â\95Y\80\1d\90VÀ°[\ 3\81¿¼\18X\81TAþ\90Åö\81óm)\10\16\97O¢i¿ò!v\80ØÉ\8c/4¹¤úI\12u\1cdö`\91.NG\9a\ e\8dü\89\12þiéÞi{áÌ\843\9b\86jxh\90U&¥\1aZ\8d\ 4y³A!·2
+\zùSáx~èvS!l\8e\9f\94\13y~+Zü\92\16\98t$\0òè\a\9fÝvHÍ\9bwWq"\1c i½\bü÷7ÇíS\8bw\7fÍm\1aÓà]fô\90\b\87Gq\18!r\8bÓH
+ã«Ä Ò\98­[¡'~K \81˪ÒÏ\ 6ô\9dÚ\v\9f7ÿï\9b?\85\85c[\1eTG\12ÃCB\8ehIgßãÇMW­\1a\87.<Ì\17maÞ\bq`ÖµFÅ\b5¶Pã£boÑIæ^ì\ f\12Û3D\8eXÎU\12É«ñ\89\83\98|ZU[¤\8d\8c¸lbØSiÏí\84\b
+²k\ 5I\86£\9brüp^\90'ïÿ\91À_þùº¼\18\94hrÏ*å\12\98¿´\90Ñ¢à\82\1fÿö6\9faõìm>«\95ÿṿîÎ\10Ðþä?å\9c!ùßAó\84=Þ=\ fýç\by\19éÎ`<Z&±­¸ß\11^N\91\ 1Ø\90Òe\92üäg¯Ð\11Ãïß»Û\bû,³Óä\90¯\95M\fýôݧN\1d\1fD\9fÏî\bî_ò=®,\ f\1cK¯÷\95ÿ¤²wïR\80O\18Mü)gà\rÎh\9a3«¸u\92ç"\93tÁ¨WF\98`Ðê·\vAH\8e®\r£AIµ£öß$\11)CZ¥Æµs\v\fýݼ,=Ϊ\10÷ÓÛüIa\16\ 4\1f­ñ\8fÄ\a\0~h~]£Î\ 1\ 1ÜhhêðBÆGÂ\9bÇ\9bÁ#Z\e#\8bV\15¨ÞÖ[Ã\0t\9f\88\ 3µ¯æ\eׯ\1e\1dô̼\ e\9f[\80Ù° \f\0Ïî\82#M¾X<_Ð\9a·ÌhU\96¿\ 3\19Ç\80Ð$\8eÔ\ 2\11ð\1c%"kÆÎ!»^ö±¤åÿLÌÉ&\12\ 2@b§k\10À â;+\ 4d0+\9c\93\98Np2\ 4**\15\16\95\8d\94\0Ì\0¤\14\1c\91³'Æ:Û¶ö¶Û·nÖîÓ»^ÚÖÝ\0kVrI&@\0\0TA\ 4@m\ eF\0\ 2¨\0\84Ï¿¿þç3 \ 2\17]Öío\9ewðw|ó¾yßÁÞú\ 4ï¡.ú9ï¢ÞÌ\r¬¶Y$n:Ü\9bA\v\9b\83vð/\ 1aÌ­³Ý`ÙI©-TÝhð\1aLmGÙwm\r%\9e3p\19ZJ9\8e\98Ò\9dÿ[Ý6hà·p\8d p[µî\9b3\89ô¿ø\9d/úK0¼\96a\j\83À @½\90Õ\95 À\88a\ 3÷ \16W©é\18\1f´0\90\18\9eÿ?á-èÉ\11ìd\91¿/Ý48D\80Å\9cEO>\8b\rX°ºòä\86\10\91àð\ 1e\ 4òú"¿±G\80\v:*Cõf\16\1eI$oûº\8b(bJÿ³\ 14`r\8b\80y¢·ÿýÄ\88l{ßÿÄ\88\7fþÄ\88yNá·þñ"\1c\95\8cÎ\8a@\89Ð&n1½Ãh\ÉO\87\ 3À\99\93zò'\88¥º\9d7\84æ\eÔé³Î¡á,\9cá\16s--Jç æ\1fú\13¢\0w$ÿ\97\97e>awÝí­$\89\!\e\ 3<!÷\84\14\ 1Ëìó¨QÂvt\91\1dõ.\82Þïl\8a\7fl\94eY\1fÀýÂàÜv1\1c\92D\0Éâí\92°\84\83`O\7fóïIøQ§mqÒ¯í\8f\17:ì)÷Þ¿\1cV,Ìqy\ 1\9f|½YUÐÛùù\ 4\17@:ÆxC8Ó_l\9bbÆc_\95\ 4\9f\ 3̨üÌ(\7fʵ\ eÍÊe\9b262R(\91PGé\1füf[3a±
+PI\v-X2hF§\9cË'\95'\1að\87]ݪiÛ\1c\99X\98ÅÉÉ\10ÕXUݾӵ#Ùö\8d&4ûGÑFÑ\98\e@síYì\ 1S_Q>~ÛÏ-*f[ôT\11ÞltkÎæ\ 4.ûm]ë\8b4\v\19&W\8bÔük( \9d¨\92 à\8aî_,Jª^ر¤>Í´¤.BÉ«M\ 5åè/2«>Ø%_þ7¸\19¨@\97B¡£\9bÔcD\ 6ã\ 13\11¬iÎ1]kFôõ\8d¯5[\94Ä\r\99ÀOæ×À5C\95\19&\16&náÒÏ·
+%RyWy\89TúâMäФ \15%íôÉb]W¾º¯J§µ)ç\8cWjÃ\\ 4\11¬Y\13,\12cÝ{\ò\8aú\17\9f'IAàf\0\823\rcKÁÓ\9aÃW²Xuè=Р\ 2äîf¹'Üx7\8dÇæÿë\91i'%w\16ï,d=6\89ZÆ×\87º%×{k)ü!ó!øô\1f\19\ 1RfY0\rFM»%úrOÏf\97ê²M\99ÀYÅi3#"Ù\9c¥\17V¨·æÝ¬ûw\\fA;zr²XëÏ·1ö\84Ç8»hs\9eòY©\8fy/\1a^ø\\12Öõ\a¯Y²R\1dê\ 5\8f´G \83\19ø$¢ù%Ì.\89@îNíj\10&[¹\94`ìrHA1\ 1_\9aùF\vG\7f\19$)\925Z1\89xÇ[ñUé!B\94\18:ùiþà{@\ 6\8a\16¨\9c\95\87\1c4-Ø\b¬È0úß R±\9c\ 5µ\87ÜèX\15\82¯U2n\8f
+\98¤\b¶}%]\1e\10:\eº)XãÚTO4,\82\10VDñû\1d\987°¯\85º\82,)~\97       \95ÇÚ9o¥)N\89¢O,ÕUéXR4í\a\13\ 5\ 4rÂCh\80°\8f\ 5\87µP\86t\85\81\88"\19\ 2Äû¹.¹ª6ãÒ\0ÒÉú\1cb^\9d(1¥\11!¯±VBçдÏM«"ÞµõÀ[öÖëHµ­¨3\9c¸Øaï\1aÛÀ\15·\83f0aH¹ù;³\93qi±e\r\9aR\94\9c\ 1\11'uÌ)\83P\1a\9aï¯%\8d\95\1aÿù\8eÌ­`'\15¯\13zyì¹nM\8c²6\aÇNÈî\95\80JQÌØ\88ÆS 'Ù/ fO\92È>©ë8çw\80°\99á\82ÂgÑ­\bpÛ,G\r\8eà<\14«ö\b\v¥_hHEÖã?ÕÖ\85\95\96\11 ¨'ô.ðéâîa\ 6¼£-jX\9d±\rs£û*\11 J     õ\88\14+-\¼\14)\ 3öGµ2\82X|¿AB¼².PG¿æP¤\9fêeVìfH?\11@\0Ãp¡^©Ë¬âá\ 4eF·Ðpv\9efñ4\1fÙ]2>\91B\ 1°ä\VÄ®y\94,1\89\99JÂØ¡¡xªü\ 3ð~A"W¹|^A\ 1çùµY\1f@L¨(µbÖS\ 3Ë߯Èvò\a<\89i\80OW={±µ\8e­Ë\ 5ï2FV\92å\99\1fn)8öaâ4é\ 51ÌÝh\9cÛ(Ó¯\vG\9e
+\1d\9aUýñ\15\ 2Ú\9d¢¸)Ó\7fD±Ï\95\91ûÚ\88K\94(\8b½G\85¬\ 1\96p¤[Áel\91¥ã¸¼\14\ 5µ¤¸å\ 2±\r\97\vMΩ÷)V\96\1f¨\bR"\f\fó%\13\9aY#çôLà\87\16Wõyå\vXÛxWÅ\8d³NGvì\16$ëÞ!e^ è\8fÆ\ 6\8fõ¥\18/¥÷ËI5^ M¾\85\18ê³iñ!DÇ÷§\7fSKþBÝ\90\ f\9f\95\ 4ó/¼°±Åß2V¥¿à±eg\8cW\99¾\´\9f\ 5Ú¬,ôX`tÿY¢p\8bC\92»úd\¾É\18÷\v\ 5þ\ 2ͤ\8f   }\9f\8b`\7f\ 5©\82*ÙÆ\8aè &Õ 6Ð\94Â\8c¬y\9c\fT·¾\ 2dþng@ì\8dÑÆzÄ3xÅ\a3¦©hÚË^Z^cqy³3Ï]\ 1çH\91*_É<\95Ö9G\8f\ 6\ 2õÁ\14\8d\19\b\93)^ÂÇm\97?ça|(âa\9a\85\bÁÀñ´wÀ<CÞ£\a\r\9aKUQxW\90ÈÞËÀÉtµN\15\85º,ª\0\r\1dðñæÅ\1fjp}O\9b|\r 6áÊ­ZÌ«\12=ðü5"W^\1eh_ôõ(9\9cåSÕ \86{³>ó\96\1c/*ï¥\91Ó%x+\93ñ\ 4­ ²>
+\16S\9b\16\95  7\94J~ì\10\0)HÄ¿a /3Ðw\ 5\89h\14p"Ñ]-\12ÍÑ+\1a\9e\11\16\10Y,\1fÉÆbûÌ\9bn\862Üß\8dyXÌ_Ó>·É\8cÅüÎ\96õù\9aÞº8Ì_ÊG\ 2\94\85£å[×ê¹t\9b¤µ[62ÇØµ\r¡à\89\17\°Ku\92Eªºo\84°\15.òW\7f:X_\87ãás£\85·\84Ï\vÍ\7fç\85\83ÜÜF\ 1\1dï\13\14,H»\7fÁ\92óM­þöÿ\8d\14ÀÜ¿Y\8cl\8clòÝ\9crQ{\80ì¿ÑQï\9f\82è5\83\ 2a±â\9evU|\19\15¢¸VàòÏjïÿ¢§}õçÿEJ¼\9e
+¯y\8aíxª¸æ*¿\16aXкöÄ«78´\1an\0À\93÷wôp'ÇàF¹}k <ì[2\vÏ\87À}ÇÏà\1fnt\17ãnQ±õhØøÚ\ fs©à[\f\9eÿÖ\91Ëì*aA£çéXàd\8fÜ\ 2eü¡\94c\ 1Ë/Q\8d¤\96Zv\99Q\ 1¿3%*\ 3}Eë¾e¨i6ß´\1fVi$\1aÕý\8f\8bGÉã\99\86\83¿\9c\8d\b_  n&\11J2.9Ó\1c\99v´Ý±v4âã¨\15¦ùгêÓx®¡fÏúî\17Õ\ 4\8d\ 4Ó\ 4\b»}\8f8ûQÙ\1c\9aÖï'\ 4\90Ðk+îÏî\93D>
+¦ÈÑ\1d¢\80X´=ت÷^Æ\91\r;\16Z]\ e\12vjÒf~\97Ü\8ehí-¼\7føWÒðLØ"w\13¾~Np\ 1ñ\91\1cG,á<\7f_\9c£\v#\97n*\9bÎ\1f\90\8c\fºk\84.'\83M±ÖK\97\82\15NÆÙCȨ£r+Ìzèx>Ë\91·CÚ\92Æ\8bã\16\1d\7f¨ \eF\10ûC¡ÅB÷$õÕ{³UîÉ\8fÒ\8d·Ì\véY\8bDm \1eþ\16\14ûkpRù%î¤6ªòÚ\90\8a\9dIGKÿc\9f\8f\11Øõ\fÙà\8d\95\13\915\94
+NG¥!
+¸¹BÄrÿ°¦úYöÉ*ùb\ 4       ðK\10\96U¬û\88\95\7f\10\90õæpóà~ôhÐ%_ì#F\85*ý¡R«l\8c¼óK«\11õW\93ðAe}\10\ 4Ei^09©´TJ\1féâF\9cN\v\80úò\1dò\ 4jÖɾ¼\84â\ 1¸\ 2ºp \19\ 6.r\8cÿiOõøkt-Ënf\ 6b\91à\ 56c§%\9aÔÄÄÈC¡\97\10¯¸\86õgíñ+ªw7U$ãj  sGæ\19Ȩ¥à\10c+     \ epZî\9dÉØ\15*â/>þ¤p\84¬\0ü&°;ö0¥ÁX'x06\8aÕ\96Ì\9e©\19ð\80£1\ 6³\92T\16G\80骱ù&QÙ_¬+¹\0pt¼|#8@¦\84\84iýf-[£b,\ fª\16ÒýU\87"\1cÂ\91\95mvà¼\17\ 3?O\11RaQR[Öc?~Fá»%Æ!È\873\ 6\9a\13Ê0¸(;\95S4p½D5ªòw V~Ã\\95x5L²Ë\13|ä]\94\137âB%\ eA]\82\1eeP\18¼\f\83îcUU±ÝßZ5     ¥_à²Lþ\ 66CYÁ\8có\ e«Ý¨¨\95i<\87\17\8aB1V;àk\89¯Àw\ 6o\88   Ñb\b\10_0\97\8eK\8eá÷À²U?\ 4OE\10oj\f\b³à(\85\8c\82í
+k\91QDå*ô\1e\10Á3ð\v\96påâÜ\9ft\90ñnÙ+\rk&s\9c®>2\97Ù\ah
\8c]\11>ÈP¥ö?9\13Eg\1d\ 1|Ú&¼
+\ 1 \86]¢Î5¬\ 3?0w(D\8dA^¿d(*\80\rQã¨\17\829âïá\ 2¤HÌ.l¢U\15cw\ 2\ 6E\ 4\1aòx\ 3\vGTQ±ù§E\13@f?\8a\ 4­Y-¼æ\11b\ 1\16¡û\eù\84\10\94¨å¡w¬ô\84ý\12\85\93»ÃµÒ\11ʵ\13¨E\a(aG\ 2)\r\89in\94\19Ø©)\19|0¤µa<.Òþ\0\8c?L\88\95\820oÙB$rFÝ\81\ 1¶tß°\9d­u(\89\8e\ 5®Õ>ãgÝ\9f\9eâܳ\ eë`qøòÑ«
\986(þ¢\12\9a<¨-Ñ_#WÓ2£ÝV~2
+³ºþÏÇ%V\1d±\12ü\82\9b\8b{»Æ\80\80x\9eÂJ\8d\vë\ f\ 4\84ì¯\81F\87-"åi\vâîa\90e\ f¸yßÚÌÞ\9f÷Q¦ìuØ\ 2í\9b¶1hÐ
+Ìw»ÀI\ 2ë½^ÐûTËÁê½dÈ\ 4ïÐÏ\ 4RX¬>µ\8dHç6pïªF\7f43 \917e§¤\9dt~)\88ß\95\eR\82\8f°Å6\ 1\10N\19B&\94ò\bC\9dc±¿¡\89\84\1e\1c¾l±ØëYc\14»\98\80\Á+\bèð\¾hX§âÑt×4v¯Ju\16\9f[lZ\r\17\a\9c\b\8a\ 66;\9dè6Ò´ïùWÔ;ü      b#3»úî\96ÁëßK¡ßLqnJ6,·¦è+Á\8a¶Ê\1aà\ 3[³À°\f~´7ÓIjûèß(\89^Ez\87`ZüÖ×ö\11µÎÉjìïÍ\eèYWù\12|\1fgfÙn\8cÒûÌcijNBÆÜ>ÙFñ\e\e\98\94\vx²úÜ`#£\87Wº?à\84\b\1cûc\90Π3o±\1axjBëXóg\90ÊEl\1d\ 3:\9f¯\9ed6%è\13Ã\9fCOÞ\92¦¼sáMZæaæ\91ßÉ=àÊ\13Ðo\ e\f\93\84\16\0ïaõÄ>ý-NA±®0{\13ÃÿîY¾^\15ñ\8f·Î&\95_^?KSpwv\14·¢GÜìj\e\10Øôñ&Ã\1dÔ¯«p<\15,À±ùÉÑÃ\9e<#®O¥¬\13J\1dÌÀ¹2ò\8c6·¥Xòðu$Û\94\ 2XР\9aCª%\8c¬Ñ\ 1\94P\8a°Ý\0Ö\eýµ(F!óèëÖbÂBJr\89Z\ 5Õ´­\ 2èâc~¡*²ãnaKÄì%®ê      ô§«\10\b\ 41V\8eòÒ\15F41\7f\9cù1P\8283hsújç\9d\84\1eïçÔÃ\9a<\9b\98BUÐòäø$àÚ6¹_Â\17\87¹ùP³¡ÉôùO\ 1\12¬R\9e\1dÅ\89\1d(I\98ïÛ\bÇ\15\91\88æ\94\16gº;#\e$\9aåÂ=ñ1¿dr\92äòìp/­G¡\9f
+dÖÄ\8a\18w ÑËGMÿ\ 4`ûO\b¨Ô#Â@ÿî\98èä2q×yK\96\13¤A\956\8b\13\ 4Øx&Ñ;N&ÀQ!!û\9e:o¹°»ù\11Ó}¤«Ï}\ 3{Ae&,ãÚ%t\9eà©       a\ 6\9frT\0\ 2Ìæ×±Þ\96\9a\17\10ÚÇÓ}\8e\7f  Ì\88àû÷\94y\99\8bââQཻrZ\v¯j(H\88\98\ 5üä'MÞÕçòB87ÒÅ\80[30Y©ìü6\882ñf\1aä§\8f\19iÂvûÄ\7f¤\9b\13Å\98PÞÚ\86ø\0å¯\17J\9bîö¯;©\ 1\91yµ"ÖâT\8b\9f~\9cNl\88s)\9e\v\8dîðÄâ\96¬Ø*¾úg\1ee)\83\8f\1fôX÷£PQ0\81\8aÛÿ"Ã\ f¬Ë\1f¨^ çÆì\aI\8aÿ\11g\1eÌM\16&BZ¬ö*\1cÉ\14\95îë\87F9E<¼.\1cN+fUå\1c\82X\11Úö&\90ù\12KUq¬\01\80\8bY\16£\15[M\9eÅBíÓ;·Ê\ 5M\88\97é\1e\ 2¾þ+ñ\e\87\13"oï\82\82rÈÔw¥ª£\97\8f\0¼-h\8f\ 3\18Q\ûN\7f¡x\14¼&?D\ eÉ~a\8a\90q9M\92òF\12\ 5\v\96òSQ½\fR'\96v<,\ f/\v\aylN\1dÈÅú.ÿ¢\90·BÍæ\v\97ßÃí\9c-\1a\91ª@\9a?gÚ\8f\b\eùG\91\86<?©¦Ñ\92\15l\87ßDÑÎeó¹]6\8c\8cÄz\f\90q:C¸GÕ\ eáÓÓhçáãtÚ<¡\12\83±&¨«\v*\ 3²Æ\96Ó\84_{3\8d\156áõϹ ÷.<\ 6´\81!W×#\ 3Ð'½V\9a¡XT_ïTµX\9a:\ 1ÙH\9a5[ÃÜ\ 5X#\82Î\8a\9a'\92r\a´\16íݲ´Ù
+'é}ÑU×÷4\11_µV4ï\ 3\14Ù\93 Ñ#\89úMkåÒûk´¸¼YÀzëöRvM¿Od\15\1fQ<\18²\90 è"ê#|ü¤\13qÒý=Ý[\1fÚ&<©ÊÂ\9a'\8aX\83\80x+únB\94ßR­/#ü\19Yå}û3Á"\90.:\85WÕ4YÝ\80¬\88«ì\95\1e\82Ð\17Ö¿t
+N\1a\94Ùª¼ÿ~´o\12\8a\ 3î\14#ÌWU¸c
+\8a\ 5ýº7x\1c¡àÕ\    lÿ\92\b\r\8f®D\9b¾å\85cd]²õ¤r\v\9bW\85ËÆ\98\1d@áéT}\9a«ÎþDÂâ½â\1f\93Çï$ ý;%M     \1a¹\98L2©\1a:U¬ÙHKÈ_I¿\87\90< º<Ñ\13\e¿¢j\87TÕ.¡ñÍQ9MS9\ eèÕ\13ôÕ3à ¸<\1ct©¢\18yXx8ÑSG\ fb¬nâ\95XÙ*V]pG\13ç\9b\vRx"ÓTÕÃý\ 6¨ÊSTå!ÿ\89²\19Zl\96Uú_rá\0\8cÝ\fAÉü¼\ 1\8bêlã¨&úG\90;Á \0\8a;\9eÃEKØh±\9am\15\b\84ì'Qª\\92ÖÂ\82\16RLNUFzh±m!x]®ÉC\9d\13\10ÌÄÈR¶TÜáàQ»7\8d\9b"ÁFçk\9b;[ul\09\85äM\1d,´9¢¥wt\8c³së\8a\97\9f«\9c[K\98\99\fcbbرø¥17>êâ\1e*&\8f\19-\ f\1a¨UQ[\ 6<n\86â\15\1e\1fCqÆKB\9a\89YKx[¬É\11jîúâá\13Ⱥ¢%ê\ 6\17KIö^wÊb{ù:~déU51ú|èýF<\89Þ\r\ 1ú\80 \96\ e\88ñ4XÉd«îe#í\aÖðñ\90#@ï\19~?¬\8d¼5\14\96öÞ¨\96\8dYMí\11\82ÐU\8coÂxH\94¥\19
+6÷x±Dgµ<ðÿ@\8bù{63¡\1c\94ÅÍP\17\ 4{n\ 6D£ÔªÝ\95¿úÄ\8ed\89\11j]¨ë£OÑp\8c`7Jj\9c¢_¦¦­Jo\v\19\ e~\rc&MÆ0ÇáGä\8e®è\ fÒÆðïÄÒK\b¾u\r.O¾c?\97H\12Õ'\8a\ 3¤ñ7­\8bN&õ&\98Ü\8d\9bôµi      \89»\ 4ñU«ïÜÖß2x¡Q.±<J\17°^¹cÊ\f±µ«FÊK3\19\8b¡y\87°Ø>\9dô12ÒÙê\ 3\ 5=\r\9eZZXÎtÑ\94\96u\15º*H\90\86\16\1aUE5\9d1\82#\85\8e\1d\84w\9d\8aÛûýª\1d²­bë9\8cm}Ö\85À%`_p\b|ʯ9Ú\11P¶9\13m\ 5µ<³\12Å\83\8e~bkûmÓÓ|"^\18]qô\ 5\ÈWá "\8d|\1a\a\9bj\1f~µfè8ï«î 6¨YÌwÅÌ»§(/\b\8e9\8evÇý\v\e)wN\99dµcËC\ 3¹,\1fblªeQ\85µ\13\10î\86XxTõp00\8eÉ\8b¾z1\9f\95P\ 3ý¡\8fF\17¨\19+\86\80\9fb\a\85 ùè`­n¨{o?Ê¢6Pòó\9f¬\89\ 1\^ñ\8fE\ 1É·n\85¾Ô\11j\85a"\12\8a\10rX\8c?\9c\937X\8aYlH¿·³U
+\8b\1a\85\8cá\ fÓkÌÃ\1e7\1c\95\11B\16-¾,#÷kv­\9f:8Í\1e\8eR\9eG
+ä«m\ 5õ¦~a\1düBɩڬô#\fÌíÞB3\97K>´ÐoÕ}\94yE\9dÝAp\ eè§`Ú £ZöäL\87l´iÉjK5\9fk\92û¶m*\91ºÉ~à\8c\9f¥7yüY\96vW\14\84¬bÀ\93\87TÇ×\v`ݱ§\1c1«ç4½saN\1a¡ÚcÁ3ù8\89®\85£\82\1c\ 3\ 6R{Ç\12=\97ÇÖ9òÆ\ fЦ~é©\82¨Ç\82qÐ_k´\1ce\8cC\91tA\å\9dÐ\ 1~Aq)I­b\ 5çFw\8a>óýÌøtpA\82«\94\ 4\1fñ\ 5\86õ\88\ 6Kr\0ë·ã&!pß[µ<8Q«1<WMÅ{\8eèî\ fÜÎð_{,ø\1c\92û\9d\r\ 4\11\9eÙ\13ÆÁ\8d\8e L\85y\99\0\16¾,¤)\0§ßÏ&î w'ͼh\9ey\vÒ\83\1a\88\8cþ\94ØçyÛ!À`\9bfÊÆ\88Ý \15\86>qæ$\ 3\10¢ºOÌ÷\88 \ 2w\97ßR\9fu£g\9b\8f\ 6Õ\1aÊãlq\85^+t¬(À\87LO\85úV\18R&öÖ¿\81\1a¢ÑP\8dSgÞ1\85"5fF\8d\v*týÒê¨Ð4\0Ç«:\8aw\9b\869\1cAÏá31\ fÓZ&1æm/\1fpN\7f\1d\95.\8dÆÇU´ýjÓe\Û²þó,¸}Amù\1c¨æÈÛÈkó#VÉãÓdÇÎ-¤óÐÛ£À\e¿õ\87/HÑO\13EBÜ\86\81XÎd§|»ñU}}ÎûâS\95M}\83\197L¹ÄÝJí\r\v\e$Nù°
+ùØ\91²é[çø\b\86\834ù±"\91öc:~ÜÏ\1ffU\eòÆ~é\90\10°\92\9dÑÃt§á¥k\7f½\97ê\1a\1fÙ]Ñý\93$[\ 2\145\82YÓ¡õ¢©A×s×j9\91\98Û¤¬.sKâ;!\81Û³
+³X¼\11\0\95\96§&\ 3ûà\1aäñ
+\9bÚ\ 4\83ü¾ýÑhK\96\83\15S\88·îÕ¹\15÷zôµ9      \94µ5\13\aÝ&×>£¦´/\85 Ì¿·Y     Ä`î}7
+\89³X\ 3²4í3ÒY´bÚÏ>)\11é­\83m¯Ogßv2v|\8fGg½í¾\9b\85å
\1cÃnS7\18eÇ>ÊY¤m¼3Ös\1a¾\11äíµPÛ¥Øv\9aà1Ïí\90\ 2µ\8a\8f1\ 1l\1f\1fi<é¨äÊXåÞvGhìÍ\1cú?Ô»\14\ fìk\9ex/ìa<Í\9d\9a´ÑÏÁ\ f¡õ\ 6\83£èfB7Ý >\87Ö$oÌ}\ f\10h\ 6¬Ó\1f\1e\15MyR|(úÏP!Z\82ôê\7fé¸C\ eÉ&Wâ\82Írÿäv2^(CËÑ»ì\ 3\1c[°ò\ 2»\1c6è;lQù&\fÖ¡é\9f\98¡}K\9d\89á£\87\8d\82\ e_.ó\b\1e\ 6 ìÝ\89£\87\8dÚ¡Ò½iàvM<\ eѧ\81HÓÀı¤\v¥Àý.£m%Æ\17c\17g·:6ÿ\10åß·Ñ\13[Óp\90_\ 2÷Gg\ 4¤ÿ×\87\93ÂK\b_õ×\7f\17g2\8f\1f\93\9fþ=\99ìI×\8eÌâ\19ìÏjNâ;Nâ;Nâ\84î\80Û\83Æ=ñç+í\81\v\8dæ<*Ñ\8c\80Ñ\82\98\12Ù?(ȨxT\ed5\94\9b³\rUCN\fÝ\9b\11=Ä>\10ï\82·¾½íçJ\14\7fõ¢\93
+?òæÿ8eÃ\95³øÿ.Ï\88\95³ý\ f\97g¿ÊÙûN\86ÎG\a\83ÏUuë \8aGÒÝûÜ4\9dß\99ðü¼~V϶èlç\90Ý\ 4Ø\e \1c-¼ÂÉî\80(ª±\8fº"\11\89â\8d\88Ì\riìrø\1a\16<\84p±¿£\11Eé¸T(³£k\9cBÂÉç\0%}\9b\0nìĪl0U\874ÖÔ(à}:Kütg¿\14xd5÷ä\v\81¡\0¬\19/Qe, ¼Á)cÕ
+(\93\16G\89m\8cÈ%\1e\r/\9bbâU\1c\81éºs\11æÉfh,R4çp\8c\93\15\84¤^ÆE\89PÌ<)*\844\ f\bì\81­HÙüxe\85n¼kS±Á\ 4²ï\0CS\1ewZåû\17æ\ 5·\ 5\9b\8ewìw\9cÂ\7f·àÅØ²½Zîø!þ4®UïdQ\93bþÔ\¹\83ª7ñ\86\eÙì\19\ f\1a~~\ fúž\93ý"ßÚ\b¥\9fÿµ/\ 2\9bÅ©:Z\9a÷\86 åm;ÁY=}ó©»\90ɧçêFkR\92Ì*nÔ\13ùÏÛ\ 1\14Ï£j\9cK\99\10
+ÐACm\93KRÙ3m\135Ê´\9b\9d- ó"Z\ f\ eËð-¥\943\9f\1dJEË-¤mÓä\9fe³é×û\vK¡¥È¼\8bWÎÂ\väÝgæ.\13vÚï\8c1ÉHº×\0K\r\9f+\87ѺW©^Ë`@R2­Aú\9e\ eËîOÕ\0C/ã\85 Õ®¦\9eÏ\9dëÇ\8aì\8aA._Mç}ó{\80\8b\1dM<\97\91NEÌx\aû\80\rFÆ3\\8béµ\r\86\v\8déª\1c¦\97é¶\92¿Ï°:áà\10w¾É[-Ç\1a:\ 1¾H\8aéLù/"½\91Õ\9a2ðs-XÕ.`½ä\82\1aɧþp¬¥»ÖÈ\90²àV\ f\8bcòSò0\92ÚiÍ?«cÓ;b«ñ(@3Ó\8b\83òebG\1e\vDz\r©"Î.\83\94Ï\83\92O\9cg|Ð\19FXeÛÃ\15>¼ÖUí\ 3*ó´pcòt\b®\vòõ\9c{ôñaz|Õl8оh\ 6 \vteÆ\7f
+,+ª\1d'!sN73\9cZ¯W\82âÍH®qk/Ê\19\r\87é®ì\91ãÃ\91^4\19ç\a)|õ/\1fÒ@Ü¢¿ÄÊßñØ«òÍ|\16?kï\9b±ã~óÃ}!¤0\8eÆrN¨\e\96¬ýà\1c¨î_\8ci\9b\v?\16ª¨Û\ 4ÞÚ'"Ò4ý\876A\12v\1cõ±\80\85{\9a\ 6f\13\8c\ 43ou\^êÀ\8aØÓ ¯\9e£í¥v¦    ²NÈÝøDK\1f4_©þäbÿ-\8c¥ËÕ÷
+¦2\16\99\81lõä³Î8m¡î\ eã%lÿX\r<ÖL£\b¼\85\8fE9ä\ 1\97Nd\\9e"sJS6ÎöÚ\ 1\87\86.Úë\94Ê:åR\8e¹;3\9eÒO\»I]rK;»4ÌF\e+Y´Ðá\8d9ÿ0°Úè,\
+\9d\16®D\96µ\1càÄè*£\9b\1a\8bË\1c\84\8d\16äX\9f?öЬ\eéKÿeòXMÝP{}"=\1e\86\82\f\rég¢Î\ 1x\18"¤m\vb<\0ܳ\83\11_m\12¯%`\ 3L£ÌÂUà\14Ì×Å\8dì\8aY\8bï[\8bã0^âó\10U\19]ô½ôòlé8jÆ\97ÓåÏÝdµ<|}e\7f\9cÿvJ¼ä        ð\80&\9d{\19­ü\95Цº\15ü8\1c.ÿ\ 2e.À\92µW\8d\7f©Ë\93àÇÖ~\1f?6~\a\8f7Û÷jý2\1f\1ab\81\90¢LÀ\11}}l~Æ=\80\94\ ej\8f\1aÝ\8ec6ìO­\83#\1d^üG# \93\81\fëÀe\\94\15ñͯJ\95ú\ 1þ¸úÂZúu\855¶«|N[ÑF2\1aÄN å!\1a_G:ÊÐ:\1f\84\1d°ÍO¸¬à_\1c¨cÌ\91k-¯\ e<\94@\7f\ 2¨À\ eñH´\ 4¦î\84\92(\8c·F\94ʲ7¿\17\87<{\91}\0é\8apP\9c\17\ 1âðo¾ö \84\9a\ 6\ 5\12a³`Q\ 5îæ¡-LüñûP/¶é6«H´Ro\6\1e
+\87ï\8fܳk\15\89\80\8c\1a%\r®hý00\11?l@N^­ã\1aûó%\8cô^\192~Ë¢F\ e\86òg¤\9fWþL\84\9e\89ÂLÚ\vfÕFÜDÞöä?\9bµ\83YrEbnôPÂp/Óäkê,T\9aë\95\91j´N[ô¬\ 5ÚòѾ~\ 4ñ[;ÁKSNÙi\16hIôâ(ÂnJ{ÁS\98hH\9b¹Z')Ý<X5üÚí¡ôªô\98oB¬\80` ×ܬ÷hdû*Dè)\13åR\ 5[(çkf"¹\15<L>\ 4\ 3g]@7×\9c\80l{´Í\9d\9f\80\82\ 1¸\89\9b\8a^\ eùzËÚKÓ¸\9f¯MǪ~-?¤¿\1aá:Eðvô\97\11´íþö\8bÇú\17i\9d\9e\8b\99é-ÎËý÷{\9f\12íéÙq\9aN­3kS2ó{\1c\1d¾\ fe7s\eO5»ôzïë»ê¥m\9buûýr\86à&\16Ü6Ä
+è/­n\99¸aá(k¤´ÿ\\97={\9e©8´î\8fÿýGÿ\9cLÔîÓp¹ô\8eìiçÏ2tZyóèÐ&âØ\f\ 1\v¡5+\ f2òU3ÿ\97\ 61ü~\a+Á6\1dXÙÌ
+\rä \8b\17Ú ±\16nZÁ^w\9bxX¨Ý8Þ'l\16YmþÕ¦í\99XS©e×§¥öûu1~Ì=ú~\8b¦\8aÊû\16=;FRyÚ6À\1d\8cX?\13\86ê©ï\0\çÇu\ 22\8f%ÍÕ\89È\8dhmr÷NÊR\15\9co,fÏø\18]\16\8d\8cñÿ*\9eÜCÛsü\14Ú¸è¤YÆF0Ú\8f!\12¡\89|­FWˤÝG\7føÛ`à}Hïÿ,_ϱâÇ\7f¨¼Ýú\1e\wþn\7f)Ú;\8eÿÎão\82\16\9fÊùlu¼æ\92zÞÀ,\87GJȳ±\9c|\82Ìlýw\15\93§W\94\80*\ 1ÉÑg\7f\1a_}Õ\80S½ª\12µ\14\17«¦g.â²/\01.z\9d\82Ï\ fö\86Ôx\1f\90,ø¤\88§Ç| Í:\88Ø\17\90\0è߸«ÝÈ \9aEü/4%CÆÔ%­Ê\15÷³\10k,ื\10\r\9a4òÞ«YsN\96¥FÍ\8fû>ج\13Ë]¼­'\ 5¥\14ºð\9cN[ºë@\1a\92óÓ£+5%±)\9aúSµ\99sÍAu4\9aöi/g:¥%\99­\14¤\ý\96÷\1c.¿T½ÌÍ%Í&¹G\vÀp\9e\ 4ÿy@0ª\ 4Téaú\v\19¹\fÒ¹x0\17ò\86ðÞ\1f\86¼x%\10tv\17f\84ñѲï'\ 3\ 1å\10§ PòÝO\9féxE\11@}¿\ 2¡¸Æ\8e\ 51öi¯s6½\9cÏ'jw\ 2\9e\ fdhëÜÌ&oTj\9a>\ e=%É嫵À6\96;\89\18\ e\1c¶N\93`\99­±Î\14\9c¡Áì\89å8·_]:½\9cÕ&Ðí \9b\88½Ëx\ 6ä¨i\ 1\82Þ\9e61Âx;co\137ÁIs\0Ü'\eQá.\98Â6\91\9e7KN/]"\87\1e\ 2\a\9cS¹à:< \7f±CÅ2;/\14îýH¯\1e\ 3\85\v\95\ 5\83`^¬Óë\e\B
+Fs6ؤ\96%dWÇNEª\8f·\89iû;Äx\bí\98E;\81ß\8fø¾ïPË<"!+\1fµú\ e
+án6s\13\19\9bbÍ4©÷
+\1eu,&èxM©\97\1f\19\ 5¯\16ÿ=6y\18^\8b\97÷\97}ÃÛ°­i(\90dÝ7ÀKÈCÚ_\890Çr@¼÷\fä\86ª\91_\93o\13øvëïæ\vÁ\17!n&ãÔb?±"Bü       \84Îü^D¸~\9bhW¾\ 1\18\7f\15Ã×ò\ e3\997\80Ö·Û\a     Ü¼6\92\866s\¤o¥­<É8³÷~\ fcD\9c÷¾ã\98mâü\17\vûs\a{
+=      \12\82\89¡»×\86\8e\9dÂ\8fh´«°éý\8dsÜ5\8a\8f\81G\16\80\8a\9a\1dÊ\ 1\16¶!©áÚ°\8ch\b\88«ë\b\ 6H¶DMl\9bØ×áÀ>z\fP¬ìNk£±\8c\9e÷eOx}\12X³tò\ f¢)ÐWJ];ìäýÈÖ\1a\86j\1eRÊV\13g\90oøOtd\e\rªR\ e:)\a\90aCý~E\ 2± ü?ûH?½ ¤
+àOV\1e
+\v½å\8añq}\12\82wfQæa}ìÉä\1eªDÅ\8cÈ<㣠ò§\90%V¤ çê8çê9çêKóõ&9ú\93,ê-\16ü±ÞÉH³ö\v\ 5O'è\14(L¶eb\91iÑ`\ 1EÕ^êaeîg\95^ÍÄ\11rAi\ 6\90\88nkû\87áz×JínU<wi5Ð\/Tá:Sýã
+ÓõQSÍÃýP#S¿d\1cgnÆ\1apQµ\84(ÿW\fzx\ e\90F
\11\18Pd\89â\95Ã\10\0ÊOº%~²¸»\96^Ï«U{\9bò¼\9d©Ü
\90´9k\9e©cm\86¹£­\83]R\91\87é\1f¸gpç\9br©Ã\97\vRk\965¦EÂ\98\1c¸=\88ð[\96\v\88ê¯ió\ f¾`U¤Ú,\f\ 4·\87{\1deQ¹5Få\93\15¾J4ã\95°v\90\167\füZ¨òì\89\1a¾\11\98
+ò1§Û£Á²\12:\\1eEò3ÃE/\asÑÝ\82ðÖü
+a\11\9e¡\aVrðC´\95»p\7f±D!\8d²g<Q¹IR\91Ī1Ãâȵ\ 6\9f\8dç9\127РÏ^ \91ÿ\89\eÔfFý+27«üdoÿ=º$oQ\127ãF×*G\15\1a\91Å_\8aG\19\96\1ct$qø9¨\91ÇÆ_\7f\1f<\91#\8f\12\89\1cT\89ÄÒ\89\1c_ÿ05oå#z\82FüÑHÞ¡´\8fãg>Ñäoû17¾2$oW\9f#|Ì\99\eò\1eùHÞ¢$oU©\eêO"¦:öFõeHÞ¡Ú 1\86)\eùÇ\91¼»4Q\88ÜYLØ×½É#Ãwv#k$H$¹.v<\8b,z Ç@\86:¦Xþ\98c¡C\1c\16Xòa\8e\89\fy\ 6Xñ¡\8e\8d\fxöXðá\8e\95\fk2Ç\7fÖ\0!ÛaF=\12\ 38\89iò|ÿ\ fX¤É¾XÐC£&ùZ+\90ô@³\ 5E l\13m\98c\90Í\14\921\98ú\8cbymQYä\ f\10¼6ÌÑ[ëQ\9a\82hE\15»Vs\8bçy'\8bùͺ|_Íætx¼\194lz«Î§\17\17ó\9b3ÅúVZv]aå9¯ÛBÂ\8f\ 4a`¾\8e\82÷\83\ 4$¿Ê²ù\95û­       \ 3xp&\b¶ÉÄ!0ë/\97Äs9+³¾&ÂBv\tì¹Eá \97\1e\r7\80ó0\ 1åÀiE\89\15pw¯ì¶oæ¶OðWD.FþËÖ\ 1´\0\ eFËp\16Ä£\9aû=\17ge¯\7f\82\18\1c»úýä)Á\11¼²\1cfºÊÕþ
+8Å\9e7õCgIJ\e÷ó\]\92WW\98ðc\%\12iy«é`t\14üê\1f?µEØ\7fe"õz\13\82PÜEè\va\7f\1c\877®ÛKyèWý¬Ksö¹%\1e8&\97µv\ 5­rÔ\ fì¹\8a\9b_çºcÈ"BÑú\97%ÏÝö\9a\87C\13\ 14E\f»Á\8¡\7f_ -øqà¨\92\16\18\87\9e<#+cË\19:i»@Y7¸\88\1f¤\r¯d\b\84\14Wu\ fáâ\8eâi\83®t^\10â7ê8:ÍC¨nì7AõâwmÞJ'Âç;Ö\vÂuî\9b\9af%¯4¬ñ\ 2Ö\1eÇ<\87Ä\1e\ 5¼YL«"<KY\16'`÷\8fÉ=T\83îÈÐ\1dô\7fi\12+ô_\81T½+8\9b×@|_ú
+\ 5ô\1dúb\1cRþ@á¤ðü÷dî\16çtÝÆcPî\1f=ÚUô\1d¦9áÝ©&aÂvì»Lp·\80'nNÓ¯\158\85¿¯ßw«I½þýé$\92I='¤\84\90\17@<\89\ 6\ 3\ 1\84`"%) #\ 5\bFH\88\89D\92{Ð"ø\92Y$\88\15¥)EÍcññLV\98¦)\9câµá\ã\8e­­\17\0\8a\94®\18\89\9ac\Ò\9cµA\riEÍ4Z?ÿûýû÷ïï{ú{Þ\90\10\88\8d¯ß[Î[мçÖótwKssv6Ý]Î^\86énÆêî\8eæç\7fu·C\7fÀ}ÙÝýÖÝ\ fº\9b­ú~óëd\92\8f.\1aJp8\aéRt\1f)0ÒPÈërºy2ÁÛþaà\84\1d.éÖ\94\97âæ\8eâ©Ö\96\1e:ÒîJ\ 6Üglò\9a;\8b\e<.\8eã³YùKéü\15PDq&~ÿ
+\8f\8cgÃë6\9bHâî_2ü\1f²\86·¹;j>5\1fÄÙÇ\12Ç5¶Çq¸;\87ûª\1f¢Y\85\7f&6¦\95«(m¨Ë\ 3è\87\eg\1d\1f\89k¡çüÓZÚr6öÛO\87õË©À"        ~\94t\8eÐ3\fê\ 5¹ïÅæØ\vo03nÙ\ 6Ä>¶ø10\*K\97ìA»m¥·\98EôRÛÚ}yCñv\90\eQImeøW¥6»\81\e\8fÊ\9e\bÓ\90¶O\98<Üp1\9fzëá·t\1a£»[{{Gm\9fã\14·I&[¬ñÂZ¬è
+Y§
+Y¦`K7¨¾\81¯\84î\ 4¢p¯G\148NN\ e+¶£È\17¶Lú\9c\v4ô=ú?Yå\9fÁÑúÙÛ;æ\8fÖìÝv¿¬~Á5Òf\85Ñ­Òkl¬C¯
+4²I\1f°©r¡OVEñchyûv¥Ú\87\9fúK\94«l«råÖÄ\14¸ÛÂa\9b\ 3âõ±\9c,5³¤»ium¼ÃjÞ4/y+µÏ´ÿÉ£ÂÎCjYm¤´!(ÿõ\88é\ f\84\ 3ø(í¸åðàÿ\81\97Ñwºíõ+Xö¤²öS\8bñ\93v\99!u\12{1\82è\ eË{-ì}Bi\12\17\15¤?\a\97£ÅtVn\8fϸ\97\82./\8a}\9c,B~\02}\93º»Þ`\8aÌ\eý\1f\16à¿]\ 4S4?=kÓ«
\fyæh]tO9\11Þø¾üþ'ú_1Ù$­\16´úFõaNæüo¹|TÉÝ\92Ãñî\11\8c/\83½¯ûªÒ]\92\1c\bø\1dé3_ÖÛG[\7f\19Ö\1e\8fi¾wFëanî\8e'hzÛG}7\99i\18,ÿwÓm\1d|\8d\9f§§\16ðV~¾;F\9eë\16l½£ô?#®ëÂ\15bÞ[\\17\90£«â\11 ~É?\ fóm"¤|\9e\14WÝú\9cÿ\92]3&ç\81\99EÒúÃñ±ÊL·»?\f\90)q{z½iüE<Æ/Ù»\97w;mu²OxH\9e´KÊuáy\9fÆQrÛj4~ß\8dí&\ 1\7fÁÙóÜãyõ¡Ýܪ,O6uØÂÛÍ¢y\14\10\15}Jöä\89\ 6óêA\11ç\8dùàf\ f\96Ü·jÌü\r¡õ3I\96æ\80¿r£cf\eoCfïnÿ_$\ 6\90häÀ\92\1e\93B:pîØû,rTÖoòú&=\15!ó²\ eydp\9e°i¼4\12¾ô>µ&\82ZàÅ|xdØ\9a$ß®8\ 3\92?ÙDºãÈënÃó\91\eWh§Ftmß\1a\1cå,Ï\ 2IÈíàpû0ö»iÏviÉ\\9b\12ºÿû2§?2\18õ§\94¢ëÃ~½\15\81·\99iÅÌ¢©Z9àãÖ\a\8f\f\1cÚÄVò\1cz!"¹TT@ÑË£\12'\ f\f¦
+\11\9fÐht:\ eDÛ·=mæî´ä\86zpÝw\ 1\10\ 6«\1do\9fùd7üYä8:Q\10ëQ8\1c¼ú;CüàÓ\8f\ 3Æß<{º\91½È\89\80\81A_±ò\87\98Õò\876¤â¼\ e¼Øx_\ 6\ e\15­\1c\1c       ß$
+zùL·û|±Î\fØ\94²Üç\ fsF\86³5\92³\1dÍiÎ\99\7fu\ 2JiMnôÙ@\9cú@îÑ\1a\v\8b_öPiç\rߨF\1cI|ð\82½`ÓÈ£\14§Ý{~\86\16º±ýø\868Q)´\82\0ä\95\eÞ\1c\aB=ì\f\93\9f8s\e\8a\11®v\ 4\8e·¿¥\ e\1d+Sg\ 5\8aN=\99ËIDùÓü®aìO\1fi\96>ßÐ*AêÎ`Þ5³Lg©\r;6©gN$\9dþHY-z±¿L\a´TàÎ\8aÏÚ\Îj\ 4\8bÖ\8a]\95\ 4©ög½}ÈeáÑÑ£¥\11%üÖ§û¬\ f-R¨\9f:(¶zvîĦ¾8Se       \87yûÁµ\ fêZ\92\15Éër\87\92Dø \8cã[\15µÊ[çàZ\1f\944\ fs8ý+ÿ\89\ fµTGx)[\ fó\8b\85JrgáCG\12\1a5ÇU\9c\8b\$Ç\ 6«\1fë\ e\91\915'4ü¦IW-?¼<\a\7f\ e\1f|BµçÕû\c\9b<àÚMr\94ôä\ f\14Ãr\92ºµKúöù\ 3°þ\84lrb\9ak`Ñ\8d¹P\r,RmÎ\89\13\86º_àÕ\95\8cvç¿\92ÇÊ\bóL\1f=\0¨ËÔ{Ʀ\rn\rÞå»\aò\ 1·\95\ e\1cà\87õÇan\82\ 4óͪÎ<\98\ e\ac=\93T¿,\9a¯`?ô
+\83õ'vëÆ­7\86ó¿¯>P\ eI\140)\8e\83¼ÞÍ((M\1d\11íë\85ÙõÇq»µ^\12\9cÐ\9ak\89ÔX\7fD\1c<ª)ùyÉ\rÁw    Ð5ýî\ e¡å>rÛµë°ûK?\99ð_Gj~\7fò\16\4GÆë¾\9d¶çÑõþ\87Y¤û\98îéÎ÷Ñè;\7f7\ 5ÉÈ\15þû       \8bãÏå~]\ f\857°ò§û_Ø\8féò9't´0\12«½\8bÚ\9cõSç®ì«s\95Õ6v\96/]Õç^ÕöNë*k_=y\86ºcÖ×ZÔ¾­kqKiTú¶­ßd÷A\a\r\85Sêðägjl³¯Ü×ûwï\83oSýü\17¡K\16Ù¨\1f\8f£¦Êå:|­=ÔpÚ\1aP»öÐND\82Uw\19\18ó\14ÌJ¯7ÀKAÛÅ)&\0\95·\8eVܲ¼}\8a\95zÞÑJ½\92¾\ 4\ f-{\bZþú\ 6¹'\87\97\v\96ϧ\85¯K\ 3]ɧ\85\b\870uÜc\1a×Ç\12>ö×"ç]YÁ©þ»¸ZñÈnIü¸2\87\1f/ïÞÿÌÙvR\133\ e\9az\b¾5\9d§/þÒµòåno~ëêäY\8e\9b&i©èqX~\96}Ý=\1d\ e ¾\1a8@×\9fÄbnuðêgÐOt¸\96Ùë×[=zëgÏÏPb\9bg¯]lõë­\9f\87\9e\9f m\9e½u³×¯\87M\9e\1eÇ÷\7f"{\9e\9e\8f\8c\8bèdâb9Ø´EK¹þǽ\13Øyé(ÈüßmFáìLTC\80ñ»ü®ú'º¶Ûñ!¿\8eý\12\1fþ\7fÐæ?ûçÿübÿôP?ý!ÿÿé\1eÏïú¬{?¿âÈö\7f2Øö\7f\97Dzøö\7f\9c1ìþgó?¿ß\8e>\1dö\\9eW#L\9fü\8e<£øX¶\ 6ô¡üZz8\ 2\87\10\ 6"\0Å?\17ÊA\90äö\96\11Cß)\0'ðÜ%\ 6õ\96Y÷áÄ\8d0;8\97è"=µ\9cßÍÓ\97Ve'Ç~=5\8e\8fñéÍØÍôSv/ÓfCYÓîJ1\12[¨ý\9cm\84fn.\96*yÄ|J#÷ñv\11SÊËòd\90xá­_õþæ#Ñ1A|DÃ\89dIï\9cìÚAükFúå\97ìõ\11\13Î/QȽTH"õ@?sê[f~ê\ fomnÿÃ[ÊtKDßnQ-A"H\9bîÜÑ7ÙD»\18\11-¥·_(\8bÞ¢\ 2Û¯ºyä\v0=«;9Ë¢h4æ¨%\91\81\9d\95É7A¸½!×\12K}#o\ 1ã\93\8dD\9b\89\94?Zï¤k\9e-\11ôP5×\98,á­\886ÿm­\92sZ÷ò(sM\1daíKÜ\94Z$\83ï\19a\17\9b\8a[çU\ 1óº[GþÒ\11c°ûëz.\ 2ØËZp_ÝBN\vòò\b\97 rY«îå7¿Z÷î ­{ó\9b¹A7rh\96Ô)\14[ÊÇ¢Wk%Ä\82¶2y+imSVtS\92\14S\14W¦Të¹\8c\12o\1c\87\7fáÉ\9f%8\99\92Ý\7fÝEO\Ñ\8d¥º\96êín¥\9bï,\1fyD^¶*}Ý\16l'Î!Ó\8cÚ\1aN\ fíR~\ 2)\9bj\ 3òä¼Ð\93\1c\8a\83÷Q\1e\8ep@þr\9a\12Ø\8f4âWÑ¢ÿQ>\8bý\ 6\1d\17÷\18H)Ĭ÷ý\10ßá\86ÿ
+7ø(;õÖO\93!s1D\9cWÊtç½¥ÃgUÈ[=m®\eº¯À¸{ù+p|ã¼\90\8eîDw\11üI\9f9cË\\19f¸Êùñ3ø\ 13üð\99÷h\9aq~A!8\97\13\11È\98³\ 2 ÜÅDb&'åC\86\1aô\12è\97ÝJX:ÍÉÒµX;¥Ä¿#\ 6£÷\8bhïܲ¾3\94\9fýÕÄßù\17\10]âÞ÷ÿò=#M\1fæQ/±\85Gó¦Ü¬\1amÞgij«\{úµÊF¢R\82i\12\8e/\88M£¼´+·7"\89º\f
+&Üs¨¿q&·Üí½óg3a1\9b\97*\99\92Ý+Ý@[\98òn\11&ÒÜ[r*Ç \87V"Aæ"Q1E+a)=ËN\8aþìËÞ-å¿Ä·ÙÎà{ÝÝÀ÷\8bq\8cÛò/áÙɺmÛ97:\e¹$}×aí\N·,í\7fr\8bôü+_ÿ\9dp!Ã\86gXp"ß>r¢8§\9c×*íÔ\81Þ\_í@x\82²îîBÍÇr\1cy\10ãÈ\12ã\1f~\9d\90ÛÌýw\8cxwOÃ\92øÒM@³hk÷-\1a\89g\98\81l\9d\ 2%\9cO¢D­\ f½Ç¢öó©Eî£$\8bÝ\ 5\1a/n2(;IÍ\97Ð\86^\10\12Ë\86çû¿²áK\16¿§\80L´ð)Ó\87 ç¯*5å\10ët5Êý°ûÉ\aܳô\8dÔ¿\92äoÒrW#\7f._É;ñí¤Q}³¹[þf¹\ 2ÜKF\bÏz\11\9eY\12ÜY\1ebá¿¢]ËsÂå±rý\0¹|AþRw§\84¹rÝE\bw,\87\Xë\a\18I\14a('Q\84\12\17Ïñ9íõþÞû³ý+\ ew7ÎRûpþòÈ3rÞ\a/3ýNYÌýú\ 4Õâ`M_¹O·ë¤\1d¾\1c?ut_óo_ná²¾N\99WÉýû/îQ\8f=\13Ë*\16õö\11kK>ïÓ\9dÚz\96rêÜzãê1]©)aØ#\fÿ£\\8b/"©\12êE}\eQ-Ò\a\bF\8b\85÷°_µóü¼\9f}ò"*ñ\9fc¹ù\7fF\93ÿt\9fAä]'ɾdøù.~\97ält¸\1eÏIgñº¯\95«ù¸þ4Ö_áù¿\1fað>´\97§E­Àö\8f2Xî\93VÒÕ\87\90ʼ\82ÖëÞß\83\ 5,§·¿pà@»ú¶1-­ÚÞC\1e" ³QS\87\1a4°î·î\ fò\88,[¶<Eþ&ZB\12Þ\eæÁt¡¨\18\99\eOI±Î\1cDÈK¢\9f¨Úo¼_åÝJêܧ;\ 2@t.\9cù¢üÄþw'\81Á\82\9dÏå=()Ýþë5ù«\7f=éA\97\11éÎu*vK]¹rÍð\94µ«øPZùxN:àÄ>\96+Äí«:kY)ìw\85\9d^·¢ñõÎ!!\8bß\1eã\ fåÒmwR½¯¦\8dwÒÆý.\9böï\9e>_ÓµÝÊì½$æ×þ³\83+I¸ò·r¾$\92³¹\7fÌøîc5Ã\7fp\9dxr@÷7¯úÜç\83æÊêð©×\91ò{ÿ\81¾ëmrzoÓèµ³\91ß\13\1fçk¦>o\ eÛËêuÖV÷ßGE\85íÖ\85\9f4½b¤ý\ö\1aÅë«\9f\8fÀ^ºåýzêî77\8a×\88S\9f\8eëT\97wÕ®ùzêwûÅë©ßÙ/]NýºõÔïï\97®¥ñ\ 3Æ^ºº\85\8a\ 5-Ùx\95!ÞLÊõÔ\80>ß/]Ht'\88½uvESª\|ñ*öÄx¥ë«\10îä\17¯!\ 6?Å.7æ\15®¨¿®^¼L&z¢ÿ\81\98k7ß§;\13«^-N}ºµþ\12µò\1d\7f).¿·Zµ§ÙÈ\94IàvSÎu±\9e÷_Õi;xûßÉí}÷\8b\10\87P\90ØH«´¤B\1d©0·F\9d\9d®ãbÉ2ð»\8d\8d&\13¸ØÂÍØ®¤\\12_VC\97\bu#\12\87(\92C\97\92\97ا\ eÝHÆ"U\12Ãdîû\15ì{\121\ e#\1c\1ahqq\19\12¯ÜZ¿q\87û\92\88øhÒ#â#J\8eÕ\16Çm\1f\1fÆø\1a[?¡\9eÈjrY\8fß¡Ã~¯Mü6y¿Ùã½û½?\89Ïaz\1fâÓwTÚ{Ù\12\10\ e¥y×\15Zú"Ù\81%\14ïª\ 3«\ 3¬\ 2X~\7fÀ\ 3\8b\12û\98\ 3ê\ 1\93\12ó`\ 4½oþØ\ eü\ f\1c\fà\98\1c\89"£@:ð;\80%ëáé@ê@ï\0\96\7fåÆ\ 1È\81Ï\81Ô\ 1Û\81ô\0Í\v_\89\ 1;w`vàxàp\ 2\88¹\10\1d\88\1dé'\ 1ajö$\ ed\ e¼\ f\90\ 6 Rw\16\a>\aÁ\ 3ê\ 1,Ó;X\aX\aÎ\ 32)C\9b\ 3®\ 3º\ 3\98\14\91Ô\81Ý\ 1\94\13©L\a\93ÈÈ\89e\8b+@ê\0î\0\97¦'\8c\95\14Ý\ 3\97\ 3Ú\ 1×\ 1ñ@ïÀñ\0úò¦¹mQ.\ 6ü\ 6p\fø\12Sxù\104 s\0^\ 1},^th8å\86d\0÷ u\0u@K\fàë\80÷\80{Ð;\10; ;`;\90;Ð;ùd\94\96\8e\ 3|\ 3\82\ 3\8d\ 3H\a:\aP\ 4\94åoÕ\ 3ö\80\8b\80Q\81\ 3¯\ 3·\ 3\110*b\a\0\a\18\a.\a>\ 4°çÎÈ\ eð\ f\1c\ e\ 6dH¸\1cÀ\1a /&M\10\92£l\a~\ 6@QW\b\a&\ 6ºö\83í
\87Û*\97íñ¥¯Üéõÿ¶'ذ\97k\8fJ®×\r¿ìz·¥ØÏÚ\1eî 5ëO¶\ 1²>Øu´sÖí\1d\98Ñ|}²)v~v*Þ»\ 2]²Y4ô
+ìÝsǵ¯\1f\9a¸O\1aöëí\84kN\19»E\81´¡\88{%v{/\9axWÚçÚ5\11\94þW\0ëÍ\ 4\85®\18§²_v\1a¯\11Ø\9fj\13f¦j`ÞuN»Ø\ e\vèO[´V\1f\v\r]ÏnË\ 6;£ÛíÎÿ$®\97g³Ù\eÓ \ fÍ£P½oÿ1á\7f¹\83)í»·s#Zoú{3\9b(\1dª\8d\92»B:Óp×54çÙBÖª\8e\91\97\ e^J\8fögÙ7õ
+\86µæÕ¼cá®aºig\9e=\1aÕgÿ÷ûØ4a¬i\97Rz©g»TÖ¼¹ì£[xjTÉ.ÓUÝÎî\9cD\9a³h­/\1c»F\15]ÀÉK
+h\12O\8e\1dyöqîÎ~ì\8dÁOhÓ\93j;Ù        É$\17?\83>ÌEÙ÷#w\951å:i\80¹TuJí¿×:+yÊ\85:\v§¾ñÍAÕï@­uÀÿÍ\ 1éîYïO¹\r¯>Üõ=»\9d\95Ó\8aôêc^{´!)\10\9eÄ䯩©}n·eÚ5å@ô÷UQ­SË\tû«9GæT\1f+\ 1Ó²:f×\9d\97µ\87\ 5`Ç~T  ²\85Ý3û®\9b÷\15åËV\e§B}¬;¾\+\7f¿_wcB}®;ãíWênlã'v\99RÛjÒ\ 37*tÙ\1dFì½·\97 «"láX³\ 5\8bÖµaíQ±íOºy­8>\98\v\®õEü\7f+\97Ûµ}·mÿz¸ËÌ\96\17ì<3R\17\ 5\9b\87ó\1c\181\97\9aÉ\83\fá²_ÃtÙ\9eÜU¤j@rÇ#©½F\r\ 6îä\95\9d>êv´ç-û¶¼ó~í]ñO5Ù©6\ry÷cvgB6Þ;598S­-\9bS\82\97'\1eªIת\86ÿ\96¦up\9bpéË\rÛ.èFÁP\r¾à½ÝÍþ)àË\7fL\98o+Ë\96Êgý¾ý\rr\82ßr.îç¹\rnvùS³\ 5¶¾äç w\86ö_\9d¾]Ë\ e\15\1fæm\95 µ\1f\9d«D\1a¹om«w>¥2¿¢f×à;á¿)¸5}î\1aló]Å¿Û\ 2Iëx§| Jf<»æôðjÕ\1c#{\v\82Åÿ\19ë{\yÕ¾\95I+mÙ÷\9c6\81ݦW\81£\9d8z\9eö¦\88ø;l\8fgNu©°¹ÙÒ©\ 4zÙª¹µÇ õ\a5yã»Ì«^¾ð¯ñZnìû»UðÚ¿áMüÍ\9a5@×Ü\8b\1dyW\17¦lì !IµÚ»\ 5»Í\807\8e\r
+¬çn×\9a\88Vn æ\ 5\97\81×\9ek\84w\12\8c@ÿèÀÃâé\9dS\1c\9cz\93¤ë³ï5Ë\8cæ¤æ^v\13}¶JØk\93\18§\86m\1fü¸\96\93\91p½¡Â\14ñ\15§\90Öó\84¥»T×IJó\97'åá êUÃ\92Ü·äN\18¦¥4ÍHÍsUi_\ 3êlË\7fy\1axGkMë]oaï×dÿ2­¼\96,:}»\81OØlµÕåÛU{»a®±.Ú«½Û\rºÂÝïW[vÜ\1c8ÿÄ"}^\f\8f\10\8e\90P\8d:}\1a1H V\9e\1d\1d+L>\95¦\ fHÖÎ\802ÖÕ^ö}¦êX©qñMh­¶ýï^ç\10¯ßF\1c\14Â\14½¸\83\84)\84ä×-\9aPGÝ"¹ÊJÕ\eSã[@\91\17\87àXr\87\91È}\81ܺô÷µÐ?e:i²Æ\85V\18¾4d÷P*3^¯\0\9fØ@ð\86åá\15û\ 6¼"Ëz½\80eäÅ\974ímßøIúc¡KÕrÔ·ÎçÔ*Á\1a\93ðëåB\9aø\1c\85­Û~ÝJÛ¨
+hÂÿêãý\92\ 3uð/?M=WsëÅxBÔÜòI,^Àø\eln¹$aòUünyý½ÿ©Ïr\88M·^ùÓwé\ 4céÄ\88¿å÷l\89}J¹\ 6aµiÄW[D¬\87­:íÞ[\8b\94:\ 4ÚBæw'oAuÌï\f\82ªü:Ê!_\7f\ e>·Â\9eö\ 2*\8b)ý­9k¯änÓà¡û3\95þKnó\89\95|Y©\9cû\13µµvZÃcåZbÝîÛ\90þTªá®¼5k»\98¢ÿÁ\8b®Æ[\bLÛ_e\9bJ~\ e\8fê\15àE2\8a²Î¼>s¾xc°G\f\9f=\19ãÛâ\83G\10­R±\1dâ¤\9c¸óÊ
\9f\863v®NÛ&®1¥¹$\92\9bµÛ¶%¾@Ü¥Ï?\9d9ÛZ\9a\8d® »?\11"U'xÕ[ÞÂñ\1a%b-AØ\92ÿ\85m\a`\9d\15×\10{ÿþdØ¿`¾¾sKÇèùeâÉ\a ø r1(GbJ\1e
+)\b\9d\ 2^èÏ\8a\aÔ\ 3-\16\84a\80åÀÚ\92\rr\ 3»\ 2_\14Qé£\10\8eø\rÀ\1cÄj\11±\8dJl\85â\81ÀÇ!\18ØâöÞ\ 1ÏQx>\0\1aHòöw¡®\ar\a\8a\ 6\82A\bÍ\ 1í\80÷àwàc¤C¾\ 6Ä\ f~\aÐ\ 3\81$8ê\a\\aê\81\96/FP\aH\aj\ 5É&D\0: 1\8e\8b\8d0; <p8\19A\eÀîÀËJ\88>\ 4\93?> \ eÄ\ eð\fR\8bµäÀö tÊ.\86EÎü\12I¾ w\0w`|òÎ\91\0x }p1\97¤"QEÐÝ\81,c\92X8÷\14¢éù\ 2ôYå\9b£\0Ò\81¨\ 3\9aQv;\0:\10\12ô^å\80\ 2|\10;`; >\90\e\802òáË\ 3X\a·\ 3«\ 3ó\80Û\81ËL!\1dÀ\1f<\ eùEÜï\93"WÀÔ\ 1°\ 3ª\ 3à\81Þ̤è¶\18\ e$\ e6öhâ\ 5\1d \1dp\1f\14\ f \ 60Qfp\ fS|A\94\97©Qwò³·Ñ;¡ì¿\98¼\8ay(Þ\9f zJ\17ðn\8b\e¤¼]j­Q©2Ø-\94[à(\82\1d\81ñ\8eØò-«±Q\ 3õÜëb§-<H¯Ë%ðF¿\ 5W\8d×\9cQ­6+ã}_\97£z¨j^4½ÛEF_# \84^wߨ³ýYÝwhlÚ\96\8bÓ½\85x+÷¥ô\a¥¸¯Ê\8eéJSv\86ñ®ý{\18\ e\8aHó¿1\9eôÜßþ˽©¾öJ\91÷§~
+eý2\97vé®Sè\8eè\14Ùï\93äK
+ØõM1ù3gRluò@Ý\97½{ÿ%ïß+\8eåü\88Ш½ës¢\\7fü\13\99[#¢jKÝ\97\fo\ 4ÌÚÙ¨Ï\ f@wÓÔ\9d\bk\9a\96üðbç\8e\9b6'®ü¾[ú1Ù(\9bIL
+Ëé¼hѽÛ\86óÙ¤\9aoK©\e^
+¨ÿÐ\b\9f\8f>F\9a\9a)åo*\89¥¿h«µS\ 3Û\80®ÿ\fKAÑvÌé£d¨+ýp½dr`µìZ06\9f\19võUq²hÀ\8aj3eíC{»\rnê6ñPO\82®dö\18;a\83\18;a\83\18;a\83\18;a\83\18;a\83\18;a\83¿û0w\ 4\8e¬2%}\a,Á½2\8c\1cÕÂ#\8f\8f¼0nß8*JËÖ\9c\ 5|®Tt\98-+\ fú\bV\10Ý\90÷\83Í¿\\1a%Å^´ÔNõ¢C¯\94îóI^°Ã[\f5ÿ©\86¾ßÜëþí@÷ Kã\ö\9c\ e¢\a`\16_\1aó'âE\96q)ðU±\91HA+Ã"D¸Å\9aOw }X¤¦ªÜh\1d \1dh\1d¨\18Âõ£\0{\906àe#EÄ q l#K\17\9f%\19æùàeã\93òþgW\1c\94OÓê\81$\84?\8d\8fJee#\ f{ 7\0\bE@\12øb&YT\16à\fü\88tÀì\0ðÀÎ9B3@u I\r\92\ 3ª\ 3¸\ 2IYß¹\ 3¸\ 2I÷G©\ 3`é(\83\1cÐ\1eà\ eÔ\ f\9e\ 4\92e>\ 6TR\1c\r\98\1dP\1f\9c\az\a\80\aÔ\95O\9cÄ,&«2I\9d\84\ e\10    fZ¬ia\88p4Às<¾¿ÿ¸\ 3§\ 3©\85Ø\ 1÷Ê1\86]\7fÿ\90\at®¿ÿ\8c®¿ü\8c\80â@ä@æÀ÷\0v w`}\01\12èDÐ\1dlºT\ f\1f\\ f;0 ø\1aP6\0{\90>\b\ep>¨\19©\91"ð:ÿüÊ\8c\94b,\96@.\0     &\râY\10ån\19Tçî{\18ZOÓzοÍ\9d\7f\9b:ÿ6uþlëüØ^Ý\85íØ^Ý\85íØ^Ý\85íØ^Ý\85íØ^Ý\85íØ^Ý\85íÙ×ù³¯óaxv\17\87ä\97\87î}Âðú\1eAwõõÿû\08\98\91IX\94¦xÒZ\86\ 4\8f\94I=\15ìÀ\92\e£¸\8aJ\99\ 2Hýà\90\ 1\7f\90\ 4±U>L\ e\9c\ eì\f¼hµÔ\r\14\17T#L\ 4\92P.ü &ì2RuzÔ¤\bT\\ 1¿G\86X\1d(\1eü\ f\9c\a\8e\ 6~A\bË\81îÀí@ñËÃËÈ\87L\ f\80\a\88\ 6\11T\aT\at®¿ÿ2\aX\ar\a-&\95Ú2_\13Cܺ\15Y/\8cã.\89`n§¯ûª\ 3¦\ 3ä\ 1ß\81\88\95B'\0Ô\ 1Ï\81Ö\ 1%0\87ç\81á\81ã+°\ f\94\ 3Î\81À\81,`\ f\8a\ 3D®À\8f,\a6\a:\ 6À\ e~Y)øg·W`w©äxx~ü\97\ eÁ/ÎW`\96]\82\1cQuü`p\0q`z\90/\15Ø     üà;Åv\ 1q\92èC°=Ø\1d°\1e9y¹é\81+àq@j\0Ù\81Ó\81,ÒC»\ 3pIú6dH¸\1c°\1cÔÊSó\8e°\96ú\80\1f<\f`¢®\b\91\ 4h\1eÄ\84SÝ%áþËÙÜæ·¸,}ZÂñl/\16Âñl/\16Âñl/\16Âñl/\16Âñl/\16Âñl/\16Âñl/\16Âñl/\16Âñl/\16Âñl/\16ÂñweâÙçÃÙçÃÿÃÏ\87Öªä<\91þß\19¦\1aæyðö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxÿò/\1fdw\93®òúæ{iö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxÿl¼~\9bÜ/\1fÚrü59\17\93ïÉ0¦Ä¡\19p<P$\81¤k\95á©È¼\99,\90\1f\\ e\b\94!\1cY(ÿÔ#¼\ 3·\ 2æ0ZÂ\aP\aÎ\ 33\1a\84bÀä\0Ú\81ÓÆ\92\evB>À\1ev8nã\92¡+|\80>¹(KØðË\ 3Û\ 1ð\0ï#Ó\8emKÛWæ\0÷\80vÒ       ÇG8 6 v x pÎP\87\80u`w`eä\90\8cÐ\1dh\eróÇòb\v\81·\ 3&èOh\eWEð\1d¤D°$\8a¾tàvà~À\18©T#\b\a,\aB\aZ\ad\a|\aí\ 1¸\ 3\19,\84K\ 1/\85$8 3Àqe𶬠 +°|¸\1a¥{m{\10:\10:H\1ex¿º\ 3«\ 2\7f»\ 3¯\ 3à\ 1ðÀíK<l\ 1Þ\ 1ß\ 1ã«ÛwÌ\81À\81Æ+ÛkÖ\ 1Ó\81$
+³½\ 3Ã"öòèF\0\ fx\aÈW\86§"òd¸\qs       öÖö u\0|0>p\1f\\8b×Ì\89\17\ 3\97W\86§"òzÐ%ð\97Ï|\ 68QVp    +î÷ÀWfßP®\f\16uã¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ·\85ã{¯p¼n\97\91\83\89{°$\84\84KéAñ)\96røpùq\12\9f\89?v vàw\ 4\85q"\93\89ÎË\a\18äÀéâÏ\15ý¢Ü\f¼`¦h\1dX\1f<\rù^xÔ\95¡>\88\ e¨     *{\9e\18\1c\ 4\81ï@î@ÅG¡\13\84µ8@é\80\92\18éß\ 1\8e\90B1\80j\80ì\0ùJÁÇ%ô×\7fD\aÃ\ 2KÀ÷\12å\b|\a»V\ e9\9a\92\11¼\ e¾Hþ\12Í\9a¹·Õ\81Þ\ 1\13\97V\ e9\93\94\11,\và: 6àx`\Ê\8b£Àæ\80é\0ëÀí\95ío}P1\12Á·ø|ñ¯$¼Júñ\96ËÂ÷Ð<ñ®Ö\ 6\ e\81ß+\a@\91x\995{[ÙÕ`æ\92Á˵Àu@v`wàI>ïÊK¡\18@;\0;\90\bD\80\19À%\9c\80s@t@u`vªÁɱS!§\0¼Nt    (
+\1dx\12ùÓsÀ\ 3((«<\ 4¾u(\97Í\8e;\ 5sã®\97\8aÁ\9b6Gy\8b\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vÊÝ\97\95G¶·>ß+\1f\1fú\1dïîão½__Õ|ÎÃÖÅ`\9dMt\1f   \16г4Qcãÿ\84\88\88­\1a/±N\aïá\8fÜ@ýé\aî(~þ ýÇ\ fÞ\94\aïµ\1f·c÷l?xãÇÁkøxøO|<|\ f¡F\8a\12Ý!'¿B\eh7¼\9e²pì\11ïÎií+\9eû\9f'ÝÙ¿ÿmû_ÊÈ\7fýZõÕõ;­¯\88È\1dÒó}ú¿º§êؼò\8f\9cÚó\81º\96\e\1cÒó\90\v\11\7f\88\83¿\97\83VAÿë\96·ÐÕ\9d\98Ö±a£\95¯×­b±Å/9¿©ÇVAÿ^k®\9dVA¿ÍA\87È_É\88\ 2ßû/êå~ê`ÅãÍÇiÍøiþ«\84·(ÞB\\1coa|\9b׬\84·2ó\90³r~v\15\82õ°\97\a_c      pÑöP\9f÷Ð\9cüô'>º\13\9e¼ÙÝý9\12ÿM\94«\94\8b\9aúy\1f¢ç1÷¶ø>÷o·U\89ÿ^¯\v\7fñ8þNSYãø}\f×ÛÖuú\v\9c\85þ&\1dÃ\88Ëðñ\ 46÷îÑ\19µÿy\96fVVfY\ 4\ 5\84Ú\rAj\bÀ²Rò\98Ð4hhJ\ 4%f@\9aLE\97\8c\0Ý\9a\e\ 3F\9a­\81H\95EQ¥$"\vF\9e\11´\r\ 3lýÿû÷\9ee\ 6|ÝûïwÞ{×\û\9d\87Üìù×:ë\9d\8f;o»®uÎË\9d¯Ýï?\88\7f\7f\bÓï¾ÖÉe\96ïd\85o\9a\94V!ý
+~Æ+[T¢±\8aÉõ\ 59\va?©ø\91\ 6»Û\93\7fÔULAÑìÊ\14¯â¸½AI´å!K\0T\0aj\a \85ºd³\87þ²\vZmb\ 4\ 5\8aæ\80EM_ÚMNÏèÄ\9a\ 6¢j|åËâÇQ\-oËà«4¿\97\877ñX½Ú\9fªF\1fC{\16U-l«\18®\aM[\1e\84(JâU\90¯\88¤Î'c$\1dÞé\92\ f\19\b¡\95 \9cõ'gk\ 5Z\8aµ\87qÍBZȯ$¶\87Ä\86        \99@>JÔÕ¡ëPLA\92\/ðþ\88*ÔS¡N \8aÖCè\84\16R¬Å&B,$EYà\10ä%(«\83\8d\86\87û#hÊ´\15ñ\94\99\19AôDÛHD\1aÅ\84ØS°a6\ e&\12ñ-ð\ f¢,YE\86\84xa0\ 5Í\8di\9bZ\90\88\80¡åÃQ\94¢¬\ f\f5\1dJ*ÉßD\8c´{g¶ò¯\ 2ÿ&o;è\94V\91BZÇ\86\13ò\94M\84\96]\85\88\14\90[E¼\8bÁI\9bE\84ÜUÌ«¡I\9b\85\84\94¥E]JL\94XUÒ®Å]ÊM]\1cx1\14¢&\1dx[í©E^\1e\1a\ 2aá§\1e\1a\86\8f©DM\1eP+ÊÔ\8a\92\ 3\rÀ{5¸\ f\f4\ 5J&Ñá\86\81)DÜ<0Ð5(\92\8f\ e¾U¼XuñáØ
\v\ eÀ<; W\11aØG\86äUÈXnCÃRSȰÔÕí\12ÐÞ\8bhnñø;{\a\7f£=Ë\80ßkð6\1fÓïÖS\95%äY'\90Û,Ø÷¤®÷\8bóWØÑ\ 1ñ´@\84vOr\9a7h¦\99Ú)¥yKtvÊË»ª°\9d¡ºç1îÇ\95úam¶\b
+¥3.ÐÞSho}óz\ fÔ\91U"\97î\ 4\87´S\ùiû,­\17\81\9d\96ÿ»E3îÐÀ×¼B¹eâæ\/{I\e\8f{\89u3®ÐÀ×àóó|w\14{\87­\85\93æ®`"þ[\93³§á¢ºsq\17®.)]É.æÛ×ho±ÿÙ\ 2©ÝÞ6_¦ûóù¯\9cºk\84Õ=jßy»`»>+\84ý<%Ã\8d}í[ï\9e¬\13¸øÅÃ\9cnà-\80îB®û\98­\ 1{\1fV\84=\7f­\92\83?¼Òã(«\1c>\81>\94Îж¡íê$cÑÇ+ÕÔ-àÉñð_;Bá_»\92¨°÷°ì`5\91\vu͸;[»O¦£íëEg³]?\8a÷\9fÖÖ<¸®\9e\83a©µ_ñ¼h\1cýóAøÌmzo\99ÿѧÓUÚcåz\99µ=)$·¹/µÿ\92÷ã\81Á´úl½Ï¹¿ÅϨ³½ð\97ä娰òý\86\88nM\ 5g i\83\7fý\9f\8cÑx¬JüV×\ f÷SÄÿýS\9aÿÿE\ 4ìþëoÿ\a ÛC\89ÏýÎ!¸\87įQNüúÆ\8f¾Mw·®Øõ1¹\88ëÖ\92·ä\8b®ýÖ_½¡ÃVÐãC½uì·-ÔJ·½fÓm\8bâxà!/\11\9a/\8e\962\80»Þ\81Îg\84Ë©»ûVA·ä\98À¿i»ü\9cdÔC¥­.ßUùYûÜwó-õ­U\8a§\9f×hq©ë\95NÏvâ¢/\9bLSY\92ü\9f¯yhüï;\eäç\8dïH\98ºÆ>\ 2»¿hq]´8èÚ\1cxm\ e>6\87\17[C\89îµµ\8c \85n®½ð¾o²ëÀÄ+Þ\9e¨\96Ú¿²©3j«úð\93L»4v\98Ò\1e\83Úu\81Øêø}Ñ\7f9t\1eÓ°/ÿ\1a\1eÓï\11ï3G\18mçy\94w\99³'\1dTgyÉ\9dç§\99÷ý4ßêwlÌZ±\8dÿ¯
+þÛ­¯ñ²\8d\9ao\1eJ\16á¶\81îm5\98í\8dº2\91¿k'ÓÍX»\9cêXÎ\8d\ fÖì³\80ÛÄ\89ü~\96Ë\\9foP§\8b§Ç8pTø\ärEåå<]UrÚ\1cí\17JÁMÙêe/ûú/\1cä_5~\ e:\12µ/¸Éã³~|oïÞ\9e\82\8d¾â\10Vú0\8dp07e\1e\8f"t\8cg\òª¾\87\f\8aÎʼ_:\e/\8fÙó;(n¯ÔH¯\7f¼Zz\1c\9eý»mèÜoî\10\91ÒO|ùéZG¯?\ f\84£·.Äu\9fgÓóú\7f\99ºÝ»ôl×Bº·üýÿ¡;\ÆPqwþ=õ\91Ó\8d½Áëu\9c\en$\9eÆMªÐ\921\1e*K¢\9am׸\97ñÑÄå­µ\85\99\f.éN2bík\83àiÕôâ\1aòô\888nt1Ö\97\ eu;\b¿Ç/cßð\1aöÝ\9e/ÚñE&nÎy³3oó\94£K¸mú«ÑÍÿ\9cª|\96z×vÊ$úá1Ú\84\18\88\1e×\8eÿ\93Éãq\90\8eTnðQ\7f)Xß\ f\7fX×     \9cÛ °ÌxÒh0\9ce\1e\8c\8c\15û¹Á¬÷då\8c\89\8c\94õu\94õ1¯ö¾\93\8f\8a'\9b¤\82YEéÂã$¯\9c»þþè´®\1eÓ®ï+D¯mÖ\80èk(îÙN73kéñóù¹.æFóêèåm÷¨Ì\7fáA'\8béCÚÑ>~\8aP¼b\967}óÑ)ú\97\º;÷Þ­ªÎàà\96[Dæ\9azË¿Èa7±yg6Ú(9O·³\8cå·ùú¿Dt÷Gãø£¨$wÛ\8e\84åví½ùâ\93ï­\8a±\1cN\ fá    Â\97s_'ßàox¿bn¿\ 1\ fÙCø­¹¿s»²\19\8a\1d\83\8d\9a\91\12úçN\1e²\96\a±¡U\8eÕÝòYDû\8c6K6\96}¿³°dÛª³ï
+nüv-\99×ÍR\8a\8a\1d¢M\1e\82ÅS2×\91Äá1¾^N>\v?\97¸ÂWûmy<¬E\86\8a¦\95Û\9aÃ\r\9bé8~P\1dL~[­)çóÓËio2Ü\1aï;K#\8b7iÏçý:®fË\8d3Fó\80ðõ¯¾\f|¯3\1f\84áýÝF½ýâ÷q\92/¤ì\9e\8de\85ºCö\80CqÅæÑ+\9a§Åõ¾n¶?qO¥Êü\99©l\8dëI½Ærl\vàøqô9k-ǯ\90Àk3     ¿$/Éee+\8d_\15¶Ì\8fæ\96UÂãÚ\12ñ$µ8mó²,\96÷\11·eÐ\99ù'è7ælz6¥;ή\1eFg\1d®³x`{Úý¦Isv«(Õ¹km×Þ.-ôÑxöÈjÖ\10¤z\b\ e.²·\9b\93ëï\1d¿\1cãÍ\87\80\9b]¥¡Ô§\96ç~\9c\1a~\9cM\93­H\96\8a\87\9b¢{ëÑx<ÛÞ¦C*¿¥cåW%¢°öiOÛóÌHå³\ fÜ\1a÷k\f\922\17\97!S\\1e!*
+Ã-\8c\16\9b#¼Æù¹¬²xÇÙøJæg®Ý\1fúЧè`\97¢ùfw¨nxË6?oå®bè/\8fÙ\17úLÆVï\ 1\92æo:xn\7fF\r/Yê¡U\1dË\ 3¼áîxû\19^®z~Iû¸Ë~îåáâq#fx\\87}V÷\ 3÷m7Ψî4\1c-S_C\95ñá:¸..?¢élÍÁïdà1\9c\ eC\13«vËZnRÉwÛ-*i«\ fY\1e\19\8d;U­ÂpåT^w\9d)Þns§*uùã\95ªyÞr<\83\95\9e¿ät_\96\8f ;ê\89ôGEèαþ\90é\ï?5'ÿ2å\1d¥õ\13ggÎó ;Î\ï9\13¼ãÎóÓ\9dç\9f\14ï<YÞwã¼ñý¦Ü\94\1f+\râÊÝn\9eKîÛ=\80o¿é2\bõÛ®\8aû\1d\7f\95K\87I=Ãñ\ 4\r\91¡\b\9bWR\10¿\ 5ÅN(!üÍ\a\b\9d\8e\12îì\11|\9f\11_¤#y«'ÓZ\büu¶5ïPùrËÏúe÷ûjMÿs\ f3\83¹ø+\1e\ f\9fk ¼jyßC\96ê;ïl£A\87_Y\96\8bù\1df³©¾e¸\99hj\9fÇ«\9fÛµôõË|\1aé\89\8c\8e»³¢~\96§\9bØL(ü¶I\9drÖ®å¯ïЭ\80éîdq\1d(Ï<F\ 2ÿw\8eÊMü\9b\89Û:\19\19Ì÷ÏÅñ%¥\9b~Ômù×ø\1eC^?ãøëqmÜ\e\92Ãlõe-WÊÒw\9c\ e
+\1dº
+U»%\11l\9e\99\8a\8bµCjvFñvw¸;\ 6â\14ËÜÎÒÿ    9_7SÌukÖóâî\rþ8Xü\93\85rck_I r±,Ì\17gßðämûÔÎW8\ f¾\8få¾ò5ø\7f\16\90ýt\1ae¹h\1d¶f·\99\9dФj\9cÒz\19Kié¡/Û_.ÓÏ-áÌåæþ-壠\14\aÊ\82§t
+\a¶ª¾w\82\82øt\8c"\82\83Þwåø\82\84ëô\bø\ 1Búëí~@(n½\15\94é\ 5\ f½µ!Ú\ 5\11Ëe¡_B\89ô\92]\9f\94(¯¯¾eÎ
+/Ë0ÎxB\8cÿ\1fª¸¨(ÞáY\9c²\85\1dêìÙ\19ð£ú\18\ f\ 6Ä)\ f±e¾¼\85#ïùÚC\ 2\92àµû¼ÀRzæ§o\9c)M\7fgîÊ\85+ÑzUñ\ 2\96÷ø\1aÂð¥ý×Z\ fõ
+cp·o­aL÷\8b'¦8)¯²ßO,\14ß3¦Ü]\82\9cì»víPS¾[@\86\94\17*ÞÜ\14ÿê¶ÐÞ\82 ìÓÖl@T?~ÓÆÃ\ 5Eõ·ºÍ\80T\7fV\ 6@À©=Ä\96\15/ÚÞwß\82¦Õ\4\15°©ür\1f\ 2Àª4\ eï|0ª}G׿ 
+«w\96Á5\85W×°\14üð«7\rÌ\17Ì\15oisËá\ 2®äù\92¶à«ùÚ
+\190¬<\ eé]ü+\1f[M¥ë\ 5\v×~aYð8iî8V\9f&5_`+^\1f±\ 3\98
+ÛÚIÉs·ýRTø\90®<]¶»y
\86ÝTl\82ºû×<u\80+¾Ñb\81t
+óîq4\1dP¯w\1cÔÜ\90WÛ¶\ 6\e°\15ÿ¯ÆY»¼»½\9f\90Ù3/d\9c\93Ñs,TÔ¼®~w¥ÝÌó2¿®zû\9dòp²ÕØo¿\1fP×÷GNìøùØ\16íâ\7f<²(ëÅbÂüåZ¸%ËØt9ÔN\9eLÅ%£Të8õ\9cÝr-Ü9iç\16ém\8dÕbw\r\7f\e\1e¦óÀ{»òe¨¸ë-?L\17«_ñç¾~÷£\9ftÝe¹8ªî\15ú\ 3I_|\84«V´LøY\1e½ªÖëáûáûáûáûáûáûáûáûáûáûà{%ÿäöK¥ \16´ï¹£Ü\82\ 5\ fæE\ fÓÿ´uzT\8a\ 1ý\b7Ú¢\12\18Y\f\\86BB\16C2ÍCÓÇÈn$$d$ä%ä'd($(ä)d\r\90¨"<Ë\97@47&TzH÷\búô{\9c}¢=Þ=æ=ê<¸ûô~\16?\17\1f\90\8føW½P\162S\8bÙÞß\95¢+       ¶.lzw\94+Í^\94þǽ}b\9fÃ÷\7f\99¶^Ó¶Z\85©§m?ø6Ð\7fît\12´î\ 3¡j\9eåY¸\9a\98ûMëG\9bÃp?\ eYu\94-M\15Â\98}\9féòOþM¹¿ô4\94ÜáJ+\16re­\ 4k\1fþÆ\92\9bÔ\9fü(\8b>\ fÿ¹ÔÏ4\94Ã\ÃOÏóþ\8d%0ù¥­,0¨0ï?èÒSÏÚ\ 5\14ÍÕyÿF\92\98|vF\97f-_;Ïú4\94ì\râ\92÷"Ñó¼ÿ£IN<ê+?Ïú4\94Î\ f*ùÑg0\1föc¨\95ùÎ4\8bø\ 4\85iûè/êÓiw£bßµÐk\97ë\9b\r¢\1655=XÇ\91\eö\84_3¨ÍÚÈ\8d
+\1f\8a`@y¤Æ\19ó\a\96[\17V\83GZ\e<q¨ðbÏF54MÓeÅz\0[qÌ\@Ä\9búÆC)®¬,¹¢ \§Öm\10¯ºÐ\15ì6²Ö0EAîn(_\93F\8f\8f\a²)g2¤\82»«\8b\19Ñ4­\8a82ê8(\9eÏM×\1fÝ\89\ fØ¥#\809\14¥\928\\ e\0Ë'Ó\ 6\vÞfÆ\ 2d»3k,\94çÌÕ\8ctÎÃhHc  è=fÎbwÍ\bÄe\ 3\83âö  íú\1a³eL\84;¿µDý\0\85\1f|\ 1`à°\1aÈ\8d\85\r\ 3Ç\14y\ 5\8eʸoÑ$xÔ`í45î\a\ 6y\bÁ°\ 45\93'rt8ãp°ccã¾ò\9d\87ý\17<¹Àî=ø\9a\ 63&ôkî\8e\8cÔ0ciè\8b\1d§@i1¯ð\91\9c\ fXÓA\10½³Uæ\87\0\91ë\1a{g¨×gý\8d\9e¡!\ 5\a\84\83\16Ä\ 1\96\1dê\8f\17z¤ÈW©§ôg\88-\97\f´Ów|2o\84      \8dÜ\ 5l§¦\v]_\b\125)\838N}=¢iß½ì3\9cÏAÚn\ 3E\89·±hùÈP¼\v\90Þ±¶è*³Å\80×\98#\8e¦|Î8b      Ï@f\f9ÙÆÈ&dÕç¨TöÇ        ö\90\96Á5ª\bðzô\16å\87­²>\10C\17\8d v¶A=F*D\8dÞ]Í\Wb¡B\82\95ÅziZÎ\11\1aÎ\11O¡ZÐ\14ºË(\vÃ\fØY\10,Q\80\9dD Èö\97ÒY\94\ 4Íb¤Z     àîr\97Af%@\8bù6å"\1fÁÒ-­ÊT\8d\ eýÈ\80tm:Ç^ÚÈaê\9b1\18|å¼F\15$Æ÷n5\0MÓKS\92\90\b­\e\14V\1fx\8c\9eçTVz\ 1a\e§õ\10}\ 4y9CýQ\9bÕ\818\84¥¤ÌÝ\89\ 3\8ff8Üf]\8c\19¤oË6F\ 4få+Éæåè1t\17\93\9b\ 1i\ e\84vÏá~¤úÂe²6cf\83w\9e\V7Ô\ez\908ü{d\ 6R\8azmIÁìIºÂ\11\82Ù¯XB)w óIè8è\88ý\ f\17§ÆM¿Ú\rÙ\9c×ÕyCjù\82¯ÉB¹\1fb£PÀ\9dº§ðÖRÚ       ûdg
+ÂÚ#å©\ 6\12µéË\8c#s¥\18\ 2s5]\8f"v\81ö"^R\v\b\88îº\8a¶]Íå ..eDXÏy\18¹\85\11uðlOC\fìßݺ«nAák\ 1µ@\e+52%µ¢â½>a°£\8a\81°\e8\84TÎ# ¤é\9bå\86\12\0¶?\99ûS5<~Ï\14\9cPùØõ2Á\8dg¹f¢1N\8bɪ\9b=huôò[+\96np\87àá¯Í\83\84¨\8c1«ÚËã\b2^ô!¤\a(\f³\bUÐ][\ 2Âx\84Í\88\ eQzC\97<·<ÝV0\96­ï[I\1e\8e(ó0äÊ\ 3~¬aäÉ\102á²E\raüÂa*¡>±¢\ fí\vpÝRUD\19¡Þ`O\vF\87ö½z\19u¯?δrÒ\9eOì¨\8cÂ\9c¹q   U\9dõÕ·\8aNãá\aß\95¾3ó\vîßf\98¢\9aá½lÚ\98\f3þ(p§>*íÄXØßP\e¦Ý\8d´\a\87H¾q©Z¯T7q\9c²g(ÝÚA°ï%Ö5\8cÐôy4H\aQ®Y¶±kØÂpó\87ØaíeÊ\eTñ|1M\84SúÄ S\9b/ôµ¨ÑìÈ+\b½\14»\10Fpðm\9b\16Jl½$öË\12àÃ\ 4Î\19\9eM\9e\fâ\rß¶\8b\9d¸à\o\eMY\rCäî¿\8d\ePÙþ%Xt\84(¬Æ\1ep 9¬s;S.\98\ 2¢-\8dQÛÂË7íE\ eVÓ`\90Õ\11\87Ï\84]\9fg\9e\0àÊ\12ÈKT\80öK\e61\8càf\eº\1fås-\9eh\88\8c8×Á:½\eô\9cÒ9.ä²Â\9cæz¯m!>\85»;\19Ì\96^\10¹-5«\14q\15\ e\ 3 =\0Ûl]Xñ§TÀ£\9e\8edXíØã\89\18b3Â1\87\8eSb¨s{éÀX\17\19 z\9fÀ\fÇ\92¢Ä=ý¢ô\87®ÅÑ^3FB?·e\9bh\8eàÍÃ%\ e\17M¾PòÍöÒBÙÉømx½\1d\1epr¾·9í<\81£\115\1c\12éÿÏrs~7ªº~\.\8d°Ê\80`*+ø©w Z\8d\83\18Åä\96\96\80ÚA\99¨hób\95£R\1a\94dÂj:#\a9e      9ls^éÈ\rBÃwÃDF   ïúC\87íóP©        åðd\8fÈ©\1aÞåìÑwÿ^\8bÞ\19(>ò[\ 4¨\12Z f\ 5\83\7f\ 6ä\8añú\90\8e¾\13\ 1±Üômû\10lõp\8c\9bÌ\9a\1cê\9dcM\19#4{OÆÒ\ 3!c\18R\b¦?6\ 6ìEïæ6\90fKÊ\9d91ñ\86ø«cÇÏ\93\1e¾m8Ìlµ0¤ÇÃ\9b\9c&8r\v¾ÆÞño±·\9cR¸Ü\ fÐ,Þ$ÕC\16,\91\83
+'&\86è³5TN\r{LlØ\85Æ\170yI]Ý\81\18þ\rx%gÚ4\854* ±1§ <\11\9exjS\92\13\92ò\f¡Qíæ\b\91°\14åñ,ö{\ f \81\92ëÜ)ü)\ 4)\ 3½\84§Ú\9e\ eLV\¥\18NË{ó\eÑÛ\92õ\83ÚÄÿvP\10\93A³#Ë#T\rNïgå\18\92ûc\14l1Àt¸\14b=¤cýXèy£o!\868\80Pw,È{i\e&ÈRЬ t 7\ f·\e
+=¬ÕhâP@\9e\86ÞvõmdðS\e\8eàP\11Z^í·\ f­v\ 4\ 3
+\93\18QPÒ\9dX³|ÏÕ\94ÙñƲG\1cÆ2¸÷W²A\10ê¾r¤P\8càB)ÙN\1f\bê}Ç    2ò¿Ì\89¨\81Ú\10yS´\e4\rò\0tQ­?\ 4»+/\11\18\17\8dZO¸j"ü\10Õ\0àÐÌàÉÊLCB·#÷\13\90³¹«$,\961ÿ\92\94îw<\80,ì¿\98h\19\8eþ\81\85´©÷y0)åÐ,¹µC'Vb´JØ¢\97,X\89YM¿¯\98L¾¥,5+\rñ\18#\9dJ_aHº3\aÂ\ 6l\v\ 4<\99\f\88«{ÓÙ\8b$\91\190ÿslZ\99í
+É$\8c§\0\92\95ï\8bÁo\1a\1f66wÜøe:¹\8fÑ\vÙ\8f\92I\v¹¾\95\fü¬\ 3Á.A»\8f\9c\ 3¥Þt Ð3RZ\83c¾r\12´P«\12Ò\8aeýò@FßñÒ\ e0Êp¿\8dô¡á? lV¿÷z\86Þ\ f\8a\18ô±\90\15ùÐàá,\18\r\Ø1\12#\13}\86Û6ÂܧËDþéÆ-(Æô@\1e²6B\96ÌM\1cm\87l~ß\99\9fb\92%þäÊXÃO\83t¾6L\87RæT\eËÚ\8fy~¶\88h\83ÊwFBïf\\85\9d¤b9PÔR\10\13O\f¥Bÿ¦\17\82*ñDD\17\14È ðùF7´\ 6è¶§Þ\89\843\92öÃ\11\e\ fµ\ e9T\ 5º#V(\8c\ 3\ 4VÓq{QÙÎè\8eÛ£'\10#¢;^\8cc\12\94\ 3\aËjC^\85\9fd\8fâÑ\8f\8f¹îmòÚä\80µó\8ep\f\16[j\17Í5*êÃFÿ\86äS\89\9aX\ 4NP\1f\0,´CljnE-®_\fp\ 14\9e\ 1\8aÇ\ 6K\15ts\bßÕPø+\0¬\8e]ÍX"\ fn{6\13\97Ua\99Ís#¢5ý_\84'B
+Æqoñ3\84\ 3¬ðÞÆ\11\9f*ö¿\b\1cPbÍOá=ì\84\8e©tãùÍÞ\8dJ\81#\89\ 6ä«1ØFñBdüÚ$%\e\7f\16ì¬o¨\1e(M~\16\v$ö0,\18ä\8f#¸j\88\8a\7fðÎ,ÆÐ;°#\89\aDÑÓ\9a\92ô\rò\r½Ë`Ù1¾ \e5Üq\92\8b\1dU÷R\9bÒÙ\81±\ fÿFõR£\81ÌÐÏ-¼¯î Zð¿º\85k `Ö\97ú\10-B>\85qþÙ|XG¢Ô¹¦a\8e!UC@Pa\1fêøê¹aÀÌÃ\19\99\ 3¡\8djøÂ´*\9a\88¸ßX¬H*©A\f h\ 2y
+\0\1d\8e\90\8a\0±ShÙ\ 1i2s°ÎD&ë^AÀµÏûO\83\94\93B\93^%é¼^Æõ¶Í¿\9f¿±¼Ô\11\82,\80^d,PRÚ \91¼\ 6,m\8eôغ£n&$\1aQÄþah\a<NÞq¶\85áo Ç\11^H¼\19\19&\ 1a\80Ç¥\85ÿ±|¶2\7fUàX¢óË-
+RÕL\v}C9ïà ËyÀ)÷à|Ãí\0Í \ 3*³ù\93Ë\1d\0´\a_KJ±(\ f\82\99eä!\10\97Í<\8eÙm\8fò)³½\7f¢ø\7f\80·?\98\r    5ý\8e!\ 3"  \eË\0f\99\848®lX\r\80\ÎrÆ7\ e\8að½W(Ö\ 1ÑôÅ*;Ù\89\9dïf>;\80\99À\91\95éæ\111j"ÀÏ\1f~y\84wr#`Ý.ç\Q£\90(\8cmÛ@1Ò]S|3\81j¹¹\84¢ÞÁ1h\ 6N\93\84\8cà\fa;\b]ͼUh«\9a¡xË\eÛ\9byj\1eÛËUÒ$0µ\ fÜÐÚêæÞ\f\81zd\14'x1¢VÅÉ\15²\99\7fe1LÖ-)¾\ 5ÓS%°o;<Á²\9aã|UÔZìþ¿Ò\89r0\14°\Ö*ê\aA\9bÌ\89k\892 A#7\ 6W\1a,\15Ø\92\8a¹Ê4\rã Ü¿p\1f8K-\8dý (§Ç\97e­Æ7\86ý\8fá¸h«x\ 4\12\19·1² ïÏØlvÕ²\17\fN*ic\vm5-[\14.çÿ\86\ 25à5qàd2Áb8\128b\9a]¨×x\18àP\0\84Í\82À\93\93Eh³2¤\fRj\1fݼ\81Ë\81\8c\bdÑnÕ\v¼
+½9\84\93o¥ 2r\99¬^e\7f\91y\98\ 5à9ö\89³\14ªÜÿ\8bØ¡J7\9dçªmºÞb\12Ý\9dÜû2\84ä\88¬\14åðÃ\9f*¬ßo\8d\832Äé\f1æÁ:æCT\8d¾EЭ½\0\83±Ö\15|JW2\96Ú\96\18ø\94
+
+ĵâÌÁ%\16ÞÉ\92\8fnçN96ñÎçÇ·\88ä1\8f8óO/ê½\10Ü1H¬nÏ=¶L¸\92ã8t\959\ 16,¶âZþ\1a§\ 1a5®vXf\91RO°c\9d\8eo\80\90¯æP\8cñE\eyô+Ôv\8e\8f\83\9dWR\e\82ñHÎJ»³\92\96¼Fé\a\822hÿûÊÃéÛþ\1e\9ft¥ 6Ògû<\ 3\ f\93cpÑv\85\91ã?\12\1c\1fû\0\15qÀÐe\ e\ 3\19òæ:èMÑ_É\;?AÍ\8f\95\92äk\f¥¦º\0ùÓpfL\81¬\ 5øI6F\16+t\14äf\85â2$9\18÷Ï\1a\10l\rª$8ë\10Ô\ 3Ywý\ eÍ\ 1\87ÌZÿÝ$6\98\98¸¯N\84c\8f6Pæü3ï\96?1\94²ç\16ß\ 3\1e.N"Xè>\93\9c\ 14Ý[?;iÀ¾Å;l   Ew8zÒuêÍÝëGÇc[Ó\ f\8fêÿ\95\ 1Ñ|=\90d¡ZQ\8e}¯~¨6\ fu0`Ô\17çA°\83\16\a\b\ f\bÇë)t\80\19Î\80\80\ 3Ƹ%Î\1e4î"¬nµ\9a"\8f«I\7fÆÎÓ\ 5 ¸Ù~\91¤\9b;\164áà@æ\aêeA\fL\a\14lÈå\93\13ùó¤ê\98LuÓ\16Á>»(Ï\83l\9dN1±Ì=\86¸\ 67a`\82\8a_\86u °¹\19®\18æªE:¤_7°[.H\ap¶Pe\17ôÕ²åCÍ@ÔU\18\ 2A*\bÈnï\7f\95Z aø"\97°È:Q­}7wãdÊ*¤8S¢\1e"¦Ù~ì\99q@\ 1\8a\ e<`\16XõÇð¥§-,Ð\v2t\ 6»\8b&¾q¨|z\9d3c¼lÍ¢ê¤\98\96\15\aÐ!ËwJ)¤ÕìAÅ\rûJå\7fo\lòÄOÎ>_ðè\ ef\8b\98ì(9\94\ 3Í8³>ë\0óãáÄ\8c=`##$\19ã\915M\0@ò¡ÏZ;\rþÈ\93º       g\1a\97ê\ eI\80\0K]\98¡\rtbÎÛ\f\12\ 4$è@¾:½\ 6M@²-G\8cc\9eþ¸[Fm?p\899\b\93ô\86\1a¯"\19?\9a\ 6\11©Åø¸Ù¿N%!s\8f®\ 3?u\98gEcÃ\8f\ 4zx\8fÍ\9c(©R\fÙ8\a\ 2Øß\1cÙ¢\80\ 1@õD\81Ñg\a\9e¯\v=ig\9e`ºÞnª:¬5èz`úòpÆ\161\f~­³k\83\1d\v\ f\9d\11TI(\rZ\1c
+CÎ=¾Þp\ 3\954\80M|¹\13\84cêw/8q\9d\8a,ëPÛ\7f2\8e\vÛ[á\8fi\16\18\ 1Á\90¯§s\7f\rÊP˾(àµ\vtÐÝ\19ñ\84\ 2AdEºk\׬Ø;é\1c\11©q\9b¼úÈbZ\fé(Å«QÁB>Ð`¯R\81\9d7Ç^:ÝßÝ\99JD\1d\8bî\11\14õ\12FS\ 5ÀÏ\e>|\10\86\90"=¾l¢\86\1fò\9cq\ 2z\ f8\81\ f\99   Bçò\1a\90í\84ź ´ØT¾ÔÊ\bõâ<voÖ;§\f\94\9dÅû JÙÀ\80RúÈ\f¥º\83VÁ{\9a\ 6g\ fx    \93ñ>2ÌÓ(æÂ2ÐzO -\83ðÔzc\98µDqH6
+\vay\1eNÐ,\9bÀ©\r/´´W!ÿ7*\92úygb-Æ·\15\93Ü$Ù/1\8fÍ\14y\8bçë;\9a@Ï[1ÅØ}.Ø©3Ì\87Ò/öQXA`\1ea[ÉqS\12?(ò.\19±É×üÕU      #õf\87²/|<\98aFÉúóC0»&Þ\90\1f1£è\ 6\80\12FVÇç\ 4\9e\9c\ 6üy`^F\1d\ 1ß\92\ 3\1dò\9ckQ\90ÿ¥\fθ\99\9d\9fÊqÿ\98qdá\8e\83<Z\9fj\19ª\92\8ek2B´k ø4¤\8eãâ#\81\bÒ`   ÛNf_ÆQ\90\93\131Æ73ì?÷\8fSX\7fÑOÆ®4רÐgô/±¿\9aÆ/]Ã\8a|~ð\14 F,\ eç|K«¨
\8ek\94]T(\8b\94'XBÈ\8a\1e¶<вAÅ\1fukQ\16\f,\8aR<nD?X;1\0?\87l\15ª~&Údbò¦m\ 3\1cLy
+Ñ2\15¢K«¯Ùð-û\17?\8eX\86{\ 1\ 2ÕA-Õ\19\eüéGL\9c\96é\8eó4´`Ó²N\80u½°\a2@\rÒk\b5\9c\ fC²"Ä6;YïeH\1eÒ\9eÜñÒ^¨§¡8\93\94_{%\ 3½(Z ~mk­BÒ§\95\v¬¤\98*uc3.\ 3¶â\80\10ê(\935ßÕûÆ\9bñô[\ 5NC¼\0TÏö\8a\a\e\88!Ú2_¬\94\rn\14ñ\9fô¡\88¼\9fÔ²ÖjÀÉv\ 6f2£\84mp4.üÖºÂ-\v-BêÙ\19V\ 1(\ 6`tÁQ\\16\83\8a-\90ÕÕ\r\ 6ìÅÉ7\9a¾ã\1a\9d
+\8bTÁ®C\1d\9e\19°½2j%\8bVul\84¦Ü\7fI泫'\ 4\19 ~\8dUT\fÖp?ÔYSé\l§l\8cf\85\99\05Y\15\e6\fnϦF0îo×EuM*\fó\1ft6\95ò?\9dQ­k¬Dîjçµ@+Õ×\17Ò \ 1\87ÅBæð©Æ¨vûq=\ 2@e+«¼ \1e³÷é»çêº0r/cÓ0\1d{IVCÓ%Z£ºod\81üUP9Ô\aÀë¡\ 3gªø\1fýj»Î\84\a}jª\7fØjFwXÚ³ëS\83\10\11µ7ã6Ϧ8\8d\18?°Ö\16\ fÖÁ\9e(ñ`\ e \16­À+\9d\9eÞÿÀ\97Qý1g\9e)\93ädx*5²þÒÚ\1d\99sL\a\87/AF\85Ôþ\18\80ìÊW\ 5 Æ\1c-\ 4ájÊ\89\ 3b\8b\1aUãaû\fòãì7¨^\0ÕÄ \12îæ Ô\90ò÷,Ê\88vò×ò\19J\ 2\ 3G7Æ3=\Vv\r³/¾1\82ò\99ÌV«òZ\9cΰ\rÒJ¹J\1fhÀ¸\0zºuaìj8\1c\90\8c±LÄ8\16Í\93Ô\0\11j,Ì7hr\14\18F+`\81\9d\1e\ 6\8d\vàÂÔG«¤â×W«§\96"Æ)>}â\84QÁ°å¼à£\8fU3\8fWJ\98nÐá\ 1\1d]azy\84u®x\95\ 3Ö\14[\89^ú0\9fbRB©\9cBX°J»\131n\19 \ fK¦&ç6Í@Të\12\8aþ\v\97\1a£óý\8dýÞS41¤·NÌí§T\84\8dݤ\8a\84mðá\7f\91ÏýX«û\9bá\9e  JèÇÍ\8aP\13ìª\99?7Ø2sþw\85n\e\12ß|\e\87ðXaªóÿ£a:\98cU(/ò¶\13¢\ 1L\85\99\13Ç)}á\ 2\88½pÅ\89\8cÂe\11sc\13çÑ:Üß\91(ÑJ\rÉ[\ 18\9dÊQ´\9dP¼="
+üó\91\ 1Ä7?Â\1aq\9bª\13\9b¼~Z:k)\8fÎO\14\97w\ 1\ f\80\86äûá\92èk\ 3A<ãdÂ\0É*i\1fÝ\ 6Ò²\9dN\19ãÁ¿\16\99}D¬\19\8ay;ú\ euzYS6-/å\96¾'\94\1dXצUmá«û°ëÓ0\8eQt+xÇjdD©\97×7nBþãºßÄ[\89Ý\1dÿi\84+¶ó\1dƧ\8a\18¹åµ\97ó&\1f\f\98\ 2Ï÷·I"t\ f¦V\ 5I\97Æ*ëo V e\82È`fÑìU¡BÜ6\11æH\87\85qöæîº°¬Ç¤GÑÀÕO\10µ\11a\93!Nà@â¯\ 2¦v\9b\82w*\19Ý"æb±Ú>Ä)EJáHR+g²áÕ³\929\ 4\12\98\8er\14\84ÙÞ\ó¨Y\99\88Êû\8b\v§(îóN\9fÜÒ\88TFl\86\96½\95ùBý­Y²Þ¿2ä\f:~qòêæ\ 1²52@nàì\ 5\8aY\8b\ 5àwzÔÛËk3Dø\aÿ\9b¬(ù\17B
+|ØNúû>\12\99\98Z¦ìæ±\83\93`\18¤x¯f\8e\0\94+U¤\f1\9eÃ\84à\bÚÂ4Ï@aU(ÖÂ\91§ë¼­¾\96b@ï\17¾[ÜÆ|Ñ\91\95ü\1cÎÝ\8bB\ 6ÚïÛ\96\19¢Þ°Å7hQ\9b\vÝlC4ÌÇH\1eRæ;HK13Xz\11¾\ 1â¹éc\18\a\ßÌ\87´\1c.Ä{¹gÞ)\15\90ÌýUÍ\89\ fBÊg±L\83\16ª\81r³ý%'í\87özJDDô\94\89\8fô\94\81é\8bÎäÉ\89u|á7\fHÎÄ:»Ó)õëý\ 2ï\8cÖÛYE*\9a]¨á\ 2\87\9bXÅ=¯\ e\1d\aY±úKÒ\18$p*ÅVhFÃê}ܶ^öø\ fUr»èw%\80ìS?ÑI\96-\99\ 65\9eæ\ 3¡¼28ã\10êôÁAäÏ\9b4\ 2oyÊ\9c/ñ§W\82\ 1\fü?¿²<¨\14\82\8bF\86øªv"Ú(4F\ 4;\aè\ 1\86òÖ\15\8d\1c\82¤Vd»ú©\88nå2\81\0Î\15\f\9714Â^`\14½ch\ 3éß0Å\15\14\16\!\ fF:\1fFæ'\17ê×¢\99\93\7f#çc\81\ e\9d«àÅiàà©z9Ì\85Z?\94\1eWÑe\81p\r\91.Ðb\99">BØÜ:8\ 3·Jä¨àVêY`m\ 1ä-ÞHʤù"È\fãÖ»\\ 5\10\86\9fþ\1cP§­\19«¼2ySÆÊ\ 5®?XÓv, °×|\95e\8e¿\r\819|@«ëxÑ\8cY°j.*h\86\91Ç4Øÿ\0Æ\802p\9b\11Ç­£\84ÊUð\9e×à÷¾\1ea>\ 4üÁºØÒ\a\95ÍEùhì\12ÿ\125y@B1ª²\83B$¶ü¡G±óyóo\1e\ 6\8c«Ìî\1a<\1ci:\1cuøzÈpä×É8\8al~\8d*¬¾¯ î\a~z\ 6§wà6×j«GæÇ\17Täà\162\8cÜ\802´5ü1å\1a×,Ï\90\8b-P¹î+Ò\17-®º<O\e\12Èl\8cé\8b\8c9ÍסÜ\8c\8e\19\89\96\82\19\8a87
+¾á»Q\vÓ¦m°ì\11Ø5°RWÈ|\82\ er¼hô+ù\92;\92åU\9f\84\ 5\9bj\8c\881O´\8b
+\8fɵ\16ÇX3Í\16µP\16öM£ñdÁ\ 2ѰGI\93\ fB%Ù\fS@ÐÏySÑ\16\1aß ùÔ\1c±\1f¶u\8cS'\93<жÁ¸<©Ü\84=\19fzi¾1i\8ez¦«Laê\7f­1\15½¸Ñ\95÷ÄÑO¦\9d\9b\85\1eü¤\1dÝ=âsº³<àXi¨\98í¤V\97Ì\1c\81È\17"Q§PF\96\f\18Mâ»õÔ
+nÊúÿ8Ï2Ú¦æõ\15>\1e¾r\99( µªdfxf;Ué@¾DÛ`¨ÂQ¸ã]"M\9fM\9dÒ\8d\86ô\ f~6\12¡ü¤é©\1eÂÊMpaÕ7A ?\a\81VÊùi\bÜ»?Ù\11Ãø\a:\80º\8b¿Ñ\8dÅ\b\1f8
+}tè\87¥ B\rÑh:s\90ÁµÁ©N\88P\e¥Ñ\91©û5¨à^]Ø\0ÑÀèqEq\88\e$À÷\90tïQ¾rk#þ\8fß«ñ[@\14\ eT
+¸â\8c\1e
+\ 1ò·®Fm2ñYQ´¿\ 5 ¢ØZ(ÀÁ\ 4\81\bðþ´úÊȪ\96AË0Ö\1c\9f\94ÈÓ\80)hÀy¯h\94§Uë
\10\15P4\99µ\8c\19`éZ9¡$³r{àc®Kd\ eõtk\fä±\80ó>1{ò\9c\84r\9c\v\8aB6{\8f\14¨9¼áø-\ f\1c°·\ f=\90<sc\ e\9d©ÄkÑü |\93qÜñ·kÄ\86¶sG\80ào"Ì
+ATjpº÷\99\83ay\887p\19\17adGêwX/\ 2ò9TÂ\8bìÃ\ 5ã "ëÃ\19\93uZò)ÝÁ·òF\ 3%¤Æ=M°^>\ 57bA\ 6Y\1fµ\ eF\1f¥ÎÜE\9dÈô-ɵâÃ\ 6Ðè\86!9 x3F/é\8fÔ0Í\8fÍ\ 5]ÚPÑaÈÝ\8euµ9C6ͯê\8d\8e\9a§\ 4\85\88\ 3\bjþ©^β»è¡\91@Ú2Å\88\r¢\10é\17>m¨ù\15L;t\1aó\0\8fDEL\9aOÒ1Æ\15\7f\1c\8d\7fP`´=ÈZþsF7_´Ý\93Èhgá\80øXXJï\8e\12£IÝÂwªeÛg5K\10èT+\1fB}YÍRà³:Dõ¯\87 ©j õ£Èf\ ecv¤B\81C:\12\18J¹Ä\93H\ fæÓo@à7\91ë\88TÅøï§\14\83Ä\1c\87YõW­ãnZ\88×A\93<Ϧ\r\82uųáÁpÇ\9d¿k\r Õ<Á\1c>èz\8còÐU\12D%\99\99pQÁ®\8a\ 6\ 5ª\8b)\96\1a³\89\ 4(Qe\9bËc \ f²\88Nh]@\17­¥¾
+\ 27\ 2mFFÎ\0ÜÌê^C0[\1d}cwôU)òÀMkðC\9f\ 6?ñ1Õ\ 4ú;\13À¿d\979&\98\ 6\18\7f\1a¼\18ai8N#íbëÇ¥#)uÈ}\a\1eN6Å\83\8a\e5U\7f#B\9c}b¯Ê*/¢Á\11Ê!Þ\ 6¬¥ú`ÈF\8b@B/ýê\f \b"\19Êwh"qx\96y\98z®NOØF2\16\83Öj\888ñà\82Ñ#\89\17ñµ¾ßHÚv6\ 1'¾$qÉ3©:%ãg\12\9d$Hâ&añ\99#Vqô¾ÎBÂ5\12\1f\1d\8eþtD\9d\17\83¥ïS9{"Iz½ï\89R\94HY\b6\9c\19ÒõÏüåâUË\8d\168\91$H\ f\97\9b\89/9³Ù{Ï\ 2ÌÞ\8a\e:\13õú\99\91¤\88\98\1a
+ÁÐ9\15ì>DA\0\87Í\93?J3Æ g\90\ 5(@\15ÉïIÈÆÍ\a\13\98BÖL¸®0nIUÏN\e²e\8eÐ\905Q2wÿw§È\ 1\89v\99\19¬³ DI¥\1a\19\8c¿´\1fi\9fÖ~/ß\88ä_¸AkÁé¹zÆOcMÇ\81<º{\eUyO¿\1e\91\8d\9f÷:M\13.\8f`<º\9c\18\92Ò\0Ê&)Å\81\96ñ¤\ 3Uõà=:í=±±ý(x\13É\9bñ\8d\88]¾í\1aNÏ÷Ù\9933$\93\81\ 3\0 Ä`\10@XI\ 4\92A\É2Iô&@\80@\11¢
+£(h \92d\18\80V\ 6@fLs¶UV\8aµ×ªÛKkjª°\ 1*ÈE$\0\0!Öª\8aX\ 2ÓáÄ´Q@\0\fÿû÷ïÿ}\99$\91Q(m{{yÎï{Íñ7\9bÍñ·\9dð÷\9cß\v|\8dç\9f¼æù;è_}\13ï 9>\1d­\96É,\96´ñ\9e\ f
+\ 1v¬µÊÌSBg7\15\97ê÷\18´\8a\9eÄ\82Â.\ 1[±$²¬å\ 5½<È\89¹Oà\ 1dùg\ 1\8a\9d\14VÂ7\99Ç\1a*¤4\83MïÍ\1a»õüîÐ8ìçÜ?\ 4Ç©I¿6ÓÈ\a´ðµZ®Ó\ 5Êßµ\1eA:±új4ü\143ÚZò³>Y\ 2Åû\88\86¥Áßalg¥Í$µØ\15é$óÀSa©Ør\95\8cE}\92´~\97\1f\8a\92>}\82¶ó\15'M\9b\93³\9e\98\ 2Ϩñ|Øíz@[Qè&6\ 3\92\92,\94tó¶D\9d7\8d\97b\95\8a\ 4ç`\9c\90\áÜU\ 4ÆÍÎN\81ÝØûÞ    nÒZ\85¦\82h\17\e\fc\98\87\81FJ½Ìsë¸w\86ò¾\12ÀLÉtÐÓÏÁTgì\ 2Üzÿ`\96\96¼`ÿ1BÒ\92¸\94â$Ø'ñ\8aç\ f,è&,  m\r6{>ÖzY\95,Hlâ©ZîÀÑOÑö\80¡ßr\r\b¯PPLm\11©ñ\89pNÐ<ØPfë¤E0ÜÔÅ\ 4j\9bl[B,l!\11\12\v
+wa\19M\137+äE\ 6Ë9\84\9bªÊÂ6u¯\8a\1d¯¦\1cc2o¢ú[G\13\ 2£ê\11ð«Û;\9ed\1aD$ \9bw\95\8alí´@c\85\81ºyÛf\93ÆÃ@°ã\83\f\14\ 3¼¬©±ä-ÔcÁɸx\17\1f`ßêT\92-Hç¯\9eÒò\ 3ARõ\93ι,idRÍÙ\8a¹7\ 3\12ðÀß+é\83\97õç\84´B_\16Ê\f1Yý?bTÞV\8dÜ\176z\7f°K\93ªù®Ì\eSÏ(Z\0\ e\92\98Ýh/æ\83ȹ+Á'n \11Ü\8d\91'\9bÙÒp\8d\ 4í\16¢\9a\94\î?¬
+;×a\898\1f¨ 6\96u!×úqª*¹®âQU Xhnzã{樂\1a!Ls\a\16\80\8e\1eê\ 3*3®\ 2ÒÚ\ 5w\17\97\83[\i\98¿»ÊB\a:ÆXÍ'~I%ÿë\15UÀ¹I~        ¨³Þþqìþ\10        ÜþÑ?\16\1eO\mFâ«zõ´6\b\1c\ 2Í\1aw&¢\11\8a\14:\97X\ 6e\ 1\7f\17.\12M4\ 2!|¿\83\97\12¥¢Ðê Õ`,/%ödÀ\v\ 5¹°]¤á¿Në\17\10\85«¯\8aµX¨á<\8f\8efeZH§ÇMBb¾õ\9cìè/kñ¹àâtYr"òíRÍ¿$å\8bäb¹'Ý\97\83WQçb\89vÚy¸®!òámP\15êTJRëÈÅr\ f\98ìE¡´±©ÅG\9f©§§E¡\15\ 2ÜÿÛS^lç\r\95%O?Öó»%\fÅFo\8c}y×)¯"t#Fõ×&\81ò\10Ú\12`)«8}áõg\\1a°VH§\a¼T"È[¯Û-ªOqò       :¯¡ál»Á°³ª£ÄÇ\92köhF©<*Ê\93\82X\14\ 5Ç7%\9dñ´0*\94­\95R_áË\10X[jV\94W¸ÏdSÙ}\11'g \9a\98L­@\19C2W\86ûy² \91ìOt¿Ï\9bBr²Êp¾æ÷\87p5Ò\v\14\¤Â¨dqÐÉ=ÈÓÑ»\9dd\8e®i\91±âM\87\10
+f,U\8d68óýØÎÈ\8d\rhñö»\9d\94xzHð´ç;\9d\95O_\eoÊ;Ѭ£¡4\ 5³9b'\8aO8MÝÔÿp\fP\99·\96\90`Dw\84©³¦Ï§\99§µ\7fQ       \19YzpZ£§£µj\90K\ 3\12ÙÆ{5Ì\1a\ 4?iþ¬:ªö)\9fç\9d\ e\rÏk\\ 1j¼hâ\81K\f\15á$\16VªÄöøp\©Iñ{³DßÍ\1dZE1ûVðʨ¾O\ 3CX¡0¾V\8d\9eKx\\92B¢Î|Zp^\9bùhøí(FÕû÷üë        +4kv\rÞQTÇ6G]¿é©:\99¹*àXLÓo6uö\8bªì\9bnøMªëãø\98¸ç=Cj\8eKW1\84º>á)=îv£\95     I\Ú_yIãÉ\1e\8d#ÐXû\8düËzØ.L4ûn"\96p\0ÙW\9bG\9cDá)Õåm
+¦Üi·\1a>¿ùE5\97å¹â)Ëwhmî\10@G-ÜGÇh\18§ì¹3\8a­«°k/Ès´F¶Éª5¶>/\1f\93\8b\eÖ\ eõ\8b\84FsáÓïC\94' ¦ÀþÛ\14\1e'´ìAÕ}qâ×Qþ<ã¿ÆÙ<ö\80Ðiò\ 5àÃ\e¹Ð      \97¢¦ \ 5\86\86-\85ùü©é\0Ý\91¤¥\1e>\16\9c¢\10\ f,î±EûW¶Nÿ µ}M²wÝ\aEHÈZ®KþIï\80j\ fã\17ØDþ\91l3òû\15\16b\83Ïu9ïd¯\1fR!hü´êJö\ 5\ 1rN\7f\89Y\9f\8dì2¤¿\ 5·ÉKR´ÐN\89|-ôÆv\8c*Ouø^AÕ0 ,º÷\9eF\14\9cGp\9fÞ¦#2-\8b6\81¼åH \89é}¢\9c>\95¥&¿ý\ 1³\90/\8bé:çß\ fÛ\ 40S ®«ïg\ 6©ûÑ1¹´\17´\9dé\r0%3$ý÷ \98É\90\84]\86Á\9b\ 6<V¤ë=?`\81Ê_à(
+mÆ\10í\16\ 3À.i°`´H\9f\14ê\e<O`UÞ\18ö\89\ 18bpóJ7h\9d-|yÔÞÌ3©e®oN¥\979\13? §\r¦Â\93~Véb¾É³áå\ 1Y3¹\1e1=öPntȧ\8bß\89u¥ß        ±Gg³Ê\1eÎcÊ¥\80\ 2dùïnÏÊÊ\1c\98¬\85\97ýÄÃf\88ºZ:×Å\1e\18£\80þ«5\17U%\82EÃÜgÓeh5ríÐP\aõ\a\ 3ö\9cf³g\8cÊ(l\80lFÅÚP¯g'\94+\9dk¯ïô\10QqªÚ
+\7f+\ 5\8eh\9cý('z÷"¨\À¸d/ÇäÂ\99¥\b\1c\ 2¦b^éG[ÂSm]}öå\92»Ò\8dÿÏ$\v,ï&¡T½Ö\rß\81Þ¤öJ
+Ðq§z¢©ÿgª\17(_ó  \96\19wPuì\v\ 10BÃ\7f¡\8aèVö>\ 6\83ò©½Ê©}\8emWî¸úůÓ\82»hàrb       m\1a,F¦Ul\ 2\9ba·Â³a\93\10\12Ê«\95³úrEC5\9a6Låwû­ßd\83\99Ï@µ)ní¢:\8d2\ 4\84,´ðè\1e|iLjÆ0ygZþ¬d4¦ë\92\7fß\10Wõò:µ8     ,³ä0\89\9dú\82ÄOÚÏ\8d\87èÓ\ fõº\\90ÏètÞ\8aúð\ 5Áñ\11_\85ï:Þß$+n\95\95¬m;¶\94\8f\1c\1c«\13\ 2hµÍ\0
+'\r\9aó΢\10^ùز_z:²\82ù,\88nÈS\18[Skw\9a\853\9f\v\98R×8ÐØwOá)²\80\13\ 4\ fÔz\ 2\1dvÜáÆ\88í?¾~\ 2\80\1f»n\f\ÞÈ!KcR<£\ 16K®Ýº\ f¢è\ e±vöÉîLÖ>ñþJ"\0\a\84\9e\93ÃpÑÓQ\11e\97+w?}è ¢á\ 6O_\9f\10\ 1-J\14¡>¦FÞ\13\8f:ÐJ¥ü"-`Kç(\8e\16\ f     f\ f»Ö\15\frþª\89HM¸wª:ÝJ¾\e'U©:ëÄgD¨[.3ú¿\epBô\87éÝWÕ
+\85½\15\18\9bÒ$_a-wèÈ\85ß8IIäÆE¥%¬'zÑpO\ 4`nf\ 6ÂO\87\ 2>m\ 1îå³ÍÂÉÐÁUC\842æ}êr²\14\85UÃ@°k¤*?iþDBÄÏ\7fÁ\19KS\85á\ 5\96\11sI{Ô\11O\85©ú@\90\13ç0\86Þk°ï6á­P.<\ 5ë² \16ÕóXð´×ä\a\b  \8b¿\f
+ÑÔPÛ,\19ï\80­\e=ÇÐ\81\97pN/<\ 4®%9³hã}y)¿~[\ f\ euN©1íhûd\9eaÿX\95¦¯Û©\81=\9b\87¾hÄ0\134\ f­\9d       ¨F!\ 1\8d­Î\94ö\7f\11µc\9c\80E²kFÚ¯Û3Å\r2/Â[\91Øä\ 2Gùç~\9e¥\b6]\b7\ 2\1e\82²/\8dÀd\ fj´ØMÕÙ\ 3ÄÒÏ¥04ÓîfA5@ë
+¸rɵ^èûT\9esé"ÄV\10\80\93\12§áßôÜÄ\14P\86é(\rÙ~Ò·ÿjköÊ¿þ\r\8dì\13\1cg$8\\9b<M>\1fð\ 4Ô\ehh³BIñ\9f\0dTïqä¾G¦^z\9bàå\99\99yço\9b\8d
+vôür\89Ê\89\83móf\v\92\ 2\12¥Mö2=UTÌr\89SîLZ\b\ e\8a\98\ar\ f¾II\99ß\12z\eMk\89\8b\97\129\97\98o(Ò9´±©\98S\8câÆ§V\1cmc\7fídëÍ\1cC\94òaâ"\ 2µ±0K{&¦`(\ 6SÝ÷*q\18RÝÂ\9eT\14½h\ 2ÒãçÌû^.=KÝü׬ Â\9dÖë\9f¿T.'\ 5\91ÂÓ§\1aÇI\82´õ\ 5ø
+`(óÓ¿p_¿wçLZ,µãa*wSÑõ\8aÖ+(è/ü\18ã\97µp§\18{BÕ[
+?7®%µ\vduIÓ\\85¨]¤UQ\ e\9e\91V8yNÀÄ_<%Âý'\
+h\'ªîÏKC\4§^\12¦\84§Ð\18Á»q\1eÜ\13|MLÊõ\12\e\13\rì\80ü[\84&ào\9762üß\­$ê\84«ô\8dw_è,ÿi\8e+\bÕ9¥âñ\b¹ñ¼Ä¸Ç\ 2\97ò\93´:y\88¡\ 2¨Ø¿¾\1a
+.þOrzkV¶µ\ 2\8dêÎ]§\r\a\fR5µ2`³úÑ­ïäÂû­âñÍ    fÈÖí\ 1a\99\82ø;\eUÃV\89qþi;9î?\12ª¦MyN£»Æ\9c®ÔØ\14¹&Ù]0\18\1f3?\9b\85\1c\ 1øo\8b\80T\99\1akð§ýRqð·V\ ei ±\93é\85K\14\9dÐ\8d.\ewõàæÍ¦,\91Ól\82ÈfNä\15þbÔj\r?ï%Å\17\8dÆ\9e\99h\83E\13Á\ 4\89nħ\8aoØ)Íçð\14»\98\fi-¸Ü«M\ 6\ eMBã\11´\15d;«\12uÈÍ\fj\80¼]ªS\19V\80¾\ 5\95\16Ê3\87®Â\1f\82\9f\7fC\89Z
+Ù¨_çâÏK\1c Rÿ<\16¿z\ 1O!2É4ÐbB­ì\eN±kPswmcR\82\91]\0\1cw@Dí\\13¯
+\94S©4¤Ý¤ò«R -\7f\ 5`úÑÖ¾¨bø
+\9d\ f¬
\7f
+¹>û\92u\ 2±XuèKö\14s0âxÁÐ\10\12\9a\a\ fxf\96\17\b\\ 3~\89p\rûd\9bã#Ú&\v4\r³Í\1c{rÆ\8fÍ\8f\0é,6WOá\11Ó\9c07\ 1r3¨Ö    säsÙ\95\18\84é\179Úp\99\13Óp~*sð\ f\9am\15\96\85Ä­{Oa\9a,\v\19ÖãÍõì\reDgzàüU\1ab\9e¯À\15.sø\81\1a%­ÃZå\9c+Á.\ 3'Î1Ã\82,û¶í,¸Ñs³êÜ[òs\e\7fôËG\80Ä­ÂòÁÑÖ\90\10b'E>¬þg\ 4\83áÌ9üH¹\vb§íù\87\15ºû}\80>\ e\1e\ 2ïÒgßJÛÔvÍ\1aho\1e|`2÷Á       6S ß\81\94\8cõ\e¡WÿC\974\87.¶£aó\8a\1c\9fÄ94ñLíÀ}\9dµ\8bÌÛ]×Ï\9f¤[r\93\90|1 ÄÏ\8f
+}[v2ép\90\bUr\1cø(#@ÁF|AzøaB\ e\158r}òq\82M\aM\15)è¤ïÛ\81ÑøqɳýØÂ±ÿ\8d_:\92©×ã\ 2,\15A\18*ÐcXµh\\91kÿ\f°t\1e WGfËÕ%\18g·ð±\85Y.%\ 5Bd       FÉ*k3mgh+Ã\91}&0º
+-RAfRp\1a        +Ø,Ó±ÐaqÃ\95\1c\98,õÉÁÉ\82Ú]\8f\1c\98B\ 2Hrl\ 2³|ry\ 3`ßÇ&\e\13Ì\95\f\9eL*«Ç'
+\ 2\ 6\raÅûÆ\9e\f\98R}\7f\80äÁSOoÇ&\ 1dÞ¸ra¼ûqÉ\85\9c9?¼\v|ìraQ\ 3©\1c\9eX\16    Üð@"© _ÓºaÊ\85\9b®°Y \ 4Õ3£\93Ë\80\14;\1c\98TEö#\93Ì\e\a490&Ð\93\83\93\v\81õ\10äÀ¥RÉ\ eO"\0a\fr`\ 6BzÉá\90 W­Û¾Â\9dÁ\9c\\97\85gr\90r#×S¨\ 4"cb'\85òg\9dÒ\84\a\b\1c\85w©)\1eÙÿ\14\80Û©ñú\ 6¼\98º\ 4ý\9fj]\vü\19/³#
+jÍèÃ?´õÆ0\9e\92JÐ{ÏH§Cï\ f\ e'\86\90¾ã\14õ\82Yßãtå\8f\ e\9eçt8ôÅ\8e¹=®äqût\84\9d*UäQ\12e\86\ 5]l\981)Î\13\ 4\ 5ÏôÝ\ýÞn®j,Ì{±³qI°Ü\ 1¿£á\8d¹×\14\9dWÊ*âcª+(^0kv\99ñzÀ\ 3è\8d\10\v}å§°\16ûË&ªÛï$I\87Á\9d<\82©â\ 5cÛ³ýÓ£e´þALt»3l¦sÀ½\12ð\ 59!\ 4dÝéB¬\91î1j´\1e°h0d~\b4ö¼\ 6\9d*{V_\0ÕÍ\ 2Ä\136ôv³¡,üÓ\87öIK/îM°4\9f\1c\10Pþz\8cº\1fEbp¤´ÿ"úÃ\82\f¨\v\81\8dEßB7\89Û^\ eJ{èt\rT|ò´\94\87Ø®\ 5ÿ<-\16kýf¶¶UYPP-8\r\91ï¶üãÜú¥N
\19èç\ 6浤\12ä\90¿\8d6\1cy³<Ð\ 3
+\9brñÐR|µ\f&ÉÃ{¬¨çÂ\12ou¥X\87¸N\8dMOâ,AU\85¤\ 5Fa|\90\98R\85\9aà\16"iõí\ 5ÈeN¼  AC¸S\97)!ùGCO'úÿ\81úc°\93\0·\ fch\82µ¥Þa¡\18¿¶
++AhÞ!¶Ô\94.üÆ\89¥-7®\13c:×ßù\837\97L *Tg¥Ä\a\ f\95\8eº\10ý9º¡=]èx\85/åu)ð¯í\ fG\ 5àûbQ\14oò'ËÅ\1f/ì >\91\8d¨\9b?
+\96Ħ®Ñ4¤¬Ië£ÙÛá\ 3Ô)Àãù[\86û÷\81tr\86\15\96Ëî\aEÄ¡\v·¹\0ò\9a\90\17\9fT\ 2Å\1fù\ e«\1c=Ån\85áUÅf\0Pÿt\89@q#1å\85:­3³Ä\10\ 5Jyî\17EöÐÞ\89\88\ 2ß\8có\87é\9fän¡[³\82\17\8bèK\82\bêÔL®ákùsJt\88\920þÆÕ\1dÓr6¹x\8b\8aø\10),\89úÚÓFˬP\9b
+K,\82\ 2Õ^Æq¾\0P\b©E&\ 3<,â\13&T÷W«Í í÷\83\88 \1fÀ;wëÞT[%oc5\eâ¯Å4Z×^\8f¬}ó­W|Ñ\9bô{ârc»\b\vî\90º ,\82\ e°\b\ 3\90\12¼³\89üCi\17\8cð$H\15éÌ\8a ú\9b\ 5ø\14V\126~\81\98û\16ËÃ\vò\8e\8d÷jñàp\83\13ü\7f¸¸Iİ1\93\10+q*\ 5\89·oVÖ\16®\85\90ª\ 4pMÿ»tø7bé\ 2å\9f\9a\88\eµy±ªèY§ù\11.\ 5Ð\9a\r\1aÖ!`[S¥\8aìÔ{âå,ÉÀ£\98\9f'\98S&¿%2;cÎ\99AE\97`7x¢1×jSóò3\ 3eL\8f\9díó´ÔÍ\r\83\86Íç{yêh\93`Èg\öýÀ\93 5²_Y@\13:àX    P%o*©Y`¹áÊ£¬Ö\a¹\v¯Ö5al±zäìõ¯\ 6¬'0\10${\8cX\9e\84Ø%\93¬6     Æ\94í\90Ò¼þ{¹ËcþèlÄ\,va\ fµU\v\90\ 1Ñ"z]U\88\12¦®Ö_bIÌEîuit£°¡\98£w\9ȩ\v\98\941ÔåeÐ@\155é*^£`Ç#R\16aç¹rRÎ\83ÊÐi4BÚ\ 6þ¾\8dÚÔ\97{cZYüKB.\r        êåÊ-ä©F\ 1b-£Z¸\15\95\89\rÅ\8f\86\123iê 3\8eb\85-ÙÏ\8cÎ\e¨TsZ½½3>uz5µæÇnÖ9Ï\15\1aßxØ¢\11C\0bЯ¤\12¢oE\96j㶯Iî9m\ 2êâæ\10mëb\ 5?(o(æ]Êf6,V>\85\e\E\e¹ÜÊ\8aÄëëR\ 6a?ßï\14ì¢6ïjeúÅÈA¶!\92È¥\12y¿%¼\97°%\10gì@ 8Ü'ú{%@ÞñæR\v·ªw«Á]whX\ 5X[Zd\9bTrÑs\16o\9bË\98\83\9c°7Íú\98,yø®¬+ ³ iûX\8d\90!ö~cpl Q\11o¨õ\9aÒ+\86¨\99\9fe\ 2è\91Bg?°:\8cõo\1e\90àéy \8f¼)\
+\90s\ 5lQ
+*CÅ~C\b\ 6xMrÄPI\19­É\9aèÖÄi\9bÌW¹hÕoï¨åÝ©>Sªô¥@&p°Ûé\96>|6L§ß\10'$vñì\9c\1aZþ¼\8bx¹X>0!â\96Lº×­+\fìÓg\9e\10òïéìÜÊ:å-Ð`ÀÑ\fà\1dr\999\8d\8erÓKÊ\152vËKÊ\ e\
+h§V\9c§VK_Cº´åº²\ùs«&,ÅBÝK\ f1½2ôuÉÂØ#®âBØmjã,d\b\15\12×>hÚ_rå§:¹\1aÛ$\9eÞ'\8d%Çê6n®ñøª9Oé¸\1c[\ 2Pübc½ÅGkFMaFåE~\13))^Ø\96G±ÊÇÿ<´E¨MÃ\9eÌÅ\8c¡Öchæ£nî\87\9dFî)%Û\11\88\9fÈáë²\19Ô[Ô\9eáðfØ)º«´Û˱VsI8y½mW³Nh/úÁµ\10\93Õ\1a=:ÇîQFµÆ\9c/\91Úu´k\eþ\18\86Õÿ# 6Ñ´Û§\v¶ã\10ï[ùôu3ÑÁýj\8cÉEÉ\eóѶ]¸£vÌ\17w\9e´h\9a¾;¼\10\9f\ 3j­Ñë\84Ŷ\86ôU0%vÌóª6Ü|}2:`7\1d-jÓ\ 5i\8a÷\13Äó\r"ú5»`Q\ 3\eåÛ¿\90Û£\9fç\ eè¸{)=3Q¯­í\ 3£<#S"T*[\9cXÌ¡óH*\ 1$Â×Z\11¢\99F·¿­ìÝ\fÒ-Ð×â8:\90¡²©\1fº7sðÔnæ\997w¢\88\99GWS[Úº\f¤ÔP§zÊ1\11¥Ìã0Ä©íÓ¿\0Ê$\9a\11O?õ³\r§NÏøð§gü¼Ñg®'Ãí¢Ãà-վȩa\vÁî\1a ±ßõ\84\83Ìt\87H\99\89þòШ\83\vÌ\ey½q\98\a ùßÌ\11GPlö\86\10¨åÝOÅ5\ 2âÇm¦³\85°\f\v\92B\82Û7\8e\11×\11E¥Ùõ6Ì,10\99\r&õMniÐ\r*0ÙµÖÌeäÆ\85;\e\eàêmXÛÞa·\9cme3Q\0½ÅEäÝZ1U\82Ì;\7f\ 16|³6Sýb7¼\0§\17F\ 1=\ 3â£\9eÃÙ\8fß{\9c\8a3\92G\e7\fOÖlP\12Ç»Yx/ìm\91 Ô\Ï$;\r\1e}\86\ f\ 1Xl·ù5¨æÂ#¦ñ¹¤jD3B¹kC\86#c      A\85à\8c&\ e­Ø²Ä\bä{©t\15^³ª\\16¾ª\8c{\98ÿÉàÊ?ø>\84\7fâº\ 6  \9fº9\8e\8d\18«mM\15iL\12\91V\ fy³U~\ 6ÚÅYèªûEû9eiläm©lý\19b\ f\1fª#Æ\84\9cB:¶\r¿k\ 5`÷»4*3\81\f\9bî\10\16+\ 6\92&må\8a`p\17\ f\ fÄus\8c\81\92£\eè\90\15ìö\ e»Éç+\ f&²¿\82)Ï^\vß7å\97\13\16¨\ e¢?\117Å.pjÉFì\87\13(\e¹\19\8b\1d\1c2\8b\15ÉôE\eÉÇ4gê\98G\88Æ #ÅëÅ\8aöï\ 5\ 5T\9e\9cµ\9c!lÎ\80ìlÄ\82¬\0S\88fÚ ±²~\81\0.y:y·³\80\13ü"\94µ´3\91\ 6sÙÈ\90gÊs­b4AÀ\11\9a07\92ñÎV"ï\ 4¦8\96±áàÕ`üð"$\8e¯Qß\9fo\e=\9c|f\ 1ä&õðp#þfYH\87¨%rð:?ò\ 6\8f{\9da6Er\87É&<8ë]Jº×»\81­tdÁ\11¿¥¨ò\15`ä 0{\12`³%Ce\14ðlì%§ÝÍ^\fËÂ`À³\91\93\16$t?\9a®\87g\ 3\93\ 60X:¨\eeò`\94ÑÂqnÁÝ\1ej\ 5W".öI´L}\80\FvÜÁÐ\80\\ 1ªõ\ 1LÑT9¿Ì\1a\rí\eñSû»±T|æbß\ 5\8bðªÅ¨Á\1d\7fí\99ÿÉ\83}\16\ eõV\ e^\ 3\a¶&        \rºµÿ\94N\85¯\89ûÅd\1eÎq- \r\84Á+\ 3\9a\91£¼\7f\12®
\ 4«\82Ä\rx\ 2þ\1e\ 4@²LjùUmµ~!Z!¬\86Ê/Fþ\86@Ú!\12§\88ÅÚ¸>»\ 2\15ØÜ±Õ\ 5f!\ 5ö|Y¿'\ 2®Åy\80«õ\1dÒÄ\19½2fÁh\10\12SàÞÔ\13zîv÷j¤?à7³"ÞÑ\ 3zp³\938\15w\12t\9b×\98\ 5KÈX1Ø\15_'\ 2L\eÒ
+Ûg\85\83Î\8fU\82@\ví{\8cJ\16À\0÷ºþ\8b\8fqJ\1eñª·¯\büië©ô?g\16\98^ÔÃ\89u¨)\96j\10\8aܳ¡ýÒâ\89à2\87÷Süy\ 2êé8g\8bõR\81Ö{ýÚhi\88ß\14\15\1f\a\16ÝE\83`(\10MÝÆÕÊ\1fqÝÆè\84n\18/ÑÊ@ë»
+\ 2\8dq¡Þ÷\80\120      E_@º¹e:´\17\16\8c\0B\82Ônk\v\18Á(Õ£O¢\0\869=AÖ²sRbñqå\7fÖî\83mû7\ 5ÔÁC¬¬+Ƭ\0.»|i\17«÷Ì\8aîQ\ fd\15B\89@\ 1~\8eÙûB\ 1n6\8e××  ^¸\8dý²bQQ\88\9fÂ<\8cý\81\9e\98¢\8f§s
+7v\8d \rÊ\ 1\\8d\81Å?P%}©\a8Ø7>\8c¶>\ 5Ï£»\85د¥\ 6\vì4\e\9f\8c¾<î¸\17j\10\ 1í\}à^QgäÂò}7&~\82Ö­¦\1chÿðXóÔø\81³ÀJ½8çV\9c°    C\8f\97ºq\1f\8b\13\92«*W\941W\11ë1ãÌïè¬áz \9f\93dö\ ZO÷*k½­X)\8f\8d\8aýÈ\14ä8\17\8e$úp«"«\8d\vÿ\0UÍá­\8dÁ²\9d\99\ 6ð\84\14ZFh;\92\ 5\96á½s#è¬L@ô§=¯\9a\7f\93\fgÜgÑgµ¸gÁT¥\8a\9d    \82x°×È[t,ÍÎ8­\19\12\r«\9f/mQÀXÞª73$¢ÏåÚ\9d¯\90\16¾\12\v_R«^£\80Õ·\18^{\ f$\ f=\83Uº7¬°ì\16\99\9bªYMv\ e\87,9\10¼\aw¸è G\8e£­þAͲæ8»\ 4ÎW\1c\17³ð\86i^Ï÷x\80Ó[lEµ\ 3¹i¾¨´ÝëT\ 5\9eÁÕ\93 ¦\10\1cÇL\ 5ÄF(Ùh\8do$ÓQúQ)þ\1cwØßþ8ÑoÆÕîj7ìª9K\ 3BÚqÕоö4´+\95t,ö9\ 4>ÂʶÔT7É W\82\ 2\9f4\9e\rø\9c¾7±\97ñ½\839\81{HÚ\1d_v\82ËÄÈÅ5\95Äñ¤M¿\12íeùÎbS\8f!ÄK\1a\1d\ 2>!<\99bã¿®\824\ 6È      q¹\1a7\8d\1d­\99\10 0A!\eëèËuô\b [ïîP\v\8bauP\82êÐ\81Ò\9ej7íAÈ\19\08\8d6Mj®Iê\19\98úøX~H6! ;¥ó\e\ 6\ 1öº¯$®«Î+ªÜ\8fc\ 2·Õc\93櫪Ò\83ªä\87UÀy¯Ù@®«V­ÌlÏê*\91É=\91\9e\97b¿KÕ\83Ñ\ 2\87\ 3\93ã\19à)z²8ï\8aß4·\85pÛ_Ø\8b\1f\91Ì\80ë\9e§3¤ë\87`ìúL\13j\98PÕ!}\1câA{\ f\8b¤ö\1c,ÐÑ{s\9cà   [¶ãG§^7.BÅ\17Ü,`v4÷Í\r¥<ut èG±\95w:d`]õª\94ßû-0ù+5\16Ã\90Ø\9bVîRÝp©¹ 6nëª6\ fé¹\1c[\ fü,ù¿©`\rÜZµÜ<\8c\9bÃ\89\99¹ló\90óç\ 5¦YgM.\vf/\ e]u\mÆLûKí½oh\0+6xpí\11ÖvÝ hz|\89§9Ú\ 2\94\97ýÇ^ÄÍ\9fÅý¶¬Î\89\ 1\ 6ß\86+ª³Åÿ\8f\fV
+EK>\1a\82n\85~\93\f¨N1ÍZ\96|/òZ¶\7f\9aø\85ªÕ³Åa\90è­[;\8d\aù`h?.ßAñp¿v\83\90O\80\ 2Ü\ 3ýøQu\ eêø\16\ 1\bó\9e²aÔè^4)ëH;\96\82ô¬O\1a\0\90¨:wÓoM\10\ag\90­ªö\r°\16\0\80Å66y°¯N"=uS\ 1ê\81 ¨\93¨\9b
+\98(m\80Ú\ 5ù7§lòοä\84m\80ÝÕ^ª9,\1c¯m/´¦\88;[\89\r°%E\ 5\1c\14­®×\ 6n1µ\7fÉx\1e¹)FߨÝQ·]¹£nîïжO\7føNO÷?ü\13\93õøOê\13\83ýå\ 3¾^§      ÿp\9c\1e]­ÿ\1f\84ÿ`¶ö\8e\13þ!mï} ¨DÏÞÈ*\11\92\1fê'BÕ\eiû*l)´fÔt  §5ª#\15\8eÎÁ\\81u\ f¦`¤t\9fdÌÊÖ\89q·Ævf\92Çn\18NÙùêkç¬Ü^HBâ¯ó$\aªÏ©& \ 1!Ê©\ 1\93\9bñ\ f@\17gØÁ\10\8að:§\1a\97¶0±CJÈ\10ß\10\96\10ö\15DpKbTIØkÑ\ 5Ôq³mSàÎY7\99¯\909×óÜ\81pi\v\b\95Þ@ô<\1c\84 ö«-®I'\9f)¤/di}ȪF\ 2Ö
+®JbÄ\17ÏÝ\88ált\b\9a_ÔjE~\9cé¿h¨ß\8eB\bÔ\92Ç·÷*7ëªlÜ£V©\8cóû!ëN\9b\17ß\b\1d\7fêôØ\ 1z\9dq\85\99K$\8f{7ÈG<Á\1eõ\8a9éÆH÷³¬\8d÷\14o¸£}´7ÛC}Ç\eî8ßr\ 6û\90\89¾äM÷*o¹Q³':صIý\95\8exÚ;»6ÇÂRE¼`í\8cð\18ÿ÷[\18@Qìo\93\19±dUÙ\9d\89¶qóéåÜD\9fíç\97r\12\7f¸\16\ 4\rºÛ\9b$ùöc.\ 2Ê\9b²ÿU\8f_\8bæÿÑc×Û÷\ 2ØÃKQã­~ÿ2\85©1\15ÿ\90Q#\9a\1f\1d\13\0\9e\8aJ\15×<\87ô'«w)~\ eÙ.Y²A\19F0S\16[3cÄ \8f\81\ fÝt\89û½ÈGÿU/ùÚ\94\ fs¦<{ã$/\92\91h_=+Í¢©\84nÛ_\86¯\87$¾çÿTÂ7(\88&Xþ$\ 4Ð\93\ fCüÒò~ç¤\98£ùú­zÔ\17Ê,è
+\10qKÍðJ"\18%æýÏôL-b\98öîÀ\98ÚíÓ\1eݳ\83Ä@p\7f©ÇÎñý\17\13òÔKÛgLðê\ 50~\8af»¶\ f*ðSN\1fkþp3û³ö­ñLílú\ 2D\1fî(\1dâ\98\f×¼\12`û¹p;]³¹Lr\7fqC\7fQ\86)\8f®$JP\18¼\1föL¹üò\82çs°aº`\98¦å0HE¬À!\ f]\vÝ2ìদ>za¿Q®\ 5\ 6ÞJ       B¯È(PÊá\8d£áP\8b\92ÿ\80\92C'ß4?ó1&}öf}ø\84/~\ 1ß}R\86?p\99zúI\9bÝ\8fõ)X|ý\17ý\8a\1d¿ø¦Q»h\9fô\13:Ú°C\88\80\9akáÀeÊÅ Nb¤\19ÌäæÐÿS\95ôJ&:\8e>\ e÷à\1dÞàDÿ³éD,S$½ñ\vÕ\15í\vÔ£D/K/$\99\83\15\9c=¼Sú%\1d\9cÐ\833\91ÛÉol\9a\ eïH_¨¯(_¥#\b¦\11ÚAL°êK\aà}\83o.å2côJ/\7fGïû7Á4Ýæ`Ê\17Ï\80½ÈÜg¹×|ö\9füÓI\7f=4ýܾü\14Ñ'Ñ\ f\98ê~ø\8eP:ï\a(er\87ûp\7f¼ÑþÜ\9fïÈ9@[Ų\80\98rí|I>\86ã¼qö\17\18ù[\8c|ÕÆ>nã\1fý×\18ùË\8c~âã\1f¹¸ÇÎÜcç®1ß­þ¡ê\ 1eÉ?\ 4¸Ç]q\8f    q\8e¾ã\1d\85Æ;\e\8cvW\18ð·\18ð×\18ð÷\18ñ\17\18ìî1ân1ѸÇ\80÷ë\ e÷l\87¼ð\13ÛÃ\ e\19=\9c@ôP\91\82Ã'«f8bôõ\ 5\86OG\128bóõ\ 5\86O6\88á\8bËÔ\16\1aÏóïycÄoàn\vïÆóî1÷\1d&=ÏéÔ#´\96¾(úý\1dÍU®?¤>*\9fÔ\9fÇõTñô\951æEGÔ %\12\97¢\97§ÔR\93 ¤¿ò\ba\10\8e\1fP\91Î\8f\92-çm\92\ f$··QÎyß·B¨\99ÇóÂ\91I`yY¿Ýä\87&ý¤[Ò\10\eö©ÑÉt\12\81\7f\b}ù^\7f »`\7f £du\19l\7f\1fø\83ÿ³?üIÿâ\8fÿv?üYÿÔN weH?_`ºçÆIî¼\ 3þëõ×ïý~÷\96xs3¿\17Ð×Q¢¦ÙKÆú¸Þàå+îðr\95÷\96\9a<¡§)o|\89³\8cT3çê\8eRÎó')ds(iÇÉ9ë\16F-\8e\88ßÚX\89!ÕÕÞ\81zµÈN&\1eÜ¢Ä=¹ÇÒ)¸Âmx\7fL¦¿    ¬â}"\9anó­úç\9f9F?\19ÞÂðè:=iN\96\13\9fÂ\99·\fm7\ fê\9bGú§ÑæÓ`,á\83È\87\97©å#¬¢ aÃ2VNµ\91\ 5\97\f\ 4\16©'Úî¡\bF*aàKÉ\99\87\ f\b\0pÖa£\87ÉsÇCÈ\96\18iõ²Õ
\86¶b¡YTÖâÉ4Ï\ e\eh,9\989y¨\e\ 6µ¹&\88áÃ\9bA\92¸i 66¡Ã\9eB)\92\9b\1fÙÅ@Øú6JîºÏ¿\ 3xÖf£\95Ã[O\a\95\b)ºët(,W\ fD\82Õpôp\1cMn\92\ 3\89­ïE( \16\1dD\16~\9a\ e\87u\a/S\aCéàè}D\1dûï 0Ðû
+\1alWÛ\8eTL7!\89\rgæÍBb}®lçèì½oÕâßo]þoèø6^Ïç4Î~ùLçÿ¿\1fÛÿï\90ÅÜù\14ÝÈné¹ñø;\9f$K ðë.þ\1f¿\83\99ðd)4Û\v׿ª\87ñ¦³\1eìÞ\9asÍú8\99Læ>Q·qÀ\90âÖõ\1e\1e3O?%¾ðå6ÔßÛÈ®î|\1eºçÈêÕá\9fÿ ¶7säpw>C\87ÿ\9f"c¹ò,?öò';\9f%\93ÑtÞ\7fðëù\9eüæªCÌõ2\9e\9bÊ}óïµ¼|\163Q\1dw\8béó=MeÏ\92¡Ög\9ctÙÏCÝKËY®øþm¶\93'säÄw>\113³ïý\8d¯Î³² Öþ\9dÆ­ÄOË\f±®g×ÿ\ e\ f¢\97¡â<ò§uú\1e\rÔå÷_®¿]~ºýuúëõ×ë¯×_®¿]~ºýuúëõ×ë¯×_®¿]~ºýuúëõ×ë¯×_®¿]~ºýuúëõ×ïÿþIÛ?\98<Fé>Xú\íb|Q \80µ\82'UÖ\9bï\80\96±=ã\10²\9cV'»b\16JJÄö\8cBÖIX\9d\83\10ï;Õ\89\87j±do¿M\88\ fM\8aÄÿS\10µ\98V'æ1\vY\85b~;\10µ\98V'à±\vY\85bo\18\85¬Â±7LBÚ5X>A×\14oºV!k$¬O8Ä-g\15\89öÌBÖqX\9fÞ\ 4¹Äo¼\8b\10÷Ô\9aÄçØ\82·Û¬Ni\88'=\1aÁò\146\86û\937ÝìßxP÷íã}õ\ 6û¾\9bîú\bYøßws}Æ\9bî\1d\88+\8bºÄ×1\ fB\1c¬O\96À<$PÛþo¾\9c\80+\98³oû\0!eæßö\02\17\r¿ì\ 3¡\8e\9b\7fØ\0Ë$6ÿ\9bï\ 6\eþÀ\ 5\1ca·ý\80\ 3\0\9fV
+÷çÂ\86ÿ°\ 5vÐmÿ7Þ\1c\80,\v\ 3\0Wo\86ßö\0(U\r¿ì\ 3Õ\88\r¿ì\ 2Úômÿ\ 5å®\eþÀ=ZR°Dê¾$7ý\80\81·ý\80z±¡·ý\80ÀÄ%ëォIÙþï{÷zI\ 2\ 4\83Р\10QY¶yõ\96\87«Ù`׿\ 1\ 3î§cz\11I\11D\97\ 5\84Åm#  !\ 4ªÄ\90S§Ì\12´ò«[ª\95*%ª
+ß*µG²E@E %V\b«\15Kï£*Ñj\80\ 2\1dÿÿ¿ÿßß}ÞöI\ 4\15¹k¯®nܯ¸\eÀÜÜÞ\1f¸;ÀÜÍÌÞ\16ðw3s=¹ìÜÍü\0ßÀ\rÌÜçï3xÛ¹¿\80\1eâoàkO\ f^¶½m\96: u\8e      \7f½\a[@\97ò·õ\82þVçÂþVñ\81\7f½\ 3\9c\80Kù[úá\7f½\ f\12þc$Ð\97ð\1e,Âþ<\8e\f\17÷\83¸\8c%üx\ 1¨/àB(\85üx`(/ï\a\¸KøaþBþðuÁD¿\95¾P/ï\ 3\9cpKøzG\ 2þð:d\ 4¿¼\ e·!/ï\ 3§°KûÀ×^\12þð9î\1a\9eÞP/ï\ 3\9eÀKûÀç¬\12þðuÆ\84¿¼\ ezA/ï\ 3\9e\80Køó½p_Þ\a\97÷\81Ï(%ýàsÈ    \7fx\1cñ\82\a<@\97÷\81Ï\b%ýàsÀ    \7fv\1cï\82\87\97÷aÎè%ýØs¸    \7fv\1cí\82\8e¼\b\97÷aÎÈ%ýØs°    \7f\1e\vû°çX\12þì9Õ\ 4¿»\ eu\ 6\94Èä_@\17÷aÎ\90%üx\aH/îÃ\9d\0KøðË\90_ÊßB\17÷c×rä¿»\1e\17r%ü\0ØÀ¿\8fuÿ\85ü=P\81\7fv\ 5[Ñ/îÇ_DKù[Ï\ 5ü­ôA\7f+yð¿»\1e»§%ü­ôa\7f+} _ÊßJ\17ñ*»\85ü­ôÁ\7f+z\0¿\89N\b/ånÀ/ãÞ¡!\7fP:\ 6\ 4¿\95¾ /ê\ eÀx\97ñ?{\85ü\ 6B\0¿\8fi\91\ 5ü­õ!\7f+v!\7f+z@¿\95¾¨/ê\ 2\1fºKù[û¡\7f+}X_ÊßÞ\vú\81ë´%ü­ÿH_Ô\ e\86\ 1/åo­\vú\81Ç®%ýAëÃò_Êß`\17ò·÷ÂþVû\10¿¨(!/%ü­ÿ\94/åo²\vøzý\ 2þVû@¿\87°\0/åoð\85ü=\81\81\7f+z\80¿\95¿Ä\17ò·Û\ 5üy\87¨/åo·\vù[Õ\ 5ü­þ0¿\8f%A\ 5ü­÷\ 1\7f\1e\ 3æ\vû ]#É\7f\1e\e\86\vù[î\82þèv2\84¿\95¾ð/ãÏVÁ\7f+\7fÔ\17ðöL\ 5ü­÷Á\7ft'¿ò_ÏßÛ\ 4¿\80\12\8c\17ò·ù\82þVü ¿\95¿\f\80\90Ë%ýÐiMI\7f\1e¥P\vû\91ëÀr_ÊÝ\98_ǹFÂþVüP¿\95¿\18/â}Z\vù\9a?\12\82p¨Kù[Ø\ 5ü­ù\ 1\7f+{\10¿\803\82\17÷#×­ä¿\95¿Î\17÷#׳俹\ 2&@\97ò·´\vù[òÂþVö¡\7fr\aha/åoÌ\vù[óBþVüà¿\95»P¿\95½°_Êß\9e\17ò··\vù[ô\ 2þVý\10¿\95¿H/åoÓ\vù¶gä¿\9b§ÎKù[õBþVý`¿\8eÙ\10/åop\17ò·úBþVÿ¬/æËè\92þ%\95\80¿\81ÍH\17ñ%¯\85üýM\88Kù[öBþVý ¿\8a\bò\ 2þb
+P\97ñä§`¿\95¿p/åoö\ 5ü\114\80¿\95¿x/à=Ý\85ü­îÂþ:ë@¿\95½è_ÊÞø/åo~\17ñ×f\ 5ü­ð\ 2þVø!\7f\8fK¾_¨\95Ä«ßJWïf³\92\8aþ\19o\vÉ\8b\16¦V./\12\19\8aãgR\ 4\80¢µ\1aÙU¹u¹e¨\96Ê-\93Z\14(µryJ(µs±jÜeh×W¾ }\bY\9a\84¿Sj_ø\85ÿ¶/û0\97\87C'\16­êõÿª]W2¸\94[v\19ñÊe\ká\15\88\85\93&ñêÍD\84¬Õ²òîàW\8b¶/ÒÔ¿û1'3Â;æ#x?5xÍâ¸\8dÊ?\1dʸ\82Àñ\e2ÿëËþYÓ¦ýH\b(þú½Ì\94Pd¼(DÅ\97&s\r\ 3½z÷Ã÷Í\8fè\12*|Sc©÷Â@\19]\8fu^æú\ 1꣠÷\85ñ\91\vÿ¯/þÌ¿ö£\0+{ÊEx¸\88üø²»ñv¥ÿ¶¤Ç\95Óª \9b\124OU@ö\92\92\91}$BÿÚõT\13]U\ 3äH\ eýU\ 4ï3\96æ)\16¤[\98[,·2·4¶]nmlÂìn2å~\97_eqÁ]\8179úÀ\0Ê®Å\ 4ÔW¥ø1A7\15ë<Ø\92\17<F\8b±:®x¥\áâËÅÙÜpGÒ½\89\96SôÅ\8aàOz\14\ 6\ 6Ý\17\87A'q'ø2ñxߨW\8fÁ\975\83d>Y¯×¿$ÎоK\0Ã>\98óò[\82¹DVP_\98Ù¯Æ\86I0°2ùè\96\15س´GâÖ%Ù\f3\8bõ-?f\96ÒÓ}i¿´¢9ke\ao\ 3OdÎ\ e¾Û\93àÄ»\90C\8b\e´W\8b²\19$­í\93\94m\17WÃÚ.¯ãÙÚ+ôí 1m\94\8b´++B+x¨\9dN¾ÓÉ´UÍúÓʧ+X+¬\9fLÃ=N¿Ik¤\89¤Ùâ¢i-´\8cÓ#Ù\94Úzk+\87´Ý7¬:ðÍn2V\9a¿\18â©î²Ouëk_Ê©¹¦×\1f¦Hé¡ô\ e÷ÞíÇ¿­ÅÊÓ11­|Veu³R´ßΫ\99\8doÑ;xBÊ¡p¦¯×¹%º\9b5ì!\923¦ïÞ¸¦ÒZÓi"Si-©\8b;i6eñª¾\v/\aÆ\1c\8fsÀ®-©
+ýA<H«:Y\ 4¿\f9d\14d\aÅ\90'[È\e5ñ[\ 68=6¸M\97y¦%}1ùË\8fÍ!`\1f\v\8c\9a.8s\9d>­¼MË\8bn\ ei\89.40¯\92Á\85wÍC\92ñ!(\8b aW¥\87a\98.\94·7B^Jè2\83Ö³\16\86%S¨»1ðJýûÿÊ\92ü(\0IjÒf\1f\µËKæÑmï\80\8bb\82
+anl{] ¾\95yn\80\12Ïê£\19U̲\fի͹Ü\1d\1fÝúȽ;\92ú\19ßìÒÜn­5\8e:w6\90¨²yL­\1f.´"Ø\89\94-\89\89\9c§\93¯ä#\13k;îÅW9\ 2ØIÊà×\87M'¬\8b¹éïIÈ\9e÷\8f\90rä¿as\92jç£Ì\15ÊJ»~æ¥\95\96/\98Á®Æk\85\8bºý¸»ª\96\7f\ 1ë\98_U´ÒU\16´ÙbÖº\93/\98æòÜÇ3IiûùQýÛEe-\15\93´¢?p\83Y+§D\89\ 4´7\vC¤v´5äÖ\87
+W\99´Wê/eêÍ/|³´2h'¾\9aVvG´\ 4\91¬°rBÄ\8a­W}\1aÉÄ=hiI\17´GìÖ°v\9d\8d"5\7fD\98\9f\85\9b\7f¹º[¨@¶\1a¨ÕVꫵZ-V\97U×j»=V§USÜh;\80Ë.\8fb\10WiôZ}.\9f®Óöz}N\9fY§ïôàOò\ eäO\17ø~î£þÂ,Þf\84\92DH¤î\1c^\ e ¾\83¼\92\7fË^\9co1\97¯\89¹/½\7f_¹¨Àñ\e\92òÝ×ëÿølCüt\16\91º@¯×>óýOä%\fí\9e\7f\80\943\ 3èÂWûÛ\89p#ó{4÷}\9f \943ÅüÃb\1e·æ\1e\81ë´6pþ1è\1eÓpß*\9f\80æ\93\b¬6¿´Cݹ\88 m[c\aô«$2 "NEç]&J'1!d\ 39ÈÀñö0\1c\95Õ#¨á\9eiÌi(ÄÎp?\97r=\ e1\ e\9b\12\90\1fe\13c¡ÊócÛ\16(\95(\11+\ 1±çè|º®)\91@àÞ2^«vÏvl¿%Vì{câÞ0Å\1f¼j\1aó\91\8d\0ÔÓË$5³\88\1e\82òÙøâF\93À\1c\\9dß,Ì\90        (£Ô¬]Ýý\9dú'\r\9e¥\18§ \80à\81õQ\8dæ\1c¦g\9ai\8fÚ^/f»\94Ì\9ds98ÂkO\95\8c&´òH\13Zh\92\82±¢Kü\80\8c\98ê:\10&\96Ùø\9d\1e\1dv%\87\ 3¬\ 2\19)Û8
+Ðk×\87-\80\8e2\ fÌwZL¹@2!¡\9fÚÜ\991®9\ 2\ 2\15\01a\1eê,W¾Ú\1fº\8bà1ä\0Á0´[ú(
+\96áîxs(éĦQçÊGúäH\7fz\v²ðÆ\99\v\9d§\80Nó¶_¼Ú-ÿ±O>5[¶í~-Oñ%¸þCß§Bo5ú\1f\99ÜÙ½\89\80-㯧\96w$þ\90·+¿ø÷+á<®\92\8fþ{\95ÿò)Ðë£\8f¥ü[¿ä)Ðí¿ú7µëR7³ë¿°okã>Q½_\18z7¤oSÒüCz¾çr}rpzç\9fæ\14èw\9bq÷¼-¸õÐq/ÔN
+Ýå8nÅ ¡\0õ³UiÃÊz\8f\83\98\97þÿÇ\94ó¼<§xi_÷\8dP\ 65°ª\9dIÈ?yÅ:@·\10@\8d\18«EÑÒErJe\ f\v\87"\82\12¯\89\96\87ʶ\eÁõ¨öÖ\1f\9eÒ#¸64_!\8d\82Çç9\8aT0\94ÝêDÙòí`\91\11\82,Ö   ¢æ\80]3ºÀû\14àtÖW\12w\98<fC£\9bI\9c\7fÚPèb    W¬ÏWsÇ\10\8a\f®\1d   [è¿=¢\ 1\v\16lú2\1aq\83\95}Ð3,Þ;Fîþ5\e¦ý'\17RºU\17\82;ãLVÁ\9e\ 2h';~g\9a­\0ÎÒÝ\19\ 6Í\ 4òlè\ 2\96òPÂõh\6\11\11¢A\87\85ïNy\ 5®\90à1Ã\99飠    \85þ\920\98_ÏÝ        \85þ\14\94'ðÉ­ç&­ÒÞIScúók}æÔoý\ eSy\e\95Ðõ¸¡þ=©I\0µ9ñ\8aìv\16©§\92\7f14ãyïáþ-ÊüÆ\eµÍÍ\8eJûÂû(ë\90êúÏwéq^\16K´¸¾Üi»\1c_N¤\9fk\87ÿù\0×¶Á#ÀqæôiÉüÄ\ 3_\ fÿÂ\ 1¯æ`\922¸ð_)\0×\ 6àV\97\b_ôÛù\ 5\aÜL*}z§\85ùFûÿg\86D\9a\ 1Ùá¿Ò@5îç\97|ô$mà\ 2 ¨ÛÔ;\ 3;ñÔU°X¯C\0£\92¥^r\8a¢\fåy\88Õ\1eéÒêQSÁS\Ï\94\91\ e\81ô\1c©\88\86¤5\80\8fs¤ã´@\9f×R7\8e»\18ÏÞ\1eb\96ã÷üIÞRèë-±\ 2\11bXû  K\9e:\1a\15ç\18Dþ@Þc\82bª#%HËëût\b ´\12âDöÏ\8e\84½\8d\11-;\1aé­û6©N?%îìפ\\88\8c?\80ö=\8a\ 3\ 1hE\ 2Û,\983òö\19ê¦[\ayM\84¿d\aüìü-\1c\96¥Ê¶\ 3ƶ\1a\97\ f>.j]Õɯ_®\84¼<ü&\8fî\82ìnÐ\eM»Í*\ 3å\84\92óù)Ð\aë\9d¶zâOÞò9\b\9cê\93X`COp\85\9a·§Lñ3å ðëÝ\8aÀÞÁK\9f\89\ fè\8b\17w¥»§&mCÎeV\ 6\9d\16»\8fàøù\17.@¾öñò*=ñò.ã\bm'Í\85«\15t@W\90ë²&cÙ\ ew,\82Æíxy\19@\e\83P\rÁ\ 1:\91û\17è0óo Ãé_\85e4\vº\82\95\8c\1eL¡@K\7f)3\18$k\80\10ã\8aön/IÃP\99Ab\8a\90&Ô$\99\18\80=ïmÎ\ e\ 3§D0\v½{¯ã\88Õ\1e"\0-Aâ\99§M\9bgÃC>ÔÁü\1c²ºo\15x¾5\ 5\87¯W{^¿\80é]\ 2(\14%yá½h`\ 1\15í[ SæäÉN³¡\98h4³\Í\81X\84\94RYÐ\12ñ\ 1Ao\94C\15ã¸\1eåOî\ e}ºÎ>¬Æ
+
+\95\ 2fØ$Ψ+\8d\87\93\17¤§hM\83\1d·\ 5\80÷E\9c}SâÁ\9cçê ««çßЩÀlß\a0òaìg\ 1ü\1aö\v\19_¤Ó#8\rÏgçgk\80n\80LêÈæ¬U\89\9f<çrt\88;kt\b\1aß)\a\94à%\9f|%\807íÈK\12\ 4ó\aÎ7<Áà.R\8d}¿6fÝ\ 1½ctÔ\18¯\\b\1d\99ìËêÇéø\ 6\96çà\1as\9eO&\1d\9fÀ=\ 3\7f\0¡¤\1a\82§@_kÅñ`Ïæ_TÄA£\95?{¯y\80\11¥\17Í|\eÚ\ 2ó\91\8fá7\84ªVçNv\12N\9fìk¨4~JvGAPô6eKê5MÉ×qü\ 6ÎB7\96\96W#\18½\8eF\12("\ eM\ 1¸\10ñÐ\99ë¯h`õÏ2öX\12̸d\ 4ÕðÃLõX\17\r\86<p\el:\     ÎÒÖþa\9do5c\83\bÇÿ M{\8eÐeÒ³ç\0-¡×\ 11é~¿\9b-_ôZ\eÁºÿ\ 5\13çm«m\94±\9e#ce÷\97×)\90å¨à¯\ fï"\83Ù\ 4í7x\ 4J\9aÚÆ\83\80³\15è\12¯9\98M\85x\0o\ eÉh]\9d­üï"g`ÌÍ8¸@ÿ\98®Ï(­^\ 6¿=0äEâ-4\83±\98°;:\13E{¾ÝÞæÓ{\9dh\v«w³\ e#\ 5zÝB6Egµ\12\ 3îc|\9a\93ã\bý\13\ e$\ 3$ªüÈ æ,P~{_ùÀk\9b\87\9c­:\ e­P}Sÿ\v\98Á÷}I\97\12\ 3ó¨\0Ý#Ó\15-\ 3%\86\81v\v\9a%\e:òi\10\H7÷<ËØ%¤dÿ\9e®\83¸hª>ØÊº\83?¶AP]o#ÃÇR+ßcgW\9eÆÍVt\90lq¯\9aÈK\0cë$µ}k·\15_i\14\17ñÏIÔòô\0\16¶1fº\96pgíje¨\14\84î-\92Óòu\9eÅÄô]\83\16GAÚÑ\81j£Ûø\1a{%uvAÊ\91´\rÆ´ã@ \95\11\9aĺ\ 1q¤m¦ð\9e¢\9bWA =¯K\1al\0¡\8erª:f\e\1dE§`O-5Y\97¡±Yô\84²\vif1bK\ 2V\9cé=\8e\9b©\96Y´Çp\18\7f¬tì]\81\9cB:pP\82WÝûeù?\aapÑ>Ú1õûË\9eÔ\12W'1Ætø¡ãª3Ï\11Aãìörµ[\v\ 4m$§ªé\ 6±|uõ\aÖÙ\9a   D\eÁô0Ûõú&\81n\81ÐT6\8e\vZ#à®N\9ampC)EO\ 14\12æ#p1d½ê\1co\8eDÁ`\1c\928\ 4º=Ú\0\82\7fõK#I<\94mû-\82s ->ÌK)¼í\8f\81!\1a­0z­GÕL³\ f\1f(\8cª\ 63=Ʋ        \9b·×\9d\86í\r\ 5¬\ 3f>9Ã\r\1e\13;\8bô\81{<[\1dz\81Ágºpæ®[táÒ\ 4\7fo¨sýß?   \7f\11¤Ku@áÕ^d¬»ªË×tn\Õäkº7J\0ËAC(sn²\ 6æ9ð\876\ eC\80î¸HbEý~ó@ùE{\1a\bHÙ®å\r=6ìP\11ö\0%͹\86\1fsãáG\9c³®Æ:\8a&\88\b\90 £è%ÔÙ÷N`ÎDg\8b9\8bh\ 5\bm\8b\ 4\11A\915Öþ!ó\9bÛ÷æ\13À7[j\f\1eÂâ[Fèæ\0K5¾µ\92\0ô?µ\1c._ \13ÛÝ·O\90XèC#I\ 1\8bX\0\ 1\99\ 3p\ÁñNò\v\14\ 5£\18\ 2\ 5ÛT\ 2¤ÙÛ\96©?t
+3$õ[êÏ®»\14\ 6q\93Z
+ÐÍnu ¥0[E²ovJ\1a¤:hÛ³*ßTÙâ¢?ï\ÐèwUX
+ìcàt¼\ 1­\16ñê}Ë\85\ 5\ 6\97Ñ|a@\ 5~\ 2\ 5\7f\ 1Ò\ féøÐ¾Ý\ 1¡Þg¢\97l_´·¢\99aË«\8f\r\8fã\ f2É¿·AË?   Á\9d\82\ f\19:[}»G\13\1dç\e.\89\9aVÆg¼TÁì\82\18~øâÚ\1døsÏ\80¶d@7§\13ÚNåT\9a¬\8fn\85\ 6øC:­ÎÕÆ\9b8¸ÜI\1fÒá£õ[OYÑ$Þâ¼íÕlßÎ\9eÕo§rAp`"\1d\19·Eù£^Òõ\f¡´ÿ·S}=á¿¶/Ö²U;\ 6éó\98+\8fÀxØ\15¥´\17\82\16¬aÎÍ\1c.\b¿@µ"ÉÒU«\ 6}j\81A\97*Õ¹Ð\17Ä\1a\ f\ 3\7f´\ e9ÎЦ\80Y_`À\13ÎÁ[\fû\97\rÐ\12á\ 6\7fìΠÝE\867\83­½·Âw#\8fË\968\84\88°[;\92SíOÿÓ\ ePÈ®{KÏsï«2gA¢"\rýÌÇÒh\12\87\15Ò\96\vmD´D\87W9¶\83«\9eÜø)ÿ"p¤\83.à"yù÷Õ:±;C\96[Ͼ¬å ¤ÿß7\98ùOÝ\98Ò\v\86¦\91@%ãYp|ÿ\9f}S­:\ 1Ì\8c\13¸Q£\91Múºmt\bºàÓ#â Ï \ 3Õç8¨ÀÍï ÄÖÛÅH\143\ 2\ eÃK,×\19cý×§\1cÿt¶S7xèÛ0\83\18\1dÃ>\10Õ\1f\ 3x\85òrÑ\97ٻà@\85\14\ 4mìZe$N\r\1e\8e0\1d¤\9fÃB\18Gn\9d\84ì¯=\9d}YÉ\83ï\8f\ 5\8a:VÂÕU(\17aR8æÚâ\99>?êÞLqLR\9eÂ\8cëê\9b( ×;ë\90Ø\1d6+ê\11Ao·Úl!¥ç°\8bøqþ\b¤\95pØbL@tôÈG¸ð¾\1a§0<´Ð»\8f\8eUûRηíÅ\ 2p\7fÌZ\84NÕñѨ.$\e\11\ e\84\9d+>±\9e\1e@\1f`­o\r\94uРkýÙ.¡\19.\91\9e·üù/á\0o`â\8f\ 11\86&\9aÔ\ e\8b½ÍçÓ<\89ë!\9d­\1f@Ac¨=·3\99Ú\80qc`WÄ\98\80_H\ em.I¡sñ©p\86ý\aô¯=\9b-¾#ìUØ£§?´OìÕ\ 3\8f\14\96\8cF\967+"6PgFß\1a\8b6[|Wc0þ\ 2º¿Iu;$p$úC^\11ï¨zì\94Â\89C\8b/V\83\8c&\10å»§L÷i\85÷Ä\0\81-åBÇ\8d]K1ÀK\95\ 1¨@kæ-\0?4}\0(ïqµ   ´\14
+¤¼ nãðæ\97,®çà\80ï½\8cêY³\82\89»U:\13Ç8\94-G\11¿Ý-0äÀf'Ô\89qV\80<m?(')¹#á\1a·\rÍü£`7=\f\15\96Õ¶\94cR\9bÐ\ eÆ^\v¸â\81!àð¸­t\1cN-DñøAÄÍ\e\ 5àÐ÷\1fæeÀ÷\1f\9dWM\11©·>è$)\9eX\99ÖIÆ\9eÊw¨ÎµßbaEõÙ\17¶È\15\ 3üqá\1fb_\84\80KJ\18af\97\9d'<hó\13\a\ 4èµw­ÁZ»bë\15\13\1f¢+\95Õ\b+ð!óí3þ\ fÖÑí\80\86\89-äöÄ\81¢|\14C\8bþ[Ò=\8a\18y\9b`R}\vî\9a}\19h\95ºÙÞí1[}ÖÏD`È\11!omó`-ñ\14\1c= ä^MÆ\1dBíßÎôx!eM\19iPø7\9eúk(
+z\16\e\0\10ÿ÷îªu28¤#ý¶ý°oÖ²ë×Ä\9aÝ8wWÆAC\1c \1d\r¹Î\98Ͼ\1cý\96w\08n\vJ\88E\81U{MP\91a3\19ØB¼è\ 4þê7 ï`ÏÙç${ê§\98\11MòGÅç\1d«\96\9e¸\94kµ¡~Å­\vèá\a_;\11ºt毠       ºtìÄ\ 2g:c5ï%4\8a\ eû¤\ 3\1c\99Û\96\ 3Þ;(ö»\0Lä¼\9c\92B(\ 2\ 1\82Y\13Þ ¼£Û%\93/½%\8fͺm#ê\81ç7^{0ú²\81;{é\e\11Ìô\80þ@#oz\87ÈwU\1e\ 2$Âðz\82vM\ 1\ 1\970ú¦"C\1aFb´µ¨Ñ&\80\88ÉÌÅBêêó\ fäl;Ú\9d\ 1\97`t\9b\9f¿?\13\85õZ[\9dVìhÎ\81¡PUÿѱ\975:8\1fÑ\16î{Gæ¤@ÝÁÄÂAö\88\8d\ 2Ëì     º\ 5\93\927e6­SÈV£@²Vã\17\8c«x¦\r,|4lÀñN\83\93=\8eõ&íá\10\1f½£Ç\ e\80\aUÙ6\86m|aâ-`ñ½\9aQ¶PdN÷²fá³öé[\89\90û\94\1c,½ëNµTeD6¬\87\ 2\9bôÞH¡\126\97\86Üiη¥£Ço\12åÈC¹å\9e87V>ú0K\9eb\93\86L1\14\eV\99\e\98Îïk.-0Ê,Ã÷Ú7/¬:^q0)Q\1a\85¯©½²ù.º-\9cv3\9fþFÝ\1d\87\93.ÿÑ8\ 1üä9\7fû'\eý\83¯\98\87/\8e\9aÿýâÿ?\97u\18u\eº\8c:\8dÝ\7f¬\87\93Z=ɱ\17VëÚyg5ÏË\82\89\a\eÚoüI·\8cÅÿÜ«\8bíJEÿÙÍMw×\18\10¢³\96c寥\9aå®\8a+=ç³öÌ¢iß\`K\aÀå#û4­©£>B\86\97¾¸À\16\17\80©áû[\ f\895]ÞM\95ÿÜCÑï\1fí>BSqæ÷zê\95õtÜ\b\9f§{ÍÖØÎ{qzÊÆ öú\1e?#%Ìý\88W\92æ¼>\87\97äû\9b\1eæ\83³ï':ÿ#¢í»;Èãoø\8c\v¿\9f»GÿamëÈ\1f\83L`\9f\83'Zé\9bù_?ëu/>®§\eªèùX\16\eÏÍ»ô³\12Oü)§\eÎÖkâè\ 5è4ù\ f¯P:\ 1{ÉzaÖZS«äe=l4\1dS\9d\ f½Î帯mGYÎùmÅûÑ\95Æë8ïO¯ú´[Ï\11G]§[O¨é{g\19\v\r¿\17¬Ô¹ßv
+:û\94õ\1fäê~Îâ\87¿Þô\15u\9e\86§\92QÕæ\89*I»\9aÿ\12\vN=`{\110\b¶ß0Î\138÷Ïï\1fúÿõè\15õÉ#\7föÓ?/M\9e\18ØçïQ×\1f¿{ûÇþ¸$Gø$tÔbßíè\15ýù\ fü¦\1fã ´írÓæð\8dñÁ¾ðDTÚB¯¥*h#vO5\81Áù>[¿8«ß¿\7fKx¶(+¯\87Ìɵ@|d»<ëW\92»R$g\a¢\82õGËØ¢\11^\1e\97J\96\98ø¯y5Óøs\10\93ø\0\88+²d\11§¸Ð\117|\89|HezTGì
+       L\8d¥\81\aÓ\8e3Ee\9b\fãÐ\ 6¤PÑËe^Àbô¼å\13è\162®W\9fò.cë\9f\9e\1döß ë"\98#e^\ 2º¿f\ 2\9f®\ 2\96ì¾\97ø:\ 3)cĺDô\ 6\88è\f\81Ë«\8dÐ\19t\90\8f\91CH\86¸\85hKÏ\9b\11ëYÊ\e\96M\añÆÈº´ä^ÛøäUz\8f¶pÔy\a¢\7f\980\aeÁ¾&\ 5;)ñt\ 4\ 2 Ãée\vàäP2°:\vöú\0\fÓñwcõ¢?ó¹:\ 3#¡6\108\98ÙØ¯Þ\8e\|\1a\ 4S<"ÐÙ\ 2)\91Ò
+ÝëÈ&×9\81ò.\8e\80S ôôh\81cË<p\93\8b\9d²\8f\17aÛºh,&FIJ¯n\83ÜCãéñ¼d\84\92T3ëÃÓÄmP\94Øgm$\ 1Ñéévº\0ÿ\1a\ 4_\1e\82ÃÙ«½À¯àºW@\93á[W\82l\83\9bS\95õ[\ eA"(lîùYÔ1yM<*K\0Öø\85u\1d\0ÉÃ\12äÝ¡­ò\88­\83      \8b½6é[zí\1a\11K4ðöÛíO\92Çq\ 6s2ù«\9c\16\82\11zZ\ 5á\1fÖ§\92Ï$!䨦\1cä\1e[ØÂ0m´\ 3=\93¹\8fóî^Æx«âå)Ä\7fÁ\87\ 5\18ù\91\f\99ï\9c}ò9¸_Ý\15Ô~w\80Üy\87 \94ß\bÛÆ\ 2ÃÊ\17©g\9c âgRÒþ!eY®e3ui¶,ö2R\1e@¡Æ»\7f,j¶ÐñÏ:\83Gã/9Ö$%G.¦Uë4¨\86\9a­Ô\1c}\90\8e}Ø®Å<#\17\ ejêùw˩˿\80§\9cÏêt\9f\99\0ÚdÇ=\19!\88SkÎ#bB\90\9e\8d\0¿ª¦.¯\93\92\fg\99Å'\12ëÈ\1c\ 1¾8µ\17vy\84a鯼Æ}\ 1Óqó®7ã  ^\1eB\12z\1f\14scìYØ^\9av\ 2ÍO\ 4\ 3\0J~*%Æ\19 üÆ(\ 1?+\95¿µsÐ\f¶)vx\81Gͦbm\a {ô\1chËÏ\1aþØ:µ\96èo÷lÄ¿ \88\10>Òÿ\19¸ÇËß®ð>ý\ 2Ñ\8e\95¶\b\1a\ 5\ f2\88\8c\99c\ 2Ð|øE\ 1¿ÉfÊ&Á\1d{1ý«,å\19½\1aÂÔ#\1cåð.\12Ì\97\99Ü\16±å|t\ 4ÌF<Öµ\bÈÆsÜ<ÖyéXÃ8ÇO~\ 3é\9dJ!Ð[ Jt<W\ 2\93Mæ[Û\96Úì³j¸í7'B±±\8b"v1Ô\86YsRÏÇs(       o¥r\9dM\vðÇ\9a\f|P\83»\92®¯%Q\ 1L\94Ü\by'È\16Aø&\8aô\87jÓ¡\1a\8a,{\19\9f\15Âé\ eèã\9f<\ 2ädµI´ó1\86\ 6\8b­Ì\ 1\80nãð·ç\11Ââ8\ 2v\81\9cR~\94äÁo×\8eÈòÚL\14\ 3Ó÷\9f¨Ú\14       \9e\8e]=    \84\ 2ÞS\19âÿõoq\82'Á³\1dÞJóù7Õ2À(,®t&ó¢,\a\86ÚeÎ\8c\f\eÖè+1^z\91õfDÂ\ fe\8cÄáÇ«Àaûô\ 6\14\84G°d&\8bv\#g7Tý\r\8d%Á?\83\96\ 6fb\bâ\91õO\80Û½ <ÿÇø7Ô\f)úÏQ\10|Z\9a¿§·¤0\914ÕÎl®u\16øô¸f\12ü2ÆN³Óßcî\16¿\ 3g\87¨o\13ï¨\88A\142mþcZ6þC\89Ü\vt\1cKÔé\14´êE ¾Mø\aÈáY\ 2\89ò\ 2\9e\18;zÚqô$$P=d ß»þ\vP^é ¦£\15\11ÿ|ä0sø
+ìd\9a#\83W\14\ e¯\88àÐ\1d/\84Y\8dérÜoSÔ\16ÖŰ\bÚÉ\1e7ö)ÆþªÐ\81[\ 2¨löxZ|t\14ÄÈ zþì\12\19\16\9e\19ç´-µó§A&:¶\194¼ö\87²Ê\7f7:®\87\93\1f\96þÜmç\98×\r­ç\ 4¾\19\ 5¡A\a§ÌÅ/ûT\11âú\aòu\v\1c\ 3\8b+åÎ\81/;\19\8c3b³Å1\8eÇòµ       o¥WWFýu\10Ï×G IÈÄÙ\12\9e\12c(\93Я&-\añ\9c\14;\ f\8d     gUërÉv%\f êØ s|+¦´-õV\ez¾*\fú(\ 4*\8f\1f\ 6ù\eíµ·æ\89\ fD*p!hþ\bÉ®A'Òv<L¬8ø§Á\15µ7ð\ 2C;­YÛ\ e\8fW\ fXkªÏcia\ 5\8aQ¦CÛñ\8a\87dý# ?QÓ\ 3¤_\ 5\1a\16Ñ\9e¦\87@Küg±\8f\15\ 5\ eÅ£Q
+1£\1eN\85\r¾\ 4\8d÷C\ fQ\ 1B\ fñK·\viÂÑöuº\v\0ͼ\ 4XÂJ`Öq1\88È\10\f\fæc\a\v~&ƾ\844\8dÜ\9cº9\vئ\9d\8cºFZdCÛ¹=)¾ÛÐ\røG\14¤æmðSìyi¹\86yÆ·ZtÇñ\9f\ fá\eîý¿\84yäm\1d\eä\83\8cÖ!Ô\ f\88f¾Îamc¡\87`\13\17]\8b,Ú¼\8f\8d\84]\8by\82\84á\0èæÑò^q/jn\1açB¼º·?$\ e\9c¹ä\v\9b\9eTøØË=\8cñØ8øbïr\11âïo>\87\8eß;Ì÷Ò\91âÈ\19YâbÇãÅ\885\16\93%u\16 Ì\93¿í\8b\ fk¢G\1d\rhb\9f2RkhíE\v\8a@ðe&\84\ f\ryÄ«ï CçíS¸Kà\8b\100dÊ\919\17:\87\8c\bÀÏ\19½V\19\ 3g\94kL\18¦Á@¾\8b\88\87ÂA8\1c\9abÄ+UÓY\17Ù¿º,A=\10g\93ÿ\b°¶\8f^\90=W{c\8aíëcÄÚ³Ð\9cNGd\8c»E4\88\83TÐ(\1c\ e\91ª{;èý3ÿ\v\80jU¨\9f\18\11Z\12Ø-\ 6l?å\17\16²"á\19Ü<»\8b|9%½¨·¼\10\8b{\98\11ojÆ\8btfQO\8a-Î3áÞzÞh%RÝ`óhêq\93½\8bkÃÖñg-¼`»Vt\8du¡a_Âï\eÖc6Y$µXéôI|õ'3\ f\97S\9aF'z>\0\94Þ´\89\8b\e\97\8d\8eV\10覦\93\16\15\83i\96âøÐ\86{cÍ\91»:bê,\9av߯m¬\94$7?»m\r0\7f\e:`JL¶\9e\9b\86@Z\91¡¥ÛÏ}\v\9dxó×ÈÌd\9dÆDpûß$1\94\9b&}ôu\87\83r_\1cy´Â©Ñ\82C\ eó}ñÅm\1f4ëÌ%òG\0\15ÑÖ\9f\8c0\80é\8f¢BÉ=OJ¡\93\84¼çÝDS½\9c%çÏBJ\9c@û÷éð[||æc\810\8d\89\8b\89»\92åþ\1eTÖ6Ð'ü\8aª\0áJ?\ e\144úÕû\b¡å]\9bÇ+ÞÊàÖ3°Y\85Ï\ eM|V½`+
+ìñìJ±dÌ\9e?\15¯\ f*}ªÛ½¦*%\ 49;Î\8a®M$Wï\1eÆÐÀó®½4!­-¡³ª¿\98кCo\ fôuû_W\1f\ 5\fÄ\80\1f¢y«4\11\9cè\ 3¡«±dP
+|\82õýàÛaó\92\8a\8eû\vdîáÒ\91\f\vðÛ±¯g¬@\8dM\12x~6\e¾¾\ 4[H\b\a5õ:Ù\ 1¦.1eÏÛ:\8etû?ÜÇÇÿà4_ðÏ\91\1a:\7f¶u     ¡\8aE\8bS\ 6\16f'lf\a\17ÅT¡ÐM@\ 2é`\8e§v\97Å¥¸Ä\94\85\81L\80çßvÕ\ 3F\aÃF\98ëã\ 3II      3O}û\87\8dsváÝ Rx¶(\r£\ 6\9f¸ÇÈúðI5¯\ egÓQ\f\ 4Ù°å¶Ê&,\80\v\8a§\9dâ\ 1U\80¡Z<Ø¿ñ'o´Åÿ j\15\96      Ó£\ 4ݺ»æõK Êgk\1d\aÂ\8e\14Õp¡\1d¾Å\14\16E'¬\87aç:£o\8cìÏh\91¦nßQÕΤH\88<äÔi\98\81\14\19\89XÌæ\9dHêD~»dAÂ\9c9\vìý\94\91\9d\89Ó>C\88 `ÓÑH\96:n\81\82\14\86ü·Qùy[k.Û:×ó\86Cò£\9dkûÓ\88 /ù\1d.8ÃIîí\86çÅ̸Áwwq\80r\18[;¯y=¢.ßöû£ï\a\a\8dÀîM\89µIÈ«¾Nð½å\7fts¼ø\97¹        \19ÆGËF\8c\8f8À¹Hþó+\90rÖÓî±ù\1eìçi\8aoø}ÝO)ÃaëÒÄõÝ\8d78ç
+0ýê\8dy\13;ü#      ÿÛ;ûÿ\ f\ e\9dÿªy\1fÎÎp9ë.»Êå?\16÷G¦\9eô\95î¼\89>Ò½l\86\ e\83«Âö\18ߥëóÿBò*>ò*Çç\8cGùÿ¾\7fï\9fûçþÿ¿õý#boí8GA\8aÐ75¼%|½6vIýV\ 5Æó\9aÀü]\ 5ÿ9åÜl\9b'rø\1fñ\93]Ìw\e§ W\ 3©OøÉ®ãÔ\16=\9fý:\ 5|\ fø\ e\1a»Ôª\13ù©_\96Mw\10§ñ/¨ð+|Kïîè\15Ùx\81ÿ\ 6\18\99JU\7f\7f\81\83Ä\9aß2\8c\9fK3û¤×|"~\ 3\9aM¿í\93]Ó&y '\ 2\Ðô0Í\8b¾\1d\ fBâ#RNñÅl1_y_õ\9cUák½G;­´z\13@\1a\86\1f·ëPMû,e\92î!ùpg¥\87¨äk(×ñ\1c6z\12
+\1aiçõÕ\7fÏBÅ$\9c\19ì\1dO\1a(?\0^ÊÚV\ 2\96\81ø{äW99p¿,åì\ 4b:\19Í\8c\15/pTyÞ\b_ȶpgæ|\ 2üj{ÍÕ\94\9dWС:\10¯áÞî%\8b#KÀ\9c´]GGÖÜÝ\1em_¸\8ev{ÇÒí®Å¦»\92ö\8e\8f-[\ 1ëÑZîKÑ7èÿB\1aßT\ 4¬Z\0\11:ùÃç\10ßM« Ë\18\8cØÌÚ\8a\ 2\epg\ e\rd\1fWC"}áÌ_\ 3ýïwî\186;ò¼\17ròêcô\\86\8eø\83ß6\ 2\92?vqª\98^LÛÁ\9fè|du\13ÒªÄx\80æ¾±\8eµã5Åñ\10~\95·!õ\b\8bDÊh3wõË\13ßÞÎ\81/ïvöd]VÇ%lÎáFèL\1aýk±3§\ eÝ)\86O $\12\ag±6\91ÁÇ.\9a\ f)læ\99\99Eʱ»\94Ù\82\8fò¹f[¹N¤:ëÌÂnåNÏ \8b\97$ÝÊ\954&}Ìý\16îK\9d\ e\15årâ\9b¹R\e\NW'mÜ¡3¥EËÛU7/b¹'è\ egÒjågPÏ<\8b\96Å»\95k4hrHDp»?A\17ïÊ©\88%ùîz\9e²°A\1aã@\94¨2\ 2\7fc0£>i\8eòJ ÍH°ª\eB\95\83\9btö^{\91\ eÑõ\19õj\8e\0\92\80§¼lÉ\9cþæ§Ø\14>\1d\9c5*Õ\08\96ØòÏeÙóÐü
+c\82\1e§²½}£Õçùêz\9e¥¯\9b|\14_øÈê\17l\8b\94º±¾\ eÓ!È \ 4ðÜè\16\9f^¿\8d\18\80\86»îÑ¥+ÿfgÙöfd\929\ 6H\10\90\81\8eÌ7M@R\80©\b\ 3\9f\13$3\12\v\0\8a\8e«¨ @5\81\ 6\19\88\9a=L\18\1ddÌîjïjïuÝÛUÝ[_;ÚõÜ×z\11\8eïv\10X\0(@7u\14U\82\fUTP\80\v?þýûÿßffLÈ\11\84\15Eo[W»ç{ç{o\ 2ño\ 2ÛÀ¾yo\9ew\8f{âÞ\1dâß@w\89\85o\ 2ñ/"ð­ô\ 5Þðíô\18ÓÃÝ¥¶Ûd\8e)K$2DÐX\1f)\12Ãd¸Á´ö@G;\15ÔÒ$B\¬<\94\aoL \92%ùßï\vø5\b\1f\13ø\8d\ 4\941\8c¤Oû{HbÍÿ\14è"ñ5¨ó¡¢Åc/\9a2C\88NôÄ Q×\10â"x\14\ 3c[÷J\80¾ÑåÈ\8b8Y\89\11fõ:DñWøHva7V&_*ìHÞ²©º_\12Ål?ØæßÛ³ÿË\9b\7f   \97\1d;\91úL\87À\rÖþÀãÀíÖ\9eÐUßÑê!`æ\82ΨW¡ ±ì\10\92\ 2x\87©%¨\v\e×ü\a3󽬠(=^9ÔA\°#²½#l²xn    &\b9a0Ænp{Úyô\1e2\7fC\8cr\86´#\99zÒ0ºm5?\84%+5L.^\1a\19\85˽Ã0¹rpÌ.[GâQÝi \bØ(\84Åû\97t\90)z°>\84\9f·Ð\8a­\8f\94Á)cl:He0\80\1e\85Í'\9e\15úz\94$.`\ e?7ñÃ:%ôOùGP3Ì\9d!âÒ!õ-w£-\97    \80Z\ 3\1c4F\ 1m-bfØ\8fé\15\15ÓfB/1iX¼N_\1aÓü]ô¥÷ýñûÛ0w=HGù\93f\120fÅEÝÏñ¨¦¶\9eÅ      k\83\0ËJ\11\v\19õ¦ë\ 4\ 1¤\ 1q?C\ 5\8f\8f¹I\ 6\ 1\92\95úà\12\9dÈYCÁWÂÂ\ 2ä\94ff´èYB\97\15ÉaÁ¾×¢0\ fé\ 2ä²®\1a¸³x\87MØM:åâïÁ²uAä4ë\84\96p\r\88êÍ\13\82\82\8a\80ÿ\84\ 3\86¥\87ÊzOâB&ò,\ e)`yÁXâ iA*íA\90Æ\83w$穸D»\1d\88\82\b\ 1Ðû|\18\1d\8a!*÷ó\8fé§\19\15\8cGÒÃ\ 1 \99à\8bÊÒ?\88\7fTÒì\95ÅwDÐúã\15dM\9e\ 16gî\e\1a\93gøI²\96á³\ 4M\8f\89³\11\86&Ìù6^Á²\ 16\12ÒõLZ<\84±ÏÇú;Õç\8f+\ 6\96-å/,ZY\Ztv\14n¼Z~\13Ñ\eyÛB\83gÿ\11\ræ\9fi\\89\15Tï²D\ 3\19¢Û\95ú¼CÞþ#mo·{\8dî\ 1ò\11Ú\8b.¿FYS.fB=ÎÐ&\7f\ 2óƼÃlB7µÂ,F\1doâ4#Ë\16\83d"±Í\93\1c¼6:¼\r\10åZ¼\ f0½@V½d\88UrzÞ \80»Ã\b§Üo\8aÆï\10\8eH°=R°EwÖ@ñ\19(\12·Á\ 6ÐH¦£³Ä       \9f\ 4\98\ 3@Ïà[x\ e\10eÑÖ\93³\8fà'g\1f\rtj\ f\ 5ý²l\f\ 6¸\ 6ô\18|ZRm\ 1ÚêW:X\9djåID3ù^°±\11J²Í\88ÀG\10|F"{Ô\12Ñ\9aP\0ø\9eÊä\89Û%T÷Õøáæí­ë\90\84\88¡cÙ\be#\v\16\vN\9f§q\17\15ºGó>*î"O÷*­\8b\vb\93ø\94¤g\88°ã®îýßÁ\13KÀðÎ\1eµõ\1fì\89¥û¤]¾+¯{µ«8 \ 5\1c\92\ 4¸®Ër\1d\86ÄòGÊ,\96ÃÄH\12þ0\13gî£\92w\95ø\a¡hz'\83?íì\7fßô\9d¿9\b\82ü\87\ 4×ÙGly\12\8f<\84:þB\1cß9®î2º\7fâÐ¥öûØ\15ßg#ÒQÈ\89oÿR\1dßô8÷ý\1fßG÷Ñýô\7f\7fÌw\89©CË·Qs|¡éK_=\12\90P\92ù[&-ë\18¬¶Ð±»vwµÕéç\86WO\90;¿¸£»õ{\1fý˶÷nÑá+\9d©2\ 3\81\93Iøåsð\9a\14ÞÿÁÚ<(^§úæ@|"\ 5§íÐäJçíÏ1÷»\98ããL\80àí\16ö- t^K¶ì\ f.Û°äL\80ö\8c\vov\9cL\1f\1e%`\98Vcy^¥\ 3\8a·ä\8eO\1c\vÎwð #nu\0\e\vh\12³"¨:ãW\1c\1f;\89\*
+X§vqqÈÙ\ 3¥Íîb\8fz7¸ÜA'â^,aÈ}ÓÈ¡¼\0\90d&Ð\8c=\87\aÐþ¶Mͺ?U\ 3\89\1eÌvô­\?\9cq\88\9däÐ!Ö\93\80\e   è<uÄ®'\8e\ 3\9d÷,~ËâC7´âA[\ 2qNX\ 3\16-\1fݸ\1eÔ\81\9eÃ\ e\ fÖ\10H.ô\84\8f$\a+kZ'÷\96\9c9f"D°m\1e\84\f\91\84¯S\13\19\8b\8bfEWÈD\12D7í
+\ 6¿r\1c\13sÛ§\8bTý(Y\f¼ì\aäÌGþX\f\f5ª   \18»|»qõ\ fL\96²\ 1\1føeBM^°\8a\9eÜ\98  \85\80\99XÇÕÉU2yú?\89\"\f<  ¬ñ½^\ 2\85\11ÕÂ;\15§¡*è\b\81øW¸*\1aÀ¬8\10®©ð}\91]¾iF\87S\9aRlFFã­\11&Ö \93\8c<Ên\9f@^î\17Á\97§'l\ 4!\11ʤFn\8cHzÍoÝ:¯yÃPi@
+£;ç\13¨&¹aå      W+cX\16W\157\17\88\9b\87¹­\99îaËÑ\7f\86\1c½\17Úû\83Û¯$²\99e\b£ákV2\b\1f{5«\19Ü¥*üT©,ðAû\ 3\80¼»Ó}\f\e{×ÚÑ\97¦|\83³\87ÿÚ$\7f ÓO\8f/kä\8f2\8e»\1fØR[Ý\fjZc\10\15U\1c¤àõk\98·¥7x|W\e¼?\99¹æ)\86e/\90=ÿ\ 2e/aÿñÿ\86¸\80Ö\18Ø\býòÍqì>y®=\87Ìü/¢<×\ e÷à\9aãþ\12\87\8e§xpT\8c\82kgj·Û\9aÙã\14Aq+cÿ\axycì\r©ÿ\7f\11>\1f\10\8bfu\b£\qû\8a\82\94\9fJJ±ïTqüÝ$\vÅøÂ\8e6æéûÕªW¼\9cר°\9d\88î·Å\e°vt\87íÜÃ\99ù\90§À\97\8dc-È\18Ð\9e5\96H\1fÎ-\b\7f8\82Ë®=ÜìBS²\v    \18QD{ÆÌùÆÑI͵_\96¸Ù\83-t?\86ü\1e þ\eOêÇU\12÷KNª%\81\v\85Rd\97î\17)Ùv½r½¡¼£ØA\8eö'hm):\10j\v¸\arS&=\1aè¯X±3[Å3Z\ 2\1dË7   Ê+a±Æ\e\8fbÇøPkºë¤ò\1cãø\8d\91\ fâ9õ¼Dò\1fÑ[þ\94ò\1cÛdûpæÅÿµ\ el_~Sbÿú¡¾÷\ e\8dñf¿þ2d'ïs/Ã]p\97\87¨|\92ä9ãÈ<\v\7fô¤B9\10¨ÿû\ fÞ>ç;Üèx³\98«SwWèE,×
+kõpnéùÈÃ÷¦APÿ\7fÓ1nÕzËfKîû§ÓTt^\9a\90Tÿ\ 1\ fì\82§½\88}\13ë\97|\84\eí\ f\9c\83}¡ó{_Ô,?su\9c\8eæá\12³\0 ÖÔÿ¿x¥§\8b\80:Ès:]×spêÞôù=ê\1c\8fkþØø?l\87ì\82§\85\85`\1cH'ñÔ\ e¼\19v[!¯F\8fROy5Eèg¥?¢E_\81\82RqÝ7W¼ü?A\7f±\ fÐ_9î\900>4=}]ë\9f¨ÿõ\9eQ°ÙÛ\7fÅv×\7f\18K>lôÑÂT½\e\95\1a^ï*Q\85\90VÇñrì[á\99¬¶\9aã\10µ~÷M\9füêt\1fó\19\7fú\8báÆo\7f?\9aþ½\ f\90Ü\1d²ù\8aM=\87ÎBÈÃ\ÁUwS÷yÐ\9c#2=³\12r\97í\98ò    ?9ÓQ«\92\17¡>0ä,m¿\18\85\91Å ;oO\83½eîQ|?&}\95µ?îóÎ\1e¯t\82]ù-\99\82\13¨õ»{D·Û\8c\94æØ\ 2ødö×}Ò6Ád§,2SÚÀ\90)B[zK\a²wÕ\aâ\89*\r\93¸Ä$h 6_\8dQÞÌý\91
+\85³¯bÔ\8b@g§!`ë\ 6&³ã\fóÉ\e\evB\0\8d¦\1c\0ø}æ\1di\v,\18^Tp³Ð\9eûZ~>\\85Ê\86\e\81\1c5ña\95\97\99f\1c§.n\9f\a\90ý%g\8a\ 1m\8c^¬Ê\ 3\18}¸d\9fÙä¤Xï\14\ 1÷ª\8aP\1c %à\97ûWl\86\1d\98m³ohë3`é§ybæ\ 3\89kw4\ e\e`´~\12Ad\e¦g^êxD\15*¦©¤ö;ãD 6±
+Mn\9fÛ:  °"\90\15\81\1f\18\85\r A\813§°i\e¡J¯\84\86\8elC\99\80ØØ\1e*LîÜ0)PR[¹¤ PðÍ¢Z9Ep%\90·&d¶\ 6F\82È{\14oV²\90.£nG¦¿¿¢\7f¤ã\1c\9fë\ e\89Î\8c\81\89\8c\94.:-Õ{1tY àªè\ eáM\19\94W\1dY
+ÂïE¸áÆ>¯\83(2õ1Q
+y´\8b¬\8aê\aü%@\9fD$MR\ 2\812\12Ïå¸.rb¥Bú.\81nï)\97gd\94
+%¦ÞHXhv\99ôÊ\91ÿ\9a\1aHmñù¦úºiGè¥AỦ
+\a\ræ\0¥\11vP¥ÚjöiçÄÑ©m+Pr\87\90é\ f\a³£N\16 \1ahI¦\9e+W\9f
+h\1a¦Éª².)È\ esÿèØ\1fyÇØ\1c·³\ f`u¿Ñ°>~.Àß\8eÁj\ 4q\88m"ì\ f\12ÓV-N$5yð¯­5BÕ7rÕîì\13\89á?Ç\ 5sw\80\8e\9f\8cÏ#±¾hä.îØÿ¾Äî\9cý\91Ïì\1füg7û\82ñ\86¢\ 1\ 1%\r\0¦ôõ¿\awþé\97u-ÝMwWH\ 1\ 4n\85EC\90X¬{\\8b\16ì\9a,¶õ9+¿\12ü\ fØÙgo'\9cþã\92þØ\95{"\ 5êgòÿÿ-\95©|\97Ï\12¯ùå0yc\91Q¶¬¹\1e«á'\81\811C´?ï\8fG\17á9\97ÉÃýÞx\9b\85\ 4\88\811g°YvL[Ôñ7\a\ f\vCàö\92¾æO»\89W\94;\1cPîºGý\1e\ 4m
+Âa0\93\13²rD®\17\91 `\84ÍWIC\90=\13ú­Æ\90êÅb¡þ5ç#§øh\0*íC«º~\820è¹2ßÄ··KO²\aû2_\8cñ2`#Ó4û±\ fY\88¦\ 4\88Í=ì\92\96\8e@%÷\88*¡]¥}Cl4­ËWx\ 2\ 6ßrlt
+\95i»ôâ\82\1a\10ä¹\90±âÑ\f\99.]X\8dÈÐ!@,\98Ú%¸=\99J"\14\e6\9a\90\1eL_¢ÚQbÊ÷\16Á\10\1aÚ'nlÏ\ 3¦\11æ \ eÊà\16\84%\fѲ}f\98\11ô:öçÁüB\11áéôÁ<¼m\83WD_@äp\89\85\91\11
+\86£ëD\8aætkóÓýÊxrÅ%CÌÙý\98¢"v \86T7Õ¯O®^\16\fÏ4Ô\9cqð÷¬¡Éé¹Á$M\15\85F;
+       \81½oY.yÍ\13²T¨ªRµ®í;A\19\1f¡00Ww~IQ¿\90-¬Y\90­\89âÈ.ðj\vÖ\8f%\8c\\9f\8c)ÍÐ(\ f\1fòL\9eÁÍ\9c\12\8b}^Ý\84\*ôV\ eÂCÂ¥©çݶË;è\8fbä9\14\91M\e\ 2²\ 2M\15F¹«\98v\13´\8cèx\169|\8d\90\83p\91ïW7Õ°}·ïø\ 53I¦\a\11\14D\95>ÈI\fØ\87gbYZcXVùr$¬ÂAocñCfÁ]ù\8d\r\9bÄ\f¤@\8f®Âê\e7{&Ï\11\84\88lÙL>â."x\90Ù»BlíØ]Cfõ¤Ù¨au\r\9bÿ\ 16g\18]CfëI³\9ca"\e7¡a\1e\e\18D\86Íå\v\16\97a"\e7>Âî\e7j$\88Êfm\85Ü6l\11B\ f~\e6\14ú\rs\r\9bì\91\87\r\9b®F$6oï£\ e\e7S\11¡\1e\9c´\eK\15\8f\9d&<\821!³ztJ\e7Ô£\ e\e6\15æ¯ïCfïèÝÃfùdU\86Í\8c8\9eµ\16È«\r\9bØ\13\b\r\92 \8a\ f-OÒ9\16\8b\1e)ѳ^ThÞ\84hlÝy6\ 2(nPÙ½ªø\90Ù¿ÀX\9fv\84HlßÝ_\1e\e7\9c_s\r\9býÅêÃfóËäCfêG Nà\97þÈlÛäAad:©nþ\19\ 5\82Gr\82Å\8aÀ\89T\17Ìhû\a\f¤AbGå Y/\88y>\ 2\1a©ömgöð9¨ö\1f÷\8c³\82´\97¹\9eÔ\ 3\fÜ1]è2$YÂÞ\11ð\98\ eV§¤%Ý4¦'@AÅý¼\97£\87`Þ¹\1clcdÈÙ.\91ý\83ýzt°ðo  L\e\8b\9cþª\987\1a\1d\1fì.ù
+[?\84»þE-\9f\8dàAñ\85©?nÀöqRïÀ\17×ÞÖrx\99\95\9c\9aÞL\81}\7fóC©þ\15*ì 5xóÀjâýþBá\ 6!R\ e=0uÈ?pjC\9fä'®ÿÓ"cÿâ\1d\7fçpúîWTÿ\1c\97}
+\8bʰÊaw¿D)\8fåþ\ 4=\7fÿH\7f?\16?Í3B²\9ddüJq«\1ai\93\8e\Jr:F-Û_Ö[J_îýÁé×v\1c¸\91£ù
+\ 3ÂïÉrHãär\16\14\8fçÜNÿo¹]î\1a\ f¿gòû\95ÎÿóÜ®Hò\14ÜY
+\8fÛ¤~°F\94¦\8bÜ\ eÃÝ\98\8cÂ\11\1eÞl\89&{y¿sÛl&÷;IÂÉö\93\9c\87\86<¼éÊ\ 4Üïì÷+¤\806C9Z×\11.\15îÃæ°}_¥{pùá\86oìG³\ f\98\93ú»\88ñ?\ 51/\85ð%]\9b\0¯\bT
+\7fÆV,h\81]³O§\94V\88\8c3Î_ä\ 1ZL~K\13\16\12ø¡*¨\16]8ËQ@UèÇíÖ\97Û\ 4\7f\94¾Á)F\ 5\87\84ê ü\8aÑL"\91à\91\9dÖÑM9k\95mj9So   t\1e\1c
\93\88(\15êï^áSoÎGÆ´·¡õª,v\18 WÍF±g.\ e\1d0Ô88wÛ\84ê\83Ç\83o\a\ eÝõ°Ê\ 3mÞÛß]òfü\8d\95\82\80\ 1Ãì\9að²xa÷\8c\93ß/L\95\84&.+2k÷Ö+Új|A þú¥®µ\89¯Iõ\85\85¢ì|    E\89XZ/]°K\95×Ñ\0\86\14Is0n\ 5zQ*Õ¼l\15\ 4\97:\9\16±Òë¼\ eÄØ\12\aÀ\90ãddR]±>\ 5y¡ì\r\91\91>\ 6\8f\17\ 33s\ 350ßX®yÊ\ 2Íá,\93ä\97ã%4S\vå\12¬I|)D\9eé\17Ê<D(S\99bAbi$YO\ e\f©ì$#Òs\8ek¼5\16\eÝþìCò¼$\1cÛëara(¤M\r      ¾'ã\8có½²\83$6?ÿê,:½Ù²\ 6ËÙ+\vö\99j
+Q\91\92\87¹µ$Nw\r5kR\7faÚUùh!cWh\86\ eÅæ9.ø\ 6\0\88\a0ÍúzÎ
+ °\1c`\10Úõ\e\8a\v\17\93ª3±\ 5\80·\0\85\9e{l\1d\ 1ÌÔ\ 2ô®9V\e=\11Ö\ 3\85SI\80¢¦µ&Mв:N\1a\va6ySwn\9f(t\12ßËÓÏ[¬\8cVÞÄ\8c\ f\94®\87µ\18q3­u\bu\90X\93ß²\82Ø [º­Èý×U´?\8c,j,
+9t\ 1ô.f>èßúá²Ó\80,´ï­ÈÚ\eÿêUaRiªç\0ã\95ãÐs@ãÂ\9aÓ_\9eð\17<\97
+=\81Þ\15\84³,C+ß´j.þZ\7f\ 2°hé\96!4W\86\1f\92ÍÊ\9f\8b\11æ7³ôÁã\81öÅ¿ÒáR?ñ^56ü\1aj·8ÉD\9acü|d­S\1c$ oá\98
+¹¥æß¬£M[1\18/©~|å==>þÔ\ 4\13ñ¶â+\fF\ 1ÀXÂéà\9bHö;ûR\184|\15ÇÜ]&fÅ'ÚõÛ\a\vµ\94K¬(\97X¸¬`\93M\\9eþÔ7^[\976ëð{\13rS&\96ûXnXa\b\83\e(\86\b¸ø#ë\15Ö\10%%\8dÅ\82é3r°\90\fÒ3bhGÁ\9cæv/µ\8b¬\17kÌÎ\18^ErU\99\10ÙöE\ f\7f\ 6@Ø2\ 1\83/÷ðcr\85\91
+(jÈ£\17\ 63lMg\ 6æ\ 3­\94%\82ÑVP£#(\ eM7.¦ÿâøo$\92ÅøîÑIîEx¾!K\ 4\84\a46%2\ 2ä\95\82\0ýìx\89}u\98¹\10x´óëj³UÀ\4ÍñÑýgÉ.Æ-ªÊã%4|òzQåYÝ\eÝ*ûæ\8d»Ý*4\1a<[Ý+
+\r\1e'O¥eo°ûÔ\1a<\1d\117ÍÒ\8eïuÙp:\ 4Æùu\935ÁE«aòÓIo¨y.\1a\81Â\ 1uÇ1\1c{$\9dÏI\9dq¢'R¤5\ 5Sê$Ö\11\1c\82\15º|ý\8eÂÈ\81tú!\96\1cµ£9úÁ\93NÄ(\15#`n·\1dñ¾\10WVQ°O¼\ f\8aúÊ4SîCâÆ²\8dz\7f|>,«(ÐOí\87Å\9de\1aá X88\91++\8e+oéÌrFÊ\1cÍ=m\1c¢}\9c¨
+K×/öu\94|\92m@\81Óm\ 3\vÃ\84èüÍ>xß6ÚhH§F#*bÍγx½öÆÃt¹Ä\ 5÷«\0²÷¯Ã6ó\r¶.\17\r    ùSõ\16\19ªu¬\13íJxÑO3íq)*6h\15üëÖ¸MAî» ½ï©Á]e\90d²ðë¼\Q¾Ú¶R"\m,D>¶ùIöCÖX¬ñ\9b,yiTf\8ewûD»}Ëm\99n\f::ÜÕ\16Ø3\16Æ×\99\87»'¯¶éõöÄ7\1e\b\99\80\ 6l{êfßO\11°O¨¶\1f\96\ 6
+äòåòm\ 5z|ù|§ ±O\9c/\97Ò\82É>l¾M`³O\13l\v«E3l$\1cJzùCmâ\99·-\a\99N\88(u'-l{\16¿\rÞ\8bq¿6%fùÃfí´Ï|·²Vp\97\9b
+nf\9fX,µ,Ýé\8d¤»tüíùX\91­\87fVEF\95\váDYp½ë\15¶ÄGGª6VûE,\86\1eìT²\18S¯=\92\e%6aõ\ f:×_\ 3\89 &ܱ\ 5ShDäÍ´\ 6¦Ñ\182\81à\9f\88sØ}®°M\16ËR¬^ÙÞZ
\12ôðP\ e.}\80ø¢\1c\ f\8e@8¹fmÒA£\ e.mÍÁü\1eh8¹ö\ 3ãÒ+ÅÈR@\\1f®<\îLÒn-!\7fr\f­\95\e\ 5\96Th\9bþ½b\7f|2{&ÜØd~Ã|§ :\9dð\88X\91È¢í¡³O\ e\16+\b\ 2\ 6Þ§\1d¹\8dñøíËo¿\9f\8eØ,K\8eÙÞ\0ötÃ\e\7f÷³d\13h\ 3}ö¹{À\19Í\96\ 5â'¯6LÇ\81ÇA\ f\ 5ý²\­\9aë:Î\81\0ÆçÔ &\10#½¶\10\91{»Z\16\16Xt«>K\eì®gòñ%Û6åH?ÍßZ\81\b\8aêB\93'âòl6D
+\9b¹oæ=\92\9d~b¢(\98,C°\10ßN"-Ó\rNâ~qæXÜHañT+\9esÆøb1T(;\95\11oMB\85¾²\83Xò|§ÂUyr~ȶ*       [Yp\83æï\8aÉT\vû\9fÐÆ1fH\86¶?þ"æ'Äõâó\13ìúà¶\ 5únêOA\8f\ 6ÌÆeæ\8b\95~dÜ+xþ¸ü¹\88('µ/\96&
+)Ù\17Ë\11\a \9eí\90òÙ\87\83F\9eà¾Xh<Ðñ¶\1cÇc ô\89ϳ\16lt\1f®\98\13Ì7»&°\90{»ò\94å¬N\89Ùµ2É\15F\e\15Å\92ÎÍäQg\1f\ 1?ÝEBG_ùOd?mô)7\85\17|\99µ\87ØÞ\86°¶á>³Nþ\16HMý82IÌ\8eº§ã\19¨v`n½_\93ØW\97M¢`L\1fâré\89*  o\ 3¢\ enÁ®\e}4ûmèö\ e\ 2\9f\1eÁî\e6Möô{\b8m<\9e\9bz<\87¸mô\93\89ØH(
+\18;{\87aG\r°\89é\98\9fª\ví¸       \v\9bFSÕoaòUÌïOÉV\17{íòT\\93\86×\1aÅä±\v\80î¼\11\8fÀ\19.RCÞÌC¦qµãuë\ 6¿Ê.6Ää·¥Óo ^ ÎÕ\9a.£úNn»ÆSG\1c¿ñ\a\1a\1eöVFØ\0~0!øl\1f\89á\16OøC|~\92Ó~9e\89þ>\ 425=\e©\1a\8eÇ=¬\97Äõg\84\92\8eõgÔI\12\e'%tõgÎ\93\9c\87«>`\9a<\96wOVsDÙ¬gtõgÂ"\9d_Ü3ºz³òI³¯gtõg¬&ϰÎCÕ\9ftÎ;Õ\9eA\9cG«7Å\8bb\19Èz³êYݽY³)ÿg(ÎíêÌ\ 1úϾõglË\8aõf\ 5\0}G«?Q\94G«>ý\947«>Â#@\94\ 4\80¥Z8¬z\ 2cÎ2\88õgÚ\11@pÀÖ²\86õgõÙr\1e¬Ä\133ñ^¬Ê\94\eÅêÎpJ\b\1a8ÆJ½YßFNRGx\1cV¢    \8f\92ÔÿYF¾o\84P\19\86\94\15àJíXFz³ñ\98\911?b£Õ\9d«\18\8fV\7f\98±8\f"=YÙ±\8eõg×±¹z³î\18ªõgÛ±\90õg×\8e@\9drÇùä\84ü\13Ün\ 4:ìF\89à`Â\83@ÈÅò­\1dx\15^4¨\17A©3î\98\r\ 2ðÃZéß"\ f¶¡\94ÆÅÇA±\14²õ\12ÌÞ~-\8b1mS×\15\1co\84s?^/¥²`õ¾\163Ï[ÐËCö\83µÕÛÃ:íáa»; ±f\95:ÒÇA     £|Â94z»{\1fôÄ|\ 6ªö?Çzû\84·\88eHÔ#§aî¶\b×êÄÙ\91ã\ 3Ôv¤J»­Ü×VÖ\17ñì§\94\ 1\9f°\ e\ 6\8bÝ!ä\11r>J\ 6|gþ×"\89?þ¬FÁÖ\ fÈO¢\a<gÆìÌÝï\9f,\ 2S-Ìl      9ñov\rþt°        [\97 ¹²în0I\85¤»q¹IîîX\ 4\8d\93\94±{×aF\9fÏ>Э\9eùÄb­\9e÷\ 4\7f»¥\91d\8büg¹¼
+<\87¹½Ò\8fsaVl?ë{\9bÿpÃ\1f;ê_R¿üo­ù%þëë\7fùË<¸\ 1)8®}\81_cq\1d ôÈû\8e\84ù\98øÖq\1fl³ËÒ£\15Ð\9d»î\0QÛP>Û·}´\ f\ 2Mfí\90Ã\bþR\1aÛÁ\9cVÓWã\e\1aL(Í\f\11ÙCd0ö\W2tvê\9c·;\91\90&ÓT\94  \94ÿÉ1Yü!<\ e\86!W^ôAVÿÀEd˵ë&sH,\ 2\9a06\1a9üA<>IcLK2      ®~ý\86\ 6r«&)¥\16LbdÎctäB\8dÿ\91öo\1fÅ&Ár\1fdÕZ°Åi\97³VÃ\1d\96¿ï$\94üo\9däÅç"Á\95y\13÷Ú±ë?è}\93þ§×?\85÷\8fè\9fàþ\8fïúÓAü°\9a\16üÊ̠ƣJIW\90c}jÓbß\87<²ÛÌ\9eã \11õu=ðÉ*ò\15ï\8e+ð®¢{û\1f\84Â\7f\1fP\9fÿü°Ó÷³ß3ð\9b\98À\ fòóE§íæ¹\ fÂ`\96­ÚMÃýÞ?        \84\8e¶÷\0t\9d¯\ 1î>á\80\9b\80
+\1f\ 3Ë\9f÷y\1a\9fåO°6çýü±©ò ûò÷w\9aÀ\ f¤_Õ\e\16[æWN\952?ßø\91¨{ÊHC\ 1æ3\81}~\19\ 2h\ 5vPH\13©òPÐõ\95]¨:\a¸Ù»ù#Ø\8eئ\bÔL-Õ\92,oáë_Ê\9e\8bÀbH\12%Bx\9aÄI\14=üç\9b\ 1ûÃ},\91ÛN\88Ý\vYt+Ä"R>µÔ¹ç,\82©m\10C2Óˬ¹\97\18\86U\93\86x¾ûç¤\93³&\14\88À\1e/½ö\9c\85äת\84RæVý\1fÕ9\12Bgs[2\ 4¨\9c¬dû°Öò=XûT
+ÅYà^[ç\7fÍêÇ\98AK\15+\91ç'n}Xâ¸ÃÎNüN0ý\8dú;\8c?\9eD­'«¿]8ÃìI³£¿Hq\87\82M\18ûõÓ\8c?dM\98\eõÓ\8c>\8c\9b\19\9caþ±6B\9cºq\87Æ\93fÎrC\8c;kôw\18\7fà\9c\88ã\ eÀ±oÞ\9c\90ã\ fèÎ]¸Ãçç\a\92½\9cåÛ\8c>rsàq\87¦\9câ¸ÃÍNCq\87¨\9c\88ã\ f\80\9c\86ã\ f½\9b\88âççM\954KÅcÛ\13\1eÊn#\8c?18N0ø\19Èn0ö3|\87\18p_ïî\9caü¹µ\aíæ\85Å×q6«\8c>JlXyÙ°p\8eé\830§ë\1e\1fÞ&\ 6%\1ai²±VNj3\8c>8\9b4sj8Ãêfâ8õ,OO5\11Æ\1e\92n;\8c<+íË\8c8@ÜÎã\ f;7!Æ\1exr\ 4ïø¯¿Í\f;ìo âwÇp\8fì>\ 3Kfý\1eæûÈ÷£\82§½\1fY}ÿjý¶3\v=÷Þ\86Qü¥\ e.âs÷Ú¨-²?\96^[¹²\7f=I\e!>Ü 
+\97Û©\1aI?AmÍ&Ü«G¬ö¡\1c\ f\86@nòSQ\8bùåx\92\1fõPü\11@\92Èn,N\vPÃ;Æ\96Ã\1dk\90Ǹs\95R\80ÈðR\a®>7û·²|æÒ\8bæäïæ¾\1ct²Ë¹\9f\99ì\ 2ªÉ\ 3lßrør\ 4\11
+?);Ù\8d\90\92\1aÛcr&\146\8e\9d\10\88\9c|\8cÐ\8eLDÂËhXZG:|h/êa.\8eþÕRsÃ\97ÑÔ_"IýµvØ\0\18ÄA(5T
+\ 5àÔlÙ·=\0\86\8by\82\89\ 5Jào\85\82vc9ùNÌ\8d\92Æ\bû@\81\0\ 5\8f{[ChBÐÍ\83fWü
+\19¨FáÏ\81\ eÇï¸Ö+\87Ìë¯d\88þjvÚh®\8eý\13\9a¾\fÇZ\10Z\9f¹{"ÿY[+û\82\81eäY&zhw
+Ûeso+©½¨\8cÀBå\0½Ô\88Ñ÷Ë«\8aô\ 3\82ìMÑT\ 1\12\fj4Ó\91\1c+Óú\16dKß\84hø¸\7fºO>4\ e)è¥\8bðNyT±X^X\ fP\9e¤'ÈãÙg¾\ 3s^22\17À\1a\106k[\9d^\ 3\bÎ\ 3\99@³LÎZ\1d\8doKÁ j\92\1aS\\11\82Î\bÝ(Ù;w\ 3#~\v-[\1a\11%eõBÍ]_¼²\1d
+\rø\89ìO\15ðj¨¾ý\19æÆ\86H\89\83\87<4§\14éÿ\86ã\15Ê»\9cs§àk\84Å>´Õ/½\r\r\178¤Ç8Åa/O<Ñ=\98ÁK\86T\8dÎþG\91Ã
+IB\9e¼\ f$`LB´7ø\¥p\93Ò\99ü\82î©x0\ 5\8b×w÷0:\19\80Ã\93Ç\13Ç/6)A\14¨Up\98ÊO\81\14c-¢ÜY\8e§s@rg{h\9d\ 4\91\9c\88ÏUf\17lo\98\88Ü\13Ù_ \14`\18ýkM^Nþ\14PTnð&ÛK"\13\13\90¯\80\11pÿ_
+U!\18àÁ\1c\87hãÃ+-ø¹MòL¥\9e07嫹\93v4×\89¡ù\95\82\14Í\97¯flzx\12Ky\81\11ßø#Ï\9a\ 4\82§~Yu\f,\19¶¶#w¾¯\e\80\98\19¦\175o\16\8c\84,\91k0z\ 29\8dI\1aø9\81ëáæ\11\83Sy/\ f´:uÜ%,\89×\86\80\18ý\80'\1aFâ§Â\97+#\10Íú\11\18ö2\fÙ
+\91±\18\ 3\7f~\¬Û\87O\9f8Çñ«áLUy\ 6í3[.¡Y!*        K9\19C\97¸+$1JR\1f\1c°\eñG\1a\1dÜ}_BÓT\93G\r5Y0\1d¼\9d\14­#ý\83MS¡\13¥\19Ô\8cÀÌß\8d \1aU~¤ ¢Ùåà&\0\a·¦Xó+¾ðØ\ 6NL(\ eÑÎIý Aó¤¨\9f³¤";»Ò\1c\82c^6G®~\91±\83íQ\96Ý\89^T9k¡\8bÃ;\9b}|[\14<î¬\9eÏ\8azâÊÉ\14úGþ°H\ 3\e_Hi<4\ 6\8b\e§þ5=\14ü³MGl3\r§9\81É@Ð[Ñ@úÍ`düÐ\99Cjë\10\11ø/(Ùß4oÔÃg\93n\82\85Iè7\1a\8bÝÃrÓÒ\96ç½%Â4\16b°Z\82\8eÚ\14zÐÿb\97è\9f\1a\13\©ßº«ð\ 3 \98mWÁÂé¹§|ºX=»¶Õ{É'w°¦\19y0¡Û>µÕ^½\94/Öè(nJÎ\91ûA±\87o\è)½ÿXè)PO¿J\83õ;¾u½\ 2T\1e'[/WÁ¤v\8d_\ 6¡æ@Írл\\94\9eµ!*ÅÆÎÔP2¬Ã84ÕØä`JVÓ¤"ľ\91Í\98\1f\99ê¦\ 2~sü§U~\82à²I´Úíj\14bzm\1d\94l\e\b«àf\9av\f\84\89*wcC\9f\98\12¥\1e
\ 6U¦£ó\8fÃ,磌àf\0w|æZjG
\80\93ád;\ 6µá\95\95Ç\81C\15òA6N?ØÒOô6Æí\9fÐÛB½\9bkú.\9ì·±Wf\96úÇË\92ÅØ¼ÝÂ\99\1d¿nÄú\92\8a6º ØUyÂ~²\83YJ\90æÀL\12\r¼2@ðz\eb\19\11Çf
+#\806m@ß\82\95\9a\12à,\12\9eêw\13ôÍ\9b\91\8bõ\1cß\9f"`¸\83ª½jå4PÜ\10K¼Ý\b³\9a\7fµ«Þg\1aj\ 4ö3o$Új\19\8fÁiÏCÉ·}Ñ\85\9a\8cð;ªVÒ\ e;j\1d\92ÕÏ\98f\1cLùÀX|ùê,ãçÁ²gýû\12ÚY²Á¹\86n\8bMU*\ 6øR\81P\90\ 1à2åpr£\8a\ e_pÇ\16wc,]#̳=\8dìä7\8dзµë\95ÜÄ®M\98nbÄû\98ç­¡L\ 6æ0tõ´Ý*Â\1c\1fæÛÅ\83M]è8,6æ/@ÝÎÄÜ Òl¦ò\15\ 3\92â¡Ì\ 3c\ 1\ 2\94\ 4¦$\ f<{B²±\9fb4\f2M]\98tèCpmÃ%ßµ=\8bleEåkç;ì       \1e®\10æ\ 4Ü\\9b`\13\r\9ajjxd)\13Ê\89\9a\N.\ 1¥KÒÆ=y®v¶×\16M\1eqF|¹ìÏ/Ts\r\95 ¤\f³OI\ 2W­7n{P\8e­D¥6ª\r\88µeA«ûâÔº;P\15ÿ»Z±jB;W°\14Þ7\9d\16¥ñÚ¶ Ô%eî½\18í_¼\rBYýëØGj\ 2\947j(ã½{\18íI\ 3W\fSÖæQÚ¯`Ô$Áf½\9c\81·\91\¦¯\92\8eÔ\14Ì1j(cí|\9cv AøíE\f\94\8eÕÓ\83P\96`úùXí\Ð5    Oۯ䣵\ 5\r\1cÚ\8a\12\17^Ò;VèÚÑj4të_-\1d«T\rCc¬E}ê;P*&ãfëD9PÍF *\98v»qj\97\8eÕÌ\ 3\11\11>²&© j\13Óa_3\1d«Ï6éK\95\1aûÜF \1dïÿ\98ÍFïé_|\8eÎ\15Ð\v\v(æ¾j;=@3âÜ\84\8a\90\1fj&\ 3c®pSÈp}¯ì\ 4z%\ 5\11P\aØ\ 6s\18\18\83\9e\ 2÷\92ÁBïè\94Fl\19d\82Ç.H\b÷"ûûf\10Ö\7fHi\94K_îû'«e      ¹Ó¥ü \16\8aq\81¡ë\17§\9cõ\86\17\1f\86`(6h\ 4µ¥h\ e_¼»\9aÖ>í\80I\7fï}Óâ\ f¹½? Õ\13  Û\14úÃ\96Á\9chx¾õAJm_\94¨\96z\83Ú
+5\92\rK\9fÐÒ\82\ 3ôÞ\94\ 5à\10Ñ\98\9d#ù߯$q~3CJ­\9dÅ\1cá\98àt\r\15\r\9bK¾HYnÙÙ6   Ð¶'\9bUýÍ\ 6ʫӧ­wHÔ\12\83ªS\96\ 1Ñ¢V`uí¯   _\19<¶üi\11gÕ*U\11t\1a\13/\926\84\8c\81"2¬@\10-\16D'\86CUÔ¢\8fþ)7ï\ 4T\98\12\98\19néÓÿU(\14\1e\4\0ý\86\ 2\87!¦CÔuAì\ 5\95\ f~\90\85\98ÂaËøô\87«´hÓV½'ACÌÂ8ÜSr6Y¹x G\v¨<\17\96B\91\15·Ô[;F¸<\12\eïµË^aC$à\9c\853dp\80\90þ\0ò*¿h\9c¡éSï\7f\82\14±\ e5é:p¥xðël¨ã_ó\8fcg7\83OE[\84mÆô*ÿ¸äÿæ}? r\7füc\93ÿ\11a\8a\b\ 18@H¬\1eϬ\v7¤¿\95\ 2ïý'\94\8fª\86r\82\11WÏ/Gæóõ5ZF´UUU5Qdde\ 4\95N\15Q*\9b\ 2IMOß\11\87áý¬\8c%\ eóK9xÿ\1cHÕ@+UYqjüT\93ùô\ 3\1e\1aªá\87WNøå\eô\ f**\1aè\9dÕg´\19Ìpê~Xú®UH\8bÐæ*´\ 6jk\8fyOO\9bªkMSR×+\9fÌTT*{\ 6ÎßÐÕg\9dæâX­\80£;\8cÝFn+B\8cüþ\80,éÔÐ5ÈTi49Ñ\12>u.ês55\ 5\15\8b)¨é©Tù\8c¨ïC\92\8d÷K§©ªw\9bÍ,J¢«7\98Íi\r¨9\81ûóµ.Õù\8dRíç³ù¶µ/\15\13\ e\9cíK\þcC¡6\81+÷ÊfôZ\1a\9d\ 6\88\93Þt\84\e\19áÈ!\93èê^h3Jð\ f\9aÏf\1aæs¹\8d\ 6pííE\89Q0wSPðÙÆ\8dáöD\7f½\rMUSÍ     ´\17\9exí­M8g:\97\95FÍJí\1cv~\e\ 5ÍæCNÜfÂÅ\7f\b\1a\ f\94\riP6]ñ·\1f\8fÌf\94Ý^W=ösk9ý\ 6\89æ\87CR®ÃÝ\10\92ékK\98ªÌg͹\95*\aJ\92¤ØÄM¯©bÅÕÅ\ 6\ 1ÕÞð¬Güp,\7fv@+ÿ%\ 5WÝPSú\9011±=MºÉÊnmdæ'\1c²qn-b¡¾<lR\a\88\1c\a\14ù\85\93TÒë&±<\9aÉ­±àvsÒ\8b'³WÑ\81\b[ï½£IÙþû3>úfI3&d$\81\ 2\80\91`\84\0RC ¹\81\90\99\81\92¢°h·Â\96­\94µ\15\18\b\8cY'\99\93ç/­vÕ¶ú¶\97jñjßZ§ª´-k \ 4 \ 1\11\1a¤\10PUkô¸\80\b\ 4\80\81>ýû÷ÿß}\99$È@\80\ 3@öí®ûyo7×o7\9cÝèï7Ý\rç7w\9bÐßt÷¡»Ïo¹¼Þ\86õ7§½=æ÷=Ü÷_{\9bÎ^ç·©î\9eÿ\ 3Zp\1d­¶ë¤\8d¨uú\86Tëö\1eêuûÝ\87\9a\81Î/ß\ e\9awt\ e»®ðN ÝZ oÏOOÐȧ©Û\1d\88Ä(øaÑÿ\8faÿ]Q©À})¿õ¦ÿîØ*\1a\8eÈäQÛHÔøõ~\7fþè\ fþ>óó]\13ßþ)Íw¶\14ºÜ§Êöq~Wäè,z½\9fÍçâÈQ¾\19\17\1fÃû\8e`\8fö\9e*Î.\17ö\97'~\19©çQ\ 3ÏÙà¬s\19\86{ùïà\81\ 2\97»¾Fü¼ì£\17\15±\87Yxüe+ÿ3w\9bðF\91/\8aÀh\0®!Æ\7fmZ\8e.#¿ù\8e\17³?ù¨\90î?éRßýÃT·u\Ã\8a¾
+\8a{\83T·î9\95j8¤\85w*V½¥4¾qª[ó¹\95\83T·î.*[ò\e\18e0òÈ\15\84*ä;\7flj_ïá]\a\8eB5.»¸2\89\15Ho¹´/\1cKA¹Í¨\87«ÓÕ\ 2X°±e\13\ 3½\8c¤Fv\95|2Ê'6±e\13´\91=÷âÌGwö\96X}¿\94\92\93\8f\9b2hÿMã\1c\93#KP}Ò0\v)Î+&
+ïnì¨ÈP«/ô)0Q¤\ 55Ñxg'\92ß(Ù#¤³Õ'¤6Tû\17ÁeZ/<\9eO§¤¡º\a\vk&+\10\ 4bEt.\94ZwOTFoF1M,æ\97í\ 6ªá\ 5\92*e©cîu.a]KX\86½q\9a\1c/"[gi½\94\9bþ¿µ\89d~ÎYê-)Æt)¨\7f&%ìÜI\12\82\1d¡r¡óÚLSñiHí´\v\93Û-\0ä\r\ 1^'\9e\rÖ\ 6\9e®ç¹Ú.8\ 5æ\rm]\84\8b_½Z3ð\8b\1fZ¯ó Ã\æ?[\86ع\81ô\ 3+ä8p±³ËLë\8eKȤ-IÒ\ 2\1e±¬´0»\a$ãij&\93ÑÌ¡1¥Ï\87\82Ç\8b¿ò\9a
\1aÕ\ 5\7f\9bþ
+\82¿\8a\1e-ÿÃ-G\957Æý\99¾7þ9¿ñz×Eu\15\7f×R§ÒxU\1e\17Ïð®N1z\8eé×,!e\1f*4G\8cSp£ö>;\17\1eÍàë-]âç¶>\97Éîµ?Ò\95«ÅD:X2\97¼\7fýK·\ 1ÓQ\94R\89+\90ø;\97\84\93N\93ÿ´I^"HÕ£¼\97/¹xD\ 3ÕJ\15E_UÊ5fãdÚíØÆ*þíÉî^\rA\81ÅÜ©\8aw\17\7fÔ¥ÛÓê\1f_\7f\a\8b\91\1a
+åýÙ\1e\99\98G®Az¾Yßs¾        \8c\ ee\85£#_z\8dZU¥6¸\e#óÜ¢á\9b\94]\83\v-må¢EIÏ"í<[\86T\bë]°ÔÏ\ 69â:ä·\92\ 6HUê¸Í¢\9c$ÓP{Id»Á\90\12\92°Èæ\93¶_Ü>\8c\9e\7f\81\e=ä@m§µ\14"rò\13ÒË\ 1AÍÀq\ 5W\ 3B!©\90RËë\84uP¾õ¤>õ³L\87´\19.è|éC7}m\83ÐkÐÀBZ\8cT¢ä\8aÏ\aù\12±ÕÌ\19\8f·P\bÆfFPȽ      #\97¡\19qp\90³eU.×yW>=\9aZY\ 5\ e5YS)yqóÊHÊ\19&´z\8e; ô,æ×G§&QÓ\10Óñº%-\ 4  áý|\9a©7\95y%-·#\7f\ eän\8d\v\ýúA"Ðl1íVAcíK\ fPR\80h4\eÒGbFÎ÷m+^óÑ2\vï\94\14x_ÐIt\81'\1dÙA\18¾UÀã\1d<V\80¦8g\9b\ 5\9e¯hùÐ\85\1c¹Ñ\8b\88\0J¦}|ïpþò#\140F\1e\8cÎÌ\1a\17Vh$\ì!;aº\85\87\9dÏ?\19 ðYMx\147uú.Y\8f\r<ÞÍñõ\98ÕýÂy\92yÃÄx \85?a\r\99\18\9cb\91âW\18¶O\81\11éºV;Ûµ ö\9e\81\1e\8f\94úòJ%Sü\86oïÈ\18õh|Á\91_\91V\88ÊÊ\99\83Û¶\ 2^þúMã\7f\80ød-x«4Ù\19ãÂLÜÃMA\ 2\a\f\92Î\ 1vÉÄé\9aÓ\0¤\95\fk\r3¶öM{°H\94Ë\86\14\1c\13ì`Xë\9e\12Þûë1\92\9c\99\a³GYDé¾\b\1a\87=`,\80öuiù¦\1fîÝAu\1a½<ÄF\92\15(H,\9bé\9füwp\eº¨ì\ 2ÆßÌê|hz:_¤SKê#ÊK#Ðþ\9d'\836\93b\1aA=.\1c´ØûƲ$\9e¶ÀI'j,!\92ªë\1aûbUcr/°îl\ 2ëäKØÆÌÛ\ 1³¸Y¾©óðP\13rïSðö\ f`¸¯4\9b¬\ 5ù£}Óï\92\14ÕþM\1có7s\9d¹Ôx\80\1f\85Ùp\94\11×%;\1aTÖçD#©ÐR`\r;¸43RÉz¡&»oì\ 5\91\87ǹ\80|¸$¸*Çr\r\9arzO~É¿sX.ºàÒöþ"\88M\94\ 1z]¾\9e\ 5?ëF\12<\90§+Â\97\9c»µ¦÷
+\9b*kMì\19\1c\0\9b\11µVµ\91 \8fI\9d\16\8a\8e\14\16=®#ª¢o\93\15\98WLn\7\95\7f¼\ e[c º\9b\96w\8a\1eº>{\94tÒñ\93§¾­tÞ\13ænwºcßy\89ÿW>òÞ·÷\9aÓ\0é!O\12Ö\9aôÀMAh\8bÝ|îl,\r¿fñ=]Î\87\85\92\84æj\81\1d>:\r\f´²W¢â0\92ú¹Ð,r\10he×Ô§ë\ 1ñéúlÄËð\86£¡]\f¤gÔ(ãá\90½64cKÔr\r\88\97®6\14Ç«t_[®\b¥Ïîå^A\ 1¶a\\ 3ÇF¹,±\9c\11b5©t)ø±:Gà ,jA\ e%\99Ü\8c¡·D³g2\ 6_\88\1dd\83J}uäÕ\86f\ 1$Î8\90õ\14\82D¶çð\87p\99è\1d\91ôSÐ/nj:Æ\1c\9e\ 3\1e®\8f¢é\10m½ÞK%\89ÝF:\vÜ4²|\15K>Ék:a^,7\8eB\7fé=\ 3\1d\a,ÜÌý\99Ì\ e±\94õ6Ý­7Ñ3pGOpà÷\98"oÉîe[»?µÆ\8c¤ä¬¹\89K\ 5¿ZË\8a.¼³-\89ºÄÍ\ 6a\ 5\9e\b38\8e\145Ðw³\86Ø\8f!e\89\95 D+;\81\8dá\93\8c \ e¸\ 5Ç Ó\0µ\94£¦ Oy\8b!¥JYO¶¯d*\9cH$«î%GÙLLßTLíS\1d e=\ 3Ò\ 4zÕã\r\9aIX\8fÀÞú       *þ`     §X\1c±û\ 1³LAj\11\89y\ e\94\87!×xg\90\87hCÑNYMf\9eÊ/RÍ:¹¥ëkÌ×N\ 5z6p}<Ä(½²Õ+Ç?\97à­éËÅh[\87\ f=\ 6\98D\8bBíÃ0   yö\14\89?H!½\80Yî»8x°Iáz¤ý\8egz2Hâ"jР©µ+ÕõÝ\13Záíu¯&Ê\ 4\e\9b\aÄ¡\8eeó7ôÀDið\ 1hYV¤ÉUp\8bve
+ ÷\ 68¨K\81g\16>9ñ))\1a\19|­&q\84{îuL¯Ï\89\95Ó+\95æÿ!%È´û\1cÖ\1a\979'jX\96&L7=4r¤DÉ\92ݰ3\7fÔ\ 2±\8b\ 2ù\16DZܥµ |vªR[e\94¤¾\ 4|5),\12\ f9(îb\94\97ôUR\92òäKÚ¢ëòcÔ\1f5$¥%ë#b$'.ÊÁ\8e\vu).IU).5Û\a\92Ñ\14¤l¾bõ\vûê\14ß4YÙ\ 5¡=öÊRS\98ó¡\8f·\8bU)*Ð\99E¼¥ef6hû\83D\16\v9\91\8cI\94v   zª%¢\1dÑz5ÛG*D¤   "+BÓqúÓ\130\8dzÅ8Yè\16P\16þ\98\1d#\10³ÜÈù\17mëó=\0ª\bmë{Yq\90\ 1Îc¦èï\ e\91ÅÎ\80ýg\v\ 4¸ëèùÇL1s¶umñÓ}¯æµJ@\15&L$¨\1fO\1c\9en*\81\93¹\9d\83¹\9bà(Þ\97¸^\96­Á\88|(\f©)R÷{\84\8eY2CÅ2¶HÊ~ù&Cù\ 3\9aÓxe\ 4Áâ\95\v\94Â:Ñ2\1fï\v\19\ 5<g\9aMàu¥\84h9£¯º
+¡*:u\1a°\99u\r@M´ú%¬õ\fIPºU1å&\9fÄ\87Û$MGê±"ðZà\19o\ 3cdW¢Õß¾Y\17p*zÔ I[ôçf;\10)\81èv\ 65ëãJÜ!\93,¢ëd­+Y\8f,\fÝ\8a\94®j\13\85\81¼\16\ 4,Ú©\15?\1ck\8f×\85õu\97\9d\86\r\9dgrÉD\90\8d\1dy\93\1dQI\ 5µâ¹9»FShÉB\9d¸¡QáJþ¼å\v2\ 2\1eAPÐ\ 4a>ͨ­\15\ 10,:¿XH\82\95\ª_Â?\1c6\9dàëG\89úpríÜ\10lô/%FÎöõ\12CSK\8fÔ\9c\aóGnÿÿ\14!º³¿â¡\rÿBO\7fï\90½¿Ñ4{ÿ}       F²Lf\12\82\vD\98ÏDªR\rm5'û*b?ô\94C÷¨r\92\88wè~´¢\1c\87\8e\7fíJ!Ø¡\11(\87\\84\1fí\15HA\81<ÉD8/\11ë%\10þ\89T|]©d\9aö\17)D?Æ?\9a\94CÁ=d¢\1f¹aÇJ!þYö©D<û\ fØ\94\18\7f*Q\ fs8'õ\18\ 4è(C3þû\ föÙ\80\1fË\92ûָܲ¬Áþ\e-\7fã²â¿Î$Rî\ 4½¸è{¯\19)C0\94ë\8a¢©Å\137e"«å²Ú¿Ø\94_þª\8e¬m\1c¿¶\87\15\8eøú\1e²\9f[+\8eúî~w\99áý\89ªÞjP\1fÍ¡X⨪ñhc¿ç¡`Ô\91\7fÿbRÏ\16F¿Í¡ÊÔÝ~l\8f\1fá\90Ç\7fWëÊ©+¿\r\9c\1a\84\86¾)Ó]ÂaظÕàN²ûø\1e2\0_³û\8f1?\ 2̯p£\ 4\9c\ f÷\1c»9r<ác!³ÿ\11˳q\81ýÊ0^\1a\Ç.Î_\96£\ 5\8aæ\97ÎÃÿñ¢ªëB²û\98!GW\9f\98äÅU\82¥ÛIÏ\92\12\17IÏÜ(Ád¸£ï\0qÛ£\8b\9a\12\ 4µø§^á>úó\18\98¹V\9aÎ\7f=@ånf\88t­²Y£©¨K\99Á\9e¿ø)ä\89äo`ôÓ\ f`õRÊ\10Qâ!º!\ 3\86Dý¹é\86DPhªxÒ³N¡W\15>\9eËäÖÙsYæ\11áÈ+¬\15\9f\11â0
+PV\82Ï\105I}QPÄå/\98\ 37;2¡\95[\17\98¨õ<̪ÍËÌ,ëbKFÖ%\84¹\0Q/P\ 2jâüR)(-=\ 2ZôúûøÔ\89îÍ\85°\19\ 4ð5ÿñóoËÍ\927\9b\102%J\83-}pe.×õ\a\ÐȬI?\8eCäs«Z<\15\r\r¦4î\1fõÆ\19ò\9cN\9b\85\13Ôj\ 4w.jBÑÆ\9amsZy\12³H\eh\14àV\82ö\12/\1dëãݰ\ 2\>\15\9fê\84;f|\16\a&.à\9fx\ 6ó\ 5\16%¥FÙ\ 2\rQÀHi\9b}\9d\1eÈ-\1c{\vFþÈ\9bÌa¶¡á\1d\18\9e3,é\1ciï ³\9b\ 3\11\86\96\15\15\96\86õo\11®í{\aS:@\8a\823XpÅÁ=\88\8eÖ²ô~\95i¨cê\80\1c\89\88õ\82ÒÀ¦\9e\9aÉÎ\0\eÍÓ*\1c5ôðáhä¨\10¸M(\11 xÇ`?Ö3CW0V2\1aB¼u8Ób:D»;ÐÙtÖ\88\f\16\88Ø×¢ì÷J\16ç\0'>\87\81»úkJK¨ú\8e!oT\96¾îr£ß\92Õ¹¶­g%²~È;\99É~§¨ê\ 2Î\8cF][öt\99¸Þ\12\83\96¶Í>nÉÎ9=ûTñ¶oãSÆÙ\93Fz^r\87¦\9c#\83ýÎ\ fúc\83н~Øàüß\a\93\1c\1f}½-\1c\1f¾¼ÚG\aý[Ïé\8e\ fµ!Í|8Ó ê\9b/4\9c£07½d0÷âP\88\0k7ìàô»µUc\16µ\rWZÆ\97ý³\12d\ Æùk\0£¾`¥B t\a¸c\r¸m\97×+"%³\8fFÎf$ð\1fH¬ò5©Æ\9a4óÕ!æúîgÕ\ fCûp ²X{ÎØB\85\86\9dÏ?Á\86cøJ\845¿EÊô\97a 7¯\8f¬\9e\bÓ¸Iæï\ 2\1fÏz$x\1d<Çç\86´Ê¼GV\ 5P¢ú\ 3æ@ð\8e¨Ý|C\ e#\814ez´\82ÂÕ|6Ä­\1e­\f\1a_&è¬2Éãd\81Z}9ùÃoÉ\16E|Ú\ f\ 5Ë\86qãZmÒ¥¸kXøA\8eP#\e<'\98\16´        ÅëÊ]e\98Y\9f ò\b\1eQ\9b'¤F\a\11õÂ¥Ã\vA©¨\9dNH\84l\15ªW\fJûw¦õ\1cîÈ#á6RÏ Ï\85\84\b  ú´\9f\r:~&V\11â\92©Ï§ï\ 1òy\ 2xFû\86½Ø.0¥Ç÷éQ\8aÎ?®s\89Ѿ\8eÞãO<\87­bzÇ"sìpYÚ\82\11I\9e\ 5áL\90È\14*:\9a'Mò \91\b+\14\90é»ecTú\99`¨8½ë¸æ¯\eèßæ]ÀÄTu²¸j«\0`\8c ób\89-ô¢ºâ05Ãî µ¦5Mi0®´}7ðk
+\95µ\84cÔa\ 2¹´\9e\87\97\16\97\ 6ëd%ܱ®ü#§´miý¾\12\96\8cÕ¯kÝ\ 2\89e@ß×|Íì\f\ 3ª\8eÎVè\e\v¾®Ö¤dIÇ$p\98~\98ÜüàFç¿\bÜü»Ò²\7fýÅzZî  Z\16g,\16u\81\9a7S2Ì,ÂV\87\e©ç$ÆEHÝIõ#u+\1dÁ¡\9b\96H,\94ù(ÝIû\88ÝGÿª7S\8d8ÓSÕ¸ÆíP-d\9eþ©­0©UMý\ 6´Ì\ 4\82\1fi\båÏ'ºÿ\80α\17wÀ[wLAO\ 22ÇÕ\1a\13S&qYÁuJVU\16\852¨6\871Ì<oÁÌ\r\9c3\92î)7«\9aÓ}A\84ðbé\1c©îàæ\83¨«Ö       $êÈ#I\1f\r\95
+Óeã¼\f\81\84ch\1a¤\ fÍ\r<\1c\96ö|óÂ\8d\92¼\16¨\85ö\11̲xß\ f/\99\19\fßÜj\Zz\12\0±O\9fµ\89eF\83åøÆ\8cã\ fQ½L\91\17F\15#ËɹØé8ñ^<ÏEä¡\19\91Â\ 4\81ÔE+UaN\91ì
+=\11\ 1MA¸v\ 6\f\8aÀ(éiÉÆ´ÛCÌ`íµç\92\8dq^&lË\19\9f\vCp)\ 2\eËñ­\1e§¸\v<°Ef£\ 6\17¸.oUÛ\7fO3¶G΢rÞv]ô\80Z ìhàɲ\8e\f\a\ 3\1e\9f,´y\9dB\91ëuB@ÙÁÉÅǺo·}\181ì¾2Xx¸EÏ»à+ãTÛ!\8ftÛµ¦ô\ 6=ÒÄFëVw¸O¤S0\8fT¿¹\1f\17í-&8}eje\b¸L\ 4{\93\11%\99Ý*ú\95Ææ\861Ѭ'\ 1©¡\97ÊKðª\14\ 5ÿ2ÁM4©\92\1f!è߬K\1d½1mYò\86\10\1exå#É\1d#\97\rÀso×\94áÇ\95ç\98r¸>\11å\89öì(òÉÙ\12YB+L§3ëV\8f4Ò¥|\91\86VêV\8f4d\vFD
+&\7f\16\ f_~\96\bòàáÓZo¾?\1eº\ 6T\ 3Ø"¶\14\80\93\94û\13YnãZ\97M¼³\13\rh\93³Y²õA3Vô\1d¢Üó,d\1eòX9´\11å\194¾³aä»÷@Â\ eè\11ó\88­\10%¹±7\ 3\ 1P\ 5F3\16lÌ3ò\8f`Z\89A\ 3RiX\ e>"\13Tc\1cÁfy²LÎÄ,Ü\9b$d;fí\18ÀXë\ 1MÍsã®\11ú\12\1c\80\96\1dÕîͬ  »ÇH<O­H\10\1d}¡|±©jå\8bçV4ß6°Pr\8df\e\\97ÒS6\9µÔ·\14 ÷:]Öô¸\ 5\8cH)ë ðóå\8d®6ñ´SxÀÅÑ\ eà\97^<\85¬|Ç\86#¡/¬^\9f\18w   }¡S\13/aAñ\v\8dƶÝ\15Æ"\86\92Éo÷FÓÀCÖ\9e®çFÐ\89Ô°%±miÅÚ\1eª[\8ch\ eE\83\982g·é\8fípiò\18\90\80\94¾j\9e¤À«â\ 6B<]\ e]5îó|!²Ä\19Âåd\ 6¬\866\ 1\82\9cv\ 4\1eåN9Ô\85\9aã ß«MöGÉ©³\9a\81v'Wç\13`¶"Ó\83^\9ezÞÍ­7\83À\1a\97C)A\ 6}xçà·¿\8c~|Oiv\9eÒ\14´LÉ%Ŧó½¥\87X::Ç;Ó       \92\89îX(Itòº\95ܽ&¯¹Ïâ÷J\8f×jô,8S÷ä\aµ\b¸_ɳã|ËEpÑ\9aï±\81\rëÑ\82h?9½«ciP¯aQ«\1e\9c2É|±±\ e\eÝ!ï®\89uEåÁSì_sûÝ Yä    ú\eÕðe1ÄÖ§Q\95\85\1ao\ eI\928ÀrË­\869¥O\10Y\94ø>ß æ\ 6H\v8\18\90w${\8cÆ F¸\98Ô¸B\÷&vÉj\ 5vt\7f\1e?\e\81ê"Áß=\83\eC\11uiMîGåáøÓêqÖ\8bX\8b\1f¦\§sv\ f´n:×¢|\9eé^\89ë\8b6°r6\95£U<aVRU<Ä\93ÄóW\90zy\83\8fÁº¶"¦äRêÊÉàD=-½\9d\9aZ\18åHG\8b\ e\86ë9\15%8éá^¥Ï]\ 5Æý=\96´/     Í\8a=P\ 2ÆH\8e\ 6Äôn­?\1c\1cåpÒsbu'D\8eã{dØ\r»û¨0ÿvÊ\13ñ4}"¤å\8d\92y
+(lãô\9fô\92\8d+E/³\97S9!\87¡ezÂ\1d\85Ô[\85´³e\r\ 4\8e\9càû\1a\97\89ÁäC¶\13ñÖ8eÕ\9bÁ\eÂ\1f\ 5\14\f¨óqÄ\f«4¬\9a,t»9ãÔ#)\90Z~ðV<M[-\8cbz­×ÆS\ 6eÇH  \14ÂXY\13\1d;=\8b\ 3\14\91a_\94Ë\17ÄË\10,³·×\91\17\1d\fÛÁ\ 6\12,8\9c\8c\f|1aȱµ\91\84åï)\ e\87e\væ\9e¬\13\80>,Ì\81½_¶\ eæSï\15ø¥JÍ\ 1$\09\13»¿o\86\8fÙ\9b\ 6ó×ôÕ1Å«Y\95¢\8e¼\9dC^²MZR$ÛîeX\13\81&³}\89\v\85¸Ì{rbÜÇÑÍ\v]$Ê%ß\97\13\1fß\89µf·ß)"«ßQÆYÖ'ìp\11 m\0\99qøÚ\ 3\93Ï\ 2\rçMò\8a\94(ïäÌQ{¨ }Â!ÕaÓ\10\ e²\b6(Ð@ì\83\9cN\91y4-ª\80:n\9e¡|´K\9dÛ\18¦]'¶\9dY$93òdÞ\bEÇÁS\ fû«\fô»[Á\9f\86U\83[¥³Ú­¡¤\8bC\1dÃÐÜ(\9a\1a6ãC}8z\eV[»¡\92-\r*6qd\96ðDÐÑÊèeêèn\9a\1e\86§-\rG$k(æ\81ÖWDÏÙÛpP3ù\18yüñ\9bv\ f\81¶.:\98»xæOF2ÇZ\9f-[\83f{\92ZËn1´UMáYÇÓ\13K\82ׯ¡÷\16ÒûR\8d®ôî\84¦º\81z¬W¥7c¶W¥7Wî\a\7f=0|=\90\aþ¢ögNö\ 3\80\0\17\18.\1d\96eyº]Î\83\82T7Ks\88¤Rfî\8a{\8díïnÑ\94\ 5\8b\16+»¡Ê\95@³X\83fæa\e¨\16t\19\80McÜÒN\9c¢¥c££ÜÂ\92\1d\9fÏí\85³w\12âC\ 6R\9f~fÝqõ\8d\\96·õ3¬áaá¹ÝæåHÙkda\9e\ 4ôP«\1f3@²¾ì\f2÷{\18r\84\82\98âqÜ\9bC\1df^l\99\9f5#m&gÛµÿ4\99\9f        #k&gûm\7fë&gó\er¤Ì긻ºXë1<Z\80Ha¨BÐõp\98j¥íp¡Ú\ 5.\13\83³h·juI\ 2\86.¶àuÎÑVÓ\b%dÌ_\14\94\87\7fÛ&d½\É\99\fâõ\8aL¿\18×ïc§AØp×»\99ôÃéU|\85êÚ¯Ì`\92\9a©1§4Æ\8c\e\8e\0\9cï>1¨ÇÙ+e;X;\97õ+;ÚŬí\1f+)´\12ó\rZ"ÄU-³êÌ{q\8dV$¯±&>\16ç\8a±F´ðK\8c(A¥x\86w¥õ\ 6\89÷sè\ f.Íu\ 6\13oIJ¾¡3Á²µ\98úä\14\98úþ9\ 5´M¡3\ 2\88jÒ¿Ç%\9f\ 5\9f\8eAD\9a^Ñ  S\90þJt_dÒ*\12¦IÙV\95§\15       S,g\86ÒÝ  ShKo\eN*\12¦XÎѧ\15  S,e\vN*\12¦XÌCN*\12¦XËÃKt%M¥µ:/bÎ"\12¦Y·°ÎÝ    SisN\8bèY\92\12¦Òæ\9d\17þ6|Êt_ÄgqN\8b\80\1dyU   Sg\ e\9d\17ì\19­N\8bô\90ñ\baKa±ñ0w¶j\9dQ5iÑ\7f\90Ì©Ñ~\99\9aÔè¼\83>]:.
+\0\1f\12\9d\17\90f­:/º\13ÀÄ\81ìÖBTÉ?Ôú¢ï[ühð§Eã       
+¯ÙÇ\95\9bäñåiÍ<u¥:/RXÍ$z\94è¿\91\1f\ e\9d\17Ë\16gò£¢!*qöÔè¾">Þ\9d\17\fÝD%N>-:/Ò\8e\80½YG~ʺ\7fÑ\8eâUÓç\ e iä\06ìCA\1c­]>\90öîiô#­êéÿ\9f\1cNÚ·ýĽÝk/ýDrÝ#¹ÃlLKÜ:èà\9fZu˨ ãê\86ÊrØ=C`´ÇÊ\82\a],6\93¬¨ðrP\9c\8e\eD\9aÎ4Æúj\ e<ð)¦¿MS÷\14U\92¸E\85ÁZÑ¿5\1d<·x©/x"Çþ¢ú\9a=@¢w×\ 5\eßc¹x\8c'hûÀI¥:Ç\8dó\f¨ùç\88ãåIÊÜø\87\98Æ\1c<a\8c\15\ 1Ï\ 1\87@½a°\r\bÃ\80\rì³\17h^Zß9\ 6¾VÅå>2YËYí\90'Eqª0
\9d$;/Õ r×*F!\16\98XÒëT%ò+P\ 3óm\ e\900S\8c\80íté\b¨ªl(öð£\1dÒûÍ\82ÃôÝ\80!Ïq«\17\86#\v(¿\17\r\9f\97|"«ãÈ\87o!\/
+¶¼¾)p\10óY\12x¶ÉG[\94\16ræ@\ 3\86\95\92\8a¨´\aµì¡¢\b`\93\8d§Û?AlÚS·c\ f¾Óûá7\9f"\8bÃ\1ar\19û%VP§µí\9e¢U\92z\8b\93²¥ô7£)b°Z'\e¡]\10ÙÓ*\7f$ZÀóÕ± °Ô |hÇÍ_÷,Kís\1c\14~@u(T\9dêÓÕf§ÀÊ˱6 Xûù$Í\1eIVCTdì\95'ã";ø0u.\15\88wLIÐU\83$c2X¬j{ÿè\15\12Þ²ù R\16\ 3ªbch\ 4\ f\15Ê\e\11Ç\9bvÝ¥\ 2x*8\92Å0ê\9d\92\1aËí\9bǨÐÖ\93¯³\86«¿ÌCC6Û´i\17?\ 5ÊbU\ýÕk"¤J\e\8fúå\83ö\92½||[*2è×Ú7Ýû\96Ç\17w\8cS©ûXÎ;c\8bÞ!Ælq|iP\1f\99̬sïª\1añpD\1cÿ×*\ 3å¶A<ñö\8d\8f?\0\87%±çÄK·íe¡wõßê²¢\7f\93XmÿQ8ëÇq%èd;éÿóe:ݸÃ+ãµ\95µ(Ú±k\97íN½uò\a^¨Z\1dzçç£3\¿æÊ÷Ô\)ð¼EÂ\9dµÈÄßãÊôýüÌu<¯\fc\vûöQý\8e×\83\ f\8b\969ªëÊÃ\14Þ,°^#\³\1dßj\9eg s]\ 4\7fù+$0\19\ 3}ì1\83_ÄkFø¾R\1fÿÊ6=öú\ f\95,³æÊüù«\89Z\92¯¸©ÁTTà§ý\15\93¼YZ\1fôQß\7f\rdÏðþþÏÀ\88\e(\18K3â\9fݹúf.\1e u\96\1f\8c~\17ë|\ 4eæ8\94sÿ\rìh²Ò\9fý¬f?>¹iZ¦Q\7fÁ,³ª?÷1\98ðbïá¼ùõܹe\9cÙ«\84\a\17\awrÝ-\17=oÿçM\13Í\93Ò\1fÊc1ê\9b>1m\84`\\1aÖ°,Á¥rëi­\a¤§×ö\19ÀÒEv\88Íñ1cvt,\10¬>´õäeô¼%Ç*h\90þa&j|â\87\e\82¾!»{Íà̶\ 1\89ÆÏzZ \88\84öä \8eyõÊ\9eP<\86H\10Õ$
+v>;\140Û«0\19\92w\99¦.³7si\0\9f\1dûGD\96\17\99(vp±å'Ú\9düí±\ fÆ;ô6Ä>Ýj5\7f\1a¿\99Z\8d_      \8a\16¼§\98\10\18n@G77Ã6#÷\a\1aÌi\94}·Úsñ»\14\ÿ\aÎÒQx^[<|Wë§ÿcï\9e¢3RìRáU\0QX\0\9f\9b\e9\í\8fùß}´bâ\85\99ÖS¼c\8c\8f7Õö\18˯\11A'\ 4¸þ?û¦?lV:ÃÿËÕ\1fi\1fû¦?}\11\97\8e÷\1cÃ\8c6\11]¹øÓ=ÑøÞU\19N\b\ f$q\97\82þQÆ\e\15\ 4^=oü^¨ö\89\r\ 3*o°Z\v\8dc\80\a\r¤¦\1cc\1d\18av¹\92½\16 Ê\7f\13\15\98\90\ 2ȨäCÛ\ e¬'¬Ò¥\9a\12ÁÝ-\96\11¯w\9e\¢ä¶\16p\18ë\9fb]¢û\82r8Ù;ø3q\1cP1Ûv´ÝQ'\18ý       \90·ý\80¤\85OصÑQIÈæ/$f@èë\ 2I8×E\94\93m\98ë\84ç{ÓZ\97E»ÚâzïYs\88Ä\13\15\:GÑv\f  \96sÐ\\84\17&
+1HåÁ@JÖ[\95Ô´\94Èj_áf\9f`Ä/\7f\11P`A;×%×å=¿*2T;(#\8d\95\99ƶt\8eÐgq?ÂÅZÇó*\10\80ùÐ$\ 4\88¡LÄ\98\ 3\ 5\8e\89\8c;\ 4Ô³B_pÔ\84<\ 3\ 1\90½\89Ê\98ö\ 4'\98Ã\8c\931\9a\10~V¥¥`T\8d\9a\ e\11jãúD!Q6ð½\8bV\13¶µ£\1cw.q\fy\80­KÖõNcx
+\16\98o¢¡i\86Då,ɸÄÐ#×ú\87\ 5\11}\ f\9a\8f» ?!f®S\19\11Æ\ e\8dr\ ef­>i\f\11ó\7fR\8e±T2\9f$\90\80Ù4r`¡fõÉó\8aú\97JLBz$\94\92\(9\12D\1ca1¥À\1cI\82ÕÁ\85\91ÈZ!zj¥¢\80ô\0táí.3N,Ò¢Ý
+7Õ!ü\91rùxª\94?~RC¼\97\15R\87Î\161½º¥\ fò\v\11ÎqU(wE\8cC\8a©Cà\v\18\0\84¿\87\17/\1cXÍQüH¹}©I/>éñbåȬeÃ\8b\97F"¥\ få\16m\99·T¡ü\ 3îbåè       15Ïq\95(yþj¥\ f\87â*Pàz\16Ô\8b\97¼ÄT¡ìØ-\17/è0\87\17\aX2H!Z#ÕÁè\v\aã0\87\17\13\8cK¿ú,\16\8b\97\ 5\18\1fß\8b\97î¸Ê\94?z²¥\ fæ\8a|
+\85\949(ÅãL\87Ö
+Ðü¹+¡t\rë\8a\99\952\88þÕR\87½\963\0ª¥\ fÐÄT¡Î,Ï      \11R\87à/¶\8b\97\16I\1fk\17.Ou\94båÈ DD\8b\97ô\a@^»Åÿ®¸¯Ë¯â¤\9d}"ûE\1d\1füõ½ø¼¡~bH\1föT\86£gÿ\ 5J\7fü©\1eÿNMÃtl·\8f\1a\89-¡Ò´,íS\ 5¿ö*Q|EJ>-\93àjA½ÅHñþ\15H¿þÿ¹ÁH\8fâzC\8a¦¾\97Ñ^-\81p?cÙbâ«¶:ËÄí¸Ç\17~Ça+×ößþ¨\ 3è\ e:Zgùª\0þÛúj\0ú uë?òµz\f\1cþ\0Ô\ 1ô\1cºc\7f\ e9Æ@¨\f\a\19\ eOÐÜ\13\18w\19bLaÜe¹?Cp\ 5,ùGÆf,o¹5\0x\1cæ à\1e|ßû\8a\80=Ú^Û\85\8d\9d\rÿ¦$ù\9d\ fO\124b®\e.=\92\1d\r¢\80\ 5i\a\9c\14\925\a}\98á&\8b        ".>¡¥Ð²\9bña>\8bp?Å>êz\11ÖA×R\9e\1eH°òch\ e\9a\r\vËâ\97\95\89y]b\87ʸ¼¹ÂòûÃh "  b\aÊ\81bÿ\1cØùlË\17\95\96\1f.À¼¸\91´+í\ f@¼º\º¶\86\10!\90ìÕ´0i\ fÅ\97Z6ro/\fáB»ã«-aXI\aÖ3©Å(\82\ e»\83\87\1aÓòË£5\80\8a\89.\83'ÑÑRâf\1fû¡H\7f»GÔ\v\17\88\91ÑÂmEK¾ç\82Í_\8a ­`\822é¾±ü*)É\87Àh'¾"ô½\91´®ûLûEE\ 3\ 3\92äYõö¸IêH\95g§Üå\14ãbÒ"U¢w)ù\9f²\ 2¬ÚLì)q­$3\fÌ-@Rt\ 4+\1a\8cg\97\94Nil°o¥\ 3ý\81\1fé\87ÌCýÏ\r\8bJéé\14K,ô\84Æ9êSÔ-\9faè©fð nSfð`õó5/¯Éø¦\1f îή\14j~.x,û(Ô\ed\e?óÓÈ\9fÿx37èV/]
+5ÕEÐt8m#a*è\86ÚJÅç\11Ww}<\ 6æñû0\99\bÑ"%^'llLÊx\99«\M\10\9f$\9f÷4\e)9\92~4`*z¨\9c"^\94c\97\80\97B\89\1c\8a\ 6YÎí°I:L~\\92ù\93·\ 5q|\98u>\8cs*\11û¡\18¤S\8d\83ÑIt3¦\8e£j\ 6CãÏO\1d   í\9bA±ÎÕ\10\95oö ¯×\86\ 1àØÊ\9fVùë\91"%\ f?\ fÔ/×p2n4Nftiçq¹\9c\13Æú¬Ï@ý\98a\13ÁÒÙ!Ü_\a t\160Ô³\80>\92\86¹çOE¿Ò\8eï\ 5\84i\9czf]=\9b&3O=\86Ú­³Útöy>q·Ó?Ú¼Gk\v        \a\e­\1d\93êÁGX\96vuR\9dØ4a\88Z\v\ 6×Ë®      \92ì\1c²ík_/\10k\1d\ 2÷\8fôkZX\82ò\ 6\ 6^ÞÒÄ-Z\8f2^lM\83\18<×0¯f\9f1\14zn\12\ 4KÁí
+î¾\8c\9f)\90,Åâù\95\1e\r\9dÛiæ?(³\19\ 5RêX®­<©Ó\f\rÐ)\90bxó\90»W\r|»±>WN\9d>\96á3`\8d©OËUë\1e\b\9aH\16\96sT\9e¶â9éYñ\1a*èâð.û¬æ\83íÖµj\ 2KÁ:®X­bB\1f\ eÏ<Óza\ 3.\8c\13\89QT\13BÐGõ\8b\8e\19\16D[Î2\8a\95¿@EÌ<X-9YËþ ¡£\ fP¥op\ 4\9f\86é\12­\9c)cÎjÓ:\7fÖ\8eQÒÆ\194i'4²9¢]ñ³\1cm®cÐ\16bÈ-J\ 4OK\87\1eè©{f]\ 3ù7¢I©:Xè9\13Å\8c\9b\92B¿pTÛ9\ f\ e\7f~2sM\16\bÏ£W$4\89Õj[ +\86ç\98\8ek\1fG³ã\13U{}\ f\896\87lm\ f\87\17*I­¨uÖ®\v\0\17ª$úÓ\17kz?ÉÄ(\82ef\8a¸PlnÔ@ç]²Ñ`E(\971\13Õ\9a\ 2»çäoÀ\93Ðbý0s¨uõ:\94£q
+\98ÉüXÏVëª'ÏK\10cd\ 6N\10\9a¢}\bvx\83ªøÉÔw\95\12óE©ú\92Ó[\r\ 2ð4\18öI}Þ\88È mz^ØpS\18\94\v]­¦yv»v½m»²Ky¾WÈ\92Io\87\9a\ 6\ 1«w     8[Væø\ 6³\9c\85\1dd\faéwÜ\ 3Zº¬\9f\17jx\ 5gR«\88\8f´.çcݲUÔ\16'±Îª}qÙ\10µU\13±6ø\r\87Êo\8dAKî\12Ât@\85\7f9©Õ»\ 2H-çíÝA\9f\93KÄèK¢´\1c\81á³~IZv7&k6\1a¹ólz\96\9c)¬éÏ\øçè\17X|ÕIÔ\9dÏ\1cý{!à.Ë@\81\13ЫÀ\Â~\92 \qÎÚÐ6xÀJ²ôûáGÞqëÓþ0Oþy/ø\14¾µñÍ_¬\83\9a]¥ð|[Hçu{FÓÌ+]0Ô:Oû\ 1¬N\83|\7f\1d\94?OøBÛ\r¦\81w\90¼6Â\ 6\1c\97Ú\83pxYN²>r^Q\96\ 3h\atMÁãê´}ÒÕºÛ\e]A0\9e «ü¡\ 4\19Ü×kDÒ\×ÀË\9e\96G\91¨5z½^\88)gû\ eôx÷¢<+±\7fß/\18\rÉK\fá¼`\9cãöFñ§ÓÖÃä\97*ø~\90Õ`Ë\8aðJdÅ´Ë \1e\90oky7   H­ä²Hõ<\8fSÄØïUòm\12üÂÉm«@Ì þ\1c1­.ϯKÇ\1f\15u\13
+ô¼$üZ\ 5î ºa$\9f¾[ö\1aÓÔ%\91\84Ì=\88û\84X\87\92u¾'\8dÝ\86×'Ç(LÜÔÆT\ 3\9f²yKX\9fo\89Ë«ýµ@WDð\9a\ 5¤¤&Äé\83\13\919ÿ¸®(ùsb´«É\ 2\r       ÀL\ fõ<\9eà\91\7f\7fûØ\9eÿ÷\8aù+ÒKx¯·}\ e\14·­ÀoTÞ\14½\80\8eõ$\93AÞ¬\88\93ûõ¡\rl]Á \91u\ 3&ÉÕFM´(óo;°ÞwS\97²´AP©:×U\17sZhJáÕGTº\e\ fï\14ñ\9dor\ 4ì>\93ôâÁ-\ e\11Chÿ\81'Âf\97H¦Ú½GZ\96\16&á_ÇÉ)ùg\8e"Ññd\95û
+?F¡µl.\9e©¯Ò«¨ø¢\9eJGáVÀ \1c­ï\8cê\1f¦è cc"\97cng`ÿ»»\87Å?³»7D\ 5þC\0ÚÝôÒ½\100£¨ë¨\83ª\1f:¥¨\8c ùc-ý\97ó=ÿîâ{ÿÝ©ÖØ\bÐ\1e¥(\ 3«ë©r\87\95¬5éë\7f˽S­\7f\9c\97§½6·áë>GQ:íÐê/g@xn\95\92\én\94ME\1f¼Ué¥|\1dÐó\9b¨|3ìwFî\86\81pÏM\83W\86|!m\88[ï½£IÙþúLÌ\86\10\91\98\ 1\84\90\02\0\ eBd\93 \ 4$\0\É \19\a F!Xµm
+¬¢¥B\8c\95*Õcè\8d\90Ë\96\9eµõ£o½ê[[ºò¶EO\16B¾}lQ@\ 4\11óK|
+*-\14ú\18\v\11\ 6Á¢O¿~ýûÿï¾ÌÌÉ\b\81\ 4*·o=må¯=íÞ{\9bÍæï½Í¼÷9»Íéîóz;ÑÞ{\9cÝæô7©½\9díïKzÛü\12ßà.ïð4§ß{¥¶ËmÕÄø%½\rI2õ¸'\97U w-¡â»¼»¾zÇ1ÑÅ\97}ZØkìpxÛsøí;\ f\1a2ÿÀß«±[l_y\1d\e\1c5\eõv+&\9fÐ߯±\8f·ß\8eE±ÔÞC"ÓOÍ\9aW\80ªO\82U\81N\1e%j»,Å?8jÒ\16Gu\9d#Ð<e\10Ù Ö\ f\aï\9d\ f>J\aÊ\1a\8f\eã¢\131UÄ\1d\ 5ú&áÇ\ 3¿àB7N\84UTuÐ{"nûèýK\vN\92ØË­[rB\98õ1êjç\94\9a\1a\9eDe\89Î\rO":c\a\8d}{\9f\ 6w<\8f¹sðfJçàü?ÍsìÎçó..~^\89s^©ê\ 5\1eZ\1fvãR%-o\ 3T;8a\vðÕë¾Øp\9arSCÛ×È몯:ê\eôi \91ÏÚÙ»."ûY\91ë·\ 5\13§Wv7îN¥m¸µÙ¶UJàY+§µ-\ 1ó\81\92O\96\89l\9ff´M²\7f\1d\11\ 3t\97P­¤\10\944ópchSÊ­u&\9cý¨U\96\7f\86õõ´í\98gÅB\96\11¿îQM\eÃ>&)ÎRE%\9b£-\18v\89íH\9e|\9e\95mf]\96î`$\1e¸´ýG\ 6i\aª@ÎxH\8d¯f\9eÝÁzHöOúÈÈ\17аôûðG\88÷,ê+5ñªcÐ/\ 5n\8bÃVW\9dÖÆ¢³fgxÁû]C gǺö\96ÆWT\1aõ¡iù+Ú]Q\87\84ü\ 2DR\9f\10ëI\93F\197~\1f
+\15\14¢±\8e\88mQ¢\1dtÁh\87°é½ý\10÷\9e\9aûTüÏLtPájoA¢\86Ù>ra]j:ßTO^{\17¯µ¤H6rØ\84ì}X<{\8b³ô¨\96\ 3´}£°âà,YÙzhâï\1aÕ$ëU\8c¦+έ\12Ù<ÑdFïS ¦D\a\90LOí\197ÿx[^mSû\858_?\9e/\1dQ903xý¯Çç\86»c²:Å7qÔWf\aoãQ©/\12\94¡jî,ër·ÄôA9\15ß
+AOï4dª©Z«cö²ÿù·Ð²þÃ|¾_ýmòù\7fÜo\87/íõ2(ËýäºÙ\7f~\f¿É\96_ù&oÕ´X³Ëþÿ\9d\85\97â¸áfñ|\¿Å§ìz£\97ø\85?¸¨\99\7fÉä\7f,Éõ·«ò<úKDµOn\88\81¶çe½9\87æ\8br. s\15®O\9dW¡ÃàK\97\7f\ eð,z\94\80-+¯Ã\få5\93çN®\17(Y§ô\15¹\99\93A\88ÔÔ·òï\85!\94­¡h([\r\15ND\14³w5\96\8cêq$^\90-\ 1«M\1c&5Lu´7¶J\7fmà`\94ü°\81\7f\19\ 1¢\9f\960#ÔüÆ\83Xóob_5òe÷Ìå\8f\18²­¡¾\v;\ 3ªÎÐÌí\11ÚÚ\eäd\fx\18,ó´úmÖ´Æ\83KÅÚä\8eÓµnU5¯°«óøu~\13
+Ð,\9c·\­pRÌ·¸\85¥Ý÷\94ì*®!.ý\86¦I?8<\9fÏ\82á\14~vì(®\16Ù<ì\ 5æ\134¤J¼\88Q½Ø4]\9c\10²\9a\b\ 5Ï\9a\ 6Y\9e\ 3\r-\fenY\9d_c\1a\95L\9a0"xS¸µ\87q0E¦·-yN6\ 1\93*\957ÿ\8da\ 6\ 3{\7fÒ\18~2\90ã\89\9b´êÖ:unZ<õÑ\82cFÃ¥\1e\ 6@`\12©|\815³~\ eÆqéYR´Öºh\96µÕî3Zêù\18\9a|NUÇ\1a7\1f\89˸Ø\rǨåÜqÃqü®]Çx\e\8e\9f\97\e\8f\e˸ï#q´åÜqãqï}\9eUÇz\e\8f_˸ù¡¸û®]Ǹ\e\8e¯\97qîFãéyw\1f\11K\8dOÝö0j\8f\7fóÜñ¤\89áû×;\ 4÷\8w?/dßD\9aûRr鯨¶M5öZ¹Lù®w)ÊâTÞ\bÓ¿`5R§W\88W\8b§îï\11Èñ\1c\9d~ðôõSdoÖÞ\ f5\14}\eí¨òJ}lAy4û\9dt9|\83ö\e³éSÞËhìrØç\9eÞ~¾\95<>\14dH%6í~6|¦í~5©íÚüùs\vD¶O   »_ \19{ݯÇ6ÄYú?ã\ 4\95þ\1c8\v\8a@æãïØ'\9a32>þ\96ù;g\ 2õ¥½VÇ\89'\92ÖF\82ñIj\15ê]\1a\9f]hLÿ\19\ e\12\9aì³DþpÇk£\9e?aq´¨vûÌO¿Ã\97¯ÉbíÿL\ 6^§£\9e\97r\8b=Eg\8c\b\87Æ2x¸\9b»S³³Õ\82zYQzÛ\aªgÇ\95¯©ZÖÑ\16½¾<z\13µ\15ß\ e9<¦\1d\15\2¯\1f lÍFÊøgÝnR\ f\15yrf+ÅW½ôWâ\91ó½\15ø®<\95¢&\9f\8bè«Å\ 1¹OWè\8cúñ51\9dø\9a\97\86\98exI%÷cá%\94ȧ¯¤[fÃá7Ò\8bPB\95£¯¶½!g\16·,Ý$û3:ÝRÀÒ7¬´¼b\96HÄÙ&\15­\98Å\ 5K\1c8ÃÂ\8as\1aÊ\9c\8dÑ\9dé:|¦Á|Æ©|Ƨö\ 6ùh\92§\r\11\90Ö z\98ø¾<!ouû*e\1dnZ\§Cd\9f\86:\13\a±ºÙ§c»-À\1a\18<¦+×»¿+¢¿õ÷Kókÿ\ 6é~ªýnèù)c{ö!+;\96ÊêK+»\85Õ_ÇnÖê¯â÷|®ªû¾ù\86¥\8d§ÑÞC)ìáó{ýu0î¥M\1aìØiv4Oؤ\9fÇl^\92ÔKªöÙ;\16Ñ~o\87·ÏÿøÇ.SÔ²\f¹¶O\14Ù~\90\8eÙ9ÝÝÏ?ÝÞ\výä`»Á`¿+\v\v\ 5îý/Ù\82ñÈÁqÅ\82þl<\17õ=/êèIú^\82ü\80{\7f@ðã2Ã\98Ì,.ª¿ÏôQÓñÚ'Ûú7}\15?׳\9f«ô\17êStÞ\82û,é}\ 3à±M9l*´\ 4\ 2ÿ²b¦Ë»Ë½/áw¥Ú'Ü\11\80¤ÍÎ+¢\904\ eÌ+ÊñýT`4[Ò<*²\ 5\88µ\92ÑK\9fäÍ\17\ es,(ÖL¸\19¬Zî¹\8c\0åî¦;P4\rìmDQä:0ûÓs¥jÚ+j\1aðçA\10\ fÆ\15«U\84[\bv,A ÔÍ~I޽ʷ¬q²\b;h\9c¶èY\15\ eÄ\11½(\11áÔ8£a³£aëÔQO⪭h«e\85 Vÿ\8cµ\ 1FÍõzeÔñ\18\0§ïk7\1d篬w\vr5IʦßA+\85\84v\8c\13übÒ\86\eR*âZ\9bâ\9b\86§ðjññïüóÊá;L
+eÿ\9e\18\12\ 3-Y\1eæ] ïañ¼ø:ÙT]uÃù- Óß JýÙ\95jÇÔ\ 1¦zýñhÐ~\f¾\ 1p\e!\84ã[\11\84\89\f»\99μI 8\14{7¯ñ4\8f\ 3äþߥ\83&û/8½\9er\9b\96¦\84ÂKøÀÕl¼¼þ~Y\9dW\96\17\ 6ÈÓʬKõhëN\ 6(L%\95\10\18K/\16§ñ\eL\8c\9aô\99\95@N¥3È\e\1fÌÐ_¨\95\8d\16\8e½pÑà\1eÞ\8c3v¨\99\19ʦou\82³QÒ1NÌ@\12\9f\8d­K´\ 3\ 6\87R\8a·<=\1cüXùÇe3äjÅ\ f\v\ 4ÉÏ\89j\87\ 2©¥ð\87\81\1f\97`õÿ9Ï      Ä\17ó\1eÏÌäÔ\83RáM»JHæ0Yþ\ e\1dL.Ý'ß4m ¤\831?\9fÆ3\ 2£ó´O¼?h,M\ 2\a_ö´Ù\83\90tËÅàÐf\122ÿÂñ÷\ 6\8a{?\88¥©¢%¸\ 2Õ\1a\1c)'ÖÅ\9a±\88ÍTþq`Ö9\83¸È½L5àR+G\8f«\19H*Ï5\ÚÒ8/\1d§²¤IbÎÁ\ 2d¦ÇÍf9úLípÙ\8cÚ÷T\88Òð<c\ 4åº\11ø%hÆ:\ f\8carÐoª|q¤ÒÎI\8e#¼TÇ\8f6\9f¼c\88Øàî\8cq\1f°5\87\98â5±'÷\98â=oì%ÝwFA\9f%\82¹2\føÑ8ü\1cs Ï&õ/ï2\fúÜ\ f¸d\19ú¬$3 ÎÊUS Ï¥À\89\90gõ¥\152\féÊ.d\19ü¹OÔd\19ýYHFA\9f\9dçÒâ\99\ 6xF=¯èL¤\95¦\12Þ    \8f\ 5\8aõo\bǵ\81\8a\83\ 3\1eÞ\14+\7f2«C\8eø\8b\9f·è¿Â\82\91d¬cçmè\9fè#+<þÑãíû¹\8565sb\83\19õñ®æ<z\9c\18+\92\92
+m)¡\9b\ 6Eb\ fÌåÄ\87¤[´fPðó`Õ\16\97l5ö\ÿ«\f¨ÂÑ\97\1e\ f\97*^i²@\f\9bÉ­2D\83lI\1d¿ùW·÷\81\15¾Ýá[þ¢öþ²i\bÌ«ö¾¡Ûû\15íàѧ»MÁ\9cκ\ 2·ü\13·å\1feoÕ\9b\96\19\1duKgs\1e-MñØl\18Õ\92×9}\983\16\8b¿Å\99\8bE\16¼É¿kàL\96\87áV¸âm$\0íu\9e\18\8d\956\93\16ùÅV\83\18·¯³\r\8a\89\18\1aÓL\9açÆ>_|M\88_ZÞJËÙ¨¬ÝÉ\ 3A­Z\85u)À¾\81Ó     ©¾T\ 1d\84\f¾Ü\ fZ#Æ\81Pë×ñAVöù\83Ó¸e÷\ 2Í%\94\ 2¨\89óñ`\8b\1fø Á÷ß\96àrèj\8f=û\ë\811ñàÑM~Ü®6\8fBòFAíøeÑ©\ 3¦ô\ 66#\12\aO\f\v\r\ 4\0d\1f\97\8a\1d\7fu,4jl\f\16¢yÑ)%\81\ 1-乩w¹bÏkÔ¡JxR
+ßx\12o S@\ f£0\b¾\16U\81\99       \ eº`     \8bc2¢\82·\9d:jZ\94Ø\84\9bÊÍõù<ÈÑê_©S\8c\ f_v]b\14ò%c#\1e\7fÎ\869\96;L°\18\10F\1eËÌ\8f²&<þ4ìÑü?m\92\88ʵI\r\ 66mLÙ´Û
+9W½n\1a\95\91\91\v&M¼;}gá&Ó&\1dõ\1a\9cîL;è\154\990ï©ÔÏäþåS\89É\87~\16¦ö\ 6E\12\8c\8c\89ã\80\9bÎ\82\88\8c\86ͺ\98v\ 4áÄòB&$â}\90\89(q4.\ 5\91\87\85\12\84%÷*\ 6\87\11koy\v\ e7òÄòõãç\95è\9fl\ 4¤\98\eb\16\99o\14º¼\0¤HÊ?
+Ñ¢}Ð\80\96o-ö³Â\81\1fá&È\8d:\88\eµZÏÇ\85SoÖ\16³r§ëX\17¿ñ©{ÖYº\12§QDÿ\9ft-\ 4v\1d\a3\98\92\88\fAG¶\91\7fñ\1a\ 1\8e\1e\ 6 ml\83àÙ\81`3Ë¿©l5\82\19M~&\84ø\17\97TϹ\8c\16®I¾ÌÈ\17Æ[
+¯#wW\92Ä%U7WÙ$\95T½ghÍ*¬:åà}û_¤àõ:\ f\86ö\14Õßì\99u©í·Õ:\10h\1fåT\80h°ý®mÀÑViÞóa(;þ\15½¸a5.ê©\ 1ô-\8dd\8e^\ 1¦\96MpÒáåÕÆä\90\1a~z\13\bÁ@¼Kì¦\ 1¥\8d`cþ&E¦ðÁ]\16AD5\10²\9fA0THò~o\13GÂ&\83\7f2K~©1K± \ 4\81\80
+\91hv\83^>õCä>^¬è\9fP±¬M\98)ZoòAÑ      ûáª]¼jr|!ø\ 6¢Éc<8\1a(\89+%5¦\ 5åä\9a¥'ã§Á\10\19S¬b5L?º
+JWæÏu\946\96'lí\8bÍ5Ï\ 3\ 2\826¨#\8f\13§©\ 6·¬;\ 3(\ e\16P3/cWÌ-{\ 1ýHÿ!ú\9a\86e\ 5Ô¸{ÒlBtò\97
+\96_\r=\ 5²ÆW\8e      \93\7fëÃb]5´C(/Ú\85\97$
+3\91G\f_hâÚ!\94\17û\ 1e¿Û+Ï_q[\e~SÊÏ\ e>w|\f\bx`L\b\19P{£¬N>\8fùÓ\ 3R\7fQ?\9fÑq\0ÇÏYY\8d\83P\98·Â\93Yy\15\15Î42VT \90ýóàe\r\81\91uÄdÙÞL\170á2SOòr+cY]óôá\95]gäY\81èè:\96rV ÏRM½g±yí;
+\9cûí\88v':0ü\ 5\ fîTãÀ¾Sâ\82\vQhtÁ$ùmzIcWi\ 3·Þ\10äÊ\1f`\10ïE\ f·\bdÀýÖºP\87ë\14\b\87\e,eZh1¼|\97m°C"öì\90Âù\8f²&ÛoÇ\1aÎo\1aò\91á1\ 3\8b:ÕÓe/\9f¬$ßË\89TóK\96¼ä£*\83\9a\83N;|rÑêIfd'\8f,Å]Í\7f\e×S[@¼²Q£»®d5\ü\19&\ 3\10\19\rí\ 3[%c\99¼Ä¿H¤¬=Z¯7>\ 1\eK$ð\8a\19°÷¦øSï9î°¦dþýl)\99?¸öÅuïø"e\128¸l½\ 5p\1aѹrºµÜ\14nB@\0+\9e#'6\1cÒ\95\1aJ\báÔhvÎ8\r\90W\17n\ 1S,¬\1e\ 1¿\16\8e\16¾Ç\83\14ÌkÊ\86\80ÝG\aüæYM\88bþo\83\14Ë)È\97X\80k\8dÝ\ 6YMM\1d²\81Xbþ\16/\92e\96\ 2\9aFÄõ\etuÝ\89s\9dç\vÓ\f;«¶\8cªp¦\98`e\9cé\972ÎbÓ\8bçí@«\1dÒWt:´ôÊ`Ë@aÅ]_a|\8c\ 3-?xSû\1d%cØ2\92±Ñ1\92±¤\vî\90/¼£3J-\ 3Û©       @µ\16»Y?e#\86\1d\8a}\9e\81Â,\95\17\91P\f\8b\8bRÛ7\86\1e\ eß!L\ 1zz\82\97\14ápåËí\93±à\eBýøæGÅd\13¾ãà:\11JÍS.°\8a\rLºÁIXõx\152×â`\14üurª~4@\93\ 2ö\12aËOV\1el÷¹\15:\12\83\ e¤\8d\ 2\91µM\86\fý\96R\0\81<ªÑ-\9764mTü:¿"\8b       \1e×\1d%ÆWt¥Dÿú\11òå±\85ë`óÁ#yÉ+\17bÐÖRi¸HWº(\14\1eqó}¢×\81ÑgÌËÓ«C \9ew«4ïd\1aq¿iµ\ fa\85Øbã\14Ç=\ 3e?\1d\1e\14r +Å=±}\1fpÓÊJ\8b¨¬ì\e\87Ò-Ù6*,Æ"\91\ 2Éûbâ_S60Áfo\18\8cè¦\96\bîPÏÿÈÂ/:ÓÄb\97\94ÎWÚõ?Wи;X»¾\ 46\85\ eöðËfâ\90Å­ÔI\14\86(\8dµ\8b¾h!Ú\949\14Wc\98xãTWd\92\90ïH®Ê Jº\10y^Ô\87yC?\9d\94\86Ì!Ù\94;ÀCÕ\94\87ß\146Hky0\15\98à\97  â­q£@ÅPÃEÞÙP*.Þ1f·Ø*]þÑIN\8a\97ªâ\9cès\89\9a\ 2ÿ2\0;Þ»¥9ä÷§c»æáNÄ¿ª^\92GL±Së\88\ 1\9aÄ©¤P\ f\16{×ùvg]Õt\r\8c­§Ð\a$4ìº6PííLÍ\12\\99Öp3B\eó3B\19\17ì`þqCùÀ\8få \99¡\ 6N¬´p0N¬º\18\12n¬© _\1dYf`Hº²Ê@fêË1\ 1\83«%Lиr1|\80ákÎ\80\ 6\ e\rÈô¡\17¡R.\97\9a\ f\1e\18ü\9d©\99 ù    s3Aó\ 3ðì\9a\85`û©\94\1aàÛ])j<\ 2\7f
\a{æ|O\ 6®,\7f8\10.ùa\'a¹vŹ\99¢pdi¸\99¢}3sÜWØ·=Å}[uÌÑ:Ü"¶^ ï³äm'\13\e~Z\ f\9bå \ 2\9aUºnG»\90\1a\94Ï£õ\ 3\97\93³Sp¼Ïñ`Ê\89eÇõ\89²n)\1f\94h\97\98-«Ù,§\8a\9bÑh\85{.§\ 66\96\9a1´Î)i.Ö\8e\92ØLÐ\e°ö/2\9a²òÛb\9c\ f©iª\ ej\1cËrd±\9844\ fÓ\ f \9fÙ\89\9d¦µÁ\rÓ*Ý]þã\86è½´æ\1eÓÁô×3\84nD®_ÓK¼}Â\ e(²à¨\99\137\17´\ 3-Õ±\ 3§æÜ\12õõ/X\13\80\80P=\7f#÷G¨Ø×.\12É~\13\ 2å#`V)&ëð S\ f \1eçÚ\b\rî~×ðsjîµ/º/i\8côÏ\8al6¹\86\9bc¡7Á\f_\7f\f_*\83@¶¥\95«tiº\1f\b\9cÌÍ·»R×iºß*fßçÂ>Õhãoñ"GÕ    \7f¢ËÈ=-øy@±ê7×\ 6\82lYKÝ\97bïKkD\ 6Rߨv\12CðGòô\7f91üÍ\ fç
+ìÒ\87æ_â\ e\92>D5«"£5\84       +Ç\ 54#Ê\99\9bÕî0&fõX_Ï¡\1f\1d\7f>\84\7f~)¸Pç·\8e~Öò8¾\v㪾$`É'¥\81\ 4Ëïz\ 6À¤8=C\82\87¼Ã\ 1yÃÞñh\10¨\fà\9eÁKÂÒÌ~\1d\83\ 6\19ÿ½ö¸+Ý       ³P*¿\19y\91ÙÕ ª\1c\87¥£\9e\83Û,g\bÞ\89\9bïññ©%S\93ÒÞ\9e\ f+\ e­Hµ~\7fi\90\90iUyÒÑ4\8c\ 2Ýå}
+\17O#7òò\7f\fßÏ\9dHÃË˾¢ò\83®\8c\ 5º]\96rÜÊ/Ý\16\97iD\r\ 4\16þA ûjY9÷ù¬\b\99»1+«o\90qW\973t\97@@§\97í\83Á4µÒÚ\8d\a]Ðs´\8e\r³/\99\8fºÎÐ\98¿^ÐZÿ1ø'HðæÜ\99ÐnìÎÂÔüÍ\94è\19Ðj13 ÎDÎ\839A\9d\ 6ðÅ_¶Ü\87]5É\99Ðo&\8d÷Kø\99Ñ\99\9d\ 6èM\10Hn¦L\ 5pû²Çq\bÎ\84Ë\16v\83)\8fþSÎ#\813£?\8b\12\859\ fq¼VPüz £¢NI\9d\1f¢.¹O×Ç$©á˸\96»Þò\14µÑA\96Î_µçýÆR®\11\94{ïb\19G¼<w¸\9cï Ê=Ê\a\96×\ 3\9eáU\8d\ 2õ\96\15\98xûc\ 3\80\1e\16sÔO¢XÊD½\88e"lÙ*n\83ÀÊDö\â_´ÊDÅú^jdUô2(\ fVöòt\1a\9b~\19\15\9e\13*\1fs! \96\e:[\1fþÃ)PL7Ãk´Æ¥È2\95\1c©/&\92ygÕ2y }}`tÅEïe$¡]Ãc$²\11Á$\82É\8fòÊIׯè\9cðÄÞJ)ø¥\8d\ 3\14°/E\8d\12¹¢ó§Ø<½lB\95µ\18kÕìXû\8di×ÿ¡\93o\ 2ç7ý¦M¿ý\8d\89_\88òV[gZ_aÖ\97Õ\ f¸BÄA,V\10\rÂ¥©°
+J÷[O\1a
+\aê×5´ì\1dVèã.v÷å\ 3áÐ\85iM*dÚ#D¼oTÖü1\9fÿ\f\9dÝÒV\16þ\80¾Ùë:½ã\9aÛß}\19¬\7fA÷Ô°2ëÙUï1ð7Ïè>ª"ôP<éË5Ô&·¯¼¥1«C\ 4\9d.\83ÙÚ\ 1^\8b×\9bH¨Ë¼t\0]\1c-´2VWêTþq#\r\9bÀ\ 2y\9f"\8c\1aj·üéÑäXQ×0ù\10hÒ£:\ 6ö1K\8a\8f2ýïAÄS\12^Ëä¾\87°ÄwëÙÆUG\ 1°£\80Ô=\ 2\80}¯ùàV:¬÷,jüù(ýz\96A¡ê\9bBû`\93Ô\99\1f\ f\8a\10Pöºû\ 1\8d\1df\1eâ\98óÿãF1|j
+ûå'Îÿ¥\89\1etnUò"yW*ù\11:\17\87û)\97?»ÈÏÀ\9bKß3\87ÿË6\97¾g\ fßM¥ï\19Ãÿùîãç­ÿÐf×ú\95·jô\917jï!\99µÿñÍ%þó6¿]ÄÿQ\9b_\94\9aKúÌÚÿýÓµý&\v\8a\9d¯ß¿ì\9d¯ö\tí\7f©þäí~Sÿ©Úø´\x{²"\9d¯åP\9d¯ý;\94í\7f\17\15;_/"")ÚÿW\81þÄí~ÏÚN×þÔ$í|Jèc2Ü.Å\97úS³ÈX#êñpDÊ0F#\93\82/+'p£&@\9dÂÙ\9avùÖ\aâþ)Ü\ eZ
+w\ 3åÿrvy÷eI;<ß]'g\9bY_ù'g\9fW\92\9d\9ejÿÊ\9d\9e|ÿó'g\88b\ 6ÜDìÿ\81ËNÏý|\ 5Úv~
+Aÿ\1d;?Óà.Ó³ÿ\8d\80»NÏè0\17iÙü\96\ 2í;?ÝJݧgá<ütìÿæÊݧgáðjøéÙû\99[´ìü>\1d_\1d;?ò¥.Ó³ðjZÿ\1d;?í¥.Ó³þ\8eRí;?\ 4\r\ f\8e\9d\9f°\94»NÏÀømñÓ³úù;´ìÿ÷¤îÓ³ÿ\87'v\9d\9fãdøÉÙøV\9bÕÒv\7fº¿ÂNÏÿ\9aÿ     ;?\ 5\19}tìÿA\7f\84\9d\9fº¿\92\7fY;?ÆHr\13³ÿ÷'2}v&í9\93qÁæ'2|¤æO\ 1Àæ'2~òs&¿\8dÆèa\15\13\90 \81\8a\ 1\v±ù\94ª\14ÿ¬¹wåRù\v\86\97\12\8e\94B\9dæ±O«¤K(\95\12¥,¾)KSx\95\12ÔIÞ!\8f\ 4\83*\1aGW\99ýRåBL\8a[_D!Ï·¨V>hÃ\8e        \ 6Z:A§b\12 \ 2½I\8fÿ\9a\98\18ùÜÐ\rVz!Àë\acr·Á\fa¹Q\11³ÿ\18CH\ e\8a'\93ó[#ÈFáçÕ\ e»¨ÀýP\86P~´|øy\ 6ëX8\9d`Æ_\ f7Ö`u-       \86\878vðMSha\15.R³¼V\831Ê=!\94óò\fúú%ù   [éM:oZ\86\eÑ#ÿ\1a wMF\1f£9«\83\90ô*\90\f\1d\ 2¡x¬­îÄ4YõW\19¾±OÙZÏ\9dU\8b k\14ö¼uÁO{Z\86\9fÝ\8d\r?\84ÔüA\ f\ 2´«±u\144Çv:[£\v\90o\19ëÕ*JpÊ\92X\a\81ôZe\1fà)\1c\83=m(\87\ 4>º%Þµ¾\1d\9c\15~×b\19\1c\9a\7fõÆ\17å`\94ÿ?\88a±Ýb¡&\80È\ 6\11ÐTMb\95\16¸eF\8e\19R\13Z²ÃÈ3ÏÃ\8eE:ï::\ 3\90ô9ÏÄ\93[\92¦wÏ\88g\ 3X3"¥Ç)çdU\ 6é\95\ ec(ÆñJ\9e\9/X©ÚÁ\fªäU\bt&\19UÒW\ fÁÔ,±}ÉRË\8aTÀÐ\1c5Q­êµ\88¾:YÓ\88v\1d¨2
+\v¡9\8f\83\8dÉ\8b8k\15b4\97Ñ\7f4{3Ü\98j_Í\f\88è\ 6F~)Ⱥ\13`¾©R¢çD4\1cW9\b¨á\87ì\8a\8d\2£\12\90Ðë-(ÉûÅ,´¢\1a\8bs
\1d\82\1aµÑ,ôÊ\7fA\8bQt'XTô£\81Ȩ³Å\r
+÷%C-\ 5W\8dȧÜ`TaÑ\ 6^âaÛĵò§\1eç\bçâC,\atTâÜqJ¯\9aQ
\9dÎÀvã\84
+\10Ü.\9fß ª¥£ò\92º×ÝOü\12\11~\91à¸?Ø3?\17A{«¤¶W·ãÈÛ\88Yn\97·³]ºåX>\ eÍð+\ esÇ"i{{9ÑpŷóÁÙÎW\8a6pó×\ 5\1cÀ¬U¸Ü\9a\82\8b=ÅÑ\96çc»{\8d!øÛ1âÜðvgÝi_\af=Õ¾\1eÍ{\9b\87\92UìáÝ UTVþõÇc§¸a\ fXloo\vHu§ä\14\1f8?\99sÒÞ\Ô ô~Üqð}Ö'Îñlú\18\99\ 2\8c6ZÅ£#áå»±\124-â[n\8aÅ\9\19ä\15\8a8¥bM\18\1e,¿¬V*øÛ,`\95\8a>VÇz8Eb\94\13ì\t"µ\1a[åù;EáñKÝ\ð`á\86BpÐ\8aÈYqsÅÎ\1fw\ 4Å\90ø¼+ÿªÿqÅÓí/\7f\8d}¿ìÉû®7ÿÛ\7fþ®9ÿÏ\84Ö+E\7fÓ"|«¾]r´·\16ù\8b\99%Å~Þæ\86oý´Æâ&³7W\1c¸î\9fx|\a\85åâq»·¸Qºr\1fù°ÅÏ\7fýdܽÄßÿîOå×àÏ\8bÈþÞ\16æ?\8bwÃC\17i¯õ\95É4o\aper}ÅÇ\17{\8b\8e`öã\8bú\8b\8e\ fvü{çDt\a\10ãËÔ/Æ.\8e\ 1ã=Fñ\15º\rèÞ\eÆâ§J\17\11ÿ\er\1aÅs\8e\ eµ0ø9ù79KÏ\1aßÔ+ÄW\ 4®yþ\8e5\e«¾]rÂ\16·F¾\19_\9d\ e\8e|\e\f\1e\8f|\e<\1e\90»ur\rl~]#öëð$Áé+·\89ÁºEtÝ/ÿ)wüÅ.ß\98¥Û®¥Ûò\1a\ 5\11î\ f»·ä%\17wiAÛ5°X0¸O4\ 4û^8(ëÿó\93øñ­jõÚ5~$ëÜës¼Z@\16¦A©\87å\14±©\90ú\18É6iIæ£Ò\93ÆÞR\93\9c&\8fʼáVá¼L7\16>\ 6=,\ ejA,\ e\96\ 6qf\8fòûXßÝÁ|¬ÇåZÅ£Ýò)`\94È|\12\99\ f\82¦]¤\89|ªØ\a\8b\84ÑMð÷U±guw\81E/$¨ÝÌ(wR¿ucFC£C¿ü~ýÝ\ 1ùM#«\ 2\85ç\8dæ\92kM\ 5+¯âÏ\9c*T\17_\rò!Å\96>VAÝbþG¿û\1aU'\91Jÿ\8d\90\87J¤ÿ¨\9e\91Á(\94h@PøÌ¶Ã\86\80\91\8e©m\12\8fòQC\94üU;ÿ\90P×îÊ9úôª/Ê­·ú\9bÚR½CD¥sRD\96¯êT\90ykÒRØÙÄ¥£\e¥\r\ 15]\ 2#\8b\91üµB\9e'¬ëö\9a?\1f\12¸\16ÿB\ 4·ý\8d'+ýµ½Ïú\1aD\87úÊ*\1fúÕ\r?êT+âó?ÿ\17Ó£ÇÍæ«\9eê1\ç\95~mÜnµ^gËÚ¾Ko{ïw  4¬·ØÒ'\9a6L\91\9bG|öÇ\1fÄ8ú³\8eÐÚ<GÝ\9cw\ 6Ñâ½9Ç\9e8õ§\1flqôg\1f»\90:ÜG8ú£\8fJqìÎ;£\8f²8í\91\83Î;C\8fº8é#'ÐË\93>\84òüã¦qóÇH5ûc\8f¶8úó\8eõ¡ä9Çþ\13\8f«8ìïf\1ahÎ>hãé\8e>HÙ57£8ï\ e>pãèN;£\8f§8îN=\99ÇhqÓ8ìÎ>\8eúa©.\98Õ%ö§s\9cw\a\1flqõ\a\1f^qó\86Å¥ýYÇllZ'Ô\1cz\99S\9bó\8fÜ\1c|ñÇÕ\9czs\8f¸8î\8e:X\ 3T»Î> ã³8ï\ e=·@m\13»8û\93\8f¦8ög\1fTqû³\8f¶8õ§\1f\86qô'\1d\ 4ò<ãÑ\1cvÈÅç\1eÔÚ8\17Ü\1c}ÉÇðN?\90\86\8e\15à\8f#Î>¬ãê\8e;sdÛ\1fvqÐËR=1ÇC-ÜêÎ;Ó\8f£8ús\8f\9e8û£\8fNqÜ\9b.@éN> ãº8ò\18~1>cA@#þ\16ðÊ\ 1\1e©¼2\80G¯o\f \11Ú·\86P\bÓ\98\86P\bí\91\1cð~"dã\9e\ f©\9a\86P\10ØÍÃ(\byé¸e\ 1\ e®n\19@Cî&á\94\ 444\90­\81üK¯\ 5\11ÏâWæ\9cÃ(\fyç0Ê\ 3\1dúr!@c\9c\88P\18ç!\94\ 6>\ 4ä2\80Æ\9cì2\80Çâc¡\94\ 6>\1e:\19@cD\9f°?\8a3\82\9e\86P\1cïÓñ
+\ 3\9cü2\80æ\8bý\ 5\ 1\8f{?\f Aî\11\1cýÐ'\r\11Ï7ä\r¤¦lOãa`²\10Ê\ 5\e\9c\842\81FÇ#ÆÐÿ1÷¾K\bïèì¨{ì~ûW7e¢î\90PÊÿp}û\96ú{\ 6RZï'/¥ø|ç\9d;CÁÂ6ç{gÓ\9d­3Í6Ë7\80ÌeûL\17\92\9fu\ 2\9e{zïëö¸¬·\81ôs\9eG*\8c­ÿ´;Aûª¶|ZÖ\7f\8a\1eªýÐõ\17ÌAªù\9fîgû\99þæ\7f¹\9fë\96\90\8e\15N\11\83;\86ô?oGöêÿÈÎâ\16\95ò\95í«Û×¹¯\9e¯u^ò¾\96¾\9e¿9_\9e¯Ð×èëêëëkôÕúzýGégr\e«\a\96\14\14ö\19Ë\fõ\86\86ÃGaWa[a¦°ÓÄgrÞÚÃs`\9d\85­\85´&w2¹ïg»×]ëÎ÷ß\fÚ:\13\10óæ\19³ÿÚÊ\19_ðª\bø=çÚQï4ç¢1xu$¢²+¦\9eVðéÆE+köG\8dîïëuØÕ¨Ù\1f!ÿú6GÎL­E}|;Çé£d|\87ø\ 6\öÙ\bm/Sÿ\87»×èfM\9dÐs>ã; Â\90\92·vÙ϶Ê\14pN\80ùâÐþs\93îõÁ\_m\8f\97\8fäÐï\18b­Ìù±ÿ¾\7f\93FÈÿxä®Ìÿ|\85ÿÞ\8c>èÁ³\8cJ\8d÷\92_>\ 2Ð\bع6y¬¨Õ\8f'ó'EZh¤\88ÃÿÚH\8c?ý{\˧\9d\1f\9fGYÂ\8fëñ\80Î$¹Ðó[,v\ 2Ö\ e\80»ðBÖIx·Îb¹\8eÂ!¼¦Bþ&_b5Ýæ\96\9c\0oàT´åsÊ^¹\93ºÇ\9d(5²KØ\9c\ f¯pÄ\8c°\11\93\ 3\bú\ 4B÷|\94(4|\94-\ fÄSPÊ\1d?\94P¡¶£\14-Ìà±Ð¹4çþ\86xê/:\85â*tð}IÎqÝ¿\90T÷Jø}bu\v3    Xô$À\94`g\17àÔÝ\90ý\9aú\13;\87£Su\ 4\ 1\9f\9c \ 3\1dV\86м:(m¡t vƬÌU\ 2Ô\86Î\r]L\90`õü\8cþ0>¹\8a\ 1ør\7f7\16)E4P}ñ<m\92\97@BPk±Æ!y¬\92í\8bÜEÆQÖtû\91bhq²lÃP\ 6\94L\91ï·`Ù+®ø[\8e\19\\rX\85\9b\f\88íÉ$Æ\ eç\89°Í\8eÞ\13\ 5\8fݺ£~48\7f\ 6 }ÿÖFxÞ\b¿'æ\13\f\96õ=cÉþ\89\98 Ò?\90\1aë\95¤·ªõ\ 2Ë\9bxû@Ð)éD\ e\13»\9ca%íO\1ftÌÉ\ fÊÂc\16©å\88\ 1A®{q«bï^ªòò¹\97jäjfè\13\13V\\17)*w7ýæ¿îB\ans\ eVfÞH0I¼XL$¦\89¨a~\88#£nM©À¢Ý\13g\93ôìɵ×gbªß\aà\0äÖ\81ÊK0¿²\9dV\17öTÁI^ªL0h\v
+\1eÇG1\ 3¸ú©´3\97ºº4ììµ\ 3ce*åp\9czÙþ_\80XV«í!\84\ e\8e\88\1e"\8e\8ag\8f½\8f\95÷vÒæ\84ùÚó\93wLD\13\82\8d²G§÷\ 5\8e\93×\ 1£Þ<\9b\1c½6·§¨EJ\99\80\}\ 6Ú^\8bt\0Á áا¤\ 3\97~\1eÕ×\85zù^\93Çì¼Y¡ò\86\93Scõ\82{ÅØ¥\ 3;6yÊ4\8bP\b:\1eGYò¹·¯¤p\ 3 ²/¦\95\ 5W`ÙfWvý\ 5:õ  èA      Ý\1eº]ã<Ú\18\14IY\9cפ-e´O·æÉ   ×\9a0-\18I\10¾_tsG\ 532ócQGo\95\98\98ù¢£þ~\9cO9¡êzþD}E9Ë\88Gîø\88bn¡Gî\8a\ 4_Ê´\97>Ië°l\11Ðýõi\9e\13\83DÌÉ´\b?\85Ð0Bø<tB\e<CgTl\19ñ\9e\ 57\85\1e9\91\94dÒ§Ì.Cn*NÚ\10Ïìb÷/\972«r\99¤6æ\93àþ\12aÀS©+\eq¨?J.\1d\e\rÁ6r\aêÁl¥\0\ 1êï©2tZÎy\8e\14ûÇ\92\ 6\13\9d«\85ÉQ\9a\16\0nAbuÐ\0¡\7f\852\84}\bª\8d\94\92ËæYe,Âd.P\94V?Ëî\r<\99Òw0Rí\97ò,Ê !À  oë\92ðy¥­jµe½[«Ñ¶DÁ+b\8eá\1c­bÇð\91D\9a¬¬Ü,»aÌTeùØ\81")&*!²þ\a\10ä\17\8b9º(\93\8c\85H@X\a\83Ó"p3KÌÓ§\1eÔà\15ã,½Ñ&`\10½k hÉå\13göâÍ\9eîb&V¾eµ\98]\8aQEC6º3I\11ºmby\ 27°v\81»~2Ø\98ö/phìÐÊ¢!ªðO§4^Cá\f\1aå³IZ\18\89e\9e\98EKL¡\84nCä=\13ø«Þj°j\89  Qûg\82*S\97\8fY¹¶;kÜCm_©÷«üÑb\94xìáG\91¡8\9acMìPo¶Û\13m½ß\12_^V\1c1ØY«ahv\14\95°ñ\b\10\ 4\f1aàG\81-CÔü½\1fÀÆ\93(¸ÅRÿ\1dé\0\ f\9fô箫h>H\fnoè`\80\1dmÚø\96É\19«O\8b("ÙÛ^< â±pe\ 4\95r\18Uøg\0\rbiZQóɲ\99ýrÃù¥Mi{\89,+Ié'\9dðdô)E½\12{ªönd÷QìÅ\93Õrò\f\9e÷1±$öé\ 2[v2\81\vºûïXÒv\7f³32LÄ$;\0\91 \0±\bV(­\80\ e± ×:NÁî\ 6E\8a\83WÔj)Y «R\86b@J8Ü\82ÌÎܺë]«î]®ÈWÞ¥¾¶¥µ°iU$\90$\92\ 2\91\ 5AjÚ\15Uìz\b"\92\0\ 1?¿ßÿïî÷2H@\ 6¢\8dky¶Ûy¾ß{\97}Íø7âÞ{\9bðnü{Íø7ãÞnïàg¿\ 3÷ìßÀ}ø÷ð\ 3wï´ðõëd\96ÝcmÈm"ݵk{¥üÓA\81ò\b\anHn´A3\94l\96«\8bǦ]¹Ñ\8a:y\0\97WâñyËí\98ÿ¿\89\80N½Â§\ 1\ 2ÇÞ\97Tí{o\11\9c\91~ç(!sÄ»î\97\ 4´\ eå\96\83ëW¶U\r¥u²gKáës(ÖØ>·k\1f[#@\99<öÚ¼2(\89\râËÔ
+QJ\86Î<\1døù\12)õÌ\1c\99i\141\93zS)\95þË4\ 5qu\ 1W¶ô\97üÖ×M\83Y¹'\197,\91\e\0¦¼,r¤Ü/\8b\12\17\büã³\9eN\16\81¿\88\91\8c-\ 3\8f\14è¨É\v\9cKGÞ\97âêú\96\8e)~2Vg·Û¡h$üX:\bZ\a\18\10´\ f/°~l-\a%g\a3\vAzV\ f]\vA{ñ\ 3Wáä¯Üº\ 1T%aÖÊ\1eüÖerÏ\ 3W#¯ä\17\17ë     \1a\9cðd\83\83´oÜÐ*ú7O»+j\1eþþ'Õ&\17\90n\1d ´\8a¿\89ò\95bh\84#±ÒÿÐ-G«"µH('\8a\0\ 2¿\vS\ 3Ù¿Ð"JõDÀ«Þà\84l\1d²~8ÝqHÝ\9bsseÝ?çÉ\91\93ëyÉ¥Cº\v#BªÜ\ 5b!±o©«\135\967ê}ó¨\15\8aò-dßC\8fÇgzâ-!ó\16¼¨\1e\14:\15V\97­V\7fÌ\viA¬¸×¨·Êz\9d£\14\8c       Qc\v×FÉ^\97ë7 3^Ý\ eGg5\83üüì  \83\1as\ e×A\9cy´$âî\94¦ìrÐ;Æ0\8dg        \ e]yQ{ ê\ñ\e\13\9bÐâ\1a^g\9b\b迯­Ö¾·´  ¼c\8cõ½vJ3§\f\98\b»fÏ`;\16}rÕµÉ\9b\16\90mÝ5H\8c\ 5ëÆ\83~A\8b´%\93\1e²Â\vKr\85/
+Íöb²í\81<þö§õ\9aÔÓZëS;[\99Çy\19¨\12±8Ù&å:È9c7.ÙÆe\1e\ 1«\7f\11Sµ¹å~\9b\bH\9eá[üéÛïUïÿd'éî>(O\1cP\98d\18årvû\9e%\87Æ!9pÉEåQ      \7f\94ð\96
+<\12\8b\ 4§ÃÁ²\ 3\Ç&Ñþì\a\80þß
+\ 3}\87*¦Ö¾½£\1e0øÙ§·ëY\89­*H\83ëd¿\99\82\r\8e&Mk\14ö\e\96õ\8f\89¥øÃKx\9c[\13p%Ø/t½\ 3ü=/ú#Âûƶ\ 1|\97\8eAO»äµ'Ç\98«®\90¸®o\95¶M»°Ü\97bÛ.h¸ä¯Ó\93hGh\15\16üÃ\ 6\1dnq]¬ê»\19\15\ e\fU\ 3Õc&àwlÇ!öç\ 6\9a\1c:ø|&\95Sæõ\96®¡í\1d\80£À\148\90À}k\98Çh\e\92\17iLE¯£>p\vT\ 4IJæ/ËtïJ\a\87ùÜ\9a\aV$¾°¥\b°ª8h°ß4j\1c #\1d\9d\95\9cR\eÎà­"Î\9d±6m\89\8f\1c\13"ßó'nM²¦áb\93tª¥\12\fö`¬ã\8d\9c\7fê\85å¿\84/!\1d\ e{(\87\ 5¿¾2F\86ð«lH\8d¡Æù.\ 3>±ôû%Á\ 3ÄKN\16\9fÚ÷Å´Lçú\Þs\14\r\1dãéûLìâ³þVrQXÝÅYÖ«'µÀ?ħ\9bV!0ãíô`´*ýÅAt\15\16Ö~#&ð8Y×ý*¢ÔX½SYgð       Åzö®ÖO\17Y¥n\19çy\90pú#ÕX¿%ãä\e\8bBü®\1fû7Ñ\15W\18ÐXνpZp\88v7\ 4Ïó\vJJËYJCUÝ#\9b$µ6A\9fëT)jli\13·´S\ fgH¦\1e¬5½© Ï\9aÊÍ\9b\93m\87ø\8aà9¡scI£¬\80èÚ?\9dI\1f\85$t<\87\14F\b\97Q¨ÙɨÙÙêMU¥\1c±Ê­°_¾4\83\8c\ 3^\1dq0vÊ\9c"]J\93j\1cÀ32\ f^æÊåâÔcÈ;ÿ±_¢À2\8eàæå°J,¦F¨´/j\8aø\f\ 4\86Ã̤WWvì2\1e²u[}\88_\b|>\86nu|\16\ 1\b\84y
++Ä3\15\80\90Ý\80\b@\f\85Ñ\9a4\81}8D\91\ e̯¢çX\ 6ZÏ1\1c®AÐ\86\13Ù\1d±1v\9aVðBër¼bdåʾâµJw\84½:f£kW\86ý.Ø\1fÇBµ¡_\1eïÖÙi\Á\92R$³\1c½\bh\bé²õ\aµ| Ì§YëË\e\9fS\81\98&½¡\92å\ e5\ 4\1c\1dcCaE\89\a5Í3´®àÉ?4\87ÃÐ\82m¡hV\8e\99\ e\1cA\ 6]ÔTÔäH¢\17\1e    ã-ë|Ñ/\10\9d\92ù(ð\9a±'\98å¼s°5x\90\8dâ=fÞh÷,W°ÝúÖ ¹ú2o\v_\1d\16\1a¸·0\9fúxZ\ 5øû§àwÿ\ 6éÿ¯f·GÙ¯\13¿\91³\êøMùl×\8dAL\8b\8e\ 4u\9e×{_)¿=i9\82éfÌe\17P\r\ 6¿\8cvX\9a¹d©\16xÂIU*n\a­©\13KÂÖR9±Q-?\94\80>\1d~LÚo\1fGKOXi\94\9dî·\86×Ö}âÿ\97}\1e\9aÖ\16îéªð\8d¥ÉåÊ\8bl\87s\8cñ ¹ÙØÈ8¢\11A\8aðÃ-\89óç%UFÜ|°Ôè³9óðýw\10>I\10\87\19)X{Öð{\15\93\9e\88\9e\
+\1cý,ñ!\ 3»ó±\1d\ eÈp:\1f4ìl£wHm,bô>Ñ×þ2tí\9b\vÖ.\19_vÇ?\röYÀ鱬\r\87\8bܳÂ!\8c:¶   Ï\ e\17\8c_\91Æ*\116A}}\1aèå\9búH{\9cy¢ö-+w±g\14\8bë'\vÓ{\ 2þuÍëÄï\83x\90Å\8e¨»\12a\83e\15N\1eÂõ*ÞÂà=\83ɽJ¨\8dÆn\83x      §ý{\87æá°Äñ³p Ì3\9b\fró6mÓüÅ\8b\18SfªÒÑýãüI\ 5\9eï\8f\9exm·\85½\89\ 50m\8f4\7fä!ʶÂnv\v²A7\160Xùaù\\10cpn\12º\81Â\e\1f4\11\ edO°öLó1É\97î\96¤\19cò.8ÒõÏazÓ°oKú\0\f\16§xÇ0ö\15Ä´\eÙ·õ¬_½\17YìÈ&¶°oFßEz±û¼¢7ãÁß\12\12ì×\8e¼ìe\\8e¯bçq9ë\Ô'÷.\19»Tç\9959Ω\17Ô¹§=8¤í<\8a\9a\9cýSS\9f\ 4ôæE\11BL7\8fr\15\83\85RÔÕ±:lÜ(2ìæÃr\10Í\9bt¯~Ç&lÍ\\1e\9d\9cÈn79³/\aÇ\8eü
+>îh\15{m«y\ 6ü\r¾\874\18\16\82j4\7f\11Õs\18\ 1ú]ÒBüèÝ\11¿mÅ¡\f\a«ûhCà ò½(\14\8b4ö.m¹·ñ\13ØÒS?0öڽ䠠  ÈÙW\vø\e¶¨a;mSØ\1d\ 2&³Úklþ!xBêuõ¸!Ih^¥Öå\9dbúë`\8bËK\8a9Q*¯$ÛXêÉiòK§\81û\97\v¾>;q'>Ñ /­\85æÀ$$\19>\8e#­c\12È¡L\93\99}a\11<±³\89ö&ý­\867*ù¶m\b\ 3\fUä6ú\80í\7f\1cè\9bA\89¶>÷"tl\98½\80/\90\81`´Õ\11I¥9iÓ\ 6\90Û\ 22ýf©\86Ç\95&Úé-Mp\98Èîá$I:Þ^#\87o\14\11ÿFÑÓ¥À\14Ô\ 5u%þ1ä¿ÓÝ~¹/^ö\ 67\89's\84\8dru~ä\9dú\82­q|MOÉ\eÖ\8dN\84Ú\9a\87Ô÷èÔð[¾2\1aW~êcþkb\99v\1eß\1ee¢#:&9\8f\80¤nY`ZíøÓ\8c¥\18\94\1cÀ\97\17Ã~ÚÇÎlQÁ÷\86c\88ø\9fVú)¢pôѶÏò×2sÆÝ\14\9cæZ\93\8bn\18½\ 4Bµ¹\93BñÖ\81\8a"b^RtkX@\8c#æà\14\ 1~\81ØNm¦\84ÄçÅ\dM\97òXů¡+µIË«½AK­B¬PìÀå4\96¦½W6(­\816ýæö¹³Ì\|\15\8aóéÒÁ\937*öì)¥o\ 2?)"ì\1dÜí\10Ø\0\9dbýaäcÃþÄnQ±æ\9eºS¶M\80Ùs¶ng÷r»Þ\1cÍ\95\e}\f¸å\84\e¿R·¶M\9a\11ÂV
+c¦·\988%;_-í\950Y\0\1dÐÕð\9fát\17[[ò+Yì:\87ê»\1a\1e ûBk\8dB6åM7¥ÿ\ 5¹Ø*ë~*O\e\17\8d²?#÷8Kp\85\7f\9d i\19xv²P:\81qÖä\86\ f\900bÅÇm$\e\07\8cJñ­õ\89\86
+ ·è\95¹G\ 53i\99í\83\14&šֱò\r\8b·Õ±Ï\e\13\13¢\1f&\0\83\ 4¸Áz\10ÿô&lï\800W\8c\16#\ 5\99°Aú*Ãé\1e·b/êk\87X¤Bgø®ñH¢\90'Sü.\13\8bµ7>yh\17äãu\ e\17Ä\ 4;\9fü'Ü­Í
\94ÒßT\X\ fL\96
+Sm OµG\e\ 2à\ f\86_¶;_[\r¦\ 3*Ð8*ó«ô\81\10§!jÝ+\98´c\1a½®è.\0\93\1e\8axïb\ 6ÉúÖ\ 3\8dËÕõ\9f\9aâáóMi»b\81|\17²Z å×h\11\89\f©ÄÑ\17i\ e×\9b\81×µw\81Q\f\1d\b¡\eØkËöÉ#\9bw\9fÑNþ@A¬\ 6ý"¼4bq\1aÎzÍ\8a5güý\be1dÿ\9fÛø¬d\r\89\8exEÜÑ\±ÄÖá¡\83\92&OC\e\eÿb®b¹YúÖ,\11\8e¼øÒÑ\9cY\125E²´P|\83g>~aw
+EÜ©\16xs\v\1c\véà\ 61sv\86æ!p[f\8aLv¿ÒöKlÝöÞFÙª-ù\8d¸?ªj\8c`\ 1v\aå°«\9ehrØN-¾\7f\98{\vÕ;\ e¹µ\86Ûkd@uJìb\17ù`\10ÊÇ[À\92W0»\1c\98Gü!¤A\94FOlÃ\85¶ÉÃôÝÂù\93to2KKúDºJ/M\9d½/Þ\14\vhÄÚó1à[F&\r\92¾\9bAj\ 4×\9a\ 4\b\80õ®5`FNÚ\1eîÿ\9c\10z\7f\91:Óѹù\13\98É+\98¬\7f\1aWAz&\ 6#\8b¦\8aã)Y¦\ 2\1c      ¡!\19\90@Y\11\7f¹\1d9fá\9e@T\9b\17Ì\94G^\90\8f\114>\93¨÷ö(¯Å[äÕ@\ayaÃ\ eeÇ~\1fØÜ\9f¿\f\ f®\98CqQ\vÓ\85°Ù\85¿\14·´ÃÚ)\87«&T\9e¥°õÁ}õÈF\94­Î¸·ó®ÛfW3ÃaVZj +\94Û)\14_&1Uo\1a      ·jà\8e\9eH^·CN
\14^
+vÕõg\15L\aTÂ]ÏÙ?ã\8b9.ß7ã7ÚõæÃ\8c\81Ö\e\fä\19ê\13l\19~9ÄWô\ 1\r\15ÓÞ\8fnR\8dÈ\82Ü÷\9d\1eVÆf\15\80n×ê~\eÂkL\91o\83¨8¨Q\¾Wкgç\0D\95Q\fK\9e\18\17Ð:zy0»L,ÃO\99\86µ\9c\12\86\9d?6Ç8Ñ©ògÔöþÀÔÝ\ eª\1e,\90ò\80\1a¼ã\82ý-Jæ\98ØX\1d\91°òÐ)\r\87\94\81Ô\e\ e\1a\ 5\19°ò°\1e\9b\ e\1e\ 68¨(¯Õñ@   SsÇüg\12¦æÏøâàJ\95
+;ÆYZ\95ìCáÎ\85­©c\b\9f\86è7Ø&á\8bò\91}S±4ñâ~\e}MÁ1u\\vZ       U{"ü\92Fåk:®¡¦²J'Ñ:\1aÆkHѦ\8dúþpÁA\ eÕÄ\ el/\80V\ 6\1eòpàà\0\99Ú"ºQç\10Æß\13\11\17\10èðoµ\8b\86´3\17ìmÖi\ 6C£ÛGîÇ¿£»\1c\8a\8b\95"^\15\99we\93\ 5\8aõ\8bâ\b\f¡\9cbuônÊI±R\1e!;jÌÜ\1eV\8bG¶Ñ`\93\ 2\86\9cº`Â\81öè4f¤\ 6«\8e²#dû\12\fÌÍËlL\93rÓö\84Ã\1fOH`9\13\80\8c\ 6®\8dÃ#y9\a*}Ø\17é\8d±;
+£ôÞ\v¬²}Cþ\9e\bý9¾yÂ)»\8fÔ\97b\86\98      t4ó\8c_Í_ISý\81ðiáø\ 6\8cU\89\8fö\93ºë\1aÍþµÕ£?(î\95S£$¶\b\1eV
\ f\e§¦\84\10vÅì\kÄé·p&¢äÞ\91;\1f\93ÅØÛV7\81,]µNkGBA/iu³\87°2ªS8\83Ë\1f\82éÖÿÚ¹~ÓκÛ\96©\96\ fj\10-/·?Ä`Þ\ 4¤~\8bF,\9eÛXK@þ\91\10>s\Çlmï)\9c@ÂÆÊ¸.\98²é·²ß\17\18\8cç°~\81ãq\84ôPÅúÊmä\vÙû¨k\15XÜa\ 6\9f\7f}\98?W7\98º¥u8<bL]'n|\812¥u\a\16V¢è8(òTóv°v2\ 6Ä$äÕø       ï\7fû;\9bú&?ÓÜß\86`ýÍïÇs~4»\9bæ\19ÍÙïOÜÞÿ1VÆ\ 4»\9c:6sY3êÆàíW\1f¹\9ewâîgò6·=ª·\9dÍ\7fÕ±ÿ\9fsZÛhß<»\9a¯åÜÕñ\96د».ø)6{\9a1÷]Í\ 1\86ýw\9dÍ\18\v©&ÆYz@¹\#¹\9dÑw3æ9\1dÌÔ\16¼næd\9ff\1aîeñ\98ý½Ì¾ç'yÓý&dÊ7áЭ:6\ 48\b\e\e<àq®æÖóK\82´ªü\90§z«Ð\16ÉæEW\em¯cv[mwÌ\r\97{U&}\8f& ã\11Û\89D\7fµ\13\ 4[d\8b×Þ¼|
+\8aÆéwjÄY\fK|V%ü\80ϲ\89¯Åðñ\12'TÄí\95"80h­ÙnO«.0\18úâ\8f0\87 \15\ìW\9a 5\9e{Jî\ 4¨¼ÀéFæ\ 1\1eeFÉ·ñ\7fS@ü\aÜ\8c¶2c¡,\94©|L\8ev*¹éÕc\ 3mA\96y\ 2X4,9\1eK6lå]ëbýg ÐÀ\1a·iÅøXûh\7f»5«ó"ðÞ­ýöö½\ 5°Bß½}¯:1\926úïz\1eÔæ\16x÷7Ç\ f&¼|\9c¼\8f\9c7\ fXpËüú&)CF0:©\85Ñð;A\r&#\88ý/¬\vÚN}\11±/ãÿó¾·Þ¡x\9bßâ|ê(\93$ß.1­ùä¿è\9c\8dl"O§´}oXÿ\13åQ\ f\ f\e\8e[&þó¾1l\9bþ£\88Ù½éÉÊ_Ï\93â\16ɼû¿ø\16ɾ\81ÛW?Þ9ÛW?ß<íµÊüãÿÈJS»j\8b\1a=äúTc\84\8ctìûÎèÇåßnÚ»vË6DôÈÇí£\1cò=â÷¨Æª1Ñ£\1e\85\18ô¨Çå£\1f \8c~\9dý\9fo¾L¼ý\99Ä{­ú\1ea\1eõ:=äýj\1a½¦õ\1eäÿ\83ûñ²Ö\ 19ßÕ\8e{÷þÿÃ\1fÅ«å>7ûñöHd \86Ë\13wí¯³\9f]\9a\8f\97EW£ÞGêQîÿúxoÝ\8eò7h°W¢\ f±G½\1eº*ß[Ì£bô{ØävÇ÷2\ 4F»Û\86׽˩ß~Ã[á!\ f\ f5ßäÛ_ñ©6¿÷\85c\8cÑ·Á¸m\83oʶo}pÚú1ñ¬\8c¿\85b\eÎa\ 1þ+\1e\9føcþ\ 4T\8f\8e]¹þ\ 6±åÝ,2_Åb1»÷ìF6ioø¬6_ìXv¿\82Äïø\19<÷ð,-ÿ\1d   0ÈFk\91d¹ñ\871ò±/ï\9cE\8coãlÿüg¹CrÜD&oä\17\1f¾\ 6·×û]¶ç\0þªZ\r\9f+ÍïºkÆ©¥ÊuY^_\1fÚor\1e\a\83õõ\19L\7f\9f\88ÿ\ 2ã¿ÿ¢ã¯ü¿¿\97÷ÿ¿²½8Bå\ 1âû~uHêÃe\ 2"ש7,=\b¹\90^3½O\95Õ×\1c0j«u]]Å#-\ 4 \19ñ\92\87ÿ7QKQ
\9e£»¨ïê**4µ\1aj\8aº\8b\1a\8bJ\8d\95FΡz\8dÅFKÊ\99j\99\9a\99ª\99Ê\99Ú\99ê\97µ*ÔÑÔõ59z\9cÍNn¦\96¥\96\95\ eÔTéjtÕ>%M]M\894¨§gR½N⥶\91æ\92[I3¤\9aÒNi't\93ÚGºEt\94dÍмÞ\92\97H\ fF/îJ\19º\16ÝsDì^ñ\98ÀûÅ\1d½ÚáÛnü¿t\9d\8bõ\\ f6\9bÁÃÿñ¥6\7f 7\a¨Á\1c\8bsÿah?ÃÿàºÏ\82\8dÿ·¶^\ 6Þ\ 2\9dx/\84\9d\7f\86\14!=Â\9d\9b\93ïp¼\83Ä.à\99üÎq\11ÿ\90N¿È¬­òÑññÃp|\82(\ f\89×ÿ\r¾°ñ¤¼ã\80\18ÚA\89d7)~ba\91Õ¾ñ³\11ãÅ5!R\998SÎ.\9b~\ 1è\10^Võ¾=ºZ5\8fó\v\15õ\18õÁ!ø\90n\1d§\94=<þPDý\1cäq\83ÐàD\1f\9f\85EÖ#®¸îæY\12KÐq_~B56EêÝ\11\ 1¨ºá\ 1K4Åõ\93ê·\8dÂøÃã*ءǸKGÓ\15å\81Â\92GC PAºÂ.mì@\ 4\8c\17 *4Æ\13
+v+y\89\e5\1cHz»]ìþ\11\0\8bº\e\82î\19;|;\92»Rl è\9f\93v½ä³\85\f\80\akw\84@°'4Ë\eÉ\ eÑ\96Y.\93
+=¾£¡Ô\ 5v\11\r¦eòdhïËÑ^\98åähý\8bZ:w\1dâ4\84\r\ 6ĸE©\87\ 3qíÍ"\12îvç¥K\ ×Eý´¦Ý\91b\9c$ÁÜq\8c\9a\ 3T¬#^ù¤\90\94\08¨`°\19FiæC\ 5´C\82\ 2\85NY\90\16ÀBìú¸º\1c ô\15¨ÐÇ\1e \1fäv\ 5\1fJmÙ\98\1e¾\r\a\902jå²S\vLd\b\14Å}JȽç1\8aÂGÏ\8c\8cÿæùîT\8bnLG°Û%ô\a©\1e úÓä\b\8e\1c©Ëóm\86\b¾l\897\0±ñ\9cdÙ  óútBá{ï0Óê=s\97\91ÛrÝnwèpnu\11\ e\81ËüÙ\8fpè        uÅè¦\91·áðËÔ]°m\9aÎõ¹¨ì»&9Ú\ e9ÚD³jýÔ&I¬P`Ù\ 5ï­ED\ 1\8f,2Ö½mhò\ fVȺ&\90Þ\ 5üþ\ 1\1fF.PØ1\8d\88Þ=c¥ÐÅìó¸MQ)\ 5DGÂG¨Gâ6i\91\81Q\83G;ÀÏ÷°Á\12úêR\9a\8b§\ eNÐSÁ\1c\9bi#`åc°øk°\1eó}\127Ëy ÄUý+¦^7L\vË\0 á\eÐ\94ÛèÑ\1c-%Ö¢1;siå~þ\ 4äîß\ 2ÖÐ\14g:àí89\1aw\ 4ȳ«ñ°R\ e\86¿¼ÝZÓ²á\9cèìbFøö]¥ës\17\19Ñ)<Û_àI\12é¶£Ó\rÊ\fÏL¿A.rÓî\0A"h¦ù÷%ç0'Fµ\96¸?å\99Ü¡÷\8b!±YyþH\114M\1fÓ9\ eÓÏÈ\81\ 1k5ÞLµ\ 2\81\10uÒÍ\0M\9b~TËW&âöU\12*ìk\19ß\85jû^xðÞ\15¨m\91²¦cù¦O¾Lµä6PÇD\12?Ç hwÒ\99j\1dêfPß=øñ\ 4\96ª>yóYãïGk¡8\ 5\81S3\1d\16úd¦nþMr`b«ÝA"#?\88\bµk,\82é9Ýñ\7f\e\11\8c\f»Ö\8d\9boD¶·P\10\9bù\95å0®Hþ½"\18\10\98\18Ô>v5\18,/õýC¢Ò\8e.\ 6\1d \83\v¤þÖI\0Z\16\9aA¾Õ¹`»\94s\7fÓù\101ÀN\9d\1c!ã²öðþV®Á \1d+|ÉU9û-¸°Ú\19\0±L\86<\16¨w\ 4\v5\9a#\97à\9dÐ÷«\ 3\16v\151\9b\r+f½¤Ô7sà\1dâ1îXê\ 3>\7f\8f\1fò÷Î$l¡Û\14'Fó\8b#Ô    ?{8Öb4y\1aSâ"\ fCë-ÇÏC\1c\19ÏÙ\9b\83§\9b.B×\18d\ 6Ø'\1d¿U\ 5\80\8eä\89ϵ`×\92M\8dvd;UÕ\9cÂ\8aRÊÈDN;\9bø\ f=ɵ`        Æ\98\ 4å\1c\1c:ôüLÌ\7fYÊ'm\97»ñáZ\ 3Òó²Ô1(\10   AÆùÛ\800a\ 6ÚÏ\ 5çÂC7ÍÎ\ 5\ ev(Cóü{õ¾¤&Y\1a\80L       ÒBóTY§¦¸\ 6Ø7-rtës÷¯Ä\19÷:vàqñyõ\7ft\87ô\9bÿd\87\9c»\90ÿ[\83ïÈpØ\91ô\ fÆ)æÃ\1e}TZÌ\15êÃAço\83å\85\ 2ä²ÒÔlÂ\89\1e\14Tð n>¼\96ÔÔú\ 3TD\11ýhìYçã¯v\1e\86o/B²é­j¤[\ 5\ eÞ\91\8cÝÃ-¤
\ 2çá\13\13\8e\93\0Ʊ\0ºæË+Y·\96L\97§\1cÚ¡Û\16Îl®-->\86o2Ö[\99F[\aIY·xÖV^âäë\ 3{ÿ^eÍ\82Ï\ 3 \bçi\81 Syi+ÑqºÉÌÝ#Ì\1eè\81H0\12\dæ\8eÈ@ïJÿ!\14\ 3\fÎ\r\17\95\89\vÔ\9754á¦ÌÔû©\11\86/aÕµéÃÝÞÒî«[!Á\eÄ\93\17Æü]\9d\86\ 6\ 5\9d¦\a\0`\822È{×\10\1e\89hûÂ*.\8fwñÆêâpPJyr#RédwIÃÙ¹L8lì63 \ 1ØM_R©\9a\ 4\83$\9cýl\ eIIÿ2\ f=?«\83\8cQnV\86\7fªy\9cæSZÅmX/!¶)¬\9c¢©x^NJ3ü\b_Cî×\94-\ 5á°\9b/\91óÁÀ\18(\82\ fÝ\e\15ß8\96\1f»Áâ\12È+ä\9eòé\v\86ðT\12ç ZÑ-çhõçfút=ì¢Q\89Á\13[×'\18¾É¶[]Á~\17¸\1a\18{×G:£Ú\17fÌQ%Ñú\ 6\9fÔkocúÀ"\82¡úÈ ^¡óT\0 ë\êe;\96×&¶©©Ü>»EY\9dß\1c´\17\86Ã)D\96F¶<î4ç|×¹×D\v*ãåªØç_­\95ͲPcdorÉÓÆ\96»Øp\97*\7fÞH\9b     ßpzCÿý\17ÌÝÑ\7fáÞ\7fº\8bÙ\ 3\10ÙnçÒb\8e×\f£\13:Tä5~ÉQ-èhõôº#R?ÏÏ\9a\90à@5\13\ 5\1dö\ 6£¶h×ò\9e\8dh\80i^T] \92Psè¢\9cÒ(¦¾ò\8ay\82¢\9e\13QNjQúY\1aë\9a)\95\8f\ 6¿XYI¹ðá\96{_\18ì   ¸4\9e\80$÷h$÷`$÷^$ö^D\9eò_-CFEúáëÀÃ\b\93¯\9f6)9üÛÌæ$\8b³£2Qè\92\80EhÅ\14\94\9c-\bÒS6$¦À\11/$Ö\vò1©aËõ¶\14Z=x«zÖ9Ú#U¹Ü\19¬\a}\8b\84\1dj\92/Ù·\ 6«w·uoÀ·\90ô\8e@\19\rñ\ 5\vïA¦\1eöhbî\ 2Q±Ù\10úe÷d\1eH\12\1fN¾²\eEXv\1dü°\957ÑCM\9cÈÃ\eÏï\83w¿\8f}d¿\9fb\ 6qôN¬#<þ{4¤n\9dº\91k©À}­\16\9dI¼T;\870e\96ß\16O\15C\16µJ|¤ÜèFþ\93P\9eôùTj\18êè=¢p¸.\82;'p]ç°©Ón`L½¶¯¾A¿\f¶w\1aoÎZ\ 4\99°Í@Æñ\aÍOÐ\8a%#S\83¯-OZ^\Ó²ò¨XÔ\8cZ\80*!\91åU\ e\ 2ÿlÝ.çrHÐÐâèRfð\ eÅÜ\9f>M\rÇ\9d®\83\7fTÓ¾GsX.e¡¼ÑâȬ¡;\1a£\aà\ 43bHÃ\82¿lß\1c¿\9dÜ! á\97\94¢"\87`å¦è\9eÆÉp }\99h\82ï)\ 1\96\ ePý     óäÄMYà~Hf>ÉÛ  ]ò\84sY\ 3|]:¶ÄÓ1¹ýðl\91\94\97s(\7f\82\80Ûvå&æAÅ4\9aeÀ´äFþÃ27\82Y§>\88ììè¨aËè\98  ãT9%n¿Ü\ 6\ 3r/°\9c/QÊqx
+c«\8dN0µÏ\18tl.\92Ôz¯3£ñ\96*K\1f\8bÔÒÓ»&\ 2úâBñ»óô-»W@xP*²\95¤Z\vj\15¹pÓ¤F0ɬíS~ê-³Ä\ 4\ 5\1f}\89ܧåmSî=;\8eݳe/{5|¯`µIM5é=8ïTÅ^ؽi¼´ôá¦%\98¯5*ª´âí\9f-dö\17\90ékABJEÕ¯Ö[!²qþÙ/\ ei\aÈù³ù9^Bù\ 6s\9b\12l×^Pl×`Le\8fg1ãð\v⡯\fD\15\9c\ 3Õ¤Ò\e\84þ
+ëZ\89U?n=8å\e·%Ül6³Ò3¬\85ç\8d\16\ei\1c©o!}\8eêç¤òÖ\93\81vá|rb ^ò\85m\90gEà\15\8f>\93-ÌNÑ\9f¢iÔ       0j\ 2àçÕ·Ro©\ 4\6è\8d\ 2vDá­\11±ðèr\96\16t8m\94K|é2BZ\8fG¯;qL\80X< \19ÌÖ\92Ñ\17\997`\980i¶m\1e)Fz¥ôÈn\91̺,ãW,{>âéE4\8dK\7f\1eôDéкp.xJÿ\8fÚ¹é\9aâ{Iècµ\91 ]Ú±º9Åb|¹¥bsà\893\9c\8cBh\88kç8úQt\ 6ê´È\ f\848\8dím\91.\8a\9bM¡Ò9ÃØ@Ø5Ý\94\19\93\1dæ}_%Â<ñýA\11zVt\9aHúN\1eóIæ\88]¼gIÇÇÒm^p´\9e\87yâIÊò\o\12OÖA^\139~\19¬yÄñ$üÇ\9fßâIü\ 18z\81\ 1\ 1È÷¯ZЭ³Qo]pIXC\17\1e\96Ü\0=ÓÚoî2\9aì0×3²+\11®¬h¿ærÊü#\13\80\18y|y\1d \12Âü-&\17\82pìQJ_Ï8#FvW+Ý\81]\9c\80\93\8bþàc^y¿ï\ 4ÓÿÖ\ 6\9bÝ\ 2h;é?ú\ 1\8du\8d¿Ú    \91 \fkì¤ù\0cYÀê7Ò\7fÞ\a\93þÐ:\8c\8bÿ_õ\81Ô\7fbKõ\81Ô\7fñ(\aó\1cì\93^>¾.I¯\1f_ãÉGf0}\10ûnÈ \7f\99n¥WÊ\1fMGQ\v\1c\e\89³ 3\9eÍ8­ò\13ι(8·Ä\94Òo¡ï\ç\18\v\9ce\90cAã¬\f\1el\84Qýã\9cæÜ\88éA0\18÷\98;2êm\\9a\10\83÷äp\10\ e\ e'\96cñðÍ\81Ê\vi\9c¹Ùe\9fI\89±¤N#c\7fÕpú2 2\1cß\91û\aV5\ 4¹ûÞJö\17éÉ9!ò\bXZÛËc\1c2ÿzîéË\90Nbþ\ 5°c+·.þÛ\a\8d¿6Áýù\17nY-k\1e\ 1´³{ôu­cã\12÷²ºîîQ\1e\1f\85û\86zÝôÏ'\7fKHpîI×\18;\8fð\1d\1a_¹m{Ê8lì\1a¡þ=Õ\17ÇËü\17SY]\8bwÖÓYIfÓXÔ\9bMg$]4|o\16Ïô­mÿ
+ë§ý\97`ßÅu-üWU\e&¬Í\12\1d¦aG \9f·÷¨D[ý«\9f\85¯Uuhº}ý\ 4cËánñ½Âû­\ 2\9b¸\86å×q%&\a&FÚ¥«ìbYëbù>ö]\92ô~\8b¦Þm\17\1dîîêOféw\96G\92\8f\9bCHÎûôyQùd]\1aú©_\85 `\7fà\87\87y¥ù\9dnWüT=å\86\7fêïæq\99U<oÏ¢¨è#\8d\88v¯Ãñ{øI¿fÍ\1fÞ5é\ f¤ï)\9dýOÏ\1d\ 2}ñ9í\ 4¶ÓÌ7ï\91C/\89ø_½ç\8d¯ü¼=\7fý\93®ðR\16Ïo×Ç·êG\84©\84÷S\19\9fø\9bíwÄ\9dȱ×e¬x}÷\8céÁ«¶vöR\99¶ïÛ\87ú<>ÿGêÖÐj¡ÿõ\ 3\11ó\8d\9bM%ý¾\1eý\?üø{ðã³\13+þ¾\1eÿ­ó\91\9f\ f\87¾\r\ 1\9dD\bøýã¾Nå\ 2ßÚ1ñü=ü°+äú#\93S}\9e\8bßð÷þj(\ e\121ÿY^ß¼ðû÷\84\94é2U´²<>þ[3sá÷¡\82?l±;®®\ 618SÎ`ò\89Â¥nÞ\ e\ 2\85¯\r\15:Í£Å/v)ÃÞ<ºñ\ 2ª\8b¼IðëÅXÓð3çY±Á{|¡Ê°¸\1e¥ö\94¨$Nå÷KGm4ø\10 ±\80÷#¡'Þ\9fvÍ}Ð_v\96ïî\82\16ã?m\1fïU\ 2N'lxTñm×Ýë?«\80\aÎÍî\81¨;¤áÁÕì\85\94̰G}\ 4B\1c\11\b7Ñ2| «]³\93ÎgÐþ¿SÀ&Ó\18\93\ eø\ e\8e|£æIÞ\1f°\9fº$\8dkÜGûãQ@ <Îü\99â!°\94\r½ÿ\0ÿ»G\86 ©ÊÂ\97\1f\1a¡ç\88\fGbg®~þ\87÷>(Iþ\16\1exgQnj\9e\ 6\1aûؤv;\82\9eÂ\1aC\e÷&39àV\ 6û$\ 5\80\91àÐáQ¢q\1cg°AØ\8fVL\11\97Éæ\99béx¶\99[]8\8a\b\89[søÒ½\17j{c04_\ 1 ?\946tW3u5úÜø\92çð9ûRÚmªäÈçÚI\ 2ÄiѦ70Ph\94èÚ?t¨ð\87æsèð\87ä#\9f³¦rmEÛ\9aV¢ìõÜ\Ö\85®\8f¡cnô" ÏTqØ«GtÔÌb¯?§KÃJ+HT¬ÌSAðN\93È\8a¹º7»ç%üZ¤2T¬\12Ù\94üFÎÎ\90qàíBÒ´~#P\8c\15¹\v\96\1e»\£\\86\f\99471­\80vðiöl\87òá\7f+\8e?×*\18\ 4¯\90\16åDl­ñ%léÍú\84ªqê\9eâî(bî\94§ì¦Ó¡ÅúiÅÛ1òäP¦£=\1fgá2{\b\1c}\8bR\89Ï!\19U\95mk¸à\1d!\10ô\8f\9d)\16\92IH¶à\89Ü&\9c\ 4Öc\85·ã( bÉ;Õ÷ÒÑèOL\86ýn\r\93íó§Ù<4i\816Jèî÷¯i¶Ð\19\ 3\8fÿQ\99mYù0\8crr\86-{Ø»\10Å\96©¥ÿ\ 6\16<7\94\16Zü[tñÜ\14» T_ÐÚ\8c³n^¤Zøì\89n&W\87?\9béPÃ\ 5Ë\17±|Ô\ e6\80g\93A,Õï\9c\9d\1a8úQbz\9bÿ¶ZÑ>gVh\1d<O\98\95U\ÿ\94_ezO×FñíCGðt5\afÝÝÎH\98Tö¾ø\111\b»U1Þ¢]Ð\19ëG³\92n1\eõ\12ª¶\8d\8fE½¦\99#\8b.©Î»a³¦6ÃiSz\80l\8c7\ 5Ô©\82\ fo\97»=\1aS¢+S\92\16=»d´` Wþ"+>¿C¯/\99\90Ñ\8eË'\19×D¬Oóê¶L\92\83_\0þ#.¦
+\19I\8aÞBN \8b\16x\98\10\1f\12\1fÛ;o\85\1eØ9ÍuÙ¯\98.A\95"~\ 3·\88ﯹo\94
+TÔN\19@\aAnkÁm!\88\9e¢R\1a¸ïáÃ\r\84Æ\93RÕr   iûܰØ{"\96\9e\9b\b\14ß\96Fm8Ò\92ô\91\ 5¼8_±\19$w6fȺg"å\9c\8c\9b9\17Lä^##\e%$oÖô×ë&oÖQ\1f®2Ê\92\1dkºH\94wÄd5\ 1£\97T\8aDzÌ\82¤¡sª\1f½ù\1f¸<y}íe\b\ 5eÐÉ(å\8e\8bÑ\10ûøì°\ 6$\92\11\bäÿ\96¦)¢\ 2í\83 7\ 3,S\83\9bÌ\11\12\1cZ»¹¤pè\15M\93\8d/Ñ)O6MÊ\9aV½KÓÃùf\1e\9d¹\841nu\f\f³þ\8e\96\ 2Ô¥óåS\9c/¡R\9fÁ\9bû'd­7ÚC%bÀæôÚ,=*<C½)ô϶YO¶\7fÓî\10w\ eMAê\bߤ<\r%û>´¦ó-ú<ëÕ[éÚ!(Ê\9b\10èæ\ai%è:Ä$¯\0±¨ßFuÒ?F~\86.¯#Oó&]\16á\86Ýi\ 6J`\90M\19RLI-]z\8e\ e\80Ê1óä\91xrá©\e\9bZ';õ1Ûd»\9bp\1dªE7\ 3õ"À\9bL·ËC\ 4V\9cn\93Ç[%Ü\86§F\82å\80 û\11\ 1£\1cµ\8cæ>ë\9a"6\16õZ¡dý§â\93\198£cU\7f\eÃööLÕÄ-\f\9bÃnwÏ\16þ²n\8d¿¯4å¦Y\97\84±\87\1fL1¸\ flYHs)W(\1dXbÓMõ$Û2ÎQ<6¨ \bÃ~ÕÄ£ÊsåS\8b\17h\9e\eËÅÖ³\91'\1aã\93}ñº\93\8d\82ëü\9e\fk\0\84`2ÖW¨i\ 2¸RJ\9b_éqw\13&MìÃ&_j\9a.f\ 5\94zÔ^®\13\17b\9e\e[\8b\ 1åâ2\8bÛaPÔ%£\96\ e\94\10\81\10ÛO\8aÔ\88Mø­¯\85÷\9b]fʼ\13\1dcÀÕU\ e\1fƱXe±uz\80jgÜ7|ä/òä\eb\r6\8d\8d(£p¥\14ÔyE/Ä\94];$\85ð\98ÉÊy"y[^÷·C,Ì\8f"ÖV^D\8eÈh¸ò.ÛeNG¢³\ 30Ðî\14P©«\ e\94ä8d\16B*²|\e#~ù¦¿\7f\96o×°\b\ 6 jõ\89\r\9d\88ú\93\8eïG*°\10þ¼ó)*%µv×\91\1a\84\ 5-\8dA\97\ 2Ü!¸ylû8ã.\1f¶tÆ«ñ»6\98\1e\91$\9em\92,1\e\1d\ 6\bn1úý\ 5ô$²ÿ\86E\81\85Ä        ({·0eNE\1aÂGµ\97\89Ä<º\90à\83óô9Þyv>\9fi#§ÿ³l\8e¨ÒÞ Ü\11ò\ 3\ 5\10×ßzÆ\93³72fd"\18\1dÀ\b\18TTG\11\8b\16±A\19\f\8açC1s\ 3%"\0Tµµ\8a,e\15h\8e`ÅÔXzH\92g\õ®­­ò\8dmõk§¨ÚAn\90\0\v \ 4\91 \0\b\b\0\a°À\0mH\f     \9dýû÷ÿÿ{\99\92I      \0\b«VÛ}»¾Ý÷Û¾Þ'¾÷Û¼\rào\13~ûx»ÍÝãîý¼=þ\ 2í\0îÖÉ%\92Hã§qÐ\81\88zpÀ¹äûó
+»`)\r\91±¼¸êb½\8e\P\7fD\89ÌèÇá\11Æ\95TW3üAe°\8d~\9dÜõ8j?\18_eêÅ}\93\80÷\15åd8æ$"y\12i\9eà±\f¥Õ\83­Õ\ eª¾@\8e\98\12\19\84nÙÃ#\15\1cÀáK\8b\94©lÓ\19Ñ1\ eºLx^      \8c{h\ 4\8aeÇ÷æ\18ûjÔ\1eÊàî˪?Ô \ü\9eù]\ 5\11\18V\90\1d\b\91\r¿\8cL8LäfóûóT\10\15§h±\9dðVf7¾\ 41\90\94b3¨±î<\13\80S8\12\18£ô\ 6Ð;Ijª\1c\88c\9e«\90\v\10\8báNN{6:>øZ{Ïï\96q­ÈKùã ÷¾62\1aíÏMQ"H\85\a\89H|\ 2_\93\99s\89\809\ e÷¾"3¥*â2$RÙ\10\8bÏM\a§Ht\rX\97\9aW\1dN\1f\85\ 2ñ0w\rãô\88Ó\86¬\1f=k¡éêàG'y\e21e\9f%lã¸E¿MAÑdû\84½\1fÖ3Ð5ѯzP\142\ 1\8c\98E§å\ e\81\ 4ÀÈíà\11áEßp/\96DíWµÇ\96ê%'\9e\0ªKz\9f\97b\97`E.ú¶iv\bÔL½cÄ©ÆÈ8&ïäbBÕoårû\ e¾Ô»ô2vÖ\87]\9a\97\ 11/þ*_®Åó\94¾{\98¥Õ\18når\0ÏJL\8ef[\ 1À2¨\1fÍ\83õ]%ÚÍ\88ÿ¿\8b ô;ëÄ®a¬\81ôs³&Ô\81±\89\0?p\99\8cµÉ·æHò²\91\91¦\ 29V\896G\94\93\1e\ 2$D\98¾ö\13zp˦x\17\10,jH¼F\8a);\81Ã3iÄ0hà\18\12xäö'
+\9d}\16E¤¸\10\8a.ü¸£ð\81\1a\ 3Ñ\81öãh»jPð\80\0\88²S-6j\95©\10¥Î\9fÇ-^3\81BÆG4§(Âã\9d¿\83<\Îä\rSp\88Ga±Õ4¾¬±-ºÕ6ä\98â²\ 4;MÍÓ°ïM¡Ï-Yãx\1a¦ÆÛV>B\1aä\ fQ\13ú\99\ 5ª\82\81\82¿bÕ\ f\12c]÷\16çy6\9cïv\1f\8f9R^ÜÙ\184/Ø\í.\ 2\8c_\93÷\94î·ñ\86\1cì\9e\17Æ\14.}ª\8c(\8a\ f=ñÐ\bG\a%ï£\83÷ßg!»#ÖÔ\9a\9cç\92\9a=9Ï"\ 4Q@Ûc¬\ 3ÓxgR.Ëî\18¼û÷>¨u©\7f¨v\96Îʬ\8dµï\rA\1d7\9cyϺ\17vøcaA"\96|¸gZù±\aè5\9dâÀ6{¼\9aæÔbÈ        ñ/\86è\97\ 1P\85\9d\916\7f\ eQ\83ä3\9dáb\1d¾£\1d`IO\11 \84Ùh)s*$k\ 5×»¢f\86r~ëº\1c\97¤\18£{\16\ 6"üéÀg\9dHd{Ã\ 6\93\90%)ø\17½\83ÃÇ\f\83\ 5 õ\8dn9"\ e\98äz²Ô\11\8c4MMõ\10ûƨ>\82-lS:\88càõ\8bs\ 6|¦½\87\81Ô\89\13á\b\14\0\8eët\9f\18\91ãW\18¸b\90K\81 C\86{B`=eBÒ\80"\1a!6ý¹¯\120\13\1dÖÈÂ6RÇïMhB{CSï55×-ÞÄ\1f¹vB\13^Mb¬9\8d;lË\98iÛ*.^e;hØâ\r/vh)ò\1c\9eд\18áF\ 27Á3\aÑÂíyÌ\1f,\1a¶n3\aëæ\81\83Ç=3ÀúäÁîÒá\9d\83À        AÍ\ eM\961\ e2\94a\15t\ 1FT\94#k\÷T,Jm\ 2\ eã\ 3Ü\94ä×ò`â\9f\99¼FV4EX\1ey¼dBZ     Éª\0\8d\94o\1c\1a9î,!\ 4 N`v¬\1cO¸k*úï-\1cõ\f÷\b@ØÍË=Ä^£Áz11\96\94þµè\15C1Â3õ/|        ¤zMr\9fº\89ª+¼Ðfç\8a,<hê\10¤Hk\935Òj8\8a!@ULF\ f¯
+!ìó¹\11Cð±ÙÐ\16ßpoÁª>PD:PÓÇ\12 
\8c\88(î<TtÐc&ª Õ \16\1eãc\9aÝ\8cFåÈ\97\91ÞÐÚ\96é-k7q\ 4Á/#X\80\82PB¥\ 5í£\1d:\a×h/ì\196\1cy£Y2<\81¢\14\98·\80N\94'\ f/ËH\16ÀÃ.\87 Y\ 3\r\e\ e\ 6\19|9\ 2H\18f\1fÛ Ac =\16@e\10ÆpTMîÒº\ f\0JD\91Àóª&¨§/\aViy¹Ó+ U­f¨°\97\9b\vÉw\ 1KNÇñw"d9\8f¾\1fê\167îì4ïmÐ\8föõÝ\8dÇ&´\15\7f¹¯\11\98Ȩ\81á\fg\ 3[¸0\81Þ\f \94Z\9afKï\ e¤½i&.\89úuСf(^ömr²Ë\80½,\16=\ 4j~@t\f\08M1¤ÇÆFgº\15jG\93ÚXOnÐs0Ç0ÕÙO.L­54ai¬É\7f÷ªviÖü\7f:§Ù|jªt?ö©î\89â>0-Ò¼îÞ\86w\8d\1fn«dVU½ÏuÉU¿\9fýj·S©ÿ&WôøßÉW\86I{2¯Í÷?üU÷Dø"].à$\v\9b\19\eE\11\1d\aSó'\9fäÅ~\1aÉß­3ÿ\94îè\9dmi5=(j\93\9b\9cÔá\9bDÌÔüôÏÿ\¯Ú\7f5_}YWã»\8fù*ð.çø\12\18U/$µï ;\\8e¹5<Ã?Ã.\7f\1a\8d
+ähY]\86å)S×9\ 1SßÛ¥\11!F\ 1í\15k«þ\88æ\ 5ó\rJ8é¾Ù¯?¯Ì̤r\92¾Ãæúªóo«\96\92ñ?6\85^n´¤Ë\92©\87ÍÈ+Í©76PÈÍÍ<\10\99@ÀòG¥,\80i\ f\9c\ 1»bСyø½\ 2¼Y\18jzáöÈ\r7O~i\13jZ'âûJ×N9BQ\õ\7fvïþ\14tI\8c\9cMc´¶._Õ\855\ 3        Ç7¹<¤B\1e\b\10#\ 4\1f
+X¤Æ\v\14Q¸Y#;S^\ 2BLD\85»³Zð|r\ 5&:\ 3\98\ 1кç/ôÁا¾\e\81\87ÉD\vz\f\14ö\9drÜ ¨ \ 6\85\9e\ 2æ¡"ýsþ»\ edØs#\8fÌóì9\99\10æG\9f\99ãXs'\ 3\99q?3í[(ë£\87ôéá\v\19ð\ 6û­çkèÞ¯\ 1è¡|®9&¬ÆR\99"\81%ÚÝ\ e\88u!n\bç\8fçyªéeÎ\90qÆù\8aÄwbLÊöî\1fá\177\7f\9eõ\86\84§êj~ÕÆ?\f\9dØÞ\97à\ 2ä\848\8d¨õüÇIpèDɦ`A\18q!éä¤`\90\9ad:\aõ\1e½8eî \b6ãÒð\16\1c@¤¦4¹rÔÑ\91\ 2
+3\83ù0\9fºÏY|æ\83\969é+¢â\1a\9eTr/e{\97\11\90å\1c\ú§\9avjÁ¯uyQòpZ\11Xã|õ \97\97$ ¾\f!\8c\7f\19RìQ\81\8cãÄ\14f\ 1 \16aÄþ7U:ñ«¨çDL 1éÈ\1c÷Xu\92*(¸pg\ eÛµ»W?R\95\19Ú¾\123´¼ Ó÷S¡t¶3ö\9f'LüâÏLµU×µ\ 2\ 4[$\9b\84·\ e\0'÷×E¿\ 3\8a\17¬û\19\82\ 6,ÂIZùÌ\9e\bod·â\12üQ\8fq+7Å} $wÜBVEõɼ¦E\83æ2\93\f\8a\81È\ 5;\\97·`\12ßí\85\93ë¨\f\88å0_\98\14HAöítø\9e\ 6\b¬>²@øH\8d@å>ï\10ph{ãà\9eJâÚßr}[ÁÕ\92\ 4\aQò¾\17\15õÞWÅ㾺JÞß\D\8e¾\92¨Ç½ê\95#\86\92\9dvKܰS\9c\9a\81b\8fÊÃÀ¼bQ~óZȯW\89°ùÜÂìº\83\8b õ°ÔÍYÃÈ\99WXB/÷ärÿn:ÉË\ 3(a\81\94\ró\12ð0´nàb\83\89\8cïmøy\11±\ 4\85×µÅ\8d¥CÌL\1f²\8bÿuÆ\f\8c\11gâaÂìº\94\b¦ÄO`\80&\1a\89\18%ÂF\84,\b>)\82IPè
+\8e`\89òÎÛTñ\ eÒ³Ú«uø\9dsÑÕú\\19\ 2ÚL\9fúGX²\9c\8c\9fä9\93â{lh\10Õ\1dá¥\81Ä\13\95\1e\83·ÕvÇ!ÖÏ\a\ e®¥7FxÞ=×Gttc!0õ»QL\1fÕ
+WA\1côIüs(
+ɺ \91YR%        +@%My\85·åì'¬$À\83ãA9\1f\ 1\91k\a\97_W\1f\rHæ;m§Éþ3\15\85\8d\99qï¾{\8cï*^T\8bOU4Jú\13£á'pá\10\rU*h{²\10beïáâ^\9c8\ 4£å¬mÖµ8\ 3;ëGV§\94ÆFç8~\9az\11\ 5\19r\17¿®H'ùùh"4\7f}?1N«?VlÀ\92÷â96\89\ 6Q.$    ±I\14\7f\9frF\14SÑã~U>Á<rÊ}E9\1cd\15þÍ6ñy\11æä7QZßâòn*òxI²S\93;\¹õð5\7fëz\r\r       ]§é_HÐô\1d>4"ú?\ 3\ 1)`\94ôÝx}x\96\82ù\9d\1aê\16(\ f'"\1c\98çìW %öß\ 4\0&\ 1ª­KïÖ[U\ 6ö\v\97\84+\97ü¢\98ìñ\9f:åð÷üµËö7ö«\95Ãú´ÛïùK\95Eÿ\17\93t\88¿Ã6Í¿Ù\83\ 1tn0{\95\18\1e\7f~L\ eÕýW[KB9\96â\85\8eT%âú\16ó¼\8bÃæJ0l\17ÑÙµÏé Õ¿¹\86Äf_±îq 3\90\ 3U9\11\88O\80\9föP\9f\ 1\992ß8ÝÄÿ¾D¼?q?ÀB\805°G(Ç­Ä\80{E\ fURË\9e²§c\9e\ eæ°\bâR\97ÞÌ\1cpxÀyÏ.ö·\bÏì\90\9fôM?ÞZ\11̱e\8dØÃ´¿oÈ£Îø¸¡\85,\0ö¥\9c=ûÐ[\8b³ôï\91Ì\ eMo³\86Q[\ 4a\94\ 6¤HÀÀ\97bIk:v2\18µa\97ÂÒÏWu¾\1f=\aóS±\rTã®§c[\8a-v1ý\ 5×\ 3\9eß:\7f\1aáþTG÷.¾\87\16ÖP+d
+~Èúü\10\83v\8emxÀ\1eÖ,d3\8b\1a»\18\e\9du\ 2\89\93ëÚ{Â1`¾R'\9612E/ì[Ð>²WØ\ 4½ôÒ\9d´Â\9d°\aþ\1a¥>y\95=\87>¿¦\90Lî¶
+\189j®\97¤ì\ f÷ñð4ìh\ 3\ríA\92Næ¯\14\ 1eýRxÁ\9a\13©C8Ç»\1fjº´%éèXöÊ|ç\86F\19sìr\89\15Z\8dÒ\ 4\84\95\ 4¹°%Ý"wÂK²\9d  ´\92Ê¥}];\16\82\95ôiþRâå\1a\8cî\7f>¯Dɽ\ f]ñ        ~µõyA
+ô%\95\96\18ÜÂí^¨Â\8e\9d\ 4\eÐø}\98à`è\fq»°¸\84|2ÀÂ\90\18\96hÓÃÌ\8e\ 6\1a\80Æox7äç#\10WÙ \bcüIÇÝ!ô'¸Ç3¼\1dNÛ·\12#=ág\0«\88ã©Ü/³\91>\88r`1®\1e`Üü\98\ ep]\v±¸\96Ìa\8a= Ðêÿ(àCÀ\a+4\14>¨½\13ï\v«3µ"ô5Πf5\ 3À\97\1a\1dØdÆ\1c~µ>\bk.f¾\9cq¿\9dË\8a£åØd½çYQ½F2x\90Á\12µ\ 3=\ZìQÄB¨n̨®\8ar\rªû¬+Jvì\rÿ\rN\v\87þà]\vvE3ì\18#mÓNn\7fÈ\87VÏ=hïÌUlëÞô\ e§´\98'YZmÐÐ\ f\86º±MÃ\ 2·\02]\19\fÆåv0¼Åô¾\10[íJ\81\19æ½/\10ÀF|o53¥fív\8bw\fÑ£\8eNB°\8a\vï0m\\88\1fË=\94E\90
+£¢B\830\ 2,áÖ\ 4EÒë3í\vVìiç¸\ 2`+Èxó«HíX²\ eÐqR¶³[u<¡I&{¥Aâ[Ý\ 2cC\ 6á\89\88\1e\0\rÉ~h$jÅåÄ\fÝÁY\87\8e_\95\10]Ùµ\96\18\f\ 6/GT\98\10Zï.ÕY̸à\9dc\b}\82Ai.!#s\9e¢3µü\10\b\1cóæ$­i!Hѯ\1f\1dàb\ 4sòÄ\8euSpÒÆ\13Cc7éDÃò¥df«\17Å\81útýO\80ÁxLqëª}Î\10Àe\84Ãû\ ff\9e!^\f\89\88ÊoØa  D\92\ f\®Õ×W¯\bso\99Ó\ 5U\80FH\v\1aë®åó.!\18¥¢ª,n1\1d\8a'NY\99EéQY9\88\9b\fn`S[-ç5;Ò§\9eÞsSº\84òü¾eÑÊ\8acÉÞ\ 33Öà!:×p\ 6ög{ÜçÓ^Y_óó\1cÃ\87?\10\91\817R\9eðäz\19Ý\ e}kaÑ\ 6¡\ec\83SX\92[k&È\97KT\85#0¹\95\9e\87\8e%õÒð;ÿ´\ 4®ôÉz`\85z<x¥ê¥µ!#§ø:ßúàÚ:Ý·ú\9dnøsY`º\8f\12c\13®g~gQáw\7fK¨ú-ßÊê8ÍÜWQè»+'Qæ{+'QÿWeòº\8fõn­ÝGæn­ÝF÷u\15Ô}gedê>\8b²ùÝGÖî­ÝG!º·u\1f\17snê=®ç\9cê8G1*\7f=^N£Â\1cÊ-\1c_öº\8e¯sÉu\1do\eéu\1f'Ú;wûÑSÊ/\9d¡\ 4\8eñÕ\94]\93¦8K\95\84láþ[Ö\8b\a½i3m¶â\14\ ec\9dbyó\18~+=a  \ 1\18xþÆámZ$­\béÀ\95ð¬\1d\17æî\ 2K&Ê\1e¼h4äâÝл&`\1d\82n\90»ÌjÝàx\93\984\9bÐô)Êî\r\9fu\b\9a9á'Æ )æÊ![\87ô©Üí\94,p(P¼ÀÎWWtóqP\18øh\bfÌs_¨µI¿\1e\9bÏ\8a½11áÓz\9bs\10o@:l}¯Mq\ e\9b)·1\a\fį\19qSK\8c\1a7\9cû\1faÐ]Ãw\ 5½ßYÆg     J~\9cºÏ)ѡԫf¶ò°yÿ,\87äî\1fü"ßNP¤Û\8e­Pk\13¥ÞZ9 Ihò\95\ 1\ 19"\ 5\9b\92?\rZ®HÕ'á|
+¹!ãY²\7fz-\8c\ 6tÕ/\82OV¯\ 5¡¼.t\ 3Á\80f\1edd\9d\e\8e\9c\18\87\ 3V\ e!ô³«(\ 1\97údïkr¢JÛ\8fH\9f\1fm\17\98y[ræm¶Ö¨ øÌÓ[r\87ÆWö[r\87Âgôí\88\8fÂ}\9d\9bMs\b\7fyo¢\7fò+eÈ\189:0\83\v¸è\92&°p  \82)k\11\81Ûµ\å·\1dî\ 2J©ïH§ì\80\14/[ Z$¦\v\17¦Y\1cç]\ 6üo\8e \b²O¢íÃçÒÁd_
+\9d\18\90ÃqþkÖ³\8cÊ0\96'uUáI&¥Ý°
+\8dÄ¢y¯~Õë¬\9c¨éO;ß\vª\9bÓ\19WÖÞè\ 3\ 1\13¿¾fò$DS+Ã\ 2`>l ôÀWÉ*\r\1cr©¨JÅÀF=æ>¬    )p]T\ 4Y)ñ\r`#\8d\9aL|\15¯\969{\98\9dJ\a6\0\1c\8bª°¦$Ä\9cFHè#\f)`\80ÊqóHÜ´°û\19¢Â\96B\84\ f{
+`4yVÛz\87\94\ 1\83y\13\19\81\92fêK\80\f´Q\v\ 6ä\85\ 1\94Ñ\82qèçe±(\923¤¦Ù<\1a¥\82\19ªÇIj\vA\eàQ9×TÛön 9\8d\1c²Hmj²Ã15}3\83\12R¡âTÁ2u"D+âòÈ-\19\889*cé8=R.\9bpÉZ\ 4ÈÒÑ\9dÀp\ 5\12ÀÓ\81\9b\ f.\8eàO\ 3\87³ÁZ\80\82\82<M*÷·wp0¬3ÜqÖîP\93\80þn\v\12ËÛ\ 4À'%\94\8aX¶²Î\88¼\11¦\ 4\852'\ 6\bGA«8A\ 25hyyv\ 5\83ã\8f«<)´sâéd))\83\ 5YÉk]JâÚÌää¦\91¢\98\89Oý2ñ~¡Ô\96 0¹HtÁ\82Vh\81)S¬m¨ñ6*t¢GóS\947õNé¹f<ÑÕÙ\0}£¡·è\86WxÓj¢ ©\802*:oñ\1c\8fý®ÃE\1c\85S¢*\1fIZb\98«ë\86ÕÏY8mÈz\17ª\8c\9dl\16\1aÉÇ\9d\19\fæ\1erOõ\1e\88Cd\8f\ ez+\10\ 15ö«\92\91\99\r\ 4f8À\1eÓUl\89#=  {Þ¬\14\97Ps\ f\0\15BY[XÓ"\ 4\97ã"+PßD2ÙÁ\91þ=M-i\8c\87\97èF¬óku¼ui\1fÛ\96\12'\ e\9eÂcqV\ 6ñÚÌh\82OÜ2Û^\84\88¤O\11\1eÖ[#Ö\9e\ e\19§äm!B\9fÒ\85\97Z\8a\ e\88ç×Ä[oÇD¯\99\84bùBE~ú\ f {>YÃþü%¢\vȾb5
+\ eÄER\93jÄ'ð+\95]e ×\82\97%\9eC,c¢«Ù\ 4\93\9b2j·\0\97¼$-\81ù\8bYc
+\9d\99³ª\89Ù$\8c?\7f\96(wǪ̈\ ej¯ù\¸`\98¿Ü4E,+#\98R\85Òã\15Ä\81\fÕ0\18\83(LCñ¯?\8a\rê\19lmu\94\19ThãFlùxêÈ1W\87à]\86|\0ªWÉ\91Y+ø©L\ 5(è,DX±\94rÌ]ÎZ_Íì¿Ü½Øè{/äÐÿ½eC¥\0\ 6±Úæ¹\88­º\ 5\ 6ý\rÙ%éÚÃÓ8\ 3\8b\9cï=l>\ 6yÅp<ç\12£Ïpyðu=ìlQ Ëo\83÷­ Âή\87\12q>$\18W\17\10л¥ËÛ\85
+xu¦i\1aù\99§ÄöÄ\89N~\93\9eá}ý&ó°¸ M/x³\94F\8d\ 1¤Ù\rL\1dX'+&,\13õvV\93Þ
\86Ñl­'¼\15\9f\rïâs\fH\9bX\93â\ f6\¹ñ
+\84úÍ\90ç\8b½vÿö\fZnÜË3ìmM\16ORYsM?K|}Yz\8dk=\87b§«\10\8bIÈu%_`º\94ñÂ1hª\13ê¶!\16\8a¶^\ 3_\1dÓo\8b\19\e¯Ù\92%\86¶Ö(\7fïÀ\8d|¦ß2¯\8aÛýé\8aöÐ\ 6\12«Ú\13Míÿµ»ùý\8a´\ f®)#3\9e©¾éìËïøy\8d\8d¶Ø[¶6\93anØß\9faó65\ 6Ã\9aØÙ\r\85³cy»C5®ìÍ\8d²Þ\9b\81°ÿccdö\16Í\8d×ûd\89Oo~FÆù\ 1·\18\92\8b;hA+qà\\95\9eËß!\11X        {n\0\86 ºÊmë@\8d\94\8d5c9ÝÂ\ eÛm²\ó\9e´ tÖÁ\8epÿÚ\9aKö»K³hà      \1aÚ\13þÒ\89:d\15ÉY0µ\väh@X8!I¼G6\ 1¸9\143Z\97 V8\ 1ö9«"|\8d\81{\16P¤Õ¢¿\8e\ 3ó¾Khú\86!0÷­B\98ßÿ\96\\9d\9aË×ñÿê²Ç\ eb\92Ç+\94\16>(ä^
+12j×Í\ 6P}rÑ
+Mb9¶®\12\99\ 2ǬÍ\16\ 3\rÕ!\9aÛ¹\f\ 5gªO\ 2i\ fÛª\14\9eØ\97\84Ozé\7f\rÔ\97¸ûôý\ 4E/æ)s\ 2\85\1f¡KàIKìf\95#q\5/\8b\83b¥þ\17Kë>\85.xþeV¬Ï\85Ïô:U\1f¢\1cÖ÷I\95     \97\93I\9f\v\108L®\935\10q¡ñ2¾ \90nf\ 5Ïq\81\vú\9d\9c|kä
\86\f*oY*qÕ\ 2\9e\1aþ\1eq½_X\88Ã\13
+\1fî!\19ÝMz9½\9a4»¦\1e½\e¤µn_é\86\88
+F)\19ø6\86\1dG©ù\9d0\17Ý\1cÝÛxÊ]»\ 5¨\88%D6\b¼y½ð[À&©ÑkBÐ\84ý<Xz\1d\ 3â       \92\88W=ñá§ù¿qDÈS¨i¸ß\8f媦ÇI\7fI½dǧÇ\ 3\ f¹¥øbñ\82Fê­=Ƭ/õÎ>!ó9m#élúõ\18\14\1e}N/î}ÔKu/¯ùøÕ8°SÏ®f{
+\10ã\97[1\80"gxH\8e\15\8bc´Á-\88G!Óåæ"\16,½m\83ï\90<ÿo\9c¸§à_È\85\9c¾j¬L,GK¸a\r\89±bÄÇb1¾ÿh«aBâ\\18=\957¤U\99e\1cÝÃ×à\85Ç\1c§¤\18l=1³\rr±êób\13á°!\93Câ©Õ\16\80u¾urÝ\86\1câ¾\19òMüøgúË\83á¿ÙÈ\9cZuIÂÜ\93¬\ 2Ånñ\96\9b\93\8d\12wKÿ\84Üz\14\9d¤â\14\98\8f\1a\9b\bð9\85i\b\a`;H?\94\ 1c?\®|Z=$\19a\80Çc®<\98\84,ûÅ\86pq¦\e\88Î^Ç@¬¾ùì\ 4Ïh¬fÖ\81\85\80ݲu[Ãx\96Í\16Ò¡cH\9f,DÖfÌ6òâh\95\8bÒ\1aãÿ\8aÄuI>ÉP§®9W \16\9e'\9d\86\80â2\13°ùQ"\92,縫²l :\84î\83PD_³(7KåÃ66\81b\95\1f}IÝ\aºF1é=\19n\f\82\8c\ e¯%\91jóÈ\vðw\ 5\8ax#\v¯\vÀ\98Zos\10)¿Ø\90\82Å\84í\98B à´\ 3B,!\8eh\18\88®\99\14°äÂu(¶m\15\84üþK    Ï
+ý´ñ?Ðeú§Ë.\8aXQ_±ä¿_$eól½\84\ 1Æ´M ^Ý\ 1ù(\a$°m¾øWÌ|EóU¸·_1uú.R\96ã¯Ñ|\1e¾Ò\fߣ\19üiP>uPêð¤s×\99\18\9b¢sAe\r\19Þl\82ÝMV¸º\9f\ f$jxýD(Y\88жHÙ*d\815\1aã=\1f\14°ò=%7Ï\82½Û¿øtJ®\r\8axíu­-\93ÌþK\8b7¨1\10       ê\93ìuöÔ¶Dhÿ\0+°À¿kÑ£ë\13òu
+ҨѣàÄ¥Sw\8b!xmlIïb»\18xÜÛY\ e,ø9¨JÃ\9bt&\19\1a|IF\92øÅW®Ô[B\83F\8e==ç²\ 43¶4÷\7f³¬´\17ý¡rgt½`X\98Øw\91.LáÃ\ràg\8c\ 6Úë\11Ö\ræ\ e·Dª\aR\80\00÷ç¶è\ 6g\17ûA\80û:âÁFÜeï»Yß\19\94\8bì:$QåØ8GøFRÌòM¥®¹8ùkÃÖ\12Òoº´H£Ä0oáË`öë-\1c÷}-\83}zD\8a\ 6é;ã\×"\1aÚ\\85LäJ9yo@\eNùR5\ 5fKh¨Ò\ f\86Z=÷ØV\96\v0Ì4@³\11±Ä1\1c!H̬\ fôÙÔªÉ\ 3#lvÄ¥¨T_N\16\87ièQ\9d®\8f{ìXàøf\10Ë
+$ï\1a\87êzë\93\98ä\11\9búb3 èkÜ5c\16³¹]      \14\1e°\1aú\e rÇA\fö¦<\9dþ\1aå\aøôj¼\ed\9e®¨Ð\10¶ß;¾IÉ4\95\16ÔãDh×'\97¶åG£G^\9e\95q\0\9b\835QËt×äO\ fP\ f3\1c\ f\8d­%K9Ø\16xX2¦\fÅæuFÍ9\81ë\98\80\bÛ\87Aøt}|¬j0\1cÐÅ7}µ%½\99]\99\92á\13\9f\8cD\8c\v'ßê\8d\8bÜÊ]-¹ì_\11\97µ\7féØN,³\9dª  \83
+]Ë\ 4çéí¦
+\82n#îS«0U\80ß\8dư᷼ùª³\ 1=µæ\ 6\165æ=0%ø\16?\84\ 4d\1a  ?H\ f\97\80\87±Ô\1a\8b9\83gXý\9c\ 4n!Ù\fÁ\91õû±\ eRPv\15Ò´\8eQX½\ 30U&S\ 5C0DS\ 5Ú¸\93\ 3ö\9d¬£ÆÛ´< \ 6D¡3\b\97¶å*\8ajÈúmë4i\93hS3\83\86k\83Vý3\810AE\8b\f\ 5+r\ 3\142IU¡I§\82\18T\ f÷<Kv\ 5\98\10¡p×¶\9a\0\v\8añ®-O\9f× \85\8a\1c[\PEY\ 2p(ÌH¸¡ñÚã\12Ȳ-aÿÑ\18\99ZR\81p§¡\9a\13!òºuMÀfê\ag\ ea\98\b£ØS\fà\14ð1Ã\89¥tç\ eÜ8Ò\ 6fø^¤á&\95-\8d\9cÂ䣸\ e?oü&\17&Jarf\1cÂæÌÍ       6¬Â\98JmhÕ\vRg'qØh¥üµÃá:À»\93\85\fÙ\95f\17iV\98]t3\v½«\a!\89E\ 2\9f\16¿H¬Âí(\84\8eq#§ê³\v«\81»H\9f;Jvè\890W¤J\16j\9fhåU\81ï"J\95f\18\b\8fwËJ{\98\9b¾#(\85\12Séí\84§Ñ\ 5öq&öIÌè¯a-\11l\8b\1aè\ fª\10º\17ÎE£\8e\8b\17O\12^\94\91cl9ïX\9fÂz\ 5\9eÊ$À?ʤΰ\9bÇþ¶ºÛ\ e»\94\95Ø"°Ô\90®\9d\18k|:%E\1c5\9eL6:ÿ\13K\1cúe\11Á\84\94\1cG K\98º>\9e,¿½\8a2è´K½ª;!¢¾·\98\8b½ýAdÄÕ\97Ö5
+\0ÒìÈ\12\15Öhª®\8a25b¶Øß:u\9eMa-;7o0Ký`a\ 1Û\16g9\9fãì¥Ö"³¬ï¨*V¿éqÇpÐ,\ 2°\980IO\fc«h\ 5<\bÓ\84ÁṈ&Èø\89\1f\12\81â×,û\9b0]°¥\8b0]&.ÝÕ«ãâ\1cÁv2Ñ\90\11\9dª\8e\15¿£\«\7f
+ªqC\973[Û;®+ÏÝ\98\ 2\1aDw]£\ 4òÜþÆs¦þ\rGûÖì8\11y °¿ùH\9dº\0\18suoN\83ãtd\fÀ¡RÏ\12öM`\18ÛÌ!'\ eñ;úIH\8e¨\ eb
+ i\80]K\93\12ˤ5ýç®à#¡#'eèLÁ\93!àFDæ\17¶×ZÏû]\13OEkîîâ\9e·D4õQ\80õ\9cÙ«î
+b<\ 5ë'°·1Â\\a2[ç\11:6n.[P°0uÐ@pñù!@$÷\9c¡\84\82\8a\94´àcò;\82\7fÙ¢\18¸¾¾\8e\14'+÷n\82\8aZá¶ñ\ fè\fí¦\1d\b\81\13Æ\7f\14:%\95ÃIi\ eäz_Cai+ÑÉ2Õ\1f2í3<"Ô@T\8bl\876ßí\13ô)\8cÆ·u߯\11\9cö\8aÚ\11\98I       Íè¹°\8cåô\ØF}m·)\9a4w\14ïZ.l$î>\85XIÙRX\13\98ÛxIË\85±Xõ\ryp\93\86ª\9a\8ems\80\11#;\ 5l\80c\94E\7fþ7tý³5ýZ_÷3]ëCÍf¾>\83\9aÍ{}\a5\9aéô\1cÖkÌè9¬×÷ô
+³^\9e\97éf¿Á *\9fýûäf±Ð\99<Vkøk¾\86käçÀ0Ç\11èg2¥d\ 4{\80U30\83þ bò°ÕÉ`\87Þ¿^­¬³\7f¿\1c ¼¬¢\14\17\95-\132\f¼R`Gr\f\rØiõ\80Gu1'\ 3\19\ 6é!÷&\ f@Oú\8ei\ 2wP\97ñ;HÔ\0Ã\92\1e\1cs©ê\8b°é:\%\1aÿf\ 2\943nêû0\81\89èäçÀ8£=~`ÚA\1eÉtk\14Ê\17hDèF\0Üzu¥\8aèϱÅ\ 6F±?½µy}yrÊJ\15q\12W=«w×\92è\ 2Uë¥q\ 3\11Ç\e\vE¸½ \8cJ×   k\r\18Ã\1aª°\ f\9ea\15\9e±\10}[qP\9fðÖ1tçÖ8]FÆ\18\95\ 1ã£!\ 3(wÞHUÑ»\90µÕfUÕð't¯Ç\1e\rRz\85¹\17æÔ\f\8e\1a:¾Dï\ 3¹îÕëæ\95ø÷£ñ\ e´lG\18²¯ë\8f*ÿ\1eu\ f\18û\9f\ 1\8cfÕ|²÷ÒFëJ¢T$¸\8a¥\11\9a\1e<5¤\95<èµ­:àPX\15S\8c\12¿\1e¾Ý^K:\84é t\980ïeUìÛs\15±¥\8b«\ 2ö?%\10¬\87}Ò Öy¿Æ\eI\13OM¯_Ý/Ì\e_Äh8pÊ8PQl\19\88\14ÂÞ\83ÅD\90\113c;sÙ´p\94ã 2|ÆÔª·n²µÁ5\ 1â1\9a\v\12-"}>x\ 6G\ 2\9e\ 184ÉǹKv/6\ 2,*\ 6\8aôôîPÍ|\14ɳr\96¤\1e·"D\z1\17\8b\94"Gªê\89¡"W¾\8c\<§\v¯ÎÐÝÈ\ 3\ f;=õÌÔÆTa\90E-J+þ'Kë\0\87±2[D(;ÈD\ 1ÜyÁ´\92Ì\ e\99«¥Æ\ 4\98Þ:\11¹Ý\15&V²¾\ 6\96$ËJNZ`5é:d0\9c«xf0Å£\84ªÄÊ\16\84\ 2¦\9c¡I¾KJ£\ 3;mÈ\9aE\f\bªÄ«\ 5\80T½ä\v\ 4\18ã\98\ 4´ Â=C\843\3Ù\94*0\93\94µdÂ\1ap"Ì\9cÐ\91\1f\98\ 1\9b@=à\18D\18i?(Ì\13|E-Z+öÎ\97ðÂ\8f\83%Æ9fý\fGrev5\ 4ß\94"IÁ~^\8f\80\92¸Ö>DDËñ ¨nÁ\7f\96\aÇ\ 32\9d\13(\85\15\98¸C1µXù*\99T\98êkx(ðkO,ö\93\1fÑ|TZíS:¢ôêc"èÝ*,µûsxú\ 1w®¨½\86²óh$ï×6\8amu\834\f²oÄâ+\e\10\85\ 1£4º,p\19\fo%7\8b¤¯1Ö\94?>kKÐ5±¡´\87¤Ù\12²®´A\9ae©ã\83`TôB_ݰÇ\89¿a[Q+¬5ØÞ\12îéÉ\9a¢Ëî»\92ãÁ\10ÎêA3E<¶ô$\8d\8d\ 5+ÞáÌ\96\99ë@þI©ü"py\a×±rÛLûOa4\v\ eÎ[\12E¨Éo\9eûá\8e5ùøÈ\84ö3,\a\85w\v¯¡£.l+@&\9bËï!U_ú\15UùS1\ 3\10T[¥\95\10é\\1e²\1a¥DTØ\ 3\1d±ø./\83ÛØ\7f.J*\94\ 2\1fÁÎ\9d6üV~VN¡ÞÉ\9fÌ?L®Âl\7f\1eôÏå\1d\1d\8d\aR\ 5\9eG\99¸A`ShXv\81y\87Ê®z½Å\rü>ÊyÁé¥\11¸=¸\8fÜS#t½Lª,¬¸Åy¿Ê¢ÒË\90ÿµc\83ŵé^©ãº\7f^\87ॢ\§>w±\130h±"Mg\89\93ÆÀ\ 3ÚwB\1aªLO,Õ\10\98\86\88.ÙYè\82ï\13_h\ 1.ÖÃ\ 6ýûR'\1eg\15Á\85l\86þ,Õ'\8ca7Ò\11\13;¾f\9c   ¦\9eDJ{,\ 1=\7f°±X$\1cÞË\ 1õ«b°SÖ\11\98èðã5ɦKÂdê·\88\13ya\8b\0º«\e\16zá{°±g\96\9bìß\f¦\8fN\85\ 6\820ú<·--   ØÍ\8b     gò[x­\10Ë\vÀ@Å}î\83]\17\19\8d°ç\ 6ÝPj\90 \0szi¯\85\96öò\9fXN\ 4ñnðü2}Ôä\83\f\93\86ÄbP \1cø;+ ¾\89\1eW\ 6í\19\ 2/\9bÜ\fGd­\8b£ì1È=màZ\1dö5\9eÁX\8b±\17\85å¥\8að¹ý\18h\1fä\8dfs\ 4\8\1c,N\ 6\ eåè\1d%DX\19\92¨Bò\1fç½\12aEéßFRK»k2ñ¶æ+|\ e¾\15\9bA!$\¹]\86gk\14ô%2&\87c\12Yê§\94ê\0Á\ f
+#ÿz\1a? æôMþHû¤´â.°\ 3Fê@ßÚt@\9aµ%9Ç)Û1}ÖrP&1±U\147\ 1\8eº \9bI¾ò%\14Q/§\14@n\0ßqê\9a#\14¯\88\88¤JÕò\1d¶È¨ß½\ 182N\13¶ÍÔû\ 3|"\93xsÅ:\94(\a\16g\ 148Ç`¿®¸¼©\91h=Mª³ú×\9b\ 5gsù\89fïnf\9d\ 6>lÓpE@³¥Þ0OËb ÿL\89q\8ddb\1e\90÷JÜ}Õ\aòM\1cßå\87Aܪ\ e\1c\89a ê}\90\86«, ^þ~\84\82³ý+B`ë×E Nx:b @v|RíÀ)B÷R
+Ù'\ 2¼³!ñ\82\13\96µ#m³\8c#©Ý¼ìï\1au\ f:\98u¼Û<@:J>{oÑ=ÅOq\98½½\95\ 3\0iú+`néãÐ2\a\98\1e\0h\83"\904oC6Ä¡ÅÍ´\87\r\18ðÖ@\8e«8V\94Y\9f×òö\ 1p\9f\8cEùà\8b_xL\87r<ó2$N»îÉc\ e}\ 13\84ï\v.1Á\19~\ 5á[(<]½\99)8\1cÉ`<\8a\85µÒÓ\10µò\13\1dÇð\fûüËÛï½³½¾ë.ä=\aî¿ô½¾ò÷uojzk¯Ë{}ä\96êr×_\96öût·S/uù/o¿ü^´zÈßûÞ´~4l[Ö\8f¸»\7fÚõ£½Æÿ\8dëFA¶\ fù\80 ó_\fÿ¦ëk|3å\846\96±ûä9Ë@_\84Y_\f﮿ú¾\19õÀh\ 4\95o\86|´g6øgñÐVøgÓ±³¾\19ÿS?¢øgI\9f÷ß\få{}ã\19ÿÎöû»³þûÛìt\93÷ý×·ß°\87Ò\ 1gè¤(\10Vö·þ\84\15½­ü\94?ÿ{[Û\92\81\83[n \98\8c\ 55\f¸|&Çá§B\7f¸\ep\17c\14\84\91\90\ 4É(\88Ã\9dê\1eî\14Z²àFUà&Az\8bUsç\ 2F\1cÚW`® \80z\ 6K\90\09ÝÛÄ\97(\8b½D)ÒOØ3S«¿>\92"*ůÉoá\84þN\11\bg\91\ê$HO\80é\83\83è\ 6       `\ra\9eÒ\ 6·:DÔ-\1e\8f"Øb\a\95ÇQyv\0\10ø\9b\83^"bæ¡Ý5[\ 3ßö{\ 1¹Ò\13Ó\ 2\ 4¼\f:í\H2L\7f=ÍXà\9f¡Ø  äé_\ 20@R2\9f\1eþ^1÷ħ\8f.x2-éR\1eè\9cW\väBí÷hÒv\7f³33$\84       2
+@\88H\10\b\80¢\8cB#$\90.a2Cè\186\b\ 1
+Å \8b\11\11X\ 6bBª9&H³3\1cZ«jÞÖõ^õíZÛT\1a¢\0µ\99\ 5\84\18Â\0Õ \8aØ\8dã~\1cV\82,\0\10Ïÿ¿~ÿÿï¾É$\ 4\0--®ï{¼çyËËÍ»Íß\13|\ræó|\8dñ÷\9cß\e|\1dç7\9cßC;ão \ eú\11ï [O\ fv²Û-²6Ø\12` °\82Ùç\865xà\ 4oÎp÷?À\90\ fÄ\90l\10Û\ 1\vCP\11ü|z\ 4¯üflpr\8f\ 5]Êt\v\9b\92n@\13§÷¡s\8b\e*\19\9eä{þ\1a\r'£ëÆ"ÑBö¯\ 5\9bPãm\16\18\7f¬¸\19\11\b:¬öèºGI>A        Óÿù\95\v\91ÿê+\93æîÿÀ¨\9dÔ å\ 5\82\16ûÿسïÿ\8dõ/Ñ\15ƱzRÅ;ÿÙ\95_ã²3¬MÛÿ!\91\9d|«Ë|\87кa5%.¾\94»a%`Ý\95\11õ\1e}w@qé\16\88pw\ 3ê>~Ý\8a
+|¸¿û¯»±2Sqª°\9eÌF[¼òì
+ú^ Ëv(¯W!\10!\9f¥ÿc\vbùC2ÿÓ}5\8b\v´Ú.¾LG®¾hn\98]¦q\9a<XLÿy]pàÆ´\153»º¥Lí\ e\ fK¼/]xåÁÂú×Ùܦ$_ù0¥¿þ\7f\v£ñ1¿¶ü£\16\8c×Ý×H\e\ÅÁùüT\ 4\9bä $\7f\17má~¹õWÅ×ì­íuúbEuûåÿ\10\85ï\923ÓýN\rÿ\88\11\91Äa<ßUrÂy¾^/\9445ý,)¿\19\9aU÷®$«ÿ CÞ7õ¿0ºO+y]'1 ºO½ºi<¿#\17þô\ 6\e-ïÇ.\904¬ä;ÛÅwïLy¾L¥ù{\87äßÉwA"8ìîPÛ;æ8\9b;åÈoú_ãüQ¦|t.=sI\88â×?¨µÛÌs\0Zêù(\81op5Y\89Ý3hL1\83Ð\9ck\83ÿ\90Hþ:o\1em7\8e&\18i÷¿¹Âf\7fÌjSÿ\8dÿ\8fõ_óÿæÂö\7fè\98Ãç\9e\\9e»ªíå¼\1fz\83WÀ§¬½ê\zXúê\8f×\81Àì²\15X»´[\ß\86Í\0\0}©À\0}73ü\0\0öç\1a\15éOûç\9d\~÷®x÷ûº1õÜ\8cz\137ÿ¥§÷ü]«¾¯¤þûæ7û2Þ\9e7_u\7f{Ý*óÝÕþ\ fÛ~\fOçöïY\14¿.³ë0ï*ûì/¿Ý÷ýG¯\84ó±Þ]ó6ø\92\81ñy9\1däf/áÚ¶ûx\1c\ f\8eÓ¸wèhd{\8b\1f;\1fæ÷½gQåøú</Ô«µ\7f÷¿×ÿø\0;ÿжmóøÊì«\1cÏ\ 3%[çïû,_æc²\97ÑwùzJ:vÿ\87§õ):_\ e\16\15k\r¾\ f%\ 2±·±\8eÿ\ eÏ­Ìô\8cü\98\1fÔ\0Nþ¿ß×ûúÿ\7fûøé!\ e
+\95\8fö\96n\95h7J§ÿH\85ÏB$%\8eà\ 4\ fºkmüWÉ\16×+Ý®ÞÎ÷|p\10?¬¯ÙVøÝ×ú\84ÿôºB[Mßæ\13ÿ÷_ù\ 1\aÁKùg\7fð\ 2\ få´\85§ôºOà\ 2\ f\83VìÁ\8b%õÑ|F,\9bÄ\ 1\aåY\10
+f\8fß)\agÁR=û\83AÏûä\80\83ýÑö\aâ\1f÷Ê      ÿîT¶}?\1e¡E@\11@\bA3R>\9aíÓ³ÞØ*\84!\14\1a\12©zR¦>\9c·\9cÛz´4\v\9bZ°,ÆÙ\86hie§ Òï\9cîyW*\ 2.â[;\99^êP\80EÛØ\12ÝF$\ 2.\v\1f+E\ f%y\0"å3È\80\17ÑÀ5P
+\b:*®H\b¶æ îB)gÎ<P\ 4\b\8aªá\80\8a÷w\8a\80\8aápÄúõ<\90\8fÈ2¦\fT\97\1c\ 5Àú¥2§\8bSq\95-íØ\1e\eð*\90¦\v¦Û÷J.\85ï\8eÃÔÛ´\8b1ÍPíßÓª"þ¡è\94\12ÙÜH%\92\7fc\ 4\84b\12ïÙù5@\9d\1ax5\1a\16\965ÌÙ\eçÒ\8aµ|\8fG\99PóN\8f\e\13\9e£¬ÑÂ\8c\8dÅJ\ 2\8c\8d\81FCöv\95'u\7fÄ   \1f       ÙÝE½f\8cm\9a\1f½\92w¡z&üæÍ\1d\96Ú\85ýëæ\b\87\80\rÎ\11\vÑ'ÔlÑǸwD\11íÛMû\8eµ+PÒü®A\16Û§\v\96   03      i=£ò\rÿÔ\9bÿ¦H/\§ìåªB\9d[¸nûn        üN;FlÓÏÝ5}ÀQ\ 4A  Åê\14¢ÐFçÚ¯ºZÅñ;PغGgbmô\ 1\81\82Æ?`\99÷F"ïÞT\8eè}\1a²ª\1aµ \ 4¢\ 1\16ï\97!¹"oÙ÷.ÑzNAÛ±S×ö.¬O¸sk1ÜU\16Ϧv\86\0À.\ eh#UL5\82Ð\99\9cv\83\ 4Gq\94;O,í\14'gÍ;Crl\82°Í\13 \86\9fÎY\ f¤wæí\94\ 1VÒF\ eÔ°m\85 E\r]Ã^E\ 2Ê\99´çÊê\91\b¯\7fLÞk&ÉΠ    'ðZÍçX:»·\9b¥\ 6Á\Má\9cÉ\a«>\ 3-\91 4L\9d{Öí\b\ 3¬í\91A)ìûcÕ\r\ e0y\ 1º\99ÓCo6\9b¬»y»WY6¦ø¸B~¦´óÛ\ 3u        +Üó\82Íà2õnl©§7 Pýç2\11NoÔ0ë²\10/Pi\84\9dQNWº÷âgcm\ 2\15Q\17Z`Éy0\81lÜãVÉpi\8d«rfÉiE:\91\1dPh:¡v6¨4«\ 4õ¯\1cÀÈÙ\82\88c ÑgÖ~~\95\1a\867½O\91¥X`;·3i\1crq²\ 6\ 2^'ü\86\83q2Lþ#\ 3©5)\ez1¸¨\93öð\87hBªó\8a\96\1aá\81      Ó\8dj\85=Ið!àÜ\eÒÁ?À|\b\eè\11#\90É÷øC\84ëì\10\13&\9d\15.r\82l-ë\ 1(ª¿0)\11ШîhXÅÞeéV}4ø\ 3\f­
+\16À\85>#|bÞNå¿p«\90\91\97û\13\1e\v*Uì<
+°¤8þÌI\94Ã\ 1ãÚ6\13
+p¥xðJãÁ\aWl8ÐFòÙÐ\80\8e¶øÜ\88\r(@G_j¥N]½\85\19Ê\8e©4\eF\v\1a4Zsð\1f?2O\8f  \9e´¡i$\93Þì\9cÆÏh\980r]\19\1a\86qª]\90\eÁ#@;\89&
\0\91`Í5\97Ñ^\r\8b\97F\10\8b»Â3ÈUäØ(¤&\84Ï\1cµ\99`LH*ï|[J\90ç#\aû\94þ\19C\9b\8b¦
+Èu?bPõx\ 4Hu=l¢*Ч\90êzyEʲ²0$:\9f\87(Lǰ\91\179Y0'9ô\9dJ\11\82\88ÛÜ\96\10þÕ\8dWfu\1e\ 5\89$R\91àH°\ 5øÃ·M\92É?C\9a+åû¬[\87\97ä[SS\8bæÖÔ-ü²²ÛOã\96VZÉÚË+-\14ýyb¥\1f
+%N+rJ\82\1a\f!J³|\1d!Cüc\80\9b¡Ò¦³­ÈI£ãÉâzã\80\ 2ÇT\98x\11Öµ\a\0\ 5Á´Û\ 4\15MyÝiæ¬7!\\92ÓG&p²¢f\157\95f`>Ù\83M»bV©\8d\14c\84o¸6XW¿r\1a\16e±`³9\8f\80mÙgö c1ípq\90ǰ2\84î$\8e\8b©àÍÕdü^d\90]å©ò{³©\10\1d\11ÙÒ\15rÖ ûS\97¨ìê\8dh>B\86\1cW0YÎ\95\ 2\ 4é«2¨\11&Jó\ 4p\ 5\9bl¹iS\9e\9fØ\9f½Î­*@\ 1¬\93´çQ*\14[æ^\8f:¥d\9cê%\8bø¹Õ\19^*w$\82\8b:µîe\ fÐ\9c\f
+áðÈ«ëøE\\ 6\19.y8%¤¹÷ðKIsí`\96\92ãÌ\12Ò\ì\8dôÕÅ\9f\eÙÛ\1dÊ\1cg\ 5\9f×vîH/\ 1£\97(F`\97Á\1dæï\9f{I@­
+Qv*Ø-C\818|Uº`\ 18ÓÍ\8dôeå\88\bâ]qÙð+³\ e\ 2 C \9b<`Zª§STªq&\ fzÒcÉ\90\f\83ø\85\80Ú!C·&\9a\8d°\8a5àкPO8f>á~¶\82ª\9bfÀÖ\886Á­¼N²ÐöGRDâs(2¬æÕjp,a©Ðh\8a\90\ 5\8cË\15 äÖª\101|âÝ6i\9a`GÚ\99\872\r¶0\80ü÷L¶wÀe¢ñ¡I%×|qa¡a\84\97I\8amë|.{L{^å«ï
+ZÄêrï¡n)æÚsÿ\1aVì[í\8bë\14â­\94\85\83>{F\17=\1dâf;\9bÑ\855\11èX\88ÓN%\92\82\9bWt²Ý´ê÷1\80\1a\bP\9eN\15Èhú
+®½r- \16ÏX6<ª(\ 5SNñ\94:1­Ò\80G:,ÙM\17K³û-ߨ¾²+_9ÑîÄárYÓO>;ÞÑ\ 5ÕKßvA·mi¶ò\15]\8a\88m\98\84Xí kø1Öæ`w
+þÌ\1a$ð£2äI\ 5±\r\88p\ 4×ùý\8bý\8c<³POj7º$4tþb\99³Ík\ 3c襤\85\96cbòÌ\1d\9cjíEÎØ'e¢\98ª   ä\8fI¢=ù\ 3\80è;ms`31këc¾C}fc¿[¡s\95ÃÆ`êOf;\80WÅsî%#ä"$¤Ò\r5\ 1Ø\ 2ÓÏ\13\12\1a\97ü5x5´Qú¬Ú²m'F\4\9e/«I\1dVr\10µ\ 3øc¥;D>\17ºë\86@êBE\96\ 3\ 3\96-âc¬ãeº·|öú6¬åH]üï»É!l\92ýèîwâ\89²\ 3õ\82Q\12¡Ç\83\9f\eÑ£|}\174Þ¦÷΢í\8d%÷noGÙX]üÎáÅ´íó¿@©\98\9bW|,\ 6\8eü|fâ\8bè·3í¤\94¬þ\81ÌðP\rÌ\0fd¥N\ 2¾Ò\9eàåÞ\10£\10ôKIÉJä'c3\15¡ê\1aj\ fº\11kOF©\124Cb\91\18þ\92\9f\ eÔYfØ2L¼\ e\9c\1d \ fç¯\0\94\a\88J\ 3\9fw:´Æ\87±P      \80\85\81\fðëgÇU)C×j\97.Q\8fë ÓÇç\9aè´\9e\885a¥%4ĹE&\1a\9fL8y!£\bè\ 1\1fåTrÏ~-²\85®vÈYMÖT\90¸X\82\9f²1JV®Lî\9d"\16³3¡ÖC\82ÑÕ{º\19Ì
+\8e;îkÔ\131\ 1¢oç\17ñ,\93Ë)\97É\1aR\95èlûè2
+Éö±\8b:Vmý\8a|ÿFv\90à8C\9fBr \e X¶Q¤Á\95\19Ëu9­\132\17\8bQ"4\87¾\13bH\13>&n»´Æ(êÎëAJ¿´\9f÷ea?]\93Þó\17Z\94Ò¯«P¦\94¥n¡\90àª\14ú\13K[iÔ¬\93;c\87ï\b2\v\8eû!\8eÚ­\8eõ®\9c¿^\95M~\98\94p\94\0\16Äÿ ¹×\8bõá¢\84\ 2Ã![Ú%¹°lt\b¾!,V¾&µh³Óh8a{\95¸\10\fí\v\14       R$\ 5
+L\í\927È¢`çdq/o\10\1f\80Lþ.[kGϰ9hGø3bh% Ü_B\88³"à¤þ:£@ryaØè     Í\10²)@û¢h¿f§£\1c\8b\9d\88k5î¿JÒ¯\e11>ÿ6R0¢*¸"\7fA\16ÄOz#:\ 5ÏWe³§P7Y\ f\ egS (Þ9TLßëÜ8\81\1dæ\92¨Q@ìH7[$\8c-@\17¦Ò·¾^¨ß\89?\8a×ù\80\a\15\8eȹ9Ô\8eÒ\10Ë\a\80×D\85åÈ\12¢\85ÿ¬t\9dì»\9eÂä4\96ÁËX\0Ñd\10s!\8eÏ\85bx\ 4íhõ
\9bëÁ   7>ìg`\ 4\86\85ÎaÞ°Ci\0cÌfR2Áà\9d"ðBDzu\9d_\83\97ÐaTQD7¯$\89JD|E\19\99\9cw:\1dø¦\9e\83½`\1d(\95À\18\3ü\82\ 6\13<;0
+|\ e˦
+°*\105`^\8d\ e²Û\91íEÙÁ¯       E©£´d\ 5iÑv\vlñ´>ô\80q{\0HE\0dÖTu\1e\7f\88\ 6\16x; /x]|@â`\94oFÈ\8b\18¹:+H\atéõÖ\ f\0¦¶/TQ\9fkÄ5\98ùD#Vø*vx\81gàq÷Ð\eî\ 2 ,\1e\9aoØ   ¨\88\ 2\80e¦P\rg\1dùâO6
+wzÁ\ 19\1aU\91B4ü»BQ\7f´ï\19¡\97ï:\93ül)P<\83\86Õ\ f\ 2\8cîAPÑ"£$FxÈG`­°´¶
+Ïö\1d\0½S\88\18ÂÏ\1aLã"\87\9f8\10<\7f\1cã½g4HÑpð\9a^5\1d\1e@t/ë\104o`ç\12\83\ 2îóL« #Ùísê\81\8d¾Ç^§\94h7\e
+I@ç\97Yq\89815Ñ\0p~ cìw\93\9eU¢O\94Ã\9c,ÕÝâÀHκ\14zO3\9bÓnPvJª\8eE5Cy\10Ð8­¨ÍYÖ©@ªL\8f\89ªOÉÒÐb¤äÂ\88\89´«\13æ³\ 3Π  ì\a\9aBu÷n\1d\ 4-¦Z³iY¶\15\0\8b¾\97Ý\93JË!q\0\ eøwCX'4}Tyãò\83h\9f\9bz'R¶ôx#\9b¹Í;¸¤­ª\ 4ó\1aÈ`ç×\9d³\9bÙáÀ\81\9d\r\12\ 3\95 õ\95\97
+-(\1dÐñ{æºqß\91:NMÂ\rE1)ÈMæ\1a\86}k:,¦¨\ 5\ 6\88g\87x3\0\9dµMªá@x<\9b\0\80\v/c\15\80Ó\9dPàºòR\83\86#;\806\8a\bÔY\ 3éá1÷\b\9f\8dMA\93        \92ß\11¨1êj\v{5Ü(±©7\88Pk´\10p­+¾Ò\85\8eÐí\11g\8d\16\88³\ 5¬ï¥Fµb)\aZ¨Ñ­Grá\10\93>\9c'        ]j\rf\rM4\90\7fÏ[NiÎ\98­p\ 5ľ¡ê"#o_\14\13\0öîm{©1'IàQ£A\92ª\18ë\7fE\14@(\90Ü\80\85UUá\ 4ÇîÝp\99}\80OÞ.ø¹2èAÎo(f¤\80Ö\88¶    ÏpIÏ\9c\95\9bgVJz
+U\rþ\14>6ú,òå\19°\91µ!¡\1e\95\82Ç×pÓT
\ f:u='Ï\1eæ\8f\0\95\82£\97è ;\86¹\8d>s­ìN\vEQÆ\17\97Lüý<\12R`æyâ9Sýb¦\96\83ÚÎòÀ² ´ã6=jå\1a\ 1\06\ f!u¥ü\7fac@çF\93Ú\93©\ 4G\8bÖ\94ÿÉLð:ïÛ\97\88\eã®ÒF§U¼\87\ fpN\86Ç,\94\85$\rI?­<\8f\8fÏ\8eDN¦\b\1d5dý<ʸ\ 1ï®ü¹\95FÚÁ\1e9Ùôýhð´\81#\95ëIÖ¨w\94¦«C\8b\11;:\ e²¹×¾\ 1K\83:!Tðà\16ÀõÇâïöë¿j\12\17ÀÓ¦¼æ\89Úþ\13ô\9a\ 4\98J\ 6°d\1d\a?\12÷c·ns2s\fxL\95ãò\8e¬\85\80í\ 2Ë\ fÞz«x}'áÒzlÕ\96\a<bÑ\1f¤\8dÞ¨\r¸C\17R®õ[q¯Pß\1dê\85b¼ÝG¿©\ejGðÉ.d\16"\ 5H_#áÞTê4\9cÍ^L®ª¿BüVît²¹ê\aO\16\8aíþx\8a\87ÐCF\9c\ 3]¶ASåúÆ\98·Ê\12S\9c±\ 2\83?T6}\1c\a´B~!Gy\8fÄ\12÷m4?£h$\99ô\12/$þí\vÐ\88×Ap\ 3\8eþçT\808ï¿ê\80\98ñæxaå{U\8c@::aú\98À¨;n\ 1\9ahp#°}Xª±x©îl\82ö\ 1\\95­¤C1Ë´¹s\82w#[ų\87\96\ fM\87i\9c;\97\94\10crZ¾§\8f\15"Hs-Jú\8a<o»ð\83Î\bæi\9d\e\18`;ü[áÁ ¦3ð\eÆ\r¢\eO\92ÎX¸{C\84?\15ë0r©½¸÷\ 3ü]%ö\89/\8d¾»\7f\85\9a        .f\91Öc´+ð
+ôHáVR\ 6pÿÔOL3<y\9d9ÛcÂ¥9êhðQ \89ù3j4ßx°\1eçFH¾nn\14>\17 ¼\18ÄvÙ<¹\b,],aÑ\85\ 2   Í"76\ eGà^æ-ãð?   ò\ 1õ`\8f«"ýd8h\94?s4ÿÂ\99:CÙÿN\f³\e\9c÷\0é\96\16·\81öu6·Ê#M=\ 1Öwã¬àÝ\89 \95ôZ5à\11\80\97\\93L~ô5OSÃR\9eë§3Ï\96©ía`\bÎßÙ\9cûzsaÜ #À    9D\8aÈ{~\ fÜçùÔµØ\15\ 4³>OâÕ¾u\eÁ\ e\rå\89ß\ 3]ÕÉ\1e§ñ;f¸\98i\82ë\83µÔ/«®s\14Õ÷ºÕ÷\bNF\19%\e\84[V\1eëWv\8c\ 1Ó\8eþU¾    \92\8eª>û\96øx°ÜM\90´¶øy\0t¸Î<J[ní.ºÛ\10nn,\13æs\1ca\13{¬RÀ\95öEÙ\929v\vZ\93\9bm^\1cäÏÑÎ\ eÁ\8bêg¹Eö\13ÌMÿf¾\85ý\ 2N tØ\84\9eÏa\ró\ 2\ 2y{\0\83ÂT¢\f\1có\8d\82"ØÑ!AÁúÜ\8b<\93Ùèª\17óà@c\r\12\9f\97¡y­Ä\0\b.
\9d¸\87\e1E\14?\1ex~=Hy)\8f\18\8b\8d\18~Fd\ 1Ñ\84b¡h°«\99¤99\99#è²A¢ÆÔ\90Õ\93Bt\86\82/\857éK\9fÁ/i\96P w«$|\b\r\9c}þ¥\15\9aÓÙU¬_XOb4\96\13Ý\ 2å[Å+%ÅCe\e¦°Y\9c£"\b\12\1dc\r\ 5Û?KÁÕ\b\ f\9a|áþÍ×L%à\11æ\92Isª\ 6\9a\8c\9f\ 4\1d<"\ 3l<Ñ\10\10\8d\e\9a\95uÌ[6\87\14\18',Í\90@7\9a\a6Ï5\89\87\0Ö°
+\fÙ²\86\93~ùÏá\10¿ï\15]s}7\9eþ\1c/\ 2ö\ 6\9eI)®\89\81µÉÎP\v\80H¨Ó+?ìÍܺ0Ï7J± ·ÒD\ 5\83\1e\13\11À\18:E|ìÙå\ 5ìÃ\90Q\99Õò\9e\1el\91\1e[\98/\18xÃ}\92vâo\16Ùkã\0\8b\9e<¤§ßZ\8b¥qDÉoÒ\85ÐSº
+\b\8c     à,Þ\9dø©§U\99´MNß rTz½#\1cF\95õ¼µ&\95É\80KNîÔî\90\8dÝ`[ËuI?ìã   \1e:\99ût¡è\ 4s-\9b\94\0F1Ô\85ãÃ\9c.Ï` g'ï$²E\88ÙbV£¡\10\146àoBH$\93ý\ 2hÝ%\1eÒ\96ÅdÔ\89P\97Kzò        éBÓ^\8c·I_#\9a\85ö¨¹,ÈÐíî3DÎ\ 5ºEZe=åu\11\ 4£Õ\ 2@âóÏs\87\a¬B³é\1c*n7\a²\91\ 4\ao\aC\fÎ^¬I¯Á³\96:\18GQ\93­2ø[ÀQG[\10·o¤VS\81Àt.Ø\ 6Öù¢\1d-/T3\97\8aç>Ú\8e Íy½\90ÑG\85^yíâ¹'²>.j!\ 3\93\97w\8cð3Ea\82º\8d\ 2¨w²\17HóÛ\13<nëÎ\86Få«\924\8aõ|lº\7fÝÕðÒµúåTê\83Ýé\94Vtà\96×¥Ô\12±Gôñ6;\12;PFЧ\15³\17[e\97U÷Â{ Ï\16_nfÔ¾ØRûXü+\0Íé'\99=\96yv°gªê>\91\ f=S~· \16p\97   Â£Ø'ðt\84mu\1fÝábEÏYsY\89}\1f>êöàÜL\9c`ñòàR»\e5K\a^
+º      ")/±õã\13ôúBtt(4}Ë_ÉJù»¦GÅ\85ímºJ\aÙ\92\v¶Ý¢P3;Р       \9aâ\9fÐ7{<Ý9£ª\90À:\14,þ<{ÿH<£ö|¡­H
+9|çªæ\91Ä\0S\99Åа\ e\1f¤       _\ 6ã\a³s\19\92Ãú¹\b\19XÕâØ\8c&!^¾\17;°{n\1fÐ˸Áú ssÛKÐáÀÁ|°^,¬½É¤
+b\1f\1e\93ö¸d§\eK\80xrÚ\\92\vÌTn\1c3_bóHÝ{¨´ê\82º¹Õ\7f×<%5\93KDÈsØÁ¸\99úà¶Åñ\9dv\9fïj¨×\1eì·\16tgõÿ]F\8cTäT    Xçi\ 6Þ\16£.KÄkwr2FÛÐ\99\vv4ùÍ\ eqÃÜæ\19'½rI=ÑK½\9eʵ­ìÚØOQ.N\ 3\88\8cÝ×ä9(Í@¬\9fDJ5â\93\1c\81¸5ã°À§\9a\ fr2\ 4 ÉÀ¨\90m[¦ß\ fB¯JD*"\ eÝ\9bþå\80tÝVkÚw^q\15\90Ý+¡rË\9f\8eu)#\1f\15\15¢\bUÛv\9a\8a\18Ñ7\13\93Ñ\902àÚP\84áæ\ 5!\Ò\81\97À'@.ÁPȵ6)B\15Ý\aÞfû¹_\8d\1aïö\ eà\89\ 2§)\ 4\ 1ölÄÌ,
+\99d\99ò,ÿ`\7fA}¡Òe¬=\99=3Rf.\0t\ e¼Öݨ`ûææ6Êïr¡\7f²ù«tk?FÄÞ}\90ïµö\9a\18\1eÚÉ\9aÐåNϧgøâÙx\1c>*\80\v\1aä\8f²§Øæ £³\9d¸y\84§X4«\ 4\86³\9d;=ðùæA\8aî?A÷¤Þ\ 5\ 6\fÚm\ 59\ 1IoáHÃ(\13Ò\aÙ\bÀ_ôÉ\1a\vÍ\9a\v\8e\80âHB¤#s\13\83¸\12\18[*M\1eì´>Ó¨\83iÛÌ\90\1f\84åæ\8aaP®
+\87Ü\826*àÙLCÛ\9c\80e\10\89ëT\89áù\11=ÇÊ[Û¢\effTm\ 2etÑT³\81\rº?\16ÃìÑ6Ôà\84âÃ\9b1\9bK\83J_û0¼aV\8f]\98ë¤cx\18é>.A\83\9f\96\ 5@[-8l$ú\10sR1èØÀå²ó¦\ 1\ 1í6N\944@û\13·É\8dµ $\9d\vQ'@«\f4Ôd\ 2Ja&mYÆö:µ$ÛEÉ\92\ 5\14I 4Ôe\ f\88\9e\vàì
\ 4n\19T\aï·\92Ç\f\r¯B\96óýÛQtÁFåK\88\0\18ÜÜ\a\ 4<þáT>x§~î\81\82\16R)\92e+@\15¤û\ 6òÔìuÍå\9c\8a\8c\ 1ÕÛ\a¤ é\M*.¹FbÛLÈ\ eìÝ\92u×ÁJùY÷ÐNÓË\ 4zÚ¶Â\ 5²}ëSº\ fÕâ\r`¸´IÎáGÒâ+¡ø2ZÞ\f\92|ÒEÙ(\f¼·\åU!Wâ n\7fM\98\1e´\17þÐkJJZ\\90\93ÜÓ}tXpà\16\96ÃÜ\8e|\84@«ßì\8d¸³hC\10*×Éo\MdðÀå½\bÑäk­u\bí\ 2+\82\r\8fY\b\15\11 ]) T \r*\8bY\9c¡\17\89c\8b\ 2¼Ä\81Q\1e\ 4\ 2p-õÁ\ 3í\1c\8c\9bGu
+\97ãB±WHÑg\ 3I$\1cóG\9b\1a\ 2\87ÂXfËoÐB3["\13ï%²êØZ\16\89ù4\ 3¶êÿö»f¬å\9b?áÕ\8azÓ¿Ú\1cGu\ 1ëû\1d\r»Ú}È´H+u®j)\91\0\9e3|{$\ fb\9e{x\f\92x\ 4ö%Ó°n&fK`\f¡ÝÃ)G´'7[\8a¯;ãM\v\11²\bÒj\16f5ì\aªÃ×nB\19\bY\8f^þôçW×b\9c\86ð%&ÉÁÔ]K`´\17ÑV
+F\r\1f\88\ e¦'\84ÑO»~X~\8a.\a:6Õ¾Ar½È5\17O\1eÔH\ 5ÖÜ\b\8a\ 2\ 5\9f\1c\rN ~Å­\b¶npÓ\96m+3,\v\92u\1c\f±¸\87Ïâ\89'>\94à\1f\ 2\7f£\84C«É9§©ý\99¶%έ\ 1.\15Ç\ 3üò)\1e\14áy(\85Q着^O\ 6*8\9c\18\84\0\1fºÍx%£JfQÌ
+BFü_¥4/\b%«ºÍ\10ç\9d\9bv*¶8`-ã\1dN4íú\81´u\1f\ f1.ÛY\ f\82n$£~õ\87Ôm\7fG\8b¸\9a   }þZ     \7fþZ     y-\ 4á\0;#\81¤\96¢\84д\1cJQÝÚ\90¯Á\9a+\88¢2¼d\ 4\88+WÝ\8b\8c«(ÞO\1a\94aßÏ7\bQ°¢\82zý0»DÌÜ\86CZ¢r\17£ýý\v´\7fåÈpü\84¿s+\98Í:/»DÁ
\1eù\89\18Ò¹Ý#J°LÔò\vE§_\13M¦ßO1m6\ 5¾-þS\b$Lö4\99\97¿{\1a]\8d \86<mÇÓ\1dØüâ\ 2±n       \aÒZV{ÄææH©WYçÓÌçb\80\87\94\1f!Ø.áä5'Ñ\86#\ 6r(\18~Ma\92<S¼ãÅ\a\82NìG4k8YÐÎ\r]u¥\9c9ãÆÜæ~\98¸Òñµ\9f1ÜÑÛ\v\10\89D?\9cúaãL\18~x}8p3Ô\vzjµ¸\87ÌM³ªË.#\YOÀñNñü2O1\9bÚ"lv\93ÍP¨\14c¦i´\95åYÈjî¿u\89×\91É\11pÿá\ 4\8dþ\81ý²âÎ\18hÀe&Oê ¯\85§uå\92\ 6&\13\80G±Ì¼Þ³s\88\ 6ú!\8d=ðþ\ 16 ­>À
+T?Ø\ f\9b#ÎÝ\9f`¢6(ñ \8ak÷s»CPÂsÜx(ï\ 6\9bv[\8c ãÀÇv\18íØÈ²\16\v\8f\ 3\1ao\8dü`cÆ{#º\ 59IkÂ\ 5g\8b\95\1cSJ «ÈUëÝEØváÅñ\7f/oKzïÎ\ 2¡\8b»zªG̸Nb÷!«±È¨\97h¹}¾\88\94W    9óg\9bnà!2®£ÅÎå¢Ò\10¼B\98f\ 3\86?u5ñL4\83\9bù% ha\97n\89Y»¨\85"j}d÷;\9br¸"
+\8b £¸\16y&Mþr;ðdW\6a\97¨J\ 6zH|ÝÙ!"ù\102\9b×Õ¡Ï@Y×~½ÍíÞø\122\ 5ÔXº«N\176\9e|\a^{ø\91~ k(\9fy\r
+\94\9a$.ÖÑ:]Ú\8eÉÄò¿\88âN\8d¥¤þ¤¸%\15ñ\1fò\95\13T\19î7\8aÙ\8bB2IJ\81áf\1dï\9f\1dÔ1^\a1\91,$,q¾k\9dN¤ò Ü\bJÙ«6!®\12\178o\9cP:,â\8b  
+P1Í]^Ñ\8e£ÂB\8d\1cq¹çÑa\12y]\88}\18ï}¤uýÀ\91\9aÔ3\90\ÇÐáà\9b÷BÒ\82
+OA#[±åß\80\a\ e\9ar¸Øjáu\0hq2\15K        \a39פÒ\82¼\88»P\80%-\92\aph\1a%­7ìÑ-i\ f\88\ 3\f]xbëèA1\7f\ 2.Ù#\8a_á±#o*I^\97»\82ÉöA-¹Åuçþ\81Å\8cDÜ@©/MFè\19?2ôâÃx¤\92Í^m\81Ý\10<4T\96eé§Ø\bN\97bp\9d\9cé&}.\9f¥À:¡\9a«ë§iYë/<ô\e\b\0îЪ!\ 36\ f\1e"x\v\12\0&Z\12L¢):¿¹s\ 6e\12\fÕIûv70hq É)Á\r+\9838\90j%8ÌàDtQpN_Vj\92\15à\82]J\8aý\19ÄÁpá\81ö¸HS\v@1>uuÎOêÙE8P\ 1c0I0\86y\1c\8cJ\9bX\15\e\9f¾Q\ 6\87ª\92Ù§kñ\1e\17\80ÈÄ8\r\81ãOÐ-\v\ 4·|OÍD/w\90Wݸ^íyõ¡cuâÖ¢\17®ÈD   ú\0º\94óKBÅ,Ω\11\vûÙ\ 5\8fq½¶\ 1lewç\ 1o\86B*H9<Ú\8d4ÜR\ 27ñºå$±X#³Z\e'J~Qne8y'Y¼V\fAqÐÛNABhò7åDbù¾"¶¤¾/\88¼t?«â/oo·ñ,çr;Aúl\95ÉW9\9fÇ=\f\17ÄG\92\96\9e \ 2î\81\89\9d±!³&å\14¬\8f\820B\8fà
+\99\ 1À<Asl@ɯ,>øØ ø\81tÉÌ
+\91\10Ðz·2dU\ 2\89#LÅ©¡Ã@OÌLñ\1cº\1fp,³\83L>Å·4Md\17\9cÁ\90EX5æW>ª p\8fÚ­o-\8c}U}CD\1aÍö\9d\9b\1a\8aåM4\1aãXö\994ÔoÐË!Ý\0µ~b\94¹ö6\81\97\ eÍì\91::Dz òáèØ«\15I£é/ðè¤\82\ 4.Þ4Ú%\ 1\9d\ùý\19û\ 3Ã&EYÇ\ f\ 3,ISà2òâ/\8cqq!çÅÁ¤\84\1d&\ 4~ÛÎ\81ëOe>öNX({@ßó
+Q)´@Ûr\8dç\19£Q\84\\81N\1e|q«/òê:%=ÃÔ¶\86à\a¦dÛN¼\ 1\1aoH\95î\93ÄǪ\82üm<ûà\0Õ:v\ 6\82\91\90â'k´\81|?4kN¼øq\92_m\7f
+{\ 5íHiB\88»/³ÈcÑ«\13ï¼)o\80nÏ¢§\1c\9bòÁÈÖu\81\9c\1c\80\82̽x4\12¼Üt©Ï\991ªfKédî\ 5\ 4M$Ë.\1cé\8dFt\0DWu(¦\91\14t43Û\94\r"¾\CS°\94#\82'@¢\ fQrú4Ü?Úé×\8b/6êÁÓ\a\8b\84º?lm«Ø9gBÓWðÝ­«Ù\17Æ6Ú¾UË*\17\9e«&ÖÕÌ\87âÀß\18ÁøÉ\8a       *EÐ\82¯2Å\rôOX\ 2\8fq¾î÷¦ý4Õíã4A\a\80ªn\v\99¹Ö\ eqfÀ\ 5\bÞn\v¨æÓ/Â\84rè!\14³¢!       k
+\84\95z7ĨIq¦ÅÉB\18\r z¹2O{è¬\ 2\8fê§^\14Zz\1c\1f«Bõø`!E\9a\0¹\82
+äüÈ\8c\88d\17rj+Õ»f\15»e%î\82ùKð\85Ý\8a\1d³\89h\8e\ 1\ 3ºR\v;\9a\19$)qvbr(\aþGEqLaôÖ¦0ú\1d
+\94\10\v.*a9¨Ó"q\ 6ÁIKÓæ´á°\0j\e%I;  ¨lð;ÈÄ&I\9d@\ 3I}\9eà\ eM6§
+\86ϳ\8d   <*\1a\19ÝL\9a\f\13\ 53Ó¥\80u9s
+\81ô!¡W\82ЩQìô²NÓ\82|-8aj\ 6¿\81d\9e«\82pCl¼vj\17?Leø\ 3½BF\9a\99\a¯°Ã\93\9bFü \15GÀ?±l\94çÎ\ eóæî\87`\97Èq\1dD\94XO2)6âFxZÍïÜÆ\89\1cþ\ 4jQß\8b¸¯~W^\90\8a\95`ª®VÍfì\1dv\8bx¢¦<Á¥¸Å\1dÎ\15ñ \85Å,ͤp¢\9a¾á6Ó²4Í5n×,])E¡\9fáÖ\ fÐ\85\aÛ¡>æµd¤\ 1æ\80\ 6@\8c?\92b(¼\92      ÑßOAë÷F÷cQ¦P    <ßÃ;\9b\96øöÞ\88¸J\8b\7fÂsy7ç\82æîoÏÐ\1eï+È\ fÕ·lWÆ\9480;VVÐZ\0>Ãú\13³
+~ð\1d\9d;\1f\9f\91'\9c\ e\10W\8evO6ëÜâÂ÷\1fÃ×\81UÑàpC\v\ 5å«\172 î+66\81K$à}\ e\80\83\ 3\ 3§è\Ý O^\ 1Ï+@\a:{   õسºK>+\91jpðø¹åÎ\93\93nP\12\95\1a÷À×ï\e½§\957ÿh\9f\17\ 1Ûv¼úP(.ÄÎW¯\81\9b\87¾müC-3~ÄÖîÖþ;þ4~ó\12[\80[\12\92\90µÄ\99\9b\17\80\fX\ f±]¨$\ e\ 4\10±MÜÞ°~®º¯\ 12uI\0Þl 6_   \\1añÁÃ\82\ 6óÍí^\0|Ûá«Ux\ 1Tq\19¯4pN£\e½óF\1eM ù¦»7­óp\ 1q\19PÁýLÜ1÷ÒÁ×\82»1\8bª\Q\ 2Õ\8a¹r\9b\10P Ç\86Ù"ÚUù\87ï \8eFU\11\aÿhãè°\98\1eë¹þ\82æLóp4õ\19\15-c\a^t\9f\89¦AÒ4Zj$%\9c\\ 3\9c\15#À>Ï\8d\9fl\1fØ6\9c¶s\15Â\83²MÖýå\89\ 2\99~½¨VðÁ_jæ\ 1_ÓènÌ¥\89 Y\15 Y\8b®çË\9bÍ\8aPë¡KDÑöQ4|[\ 1\9dê\8eÖy{C½d\9eÌK\eyC\85F¼¬ÎM\98\13ì\95ma\7fQÆe²yÕ¼\\89  d\fɸÉtQøÀ*â-å¯Ù'âY+M±:tÂó\8c\81Ï\801>\18©5q@\97C\99I\90Â`\0\ e\9f=Þ.åL.\ 5l*°¼\1f\1a\17Íðá`á\ 4Õá\8aÂ\92aØ"\1a¦\1f\ e\8c:¹o ãe¾\87\8d ó\97Z\91ÆB\17¡._|¥pS[gxÍ\9càtä¹-\e¿\16\8d\853~ û@ÏcKh\ 1²³\8dB\17\e\14>\13´S     \85âÂpüXOAÅ\84⸰\9e\8f\8b        ú¶\15\13Î\7fIÇi»ºO)S\Ùò\19ÜYù1\88\ f^\95¦^¶}µZ\99\81HTÌ
+¼aÙÀ\aĦ`
+[m-LÄ\95;3oHkh$£\15\91±T\8f¾x\96(\10+¥ZÖêd\8e*ØÊÖø<Ò\9f!sõPü\9ex\92\ 2\93·XÌî1\11\1dëwÈ\80X;Þ¯[-®`·Ò1O¥\83¾qo\9e\19o\9d#\ 5YÁ¾ÏÂ\9d\1a«\86Ñe_T\0¨OA{GÇ
+\8f\8a.Ç|ôé&0fÄ9\9d\9e\99÷ç\91\ 4=3\87\0i\8c\15Üò4\93\8e^VÅ«\10\e 4FëÝÔ1\ 6rW¼®Ä$õ{¹\9d#¨Q\e<»Y³s\16ÓÏJ>\99ìiÌ\13\83\0¿xi\9b=\8c
+_      þøC}îÇlí\99Û\ 3\86mθ\7f\1dèL\80\fǹ\90@\ 2\vC\18!»³Ô\82C½Ø\9av\99\1aYµÖôT\rUécÊ1\1erR´5<®J¬µ¡ÞA®\1fø¢ æâm±_\ex\1d¬[wÅåZÊËK·}°\9f}êP¿õ\8a·Úçt^2\8eÕóylhôQh\9e\13;9    \ 1\99µG\11Ù½Àî\7f\ e¾[zéò\81JôJÖÈÕWjO\91\rª'îÓBTé\9b#\84\15\r\19u\bkP$Á\91ÖÆÐ\10VëØm\9a7\86"\b\9c6\9dºD­«éCõ\ 2´\9cÓ·\17\98\84½ûÚ4¤\9fë¹rä\90\92\ 2\0\83&,\b#  \ 4$\96\83\7f\13ë\ f®\17\ 2
+¢¸âá\80£\14u@.Ð\14RãdIwñjï5\98ææc©\95\93k\1cÍÌÌE2\09\99²B\99\0\82\ 2*¢.\88+\9aÜb,\R\0       >þþþÿÿûë»\92á\11\a\14Ì{w+{»º»k««{ÅÕÕ]UÕÛæÏ\ax;Žáêï\17x:«½]ø\11¿\85\1aÓ\ 1­¶[m\91¶ú\13V\ 4¹ñö§\98`wõ\8eîü«Îõr\ah\ e\ 5.\88K\98\r\17÷  h?\bL¶Ý\rx\16Ú\1e÷fe.Gø-ÁYþ{
+@kÚB:Èý\89\r\8dÛ\80öó\ f\80káhJÅ\12e$´\ f\0¨z÷Ä,\92áNvÖ«\85Ù\8eî\92z.\1f\96\ 1\96{ú1 ¦Ã\8a\8e\86 \99o\ 6¡à\96\167ÿÌ\ 2\&SI       ¦\a\83!\ 5\95\805-\ e\ 5\90l~á&qb>(»~û.z\8cOp\ 67¸H~8 ÙrPs|\0v\10Ü \98\14]Ä/¿Á¹4\80\1e \12\84\10$
\ 4Îf®z\81k~c8üq%á\8dÕí2,\83\13ðï%ÞÔ\18©;¯&òò\98¢Úp\17\87\1a\8f\9aR\7f} ö\8a\83þIjÀ-]\8ag!~/pÒ`h\97iÒu÷\98I\7fË\14\90>;\1c_ÍÂ*õþÂÊÒ\98yÝI\1e\r\96òØ{\87\13Q=\ 2Çñéßh\9a\9dñõ\vé\80U7\90§¢åê\16ÐY¨\8emBê¡ê\16Ò\16Ðí¡\ 1´\1dB\93»jí!bv\1776o\82\16Ò°\869·ÞH<â\87vmÝ)1\88\17Tj\89+÷÷B¦q\149\eÇ\8c \86_\1e3¯/c¡aò5UÞL\874¯\\"mÞÇ\8d\0ÛÞH\11yvïwÅ\\ 4÷\9bÁ\9fäý\8dÙ\9aã1S\r¥5\ fÅ\97){TnoÄÕ&$+5Æ6uu/[iHðÍ=m\0\87Q$Ôî0 \98È5CL\17<\90\ 3\f\15Ø3MõÌ\86\8b6å·\e\vª\1e·ÌÓ\83ø§Ëا\95d\1cS\0\87\9fô)AFBÚ@\89\1d   \91\11\7fì`\rP×)ÒÌ\8bA21\ 2FFú¾t%;ñî\80d\19\ 5\80ÔòAÒe½·\8c\1e¬\10\82u}\99\90\98\84'\ 23xãÈ\0\1c\935\eó_\1c§Îï\82>J\¦£C@§c:(àØä6/yÍÂü`j5r\14\18ã4©G¡       x÷¢\ 4LÊz\17hDi~Û\ e|:\15¿\140ÆgÃ$\85`\9fÆ\81@ô®\9b\12L\e\11\  -\eò\a\9e+¿UîCoÐ\89\81\94\97\ eë"\11\ 3z\83"í}§8´¡G\a²"N?R\1a\15dåÿ7{5_\88K8ËÏ~JÛê
+кÞ\82æ\81^$\1déç½\13â]Gü\91\výÒ8J5lN¡?\9e\18%\8c\ eø
+\ 1 ¬gÂ\82H\81è7\81å\15\ 4;Ôxæsæ\98\90·'¿\fÒ\ 39LJ\ 5 ÐI\1etOX¶{Ì"Íüwe[\91gß,ú\ 6\81ÈUÄ<Á~\1fR~V\ eãú(ç\94ÇtO(¸hðÁ\7f\90\88\v9f\86\9e\ 1àns-ÌÔ\93í¼'>µÍÌ\ 3¢òþÜÅË\1c\9c\1eÜ4\ 5\1e£Òy~\1eQèWz@\95MLÆëÇÙRnÐï\ 5¨<\83@u«Ê?ÌXpZû1\1a\1a\14s­>ÜH\9a\bP\97\15!ß]¤\85¯Ú\92¢=\8b9\8fÀåá\89\96ð§×\10fúª\ f\90wìmeÜßâô\v\13\96M'AJ¢r\9fÈ\87m\bT\89 ëN-Ä/dz3Iô¬\9dåI\1a`Ê´07B|.\ 1\9d\ 1\8bd}Tó!wúÒáK­"ð\12bC\87i\vW^wqup@\v&|\94æ\93\16³PÉ*Vnigó\bËSdíñ\94Ðs­ä£çØÒ2\10&Î:\0BÓÍ\8b:z\85\88Ô\1f\r\9fçV=h\1c\82ðÖd-ÿ\156(úO(\bÜ\1f÷&ÿë\rÿ×Ð\15 }\99 .#ó÷\GâxÖ¾\98\f­ô\vj7¦:\ 4C\13\ 42Wg\86 <÷¸\ 3÷·ìî1\86vm\84¸\98LB·»ª×#¯\16\b_âwyݪtxOÀ®;ÛbCc\89jìa\92ËÕÔ¼\90\9d{=E{Îx\96\1c±¢m°\9auoÚ\1dß-Ä\83µw ­çØo\15\8aÍ~ó\fÊNï\9bZ`µÏ\1c\8f<øÒ\ 1CHB\14\91£ºj#==¤0­Qy·ßá¹\\11L\9b7E}\ eèTý­|\81\97Y\9b\7fá\8fø×0Ð\0\r
+çØ\12å\ 6ø»)¼\ 1i´ø\18Vq\r²ÙW«yÁ15É\95zÒ0"x\19P]V%çóðÓB?I@\r\8ew\84\16ºú;\994äýð£÷RS\95\ fßu1ÇU|\89\8eïvèÛp\91-\97j绬\9f\81Þ\7fPÃoÒF\ 2\9cÓ\8b¥\13\80\9aØ\ 3PÃ:&(W\fõM(.v\88%å§aìI&Ë\84­Ð{[Ïkc\a\e@!\9a\1c'"Í©\e1\95_t£Â­ÑúÎÆW\89f> 3³î4Tï{I\89\ eÁQ\ 29&ì\1dßÁ×tW\e\90%{\1dã^DW\8c\89\99°éJ3ÕÇ.\14\84!¥­«\8dFÑßt-«Ý<\ 2\12dÍNР)Ú_ÝsÓ\81"\8a\9cí·h©ä\9aI{NÑöÍ\88  £\84\87Ûê³?â\15ÃÑñX¢M\k\9cóÈU-4¤ôþZ¯(YÍ\7fmL¿K,pÌ£l!iÙ\99ݦÃ\8f~¯:åy)}Hgcç0:u<s\93A5s\92þ\86Óɽ\ 4\95:^4ïÌζȠ\938|\17`)\16\9e\7fö\ 6kÁÊÁ\8eCx\1e~çü"Ò17s\0êõÀ7x\94\9eiR\ 3¶¸\81\ 5\a©Z£\ 3ÍW\98£V\89@I¬ÅaQÿ6\eù7ºf¸\ 6I\18ò\88¡V  ÛUÜGû²âÒß\80\92Ö¾î$¥\1dÊ\aôª\15{¢h#À\ 5\1a\19àp{ìʹ\ 5Ó+dP®ö\92\ 6bä%=o\9d£ÑJ¡\94öÇú¬Ê¿\1d\8fç×Yq°\ 2Óá´    Í\rWdf¬`DU\90¥Úu¼-;\99ó\84QÕöÅ\9fû\bj\80\17Z;PåøxbX²Ð®\8a0åw\142Ùßá\97\9c\82÷wDÖxà\96-Ï©\rØ9b\94¶"Ôpò@bñJÐ\19t\8c\97F.\94öÛÐp\0\9b\87â\8e_\f\85 jþÒ\15\7f\8c«pÕw8\98ͬh¯Ä"8RÊ\9cÒ{ U0ð\8e\86jS04\ 37J\ 6ÿ\9f\14¼ø\884!¹5ï¬;½>a\121\89êI-ò|2\14x\854qÒ\81ß\ eúp5+ÏgÊ\90\92%[W\b¥\ 3R\eð\8fO[±®\98xÀG\13=pÞ\9a\ 1\95\7f\9a9K\ 1jëz¼!8%°;×\82G=A\9c1£H !Ýý±\v\9f¬ù\r:Ѻv[¹Á³µv¾)zÕ©5ôÁ8\15\93Y>\85w\ e\ eV\8asN\88\eCÏxÈÎÞ\8d%\9aj~»#3Yi\ 4\95À°Oÿ95wë\ 5\85Xoo\89\ 6\8bí\93E´¸xCÑã£\81(Ïm\89>¨­¶î n\15Ö õÙyB\ 11¸SÛ\88\1a\80\8a±eÐî\9c)䫽\86 tÙ\ 5j\8f\90;¨¸£ÁÎ;\99\10`É&P\92¤â\99ÅXì­í³F@
+ÁWrç\ 1ÔêÔ(\9c\19\90dÖ ­·\908¤9¼\ 6ã\10\ 1\89FzÃ:\bU\19\845ÎZ+º9Ð"ç8\ e\14\ 5I\95¯\ 4­Þ\82¾óy(ÏY\ 29\b&\87v\ 5Ê\9a\88¥¹\ f\0\8cV%9\1d\93\ 2>$ÛÝM\f\9fº\ 6%7¥\ fu_\15%8ð½,\195~\ 1]\ráà\10¬ \1d×Ä{\92{Àî`þ\88\8dÃA\1d\a¸\r®7\ 3G1\9942\95\89\7fÓy\8e\83dÆàA/\1d âé@\82[IÕ\91ääüÅÕ÷áx\8bO\95\f§x ¯\16$Î3\8fLiJÙ\8c\ e!qÃ<L(úí7\ 3³\87Õ¡QË>Xë,\12\85z08hÀ\ 6¡\9f\a¿\91(9¡DâZ\94^ðã\9dã\ 5\90®¯?\99Ïn$ñ/3>\b­\102!løv\1aÔç_ß-²YÐô\807{rÉã<ì¦ÊÚU[(÷\92ÙÛ\8f3;64gmM³<è\85\ 3¡ÇÁ$+¼\95²¡ä\ 2\9c§låò\b긦n-P\ 3*M\f\8e/Ð=P\9b\91Dï*þAòÒI\14¨×Q´yÜ\97¯!\18=;\10#r\93\80Ùl&\8aðm¤±y\81\19\ 6Ó\88./æ£\14\95ç\80$g\9dÈÑ´\b\81\82¢a\ eñ\8d\9f{¿ã\r\19\16®@\127Ä$Æ\93*#Ñù°qíNF\93\15\9d°µ\92{Ãèôv\97\óy3\8aáîj\16¦=H\ 6-X\85\r}¶ëlê\rQ8mQ\80\17fúðé     \12w\ 1\8b\a\83a& :ÙðZÔF½^Ä\18(µ­\92+ÀÅ\ 1±\7fë¡÷<C\8b\9c|ëY¬7\7fJìSòtO\10¿ý\18\1eGXî0\9d]Πyq\ 1â\ 1ݯl\b´\8b\v\9cæ\8c62Y>Ä\15\13*\9bqIªËªo.\v1¯&\1f\89-ÖX\96¹«°eQ¨\94\ftâãíq{\93>äÄUB\97\ eÄ92iì\ fe6qö\9fVÂõ¶²ðÙ®çÃ\13\1eç(\86§ó\88\1c³&ûÕd÷`>nU6£Hb»Í\0}@å\ fË_M\ 5)+\94ÅÙ\9d\1a\18\9b1\a\88§bH\1d\85\9fÀ\87RR\98\11êQð\a|àfx\9b/-[¦    {S3<¡7üÕ¶J6_\ 5qlÕ\9b­1\T²\1eü\1afzn³óZ\87ó\96[Dß¡ñ\13îxÓÁý\144;·¯N\ e\96Ü\9d1t\145\92\9eð»ì\10Ç\95¿IHéO\ 4þ\88\fÐÉ·À¼u\17§à\8e\9e\r\96Ø\83iÿ\ 3\9bvaq÷îëÏ7þÌÿ×ÿ«?·[?É\e\7f\ f+?¯ä'\ 2\86\95\aª·}Ä\8eÑæÃÏûÖ\a\9fË©XW\99Ë\f\9a\14/     (ø}óHlwÈh\99\ 5m>Bɳ¥Ìs\18§H\80\9c\11@y\ 1\80ö\82Ì\9a~K±\94/ióµt\ 6wfI\87gWR´T\904Tãq¹\ e®\1c\88\ e©\82^å\l¯\aN¬¨Fh\91\f$là\9c\94\9e\ 2úU&tƬw\853W\91!êîíC½\a4ãCº\9bÈvßæ\87w\98þ~ó\1fa{\8f\895o\10ì\150Õ=(k\ 3"3Hð¶Æ«À¨U\8a\18\95 Eýñ^|O\89\ 5´A\17s_I\8d\93\10²¾\r\94f\80½m\91}
+EÜè\18̧\94\81#Űß3SU%DÄ\9d&K\89\aI\92ý pö¬Óî\e;i\98Ø\fs¹ &\81\ 6pÊ}Þîç\ f'Ñ<·.\9e\r,\93\91?~\83#N»ð`S\14ª\v\8b\1c\13O\7fE9Mè\1f\aMêw\1e`\1eÜÕ6IÐØ\ 2³k\8e\8fÖ@\8aA:`g¯\98¼tßøe$\9dý\8bSßÊqiýÈñ\14÷iÛY¼ÀS¶ÜE\0ÃæÅ\99\1a\18ÎÊCW\f\9dý\158\1fm\ e1N\13}áâ|á
+ïaȼK\1d\9aT\7f\9f\11:>\ 2\a\0_Í}ª|÷\ 3\16æ\r<t,ù*\9dc\9bµPS®;I4\99ÐÍ\ 4ìç§\8bAÑ"÷\8cĤÁ¶L kç\89\98¹<\88qD§íÓ\7fJ\r\a\97J P\º\8cYSBT³*Ù
\8c6³î\9b¾áGwX÷Ü&Nç\ 2BçÍ\84ÂRH\a\84®z²\95\9aU\9dÃ$ìéd\ 3ÛJ\ 6¸]\9c\81î!ÇÄ\rp»&' Í\Vw\fEØà_=p®4BÝPÓR
+@\193ck\ 1U\98\f,\ eì!e\10\81èý³0=¦Ò\0ÎàEy,u\15×F\al\8c\0#\88(¾áÊhô`ªÀ\81áÇÒ"®¨tU(ÀÝ
+Y\8dê+ÝýCT-àï{Ø(ñ\93Q²±°\95­µ\f\9d\884º%]Gn\81Æ´ÞªyË\10å\14\91\13\14ÚÎ\99¶©¨h«E0ä\1aéÆ\17\15\8a\0l?\94¶ïy\9c\9dä\80ü\85\93x\9eàW\80 -¥·\1em\82aP åf\92\ 6­£\93§\ 2\815\997\107 éÁ±ó#\9aKg\17qnÁ÷\15\96\9dgnY\9b\911\92ü\99fâ½(»P¡IÅ\83\80\1d\8bCK§èÜ\1aHÜQÞ\9f´á\15þ(\8fÄ.Hì\90Ôê¢Dy\15¢=¤8\8f\97ãò">mx\85à\7flBô!Ä&\97\9ck<Î\ f'\93©À¼Èd\18\1cñ\1e~\1cG\94Ñè\ 6F¾h\90"µØêP\ f´E¢¸¬(P>\1eDDÉÃä¡Rè¼\r\8aó¦Û\99Ü\9eÐÞ:\88~\82kHX\9e\ f-Ù­ðý­_ô\85ûÎ7÷Âù¥¡|\91¡\7f\7fÞ\17ÈÅ\85ø\9føBùÛÍ/í}ÿýBþß\8býð¾~óKø/ùBõø'ïD~\f\8f%i
+}ÄfM£-}Ä\90 6èH#îÄ\9ccH\86£X6\12ft×ÿ\12øD¥ô29\90ûQÜæ\7f\93²ÞàcßuÄäG¼ð\9f\92qîÑ84å¯99)\19P\13\93'J\85¢ÎÖetm\12\bÒX`mÉ;Î\13\9c?{\93Âs\93 \9b8     ¤j<ÄAJ7\95%G\9b=yõOG\9bfaMk\16jRly5\1dìM'\1f^(ÃNï\80j\1f\95:=HË\ 1²\86o.ÁK±Ö¨BÀÊ\87ðU¼M;Ã>ãÇ<×]\b\99\91;\ 1\1fqÙ;ßÛ}\88\ 3è\15¢\1f\e·m\88Vèól^aØ9\9c"P6å\96áf\84\9eÕwÂɵá?\1e¡\97>òÞdh9\9c)¤&\18ñÂ>øa\1e¥®9c\84ÿ\18\92\91\8b@\81@\84ý«±P<;óx&\92ߺb\8boA\r@'°\1a\1dè#§r¼s{©¨=¤x\10\8cðNµg@Ð\88\9f\1c\81í\0\92\8bÚ\93AæäJ\84U\9b°    \1en%[ØÈ\16¦ü24\9còÞ\ 1\10Å\1d\888*Q\13è£\83 ¶E\ 5\82Cm²B¬\15\16\19:=pézþJ¬F\11Kf¯\ 6Û\É\f\ 3c,ø\ 6\96\10ÍØçRSÛ\ 6\89ï»\94M\r\8f­~C»óËØ\8cV÷Ô;²lׯËô\rI\a7ä­\83þK¼\1c\1a\ f\17\ 3R>\ fá'R\13\9ati,Ýô¨ÒY;Ë'q²
+E\19ß6\ e:\87\99\b\eÄ'N¨;\93\16¶z\89\12\ e¸Ù\ 3\85\83\9dý@Àð\b\92mWiþ\13:wÐLÄ\18¸ú\82Ù²¸K@ɲb\12´\ 4<GQ½w#\9d\94ò\82Ìù\1c       \83·\ 1[@\95f\85ój7Àl&F\8a?:âSÜL^\0\18\16^ÚbØSÕq       N\0;f\0zNx£¹«\9a¯bç\84$
\10j9\11\9a°H\10\87,\8e±\94&\80\81HàΤÛzï\9a\1fDþD\9cuÀmæ½³:Ü\7f>\9c\98õ\99\v[$SiN\ 4\aëÏ8 ³»¶Ç¥\ 3Ê\85cíEɪܣdÝXdÛ\8f1<?\86@c¦õ6ÛÞå}óñ\ 4îÙûm\10æ\¸zaã®|\13{{;\98\9c\14³\ 1\80«\92\ 1´ØE³\ 2¸[ YÕâá\90ù»$Ðt\ 4³\9eÛ\b®ÖÑE\1a©UtX#\15£ö?)&ù9M³q\ 3ré^V \80\99\8fÍ\8d£¾¸\11\8a\94:}rT\7fq¨vtÅ *õ\01z{\8eDæ|#\0|fÍÔb\99ÚÞ#:â\b;ÄìÀÒÈ;^¾$7X\ eG½N3\ f\96\88;\98\8f"%ÀÏ\04B\bÐ\87\91k\rÎ\87@  \89æ      ð® [ñ\9e\19*ÒEz:ø\82¨©k\ 1\19ù%·\83Øó1²\1a\99&=ø\võ OêÎ\ 5a\92$\v\9a\9e\vü\97ó7*\82cP(\90\9f\84\ 5
+F_\b\16à!*å`Êÿ\98\12ÊùüàJ\9d-$\9bÖ;´\ 4^l´¾Ö%i~7²Ù+F¦ï\82\98è\87#¥i5ó»Q~î\8a\97t£6#\ e?\ 6äêÊ$\1dà\1a@÷?Ë\\ 1ù<«$ì¤JRIæd½\1d\14IJ4yM\ 3S\81+;ëÌ\89z9\15³¿\ 4ùg\ 1(\1dê÷ÐÚ\8eÔV\88\99\98/Ǩ8¹\18\16\92\1dþ¤Í\9d×\94WK\9a\9dY\93*©öÊuËk{Ū`»[pó¼»´\ eNQ\91\7fW öy\1cк\ 1¥\1c\13\10\94ÃbÄÁú-A¤ÙùV\88¾¯\8ftn°;\9e\96\eZxùLÕãù\0ä¼­à\1c\97ç\13r\$?ê\a%Ö_V\ 3}ÿSN`\1c\97Ö¯\84ÿ;N`\1c\97\8d_       Ð4ÿy\ 5GgÉ\ 37ýB3\86P\89\1d\a\9c´ä\ 1\9bà©\8eÿû\ 37ÀY\8a\\fßêÙ|\80fÿâ\97X\fß$~W\8a\ 6\7fX\19¾ a¿úÀÍÿð aÿàÒ÷wC\8b\82Ñmß\1d?\92r.©,VÄ\r\1cA±_ü\ 2
+}\aý\81\ 5=åÑ\ 5÷¥\97þ\0\82\9e\95\8füA\ 5=l·Ì\b)ÌA\96]»µòË·v¾[ü\80âòô\97ú2¿ó\ 3ìü\19\ 3ìû     _î\ 3ìñò¿ØeTþ03\ fø\19oÿì\ 2àü¾,B\f6·ª\T\1eî       \1f\9f)yNJ\83Ýö²\9f\1a\83Ýõ\12\91\94\1eíÄ¢ÜeÖ\93\ 1b\88C ò\ e\80=?íP{ã\81büÀ,\ e \fg\19\10\13ÿ{-0ùe¾\U5o¦]SVð\92\f0\8chX\13-\ 2ïóë&6\9f$\96\ 1þädûYÓ>rDÚ<ý\f2U.
+\9fæ     ÆO¡3¤\ræd\18LãP\aK\11\91ò³\8cAéã'\1a\ 3\ 1ºÁ\96\9a}$6ZiÅ.er\ 4\Êþdeo>Où\90|\1cà6ø\81&p˵xéí\ 5s\º¹®Y\83]\f2X/\11'iÿx\15\7fóª{ü@.?¤\95\86\ 5ÏÉ\15¸ªv|Ë\ e\98aÍcp\f9¦7æ\v2â?üíËw¼\ 2K÷Ë:J\ e£åe üRã¯{\7f\88Ë\82üiÙp_Ê.YîÙ0¾uÆÓ8ìg\80a3ºålf\fºS \8f_gþ\92W}t˱>T+ø\8b\9d¼f]ëád\98aUÓÞ\15]=áUÀð´\18,ÿ%,õÏ\17ÕѼÇL\f½§\92\ 2ìGû\80§û°%Ìî\98\9b\12ëg2¬s\98\bçn»,õîã¸kÍÚÎ\9dc¯ä\ 1±gÚ.U}¢ãd1Þ~þÂýº6óñ\1d*ÇË&\ 5ÿ¼\vç>Ýc´º»Q«Álv\97\10>¾Pì¼GßKnUÊü¶^E\89.ë¿\80\15ÇzË\93yK¦^Eò÷{ù\99j¿\15\95÷p\9e5¿0\ f\8býÀ}\18ä°ÚnD¸\13þô#c\8b\8fÇ®\a»Ä³ùÈc¿û­ã#S_,\985\9f[|ÅTO½\ 2ìúOþ\90ĸÉn¿þ\97K¹Þ¨y¹Ðôþ|Èzo¯\8fý byÙ\86þuòë9sGÕ\1dÒ\9ezk¯ö\1aoÚBõúj\93:X/±0\19®oþÿ²1\f¯Ï\18º\ 3\9bÿÓúÆ!\86ù³\13v~Ì×s[öyÃ:Q,ßó¦t·\9dI¿üC\7fìûCe~¼Ð\7fCñÂxÄ1Ý\fîmßèÁï\13üwßãÐioï°\7fü\ 3\ 3Þô\9e\84\8f\9bÏv4ýþç3KêÑxèý?\82nÛ9¤±¦\83\90úý\7fC½dóôã^î*{\ 5)õÔzm½M'\87úl\14\97ü?\9fyâäüD±úù\9f·=ìÆ>ÈÑ\80ÚøÎ\86Ã\8c\ 6ׯp\87\9cd%Çþ\0k|cäÿ\19z8þ\86ܳý\1f}\1f}\1f}\1f}\1f}\1f\7fûç¤\ 6C×ýí\9fÞÜýæ\15²U­+ZÖÍV·­N¶¢·©­ÍVÔÖçët\95¯kk+{úß³[«­ñ+|ZÝ}m}nηÿ0ztTJüè\8enFQ4¼Uq,Å~Àð\fV2,ñ\97ú\8eèÅ-\83\ 3ìyñ`J\1fÅ\95Ã\eÆ,\a«ÿ\17ØÛRP÷¶N5¼|Þ\87+åL~\v\8bä\8b\86\1c)ÜÇÆ\a«ß+ûüÔÏÄ\88ôà\¥ê?þ\¥õh\92®I        8\e\82å/Qþ%Ê]íGø\918u\113j®Ñý¥Ê\\ f«\9ei"
+úóI|­ÀÃ\ 3Ü~\99\94f\r\a³\84®]í9\91\9fö¤\83Ø\1eíöì9'»\9dbå/Pm\15æ\8dÿË\ 3ãÎ>ñ³}L#dÅY\1fÿùj×\v¦s´úl"60ói\1c°}ÔÎ\9e\99j© PÖ\87àÊEÂ\8cCmùêeÖ\97½\92wh\ 1%ÛÇ,\9cY#Rtô\93P®hÌ"\ 2®\86¹)\13Bk®Ð×\1d\aô\81#ÐÇÇ.\80\1e_n6_Á\1c¶ú\1f\ 1Ò§\r;yÄÓ[¾&\9d·D[=\1dBÎÍ\9d4âë8ä§2ÆlÍ4âl#6\82GXK^W\874Ö¦\8cË\13iÞA\86ìþð cîXEkcÆò&\8c´\93gk      \8e­cy=UD\8at®^I½×ëHLË3[\\ 3.è¨m«N¶\86T;H_Ë&²rQ\9a\97\ eé\9a®¶\82¨Ù>0u`Ï림\131lQù4\ 2´u6\82z¡XÄ\89\8e#\8bÍ\0þV\akt     G\95.£ÌÒgk\93YG\9d{\88\91æ Í¢V¯¬)ÆB±Ù'\19\97\94ouâã.W\8bE4 7\9e\81Q\89\89\83R\8c \902\ f\19¤\86\9d§_DÄ\7f\ 5\ 2°çÊE\8eåL\0u{+³\87~\12\ 5»\8a"mQ\9eQp=\9c\1c\85K\10,8ú¦NõCµxZhC<\a\9d\ 5Ø%\9dF\90ûçh2F\ 4c\96jû</×\8f#UVey«É\9d\ f u\8cauÜh§
+Êõ¢if'`ðȸÕûã"ãWÈ \95î5\8aÀ\95ï\7f\93*¸>!\ 4¾è\9c^\93°S6\16\175\939;\ 5YáeÌÒù(1°Æ,Ë_\1cöMbu¯æÒÆ'Zìäáåc6lÓoJ¶V\8e¼ÊÚGf\ 1\18ÛÅÞ\85whb.Iæ4\93ªêI³\17\9cÐ\10\8aAÜx5'x\1ap\80\r(\ 4\17\91C¯(ègTáhK\96¼\84»+Ö\8a\1cÃ:¥f¯Þ\ÎÙ·ß\16\82*7b\0¼\83Ç\vYóÎ\fØ«ù\8f;%\10\14\17\r\11v¥ H÷\v\93Æ\10¡\1d6Ù.a7\9c\19\1dÒ\93\ed\96\86\9a\\94Bo9k\7f545S
+±cp\96z q)Ê\92 \ 6ßW\82ÕïÇ\rK\10²Õø\9fH<%×0($wCK(,á\ 1AZÁ\9c£!;jû\85pç®§*$n\9d\86\128\ 3£NÑ\ 5\ 5q̸WÔD²`bÚg¥w¹Õa\96':<ØÝhwP\801ÇW\86\87YÃYB\98òdåÓ\8f \8fë\91l\8e\0\1d»°Tò¹{îròûgx¸Çpͱx\82\8b::R\ 5\16NM\8aº4n\81Eþ¢\95`Q~=\e­\8aIÚh\931ü°\12­\9f\17$ÀõéÍ\10\92}J÷\88\13St\18Ò\88&Ém%\r:~4\92Ë$£\97«\8e\ù¡Mu|ʾL\90ú@ÕVDñ«ï/\98èöziÏoD²a\80\85u0×Ë\82\1f\9f[GPí\1dg7î`ÊàáQ\¬l÷\e.í´\ eÈhÈ\9f©\86ã\ 57u5M\ 6VlÇjQXg\96Ç\19F'\84Q½#Þ_gýk@¶³Ñ\10Å6æ}\14\80uÛ{ë
\92"\ 3\8dd1ÿü\12\18Ì\1anM\1e\0@@áß\85 $_´\9b·våoö\8dnòÜNYfòô\80\85ò\ÀG¿#|4ë\90ï\rò%BÚa\92ê\ 1º6¹b\r'\12fç B\f\9dY5\b'!G\90XäÊu<$À\97¤ß\1c¶ÁÎ\12\ 1\9b\ e+|uG\9e\9a@ÃIN~H+:Â[V9pÕÄzoô\ 1YÞí\e\94î}à¼B]¡=\16èè0\rø\9b\9ewx£:öãËP\1dÈ@®ë\19Ê\96\ 2õ\rÓa\ f¡á\1e\rÖ\11\9f\13þÎÜï\0\ 4Woöë\ 5颲0¡8\13²LVaô\9bt\bM\9eP\ 5|ϵõÌ\19]\95};ð\12Ã-ËÅxQü\9dÒnKä.\0Ñ\8a<ìÈYÙ\15\r»\ 4ª(«'}vúDyi\8f
+½®\8c¡VÀ\13²\93ZX\97\8aX\90\ fg Òvf~'F}      \96'¯èîô\ fm÷Á¤\1dÀð¶s-\9b°&Ú\97\8dBgk \8bÑ\8a\v|\92\ 1³±\96l\83¡áÓüôÓzÌö%½f\8ayËü\1cçÊ\f\18:RZ\9d±<\8d»\ 4æ
+<$èÓ\9ay)EQ\89\95\13yçc_\19ïèn\8fýúÉä¦\ 1Çé;ÿ«tMr\9b\ 2\84Þ'çÿ!\8f¤\ 1å\1e&\97E°ÿ\9e/\17\93¥ßº2þ\8e\7fídB\84µï\a\8d^¼íÈõ:\84\97\99\11!\10 zÙ\f2$\v\95ãq¢-ïBî¨\fòá\90£*f\80\0QñÿV\ 3±'R\16Â^Ìij\ 2³ª\16Ã\87\15µZ\e\1cdr%J     \80$\84\b\95\9eGÅnd[\1fo¯LɹÄcÞ_.\1csÜÍBÇ
+m9\85L§ñê-:W)¿Â\92Ý%)\84\ 5\98W\a~cåEåLãN\85ûÖ¿hÏ\17pjTYk \8a ì°òD7`#,`ÛUÜ@Ê\1a°\80~»Õ\8bÁQje[\9fqÚ¼\80uft±áËß\ f\9en.ÿøj\8dÏKR­¨·qàí\8e\97XNB\85b $\8e\12{ Mµ³§\1a8ÁFm²\ 5³äxãªÝ/\8b»LE8m#Q\86×$ÀØe(\bøð3\1e\11ñ-p\1cÝëº\87\8e1\13Áìk\1c\80ÿ\9bcOv\1flq\r2ïÍSÁëæ\83\8c\1c\137¢,Èzc$æý\ 4µ-à-gåÀ<®MMÚM¤b\8b2_\9aô>{û¦lÐl\9b\17\97Яz÷üô2\8a8÷NÌeȲ«Ðgí»V¨js\84\1eLÏ\¦Û(­°\e{Õ2\90Ãêm¹\ 1²áTQLs`»L6Øñ¬õA¨\8d©)fÛÔÑ2\ 6\86?ÿ\19\88ÀdÓoSC\80EBî\9deî!ùlÓeo=ê\ 2x8«¦/'\98UÛ¶ÜÁ\0¬CåmÐñåºÒ\7f¬qk4\90<  \19#\v\1eô¢÷H\ 27Öî-\ 5\10÷!¤](xWºP~DaÞ6\8e\b=Òíî\83Ý,õØ{¤!ÿ\0\16¯ç0iüH[Ì\bèë¡\1a¿WÏ\v\94=\1dýr#5:L"º;¾¢£\8e\896W\ 3£\88KhâÏ\99£\83&]\1eÀ\14\88ÕW61Vòß\14\ 4Nª*yß`\13S1â,Dâ¡eÀ÷#×Ù²Í0»n\1a\1aÄMÿvDMþë êÖ"l°¥\8d\90XGDiº\9c2&¾\85uP\1fPO.\13øãY>ß11\13l\1a\1eL\9b³\89Èj=ØÓëv\1að¬\8cP×{Ш¸\84Ùd\83¼6V&Á=\ 1\9a\9f*t¸\e]\8e\85v\\evàO<7ô\9fpä´ÿÄ\15Á\94\10ïëW\82\96\N\8b\87¬N\ 1\12w\8d\ 1g_\9c\13£Ö.Ö½S­\84\15\9d®)Ò\9d¬ÓårÃrnÎR·\85r ^Àh\95ëa#­\8e\ay¯[g\93\83\96×£\ 3Ï\85]*\a"\98\9a\1a\87ÆËô\81ø'¬\1aûUÃýb·ýªã©\92ñj¯´ñJsC*±\fªb\86|µº\9d¬ê°9¨¹y,ÍKP\81Q\1d\vÁæ\8c\f«>±\8e{I«yÕ\91å\14\143$Ë\88¬SõHK9F\ 5(\ f³¡þÍ_üÚ¿ò
+ÿç\15ÿ\ 4\95\8eë\95ÿ¾+ÿ׫ÿ*\r&\bWþXZL\ e\94æ~X\12\16¸\ e\8f~ªpIô\b\83\1d°\9ab\88­\ 1\1fo¿Sí\9b1\9a\aÕð\1dÌpr\98ǡɼµ\£t\93CòÂ;dºò\8d\0h,80\s\9b\aÙ\8dT}Dz6÷>\15ö<:U\ 5g\8cR\eM\1dQ\94\85'\1e\9bþµ2;\85\8eïáÉ\8a]u\90\84ÐO\r\1dS\80[7\e\eéæ\b\8cÛµå5\17H\1cæÎ\1c\ 4»t\81\a\81ª
+\9c6´v\0ðÓ\9a\87\99ÀX°ú\ 2\99\vÃÌ\v\98-õà"¯<Æ!\\888~\ 5½FtPu®\9e\rF½Õ\1ea«Æ¥x*j\y{È\ 2Û\9e\ 2\1e<IÛ~d+\9bó\96Û8\941´J\ 4¨ý\12ziÆ\82×!M \98^\1f¶TN\83Oè3_vý\0sf³lÇHfÿ\ 6©-ôÍ\bû\10¾<\9cs\ 5\12\84ya\81M¶O\0ߦÍ\80®_ÒgGy\vn\9e\9e\ fT¬.ê\9a¼Ä\9f\ 3Ã\96\ 6ÚÄ\16Ó®ú<J\1dQý6¯$ЮÉ\ 6\0Q\ 3ì\81Т¶ÖþÇy~
+\1fÕ´å\88NîTµ\ 3\8a®\86¸¼&wI µÚ¡®³l\8eûEÖg_qZhº\82Q^9ó¶)m52ÕâD\81\80\ 1;\13\ e\ 2MÏ9|\ 4\97{`\ 3,$àQ \1cì-\0Nv×x\ 1\90U\16pÄénB)JÆ\10S\85Í\ eýPxsú`êFË\83i\8aY\vVÅoÎú\ f\8a\ 2ù\ 2À{u½\ 1m0·\97\11\aâuÀ\10)¿\13¯¬ I\ 3\1a\83\1aÛ\a\ f{\ô\95ÚH§\85ÔÚ&\85\89ø\16\15´P\80-Î!RÉ\90´7ï\8dpSÞégEEáâs\151"\11\9bƬ\86H\ 2`çöÇCë/ȳOÓN¤°´ÍS\7f$\85u.%õ|u\86úDK\8c\18x%\99S5#\ 45LÜÔ\9fÈ\18\1eêióÚ+Âî\9a\88ö\8d eq#gX\9céR¬9YêÄñ\ 6ðpejL\8a&Úª\15\8c\17p¡lv\9a\81t\10]Ytr»
+\18¦\vºê\93{<s\895\0\ 2ù¯@8£\96§ðèó\94\17`"tÄ24æÎ>\84ËM¾M7Y\98÷ñ\81\86\9bÊqìP0\88Û\81¸\84å®*\7fÑ·\80\88·\87Åo\16¨\1c\9d0ôL^LÙU
+4ÜY\bÂ\f²¨(û+l\19]X\95Õ\88¼ïÍ\ f¯^WÐhª´\1d\ 6\91ýV´Åó=7ßX\epÓ÷xEç,û¤@J\ 2£ý"ï\81\ 4i\1aâ[\ fáZè\0ëŪ1\ 2\b\1d\94ßÕ\17\16VrªÚÙU~B\ 5îª\8bΨ-ßû²ªñMt/#\13=èO\95ìÅÉÉf/\ 1©Ù±\ eÚ\18R¢µS~\118\1d\9eb\93 \86²\91ð¼ß¤GS¾àH\15\b\9f¥wõd`¬¼"\17\19\19þbº\13^!Ù\89l?\83\ 4\9e&»VHr}N\15üó\89ä+º|H¼ô\ fÃâ\95&@\ 4{î¯\84l_\16]u\80¶ÔþÆ-pJ&\84OܬǮT\9d#X¥2ðO9^×\8cE?â\8c\ 4ð\80Ín\94\96Ç\r"\16å¤`P×ú§×lM/\8d\8b\95*1µg­f\1dFNÌØc6î_g-Õ\855E
+F\8b{\13\14\89\a0\ 4\ e«\89Ï\9dèîLõ3ç¨A@\964nÕ\898LY5Ö\1f\16±O5\14F3oÕÚÈü+\96±³PÿõD\10\ 5"y3\7fË\ 5Ì\18Úao\ eR5 \bA\8f\8f\1f\88­®}[U\ 4\ 4-Ý+j\10 géâ´tfئÝ[\85\98\8dJñÑv\1eHf2\13\1f\80tÊ}\92\e\ fqðìX\14\8dy\8e?=\84éPçá3L&Þ\89\86÷½@ÒYó"ïçH3\ eyó·\fr\86¼/Wg¡ý\9e\80LFb9 n
+Ú¸u\ 6,T\8ac¿`Ã\96Ô\8e´M7\98
+V¸+ä\15\1c0\9b²mfï\16$\1dÎ\16\1f\81sr
+ui
+èNs¼¦
+\15æSì\ 2ß©¡]b¯\10\0\81hßÞÌ\9a®ÍÓ1\9aF\ eI¿\ 6Å\8aH8¯Ôn´±è½Ù½=î|\1c÷zÛjì.\8cn,F©\13\v0J¦!\ 4\vÕÉ®\94°.+\10ò\9b[\8b\10j\ fó»º"á\16£à\17EGLZØZËÜyo·ì[mFl\9b\8a\ 4î\b\eÀX>ßû\88¿5\98©Wª¶hì=ö&{>9\ 3\95ZCs>~¯6~`
+RèÕöÕ¢/Íf9Ù\\8aÁªJXÚ÷Ë5Ѿ,?O8\ 64aª\8e£\9aÜX\ 4>\181\8d
+¨Rþ\10 /\ 5\a8ïÍdYü\8e\8eÄr¹\95è\10\ 5þ?Ê\96­aE\f\86µ¡\1f9p\839$£©\11P\87\84\9f\9eÁD¤Z\15ÄÖ\ 2\8cy\0*=\8d7:À\96@È'ë\9fÈa(9\\87\8d\1c\a³/õmè\8doDkv¨lwø-\15øm]È\93Rÿ\90CcíàÍ\7f\9aàØV;èPØç&\9aè±as3T¶=ñªË¤DJ$V6\ 4þ4­\15\8eÒ&Eusf\10ÿ\94Û¾Ú1\f\väsðÖØuR;c¨\ 3üz*Á\9fg\fü¬¶$\ 5n7\eD¥,R~\16NEÜgO¬#íw<h\85\aü´£w¤ä\8f¤ä¿·IÞè\97Ãn­®IGXaPÑ\ 2\88\18­\80
+yÂï\1e\89ÃÒ[\ 2J\ eKß}¿·DEU Ã\ f¡      ÑYyñ\16\1e\84\83qÂÑÚ\9f\86\13!\83\16¹¹»H\99à"¼âÓ|¡(¦\12QS\edKü\a¸åµ}Ó\9d®¶?Zk\r¡@\8b2Ñ-6\85\86\8fh[ó\97G@4\8cõ]ã§W\¼wÞª\ f½\96@ºdk¦7_(¸I\8e\96xa§\95rx\96Êju\ 5ò!o_{í\1aNÏöfdúI$\993\00 I     \812I 0e!\0H\16Ì\93"f\ 4\10¨>£Äu\9e¢ÅTµ\18L\10¢ÖC\ 1fO\8c­­\17Ͻ[êÛ­Ô¯­µ¢T\ 2ªHD\b\0 \aª\8aÖØ*Wá\821E\18\80³ï÷÷÷ÿìÌ\92L\ 2SÆ´Zû\9b¾åöûÛÎmæïCw¡½\ fs\9bw\9cöôý¼Þ¯¹ïtw¹½-ü\12Þ¶÷}ø\r½½ü\ 5ÊaÝmÚÛµ\8d§Á\13  æ¯ßSç-\1d§O#\1a§{\84\8c\84?|\10hÎÊ\8e\98,\1dy%æÑµ\vÛïdÝ\98Y\1a\99ø\86\1eÚ3±´\91BÊTAöLR\9f_/\b\ùViÅgT¾ÙÄm2ôL\ 5lé ÜÆ\11d\94/M¼«Ä«¼   \ 6ÃñLz×\80°IÒ§O+&\1c\8b\8aæ$xE\ 3ÛI\1e¦\9c\90ص\15&Rî¸ä\15³åm\84Éo~jÎ/eÛÿà\12ä£\r£fÇÕÀT¾Ì0 |\8eéûò¨ûµã\80çÊÑls÷êÑ!Q«\802\10¦F!\1c¾Ö.¶8X³×ÎËÓ¾wíeXí\85\95ÄlHÑüm \12"\12\14»rË\97\ 6ÿö\8a*2:-Óï\9f\1aíîÊ\8c\8f)\15nȲ\1eöɳ\8dß\r\9e\9bó\׳w³;±ým)?.´ÔéB\d\86¢\81\95\11:óò\89ëÊ{¦£_ÞT\88{UðImÒ\b{\91MXÌ\9e\1a\90©i\8c\80\bÀñl\89\96\84Öð
+#õvGrSÛ\84\18{
+2CÊåø2ÒÊj\ fL\82\ 1ï­c¿\8c\ 4±óøÌÎF«»»F>\b\f9|\1c¥C½?ÉÑÓ\15*ÖZ©ëî    +\ f·¸¸qâ\8d\93¶µNßý/°>¿\8do¯ßïý¿\97)\1cÄ}9x\8d³­ß\ 5Ó\13\e\81`åϹOjå=ú»\82g\1a+¸&\9b­Ú\96´\0øõ\9d,\r\95ëý<P\97¨¶M±÷;\8dhCW\ f»sEÝ£`\89³EôF®/®\1a\13SÆW_ÙÌsݵÂ\93ÐH.~Q\13!/aVà´x=Æ!ìl+à7 þE\17ÁÂåÏ\ 1®¿-¹Nq¶½ñ\er3 ²(Ê\8d(m\95\ae¡'ÉþfÓÀ|ì\92H»È\8f\15\88\99£YC\8cÙ]ä»6¹JBÙ-e\b\99¡D\ f\8aÌÉ~÷b®Æ«\ 2©\94Msű×\1aç\8bw1£\91ïÐâ\91\9d\9c_V§\17¶%Ì\91äé¥\0\ e\15ÙW\96Ø\85Ì\83r¥´Zßfø!lèÂ*üG\1aß:ó\bÚ\15\ eM\18\1eü{°\91ö1ÍO¸¯¥¦ÈeªÚä=§\97Ç\15\9a>\87\9e\11§E\83é\a½ZåÖ\97Æ\1e\15h\9ar é#WJò\91\19\ 4\\9d°Ôæ\85\8eX4v\9ci±P\87\12fÅAX\96¼\1e¢Ç\19wa0\eÇ~\ e\13\14øl²fÝ¥n±Æ]\8bÁòX§Ä\85íWß\ 1Æa\8aå\8cz\fëí\9fä\98\12a&ã\\18\9f\13­"\18\1f\9cP\88\86º\177SÃDËß*¡pYîköh\18R=:\172\1cÈÝ\vª^\9a¸\89Rïõ»ñéÚ\e\9e/ö¬õ\16\89{¹O\83
+l¤c8   \ 2\9a\0 5+xØ­6fµ,=\8b\97û\85w2 »Ó\8c^#\929æÐ\@ßùì­¿ñ2ß:ûå¶MÔ\8bì£t?è?|èuº:týG8^\99»\94é[¾ÑÎ9\1e°ÃA\11äÕØ\94®Äq»¬náã1xÉ[ÃúO|f¢\9eBÒâ\96qÆíA\12 \80 åØ\b\98si?)E\90ݳ¸\11\19\ 6]Xò9Ú·ÞßÇ- ¡ÀÖe×\96\1d÷\84gi÷(¾\99Õa\ e I\17Þâæû¤BipÕ]mõÝæ<Òê\92\97Ø\1d\17¹Ú\10I\9aë\8a\9bÔÚt\1a9Æ}±#D\e\95|¦Gn¬V|\ fÜ\ f¼¸·áí]1ÊO\97ªh*u\ 21SĬ\90\87\15\1e=5R\81ø\12Ò\97ªtý\17,\1f"È\\99ë÷÷øx\ 4\0W-ÿè\85r/FB»Ê¸\8aè#µ\15\9d\ 3ä\Õ½ßËÔ£Ù\9fý[rôg+\7f\9f\a\12\81\9f\89gE\94\9cg¤Å!ZÏ£¯÷\ 12íVÅ\9e¿\83.ùÔR¾mÐT§æ"\99>ÞÚ'f¯\9d\1dLY»Ón*é\1fÒ\1f¢ÑCí©ÉÇ»öb\95\\93?gv*ÐÏbUmÀÚ\81\9f¿Zï®)yåv¹\96Ï\r¹E\16<Îão\97E\98\9cªïyLE\13\92që.âcö|\f\19mò*\86\12­ê@\ f-Ö5Z*!TfÍ\16Eöm_ÿ\80P\16EÒ·\1f\a\9cVÌÜ\85 »\86ï\8dh¥cXRõøÍ·¨×p
+£Æs1æ\80sf\87ÚÙ\97DXJ\15Õ\11í\9aKHKµe¹\18pÛ¤×DN\8e8­Û¤\94\ 5²åb0\99å\1fÆ\88\12²*\85-½ÃªX\9brbyÓ¸ÜVh£\97¼\8b%|zʽÃFì8»éK\ 2\89\ 4ø\87EÊë+ í¾±ÈlPP\ eõ\99\9b63b>\93\90½V\1añ2\8f\16\1a\99\8d\88\ 6}\954[\17\97ýhP\89jf,õ¢¶x©¢³ð\97Õ°ð\98YA\89È\9d\82ÌJ¾ï\81\ 39AJt\v\1aÐýTi$ßìüJXÿá{h¾\83c\88Ø\9ab\8d\9c³R[\0¶cFýI\18úí+~Ü\90¶{ýÜÜ#`³ËÚ3Ëû\9aúY
+üÄzß=»\87¾\97\0ã\rf®U\90²+°¹\8d³Kõ\96ØíÉåoP\85z¶txYÆ»\18\91ë\e%\80]\1f\97%Å:öÊaí\8d\0\18ÝA\8b\13¿Q\ e&\8då\16(ÄýÐû\18yy\13ò\90µs\12`\16"æ>"|q«nôâu\83G]â·Ó¬\9d\1c\9e×\93ÚTØðãlTicëÉ¢%\0ÍôÄ\97»jÊ'E£\13\1f~I\93Ò\7fõd­Òr\1c¬\97=Û¥ÍÉY䣯\815®}\fy5\99E\1e~X\12ås°]É\89ü\1dÍ^\17\97Y¯lî\96\8aY\7f\ 5Ä"\8aØÏKê¢h\1a\9a]úõ¾Õ\ 2g·ÅÄ7º®R>úz·g\87\8c\a\8aÇ\84óÎqÙÈ妺ÁJë\8aRÊó\ 4
+Yb\ 1\16\95£\ 5¾ªÊ¾«U2§\ 4\ 4³ý+\7ftæJ_ü\a\95\1eèã¤vFþ%?έû;\80*òN,mC6þï\ eâTÇuwzßë\9e1ü'u÷\8eÔp\f¶´:«2\8fÊ?;¹.û\85»8û:Í­\18Î\96¡\19Ò\15\90­qã6½BÞ?ÕwÄâhá}k´\9dGb\ 5z\80,|ÿ5\1dÄ\11\99.¨}k¨ð8­\ f:Áõ²\94OòkiÛç\87Ö¢QAoÊ7¯¥\8e\1a\ f\e\9e\0í]\1fWl¦òëECD\9a¤
+e`0þ³\ 2\94 \ 3¨\ 6ªE]\1aÔÅ\84$ÖãÈ(Ýx;{ÈJ«êÃ\8cL®êê\õþ\95ÞÜ|ê\1cÃü(´ÚÞè\7fÛ-¡ÿh¶\87á²R\96Ñ»\95t\94â°ÞãôèU\95_s²\ 4\9aý{\93\8d\r\8eièóL4N-DUÑ.\85O¯Æ,ópO<ݼ\1dgUºz°4Kí\8eák\aDºã¸ð\91¢[óÆ\1f\1d×Ö;ZóÑ/l_s¿;¹.û\86\16\89zTh\97§=\12ûu×{\b\15ϲ¹ï[`ªÙØ\87\9dRÝV¾\ 6Ó\88;RÔÍ{\17\99ÛûPó·aÌÎÜ9t·\9eÁ\84>e\11\9bÞ\9d\19½g¦Ì\1cq@+\8f\12F\89ñü¡\1c¨\90É1XÕÎ\87\0l\eÕ\Ë=4Ñ\9cÆrße° \145\83\ 4é\13aPTÝÐ\99¨ØÔ\ f©µ\8a õ¨. ê¦I\18b\9bÄ\ 1`ô}ø %e\96Ç$d|¶\95'²Wr¿Û\8a \13|Zxàö·z\8e\13îÖW(\1c]Ýfý\82ÙE[TªâBlä ¦Í\ 5³\14ýëÒ6Äß,\87\91Þtã\85*Í:ÂÒÎ+\9eïHó³hF©\9f\11^~\88zì ½z%c:­\8eü¬pãÖ\8d]JÝ\\13ô\16\1d\8f\0¬f«ÎP;\15Ô³náÇ\12¢\ 6°RnÓëîO\e]Ê)Ö|\17\15f\8cfOÊG\1a\87·9\1eU¬ÉM\0\13;Û©.µÈz¼«éqMÙ¼\8fÇRä\1e%\8e¥ÈÕö\19\ 6\ f1\15\9a<\86<qM9\15ÕyÅmå [¯«Ì+o Vå\879ÈE¼\91VÚq\18u\1a·áo\14\8c; ­ý¢¶ó¡)«È®g¥ÍÝ\ 5!ë\U\ 5\85®&\17\ 6}\86\83Áº\ 4¥®/\993íæÝ7:bðiö$ã\8du\92Jnø£à:#d´®ÓÍ,Õ^-Æ·¶B^\16\18\b\8a\9e\98\8br¢¹çc\ 2â%\16'        +\8aëM\11äÎ48íbÆm)[\9b\0£#ZOã\eñþîûóg\187Útö@N\1e©,TR¿wà\9dÚL$¥ KÿëM\8e\7fRàêæhñÚ8à\95Çæ\ 4v·ç\1c\86 ][±:¯®<U\95\19F\8c-p\ 5\824\ 6ºp`\80*s\b\94¤\ eÈ<º¸4Û\aKS×UôLõ\9fHªÏ]fìTÓÕ.&7U3\ej\9a/2¯D\16¤
+/É \91©c²©Ýú \ fgUzõ4^H¸{Õ%(Ä/x\-óùg!wú{µ£µ¡g¬è¾\88õ1\1feXTÌYÔ\8fo¥M\16É\18²\8b\9cøfe;\95qfÎ\vâÊ<£&\ 2¡ö;¯\8ey;Å\8bb2lR)        ¯\8b\ 4Æ\b§/ºöÅÄj\8c§\90´l¥\9cÿlTDѹ¢½Äm\a\14«V\1fu]\1dâµ_fÖ<!\98cX\9dW
+\a§\ fë{Ko\8fl~Äqµ±z\99¨än?¹ôXÔ]l,O$éÍ~JB¿æG\8e\bð&©K\ 4
+^V×õ×»_÷Ö°=2SÁ\1e¨\98/\89\1e\a\16­¡\93¬ícX<eª\a§ÑNÝo\8eÇÏÑJ\95'\99ï¥Ù_\8c]H}Ò`\14¾{:ã\8c8mÔ\ 1Sîý;½\7fÃ/æ´ zôu\9a\17\9eÉeEÚ\1cb\bßýMJÎw\8d]#\9b)ÒÆ\99ÄÂl\85»>Ú\17ÕßElo~¢\ e¥
\9eI\92Ò¸¢íá=\9bwO}ä´\1e?\ 4¥ÚÙãA{|¾ÛÉGoM\93\86«¾Á\13aßq³6\84\16¹ß\8eÊ\ 4Üí¸¯:\12ïýTÉ\81Ót\vð!ÁǸ¸6\84ê¶.¼\92Vp\9fx¡ù*\0_Vå¶\84Ç\8dS?ÿ@å¿<ó\10â¼ñ<s\96ó/%\9d¬I®:\0çc$\9c"9^Àû\9bÕôôéµ ¿\1cX\1aJ,\ 4!0S\10~\ 3Ê\8a=[¹ \977Yâ\9f\8e\ 2V¹²µín»«\r\97ç\b\8eôÁJ)\14¢¢}\96v¯ó&yeùg3ê­\14Û\8aüË|95ÎE\1fþ\80ÁÎg¾Bõ?\93t8\82±\90ÕälQícÉ\80S©õV»©ì{·²\93u£4\ eTÒ­þÙ\9aÉVþ\95[\1e\b\7f«\90\7fËí(÷HäÁ,Èî((\8eL\1e\86ÙRË*rB\8e(Ë·ÀäàVé\ 1\81:ØÕÐ\80-\0\ 1\85Jæ¥\82<O¹gyÈèAù2\v\8fx¢õÃÝ\eK\8f$\88«á\84+\9eù\b$\ 3\8e\ 6/ç­Þó\88\1aøH\7f´.PO\88ê\8bÌÐJ\12\14\1e\19Wüg\15tk¦tÞá2®áò$ðUÈÞNø\86Ü\rîv\85\99 q\14q\85ã\16]\\8c\18Û+mä &JL E¶\15fݶ1\9b+R\9b#\ 5\1eU:Êë¥ñq¬l\91±Æ#\1e\88\7f¥°x\93\b\1c\801\9e\1cu\857ð=Ø\89ÎC\fi\ 2R×Îs2¥m\8bY\9cùÎUZ\ 4(4ß\1694\8fö[\90à\0C\15\80kÝ"H~-\94ð\18]³ ?ï¥#ñ\11\7fø¥#ü»·Û\93õ\99ÿ¾\94\8f½¦\1eüÅÐé\87·\a!þ? Ë÷S\ f\94
+`\9f¥eðÓ\ f{h8L»/\86\98{ï á<   \1f\86\98{kó È\7fÿ®\83!ÿþ®J"Æoÿµ\8cßÒ`\8a¥cãXÍõò<Õ\8cßpS)æºXÍßÈÿJÆoÜ\1f¢þ
+ÆoÑÈük\19¼ü\8fü\163{ÁU·rG´ÿµ`ßÿêÆ\1f¢ÿÔ\92%ãþ%\8c?\81\ 2I\12ñÿö\ e\9ewa*\9d4½¸ï÷S\19fC«ÿ®\98\8bú±ßÏLEÿCîïæ,e|\bÕߪ.\ 2ÿÖG²Ü\13Ô·ø\160Ø7þe/ãÕ|ùâ\94\1deÚÃß
+\97û¹\88E\1c9x§ÞÒ\17\7fë\97:ÿ6\98\88yÿíX*áÒ\80\91³\98],¿\ 6ºì\8fÈ¢\93{«¹50÷\8aö\9f8M\ 5\92¾\97\8aÙAWÒÅ*wT´D\15ã?¨Õ3üt\91ýÓ\83DêÊ\92\9f¾.\96êZ.\96̳WÍrK¥»\94+ôÿ\fºµÄC¾Å&·\1ct\9b½é¨\13!¶¿6\83Pîß\946×Ê!Vx5Ì\97É\9cB¬Ë\ f\94W\ fÁ«\87É\9e\1e       \b^e²ì\1e/\b»\ 6®`Ͱj­wVç\8b\95Vï'\ 6îTÁ\9cºì
+·¼\ e.Yv\ 5\Nê\983æèvX¼ª¸¼¢¸¾\r\^LñrÃä\95ÃÙ-KAÚA        \9e|³Q·r²£Ò~Éw\17Ã$,\7f\eÐ\7fÿ¡¦\8b\805¤Ö\975\9ceÛÊWæÒxc\99.ÿ**øq»\11(¼+¢    n\87\8cïÈGÿ¾swÿ¬sÌ¥IÖ¿Ô\7f5ÿû\16\1e~L\100ÿXzO\87J[þÐô¿\ 2UH\7fâ±/ÿbÿY\90è~k¶±T¿Oy%íb~þ=½·©\91\96\8c\8dËRx=móíôX.ÿ°\86\1f\13þ5\88>õaOÿ%\88~'Q:\89×ýàW'Ftx}F§¬Ôçµ5\ 5+&ð\TAqMýÛ\9fä\8a@®}b\1fRêåÐäª;\83\9b\8c£\9f¥]o'K̤Oñÿy×\17H)\13øbcY\87Èôo¯ú½\9eï-Þ{-Ýø\1e¦«\80Ç\92\14T¿ã\ 2 \1e\\84\97W.êi?ÿ+,úÉ5Ë\9b\9e\vgû#øßIþ\ 3êLR\r¿ßHÙç¤ÑH\9bÉüT\8d\98#ß´r\860òèå>
+FÍÐqE`²q£ÿÎ\18\83cWú\85ü¨\1d(\Ò6c\84\f¨p\82Hfãà¤lú\14d®¡\1føt\8d\9fê\ f\16u\ 1\95w¬î\8d÷ÈJ}u§ËøeÝû\9e@Jc<sF\11\9b°P+x$ÝÝ\87Ê'Æ\12\9bo^qÝûtÍͰ+S/³ó\90'\14´gã\b5\»;\84G8h}iß\98ÒÜ\aK\90à\8d<\94GYϳ5^B
+\97B\8f\b¢6"s\86z#\r\bbé!Hg     còSåÜj9s\fa¾¬á®\8e)#\1dB\1cI¯KXlNÝqH\10þÔ\99\90«8HRB;{\14\9fòn:HØ\11\9fë[»ÞÍ®Gx\1c\8e½\ 1\fsðè Q¾\èòóÁ®\8aɲϬ\9b\83\91$h)Êi;\7fKi\ 22K!\8c\8e\8a¯¾0Óûº\1cÄ\1e
\91Dµë\96+RxQ\84\\11Ú&ë2e\1d \b\11ì À@\92 É¿hÅ\95\96\88Q¿»Y#¢\82ïÔÎb\11¾\\ 5<ÓE\1e²) óN\ 2OÞ>ä­F\9b\13p\fT\83\ 3TcÔ!¯Ö¬¬É¢8È´Æy` F\17Øër\9crÒB\0uuÉ>À\8e\ 2\89 \93±\ 2\1d<|\16´©\bx¼4\83÷D\84þ¬¨(\16¢j¡îìm$Be\ 1O:å\82ºSÓ\8fã\96
+"`¼1ÅÂ?²à\1c\b\8bü¼\ 1 ´2!2ût¿2¾Ùdõ/\1cm\e»üÇD\aoÃø¼è3mðÏ/¬õ\89\vJ\9e°\93~»¹\8c«\82\84GÐ.]pÖÔÂ\18·\v\1d\aæ\9c*\13^¢¼\13¥¯4LY\18\0kG\98\aOtBjéd°Ù\81\8cÜÏKô\8b\93PÊF\92a\ e×ÎÇ\1cƯ9åëj\96\8aµ5g\8eh\88ñ\ 1ö3\905L¥hê·~D\89Î\14t\18Rq&|c6\85\ 1\ 5\ 4\9céò)R)BûVáG\1a\80 \9cù;R«#Å\ 6®÷!Z¸ä~jT\e+ÛxÊ®\11\7fn~\86ÃVÊ©Z\19ÿB5q\\98Ò\ 1$Æoò|\85\9bÞpð\16\846Ô²ozIg\1a\9bKÿY\92\13-"móVÖx\ 6\1ah:&¤\91ñhF\93\19êGÒ!:;ǵ\81\19\ 5KýqäU¥\ 5\80\8e®«&mNi´Ë\80ý_t®\89\8e4!\11ìJ    G\98\ e\fù\94æ\ 6\ eNdî\9eDÓb\8a\93Ýç\b?P²\94_Y\91¦Æ®¼æÄ;\10\ 4×É\84=µ÷q\85\8e1\1e\1d\84¼übÊ\vÓæ^¹Ü­±\87Ë\8eW%Ã\12¬]Ó\1a\ 3z\0TW\8e\90ì\8c°°{n\83yøz@\1a%ÅíÁ\9f¼ï¥\8c»\8bÔøN\98ËM\9básµH(VZ,X\8d\9c=üÞLn"ÅÕ\8d»\aTR\1d\95üfï?$YÕ\8dzÞµuèáÌ?3ôøÈ~gÊ«æzâBp\1aß\ fɼj\14N\87\1d\1eC+qö¹òü\87å\8bßi gQ\ e\87\9b\16\ 6³¯}ÖP\fªy\1c\98\aÜgN\95L\b\83p\848N¾~\vÇ("\8aö|\185)¤\v\8fºÖ\88°ìdÎÁïï¶\µ\8câÑìRd!=æP\13\fSW"Gù\96ÆErîlvC¾\a\8e\87\1c \90\9f]t'\8e\84+<¶\875µD\9e
+ÞÖ9ÕÅEFám\12ýÜ\<±çUË\18\14\1aï\9aýüYh\95ø\fè\1fý2µe÷\0\f¯Ë\94ms\8bíºÂ\91LSK¹ \17°ÕèIp\b\ 6\90\9e^`³\ 3\1dã\18ÚÓÉbá\1c{t¼ÒWùã\90C\7fÏ?ü\9f\rôbT\16HÏùøW\8c\0e\9d\8f\18¼\1c9öNäÃ\88w\12\80\86\16\87/À;±\88hOÀ;*\ 4x\ 6\ 3\87+SAÆäç¾Y\bÛ\8dÍuÞ\96\1eùxò*\89!Çù\88à:\r!Ë9\r\98[P-\0²l\ 5úê\97¥y\ 2j85\9a\15ë\80Udeä\18vtüE4PUw\ eV¹_l¹w¾\ 3\94?Ù+Ñ\12¹2P\86\9cǨÅÌ}³ê\]¬Sܦ,\99Ú]\ 2ë©\ 2\94\88\1d\14ä\18\14|í)Hü»©ÂÅ\9f\f^9ÞYÁ\16­§5Òvº(2\18ù9þ\10\aË\1a\ 2²\83E\9c}%\ 5ÃêYñZy-\8bÁ\95R\8c   ­\9f\14ªy\11ê\8b\ 5\ 1¤\91j^\9ar\92º*\r¨À+\16[Õl\10\1c\8b\92mu\809?ÜY\97\9biØ(®ôëgàN
+\97("Ú\91õü\9b\a\96Q³»\8b:DÜÖÅO.2RAZ\1dô\9fè\18\1aºKÕ\17\ 6\9e×8¯ù8Ñ\ 2\14Çx\8av\8a:­±\1cû\ 3·Ôí-\81Ú30ígòY­\97n¥\»\ 4¤Úü\8e        \7f¨øà#'N\9f\ 4\8epÝ0¯  ½\95?\14ZåÅ\16\82ª=.Éh\18{\ 1ò\bÏÄP£!\8b[ÙШ7BU|ê\ f>\8a×AÕ\94\vo\0×óìâÑ\ 1Æ*tí3ø\84÷$cC\1dÖúe½X}è\9b§s\e\87tTô*<dí:z\egBTë»\8a¹\v\8b'»F\14^\86~V×Zê·Ñ\nOGfÿO(\>ì\86èÉ^7ÆÆ\936ipE\ó\ 5À'\8a\10­g\1d\83\92\84Á§N;¶Tn\90Í\13\9a
+kE]\18½]S\ fÃÒ)\83\8b»hÄizÓðGmsVÍ\17]\8eÛ[¹\0\85ã\96\90\ e\90%\83p\9e]oÜ\9f¼\90ñziwsèW`Ö\98¤nÉ\9aÒ\1e"6É+ä\98\f?\f\ eÖõ\19,"ÿÓ6ià\8aõ(\81Ào\8d\9fX5·¿çÉå\8dA";Á\98æ8Y"§\a\95QhËä¤Â~ëX;ô\91É2FZ¿\9f\82\14ú\92ô\ræFM\1c\ver×!Î\95m^\90\1eUÆYÈ¡ü¾@üú#Ý\7fõùø%7\98\ 1~0z\102\91E÷%#X\13\93>\1dÐý\18\93Z\ 5âà\0\86\85\96yô°\8b 8\92E\1c´\19\ 4p¢eÉÃY\83ç\1d*½*tÙ7 \18ô\91ðph\8b\9b\96m¾8Ù¾KöTÒ(ôi;MÄþTSNnJ+ÈHõ­\1av&\97ç'\98\8a\95\81ÖÕ\17É\e\9f>ÐìH?¦d|2ßK\91ïd\16:5\87\ 3,\8b0\9c[\88\ e\1cå©õ1¦\9cª\1e«\8eH*Ï   ³å\ 4Óè\ 2\e+gi¹Æ¨\9d¨\8e\8a\8d\9f\ e\15¸[>ê\1cû\9bçÙ*7!\15\86\1cÍ\1a²«ÈÆ\86@ÕâtLûà
+îÄjò\12h\19\8b5uvÆ\9e®ØÕµvÅ\l\9c=Ù0qEê×\1e\84       ñ\alåDvf<#\8c±õ^&ãfà\0¬
+.-R\96´\ fôóÄ\86\99o\1fe²ê\ 5¨\ 5[\82ò¸(       Dµ­õþ\97\18P)ÏÉeíbë¥\8c\13ý²ú \80\18\7f\11Fí­/^F\ e_H\1cc£/Ô?ÅÄ4k"|\98\9fp\0Ää\10j\19\80\17\9b1\95RÓØ7\92\8bs2þÂ1Ôa\9d%\99Ю\9e\8f8\17\1dÝ\a&¤¦ÊøÉq\90\13M\14}Ìã) Hq\rªó\ e6 üá¤élÌfVzEÀiË  \a3\84þéËü\90\99´\17Û\16Õ®XÛ\1eY\bA©9b¡\12Ñ\16V\11Ð3ìËV[ëÚ\819æ®5\98*nlÛ\8b£]\11^\99w1Ç\0\855oÚ5oÙå'Lfo}\ 3Ä¥\1d¿¥Ï;&\98\ÔÇ\1aû*\83Äg\15Ü\17lS/s%©.YÜqé¦=w\93÷\ eß\90ÅÂWÎÌ\80?\83|\v?ËY£ô\1eÍ\8a$Ið\ 3A fä!8\99\97ì\83\84Û\83\97\ eÀ¶ÝµPäFÕæ\9b\84£Sï\bñûTÏ\1dC\1c5`Ða êû½G­\14ê\ 2rÕûÑWWã\91\96:_Æ`¨[i\1c>\v§m9y\85ß)ªã,á|\1dCF\84\ 4U°×¯\ 6*L \18db§\9bo¬´övZ}ô1ïyê\90÷¼_\82W\ 1´W\10ß\8cC\89ô콫$ö6ÎYþ\10Gt66ÔâÃ0\9d\8e_£gö\87\ f ÅÃèî\97Ò`\ 2\9a¿â\92ÚF9[\væk¦\ 3á\v\98Ëwø:ê;räã\b\84$§o­·&¹nÿ¨\9f\15ü\b\9a\96Ï\19=³Â«l\14R´;àMw\86Lå¼í\7f&»TA\15\8cs\9eÙlYòj=\ 1ȳAL)ÿÞÙ°OuúA\15\ 4\99ò\rPb¯·Ã²?ù\r£ÄE_¬<xûÎ\15\ f6éóX¥\8eØ\b\90¦\9a^üazÊ@ç\18S£ö\90\13²*Û\897u\93\14²KÐ$\10©¯\94aÅä1\18ë\86¿p\151V\9a¥êï?4\0ý/±\19 A\132A\8e7¦wÅ\1d¥\86Z(Ãb\13qp¨¢¨bÎ^q=Þ¸\10=¡C\88\95:G®äH ÿE_n.eW\ 1ÿT\ 1ïúc_§Ì\vDö3\9f\17\v·è1XèéÎ\7fä8eÇÆ]\a\f¼DçÀ\1c2îx^¾$ßó\85è¾ònð/Eì\rê\13VMÞ\85è¿´wÌäÜ0½\16øï\199»Ð½\17\9d;äôÝè^\8bË\1dñ¤Ýè^\8bÅ\1dðG\_\94\17¢Ú\9dóË\9a\86\17¢ù\13W\81z/Ã\9a\84\17¢Ê/  êé\9f5\f/E즹\81z-á£+ÿè\9aæ\ 5è¾Âkõ\85è¼Ü×,/E¶\9a\82\17¢ÜÍB\vÑssPBô_\1ef\10^wá\98*T\8c\85\86\1dÏ{3\b/E²\9a4\98ïÞ\99\82\17¢öÓ?\10^\8bðfy\81z/_3\0/Eë\f\81²øS0\ 2ô_Hi1§ïL\8fGgV;\84æè6\9a\96û\8cÜÉÀBÎ*è/Eô'|ËL¬\17¢úy\98Az.pñ0!! b-æo\ 2ô_\11¿$/EÉÌÀ\vÑ~Ûxaz/\8eR\11\13\96Õ·þ ½\17ÿ"\ 3\8eTU\8f:')x\18ï\82îkàxuØXá§õ\¶\12\18$üÓ ~·\f^\1f Úûâá\13­ß\85\83iÞö?ÍG\rO¤å\94|¾w\v\ 2/çpÈ\7fÐ-ÏνG[+ÿg-Úð°:®E'\81î0\91¥Kòkò\11\7fá(\88xrrÅè·¾5\8d\87ñø.«:ìî'^ËȦ\87'/yïyëì\85ó\11Ñw\19\85«nÿ\a\ eNkðäç\ 38\83\99¶Ñ\1c5\9e¥\f\eϳE¼ú\1c8\9dZ?í\10á¨ë$?\9aaÚòß\16CáýŰþç/ÛÂ9Ãû\91â¡L0¨\8c"]çÜóýÁ\7f\8fû\83\ 4\1c?¼îö\f'ñ:\89ÔN¢u\13¨\9dDê'Q:\89ÔN¢u\13¨\9dDê'Q:\89ÔN¢u\13¨\9dDê'Q:\89ÔN¢u\13¨\9dDê'Q:\89×üúÿá$»ht\ 4?\85÷a\80\80\9b\ f½ý¦\1dÌÆ     Ý!\ 2\a§áð¨{Ϊ2\8dÖ1u¼þ3\99A\97ïh¾ùJ\e~0"\8bô?þ ×ópH4&wöO\85\87ü]>ý\ fÁ\17ÆoÝAQÍÍ \83_ÍüL\8eü1\88[IÕ\7fQÿæÐT`U@\85m/¾Gÿ\9bAQ\84Õz¢\82\ fÿ\9aÈïõ\bÈ\1f|\8fÿû\1d>ýØ©#M-\1e$£u\\88ó\ 6[\985\9ac\91Í\95sh\96W\12aºò\84EûIîB\81\10"²lUðÊ\9b\ 3\80gïç9¿\80Ek\80\vù\14úß<Qµ·rß÷\83\87¬dr"Gbw\16zȪ\0é\17ç\88\1c\ 4\ 4\aÁ8ª\ 5q±|Ì©òJm\vaøÍñåj\9frd§î\9aMpæ\95ãáÍ\bUË´\1cÖñ.ÚþÌ*ýF\9dõ\ejwΧ(.B"Û=c/ÁÏ\8a\85ÆÇ\16¥L¸äN*ôGÈ\8cæ\95µÈt\8f\87\86sF\9bu.\1c\91Fá0D\19\14ÌK\90\10%ô \9d¦Ì8\86·\9f)Ít·Î\ 1i«çS¦Ö\8ex\85\90¤æU:FÎÓèäݧ\93h¦X\9dÚ½$m®R³#H\ fM³À<æ¦G-àÒ×\1aA\1e­ÒrÔĦ¾d~Lè\81\1c²Ó½\e\11°a\10\1d{)¬\1c½·a \8dAf~üÜ·ëç\ 1Ô½û
+:o\b\ 1G¥¯Ä\9cø\ 2çn¹Jîü¯\92ÍJ\0\19\19¡_¨÷'\83þ9Å\8b"ã$H<.´¸Õw\195rqôM²t\80\0\1cyIü\9a\92\18J       fO\1d¦.OÔ\8b$E!c£\98^H¦\9cfùx \88à-\0æoÆ$\vñ(\81<{m\ 6,r\ea
+k9\ 2ØSà\81\83\ exo\ 5\1a¢G\87{#\94\r\1c\1604-ª¼§IÑÆ\9cÒZ\1f¥À\ 3\ eË/>\13¿\86»¹²ç\ 1#\94\91\ 2ȾPÃ\14~®xà|\8c+a¬ô\8dÔ\88\1eg¥N\ 1»\15\ 1\10ærÆÁý/\18ã\1d°e\90µ=ê~K>êÁÂ(\11æÃtu#÷+\97¹NÁòN@V\a¢\1cͤ\14      \16\8aƬ\98\96Ûk\19\96êß\84\81K@\89øWTi%\7fϧ¯ã\13ÚJ\12·W2\ 2érâä÷\94\8dD\rsòúëu£qæ\94\ 5Öº\fåÿÖCÙÓ\97Óyõ|a\ 5-\83ãòõ8B\82H*\82
+]<ÙÛ\a§.®\1e¼4«©#Å3ç\8az\8aÝnT ²\80\13ü.ìÈÕM\1f;Scê$\1aÉyr¬¢º\94'çÎ\r\8bw\a\96\87ÏÂ\81aþ<±ú\12\82\16Z¾6Ç\ 1OR;.ãnéï®Ø0§Â\1càøq\ 5\8b8É].Ô\9a6GâÃ­ÜØÓ¡\8e^nyU£\82Ñ­×D\rÿ>\84µÔ\11@æ,SÛØïäßW\ 2\15m´¬%\94"\90r~½ð²\91ªâòßÏYó*¿"X\13Ãã\v0
+`%\8e    \vxB\83sü°Xx&Â3¨òw\\ 4\ 6?Ís#\11ä\1f`@Zë\89*9\bv8s\14Í]î\1d\10/\7f%;S]öQµ\95îæ-C!@\1e\15*4âÖ4]¦ §\ f¬\958\ f£\ eÙSÁ[\1a\81Ø\8cõöÒ\ 5\ 4\\89P\82}J\94\89ë®6\ 1ü8ôü\97=¿\ 2\ 1«ÿ2T ÝQT¥\1c¬/*óÐ;{\e\v·\94.ÞçåG\9chgN\ 1ÎiµñgQâE\1a\97s5üs¨óú\91\88ñ\85(     \t\ f\bn%.ùWõv\f\89óY§\15\QéibÊ]¸¢·9\v\97Vë@\8fï\11]sOu\9fÀ\81TpÂ\ 3¦\bîeÀ\\8e\1c¸5`æ%\1f\12\ 2L\9e\93\90V|\82å©´\83;5/\8a¡$VÕ\81Ú\81´b\9e\93R+6zÝIYýÒ³û¥gá\15\9f\84Vz²³Õ\95\9e´¬õ¥gâ\95\9f\8aV}éw}\81\ 5
+Î̬ìÊÏtV{\82³Í\95\9eè¬ú\92³þR³Î\95\9eø¬êÊÌ«RÝ'fVv\85g¥+?L¬ôåf¡Yê
+τV{⳶+5
+Ì«äÍ%±YÛ\95\9d¹Yò\17Â\80\7f\1a¹\83Ý\96³\e²Ì7¢®a\9a÷\98nVa¬Æa¬af\1aA]\86ÆÔÿÕËróËs\13ËqÚ\8cº«\90!\ 1\9cúÜÙYÿ)Yõ%g¾+<éYþR³«+;B³ìÊÏÓ+=)Y¨Vzr³á\15\9e ¬í\8aÏ|V~ÑY¨Ææ\84»i\fC\81 dY§ì'ôâ¢\8d\8cã\ 4\ eÚ}\ f\92Þ|ß%ºY\ 2\90^s.Ó
+\14¬Ã\17¹RÚ\1c)4¶\1cþPl¿èVÙ~\9aM\v\95¨Wf\1dÆÜö]<n\16Ã>Wk?J\99\15ò,TwÇ=\99¶*íXÝ«sOì\ezËî\aø\9fhÖõ@\10Æ\15Û1é\8d»ÖiÛ©Ö\87Ð\11_=«\99\95¼¾©Þ\ 2N'\92ã\9aæ©\94\16\9d±ó\89ý¬É§ÞÖ>\92E\ed͹\86qu;r\83\ 2ĵDÉG\1cºQMì\99°Å°0îöit¥Ê\99oJE_YY\92Ø\rÆ>ÛõÇ7\e\87ã \913 A\ 2ù»\1c/\ 3\88\19o\9a
+Æ­ÚÈàÙ\1fÈo\ 2l\81\8b0þÍ¥bÇü§õGý\9daSvÜ\869R3F gó¶,§Ý\80üTÒî\9b\9a¢Z3\10[\89\9a\aé³_=Ü77\16·¦õ\8a
+ÛòhR±TSPSkCy6í?ÊY\1eM\97FÜ7±y      =6ñåñOßÀ¢\a_Ç6¶ \82²b\9b\94\86\1a\9ee\88Á\9e\ 4\14\8e`g",\9f¯ÿ\8ea\ 6\89(ÑÙ4êà[W\94\ 4\19\9d\ 1NÌ<\ f\86\)\88]ËÇ3[>¤bÝÊ\1aÛ¿\8e\ 4®üÄ\ eÁ\15\rV²`\90\ f   4\18-\ 4¼\ 2\90\²·õ=°I\88\9eñ\96ú\93\ 40E¥äÔ¿\1c\88\8c\81\143[Ëå\86í        ù±Ëu\93\bÏ¿ãÀ\1dM1Ù\13ö:\96ËÀì\ráá\1f\12\92\82Ðÿù0\ 5â{ÜÀ_æ\ f\98Û\10\8d+:y\ 6\97\eÅ{\13\8d\86Gvì\88^\12Kz¸dv¢\80mu¹¯+\80hÅøb\80­{Îèó\81\96?\ 1x°0ØÿpÑ&î\88Ñ;\7fóá\96ñdÈ«r\95Ò\0\ 1
+§øe²3ç«¥ú\97ÓÈÏe\ 3\v÷x·µÙ³hF\92½´\ 4UÌÅÊéU]\ fÝ  èÞ+»û¥XÇ¥ëÅ\1fʧ\95&°°MOÏw[dAgèQ¦.Þí×\8a\vBR\9c\8c|Sý!\8e#K\a\a\ 1\a\87¶kݾ`ì\98Z&ØnÕ\ 5Î\ 6·jô¨þò\80Q¹F\8a\85\1dü\9a-ÕVÂ\ 4âÃùfìl\97\ 6º&¾\84©FíN\89®á[
+¼è*©øS\83Mc\9aúv2¡\\85\10-\97©Â\9c\1dáÔóMd\0\14{çFB@>­\8cidýÓîÍ\8bE6Å[,\13[/,;Á<;\84\10Àõ®|;ÿÇ\ 3[\9bÃj\96ÉFĵU\94\16(zÏlAº¤=cun\8f0çµ\8cV\1aE!\81ï8àß\91¬l*¼·«\8e9ã\\14\18SÎ8\1c\198"W\7fRÙ¹\8c\95^Hã¢\9fZüPm²\8b4J\ 3ê\1f`¼0Äè¯b\1eÞË'\91\87\1f\89ÏK\86¸^ØPDñ\92ªìU\8c\13ÊÿhµdC\ 4¡\1f¥Ï¶[p.\9bkW\81'Zf¯mà®ü;wí\93Ù¥ Øspû4\98¶0\16gÊ¡S\8fÓ\19N\9f¢¦Òûs\a\83\80×YXXW%PØ \9b\82\97Ì\1eÇ:bbIè\97Ã.\12\¨õ6
+\ 2\1c?\ 2ò(î\8fO\b\17¶q\v¨I¢AZ\92²Á\96\14ÈÐ\17gÉ~{ñ\ 6¤9\14iÜ´ìJúD\9c\bÑ©ì \fê\8e­\8c\11}³Ap®\9c\96òåB\86²¿\9b$Pè2=j½³ \12'Ãã\eP\bëICJ\9f'\93D ?ä¼\ 6\86\89\1f\bè\84Â\83\8e^T\80§\9bö·\18\ 2\82Ê\17\86\8aK¸â\r\93)\9dwþX\1a¸ïL\18\18¯\f\17B`ãºkRî/ÇJ\vº¢¡á«\9fê­0Ë\ 4-÷ÞÑ¥+ÿ}\99\99öL\84\993\ 4\91 ²\ 4B\v7E6zd\ fHÅ×00\f\8b\rpA\biäOm}\81±7U\84\86Ïj©&ä\1d\99>\99\13κùß&ê\1e\ró³u÷\80\ 4\17\92@\14\80\15\1fB\1a1MÑ\80  \9fÿ¿~ÿûì\99$\8a 
+\9aémöÔõæúÝÞ\8eÞ^^ró\97ܼ弽\vîsÝk}oZôobÝêÛü\ 4½Mç~òÞÕåê[Ú·§zרSß}uºÝÖØÚfø¥\9c
+1\88d°·Ii¿
+\18ÁJ=\8d\97b\1a\bçF\8e\87è:á\ e\88\9f\G)3Ü\80/Ò(÷ü,æQËÜtªR!\vÄ\13ÎJt\17\1eüÌ\9d\10)¾3UÔ6ú\9exâ?ã«\8e\19\80\1a\ 5\82®qKÏÀ¡>\118l#`\1f ¤ Mø£D\8b\9bѵ7òŦð^\92x8îF'©\8e\85\84ðcI^\rÁ{;åûÚ0\1d\13\84\82\99cRñõ%\ 3ü$ìVB\17@\82Á»\17ïB\89\11\8b\9bz¿]\9a½ês\9e°®Y¡·m\10\17"\8d\82d\ÜJýtÚï \1ea\12ÓhæÁYéÝ`«fâ\8d¯5ûÓdîö\86ë>\8d\93»Õ'\ 5h\19;ÕFñó\1fQ\97*\15\88\87ÎEÀrò,'p}é¶\98èóò!AݾHv\8cìÃT/WúLô¨ÒÈ\80\110ô@]ómJ\ e
+\8a\8b¾\vØ\15GY \10R\14\8b\1dü\95Ç\17gký$æC]S=\1eðß\a3x1øÒ\94h:\95_®l8ß\94þ\10`Ѷâ\e#z;\ 3`\83\8br{Õ\1d\81\ 5îÏ\9dÍÂ\1c\97Ф®·ï+Âê¿Îö\836\92½ø4Ö\83}9\9c\9a\7f\18ü\11pL'\9e\fC\83\99\0\12Y\84(3Ð\ 4\8eF1\r\13ì/\85½ÊÁËÞ­¡6Jð\88åù¿2\11\94¸À ,@mõ\8bÎ\ 24\11¯8\f.@z&Þàa\ e4@&º1\ e\91á\19PI¥~7â{2\b.wZ\vOÅaç
+\1c\vÂ#.\172zN\15ôu ~ã×@µ\89s5®Íà\81oB\r\95ß`(Pð\9eØüA\b\89Ã\ f\fo\82C\e]V\13]\83ó\0\ 4o×ívN^k\82\8d
+R\8bÙîd¶ÓþLäËv\93÷±\80\90\90{\88+*SP\ 1½ëͱµô\866R\9b!\80ȸÀÈ´\ 3\8c[\97\96ðYÒóþÚ\13Ss\1cü¸\90H]°\9b1\9d1äÖ=¦kÛÛ_
+Jx$2O\1a f\99ôhN=í¢u\97³¤ou\7f d;()3Ü£$¹Ç)Hø¢\80Ha\85\0\97\9aô\82Ee\1aà\14vìN¼
\ 5Ñ\99\ 5á\18°~#ÓU\7fKV(æ\×\92\vá2º6s5]ô»ç/rM\a"<Ôþ]íV&\13@Å8ó¤3æôÁøRÆã@÷M¿N¬ß³è7\1f\8ea\97\9b@h@d\r\94¤æ³ä`ß\84á\80\8b´äðÚ\10\9e÷¿\fìâ>\92w\ e~Þ=Xó\ 3î\8ap\8d¬(p\ 4J\b\9c¸}\8cà\9bðÛó½¢`\92 §\8aZQ©"üÖ]%ùIçqzâ$³Êmýx ñÔ
\86\99ç¡\94\ 3\ 6Ç\10Ðôd;] A¥ç§XA¹\9f±U©;\0æ\83\1a4·És±\94Pc\ f¬$\18\'\98ï\83\1c®æ \95"çv\94R$¹Ù¥°\14\18\80\80Í\18bê3l³¨Éá*7C\8ehøf=,ßnÁ«ûF\82°\93\ fë!\11Ò-\95\rêo\9chÕø\95\13áB·©8\ 1Á\98ÍÎ\1eq\ 1>2\a£ñÂ9"\15Å:\8cÞ\ 2[\12\9ff.\17\84¤h2B       AÀ\8fÞÕîbܽ\98\1c\9c\19yD®
+绩7¬t\86Æ\988J°$¼qy¶¶+öÆweÚEb\97\ 4zP±Y×ùÏÄ"\9a';Y@¸fì\92\ e£\93\fv\ 5¬2}\ erPh\ 4s\ e>Ïá\ 6\ 6\9a»`Zî¦1ÌCõ¶\v!ɾ\97ÍV\aÒõ\81\ 4å\80Í\9cY0?y¼í}Þ\ 6l\b#\9d\8fssr7HP^IOH\ 4W5è¡{m ñpó|©ÎÕÞ]ÞL¶Í]\\9c$°       Ð%ÕÐg\ e_jÀÞ\86m\ 5\9aý\9cüN)\8dø´|\13¾9sÀrù\1fº4Á\91OC?Ùdª\87VóÔ\EWôïm\82±Éʰ%\84æ
+¼åX\ 6s\ 4üß\93N¹¾\13[AÑ\ 2#\ 1vU~8ÅW\ epåU§eùJ®\1dÞ\eøÊ®\1d笪¢yÊ\96b\83®»ó\8d\9b\ e\12óÛìö­Ãà\87t\13\92Ú\93yÀ]ô°\ 56\8fR¥Ëvb´\10k\8ax'\1e¿\ fۥ̡\9b\15ÿ\8bÖùàõ¼\b¥|Â\ 5\176gmº\10½{·âz÷¾C\ì\8dñØ9A\971üð)Æ_.ÎnÞmW\14k%u»;85à禠Pù¤ÃÒö{p\91\0\9fù@c\8eõaE¨\7f`\95.l&ô(¬p!¿ïWßÁuY\18\vÀÚâ±¥/«8X\10
+k÷w\18\1d­¯8\18\1c\84<\f
+Qý5Ç£|(\8aÿóç\1fØåg\e«¬ãùÊdâQ¢\18\15@¿³ÂÎ7\ 4ÈÆ®°-%Î\ 5u\9cGÀ¨áàM~    \88\8dÞ!Jt\85H¢mA\91\1c\ 2\93\91çxÌ\15\84\b}^ÕpG\1e\17×M÷\ 2åÑÞ\8b\ 1\ 1\87\1a£3ùqb\14æÚ\7f¹À:\15¸¢­4\9e$§+\0SÁ5IGYÓTS®¨\ eRß:;\98\8a\89Ât\82\ 2)Ò'ôÏ¢ò\84Á¢Bt\8a\95êú\18Ò¯ ëy\91Ûs\ 1DáNX+\ 2\9fa\97ÊÃ\98/4JÎÆ3WÀ%JP\17\82Ê¥YQ\8dÚ\11»x¯1Í\84Àø\9c¼\1d\11AVt:\ 2Ã\ es\81\9f@¯9\96ÖpAÍ^yS\Ï\ 4TýÛBkJ(âÅ\e§ýú¥_9Ãé\fØN5öâ\rÿ\1fT\9f\11¯xuÇ\8e<\9f\18ØMêà¤\80ê\0ÈC§|¿)\r\9eÇöÄËò\97æÅÑâ\88\v³=Ðc\81ÞC\ 5-üãÞòª\14Ýò®Ù1_½Ã¯\ 6ÃÍê\11\12þOö\ 3$ór\80\93\90~ýQÝ\86Zï-:\16'd\8aJN\9b`rî\7fÏ\1d¤G\9c\184".þï\83\eár\92J6ÀL\15\rÆÔgÏ\f\ f&yÞ£yD\ 5ÐäíÕ\9dëj*\fñ¶Äkó.óæ@\1d%ÿ\9cÐDÈYæÜMÞ\14ê\89\1cm\ 2\9c R\8b\14çx\7f\ f\b»^ÏL\88\13y÷«+\96\86Ä!øGá½ä2tc%êYËèàM\10Äò\13\84\f0A\9a¼\81\9c]\94c¨¶?/}»ÜMê\9f\13zoL\ e0;¦bÏM\1dÙ\ 4\80\16\ 2="+\17Þ·Ø\98Õ\94,´ð`õð[ó\98\98³\7fñ¬ô̧I°51\9c{ °Ø\86)\896XÐ"TëïWp\88c      ÊK,<!·"Äo(\9fl¨)à\96\88NL·c?sw7¯\84V«æzf\99«åÝÜ   \9fX0\18\ 5Ø\963sOów8±SÂ\91\81®lâ\9béæ\ f\1cìá\1c\15ÀsöÙé¶;¸\ 5\1a\81÷\7f\82\ 5Üj       øÔ\82\:>\7fmsGÏø·4|ø\7f:\9e)\80\96:\9eX5¼Û©å£!J\97SË­,ÆÚûK!¶\8d¥\88Ûai^6â\ 5\9ech\b®é½\1e$ky¹ëÐ\9b\99\r|ôP¤èúùè±üÞkç\99\v\7fI×ÏF\ eÇ\81°öc¶0êy¥ 6\90)ëݧ`W~bÐB\15¼õòÓ,6ãm'FÜu£¡·ÌÚ9\e\918\99­Ç\84vzÍnü\14Ã!­óV\92\83o\9b´\18djÏH\r#\ 6êzFÑ Û¿\83×Ï5¼\0É\85eÖ;¨Pí\9a¹V\aÀ\86ÑXJ\82h"\87{\ 66¼x\9e\a;W?7':Gyt\1fM8Rv\1a\86Ê\94nÈà\ 4gso\97Ó\9böK­\b$?;zãZÀ<\ 6¶Åå_\ e\87k\ 3õRdw?4\98\83Ü&\1f\90`ÆL*áÀ\87\7fÝäë¬(óß\82Ó'~\ 4\8dÀ\ 3\89\97·\83\13A\ 5\14¤$\ 6|\9a£\81¿\8dîãèËA\87(,\ 6 cÅÉAFÀô̰Ì\87¢yb+2º8\8cÚ>Üw¬Í\824S\ 4\0Ko\84\81V\9d÷}b0pU\92Ê+\§ø\9f¹G\85ÐÌp\á^Ä;Âèex8Woq\8b@ïP_]\94íwð6Nôá0,\ 6x\e<.\863\83\85{\8cá»Â¥òíøywo¾¯Zo\96A\88ð\1d\89Þ\95wâ`\80coËQëÖ3\95g\81\80îæV\91ÙwÝàpè]¥\89iSdk1µ$wÖ\12Äó\156.uP¥\13S\17&çN¼ïJ\9cÙ[e\ 6Å\9e\8fDxô\1cÜ\v½XÇc\ 4·GsÈ;Ïð\19è\99è\18_Ýå\9d\8b
+\9f\ 6\156ÇN²OÈ\8eàf¢\81\85O0Ûvñkw\1d½E\89²×2\ 2k\vèùIemÝÕÙ¯v¹53¦Ì3ß%¼vs¾Â9\8a¥ì'ÀoSbìr\95Þ»>0\15µÀ ¸àáÖ\bÓØÕ;*\9f>¦²§kSº?¡`CÑvÜ0Ð^Þ§Ìwõ}Så\8fU\97\83A'оÅź×OGá{l^\94ÚCÊê\83ßr»'\7f·\80\88g¡gà»û&Ê®²M{½uËSâîûb·õ\94·°C©ÇärMê<öõ\10\eÔlYè\19è\80\v+³Óbðév\91yw/³\9aÆýkö\89zsÑ\8b­ò{Þý÷K\91J±æÔ\11\9d\aÝEéÚU\9aFk\eèÙ¬  \1a\É?zÞC\aà      Ë7ÉmÞü\8aM¸¼¥¤­§£þk5\98ì=NË>û¨·\83\93\95û,Ö\ 1¬øÅW³ðYè[Ôì[ÔÀoSçõy\§UxI¦ÿ\ 4(\1eEÇ}è\95kå?
+%ZùL\ 5ÿwôÇç\8eè¹åÿ¢@¤\7f\96º\ fþù\98§â5\~ï`®·?\1e¿;¿º\84æAÖ=Æ>o\19\96\19y®Ì!\1e?ázM\17 \ 3\9d^ <à\ 1ÿ\93        Z·ç\ayý"¸\8c\15\88a}Ê>^\9a\8eëÏ|Y\81Cz\85HÂç¯ñ\8c=»Æºÿï¿äõÿ\ 3YÇä\9d©?|$\ 5Ã\9b\14Z\90 G\89÷+¦>Cýó\ 2\88½Û
+\9cº¨°ÑþÚ\97÷ÇÌ54\1f-\ fAñ>á73\86m\9bùA\15\7fÞ®~ï\14âþN\82ÿ4\bñî*˼~4¦\ 4]\12D$ïßþò\8e\0oï)\19\80\16ý\11í¯=$\ 6\9c\8dÐAg¥8\ 1§çÎö1óç{\18ù\ 6\9f¦\93C¢8?\9fRÝ5Ý¿öÒgp²&bí§§òüÿþóà\ f/ç¿ÿÛþ%»Þs¸ú<Þ2\97\9c Û¡\91åöl|¿î_÷/ûô\7fI\13ÿ\97·ð>×Û\98ѶѺÑÑhþ¦\8e£F\9fº\ f\8a\84Å:åü\90¤S÷\0\12\9e\9fÜ\0J¿\1a\96\1e\9a\92Þk(e\8fõê\97{2Aqï6\eï¿6!·DÑ\vy6\9c\1fI¡ËÉ+Û#³ÿãZ\17\ 2úî¡}Smñ\99Ðpè\92¿Ö_»ÙÿY=\17 >sѰø»eq<\80ñ'<\80ÿ\bÅW\ 5/\9cdê~{|\89?Y\8c§,Ðâ\19Òõ{e~dú\ 3\92=¿Æ¥CÂì^Áçáÿ\87±{:f&\ 2\1fàzÐÉ\1dÈ%~\12 9¨\13ê×\87Myn\1e)Ññxáâë\87Ä\12\94ÛL$\r6íê6\83\8c£ß\8dá\90qà:\ 2\18+&½×\ 6\ e\aã\7fV\ f}xî\10wË:U½\899O\12m©C\84¸:î@Ã\0²ó\87\1f_bC\aø\94L?!;ê*0ê!\82zÐU\9a.\97\8dZ\1c\9f\rqIϤ<é2Þ"(âì{]¥j!\1eÜä\ 2GÉî\87Ó0Àõ\93\0²\85\ 1\8e\12âjÊ\83äÓ×§£\a~ÓJÔ\ 6â\ 5\ fŨð/«\10\12âÃ\vÕ\84aÏÁ\80\13\7f\9fñ\82±º­Gï\82\9fï
+Úy´q3"\aì¿7Ï«ë³%\94T\11mÕõº\1dªHãQ)Þ®\9bÑü£Ás¤3ãP\1a\ 3NTã\9díR¢sä'"rÒÒÙ|4jwÕÊÂ\92d\1cªH\82E$\97F\ 6VÍ)\10ñ¹«õd\9cÕîK³Us\15n\92;\85ãÙn\84!°¢\93\ 3\ f1¢b\f:3Í.Ì\84¡=\9b³.Ê+´[\vMcÉö6\9c\ 3M\1f]iV3\8d\92\8e¦^}2Ø8\13\152qH\15©\90rð      M\11*i\85\90³\82½lþèa.µÒ¾ÏÄ\86\83\ 3*\8e\ 6÷aIÑ`×Á(\14þM¾Õ=Ë^\82r\90\ fWàíÍ­\8a\16I"\f\93 Þ`Àèú0-\aÁ1LKè|#&¨Â\8fZ\89ú\bºJÁu\1aë«ÓLL@x`oHJ\9bæ\96\97V\10\1d\f,q)v\15«\96\8ebkÆ|¸0lmpÁ\8ad\a\16éT\ eG\eØâ\aØö«ÏèaÐÁ\ 2\9e\88}\19\b}\10"µHÚ~\ 1)º{B+×\12d÷Ã;5Üj¤\82à\17Oï˶\9dö\ 6?\9e\9el\9d\88\90Ý×&\1d\98bëpð\81ÐsÂW3ÔÙßgí¸\80ºOߪ´û®%U¦²òªÓYsUi¬¹ª´ÖCª´Ö\1eªÓYɪ´Ã\0ÿ\87#\1cJSZ\9czÜ»¶k\ 58Y\85ÆÕâq³Ýî¹³ÔsÁr\13íÓgR\9dM\8b\97Ø0\8aðMT\1dî{µD£\96OCøF~+õ¨ù\82æ,4nõcëø\&\16ß\86î\ eÝ\9a\1aÿêåÃÿ\99÷[\91¾÷\1e3\9fÉ`¯\19Ï\9eaîJ]~\1c\r\15\bs\12é!Ì,¦B+,¢\1a&~\1cZ\95/ßÇ\ 3\86µ?\93¼\9b\99\9dÝK·\96=J\ 6ÚõúxUÿîáGòÿ¹\7fÜ¿î_÷/ûõ\1cÝ4/\9a \99ã.{ÁÐx:/\a\8aAíú\81\rÿýqáÐf¡\a·¼ä7ô\94L\e\90·7ì'\9b\ e\ 1\e\86_ö¡\9aç\16\85µRÞr)dI\19V³ _a\17÷Ñ\1a®ìT\98\8f2\9c\ 1;¨jï¶e\bjÏÅ\7f\97\80\a\16\85Àiyþ®\0\1e\99\12Ê÷èÂË{\9e\0\19÷öÀt]\87[Jý\7f\14Áµ©¿gÖ\1f,èÏo\95C\ 5Ï!=ͧì\e"2y0i\8d\13D\b\86ý\boݹi\;ö\891öjøΡß@êRÝÒnÀB¢ãò>/^Å\ 6\99'¸l«\ 4\1a\f\ 1´ûß \1e\1f²\1e\1e < \84ìw JøS\ eÏ\95ß{Ú\eÅ\\8f\84k.\82è\aÔß"ï½úaã\rÎ\89à\9b\99\1fb·y\17C\0\8b<ÀoG¾Î\84\8c\ 1½*èw Ùé\91ñ\ 3г\1fpÖr)\81£ck´Çãßb¸N±óË\13\ 3õÍ¡\ ei-_ÐáG¼ÖtM`ÓHæMæ\99\9d\95ÍÌhrÌA®@¯\98g¥¯\99Æð¨$\1d&\ 4\eï'Oõh\8d\7fA¾Ì\ eû\98\1dP\8c\98ú.2j\8aV~¿\1f=ÔÖ¢\1e\8a±9áÑbL\82øÕüÎNW7\83I\91z´ZÀõ;Õ=0úe\85\ eä°VÓMågö\97\19\98ès50}\81\r\9dβ#]Ó<ÖGõy\¥\80i\8b\1d\8fÈÃÍ01ÇÁ\99Ã\92)6\95\8d\9a\80ϵ\ 4±\81_}ý\81÷Ü\Õ´þìS\1eº~Ô³P¤s+IÑ©½¹¡Ì\eÑ_/ªI\8bÖA½¶YKC\12\96:]ìp`\93\ 3£
+\1e #¨PÈ4×\92ÇxÁñeus \91\ erô{£_\9d'\9e[\vQ\83êi/ª]\:\96t0\b³6h&\14\0\8dhäBήפJn>k]A0öü\ 6\ 4\9b\8fQSÑ\11\ flt\9c¨ú\14ZaعS} ô Ðèt¯}ï}\16\80J@ñzNd»ÒÐ\9c£ÖA\8e÷¡ ±5\97\84¨Ý\86\bÍb\10\ 6ØQ\910·z\127ÎærÐ\12ÈI\84\15FX\8f\9a\85\91çÄ,ÇwÏ{\9e\1c0pSa¶Ìþõî\aá\81\8f6©ÒÅE³þ\1crXÖ\81»Ò\96647zRÆÇú«{cyd\ 3w¸Ø\r\80îøÔY@Èæ\a}4$ú\r\83\rô·Ý{\1c\8aa
+°E\8e$Údòy\11\80C\ 6\11Ä\9c^OÁ\ f¹4;̬\f\8eH±0L\14\12¶¤Ü\ e-ÚJä\93\ e¢ã'\93ÑIPż¯ç\1dd\86^<a÷\fÞ\92ë0;äÝùÜ­\ 4k¬Àï\94\ 2aÛ=$ò¶_">,\92`7B\1eW­68
+^\ 3Íd\9fW\95\81ÈÞ\93\85½\rÙ0\11cus½\bû\a 6¥\vz\f<#½\ 6\bQ\9dhù½íè7`A\8f\0ªJ\1aÕ9´¹¼/\101,&"`zr\ 5§OXu\1aÈUñlÀuBÉ\82\98\rè¤ÃºË7ÂE:qÃjMæ²ß#\92\b\ 3\93PÅ¥Ù±Jµu\Õvo\99J¸Öësq\81\ 4\8dÝH«\8bÃ\v\ 3\ 4KLÔ\82FÜHÁ \83\19\8bµÛ\84u?\18UÙ°ÂW\9aØ$\17Xïè\82F{ÊæÁ\ 4\8cÚ\1dAA#-æý|û0\82FSËEï+W\84\121÷fÉ\1a       \11ÈL^2ר]ëüÅÛþ\9c.e\93\1f3§µö:¼­\84\ e\1f\97ýËþÿÇðm]örÔ²Õ2ÝÔ·ðË\7f\14·\87\96\81\96áK_Zó­eZ͵ê\9aæZý6¿U¯r×@×Öj\8c½þ_\r/\8b\97ÉKüé|Ü»Éw²ÿZ_íËêåëåü\99}Ô¿³.»\r\17\86½á³xz\8c?s\87ïðÿÚ\1aÙa\ f\83_\9e\87Á»\13y.I¾îz!µG2\85½\a\18Ý_§\80Ù{\1cu¡ÿÿfë<(Ë\95\a7\9c¤WüÍÖ\7fû\a\18þåC\11¾Ïò\19Ëu\85\12ãVÇ·Çæã\85\ 2N\10þÇVß"[_ñ§\96×üoä\96×üqÂØ|w÷KÇ\9dÍ f\14\8cê8\10?f\9a¥Á \17ÀewO»\85ÏÉ\81á'Ü\13X\ 1\0>\13í\11   \95\14&ò pØ=Âë\16g\9dé\95'\a@o\14ýUÓ\1a\94÷$T\97BXæ0l}ÖÌÆ\rV\X*.ü$ª\9dõª\890Ún\f\ 6öü!=\82²QËË~°\12ºX\98H#ëé
+3\90Ƨ½ÆÓNHfLèú6ÅËÚ\8b+\12¸âÅ\82îÔY\ 6h§ë\8a\12É"\ 4\11\r½m.Ð= \16w¬        ð:¦d\89¾3¹årV¬ãÊ¡ßt(^\8c\83Ù´­¨û+&\84<ý7ô\1f)Ëì\85\94h\v6î¦)]\1fx¤?׬¥\ 1`JI\1fº'W¶\89\8fÅ;À¯wÜÈÝ7\88ÓçJu\8b\97\9c\1e³5\82RD'ZäçN\97ßu$4\89ºÉð\90ñ\90=FpZ\0çXæî0®\80øPI÷\1c§þÎ\aUy\8cÿ£ðdq²³wï\88âù \ 4\eâ\95·s\80Þ=­<\ö\f\90M\84B\83þ£ì\974B\80\10ø\95Ñ¡Îm\9a.x\18Qgýó3Éà\81ÄT«\97«ã\0\8a\81Ãø£«r2\r\97\\14\e¦\19Y+S\14®ßã²ìÔ$\9f\14\95\81î\0ól"¯J+æB\ 4\1fú)?y\9aÓI|JOÚ\92\vÄ       \1dG\9d¯    
+e~Y\8f\1eæg2ºV\86ö9\9c\14V\ edO±å\ e\18rÜg³H9u­ü°\869U0\a\9cñ\91r\94]x|\82\8cµò}ÈL\ 5\84\19\83Å\f\81àN>Ç4jÿâúCû¡ô\85Ã×\1epI¸\13¤\8cQS\8a\9cz\1f!\12G /r²\8dLyÆéH\84:\r[Ö¸Ú4X\12\9fÎØ\ 3ØPe\108+\8f8(\1f_8)d½ñ\12°\v)PÊ0D\84\1f\P¸\eð_ àñ¨-ò!+z\86E;*¼D­\1d\15\98%Ú³LhXNM6· \90\17%\82üÙ\8bÀë'ö·,¡¤&f\1aã·D'ì®ö.°d\11¶o\91\e\8eC\fÃdé\90Ñ\eI[\14{oR´ÄQöQFÕÇ;ÒÍfb¥hp\1d\84PêãÃ\14"a\94\91\10«\88\8e\96j\82*R\82óXÕ\9fÜÖ3åþ1´\7f\bR/\a÷Xbßò)/f0Kp­:W\9a¨\87ò\83 \7f¾\95õDEP\8aZï-9\ 1=ä´93aùÑîFk£ÆC¥0A\v¼\9fÖµÚM¾£\fXg\8e¯~Qï÷\aß\b\7f\0\88¥Ês(\94}\r\1fE¿?F\1fjCý{\9f\1a\¬'ÄÛüuïå\10C\94\ eFÏø\88ü\11D×Ûý\82ú<óT¸ù\8e?¡Ãæ>A\81Ð\8bÀ\85Òp-pÐ#ËJå\98ü\97#Vú/8å*\852tß\1c,\85\15×eØ\ fç\1fbÖÂmõ$î\0ú\ 6\8f)'e´ró\7fs h\ 5\vgÙ\ü:\1c\fkÞâ®t\8f\7f7<$\ 1ô\0\99Ø\9d\11ó£VÇ8\1d\8b\ 6\1d\9b}\9e\1c6fô\1eÆühC`úÙ¼\86­ß.7ØNùø`è\;}<A\ 1ÈqdI\8cg\1f\ 4\8f[c¾åè\9fîp\1fÏE[\0Wê$ßüÅëá$ßâ\97ûÿ1&ÿ®\89þbMþ¡\0\7fêO?Á×è\fÿ\b\9c½\8eújvÒÀ¨\9dyäÚÆ\99}x\83\92oî²%\br\95\87õWC\86\13µÄ\96\85!K\81ÍôtÄJ\8bnAçOÀ\81\ 4´à§\eâa.*Ý\84D6G\1euÅCð±\84­\1a\82pmÑB\1fç\8aÃ\ 2äW\12<ÑÉ7k\98K\89\1d,&bÏ\rq&I\1eñ\8c%ÅÿHÂíq\1f\8c\1akQ¶ò\ 4\9f4\ 1\9b7´ön&\85nßVÐQoFNØÂ£\11\15\84\18À&\89\f§\18\8a£ò\9eìhÞäz2CÐùÓZÕ¹\15¡4\v}å#ô\1a\9d1Äeͱ;/Jz\174ÿ\8c\91\11¯Å\11 \13Ø\9b\fLpÊ\85<é¾$A¿Ò\146[\f¸YL{Ä\1a vö|,øéPM«æ\93ò\96\92:'\9fàÄ\1e\87lrö©\88«mÈ÷1\17\1aΠ   p6ãR£A¬"Qx\10\7f\ 6\9f rc´\ 6~Í\»5ô'è\ 1    Û\12åóM\1f,@¤¼°-P«\1dôÍ
+éÐ\95Ó®\10½/M$WL\19]<"ºJ\15Ñ¡]:1VÈ)¥Jè@L½\93\82º\12Îd=\1cx#\ eetlWM\89]6Eï®Jéª+£áV¸é\9d\15Óí\95ÒĽöt®\9d¹]\ 4\8bñ½¦Ë\15Ó³+§\f®\99\82ºf
+è.\8c­í7^WLy]4EÓH\88êßy ¢\96/\9dØr\ 2`\15ÔtrŹ&\e\ 3©Â¥\96.Ø<!\11þ#¹Ò\9aÌV\87¶K\98\ 3ÅÕ\17RU\86\93Óý¢¤ó\88ì\vìæé \16\99v\13\8fd@øÛ¦xMâxèÜJ"\ 4U\9f\90\9f\ en^âx\ e ¸{\91\8fÕЩÓY\9fØáÌ hgUz¢#\95Êrï\7fçé-ÔfCs\12?1}Ú\19\7fJHeýjõ`À\84ÔK\8c+-Rõ`À\84ÜI\­j-\17\958eëÃ:\89,\97\11+Áì\97\9eK\18ÈýB1ý\9aáC)¶ä:Ì·\90ÇY\969z\87¢\1c\e`ÃÖM×ÃYbÿE\v\8ahLßX6âYåç&\86y¤"
+\8dÀ\81\86v\17\14oq§âÁ8ÿÎI\1eõt&\98\1f_©%¼fP\11©$Jv{µÐ\8eÉIÙ2P\1cx\91\17ð\82+\13ýÉì\81)¥÷óUä\12\ 6d¼5ö«ê\96øl\ 6\r\rTö"*5ËdzO¶\87\9dºÿñ\9dH\7få\9cù_*7òü©_\aòX_\1f+ºC¹`èwd®<\aü?ß\89±¹\1fðþ÷tWÆî¾ù\1c5;ļ¿ó¡x|\94Â_õ\9báûj\1cŽû\9bÜÎx\f¼}\17ËÞ/ò¯\12³Þ_\17ß\96\97\ fñÒáþjã¤\17÷\87j½äÀ­ôwø\86Ò\8cзiÆ\96}»ìö\96ß\8fÆ\8fÖF\7fõ-cc\bÕUò¥ã>þ3úÒÖ0àéÿ¨Ö\ fÑ\9cÔ[ѱø\92Ö1\rOñGª\91â¾\ e4ø*7 >´ô\a·Çã'Ñ\1e\v\9fÔg·ÈKXÐ9ÑçB3àé6ã\ f¢¹.,´\vñ
+BÛ­°ô\81b\8d)\93\0Ó®Hì\9fíªN\8aN\b\99Ù_Gz\1dúUï\9d\ f\\8f´Ä©v1e¢QÛÖ*B\16¤\fèx\9cØá\ 4\1féø¤ð××\ eø³/¸D3\97Ë B%ܱ¼Ú\96
+ ý&ñ³\89V\0\ 2Vh÷\10½&ò\8fq\fRoϽÄE\84\93Zq\r\12o\16÷\11\1a\12MfÄG¤±î"A\9e\99¾\ 5ÛÜD\91­È\1aÞ\ 4ÖÁýñI\9aß:k|é­ßÍn\Öä\8do\ eåö:>mó\99B]ò-%\17\90\13Ç.Öh`\12\1eIK\bX(9ä\85Wâ,¯\8eâ\15\86a}'\87Ñ*'\9a!\ 5%gÄ\rn\ \b,*Wkõ\8a²\91©"¥5\87ÁÙIÊ0Í\ 5\15\12«H¤\15¨\ e¬ZÉÒH=_N\12#\ 5
+MPgÿ\90ôe\83\867
+á¸\ 5
+@K\ ew>uøfUºC
+ÄÊOR   À\87\ 4«Úkee\83\15¯\85\9cyX\9e6qçþ\1cã\1c\8b\1fO¤°AH^¹\1fØ?Å\9fìUi&\ 1Û3®\15¬.Q%ÿQêÀÏð¥7\91\ 4t\fë9ê U\fjØã­yøÑ\9e\1f1Iæ¾À§\81צ\80\veî@Fã\88\94k3ÈI\rÃ\ 1ùL\ 6Õçª\ 5g\153ÑØ=xÎÚG-ý\ 2»ßü\9c#ÿ=\87ÃÂ?Õ°üÜ#þÙ\87é''ý;\bdäþm\842r\7f\82-ðýb'á \ 4\fÅá\13\93ù\12\98u\ eø¥\82K×#Å''äh|ù\ 4äÿË\85,\14xëò<rr\7f÷Qº''þ\9aÿÎNOñ¨üdäÿý4Mÿ\16J\91å+W¿Ú\93ùMÈÇ8<õAGÑo¾~´&Ä\92\1f\8f ü\80\r`j\15\80\bU\9eø\8c;t­\9en\16\13E\9bï\ 5\9cë¯\93\aÂÎ\12\b\89Mz^Zd[\8ff\14§ÁìS\99'\8cÂ8\8f`y8\92\94!\ 6k¸£       ð·\93ÞÞÛ\84\9aBÒ¬pº°\97ãf\82Ô>\9b¯\9cI\1c\19×LÿG\87p
+\bm/\9eßií¯gá,\80ÏÂ\89WJCEî)\ 2«í\ 3=\13z\8fA½G\8eÞ£Ì\9cK\84\12£´g¦Èáܵ\82\ 5!\99åuVJo­¬håu¼ôfO{ßå\1f\ 41\7fPÒTW»Ò%XïHÍaÚæTë\9d#9'é[\1aÍ\9e\90(¿\99ÚMÀQ~\93ip&À0Í:|\88Ò\ 3NÍùµ^Å\ 6k#\80}³ë\94£5+T£5$¬äö\fð6zç-_ÔXÕÙ¯]¬\9bKr\14`Ôëz\9fA½O\8eÞ§Ì\1a0\81T\8cg)Õ@©ó]¥êáY¬¿æPR\8céy¬c\97ö\IÆ,B\81f~31,\85\ 3\ayx9\992²¼hÝõ(Ýî\ 3¼»5\99      6Îòà\0ùý¾Ûp.®F\ 5©ÆÆf
+\8d\95\9dø'\86©saQÿÁXÄ\ 6\8d8ä`@\9b\ 5Óª{¢ªWqÍ\aº_\9bHÊk<\80²\83\ e\ 3\98:â2Ëtöä¿8>\1f%°B\8d×xW\1eÄ`ïÓmAë\85SU­¼æt]K\8dÿÞ'|þÜíPã\10½}õ\14G¿\84\9d\8d\8ctÕúd$:Î\95       \f\84Ú\12\12îP\90Y\8b(é«ÞAµÞï\81\ fÇÚ\ fÇãr\17,#\16\95\1fïvÕ÷\86x\9eñ\eSÿ¡:×ãѱ÷Ô,âùs&5ýfzü;\r+m'\ 3îqÈqYo\97\84GîèF\r\a£Ù'ÝÌ3¶k¹\88\8a\9a+\8b¾O\15Ïy\eaß'¼á`\aKoÿ¢\11®\f½IC\84ßÊ!\1aò_÷!\1aþÊ\93\1c\17ü\84#]±â\16ÞÙ\ e$Æýî¥\9dç\12ygyòf8?z<³¼ýÓ\NÚàý­Õ\16ó\ f8Æà¤\8bÝË9J\9b\17\bý\9b\94\9dOÑÙ\12Qõ½\88\8b¤\8f\8b\10s\91dû#¸'\0î\95mÄ'È\16*ChRD \7f\ el\15Ãì[©±n\bêà»HM\90\98²2©\80­4m\15\9a\85\18E%r\18þ\9f\15\8d\1cTýP\82Y/\9fQ<\86|\82®k®;$ -onÒqôÜ|#õ~\v_\98\90\80{³õZy\a7¼9LD\ 2d¸Të§ë\1c`w¾¡úÄôî9SqÛ¤Tå\1f\f\82T¡ïÒ\ 4$ëÆ^\8f¾JØs\ 1\10ª[\ e`\1fýºØs\0à [\ e`\1c\19\15°æ\ 1Á0¶\1cÀ89¥°æ\ 1À5\9c\ 1\80ô\96C\98
+\10\81\93u%ê\11\94B\1cÀmú\ 4.&\ 2\12È¥\eÜætB¸=̽\7fæÒ«xÆ    îï\99\r\ 6ßy/~a{
\92\ 5£*\94w)$Õþ¡GÚ\8d$=      #ìp×sx\11\91éAÜ\89¬\9e\9dcbÀùÑ?\99áQx£>\89ù:qG\1dûbü\a;\8b\82x5îËÖ\1cYØÍ\15kjô+[X#ZÛZ²µ¶¹}kmy­ù\ 6óù&·°aZÚÄÖö1\15­¶Kk[lÍ\7fò\8doË5ÿÌ5¿4×û#[ó\8d\7fó×V¶Ú\1aÿè\1aߢkÿ¤k~\99¯öf·ê\1aÿµ5¿U\8dkm´Ukm¹°}Á­îM\83¦kv\86Á÷F·jl\1fvk\7f\80Ø>ðÖýh\90ѱ?!
\b"\ 5£J2Îzô\ 2\9f\98\87\9e\85\15lÕN\8f$3>D¾Qÿßçþ\93\1c÷\ f\98\97~ÿ\91I¯Ý-øx\rþBßÍÀoï\16þ\9e\ 3\7f\1f\ 1¿&¶\1f\ 1½©\16#HÕ§à7\84\ fåáp\eú\ 2!\14Ì\v\ 4ñ\96qx\rû\95\9c\9e\ 3~Ýd.\ 3\7fÏYÇà7øË.¸\rÿ)gçà7õK9E&¿\92RIÈ\8díå\86^\86}@G\83íh*>r¼¢\90¯ÚÑÿ\ 3H!.Ë#ºõ~ï¶\9aÐm¤y¬m\1cÞC\ 3ö;O\ 3ey³­úÊ<¿ëÜG«·\ fü²ê}A\ f\aäµ`ãçË9û\16WÏjg\ fÖÛü\8e\86
+1\v\18Ü»éü\99\19YN!a\7f¼\88Vªæ4±\9fù\96ÔÜL-ª½ßÇ\0Èp\83³Wývéÿ\90ùç\ f>ýíº|ùå·\ f B\14Ã`ø\8e¤ýawãj[ãíÓÒ\9cܧè8¦å]µÚ
+\8fÙI´Å3ÓGâ\9aì¼b\9bÔ¿\9c$\18FkÓ ùS`A¢æ¶\941næ]- è\1dÌÑ- ç\9cÁ«n\ 39,+9Õá\rp7     G\86\1d\13V\85;\ 5\18Å=½Õ,UÄû©%[v°hæ`\90Îý Í\r@i¥`ÏK\8bXRJ «³bÖÁºçãÇk7\91ãûñ\ ed\80*{á\83\e\ e¿«
+²yÐ\19Ëa\87À\1c+\9a,(!!fÛ¡Ìɶ\9f\88\vN³|ØÃ\80î_±£ùphsÒÏîd«æl¡õ\95\9eÚ[=.üdQ\9b\90\93\92\bc©Óúë­Á\9d^\ eæ\81®\v­Ía÷NÂ\13k\9dL"\94×¾5õ¥Ê»\89ß\8amK\18®SÉ)#*ÐyZàæó\87hǯ\16\9c\1e\r¶|¡£\ 4æÌ\em\b:WÇ\15ml\rîë\89·\89¦\ 4 N\8ej\r\aÙµmG\82á3Ò\8c\a\ 6'WW\1e\13óGnDq\ 5$\ 4 Ú       c`#z\0ÿ\90âab\98\ fÑ\1fFB\87ĺjÜ Öe\9a¿µü*¬kqî\1e¹\92;\94Cg¥´g¥ö\r Kt½\11lUo\9dY\eNk½ ±é\9aÃî\9a1È6î\v\ 4ÙÄ\16\82³\8f±<øò¦Á{\80\ 6 \ 3÷\99\13\9e-mNpUhû\86£íd\a\1cBùÄy\r¹Åd¤Ù*FìSttû[¯\84V\15îä\90&-Vµ\97\84ÄzÚa]×\9eÑh\rÿè\9bS\f«·û§´Yçoh£ÍÿÉ=¢¨;¨\8e\92Uc\95rû$»Ã7ÈÏZ\98\9b¥¨É¡ëÙv2N@\16ým5° \8fmOZ\10ÒgiOb#ÉÜIÞx>}S|\89Þ6§ôñI{MÍðY®ø$?QÑ\1aé½mOÃÅ.ö\S\92\96\16Þ¯pÄ×]Ì \9dH\10¤à]¸oW¶bÝôä\9cP®z¦ÑþÀi\1aí)\ 4ßÀ\7fP·¤«Ý·\179kJ«\9d!ltâ)YGí\89»·W\16vwÿÄHEkx¨\ eÁGx\ 5Ê\ fP\ 2qÌ%\bg2\1eéÍ\äj\99\ 2\1c\97w\13\1a£\8d\8có\93ô\16z_MÃ<e\96*\9f\82\18Äg\13\18\8d
+\10\ f¡áÐÆ¨Õ1\0\16\ 1
+ÎþÏ\14\9b\93\8aL1¹XJ$\94¦\8b½\ 5å\9d+aL2æë\0ñ\17\9c\17\1e\12\96\\ e¢1IIcK§ÑpE®£\84\8b&zÉ9|jí·L\93\8b6 Ð\1cãMñÈ\b%\10\ e\96ùªÞÏöGÑ1\89NY¯µ¿\88\ e&nó\7f\ 6\86ø\ 3\ 2\19ù6\ eíkz¿PgÙ\8e|`Vkr\97e\82ÛvÝ\ f´Ïµ\ 1¦\16¶ÉÅ6¨ð¯ç6»\9bSï(ø8\ 6}ª#\rIj   9ZrÔ«X'\90©\ 3°nw\10\ 1®ýJ»\9a¶gÚ÷þÑÜ\91\1f¶Õrá3ηB¤0\8c\12 Á8S"üOV\»ÍMÊküKéwÚAP[\ eu\ 2¦\80º¦¾Í\e\82´»Eô½W¸\96èO\½V=#E\958)Æ9º\8fe\89¸½â\14Q       QìÄcL2\13t~õ\1ey\15\eý\13èí¢\86\898NÛiÚI\15\13\13Ã\9b\9e\ 4&\7f'ÿ\1dÕ?\99È?ñ\7f±üçþ-wø\ fü\\v\93ÿ\17«¹?ñuÅÕ\82Ѩ\7fâþÝÉÿ\8býâ"Î\9fÀX&\13\8cUÀû\1fì\9fø¹»\83ÿ\17åûçþ/\ 5v\7fâû¿Ð\7fâýu¿ «\81¨Å¦À"Å\88L\14·-\82k\93\8e\13h\89\9b\0k\14Ýi6ƺK\ 4\88Á`\ 5\82\81\aÈÓ\85\ 6Ç\15^"\fÑå\9cE_¨¸`Â\16ú÷½£IÙþû&gÒI$\93ì\92\11$   \ 2\ 1\ 5\95\14±\ 2Ú\fDÏ¡\913\a#b\82ÒÕªZ,£ko\9a\19\12\14\1a``>Ì\9f9uñæí«jÐVÚ/\9bhµ¤\80µd
+I!U\81
\eV°²µ\1a©`\ 1'ß¿ßßÿ}\99$\98\ 4\b\95j\9eõÝòúßo/7yî\9eô7z\eÑßs\9bÎo9½\rèïSÝ\8dç7z{ÐÞ¦þ\ 3÷¹»ËÚÞ·½Íæô7\9bÙÞñO\ fv\92]u¶ÆÑy\ 3)·âw¬\11\87q^гPI\f%ÔÒS»^íMdhM\82\1e(¼z\v}ôÇC¥$\flÅÎá\17´ju\12ÈÎ\11\8dCÜå\9b\80\r£&áó\17¡\96P\9c\8c\r\90l\1a\1d?®qxC\9flÊëï%}ËB\95øl7[t^/\9d\8bÀ×\14{Qî\8f%l\91¨\¬4qW1 \94ƾ(ö<Å}Vÿ_wÇ|cE÷¯:'ÿ­küÇk \8dëº\99Þc°\93êù×½«þ\7fÿî«/Ò\11tÜçI®\88òÈ\12\82óâqùû>÷Ã\94\9bñù\8d?\7f\92øozÊ_\eW)\1cãk \95½mûèÓ·Ãi½6\1am\7fK!ÿ×p\17N\1eê_Ü~Hñ×>ÿò\a\9a\fõ\9dÂ~Ë\8b\9bºI\ 5Ó^\940\1c\9bõµ»Ã\8b\99±ûõµ»É²ØQºçq!û]À^\8b\9b Î]÷³JïÂ\9eåÌ\88\7fL\98wÈÿaYؤ\95¢º·\15I\ 6\93VF·²ìMÜ!\12¬ì\17ðU%ªn\10áóÅç\16Ö\ 2;°DrÿFr.\9d?´ô\b8\ f ¯ä¯W\fb\0n\10¬\7fôWÂ\ 62£ó\16\ 2¯U8{%&ã×À\r\8cÿ}¿¯î\17¯åÊ¿x´§B@\82\9bU´yEd
+Æ^¹É'åKDÔÖYQÕ9IÒ¸}z¼®½U\1cì\95\8c\b8<6\87\9f\96¬\aXcº\99qpÑö\7f\f\95Þ\17\8cE,,<\10¯Vy¦ÿ\rµ\fa\vû\16ìál73Ç`÷êè  \\99nÊÅ\ 6d0WhfÎl\ 6û¹Þ\95_%µá\88+AÂð\98\95Þ×u\18Ë\90·\82b\vli5­ô0*ú@e
+|òu÷û\ 4÷M@yµ|\9f\88ê\fè\142\e^LîO­Û
+ìG´\86¥\82)Zù\9fÖ¸ä>Bg\84j\7fõm\86Bo¨ø!³ãËEjgloä³ã\14Ë"\1d\17¥æ*Éæ+hó\15¶.ü6\b®6\8eÜX;H-¥\82Bp\82Ú\$[eÿs\ 1¸¨\9dAm\81\1dÎï_<     ëOÂx´É4¡<$è\ 5\879\82\9e\83o*p\9fà">\ 1O\968L\89Âc\r¼]êÎÈûP\9c'Rnpñ"lwC\ 2t\\96¸\13³ç8À\16\94\96\9c\90\92\7f\ 5%Ã]ô%>0\13\93ûW³¿\rî\ 19=¿ö\177¿Ø\86ûø}´7ßÃúí?Ê\ 4äü.Y\9fÛ=.¿êv\13½§¥ö>O\7fá·wÝü­'q¾}s\91\8by]âÜ\16¾3\9a     ÿY C\9eã½T
+\14y¶poÎÌ¿Älëù~kM
+\93ËíýæOù|\9f{\1cãÃÄ%oÞ_³P?tââO\86\Úü\aÃG\8a\8eêÉ×Ûñ\1fÝÂMê0púÀ>\97Û092f\8cÿüi\ 1ÂÁ¡Ì®ð~ÎãÏV\83Îl­à\9es¤Wz\e­Â£¬5úìÔf@\9fç\87\8dáø<$Ýëj\8dÒ\ e\87³º$«\8a\10Ja4lÿ Ç\83\ eÇ\82m­ãË\19\8e8\17³O÷`   \eÉ\¨3°\9dÈ\17ޯ˵¥[Ñ¥[\8f¶éU[Ñ\ eµë\8f\7fóf\9a\85{Q*D\99m\ 5\ 4Í­Eè½\9b\7f¾h,W\12{\1c!s\8cnè¬:\9e9âÖ¶ÂÍ\1f÷\ 5\a\99^\râ\8f-`ü«w\90yw\90~l{\98?6h_Ë\1aú\aûäô=\9809ºZ/ÇQ§s\ 3Eo_\94Ý4v¶Çoö\88\10èü÷8üýº\9a_¢[ù\ e\96Ô\80\90©ØU_p{s¼5\14^\82\9a^HÉxÕ-è]M2«~\87\7fvA\93Ê\92\ 1¡í\90É)¥ü\ 5ô_\94·x¶\88(\16!³VÁ0M¦Ö¸\90ë{\97\9d\ 5¶* !=¡¶t\7fpÑî\19O\9d§09â\7fpÙ@TÆ   ;ï&n\97(÷÷\f¿}\8f.,l&\ eµ\8búÒÉTE»Ä\15áÇ+\18\87h®*Ã\11]E±R\8f\8eå|\92eT£\rõw®\9b;À2ÇC\12\ 6\1dÊÓè'Jû\v¹B\12ªr\8b£4:VR:\13\171\a]9\ ekÇΰþ\ fäÛGh,ÕùÆ^\81\9dhgýJÂ\136³bwùç\10¬ÛÇ\vîI\84]\7fw>3Å­\0|\93¶y\aD/äîÆq+ÂØ¶\17\869?¡8^\8b7^\8d¥ÁÖ£ LÝÔØ\8aýtdL]ê§\ e¦Ì\1dM¡À1v\9fì#\8eêÒe-Aj\8d\95u + \9b#îEÿµ° /l\9fÜ&§W,\\81Gn\82±Q+\ 4yy\91^\9bl]\vóï[e\9cÀÏî±µ¶ÜÊù0n\9eÑ<\84­«µ£í±\0ã²a+\8f\83Mn\12¦6=ä\1a\95ò­©\9a\1d#Ýþî7CçºZAÝ\15\8d\8cª\82NX\8d\89wÂb·\84\18\92S\ 1t/\16\8c\b\82§\bò\89Â\13EPr\18{·Ýé®\17à\ 1\84Ñ5t\89kÄã\ 2\8a0Xã\9bËBã\11\7f\91¸\9aw\ 5(h¬ÎïFÚºÔ®ñ»\14\ 6\1f\81@E°\8e\8e\96¬4\1c_ôPXl;<\14K¼§C\v\87\ fá\11ÔÝ%*\1aÃå\9d1^^´YõÚôª©àºi^á¬d
+fÐ)\93u\ 6\9a\1a\99Uÿ|rÿü é#Ps\1c}{\8c^~\ 57»B \89\8dÆÖíþIr=\ 3\1eñJ¾ÇÕTbU   ûp\91\9d®/?Qúý\ fv³©WkS\au;\91_%[\1c÷âuE\0b\8esÆyDøb\9e{hê      £:\88$Wøö\ f¦\91{u¢1Ó½áø\83ã}\ 6}J\9b\ 5\ eXH¡\17b=TË7\16\81ç\ 6ê\8bmÁõRõ§\8f!s4Åx\82r\1eèXÄð\86|h\f\8d¨\ 3\ 5ÁÒºù\15¸¸\81\903
\11\956X\97\8a\13\802\82¿x\80(\93¡ºTÒ\ 4\88hÕ¬Å"É#?Ù\ÒBÌL«
+§Õt\12¿fk/°¦\a-yæ \ 1\aEûÜ"\96*\rå£Î\17æx¿-ÊÀÅ\11W\1eRÁø1¶ÒªÀéS/\f\83¸9øÕkÕM\7fÃJªzH*´^-ªÿöÎàô²«ÿøêX<Þ\11\7fß\1fm\9fßÈ\85\f(\0\aÔ+ãóQ.w\ 5YWF\86n_Ú\/å
+L?7m\8f\87<¯U«F'¡  ]\14Å\13ÝüåÂÿ¾=ÛúìY¥#4ÔÒ\ 5ØJ½\19\9f^|Ò&M¤~Ú\7fÍ\92\94TØgt >~Tµà\80ù\82Ì\9b_éwÑ\96d@|õrÈ\10\1f?\1e[\80 >q\14§ú\18¥ü\91µV\10` Ëü¶        Su\12\ 1@í¯æ{ú\1fcóï}×
\02Q\1eý\ eÀ²\96\91c)km\98¢TÓl\8dPìqÊ\913B<Èg\9bçµ\80̧(¼\1cïÙ_Ò\84%?|       \14QþΣé)¬÷þ\80vdâC\14çd"C©ke\9dXdé£\10LoP9«p¥÷´[\89å4Åe$H\96®ä_h½\18Õ4¡\15½\8f\b\9bÔIØ\12¶j$ä\810HÃ\16\ e[§°É\8eÁ\18\95\7f1nÐP\8e*'\ 4¼J÷\fJäl     GÒ\1d\82à°Å¾Ñ~J¥4¦®©È\10 xIÉ?2\84óAÚ·eëM¾±^\11ü\8f¦/.?\8e\1eñ¹:¦\7f'6OF»Éã=C»BàZ\80ºx\8c\97I\v+Ö 8ëÑÒ¬¹I\92\ 2\8aÎ\936`\8e\9e$yUº¼PÑåa©Þ\90NÜY!guÜP3ÒM\83ñC8÷M!ô\94WT1%»\13jy\|H-Þé\80
+cf\v\ 6]!\99Ó¨\90[=Û\ eШÌ\16§|ô,3\ 5Ç\98\ 5WæbA59.m\98\8dÙ\ 2¼\9f\14½\19wB\pã-P/¨Jè
+\98Ç\1cÁÈ(\94Lcó^d3-Ôê\82\9a¦æ¡vø«\12NªÞ¨'\12å\93Ó`!\97.6ºz"³\va\9b\8f\8dð\8dWõw\19ÓüWL\81dW\88juiä\1aÂX8ù)XwyµÒÌ,~~r>\943\19áw&-\1dt\ 2$í¹8lÝ0jÛuÛüÔÓ YÆò\14§h,f¬'Р       RQº\9a¥Yóæ\90ô'üC³,¿Á0Ë\95ÆC\fÙÈw¬oPõ$\8f\12°ý\vws÷\9d¿°níý}\v·û\18÷\94Kú/¤Ü\93L\99r{\ 1w=\1fØP\87\0²tÿcBIìYýÍ
+\9aLñÞ\9eÿ\8f0L\1cF\86K#V°s5Gu2©\8dég\15\85ðZ\8e¾£¸\1cä\1e®T]b9ªp\1aÁ¥´\95R¯g]ø[\8b&ysr£ÙQx`\86\99X³   \1dè\94´y\8a×\91d=¤tyP\ 1¢'!ú¤\9fòËÞ¹À\7f¬\ 5\94ÞÓ\83¥÷\88bèݸ$Í\93Fx7(oöP\9a\13É\9aÙ\90À\ 5Õ;ZP΢âÍ\19\f\99;\ 47:¾#b\13¦wNH%2
+9\frg&_D\15¬¼¼0È"Z\9a\9e\932«*|ÁU\95\ 2EZ_ü÷\96x²aÖîÕ
+±nÅ[\96ô¡IãìI\90A\10ȧG\\0ÌMf´z³¼W\95Q÷¿Hkÿ{.
+ßþïFè?g£|¬µç£`aíø\9e\8dÊK{^\8dÐ\7f·Ñ»¡\14ß4\v\ 2lÉÖ@\8f0÷,\13<·4ò\89]VqÔ*=馻Ŭ\1fÛµUm\90Mx¡ù\8e\18Mw¹R\ eW\8a,\9dnx.í¼«v^¸û`\18Ñ=oÀf`\aÃN\14\ 3åÆ\ 3ûòÀw\7f·\ 1Ã\85â\87n'à`=4\7f´\9c\8b\ 3_l\86\ 5®Ø÷á\8c
+Ì-²,Ë\8aÊ\1cø\88²\87/3[W\94YM^r\89|!\r\18÷nÕÞh)´_\ 40×10q\13ª,¥\8evr\97Mµ ã. c\ 6L:\ 6ÌÿM=¤Îßý¸.\ 6å\ 6ï\ 5æ¿Ç\82÷È\11­Á©Ð\17!1\94n\8b4âZR(xP\9eé(`ZRÊ\e·\fòù\9aÜ/"ê'\829ÉSíl]5\ 4\83Í\9d\96\ 4Ç\89I\8cܺ\f\b\14×j\1a\eæ\84bÇ÷",<w\8bl\151\ 5Ã1\19»ß1dI®¤V\17R-"$\\89°\f[_)Ó[\8b\8f\191W\ 4
+^~vsêmÈ-¾}Çg\8fà\ 6\9ay\81\7f\895=\99¹ù1!aºd\ 2\18~d\8e2\ 2\8d\vÐ36ENa\8e-\87\füù&¥_áãÉ\r¸ÈC´dnÁȠبJ\1dð3Dn\97Òa5@ ;GC®\19¡¬7\83\1190Ö\e\ 1|\91\8c*÷óf®\18-§àÍ!ÖP\144]m\1d­º\ fsølC²WÉÐÚÉ\8a\98\98\16\10×\8eùÃO0´X\ 3«\9bÒÂt¾nN\eÂÊï\89\1cÞÚ\90\82O\vÈ\1f&\942°m_\ 3F®?8\1f\93\181g\8e\11\80/\97ñä\8d\ed 4\93g¡òP´Äe£\90em¢qgvÒÏ/Ë\ fJð4ܯ\19Ì\ e\8dÿ*ÑzÛ\95lË9\84t\92\\16s\b¦\92\8aÎa\1c¼\94U\87*ÀwÝ\86j\ 3Ï\ 6)\96Ú*µmÝì©ø\afçooaɰ6K¬\84\96{à      È\110\9c\7fÍÐ!<i\16\18\8d
+\11\15Ö&¿ZÃ"æ\84\84˪Ö\1fW'Oµ6iéus\99¡5\8cN/\14»s/\9a\eË3Á",­![ òØ\8e\ f0qèv6\18\97È\88\9e\1dßQÁ±<!\1a\19»Æ,ëª/â\14CÜØS+\9d\ 1^\9br²ü\1dë\86\98S%2Jö\13Õ\17À;Ó¬¯v\93ä\12\99ýy*fw\17J\99eÁ¦À;+¹Ñ\19\82Û¨?SQq\rbëoÑ\10Àhî8Z:Ã\v\87w\90§@»ðªþ¦i¨B\16   s0\ÍÊ\92îõZ<\84fG\99\83\97\9bã\84\0\89-k\87oëh\1dè÷A«ç3\95ô°pLs\rðÓ@ØåñïZD_nªÖ4\8bZ\ f\97Ú­ÛýÓ[¾\1a\ fî\16\9cï\8e\94?\82\15 úÁ^\ 2Þ\91m\98_*Ö\94\8as\1e\10T\95zÇ3ùõü{\ 1gÙ3[1æù\95Ö\8a:ú.\9a\97\93A]i\80tׯu\9a\ 1~M¡t×l\ 2ÿ\95±\0µã\b¤Á®ÕÝ\17¦/l\11\81\8f]"Ö´\8b~sÐG\87òR\15Ý\r'+¼z\9dÏ;=lÖç\9d\9av×|ì\175ïæh   \ 1Ù$ª<\våê«Cx\8a\bÙsâ±®p>¡¦ÐO\8e\ 6ø®\ eK\97"ïn/\89\ 1×õÎû\96\96ºN\1cî*\ eï\17ÃX\95\e\84\15uD
\ 3\1c\15Õ\87\89Ì_÷Zì\81\E[\17c\8dÐWPO\b¯\ 5\9aÄ_\92¸^\bÈ\f\ 5ùE\ 5Õ¹u³Z\aû¨Ý\ f\9cê\173³7ÚÆ¹-WNÌdø\93«\f\9d¨â\f\97ýî\v½\ fÁîÁ"\17º°~3 åÈ<üÐ\92(SçÆ¶ô\1ci5×ì$ú_T·ë8Hä\ 6"\14$ó¤åzÒ\9d¡uf\ 1ÖuÓÛ\9a\8fY65\ 1Í\97W\1c&4ýõOÄ\16       v\90\9aÙ¸4\98âyâÏ<"E\14Ï= \89\ f\93ùe­\80\ 1v%8ÃG×aú¼=ùø³!ÎB÷\88H\1aP\93²Þ! UBO_¼e\8dI}\12ñ0Ƥ?WzË\1a\90\8bRW\11ò¹K½Y¯\8aHêì\7fNë¤\17pTßÿóºû\9fù\9bçÏüAwÿvödü\13\13O2{Ç@])ücã5\82M\ f'\83»f÷IÞ>X?¯¿¯\94OÛß×ù­¿×¿¯ë\9b3¿¯ÿ\vfwõæO%ÿ°.
+Í2\1dÔ\1f\ 5é\8bmÂL\87dðg|\14Èw\92m\152\1d\8b\ 5!þÄÈwxÝ\16y2í\19=2\ 5GL\93\a¿s'¸\91´\8fÙÆÖ\97\15\97M¿\v_ûë"ÇwdL÷é\86nÐÒïüÏ\0\86\84»/ìEú˱\ e*`\93á3]Ýúë\87ö\ 2È\8eï«\8bÞ ·2f°9T§²ò\89Oc\97ñó\97§û\17ì\ 36?\16ò-ߥãûãî\8f\8aBqìôl?XÊlïh\9a¬Wõ [ê¬TCïJþ\89loù%¿Ò%LçMþÙoí2ß\10Ý\99±RîÜ^\ 5Ê(R\11ÅãFâ .ø¼\r\fWWÇã%Õ¿ûØÇ)\93JÐ.\90Þ\÷\8dæ®5'b\9aÏÎ'\11\1cãC"\95¿G#Ãàõþ\a\8d»ÝðÝYß\81Áâ¶\91þî\ f\f\ 6,Æe\a\ e\ 1éHþþ\ f\r¢:Bü÷´l\8fï\91ÕèßpßûÞ\e5\v¢ËÆ>º>ï\8f[«»¢OÁ±\80î!Ø\9a}_Òîãêv\97\18Û.È~\8bå%¬,ø`Æç\bR$öq\ 1ØN\80\99ÐÉZÉ5å}\94\9a&
+Õ%\8d²º\981-\ 3\9a\9dV²PKe8²Þý±Ór¢[+Å\96ö"\9b\8f_\r°\fá³Â%Ͷ%,á\9bÔRóâ\97\9fâÒüÀ¥Û+Y %²\1cYht\vÍC\18\ 3%`Î\ 6+Y\80/U\17\9c\14µ\99ÙͼÀ\0ÍÒè\95\8bcH­d¹û       /\ e±ºÄæ*ýST¯lN¼G\10\v\eÅÜ\9cc;ÅÑÆCÚÌ\1dï×õ\e2ö³D\91k"\ -´7\8dË\94û\85ßP\r\8c\7fé¡¿®6$Ë+\1c#4øYhÂtRzÛ\934¦Uãc\8bc\8bl\99¸±ñô\96¿
\16Ò(\80åïÖxØDpA²Ó½%·t\80ë\9dö\87¯
+\væØÚ\e\1cÕál,¡¡ºJû?ÃOÒÐÕæ\9f\ 4GÉèIVâÝ\15Û°@\83==E\10ýTÔc\9dW~\19¢(ðºæ¡?\18×y\80E§£Úí\1dÂ\17Ü\ 2ÍËSZýá\1f¹\ 5&\10\15ÿ\14Á\86}\8dZóòbjBCîä\1a\10ëÓ\b-éG\93©\13CçY»
+(h¹j\86¾\bñ¼j\ 1\17Wô\q\1cj^õè\15É#,\93\8e6o\ 6É\8e>\9do\84¿ÿæH\8euP:+e9\b@\f%c\r&jÐrI1cHIL¿\87÷ÜÐ\8bBUÐ\18\80\ 1¹\ 1Ì<·\83\16U°¸¾dÚ®\ 1¶©ì\ f£A\ e\95Ïí\9bj\9e\7fÜãeé¿°\15\86
+\97ñ\90ÁRþå§õêó\99vHÊiø`ó¿°¿\a\9dÿäß\83Îÿ\ÓôêóÆ\7fN¯9öZ±G»iþýc~\a\1d\1f!üú°÷×ÇÎø/\90ý½P¶5Dâè\93qtÒÿâëjÿÚb¥l\1e\ fX²È®â7ñ¸Ò\7fÕ6×ø\1e?«¹s÷kÜü¯Í\97å?\83ãè#\9cxxT­ûËðt\1fÕøØÏËÐð¸å~\0\9cöºÂsQØÍ\1e§)ÕòY,\aØëéü\86¼\11:#\8a\85\83Ç\1c÷?\85þðS÷ã\8eʧ\93Ó\9bû\86Þo\85ýúVû>9\0§ïÇ{:VâÉ\83\87¨?c÷ëi[Ú!üZí=§ñs%Éi\84CÔKá/Ýo¾\86è»\0\19\a\96®¸ßA/\91Á¥zYª\0³\rþC\e´<î\ eñ/ßo0ID.1\fóaÁÒRyJU«5®
+]\ 4"$Ü\84µDî´\8b-Ç éµD»ê\99Dª$ßTÊ¥Q\1aú¥F¯pL\96bÿÏ»eéÚ\12èÂ[\9e\10\8eÇå÷J [mß\1d7\8b¨\96R­¶&ix\9a|\85ceÿC¼\bx$Yób6\8aö6£\91\10\18%ü$\ 5§mV\8fÑíçùê<¿\0\ 2Y\82ÚöÄ%Åd®{Õ-\1eÃKSÖ\1dÀÀ\f\8e8-u`íñÜ\8e\bº\1fgä¥\85\93¬\1d¹þn\1fÙ0è\8bEepiãX5 \14 :\90%\ 6c\88<µVç\9bn¥_t\87\ 4öHËjíÚÞSÜ\8d;\98\9e\94«yðÐ\rª°\98RöÕ¶¼\84r\1c¼twY\r`²êü¨xWÃr\16=\83\1aê×ò&Éwe\ 19\8aR¬8TÉ(\ fðÕë\8cv\e7\ 4\fál\16³¤Ï;7\11Ë\93\9dÑy]He¥\a\13l°?<?¼\18Ãf\89Þ\13K\18C\ eÃñ½\18i6\83°Ù=7ß\8f\9cL¬slÃ\ 2Ahð˲»2\82û¾¦\8fC\99\ 4h(\ 3\99Ò\ 3KIæE°Sõ\ 3ç>U\98\19³F¿Ðeã\1eáG.\9d\1eeØñt\9f\1d\98é\13\ 5§\84¥^[á\1fB\8d\1c\88·\ 6¹»]óf\14H<$óó\ba\1a\1f\ 4ºOúù^÷\9düB\9f\9f\87Äd$\9c\94Z\8e\16f\97vÛÄi]\ e\83\ 3w¨×êà@H6\91fR§!4v_zE\97süñJâºÊn07\8céôI\88UdöÁ\b -%\ 5W\9a\94\92h|×\90·\85È@r¦»+å>Ù>}ÌÈ\1a²Õk%¢\b0\9cï\.\ 2H\ 3\93\ 3*ó`\19¿Ø9\8b\8c£ì
+8\83<¡_¸\19Þ\9c>\81\98×aVÃ&]Ö\8cr\1ebbøY«ë\93\80æJ\0s8Ѧ\98\1f¹R\80\ e\1f\9c\aº\ 3ãi\ 6\ 4áàö\fR\93uE\ 5\848 2u:Üi\17[Ì     äw3þ8\ 1\90ÏbPFeþ   \81«cÖÓê\8a
+}\fì® ´]ÉA\19HO&\aÈÇ[×w\85\ 5@p]¨\82îkÊ\v\918 á@úÞÿfPFÎ\ eI¿\10^w\8cPX³\82\ 4\16#­¹óJ
+\85«=K\9a=\0¦\9e¦³\9bè\vº\\92HBë;\11¬Ë:\87Íòø(·\84©òKÊ*²¾þ\ 3¬}VT|»\ 1òé\80ë!U\95æÐ
+hð\1d\ 5\ 5ò\99I¹È\ e\83¿p[Ì\9fs\ f\99/\85\8a9¤\B4   ,:{i\92\ f\vºÍêQ\89v{Ôd\ 3O©µG\85Ì/\88Ó\13\1dZ\8601Ñ.ºÕJ~Í\88ÊÁ/Y&\13,\93      \8c\0ÞNÌu7\1eìJUY®6ÉyÝì\99zAZÀdv§/0a#O\91\99\ 5J\ 1­Sc=5{°Ks:Û\8b\93pü£SjTø\8aå*íáe:7Y­­é«\ 5\90<_ì\18-P3H¼F±ºéÜá¾\9dì¤\94·o~{êk\9ai¨YJ\0¨U²C¢©\97"\ fÏkáÊÉY\11X\9bÔcÍ1L¹\85ÑrPäNó^;4qà\r<\87t\84\v?\17   \ ePLð\91á\9fu\90 À0ST+ç\9bD\eÄÏ\911\f­aÙy@\88\80åbÇÈÿìÕ\8bNºcý*\ 4_E1üÊ\ 4_Öq\957Pfr\13\fë)ûÙ\86u\94Â2\1f¼\b\80þPßD+]/ÂÖ/\98\98áë\17ï%âë\17íåÿÕ«¿í<sXbÿk\a\16$^óP\9c\ e\r\11â\9bn\87\7f\93\85(\17I\98]È´£¿#þf6A\15êu}Û\0\9a¥kUp©\ 2»E\9a\1d{K¼¶P\81]\14«ñP¦'(«ú\91\9fÇå\96J!m¨ÐÚòÌѯ{\9f^|ûA\e(ék\87¼Ë¨Y8רôó\94/±ñýB\8f±ò¯sO±ó}F\19ö>s=8ã\1e÷\v"öeMc\9c,\8a\95o0±äeH\94\94£µ^\12\8a8   cT'8Uè\19J\8djùÒÒ\ 5Ç\8c8»0B\1f~øÓ        Õ:°~MÑÚú ¸k±¥`\7f²øXö^:å\ ezçõ\8dµÚÁ|\8a\92\97\17c
+ªF\15\1a\8dä\f0Õ·L\92Òéº(\a ­\17\83QI¹s\85\93\97\14¬\8eV\14\98,r¢Pýì9ªÍ¶ ±\10GÍ;kgmå\97\9a©Î\15J8\r²\16É©V÷\v\1f¿Å}9â\ 2ÉèÛÞ\a\1cW¯ÃÒïÒ\1d\1af¢´ÍÕmüBg\9b\8c\9dShÁÓ\8ae\83ù\19\ëÁpeåð\80\ e\81?\1dÛäý/\ e÷/=k8n\97\93r8\8bj/\13¨\9c§ÈwNDsÙz®¬¼\10\90µÞ<ÒHhã§\7fÀÇMEHiwÎ''t\0±\7fõq\85þ\92G\8cúwÿû};ü¬\87ý\9fNÿÎOþ\8f§\7f¥mÿ7Ó¿ê#½wÓ¿þ(î3éß²ã\ fáþ:ïÜaÿøãø\8e0ÿ\99\8fâ8Ãø63û÷\18\7f\ eÿ\a\ fþ,w\11Æ\1fûxî#\8c?èã¸\8e0ÿÏGq\1c\ 5\1d½û\8c?\8b6)~ã\ fáãiïÜaü=g}û\8c?\80\10\9f¿q\87ð=>·î0ÿ\86\8dâ8Ãøî\a÷î0þ\1d®\9eýÆ\1fÃÑ7ß¸Ãøe\ 4\18\7fʧÄq\87ñÕ\1dïÜaü?\86Ýó\8c?\87kO¾q\87þݵÛ\8c\9b]¸ÃÿBÚíÆ\1fýók·\18\7f\8f>ý¤:Q\e\ e0þ`\8aÇÿ\a\18\7f\ 1L/~ã\ fî\fï\86xÎ0ÿ~ã\ fø¶W¶/\19Æ\1fÿQ[\89û|\ü]»þ%\ e+4ì\aàFS9ñ:|ßK\9aÎÒÃ\17hþ3èÿñ\9c\19\1fÿÎ\f\8fì[ѶI(î],\ fs\11\86Ùø°YxæâÁg\97W\8dýA¸NÆùÏõq\87a\e\99ýt¥ñßY)v\9d¡£s6\1c\ 2\8fþN\ 1¿\1443âïjâïjbïwwà?_{½Ç\8b¿W\8bÅ\81ù~NÇÀì<ÿʯk«é:Gr\9aß\v\8aßIüoëî°\ eí/\8c\97FC\ 3\10J\ 4°Ãéã\7f¯\14àâæ»(ç\1dÖ\19+\7f§~niý\ 4oçÊt<.)_~þiñ\9f\vë¸ÌtzM%/kW#\80QßÕø\9c\1e\9c\83ÀéÌ e\99ðßßÅGÎCêëvø\ fo\8a\8fÃ~ýþ¼Üâ8¨ùÏg\7f¯µ3\9e÷-ü;ï_§)Ø\99Ûw\9eÿ_×éÊz£;wr\80q=}¿×`©\8bÃ\9cÅ­\0\1a@zÉ\8bÏ\84þɬ\14y¾C1NVO¡\9dBK\83\1dyÜ/{ÚÑ\11\v\17Ë\8cBß̳[ĵ\ fßæåiÚ\13kxõV[´-Òdð¢¼M\1d\90îÉ\90`\1c\1c\99SÝ¡<ÏÒw3\91)åéÎÐ×d9n\80C\93é¯Iù\13\83 L,W\99\r;2VÔvkájÞ$\18\a\aÝÎ
+CTt\87Ù½¤5Q)\ f\98t\82ÅH})¬q   Àã|å\1aÉê'\fFìláu\82Á~Ui<ÂÜâ\17éý\8a\90\vÀp¥Å2SCOxV³ø"¡å\85\ f\98\89C·ýÔ?\916T<¸¡ÛÄ¡ç¿u\ fÖ\9d\ f0({\1c\1c:\1e\87÷Pï\ 2s5O¡"Î\9a_Þ% N\ 4R\9e\9d\12VpQåÉ\ 4é*\8f\1e7\ 62F\95b*|¢\85ª>7ò+S]·\98\82\8f<{1kûe¼Á^{d!\98öÊÂh½²\ fãf¾@gL\f\85É1\86(ÅT\f\9a­\8c\ 5û\18"°WW76kú\bÌ\87èD\90¬¿\8f;\1a¾\a`-\9b\1e
+\b}ÎÁ»ÙÅ\93ùQ%\1f\14½ÙÛ̱ \9e\12
+X\92\ 5NA\81b¥å"EâN/\bÄ\ÌH¹\ 3\8b±\17º\9b\87\17è\17·Þ\93tȨ\82=ôüÙ]×'Ê%¹pÕ³¨UDó\1eúúu\9aTGbw\84Ê /ì[S\86G\93h¿¼\fk:f\fÎ"F@HUR¤®÷×õKM6[Þu\9fÎ\12)w tãxK§c2\84´}ZX\0\82ÿlåð(~ÉÒXbjk+\878\f\13èî½\1cààìUÕ£\9c3ú %çGj)´\ 5«ì\92Û<\8dÉ^¬m-kÜI-q{EµîÚëèê¤ÒW\95²{\80\85FÐy\94ÖI¤¶ÓKd\ 5%'`\e\93\1d\85\85Q­X7½êUÍV\\1d·\12SJ,\8aa5¬ß|83bç{t×/qÊUì\1e\16Î\19ýlz7¶l\99)Wm4ÂÁg¹³Ñègên#RK9bã\19r
+5NÐ2\1eã{E{â.úð× Ö\81f'\17    \èvÔ\93\ 4Í\1a\95}Ö4|\13ÓÑÁÒ\97\80   Î í\17$bîáÒÏC\17'©Õ\80\ 3ñÈ\8b·F§Î\ e÷O\91ëÈ¿S\ 3¿?dpôbð~'¶û¤S\8e\1fÂ\ 2\95Ö\9d`©U¥K;\ f\ 1\E\80\ 6\9b\f\ 5ÔðN!J³ý\86VØre\80\84\84ªw¸\17\84»¸nHÏIÅW\81kÐ\\19R\83\ 6?\14\84éºÛJz5¤ðÊâ\17ù8\8c\16\ 2Õ¢øs'\87\ 5¬ß\87§"ê\96Òóí\f\9fG!\12tI_\0\18ç¼¾y=B£qè²Ó
+k»aËr`a\15ê\84_(ö\894£Y´ò/\161\96#h^~\1aö\11\9b\84.n1\85Ì\ eA0\a©±H\84¨5"K\80ÿçÇ-ö\ 2ó\1cº]ñã\91V\9f¯\1c\9eôÜ,n\1c\ 3\1a½ÜxÆán©ª1ZÞ]|\81WÂy!\80Ïì\/\83%âf
+Ӿf
+\8e      ä.â3|Y'\1aã\18ûfÞÅfª Xyk{ÔSÔ´¤é£8ð?¤øßBª\9a\85Ì-H϶\16\8cZ\ eÈ\14Ø0\94UÂU\a\85Ü%¨Q,Nð¾r;\84·\vú7å*\83-êa(½¿±jª\1aOùQjyBT\13\93Ñüânè&\8f\92\91\1aB8\9e|æÉÌ.«­*K>Ñ\86\ e\17¡.\a\89\1d\12¬\ ew\9aªk¾ÈìÑ\92Ìx'Uªê·¥>¤\84^\f\928!\9b5`\14
+$/ìcØ\80X¿LÔ\88z'9s§\87y\8c±àÁ¯+ò\fF¦X\96¯Sù\fÔG:í        .\8cÎýÂk\90Á ô9â%\93ú¸\ 2ú%ÙË%\ 6\ 1±ù\8azrz:Åþ6 #)\83*\ eó\9fÔ/\19X\1eT8pSaÙ\8d_ïOAD=(:«x«Í·¬vn{Z\13\99ª"¬\1f\8bÚ\12á$º¥å\9eí\8a\88A\9e\12\9cÆâX¦*\1cÄwhy\ 4Ú·^c¾\98DÄAÝL{ó\98ù3\ 51\v\ 4\89²q\83\ 4\13\19¢êæVlâO^s\1fä8ú÷㦲ìW\98\aèÖ\8e¶z0Ñ`\10\96ôÇ-êE?T³rú|éÎRþÉÆ7ð@\80Üþ\86yö*öøæqüçj\9cî\84§xäT²C\93\87\80p`\8c"j\91ã\ 4\0³£ó       /\12\94\v\93U:eLгLø\84õ\9aS¾x\1a'\bùè\9eƤzQþ\f»\1eÆ\98"\97\89\9fds?·.J&ó\90^k(¼§´\97E8       `R\1cµéËtÄ|ùË-\1e\1d\98}<ñ%7;5þå#\95\0\1c\99\0C/BtLP\83ÎsüqÏé\11?tSÿ}._z1ËÎ]\1cç\1207GZ<¥\88j\80\9c|\13ÿP\91\82¬êgX¯éô©P>©t·ÿ\14P\90 J\9d\aæK"½\95f½Ö\1cöÂX½yæ\8a\96ºÃÈ\10\9eölOy¦gµ'=\82UZØâÑ\8bÐ\9côh\99ú¡2\8c¤\9aù\98ã\8fFk2Å\ 4<ìäÏ\8c\16\8eß\12o>Ø\12\9e½$.\8bâ¹B-Áܸhùìjÿ\98ú\8cÞ6·³\e\15\90;6Èð¹e\16ü§+,Yú[)\12y\1fQÊ/6\9e|ÌÙöþmâ·9´|I³tVe<ë\19\9eu\9bùç^\89ä\84IäóÙ8´\16¡\9a\vQ¿ ¾\ 2()\16(*§M75Î\1e©¹®\9e{#¹®nõ=Ír(}[4>¯\7f\8a\1eJ\1e\ 55\8c¨\93Uÿßg\16\96Â,«Q\937³¤Òè\1aTI\ e[2\v0\rj\14\7f\1e}¼©jâø\ 5illÖ\81Ö¯ô\²}ê\84&Öz¢í\8f«ý\ 2<G\92   G¯ïP\119qÑ#Ð\95þtu¢\1c0-!{å\92\17;R¢>Y\1fåÅ+b\87J?_2u\ 6{\84$þöMÙ¦²çMQŦ²÷T×\9a]F¦t\a=²«s1ã«I\97NøÅY½è\95¢³{(ü÷(m\8b\80.ª~|:ù\bM¶6É\v\14fMòøÔ\8f\1c\a÷\:Ë\1c¾\88_æèXÆ­«òr-¶ú\7fÓF8âÑ\9c¤:25z26Ù×\ e\89\9fÉqh\9f>H#ÂÓN       î`h$añ\b\1cÄ\89|Y±ª\11ÞÉ0X\8aèÍ\84©\83¥å\92{7N±\17ebùû\ 5¡uá~\19-\9d<\1fãÓ\98\86¸;\7f[\18áöú39à,\9fÐ\94FA³Eó\16\ fÆÎHýV\82\88*\80\85ã_Û\1cܤ5­ô\81b¹?§\1crPý¸Å\1d§¹tX\19 Æ=ç»\891×"EO\ 1\fè_U\93Æ)¬²\9f\8cå£\16O\96\ 6\10bçd¿ÐáÆ@\81Ú¾,\87±\12\90ø B©D9ÔV!\185\ 3\ 1k¤ªè'ãÇvmÎ`ÖOe&0«z\1d²a>ô>«°Ö\8f?7Ú\93F3\9e³> ®
+G¤¾eÛy\165\9eú¹8\9aÏz)8}uá\19[\1f×TôLh£+My;Ñ
+«s\93Æ6{Ë\r\16\8eØ·~çûÆÙOîËÚé9\11¢ñÛCXöw|O\r­¼\81h\88éJt_¬m\93û\16å:V\ 1@";\85\92]R\9dÙI\17\15è\f\96ý|Oï$\8fçö®\ 1ùÁ\10\1c­\ 2\7fêIpñ~~ë\17ÀQWÃõ\83¢Y>\96I\1e¢\9fÑ\b\ 1\96¾\aÐòùë\95R\8f¢¯y\7fT㮪\9bsF\9e\8e¸K(^é\88»Ö\8eeà5 äcCè¤\19©õ§Û\eÑôþ#FB¯/\11\90¬)\18jK\85[ȬáÍùó\9b¶¼\8cçN3æ\9cg!y\19\8f\91I\91\1a\f>2\1fY!\17ºiÔáÊâ62Á|ë4V\154b9»³H+\91§Aê\#ªÒ\82ÂH¹Äkà¦\1f×\7f\10¢\ 2åz{S\99\89\0\an\1fS\9b\89\0\1f=\1fS¸ADL\88\ 1×\ 6©õ.\91\ 2¥]\8e#e\ 6\ 4eh
+½Þ\9fS\87Ü\1f:\ 6E\11\8a­`ócl©û6!\81ðá\96\9f»\vÍ©\9d\81fP\9af\ 2uñ>~£EV[z5\1c\13éÊÊå\r\a\19Õóy( \8c\99Ö/\1aù\ 6SH^lt\843\1f\19>¤jPì1Í\r­Deß\9b\17\ f\8c4ÌDQÎÿèç3öq¿üç3ýg»³àó\9b2të|Érç,\15ï:ÒÙ\11\v\v¦\9f\80F>Úñm\89ºÎ\ 1ó\96\81:ÒÝs\9b´¾rò\ 1¿Sðn¤µ\91d¿\8eúK§\8b%ó綠4Y-­ô\97\98\8b%ÛßIg®8\8eº"â!ZñÞ\ 4ÔøtÎÎøý7\rþ¶¥_è\f\a\8bR\12ÑÀç\85[Ó­\9c\97#W\84.xgB\ðÎ\11\1cðÎ]\83\13\1däÑÝ\17\92&Z       ªu³¸"\99\9b\9cø\14Ö\9fÓA\90o\80\86?\1c¨í\ 1ξ<I×$¼ë\16\9a\19\87-°_±Ñ&~ö$Îyy\9e\1eêg\19Ã\99ÆD\99ã×\99ò±qW\a\16b\13Ôû\13\1a\ 5æ<\89\98w\87xú:tÄ\89¸±/¿`M\9bêZ\eG?þ\bx\18æ\16V8/ÚëÊ^§z/á\vz÷»£IÙþÌÌÌ\93$\93&@\0"B\f      \ 5*\ 2Ä\83êB"çèf.@\82\ 2)Z«¶x\17\19kjÆ\19\8b\1a
+Bä\1fI\9f\9c«j¾ÚúÖúq×wZí¶Ý\15\90<+d\90\0\84*¢7Þ`\ 2\988¾KJ\84\10\ûýÿÿ÷÷ìÉ!\88¢\1a¢/BÝ÷·}ÐÞ\86ïGzwyÏt½¾ç7·íîïÀ>ó¿¼æü\ 2o7à\ fÝMß\80ËO\ fv²[¶ÒFѵI\1dY¶Q\99HåÇDü<ü(Ó´ú'nbûj\14\85ôg\ fj\ 3ël/)Ï\91ùdÆ\9dó\e¥\98h.<\12/\v\89\ 4õ=ø&ÚD\13Õ÷à\9eG
\94\ 1\1cÞÕ©\96[*jÎe\ e«p
+ôÒ\86*Ê\»é\95ò3¥¶\18nÜS9ê\aâ¦1 ·ö¥V:\85Ú²7±\9c+\b\9eû\ 4ÖS*i¨ý7ØE\1cYf2\85âÚâË-\93\rî\v¬\88×SÜÖTÕ\r%~c\1e¹\9cà\8a¹gLÌ\80ärùî2\1d\ 5\18°\eÚ~ÝÅ\97¡\16fõl\81ql
+z\13¾u½\7f÷Ø\14ûÏë°)ìÿºÀ§\7f\1aÀ§ª\8d`SöL¿å`Sâ\8eÁ\99Öü6\ 5;6_\rIÞ'½`Sú?ö°)ëÿ¾À§¾ ñ¸+\ 1ï{)w\1d\85\?ö9\ 4ÕW-\1d-\97ü¶\ 5ß!éZÉW·Ì°Âä¦\ 2²\97\8cä¤wª¼/þ6\a:õþþ%\81\7f\99\91÷æüÖ\bü\8f¿¯÷Ð]ÿºÁ\8f¥ãX1ò\ e\94\7f\99ñ¤ÜÕÏ0¼§ãÝüþOÕí·ÙN1±¿ñh4²\15]\18 Éî±\7fÿ\ 5o¹´än\7fìc";¼_ýÁ?\ f\16ÃßsN\1fú\9d\85\ÚrÀ\ßÊ\ e¢lHð\fË\11½ÎâyO\9e¾.`\e¶<«¿¿\86nF¾ak\87ñ¶Ñ\1eE<\ 3r\9fßû\8eTmoyÞ\8b\ f~ÆEjj\98X8»¦¯\9cð±7¾âZe|Ð\rÑ\ f!53@\9fÚR\90­*¬\14Rítx\92÷\8al\ 2\bé 2ãã©öt´\9e´\f«,Jí«`ÿ\98\0}¶r\a®`+BÞs\89\80\80H\17\80 euc0V\14?rn¸Kã\9c\91\ f\80pÿ\f¡ã
+³xÇ\ fï\8e\1fÖH\87çOß|þpÄÚu\1eq\9as^¹ú)Ãc#?.f9\94:þ<G\19­¤#\ 4\83óWS\8b±\91\9e\97\11ï)Ô¾br3jí\1d8¯     \98ø¥+%\96øó¨]%\ 5ê\9f\9cñ#©ùÁ6S,ÚÌc\1cÙ\9e}QýfÛ\r]³cM{\11:Óý\85ûÃ\v,ÅÖMÔþaþoPv\17:&\17á\9e\8crâËQ¤\ eªÖßù¬ù\91\81Õõ¯ñîÕÚóòHÐZ'A\82\1a\ 6\8fåõ\16¥ Ö;pëjñ[wd¥ço\93xt\82­ÖY¨êÒ°_Â\9fßÞ¥ªña\9a\9fß\15íVf\13\aã\b\8dáïÔþøTDm|\91B>«lÅüîýÌÃGØu\98\81UÔüft\ 3¨\b7\1am}\1e4hõxrÏ!+®\14\9f¼v%\ 3U¦3¸:Úé¦×åö\9f\ f#\97Ñ\8euu¯Y6²¢ó\8ffÿå3\9cî\86YKpÄ\v\8a[±el\ eÐ>õ2UºÊ)Îß_\8czkª¶Ð=¹-#;ñ}±âã£ñ,Ó©YxËCÔ\8b\8d+*\17ÓË\8b\1dªT®Ü&\9a!\8fN\82Û´\85Ý6H/Þj°ëØ-оö\88|jJ[º¡¼c\13\ 6f\v¦\1c:\r\8då½np\80\9cûæ\13\9eâªs\8d\85¢-\85¡\e\vͦH¦\84ÐX
+¹rm¡\8d\9eg°³ÇÒ¦låBt\8b\9e0\9d&üL\1e\ eâÅN¼«sÞTU«-»dx?ì\1cÖö\7fPÊÆ=Å\96¥,õë¶\85\9e\8aæ·ÛzéýsÖ{g»?eèxõÿ_ó\18\92ìQì\1fI=tÏÍ\88\16Jv±Å\91\ 4_QWm\11«×+lõG\14\96\8f`pjûYG´{W®)-¢sjj|sc.Ë\91¤¼F\92â',¦§{\1fI½F\92Ý\12\9a\8aÚæhöÏ\83¬2Ë=£Øèon\ 6|³Ú;J©'¸íkÐÆK\96õ\ÈRHQ1À\1dtð/h²5_\9c:¿ûeÐ\9bÝ\1d¾\86XÖ.Ò\95ó"Z¯ ¡³ã6\9cî¿_¿Sê4¾9\ 6¤nÁ¾P\95ËÝ\98RsHÝ-¿.ù³Ø¶h뿼¥£Ù\82ÝL¢\95\7f\ 3°\9f\98\89é\e4«'±u\8fR¥öÖ÷=\86\9a\16üNs\10æ\ f\ e\ 1»Ä\1d\9c'L\1c\92\97ú et,\135Z÷\ 1Û³\19z\ e,\8b;k\ 4°gå±I®\92T8²$$ùÕM\1f\1d|¸°èÓ×§t«\9e\98\80¸\9a 6§-PYW\7fÐéÅ\8aJ°&Ü\1fÎVÐPÔ<ײ\85ñ\852{´Ü"\a¶¡º&+        ¨t\8e"¿u\8eóßgÇã4?\1d\10üP:£óï³ñÀw^²±ÊÑ)m.ÝKY«nRmØ\96)â<F\986\8bJ5\ 6T\ 2Û\85mâ~té\ 3\84UÙÄÝßulÓÕD\89ÀÙ#e\11£{(V0ëP=íc\84\19\98X\81ÁN«\fküÂ\13B`\8d:\85¨¤A\ 3\89\18\17\92©¿¶h^T@p$Þ©\ 3\У¤\ 5çõý@Ä\9d\10\9e\e\15|úRu·B]Nø#\12
\95·wÄ\82rv!      ù\e\15\0\84¢æIû\904'O±Â¦t§\12Ö^\98ìJ2÷ö
+\16¹Ë\99\84æ.ò\9fw
+\94\9eÐ\88\87L\88\80       \7f3\982EC­Ø¢#Ó'é\7fZÁ6\8eºBä,æ÷n,±N,w\86ýfP\9dd\1c½RÓ×pæ\ fê¦\ 5>$× \109\9e/v\1dRP8ÕV'
+\9eÇ\8e õ\ e\89}\80Õ\84®[R¦SÐ~à°×j;\bÙ\97i:µ\94LQ\výØ}V\b\e¨]\87¶¥\1f\9aã¹Ï
+\v\ 6\8b\84\83¹Çv\81kÄÿ9u5®4ß|òå\8eÄ»\vîÞí7/T.Í\97\ 1o˺\9e¶w\94Ý¿\95\ 2éë¹ëX\81f¸Ú\9cè\19\94û\r¨\8bì\90\8c\8dÙê\18O\1eÈï\ 6\17¥W`\eìîënï\17®R²æ[x3\93¢¶ÂfQ_A= Q2©´õ\11\12µz\8eÉjp<âp±umF­Ü÷\98'yA©\1d\9dÇr\e18`õ\11\7f\84ÉÎ\110\8aì\14\ 5FÖÊêíÖ/jîWl\'ÿ\9eéàµ\11}\85¦ í\9f\95ï÷>P3óõLN¼÷>à¦S\98\86è"bFà\89qIí±n¸Ýéïç\19zu\13Üi£\ 1¨\8b¯9 ôq0¨Ü\82å*Óg¢[\92\9e\rj\ f\ 3ºö\83°ë\ 3¡µ\80½Ñ\8dGµJ\ 2Ó&Ú\ 3\18J.¤¢N«º\87Híy±Á%?¼ÐÝ#µ²F\fß\ 13\19Üo\92¹Îù\ 2\85ÿ\1aé'
+"(\97
+w\ 5\1ea® z\ 5\84º¯\198\81°[\ 6H\86^^Ô\93¾\0\81\86¿vmpûçåád©\bÛN¡¼&\12\\94yØoñôм:-éf\ f\90yÃVhè¯\18_\ 5\ 3A\0ü\93®\80\8e\81Ña\1d°º\9dn\9eO\11kÿj¯\17gêA\8f/\1d\8c\8a&νãH\8d\0¸æ".\fw\ f êÑ
+(­,öȤ"pvòõ\16³Z4æhãX\80Ì\18³L8÷ELu\f\81È`¯2á   àÎ\1fÒ\!\84¿\b`%Q,÷\bñíÜ#\82ðó\10«zãßf×\84§ï×O\8d\1dr\84'\17Î)\95S&k½Â\1fÐà\93ÃÎ>æ©\95è²y\88Nºâ^&ö\97r\85\84ßú²PÂ\94\ 4\93E»~\11B_àk4SWë>Vc\8eôø\`T× \99NXL×Ǫ¹)ê4Ô\80¾±9\1aÏÞcë\11\83 {Y\9bæ*\fçNÉÊ\ 6sWå0\94]Ƴüèɽ8ð\87\8f\9avFc\15³érÎ8`½\96îj®\99K\86`5aS\83í\fUeÒ\9bä¡7«ö£8ë\98ë×{Q\9cuÌuì=¥\9co´úóûõ\9co¨úí½Å\9f«Ìúæ\96\16/\91rW¤þM\82XÐÆÝÍ\13+Ôº>³_\81PVer\13+6èkù¤ýwg¼^¹/èÌ\80\1c\8bX.§þºUb1\98­ü<D\91é\å<À«öÈ.1¶\ fûg\16O\1aj=ÀÌù>pò\13xöx\85b\rÁù\11<\r\8eüQ\1c%\85úèncy\94sf\96\7f¼×\ 5L\ 3Ͱ¸s>~íF¾K\85¼³\80JõÏÞÒ 82ÁݽÇw\84\8a:\e\92¢=q³\8b¥fß\86\9e\8duq°8«^ÉÄfq[,\7f5\eï\8cü)~å\a\ 3Ä\87\17S\ fÍú\e÷Æí\ 6\19Åß%\9dm\8d\8a\17T]ñ\9e\eô\17Æ©D¼M'÷\ 5 &Úì²^¿¦yz]`\ae\17?DóEPÛ\93íEÅÌq}¨½Ã{ÿj.xÂ\ 3óóK\9aQY5õã\1c\10´þ|dÁ\14×\9a\98_Úµô\eß6\1c\ 4\7fj»Y\85¿\1d&lOÖuIOfþ,ºÉìÜ>*\86ð6«\19Vöð\9fj]6\86Y5¬kQ\aÞ\aïc\8cÆPãèÌ×\16FÁ_\9a^Ks18\11ÌÔ~\97æW\86ÝnÂîSÌx]³\15ªXPÒ\ 6¥áñ£àU¶`F¥{T\0ôIä \91\8c\85\17i³æµ\97-b3¬Û\8ci\83Ò¦i\16â\vÉDLJF;áBíW(\9b¿\9cå±BçMØç棷ÈõÊ\føö)\r÷d¶¹nÞ\88\94\1aïåï{z&ÜÏ¢4¥r\19cì}<Ô\85÷Ô\10Å"\865ÜU¨KtñätkÚþ;é\1cÌÔL\8c\ 5Í\12?Û9\1c¨\882$®ÐIP.Y¦K®8\e\1eNÒÙýµû\86\7f)Ðg@m¡\ 6mÂsoXXÛi\11\1c\84ºÜ\13\15\bDE,#Ñ?ª\ e-(\98¶.Ü\1ax\ 3\fXßùkز<÷4¶\7fè\8c\98EÎ-u,qj³\9b\1c~n,Z3R¤{f
+Fÿu1l]\rÌi¿¹\96]xXH\9bm\8e-Ö¦-\smr"\99Éo\8fvû¢É\18Ó\99        dÕD\88U\13\95Ö%ør°¥CSººô½--Î\a\ 376,\90\8aòhWôJü\19\18Z[?\r\84z\1a\ fð$\14¾åOc;£ØÎé\11M\¯Ç¿QJÔ"\9c°\95ãle|¨ØÏ\16-ÕÖ\96çÅa\81ÀßlgÕø¶3ð$\14¾åVhT\92ØÁ\14ùü\9d\8cªM\ 6\8foYñP\9d\9fïe        ¿ú\15#P¡  VÝ^\0÷]Ó\18\9ºW\80¯²\17»<.¼\1d\10  1ï¡%GÊÙ×ÜÈvm\15\1cXÜ«j¤ö¯iw-½VÖÓÖe³\86¤÷ç\1a\rÀ÷\ foe½gl\81\93¾2\v¯Ö¨$èîà\92¦AZ   \84£ù\1aýiAHÓKZ?5úR\84ϤC`ziHÏ Põ,Û,6\15j\178f[0ûDð.øb\9e?ÑËË[\9d¢f¥\7fG.5\14ªú|kD¤\a:ÛµE<\16\1f²úLt1\11\1a£õ¾Ä\ 6\8b\90\8aV\89ø\ 5}JÉÖ¥åÁlî¿\97QY>4\9e`°ßì\98c\9e\ 3\84}\18YÖ*»\15m@C\10Û\9a\98Ô\1aÖ\8c4Þaâ­\84M|æ!\12}\rÍzÇD\81­\8f\8bC)\10ùtÌ\1e\11Z\9aÓ\81¯\86òÐ]NKóñ\Vï\8a(m\90V\ev\1fòÅ̫ҹ´\86l:õ    ]\1c6\97aÄÒ\97.ü&mÉñ¡ÊÖ3YV\1f\80µ\8a\1d­Ì.\1e2Î,Q/x\107\1c¼)vP6ü¾;Zh-&Ô{ò1Q\9dÒ\9cÓñ>mÉÃÑ:"lDåïMþ\ 4\9aì\84?ÓOÎ\9aóÎ\8a\ fUns\9c\18¯æäãèã\0¢%¢FZC³\8d!µéÖ7®\18\97ð½Y8]ÌÑ\15ê%o@^¢m\ 6²\91V\94Xȱv\91T\96ÕÒW´¢\1dz\e\98]\9b\1e\ 1L³88     -Ë/v\99\9fô¹¬\8aÉÇØ7ý3 9\r/~ í80àXíÜ^\93Kq\87KOµ\18Dt¯UKSsµüREN\99\97O\8e\18ðÿ$\ e\8e\8c)/\7f¶1øí-Û&ÔñC\16O\8cXåüTÿç\96c!?ùÊ\18%åu-\7fµ?ùù-WOóôM~DÿçöãBb´ù\13ÿ\9dDhO\98Ó\92\9füÎÓ+¢kû­2¾\ 3OØ÷f÷1®ôûx×z}³Oý­Vr \99\9bì'7ð\99ñ¨&rÜ{¿\ f|ÎE\ 4ÏnÏþ\81·v½\ 4¿¿gý´\17ûçO»\ e\9cK;Ç\eú\9f\89\97çs¿$\ eu\7f»ï\8a\9f\8bRnABc\91F¡Ê\19F¡ò.òÿ\81¶µïh,|\85\9cß~\a\rñÓäßÀPÔmX8c\85\ f\8d¿\1d\0ù¤HmÂ\ 2\17Ïûè\b_æe³þJÎOãÐ|ø[lßw¡ñ¥\9d}ýÆ~Ç®±\9cЬ$\ f{'\17æÞOÈÆóý^
+ýÐÆûÌMÿï¨ã\9eè:ÚùÞ>¾E    ®C-IûÂ)\aò\8dÉÿîNúr($R\13½\1c\8a\bÿï¡}ÿå¶bÇÃ(nr>v\1a\84Õö{\97\r²ÿÊ˱ë:¶\7f#¶AäBë÷\¬»\1fànyn¸\8e\eÞE\89ÑïØ¥üTé\9f\9a\92í~wñÿ«ðf´Îø:¶Y˽#6Û¬'ÿ°ëÝ\84Ìl\8c_Þ3ÿn\1d{\19q\7fÿ\98uìWÅÈ\1e\9fæyXuì0?`­#Χ÷ȱHË#©àÓ\91Ôð|ª\1c?'.åòrí\1aÕ\b&¼æ\ 5"\90>¦¢u\98¿\98\ 1¤£ÙÌÂú\fH·E\17]×!\8crB\14\eÕ4D\15M.\82gÝ*rÛ_g\0\9c\9f_\9b ZïGDU?\ 1ѯföºáó\16ÊhƱx)Þ\ 4\91æ\0\97´È,ÐÉP\0ÓO¹Õ9DÒju-,{:M\88ÿ\931tQU¨fü:X\e\9e ëi¥½3d (Ó%ì¸ñVîð        huh~\83\eë¼R3\ 1©\82<ëÔ\90j\91
\9c?pÂT\9fNHt1È`G¸§ôámfoªkW31®,.þÿUøæcTò ÇÕC~w\11è×ÒÜ3©Ðýlù|°\84
\9c\0\wm{Ù\95Íá~ÓÖfX൮\90ÂÏ$zï\1f\1e»`Á`Wîk\9f=\ f\0ô$\11ìg¡ðX®\8c\ 3ÐîØ¬þz\8dqç¡Ê\99ÁoæÓók£BY[ô°\\bCN%'\8f\1a
+êê\99UÁÃT¶'Ö$CA]Vi\9a\94\81WÏKiX*Þ][s4¿sËåþ\11
+\f\9ap\90:ç´m\1dý\0'Ws\99µ[÷á©D,mhn\9d\11qÅç\ eî\956\ 4{yzú¢±\9b!ç_¯!:!L\81Ó|r\ 6n<\81\87\12\1d2­p%¶ßª\86ëP\14\95\85\ f¤§\ 2§&\10û\87\v´£#|\0R.njºKÄû/Èä\10Áy\ 2\90K®ê¦\17hQÑs3úz\16è\92íÇÍWsò\80\81\1fL\9a±â\85\7fÁÃéxk6Ä"ïÈVXÕI¿m1z\9d\80C\ah:&5\&\0÷\9dgñQ¸×÷oÁÛ\13¸QÖúA\8c\80Û\85zW\ e\80\ 4Õ\9e4aØ\ eX,\17 (zx        \85ßy\eÏ\95`Ãå\15ÖõZíÅdjÅå91f[]¡7ÌÅ\9dE,es?#\15#Ãì\8d\13§\ 2ò×\f\8cê09H\vÀt¹­\7fÚ\1al\1aß@\93\7f°Ý-\10¼K À»0¼\81wXóg\10#\ f9s}¯>±ºý\9f\92ÓB¬Ì\\15»\87\8aï zºE]ÌÀ»Ò\v\82\1c\\v\1cà\98pÇ0éð®,B'·\9b\9aËMÛdi\ 3DUºgéÒè6\8fhºy§ä°H:p\9c\97\bïNÕó\96íÓöÏ·ç§/"}Ó\1e`\8d   à>Ö\\9b$­;Ñ;ðâ«hÌ\82÷Þˬ\ 6X ÖB^\13íÑ,\9bkW\15).\90Å¿\94Ûäc\1e7ü«\90ÍÀñÖ\83+ÖV¼¢ßìs\96ÛÒýw_´\ 2{\12HVç\95fr|z£M=\7f¬°\.§¼H¼X?\9e\87H\95ëð.\90[\15ð.ü\7f{WÏ%Zº~\1d\81çw¨I\91ìô3¯+ôXÑÉNt]EMÇÍ®·\15§¥/\9aÙ"CJõ\83TRÎÍx\8e_^¶+ß,JkGÄbù°\f\93\8cììM˨6hýÿYwçÐ,Þ\7fÎÉFò¼W\82³$\85\85cÏÌ\87\83ö}\8a\18$պųì\15üæ\1aõ\ fJ37ø#*÷Ömo\88\ 6µ\9aØ?\b?\8aÕXWR`ì\v\99oÝäb»Èî\9cÖlX©\ 3Ý\92\8dm\948îþùXÑ\84Ú×*ì]£¼Ö|\@ýHüsãðN=òjñ¯\L"\16í\86\9d©1\9a\94ë\9fwc\1aIRÉ´I\80ö+\bÒ\8f\ 2\80P;v\f^\;<%,â\93lW\15\92\87]Åbeèí\1dú2I\95ýQ\15\94¹D\f\1d\0v07\92gqR\16ÆÌ\ 5z\19¦\16\96S12®£ì\92gô§­±?©e\83qö0    \95ç\\7f\10ÇW*xì¢R"bD)\e\9eÇO$qËÝÛ-\85\8e\9f\f\RmFä²M\ 3\82»~Ä\8dÌ`·\19ûE+5ìCNû78æ\9d\91\91ƹGüò;ïþ\14§³]Ð\16_©õ\86\7f\16\98ý<\99Ä©bêó4~¥W®·a\87Pmôí\ fT)R³¡N\97\8e¢\95\97\ e\9d\86óh-¦\85ÓOâ\8b¥\8d  çÛ<l\9e\7f\8añ\1a\0\83\ 5ñ\e\e\17\10\9a\1d¿®\15ñÞ\b~9Ór\r\90\86\8eSÀY¥\9bÚ!Jî\8d\8cJ\95?-a*º\14Mq;\12àã¼\8f°\88+\8b\1dêÜe¢~ÃBÕO!\8cIäo\0\85¤\14îÜÖZ¹§>X.\93ÕFï\87ô\9f_\8aÁäå±ax N/\13j\9e\1dWIÆ\83oѺM\93\94Mhö¯»u?+ce\8duÕ_xàQdïè©û| ^3Ðôñ\8btÌÚ¦ïx\1a×\98o\85mq\ 5¿\82þ\ eØí<¹ÎÓìwûXøG\1e\81¹Á¼fAqð·\7fÄ´\82ñr1\1e-2éìwCf·?c¿Á\15\ 4\85{NG¼/J¨~\bÜ´ÉÖ)H\17k\86`$\81¸Û\85n|JË\93[ü ÷\87X\9ap*ê\18\9a"Ìü\v\195"U¼}9)\90¼ìÒ# \17}5\86ç\13Qä»7p\94á     0£âQÀ\13\\17Ç,m"\ e\94äá\ e\8c\ 1\97¶ x\ 6q\82/²Ï OVWf0Èë¨JÇò»1\85&áaYǪÑ\ 3vö¿1\83\1aGQô\9d\1a4\98\11¤è£é)Q¤\99\1aG\91ô\99\84i&\ 6\93/\1fI\99´»\99F\9e\iúKM»cÒÓZ]Í\1fG4\7f d"Õù\86Ï%\19Ä\95¥_°A\9685?Ul|k¨\83I\86¦Wf®\1óó\984\98U    \1d\86£¨¤\1aL àò:T\90i0hýe Ò`\91úu\ 6\93\ 2\8fÓ¸4\98\ 4~º(4\80¹4:84\81Y`<\83I0\8fÕ,\1a\1arði%ȸ\95-\f¹mé\81k\87\85Nù\\8d¸¥WZ\8d\16f\r \9esPY\ ez2³.L\e\80r2\r\84\ fÅqµ.v×\87â¤&8Ù0y\840=Ç\81«¨^\8b\ 6ï#f\ 6n>\ e±ÖMJ~Ó\19L\eþGq¤0¡
+\97r¢®µÕ\bòণÙ>ëT÷m\1då3\14õ[\87p{ÑëIDQÞSeÚs9\95~éúÐmG\98T,A\16íø³\93\83ðö>È\14[[Uë"V\rÅ&m¼l\vP>^P)R6æ.\10XJ­ÄoS\ekç9ëÅÀy\ 2U\99    õ ¨m\au;Á\vv\87\9f6Gõ "ìCxÅå\ e°<áe\ e±å|±«çJ¯>5Óa\1eë\ 4¡³\89úxï>FK&ÌßÀ¯Ë[\9f}¼¡/Nç^dO¬âÄ`\93\80ß\rz=uBQVݹ6Lç\99£é É\89Íö\17\7fÑá\89=\86a\96,ä1eþL§\rP\90£­¢\eóÓ×ü>á´\ eÌ\98ôë·\88ÏÝËSÖh©û
+®ÿ\90\89'ãaÈ?OàÜ:ÎÚ\9f°]\98¡j¯\8f5ÉÅ\8a\89ÛÇÉÛÏ<\9fõ\f}1\9e\84\17i\19E
\8b\fâÉÜ«Úþ\8b\ 2\8fÛd~æQûh\ 1o\9d\1f¹$~æ\11û\97\a\ 5ÜÅwE\85\0]îÛ\94«i§\bÜ\15d¨dËÒ+'Cñ2L?Ç\82\8fó\8c:9³|9ël\8e\81¡±4\86\8b\9b/Ýôýí?iÎyÿ\9e6(ûð£b\8f¿åcñ\9c2<{é.FN·X#Ùýì¾\8eÓ\88S±r\17X\§Â¹\8e×uò>&^÷ä\ 6\80úÅN.\14 Þ\9d¥\ 1uíC¬\ 3§\1a\ 5üÈ\18\9fþ
+H?\8düɤ\93iYy\89\99¬ßck½ý_¯\7fyíðÅ\86)ìPø;¬®s%ÑXýÎ˧ñ_â&þl\fßûþo\7fðtò8Õ\9f³}\810·&é£\81"  Ö\81ä\1eø\1c)Y7=ä«\vʾ>\ 6\17Äcgq\19N5·\7fÅQg\7f\0Ú\95þì\fWÿ¯\99þÎ8BS´\92þ \98\8b\95ÿïÌÿã§\1aqÙ´å|Ïán[9N3ûsñã?±\8b½ì\12sÙö\12\9d'`\94$Çaý\98Ïî;${\9d·\878\aÓ40»ï\94Åe\85f«_²Iÿg\83\ 2Ú\82\17Nı%V°²Yn6\ 5\9cUð{\1e\81\fÓ8"רÊß3*ì)\12æJ8Áu«¬\ 6)îXZ\19l)ðµ\17\ 1sÈ# t«RÍ\13cåÕòïCô/Új\9a\15Ò$q\8aI\bê\95³b\1eG7ï{³\0\1f\1dág\98©\ 2Ï$K;´¡ó¬\13\ f\9c\ 1O&¢7\80¦0Æ2   \8bw©¡/&õ>ô\93¾\8c¯¥¾Äåºe\99\12\94>m\9a\1d2\82Ô8Q\9chÖoñ\93åÃ\0þ2\7fï\83h\93Ã\ feÕ¨Wîën_üây\ 2\8f\1a,Fâ\83\e7K\ 3&Åþ\12\ e\1cÖ\ f8À}\90uÐù®.\14[J\80§­º¾F£\8dLSµÓ\84\80ø\83lÏnËOoHÇÆN5£¿`ç±lë´>Ä\9f\9a?bO¦Ðé\0Ð,Ú'\1e½ã^Bç\81Óg¹­G8\9fô ÐËÈ)äÕï¨l
+­¡\aAoLζ\87Ä\93\8dÍIÖ\86.\ f\ 4¶6Ë8$ÀáUÕ[\14{\86Ì£Ó­\8e=@ØãØÖÑ£Ûv|Xõ=U²³\96k\ 4Úá´ÏbaÁõ^ÑÏsú.R¢é±®\8ccJcó\89Rn\99-Ëe k±P³Ü3\r\ 3tDI   W\ e\a\8cϹxÿJ\9aѱEwZY÷Á\9d\1d\ fè\92\ 3d\f/Æxû\96hìPï§\1dõ]Éø\ 4Ñ2ó\ 5UæH\17A\85,:»så\98\17AÌ' x\e걦\ eæ<\1fɾ\ 2ê½.0«×qI;ò\e3=Âk¦<j[â\9el]Ú\18M\8býãBd?\88Âh\e¹<jiÝ\9e\93Qî$Y\8fZ÷'P\99ÿI\9c\8fà@Â\7fO%¡Ð<¯\9c \9b\83Z\9bâ\90°ç\Ó\19 äe\f&\80úèÖ+\1e~5\8aÇô\99qP\81Ù;b\9c\85ã\8f(añ\a"\83Ï!xù¥OËþÿc\90Ï}lxâ}JÇ\8ex\fl£!§;ì#ÞÊ3ïõü\93þO\8f§Êq6]\92îø'ðéò\IþFhË\91èÊÿÂïÓ\90»¼ä/\a?ñ:\81µ\90ä\1dûÁ\È>\92|çW&ç\eϰ¼\99çþ\1fT\7fäñ¯<¯\87&«ûÔ\10ÖÞ\1d\1fø\9eÍøR\8bv      DU5ßÔr>v\14\7fá\9a\aÜÑñ{ßÿ\7f©Ìo\98õ³­ûäz\9cÅ@ìcF;   >V4kÑà\91\ 3Æ#È=?¾K\8fOÎÑFýòs@ý\82]kNÃ)ñf\81üòxWN\9fßí      ¹õZ»þ\ 3\Vüðòã,9|½5Ý9\81\8a)\8c[ÎM\7f»=®\0â\7fÉòDú\8bߺ.0ÝÛ7ëCÎ÷nðÆtöx´ý\8b{X~¦\18¾Í\9c|\rWÜ&½Õ\92yE¢¨\ f\13\84Ø¢<\85¼N&¶?¦\v\88ÜN\7f\13\89\rï)¡\13\17\8eþ\9c\92V½É¶ºiç\19D\9e vo\1a`[s|Î\84Ól\97u\1d*\9a\84àýöd³\82\89è\ 6¹ëÂáÊU\9a\91\99Ò¬âÕ³ªæ¯+ë\8d\87\83z;Ç\8cì÷Î;*Ûs\ 1L\ 4kwÎ4\95\9dâЫ\86\ e©:\²"
+\ 3"0÷V=\88¿%n\87B·A¢Ý\ eôÞ¤Yó²úT{\12cK½\ 3g\1dÏJÅc|\81\84Þ,éâ°D\9c\ 1¹\98oa-Ì,\ 1e´¹ÆBö˰Oß\ f\8b?RãºÂ\91¦£Ô±qÝË\9e\ e\0Ô­"Ï\9a\94å\96Í\1a0-&\92\19\97w8@m}lo¤\81AÇD\91Ì8\85lx³j¥i#ÒJ\93\16Hf|¼Ð#\89C-±ÂÁÖ<gtò\17}ç¹       Hiñ`&\19Í\84ºÃM£_÷+\96.\eÅ·\8b\10´§üXEóK8YôkÉ!Oúï:T\8dZ ZmÕ/4¼\12\1c\1ej\b}\7f¸fH\ 1\8aZMØòé\93h\8c=»{\12\a¬¨ÑƾFEw\1a°ý\86\97\88¿\ 3tvÈàL\97oå#¦ûGe\ 3ë¾eÛÿ­\13\7fù\16\9bîO\ 1\1e\83ÚWÞ\13àÿ/\18\829\17¤­\ fÀ\ e´3ï`ø\9cÍq,\9c·ÿ\99¯ÿ5rìf\8b    äÕ5\15\80ë¿\93\86\b\f>$\92Ì\18\84\9e^CþD\9eÀüè.£0\8e<zÆ\eÌ\84XïYwzÅ+|E$\89\9fy¨ü\89þ   '\16\89\93íÄ?Ôx\b\b\1a\9e\1c\aá\9a     sÓ$#£dÉ\14\10\9bý\IßZ;Ó\84õ\98\95\8c\17º\1f¬m-J\10\83ƶ\1fO)Ç;·¾3ÒyÇk\1câªvÀÖEs\91\8aL£}\ 3\17Õ¦?\1fD\[g\9eÏ\ 3\8fÇf4Ud¦<T·Ë]\8fÆÝ\83\9c\8f°ê\15?]\ eïÛ'¡)ÔÎ\eäy·Á\e\8bä!Ü-\1cÿ\82X\9eR\98À­ÿ3\8eÝÃ\9aÁ%¿\8dv@í"ô7\80¹3\88GyÑ¿hÐg\83à+Ãà`L.å\ fÿÚ3C-m\f\ 6\987\84Ú&û\18\7fÐzoæ$\89Úê\8b˰YñP\91"\85\95\97ì\1fs\85\1c:öa\91ëe«´Þ\1a\99^ÌL\9aBV`aÜs×$=ç\1e\13¯¨\1ek#Ì^EÙ<\85\9d$«ë;\14\98\92 2ì\96\ 4ê®ùj\93\19%üµXuºu Ü\1e@Ó>ÎQs´î¨\8bÆ|¶%\e\ 6\9dµÄ`VßñÕÃàML\r\9bP6w5Ëî\10f\bXbû\ f\88Ê.Ê\1fe*[ðæ¶+\8aÐ\v\18ðþù\87T`Éc-aø\11Â+Eq\9fp¿YJÅrÝÛGÉÞcÜ  à`S\93²\ 2@\8ck\14Ö m?8¶NÄ\86ü[0 ;µáþC¬Xþ\83K\ 4\9e     \9cõi1ð^Ñ|ö÷      ¿\90\1e\92À
+5\9c;i\9bð\19ÛT\82 \9cYYdd\8b/(ð\ f¦O\e#\fkTÚ«úE\90ÎySrôÍ¥àZTÓ+¶\r\142\89#\1d)âæõ*Hþ«Ô«\f=\vJn§iJ1 aåÄvO(©&\w·ÔG´¾\99?<o{¯nò\ 3ÆÇ\89-a7ì¹²¢W\80\18ðÑîÁó§\81]\bªM\1c/\ e¿\9b¥J×M$LÑù»É?Æ#±5A1[Û\8b\11\94ê\82>+GaJ'[\16Ý£W\95èý<c\8fØ\8c\87?9cR5íáF\95pó+\1cm®VÄeúîÓHF\97稰+¨´#¿`.\99á,Gix,<}[GÙ1Ш¯\94}\8d\1d\r\96\a\ 4\a\bã\82ÂÃ\19Ì?Ç\80\8a·\12$L[Ð\92\ fÂZkÂ\99«Eµ3eÙ¯n\1d\8e-ì°Çwïq\ 2áÙ°M\9a\9f\f|Eaêv[ô\98\85\83\7f^\ 6V\8b K·\8c-Â}G\86\88L\12
+¿|\80¸\ 6Ñ;\ 5\92\86ùà\9fû6L\1fP\ e\86á @&Èèjå\18?ÉË\83;¬e\90K\1e.üézÄu·ØócÏø\98tp¾á®ë\1e³\1e\8d£©ècÌ{x\0¿»£a|/\rm\9cú\87S\8a\16\\1c?ã>\9f\0vm\b\95\ 4¶Óx:®\9a_\f\1eÙXì\1e\ 1Ϩb_ðêSøÄv\88\0¿Þ\19\95µ\ 2#\9f \81|*Ò©Â4\9d¬©æú\ 6\E_\9f¼ü\9eâëR~\99]l<i\97ØÎ*l¨ßm\93çI        ¥xu\83@Ö®\8cöPö­Ò\88>´'\eO5\9bZo% mØ×Ê\92\14oeD\11Ѭa\977!_\8f\f.T0Y\1dþjÀ?\93&.o6LéÚð;\ fòs      \18\vÑ\92úù£Q\91ÿË\8e+{cî^ÉÈ\91Ô+\ 2\roT\1a}Vc\1e«@Ð4a©\17£Ôõ£ê"\0\9c7ÜÖTX\9a/¦ò£!\¾\97£´\7f=pNä÷\12\9dÊN&
\9dÊ®$µÃ3qu\91\84\ fK\bg¯ºæ.\93\7ftÎ=ð\11É<?8íh¾ätþÑü8\1e·4[Y\13\9aNH\15Hº^<r[T-Û²a\ 4ï4ñ¢?\92pÐÎó`$x\fÅ\83\ñ¡Ã\1f\1fÂ8wÙæ\97É\ e\ftÏ1Å1ñĺ­ôß\86l.êN%Õ\a¯\9d$MÓ¥Ü\86ÀÇD1hàøÞ\ 4}?\1c±a±qs,\eÝ\98·\0\13W\ e\9d\8c`[\13v\rÐS92\96-ØÇki¡RrË+f\ eaE\û*QR^\ 6×ýsÀ¥¢dÿ\ 5\99gèÒ\80¼G\84Í(\r\83­¤Fnò7*\11Ï+\9c\96å!\18¤$¼½*Õr,b\8a¨r\Ú<H\8aKÀæYíNK´\9aÌ\84Ox$«0¶\v\1f\14¿<NBÛ\94¶|Mv½ßE \17Ïeã1\83ó4ì¸A3æ\v\14¾Võ\8c\ 1w\84¿¥\ 2Î\81Û¶\81Ð\86"ðD ©á\b¼\88\ 3\96 \81 \0o6î
+\a\93^\a×\9c\ eah\1d\1eûBÒ&Ü1¨ÚÈ\1c\8bà.ü»Ô\11§\vè¶ 6Ì\81G\15ô©\97N\95RÁ|d\12'
+<yzL\9c
+(¯¤ôìaõ\rx¥Ñ·|ßGqä³Xf|Åü\97\14àZ/-ðÚq\15\ 1Ø\93òbJÂ\9eËzF\8a\9b\88H«Â\16þøÁýüÐ8\9c.x\aH}\fU5\ 6-¯äa\97ߤÃ\9bð\1c­\15Æ\14ØÊ¡\1d\8d\ 3Y\16#.+.ªü/Q~\12\14:¾Ù\19ð\1a²Úk\97Ý\10À4ÿX1\1dF:Ñ÷2\8fþ\1d\1föèð\ 4\ f\8a
+0\8c¼JA\99»Ç¹ª\88XgxcfȬ \ 6\ fò|O0##q1#\1a»@¼gÜL@¼hÿ\12\9fay=}Æ\12h{\94³iÀ\ 6D|ö÷è7\9dì\ eÙÏZ\1f\ 4æ\96MóqÔzýº:\83×Uø\8dø0à\9eK>ÕO§Å£ë\96;W\r\ 1o\18 èÉn\90£Çû &\164oÐã\16[¤-R£fü\8c\12Vé$$\9f\a>\10(×0Åf@%¸Éi\11·\18\9d\9e\92\13_TáÀ½\98|c\83\8bR\16Àôº\80·£ÏKùBß\ f=/\88\ 2E¼ô¶\bén\8eL
+\83óðc\17ù©ã+×øÅ×nâËYCf\16ÖÓ}\962õ½çÚ\8c\f\8e\8f
+\ 2QÜg\96\86¤|
+Èð¤ ?\12èG\vû(ý\ f©E\8an\e\84­\v/\fÔxd%Q\879Z¤W\9a8îo\19}ã4kÑ%ã\93ñk _Æk\14pÜZf¶IÈ\8d\ f\1c\96.Ó½\86\8f\19\90£ÂÑ\rýsë\9biAJ&\92â\17\95\86q´ÙCs\8b¸\8e\93\0ü\83\8eØÏòx\ 6Ño\1d -£a\92æ\r ÑdïÃt¼wÙ\ 6
+N\12q\8c\8d\1eµÅhÇNÀÜ\12\ 60}\r®\90\86Ç52\8f\8c:
+æjW\1c\ 6&ãè\a·\1aúM\9fuxísîl`L­\12\96\9b\89u-6î\14´»Á\80\86\9fVéà\bCðø\81e\8e¯^3µ¤W\a5\13¥ý\90\87\16H\84ã\7fl&Ç\a5\a5\80ÚnC¥ui­bvcj&LÁH\ 5\8fÍÌ\80~0Í\18\88&¸a~êaº(Û\91ÿ\94!ÒWWf\0âch\1eÁÄT£s\93ÉäÓ¦ms3ÉÆÛÅÌò\18\10\80\17\17\ eþÖ\r¬\8cDï~\1c+dbúÎ,ip\ 2Âôqcëm=BrA5e¸\e'\9a\rè³À\82Ä\11S\1d¯1dA\1f\ fF\9bHlyG2âÇ:8ï\96\95F¹Ð0ô¤~3­\9f>GYðÀ\ 4,÷ÞѦãÿn¯·åº\92Z·R\16\8d\0! Hb\ 1\8c@\92\ 4\8d\ 6-F Ý\ 4\81\0\91¾jFùA¸Ûd\rÐL\1cm\11!µ«ç±¾é$\92ô}xn@d±÷0|Ø1·Î$\fB@\1cÆ\r°\0c\ 6ä\8fâ(àF0\1007ïß¿\7fýöý©j@\84\90Û\82sºós\ 3§l÷­¶Ïv\ 5ïzàÙp\9fa_zú÷­Íïzà\+\9d\7f\80·.áßà\1fb_\û\90éðûÛInݬm¦ /\8fZ0w¹\89mA-ªoÙVz¡ r\8d\90¯ppJåÙÕÆÙ@`\19ñ²\95±Zùç\8b£F        Çÿ=F\91:\95 ÔÂL6B\96jµµMìxK\ 1ÍlõT\t J}ξ*ºz¦.8S{pÔ"t£\ 2õ\9e{ã/VôFíòL(%7Äi
+1^\98Ä\bê=\98\ 2ÖÇn\e\ 2\rj\8d\ fàÛ«äX\1cÙ\ eSq\17\8fD\ fÒßL\8cz¥º¿\ 2ú¯\9aAVWEή\rÎTÜýô Ç¤úTê\81{'PJú\1a\98ßãæªÔ8vçræ0\9f³ú{èù\86Â\9aÈÅùV~\84\1a\13~1\9b!Ð*\8e®W\16\9bó\f?Ú,¥ï\8b&\9bebRÿJ\9b·/E\r©PüóPæMø¿\99\vý5ª\1c\92YQþâ_Ö\8a\82VgÛîMi¶ò¯¯M\vq6¶øzAfʯóú\16ù¨î
+\8eæMCd©6\95¥LÅ+¥òeG¾É¨lCãB\99´Òû\11m\ 4Gò$\93\18a²£·\81{\8e¿\95\1fÏ\92Pp,\ 6\8f×ÚQôåGû\92J\ek¨Ñé,¨éP*d\87d\13n³KIßM\931´KQ\b\85\15H\10\80×\fS\97ÈúC\8a\16ì\83¨\18\87\94ô\90ƨòVÙlW\ eW¬Ç½£¡G\89*<P=Hx\80\84!Tô\88n Òté\94\89{\eQ\83\aùÜ\vÞÄ?s|OT\15Û\85"¶×\88T}EñIþ¼-¸&\9dÄ\a\82\0£÷eG©¾&}̦Û\82\94p³Ñ?\90e\80ÁÇZa¯\v»\ 1Ì\8cwV)\7f\11\1cµcÊ\ 3ùâ¬oýM\12\89»ÿ¿\8f\ f#î«øü\eßõ+øþUïýjþ>\86÷\ 1_Çw{\80¯ãå/j|\ 5â¯ãä/p\15üw$Ös¯ÅD×^­Õüs¯~ú¿\8e¶öý_ÇìïW*þ>òõf¯ã\86|§ýjþ?mzøUü\7fî\81\92¿ï\94{u·\1c\ 5\1c3\v\94ÊNã\8b\ 2ar
+ïæáþÏø,ù\98\85\9eº\15\9e»à\f\8ey¸;\a÷íüUаT©g­\85g­º³á¡Yð×VyЬó®¬õЬõ×Vyð¬óî¬øxV|=Õ\9e¾\15\9e¾êÏa
+ÏaugÄB³â.¬ø\98V|MÕ\9f\15
\8aº³âáYñwV{\18V{\e«>2\15\9f\19ug²\85g²¸\11üÿç\81Â~k\10ã\93b²MÕád\9f_ ²O1Ò,\93\99»¬\93[\1c°b\9dV­U\95.\0\b©æ\14¯Ñô\1aZú`y_ú¦<näZ\94î`x?\9eÄ\88Ì\10yöp;¯\ 5Ï+\9b\93\13\ eeµç,_ôNÍ\8eY\87ð®\9e\7f§\8fsËe3\16XP\99°§½ÍÃ\9e³N\9e\15>\1aâ\9eúâ\9euÅ=\9dÅ=t-\ f>\15>\1eâ\9fÛü,\b·²4\92ÃûFþåMýѱø+ì\rG½±³sî}\92\9fI\7f³\ 3\96\1d¬u\9e\r\13\9aygë\13ãy¶~å>lE\9fã\8fꮳëüøk.¿ØÅt\7f\10u?\15øÈ_\8aüeÕ\9f\ f
\87·Òtø²5ß\ fá_-\ 6\9fг×B³×]Yñp¬ø»«>2\15\9f\19og©¸øè[\8f\8eºÞùÐ¬ó®¬øØV|mÁhùÈ\84Ç\0Úv«yý¬7?µ;\9fÚ¯\91´,ðØ:\7fðþ\ 5ý|\1fÄ\7f¡¿ø¨[ÿ¸üGá¡~7ë?F\8f°\85£ì.¬óáYçûê
+\/     ì®¼Oþ­ï¯ø¬ó¾+=oÁg¬´ ü8\8b\8b=gõÙý\8dÇíOI
+ÏOÆþôÂ\fèµmÆ\8fûÿ\ 5|T/\ 5ñW^3ØÂñ\9eÆêÏY
+ÏYñy\1fgu³ÿíö_ýZ?ïé¿Çgÿ\85\9e²\ f)\aiû¯ÿû[â>+=\87Åg¯ø¬ø\7f\8fÈÿþ|?Üs\ 5\7fc|H,Ã\v«=OscSà´\1dçÿ\ 2?ë³á­ìú\9f×g­·ïé¿]\9fýÞåæ÷Ï´\ 6d¾£\ f\15¯wß`²\9e\1fÒÛ|\8eÅ\9e\8fg¤áDjôÙ\ 6Ù-f\1a;ñúú\7fÉÕr\8eØ÷ÿå ¼d~Ì?±¡È}\9d÷S¢É:ßݾ®ÑÏyø¸2¿·\9b\9cÝòû_\95¤ñ;¹ì\9fÕ¯ù\92Ú¬_\13\89æe¹QûÕ½\94÷îÿ\1f\83\8bê/Ñ(ÿí\89ïü\7fï\8fýÿ¦)\9f&_>\9dv\97k¥±Ò¬ÓKi¥ôÙ\9d5\1e\9a§Mßi¼\8d5^\99\1d7\ fMc¦\93ð¥¼)\7f
+o¹<à\9e\8e\rvÿ\ 6µìî\1aÄêÅ\9b\8a\9c5wÉÁð(P\93Ïþ\ f¢ßðõ~\97í¯\9dñ\9a,±ïÚ[ó\84ÿ^Æ\9b+oÎ\13ÚzH\9cÁ»Oñb¥ì\9f\86\18?yú\ 1@\r§ÿ\18©zl)\1d\97E"?\fs,\11Z0Ä2(ýÖuÎ\10\86\98\ 4sç&oïÞ?Bzh÷ÿß¼"Áâ\805ùÑJ)`þ2\9d%Bw\9fÄ\8c\80<rð\0Ø¡\ 1Hr<^ä n\ 1}û[\8aÖ»\87   Ø\1e\ 6\ 6»Í\9dK\0\81¸\ eX\98Þú\eàÆ[ðuG\1a¥ý\107f\81øÒN\14Úò\9f­m&\99$°ä,/±©\81\1f\9a¼\1aõ\ 11ÈCÃä·rö\81\ e\ e\91üÀ
+AZûvvROW:LÌß\92\9c\ 5M\12Îgºpðÿâfý\99[\1f¤fþ\bPþÝ\93Å\864\10\9ffT\82\13ìÊÀO\80\88wæ{\ 5\82àÌu\91\90\19\98U\19¡ô\9b-&\8d)¸2ɸ\10H]\9a´àʬ'\8d\88\r\12Þ´|K7ð\16§ÚF@àí\86\10ô\9eÈÆ¾N;ß(\1efs(ôëíd\95o\9d\ fýd%\fVOèXS-\aº\v\15y\9eùÌ\83\a^\9dVº¦D     Rq·\97Ì  t{\17¯\ 4\94©DCý´§\9aup¢Xo\ 4K\vôë]O7\ 5\1cr#6Ú.\0¢\1ez-ÿ(PÙæ7вéê×7x}ù\90Ç\98l\83-^Ròup"
+gV8ë¼ðmÊת£Á\16\90æUÔ\9fÈ\8c\11Â\ 3§Ï'*é\81R\ 6úþ\1cÍ»Zâ\80<vZ¦>|`Ã\94\92\1fSb\1c\9f\98¦\94Â5\19:q\99D\86\98d¿§\8c{ØÄÇd\ 1ä\8fv\1d\8c\88c\92jjZV5Pïé-T{ÞWT\a\0¿ç\ 2\81ØF\ e¹·{P=ø\9b\90\84Ì`å\87Á\96S\16Wd\ 1SoaD\96\94Þjdq1\82o+Ik\80h\18E?ö®¢x=\v@ÞU\98ó\12Úø\ 1Ó\1d7¶¿9ë%ü\e7×{:ú\9f\7fÊ\19\82\82¬§®ZðýÐã\88\87Ø1 \16z³Ü
+\r\ 33s-Ã\834sS¸nËU#ä\97u1_\8fz»Ó
+°ãÉC\b\ 6öZc´,Á,1¾´\1aT\96=þí\89@ÿ\bD\86táf\1f\e¸·ü3D½\944\10\9aA\81¥ÔCöÈ\14³\1eÍ/!,qG×\87.md\e{r\9aEå3¾\ 3\93\13æ\ 3\85c¾&\15PJw¦î\ f^1ºAO¿\ 4L\8eV˽©\90\rÑýør\92¡ð\1f´ZXtù©ð½4\ 4Ö\ 6ûa
\1aIÌ»<ü\93-^9\9b-^J8%ÔcZÖ»¸\8cC\1d\1e\rÃI³T­ÇMM\0ê3Pæ\9eª¡æ9¦\bÈ¿o\b÷Pê8\81Ê37\14Z2n"û{\ eô &¨Üí\90qQ\83\1cÿ\ fÄPºÚcoË\1f8§¥\q7\94\84½e¬\96\ 3¹ä½Ü°õô\ fp\9aN;çÃÌßÔ±\ 1\v\7f\18}úÕÔO\87\84\80\98gQ\93°ÛJ\96 \aGtÜ\85ùÏQ/ã;«\ 3 ªKÓ£Ã.M\81ßÊ\9f\103*\1cÛu+\0\1fó$1\ e\19`\8f.\1f\16\v\89\b\85»\9b    \ 2þ(\930Φ=tPÉ8ý \86A\ 3O\0ÃÕ¶\ 12w}R~@t{\9dèQ°KÅ\0e·o\ f\8a\8a\17\9a\1e\8c\0\95þ\a\9f~\97¡ z\15è¸\ 5èT\7f\19\9e±sÆ!\99ÇÒ7\9c;9Õ\b\aŲÕÝ\8a*´Î«\9e{A\12\13\fìÖ»¹Å\ 4v\92àö­\8eóðõõ,@¨\11Þ4\ 6\ 3e\r\98%²PØú5,@­ýÃ¥{ª?ê     þ\86kêOB$½\eC\9b\14à\83\91\85{\91}TÑÜHæµ5tü\ e\881[G\8cAõ+Øv\85¡ç8§¿ùÑ\ 3\11Z\14\ f\90]\90Ê\ 6\9f\ 4.×4ö9@4\eìÂ8|\ fÁ\15\95Q?\9bKCÒ±Ïå\16m:\ f$­ã\1e!\99Ì£6Z¦\8b        æ=\ 3Ð\9frò£Ñ\ fMVZ­nÀ_R\1f\f\19w%¯ 01#âÛ(/ûv^\80ßÈ]Ò~\80\93\15åè\rO\11f\92\11\0\11«@ôìíÃ3óiÔ\95q?Q\1d\ 1ÖtOÚ.øb*\95_QI(\85sJ \18\9fÚ£À\7f\13\ 3\84¶´\0F3ù$ÞÒØÞ\ 5äÎ\ 4\98"mX\103\f\0þ\r¶Ø\1cç1\96\a\13|\f²\7f\88˵8\0$,2C¯XpÌÜØ\ f\81Ð\18`'\ 4Æ!ä@\9cÖSÀ<$­\9f¡ÏZS \86ª1÷O\7fÖ\98ú\8f\að\1fcø       \8f.\7f\193\8f\90ÍpÑí     \12\14¹Sì˹wd\15\84çê\93Ro\14ü\f(\96;\ 6\1a\9aõ{ÿ|Ï\ 2\1eËß0¿\ 4ÎÉ{öv®\fx«²\87µü\13\v\8byù¦\81¾È\1c[Î5\7f7\8by4{õ\9f(Z\93+\ 1\8f\93>%\86Ú¤µ\ f\81d°Û\ fá\ 5Ú\13ÄÊ\8c.s@ühà \a°^K\10xÀ \91ü\98r\ 1¹rö=ðË2hêIa=ô\85\8ftWì\ f¬\fD£)\98¢7,Nõ\88#\10b\89g¦"n¶RBvB\98îK\12oÉ>ÜS\1dáî\ 5\1eÔS\1dáÿb#Þ\xy¸ñ¸\92ã¿\94Æ-ÌݽÇ\8eÿ\86\7fÇ\99©Ç\7fÆ©O \82ÜÊ\8bs¶@\87Û<°Û\16ǨÁ3Ø\8eÏÞ4ê\9fÊfv\»Ð¨¼\8d\ 4¦u\8\ fýÏÓ¬Z\82\93\82\87iñ~\9c\1eü\1f¹\ 4÷û³\aT@¿N\8dAO\15¸¿N\8cÒoÓ¡\14\9eRénP\0\13\8a\9dôb\1eÐWZ_\15\9dÿn4\80Á ¿\85b\92\84ÏÐ6½³f\81i°úOÒh¤öfr\a»QúñÆ\13ïl\r\15½¬³\81£Ó<\9f\86(KÌòÿÏ#\91ík±uÆE\84\a\96æ×ÏÏH\9a7 1\1cèÜ\80°¾çd²obÖ\81\97ÁÐ\8c\0`>ع}^\1dãa\92x\a\7f\90Ë(\7fCoøÁ\ 2\9a9}á\81U6s­Íg¥\ 1DËÈ\ 4Pb\808_#DQ\1co\87.m^AÃ^·5\9cõ>\16\8b       \90Í\8bC\rB\82¸d\8c\16\85e\86Ô¼qóÙØ\7fªøÑ%%¹GpG\ 6 \1cÙvM\825ãà\ f( $Ãü¦îS{\976ÓÐ\ ecâÛ\a¹\vÁ\ 1IÃT*¾Ø,f²Mdèg¸ÀÕ\14ÖJ¬\94Y~çcWöË\1eù³:ñX÷âV4ëÕ\84\ 2\1eÇÍ}µ|7áñW\15d!ÑöH§?¼Î¯ýäÞ\7fágdaï"÷\11½Ìòt9ü\9fÝòã0-\9eò%ÿS\ e§´ø­m3'?}\87\8bÚ"¯ÿ\1e!çñÿ¿ã\19\fá9ïyÁ\9d\bTþ¥3¸\9e\86ûæ¶ó>×\81ãö3Û´0¾\1aùÝEáe\8fؼ[ü¶úL#fW!\ eþÞñþ.\92¾9ø@+þ\84Y,\15??ïE\92äï\1fômÊàOÏ"é+ãº(²_\90lÉέe¾dæ\9fËN!Î\8eÐÐr¶Ó¢\9bóÑÈ\15\9fG!î"ÉrfØ\1a\7fßét\95ð>^}\81G\10ßß\8eV2\e     Ç«\80\90C\1a9\85ÓÌr¼ÈûT\94}\99¹\8c\rÂ?Aw42B­e\0\134?)¸¢\87Ë\a\ fzü¶HL°4\81øõe\0E0\7f\10Ð-~\vX`æfÿ\95@\86ÕÅC;¤\b°\1ewFh°\1eÈ\8cX\ f!XÚ*®\9eÆ-Û\9d\16\81pqH.ç[Î|Æ\ eñNzê·ç\97\ 2(A&)k¹Q°o\96Pd\ 4\ e?>-¼ßÌ\13ʹ>H9§ÿN\81\ 6\99\18õ Í\8favN\fÁ\r\ 6\8f\8eZïB\ 4Íuü\12\a\99³ï\91ïà×\88 \85½¥=Úæ\r\8eGYÿyb\91t\94Î\f\1aó"Q\ 1jcÜY \7fgíÃ+u\99KF\ 6<\9d±!\ 6¾°îåÆ\r}V¹dß{\8b¦v#VÍ\9b3n\87\ 4*M\19³\1cÏnm\1f$Á2\ 2\81î®Êj¯\ 2;\9d\ 6À\8a\rì5\9c )@\94Úu\11b³2Ä­i>:ð\8f\ 1{³ô-ñË̺4$\7f&`V\e¯â        \9eÒ\1e\94\f%\11;Èå\ 1Ú$1ܼ§\86f\ 6\80\0\r\17m,f!¼0i/+\1d\ 1\b®\7fñ'ß\96ÀBê7
+¡u\ ev\a7ÇQ&äPÅ[\17pÂÉ\v°¢G,`væ\9d {#Ô\1683\9d\ 1õ#EÓ\032\16ç_\ 1\v¯®9<Ñøºü3\93Í,\8b¯øÎM\80\e\97\\84,-ÄÚ\95øtóJÂëù¤!VéÄ\9dyõq¦\87G\11\au\ 5\80"×xv$Óø#T\83[\18\91éW©-ÌM4Q¶PâÕ\ 2<1¥í\0y¯¢\8c\ 3âcS\83~}\e8(À>X\98\16J\aÝ\8a\16¨zöfç;¶F\82^P?Ì`À=Ù©áÿå³µFbý!Ã\89r\9c5Q|h\10ð\7fr\10\19\7f÷é¦
+Aiÿÿ²×Ô/ðW,dý\8aS\99\1a\12Z,è\16\197\16)¬òð\ 4ÈY\8eµ!e²\10Ë}àÌ-\9d}\ 3ËÍ\v]pCW\94\83\96» \12\ 1q\80\93¦ä\ fÎí\92ï%\¡·l\95Á\12\83{ÊæÓ\8d\80÷6ÀïSB\eþ× ºò\v±O¨n³\83¶íç/.¯.^\ 5\f-¦N\ e¯põvɼä\83¡\8aÌC\b\8f\94=B\10\0\b\ f¤\1fß\ \18$\9eØ\1a\88\10©ô
\13tÿ\8e[E\8a\ 3\ 33uÕ\87öµs©ÁþÏu\80\ fí\99î\99\87öº\1dÔ^\8b\15ö¨YðÝá50Á\ 6ù \0A7¯\15m\85â\9f@¹c»\r\1eÀvPþ*Ú­\8d\82íH\10</Þ\7f\80f\8d\11v¤û
+íL=\87\9aª \8eà\85     å\r¸á-ô\10\ 2\réÏ\1eÒ\1f\19`Ë}ݦlÿ\99a1Æm¢\9b\rM\9dªæ2¨\ 4z`zëW2¨êTê\1eilÅ\ e¢Z¿w\1e\82ZÁ.\97@5\85\96\8fÔJ\9790Ê ³\9d\rº\11!\8bðü°S\r¾mVY\86¦\19\16\80ã\81þPP¼be\98¨F\82¡{|  \9c\18d\ eD\9aF©Ë\ 1\eî»\v°t@Q8ì"\19jÒé\ 4Ï\ 3\84@3\ 4ÊÉ\v\94#ÙNa\9dÕð{%¥$=        [\9e\1f):\ eàÞ\ 2'0ì´a4#\9c\10fkͧ3k\9dÏ\85÷7\ 2û\8d\b\1aüé*²¬5+QÏ\ 4\ 4ÐE\ 4\912¥Ôë9\ëÃeÁ\ 4ä|,N"Åu\8e45\8f¤-cÃ\1aÄ\1e¤\87;DÒ±5F±
+
\r¡#\ 3pî×ÎR\9aì¾ÛA|ë
+QÔÜTäÀC\12õ­~\1dý\7f\8fíóëóiVfyÕ\90T)ÍY×óë<åÛà¼I\97\90ÖÕ[\97]©¼\88uFò!1\aÈ\84\88v\1a\98j\8dã¬\ 2^Bïà:¾\9a\90øM«Ñ        \e&°É\8f\8f\7fP\añ.\a\91p}\86\13
+Ò÷ÁØ_µ'\87\87\10g+ÔëØg90"Ú.Ó$Ç\r\12\ 5y\13äN²ÑîÆ-\15\ 3$Òm¬Ü\96)qÃ{\9fZlË\ad ÌÌ\10Ñlû/,*¼8ª]Mµ\9b\b<\9cGB\17~ÝîR,¨w\1dë\ e\7fz`ÿûô\93\80é\14ûðÆ\ 6ªàÑ6Ö\94B\ 6\17;mg gá=kt½È%ÞÅ\16\9fA[*e¹º!\11þ{®&æëpw0\ eë7<\83\849\83{ú_¢÷ÿn±«{õpBÄÓ\83\832ÌêÄa\9c\9a\92Î>MNß\¬³\8eÐ\14´¡gE×B\83\92\83\18\báö\eÎa\0\1c©ÙTcÇ幯j\ 5TàåϽýÅ®Põ4MKÕ<%@,ziz§\ 4\1ed\87M/#\91áý¥äs+¢j^©`¯Ëêa\9bÍö\8c\89V&mUè\fÎ}¥ý¥è¯ßñÓ\9fú05Ñ16R¼\1eô\8fBF}®ô\80ü\ fÅ|8èÚV\17\ 2Ú«f&Ë~\95x ÿ\+Ó}¦\15Ñévãå)\92Z\8dÁ\ 5\81\99.\98\ fY\98\84 ö Z\8f¯¦Þs\ 6Ê£ç¨\17\ 5³È7\9cgBvõä0tcç\9e7\9c\\ 6Ðá!\91K¢0ÍD\0'\8eö>q¼æ       ÞÛ\83\858\0¦®«b\8c¨:`\16º÷wº¬\9dÚÂ8u\1eÃñLm\92ÔÐtÃz\97Âê,òh7ư\ 2\f#\9c\96eQûä\14\8b­ç/®òìµ]S0V\1fqAìW\7fl×ÐtÏ`Ù\80-Éû\ 6Ñ`Û$ì1a×8ºá\8b>tÉuÑ.¿\bZ/\90\9fÂ
+|]<âçkÙj±ñ¯\e0¡;f8°÷\ 1s\93\92¼0.ê\84\ 3ÇRô@r+å\9aZK-Æ\7f°Þº\eý\9b\r\ 4¯·\1f9ÙcW\11Ã\ 1¥·ä·\ f\12c\9fqK|[Î)o\88äu\9cPØm\0l7^0\16\rÞ\10g\98'°Ø¡Økl\1f ®ÃU×Ü\\1d}é ì·¡°Ø±Øo\9a\18Ð`ì6¼¶\e\18)dú-x£°Ó\91¼ñ_ì4¤!\9fý\e\r»\f\ 5ìö\92\97\a\8a8¢×ðéy\1eÐø\15\91³Ø;¬Á¶\aÓ¥°90Ø\eDµùØjõ)kv\81=öR\96¯h,µzûm«Þ#-VNü\bï\¨a¸W\90\1föeÚ\93¬$\12߯ù\803xòr\88ý`\99ÑX´ü\97}Oh\0<³ñ¸§Ø3\ 2\15+°¡K³¢     =\ 5Û\ 6\9có8\89ìmÖ3ý;\17\rªhö^Ü\13ã\95\93\7f\11úßÙ\1e¿ø\9bX\ f7ZMüS÷\8e÷Ðô7\ f\1am\ eSë¸Ø\9c¦S'°:ÑaK×\97í9Ü[¡³â"Vüï³\8f½~\86ÏÿKSÏ»Ä,»æ/k.ó7¥\97u·u\84¨&\86Sƺ\f/\99«\94÷Á\96e{s\14[ç!\84ö\96=\98\94\85Ûþj\1a\ eNu\98wÇú\10ý\140\8d>C\1e\94Å\85úº\vs+¹§\87 Hz\ 3.¸åÿíiðÄ5\88\92IÝÍ<>\ 4>:¶ü:µ|¯»Ì×­T\92\98é9Ú.w¾¸kª    
+ýzµõ°©÷9?\1eÕ´@óñ:C8ìtÌDW~¯\p,þ\91>¿E|µ´\96r{O\9eÛü\10×»bC\13ÿøP§é4º}.£JãÂÌøY¯
+Ñ|;)f\1fNy\92\12?«ßcï\95Ü,\83o¯¼¡Íjð\1e®ÿÁü«çfs\v,oy\8b\7f¦¾J\7f\1fcsô×ù¹\7fþ\91Y>\15øaÙÒ³øZ\9d>_þ­N\9d/IÏ¿ÿ0A/é0¦\9cM¼/G+\87ô\0ȵðÅÈ?ïðÞçÓn\13ígW4\95\fßÝÏÓn\19\91>\92\84\84\0OIîÂ\95ýiN \99\a\96ÿ»
+Wà¡õ\ 6ÊäÍýþhâO\81\8eñ´òr$Y.déÜ@\1e\89ûéäI²!|\96\13\98¬óS\ 3Ý" Y
+´ØÎéÉ?\907¹yq\ 6ýqZ2\82a\84ZvY\12m\ 5ïz±ÏÊ\1aØç5àÉúB\8b>Av\13\91È\97\17        \88\1e³\19\8c\8d®<iÁþ\eÀò\ 5hC\ 4Ìó5®²KSÉ\85/ÐkX\0\ 1\ 3S\10\b9\16 Záßår-\r\8aC¨+\ 5\1c\ 6õI\83<¯²\98®\bÐ\89Å\8bnD4|À%\1edæ6Ô/~\91:ø6ÈD\08'\ 3\ f-\aF0
+bÐÁD^è\18Wã_g8{\86¼Lã \92ÄT6á\11à #é\e\85\ 4\`ö(mEL\9f\b3\8c\8f\ 6m6BzCA[ áêæN^/\bF{i\ 3¸\96.át©3\e}\1dXB<áCèa6º¬\1eøc     súX\9b)dÕÐ!é\1dËÍ\vù4«¢&"8\98\9f\e¦\81\97÷Å"[D7Ð\93\8b
+qf[Õ?6\1a2\9bG\fvæ~§çmh^gk\87(å¡z\b\1eýxc·h\8b
+\v4\ f$Ó+8\1cSõ[C   ú´\89\81üD;^4ó¡\95\92öOáÕp\úC^N\7f\16FÛ4½Ã_?;\e\83Ü8ó\13\0\86y\ e!ö®R*¯\ epvâb½\19ë±F\82Ì\10x¿¢~@è\1a\19wðdEoÉIîµ+I|Ë\98|.àI\1dÐå\f\ 2í\889\98ðgd¬Å\vT±4\±ì\91é¤\f\1f^"l+ \eöT\b\94Tk6}\96Í\fV\eã²\10\ 1\857\86&û~`Ç\ 1ÓãÌû\96\ 5»BÑÏ
+\94è\88%¬èºÈÙ»}\9aÛPõ[`ÿNQ\96\18Ü»¿ìñæ?Û¼xþÁ\98¦\84\ e\14\96\12\13\9a}JÔ1f\0\1e-\8f»\8f\14+\918Õc$°\83ëO\8cÒ¥Î\83#d«|åI\9dl\14\9bBÆ   ä\13sò,°Ú \ 6ã|ǰ\88\ 6\12\9a!õ{\9bh\9aÄ­Ç´%´DT\ 6¿O^îS\16À[>>?\1em\9fQQ\8eÏ\97\8aÜá\93«\96ñªlû°\9f4\93\ 3É\99¶¢M\8a\95f\8c\88^â<K7\11\90a\ 6O+ß®°¡ãÃP©²J\14«¾W\v\14ôÝ\97\8c\80\8a±lǶgI«MK:)NÓ+9$òÞ\18W$)É\b\ 3NE\8c©Ú¬(¤í\196\0(¼ï\18\8cê2K\12\98J'9Tíø¯¯âu\9c\84ü\14_Ô²\9eT¶<\92Ër§Rò\9f&Ê£8ù7\\8c×ÙÏä\8bÊ<8ùGKÉßÞOÊ>\ e´|£\8aÖþ\9cL=\ f r\1c£AÁ\9d\8e§\10
+n\19\83\ fÖJ\9cºÍ§\95gøÃ¸1ts%"\1c\916êýÐ\87\12»ý\99ÀóóFjNÉ\1eW!]Mu½\ 4²PÁ\f\ 6hV*\1fµ`Û&q\ 2\15\8a9&\8c5èõA¶¨b¿ïärÓ\ 2¸\835yÅO]\8eÖCå<³\0¨\91\8f»Mìì¼íNk¾pò\96¤Oò\9c`k\v\86fÐrI1èq\1f\ 1Ófü)\ 1\90xDÎB<bÑ\7fÑ3\19F\965?\96\8f^\0\83#U´\19¿{\13\90\aÔ:b$\95\ 1bpÁYÙU6öP\8a³[\97½bÐ\88ü\8c\ 5\ 3Üóç-wÙû¹[&\93ñÎÌ\82\0\82ÃðP\1a&\8a\µâç»\ 2\90ý\95\193\8fn\9e×Sãn½%<=él_>È Ýõ®«¸Q\8d\ f\eC;ÞBz¨i\ZöGnÉ¿ÀRR\93GT\9càëT\85\92ä¼ú\ 2ÛW³rüá\8c\86îVØËr\95\8d9+I\10RQi§\13©&\ e
+·j\8e³\8e_`ÜÛd\ e\9fAï$U1Ä+å5´ü\ f\95?Q_ÛG·\94Ø·\98®²\fÍL\9f\1a±k¶zuÖY\83ôç\1a²\19Úä»K\0St\97iäÝz¼jÆaÐwºãVN»]QWKµm¢£t\ 1\f@Ú"uÓd\12ÿÍö@KY\1eáXÂÉ\7fÓ\1eRù¦,dÔ\9f%b<ÄH\9d\80Ä?\1dóçüÂ\86E
+
\ 2n^×2M\ f:¤Zð\84\9e45\e^\86Äc\80E\ 3÷³¯×\99Wñ©\18h±ÛÛñ¹ª(Ä\ 3\82S\81¥þ±7\1d.òv\ 6\97ÕW#û\e&ßt#\80\95-t\12\0î¶ÉÅÇ\84?û#\99\1d\9eÜl| r\95©XªóDø\9ecùd\17\ 4æ­V\99^¡ïêðE¹Ý¥¡¼Ìik`®!!¡µüU33±9\ e \16\98\8dÃ\8a\9dv#\v¤\ 1Ç\95hêÝf\9c\1d­\f²\82\8cród\ 2+\vß;õ\9c\84\1e\87õiQ³£
+\8b8\14}\88\92m^æ¹ÇJ·\bÊ{iÆ>`DýoäZïp$Rþ\83Pº]ëU\8aË5| Xlÿ>îû\98\957v\1cÓ\\9e\8eã\18ú±6
+&~¹\ eGæÝßæ¹úK;\9c"õ3¡s븿Ùsø\83Á\7f\ 6¹è½ë\9f;É÷.{x¢K("§\190¡y\82¡C\81?S\81\b|O\11Û÷\9d\bR\80\89\10\0w%\80Í>
+K^DÖô\9ayc8©¹It|(\81
+5×c\ 4Ë4 \ar\0ÊôÁ¯\87=.å×á\10\8aÔ\ 6f\8eò\1e\9a\97\12µÞ7EK-Öãú§\ eñ\ e)édß:²ո\97\ f\94\93zoE×OHs2<\9eÑ\0ûÆÇWR6k´Ï\84\16\ 5z.£[V®\0\1eê¡\1cÒ\83éÙ\9c    \17<}\ 5ù²}\82o*\9aÒS-\86q-Ë\87\91`½ø>^\ 4u\19£í°!IÔxêW6\9f(w\89Å\88ì÷\0\11fxÀj\8b/z©fÁ\12à`ÐÆ>ï\14ÑZM¾2õ#\9al\86øa8\86Â8\97\8c¶µ®\982ÕÎË\87ëÔ\1e¸\96+\16?>\9fé²Éd\80F\9cÂ+®v\80\95\91âË\99×j\19\17¸;÷Bºè\10\91\r\al\87\19Ê\1a\16\ e^hCò\e¿âÁ7l0¦ó\ 5éÁ^i\825J÷ô\99T\b½¡\88;d=ëGò6ûkÊ\11÷Ä\aÔæü\99$à5oµKØûµKv½ª^î]¬½nBuj<\ 5é\9f\84J        v´úéº\149\88\1c\a\13-P2["\87á\ e\9fuûæ\80üÁ;\13g¿T\ f\1d\ 1@Ï0\aù¾\10\eßÃ)#\ 2Z\ 1\b\86w\97%Ko\86M\1c\85î\8c\1c5\ 1\ 6[J\1cÓÒ ¦\91§`
+ïg\ 6á\18å]\13\85CC\1c¸\11\91\ 6»ö_G°\18ÚEã5ή@æSÙÕÎ\ 4Ø_lKP4`\ 1à­\81·e¬o7ã\ eäA\8c¾\9füÃ\ 1Æá-I¾\88'>Sà¦T#Cí\14\8bFOÍ\88·\ 58A8\84\eÝÇ\7fì\87á\1dÜ\888\r¥byT«\1f\9e\13Áný3îìðoÄÝø/$\960uØ£pßM\90\8a\1döÌ\8d¹Ð\ 4U\11\99\16àø>ÔÊpÝy\8c\vç
+Aní\14\81\89\8f_¸2Uá\8f,ÍY&,Ô³\8a\8f,H&-|)DÏÅÀ<9\8cH\8fN\92\93\8f­(dÃYëJéE"mĹ¥\,à¥v\ 4\ 5Ã\88X\14I\8e\98\v\9cr@\ 5Î.ÁË\12®\9cYf~tz\19\v<²9\9e\ 4Ù4_\9a\ 5^´Ì\85õOY.YÈj|</\92#¹dÆ(\8f?ÊVQÿ\ f'\9b2\94 ¤%\80\8c/\ 1\82\97\8eîÝ\7fCËg¡É/6O}\ 1w!GïÊ\18d² q\19`\9cþH)å¶l\8ewõËÌt\99/\85÷2v¾?\93X@5®:ú±fFr,\1cÁx
+IÛê·\18Àñy\9cûê²êÜ\93ÕÔÀÆ*Åá\81\ 6goXþ%ÚÞ±\9c¾\82Ý\90q'¾`\1eS̵{j\145®>à\9f\eìx\ 2\85¯\9e\8d$ñÙ\86ÛT­àgC~Í'\1fv\ 4\bØ\ f\ ev\91æWÅw_Ä4%5ú8\8b`y\vÏâ\7f;þçïñ\10_÷>;\12MQ?\11lÿ¹úRï>n"Ñÿs±.ã'\88\7fÜü<A\ 5
+¾"Ùÿsí˼\8fÄ[?î}Qw\9cy«gýÏþBï7sV\8fû\9e\9b\11\ 5ÿsêæ\95\7fÜÿ0ªßjjÑÿs¹Ä[¿î~Úh\98.¾"Ýÿsçf®\9f÷>jk\9cÿ¹åf\9f¿îzé¥_÷>\ eiûþç}2«þÓöfHôÂÕ¦\1f¾.Ïq2«þçùóEÍ\ e|¹§ïû\9c\0u\7fÞ\7fÜá\ 1ÈvÏû\9eù4ü\1e\89\9e\eÍ(ÿ¹Þ\14\ 6íü\99\90y¬ß8.\14J;u\8fáL\8f»õ\1cÉf\95òVOû\9f"]æÞe7ýÏY2«þçé\8a§û\92J·$\r\17ýÏÇ\98µ\7fÜà;ææ\7fÜý´Í£þçëFÀ\91ò&?¨\17\ûù\80ÌEj\8fúcý\98D0Ã×Þñ3Î\rX6vh\fß\16bØ5iØ\19\8f\91\9akýÿcsïø\18\ 6_ô1Ñô\ fÂLtTè¿ÝL\17\81Â\14\9bÿà:¶oÚ½\9f\7fh:+ÿÙ\9f\ fù\1di;þ\ 2\18R\rc|\91çð\11ÿ_\roÀG\84T'Ùó®}\9e\eýüë\9a\90¶>£»\8e\bGf2x]ìÖ\9eî\e__³\970¨Ê:$9'¨1õí\9c\9b\v\19\9dÏ`è\1eßÿ\b<\84t\17oDZHh¨P½ï[!\14Ùö\'m\e¶Ð(uX;ÔO+\e(^ü\19BsÔT¹\12µfÕµp\86dÒ¿Ìá\býËìµ\11¸o%ÛÃDÚøÀ§Êv¾ÞÒ\11\ e\13O|\87DÞ/­?K\85\18ç?°ß\9aÖ\8bܸxÊ´þô;k\ f_\9e{§å\9c\17¸\90\b£»Ì³\10z\17\b¢N{×.\r!¢Ïu\8e\1eá?  /Íùe-ì\19\8eX\82\88¨        áv\ 4]ÐÂ\9d\85\19\a~ÛþÃ4\8aû>Ã6\8f\e\8eP\8a^×·\95¢Î}¢Ù\aK\fhùÑz±0ñh½\17eÛ÷\ 5 ½\89£cR/rû+JR\93Î\86ÍÊ\11ûÁÐo\a\8eNî5^Ò\8d\17¼ÞÓ4\8d/7´Í£×\1a\92Û%\16\eâûÉñß\87\83  \9a[I\93õöõGã@\reH
+\8f,¸Þ9گˬp/Zl\15ü-Í?­Ì{¡\8b\ 3b\ 6ÉaÊ\ f}@\86kîàµZðîèmC¸ÇáÁ9¦×M\83\9f\81éU¢3\1a#0¢l\91¾áí\99\18L\0ê#\18è\97ÖoBúë\ 4;\ 5ìj7\8e¯S´ÞrÚlgÓ\17²\8d\80D\eÛ\8diú< x\v¼NÓzüÊle.\10\ 4f\aºìp\85\16\1eEcî­\ 3\82\9bÀgí\19Z\84\ 5¸6±\18\90\89ÇUÏ\16ØE\ 4»\83Äl\16©\ 5ÀvS=~cw\8fó\r\15\rRòëU\1f;µ^¦øQþ´
+<5¥\1f\82\18\15\18þRä\ 6Ùæ$q"\ 4¿°\ 2ß\ 5è\86\ 3_\ 6[>¥µÎ6\vW¬UÚÀÀt5õ[³9úþ\14\92\e\84|ypÜ\87®p¹ûZC¼ë êõ\0QSLcë÷Fª\8cæ;w#Uõ\93ª\98'\1e\0\a\85ù°\16w\97\97\ 3Ì×MР      á¥ÔMMÙ\89º\9bî\9bÍÈ\9fÓ\ 3\7fL7*%¨½\ fîh\10¿Å\1f*\05ŧZ!\11\ 3ö/@\9b\13\a'!ô\85\8b¤xÁ*Øl]\96\8edÑý\8e\97ró2" .4×\10̵ZÐ\ 3\17\0\bç\NÙr\8aô)³È3\8b\19óQ\ 4<ù«7ë´\\ eõñ¨¸'ôY#Qt\\ e8as<mÐ\1c48ÉD\19ë\9fÑy\17\94è ¶nñ\92ôÀ
+2á£zw\95(Ûe(ϾðÑ\9c\ 4#þN\9aõñ\9fÒ>á©\ 1\ 1Öw\94Ó\9d(dµÃs\82\18\95ò@þîò$]\89Hò,¶L¹Û\ 1þØ:õCêg¼§²î¶ò\9eË\8dßZ£õ,î#\8cN^}\96ª¹?Áá¸LÊ7\880wL\bJÞ4UûÌø\ fyÍEc©\99¹\19Ü\10þ\ fh1á^\ 6WÇÄù©\ 2L¼[0m¨88¿\80ëI\88_{ \7fQ\82!d\ 1\17¯=\8c\9d\18÷Pcã\8dg\ 2\13\9dç%V   ÐÞå¸kÄeÝm\85\89\1cÿ>-¬üÅ}b0͵\10ó\eiPc\92$#+C
+\1dè4â\83Ý+\ f»Ë}\9cÚ\vÄ5Knx\11ÃYq3r=þ\ 4\"\12\frCtù\98\10ZäÖ¿Ò\11\1fÂ\ 2³Cé\83@ÿ®\15¨g]J\18Ïà\18^7c\1c5\8eï\ 3\aH³Ó\b\1fó°6z<¾ÏG\98\ e\8fuJèõÈoºÚ³\vöè\1fy
+¿\94\9f\0\11\80_ÉmÇÚÐJV Ç\8e\0X\96pÉLÁÂr\93\82nÖ:7ÝÆU\ 6\9e 8^F²!\ 1¿yÉ [:B6hZ±\0¡[ÏßÈy1Sä\ 2JP\82Ö£Õ\99\1e\9e\94\80\ ff\ fZ1\84¦\0{çÜøã\19Õ\83ö\ìyjû\19©\13AÞàscã2¢\ 5\9e"\17\1c\9eJ\9a\94w%ÁÜ\87\rq\968\ 4´|#ÀúI-\1d>\184w±N3À|á\93\ 5úlfð\1e{{±h#ûÇ]@MSÎ\ f×mU\16\0Ü\81Û\10ýYÔ¸Kyp­x+¼Îðß8UèGwÛ^\1c\bUrq\9eéç
+¸·ù\83\9b\998\10»u\19M\8cÌà
+4]w\H#\1aÖ¦\13Âe\84¤ù9r\86±~\94\88Ägsw\ 1éÈÖ\ 5\15ÿÝD\ f2Ø`8MĦÄadt>MjµG¥\8f\ 27pa÷à`@$\b,>\ f\b\1c¹\93,\ 2¤\9bÇe\1d\12eÍT\99\rq\10à\ f­?ÀéGêR\10\98¯x-\0û}ûµi7þûÓÓÒ@\bH\89 èI\ 3Ð!\b\0\a¤\90\18\0¯¤\9e\90ô\84\81ä\0eiV\ 1\0\81DK   \ 6\ 2Uð"¡\ 3ÊUkJÕR°\90\84&XÝT\83D@\16\ 2"1j,\0´\9c\84\14\80´bà\ fÿÿß¿}÷Þô÷½!$\80H\ 4¸\15ynµ\85ãmvÍÜ»t7CnsgeåÜ»rÞ\86¼Ût7Wt/CrstwWtows\9bt·77c\7f\0÷On\9eÝmÜ)à÷]dºú9\e[\19\ 6DOôM\b\1aÜÂÜ\1c\18©\9e àV9.WrÜ\10þãjöíEýð\ 2\81\96d¹nÚ¢´~\98=è©Ñ^\9fÏmFYWyMûíc\a¢\7f¹\v§\9e(?ï\báxKG\85ÞØµpI£\1f\ 5¥RùÝ\9a$°ûÐhmc\80ÆÖ\r?l~\99fd¯þ  ^âàGÃ\7f\93)îðû å   ÆÀLÙPµê­eïQÚ\ f\9eÿÁ&@bkI\9c\11\8e=í­\8bx5\ 3ì-Ðæ\8bÊ~è,\1ag]\92Ht\95ú\8d\94\b\96¯å@â²XÄW6\17Bè¡\10Ñ'=\8a\e÷2è\98räax\93È·¼>\ ev\15"F¶íý{£\8d¬ùºó\88Âê\a\91Í\8fñº3P©\12Q ê\e¦Ùî\9e\vÍ\91-\87Ý<7´`¿f]\17\8c\17\94#\14 \9d3åÑ0é\vºó\8f|\b/T\87\1ep\ 5©;\99¬n±\17h'.§Ê+\11ÞR\1e×Ã=s\v\ 5xßå\86\Õtqµ\ eä\9b\99"\13\ 2Ä80+!\92Ü\I¥À\8a/}\8bY«»ré}KPés£ê\aK\9cp%©\84{'»×\11\97\1aåÅÉë\98rÃ(Ü\1cö\13ö\94\9f"içÊ7]çä]"2\9bëî¤ã±ïñi}@üÅN\97d6\bÚ\88\81báü\13t\95²!.þ!/©\16\97ÎYxù'cí\e\1aÐ8ÞÅ\97oQY\9d¶ÛÅ7àÓÿ\18Å.®)\11_\8f\89&ñh÷dîU¯é\83ä\9bh\12}\90\90\83\9bTh¸6/|mW\ 1¿nÌ\97\0\9b\1co׬'ûøî7mˤ\9dK 7\12\a\80س)½\e[¯!æ\eðÇòÑ       v\84\8b;\81G\a¹\ eÓmb\14nÌEI§ æÖÄ
+QHë\98]Ëp"MúÜ\eظ½¨ú,\1eª\99\89 ü\a\90­úãv´\9cG¸vÄ\rgvneZüjAÈ|/\18\84Í\a\17{K\19ñ×°Ò\17J\98\9a\9f\1d{\ 2´Z}ÇpôN\fÏÒæË¥Ø=Qì\1c\91\ fRdZ~\12nü ¦qÎùíQü
+¸nC\81Xc\9eÕ]çä\88âú±{}ò]ê̦üx\16È2µI9MøÉé=ÂÇ(Z\16\1e\1d\v7!\12äÐ~\bÚ£9\ró[TäG2È}µê\9e\ 4ÿ\7fÇ\e\ 38\9b4](\9f¿ØÈ\7f`].ÑE\1c\87®.\97ÁQG°qi\99H~\r5,\87Ñn\11\90öà\90íý\1c\87l*¤;K¸¬\90î\14\85Àz\10sj  Ç·BHü6ÿÎ\ enxÏ\93\9bMÇ9?\ù?ï[{)g/\1c\82\9ayùm\94\99\18ξh%!åÒBRq¢>ø!K\ 6\11ÄÍ}?4\y
+*{Z¿«\1c\e3\1dï{mdã¬óD/\ 1\17¼\86ün\e\1a§Ë\9a7\92X1ÿ/~t¸ì æ=\fÎX\81Í\1f-)\15\9d\9fºZ4]í\8e\94i½ê»¥!è¬#è\9eÈ\97¬>"̦ø\8f\9d\8eo`-K\9f\14$\87"\91io\89\9c\9fû>:öuRP!Ã}QÙõ\85\aÁGAè·Æ\911hõDFT1Ü[je\v{Av¦ýQj-}\9cõ>ë\ e\1e\89Ã_\90Á9Pp\9b    gC\86qÒ¶\17K{&\976[\10\19­\95î7BihJ\8b\aäÔ¹h\93\95J2Æ\96=\88·í\11ÁÆlG©²-\ 4ÜõfÉg\19É\ 5½\a\947)s\1dw,R\94\96½äß\17\97²éÜ´NÌ\ 6ÏY\86àCk4ÁÌþ\1c{ͼÒÇ·\82Äù'\9a8öWïÏ8ô\ f4qìªÂ ã\10óM\1eþ\9a\1eÊO\87Ü\99\ 5\95\bë \8e\92Ç\932$ŲîäK_DÞ(¯\14\ 5¼ËÙöK¶\96¾'Í\83ßó\91£ÚNðd°Ïa\7f"©g¦Ï\ e\13%¡Å\95\13z<\ e\ 6\84×=é0³ÈßG3n¡5ÏzM\92x&&Eé7åV\8e&oÉÿô\82wóà\9eÌ\98\97b\9a\18°L·r\1d70H'»4\13¶¼\19{\84XwÅV\88\94èA;\11w\99`\9b]çê»ÔÈ>p»Ï`îÊAÅû¼èÈ?zî|\83Þ˼ÅxÉ˼ûgvr\ fÖ»³\90|«º0M\9c\83°ßùÈuìѲ2ïÎ`Ñ«Øø$
+\17¿\ 3\vñø¸Ú\ eÔòWQ\86gd<\94\96ò]¹\9cí\1cf\ 4iõ¦R\ 6ºÌ3×á)\ 5½\8c6_,\e-ÌX\12>]\96Ë\1e¯ìÕó¬Á«³H3AwúuÄ3¦Qô¶ZöUywtÇ;á]qÖX×E¶D\10_-§»ö´|\16ó5ºØ\ eu\81x9Õ%\90æ¬\bAûÍ\1a£«Ã>\7fi\96åùS2,N\ 6¼s\8bù°"ý\ 4\94Çbõ:~Aê¿\90\93\8f[v:\94\93_kyÌø'½:µÆw¿p3\19ÿ\90\93(uz¾\vzøëtõ\87¼ú¹k«ið\9dW\9b/è|\14$)McééíU[S±+\ 3\1e\9dÔ\98ô\1f\ 4oÝq¼óÆZ\ 3ûɼãÚ\1e\99ì.MONûÊsT¾Ã\ 1×d£ÛbUå5Ö\rÛ¬þoh}cähË÷SZ¢±\86Ê© ß\1dÿ³³Üiö|õ&ÏÚSìö­bÇ>´2×g¶\1eä\ eÚ\9fnÕ¬_ô\8d\7fWhËnV¸²oY\91Èík1íMiÿàÐ\b?\7f\16yÚÖ\8búè¦|7÷Üðp\93\7f¿à8\95\e´T:\950PuU\984\86+}öF`H»i³3màÙ\93¾ Ù\9f³\ 4ü_4öÂù÷Óü}ÿ\ 1vÁC©\82Rw\1f\7fç\8cÀ\97s®|]ÿ6mÿ\98\9a\rÿ\11|ÀCEUØdGø%/ðpµUÌW3í<¢\93oüé£üá·üeµ\9eÿË\9f\1fãN9/±/ð0|=þàwà\97þÏ\1a\eýl\/\e\7fÃÅ\ 6ÿÀpåýw»¿ö0!¿ùØ\8bådÿ©\81S\ e\ fùcøÚÇD¼i~:è¦\1e+\9d\b\ 3\aúñþ¶\7fæÌÀ³y³0.|ö\ 5\8bÍ\9bÍI\98\16/6o57f|ߨ5÷\98?ûµPØ\90lѾOtܶpãÐð\9dr\1f8{\85N§7\84·Â_o\8aøQ¿\9d\7fºs\97X\1e%uÍÀÑ¿\1clÊWÞ\eÏLf\a\ 3äÞÌ´åæÓ÷æó]y5Í\13§\84ê),\12ÆâÈqɹ\10½úë        \82ª\85í\9f\82\17¾ó,á\7fJ\10¿ç @o¥iÀç|«\8fÎ{ýÐ9Ï\81«øÏC\84úØ_?[\vÕý\98_\aðBü¿5Q\vÞ\19\ 6P½w\1fè¼\90¾   O#ê¾¶\17ÁseóeË?sW\ví}_"\17\93ë~\13à\85ì9º¹_¥å¿¾\ f\8e4Þ¼/\ e\>\ e\8a©!yÕ|\a\8b\94\1a\9bxÿ\ 3ñ\95]\aÞô¯¬\83C\80ò\11Jò{¦L\ 5ç¥å¾Ð<·ÁÈô8|g\12\87-ïß\ fÀý\14\1d'\17íÚ\ 3ÙÃ_À\95ûD0Jÿ¯\và\9f¾\1e[æ!*á}/\17ö\88pâÿìBûª¸wë«÷ÃÀ|d-$/;\89õ¾¥Ó×úß\8c~ºñ8¿÷yopWíÂõUоr\96\17­\9cdCA¤\85öS\9b¹\1d\að\ füH^Ûø!||5D¯ða~¡@Bø¸È\88^7Öü\ 3ú\9b§Ã\vÓÃýÈ^ðü\10¾\1aû|ã}\17ÃÕÊ÷½\võt°½»GUÅþ¡@q\7f\17'\8aÃq¥}úê¦é\aðq\7f'zû\90½áø!\7f\1eWêùnü=_ë*á{\9f\ 2\17Ù\ emãÂú¿¸ï{åþ\7fÛ\85ú\85\ 1\vøü\aÁ)âòßîÂü¼A¥\7fdØqü·éP&t¹¢\8a\ 4\aö÷®\b_YÝ_\16ÿt[\rì\7f\89\7f'«þ$¾z\1f%\1e\ 3Ñé\9f¥èïìú^?ø/\84¯à¿\9b´=\84K>òüéýÏæù\97To\83ú\13y­7iþ\98ÝPç\e²~lÞq¦ëOs6¿\1cn\94ú\ 3}K©=\15\13ÍÏ<Ù§}i¸\978ߺ\83tkÏ\eÎ4Ð\9dÎ÷ÊÉ/^W÷+û\95ýþÙJ?þí5_\e&`7Îv\84\96\auÂ]Î]<º\89u2ùÙ\83´\ e\1a\a=\ 2}\ 2\8d\ 3î\80¹\94'\9c.e
+̸L¹Ì§\99Q2ûFÜU\93´.\1a\13ÜþÒU4íÎhsº\19\8d ÓN\13NsIæ\94M>Í)\9a\82\9aU4²ilÔdÔkF\f§³`É\8b6\f\89³`Ç«6\fk\97®\18\8dW?£Í³vkºÞÍwTO]Ór·\17õD«ìª\99X)UR«%VÊÏJÏÊÐJ°\95¡\95¢\959¢Sc©\96\82\96U,²Yl´d´lµ\ 4³   ddß7/\9c\97ÎËÌKÍ\92Á\8bªÏ¬Ï­ÏÆ\1aÁ\88Ðçè³çµ\17\85DÆvbbbnbrcM1«\98\9e\98\8cÐFè#ô\18í\ 4\98K;)]S37393¦\99ÕÌÏLÏÌÐLÆècô8í\f\99¥tem\156O\9fÐÐ\11M\94è¸\12ßø\99*\7f\ ewFt!²ù§ã´ÈÒ\93éç\9eµ×a#ÞÏÀC÷qqÏ}ï\8d̽캶õ]\95äê,µM¿Ç»u\12qW\7fe\9dÓô\8cî\8d\e\94¯yÿì¨\vÓ\vM\8bÍoú×6û\ 5F1J\9a\ fÊ\8a­á7\1e\15\18óæ·üzn5¿ë\17àò ìJ5³\8b\84ÀcP/\16;õ¨7\9f\ 4¨Æ4x1uf\ 2\83\95\18Æà\ 5Ð\1dOp\ 4Ð*1\8a=L\92ÏH61³Ó\f² -\16\9b\eaýa-:UШ\9b   ¾"&kiÜ\18]\9b\90c\873°i÷p\b\94\1e<AÆ\9c\16\19â\985|6úcpû\13¹~Â%}å±\82
+JÛâ0õJ×\1fÙ;\11\:ÖLüÍ\82\16Zïù($\85Ùäî¥\8e\10{þs\1dÂ_ä4J\17Æsy\83\ e\15%Ö-5L»¢à]Ñ\14]Ñá\rGn\0Å \89جÈÔ\7f<\91\89EÞ}\80á©[\f=Ð÷#×T­[\7fr\90ϸT#e\92×\997õÞ\11Þs\8fæÞk$\88Ñ1ÜÊnà\95\9d®\\8b à-\9b\89\94n¤Z½<γjV¹M¡ç\11\99\9eÚ\8eDѲn\r\1a/Úõa\88-øÙÚ?#\93a°¯\14¹\13\95>\8b9
+5\85¬\19\11\12×׺7?ѳ\90¢lØä\9e\1aÍ)\99ÈP)#v¿\ 4Vr\14N\9f\93^¹r³\90\12\16r\14
+\acÑä×¼q\9b%¦ü58ygâÔµ{Gâ³\90\17\11\85\1cH£~-¨Ê%á\95Í\16¼©\81Þ\9f~G\93d\8b¡ÏïP`¨\yt?]\vòD\9b\ 4]\ f@\85ù$L¬º\1eç|~6Õ¦\7f6Çß ×\80å\ 5Ðö{ãñ¶¥ÆÄülDõ×ï\11H\82þ°â¨¬\9a\94\11ê5{¦¼\98\ 6ÈTûR\8c?&Ë\v\93\ 1\81êx97,\k¯t\96R\85¿r$âægX_\8eG&å,¥\99n\8aÌfbÅQäÜq\rú\8e8bl\18\85¬
+ÌÆ$S·g\9fÔë\7f6LaÄ:ÿ\8eLaî®UV®\9f_rý\8bWN,X3÷-]>&äÊÕÓá.L­]?Î+\86î#\9d\8djéÅ\8e{hÚº{¡mòÖ4¾\91ÉÚ¢ÕÓßn5\96®\9fÐE9_]4iø6®\9fUqgjéúdõ¶®\9fÀ¸{6®\9e°\83\a\9a¸\10\83\a\96¸\18\83\a\18ØÈ\83\ 6ØÐ\83\a¥wöH0{T\8c\880y\96Ê2\f\1c\8bgä Áé-ôä\189{yä\1829ÿ\84|õ%óW(\98qw\vjg8Ì`HÑ\9dO\ 4\8cu\1eÌ&½:£|\8aø\ 4\ 6|cB\ 3?kr© 3\8b\ 6<\ f 3ä®U$\ 6y+\97Ú 3éÚ\90\19çmÅ 3å®C9Ó\96æ$\ 6qSC\11 3õDÕvvæD\ 6~e'é 3\99\9b0añµÛ\r¼\ 1Ô\v\ 4xuf¿\1eóÛfØ20YëPÉ\82Fþ+     2åÎi,\ 6ZÚb\ 4 Ï\9f@\81\ 2ÿ\ eûP@¿z¬ _\8donÚbZ?\14\81\96,u®á\10\91¬ôä\f¾\8aáL@Ë\14\97³¥ e\8atï"@Ëz¸p\b\19{×Ö$\f±i&½1\ 3,K^å¯ÎYÓ± eéßX\902ÛS\9e@Ëõ\9dx$\fº\aT\b\ 5ú÷^\11\ 3/¼GÒ÷\ e¼"\ 6_^\8f¥Ì:ðÈ\19}
+>\9b
+ëV@ËV\8f¨»: @Ë\15:«D\81\97=l1\ 3,p!\7f\86@Ëõl§ÉvâËüä\f¾\8aØ\81\ 3.
+Øb\ 6\ 4nQ7Ķq\b\19w[c"\ 6\\11.VS\8c1=ËÕ²¤\81\96Ùlã\90\aÊB\ 6X©ëYH\19b§§ä e\8dÊ7\94MݾV\102úÇÃÈ\19\7f-ð®O3'¸é\9f8\ 4\f¼3ç\1c\81\97||ûä\f»\eç\10\81\97¸µðÈ\19~I\11.\1däs&\99\91\ 3/9kõÈ\19\7f6×ü\ 4\f¸\8b]Q\ 3.\85í\91\ 3,Tñ\ e\94\81\96*xeR@˯Y?¬\81\96µìÄ\f¿OÙ eâ^Ê@Ë\16lÓÔ\102áÞød\f·§³È\19bõ¾Ò×Ä,äA\85Æ÷´H\19\v\9b3\1c\13Á;R\ 6þÎÆB?=ª \81¾'´6$\rþâÆÌ\81¿ÚØÐ oõö?\\81¾âR\ 6þ"ÇÁ oÞmMH\eöûUY\ 3\7foi@\81¿ÎzB@ßÜZH@×\16\ f\9e¦Ò\89\ 3~nÒB\ 6ÿÏ´Ö\10\8e°tÄ\ 4r\12§\9d9kK\12\ 29t[ç¦$\ 4r$:»¦ÙèÄ\ 4r$¦ãÎÍë\84@ßð^\8f\9cëé}\ãÕI\ 3\7f>õO\ 5ÊKGtÌ=#\ 5Ó\17E\90c\ 5÷Eg\9a\ 6\18Ð_Ë.b\1e`\1e¿9\ 3|ÕÙ¶\84\rú:ìÚ\ 4\rÿÕQì\10\9bR\ 6þ£ÿÈ\eþ/é oý{=Y\ 3\7fɳÓ\107ôözb\ 6þ\86ÏL@ßùv\7fl\81¿5ûD\rÿ\91¹ýâ\ 6ÿÖy« oê\9ei\88\eýËÍ1\ 3\7fç<Ó\10\87\9fl\81¿ÙPû¤\rü-\ f÷\107öü¢\ 6ÿö\90\9døD\r÷\97zb\ 6û{½1\ 3\7fsfþ"\ 6þ\82ÍP@ßùVoá o\8bKlêH\eïÖjb\ 6û½\9a\98\81¾\9aÍûä\rÿÔv©¯ëàÊÒìEîÌ«úý3³*þ¿Èv>¿®U\93¯M\1aì}\7f_\ 4ìο¯\ eìο¯uvª o½;T\90\1d\8aÊó·fD\rñdQz$\rÿ¬\9cò\ 6þà¤\ 6¿\1d9ðOX\9e¨\81¿Ý'©\90y\12ï1j\90º2\ fÕ'e ù\14çÈ?H]ç\1e\86óçÓ³\90qºäl¤\1f\9aO oí\98T\107Ýv­\b\eø_È@ߣq\90\9f½\99ot\95Ù7
+\8aì\9d3v\8fë2~\r­}Ïܯ¯ò«íÿé_oeýXÏ\82¿õÊ\15?\1aèjÞßñ×VÔ\19\ 1ìòæ@y¼é\90\1e¯<f\ 4Ýé\f\80ø}\97/øë«o¦Ûùg~.ÿ\81²~:êßÑ4\7f{6ÿ¼\9aAön\8c÷ý\86Éøë«u²ÿï×Vëwÿ¿][­ßþýun¶\7fæÌÀɹ³07\8dI©ÛsfóRjq\9cÙ¼ÔÚ\7fʺ·@{\ 3ÞÏblÙ\90-ïn{\13\86ͯ\816½u®ºº·[\vß_+««u°¾}òºº·[\vÏ 1þ\8aêÝl/\82}®®­ÖÂö\ fµÕÕºØ_\9c¶×WVëazËuuun¶\17Ñ[«««u°¾bß]][­\85ñ\97
+êêÝl/p¸×WVëa|åÆºº·[\vãîUÕÕºØ^\9eç]][­\85ú»\9duun¶\17É©®®­òz¿ß«««|\9e¯÷êêêß'«ýþºº·Éêÿ\80®®­òz¿à\1aWVÏî\7f7̺£|\1fÐ\9bÍi»OôÆê\87:ØÌ\9f\17\1an´÷3kñÆéO 7Ôº\93yçMÏ<Ù§}i¸\978ߺ\83tkÏ\eÎ4Ð\9dÎ\ 6¡¯¤~ëBÎë3\82\8f\95ZKå\7fr¿¹UË¿ä®]¨.V\ 1ÌQ°d\85\93\80uN\95p\95s\95O*5¾\15Ò¹y\Ü®rW;+0Å8­ßhë|'K8K9Ë'\96Q,û,ηÖκ>\8do\9fW/=.\8do\9eO>¹\8do\9döaK\1aß<üÅ\ 4Â5¾q®§£[ç\14\189F·ÎÂf\86e\1aß8×QY×NÙ±Z=\9b\15\9cY±YM\9b\15\8dY±X\µß²"\½\1a\f;³`Õ{6\rH\8b\ 6\9dcP`Ó»)]S+7+9*Tä\15\1aéû4ä\ad\9c\80³Ùéüõ\ 6y\86z\87=EÀ\96úÔãë=¶¸uuÊ\11®Oüï©\89v¸h\9fasK¼y­çO½¢\9e··ªì\9b΢ËT¶__Õ\89ëaÏË«õmÿõj\9dè\18¶^ÿIì¢y8à.?åW.vÿ³\92;~åqofkV¿AÆl½ús4Ç=EK\7f+ÙeÕ¾u2>ulãoÓ\19¦?új¦\98ÿÚM j\99;\81Ã\91j\9dצ"³\ 6j\89\f¢\16\ 4¦¯\8epÍfSy\89J\9b\8cEgt\92Ý\19pêi\1a\11\1a        \f\92\9eÄ\eë*CRÒÅf\97
+\94\\vMiî\bbÇ+gÜIé\8fY\97\12/V^ÉYrzad2ûݾtéB~pkïâÉ}å\84ʤr&%\ 1\9cÞ\9e\15"¼¼a\17¼e`~       \8aÝH|Äe\88ÿÂÊ\7fàøeXÎ\15\ fÀýº\8eÙ\ f|\94ÿÁ´Ê³ôµº§l¬Ì,|6\85U\97ööÌê¤Íß\87lªi¶x\10«T©ð÷DhÓíL\89þá"øO/\10Í"´Æ\86×ó\rN£Hl c\1cÔ\fBÚ¾&ð\18Ú\9bh5ë_XÚ\9bu\8bÜ{]é3Ênõ\15\81ZjÍ\93¦M"-Ñà\1fE\9bÞ³ÃT9¤+\84E¬ë\11¤\18æn\8f\9b\æq\16\15ë£\81öwtp>Ï\98G\ 3ìë\10 \1e\95õ!t÷\^\9fJÙO¥KO¥m§Ò¦x¤}1Ù°\9clÿ>í§\9eµ§\9f\94ÓÎ\89§\9d\89¹\9f\9bTóçþÌ\94w9L¼\14º©u\92ëIr\ 1cåñÒòrë¥òòü\8c\ 4\ 3G%,äLÈ\ füJ\ 4CýF\8fg¼ê²;KÖ\83?¥æ{Ëö¾ÃåùMê\93¸\9dDs\8dGÜþ¹ßæó\ 4³\ eílÏ\80µî®Ãÿ\98\1cæ8î.\7fݺïi¿Çö\1fùÀç8\83Fx×\ e.\a9\8d¦× 3b·è*\9b\15¾LÂ\8f°#çÁû·Æ\e4i×Tæ\8d\7f\vî?\80¦\84c}Î\96\12Ý[½F(\ 1\1aËüuy\15¤%Ú\8e\ f]²IT\81m0xª
\88Ü\82©x \90\99uãgÃi¬u)VçC¨ÓdFö`7W\90 \8f\97\1fÖ6Fµìmü\14\92\8c¨²ºco\bÅ^\94<i\1cx¢º¬\83êÿ\8e\91}ýÁuæÎt\89\14ÈZñ±\90Ý\r\94÷pd\83³ÆZL\£\82\v\8d\7fÞ\19ÿdE¢\9a\91w\94r»Å6\8dd/d­É_Ô#L     u2\eqD¶\14³­þ\8d;°¢\1a\\82²"\10Ùo\90­*åW\91ÑÙD^÷òµØáË,L\v°éò*\ erê:CÚu\ 5 Ø\\1f7\8d&(\ 5ú\ 5TJb:¹Ë\7f\ 1²\bÒ®
+9ÙöD¹\13\90Ü\99\86\èfgùm\86êôØÖä#W\88V«ù>·\16Ëá*++V.-çº\8e¿ËÞ\95þÞëäÇ\1f\17HÍxQ§0Ü\13\12Ìz.æÓ9u\ 2\8a4\vºd\89\1cº\8eð¬\95o\9d]\93o±%\92å\83ÉÊÃ%_3¤Ê\93\12\8aÛì\99s÷&h¾y\9f \8dë\ f\86#§Úäp\92\85×B]ÕÙßdkäB\14=\94\86çl\1c\89\10PrÒØrÒÀr£^"Þ\1cPB\91Y\88mÑy\9a\b\85ø\b\vnÚÅ\15\99òÇñ}\8b·ùd·½I´\a´\9dá\f§lù\8dÇ­â\88¶õÊiìRt!È\8eg\0\89!$q'æöxGk\fyd\95±5\1c\92·\9f(Ì;Ýá\88M\91\83\ 3\8f\1eÄSÔr!ðLúëÂi.\81wH\91$\97Ä\19\1d\8a_òR.É¥,\90¥k$)i¤\85ĬÑ7\e4\95eFH^\14H¿\ 4\90ÅÞ6a=]Fü\9dg\ 4pð¹Vo¸k\1cF\8b\99[P«:Vcä\8a\90®\8eAb\9bÖui\98±y8Z­º\Ï\97ðÙá\14£F\86l\99ÿ°gR²¦_\82Ó\16\ 1\aN*xYr1\fç\11\99\8b"\90P\15#í¡\93\8a¡¸\97\15ãM\8bÐ\8aå=#ÙU\96³3éE^<'.¦ÔE\e_ÑXd\ 5ÎÇfÌLø"u\r°Å¥,Ë\995¾º#Û/\bG3¯\86\83°'®\8cn=\95fÃ3eÀðñN:¨§%{â8o½uå:i'5Ù4á55âØÚ\9d\96Ù1\1ax\92,\ 1²\90-\93¶¼jEÎì\94I$°§¤j$\92h«Å\0à\16\84:B7Ûj\1d\rCìGO¼I%idÝýRÙR?\10\8bÝ\108¬¥æ\91\96¡qW\8cñcc\92¿H\98@È¿£¯\91\84ÄI¼ô¨º^X\99\v¼]\84U}urÊ\8aÐR+»úB\9a½e\92à\81A±?Xj×Q\vïI\ 5\82®²M±Aú\96Æ\ 4MÕ7yü¸Lãò\8d\8b¨éQ¶üüÓ\ÏÔ=\9bJ\8a´eÎÂ\897\ 6\e\13©Õ\8230\ßÖ\84¾­è\9c´]Q0\84\r\7fÌìLæ­g.îõ\92&\1aÆæ!S\87çÒ\19E\96\19òf}9ø\95û{RL\8d§\12 zôÝyp\ 1\95D\7f\ 4\89GFÔ\ 2\14XKWÜ6"ËÖ­U"ôK\1fPgÌ~î\róÞ\9b\89\ fûl¢KY\98tØ#Øçä#ØçôÌá\14~\aÝüFdõ;Þ-\8aÇÚ\91¡\10\8e9B¯\97À­L      é/H$o®\¸\12&{eôGî\81Σ&V)²\ 5?&{'ç¸IEåPþe?iü¬|5\94Sip_Ȳ\19\9e\92(¥Y\f¾#Iìê³òN\9b}\9b\1e,Ïþk\8eúí]Ðvׯ٫¹îÿÏ\ 6ìÑ\7fAz.ù#jÏ<6±\9f5¤oU\ 3á%¢xð\92Óö\8bÊ:ì:\e¿°ÛAvÆ®íg#b9õ\89\7fîÒÙ\8e\v\8f¨ïÒ¡\94<~¾\b\9dë\12þdøsÖ%ü¹ò·6fÑ\1dé\92ñ\8a\8d³ë>ê\89êR\95¶}fóâ5\eÌ"Ú£yñ\13áÌÞ\9dU/§@¢\9e\9cÒV Þ\7fab\0Ö\95×p³\87m
+Ø-Qb·ää$YÇwÚ¦ÒÝ\v\ 1&OýIÔ§\92ä|\92[=ñÁ³ONÙ\13\9d\15ørî\83 Vóê&ì\1e\17¾p<"¹pð\8b\15ìb¾rÁá}æON&\93\99y\10«hØ\8cà\82Øê\9bì@\99Ô\90\9bÏë\12\91G\0ô\83ä\9bI¢J\82¹6gzáBß\17LÇZ\95\v\9f\9eóò\92\9aË\82âR\1fo\94\bÒEL ³ÍÅ´Öa¶AºuT\93fÙȺQAÎÞ»O\97Y$\\95\9f\9d^\ 5m\13^!^c8¸æ7T\81\f\1a\ 1Øx    N\86_
+\98]SÎNÑ¡À\12Ò%.PÜØÏ\8a\9e\8d¦Þlz8Ç\böË\85µ{J\86\r\b\93ÇÇ_ðò2B©ÎEf\87ØÛb\11Q«2&¬
+l\ f\80Hõè\87
+´dõò¶\ f-Òê:â³\16e¥Á\ 4\9d\83È\1c{h\90Ç\19\92\a!h^\1eâ³     !¥' Å7\85\81¹ÉËòÄ)ĬÃON\1c«Åß9h¬"\97\9f\16ý\BJôR]<\18º]#Ä?ý$ê,êy¬ÚT\14ê©Ä\93ª´m\93ª»Ä³ª¾\92iÕZOD\99\89 =ÍfjFÒÅã\8c1Kã\e\89Ü\9fè@o×^\1cK\8e\ 5ÏǤÈö¨Á·+\84e\8eå°p\ 4\v\ 3»WhnHG8xZ\ 5¤·°$kâkÀ|X\e#Ú \a#ÖÈÁòk@²üjÑcX\97]¶Ù\87¶¯$\91urÑ+´6N¶©I¶°«rÑG\13Óã-\r£\91ïI \91ïM¶\81È÷\9e\9dgOà\11\84&\84O\16^x©ñsäêF_z¾Äõø\97\83&\15·1RÐè$1\ 3\0Ý<òÃì\7f\9dÒH}9±\81,¿\911\81,?*\9c%\8fdþíú6\97ÿÓt+Ú\eδa]ç\9d´ÌO1üjº»Ýþ\13\ 4·®J»rÜZ\16»  \ 1àcê\99è|{£\7f\9aÉÿ¾ì\ 5ü>ÆoÀ2\0\11!¯ë@|ð\11º\1d¯uâæ¤hâ&Îp\ 4ZÉ»·\e£Øg¢\ 5\8a\ 6I¼WÉ|GN\1ciy¿\19å\91x±Ã\1a£=ÌüoK\b嵨¤Ô.,ÏD'\983Ë&ç\8còÉû5\84¯,£X\ 3Ï\19⣣\8d³þ\98\b¹Ü¤S\1a\92FÄqÖç!Çv³\8e\99s+â£ÅôTy®\\8b0zw\90g¡µÞ@r¦z\exÝ¿QoL¯hg\8a\1eÐ\99ñ?xÀ\11jxvì\a|g¹3ÙÌú'qkE\bäÆ\9eð>e\9b\9d\8e\ 6Ì\ 2ö\ 2,0?»\80\8dtLk¤ý\90\ e \ 6¿f    \v\ 1³\0Ý@o.ç\1c(­Î64\8e@\a$\ 2'ÐþÄ\a»\ 1Ô\0\8b[^ö ;°\1dãÁ\10þ\84j\9b'k\aÎÎ\12þ7ÿ~ÐW        \90ï\0\ 2CÀl¯G\1d\1c\ 3\8c\ 1\12-Þx\ 58âàè\ fR\ 3Û\80ú`/\96£\8e\e4â*y/¤\ 1ô@T=\84Ñ\80\8alÒøÀ#aÔq :@\1aûàzð\11Im\7fL\ 5òØ\1f¸®qð\bÙñßFØC\9aé×à\1c°\ fn\ 3>\ 3·}+&[­À8\0\18ûi\18\87Zt¸\fð\ f\98\ 3D\ 3i\1c\vø\ 1\8d·\ e\ 6\83\1cv\\a°\ 1\9a\ 1\14fuò\80}0\e-¼ã\85\98%8;xÚi0\9d°\11f Ì¸\ eÎâ\13\87q!ÏÔç°\1f£r\1f´`âÌ\ 6|\ax\ 39s\b\ 3·\ 1p\ eM^À_Àyð\1c`\ ep\ 6\\aÆ\ 1 \ 1°¿\ 4­\80Ã\80âß\88Çü\13­À7p\11@¿þÁü\94h\13ºÑg\1d0\r~\ 4=x\r¸\ 6ø\ 26^\ 5òèq×\v Ò9\ 2\1dÝ
+\8d\81+\0V\80\8b¨ac@sb7P\85à=ÿ0\12\9e\ 3\1d\ 4\1c_\80\8d\9d\97Ý\80ù\97\80á¾ò\eL\a6\ 3\9e\ 1\9c\ 1Ö\80Ùy\90áü\a*\ 3Û\0÷à>0\ eÄ\ 5»\9a  w\ 1\94\ 1ú -ÜØDp\18\10\1c\80\ f^\ 3ã\80½ª  {\ 1\99\14ô´\ 1²A\9ctH\ e\f\a,\ 34\ 3³\83*\e\12OB\84\ f\ 1ôÀwÀ)Õ\8bF\8aBHÀz°\1c\840q\9e\ 3¨\ 1ó\0FÔÐóPâ\8a\99aÇx\ fJ\ 3\95\ 1êaŤòaìÀzÐ\1eÀ\a±\ 1í\0{`\19p\11V+þÜ\aè\0÷`27 ånô9V\\11<\a´\88      ë\ 1\9e\ 1Û\80¸D\84K\ 1T\ 3\83\ 1\93\ 1\17FÈË\80Î\0ë\0v`;À\14÷°\82à1à9°\1d \ e¬\at\ 3\13\14\10\9c\aÏ\ 1\16f\13ÃÅ\87\ 4à*¯\813`17Ðáì\ 6)hpv´\8a  rso8\1f\ 5`0\801 90\1d(\ fÕ\ 1{\17^j\80¼_Ã\810\18\90\1d¸\vv\09\eÀ\84\9d\80Ì\0ë@T`\83s\80æ\80tÀ*ùÐøS\ 1Ò\80\8b¦äð±\81%à:Ï\88\1c\r\80®ç\82NÀ\>(pÖ\ 3\8e\ 1ê@gÀ[°a²ÀdÀu`4@7ï\8c\11,\a\16\ 3\90\ 1Ê\80õ`=\88\f¸\ fÐ\ 1Ò\80ë\0|\80\1dÐúþ|$\9c\a¥\ 1\8dè\ 3Û\80ë\0\11¶ô7\0\1c\80\ e\\aÏ\ 1\a `1¢ÙEQÊÔÐ\11_înÐ\ 6hVMT\aÈÂ\11D9NÉ\80Ë\80Î\8b®\80@[0ÁÊXõ~\80\8b©ùo 1 8\0\1c\98\ e»\f[kõ\83\ 1Í\0î\80lâÀ6\90\1c\80\ fl\ 3­\ 1¢\ 1O\88\ ekÀq`=\88\ e°\aÖ\ 1\16\ 2\84ÎbE\17ÓC\94¸ðä\f\ 6Ë\8a   ç\ 1Ë\80Î\0úØ¢(\8d)ݰ\ e¸\an\ 2\aw\ 1\89\17X\85\0å@h\80l¸Àúë\ 1Í\0ý\0\17Þ\84?p\18 \15B¯¥\0+@c\0c@E\81r"À£\11Æ\8c±``Î#\1a\1f¸\ f¢\ 3ë\0ÉôA˸\ f\94\ 3B\ 3\8bÇ\a'`;À\1aÿÈ\b.\ 2+\ 2ëb\ f¼\9bH\ e,\a.\ 3±\90á¹\87¿Þx7/Å#'\99äM\88Íxó=\87d¯ µøßo^¬Ï\14\19âáÿß­áÃ>.¯\ 2\87ù1¢ÿm\16O\11G¹´xVÊ\8e\a±QHÿlz\87\84%Õ¼hv\9b×à\9a<!íE;ÂÙÙBØæ/\10\13;\93!wÓ<3¤¬¢åVGü,á\bÉK\19\132ou\17\84\fæE\98æ\8f\12\ 5çHÉw<i\94)öî\86µ\17\88\ 6â\8cð\91üz\ f\17-\91bñÀ\9c1\10ÿ\9f\ em?Dg\8dÇ\95 ªh¼u\8d\17\8a×ãÍÈnD\8f\eË ñ\ 2|\8b\17̰Ҽv\1f¡3ÃdÙÍ«Ñ\1e\1c\ f\ 2G\85õÂ\19áʰH~¯äȸSÿXd\19CÖ¡£þ\8aÊðóqÍ\8a\1e\8cÍ\ 6        »\9a\11â¹/
+A=1­Ù<(ïÚxS\1c)\1a§\13\1eg\88\91\95\ 2q^_õ[eîG{ßHÊ\97X²<?mM&\85ù\8bþ\82ä¨Þ'ÿ\8c¤x÷ËW\8f\bÇQð\93Lñå2ͬq\9e7\1a\8eÉ¥äVåI 8\ 4\10\82ñðRÿ±Þ;\80ñë¸ô8%Ä\11ógøÃ<t\17\ 4Åã:2\f^\1cò]®\8bÇZQx\9a[ù>aT\11ùËð¤|า\8e\8cV­öüFUgàCK\f\8eÛÃKq$Iû°Ç¡3Ã\94äLñø¿Ü\86·C®ßÕ\rY<}\1fôCV|\1a¢ðÖ¿r`Ë\89·1ÿ³\12ß\90\89cðÇr#ÇÊY<_\94¼Ûá\88ñëÒü\9aôm\1e\1cÅä9¸\93|-\95D\ 3Q\83·22\83o"\1ey\122\86\14÷Îù\95¡n¸Ö+\Þ|âá\fñ\12ù\ 3>y,÷\90\11\94\9e§¾yDc]·óðk\1co\9d\7fÅ,p\ 4dóOüK\1fôË
+0ÏïË\19ï\15\8b\15Hs7vÿÙm\16Sbä\10y\v¬s\15&_«[\1dtz\8cêý+]^\1d£È-Yô©ãÌñ5ü9\9e1¿\1egÙjã>öå?\81¼u>Ï\8e£x\9fÝÈ\9dL¨¿U/\83ºj:        Ï÷8j|S  =âÀ±è<RN9\a\8a\8eÇ1xî,\89\9e2\ e¡\ e\fQêÓ=ä¹µ\1dA·&\8f\15Wû²VÉâ\92¸þ\ 4É\9eñ:_¹¶Q\92\13ýùüW\95âñ8¢4\10G\ fö8EkÅ
+\8fµïZ¼\83ܼxÂ\99m\11p\f{GáÉð\87"ÆEZáyMD\9dÓlÜ}>Ïg+%øé\8b'T\88ù¿¡û²xñItð¡ÍYì¯UÃ\99âÓøÖ-\16ç?\9b\eù\ e\ 42!ôR<Jß\8eç  ×\8b g\91A\9fÛF×ÖÀñ=i^/·$nMÏôôÏ(ë\1f\8f\9c:\ f\1dc\19\97Ä\99\95\96%ìcÃ\93o\97}ã;ڼ\7f=¯Ên\1a\92\8déKÑn{é¬pÆ} \1e\1e\8f´õi?ÿ5B\f1ñ=\95ø¸ò}¢â\88òr\r\f¥?\18KmcòË\84\10ð\82\83ë¤m¾ÿ|B\1fë\1fø*Ê2\90c°ØÙRIÞ[Ë»¹roknÎ]Ü\92\9f\92v8ݻۺ\92Ôû·yïÛ¼\92D\18ÆQ\8cc)\bL\ 61\8c\84!FA\90c\19\bA\93\ 2\10e(ÆR\10d\19D!\90\91ë\19
+1\8c\95\8cGï{ß¿{Þ÷ÞßoÛ÷oowsÕË\975UM6Úc ë\v Ýtl én\ 5\85¸2Ü\v\81KpiJLHL\vn\15)p Rãи4(\+\8dJ\17\ 6ã\
+\+\89K\81s:\83Óݬ\92ÈÛîÌ^RC·\1dÄ*ë>Iú\8f\9avU8\96ôôH¨×\ f(l\1f\bû\fg\8c\9e\95Å\18<\9aÔî\13ðܧáÔ§áÕ'áç\13ð¡ã\80%ñÛ\1c\ 1\r À<\8d\85{âñw\9dÑð\97Ó¯ØË\1c\94ë\85Fj®\91}ؼ¡îø<ZG®j¿6¼võ\93^g*\87\90Úë\ 3\17\eÔ¼\9b¯\\7f\95áñ^OÎßË\13*xÁÝÞF\ emãñWÇ£lùi%kÉ4Ñ\98¯KP\ 4¿L{\r\9fÁÁ\87¥\83¸Þ\98^BÒ[Ôó9r\ 1ÇÓ$\90\8eÔ^2\9e\8eµç\9f©wëv\ eÌGã\vÇI_\1c£mN\ 5Õ\ f'_ \9fÝ\f·\ 2ñÖûqÿî\ 2\9a£çGÿ\18wSÑ\17\94êÒ=\8f£Ç½;*îÔò\09Âû³²ñí\97ñÛ¯ã¸K*_h\ fj²×xuîþ\1e=W\87ÿ\17\7f¯\17£·\99ã¿æý:/¯\ f\86ELxÕ\83Þ¼^<\ f\16\86Øãu¨Ã½\12Méä·\ 3ýÏ\93P
+&rq\8bf>eEÑ\9a~õ/wUxìª\9dÁ\ e d\1f¨2y\1e¼µ\84ëTúÎe\18õË?\aèTxd\9c­1*äï\ 3\14ÝQþ\1d\99æÞ\8c;;Ø\1c\11}ñÁ\16ñ+þʶ?%Ѻ\1a2sDõFüü\89wO@ï$Ûd§îGgÜÅæÏº\1cJÜ    eYáôge`\\7f'\12\95\95\17±-êÿR[n·\97~Y¿\8b Ypu\9aú_wû¸]îß§òõ\ e\8cöN_.fº×ÏLõajx!\93ü\81yx/×\99Ñ\97\rål\88ÑÔÛ\1eI\92L¹ÑVÃ\9aÿ\97Ýb\92T\16M\15å^·\13ÙëqeL½\11Û\vÉ\ 3]¹uã¼Å\1f\16\fÔs9Ù"\1e|Ï"Ó¶>©\17à>\13Cï}ñ\8f×ù°\1f¤¿d=x£û-M\9f\98\19ÕÓ\9e ö"Ól\e":ø²,\=·êͶØóm\97\90\8eê y\bLn\1f#mÈämù\1c\8dÇ#\91¹är:\9eG#uÈäu\\8eGQUäP2¸ 
+ón¯õ¤Û\7ffM¸ödÛ\9ffMÔû2m׳&ê½\997C¿ÿèïÿV\9fe\13û\ 4µÛ_\8dÄìÄr\1a\81ç×ðô'¿å\9eùÚ\84\ e|ùõ¿\90XY\aÞGn/.\15-êò\ e\eì\80\8dªu\90~n\80¼Àïl:cÙæë\ 5\98\8e\10µ\fÄ÷Ã>Ûù+ÞÂ\8a¯§ æã\83ÀÝ\1d\98Å9\9c      3\16¶ü+>´^p×0^|¢@Jæ½½\1dCzÓ\81\8bÓÔÃ\ 6ÝëJ¤B¶Ç\0+gH\e¹4a6×\9d\93ÂjO­\1f¼®w\a\9f\8an\10¼Ú®¹\fK\9e\87\98\96ÍH\ 4v<Üu\95¾üvKÝ\9f¡uzCË\97X\81v ÿòN2®\90\90\12¢±\94§'\83)°Nï§bê
+j\8dÄñë\11`\9aûg\8bÎ\1e\ 6\9bA\12>ó$R»\ 2·Û\1c\88ß\8dWРõ\1dKóÉçÛáócá·¨=¡ÛÆÞΨãd[ûãÀ\95½«\9bA1\9f×¶2#Wa\1aª>4<È\8e\1a§~|\af@ó/Y\19=*³\8dÌ"Wô»AP{Ôv\8a®³qEÑ,¸££®\8a@~\91(ìÔ¼Æ\8eèï2ÏÝ\8b̺Ì
+wh\15¿\0ÿ\89!u\aòn\84jʼ\9bc²é\Ç&&y\9a¿7SË·?3»\1e}\9e]òw7Ûp¶Á·\8bÙù|ÎÏ#\99·òù\9bx9\9b\8f/\99¸\83\99¹òù\9b\98\1e^\9aÇ\9ep¹ç+¨'õ@¹4\ 3¥\94·¡)\94\86Ѥ$2\ 5GX1ê¼êmR\8d\89\rO7\a qr`\9eæ\8bΠ    Pó\11X¥×SõW6P·½z\ 2\86c\f©æBªf\k/>B^h7\ f\12\8c]pÎ\14\1c³        !,ûSÖùg\13\ f;1Â\81çEúã³\ 2Ü»å)\1e=P¡¶h9\ 4Ëv;dóT³W\1c\13õ6O2\93.\ 4ÝÄî\ f\81k¸bQZÐu¦È\8d\ 3׿@=íÒ\1c¥Èj\16ÒBßcÁí\ewf=\ 2ß\9c\19)|åçëÇ     \99ÃÐû\eÁâLÌÁ\9c\97¡÷Ù\1drÐõlÐ~Â~ùâü17ÖýPµ\15\1fÂ<æ\12*y\95h¼¬±\vóê\8e¹¸>\v7Gï¯\9c>\9fôb^ñÙ\8f\9cI\9b(ûsð¶çÆeã³\bÖðãBôç°ÛzÖ\82Ç\9d]«ãAVî\18\92`¢§\90ï8ù9Éã/\9fu\82\99\98R&ÇW^\14\14ß\rÙó«Q\1dÊ9\1aC×ìÔ\95­£R¹T|\15â~®\9eä\ e¦\9ey5\95ºøí\ fçê*pq<ßÕ¶_qüö_qûV_©>ð¾y5\9e½\98²Ìî8vg²;3ñÍ\87ýÈê\8dê\ eý=¼_2Ëlæn\\8c3\e  wvBÞÛt{Ö;¼\1a\bÒRðÕ¸ý\84Ïå±fh\91\93µè¤-¦ûS\86í·>árÆí\1e\1fH\13Ìsì_0¢{AzFÊ\ 6Íî*\91ø»i:\ 6\vÒºc\1f[l¡+ïEäÎÇ©%M[´\1e\9c¸«R?G\ 1\16O\13k;.n:E\ª\83·§\15=,\1c©\8e\12r#!\ f²ÖôÄ\96jçÙ\ 5\80Þ\9d\98Þ*\19n\8d\8expN."=\9a?\9e!f\8dÛïG­\17\f       -]äýsÖ\r\17\9f
+Ã.\91#ê;qGç\94\9b\91f¾íø½\ fwN|ïËåÀ¨%G\?\97\86ãTzTJ\9e\92\ 6O=¹£\ 6\1ª\89\8bE\ 3v\85\14tîîôXaRÝÁ6\8b±5SZ8÷\8f\84\97¦ÁË
\8bÁ\9f\92J\1f\1e©\ 5;H'ݪ\95»ÈäÔâè-è\11%Ùo¥ifÂÜÃ\15õ   þÜ/ö­áÛÖðî\17áÝ\8eÕ|j¯=\eÄ\ÿ0_\8bR¦i\91ÃÐù\8a\95¼{8\8aÝ\88Àú)1I\94rN·=)\8fX\9b!dÖÇ¡À\93öÑhÀ\fe\16Þî=ê\9aàQ±\9dÏEÍ»\1dó*ÓBúÞ\90¯f«â\9fº7\12\12\Txªzn[;Ó¢}\vhz\ù\0UVìÖ½(®Í\ 3\98\9dî%¼Þ)Fxá¾V3~²i5eÊî]ã\80ëÃK6îëÙÊ\ 6âì¸}\ 2·\8f\88×v¼Â\82\ 5>,¾\8e6ĺF\8bq\1a~âÔ4_F?di¯8r\ 1F\1e\98F3ÎoF\e½:\9d\1aØñV\ f×\bBßÍ\1d\8e$nÚõB        ·ÏèÈ.\88â{;!éùîåq`z\ 1\9a«}w \9f½X\84=õ½<×2i\9a· ~Ãg%Ò«Õlt\87Û\90÷²5«q®ë\rÆoêËî\12OE8Jñåv\80iפ\7fûÇüÊK\88 \95ÌlÓѧJî\1c\1eK5{¿T\8e\85\8fC_Ax^Är\93Tï BÍ« µQö\80\vFYöN@c\9cµæ`tc\194ÎEJÏ\9f#ÆHT\9dÒz·kÑþâ®ó\96ôæØkî°\7fc²È;6-÷\956\19æYÊ;E5\98âÁ@ëß\8bº\8d"èöØ«¯\8däÑ÷ 2Ïcd\92}\1c\10î*`kÒ­èªý0\80×Ý%ê7³±ú±h\1dÖ\9a¸«H\f\91#\8b³ÜÊ&2"ÑU\e\88\rÿÕ\9aU°/oå=V\8d]äåwò\81g*\15ßc\186\12\12\9eWI%À±\9b×ùü}ØØ/\e\89âÌ1¾´z
+»mèTzYK61ºëݲ\17\fOÉÐ%¤´kÃ\8c\ 4£»½¹ðÏ\92¼\9e÷  zA\å÷»A9~Ð?tw\83\92ý\ e\ f@:ôßê®%ÄÑÿn¥ª\91ýÊ:]O\97\95:\9fu/ö:+ö)ù°\ 3è\85Ôl,Ð\ f`\8aÏ(\9d\97o\97åÜeùw9~^§/˺ËòõCå»Z\8bze\8c/H¿f#±ª½1\8e-2, \17\8c(\f¶è£\98=?½W}Ì\94½6E[\98ò¸^\80ú÷Ùĸ'M\89G+\87\86SVj5ÍjïãøMSP\b¼µm©\ 2\97\85|d¡\bé\b\95\94Iø£Õ> \97,ÐIÁû·\ 4³?\18·Æút.-Ϊ\9añ1æµ\ 3eÀá\8c\19g\elõ©ù4\1aÜÌ>\99Ö\19à¼\90 *ѳ°9_\8dêl\8f\10DW¿\0ß\16\10Ó\93שçA¡F»×6Ù[f¤\f\ 1kª.«Í¸w\18\93SQ¢õ\9aìÔ\14\r\17ë\ry4ç§9oOôØ)Q\1fá°\92Á­\ 1ÂIëü?jÂñ\17DÚõI6\ 6\ 3b\ 5Ö#]\19¢\10-\15MG*ª2uu\85à\1cÝE^~ê·\9fhp`{Á@­ï\13 \7f`´      j4ó\99\9b\83{´Ó\12zÞª8Ù\82=÷x\93ÿ÷¸2©y÷ËæoG\99\8d\91\845\8däËf\e¾lMïë\ 4Mpd¶qzUÙi\84ûÚ\87ûrpÚüø\8b=Ó&]0ã\9d¨e\9bÅ\98UǶe·\¾S\8a\19»¯r!\ ef¬.\19\ 3\87\88Mû^ÈnÜs_\1e¢Ð\1fïn9%â@h·5$¥í\17"YAã\1e\94/ù=NÕ\ 1Ìf¤C\9b;7'©%©ë
+¬{\17z+\1a±Ó\8e²\83\941²ç\a\82;5¸\1cëNÎ\855\18¼á\88\9aÓh\eÛ.¤\91ÝÙ\9fÂï\110\ eµí \] çVÝÓt²\1eÊó<y{a̦\90áC\82#kq\12\87ÁaO\1d\1a\84\92\92\ fu¦qår4jJnÎæQÂ\bÊ;«\92\ 4V\86E)6*B\81I3Å\ 4ÊÒsöó¥jq\96êè\9céL\8f~ùãê¹Ô\vü\91é$'  \10\9b\91ðª8\9a÷¾\82D}v8§;:\eõÂ\1f\94Ç\84&ºtl/\96\9c\8döc¦Ç¤8\0T5\ fU]uÑ\10ÿ,ê\ 4\9eËnàùp¢\8fQ)ÊÇ\94Ú~\ 3\16\f>\97G.?[E\90î*jÃÌ?\7f\91V¹ßÔ¥´RX36¢\ ff}A¹óS\85L(@¶\14ú\88Ç[;ýÑ\82-÷Ö¢¸\82\10çÁ­>)E\r\1có9\84\1cà\9cgÛg8¯\9e\e_Ø        \e\1cÑì\9cºu\98(\10\ÎÎK\ 2½)ú«êOß   \Q\85®\98\e4.U\8cîÃcÖ\88ïÎÎC\13\rÁ1¿ß2}(å¼nNEGv\ eo\88¬òóh
+
+\8fJ\7f@ìªz¶,¡@\bé\96;=ÓüHerB\15\98\97í\18Þá\1e©ËȪsEþª¬¸ûD\92A¨¨Í\19\11ܤ\1dE\88I¸hê´ÐÐ\17óá\91Ømèw_8ù¥¡ì\95úÁ'\9fÀ\1e¯e\1f9ÙÕMÑøø\14Ø\98õ\89è\rDt°ÎúT££ÍÐþ\98r\93¤/Z9fQùÝeÅËÅÔJ»!mȨW®\9a¢\12nàK.ðqð\9fÏÜcbAEÒà\9c\89U¨D{ê\98\91Þ\9fC
+\88Paî/\ 2\ e¼Û Õ\93\90ÀáT&ã³?Øåa\99ÝEðG·Ôoý\9a\9e·[¡\85@ælgóbG¯¨EáÂõ]\88 Gú\a÷â\ ek*Ðs\fþZ\ eèãñì#--\ eµç\17\8e[/\19îÜä\9f7'ØV\8f\8fR¿\1fR¿\1eé~=Òü}Rü}Rü~m~?6¿\1f\9c_\8e¤RJ\81\91£Òõ\eÃ\86\v\89\9aÕiú÷º âÌÏ_\9edHûöãßjµ=¾\97°Ý«\14wN/­\15ZoÁÆô\8f\10\10\ݤ[Ûù\ 2ê\öØyB@®O`\8brN\rñ×ç5$\88¬{\88Ìq»yµ   \15Ð\80ý ±¾ªÕ¾["ç@öìv½ÅÞ¾ùXé®í{Vë\82\ 6¾\9d\1f\80\98$ºÓÝÀj÷\1cäw&ÐÎÄTz¿^\83\91\91ª¿O\ e\95/c?\ 5oÞé\ e\ 4\97Vº«<ý\ 1\99ìM|jjR>\16<\8eÄV¿«b(\96JOcÛ\8b\\8cg`=\17"PÜd\17^e/ÁƨÇ~Õ?=±þ}ZÙéC\ f\82\8eM_=Ê~v\ 5·@i2Ä\16Á\1eË86½Êü\9eÄÂÚ\9bc\8fkاÜ\8a\81\8c\922öR\1e7>ô\ 4\9a$I\86ǵ\99«Ïi\99\2N¹obW\85í\86(gsÍ©Í\1fë½°]ì\97¶V©\9f ­gÔíñÍ\11ï\8f´e\ fl1Ú\9d·@=\11é½ñÿ<e©ì$/\89wÜÑ$? %8\ 2öè\94uVç³ä«\87h<·à \9d\9c%ÜrGP\9eó\1dþLï\88®òáZ$7j:ÁÉíÕê¥x\1c)]T\ fuREp\15\17aöª¾×´iúÖ\1eê\16ü\16Ó\99dp½¦Ï\11/f¯a\83»þg\16ÙfðF_Ï\14±^T¯g\89uéÙ\95x¼L~\eÚ\99lùì2/q\97ÎÉ=ê°d\ f\9bÇÛùÜ}Ç\9dÇÜÖ3Gv\8c\9cé\1d©S8¦r.\ap½7#ËëÙ\9d\8e\7f÷­öÛ\1d(C]\14\ 6í)2D½®\1dÉþmÿÆ{ª=ÓÇýÞ\8emëV¿±ÓÝÇ©8Üò8ø§\eº¯tãA  .ò¨\v³\16\9fz\ e\10ë\1fQ*ý\ 3\8d\rR\\1e \88ójd\8e§b\19Æ\17½\86Ò^\9aR\9aõïj*ïu.ç[EQÄ¡\18#\r}Q8=ñçömÉ\8b\85)\ fG\97Ç¿R\94Û~\85'¶I|ysµùxo]¥Ûl\b\9b\9c3N$²ÍÝg»pª\89Æ>Á\9bÃà\13])âê?´8\17:)JWµ!c\1a¬\92àà%bê\9emDÓ\1c\9a\a²à\a\8e\94d½2uá¡\ 4\12ùXËgõé¸ÓN:j³\9bâÐQ½@ÿöÃÿÛ\8fÿp?ýÈÿú\91ÿî\87ÿÕ\r\9d¸\88ùV\87³>ë÷&\96P÷$\1e¤{#¢?:\84££G\8e}­ë\ 4ºþÄþÝpºÁýO»\87QîÈ>\94û±ó§ô4\19·Oû4\1eóÌ ·\90\15{°û\9fÖ¡8'BGØ¡({¸\8e(½í­I_\95\1a\9c  \1eeuDÓ\80s![ê\98\90×\9dZV\16Ëq#+Ú÷\1f\9f\p\ eX'ìP\9cÞ\88x´Fóסùý\15çÑ4\11\9b×K
+çR\®wÍ\9fp\ 5!W\9b3à'ÏÎ\96õɧhGÅçL¶9\1cé½\89³÷\9e\91½ÌYsý?ºCÿ_̲ç7Ðè½\80¾\1f$ß{ ïÅóëfn\85~ _>¾\7fÑO!\13{\ e\rðEüÁú.Mç\8c×ò\13~E*½3|sEeÖgÃôõÁ\1eäÏ\9f\87ÿú=\1f\90ûà\8fh/ý¯ú\ 2ø\7f\13z*\83è}²=¹
+\9bÞþ9½\8b¢÷~Øìô]7ÝK/\19\82©}hDß\92m~y\9eØ/÷o<oPÜær\v\99\9fmFgÃ\94\9bÜ\7f\89½\ 3üí\ 2&÷d\7fÞ\ 4}¸¾Ù\fÞ\82ptfú÷\bß^\89\vç¤ü_½Cí\86Ìû\87ÞÄ#ðB=©¿\ fF\84|\0\89½\ 6\16\9bêì3z<sùa\1eô#ó\82&ýدá\84~\98GÚòÏ=ÊòÇõdJ÷n\117îÚ^P"oÝ·¦úÈ&w.óÆûÄ<̨\837­qÎàßxQ\ 4\89½\1e\1dð\ 2<\9fß\ 5¯\84n\82=W¸
\117­ÅýxGE\18.L#Ü\9bê\bAYiûð\8d\ eaç¾\a0vy6¼oZ\1c>àß\9dɹ\93ý¬
\9d6rot`ý8Gá\84\8f%÷áÐ(G\f"gtÙ\9bóÎÏ´Ñ\85§\84\8fæ\ 4\90<ó{OQ\bòZP´p\8fÃ\b÷Á\135*Æ@G\f
+ÊßÚsAÏ\84zqYUö\81\1eä#¾\bò_\80\12xFä#Ó\84\89½\87{÷!\1dðG\92´\ f<#ro±4\82;@\8e\18\bö¦i´Ù\96Ya\1e\0G\98Ó\86\1e¬"o[v~ô#âZ¼ñ¿Y~òÁ\eÐ\8f\80\11úA\1f\1c#ÿë`ê\1c\8aÊ®8G¡7à?Ksz\8a\17\vç\büP\8f~oO¿Á\1eVà&0\8eÄ#ï\fî\82À\8fÈ\bã\\87aa\1eÌ#Ü\ 4~\98Gï5!p÷AØXG®\bö!\1eÔ#Þ\ 4MìnÏåj\9e\82=èGæ\84\7f4#óÂ>\18\bù\ 1\1dG6\15\1f\9c   |#ØHyï\8c\11ç\7f\ 5ç¥\84~7<\16>\11ï9ðµÿÂ3ÅVBg\böa\1eÜ#òÂ:/t\1de\84\7f "oÇ\rÿ<#â\ 4|p\8f5v\16V\11 \11ïB>@G\95Õ\87\1e¬#ðufôæÐ\1d\eÚ\ 4\ 3Ï|\90\8f\90\11ÒÞ\85Ó\84\9b\9eÖôÿkâ½Ê\ 6C\1aËä,\9aúíiÞß\16÷Â\b÷A\1e\0GDf y\eÞ¶0bQÚ\8aÉìË'~l#½\b÷\ 1\13<\0\9cÿ\88MÂ?(#Ý\8aÉï½\büÀ\89\9e\0Ïß\84\1f\0\ 2>\10\ 4|@\8foÑ<÷\8c\11ìµá+ì\ 2àÂ<¦Åç­\rïuXVP}XG³\büp\8fÍ\bþpDÏ0VåÂ6æwC\88Gr\11ëB=°G¾\bð\ 2<Õøu¦\11Û\ 4~HGEøaMÂ=xG¿\bð\ 2:,\0î,"g\85EîÅeGD#ÀZÊ~XG¯\bþI\98ÉÚ\11ä¶¡Ò^ÔÎFñ\v\ 2ãÂ;Ð\8f\81PÂ=\97»
\11ñ\ 2<¿J\12xGà\ 4\1eWÞ<÷H\11Ü\84~`G}ï\10²\9b2Ê?}Ó\86\ 5\7f\8a\1cXGâ\ 4ys{áA\bþ8G²\bøa\1eXË$°\89½ñ9ø\ 1\eqY'\99ßø\9bà\8f\84\11ñ\85d·¢\bòÁ\1d\19¿i \84yñY/îÂ&zM9½\88Úð\ 2><°·9\81DÂ=hG¶\büà\8d¦Ø90\8fr\113\1d\14ý¾Ü-L# #Ð\84}ØGp\11Æ\bõA\1eÜ#Cp\1d\15î\rëMx+\ÐâÂ= Gñ\823\85dçï\82= Gâ\84|`\8e6ä90\8fµê\ 3ª0\89\9eGuíÍï¿\80#ïB=°Gè\19¬¯8\81\828G°\b÷A\1f\f\9bß\80°Gß\84y9á7\84|`\8e\8f\14(ØG±\b÷â²K×\84|\0\8f\8a\11\8d@*ØFXG°\böa\1eì#óB=\váÍ\84\8eùó{H\12\vß\bõ\81\1e¼#ïÂ=\90\ 4~ G¸\bü\80\8fv\11\91H:\13\büp\8fv\11÷Fd;èGòÂ=ðFçt\18\r\84\8fx\11ØîÂóÂ>\ 6ìÎÍíC\ 1éh\84\8f~\11´Þ¼)ët>6\8cÙúý\13\8c\1f\7fÔYtß\8ap\15¦\8dôÅd\9fÄóX²mû>]\8aO\99äþúË^7     e³$Hrxë-úgÔ\ e %´* \ 6he¬¸ìØ\9d\95\96ûw\eª¢¾ ji\1e\ 4\93·JpÞìi\r\11\ 6\ e 6¤M¶G¬t\12\84Q076HjF\13¨Äýñ\13\93\86ö\908¹Cجa+   B\156beXNwÉïÆrG\8dR%ï\18ý\ 5Ð\80w_\82#ÈIf+>\vó\9c~gÐY\8dÐZO.\8a\e\92ÌJD-õÙ\894i\8e\vd\89\97y\f{\96\9e\144Å9÷0NÍh¤Ð\f¸\9c\ 5ÕøÉöþ{_\8bØ\ 4\9f\88r":\15\90,Óh-f\9eîUK5ù\9erÍN%\9a\8b-þ2ÉRÕfp¢ÚåÀù\eU,×ÑÖkáKÈÐ\ 6ÂÍt\88Ü_ǰ]"Ab\94¦Dk¨êÆ\81Ñɸi¦zCÙ\9a.\9e:B+¢_R U\b"\17×PLF\17¿ZÍ\Ê&\9diÆê¨òUJÙþ\80ÿ\v\95´>\8d-bÍ\7fÑ¥ä²\9bþ
+^Æ\8a\89ÿ%1½Yb¿«ÑJ;I\7f̨¶ÃQT³GÚ     \97¬([x±'#2V©?Hè¥ú¥\8ah?½\9c\99ü©\9d«Û\91º[QÆ­\ 5\18ñ\87\8fQóË\89ái\88\93½7ñtjT¯Ñ¶\95,Ót-§>Úd\8a\8blªY¨ïê¬ÓÿúÛØIsOÉa)|d¾\18'3\83»\14XÏÑNm°©}Ñ\9eê4Ï\96g²Äe{yØü*#M+3ô|=L\ f\92atêW*ä«Î(s¸¸òNm\ 1%5¾V\85:êv¹\83ÖlÁ]ÖµfË-=!ÊN±rñP@gÔ\8aB\86ZÌfÙ®%ñ7Û\9c)\ 1»\1a¤sjüµ\94\80Ó>ÀÜ«YV·VÞ®2yÜÙ´\89\99ó&2ëþ\82ûѱËÃRZ³\9dz¢Î\ 5\/\9b#Æ«Ú=u\9e9%¼Ðu\87à\8e\ 5l\9cÍÐÿ\8a±R±¿Mg\12íº|e\9c]?1g\17LÿN\84¡\10\13$I§Ëª\12\10Ç3\84³£\9c( zKYÌÍ^\1f9«9÷c\16®´i\8aÌ^aÇg´åå\1aêe$qý\85\9cÉZ\9e\94æ\92nØK0øÀ«\1aÖ,çéÁ\90^&JÎFXþhÛ\9e-\1a\rÃZÏ>t\ 2³þÊÎ\95ÛJͼÞ\88§®å\9f8|3\8a³ÄO\ 2\83åºC¾åEcêÏ5Ó{·Då,ês(ÞbÏ}\97
\9f-,µ\9f*\88ÀeÀ³Å\99\92³éfä¶+ºaçÐ\ 1\94\0BQ¾¥\v#\19\90\ 1©¦u\8ei\ 1}ί¥^\0(æìâû\10\18û+$·ñî\f¯ï5h3]h\1eVί_X¾zÐ}\ 4\ 2t\16|÷é­\bïàJc\92ÏöyÆ´Ìý\eý\8b\9bʿܥ¢\ füô\1fÿkF\9d<\vF\92   »\12Ñ\94ª\v¯¶Eo\16Ä\8f\ e¦¼Sü4GS­
+µ4®¾\9c\1aiÉfbI\9a¸Õ\96\8aqÄ3M$\9eòïS\97\1d|hýÉïÇH\9d\ 1毴ϡ&0\83\e6\87\0ÒÿÝh¯\9d±N\80\87/\87 \19\0ÑJ\1fåF\8c|u\9fìÄ¡iÐ\15\8e\90å\v\93>zÑ\97eS\7fl[IóõÖÅØ|±}\v\8b6§Þ\88\88?úZG¶ômqÅ\aè-%ô\16\12ú\vI}\ 5¤¾\82Ò_C¿ÿêZKÓÉñt'ÿ·?óµ4&ñV\94êS\ 3á
+\ 45¾,±\1fÖÕ¥­\1fíZVÞ\89\83\8cå\91µÙZ[Ϭ´·âi\99w6\8c\9c\16\1f ±u-«²ê¤]h@§W\84\8c]\8a{ÚuV\97$¥%\9a\9f¢\18Q´%\ 19TúXÚ~Q\f\99\e%d2d\ 1W\8f4¨4¿¡e8Ç\9bX\ 6´\80\12QÆ:\v\7fHÒ~0\9e\19°@+é\rþ\8dôªI¡×\17îJ\ 14\ 6Ó%§Ï\1eÂ}U§ì]yÄ\829``Ùuy2êæ\15¨Ïì]O×Z\8aÅÕkV£ê ®$\19ú\9dÔ¿\93\11Õ%Ý\9c´\80\81`¹W\ eÅÐZ\94ÿZÔ§+¥Ö-\13å,¤ÆÂÔÞ\98¡\11Ð\93       Ýå­?T8¯ê­Qe\9c\9e¶H\90\92ÆJylÔ7ÁM\rßÿzÕ%¹ÇÈÇZ\98\90(2\18G      ¬ú\85væ­UIEK\94µS\87@|\8e\14û1(?ørAUûÿ\92Õ\95\85(»#ÙÚ.ß4\8b\1d\8dB[¥åh}v(4²\ 4\8c©jë6¦\95\96\15\1f« õ"qâ \85ÌZ¿±kZ¤\0Ïë­`ö\90iëm°©h®^y>óµ£wì-\17]l²jê[m\92\92\1f$¯¾^ZÖ¶\88\8bcÆ8\83ÕuÃ]hß=ïϬµ\99`²{\vYw\a\9b®µ\99ÿ\vE¸õ-\15ËZø­\1e\15­nm¤ç-køÖ\7f\ eÖ8\84¦«\9bDç²\14éª\93\18¨Õkç­oï\12³\97VÕw×õ\ey\14XרìZâ¢Gb×\r\ 3\1aPDïh:\83aúfÍÅ\1ajI á­k£,û\11I\ 62If9iJ\e£j:\94sð­wØRæ[\88ã\8e6ªS/¹k»gti\88\9cæ­\15çI*Û\92èæ>J×\95D\83²Eö$ïÀ\92³f¹µ-tì-sU&¹k\8eøõÓ1oÁ\15%­ê\96µìëµôÉó×»u\95õÄùÿQk\9f%?Qiý\85®\8b\86\18Ê\14:¼Ì}ß6\99+\ö]\8eäFHÓH¶Ú\1eº×=[¨Þ\80±\ 5\ 4\9anæ]½\86X\92\1cÿâ×\7f\8c
+\8c\96·ê$÷ÊZ÷¢ÚðÏÛþ ¿\fþ\92ù²¡·«Ø¾§âÌ´p~g\17]$[\98µùn\v䵩ΰ<õ®\7f\12ÒýU®»3    EiÙA«F\14GY\16£ÝÕ"gr×§\89PâZøÏ¨qïbk%¯\9f\9b4©k÷?Ak÷ý\8b_¼£\8bSbêIþ7Ä=º\80\97Å_.l\11lm\9bô\16Ã{\11ëVIñãF\14(\ 1\8eþYÕê\96\89(#­èW§%ÚàØ¶A§\90KB¤£M1$]\92¼§J\87È\10ì4Ä1ÌÑ\ 4_^Â÷é\ 3&ÐD5ÓKíÀ®=J§´>\ 56\ 19çÊ%õ(>!÷\9aâ \99;\fÐÙ\9c­\90äµìÝõ\92Ë\9b¥Y\v$ãmǪà|*ÒO\846w\8a\9eÆpÄ»\8fÑë$Ûìa´\96ô\82òé¯ñ­¢á-·~\rÉx\99\1dý\ 6f2*\1c[\90yÔ*ØÉª|*%\8f¢pàs8s:¨{\16Ø$\bN eôÄ\1e\1fíÐõlWQx{;\vÎ?Ãö\16Þ³\ 4ÿ\9e\1d¨y]Uë\85÷ïþzÜ.¼Î®×øÓ\8e\82Ü\8fÏZÜ\91¨J¶Ôå[^VUú\vt\1d\ 5º\ f@'[3\8ekOÿ«t8¶\1f¼\7fªÇh'µ\15-ÒöÕ<x\96éî"Án2´ÿÙn«w\ 1¯KÕ\96èþ*S"ì9\17  /ä­²üTý\bÇen\9a¥·}?Ò[­«\12Xttý¥»»4\9fÚÖÑ\8ban÷|\94Ó{\ 3U½T5í\ 5é;Ê[@¨ý~T\a\ 4\85\80ðÅY\17\16£Véo Ã(      ÆEáä\14Æ\90\9eìÃ#×¼6YY\f\19¡T=n\1aþ\94)\94!ÙIR^ýM8ô\13õ9ÎU\99ç­ð\7fÎÏÑUýkCÐ[÷ñ\96ýúzÂ\98_H¨\1d\9fbmï³Ò9¾\90Ú©-\94é%o÷N\r¡¥Å£@   \12¬îR\8b7{\85\81¼\82C.?\8c¸      Ï\9at\17\ 2?ê¸\11Î5\97BàÏû\97\ 2êÓ®Õ|,Ì´t\1d\81\98s\16\17öL\ 2kË 6­ÿÈ\88\82Rï=Ú\\³ùG\ f\9a·á!rìAJÒ]µýÅÁm\95À|n\16\94
+?1k~r\\1dÊH8V­ÿå$-\8d\84y{FðÌ?×j®\9fæ\7f\8aàíüu¸ûª\f+/ý\ 5¿Þ\82ßïAo÷ ·ûÿE¿Ü&n*+õ\8b\9di\ 1\8cu¥´Ú\8b\19â-ô\\97\11â®\ 1Ô?ÕK\80\14      \1d§YosHDS¹\ f\87¤OÒO8i[ø×KÔáÕ\\ 2ËÇ\\eñçÙ\89\10+Å¢\7f̸[×\1f§t\11­±Uc\12\1fK¬ÂRSapÊ[]ñ\84\94e\ 2ùT\19µ\93ËëGÚæ®\19ïÒ\13v\8aF|ïò\ 6ßË\1cúH\99F\85Uëâµ\10\93×\87k\12r\7f¾EG\0\ 1\9aBdR\f1\89\a\17pÃö\0°p\12\97\11!\ 3\ ffg°\f1Ì3\17Æ{=\86\11\f0\10\ 3\ eÍ7\ f\ 2\1eq\86\a DQ8\92\v\ 5\8a£\12\1aɤ"\10bÁ"b,\ 6)\10Ñ\12\ 1å(¦\84\ f¿ÿþý÷ï}\9e><ûqÍÍ8ç\88\9d:SÍwJ\95+kªsUÛ]Ý]][R¶ÃjWwXu§XuÇWW^u\87WXJ\96\9daµÖ\9bRÓl¶Ën6Ûm:·ø\ 3µµÕê\ e\92I$vÛ[ï\97\1f¯âÝ\8c»õ²\ 4ê)\92»­Åa¦ìÍä\e\1e\96È@.ø\98¬5]Ûú\1cH&ÃXÚ' Ã'\80Ø\1e ]³~n«7T×_nÎ&\83ÖÂ2ÂÃÔÿÌñ\ fzýµõV\ 6í\1e\96\8e¥F\83î*6\a\89߯åªWxÙ%7u¯ÎÒgÿ§\8b\1f\9e,Tx\99h\89/\11Ê[QøØôöÏ\19°ÉõjX[<MØ.®ýsÇ/¡þ¥]fO\1d8®$â-áòë°øv\v»yrÞ2~W×)«×\91\81á¢ë\8f(°Ï'0ò³¼\93Éë\96=íéõ,\12\8dZ<\9d¦Ðo\14Í\15Ù\86kü«ËªÛ\7fxêÝ\80\97jÃG­­¦\7f2Ä©ô¬Áï\14Íhúõ\1eÀ§\93\12Ú'\17\ 6`xJÌBø>\17×b¿û<ÇÄpØVÄjº«Ë]LL\8bï[\aß#{x®\1fÈìý|\19\93ÿ}Úã\99%êÑAÚ\13\9c\9e=Û<âã\18ê\16\1fø\12|\83Ì¿¸\8f\99ýÇ\aö\8fE\7f\89\9fßñ%b\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8e\7f\94ôr|åÞñ\8fG;°=\fbËI\81¾\81\9d\ 2}5\12\9e\0\1dôS\8c=I\84¬¶¤ ðLßk²,µÔ\f»;Úbzé\r¢=}¡\ 1=\19"\9fMe§¸\80\93ÏïÝ \13Ò±©åüÎÈ\ eúÈ\9e\83Ïí,ïj\89ôØ\96zVgpÉé\96\94       î#Ƭ    é[Äö\95æzY\vÝ\ 1>WCz\e\1e\95åO\9f·\13çí\fû\10\ 1øV\80¥\81¼\9e\8dá\80\9e\88\91Éé´ôoº}wÓ\9fJWu\80w x O_Ëò\0o`pö\94ïk®@\r@\1d\0\1dK'ª\13í\8d+4\ 4÷x&z"\8d>\83\9aÏKÑ'°\1c\1f«Ì±å»\9d\13í\8dHóî\8cô{bà õåËF\aF\ 4÷ \9fõ@ù\0v`|ð>\97¼cËw\9aÖ°1Àd\0\9eª­O0&ñàtÀu wÅ\aj\ eÖ\a¹\ 3\19ïC;\ 3®÷¬y0KXô\0#Àdöksg{\83|`6¶Of9P=ð\1d¿¾O\11Qï r\0tÑ©ê-îÕïÖ[«\ 3¦;Ü\12\ 6ûÍ\ 6Ö\an\ 6ëÍ\84ø\1eø\ eÜ\ f5l\1að9\0:kb}/\9fÚ¾\ 2\16\85\9díý<{QùÀv¬ïo\8d\96Ú\14p3Àq@OVß½Ø\1f,\ eì\r\89\93Ù­¼\rà\ e\0\r\ 1í\17,\ ex\ e \ f\99Î' `»x\19p' \ e3àý¼ö©\f\aftvå\96¦\ 3P\ 5ø\1eø\ eÈ\ f¥n>=kVXú\fÒ½\ 1r\ 5è\1c\84s\1e[\88ÖÒG\1e
\88k\81Ý\ 1à3½Ï76Ot: =à\1do:\9e$¦[\0ð@ÚO\92\þy\8e¯CÖ>p>ñ r@tÀ{à:\86Ox§\91/zð; >k'½SÚmýP\1eð\rãá\88{\81=ÂDì\0\9e;QÛÀ\9flÎu@{°:»\83\1c!«[upc\82\8ck\1eá\9b]\ 1Ó\81¬\ 2xñßc\8f\fL\f\9c{\1e[¦Öð\80Ú\99=öß\19ÞêÝ(\1dh\18Î\84:p\17 O\9bB\1d\e'¿\13à\90\ eÜ\ f\0        íY\17á\ 1å¤\ 2\96\ 68\ fB\ 6ì\ 5À\19é\ 4ïu\89÷=n{ZcÜ\ 1à\ 1³ÜR{í»\ 1¼\ 1=¬W\9eã4ï\87\88'L\9f\ 1p\0O\95p\99Û\8a|°ñÐ\ 1¢\ 3\87\ 3\89\ 3\8b¸±ÙzÚÙ\90'Í·>´\ eè       ó4\a"\ 6úx\7f,\a*\aB|­í\ 1¬'Å\106\9b\92y9¿s>m¢\80à\80Ò\81ª¹'{Ív l¨Yn\8c\ fL\ 6tùb?\ 3\9a\ 3Ü\81Ô\81ß3½æ.\80å¤\93ÉÐ3Ä]\93ר¦\1d\9dï-Ñ\ 1î@\9fl\84\e0;ð'½}YP'\88ï}¨\1d¨\13æ\87G\82\ 6\1cÍ\93ä\r\97¢\f\8c\ fF\ 5È\1c8\1cÈ\1d'D\9e×2Ïrè2=\18{ð;\0; 3¿\10\1a°:0;\0<6O\91=0\1e®ì}-o\b\7f\81Ñ\ 1Õ\ 1>ÞÅÏ·´8Î\91\8f-älq#¾@   ö÷'z\ 3.\ 6t\r\17H|Ús\1f\ 1ÉÀëÀù}"{\8b¹\91\904\0i@è\0üà;p> \eyè(ì\r\10\1cx\17Àsàt`tÀ~qè*ì      ðtÃÃg{þmàn`e\0Ë\81 \ 3\8a\ 3\9a\ 3Wxc\8a\9aë\1f;Ò¾\10\1dØ\1e\v\18\19^\94òv< Àé\99ß\ 1Ý\98\1fH\r\96ò >\ 6<\rô\ e\1c\ ejòÇ\15:ÖÙ^O¾\ð±\81Ú\81åº`ÕÀË\81Ç\81ÐtÇÅC RÀîÀÛ:p·\81\9e\ 3\96\ 3V{ñï\ 3°\ 2wÒÞ4\rÀ\röQ=Ð\8fä\0Ô\ 1Ì\81øàt\0t`{\90\1dH\13ß]\9f\a\87\ 3\18ö\93æµX\1d \1f0\ eì\ fÁ½1ÅW67Á÷%z>¤\ 3Â\\r\94O\83\1c\ 6P\fè\1c¨\13ɪÝ?R³$"µ\96\80½ÅÇë»÷OEð\17è^eç6\95;Õð\9f»÷ÆKÈ=C\9fáд³·óüÇ\9cX\vú¹\r4þõv\8f8!Ïßgç6ØLlÂX\1aµêS`/|ÅH<:¸æ\13ó²ñøÄ¢gð*øîiö.Sñô°\95Í6\ 2ù\8câ\7fû6\7fÿ"gÄ\9b¼K§ç\93\96\8fÆrùLüçËɧîX}\ e\80Þ¯&ÂãËç·t§Grìôo\99^\I>å^ZgwÔý\µE/«\90ë²=K½\ 5YÕýãÅL\ 5îÙ·s\1e\1cæ¦\99K-ÝÅ&1Öu*þ\a-cÅÑ`\8b\82\86s5ÌÏ©Æzì\8dÊg§ëj°¶çúIæ´|Óí?YägÚÑú3õ\93)ѧïÒä\93õúÝ\92~éúì0¼,1XP´M\1c\93\1a=\vå\99môÏõ\94\eÕÕïØî\ 2ûº[û\92æµ\14­ Ë  \94¡ìÙuùJ\14³Ú\8a[#Ëã»Ä¾¯°´MhgÒ·\9d?§N~i;±\94}\8dϲ\8fIØÄ£ö\18ïm\1eXîÙݹâXìcË\ 4ì\95ju£®Ì\ 5öÙRõö\87\17\ eÀêxûÌ/\ 1{ÖF0@îA\85'\98\9då^\18Nã%î]\9eõy\161í!Mwì¯í\1d;ÿ*ÿ\8b\9e°_Ú:\ 2´ôp\8e\81?\95\84Üßæ\98\89ºªø¦/ª\8d\9cý\e_Sñ\92~ùùM·÷\85õÚT½É¥\ 2£\93\f%DÃ\1cÈ?\1f4`\1feqQJZ\eH\9f\93\85èÜÑ`³8\f=7Ȧ\91ÇÏg\94µâ3Òxæ\94_ û\16í­\f,\ f¼%¬¡JºÖ®×\9bùni\9fòùäëéh~.*õ\91i\1e\%­\1abâÞ\a.\ 2ôBLÛ\90ÿã±\ÿV\97Á,Å2\8dû§\11ZûW1\16\96$\13\84q\13\13\19Ì_&,´\8d½ºP÷_ÜCÀ^üëbå.Ú­ilw\a\16\87\eIo\8d\98:\96Ô²ù<«Í³\82\85\9d\96K¦¦   >n\vQ\89m\1eQ{É\9e\16SÒÂw\15%ÏrÎ7\93=\ 3\93$þ³2ýê \1fù\8e\ 1ª\94}½:a\7fôqWî°·ô\9bÞà/ÎÑî¨\13\ 5\96\92ðµ\7fg5ò)£]\18\ 2~óôiù\9d*¾y¹ï~çÍ\9a.\vÓÁ\88j´};3\92ÙתÃÙ\1e\1dM\89\ 6r»:òXÃ\ frºª\ eõûÅ\13\ 1{ü·M4uþɹ\8cÑ\ 1ð\1d©MQy\1e\ 2öÇó,FwÙ7'\89Ùr1³~^GÍ\9aK_i\9fÎ\89\99ÔÏÓ=JZ\89\91.ÎĺíE\ f¼Èï;\16¨\r\94yЦ:ªRR¬\9fëZ²\93\84l+\12}ço\8eÚUÒµ¦KÙ\a»\8c\8e¦\9bÁwÌÏ©K¬\99©ëU\18x\v\988á*iñæ\ e¥Á|GÞ/eÝ»Kôÿÿx\vU*ûOÂh}ÇAù¦[\16\90©sû»\8a\90û\99\92ú÷w\16\b¹\ eÃ2á´_;I`\8bÃLrùE"Ê'\9b\7f\86\98³K×#U\17²\9fnhõiU\1d\18»¿_\14Ö/\14Î/\14Ö/\14Ö/\14Ö/\16?ñw~¾*÷ìîý|\ 5ç³Ù\86*\¨Ö\ ej6õ\13    ¬7]»ö&¨É³\ 3M\99?{/v͵÷ÿ¹«×§cÍ\15­q«Ö\ 2üüß3:Ù }5¨÷«\93W,\ 5þC\9e\16SzºM[¬V'À¦¾¾Ï9\97Î<\98Ü?\8d\9au>Qõ\14©D¦©ÛjzlìUh:ªéð\93©³¡J\1c±\14ÚëÅÝÝ\9f\87`è¦Ç½0uÿÁ ]5*c]\1aÎ;Õøæ\80vÑ<s?½\82&!\9f\9eÁ\13\10ϯ`\89ºÖØ\96¦Ì^\ 2ýN\7fbä×M.²Ù\9b~\ 2ñóY\1c\a\9eâW\18ë;\83\9c¬\99Þ¯\8ccÌÿ:b\97\1c·{/×dZQãÄ\8aw¦m§ìÎ"#ÓVÖ\12\19Óà/¼\99Û86<y\9c\ 1[[_ÒÓ\7f³w"Òf×\80¿\9b\9fîñiw´Ø\91\9dIÓègûwöirû}ì¿(ÿY\99þë¸V\89ü\837,\ 5ç1\11óFá¾1ô¥
\14÷ó×if«Ðí;+Dê´&ÕÜÁÜÜûƺjçÅ«\?á3\12¥\8f¦é\85V¸0\17¢ëì\8f*)N\956\10f\ 6j1é\9b]ß:¤²5\9cY¥ï\12ô"\14õÆ\\98\v\9bzÔÚ\85¶e{¯2È\9b±:|q\99\16¼Ë\13ùYMÓü,¦éë²\9b§ø\19KfN\98\vçð5LÝeÞ%þ\98ýr¡,\r¦ze±\8eY© ÍÆÚT3nÏ+S½\©0\17¸c\12£û\ 6JuP\7f+\7f6!fo\ 3þ\9c¹q\1ck\18\97»\9b\16½¹\9c\ 2¾ôÌZæÙ\9c\e\95²\95Q\87\1eã\aâÒ£  #²Ïß\1dð²\99\87\e÷\ 6\1aw'{ì,rÆ\80Ù\Ó@\1d¤ý\15\897)ý«\98ù¨Mìên.\12Ëx\13YÉãk\92«GÖ\93ê .u©zX»®«\17uÕbü7]U7ývɾv\90à\10S\7fçüF\11ópÓ³ÎOÑ\9b\86Ùü\ eÅɹ\19L\80¾#â¿\9aEê.dÀ_!\92Ìä\95­ñ{'¹8HÝF&\82\90Ûlµ\80¡:|¼å\138\1a\1eÛ°±âù|£Z\94Î\9a\9f¼s4ÑLêõèsD¯5WA:\9d\1d\91ä½_FäÞÃɱogdx­    \92W\85\94î*zGo³
+\9a\16Ðã\85\94M\1d\92\8d§Ç:¤J§h\9d\85\80\9d+ÝE*Pò,Ü\ 5ð²\9a*:¼ºRü,¥ÍùpöÒ7¹k\95     WÊßê¸ÀË*\80Ë\17®ó\e\87éMÐUå\9c\16¯ç`\vo¿8\8d\9b3o\9aAe/K1Xâ\12mn"öÛo\85º©°\170\19UáZ`_dpÜ\vá\97¢Sx¾U\96\9d\84Íã&²ÌR\95å^SåÚ|\14ܱɬ[Í3ý6\ 5½j\9eÆ\13äýýÔGjä-µ4ènî!hzgVG\91\10êÒ©\17î\97/Ì*ö\95\8bÈ´´òïh*Ûkñ\18\9d­ÁþÓåí\ e73&\86Ü×\16ç¯\90\83R\97QJZZQ8Üæ\92ylï?7©v³\86\9d^.èÍÅÝ\19¾2§\ 1\7fV¬à,ÚÁ\8e´H+k\ 3ÞiDö\8e5\18\94ýá j)Q\91V   \8c©&JØi\15iÚEÃ,µ\99\12Î\ 6½VR©À4×\16W`/Öcc±­IviF§$\1ep\ 2ê¦Ã\ 1zV0\ f|,£÷½ÅHTp¦\99zjö\99dRÃ÷Ôü,¡H\9a`y
+[v0á\91S\81óÇáÄÉøZÉ\9c\f´\8e>V¤±\94ʺ\95\19aßï/7\16\11\7f\91}®+Þò\17þyú\1c§\ 3Zf   h®ÖU\15ó¼\95ÜÓ÷*ù_ÒW1\80¾ÙÆÙÜk¨Ç\91®µ\94\14ÏÍq\92\85R\ 5ª\9de\13\18ólí_=´\1c\rÏ ­JÚdÔ\9fN\ e\16\11X\1e&¥Eh8è8\9a~1Z\ f練\8aÎð\95\9b\9b
+ÍÒµY\84Vw\80¾Ö¯1\9ck\11KK\8c5\86z\86+\ 5§Sg^\82\90Ø\15\98\92\99wMetÅôÅ7ëàðØóAm¥\aÑ\9fMÿºw7\97\8b\86½Àó\ emÌa«à/ñeò³m)6\87       iª*Å\8d{\9ebt¸ï0çìa}ã¤êa\95[`/Ü=ÒO5Z,ÌãAHk\fó\13©¶CR¾Pÿj\97äáN®¢\94ýKOßf÷\9d\8eáý\8d\88"´T¹i\1a]v!R\96\ 2òOíÏ\15«öJ\92ð\17¶Mݨ¾\94ú±X­Z\a\9a\10vÉ¿/#fǵHGz¹*"ªÜM´\=\2\9dì'o+
+W\1a¬ãÜ\99\93\87èö\1c¥l\92ú\1c\1fÄaúá\93çË\ 52\aÂVL\82qÓ|ÆV\1a=8\8d\1f\8d\9bû\18TÓÁl§\83\r\86ÄUJdÆEHõ\9es3ªd?ÈS\95\80¿\95\8cJ{\f¦þb\96b^\97\810Q·u\92\ fd¦ôo¬ùH\88ø\vò¯;\8a\93\1c¶Vo@ð¹oÅs\e\7fUÕx\8e\rª¹Õ×%þ\83ës8\9f\1d\8b\92æ÷¶m\7fLMáÀöÁ\ 3Ú\88ʵ\14V n­<zÖ·\vgiòé|8O/É(ÖÃ\80\1a¡\8fì\94\8aRQ}¯\86\9d3»ü²\9dUQ\rR>îçI=\ e\ f5ú² ÕalØöð\98­Hn\99
\aÌЧ_\7f«»ç\8c\8bgO\\91:ûó\86äy(\7füîF\\ 5ã)ö¸t³Ó\ 6ÔÊW\PM\80¿\9d-?\96æ'geÝR5Bu¤éª®©}íÏÚú\9f\8c¥\ fO1$ù¼\85Ï)\8dw\8c2¸¥ìSY.\82\93y3ð\1eþ¡\96Æ\8f¦t¶u©\92êpû-\vJ\99\81¼k¢ù±ó\     \8e\1f^n£ïÎ/îm\ e\rÔ]\95ö#«J\1fEúø\19âÃSF¿Ü'\94¥\9d¡\8aHj'\8cªQ\1c\e\12Q«^\9di®ëÂÊFº4Jáã>Úgy9có8ãõ\Î\9f¹¹\85\86\9d\85\8cÝU¥*~)\98oøÉÑ-c\9dİn$2°®\86Ú³±N¬³\96±¶©¶õkKcÏ_å£]\1atð´-@Tâ\ 6lyìÜóZ\12à°±¢æ±{WSÿ\1a`âøÚû\9c_û_[cøüa¤n\9c\90*®Ký½Æ{\12ÔÌ\7fq\98þ\9a\1em|n\ e.s\189ÄØ·«F¬Zý­\8dY\9aíÀQSµP¦BõXαRµ\94íîZÐá¥g\90\9dR56P)RRÃutOrv\f6Ðâ\9f/Éb6LÛ¹\85\9euòÕ\14°²}ñ4­#w4ö'Ñ\11­éZm±\11±4©F¶ÒÚúñ\89\rp\17é(\8e46Kî n\7fq\ 3\88\14Þ̦²o°\89ÿÑ)ÿï¹<\94\19¯d`ã\1dh)\f\89ÞyÿG<\99êy\ e×É%\12ý÷\97¹ÖÏÛî¾\rÓüj]×÷ \e
+\869©.\99\97Z#ÖÿY$ÍM¶º\9e½\81$Ǩõ\92)­2Ó\9c¤\90\15õX´«\ 2\ es\99\ 2r'òPRw&o0m\13±Ô<\8bÅ\7ft\90v\92A¿&
+)­\93O\97\94ÃÔRù\98),\1a¯]U\99¥½³pßÇQÓ\81\9fï°^/dm»ë\94W\1fâQÔ¤Ïgxê_QþE'Ô¥Ùç8Ê9#\84òT|Ìæ-Ù½Ï\86\9fQ\1c~\14
+úJ.4\8fæqõ5zå-Ã
+\7fàSZrzå?¨ÿ+\e.W`§µi\12lÖÕ\94-\89¥ö\12ìOûë¦Õ©\88\9fù½w\90ëa\85m2Þ\8e\1aM².\1e\1c\8b\86{{M\91\8c\81{\ 4\>ª0öôÖ²ØóÑ­Ð\1cû$\sÃ/\9dP\13ÄF\196H·n\99\9e¦ºÏO\v§Õ\8a¹íÖ\ 4óÐWT\a^\a\fÂd@Ï3Ã/\9afHµ}Ø\1dH\1d\80\1dË<3      ¶\ 1\91<Ò´\ 2êÌ\9fEkz°5\96d\91dÏ]°ç¿\80\17ö¥\96¼ÚÖ[uï\96[~\ 625e£@  åÒ©åÓ¹ô­Êyuï»\ 2|ÇjÝ\80Ï\ 1\12î°      ãøZ\0Ý\80ËóIï\7fßB}.asUû\7fó¿\ 3b¶,µ¤\rÌ\ f\90É\12Í\8eå«\0ËÛXóeNÁ\12\8e<       ê¿\8eíÎ'ËI½ó\9cOZ\fù\ e
+è²Ç¨Ø¾Õ\9e\19l¸ø"U°6\9brË[Y"E\9f>\14ñÌ\91\1dö@O %Ý\7f:\1eß\9dO\f´o\80\\9e<µ3Ã-[o<\1cÝ\9e\19j\92\8aÞ²×P4 O.aõÀO.~ä~\18`àtß\r\8eK!¬|\80¢ç\80íÎà
+óë-\95\ 2xþ6yz\vu\ 3B\ 4òöÿ\\a\82\ 6G        ð/\80÷À|&H\84~\90\eoB\1d¬
+\0\9e\8fµj\0\9e\8fÂsÀu@w@wç\87?\9fª\92!Yîf¬ú\r=\95gp\vq j\99Ü\ 2Ý\90\1e\18\19\19\0µ\81Ò\81=ÎS`\80\9ea\9f>\ 3¥\91Ym8\1dP\1f\19\92\1eYó@c|\ 2è\ eH\ e|\ fÊ\ 3ä2CÇ´\89\96­§\90÷ÀO"
+r _²CÃòÏ\f¿d\8fs,\v\1e\19~ÜÖZÕtYcȬ\vMÔ+`rÀjÀé\0ë\80ì\80Ûz%\96ø@cÉ\ e\r\92\1d\1dä\rì\v\808 9 6Ñ55è\ eÜ\ f¼\13U:\ 2ø\ fÕé\ 3á\81ÚÉ\85\9d\92\18\9eh òp+§\ 3®\ 2}\10¿È^\18å1û\ 4.½P\13îÉ_d\a~\a\aÒ\84¸\1f\18\ eü\ f-yYkx\1a\105\0uw\94ðËæ\80\ e|\ eÉ\92\16\9c\99ì\8cÔ\vÖw\ 1gÌgp\14e%\ 43ÀõR\8cwÉÖ¶H÷Ǧ\a\\aÏ\ 3\89gp\11}FHPg\8c¤=¨\1d\90\1d\9b;\80\93çÞ\8fHe\ 1ýÀï@ï\80ú\80x7¦(\95,|\17\ 1³õ)Ü\a[X\1ek©=]}\88ß\81\8dø¢\ 1\ 2Eð@\\ e\98\ e¸\ eÞøÇ¸´µ¾\b\1908 8 /\80\9fwò>\10\1d\98\13îÿ¶ÔÎàLº¾\9e³v\13¸\13'p$|ÓÃ2\9bðsp:°>@\1fy*\1f\f\ fÊ\ 3²\ 3;\7f\12Y\81¬\ 3»\ 3pp!¶\ 6L\fð\1c\80\13ïÀ\aË\ 3À\ 3ÓK,µ\10\13ì\95\92Q\9dÀa\8c\98\10\e\ 3\89r Ö\a¼rÇ\9b\805¹©\90\87\ 3Q2Ç\9b\8d\18\0è`tàu@z£ä\87¨\ e«\ 4\17°4ÓAçæ\93í>\ 2Þ\ 6\88\ eH\ e¼\ f\ f\ 6\9dÀaÄ\81ú w o½Pqp.\80½\ 3\8f\ 3\96\ 3T\aB\aJ\aN\aT\aÆ\ 3¹(ùÁ\1d°/HÎ\86^\aP\a_:y\ 6Æ\19\9e\10 ÀÑ3¸\13:°6Yá\rp2\0o\aÝÆ¨\1e©\9e\19\96â@\9f%\85ly5û\ 3c\9f\11S\ 3x\ 3\80\ 3:\ 6\8c\ eX\ eh\ e|\ e\8c\ e¤\ eì\fwV\1d\8c\ fÇ\ 3­g\86k6sì§lûJ7>jrÏc«ç°Fð:°;ãÚv{¡«>,Õ@ë\80ÊaD\ 6ÀÈÐ\a³\ 3Ú\81×\81µ;\1a°5\0m\94\r\\18\1aP:\0:°'Þýß\f\r\9dàp°=¨\1d@\18Ú ÐÀ÷\87ß\ e(\13ï\13×\\a`\ 4ø¬MÚ\81Ü\81ô\80ðÀâ°ÁêÀï@ðÀÓQ\85Ü\r\8a\90\ e\1c\ e<\ eø\ f,'ºË\ 1øàm\9dh\83X\1cð\1eå\9e\19\94Ú\84ú´\ fOD\8bø\96pt;gr\ f4/\95?ÿú\b¸ôh\9aCDVÖþ³ÙÛn\e\811þ¿º\95¸_\1fúðÉN\ 2ÿ=\1fI\1aÔh\87÷ÉFÝ\1c\14xhíѹcú\9b±?koÝÓt\v4\8a4^\90ÕЬÚ3\fýv\92Ø9ƾº4zhðBëÁG¢\88ǹ>+\7f\80¾\94kÕñسñæèêÞª\96?\e\86Im´ýÆ\1f\99ë\15\92q\99CÔ]ñ\8e³¯Pq?5Hìó\98\17øTO¢ß/H\82«\96;DÊÖQ~\0d>\1a<ÔJ£Fúv[bæ©\18ÞÆe\13h\99\bYTJ!ò2Cëí\91\8bx}||ÓÔxáYÞ\ 6÷õ\11T\87s\1d£\99¤P¢Y\1dZ0,9ÚYo\9c\8d\1c\17\ 3òQöÐZ¯~\18«D\aU1ýxÿ½CDcuiüämC㵩\95c'Gó\11ö\82\93à#m\ 5\98J'Á\9c$e\996rY¬èÂò]4Ö¿°ÔÜÙÃ\15¬øÅæ?Öá\8f*|äÌ«\vG        çj\11¹§\81\84\93\1d\97\97x\8a*\99<qxR¤Õ0òsL;\1d\89\rµ\99J\e»5ÜÒéçïT\8eQ\ 6ýÆM\924,\9b\ 4\9cU\16=\926\9c\9aÈ[$Á\1aß âåé}¯×\85¥Ø»i>sÿï!SÉ\b\ 2¿xbÀ\7f§b«­å\87mà¢\e\ 3\8e[ò~R÷z\ eËyaêÚY[W`/þåÖ\e\ 3NÈ>Â_ý9\94Åf\91\1e®;bå·¹ü/N\9dizrGÿè?Òå±^§þORI8¾ëÔÅz\7fqéÕ(^ÙÞÉÄ'¹?r÷)%\8eÜ\99%RÜ\98%\16×=ÙBÉ­$\1eîI\8c\1dïé{¿ç\8b?¸õ§Z\97­º2^\9b\8aõ¿¡ël#Ï\1eÉ6ÞN    6\8f%\ 4\9b7ÐEzßöEo¯|\8c\8d\81:7\eØìkHÿµ\81KÖ¡ë\r6©     ©>\9bÞ\9a,\ 6£7?GE\82i\16t:ÄkÑ£\12¼ÕA¨cÆ'RªZ\1aDB©Û\81Fd>\vdêþôkõ¨ûc_è"\89\1fY\8a\83:Ävá'Ý3OÆ©\14Ïô.\9b¨N\96N\94?\92\8dÐYZ^áihÑ\86
+)¦·ôê^äé\11¢Î\16n\96ã+Sz­s\98\84ïö´<t¿àá¢\99Ë\8fé'¨Ñû,T\ 1M@Ô»ù|Ø\98\f8m`stÅ\9e~\8f\85\94z\8f\16\82vY+¿ÿ8h/\ 1\93Ä'½«\ 4Ç\\8dºþê6¼\9f\a¡td\15\88¤ª\162¬A\a\f\8bê\1f!5»Ì"s\fVͪFÒ[AV_w*\1e\91}5·g\11Ù\87á\99\br­ò\88op\ eà/Ü1
+\9dêñ\8bÀ\àpÊ\83uÁÆ`\ f\1dc&\v\9b Õ½G`\8bØ`-\13ûL(RÅêBÓ\95Eòb\91\ 4\9aãT\8cS\97È\99\9f¡F]\86;>\8apÃæÙ°\89ÿi?å2\ 2ÊP½DB\7fkQC\90yã£ö\10c6õ   GÒ      ~Ó'\9ad\85Ù³_\ e\1a\8auú|R\917î²\91\89\16oÂ0÷±ýª­\94ïðJg9\ 6Ä7        ÷e7Sg,ß\92ËË'\9a\82þ¿\86cÙÈ678Oø±õHê¢\8b\7fÊGÙFØIÓÁG\80\8fÚaëUbF\9dÀëjs6²\9f¦\12gî­ÁK\88¢¦W\15YXþ\ e\1a\8d\99~w(Ñ ,ö\8c\9c7êW=(\93ÍJûS Ç-lb\8eï;×x.w«ô\fÂ\15Viqìe\9bÕ©6t:p)\82\1c|\1c\ 4Ï@·SÄÛêØ\vÊÖ¬*(ðùA3à¡¢-\19Ñè\840÷Li\7f?\r*à/AØ\92\92\9eÑ\99êë\9d\ eغJ¨ép¹>)H\17½  \9d`\94\ eêP/\10m_Ê^Ä\84»\9cD\8bSÈÕ0\83LpÓ\a\9fêÛüÕ:\r±vöýÏØt4ábkÚ:¡«\1c´\9aÑ\15>;²¤§\a*\8dþ>3\0h|ª\83\8fc1\ e\88ZQñxg\83\17\86x1xg\83\14¨#\14 #\14¨#\14¨#\14¨#\16?ÿÒT\11®À\8cÅYÿ\1aÏx\83Y\r%;´×!ûÜ3k\80¾Õ\9b\1e\94ßôís\£øZ\1fÎS½ïÑ£F¡\9b#\9fs\86li¯\ 3\94ïëLt_­Ý£ÐFÅ\1d»\15\186joF\8f¶G¦4i¯¦Ñ\97æ©        vÛ\935?é\10ªðí\94ÿs\ e/îqNfgÓ\81mQP\a\8c¸Ê£'-{CiW¬`nZ°¯±AÁz«o=Í\83Ëi3gƳ\8dÃój\9f*\8eý\9b
+\93h"l\1cÍ\9e\eX.\15[\rûEG\1c\f\13\11¿×\f×JÎ
+\15§\8bV\ve:{ò2è¬\99ÎÏ¥ÇkÓoP³Î~m*
+­ÁÓX%´*P8\886tjý\13ÝÔª\8a¡1þ¶ÇiÂØ\8bVøJ\13\Láè\19·\190%å\11±s;-qpõ\1a$y,>Zl\~l\e%\1aDlçðh¡\bt\99«Ò\9b²MÆÌ²ÕÿyT\aØ\82:p³¾:<Tz<K(Ø»zcú8d·\ 1\7f¨$\13Ñ\89\1eÞ±\10TÊ÷9Åüá?¿jÚpÚ¦>5HJG÷ízç8\98}ÿb×¶\15Ò\1f\ esg>\9b\1c´²ÔÚT¼B³\8c1Õ·\ 3)d¯\11\7f\v\1dJ/hn×÷ÚÛÕ\98\vî\91Ü\88¿ðPÖs\ f¿\83k/ý®\7f\17\86l?ÍÃ6\119û®\8a}«ªU}Z·\15¤\13\9dìQòĺºÔ&ãåW\ 6d®R«îºgô¨þ2¹\89¾sðÃ\að\ 4KmüR´{ÔdÐo\92yçæC\9b{%iv\8aÒ*½íz\8b\ 2¹©\9b,ߣý@\9d\85sG\10®\8eª^6\ 5tôÛKØ\15Ó\7f\89¢Ý>ëE\87·\8c°Ú<B»}{Iãíâ¼+ö\1aö\9a¢»9¡»\98A+³\9a5fô%ôóÞ--ÞI]î/\fxâðÇ\8e/\fxâðÇ\8e)j7ó\16£`.­º\114\ 1Ó`êÕ\83\RÓü^\18êÅÛ½\9fàÛ½\93\94±ù\88ÛVåÄT[9\8fÆ5\95Ç\85dâµn\ e\96¹\a^ Äŧññaí8Ýç\88·è\91Ý#ç\85Ot\8f)\8cI\99ÕËÕ\9a\85rlüS\8a\7f8\96³GÜHc7¾¡5\88Ó\96ËI\1dFIöòe6Ç2uªÙÃßÄÌ ·\95Ѥ\82ÀL\90oB¿s«qÄVûÜ¿ÉË\95å6\93ü\85>\99\ f`ª8\84\16.Yùer¨InÅ9|²ÑfÙÄfâ\10\96\9el6ÔºìXpÙ8.ó\v/\ 3AW,\14ür(Põ\97\17*lª!8ªÜFrÓªÿÓ\86)jh*!¥\9c;,rР¶´\1a\84òu¦\\94Óßí*é+s\ eoXÌ9Õ"S\ fOÄy\95aBaæ\84\aÒ\ 4Îc÷\94Û\b\80ýèqÄ\86úl¾k\ 3gC\rE¼i\1e!\8cW_tŵûXBt¸\9bi\98\8c6Güût'ÉU}ÆÃÿmº#m\83«\15¯T\8dK\18UþÛ°Uµ<9+\7f\1e+\rW+*͵ÄÍ\v©S0{k\16î¥åZÖ îI\16j\90MZÛ\13\16\1eü¤\e\ ft§U­,þ¡\18@ Ö8z\85Kº­i\87:nEM\99é>FÒ"\8e\ eµ÷\12\vm«é\88mO[óæSi?\17n\9ebíÓÉ%ªÚhkä\vÿñ\80\9d»uXTFÓ-\G\17
+&×\87¯bm\91<\8d\83¤·F\87k\ 6\8b\18\10üvdõk&nÙ\80\97£sÛO¨\81c\99bÎ|ÐÁÄqP¯Dã9$`\80Ñ\89\ 4yÁSú\ 2\2\9d\9a\82@Åý<1¿U\ eû\95n1\8eÀÁ·à\88\ eðDÊ:vKtªÙ(\15Zo\9bMTº<rÊÊÛ½A¢Ó*\83\91sy[\93[öø`\86r0o§´hò\98ÆuÊ\85¦þ&\9bí*Þ±|_T\8c\7f\12\89¿#dÌ\7fÌËÿ\ f\f=ý¶fpCºÀ¿îCaîÑ\r\8f×±Öò$4\88þð\8c\ 4\14\17½¬\8d·ßï\fb\1d\7fº*â\1cvE]s¢\8aº¢\89óé\1a\8cs\89\14i4Ò\8aD\9bM.\8a(\9a\96ï\92Z\9e­÷=Ýå\12êâ²²\fb\18ë\15u\8cC\10ê\18\84+"\8cVXA\90rT1\ e¸ê\10ª\18Ä1\8d2ÔHÆØ\9b\88C\1cC\9fß{ïÿ¾ûßo·Ûíöû·¹jåÏ\97>\89º«ª?Ô\95Y(ÈJFI%\vHKl)\b\18LhL\bAàL\bR\85¸\17\ 2\17
+ä@\90¸V\85¹T¸¶ã\+\8dr=@\1f½ÖÙd\8dÇt\8d?²=I\93ì¼\89lß_S{ñ\16(£ne\b\89í¥Ì]&­êc\9a\93Ü}ìyÿÙje\8f\85\96Óó¦>Óιo'w«\9f`\9bWà(Tcf\0\0\18Ù\80\f\ 6\15\19ßp$ÝýK\1fÒr¦\8d\95\1fæI\eê\8e\ 4ÖI®i N£1ýw*\8a\9a¤z6.¬J+îÜ¡ÞiN~\11W\ 3Õ\95ã\8f±V£}¹ceû±²ýØñ¿\f\86<oÃ\e\8d\97îÆË÷|¦_ºt\ 2ú,'|ÿN\8fûÁ)SB@\a\14\87Mcè:\16­\8eZ#ñÐ\10ÿ8¥îë\87ó\85m7ùß\9f¦±ï}\8d\86\91ä4\ f·±ë\²ÅíH©¥\87-\96\9b\föT&­\12\7fÚsÏ\93Ö­=ýûÛ/à5\8d\9f}ì?0¯öoÕ\ 3½ÿÃýg)\ 6\9aÉ\ fÛØþ\98þvV(%Å<T¡P\1a\7fÊt\1cú\15
+7|:´0ê\88)`*\85>Ù½æ\9føeô&SñòÙ£Â\ eÚÇß9Nµ
+\87\9dFm_­E6³,P\85ã:¢\1eë÷­\11\ 41\9aä\9f\ 1Õgí\97ùÔeBöªõÙ¹ê\0Þ2ó\93^=\9aÖOhâ\0\ 5ZÏÇeæýÿÃ=Ëéa¦?eÑ\97ù5¯)\90Ñy~tݯÕüè²Q]å.\99Í5\ 4^ÿß\8d]QÇø\9d\17c\9e«Êüí\8e\9fßòÉ\96\rrº|û¥|&*?öÚ_˱÷\7f\9bìüm\aôD ûÁ¹ÿ\9bCy/Ó}¡ª\aë~8ñ¡¬xÐÖ<hk\1e45\8f\1a\1aÇ\8d\r\86±ãCXñ¡¬xÐÖ<hk\1e45ü\18ÐתÑ_:\15{3{ã®\a«%rɼm\8aÀ\964!7\8cAæô$ÇÚ\13¡S7¡\80¦Æ~¦ô'æÈ±\9f®\\fÀ=(\1d8\1dX\1ftJäÓ|\1e\99å\rçCè\13yÑæoh\ 2Mõ_¯\85®\1aù¾Üµ@\9bÐÍS{
+ô\ 3àW\1fÈ,\9e;Í9ä\98K\ 6óP\97Þ\81ËàG\17\93.o7\88^ùN1\86\1cøq=óc\8dÀ\9bß[½Ð\1fY\82a\8d \1d~       Ï¢"\16\rë  I¼ñgÁq¬1Ë\ 1Ï\13.\93Û\9b\19¶ùÁÀ`q\80Mè¾ù¼f\aé\0\9bä('ßùÇ>\88\80\81Ä\93¡oõ`r\84®µÏ\817ØS?h\ 4Þ\9d´\99]Zo\9d\rÓxÍ¢o\84ê]y+¨w wd˧ë\80¹éè\98\1c\98\13=ïÜð\1d)+®{p=A2ê3+£vàp\9c\81Ùt^Ô\ f\82\agçÆÓ\ 3Ñ×°ÇLXÌ\ 4ß%\10vDèZýØ\1d¸\1cV\10\13xyÇ´\ 3\80ô#\9fÀ\9bãE¯«\ 3±\ 3ÇáGÿ\ 2o\9d\aã\8e\81Àê@î\0â¹\11¯\81Ô\81Ú\ 1À~@×ÀçÀõ`v%\8c­p\98f\18å@\9bé`®x\1d@\1dv\18ß]ÀÎ}\ fذo\v*Ì®¡Æ\13.³êK\19b\99]KÚ\81ï\80ñ8s«ªlÀç   \97a\9béï\8fb\aÃ\ 3aèØc\8b2¹´Ìº?\92\1f\9c\ ft\a\ 2&RÔ\81Ö\962=Ø\ 1ð¬\1cy\84®+\96w`Mô \ 2g\90×\8c\ 3¤\ 3Ò\81ì\80ö p^\90G\18\1cÉ:\14ýP\1d \1d)2é³:\14½\80\1aîQ\869\108,HèÌ\ e\94\ e\9c\ e°        ¼9·â=0ÕÀíK\18üíÀ÷Àw@|08\ eTqX\1cP\1cÁ+\98u\85\8cvs~\9cGY¾\85!}@à06\9e¤m°5Ø¡Ã`q&ø\95~\ 3\99\ 3¬%q­\8fª\1dA\93¡+Ô\81Ö\ 1íÀå¹v\18Ñræ~\eFôN<l<Xâòt%æù{AðMâ-Î0H*\ab\ 6»\98;.\7f\98\a¢\ 3­\ 3Ú\81ÀcF÷\ 3Õã\84S\81Ù\ 1Ú\81Ü\81åqâ\12ÀÚ\81ë½Xä2VüØ\81´\ 3Ö\ 1í\89[ÛÜ\81ý\8c\81½×q;¡\vÜ\ 1Ü\81ð@îò\ ef¹¦8\9fXv]W\\a\8c\ 3Æ\99Ð\83\81Ï\81Ô\ 1ÆzѱÀõ\99\11Õ8\1d \1dÀ\1aì\93\fa\80ã@Ú\ 1è@õ@}À\1d\80\1eØ\ fv\a\8bæ\87\19\81Ì\81èÀëI\;º\ 3\85æÍ÷\11\f4ó2éòW\10õÀv z®pw\86\a§Ê0Çf\aO\95\eì\ f³³\1a\18\1eÈ\ eè\ e\ f×\bC\ 3Ð\81Ô\ 1Û\81Àå\98c¸&]\a\81õãO\ 3´\ 3ßeÄ-û\ 1×8\ep>\10\1eG0:\ f\ 3×\81ã9ÑÚx\1d(\1e¤      ¾F«ó@z\9exp_<unNl\ eÐ\ f\83\9a:¶×.\a`\aÃü\93²è>\98\ fp\a\8bdtÖ\a8\ 6h\1d \1d(\1e¤\ e¤\ e´\ f^\a`\af\a¸\ 3Æ\13 ûÓ\ 1÷ vR\ 4W\9bâ\91¦Hîì\ e\98\ e¸\ eì\ e\ 5¡Ð\18\1e\98\ eÐ\ eÜ\ eè\ e\ 38wAÇ\86\ 3Ê\93.\97\98\ar\ 6Ä\99t?H\aX\a±\ 3Ú\ 1Ú\81Àg\86Ó\ 3\83\ 3\86\ 3n\a¼\ 3ÈJ\1fì\ eÄ\ e\13>:ã\ 3¥\ 3Ù\81âùñ,x\1d8\1dx\1eì\ e\fMíë\0Û\81Ö\ 1ÜK; Û2¶ÆÎ`ì,\ eÀ\ eè\ f,Øý`u\80y{S|\9f¬\88'\ 3Õ\81×\81îÀø@p½\0è|\ e¬\ eÀ\ fr\aÔM\11\16\a\ 3ÜÍ;¨ÁÜ\ 1ðL\81\1e\9c\ 3Æ\ 1ó p z =h\1e:xÿàu\ 4ˤðÖö°:`=`\1c\1e\84LF\aÚ\81ëÀòþÄu¾\a°\ 3³\ 3\83\13èòÀtº&\v6k\9aí¶zRä³>[¡W\99I\96<²Lb7ÈÐU\98°Vu;þZ-n]¼ý¿ìèaÕ\9bÉÏÉ0þ:¬º¾þ\ 6Õ\83Ñ[p¬ÖÔ¢\ 5¿ßt4¦aBhÎ\8böN/6[pô\1cÄ[ö\8eV/BZ\1d\96\9e¡kËêj\1eYf\19¹       #ém,\81~\aCc<³\7f\8e@\8b\92[,äÖÙb
+tU!F`]>PUÍ\91\1eùÚpýºHðf¤çõ\192\86-âßí²ë\15\10è²\92\ 5\18\f£g¦Èõ«\86]Zt\19\f§9\1cävp\91\8f´_HcrÊ\1dM½m\1dt=¯@¬Z^\81(ÍÓ¦ã_Ôát?¹*:\9cÿÿ²êÙIX\r«)ñ¿\13§ÉÇòÝÒÑ\ 1o°FÕE\9a3A=±e`ÖK+TÞ: ¾l± ûüÿ\8b&\0×8\90ñ6åÒú\93¬ú\ 2\8aSý%u\9d
+fb_3ú\f´&{ià»\12ËÛ+eÒ¨e\1a\8c£? ã(ÏÌ8±/æª2\8d>\a\v©\97DÊýÎ\1d[-Ñú\:¶\ïõ¸\7f\1aïCm\11\ e\ 4\7fÇ~\90¸í\18â7éÂÞt²²\fÇ(Cðxu\18â¯éðê\eyÿÖìÄù¾\8eÝ3\87À¨\9f\ÔwL°%z*2í\1a³új\99\19|\9b\8dN)ÅÑ9¬;FÃÄà{T²Ý3ÿr
+[ÚÚ\9d±\17¨\9e`\986\ ez£#û{a¾Ë\ 6à\9d\86\8a\95   ýõK×<¦ó\96DÑë\97ÅEeð¹ü\98X/ýzndëP-¼æ\1d\v¤©7zMÔkøû\ eé\95òÁ¢¼çóëið²Á\17ºw\95Q6Ò÷]+ìý\a\9dߪ\8döÉ\r²s9Ö\4AFi{B\17\9d\1fJSyê\19\8cçËe\82+¦s6\9e[O?^7L°¦ÿOÄ»§¿×ûI8¿E\1e\95*éæ\15Müí\ 6X\a9)Îô\1eRÚQî\85L°M\17i:\12<ɪÉ\9dÙ)MQ\82êUÚ~T·<\9a\8c°7\rE\v\ e\8aµ>\89,¯Õ§\19_ª:        S       Y\9a\96\0Ú¦r+.\9f%¢Ußêez¯É"z}¬§¡ûGpâúås\85\95Û¢\9c\8bIenk\8eûrì6®ù>«\ e¦\86Wbó+¯µq\r34\91\857l®Ý\9a9ÆÞ«+·~cZÚê)¢Ì)â[£!«îwÅîÜÎç~Ú"\16y\97\1d\83yÚ}ÜÄÊoÞ\9b\16{´ýï\99M»ñ/[\85Tªë9\909\91Ûöä\8f={\1e³ðÙ^\vU\19^\e$d~×ÄU\9c®2^epçΣðÌC6\9eo\8f«¯¿ÐZ\f\94ÿû¡\18Ý\ 1\7fûº\ 2õ²¬ùåÍïMo`\96\9dOíä®:-\8dÐ\1aƬs\81\90¡P\1eo\8bS~îPtXRÅU\1eJU\80\8a\8e¬s¥]\ fý\15\96롲¤3\fL¯­ù\88ù;\99 ëÿkkŤúOçà\18Õ\9bñ«7ãVoƬß\8dY¿\1e\8f :ýÜ\81ã\ 4û8§l\82WG\1fÉt\15ù*vQ'¤\1at&\8cäÛÅè\13\7f\99`Û쬯×;gþ¥k\8a©r¡\96\ eðh¤¿°ÐË    b´sÎ\91\8c\19îGWJîaS\9d\9aH/YûË|ö\8aá<ä\1cì¥\1d¯-.Ñ\9d\fx6JP\víÜ:\ f\14\97­\8dW~»y~:\86\ e»>\97HoßìÚÑÞsݱÕUù<²Úê¶\1fUJ<}\18?y\96.\9eö&znýÑÊ6E\ 4²\12Çêäo®\ 2ß!½=ͬIJAT0wØ*TªâdúZ3t\vÐ\12\86X\92\88\11z9ç¹É\7fA\96\e½\90Ùâ\8cÙ4õTCì\19\rîþ.îâ×ÉW4ÚºiÚ\8b\9e\97å\r²ñ/\ 4`بäÖþG&ÁÞ\1c´Ûm¿s:xU7Rv\95\1d\v\9b\9fÌe\87¾D¢5²"/\91²kdF^\1eÉ\83"BðöL\19\12\97\87²q;ΪÞt8ñ+\97_t8-Ò¿YEío\ 5Ðà²G':\1díý\9a6ËT\99\7f}ÐæÁÐ/  \â\82&\eÖXû~®màðl\13A³ÿN\87^u\1c\81¿{r[u7\8dá\18\8e\88\rw¢¶¥kþ\84l©îçYK(SB©®s®\87Õ{õ¿\8aB\ fõÝ\10+i¡Ör\14Ý\ 3·[¶©dHð2³Ø§yz\95\$³5\99c\8e\853Ñ¢{¶]+Ã<ôjȽ²\ÔZ¨Ë\1eß,ݼtC/\96\85ügDCöa/\94ùð\97\ 3,\81« ·N\88Öî\13ë,\rr´àî(  y\96I¿Ä|\9dÏ\ 6«`Âè\96O\ 3<\16Y*ºìl\13\9dF\8f\19¦\e´ PúÎû¢w\99eKì²\9f JÇyéVú¢ûÌÄ\82m\93\ 3ÿ|\9aÞ
+T(e\95m\117ëÕ?Úq\0¦ÒK\94çЬ*\8bú¶j@Jà\9cüö\82\7fyI\81û
+w|,¥à\14¼°Ñ\82¹úú\17½0\15WF¯Îÿ`R\93¿Øê¸ÿBD*h(˶&v\93>¥AU²Ï³X\13«cËJÃͪ[Té[\ewV\1d6îöÛ)ÔÉ\eÆ\br¨l\99\890Ýz³¬¢ \92òÃ\95äÝ»t\19b:Ö\1eðé,\95!YiêÝJ±\95\90ÚÚ¥E¢£þ\1f\9c°ë\86MUr\eÐÂ\82ÀTEê8\1eu\ 2jÕH«|G;\14á¬:Xç^\Ê­\83+yb\8a\84\b
+ ®þ\19þ\82Ä\ e\bñE¡é\88dæQ´\9fÎ\94}¬§EU\18áÙ§X>±ñläÔ°ñ9[kë\11×\8a\95eÐe¢<Û\91&ÒHeÙ¨O2\8e\19³©~\9fi¾Õj²Ñø9-ª\94»Î±ká@½ª~\9däa\97\96Ô¬\1dg¹aºÙ@}}\v      V\936\ f\98±o_`ó¨\e\ 6\9eÊ}k\17\erúÝ\97\18ae­|\18UÎR¶\ 1¾Ú0²×\7f/z­cË\1aÆ\97ë²×ùE\ 3­\14ó¬%[nÛ°×:\9b-\1djãKx¡7ã:8\17ì\87å\95\92ª­>Õ¸ÖÊÆÙ+\9f8©CÊv£\ª\fµ\9d\94µ¥VËyÌ"ËuÒ;\85\82ÌØQ)£~ÉVÉ4\11ÔË`Ô]Z¸)E®\1a¥\8dUwÖwî\8f\ø©~K¶ý/À\r\95;/6wî\8f¦Õ,@\15\1a®\80¨5½     ó(:#º°\8a}G6RßÊ"\83¹N@Ià¿ #\09Îhs¨nvÊ\95knPÿ¼\89óïÙ      fÍ­ºW~ü\89ê6Ù\87®»\ 2:\ f­\vðu\13õV\ê\83ö.\væÏL¦Ö\9fm0ÙÝʦoÆõNÔ]ÕÚP¹\8bAÞ\\ 4ñuaÕ\92Ié­\8e\88ÞZ,ýn\1d\ f\94é$r©iYò\138\8dÖPO\84¤6\ e\19á²Ùxvì÷$\89[2\8d½Ýþc-\95\16é÷÷w\e'R\12ËJ¦5E\r/󿮣3Lk)ØÖS¹R¿+mÊìr\92\82_ÿÜ¥~ý=µ\11×\9cµ&¾\8c\9e-þöRÉ\86Íþu*Uö_}\96\8f¨\92\9f8N\83Ù¢zþ¥\1eª­cÞ#[\91JÑÝ\16g*Y$¾ËNOøÏ¶l\1cú\88\8b~ÃÖ\1aí(h&5y?Ìe¤ðV\99\93sÕìK/\95\1fGÁ`ó4\88ogo(¶Õe\7fì\95?\97ìtÑPö\ehبv´]\87©\r'^\9bîõ\12?¿\19y7\vìT\80gQعé\1f\9f\83_¸]°Þs=ë,óû¼æ|ª_}Îñ\10\8c7\80Ë0\7f¦\ 1ä§O\89\96^ª¯\8cºg\18o\9dfÎ%Q\89äGºè\ 5\9aiÉÕÝFúo\91¬â)ÜD­\aFª¶y$­Ó^¾ïl\90ԹIJïtEËn\1eÇÊ£´PòÄÕ»ñõ7z\10\98\7f\87\93\93³Vñ\8aÕ\8cðC_¿Ý0[7©jCwûx\vQ:»\rYZ\1eóAàn\98Ö¢÷¨B_ÀË@Þ£J©=d\12?¶­æ      û\19:tÍ\185\8d\f´\rsBÕB\8b·Gv·@ßíkSöîV\9c°-5^Ùð­9d9ûe¤ÿ\95¤\99\91èS©ß-;á¼­ònJo\9d(\1a\99f)â¿.â\ 4f\e\7fW¥Mº¢\8b-(3XvÚ¢N\14l\9d{\84\0pÀ\\8atay'\b0ÿ\93¥\18w\1eIË,ùe/ûÇÝ0éðÁü[\ f\83Í1­QcZ¢ÆµE\8dj\8bû«TXQ9ø»\99m`½\9bB#Å]|µNqu¤îå»E-|\13"\82ÔÅëßø     ,ââYÔå-\8bjØof\19µOÀ\13\få:@¦Ó\94\f["²? µ\8fÊ8NOmC\85áZ­³òÖ±xâï×ûV°5k¦¶Tò[JCM\b®ü­Åy¼Fùk*\86\8c\11ò\8b »MæëÅÔHMÅZôí~Tå\1e¯²Ò{ËÛSôÚsÍ9î¾»Ô\1aùÃg\97)(\1f\96S|c.å!ún\8be\15é\1c\94Õ[¶u\1aj\8b±U£>NÏ8Ú*å(%ÁU\81yÿ\f0\e\12PVÃâAíZ[<\9eòK]\ 5ÉÐZ\1a²[qº]ß\15ÒîÂ\8f\87RAoì­\8eßJ=­\96^µ¿e¥ó(iõR\8eÿqÒ÷ÂO*Ú]\1f\8b[Âz8\92.ñwF³P\9f°é\86r.¸(~l«uä\9cÎF¸×-¡r\8e\15qó4\19gl²\94\fõ±d%¦\89¯þ¼qÿu|\13XÌþ-¢ñ=|\16°ï\1d\95\9eêEfeïðZ·\7fø2ÎX¡FøÑͪ\17é+º\aú;O\98)¦ÔB\97\ 1§\9c÷]3\9fôjwF©­ÿ\ e¿\92¸ég\83±l>~Ç\84\84½î·óÅU~ÿG\8dq/\1aâ^5ļk\89\12ñ®%ã\KƸ\97\8dq/\1aâ^5ļk\89\7fÀ¸\97´Ò_.%òdË1LéÁõ\80MçT®ÜÞ9<þ\13\fr\0MðK\v\91\ 3ÓÑtàæÌܼq.(ñ$¸£³\ 3\99âÜô,U\8e\9c\99d\8e;ÿÇû·Y3¦ÿ7´\80ý\90\13}ϱà«\9còDÕ\83|?þõÀMì-\9eÜ       ¼eúâüÓ\fyÐ=P\13yàro<<³?\86ç\87Ó..$ù\ f\1dß\9bsêjµ\8d\98\1dÖ\b쯴Þì~ô@v`w@}Ç\1aÃ\1d»®\9c\ e¨\ f\13Ç0Á¾àjóDéÈæ\ 1èÀë\0î\0ò¿\889\7fÏ0Åp\13|b\13\9bÍñ\9c?\9e;+é7\9c\12&öSç2\a³%ù¾Y¦m  pÏÒ\ 1Ùþ+\f\eî\1f´ÞÊÒ\9bÉyS{/Ë\86\ 3\8e&WÂo¤Ó=\b\1e\88\ e¨\ eçñ\86Ç\ 2o®m]x\1e´¼\19ßË\eë¥l\ e\aÐ0Æ \rv\11\86,\0\9bæsO\\ 4ß\ eò¦øw¶Íz\16\18Ó\81Ý\99pÿ\85\1fì\ fh\aÃ\ 3bL¬ç¨7Å|8\1f\ 4\ e\1f\91a\8d\10\1d\80\1e4\99Y/\\aÃ7\97$\98\81í\0ø`l}\10ýàz\80;\ 2ðfï\ eK\84s}kG\9bë}\7fT\aeE\95\86\9b3nè}\19ýÈ=3§\vì\80ø\0p\18\81Ë`}. ÿhñ&tás\0éÉ\95\90ì@î\0ñ¤ÊÅLʸrc´Í-\81ó6.\10\99T\8e`\9d\97\vü\81:p>h\ e\88\ f\ 2o\82S¾ \97\vý\80\1f\ 3Ò¸\85Öc\12\a\18gMÞ\ 4ÞÉÍ\9bË\10Ý\80\1f\ 3\94>féä\v3b\9b3`É\ 3¬\ 3Øúc²¥\9aãx3FL©wÚ\ 1í@ñ<³\fw\±¼ß\ 6a\8eø\ eä\99RI¼¶\11®&T\9bÇúsy¶°Ã\1dM\91þ£\9cM\99µq@v x\8fR#\1fÕ\ e¾À×âÆß\ 3Çã\ 4;\81Æ\81Ë\81\96\a`\a¹7ȤÑ.\12ÌÊDzÐ>Ô\ fv\ 6ÜË\84²ÌÎ8\82e 9À:Ð; <v8\7fòðe?¼\ 3\87Ç\88{\ 3ÒãÜñúÕ\8d\9e<þI×c\0è\80à=hêÌ\r\90\1ch\1cÑ\97\ 3àuÀ{\8fZwM?<\ e¨\97\0üQ¼\19\1f\ 3Ñ\12à\ fJ\a¦\ 3¦\ 3Ô\81Ó\81Ô\ 1Ô\81Õ\ 1Ö\12à\9f\\aÜ\81ëÀö\0uàx\82tØæû\13¡èòc³~ptßÎ9õ:ÊÇKÎ9õ;\1aÇcÎ9õ;jÆì\ f\9dÊ\b×/\ 6ZóYEfg]I.\15÷\0pyQË`f\ 1Ò\ 1Ö\81ÁÙ\88[³sê\81µ\8f~\a\1ao´q³x3'\96\11\a\a\97\eÜ\ e\ eC\ 3\87Ì\1f30Ú\ 1êÉp\9fÛ\13¦×Å\17\83/úÐ:Lɾ.e\84M\81æ¹ã|1T\9f3\ 4°o\98hÐ=\b\1eì ¾5òs`u\0{ ;\9bCºlüó'ó=jÄ\ e\11
+ Mô0C\89\ 3ª\ 3Ù\92ào\f\aL\a³\ 3Äç\ 6Û\ 3«\ 3Þ\ 1µÎ\8dÎK\80~ ³./µ/\ 6?̸\13Ù\ 1íËÁ\90½È\1c):j½qf]_s(H\ 6\a\95Ï\8e\7fÏ\9f2Þê\0î\80ñ\øÞàzà; <T³ºj<0\e#|Êù\81Ë\ 1Í\16eÕ®/\ 6DíÀë\0ö\84é«Í\99vx\89\83[\ 3^\a\10eÁx\19\80v k\89pwÖ\ 1ÁÚ\88{/\ 6CýÀ\1eø\ e\1f \10\a¥\ 3®'M\9f\82\9a#\9c\fÐ>è\r\8cá\15àxùâ\aÀôÀ{\a={æ\1f¬\fÛc|\7f:\1dp'\8e\ 3$\ e\94\ e¸\ e¼\ fx\aÂ\ 3kìF¶\aV\a\89Ñ\rö\a¬\ 3«\ 3×\ 1÷@}è\1eÈ\ eÈ\ fl\ 4ß4\89\88î\9b\1eX\1eà\ fx\a9n7¸\1dÀ\1dØ\1cÇå\ eg\ 3Ý\ 1ð\0ÏèGWàx¯d!L\ fF\aN\aº7Â\0ð\9fW)¤`¼þ=:×\8d\92lòþ_\83=ï-\96Ùp¦o\9eñ¿jÝ4\9fÛýµxÆ·éÿ5Âü¢&Ç]ôYù%Mª>zTDñ.\17ï`V\17N"xmRánS·ëg:_¶Jì\95\r)5¢¯Êu¸[.µ\945ï3~¿\82ãjá6®mG½p\81¦[\86X§ni6ŧÉ/ÆÒRÇsÒr\83\97úò0ÏmÜu\ 6ÚIF`<Ål­)m\92\86ÓRµ\8ejO'ß»af\97\83Fh'ßÐ\11\8dÏ       pã\90rºüÔ\98\17ªß\14ö\93=ù"Iä&ÈféÓ\8f©pÞ¶¯Þv\9a¯%È\ryp\87$\90ß(rÙ6δÌ\9c®ñpöö®úá6-|ùñ\95mJM\17.ïëêtç|\ 5Ä[T×\11r\13\13k\D´êâ%\97aMjX5õö\84¶¬\92?çA
+L½ã§5\94D§íÜÀ_ꧬV\89¨;\9f\83ôn}a|²é¸\9dzK\8eÙ£´Ï©ç\9d\ZäI\10JÉuW¡clê4\1d§L%Y+\1d\99´\1d0\e>7\83W¯-eþw&©qÒßÍå\eÿ\ 6\88þ\97(å\U@Û\11©ÿÚå<qc´¶\7f¯©]\ 2\7fðskë\96\9f±\182DÓlüÞKBæ_ìr["dß\95Ô*\99\94\9b4]4Ï\a\95VJ£&án®\8a\ 4õ\979jÐÕ\87/bUì­¿VÉ J#aâoÔ.V~\ 6ñs6Ó´\1fÔèIPaï¡/ÓkKe¶WX5¸\ 6\aK\82¹·O\1e³JF¹i\9fµSj¡[×£N\9b>\8d\ 2Ó\92\12\e\97३\8a¾¬\979M\vtR_(\9c\85¤â'øJ^ës\r
+áe\97c\1dï\ 6^oa\16éÒÜ׺\87kyº\84·¿t·êÜ0®iÕ\155\9c\8a\10ë\ 3¥»f\8f\14È|TÝ\ 2ód¹µ\91E\ 4cÞ¥CR·?\eüK\9b¼\9d
+\92³h\94\b½Hå\v\11Ù$DfuËi 7\94v\96*-Óü\9d\8b\89¥±r4\14     ²(ìº+\9f\fÄø7¾úçîÝ'¥jé.)\0Þ\96Fk¼Z®\ 3S¦C4Yíªt_%ÓZtlÖ˦ß\82\94W¬Ôð\9c²\8f\13\96eçÉ!\16·
+¿\ 2é\ 6éÓ  ø¦Q.\91f;Ý\fÔ£¸gR\945N\98Í\ 4'óÝì^ò\rU\ 3\7fUÓ'Á++NÖ\97D\1dó$Ö4ó®P+ä\8a·ûDo.üôwK©TlÔ.¦ß\90O0çÖ\eMÝN;Íu\vª\96è.ªk.§í\8a¾«t\9bbÎ/{*]®÷Y\81q\1eÊOU×)\89×Ty
+v ³w¾\fN«°~v\94\92|öûQ\86Ã\85\9d\0îNyOw\12âMù\18î\93í(âtcGÔ\e²¿Á¨Ì¼ÿ%Ó:Û;!\1d\9f\ 1ub¸ßZéÌÓGçîgÉ\87¡ØuØú!\83¢\1fûÌÕïx_\92´\1c^Ù4+Ö\939RÝ6I:Òù4\97R¨©#µ\e\97 'ùFD§{¢[Úgïºku!'a\8c:«ªy\ e®åëËìÐ}S\91\9a©ïè\11<iÝtþ\84¿Ú'U\8b¢Ù$ö´m\9c5½n5Ö]Âë-þ\81eTè\15t/Þè\1dª\14IгÅÑ»b\92òéöÀ\93)xÇ\13ÿvTi\8a³ü{®ùu¢fæÛ\9fw®·è9Ë$!\rÜ\9e2ÒàÅb¬Ë\8d§X\9fþWW|Ë\94\92Äó\94\e\922oG_'q#\9f\95¸j®\9fþ§\ eßî\18ÖÞq®¼ã]yƺó\8f¿ø×^q®\9dþÚëÏ'H\88g\15\9f\86ºém'Å« y9\0\ e}Î÷ÿÅu»fW]=ý%ÎN6¥£zóB\89ë¾\9d\7fDöY+~W¯­u³Wz¢¢~=Ë_\ân\87^[\92¬\82'8å=u$çÚ#\8b7\88Ôà]r¡uÆÒnßatâ¯\10è«Á«\15ZûÍßZFÈM¹\rÙ\11\9c;nM;u?\93\ 6ó¨¹ñ\93\9e\8a­\8c$\986Di\8eÉ#ÙZMAz×+o\\15Ú\91#*<\1a\1d3¶3W\86Ös):\82\15Eò©«1ü¥×[Ý\8e×ïm¿ç»¥©·JÕtâ¿R-~Nie<¡ö[ë\7f\17ü\1cG\88\907æw£\r\92\8dï{¨U2Ê£q2¥\13Z¸mV\89ÿev'\7f*=eØ]þÁ¬»\ 3ál\18\17_|-\83ó\1d;\8c\17Åm\93£c\90\94¡«×Öp.¼lÝÂÏ,»\88\95Þ)GÆÜ\90c¢l\95.°`]\8d­\9fÔ\99
+ºÑaþ\15J²¤4\9e\8e\97\ 3­ã$Õà\17÷ú\19÷}ÞùþÅÙ«÷\ e«t÷oÇ\1d\9d\vÛu^\15«m·Bñ\97"D\18*\84\96\897Br\r=\1d%Ú;ûÅå\91Ý\85KsÖK\8doøvòpÖ¿ÕvãÌ%×û½po>\99P[×ÇòÒº;\9fq\87jÕÐ;$vw(¨\ 2ÝQy\88\8c¦©W\vt]@\9c\94\92T®mûd£`Þé\9e­Ü«Î\9fôô\7fçQ\9a^êë¯Ê]Òå¨Òç¯%ç¼Pê\8d\ e\ 5ÞÛÛ&%ÂJ \1e'Mû\ 5\ 4ÕÓ\83½'·\89w\92Ò\\98\÷H\82Úv\92M\9aI\0ßåÙ)zDp.ôà0Q\8b5¹Ý\18IùpóÊ\7ft<ò\9fË\ f\0n¡íüØOu\ f¼'Q\1fÂ\85Þ\roÙ.Ìß>\9c˹T\92ÎÎMè\9f\8e¼\ f\ 1\97\r1\14\14\rí\9dÄ\90÷|εà^\8e\92ð.Í+\ 2?\80;=Zð.UC-\95\99\14 vT¼\vÍ\92Q\9d\1e%\91ÊN\1fq\91AFâÓ¹O}·o¤T»÷\9dJ¾j0Çí²w:
+\81_u\18í\92ãýFm÷\95\1aÕ\ 6/н\97@±n}.Áׯg3'\98\9a**&éA\97\9c´Öëzhu®þZ£\9b6W\9b;Õ´O6¬\87W~¬§µý\e³\97­Ô{¿U>u.èTM\8a\8dÓ3zirµà\9e,¨z¶í*\1a«Á6ÝǺj¤\17\ 5\ 5|Zf\11:æ­f\91ê\92&èÒμ\92\ej\93>ªðíûìµ\1aÉÖ±\11Ä;\86PßèeKÄÕE«$j+\9d.\81ù'ee\9dBVx
+±ì<BT×\89Qb\98Üʧ¶I\\1eº\91±m\1d\ 5K3:´\86|¸Á\8a\8em«WUêV7¶ï&¼¼¯ïhwë\ 3¢[U\84\f\1d\84¡wÇ}3[ëÊ\95Pq}ybüV©Ôâ³âæÛWÈKñ\94\12Ø7\8bÉ\98\b\7fY$í~\8a\92òu}f\9dyKÁ\9dÔÒ+æê\14þ£yß\97\b£fË$EZ\95¬ÿqyv\89 ò\17\13¾½\b*^fÈuy\9aü×ð¯2ïáíû~\9b½\8f*£ª7ò·LkË_¶ê\8ds¤½Ó=Ç;\17\axòn|\1e\ 5­¨Ë¨zÞ³Lþ\16í²uÕ\1cË¡4\vöoïïu®\94d\92ì~\1c\10\9e\8a*ª­§:\8aó\85TUÑd\1f\95\95®åd¤¤\8dö\8c\9aÚ]R\9bT1ZZ©_Þr\8dze\91«nNñö\eÇ}çGÚ¨ÔÆ%ç\1f3O\82þ>õU\9a\9bWÿnæ\1eæ%yVÒ\.\fP×aI\eVÙ;¼\13\9e\96ô\ 4ã"fÓ^\83Þm·¼!\19n\8d\90]^¿aë\r\1e\10\92Ö\87Ø:¯ú«Ð\17àþîA\17\8c\90\19æj,^ÕÐYéMí\8b­\16\93    ³wÐÆÊN\ 3Þ¥#-ÜG\9bwkûô¸eêá3¨9\ 5\14k*A«¾l+\r\ 1\9f\1eSxes\82^t)\8dÕ|+&\86-íñå¥á¯OÞäû2QB¼W£\7f¼~Òõ\ 5\vÓ^a2\16µ½ènÁ=ìÚÐÒü\88Ï\8dz{\1aôôÄ^¹Òð \ fÿ\17¦qK\82wQÛ52È×\92«ÞiT©COùeß¶z_\1dz^Ý\aTÊô§¿yzVüóïÞ8¾\80ÍyÌ*¢Ú­´Þ4¾\88ñ\9céÀê6«43{|äÖ÷Û%zRÝ\aº¢\85g]k\17\18¨7ªãÌE\81êõïk[mÿºA\10\84Ó;+\96ºëÓ;èÉf\96        )+\8aºë\92;\12\89'\1cMÈëj¸ë²M|\9f¼\92óI{ÊûÉ'bÓC\fÃ!\bB\8ce1\86B\94\84\19\b2\98£ ÊBjR\10e(Ã3\18¤\1d²DI«\1cdÖ;\b1\fþûï¿þûîýÞû¾êêóòóóI5\95UgY4%\84\92ÂiaI©HS\14ÄØÁ±\8ac\14ÜMÁÜ:R\98Á¶Æ1C]ÃÅ\f\17\89\88^\16ü\ 3ÆánFäíÄÜNÐ\aïv¶[#nJüþÿ»uL¹\13Åè]SKçuzcÌmý\85"µÙQFÊè:Kõ\90\99¦SÊS\8f2T{.û'\7f\1f\ 2\1cç®ÓMÁ_vTÐñUJ\ 3\11X6SeAº×\8dñxt\87ìÞ¸ÎUu¦bLÇ(â|Î\11ÐEÃS\89\fy+Ú¸a¿"\eê\bØ6\8c\9e¤%+\8at\94ÄøD½\9bûðûvN.ÿ\855|~Ä\80JÊQq\8f\9d׫f8N·R¥~˱o\90u\16»«)ú\9a\ e\9dº¯\1aÙ°w£R·=ê\84\14\96\ 3ÆR\92¥r¹t\9c-\1aÏÞÏ«\10»ØÁ¹±Ô\9d·}\19Óì¸o\9a;ôþl_\eÒý¹+ÜÚ\1a\rkã|_\83
+øßÍ_\e±\11ké¯\8de6¶U\8aTD6óIRb*ö\ 4\87\97hâØÁg³©»·Uç\1f\ 5óg¢¾/\8d4½f\89sìýSq5|³\1akæ×A|òê\1c-kê\97WÑl_A®µ\96É˼§Jú¿\88¾\91\82¼¯\89V+\1c§ê⯣ÓD\87ª\9c¾\93v\89U\vé\97£¶W\0\8eV\ 5ô;4{Ëè\17«\89R¿\az\0z\ 3÷ëa\ 3/\9fÅL\1aEÿÆüÎx\11>0Ý\\8c\98WÍ0¯\9a~Úù¦\ 4sëä/q\eLÞøJ|\9fßî^ëçzêù}ú\17\7f-|Çæ>zµx\ 5¼(»\95Y*¢m±rí\ 1æ9~å±N`\9eõB\1dººëãh{w4K\bfSEó§9L\1dá!SàBxÅp\91\1e\ 5óË»>¹¼²p$\8bÏ_^¯ko\14ä\85±        \82ò6Åú<\1fì_V§ÄÉ^®u\vKÉÈØÅM\9f!ÉÞo\16\9eWD9     ´qqBúû>c\91Æ\8aƵ¡\85\96]^\8aÉLô£ìÜ©=fñ(ì\15Þ1Jé\15mÕA¢Ã\98¹\85%\1d\ 5]ñJ\95\96ß\a\ 4\86º#ÉGIÒ¬ÆÍ\18Ö¾\93fì»Z.µô\8c\ 6!k4\17 ¾}\9fuxså]Ê\9b\16+.­yz»\1dº\ fשÝSu{\7fY|úñ7ÊWȨ\86ôÚå\9f\97º4´¬õô\8f\9f\aq~r^Ö6\ eÓ¬Ûÿý_OW\93,üK«çßN_AºQûýËêôà\92.K\85\14×ÒK#á\9dà³\87\19é\92\97Q_õªE\7fã/®`Ò5åÕ>.\12úÿJV¼³\tÛ­[]\13UspI§,¦äé\8aB\8cµ\7f»G:ò»W²\9a\7fÛRQ\97ÊÁú²8E//Rò çvÕJ8\14&Zf8H?+ý.­¯&\vëHÆ\ 5\18l·ú°c0\99þõÁË\bÃhAÿ@V5#v­\97³mIç\11¯ÔUÕ\83¦\7f?\91óýÞ\17ÏYwÌÃÉ\7f¸W²H?3ìÕ¹Áß\13ìÔý?·\91\1dy\1f\16\15òü+åøWËð¯\97á_/¾_\85|¿
+ù~\15òü+åøWËð¯\97ý5òü\9e\12ù\7fz\ 4ÙµÒÔ\15Õ\90ü\ 2Á+\1f|X\98\0ôelª&÷\9f^o~Ñæòv×\99ãÚk4\a6l\9bFqçñ\87¢{eAØ\81ì@\9bÅ,N஫\97\96üf\9aì\80\9bÞ\93¯\1dÈ4Ö[\90Cíçî\8b\13\ 6}`\13x\ 3ÿ69\10\r\9e\14\9a\9fÇG\8bÉSg\86\ ec(Ѽ      z\9bÀi\e[?P7G\91\e\16\9dõ#O\8167²Í\9a\90>3\92\e\1e\aÞ\81íÀæ=R-\96'1êÑ\89\85=\81>Ùæ¶Y\1a¬±ýX\ 2µò\0\9bÁ\81\9eè    ¼X=qþ°h0&Ç\1e\1e¼\ eû.ÓTÞµ¦²\86º£\109 4às¾´ù`\ 1jİK\ fúþµ\ f¶Y±¬Ûb\a\\ 4Þ>ô³`MëäÌÞ²Õú :R_+\99|§×\96   a̾[Ü\eÇúq³/"\ 6\9b×4ÖT\ eü\r¼A¶q\10¾W6}\e{nQ\18\98\15²ª\9b&O5 zb¶U\93{kk²\ 3Ö\81Û\81ã=xÞ°6`M\8e Ý±[*ÍO,!ü\ eÌ       ¼\97´\9aêaMäÁ\17¾ü¤[*δ\ eÜ\ f\19ì\aÿ\ 3\ f\8c\8a\16¶ÀMíR\96¤±0'Ö\95Ô¶íÊÙPM\89\80~|±0\ fï\0ü\0'ö´êWRòke1ÔS\9bÛ\eð\8ar¶S\9d¥9ýn\fµß\15Ô¶æJêYl\80\9bÛ­ßiP\8cL!í\87)\99^e¦\8däæ\8f³6; K\13\ 1\8d\1dx\13c¸ï³\ 2oa\12\7f\1c°J\8fÆscG\81Ï\e\1e\17çö\99@7l\ eÌ\ fÃæÏ\8bòV\8d\8f\f<ÕPá\8c\ fL\ 4ÞO\9díJÙEzð=\88\1dÐ\13\85¿\ 3ɶ¾[Ø\ 1í\80ø&Á*~tp\86\aÄ\ 3¿\ 3ÆûAÁ¸\1c°\1cÈ\1eX\ e¤×Q+\9e\10f\a\ e\13\ 6ý\91­\94÷Ú\8fÎeó\19]=\8e¼\ fdoBóe\82S~ð\ f:WOBk§\81ï\0å:\ 1±àyP:\90\a|\aOZÓ]p\13y\90\ fø\95¨¶L\Ø\eÐ;`9\8aö\9aÒ\16%÷öµçÇë\v\n\80\1d(\1dx\1eÜ϶ÿD4¸\e\92Á)þÀ°J>kd¡ÍX\r\11\8e\aâ\81Þ\81åIö\833ìÿ±Ñ£(ã¦öÈë²\ 3Ú\ 1ø$ûKö ~\1e\8d\1eâ:~(\1eä  ½²bíÀî  }VkdÑÔ\92ú\8f\97%ó9°JG\98Ò4Öp\ e\94\f\9d!¼ÃÜ\b'\ 3ñ\0î@ï\0ïÀú¢¶MÓb_ÎÔ\ f^\aµ%ô\7f\11Þ\ 6H\1d¾\94þÇNZº+dñî\80ï\80ú¯n:\1f\81é\8dê\1f\98Ø%SéFé\81÷Z\81ÿÀö {\90;°&öð£d\a¯\ 3ò\80ñľsï\0ñ¾äo¸\1dÀ\1e\84±/·ðM\82S°5ý@ä\9c\ eè\ f-ùciÀÞ\81ï
\19uÞèr>\ay\14\90Ö`v iÌûE\92ùÏô\8d\82S8Â"Àí\0ïÀÆ%ó\9f\88Kç>D\ f&O´]Q±.ÆKès["¬c/¡Àõ@{\13[#m¢1/\afl\12\91Ú£\12ð|¼\81Ò|\ e¬\ eÀ\ eì\ f\1d«\1c¥\81Ø\81ï\80ø\84¾sË\81æ\80\9bЧ¾\88\r\88\1fÏ\ 3Ç\8eÑÙÀ:°:ð;P;\92Á)>ô\ efà@\18\1cà\1að=h\1ai#ÿ\96    Jû :\89\98\1dÙ½\vå\\8d\9b\ 3Ç{±Ô\9c\ f¾\ 3Û\81ðK\ 4¥z@?\9cX%#ÏÌ\11Ö\a\98º\1c)\81Ø\817ªºÜ¥Øýwfòê¬9§¼\eÎ\ 6Ä\f°? \a·\ 3·%òß\1d¬\10\1e\ab\ah\a*O³ù½W\93í\0öÀ{\80?\1c\ fê\81Ü\81ï\80ï\0ï\80ÉêDm\92ùo|l\12\99Þ\9b\1c~\82+Àñä¾[¼\ 3àþb=\16f\99|·ï@å¿4@\18\1d\80\1d\90\1f\ 4\ eS«C\fshJQ\9d\ 2\88\a}\aÛÕ\f\9b\9bø\96UMmOOô¾:'ÌÆ,G\1cÿ\97ÁÆÜü\8f\87ø\97Ó:b!eBMdÔ$6Ä\86\19\90¤\9b{ô&èq\ 2ZýÈ)®+èi«#ÚÕ¹Äi¼2´¢åc\95æÊ §\9e°\99¸Û£Ù·\e×ò\16î\9d{îÌj¡Xv\11»V&4è|»2Ã\ 1\9d\88\19ã\96\0^b\1c\9f\ 5\18`\8dA.Z,\94þõW\92»$\95A6êqOP\89\95Zj\85¡\ e>\192\ 4(-oµ#ì¶Mw½UíÐÝ\ f\9b\8d.6\8a\15PqU¨x«ë´G\8dÚ\99¬ÓL\7f°>\85\92G\84èäÎB\8eïÐO3\9eUùôܪ¶NQâM$âu\ 5f©.âV¶¡²n\98å\ 2ºÅ8¿v\87r\98SX"¿ª\83\1cÙ\rà\96×\17î­};P§ÜÏ@D>·\a(WwHä/©ôÇ\9bNµ÷½i\1e\9b\b±>\7f\19ó\ f°òÛ}÷ÐÀ_ë\1a¾\1fý\bnúupê\95L\8e¨éO¸Î`¤mÞzÑÀ¾±N{zZÙ\14·Tì\85»ÕA\9dii\19
+¿u\19
+tjíÉPWfÕú¯÷=.\8eÝÙjY*äΤñC~Eh)¼vºÂè§ ·\ 6B¯âE\14     |Ñ\15\1fÌm}\8b©9%É\9e\19zDÿ¬oÿ¾û(øÛ\7f£o\ 4Ä~\8eÞ¥}cövôÔÂöÊ\87ÿ¹·ìáN1\13ÛÜ}(\95\94O\86Ï\9dº~ŽÓJú\ fìÄ\9d\89ú\91ú;n\95ó\7fÙÛ~\88ä\14\9eÜ­|²¾rV¾]âî\1dyv}´W^\99j¼Ó\16^UÍ\87\v\12¦·gXÝÅ?S\94w3¥óÞýk\92
+\86\10\ 6;p\96þ\9b\99ÀëË\1c\93!¯b_VAù½ú»\es;M²C\8a&\11ß(×í+äºP\17Ò·Ú\r\9a¾;kìÚ\82Ð/-\12Ó\87XxÊ8gêI¸Y^\ 6wkÈ«U(ê\14F½¹IiC4{lE@÷göp\8a½í\91Á\92W#\ 6S\8aHâcMÄÁOÖ\87õé\1c>\0ÒQûõ¸\85N\8föêDv\9a\14ïÏ,}2ÌÞ_CÒ×x|º¾¾Õ¨àèÓKocMN\98\ 3\ 5S$ÖIß\ 4\94G½ÁK5Bún9\1e\a§t}\aâ~    \9d)=\85ÆÁ%½ñJõwçÕb|ö`\92\8d×â>¬¤ûÅ?.o/¦ÓÆ\1c\95MY§W[\99\8d\9f\1e¡àuA\ 4\rë\9cûÄ"ÙÔ:¸èÔvØ<3²Q]9å\eÇ&Ó]åòý\82°\10\e$õÉ:Â\98n\82Ü\9bç10\9e\9e+ï    î§¿\eÃdM#ü\92\93\ f\89[Å9x¨Ývn=é`\83Vè¶^è¶\8d%GÿʾW\9fÔU\1eÒWoOÆlÂCSÛ\94±\94V\8cèNÝdê\Lѯ¼\1a5-Ch\8cØ¥<]\vß\1a\8e\ e&\1dèl\9d\14\8f*V¾=\8c¤U*?
+uý\vcmdÎ\94Z\8cZ"ý}=Òü~ñzfÌ\9b§dðôúø×Ó¹3Í0ò\9d×{¤:\17\8e+ ÿGÏéÊwêXò{\fL\11q¿Ñ\ f§)$nÐQØ|ìK »B¾Åô­b\9c5xçá\85Ü'ÉØ}\f\12~Ëo\ 6¥¶D««_OÿBÙ\1cì?m}\a¡qøéºáG\8eG     ¼]#\ f\aø¼\1fÿÚú¿Fu\1c.\84õêý
+\97ײg/\89ú\ 6×Ó±pa\95údú\96½ùû¼×\1c\99f¸ä\9fö<\1dG>Z\ré1/ì¥\9f7{\18¥Ý\85Ú"{&ð'c »\81½\1ew\ ewa°m}¯lI!ÚÅ|\18\8eQ@¯\95\99\85ýÉ<\99\14ì/(Üç\15¯¬n˼\8aç\r¼ü¼ÁEO\92üÆý\8d¿Ç~i~Ƴvl+Ëï\17iæóÍ÷%ZùNì\94Õo?'3øS_       ©Ûºâú>\86\9d\83¦nM³\ fÝMïã \89ã_\9cCC^ÒêBÉÏ©À\a\ füÛ2)¹õù*q¹n\8b¤Zp\10:üKó3x]\89åi¸m\99¦\15Ô¬+éXWÒ°¯¥açÿù×Ã,!]£úáØ¿Ã±|î\f\88µà\97'%ù¿¸,\v\10Ì?éî\89\19>\92     ÔÔÅ»ñ~úûDË¥\1f\fòVÝ]p®\93·6zX\1aòño>í³\8b»'\a\99"\b7am\92ÒÝÐk_eÌ\9aü§\10'©}xèU#Ì'7¶J\92\97onI\9bT\91\9a§J\9b\10a÷çã\1d\14Øî\91\88Ä\9dR{\1ev       ¸lJ\97ÝÝßÓN"!E2\1d«sÓèÕiÈRûFKwÒ?3\ 6\99µ:ÝÝ_>ª\9e2«aÙ\vðBë´õoO\17\92á\rù ¾­­+]\19ëSt\a\9b{ <,ÈU\1eÛµ(ì 9¸\1c\12<¦ÕZ\9d8\ 2)M\18j_\99ø7þã\ 6\eä¶Këw\81U\1aº°\1f5}ÎÎLâbFzþZè ß_s£\82zvâ·\ e-nHð\a\1e-î¿vïQèñn\9c\1fW­~"Πâ«\0\12\19øÜGÙ7I"õPü\1d\0c)\ f¢\9b\12©\92TAt«\vlÜèné(,6Ò\13÷­¤&\7f\12\8d±"";&ÊOf`¯°ô\ 5òlæè\94ö9N\91®$\9cìrD­É&{½\8bêôu­ÇÁ2k;cÄ"\1c8ê¥W³l\83\ 6Ònϱ|.\9eÊ¿\81ùÕ~@¬\ fÊKµ¹z!ÔÞbª@ÓYK\8aüëÝðí¡%úM:;\ eÎÖsí ö\8ff\7f÷~xoTS\ 2óóÎ\9eó7M¦íü\82;\19\1f@ªE\95Áiû6Sj£ì\94î\87Ü\1c­.9_æM\ 2/v\135Èl«\96Ð\95\98¶¥ ¶N'aùSjàÓ¡ÿ\91ú\ fdNôª\99\93Ò¶C"\9cb9ßÎ}ÛpÉPW Þ'\89\9e¾1¯\9bÜv\9eo|õÖU½\82S\95ÖuÚ\1c¨\96ï\ 2\bze`/\94^\98¯uÀ_(Ú6\9ecD\12á¿C¿r\16y¿ê\85\97\97Æ4amåñ\8e,.¼¾)M=,\9fÚ\85:¹Û\17̹¬Wõ_Ôk\96¿Å_\0Ý«\rÛ±Õ\8a\auÄZJ\96S¶v\8d\95E³´\9a×¾wx\16Õ\16\82U\94ÖÔ¦¾^ÍÂ\92\18,¦­$<·\84î¾á× Ü\16  ÃÓ þéWþW%D¨rpmªöì\93"2æÏ\17voy\8cWoçI#YL[\17ÂxÓå`\9eÆ\85øz̯bàÕæÄQ\87\8bÖÕú¾BS0m7ý;'\812\r+àUñ· ¦/ó\8dü[s\94Ñ®ÇCÙm`+{SÝÁ8»9KYTL\82\90¦\94d\1d²»9¿Ì,uVìÌ\9aLºýµ\82¦\13í\14ê\fÛ\95\95ßж±ÚE5} è¹mK\ 3±s\1c&CD¨\9bBj6]A\8aÑÒx¯Ò?J®&ã9ÌKÔ\b/Á+å\ 4òÛ^±º¾\15{\82Y\ 5Èm\ 2 \98\84\9b\eM\ 3ú
+\f`'ë]í·È$ûû    8×\85²ôÎMºUzÛ(/^%\e\9dÒË\9f&(æ\7f\ 2÷VÙÌ\f)äÛ\\1afÖÑâ\1d6Õë\87ðà®Yx\8aÍkÚtvM½%î\9d\15µÑÔ·¯à/e½"\82\15Ó\eÆTb\9bêÔ`}_\1f\ 4ò3ú\rÑ9'\7f~SÖ\9e°õ\>\18Û\efË1XF.\92\rõÚì\1dq\18¹ÉQR}\9a\8c>qðOß\8f³þZ÷\16¬óåk\9c\90\8e\98E\82`\1fäÄA\ f\1að0OW\83MW\ 3ôk\91Ã\fûl\ f¶Ä\81\18\1f¨\1e.¯vÛ\aí¡¶Áÿí~\9eQ×FÕG\1a©ª\1fÖ9\85ÿW\8e¸ß<Y¨Àøy\1a.|\96\147e2[¦\1d\96EÂ6\84Ù&Ù\91\87j\1a\19tl\8d¡pëzX=ãèÊXm\94ßÖÉ<(Ó.\9e+\9b¢]òµ»ýÑÖUnöÉç\89\êÍ·½sà¬ò~yÔm"YµÉǼ(·\90ÞÒÔ·¾)öìî\89cùéÛN½\85\8ev#&)ý¾\89Ý*Y\1f\8b²ñ[TzÈáÂë*>ñ¡§NDæèÁM¬uHWz¦eÙ¡ï\14ýÚ\13ó;p]úW,Ï'\8a\]©k\81\ fm\15u
+\r\ao\8b§ßô/eS\a­`n\8aÌSñÌcèÒ\8eºl£d¢\9e4LS\7f\98ÕvÛשU\ 6Üw%cÙ+\80WéBümk\ 6\99vsmÁ\16\91Þ\94ݺ\x¤èndåuÚ8)µ)\ f¸ÝIèV⯶+ýiÒÆ¶È#e{Ù¿O'Qøë×µ =ü½Wý+×T\96µ¿À\8c\ 4/1Év\86\9e\97+çÅeÄø±\9fnz\80ýR¸\ 3«TÜyåts&¡\15á^\80Ã\89é\9fIz\12ò\1aíïÿ\O9Ë¿\95\9c~ã/?àéRc©=\e\84\8b~\9aóöB±3.\84-=¢§\90ã\9dý¡dÏ\ 1Ü\9aéqÞ\92W1¿\9b%¿=\l°\15\97\92v     âY\82w\97g\93¿ºúÇ;öý×èç"r\8cüOp¢\89\94Óþï\:9F       <WE2¹\ fú2o\98×I\ e¹X(\82tË/\8e©W¦îWòN_Cj©IveI\9aì\84õÖ%±\ f7\1dÈ\83L©õÓà¦\96\ e:«qÖ\94ÍÃ\8b¸\98SíÐ\80#d\ 1¿Föºx´I¿©àÁ»ëÌ\7fÃ\b\1fð\84u¿Vµ\1fû\82wwN\ 5Q)>|\11»\82xÿ\17ëÓ\94\82¹
+C3°¢­hsY\93kñÑýøgî»n¤-Úx\9f´%W]¢§\96®eêi(õeÖ\9eáZå\13\81q¶%\7f\1e\r\a\93múxº\8d\8fÔÍ*k:U$ÿRÛü|ís\r¸\ 4ù\96à\13mÂD\ 1ÁÙ\að[\80\8c\86í\1eF
+òÚ\14í/UáÖ6Í\87¿W{\19Ϋ®ëy3dò¥ÅI¸jÙSéî\94\84\19\8cç]7ôK¯¼MÄÔ/\1aþü÷í7#JÏ~ÕjÈ\92½\10\ fz×R5½¹w[ñpP+\87[k\87\82\82\18¿³(\158'û¯=e;\12\19¯ &ã\92\1e¥ÿ\8f\19N.\vÉ\18Ù\8a~Íç\98\13Ên]k»*eâ\1aP\96÷Ê+Ç¥\ 1¼N(å\91@\9c\82¡ñ\88\\7f²\94\1d\9cTÁ±iÁå}¨ú¶ªcé`Û9õyy\1fo\ e?a^r¼å\85
\97Ç^rñ\b\15à~Å`î"òó¯\ f­
+6\16Áµå<\86èsfa\13\0ÐÚ::&Îq³Í\1d\99¥$\15\96áN\9d#G³*ûBøÚ=âÊ´Ê   \9fP\aZ«A\9f\8eJ\9aÔ"ú`^\83´¤0
+4\9dF\ fŹVưÒÖ~¥\9f²\7fãn"ö%Â=£l2=º¨\14Zl\99öc\89\94º$Ìé·\11\e\97(eè?vöÎ!6hl\9bX$\86)E\1a±\18ß\ 1"½ñãþë\81\Êùyjߤù\8dÏÏY&\eéK;òÚy\85cЫI(Ä\9aV~\9b!ËOÃ\96ä\12¦~½<Ú-\e\9bEyË©]µ\95\f­0êÊ\18TF]ê\98\0ôô'È\83Ý3\85\8c2\9bN·¿À,\103\19S:h\95ÏÌQ¡ZW©+<\eýçï>\r¡AZzWª¼]ïÉÒ¬J+úPÆ´ö}Ãf¨p\13ÌÚMK3¯¸\9b©-÷\8d\8fèë_Iü ¯RËE\95\1c~>({Ò\94I~\ 1ÑN\8b\7fýëÕØ6\8eè\8aNнy\92ÙN­(×\9e\94×ÈKåÐ^£¿ñÒþ\1fÇàèº\ fà\89»\8cÖ\1c±ÖįO\ fL«rÿÔ\8e\1dë¦Û\98\r[v]&\9aJØîN[D\85ô0fo$\ 5þ*¾ë\r;ì¦è:Ü
+\7f:\ 6¯îýµÓüèJlý\r\83FOù¯bRArº\fùj0ÕñaGÍ\84\99EÚ_\1a\14Ö\8f\85\8aܰ\17qDÿÄ7[[Yú\9dÅôtM\83f\8fn\96³²`ÿþi·ù\ 5ûZ\8e\7f\a÷\93¸çâü\98WͰ¯\9ba_6¾m\85
+ù¶\15ól+æØWͰ¯\9ba_6¾mô×ͽuÝ%ói½Ã÷çI|Ûï\0\9b+@fÉ\10¡³Îæo\f\8cùvðS\16l\94\8b\ 5,÷å\82\96~D\97ΦÁK?>Oæ,fðRÎl\14±ü`&ñ\9a»¯o\14z;Y¸£Õ²ä\ f\92¹sú\9agÜ6þhñ¥\82\96?~l\14½å\1a\e\ 5(~ |³zØ6,\14wë}KM\e7 û@? \ e[*ÓFòÄóÖ\ 1ìÍ|\7f|\93M\eƯθ   ½\19¼íù$y<ÌÔ\ 1Ù\81Ú\ 16vÖ{\80;\90<g«i¬à\1dX\1dÆX~3yp\86%ômùd[\97*Y\16éª,R\bíýbï\90lÙcK6T½M\82\8d¾Ì  ½£èíK"Ü;bÁG^ü²-Û\96\ 3\9aN
+=ÿ ùN+k\9d%ôɯ\90<Þ%\10MáÆÜ×ÇßÚ\ 1øÀ{/\5x\1cüA¼àt\80z°?0Ø(\87å\ 6\83\ 3Ú\15ñýò¹¡öÀõ\99¤{ÙÉ6WpÍ\8a@Syu+Ö\92ú\873Ê´Õ¸\1d©b\90\ 4Þk\1e{\10?3×£\ 5\ 5zp=`\1d©` \8cؤ\ 1Ò\15ñýö\85\82\82=Ù_ \1d9b\90\97Ö=¡b\90gvKë\9ap:r·VÝi/°M\91n\13y{\876h¿w xÞ`n8\1e\88°P\86\ fÛs\b¾>³/®y:\83äólø'ó5ñíïÀ\9bÜ\1avX\ ehÙg),\13Ñòàk\0õ\0o@õ\80\14\ 1Þ\15ºÀòäþ\8aÙ\ 1¹\ 3±+u\81ê\89}\83ð\0ö wæ\7fKsh_\çÀûà=\90\1d¡/¬rå|{fÍz\8dð\1dÐ\13f½Ç|Vë\ 2l\13ÇåK"Ú:Là\8að:ÿf7ßÙ£\ 4ëv¹Óæ+\r¯\91\9eF        °Í\82k½°\1dÈ\1f\98\a\8dç\9ak0\ 6ð\ eÀ\ eü\ ehÞ"£@é@ê@õÅ\91k\1cà\13{òmí\8b"Õ¾ \1cù¼ã\13\81ì@ï@\9b×\82\1eÔ\rð\1cÅcMT\99ý%\ 3j\aôk\ f\97¶³ß\1c\1eP°L7Ì\eÓ[\98\1dp\1dx\1eÌ\ f}^ O@7O@|¿Õµ²\ 2oBÊ9^\84Dx\1cÀ\1cÈ\1cÐ\1eX\ f0\ 6¤\ el\ ep\ ex\ e|\9fÓÚòÅ!OF\aJ\ 4Þ¾\rv w\80zãz\16µè\9a\ e´­Õ÷jKï\93b\90\a)`4Ø\1aó/À@Ù\81ê¬\rá\1a\10l\99dZ§x\a/¢7\863ÁÃùdZÇà\81äI~Be÷ou£Eñ×ê\r|vý é\97Ò\1fÜÏ\99×Ùºßl ÿÛ\1fÜÙ\eUàu`zð; =À\1e?L8ß%õ®ÇL\87ô\86ð\ f`Oé\ fP\aáiƧ\ 3\95éFÿ\92ú÷·+ã§Î\81Ö\81Ø\ 1¿\ 3Ç{\81Ñl\ eßÜ#"Õµ@{b_Z×\96(ÿve\91j\9e\efWÆÏ½\ 3cÔ4×ZVë\13LgôÄØ¤      \ 3Ë\81ª5ºÆ\93ú¢ku¡\8c\ 6ä\9fÕÞÀ²-C\96\ 3R\a3\14m8\1dq[¬Ïr\av\a;d"¬\ eÌ\ fsd\8cR\12Ä\ 3Í\ 1çÉ~\13Ôj\8fè\9dý« ;\13dÚî0\8d²È´/l\av\a\90\8e\ 1Í\ 17±m~|\ fF\aP\a`\a~\a\9a³\1fL\ fsf\8cR\1aË+u¡¾\ 3\99µ?¢\836ºÐ?\b      ½LÜå$\ e\14Ë\14\85&Å!\rð\1e\9bV4\19½H\ 6[\bÏ\ 3µ+u\91§\1dȺ`=\80\1a¢_rË\ 3ï@í\0î@ï.\10þ´òÀv v w\0y©FñA^#<\ eà\ ft\ 6ø\97á;Ð7ài®Fñ\81Ë\81ë\8b\14\89&Å".\\ e¼\ f`\a\93\96"\\ e¸\ eÀ\ eR`Ýp>ü\ eÌ\rUÐÞ2Å!\ fpKò\1ap=]Úm\8bmnn=Ù2\8d³     ÷ÿó\97νî#ùo\91ûãa?\8fÿo÷ÑÛÜ?×ø\97Éh*s\90rq¹x\r×þ3ù³\8b\ 4ékÅíÎV;\15Dj/[©\9dÛ]Ú\99Ý\97ÜñT3iï5öëh'sÇ©\97\8a³\ eå.´ór[³\13\14c
+Ͻq\9e\7f1ÖþbÊSä®Çó\r\8fåO~\$³P¡L\92ûçWäâ\8f\8d$ÈvªU~²Üô|\87òÖf\13ùfÌF«ÏjÉq\9fËøó]¨ß\v\11üÁÈȺ?\84ݪûã¿\97~\ 6\vùvË.\955_¯\80Ûùnýº\95ÆÁ±xt»\15lrÐðñGÓF\ fk\94äñü²#Ñ\8a®4^|7ØþIÕ\93Dÿª&ö\1dçá§åá?\90,·!ú·1<G©:ÓÝk\9eÿ\17gts_Æ?\1fh`·K_¯´/¿\86\7fkhÝ·U?;\80=\e[¢f@ø\9bwJÝV~¼/Ö©î\1dñön\vuWúû7V«uQâlÝ\17î?\8b´©kv{þ\v÷\1e\9eÈt_¸Ôü\16c(f\ 6¢\8dæ\91\15ý\133\13``~ä]j      å)ÏË\8a^ñYí~\8b÷\aߪK+ÏÜ\v¶{ß>õ:ØÔ0½lûþ\ 2­\9f}Òûx\1fµy<\1eõ´¶Õ-O_\80¢\86Ú¶Ý
+\19s\7f^.\87KE\ eö\83Ç·L×tL\ fÙ?~×Ís\82?\17\9bÆ\fR\93Z\92\84=\fåzÏ3;\12®.â\f\9e\83\9aGä¯\10]o"àk)ÑK\8f^DÇñp\97\87é\91{\aÓªáý<<\8aF¦)d\97öîE\1fâ)àmg*/µQiØ×]\1c÷]1\94¿\10ñ\14ý\²7o\15ÈÌ^\ e(:þkx í\8f\84ýU÷¥¡æ\12ÿ\15m\95Î;õ_à\16\19;à~«×¾o@\9f¤¼GI¯ÎªsÊîïH\98\1fª\14\9eéNø\r\83Æ\9b0V~«¢ýQ»Ì\9a\1c\9f\9f\8c|ÚOTÚÞ}÷ê\8eïçÛª.\9asõF÷J÷¬é¯M\88ýM­ÜáOJ7q=ÓrV¬\eÝ\93\9a\9fÓ\96ÂÜpºbû\93ªu_û8Ýa]\9dKJÝLc\97fûud\8eF~\9b¡\83'\9aæÊ·ûóü\7f2ÝHü÷éµqµÝ\1d⬳\9eÜó\9dñ£®\8fÛÿøùÿëu\rM\aÞ¨î\ 2¬\82·B\17\9f£\98\87\93\9f¦:r¬ÇLºv¿L\rq?\b/Gúô\9cù?¸Öéórª\1c7ߥ´Q\94§\82\97íÔ\ 6QYÛ\1c\1d³jH\84\ 6¢v\8fEº|ô\8dÈ\ 5³=\1c\1c÷£\95åÛûMzêlý5]79M쩪\87ùÍÓsTÕ\83ýó\94Ú*nz\9aÂ\9bÚSDkÚ\8fÏÏ\8fÊêí÷0?/=MZ>Nv\9b<?mLÛtÃwséuÙÅÝ¿#JÖpô®\1c¾\97©2èpZ\86¨ÆWÑÅ\ 4Û\1f¢\9c7é¦Au\ 1úº¦\8aî5\96u\17q\80êNÊÀkä`°\98þ\83\81Éëízî\95¹§¿ôý0Ø\91Oª% ûb=\17º$×ÚøCf"\85ÙùbyZn\15Ü|+xøWqð®ãá]ÇÃÏÿó.zâ\96\18\9a`ü°ëÿ»¯ùÙÒ\8e|gèÎS\8fLëØ¡\15\90Ú26Wû?DòIµ³bá\1e®m\1f\e\17\9e\96\9bu\ 1Ç\93G^å|¯±nX»Ô«®¾ÇpbvN\a§\1eZ\9c\89u¤¼Y_ó\ 3ô\17«nÄ\96à·NØÊAFÉn\85uúïyõج·N\9c\19úÅ×èFW\95\ 5¨ÉSÊß\r\14â\84nB\9e\ 4ú³·7)«©Å~yûÕO'\8cÛ\ fÛ)·E÷T¬\99\14 8ûÛè¿;iãF&\151½Ó\9f%ççmççgÑ\87ß%uË#\11ùÇwvÝú0Poù¼»½@O\a\12\ 1Å\9bn\96iåî\15Õo§\91a5Ç\9cûtY~¹ýo+jíL\15oÆ=Æ\15º1Æoä±u#\ 5w\e\1c\85\9dV\9c\9c|ýëtWC±g-º¾\1eô¨\93YÜí\8b\9f\95ý\18­¿'oW\13¯Eºøøº°ÓíÛ{\ eåªÏÓÝ]G£½}N\r\1e\9d\r\99{_ÑìO\1c¯.·þ-ÑÇtÝ\92úÖà;\1f²ñ\btShà²Tì\ 1 \8cí\95\18²°lü¦ï\80üv¾ühÇnÞªÙR\92¾\ 5_©ñJC5Ý\9b¥cyià\97øqA×)XoI´Á}Ýâ\93!_\15·xÎ\8bîNïryï¹\1cõÒ\9b¯?̵;dkyùî\1c]'èp\19\rº/Ä[9ó\8dÁ·E×¹\85\8d\85n\8b\7f×\a¼ßñÁëöè£>\ fèb\83_\ e\10r_\84¼x=È\9a\90ú¥>c²É\fG\13Ê~\fúG$Éü¹ÏÁ\1d\r¿Ã·B\94¿\ 3¦Ã -;dün¿\0nÏswµ\eÖèG)²¾Ys­n\16V\ eMsrâÍÅ\ 6jIªñ\9f\80zS\8fÝ\8c\1a\99«¹ý\ e\rK\8aÉ\ 1î\}D×-\15\8f¾Ì¬LPi÷x7Én¾:VOÿ\ 3ï«-Çß]\e6\92BX\1f\87\176u<;ä»_}6¸\1dÂVF\8fy9õã[ï\ fC\13ôîêTí\r\1cPt²±ß\88ûÖ»n\95r1#V1=æ+t\1fê\v\13ÁÁ|\9eo\119ÄÀ­\87L\81\98³_\80\18ó¾Û\1f\8bø\7f~&ÿ\8aÝ\bß~\80F\ 6!/¿v\8d)'û÷ýÝý.\²\17\bH"\80±\b¨ª¨I!$\90\16XI$\81 E\ 5D\1cX A1\ 2\bH*\8a\90`\84\923\ 3\15U\17\15U\10UÅE\T\13\1c\90\f\ 1Á\f\ 1\L\15@\15K\8cTU\ 1\ 4\0ûÿÿ÷ï¾úî\¹\v\92B6Ç9ÅGZÎ\1dêÍìÜí3:·ª·»·Ãµ½âÊï\13èÏ/ywÁµÞnðw\8b}ÝUÕ]UÞ\9dþ\ 1ï\93wË¿À9O¾÷i$\92Ym±;ó¡\r\7fq#©CjÝ\86+\80Þ3kyÐ׿¦\9dor£à*qB§aÞòkh\92Õ{\95V=¾'÷æ\91Þôn¯\8fþ\8fr¬µ¨uø\ 4q\17z®ss²WÜ¡\7f3÷ÀT{\95åÍ9î|çê¦Òû\8bn\9eï½Ö]í`®ïÉÖó¥ÿÑ\142ªø\ 2îj£³\10Öç58\8a|{\83×w»z\8c[\8bûßÝÞëûç\82ë\9cÑ©²`ü½î»¾iÜó\99µ\1a[\1es/ýý۶j}Ù\9d\19£Y\8dÂk\9d\9cÄÕsM°co(Û\0pÕ¶6îöy\9aÎ÷%kO¤·õw¸êÞe;Å«Ë\8ffÑB\9a\9b/\ríZÚÜùϦM\eKî        \Pµ¹Ö÷[¸\8aÝY\11×v¼K\88A[½¿æ\95Ò\17QðÅÔÁOÌÈ»ð(<\12½ÿ\aYÞÚ®lUì \9eì\8ec\132®.<ð
+âãΫ½³]lò.\18õ­õVïl÷5\ 1¼\92ºÝíwU\a?ÝÞÖj@é\90\ fî«u Î!]­}Õ\97\8dëwÚWª[òâQ˼ÔóB~)¿\88Ïñ\14þ2\8dÁ·ð:\9aÞ\13?\9a©Þ&\w´\8du\9c\1fðr.u`ÔcÝ÷´\1e\ e®»Ú­²nªDõ\94&Ç#VýÆß&çÎv.©!w¶\82¸W©\19¿ÑÞ͸\ 5qB\7f\82W½ä^4?ÝÞ˪kfÍ£\93ZàªãÜÈ·«Â7Ms\13s;¸\9b¾TD­ñ]xÚý¢¾Ç\9c\9cãF9]»ï\10\8c§5áUíðÿóç\1a®¸
+-ò£sÅwB9\9bÌGæç\1an¨ks°éÿó"í®.+Mño\0çä·µ[ØÜ{{\86\97\1c\a¥ÖÛS\87\v®õÃ×~¾õÃs ºéâ¼ï\?ïç\18¿F«ßÓÞ¸1ÈqxUqÐ"âØ]K´?õȽ½sÿú;ÕmNóÛSJæa\1c\97\8e«C½o\ÊÕIÍÖ\8bZÖÐëo\f¸\ 5me\<ù\96û\bÊÏ\1fè²Éqqbï½BÝÌ\8d껏=\99G1õqÞ£ó;Îõ\1fÿ,P\ 1à* LüàïåP¸ïKw\12\1d?\ 2\vSEýÆ\9e\89ñ@\ 6æ{³H©5m^ü\12=\ 2ëÇT÷¥[\96\85dÛåK\a\1c\86\ fõ{ \1e±¡uî\807\16ýwº\9bý\1fë÷@?ÌÒØó\80\1fêïK·5±©Þ\97õV\8bÿáÎ\0iiüÖ\1eµç«®ë?Sâ·\9c"\îÓ*]ɹ\80Úîô\8fÀÔè\9eÍT8\95©IsÍÜ\©l6\96w]éVçÆÚðUo÷å÷@Þ\r¾.ÿÖïK×<ßoØW\13ï8ÅqÏÒë\13ýî'?ôhwþÌ\8c\13àiø\ e\8d¹\94c*\8eºâ¾«\14\ 3î¬+ñ;¾\16ûUÀ¯]¿?Õ&\17L\8b¹°Õ6­Q\89\97<Gü\96îÞ\r\8f7\87±æðö<Þ\1eÇ\9bÃÿÓ½\e\ì-x-ß7YuU;®ôU°©> ¿z^Õm\«w¡®¿wµ\9cï\97\7f-<®7ô¼EGt¦Ç\95È\99õ©}DV¦áûâëx]ms\17\83ù\18×}èóUî\7f\97\17\1a\7fGz5©t²çZ­çz1¸ÑûÁÕû¡þQ¿\14\81ÿ×7m?yáûêùÊ\17\93E¾ÚÞróªÚ\14fjù¹ê\9dè\933Orï\80WÁL3-ìFܶ¼wû»ÐÆ»ÂdkH=Ïz\eà\15ÜöÖÄÿÞ\ e¦Ãµnõ3æÕòQ\19î\95ùåxYÚ\8fdý2b\7f:¡â\95ÜÒÝ÷¡\9e-½îÝgz\eÌÕ÷¡­t\ 3ÖpHYº\9d\16÷\e\80^\1e\9f½\ 4ÖÔ%ÿ¿\9c¦Üx¢ElOôü®Î«ÎS®\98\9b\fOðýP&³¡ªó\94ýVâ²ç\9bL¹á¦æ©á¨îûÑ·øw\9f.\ 5[y\1cWóâ\7f-h³¯Äþ\ fþ{Ï\8f\ fþþóãÁü[Êû¥ír\86¾ï>¹cY\89øz¥l\821\9d\8bÐ#\8dÝ×÷\9flz4CO\85%W\1dçÛ7QÞ}ëw\9fj\9e\99GEóÍ£©Võõ\1eIÿ\99-Q7\e\e+\85Ýg\80\96ÝùÊ\a\12«\12¶ÎÞ\7f
+£âÛì(j7ÿáÞ~8Z\8eÔQu\ 6qÊíºêmz¸
+xyþX3Å·èé]ô\1dÝ\95óÒÊ\9a\e5\98\9eù[k\9b·ï<_à·ªï5\1c\1fï\ËSÀ¯Øµú£¯êTØóX»\1ek\17cÍbìy¬]\8f5\8b±æ±v<Ö.Ç\9aÅØóX»\1ek\17cÍbìy¬_ÿ¹¬]`:äÞÈTJ,°c\99\ 53j\83\93\8aä¬ë¬×N\15¾l0\v7õë\81è\rÂ\99s\aãp+ÍmOè\ 6^ÍøÍ\ f\99(\8b\94\9biÀô ~Vã\81å\18ü Ï\9ac\9dÚ¿\8687\14nÒxs\89\9d\83\17ã¦Û\18\ 3ò\14¯ìzq\0*\97ö9\11\ 6èx\15Ö¨\fêãqj\ 3­_\0NòÕ\ 1\9f\14>4èq\88
+\1f\1cá\ f\82\80Î.N.K6´Zf0¯`mS\1e
+\ 3É\14;\81à"È\9fõ$Ôôb\87q:\1f\b"\ 6^\87lÍsë\9cÉbsU°¾\9bÀo\vì\11\vì\ 2¥ý\90\1e\ e\9e\81\9aÐ@ø¼Ð\ f½8\83\80ÚjtØ\ 2\80\ 3\1aиU#ÿ`*\9dÜ\10
\99!*¶\14g·îÜË\98\85¼\18D\18L­"Ò*\84&¿±ï\8eͤË,`~\v02dþx÷dÊÌOøÏË«V)µO`É5\8bà!bÌàá É\95\90\18(º'PK7·ì¹\97?\8b\88\89pâ;ñK\17·Ä§\a,"\93F(kc[\vù\80w+üÀVÈÕ{>ì;¡f.'\83DA\bÁ\eu\1fz\1dà¨äSQ¯gß\aß\1f¤!·\8aï\0;ñP¦í¼\10Ì\8fÊ\1a²$\97³ðÃÂ\14ørf\7f\0x\83ô¹oc\8e\9eNvH:È\ f\85§\9ezH\80øR\9e{F|)p¹ÑÎjÛ;i\b\84A|­Æ\8a>y\86\9a\93\99\rÌÿ.\1c×C\88¤\8bF|A¹\13æU\ 1£;yvÐI|®\ 6Î\ 1\ 3"\91E¾à\87É\ 1\9dÄÞH\10J\914g\bj0¤?Ê\14ÙÐÏ\16n[\93x õ\ 4k*nB\18Õ±H\93%Æ       \13I§#\91ç(©5Oáw\18\18\1f\85á9f\17ÂQ7º_       Tèi/\85å:\ f\8báz3áþ\12Æf?\aäÙ$ánKû\19"\95\7fÏ\16ÀõÂ\93ð\87¯~\ ff\ e\9a\ 4i-\93+B\93nI\93#\0ìÙ\f\99r\87¦\91\93.Tùô}ß8Ki8H\8a÷\bø`å\8d})õ\16\ 6
+Àÿ\ 1 \15+¢ÓÁÝÐÔøp\bHNN\8c\99\989tå\ eÉ\97ÚQ\88¿¨Äs\ 2:xcð¿'\1a\ 4È\88m\1f\872Jâ\89\e¢"E\rp³bt\1el\v=\18c1Ô\9940`M\82C¨J¥Ô0°u\r\16u\ fÕn¡*\97PÀî¢ÌáÔ$£¨úZçö/êRV\9b®æ\89\88\97<d2e\80R\96nlËÔ¤¯y\15\1e¹\80m\88ÎÿÊB\ fëHCxµ\850\ e  áε&®ÏON\96öHÖâ\924U|\91®F\f\ e\1a\9az\95\8bû\e\91Ú\81]E\18\a\7fvdË\9eQu\8aú\17C\e\ 2½\16\9f\80M\88×\98\ 6Úî²\b~F!ý\891\ 2Ã60\ e-\80\86¥0sæè>(¯V\12ä\ 59W\1cø\84%ÃKjî\84Øóè\v\12¦F©S"uMÅwDn\99º¦J©S$uL"ìi§[ªdê\952gT®èÈ^y\94TÝê\957sªa\97t\86éÛªo\15J\9bÁÕ0ëºR\1dt%\152\95J\99CªnK±ÆÉ7TÊÕ*eN©\88]8A\9c\945¯½\f­­\8c\12~\19\ eY\93\8d4\8ae§¡\11{Ôù¨\13üÐ\9b¨OóDo¸\9fç&l¢\7f\9bHp ½ë\82\vR\7f\9bX[\13üðaÂ'ù\82\ e\15?Í´-Éþ`Ã\86OóÃ\87\10\a\98\9dÁpÌO¡¯\98\9f `íÊ~\16u$\ 3Àÿ²v$õù\ 2\86\\89\83¸%ýTÔÒe\1a`Ëo\13\1a\98;\97-Î]J\1có
+PçÝ\19\1a5\1dÙÀ;\ 6¾\8câr\aÒ°î\v8ÔåòË-òîM÷Q\ fÉý"ê$r\88\91\82{\89A?E_\ 4÷_Û\ 4÷SÁ=Ùä\13Ç<\82xÿí\82{¯è\82~¥Ä\13õn`\9e\10 \9f\ec$ò\82~±Ä\13õÎ`\9e\14 \9f£±\82r\82~µÄ\13õî`\9e\18 \9f¤Z   ò'¥\ 4 \9cõñ÷&Ê­¬èv\13±rÂC\93   ÒØ0\9d\83¦\13ï9a.DÂc¬\18NÉÓ     Ú9a"    \84\9c°a;7L'jå\84á\8bC\1e0Ï$\v\8c<\81}\93\axQ\97lRb\1c\1a\91\97Â'J\18XEÎ0\ªL½£\azo¿ôè\8b9]ûf\ eøÝúk/\ 1EÞgå]Í\9fD\8e\12Æ\1e\ 6ÇI÷``ðMá&Âx\7f;\bo\9d\84dËÄ<µ¾\8647¬k&_\80ó$\17Ò1mÃ\94[]+çåz0h\r¡q\fú%\19?+ãt)2÷\8c\1eI¿\17×\14^ñäGï\98(ÍIüË·ö>ú\9a\82û\13\ 6tÙíû\bþÇbv,XÝ\91\83>oÇû\1ewº`Î\bv\8aÕ®Æ!ø\82\88~DÇÒ¾à\93þÚ\93þÚëâ_f`Ò\9bò¦Èé\94dtÿ\e\8dI\94±\83PSvó\8d\ 4xÀüǰ\86dËÏ9& 2e©@£ò²üçÎt3&Z£æ\97ñ\93/@â\12äÉ\97¢m£\8a|\9dë(òF\ f0Þjj±Í.ú\\82*'aÈW¹Ì¨\a\96m" ]\87\84¦´g\85õê¦ÛÊ\11\9a×ÁµôÁé\eÓ«Ô;I\97.`Õ¦ùk\13\riµÕµO_Ì\1e¡½ZÔÎ`Áë\e×ÿl\8e \ 5h4\89¤Ëí\185æl\9aö\95Gcì)Im2\93ÔöV\9e§Õ\ 5|IA_µ_\ 5\7f\ 1\83Û6Á\ eÞÌ£Ô~°\97\87ÀyxmL\1eá½ÔÖ^ò\8e×ßøµz\85­øL\e\13l¾¶·á;[´0lÍð&»Ú¨»Ú\7f"ïl`øM¶Cnü£ofù×{s\ 6ÜÛ\8a×fZ\99%\fu°¿¸0x¡\9b\rõ
+\e\83·,\80?(i\81¼ª¬ÿ\1c/¬»\7f\11\14\ 3N\1a\84ØO0\11+_4\11%¯9Kg_Ì¥³¯\9e\1a\bËWäh#\a¤PF\fw®Ùzsæ\r'ó?'ö+ÔvÍ\0\9fM\84÷BªÅçæa\1fئÁ)Y\\b\aã\r\ 3\87%¡R\ 14J@'\94\vÔ\9e\ 3ò\ 6\8föE§\10\ 1è\a¢\15\94/ñ \1e\90zu©\90 \1a°ÖV¦E\0kC]Z\99È\80z\81êÖ¦^\0=`õëS9 \rx6­Lå\80)CØ­L\8f\0¦\ ffµ3í\0{Aí\87Åd   \95\ 2ÐÏs/ËE<$à@6\ 1îVÄ/ÕH\10Û¯|qgÀ.^Ï6\1e0y\0jû¡u\®äɪ³a½²ßs)\8dÊ\9a\16\8f\9bùìîOú|\ 5t->ßñ\9f\16äð\bÃ\7f>$;ö\v;÷íüúÜ1¯ì_\94\9f\90²Ö\8dôý-\7fð\9f£xØ·¼\9fï\1cò\7f°Ï'û\16ò\7f±¯'û(ò\7f¼\9bÉþß^OöAäÿy\9fß?ÔI\8b\ 5úçú\88\8f\18þ© \18nÖ¿M\0Þ>ö\80\93U\7f=\0Û¥$ZÏ\7f@6èÿ¦kM\e\9dþ4\ 3n\8f\0\89\ 6C¿Ig\7ffßÐ\fá\8d\7fcfq@7\ 1¾ \1aÙ¿ \19XØâ^P\rǼ \1a\1då\0Ñ\8f(\ 6\80iW\94\ 3^ÞP\r˼ \1a\0Ü×ï \19\12bÁÿm\0Ã~­úh\ 6Íoh\ 6MÙf¿m\0ÆSK®É¿ \18Ç\97\8d\91i£a¿\8d\0ÄÞ$Éë\7f@2\1dûÒÎýÿ\7f@3\86\8bû\8a\ 1­;ê\ 1¸=ý\0ÊÆÇ\14ò\80k\83Ê\ 1®O(\ 6¹¼ \1aêò\80kËÊ\ 1¯\8f(\ 6¿< \1a\0Òÿ¾\80dI\8acû(\ 6>È)H³d\ fÉUì£ù%6Q÷{&\82LºS\ 5\90ϤþQ\0Ve \v\14`\9e      ðV\ 5\95\82\81\98(\ 2\84\15ÐßUñ\8a\83î\ 6\ f+\1cf\10ÁÔ\87T\9a׫Rh]`!\9bëAwȾ(v½#V\bÁ\94\ fº\ eÞª¶\83\ fìzQmÚ3\8bK°<\1c£f\96Ç\1fdÞ¸%\95Q\18i\80\8bHlK{\a\90\9bl`Êà{\87DX°\12˳°\88\fi\83±\ f¼\9bª\11\10ÆJþ\9bêë\93c\18_ܺ¬iíѺ3Èa£8Ä»*wf\84þ¥Dû\8a]³´þ©DøD»GiýZ\89ð©v®ÓúÅ\13á\92î\1d§õª'Ã¥Û»Oë\94O¹%\96v\9fר\9f\10\97rí?*¢|JYwIæR.­        ÄCåÀñ\ 5\18Q\ 5ÙXE©\90¬\84%gi`¬\\85d)+;[\ 5bô+.$¬í¬\15\80\85dI+2ö
+Ç´+!\89YÜX+\18!Y\ eJÎÞÁX\92\15\97"Ve¬\15\8fHVD\12³¹°V1¸Tm\e'ÿx¯U\94\83½£~4\ f´oÆ\99¨]O´955Ø#\88Zs«­3h\f\11á \15\96àT&    \10\92­LûÀ\12aw­Lê\f\17\80\94­L¢0J\85åÅ RÊWqz\ f\92ìú\0W§Û4¾á\83\92
+\8d³ë&(u\egÖPPéöϪý\9a\9e\89M\9a\9d\8c\aÝ0raW¶z\83Ôiî,\ 3y
\10\ 5ø/ÿ^\83gD\ 5\8d\0æ\ 3í8\81ë·Ë¤yÑ\1eµZuÙ\9b®Ù2\8eRáÚ=m\9dr­Ýæ\09\90æ\81]\1aVõ_UìÆÔ ®ÍuÒ\80K\86\ 3ê~É2É\80sa\81\90øönÌ\9aÍfP\ 3\ 4\18:Ù1Ï\0^Âø\1fɳ¿äϤÁ<¦\95¨´\13à\1c r¿[\ 6\0\a,\17Ð=ÚQ7ܸoW]H\ 4Àa>-\11\877vÕp«Ó\0s\81\85úµ1\12e:\ 1öÃ\9dÿ\8bk\90\0Ã\ 6\1eµµÞ°}8\ 6 &\7fS¹È\80bC\9eýRsë@1A\8bþ\87Öþǰ<\8b\12\80&\82l+ö\8dö\8cÌÃ\18\1cú\94Ç\r\bâ\15§«\93DÞP\8fÒ\0t\ 1ЦÊtAo<\91ñ§£y\93.\8c!\ fðé\ 2 ÿ\ e\94.gøc\81©þ\13\81 \7f\86</\aøtÁ,\7f\84èr\87\8a<\80_\9cl\vMJ\8d«µ{\92Ç\0\91
+ëñGÖáSÀ\91»z\80\16\9d\9e2W\a\0ÞÇÛT'Ë\98.\ e\ 2±\ f´\aAT\1aà6ÐW\90\8dl¹4þEíÓØ\e¸\aE\82hÁº{Ѳՠ ùBÊV*ÊÞæ¡?¯3\16éþÙ²õ      ý\ 1\ 5O÷!\vÛzÞ&·\94\95ÒÓCç¶\16xk³¡Asu\9c\95»¥óÕ÷áÿ.Ã\r\ f\9f½zðÒ»{ã ý?ý\ 2\82\86èPpÙæ:¯/\88ö\7f\1c\9d\f5\9fªà÷?\9b\8eâ"¹Í\d§[ÎûÍ\1aHç-Ú¾8ÞÍ,\ fg'ßx7Lo\83ÄÈìªK'\8eÿ³½es37\7f\17UÓå=~o\15\92ÁYlØ|×}h\8e¡äévÔ\98Ìí\96g\1cÕuäÝT\9e>\1fÂé±ýç6ÑÐ\90Mìò÷\9cä\87\13¯\95ìäõWþ\97\15\83ølIÓOÿääæ\8cú!ú¹vÕyØWàÕ\19ª±Þ\1c]u\19¹ó°\9fÅiý®¯±k\8e\8eêá»\18ÌOA\14¿\rä±\8d¾ZÍ´¹ÚëGã>Ѷ¿V
+\15;¬å¤/Ýç-&¨X\9fÝ\89\b\9eZÕþA¹\1e!>.¦r\8bö;Ñįím_aaãËÚ¾Âr\13\95\7f;¿\97\7f°ÎZ\98\86³ô\14   ÉÇ\ e
+\ 6¿9jb%
\83\89*´~ë³\96¦ Üá¬àQ\9d\8dþ\ 6À7#èø#çÐ|\7fuÙËS·¢
+ãQûý!¹\1e9Çûë-
+\8c\12Z#\86Ó¿\vhW;\0\8dÈrÃ=R4>ç\12\ fa!\17R  HZ\1d\93c\94\0q®dáùÝ\ fh>u \ e*Wo£Õõ­Â^\9b\80´*yM\ fº8\a ýnA\13\ 3. Æ4 ²\1e8%KÖ¾¨QZÓøa\ 6n=Hþå\84ç\8b\fjn)Pk\10\10\97µ¼¨S{\rµ\84\1f\1a\9a\93\82ÌΦR3Ò\12°\9e\8a·Mé\93ù\b2yÍAó\94\ fºa&â4´IþWPd\84"Îa)
+ßµ¯\89\emÏBh§\9f|\ 1\ 1\r~¸Jx&s[µ¶ù\8bµ\ f\9a\117$
+\f\90\8a\8f%\1e±|&v\rî\13M=\ 3ÓÀ\91~3\88´æNk¦c­¹ã\9cÊ®v\82\a\f)3É`\89k:KUÉ­X
+ÖX\913\ 4\88õ        \9dkmÏ\8a\99V\83'\91&+\1dG­bùù'\9fxrTä      Ñ\9dÍÀ\12\b\9b\98\fö\9fÏrº\8e\12\92\rp¥mH&¬2xÑ\1fr\9d\1cÕ°C.\923G4ôÖsYÚSp\rg4RôÖdþz¸÷Ìý3Ú\7f\ fÄ\9a\14\10çU\1c\86\9c²y,Óq\88°\13*¯ã|\b\ 1Îko\eß\9fô"x¿\e\8e  Áô      xiþx½\ 2\7f©\r\ 2Y\84ÿR:\ 4»a\a \1d\ 2]\88\90þF\81.±?Õß@\96M?Õã@\94ú\7f¬£oÂ=e\1d\13÷Ð_éâ\ fpÇ.\8aÊ\b\e\9d\99?Ëî\11?Ì&v:\81.=?\82o½8\15·
+FK\1cx@k G\ 6Â:\12\8d7Z#\v}A#
+\9býΦÿST|#\82}\89\19iä \89c<Þ\fß\89\ 4D¨áh,Û\8a»%@\88\98¤N&\13\92 ìÙÔ\ f¢\v-ã§±$¡\bUÔã\854GáDÈ\92\91\12M\12\bQ9âDÙ\19ÌnßÉ\14A~\0cwXÅó;<\94\88¡È=¨é¢\93ûPÈ=éÛ,éxs¡AíÔt0(@Ú&\80ö(\f\10\81î&\80ü(\1eûC k\13@\82\14\rr\10\13e\ 5Ŧ\83¦:\fæ·\1d\a8ùHBÀ§<\97\90ÐJM>Û\9eiâé\9axÉx\r\ eB\88B&ëð#\8dÐ\1a\17­;knxA®é4Þ©        ±ÌôS\11Óï£Ö\7f1±37)¾        9+nt$M~ëÏ%I\81)\ 1\8f\10\80C\1aF*}.`\83ý®õ\14!\9e<;sm\ 6LJ[n\81+¸ãuoZ\9bò\9cÖ°\84¤Ín\b"jôóÉ\b\9d¼Ðd\84#v­¹é\88ëw\95\1c -9\1e#] B7Ô\93Ù'Ò\92znâa~¢a«=;\Ð\80³²nâ\9aÊ)ÞÁ\1e¨M¹8e\13ÅüMàÌ\b\8dõ5MÝϾèICL\86\0é,ÿ"i\19\94\f[Â(ÊÑ´8³\13òÃ\95\92*\ eÐgw\1d=l\81&øB\ 4\ 2y+ù|úRùÊ\9e\ 4\1eæØÎpÚ\94Ø\8dÁ\15³t\95\12^]\94\80\80+Ò~TÓ­RðZ\1c2\eìª\ e\12^IÄZ/BÑcBÍìPMw\17Õ3 ¼ùe@ëM©\9d\0<Óò\81¤.ÚÊ$Vb\fVx\rç­\e<y¿6¸±>t\12q$*Ù§\ 6^r*´Ô¦_\8e\ e#rÒXúLá\aJ3íÍøsÈõº8ÈÍ\11ÿ\93Ýß\955aR0\84Æç\eì"?\97Å\9c¹\9eØ\13\81Ò #Ô¯¢\1fÔÓöÍ\9bD;µ\ 4\a\92± 7"=Gf O\ 5Cð ò/H \fñoj\1aIq\10Ä\9e­µùí¾v \eK½¨puX#\99³;kËÚ£!Qǽ¨LýM ÞÄMzûC\84î\vn)PÔT\13\18Úrmèõ#&Wp ^\f\96lq°jí\1f\8e$\fðDRøÄ}ʹæ´::FÐ\14\9eÃÙÎt"\8fZÁv\98Q±þ§¸Ð\87\1a<C`6
+\r¤&\89®>\98sÐÂÓ !ÄÔÖv\99øå\7fì\7f\8e\90çeXý5\ f\e\17çMÛç6¶\89»vkH@`0xa¿ì·[¨6%9Þ¢ïp\10â6âN$ät¢\ 3I'Up\87U\6DhV´êÒ4+Ñ\1aâ¶ÜRr\16Íp\b\1fhOÆeí\ 30\88ÀRNj\ 2z\99ßS\84l4"æøä&kÎ}g\ 2 2~©        \bµ¨(tÔ:\92*\7f\9aqp©¼±\15\8bÁ\19\19³¹\1a#\94\88ßg±rä`©Ü\8f^LÖÐ\9c£a\9b)
+ÏU4Ê\1fùØ!\18\1f4/ò\17~2\ 4heê,Öôÿy_\83k%\81ÚSRLvÆ\948\ 1\83\8ewõö-à¶6\ 5\ 1$\90\9bX0\ eØGð\1dX\ 2ö,­à\b\15>Áäà\ 2\87ÌmJ\81­­\8d<\92o;\83\82ùi\ 6e\ 4\94Äþ!q\ 3g\1atTpn\8cÄ®¤6 Ê\16P\ 4¡ØÂ\104ìô \84 [a8f):JX\98>DNs\16s[ÂGO4\12ª\11r\ fIs()W²\ 1Øq Íé·Äçñ\9d\11\86\86k\9a4nwu+\19I\8b\89$A\ 6\87N8ç¯\88ÊN\8apx"å3\16´1¢D\ 3bgsIª\1aIP®\9d\89\12u\12³/8\ eÍS\8f\big|&}sYó    _>\b\12\5\9fe>s;`¥×®8\ f×Ó#÷°\£\9b\89njÁ\1e²åIÀ=ÐÖ/\91O÷êPYY\91\99úp©6ä\84\ 6Ú®¶I:)'öº\18ÑÇ\1d8ç¬Ù®\826$\e_\84l\ 4
+o~@çSf`ã\a¸=v.\9cA_í\b\18=ý3#\94ÐüÄtV\ 6äsQ1\10%#f°UFâ\1f\1c\98<!\14çð\86\98-ÈF\11=\ 3¸_.¨\8e\84%X\13\ 2u¤ÒäjK\ 2$\93ª+­ª+\9b\96I\178.9ìë;ûõBà\94\b^ñ¾kÒ\8d`\88F¨«®\aW\1c¥\8a*\96nU\90\8eÕ\82\91\f O»i[aB\9c\ 5<\9608÷'¦ÿ\8f\98àÑÅÉ>-\9dqmª\ 2B\94\93kP~4òè\ 6ÏIg¹Î\8aô\13kçY\84í»à\9dfüÓÅ»²¡_;­_àO\1cRkRg¢\9fgAuÀä(æÞçu»\89ß)\80\94Û¨üöÂU \8cç3~é\16w\ 3\ 6\99¾-\925\eüz\80 +\12¶K \93þ]'¡,ü4\10\ ev£;Ûh\1c\19¤¸ò"É'ÜÉGú]Ù\ 5'rE\9dì:(\eÃÙÃÁ\fáL7\87eZ@Vâ%`ÿ¸$®Ü.ÿú\fáwOü\r\83\85ûÀh³îÔ\13\ 5^\9fú\89¹þ\1d\8aÅ-¾Åb\96ßb|ð- \1a\91[\83p\ 2\14\7f84åÔ\86ÇÝ\0\1c©<\ 49{Ë=«ô]\r\90ãb \9d]\13´«\90_\1d\14«æ±d\e\1eì\bRp$v\82r\ 4¨(\17ï-¹\83º\9cÎ\14$v\96æ" M-\9c\8eÜáW\88ÜTA·\¬lvC       ²8FÞ(ÆJQ^¶â\ eë¢\ eé¢ZYå5Õ\9a\99\9dº\8dF\19V\ 2k¢Q<\84nìùãä\134\8a¦À8t\å;¢´\95\18õn\89Á\87Nò°DÐÚ]¹âå\e"\ eÔÓº\17ã\90\9bsP\11V\b£\81¸4Ãõ\87
+sý\9d`ýóéV\ 3L?4\93 i\87\11·\9f®\ 6\98uÿ¬N:÷\f?¬ZìÎÇ÷ß\13\1e\97î\17\9e\rn\1d\8aà!p§Ê\a\14Â\ 5t\12ñ\eIL¢.<Î\9e§ÞA\1fõEs<¸ôK¬5g\99^I²®v\8dÄ)\12ï\90&\81\86\804\ f½Z\11[nÆ\1dÍà\bñ\88)³»\e2÷yÚ·þR\91Ãv\19°uÃ\9f\87Z0öåjïÛå²î\ 2,¾rÐç?Öa¶Ý4?\b\9c3A\18ü\81¨£\ 5\8dâ?çpfõP~Kî\82+\7fº@)\1fËT\ 6f»ò\ 1Hÿ\98\8c\19\1f»\9a?qÊ\ 2\938\16Ã\8fN\11\92\ 3Ù\1cjÆQ21\19àǽ /\9eò(rj\f?ª@¸ÄUÜrçáë"UÇ\18$þõÙä\80uv÷Ëõ>ì¯=èÈJù>ì>7ðt\19ûK«\83|CM\8d\9e\92[\17xðuØ\8cV¢×\99»º\11^\17Gå.êâ%ÕÆwè)\rÿû\ 2\8aû¢\90_ûû\9e÷ÒÀì8Èü\9c\8eïõ<?2èW\87Ý\13b\1d\88\81\19Ø\85å\7fí$¸<¦^\v1\13\98\8dÌ8ÏìßÒ+ßç\104·Xb\v=â¿qzí·\e\7f\ 3°\90ñ¼\88lç¥w£ëhº¦1¼cѶ\90\ fU\97\8aú¦>¦®»>\94ùô¿ÐmÅ×-K(\92\r\aÍ\9fJz4¿Ç>\94üb\1f<jë\fúS\96\7f\ 1Ø-ûy\9fJqâ¼rû°\93\14t crèSË¥õgÒ\9dLýûçP[\ 6h\eVs\90\91$\ f2ào\83&Ù i\80îÛE³ô¸¢ý¯¹%C'´\8e\10å\84\1d^\9fÎD\ 6\10'\9b7\13v´Í>Îãmk±\8ct7kZç\aQxß<Çã\9eÔ2\12ü\86Ñ\15\99æ? ¡aà\ e\15Ì\e'#\98ÓÐ¥%;\84\12È:Â\rä\85èmµ­ÄIYàA]yD\97(YíNáM¡c-\85Á`ä\84 \13¨R9°'\10Â\7f·Ï3\86ìÐ\85Ðz\91h2\9dâ\a;\ 1Ïp,ñÂÌJL)Í´{£\8b-Hê,X\bÄE*[Ug\108ö¾=\90\87AÙøU\16hؽ´Ý\91¦o\ 5\aÎ2\13 w»zeg¹A\9en\eíȽo¶\aôç½OÐ7Ì!gg+Ýc\8d¡¹\96\eCsW\88YÛ¡\92§©/#:ã\81o@\85\ 4 û \b\8bî&:8\8d~Mµç§ñýÞߦå{8Ïý\84\9eý¬³õ®æ¢\994s\862\1a\83\vV/àíï»\19YùÎV?Ììô·Þ¢\ 5\8cok m¤ô\85\ f¸õ¸\ 2)L÷DA1»\16P¾S²Ýz\1e4þªCðêð\9d\8e\ eؾ¤\ fÓ\17®Ðò½æ\93¼{¥\8fû\97xÌïYçPé×®t\18ô+×:Ñ\93\1d\8a¯?\1fþa'v!$×\1a\80ȳ\8eÞ\97\1c\7fØ\aêòñõâ\ 6GýUM÷°èÏp<=\86Åf"þó88ö\13G±\0.ñǬº\9f½á\rå¯9JK˯«)I÷;\15\9cr6+8ë\0ÿC\18+\97Gïy\9eàz\14¶±\87$u\1dÔ¼µX\1ds§Ww\e\ 2"´Ðp§¬ì\88ð{#¨sÂg7ú9HÏA¦D\85ÐN\86\1fEs\10\80b¹éhrB\13I49L°\81¤vt&\98ÇPçD0Kh2B\ 4øò{ªH0¶è¥c4x­D^\8cáFâÓÆ\81\13\10¼\84¢»°\11ɤÏ\90RÖ_\98\13\91Õ\rË\11\92±\90ÇPL      \1d,ch)'6³³sBitâ!HÞ\19YÕR   cs\11´\81TYµr\82\aK2¢[E1]~P\83ÜÛ\f}\8c§k\16¡à>PÀ¥\12\81\b3Ï*Yÿ\ 3Ú\ e%\9f­²Zâ´´°ç\ 2w­Bkj\0\8b\9ax\9a©ª^\b IÀ\91©mÝ.\85q\87%ÏÊ \16ôFµÇë\b\90â\a\bòr\946κ,D`®ÕJ7á1i\ f³q\bG«1)£|\ 4\13j­2\a+\a\9bíõ\ 3Ϥ@sÙK\96%\7f\98\9c3M\88ÓDÆÅ\92\8e]¦C©QG.De\81\16\96dTb4͵Y9¬HÚìM}³\8bì%5þ-. T\83\9fЯ\82(\98\8cLÔ©ÌXö\9b\90\8bK\12¢f¨é\9d\ 4ÑË\8aO ¦ábÒ¾\Î\Á\89~\12L,÷\94M\10\8e #@\81÷ÄM"{\81\11ü/}Ê\8e>8½\14\9d\14\¥õÀUíÞÔ\b\87¹Ù}Hþ5\84WèÖs\92\97å¾-Æ~Z_x\18\97%\14\8b¢@ü\ 3Ѫ?\0ó\99Ã\95\95\10\88òê^ÄRÅ`\ 1¥\88¨\vÉa\07o*)È^Keb\1c\ 5ä´jÀxÑÚÚ\16+å·\ 3ïã¢Ý\8f¿\8d.\9a\9dÎÀù±mÂòo\96\8aXMòíQ\rÄ'W@q\83=\88\8aXds{Øw;-ÝöPæËÎ"\ 3jû!\ e\80=­Ò\13<\90ùG}eQ\19Ò\f\94\98\84\8d\13íñEM¨á\v\81æÄ¬\10C\84\1f\ f\98ÊP\87>\r·,rIÍÌÄ­³!0\87§Ù\97zÂJK@s-[\91¹8\18\e0p _}íb\a\1f±g$£\11ò\94\8c\9cï\91\949¯4ÉQ%¯,ü¤\90­[6\91· ÜnÛy\z\ 3\17ìBÿWa\14±t÷(j°\12\84\12U\9a#\87wËñóäbqþåAD\r\96\9d\0çÊÚ\10\89F\ 15\97\12B¢È¡¹\92èc á\90xÐÛ§ã\8a
+\80\81\82=ȯ-­\8c\85Ù_lã\8f¯ýl)Âb>\85÷R%(#«ãT6ü\91ìù|ñÅ\vÿ\94P<ávQ'"\ 5Ï:!\ 1Ú\1cEoÅAùÎ\1f\18\83ö$lÀ\9eBù     ¸JsË\9cÛ.A\ 6[äDY5g6Ì\1ad\99\95!)}Õ\181\16¨¤\aÈ5\ f\9epÂâ\898z î¥¥\93Tá"\ 4\ eÃ% å×
+\9d\v#ª0Q-ÿ\90\9b\11#\8bK\91Â\19\8aF$í\rõ¨\92¬\ 2\81ÛÍ+\81Ï\10\9a¦\88wDPs\ 21\fé=D(\1e\16O\9a²0À\81\ f\95\11)\87è]E4¢iþ½Ê½Õk¢\1c:¬â\8a\96¾Fãt\875Cç\91¥ÉK\88x?\92ËÀ\888Xö\9c;¯ÚxϹ\14-e\9ax¹ê)@\13\9cÖ¡\88POM04\87\ f\ 2³»$áC\19Å&Ô^îH\0\1f8]BnÆQA&ª&~ô«\92\1a\82ÚÄ\1e,øT,eÕ\ f3ÄÞ\10\9e\18o\8a\1a[\ 2¢A¾Fô\0Ú\959\98PÙËç\8f×r#\9f\1a\8e     9N³Ó6ÔÅÓ\89\90Eÿiã]^Õ\bí)HÍ\16)Åá¿31?l#l#_è4ñ¥5V\83ì!¢vHm¼\1e\10\85\ e÷Ó\80\92gH\81í\18\15Tg\8eB\ 6Ad>\7f\9f\84>\88é T¾(\928d *\ 1     n\84\86Ì\89*ë¯#:Ã\8b9G\vÙ±[\ 6àXÞAgòÛrT\91@êáÄ{s\8cr ¥\1c]¾¬d\0j\ fîÚ¢­Õ\vèlÀD\86\96N~ÿ\ 4%\1f¦U¹d&\8e\b¿\1a\bsÃÐâðFN\8aö&ÒuÝGQs pó\rÒ\14hlØÎ5ðØ\fà\12\12×û\89¾ÀÍ/ká¯Ù±£8ÁÄM>lÎ\11xoÓKãè=6³\9ba\1cÐO}«Hí\9b\9e\9b<E*î\81þ!M\96!Dx\1cùÛPþcÈ?\91\87VTB\7fB\9d9\ 4¹ÆC\8fi\90îÈeôx\86m'G\8aì\9e\12¤â\99cÌØH{\15¡\1a        \98Á)<m\17\1e\83îøü£\1cMx¿Ç)\81Ñnºä+\ 4!êÄðOã;¢ÐFÓ\1e\1d;\98\95aÐeÿ\fv\89\f\9f\ e#\16ösfõ Ì3@\1c¡O¹buM²Ü\18\82\ 5\8e\95\19::\eZ\84\r,Eæ{*<ÂÏ·A<Í\99ÂͰr\ 3nÓź½\8e\8aÁ:]`\92AíÂ\83!\ 6<ln\ fV;C¸Þ»\90ë;ç^¦#â\9eÄÒ@ô\92bHÁq\9a>\7fÛ¦a)E\80\1d\82x\81%ýgaÅ\90Ä/\8c\0*ý½\18W\ e³\16É6û¶ã\8cjo9\ fþ!Wÿ)C\ 3àB\9c¤lâ»\ 3èÐH\1eÀòû¸D\ 1ùíw]IÄÖÆ\a L¾âN36P  ùé\98¦\893
+w÷\91}\eÙ¼\84<\8c(ÉÌä¬r\90çÆ\ eN\8aï\1ay\ 4"@j\14î\92\ 4¡ÖY@\9c;\10~; \89 Íû\16\99.-\ 4\0ÆÓ7ïZT<äâ%tFêß6\10\r/Â>Yà\80M+ñe{;\91\96²,óÛ1%{ïÞ\84"\ 2s\10\10G»^VE\8f¹\13¯rw\12\b\9cüT\ 4\97\17¡\12\9f\9d#\19q J½çNQ SÐ\8bIÜdG|Û¢\aüÅdF&_¸D\97$2Á\ e½{ÝcJWþîLÎÉ\932vw$&\f\10\9a@$\0\ 1Y\80ê\81\11&I dH\fY\15\14\0â  å"LÂ\ 2¢dp\12dÆ:(뫵wb¥|*Uj¾ Gk²\11B\0ê\80« º¨.ùz1Õ7U\80\0\99ûûÿ÷{ÜÌ\92@@GtµõÛëçç¾_{ß>^\ 5¾à{\83y\9e·\83o
+òo:ß \vɼK˼\eô\ex\97è\14§Ãíl\96Û¬½ìOê´ö"¿:¯â\87Â\93
+ðöi
+´zb    )û}C\a\92\ 3¡Ô\v\90þÙ
+ÔN<h\9d~\ 2\1es\b\ 5dF\8aÅæ\12¥®ì©H\93\ 6¸\9aÞ÷¨fòB¥¨í\1cõh¶=ÎGPØEðR5h\8f×\fµ\12åBMmj\8eíÀúø\ 4-.\96¨ûÎ\ 5>(ZJÚ£ë¸\v;\19%\eË\10E\17\17[½ª6\ 6º¾+KÄVÌ\8f¬\15e¥:Á²0\96b\8auê4:> ¿î¾÷Ý\88KRç-X\12Ü\16\9düÇwðãYj(:øVcY\82 Æ\84\82!\91ç\\1d\ñàÎ\0çfõe\93M¢ªVØ¡\15\v0t\ 4g\10\8fÏÂ9ìÃ8\94\87ü¼É#ñuTïÑÊǸ'LÞQÔð\18 Î.¢\8c`Åý\ad\12SÈ|»ÖfØ*±\86V\13t«R\9bj9\98\8a\827äFa\ebñ«¦?EN#\16æz\8dï\9djÄÑ\r\88@\8f¨\8f¿Mo³Ù\ 4\1e\81ÖdÊ/jÄè'ûñ\95ë§Aä\8e¯\ e@C\91ÎU[ûç\8d\ eÞÜÅ´ùÞl\90ôÇ\1dç[\92\v\ 3æ\16\19Ì\83Ñ\1fÌÃiV1\1a\94O£èÁE¢ªYP\1fRP\94\10@\84\84\81:ÈÖ_74VQ©ê\91Ü\9eÉ\9cþ\19/\}\ 6A\9e¢¬n=@nS®Ø\11L\94r\12HïDÁÓ\1d«\98\f¶f¹Oô\17\87n`OìÙ\15\9b\12Oáæ\88¦ÐYç<ÿ\95T\v\97\99æ\ e.\19 Î2 7Q\88\11ÿÉé;r\17l¬Þõõ=\83
+JIúW¹((ÞM      \81:\eU°<²\90]2\81Ð] £$WQí\98\8eZëÌAE\89]yáî7Á«us\ 5\1f\9f\ 6\97Uhµ×¤6\ 1\ fåã³LóؼdûÉ1\81\0\19«±°u7³Ýg       s*06A\95\b¦íûÑ\19\9d\8e´×ú\8e\85ö"Qì}O`Ç%G=Jñ\13F-\146ÛF\0^)ØîY?Ü&ÆÅXTÃìGhõ7Ý\83&Â!\1c\89â\1eé²ÙÎ\9dIÝÇD@Ô{u\05ww\0\94§:\9d­Øáëï\0p%U³-\ 3Ñà\8bÖo\96\1e°\8exÙã\8cÎ\ 5¿\að_Î\ 1±¯'£N\ fåò\9a*Ävø#\98Ó<\r³\84\7f8E\98õ¾hP½\1f±ó\vâkpEÀ\ 1\81\82 \14­\a$ÉWêäÇÜs¬ù\87È©ðÌ\1d]æ¿]éÛÿA\8b©¾\ 2zB]¿µ\95\f\1fb\9b=\94©ìÙd¨ú<\93Öµ=\9b9ê>\92j\899ÿ}ö)\9az0\r×êyúJ:JCl¢çñæóOGâ\930IßÈSôÕ],ruß\9d:ïAÛ\9bæÁÙ²\9e\ f8Cý\83*,\16½Õgv\ 6,ë°+\86êT\15)§b\9d\7f\8fD:ÈÖ>\9a\9cëp\118[\81\v·«ûç\ 1\ 4\9c\15\93®ñÖ\vmAWé\eHoÚ\9e\93\10@\19\13\17 æÖ\81\bÇ\94\14\18\8fIè÷6øWâ\87Ñß\\82H¥yc`æ×[8ñ\8b\96:áêï\ 2\1dkȳ#\ 2Ӽܨü1\94\1a-®~3iðÖN\85Î\9fi<ª\91\1f\ 5\ 1åÓ\1d\81¤j[8Þ,\8fÏýR;\90z"Q\97<\84Bä¥:ê(Æn`:Dù({\7f\12Û\9d|ãN¸\9a(\1d\8eá\9f07\9f¤;,3\98\13\92\95\8ea\eÊíiÏ\b\1a©d¬}\87\11\12<iµ\91\8cdBú¼Ò\88Õ;UƼÝ\8d\e\17\1a\ 6ãû\80f\82\ 2\96\ 6\85ý\85è<\8dÎ×b\14Ó\99\85\8f
+\85\8d¨Ï\97j\ 6¡\8auÛ'`\7f>\11P¬LÙ·7\9d\9b"H\b-lCÖ6!I¾\8d\1e\0\r\ e\8d°\8a¿ªBV\9ckYÏ`\v\90ñQ5¬É\e\19\9fa\99½\90©Ï0\1a       ½c\ 1Ó\aÙèR\8fd0î\98=\8e×Î0È\1aíBÇ\\12\87G­ö)Ä\91ê÷;:+:\bÐ\ 2\92ø\953P G¹²\10лuU3?\89~¶3\1a\84)2pæ\93Sít\91\ 6i$Þ\ 1\9b 
+¦m=ù~\ 4i\16^'ús \8cåÊ\ 1\8fÓzI\95ê\17ë\9báEÎ)\1d±\92\ 5t©H\108Ê©\91TFwä\13í3çûýˬ¿«\81£n\9c'W®Êb\8fu˰\88P}ë\eûó\aöÔ,\Ns\ e|\9b²å Þ\8eâi\95XRÙzÊã5\e­\õ3Ñ÷ÛlØëÑ6\vP$½n%v\9a\9e§x\81\16¹8Väñéà4*Û:=õki£ßiU¶\95=õ[g½\e¨        ufÊ]¥   ¬:Qa8k\0¥\rí9ÓX^\rajÅ\83Ì\10Ù¿\8dà\1d\9cìu`\-\e\16\12º\880\12bèß\88\82\8e@JBü\7fAáÄ}h6Üàû+'_|\95*Oºoþùø%\ 3èrºÅ^×\v°8Då\1f\7fBN%*\ e¤ýÎ(='Í·íOhõ}®pá"WI}T\ 5¿\1e\ 3YÙð\r<\84Çw\a¢\rs\85LQ\eð)lÁÔ£«\ 1¢ü\1aFPæãÌ\9473&xó!Ó\ 1ZX\ey\90\0\98\98   7<ȧ´LËÒZF\1a\94×âÌ?$ÍÄÃu<Ã\9b<Â>Å ðæ\1f6dó\ fby\87Ì:f\8dÄýS\ fà¹\98\93\8f0çx³\ eQY\86ì\13\ 6è\ 3¦\83\13I\93S0Ôý$B;³$D\14\90>K\bTl÷\8cK\8al"2<x\8f¹1o\11\ 2U\f°¡ !~ÎÞº3G¸z+Ü:\83Ü<µî\14'¸yK\6Jb\88P×7ÔL[N¦Á°\12@V$+ó\11=0ѧ\90ª\ f!\eH[Å>hÒ\ 6nc\8d\86×þ&\ez\ 5&¥Ï¯ JÓ\8cwç8ò\aÁ|áÈ\1a\b¯\8a¶WÅÈ÷[c³à+t\95\96wf\7f\ae\vL~+Ho´\13ðnç\ 2\1f°2,\94ê>S­\8bù©ûÕÜfä\96Å\8a§\14A¿ñ\1d.\ 5ÂÙ\9b\8a\å*Á\9b¸\bÐ\ e"NØÑ\95sy}\1c\ 6QôI\r:æøs\88v\97`lÏ»\7f­\94\85HIUS9ó\1f\ 1é%Í\8eÍ©ãNá®Íg%N\90@\ 6w\95\9c+¡®WEoØh-Fï{Ú\b@uÌ\89\13çU°m\97£Ó²ùN3ÏÅ;l\88,ú>\19       ¸\94«¯Qx¹rÚRKûl]@G·¾[3\14ÿû\85JqûY\ fÖ\15)ÉÂ\81ÿPT§ÍÞÿ¨*SÃK\ 3u\8dÇÑ@sÕy\1dß\88\10\f\9b\95W\12\12njx\16\11¬\10\0\80\7f¹n©¦Kݧ9j\8e\98Ðà\12\96\87¸ç\ 1)V\8ff?l\ 3O\9ea\9d\16òµ1àÕºAa\ 5,Àý°\9fa\9fj\ 6Ô\v\18)tá2\ f±\1eð4ë÷,Á}ÃRJ\ 3\13ÕB~\8bê¼
+zxÚ\9bç
+\17Ñ\bZ]\ 5¤(\\18G÷Hmï°ýÒ\e»¨÷JÉ\81L]èßU x\87Å-2¶Òä\ 5±\14Ñ_Hó\13a\99¼kj\ 2UÙ{»[\87gÆ=ÉV;¦O÷)\83\e\ 5\9cgRÔ ÄËHò1³ì_µlx\ 38\90\0\ eO!À%ÂKæ\7f¸L$­\11}}\93*¢Ù\ 5+\ 3L\91É×ácǽhå^\v"~ Zu÷©,åàø Î.($1,\0Ù(zSÃâ\87\9f\1fæV\87?³f!£è«^°zÜ\14ó\96±\19\15nM}6dp¥\r«\1dàð\1eú,\ 6P@G÷S\9d»v?<Í\9c\99\89ï÷,\15ë&aà­Æ        \84ËG\ 6è\17<#\14\1eG\b\8c\95£TëÿmÐb\94\94\v¡£Ç\84_bM±Hrü·¼89\91ä\10û±»Õ  Lÿ\91\8cÔlD9\7fáá\81\1dø±¿É\ e\10\85%,&\16§\97ñ£c\18ÀJÝS·\ eÿ?ÝYV£'^òc\fÐ\82ã²\9d\9cÅ»\81Ó&ðöx§Om\14\7fE1\86¦<O ¸\89\9e\1d\81·\87eæ0ß|ðë¼HuÎSþ{äL¾6\19|ýk\TÛŽ\96\97ÂÏ$®rîMX\808<q¸Wdºj\89òo\9c\9f\1fï\9c<\7fj®?ß8¸\97÷®!ÿƼ?\1f\16\1fÈ}Hi×b\7f\8c\9a½\1fÝÌË\1dò°§]¯7\96Ú\8a\ eÕÞ\v]mW\12\92."l·7,^Üm\93¹ü\12X3Y¼ý&µÝ\9c­S\etfÉÎ\vÓs\a]Þï7É×YÏÁPÖnÜß=>ôÐíÓº  ¿\89Ý\ 2s¿\11 ÿ\9f\9f\83`íÌÝ\96q\9bº\f\17¸î\82\r\90+y³v/ ÁGó\ 2,\ 5@Ç^íÌ\ e¡\94È\11\1e\ 6±ì\ 1]\90\9d\ 4f¬.tG0\v\82  ÔJ\vÐi¯S²¦\985ùÞ°sÓ\r\88{të½·Ll1Õ\94ZÐfGì\13®ô\8d\ 4\ 3\9dþ\v\15ìæ?=\výÓdü\8b\1cÎÃ<m\92\9dç     Û\14BlV\vÈâF\r\8e°\ 5\8f\82Ræs&z¦$û\e\ 14Ôx\87Ô\ e\su/à$rM\ 3\83Ü©KÏã:¸\7fØENg\7f\v×.\84\13i&»g­W\89~\1fò">\bù¬\ 2¯\12ÿÛâ\9b¶¨¹ÿ½\éôÌùþèEãî\r'fÖ±-\b\85,ÙÂH\1c®¾á\8f\v¾^¢¸Pó\85sp}ÛÅw\7f\ f
+à(¹\9e÷¿\17¹n=ï \1c\1c\18\9bäÎ\aþ\9bÝx½ì.ox]\82\8ex+kÓ\9b\97áéÜ®Áì\94¿\e\10ü\11)½ãÍú¡{éø÷¿H^ñ<{ØiÆj^¸÷¼¨½£m{ÿ;Ç\ fÂÚ\87*àoýbæ)?\87Î3OG"Kr\93\1fË)ÙÞGD0ÅUÙ¹½ú)ê¶\ eà%æ]\8f\fð\13sy\fÞX÷}8L\89¼Ö°ux²N~f¼¶§¼Õ\8aÞÛ3G&2G\83=&t¬:\ 4\9d8        \10]ù8\16sC\8f\b\98¼\9a\15>\9e©C\7fû\97sð9\8e\8eì\áé\99Ñüæ\9f\86y1\93z\16©¿¥>\r4)ë$u¼\ 3\8a\89\ 5\10H\16Ó®!,öC\81üÚÜBMÜ
+Fsð)Û@b\9dr0\88°iãY;\81=\1aoþêZä
\ 6¯ U´\9cl¦¾z]P! \96\987\86júkíýýû}õµ7I{gdv3\aí\8cÁÔðbæ\ e\1a`'\9au\ 5ÂuÙöi×fZ\1fmèå\e¯¶ô½\17\0³°§_ÎGë\ 5y\8dN\ 4´_E¹Ï\82Р     Éæ×ç\ 6\ 2`9i2ÿÞMMª­\ 4\1a\8dö^b\8fzè?ÜZïs9%\ 6Èo|6³Tl\84nÒ<Y0#;L:\ 6ÁôØ­UÉ/d\ f9\85øóù½ã§\\0YÕÏÀq£6]Ap\82²9T_4qLıſø{\95çÄê!·>¾úТ\14ìÍ=Ý\8a5_}jV¼º¶©A\9f\98¥§\8e\1e #X\1aá"-#\ 5¡ð\þ\90\95S\9enN*s¾Y.·ë\98F\1c¹\84\ 4\13ÓAXå¡ÞÍ\vCµ¸Iaû¹)¶³\97\ e\8dÖZÍÍ­\94á%ÿJòZ­ê0Z¿e\1a\9b\92ܺUíÿIW/±\98¯\1c¤¡qóØ-Â&\80Ásöþ¾{ýq­_q¿\89\9eõp|á=H\99Q\¸:÷­\14Í\91s\14J\\82\9d§¨§R´QS÷\9eÿâ6Å;Ô­=ä58§p(÷g\7fÀi~Sb\89´\8c\9cý¤\9b\8fí\a¸'èå¡\9bI#\91çr\15\11ñ\ 1\eþ$*î"\17\9böÛñÐ¼ßÆÝt/7dÜ\87<Çênº\17\9bè¥\ e\85æÀÕ\ 2\b^n¥¼T/7¦!¨Ô\8e\9dºÈ^oÅo\11\vͽnt3't\88)V³ííмÞe¼T/7\14à÷«ZÓäÖ±íÂ_\18Þ;\14%ñû©.\9cCíÃ\17\1eÁkÀä&;ð\16#Æ ¿äC#Èb÷\ 5\1f\84Øýá,<Ä £h-´KÛlŵRöÛAmÛ/l?z%ð´«ÛW\vné{`Hôü.ñ{nü[wÊÛ        ïV'X(@G«\ 6\147D­§X-*\95´\19\9bÕöÊÚR\8bM*¶\80ÓMêû¥m\aóÉþ¯¼VÒdZwÊÚ_É6d¯\8bëâÊø¦¾&¯\88ëâ
+øv¾\1a\90³¿ð\90\89\88pÈ¿Ù\17®Û!Ð\7f$¡åÂgB+Ê\97²_h\9a-\83ß\7f\8e?*Z\9fÙäæTõÿø½\fÕ)¹0:\0£\9dÁdåaÂ\1f\ 5\11üô\96ÿqÀ\7f\ 2#ûâÞÊ\1a©Û\82sMvþ´'9ô-QõÇÒL\82}3Waw×¾        Í\8c^·Ul\16Û\92\bÃn\8c©ËÌK\8fzé§\7fP\17Ðçg(¶¾áÅêé+\vø0;b\18Ã\96
+\ 1Í^80á5.Kâ@\18Üy\94Ä\85Ù.ó¨ÄäãX ò\93\12=ôO(±4ÃÊ\80z;Ä©$yR¬ò¤õ¼©§VT\0\88C1&¾\18\10à\8f\ 2\87±ú@ÂiKî°gãQ\90½÷\83U\97bs_ÍÒ\ fx\vÆÊÅ\ 6ê\ 2¤\95ÁKh>9:X²yt\7f¹à@JÈ\9c\7f-otÅRA ¼4\ eW²LÝ\99ìò\ f:Õi\1cýT\14»\92\8f\ 6     ÌxY\12\1a¼p0qË\KÕ\816\17Pò]TIt\13$ñÒ\9bÝ
+J\ fx
+Lú_\88¯Ä\1a¥\10y\1f\ e\92V}¤PR¾\9f
+\89{ ;\92_ ,       78ÁoH:Z±'fÛ\ 5\19L'T\8e\ 5²×\ 1k,
+g=xµ\84õ\10·\81X¿Üþh m\v\15|\15°NFJ\1e\84K    Ç¸(ê[\ 3\12\84Â\ 2>\13`\8e( 8.ÌI¬«yý\9a®¥R3wæùj\91«ó\91òPU~¬\8e*\87\aÇ=~\12£Lþr\1c\ 5R(Íd(yù\vL^¡\99'Òý\84\91Ã&òô3\84j\ e\9b\vª\8eQÖ®)oå\93xt·ý\99÷{­\87c£ì?Üp #ð&¾\1dæ$¿¯\ eñ\1fÑ\87}     °ï\1aèçK\1e\1e\1dáÓ®GÔ.\95tßÑjsÒéfKßA\1fñª;bVÄOYµ¶"ká\85ÀñîÃ\ 6¥½OÄ\anºÆ¥æh+\196ÇbHÂ\81­¤\94>¼êÂúëx^^bkä\87\vÈ\94.\ f\9e\0ÌÐèÀ¡«\8bQV:fUAÚÊ6ÚÁ@)SI\eÄ]ø\18Ã\83\bo%\86ºs\9d|¨/µÉhçÏÃÍ¥;yQ[\93º\8fº\94N4\ 6\8eF\ek\11_\7f°Å»Tqƽ2\è¿Å×\wÓ\95/Ä0GRxu}\ 1Ö\91\84I\81\97:²ñ¨h­N=|¤%D].$\93Á\80ãW\94T\93Ä3£§\87PYKÇÇh\87ÃbÃ\a\87&ÛgÉ 5\80v*2\7f¸`K©Í\16\ 5%\1fb\19µÿJ\1e£PÕÝXD¡`YnÝ\Á°W\9aËa8ò0\1aI$¶àkLk\a5\89?"ÍÌ\e\15\16\ 3\9aÐ=×à°¾ìM0\1f\ 5\92ñH®î9fé\8d\80-S61®`ìßû·\96;Ue-hæÿ\89J\r\8a~FÆâLé\16\93\15ÂÚ\ 4\8b)A<¹è\155ZiE×hP\13ðç)B<¸\1däZ³\85k\ 1Bþ>×)»
+~¶\82²\8d:\17ö,\9cÁe&æ\0h\19\b\82Åÿ@\9dwS\19\1a·ªÈ½UçÇ\ 5\12áó\95}\93ó\95\9eØ\81Õ" ó¬è_ë[\0¨Ê:G×\82èì»MÓÿ\ 1|\e/e\1a]ÃRi\8e\98dGÚl\97\92µHç\87Úm\ût\1eG\11Eo´EK¯\ 5bq0t¾æGC\1eÇq*|àN\11/¯ª\1a\ 5ë\ 2\18ËS¦\92 ÆÜ)DÃú\a%Òuú\81|miË\9a5\81>çæ 3Ûn\e\ 5å\12tôì\8fù\1a\92H\9dºj'\vsïÂE-\ 4¥VJ\9d\1a÷U%l+ýv\93Éê\91ò\ eS\15¬\1a\9cÈÜ-%\1aóÝ\9eóá\95å\9a÷\90N\8fâJÄ\8f(íQµ\1aQ\ 1\81\ 3\9d\87|`l´~C\96\99\ eêBÐüú`\82Ð?\17L\1cSXº`¸jZ        \8cï\12sZ\82\8då¯\13M3ò%Ñ,\86\1f\93.\1d\13\a#/\eñxòåâ\91q\92ïêxä°J\94´\ 1i#\97R\8c'WK¢\92ÂÖAL©É\ fUFò(V§ÃDô0x
\9e©x|| `ÌI\85Ôþ\ 2É{;L±¶\ 1\7f\94"\97½\81\9d\81\87\80[Y:\1a((õÄjæ\99làÕoHÆÔw\ 2¤´æ\ e´rý¡bPCÊAìk\9b]k\a¼±·\1f\9aA\98!sMÜ\15!Ñ+K*\182\e3]GÒñ\17U:Á¤GiCI\8cz\8a\9f\17
+\19ös\87Ê\9b\8d?6óÈ\86\8a
+R§\8e¶§\80wG\1dà¾ÑÐÑ\1f\9d\12øp¸\8fÙoͱØ\83\v \1aÏdR\19\1d=èø\8cáôÎBçêkÉ'\16.Å¿\95W\10$\13\16_h­\18þæ\a»ùáÀß}P=ÄH\1e\8c v³Ì\98AD}0c{\1eþÎ^\ 2$\80\11Ç\16\85\eV,\ 5Îr\ 2=û8µ§õ@ö9\rPT}³ãwÉ\emÊÇ!Ý\16\¬}s;nV9ãy\93Æú\ 3ÆôÑ#x^;\8f/X¶ ÐA½\12sD\ 2î8\9a\8dù´·g\r\12\8bµ\ 1fÖôpôÁèY\85e\87À=üóú;óË>Ik¯ÂX\ 1ÕJæ©\80õÙ5\8c`Ez\8fá`÷çµÛ\1aér\16?\7fäFuð¶\18f\ 4·{\1dB°}\87AïÏòÿjÚ\9b\9eÍÓgó\99\9e¯0ò^ÿ\96ÀKá&¦\9cK\91¤v\ 6\88ö\9b7\9cÊ<Ìæúî4\1fîñàðú.|@PîÕ\8a\rXJ\17_\9f¶f\ 3öÃD½\9fî
+úrLÐ\92Î[\9f\95Þ9]{Tu?ñf>J²W\15²½¬m29?¦Wä\14fu«qùÏÞ¬Âÿ\9d\98¡ý©~\1e\18ë\vj\85ÛÏ\8eBìò5\v¶]\14.ÜÛ#\91\9fï9Ï\7fôóþwzÿ:³¿\9f\90\86\98\87îH®\1aÖࣷå\7f~;ܳ1{\99\1d}\0Ø Ó+öâ\1f&oú\8b\ 1\9f$i\rÜôV4\15\10u\7f\87ù®÷_CuìÐøô~~WÆ¥øý\8b\91ÙGs\\17äW^ûeB³>ÍP\8d_ß+ç¶T++üÊù¶T++àÕóàª\11¹ýUYr[¥nï\96\91Õ·Õ«çê«ç»WÎBgê,\aê\84u\7f\8eç°\eÜv3_ÅqoÞÜ[û×\11ÿÕqoîÜ[ø·\11û\9eÈKsÑÆîk±?à\16á×\v\83÷\15â{\92\8fss^jÿÒ(«?Kûù\97Ëk\16\8f+Êÿr¿Ü¯÷+ýÊÿ\7fó¦UÍ\1f¡÷í¼k\91\ e3\98ÔÓjsÚ\97Ú\9a­N\97SÞjku:¿÷\b\9\82èÓk~OoÇù]{sê\ 3«ñ#'?,\8a\eÝ\93\ 4.¨\84*è±\9eE\1f[ÑõNÐZ\9d\82*\9dÔ8úZ.ZI\19vÓ¼¿SÌ\8a\95\10©NÊP]²SÔ\94¨Váô½\88ª\vÈ\17Q,î{\1a9ùé¦\8d\90ÓÉÞ£\18IË2\92\94i%ÚH!¡¶;\1dÌ\1awíTc[9\1cxÓGÈw4}7GI§\93Ǣɣ\19;ÇÕ\15`h¤9I\80ú\80ºÉkãHÆ\r~f\16÷Û¬;ë\16\98v\99zÙøí/r´â\7f9Ä?Âto\16t\92\8ddyª\ÓV)\8bHÏï\9atòræÊ§&>\869\91ó\96\13\ 3Ôd\8c\8a\82â\11s\97?;\ f9lòTtsÈJOÇ
\1a\15¼ùó,Á\ 2Îc\ 3\ e3\8d9q®\91!£»!ùW0Ñ\8b\1eZ÷IK°©c¡Z\92ÓX©eiÅO       \98ð\93èed$åãd\10U\97\1eñ¼9P\ fû@\19ãùY\94ÿÌ\ 2QÒ&Õ\12}
+ÙÖQ6ÅVÌ÷\ 5ª\9bT\19 ½Ú0ÚÏ$ÂM¢-\11A\ 6\9c&\91\91m¸"ÚA\84\9cz¶ÃÚéÀWpÞðn\eÞCØ\9fKs±>vZ.ÄúQ±?\1d\e\92£¥\9e\9d>áF_ß±!\93\ 4\e2¹Ø\91mtgKIIC'9\1aÌbn]©9\1a©6¨´È5Í1A¢eg\8dkñÆ ÒD¬ñMzøÁðe\8c\rµm\ 6\92\ 5g}kPk6¨  \1aìÓ~\83F\85d\93M\ 2\r#ÊeÇ}s/Ü\892Þ"L¼¼I\96V$Ëu\872ÊC\99dÊeÅ¡)ÐÇd©FѹèÝ/r.9\192ÚWL<rtÚL\9eS;\94¦\7fTþ«'\946{²´Èe¼\1c/àËi\ 6Aé³Õ\19W\8d\19\80\\9a\17\15}6\ÐQwË\1a\10µ¦8Z=ËSB\12Õl\8aù£\17¡áB?\1e
+,ý\8aÉ\9cd\15óöUlklýãÑ_?n%\1c£Èô\v¸þ\9f\9f©æ\98­¢II^ª¸\ e+zQ\9d|<\aáîÓÆ´\89\80÷RÝ©m&\1aá)Í\96î?íÒ$IfËż\97II)6}]\8f«C\8fìÕ£0®)\8fä¦xÏ2\1e)ðõWÅCÅ%uVº\96ª¶ø\19K<kµ-Î\11\9aáf¯ <\12v\98Ä\97\99ʱioè\ fgÔ ÌBdç\91\90HG¨i)eÐ\87±\94\Ü}79©ï¦\ fqsf¶E\9f3êFÀ¸vN\15²4ñD\83ll¼M\88\8e¨f²H3u<o\19La¶%OÏ0«Ì!ÑÐt´\95y\86\8c©(z\8a
+m&c'Ló&m8ò\99\e¦a¤åFPÖT´\18ê6t\94´\93RQÍ\va\95\17\®K¡¤\9e\92º4muðê'$0\1ev3ñÿ\9bmM\90ëðô\82S\12~VS \95\106Uy¤\ 4R¯4Ñ\94ó\9a9£NÔ43óBv7\9b\83y³7\9e\10Þr\ 6ó³é\r|âÊõbð\85\0\8d\v\16\8c¨\ 4\99Р     \0¬¤\re\85­û½Î\97\13(\87\v\a\ 2\18W, \85\8b\f(\84Ó4\8dª\188\82\1a|Õl\97s¦Ì°¦hÑ{\8e\80µÇ\90\85
+\16\85\ 1\87BÖµÒ*út+qì´±u\96Ó\1f_XólÚî{\11\98&\bh\vÈxd_\e=³H?ª\1a
+°Wͤb\19\19qw\19\9d­¡<°ÓwÃ\96O,J yXÑ]\ 1üÏ,OC\96\1aG-`ÌÒȼ\føéóM±òñ4ùuBà´\vqþý\ 2ÜEÐ-ÇÛ ^:.\81n\15Ð-Çú´\vqÈÐ-Âú\ 5¸\87 [\88z\ 5¸þí\ 2Üpô\v\81n\17Ð-Àµ­Æ¯ [\94x\9a\ 5¸\89 Y¶Ö\9f6\8d\97Ð5ÂÙ«dµ\82'Ð9ÀÍ\aÙ s\88z\aK«,˯ ròËE¬\1a\9f\ 3>\9apÊ.¡~4<:\8eºK\1d\8bí÷¾_F¶÷ím2ÑÓ\9biT7¶\12¼~ª¿w}ï÷\1f\1fô\9eN\7fõõUþ \94­¹#\9c,c.Hå\9f\17ªÁÜ\96\14¿¥u2ñ;Â\9f\10\8ceÆ\òpÇUËÑrßþ31cêyºÝm\ fÕûR\9ex:ª\7fýJyã¹ß\0±\7f.Ûø%<ñð\906q_>GUËÏ0?ñ9\9bå|ù\1dW,\9dª3x~|\8eðÿ±8îc.ñO[uþ     O>\1d^,¨\9d­å\15¢{º\99É\15=ëfJ\94\94õ\94ýíÑjÊzM\8d:\15 \9f]?0àô\855\ 1\8eí\ 64W\ 1æÿ\89\81Uæ,Å0\93Ä\1e\9b÷\88\8a\90
+b.ù\ 3¹ÚïåºE«Ó,¡?æU¥\11M)òÈ­Fb\9fÑ\ 4AÓ"kìt\98\1e¾*odnJ;\19a\96\13ÙS¥º.\94( íµd8ýô{g¨Ðh¶Ï1 ê\8a\94KCchÚÇp\898û4õ[.õÎÎÓy¾s\88õ3\91\9c+\ 2@Ç       ê¬ñ\1aÔñ\9b\14õ[w8\8b7)Îíªì¢·\95:½¼J$?¡'\ e\89\ e*énjx\0\8a¬½\92?Mß×I«Ózm\13Ö\ fÌËTþQpÉ+IduUÔÌt\ 5I\ 4Sù$â\88\ûfjVY\97Ð\1c¨!j%Þ3:\bn´é´V\19óY\95\1a+\871ôæ¶*a×<U3±\98Cc"\93²dD³Ã\83FsXë\84êÇáfÿÝÐÍì{4Åo,tCÇû\8d\fÝ\9fe\e¯\8ed\87\r\ 1ù¶T¹\17\83ê\15Km¡PøM߬'mg\97]v    hìIßVM6y %È>\94Æ\87\ 3gTÖ­\19\91ÝSð\90¨«&næ±Ã1Î]*î\81ÌŧçkÁOD\9dÄJ^©þE´7'\9c\ 6Ry_¥' ë§p3÷¶\13¸\17\97¸Àüü\ 3\rüpzTåNÅ\aÏ\88\81ÆX¨Ï\9e|ôhÑûSUÞ¾\9f
+\1cÉ/¦\9e\85]4ðÒVÊ2ü\b\14EÜÉï£èø\13Lw\a¨7ÙÔîa\e*gS"Ï$æPßð¡\eL\88ÿ      h       Pó\17\87\9aÿ
+\12@\96yÛ@"²U:)\89¢¦ Í)Ú\1f¦¼`\93:\9c³V\97ü³:(K-Á\89ÔY\ 1>¯U*p+Ó\12\0\94þfI\ÖÇ\ 4¥"¦\15®FÚJæh\8e]ªÍ&\12\14\87\83ú(_Ø`×\94\eiCj°\92î\9a`§ÀrëVTµ»\9c\178ö=\87Ó\85sR6ÔÈPAZóÒ*åw\û»\1d\9fÏ\\8fE"°\89Ý\86?ußbq\12'ª"<\91Âì\14ü\82¬´\14¨ÝS\1a¶§è\1e\ 5e-fþd\17f$\1fÌìÒU\ 2?\9bÍOTùAÝ%\16\9a\7f\81¢¬GÆ#\19ª\97\99Á·Â¡ò\89F&\15zïñ:\ 1'hR\7f\89Ï\15\80oáñ\9eK\ e\aQê¥4\91ì\86\1a[F)VD\83_\17ÏÁ³\81ôçìu¡´­úz¶Ñ~ ì¾
+àR¶Ì?±\ 5!÷EÄ1\97\väÞÉë<4³p\11\17\ 2\95I\÷\9fA²|ÌðRó\8f\r{"¥\81ÈÓ\80kEö\98³ÆÅ\98R[Ëè)Í\9bAM\99\18Î\ 4¥¸<M\ 5\v}\ 5 ¤\f\1e\90\f\96\16odòAN\8cô\87\1ay\v|Y×ñ:\81\85\1c\85¶[ý\83g\97ÀàÜ)\9c%Â÷üÚ¦5E\83ì÷0Ñ=\10\vÛ¦±\94yu7\8fÜOF:\8d¶¸\8c\e¡ÒÁ_bG»4\0\94íH\7fV¶ë\91ø\9a\95_´ä\\9fÖks \9f®uÆ`ûè·ÐL\88Ï<M\ 4Ý\1e\94fYfà\9f\1a`[IcU_¾y/ô\95ÿÔ¶Ê\aSo'íN%_{³ª7\8c\93\7fX)Jç·¶ø'+o!í\94÷7 F\91\ 2ñìÀ; $w\8d.pGè9°\bè>\9c\11Ø´¸Á\18(ú`Æ\7fNs\16ìÎïÍñK,_ÈkÛ\ 3m?\14Í5HÜ\9cMüp\855}\1a¢ïhrÀ»ÛÕ¥Ù\ fº\8ch\9c¸h# ,\19\9fª\96\1fE\1aê\92 \15K\rÞ~\ 3K\ f\8d\93Ù:©lX»Ët\ 5ã<\v¿¿4\ 4?\ 2\ÐùL±dõ\96#dó±¯\e\93ð;<FÓ:\9dSqð·G\\88þ1\r`I8p|¦\85}«ü#\8a\ 2\9ft\8eøäcÇ\80>\17\ 1xgÙiìÇÃÒ\gßÛ<
+ªãe±.18\99÷«KR>­\80¢;¢ÝRCê×íR>\ 1\{ò³îãâ9\97³¸Ç:cöQ­º\8a\9d÷Þ\9e>\19~\0Ç\\ fýS¼\rµzÛ\ eõ\9a½lß¡?t¬\97\8f\8bÖØpÊþ\ 2\90ÅZ\91\92\8b£øÇüì[lÚ\ f\81ËÑ\aeS¹Ý¦\99²\19Ý\9dßêx\ 4ASýèF¹¹©à
\15Eâ§|UT9J\9dñUQ$*wª|\9e\8dì2îlhÉÝ«:9óõ­¯ÄÎ'\Uê\8fsíW¹©\8d\98»\80\8dAÊÁ\1eLô¸Y&vÔÌÜ   étUŤ\95\9b\90'Ú¡\95\83\92êT$\15I\ eà\9dÇRú\1dm?£Õ¶<ãú\95ël\a\f\1f\1aùù\8aUúÛ\ 5\14\19k¨#\O¼ßÂ|yðU#Ê¥Ð3q#Òþ\9f\9f\80\9b\85Ö{Þ*>\90\9dVKlHÈrÑä\17y\9aÕ\8dú³\91\93\96È«Ó8Nle\ e\16õuÈ÷\91Ä&k»\93ù\11`èS`uRS÷£\8e\94 \by2Á\að½½ÝT\88N\ 4P\86®9v\83ÅG\90%O&»D\98ÿÇG\8fñù)\15¯¸þÄ\8a×\96þä\8a×|¶H­rÖÉ\15¯x~ç\9bä¬\91ZþDb\89Ã\7fØtS]±<\13#õ$V¿\eý)\15¯Ä\88\91ZÑúÒ+[û\84\8aײÿjEk½\7fZEk*¬xøQ ¥z½§õ¥c§~Uì\93`\14\86LQ\80ð\8eâ,"\8dAÞº\8fxÏ+xå\8dxRò³\89ëÖeIéÏ w\93Å¢°y¬â7·4ë·Ø_d  ´P\95\8bõ\f\1eÞÃó[AO!^\86\91\1c$|ç·Ä-\8aÿKxG^Kq\1aBYõY/-þÉ,ti8èdr\9f÷¯\eÿÎ\14ÜÃ\1e \92\a\8a¨rÁ\8e\ 3¬¶§\8e33\99\84ì\93åÌ\e7Z¶þ>3sØJxøÇ[Ï\81Ö\v~ëiò\ 1+\9fcòFº¬yy`Nb\8fä;-¬Bѹä \9fs ÙÍÙT1u\vÓ!HX÷ß\9bý\99Û¬ÞÞ¢N\ eÜð<aà{º\8f\87\89Ñ\1c®k\7f\12ñÞ\96=\81×à2Öj\ f\88«\ 3¤\ fE*Äëby¡\ eC(\8eß\83.R\r\ 5鸞ú3°\15³Ò3\8d\91³\96¿¢r÷¯«"G³*\87\10«{¬¥ÝêÕO{ä\9eûí\89\8f¸þS9Æ\17ìL¹Rý\r·¥_âVºß£Aýtî5©²|3üW\1e\83|¹¼ù¸ãµüx£'¿\93Úµîo`ºÍíY\7f\ 4R\97É\110|\92\87§È 6\7fjES*(]ÇâùlûæÙæ^\ eáÏ\96\94\96G\85¨ñ´·6øD0¸|\1e"s
+ç¨Ädr¸¼¶_§Ëåò\99\7f¤,GÿìDAÜñEøtñ>Wû\95G«û(õ\7fðüCO\99.è¯\17ö
\7få¾X¿°t\8f÷:Ó[ÞàY{¸·ß7ê\8cÐû6y¶]ÔtæAò\eÙÇÜ~F¾gàÀPö\9fh­Oþ\8eE\ f\13\90³ÄäYñEl¾\8bCÿñ[/Z\ 2¡/N¨\8b²ûKl\eí\ fý{qþã³Wº\13ÿÏ\90禾*F×ï\9fèíÇà¹Ï\8fëÎ\91ìéÉß\7fw!ÏKÑ\1fé\11Ýj¾|\8eA\1f\9e2\8dØ\9c\8f>G!Ì~\17=¸Ð*c§ô\1f»·\1fþ5rWZ¯\9f\15\8aÌ~zÙ\ f×\93\ 1ï8çË!<\87î\a¯\14ö;\v°SDE\95Q/×Psa\ 2À»@ªCåy\9a\9d\14©t²ÿ(Yõ¥Óá\92ðê\16é"­\94vC\8cá-5@\1fÆÌ\16ä4)ð\1eíÙT*(÷²7\85ÿ\a\93\9d@\9aY3ȵìÐ\8dAKÉáôJÜåhÂ\8a'\a\1ePjä\87ÝäÚ\9d\88\84\8fÃ\1e\0WS}\89½/\87ºãõò>il=\13\89Ðty£[ìè\1cíåÒ\88\19Ò\99}ñr»4[¢ÍÃäA¥ØE®\85 ·¿õäy¬7e]\14ÂíI½7\14$ÒO}\9d\1c\17r\14méiE\99Í\8fºZ|êùH\95¶®_ÍD\9b\7f&\7fì\9boi×Kb\r$\9e\93ÜóÓJ!\1eÌ÷\b\19õù\1d%È_ª¢_»E\9d4i\81Ò,\99ý½6\8fxüq¾\99#¡æu¸9\96On8ãd\1a2Á0;)5S×CßýRl|\8d¼\9a÷\8d\8f&\83\8d'Õ$Ýî$\9c\15Ä\93V$\82j¹f\929\92µ\ 5\9c¬\1fòÊØs\8b\zøõºP\1eÙ^ìarXªæ\8d\9c\ fMàÉ©´`¬¤\9cS·>u<×\85¤\82uÞ¢\999S¼Ð·\8b\12\ 2í\87\9d\8b úÉâ+7#¢Z\ 2;X\13WZ¨\8díêг@úõû^Iv±5JàØT\8c¯     Ö\13Áý
+;4çääü\1fØ©ñQS:F\92Ô»\ e|å_¦JÒèÚ-º\1a0\85¾¾û´i;?Ù\99\99\92a$\930\84À\90\b\90d
+6\15¦\90_H`\ 6}&\11Ì&E\82
+\8f\86Ô¬\fE\17Þ\9e\86`\82\83`À¬ÌùúÑ|ݾ¶ÛUo­µmµim$\13\8ad\91\ 2\0£\0Z\85\el¢¶ü\_TkRTC?\7f¿ÿ¿}\99$\92"¢­|úßzï½íç½¾ÝÞoCw\9bÎ{\9b½\ræózûÐÛÐÞo=ü\aÝþ\aoCz\eÎog\7f\82;ÚÞwþ¥\1eö²Û¶ÖKÆ\f\8eËt·£¿<\85:ùû\975>ZØîXª$Íó`4Ï\e\98\83\7fÜ\89Ú;Éý\86\1fÕ»,ã\99ñ´Áð»\9b\1e\9aï\9c<g{¦¿\8c½)#nGÌæ\9f1$4\r\ 5rwyñ^×H\97Ì\94\99Õ^^¶aH,ë\1dsÙ7´AÚÁ[¸\1eì\ 3w\a¯\8c\ fAyÈé\1f|\ e\8a\89O\ e\83f{7tËNB\r\88®6 áÎã\ 6\ 2ÚD\97¶RKÚs3Ò2â>\85Â>Ñ¿,~Z8j\b×·Lð\aOµ>{ùµ÷ùÉ@\88\7fÛ\10\87÷Uò\r¸\9cÏ\7f\81\ fÈ^\ 6w4Pk\8aǶ/h# ø\0B¯=\16\våÐ\8e¬\16 \19Ù+Óß\1e³1'sÑ\1eZ\96¹\9f<ÍX?\10ÈXGpÞÎ
+'\1ajHä«\92\86p\bÞÏñ-7Æ@yCt\9eÝN\8aR\ 3Ç_\8d?¾ßãÅ)£D%Z\97õ¶ªsÌB[nu·Õ\89\99«|k¥¬i\81 "^\18\15{*Ø\1d\9fàS7Æ\7f[nInt÷#·g\7f\19[\89u\91÷i<©²d+·ÉZ^¹ÂÆ­\8c:\8e \92À«­\rý×\9bûôÍýß\9bûpoí\92°\ f#,Õ\10§Â\9f\7f\8d\90~\8e·Rg©\r³~Ë¡\13ãE/Ú"C\v\v\19!\99\14¨ç­7ke9Ðu\ 2\95ñÍÚÃ\87FqõÏÆÇ£\ 4\10ç\8d¼Á\13(\f\1e\1fþ*ä2\9c\93j(^ø\8cäKèᬽ×IùoO\ fÝ×\16¤>E\ 25|"gGbÍSÇÉ ÝàWÓÐ^üÖ\9f1\13\89\1eµo\93t|×XÜz>9-%qÊÛ^>OÍuó\11\b\12\r zújø³h¢RÐ!µÈ\1e\1f=\8f;Ú+ ¿'\ 5º\828EKN1ó\85ô\87\83éCXI«\9bÊÇI\90̲X\11\9aY\1f\14\90Ý÷\16D\85;\90ã_ÈX2 ~\a¥&\aÛû\108\1ci0>ãØ\81õ·\90?'Ø\81÷>\9c\98\1d×±\ 3\96¼\81­4ìµâQ#äu\ 5°&f\8e@õu!8ÿ²\13\94#Å3~{Å)ø\88\9c÷ÉÕW        Á½D0Âu  }÷\83\ 1\14{\85\11ðÒ\93ã÷³\9c\97ç\11$.[È\945\98c      çK-éôO\1c\98\ 4è\96\96Àµ½èè¤ý\1czîZÿQY)\12!@$_\9f¸}\ f,iE\8d¬Ê#çîIN\95\9dô'ß\1fV\83ç&¼\82ß@´ò`FÂ\14Ldi*þ\r¾ô¤c6\97øÎú\räI\835ý0f¾\8a4\0ý9ýOV\1e½7Ù\ 4-]
+Æaev4´7\9c¼\86Õ\1e\1a&FÀ\7fiQ\r×ÞCqËCUùaç»evÂ~kêÂ\1a>¶²¬\1fW;\81ÌAZÇ6Nx\9dP¿ýÉ\ 4rh\8doü[ÂIaxn´ýqůé7³àwã\93*\89ø{\ 6*\89w9ã}\8fbN~\a§\81\ 2\ 2\90\98¥ÅV×Òd\r:õª¸Æw*4í"ð\9a3\8aò\8e*L®U\1f®Ì¦\8d3T\13=¶û\1f\8dñ\96\8cñxb+\7f\13£¸e¼Ov¯|x\9bU~Áâ\7f\17ú"\7f\10ñ9uuc¡»V¤¿é\8a\b\97*éAë\93\1e\8dMÒ©\84ì\17´P\8bÈM)¢s*¾\95>kvkb\84÷hÍ__4ñ2¼\92\12ËxOAùR½¤ï¡¼ä;\89Ãx\9d\ 5$_\9f:\81cg­ÜB\ 6ÚIØ\16á\94Ì ½\r\1a\91¿Àåck9zu\1aa\12gm\a\1fkøg\ eYó¸S\ fkw\8f«m_VîAgË\9e9gË\890Ù+'­\89\f¤ØÒ°\85h\1d
+
+Éÿ.xI\97òÀÊÑáªÇÜÝo\90?Y¾·Þ\13\83Ï\1eÔçÉþë\87Éõ£éê\85ü\ eö>\99²\ 6\9f ktÝýhgAÔòÇ;\9cì˨ÚÖêp\91û\ 3ÚÛ\87éî\81´\12}kÃdø\8b9GÆ|ÏÃ\86Ó\v\1ax<^Mð6«/m\7f# ­\1cÙíS\98m\ e\ 2}8îÃmé\8fGÈC>=¬d\1a\\9a?À¶5\18\e\1d7Ø´t\8chY\ 3[p¶?\bvR¶æ$©±m\91±nD\90ÍÃG@´qàC\1e³Þ\1cîÜæÔiïM¢k&ïcíÉ`\83öoÝOÜN\87´\98úÆÚ\81\1a\13×yü\80\87\14¯tM®ü\b¡È\13£Ïâò\SI?\ 6F±é"\9eXëöEoy>p5¨ÁGÊê\8aX¤ Ù\ 2\81Ü\9d½\r««X4E.\ 4\86\15\v4&VqûÚËóz F\88\15캣\8a\1e}!ïØ´æ~P¾ÒuE1D|] \97\fqxïN<±Ë\96¾¬_\1cuB\91;Ê0aC¿u¿\85\9bð\ 4º;IÁ\81MÍm1\f\ 3\bíSßlJW&Çv$ö5ö­ìÛ\f7.ù9Ï!\pÆøEg:¢CÕþ@ñÀQçÀa\ 2\9b%\vÇ÷]k\17\85úsþ\9aó?ô¿¯?Çâ>OÍÒ\9f?ô§Ïþ\9eF\7fì\ 5ö\93JYÿôz|\fÿ\10u\i}\9cÿí\9fåH#1Ò½?«\9fúSçþ\97ýYþ>\ 6:c°Sa&ú9â\87´}cÂä+sÔ\9b
+dÕÚu%\99\97P       LJrçS\12!ï1\9de\87Ãk»\80\1fPùà 0õßÉWfÃpyïE¯o\0I´ØÃ¬¶Þ«©/­\90\10à,Ál¾\11\176\10\ e?\9d±GÅ\15GºÓÀYeÄåz\9bù\82í9\9fzG\8c\16¸å\94\13\984!LðWe­~p\89¡Z,µ\8fY¡6\9e\84¸f\99\ e]0Ô¦Çé|J\99éÖ"þ¨AÂï\13\8fì2áhËУÁ\9d%j¬Õ^Ð\94Ó4R<]MZâÐÂ~\14s\95:ÂLjõ\9cÏy£AuÃ\v\16OFK\bjqÍúËß°Ôè/͸\9d  Ó-/IÔ\e*qW«1t=³UaËÞi0I`ØW´{È\8d\84\96ÀRWï\9ey-l\8c¬¾³Ìó\8e]\19þv(\90\r\816FÀdüÉÅ\1d&=Ø\9c\ 3¹¡pæ\97\ 3Z£QÎt\8b\80TÎG\v&u½\13C·I\8a?ßÊØ\94ÝÞ¶\88ë0÷æ\13>u\18%ê$ѹÃǼ×\12cÙ÷ºÏ\ 4d=á«\8b\99æ´r%\13Í\8e\15*;\98\1fK(FÎû\r£#_WÖ+\95<­#/£!\81é\e\9b#å ¥;\18\14ÙÀoÏ!¥-\1av\ 52RÁù;\ e ¤dfêËÀ\87\9c\966!ßh\8d\17c{¦±°åüÝ\17õ&\12{ Âw\8f\13ê\11\13{ëÄó÷òÜ_´áyÿñ°uý\19ïÓ°uÃ\9eþÝ\83¯A=þ]\83¯Ý`cöØkæ\ 6>Î{ùØ\18øØL÷Ó·»     \9f\87;{°\99ý)Òìùq\86\83\9d½ØLû\83¬3^´ðM6\e\95°\99è'\7fVÂgÑÎÉØLçðÞÎÂgI;\7f°\99ù3~æÂg=êì&{ÌGùÓ4ÿý\ 5ÿ?1Ç\92~W\91ñ\eÄàl´D´X\87¶$tv\17
+óz4tÕ\1f\b.È}\ 1\9b\v\15h$]z\95®·\84 ý\96\8fÔ\9fsïö\12ÿ\ fE{°½üoïØ^õ\9a\85î£û¶\17¿±­Wì\10|Êߥcä±H¶ðì\85¿ól+cñ@{ýÛ
\ 6·ùö\15»:ßoa[\91ªòØÃBg
+.\8eÂÁ_\89Z¶ÆF(ÂÙlb17Ê×Hºþò×Sí\91\15\15¥ô\ 3\93\ f\15²\a\ f\10\ fc+§\8aV3îsÈ;\1c\81%\83Ç\a¡b´z°\18\9fÕ\7f\9bQ¦%äF\8d\96¾%¬ºã\11\83×(\eàÑÊ®¦\ 1\1a\1aZ\17dÑ´/·ÞÇîf\12?ªS¹ì\91Ðíç\11.âØÜ4îVéßµ\9e4¬w1é7¯"n\1eS9óÂĬÍ?R\7f\86Ý\r+\ 6\7f¶$\12Ko´\ 1Î\b,¾étÛ$\9bIØm)£a\13`\9bJT¡´\ fäÄ\1f\91\9b[¦UJ4\9dyLâ\17\8b%*6Þ¨Kü\f^?`ÏK\17Ó8[\17þþ\1d\18¾Ãþx¿°[7õ23\7f¥[\17ëÿ¿\17­ØÍP\9apân\95ù\9c\82ÿ¡G¼%}\98;\1d\9fn±~³¢äkw\10\99L1\90_±=\8d\8e½?JÆ.I\e\1drm\8f±×4\97ÛÆiÅñèvç(ðº¦ÞÁz£õ°[D`¼Ï+\ 5ä¿f\vâ$\99ÚÚNíP\89ÿËdA\80l\ f)\ 3\8bãÀ¡Û·³,\15¼\95ää·+8Í\82ìb²FLv\9eÞ\11ø~¶\11ð½½\eä\11\84³²¾¾u¼\95þÍ\eäQ\82åyX.îSû0^Q\18,\el¿W\ 5ý_W\ 5»C\9dÍ\8bß\ f\8etÞ5jây\ 1à9å¤Ëk\9e"²¾¥Èô\90¿òñð
+\f¸TÍM\95 )\(\89qÚ³\83§\1dN\95ÙK\ 5Fðà\ 6S\9e&ø÷ÂÚXÄìÙ\1d¥\7f\91°\8aD´Ù^\11m)\84KFI\9b¯\9b§â\93ûßk\82Ú½Ê\90\8f=ùì\18E<ŨàÝ\a¶-\8ePçÍÙZG\93þÂ>ÈQ­U{\16 \96\1c\1fÙh\12\99\19{tVÍ?¸3¤\1e°óÜ\rߤ\.ðn\1f\fÚ\vS\9cʧ÷\ 6Î-R[LÄø7ð     \112¢HzÉAíÂftT\10n\8dAüd\87\8aäÚ<b        \ 1F\1a\ 1\17QÇ7\8cèø\14Ö\85\97\8c
+$'ŲÓ\1d£\ 6\13\97FÍM\91ÒÎ!4÷\17d\84\16í.\8d\89lÏY£5 KÚ\9b- |ñy/¬d\18\81IÖïÂ?¡}fe/½xÞÏ\81\9a\834\90\ f\12Ó@÷>²a\1aP\7fìM\86w´ê4Ú\82\90\\96É\84]ç Ù[\1fr\93{;{\1e\17¦\96³rG\1aÇ\84â¦\1cæ\12^äB@Í\9c4\ eÇrÆ\92-9®·Þ\81»@y¬\8a\96\1d\1cÂ:\8fAEÙ°^ÀÚ\1djÏn4ž\1eÎ\88öð,xÍ+ü¿Ye»\9bÄ\9fò\863ähÖýJ\83wí¸\83HÞÍÎw:6øòZý®tyÑóUè)_Vî\95þ\11K\8bÜø\93eqh. \96þF÷ê×\97µE®(аw¥\r\8e´'¸û¸\96Ò\f\ 4\1dÝ\93^Òo\ 2qS\93ß^Ã.\ fô\wq8\83à\1f\9fúå¸\89\19²ùºIT:\e\ 3\ 1\8c\r\84O\10¨Aï±¥U\ 4¼Ò\1c©é\13ÓK\aQÏä\1f\82÷\9dÁ\96ßÜl®A\83\1f\9f\88åÈüÖd\13}äG2ãwÎ
+§ñP{ö£b\95\ 2\ f\16M\7f\90\18qP äì\9aùX_jZ\97\19po*Ý9&wÝ\86\14x\15|\ 2Ã_W
+'\99Æ"l\a~k\81\1ahUiÇD<\9cõBf;C·¬       ,Ìñ\9a\12\8c×áN_×E\1f°#N\ 4¬¼\88³\19\11b8ùÛLj\vüH\9a\88ûó­ÇO\ eɯy\9c\149]\88ï`kå\93Qø½¼®Ù\1d\7f\f\95>\9a\9da-~Îètº_.\8b\8f0ÆÉ¯èpy¬Çµ/eìf0¼ø\8et@::ñÍ\81D\ 3\80\f\1f÷^Oà§tàê¨Â¹\8f©òÄÈÓ»õ\1c\8a|N\95 í×I½«£¶7\9fîmI\89±ç¾Ú#\14\8dÞ\94ÝÆÍß\|\0VÁe»`¿ï^\1aÈ3yëw\v||&\8e}7\10³Èô#Ó9\12ä\99z\11;VËz\11;ºÅ½\16\937_íô"Zkûv÷Q\1cw\14HfÆö\1c\13\8baé;\85Fl&å6¸\81êC\86Â#PÏÉÒ²w1\1alM\fäs\87â;\98²kõÛ­3áÈîÎß\8e^\88\8aãÿßlÿö\9fÓÁ}aï\r
+ðDýÖkì\10Æm\7f4\99¼ÇÕÚúаÚЩõ0U?~\ 6ΩP\}«\1c\17!?\12¤\7f\7fÖ\ f\86ÿ²Y_\e`\9cÓF\13YIV\13Y9nHõ?ý\92×¹\ fOöì0ÙI¦\18\ 3Óÿ\r\r¢\9e5Îu\86\19\8e\1c¸¼?í\1fâø2\8c1\1a&¬1\19æ\8c1\19Fl
+Z£öEª\9fú\ 5«\\87\1c\9e%Î?\82ys\8f\ 6ZglÅ\83n\9bØ\97\12ï\8b\80^\ 6Ù\87ýráÿ¸¯TàÞ\1a,?[§ìí\9fÿá×>QòE½¾\8aûmÿþ\95zÿú\99½\1c\1eQ/¯÷i\19d¨ç1C\ 6R²Ó\13xj,vC\98£ÈàÓ³²§Ö¨\14FýïZ\89n\1f\ 3n\ 3Å0÷¬;V?-\8dÓ+ò¿÷sÌ`KjþÈÕëÔ"\ f\8bþh>¥h;\1fv\ f§Z\ eËÝ\83õ\8bAÿºYø\96Ðl¾\ eºæw7ó\92ø½ÿÒí²W\18;v_êK\18x2\1f^U\8eá¾\91¯uUòúýž¿èè~^\ eÖ\8b\83!Îàíh8;\?þöô½Ïe´ð¼ö?\ 2¯eÝø\96\87ì\9aË+âÖ¿t=\11\r\ f\85*çr\80\e\82\ fu{´RTqG«ÄãçDÈô\7f¢q\1f\8cÞ£éÈ\ 5²loÊb\97ɸ@\rá´Gì\99\9f¦ß\92Xªç\11Ú
+\81\ 5¨?"\82ìo\96F+¬?\19_\8bj\17\14«d|ð@Ê\9d\82\9eV(\95\0((x¶2p½\120\1db(ûø>\85¥ÚI\99Ë~¼Ã2&\äK$Çh+\915\ 2\9aÿö¦\8f\91\16Ãÿ9\ 6äÌ|©`\88\87ùüî{ zû7TÕ§M[¯ìûOáí~?øþk<\fϾ¤ìh\14¼÷Y)\14\9b\ f\95]\9a²x7ü\ eò\b\14Âø£h·\16Ç\16Ë\16Î}\84û\19öSìçåyf\18Æ\18ÆXÆh.5\93¹\1c\96R\96=áes ¼ÐýE:NÞDÐü.\9a·E¤ê:\9d.¿³¹ÞowÞ/\8d¿ºü</'·î;\9fãú\8d\1aÊJØk;\v\eM\97}³"Îw\84\96q\85\9bÃN9Ãâ'g±8¬\ÿ-\8c Æòô8ÿy\91÷ÜÏ¿Êeµå /\91àÌ»J\9e¡ãÜÝV{ èZ\81\137\96\10Y\99IV­<\18¶¡S¨drÍ=>?!l\97vWñ~5ìØ\7f,ìò0$Éb1{¢Çcýæb³8Õ\17y\8c\1ao
\11\87s9uøZ´\8fOPlQÑoø\1fw\83\80>nïj\r%à§oíÐ)Ëä
+ñÜaü)Ü SïÝ"ÿ K;#IË
+ÙzÄ\v°y\ 5Ñ)\15\9bIê/ú\1fRþÆúÿ\92Ê`ßÙ__Ýú\97öwø}\17ù\ 5¦ê|û¹¶}l\9fEþ@\9evE>\ f\82\8býr/økÊ\83\10^¥t_è9¬\fÿG\90¿Ó['ýKû\eëý\86\ e\8fÑä\ eµþ»Ô\8f³¾¿ëð3ý}Ï\8d{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/e콿m\83\15Çb'ö\92\9fÒ%íDþ\95ÿùÿ,©Ä\bࢯu¯î¢÷J÷N;º^ïCÝÖ}lÿÖÔ}oâú×?_~CÅÌ\12êü\97yKÞVw\99þò»¼Ô\10ñ}\ 3Åä\12ë_;¼»@ñ\7f\14\14, æ°Â\7fÀñ\83\ 4ºÿþ*¯,sS×\93]0ù¾ï\15áFÂøY¯\95äBÑð´ßVº6BUÜî5\85Û\ fa)ßó®³=\eÿö\12Ú~M\03m­ ÿõ\18\8b\8b\87\81\12\8a\0fößä£\11t\1fö£\11nè=Ö*7þú\0/öP»FâáýÚ1\16\ap\18"gö\bÿý¡¸¾Ðÿ½\ 3t\bÿý\9a\0.LÃû\18\85D\ f\8cöÇ\8a\9f2\8d\ 1»å%=¿Pl\14æ\93¹x\9fÝ*·\13ú'/\9d«°\9báÈé³µßâNÊ`Z·³¸\8d,I}\8aá½\9bJwº]ÄÐ;5ljaô\8cYTÃÏ1\94¤\8bS\rû\19d\ e\8aô\1e`â.\10\935à¿Tq       5e\9b«­9\15\84ï\89\82÷Ùýó©°<á\17ïË\rK9\984\ 6ÿfá:O9\90x\9bê\ 6ö{§\89Û\13\81\1eÝú{øÀ· \ e\báë)yÊÎw¡\836\14Zl6¼ì\8b\8c,{÷_\7fU\8dZ\9d¡yx\84\ e]P]~·ó\85\e\ 3jþ*Óè½\ 2Õ">±\ eòPV²ò£\e`\94ÓÏI\9dàzìG$\96o\89\7f\86À\rÈ£\99\0P\8c\aç\8ao¼ëç¯\89fÿ\ 2Lïj×êbO7{â/\1eª\ 6ÈñÍ~$´ìúxêg\8f\ fy\ 1ù\a\80áÉ\96&c\82R\86½ÿùiãÿù\8cL\99ÛÚg»ÃàM\8f
+¬zÝ\88ëÏ\9b\14d
+\80é\9cïWÇpLþøM\86fÔk\99\93ëê\b.[ß`ófxý¦\ 5zÏz\a[Y<õ\P¬#è¬M:\818[\89Ôé\9cU{CÕ£½,íë\83\ eF5\b\8e\9e¾vó\1a\9c\96a\fbShz1\8edøÆº{\93\8cr\93§Æ"oܬF1;ÍÏkú1\aÆ9\ 3Õ\8c\ fÉ\88\93?*îÜßÏ'Ïd+³1[\95{&'©Ñ`o\89ó\88\9e;·êäÏE7xÇ0&\92óÇ"ÆM\ f©Ì»\94jp\89(-f\82ÞÓ°<ÔHñ=à§ØøD­\7f\vJ\85\1aK[\8e\ 2[\89Î\95¨üB\vxÏ^\118J^\8cZ\ 4\93
+fî<x9\8bUqV<+¤¶WeQBçYÛ   \84&Ù*\e\8bUfÒ¡µgp\9e\17[½ÔK¤'uü!®\11¹\83_i-±Ñãã\18FæmU\9cJ\86çd%£CBí\93ph\ùBå¨mMy\17$CÄÁÓs\1ae=ÊT\9b\90\91l³,)7\89ÛI¢ÂüáÑqsáG(Þ'`LôS^Lô öE^\\1e+\8b\88        ç%\eÙÛ@±º»\81cwY\v\f\1dóX©\1a¼)Xó\970\1e\e½\14¢[>Àõ;ï\15$̳§jÞÏqj¨­¶$YèÇ\ 4ü/q      'ð4äÐ÷1P¿Î\8b\9e\15\ 2Bv\15\83
+}\81V ¥'\18?\86çä\8a\97ïaß
+ßQÎB\98\80\96³¾\ 4Á¿`À.É«WÇIÀO]\14v¿jU¡\7f§s"ã\a!\9aN'zNÚT\99èZIö\9eA\7fÑ\ 5MÑ&[\96\9d¼)\aí`T\19ð§\80z\í_JS\87\8b«h<Å \96ò\8dàý\88)ðZâ\98Q¸ z7räßL\7f\11(ýæ£\98±(\98ÈàXÓ0'?\ 1¼#\ 5جáë\93 M\11À\91æÜ\91\9fá\99\15.ͽ\9df\1d\9ddé+\7f\17ÌÂÓ,\8f\16\0\9e*á7dýÖçMN\93{9h        S>eÖd`µ~\9dÄ`j\96\83\aÆj\85zcF*\9f|³øræñ¼!î_\e\96\ 5ßM\91®¬£a\11\ 4\87\80¼3Ûz³P\99\18O[¸\9c\rnâû\80¡Ô²h\8aÉ\8a'\15ùUx"¢\0[Ç.\b\ 67z£Æ,NFan½\1e\rå?á9\1a¾Á\9agäT\e°\91\ 2Óªl\86y¶çfH·^\9f\96ydÁ:©\85{ÓÝ~\81Ñ\8am>,Ú:5Ý¿ÄWy\95
+\80Ág\e@\86á:©ÂRèiÌ\83éÿ\r²uSª×\9e\vÓ\9e\v\87\81\rÅìÍ¿%\ 3´Í# éÄ~ª`p;k÷\bý¢\97\90YÉ¢¹¼\91\89\94M\9d\b\12b\10_»Áz\8cOt¨~[p\13·\8cÖÒÅ\82ÕÌâôÂ+¬Ì{EGÛÙ°:\15        p\16\ 5`­ÚåäùÄÚ!ê\0)Ï2?\87û{.ý\1e8/A\1e¦O|®\99\vÄÝîÍ¥=´t¶ìè\9eU¾ïØsöÑÂÁ_£°ë\99G\85<8\19ÒÌMY@ÄD\81ÒíÄ\ 6ʽ\9f\Ì]Á'\9au÷«Ää\f?1Röl\r\81Ð{°\ 3.\;\88èÔ\ f\14ï³6zêÊöúüTMs\98\ 4Í\1enEH@\1c\r\ fÍ\85okæÛX\10ó\12K¢í\ 2Ë\ 3ü\17\ 1l\ 4 Nvr9I\1d"#âù¥5lÈ\92\1dð\1fî´\7f\ fI\14,\10ÃvÄü°  SÄÃÔPx\ 3?"Je£Áx\96\14.f%C\1aZ\960±ö\1dy³üxkñp£]þ4\8a\ 1ñ\90Ö[24Lõ\ eý½\9dK8\ 1½åyÐ\ 3}\1dØ·³ª\96\15\99V\1fÕ)ùÌ'+gÌöï\9dm´ü´\87Q©Í\9cºÃ7ì¼¢¬ §\84·³\ eÈí¯a\85\93@z\1f3ñä=h\81\ eûdeH\ 5dä=\ 3-²bl«Û$Ê=\92Ll\1d56¤e òÐ,b\9bE©3\88ñÓ\8b'\94Åu&n\8bw§ó#dà$Ïn/°\1e:ÒËi¨_&lÖI«ðÿ\ 4¢\eÀ«Æ«gá¥d\f[̰gH.®kÕ7\7f\ 6k;ß\ 3h\16EIÿq \9a\19Ük-\86¾
+¢f9¶pzÄ\18\87ÿÑ\1f\9fÒ"\83\88ê0Pníé~\7fG\ 4"m\18\16\95ý \91Ú«µ\94£´x£Î\92\82\8dNFÔ`Né\9dfLúæ\80ò\9b¨\96Óã¬2²ðy»\f¬Ä\10òç\18£Ñ>ò\8a\82$Å*µåUf|\1d_ø­5¬\16à×"Õ\10\ 4Ù  \11õä=\Ñá\9a­õ\85C\16\86ÌÌÑ!\8fÏ    ó¯\17O˼\88Ýúm]\ 4¥%\95\98{
+Y(\8f\1e±¥¨c\ 5°­µn·5ê½\a\9ac9 ÝY+ 9õ\9boÙeÇ\97Û\97mÎ_\93õ\ 2l¬ I×\8bª\15\12\84[±\o\17\9c9¼Æ\8a\82¥jÄ*·x¶¿\r\8dÅ#cMÈC\1fi"\10ýN\93\99b\rÒ˹׵¿ \18ÂZ>1°¦¯¦\1eUmmæ\8bÇ\ 3Æ,\ 5\ 3\8b½4@\12\94l9bª1ÞÂx±\1eôØy½\9b\9a:%¯<WjXn\a\16ä:Å1R¿¨í^ÖÝ\96),LN(<\8c2þøåúÜv/z¦t\8co^ð\910\rT±Þ\ 3È0ý\9buN·\84Üý\19¥\9cc_>;òè%\93\99£#t\7f÷ $\9f\83N¦zz<73ÁÔ\1a\92§?À\9b\fò¬F·J°\11å\99BÊe\9bBÉ@±ÔË87aá­¨Þñ_ÉÆCÃáÕaï2KÄW0H\9aÓlo\14å=Z*¯'ÅNù\e<\8e\ e¾\86}ÔN\99L\18\86OÎù?6­?-å\96\92\a\9aJ\ 3\7fm\ 1\98\8fR\13\17μ1Ø\80Ùæäk>§+1O
+Z\9e#Êsö «g¶~êÖ½S\7f\90¥\8b øx¢<æÒå=\16¼S­ä\ 30ñ   *=Ü\1em'[¶úîØæÛfµ\8au\f\93ª\94âÜ¿gøß§mCpIp2\1evZ\86¡\91\92I~\14\11º\81ÁØSiÖQ¾ÇJ5põ\9få«Oo\ 2\86à¸;:¡ë\85<
+\1cÐô«uÒÅZ³\8fÞ\8a7¿\89PÊ \8bé\98ú&\8bqjÓÛr÷\11\ f\14\1e\12ܼ¡¢Ziik\8b$\17ô3x\15+æ´\90mQôä_\88v­û*"7¨8``¡½êT\7fp\19\99
+\91      IXë\83ãÂ\8dË\a\84V¢ÕÄÛÃ\8d4\1c\84\921IM\91í      +|m}\84$\1d};\97ê[\eT  ¾\96#6^D\8eK[\9d\9a\84â\ 3¯KU+h*G\84\9c\18É7Úx\94\9c\17[¨-(÷1\89\ 2\9ey_="xû'IíÂ\82\ 5\ 4¥.ý×\ 6\vu¨v\8bàc   3® `\ e\94³yCÓ5ÃL\8a\1a\7f\ 2ÇÒ\9cë*\9bÙ\9bÁ\ eg\87.\85\8cÒ÷K\16j\ 5=4Ãfÿ\1c\12ªgïÝ\éñ¯È¿zÚ\84¡þ U\14Ó\8d ·\81\1cTàøµn­«øy8¶ð!±\15O¬½^o\9b*Ãó\9fÐlUEj\94Ýþf\9f§¿\b¼Û$z\19Õå\ 36U`é\96\9f&oõ¬\19ó\7f²\81y\ 6\8f²\15.\8e\89-\99w\1f \91\ 5W¿\99\91Öã\ 4\95 ðØ]$ïg\82þSEÏâ\f\96ê\10ëå]·³7v\ 5`\ 3×0¯\94UÒ¯Í\ 6\13ÆT½\16ñ´      ó³
+åý\ 1ZîB\1eiS\1dµ*@õø\1eéx3Tíìßв\81\r²|ë\85\0ÅöÍp\94+\84â­\85Á7ô2Ð#íÁ2>ñ\v°¦\97p"Ó\18ÒM¹>Ó1ÓZ\8cËôm\87\ 3ó"z²og¾-\1d\8aK¡Lu:\80\96VÕlª¤\bè´{ê\a4rF°SÏ6\94x\9bÆÒÑ\9b¥\11³Øû\94¬¥ßG·
\rÖò\17\98l\8fµ½go÷Î\94\f¨.AN@ç\1d>cÆ\f'Q\83\9cà\98ç\81\84)à¿QȤ\eufÐo8\9bü4²Gx
+I'ÀÍ\a¥=¸\83\87J ©êvL\89|\96p­Ð\11ª\81\fç\13y\86\94J\8f\99U\84×\11%^ÇÛÉ\9f×Â;\1dÌȤ\1c¨plä üð\87ôÄRÉ®\93»ãùܶÂH^ w\9evÎð'$u´¯\ 3ϾҺ¡\v\14\15%vF\94\1c\ 4pC\92\1eD>A,\80ë{êT\7f"¬qñ°jÇ\1ea§éqÕãL ~s{\9c\14«µ[\82\95b\83\9fÿÃ\82\95\7fò«Vþ½Kë¿\9f0ÒY¥x\7fK,çÿ¼ÿW¹÷)\ 4¿Öÿ5 \97ø\7fë¤\12ù\9bêA/M}H%ÑHvÞ-H%èo\970\1cÉÍàïò\1e\90KþV\9c©ý\8fÄýt\82_kyH%Χ'ýiý\8f¶À¤\12ý/úi\ 4¾kúé\ 4¿ÿ81Ï=Çý¥ÿÏú*yü\82\93B
+\1fí?K-_XÐ\17ÿ+.ûlyÃÞjQ\84Ѱ¸\9cÊð\9a\16Õ\84h\bò\8dØaùù¿9ÅÔÕÌÄT]ÉÿaÌ\ 3@\8f%\16\7fàÎ"å\e\9aäÆýiÉ\ fõ2ã»Ü£õêy\1f°Z=ÿZäßöÉC\7f¹ô\8bä\90à\1fûÔ\7fë3\12¿9\ 4\17.w\0\8a\90I\aûT\12:xß\7fMÔÅ­Û>ú\1e/kâ]8oäàÎ\12ÿ¨\94\vàýn¸%\98Ï\a\82~kN\ eÿùp\vëe?øN\eë¬\ 5µì½¿ôh¸ÆÂnr&Sw ¨<ÿi¼«[a\1fýä\eʹ¯\99ùÿ%O\7f\95Kåpþ÷mÕâ{M_\91C*ïЫawäUò¶\11x¼Õ-a\1d\1e\1a~rxd\16Û[WÿÕ·¿ÊØ8ûp<êQMþô_Ô\8bÜÃôsÿ¯\ 5uâ¿9\14Ëý»\a\1fÉæ\90\8bÜù¯w\82ºá\13¹PR\9a\ e\8fÿÙØ8ÝÍ\1f\81æk\7fþãõ·\1fªU1Qÿû;\a\1eÁ\1a\ 3\8a\8fÿ×t{`\81øù\99òVùÏ\94¨Tõï0|²Cñr\ e­J«§ª9gRz÷\92ûoP\ 4\búþõ\1e¿.\9cR\11>rCD\9e.\ 5\9d¹ño\9f\9b\eÉ)L÷P~\16 Èù\9fô(3þÈsÊú\89ã«W\v\1dNA¤&ªèÊ\7fªÕ\1a7\b(\14\9cýºÅ\18½Ú¤µ©Ï\10kñ*VàeÂ\939²Ç1X`S\987j÷åÀ/\16¿»S'\84ðüÍëóYRg¥©\14,,ðjJ\94"¯0\98G\14$\10XT&,é¬\90æ7ècìéèÄy\1c\9cÂH\81Ë&e;\8a´U΢\1f\953\8fSsu\9aZ¾2sáî\9fF\9dBbÝ\e\v ù\12\ 3\98ÌWéd\8efä´\17µØ|\14þï»\92:<k, Tôÿ}\82\99©<\0x*<\7fI\16\95¬1ø¾+\8d
+\eÑ®¬Ý*zY\86P\\84\11\9dËÛ^\13*{\rS&,!+I\14\1a@G\96\fVû.è/þ`Ú\a\89êZ\ f³æ\93ÍyGvü<ï.;ë\1d¿\9dc©~áøKªMõÀݰÀ¦ê+\eë|\ 3ôyöúß´U\9bwËz£]y±åR\98½\10G\80o     \95£4z¦Q\98ù<»ð\ 2H²»XUOÔËõ\ 3\81¤Êt$l\95\ 1MsÖÅ\83.\92u9êzg\8e\9cAåÃÈ\rQεâ0Y°&mL£¡\fÔ\1e\19ný3d`Phó<±c\1c Æ9×\97Í7\8dùñ\83}s\92à\8cw\83c׸Æ>R§>õ»Ålw1ÇÒ÷¤~\9e;à<.\13Ù\8fÅû2QjN®\8e\94R_\e°5Øy\82\98ßilêÖ\ 3wûË\1e¾t Áàûô!õöN«å{òÉ>\99&öu5\90)ª2\10º!ÒçÍÒ÷°\9f\9a\f\1f^®E^üðgCY!\15àQÄÍ0\8dÌ\e\a±o®\fqÖF\ fíO\b\9b\91\83ãl¢TÎR±\83:\16/\99vuQ¯Ò¨"\11\1cß]Ð\1f\85\r\7f ºü&úᲬ\95\r×VcßÈØàµ³a9ó\e.¡sÏÓ\99ª4/hFø`±\93ÙЭT\8eï§3Mìþ\r`Ë!Â\9d\f\81f0ËÈ\10ê\ 5\1eä\9b\19·?ÁÌñN\9f\89\e<~\13\1d\81;\b }\81ñ¼ù\94ãÀÛUDÜaé\10âÃ'÷\97\e\ 6\16\1e\14ãþ\9c²\14´C"\14\1fXô´Nvq^\V\18ùVû\1cÓ\e\18¬¡Ô;±»\94oØeI9ÇGµáá\12gáZþ\1c$:¬²¸Òl¾U\ fK:ç\91\80¥\eìyÐ\9d§v5l,\9bXuó\8dáK\e·åOPÎ+\1a\87q*\82\v&{aÃedõ\89ø\ 1'Pö\ 1°\89\14\81Õ*«\15è\b§\ 2\ 3þA3\956RíÙçz¾\9bL¯Eï\87Ù5éÆ\94>|'S\8b¤ó]maR?4y>\86\80?pö9µ&2¡Zïv(¤n|\10üôÔ\98plèÏÕ­\9c\91ºD\9dx0±/A½\80\83\9f4r¬Ý§3C\85Á;¨÷1©lnÙ\ 3G6{õ5&ö0VM\90²OÓèr\ fÝxÄ\90æêYf\93çZ\1a,õå\1dÁQø\ 4£ïG\fS%\89[DðÇ\ 2R\1dåxðI\13cw\1ccüá\8d_¥%Hg\9fì® ¾ú\1f}C6^Uº\16Ò? kó\88\rx­!nÊ\9c\8eW|0\83æ\9aYt\94PMý\84õ?Ì>g\9d k\16Üø§\7fîÂP`Æ\ e\b¡\91\9eµñÏ_ºN´S¤\10¬\8caèÿßÙv~\ 5\1d»-\98sãäï;6
+Îöìp\1a\1etõÙíÖê\ f4U\9a¾\8foòu\9c!±Ø³¶µ»\98HP\82Añ$i\b¢ô\9bE\93üë²RéC´ÅAaü¿Tì\96\ 5\86\8c=ÿg\t"ÃÅ:Ë·ê@¬|\9eF\89ó¯2\ fLýN®ì¸\ 4æ\94J¼]Z\99¬\93å:
+\ 5_a\10¦\ú³Ò\bY:  ô\13±\a\90{>\85í\93!ó¯i ZªÚÊ\9d\8a¸\9a3ëÿ2M)@Þ7ÆÃP¾\81±ß\f\8cø¦dØú\16¸V÷¼Èî+\9f\1c\14ìí\8fÒ\1c\bØíOÒ\ f\f\8fe\99'\80f~
+\80¿QÏÉ"¦E^o\1a\1dÕ,ú\86êAË¿NÞ¢\97¤pÈ|\8fU/b6¨¥\987\8aM[?\12­;QA\86\ 5ñ\8c\1c<oº÷g!'\9fo\aâÜ\8d\96ª Jr\18ñ\8b^1ÔbÅgKÌ\8f³j¥Ü\ 6)aÅfKÌ\9e³éST»Ó¶+¹!\a\19±\92:ã¿®Ù\9fÇ\98\aat\99m¡/ß\93v$6\rÔ\8cÒ\ 2*äÝ=\bÁQK¦ëá6Ó·\93\82&Gêâ|\86¹\96IB¿Pl\v\87HpE·3#[ô\9bÓë\84ü\ eÔø\99\83«tÑ\/\15ÕнÙÉED®z\92~ES9ÜÁÞ)rvçjd©µK0wOðDbt6\99Äòÿ\ 4×(Ã\85>´¯Sè\9d£Ãi>\96\94jy\9fæ\14|\f°fìj¬ª\v5uZ~\f\8eÒ\9epà¸\ 4N\r\96}ɱ\7f\93\97`~        Ò7Øç\1aÆ\95\16Åðj¬6Õþ\82^\8f\ 5å\97F(ú/\81\97\1f\8c\97í\a\ 5\8eòè \7fÙÆ¯]o´òòaß\9fÑàÙtcæ|ìòâ\8d\17J!øæh}NõWÊ÷þ*8v\88]¿òè"3\ai\a\88ÍaÁ@j\ 4½\ey[ï\93l馰Wýb:Þ¬ùç°\1e3\14üÒ\84?*\92\83\92Uw \90A\0p\15ï¾\ 5
+;Oø2Ã\81|ß\zM\93ðÕ×d=~\ fâó$ó\15Ë\84\f;<±:ß9\1a\99i>\8eø}sØz\·¶\8a ý¦)Çè¤+*\9dÑ"´D\8fPK[ö=\8a\1fBèQú,R\8f¹I×äë4ìu.ÓIÛ¤²ÚyµO[Ýüâá\ 2?1×;\8d\9e\19\ e\9dC³yM¿S<Û\8eõG\93!Hù¿£ñ\1fº¸ÓâFÄ\99\1fp\95\93!ä|ú>äÚBjo8}ÏYø\81Ô×t\85&Ó¸Xî\84h\1e¤Ã®c\80j׿\94è\8fûj\^¸\14ºP\82ã\1eÅ\7f\ e»½6¨«\89\11ͺB\9eëNé%:\17\17¤V\17:êNÓÔ\1f¯|\9e\19Gm\9bö]\9aÛO\98û©­\18\925\8e\1fm\1aÈy]ûx7¦\887à!O \12ä\92ù¸ô<C]´\1f \94ùÅæ\vF\b\18\88\85¾ûÚ4\9d\9fìÌÌÌÌ\92I>\92L\90\80@b\18$h\0$Ka![\9f\ 6F}\81"E\12\ 5¢ ÕôÒ¾U\18d<-
+FȾÉ\98}­·ZÑkm\11\159| -6Hµk \ 4"\14\0KTZÛE\e\\1c\ 4\ 4¼\18U\fÿýû÷ÿßf}\930\10Ȫë-å»¶ô.òï=ÐÝÞ\86ï9íêîïBô7\9bÒÞoKz\9bÓÞ¶ó\9bÑÞ¾ÿ\ 1·¿½Ïwwø\19iðû´\96É$²O*[\83Cì"³ÍsHGéuâ¡hs°<\7fÅKsÁyò\rØÏ\ 2µºW<©O/\80\8eD@Õ\9f@\13Ì\83S\87\81Øó\8a\94ú`\b\8dUo\96oÃÎü\89µÜ\ 6¨\1c?\15HZ7Ï*4f\ 6è¬G}B©Ów       O«\8e\99`U\eµ\b¢ì\88j9¼ÑÐF; a;\1a¡\1dÊ\82ีsp©põ8(xúJp\8b\8d\10?\87\7f\8e\87\1aþß|\82\9cd)ô7;ç\97Ô¬.\91Ï6\12\96H·­ö\ 3Å0\ f\ 1åå? \8c_E\9f\87\8e»)p<ïì)p5j·Öðv@\89\10=\84Fºç\8dPÿz\11ÍRú\ 1^h\8a\9f\ 2ɽÌ\9c¼\eó°\ 4D}éH\88ðtKgàq/A\0>\9fÇOôn]\ 6\8a\võ®(k1Ý:ä,Hª06!ä´£\vcY\8e\9e®ý\ e©`¡cÀ\13ÌüØ£ÚqÁî\99ô!\91\9anûÐ#áãJ¥ÿä\11£MÈÑÏâÞhéг\95\ 1\17ýª^ÿuRÇp\8ahÂ¥\ 2=É©A×§G}®gGò×¼ÁRî+\9aÔRïj\10ué#K¹®j\95/\11$\1d\9eÂ\16¹(Vð\7f\vº]\9e~d41
+\96ÞºHÉÕÌ\92O±^e\9bÌ\ 1¾¯'\91\7f°Ã\/§r2hÍÖ\98êw9æ t\87\a/éÜÒÓãó÷ÐðÑh}¡`º\87ü-\14ë-\e\92-\9eÐñ2à³95\15ïP±\1cuÅKÄBļ\1e,ºF\89   Èy<ù\ 4ê(X:7Aµ\ 1Ýÿ\ e>d\80ÏÕX\aiÔ_!;O¥\98\85\ 6Mòð®íÙ¥\bκÛg¸ph]¦Êø\8býªT¼,ôúXm¶I6üÛæ\8fYc\0ó÷ÌîWb5øÜ:Ø&Q»c÷à˾¦\\8bÖN\ 2iU\86Å\85E/¥[À\83óR\7f\94\12\v5\ f\18u\8d»·÷&aæ ÇÍI\88øNÍ\ 5¡\98¾\97u\Ò\16QÈsÓ"Ê\9b\85½,Ô%±`\r·]ë½¾½ùkÃ\9dWÑÊ<\94¯£\95\91®È=n\12Q¥~D?9\0\ f8nx;ôÎQ4{ó\843÷ûXb\173\fvkô\11Êñãõhy~ÀtbÃ\eäüq,]Ò5:ÇO½'t¼\80\10±\ÐÍ\9buGA\à&\9a\80¤CæpC4áº\16\9d\fÀÍ\87\937Æh&Ã\ 1\80°ü£.+¶@½\98Rn­\15°x,1Ìr£á:\95\vÂ\91Ó\ 1³\1a¦}\ 1\vO`¼`Ñ!ì\rÝKý\80\17B\93uOû/A\82¨\7f-µÆ\84&\9bcÆÙR\91FÂy¯ð{\1f\19!#\9b~mQ\15ñZ3J±ãÛ%Ù^»­ëд¸²ÈÏ:{ý!%\8f@:/Å\93 ,\94Ò¬i=I#bÈý\12M\14YÒFfµMT\v*\ 5O2>Fl9\1c\1f~\1aB\1dç£aÆe\14REºêÄ_\81w ¹aX\8d\84\ 6\81á\8d¤hoé»[o¡6\1ewÕ¾ñ\85c\12ÓóØW0g\90ò¶|\9cNÜd\9b`XA×\0£I\89\ fõìÇ\ fí;c\93Ii\171sûØ\13\95d~\8cÊ"ùË\f<\9bàññ\97Vn·\9e\88~ª@L\rs5\96ð\1a    Q\93VJ    ¹å\85
+=7>9ɬ¹vJG.÷¹}\12/\80UµTªõûé\83sH\9c5NI¼¢åq8\8c\9e°ÚάÉÖÒ_êd\9aí«³;m\17­Î4\87h\81\f\95;4\13{3@Y%E\eM\84áâ\vñѦ¡Ñº¯=>½\83§ûc=;L\ 6®¾\9d;\ 4êØ\8e\85\82í \7f\84\90Y'VÐè:\10\1aêçù¦\83A¨ý\9f\f4^?s\ 4\87;ç´ÞÝBj\19\1aÙ \v\ ehx\91ê\bÃ\95<ºum]\ 4Ô}¤\ eìF\85\8b2hçòóHò2rGá>\ e0r7\8c\9d\8a\8eÍ\14\18%;I~2\¼t¼ñ\92Ó®ã\99:tÉÓQ%)
+wJK -0)¸étd\97\822[xésä\97\832\ätµÄ\96àÉs·iiåð\86\ eoÂgçóÐß)\14yº¢\8aÞü?(\fí\1d»4w)Õ\83G    µ\93Ô'\91U£6â}\ 3fA3F2:\ f\ 4Gw7"Ñ:¶gA#è\eÊ$¨°Åå[:O¡\97"Bù.\8e\14Ìq&O\190\vG:yF¨ÈϧW|?\vúeÇp)ÕÏ\1d\aGìª)×Qp´ÝØ«­¬å¢ìº\7ff;\961¾Ê\8eXdt\1c\19 «Ù{H\13$\82Ú\e\9f!qE\ 6M:¶ÇAà\ e\16\99¬\11a«ËÊ\9f´¤\8b´\9f\f¸W¹\19`,\17ñ:Ûl£têä\91Ö1TlÀ¯\9f¤\9d\9e\86\18«½\99e/ïiû_)«ú®*\8d^£Nô|U\1a½F\9dù\U\1a½¡Ðq\1cUZ¿ÀÅ()§!\re\85»8\8e^\15\ak\8a\14¹PíÈé\7f8\92æ       è7iu$\96ÜÉr\91ÒùâK\ 2þÎ\95\8e\978Isæe\ 6&O\96;(\ 1ØÊf\81\87fANû"áê3Eñ¡z\8cÝ\87Ï¡\ó\0éþO\ e\ 4\81|ÝÒ\1a¼\9d   »Ë\16\9d[pîÿ\93ìs\1c\82·\95þZ\ 3®N?E>\8d\84       !Î}ÙS4ë'¹\ 6g\1e'\9av\ e\93É\ 1e\8eÀõ\80q0éÛ\1d¹Z\83\83_SÊ\8f¦\8eõ\16Ñ\9eßvU\9c|\97T}\9fЫ\93¯\98\93@·×Â3\94X\13F]Àõt4\85\99v\85\amÚ_¢IrfKk\1d\92Åò1Òõ\ 4\975\19¸\ 5-é%ÇlAKëI.|\1a\92:]Q%\81j\8f!\1f\97óä\97Í\0ØìDKæa\90\8f\80w³Ñ!·\1e¢üA-\98\93\87\86ÙwXmvæê£ªÞTRïsÿ%>\96þÌ\9bXt}\17m\ 3ãñ!BâÓ2^é÷NÀ5)oi_\ 5\90\97©\vþ\85$¡kÝ=\9f\ 2\9f\95\97Ñ­×òç\96ÃÊ%\11\8bfübþá\84`*\r\8a>\1c\9c\965P\ 1\9e\84Æ;âî¬gâ£3\89\10³×© \89\9bj\84ÝS¯O"Í\v\ f¤gVr5ô\86QÖú0ò\8dL7ZFÓ\ 2:\ 2?\12\ 4\91Üï\92\81ÓÑ\16rM¾\18µ\19«\97ÎÒÏàâs½½Blº\13ó©Å9ÒU¿\8eõåé?èÒ\1eöã=È\ 1ù\8d\ e\89Å\874N©\80ABg^-Î\ 4§Z\ 2\bC<ÿ\80\ f\92ûj
+¬ômF£æ7[5Øc\88÷ë´\8dڢߠ   æ¹      1Û¤\ 3s¾©¯üÔ\87\ 1\19ò\9a\ 4ò;´»RKdO\a»K\ 3x\87t\9fø\r\1e½X=~N%\eø§èIv\ 2@\ 1)\1d/6Im\8a\r\r\94T·D\97*Nï»K¡$°\85\ 1¼^'PþZT\92æB@xKâPõõ\853\82#>ßV\ f´\9d\86\98û¡\99\ 4þ/_4e\17ßçH\92\12\9b\fSÅao|\89À¡»f¿_|¢¶\19°£\e
+Ãâ-ÂfÞEð\1f§ïF\91¡\a7ɰ»\9d\16\910ã\h§âAµ¯àÇ\8e\ fÄàÇ\8e\ fípcÇ\ 6\9f\ 6<p\7f?\82P\91\93z\8a\92o=j\15\93\8f\ 4\ eØ\92æ"ÄÄn'4f\89?\13Â\80Ì\16S·<8H\1dqõIq8M]wÅ;*\15díM-Å/¦h\93ñO3×\ e)\7f?\14\9c:áÉ.\ 2-@t¼ìX=#\8b+üS*¯iB¡°\9b\99ß7G"\10C@£\10ôùG\90þL)£Ç"\1d\11ËÊÆ\8f\1cT\1eN\15V,k\1d/½ÂªÅ\9c\98\80»\*±\ f-\10\17*4È£_ÎG\V§[\11\ eÕ\ 4\11zÈJR\13\ f\1c¡Â«\12ûE .:t\96\15V\8bkî'zÃGX2á[\17¦1\15;iÎ+/\ eUi®Ñ\85¹B/[ýnqn·9û÷\ 6\85'EënÇ\9c)\86§hèÍ\15\95.n\102J"4Ñ29¸ûªâö:\87þX=\99\vJ¡{[\84+ý>\160\ fè% -ù \87\96\86{\90=õؽõ«²\85ËÕÂ\f.Rd$®ÎØÜÝÎ\ 5ä\94\f{;<!\13\8eÀ÷\ 6íg'î\89\88\87ËÖ\98\ 5È\83\1e`\16þ\fy\80^\81 ¶\87)\92ä\90dÆl\18 Ù\92\fª\92Ò6ð5\ 4\83.\9d\\91Ð~¤\15eMJa\15\94»É\94\12\1f\ 6ÊÍ\14Ùû´½Ðè µ¼ÀûrÞj\85ÚúÏÛ\1d\18<ÉÐ\9a\16äu\97õOاéúêó\ eì\97\râ®9%\ 5\13ðj6\1e-\17ÓÎßÕ/"åþ4U4ÈZ{5\ fý4_íѤü¹ù°ËQ\88Y\80\93\11slnGÒWá¦\8b[*w%\Ñ
+Ü+\99ò\98ø\1e0úäp\1dÒì¢\89<F\19yR\ 1\15Fp\eɽ۽Yùø2`HUF\84¡ÊV]\82Xv
+:\8fÍ{L¼ýÏâàɼÔ[ö\ 6\89G¯^\95\86Å\99º\95\ eÛû\ 6©h*¤ì°jb[\12\15É3×±>¦\ 3ÿ\vð°AáàÔ°D#/Q\93r"43,ê\84mr²Ó©'RÅgÜ\19Ü^mJt×Ë\rt\92²\1fà}­ô(TÈYô㪬ã£8\99kê6\10Y\99xΧª×©_®e\ 3»\r\8f7YLÇ\88í\8c\10\e½D;P2úúÿi}hh\15\1f£\82\1fipk?¶Z\16\1f¬´$!ÓiÈ\98\0Û|¬¹^Ó\ 4r+\ e÷eËæÄÞY2ìyråÝ\12['IÓ\ 1{¶5\8a\99\85Á+/BJ:âP\92ÚÆ \9fS\18¹«\11\98À\8e0\ 6\80Ð\1f»\r'º    >¼Ê&~aÿñ\9ct2\1dc\9dãóÓ£\eÿ¨rMÎ\f\8eùøúßXý$\ 4>\7fä¯RZ\8f\9a³\91\ 5?0$>-V¾+\11§¢_Ph½ÓË\1a\ 2°ð\1d`j½P\7f¯BÉ<³C ÷\9eª¬×8\        §.eW\1a\81Y0PØ´Ü%²yi#ð\9e\92\1f   Ú\12¶LÌð0ÅÅáZ \ 2õÔé\902\81\ 5a6:_Ô%Ç4dðm\1a\b©\95Ä\99\83:c\85«+}ÏT\aÞ3\11´kèëÑ\ 2ÜMÞ$ÿ\87\9eZ\8fÑÖ;çcóÓ\81\9eõZ],V;¯Ç\81ïÇôCEþ:AS±BÓå°V\95²¡ÿP\ 2VGX\8d\96e\85\97^çá«í\8f©£êËËóÆ^X}\1c\84ïCü\9b=È4;\98\0\f\13t¨LÛ\18äÙD+\84á£\\98Fã#(\a\82ÐzN\9b\872ª4}(\91\95j\93ôbÇ\vyëMÉsKG\eä\8c¿jî:Lv©\ 6\98)Ýȧüx\15cuäÈû·$¶Ç¤$\8a\97ßàU\92\9eme\81VH¼¤t¾»\ 2¬\8b®Lî.\8c\92ç\8a\90\vâ\9dÄ´äµ)ù\88þ÷\14\82/-/L\a¾oê\14´\93}Ц*M:ÂBdd)áeI    ¡\90§N\84ä\90\9b\19
+øt,A!I\99
+xèWïPMâ\9d¨\90÷öRTÉ,\ 4òØ\bv}`\7fH=ZÃGF¸\ f2Û"\95Ã\96\9c\82ýµ\85\ 6úe\85\ 1\11¹\96²iU\8e:\eâ2\ 3¢\9d\99~|\1f¥S\19\8a¹ÂKøå5ÅT¼¥\19\15JèiÅC\9cg\14\85\9aL2È¡x¡é|\917\ 4        \80&qÐÐßÈ\10C\16-¾ý\18HZ3©Þ \ 4å¿&Y\8dð²Êhòû9õ2@u\85¼¬~\8cî\853.\aôå/\12lp¥è\89-Ð7|t¾¤\92Ò       \82ñÒé\89\1c\17\1f\97ó¤\97TSx®Òå\89/0d»üN'Ó\1fA]\8f\8eî"E\96¤\9e.3·í\85\8f\0\99f·MO$X\8f3I\9d¥ýB(>\18\88âË3%¬\r2\8b%\ 4\9e\94}\85\vÐÕÚÈd&õcIJ¡M7/\16]"bS½aa\85\89W,\8b\93\8f \9a\7fó(mȱH\9cíAn®\12×\9fS±. Kµ;
+\9f£\0ÿ7þó%L\10\9c,\118r\80BT\f\ f\94ãÑ;\ fîß\8b°ÕV\8f\91-\8dn=I\94\98GY2«¯4"ò\f£\81*íÄu\93j¤u^ MÞ£\18;\ 3F\f\91z$M\8c\93ê|sÔfKãH=²õ\19¨\94¸÷\93ÒÙ­=.Ã\7fFh\85\17\88ÜÏîbÄ#H\8a\16`7Óì\93\95r\9a,Òê·        ¢ÉÛü\92A\908ß"Ü1`q\99»$\a\9eõ¬\99P\96}àYïTÐ\98ß\82\93\9f\9bÞ\a
+N¡\87È)<X\8c>"èaÒÌò\85YªÒ\14ßS´<î9"ïV¯Q\93/\8b\82ÊF\9aÆ´Èx±8\fKX\vèÄ´È¢Z\8bDxú\9d\99ù[GÔãË\9e¢zW\19g¡âì\95'üô9à2ü¹Ù?vyhsn\14ãsJÓÔ\8f\11\9bN¬ÜR\Î\18ö¯\85Ol\1eG~±¡ÛÿÓ\17\fP\89XR\ 2*\8e\18ÉzjÁÝ\95.O\8f\aøÝεä\94v¥Ü¨1wºz   \84l8Î\10í|\82\16\91Oç~Cp«ð{\9cwÚþÉzáÑ-07Þq\99OøbN\99°·\9f»RÜÈRànÔºxÊZË\r\1cÒúæ¶·á+?ZÌwa4o¤ø\9e\92x%1®qk\81,\92nöt\89\1asXÔrß1\985\v\ e\83Ò\8cHåk\16û\1c\8dXCDIQ'\84$|\12\9a\a¢6§\9dÞ©\0áÓ¤4i       ÔO\a\8dk\ 6v<Ð\ eM\ 4§í­\ 3_þÚÐ:ý\9dyëA®è?ÍÓabrnÒcÙ\1eHIhæÒ\9e?Íý\1dÌ\17T\Ò6\eÚ\a\÷4üµdQ\8d°\12\88k\9a\ eM\0ØWzà3Ý\ 2\9b\92Å\14\88}ÞB̳\9c\91\\97î«í\7f\8a½ïįa\1d_\98þ*ú\1fq_ñcãû6ñqñÿªßàÇÇñ     Hßõ\11D]\94çÕn®£CýFêê4?nÞ îóì\9bÿv£\89ü\86ÿ¯QÄÿq¶ÉÃ6àÿó\95ö\9d\9cÜB¾Ó\ 2;\13½+í<L/ö\15ö\9aSwe}§¼ÿÙ_iø³_¬¯´ûy¯û\15ö\9f;5þò¾Óüs?¼¯´Ïêé($Ô¡³ñ²\9a\1aßZ±n\ 3\86ªE \18Àþì\9b\17Å\1eW\94\8e¶2Ó÷\86¥\1fÜ\1f\8c1÷¾çWOô³\8b§ùöë§üÈâÏ\ e\81\92å\8c\96o\9fI\1cú\13ï45ïÝ&Îÿàmê|Ìcw\1c·]ï\ 5\9e\7føwürÞ{\1dJËjº`Ì>&Ý\9fÉ"D\7fØf¥\7f\ fMûØÌî9o!ËÈg{²$sø±\93¿í>¶>ZÜ1§Y\9aþo\9f\94]7Ò!¸\96\94ÎÅ"Bqêù31\9c\91u\7f,\89\ùm_Òþæ¿þ\1a \ fóo3\v?ÀVi\7f\ f´|\16¦Úîj\19\v\ 2æ\9dT»Í,'9·åë\97à\17®`h\11\18Ï\19÷xuë\80²\ f\1aK®\ÖqzæÒ\8b\97IM¯\1cú÷(ÕréS\7fòÁ\96\87\0LNfW®\99À¯]5}^ºlß6æW\81\9eäNÏ®]|Arëø\ 2 ÜêõØC!ó\93K×aL·¡\96\9d\96-mwzn'Â\93\87\84\»F\7fG\9fèAãó\9a»]½GÛúÌ:¬\7f©¤ðWÆ\1e$µ3\9c\97\84{       Î:½\84e|Õê½\8cez\9aôSQ1!^Ê2½­ê½\9ce}\ 5꽤ez\84*?Þc$+ÚÆW©nîõ³²\15í£+Ú^«ä£+Ô ç&TR\15òñ\95ó×¼}\bÊûíê¾b2½\95ë'Ì\9dF¾0òaê9é
+ù¨Ü}½ë\8fæã+ù»Þ\8f¾ÆWàÔÌ\a÷\8c\9f~\8c¯p ó\vÞ+ïñ\95ê\12a\15\ f?!_?\19^¦^öÌ^+ð\11\95ê\10ö;ÛÅ~\ 62¿\ 5\19\87ÌÈ\1a>ËÑÁdëû©\9fg5èý\1f°³ÔÖÆ>xùÉ
\11\95íoUìc+Ð\86e\1c\1cÅ{(ÊöW½~Î2½AI¢ÎÑHW´\8c¯\96½Wµ\8c¯\98\8còøêöÑ\95ó7ªù(Êù«Õ|\9cez\90\1fW;þïEÛô^7VÏ¢úóÕ\1c\87x: =G%zÍk\ 2:\83ãHW±\89Ök+Ô\16O8êù(\9df²¿Â¼ãì¢cAu\95ûüD\85{8\90     Åãø\99
\91\1f\ 6²¿I\8a\90¯kx¯Ö^+ÛD\87\re|®.B½ÄF£\8bÑçWÇ+°v\1eá\13Q­«ïñÕìo1¿3yé
+öK\117ÚÙ\90Nñ^Î$8ë+ö\17Ù
\91#CY^ ·=ÇWµ\89\ 3\9aÊû\eÅ{h\98×^/GÏÈWÉD\80Me\7fM\80\90¯\93\89\8fEÖWîï\15ò\91 CY_Òàd+å¢B\a\15Í÷\8að\84¾sÜW¹ \90¯\98\89&Íe\7fWx¯\99\1d\82\9då+õ¼Ü\85|ä<oÝ\15_\9dÁHWߢI\83Y_C\83\90¯ÀD\8cMe~\9añ_\81 Lªä«Ù8\90¯ÁD\8d\re~c !_\83!;\8cåB\7f\85\90¯æ¢\r\9d4Wgó²\15ø£\93ª¼u|\vÎ>?ß\19>[ûèd+ÃB#4~â¾\7fã\7f¤gËùìGØ\82÷\11º\99îçJÎ\13\8fdkG²5}n³\85\7fßæSÉ}\ûϯ%W\88ÅÇ\91_\1e-ÿ©\87èþnꯩú>%¾£Ñu_ù£ö|\7f¿_øû<\a¡âÊdü_´ïi\90ý\1dU\x_ÿ\95\9dW\1fXåÿ\9d\96ÅüÿßÏýË\19âpÐ)]/\85sá]xT>\1ecÃ{áÚøp<9íRZ­\ 6«SªÝê\9bjèõyÍ^\97WrWvÛ\92\1f\1d6cL÷Mk¦\81¦\9eïRït\1dî§½Ý÷­´ôz|æ\9fK§¹ÓÝiè{ìÇ|÷¾µï wÓÚ\84µ\1a\rF§Q»Ô6ïèûüç\7f¥ïî{û®þ\87ÀÌx\ f|\v_\ 2\a\81=à¥àè<\1dO\83»ð[jhõ9ÍOö\90TþV'òá¥M\80'òþöÿyþ/\13£Èê\1eü\7f\ 3-ìb¾Ö#\14ÕÎ=²ë§\r¤Y¾ý_\vjÏ÷\8aZþÿw\85ù¿+ú1½\15\9e\97Çîm*õ|Ðì\0\e_ï2\9e°\1eýüßñ3Y=3_ÿ\16\15\1fá9\10¥ï\18üD@ÇTsz'Í\9f÷îÙÁafa\89׳\9f÷ð\8aZ~lâÀ7\9bkze=g!qu,ØìÚè\ 2c\ 4ádzÀÅ\r\97u9°d¦º   §9<D¥³Ú(P뻸yqâ(¬Hæ\8efIpê\91óp7\8a\94\96euü3í["Ôm´¢UPø\11  \922¦'6#O#\96\939D\1dU$¥Þ2\ 3õÕ\ 3n¼ãÃÚ¦­_y\8a
+¥4\ 5\fáÅK\88+s® d\8eJéX°ÊôxbÌÑ¡UÔé:vªsí±\10B\86\14¹È\14\ 1\98\v\rkiËùiH\7fÿm«þ»ÿ\1açO\84½*®\7f=K{ïÛ_ÿ\ 1Ü[~Ïü\7fîÖU¼÷ùIÂ^\9a\18ª7ä!\8a£\7fÊþÓ\19\93ýöÕ\1fúÉ¿î=´?\1eXßò¶Gñ\7f\87ñWÔZLå4\8cQí¿£+CÏ-ýêu[ø*_ÿqS\9b\8b\eðôXH?õv×Î\ e\8b\9cãäôù|\97Y÷=~×éù\1d\9bW;»úë«kü\89\aþÌ¿\aïR\7f\9aÖ7åh\80\98f\93;ÿ÷ÚÉ`B;k\11E\1fíµ\92À\99\0ÿék%Ð_ÿç!½I\aázµ\87\eüV²X]¨\0\vëbE\14wÏ~Aøj
+Àg5üÛ\ ea        iÝ\99î\9døâÁç~÷íd¹ó°\1d\ 1ÿ|±¤· P¨ÇP\9e\87¬=ù\91½n\ 4Ë4ÔµZÂÉ\9cS`\9bB7Ø\ 4\ßÝI\13"Ï \7f\ e\ 3dèEuYq\v\ 6\12\16]Áî¬\9a§8È@XÈäbö é\17i\8eB6ÕTÉ£È\e&\87\12ǨJ\8a\18ö\93æì=-\18è/
+T^yî`9\80 \9e\8aøL+|B!ý9!¸ô1\96Ðyá)\ ft\8f\9büvs°äSt\ 5ÔAâ\11\96\82 BªÌ>tFc\9f\9c\93T\82[òq\87±µË\12\1eÃôåª}¸PªS°Ö       \8b§ö\80?^\b§ô\18\86\b\ f\ 3_\9cßö\803gÀA1VN['NÂ¥ÿç\ 2\95\91\và\1d:v56_sR\1a\81:d\eð ²tõàh7½\8b\89ñû³t÷ZãJ9b¢ÅÀf\8fË]\178\1e\16W Nâ\92×\8e\1fÃRë/!Ãq;\ eýk\80Э &\17-8\13\v\96\Nã\94ß\1f\99\927ã3Ö\eñÓ}Ã~:\7f\8e£µ7ã5ôÄ~«ÃM\9dâlK·Ò\89{\1aøÂ+ùm\ 6ñ\ 4\80î7\897È!ê{\819\ e×\8duw±9»Y¼\ 5*\8a×\9c\9d»MÕ\911ôæç\ f¬\93ìTÏ2\85\9dÉËÒÿM\9e\96mR!¹Ú\89\8a\19\84£'J\112h\8f]\11\1aå^jqIW\96 õtúuüD;\ 34YË\1e!:d\ 38\80\ 5³sÄCFE\8c8d º\98íKŸ\1d\b!±pùq3}\99õR¾½mT\86       U}\0øá\9baÓ<\8dh\8b\b ^&ÁH'eÞ8
+%û"Ð\8f\83\82ý\ 5ë\7f²±qÞ\1ea\0+\84©Þ\94?\ 3P³RÀ¶44\89\86Q`\f®æ\9dKZKw\97ì|£É+"?´Ø3ÇÎ,án\90\9fè\15«´\96õ×ô|®¬äÇ\ 6îâÄ\e5Pnp\19?s\1f( ÝÉÓ»7'r\92\89Îßíà\ 5ï\aPÿx\1aÀK\9b+9\ 4ÍÓå*Ý,\84àÚÿ"/¹ '­p\19\1f\8dó\ feÔ]**¯×*
+«òø\0\f§®XqÒÃkÂõ\17\ 3\11Íc»3é\99V\80ªzù3e¬\9f\18ÎbH\99$\7f¨\8b\9c¬\19Lv\18\98G¯Ô&DÝD²t)n\9e7ï[å\ f¨5°-ø\r\9c×þeðX¢û×\ 1_³  ~\81°èàôtBë*BÎà\v\11Ï\ 3! V¢Ú        >Kyá¬<!~5#I¾Cµé\0\9cH\9fpÝQé\ 5\87³ùÔ,ú×\ e@\95\Bd\16È\85\89(¼Ï}#-á\15*UÀ\1depLÅ-_\94r½B'«~Nô\11\9dÁ\ f"\ 4¯\11 \1f\18§t¶æí\1d\rýÍ}Ã\a4\84ÑU½Ðyv\8eéxÈ&\19ôD:Ð\18z\80\98y\0\19£ðÌ9ÆB¡)QàéìY=\17±\aΠ ÿ\89U$¯\1eCIöËNc2³Bc\9f@Kc\17$m\a£À\8e°Ì\a6\1d>»º\e\12\ e(ùMbÇ®©8H}\10Ó}AôÉ\ 5êN¬´\82ì3½Dl©Å\vßQg¥:ODÁG¤\96\8a\91¦O\87Ó\12 ïzÔ¬ö\ 4ç=Y\85\8cuä-Ws\8f¿ágF-!ê\9döE«\ 3\fDbÝ\89ì\ 4Pi0¦\ 2c\1dÐÚ¹!.D\9fú ²S\95ÝÇ\bo\ 4\1eÍy\14¾¾\9d\v\12ß\97\ 1÷i>¬\18\ 6\3R\ 2È}\1e¦v=è\ fÕ\0[¶ú×\1a\ 1a\8f\vi¿xâ¼ðÆi\8f\0¸l°\8c)\87M\8a\0À.®_²\7fØ\8b\1dé\91þú\8c¾\1cʦ\e/§M.£\1cX\96f\0¸\r\rMPcp\ 5LBv\1fQ\9a\93¦^v'p\\13é\17ëê\97ëº\88ÍÆ\80\8c6è:UïxãO\17¸Ãb~ûå44\1cGóe\9bY\85=\9f\0\1a"t\14µ¿\ 6Ìhï\1c\ 1rö¥Úl\ 21E­L°,@ ÓÁsu§\16#²ò&_'ÐÞ;+ÀC\96쯱®\aÏX\81 ]½î\a\8a#I¹BÇ&\ 3¾ DVøæ\93ÎCµ9c |Ä\ e?B¾pu\90ùGAÚ@¶¢àTRñóý&I6XR|xê»\81õiíÉÈ0\1dgÞÅ\7f£û\90\1f\9a\9b\8dG[\8eÆÄÃ\85\ f<\8c¶.;«\97\86ö0,a2;äÓ½°'y³\ fK¤rðN\90\8auYÕm=\ f³/\ fZêC1ÙØªeZ\84ö\92k¥Ê»i4¸q\1c4.Èï\14\8btKx\91\8f\r$ðâí\81\16m«K\1c<ñZÆúÜ;uðÊkh\1a\b-\88\94Ñ^\b^\11дª?8\11-\85\11ã\8cØ9Ññtn\90ï\86\ 5f¨­emk\89\85çø\ e·¸\e÷®%fàõ®Ç\8aÞh\8e\8e\1f\90-6\85\8cÙPÞ\ 6\89\ 3Ho\ 3#rré÷å¯è4eç\98W!LÃvnè×ä+ô4\ eto8o\99â\a=·yÀS«z\95,VIk_b\14$i5õÓb«|ê\81ÎB\8eÆK©\ 2dlÏ;c¸\rH×·ô\99d\1f\ 4µ\1c|'\99Ø;\80 0}(\95ä\13§Û'T\9bt;`']Äû\ 5àå«\10+ë (H\80´\9a®@¬\12ØÛä\1f2 £±\95\b\81\90¦ó\9d0ØÓR[Öù\9bêÑt£\97¥Ú\9béPóa\98ù\86îwoû\8dÈ\fªÀçg:ÄqÚ%Õß'Êl6*÷\19Ò\7fÕúP³\9d\a        [       f^í\8e3õ_A©õ¸\88HA/j;\16î\ 4Å\81\86ö\83<\94\81\85µ<è\1e¼RÕ\83\8f!Ò û\ f\9e\ 5O?$Kí£Cú¹ÎÓиÍ:O?Çt\9dg!\v;ä>s÷ÏÎYFç"i,ìy\ eðÜZí¹ù£ýC\82°@A¿{\93ç\9d\èt_r¡Y×Äè>#bá\14í\vù\84Ä\12\13\8dÐ< è§qz        Nüí\1a\10\9c<{\1fi,7\12/~\ 4\10Tbç'äç°è\1eíqjõIØ?»\88Ááp\97¸h\1dg°'\9bºq.\88\144\ 3D<\7f      Àed\86µ\80FTDó 2õ\10wíÀú*\1c\ 4\9fëwá\96\8c\92c­d\12AR^R\7f\92\82YN\9a|ù¬Üv0à6\15Ó\ 6\9d:ü5ËÉÊ[\97\92aÑ[Á&n{Q5|y[PØ.È,íKb¢,E2$\9db!ð$ç\ 3ÈÁ\81.s9¨\88ÞzU\9bÏJ³yþ÷\rÝ©û\95\94ýϾ§îÖS¬Ëgôß½\95;¡L÷ÜoµÌH\9eÂ.[\15u¼qik\1f\98´P\10§        \8c½7æuØç¥¥ovÓÂq\13ÛîgX$]MLÈ\14\7fHê7,"X5ôÒQaX\87êÀ\ 6ÂöÃ\82
+Ò<\8d5£}/NÑ9Ä[\13V=RåÂ.­2\ fp_­*\92=?É#¾$9\81 \91ôXá"Hí)\1fjÈðò\ 6\1e\11\8edÑ"RÝ!¤ÌÝ\ 4\ e\9f#ã-ÃÑMÏ\rXbn
+\1e(IÕ5S¯D¨JØ\14\9dZñÕEBî\9b.àyíe.ʹ\9b\97Û ½D®mCJ¾û¯g\8cEele{\ 1,\98á'0®4\90\1d\864³Ä,8È<\93\ e*\f\13\ 5¸\19ö8ÈòD-:Rù\86\8d#L        ZiVDDò\1c=\vo<É#ióÃICÇÔ8Ò\ 1i\vç¥MÁm\94F±î\ 5\15ä¥d¦¹D:j.+º^)ºÆÓG\a\18s¶ÒÛ@Ú\14Ì×\94\ 4L\aã{(9aí@û\87\99ËÀR\ 3õ\1a\g¸\1dÀWØ­(\88Âv¤ :F\83\ 5\16'\96\87ïë]ËåCIäñaB(ë\11O¡ã\83LÙ®&¡Ù\9e3\8diÿw+N\97\1f\80ì»\9d\1e\90î\9côΧÐ\1f\ès\ 31{HãÆZV\19p\ 3Áp     ¾9å*\913\87ز\Â\1fa\ eÄY\84¦¢¡ÎÅÂDÑ       ),\14cø©\ 2³i±qg\12X¨u×f¾3«4+ÔÔÉ\v\95¥|éÏ,'Z2a5®-FXHLstø¦Ï\19ØÛïë\ 1¦\902\1eû²?ÀS\12\7fÂßuÜA'0ûÃ\12\ 3«-¬²_\f[\ 3\18V#Km]¿3¼×ëËbÓßÛÔ¿·¬u\8e\92\rF\13¶`î\15°T½Wq2I²,\b\91Kå¼n\96\ep\abR\ 3ý,þU\80ÔÐ\86\ 1fmÿ\12éó̲÷\8b§Ì\ eÔßÿ%Óæq\9e·eýÕ%\7f\95\8fí©+ñ!\90¬>ª\19
+ÃÿaÈV\1c\ 5ÄJ\18\9a   2\ 6Ð\97µYµ#\94\0ô\ 4l\ 4ÊÏ\98£\1c\b|#rx#p0#OÑ&s¾Ç#°S\v&{5\ f\b\10äÕþ\11ñ\97ð .\1fð\8e=Oç\17:\99¡¿©\1fã\17*\9fÅü\1a\91Ýî\1aÓ­nÿ¾ÌpÀ=\1c6*\8f(\7fêÙ=Jê\98º)ÆH8µjxå\8aô\87À\0ï£ö+°\vó\8b®Ç{'à.Yþ_¥÷8Ä\ e\91O;1\8b½¦Û>fMÒ\9c\85\0×m\8fçM\9fî¿(\7f mO¾\94õÿçûÇ$d\9f\14|s2þ\12wÃò\85Tûô\87!RÐc>Ìþ9¨BS¨]ï\8aíÞX\7f\8cõ*o\ eýÛ\1c©óç\87\97\87ñ\8e\9f&\7fâ\12\1c?­Ú^2/Ö\8bÞÝ\9c\7fýxÞqê\83ÿW\8fG\1e®ßõm.<\7f
+¿ÿ\95rÿè*\1d|æ§A©{©Òêyc\81¦³æò£ü\86±\87¼4cµà}Ô¯\auâa\1c÷\fü®²­\ræò¶þÕÍÖ5uÖó\e"¯_Êî²Ü\8e£\99â\vò\8c\1aÿ\95WÓÊ*\1c\9eIE®\85_Þ7ÿä*\9f~\87U\7f°ýÂß6ç\eÿ]¤GÓsðÉP/þU\81s\17ã\90ª}úôÚ=ÃD´çÎm\19óþý`^±¹\ e\b]³~`à\89«â%\85żæ\88³>»\9a/\88ßåÀ\7féÜ\9f÷îè\9a\9flv+Ó\1f÷ï\9cì>Xú\e\15\87\9d\bÞ\1d\ 6ü\9fëbc_Õ~)M\99æ±au3\86iOVZí\ 3·ÿ\81þÚ±Õ\91\14¾Qïú$!çÄ\1dö|\97{ÜP\1dè;\b\9a\18ÀÿÎ\ 1ºÁ9\0öWÄ\9fÎyX£á\1fÓÝG\14§¹Å¨j\1f©¡\92\83\84qî@³²´\ 3\b»\89õ\11
+hF\96èt\ 4éæ*\1e
+!*P°\ 3g\90$\f=\ 2\9d\0~{îqåxÊ\ fHó,^8Ð}Ó\983ÛÇj\1e\18e@\9dݪ\9dò\85¤®`÷\92áNû\81¹n¡6\13¦$ó\7f\ 3ð       >\8cWg\8e\96\95       ³Æß\8bHÓñ
+kDnât°\19ɺOb\ 4DN$\82x\8c!±á\ 6\97\7fëâUÖÈc\98òM\92\88,ôx\95\18ü©|\ 4´\89È[\8a\95Ákl¾X\17\96l\1d\97\ 1ÏZ^\14\87TØÏR\ 6L°¢ö\1f\12¡\94àªTYxppàV\9b\1e\9c\13¥\98*D×\8e3\ 3ùù\91\1c\87z'¬á2\17~v{|D=\rÈÁáùns°Ð¸£\ób\14\ 4m\87YÚøç³àû\83\96¹~"\1e\88Ø»\r\7f=ó(¡\17>t\16`\17\95\b÷¨\87RZ#\16ûó¤\9e\81®2Ø5éñ6ý½c¬s)\9a殨ÞL°y2o®>eçÈE\85Â4\9b,ö*\ f¡\8có\10³Ù¤\9b.Þ²Ã\1e½\99(\17¼\9dE\87\9a\8d'\9d\83*tçO^/`\ 2úã\88\9d\rhqí¸§Ñ\ 3     f yUT\9f\9eº\9b\19å¡goP\9b\ 2qÌ]Y\90Ç7\97®\f\fÊés\13}\1dK¶x\1e\9cò}\16\edi6ùæðvá®oÆãuú\10Ý}1=v\\92}4»+\8b\17\ 3ëKØR®y¢BÓ"É'ùQ×ÙLØ\979a\90}³~ú`\17®|9aq\99gójÝPðd\9d?Tîwr-ÃÈ)ë\1f±3¡Ù\8eº¯Î\aõLnÂÚ`ô$\9c\9dqkÅ\96\86h',\ 4ßÞí\8f®\95\85Å\ 2\80\16ÚT>\8cØçÑ ÐÈ\8bbÐÈ\85L#¸åÈk¯BÓ'í\85\14\92åêx\15O÷P·\0ÓÞ\15\7f\90]¬óN=\1d\9f\eg\96sGñ¿gGs8®U¼\1f\ 5KpL5\818úÅ$ä\bd±Ëî\e\97ߤoKýW:X\ eç8\17k\8a8eu}Â\97c¡Ì\ 3*h\ 4\82&Ãììpq©`âÑ\94\bm×ß{F\93\93ý\99\99\99\92\10\92}\bB0\8cI\b\ 1\180\ 32}\ 1Ì\931>ÀÈ1@\11¨\89j¹©b#C2) ¤¬"Ì\9f?6Ý]ëzÛ¶ß.Öè·nÚ\8bà
+ÖØ\12\90\11DAEUQ\14vîC\11`\8e\96
\7f\7f¿ÿßßffH\0\bUmí¶îÛ|ß7Ç«¾¯yÝço¡ÞyÛÞw©Þ\85ö{ð\1f½\1eü\17ï_¿\ 3{ð7©áÞÖËd¶Hê\85Í÷Í
+Ç!y\82Èaa]8¨\852éÆ\91\88$\9cfQ â\ fd-6:Ád9\ 5.l\9eÄ\14ÊDª\9b\97:¹¨¯\8c©g\8c7âüh\ 3·%F\1aT\92\ 4òÌôT   j¦hT#\ 1=\99É\f°\10F\0±æ\ 6ÀbI,¥S\9c° \90Zkb²\88"3a$O[ Ã¯*\ 1U¯M\87\90/âW=qÊ
\91Î_\\ 6Ô)g[\94µ{×êúeÎy5fG¯ïÔ\83Îß¡ÃÊ«/5év\95h\17ý2O\96_k\80\8b\17S\89.É}mqÕ\ f\93âïYeÎj
\91Ñ\80ù¡ú")óîØ\92\13\93\ eq\ 5þ\84:á¤\9fJ\7f\14\82ü\8aØ%§ð\88Ûe%JÁAÝàÚá¥JÁ]DÜ\ 2H"CJ\11C,¦¢EX\82t(\ 6¿[Ò¸Úe¥ëʸѠ¤ÁM®î\ emòºû\1aªÌT\19¨\11µ¢T`\9e»CëÅçRÕí]ýú{WùfNðû\e]m¶å\93-\8b/       Ý¤Ë{W\99f\8cµ®ðöª\196A/+ ´­`l|Ácí\0Ú\86û¦\8b»Æ¦\92/¸ÒHg\9f\87Ïë\1eË}ýzdsÙù\81\rZ\9dúNÊÉ\87»ù©\9dÓ=ùÝ3²±rgLعc
+fÇFÆ\\13Ê\ 1\9d2\rÀ!\99\13±\81:gd\1c\93äÞ* \8aN\8eÜ\9d\ 5\ 1>}\9e\8aÿjÒ`Î{´y\7fö\8b86[¼¨¶\8bå®o*ï\95ó\1c²\83òÁ¼úõ\0¨\03°,¸\18»Á¸ýÍ8kn\ 6ôáÉÈÖ'RÛ»ÞÄ\81î\vû\8aì\8a\82 ßn\84¾Ã\9a\ 3S0o²\84t\10\v\ 1úÉ\aEÁ|´j<Zý$ªMÅ)&\82¤ìÂu\87r4\ f\18ý=\8c\1e\a\84\83\15¸jìh\14ÍÃQî\85Ë\17w\fXÛÚ5æNÊÞ\13þü\82ÃSèW#\ fÀAp7KØxÿì`\83,|\ 42<f\9e\96\f£V\81\ 5úác\90ÛòäªÂ~êò1'v\98gij\83ã=2¦Ñ<¢\8b½jÖn­9\9eè`köØeÅâßè.p\ 3ë=Ç©_\e\ 6¤<£\e\86\1d±¾o\92Ð5ù\98RO¨¼¤\byéÓ~Ïo\92Ó\bªçÚ¨Ï\80³×\17\12ÝÒ\90ôx\e\87x9k\87t¬;ð¢CFmR|ØÑ±ä§\ 6e\846wPoÜmü{X\ 2\89ÿwS\16ûp×\95\ f#\88\97÷«\12\a\"8ë\97\8eG\1dfpeéÍ5ëôk\87\ 3\86.N¡\1eAOÃ9d\96\9c\17aØO£$`Ià\93\1c\89@\98@Aã§GÚ\10UlN\1a\84ß(\95\9eØé\9b°\1eª> \13ÒMÜêZ{20Ü©è=m\95Üü\1cõ\95Ý\ 4\1e\8eÊî\86\rm\95Ý\14\1erÊï\ 5\a\17ewI\a\br\ 5@\9f$_)Ï\11Bó¨ý[hݶu\ 2ól¤_\92ýl(\bb\18¹\ 3|/\86\8b2.0ß\ 1ÓÌ\8a\a\15\88!q¸´¦øX\ f\86\ 4ß\fÀø\1a/\9c/\91F/ñ9¾\1fÏFsÓ\13$·Nf\99ò¾Dv\90\89\8d\80\eÌk(\94¦Þ+Ö\ 4ìàOU\Wgq\8b\13\17\8cj4á\16ö}B=Eè\89\ 1Bì \8b\8d?%,\94±àt:e\91D2£¤'\12oÙ*½U.Ò\98ºÁ\80â\8e²Á:Ð-Ó19«Êe\1a\r?\87Ó\9cc¡ÆSÁ?\12æ%¼\95\15D¥âª\15(rþ\93\ 5ʪ@ä7£âG\85\88(\v­\81V4(¯o\15kèá\10Æ.Ú.Ö\1dß-\7f\16\13þÍ`­¦nôµR\18ÓC¦D÷µ\ 6\81ú¶õv­\1dÀvÏÏ45TÏ\ 1\1a\1dȪC\15¿ÂxDq¦ì$\90á\14\85U\81ÈFàvX6\ e¹½ú\96Y
+*8ä)¹a`8Cp±pG!\ 5J»*ªF\10\81vß?¤\97.A`BN\98\14\14ºcô\e§¯\97\17\99ʪò\92\¸¨ªíg\98éöÐ¥ªÜeر\83|´¿ðm\88\86ÁÀ¾kÆ·àÛ\ 3\ 6Zc,ë\83pROdÉ:Uè{cÓ|\zc\82D\eò\14{ºã\9cM»(:½\12\83\84ϧòW\83«fx:¨ï\1fO®(:½\\19AÕõJ\ 3gLAa'\81¾3ð\17ìZ¨\fFÒE\8d·JÑSï\97ÌÁ¢ÌÃJ1\e´&\1f°8h_íFÄó\bO{Äz@yV\97\r\19\95\7f\1f\83FXýjÆ'âÊcÒ\1d\8f¸\96\bC_øðaï\ 17Ê1\15§! Ù\ 4$\ 5É\83\fË¿xñ'Ðð¢O\ 3÷X"O\ 1\14μIþ\95'¿\12\f1]\ 5R\b6Õp¾Ú¼\15â^ïO¶©«Íµw%¶¡M½\9bmG³tín¨\88Î|\ 1nb\83ÕÇSk\11Ý£ h\97ºjB²ì\1e5\14\8aYµã|Ô¤;6×§¤9i-Ò\1eSÇ1\1eWïO"Wï×KZ\9b6´çe\95kfG»7\7f\1aÑemÁc,#\936ÔYR{ûQ®¼!\90/\11å¯-Ñ\10ü!í\85\90\81¯\13\ 1\v\ eü\93kLÅæÕìr\1ft<ò\13\93F_ã¬òw\82í\88L?\80¢ã¦\87¬\15`\84Ùìµ ´ @ç¦2$º\83\16à©·ÂÜ Ñzú8ú/y¸\9eD˽é\f1kÛYpZ\1f\9a7Éù°`À\1dÑù\\18=SÇ\18
+\1a0uv¡@Z,òùÁ6\8aÔì¬\r\a~BÔ\ e\JÝc\12.\16inîû\ 2\ec@\99-kÐðb|ÒO3×\f\88\95zì·\8can.\1aí°HàÔ\98yi\80¸\ 4¤\8fi\7fÿ\ 1»"ñ*-\9c²á:J[\84é.»\ 4wI\ 3Ô¹]Ò]>\v\8aé/\12O\rØwF\8c2°G\ræ\82\0\19ZõüN\1a\8fv\9dá(ì¸\88u-;¶q;\91#®$Õc©lo·Ó/´áørÙÄT¾Â\80òÔË\9bí¥ö\a\ e_¡ËHáË     ¾ßàáËý\1a\87£}\9f,}\e\97>\8d²\894Míð\8aª´ßn\ eô}¦\ f¥L¢zåö¾\9fJ\99DÜïF\8dÕÉѼ\7fèѹUßY(Õ`ü=²ïÃð\97~\1d±\14\99\133\96\9c\9eÆñù?x\9f\92\aï\10ÏÉ\86}4c\134Z,ÐúhÆ#âûbϦ\8cbT\97Ù©ôÑ\8cLFôöT:\92%Îøæ*\8fBðvÕ\ eús©¶,ºõáS²U§\1a\9c        ³}õÐa\84\9bwSBo·©t5ì\13Ù#\14?=:/\86\12\1e\10ã{ dP÷\80ó,\95à\:\9c\8dpê!¿nc?W_pëw\19Î\1d->Ыz\ f@ðs?\ 5Ú#à\9e\rÖW\9b\13\1d©\17N9\909ÚG²^úÀDµð!×Ð\9bö\89Hu\8dµ\83©äh8_F¶Ô1\83¿\80ò\1dd楨1]ìYwØ«&â`.\8ff/\8aÓæ©ß\f<L\1eô¹í¡M\82´#´¬¥\ 5[WiY\84\19    \12\10þ\ e -X\91ϰ2\1c\1d¥cs\7fÔ¶\95\98[\86´ü¨Ø¼±\9fLêÓ\99\ 5ô\ 4îÓ\rððÖ\9bc\7fµU\ 5à<Ê\19\ 3\15ÏC b¹èeR©~\r\ fúwuÁm\9dþ\9eî¿ül®\9fÅJ«úØ\194ª»º\ fÕJ«ÒÿÊ\95W±ÀÞÒªþGþéU}Ý\aê¥Uö\14\1fù¥UÄ¥SýiU|\ 5\aÄb\85\7f®@NE\1e\97ûä\ 4÷µüü\8b8~rÒ%<ë\ 1ß\82(¼íN\9dÚ»1Õ çí\1e7ËDï\ 1l$­Ô1¨Û;WÄ\88\va\ØíM\9cO¨_\1f\12£m\13è#\aÙDìãàúô`û8\9a(ø<ò0}\8cN\94ø=LäLÅ\0¬\14\833\8f9ð×ÌðmÒÕ[ä\ 4\98ûK\13¼b¢ÚVüúÙa¢Q0ÇÍb
+J\v\83oh,Úõ\8f¶ÓCéwlRÕmm^OWUSèjª\9cõ®14ü\1dm¡¾ö<\ 6\9a\1fRÕûzèý%¦Oͪµ¡\15\11t\12°yj\8bkI±N7¶÷«µÙ6s/Þí\8cHðÈäþC$ÞøSN)qöÌ/º\19%Ê®\13#¾^\8d\86\a\19\82a\81c@À¬²i*±Ð\82fÛ0¿ã&X_ô)u\93yÙªãÈJç\18PeÒaA\8c\9baAü\9c\93Ä\83*RNJeó$\13Ç1z?ÜdªãïÌ'q\93\8c'u(Uqütl§x«\10å\rú\1cÌ\82¬?üç\16\1fòÜ}\ 2\15
\15\10|¹ÈÞ¯÷Ò\9cò¤@ò,ºÝéÅÿþnå¸\18mÖL\ 1#òáÁ\8bµ¯ßQGÜ\95\82Ù¿D¼_6oÑ&\v
+ùÌ\16Â\98XÖc²¶-TDÃ&\f\ 2\98©\ 3ª\8bþÃ~ê\8dûé\83çÂ4c\80ä\8bÄ«ä\18ñ(%2Z\96gSÈ!5l\v Ú\13p¸M{`ùÞÅ\8fmµ7è+oàXå`c\ 5\ 1ôf\ 3YyôÍú        \1fç~oÐTª e\8eÂT\1aêZ\1d%\16Ð56\8fµ9ÝHî\rûì\9bö\9d³\ 6\0\81T\ fúÆý«3ðÁÈáùè\11Qü:\ 2kwµ\ 37\ 2oßb\ã\ f÷ò\10\13X &¯\7f4\8aÌxqë\96aÑ#Åð·Ä¿\84exÓ\82Ã\8d!\9d`\8f)Tråá\98\8eX¼àsa'É:>\94¼\1c©ùHðmo\90ÊÈðØv¬\84\8dÄþ\14\18ðühIäd·¾%WåQçï
+âMsÇÌ]£È²Ø7\9eLWñò\93ø\ 6\92¿ºæ2<8³½\15Q¹Y
+ëõ®\ 4\7fX\9fô7\81¯¯#)áêï\ f\1fùõ_\87\95ñõG&^o®\9fÊp\9d\19x"ο\97~ù2ðú4þ\89\8a®\ fº92ÞNZ?\83\91«íoªG\81æ¹3oç\19'ÀëÜ\99x}Ã{÷qy÷q\1dÃ'ðÌÄþBË\9fÅÏ\11ãß|­³×#Ä\1e¿\92\80\1cë_Æ\18Ü\99\97X^[\1c\8f®9\1e\ 29äØcãü\\eL×Á\9fïV\8f»\94|rÒL=\ f\17'ÊÁ^z?¹0²\ 6R\1cþIUõ\92|\ 63ø7£)\97æÿ\83/Qü\19|gðeñ¿÷eùé>
+gè£ø\17\7fÅÂó\7fóñ¹\97\16^>w\81\96£æ\8b+Å£Æ\9cÞC\8dW\94\92âÐ*ç¿ôq\8fú²u\1fødñ\9fõdÜ#Ä\9f¼{\aåàZ\ eI\1e\f\93¯á\15\ 5kø±\vÕð½       g?\80ö7¾\ 1\8dõÈ\82-\7f\ 1\89sÑü`g½\85\8e¥\1e\ 4¨Ò\17\8cçôÿ\16bãüó\1cy9÷ãÌ\7fÞÑã¿Ï1Æÿ\96c\98\8fçAÞz?¦¦:\ 2âñê¸\9fPÏ×#ÁK3¤\ fúI)\ 3÷«a\aá'¤6H¤Ý×¥\92Ý"\9b¯ºE,î\84ê¡\1f\1f8¾=\14Ï»D+Nµñþ2)müº1íPxukãúÄcõ\93Ò\10b\¦\7fÆE.ÿÕOHA\91r©n¿´\8c\7fß¿ÈA}rU\823     tS9ôÈÇÍ"\95G_\1f\\8cýº-
+ÚHA\81ñõÿ\9a½¤ÇèPÁÇ$"tSÃþZ-\r\1d\1a5\8e:\10ÞF\7fÞ¢\9a·lÀåØî¾?ï¢\99O÷&oqëÒtq98õéxµÆ÷O\87\8f\8eP\88ü\9czôÄ^Ç\93\8fm!\an{ØõèÄç\1c\9czô¿ßYÉǯ-Õ¤á7ô¨Å¯±ÿ°\8d\7fò/§ÿð\88\93¨ú1ö\88ÇâÑK\ 3Ç*â5ö\7f1{\8f_kùÞ\16>\82=6¦é\1e\85ñ\9cr\19q}5z}Þß\9eí~ê½çmì÷\1fA\80;TIÎ.Oäw\1dÅûå<¥}÷5ßOìù_f_å°bÜô®¶=\85\99\9bôµ¹jÎ\972÷ ÈyíxòãYÔSb©I¦\13ÿiÜÅà#æó\7f\10ö×á\17\1aôo\89g\7fÏ¢\98-\9dýò±ú\ 4T\r?\1eoB\8aa·ãÍè\90\84M><ß\ 4\8b|A}âÛâ¯î\1a¯<\1czeÞ7ùfüA¬\8f£F\ 5\9dé\ 6\9aü\19;\1fÙ\93\9dr¶þ¼\9cå\fßðäè(>þAB$°ä\94"[\ eIB&°÷Ê\11?\88ÃÑò0ì\19\9fOKý\96\91¦ÿ5rwçî\81\99K°a~¥¨\1e=½0\91\f÷ \9fëÙH\e\a©\1eãF\1f\ f°TÊ#F=vg\19:u®öÉ\19<¸õô2<&íXT\1a\14<a°øÓA_\8e\92I\14øsañ\ 6ÃâM\87æM\a^(¡\8bk\1d5Á÷\b\7fÌ\98¹d\942_0Xù\7f\7f\1f\85âcØÞcù~&=\95æ>\98¡¡^\9díh_ÿÛ\92P\8fxn&=¥æ>lÑ Î0¿G¨ýå~þ\944=þ\1fÒæÙ\8cÃ\vë\ 2\\9eh\8f¿\873\17b\8d\9bñðám\94âÍ·\11»üdï]\99ùÿsg¸õû¯\0,¡ãj̳\væ\7fuoÛö?G)¨èvôß;u\91¦d\kò&\ 1&\8f\eé{yFm8dù\ 3õ&\7f\19\8d[ÿêhWúUï?é\9a\ 5ÿ¥\1f§Ãµ4|9¤[®ý·?ý\1d\16ÿ)ô}ÏèÜOÂðû(ë\ 6ÿÖþw}\ e}W\7f;µ·\81Üjær\9fÿ¦]¿ø¶né\ f3/u¨SQ\9dÔu:\8b\1d\ f·x\e°=΢!\ f¨\1f\85\17D>Þ`nÁÀü)Ûw;\1eçsÜÄ!öý\ 3v"ëºSºÎ÷]I\ fÂø\1f\85°7cbÓö\8b\aá\7fþ\ e\15Á\14×ìþ\11F\9ekïÓ^M}þæ?Ç÷<~îï+ü¨CÂ{_­,ê\8a±\85ÛJÎD×ß1¼ul¸Ý\13þ:¿ÿ+Üû\14ä&\16|gî,\ e±hzÿú¯sóé\9fOìSÿu#VI"\8f"\84\91G\91øS\v8©dÝ\1e×dn]|\13YñÙA%nfÇ\90­ÌÿpÙ;ɰ\1c~qX\rÍÚ\89øw\8a_Ìêï\9bæ]\91\98\80o¡NÀ\87C&Íöv\88\904[A#l[ÂöRÕ²Qi\9epY¬\8e\90X¶X\0\97£\ 5\91\1c\15\12¦y\8f]\84áÊ\96Í=ô\1a\92\9f:ªÖ\87"{\17;ÆÊÉ\1d¨\e$6\83ù ³X×ïWÀf
+\ 4\87è°)\17\8b\ 5Þó\10\eÿy\r\8fñÉtQÝÝFØ­!\86\18¨`äÔ\97\ 3ì!8ZÁgm\vxR5ù¤Lt\82U)\89`\84XçH¥\96\91F\16\17Ñ_´\82K®Í\ 3ö\15·"¡\9f\16|ËÁh\821B®!£³ñÔW|\8b\ 5\19\1a-\1a\85gÖ©2\17\99
+6Ge°f%V¦o<Å\16\7fÎ2\89s\8e\93\93\11\93à5ü\95Rk\97\9b"+\13\94!\9eΩ\16\ e|Z+Y5õ£Ö\ 4aC\a®ou\ 3$gä\9eG0½qäRs\16«U       \9a\86úF\8a¯\îÙ[¶&\9e\17ÓâȠ䬯þ\91uª·9Ä\94ï\8b3xm¾m\8bo\9bV\17\9b\1c¾\1ck¸û|ûl$íó\80Ïómò°mò.A]#cÉ=Å\85\0Ze8\96XãÓ\80BÓ]}äÐVZk×W~<\8d}tù\9f\9dd\9b\b_\86.1E´´bÃ\9aDþÌiìÌ\ 2ÏØ2\89ò±¨,,\ f\84\15É\ eq>I|ÞûƱ m@\8b\7f­O[\a\94*
+\ 3\,5c'Ѷ'  õ°½Aq¶×\95\8fȸEn¢$r:\82º©=!Ô\85­¦-\ªö©\eîÔ¯j§IS¸\ 2)'O_¥åÄݸ\96·ò{2.ã¯ê©á\e\14Q\ f\98\11ÑÞ\16g\18o\8fC}«\14\8e\94HXÀ_KÄTrY¦j-¬õc`\ 1\ 5/=î\9büÐp^ZWÆyiÍ
+4î¤ç'nä?ºþ\85E¾½\ e\87\90,`?s¼\ 6ز\ e^Ex!en
\97\12R\89o¶û`Ѻ\99ìõsà\8bèÞZ\7fVdÚ\11ZmÕ\ 5¦Î\rÚî´W°Ä°oÚôG:1nýÉ\1f\92·5\9f\86As¹!lc\81ë\a+Y¢u±ÏÞL\1f\14\16ÈÎè\/\93\98î\9b^{Ý?ÌZ\94ò²2çWiD>Äo\8e³\87\9aøø\93üÁ««%H\7f\98[)ÉbÏó\ 6®Æ\97(Dï¸\8a!¹®3\95?Øó\9câ*)·Ë«4Õ\9a\812Ë}\1cº-\1aËL\9d\87+\10®\15ÀB)A\89\v
+\bäíÏ&â%Ð\15 p\90\14¬\10ï_5âÙØÇ²n%``\0ÚÑ\89Uq\1c* ö',=d\18\ 1 \v=\17 á`NGùK¿¤<,\15\8eq\9fͤB\90âÊ´3\bKOÁÔLb\18\1cÂÝp¯yzG\b\98e\1cl5#Ú\9b¨<Á \85\9b+\81è£\16j3º]¤\15Ê»\896\9fLM@ÌÇyªY3\9f\8a­ìÚv»\84F½ük\17·\99D\ve\16_\9a$ɲ¢Ë¹-\88èÄ껽Ç\93\83^­Ö\10ý\vÒ>^Æ!\10ôß\b\13\12ì\89-=Ög\fúYÊ©¸3©j\9e`zU\19ìm^`s\95SP½X¢-^¨êà\97\ 3\9d&\16<\93\18Ì    \13ÀÊÚ&\87+yU|\98\9a>l§lÝD\â\8aÑÔxFf~\16^{\92Ë®ÆbI\8c\82\90ÚÛerS&\88\1c´å]0\92QÂþkÃ\82\8b\8fgoó\855·~¯\9e\ eT\9c\13QX¦%ò×´ÄÆ \95±\85Òãtéæ?\132\8f4 4ØÇ\86¢éù¶\8c\838F%vÏv-Ù,2´mDg­q\b¿>Çù\893\9f\1d­\ÅêÕÌ\9f¹lm«\14Æ\9f~¯¢¢Ö\13\8fÕ\9bv\96­ó@\7f\17\17ÄöP\9c>W\81\16¢EÊ,\ar\10¯¤Vì¼Ú#Z\9cK\ 6\8f¬·\93ïÙõMÜ3Í·§+\85ôñn\81\8a\8c÷`îÒß'\8aÐýÀIr\ 3 '\f)¹õNH\82 ËÏ1¯\93»
+ú¸ä\87\92ýÏ;.\95\99Q\9aò!¨ù¿\8fQzH6]\1d¸2ûí?¶\835,_8\83ò,tͦß+±\82\91·~\94±·\7fc¥rÚn\10\e >\84¬û\ e]̺ðAÞÙø\1cÌ|<N¢\9céG²¦Ú\15ò´ZÛ\9f\98\164±´\97F4¿@\1fÿ\8dE#Ôý¾iÚÝv&@×\18\9c\8fÉÃ\1cñn\97Ê\86-\ 4 \9d·»[I\19êÕ\93B\99\9f\9b+OG\9b\14Í+x\a0ÏÜë\13ÑL\85/³XÙ¥Æ\9d¸µ]\93D´¡îàòÅaÛË\7f»H\81O\9d\8a$\86^>½+Ó·®Ê,ÿ
+w\ 6í\ fd#ú\98\99\8cR%;±
+Âß¿sYw\b&\9b:\b\89£\13\ e°\1f\9aíÜ\a\8ejåàá\0ý\7f°\89G\8a\1cA\9cð´ÑâãÛð\b\93ØÂö_C\ 5\=ÑÝ®_ü3ñg\89Tr;M¶\86Z\ 3=q°M\81¸\1a-\94\9c\8c\9c\84Ùü> ÐSçë\88ÌE\r±GÉøÅÄï²\10P­ZÒVàËD1\ 2R\16þ\1d\bu\80ü:10ë&E¿\97ê\8d   "{\9b\ 1\9dö§ÎóD7[\1eT|ì\9dÆgk\ay\87hìÙ\9eÒ\ 5º~·W8ù^\90\\80&\84Wü·K\95ÿwó19l¥R\10úã
+{%òÙYàH¾\9aÁu\1f¢lM\12\95Ï~Vlîn«<\97g\9e%·Ã¥n pÕ\18Gïa[ú-ó­ZÕ\95'«â5^\93Õ7Ôf\7f-+,qR\9a¶Év\ÉíiÐ\v£rÊ\1e¸ìÄgéiíXJa#çã\86%ÅdÚ]\97ªÉ\16=R±²óí¤X u§¥\81xáókí\ 4\a´ ]\eaq\frkv\8e\ 3,\11ûØ\13t\85§¨Ï/\9eF]ª¬\9bP\8dÑ\8emDî´?ZçLVÃsç~\18Îøú\13\96\82µ\9b%o7\96áhgÁ !\8e\ 3]W\8býZ\ 3öCÝn\vbÌn\7f´§\86F\81iA\ 2Ô\9b\9dQáÄû\17g[­#\8c\16z\ 5qÃö~\81·rg\83Tf\90ý1\ 4q\99\e\9eðï\98E\9fWmĵm¯Ñf¦Uº\80\9839\8b.ض¹¤\98+Sn×\ 5\8b<ÜrNÞ\17\9b\9d\9d»§)Ìüøg[£\94\99\9a2c=~\vvð°¢ÔÀ£.ð\85\ 6:\82µ\94ò\94¯ð§ß3Ú.É\8e\12âØ¤ù¶(ub
+üöm\ 5¯òS¯i\ 4ß·¦\95¨eºc? Ú\81L\95\97|z<ÔìRØÎq}>Q\9dÂ5\ 6¾Ú|\1fÎÀâoÈÓɵ\8eßU} \1eJÁÖ×ùØ\92Ôü¢Ýº{¸Ø\vÍõ#U\1c\13Hs\ 5#\ 6\94Z»0»\82M\80Ä\87\ 2îË\8aq®×\9a\90â¢-¾½\80¤:»\1e\81}c(+Ï\ 6±\er 6äÎ].ƨ\91¥]ϱ \99Æø\85mß¼\14bb{84\90\13Û\83e;è\8cê½ð\e¥\´¸V(\9bãAu8¢~\84/[û¦hBq\8eT }ôM8\1cô·p\9a)\ fAvE\89\ e,EW:&(S\1cÒ\f\1cÚ/\81ùͳÝßB)\v²<\1c'Éø·\9c\1eßHöO,Ìfzè\8d\9f7À  ×Wlñn\8d\8c\anh²ðe =7ý    \9bØdr\1dÊ\15´        x¶\9aíâÚ\rë×4ð±ð+\ 6O=\ 3$_óåuÕ¸\8d¹\ý\88¿ÖX8W×Ìöð!¹{\ e\82,ñ¢vro³¸t\ eÜÐA\9a\82\14»Û]Á±ÑBF  rö×Ð{S¸\83F\f
+ï.\1d$£=\99·É\8b}\ eø\96\9fË)që¶Qypgúùq½S9R\98oV>FuËѧ¦\1c\90ï°\9aòµs\bº\9bÛW£5­WÅ\r\b£Î\1f\9dÅZZffÛU]«D«YìåØ\81ó¹²à_áE­64R¸tÌ¢½|¶°t^ß-ôË\8e.¾6%F~ê\8aª ûÞ®Õâ[À\92\83\97bf\15v\ fÐ\ 6\ f\84îV\88\8b \9bå\r\17³ê\85Ù\81vÏnmàÍ\8fþG\16¤\ 1\ 4¤zh\9cä\9b£zö\ fó\8cQ<b\80«p    n§.\85\9b\ 1\92ûÞ\8a\8b|\80r}ºÏqö·tÊ£Â\14v\9e\rE}\82¥\1cöÛ\9d;0V³É=¶R6´Sé\9e³E\13Úh}5#[¾gã\84\83¹\vÄB8\1e\r\1e\82:Þ{ãÜâ7O\95 {Q\1aƦiü>º\90ߦÛ?å%)_í?WÒKNGsÀ®îǯa6\96\9c#\9f\ 3|[¥gÏ\1d* ãH¯\ò\8d\17¹¡È\80«`~R\ 6Ò¬¹4Á+\96\989\19èüº\0Ü®¥B¤t¨\ 3Z\9f¢hÛÏ\17Ï\93\88"\84\90Ï\1f\9f\7fÃ\7f\ fê£\95%\fïô\95\bÁ\97ÈÎ\9bCholÓ»_\9e=\97\8d[HØcÙ>\14ÜDä\9bbmªÍãÄçZ¿\10\ fú\7f7Êù\ 6`'ïZþ#YÎ\ 6²Ëí7A³\1f\9d(µpº\ fkêpJ+a¿b\82Ã<E-+\1fRWe\11A[\e[\ 2Ü\98\13È?Ë®"L\0¥µy\86\9f¸y\94bÂѦR>O\18ªÆ\1d¬AAþn\ 6¿áÎ?£1øª\ fÓtòdha=ZÏÎ\83\88|(]¼)Ó\96r䏸\16ë\96ÁñÖTÍ2*á+üZU\ eWÓç(ßYD®Ëå"z\10¢\8cϬÎã<oË\99È÷8㤰Z,?ø¸c{\86;\86)|\14T)ë¸vE\96l\94á­¹ó_\ 3\fw\r<Yë)\17>3\8aá\8eÛ\fw\fO\9b((ñÜ/\8a~     DÏi\ 4\1e¯\r!+<\84¦·\86\92Qν\ 10\19J\15ÚB1À/ÁzÒb\8b#¯;\98TWgµu)\1d\82á9Y}\86LÊʽJn3\94_¢¤Bâ9gUMýîYkóÉ\93À\12µ£[)DïYxØèi¤mÒ;\8d\81ã%ð\9ct\9f£\a\13Zå1Ð\ 1_¡ý\80ß·B¿\1f×ñ\1cv-\87m\1d4\85\91ø\12Q[ué\97\ fyǦ\86äÏ\89\1d\ 5,NDÐ2M%gÙ\95ÔÉé\18\87\1fÿ1þ.QúüÁö\1dy\ 1\92ùM\14®\95M\13è}#\ fÌK'<{ ~½\9csx\96¯Ø\13f ¦v\81Aë'²¼\8e¨ç~\8d£»"ä>\16¯\9a\1a
+ÙxåoèñjÏ^æìýQÏ`/\a\14úÙt¬÷E¥\18óD·mk²\80]+´ý\84\13\ 3Ú¼ír\8cùÒê\89¸QÎeD»"9y^Ã94hg\12Ó\95CH·;\9c\13eGV.\eÂꣳ=³VÅhx\9c?B\ f\WJTdÛë(³åÔaɬÿ5D
+H@uTzBλ|U\8a\94×°Ô\9a\ 2L\99¡+¦A¶\95Z\82ã\993\1eÎ"\8b\eA\r»°°\ 6Áë\9agj6Õ;(7Ѷ¸­`\1cÀâ4Ó\8a'í%g\e\82}ïX_Ëp²&ÖÝ\81áýòÈ\80<3\a\81Çi\1f\9c·ZV}÷\9e3ýp\0¯\9bå=­ñ£\80»\1dRE´Ó¤pa\1cÛ2§\83\ 2æÒV\10º6°\1e§ý©Y\92¿\19{\ f\98\16±_
+\8bI8fFö!\8d^\bØ:X\ f!Ñì      \7fïì2X©\83\9a\82]J\10!ô>ÕÆKÜ\8dq\92÷c\bõ\rºßn\137\90ðÊì1\16ðë0OÜõhÝ1\99üâ(£¯\fæ:\1fó    -9\e3>W>æ³\ 5      £Èuâ\83\89^L\rõæsQì\85Ú\8cû\ 5\ f\95Ð\9b\17]Z\9e½.Ë\w\f\vi\12móS\8eÅ\17pÞG_ç9\Tz+Æ}\1d\vÈ}\1cìYxÕ\98uJnÜ«^½º:Pek0\91ÈæýÉ´j\17\99\17ø\86\84\eö~CYaÑp\9a\8a¯ÜÔO|-@ä®\8b4f¢\84q&§
+\%0\füá\1c\14­i\9c7s\ 5\e¦KVØn\8a\0\1cÍfºâK¾\17»¬\93¹¤'\10=(£,2Q÷?ýû\92Üoþ\rÉ\ 5g\ 3û7%øx»\92\9dÂ~Ý\94îé~\1dÉgøÛ\92Ìp\9a\8eæ\97öµ\1f7óµ\ 3\hOÔtêJÛ\r\9eì\89àø 8A¢áÉ­#(Çgú,Ä\ 4ë¥ÂZ\8btmçk¡oxd &\8eSj\ 1@\8an\8aܯ'®°óLùÍt,säØõ´§¶ê©ì\85
+\9c+@¿\10¬õ\ 6[5\1f³+«\1d\83I\a w¨4\f\19ËVuSPwULBR¦sXÊ\rñ-Uc\11Bz~Að\f¾È\8aL\11ò~Ô\eh·èð\85ôl_3öß3ó¬S"¿ý\1cAÙ¼\1aöPî\17\97\16×\8beNÖè§\ 5\ 6Ò¶\8a\89H}\14º\8bdŰ!KTÄPGÖ¬J\82@\8d­ÓÛBõRÕÕ\8e)6ô/\0Û½\16¥_\aÃê$ø±\0g\8d­\97\1eZ}-^Jygó\94Jë¡ßOD\8e³¸â\17\8e\9cá\18 \84\8eÒepK@LkO×1YýóÈ\13¯NÌ\8cWã.Þ|T_Æ\8a\9bÆKU0/\a]¬ÃáÚ¥\8d®uS´\85\14p\7fÒ\1f(.Á\9b\89Z6ìRS\93Ò\f\bÈë\9dàô\8a¡£ÇZk\b\v>VËÝe\ 6X.pðYg\98Ú%ÉOG\943,\92Þ¡í¤¤ùÍúù\ 3\95Rz\8a\8eG\fU:\88á\8aÝQÞpÅ~
+9\1c1HÂ
+6¨¨^§.\17·ûý¢\16\10î\95½1ôi    Ëø\8b\1a÷b¢ü'Ó\97\94nêVe8Ærz\84I+<K\19&\ 66\18T\12¢´\85\84ú®Þ9A\1e.yv\13\85E*.\97g\v­ÔOVÙİ¡A\85¥X§\85\85|\80®\91\95͹è\e}+yÔ¬õeÍó}\ 5äurÔã\845@]E?¬\82ÁÀh
+JàZVØ¿Æ6¿      ³Í=}ò+Mýeñ\88¤fM\8bF\95Ü4bÆ-xuºZ¼¨\1c ®u¢\8cûEÍÑ pÿ\95\9f\18Ë"Ñ\1aX§|\85\90\8eȶ\f\8bf0£¼«s!\846d8¿Æz\86>?N    \89\ e|飿£:V9æpQÇ;ý~)Ð\98»¸Æ \9fÆ®6Ä\ 6\9b§µ\11\91\ 1Õ9à:Ø\b\ e¾\ 3\ e³¼ 6G\ f\93\8d\ajh\80ó\8f\95ômM\11W\95\16\8a©¼$\8cø\19äµY6"¸ÅZ\89CÞ:ï\1aÕ\95TÔ-Ëõ°¼Ý   èµ\ eü¯9ÔE\16S\94\89\95/\9dÑ¢\94ÓRÁ˺±×ò\97\f\e\9b\13>êÓ©b/\ 5å£\125
+²»\15\1f\8cwyv\ 4A¬¨³êæÝ¶Vò)ø\ f\13¦~½)pß\82é\9b|\9f£
+U½m¤9GÇÄò\b\99ù¢
+½ù_\18Íÿa=\a\14]µí\8cM\1f\12ãG\8as±*\v6;Ù,\ 1sõmÞ«\84­gº\7f\ f¨acÎM(¯£\ 6®Å6ð±h&N,\8aùÕº3®ù|è\1aE:·×Ìü7Ðæ[\8e\7f\bûÛ\85ø_é\1dÖ|û\v\9eÆAÂ%\95]\88F%oÃ&a\8a\8f9í¯\ 1Dü8<°\913\8dãæeÅØg°\9c\158\8d\89äCЮoGDRÓ\8dÆîý^\Q\85TâÝîíW/\13^û4\i9\89\97ëgæÄ\83   ?\1eÂüVïµF{\17ìí\8eq\ 5o\87qÝó1Ýêg±AkEÝ¿Vèô\8fÐ5ø\14´úHÇL`
+µëE\ 6û¬ÎJ·'¢ä\fg\ 3\90Èqq;\92ê:\1e\ 2\aµ\1e¡\9f^]\80L\91v\ 1\r\8fÅ\11¨á$\95\9daâH(\8e°|ªñ\1d@s¢e\ 6\7f\89\135ÍQÊ\1e\10ö§Ü?_b¢Úµ_ë\80\9bÙ\9d\17YZ·V¥jÝ\86hj
+­v4%iä^7bD\10\8fièómØ\9f\8e~´¨ª¦¿\\9d¤z\aZFD\v°Yôk\835AÅ)Ýh\7f¤uO©\81Òj\9dcÂgæÑ¿ÓhÝÉ&U¶~uj¾©\9d\vÔLè\9d\1a1È)اËAÇ\14i\8bfT|¶W4¦\18\88=\8e\86÷¯¦Z¦v¿^f\11úq46Á\9f\8b\82xã¨\ 5£z«Ö*C¬\9f\8b6o½ð\13   p.Í\11K65Ý`cí&M\9b¹&<6ÌýµàyÐ\15\ 6ûÞ¢)~\9c­\90\ fÛ÷óÄ%\97ºÕH»ßfS|´÷+\1f\98¿@T\1eÄÙ ½\7f\ f\1dQmsÓ{¾÷XÎS»\v«I½9väðú´þ1h\8exnË\ 1\81]7\ 2_ÑÞ\9eÜ;ïX\9f\93)â´p9×0E¿m\151K¿Å½\ 6\90\89ø°[÷äP\8fîrïXA\97\80ñÎ\95ë\bS\aÿÝ¥ü¿\8c\1cT$/=-[ÊÕËb½íOä\83~\1dR\ 3Èkrk?¦g\16tu]O!\9dÉ­ÚSo#`\18D}\7f=N\v\81\8d,¨IÑC¯*frÌS     7êÿ;\13\16L\12ñe«üéøx/×AÂ|6É\1f\80sa\f\88/4\188\ 1uE½=xã\98\8308J\1e¸nâ\16üï\91+ÝW"Öì\9a\0­Â\98\8b\82 ?è\15vS4\14\90\1dÙ_Al\92²+¼\95\15âÎÛ\14#ÛH\9a\19Ò^¯p\8fMe5ú\9c¢ývì\9bå}À½n\9b\15        ­¬l\89"1¡SÈ\1f4
+°ó`\fj¯HØÙM$!%rù\1c¤\82øgý\87®\91\94m\17³^¸'\aiwî
+Ïpõ_\12õ\ 3\eáæD^â³\"`ÒÍ\15ÂÖ{\ fEóÍûÛ\84ºÂ\9b¢ìB\88Á®!]^Âm¬<&Ýd¨M\83ò\ e\99Ô'\1eÔð`Ë*êd»\9béù0uÒ/o\N×p\85ðæ,úAR×µª××V¹Ñ)a}\18,\9aÝU\ 6j+GËWæ\84\91\98\92\9dæªqu¸ÔÍÝqZ#¥\9fËæâs\vá\92Õß\94<,\99ÑIø\9eî\89sê/\9f\83¶t9kw£\13\lþr}HyS\93\86sõjÔ­NâÃ\0\83\8acP@±e®G\1fc¿ÀE¨\ e:@d\9a\1eÖÌ\17O\1d¼{K>m\ 1nW§gg\12\17ºuy\85\94=1tsÄïÛ\9b.lE\8f?\80\95'\17¤~Ç6Þ\9cZÍUZçÑà\10\85!w\88P\97[\87\92\15¢/\85¬)ù,H½ßo\83¦ý  6ÓA¯0}\1e\16\9b\15î\9e4)Ù=FàØ8\8aD29U\1eFBF\0åO\88xÞ«[¹eVÅæ\v8uî\ 2þ>\11\8bÉ¿\94\103\13\rù\9d:\18\93KW,\rWõ;}\ f(ö§Ú\16 \81® ¬ú\ f\8ah1®|Q]$;O\{\ 68\17À\15\19\10\82³Æ=;láö6o\89Ù¨Ï\10Ë(6\1fZ¯¦õ?5.Ë·bz¾ZÔÎ\9f3Vý=Ì!J\ f<\9e\eñ¤íMß³ô\bÔbªÜ4£\14\92³Ê60[
+Ìb.ò;\92\82\87¿}°×\8e¶ÓüG®     ¹0\87c\85\9cB&/Ä\9f§éX:\1a 3¡\rÚ÷µ\8d'/û92d2\12dæ# @\0#.\b,U\8b\ 4fL\88Ì\9309\89\98\ 2 \91¨\14¨îR«j\ 1Ì\11D\ 3L\92\933\8f\ 2­Qµ\15«zUwvÛ|­½"­½@\12\10E\0\ 4\11KZ\9b®»\98\80\b\90PÏ¿¿þû\9cÉ\90\ 4Vªë»çwo\9ew¾wÎú\0ïàïéïèßC]ôyßAÝ áÚÉ$\96Håo\ 5oÿ;ü\96Áº\95`lüK¶3ü/\8f\99ÏÙ1Ü<ú³\80«ÇË×\10\92ÎÂ\8b5>\rÄ/\15ó§S¿:\7f\8c¬\11¶V|ë"KUÓ\ 1\10X'3}Q\92uZ\82æ¤\ 4\rzô#sÍF¯U #\9b¹5(S*#\10FâÞ\19;\12±ao¦AΩ,MD\ 4?\9d\1d\104\85\0­\1et\8f\165\12ó\1c\1a\13þ³Ø9´\r\106I\9eÕ)\8a_\1fä|(\88ξååE>âïª>\17«m\96Ö\8aGÜE]\vH\93ëפ>
\8b­\9c\95î\eød«ÕçyÓîë\86\87³\\15\8f\0ìµKÅÍ+\18Û\9d¸)vÇ\19\8aÔ¦ÈÁòÛ\ 1x;Î\92\90~c\ 1\865VÜϺ«aG'Z+Ñq¸Åð¾D\15þéuéØ\9a\ f ë_â­¸n{Hm\16~\9bFML\92\89\13\96ê¿q\1a\99»$Ù¤\8bí\fÃHd\15\ 1VÊ_\82v
+\888\ f-¦|ö-v\94Ê$p读ç\11iõܳ^\19\8c\85z¶Ô\9c\8dÖ"®v\95\ eG;J\87#aR7Р¤xÔ\b\1a\ 5\r\1aÇD¦z\89\1f\13\ 5\1a©\81rð,C\94=ܬf1z\13,ûv\16z6èYèÛ²³\8d·\10ÖÎ@^\vb°ÿ¹!JõÓá\96(m¦Å½">Tf¸ð&R]´\16¾Ô\b¾êO\825;?/\92sê[åX\98d nq\87×ÃC¤ì¤\11á2ÖÜ\ 3QÛ¾8\93²Ëød\Ì\7f\r\94\8fÔdG¡ñ:ES\9e`Åï²\91¤»¡Æ ­°C\88Ð\9fU_Ù\80$¦Ä¥\1a\ 1gïÃ3\93VÔ     H³xÅçn\9cy\88UQÜ©\14\ 3¡\fø\86o\0BW-\8c³\99Qñà\8dTîóþ\13HÔ#Lé\86$ù"Ü^\99\8c2\ 3Ïc¸\a\ 1F\aá\97Å\1a\0¬Ûxé ÜÛpj¥Ê¬a亡\9c,1/Ëãî1ÉÏ\14fy\94÷\88³ðn Í\8cS\19\ 2®à\1eÍgö0ì¼\1a&,:ó)׫ ;Ï)\9c½\1e\95-\88£ê\82¿mSbEÜ\17\80¿cc%\ 2\93ÿë¢d¼\12\171\82ÔQ#\1fèÜ@a´±·\1c\a5ój\88¾çÌ¢ä\ 2\8aÕ\11å©\9aáª59ª~*¨¾7*wݺ¦NÏ(]­\ 5Jk\8d=\9bê¦ÆEërs9U\1fÀEÞÇ\8d\rÞy¹\19Ï0t"·\86ï\14Ü
+\1c\9d\8b\91Ç\89À\94,';W\fØVãUUjäü\ 5KSôâ\ 4çÜX0iQ[tíw0\16à\83:>ì6\82Î\ 4\ f2\92¢Û´ûËSë\9d>\1a\ 3Éq\bÍR\150\16\97\ró·h\14a\90\95\ 6`a\e\fq=ÝG\b\ 2¥fÛØQCä[\8a\8f\ 1oMõ§vë  \f\1eÈã\ ezei^ñÄÂ*\92êa\16çIÞä\80\98?$oÊE\92\fó>\8dÅ\86õ\98PN\16%~\96SdiE;r8\1c\8a\84\13\9b\86\13ùuÆóuÕ|dRþÑÂüJ¯òNÔû\8d=\e+M\ e6^\96GçÙ\9de«Qoz\e¾\81_®Y\8b\18n\19\1a\16\ f$étÜ\18\16{\8a   \ 3\1aÞ\a9Õ´ìÌÝãvΰÈ9Ö\1f\11\85R-³S7<Ì7xH\9fÔ,ßô(Æ¿Ø\r\89\8f¹·Lã\92|£Ks°g\87\11@·½'×y²Uè\14Î\17Ï5®Õ$¤lí¿\98\0äÐ>g\ 5\1f\1aï3\84\8f\8dmÍ4wDW\b\a\9aé´Jlcp\95\9bJ(î\95S;£\92ÖgÑp¢ë÷\a3ܱ
+\82Ç\v<\9en"c\83\87>AÛ\87i7÷y\80"½9ö6Ò©» g\93Ív}µt~\1c¬0u7Å;\1az %ÍC\8d9\ 1®è±\a½ø\12Ü[{7t[_¦»Â.OD%Z»û
+\v\89 
+滺²¹Pì,a¼\95\13\10¶ÈX\ eäïÏ\eâÛ\9c \et\bZ³Ð*O,X\87Û]¤\8b\ e\10\15\91¸jôá\8ftgÇ   EA/b\86\ 5RSÞ£¶EÙ\95¸\9eI\9a\1c\98\84'\9eëÞbh\93\8bú\vv5µì,\86\83\1cé\1aøv\85ÀXÄXÍã\88o\9d\eÂà¶ÎGý\ e}Á!bÞäÀkÉa\ 6H\r¢\92õò<C "\7fl\14\1es\fÍ¿£\9c\80ï>Ñ=\1c\94\1e:\84\85Á 'M\89¸\9fV\7fp²ä\97\80\v¿ L\14±Åk¥\8bf¢ß\ 4\8aÄ0>ä\85®L{¬)ùR)ÑÇÄ"ÞÜ\G\bâtÄmhdq8ÍOÄ\14×ΧЭî¦]<eì!5÷\ 6í\ 1Ý/r5\87KD\8e\fL¦ró¡çæ±ö"ÝÝõs\93\90
+ê=®\92\ayv q8©*\9d\85®ÆR½Ö<   ¿[Y\17YyR£\8c¶°\86ög\93\9dÇB:/NåB\8e\864áêUÕosÞàiVÿÄ\8f\10\89rpP) Ï\\7f\1dÕÏ\1a3NãFA\9b\9f׿\99uwØ>uW:\83Ë\84Ùwé}7@<êL\19î¨Ñ`÷¶\87\8b\ 1\1d\f\áÏÅ\9eÞ&A\99\eÆxr½É½Vµ\8758¶Þ` ¦1àN\95\82í\9d\94\93¯×\7f85\9b鯨h±\8a\98(U\1aôE\8fº»|\92n\1c\9bt\83¥bì\0¾zó*ø¶*xù[\9b]\94\86þéÎ\11+B\fþ½»\17FMì¬q¢\10µ\ e\91;Yá¹% »1T\ 2ÒBx|ñ\85\ 5?h}ô>î1\ 3èGÀ§AѼ\ 6è°<·ÍQ²~\au½i\r\8f\93\b¾\99#\9dz2eW¦"\ 5\87\16·ìS
+\13ãëÏcÕß_Ì\85\9e\18ækÍvj\92fì'\v§\f\8e·e.\¯Ñ\ e5îW\99Í4\0\13&\9a\8aÉ\9eX¿ö4\Ùñ\85>\9a{ÿXÂ\9fºÛù\85³ÿë\9bïüçm7ú\8bÈ\7fÿ¼àOÿ\86U\87\8dIëÌ8Ö\9eêaÆ´÷\1fù<Q\1f\9af\86\9eVA÷ºd\19þ\94æï\80Ñ\10\ f\91Æú\vÙ,¬Ñó\9b\147w\9e¤p\98/t\8cª°gú¡¿\ 5»I\1c\12Å×\8d\1e\ 6¬c\1fÌF\96û:\8a6ÏP\8cú\88ɦ\9c\7f\99\9eMØÅÛÈìNr\ ev&Ä\1e\ 1\1c\8dM\84Ü\80\15\ 1wƾÎHÔr\10<Y[\83A\1eú\85õ#\r\8e^y'\16\9e²°\96ôPa²ýá(t\99Ö¨5\82\ 6ì²\92)\9açE0r3ú1l\19ºÁ\ 6Óâòì\9f\19sæá?+Ë\ 59¸n\99ðá¾j-¥ÉW:Ë\ 5·ù¼~W\80E{RŦþO\0²Èm§¢\eï7Ë8Õ:<\ 2¿úN5Oí\16,\8fOwiN\95#Kï\0ánÿ;\98¼eyÌk\9fäm\b\vKé¦T¾öwf\97Ü|óKî\15³)rÅÃÕjÒïÙ n\8b!¸mÈ9æ?(n\ed.w¢i~¸å\ 5\9fÿQ\85aÆ//\85ç\1aRw×%æ£ú¼\ 3\7fÀÝÚ`L\8fÀæ¹Mgý1u?\9dâÈàz÷¦\98\r¿,àzÿR\96XÃ{\861\8b³ã\räv\ 5º6\97¬/;Ê;\ 2Ù={\93=zm/\1dò\1f¯è/;\9fÈe\87»¿þ1\7f²Û®<\87Åûãás|\ 2çæ`§üÏ\a\9cÿÿ\81»ÿôëÿãÉ{\7f¶Ï\97Z}\93\97\8c\1cg\9dsßc38ÎÚ\ fíã=ÔTh¯}:\9ffí]û|´¸Ú\9f-/\97\ 3\1fÁx;Í÷gå¥ÿí\vóiÖ¤ÓW\94@)\87ÏÿÛBüò¾Z_ð_Ôzï-/ø/B\9f·\8dC?ëRÿM\vó\1e\b\99øÝrM=¤\7fþ\83\8dA\82\1e\86äÌ¥£ÿóàbãfFé¿:M)\91ÿùÁL:T8\1d2?ÿ÷ðs_sä¤GÌÏþ¤\88öÆæúÜ\99âg\81å\ f³\ 6°£\8cãÚò¦kÆÛ&wÿ\8bÕX\80Ų'n\f[gä\84\as\84#<îÀÂ\1f~z\1eAY¶èr\ 6Z\86Ï\829m»\12^`º±\eó¼\ 1PþPÖùLÁà\aê\8eÈx\9eBE°kfÿ1¼è3N0§Û:r{\f]Í e0/0\99\19úãV|ÝdÈ\1f³Ú\eù\99tswÒ¹\15ö[\80¬-pýp$Aë0¥}k×̺³\ 3])
+\ 2JP\8bòL\8b\99\8f\ 4\90\ew¦âÀ\ 2\8fq\91]\177\9d\9aG:ì\r\ 4\8cÏ;EÕ·V\99\85\82°\87ó\8cy\a\8aö\ 4ØK":¥\ 3Û®Tºç}e\1aì\86H\87?#\ 6\16MÉû\ 2\1f<ËS\r
+Qìj`<ÝÄà\15(ªz¬ebv¸\9a´ízçMu\8f6¹û²ó¢Àªê\v¶ªÁ}WÜVD¾§k\91\19\89^ëò\87UÆV¨Ö`\84:ú¯·¬\88ùE\9a§k\8c«8\ ev\9e«\1e\92Iê§R\86õ?Ó¶\ 1å\10¶ãJ\9e'r\r\8fJJ9\r6\98ÊØSDG;\9b÷\e'\7f\8dÿg³Î\87³2¹\ 1Ñ=\95ËÖà¿)=j(\9dÌõìÐ\ füOYÇÔ¤Ó\95Í~\ 5rT;7ïÔ\93y¬å½f¿Stùvܾw\91©º|¾g;H\8eu      \93¯¹¼ìº9ÔFçb9¼è\bç979O\89«õ\81\9c\8aÍÚy­\éDZß_gÝ9´ÄåÐ
+ýX¹º\80ØØ)Î\ 4\9f\1c 7\91¬|x\ eb\9d=^uËË~í»Õë§\1e[çé,¶àç\ 2\8dvpãb\9dJ4\r\ 3AÙ¶¯[¢ÐÖ$Ì\r|où\ÀÕ\86\10 ­_üàj[>Ë*uEò ç\829\ 4)P¦\89û\7f$\fÍ\10]\13º\ 5zsD\11ìv\95®\15ÂVß\15\9f­¾ªÚ\1c¹ÉS°âÎ5+($7Àì\vö£:\ 4n÷EWA\13ln\7fÈ\1fù»\1e\f\1d\11zð{\ 5\12\ 2í\ 5g\1e\8fäH\ 2\ fÇ\1fÒ÷lwÁÆÏ7,Ç7\95 \8dw[îNÁòlÁzîûFãwAWÄ%\ 5\96
+Üx\võÔ¢¼\94\8eµ?aJYÝî4¿¸áfK®\86þ6mÈþS\17\10Ïùþ0#v¶\83¸¢ÆDà/»Ëµ]7NËò\91\8bKa¥\ 1a\9bm\7f\b\vreO\96\11\ 6÷³ym\13\84\rü\ 2fýÅ\ 3\ 6\8e\18\8dó­`ßEZ\93\85z\ 3J\9e\95\88°·\vÕ¿³ã¤zgÁ~\83\ 2ýOk±Ì\19\11A\13Ô\19\90ÿ\8e\91\b²D&fòKsàÿ1p\93+ ×S*ï\ 66m¼\18ÕF`&@'gÚË=¸ÎÄÍ\96\12ÿj\940"iU°\9dÄo\12\91\83äm\85\96E&$Ðç\8cý¼\a\9bø\97\93¼\14æ%&\88¿µÔÀ\8d\89n/\83\9a³\98óê¨ËÄ\ 5¡7SµÛæ\ 5\91\ 4ï#¢êÜCzµ°°ë\9c"TN˶ W\aö!/þ\f\ð¡7\82\9f¡À\16\8a¸]¯\170öÒv\88ÎzÜJ²i£\fñØùçC\80o\8c\19êaÆÇ3ö§{\1e\v¤­\10{M$õT.¢ÜQ§¦ü\ 5àã`ÙðØ·\17tôÃYÅ\13²\eC\88½zC\0D\axjOKã\9c\v×OKï\15\9cm²vC\ 5¡\8bq<\9d\97\865Úªâì\9d\92¥ÊnsѫŸ\9f\89Û\85íìz\11]W\ 1z9èKz20Ý     Ú0:üüð\8fr\82ÙCvbù\19¼ÌZ> Ã\84º\8bÁj/\9d    xÌL\83    l\9bzóH7\87tæ¾Ñõ÷.BßB\ 6\18¢sQ|èÕ0      \8bp\ 5{Úv» t\ 3`÷PWuXX0Dc¼cÝ\15k§      Ù\83\aãS,Z       \89³\17Otý\rl\ 5²\rÔk´\8e\94.×V\1d\99ÈbP\ 6\87Î\94ÖÃcõË>%\80·§]i\9f77"Þº¯ºrw\16#©@ ½õnþ½\1avCÝ$\88oÅÛê\ 1£\8cíÂvC@ò¡\19g
\86\8aµ½\ 2v|\ 2\e*'ƹ,Iã\90#\9cý¼":5X\19\12g\85õ\18ã<¹\1cÒº\9aF×ß\97,\8doJùkp\8bù\91\18H%à¨\7f_p-CY6ø¥èð\0\1933Ê\87\8eòp\80î»"çbï"æ%ôþ\ 4âW¾\10ÒĹ(7\19\^\8e\8a\ e\ 1=+Y\16M\ 2v]CRðYÅ; j#\12¢<¨·Wxö¢Üçc|\1fñ]|\r\88\ 1^æÀ$y©\16þ=ùÑ[¨_ZdÅ`\9d\1f\8a%\8b\85G˼õr<B\99\141¯3ya¨ØG}\80¬´\7fÑ'jÛ¨2z\1cg÷áºj~)âÐ7Ö\16\8b\16Ã\89\9a\ 4&çá\aÚÜ®}oú\18\1a\1e\ 5³ød{T>ÙÕL\9d¼áÝû\96Ì{¬\1cÆbÙ\fDzñ       \98ÒòÙ\8e)\fÆs\98Óf³\13ÂÔÒ,¼\99\98ç|FYçÜñ>Fx\19È\a¤É\98r'f³\ eõ¡Ù\81.P\17\83<\fkû°ðØ\89Ê\ 1\rxW\88i6ç\f­\89\ fÉ\15hü4?\14È\89¬\8d\98¦\865F\86?1\81\86\ 1\12\8cú\ fÉ\9b-ì]\f        Ô×A¹\8cÔ\9f·ð\9dÿ\89pFYTfB:-°L²\16\10\17\91Ê\14ø÷rbmînÀg@`\ 2\0u¸ÉÔ$Òh\90\ 2\98 \ 5ë\8aßæ@S\84\0²\ 2ù:\8eSv4°O\9d`\ 1ÔØ\0<Hô\80:q´É\90\1dã\1cÄxyQÝ\995\9céO\12këß\8a$ÌEX\8déæ&A\93\91ø\ eßQ\ 4i_Àέ\b:\ 3\87«âÜÈþÊâ\98ôÐÈ,´\82\8fP\93\e0ºUûùrèx<¶G× ØÇ/éÑ£Öi     ÚÛÆÇ\9e®\f¦\8eËlE_Ð6%}ÔÔ9³¬mæÊU$lw'Ç\ e \e\8có#)¡ð¾XÊeü)\91\94¾s!Äu\97\14³ì\ 5\8a\91\9fÓ\1di\83=Yi\v¢b\1dö\9e\11áÞ!Ðo·r>Å\ eù7®@8îÅ2zf\84\b\8a\83^JŸ¤O¼¿qÇ\1eô\9e\94khÌ[\8aTì¯eʽ§enS9_\ e~Ø(·\17Õzx·\17äì÷×\al¿T¨ö\9c#J\8f½ã²ôßë*8ÎÄæº@ì¨À\13^^ÆY\99þJyÑZ\83½\92é
+\93Û\\1cÐ$eôÉ!\86°} Bwy\8bBv¼8mM5L3ça~°a\a]?\10ÌíòÅ\84·\89Îg]\1aj.\12~\87\1c\98Ú\12ùD\85\98\9d\9aj\8a\ 6'\ 1\aÑ1Õ>r\90/÷ÖZÝ\98â¾k®\86,ss\1aÀ\81L\ 6¦\91ÈÜ©\1d\a\f2\83­FW§\ f»\8eâÀ&Âʸ\139Eu\94ÅRéÉØS¤{<!\bÔ`\8d\89ê Õ¥\ròF\9e\1a\e^       ¸ÑòUiZ1b5\ eEUÆ\1aðé:èÒL\1e\1dé6Êþ\14\9aL\92!\12\801#ÿ\ f\88Ä\8fø\ 2¨\ebQ\ e'¾Ê\8f+[\ 5ÛmGá\eUa¼!\93õ·èðR Q(Ò\ 6\15z\1c\17ëâ\12.\9e\b(\94¼§Ú\11\ 2\aLJ\83\13 \ 4\8aÿ\ 4u¥e'\ 6ôKþ$¦\1f\e\19\89q\1d¸Ò\ 5\8eÉ!\1f\ 3&§E\98éw\19¯Â\91YÕü\14¦ÖEÉÌ|$x$÷ΧXÁðhk\8e\f[\1f\7fà·\9e\b\8b\9d
+\92µÑn)ÏZ£\16ãë\1a!eðt\9d\92i ðO\1eaCÃ\9fW"»ß\\1e£\eIÅâ²Þ\87G\1e\rZ!þÂ+v'D\95>s¶$F~Ä»\r¥éî£\11ÀÓ³\18\8d\9eç4}ÙÃûFD\1fºé\13t\9cpU¹ìülûNy\bçG2Þo2M\87\17åVï'Vè4ér\95^Xæ)á¢\18ñ¼2U¤ûÞò:0¨\8f\85ã\12Í\88þc\1c\85zMÛßÿy\ 3{­ü¹c\ 3Å!¬nO\8bï|¬\933\81\99),ê%%ì<\ f\97 "¿Àùº\ 2$òJZzú8v\ eß7ÂÄ#blC~\96I§O\rû]Ä\9d©/^\9c7\7f^ò®>\12Ð]7\1dH#¨õW÷]G1'ÑÔk(Ï\99_yæ©Ã©Ô*P\f\95PÉZó%\DóÔZð]VVxï{å>§P£\ f\90×([\1aô¯~\93B\14oà-a\ÁÅ   i<]8\86Û\8d \7f\9byZr¢ÚÌõB\8c×[ÈAÈîu\86\90ó½ç\88        ñ¦\eåû#Ä?\81.´ýúD¦yÇ6?À\1f\8dªÆÍ"ó+9Î\14T§kÁ?|%¯\1c\18:\9aG\8cìF\ 6\93À2\894\ 5©Ê¢ï±Ñûfä \ 6\1eN×Ö!G\11\80\18rÏWÜãù@0pÑÙ}GàJè1\14ç]² |k\ 2ͯ½øØ\14\8fZärJdm\8bcC§Y9Z\7fÎuêthf ×»ò5Ýÿ\10^ÜhY\ 1A\14\88 x·ï7+9\89á§Û¿¥N×"Fϵ᧡|i?vÃC¯\9f;¦Vù\ 4Ðã\82\1c\8d+\0\ 6\8c\8f\ 2\19\ f\16e(±ÀÃß7\9b[Mñ\9dxnf\8d\8dð\ ei\90ð_Ô¶\92\86tXÿ\ 6\83\94Ý\r\r\1ff"
+øíU±\90ßOôh¦<8ØÞiÊNø$6ò\8e\91cÞ¹\8cûïÓµäÈý½Hy.0>\19\87Ý@\e\ 3r\rî±á\11V\w´\\81¸ò\13³8ìbÚß½I\83\ 3ý#\15W\91Õu)4ù\14 zËöTÑrY£t{\95Å\91\947ËN1ѯ\ 4\1céâuÐØR9É\14u\891áir\r\9d[.òsc½\8e¿þô¨$ <ß§Þ#\7fáàºÎ\99¥¨¿q<\9f\81«\81\e>hÉÆ\85K\ 24G/m\1fß´Xw\ 6n¾âvC3x-\84\83\17ºOMF»09\f\9ay_kDî\89;:\92\88'[M\ròÝÍàx!xót®\1dè=õ×Jö/\19%hÁá£Aâ=\9bDê Æê5&`Òª\87\85ó{þô7¢Ò%-0â`-\9bCûé4JP\fª38\b\94VͲ#î¤jNß½\rc2i,oú\9b\ 1\b\ e:\8bõÜ\0cÑo·\86H\8e\14è[\18\8a[7C\8aï\92\e\18»\81\90\18\1c¤û\181XVFÖ×nø¤\17Â\ 4\14ᠵ젯GA{\7f|\90M\82
+t\90_\91\94\17\10æÊövt\17ö\9b\8få7\88h~ÒhYAm\8e\82À\ 5¡\a\ 3WNÌ´\8dIñü.\8dâ¾_",>>\8e\8a¶¥Âv\7fÖ"^þ6~ø§Í¢¸Â\9bÿL\eë\8e=ySÐöºR¨J\83¦=\1a£\ 6®k9É£êÁ­c!\11Ã\ 5)4zT\988Ó.GLI<íY$ÆÉ\165\98\0\92:\ 1\ 4=t8Î\1e\99«\8f\9bÓ|ú\94|ëÍóèþúG¨\r\99 JëO\8d\13q\1aBÓÄÒ\9e\8b¤ç\a,czñÙ4þ\9d§2+ÙP\10á\15Æ%i$k×_\19D\18%ìgiÆ\81\80½\ fÇö §\89à\90Òé%HÎ\1a\14\bòÜÐOÿÆ\8bê¿Þ\90Vr^
\82\8f\8fóH!Á½aR\ 1\f,iå#\ 3\ 3Qã¸\96\1cÌa\9dVõÕ\9fÅVÅ\89P°{Çù\1c/\81\1a8¿£2\9bæ\91\82«·\15B\Wí%cN©ëª\8e©¶Î\a
+\98«ù?R¯á\19W:\9deT\91\1eÕ|É\93\9bJ,\e,7\ 2C\18VMÌ®\95;[
+xiX:\0÷Ôð¦7\94Õ;[y\18º¡\11üQ\92­dW\93\10\ 6þëìjTyüF\16ó\bw9g\17F\8a\9a£DK2\9dã57ËdÎ\ f×AyÀWîÂ[ÜQæí;,±X¢Hçë¹ì0îk!hM@×¶"g\89å\1dâªU¤\80°e\8d\b¯\1e/=yZØnñC»\11ªá¹Ð@[t¨Ò&\v
+tt\1e\16Ê"\eîêVü\96¦\8dQw\83¤\9fÒ\86\91aNzG×\9eª<\0À\10¥\8b­FxU#ÑéÒ/\v4l\9b\9fy³½RY«Ü¨ìmù'X\89¼¨!ư\f\13AÞ"\95}²½ã4©GÏK/];.l4~
+¦D÷NÃ\9dÒhC\97\ 5QfÕ¤\97 Qlu+'\970Ê®(",'-\e\122ü2yùÃ\81½Õp\9ezªôp\9dÓ\8dýY3\8b\83[ße\9c³à\ e-IaZþ\8cÃ\99É^%`\89\ f\8ae\ e\1e·j±êäªK\ 6hõP\162\80Â|³ã\99 \9fÚvz\86\87©U¹n¶\8b0Ýt\vrÛ¯=ÓrÛ«\9e\98íÕ\9c8\ 3¡\81\16± 9pá3é\98\ 3\91]åî\99×<Ë:¹\ 1[èÖ<\87l³i¡hâv|v\8cÁb\9f
\16\94\986 E\9fç>Þåªe\1c¢|[=$1£ô\88\ e¾ &Ç0Z<\ 1\15\a\99¥®\80óÓ\ 6\9dÓ\ 6ªøzÞ\eÌmðS­Ï\9b\8b\13\7f*ô²\97\97Ë
+¨Ä¯Ðj.\bò\160"û¢Ö5öc¤Å¿\19fØøì¹H\84\eÑ£#½\ 1¢Öù,ðªüÏSÈ÷:S¹Ô\ 6»A\16¯[¥I\0>! :P6læ8ª\11\99 H\8d      S\ 6Á\80Æ©'rXÃO¶zÂ/Þ\9d\9d\ 1\1a\94\18;\18¬ÀØ_ð`{½\ 6D\11\97¬D\98\a§²Íóñü4x\ 3}&¤I\153d¬æÞÇÚ *øñ¾\93ßû\83PÑü²¹×\f\86¯{\ 1i\16\97öÑ\92\ 4Î\1e7õô~\14\8c\8eô\9eN¤ß`jÅåÜb\ eü§¡æóF]\81#QÒ$7\ 48A5·Ø7:D~\90¤ô\95Jú;\ 1iGæEÁwR\8c
+¹ÆêЦ²L¡àÛ\8d\1cEÛ­®ô\ fPcÖ(¦[­\9d4K\1eËÇR³á¶KÍ¿iEºÆê;qndzz3í\1fý}*\8eÛl\v\81í\15³\1eî\9fÞ#êW<¯r|]!J\8bº\80ê\90Ål樯\a\11\85¢Oï~³á;Y\ 30\87Ëâp\0ó\90ñæwx8þ\80øL\9e&\91J\87\10G\ 3ßÞ©¶ßZRt\ f\fä\94\8e\8bû~7öGããK\97ú\92\90æØ¤\9avg.S`ÛÙ7ø\8fþ©\1aÿ´´\ e«\18\9d\17÷@n\r³lå¡t_ßÿ\89¸uÑþ\0Øì#×Î(¼p\13TZ6ûFãÕÞâsª\7fN¶AluߤK\ 6îÐ#¼â=\0\95gÀ<\f\9fÑÈ>ÍÁéÌ\90\95=i\7fé#\17D\15®\90<µü\ 39\90ã_ö'úÖ\aÜN×>Ðæ\11\bZ\94ýG\18­"L\1d7Ö5ÿ@\11V{È\9bÐes½!?\99hÜ    oÒ±UÈ»¿æ\8c£Äç\ f\0M?Dwÿ\8c\93&¦>}\1eQb\aÀ÷¸÷pa\14ñkýTV_o~òLø\bþÆ\96\rëìæM0}+Ï^ra©¢\9eÿÍ(,\1f\v¼M\9aö>é\1d\9aÞ¡\ 5\98Ò?¯ß>+\aW\ 67QÐ\86v\85\10\8c·b|<\8d¢·°a\1c¼à\1dåPj\98Ý_\f\8c*5+\9f \97êG" õ`\91rµÍ\18¹\88\81ç¢3ül\8aL\81\90\17ì\85Ê\9a\99)³ê\ 3
+âD)\87öp\96¶{\1c\8c\8b{­Ç\1c2¹`ÂFÖzµ[Çqhf3hÜ\1cÉÓ
+\f(\11Ò\89^êD¯x(\11{§-\15À@8_\9fÞ Õ¸¶ÉÚãk\8f\10rоä\1aµ\14b\9e\ 4s@AmÁ
+lù\1cYã$@x\9dYðOQµ4gÀS\92OI\9b\9bxáÝÁ±\ 6Pd\e³0Ú»\eò¤jÒû1'\1f8}\r-}Y)\        0¢\18\va»R\9cù\19,8¹Úv©Ù       \9ejïÿ¾ÈQOé\8bç´/\9a\0»YË4\91\82ÁHÁä\1a4F\8fþlä_\ 6ÏwÖJNÏÛ>ßX{\16I"øJ!\881©&\88d\13Ú,êI\11«\f­\8a\ 5@\1a§ªÕ\9cñös0\rÔmçOà\98£YKWw+b)\7fì\99`Z\9c\ 2ða\94øö&ç\17~,Ê\ 1³qkì\92\99À\17e\17sY\ 4­H¾«Ý-a\90`\99d\ 5Þ\87ôá÷÷'ªÇ\90§BQ\9dõâ\8e³|\14ý\99ü\19éwf\94Àiós£JëÃI9 Ò Ê?ÏÔï\81è\12iÌ0\9d\7fdW\a\95\17±\1a\14ªÐ\8f\90î\9a\9b\ 6\98\8eß5÷\14_¨üd2\91æ\ 5E\8d\8cRëöì4eH93j@o Á\84xbìM\84nYÏx\13\1aþ\19|\8d­APcú\91J[\9f \9cÏÒ`\e½\15Õ\rbÌ \97mÅѤÁètפH}\v\16Ú2\e§\9e¹ÿ¯Â\13      Áï\vC\19ªÃ\10]G&f\98Èff\86e°#O\9b\9f´Î£\1djPM\19ÎhY9ñN\95\85i
+£¢4b\1e\10¤\94¯\fÛrCÀ\ehz4\98Ð÷Àz\1d\9f\1a\1e8s\9d7Ýh{àèѬÑ\9e~\80\88Ó\92¾ãMý"J_)£65©\87¬!ø¼3\ 3Ê\83\9b·-o]\1f}\b\e/Fà\8f!%\ 1n&~ð\ f{\97Ñ\90cMïúëæ=Xq\92®Ñ\7f{v6±)\ 3'¾ÆF,3évÐV*jò
+§"êêP\13Ï×h¹\râ`®f¡÷ýÀ\bü/C\8e\ 6%\fÓÈ\18ByéÄü\80ô\9d\87      ãÁªª6\13\ 2\ 5vx4\8aX0xþ\8f\88Ù\80ßV\b÷\98g\1a Pdï\9eÌ7îêS²èJ\18½¤¸\v÷<gëè*_¯×»~¾S\ 6G\97\18p@¨n\1f\ 4¯FoíÞ%ê\ 1\981\1ef\rÅÑæ`Óµ\9ecå&Øô°`*Õ\8blf\83y\0áûÝ\ 3g¯6ú\f9¾ËzQdõÇ<\r\ 5ä¼9\15,\1csÔG\86\8c9h²hN\vi\807â¨\8f.\1d+òÀ\8boLʦsÌ©-y`ó*\1e²\ f2¡½\a\99û\95¤\a\96ö\84\r\92\94W´«Ô$ñ;)\1e\9f>\91\1ek.\9aOã`òð$|ÚEoc\ 1¹#Ë\8fTk¤mÈ/\96ݽóðd\84\9c{ç;>\94´á\93³ßrNvè¼Ã\a\97\ 6W&Òmå/\98ypf\ f2\10\8b×-Ú«o#ïr%Ë+¸\10å§kv\93¯ä\9fç\ 5{ÿ¤h\1fÁwÔÁMøÆÅ\9aÃ#S f\8b"\ e\9có\e'v1\82cJÞ\7f×\v\e¸zFK)#É\97là-»3ûÈô\9d$s\8e^p$z\ e\919ì¹jÐ\9f ß?\81\1fåÌB\17¼íÐêìþ£\92°\1e\ 5ÍÅÊ·Ð\97Ë-\8do,v9ñJ\10|\98Ko̪=ô8\aÙZ9X\1f8¯)àÜ}\81¢«I\ e4ï@F¶Ä¡êá­;Ó\16\15í¼\82»­\ 1¡\ 5\85\ e±|\7fÜ/\ 2§\8cêyö\92úæä²ËØA[Ý\1cWîë]D\9e\vì¦ÉùÙv÷k\96\bYcRæTß;©\89£aH%  ¶\13@Ä¿Â\95?@\938cMÖ\81l z'¹\1c\1aÑ¢¡sOô\9e(bÁ×DóâTÝ\889»Ô%««\94\8b±\96z\19\8eÞfø¦\1f\7f¤ï84\9aIý@\1cÐ\1e\v\8d®â\88}üq÷FJþ®CB\13lÞ|SãX\ 3â¯W\ 5NF\ 1\95@çWÁ¶40dë\ 2}úv£\81û\87\0\enoä0Àÿ\13àÿsÏ-¾OU\ 2\89\83Ï08\a\9e`\18/Æ]ñÏÒ\11$ÜÚ\ 1\80\bاªÉ\9a\15\99ùäíbN¾Z\13A\92)ãOCy¾OU\90»Â[Ú2qüø\ 5± -ê\97\80\8aÅÔ\94»l\17> áê\f=\80\86w\8e¶Z"\87ó\9eyJ\19\1dq\r\18\90\aåÆ.\98î\89\aú\93«EVl]e4\8c­9N\9c©\1c\8f9e*T\8d@¤[\86\91=^`8t\ fU\81t\b\95\8f\0+K,Cz6k6Ñ\ 6\qªN×xFªûç\8fÜ\1f\95\14ïñ\92>\9aÀ­®Q¯8~·­®y&\9f\1e\86{\\9c\83\7fææéA½~]E·Æ\99\80\1epö±;Zê°n\1a5«ìSµÆö\90²ÀÚ0îJÍo\ 1xIHÁ\12ý\92\17¼Bñ\fP\1cäS\8c^\1eá»°u\9c¤\82³\8cfy#Ðͱ Ä\ 3£j³=3´>&VWIZå^®µ²¸
+Ùäì\87LVr÷Zß9 ­\9fW#[{Î8­¿g3U¿Z#gÉÚöUc"\ 2\88¢Éív#I\81\12\8f9[A\13÷\fi_º\99ÞøÈ-#\19àÊþ\1d\9d¼Zü:JþÅ"ëkzÅèpldWÍ¿'tÍ®\83Á\v(®.J°wôV§k\ 5\1aí%nÇ!\ 36\89¹\18vy\1e\87\98^\f\9d¼·ÍôÄ
+\81T\eûL®\bßÜ"¸\13\7fz\ 5ofþôªó¦þä\95qæ4:5V¬]µ\b\rãù\ e®\b£ñ\8cÃ\ f\ 19[]ú1\1d^
+\8b]á.§$Ò\93Á9\87ɽ\82\19´`-¾\80\ 6\81Î\13øüwÖ\870ð`Å\18\ 5ð¶Û¹.ØH'ð·\0ÈÀªF£tFÐ\ 3&tù~Á!\82è\f\f\98\1e\81ó(&¨>2î\ f@\12fpól­\147\9b\Ñðo\ 6£0ãyq\9cϧkéH\18ÇCÚÍj½\89\930r\93\92=Ô}ñFMl\95~÷ö\95û\ 4\e\16±Ù¿¾\91§,
+\9540lpëà8Ôí*\92ö@ô\ fY@¦þ£§b{\ 3\ fNmÖ/\92\ 3\8fÏ\rIf\97§\8e\99¬\9e¼\83\ 4\9dt\9c\³Ð|~\13\86ñ\v¿J\a¿ï#\ f\12«\80iÛ[À\97l0§Ê¸\vØ¥\ 1kb\ 6\13Ø>^ò\7f¤`\ f>Fu!á\ eiiK(\ 6\aÌ!Ñ\9f\1dé\8f\9d\12\r
+ÏY Ëi`E¸ðé\eÈ\vk¡-*\ 2Ü7Ñø\10\167ÚS\ 6º\97zWû\b\v|\ 1Ôs!º\1f'`7ÇjF!Ü\ fF\94®z\eÌ{ªh\97pjâ¯(´¦Xp\1d\a\93´êà\ f\ 5ܬO¢Ñ\ f³<\97¢\96\9e\83\9f\95{°æyó}<ж\ e\ fn\1e¯´]ì³=r½\93å¶Ï\96ö\86,ôhG¿yè«\81\82ó\7f\9b¿Ã~³ìϤ½\9a\92ö\84§Ö\1dO\89¹79\87O&Ä:S»©vÇï2HP¾øÇ¿sÁ[~K\98Ìܪ6\10\17£{\ e-e2½\b>>¥1â îs5y\14º°VØC\8dC\97*^\ 5àåç%vfàʪ\b\9e}\b\9aùÌÕô\91Kâe\9f\16L\9a\8f±Æ?
+\87/#Ë~s¶yVpÇr©q:PuêúcØ\vÁ\8bc$iN\83*J±\83\12\1cÄ$\1açñøp\ 1µ©:ÞJ\8ddÉÅ\91­Çí\8d\r\ 3é\86\8dG¾f\95\99&\95V\19\ 6       \96\94L|Ð2õÍ"´í\8a\18å\8càiX¶9F^ìe\7f\90Kàæ5\8bó<ÐÖ.\93\802ÑÖÎ\ eX\83!\93½\80m2=WÈÛXÿ\8cïå\9fç\8eÛ×(·     =VÚ\12ÛØ¼tà-ÆOL4þð÷æÔì\81ùÆ^ÔnS²\ 6Æ¥/\87TÇÃõ\91èª\1a¦*ùÏÁбð+Y-Få\¤]ôê¯\9e\8d\157ñOº#=¼AÐ\17\8d§Qw\15¦ù?4^Ù¤¬ë¢$X¡Sò\1dÃ\86\86¸\1e\9e¿«!4v\1c\14B¢= 7úN,ê~\ 4ê|â2\12\8c_E48÷\9c:¡:n=lÌ\19Ö?Ø\9e\ 3ÆkëL¦\1cÜ\8aãr$÷gGíÕ%0\82}ÌÀ¤\89×\8d\17ÜÌ2§ùfçÃÛvn³\vö£\14Ï,
+¿15pïU%ÁÁ(\177\ fÆÙÖ\13&Kb>$·×$¶.³\95È3(\9f\1a
+\8e\19\17÷9\f°ß<¸Ì\15ÕJä9à\ 3\832ø¼t\9e\9c\ 4zéûLF\1c\e+4¾\ e\9cÚb2à}\98       Ò ¨4\12þèÈ"\7f¿6M²wås\9b|ÚLb¶µ0nnX÷õ³edPÊv\9a-
+T      ÙÛ\9cFâüGG\19Õñ}$Ö~ÜÌn~k´[°À\ 3Ù\85Ñ\99ÒúüÚS,T7÷L,Òa\9daês|§çÂÍe·ÌÛ/ÏÑ]2ßá\9aB\8dU¼-\10Ľ\83\9bäg\88ä\1e\1e\15(t'\1fÇ4T\v\94·ä\8fáq\ 6Àöþ¢´\8a\f\8fá;VÝþhö=2´~:r\ 2®Põ\ 3¿³ÇÍ0Í$\8c\ eÝ\87Z\8f\9aÿ6X2ñ\ fw¯{¬i9)\13Ó&I$\92\1e\80À \ 4X\ 4\16,
+\88@s&b9\84öCØ\19$\82\r"
+1Ðq\8c\80\10\1fd\ 6¢Ü¶d¬\99\975mçªí޻Ͷ÷VÝ{\96îÛ"\15T\80\10 \0 \0\ 2­EZ¾Ã\ 1F\95\80
+³ï÷ÿß¾ÌÉ\10\11¶ÛÝ»{ówó¾\ f~\80ûà÷Àê\ 1Ý­\92IdrG¦$Ç?0\86\12\8e\bWÕtÖ \ 4«ê£2ÞK\ 1\96Ã+Äo(\1f       \84N\ 5ìgÚ\13à~ó\ f·dGãÉ\97N\0=ÞU§\1eUÌ=2IÀêMô\1cßÒ\87Ôw\84ú>yå¢w\1a\92tu\80|]ú\89ÿ3ñô¡êWü\7fïÔ°âÉÍ.¦C¦\0$l\96\84çln4MÉæU´ßÉ\1díc ½]ú
+\e\1f\v©&Ç Á\84\1f<Fi\9d\ 6\80ì\85Í\86i@\86"n{\1f\87); {8ìþ\11Ú\ 10˦~*p0Äc@Ô\18\9dñ\9bÈ\h¾\88\v\82\88=\13óìá\92,8\1a#Uö\95\ 5DZ\hÈB&\99\0 +òYGò\95gãÙ$J'\1a/ÌUúÖð\91È\90¨\98}µ^\19\7f6|¤\8bd¤×\99Ã\14\97Ñ\rt æpÑp©Üm\82§£\16ª\1dÅK-£\98*4Ã\1a6Ïx¸¨9pµU\81¹Ø±OêÃY%\81o|ål\89\99¥:I´&qu\f@Ý~ª\8d\ 4ÁÚÂz&4ø\81DzÔ\1e\ 2\1c\bO\91\0­,M\99óVkü5\1fÖ\13?\vQÿ¨Lû\8d\84ÍMGúBgÕê?÷  \98\84¾&\18ê§÷éÿòù^\1e\9c\94+3*,³Èõ\7fZ¬±\91\19\19Km\152ïg\92\16\97®Þ¢¶/Z¬*\8aÔîHØx0óÕrÃÀü\a\15ôì8LR\88¬\9e¹eë\93\a=m¢Ëj·,K\14X\7f¢\89©úTHP¡A\1a\bé\8d8\8c\12¢Àß)3|¢¨\ 1
+çD\19°\887¿D>M4hré~\94CÎÓ\1d\10b÷Ö4`õ\1f\9d\10¶x¢\8b[t\8cW%d¬'.\1d\ 30L\16\8b\ 5Ûmlæ@^$a\rØ\ 2Á³ðtÉ03å®\14Ùº\98_\ 3Â9ð\9a<Å»\92¹\ 6Î\13¹ÎØ    \90\9e\17(QöiÏ\82\ 6iÜò\9e¶u\8d³\95U\93éx¦hwÅ\98zqÑ\1aÃ"3u0¹\84\f\ 4]T\rºÐg\f+í*Q´d
+\rnÁïX¥\18Öðg\b\0»\84\9a¨1ÁNûJ^\9eu8μa»¤ÃöØäíy2dl\8b\ 6\89Üfé\81¼ß\1dQ6ÛYõ\a\ 6K¯ûIVwÍ\ 2\98y
+®¸`óÜ-ì\sy\87Ø\8bÜÆ^PLhækE²T\15U7\89\0i¶û`0\ 4\81TÈ8uÞuöå;\86z\1e¨ÉøÐ\82j©ù\93\9e\bm4üÍÙ\9cø¿'\ 6g<ruÍÈsç,öÞ\iX\0©\9eÐ\bõ=г5în1Âß)y¥oÄò\8f©\13¸V\99\7fÕ\83\vö®¼Ñt^Ø\8fu\8b\87\vó<\a¹ç?»\ fd^÷Bµÿb\91\b\ e<ÛûíØðÍ@&ïÍËt\9dÅ=0<\ 5¸u\v\1cñ,"I¤\16\ 2Q;ò\ 6<\0h\ 1\94=\0SgH\18?øñé¦ÚZ*\18´,pÑî?~~\7f³\83Lì¢\95 2Oíç\8e"\14\b\95\18D\9d\83]O\1d[bìdC\ e\9d\8aH¹/Ñi\ 4Î9ש\95´3\83)£­F\ fþ**ðî/iòô+u\bêsy\86:عÂ\9bä\1eéÀö¬?¡\ 6öv°d\91a+L\ fLç»\v¢hõ¶é÷bá¥\8ep÷ä¸ß\1aÃè¹Ü*³\9c\83\84\ 3´\ e¬,l#x\1aø\84\80\17§á ;\ 3Ä]¾%\80\83ÁNHïWV9ö·\vJuK\8d\83\ 4\90\Ù~4A-\8b­¢ËÎ\ 3v¼}  T\95\84\86\eå÷¬L\87£²ýqp\81\94\ 3¾¸}ë\fns\16ííºa\94Óá¤:Nal?ºÓÚdËciÆeI±}\97s®ê­bç\0¾\ 4eïs8[{¨\9dS-í\8eûH4o\9b\1eY\18+sÞï\85Á\877(\eÁ®0\1e|ú1Ð\12}\96Ävö\8c\ 1Í·\10©ýÃ\ 1²jHõ(\ 4þÇ\ eaÕ¤ñ¯×qfe}\99p­%Щ\ 3
+gÿz\94\81½dë\98?\0\b ×°,£\a\8f;\16ßñ\174v<\11
+ÃgµÂ   Çìí\84lAª\0zC\88¶×mÈ<\13CÛ¨ö×db\10Ú\94XÛ9gl\96¢4\14\ eÙRÑ\ 6\86%C§\10Gk\våd\13¡ïNý¦8|\88Ù\ 5(Q¯±*4Ë\93¿Á̬Ót½²\94UèS@h¯_\19f* ìb\r⢪c+Ø\83v1ß\10%{Èó×ÞZ.]­I\,b¶\84\85G\v\ 6'O*Î\a\82P\ f»\84èeùY\96ë\87\8eN8\99jäÐyM:O1Ï´\88Ì\Ûâ?b?fæ\93n\9c\ 1\và(
+¥ð\ 4\82\89\84N\aã\95G\a[&\8f\87Z\91ë\1cV³¤{ª
+sDå\9bhU¹\95(\84)x\82\85/t¿÷E<)gOÃ$\88TD$Ì]¼\eÃB¼\8aÔäè\fE Øí\90³õ¯ÛÌÌ>Ã)\ 3[3\97ZmØév\16JKëgrîÙqÂ\ 3RËb\r°(\8eíöå[v;³±\11¡{ö1        I9e±D/\92AåIù\88\84,ÐÀØÍ\95\10}È1\vQQÜ\ 6#0¨Óò\15ÌÉN\a\97\84D0·8â\1f\1e¨£FÉÚø3¤s
+jeò3q¡\87Ó½À\86\1dXÐÃÄ#Íù\93\ fçZ2ôÐÃþ\9a"kÝ/ßñÎÃá\86L«úó*ð\vµB°«3\82\9aH\9ePe<£O=
+höä§7P¿\954\91ôªðGW*¦\8a\1c\eµy\v\95­xP\1cÂ\9c¤'&ð\98\80ïgÝ¥\18\9b#¿\9d\9b\80í\94Ý\11á&`*±\a;\97r\ 5O~jKîê\ f\98Ú}Û\13\11îá]ÄÅ\r.eB¾Q§e­\9fJJÏ@|\ 4S\ fGvÈH\86Ïk\14iL+\92\82«\91´V\1cØÒÇÒ±Ó»\86j\ f2B\eqj¶Ñq )=\85\1dn»¹9\8fò\aÌb/¬\9b\14\ e8\9eWQ\7f\1d\9cg4°É=|Hì\92+ÿúO\9e\ 2æ\a6>áÕI\b¡\ e\16Y;£\8b\12\9cw¥ZÛ~ÞK\14û\ fS\ enIÌ7WÎí.\84yÎ_µÅ-Ë\8aÍ\83\98\13«itÈC\85¬vÛt\9f\872B\ 6­ÊÔJÒm\96Â*ÛlùÈgè*·¶yE¢\8bK\1féÜEë#ý;r\1f\9d\1eyr´hBú|¨ÐZòÊõÆt8|\a\a83\99\98\90\87\86\98\0zk\ 6uã-\806\ 2c¶\7/Ú\19^t\95®x\9d¿t\15ÄûºM©\9eÈÛjú|TÜôBÜɨeXÌ\7f»r
+5Gx»\142pr\7f·p\98¡\95o
+©Ì\ 4\10
+¾ëÝAÚ®\97¾\83uMò0g¤%8%Êô\ fB\99©£3ÌO¥]ê\18¸\81\84c\9bîJ:ïA\8e¸º\91£´\ 6Û5º\90¨\13
+\83\162õBØ*<">=ÄYt|E¹¯ãÿb\199\84z <Öû°sÎr\90\0¤Þ\1fJC¦\84Õ;\æ\ eI\8a\rVáHy\8cBàÏ{j\13\ 1\143\99Mòÿg\8c{TXªàÝNç\82Ø\98\ 5º°ªsCîð|K\aLóNaær\ 5\83§\86øI½>\ 2\10TÆËÞñ\81þ¸%þ<\92\0\ 3º\9dïbëû\82\10þ[ç«fÇ\83éq\95\18*ìñ\\14@}­\83Üâ#*\87\9eá\19³ÿ$\85WÜ0ªø^Ã
\1epÏÿª\96]~×$\8cÁ7ÀUFT¯+ez*\96^$\ 6fët%.þõͼÑ)³\9f\ 2évñ\94ÎO\aÿæEvËt½Ç^\85=\13Ý\94ÿX\ap\7f·\ 2\ 1ßF»øÀ;xÄ\ 3¼æ\ 3\87ç\80t\ 4|\ 4P\eãDÕ'\89}\89y\ enM\88\a\ 6bÿk\89X\1e?\19\10\ f»¤Û|ïi\1a[+\a±têÄ\ 3óÂ\ 1÷B\0TîUn1\10~¶.Z<\ 2\9a\11í\fÇÓ@\ fÓ\12Ï\ f]\7f\ 1   SJ\93û\7f{\ 5üà½Ä¾Ã\b/N¢£A}\89éÀ\ 3Ú\11À\81\99ùØL\b\19ø\9dÑ g«f\18\8b|x\19  ð\9b\14à\vãìä\ 1ô).\93\81\14©&×IÚÍ\8cH\16\14\ 3«vá°+O\0ÉÚÒ5º0/Aó@A\9dUó5 Ý\ 3ùã\95\81µâD\92=7ÿ[Õ!þê\14\ 4ÊSs\81Ï\14*ëÑÅrÜ\91³F\95JöÞ\9d¸ö\r\97\94\99\1frùÁ§ì­\94\99#d¨\93ôÉú\1döD\9dx¡ì\13hy'èõ\98tP¿\12±\bÎ\98±íÙ\ 4&\7f\9bD\86m\ 6ÒI3§ üÁ¥=ÓºÍÔ=\\9b\v­8\1aâ¬á)E¡;²\81\8ccä-ú°©M\ 4Î\81Í6Õl#\9akµ§\eÌ-0ÞkÎ+c@̰\13\9cÝ\1dB\8d4´Z\aÔ\ 4\9a/§ýå5íçP\1f£Å££&+ñ\8fu\8d\11\vÜx^\0n\ 3î®Ã"\93ÓD!ÆRÒ­\ fGí<ê\9fA\93\18csu&dpÆì@ÇÃ]¶A\10.hXc~ÿÕa\8dõ\13\97ï¼ë>\97Þ\15ËÆ>\11]\8d\12§ÿ\18\17y\94\86}ð²Ü1?\aÇÐhJ.ã\ 1¡\13µ\13{ÄÑ\1eÔg5iB\9eÐHsQÙï\ 4|åàJ®\8c4$°hB\90X(\107\91Ý\12½w¼Ã\18ãXc\1d\ 1Üì\9c\r¿E\8bI\8aC\19\ 6Ð&-tx:Á\9e\98      D0ÄùÏQ\86'ÌÍÿþ\ e­Ç\\86+èÃ\137[Ñ\86 \r\8cx\ 6}òþÛ$¤¢\r  Çà2Õæ\87 ËXÈ̵ÓóÉ\9aD(;Ï`\1db@HQ\1dß@ÙÈeå\ 3Õ¤)\9c^\f¢°¹J@ð2çs@°Ú%c¨-ò6\1a\11í\bê\84Î{­\aö¦T\8d©Çnæ}H}ÚEt\13\ 1Ó]\9cÁà\acQ\95Øn_«ô\8b\13ت\ fV:\9dФ\8a´¹á§\rg\13ÁÃȵrM\97|0Ö\1a&°°7!aPRÝ\9d\14CǨÈì\ 5kîý\19)(¼%apOâ\82õµ\8dG}Õ
+\ 4ËJ\96R\94NZd'Sµº?\96EC¶\1ojxñ\96T&~\1e\80½\91ê/Ôd\84¸\8eºo!b×z(\90çî\8a«\0×Àí\1fMA\vSv½Öܪٯ(±«ëÊtç\9aLàU*=c\ 6Ó)\1dÙX\ 2UA¹ÖüB|À\98¢\17\ 5AÜ=)ÇìTqÆ@{a(\11;\12\ e\ 3?¬Vä\81ÈË\89½àTÑÔõ× \85=±)|=ÜuB¾4©Á\e±éh¡Ø.z\89\7fÃ|\85$30&$3Ëük{d\8aNZ\8c\94\81Ãåи%ID+\82|ª=\19\9e\91³\1e\8dr$\99Ë\99×±Ì>\ e¹Ç\1dÈ\15B_`ñ·\11f®ÚÓË­\94;\12¡\81§<}\ 2E\81ø\99':éc\8f,Hw=­\8c;\9eÎË\91\90-xu¢K\9c3i*¤gAø\19r\92£\ 2)Ï.µ\8aÈÜOó+±ñÒxC\1e       W~¶\a­\96¶k\ 23¿ù\19I/Ô|ÅèÔP\ f\17²°3ô\e\1eg¾aèô\1a3DHçÍJ-Y{\8c´ÎÓ\ 1\94Ô«ÖÔõ\1a¼\92w\18'­³jjºÃøG(ÒÄsLÐïZÊêð\82\91\9dMTÁ»G©©u\16PÜ¢\85ýÃ\10sô|æ\ 3¾õ^Ò<×û\89TI`Â\9cÁh0=\87?.})\12ie(3\10i\8a6\r=2,U½\82\17É\9dOÔjåB¥ï§\86&"\1a'3ðè   \áÍÓ32Ï\8aÉì)Sú\1f's°\12w¢K;;\9a\91%\9b\93ÏÈ\9c#Ðæ\8aÅ\0¸©\0\ 2£Â\9d'Áb\14ãæ\ 1º!\174"a\12=\8e\17\ 4ÿí¿\84\14þivóÊô¡\1a\89ÿi/õò(_ÔÀmßð\98ÀmßDÎ%_+ò í~ ñ\97òQ§\18\8cÜçÑtÍãCÝÐ¥¦Þö\1e\ 3x4íÜcv¶Ò§W\18ZQhd`eß\vÁ6,_\99f\ 1y¢?\a\9d\92\r\vqÕ¯û\19°»p£KV\8bîÁï\8f\ 6"\19°Ç\1cîÔðã©Ñ\95Öãv±åu²\15²%u\9dÂä"í\1f\10ÆÔþº­\9fc\83J\83\83\99\9eWEJ%\8f*#éݱr,âÐ\17\19\8b\91\80\ 44K¤ÿ\e´9[LÄ®ccÊæ+\1eW2¯µ\91)a\98íX\90H\15jFyNÖ4®fz\89Kù\\93&\11åq§dJã\e§\8bÛ1u®\84®6è áAÞL?\17$P¿viÀ|Èøc°üôK½ËîÅF\9a<âv½À¬\14´ÑÖ'k\9ddw\84¡|\15¾âÝ\81\92¾z4®^I\92%rõ{\bÒ¹vH2!õ\91ï1çNW/ë\ 3¦Qú\13\92\ 6ökÍp\10\ 1¦û¥¦·FÞ»ïq\89\12\1e\eE\9e\90ÅX|ôi]°zbØÝÏç\882ü<¤£|R\98)ÝDð\8a¥\9dÞW\1ebkÖ\0ÃwíÙN§\ 3PZ\e\84ý%(ò\85%\v?[\94¼~ß\130\9d®äË\8d <^\81T\98Ô¦ø_a ©\89n\18\1a\92®»1l¦2û)xî\16ÍZLÍpÃ&?\fP\87õç²à[\15¨\1a\1eðq>\9eaòÚR   \19iWÆ!\96M\r\7f\ 3)xö\93?\öÞ²\88#öAP\86Q3æ§ò\vÐúG\ f\90±d\93\fï\92·Ù¶Ð  \19_\89&~ 6µ\1a\12\12H6\12\v       ¦\94Ü?,ôZ\8fg´a\8d\19ÉÜ\89\12*ºÓ\83\1fYn\ 6^É[\87\9aØï\80\aâfuo¨0¯hË\80\1dï\92\86ø\¤\89\96ã<÷35½\ e¹ûy9×ÜUQ`\8aN²/\18\94\809´ß.έÒ\8b¦:ã)KQp+%ò\vÒú"À\15<=çÆBð\8b®;\81^\ 6t<1\v´æ£Ê\\92\18\e";ëRP3Óùu±\ 4ƦxÜù\ 1ªTU\17\830[\9c\86èRbÅ\ eHp\r©]øô\ e+\ùäÈí¸ Múw>©!Ï¿õÎG\94\1d
+÷p»ÿ@w\95,\1d\1d\91Ú_;;i\fÎÙTi\ 1\12\13>ó8\92\ f"cö6|N\8d\90\96\b\8dM\8f¸\ 2µï%2\võ\9f:1Ê\92\90\8c\1d\1eá\1e\Êk8Ãj\8f\ e®,F\97ÑÍ´Oý\ 6qòIIF²k\8bø7¥}  uõ\891¦ÙþUL-\ 3\83â¡Å\18ÍV_:\85\8b¶]»]±\I\7fYãoÛ«Ã1¡Ì-âøÍú\r\93ÃëÙ\8d\10õië\12\vøo!*d&ñÍöpxhh\89#Ýÿàf\8cX\81æsi­½QªKLªB\19    G/¯\\9cOÎ¥¼£\938YÌ\9cOús\184|Ùf\v¾SÕ*uÀ±ad48Ü\1a2¸¸w'§a\80\a\óÖÛõ\93vËeR'6§\9c½mÃ}Æz×\16äaûÞÉëVîV\95bÆÂì\87\1c;I\8cÁgÍÃRbN5º\9f#\1f\13ô@Tg:gÂw:\9aÁ*\9c\9dÈÒÂ'\90òÞ»È\ 2\96§æøx¦ý\ 2ÆjÚ´\8b\b»¡Îpª\92(j>\10\10xP\9bc0{+!\eMI~\f°ð¦®\ 6KÈg\9f¬E3@Uè9§\ 4Ù*Ñä,\1a°Ù\8d>\8c1¦ÿ±\97tºöqç\19\19ûé%\e4\88\84³\88\19ÿÁXxÊkÎÜ,\ 54tz¥¥T¶Ñê¢Ì\96\8fN×ñh#f9\9d¾¼R\93\17Q¦?:d        ôÁ¾\19³|\16§\1a,C7À\8d°Àò\13\97\a;\86!ak\16°x\1fç\98\12 íÇ{ÕÄ·í&ØWDÍ\11DEý\9fL¼ÍlêÑ^m\86^;ØùÚ¡Và\7f%\18ÚÇ\ 5\86oæAP|¹ä\ 1/S*ÞÝ\a\8a²Ný\80\ 6x\98Ëp¿\ 3å:\7fd|cªÞ®)Á\ 6P\ 6Nû¿M\1c§\90\99öUI#\18ó-.¯WÍ\9dJñª\85GG\1fö    F2F\9aø {d¨«²IÀâý
+|\Ô`\ 6ÈÃ\9dS/¦*ÀU\aÞª)\8b4î<\ 6§<\13c¶×Éý£âÎ\7f1Xz\8bá¤Bká\88\ÉÜS´\16ù\82[_©,T\#ã\80\ f\ 42=vYX´ú\91C\ 3pÃ4\99^4a^UBRU \12\vÂܯá\90\9dV\83\16\9dKEöà\1eËIó;¤÷Ät6\9eüíL=$¢FQ\1a¸C×Iv\ fýO\8fû\86H\vDÞ~KÃ6Ƥ\97#\88í°Ïî<bu\15زtй\ fé¦\8f5\9e\9c\f##ÙVnT\924R\1d´u\af¥·ä:=\a\90!ýu\a\9c£IéÑ\86¹
+NÒ\88m\86\8aVw\ 1\15mug.î\93b¬,³îi\rÌ6\83°~Þvei³\7fq    Ú®GJ
+u\aÚvË\8eê\ f<      \17\85\96Þ
+Mð«N·Ã-6ß­Z]¿\´£|;é\8165iue\17Ùw
+ ÏÐõÄ@¥gMa\91áóó\95\91w\8e©½\94\e\8a\ 3v´úú\9fpOô@C\bÞ)\ 5wP}\98¸Eûoq\1f}\85±ù\81\7f\1d|\19\12Ä¿k\84[±~×\1a¶Mû^¡l\8bö³ËQ¿k\87[\1cý®\15n¥û\2Ø\87ízŧ\9fµ£Y7ízÕ¦_µë\96fý­\ 4uMúݲç«h\ f\ 5¬4jø'p½3´´\85\9bf´²\96ÙæU\91Y©m¤eXê\9b\90\ft\ 6\8bzañr³\83\15pê%Ç;8î\15P\1d#é&¨µiÁ\94\9ao\893\ eâ\8etG3w)ÚϤ\8b\ eT\0Ð3Y\ 1áB¿ß¸\0¥ª \17Zà*È]B\15ýáfÆÍÂNç\94pk»U&¨¬Ù\99¯¦¨£é'ÔÐ\17\b\85¬òb8!\99V½Ð¨\9a\83Å'\11\94§áÍæW\95ýÇ\1c½L\85BõDµ¬\84´\v|ÒH?Ä\ 5\148B\11X¾7&Pçìß~\91L±ôä\98V¥Ú\8c]88_«\96ì£s\16!Ç1R\18Ô\ eXË9\ 5\81íÒ\ 2Ï\1e}+\ 1\1f\9cÿ©\8eÝ\88\9e\14rË÷\19Z\ e\8dÂ\19U\908%þ\91\96]ó2gqÅ)×=Ò<:çÖ\98\13h\16¿T ìôãºÚi;P|£ç¶\87¡ÂÖ\91Ó\85¨E<\18®\92ª!Í\12\98ämÒ8;uù\ f\ e*\18\9fü^\89\9fúA\9d~*½\ 3¹©µ\82å¬\r\82Ü\9c¥ì\ 1gÉa÷êªz\1fà\9f\12àª\800÷X'aZ\9eÊ\1dÎ\8b*¡ê}\a\rñþ`©z⬯**\ 4\16ª\8aø×î4J\7fß\9aJJþ$ç\91\8e\b\ e\f\8b\ 1®\8c|\97øWB¿¬Êð|!qÊ¿ÅÉvÈ\1a\1c\8dÞ÷\91\8c­§d\9b±\8a\95ð:ÙRÎv.»í\15q\13¨2Súõ1«\88\9bö+\88ýÍybáâ£\17\ f\ f\89\16\86øË,ÐßÙtà\r6A\9bâ\9ap?)þ8\84þÖõ\99|qVsÆþâÍ\13\99ù8äínY\9d[ÖÆ79\v\8a\98jüªÚl~gv\9b\ f\90\80EB'\7f\1c\eåGÕqMËV\1eWàå\v\b\86WôÉ­\aÕTDTqµÃ?©ë«Î\9a\96pÒ}féÜ3îyèѱ+ÈlëùBêC\ 1d÷5Î»ÅÆ\15ñ;\ 1\ 4|Éã´£\11$\ 2ª1¯
+òúù§sß­\8c\8d\8aí¦vdåâ¤\r\05\b\1a[S»¼9¸úëMËÇæDD\97eÎ4p¹©\1c¬#³ÒjÅ@×ä\1d¾FG3ÐV?3å\1cÉÒæ"gÔîíÄ\9a\v\96é\1a\ 4-Áýewª¥%\1dL\15Ix\\9f\7f\14³\9aµ\9e\8f\95$pomø7¢\8fîß\83|<½±hµ\1a`È<K\84¿Ù \87nYö9;ñ!¡\93µðÐpMú\81á±\95Ðü\aι\eS\9fû1\9e\1f3Óh\9e\ f6;DþÏ\7fø4OÀë¢Ñ)m\90Ål4"\99\9f\9d¡8ÛXì\99äº?-\16\18ci#\95\ f3\e\94#¬üûR`\1eÏ2T¹hºA¤\ f\ 6T\99\92\14æpÈqÕ'Æ\11\1d\1eÙ~ûj$æYÍHé)s,t\9f!g\v­ÚõGé=Þa\a\17¼ô \81o\97b\1cGò¯ÖíoÖ¸¤§Ô!}\19\87v\1c\9e\9ba\1d®¾\e²W\1f² ¤0â\1cì^T\1eÂ\89 e^0 \8d\ 3A\15D\80\86õs4÷\9fÉ*[\ fÊ\7f\18x\9dL\9f\8cÝDÞ@à \aÆÉ÷\886\¸2ÅFW¿ä\93ÛýÕ\ 3ÛöGn^Á×M¹~\vØíËÍä\7f\ 6å\98S¢Ü¸«¾\83\9d|íËÏÚGl­}>\ 3\129_\95Ö\ 3rìär³Çå|¨å~m§A\9fõ®£³û\8eGôgýNÐ\99þÌÊ\ e'\81ót\15­m:Q»p­T$\933\$<\ 4T\10fç_ó¥\9fQ=kÛΪ)\18\87SISà@w\827k\17±\7fÎÇ-\93B:Ì6ø<\94\9cV=\1aL\92\1dL\e°\8c¦ø;>\94\aXçÍð\15\ eï1ó²¿âÙÇb\1eÑ\1c·b\91+v¿\87³%Ó\8bP\9eE\80ëÍ.Ìõ©Jãç5-\8cû¸]õ\v¸^\ 1î\8aá\f+çÏK¿\16\9aui·\83
\17IXXGÜÎZz\8cÄÿ-?¯)D0\ 5v¥XY\81c7"Ë;\18ÁhhðÚ$û÷ÅìÃ¥%ÍÇ~Ô´]æ\ fù\adn\84¹®á\10LÍ;\95%é]¶Ø-\872%&H\8a  Kk¾}t]õM\8eø{õ©3JõͺG7 Rw/&r\ 5CÝR\89Svb\91\e>{$ÿôØvªÌ Ñܯ<\86Q\ 6\81\ 4\1d}H\ 3d5§=l\1d)¹|ÂÒábþ\8fà\12¶ h\ 2\ 3;Þ7º=qý\85@g\84Y6\ 1~\1c\bݹ0:Ægó®óQbÑU\18ÌD*\93\83À2¦]Tý-\92\ 2\1fN\v\1an¬o¬­¥\fÀ\ e\85ÚüRZ\88\84\ 4\80?P\95§;¨Aíf\13ñ8e/¯^pÿ\1a~&L¾Ü\92:k\9eÙ?í³I\ 2\ 2\8fÆÀ\80 `!\81\b
+?\19\0\r%\96ú @IkR{QÓ.À\1a)Р  µC\9b\96`ú>\ eÎ|\ fª\15×ò\ 3\86»\82
\8b<lp_êü\9bÃØb\81ÝÄ#Àa\0²aϤsüPª3á"ëÏ¿ó¡âÀëe/\17ü\ 6CÊæ¶\9dJnÿ¢\8f­2\8f\8bèªpÑa\0'§¥\97îIFÔË\94Í\8c±P\8f©@d¬TÝ&\9c*q\a\84Ö^\8auͲ\93UñsL\1eÎòÓ\8f2\9c
+²¤3ïS\81Ú\95K¢Qk\a4\9bäà\f\18\8aoÕô\12¾^Øë\ 1íE¾·ªªrXh -\ 3\81íöÈj\ 4qF\¦\1c\100À \81v5Pèºã\88\fË\ 4\89Ì/sÐ!j\9e\96\89ñ|À6¹\8bOÄìHD\ 3Ý\17Úy8\ 2Q#Âüd\evnÀm·È8mµnöÓ\9d\8a}á¡O\7fVuáy\b\1d\1c\9dW\8b ¿Ô\97q\ f4-\16\19\9càòZ\88^´qàÁ\13$U®R\ 5Ý4+\16\88G\7fÆ$\9aý"s\ e\97©zÅõÍóQ\9dônØ>\16\96\8fÈCI\80Ù\80\fº§éyè7~%àÆRè\\eðÙ\99ƹf}E@³\8dr\ 3f\1eJ\ 3f\11\8f§,\1c\94õгÜ#ÚhÏG/#_\8bÇè%±Ý\16\0B2\12Ð\e;\90\8d\1d\88ûs\86ÌÂ\1e¿çñÄ©ÉÚðËFö\9d;\87\9fQ&\1dØv@2\91ø^¹eê\ 1"!\92\13+8\92E¥)âôætË\9d\13\8e\86ß ÃýI\1a[\96Z\94\ 6¿ÛÇ\97u?5\98åe\80\1fý¿@@\14gþÊ\a6f-\94ê©\98Va\95LÀÉØ"\ 2½lµTE\88;i\8dN\ 5Q|1ËVÚs±ëb\98\r\90¢ÑÖÕ£í!ÚØ²\8eY\9e\r¼\80ÏÏ\93Ð\füÄÁ#·ÿh\r\7fËÆ\09\13>\16'\ fã\8cù«³Aå¿ÌA\94£\12ÛÇ j\94\1dRtG§\18ù\f\1c\ fY3ã~_Ðo3:âµò\95 &E[ä\e÷É7è\0\8b /°ò\14S5ç-Htàogg0î\93`U%\ e`¾¡óêµê\93\80\99\bq32êµ­\9fZ\91ãh¯º·\90«Æ\8eB\80\84vY²L\ f\v¤Y\e\94\16|Ñ*ì\94h.\88Ä!Dæ²vË` \8aÁ\11VÎÒ\8c\18\8e\86d¥÷ßx\ai>IHßTW¿h\9aÌÞ©\v²\15@\161دÅj'û\9cX;\17\86çf1Nîü\18\95ß\8c(äÓS\150,\ 3ù¢fÙ\1eÑ~ù,\ 3\1fÇ\87\87\ 3Ð\10Qh«ÜÞÓåæÖÁ"À\90K\91Ç2Y«iÝ¡Cë4òKJݸÓÉEÆ\80\ e$wöØÄÇñ?ÀX¯4¿Ûüå`\1cëÞÚk\1ce\1faUµõu\9a\96\a¶£Ã\15h\ 5¨©&Þ¾··\0½qRV#z\ eî\93\80\ eÄ\9e×¶4N\0M+\ 5ÌÛviý\91ïZÞY?´/س|Zp\ 5ôío\8e=\80#o|\9d¯\9cyXG2\8aÃÎ3NåÜ\99\v"E¢X\fy.ú~õÆ\\1c?\91     QLµÄö\8aX\99V\88\98]!ë\90\ 2s¸j\18³\v÷\eG{¤\8eØ*2:\96ª\90vG:Ñ+ÌL~\8a\11*+Ì¢'P\ 2\9e9ľP\8e{m:(¬\ eÛ\ 4\9dÃ;\135
+n¶VÌÿ°ß\v×8)3pù\8dQÃ÷Ú\97\ ePS%Øá¶?\ e\Ü>Í\8eï,~ît\1e¤QÖÒÙ\9fV\eÙ\16ºnÁ¢\ 1Ü\15c\r\16`¤Þh\1aiïzß  ªÇ7ÃÙÌ·Æ­+\90ë\e²Õá^µ°ªY7ª6ø\9fL\19Îzª§ªRrÞ2Ù\bzÌê£D÷.@,á\80\ 6xV\88\0ØPS\80ÛûOñ\12&à{*\8a\9a|:ªÆ\ 2iG=¹\89BóñùE,O:;+bìµÂô6\1fLSV~¹L\83\ eÜú¥\80\99­\ f§¬\9d¬\8c\r&\18ßå\ 1\0â}áF^,Áø #Õ\15\82\95gàv,LǼ\85Ü˱M¥\a¶|¥)ùó¾\88¼zÀ§½\\83\1ag`.\11ê\8aÜ´õ\12Ü´Á¥»\9c˼\1a\86=#H\8b\bÔ\8c5ü<>ÿA\98%?ÞHn¡ÿ~ÖIo}XS\92\86]Ëù\9c\91\8e\ eN\1awÍlúåaø
+«iÙÉ>\9dNç?ÍNæ¯ä_Æü@\19\97-þòE\e\9fë\89~ã>\80<¡1ÿ\96JKÒ¡=\0£JÑ(ö¸Ð\846Y\A\973ícÈS\95æøT¶Ý­¥rÿ¿d\92w\18^²!Re±\91\ 5\97+\934nÞ£ç`#þ²-\9aB,&ÎÕ}\17ªÇ\ 6\16ý}M¹ôx\86d5Kl¯¡\952ðõ\ ex²)cp\9d[wÌ\88ü\f7lÿ ¹I\14Øâýïª\83\90@¬Ð\9c1\88ZK»¤Û»myg×\1cþ\b>pÁÇÁ`p\Ûàuû\1a\96WB[\ 1¶ÛUë\1cÝíÍg\1cå\87µ%
+HÇd0\r¿\1e¤bK-z\9fq\a\13«.ü_Å\970yPÜʶÛ'\ e!Åp»w0xðܲ\1c\e£Àëî\83\81Rºw\1eº´\83</M\1dÄóµK\1cÆvYP\ 3²ß§s7XõÉ\99\13ë's\85ê2¢oä±a\15)8ªÂæ­Ù\8cÝ:[\184\91Èû.,x\9fæ÷\18°w[ÕǼÕõà\0àb\87+ûz\1c­ìH¾Ø¾\95\võW'¢{Ò±D/\8e³\9c|Û@¯í.\99\ 3¬S\8a]\1d=ð8\8eeØ\ö\97R¢ï/\ e.\1d\ 6û\96h£L¯Å\943\81'\rð\8a\ 3-Ä*!Àc["\r)ûhcRíIjTÃVLº\ 15\10½ïµ}}®\9bÇ\83\14¶Néz3\7fõÓ£\83õ.\10\ fJO\1e\8d\80\18)i7\19~êá\f\ 6>÷ÀìÐ\8bÕ\ ßn¥\9dûÙ\83DgijÜ\97fçÎ\9e-+­ìd×ëP\93]~£$Óá&Úþ¢a}&Q\89\92Î\90\83³ G´Å}\ 3\8dõ\87\9cÚNjLË7Å0\ 4/\17à\95l\85ÅRÚº]Kl~ðÈáô+¾{      \19Û\9f\ 2c\1c0?SÜ<\8dhf\97æ
+Î-\18ÔC"\7f_JZ\86uPKø ÞIþ,m?é\9fPÂÛ\82Å!#ê\ 4¡"Ã\91~ ²,`\vý\8a,\ 5*ýéÚ\8bÆù\12I\89Ã\91\9fl\94ä|èjȹ0v\8c×í\13}\9a4\1d\14¤\ 6à*\89póA}\96\11\8d\17N°»\9a×\91[1¦(º8Ö\15MÅù¿/;#+\98½\90íAý:´é>ÿ\889c]\94\85\92?l|\ 1Æ£E+_\83\e¾Ñ\14\9d@h\83(\89¡X\16p\ e»Ul\92õ\1f\1a\18S¦ÁÄÁ'bÄ\ 6»oØS\91ì°Â\8bL¼k]Z\9d­éH¿l\98nn\80?`v Þ/\ 2·\ 5ÎrWÞûn\ fÀ7\vZ||sÿå¶K\879©É¥%\12Ë\8aV\f\11\98ùé8·ç\1e\97×\1e§\8dÏ_ðp\8b¢ö\884ó,½G\14öÊùXT\eÎÀ\86\e\86jZÃ\9e\9d\1f\ e\9dÍ¡Q\ 5­ó\16Dx2
+zõmÆ7F\83\82aáÍò¯3n\19ÂÆS\83LE\a>=\80`ö|\ 3!Kòø\87\ 1ÿä\87\94vo\9a\80m\1eK\0ñ\8fô1h\f\9cö½\81çe®\8fØÔHìaÎ4\b_üø\85lÆ7ý-<!\8a\ 6\a\94Z\e\vàÇ5\89\a\r\93î÷M¥4F¼ð\1a(,^¬`\ 5\8c]èörIHÐÓlK\ e$sΧ\8a<\ 5\ 61
+O"u'þD\1apÍ£ R\7f'_~¨oL\85/òðÉPí0.î\1e\ 6\e§Ð\7fÜÝ®RôH&¸U·ì=æ\95\14_rF³´8\13·À5¥\9b\1f\8e|&£\9f\ e_h\80Û¢­·g8\b«ÛF´*»|T\11«FîhV½y
+î,ëÜżñÏR0'\9f\ 6\90±\ 5\ 3\8b\84ûÞ7"\94\eÛ³Ù\ 1£\11w¨Ny\ 4#Eÿµú\8cO\98\11äkù¡KhÆ;H«>ÿ]jYñÜo\81j\ 4)òd%\83Ö1\8aýôh\85ß:fgÍί\8cý\ 5\1a\85\99\ 6 øwâ_²~&(/ÛP\r\19\8bÞ*×+â\19([Lo\86\88Ì\8e\90\0ýÍÜ\ 2óÂ1<Äî\13\85UÑë\ 1¬l¨ËP¡\ 5\8c_³\A©\ 5D\97´ó@E¶*O¢\07¹Ó<      é³±yy?EȤÅ\8ao¿3<ds\82û±\81Ü<ò2þ\9eøá,\0\10\19>\ 6?\11ØèÆ%×\8a\rN¸ç\ 3ä¬\8c\18ç(ó'<<\89ç-+M\ 3â\ fBG\9c­F8\9cal2'¥Æ4!$P?\98/i¬\8b\91,\ 5þ«c·\ 6íöµØ-\9b¾Úý\8bá¤õ-P5D\1fa\91@CØrßnÕÆ\1c\89\8fÚY\11ýÙRNÔ«ÍQ\8f\15U\13ô#L÷%\836\11w
+úQ\8fÏ\82\8b\15\99"ÁÏî2\1f:Øg¯È!\1fAÞÚA§\8aÊ\98\16¡ôão\Æ\9bmþæA$hG\84æð1#ùðW äYØ\83©§Ø7ý\94¾D\9dëì,Ìç\ 3/\84Ï?\90\90°\85©ÓÒ_\1eÈTôDâ?ÌÞSü]qõ#ùð\95è©ç¯¯Þ±¦\19[Jà\16ó¬\97\ 6²n{nªÅ|mÀp\@=¦VÞ·$ößXh;l\81\9dÚZ\1e°]_ZoÚÿ¦ñ\8eDì8\11è\8c\7fÉA\8b\14\1e[zZ \ 5è¥&\8a\ 4\80\1f\1c$îsTG5\98´ç¼\ 3^6õ\95äk1;{ \9fW\e\9d\932°³\11Ç\8bÒåÿ\f\81\ 1â)ì æ+\ 6\9b\97\9cÛSë
+§\8\8b\7f\ 5Y\ 3\7f\18ÝåÿÃ\11IÄï¹\ 6@¸å\8bF\83\950\97=\16t\eÜGÎ70¨L÷ï¿ ßd\ 6F!~\17ÞìÚNÙÝ\92X\14\e\b P¨\15
+µV «e\8d[\16\16U\ 5\15Û½U7U¸î\1d°ÒJUDÕ%«eøû*¢«\91QE¨       ²¹p\0\83­U\ 2\94
+QD\15P\ 1\ 5ú\10(\0Р\ 1?\7fÿ¿¿},¨\0\1dW<Û¼÷½Î÷\9b\9eç¹ï\7f¯Ô\ 3ºé$\92Xܰuù;fo\9cüô\88\9e¿¾á\15\98FL¨xÄf7\93"\14N«ÔYû\96J+=í\aÛ\e\9dBm\99\8cñs[²\8aùgý\ 3%Ûÿ\11B{\12Ì\1f×\92\8f\95Ùg\ 53\95òÙ\88±S¼q\1d\91Ñ\96ò³\ 3¯\89Û2¡D\860a\95\8cû¹\18\89\ 5$:\ 5·!rB\eÝÂA´gIy/\10Ñ\f\8bâ¯\8dcm]\9fÊ        o¨=4ļ\vÚ&\85d¢Ý\8cT¢cv\8fõ\9a´ ä ~
+.{VBµEò_)P5ÒÍ\1d\9bBÅq3YRùR-jüæ`¤öýÜß\19Î\1dg\8a\92ªº§\82Î\r^½Ï0\e÷Y\14¹µK²Ì\1eÞ4\83¯zç@ß\1f\91§c\154\92\90\90ÖúÃ\18ôMÉ`úÅ\80\ 2\88s¤9,­õ\8c\80\ 1ûñ\15\92\1f\ f\1a+Ç`í÷\1f°t  §\ 1j\15yíé@.Y\99\ 6\96T\9f}5ÏkGÃ5,¹}\eçÂ+ÕÄÕÑ\ 2      \90/Þ¡sôÒHЭ\ 3\84'\1f$f´`FtÖ\98@)Öpà)\f )c\ròÝÀñ²é¯\99Î\10ü\11 tú\ 5»®\89\93å±³\8cÔZ{à(ÚéÓFÇ\14¾c.\1c\11ü Gg\8bDÊúÌéU]VÁ|\ 6]\8b\1cLíÍ?$¶\Ç/\98¡\16\11Ú\r\8dô×Þ|\91÷\ 5\16\88um&¨·3\14ub{\80¹\13ç¾\9a\17\82\1f\11í\8eÔ\12|,\97æ2äû\15wþ3ì>[\9e\93BsÜf^1´×\98\14n\85_\85{,°~\1a\18®Å¡ä\11æKý\19\adW\1fvLÈ/\e¤_à\1f=³b\15\fzÜ´vÅ0\9f\92t\95<\14\88¶1Aå\99\19%.eeV\85¡ÄS´\90b\18\ 3po\91ñÚÃ\13y©&Ø</<\1düÆG·ÇjîòÂÅ\14æAÿé [³è¾Õ\16ì\18\89\ 2b\ 2Q#ÎêIÀ²\97îC\815\1eb0:;\8e9\8aù¶ùRo¼$}{[\ 1õö\89#0uYR\97˳aF\8f=9:\18\ eyØGt¥êò¤Í=[\ 2\eDE?¡\7f\13+\1e&\1a\16øö\91S\ 2´<~6À5þÊ+¬à\89â]\93¶Ê\88\9f\93¯/ºõH!\82\0[ÎlÐëÌE\v\8b\90y°ô~¬b;¯ð\89ÞFúQ;ÏßÊ'z\vüh\9då/å\13¼Åÿþ¢wI\7fÿ1;í/ÿ\84NêtÜ8\9dâ½_Æ'{º¾DNõõ\7fø\89ß¹ñq¢wâ|dó-tÜh\9dÕߣÄïeVP8ýS\1c\98\9déô¼\98\9dÿ:¾,Nòu\7f|Nêjù\11;ºÕò"wÂõ?ÿ\13¿sPM²WKÃ\89Ü\95_ýDï\1d¨'\ 2ý<×&'z]'\12'~ß©\1a'~Î\92Ú'~o¨Q;\97æ¿(\9dÓi-¢wú½Bf\98\9d\13¼7©ùDî\7f\89ß5êZÄï5éÿ\98\9dþÿO\8e\90\9bß\8b\14,/2QBïH9q-\ 6b4P°ó\ 5\14/÷/£rX\8a§k\14!B\b¢\84õnüE\v\ 2HÍaoßqaýâ\85y\v\ 2ÏÑ\14%»®\99\92"uC^\92ÑtCÚ\85loHÍ|\a§øÄ÷7\94äD÷)\94\ 3à®±\95\bÙÚà÷\fq\8d\ 3x:v7\rI8\9a\7f­\89t\84CûèÈïKz[Ä\9fר[ }~´>ÑÝ`\992_1\94(\1aô<Ç\1a\ 6¬?o\8d£,mQdì]±ô\8b÷ÙB~ìj~T¿\92ýÀfkOw:1o\r ¼£êfm±|\1eS\89\13ÐÓu>\97\12'£ä¬ô\83\88õg\13Û\99\14ã\1d«@%êÅ=\ 6\fê½8ÿ\ 4G}§áÑ\92¯2uWîq?Û`"iÔKÀ\96\1cM        \11\1a&/\8d\ 4Tcù*\17:VÌk\ 5äôì:v:¸\9d9;\97\13¦ß9\98î\9bÚúDé¿Uó\8fKQiçµÂ,çF\8bâ+\12Î\85~{Ò9!\ fç?\18\95K\8e\1cNÙ±\13»X\9a%Öì½\eX\9a\13\v\99+aÃ\89§ã\8cf\10ð¾\88\ f\ 3¿âï\83ÑníC¿ü\9f¿      ½ÿ\9f¿ºà\7fÏߤÝpÃËü\`;ªù\9bæ¥:Yr\17ôg\e\15ªsn¼\1a¡bV\94\97\9c?
+T×_öÕ\ 5#lgØ{üHâ~åO\ 2(ß{:\ 5\154÷V0rÁûw^Ã*¯\88ð\ 2)a\8a\bÓÛëàùÞ\1fÎ^(;\ 1
+¼N\88Z\7fÑõ3\7fÎ\fõBºS}L´\rt×Á½\$¶m\1fè\97]\ 3\13Q.(ûÛù\r~Éb\12îp%\991¸¢0èimK\9bKÉÙù\®M_Ø\92s<]ïON¡­Y(Ú2\18ÌüæA_\80\87ü´kª\81 \7fU·àv \84\98Û\10w\9c\84Ä;\97Ë~ÙRÙùÀë\16\11      \7f\81Ý\84.èÈKâB\81hKÌ\ eÄ\10½<ù\10\96Ó$B[1½ÀÍþY=\f:     "ºb|\alVeÊ@\1e\13®Ü%­EÎ\95\e·ãºí» ¯\rÈ­|7é\b\8cÆÖ¾[¸\14÷\ 6¢¬¢[\88\13\16\98\v\7f\92\98ºÖ¼
+\9föj8í®h|E{k\98\11\ euSq.,3   ù°\96\ 6\8b{¶é\90A½Ç\16îÒ^ã\8bÁÚâ\a*\18ÍÉEzÂyx4Sr\ 5ä(@ºZ\93\1aò\ 1þ>Hm«þTî\9fÜ\12D÷2\ 4\89°?\1cqê"·¨-åÄ\911¿.B²§øU\15i\81\8b\1c\86\ fK¨5ÜÞ­\98\1eÄrÔ\16îÿíÓlø\8cÀB®<ZÍ\96è\10©ÄõÁr®I¶Öþ]6Ò[ï\ 2XðzѪ>\15ò\19\ 2ñ\81ë\95C/^\98øÞ#ï]ùñû(N/\88>?â>~ÌøëG\1e\10øûAÆìøú\10£Î\1f\1aÃççR¯\8e9sãï§v>7£\8eHøê\ 2\ f\80©qó\ 1\9f\1eÔqìO\8fÑ\býYñÔ\ f\9fH|\7f\9c\1f\1fô\1c~ÙñáB?*|wÑóä\8f\8cuüWñ\ f\8fé¼£\8e\9cøÄ\1f×¥>9à\83î\8f\8f^\10xt«ã\8f\f|v#\8dHèþ\98øÿÜqÍ\9f\1e| æ\12ÃÇ\1cªZ¸AÉ¥·Þ\99Hqö{h1\ 6$5ê\87\85¹qösÉ;?ÆÅEwÅu`\ 3\r*K\81Ùÿº\80\ fH\96æoB\81?=z½2-ÿ\93\85&Æ/\ fk\80Éö\ró]\8fê_\99ó\8fq;3\a\8a~ÉÅ\1aLîú¾\9e]ÿ.[àÇ\97\82Ûï\95Ð0\11\7f\99^ÝG\95IW¨\9e©\röè\8bxe¸G\92%ª/ÒTF½ t\15Ç}Òü¯h\ e7Ñcn\18\10¾\9fËMìè²Y©Ô\1dûh\1f\7fÊ\95ðç«\eÁuu*G(\7f5Ò¿uìÚÕ+ücx]\ f9ÅßqÏ\8ea\99Ó8h~Uç@æÛæ\9eóô@Ã?_»§\8cÑ9úÂ\17\96bÍlQ]¼^¹Jn¡\9bûý7PÝÿ2\bßùjn¢öþV\9b¨æ\1fÝiº\86\88q§6`µªj¥ynó½\ 6zïË\v\7fÆe¬â>\b\17\96Óhà\eÎÿ5¾×\8f)
+\99[¢!\1eÚV¼²JkòÚÇßð\13©\90\15·tE¾Æ\13¹Éìµá\94\83ù\97u3Ù;Àéºòq¤Ò8\99e¾hn\r-\11Ó|Öò-cîß]BÓb(\0tyòÇ\1cñcMÏ"`´>CÁ׬lþôw$÷;§ü­\13MȲ.4·ÑAƼ\90m\ 3f½ãú\95Ì\e\19\82a$»R\ 1òi\8c¡®tÓH7Kph     \bìg5\19\a¯÷HÏÂá)c\11\10NÖ¿å]Ôßv7tI{$\16\89]cÕnHdí+\v\1cÔ\10¬á\88Ò`únñÀ
+\9f8\14\9d-#Ê\13\v\97\7f$\96'Ш³¤O\8do\89®%jöx7êÓV
+\1e\84³\89x\e\11õÀþ\br¿¦&D\89Î@F$Q+ïí"ȯ\8b¾á»\ 6\87\9bѺ\1aæÌ\f½¡uRàNNùZá³¹ ÚñÈcå%\f,N­\7f\9f0ee\15-\b\8cF¨áNæ]ê¿\f\ ePv=]A麩wöoUÔ\8c-S\85\9f\95\b\83\eA\85\9b\8e\e\89&ÀÙ\f\12èëÛæz=Æ\8997\r\e\v\98Á\13Ü\0~3\85x\17B7á\ 6]\e\1eT)pO\1f,\88@º´\9b¥û<ù`$KùTH.16éäâAô\16òÞ\89Ýàë\86\rÞ\15\18 î7Ù\8ch¤Zþ:æ¿r\95º\ 6I>T{ýÝ<z\123¬Òh\b\7f\8cr\1f\9b|®äYRÏqú=yuq¾TC-àßdÙIsÜn7L\93\ fGD[ÿ]\80D\9aAS\8a\98N1ÒØÆJMn\85â\ e °\7fÝÉÙ¶\eø^RyJ×\8f\8f\84Fi\÷Ê\86Ä/¿Ï\v»¥Ò½sô@\95|³^\16|SJαM+J¾ËÉ=ÄOé@\9c\15\b\rN|÷\84\9aÒù%´\1d\81ÞJ        \13\13É=Åô\91\0\89>­{?p\824\80´>¡\9c*nr<º\8eki\e\1c#ÞN\ 1\1fU\81à9µÂ R\81Ȥ·«c%>\80Á­£\rª ·\9fÊþøµ\eÉÜV\9c\b\87óX\!ã\17¶ Ï\98µ÷E\8d\ 6t2¯\88\ f]ØM\96âitQtG¸Ð°
+\9aF»#©ÂþÛ\8a×\1fwíò¬Æ\ f+ü¯U\9fþWUB®\8a\9arò2h\8aõ\ 3¬"ÐÊ\96b\ 5ÜîÐ4*Ü\ 1lÀ«¬8ù_íÝÎë_òÆ'\8es¢ÅË)5Za§¹ù(\e¸\97%\1cØ  ´!£à\90\81¼}\b\88Wi'ªûÜ\9dÅHÓ¶!n\82èÊA;©2OÏàKs\15M\10Ü\87É]°3\96\8b\ 5èp\93íóR\9d\94\82Ýmùz¬qSø¿\975ü±W\85zCøî¥ñ̤L±\88_¶?\9b\81u\1f76Ebbô\18ãÈÙRñ­àd»b&/[\ 5v\15ëÜêËzv»\18\8f\96\98½
+Ä­COº­\82\97Qc»ò\80&¦ëÖ.Ù»{ \râg²_2_öeEiSàº0)D\95°S·ÂHÅì¥G»\92R\145\11_7v
+M-Y\ 6\88\aQûT\ 2Ñõ\8c\98îe§'Ó\bÅOZ\97\847\85À;,B!{x÷\ f£\16ß"v\1fâ2\9fÍ\14{f%ÖH\8aø\13UåÐysiIï©c³B_ìÎ\88\8b\1fBKfÍ}?\8e}ÜysPÐ\91$-nt\ 4ÍF×Í\92'Y0(«å<s\93þ\m\88À\16\8bE&·ê,îU\98\88\ 3\9bFðK\by³Ò)ò7|t\95q\84·\95}1ã\vm\81.¿éã¥\9a!\ 1ØçKêJ\f·\11@f»\88è\ e\8f\88\80zÓã_\96a\84\97P\90\98a0dIùà\87©$ÛÐö­wyÂO=\ 4ük¢ìå\93\ 2ÕxÉ\8f\1a[ÂæÞ4Y²Ðʳ6ôV2¬Ç\8cñ0ñQbP\9eñÓé¯Uªµv¥ñÉFË\8c\95\aÎ%\9d\12\19\96aì»?\e\8cöCȺe\9aÐ\ 4r\1a\16PØÅ\8eÌÊÍd}í5Ix`Æ\97½}ìîN3;\bâg[\8f\17\8eûÄ\f[C-BGæÍ\87\9c½\85bjÁ       Uë|_øV\7f\9enÙY\98\7f\15YB\e\ 4m¸+h\95\16\a\8a<\ 6¥d<}¿\12ÔÁ²dÿ¹\1fÎn\ f  \90,\85ß\82\8f\8dÇÎâw 0\ fR\93L\18L\7f\13\17j¯¡\Ø\ 6\ 6p\9f\1d5ºõå<SîÎa\18L\18\8dä\ 5oR/{Qòpy]D\9aÜ\ f\95\xjzÇÝkóm\98.\82\80Øcà Y÷<ÍMæáÖdüìÏ!\14\10ß2¤\81\17Ø\ 2¹a\8c\1d\82Ñ\18èrVäÈö¿çt\9e\8eCØ<\16Tt\94\v\ 1H¦y3Þm_\ 1\98Ö»Ýi\ex÷ðÕèUo\19Ù7\19 ðÞú\8d>L\1aϦøKô~$X¯@É©§ÚFÅ\9ds\ e0Ão\ 5Âî(
+uôL\8c>\92r\1cµ©l\91¶x\91Q\89\12X\Q8\ f\ 2\94×2ÂH\96½îh¬Äm\1e·õô\84!@L1ó>\19\14Q\8e[\10ý`öÀ×\rr\98å\80\9eÎ6\a<±¸¶\98\1fl/èáC£NûÄ>\8doQ\8d!\9f\1d¥á½=\e\18%¬pñh\aõxx\19òÛ\ 5ùt)åЬ.\12*DG\8f)\990\ 3Úö3ÌA¨?òø5®ß 
+ØT\9aø\84rTq\86\98\9c£¹\f ép( ãû&GmRï8ÉoGû¥\8fÉ.$\81ÿg\98MÐ-vî\r>ùi\1c)e\ f\ 4×¾ö
+ìß\1aW\80\b¦\ 6\95\86¡Á²G*M\91{H\98ÀÎþßsÿ¬ïÍM¸;?î\7få\9d·ÇÓ\11\94Ô\1a4r\94v\85ùjoANoK\81ÔZ½\7f aôÄ1^×ÿLU¾?\98\8e¯QåáÝ\ 2¾Q`óÉaÀê*r$±\8aÇ\98\a:7öñ\80¸x(\9d1\viÆçÓ\1c¢\90b²¤çQ0ÜKù\97%C&è\9e¹à\81\86%Ô@V\ 3gu[\94)\a\14­ó¹ÝËz\8c±Øckn)\0ï
+\13óü8e\94\10\96Åp\8ang;|gëNPÈ\96SeÆ\9c\8f\1c\86\8cCS_\90\178\99Lf|­v\1fµ\1få\9f3\14\834þÔn«Ço\\r\90\fÖ@å    \99\1dRñ,\ e\85\v='\9c\9dÐ9¥9Û\8b\0\0ðRÑJK'\9b\10|×$ó(|Ñn\fX\95úâ0!ÏmU=
+\9e\aÁ\8aâí\1eé?Ä\ f»J\9ct¿¥ÀYl(EÝ4\15\96ee¸\84\9dÒÏÐ\8dɹH¯\8cÁ'Â\14àÐ<@\1d\97\9fª²\8a\b\94ö½õÀ\ 4}±ÄG:\8d±\f­p+IÊ% z/Ë.l\9bÓÏ\98§¦¢â\11´L\86\0!Ü'ç=\81\7fî-í\ fº+\83(Ø)uY$,tNª¶\91°\ 3O\eΧÊò²È\96W:\ eþøL½\12¹¸ö\171ä2´Ë±ãÒZ\18Ú\17ÊI2ºyp^«¦+C\86\87e\7fs6`¦\8b\18\8f\ë^·êu¢\8cj'Ãj£\9d5%ÌÀÿ+\f\88\1c*/ÀÔO\92\14_\1fä»Üíã\89'ÑÛ>N{\9e
+\91k\ 5\14rèf5Ô{'E\13GTsÙͽiÀ4SÖ\9f\ 1cÓw\ e\8a\1e\84¥©\9eÊ{,QC\19\afÑxUG\1ed­¥52g±\9a¯zÓã$: ÿú-Põ±¨ ½\9aàDícPáJ¤;
+\98\16\18´j(\ 1GVÁìׯ½ãñúÚ|kïá%e&\9ckA\19ê©¢EãÚÒS\15\8ala\84Ó\9bL]\ 2\19\r Ëý\98I¡T\9f\98ÖV(dxéûfÒÔ½à·\93\9dÄË\90éù÷-kEÉ¢ýÄ&"¤nH¹79V(k\e\93/ÓÂäºUí.\955\19Ò®ÿð¦ÌFSI\12¾Þ¦Ù\91>L\17C\1c*\16>G°t\83\85\ 4ÿ\86¤oá[À\13ªÌ\80\1aéoÑ_0^\a~=±Ú)cd7æKö\ 6\8d(\1fRw\14*ñêF\13j\8c\9ds<\9bóNRÀ\96O'Ì.Èm\ 1A;¡oQ\D\fÆØð\1c\96~s\e1/\ 3²\16¾[ófõ
+±á-úw\90\93ê[1½¹SZÖ©í\10\88e\96Ùnñ\88ëz¶§}\ 2)åþ3ð\9b\9e\1d¯\84ÁG~Ía\84'\ 6\8dïÃù0IöÔMH\8c\99\14,R°¥X¡ä+\0fTç~Þ£XXU^-\90wåtnuFmÎÁ\87$ÿ\0CµúÒ½\8eH¿¾\ 2o\13´\16\1d\8bØ\95aÏ®{Jxþ\9f\b÷(ÍÂ;ª\8b\12\80x\81\11ü\8c«\80s­DÂhtέ\b\b\98\ 5\92e~\97Â\1d­       ;ØÇ\1d5\9aÙ\84c\9dn2Þ7\95\83G\1aò¾\10è\1cÂÆ¡hs¬£Q.\9cF\ 5\82\14!QÜÕç«coeàqçÙà\96Ò®(sZ'\90»20£°ò,\8f½Ô\99
+§01]ÎÅoQÏ\98T©Ò>ìë~$\89r\93R'D=\82\0X[ø\1cê\9fò\88~\aöáÙ\8bë®d\rO\95\ 6§\86ï\93ÒB Ä«¹\8b\8d\14\19Ù\b\16ú(=ë9\a÷z*\8açíh\9c\bH\81\93³û\80¨ù\13éÀ\10\96m\8b`XÅÒTL\85î\1f}Ãß_Ý\ecáÁ´+íN\12\ 3U¨7q\1a\82_êTdRdo\ 5híDº|qµ'\81´Í¤Zo"s.\96U#üÕ8i\8e`\88³n\8f²D\ 3JdXó8 sÝÕY\f'),,\¶\98\80\ 2Iî­-f ô\19²\ 4\1d\8d30HßÊb\8bÿ\12b\8bÅ´Å\11ÖùùÝcùu\1cð [Ã\18æ"]¨\9ct ÇJÁ3¢Þjï5ÜÍ}Ká½´\vZvfD\9d§Âé4NLB7\\12\89¯\ 4~\\8b8öË
\8bÉß\1e¸\81\95\a\85r`vÃ\19ý\0\1c\18m¿$Xý\9cùÍ`íÁ\1f@MB(¦\ü\94\9cú\8d5\ eÖRL¦\91\179P\10H).DÓkg\8b\v|ËäM½U\fb\81i\11\85\ eù+É\16'ÏähÔ2\8eðK\õ]â$o)\87xJAÛ4\154Òju\1e\17\1eµ\19(ÚT6µLPÚ·S±)¸¬«ZuĦ٠   ­½ã5ó\16¾ìòçAàL º\93Q\14\8b¥LÂ\8bâÿZ\19\83\13
+Mi\94[\vÁ\14¢¿\94\18Ó\ 1F\99£à\1d\12Ù¯\91Hº5ü?Çî[\r\80d¿w\ 4ìeÌLC¡\16\82ë\15âBbid0[% íY\9b+±Û\ 5m\f1DN,ÄÑ:\95\16ëxKßàÆ\9b½\9dªÎsDêW¸A\8d1¡-\95©Yò¤Õ\ ef,7BÉ\bûã5þ\8c|jùä)ÛÙ\8c\10I9©\90ÔÄÇ\84rb"k\1fçj\89\9fX\9b "Pïµ<DNÌ\97\894ªsUéTI\17Ù\92.S^A¤\8e¦};ò\1a\90AºdPÿ\99\10\81±Û\eý³^\a«\18qpÇÖu#ÚÝrÇ=LÖ\89y,y\8eSfÏikª\17\1d\1c\8d\f)\19\87Y¦D)j"xAwÎ)æ\v"%|\19\16F\1au\90\903ìβ\19ä+ÛWÑL é\87\ 2¸[\9b\ 5¥Û\ 1ii=²\8aÏsq@O¾¬sݶÉí\ f\19}ÊõÏ;1\ 3±\1dï~\14\84\86w\15Æ£!läÇ\83xSB^n§*n²ÓR¿Kà\13\92g¸R       ¬ý©4è5\ 1\98O\9ae\89òÚåXvÀ\9fÞS\15ªl\12Wøñ\91,\ 3s!¹&fÜÆ\18\8e\80]$»6\vü\11\b­\11b"r|Cj\99
+0ítd   Ô\83Ë\16\1d\1e\83.!Ü\94\15\b]rgø\92y\18ãtíÞN®ÿµ\ 6 @ÊZ[ó¥§ï\0x|î\8a\fVÐ=áÛ®%toËÝIí\1eÔÜ#\8f\17ê\9e
+\ 1¹øhüå\1c¡jÅù*M|/*­\1dÔ\9c\91`\90\1eö\ 6ÚÐÒñ\e\f\rã¢D\ eïÁf\eó"ó\ fæB÷Í\vâýÌoßÏáo@\82\89$\97´u\16'x0>¶\ 5à\98m$\7f¡\13\91[¢aÛæ¬Fé\17\9d(þ] ï¥ <¶MÎ\ 6{ PV»L)\17D<\90\b·\b8ÄåÅÚ\1a\ eNÆóMRL"\0þ\1d\1f}\v\9d»û\82'»¹#÷\1cÍäí£z\8föà\9d!\99À\ 4 å\ 3\99Û\98!ÑZçx\12\1c\8b¤å³\17\11ÄD\91gx\ 6E)/IÅ\94\97sêqe%×c£UÖÐÛJEð\94ö\99¾,ö\80&®Á\1aN6\91\8b©S\8b:\16¬¯Cñ_-Mh^\19ôï_B¥¦}\v7>D    ÆnÐè%ðwç¹ÅòÍ»íý·\86\v\86Ê^-\82\97\ 1®§~W§Û.\b\1fX\ eê\94©\14¨æ\88\8cFGì¸\ 4\e£{Û\v2µÉÿ\90\ 5Ý\1fü\81?\7fÖ\f|Îì|ç¹V\81\91®êg«·åþñ¸\ 6\95¦Jt\81¿hÿÉ\16\17Þcf(Ä\88\16\89û1Iû'\19\18³"öîs¡ \8cnä(®;É\95\e¼u2¤&»\ e\ 1ø\9b_¿\8d\87  GÙÛDïÉÚRF{A¿\17\90\91ø\ 6à\1eÁømñ:÷s\93Þ&ù\13ÉôèàðG\aFùÄõ\9a\11 \98#4ADÜÒ\b\95\81\13\9c!\96~x÷Ûk\ 2ß\b\97Øê¤\8b\bô"÷ êëb\82Å(ä3
+\ 2+þXIú[©ÏÁг
+f\10ßf!\1aL²¦\9e\91\ 1\80sߢ_\9e\84OVÛ\99ß\9e\1eEb\9e«\15òpÑ\10\7fÉêa$¼\ 6\8c?OÑé\f\f÷°\84\91ó<î\84Q3\94Öï\8b§\ 5h
+]\935=3¡èi?Ð\84-ß®AÓJåkad#u2\88cÄç\1e\10tzÐ_×Jg÷¡ãuT\93\16\11L&\ûÔ\7fTf"«Zíñ²\8cÚwØú`3¢ÕMíµ§J}åV\83\ 3¨ÎE/\1d[þa3.\18\a\92)\ 1Oz\10\80Ft,é³ÂÞ\9eæ\8f|\ 6\v6\8dü:»ø\ 2Ãk\81²\15\ 6-¹¿\87¬\18-\99N<\97ßC\80¼s½oO.1\vl\14­\e\8bªx\ 6ÒV\85Á@Ñ<\1eQ\81åóiñ;Âì #\93vµ.õó\8e¶~\92ì\ 6\ eÏf«\14\ 2Ñ\88l\83Á^ÐðÐÄÏ#ú      v\ 5óûs¾îÑo\184ïPÐ!÷\ 5â^2\1f\ 6\e¸§l\ɧ­\f'm\87Ð\14ǹ$ÌZ}½¸w\90;æ,\8e£y;ò\9eÔxï'w\10.\ f'uíéû\813;\86«Ú\ 6áÙ$h670l"æ\8aLìÉÞ\7f\9c0\92\\83\95uý¹õ²iDí\9aäá¡0Ã\14}\10ë<­û\11>\ e\ 3\94\ fßß\82*\83¬d;\8fÍ*zÞð\ e}ÐÒ¸ÁPH3Ø\9bA§tʺÆõ\1eÉ\91\r[×®wmü\10\ e\871ò¦e¶/.qI \8eS\7f\89úÞ\80°\97nQÇ£kñ®ûÐ=Ù\82z\98é\aÍý\7f\9f\ 6´\9fæ^ëê\97MFý\97,\88ر^kJ:h\06\16h\8a?ä7èHQZü\1a×i§­ýzçËH\915\9eX\83«5\¾;¼\1dFo¤]âqã\13\ 2áýD\a]²oà\8eÚ7º\96Y Ë~L³!\93\8eË=\ f<Ùg\91\96ä2Ê*²e\9dæY\86Y¦þ̳¢\9a\15\8fy\f¿MJ7KÚèö\96h\84G8\863Îe\8b¨\971\96=ÙDý\ 1ÔRdÉ\8aW\9f"\16\ 5ñ(I\1eB«4Ö\f\16\1dÇÍ\ 2±\rÏÖV|=\85\9c|>¸ÔÙ\9d\ 6½s\18S|q­\8f\16á0Q@\88w\9f8\90ª(Í<ªÜ\16üÁÏ*µãÿÝÃ\18\9fôê«vb\90ôý[\87Î\ f\aÈ\9bÓìϧã×Ù\96G\92\8c\8dW\97\8e\e\1c\8e¼\94:9Â\ fd6³³\1a<2"h\87à\1d\7f\a{\15ùnrþJ\8ek\ 5Ý)\aCi\e\ eT\1cè\9fÞÓ\87\ 5e\12õ»Ë|h­î\ 6YpT¶«³9Ã&ÒHò\15.U­wïTN9\14\7fª§¾IßÚ{öC8\94ÖY\9c\95\8aÚjÜS|Í\8ckÕ®I\80I=\v\943]å°°o\13]\8aw8ù\96\10·,ÂìþÒÝe²\97î½yFN$R»\íiý}\13§\r \^\8dÍ\ 4\9cHÐ?ݺV¶%æ\89Ô+·U\18Å-H*´xdG¢Iâø\bD\10B§XÀøè\9eB\93ê\8aÁ\ 1B{þzX/t×'|®ñ\v\1d\85Yoá\11*[ðÈ1µ ¬"5ûõ\ 2Ä([ÎS\ e®áä¨Âð5\84á¾\96ê×É{ãÄ       !\ 2\ f0ROkÒoÃ\ 1   Äâ\98Göò½\96Ä\95¦\9cg\ 2úTæß8m\91û@ªôúíʵê÷R\1c\1d³4í5¤»ó;¦\1e\17ó}¿{Â\89¦Zï÷<y'ß+-±Ü\90 \ en5¹,\81c)0YG\87ð\7fjwpTL\11@¶7¯D\16\9f\82÷ÿ\ 6\89\829@\80qq\0[8ðüâËO\1e\ eî\8bm³2\99\1cÁ\10PÁX¢2³oíâK@ä»\15\93\92P9»h\19îݲéÙ\90Ó}\97O\ 1¼c\81\85\11\89ߺª®.\ fØRçïûB\b\14WV] ÙÆP\ 6ô\ 4Û\7f4îèZ¿1&Nï½\ 2ú\87\ 3Ã\90¥§\13¨ÅU;¸ôùVp9WªØSÖÀ\1eEuQ²\88\ 1úÎêpÅ\93_Ù­Ã\ 6\8fÕR\16À.þH%/\ 5\88Cæ7§æÊ3\8aa\eÔ\ 2¼\11Ôê'>»\9d\ïè\1d»x/\86\18\9dÁ½eæº\9b_KM[oo\99ù^\96%Q¥æ(7\a 9¼Àß\18ûD[èAËw»\82\9a^$Ëç\1d\1d\16äyPF÷CÕ\10\10\96$\90á\10Hzã¾\99\81"<¨\96¡VõBçY\ 3â\e\9akK\906?¬eÿqãÆxB\83\11Å$^ZȦ\1eLaôß|aô\1fü\8c?È~\10RF\86hÞg\81ä.\8bª_Âú\vu\1f    nÏ)É\8c(ÜÙôÊÁk\ 2Üϱ1\82ÜüÅ\10«æßî\8c\10ï:\91\10\1fx\ 6§ÝÓ\87\13Ûà\17f§Å\12¥N\13£vkpû.9Wí`Ú5\7ftQÆ\16Iý½\10\ 6D:Úºs \814\89\9c;í²\1dÏ\995\11\9a't\88\fl¿;lqFµ\8aà\ 3Èx[n<\ĸ\b\98ÉÝVìtÎ1Q.c\ eí\ 5=H\13n¿­ºBÔÃîÿ\11O\87ײÿ(\97ªèN..\r²7§\14УÆ<²S\84û¥\8b6\e\9aM»VÒ\11â8)F\91äîá½?´[¨\82\1e\1fбNåò»Á\83k\0r\1aU(\ej6ÅþßÙ\ f¯`^T"\954FßÔ9\97@ù;Uq¢z¿Ýè\94õxÏD\84)q\80ÜÔ%\92(\8c¢½V¾!y¨\91.\90TpfT+`Ù=\8b¢µ\ 2î¸ó\8a×ÍU¶\1e(9ù&2\86\9d­\7fÕ¢qmVÔdè©RKwUÜLwb¤!T_'aaÈ\98\8dªlÄÁÏI¸Ã÷Fæü.\e\86Ü\8abÛÏd~,×\80²b¼±Ë¸¤)m¹\r^~X\1fJ\8bKH\94\0,ÈÈg\ 1,\84.\16\91¬!O\16îZ(¶:Öx«i9zÇs\93\90:\84AïóùDð]w\94;ÞþA\84\17\1cÖÀ\98ãÉùÊ»§î\11'åÅåU\98Ý\f\ e\8e'|\9a\r\94q;²\93á\9fç\8d'ùÇ\ 3zíIMÿ\92~g8ýY\18Òz_¹\12z]\1d\10\eFV9@hÇÕnX\93ãÝÚ1'Á\ 4Oå®VQ¤õ\7fÊ\89<`r\80wnòvÍÓw\9bU\15é\ 6K\92T2I\18ÃR\9e\97VLÇ\8dÖ\91Ì\99ú\15v\80\9a\8b¬I+\85J\9f
+b)ì¤N\8aªé°
+\1e'\r÷èt\9c\90ºÙtA\13\ 1è\14\8cQ\9doËR\16
+e\10\ 3ñ\84\0ï\8a9èî\16BØJ¢q'Ý\134ZmJ\14ýÞÔðüÄå\16ë¤xóÍ_x\81ihóÓí6\96ÓÓùñ8\93«¦%"ë\f6Þ§_ÙÕ\11R2᯷´+\17è\ 6{ÄáÏ[¸)\7f¾COðå\9e\aßÌig\8c\aï«ð\18\vÑõ¤\17£\ 5À?M$ѽ@-W÷näºvg¾n³¹ÇÒXD\9c!êËtñ\ e\16=#¥¨f×ôüCuB\98\ 6\15,Éí·p7:Á\e[çõ¥æ\94¡mo\97  «T&":QV\82ä6eº­l\v3&       ;O¹Fiþ\14\90ûi Àdzý\8bzsÚ­\13\8bHP\14'\18-\9a%?¥â\88\962<zB¸M}\13\86p%\1f2ì£}ïZhè\9cHàßÄ:CîáHõ*°pÓdS4¿¼\84"f\97vß5#\83¢x\86«ñ¡\17'Ô¢#X\8aiÛËû\854íé½FQ'\12ùÓä\9f\97Do\1fQ8ÁÎ\1d«í\ e±²\86n±Ò\9b\89`ü?ýºÏ­\ fòu\96\9e\1fÿ\9dd[À2G\13\ 3\83÷"sã\19#\18\84±6©?l¯yMuëÚÎzD\89¦Ã\87K\18Ï\81ÝZaÿ\f¡ñê/øÓøí±\19³ÜêʹÔãCt\10\ eäçÄ\9eméò,\10=_\9b\f@\13þÑxÏÒ,·\9a¸ÏØ\9ar}g\9b\1d§\19nøý9sä\96\92t\ 2\13\16wÐÒNôµgø2 \1d·û>ì¥\f(L1#^
+q9\ eÆæ°\v¹\13â
+âq\13ðZÖ\81Ù\11\19â>zæp^ã%Ï)\avmê:Á\94®8\aÊà¦Çu×\98ýE\97qq=T=\17¬\1d\9dÇa \ f\1a:\96¾på\ 1=\98F"\o\99\94Îý\91Ìë\85[e\89\ 2×Ò$³É#<wtõ2\9e?ØYtªå·\88¸ñmL\15·m+\18?\9aÜÃ\81²\89qB.7\969Y\ 4â\8desöêBð2eæÙ&\13ì?)z\9aµû\v\13J\1f\89y,~´<^7\87\17PI\9fhüÂ\9eïÞó\ e!r©¾\99\14êæ\eÔi¢z·a\14oõÂ;Î-|Aã-\1e ¯,½ú\15?vÔC*\9dð\87Ã\88þ\82ù\91\ 5\1fà\86\ 4üy\1cÿ\85úʽ\84\v«â_\1aõ~aÆüu\14E}ä,Þ\7f\86VB·YÎu\80k ÞÓ(\8eçSc\88\98.p+co\8d{=\97ÞÖì¼²k\7f_\97jÖÀ¢!ÖsÇa«\9bSèP¶/0mO-²>öÌkѼL*\1a7Åõ¥£Ul¹\r\1a \96v¿»Ë6\8d7jѵ_½-\e¢6\8dÁ_?úI£\15\f\ fû£ÔÁ*°Û\19õ\96#çÉйÜ7§Ëí\ 5ìG\84ù8\94ê\9a"\86\99\87ñÄ;¥a\ 5\9a·\97¨® ý\97wEµ´f±\8e\9e<?¯v\86\12­¢\1aèsó\1a­¡Õvû!Ð|M$©(Õv\91:×ɲ$\ 4Ø@f]\16+L¶æ¶E\89\1aÙ\ 3\83\93y®Øø*[4GÁ\12©\1fNÿb\8f¦öEuò>m¨\13²-K¿J"\1frYUâÛÈÙ\ f(Sò\fQôoN7\³\87\1d!&ß\98.×8ì^\1f\97t%Ó&\15®T\95¦\14üqî¢\9að)ú»8±j\9aø\7fR'LK\8að\10â¶èu\96\ 4\eRKn\92C\8c}\e\10ã\1aTâ7Ùíp\1cÁâ\r\91\98òÓ\88àx\86*´'Ê¥\8c;\ 1¦çUUçÚÊ\ 4Ë\91÷ø\16MIM  ©Ñd\18óo\85ZxÛ¡\88NFí\±\8a\13>]±\10u\9b\8cD\1dkçOÄ¿\b'qÙº\8aÞ\r¦v%åT䫹ʯ\ 4¨¶íùqä\9b\ 1\ 2ö\eÔ}\¸\90¶´÷¼\1f\v9\10­CËëy\9bäl\8c\80r{ÀýUì\ 5.JVO*¶ã}Ð\8cSÊ­pÿ÷n\88\8d\1f\8cz\v\9f\1dÏg\16)ïl\16\a ·²(ûZöû\ 2\17ÖñT\17\83%kø\8a\ 3\1d   â¦AbþüõÎôt\90ú\9c=UÎ\9b|.%{ëÐ8ymh(ÎÝ\99\r¹ïÎ$±/Iè;e7&i'\90\11ý\8cDb\85]\f8\9b \e<k¾Ø'\15\ 3\9bæ¶êA\9eþ\e\ 2qÑ|Z¢\ e\19w2Z=\1c4çÚ\12ÿmz$b\0±DJÔ\fïÆ£0<\b\9a¶UíÍ\7fOÚ;:tmö\8d\ 1VéQâ&¯¼Û\ 5è\13²Éþ     &ù¦ÝöÀuéë\113\82Ô\17<Mgqæ:ÞZpÏ<«_-ë/\9aûcÐ\ fo\e¦ðþV\85Å\ 5ÍýÓ:XR4\r\81\92Ì?1\ 1\ 5F\10\v»³i9¥6Ie%)      @+h\0"\15Ajf\88SJDu\85\85<\81*\\80c\ 2¨åjm\85á   \ 2\8bE\16Úë,g«\95v\ 5\1dÎxQÊ*å@ \b\14\ 2\94P\0\ 4
+\0\b*/\91\80\80®È(\93÷Ï¿\7f~òJ\0\8a÷níÝ·öï{ß\7fǨ\av\96I$\929#[z\92øÕ\aÌ\16²ÈûD< µTë\91±¾÷´\1d¼\92:Ô?\99Z~\92]ý©ô*í\17*2µ)\9b\1a\92\\8cHUÃ[àh@ñoHP¼Nü©¹)P\8a\85\bò}d0\10ò¡îÅ\b\17Æ
+I¢R\8a\aâ]n\9cTø'7j4alLyý©j}2ª3M\90\89\aÑ7\8etD¨FûÝ\14\1c¶ÿ\8b\80^¸¬½\7fǦ@"^÷Ý\8e:\b¡ç\89ÔÇÃ\b\1fCkc)À+\96pú¸\99\16Xß=n1?¸_Få¦PlÇû\98\88ö²Öì\f<¬§Ù1©\90ã!A\9b§\13\92\135Á¢BD\91ô\84]ä^»\96v0Úü\84\13N=åÅO\b¾\18\97\15;Røv\ e*t%ðɸ©®*oA· +·\e~F\a\ 2\ 4«°\18¹f¸\82Ôó+®dÔ\ 2\ 3a×±UW\10î§ópy¹S\ f*P\7fvè'ÑÛKÎ;Ì(\s_ýz3Ïl©¢¨\9eèqo¹àÆ\8d\ f\15fxå¬þù\ 6%ñh^\v\18£\ 3\8aK¥Þ{.^i{\ 6bb\8c\ 2_\12&Q\>\87r¸ï\fyoÅ\15\ 3ÿfö\1e\10e\95\97*\96|Ôö\ 5¥\1f^Hú\90NÛk¨\9fµ¡ð\1f\90S\86ÆGÀ6\8b´\17
+¾Õ\9a¼÷\15PþAT\87O}÷®ÝIí\U\0Þæ\96£\8fl\7fq¥u©\7f2\8f\94³ûS¸O6²jx×\15ò\a\9a\15\18ë\aòsæ«IDÇ^i{äÈ£!â:Ýðógø#1?d\19\97D{ÊnA\10n>¸Ñ¬¤h5\85?*#²Ûßß²în\1fþWõ+ïé\a¥W\89ñ¦\9e!Jñ)åûT\8cM\86\8bÐß\9eFú< B\15ÈhÖ\80µ!\b}û3ä\90úÿvZÛ©¿þÝê\1d\ 2QÞþÛ\81¿nE1<!ùH\12\85\1cýº\91\14\82Ô6¹mçß1ª;HïÞs¥ \ eJ-3¢        Q6\1a^9\rùåø\04\92ü[èêyä\0ì>\16Æ¢%\99ÅHà]\88§/:Õ|(Ns8\94q:á\ 4\9c°~åÛ«\ 4)U\ 6ô)U\81dA\9bymè\17ðxïDJßOÞ\vÝ*â§Í"ºíc²Ö
+ð¿HÛûûÈþ?\80¯\1f,~;È.ÅÂK§&Y¬$%/;Óí\17\89®wx \1cÐ3 \12\15\8dq¦{` (_\7fØ\12\ 1\83¼5Í>ÕR]\97]hem;ZÄê+\ 3\ 4ãè3\18-ØÔàav\ 4\ 5\7fúQóf\84 ò­½\8eìûÍSÞ\10\8b/À('\1c\9dØÓ\17]B t@ê
+xÂ\1e\95?þ°\96"g8\ 5\ 5xÌûªG¨ýÚ]\9aé\19*úôyW\90\ f:\f­ä\97\1dyEîÎßÿÝ\eìÑÒsÙ¤$µ$p\15\ fþÝØ\83LÙÅN\1aC\98S00Î4\13\1eæí=Ä\b¯ÒQ\141f5gô\ 3\9b\ 3mðÒÌò{RïÛ\9bÆû¨ñwóIÕ¡\86´'\bª      µÍ¡hR¹½Øs\85."Z\10A\92ݧ\15TèÇ`Ñ¿j\8a\14
+h\9e.þ;~ÍI°5\9cU@¼\8b^\86úê\10\81\1f÷±Òn\11    6Q\84\9b\8aÀÿÚM©Û\1d,\1fs"MóýR/aº\8e\91\Uv\85y\r·þ\e¥,ÈÅã:\9c\8cÂEw\r\8aÿV\95Y\94Bâ«\191\1eY@:Ú#uV\9aNåÁ\90\89\8f\88nF\88\82   eÀe©\a9}q2ãe¹aÛ1\19¹¸¸\93[\14Ñ\9c\17w\85*1ºA X«NßS¹bY¿r\86Óû¦r*h\ 6ÒoG­Õ\9fm3ç2¹Û\16²¥íî*{\ 2ø\\ eæöG­4/ËãílÓ\7fQ\11À\8d¿º5°îTç\a¬Éüã±\8a0bÇ\84\7fmT\9b\89«\87wÜF\8d\14«Rw\82\1c3¢Ë§æU[Í\89v\11>~zÿ?ç%B(e\16f\87'ds&UÏú\97\19ö¾5a9½4@¦JöüY.NSqý'
+\8eþQûÛ\ 4c#\9b\7f&ÄiÒ\ 6\83«b-«\8c\ e±]`è\93b<·`è1ÁÝ\90\88²î\8ªÓ&\19±I$\8c¦?öXÌÁ»wܽ±;Ï\88á\0\96Wîÿ\99\8dôû\83¡PLxV%<¼ý\ f¨ñÖ\83ßrÇWØ' ÏW1\8bÜ\14üD]Áj\82\1e\13&([\ 3S´Óì p\8f¿\87\9fj        ÂË\8bmií*\86A
+I^céù(\1f\10÷\98!Z£NØ\12ð\80\ 5ÿ·`gºV+åõ\96Y@\83RÀC    ö*x±\rÂÂ϶y\ f     Éy\ e\87ë\87B\87n?VôYf7\9bèGc+Ít\8a¿,q¢}*±²¥\99jß\Û\18\14Û~vÏ\\8f¬ªoÈë\9d¡\r\fUÇr¡\fü;uQ¶²\876zV\99\a
+\98\10Ï­~Z\1f],ÍôÿM\ 2«\971m\13ëã\97\8fì\938\ eÅ÷        \88]\1e \15Çmd
+ë;¬iWEhJ(Ë×IÕõ\8dÍ\13õ\92ÿì\89·\9eäz6ê_rì·\82vyL\1fM\ 33kð\94\80\90\8aõø\12âo¥¢a\8ai\8aÅö1Vw\82OBe6ÂÕc§\17¯Ø\8e×\8cµ\e\rÓ®±\9d\b-ÓÓÿ²Ü\14ÃÃ\7f\1c[{wêãzñÛ'\156½Ú\ fÈyYH\9d\17\10û4\7f÷
+,f[nfÓc\8dw\93\97*%\1c¨¢Q\99%+ÅC\ 5¼\17È\9dÿ¹T\1d\1eÊ×\ 2Ø\99£\14Ñ0¢o8)\87]>d\ fû\14ùM\9fâ\ 6©ÌÐz®Ö\9d\89¨¶ì{\1dùd\9aÛ}ï¸S\8cÛqþtZÀÂw\8d\13ÿí\80w4ëÚ\81Ä\1fÉc¢hDÃðD\8dδb\þÍ\r)\93µ&o
+\ 3W\90©íE\94eËwÜ\82Í»¿z%ß\82r\13\aßA÷\1d\9b\1fiùêÖ0ãºË\ 5;\86¿\89¦7­M±íðA\a(gYl$}³\12\8fâÉ\7fͦ\1dµø¹ñ\93\vÀë_\948Øx6BgæYÍ%$     G/¦ò0?;\rt\86ß\8dµ\r¿Y´\fd\88Y\8f§ÿL¾S¢}?FØ\ 4ë\1d»g\95\9caC       çQè*æ3ÛC8ë):°\bråýxï³ÄØîK\®þ\1eÔ¨Ê\82®á4´ås×Z¼\8c¢Î°³Y5\957³FØ=\ 1mC\9a¤\1e\19\94\9füs¯ýð\97vF¢ÅH5_¼Ò\83\854}F(ó¨z\b }\8b1Ò;ÓÙ»\14\8bÌ\9cÇ\aС\8ap\81ýȦæE0\1f"\ 1¯\9e@?\88DaÌ{ü¸{Ç$\8b\13¿A)v÷ ñ\ fÒxNGq°\15#°j²\85\97iqS\85\94L,.Ùª~\18\96g
\ 4?\97i\14yºm \7föJÄ\9fýôv\85\0gØÚ&\157!ÅOjU\9drm\9f#>M³\88û\92Ãs¦RU¾Ï±\0r¦òZp^ÃKÑÏàï\ 6\1dq>c\ 4[·/ðta\87o\1f1
+¬µÒ+Ôí
+_Ç\ 6\90ðþ\134÷üNZÊ\7f\98ö2¤\bÉ\ eÿû\8c\b\84 !Òøù\8b¦(\83\8d\7fþ\17\8aÏ\ 2F5F¢M\8ck\93ÙHƸÅza#\9e¯_\9bõ\82×¾L&°À\e²a\9fò\85¬\13e\fþG·F&¢üreÕç'³æ&\eá&\1fÀI9\b=ì.¶ðt\bf\12\95\1c<\ 4¸\91V\8e\92ú5#\87°°w\85#\8a¢µ¢ºÙv\11â\9d})júIÕ#@\83*»¢\9d7Τs´o\95Ù\1aL\9eJL½sÒeË\11²1½
\f\ 5\10ú\8eü\1eêÇZ\8c8!Ö\ 4B\1a\9cî\1aÌ\97\9dõA·Ø\82'd\vZ,Í{\8a\bâd\843¤·æ÷­C\f\97ítqÆWt,\9d¿dT?\a\158bvVέS6-\ fòñÔððgX0\12á\88À¬Z\12\9e\a
+¬Ï     Â±=ç¯Ø\93¡\10/fÞ`\19¯þÏPèO\fiw\95X¾Ke\1c\8b\8dõ\1c       ìºGÕÃ\95S¯NJwªJãj¿\8ew3¬¦Ã\9b\ 5ÃNú
+¥b0\8e_Bü\8e]àdùÕ\80q+'gzÓQ\83\86ù´`:rÚ\19\9f\ e¬2\93N;ø¿TxñR¢\13\95\ 4\95µx\8e=\e­\86RíFëo\94¹\84\84]g=\95Ûk\80\1fò'üõ1=4´øï½¬\ 3\9c$9;s×Zw\1dù\88a\9d¸£t\0L%\ 6r\9c\87zÓÛ\8fLoÁ¹
\rº|Y\89TüÇNËØ\1d®àº°§\9d\7fg\16\97Ó«\f¶Ú-çþ¼ÉÊå¡XE\95?ø¶\1d\8c,u\v\0¥\93ù\179;X\ eÁº!¬#$àÇh\ 4عæ\83ä\96¾\9fÀ9\81n\89ñr\94%¦sOt­á:ö¤\9f\13ÁúcÒø¹q\b\13\13Ä?ÖNÀ]¶¿áØ\vÉ;\ 1w7`.\92\1d\80\90ø\82ðkPÏ,¾×\99#\0ò\1d3H\96ð$ñ\vÉHXÝʦÉm\95@E{\vVùÔL¦F;Eïìõá¢÷çÿ\84«ó\8f+>!ÛÁ·rò³è\1fü\81QÐÐÚÅAði\82s\1e\931]\93ÐE»½\87MÇ|Å7ól¦¥`k8Êò
+\94f-ùÔ\8a\8f
\rBD-<¶ºÊ\87k\9aCÀPé¾u=Ô4Éý\98Ð\16\99A¢l\12°g\81é\94l\84\ 3!kîm\10ãÎG»\1d\8a\86¡)u\1aáWhÖ?¡9~Ä"\ 1\83L\13\9f\91ËÊÍø\80\8eò³\8a ë\15æØ\9a\0Ü\94\10m\1e3ã=u³Éz\91n«C\183\1e¿8´U\88\93íó(qÅCbTC\16þo¶&´]·$­ÒlÍÊ$¿|¾«>\ 3Þe.²ùâºb\14Á\84±¸©a
+d\11\9dñ*öd÷¢\1f\1dôý¢\8e8\ 3'Ò{ïÞõ\18\85\94ÝRM\115{´À\ 2\86µ\99ä:\ f\9d\89Sü°\86n@\7fÊÓO\1cÁ\13)oú\ 5\rÕL\a\89{ 4\8abÏí¨9\bë§¿î?Ý^¬õ\\17­þ\92\196Å¡o\95 \ 3\1e¤¤ß=­²\90    >Ô\95\eþ\12LÚ×\15\f;rþîr4M~\e\ fñ#7õkNV\8d\9cî°\1cÅØj\a\0­r³\91ù\ f3\8a\7f+_\1aÀõ¬à \91\16\98!'\8b BO\ e¬e#\95ö\80~¦ÓÚ8¶>ªuY/:ã@µÕhG\ 1\ 1ÏuÜ\83¹ ÓÙ@?Cí¡ÿ¾©\94s\ 5â}Ò\80\8e\97Þål \89Wîä§WäØ~
+.¡P6 QY?éw'ý:& ICkØëy°4¢v\ 4ý\17\8c«Ñ\ 4 \ eŬ²\7f\16§Ð8
+Wmo2\ 2\97TFíõ\88&\82\ 2r`\1eÈ\80ËÏ\80À -^Uê\9aCû 4\u\87\ 1£ûÀbý\12 1\1c\8býn°MpÔü±L(÷¯H7Ó̦\eçkÓPÀ\13ßÅØ\1c\9d\r?&\¶zÁ\99QÂÖÿ¯\1dµT8<Û\92\85_ËÓj-&9É»Ìâª*j3\ 5vFëë):µü\ç>\ 4ç{\9c8\9bâ-£\9cUÆ'\19\9fÛ&á\13­á&Wö`ó'\1cC\1aÉ\ få)C2Ê\18°Öþ\86D2Ü\1e°±?»\N\ 5\90\98¦\85\8d\9f°è-\8b\8e     ÔTP¾\9aî\87\ 2»¢Î\91A>!ðW\8fvgãCÈÚ}Á\18Q+w\ 1Éì²\1cíß\ 3ENò¥³e\ e\a¥dÄ\9c\1eSÑ7\ 1\10öÉIÃ\8d]\aÄÔ\97`ÂícjÎ:\1d\ 2\87Ìu©s`\83f5&@õܦãÁÛ¥ÜÓ\ 2\84ì\ 6\ 4¬\ eæÈi\18\11`NûW!\16\16Â\aÆ(ñ\86
+Ía\v:XõDTvÂ\b Üj\8f°;2»éq\92îÈHéwÒÐÍ\83X\ 1U·Qä8Ð;ºÒ²w6gZ×Uðÿ¡&\91w­4\bæÞ´×/\7fQ2\19hVr¹f/¹\1d\1dÁ\9f6Y\8a©\8cÕGIH?˰ä|\11\88\1e!\83TÞlx\ 4)_ä)ç:R\8eñ·\8d\18\84f\8b£éÎ\ 1\bÍoj8W\10ç      ÕÍ\8d?Dä\9fy·A?¯\85Ç\9c\84qgS®ßTZ¬t 9 k$'áÔ\9fkËú¡)\18þÞ\90ûtzå)A\ 5kåïO\13ÅK\8få@\1aK¡èM\1aÂaj¦\8b\97\98ñcF\8b±K<^ÂØ\ 4­ûó|öxÃÍÇg\88§>9¤¸\8bcí¨À\82`ÀÓ\99-+7\rR\8e¡X·éÆ\8cÌ\ 2\14¤è%Ð\9aÑjS{\12Uܵ:\92\80â\ 4\85\14\88\8c r÷H\1c<\ 4F;yx\e\98\1eì?ÊÉHÒó\1f0òö+è\7fYà!M2¯\19\91^ÇÄ%Fd\15\18\13\12\93P\85Ñ|ÞÝ©\15®\144¯O¨\1aÈj\16\1dC|ö \95C¸Ô*\96¢\83ã÷ê
+Â[\81¿Pö\1c\1e÷Ô\1cª\92éÕ\96\ 1ò\93\8f4{Ñê\ 4®S\13Gt\ f¡v4\fu«a\ 6åûµ\ 4\ 3\8eØý\95¤äéE\fûݹ\1a\81\1f\bïÜêNØ÷Ô\f\1d§?\98ïtI}!üûàOê\9fÏ\87\1a¬þac×Ì\1fÏë\1f?\ 4þl\87\9f\97\90c¿?\9fd      ñÇóöA?\\7f7cçH\7f?4\eï\ fç\>nOçã\8f\9fN\93\1c\87óò\87·m?\9cø7Û%\a\8f\ f\93z/\9f \13ñOçé\ 2\7f\80þ\7f¬\13Ø\9fϵ\1f=qüë\87ÏN\7f>¼yþÁüï@\9fÏ?\9fò\ 4ù£ùÄÓ\808,þs\ 1\aÔ\9fÏø\8f\ e\98þmGÏ\1e\7f<Èóñ§ó\9e\ 6\9e\1cþ}\10ù¬\9f<|ú£ùþ1íÎ\9f͸ùÍÞ\8a
+\86\85\1f=\fÁ\ 2\85}9\10\83 1\1dåø0>iÂ'ðë\93ªë\90N\ fÍÙ\93ÓW%¸ã^õàØÔ\99>4\13ÜL\9cXÆkú&N°'¹\19?Á¦\1aÆï2yÐNxñÌ×Ü\ 6?vdóUÉë\95\ 1\ 4ûÀOÙ\99<\90'¹§Ï\ 6>\10É×AסèL\9f\ e<ûÙ\93ì\819ãc3[\88\ 3\90O\8f\1e{C'òÁ;d¢qçÅé\88\9e¬\13\9fp\9c­z {íL\9f         úc'|    ôfO\8a\ 4ó\86Om\ 4ÿèdô\0\9f§J?Ò\80!üÉï\0\9cò¨¡¬\98Aù#'\97\ 4òÆOã\ 3\1f\18dü}2µú<\93Þ\87¦\17¨é\90PéËJ¶Ä£ó\87çØi£¦ÿ\80\1eöÃ'õtÊÓ\1d<\16ºAçý])\13æ4É §\ 5Ç\ 4þù\93åÁ?E!_ý³'Ç\ 2\93ö\80ßõÌ\9e\90\13Ý\8c\9f§\1e\7f\92dîA<Ô\84\1fPd÷I\a¾»Ù\18\ 5¶dí´ÊÖã\14\16¼ cá\8c\9f\8b¥V\99D`µ§\ 6;£'±\ 4ç\82VÍu@Ç»\19>\9c\13µJ\9b\82yc'óÁ=©,o\ 6?Íx6\7f\82{ZT|\13îÌ\9e\98\13Û\12²à\9fRdà\1d\87)I £àßôo\ 4)\92ø~Ì\8d2\9bÙwïÎA§þ\92IZûÇ\0\ 1;{¶\92Ë\&î¤\9fÍ\16*\934c5\80r¶`)BWÙ¤¿×°Ô´ç\1d²Gcû\959\eÜh\85Ö\8aÄ.îðr1\8d\1cU
+ ×ó \14ïa~tåé\87dj\ 6$|á\e\10ðÿß\9c­A\a\93É·v%E»°3Ï%¯\aFÇm3Ä(ÈkôQûh\9dìqÊ\ 1a0Ô\a\80äå\81¬1©\ 6t§æôg)Yd$Y\15\1e]7\97Ç\1eþ\1f\80¸\v\88Z©ôi\19}à´\84Ïö
+mWú¯d\1f7\9f\ 3Ù,°Ä:g\81Dr\88Y\ fÊ/}º\r\ 3*\føÖ\9fµëF\9bë28IË\96¿Öî¬Âj\96o\12\8fÜA\f\10õ±\8c\87\ fJ\9ca äh\8bîA=\85%{ɼ0ìYS­e\1a\92é@åüÞ%ý®\82±\1fåè\8a³Ù¯_ô\1d\16.£Dª\94ËûbA\98B¢©¾\9b \83,Z\89\12ýz#Á©HôP\12\eK2Ý\8bèS\10ô\82AGhþ\91WìK\12w\87dU\v\81CK­\9aË\9d\82\84ÉÿæË\9d\82¸ÉÅU\9cc\ f\96\ e\19\9d\ 5\ f\ 12\ 4tä1¥Ö¡ÅW\13\94Çn*xrÁ\19ê7\aÜ{\84¥\e®\ 3ù7°m³t\15\9fî'ÆÇö\1fBn-¦·\95\93\e|yj)ce\8fH9s@æÿÃB]\81\85\18ðZ/«1ÝGyRð\1dW@¿=\87\81úÅ\86ûz\18)\1ejMYWÀ+1Óc\ 1¬<\13(¶wwíl\ 6Ä(²!\e\83\84g\10e©j\r}^\85\ 6»Ï¸×ê\1e\80\ f\9d\ 6¸Â»×ÿa¯K\ 5Ô\ð5ýRÅG¸¾qÈÿ\8b*
+\85\9bºÎDO£\94\9b¿¾Ë\ 5\ 3\8bµu\1e3Õ`þ?®É5­\92Ëþ¶¿º´íÍ\1e\82Bð¾\85b,̨6b\1eÇsµ²I½UT¼\88/£u½ËbhÝpFdÑ*h\1a>\9c\19Ô»Úä®ö\1eni:\89ódþï\97H\9a+\ 3¾­\99:\1e¯ù3£\85½¥\83fwY½A®þÕ\13´TÌ\12\bi`à\99½uÃ\17\1c©
+]\94c·YGí\8eü{\83i¬²\12üé9¢\8b\7f?\ 3 éj'æ_B÷\88^\81åà\8b©\ 3\875\19Vmà|oEª\rð-   ¿ËZ\ðn¿±q\9fÊÏ­£`D\81ª\8cÿ³\17.Ýw\ 6M\b\e¥r¿}Û\17\7féâØýuðälø8o.q\9f:ßäf\96¨á\96³GppßÜÙ       Óæá[ÈM!ñÆ*7ò¶+A\9e\8a>5tÁcrõ 9ãÖP_\ eÔÑÔÿîh\19óµ\91\aà    ¨\81\9dsºÏøe}ÕaÙ)3|´h_^\1a\1dg¾V\9fo_ú\ 4;ì7p\8e\ 2
\83\1d:M\ 1jåS0x`¹\93º\vq@X>\9fA7ëK\9f&\eªã8A3èsÑ4\0\93|x­\ï×·¾\85\86Å>\85\84¤\rèý:Ü\85\13\9c|­#\8a +-ÑVIÊ»ËñÙ\98\9d\96\16ù×g.\9cè\91\18Moß\1d\0\ 3©\19\9aQL´(¨ó.\ fæp7íKûZ>Vc\16ìih§ñò«?ï^ÂÚ\109WXòÏáà\1cÉÙÅÍó\84º\15¼Xë\8b\91\9f\9c\8fl]N¸\ ePª¢Q9¸¶\19\9eGCt\1e\fÈµÆÆºwOìy\9fkÅɽ\18çi
\12\8dUèõ{±\9cÏ$\\0Ø\8b\15Y\81ò\83Wýó1B¶p\9c\aÁ3\8bµæeç\7f\85\9f\ eþÊ\93f\8bQºNë(2ÎêÝ\89F\8c\91\95\82\84\12Ó \96\9c^\0ùðxZ\81)\r2t\1dî\ 6\e¶Õx\ eôQ\rÈ®Ø\aÀ¨KM\f\ 3?&\ 2®¦ÏúÊJ.Ã#º\ 2I¹ø®ô'\8f6\a\98UþÀ\98zÙ½i­bÆðùóÇ\Çö\15(Ql\8f4þ´,(\8ey\99ö
+MýÝÔ\8b%~ü½fçe\83ÛèMk3âZ\87\90%\93'5\baû2²ÖðòìÜgæ:ÎØ¨FâãóyÛ\v\8f\85\9b\ f\9dl²Rtpé\ 3Ò¸\82QV¸\90Çø[GÓ\9av+Joj\17\94z.Õ^ºJ1\fi\19)Gж\vò\7f4hÑo.3íþjR¨ÈðéO¶¿>¿\99a\emE\84m|¾¦í\0ßdö
+\14\185YåwÔÀzÍß»\ 1Oÿ<F\e\8b\ 1ê\90½µþiâ0\10sx\ 4v·ï)O=Í\16uc\91¯ûrÂ\aú\83³ïaS6{   \ e£c¥ß\f\v\f\98Ñ![´7\92´[ö+Êô C\80å-\ f\vò­\ f\10Ð`\ e\18²]¬WÈO\1d\91ÿë1\8a¦â\ f\ f\14£u¢\9d}\95ÌEWÃõ\rP\90\1euÅBadøî[  ãöµ\f{G¦:kFGKý³\16;]ý¯\86¾å\ f\18öHH\7f\9d\fà·hNÊ\97Ø\f\17-{QÃh»lQk\9b8¬ì2\ 1PáqIt²\85Ú-ßdVd\9dãÖ;2M5\98S\82ùÊ \rÉÆ\83Núsê\ 3|4<,c³\7fÞÂ÷
\ 4¿öøÃÂ@\98ZÅñwÂ\8c\9b\86Æ\15ßâ¼[ÜhÌ]ø\9bëÜk+·\0\0\ 5\vôÇçÝ\93çèÇ\9f4\9f?Ó½\8a\ro\f\ 12l\9eÎp\96\8c.èFXÈ÷r9^9kÞÊï\92\89\8bå\93ì\17Ù^Îñ\83\16ã\ 6°\92\10G+C¼\8eÄK\0U\95\v\95¥\16«Ú\12\11\ 1p\87\813ã0ó?eì\90\9f\85\8b4'wGÚ\1fx\87Âuð·\vÛÂ\13\87\88ä¼\ 1K8ô\17Ç\1f\9bÙ'Íäu1£\ 4\ 1¯_\89Ô\94?<\7f¬­8øin%\97\ frØÂ\0¿\10býd¦\87G2ã¯ÐÞϵmÿUXÓ¬\8f\1eã¢Çøû\89\1f\1c¢£\95X\1e7\1e/ÂêO·\12{/K\93üQé\0\86\ 5~°ý(Ü¿KB^\94Å\17ªx±*Zpþ\9fcßæÜw©Ëwßúìu_\12\9eæÖ&´ÝÊ»\84É\1dÔýn^CÊxoj"4\0b-z<\95×Ýv\ 5UåÔú\8a«Z+¿\9er\992\96BÍMþS«8\e\17Å\90/g$\!ýK\vA\95L>կƽ\11Awº¸B<,æÀí\ e\90Yî^\95ê\82Ï\8d¡\16M$³@E\83¾¦NPí÷Ñ\ f|;\ 6A¸À\17P\0@hc÷\84\93\129A\<m\17ɨÀ\19\ 3#^-\87m1\98\1d=\91\81°_¬`À¾(ÀØ\11\81<f\ 4Ö\98 ?Nk"âÏ\v.%\95p§[F]Ñ/i½\16f\9cK\99(\ 4\99<\1fÊtÊ\ 2^\ 4Ä\97\99¥/XÎ\99¸0\1fv¡v\81\ f~ÿë§Q.ÃïÔz\18\96Oú^\95ÉÜÌ­Ôg\8d\99\8b-\95\f ü¢\15doI6\f;ÙË\16/ÉOo\a\rûFr*óÑ@Ϋѱ±h\1eòuNúä~.~Zb0:q\96\ 3uC¡Ó\9e2b\97|m\10\9aþÏH²ô\88ºßð9\8f"¿Ð(4\f¨àöu¨ýN3Hw\1e\92p¡¡Ù\8dÚL_émn>\91\83\9f¿t8\16\85\ e\a¦ô¹ÑY\8a\1c\ eó,+\1cý\1f¨~ö\19f!ÀG×\83\1cêfÒ¼f0z\96\92i"Éû'ó\8a\87&y»º¨q½\9b:8[ÊX-\1dÖrPq¿µ\14KdÃ\8dä\88\8d#7Î-
+\9eQ8r\1f\90AÝi\11]Ó¨\rþ¿\19ÿ/oÒ\1c\ 5_\8cÛ-Æ\15­M"B\1c·Ðq¶\v¼Æ\ 6&\f/0\19È\81\ 4\19\97M$º\8cl90`'þ\9f\94`\#\a9ËàzBy9ôÛuìfH\82\ 2H&\ 3\8e\9a©\92£Õë}\13®G\ 5\9bqe\\93ÄÍ\r`¾T|bõ5_\ 5ø\a\98dQ½¡l\bO\11\v_\13Ñ\8eå3Z¯EO\9e      \1fô\9d\8e\17Å\99ûôgL\82d\1f´S,\1a\ f\8aÜ\82\0/\13püFòódu\1efðêW¯"V·k#» ²;³)7mKÅè\ eOý$\16àwn:\ f´îèAÝÛó\8eî\84\1dß\90ÎïcÐ\90wg=   \awL\93vؽ9\9dÖä\90\\ 1Ý\8eû\8eç@îåtüÓ¹Ð;\97éÎ{þÈîrÁÜ\87gîÞ\82su\9dU¸T\1e9ÏDÏ\e\89\82@_±$\1d\0@\\19\8fµ\ 15\b\v»ç &¡\ 1\80µ\1fÂB\ 2Ï\7f              ÅÊMÙuë\f\80w\11ʾOî;\88\10\8b´s\8eépw\7f9Â;°ÖGu\15\91Ý­ô\fݵ¯p3ºµ$\16ðwY¾ã»£\aw\959Í;º0w~£;¾\ f>Aݸóä\1dØ´\9b¶Õó¶Ò;\9e¤\82â\ eìÅ·í;¿\11]üüã»ñ\ 3ºhÎè\16Gv9\83¹c¸Oöàb_â®8F©I\ eÙ~£\8fϺëaSÍÓ\13þ\94\9f~5/ó\ 4Ýv¬¼òµÞ\88VÎùp0ûÉ3\9ep,\8büÜÑÂøUZ\è\1f'\b\14\86\r\8c\81sþÃ8w\0l{ĪÒôgõþß\97!±F/dmzó\82z\ 6ý^â¨\81^\1a\8c´\94É\8f\94\16G\90ax\1c-{çZÈ\17Àâ\17iÄOp\ 6E\90Ï(u\b«Ö°ðN\16>ÌZ\96H)Dò\v(\97Q©·É\9e)È,\9e1S1!Z]zöÂV¡Gö/\87_¯ÊÈuG+çß\1aE\82w®ë_\97Î*#;\18\e³`ÙId¢pm|äÙ(w×\1a\fC:\8f¥»\8a\91@lvS\ 1\ eÅ\ 3aiB©\14³v5Í\90êP\ f<û'pÞï\9dW8ý_ Ï.\8cçXû\ 2\0á\8b§\0pAf¯\0
+Á}Ð\90
+¥w¥\9d\1a\ 1\9aÛ\98\a\ eÈOHâ\9fB¡Æ¤\11䬶¶s\87\87\9ap\97\85\9alb\f\89\97Ëý6óÂR÷°è
+>;\9bkg\15^t\92F²Îé0VÅÑy\88\1a\8d\12í/\11£&çÿâ<\87ÜJG\3»\8f\ 6µ\8cÈ\19\86\9b²Ð\83ëÅß$zíVX¤/(q¤\1d\19 Ý\97Xh8|²ò\82Â\95¦¶\95ÛA®\9bá­Çä\15\ 3Ò:\ 2\1a\86ûÂ\8a/Ö½\7fzî-\16¾ \0ì;ñdtó|làá%ËJ\8f\rß³+Ëc\19¡ü¿ÐCT¿5\ få;\12Ç.2\93økyÎ\7fdT\180A(ÓC¢3\92\89Ô\1a7|\99Ô\12Ól϶¾=Ðcvý\ 6~4,p\91\83OgZ'\88Z\ 3\ 5\17\91Ã\7f\aÎL©\10¬\96À\95 ©Ø¸©ÉJ\17ÚÑ\ 2Wù×3qSÚ\1fÚØ+Pè-Ä\1fÚÚ\v[8©¢?³\87\15\86\1d\9aÓ$\1e\14\7f\8cy\a´!\87\90\ 3\10p,À\18V :RiT.x#\a3§§<ã§\1f\9a1\17Èsk{ûj?·\aö\94\7flÐ/£\b5Û,$ßêS\83\1evµ¦\9e\10c_þ\ f5UAJ[ñ(+éùî.lSg\vaüR\ e
+\a7Ä1×½jÅ\8eüý©\añí¨\15\82+*×Þû¸8\10-|\90°*¿ÍÒ\1cúh(Ñ:=DX\101\97«zAâ\12§ö\13\9chh@.<\e{SR\17\1a\f5!\83=xLRýÅe\95,Ý \ 5É\ 6¹\93!~9Õ\9dn2v\91\83ê,\96\82ßêÍ\96¸ÈZk\ 6§1ófá\85\89dD\85ÿ\e\9b\13æ\93±4rj§ñ\81èGßÊB\96AÜ<\87Íý\16>\8fþV?ÉÍÿu\8f\9eJÇÞ\7fácàÏb3jXíÃ\95,weþ\81c\8b¯\81/±c\86\e\13¥c¸-?ñc»N\8eBÇ_¿þ±Ð\9a\1dîÕóV9cXùü¬îNMiÇs«Nk"S\10ê-°\12.\7fæJÛ\87°g\ 2Ì+\90Ö\ fíNê)ì$íiÄ\18¦\9b\18»ò®IÛX°\8c¡>°\93\82Ú#s\14\9ed\94\92\14\88_âT\88Y\9aÎú¨¦     ëÐ\9fÐòWT\85\aÞ\95\15º\87\15ÎPbOݬÜ\84ý´ÿ      ú\9e仫QÓ\87O9qõëÞâ\92ËĹ\1d¡à-a4á°\8a\87¨h\83½O·ºF\1e¶|Î:Ü\93\88\8cþö\10Ð¥\84.\90À\87Þa)~Ìa'Ü\eÿWæ\e2>ö\e\e\vó\97Õ0¾ô,çÊ\93Çà.s\vÅÛr\96\17ç\99\7fã\vï\97hêa¥\9c50
+U\ e\89Å,ü\ 6oÚC¢\97-<,±]W+Í\vW!\87Ï\99}¬>òü\bõ<ä7(\19`#y\11ºE\82\80\86$\ 1¤î´W\86g+¢\1e\83|YrÊíÄ      ÷¾lÊ$¡T{ù\8dz\19ÝhÆ#C༰\8dåÖ\18\88\ 2xaCkz0\8e\9b\ 6\86\12`)\14ýü_Â\16,j!u\8fbÓ#تþ\9eÅÀW\87GwfÁ .Û=\82¦Sª\ 4ÜìWÄ»î\12»àx_\80Î/áS\89gçGqB\1e&Laåó[Çî(      \13Ô\1e_.ÇÏ{\vUe\84Ѽñ>÷ìî\94\1f\12aUdM\1dÑ\8eÿ?!m\84*Ûí
+~ëÎÅN\81\83\12R8QùP9ßM\9a-I\ e½øË@ÃO!ä\80\9f\ 3\9dPÐ'\9d\9b=\81\µ{å\1cÚ¥¾Fz\80\9eºÿ\13¯Ã¢°¢pÞTzÆt\88ûhQ£¼P\85ÿôÖûå
+\ 2\rÝ@\8dTrÉa\g\a{x\10ä"îz\ f_\19\80;f\7fæÂ\9c·þ\14¡ê4d/¤ÒN:^\10\1fõ±\r\85þâ;\86[\ 1\f\0\8eÍ¥Â\1evûùBôe1î?+>3½?Àð$\8f\83N±õÞü\9b\8cû·#\eSR\18S7{\vnñÏK\1c0¤ís\ÚRÃ_\14'øX\89\13Æ\8a\f(ýû\99\1dÔÄTúYÊý#á#7±\ 2Ûè¼0¢¨0£úòr£B\9ebÛѪ \97¤QØ9ø7v \v®¯ï\17\8cÌMc\0\16yc\17 \ 3ð\17^\99Ú\19\ fæ\12ÉñUQ\0Ce\1cÀp5$ÇDv\8aÝí\f\14Ñ\90Ó#?×\99\11J\/n¡?9üÀ*~
+·X\13*å`\fJ'$¸\ 3þ«\97\86>S\8d{\92ÿ\»¯(´0-\1eÞ\16\9fòNÌsðÓ\92ì\9d\93cH.¿YY6\a\ 5ùè\ e!]àUýy\99\10oBç¿rÈþ\8f\aòu@ü\98\10lÿ\1d\12o6*F\9bE»?i~þ\82ȧ\8ed\9d¸å/c\ 3ÕÉ\96\10Kè±ä\98hyDZ\86Îêñ\16\87\16í\1ch1\ 4'\1d\95ã\95gBâ'¯ö!Ü\8b\e1\8f\aÈt¦]\88\ 60\88&ÞÆ½\1a\b÷\19#\b´þB]ý½\ 6\19P]qD\ 6\9a\1d\ 5ÔÑ\14 \eãèn
\8aG\\ 4\1a\ 5N\86pò¹ó¯\84\ 6üÔö\90\9bÅ\98X;\95\ 3\8bt[Ù\94cÎษ\9e\1dãñËHB\82\960v\93\15\ fÒW#ª\9eïoóæF©\eÞ\93!åü\82±­WòÏìËÈ<\19°³\0@\1cxÕfO+\9a0\13ç*>Î\97Ê8\e\ 3\83òE\1fíéö\ 3ô©2ÈM|\ 2¶$oþ\10ÿløkTjí\vNkÖ¨\88WÁÔ7\8c\99¬ \85\1e~{­AÅ\ 3¤Ð\9dô\ 1\83\91my\82|C[Ly\94ì\93     \7f\93*\85\12|:{LûY\91íYè/Ûè\ 3])7ɵª/í3"¡HÔþÐ\9aí³ ¹\89¹\94ÞÝö`P>ß\9eKäyjÀ$'Î06%i\ 6¨Oo§rÍóN\vè7/O0w\91m1hC\8dô/\98¥}ᾸüéÉzþ\8aà,Y-òÕ\1fT¶K°\16pú=\b»¤¢á\8a\19þAÝLWt%/ß\98c'ÉÚöù\89(áµÍÑ{:\13\1cK\99ÎÂu¹\84ä\89¡\95li\90TÑ6£Í"mG\9615Z=\978X¢<únø/S\1fò\16ÃØÕ4(\82aUëÉ\18¤\9d}nâ«8X<u^\aûô¬Dk\ 1s\10ã\9cwùá\ 5þ\7f®GËõz\ 5ò9T\97\15\831äfS®r8÷r¢©\83¯¦çbS\9f\8a\16ÝZ\12\80|®½ã¯\89\98q\19Cݲ=s\vx4M\14\85Jë-ê³*\9c\87\18\90\85¾¾û´i;1ßdÉ\84\92\12\1fF\12\12H\11 \10A0Dd\ 2É3\bÌ\f\81\98\19\89\0\14\0\ 2Æ\8b\94k\ 6Ä\99\90*\8aÅ$Rf8 #¯·Õ×\9b}¼¾õ¾­÷\1ao¨yuóB\b\88\0\10\14\885P\16¥û\fB\88\0@\16gï÷ÿ÷ï¾ÌÉ Â>\ 6í]wÜö¶ï¹ÍæóÜÝé^\96ô7z\eÒÞ\86ïð#{[ÝÚ}÷{[d\92Ù\eq«ßT£\9e\1c\16\ 4ÑÇsÞ(\ 3\ 3\fW\9dw{\88\83§y%à^mÏhÇj\9d\100\18ÔëØ¢×k\16t\9bÜä÷eÍiI\1a\9dp-¨­4ôÒO@ß¼#¦g\95N¿¡\18\14«å¤fÅhá\91<\8cõ]ö\ 5\eL\11¤/¸\8d¢¼eV\90\a;\ el< H\1cÈÂ3]\18\89ãÖ`\87?93@}º\10® tn7\80løþ\ 1\86Ë÷a\aV¨Û?\96\90\19û\8c_Í­yÅ/\10\8eï%jÝ÷³\a\147)ç\a/xVh°¿×î\86ñ\187\8cbzõ·\82Øì\8d*[kQ3uN-\ eX¬¥\81Ë Ê«õ;Þ\86DLÅå0 ;X¢.]sØ¢\15½7
+v½Â©\0TZPÐäA£:Å\9bO\a¿+ÒINÈß5x\9c\1f¶7\\95\1a§¶=\9bè\0\16n%z\85¶4®í´Ü;V̶:<X»­±DeÖ\80Òõ\86*\1d\10\1f÷Î$¥;\9eÆ)\80Å èÂ\9b\99\b¢°?0\92Å\9c §ë.£Æ\b\90\89Ü\90\10Ù\ 6\1f\ e°\80íuc`A:½LÂÑ´\a\8c\11\87âÖ\1ct<§\¨\eäWnó\ f?Y\ e\87Ü¿~£Æ°í¶ÖÏû^Z/\96Ã\87,f\93ÿüǺ\a×úÆi J\89\93q¬'\ 2¥\85\97¡ \fí¬@1\17\ 2\8f\1a\ f\ 4©U\8a\88\15\8al¿\82¥àlÀ¡zoô@\ 4é\8eÖ\Ô®Ê\ 4Å \1a\1f\1e¸ó\87\88ø\95b\ f\87ÑX(ú4Y±\13  ×`\ 2L\9b=õtçÚ`û\ 6\87¼I¯\7f\8c>[\9a\1f"*rVÓw\ïçÝÊ/\ 4 \85±\ 4{û'\7fr\95éÅ-ÊZ;W}\8bfVzVçg¥·øq\87Ô_\1c.\93\9aòEy\98\91ýÀû\8c\1fn\1c\91\1d\902ÿá¯\ehäjŸ*\0Ã\8fMaÃs ;i?¶\19\0ÕØ&P K÷Õ\9eã#D¨¥êîR{Ù\16Z\19IMÄ\14þóljUc
+q}æ¬ó\9fvçûXêáÎ}¨\e3séöÚÃìÔxÂÏ\11¸§>×\eF§^ZòIë»þò²J\7fW¸^âkî®\1f¸\9a^T¾\87Ëð\9e]\86­%²ü4ÙÀ>y/`\92þ2³@\0ß\83)\95S\7fúÐ\81\9e\9d7\8e\ f#ÉT\91*Ñ;\9eÌ<\8eS[¢4q¥\94ü\9a#Ü`ú¨j\ 4@yÒ-\9c*jÎ+\850ïµGd\85æúÐê\8eÉ\véQªWÏ\ 6õ\1eoK1oRQb|-Xî±þ\84\185\13Õ£%ò\9e\9fÒù\18£õå\8c í\80¥üÕ\1dy`8É=\8cn:õ\ f¼©éûÆ\9cc6\80\a\7fTM\9b\9c\ fäÕ«9æ÷½?gl6\89\96ß[4OÏ©\88Ñ?\16¦#Dûú\98­\12\a\15\0\ 4\13a'ïÛ¡+ÉÐRH%êõ1\1e­Ö¦#Õæu)D¾m=X\1e\81Å©~\93«Xû\16ÌG\ 1\15\88Þ¢±\19\rL4ã·3¦Oê\86P\98q\1d"CV³¤c±'t\8e\ e0\9d#ÙÆ~çHyö\1e}eÚ\fæ¹7Ê_À\9bÝ\ e4]1\aGç¡í§®ä\954ët¤\86$\8d$\vü\ e\14\94FãÝ \8a£~åöà©    ¾åeýÁP\93\9c¾Ù8cë\89Êd]4 \\82EþFѧ\8aÚ\15\8b\97òYcMG×\81ùÝ\84g\90\14Bmò%çÔ B\84ú\ 4\17\1dŵé\7fr-J\1e¬\99\89Ú\13»p\b\91Aâuº\90 \90\98\ 6\82\8b¤£\80\81ëÜð\ 2\87        \e1\ 5\9d\ 4\90\91Æ´®×\\9aç\9dÊzì\85\1a\83\15\8d³B?/¨E\ 2\ 3Ö/w\ 5¢\ 2\1as<Ë\12¹¿à\rÊ\95=t&\89Ót\ 5*ÌÐ]\80q{ÏÇ#9²Ö\86îîøÝ\7f\15­\f\93\17\9cá[øÔ\9cÇ>§¯b\8d¿=Påö;0GKÌ\8cÒF\90\ 2#\19\832×/¸cå \1e!L\83ù$\9e®g(z¹óS\94»î+9\ 4Ç·<Ü\95¾Löë\82zöøV\94|ò5ÔIµ±n¿z\J\95í¡\99c¶­ßv\95\ 2ôÊî÷µM×ÙVÑÊ\v\94´Ó}l@\96¹\8fµtÖ\8b Íܳuûkm\91çë\830</`E\ 5\\ 3ÖþÚ\9dN¿\9fj<X¢q.!g&1³\ 4ÖSp§\ 3\10{ÄMô½íùî\8ca\13¼±[ZaË   µ¯ö\83ô\91\v\89ª×Ï\97Xø$[\ 4¦?\ f\8eää\80c\83Õïã ím¬\v.6Ól\98\0\85é¹Ä\15\9cÃêXð\0Ç\97B\vüÜc\86^íd\83gùëVÇO\ f9\7fOPp\9e[HÙ\8f(\ ev`\0ß9\12Î\17ª²\14)\99²üO\8b¨?v\91ú\a\9aõ¥Ùßç .7Ô\15'Ï¢àó\83Ò¸c½rÇ×\15¶#ÙlûÍ\14ëwÖ"\83ú/áÛ%x®Aø\14´\86á\ 6ú\1dý¹\9c\ 4(~µ [ÌIëüåÞr+nÅ\9e§Å)É\86¾z1Ãübá^zó\10JY½òQ\18g\ 5kÖ"Ûý\81ÜÈ }=\10\v~\83"DÏ\0\9aرLo¤Ay\9d\10z\ 4Ê\ 2~+\ 4V\a5'\12\93\9bw|j§/°°\9c\eVF\e°Ì\8b1Zϯ\909\8bºnú² [0\ 4#EÝå\ fK\ fO^ÖîÌ\19ßZ\97\f¸\80}taؾ.\99\9e¼\8d(yW\ 3ª¢\10ó¼ð¡#É>\1d8ò×¶ïä\98ôõÜg¡Êd¯j\90ÿ\98»\11Ú`c\ 4\7fÂá°ÚóçJ>v\99\ 5{v=\13\93Ã6Úm\9dQg\93\80EEþr\11ÃUcÔQ\fìÍ\11}q\ 4\19%\ 5Yyb{¼ù\é\8bwm\90O ÷Âéb\9dS/D:Ñd°+\bË\9cY!4¾:0Ð÷«í\85è\93Zt(i¦ ý_ Q=\80\81Å0Ùü\96\19³ül!Ô \ fÌOökp!\93:}´\ 3m6\Ü  \a]H\90\87[pL,ñ\ 4\f\ 3(Lq\94\eeÚUã\9b\b\87\ fR hV\87D)Ý)\96\92"\1f\93\ e\88u\8d\92\1de\1eàãÖhã%¾@é\8d\9fr\r\bº\86ïð±¨\10\0\10\17\\99ù ®8\b\9b @_£ÎOL\12#ØHáý'ÍX\9f\ e\13£\87
+ìÑ\81ðj\b©ó\0\88ïx$R,Ð]\98\84ùÒjR)c\r"\904àQvCH¥~\17¿á\ 6;.#ð¢àsù\ e\83ßæ\91sq˵?¯\9f8\bÅ\86á´-º\9e\1e\1cºg+\e\99Õ/jU\96jkraDb\8aü\95ߪ\11ú%Í$\ 4~AìÈ\97òôëI\ 6þ_Ä E%»ßQðLÅCF\1c\a\ 3äØhs\91Ù7\91æ\90p³¾(7Ö\9c¯«¼\91·ÿFg¥×oã¢2"\94\94\89Qçp#i·\ 5ï`÷\86o\951¦3\1d§[Ⱥñ\9f£Ù\95\8f3òð\9f\14ü'ôøß/      T\ 6\8b\83|@4Ëòïy     \12ê\0þ\8f\1a\1dÜt\0)eü¢~\80N\8e\82¿¯,é©I\ 2\1eÊ '\88ò¡\ e©R\82nÒ'²¡ÏÑ;\9e4:ýʼ°\10°hi¨8È\87/ÁÓ\87\16\1c½ì\87Ó\ e\ e\ 4Lãä\vÝÙ'ÑÓ\96sçïó+\82Xb\9ap
+GTÀjU  \80®ý¤`O\1dó×­èM=ûÊFä\19`0y~nS¢\9amóJ¬\9e¿Ç]ç«q\95\15ö\9d\1e3C½ñËè\9e¾\96\95Õ\82á,\1e"\1a\9eék\10\94ÐN'\99\8f\f\ f\el\82\12äÌ0¼\9cÀaâ¾+øÎ&ám\8e\ 2\9e\14µhÌH)?\13D@\97\9d5«j#øf\86µ?\e\87ê\97\ 1»+$üLqmxøM\99Y\1f\8d\ 3\1db\ 6-ìuAY\8ceÖÑ%\18xU\ 6¬áq\99ÕܵèÓ´\7f\94æ¢d\9a\95ÌÅ\ 3\ 4\89\9e{j\r¬\1c\13£NñI\ 6ò\ 3\88\90DÆ$ÿÓã\0Ý®aV\10¯"\19í]\9ab\96à9\v´\93Nº®6\1d\ 5{b-ÊóÌÁ¦´"bê\9d\7fáç \14X]\ egÚÚ\1c\ 1õ\9a~y\ 1ÚÛÇ\98G,½úɱ}/\89ª\9eI¹cï\94ÞÄ"\8e\eVó>\8e\97h9§\vf&jièr/ãe\9b²ØèúÒqåwéCK¬\a5jÔt\vS\8d\99© ú\98ÏqÝ\96Ä\95
+.\99=võªml\9a¿lÄ\ f  4!ÊGC\92¬\99»ûäj²ÿl¢ô¬;£g\803j\7fß\93<v\ 2cõÁ       ;Ù»Â\82nIo¶<õÕáëOcAµ\81¨´<Kõ+\91\ 1\83\90\7f-\1cSDÖÑ\9aS¬ÙÓ\ 3µuq¡\93ÝU+9bÃOè|áÔÚB?\94´É\9f\84TÝ=}5ÄåV:kyÊ¢\rJ¿+\14p)\8a\199\82\9fåNt(OÚ.ÉQax.äÜ\12 !è¹07FÒ\9e£ÿDÖz\903w\89¸\17\89\17 VC¾V\14\196àK    \b\ fïüæÑd_Fð[¾\92öI¼·°\8dör6\12\\13ÏBÑèO¢\<\rÌF\16/î6[\1f\ 6\8f\f¬|\19V\80\\86\19«º\ eU\ 34(H&\8e÷÷À·0¬\vrJÀµ²°-mýð-O\\0\19h[\14mÄòIµÞiÖ\81\16z$\b¥\96\81\11\aå\1d£øÙ\90H4\8d8·àæ\80}>\9e¨N\ f\\88ð\89\ 5TX\8cf\1a
+Kä\fç^ \ eùkhd\1dÈ\9aI÷y:Ú\19H2@Y\80ÐdÞ]\8düÓ»¤\ 1\8d\86\99J¨>Óav)>± æ­·M\8dºF\96\86¨¶Êªwr\ 4\80#;
+¨>Ú²Ö:¦¢Ð3w:T¥k\1a®\93,wBhIe\87GÐë¹­g5 òñ\8e4\84sLÁ\9bn\9a¥\83('²\1a\19²ÐÍÒ\94\86ÅXÄ\87\f3¾Å\ 6Ôî!\ 3òs!Ã\89Í\17bîðÙ\96æ¬1\974X]ÛÎJ\bñ\0|ûȬµm\9e0rû±\83}rú§wi\ 6dõO\1d\9b˳\97Ø]Ü\16\ 3K\1eCÆ@ç\10\7f\95Y\14\8d"PÍNñ\87µZ\7fz\1e¥\1e`ó©Ò2Å\rÉ\87£Z¯zت\8d×\16¼Òu\ f\97Z<\rD7A-ão ØA\17\11\ e\97æÕ8ehTfÇKq8¹¥Cz\9476\rº\12Çü\90\9aÒÓÂ+9Þ¿j<ÃMå\14m\94\8fá \9e.­Z\99\9d°»Á\f\7f\9dáD¸ &ò\87\aÿü$\ 2\93\18Ø\88%)üË&WÙZÿÿ?w¹ýú\jYþ5m\1e\0\18§àIÌ;\92¬¥ÎØyÅd$¼Ð\17\ e\ 4öª\8c¡Âá\17\85ÍlÊ\90ª\ 6ÇäVDµG\19y:Ñv¢W~\96\89Ó|4Ô\10\91Â\15¿\ 4ZÐÒ;¾¹_ñ´­gö\12yÍWL-rJâãÉëæS×\11þ¸\14çùþj\ 5xu?9\19\1dC\82\18f\ 1\ e̦\7f\9c\9e\!Q\90\ 3àT\8do>P÷\8f3WÇ¿(«yò\a ÇÕ½öM'\9e\ 2\86\16\9a»\9a\r¡óDÚì\84{\1eò)«¡;j{\8d²/w\ 6,\87\8dBîà¦\87ÝÁ·éwp^¡÷p\15Ô\1cß\8bj\7f\f¯\82©L1<7\835.È{4p\ 3²ò>\r\82ü1@bu\96­/iÝ5i\ 1ØR\rÙz\95rÑn@¤õþavü KJ®Þ§]\b¸î\8e¢\83\8cæ¾\12\fËsã\99îg/¸\80SzrûKÆHµ\87\12l²Y\83Gfüg\eíIó~íCwÜÆÝß6ªµ\9dàÎ\82qG\95­á\98\19]]9eÌwÛ\8aé¿\80U\11Kò   ²\95TQµøL½\9fð
+P:\f\8bù,\aO\Ô·é.µ\19è+ô»iC\13\fV\ f_¤Gm)í\ 6sBEºø.Wò\9bé½J E7|N¸!]\81Ü\18ã\1dX\15{Ïd{EéÌ¥×J\12\18\7f\96¸<\1eݱƥ>Ð\fý/W\15\11sï®=ÊvE\83@\81©\81-]¡;\boǹYh6­è³ \f|e¶«\91n¿pÞ\8b9¹IçÄ\f\9b\ e ºÀ\13¹\119\86\f\a #J}\9cÜÚ@?XP\93\16ÄzQ\8dº\11\bt\1f\18ø\ 3Õ\9a8\ fjÙþN\12%\8en¿a\ e]*Z\1c<\19\1aÝ!¡\83v\16\0³¹\ 6ì}\82\97ÿÛtÒ\8b2Íçj\81[F2AåN0'°¹K1\19J\82t\1f\93]õñEþÁæ'.(íÁ\9a÷Êäîôhvø\1eéWÓ\15\88\\18á¶\9adÚÚ9\a|´DK8»p\18:ë(8µ\99\ 2uÙ¸W\eÃ\13o\1c[màðà7¸\9eü!\96;d     È*ËÇÍï\8f/\1aH\97\8c\82\\b\84ÿZϾTÜÛÃ\91YÐÎäêè³\9bÜ\95&ôJ:{ÍW\17ù´¥îÜôKúä\8a\87ø¶vØâõC@Ç\17ü¥§à\15É$£~%¬ \1f\8e\89DÝ \0\14R\87\b\e\9eo@     ñõ\e\87Ü\87ôÄHS\81)«Ç7Þq×íEf\93Ù¾\9caW*Çz\8e\19|N\13Æ|Mßö\91\8dÙnÀV¯£µ4VqJy÷ÓæÎ·¥)µ\a\8d(\0Í_g U\1cåR¬\ 5\ 3üQMÏ+¦4x\92=\13\8d®\9b¥Oe¯Áß¡4L\9b+¹ª\1c\9fÎ\83ç\9eÝé\7f÷\95t\83LÕ¤ûÈõ¼[\10­ÿµ÷\85\91\84åö5PÓ^\95î\92Z\95\ 2\8e\93B²4êN5\ 1aÔµ>jÙ\9d\8dÏ\b*e|øÎíÓdÔ\ 6f<ñÛm\92\8fe±w¤\1d\8b\84 \f\ eåß\87\ 6\7f\Aí\8dÖà>®hÔ­GÜ!èö\1f§I\f¨Ô°\18\9f»`Ü×ÐÒ\ 5\8e¶g\9f\84\b®zĪÙ0\94\e\b\17ò¤¶]\9d2Ú;£+N\9fÙ"}\8d\e\84/m\9bèÙðEM>\17V\1aW6¨"-\9cëê\ 6\92Éò±¬\9dQR<Ã:jË\80ï\ 6\9f\1cÝ)ÐÇ\15\1e\8br§ë6\88guóºRNá¯\ fièC_"B¯\94q\92²¿\109\r\10ç:\0Ù\fR\9c{éú\r±\ 3\88ðÈù©\0ż÷\93\1eáLþ9\è®\1f¹\3ª\10\0\8dú\16¤\93NþV\buÚä­KØù±¬\98\1a?\ f\ 4°"rÇ\82\bO\88"A\9c\1261Ýúå3ø${*­*ð\82ôý\7f\fù¡M­\84\ f¡u2DD\9d\ 1±ò¢[i\aÿý\ 6jJ\9d\19×\1fe\97\90\12I\vb§¦^a£@¨\1eÀý,ö\1ea\16ßóæ   hþk?
+\ 5b\10?Ñ»îü\85Ü\aùÅñ\8amúâõ¾î+\10O\ 4ÛÒ\90U'\96`\94,¹%ÉM<
+£¡±\ f\0%æg\98TËé=Î\8dSßø{K\13~\8aRÄ8\8d>aÞèÏ\15£\86i%\12W¹qZ¬\90<7/ÜØP\9dQig§Á>¦a\95¬\89\bq\87£ºÐ\87ì«\12é\90âkÝeÔ"a6¢Å´Ñ\8f\8a\8f\ 3\86Ìi
+¢¿:§m{?§¿ö`ËÓÞ\14\1e\9eý¹  ç[êp#í¡ ¾\18?¦ò#\14üÏ"1O1åÓ\14ñ^tؤN®%GE¿\ fÔ­¸\14ð\1c>öé´à¶ÝüŶݳîöeÃîë\ 6@J"å½.\84\83XOóìÛ\1c\14\9fÌ\15\ 5\b¼\10Í\82|2Xdk\¾ç\80Ø~v\9a\8fbí³\8a)<\r`µ*Å©~ì¯÷ÿ
+,\b\9f°Ý_QxqnTìyÖ°\9bÂÙ\8bÙ\9d\95íÜ\92¥\9e,\16º\14\12LR\16\ÎG\1c\1d>\93ü\95\85Ý\v¼\1e\11©ò'¤É\92\17é\v\9e¿È¬*ù\89\1eX»YFÆøàŸ©)S?ÉÆÓ?ÌáÂ\19è\ f   \1f\18\8d\vÄyÁ\89¢ð\96w`L\v´bu,:+¬Gò Û\80\11\1fÝ®ï\88²Æ1õÝiº\12\1a?\ 1Ë.\82~0ºìôÛ\v',¹îäÀ¡®þ7ô6~Í¡£+\9f´\ 3!#Ü­!¢ÇàÍ\9eí\80zJ\93y!Ú\8cînô¿\1e\82\a%z
+\8dKeÊr²Åã3\0Ô\13K
+Fð\8f\9dÍvç!`m Ú\16sÊ4æ\93\96Àô\97\90ä'\17\89k\8d¾@\19¶ÕV²\16Ò\e+Úuû\90$¶¾Û\13ÔÏ\93\92\84£Ç3xÔ\7f¬jM,\148vV)ê      Ph\03\8bÅ'\ 1¥N¿È"?w`Â\89á;\8dÙQZzÂ6xÍXf`¿\95\8d\89Û+R7@ÔäPäq¸áôò1¶¤\bá3\9e\r2\ 3+SÝ[Gtj\0K5\ 5¥c\84µ;\84T\ 1-\88Û9í
+EÊ)\95G\91 Ð-ñÁ\9dh\ 1\8f}\9b\866\82\ 6}\1e]¬(\ 2Íqz¼âÂs¸ÖqÏ\ 5\87\8eî#Ö×î>B$\98\97bf\80\83q<¾\ 6tm\15á\8f¬L×?Ï3+ð0\89ëûüt\19ãÝY,½g\93ct4þ­\80»bf\9c[/\83\1am\95©5\16Dzk¶\847«Ò)û?e©óñÀSà¿B\84S §¯\0ÿÏ»ÞÛP\88ÃÌÓ\bsR\81\13×\13¼\ 6©|\94s\0\81x§ÔÆ\93\15:\7f¾GÕ\92J줩\9bA¤?
+1\98Ý\7f,X\85¼\ 1\18x=µ\a\19\9a\14\91\80Þ8&ç\90\ 2®j!C3ä\17\rx¸ã@\19¡þ8~Föz öË\94h\1e¯ã\8a ÷\ 5\1e:þr:ë\98a{Û\99tÓ×IàK·\8e\9auÃç83\90\9c7ùeË\82\18æ_Z\7faÃ%+1n²~\ eP\98±Î\rì\9f+\0\ eéqãqLÿ5\85nË ñ¨"\94çÖ1à\18Mg¨À(ÝB\15\ 6ÔNbgúÆ1\11Ø£\7f¤,ÇÓY\95ÿ\ fC\ 6pG&\8dÐ**ô0qCxg\13Bg
+»<½Ãã=±p·øþ½^
+9Ê'Õ¢?S£ÉðÓS×mHà\7f\v%ª<¼­d(zÑ\9f\9a¿ÇÏ\8bÁ\85{üyY]\fÐGV
+K_Çɵ\84©\fI\85"òôá^/$ÿ%\95S"mi¦\a´\16ûå\11úÁS¯ÄtJïÚΩØ\eZ-\85\91Q|¥QóXp¨8Ö\ 6\81r\ fhBä\19Ç\92CæÕ\88¥û\95j^£ºr\1aiHI\ñ~êH\1aqU+\bâ\9cP\ 6\89ëòÛH(\91M\97\92§\97åþìB°â\ 6\dëãÐ7_¸\16\98)ƺ4\05\1cXâ±çS®^\80p\rÀ    ·S®å\9c¬\87Ó©Ìö­N\14½Ú)ÇëP4   \9c~\ 1X*@ݬ\15 Zd\80.ùÌiéI¤®epv\1cr\1aá{\83O0@p?xT\1e
+g¼áo¤Ñó\1dð!\96ú\1fëV÷9f\ 6ãÓ\97\eÔ5ä\rTá¯i;Èc\ 2Y\9c
+z\e\96\exC\81\f]Im\898\ 4:\v@±¦q=âI[\ f\94\11ë¢\1f7>\9fe'UDçÔ«%
+Q¤\1eÄWt®\1f0ÛèKÕ\842¤1\1d\1aãú\ 2óG¬\8f\fàCM\163\9ehÓ.\16H\7f\9c[t\9bý
+\0\82r)\19\9bXNwÚ\15\95\85f\84é[uövZxd;Ù\85V\85\aõ"A\ 4;Æ!ö\95\84¼Ì\13³\e\ 5\15çE*Ù\8c»\1d      è5\v÷ªaÏ\99@\9aÉFÆÚ\14\81gÙ<Âû¡X£YD>ôíN æ}T4k\80ÝôyÐ(o\ e
\1e|\87mËÑÈtP\f\fàÞ­Ifè\ 2³\81ÞÍ£\19\8bçä\1fÉ\1aEsç_w¾[×þÃË©T¬\97\90\ 69§©\ f\96\8d\95Rδ½T\fX'!¤¸@´è\81ú\98ó$L\9eÌ´\ 1\84#G°)\8eR\15½âJc#Bg»\96ww$¨8uE\91\96yÜÒ×q\9eL\81°¦øó3\ 56sNæ\99È\8fJvn=î6Q\9f\8d\ 6<ÚN¸ÚKúÆÍá[}\ 5öÝK2ï\9a½\8d®eå\9dÖÃýe°¯,ðö)·ãh\84\9d{¸Gµá­¶ÀA\ 4ÆT­µ\8b\¾*KqìÉ­\95°V\16\b\91\93X}\91ÿÜ\94+`\98RÂ÷ÀÓ\96\9cBofV»?ÄPsß\9c\94ED$\10û÷\98\93SË"¢÷»!
+\966y[piwv©\1eáFû\10\90        oÎ¥ì5\14\eÕ2\9f!Éh\86\82æuHèzÒQ\9cûývÁßZÎþîI\9c©§Ú¼\9a}©g\97w­)YË»\8egzv¿Ï\8c\0É­ÁNk*\9b\vH\88µ.ý»àp\9dA\18ö^YÝ"\91\ ehpú\ 53Þ \14¼\1d4\17Õ˹ì;Z\1a©Dë¸eÝF¿Ð95\16\8cE»Ñ,\9e»A\85tÔ[Û\0Uv<\ 2\8bìr\92mNC\7fÓb)èV\ 4VÙ7*oøÂp\vÙwØ\9b\94doBÑÞÂ\1c§Ò#?4\9fÏÆµ8µ Em¸è>\14É@\89=+ ¯\ 5\8f*¹Yã\7f\9fºD\7f\88\19î\9dß!í®\9fQ\r´)¹åiöWMQ{¨£;4§×\94õÙ        C\8fÆ
+\97do5_\87ÚWá\89Wà¹_\87À@ßµÝÜÖ\9a\ 3\ 4ë¯\ 4*¤®N¿Ð%>\86\80\82PW\8c\96Uóù<@Ó\89ÙiC\89\94Õá»ß\848UØ©Æâ¦htÀu9\1a\11+ýS9ò"½?\8d\12¥\\80w)\87åÐ\1e\91'ÈZá¿Tg#WÄ\96½Óí$Ë`s¤,\17Öé%:÷\92\8fæ]%S¶6\8b \13\9eÍà²[Ab\8eÿYn\88§Íp\9aQú°5¨Ñ.)å÷FÒ©Íè\1akZ>#É&\8flÅ}ð\90n\83\87\1d!µYô\16Ú¶çÚ\9dÇkW\ 4\1eDî͸Átåõ\99 a¢\9b«4áy   ×TÌ\974OYê\ e"\9a\84ÛxV.WíÜ2Þh¿SG¾Ä\1f°è%öÃübÍJ@ÛæÑ?.Æ\fá4ãý¼\9b\10Fw6\0°Òm\r´'¬±\f$³Ç\9b)?\17\88i;\95Z\ 1°0\ 4\95¯kì¢&
+ZÆÓ
+\19>#TTCA"3mqãsá\1eà\88¥Ä\ 2"¯±p\8bOi²â¢È\91\12ç8/Xz&£\81\9e\1fîÕ\ 4¯\96©«Ø#×ö=ô\ 4 ûn\1fN~wD\87ÅÏ   H¬éý\12ÌñäoJyÇñD\9c\96\v\80Ê1\96ÉätþÂ\0À7¬@Ö\95\89À\ 2®ÿ*H\81Ï $<\97EPÎ\9dР£yÉìSZ\1a|+˱£ÑÉ\82½£îSgú     F¯}ö¯z-^ò¨A^üÓ]Ê\199)cç\84"g\9dõ\8f\9f\ 2\82zü¹Pd(QÒ7¤T\96²N©Ï\81j;hrW£lxEv2#\8bÇ&ab\1aÛè\a\8eþ\90\14ï\eò#cÈ\8b\1dó\95l\1d¯r´w4\17\eS§Ðö +zy§Ú\87W\9e\0vf\1c\ 4!DV\9b\9fzOÈ\b\9dw\82W\ 4T\8auÙBøG+{Mí\8f\9eéÉ|8
+\90#l±\v8\edëåJ÷\81Úaë|)I\87\91ÔÏ}áôkC\97\8aè$åc°¨\8eWI9oò*å«9*²rY)\11Ê\16r\ 2$8\ 1Èÿ2\88r5J\96\8eÝÜã¦\80ã\9cô\9c\97ý]Å»\92ßËf\91tû²\15    <T\18ø\8eM£>Ö\81 3]\92<\9f\93\v\90Ûc\95øz\ 4\10e^\13¯\94:!¿ãå\95²3\8d&}ÿÞµ(*Ô\ 6°²dø\1aLÿÁúíU\13ýU\f\03\875\90µ\vY!¤×+­\11\9fÜy\e\0;\14S*G¥¶Ï?\f«w6¢©\9e¨vH\14P¨ÛÄ3þ½4¤@©%È\8f\1d?*Æ\fyþ:Ë\15&y°¡A¬\f¾lR¯Ùl«(\ 6x @Qj\e\95ÝÕ\10é¢OÊÙÁ\90GËY³\ 4\87q\80ÖÇ·_½nÊËE¹h÷}\ 6þ\ 2~\1cP\1d*1ó=NZzÍgáæ*Ò\8bíÄæ"µZÕê\8ap9\833L\98.îô¯wÔ{$ëò1Á,Ý`\ 4´\99¥{S=\88¥£\82-/MÚ\93Ö\82è\e\ 4\15Ë\10ÐÚ9èq7B\17ôS\80Ê\8b\b\82Ý5O\ 2J8ï*\86Ê\9f\8bÇ!Ñ£%:33i\fy\ra:ýñ\1cá\1dè,ÈÆk\(\e;·K\9dþ.t^vî¹Õ\16X\9aô\ fô|»W\81mµ']Ú\91TjÇÌ\972\83·4\97Í §Bi2\13¯ü¤        k\10£ö­Æ\8b\8f\95u`º\ 6^íÿ¨£éþ\ f¢(ý×Áü"\8f\9bíÿÆ(ý\8foÿ8£úÑ\971Gö½Þ¤Qó?«÷Å\1d\9f\14q\8c ?ñ\8a=\97'ÿ±GÎòm¢\8fæòbE\1fUÉ(£¼\91\9a(ÕÑ¥T\15ß@øÊ[ù\84ë¼5]º\91_\84ytÕH;Ä\82×\85 RàdãzPÎþ®]´3«Ç\90Ê\0Qí;}\9bÆ·Ù«¾ÏÆ^H;gÊOܵ\84´â\1d'ÒRÃÞýï\9fSÊAµ­b¾\eål³Ë {oÔùë>\ 2\7f\10è$ß@\81\18);\86\8c\85qÔvT:Ö4Úº=\90¹4\ fU\1e\9bÓ÷Tïwðg\8f±NüC§ÍA%\9fff\12.\83\ 2ðÐë\a\91G~3rSÏ,\89-M\9eì }Åç\8e¥ÄqÍ\1e;ÓÉq¨¦{Ð\1aQ¯w\1aèú©uu\\9b}Wü£ú÷\87ôG÷»á«\1fßJ,\7fyw1ýÎçncûËêG÷²ÎÝGôºâD\1f8Jü?¥Xþߺqýöý®¤\7fs|/ß\ 2ÚO\8a,\7f|x\91ýÔç?Æ\ 5¾U\8a\9c>9£Ý\92\ 4ÚP)ÝUô\0\ 5_ì9   \1d\8cDɾVͲÿ]»\1d³Ï\86\83ô\88ë^bGY^\fx\1dy\{hãÙñâG\1f\11[ä5£è»\99\11Ï»\bç»^.¬BÛ3<rÌïåÜÐ\91.<ÚjZ>SÈǾ¹õ¬\8b[Ñy*3<\1c\93h®é<m2\ 6þ3A4ý?b
+\ 2º\vO\ e
\9fýÛ\8e­Ò\18nGQ|   \95g´S\ 4L\86Òê#Ù1g\7fæÕ\87µ;`t\\9e\ 1ãþ&\8d\11jU\12/\94ßñ\8fí\1ea\v5\13d<S]âZ½\1dãt{wl`3!¦    \86þ&Í\ 3\aË=<&¨öa¯¥\9a<\1d\1eìǪó\ 6|Ϭ¸]!¹÷þ%`oC\9aÿ±X\ec\9aÿÂ\ 2Ýÿì«ÓØfV*ôþ.eb¯O¦Ì£3Å\7f­Vüÿòt\14Ùf>s §Uÿã §ÿ³wþ\19\9eýÿܬïüÈ\91Þª\ 4qÑH\ 2#¯¸ÿ\82\ 4u\8bü\80*P\1cck\0*Nõ\9b/¬Ø[ð¾?ât7î¿Ø\14³èý«ùJÃ=ÑX×fEbÖ\1e4åj\95\8bZBáukq8|\7f\ e\95
+ZD»\ 5³>±é|gÍñWû¹Ðý_Ú©co\9dASoÌ\16\ 2Ì7M~ݳæËã\9d\89³\9f\f\9a\11ýöh9_é!j\95ÕÜÕáó«\7f\1f\90»|¼"\7fn^\ 5ªâ\98Çs\82\85-¿\aºÃFöësrX\aR\83\8a%ðû9¨\r\b½÷\86$^ÿÍÄÁâ§:\97M\ 1\921JÈZÅb§çÓô\8aË\1dæA+Í\8a|\8bu\17       ég`ÿ'nV\1fÈ­_É¥5ÜI%4m<Ñ´óZ.\9a\ 3\9b\96v8÷\84¦ò\97\19Øãô\94VnrE)ÌD²S\9aÓ¨³ÍçaÖUJT'Nºý"\95û\11(\95ûE9Ƚ𦬦6\12õRÕ\17\94"D\9dÞ\19±\87\97*\94®#¬\86ltÿÞ\81 ýB´\870¹)\80ÆÓ\\92cûFh\eç+.rÉLå¯)Lâ%R\99ÞªV¯ã\ 1Y§·6<ý\ì\86æä\12\9bñ-Ü.ï\87UW\94úÃ2¹C2´íÊÒ\98æø\89¡Ëù\12¼%séÍ\91;\8d®½Üf\83\9e\1fè@\825Rê̳B\e¾\e\7f\95¹Í\bo¤øeÃúÃpùCpôggÿ­B^]ßÍ·\93ñÞR\9bÕÜ?\19iåÒ\9bÖÜiþlí\1dåÒ\9c3­Î\19Öç\fës\9bÔ\15Åò+iòÉ^MÇï;Ô\15³p\89^î×\7fvn`ÿ:]ëÄ@\8d²@ ù8j©·tW<î´\7f¹\ 2pË44ôÂ^éÛæ\86\9fÕÓÎÉ%;Ü&\94é¸\é¸\îRùÈ\9báLÙ^¶\12Ëf\86\9fóÿwH\16·Ô+\81ë¤ã\92\93ûR\16PÍ«¯Q\ 2\95ÿtCË\8dÞ\rÆäÍÆä\92\99ÑE\8a\1fQÃî\8aå\9a¯nYÚ\8fâ\92\98]\86¹ÎÔ| hZì\ 2R|\8b¿
++5Y÷ȯ[ý\8b\92½o\81\91K\ 2¹\92]o"ùÂ\9b²\99Ø^ª¥ê%©ï8\7f\98®§¬\81Xê«\11X+êòÉKkn\10\8aû\1c¢R\9a¸\9a>¬Vþ¥\1c\aê Z\1fÐ\81¸\7fí\83]Ê`%ð¾X«\8cÝ\9eõq\14sl·sB,Ïg4g³\9a3ÙÍjÕåjÈ÷pW³Ë>ä¹d¯F\8býë[\ eGßò\91ì\9eß\ 5röê¦\ e_T°G\89°Í'Ýó\93q\13ðWæÍ·Ìr\ f\9dÁÙÍÁ,\95Ê_áÈF%!>ÃéDå0X\18ýKÂRæq9s8\98,\rk¦#Ò\98Ë\bSÈ¥1\94<Ñ«¦îéMå§\r&\9dñ)µ×¤¡°ðj\93.éOb0)O.¾%o5OQ\ 32ú§gï¦vyç²X̪YåÕ¸+üÎ@R+­v]ýs¿CB×Xß5¾i\86ÿ:È\8d\ 3Äü_¢\92s'\9bÈþ?³Ñ¡ë\93¾,¬{\9b\7fî=\8cOa\8fÓw2¼-Ç'¾U\ 2\1f\92áçû\vïöÚí\1cù\9b?E\8dóöy\8bt¹6¸L\ 49ù0i¦E*`+\84ª§kÕ_¸öv\8a±à;ÁvHQ\9d²\1dý\86qÒ1\87<(\s~õ«ÒJ\9cß½²\rÀx\ 3\0\ 5\96Ü(Ã\0ü\rÆ\ 3o®-a\ 3\82c~\9b÷Î\8d\ 5ü(é}*3bÊ\96`\ eOa·ó~\82+\ 1§`\ 6\9e4\92   \94\bQ\9f4ß½uÙ$°¦ý\a~ÿ\18<ÆFýñ\rûê]\82\ 3ÇrnfoЮ@ÿ¨ß¸i\ 3\96h\1e\19\18ÏGù äÄ\ 3ÍN\15Úªîm\19¿\7f\98ß»ô`R3ÍF$½ã\ 2\91Ü*3?Ï4\9d\89W\e÷V\8c
+K|ã~î\rûí\eö<Î\83+'ûMÂþ9.É,Y`\82\10ÃçÂ\11\16¤\8b$^9)ókUÃw¶\1aîRÓ­\93)­¾9 ø»\85¸\17îVÁ\89´ù\8aF\9f\ 1\8f°º|á{LþâËÀÿ\17\16\87V%¯r\8cYîî°»Û>?:i#\84ý;KU\8eßmѦ»\86¾ð±q×C\87\83\16\rY6\1cª\17P'¹F\1174\84nV~ÚÆÅ\9f\1a¶eì Ûéé"bº*¯\ý_O2ð\98x)aöë.\19ü\\18èÕÈ£¯ø`ÇGo\99ll\\ f\ 3û\84\16\190mÿ{b@ÒS i=¾ÿ\17&´óàÁVñ\18ë\ 2ܯ\ f­_Ñ\99Ãݾ¯´F\17¿¹ô.$\9dºã\19è\16ÀóÇí-\99Ãê¹oØ\9f\ 2\93wÎÿÓ\ 21Säö\8b\86F\bý¸\98\8b{\9fo\81ÿ\8f÷e¯ÕÛr±393H¢\8b\17ZÝl\19GáÄ\87\17q\8e²yÍ2\<¸\9f\84\9e.Ù¤ÜäÉÇ\8e.Úü\L\ f~U\\v¸¹p£\83MSôÆå]\8fêË{>wü²à\8fìÉo«ó&\8f_hH\ e[\99(<ÿ×.\1d߯.\ fÜ\920@­U|\84êK\99\9fWÚ!s¯þ¸\94Üâº;ü7\9eñ\19\81\1dý\\ 6\1e\ 1G§^\1dßðà9²Áø¿¼\89\99\90Z²Ðçbb\18ûûaÿ\ f\ 6\859Ô.X\9fal¸e¿»)Å\17\97\1c&\1ec\12êà3gRXi;ÅÁ`\8d+l\10\12p_îÌ©6\1aëÕ¼¶\8\95W=?ºY|rUÁ¸n®Û\1c\a\9eÝeï÷©\89\82¦\1c\QN{¤`ÐãÒÁb>ë/¸ÙÞ\9eg¦¿Ng °ó\1a\8b\8b\81æ\r\f\83ªÈ®é\19\97¼F+ÙqrâÑ\8a¾C½%ýs·æ*ã\13\ 2|f\ 2k"`/Ûÿÿø\9cýÁ\16ÌÐß{\14bª>,¡\v{îêÒr\7f¿É$\93Ò\1e\92DH\9e\11\17Å¢XÒ\83ä
+Y\ f@g\80\84ÿèzI\ 5AµD Àòª¢0\90\ 1`4\93Ç\8bh¼Ínc¥\1c\qµKU\U\vm\81+"
+\83EPH6ÅjY,j\91\ 2'¿}û÷ïïÿ½þzzH\12\95\+Îne¼ÝÞsy\9d+ÐÞgGyÍÞ\9eôw\9b¼Î\96ãÓÞsy»ÞÎ\86ü\ 1oC~\ 1\ fz\99ÕÜø\võ;×ÚÉ%²Û\e}0¡Gï\1fû6¨Í\8eþrj§~=ÛM[Yá§FN\13\1dG}ÇO\ 5;\95¬í}\9b\1d¯øó\18
+¹¶\ 6\ 6]îØ²g\86ؼ{\e4ovÆÍ\8a\ 5µò"Çgh\1a¸£däãÄñ\9fó¦\90ç¸z®ñö\ 1ÌAAû\9b2\7fÍ\1aE\92É;ùj\8eüÙÀÒ@.ËÁÙ6\93ç§K5;\89J_Ëû\ f\ 5,\98éÜ\9fÅiä\98<sòiа§.µn{ÉÁ@qÚÌD\94ýþ¶\ fµÁ·º=\10wlj\9a\96>M\eòA@\13¸ËÄ®/åî5/»ÒW&4\7f[ÜЫ»<Ë4ï'nÂs¿S7éÈý\\1e²ò\16¨ôzÛÁNy½;
+\8aM\84ÍØs0ô\8d\87\vyÁ=eu¾\1d\19É\92\ 4¨3ðU1\ 2OñìÑ\88\ e¼`$V\06\91yó6§0è{oÑ\84lmàf.Þ\92\18Å\11\ 5³\ 3\80\ 2b\89ú'T\87Z\8cvÇT\84\ 3Jþ%\18ôHÄ\r\fÇU\1c^eãz\ 6-e\1eB·Þe\18Ô£\1d\1cy\10Óÿz\8cwHÇñ£\1fe\18ïÑ\8f      \18\85f\8f´\8coÍ        &j eè9\89\15\96÷\11\8cÙ¦®\84\f\192m\18èÍ\ 6Æþ\81Õ\19¡j\8c\99¤Ì\azkLá\ 4Õ̵5/ÓãdÅx\87kS#\1da ØÿÂF;\ 4\ 3     \94\ 4Õâ¢P[Ê|JÓ\19âÕ3tÀqoþÚ¦v°TàÃó\18ªsjuEÓTî\98OùµJ\9d\7fJ\9cxÓUGû\1a¿½ë½ªË ¸Tö\1e\81\85\9e9©X`¬ª\83\9f\8f\861Ù#\87\15\94j¤æî\15 \9e¤ O²§=\9d\ 3
+\93¡Ðq\95'G\9ea,ú0\95,r\93Ô\99%gá¥#Ùùû\84;>\95Z¾zá\ 3G)©ZC\b?æ0\97oØG×Ïí\1d
+\ÙÒUR2¿Y\91Ø\95møµmò&³\94]\ 1ÑÝøêÜÃg«XØUdñ\10QÀÛLqýIÆ\v§=ë°Úk\1a¯¾A\r\r½eÍ\Ü\94\14\18iÓ1§N RÁ&\9dÍ´ðjë\86Á²=>ÜC
+uKë®TëË:uäÁ-~¸æ"Zt\97¥3âåK\ f\1dr§&ÖR\8b\e\88:¼0ÔéÂ¥:-çX\81é?íÐ\80eW\8e\89\8a¼t_ú«ÇðjËÔ^jËO\ 5(×÷ª\98­ýî~xÕN:\95N\ fÿµß\85X¦íN¹ÿêzbV?\89Xþ%cø\95\8fÿʱú©¾Ã¬\7fkq¿^Ôi°¨Ë1aV? \82\94Ê\18J};\86­¿XU\8fÁOÑlïßÎ\ fß6Ç ý[áÊ\15ÃSí\8a«\1fÚÝr/zÆ+\ 6ª\83þ!kÖiNÞÃ\99çøÔ"SXÿâ º\14\ 2û      /\8a±þf\bÓ\9dþ3õ\ 5@\b·,Ìa!\ 1\80\0
+\ 2\ 1\13Ö¨ùq ¶~]lYzm\9fA\18\80®Q\ 3\ 1\921§C¦:ÎáéžéÖ{\0\832Ö4«=á@\12Ê\1f.\95â1\ 5Í1èQ\88
+\85 \17\8fZ´b\ 4êWÞ£\1d\9a1Ý#\1fd+YÇ"XÑ\8d\9a1\ 5µ¯ýôb\ 6\ 3Õ\88\90Y`8V^àÑ\86»\931§Cã\9aÖèycF\1a®=\18äÀâpä@À\89Ñ\1dÑ\88\18\9bo\98\8cwfµ»\10SrýøÐ\89çF\95­ÒÞ(\85\1cÛÀÝ8¶q¹5\ 6\8fâG#AÏnÜpÜxæ\9fç8U\87íà\ 2xìu]\19'#õU\81íàa(ÉL\ 2é«Ço\ 2J\86¤T'®\194±o\90r|Z³à Ï\12\88'"o\96\81ä8Ý\8a\83;yqP`Þ8Ó\96÷+\ 3׬Î\1a\8d\fÔ\9e;w\8e\1aô\vPÂP\87É'µ\ 5JEkJyET¡8\12P\9bH'},"É(³\85\9a\9c6ð>\9ew¡èóù×\8e<7캿¾¥Ü$å\83Õ
+wFÉ9í¿%J8iÌS$ý=³\9f\ 4æ\b\82w×ýÖ3xáO\ e_v)ÊÍNM\9eQùLYJ\ fó8ô®\13\9aFU\eÂVR\9c¥QRoË\87=/Òp\9d\1f\\v\ 6\1as
+SÊ\v\85¤:² \9c¦rQ|úÐSÄ®     Ë{'\ 6÷\93ßÈNdº\9b©§»o\ 1/\1c*{,èÞ\9d\víàx\19Þ\85\1a%ñs*ɿʧ+Ñ\9a\8d³S«ÏIp¢\15°O÷ÚT%góºn~\88\93¾æ
+"c\ 4ï¬ôî(\1cu\dó¹\92yÚÂYp\86£Oþ©Çk\9a¥D¬\92s\8bûÇ\1fÊ\86.yÇ\81OWôa(\86^N\86\97ªêE9z%\95Í
+\80\ eú¤j\8e\94æeë\1c)Bîà\9eµ\1e¥\1a\9fõ&\9eº\96T\0Æ¥\11¶ÂdÒÁtâ\9c\ 2\89\0Ô£hõ'2GµF²y\ 4:1N/S\9c\17VíAÆ\7fû¤Wõp|ÚÚÌ\1aT3®Ië\95N¤zÇ\12\1cõk\88\ fW\82\9d"Yµ¾²\1a=­ËE)éi%\f\93\82\85k~ð§ÿ®\1a\86Lam©eÁgY°Q\1d\1e°T0\8f    ¶T\8bYj¥Dµ*\99ý-ËD©\17²Ó%\r°¥ª\99¿\8aýzW\92sÅáÄR¤¾Ë¯\r\7fìtJ\94{.zµ}r*kç\98\82¢e\92P\9d\rÜ\91ÝÒuK¢\95\ 2\ 3§b
+\947Ö¦\v4\9e\16Ír\9054ACs¼\86\8dr5Å÷XÚ~ÊyÏS±-¼NEÏü9\174?áÒõí\8c¹\1fx\bÄ\ 3²\93Èà¶Þ\8b-­F?Ç\1c+{a\1eFh\÷{ì\1e\97\7f.\8cs(Ä=õvµ\18\81\86]\81ɹ\82à<}   \ 2Q\98h\fÊ)ôb\ 2\v7\955yoÖÉ\10\$õ\8dFW9\83SÂïßF;ôc\16Ô\92\97§Ê\9aq\1cÁl·z\13W\97\18-æWí\9aq\1fü£W\97\1féjIÄ{\ 4fÉ¥(\99s§ñ·5\8d_Äézât½q9\ 6\7fÝÒõâ\r\1cÁ9Ø)\9esHám\ e\8b\ 6\13-a _\9e\96ë\90KÅA\9f
+xùêE\8bZiàÏ\1aAÓÒ\80 þ½\83óuê\18L£­+\1c\81\95 \11íH\8eAën\18ì£|ç7r\90d^µ\8e\98\17\9d\82\8e-u#\84¯¦¹\81ilâ\ f\90GϱP_\9f\89Ó\ 3Äé\81âqñâqñâqñâqñÿg\1f\1dÔ\14¢°ÞÕM½Þ×\ eªj\92\19ÿMx\84ý\1e=TÖwÀâ/7½Âª\9aÎð\9e=TÜC\1c|\1e\14\17ÅT\ 6\92@¢PÕUUÔà³U7ã \ 3Ôÿ\85\13h¾à\19á8\ e±Øâ9\ 5°\1a"=Ú1ïQ\88\11\ eð\12\b¬xqáàÕA\ 5ߨö\aÓ\ f\81(FðÑ\8e>A\ fÚ1ß#\1eÐøòïM\v\8d\10Ü\bǼF>\92\ 2VPMn` k\ e;´c,Ô»2Ð[\98\ e1\18åϳ1\ eÌ·¸F?tÒ²[¼2òk\8d>ÌÄ\ e/\9e~MHÓ¹É\1a®\80Ò\8d\14ø\95SbUM\89U7þ5Sgn6é©\15\8a9¸(¬Q\9d:1$\89^¼uÒ\1d(þ>Í/\ ft\86é\9d\13\b ?g³U\86\86âÒB\rÏKt\87&rªsÑ\r\1c\1a\83F3zr®®PÜkz\86ã\16÷Hr¿e\ e\1d¼X\12¤<:ÂwÊ«Lû\15ZgâUi\89U¦%V\98\95ZbUi\89U¦'fãÿ\9eU¿q#ñUi\v.\1a\17Pø M°\0\ f\87²'\86ê\ 4V\1c²À\16ùü\ 4c½F \19V×F4&>-òçÒ\86ø\ 6>'À3/Ë\1fJ\13\8bF4'Ò\80Ó£\1aÔcü\aUä:O\90\14¼üCªú\17ød
+OÅsð\17`>.û\ 3ð\18aÙÒöÇVWÅ1ñ§»F< UuF=J1Ó£\101Æðòÿý:1Õ£\1eñ\18\81\9dÖî\8dIÀ fÙøÃRoïNjMýìÑ\8eµ\18÷èÇÒ5\87\ 5ñ\11\8bSK8>\14×\ 1ö\bè³\0 \9fÙÈݪ1F%V\18\95X\7fûU\84\95\e\83\87­ÏiR¨Ý?\8b¦!\ 5-§¥Kb°ºa°Ì¥Q¢8ãû\92\8eznúa\14©pÞ\8f£\ 55m³Ó\ 5\82\96oT¥\99õtÀ ¥\9at©j\8d\9e\97õj\18®Ý\9c\9fþ<\0ë*[\83R\87iB\11ÉÜ©n_aRÂ\8f!O¦/·\81ͽ/ÿ\vÐ2¦ß5)«¤¾þ\ 6u\9c\8eÂ¥ýk9\10è¨z¬ÏÙç\94¥å°S\93Êg'\9b{|£ö(ANhðéç©Qø8QRôÚ\95\1c\1e\19pS\16þ\16\87Î¥þ*"S[è1ö<ú£\b1ëùú\9cétÂ{
+\9d>\86§;7F
+\r?\8cé°}w£Õ\86\83¸Õ\94¥¸¹nß\ f[6\88\12
+sÇû9¯±Ïÿó¥\8dø)CÂÓ~ö\93¼-<áô­a\9bå:^\87N
+mÑV\9eêéUU%púS°Ñ\87
\97hYé?C&Ë\92]&\1dÞ\82ò4 §\8e\1e/I:¥.û\93\r\9a:áÕΧUøyôÇPêëRÃ\87Ò7ýªÖT\1a*®8û2OwEÕ\9e8Ù*6T4_ä(AÅ\9a5¶ð\13(¼V<*5i\8f÷tjÊ\11\82\98\81ÁQ¸mÿ]\1aPc\82\9c\8d\blÑ»iãC
+tYañÇÆú×$¤§\16w=vDÇ©¼\91\8fT;ùÞ!+á\92\88;S\1e2±¦4\88ÒJYü\9c\12T¯j¢F;3Ïí,ܹ³ÒJºrfùË\e\97|7-©¾rFËä\8fç}6\1f&l;ñ¸m\ e\19Ê\1c3\958\9fÊ\e·\817\ f\96\1f'¯Íñ¸¹°×&\ f\fU³Ã\15pðÏ(¯û\b\90Î\19äíâê5¾§K¢íòz«÷óê/ýç3ö¡\9eL\3É«\86yAq\ 5[üOÑ?Dý\13ôOÑ?Dýð\v\18\ 2\16\19ú}~û_Ç6n² kÕp\ 5r\ 3ÐÍè\98W\80è\v\96×óúÚÏÃݼîy\8eWG±\8e\92u±ÇÈNbÚ­Àå\9aÞ\8f]ÿ©\85Ë`\12=wÿ-óÿÄ\8eö#Ò\fÈ\acMû\8eÎ|\13æ\83ýå;\8f|[ûÅ\95¾}1­n@õÏjcö\1dº×#ó²äY[\82?p@\83«SÿñÅ\95¸9à2\ 5Û\9fÿÇ\16\87 mïWQ.&}7i<gQ\ 6'CV^Ò'Ùh\93\94ÍxþODVk\82¸×O\ 19rxO\9e9\a\ 38£ô\95ÿe£\1e\92¿¼hǤ¯î\9aq\8eÇÏ;\9eé¿¥rëó\91\9f¨\96\1fã\15¢½ßã&\1eÖÇù\1f\ 5\94L\1c}_Wp¼5ó&\1e\9cf3\19¥F0\ f:DÃ\9eÚªËuº©\9båð8\e*¦Ê%à\17¾\96óyºªÀ¹sÕ=YDµ\ f2\86ÔÎ~ÊËm·ìVQ-6¶lÚåv\8caWU«fÎ\11ù³f£gÂ\84\96\8ei\1c6jÖ=\1f\9aµlâ\91^\88­µ\95TÝU\93\ e.\19D\ 6VÙ´\ 4»Ðο\9e\92\91¼ä\13\14y\14»fÁ4C»\96Z\88\ 3¥ª\1fÁ\83t\85\95/3å6ö¼ÿ=\9b\14\95\ fýKf?,d\vn,¸ÈÈð\88UÂ@\\18¦2±ü´|da¸$EºQò\9c¾3\18õí\85\84\bñ\90r]õ7\12ºº»y½¯a\97\8cK\82\19\19/½B\ 2\1e¸ò\86\83\0æX\85ïF\1a\13.j\f\9c¥×ÆÁ\94\95\7f®n²­%\92¼[0¯\11Ëgë³ü±ûÄLuį¦X\98\1f5Ös2\91\92\936eôçI\8d_^\12\92f>^&Þù{\94~ô½JQn\18ù m76õëÚ \86«(\81\90ø\81÷/ð\8c\89\1e\ fÇ\16Ìì;¸v\a\1c2!PÒ\93@d\ 4²\94ÐäáåGc,ô\17_nĤ®YQtàW¦\f»\85«yÌY\95\12ôyþ°êæH\8dÃIÁ°ó7[í×\99a`N   \95\13\15s\1f \17¤\857·ó@²¯aí5àÐWúþ¿»îÙYmöö#\95¢Z\16\95E\vèàÈ=\87\r1o+        \97e\9e\ 3#\84\1269S, ÒÇØM\9c\83çѦ\ 1ºæ/\18 B\8e9h2:?\87A,º²¨\9cé¹²eô%\95²/ÕH̬\93\1aW\ 6Z\19\r\91\1c~\939V\1eÓ u\ 1\14\99\97\9d2\9bp¯Á\f3\ 6@\97Á±Í\e\19\9a\96­åé©æÚ«ð2ó0t}\82MV7{Y 0hÃî\e\odQß«M½\8fÇ¢-\ e\9a½+\13Çð\1fä\9a½>\9e\8eÀ&~ÃF±.Z\0ô;ª&]Q\13\99v\1cD²Î\12J6mU\ 6bÕê\1aÉÁª\8f\ 6oO\ e\ 1\87º)\14Éñ\96¾\fÎoR{Ú\9a¬Ä\8fL¬=&ù8(Ó\ 2Ì4ÂJëõîõ\ 1ë\14| g<ë\19\1cL\97íæõP\ f­f-\87í\1aÇA}:K\14\99\86\98=uÌ[D\\ e¬\8d\8c®z§?IH{pt\10f.\92e¬yi\7fNÄ/93\ef\8dPÃ-é~Ç\91\8f£'ðé\0z_è\98ʧL\ 5\8c\7fG\9b,4ªF¦¤cö\10Ü\17\16dG3¥ûJZ`\89\ 3\9d\91£È\ eÝ\ 6Î\aýjHÿL¼\95ý!èø,RhÜnê묵w:YwØl\8f7gß_(»g\7fcaÓÕG÷ÿï¤\16\10}¿u3Ý^\90[ºÒðüúÈT7Éy\9a\ f\væïw\8e»\8d\7fÞñ>_Aô·P42\13\96\92\8bp<éKÚ\86ÿ{ÁÊáæ?i.\13´ÎJ\7fü²ÄäUǼÂH~á~?)ò.ñ\9c<ªïýK,L\rfüK,NG\90Yba\7fÄ\ 1!2ºãÿøõ\19Äñ\93äÌÌy$ù\ 4§Çg&[yìäÖä\vñùE\98òÍ?\18¿\1fÅm-¹@+\82VÁj¿À\16µV       \99\e\81]\1dV\81(-zèÈÈ\89 §ÙNÖùöÙJ\a5ôôOjø\18\8ay· E£\98Â$GG;-\a0E\8dËçÉ,·é\8d\8a#\88#ñC½G\ 3\84ª\91\90ua\15\9a\ f²6\81å+Ø\vWÔwî«vpEÓ\19\85\8f'oò>>*\ 5\ 3ü§\80ï\aض3¦\9c¡!üd\ 6·\9aþ\8a,j\7f\8dwÿ\88m}f\8c=\99WÕ+_\ 6  \89©IO\91{2,\92\93é\1d\80Å(е;IøÁ\1eg1\8f\1füð8t5þô¤\eV8\16H\8fñH\95\8f\ 3 Ò\9f|×ÕD\b\ 3\eV¦ÁU\95Jêd#\19:n\83¾\0Ïäß4PÌÉú\92'nQ=$\81EA\1a\ 5ÞH\1dÄòB\83bN\90ÞÀ-Ïø{¤y\12\1dµ\ 5qz¤ÁN9åq\96r\12$<'\ 4\8fC ¾\11m\12ò$9A&ó\98\80£a}º´óHõM¡XFy\87\8f¥÷Í.\1c\80ºÕP\\823«MÐ\ 3cnÅ\81\99u¨ÚSã\ 3ÞÏ\15\9füjälÈG<ÚÓ\ 1\1e«ÏP"~uÜgä]ϧMç£ü\95ìûS°µF\ 4\97\0ñNÄ9|óÍ\98\14\90\81\11\9c\7f'ÍH       ²I9õ\0\f\84\14\97\0¯·bJyÆ\97\12R\1ebÄoR¯p\96S°·*OäÅ\7fJg2>ü\80ËX\ f\14\ 1\95ObAf\ 2v·p ©\82\0\vÄ
+§+#,»ûòæk\7fåv\82\80{ëÕìä\92E\93wø¥\0F\1d\89\19\84"÷Ù_\1arXZèr\90ÏC:°\8d\10]è¯Æ\eNc8Ytå\17\8f\83\94¾§(ÑRdKµu\11N\91\8a\18c}\ 1ê&\ 5\aÊ¡äÍ®HÙN\95ñ§ÀT\14ä/ ¿ÅÀ\1e·\94\ 2=h^E\08r\ f3¶ Ç\80à\82£\87Ð\8e`±¿ÊÚú]\11Ò\b\ e\ f? e\81q\bºÙÀ\ 4Ü\1eXÛ©û\ 4lXPÌ;\84zÃôi#|6.íݧ|\1e\a{ôûÆG1ÅnÐã³)+ºý\80pjÙ+»K\82¨q&g9\1e¥ßu\8b>
+ï»1[\87oêÈ\v¿à°c>ñß(=ö\1a2\91evßÂöÇjoÀ\ eS$@\9d^¯Á*`kBv\11²ÈÕ{\85\9b\ 1(ûÂì4<Âý\97\b@\96\8c\8a>\0G3\0\f+»6\83bpx\11ú,@\82%ðÔ\ e~ÏRÖX×lÏ©¿\0>\98\v³µ¦k,\1f/¶?(¤\99rª!þ\81«ÇØ 3,;]\b\19°Äw\ e4Bc`\a0ëxÑ6\83@°,âfj{=3V\80\16\10\96\1cæ8¸D\v\87\b\83V!ÆF_ò\18q\98^\17\b\82\92xûjõÖÇ6³×[\ 6ë[}\ 1;
+Ü5z6äà4Q¨ø\80\1f`\96\ 1á|ÎSpõÎÖ£\92v6²"¹\el\9fH½Ôm*?
+\19\\95Ó)\19F\97N¢2\12¾6Ô½­%µý\10\15û¯ÀyÚ½\93\92B%\ 1@\10Ûúãí\81Í\87ö\12õ¼aÞØ¯½ØCð³\röîßÔžÙ\85¡mÐ\8d\92Õ(ç\80\81óHÑ5ªø\1cé\8b\aF\ 5Tý|L6tçfO¢báä?;w¡i+ÂÃÒâk­Bü\8f=\9aÃSïѪ\8f\9a#    Éí_\a¤§ö\11þáê)e|iP\ 6äû\91Éþ$0£%|nMìê\1cÉÔ¹\8e\99\9eº\bÊéÏâ¦ù\82ÉK\16á\88ýÕ\98
+É-\93×>v\87*n\9eIöÒ\14$ã´iù\87¯\84PI=\0°®\ 2¼*Û\ 40zþ¬½G´\1eýç\r+§À\8e\99õñvØ`\8cxV\ e\83®ÓP\0n/\eäÔs¡\9dFl\ 1°º%Te~WÆ¿\83\8e2ë¨í\82ÉB!Êí¯J.ËÀ\ 5üÜÿËÜÑ\97º\83æ¿Ü»j\7fÍýdÃïä(\98}üU\13\ f¿\87\15ÿbHËg\8b\91\1c](\91">~ãÛñ§æ\94z¼è8£A¼\ e3¯X>ÅU^À?ú\8aõ\9fý\ 4\91\aªhkØÓ2½3\96?ÿ\16\7fþº,׫\ 6\7fý!\90Òû\8es\13\8aÅüügÐ\99\9aÌb3Y\9c%V\ fåó8\?c¤\98æ§)\a\8b¡¥óu\18,vÿqÉ\7f\v[ÒbË\87Ñ\87ÿÒ³\7fýÿ\rv-{M|¶½¶½¾¾c^ã_\b\98´òÆ\8e\9e\1c\8b       ¾YQ\10\0¬·×÷|̯ä¢ËP÷}\1f«òø\14\13½OeÝHNx\9c\9aÜ\ eã\93ý\±øËî79Éÿ\8aòǬ}!\90\87~º/÷V·äþJÖíù?\91ycó­J\1fÒ5äV·ïÌ\87×+® çòôÜ\95ë¥\8aM+¥¹\aÕ¯9}*Ûó\97ß\82µ¿Í9\ 3\9c?ÿý+Ë\1fU\90\8f¸\1aÞök.ÿ\ f\9a\13åL\8e\98\94\90         Ë\0¸´´È4!SÝ\85Q5¤L\ 3'm&w\17Kra_Õ½¥ý¥Èɬ\9cÍ\\ 5\9b3]â\1d\8cæø­õ]\18ZNÍè\88i=Ø\8e\b§e·Ú_¢2Yû\ 1ÌBØÅStù\92Ð\9bÇÔFmu£gS\06\94Ë0lûL3Bß\ fê\85\9b=0!\0\93Ò\17\ 2\8bBáw\8f¬\8a3r\80±ÔR\86@ÄÛ°xcRs\86,\ 5£e=@W2\989DÞÞ\14çhÔ6Ì`\91\9e\1a\97\8a\ 6\17\8d¦\94\a  \16\9e Èè\9ez}\9c\99Ç\9e\rÒñB\ 2ñ[ù\12f|Å\10\88ï\17H\ 1ÄÏ$Ál\\80ßn\90\93U[\17Éu6æ7Ú\82Ê\98g¤Õn\ 6\80\82\ 4\86D«î\r`>äùhØ) ÊÛz\ 2\88^E½Y\rȸà\98¯Ð½bû¢&(A#RÂ6ðp\16\864ý#Â^iï\9c\16\81J\8c´U¨å\0¤E\0\ 2\14~F°W\84m<\ 1\e_\97\®ÌîÐ\8bAoïµ2´\82!±"\ 3ªg¾a§mª\ 6\8cx\ f\19\v\bvI\99\bÔ\88UA\82U;÷GÆNGnüèNZ4\a\18¤ÿ\10ïÑHY`À\1e¸\93Å<\ 2u:è\80º\8fÑO\85
+«¸2½Ù\98«!3þòà\97Ô8QYË\býí\8aT)Í\896ä:ðb\84гÌ*ì\85\87Ñõ/\8c[º}E\95N5wØ/>øVG\v45IeÁhF¤8=\ 4$ÊùCy\88 sám\9b;\9båÈÙ®»²\97)4§½\9a5ÞcM!°\9aùËã\a\8c\97/õd\8c\ 66\1e\9b²¿\\8ewµãù?FH\ 3öß\foã÷¦\1f< Ø\17ó²ú\87©¾Ìl¾ :²\97Â\ e\18Ñl\1cûaÜ\83\8e\ f´»ú\9fÀ\92Ö´\vVþ%­a\94\98Id¹\ 2²3U¯\ 3È:ðJê~\9amÚè]\ 4+@µ\9f\1ap¼Û\84sNarP\b¯H´R\f\1aò\93N"Bõ+ù:2àÔZoÈ\925\ 2¹ø$y/\95"\ f³\7f/ÛȨ\99XÂâëÛ`\f7Ïä@[\17íDp í\18Ø\9eV¬Ä¬¶X\90s\9fCq"<\12\91\10ð|i\91\141-\fÓ:@øÇö%f,Ø\8b\8e"\95"\9eL\8a¶z\ 4\8at\92?\ 4\8ap\15"\94S\16\97ΠȠi\ 1¦\12\97õZ1[µQnÖ¹e\15ò\90\13ó.Iõ}¥\97\rRYÕ\1e\ eNx\8f¢.ÓÃ5ÿè\ 5òôÀ\93É£\84òbl\8cüBM³ï\90ÞÑ´ëà¶J\vËâo[#jHÎC|f\85·Q\fÞ\81¤)\85N\9d×E(þ#QáöìKD\1fO]Q¢>\19ú·$¿\97´\1d\94þZ´°¸Ü\9b:\98wÍG&ÍÍZl=åHgJ¬·u\a-\8aV[Uï\10U[\90\94V\89V)ÇQ+#RY\1c:²/x%}!ä\18\8etr\ 4\14\98\13»0\0´:³¹\v¬îa\92\91Û\v7ë/ÚG\95ÚQ\7f\1c\1dÈm¯Ð3èëdùXá\8c\vó)¸ëA¾\95¯èf\17¬Ì·^°,¾·4#\88¢_v%\9b\9dº\f\9eÌ\vÞ²\ 6GàRÀ\1aØ\a·Ó\1d³~£\ 2>\93\rÔÂR¤oÄ\Èy\11ì\9e´z&\a.$ÕF\96O\84¦N\96\e\ 3&\91,\9dJ\993°Ù1l\9bdßö\91̸\95y^Ð\eá¾\1e^Óî\14b§÷\b¤\15­:¨¸gè\ e«»\7fÂxOÌ\92&vÓÂ\ e\ 3UU§Z5ضèÛÅi\9c\eX\11¸\9f~Õ 
\1c\e\ 4èÌ\17ù\-p?«¥Ópy\10§v\19[\f\84TSÇÖ\10³\8f£º\81^[\96Õ\91è­v\19®!Ã1-ê[z\890³¤1¡{>\91\1d)\97}4ëÀÒÛ_¥|Yæ \14ñ@.\rl\83¯\94 º+Ö0\9cib¾\1a<\81VL]nj*Âz)\11ºPlâÞ§4\88MºÓ{Ð*#Ä&Ï_ï\1cýºõ\92\8eï!GüìV;¥\ e&üz\87\13{\98Óà[æ\0aezd\1a\11)ÌÕÞQ\18z0àÀeôØÕ©ò«á¶ \ 3)ßm]VÅd&cdj1.àlÆÆ\ap£)­\82è\1f¡\9f\86Åm+cd¦cp\15\18q¶n\\18ÊomÛéÆ\8eÀî?-¹ ·Ç+ÕÚÆ!Шð \91üD³ººékm\8c\bÒ\17\ 6¾;éÆ0w|CO<ø<ó\8cðyÆ÷\vàKu'C\18\91Ê!tZ5c,¿\rSòò~®Øè
+Õ÷/\ e\8a¢8ß\ 1ÃûD~°¥,u}ÙϲÙe\8f       ÑY\8eí\96\12\16\9br,#¶÷«øT NÊ\1dæXé÷Ä\8e\17à\9e͸ØN°#\86ù\12#\86öl5\e\9aâÚ       Î£\95\80\8f\93Y·@ÕfØ»â\8a?\7f\8a|¢l\14pÜX8î"¥£Iïaßd£\94ï\vB_\8ehKðþñÐM       _õ\13§xô;&½U}ùÿú¤ð¡ÿT÷Ú\e\1df\9fµ\9f®2,\8fû§ÿùR°¿ý4­ïRo\89ü2_+#\82ö\1dÿ-\13Ïó÷\9d\86áÎ\e­ðüü¯£èr_Ã\93.\16~\1eçïó®~ðø]ðÈ\96_e¢§\99±ê\15÷ÙÜýûîs\Û#âr´\1fÉ\ÖG\vËý\8eº\8b\90þ\ fY\ eû²wðÚ.Â[Õeÿ¹ûÄë­\99è'\a«Ó×yZï8×¾Æß¹\98î\w3=ÌçsûG\f¾D×\94CÅ>)\7fgy«\9cë6ú9ïäï|M=\ e;Öìµ¶ò\13\9e&in\aq\9a½áÛë:\8c/+\9cÍ\7f\8f\ eßLºËN\19E.pñ?»\87o\9aù8vô\99\9fîëÿÓ÷Ñ.PÿL¿#\87n\aQ:ß(^{u¾Sá%¤v\85Ô°W4WRÑÅáÛ\81\1eÀ×tDY\9dõÝ\17Á÷õ\8e\9d²ó?ëáÛÜ\12V[\82áJ\85æ s.î\89hF·m\98FR5\10Î\9eÙ\1f\f0"¦£Ö>\16\87ÛèY¬luãÄ+j\ 5ºàg\86o§èD\82tK\86o¹¹á\9bÎBá\9b\85Jü¸\ 1\81Q\16Þ\91ßX>o\vç.\87\1aÖp¾x\0ËâËç\82\ f\98\93\1e]áü\ 1ØÎo¥\8f\886!îèjÜ\0»Ñ~\ 5\1dk\97;îÃèÜpà\80~\7fí²÷\1cA¿Dêæ´;¬%\ 6®h
+`ýrYª,Í\16jþ©\9fÆ"-^0ìG\bw\16®&¾?.d\9d\1a\82<MÁ¹A\82÷ðn!ðY\8d\19\ºx\95\9ek<JÀ\ 46ùo\87\89\8d\14\9bÊ\8cq`.sÃ\84Ǿ^Wî\ 1ìU·^²H\ 1\92½§Q\91ã\16%\1e\1co\85ðR\ e©Ë\\16%\15ñ!eÚ\93,]\1cEc\9bÁ
+'\ 6\93ÿ   wà#7}4@Eæ\9dLSs\ f\1fºpGV]\961\9dúËð7\88<\ 2Ê¢õ\93~Rð2!¥Çóô\ 5|W QÔÂ5\91\ 1\13\98\ 6ûÈí42îÀ,¿ÍKSßÝ\8d¾¶hñÎÒ\9bÛW\10.¼@N­ýÛåÜO¾Ém\1aOÖF¢E'&\a\9a\ 1ëÓþWp\17\98¹)ótCÿ¬VhXâ\16|b\15ID-g\12ö!gÄ7
+\94\80\94¯ãÄ#\88yø1\ e§úâ\1dK1\ f?
+!çï"\19[\8eÒ\88}\90Y²zo\94ñÿd\1c\89>W¿w\12p+¾|V\9f\92¬xJã\13ê÷ÐOa¢\fÃÖo\92\b%v\9a\16Îßi\85£ñÄ\9c\13·Ã²\83\134Ûá!ª´ÄÿÆî\ 6§}\ 4áîÙ\8at\8cÅ0ã·\8cS\0::QO\7fý\8a\9a«\12n¶(§G\15{\14È\1c¿1\14Å£ýQL\19\fÅ1^ÒÍÄS'Ç\90\15âÞ>û$    ãþ¹põ\8c\81
+íÝì½\88´k{ê\aHíÞó£sË\1fY\87N$Ìh¦2¡_Ê\99\98¸}yX(0\ 6]Ï¿OB»íi\ 2\92 »\95ÑsYêJ¬CÇÞè»»-è\0\8dÞÇ*`\84ËrÀõ°\81äÐF{\14\11\9cG9êM\1f¨\ 1Ú¿*®=·ì(/oÖ\17\93×}\90\J\ e÷Ó^\96\90\11²³¯¤ªæ\9e?« \12ãÚ\8e\94â,u\e§¤õ\v\8e\16çb\19\8d(ÞZ\8f\ f\88y\8eÐIx\ 4BÖw·¨\81U\9aÅ@^\94-\88y\1a\91<kÈÁu(\1f®ÑÔ\f°\17e÷_Ë\80P\fÀ#A\11{jð\92\v1óÎL´\ f¢ÄET\92Ù
+Ì^¹ägt\13*\ 1ß³ôETw\]°Æ/\v Ìm\97"yÀU\f\ 1u\1cO¿Åì\9d>\95tû¤XBj3\9dºï½ª\17ø½­cÌ&~ª\90\17¹ \ 5\99©ùb×ÙY\88\12S©uW\8f\81Q~tçHµDu_\97\ 2Ú7I\17\ 3Ëu\ 2VÛæ\0Z9\vÓ\83âÑ&äÙA½8\88l\85\9cäw\19ìÀ±w\19¿y\19¾sÁÑøj
+²î\84\85\a\13`\8c\ 3\91xÅ2\8d)\vIo\ 4´«µ]ö ­È\ f_H{\ 5h\1fç5\v\90\ 1bb\9b\13ãîM6H\11,\95Õ÷ew\9dÕ{êÎî\8cÒùà0]àeÎþî_@;Åu\ e«9o\10\ 62\re\13KlÂóF
\1f\86âÔêOª\14H3\88+\9b
+\ 2\ 3H\v8=zY%ã6\94\13]\a\96Ò¢>\82\97O}\ 1vK\19ç.ä æ\92I\13]+÷,\10òiݾÉ\91r/Ë9m+ªÍ\b'\80\9dÎ<"\fi"]2ô\ 3\ e\9dí\8c`fÜÜ;n,\99Ë\82\8ak^>\8eÍÏ\87\89ÚP\a-\ 1q\ 3\83Rx!Í`±óâ(âe´ûJ\8c^*¸\bjw\0íö\ 1Û\9f¢\ 5è\\ 5Áï\ÝÛ\9aúojÚ/Á\8a\1e\8fkd\8f¾â\9bÎ\0\v³Ä2c÷\\rÆÃ\99x¸ßõ\ faqºU\16\ 1ÿRáúay~xyuÇ\8f±Ö®Ì\9b¸Kª]Ü;\ eS\1f\rá\80ÿ\16\ ftOeù\86ù·â\9cñ\97·-[\14\9eR\88/Q|v:¤\89qÌ)r.\8d\8baËÒ÷1¬s\ 5\7f\ 14e¨!\15?\89/zbWVøï&©]\94ÿ5\81üö\e()b±[\85À({¦åauuÍ(\1f_«ª²c}Ïl\1dì½X·t«!\84îk«±\19í¿X\84ö\80z\81]É5t\9c\95µ\96BÆ4.\ e"Ö1¿æ\8aeïDüÆm¨\1cï4}°>å¢4wi<7\8fûÞɤ°)\8cJ#\82-\89D\9fºüö-z,\827@Uã\81Ew\8bi\0ï^ô\191ëV%ß\v*;«\\\9fVy\82\12<\a\1fl%°½¹;~àÞÓgï\ 3\89±\9eK\89\99\9e'\13C<BÒ¿( \1e;\1dµÊAÛ\eu¤Hì\83¼\rwtb\17}-\b\8aB\9d¹ÜÔ_¨\b­yØ%"±öÕ/¼\82구L\89¿¼\82@CÆÐ-]\8fßÂ\r\16ÜÊéÀµ\9cÑ\9b\11\ ew¨"ZÈÈ6|Ò²T\7fõãk(£C¬´\ 2\ 6\aÊ,cKg\9eh"\ 4\1d%dj\0ßÞYq"qà¾Y \f
\9b\1f͸\ 3/\90ù\80û.^X\ f\ 5ÊÒ¤H­rÎ\19[N}Bë¶AS[¨ßé®H7\17î\8b«äÉ¡åöòSS2½§ã;SÌ$\14\ 6vÈs\94\0Í¡ª ;½?>]_Jæ]j\1eb\85Ý|ùßL:\bÍèÌ
+ »A\ e\11¶´Ýý¨\f³À\vËÍk\97F\916\9f\88O\8b÷|\ eÈÚ\9bußwÅ×_Y䦹Ù^Óô\1c\16\vn;51+ÚW¬Ì\16tp\wq\7f4Y¾Ï§cf\9dFÔ4}:ÒiÓA"\80«\17giQQ\18 y/\9a<sk ìm¼P¶\15å\99\82\99 s¿Ð7C\80êk#\eQ"\ 2\1fØ\0\84Í\eººü ZMÉ\90_\10\b\ 3\ 4=\v°åya
+Ú`±\1f\1dUá0\84.3§qUÖ.¸fwÐ\ eÝ\88C^1R8î¯ðá\1fH\ 5¼#«òp\8f\ 2é\8c`L\a¹\9f]\8bÊ»\853~\19\9e¶Å\ 6\ez¿\8fõ=y\9dX`ïú?(\88\97ç\8e¬¿ØÎ5'¨\ 3-lvír{\82ù\1f§a¼\ 2Ò1åf\8aYåf\95²1o\92D\ 4}¹F\9a\9a\1cah\8cø¥à\ eõ\ 3dÒuöV7%5\95áÔ5tùÓI¨©]?XSp\a·\97\ 1G\9fê\8f\1c\90-J\8e4Ü|I¸`ßìºþ\18wÞµ\r{)¯¢ p\89ÍË{ñ\8bz\81϶C\8d`F¥øhá\8bP±­í\8eö]y§rC2Â!4Hå\10È&?VL±zDD\80\12¬+\1dF\96\80ex D\a,\0\90VL\90\16\1cÓvd4\ 1í|ñ\87ü$ËáÜàË\17n\7f¢\9d\10欮²÷¶?0×\9a¬.HÜRïò\95/¼ë\19á_ñì\ eÔ\88Å\9aÇI0»ê²ì3r\958­Å\8cäkqÔàrv3\8d\ 2EI\98%\ 4ñx!\87\83\9eJ\ 3\1df×·\1e}\16Î×nÀ\ 3·ýc'ïÁÝ$JûZ\8d¤\ 2\1e\91¡\vM\8c\18 \85»î±¥$ÿU\12¨(\8c\8dP2\17P\ 1 \10J\0\ 2\84U\94P·<J\90õ' À\ 4`à¬X2à²Ö2UB\16\8b¤h\80QãÎ7b¶6¹v"\90\86^Z\r·x\80Ú²\ 2À\b\80\0\96\ 2¶²ÅV¡\ 1``\84\ 1
+÷ïß¿ûÞ©$\84\ 4\90,U½ËænfqËèï9½=èo9\9d\8déo7z9¼æü\ fß\80;ÎoÁíèïÁF\9eûîÖËe²HÕA'Õ%Ôt\1frYÓ ­èý·\10\1d\9e\11^ýtþý9î|ðÉg¶\ 1p\82\0\9eC"I\e\13,Ð#9_å\19\0.n¹\80ÙZ\8b§9ªú»¬.\f¡xl\9fz"[4A>\97\9cÕÙID(¸oaàC\8a::©«c\ 3Õ\ 4ÕW\ 5ðÜ]=÷\12\f\14g²`Ê1\ 4Ï©Ñ\8dÙï\1e¬\\88.YÁcW\82\85 \82ñ¤,[e˪új.\1d\ 4b¹Ë73Òýü8c6\97ñ:CIb\9a'Èo\1cÜ\13H?Ñ×\eü\14è\1e\94¯@\16¤\92 '¾\93Ð\fé\a9á3Ï^\87³ÿ±hò&\ eÈ÷ÚØÔð\9dÿÈ\12\16¦8É èi§=.Æ4Ks\9a·m\96\ eÅ\a\1fy\909\1d\11ºÜî/\83ó\euF\f\91!r]ð"µ\87Årú|°oµ²2äxX\97\10w\8f.ç]°§8I\ 6@\83\ 1àu¸1¾wB jÑÏÖ\99#'\8aÂú.ëZmã
+ᨠ    æ\96)róq\1fôK|~Yu^ö"u\8aÀëIúj¥¶ß<v\10çã\9f\8e\vQ®)÷΢\a\1f\84®ò Ó\9f0
+\ fÊ4\12Y\1dL\b±\q~­\90ÏUç\8b\8f?\9d3!ûX^\1c\86t\13Ä%=\ e\9c`\93\dZÏÞ\ 2ÖýÈgw\b"°mý;A·0\aî\84j\ 3eZÎûµ×rÿYff\rëÓe¸Ký\ 1=èÌ¿îm\93/ïÀ¦LÜe\eOÞÓâ6ÜÊ\10\99\86éD{\92çÖ\ 2\ 2\1eØoàohÚwÚ°
+\9a\9c¯}R\ 13\10~\9f\16Ýe]O¯\9dc\ f\87TâCó\fa\1e@#¼ÃÞºYï«ekÇÐv\1c\16\8aË\92C\98ìHpR|cz\8aâmÝ`­)\9eÄ'\82:¢»\11Þ\1eÒ\19u;\1fêr!\81ÖZÀ¯Á§Æ\82³1©\9a^G¯­];«\88§¡\10âdKû¿ç\8f\9bÌj¦\97¨\18\94x\ f{\fƨs\ 1=\16\1d¾ \1c\895V7\15\93ð6\9f\8f\18+$b\ 2à§É\8e\93»hIòn\80\ eù6\17\10` ù5Nø\18\99HûæÓºëRÏ\7fÎp\9e\13n.\13\8fç¸M¿ðp\9d©tW$Ô\ 6=@\9eÅ~ê1\8e£ü µ]ïz×YÏ(4
+eÓþÜ\164eåÚ<$\1cvÍÁÇ\92\ 1\88\86ÐùVNÁi2ÀïðC¢3Íì\9cyË@ÃÍÄbó1¶\1c¯½Ø\18\82Bo*t¹zÕ~µ\9c&ÿ\ 4\93tu~\99_\81\vǧ²`L^Ñâ\8d¢Ôv\98\8fË.\88]¡Ú·\9d©ÿ\82\99ÓQ\ 4#\90\e\8c0\93¡\ eÛYÕæ\fuÙEæ\vÒ%oy2Í×eA\ 40d\86ÛÐ\80\13ð\87\ 4
+\ f$\0ªAÐ\1e\ 1½\912àíëÞ\95\13·ÔT¯\18¹\93`öã\9d:³2\9fÏ\r&Éíµ\a\1díh+q!D¤\1aòXS\1f¯\ 2¬-\9bX\¢8D\r-j]¿_W\9c=\19FéòÊ\86\80#,½þ%\91vÕ«(\94 yå­·cò\98îí\aùQZ\95ÿtV\14SU\ 4²b\9eû«\ 1Ow÷\rçð@\99öÈ\ 3ÞâÑ\8a©\ e\89ìZQ\15\ 2£L\9f¶]\fÛc¸n&[g¬\16B/dä\83=%t\99Å>Dàµ\94z =ñ¿\90O.7jÒQÿf¢Ä\1aëÙ)\fÍÅëT\ e+ÿ'Zµû5ÖZ\v\¿\9cj\òÅ¿Y\94\ 6u{\8bÁ\0\1c¢ öZ.êåi^fÍYIP\8eO\ 5¡ìÓvÎA¸0\81#ò½\9e\90\vðeõq'¥-´=Ç|Ñࡸ\17\vÇìF«\eÅ\ 5³¨&õͰ\ 2¦Ù0Aæl\93u
+|\ fâ¸Ê]¿DÚM\88ð(ð\ 1ç)b\9bÀíp\ 4\8b\9dúÃ!\85D¢ûÜ2Ò\8aiUê ÿ\11ÙߥÖ)³¿?¬S¸\8e«¯\82¨ûw±\9b\a\9d,n\fgN\féû\ 3\85á\87¾óêPCYØ\99~\7f\ 6\89`àѬ´\fgßX\1a'\15«QÅu\1fçm    .Ì«Æ\82«â\14\86¯ÞÎ;Z÷[?éÐ\7f:É?ý£§ó­D}×üi¼\82Y\9e\ e«ßQk\94µ\89\97S\84T\ 5xES³ÏeÌ\ 5\13\1d¹ùAcã5vÍ×\r\a\19XÐ{>V<\ f©Ð$!6\eÐîsAÆ\10^üÕæ8\10\1aN¨j&\8bü`\và\88\1c{ñ¥©âtr"oåÖ\99\1aJåQ6\ 6"\ 2{Nj
+¹^þÒ\a²\9eXYêy^âüILÝ6½°¶²\ f\ 6×½'úƼO\98æF4ͶD;È$ >¯mü[ò\89\9b\87\96Ûʲ\81ÛW7\19\ 3¶æI¶mŹ=æVŹh-Ëg\9dªmËe\e\90Gí'À·×·7C7-þvå¤\ f\8aû     ¹Þ_I¹iWnvçZ\9eܸ\83ÞAÞK3ðHÏ\95Óÿ\106\7fÐç/Úf5L\97©Î_a\86.rîÃ\9c¾¨:\81gúÕ"/K\9cí&\e\95ÎwÅÃ-ÎtzÞEî\9e\88Ä\92\vs\9d\93Îä\14ç?ç/4öö½çÇóÞ}!Ïy÷C\94\11Ö\85z¤ý\94ùŧÎM\82\7fû'YÎÞ!?þ$"
+\82ð»ï\90
+F|Í\ 5è\91wé¬òqZ\ 2öo*õYç´£×/ÈOuß3¨ü\9cv\ 1ã
+y\18\85áòÀ\87Ê%x;À\16\8c\1déF\157\ 1 \9b\9fe\1cF¼f\8ehWK\16\9b\9dÄ\8f_\f\88\ 1\84dò¾\9b\95\95˲ypG5\1e®Y@É|\8b\ 1K9)åØ;<¹£Ë\9a\ 5²æ\8bäY\ 3\95éÓÒ\8eH¹_Í\1diðc`٦ư\9f³åÍ0\ 5S\90àõ\11ÐÓV&è\9bN¢jaê&\9cäò\96³_9ÑôÊõ\13á£ë\9d\1e\1a2.\8f\ 3£ÚÇò\9d\1e\8c\9d\1fL¯Qo¢1\\1fÅÑê'z1\89\ 1t\ e\94ª=Ç\9c\17\7f©\ 48ûD\1cZ3\19xö«\9e\8b¨ö\87gw
+ºU\ 6\92\90Å\8d=Ïë\fÒwbz=\81à\82Ô1¬\9fo\19Áì\e\1e\94¥f\17m\ 2\96ð»\94\9d\18    \80\ eç¥\87í_Ô7:Î<¡\1dL¶:Yú\16Ð@TIw@\o\81\ 2ÙZ\90\99}Z\0<\80!áé­\93\f+Ýë·>às;Ù@b\17ix\ 1%ø,³Ù¸å\0õø\\9f0õcÂ\17\92i\92WöÆ\15Ø×\ eFÿ¬;p§ú°\1c/èÑT\8dÏ@xÝ«Ë\92{\15\ 3\9f3¹[\91Â\fÐ\80 iÒ\9e5\a:0ͧ}po@ò\1fKuK^ÕË>­\11M
\1d\9b¾xã³\b¼ æ\12¦êú ZO\19²Ý[T÷V\1a*Õ Ä6\ 6\8a\9b\82\14\ 1Ýf±=Öz\ 3ºÏ^\11õþ\eÕ\8a\10
+óe-\8a\13Õ\97µ>\87\8c\ 6³Û+\8c\r½9iß»4M\10t\19³v\88©]3ÓzÙó\11T)ý\86\ 5\ e\el\9bªö\81\r\80E\r£'oíà`Æò¬SÎgá\845ùB"\ 4\ 5±ßYh\1cýt\8aÙÞ\17~4"î\95gT¾\84ê\93ÁÕ*¤3¥]Së\13ª\7f9:¥üô± =­A\ 473£Ý,\8d`mø÷\ 3ßÛ?Ó\8buR«uqO\9787[\b8ÖõÛt\ 6Üs\10!#u\10$ºXK¾ºAL¢\16ߺ\07\f4\fdC[Ä
+\ 2\89\1c\98K\13\19\9e\8a0\vr A\ 5ß©\ 1³ \b\8fW1TÓݲ\ e]S2\9eì\81ýªê\13\8b\1dB\8cA\14
+¶èö\14UÍô\e-I eWì\ 6§ýøÁE<áÖÏ\riÖÏõ?\8e»k\8e³»Å4sª±ÑË\91¸B\19Û\12\1cݱúâ®ej o\1a×í\9b\96î>P,\8b:]\ 4¨J\10\94e\ eïZvL\92\12\89ÒÅ\b3Qí\94\80¢º ÷¦^¬sÉ£¡Ê:\ 3ó{j\ er\8a\r­\84\14½t\15R°Tº\vª\8b\80<¨«\9eGô@:\ 5¼OR8È\89\e¨Ð\89 #\90\85Å,\8dõ\ 3%Ìó=ÉL\ 2 R\96{¡P
+\1c\80;á}\1a¤*é¡}5%
+\13åùì\ 1qH\99\96E\8e\9f\bdI¬h\96O#Ã4-{·ýóC6X]±ï¥Ú®W@%ãTùëW\17K\89}$!Bÿ\1eB\8b¶¾\ 3\f×/L\83ߢ,tm\85\17\ 4ÀA(\90¶&®ßÈÔ\9e\93\1c«r\9cû\rËÒâÀ¬Ý\94,à(ÜPô\91\8a\12Yµ¤±Å8Æß7TM\9fÅë\9b\98\10i©Û\1fr<\82OlN   °$ñòÞ\8d\ 5ÀÉ¡Ò%¨af=¥:\ 5\14ð\10®\v\8beC\8ddH\ 3Ôó+ÞÐ\9c^ö[¸L0\1dŽ­ð\11\16_îXè)\99\83¦¾,ÁÝ\9b×°w+&\f\ 3Ë\ 4\f\97¶³\a
\81©³3¯Ã³:ÄØïs\ 4®Ìç°uû3\ 5\17\ e
+n¿Ög\9eõ\f«½ïÜÝ\9cþ\9c\1aÛ9épuÛ9\v\19\8al(u\9fßaMìÙ¡±S?\9dÁ\94ÝþiEÒ7¯ÁBa\10$Ä0i:@*ù \9b»\8086M\82Ö±ØßI"à\86Ô\9bÀ¾@\83\ 5\ 1x\87q}+éɱ\19§&²Îxq       Èà\85É;2Ø\9cj{\13öD$THÖ\ 2*\97-\8f@\81æîM"\0I[\7f\f\94Mâü§xþµ\8bÛñh<\ f\15\b\a\17~Rý§\90\132\92\r\a¢ö¨%\ f}ÖRß\82\1e\ 4\ f\9c\7fx:Ó\13S}\15˰\1dé½\98\8f\170Q×Ìq©ü\80\87Ñ'\90bpD\97-ð@{¥"\10\90|9e¦j2\15Ã\1d|È.T\0ãP*U\10\82%Hb¤\ 6SPÇ\ 5Ë\9c\9c\ 5Ùºö0<Çy\80 t\0ôÏ\ 3Î3\9a$\93Ù^\12ö¬S<JX\ 5£©\17àT\9b-\94rçS¹±y=`x\ 1¥ò÷\§\93\86\93\84\aH;³Ø\8eTPjÄèp\15îìø?l&<\14}V\84\18ý7²²â7±bó\90\98¿~Á\8bñì\98¼x1\7fÓ»ùØ¿º\9b\17\11|Y\8b¤¿­®\98|\ 2\97×nNÉ\92\ 3âG\ 2³á±:\84mÔÜ©\ 1îæ>ô&cµ\84Ì{×õ\19\8dþà\99\8c\9a\8cÅ ?\93ñü*P¥T\18 K¡áÈ\1c\14Ò;\10ó©Æ\9f\15óÄíÙ\97ÎTVÕ>\ 1W'ñ\bx¡VßùnO5å ±\10\88\18\ 1\ 5û{¾\886\bÀ\87·ÍwIwl\9d%> \91ºp'¯U@ïã        ôSÆâ]䣧fA?uåæ\<\ 1íÕ}2\1aï\1dÍÅ\81ë\13\999ÿêA©x\ ewêÃpÔ\91\84\9a\89ä\eë¡\3f\81\124ÿ©ô£\81%\9b\19\0×\8e¢Äãoj\ 2¾ \87¡\90Îu<\0ÑÿQX\1eÍA \96ÿÜ÷´6\80é
+ÿ÷Î\8dØ}ü\8b\b\88«\9bj\0¸\82\1f\80Wó\h|¯0<_î+¾0\0\8aê\ 6pß@ËàwÁô\83\12\aÄN¯\1e,ëÙDÚ¯rw\12\0ÙüFºýo_=\86 áì\94\Qµ-аqkÍöêI$Ôo/C°¯%Ðì*\v\1d°j3\9eK4¿5}Òâ[¹\84§®ÿOh\1f\18:I\8dÖ(Ï7ç\18wÔ¹hÍ Açn1Ù7°ð\ eù`Áª(óBê\11)4\99u\9a³ÓlÐK¨Î\1eãó\8fK\17ô\ 2\ fä7K\15µªç\8eSã5mi\8a\98\8a£.\96\15\1e\91\aØ~\8c\12\9c{ÖG¾Ëôl\85!Íãú3uuÊQoݳ?~¯g°ÅÊÎé\r\19\14\ 6\1cÍn®N\87Q/(u#ءϴ\8enia      ]\8eP¿Äû{>\98Ñ\15Fé>Ô
+T\10c\f+Êÿ^§)ß`D\ e\10Ú9\94­>¬AêçôFúeà\18å\8dçá\bØz\83JP?j\8b­Y\ 4¤h\ f\18û8\1e®Ø\9f\89\9b=)\14ñlwß\0æª4ß|ZoÛ©(Ä\14ßÈ\88\84­íX\8aA\12\82cK>M\ eÎ\ 5\ 6ØÜ£z±\93\19¾/\ 5\a\fp\9bó2O\8aò뾤0-oQ\18Ó¶\ 5BîM\ 2        y\rÆE4P\ 5é\10\7fC\ 4!·ä6\13l>£D!Í­'Ѥ\99\9bûO\92¿M}\vå\86\9aØÃA¬¥úÚ\12¥\8dá\87\81#rQj!Ž<F¹?ü=ü('Í\97Pj\10L=Á\e\88t>Hx      1\87½¨±\r\92c\8b\8e¯¡\ 5Þ(§W2
+fy\12Ìþ8å³0ö\vÓÌÌï*fw²Ìöг;\95£OñÅ\9b\10ÑòþØY\9dÆÓ3Õ)\99úD\8bD· «füá¹ATù|)\86êú|\7f?\11lcÚ¼\11­\17½\91²ÿ¼\16¤64ÀØ¢8"hîÁj`Dx/&ÌhM0V\96\ fÀ\ 5\16¾®ö­åEb\88\83hK¶fì·\82¬\83Å©\89ý÷µ¼\15doÄ\1a Eõ«\1f \86?¤´\ 6Fì·)>òìS\9bóoûQ{SÁV@jPx\f1ü¤}\92ÙÝ\95]Õ9áde\83\9fõ5Ü\vú\7f\ 4Úh¢\aN<\93{ÚLgc\96Ðì\80\87Ìk·æ»­¡Ï\84ËHÄþÈå´:\0ÞE\98½LrÝQ\97²ÓNÒîG\85F¿G\17\96\8eb\ 5\94\ 50\1eCu]ü°R\8a\9eú\7f =ûhÄû%à0ãÚ\8e±æ8Qyj\83¹yu\bѹ\aÆ×nl"|\83\8b3ûd£\9d[ÆòYÆ\80\87F\ 5\1c\ 1ì\ 25hèÔ\1c4{\14\83\89VOz1!ó¡)nÚÎÕU°:\9d\asvè\17\ 6Ô\89\97ÏD\16á?A)g\r\16¼\ 3ìN¼\ 3ìM(^¡Ó\9a¹m=\91Ìe¤\ 6\11ã¤V5Ä("ð\e\9d\81´ÅÒ\88Ó\ 2\16\15ñ\94\1dät\18D\1fôÇ\8d\ 5\18\86ü/È8+Ó¿\D\ e\12ÃX/é\ f\9c\16r\b»0\0«»G\8d©òÉ\b.5rÒvºP$\1e\fV\9cÐ0{rίÌÒ¼i\86a{\ 3\96´=&½ÑED\ 2\86KR*/\bB\ae\ 4g\9b \94t\19\14P£dCÌ!\9e\99
+6\ 3'\1f/\ 5¸ò1¶R¥k©]ã$\1cwRìó^é\95B\14\8cÑèõ\r\84ýÌfÕ\93\9cpÝ8o?2±\98\r+µÀp®ÞCIζfì\1c\9cQ\1dÂb\11\19:$8|U\93£\a¬d5dèÔá'FàOD
+óp\99,I\99P\1f½\0\85ã\86\ 5@\ 2V¨$l&Ì\81z ôØ\94]Q²\91G\1fFÀíI^t­\80"\1cl8Þ\8d¼k#fnÂ\v\eÖO\9b\12z½àÞ\87¿»\14ÕþY\80~\85}Ú¢s@\ 4\82ïÀë\92\8aÑ\1aî6ÓÈÈ\f¦;\9cF^ÉGg¿å-Ú\99  Dv²A\ 4áì \8f\14áU\8b#àaM\12G= £\12³0ÖÂ\92×R¨\1fW¸+É\ 2x\88\ 6\80¢÷ÞÛ\90\19tR4%\0Æ{ \93¤"s#\9fr\17³¢¢4¶\14PÂi\91ï6oô\ròía\86\ 4Ue\9bÐÂG\16\81/ÿ¦ø\82a­ê»\10³b¤\9cg¨¡v\8el¤Þû\0\9aY;\86Ø\ 4Â\84ô°\0ï-Üj\80µ\84õ\ 3Íøn\10x\b\90\ 5>\ 5îU85.,7aM(\88À
+:9¶ËÖI\15ièdxègHd\8bì)+1÷"\19íÑ\a;)û\90_2ô\9et °èÈ$h³Ól\ 2ûëì\r\80^:&ZBî\e\\82<1Ñ\96zn\b*n\86zn\10KêAu\18Cp]ñ7H\18i\13»ânÐ\1e$\14ß\r°{Ť¨·ïZ\90JÎí\8eF\19û¤\84$c9ÙÎð*ñG\0<\90·â\92\8añ\9dÃmêú%6\1e\94P-QMÍÜÛ\ 1Ø\84»qd\83²¢:zQ\ 4ª
+e@\1f\ 1äQª\eFÐð\f±\0\13þÌ5`#ïÄþU\8eá¸\ 1³\92\ 2w¶\\ fù«Ù'\9a¢3Ô\96-(ªy\10Q\1ak¥Þç%\1f÷ÛB ®\86I7OäiUG_Èì\8b¡\9cÉ))\1a¤þÚu)}©$jA\10\8f\ 6\ 5Ð\15y\a¦Quèî\99ÑF\ fXqî<Ñ     «Y«q¼\0Áf\86\8c\1f#Ü«¡¤¬ñö*¥eABf\81\19++éÌ\11ú\8aèM\19ÅD\8bg\e*\82Á\8c\8bjZ\17\81·ÄwUpç>ù\97³Ì\95ìo3s\8f\8f\1e\ 1\93?ùn­ Ý<êU\87\13-\83x<u\95+\84¯8\16\89§¾\7fqbMÆ\1dÒ\94%-éÝ\ f\81a\rØH)~è£ñd\7f        J©¶\12H\9eÀàÀ\8c¸(U\ e\f*8t¤%f½\19á¤Õx`à=%\85×§À\85>\ 4\ 1\86\b\ fy\85\9c»G? VBØ+Ë\91¡\12\99;\95\15\81ã\92ª&ñÉ\ 6\97p3²iò
+~PPþ0^LhìÀª\89\ ft\ 1~\98.ÛÜ\95Ó_\85\82\1d~\94\aq7exý\93n'\ e\83L+È\1ed%²"²<ÒIJ\e\9aû\97qàM½h\8c\9cã\9do\81o\83®tÿ!6þNq\1c\84Û\9dË?\b\1a¨;\a;\94ð\8cü.\88aë±s\87ÌjÝ\81ïþ\86×\1dÃt\8fÍ\98g\99à        \96&\82\ 3áhæ~\86Ñü\9cØw_8ï×<¸\85Í\91\7fp(¬Ý¤Ë\87\ f~4þÓ/òÖʯØHi\16\1c¯ß¨h\ 51#\1dà@\15à\16×\91öSà\ f\9f\15Ø\1c\8f\1c#úSâh\82Ôà\ 6<\81\8a9,6\8cZW^\93\14\95ÖèzXó\82k\9dý\97\0×\14\ 6\14¸&\81\ 1\93 <Ä\92\8a·'²w;\99ûÂ{â\15Y\v2s÷(ÉÍ\ 2³{\10TFÀAÒÕV\14aQ¦ªÚA¥ObõvôôÊ%ìCÿ\ 2l5¶«\903;|\82{\13\93\9bOb\9bcá¶\8e\9c'²Ä·\ 5x-\ 1\86Ü\81\1eR\f\91±?µ)<Údà×ÌÏ\94o\94I&\1c\81]Å"~M;À]Ó)å¯&Q\93\9b9(\85é´s\87ÃjÎs°ð.£Í\92eüD\8azb\a¾\fçì3çÁÕÁ\93\9b«v \84\10\838\ f7¥µ\9eª²Ü\að­<\9d\9e©æ}\80åÎæ\ 4}\ 5\86\98¯ÅÍÕÜA´t
+»3Ħ8\87Ñ0êN{ª
+\8c9?\88¸ÿ.\10\a\1f\17Ü*6¯\1c
+3\15\19\89cE\8d÷õ\14\18< Ü ¯|&µ\9d\17\8bÈ0\f.\8f\8eÿ\18\9b\16\8fj\8cæ1á\8c\87ý\87;icæ\ e\9b@\9dÖ\11=âô\19\83§\ 3©X/\8cz'MIg~\ 3 CÜéÏ\1d£¸Î(\98mèAæ\92\8ev3ý:\bÐ\95òòØ\80G(OX\6ys+óÓlO\98ôïÆ]]¶ÀHWlj÷G~¥à¡\8e\r\0·÷EG\0\94µm\17\96æ\888À[\9eÛ\90q7ndð/Ëøt\88È\ 5ÿ£¶\8fɺÑtc\0\7fê\9e\8fç\14ï\90\8f\9eOÄóÛ\12wÖÀÛ\aµ\ 5\ 2Z|à£\9f6vÒJ|$,ZÉ\1d©>\14Î\16\8f\18W\86\91.@\8d\88u\1d\få^µè\ 1ç¼\7f\ 5å\92çzÏ4/\9aI\87\80\9e°´g\99Þ\8f\16h\8fLiñÁ^¸&L;7\99'\11\1e\9bÛᩳc¸l=<ÃËp¨H\90\98[\8fè\ 1\9bà^¹\8dÀ¨ÖTÚ[\8c¢;Ä\1c\93R\88\ f\1c¯ûkÀgx&Ù\18À¼\8f\82¿t\1cE[Ce\18ûk'\8e]Ìma&\1eHÒ¿!#O§Ç\9e ;\962\17"U1I'®uñÐå\ 3!øÆ7}\ 1\80\10,\ 3¦\83Po\ 1Þîy\ 4¡\86\94Ù"N°6Ä!¸\ 11\8e\86¬6Ó\r·\0ÎBc=ç\8a\e\93Þ\9bV§çH,ø\ 4rR\13\1ea¹Lñ¬7ÿ\14;ÿǧ¿ü\0Æ\1d§¿VÂ\14Kˬz?:¥>ª.\19WQì\1ùÕÓ\84bØýÅ\10\1a     G\9fKYMÓù\91¸ï¸ÖÀ\83HñÂ\80oË×\ 4\a\ 2\g¹ò\97iùõ#Qã\ 4U¢|´ã\ f\ 2Rc\1c1m/nÄð(Ð$}\1f\13è+ëè\15\n\17~üeò¡\9butòmW\86\85è+¢Û\0\b\81È2      }H,gú\84ñ« ~\8aÒT\92¢%é\vXµôPA'uT@½Â8.ü²\a¯BO\19~ØAÉ\ e0\r\8fÂ\e«\9fë\ 5$G\vïgï\a
+\19°\e§fý¬\93ð§\9cØ\11\1c\82wÝ3ñ\8fr9äî±÷m6¹÷m8º\9cç\8bÖ\1faö*Ì-\17ã\ 5\81\v®úøÑÏz·H°¡«\86\0rÅ1J\ 2=<ò\9d¡\9e\8câz¡\1e\13\ e¨ \98IW÷\ f\14%ÐI\98Ñ\15ÊÅ\8eÉ\9eÿÑ\17ý¿óÌ¡\94.±fAç\9dzó̺7÷cP0\8c\16U\95\ 1&\13\ 6\83ÜT[\1a_\86ÏMÉRq%¡,á±g\ f\ 1P9@Óòam¢º\8cÏ\1a<\1f\17qR\8f\a\ 5ÇgU\95`4x9Cÿ\8a\92\98`%ªàT
+qUÜErâgÂ\95\ 4ZËkÖ\89\9fÖ D-\82/yp%\87Ïq+Ò\89Ñ0T×»ÿ{_òô\96\8d|w9¯Î\93\19¯ò!¾Æ¾\8aÕ¯uÎkúrkõ\846ü`_ÿѯ\8bµkó7\eV¿Ù/\a¢\13Æký\egØ×èî6\8d|W9¯ðI¯½\19¯Å,×\9a\9fG\13]Çÿ:}\1d\9dÇÿ\0Ç\9fù]\80ÿô\1c\13|³õçþWgNÖ\92[Ü®²¤\96ù\ 5àõ\87Âiþ´\92ØøES*H\1fï´ú)%¼ÒÙN\15§ÑI-ä\96Êx¬ú\14\92Ûø»ëEi\ 4~\99¢´\82=é§ÿ)\ 4uh\87ûðØ;5ª´\80ùÙú"YRŶØZ\ 5ZìÞÈAÂÙYl\e\ f\10\16\99\9fÙQû¥H\f©ä¾¶Ï?µÐs\87Èmª\9e\8e\94{\8aÿPQ½Ç/Bìõ\1f\8d\89úó¿å¨îáy0sæj-\96_\8e7\9bÝw\90\9b:êCG¸îð=\869r\94\81<:×LÏ\98\fÃÇ\a\ f`|\aÿÄoÙÚüÿ\8dÕ\13åÝVþ\86gp·®¸vöWSd*9»L8Ýc»\88]:;\v¥÷Ðhín\9bÿ:ëqØÝd\7f®\91£ç\ e  >Y\94Ûùî¿=¥Õ#²º¢üë­Gh\fÝÿ\96\93\8b\7f\12\9b~\9fï\1e\ 2¶]=\aÆØ\9f\ 5»-3µß?CRíw\aönnÕ·ÿ\11Å^4\9eÜ:è\89ÖS\95ã\85L?vT¡\1du(\ fde\8bû{\11Ã'\e߯ë\rÄ®¹u\11\0I\ 2ÖºÃ\7ffùÆ\94\9ff@Û/ôÄ,çþvÊÌ9Pñ¶7^¬A­[EÝ,ï0\1aÕÜSq\9dÁuÕ<}×ñBq\9a\84\95~ÞÅu¿·±|~\8b\96øþféù\94§\1dqòKµýó®Ä¿.\95/5*\ f\8fÊc«éPú\ 3\bA}×Üÿ\ 1¬\8f\9e0Ú_¬ka\97éÌ6\91Ú\ÌdFî\9fÌkKÖ\18lû¨6sÿÏù}§ïü?°\ 6\e)ÿ5âÕ·æ³ë×ý´§\aþÿ±ýå\83³ÿa\86ÕþHÃi\9ehÃhþ\ 1¿ræ\10Õò¦\e\rû\9a1ôC\90¾s|\1eGò©*~¨Â\1c¿«6nçùºÝG\1f{f2\zy\13hÿÜÿ\90ÙÏûv_ÿ\7fï\93\ 3ÞQgñ}Ô§\89²ºòq+úÝ\1e\v_\ ea¶ï7\81±2\94v?Øseò¦»cóx\ f§/<Ù}i²øß©\9f\976_\986\87ê>¬¾lÙ~\80Â\1cÞ#\ 5ôåñ&ÄÖI\e/\937\1dô\rÈ\1cØ|½¦\1f}i\87Éby¸\7f\ e§ïN\875ëêcç>¬{\7f«\1fY\8aúqô\9fV>jÓ\1f\7fú©ºû*o?;ýÞ\97o¸÷°\ eüX\8bÖ\93\87Ýýì\17§íã=ÿ+ƾât{>ëÉÀAÄò.\91\93]\97ãò1¸\9f\1eOÞî{=.#Îðr¸>\16        }Å\ f\1f ï\8b\89xÍç³xG½\16âáù:òc쩾ôo¸\r\a\e\85Pv¢?+ýs_Ó¨qîiq\1e\1f·z\8fë¼n?à÷6\99\8cgsÿZp>ÿ·È¥ØSÕuÞD_\a"ÃÇ¿HÙY"ÿ·\95ÿÛýöÿ\7fúÆÛ\959îÓD×E!¢?E-¢\97\11»÷¡Ñ4òÚùu>d\ f2³Ì­ó\17hÙhÚhÚèãtgèåtrÚ?\ fG Ñètm(ÚÑÆÑ¶£oG\1fG!F}\1c­\1d\ 5\1eb\8f9GKG®£ÚQÈi\ fÒJ\8f\84\1d\93C¤¤Òiô\9bM&ëIS¤]HÊ\91¥$} \bH\19ZIa\10\90³\94\94\ 2!"|:M\0\88HÝ=&¢\93iIº¤¬¤­¤i¥k¥o¥\8fÒÊée´¿ö\b\ 5ge\ 5Ra\13?\11QëÇb\93ã?Ù\17\11þ$MºC/\82][\93Ásiûz\9b\8f\eI\1d\82ÿýfßp!r\ föVmñ¸/ö§íêp?íàîO%p5fßpúiû~ ÖjRC\9aygÕ§íÃÝ\86\bxT\87Ð\9b÷kOÛ\80Ö[©À\18æ\95à9ôý¼\81\ 6§ïü©ûwÛãëä¢É18|.\v1\87\8a5fÊ(\r¬\8f*\11úÎe>\1e\13a:úy_\8cj|'о\95\94]îúj$\84ÑVÁ18RX\8ej4xgÓ,s7Ò\99ç¶5OóSÀk¨Î³{ÃßwÕ\89è¬\93aA"{0\8a\95\8bÆ\16d\1e \93Î\83ø\826X\14¤S\1c1a\91l\12åÃSÔÝh\10ýß@Ó\10\ 3x\ e\8e\8d#Z¨º\b^A¿¶\0ýií)õÅ\81P¸RK\92\89\0\18¦\10T'¬ ßXÁ²¤¶y\97(!\10±ü¦ðQ¼z{gþ²Ì6ð¼\14±Â\ 5Ba@>nÑ\95\1a\ 3c\1cاx \94<\b\960T­áJ]<¥\ 4whL4
+]\82¼§\85\80\1cÜ\ 5ÇNê¢iÛð\ 1\89Õ\13\8eÂÂ
+\94üf\95æÜÞ\ e\11Ö\16\b\80Úwµ\87£\94­Ba=\eÃãB\7fð\ 2\17ov\14\92ýtz\159K*¸³A c·\1eã\1fÅ\9c\9f©P\87\9bå6Òê\fj
+ñ[Î"¿5ðÓbàoæ\87Á&À\10\ 4é'3\f\1e\88¬§¾.Us"UäÈä^c\81ó7Ë\rÕ\8aÎ9)\96°KYs\86\96²£âqÂP8æU\80\ 6\96\80\ 6Þ.À\ 6«\89j&£Péü»\b8èðO(\80Í\8c\93\9a]Pb\1e\12\86\14sÜq\17\80¹\9e>yTÿµÍ\94"'»Ú"5ÙF¢9²\r*óêx+\ 2Y+ fUMö¤í\1d\89¼\1f    \8b\85{#5Î
+\9a\12\19·pY«Ü1¥\1eßN\83rD\86\81lM Ý\83J«xI\80ÌÅ'±Q\975\12Zò%¿À\12Þx=\83*¯o褲èwÚq¦}\8e!¨½»\92\8f>)\9edUÊ\92n'w1*À\ 4\ 41ÈÈD\1c\96P\ f5¦6Þ>\17?éªa\93\13\10\13Å4\92K¶é\10\86\9b¨\80 ¢P\1d+ÝRô\83\8e¬K¿\80\847ê¨Ì\1aÂ\vÇ\8c±¸P(a'j>\0£­\81­le\11Ø\82JµÙ\ 6ØÁFü\9d\a±hAG¢íøkBjã¶DððI\1c\12\9c|Ê3\97!D_\9e
+\97ÐØSÍpÑñû}áÔ[p]\17 \9aò0\8e³Ó`\8eÏ\1cëg}Ô!¶a\19gCÅÐ\14\98(5\14t¾H¼)7G\98\92`ÍÇ6Bð\vâ|%D£[$ÑpùZ.(\18 \0 u/>\888±®\1dä\ 6}¢j\91H¸¢ñFl@þr¥>+`\82\96{r\9cxë/V\13\8c°L¢$ã\8az¶^\v\ 4\94\9e¦ç\v*)\9föK\97ZP1èã\96©%Âzu\9aææ%Æ\10\12Ç7î½+XçöW«
+Ç>\aïã\15\0ú""\\94\1fЮH\9ebÊô\13\18@]×÷\95¸ÍÓ¬AéU
+       êWA| ]Ø
+q y+\85m\1f©\8d\12\9déò þ\83P\9fÿ§\81\14)\1d\9e²Ê\99\84\9f\80ÎM\ 6Õ½\11\9bº?\9c\97X)Ö1·\82\11i\ 4#.\94XLOÉi¹+Z]\ 5,\87Ö ÿÀe\v1ÜÞK1A)0£:#~|ÔBÕv¼,(n¸E×Ù`\ 1\18û@\83m2\17\90>\1e\ 5Ü\ 2\fF*\1cyzV¿d`x\a\89`~£ËG\ 5ª\81¢G\ 4z]|9üOx\ e:ôËþÆÚ\b¾\1cC\80LX\i\13L[\82=ûZ\v=\89°Ö²\112\83à¥#4HZ\ eºÂõ±º^aSr}\1dæ\12Iî_yTf*ÄþëÅp»Ì-:ä\18sOÊú\8a\vÿcÅ mîTçT(.Kfó¤DàEÏ­Ñ: Ò\91Ú¾\90|\b\15[\ 5Ho\86\ 2¤wõ&Èi¦þìÊt§ýÀ¿S]8\8f\9f\9f\f\13rXôuÈî\0\ 6\83eñK.fTm\813\en\8e!\83\83\99=léÆZ!ã\14ÿ\0\90d$Ù)(§0,ú\1dCKò\96ð\ 3Ùð    LÐYC|\81Fm¹¾ÎçCêr#ö\0¸\9f\9a%\e7ÏÐ\99!fhrÌ\ 3V\1eàhrÌ\83U\9eÇ- ñ\96\9a\ fßßLCÍìt\ ezéWá\ 5M®X\9a¯D´³(_gn}ܸS\8e¬\8b+!jÀ§Ü/ÖPS\98\ 31F®Á2Q;ß\9b
+\8eQ\85X ­¡\v\r¢©\v\86ß\b$îê\12Âøôÿþ¡6\ 5¡'\e\r\f\83¦X@Â\9eTÐÊ\ 6\rõ+"¢ã$\13\86\8a8¯j¼F\83\0©Iº\8eé¶\98íHl\93\89ûïû\r­S¤\98C\84ǽ\1ac\87À¢\85h!u\1f\aò\r7'[\18ÏÁ\ 4IÀÿÂÐ\92\93ÿ\15\0׿\8d4\89\9a\1f\ 3jì;\9a\1a`=4\ 4¸J\ 1\ f,¿ð¼5ʶ44×°\95-\ e\18f\ 2o«zyÜR"\97éöÏó[JædNv\86kØ32L±g4µÌ\87]ó)\86\14ßà\b\13T\91\93\8a\91\fÎ&\a¼\ 3/\ fvçm=$=/É:O\98\8c6¼(q(`V×{#*\ 4-\96p\93ÅæËBCFÇd#Ioû6CÐ`ÿ\ fN\19\11t\1aY0\87ës"ÂJ\92\88\82\16"3ëc<Ac\ e\7fr=,[\.Ú\ 5»\86§    \f¸UMìºQ"Bá^ú½»\12\ e72E\13\1cÝ&çÎÿ\16§\10\19ABí,v·bì(J/\ 6\1f\17\1e\ 3!ã¹q»Bëxý\ 2v&¼&\8aS\e\f|\9b²åA \9e²Õ/ùX\91ӽةõÀ¦áú*`\9dò\10VáXä\ 6\87@8\ 5âv¡&ÿÁñ\fI.\91¨9ÿ|Ê\ 5ß\89b{\12aW/ò¢\1a;
+ĺ#\8c¬>c\10Á\ 1\10I\80\a;d\11Ä2    .Å5h\ 1U (¬vÑð>*\1d\f,<\11     BÀ\8c\9f\11ÌÔ\ fK&z£9_Ô\\85à(.\eÀM7/\ 1-G¢Û<·\98\16M\87A@¨~\81¯oÌ    v¢\ 2q\90%MN\ 4ß\f§ö\13D1jå~r\14\aÁ1\11ê>`á!\80©EH
+¾my·\9a\9eêÐrëo9<ÝÏ{\10ö\1dÓ\93\9a\r\ 5\f>\r\17\9apálzx\12ê!ïè\1a@âü°`ÕûV\13òªú\1cÝb©Ç²ùV`iäb\97@ô¾XFáp¥WöÕk\9cp\13\9aõ\uöuÎ>£×5`\ 3ü+\9d?-}\94\9dß³º\12£ÿ¹ÿ¬\9dÝ¥ÑY9\1eÆçôIÝþ\e\9a¹N~çôIÝÿbÙNFçÐ\93»\94¦m/ú\v=|W÷\8b=zêÝÎésþu»\9d\gÓ[¹\94¡\ fÒ\8cVP\87ª\8cVP\87èF\7fö¸\8bÿ}\89Û\14,?ÿ\e\13·gì©^ÊN3e'\aûËx\\1fæI¾ì¯úX\v\16\7fÓ
\9dÝâW]ò}¢ë¾?³]wê2K®ëò\v«\88)ÉHàâ\174ê:"\92\a\8dý·\8a³¿¶ü©9<Jè\7fÅü$Vÿ]oÿk'wR·÷´±MÿzyçyÌ\82·\8f`häs~òfýÍ\e÷HoÜ\81«zÿ$ß¹S
+`ý£Nl_½ºÆ?¬Ös\9dtgùã.ZÏÙÿëú'\97\1c\ 3 7ã@o\86\80ßM\ 2\7fûvíÈQ\8fÁPiÿÁ\1fð} ÁùÅ\19Èá£M\\9fáÍ\·í-\9fMr\8fZm¯Å\18SÏ·\8a°ý®\8aæíÿ¡h\9dÚáðø{;Dï776Û\97h\9dÓÃrMÿ«h\9dÚµËÓÓ\85\9b«§§ËµZÑ;ÓÓÄ\r¢7\97\97+8bV\89Þ\81>U4\13þØ\14÷\89õm\13¹¬ØM\9d¢w+6J\16\89¡[Dîº\96^\¬ñD¸Î\84-×½Ö6\9c\7fïf<Iù§\89¬lM\88\91èc\a\85r0×\8b1&ñÆàg³=\89{\ 5\99\8bÍ{\1aI\89Á `ÄäVÅ\ 6\93\88\8f"©ÄÙ\12y\15ä\a¦ó\90Ù-p\0%Ù»\a\ 2\90#lbl\83\1c\0\83\18I\1e°\bêb#\8c4\10Â8\97ÿ÷ïÞ÷½\98\92Ç\ed\9c,Ówy²ó\96Î\81m¼½;Ñ·¡yz·µnö/ÁËð2òô/À[ð7iÞó²É,º×\1d²Û!2Á(Ê\ e\81iÉ(\9dîY(µ1¾^¦\1fi¿.ÅÏë(\9d×póË\93½\f\93ô/W(Ô¯ïï÷Ûâ\ 1Ê\ 3µÊ'x\f\94O\17-i\87\14g@\9f\aÜa´Q;\99\97Fb\81úSE\13¾g3£ÑÚZo0ܹsÍã\14Nûn;YZå\13½\93$ñd¦\8a'|3½´\98Å\13¹\89Û\99Mez\16\99nLQìÜrJ'uä\1fE9\95ë  ëFr\90À¢À)\bgñÊ'|3\7f¦\94NçÉ\8d\984Q;Ê>\87\94\88c\14\rp8\1c\ fŶÛ\´Q;º4»a²OL\9c\99¼ã\82x>Q\89á^;E\13¾\8fS¸9C_¸\9aQ;ñ­\17'\8fõ6\9cf\8a'|=OQegqgeeÔjpÚ(\9dÃ/S+©\ 4õw\15¢\89Üî¿\0 \fÒ\89ÜÐK\r¢|Ìå\13¿\1d¢\83«\8eÑDïͰOÙ\96£Í\14Nü-M¥¥Å­Å¡B\ e\13E\13¿\16É\7fËÁ\93÷Ækþ'\13\ f\ f|ÓÚr\89Þÿ\85\85\85\85ÀÞïXe«\9aOÙ³?*µ&z\99LŽ&6W¾ßJ\1eÓýë&JûPefr±@Lúî¹Ê'~?\1fí1\1cn\1a(\9dïñà\1dn3-¤\aM\14Nì@\rö\19èw¯a\96ÒÒ\ 5¥£\11\13¹\95ORá§·¥_P\1e¹Éõn¿Ãh¢wæÚ'è\rªÎ\9dr\84°PÄj\1d¦\14NüV¦ÜÒ;Ó1£æ2\86\94Î¥\93\r\ 5Öõ\1dëÙÄë\8bE\13½Ã\972\98¤Då\13¿\ 4¦\10ú_je\7fYDï\99\ 5\18M¡£¿ö\14NüÛñ"íHëE\13¾°êª\1d)Éi\ 1\ 3Ö\1a\ 1ð±\8a'x\a\93=\eE\13¹@#@s~*?¾C\ e\ e¥}08M\14\1a\97]\1e1Dïêq0÷Ãö9Dî¾³¿´¢w_+\944Âù_¦-\95(\1ddÌ®É\9d:õse~S\14©\9c\82\95t5ª4\99gó8Å\13ºë¥å¬Æ(\9d÷\8bé\ 5\8cQ;\9bL\f>%¦1DîZs\9bL\1cb\89Þý\82\8c\9dÏ\1aaDï\87×\eL\1c6\8a'|£E\13±»ºô©Å\13´Â\89ß\82\bÑ\e\82Õ]:Ìu¼\17÷\15µûêâ\94\8e\ 3`ÀË¢.Æ\81æÒIzÿ\10í\17¬,©#5\15\1c#QËÚ°IÑ_¯S©²^Ù\82\8e÷FUÒ\±\vûv¢+"A\ 3xbÀ'ªÈSßi\ 1Éæ\84éµ½\7f\8f\v×à2¥|î˳ìû>Ëç.QÇ/¯\15iv\9d\13Uô4\94©ÙûMý£\v}»0\94úÃ\15\85\9f\vùgk°oßa\87·ºþ?ã/òïwsËJÓ]£\ 5[æ*¥\8eý\9c}\8aË\96SxäT¶æ\91ô¬<þ\ 5
+e\r\82iS\14\eer\92\1f\ee\1fíÎ)He\r\93Nðå&()Aõ¿\ 4ß\86?{8\95\90\1c´\86Ø\14ï\97ØÙc\\13þÚÌ+\16Pf\r÷í(Cm¡K\v\1c[Iø\9aþ\ fQ©´¤{©Þö]\19¥\8bÀ\9aËeø\8bNðRéx+é\7fÔgýI\99_Ý`¨#@Û0ëÐ\13¶1Y3;`On=PFYNeÜ\1a\9bù̾\11õ\14ÇeÜ\8a\961v\e\ 3/\862x\13\99WÒ7¢\14Éa\8a\ 2\8c\9c\b;®FÄ\bòNk»4/ga±zô|CBùÌ¿xÏüæ_\14ðg\1d\97xn2±\r\1e5->1ýPÊc²ïNëã²ýóºøì¾;[&8Ml\98ù\a\93\17\v\v\v\80m\86ÐËä\9e\ 1ÊÆ¯\9fÊ<\ 3Çeü\a\80xì¾YÝ|v]ñàÎ;/\98N\ erm*gÑÌú\96ïw¼\ 1\17\v\85(m%ù§\83\10>qàÎ;/á<\19ÇeüG\80xì¿\8cî     µkѳ&|\ 3ðnÜUëÑ\94z\9c\7f\9d\9dÐýà+\16/ï÷\86Ó\94Úi\r\ 4¦ì    ùçÕ¼´\12\9aËè1µÿ\8aÊ¿\82;r\93y¬¾\92õLãl5þEè\8d\81\8aËÂj¸üþ~ç\7f¿ß\98\99\1cÿG#b\ 4i\7f\80\82å\80f.Ã_\r\9a#f²úlÂù¬¸+Õã\8d±[ê2ëÍØkü¬ºóYx\8bïcêqY\7f2ô{¡\8aËÅ:TßÒt\ eLUôêO·_ê³&sv\1aýi±m\99ãþ\86f.k/¯6-²Ëì2ëÍeÂ\9b\1cYeöfRûrÍ0<f¥Ô´ÂÂá\1f\99\833v }¶`ÌÖ_ÎzI®7\98¬¼vt\ f\9aËú\19\95ù»\108|\8d©\11²i\88ÌEk+¸iD\1d±jûnó\17bQ\7fÎfe|ã,®¦2ñ\99\98à´\96\984\93\19Z\92\9cÌÜ­\9c\1cÜÜ­\9c\1e\82l/e\96\9afVÔEÑÍeg\ 5W\8dFö²½#ÀYÑÎýXñ¨ÞÔ\19Zd\ 3èÙÊä²ËѽÐ2Ë¥xÔ\8dµ\11kf88låuÏ\1aØÂÂe\96½\98\8bÎL\94\9d4È_ѲËҲˠzÓ-\83.\ f\1adºéæ8-l\8düfYp§Úeé¦À6b-\8cÇ\ 5¨ãe2\ 1´ËÓÍ\80l¸=DÇ\ 5¨ã¨\99\0ÚeêfÍ».\ fU7@ör½L̯Ùe\97«f\ 1Í\9f\9b9\90\r¦]S,¾Ì̯ã´àÌÑGäMpYÁ´\98àµ\0ï\1e\e\8bHÇý×¼C\9d¼ä\7fmW\88»n\ f\17\8d\87ÆâðOÄ\87nWe\9fÊs}\16\1fEÍå\ fµÕÝ1\1c]@\81*V\1aóu÷\18eÃÃ\95*\ 4\ 5ÈÞî¿4z_îfî:!²ÍMÜ\8b¹>á\92\1fErÛ±Ý\95\96\1e\1d\95\92äîg`»*.\áá¹r\8fös\14øå\ 5¿û¹\1cyÄp?üù\1dyÄs<ã\ f\9fûøðoø\91Åã\8b\96¯í¬»k>Ú×¶¸í®»kÃqâã\8eûßöünÝ\ eá\1eá×qIÜ{¾\bþç}DxßQ     øçú\1fV÷îÏwUu?ÃèüÍoÙû]®G³¨ÈÁâæ\10ãoó\1eç\1cÿÕÙ¾ø\9d®cÿå\85\1d~î{ßã¡öy\8fü\91Çù\8fü\16\15þRå\8b\7f\a)ïqÐã¥2]eOÇCÝe}Þ:\1c'\9dPð(ß³oËð(ï¶j\×UĶÍ*â\9f+\8e\87ͯ pW\1fö£~|î9ÿ\9a?I¨nêg\1cÿ\97ÉãqÏóxçv\8a\1a\93\19ìöXäl\rö_/\95Çì\91Ã\82çu\96_\89%¾ËÏeX(q\1a(PtøÄj¾9@ι\1a\8fÈã¼Ø~û¼«\ fß|ë\19ûa7ð\ e\94\9eQ¯¨lÍ\90T\\v;¨Ú·C ½ñ9i²gCws'ÿ\ e_Vé{X\16ñWá×\8e\9b\81³ÕYVx\98\18\ 4Û\7fBÓn[ô¶Ñ\19Ú\ 6hZ\9c¢\89¡\8bIÃJàéÄ\98P«À¢7\1d\9cÛjÙ\98MÝP.ª&\92Â#òx³8ê\fE\87[\1f¸?\85*g³|\1f\95\9b\8e¥a\ 5\19\ry\8cDïb,nñÛÓ\ e
+\ e\8c\8f¿\10A\ 1î.÷\18È\97­·óÑ»ñ\1d\8f\vA.\814"YÕé\8b\1c*«5(»\91ÙRåÅE=\8aNÍy\82-\$ë\1co^"Ð\19'¿Ô»öÿÇòè\r×UUG\e·  o\ fØ´¥s\11nÝ¡\16ï4\84Þ=\13aäÛf\v;moèE?kD\8bº7\89v\f\1c£Xü×$\8c\ 3\1czPì\11ÄëÍá*ù\95øï!á\89>÷Zàýp¬ÉÿG\8a\9aÐ\18ÙDx£L\94il\11½q¥¨é=\8c\1cÔ[ê \95ÇüQ×\8fþô]Ô<\ 6Çëw\80\8e£,»ø\8fÁw©HY_:½ÃC¨tEP=÷x\9f.[8Õ¥©Ñw¾'|6~ÌVióÛs[Õ\88´9j\ eø}±"õ§yú.ö{ê\9fÀ\90·däé\10!B-7\92ÙÑ\92ÃPÝÃÿqoù_m¼ \9bgsÛ\14\9bÞ\e¯bOìRÈ%x\86ѳ^\ 5ðè#Kó\85çë§|\90¶Ô\e\1d\8aïSwí#mð\f\9b\80´fMÏ\¡íqZÄå
+%\0ê½Ú\94¥äðfN\16\v|_        Ló8D¸;\1fo_ä\94\99\9bDã\Ý\b\1e,Ip\\19\17Ss   m2\98\ 2ë3RÚQ\eÄXò\97Õ\\\1a\93ø\1aÃ2äpp\12Ú;\19\9e\aU\86Â%ıÂ9A¼¸£åÙÈÜÅ:/¢ï7ô]ç¬Bö£Kð¶§¾·^\1cj.çu\e!\7f\17o\80\89\95æ¿cá/y8>4\1c\9dó\89þ]ü\13ú_¡\92J^eÃ\18©/L¡\93\87ÉMÚ\9a\81ábö\bá ±+©\17E\82\9f¡\92n{EóH ×ï\9ek[Ø´Í»¢ïwfFÜ®é±Ñ¸\É\a
+RÞtÙ\9aa;+\f\9aáû¼\ f\8a\87¹·æè»Éú.ó0T\bôa]jDÛQTù\17\8bÝ~\ 6Gb|        uHÆ\97]j\10\vZ]u\99¼.¼±t\88:\88nTÔU:2\1aZ\9aì«v0\9d\99\19Cá#µ?\18ªåE\19\17ëK\riYYH¹\bl\9c»\a8\9b´ô[ùYb£«\13$~3\1a¹\1e\19¬­\9aú\en\1f¤n$SPç\87ÀcÃkuòX\9a\18n\8fÄÛ\1eésë­TÄñ\vQçf![\98!0è»\91\7f\ 4Ño\9c/Å/^®\8b6Á: \8dtÍE\ 1à\94\0\10\90V1ì®(ýsNºÕ-¿¢\89:±2\7f\8c^\\ 3\11\9d)~\11Q\88\9eO~Ŷ)\8e\12Ú ~yQÀu\r\83ibhâ<E:Õ:ÄÝ\84rò¾Iµì7X42á¹)ι\9eÄÝÞ\94¨Ýß·\bM,'\83a\9b\16­\93¨\86è´\vs\19\9bcÙ«âàtÇêú¼\94\99æeBÈõt\93\ 4\9c©SS\1eú©Ù\8a@Ù~®%i©±ø¦ëµÑt^Ö¯á)¢ÓæÔÕó¢¥EÒ
+§Ù5ÐItÊ\15\eÆU¯BÒ°ýv¯!\8c@ÍMê\8aìQЯ#ÃÇ?Æ9pQ¬Éb\96óR\98¼ésÖ\9eo\ 2\âªG\fÕHuý\b2·j\99!³Ø)n\ 1F\9d\92ÉMê,xÅ%\1f:ݬßÏÉ5\9b\84\84ÃÛ£î\94\9b~\9aä\1e:êåépo\r\ 339OÁÆ÷\93_[\9c_·j\18¥©µ\9aR\11Ìä,>¢ý»ðW\rµú(M-@.\rA<]ÖB¶¥(lß7u\99û\8cÛ7Íùz\95Áî|pè/¡yt¹lt.»ã\99\1dWöôå´ÐÇúæF\16\11Ç\17\1f\1eÄȪ\0£¶1ôGËà±\8fÝ\9f\1e\ 3\18ÿtÉ\ 4\82¢\8ccëO\9fªÆ?ù\8f\97ç\18Çó\ f\8eôðºù+!ܺ\8d\r¨»Å9ãd·ªY3\ f\9e\94>¼j\1f(èÝb\1f~ʱøÜ\19|\99Ý2¬|\17\1f\14̽Óc²¯\7fþ7\1fà^ù¯§\9c\9c¥ÌË®\90È\96c\88\1ag\8cèÁç×IC:\1f\få\1c~Ö|´Q\16\8aQ\ 5u8#g¶r*Ï\15×Ö3ÅuÚ\8e+¯Zß÷\14\96yîAIgþ\13\94\96\7fÃÿR\92ÍÞE\9e*.ßÞ),ð\9a)"t^ñIg¼k)mý%%\9féë ïcKË\8b65\8b/ÍJ_\18xAV\1e!¨Eî\9a|³«\98\8dÑÕÌÛÍÆð'SpTceú©ö|Cgµ²\96k]½\8c.\15·u/|É\15=\96å\93\ f_Óß+Ó\16\84ê       ')|8\92ø)Ëôð\ad\v¾¯£P \ 1\17\8b\81«÷<>yÉ)\ 4úf.V\8c¿\8d¼ÒåB=ªéÜ\869\9eùæ\8b\98ß\1a$½ÊRü´\81\1e\19\1f8é    \99­\9ec¸ò4ªóü\94g¼c¾
+\82\8fÞy¢\8fÞy¢\8fÞ{ÿ|[Yô¯]U¼wú\9cîì [É\7fÔo\16ùG    ßAãà\eßú%ô:9Üi\1e\9býIý§ÿ"\9c\8fþÊîÇ\8b¾ÙZ\85JþMsÚñ¸³Ë(òØâüÍÓçòGéóó\8a<ùÝ9^o\16\8f\95n\86\87ßê9`£ï\16V\87ØMWA0ù\8b'\vÈ®¦gíÇ\17ïîñ{ü®§\17û:\8bÜ÷¾¼¨ìqLÿȹG\1eÇIguþ¾,=æç¡nó»\94åç\9d\9etóîéèÞm´ô\8f<Üöeç\85+6óíJè\1en3´Ï6ùÝ\eÏ\ f:«Ï\e¡Ò<Úʬyåç\96y¾ÏIyâg´¯?\9bOZó½Ó×<ïôõï?\ 6\9fLóÊÓô¯7z{\a\9e\ e{NóÀÏ|g\9fs=Ó<¿\95bóu*ÉæòWNóíÊê\1ew\92µ\ f;é]KÏ#;Õ<òsº\97\9e.w«y÷ó¶o<|î©çÞÎüw\9büïÈyægm\1eos·\8f?\ fÃëÞm3½ÓÎo¦Ú¼uÑ}Ç\9cæ³ró+£ú9­\1e\8f¯ÍRtÝ\86k¢è¶Y®i\9e\ eË©_ÄHýÒãír¸ÃºÊû\9cZ¾«×ü^&ç¸òò¿?ÎB\7fáDð»ì÷K«Ý{\17\9f9O±¨öÿ\93èK뻹Þ\1f÷ÿ»æ\87\9c®\8cwN¼\8eÃäÅìcø79\v\19Ú
+\8eÂGd·\96P¿Ð</ìrõÞwÒ\8f)O\9d+\9fçz¿\9aÿ#\96ð7\1a/ßþRoügoô~\9d?×îþ\95'ØÝýNÇÊÚu\9e\7fñh~½oi¹§ó©û¿\99ÆôÿË/?Úx\1aý3ùì\ eÊ\ fóq¼\9b\9dí\8f³Ûÿ\7fÍmÿuqãÛv{¾ÏÇìü~Ó\7fÚp{L\ eÓ\8bÚ~äÒÏC/ZcÁ\8f\19?õûwýR¼ÿ       \b\9f\99Ù}<¥\85\979æä`ÿ\ 5"\1ci_«Áa~\9e÷Ù¸N\93ÿ½\15¿ÜL\9cñÑ\13ø?íR;¸4\9füR;¼\1eax\7fGï)\1dßà_ægàû\9f3~/\88yø<ËCý\7f78Ýf\1d\16Of¸ç9çØ¿ÀìG\82­£[s.\ eYri@ QÊË%\13\ 35D~ìñ.{Ù(yÖå\98J(FL3·Ì\1a\80\12×J²Nö\8f\90j\0l6Ýh-        þÙ4àø36ÓÎÿ\84ï.»Ûøã\7f\e+\16^þ>ÃɹË\8d\8bslØäÅÕc\99\15Ôå`\8bÌFøa¥â\92úG«ô3\ 4eÂtd º¬¤\97Ò8ÀÕe\97ðÍ\85\8eaê/à\8aí$N¬\14\11\1fx\91¯\85Æby±eøñ/(\13nk\95q       Omë¥\85æ\93\b\97Þ @»ÛÊ\ 36\1d_=ð¼ÛÊ\0L\96¥|¦l|R¯¼\94¯\1d7tló\86\eüâÇ\ 6.\eï&Z\83â·É\168Ú´ÉòrG~öHûll\9a«8<6Nß$Y"\1c¯   ª\882¿Es\89'y~±»-\10K¦k¾\13\85ê©%Ã{z\96n_§wù\1c[Ðan\11·\9eÂÜ:\eCµN×$\14\ 3y\89\ 5ÀR\f¯gÅ^Ù»\vvß75\1f6Ç2ò\11ÂhZ\93-Òþ\1f¢\ 6W½6\88\86A\ e]nY\95s.9EÕ\97e\ 5ý/Ì@m6Ø~[w0p\818VAumÐÝwæñ¦L-\10>{`w!мêy®EÇ{\7fv2V̧\9fî1&$\7f\9aÌ|Z¸äÛ¹¹·h&ø®}XÒý4»ÖØ\1e1\92tîÝÄI}P'H\rÄ¥¥ìßâ\19\9aþ\8b±\1e ÙÜ\99[\fSÈn\17ðI)S\9c\8dz/%¤Ëé´\15\18*ûH\8aZî=BPÖ·È_i2G!LzÙ¤\7fî\90Ý\ 1\9a¯9ºÈÄJLc\\8f­Y\89\81|®-®\85Ý\9eü4NS¡TÀS\12îñ\ 6\92¸\1c\11¡E§\85ïˤ;Ú­\16¿é\9aõép\97\7fhµýQ¼\12\83ñÓY96ÏG\86\15\8bZ-~fxö\8aP\96Æý}\12"^=ÁDh\8b÷\85úéh·ÖÿÑÃ\aÛt»û¾\vp\82\87:ºú-\85Ù\90ÚK|\95ß àÌVT[\vS1obsÞ3\f=1\98oÒ»àºa\88v:¨\9b\1c0D#èW»R÷j^Ã2Bzç/RÎ\ 66 N\98 Küx\124ÑÈD,\1a\b\9a-í¼ôBqõ\ 5\99À]Dz\ e=a\9cs\\13\1c\ 3Þ7L¹ê÷L[Û\ 6»oô\rÎç²\8a¡v\10      ðJ]S\88·Ëd\93¼}\83\92I¾ALC!
+i<~¶\16þñºòVt»êþ©+¿ÈM\92¸4[
+ãv\83\9dêW~yä­J-\82fbßDç¼¶\18Mz5\eÛ¿<òRªè]Øy)ø\85§3\12S\ 4\`O½\85\9b\fe\ e\a\86ùØ×Ý*òT\10\13éú+öd«{o\94\12_\92\v\15ͯÏ\1eï%\1d\84\19e\9f'5\\17\ 6W*ék\ 4§{¢×Ñ\1aÕö·¶ÎeÃTÏ\19d4\ 3\9d/6\1a\93eF~\89©Q×ÿÂTx}¨¶\80\vø\8f±\ 4\94äT»Ö½*\aÓ\97\84\95ß Á±à!ní9|D®ÿ",cºN_       +¿IÕ´\ 3\v\9eݹÊ\1eðm\ 6§âú_{ü»JÞÿÔe\1a"\83|.\1eø\9f\13\11´@\85°>§5nÌ­ª~\1a\97µG£^©ì¸uæÐüK\8dPû9\7fxÝ0?q@Ò°Þ.Ø       óD\1al\9aªpL·\82øüÉwíw¸\\9d\15^H\8d\90$U\ 4Þ¥I\13a\85nøµ§\89¢â[ô14\+|ä@@\12\1fG3¢Ø\16>\8ef%1MqÇ¥A=íQ­?£ZYÉæá)\93p\97"n\a\82×uèDåMðÊ\8bSÎN¨tt?«T<\19õÜòÑ\19\8b«ÇrÔ\9aM\91x\vÝ|\9eíϹ&ì7ýc·\9aLñtY\19ø\93b\9bB\93\95ó\11ð\99k&:8®q¾\14ÿô¹ÙÅæ\17\87,ª­äPØuR\16¾ª³À\v\16\97\a
+ý½³°\95V_\ 4k\1d-k\83w\81Ôúñ,´\97p\8S\12\1dÁd®-òiký\81Uµû«jÑ\98i\az\1e\8d.îé{¸Ré/£m³dâB½OçfÍÓ9Ä­\19Â&XçE\8d\11.ßS'1TÐs\91\e|\82xîØµ?õ\19è=V^âº\9fû\97!\ 6ì]\v\92éó\ 4/¯_Cðõ\9f&=ö«7\1eúË6\10\12¤!î«Ì\9aþ)µ×U£©~\y~ÃIGí^/VC\b_ið´üä\85
+\9a\17\19»z&V\1eº>\8aÅݵÉ\89\0\16¿Ã7D\94ܸ2\ 6\è³ÝgÒ\97!Ãí²\97Õ¹+ÆçØÛ\9f1\17\90m\8d½øcü6ÜáP\8425\99ÈÎG:³\91âQL*9Y0\14æ\13ªñ¥äWJ\ 1ó¤\ 5ît a\9b]Þbî¡Ç\1cпä\98¡\a\19^z\80êñ\1cl«zYRê\fGw\rÇ\e\86o\10{­wË\r\7f,©Cca*,µ\1dÄ\7fék´"·±ß\eý½£kduÚ\11[í¾A-\8eäÍ*Ñw\98      Q'ê\19\137"\vO[\1d\1aÇoÏn>³kl\8dß\9f\86\95ê\94\8c±7¶ç.üÿÐf/\89ê[s\11\8ch\ 6,{Ò,Þà\ 4<$\97"\91#\107%\97î\87\85Ï\a\ 2㸷Vî>³«n\90\128\93ãÃ\fÌ\8aBÉÆBMA\87Ùi\84²r`üÄÀ\1e.dßPa´\9cÙ0²\ 6]±¾Ù*\87\aØdùCÃß´\ 3ì0\ eLË]\0F\1a-\801Y án\9b\83Ev\eØ×º\8añs\0¿       ;Û%ëåܳF{¹µ¡þ\ 5õx,ìÐó\12\8b^t\17\95\87\0\9cK#!Æ\86dÊAtg tÀ°{    ¯D¡î/\81\8f¨ôU\13¹j¨\9ew\16¨\9d忬k¹\0Å\84\90X\84\99¿Ý       (\8a\12\rª\13Ý>ѶªçÉÌ*×\88!#pà\a[T»¬!\96ë"he¯ÿ|2\1a|`ó\86\86aÜzh\ 3\93\10\ 4ûda\92\ 1\95ì\1cQñdbúò´ªm\90jÇo¤#\81ê\1eøwbdZèÒØ¤\89S(Õ;§:­\1dƾ\8bg\1c\18\84Ͱhc_AãGЫ\0]ìѯX{\89\8fâ\9có\ 3Ó\1dÅ;ÄSk\97hÅ*2JMËÛàð=ä#sz
+·;Wø\91\ 2·a\98\9bÒ¾ÿ8Ü\9c       F\85oÏ©¢ó1RÊäÒs±=¥l\19\12\eý|LL\e\bá\11\ f4@\92\J_\91mS\81£Ä2=ÌüÙ»\8b\91Â\ 5m©/ê\1añeeï\fâ\1eßÞö\17\8c(à¦\a\98\b&ÛÓdx3Ø\1eÁ®\9f7~Ó\89\eEüå\15\95n³ä\12\9a[ÌdÓ+\98\8d¥¦Lì`¿,KÚfdõ\0O\9a«Õûâq\95ÿÍKÞäý\1d\8fç\9c£Ð\9e\7fë\1d'\88«É\8bë º¼W_iQ=èÙK\9eù&úg<1l\83\19ÉÄ-©¼TJ\9f§=OT°\94\18þ.ÔÅ zåP½\89\8a\7f¥.ü*?\ 5\8d\82\15I\95Ò\80¦\86\e\92ö4\85\85l¥ô;bÃv§\7fX²nÕ\93Xìn{\84Ö\1fp½ªÊ´ª­À¦\17\16>»}s\87\1aú\9f¸7p\8bÛä\8fÝ$Ù¶Ås'Ýj©_â6g.¤«\91\e\bû7\a,jLýÍu\8dx\98î9n[¦\¶ã(*¦Lå\85kq¿ÝA£9\1fÎ!m[¥î\17þ{Bw'\1aé\ f3n\ 5ÆïþrgÍLP7û\1aA\1cä¥{ðEÞÐ\14FÝAp»¥HQF\rå\9a\90ÉsÞ\91ãS;\11¦dûù\ 5åV/Ü\93\15)\15nÝ»]Y\12\rnT¬ÄJO\0\9a]¥º\87HÝwsÁæ\10Aµí\9eewØÊîËSH¦ê¤Þ\ fIØØ8(\ 4.:v¥ÛPYÝü\10\99H&ÞQVt\137\83eñ·ë}bÝ\85\17\8d\ 3Gw\13\99\ 2Ìò\9a\ 4»<\ 6v¦èÊüÉ2\ 4ç7HW\94\93\9b\ 5\98\15\9c^\ 5\r
+¼6øð(2m\e´«/¿¦\ 3g&@1|\9e§\80yÃÀ<ãj÷\18\108\8dl\87®Dý;eC]\1aú×âÿÐÑgÈ·÷úD\1f\98Ûßé\10}ÃoÛÒ úÖ\8d\1c}cF\8e\83G\1fý\9dÉ\ f\97òOÅ\91&$g|\9f\13)ü®Ú¾nÛ¦äv¬¾OmÓ¡C3%ÏííÍ|\U\1a\9fZÜÞ×Fù¤ùaþ¾\8f\a\8a\9cðøê\80¿ò°,ï=_KÊÊ\8eÌÞ\13\94þv<ï\bo\7fþIõv<¾\87ÎñM:dçç\91 ¹mþN%_Ïõ´.yëùÿ\eÑû\rà£Õ!Æã \8746~½s\1eÍqd-¦N"º¯ñuRzËHæ¸à¥ª$\84"\19k\96\e\9d5ÙýV\93¸ÑÂã\vR\9e\16¥o8Ã;vÎ\117A-á\9b\85<m\90¡1í)Û]\ f\0\82è6ö\9cãx¥\9bÿ×äÏ\1dÖ\83ý½ \ fõþÑ\93\86¢±$À5%\9eì\9d¶ìúåÕ\ fkÇÃ_Æ\f\0ço9¤\95\8b\ eàÇ\ 5×ì\97~\ e\eeÔ]@ãn~Ø\14\8e@ëþú\8b\83'^Hûߨð\19\81\83\848°G\fZ\85
+\ e\a\86YfÎ'Á9æQÏ\9a\8f\ e¢§GýPÞo^¦\9bÌ8s\1d:\1cÑ·\ 5ºrs<¹°ï§Õ6A¯ {ö\17JÖIzÚ\82ê\81Å\86»&0ù\85`=QÝ\1ay%`W©\93Ùó;+4-~n´\99\13rn\93]ª@aìþ\ eÊͳ\fã¤ï!Öê\82¨k\99¯3²³ nË`å\85\89±ÔÆÌ\83M\98\88\ 6ÊEÛ(ɱÂí\880õ8Ù|t\0\eX]G\85W^\83\90\94\8bæ\ 5\86º\17Zf%aÅ¥D\80ø\ 1ø\ 50\ 58\ 6|\ 3@\ 1\ 1\19\11¡Õ#ÒÅV"0êã¤\8c4¢Õ\80*@\8e\99\ 14\83D$aÂ\r\10\83D Ñ\b\9a*\14Y0Û\r\18pÃl0Û\f6Ã>lX)\86\84ÃBfÆ&\88ÊÉ¥F5)4\10\15 \13DjS´>F3àÐø4>\r\ f\8eÐý\18ÏÃCðÐü4?\10\ 5\90+\95EJ\98äÐ\ 1\1e*qQK¥\8c\92)iS«F=ZqÑ\8a\9cHh¬´DÑU(rQX´GE"iF(\ 4a\8d\158ÚdU\8f%R\ 1=
\85\1cc\10\16\fk\ 6\e\18Î{Ð
+P\aÀ\ fÀ)\80)À3à\1a\ 4T\8b¥\84\8cm,%\91V6\9aJ1\13\87R\8aÉÔi\88\12J\b'X©\ 2\1ca\82lh\88ÔC}\18\80ü\ 1jdKVØè¨¬\95\80\12F$t\96F¶¥*´V«¨¨Fª\12¥\18\16 iV\85      \18\95²IÊÓB\88\8cI1¡¢T\90V£%R\92²\ 5X\ 40\bä\bc\ 61\81XïI
+®J:H\90¤¢¨ÁNµb\8dñ*j\11«[L³¨UqÞ£
+B²Q\8d"<\94dB\93V\8c\84¡&\8c\88\80\11\88   ÔB\92êB«*ê2R*QÒ¤"\8e\95U\89Ê\88RØþ°°RZ\94\ 1ú5ÕJÇ \14\15®ªZ\9d\15*ôµ\856R\16Eh\90Ë'«¨\8e\1e:Ø.  èN\v\85\95­UÒµj×:Ò¬@Q2\ 2É(¨\ 5B+V«P\8e\96°\ 2:µÈ­\1cÍ\11Ì
+\84U®-\b\88\10\80!\80&\ 1\10\0͵ 
+\0E\0é\0*\80#\0G\0\90\ 1V\0¨\ 6\90\ 2°\ 1`  \1aR\ 2Õ \15À\15à\1a`\ e\94\ 1è\ 5(\ 3à\aà\14À\14èÕV-Z¢%&e5ue$\8a½P\9e\ fb\94\ 2|\ 1\12¤¤UõAhÓRRü\9c\92uJid£¥|ö\95\1d--)\80ø\ 1ø\ 1;P\1e\94¨¤µB5êÖU¢X\10\91\8f
+MxÒF°´7\8d\11\1aÅ^\80R\80>\0~\ 1L\ 1NR:ô´dV\94\ 1ð\ 3ð
+`
+p\aµ¥)T \ f\80\1f\80S\0S\80=I!\9d¤3´\86v\90ÎÒ\19Ù\ 1ìb\90êP\aÀ\ fÀ)\80\1eÆ¥\r´¡¶\94\86ÚPÚ@{\10AP\aÀ\ fÀ)\80\1e\96\88ÊÒ\80>\0~\ 1L\ 1N\0ö ¢µ(\ 3à\aà\14À\14à\ fd\16\81´ \ f\80\1f\80S\0S\80=\86\aÀ\ fÀ)\80\1e\95  ÄÛ$6É\r²Cl\90Ú@z©h±J\0ø\ 1ø\ 50\ 58\ 3Õ\83î\0ø\ 1ø\ 50\ 58\ 3Õ¤\ 6Ù\ 1¶@m\90\ed\ 6Ù\ 1´L(\ 3à\aà\14À\14à\ fKV2}ã\87Þ8}ã\87Þ8}È
+*ô\ 2\94\ 1ð\ 3ð
+`\ 2¨}ì\90ì\80>\0~\ 1L\ 1N@N<T\88\ 59i¤Sd\9c\10´¢)ÚI`\ 1\9e\9b\ 44\rAÒ­U\18«\16w&²9Q«"®A`\90$W\95\0jì¬F\1d4I\ 4\aé\95\eå¦Éij¡P¦´$déJ\97  +I\88\8c"¥Ù\12 \eJ\0\98ÌJ\88ªò\9bÊÒn \16
+ÔåN,5\8a\92¨\92\ 5     1!Ó"¡e\ 3\e>\1a      è\8eUs\96¨F\ 1E\15\94\8e\8cJøi\8ci(ì\8a(\94,\89\16¬
\f\80õè\ 5(\ 3à\aà\14À\14à\19ð\ 2§¢IRi\1dZؤâ\96º\94Å®ul\1ey0\17Ö\17R+V\93\8b]"\99\80ÄéhñJz+
+\96\ 2\ 5*0«
+\9bù1\8a\ 5E©*\17ã\15\8a\eÄu \0«\8b\8céS\ 2\ 3ÔÝÆ\8a\8a\83hU©FvQj FJ\84jdÔ=\80@}\0µð\8e"Õ(\ 3à\ 2{U\8fPîBe\1aKÿJì\80ø\ 1ø\ 50\ 5;¸R4±Ñ\844` \13¼4e ,T%F\84î,"\9a(ª¤@\93[P\0U\87*Y\14XQ\80\vAø«\fjgº\14\80gÀ4\0
+Ã,Å8ë#\16 ¨|R¶\19T\97^P\18\80ø\ 1ø\ 50\ 58\ 6|\ 3@\ 1\ 1ÝIIb5KV½v@¥EGÐÞ\80\e\ 5ð\ 3÷D
+h7D\1ax.È9ø.ì.£¥\163l\9a\19\1a\ 6ö\1açFÄ\8f\15:ôc¦U¦ØuÎÆ Ãl\83¨I\16\94h"BM\14 Ï)U"­\e\v¨\91êÖmAÖ\e>6\1c1\9fC>}\rÀÅ\86\r:pÊ,\10)K>\83\S\8cÚ\14i*6®®JChE:Í«£U\8c\12\ 5rD\ 5©ª*[# µ\eË>uBõ
+\1aT(_!Bý
+\1ad(iСϡC B\86\ 2\14:\14(RB\86\12\140СM
+\18\88PÔ!GLY½c{[;+Z\14:»]WSÙæ¿\83©C[eAD<,u\aS§C¨Õõ\1d^¢×QÕüË*\a\16ZΧµêì.ªêd-\8b¤OÅ\f.ªêKNb\ 5(\ 3à\aà\14À\14à\19ð\r\0\ 4\0\r    \ 2\95éHñG*V$xØd\ 2Ô\ e\93bÅ6M¨;¦Ö\1aì\99°\8bþ\19\95\8f     "\99'\14\17V\1aî|Ø\80Ê\98n±kÄÙ\bîPmR¬Hm\87¹ÿ\f\92Ðâ¬Ù     û\vª\95këË3\9e èì5Ý\ 1±\10R~¥W¡\ e\9fÐÈTªû@Y«è\ 1=>\89Ël\83hjÄ\90Ù   ë\v¨µv2K9F\81Õ\86»4lD\ fãjµÔ\92¬\ 4§Âoñ²äÛdÝ#@\89CSb\16L!­d:ÈH9\1e\ 5;2hA°×C\9e\f\1cÂ\ 3ÅîõÐOS\ 6íÔ*@Û¡<B\b\8d\r\92A±jH\9be\8c\bð\93l\97J\91\ 3C M²\14\ 4ý&Ø«|\0~\ 1L\9bdlV{c\96\9f6ô>Ï/²\e\8dý\8eY\17\að²\1eX´ÆÅ\9f\16\84êX´æÅÈÐdGµ\828ur\10F\1c\9d2¨"\9aÅ\1fJ\96i)Ð7u¡\1e\16
+,.òcÂÁX4\14JSÍ\89JÞf#ì\84ÌGî\r\88o\f\1còVmóM-\0\1aÑ,\88\0\f\1d\0ÁÐlú\ 1¹~7Fè\1cP,\83\18\r¶t\7fDRÔ)s\93X\92¦\81\9cÞÏ\9c\e\99å ýu\aGAѯ\95Éc4\92ÛµB\8f,\eKM\81¢M®¨h\95G\e1c\\95Sm\9aY\10õr\9d\8a>¸xYÎZ\15\8a°â½\89^­+lv\aÓ\98\1fÎ`¦l¼\ 5ôX\81Þ\8aï\8b\8fî|}&\1f\1fI¶Î\1cÿa²\14íéóÓÌeQ\95\87c\12\1d\8d\89\12×õ3\8cËgð\ 5Fö­´ùç\fdUc\94²&¾»Oûá\88°lh.¹.\12µÚUKD|\87j\83¨/lKX
+8\7f\ 2Ä«ÜBÃ\9d êvq'æ:B5¨¬5¶\7f\13\1d\90xV¹Å\7f\18d\9d%(r2S9ó\9eWܧ\95ñ:\ f§gæd\9d\87\95÷-å\7fÊy_\93 þv~fIÓ§Èy_òÞZnSËLN\80Õ\ 4\1dë\86\8e7\eÿ}ñ9¤æý\84î\9d+\12Z\9bKQi¶Û}\eæN\13ºµ\88ß='0\92JÒN\96p­ÖÙ\ 1\92ZN½O¥s*ç9´\88QêÙÑ7_I+ä[¢\81`£4\ 3à\90\aàc\87
+ £\80ä\ 5\80_+áh\92\81\0¶x(\82\1cÅðÎðÞß¿ýöa'unêO·«¢Ø$ p^\e|TO\ 5\14\b/\96\87åïÉ{O¿z7\erkwï{Lß¿ ¦þ
+8T«òÏ(\8eó\90j`á\ 6\95\ 2sÙô­Ù¥b©¶\17Í9ùdÜFsé3(Ð\10bfù\86\1e1\9fº`úZÔ9\8d\ 3\98Ð#¾.ö\16è¶Üþ\ 2LÓÚ\86áF·kê({¿\96\0\9a\ 6ü­à#/\80\8cÇ\99ùÛ¨êòضñ\86\19o\18k¶À3J\9bÆ'ïÜN£V\8dzl\91x\96ÏQ\×\ 2Æç4"­¯µR\1d
+ÒG©à/â[nÌÒ;Ê\1aºàîåB\83u$\9f\ eÞ¥kdw8Y\84éü¶qe¡Aû)?5\95åì®òöWy{+ó¯e<½c¼½c¼½có¯Xy{/¼½\97Þ^ËüëÙo/fw\97³;ËÙ\9f\9d{2ÖÏ\81Bmi*Û¥M¨\93~X\8b+o\9fM£ïû^Ä\98ð\8a\9b\14­ë\11qØ¥ZÙæ\1eÄÆõ\88øíÅca69{ö88ìrÓc\99¿cS\1d\8ee¯Ùçf\r WÏ·f­u]ú\83zçs;?\10òE\8f$S\80\v\87Ð\90       s\aMo\8cÞÕÁñ8¹\81i9K\9aÜÖd«\84)G\vÈ\8a\80\988_Í\11\ 1K8N¤)\87\vã2¶æÔC\0\88W6¤¤\87(\ 6ÂC`\a-!Ë\ 1ÌHs\ e\86®Þ©ÐÞôeØ8U\15w\94<º8#ñ bøagÅð¾Ê>\19\7f1ü5ð\1aÛ6,\9eû÷r\8f¡«l×És\xa\95·djØ*`Ù\a©ºæè¯5J3ì×Ét×ïk\98\ví»\15!\18è/µ\a«{]bA8\97\10\f\92\1a\1eѳ½\93dôî\ e½q|\9a-U\9aL\ 6]~YÑVr_;{«®;cø$:5\1c\8b¥Ú\84{\ 5\ 5\95<\85>\19¢kõ\80\ 5\14;\99\1f\f\r`3@A\18½$\8a¦\13ò\1e>\8bû±ïzë\13IâQ\858\ 5\vù­\9dÏYÕ~\1ds|Ø\f®×\92ï\8b{¤tÛ±¾\ eÉÉûhT`X¾\v¹h!÷¯zå\ 3ø\aüÆ_\9aÙÜÌ\97U\ 6WÀWr@\19Ø\r\ 1\97Éy\98IzX\a\88\97Ê:ÖÊÎøiUeî*\8c³¹XÕ&ÉÀe\17ú\83Ãpg:CÎäîmýqáÃs¤<âIÜã\0\v\0;\eü?¸\8d¸­l÷õõ¬NÃ\8e\98\83\1cZÑá@7(ÊZÙËn¥|G2­léC\1e\15Ü$b¯©\90<-äpxf®Zð}?OÊSs;sÙ«èmí»à#?\9bç\a\87\97\ 5ê×\8bóÞp\µ³;\90Í\8aZÉXò\7f \85_\8eÍ&õ\95WYºL\9f\e#Î'\80\ 6¿\8fCZ\9bJªÕ=iQIû£Î@o8\b\bÐ=¤\a\80\ 6{M\84Úl=iÐ\16\9b\ 2Óa6\9b\ 2Ó`ö\9aO¤ä¦Ó0Û`@F\92RrBN\92ü¹ÔëPUZ\15©Î\8f\95\ 4\a\9eÜyí°\ 2kÏXû±ê*®¥:ôc²e£ÄP¤7\89\16µYRHq\r\0¥xHª\1f\e&æ<.R\8b\10ö\9c\9cC\14ã\e\10Ð\aÃEf! \9c\86
+\¬Cd\1cl¼CB\1f\r\10X\86\86q»ä\8d\805\vñY¥[UUuk\1e5¨Szx\0#\8duN=hP#çÅ.ÞÙvÈCtMÑ\8b_§ÒþýÞ\9fP\91e#ÖÚ \16¥?Õö   \16\97«í~§«ìû>M{½\ f¯w§Ñ$y\9b·[=;¿gÕýOëº\1d\98ù°#\8fê±zѾE¿ã¥\8c%k59½ÁçY\93\ÙkÏPíM\f\977°´
+kÜw\93~äOùmííà\8f\1e)\12È\8e\xÿ\89´l\1f±ï\a\9f\ëª\13\9b*ú3¬·g%À%×V\158DSÀ\9cnνÛ\88¿\1c\12ZÙ¥\ etÛ8¶Ú2v·_ôÑ»'\ 6E\ ft\9a[\8e÷þàpî\11Ë\82·.]>\84\9b\96á.à¸}`gS L\ 1È\1e\1cCÜÀ\87¤ù¾f¡ñ0\9cíéÂ\9at\8a\171f³^\99䬽Û\12ôÔ>Á6\bìÏË\9a      ¬·dpßx\f\1f\19m\r\8a\8f\87\1a\81\9fv\9a,O¼æU[l¤\13î·5«\ 4_FÝ:ÔÈï\8bj=½FéÜuqTZ\9d/cõ½²8·óÁ\1c\98­¬\97\16ü0ß\aå@*Ñ<0\1f\f¨¶ªÿ$¿éåòt¿Ç­ìÍíy¿ÇýáÉ\80®8\ 1Ö*\11zy#á\96\82#\9f^ç¿p\8cµ­+߸e\ f[\a­S×-ÚP¯ë\84S\80¨½\0%\8bíáDAüÐ\16\0:m\8bÁ\0>\16×ÊìaðÊ\91Ö\ 3¡\r)Þ7fû÷t\96\8c)p\ e\v๵\94\92á{+\ 5ÅmÎ\9dX\96¶)Nç·\0ÚFíZëÒ\86\ 4\82M/\18\8aW«&\94\ 2@¯VUDÔ\91XH¬$Yi\16ZE\98\91f$\ô\8b\9e\91t\12.\80\14\90éO¬8O1\b¥\9dN{Q\15\9dÏ¡'3O9oæ/½\94\8fÓ©÷ùÇ%'»\9aBÄÃú\15\8fý/t\0#æ&¤\94Køâ~8\85W\1d\8a.?éß`õ\81\1c´~úcå7\1fõ\96\87pÔBmùÑ0öß{\86\8eÑíû\9c\ ekðp\9aí\ etï    £´[~t^\15YÍ{\9c\ ekðp\9aí\r    xM\13(ê¼®\15YÍ{\9c\ ekðp\9aí\1cÖß ¢e\9cÖ^/jPÜ4$§àü\9b\9f\r\95z^M¶l6«¼a\85ÿ|Oãl3&¥g\b)w\91|\17\83\v{pY\93cX\19±¬\8b\85$Ü?ÊÌÄ\&?p¤õº\8cÌEÂbn\f<¡ÿ;:(¸h½paõ\ f\8d\90Î\8a.\1a/\\1e\16YEÁ\97î\ f¨I        \96Qpe7   o(\7f¡¤8m>áË}CþØM!Ã\14»Ç\191EÀûm4\87\11§ÜIo¨¾Hm!Ä\14\8b\8cĨ\96æ\15¤8­>âÌ}Gï*Ò\1cQJ./(üÒ´\87\19§Üi\8f¨îd´\87\18R.9ï(ý\ 2ÏC\8f\1f\1e\89§¡Ç\9eó\8f\9eò\8fì\16z\1cyï¸ùï¨ã-=\ e\9c}\a\94\7f¸Yèqç¾ãè>£þu§¡Ç\9eó\8f ò\8f÷Ë=\ e<÷Ü}\aÔ}¨\93ÐãÏyÇ\92õÇøKA\ e=\aÜy/Ü\7fÉ\16\82\1cqJm\7fë-YUk$?ã\ 1ú   \ fýç\ e¥n Ò\9cË\8b\17\a\0$A¬\ 2̼üëuìY#´ãßG\ 3\ f\ 4}L̨üE"mí\9fF¿Oê\8d¨ªVÓ\9aD\93ïû¤ù?\94\99p\93\9cHë¤\99 a(Î"\90p\94iëï+º\91åwR<¯\9d#ÊùÒ9ÝÔ\8ewm"\82|¾í\9f\97»gÚecÂ3eGYèFCFH}þ0ù;¡\94\86Ì\8f\11ø\ 6CGÂ$\12\e\88\9b/+\1dÇ\95\8eãÊܸò·.9Øî9ɸ¬ó\87\84¿-\ 5ílÏÊ\1c/4x\ e\aé\9fÙ\17å\8f\1d˾:\15²à\1eJ%\8c¦Ò¸#ä\1c\12.ÒÉÀ¾\947ð/B\16Bc\ 2§\84x`\84òG\8e¢Û{xÉPx\91q\12¢"QÉ\1eWa'Iòpw\11»_§\82>\8eB[Ä~\8eù/\1f%      ò\e\8a\90\9eÔs%\1aCqÞ\bðY{[?âp¡:ûÏË éflI\80k\83¥\99ï\80d¯NÄÕODáC"\84r\98,X\95\0ÚïÙ¥\v4ðr\80¢\88¢\92lÌ@6Â9W`2SÔj¢§ ç6hÄ\185Ãâ\99Ë{Å3\9a\9e\ fôKÁrm\81æ]ÚS\ 1\96_2ÛTÛ'Y%\85+ÏPl¼Dø\15òM\vÁ)3z\84û`bÓ±çëbB8K\9bJ8[\9dK\89#\96@}\19Ó\1eg6Ñ}þ\fãßW\93\r\97íë¡\ 3²(¸î_fø\0rÿ=Ë\9ffæÔ.µÃl\ràEÚÙ¤\1c\89ÛÎB8\9fØ\9c\99Ü.Lä93»ÎLî\a&wÒäÎyÉg}É\83ºä³Âä²\87%\9eó\92Ï\ 3\92ÏÒä²ó\92Öû\92¦ë\92×\v\92Ò\1c\96»ÎK\\ eK_K\92ÓÎLý÷'#uÉ\9fÂäÏC\93?¼äÏàrgý.L÷\9c\9a\eîL-×&\87\v\93A\ eM\ eó\93C\81É¡ô¹4\1erhï¹0÷\\9a<.M\1494{ÎM\1e\a&\8fÒäÑyÉ¥¾ä«ºäÒári!É¥Þrip94¾\97&\95­\9d,¶ý\16ìar`*\19\ÎtS\7f\15\12ÖãVã\16\ 5\12Ý%Ò\14´J:ðQ^Á6\11_d\9d\94W÷I÷H,ãôõ,\ e?JìÅcô´4VHD\84XÔK\1a\14hH\1dR*\81Õ\8c©U¢>H{\14\11ñíI\90]#×\f\90Ë\ 3±\92\8e\88u¥q\90\1fkðþAå\8d@zXÃØ8q\9e\ fàÆ\18ëoð\87ü¨\ f¨K[>kUfáÖ²\ 1\12øxÆ\1fƶ1çS\91D½ruÈ\Ê%¾Kä,Z%í\13´rÿR1Eù¬\8b\16YÃÅMYé\81\14Æz\ f«ÔA)Y\91\8d\15ò\Â\1eô¿|\9f.¬Kã«6*%þÔ!T«[4\16\1dwÓéRÁJW\8e\85!ï½\8c\97ºîõ\11æ ò\93\86nGgâ\1c\16¥¿\f7LòPÙ{Pp\13k)ÔusgÃÈ\18|?.¡u¦¢lÉòÇ\98ö).æ\ 2SJäBFù\7f"\bÇA\13@9)\1d²PNJJI!¾µ³<Õé½\ 3V\9bò¦%ÍÉ7íÑ(ý(\b\18\14ð\89á"¿\18\9e2+ò   ä"±ý$v\15Ì$ÄW¢M\14\13ÌEn\91ÔW\80\98\11\13÷\91_ÆO\8d\15ü\84ù\11_Þ'ÞE\7fÀ?«mǯï\93\95O\95BÀæ(\89çáЯÏÅÇ\ 1Q-:%\aÌO\98ø£æ\12@³iB³N®\1c\86\15é·Å4z%Ò>\1e\8a¥\12×%rFQùÇ\9an.ù£Ë\ 4|>7"8\19\12\14!^\9cþ%\rjOn¿áÿ±W°ù\98l¤Î\r\8d±Øf¡\89ÿL÷ø\80¡±É{ÃËâ=¡\9d
+\16\12Ë\ f®Gañòþ\8f¨ìãá\93\05h£\8f\10K[\13Ù Ä\12\en×^\94\80\1ea4¤\8f\82ûI\13èQ¥"\9f;N¤\8fHÿé\13\99f¢´Ú¢ÜbR\85BmfÕ"\8dÔ¯eIÕ\9bh¤(âC\94\8f\7fÍO³@£\90\fZ\9aÚsÐH÷ \ 5z³í\95¹Ú£¤6Ö°Y­Sj\ 5Flê\96tÛ5Ô\9cy\ 4|íNn}C群éVÕ©9\8bjÎi\9bq\8fC\11§P\0Ð\0\8c±N:8çuAÝS\93nͱAÁfűAÁ°.6\ 5Å\90\v(\aVP¡\0Ë\14L\8cÿJ²{ó`\ 1Ó§56È#\'ë¡?X'ë0\9bMZ\16ÇJòv+Ñ· ô1\9b¨ÍvÕ=\16\ 5\ 3©©«\r \18\1ds©áS5m¨Ë3¼ñÒàs\87L\ f\ f\8a\9aÔësGKú­\9aök\96ÌéÖ\ f¨{t´í«5­JDzÒÔ\9fYJGµ¨vRÈé\87!\91Vg\1dì=\fF®Þ­µY±d1´\aO:}\1fµ\8b7N\7f¢Z\93Úl¤\889±e\1càáC\ 2\89B\89'Z²{\11j\8a    
+ið\ 2ªúY\16ìO£\ 1ÚJ|\ 3¤²\1f\ fMåO8/Óôý?ªÿG*ãý\1dÏa=\1cÂ:8\\83\ e4Ù¶;\ 3\8e8rµµ\ f¥\95\1aóÍÆ^\8a\88\17±\8b\98úm\81ÑÑn\10ëöÈJß°Ê7\ú\92yòf\12×\82÷*\13 3v¼P)ôõóäè\13y\8aw\8b:ËV\r\ 1æI5uÃ\16¿\96{~\8a\8aå\19ÓkÜ@\8a\1a\ 3¹[·^ØÝuù'¼ùo*K½k]s\9c\9aG Ã\86ç\8eÎ\10\98ám\8ei\8cÿ Ô¹\7fô5Cè5ÍüÉ\ e-¿>\84\92v\1f\99M5%\83{¨++x¯aZÔgP6تÉê<÷®hj\8eAéUn¬Û\ 3\93}6¹é­;PªÖi\99Ä\1d\8a¤£d\8a\98-¢Î²}\19\a)bÌ|Õbóý\8f¯ì~¯µì\12-n\95ZD\8bS¤9BkÓ\85ϯ5¥mx"Øv²nEà©)\11
+mx ã\85¸á.Úæ,Báv³\11\89\91¢eÇ\ 6\89·Ró9p4Î]\r6Ô4ß\97Ë:)µB·\0:qëÓi#\8b:óa\8c\0âby©``<Ääbbp¯²\90¾\1a^\b\14\95ÛêÿûY0\0\97Ó\84\8c ¸K\8f­:ÚáKvõÓC\0;\11è\18\1aWx\8f²\1da&zB\87d$\9a\84v'fúeIá8°Y\16\v)bð\_Á\18£\1cû½sç<K-¨\80B8@&\ 1\0åSd\8b\rpÙw]ɽpöcrîຼóÂ6Û5¯\1f\83«Å¸l\8e\87ØèE\90N\8fW¤l\9b\9d;\8b}øwmx÷_:§ªrù\17\11Õîc-\ 3Ôû\1d\1fP^<¢tot\8e\9aüÆþÇGÕè`è/§\98\8e_\8fPºþ²\19Çrï\86§Ö6^\ 4rúß\87®\b%q/\93¹7ï\õ\87»Ó89\88ïòíß\8câ\rúØ¡\ 6\19YJ\1a%n¸Ú\11Á³uÇ.{Ïó\r
+Lb\1eC¸6{ÄAB{W\ 6@.û};¦è\10Ý\1e\87¨ç©\88öAâ'\9b\88hG¿\1fe\v\8e\r\99ߟ\8b·.îÝ\8d\85´¼\1dí\8fX\82§¦¹\17ç.9\84\ 6ó\9f\83n\ e®@ðuçéøTóÑ7qè'AÁ¹G¼ÿ3y\ eÝ}\d \91ß\12ýáººÄØ!ÿ=`\18þsñí¿\bE\9c¤ÚÍ>3º×\ 1ÞÙ\87\9e\11½%ÃÌ\ 1\98ÂÞ\1e\8aí·ræÖMä3·.;Ƚp¸_\17=a¢³ÙþÄ\8c ø\88o=\99Ù_sâè-ð\17áè-Ñä#â\1c\99õgªîgÜø½PkÕ\ 6\96êÅèm(ç«ÐÜ\89VS\12¬á\89\ºvjN<¤\85qÕÑ\a\ 4Ì\1e\bg.\ f\ 4\7fH÷Jx´|ÓñÅ\95Þw\8dxgpò\ 4\84z'ÇÉ\82C}lÈ&úÂo",\\1fÓR29Õ\ 3\19R<DøQ\18dxQ\1dº |V\ 3Ç\87äÒ\ 6PXlnØO\85\b|hBÂqñØa\9eÂÎ$\1a¢ÂÎê\ f$\8e\ f\ 2\85ßfêß\19®ûwLoS çAó¦=á\8eÚ¶\1c\ e h\81\1eqñØb\85\8d\8bw]ͺï\16ððª\eH\9d=\8b¤)ôÛ[onë\97_µe\1eûw\1dë/\ eU\904dC=Ôæ`ÉÍ\96ß\1a\85\ e+\ f\10/µe>2è|5ec°ñQaañ¸É°±\8eÃÇE\86[ãf¦Ã/\1d\87\90\8b\fÇÆï\93a\99\8eÃß\92×\11à¿\94Û\aÏv¢3Â3î3ê\82\11[j\99\1eøñ(\19³\8fN­z\9a\84»µÆut\94ªäZº\96u,jT\9a>!>R\91Zá}¯tC\89ÕfÖrè§k%ÁÇ7\84K\8f\ 3\14û,ø¯ônz:s±y¥ ÁO\91g\90n5\12Ü\1f\1fæ\ 5¢Qû\11ÄRø0\11æ\8cÉG\99\v\ 1²ílùÕu9ïpÊa~ÿ\1c\88è\0£æA\89©õs\88z    \0é\f¾"R\ 3\80ÔHÛÈ    ¹\ 3«½\7f\8e\1fÊ&\1e\92>    \94µ±Ïnu\88\ 6þ\11ض\0\89ϱ=µWå[®Þ±^Ú\8c\12uaµÙ \80ÞI0\94\91w\12J\7frJZRP7\12Q?¹%1)(;\89,¯þ$\87X
+\94\94\94_ý¤ªÇ\1dfËò{\929\15Ò\99\1d\ 6¨ðµuè¨\ 5!4\95"\95\94Ri©6us×\0uäH©³ÕãØ¦Ô¨ÕÛ9\9aõÁêÞa3\87[ØZõOE­\95ëú\rÊ{¢5VÝ\8aº§Þp3C\94\ 3\14vרäÿäáäÿä\91vrSÉÿÓÈ\7f\93ÿ7!N\ eOTÞç'ªww\93ÔÏw\93ÔÑ6¼¬\11ü\850òw£aäïfbäïGÅÉÞâ=\v°áé\10¹\8dØ\Æ8\Ãй\84ÂäÔÛ      \85ÃËxs'\85ÌpÂæ?D.\9dÜ\85Ì÷as]Ø]7~\17fa\85ÑñBî&(]\19è]\87\85Ò÷at¼pº[кZarjnZat±\v¥\88]/\86\17\10¹\9eä.k»\v¦÷atíø]\1f\f.âb\85ѱBìÇ¡v\1d\f\91\v¦nÂé\98átÇ¡tÄÂäÔÜÄÂé\82\17L\10ºg\f.\99ú!s]È]7»\v§was;ð»\89\86\17\v³1Bèö¶|¡Øò¿¥×\7f»ÎQªÒyÊ9\18\L\82ZÙ­ü\8dͳ5üG\ elÛsY\7f¥Â£\b \ 6½\8avc7=\9b'\884ì¨Ø \99­ú5\99P\91\e\98\ 4\1f\11\9c²\93S       ª\\ 2NR\9b6$\8a%
+\18\14K\14L\14g¨J\\9a³kêÀ<åô«\8eª¹1ý\9c»tlÕ"µçsè\ e.\97Ïè\9f\9eø8Jôõ$ \13(ÕY¯\ 4©ÊÊHQ\ eUà£P©6\8b\83­±\ eh¼8:×Ñvv5ñVÛ\80ª\b}[ÂÈ:ÒGW¾\80Íð\10Û\ e-ö \84æÖPDY\101\ 3CslVúBRR\12\90\90\94\ 1\16ê\17\840)\11QåÀJ\86O\0g\97Óñí·f¬\1f\7f].\9e»Î\86»În»ÎVº\whf_÷zK\12\ 2Z\7f\9bHT\94ÆP¥Â        +xGÓe
+@R\90\14 \14´\ 5,\ 5\9e\80³þßHÞ¦´Ï.Iëõõ³å\8aÿ_[A\15ìkhL\15ü\9aÚ:"¿ôkyräõ\90¸S`TîwÁx2£\806\10câHU\aÍ\0R\80\87\1d\90\9b\bô]ô²\11w\1f\11ð"\r!¹mé(\1c\acü@#gu\83ZQCä¼ÀJH%$\ 3(\ 3)Ùü[þï¯\86\veù§\b%:`ä\0rR`ä\Pr.(9\17\14\1c\8a\889ë¢\ eJ=b\ e
\1c\15\888+\10pV ä¤ÁÍ.Ü\1cU\10rV(9!\aª(\93Ñ\92TøsAn'Â'¹¾dÚ\90\89Úð\12$d:£¯5\16 Ç\86\f<\8eÏLP2\89\8a&\81¹\14¥\aÙÞ \87ò\9e\8aF\80\88¦ñ4Å4\13LT@R­lÑ\8d^ÛR^Ìï8fv\81ó;Nt\91Ç\89GO\96ïâz¯Ú\ 5\8fª£RP        \95há;¥   9D\80Gx\8fe<v$®\1f\e§=µ5G\f`\ fU컽Ø\9a¤Dv'\1d;\97}Gb_4\1fQÃ,-@L\83\89\11\b\11ÕÒ\82\8c¨öY\\1f\11í²M¤D/ü\84N"\9dz\89ìRtÁc@AÌ´OCÜ\8d<\ f´¿[Ù¼\11\86\86\8e\8f\92@)\809\96¶h\b\10\9f\r\99\8a\ 4\ 2>OÄõAþ\94\19IH\ 5\10!\1f\12\11I\9fx B4XD\b\95µætï   \8e}rú©\ 2 `®!ë¸\97®V×\1d\10\1eâ`<­¥S\ eå=\0å;EGôbD\ 4\94\98 )ß)8ç<\83]8ü\80\88\r)\10\18úY§\1fp\1e\80ò\9f\80ò±ÀyB\ 3\9f\ 2\13m\9f\9f\80ù\89Ö¹¿úë\Þ\1dk\9bÅ­sxµ®o\16µÍöõ®\e;ÿfµÂÈþµÀ?\9fZæÿõ­qò\92\9aÕ K#W¿
+õð¹ÛK
+x]í¡\9e2àw\r\ 5\1aê\a\11yÿ¥ÿ\9du'Ç{]D9¿6\90©+Õ°énÂeÒØ´·[\16\96ëbÒÝoí×Q\v\856\ 5_\97]DE¨\ 2\94\ 5¿®¢.ú\9bºê\19MýuXN\8dÏëªe1i\ 4þºÈ'%Þ-àÊ,I\ 4N\91¨ð$;¥Æ{^45\99~p¨ðk\ e¼pð¹i\85pñB¸x¡\<P®\1föëÆ\85ö\97n\15îkÆ\88W!\a±ëÆö*\10[\ e¼hµ!\12}xÐ"<-¼\1añ\87\90j\97»¯\1a»úñËÞ×\8d^î¼jâ\8c\12±F\ 5S¯v\9cfñkÝYí9[á×¹¼:÷7»¯rpR\8d9P\17æ×¹09í{\92'þ5î\7f\13§S\ fëÞö\9dJaÓ©MÝ|^Ó©Oê×É·µòo¹¯\93|:ù7\87_&÷uòN\ 2±@Íí|\9b\7f_&ÿû¯\92©\80ò÷µòW\f\aWç×É_ê×É´kåN ôô\14`Qm½µë\1aÛm4UhÎçÉÌ1¡½ÿ\90[ý 9(Î\93%\0\94àÊ@&\80p\98HPN\14´\84¡Â\98\90²\ e\16zB\84\1d\9c¥ÿw\ùèûzæýÝniô¥×7ùµ¹¾\\97|\7f\80\fe\1d\91~ð ;R7\r\18-\BrS\86üA\ 4àF\8fGE]dK|\03ã|9Op,\aXY¸æ1¼æ0w1\849\8c\1dÌa\ ec\ 1Ìa\84\84u{\12Ò\11ÜÆ&$#¹\8cg¤#¹\8cp9\8c<æ0\971\8c.c\18\12æ0\971\849\8c\ fH\rÆæ1kgöHQÌ£\7fËäw65¶µ\e+\97µÏ%G¢\1f.×0äZ\1c­¦©´ï\17³|õT!ô2j ô\83¡ùAVª1\84«\ 3òñYxJË\1f\97\8aÌÂV`ü¼W?        \ñùwƾ\16\85\1cÿyQà\97mδAØè\ 5\99=àP\84\1dÓä§|ÔZ\r\ 1\1d\ 1\fu mðZ\98<\18ÂI\84\92*/¬:ÎBoÐEú\|\81ûÂC¿\7f\97Ü¿\8f\ f®\12RÒHwO\ 2±Ú¤¡& IÌ\8f      M¾êRgq)3¸\94\98\8f\fcäæ<N
+\15\13\1d«\ fáĨÏ\8f\ f#oçTç÷\159ýÅN\7fuS\9e9&¸Iç¼MD/sðGÈ\1e\8f\85ke\98M5&Rü\91\91e]ɾ\85Æ\ 2í-\82ñóà\81W˶Ó-\93\ 3-4Ø \a¢që>?.ÛM¶WsoÞ×\88\8fü(J)pzW¨ô¯ë[:\8b\ ezbü¤©\r}\ eV\ 3@Ä¥`\87`\82\97\11Õ¶\8cúÉ\8då\93\1fÖ²_\99ns5       \82?}\10Ý\13W1\8c¹³\8dã\19\83y\86 qý#tWÎ=\8a©]ãü\1d\9f\8b\\83¼nè¹®=/\ 6m:ÖK®|·NóÙ&\0FÖËB\12ËÝp%\9d¢\83\89À\97¿ ¥ï6rÿï  ¦Ã:\96\96aÔªbRÌíÂi\9d¸M3ye3¼²ÏÝYg\9d)\91\89e\9fÛYgöÖYûË,ÿì\93\r
+KúÃ\1fgÒµl¼²\ë#â\84lwA\bÒ\92æ\ 4\ 2}&0\83/\b30\83\9f\84\1d\f óp\83¢pG8dz¥\9bc\9eX=5ý*ü\ 6å z\8co\ f/xy\9bÃçï\ f¡¼?7x}\1c#à7)yªÖC\15\95~¶&)\ 35\85\89xi}±¦vÆÏí\8d¡Û\e\9bÛ\19ö\f|\9f,ø^\9f¦;¬{[\15Y¥]î\1fd`\18ûçò³5º¦\1e\97WN\8bO\9c\9f\90\ 4GêÈQhÓÕh¤\81G\9fVl\11ò\91\89
+Å'~M*\13[©=Rf\8fFK)è\9d\95E¹í\8f\8eIH\8cµ«Ptº¹µ'WeRI=¥¹\bPÕ ôèÕ\89"×^\97!\ 3·N\8dm%GÅ\ 4\8c\8dMYö$6z4£j\8a\8a\8cHj®£R ¥]«\rz#â|Ù¹\fÏÕ²r&\18:\900j(\96(\98\14h
+9¢\8d\19\f×=\9d\9aç³\9e\89b\89\82\8cñF\80£\9a(=\9eh³Í\16y¢Ï4Yæ\8b<Ñg\9a\9cr\ 4Í\90&\18¢X¢`£<Q (æ\8a4d\1dð¯"Í6½  \a\8e-H\1d2\ 4\86ZgNC~\83\ eâ\1dÊ­©fE`ì\93K9¶i\9e'Ï Ê\94}
+\fÁ£=º
+\925y¶*Èh"\89¥Õ\9a-GK³"Ë4§È\9bQºr\ f§Åy\15èS³!\99Õ5@Õt\97
+²'\8a+ÔçÙÒðÎ\fé\f\9eOH®Í\ 1\ f|ª:­JØ$Jô§µ"sM3¥°«S¬Î\8eÇ\14\86\86m\15»GØ¿(Þrßê*Ðò\96üe[G)nÖ[ÞædâÐÜ[EÅ»_àX\9f®|¸³f?\8b\91\1e\1c\ 3\7fÁm"\8aÿܵ\U\8f\85¥gÄU¾{,\95ZÚµ\a\80\15\91Á\1aQZÌØ²hKóµ\a¤Eª½,ê#Ö+\9dï¯\88\ 6ugR\10\80®\10\r\80 \1e4W\16Ò\81¾j\8a\886e/\ 3#¡¬ü@\ 4\vÔý\8fx<\83ÔDÇ=\90\12ë\ 1\0\eè~t$¡ò\1c\1e¢\\8bR\10CÔR̪/}1BÃÓ\8e\1f8:\81Ç\93\1d7\97Å&;ÜêsL¹7Õ^JU0\9c\1e£E\8eÛgV©÷Àß¶³\r6èn\fÑ\ 3¾à£\e
+\9cÕa\1d\15ä£U[6bNu\aDz%èõ\1d\92\fÞ\ e\80\8f\f\f.%\9fÔJÈΠë±\87©\19!6h;ì÷-6¥\9c\1e£ø\83\83Ô\800\9fzÔ'Êú~Cs\99\9c©ö<Lèàz³^\9cÈ$\93É1ÈJ\92\ fÐeO ÎGpÏ5øþ\8c\12\ eÁ$ò\1dΪEù\87Dþ$Wrï=ì5C<\1f\ 5HàÏ%Çy7\93·\ 1/\ 1Í\96\7fÊ:¤?ù²ê÷\føI3\92\96#lb§¹d¡\90ô\9b~Ê|V»à^ê UHm²c\fbóì\8a\1e&¹óØ1)ÜK4òYdÚJB\8fT\ 3w¿{*£ÝÜ\9eAÅ!²Æ\15v£<C1â\1f\e¸gÈI\9cÇ\13\94.æW÷0-Mèï\1dß\12òYÇc_}¦p£\13\9bQ1á£j\e\84\ 5>\86C\89ôGµÞÀ\90õqn\v&ã'\99|kt|;\8d.Ƹ\ f\91\84àÇ "-Ç¥\1e\9aÒpϹó\84\1aú`"ü\81¶øê3\86ÜÖ¹\83\b\r~UsíæGr¾\11·Ù <nú\ 5\82¼ì\8a
+\ 3°Åÿ\ 1\e\8e8h ó¾GÁ|lòKý";\9b÷>\14v"\9f,4ö#\9fÅ\ f°<\ 3]-¨}\81æXé"\93l\1d\8aâQ¤ÓgD\8d®p\ 4éHºã\17¡:z\90\ 1\98
+\1e¤\94P9\13RäMÆä\0×çG\1e6\98\ eåvo\r¯\11Ó\1cà)Û\99¡¹wJ õ÷7hä\8d®¯
+\r\97rôôWtù_¸WbÞº:^\83B\evíqÐ8àjª\81Ç\ 4\94õ\8bQ¡o\eã:µë¥"l#\82±\v\r©]ÓY»ÊE_@Ä÷\ 5F\86
+\11\9e\10\ 3\86Po#µ9G|aÑ/û~×Hùs7D\84\eÌõ\85\bµ\80\1c4\ 4ZøÇÅ~¹\1cé\rð\1c* A<½ ð\9b\1eAqÏ\81\9e}\9bãÂ2L\1d\91êé\98\bN¨ø°³©M\9f²^\1faS\ 6÷½\85Oÿÿïÿ\7f\86Z!(û´i¸ÿßnîêZ\92Ô}©!\ 2M\80kk@@\84Ä\0@B\0ß\92Ô\96ì5#@D\ 6ØF\93\12L\ 6       &\8dÒ\ 3\83m#Q\1aK^¹$\81z9\prI;»£\9cÊã\80\9ao¤H\18\90\0Ø0#m\84\91£\867©¡\91²7\ 4\r\86ÿýû÷ÿ·u\ 6¡\8d\8d\8eJútî¼ó-ë\99%¹|6w\½\91Ë3:»à½\9dà·2åÉà¹lñ»ã¾+\97Ãsß}\972ùo\9a{»Ã|·É|×Ù)õ\9a[fÚÆ\9e\15\ 4$fr\99J ?[\91g§þ\16¢/´eeÜËÅç\19}YÊÊu».\83\ e»\91\ eÉ\8eQ\v\95ÙNw=\9f\8fS\97øBÁ   û¾Laé\97Ô\157e.\8f\9aÊ\96\93ÿØÉ\vþu\94ã\a&\18ë\ ff\1eÛ¬ö\98!O?þû)Çú9ïÞ\ 2P²ý\94§³e8ÁM\81\85Âë`³Õ¸^oùïÜ´\89ZËfR/íe÷«Ï~Á\81¨`ÜÉ=aúþû?¿í§\8eÉ  yï¼\91xÂÞí¦\16B\ e+\17\89l¾2Äy\8d\9bWPÈ\ 2=\1c\972*hï\88ã\vÞ\a*]µe\12\1c©¢Õ\95ð95ý-sKÃNñ=âmY\ 27OPV.íf±§-\9f\92ó°BÉ«Ã\97\10\9cl\ 1 |\98\94¬\7fn²Ú&    ê\ 6É?Zª¼\v$¿ú¥.a­U\b\1cúwxv¢T)uF³`iRW\86#Þ¤\11ûDªÏ;\8c¸\80¡¨\G\ 5N:é^Lb\85\ e)]=EÄþCÐô\82Ü\83\83(\e\fÙÌG\97n¬ìo[v\b´§9W¿Ó¾|ú*Ì/7\aÍN("\r:\93\14%\85\10\9a\95\ 1\1fXÚÆ\ 2\7f\ 4÷±\87\ 4gâ+v[3Õ%)¼q.\1cÏF:Ñ ½3pÖ¬\81öe\88[\86W\9a       I \9d\83\120\17\9eE¸Z\19\9bT\8b¶~ú\ fåÒ±Çë1Â\86Sãþ\8cá[\91[$9fcpVØ\ 5WaÓ åk:é+\7f\98\84\f\8d\8c\1eh¾Î¶\89mÄM¢KU\+7Hd3½*¶\8f3XV\8a®n:Z©\84\1cÏ49\8e,\f\82u\9dV\85¤Ò¤.µ\ÝúÕ¯w³d\8e»ë\9do\85FÕiØÐ á[:ìê°3^Õ³J\92SÂ9&\bi1ã\834?\b*\84½\ 1\ 1 \93võJ\93¬ØqÚIúC·\80À½z¾\10\vB\ 1<Øaol\81\8d\92-:*\86\r:'\f[Ø!ã¦EëÁ\r¡¼÷êm\r³\1fÔ7D¾XÝ\18éqW \ 6Á\98Ê\9b£\1f\1d[\9bc\906\ 6F0Ý\19,\83ÞØ\8cÕ'\957\ 1#æ|vwGÇØ\ 5ñb\82gô&Ân\ 1\9fg\b¿\0`ÎdÙæà\19Í\8cußcX*úCã\1eÈý\b;ÉÏ* ÊѨ\8fM\aQit'\15ò\83¸\9dc\10SñóÀ%ì\93\ 1°Åܼ\a²\84\88k\1cË\0\8dËn\17\9bâ\85Q$YAì!q: 3¬u6w=
\84\ eo\8bó\87²\95ð¹¦|\98\90\16\ 6\ 2dåã \91\99lòwÒ\ fÀg\0À\ fùØ\17åÆ#<
\8dóp=$Ý«\1f\10o\80\87\v\92\ 4\14\93Î\9eûp³½¼'oáÍ®¼$y_G>Õ\8br2»\81­\91½â\96òQïÙ)^LÞcî§!3Û=ïîNBg6¸süIFee \ eÐ\ 1à}²¿+N¾\bÚ\96(\8bnI2\ e~\96p\81\83ø\17µ`\ 6\1d¯\0INm\81d{U\15Å\ 2Ë\8d\90u\ 1\1d°\91\10\15\17\99U        °6\88V\92\erB".t½»ï96>k¨ù©áØy¨[rjØ\ 1çÌFÆMm\83uA\8cû3É}V´-|µ\85      @P\f\ 5\ 1Áõ\a-\8f\11n\96¨{çò_>í×ùéÌ\f¾j÷ì\87ë\7feÆÈú]¥^˪\v&,+Â\1c/Zð\17ÿ|z\90
+X{\ 1\1c\ e¦\87{èG\88\ 5É\15±B\f\11çªø=14\ 1]Ä:69ê\88p\1c(\95\15\10õó]Q»ê¼z\97=8\b½¹\98\ 3\9b3B\94\12ïkº\84_¶Ï¤\90i\aI\19ü\86ëÀÏ\99\12í\15s\14M#Qè\9a\16Rºi¢R\9b:X ß\10\ 2¹`\80\99\81`W\94¢Az\8e\85\bÄõU¼\9a°6F#\a#\0\1dßk\13hü[b[]\1a£\89ù] \91\89w©>ʯ\ 2Vò7Ê«ê\9cÁ\8dµwö\9cd\ 4Èb~Ñ\fè¼â\aG\81I\84ã;'º;Ò|Ð-ÞÝïɼ?=IB\ 4z6%~ÇAl\98=ðo\a\ 5Ð\82\ 4L!Ñ×Ðg\atF\84z\8fÙ¦Od\ 6ã\1d\ 5ÀÁ\ 6\82­õ\89AGt\rf>×\\bôc60\88ò\89AHY\84¤Å4_¦²ùC`r0\ 6\16\1a\87\ 3{øD;^\85\1f\18[\ f\8a#;Â/\87\92*IA$!\ 3îfDÁ\89É\81V\1f\ 5 ãòÁ\95$\9f\18\8f¤n\8cLѺ1W&èÅß\rÑï3FèÆU¦\be(ØÔ\1d\9eo\ 3zÞNÏ6ѾÃû1#'+Nh:þ\f\9a³PØä\ f\9d\80óc¹7½,X¤\87hg_\ 6\81K\8bø\1a\80\0¿©\ 6\93Ü÷pl¬H\98\ 6Î\9c\ 6y\1d~_¦!íØêÎ@äV\1c\0V§Ë\8b\88lðYÚ¦ÑãqcÁ\ fý\8d÷Äïy¬ÿ\7foaxú\87\1eýöÂ-õl\17\88¯\15·\f@`-\ f\ 3$\b\8dâkä\eE´9#è\85\96ó\83Çx\14\rÿhÝ\r|\93t{Þ!º2{\ 3t6¥7DöÔÝ\13áAöS]=]£`oõ¦ÿ\90\80Ê\91\16      <\9cX9þÕÜÄó¾¬,*µVE\ 4+§f©k§bl\14
+á-\9d[`\1c\ 5RÖw\12\1c   &Öw\18lSu\a5÷4&H\86\16ìì5¤î!M¤ëJ;IÖ´\16³· ¶Y\16\93«\14ZNªÇ¥_XÄ-MÝlîqïk\16$®SO\99~\87Ã\82ã£ü\9c\89ÉËóÐT£á\1f\8c\e)\99_VÙi»¿b\17ª\ 6¾®|pëG\ expû\11Üz­¸\99IÞÆ¸¹ÎªNí\16U!rù*«\97Èë\97\80\9c<I\16~\1d\1aìC    \1f\86âð\97$\19\1awe\90\10høj\f~\18\ 6Óg­ÂÿE\a9Ðó@MØUÛ\87\11ó¯\ 2^÷³­ÕKí\94\17{\88\ e÷UrÈ\10\9e6q\88ßiJ¹\80ä±(Ö.\1c?}?ï²î2Õs\ 1Ê      \9cJUÌ\a±t@´8J,ühïR\8dg n\18g|!\93¿yoå\1f\9fÉU§\1dö\86:(y˧\89o³<wR\9cwÖºDªÇ T\96\19'\8e¼t\80\16N'²í\ e\93\99Î\82\rû\\84\ 4\9f\90\17ÇüA6Ûæì\8b·ié\93¾¡\87D­Ä'éÎ\87÷Aéé-¡\ 5'\88\ 2~\8d\9c\18\92¾î\96\ 4êö\ 3\ 6üÀc|Æ\11v38\1a\7fýÂfñ;¹µm\ 1\82W\1e*?
\90\91ð¤Ò;±½Ç F\81BíqÌ:á/fî0\16\ 5é¶Uü@`ÊC½¨4\99VÝ|Û¾=\96ýZV\7fmi   í\19·\99ól!å"οì³SrnÓ7\84ñlÞ«J¾æm\1d\8a)Wý\8cFÏ   ½\81r\11A{¢µâÛ\0
+j6­d¼\0dX°\8c\93\9f   ²3»\Né¯\17Îl$É4÷ê\8cÛ\e¼\9b\89\9b­¢ZÚcÍJ·?\10\95kX\93v¯5">\7f³Ê½   êèÁ\a\1aÝdTð\Ø\8e            î\v\83\7fðY#®\ 5Ñ%¾\ 5ð\1eÔ\ e\87j:ðI\92Ýý,ÝvW\93J\8f\8d\9b0g5³½\89 úU,å-Rvm±û\9d\97iÅô^.\96\ 4¥c©Ý8\87¥\11?M\106+\11ÚÐefi¶\96ãK\ 3 ö±U|adâ¦\14ì¬Àb\95Sèg0æ¬C5zq{\9bÏÙ|LJ\bw\8fqb\12ê\8d*Òª³\0Â(\ 2äå\1dz\8eÓ\8a\vàgÀfiÑÞÄØ\9då·Ñ\ 1R»d\ 47üý\b÷6m_\ 1JîIX$¬ié\8f\r\1dF%õÕ\82f_é\8a\1c?Tpa\92åv&xèÍd\13g\8e\8dÕÏSä\ 2\84\ e£%ªPH\10\91¹\121=IÅB$Í\86Ìø,ì>\81ðg,"T\1cdLví\ fÍ\19Ö\a½PÒJÌlL\e°¸\96fÓ6\9d\9b'¿G\1eT\947IÝÄÛ¾\0YÉO1jV|%éYÜ+\ 6\rÅÕp\11ïGÎ\vUÁE+/![½³%/fñ\1c\a¿\14\0/\19¶ø\0HÊÀÐ)Åù\0M©¢ËT\9f.òmÁ>\ 6<í(6{\9d6\r\8c²i\a\ fÅz¨\13´\16»%c\8d@á]\93lÏ£á½\ 2Bv(V$I\99) ¾ëÝèAI\90x\1f4\13.\8f\92öÔlÙ$^¶\üé\8bÍhòûÞË\91\9fs\ eÅUää\8e\bv\ 4ª\99Àdóhl@\8df\99CöO=\11\rr;'\9f\91¬ê\a\10ÎbRªô¯HÖe ¯Üg¼\15\90\ 2?\19\vj\ f1.ø6ódmÛÞf\ 1wÿé>\0¢Ø}\93g\91}Y³\16zHDNìüºµ®dfqºu«\ÆÌã\-\88s\152\8e¹\9aØ\90\10$Qi)Þ\83-ئ6\1a9{\80\14=¾64<Æ[³UQåcE)>T\12êCj«Â\80NXÛ¿$\97Ä1-M ¶\98Ø#¨Ú\8d\82ÚÀ\ 6\ 5\9b\9a¸GviIwù\ f\f\12ÕÝù\192*g\1d\99Ê\90\90    ð³\89 Yk\8e´d\ 2"o¶l«r\1d`4A:·\17Õ\8bBnVtøÒ4Ãv\83\82¦\96¹fd m)k¥}î4BT¨4'\1cÛïl©Y×Gä\8a\v\1cPFì\8b0æÂ¸\95,\82#\ 3\8d\ 5C:ýÀU©_õÂýtI\88q>{äñÓ1Dgi`ç®6÷¶à\81¢Á\1a§EZ(\89­Ê¨\0HW~\14\r>h5Ö\8a\ 1\91Û&\84Uq\11h¡pá,J¹ý\99\17æ³o\9cwpjîÝ!ÝÐB»¸îÞm2oC\17£\1dÜÚÙð\15\ 6+\11ÝÝ/Þ\89>ï¸\11ÝôÛHàñ\87\15|ü½á\1aÉY§»ý\e6\ 2i\afë,\9c_\r\9f¡\\93Ç4f\89ñ)Y£Üî^NHR³U¹¸\91¥\9bwAЯ¥Iß 0ô³j¨:\eÁ±¸ö\8a#m\12R\fñH4{g\8dT\b\1e\0ù1¼\16  \7f\8cLh\fV°[efë\ 5¤-¶,#Eî\8d¢Æu¸6u¹õ\ eö`1wu©ö_\11ïÏ\vE      <\84+\ 3~\96\13h\95lG(ë\9eBe\12\9fK\8d\80Ê\1eT\vwq P\r]Ôa¨-\0ìÜ\8a\ 2\91ý\8b+¢.\a\ 2Ñ`°!åã\89!óì(ØðÛ\fç\92ÆØuª!#d\18\97½¯\1c\90<\ 4U¨ó\9bkpç;\8fz¡óªÞ\11×G÷\ 2V\ 5\18°¿`Â\83&ú½Ôʬª±º\90î÷¬ëÃÉ@\17QF\87\16sjÙË\1d\1fÀ·E¦ñdϾr`\11\12h¥;\r\8b~M\9aÁ\ 6l6®½$nÆÕVÁ´Æå\17NF\85\9csJ   É×1ÉUu«\179]\89²\9b¬ó\11ÕÙ%]3\fh±h\1f\82¹ç\9d\81 \80q)Uõ¢Ð\0\99°Æ©\91ÛE`NDf<+\8dmzÏ Z\15\86ǪÒD¥Z,âÕ\88¸Zl\18s`­Äo±·Ý\81»\ e\90EÝÈ\84\ 3íÛW{W·¾A-@,÷'bÙß\89\8e¾öÆì`\ 1\84w\r%<
+Ùä*²\1d\91 \15i\17×Ù±Es g¿\r\8aÙ´\12´Rµ+Y\95\0ÌÛÔ­&VF׬Î\8e@tÞ¶@2Äy\8c±²¹ È,\11\1fÙ\rj\86@\85ë6¯~?¤|\83eÉÙ\e!\19c¥A¼sU>3½Ä¦Ú¶*«!\109\ 4\8c\1c\82ɨ­T\94§¤Ê¾ÕÞá\8a!\ 4¹\92\98\83 íØ\80÷¯\8cG\³v+ê¶ðªÉBJÀGjC3\94½3®n®\ 2EZa\0Vç¿g5X=eÎÇ~øìå\85i%¹hëjµï\83\8b\82xüíTbÓeÜøYÕ¼L\v\89\81gVñ)²\r\9bûí'ã+\ 2·ÆÄ\7f\9eÀ­ëñ\1fÃ`Vý{æ·ÿ£m\9fû|\9fö0F?Ø6Ùù\8c?²m³ãÇ$Áréáÿ9¶Ïö¯¤9ý\ 6:\12ô5C_~r~ ßíË\1f×Ã\vY\87-tÐ=4̤À\9aS]ð\0Ï\86ZNÁ4\911S,Wi¬P\9aòï\18QÉ¡ KxbºÆWe4P½\19â`ÏSö[\7fV\1d        ´ÉÁ
+ÿ-\1fÝ"\83\99\18¿[\10´Â̪jÄRMÁ\0¼\83s³¨E\9fñ°­3\9b&®³¬\ 1        ­hï\88\17mD\84c\16Ô\10¢à\15\8dÀB\8a¯#Õ\f\99ã%­\91\ f\94\93 0©\9b"/\1f¤~\8c,a4\10x\86zQz\8e¹¾`\89ã\1dëìÄ}\9cÝ4A^\ 3AW]gl\ 3£r\1d\e4\a+êåÃÙ °ô~a!{ õ\81¤¯Ý\ 1\e\1d[Y\9268¯\ 4ØàXf<\81Æéoa\8dGaÁ\9f\1cn\98\18*ÏÓèÀØên@Øêva\1a\1e\87g¿î\80¬\19ß@R\ 5þÎ~\93ì\9b\13<\10\13th8Fèê÷¦èÐÖ\e£EÜ\e¢\9b¾7E?h\95¤ÒÓS\9b\82:\98²ªÜ\1a\17\7f<ð,e¤[\1eY\97¾Òæ`\0¿\94Âeó¢@¡ñ\83k`Û<\9ab\9a\b°\80\ 3ðR}\96\10¹OTuç¿~~\81l\91ÄÙ
+YA\83\1aç\1f\ 4ªç\ 6ÊoQ<ùÖ%aÚ\8a+t\ 5öÄ\ 2\99\95M\16û¼É\9cò\13§,¹ú\ fñëBõUö\87²ÛÒ\89Xk\8f\10^\ f[*üÅ\19»²\80-\15z\91±Õ\90}/\8a\83 ±7\)\vElTZ2·[hËËBÑ\95Â\86\96¬¸D¸2Ô\a«_\12\0¶ýâ¶-@'u̸\ 4\b³]3§4e¥Ph\vÑ\1d\8bä\ 4ûëÚ\9cÖ2(6ã\16\8c°ª\r\82ε\94©uh\8bª\98;Ë%ª-fU¸=O\17h\1a\8c7û6ËöÈ\r\87"\ 4.ÔD§´\903âÏ\9f\858) ·\9ey\93zm¼½)NU\ 1\10\18V^ÌP÷Á\15ÃÑD>\a+F'`ÀÖo\v\ 1 ýÀÐ\ f¾îS\95jYI\ 2v`P\ 1*æülzK&\7fÙÃuc\94Z]:h9x}zÍ6c\9bÝ\bUðî\1f\85Ð\1aÔÂ@¼\ fdËë\9e\84R\16\90!\97AB?\8a\8e \17³x% @\82\98ñtaj\93½d½#Í\17\88\9c\0d\84\1fOT#\88¯\92+G×o·®Ê\9a\99\ 6uÉE~3  o\84\94\82a-ý\f\1fá0\96÷?Ìa-ûì$#   oÅÿ¹\84·\aé\18ÿ\ 1\84·U\84ÿ\81\84·ùX?é0\96ù\\1føL%¼\v`ÇWÂ\ f\81
+\1eé\87\1cm\8c×\87b\1e½ÜÕzµ ¾\15ã\ 5\81\97¥gA~m1º©òNb$;&!ð:\r\ eâ\81\83Ûá"§Qõ\væ<=%ò\96_»g¬\16c$WöC\81Zº@A\97&§È\ f9\18N,«qR\1c¦RêsDá8{%­ß~\11õ\ e\98ú\82¼\0ú\82\8blïh\8e¹ªá²®)\1a\ 2 Ý\1a`\17+}`y\9e³êÛ
+òÍ\10\14\90\ 4\1dÜ,àá»ÜP\8bÇùçvÓf\93bfÝÄ\1c°N\b\10þ¸³\17\12pP#à\1d    H\85\90ZÅ+/\81\1fR\1c³(®A\9dYºû¿M\mF\7f\10\10\86_\85Ã\10j\8dn\1e\ 4w{ÚY°@«úÁ±º~÷\ 1\99ôÛÎ\99\83̯\ 4Gî \e/ZT¥×1q\8c7Uå\8b\9e\81«ÉÁ\1fëñ\9c¡þ¾\0,\88\97\9d\9c\18\vy\81÷\8b\13Îö©}iqõd©ø µÙ@7¥1uÇ\95ì1\8e0ÉJnÜ1uåĸ½\0|$\8a\v=\11×µu³[qá\9b¥MÆå°¥û5·\16¦ÆWqfn\95\17\1dè0\93\16÷×ûä¦<N¾9×\1d°\10þÍ\v\99ÓE¯¸ùsÑ[\14\8e3Q6³o2ñ\ 18&?ä\12wyb\98ÿ\92Ý\9c\7fÉxí]p\94\87«Dlö\10\ 1þ\0ÉY\88h!×\1a\8d\1f\86´W\92oÒ@äY©\88̺۠5\9f¼8\19§\1aG\j'\1d\ 3®6t\97wH\13Þ3epè\1aßÒL\7fä<\8fè\ 53jm[KænZ#7\99¹¸½\eKú<0\19(\83\9e\8d\1fYש\ 1ò\ 1À¸\8f\1d?p\b\0PæÓ\8dk1´©òD\ 1\97\ 6r\90=\898ÿÃ$\12ÖÑÞfä\83\ 2\81\ 3å\1amTn\82ö\vx+\v\15ñ´¬åÁ\96\ 6\ 2\98\8e\ 6\10\ 3\80\16Jì§\92\86Ø\829ÎþÜ\14b\ 3¿   ×\97Õ#Y&#ØÆ(\8c´\99µ`C\90|5}Óºã«F°\88\0Kb -¡kî_Ï\95\8aý9ó\8c\81çÏ5\ e|øADr\1c´\96i`\ 5Ð2ÄuÍÕ\ 3\ 2DU³G_ \ 3@½H\96\ fPÝöXÿ\ f\\84\8a\1cä9|\rq\ 2:/3j\9f\1fêb.\8a\1c51°>¦2\977\17\90ÔÄ \90\1d\17ìDX9F\ 6Å\86ÔÄ`GOÁÔ¥\93Y\8b:\9f,\19af\89J@@j]Ú=íP$¬î0 >ã¤_Åjý\11&;ÀP¹H\ fÜ;îÏw\89Uô"\16×\1aJy¡¼\b\14¸        ³nê\8e¦\9cR½ÁÐ~\11È\ eå\ 3ò\ 3¸> =Ù\ 1Üõ(ëÞ]\ f÷7\#P\95d&I\7fhåp&U5¨ +ÓÑ¥\8a\87öV;j1YÐ\8aí\86)L( dØ\9d»¡\8aU
+(\19à\1e\ 5¥\8a¸Q@\ fy-ÄwzX¬\85\14\ 6È\1eß\101PТ´á\14&ÚNÆ\1e\14VT"\80â«´±[
++\ 2\11\8a\88\85\15÷\ 2ØHZ\fTL(­\98E}\11\8a\8a\85\14\16¾\8eÜ@#-\8aèQAl:íÜ\8cT\( Jîvâ    ¤lo\10¢\813ÉÛä\86)\18Q@I%mØ\8cRøQ@³üíâ\ 6*2\14WöÂ(>-Ì\0É2\9cP(÷Q3nM,c¡E\ 3\b±Å\ eæÝ4ß\88¢\80\13Ü\11   /\83\8a+\8a¬\0¼èÅ^ ÅD\1a+n\r\v\13Ð4±½Â\87ùÁ\ f\96ic!
+\1c\15©ýÆ8Yé¬\18Ù\80Æ\94\ 6~\1e\8e7H¬B\8dÐ\e\15°Æ\ 6g²\\ 3=@Õ¹\ 3\ 6$ÄÛöm\ 5§ôf®\88Ø\7fP\91*\80zn\80&\89À\ e|ú­\ 4ïÿ*Þ\9b\9e·¦å¾ßý\8dwyÚ\b\9fuy\87DM¨\\8a\1fËe}"lì\ 1Pé0»\84\ 4\19õ²3¶Íf\r£0\1dôLÎ\83 fÞ4Q×_ÍÝ%C±ôm8¾8\82%Ï8\0¨Bc\ f\ 1\83*þàÿ\vRXå£6!¬Ç\9e\8b®É\b\1eô!\1eøW{\87·î\1a`j¬}\eë\94ÅóÜò«zT\95Z5Uç\1fHé}ÛU®&\80³ûÎÀ!\13\8d\10\10èøç®#\rI\9eXEIVÌ\ 2³\fP\0\83EÙfÓ\16îQº!\16F\93À´\92\v\ 3L\ 5p\12³¬¹r®\95\98{jýÁ|6\1aÎ3\9bù²¿GÐ
+\11\9aÞ\bÃ*\94ðÃÒ\8e\10rý|Ë\8aà\1d\fØ\916\87\83jp\\a\8a\84³ç\ 2\10vMp\1dù@\97\8d-\ 6rïôr"\rm\82(HI\ñv£v_°üb¦3\10QAiwxxþ÷Ì\ fºRǸ\r\1füVôÚk|\ f\10\85\1a\18hX8£¶Ò\158\sü\1fÂ·ÚÆ>\99Î\87BÃFâ§?MÕ\12ß\7fÍ\1eo+ª¿\99¢©¦4S   \974´´\95,()éØeôTP\13êªqù\9a\9cû\8aF\13\94\v\9a\9aH0ìé44\97Q Ã\9f\8eÐ0\9dÐéª\ 5ò|µ4î)ó´ú\16\13u54õ ýÛz\ 6éá\8d\96ã\9a\9eåc¥ÔÓÔ¸¤£A-\rM%\15\1e\98Ù\83D8óôî\1fá\92\0£ÑR0§ráùz#§a¢¢¨¨Ï\9d4i\ 6>Z\93GQOM£$\fÊ\96w;I£Ñ\9b-©³ã \84\9f9Næ\99='ÏRQçè\98gsÔTÝQãØ\f\13ûf·O¡riÆqÉôD|yªz\9a\975\ 6È\£\97\f)éBs§sRi©þ\91ÇGá ZLèeÛ:M&\7f;I\ 3<C!òÁ\9d'íþ¾£æh¨ÓÕ^_?ÖÒ!\98¦Ñ¹¨¨§\7f ö´ÚJ-\ e~\8d\83z*\9a-\11µ2\9dÕÏmNnñ\aKùw# \84\14^aм¨\8d@\ f-|M\fCu¢\80§áÐ\8cÅh\10\8cQJ\81[:\18G¡Ï-\ 5\9eÈbN\1eã\90½â£ydáì\19í\97R®¡U »\19&¡¾[=ÁÅ\ 1§®Bý\e \ 1§ß×!\7f£\91BÿA \85ÿ\15{BÿÄ»³\14þ±è#\14\bî´\90#\9e"
+\ 3·ûìÇWüG4|3Oº>iÝÞ\r4ô>\9b1ûÂð\99ôiÞ\14õæ\91Ñ4\8fx\ 5¸\aì fxØt#hÿe\bÜWÐB5GÎ@\19\8fsü+\80~Ir\12\9c\91´g%\8a½!%Äæ­Þ¾S
+Kù«h\P'½ë\98·(ù\8cõ??\88ã\17\eG\ e\17u®5\rgd¡\f\18|\9c®¹J\0ØH:\1d\10q\89ÅÈYg\15¡{B%\ 6\13ë\10\8c\v\14=\91\86B)\bd-ºOåú3éÍøUÀ¯\8fp£+\815¹       ]IºÂW÷>\90zs~ füAæü\1fûfÿ\8a\9cß\17F\v5u\b´>%"\83ç:\940#;ª<î­   \1fÇ£þ|Þ¸\14Òºy¿\85>oÉ\fΫòÌéþøÉÍ÷\82ÍðØ\7fýÙ¿ñ½Ý'üoúi>ý\14\e\8dº\8d·H Òù¨ùÁ)6ð°È2¿û\9bO¿\9bâJo\89ý3|AMñ\1fò\9bã\96\80\8a\18\8e\9aèT\1au\86B¶;úþ³~¨ó|´`R\7f,jFw5\8a\10\95='ø\ 3Ò~Àô\9fÈ\9e\93øÓÒ~¿ñì\8eþo^
+­æXfpÚ|&pÚ|&pãC!3«Bò3:ÏñÌüɽ\12\9bÑBYÈfùMòg\9bØ\1eo\91þ\99¼h_\96=\vò§ß¿\0}ûï§ß½\7fôo\ eþo\8b)¼¨_Ã\1e\9eoè¿×7ߢÃbûñ¦ðÜ<+_W\83Rm\1fÅ!'$¨Ú·\896âê͵üA¶¿-\8bèäKbú\8bßù&õÁ«ûñ¦r\9bâ\87wðÚ<¦ø\83ÍëFoÿ\14ÏÌ\9bâ\83IéÑ\9f}4Ï|À\ 4Þ\13:¡Ú_5Ыü\93=Üß\1c3|q¦ðß¾4Ó}\1c\8a\93o\e\10lÇT<¶ÏO\1e¯òÐ\ eþo\89
+\87ã\8d3\94Þ\13:\91ð\8béãÕ\7f¦\86÷óxÒ~[\a¨\1d\83Âoþª5õ~í\19ú¿v\8cý_»F~¯Ý£?WîÑ\9f«÷hÏNoÁ\ e\8f\9bø\18ZO\92þ¬ßæR\7fs\84*O×à\8a\93ù9"¤ý\95ÿù©?Õóé?\96Â\15'õX\ 2¤ÿrÃÛ¤ÿW\ 3Ä\1e®\a\88>ú9\9e¤vÿm}Uùf{¹¿ôÓ_«çÓ_ \90åÓ_¬GýY¿Ï¦¿X\8fõÓ_ú|]éÍøxÀÜ?\ emX÷}@nÿxAöMI¨W\\86û"©\ e\80Úg×áËpýS\1fopü:ò\9b×\8cÞ\14ײʩA\89¦ý¼Ê¡Ü\7f5\8aV\84y¦ÿ#\ 1ù¦ôJoDfü1¦þã2\14\9f®CåN\85'ñ(vxÅfÎu¨v\18/Í7\8dCøsLþnaB\1d!¦vó\85æßÖûÅFÞ\<¥þæýò\83Iü¡©? ¼3]LñR\7f\82\98*Oòx?noÜ\9eoÀÅ\86ïø\13MërÊ\ 6½~\81ª\91Ò>K\18T/ÿ£Á\8fá'7Æ\86¯ð!»É¦ü\ 1¦\e\86\85égø\19%Cµ>·Þ+BþiÿãÊ\96¯ó]\ fóÍñ\81¤ü\bP¢i½\89¦{ôÒ\94:3LøYrð'Ìa\95þI\9f\997¯)½yó~ð\84\84éxKäñå´þ7\ fîM÷¨°Ò}èÚ¿_\82PmÙâ\90×\9a¡ð¯^'£T4sûóU\1e\14sÿrýíé=pÓ^¸Òýlr\83\bvqªM\8aj\13ã=Êk÷Ié=v¥R\ 3àG-§ÍWþ=Hú<ÿæÑÿ>o\8e-§ã\8f±zô:ùÀؼÛOäKÆ¿|5\v÷Ãg\7fxj\17ïfÈu¬?\9eoçî\1f\9c\ f[.¬|PùÉ?Í7ó7\ fù³%¸|üÁQ\9f\7fÁ«ü\93?2oæn\1eµ¡n\1e´ÚO¿\87;³Â{s}ß
+E»e\82½ß
+w»áUV7ÜF6Û){\9f¯á%-\98òüË?Àe\9aÿCTðîí\84\vI»jR\9dÛ*ÙòU¿\v\am[¹i\93Ô0ØX¾û=Çà¼C\7f\81S1þ¿ß¯÷ÿÙÀ×~\83m
+ý4ãÚVп\19yò¤w\95\94³ß±\94äj»üîWu«°\87djâ.^úÊ\83\1f}ïø\1e|\9fªÅü~c7úVÖ.þÎ\1e\aι\9fà{ÚèOñÝhÖ{L>Ç]\ 1P\eÿí\9f\ 6ï\ eeíõ\90ÞÊ ÿ\ e\1dL\fî\ f¡?_=©À`\9c\9câ uýõ).Áqäõß\84ËgݵMì\90eøÝçµ\99âgzV\99l.\14=¿:c\87\ 5\0§ª\82qå`}\91%\92±\1e¯Û\96 D=Z$8Ð8\94\11ÀX\b¤!>µ\9c¾,\ eæÞ\91¸p\ 1±Akk<ñ»<ù{\94¬\ 45\0(\11h_\8cT\\ 3þ\85£ëD\9dM+\90 kþëc ù\93'k4$\ 3\9f$\0\ f\13÷ÏØ|\93,I"±#\86»\17ça#Z¡ú\12J&wo\93N­y\84»¦éBߺÇC£©ù\ 3Á«\96e\96\9d\99¦V\19\84ÈRÐ\vcõ§EÛ\a r"\eÖ)\8eÔ\86\80úv\91ÃÀCÖ^Sï§ìZ\ 4Ùºø\rIon \96Á¥(p\1djT\9dp\15$-0-®4\1cÆáÄ«ÉÕ\89ÍÛ(sÈÃôç\ eÔ\9b jv\87\19q\aX0.*:ÁO÷+;x{¦o\r\90\14F)òX'}Ù$Mí\19\0ÌRª6-þÙÔ+yÙ¼;\a\ 6fN\17l\9d\7f,\94\9e­þf\ 4¨\99\97\v\91
\8d$l~ä[a·Û5{d/\85\91\ 6íáÞÀÁ»\ 1\81ª;7 Âä;\8dÛMY¿\ e\ 3íc¡bÜ»ÊsXÌÃÜ\87¶ÀIaÜÖ0­é\ 3èÚrÙ\8fª,aC\0\10~\1f{Úúv $\82\83¥\ 1¶f,@Iä\aÖ\80úe·Ø\9dï÷\91óðÐYâv\91dð­NpI\ 3=êzùOF:\ 6ÎöÉézò]²<íh.Ò¥Þî\1f\17m\16¥g\88=-ºîa\9fþ*È\1c=7ÏWËc\ 2k.W\b· 4¶\fØñ\96\87"öðWs§ó³4Ïþ¬P3Ý+ûÌP3ú\8aÿ\95\8a\ 6}\8a¿ÎÌýÿÝUÊ`\8cþ\19_ò3?}ò«¦(=ñ\95]1AïvGÔÜ\aÊ@±Aïlªé\8a\ f~\ 1|Äo ]\93¨UÎb\83اù\7fî±AïRª\ 3\14\1eâ\15zìP{ê\15rØ ÷¸Sø\99\9f¿ÈSülP{õ\11-}ÛV6î\93ø\9ah¨OÚf
+\9f©]~e\9aT\fàñ\92òé`Á;xö\1c\84\ 4
+\8c\rñÚLø\99§#ºSzÀ\16\94\14/AMÓ:\aÇ·¨çC¬<=L(p6ô>¤8\9a¼5\11JsЭìüF£\9d\ f\13\v·§Æ\80âµ\1cèq5sjU©Ðr\95B\92\bFj9Ðñ°»zf\9aþ;QÎ\87\13]Fµ\ 5       ß÷<Áìø\90(GK¨tìùUß\9f\ eïÆ\8bÿ\96_åÿãËGuå\ 3Ì\8f\94\ 4\16\ 2\9b1Wâ"\80ñlûì¾S`ÚkºÕv{­æÞB\87åu\90ìµQH\éâ¹ÞOüfÓl¥5[\8eÎ+ÿ¦\8e\9c\15Ãå\91þ¤\1e>\1fÚ>ªq_¨ÑÓ½OÉ\9f\ fìù5ÅVûÄ@ëç§ïò´XEÆñ"}\8f&¸ ,Ë(\92\93ì¢\7f\11£§æ\8fA9fg\a\86"·àMAÅ?\ 5ùso:ö\95Ú[
+Zí/|oÿªÊ·J\fcí³7þÀßû\13\7f÷æÿÙ\eþÐßö¯~:Â0¢]\96\80«\99\ 5\93ΠoCmCÌ¢³\93\e9\8b^ºDIN³Ð5~°~ò\1e\9cÜêt²£\97å0Ó±¨°:x\18\93\11êc\ f`ÐoX\87`­ækf\ 1»l\ 4§ü1\1caË¢ö\14\7fL\12\93\0¡ØN.º\9eM©^\85ÙÖM_\10æJøE Ë\b\16\1eÃ5y?&\95ª¦u4\99ÒH}\80ÆN\82Àh#\1fJ¡¨ðKç[\ 5¯t%ÆÙ%á ñ\1d[¢¼\94YïûªÆè\967jîøÆâ]¦§«\93pLìg\14Ìì\ 6ù\ 6²ÉÊðÄ\ 6\1e7}\81Ç\12\ 6W¿ »\1a¼>ú\88\a\ 1\7f°ç`\ ·Kë±\7fnyÜ\80\81Qýò:­\88\ fÆÀ\ fòÛ@(0i/i©o&ã\86Ú_4ɺÍó\8f /\81[g{\9b\88\94ã\1c\91EKÚ9áÜC´vÝ\90\85\96üÙ\fÜ\8d¿°Åí<Nø\13¦ý¹)\1dw\9dZ!yizÖÏ2­ÀA4Ll\0¤\1d­hó5rÒ_' \17jU\0»{<0à9\9bîW\a\9a;êå\9a\9cä\ 4\88Æ\11Ô¾q\86j\9f\1dð\ 5\0ìöôr¹îÈBá­vD\11øÍÑl,Æ\17nv,é\ 6·\ 4\82à<\1dºÉÀMás¹¡\89¬\8cæ\96bZW|\191ºæ2oï\92_5\8báüô\9cîlî\16\1eª§tÞ¼·«\15?¼ì·\\ 4³é\12\939\fäÔï­Pg\9e\9c£Oï\ 6\89Êth\8b?\15¥wP £ÍÄ{7\80  AÖ~øø¸ò\98ÔöK\14Áï\f ¤\15¡´\9b\9f-&\82UZá\82JÛÚ8\ e0"G\93,\81çz\7f`\8eã\f[Cß\94\9d\84âÎü\17½Óý§W\905\9dr¨àÊ\ 3=é¤\13ßLçµ\92{Yx\91µÈ\1f_\8dæ\94Ù!\99O[ÖFÉ\a×z\98¿´yÒ\81|\94\b\96Ê-{\7f?\15\80ø|Äü<J\86\1dQ%)\W¢C^¼ZaJ³î\94%8       ¬\85\9f\.Ô\8bG=I¡ü\92\87Ê\rÏdYlX¢ÆdÊå\9bÐ\12©ÄR\98bÃĺ÷å\16\1eÕIÙÐÌvºÑ¬Ó)?\15³&4ùi¢Z:À\b\e\8f\ e4T<G©éP\94³ç\96\8d²#s\1e°\1eø\98^\8b\17\99&³j I_-%7Wª$ãs¯ù\ eJ\9fø\11ñ{ª%¦È*%è\10\15Û:#\7fu¦^-\ 6q6 Ñ\83z\9bÖ<Pq\a% Ñð'\80y¥°ný\1d¿Ö9\ fÃ|Ô9\r\15\11\ 5BÕ ÎÖ¤ø`|÷ô0\ 3.+ø\94ö\9dÒ?\ 3®\8fð 5\98ÏÁ\80Öc=·°Öc1ò\ 1\8a\14\1f\ 2ziÞ|\7f]\8b~\7fÆÁ«¿]\99öpoF½ß¶§úý\91?Åúò,øÏ%\93âÐVké{\12ðÙ|®×ÁC\10˱\9f\8c׿\1fg©~*¨vZÕ\88\85\9cï\1c¾®ç âõê0\ 4=h¬Îßþ^W{h-r}l«Ú¼®ë?Uåw\ 69#\8b\ 2LÔ{7\95Ü-D\b3/\19\81úþû\ 2LÁOͧ×ëøçÃ×\9d\12ØV\84\vû§uãïæqB·k*Ô\92Us\ 3>ѲF³é\8f\vÿÏ7"¢\fØZÁÐðy\1f\9aÏ\80\81BÕÞÜ\ 3æºÖ \98\92^éôeÂÀ^GöÊ        =\93\v^+ÒÇl\80ÌX6\ 2\1cÝÖ)h«Î¥g/M|ÒN4y>
+iô\e\ fôôxç)»8]öÀ\a¹GL4`\98\\ e1ÏsK_\0"\89\v°Ê\17Ú@áO[3&ØA\vD@\19RG\99·Ð\13\ 6\1c\ e%l~FÎôìO\16ù\84\96Ì\9d\92Y±p£\94\7fÝu$\11\87±ßCÀ\aÞ\93\16m\87\8e<nù\85\1e\8b \ 6\82p5
+\84Ò\86+7\99?Dí:ò~År\10gBö\ 4\92û 5·¬\98®Fÿ\91\83ûGCOìÀ©Ï{\ 2§?\13Ó©ÏÕûEçû[ã»ý»­Í\r'\913®ÞJñzo\1fA\84ÿ\9dì/ý\15C°æSO\97\17:8\92DmA\f\8d2î½\1d\9f\85;_½Ì5À÷Zï§WÄ\87eûRh\üI>u5õ÷ß2-ÿ¢\8f'ÿïx\9e\84\1aï¼\7f\88¦\ f±\19þ÷¢\9f'ú½\14ü½ü²þ\86ÿìú)àµAmº"¶|VÝ\17±Mx3L®ÚH\95ù\1d´\97ð1÷O\ 4taÏ\82þ/x\9dûD´ÎÅ-\ e\93s\82ut\97\9cUQ
+j\85¨¾?SH\19³Q¹ãti±C½'\8däÏÇy-U3k¢\ 2·O-]\93\90!ô@\ 2\83Õ\vI«á¿ï¦ÿ¿\eþþ\83Ôo\90.×ü²h\8d¼Ôoj\83\88\18Dr¯Ô_0\80\81Ô0~\ e#\ 1\13\16Pzn\8dû\ 1¿ëuIßÅ1K\88¥wº\ 3\8b%\ 3S\0\98)s\9e!hQÛt$=\96õ v,-P\99Jzlæ\ eÆó\14Ò¸\ 4\8bøâPE\ 2*ì`ÿ\15y±dÈc÷\86p»l©kE\ 3\ 4\10·ß{F\93³ý\9fffI\92I\86d\ 3$\81\0\98\0(\0,\0k$Á\É\99,ÈL\90\1a´FÖ¶UY \r¨\86`\0
+ÁÈ,ÌøÄUª¶µµj´+V¶Ä \0£ RHPH\b     ZÁE~\18¨ XF\ 33ïß¿\7fý÷Ù\92\19\ 4\0jÑßo·u¼öï7z\eÑÞsÝ\e¼çº[Ò½-é^_os{{ÑÞs\7f\81;ÐÞ\9f»{½\9dênÞ§·ø\17iÞö¶Ûm¶ÈÓ\14M ê\b¢h\ 40\92É\18Ù@JA\1a¹\97M}ü\9d,4F\1a\90\86ÅR{VnâA¨ö³uð:XÊc6Q\1d      \e~c\92Æ\99\13\92ï´nE=(ïÒ\84\8fðе#:z å&[ùÔ]-\fëìÛ\16\80\r9\8a\12ybÊ})Þ­\e?{©N\91`%¶¢5¾\88Ø\81\r$:Xµ\8b¦µyV3ï\88c¢ªH+µì\10ên©dý\8d1    \ 2\19\93v\96îlRÉø\11\af)äüiYU¶\98UVÛ\b©,£ãM\94xÔr\8eÃL&dÓ<":í\ 4.\89Âaáßï\ 3K\19h\ 2³\8b´Á\80\85þ¦÷      +\95ü&Ä\1eÚm¦ºÈîQÁ\9cD\80&W\ eÔ ¼÷(çQ`\9a\8f'Â8i \82\15nd\11H\93 Å§×B\f\ fA\8bB'7QÅ j\80Àan$3ã\89Y"±Ó]æVã\89=Ê9ÿÀÖbV-Xéüã@èºd\9a\11\17\90\14E\bíc*¹ËñÕs\97ôqÃ\12Ñ<[\91S\16Ç\ 3\16È\0\955-£¥\9eéTì\98ö\84\9br\82®rïµ.*\ 2òâ0©\92}\18a\1e\ f\80~båRÃw\9b¡Ìpet3ÔÈ\93l28hÿ\12\96f\11»«\11º\88çÏ).4§»F\97J\97\8aH\ 3haeha\9d\82\87GQ,\9f\e\15Õ[â¾\1eU,Wó\92í\11\14\ 1lù<´]eL\9b¥\85°Â¥\96\ 1gÖA\92Wa\1d\rN\1d\f`â×\86\87¨k¥\12½\bä¶%áí\89°MJTr}æóÍL˵Å@@uk¾\ 1\11Ò©t\150\8e þR\8bô:\17Gó \1c\90Å\8dê]ë\8a)\7fÅ\10ÿ\82ø\b[ZZ=ýN ê\104\1cH|Å\85À\13ÅÔ¼¡\91yïÎ\ 2[§î:}\9ad©à¥<7á\ f\91>¾ì®æ\89Ù\17\ 4\149\11§\94\80:5*\80Ó\12\0¶aòîâ\röl\80F\1f\8a)\9b\ 1\97\90»ó^>&\1dÒ¦Ï\13r\89È\ 3n\16àÈ\12+¿Gì
+ùv\85\1a\1a=-\f\17\15èÑÓ£«õj\81?\16\90OÚ[d~]\92§\8a£\10NÊâTº4\ e\ 4¦=\buRà1ìÜ\ 1\11W Æ\87Q\9c¬Y\83X¥Õ\96~á±¢~Wà\81R\8c\97æ_¸É'\18s}>Bs[\11\12É·0ûRjæù\8bÊÄê¦Ð\88ue(²9ú7Ó8HØç9d£D\96Æ.¥í\8a¡'?
+µÙþ|ÿ\vb\1ci\97½X\bµ­iN>±kFgÆ\9f\1fíSÍQ®þý-ä¢\95Þvå{f\r{Bvj
+tlFö\8dêe\r\89\1eÑ/§\15@Ùü&\94,'\7f\10©(Î\15ÌÂb\17n\13\93\16'Uð\898%\ 6-¹û#D\8f\93T\ e²·CÎnýcTvöî\84\84ò\94Zפt\ 1þ@l±±n¡b¸Z\166\9eÚÆö\a²e\94G89¦Óíw\93¬t{©ÓÑúsê£lL1íD`b\96\9eNð<'G÷b¤ÝÏÃô3°*\85\13\¥ñ,\81\8a¯\8c],ÄÊÎ\84$Ô×Þ\9dc9ª\ 5\17d
+0£Ô\9d\0»ß\9eJr\v\0\88"É:\12¥f\ 4\84ÜNññ\908@Q¡¶%(É\97ì\84\81¬9¾c§i·o$\9d?_a%\ f¨\aFêix\18Çy2¸%\16É\ 1\ 5§\11Øgh\90ªsÍÌ\80_ܰ¸£«\14ìÞéâçOã,\17:\9a\8c\9d\ 2<SX½Ë\\8cÃ\1eÒô;@Ѩ|
+Øö\96\16\96³\86·\90hp97ßD\18u¦N\ fZ\14ëÀ\1a\ 1XTrg3\1e0\9a\vT\9eÈ4wYÓ^Å0Q9\82öæÚg¯¹\904£.\f\91\87;]Ô¡;\19\84\89\8e*°=I\0vªêÜ\ÖU¸f\8eß¼\88\11XÐ3B,;\0EM5\8e\f\80Ùè\1a#v\19¼¼\ 2\ 3¯\95$\ 2¸­\92á\12~ô¤Bù};\88¶M.Ll0}é¨Xk-¬=1F\88\9a\94Îã1\eL\8eªâ\96\11¼Ì\8e\ f\91ô\86aøå\v  \88­Ç®$\17È\18fôk\19\e\98á[\1d&)\95#ú  1¼èc.0ÙåÆHÌ\9f¢\f\91g}dóAÈP\83\9dLN\16ÝÇÃ\aO\8b\1eõ`ý­ºJJ*äÝ\8e\93X\ 3\a;%;\ 3פ\12^P\ 55"ð(\1e\85éÎfr\12\804\81ÖU\95\14=\ fw\82\1e¼\86\14V\ 5{N³Z\84Ü\91\91§®²×[\9d£\1fMb\9chYéAO%°ÔC£WgÚ\ 3Y7D\1eɹ\99ëå\1e}gp|\92-xOU\0S\1e¢0RÂ\9deB}\14­     à\1dLzfDbi\13\87ý\83Èkú¬\91ÕÿwI:þ^\84ÿ\9c\ 3@x|qG,g}dn3ÝK¨>     (°ÿpr\95Ã{Ü\90])\0å\89\ 4F\\8e¼z\10\95`\8e}¯F\14v\89×\fL\ 2B¸æ\9f\9eÑI¥\1aj\991÷Ìr\98¾öÐaÓ=ÈÃ2\9a ò7s¾\83Ç\ eà÷$PÓn!\r\17Î2¤n\bÑ\ 5\9b\82\1an\8f\bFe|)˵\82ÈS\92¢Æ\14¿Aîݸ\15_
+¥íÏÕϵ©\ 4¼J¹´\9ajñR\ f\80W>BÃ\14èþ\90\8ef\9cc²½\13ìÊó\9eà\9fM\84\14W\97ÓjÞݪÛÜÎ\14i[+\95[VÝ\99\82\8eLæá=³5R.Z¸Çdê\87¸\95®{ä\ 5Ø\9e\89v9ônj··ÄnÃÕårr×!©I\ 5à\91RèJZÝ\r\86\888\ 3÷\84ÖF\18d\1dK\15ýFtÝ\1dÅxö\82¤aý!7\ 4àHX]AÄ`( áÕØ^§Æt'ë\12O`\92£ÈrBO\93\84     ¾\94\1aÞWi\93Ü\17/.\8c\e&ÏsTf\ 6\e#«Æ-Z:Ô­¹\91î\95ý7# |µÌ\97        [wGZ\16ËC\92È\90,\ e\96à`ÁÇç¡Ð1(½ÿ\ 2\reo=w\8e\13å3\ 2\ 4Tº~\v»¹§N'ö1\e]3Ýe\89G\14\84H¿úB@Û}WO­!e\91Ökj\rb\95\132\8eìþØ»^]÷ä\88pÈ]¬Ð
+;økìdö®\9fvl\84pæÏ2M>\våÀ,·­¹©\1c\7f6¶gºö^ä\94\98gc\84Ê\1eÇ\ e\ 3\86È+ü6ç\13\a\ 4¬¸\ eÅ\8c½oÄ´~|\10\98\8b\0.W¾\97:.\1d\87s.Ñ\81\18ðTw|wÃ\8aÀ8p¯\98Q\1eÉ9\aGçÉ4\80ôÂdT2NÈ\8ei\ 1\81Z;\9f\À[$0Þ¨#-©\91\12\19¶åãêlÚë²¥ßý¬[±VHÕ\8f\1c        wí®Ë&*y·$
\ e¹    àâ¡Y¤\18Ç\1d¯ëÞ\ 2z?-Ïp$HǵDÙ°\b\86´D·ê:\1aì$\8d¢2ñ\13A㸴\ 6îñ·\18¹-½\94òAǶ\8eê\ 6Áº\83\1aZ)\ 3W`]V6¿
+\88\a'~\82|Rê\87\1d~\95\8cô©Àª°ç\99\19\82©Â\99#\84ogµÕæð\81\88­uÏ/éâÞÜäñoV\v\ 4V&-äHTL²H)Á[²\10\12Ù«öúbãç\97°\0Æßì\8eÝ¢\12Ö"Æs\8a\ 6\83<9\82|ôiL\86R2äD8/a·\93H\ 6\94R\1cx\90\9bÏQî\9aÝNéÚÄMsïóF-Õ`\9eÁhOÝ\14Jü(ñ¼oà)\vú\184\00Ôü1\9f\ 6Ì \12³°\9f¬q¾1ì\1a&D"à\81\8au\ fy¤Ì\8dà´\87\f+\1fEJ\97Ï&0hæÃ\17\92\fkFʾ\rÙìÿXF}ºd±h­\81Æ
+\eÞ¼K&õ«C9ùE»\912\17\9eÑ$þ\8dN\r\93Î\ 5-~&[ÐòÛg¾~I\9f>±ñ\98\ 1\ 2­$åõX)ÌHt\19\16Ê!Á<z.\9e)Q\8f4\1f\7f\1c\95¤Ä¼,\e%#\9bî\9d\8f\15\ 4_\99°²ÆP½K\8e\9b\1dwâÙqÅæ%?pȹt9à¼yíü(G¸ê\1d\9fôèØù@\1f\885Îßø\ 4)cÇ
+\10ï½²\11y&d\11­Èñ\9fÌ\19ÝkÆÉÄ(·ðÝ·\84+¨   õL\86\ 4\10§Û;\vê8áá\e\1c,%MH\1di j¥9©)G\etþä^d¦*\17\r\ráéD\87$&t\9f\10§Ô]õ\85
+w\12\83\8b\ ef\8e\88[8,Í£\13\16i\17ë§Eª\85a\83\93Ö.\11ÕòM\1f\95 \98­§\1a\12\97\91×!Ô\88\v
+ø6\14pXOVUÆ\1cU[\80UI1bÆð\12á©·cíý¸|_\98LK¸ÎÓßÃor:\16©\15\99ÁÎ\\0aN\ 5Öi¾ \8eßLÔ\8bZ\9d\18Ï\95\16\ fÆ;\f\9chídä¨&Ü7ÂÖ Ãõ\ 5\f:-b\ 3\1a¦0\11½\16\aß-à:(ÓlÁ-\97A²À\13óû\ 2Þ\ 2\0©/O\18;¿Geønþ=\85ðre\97\11\90¦!G\83Ê\8d!chÆ\9bX!:2U[\1alÑzK5¢­Ï\2$Õ_B
+b`\9b1\8cìÄå±.\eÙÙ\9cv\11\8d6 ­_¶\13\16ÐOÍ&\14äÃ(\98ñ ë\90ñH\88Âø$ÕG\1aF\ 6Ç$s6\1d\186T\10\ 2*iй\99ÈL<\99\bó
\b¨#\10\12½æ\8a\8e÷\8c~\81¸eÚÇ»\84ú\12§Ça\1d¿ÁÝG\rW^Çé\93¨%¡\83öw\11Ý?±cMã\1c\90Ú\ 5gìH§¡Ì\80\93úÄo§@\17Ñï>\96\86A\ e\98\88r\85ùáoM~HBc.ñ\ 1¤Èí°\87#\89½ü\8aYJÃ\16R\8e Î¢\1a0\10l1+©®\vÂGÚÐ\bpú6®ò<S?£i]à\13§0¸o&ÇIÌ8é9Î\19¤Õèäã\10(T¶¥Ê9q\ 1aÞL\12òz\ 1Íl\17ÇÉ\8d2ÄÉ\10N\87¸÷3_\883tð\14\ 3\8d\98Ùlør\ 6ô\1cõÁpÂÙf\ eÔ\19\17\8f\1d¡X¾\8f\1aÅö\80\ 3[ùü!ÇÞÅ\88j\ O²\ 4\1e\f \11\bí¥\91%\18\0èóÌ6À»y\ 2\88²\13È\93ÀyË»\ 1½IR\9f"1à?8+ \9bN\bé\18\aó\1f×·¹N\14¹F\8bmLl)ø©ê>#X        É­Ü\bë!\ f^\12éqßD[&³\ 32ßK\99\98Tòr\973\84\10¦\7f       BU§ÏÀ©\92\1d¿ºd\1e\9bº¾-&ÜÂ\a\88ÿ÷cÍÓ*ÉÙ%±\8f¢u\aË\8bÓ£ò      M¹7\8fäôèÑÕÄ\81ó@ú\14\9cn\9d\89zÖjtì`ê
+;\ 6\97t~\18\ 5}\9e¹
+\ 2¼\15ã¹\9cÄN\1fõ\r\9fê=õ\ 2{\93Ç(Ø\19·\16Þºî`\10\10.\80\95·\1døÊÚ§\17\12BUÃôMháµ\81\1f\93ãÏ\97OqÜ\1f­O¦\14ä\8e\aÍvY9\HëÑU\95\89=\9fJ<\v\-Uó$ùÏ®I\92Ǽ\ 4ǧH¦£¸+p8\90\167-j²ß<\88®0\v7\82P4\8e¼ä»\ 5îµ)ö\v\ fªu{¬\13D­ T¡\9f\17×\8b\18\81\12        \10Lõøm§³\ 4\85)R¸/Z:À\89\ 41\ 6HøìÐàØ¦}\93\13ÁÓ×\ 3ó¹Ç\b\ 1\8dZ\85\88y|27\8b.sÜ\ 3±&CéÜ먨\1c`\r±Ø\10lèÍÝR\1e\19®\92²\8d²{\84Ú\1aí\14\93h(\8fRó%\9f\ré\19\91\19\85æhÁ\98øäwp3$æ\9e­\10n÷8Ä\98\97\80Q\rÞ¡±
+t\9f }\82û¿\92\ fÏ\98\14ÐÎ\19uߦØF\11i\89\17\\95_Ò0g£ÎÔ¼¡\83AU\81ªy"\8fÿ\9cGÿ(Ö©äÛªÁd6øoì~Á¨5¯?\11\eF~B\ f\9eî\18?a\7f}}\97\1fd&±uØÖe\834i\18¯.\ 3:ÁYpd\15vo½liOz\8c\80±\85Q\80Ï\9e\85^»Á]õì\85?cG\92ÉÆòÊ©Ä/"¿\ 6VOà*§Lf\96\86¿]à\91[P\0\8dóá£õ=;CÒ¦²FÒBO\7fëñÿÈ wÿÀÌ\85àc?Ó=@øÈLN;\90\84Ä÷$Òkßl\99\fK;ð¡1=\92ïÞ\84ÄÌ\99Çÿ\82Ç¿¤}4\0ýíEPöÇFÞEú¸\8d\ 1§ä6x\1do23\8fz\9bg\81ÖÿÅ\85KäÐN1ç|\82Ï,L-d      æþ\ 1lý%\1e©óx^w\95\15¼}áEo\1f,¶Ö6;þ\bI\9c\80×\18,\83\15\eóËjÒRqõÁã\94b(¸ÃÅl\b\eyán[é*óCÅ|xu¬Yñ/q&|KüI\84^\e\11`íL¿ÿÌ\ e\1cóeÆL=vðñ\1f(\1c\93\8a¶»\8fUqïPÌ\87ñÙ\r¿nÄ`þX>×\8eS\13Æ{«Ü\15IáØ[&/¸­T\9b»H*»<\94\aÐèäÝ\9dO3Êãä!4?\8ddÓñÿ\ 4ÃÍñ\91ýþÿ½ëßÏÖPaðSýß\93ø¾î\8ak\16·þ\9e*üX\1coÞö|\19\8e§³Øbt_s¤\96õü~ó{+§é×í»\1dµ\16\87·e÷:¾ç5éæyÿ¨ò\9fMQ=ùsú\8aÖ\1aÊNÿòëôüÔç_´\92ó=\92ñgÿÊÂи¨Iÿ÷ÀñqY\ eG\15 \97ÿO2\1fú~ÿßëð¢ªt\80X8ni¶`¹¯Zg\b7ápºg\1a\9f+i%æ±-aö\99øÖÛ\19\ 5VZ^W³Þ«fá]4\87óK$ðà[¿Ü\8a§éd?½\15\7f$U?ÒF\19,\93Æs$­Øû6ñÆó\80>?g|#\18P[sm\8d÷ñ6RìÞN\ 5\1fÃ\93\88\88ª~êl\81´7ßö¥\92y¨ÒETñ°ÑU>ÉjHª\9eÙ\8aÔc"ZÌ£ÒÞa[ÒÌ­{wn%ÞºNu\8e\8d²Ä\7fêÛÕW¯s!RÝõ\96\ 2Ôÿ\82{J(÷`å\a·W#á\1evßcb"¦¿5H»_X*\13·@\97VDÉCß©QbÇXF[¢¡æÑ¶Ë\1f3K\18\9aÆw\8a³1Zë\1exAÆj\ 5\vv9K©Úñ®¡^qEn\98ØÏ\95\15º[1[Ú\e'ØÉI<\82+yØ\99\15¼Ö¨\8aÞ_\8e\13{Πô\1c\10f\9bhh\8ej¼ÑØU\19\9beéô\83YÜÂÐÅ\97\9cú\8aé)<0\9b\8cN\b\99Û(\8aßṮ+\e\9a\9cÉ6Ù¦Áf\fI\ f\1dL\91©\98ÑP!\bæK\1a\97.º6òP+\97HXg\16Ü&
+`sa\96\8bÓ³ÙøË\89]{\ 2È\87\\96n\f\96½L\81ÝñÉ0@ïäcÓþ,bí\920þc oú\87g\82\ eÜ\än¨\ eÂÝP\9aeÝjy\ fÀ\rft/Ö\91i\84\0mrJíÖ*\81¼¶\90õømË}\11Á§È\1d¦oTmÊ\eôùîý8r7­\9câØ\88\96;7j\89\86Bz]Á\89\81t\1c\92\ 47\88{Å¢aë}4°d¤½y°Z|þ׸T\9f>x¨\1c\10ð/\12\r\9dà\88\13çàÑ\aX\86­a EáÁDn?¢+i¸\84t°æ\a\9e,.=\9dìØ|¢»·v¢Ì6íËÚ7G2\ 1\87@­ò\17p\ 4³áQ2$¡íë¬HC\82Ðçaf\16Náwe$¶Xö\80ÊZiÚmÛ\1cï\95i\10C[o>ý¡\8a@x"F=ª´\91#\18\ 2}=åìïìD\8c|díwÓ\93
+hìÕÿr$c\91X\9a$\ fÜ+ý¨\91\8fÕV\9d\93÷\95þÔHÇ¥RÉëUó\13µÞuZ|îd\5\87\9dϳWÿ\84ív¨À>\17&gÛ\90ãáº\eU$DO~\17\ 4\88\83\97\91²úQ_\9fýq\9cK\17\933\86\1coñQ\12\V)Ù\8b%\85Ø*¸dâ\1az{\97%8\97ÿµ8O¤\88iîÆI®ý*îb!§i\1ad\98\9eo·QÖßj£¹(\83\1eý\94ÀUKÙz\12Zz\ 5^\16·¡ÖµoîЫöpÛ9/\a\1e©}fs\81÷¯?N\8b½éúÅ9]û\ e\8f\ f°\90Ó£O\8aÿ\92 Çÿ\ 5°î\a§\acøwß\86ÈON\e/\1e\1dm\9f\eH5JºÉg>¯\a²´oåø\99ï\1f³\831)N²5·\ 5z«/ÓÊb\e¾û,\7fGâ¯ÿ\15ÎN´Þ\97º¢  \12¿èFÎëÿ\97\1e¸/-\7fâð½\12Ó#b5¼Î=vß+\10¾ÓL\9fæb"ÿ\84o¾_\1e¸ Ò6ËÌË!5ÿ³\8f\92óã7ßõ#g\7fó¶×\1f\8f\1c\9f\97lHIÐ\80\11:S\13¡\10\15\8a\97ñáÁ³u\ 5\84%¤CH7\89\99±\8e{\18­6\17ª\11kÜñÖ¤ §WoRàµïÒ\v\82\80Eö«J8T0Ê=ï\96Ú¶\9b\ 5\8e{\84r\83\ eiYH\9aÓÎ2\¤Û\18À¹µÕæñI\ 5¿:d ï×Y\1fBeE¯7\13ÅXò\14(·K¾\8aÓ-|º\1c\8d\18\99´ b\19µª&:C-}^¡6\95*9!ïFf\1a÷\9bÚ\7fÉ\13\8cà® M\9eìp\8ayjÖà"\94\86Ä\98  \15e\97{}\12Xÿ.öî\v\9f7\1cöOJ´â\10qs\ f1\ 3\80ûÀôãæz\97\8fpzPÕ\88kOo0Å¿yìûó%ê\86ÆC]{4\8c8=\b&2*\95$3£sHgI\84ñ\1f\ e"\80\17Ïr}dL\19\ 5¦e©/Zû\87I5\93\98\ 6»Ó\ 2e_\ 1\8aÕ0\18\ 32\ 4Ì¥¾\14(°ïz!ô&\f\80H©·hD7'\9at\1cm`&'^Ë;\11f\87QtC¶6~ ¸15El\f«/\11\14\173I4ñ\94ÃÞôx\80×j\95\98ô\15©!»Sî2q\82Íðö6üC\10îñL±¬\ e(\rvêP\1aïVd\1ff-/Û.\1f\ eG\8c6\918\ 3\9f\82á\1c\8c £d\180£Å'ºm\ 3Ú\ 1 \88M\90fýGZ¶A\98\98,ã¼1ì£\9a\ 6Îëöº4Û\1f\10\8e\9fêBÀ\82Ù\ 6ÿ¼rp\80ø0V\9f|Ç=¯6n\9c\81ÔiNNú\9eM\96\15\9f"ÜH\ 3©\98\ f\987f\1e1\1fcÒ6¥ø.\8f&Ó¶¨H]n\8c\88\88td4\9eDѪ}51À"s\8c\ f.\15i6§ÿ±\86Ù      ìHæq\9fB\94\95\91\r\16\ fÖ\18\b\1a      Bh}Ê&Ä¡àçª\89©ý]\87\9fþÏt¾ZAT·Y*ª[¥\94U-\87\93U,uÅRi_\8eÕ\b\15òB«ZK\86\9fÈ7Þ\94ß\7f\9cßt¿Cm\e´æñô=ÆÇ\18ãÕ\99òÛÅECña渰ñ_ý\9b\1có\ 4\9b\9c\ eKj\83ú¾D7r,\8eìÀÕj56\9c7yÈÆ\9a\ 6Ú¼\87Õñ³q­¸\8bÕYnù\\1e÷\9a\9f¿\83ßÿ2ªMj\90\1fþü\1fÿó÷Yæ\rÁîÛåàÿ\bP.¼ÌLK¯øØ\98\96\eæ\ 3¦ÏRo¿ÛÔ×^n¦ºÿ\95\84ÿæá'£_û.y\9b,VfÓt\91\93c\ 4Ù|\98Ï\85X\vh>\ eH\v\eX\e\85ðRÖ3*&Û4ú_²äÄ I¢b\ 6k\1eÔ\e¾Ã\a4q\8e\ajï5l9U,R9W
+¶!Ô    ­7\0\1d\18°Ø\85\91\89©ïY\86ú\8cô\98\87C´l\17 G¶/\9dV\ 1åÉÐ.æÃ_\17À°Ãl3é\179@'ùºY\15\râé^\11Ü1XV Ý\12¦#\f´)\7f\1d\1aU\83\18iu\13\10¥¡ðV\96%\91\910\91Ü$\8dÿúu\91\eO73\86ÜÚ£&^u´ÝcÖ-¦s'=\8e¥Ì®»:?Òy-ÇFO"¥\15ì5b\87Ú«\892ElEFü£\89UUëÏÚÈ\15A\1a4\8d V\8dÂÐ\ eô˧ѩ\81Ñ26=\851){'Õ2¨X¦É\ 2´\8e;uVépC[\9bP*õ­¡ä5Ü\15µ¡\93:ü6µ\e\85#\ eè\97[0\11\1a\14\9bQ\8c\9dû\e-xÜÿ\8b\0²\87Cm596MÐx!ÁªiÄÒp-\b´ô½Á\96Þ¼8+\9c:ähe\93c_Â\ 6C×Ã\9a\80\86ÑQËø\18\19q[d\aÌ\86\15ÚÃ+òêþ8e}\9f¾¢\18?±Q\f\1fð\ e\86ÁXqmò\19)û¶\1a\r¾CÙ\9dÉmò\1e è­¾Cü'~ÆÞÑ«ÿso|ús¿¹·È|¸0=\82åL\ e¹ª&»tò£ü¸¬e×þ¶Þw§\1e\89Åï\9bñx\1dÿ\83\16\13âµq7ÿçïÝ@
+ÿÆm\98jN\97Ó\ e\ fõó\9f£1áê>Þ&\9b\19ºö2\19ÇT\\1f25¶¾=U\96\8a?\93Áÿö²\150F\f\1f\8b\14¢/\17ACÿ÷»¾\r¹\ 3I|\97ù\9f¹|\97Çÿzù/\8fþMÕOó\rÃßR»\99Â\ f\927\ 4=/'\82\f\1f\0\r·S\f\ 3\16µøq!Ç\e¤_\1dÌbh\98d\r¡¾ÿww}6\98a\870À´\95^©-Å»\88ÁiÙéÆö4ÔUzãÌomeù1,¶J4Ä\8aÕ\96Æ{\86:K1\19Úð6hS\ 4\90Eª°^-&èF\9c\ 3å0´\90å´\r°Ê\fúJ­êñi!\b\8b\12Äý\9a§p­Ùq6\92¾3Ö¼æÉ¤æÀµ»Æó±Ñíé*½eèOB\12\ 3w·¤s!¹\16æQça#e\8bI#ðI_t¬¹kk._üÍ)sm\ 2ÍÌÚì@\ 3|iíO\86\rç\17\vNfö\0Òx\8a(U\12P6âµ#à3fU\80^Oçì*\15¡\9b*\ 3\90Ê\r\ 29  \ 1\99\9e-$åm7Ð\ 1s\ 5xåµ?Aé­\16\92r\812·+@.\8baº!ܯ\ 5\9bî\15\85¨`
+\80ál\90ùõÈÝ\10Yßb~TÛ@Ú\8aæw?`\14'ZrÙ\19Î\f³\13c¤\ðY%\¬dí:4Þ0²àyø,\15\ 1§èÊ\9câ"jà©\13\11ªfÖ¦\ 1î\92¸á)OïâÜXðe\1a\80\99\92\11îA\8dÇn*u½rå©\11ÿ \93¨%aá\16ªQ\19W¥îi\81&×j,Wg\1eÿ\0Iw\fï ÷£u\ 5\9a²ò¯\0 º¡é\f\ 1\99\b\ 4@s\1aGì?\10´\9b\12\90ö\1f}a¢-P^\8eOÙìÍWf\0{Ýõ÷4"    §\12\f¡ßñA$y}Dn¯ä(\88§\1e\17V\98\120. \83î-æï\8c\e\96\9dãp\95ã\9b¶¼y\14¯\1fT\8d\ 5\9aM\8a·ï¢\9eù²áÏ}fÇ-.úÎ7³\8f\80¹\0\b\97\ 4h}A¡Á/$g\83jÂT·ÞÝø-7`&ÊÁiK\87\ 6Ó;\14\87­}&ν\8e\92\93\85²\ 6ê)\80\88â\14d
+\v\v
+\92Cc`²\92÷²\ 6Óö£\84ÀÀ\ 1ô1\KuD°\930ôÂñÌ\8dÛûv·m\80#\1c@eÖ\97\vcI{Ø£\90v¢<m\19\80\97ÒB\17\ f\93sÌÕ\81pT\18\85\14\98\97X\90;ï·È\91\19\16b$    'Î\9a(\86d£h×Ó<\1a-àô{ô\85coQ|ë°Õ.iå\8aNr%\87w\97Ökór#¨-CD#\0Ñ¥\86¬p6HYÙò0\91&¤gå\8cÕ\90r\84#u\85Å÷ö-\9b{¼*É¿º\e\ 5\85\81wõq\ 5du§q{·àÕÀ!\16µ\9f\93%Q\8e\86"úæxd²Ó\0ôì\84?\ 3¦Ò\906|ò\9crxU8äùÓ\93é\8b¦ÒQÿ\89\8e\19\7f3\1cwâ±Â\8d)\14\87Å«Åý´2>\97Ñ\e¹ÿÄ7Û\93wAæ\f¸¡èÍ÷ùÍ÷s7sþ\965F\1eÉ¥ö\1fø±\93\9c^\15è¼cÿâp¼Õ\ 3\ 1¦ÁA\ 6\83\ 1§ÁA\b´ü)°H}\9cG'\8e\93\ 5Zf\93\8bá÷ü<\14\82þ\86\89Þ\82\87§y\ 3ïwlzÉØÖÕ+\95YhyP·}Ò\83=rJ\11?ë?\9c\11\13Ú]Ì|wÍ\voÑÿê\16ßÑ\1a\16שùamü\11\91,;c}òø¯ô¿4-¿\884-®Ûä\85·Äµ\83¹\83Ý*UÁ\84\7fè\9c\82µ^stª¥\1dí\95^ÕÁ­nS¯\ 1øÉw\ 6&J\87®E^æ\ e5\1aÍ\85Á¼-X*B×\970i\80\eÀbWÿ æ\ 5\v~m\84\8aT´cõMuî\0PbZj HÌ£T\ e\9f\ 5\8eÆö\ 5Aæ¦B¶|\15J¡¬*y\19\97¾:|\11\11\95\83\87\1cV\9a}&pÒÆ,k)e\1c\86\1e\17\15];\95lea$¯\1e\ 2\89V\12\86fÍO\O²/Xë d\\r\9f&éåõ\84Å\a\96\ 5\ f\1fc      X\9fwd@\1d  \8av\v§Ê¨\12\8f¨½bÂ\97\8aË\9fÂ\b{´%#¿Ð\9d\9e¢F®f(To\vÖÕÀ\1coXé?\13Ý\1dÎúÅ;1ú¥;1þwÃÙ\8f\88\eÛþE*\97\85WÈb\1e©Ì\8bùdÂÉ\86\ f´¿\83ôZ~ç¹î»®ï»û?g¼ï;Þ÷¸GôV\94qÿ\86Ý»Ç\17mÿÐ0VÿI}wè¼\f\96Ïìþ^Â\83MS¹Ûú\1e\97}äÕ{\91­\91Þ·e\82åm¿ñ·þ\ 4\9c\9f\1d­ÇëÅ\88\16\7fü\ 2Ãí¡Ã\94í¾f.Í\87\83\8füaopF\14\7fÇÂ\8f\rnŹ7çs!oqñ<Ì\ 5\87êV|¬\vïXf\ 5÷¬æxQôfÜ/F·\99áGøF\87Gü.5\8f9V¬\9b¶wV­SzµRà\7fÁ\ eU«QQííél×Ú¶îS\f%Xu\83\91ãqrÇF´<#\8aC\93è7\ 34\v\15K¤Ö#Ù\9a[ßf\9c¾µ\14\7f¬\e\9WL\96\10ù]1m²\99\9b\85r\1c\92!à»%v\88K\8e¨ÙUr\ 2Ûç®ß\148ã¸/
+\93NªÖ\1c¡Ù\95s®3S\18ÊÃü\ 6\18-Eà:\13\14]\19øjmkûªmkð91\14úr[î8åQÝW\e\8e^\94Ýìzs}÷æûöÒ\0\12ÿ[ªêÁ¥b\9d\aO°Â@eõ\1dy5\19}ü½þ\93S\17awýR:Ò¢Hé¶Vé\1d?\ e\8eÒõ\18L¿>1k¬M§üw\12\16\87\18>\ 6\931Òîò\b\ f7ëîôwÜä¾\ e\8e5¶6üªÉ·*\1cGv²ãÒ-¿\7fû«~Òð§uï÷zsáê\84\7f\1e­ýO7ü½9ðm\1a\80µÊ>ñò¥ãðã#hMÏ\1f©iñ²ä}a'w$¾ù{M ·mÍ\16W\es\Æm\ 1\86\eïû}9ðd\97¸6Oͤ?N\7f\a+méϤj\96ÃÆÏ½\97¤|
+2ôÍR;¼ñcQo\10Çø>÷mèÝY    ¼É®SÓ\1f\89è^eû\ 1+hsçÎbó\93 ÁÂ÷¼óìºÕOyÒ\98z8àK   \86\98yA+÷a«3bJ\96!/11Ð\9eǺÔ(\95Î\17v÷¤ý lÓKoF-H,I8éèÅ\ 4ø\eL\ß!\86&¶1\16Þ4å\8d\9a}j\9b\ e\1eôÈ{ñµÈ~dv\1fhN\ 23Ø*\18¼G8É\fM÷Ú»Á\9a\885¶P\84\9c   \87î\væ#õÝ$¸ê\17¼\9a\90\18È:TX°éQ^"«ß\ e\ f\12¶\l\a\bnGB¬\16³\8aîÖóýx\ fÍ|\98\ e\12éÜ&2ì5Üq\15\91mö­Ê\87ÃnEh¢ûÀQ+v\b\a£8l
+á´¶ÀªËÆr\15¾\ 5t`£'QÈ\97Ïë¹\18\15×\14ÆèFìO\95Ø\ 5Î7÷Úrñ\8eÃÆ\8b
+Ccmr\7fË?\9fnÏgæË\91\12\18£\ 5\87\8e\15(=\91Ó°6\rϱ\9f\86k¥¾/{$æeâõïcÛRü\16d0&§U×\ 3nJ\81V²;>æ\12ü-îѽ/¾¿(\r¹A´o7î·bæ\13p(\18:ô3\81Ö*¦¬\16\ 4\9cî%ùX\91µ\ 1ó\16æø\ 6ð1É\f\1eÚ2\1e*A\1ev\96\93í fï\94k8\0Ërû\91õ`?\12~ì<«+ùOÇ\82Gp¯eHæiø%Á\a¿T(A7\1e½ú.O\15\96ô    x\e) ¢ÑVÕ\9eÿnB ¢\ 66\91ÿi»5\1fÒF\8fØ&.®¿\15\9d\12úɦN5Ëø\erb½\1c'â³\9fÇ\87n\90\vI¤`\8dz\1dX\89Ù`bѾ\96¼Âto\9cc¤]c,2¨2´\15®\83Ë»¸,=y`Këû\17\92dÄEJFç­Î
+«?ö\91¢©Õ\95IÎqY cº\8e\bs\94ìL»\10Â]¶^\9béBi\8fTY\84\10\8fÂ41\97ì\85 \0ø½\rH\0¼\ e3Z:Å\80\9afjÎIë¦/\ 6\10ø1ÕÈé%\ 2\83ì;>\81\95\8eâ¢N|ýlíÔ%ûû\9bÕc{J\90â[¼\91§Â\85$\r²DlÇ:p°,ûì\rV¢NÇn\10H\8d×ZÚõ\D¹Î¶\13(\127ÙB0>=Eòòä&\f@BG÷Ð\b\9b\10zn\b6\8bn1\7fw"&ô|TD­7èy\eJxT\15¶¦®J\8cæþ`\91\rZm{É&ð*o\8añ
+ÑÑêÎ8U\88*6\90Õ\ eÄ\1c\8dSi\1dÝ\85RÆ©[È×Ç\85\12»\1a£\92£9½-\7f\12\97uÀsNX\aNl\1e\9a\15$S\94Ã\9eû\88fZ³¾Ë§Fíöf\10¬N\bCQFÌ\ f¬\9c\13\88f¹æ!v2@Lhhg4@\1a6lÂag¨µ]øbXø°pøûÈÔ´f6è`.%Ù_\ 1[\ fÞÝ\94Qtúä\17ÜF2ãÚÅm\8e\1cF_S¡\v¤@Ý\84\18Õ;\b'®wv2Î,G;µ\8f\8cÝÐZZ·ÛBÜÃZfJ³£\87víÈC\87
+\91\94\vL×gj\90!
+       ë]í
+\85UÇÖ¥
+r\837Öáò\vë¥\94À\v\1cèg:\94\ 6kh\8b\94\9b\18ÊR,ôP.\ 3\fà±ÑðïU³u¬\ÙXÆ+xµµ-r»\18Ã\86\80ê\8fp!%\ 1Ysíu}\8c\8b­BxÍÔ©¨W\9e\87·fP\93\8f¨=Ôo=\ f¸V\86nº%\89Xk\13N>)øÙ")îà^\1cÓø2"S+"o\86g\e,eh
+Ñ5\96\83o
+Ïü\8b\1d_\r\bGQ\81Bé»§A\ e\f,s\Æ\98OÔ°(Ñb)\18ë¼\v¨\ 1r6@dÒH_Y\ 1¥N\15ÏU¯y6\1d¶)®\8d\0(ú.        nÖË\9eßÛkXñsW\v^Ü 7ß6\9bF\92mÀ­\9b\8c}\90-nQ7>\1aÝ0L8³6ì¯|\10d|\9a\8ch)\ 5¸ÞÞ¼Mí\865Õb®¯ªÈã\9d\84/\ 1\ 4f\93Ìx\9fc9\eS߯\a\19~\12ùf0\88K4    \9cI\1eü\99\10Q\ 2\83![Âî\88®ºõ+Ý\8aíÀgUt0Àih\12ï/ýKt×\8f\ 4£\86\92\ 6GIH\9cçÀJ\0±¥\81øù>:Ý:\89îjjó`³\9a/÷E4¡u\a½(8\16<\r·Ã\aP{\r»©®É{Î|Ë{Ûݵô\1e7²¦e\9b\82ö°K\94\1a\18²jð­PÙ´A,Oö\fâ­Ò¥Þ$ªI\12FÃÆø@U?Ä\9a\9cW~ò7S1'\154Cú&%Wò¥Å\8e       |\1eOä÷d\82ÓðÒ\17\83i\0µÆ\e¡>e #\89YÉɦÆWðè\1aoL}^\8b\10ÌÌI/JQ>+:Ævþð÷\99(\92ô}\ 5é\17øÆ\97>K!\90*\1e   W¯ÁK\a\11\86NF\84¡ð±·û\15_ÊM\19\a\e\8b.ãZú6».0&\ 2Îò\812
+Ö%ÁNG\13¯bBÚ\8d\9c¤M\ 4ñ@·S\90ðøBÃä¾Ä\17Ä·ë\16¦*ë\83o\92\8bx\9bf<\ayøÁîn÷Ãéd?ò\8dõ\18 m·ÏytK\80\10à6\ 6ã\97ài\1fÐ+°\91\0\f\7f\91V\ 3²Eöi[|\9dÀ>¾\96Z5ö\807^q\ fí\84\83\9e\9f®~ál\ eØ6SS¸_X5AÛ¦5 ä5ÆÉ\8eÝ\aPt\84®·ú\e\ ex%^ÄÔò{\ e'\83aÄ÷¶×X\96Ã\89äv\1ck\r°à3£ÓY\14>
+ö¯\96Éû¸k\16\8cd\15,\1cÅz:ú\8f\19¤öH%}\99¡½\8c.çN\rãâ\ 6#\8b\a,Í?Q|É!½\18Q;êä\891çv        C\80J\99\1cq  \f½\81B\83yöjf\16£É\10   \v^\85\17\ 5%\97$\9eà#\rKªä,÷áÉt\ 2ã!!@K\\85Ä\98\82E\98°¨üaLÄ­ì½PR~\80b\11W\9a\e\8ft+XÓs`Ôpà!\8b\b{Eiåþá¦{õr\1aýùT`@G\10*4\0ß6ø\1c\ 6Õ>êæÖ;VÔ¾ÁÈi8\ 6÷L\80\ e\16!â¥R\bk\82¢\8cYc~\95H\f;]/­½F§K®ÿ$\r\9a\1c\1dù¢\87çFYv\8b,B`F\93\aÉ©z\ e°%\88\93ÌB~«\\16\0X\91j×;\92\12­\97 ¡¼)Ô\\94`Q0v\ü\ 2mgfc¢\16£Ù\8c0¶8\ 1©\16­\87k\ 3x\85r\1a4°[Bj¯\8e\1d*¨xyU\eà©P¥ovq-ì²VF<,\81W wĬ\8cdK"\89+ << âÔ®C\87ï\1a¥\83\89d_R²\ 6(!o~ö\8d'gûìϳ$É$\87Ù! D \11\bµ$\12Ä\ 5\90$\a>&@û\130#P\11QRùl¢Ò´¡0AE°r      2|e[WÚµ­BÓÖ¡UÑJø"µY\80\12ATb\b2Ô´\81Ar\10\14T\ 4Z\13?ÿ¿¿¿ÿþû$\8cDOZ­|ßo·ÜÝß{\97\9eæîõ÷Þç7yÏw7¡î{{~æô7\9dýéïk{[ø\ 1¿\80;ÔßÀÛO\ fu¶Ûn²F\9dä\8f20\89H==j\9a\10jg¶«¾\v\8e1\19\84\0\ 4\99;|\8b¯è5Ô·ã|ö\11;¨)T\váh@n~«N$\98Ü/Lp\8cS\1a\8f~%ÞîqX«5\19\9c
+L°p\bÜr\17\17¿\8dÊ\13i\89¸½/\ 3ã\93n8¶\83÷Ñ«\94¥¤z¬\90]V\ 3¡?úJ_\83EUküÅ)¤À\87g\13\9a%ì¬
+k\1d¼)f\173çº}¾c5¤­\84\8aÏÓ\92o\ f\1e\9a\86ÊGé¯\v ³7\0þײL\0¸ô\8fÆD£  ¼ÿÎ\19ôÂâzOÖÄ´Ó\1exÛ&l\19ܵÕ8ÚMa\12¯Üe\9cÍñ©Í}-Ë\7f\15\1eÂu¥\1a\85\9e\12þ\86\"Èþ,©\10óõ.>DßÉ*̶I¥·½\ 4¯\85å·\8c\a£Wo\9d\95.Ùð»\a(ã×¥Q\12\1c{ØÒ%\9a\9a?²I/»\19*\1esÿ¢Ù
+S\ 1UüÏ\14\95ÝáZÍ\96JhÊ\84\b·½Ê²\^\ 2S\9b\1c\14é#ô\87ÛSÊôñxì[¶GÚâ\0÷BÎ\11\8c\1e[ÔUͽÀL¡\9b\18¬)O\15\84ÎðÅËÖã!3\9d\96\v öZ\9a
+Ùvmº\93[uh¶5\9eb69ê\9b|\15κÆ\88¹AÓñ\12d~\ 1ÁÓñn-Ri\18~\ f\8agÞc$H[!4\0±r\1e¡â\99ù\18¹Ip\86å\94\8drÈðÆå\96c]t\10ô\ 4GC"(ß<%\12\8c6®Nt\16\80úÀß\ 1\92j\9cô\16Þ\96.¹ß¤á¤G\ 2Ë\ fÙ@dL\98\ 1«9"n\90ûª¬Æ¹ÂÐ=·\19¹\11/     \12\9fAFFÓ K×êFÜd)\8e¼*\9dD
+ÜÊ\a±î\8cíù/n&\1d\\16\8fP-\1aV\91\8f\90:\82½¸É\89Æ¡À\98\ 1)\94l\83/=h»[\8c\8dè\9d°$°\95XØ­\ 5ÆJônÄ´7øù\19kGw9\e-À>F\15~Ô+HÙ\19\17ì±\91M\90\98K%þLq»¦Úõ\8cð²ßª» Çi/\ 4\15f\97³h#¢ú\87a\9f®acëak|\94Ò\ 2ºÒ°w\9e\ 6À\8d\83\ 4\87Cßj\12âöV9\9e8@\ fºc\80Ê>Í\1fPpL\ fܨR\9aé#ü\90\9f\1f\14Ò_\10\19\a\90P\\86h=Ô%nB{Iy \ 1q\ 3«qV\rü°W\11¯UG{pûÕ§Qå\8fÞ\9cß¶\88Õ\9dVþ&âÔ¾.6ýú¥#\17Q\9f$¾º@8îø;âb¼þÕ\17³wSÒ\96=\9f\86\8b\99°\8d\13b|(`\1eîªØ1Pe¬AU£kGí\96    ÅßU0+z\96T8\87|\1e+g *öz\94ö0\9dØG-ÜðÒt   Dñ\9cfA\9cfðÎ3wá\87Ù\9a\9eM\8c$ÜÓ1ÅÈ©æ8R\9dx¥7·A\14xðdYRò\88à0\ 4D(/\96f\14½\b\133xZ\98Ü¥-\87ê§\84Y!
+Uï]äñÚÕÒ{ÚÃ{Ä\95ík{Ùù¥ÉúÌ\91F\95°ú\81\13\12\81@HädØáfß\159v5\ 6Á®\88ÍÏÌMÏ\ 2å\7fc­&ÒI\8f 5m¸\12¡\18Ù\9dÃ\7f\ 5\18-î¥#}â$\11#}\83\ñí;æßî\91¾úv×R7Ûé"oÔ<\87üäo´¤\98\91©û   \ fÛ#}í¤XÂhä?l\8d÷ß³\84ÈH~Ù\eïþ\ 2[,é7¾GûÒo|\8fî\96:ÿùS\1eÀ\83XÿÞ¦=øÿÎÎ$~\95©å\8e¾ÝÇø7ÛÏà\96\9eß8äKO\7f4\9b\a%<M\83¯õã¸òÓÜÃ\8fóM±ÿ\82á6ÇáxÈeoO¼\9bcü8æ\13l~'\8e\9bcññÿ¹6ÇÎÇÿjm\8fõã\98\80_ú±Ì@/íc¿ö\9bcÿ¦}ÇÿRm³}ï&Û?ý&Øt\ 6Ù\9e\91\87Ljó\8c<j6Ý\88Ã?±`KÛÉjvâb-\10~?\81\94\eò\1eúÀÇ\8d,ñügÌ\9d\12[x±*®ì\94ÇRÀ\92¯­ø\ 4·¿"ZÿøÕìß"ZsºMÍü\89j\feµ5.O¤_!7G¢\1e\7fzp\95ë#x%4Çì\1cI­ÿb\9a+þÚt/ÿ$Ý\1fò¥\f4I\9cøc©\8bú©FX\83?ý*â\1d\17|hNP¡E\rR\90H\1c~@ù$ÍÄürT©5K\9fJE/\9e\94y¸­p\95
+RIQ%&\96%)D±I]\92çRQ'I9IT¥MÆ\9c²Ti]Òv\94ºZ\14¦\12ìÒe4\80gίsû\93þø\93W?ºÙ¯êMÄ÷J×Þé¾à÷Mö׺p\94\9c?çMÈÿ-##þé6\7fû¥½\7fü¦êy
+I/ôt9X8ßÉÍÛ_|\9f_\1f²þ\12Ô\7fðþÿ\8d\ 4`\bX[\8d0+\ÿ\aMY¦­ÓXi¬tßÙ\r\9fÅ\9c6MñØ\9a\9an\8aù/;\ 2ÿWÒä;O\9dY×b¼ë\1e£ÉÈGºÌâ\92âe1\\98B¿1àu\1dÜÞ+ÿò\8181µ}\120\1fûU©>+þÊÔ\9f\13þP\85ø\18cë^\eä\84/\87¦eÔùDâÝOüQ5ðÉxs¶\v?\ fðÂ\17Âi\1eËQ\1d Vt_\f!~\80û\ 3t\7fßË\1e\1fe\9c1ë<\81ÔDHj¬zÐ\9bíçÉ·¯|àø0\82s*\89¿Á\97Ô\ \9d}.\1c\954üÿ»5À\9dÂm«k\8fH\14Ân»'\ 3¨Íj\9c\95kÊåCÄa5\0\14 ]\1cÊ\19ñ¹ªr\17\90­è3RæüM±Gä®j\94\19ÀXÖâ\82Þ\11\94,n_\9f÷a\19DkM[ÿ-\ 1\89W\87²mæ43äá!,©Ì  ;0\8cï¤1ïX]\a°Êå¿@ï:­<\9e\88Ì\ 4\88Ø|Å[¹¼u\12tòU5¯ä*3ó|óGí@ª/Lb(\18ñ\ 4^gÑ\bÃbZÊ·ñ\ 6[Õ-Á ¬Áç|dï\99Á¬:ô\1c\ f\13¾î|ê©\85\7f\ 65×dÅ×O\1aëXÅ×K\1aë÷غØ$ÂÔfo£\1d\88vÃV\12\82P    í\89zHìÆùõgã+IiáN\ 1\ 4¾U\16a~t=FUo\8b\9f\9eDW9d`\13¨À1Ì\16ãi\964%\vSÀ.­Xºö±´Ô\1f\7fº^ò­×8ÄùatÞ¿»uTg\84­#\ 2öÕ\86yÖðªkiÀ\\11v%éyî\81½ê\ 1\ 3.h\90k\ 5]Puø\ 54<a!m]|Ú\9a\1fd¬ye46\84Â\8fÞ]Ü.\9dÅE\vE*H\9bft\r\15¨÷\1a\11\86\0v¦®H\bYå2°!ß¡ÚGS+\ fr\99µW«      Òb\94?\13\94Ô\8bÃ\b¶]Ø×¸\8dDû§'[k(\16­\86Ö\1d\9a`Ý?KW¡\1d¯;4Z@ñ\8eùüEW­\87\12ü\rÔ\10V\1d\9b[YÑ\8eèC´kL¼7`U\10\9d§\ eÖñLªátlÈ÷iv\ryp¨Ý_\85¼½µ\1aÚ 0ð°¥ÀbmV§b½|\1c\8f\90Øh:ÓQ\8b\8f        ®SµèÔÕÑ\89¸Xå\9eÂ\94Ì\ 3z|      ¾kj\8dN¡¤NµÜ\95i¯¸\ 4Kú<:Ö\94ü 0ÕzØZ\ 1rYzA?<²â¾|G\90\v
+þ½\b8¡! ^ô\82×ïÕ¡¹ê\8cöu(Ë\96Ø&¤q\84e\eE48T6\19Øê\ 2ÜW\83÷^\v³¥\95rïø\8b\83ò&vÏ\90
+ÉÄ\ 1\ f\10ò,\15Ëî\ 4#Sìa\89ØÒ ¹y!sÖg\»ÿQjøá\ 1XÈMx\11ð\ 2ºº(ô\17/}\1aîì&p»8*¶\v\eٮ ¦Ô\vYè*É\9b\röhÔú®ì0Á:m9£SXîÁ©¯æß\ 5\1fµOa7\ 5Y¯æbú­Ä\a\83ã\82¯å\82\81li\85®Ó\e¨\ÿá
+2Uo\ 1î\86CÓ^eÝ\fÕ¸ÓÔ\ 5\17\ f¡Ë6\7fv\15Ìlã\10ÕJ\9eØpµÊTÏüu\ 2Á:Ú-Ú9|\ 6õù\972]Ìndº,/#\9a\8a3Ý`iª\8f\b&æ°£?ÐÛ5C $É9i\13\1d\1f\83­\ÉJÁ\92\ 1ÃD,\9e   \97\ 6S\9d\8d»â­?\80×s^í³y#e\8eäùbË\b97¹\1aç\e\94j¹\7f°\18\14Ckaì9ªrz\17\ 6\f6\17°\8aå_\14\179\1d%]éXX¾\8dÝTÍ£Qíe¦&Ëý\86\93\1d\86\8fêjr6׳eîÖ2¹Ù  \0\1f\85ùâ\ 4?\ 2\90\8b <ðfµaRÐÓ\ 2¯¶]\15ªì\ 1j\879\84btó_îX\fm;\80-¡rl\8d\ew\80²SY\ 1\8aÕÞ\1aL4£\ 1í¾\96akYÒñ\19«y\0¢3\10\ fÈ^zx[\89×p ð>·1n1,\84on£VŽ¢e»1Ö$P\12z3q\9a
+èÔ\87ͪÎ\ 1F\10\1eÉwvÓ"\ 3:\98¶½\8f\1d\8c[\17\1e\ 5l\14\eÒØ8ôUɸó\få\8e\997\1e\9eÕ=´Ø\105H!;0\9b\18¯tä\930ø'\13'vÎ\vÜJV\80ÆÙ9ªê<êL×*?Öb£F\81?òW;\1a>\ 5Ú\8a\83óÙH¼GbÞAÕx\aM\0b¸ØñаÛ4J­ü'\ 4<\93õ\8eøD¸ÇMr\9b\87\111?\1a\108\8d³o^\9d\86y@vq¨x!:Å\10Õû}CÅ\ 5þXC\0Ùw¼+ØC\\0p&\91NQ\16p®Cëe1Ð\9bsF¾Ì\84è·Cr¹v,y#6'\9e\84Ø\18\85ÉÖìÖ9\1a\87x\9du¯ä{\87þA\18Î`a½ë\88\vDÔ¡\86\9cõ¿:4\17\10(\1a\98û&z\8b"\pô;å*q\81\1d%\81¿7k~\8d4XãD\b(\82è5
+©XmNS³\88Ü\976=\91Àq°gÒ[Ýq\ 4\ 1:Ø#W_)©üÂqG\97±\b&FY\ 4\93©ê\9a\9bU§}\10\94\ 2²\8bPñ:Ù\a\90°ÔK'¶µ»¼\9d×óв4\11V^¼l©è"\95\18\ 1\8a\9a\9b\13\7fÀ\1eÖppi%\8f\85'\83x\9eÐW'\13äì\1e'bô\aw+\ 48P\15®ï\83\16\a\19³ùǰ¤ûÃlÃ\ 60\88§ ÐT¥\93ÖÂÉ[\1ec\13Ù\13$i²s N\87F\87B\f²\1f&ÑhM¥I\80 |Ã-øm<®[J\86\1c¨:®rK\8cFoh8\9e\8b¯}Cê)Ù\ 1R\v´ðÛ2GA\8d§\18\80(\8cP4\8d\8b\17"\91\9côd\1d\86Ó
+j\7f(í@F\ 4¶_\1en\b\r´ëclêÐW\ 2\98\8e\17&áUùÀá_\9b\11¯%öî\9d\93Ôâ    \8fÍõB\84 '¸6á5ÁZjÏ»G³¾Q¶\eÚ\8a»Ô%ã¶vBݽ\13È\94\86\f å\81\9d\ 6\105Ç- K\14üÇ;\rèUCÞ2\9a·|/\9d\85\83\16\10í\ 1ýÍ\ 3ê¡\80­\v¾\a\ 1b\1f©Õv\96fÀy\8d¦èß\99ÇrZÑÁ\1a\15ó\99\e®\b®²óx\0¥\1dÀô¾}¦éâþq®¨\eÙîà¢Ré:åI\ 4ärõ8¯\ 5\99:yÃ\93Á\18\87])N\91³á\ 37
+ÂìEv\ 1\80\ 3\91z\ 3\8b÷Ð{C\175<ø%1úð\1a)\93»@-*+Øc\97m"²~\8bÈ-\1e§ç\ecR\0rH·¨Ë\ f(}\1cÝñð\18\ 3OdÜ
+]ÞÎìèêÛ]\90-\8e÷¢-\8eϳðÍ\8f\93\88ñ3mºÉh\19\89ºV\88ÚÚ\9a\1d0\eV\8eù¨ð\ 1Î\81!p\81Þ5g\7f\fê2\18q2 \17\14\13r¾>\16\v\9a÷w\84´+ÝP\ 1!E5:×¢\v´\93Ö¾_Zn\aNT´\93­{;ç,¿ê|\10Ò¯77Ó>_xöwrª÷\87ÉûG$ôá¹¥õ»H\97ón«\1aÔ7\1a{nfª<7b\16 Æº\93\gj±¼`ßfÓ{\7fÈð¾sÈ\eæ\95]\f
+4Ì\ e\1dÚ~\90¶       µ{M\8bFuP17cÁQ·õÂ\9d\8e²6\93÷gÖÈ\87¯\15ÙSñ\80\1ck\ eÏ\89¾í\0Ø-´Í°~ÍÁÈ~\9a\97
\83Â\a0n
+\83-`FöÕ\8e\15\ 2çÌà,v\9b£Y£\84#u\98Îb\83\81\8a\ 1\0K-õ3\8c·òôL\ 2\11À\88ËäøÀÌÃ\17ûtuÄ>\9b        Ý{Æ´ç¡`¹Ð\1cý=!Ë?`ÏìÜ\ 1\ 3 <cj\17´ð\19\98çë\87Ow¢Îêð­ªs\87`\99öÑ\85Ú\16²~Ð0kÌ\ f)\98Ï\81\85\1d\91\81r\10\97Éu\9d\94\81éySSê\83\ 60rÁøYiß[ÉpphåCëf¹gÅAúWÚ=\9d×=\9dòÞ.ÙÈ\82Ù\10-²Ï\rÓ$\b¨\16ô8\r¿>_Ê\13\87\8f/$l\1dìì5jÛJ\8b@:I\99Ìá\97]\b\1dC\ 5Þ«U\81\ 1ÓXZÛL¿¶Gq\f¢ëÐÆ\87}óp
+N)ä\95\88È^Gb\ eÔA\ 5ìJø\80Ê- f\8e`\15g\90\8bµûô.M\88­!V^§«û
+Â¥nø(4\r¤NÐ[LªòvØ\14\92\13c\8fý\ e¸d5P¡-\ 6Þfs\ 4QP8M§Þ\83zj\84®Às\ 10E\90\eÿV.IÊÐ+©GTÿ(µïN¼\10\16zÀ×;-Gìöq\93xQ\9e¯³7yê\88\e¨ð\8aý¼\87½\16=b\90õ¸ò\9eÂ\98\9eßE\8b\8cSWS-g\87\18ò\85KJtÖ\92±\ 5ua \86Y\97\88ç5\11Uê~×\0+\9dÈ.\ 1\ 55r f_Á\85V/\1a+W±«ÖÔn|\9b\18\926
+ÕÖ»O[ci7¤¤N\1c\8d\85m£ut\1c@ðîö)Ôl\Uù5ùa\b_\b;O\1cæö\9b´¿EÀU\1f\r\9d\ 1\17W\ fo!       ¶Ï\9e_#Zà\ 6Þ\15kU¡ÄLk\15Â>\1eè(tÙCw5ÍôL\14\87]\ f\f\ e>QÊàþ\86-?:±)XÐâ¶Í&J;~-wºÛÜ\ e3Gî\90@=V/\86ýØÜ?sA}\1f\87\ 6\12çáÁ[ï\9c¬caø Æ6¯!;æÒµ×\82æ\83â\1dxn¨õ\7fL\17\86è\12RóÐE=ç/sðÚË\ 1~ºÌ¦\80l¼¬ìE*{æ§°á\88\14à\88¦\84&¿Exuñä¯-\95áì#È\8béºá×G\90à`\17\ eÎ/å\92ö+F©\12ÆÀ\9b¨y\ fÖMä=úfì_\876\87¶ÇBÁjÁ\83º\10÷\8d\8d\83\r\15¡ú©\8a\0÷üÍ\88ouÒ½\9dÞ\eV°G7xä<ø\8dÅp©zðñrÅ\8bÐ:\15âDn\83;kM3fX@ ,|&}        ìüSsm\ 5ä;DÁy/\86ð!î\9b\bÏ\81±{:*`\97(ù;\a°\9b5\11ßÜ\1eý¥ø¦ìïÐ\8cÙ¯°        k~Ò,X\16qõz7!Å\80Õú\1a¡\8d\8d\8b
+ò¨mE\ f\96n`\93\89-Å"·¦°kV\17bnBub¹\99Ƽ¨\e´zq\10WIGZx\ 2\12\9f¾³\814\95\83Á²\b\17ñÏØ*v\0\ 1\82aÄj*Q¡\vÁ\98\ 2H\88/#_6&èOúi}\9c l\e+TÚEä]kÚ\1d°\ 1\9e¯Ès\9d\8d\9f\ 3t¥¼Âïé\14Õ\92èÎòâubÂÁ­ðUÛî\90:ÄB\13Z\81æ³Ð-hÊ_Þ/@åêúJ¡ùò¶¿|X4Ëäí\9eEØ=¡¶Íx\ 3\9d\95±\13\99Néü\92ºÊ\87\91uãh\82Ä\91õ.  \98ÈÑUóõÖL7ö~0Ø^-ña±³¨"=®<å;-z>\ 4oI`ó\91.'\1dû\86üÖ\84÷ÀI\8dün[\ eø\ 2¹\9bÜoèݨ¥Æ\82Ù}\9fq\986#È{æ¦ÛѺ¤)©®x\9eÁì)=\0îÈ\ eÑcÙÑåH(q\89·k\81\10\12Bl\91;\8e\85/B\10Ú> \1fãá¡Á-\9eÐþ\8cÖí\8e\81±uÏ\93ó\ 1\ 2·ëÅ\88XÅÁL'¼Ù·\87°V\ 6ò<t¢\14Ä\9f¨\acÛ¿\98±\16u$zð71îêûù[,80òòoV\1c\93\87(&äõò{¥§x\ 1ÎÐy2\1fÇ+\7fßÒa7îª8Ñ_ʼ\8bæ-\16¹Ö\13~\8bò¡v\ 4øVl     \82x+÷\8d¥G¤\12àr\0øÕNæÕ\88÷Û¸ãS\12\ 5\8bÄS¶¨6.\v4n°»\ 3ð\8d\80\13ý\85¾\ e\9c½!Çdà\99\89ì[ß\8f\84¸YYµF²J\96\vïp\8añ=ð÷ìþPà\fy\ 6\81lÓ9Ó*Gö\1c³Î£\88\10¸\8cÄÛ@Ïtlç¾Äsú±³ú§\e\95E[óQ\96ÿ+?\ 42Ìa]\ eú\9aFui`Ì        ðC/>>©l¿×ª[.F©,\98ø£M\9e?\18\ 3Ê~U\8at\ 4\1f\ 2>XÛ\83E8?ã\99Ülù»|à\0\ e¾Ü1Òè<Ê¿4Tã]¡»_Ör}\ 3\81ú\96\16\1aÖ|X\ 4ºËÑû·éSú\ fH\87Ët\9aë£5Vz\aâ ° ç¢\88\r]DÇ\87~\19¡\84\1c74\ 5\8eØP\14\99ósQ\81à P®3ôÞ\81®\ 5\98\ f\92\9a)ĵ\94\15E1î\b
+\86Ù3[\8bnqÂ:9zí)üu¬xåfËïvÚi\89Ê\17r-óµÙ\r\ fw\16ÚsxÐFBiú\bX9$       Ä¡QÒ¡~Xn\ 5~aã\9d\1c\91Ø\f¿¼\b\f¥¾¬\98\0\16Û˾²7Ä{\8bó ùÒ\ 5õ\13\90\88mÕ¾~ü@S!ì*0§\92\µôë\f\9e\95\99ÎÓ\b\1aÿ~F¿\94ëN\f3g6\98r\ 1o¢õö \81\ 1z!®E©£Óù\94\1dÜ\8eóº ÝÞP=?ÙT\98¿\ f¨l[û¹\13s颽\9e\1eh\rä\1e©7<q¡\1dY\97É\90ãáÂ#Ç3YªÈ\fÕ\94\14çÿèñ¼ÿ\18\10\10A;ÿm\b'k\11\80\ 4\13¾\1a+Eüfüb~° \9e\ e¸\10O\0³3O3\11µà\82\8c]xøîÁ)\81=*\1az
+qÑ¢¢À\ 2\95ÍÓ{¾/¶\94Æ
+ú?G¥HøLç^\9d\91& §±\85N^iÆ\16\1eÞSz2oO«\10\17Q@4h4\ f=ô&÷p¡\92CF\85`\17ß\ 3LE6\10c\9bk7*J\r¦ XF td×3\825LÉ®6ex\88q¨_|e\ 4½wS'\95\94X
\ 3ä¢\r\13#H\ f\1fM\87ÆN\13
+;\84¶¯añ\98%45åk\82\f¨øY­pfµ\9eB\9cwo\88\1a6ʽ\89âJ   
+\88\ 4á\17\91µxç«ýÁ\1c\8bà;\1d×"ú}\8cmL>FA¶_\19\1d\ 4\18^t{I\18*ȯ\8c»\1eÞ
+·`gjáíM\8aË3\91%Ím.Æ/x\82\föD=¥ê
+·¦-/°U¾Ú\11«ºoÚ^ØbgØ8\9cÂy\80=_\9c½±¨jøÀ®l|t\90\9e\80¶¤p¼\11\13\96'\9dÉ]+^\9eO\17I\84 \1evn7aÄmL®\0h¶æUMd\v\13ñ        \91/)y¸ú\13\90§·=ùDÚç1ÂüL\9d'@®\1dÃýÍ6\1f.Û5éA»\1eïIWÁSX±¶e\8fl{\8aëGAÇÇ1i#\a\1f"Å¥Ú\ e=\18À\ 5\19£b²ÌÛ\ef@ÄÂ#áW\888ûÃ\16\97¨8ûÓ\16\97Ø8ûèp\1f\ 4Ü\a\87\ 10MÀHp\a\ 4Ü\ 1\86ÿ`ã\ 2dNÅüÎFÓ\vÍZF\938=]~4ÆA\r¯7ÀC\ f8<\1cÄÛ´l\8eÍ\fõõtÆÊDÃ\8a,\87\13J½FÍU«â\81¹µ!\97.R\86a\0Us­\bX\96\7f¤\14þ\8eÁM\b©ôÚ®üp¥|r_Ótk;\83ôÂG\eû\17¡d=eH(·p@ªúñ\0ó\1eyT\16!£;ëöÅãûÇ,Ë\ 4ä ý1\ 1OâÍB\90"\137Xù6¸á¿5q\8få\18ÇÀ\80\83
+ÓÍrî\ f\14\11\99¿t  Ìé1\1c\1axç°©¯ö·Öw\82\f6üÖCy\ f}&®\83\ e\8e\12\a\10UN hÌóM)Ù\83\1e\1a¶t\98]û0ÌÛÑÌ\1fmIØ«\87\92
+ëjSÏ Öÿ!b«­0D¯\80<òawâÚ r)òú\1dj\95;"\8b\13}\1eS\93ÉHÑ&¥|`d¬\89nàr\99ý$\ 1î\15\a°\9c\8eRcÒ\1deué\ etǤ:Êß\922b\82ÔnJTÐÏ\8fÕ\94pexi8R¤\ 4þI¬\©S{+\1a\85*e\9b\v`\ fyJ)\95; M|4SJh­\85¼\b vLcÀì\98ÇÎëTÐïCì{\87uÌ)R\12\125õA¢ÿ \15M\9dK\9e\9a×;\84õj,.Ä) Ç\8cp®]Û\8dÛ\9f\85Å;\95\80\1f¥PùY®\ 5§t\99E:\ 3\86,&Ĩòj¾5\99\ 1ê\1apgöµ,²´2¯ùÁÌ
+ЪØ\96a£ùÕjü ú\13\89\ 3ä¾Ó*¹°q¼\88õW\94¦¤Ãå%í\7f)\\85\ 4íSPØ¿¾V$UÇqÔ»ùSd
+J\9e\eù\ 3×\1c<eýbÙ'\8b4-\ 1\96\7f{\15\ 3ðk/\7f\r\9b>\e\ e´°\8dÌ\1c§¿\82òæÙ\v÷\0\v8<"õÛ|ñ)~û\ 1
+®e*8íHôЧ½\18\8bQWºîÉ1aì3LàÌÓã\1eíí´©2Aü^¤¬G\9f\ 1]ìÞ\b\0õ\11\a\8d"­eâ\13d\9c]ÎV\1f\91ä\1d\92e\9b\1fPÔì¾ÑtÛ\ 1É\9d\9eëV´ýSÙË6-yÅWÖììÕ\9cÖÕ;\9cܱu¡6\a»b×\11\e\ 3Þ1uÃ\9b\ 3Ý1kA\e\ 3ý,]q&Àý6-h\84\a/\0W,¹Ñ\19«\8d\11¿|\1a#7q¢8\ f\83Do÷\1a#Êü\1a#ËÜh\8f-\e\ 3õ*Í\9b袿ç(\r\87¿\9e7çxþr£?9f\93û±¿[§\ fãàu3\91\12µ¾\1a×v\93ûÁ]\14w\a#9\12ÕÅ{¹È\82MÈM©få|<¶Ó\9b£n\7f|¦¬Ù<m·f¶à\ 5¶ðm½3[pBÛÔÚY\9aË\88}\15]`\8deNV±ÚqÔ±7\91 Ø\1d\827¶ng\r\81سm.koA\16Úµ¹Chu\90AHÍvÛ°[|Ê\8b\ 23ÓY\1d_\89\87¤\0Ñ\9f\10_¼ê~¨±|r`\81¦ìÝa\9fài õ\81ó*§\97)ðC2\ 4pj=\1f\13¾\99D|¸Æ¢@cXa§\ 3ê\1dð2²N>Ý{Å\ 5xS\97:\a÷7c
+\b\öÝ\8eÅ\99üºÃH\89Æ\8d\9b\8c\ 2$YÁ\800\b£à8ÃqøCi§\1d\ e\ e\ fXÚ&ãp-\1cû5÷°Ë¼_\82\09\8b\1d4¾Ú&½\9bÓà2ãÔ<,Öð\ e\9dÆìü¯\ 4\8a¬\1c¯v÷sûñ     DV\8c\ fM\17¼ê/mú˼h\1e\9d\7fÆ3Þy
+QÍhMï\9f¢,S \8f\ f\=»\80âä}ÀK\1e
+\82£Å    «5@\8cZA\bÔópOÿe±ÄG¯½Aù¢\0!¢n\r\93;\1d\90\ec\80²¤c`¥^eq\94\0î\²\90\ 5Ð\ 5LÛø\12Á\88~HØgn\88äð\93)\10\ e
+Øz¸\83@áÇÙ\13^\13¼¤\89ã\99\ 4\ 4\ 5\80\13®\92¤G\ 5\12µ5^ê÷f\86\1a Wº\9a¢I\8b\fÙÏ&Ìt;³8.ý 8\15Å\89\b\8b;g\8d®_bß§÷\ 6U\v\8f\ 5s²Eí¾Èc·¸ú\ 3\9f\13ãÉÍw\r§$ó?¡¾Ãè &`c\9d\ 1I&ó§ &y\99TP\13<z\15o\97$\1d~{ \8fØ        #rþ\980äãÐÈ.ïx@KÓÍ\89Õp"Å\14\1aYC\ª\8fm\8ehW¿:¸\8bgýüi'\17ïüP/²\9b÷\82£\vBt\11õ½\93\94Wâ¥|\82\91\v6Ç>\ 4»\90.\17\ 2ÅéQ\8f
+\89Dw\87aÏ])\ 5âtQ'ܨ0r,\18°\9f\92jøñ\93R,]Ñz\19âÈ=\84ë\ 5¹.\14¢J|
+\94ó\84\11Á\1f0óÈu+º­=Q6Ùoé\81.üÔgæú¶\81EÌM{®¨\12\17º$Àð=f&ú·÷pýuOäíð\11³
+\8d\9f\ f\15¦Ø)k\16MðÏ\rÔ¾#AúüåÜ\ffÉä-\ 4g\ 3C·Õ¨1Ù\ 4\124P\ 2aߪH5ï-]Qܳ\98 éÐ\17_\82ÏO\1aβ5\9f\82Å\7fu:¦Â¥7$ùp ûh´Ìú ¤Å¦wj\8bB@        QOg \8dgÙF³\83\eCòÓ'Í\19×$Ïò+Ï\ 1\f\ 3\14¡Øv\13Îè5\ 2UÚ$b@ýQ®ó.êµ\10Rc:\vt   \a\146\1e(02¦Dáy´>â\ 5ë[¡Ú\8b\86\98`]\98q¾Ík\0Ôì<\13\0\86\81z e©p9\8b\92 
+*§F\14\93S¤&\80\f!\rAçãÏÂÉ\10]\92¥*/I\87ú®\8dÿ¥\ 3\80M4\8f\r\80 õ·\90\96pùz\84GÑè\ 4¡>\1aöÔT\9bÌŬ\9b>\1aÿRP½÷!áÇNQ\09P·»\9fþ"Ù\8aï¹\82b302\1c\
+*,ÇÛ\93g\81\ fÁ(RKiÖÍàã\18\11b\8a:âÑû\15CÃÙA&Tضåj\8c~p\ 5Ü\81¸\1e\8bjUã\14¸)×|sÀ%¸å{\1aë4n¨V\ 4Ò\1e\88\87\99\84®ò\88\92\14gÊ@¸\85Ì\90QO.µ½\81}ãý96eI\90 \91þD\97ì\95&O\8c;:Õ\9f\93f\91Gg¤¸í.%¾F*5á:\18\93\8dë\8dÊ4.{\8d\12þ~0\1d    DõçÚ«Y3\1ez\99³\9d?[\8f\9a\8c\90I6\85\90ãt\14
+|ÖC\90äYpknj8\87êAè­\19¡·¨\ 3'þî\87\94\8aÌ\b)î2\8aÉ\fwÞ[åG\9fJ,\ fÆ\18@¯,\85\16\91g¤G¥\98\9fX(Æ\b\90i\ 5!ÍqØi\9e\7fÜ?ioK=Ò\88åvJ\9f%ïh£Sì\92(ÔßøÛ$Nçd\82Þá³ÃCãäne]3Î¥\1aëvH6t¨\93\97Â>7Ó1\1f\e\ 1woiøÿ®>7ô½èøßÞ%Z׳ÿ¤|o"Ì{\1fÂù#ãs\8cá=oÉ\1f\eI\9c'\13!þõT÷çÈr#\9d}ñ7µ3Ã*¥g1!Ç\8euý¹\ fó\8e\v\88ç^\89/ت\9eì\9c1\1cëçÓ÷£\9d{7\1fº9שqûã\9dgfþ»\8fïfþ»\8fÞ£\8bãÜ~õ\1c_èÇÿB\8e/ÿ\10¢§Îź\ 66÷A\8b|øð\85\15\8f\0!ËO\ 3ÓûÁ\88E\10\\ 3,\84N\8ci\9b\80!å8î(\11ªíí²#Þ\80\bÍF¾í\83\ eæx¥GE\18\1d¼\95ÿ\11\99W)Â\1fW\8b\0.g\89h\10ÛD\82Î`\ 6\12M\e\ 4ôn\82\86åsO¯\«HµÊµm\ªcG̾aOã=Lw\1f\84¨Á\85\8f\12Ì|\8f\10Ì|\8e~;ÿª²Îbê=ÿÿZ3Ïuý\93I\11y[\96ɱñãÝóÃ\1eï·t·ÏÀ«!Á\9c\1aý\91æ\15ðª#rÑÉKu7t¥°ÒÉK{\ 1B\90Ú\83H\15ç¹*±\7f\91\1dw»¥|êe\92¾deR¾a\9c\80×ó(ë¸\8d~»Ò\¯±î×\874-\8dþLvÌFÁx\8d#ü4ÊWý\9dÈÔ\ 1cLï\12 ^23)^0×\94¯\r%\92`hÛ\88Ô\8bå\92¼´½ûãR/ßR7ÿ\1c|þjQ)ª\7f\98\94×SzJk#Ê%4m\ f\9ai.\91_PÙFùT®æ×;¾©K\11£k\7fà«PÿØÜ \7fÖÙ,»¥²÷ñG¾Ð\1e\89ø§^Íú3¯jù¿æâ>/×çoÊG¦Ò \16\1d×\16Ú-C©§.\e\¶;\83ã[\13î\¹J)¿îb\9böoû\971Rà\eþäëb~i<£Z!üÐ%PÖͦ8\7f+\ fæ\8c\7f4IXµíZe\aó\8c       \86á¶8*\9breùÆ\ fæ\88\7f= µw2×\1c94¿&Èí©\83   a\90/ùSþôs÷?¼¤ÿ&>\7fß»\9eÁé4J<î2Þ6ãSÕtô¿*­wº f÷Qóû©¿~ê>\7fÃÃIÞê6\9eâºW\95v9\8bÕ7âÉ¹Ñøüæ\93|ïíiÿ\ e\17ëè3Ý\9dÒÄ_þ
+¶ßø\7f\7fá\9a\1ew\ 6<\1eø:\8eäXðKàþ*ÏÅýt:Í\88ó½»§ar¿zÿëÉCȾí\16Ëpx\1fSÏð:\ fÃ\1eéÞ\91.&\v\8f7ôø?ôËfBl\ fº\9bJ\1aÝM\0)µÓe9Ìîi^Ußßûvr\11ýÜ\9f\86\9b[©Î\156·Tz}6·Tz\ 57\15=çÿ\9c¤\8fg\9aI+>a\80®_ýMÁSï?É\95¿àÜ\ 2Ïñ\fíû\8cÑiý\9ekäeoý(Pa÷å6\ré_ü1í|åð\99f\8dP\7fßë\8fkíÂ\99\ 4Ç\8aú\8eãá ¿à\11\922ÝÑ\ 5=ü·uð²·ÿ>}\95Ô\1f÷òÇ¿Øe2Ú}xýÍF\82Z\8d^+ñI\83\9dcM4PQv$¾?»ÞYh\18\97½r*\8fQ\ 4|¯l :Ê\¡#erü\86Þ\89\80\1eïë\90   èI\89\19Ç\8c\1c©¬Ñ~\91õs÷\e\93Ñ~Ôxy\95ñ£\8e\86\90`\83§\80\84Ra\80\13ÈP\0ôÝ¢\89Ó¨ri\róÃñ\86\ 6\9fy\8e{,ðí=\8a\b²\92\9a»'ÝFÅì\19@n\ 4\8bÐ\93ݹ½\16xi¨\90iySOw\a¡\7f<t(ùɧÏvOWo\88\12\11\ 5hRõ³Ê\e,×Lõy\8ed[\82\fÚôù;\17\94:Þ·\1dñlW«Ï2\a\97¼¶\ 2\18ij9Ê´ÉFÔTù\19<\9c-Ò¯ÉF\1fAºS\9dÅ(Nª\16\14ej\1c\aû9ÒivØ·
+8 ¶k#Èc\8dϬ¾§î ðt
+\17îXl§\98CF\9cC¯1\8e\ 5½\19@¥TNdúö\vh6\1ayâfJ>½M\1f\96Ù\93²³ä\ 5nV\ 4X\9cå a\8a/q¨%¯jÙ)Ýh\17X\95õÐt_\80\94øM8Ð\7f¨:ÀTÜÁÁìïv\81ô\17\88\12\12\81´\10\97\90xöªúBÅ[ßs¥+\1dp\12aÉÝq\98\9fÿ\94Eè`ØeMæi\17ób¹¤«Û¼_\82\ 5\19Æ\ 5Ü#Qø\8d»þoABó\19I6þl(9\9aËû*Õù\80\r\7fèl³j5\92\124÷e\9aá«\88ó\1f§IWùÁ¸\ 2àeg«\81\ 5$\89'ÒZ\ e³Â(-|\98À\894[òµ»=\83ÞìF\ 3ú\ 6\ 2ìÚ\8f¢û£\16\1aïF¨îBîj\ 5\rðU\ 6Ï\96oh\bp\92\ f\188w{¡\ 3\13{UÞö\82Ä\8e- ÔYè= \9ch\9a®ô\ 3:\89²'ç%Fª\1c£W\8b\94XÃÏñ]¢\12\vs]¢\ 5L-\92®Ñ\ 4¨¶ú»D\1e\8e1q#X\10~Þ4Ó0+\8bç\9f\9cE,¢_Îw\a¦\97\89Ú\95;'\89£r_°r\8bJ¢Ü\11\85I¸#%\a\96x\e\a;pG÷bC\8e\1eÁ¾N\e'Vj\85·Qà\8b¦\82°á^Mr\87
+·H/~\90\7fçí2¸\r\95\80\8dà{bB\ 1\v^Z\9d¸\82tÐV\0qÓf6Yy\12â\88æ<Úw8Ê2>\9fÍÛù¾E\19      7ï\87&\83\18\ 4\\8c\12ô\15Sï´ý\88\1f.]\98\1f(ñÆ#å\ f0\1d\ 1E\16Òd$áÄl4BdIöùAº \97ó\ 15\ 3]\94ÖdäâmäF\ 4¨lrâ\rɳ\bêeeؤ9tAm"\1c\8b\14"£ERÁ2³\16Y4Y²Ìj\0Õ¼\83û\8e¦\19s°¹\98O\7fÐA\94\84\90\ eù\bêK\97\10Y]\97cFCOÙÓÈ\98i\12Ç3\0\8bÿêÅd˶NÂ\ e>þ%\ 3×\19Ë\96¡\82ðíoµ§AÜ9\85Üp£1È«\18æß ¤\11r¨ð´X\1d\9e\83æº\94Ì\82\1f¡R=\ 1Çf[òûaè5\9få\18;®ý§\840\8f\{10\9cm:\aݺýÁs¸\r\1aZ\19a·Hy\13ï\9a\ 4_s ×oyóÂ`)\ fí»\r\91Áû»ù£³'\1a\ e\88¹\16Ò\a(õú\e\12»\85\ 5ú\ eÞ:êG\93»\aþ°¯Hh\80ø!\13jg{\byfÑ\a.\9eêµX*\16\ 4ï1£òµ\8d<#±õS
+\r\11\17\93Õ^\94Ön\b¿\ 2i£ÄÍ\92¿½\84ÒÈÑüÀ\19±þUýÛA\9f\9bÁRѼ\9a¦QرJ¡¿êÍ\r\O§¼Ôgo       ÓÊ\94\13ú\86Éü}`U\8a #\90\1aäS\1fºTSp¶f\1aüÈJ¼¼QmÑ\13y\Ù\16DþĶ>\aÖ]\r\ 6\16aʤ¿ÇõK°Ô\12\ 3c19²Æ¶Ù¡ó¦ \14#\85)àæn%Ý/\10¯\98¢¾@¹¾we|À\95ó's|úå|\97\ 6æùüE|\8bØ\ró»ú±\97¥ÀÈÄ.\17½Õ´¥\93ëd\92\90\96Th´\10Z\8dª-P\98\búÒ
+ÎÒ@ì¤\81D\ 5EU<\83\0@ZÒA¢\18¶°\ 6v÷#åÕóÅÑ\3}\8f\97}\8eæ.¹Æ\82 [j\96\82Z\98¾T0\15Ly\9b\90.8\8b\82\0%oïïÿÿÝïd .9Ç}ÌÞoÁ\9eù÷îÚ\ 1Ým¶ël\8e&¾÷d'4Í\99À*\ï\7f\e     \92\12c\97$cUk¿{Uódl}¼\15´\9aǰb|Û\89©ðè\990\86`²Qé\12k\vý\8dV,\1c\91}yU¬7¬9O\ 5h/úfa6xÍM×o\80,'r\95\81\9d¦¨ê£~p\80ßâÎlÎÝûä\82²§?¤î\1d^h gÖ(´ª\83\97Ì\89Ô¬îÿ\19\ 3?\1e§uª)ì\ fÄ;§TA½\81ÊçkÁ¤+]aÚìÎ׿;UH\19\139Ô'\17)vÅÎ\98í_q
+×JvºsÂt\1a¦¥â\80DA\13Ef2r¼r\98\å[\91\19\13s¸­b\18\1e!ãº\14\97e\ 4á"1\8c\15ýÙ^9á\9f\96µ¢~\98_d¬\1aL¾A&\90*"\16÷Ã'Åû\7f¨Ãt±6áε5ööl\1fkäæTbm½Q¿q\8aã>©\8cR»rñ\18ÆÓ\80F\15ßÚ\99îÍUlE¶¥,Æ\ f\84½¢Úà~¤\16õ¼§\8deoTQk
+÷2¾\1e\11\8dÙ¼\19¼þ9ô.Ó\84mAÈ  \107±Ý_êÓLü[oz¨\9c
+'f«½pV}ûÐV}Û5\9a6\83T\84\8ey6¡B4ѨËzc\9f\9e¼´Wó¼\12Ý\1asO6\90K7q\1eCÃì!Z>¬º\ 4°Y\91\96q<4µ\b\9fÑ`a\9dâMM0\11Ó½©TÙó(ÒóÄÜ\8a§¿\1dwÃyNG#jÇå\9a&R£$\14SXÚ_\14¾¬fßÊ\r¬©ù^á\83'î×½*á\1cl>¶Ð'\8b³õý\90\b\ e\aUo¯Üßò\92|Ï^\e\9fÌMÌlÂy\1dìÒzíÈõ\17¥\ føÔá\87Ý=AòÝÅ&\19öL\0»#ï>\b\91
+§Ê\93ü\8c\9e#R¿%³ï¶\19¬4«\9d\7f\80ÚFm\91F\7f\83\9eÞ3Ç M<ýÉ\80\ 3û&\13\93&\98à÷¨3ÌR4ù\80\87¦×\92s×ìzºòëi÷_­\88ëc\95\f®Á\0\91í\1cûÌ\91ØZCoì\89!\8e×}C\11½¸/\8c\93\\14]g®H\10â8VÇ\8e\10\b:àe³s@\8a\17\8e\90(RpVcªyÏ\9b\98\7fÙ,\1d¸.\84Jo\1a¼5\ 4úØ\ 3\91ý\19QkChæÃYý+,\80\92\93\82Ñ×\988±ó\81 pYÏ\aZ\99ÐI\93¤Ù[,Ò¡\8fF¹G\12\rI\1a0GF ÌXM*x\83I«½\7f&ªøÒVÛí"D\ 5!}ky2²¤\1e?[\9c\83%r£\84i1æ\89\901\93ÐcÏ7V=ËuV\9b\83pWHó\13Yö;\96ü\9f-\92\15\97¢2¾\1fãé       ?a¨06»°Ð\8f\94O¥²\14P\11
+uµÕT)Iù­Î\89\15íeP«k¿\v\15T\88ïÃ\84»×\ e]o\91\1e\11YåèFÌõÁË'ÑÿÓ\16$Îý\87V\7f=b-\1f\1a\1cµÝ\1c³}®ýÂÑúz\11UÈ¥\vE\8fÒ\86\11Ôþ¹\f1éÎ\9eÐÖ©/§GË\99]é&Q6\7fÚÁ\87µ+à¯Á}dI;\828d&rÙEãËñ\13õóÉ\D^(ѯ\15\88ÚÝ7¿Õ\ 2\1a6tb}ïà\9bcQ÷´\ 5Aw:\8d\e>Ý       :á\84\91\\8b\85\84¶º\94Ú\9c\8dÖè˳Ö\12ùºö\9a\84\8f·&\ 4£u\83cï¬\83JzýÒ[E£å¨ÂÂMÐ\11cDñk\1e4B\82îØîMìëÎ\ 1e6P`áÜ\924\1fèî\12EÎé\b*W߬?!ÁÃÍ\ 5Æ6\83 ß)\8d\ 6Á\88f\1cWvbnýe¹X÷0A   6¤\86¿ë¥ñ\12¨ÿXY\16Æ\1f¯¼3\14ùkòÐ\96ÇKb\90óß\)äÇÀQ²\b2vc\88ô^\915kdSM=¼#5ß|MÒ²r \eªcû\8bð\9b\98[ÇùÞ3¶öBnt%þ2Úü:\7f\8a\1aÞbv¿Ã"\10SG\r\82W\83ÉÛ\ 45ö£mþÚ\97ÞüͰÚè\9aÚ×ÀÔ\81üZq\17\9d\1a\:ÎuÚ$¬¹\0&?²²º\89Ô}9¥B#^)j
+F\97EÊÜ\19²½y\8d¿\7f\96\95Î\9e
+û­«â\êD\8c\8bÐè\84/¿è$\82ó\13 äÀ>»²B\9bÅ\10Ýí&æH¾Èç\1d\94î¡3:Ñ<#rr\8b\9dh\ eå¼óNS¼hÑ`b\84ïã¡\7f#\9c¼ç,\9bÈ¿r\9f\vX#ÆjÚõ©âý\95\1d¼\93©9\9fl¦ÙN\88Ðê0ÑëË\88\8a7ÞG¾Å×o¢_Âu\93X5û\eäµ3ä\9c¹~\8e4\ eì÷Q-wî\817âô¦å|_c\17ìa\175\ 2oK\83. ÿ¤\98Ó\1f³Á¨      \17©\95þ #Égé^X5uFMðÙɸB¸
+;ï°\95Þ³uæ\99º¶\95\9f*³D×ye%øÇñ\9e\15xAð[×O\91\f\96\11w\8e\ 5¬©ÐÑ\92 ÒË\87é\i
+\87\e\11\9aéYʯ\ eá̦áPT8ì\8b\83fn\1f\88î\ 1\8a=eFDÿsS\8dì\9cS
+\9df}\8d\1c\82çÝ>wê|\ 5Wÿ\9ex3èO\1dÀ"H3çÚEÀXmÜHÍ\1e\85T\12Çø\8c¯ä°ÔåÒRuQp\90ÍÂu\9dqèI©×ík\8f\97\98g\D Éç÷×\1cmï+\yûÞV¸ÐÞòµÆø7¨¯é½IÖ/i½Jì@\95ú(\89êo(\89Û\81ÒëÈÀ²À¶§.\98¿0\91Ó\1a\94£±6\0s8¦\ 1ÅÖJ\94\8azÝûc¸\ 6\18xì-?)\ 2¾\8al3\83ºP\v n\1f\94@ÜkÞe7Zñu\9a¢<+\ e\9b§zC¼*\98#\8dwÂï`vàW8Ðã­\ 1_\9fIPã±òÎ\89<Ô-5G\14Ë\ 1Á~"\8b\82*\9e\18ÙÅaë¼<¤Ù7ûDÛ¸M¿°\9byÂÐr4\1aU>\18È\91[/¹\16c En\18\8e
+\8bKI\96\9eÃ\16\83#ܧ#ºNWºM¼êmýÄÛÏ\96g|y\9eæfNº\99iî1ieb\ 6\9eËg\14Ñ\88^v\17ùK+\ràåM\90¶!\19Ì\8d\8c\84\ 1\12úæ%¯É8(æá¾äöÒ\9d°1µ4ÑïË\8amRn\9dñhï©a½\1a:R\90}´@!ÄÖ? ó\ 35\1etO\14\1cÙ
+ÿº`\92ÃÙ~Ú^*\96\1f'ù*¿\1at\88\ 6£É ¼[\13\9a\ 4m,\8fv\18Ûa<*óg'S      ¥R±æ4ï2\ fü\14\1aüóL\rØ?&\ 4¿6 !~J\14ÑÎ~l\0á\80ª\avu\93ìyµåyI)¯FUX3¥\ 4×Öm¢óÑøØ\r=\10`ýn\ 6?\1av5\f\958öå\1ef·)\10,Ü¿¥oÿÖ@e\85\85{nD¤·ñÍ\92³îGÌù~4\fo\ e
+ÿ\1a´÷°\9eß;\8fü\8aA\99Ì£\9bÞ\9a¢\1aýĨkâDE¯#\ 5z§PתਿYÅQz¾D\15\85\98¬gʤ[ÕQ@²âC[¶\95\rn\92\198¡6«\90¢Ýb/µtW\9a\82Áêj¸±»¡\84¢Ç\91\e·\11#\èÊ\90jj¸1ºØ1ñ3PcöΦ\94\8fÛP\8få\10\9an\98\83\8dØ64\8b©ÅUe>Bn¥Ý­\1c\11&´©¹]N
+Ên\97S\84²\9bØÛØ4ÿ\1c\18ü
+5cÿ*8tþÜ\1a{âd\ 2U².\eZ0t¶ÈÎAÀÕðâÏÁoóÁ{¿wà^\94á!p\bË´sd.Fp\9b\98\80¼ì\10¤Q=Ûé²°[õ\94\90[ÕºE¦\9fª\84öÞ.P9\86/\16F\14B® A\90\7fçFKC¾8mî\ 6\87\f~\92ó]\95\92áô\18ô¶è×|ý¸×\8cý½     \7f\91\871¢·¥¢¹\9a4nN¡\eF\eEíÑ´A´>Î\12ý\829øÕJ m\82öv4![.ehµ_\ 4f^\9a\18ôÏmáÓî¹ZI\ e\9fãûô\90\15\ 5J1´$h\ 2sf\919³>A£ÚªP¤M\9a§J\8dÚf
+fø\e´\e³\e²ÿþsFÈ\15\13²G~\ 4òV5N[ s`¯k-\90:\1fs\12ÀëÅ\19\14\87\93ÿ\7fª\@\88\82\12ü|w\f$$\86x½¤åhñÞá¤ã:b­h}£TK¹q\18\18ú/\7fµ\96ÆmD¤ Ò×ÍÛ4ß\8d \87ò\92R/\7f"Hü«ó£6ÍÌÓ+\1dÅA\ 40­×ã\rÌ_Ôö­IìD\93>üq|&$\13s`\84\84§º\\9bàÉ\8dQ\ eOnú×äp¢Ù´}YÍÑ\138uÇ\84\ 1¦mTö°V\86é\1f´l\15\r¨+@¤fGä\93Ò·F-ÒÁ¸\80ð»ô\ 3\99wÛ#\1dpM´\11Eéú²r8PLA; 
\ 1äâÉ:Óõi(Û\9eê\9b\ 2\94̰\9aȦàó2× \917,Fe¢¢º«~2¯ok¿R­ÃTZ'\811"ùÚ\92\1dÓ!\12£F\8cÜÑ\8a)W\15ãM\adʸ\ f\1eû<î?\92\99M\0¨\9aþT\fÑW\8fÅ  +É+ä\9d\9f\1fkk»qG°ÓФ£\ràß*¶eÒóÒ¶@»t/iS\93t<ÙÓ\8a¯\96\vÒb5o2ê3 fD\96\9c
+@^IÑ+îèàR¶O\8b   nuúÙ7W\199ù´Ñª\93|\9f\14*±Î#å§Û\ 6?\95n\93¥\9e\af\93F~J«,\9fÓõ\1f\8a?_Ù´TÙÍ\9dë¹>À\0´þ²jhܼ\99³gW\8dX e\89\88¢k6\8b¥VLÿ\7f\ eKû§A¥ýÝdzú9¸³Àó7Î"ÉÈ`}Íe \11Ó¨Ø\ e\9f§\e G  \bö\80Û1AZ³\8aªêâ\94¸|èÃÿÃ¥[íÃ\99[L\84\eÝÆGÃàÀÛêÄj5±\108\ f)Y=tØ\93\1f\85#\13øC¢!k\1f\f\89¢\ 2m?xçF¶·7:lBô\ 1
+ÎÓ~\8fù\87OÌÑ\14\ 2ôkMgÙ\ 6ÇT<õÔ3UÜð:»\13qg\14©ÃÒÆÁ§\ f\fG¤âÍØ\8cR\f\7fb\8c«/+p\9bÚåvGÒ>úvà¬\87\8aªþöµ\88ëY.cÕü³Qn](o×°\1a\&\98¾\9e\14\95\9c\97\87\8b\8d©\93\81u80V\ eU9S\8a\8fÿ\14øM\18\95Y¢)Cßá\12h¹Ê\8c­¹.\19¯.ÇúÙ^^TÔjþÅ\96J\14ù\f²P§ò0\9b\80ì3\97ì\94,4\95\89\vïK/\ 1ÂAwìf34\9c\92UíNrbJ¼`?¢\85\84µ #\ 2ç.ϰ\92°YB¥z;c²\16Oéjl\ 5\145\8a5¥Çêí"öZ½´iÅ,>¹¸½e\87\1an3\97ù\rÜUl8Ó\91¨Ñtq\19Ò0 Ì®lxÀ£8E­8rO÷OÏ\1do\92I\12¾Ã\12ð±\0\8dÙ5wÏäÕ6JýÌ\13\ e\14½9ÃG\85\1aÁ\17\18ò\a'pcç\9d       }\96\84¨à\15£·\81\1f°& }\ 4\90\ 3s×LK\17J±]ÂçVT¡\13\8e¾+/L\99¿\196ÂXÀ>£ÌK\18<.ºbù\ 1©a:\16¬±©\f£\81\8dÜ1\8bÐ0B/'øÃÐ\99\87æ;ÿòΠ  .\13Ú\17òð²_xn\93\81tL`^Öq\95óì³×Ë3=j)Á8\ 14±j±\86\9a\18¾ñ3\85\18ÚÆ\987\81\12=QdU]Tg\1cÅmé£j8Nç8ÒY\ feoyï\93r\9c×µ\90ÚÃb(üCÍ
+;î\19 ¥åsTÙÁVxA´ÝÊ»\83\81\1aÅÖò\12ûbï+\80\1a6K\8e&\93¹\82w®ÎD\84î\0\eÃ\b\1a"\Íí\ 4¹®\1c¢A\98\9cP½eâ\91\91\14[1Ü\86A\84?\R-¤\10\94Ó¨G\1dçõ[#öÑEí\11\84©\16ÖP%\97ÊWB{îÆê
+J\ 6JËS¶\88§?bT\7f­\8a#Ü,\16bÞ'í\89\9dDR{Äû\f\92m\97ÿînh\9a|\8ag*éXÛ\8fxG\r½$P\19\1eð\92°HÉÜ6âsv\92¸fýd¢\ 6Ð\166øBOnþy¶\e\87§ýÂÆû»><@Iv~dpÀÝ\a\1c­æ\8a2¤$\93\95´;¥,¾iTÐѽ\9a-\b&\b5Ú0o¶\17V\8c\82R{\88\8bç\e\ 26OÍ$\9a\17\92`Äü9\ 5m\86\9a\15\ eÑ<P%\98~ê8¾t\81«è\16Í ½Ûi»È\959ÆÝçw\e¡\0ä"r"ý\83`CÔ~'õ\1d\1c\17\f«z\17q\15\15 \91XXÛÞ\7f°ê z
+o'@/6\15\ f4ÎA\14MÂ)d\ eDUì^a\e¶û#\11X\84Zr\v\7fjòî%8dY\7f´      '\9aÎ)qÖ\82pó¶þñ"6\8d\7f}ap\eÇm¥~\93-\94v}hââ\90ÕXb&\11\92>\17Ñ\8e\12¸©\ féC ÷<.µ\99ë\98o+cõ_;\9a\ 4Ü·¡*\0\1aGó£\98Ñ0\8a\89\80ê<tèÂ_ükU_cæ\9a¸è {áFîÕ\8fõ·wàÜ\1f¾È\ 5O´¥\18\85jòüÊαèðc§\10\94çTÄù(©U\9eýi1:í*IûÌßß"\0²Áç\87vzÃ\82V\7f\9eù\8a\ 5íi\89î$y.\92z\9c\19\82]>Mbæâ\8fÑÒ^\8f£¬XïÏÀ"Cñ¤¥}\17\9d\14[e:¬\7f±»½f#\92²ØoÒÃï\aü½KI-£\7f\e\aÁ^2\94æ/¸û\8cµ\10ÖòX\86>\18¹\ 2=\ e4\85ý«#Ðïß\16F\88¶Sª,Ò\8b\a×\8f\18¹ä\18¹äo0é<³Ð©{c\80\1dåñ¬\15hL§P\v\90\19er\r\99\b.GÖZX¨ö­æ¿\ 6\ e|\13    \12\9fÚªó°\951¯Æ¾¾*8h)\ 36C\9f\891ò9UéJ¹¸\80;¨§¼Á¾ÈmcNì
+\94S\16oxÞ"ÔæÕß÷ëg¨\9fÈÏP-\92l¶Jql\94ëé\1agd\16\85óDÅr Ò!/\aËO¯° q)
+\19õ\92±\1d[\11¯\18ö\93\90×Þ©'­\81\ 2OZÜ3\94µwÜ\8c¬\99ùåt{h\v?¶Qy¤\7f§\ 3\91í_ÈÏáh\añØ\80Òay¤]çQÀVµÔ^Î\eÛ¸ØÅ8o¸ý<PÈnî\97\f,é#;\1fç\ 4U`3Xj+Ì\84E¢£ý\8e\88\8c\ 2ó¦\17»\93ð¢ÍñáÎ\8f\ eÂÑ\0k\89\15\1fç\bð°Ûî!=»OUµ\8d±0>!¿Å\ 6ÆÐ¸\99XñÂ\7f
+ïÀÈßLsK´Ç\1a\bö½£\ 2x=[\1fâ}\16eÆ}\1c̾`\86zè`­\92µFÆû±ò\1a2>ý÷\88Ý\v»?¨zQe6*Tls\1f¬G=\1cÙ,\ eº\19u\8cóð«'Å\1e@\890ÜY6 â\19û*¤?Ãè!=Ý×\7f$^öè½Ù\13\10\a#Û9\90þ\7f@¬~6\ 2»æ²\8f»xt¤\13cozð\8a\82çudÜ ]sù\17q\dh#8F\19Z\ÊÓÈc\8cØ\12Ýá\ 2\94O\r^½V\1a\ 4øØ¸\86PmÒöx%\89ET\83G×÷ª¬¡aô/²\17QpÌ$Eñ'¸%\e.ÈOÖFsµ\7fY7ö\12º\e\9a¥WOî\14¤»õÏiö©\81ï0Â\1dæh\13å9qÔN'¾T§m\13 I÷øk\b\98 å¢YÃ\8fè¦zT( Ú~ôË<\88ý\ 6`øv¦O¥Òe\8f¥\8d V£Î/[åBY¥÷Þ\90i\8eô\vì\8e\9f4Ñ/Ïr\1f\9aU¸.©@újv:¥    \8b裫ç`}B¬R¥êz¤hÓÔ4Al\9fÐi\8d\9d\87='k+&\99`L\f\82K\95\1ar\98\\9cç\bzÏvé</\1c\ fð\98ÝR\7f¿×\1f.`ýÇ_+'»á\14%ûÌ"id¶¥Ðaª2þ·ùæ\v èAÒa.\13m§Õ\1dH+¾îõ\86u\8aË®J\1c\9c¬\80\ 6\9bvøû\ 2
+¿\8e\83"¶Ø¥|<ºg\9bº\86[÷±Êd\11ÆÍ\93çÔþC\9c\9e\1fÇ\8d)    \9d\86\12n9ðré\82òòz\99\82ÙCª¥y]ïA\93§FÀ²qv\83¾\84àÁÇ     öLso    \93ì\r_ãà\1a\ e\19{ÿ|"¬ûá5¿9r,ñþnW\92\r b4\ 4\eûr\93(Ǻ@à¸]\929Iô\16°L\98ÕgåP\91ï\bí"\86\rç\ 3Vîz
+P§²&\a\8aßÁ¸­e\96\13ÑA\92C}_õË1!Úøyf\99¯ýèeZõJìÌ=\ eÜFU'?\8d%\9e\ 6\84\99D^¥\87Ê;/\9bFé \82ÃD\19Õ\ 4I\e\ 5}óxÔ\16\15\13ñ°>¯ ¸çV}
+Ç´\81\ 6\9eæ7Ë       ïÏ\16\17À&;P\9eÿ\b®\95\93\92\8b¤¦(ÈÑü
+ñþb\81\9b\8cE\1cFãM\7fÍ&W_ÂÓÙ*Ø\10¤¾\ 1(wôCL\7f\7f\ 5»«ä·\9d8án×ÐWѺ\f$>?_èYË\e\89o(rd9\1e\80Zõæ\1d÷}B\ få[?\10 W\1e¡\96-h\95ªØÜyåHÄa\91®yE!\83\93\8aÇC\90ä\9bß\93\18\93á\19Ͻr\15ÜÜ\92«å«RÁ7Ea0Q¯dÖM\95\90H\1e\12\001ªÁÂ\eÛÓÏ4\12R±@úf?_Z]ð\9e?\93.\ f\ 5F8h\9b\ 6{òÜ)ZbW¬ñ\ fá     2_%Í\86ïkL¿vE!gx^jC·\90\92*WS¡\84ôObu°\87x×¥4ÏK\85k].\e\ 6:O«J\11Æ:U\8eK|»JÎ\8b­óR\12:1MyÔ\vhymðI¢ßÒÅe\82\1a¢\ 4\80P#ÒÄß­×âS¢)Ñ\ 5\94\10\8f­U-lj¶2»\12\9f\1f~RM¨\90\90mr¬tYÞbW\83\89\8fs/\99/((¶K¡ITùÁg\95=&ÐÊݾ:McÐ\8d\90\11Rö[µtÁ¸b\aa]P®\1d~=\ 12'$\a\94ù^qA\8f7K\99Q\18[(â\1a8>T¦ØëwUýEz9w¿]õ\13;\12NÙzç\vª\10­)Ü«L.\ 4Fä3Ô\87\ e_¿ÞÒ~ößfhѼ¥ªÍ\92\88å\8cÚ6\ 4±[Þ!\1e\14¥\7fzl<\1f\94ËÅ·=TFß|\13É\a>u[5\9fí\84æJ\97ܰZº¢­\82·0\93/`       )!\98Cö[\84ý\7ffUÖ=:5Èú\føÞzæåÈ\8cå[H    qP$À?\7f\9fø9²\1fÊ&x\8bÀÑï2(ÞÀ»þ\94Û\114^Ø]n7\e\8d\16ØM\ 2¼MðËV¼\ 6ëQS
+\ 4§\94¿â=\7f=rõJ\1d\10è!¯«ëró¬óUΣè\rjI=0o!á}>\8b\8d\84h¢\\ 3HLx9[Ì\18ðú©B\927\9aeQ­2±ï\8c\92®ûvhXg?Æd\95\0\byáw\1a\9b\8btäÉ"N°äwnÀ\93Ü\8eÂM\80?\86 ±\ 5T÷~´g(ûé¢õ\84ýû\142\12
+8#[£F\1e]9Ö¥\8e\ f\16µÀû\86Ʋ§\92£\83\81,y\89f\9c\97ç\1f\1d\17Áx\84\1eï\9cüY\93)\vê\881\11s;\13\f\94¶J+\97\81\8b\11 U\82¹.>\13¹\86÷{\eª\10Å:F\ 3¯\a·§¦>4\959¹¨´\bÒ-,Ð+Ρ\8b\ 1Óå[ý¾Ì\0Ê­}à3ýz½)Éìáæ\e')øåêG.¾÷è¾)iþîT ÌÒ]\91:\ 2~£gàÐ\ 3XÚa\18\1aUÙ|1"q¿nH2ã\9c:­pM\81&µã2Gèæ:}·>>ù\99N¤3P\10@j\8a\v>lz8Ï£\83\88kpÕØ\83\88Á\9b¶.\v_Ïz]¶\ 4Õ\1a«3î.\85\94g\81/\r÷76Ç\9eâ5\18\97\96\93çª\ 67Íjº%VªÃÞs_mÞ\8c.\81dF&Ï\83Ü5ö§Á¿1\94k\82ïi¡äü¬aw\b\1f\84X\84q\1eæL÷\1d\81\86\18\96ÝÈIï³:â\94\rØ)æº\92äAª\14\92»Ãɰ ¬\94<?ø5l'\b\1dÖM0I2øSÚW©èÖ£éoþ])}Ìì\8a\ ei'[×\11M¡º\v\80ÌÐñ\0ÔëC\8dYã:_[\99\82\11ó\82¡@\v\1e1AÉB\98qc\93IÁ]\99%Jr·,\96ns]±¸Ý Z*\86Þ«È0«\1ew*:\88Öö§d6m ;*\14YwGeGµÖ\8f\85\ 2\amêÀ>c\0 UÅp}ÍØ\ fìT\8f\7f¤âßä\98&ñ¦ï %¥\94\17\ eC\99CÏÐMôÊÞ\80îÖ¹u8\19/mv\96wüÐ\7fìüÍ\92éq"e"\7f\16g)\8fåÌ\1aÃad
+Î]À\1eèäfߥù«±T³r0\9f+ñò9ÏÖ_ì\17!ù0{2ô»Y<\9f\11\83ß+Å\84¾þ$\ 5ø\91°¼;fѨ¸vÎ/æó®±±ñ´s\ 5ïÏ\17ønx\16\1fºnwr>ä{qwbCw~\96\7f@z¾Ì¿WÁ\aÊê3(ÜHø!ð-\1fóf\12¢\89ÙB¥ëä\14\9c¿ZúE{gëÿ Økú\9f[ÄÌ\b¹R8"l9\ 4Ï\9f\vh\8b\1c]Qð\86\0\97N¿ô¬{ê\1d1\1fç\8aÙ9{ë\rôÜ\85\ 6\1e}x\81\8f:DÁ!\81Ð\£òÅ\´Á£diæ%,\12TsÐ?b\10È\8e :É\84Ä,3S³f`aLÊ\11äߦ4\ 1uËA\97s¿É\11A\90\80!LrroÁ@*Ñû\90 ·ÿv!\15ºá\84Ië{øz=ä\b\99Eµ]\ 5\19ê\13õøjèí \ 6\ 1îÒa\93ª¢Þ©lÕ%\15\92rðØ\97Iw!W\12ð\f\9aÙ\1aK"a"^\13:\1fh\vs¹ßÎܾÕÝ\99;EåhõYhõô\ 1¤PdÑdQ£êl K\84¦\16\8frôoðÑ\88¿v\8c7¿Ä:zH\8bcý¨e\ 6\95Ú¹Ù"ÁËé\18û8a\10\94ô\91ýÀ¿\91Ô\8e¯ Y\85\7fÖ\19\1c\15\f\18\14°Ú\17÷Öå©!ÎtÝ-Q¬Á\98ñÐ,³\90órÔ|Ä\1d\b{ÿ\1f\85-wwJ\10\ 6\16Szº¤º\10ý\89Ü3   Xø£\10ré3\8b\8c3.\9aEÚg\12*SátpÜ_\ 5)Caë\8e³m\17ªI\80\8c)­°¤¢Bòf9Ì\ eau5\9cXÜÄ*\97Q§áT¾\b\99à4òsãÁ@(cåîî»áGòý;òìC8×ÕJ3×\95\92ã±U½¥\93ûlT\8c\0\98¢eÜz9\13\82\10Y@\9b\8aïí©       \8a\8a\89õ#\86\b\10µz¥7!Óò\82Ó\8fõ\8cϾ\8fÔàQ«´jY\1c\927]1H\14M
+÷Þ¾i\12QÀõs=(\91\17s¸&ª\rôÐr\89õø\0BZþê\8d\1c\91.\84\1eÒéÕþÔî\8eJú­~¾#Å|_Ykr²gû\15\a\87\ flýlG|ø7Ūê\91mUÕ,\8eÊë\15!ý×Gÿ\fxzM2Ë\85νóT-"(ý\94÷ÊkdÕ{.\ÛHf$b\11?×¥\94Ìç¡øFã!½÷@o\a\84kGÞ\85\96!-\0¸­ÝdÈÍ\9c\96øGD\88\vp\bß
+´!®öž\18/\7fmwÃ\7f[\80¯\8d\88\9fßÖió/\0À'Änì÷0c½tîÏ\8eîÏèwà\1cºýÌã¾e6A\8eµp\80bZ©é\1dë1åæQ\vÚíª´á\82 t4pj[»ð\fòr8æ\1fThh£i¢T׸\8d¥F#Y9\17\15¦u\11ï\1a75±æ5ä\14ª?dií\88u¿|J\95g"ÓØWÏ·®}\12§Bè#IªºU½Íäé1\ 5P\82L\98a\9aR1?f7ñ¼ç\ eX]{ôW:\18¦\9b\19y8XçE        }¿\rö\12Â74\ 5xµ¯É\81\ 1°\vrZa«\ 1×F\13Û _üÿ`Ó\83.-\8bs*·Û»³PðÈ+7\84÷Ù\8bÍØj\11\95\1cÁ[\15y>\1a¨Î\9bÚfíD`\18\16ü=s«%'Ô\915xÝI\ 4²Û*/|àÇ+°q\ 5\ 6ë\fv\8dVöÈÆï\e£'r¢°Ë\8f0Úâ\83á×*f ÕRâ\815ì8mý&m.YO\bPVò\19/Z¤¤v^õ&Îp|\88\89_\9b\ 2×¾¶<b䥢³á×2 \vüÇ·\b\84Aæ·Ø.\f}7×Ô\9f\83É4Äÿèu2é\8bÁyñ'óúOe©\1fº®ÿðM{¼;ô׺ÃUJör6e\1fì\83\88Ъ;*Z\98Ù4s\18¤Ó>VL\aP¤Àâ«'7Á¿Ç\b\ f\9e\búó\ 4z]\15\91\ 3\98E\9dXc\a4\88\182\80lû$uu\9e\9d     t»ð     J\9b[©ÊU\14\ 5\86mÞ·ÂIP2\93\8fæA\9e²[Wµ|"\12b\93©.+¸0\81ö=GÔ}\18\9bb\81ë\81\13Û\8d5cû/+\eÏ÷ÅäoÆÁ\11\86\142Q\93ò|E\8e-å]\8fülB\96JMÔjñ¸\9eø4ÒÓ\97~)êÖ×\14\ 2Óð]7ñB»A\9eÛW\rÒuù\16¶ÄË\r\88Ø\88~¥hï#\7f#\9a¥ÅiÃ\97\e\b¤\
+e\10\836\15\9a\80\v­\9eÜÅÂÁ!\11cC     ê0y\88[u¹\12aÿÁÉøð\97#·dú\1aÿ\8aÊ\80¥\1c\90Ä\93Ñ;Q
+\14(àC\ 5Ó+÷B©rÝAðPÔÉ'>þÈ\13ûÝ] Õ\88Rgì\11r·Ù\ 6¸Fú\9a»\91²\88/m\91rôQr®ïÊé\89;§yÜCÖ_F¦\85'\1fãl\81Åg\1d\14¹uÿ=Û®ø\7fý\vº\12ÿþ»°\asÄ$»2Nn\9bÁh\ f-þM°¿·µ\f7 %£±Î[dSn\ f\8cYÒ>ù½>Þ­\7f\1aä`·\98\0èTý\90\9a?-!=s\ 1\1cHtØR®?·~¥³¿SlÎE,VE\ 1\85>\90ÄñÖ\1c\9f\17     jre±\f\806\\9f1øR\84^t\84\19£\fàz_vqw8b¹\ 3ÿyÈ\ 4\91~øøq\13EÿÐ#¤\vG:\ eîs\95È\14¿\9b\8cäÏ&¬\ 5ÔTp×\8e~O?\17æ(îÇfåY9S\84­$ÛÀÅ&G×öDPÆt\94¹\13\8a2ô~Ùø\89:r\90\ e\95\8eQ¨UzB\8d\83¼\8dÑ&âla/Z·\16\9b\v²\a§RÕw
+d¾ýLtR\ 2\1f ©\yjoWªü\14Þ-ÇÝä_O¥\8cùÚqÄ ¥eò\1d\ 2bº*æ\9fÛ\1c[Äç^ÜË¥,·\ 1\8eÈá®[©§ ÑèC÷~C\9a\8a"`S6\\9e\1a^       ª\84\9eQdÇ"\13\ 5ÈL°\17Z©ÀÞÒÁ\98é\16>Î`Ü\ 1D©ø\8cí7ÍÔÚ\ e¼öЩj$HÚæ\v\9fëäâ²,n\ 5Â\ 4ó6÷%o:;غ¶\ f1@ÀÈ±Ûæ\ 6ð\ 3\ e\18Ë/\a)rDZGì\1dl:½.\ 66-ýF\96tW\1fÁ_v!t­ÚØ{H¾Ð1\88-#ÛE¶Ä\10\ f»Æ4\91ü\8d\7f´y^\87\93\95ý³ºÑ\15°¤ó£Ã̲ø-"è´pñ\aõ>\88ÐSHuF\90±N8E\8d·Û\89mVFí¬A\1ff¼bj\94\a\90\9eÀïn|\12sk\1d»h\91î\eKjÀ«\fþ\81ù\v\12\17l)\15dÞnÛ\9a¢³}YC\129Êïî\18Ãïð\94°\99¥*\88-\eYOãþØ7ÿ²\9f\ e\ 6\ 5Äl\89n'¨cq5¥¸\9ftkS[\89ø\1aØvÇNQX  \1eò.W\9dS[\97,FÏ7FÖåþ\b\8bx\7f\ 1Ýpó.¤Ä\96o\ fÞ=¢©ÔK)\1erp]'O~Õ\96MV\898Á9¯íÝ\99o\9d\8dY\8fk\80äík=jÁlëó\13\89¨\8e    ?\ 1\1dý\18ö\98\ 4´)\aíØ£\12\ 3©f\8d áië\ fM\93ù\1e\8eá­v\11\87\19\1e\8fû\95Ã'\14\98\r¡rm~Æ?\9e|¿M=\8d¨ú¾~\8bÒôÑZ¨Ç¦\8c\14j¸JÉËO\871S\9c\ 69\83ÍÕ\9f/¹Ò³»sô×\94c\98\ 4JHY\97Iõ³r`åpWuaÇ\9b\r\18;\bË7¹Ó\9cÍT\eÎë\90&¯,á¯'\91ý\9c\ 5\98\1c^ÛÚÁZiwV;úZÎæ³\89»å¶\ 4ößúBàÕU\88\86\95ñRïn§ÑGí\1a?QÈ×SçÀ\91©t¿\90}ç>\88ð\10\14¥j¿\0u\11/ô)ë\90qÀÏJ\13«¤&ü\bon"ç ÉÉyé\0\97\14pdæ}\10\16Éy\báFÄÖO\0zV¤å'\9a7÷wÝsÆ\f\v\1c\12t\r¯0eàù¨>\93\1fÉθ`\eç\eyÉ¿q2\9c&àæ¡ ÂK­\1eÚ\ 46÷lAìb@[üh\8d\8dqª-6Ã\16ç\16Q²PS¤YN\10º!\80¶£\9aE¤í\92\985$)Ad§2\8fó±ÖD ¤a\8eF\1e½A¹\K\9d\1d!\81?"9ó\93tÁ¢Ï\\9b<0ë<\a¥",ø¶£&*W\82§Þ¦\18®¼Ñ]v        r·X´¢\82^\15+¨´\90^Ýw\9cã\1aÂ~T9¤ë\f\93\13b\96ì5é\90x\ 5'Øâf±npÔ¤\ e_\8cOð\\97õé\85è\1fÑÞ\ 155÷ \9a4xt\9a¨\9eT\15+\84òÏß[\ 5~3Ps¹\93pï!$ÌWê4}b¿\ 2¬yæä\ 1þÎq\88^ÈæÑ?\ 3ÈL\8câùV\1a \9f¬Û
+&\1a\9e\9bM+4\ eâ\13\8b²ý2Àb[Æ%íb)Jݰ \15\fê\84k±h\ e\12ÅY\béc\89!\8cCs0¨9>b\e\92yöÂ?øP\13\bóÍ\93\b*n4+\0¬{\97\ 5ß\9c\9ekZËH­ÕYÑ"ÑM\17Y)Áà%t\94y?\0\1d\7fü.M\e\86\ 1åy{L+I\8a#\99\9e
+?e
+aWGÿu+²4î      V\90F´³\0|á0\89í\ 2\14·ïÇ:bC§Ær©y³Q3³öé\9ab}UÞ·õM3E\fg7\82» é\ f>!:Þ\81¹®\85\976WËGéÎ\9dæô      Øîb²Ç I\89ôä~õÄÔYÕv\8d%1\a.v\ 3\16Èp\9aÁ\963/&#K\9aËêþu\8a'µ©xǽ7w3Þ\9atÅZ«¿\0Û\ 2\ 6ñ\9f6¢Re\9e½¦*/¥Ìíê®\f\18O?I\aÀ¨Ú×?\92×\8a \ 3b\8b\ 5
+l7-\9f\1f\1eéú\0\7fÛ\18\96\94yäÊÃùK¦4\92û«v8\ 6\8ft«¸\16»ÿ\1e\96\18Z´²\83\89\98\ evk\18j\8e\rZ\875\91ËTs\9dÈ"d®ÉÌJsÏã%Ó\8a4\9a/x\9a\15¡\96\b¸\9bEÿQBÇ\89\9c\ 3i\8cbJ*\9f\91\7fN1é\r)Ì×\81+C\ 4\fûªã£è`)óø¶\8f2Aûü?..ý
+\84óú[÷<\94¤Ô\b\15>jÿUHÒYyÄ9um1ûZô\8b\ f\fS\14ã\8dµðC0*Ç\9fs¦Å\93=\ 1\18\16\92\ e¹WsE\8b¿îCG×íE)âÅ\eÿé\98Å\93»a\8c\18\8c©¥Ì\8d\1fütú\7fÐú£¦\ 2!VýÊÇ$ÊÍc\84\8e!~¹À^4\89\91ÆßȦíÊ\98¶*\8a \fÌ\86êÌ\96\86ª\84x#]ÙÞ¥¡ÛORÐ\93>\9ajc\12!~èD¬ÎÐT³à¥,9ùÍ1\b\9fj\11%Xľ\ eSt\81ÓÍ        Òî71l\93\ 35\9aOgaÑsÛöà:ß?[¯È1v[BL:ôÍ\ eÓúæ ü¹ªUX\83ñ\7fÓ¥kÕ}®ô\98Ï(å\81\92È\82\8c\17\90\1e¶%\ 1é\1d9~@gß\16Ô\80|Ϊÿhq\14oÈcdñ\b÷ø0¾\7f¾åìØög$\b\9e\b\8fob¶þÎ\9a§d<û°\82¢ñÍ@ä\ 1\bA1ò\96z\1aÞ2Ñ\95ìêf\163J\ f\ e\9e¿\ais\9f6\9d1\ 1\81\17ì\96ÌCÿ7£ûb\ 2Hùüï[·\9ae¯äÎtTòþ\9a\9c\15ß¹èïé\8f\ 4¼4µ>ºX<X\9a[]2tY¡f\99Tkåè\89\f\168C\8dèd\8dúz+Ù¥ly\88o«1è×\8fÓ÷yúK\1fÀê'\97ö>h¨\93_0Ù?dO\8bkÇ~\aQ|À\ e\8eðÚAwû[~Yçß4¸ÏbM\fi_Ò3r\13¢Õ
+-ö«    \r²ùmP\82å4\10\84¦ñ\ f&\17d\9aù\8c7CÍÒ>¨Ù\8eõ°RbÚ\18´¾B`7Ò&\99l\80²DÇ&cç6\bÐV%T\8f­e£ef\11\1ax×îm[\14Kc3\98\8b\87\f\86ýG?8ÅÄ-ßu\8d)'ûÕUU%U\15\ 4\84\90!$\81@\83\ 3\ 2É\ 5\81\ 2ÚðÔeRTB\0\8cU\10ÌF¬mnÑ\85P®#l\84\83\8a\ 2í\ení]W5o-KÜDÕ\18\8b« \ 4 \96$Ae\8d\8b\96\ 2[t\10T\0@\0d÷ïß¿ÿ÷ªI$\82\8dºÞóww\9bÍæmïKz[¼æszY»ÒÎo[:\eÐÎæö3¡¿\ 1·à\86÷÷द÷»[m·XÛoø\84þÊ\ 1X
+\9bý\8c\81\8e\10'¿ÜÀaê\8dÉùÑïB³f«¿ÇSd\ 2BpK\ 2\14\19¥P`Õ\85Ï\8d_¿GGP¹SuK.,ø\17\90Ñ\976\9dùÄ\82\1dOAkG\90nz\91\17\84j\1f\ 5ÍH\94nA¡\83ì\14\ 64+¬¢FI)ë4\887\82\83\99Ã\93üMJ\8d§\rºçp«áX\12\ 6\14ý(é\0è\1d\83RØ+\14OÉØ1\ 1ù~ê@ÞÕ\b\86ÝóD\84 óV«\10¼3!¼KP\ 1KsÒ:\8b©\80¬?Ü\0c\82x\12@çlô\86v\123jý\97\ 4\8f\86\ 3\fºu\8a¯ÔÝ\82á@»\86ºð\1c\12\9aCuÿ\ f
+Áâv\14à嶬+\16V[4¸¦\14Q>g\15a@ª8.Ø:\83\bÓÄCnö\16(( Ð\94\1eõªÏµyBÑ\92\14\8c@úÛ\1c\19ð\1dì\1do\18 Þ\9f\f\17c\157¤ÛhO\1c\b\89ÔhME­Í\9e¨\9eBPý   \127ù³Âµ\bùJÄßk\83§\967EQ$(\1e\0;4\b\13¢gï|ý\89Å\vÄ\8eÅGØ\9dÜ/Ò\a\r>oAÖ\98\88\10\ 6\8bk/\84\9fO\8d\1e×ô÷ïÍÒð¬\87\8cÂ\v\15!\1cKºë\12^þ®\8c\8d\ f`C\àï³þøÐs\r§õv\b5)\1f\1eUEØ$ìa¦Í³:§µI\9d ¿P/\81|=-]\9b \84&\8b*\8fw\14a8\9aV\9dS\13_\9aÛ[Õæãzkµ\96 îÐ&¦     äX\röòh\9f\ 4`\99\12$7à\ 5ó»ÀGE\95\12 &H©Rç~Ð\10~ÌÇ7nÆl«\r/ܺQ\81tãxär,tD\9f^\1fÐA\18[[\83;Ó%\a\8e,éH\1f\8cØ~3£
+hØ\81\19Z0\a\81aV+ñe\ 4ö j"-\ 2\80\86\ e\16\ 42FàÂë@Nx\0ÝØ0\vÜâ{\19Äl\ eÌt\15æ\8f°5\91\0õpb<¨5+*kEÈèª\ 4ib#4ª­Dz\bR¾<CãÁïhÅ\ 28r5ä
+7×\80 \91\1eü\ 1\e-\0\80\8cî\ 2\85Î\ 6ÒyEQ<\1e\b\94\1e¯r\ 3\r\1a\13Óu¦\84Ý)ëå\81õÎ\18\1e¿O×ÒÐYm!x\ 3p\e\1dU¡É´´§×\ 3Ï®9ÁX\1añ\86ÒüD\1ftý~\7fÁ\1aÈ\9bD\ 1\80N?¥ì1i\9e0\b\1fü\9de÷p³ODã\9a\1a\88\ 1½ì\12¯\94^f¹\83×\9cm\89\87\10\ 5\9a:Í0\ 4Ù\b\93sIlD\97W\8c\ 6S+Ñ\86N\96UU\fõ\92xB\105®^æÓ\9depågËf[òÙ\97\1eÍ\aÀÓÛÛ\12[`ÿ.å}ÝêÝÿhå\82PÛÓ·\7få\80PµâÁ¸[Áضï\1fÕ\ 6\ 5w?\88ÇáAÂëbzãE5=<PñkÝ=\e\8a°\8eTQ£¾(Î-éCt°@i¡JÈ\85Â\88´\v_å      c* \8bM¯¸@\11\81V"}
+Qð4g£àT\9a\8fbwa\1f5\1f#½V\8f®4|j\ eËu¬\16\ 4 ÷U£â\ 3\v\89ÐRðø\12`@ÐD5\ 6ø\e\r\11{\8eT_Z)ÿ\81ïd\r\ 5Þ«"\89ÉHL\90\1dÍZvºA\15Ó\81¥n\971Ãs\12Ê\19   Ïp\8dñm3ú\0ç¢ô\15óÆ\v2í¢\ 3´!¸\7f\8c\196ÔÂÓ\ f\vö\11b3t\9e¦üÄ\f\f%\ eêûÈ\14ûª5,Ƽ@h\1c\9d£Ü£P,2IÇà\ 2¥p\1fþ\9a5.\88)äSú}â·<\17m³µ\9bÅÌÂ\87\ eÿ{\16è§\ e\8e\8bú\7ft(J5^ʸª\ 5\8cßqòCº       â0à
\1c\8d\9axÊ"¸%Í=he\80>CùDyØ:\87X-s©þ9â&o¡Ã\80g(¾\90þ\a¾H¸\11¡þ9nÎÍïS1?ÍçZZY2\15\b\8dá+\92\ 6wÂÑÊ\9cpå«Ð\81\ 6t\ 1õ\ 3á\17àÌð°þ\10üÁ<Ø»ºBÓ\b\n        DmÀ\19\ 5\ 4(\11\8e\16ì_¯£·¸ÍkÍ¿qF³\9fiΧi[Ï´Ò'i]δÕ\ 6ìIÚϼC\87ãa\8b¼{\87î\1c°xáf\98¯ \82³ö±ÊÚÝã \90\80¼       \10OÝk³øG3û\8cù6
\99¿Ð\ 1\8dÁ{q\96\ eæ\f\8cAw\82\bF\98é\83ì,\c\1d\aE\96­²håvà~>t:\16ðgG\85©êÙ\ 3¾È\v3\15ßt\8e\9bvôß\ 50\ 2Â\ 1üĺ\ 1v¯Ðx\ 2&\ 5Èàd\ 1J.ÌÈ]É\97\13Ù\0\8a¡¹ûxU^\19\88ê²\85b!uvCp­öü>/\82\15¦J\bÑ3\eô<Vë~&øï\88Ò\83\16ù4Á\9eÿÞ«[¿óô×<O^\8e«}@·PB^\11z\13\ eÔ":<)ó\8fD-\178~KöÔµv'\88°Q6w\18!£§«\8còDÄÏÐ)ûÛ¿V#ÚEïÅ\0Þu(m\0ª\8a\81¦?/ÉB\e@Ø|\8e\8bö-\80\awðgs
+\9fÈ\16ª\99¢\12­\84\98\f\1dÄ\1f\81'ùö0þÚÆóÙì©¡}Ê\1c4\ 4ä5\87$¶þ¨\f°\1f\92ê\1fQ\15´ò!|\0ýÇað/Ðv§GA¾\84±|e\8b§È4\ f/NýkDJ\9eQ9\f«\17éCý\9cå\16E\88Ñé|ÿA\13¨9F\87´\14\7f\9c\14
+°ÅÔ¿uÔ*\1cï§uS\10±\10\89ä\eí,ÿ³Ê\85ÎVÀì³Ø\82\e³ã§\9d\8e tB\86D<2¦.¯µËHe\19åµNÛ\1aät\99E\8aôáîè5¢þ\1cªPkbh¯\86xßMéÚ\11?uii\ 4¢7\19L\ f\aÙë\9f\vW\8b¤+b>Ýü>(\8d\ez\ 1D\ax\965\91=ï(W`%5´Â`\94Z,\17hTvÄ\1eÈ<v\8ax\94\rE\bB§,ö\ 4ø\19¼]±wØVº\b\ 3\85Ö~\14°[uÚä°Zé½s¨}W\19;¸nPÊóÄ\93íË\93T\vTg ¬R\838u ?níF\89\ f\14)g²\10«;wøÀzÖ½ø\11*\86Í\94ø°x$ñݯ\98\ 5\9\96=séføïYô\9a\10\80\80b\9eóè\804Æãbý\87t0µ\ 3¡Ï\1e$0\ eTàòíA£íx|\16X\99à;+\85\17ñI\ 4@Ýô4\ 6Á/±îgùopΡäøÉé\10#@W\13¤à\vA\1cwx\ey-×ß7ã\ 3cçþ]\10ï\87\88æÊ\96¦<\7fh\9a\r\82|ûÁ»3¨T»>\86\14øû\17Dõ<÷¬   ðzçÅö\94wÿ\Ùt;iµXy>\95©\17K1¥\93:\17g\81v«AõúÞñe%¯c\88\86\ få'îd*Vª|0lº\ 1\83*´ÿ¬÷Ø\r\82éñà½Ðò¯£AãÆZ\84_WÒ[[»d2\15Õ-\80âì[u°ý\ 4\1dª{\ fÿvÃ&>V\ 6\ 2\92²\Rë9\17\fÛ\17±\81×Ü\80Ì4ÂÕÌþCÞ\b~ÙÆ©¨\f\82P¸eÌý\1c2ÍZW ß¸uãøb\a¡÷ï\1c;Áö\87{\89Å603ï\\80Øbým¦GÆ /fM\r\ 6\bzE3X8oÙ\94KEQ¾Ûôzv(é1ë\95~¶à\10ÅOìt\1d\10¿\98\80}þq²Ö\0\9eÃ\82Pe\14¼K)p\93\ 2(:î¤\ 1¼G"`4°Rý\b_#\aSþL¸8\86ïª\ 2\ eÌ8¨ô\16Úâßp2\a½÷\8d×|1~¡\965ü__ñê
+\94T\99Ï×L\1f¯b\9f}}W?£þ\1d_¯4Ý{©âØÅ\7fZ®Z
+@ã\91Ü\9bª\97Ú)ÕZW¡p\1dYU\9bâ-UçUÉÖ\9eÔL\95\89\16¸rñrÏÄ9\81
+ÓÚP\ 6Ü|å2x\ 4¿\ fb̳ÄQm¬^Ð2\98\1fª¾Ýgß]#ógØ<3MÖ|Sh[wK\82\1eâ:<%¬@Ê2\96´ÁÃb\11­þ\ f(·e\ 2\ 4C|4\9c¹;¬åLÄ       \1d\18\f`»÷6Ú¦OA\19\1fdt\10\8c?LÝ\94Ut¶@Ci\1fÐn\ 5ÝCE L*¯[Ì\9emÜ`Ba±îÙ\85dW¹s?µ|ô\vsg\1czÕ¯£Ï½CÈ\18z@&uêM\12z˾¬¢z¤\90=Ú5\1c\a\90\1aR\1eÀx\1f\90R\1f\0¸\87\91\gb\9fõm\80»¢¥ct]¡\0\92%\9dóÇdß k9\1dd\8aº\ 43'\ 1Sì9'­ëÚÐ\ 5ÍÛfZ\ eçs9¾u\ 3¥Ó\86üiïÁ§u\ 3%L\9fïT\90>¯¸ò|\ 1\1cª{úx¤7ØJ\17³E\ 3°ü\ e¡pNÔ|¢\9fÀåt9\90u\e0izö\18\99\e\9eÛÐ4w¼\8a¯v\10§gmÜ,Ö\85Gn=©°k\92Äî\8cR\85\r\ 4äÉþ²Ú&)µ×Â\89Æ\\81p7pÿ\11ãß\ f]PvNû\9dÆpÿÄ\0\87PTß{ÐrZT\94\7fú í\8d\15®¬\87ÄÇÛj®ÙäÙ©\80ÎÍñ\ 1à>F      D\9bÕªßno\8a\81¿Bû¦\90UìO\ 6\130·ÊmïyMËï\13âóMÝ,´{Ò\ 4\82¸@ì¯)\ e\ 6t«]Þ«(\97kÒÇ{/¥¨'»5\8f\823\ 2M»ÄùÞÇ%\ 5ºÀF ì±÷·¬(¡nlµn¡Y:\ 2u\vøÅÔ³5\94\f\ 6\9eJ\94\1fm\1dfÑÏe³
\13\89÷\12\11\8f\99§l^\9f¥\9bÖ)-÷)¹\8d)Cð\8dN\14ãØEHã8½^Â#\ 3AR·\18\ 42¡4h\1d\90ÊÝë$u\9cÀ#-\90\16\81*_\1a8&\8b²\10\ 5H4'Ù\93ô+9"¢K\ e\r\ 6#Í;ËÚOì\ 3®²!hͱ²¹ã\86Xu\96X\0\80_¬ÀÚ¡äÉõ@\8foe"°ï}¬rtl3Ì"ô(W\v¨U\89\f">Ü\85
+©ukÇ\1a7md\91©Ã¬\8b\9dUjÄ\9d£8Ù»\83\bTB\88]l 8\ 3Z\1d¼\80ç½Z\84Z\90\17õ`A\94¾èÓÓC\95>ªJ2\9c¸Ñ\1d\93Ó(A\1a>ýMÌgKºµªb\8e\81<Ãö\ 4à\84\9d³\1ccI¡Ñ\1f8¦å0}\80;ÊìHÆ\96\86û-¹´1\8f[eÝ\0\9b\17Aû.\1a\86\8bZÙu\7fF\ 3NáceÑ\86\ 38\10(`G/ss2h¶ÊB\80 Ut\9dã!2
+SU¤\83wK¾'3á\ 4!}\11HÿlÐ\82Ü
+ò6Yª\8e«Räö>\91©é\82\ 4K²Å꿨Lã§Áp\ 1O\81\9aéxN\86C=\99 vÞq\86Ù⨢ó*\ 1\9b\87(h:sk\0ª\ e?\14q\9e\86á\13îÈ\11\98\12¨`\8d\1f&êÔ\1d\8dÖ¾^n'Ö­'¾\14
+\9d2*Ô[|\18ënÞ\97ê=
+¯Ñ3ãîÅRÃ\ 1\15åÀ\90ýB|±ç\81Õ\8eF\ 6\¤¥\ fá\8e4éXÚÊ\83¿ho\88¸\9c\86t\8e*wOºR\95\bÎX$Sê\8dÍÔf\80\0Å        óÜW\1dð±yÂ\15£\81Òãë×¾È\8e\bÖ\90\85#ik\94y\eì\\14W\0º¼´<\8dø±2\81\ f£Æ-íP>»\97p¼c  pþÔ|X\89\81\15àUÅ\ fKu¡Ù\15\16S{J\1d"Õ~Ê¥ÔR\0>\^6äËóGkzf\17Èò\88 ô&V´"E;Rg\86x¡IÉ\fò\85\8b$>$\1c\8d\14 ²c\16\88   \94ï$ëÞß\16ª}Ù\ 5\vþ:+/\r\100\87\86ÎÛ]>¼QûÓ\98T\99A<\8c=!Íþ\95\88´ê¢P\98\83I²lô{7½\e¨V\0T¤J\87âMDI\98\10Îd\bD¡p\ 1¨\1a8\80OÖÂ\19E¼º]a        \9e\8ffûóSÏØ$\83\a­\ 3ö±\81C\e\12£º^¹\1a­AÙ}p\90w·¨S0x\r\15{D`Ì\13íaÐ\8ecaO vd¦11¥B%  J\8dtÌad\82\8f\12\81\r[A b\95uN\90\9dÂ\9dýN\93Z/ ¸W\85(H\997¼h\82\90\11¤\1c±^õ\88å\8a÷ÓÉåjÞß\16\14Rl@5\83®\16\16Yxb$ö\12Ô\bdN\ 3\86mSÄ\ fÜ3½¤\9fî¹Ã9\14\13ö_\ 2ÿ_\18û±\vç6\17Ï[D\9fã1\178\1948
+\18µ?5k©þã\ e\18\943   ·ç6a?©l\0eÀÄ©YÔ¶\10ÅRv0\8cqzy¼Ø\ 3\rdÔeÆØKEï\94\e0H\81Ï41ê\rÂ\95Í¿
+?ö:½\98±¡ÿýG²òw¯Þ=\97ÿËfcüåé\1d;?¤½#í\96\18½#¤gÿyZ\vÇ3PyNÍ\9a\83ÊxÖvΰ6\bý_é=\1dÁ˸b\9e\8eþ£/¥&ëÝ\90\15~G<\80«íÈ\80«~D\ 5_Öcv@Uý¯ì *î\90½Ü$\9a`Á%¨\98%Áþ²ðßûcAg\ 5,iF\95f±î'\1d®|Ê\9bÐ\16Cá{\81«B"(SÏ\f\8b×#Í\1aëP\17\1dð@\15m\94½âë5ðA"ºj\96O%z\b\8ct3\b\19<÷,\90z´r\83T³^\83g\ e²ÙL®N\8bèBèè\LI\7f"7\18N\86ýÒ\90¯ñ·\1dåÜ'F>yuNÉ \15\92(]:¬8\8eñÚ\13\89v×$\83]½Áv×jÁÎÿ2A\7f\ 4/¿\9cij\85÷Ê+\80üô\9e\1fôHõ-\8f:Aéqè3ÕÆ}0°+\aVgÞó\9dY\9c0>Ü\rûuÄÏ0ø¯Ù!
+?¨yþ\ 3â0u.ýíÃ<Û\8a\17«h\85övô\f\1e\ 6ª\17«\ 4\11ö²A\v©6ýý Û\8c0ZËú\179\8bt>û\1c\a\1c\9e\ 3O÷:Í   \8cZ®¡²WZ)Ýqè#«½|®¦Vtï\7f$É '¬\10\92Î/BK.¹      )Õ¨\f\9b\ 4ÛÉ!\1f·2  ·ú$Û\87ó'e1̹\v¼Ë\rSè¹Ú§\141\97*\84¶rQ    l¼\9a\12Ó·Ô%\93Ú¼GÛ`?£Q\8b*ïJ³âYäÝÿÏ\95­\9aôô\a{A\1e#\12NÛë0×n§î1+?Á!\80Y~»\89Yøg\9cëd%SµÛÂÉ´Ú\1fY0®¶Á<qíã¸VÙÏjË&ᦰØïEq±ßÎ\86fØü©Ho\9c@yüÃ\84qJ?\9f\89\12ýýí1½ûbý÷Ûk{\9fï\1aÏø¼µ\19\fÉC´\ fe\9cï[~\rçM­æg´wÚ·~¢ÏØ>w¹C\11ÿTQ\8aîb¤¯ÿ&\12\a¹\1fcÜÊÔ>å\ 1\aÜ\8eÏîKä~óñâý\8fnG$çüþ\8fH·îÔ÷Ý\a»¦Ôuû\8c'\9d\91òäÿ\8dmT¤>\ f\95\92ä1è¸\1eÒ]üÔ×ó£UMéRÉUm/Õ¾u\ f\9b÷¾Ç_åÿ?oÐ\\8fÑîG|·#½\e\91ß\9dÈð\9aäïwº9       î\aô÷(2\1fê/ÁîG\87·%ø¿÷\1f^ÿâ?Ǽ\8d\r\97\9e^yyåç\97\9e^yyåç\97\9e^yyåç\97\9e^yyåç\97\9e^yyåç\97\9e^yyåç\97\9e^yyçöùµc¶ÓíY'ÿf\9fþô\9fý¢\7føäÿñéÿÑÛiÒ£ÌQ\8b÷ÿ°±\10*\9aü\1e,H\90v\1d1½Â¦ª\17V9ô4þ  \13Ú.½\ 6\1e\11z]ÍìÀÇÏ]Ã\81\8c\a»ÿuè-ðî­\12\83hÆ]Ú\ 5QmUçM\82\9cÍÖÀa\95\16TÞï\15±\ 2¸PNÇÕõéun¡'p{cR¥\8e /ÒAwNV<Òn@ãF\v\1e\93v\9f§\8c>\98\89úy\ 3é¯O\ 2ìÇ\f×\9b!F\e_çÌíy3@B3\15$Í,¾\17/ªÌu9c\80Ø\1d@ñe\84\8a²AÏ©üÇÉ\85Û'>¡ïç >kå úF¹½¦ÕûZæë4õÍÖ§ÿ]§²\8cNÇø 1\vóЬ>;\8b\84ÃãáZa\91\99¬G[Â\98G\ 3X\14íºÄqiûX£\8a²B\eL\18\11K«½dVJ\8bäè'`l6\bR©ú±fµÈ<ÒÄy¥Ý¼ÒÖ<Òî^il!{¨ÌîÓÀl\11Àîø\ 4\88\ 6\1e'\88ÞTnìÞ\ 2~Èï\1e'\8a\81ÓMÁ\ 6Oil4»\9ecÊG\9dkέçXó¯y\9ayáÆæs3\bøÈù/3/3;T4ú};Î¥?ç\90¢#ù\11ñeò\99\9e\13ΩæaæUå\e̲v\99ËJµ\8d¶²Yö/
+\ 6[\17ªnj\ fc\1e\bõó\97è \85öaâ+$Ë «Ö\ 6\99Aà:¾\92\12\88\ eUD\fª\12s=\1c\ eåM\ 2DO@\83¡¸\81¡»$>Ç\ 1\91\91\8cà\18\19å`\9ezÚØ·v¾È\8a$> \f  È\86Û\9a_]Ì/Ç,$MOz\12´gO\19\ eÝ-F \95Ȭj\1eÖgöÊNV"\85\83\98[#\8f\ 6:ÜÏ^\9e\88õéìdàæéÖ\9f_§Ee8`\ 4V@\eä6\97°s\ 2\9c1\823)íCN\18§\9cRÕéÈ\9c\97ò¼¯7ÊÚù^÷\95iå^õ=¦§¹Ôêu5z\98\9a\9e&§ÿ\\aîP\88¾Fâ.*ükG|\99z:ôªðÔ~%\1eW\8cãy}\8dnïë!É\9dúß)>\8fÒ6ÑRü®*_vO\7fì1_ÿ@Æí\95NMndÿÚnë\81\ esýæî¸\12A\9fÞä1ì\9b\19\ 3\e¶úMÝpuɺÌ!&\83úÏê\93\ 2\98\eâþ.\15_ßÑ\14ÏúlI¤ñ\8f\89ý¦î»Ch\ edß¿ààÍ÷J\99\ 4\11nçä\b".#çð\12õ\10$¡åúz\ 1\13\\ 2rÉa\82Ã[¬\90ò\85ÔÜÄU\92\1fª\8a²Cù'Y!ú«\95\92\1f\8f\10&AC\18U¦iE\92\1ccÆj$ìÔX³\97ÙKÛ¬\90í\83¢\84\84ë\98\93S\ 5X´2ÈúÅ:\17 \\91Í9=j·\9c²C\18fðª \ 4Ò\aÙ\99¤A®án\ 6vd÷Ï9\85K(E\99Û ¬)ß©$\15²\9fAmN\84{\1a aP\81ågJĪå\80\98\1a-\1cCéÁX.¸ä\844X9.@Ï.­\88¸Q"B¢XóB[0\v­\81ª\8b\90a¯GXû\f/\1c\8cô"s[ö¬ëÁ-õ\b\99\9b\v\8eRÖÈã×è\16¯æ§f
+\97-iÑ\\vUIø;qYú\89©,Ù\9f\19¥+c¹\ 3%«Z\f\83\17\14À!þC\16QT\8c\OvlÞ¯q\a°iMÝ"\v\ f\15>>îgA>Þ\vÙõ |%aRÇq\9eà\92Ç|@àÄ\83\ 1¦@Wìå\19x7· l,| «\eä\86¤\17ÝÌÒìm\92¯\1dÊs?¶\95i¿l\15f\1f\e\b\8d$\98\11üØ;h¡ñÃÄQ\8a\b¦_6hk`(\89h\88\9eÊ\âm\89ÐqТdç\13dh_TVJ\94\r3\1dãsMt\0k
+Aq7)<±óZnå\eGÌÁh2W$\8a\ 1R}×\8b\1f\8c\9aÒî\85´øÍ%^\18\ 1\9dºS¶Cu´«+þx"\89\99i\8f#çá\88¸¶Ó\85D¼ ¨Ï\a~\r£5\ e8\e\ f\15n\1a\84Ï\8f\8b\83P\83MÜÅ\88»¸\1eeA\10\14{h\8b»Ú\ 4\v\0\ 6"\14\96(C5Âa\98Á¨ý\8bÃ^-xÛ\9e\11&\ 5\88¯u^*\ 2â;­'²÷\ 6Øzë\ 1þ\9b\8ejM\14/0\8f]ÂQh
+
+Ë´j\10\96õÝ\8c©â\1dã^¶Å>f\11\19+жÅ.}>¨x½¦ä`¸ ða¤¸à!¦î\88,¬0õèSô4\ fGÜOÑ\1eñÂÎ\88\e¸\f\1f\18\ 2|\1e1\83E,A\8c\7fål©\ e¬+@ÛÏ\97\8a\8c\ eçýȦA\82­%F\8d\ 6ÊᤩÀ\8d\aÌ\1c\8f/\1c\ 4\8fø\87\12=¬ÑQ-azlx¤Rf\1a[E\16\86x\15»_\83Ã\99\10\ 2*á¸\80ß\f®I\8b\81 [Þ%­b\83ÍjÄ\12ô\18Ù\88~þµ!'ýÂJVQ\8f\12\b¯\ e$´b\18*òh\fpp\86RÚÀF/@
+\vJ9=¤èFX1Åt²«ZWMéåC«ÒØ·p\13ÐIH×%}s\16îkV¼®ëÛÆ]µî-Û&\17mþ¹,\aÇ\16í\93«XWl«ÆTr±nÙp»p!t×$Û\96k¶^­\89]³/\1c\99=ÜCÒ\eixy\8a\a\87\ 4\14»ËJ\15\80\886¶¼²|X\97Ø\80]VÍ\98A\93jÌ ËDîÎ=?Ç)>\19\8bìÓØ\ eÄ\15\9c]\98lEbÌ=!±\ 5\8b\86Ä61áé\8f\18\86&9\81-b(_!ä\av =ìë\93¼\@ËØ\83ë\13\11-Ã[²[\1cÁnt¹\ 2\18\98.\ 4°Dľz½ý`2\8f©¡k      Ê顸\10Êõ\98\99¡ ®§ØÃéù\ 2L"P\\14\93*\12\99[y«aÔ¦S÷\10'\16£©Ç\95\15\88Û\ 6&ö¥       6\82P¿=Hîo\97\10Ä¥+\83¿ÛP=ÅßçÈÃë·(\9a4/õ\1eï        RgàÂ\98â-\1aTiwyãÖ\93\ 5£r\a}ÊØ\8d\9cvK&\8b®.X°¶¡+\13à\ 5\99\v÷ì\bM·©º)d=Tu\9b\90)\8c\95\1d\1fvs)î÷\85\9dC\93¿ç\86B\988x\997Ó \aeu\ 2\83 Á\ 5ãôó%Ä\9f\94\ e\112¡Ëß\7fR\15º¡\ 3ï\93\1f\ fXÆ´(\1dK
+"Á\89÷yDõ©!XKÈL\8bÎWv\rN;\87æË\8b_zì\16\83ÓÙVï\97ÜI\85g\ 2\17<ÔWµÝ\1c\10ê\10?z^n0Ð<\86b1AmI\8c\1c»i£Ø«7«\96åÛ`_Ѳ)x.\ 41ÄA»ÏµÂÉ\9cR\8a²¯\16è-OúÉ\83@Óuk\98\11¦O\8aìl\98\1aÈ   ß^\80¡\85ÌhLµ       jZ0Q\ f\ e\80ó\15\19P{d-\13áôÃ$ªÖ\18®÷m-\16ܵ\aª\ 4 /0}AØà-\8a       ®Dº²û\85-#y\12÷\a<\7få<C4\88\94Ú¶Ôù\ f\8dÌ(±¢\85Ø5\ 5¡¦\94\19q\85å÷lh"i\88ã\94\ 5:«ñ \ 4MÑä\84\14\1d¬q\89X)LÛ\1e+d\87\1aü\9b\95Õù\18=v\19m7º\8d71~\81u6¿\9aQVå\18ðVî\14B\ 2\13-ñ|p\97Zw\14J\8fË i\1dþ \ 2©~Îîl$½\8c÷¨¦ô¾Îòl@\ 4\93\95\93ÚL\88\11¸¯¤é½,\88%\8dÛGØjê\91·Z\b\ 1\9d;0\91¼ ññië+\93\eKµ²\8d~W ûºÉÊÆóÞhßo\99\9eí|{·?9e¼q\ 6¤lµÕ%\88M±Õ|\1dÀ³Lh ÊdÿU5\8f²\0°¨øv\96\8døö"ö\94\89ß\ 3\96v×Áòvë\0\1dx~\12OãR\7f.<Öª8+\11Ñþ\e3\86¬9ð¼³),\83°À*\80\99ky=í\84\18Ów\1d\88%eÈL7RÊ\97¯>$µ½g&aBòùF\9bã(ß\90ÎVjäÊM\0¤Cy\9fä.Â\1c²\8bR4\a\87\9d}þÕýw\ 6\17\89ã'´\95$ÇÿHp5â«Q\1e\91\8f~%¨\8f%ù/á\ 5 ;ß=j$æÄöf\8a0çÅ\1dj$Ò\1dj$Ì\8aÔIï¸\86Eÿq\1f\ 4H\10\13#Æ%\ 4\ fiµ£\1dr\8a\9d¸ÇpÏe\7f<?~ÿ¢âZ\96à\9fÁaq"bïd#\ 4\85\1d\8f\10Q\ e\ 3¿¿\94½o:±ÃrXICCá3lh§êÂ\8e¾\ 4Zëñ׳CÐ\ 5ÊîLM\8d\9a\90ó7Àu!\9cR×µ àh­ôî\12°Ý?n\95rä9ѲS;\7f¯\93Ò\9c\e\80h\ 3ÅÇê5äߢüæ8â\rÕ\ 4·@\ fââ\11\ 6À¨æ,¶HýÙ¥\87\93*\9c',[ÏvÏIn¶\83%\ 3ß\95ÙS9+j·z\f\e!\ 3
+ÞrL"\8f¨M\9f\82!\80\8e°LO»6óØÍPFS\1e¤\94d\ fô¹\87\88Ó\8cQ\15\9a\1e\99+à[=+7\12j@\9b;ϵo<ön@\1fwÝÁ@ûrxÍ¡Th*t9\10%¬VÐ]ÊJYaÍ-ÌÀú4\83,I\82À«\94pt¸\92M3l Î\9dA%«ofV*Æ\1e\b1\13Kz\80ß}á\8eZ££ê\8bå\93ª\95U\1c\98§°Ø\17Õ~\1cªº\12£\94ºQ\9aB?é¯Õµ\0\8bÏs\\9f uÖ\80\14\14·\93(mªÂ"üß'Ø\8dX^Û\93xäp\8cUÿûNàfõIMû)þªÑ©ûÇ\85\93Véa?+úÐ\83ßF\88\9eͳKTe\82\11¯øÜ\18Eåmî@\r Hy\ fg\820V\17\9eÏ\vm\8em]®ÕÊÄ\ 4        Þ\0Y¸a\ 1B`+\fÀk«[»\ï\eãÏS't>ÚÛ¬/,÷í}µ\13\82,\0<\aÕɪ\ 2±ÌÊ\18Àªã\1c#` T-\82¨3;BÀ\10q:çp¸´@Ü´\98;Õôð\9c ¢\85ÍO.oá\97 u\1dÀ\8a±\14c\ f\ 39*¿½}µ\0\99d\8dñS2[Ö©Q\0h\10<IÔ=GIa\86\8a'?r«j£\99\9d3.\83\f\eL6\ eç÷\99ö{ý      Öê°½\98Nû'\ f\90u[ú×Qc|~\90\elu\1d\19\84»\9d\8c\9a¯ $/lj\ fÖi}¢\9fã\ 3Q?\89\8a±.\1f\ 4!:\ 6\ 5´1uá\10y­ÿß³(l¸Ø\1a\ 3Â\e\93ÂN\v®\18Dhæ    cJv\82B²Çx×Àiß8å%\9a­¹\89è©ì\87\97\ 6\ 6õAaú/¦\ 3T\1d²Þð\8eà(r²;\812\b.\93f\8f\9fXB1~Ãf\ 4\9cä&\1e8 Æ\89\b¿V\1d\89\9fÆ"\ 6\10P\86<åfþ'ÆP\1d:"W\1f!Û ªvÑ»¼oåÛ5èCA\9fèøÇg]°#\83ÔöoÅG\17ؤ²\1ahä³+¸\18møJí_ó[¿ß\993pLç\1e¡Î1t>½b>\7f¬þ\92t\ 1úq¯\1cBé×ÙF\1aW\92\1aÒKÿu\9e¥\98Âà¯nó\e\ 4Kw\9dã\8cl£Ù2\96ÜhúïO'Øöñ\80\80\ 3Wm\0\85\9cs7¸}¶\17Ã+®û\94\95\1c\95ßs\17\8c{\88È
+_\1d¡\18\8d)\86\ f|Öz\92=õêz\91\10\93\ae­ù½²\9a\8e\ 3>æFæâýO\12\1añ!²§Ê*\81ÚvP\84\88+y%M#\1e5òÛã£\83\92$\1e\eÜ\1f¢ûìHÚ \89°%ët3§,¤K\98`\96T\8eáH\0DH\95ý\91¸ºâ\8a\1a@dÝÔ1=\1eG>\r©J¢Qq1½ê0~¬\99\r\ e²Bâv\91Û\ 2\bL\84{\8eÁÈ/ÇÚú3\9b\94¾?ÊÉ\8bá\1d\12\8bø¥`Ær\81\12\8b\84´Ùò\99\17Y0N?åg\18¨QÀÀyE~\92\ fgaÂ\16Û?aÝ\97´`üï\ 1\87nIÊѬ\8dº%A·B\85æèò H%ç|\9eT\ 3:V(\82     *\ 5°î7Ó\9bws^9\9aqw\95A9Ç6\9cE\94ò º\1eÎ\81·ÒbwÛþq5\9cm\8a ,\\f\14\91¨!7ÅF¤\ 3U\93ü[nkZfJF\1a\9c\9eõoWMæF?\0|÷cï\9aY}\ 22×¢]º\83¸ó#:\88u>Ø\£pô§¸h\ 5´\9a#H\10\18[mí5¤9]Ê1}+ÅGµA\1c)\b.F-¸\ 6ô1\10\14üÞÑöå=VÆ\ 2\11çÑî\9eÍ\f\ 5\8fµ\ 6|\f½x}3\81\96ä\ 4\80ÿbîo^\11nÑ©l\v\9fÞ\8a\ 2.àJoäcM\16âö\a\16\rB\9e¶Í\19ͼ\1d å\7f}ÁºÍ\18;KlÑí®n\1d\8b\87'upÆ\\8\8e\r®\85AÅG\1cO`ù2    ï;ÑÎ{á\9c\8bã\19\9f\aï\84?\b\98ó\83×\b\12¤7èFÊf¹ªSöT»\99Í\9aB:«J¬\e\8a¼0\10\88ëÙ\94\ 6\ 2ÜÙ¾\93Ö\82\1e\17y\8d\eÊ\89\0m><÷\1dÄ-àï¢\9e\ 3ÚRþyÎ8^ó´Z>;Ü\v\89ÿx\16\82qjB\82\16Â\15\8cM'ÀyfêÂ÷\93Ù\89w\15)þ-.ܱ³¸r@Ì¡æÔçª}NP~íN%\viE\ 2\ 5\1a\90\ 3\8c\12»\19K\1aK#,\ f\ 4YïÃúǧÖ/Ø÷FNYR:4&oÆ6´¡þQÅÞ\9f4^ªP`ìÕX\8d\ 1ÏÊ&(èÖ\91\9bAä5(K+\1d#&yÊ\ 3\em\83\ fc\18\13\fÚQR\16Ó\93\1e´u\1a\16Ô\88\ eÎQ\90(ÒwB5:u±c\ 4\18ÝÚ\8f~^¤s\f\15\12º\8e§ÂöþDjC¿cW®WÞ\ 3Ê\a\8c¼N\84_±%\97\9e\f`\88\1d/H\15Xv'ô¤V6ð*±LOé +\1eR\ 5\13ú]4.mBü:\0Y\9eÕ\ 3\96\95\14|\10j¨ÁäaúæÝ\93ìD\17\r¾Î>1î\ f\1e½ìÕX\8dxª¾ºw<zw NíZ¯\8e#Dª¬p&\v¬Ht\84\83'\98\91&:ô=Â\9cXÆã0x-øàN;\86Ý\92÷Ø£b,*x\89µX\8d.ê²Á\93\89Þ@½A*Èi[U\93\ 4Ì\1eäÅ\9b?pX\96\89¡{´*âP¹\94Ä¡\81÷ò""­§\r\1cÆÕ\84Ï'^2ª\0wØè¾\85ihÚMy´YC\18Z3¿¯6\8ahY\96\8c&\17ÜhÂ\86öm\16ô\vÍ¢ÖÆÌ©dó*P´[C#\1e\1ddSh\9e\85­\96\11]\12PÇÛè\86\85©òâ\86D´7o§âÐØ#N ÐØ%\13\ 3èo\ 6¼ú~6\860Kî´0\17\1a\9a\18Ã/WqÁÞÈ·¥p/¥\98Ö\82\7fÝGD
+e|V(\91÷Pá,»ÝAÍ>È4Qqº½rÅ7WÔ¬VQïñwWÌ´ÿ\9eêî\96[î¯\8dYþýÕÓÜßõ\ 4¢³\1c2íùe¯0\94\8añl      Í-yÙ\15\81¼\bÒ×\97Â^ôö\ 3_o¹W#\981"òÙ\a`§çÜ\9f\94\9dÈ\e\93ñSý\9fr\7f\88 b;k¹?\17\98b4U]T\ 5Ʀª\ 3\ 2\16Ávû.\ eÁiì\80+\8d¼¶\ 5¡f[.\16ÀEØ×W_ô,ÔÙr==Z\94Áç\7f\1fX\93Ü\ejMÿ\96²ã\9eü\1dÄæÌ[´äв\12\aö\9e\15\9aj\ 2\95\1c÷ê¸å½9·ó\17\1f\96ñ\TG¸\9c\\12\ 5¼ªÊ/àäv\8d\99ëàa\ 4Ðö\88÷\ 5-\90¯ÖÀâîíH["Ü\a\88Ä]        bm\91Sº2æ\14ñ.}Ó§éõEi\7f7OÓ³\1fOEþí\93\ 3´³=JÁÌ.\8c;¢x\91Ѷɫ\89üà\v^\84\9cqO\99\1ed2Ny\81\ 3ñ\8d'\87\1dôW2ÞnR\90,dyFwxJ\fEj\vJÈ=\90¦-,\ 1\10\97\86f"\82ø\18Às:ð\80|ö"L\8e\eÆ£\13\1e¨Óó5r\ f\8d`\1doÐù        +öºV-\ 1ÿð[+ýû/ì\a\99\7f©l¯ó\9e\91/þ),¯àcv\92ÊýXßëIez\966äöT(ßþ¤²¾\oý\92Y^²7\9c\92Êÿ
\ 3»ûêÌ\ eï¾4Àîÿ­içæ#b­<þS\ fÞ´óõ\7f\1fý\16\9e|HËu§\9f\9cøÿø´óò±\9f½içâc?ÁiçìØ\7fáiç÷l?\84kwî\8ckç_o?Üç;\17\9cÎc±¥Ïö]¯Û\99PÍwtiÉ]\94?ÁäAçÌî#Ú¾\b->öO@¯·iû^\90\9eå3#\8bRáß\90\98ËÊ¡1;(\84ÂËÝ»Ráª\ f'ÍÝCþL\1e{/9$¬? ø\9fÔô·ÿ3d£©&\a3Jô\ f\95êü\9b$ñ=ù<O*\9e'\94BMeõ\ 1ɱAuòhKeï·oK\ e ð¸åPiÚ\8d\93þ\11X\eü\89ä¿ãBUg\8bo\15\81¿\90\e'ô="\1fð\8da½a\9b\14?1þ^\9f\86÷À\96sçpû\9aß;\81\13ƽ|í\86³m%\93+e=\97ò[þI\8e5ÚÛÖ©\14iÿ\96Þ¹\ f\95\97våùÑN?ÿ\ f4\18\98y/×í{}7\9dïü?\ e£AåôÿS.íÐ{\fç~\18Î\1fK\ 3ÀæØ÷\9aï¹ðýW~\13a7ÚÔC\93Éúx~Îci뻦\ 2¾Å\9erkú6ó[\ e£Éûýî»´ÿ%\87Ýú0\1f\17Í¡\92\83õþ\1c\9d=~/KcC©¿}X¿÷Ä\ 3ÿý ä{\95\1c/r\94EîAÊÿP8ßüb\8d\1fr\ f§¹\aëÜÇÃÎò¢ÿyåç\97\9e\7fù\a\8b\8d8ïöF\8a\9f¡ý\95\13ÿ\99X÷Üò\7fåW­o\9dάäå3¿,A]ëû\9d÷E;\9dY*pÔ>ªÛ\9eÅ\1eZ3)z¬{\86ògPz¿WMe\eä× öÿ«§þ/\19ª\1f\8b»­C\85\ f&\ fÁ\16Ê\9b\9e¶I}\97\16\927­êõñ\99l¬½\1eS:\87
+ccõëº:n^\9b·íg6p}Zmâ/XTl§·¼Ì$*\18ø\14\rSý^àPN§úk\ 2\82÷\84\83C"þ\82ûV\82\10(/Ïú\92\e\88^ïº6Ó\93ýÿ1bÌQ´ÚDm¹##IÀqYH\ e\92\ 4\927$Mº]\80\eMº7\rÖ±\96m
+k\99\92\1eÚ\ 4Æ"\115\8cwmÞî½^Ék\91ÛzCwM`M\9aàö\918¥nAÐØC©\%ÐqÉC\19\90#\bVÛmÄ¿~ÿ\897\ 2Ý¥»×Ûݾïo½Ýîïw{ÝïwÁï\85ßM=ñûè\9eÓß}$\92\9d\93W&B£Ï\\92\15\1e|Tè!Q¹¹ë!Q¸D\1dÆÂ£Ð\8ag\8f¡1®\99RÊB£\9d~ô²\92æÝsnnaQÌ¿àï\b\96\96\ fs9D{ä^ùUÓ\\19\92&u\94R\1a\ f\87÷´z\935³ÓÉ\1c
+\b\8búÄ\17%S\9aºÄ\ 2]Ô[h}\92bYÐr\8eäL\90\96Þ ,´\8b+ÍM\vo­×\13\11\7f\7f/\8b´\1f¢%\8eâtü·\ 38øá8ø\8a2éùnV hî&ý"oöäßî   u\81/qæH\ 4´ºõp(.\e\92\82Ðüé<ªYª\v\89\91ú:ÿLéT8$Q7Ò±89dKdö\82ÍÃp\86d8_\8cÑν\83\83©Y8Ëp#?=òßT\95\88\vÔ\ 4<ëÝ\1dù\16¬\8cµ¨´Ðo¦GcØ/uª\ 1È>&6ªÂÞ­µAf\88\9c\9aÚÄ/ö\87\96gñQ\1e       \90y¼Fät«7Vs°zF\80å5îÃ\v¤Ã~Ð\92¼´¥\15ô\9d}`\16\ 6ác\8bµ\ eú,§-/ªP;m¤Ô\13\10¢Â\93óÙÖåÚRF\85\8czdqµ#\9b-vÈ\89ö   LÝ'ØnÏÙ\12à\86]\13\13v\7ftK\83LãÖåºmî\9b\83\95.\14\vÊl\9e\82\ eSK\16pb÷ë²\83\15¥ç<Ûä5]\85õ) \16/i=â-*E<ox\ 6¼itÉ\15ÁôÔå\8fáÔtO|0Z´³\9c\1a \9d©3Z\9d\92í\ 1\9dn¼í±àúQwK}³ÖóÙ\ 3\e\12¹MɤK¬[JE¦\b¾q\®#r\8cE¼3êê\90s\17\88Ø\17\ 4\8d%&\16N.\ 3¨T®b¸Eëäi\91§>£  qÛfÄ»'\89ta¼C Ã&òÙ>À\98\8d¼w\ 6z$ñ\1dY\7flc6~[mÓs,¯}\138\87\11Ô3µ\8a\83\vâ\a\ 4\96U5\84M£¨o\ e\14ųÞÃþò"ï\96\8b¾M@D\9c\86ä%õ$aC,\84EÔt\9a\e:L{êLQdø\89ã_R|&\ 2\9cFäWðÁY»ÚÙ·7DØ1#y?×\1fÑ'\8d"F'4\11jé¶ueâNG&à(s²\9cî\179Ô=\93:ÙNJV\ f]*ðø842±\1f¥W!dAYÜæ\ 3UiZ£y\825«Î:\87S+à    «õ\r\8déê½4¾j\99\11Ó7Í\8dýd×£\8d\843\ 3\eàGZ><\bñ\8fD¾F,uf\83¨]Ù¸õ¨#V\8dUb/ÜÅÚdåñ\b`ÔÞÕůà WQ2N\9fÞÊï\9dÄÇ¿Ú8?$(\8d\97SiykÌ\a#\8a\8a\9f\91ΩάÙÁ½4i#Ó®­s]\8dGûä5)a <\1eîq»¥;¹\9a%§È­\1eß\17\8e>þh\99¸:äÅÚ\8b|*\ð¸ÎÇ\\99H9ï¢ÔÛvz\92b\f\0\e7\8dGµ8¾ð?ÜÒcn®IDD\9a
+d¢OéÜÑ\8a\99é,3ÉÕܼ\15-ä°·OçÜìEKI,-\13Ô\ì\ 5IÒXNN~ç^*M\92ÂjyÛ\9a!Ra\12Ô\95\84Ä´Ë}"/^\12,\1c½íË\mÐò¨È\9c¥Ì¨©\a?p\ 4
+@²áúÔ$_·¹ë±¨ü`\88Ð\ 4\82"\9e¹Ñ\ 2\83d/56÷3À z£F\15ãÖ <¡\17f¿ÜÈ\Ìzè®\1e\96© \a8\r\13\95\0A\9f\10@jùÀU \15F\b­p}\97D\86\83\92Ó\95k\12×\ 1\¼¿Ö&2ú\7fx\ 4r !|S\88\9e¦@\8f¢(\8f\83{¨W*\rôð\13¿ú|\9e?óád«\96®êÔ\80G\ 6`áÔÑ-c\1aÅ\96:æd}Ë.9\rûb'Q\ 2S\8d\1f\16è\98\14B
+\8b«ÈZüÁãoõ\9b«ÚVVëi\8d      Jp\7fòëK\8a£Vÿi\80\94®±¦ÜaF\8d\ 2½\8c­Ó\9a|Zê;Åê×Mµb\b\8cBàûOÉk|¯R\ f\9e\92\9a|ZsêiÖª$\1e9õv\81:TñeÈ\9b,\85ö+U\1aY\17\ e\8d¨Ä0èå\86:EZ6\8e¬és\88Þ,Ü\13j\8a¬Ñ\ 4ç\81\9cáQ>§\8aØÄÆEé\8cÇAÈF<\89\93H\13]ÂÙÃaÔ\1cXI\82\9c\88YW©eÒ\995l¼¶Þ?\ 4\b\15\11Ò´fÁÇ0xngÖÇ¡O÷Ý1Nª·C!q`\1e\8d9@§áÛ\9e\89\84\11\9a´~\1a6g^¼lD^ºÆ\1e\ 27NJx\14\7f@¨Ï\ 3\90>>r\15\1f\88\7fM\1a\0\8b\fVØ!\9eåª\99\14;\8d*\99\ 6Xºu\ fÀ=N£}Äê\9dC,sá\13Búmal¥\81ìÒ\1f\1a\7frwe        äºó¡\1d\8bSÉxO\1aÂxVÑ\88B\e\84ñ²ß\ 1\1c\80iäÅ}w*CÕ\8aYâË\0\rv\85dWÇþ¢.\ 3*%+RÜèö×\80ë\ 2.¤Í\1fYeÝ"®\0EK\7f\rÊÎz%ù{\rú\88Ø$bF²-2ÞVcý3¡Þ.o­\83T\12\10âaøqö\8eâZàùÊ\16<W¦#\9eÛ´öDÃZäÈDµÜ[\91ô¿Z¾Ï\q\95ö\87\9egOîÆã\7f\8b¬Ä³¼X\92\1dyñuÎ\ 3¯¾\8aú\98÷\15\ 5:\b5]í\0ëº\96*QÈÔÁ\ 2ö3t>¿<A\8an\17·Zå
+ªÈ¥uS¸}L\ eâÙ.\9b½Ô\8bÚÏ=\a\8dª\17?窬sW\16(\ 1g|\9e%\18ó/\ 4\8dV¾(\8fÞ_\9cK\ 4kìê\ró§J\99þr\ 5NR¾øøÑÁ\1a@28¥6Fb\96\84VÞÒO\0'\8a\8eÍ^\8dM@\1eVÖ'\17\13\ 5Õë9û²b\0bV(õè\8eêϽl\14ã\98º¿â\ 2R×^¸¥ÖX\ f\14\81\1dW\1fZ.9Ð¥]\9d\19áÿÊ\87ÿ\9cu{FÐ\87¹©­wÉ\ 31;\89ý\ 6àáebþWP \ eÆ\9a¶¹_Ì\8fz\aÅGf\8dB527»Ö_\98t±N*\16ïãÖ¹¹\1e _"Èß\15×#Z\8fz\a\99[ñG¿#ç¶ËÚ\80\89À\7fj½dW­¸\ 5]jµ\84\vYÑä\8f\r·\ 5üZwÇÔ¸[Ú\8c3¢]\90¢Ù©\Ö\15öt\8e.\9a\11\95ð©ÐÓ«³0\14TLÁñLA7,Y\14u\8a\7ff@]\9c\10[2a\17\r%]\ 5½¸\ 5hT\9dt*3è#\1fo)u5.0<áõ \107\8dUãz¸,±Ý*ÌY3õÈ9®B°\ 3\15'\854[p<â[y\81!5¤åmôÌK\\ e(P\1fÅ2:SJkH\93zz\95¶1ÖÏÆ\0£õ°ç«ªàßxQ¸Êd·O\9aÛ\82\a7B¹Ê!7\11|}B/@A]xDÆç­ïFôB\9e\8eù¶\8b£yÏ9\16X\f½\9b\ 4`YÎ\8f×ïÔo\17\9b`\vD\r\ f\0\12EõÙ\b»÷×a6éß]\9aEöO®Ù\11zA¨âôO®Ù\81\94ß]\9eEûG×h\11z\a×m\b¾\91õÞp\8bõÏ®ÀÇ\9a\11®Zóo®Ú\91vï®å\88¼£ë¹r.së¶Äp{n\ 5JÏãØAÖ\97ìÀÚm\16È5niËöÒ\18P\ 6\17Ä[­1\7f\99!\85\92röÔ\1fd\98\963vßWýdÄ]´\86s\a­iFk\92¹·\ 5\a5\97ý       _vW\12W\16W.TÖ­\1a˵\99k8Öy«¦½\8b];]S]sP\r'­Ñê\0\19½?ZJ+ÓõÄ\9e¾>\84\9bB#qFKÓûr\19m³ûA\137¶þ\9fµ$t$Éfd@BÃn\ 5E6e\13/\99\8f®à&\1a*|qõÖ\7fÄ\15>@±\90Tù#í\87ùTÂ/®·¶Ø\96ÄÄw\8bk{Õ³ÀÅ\9d¤\ 6Î×M\7f\98µ?P\18\89¿Ö\90l°ù81:'©ÐeEqBUóô;ýq\0ßÕU­¸#CO\8e\91©Í\14ô\96íÇ­\9d#ZÑ53~Ü\8b¸+$\9a|[\9eFªoÏ!Y\ 6Ü\18\13\8f\0+¶%Xºòm\91¸Ù19©5ýã\81«µ6ó.]Ê.ñQw\1fÑÂ\96º0\82yÝG\11\91>úCáFpc\16
+p`éýôÎÞã®Îê97¹\15CXç \v\1cT\8d!JZ¡ù9räx®be\87öB\ 6\ 3ÿÌ\11¶êÐ\88\82\99â\ e±ñy\89\fÉÊ0È\99«ø\0£?C¸EÕ\97\8a6¥+Vëòì o\86eZà\ 1ê\95£ÏÂy°\ 4§!<ذp¹\89X\83ã\8aW\9d¸\18$m\93Ä\87Þla¼Øca"=\f¦E`Ø``ÍÁôVo\1e.ÎùãÂ\1c¦Ê\91A°¬Á\85 uÎ@0>¦²\8b"Ü5
+\89\1e\b\8d¸H­ðºBë\ 2É\9fR$\94{¼¶¼
\ 4^\ 4 ç\8f¿Geª\94ZÀZ$®\ 3c;\1e\12I]jÌNTmHb\84]D¹7£ø.\8aªä\0\13\9e024àM\8d\8eS\10cЬýó=ä\8fGU\86\88\7fu\8a\ 2ãù\a¡nÇåp\7fªU\8fVõ­·\9b±¸¹å\18\1c\ eñc´b[7V\V.4ø&-¥\8dcØï\1eõAûýèú%®xHã\17\10\ 6h\7fñ\16¥\8cÛÇ¢3\ f^bÝ@S¨0@!}¾ðu\r\rb\89N\b\ 1ø\95ö
+ÁJÅÉ\80aéáµ1éï\96ñòz±\ 5b\ fÊ"\9dòÝ+R|\1c*\18]æÁ\15}!\10\90r\b<\f\80\8cu\ e¥\9a\991Ó7Î\8d\e\8d\v¼\ 1\8fÉ\87\9aâáæ\9e÷o ÷ -Ö\83\18lfºV\94w   \94¢\ 5D\15æ\82t^\94\ 4þÐ]!´l\16\0ª\1f)\17ÚÅ\15\8fÖC©cØ\r*\9b\ f?&³Á-h\84\v®Ð\14Ï\88'
+Lît$Lõ´]LuÜ⼤¢HðE²~ú7Ï\vòêÚõå!1×9n\191ë\\85\14\0\14\ 5CO¨\ 1̶Ó#ª\bTñ)\b\97øÖåÍÕ\11-bX:/\97æ^Ãx{U!<=ü`bߦ]°Fmnµ;Ñ­Ò/ë+P
+\ob\9eø(\95\8f\8fÕ\89À\16ÜÇ
+\92^¼ØP¢<ü\ 2\80\16¢E\13À!\80*Ö¹¬@\ eåQR·öü\8f±q\80\81Ê&Ý\9a×\11×î\0ÃhÐAâ÷yØékQ Õîû¼îÝ\9c\18­\17÷DI»äÁ\8au\ 2 Éþ\91p\16Ð%|QéÞ\f¾ô¤(æG\98E¤vÑ:O\19\8fWd\99ÑÍÇ\91\85e\1c¿0G¤\84\99°\94ªhÙ\84â\8dÕ\95ÒA»rù01\80 \0Í¿é\ 6~-Çè\ 6a\v        *dØnz¯D'5ªêÒuÃæ°þÈm±y\16FA/\ 4\8a&]G\8fè\17¡ÙçêÞ\ 53êÕõD\9e\90ô »ôU¤\9fEZÝ"µ\1d\8a"ý9tWåÁÂe\a$¼5º\9a\93\889,\92ì\18\81Wè=§ZøÚ°\82\91¼Ãn¯ª¿¬\f\1a\83º¬\1c``ûÆ¢¯1g'#«æm\9aõZþø+\8a\14Æn¯¬½¶Yêû\10yì å\10w$®ù¶«\8c\86ZTÒ°ÿc\18T\]y\85\94\17\98'\v´àkK:\8boíä#v!\8d\1f[\9e\8e7¬¹è\8f\84\91-P\19j\82îVpjì\96ûL\91Wn\10\a\127àÜwË=0g-Rúu£\99ñ´Ê-¨+I«çÖ\81ò<û%´%iÑ¢¯¨\8aµ\1aD_-÷\b\8dQdVdÚ\97\90\b\a\97³\9f@\84C\1f\ eê0Lùõµf\ 3¡6¨«\8e\8dçIº¿\93\r(Ì8°ÿ\861âáÌ\9cî\95íQu«M¦ÛT\ 4
+Tô`Þµ\1e\13b\r_\r\18>ûRÙ"\e!'\8a\14\87\15\16\88¿\\92#\1c>¶5×\97³ô<½\9a\18}dbþ!\9dépx¿Â\1f;mB0ý!Å\88\aÜ{¢Ãã\a¸E\970S­,;PÒì       8.A\92»\83W\ 3uÙ¦ÑvWcäÁQ3óñüG¼SËH`\8a\95ÉFóÜn<D\1fß\ f
+*\8fE>¼~©p\10\14¤Ô¬Ñ@W\8b%b:\\ 4u}=Ãp&X\1e°°pRY\b·Dê¬<)Ð3$!Ä`åGKYò\82Ï\9aY\98ÒLÌK\r\80g\85v?/&\epdM¥O]\98Ú b\e     jÛ\82\84\89pûôBcÅf\88û% Ú\8aú6á1K\13\ 28b%\ 1ñî\84J\0G\9e=\ eä{!3\a\8e%VBñïZ£¥\8a/F ¶²_å\94Õ§f@\18\ e\9fè\9bl\10\9a¿0\ 2`Tmêü PëWFÕ)A\83[\80&]«
+]i{Ö¡0\ 6Å'V\1d\15ã\11i¿Ê"wË[BhO}]æàäi\82\13âlÕè\85VµU²\88«ÝgQÕàXö\bêïìf\ 2\1eîZɦȵ.\a ­\97\93[ a\94\ 4\19·õÁ\98þ«1«è
+\0³\18\82\b\19oܵ^W½\0ë'ýY nÿ\98\7f¡(\7fÏÉ\aóù¡ý\89«cî\16rs\98\11\1eÀ\88\8fÇ D\1cQ\11\b\89\9fô\11\16?´DL°"3ù\82#>""gô\b\89\9f\90D|ïò\88½\ 3\b·Ø&h\89þïú\b\99\9fþ\88\99\9f\8cD\8c¸îf\7fÌD\96¬åòÅ\9a¿\b<f\82\7fìÚmµ\83\11\83Æ\ 2Gs7\v\8d\8e´¿4\18ÄNU\e,\82Ñ\83ò/\9c\90ªÇñ#¥¿GWÈ\0\91ÆE[Åÿ\0VN:l\84í\8cZ¯(øGh\7f~LD8»Nw\11¹2ôñ:~Z\b÷×õ\ e\1fSSùZ\8a.u§ \ e7Íw\10\e!·7\8d±ÂÈÅÀ\84òR®ª±Ímøáq6·\ 3«\8e\ 2Ì\1dw±\8eS\11\a»Ã\9e\ 4\7f³Þ\9eâQ\90\ f\10pDÁ\87ëaÏZD/`\88àI\81È\83×¢Ë\1eÚP\9cuÿæôZkàý\8e      \r\9aS[p[o\87\f\ 4      _\15\1eþOãN@ñÎ**]C¥=Ô;    }l»fÞGó\92\81·\fÿ
+pz\ 3Ê\83\10¸"\_N÷Ð\97&6\10ß_\1eV7Z+ʶí/\8b\84u3gG)!hÜ&\86\81p\92¡Ò\99y\82Ð}\96\18\1eSÕÙ\8c?
+\8d¨%/
+\8eXl\15É\8c[pñ Þ´\83\19½\8b(7»KÏl(«21\8a6{3\98\90Þ®\v=Åðü\94`ÄFó   º³[R\ 3\ 2\80Ôbó®ùv¾À;ß\96ÃÆ«°°Fà}\9b~\ 4¿)uèä]\90P\80qE£êñ\91«\8a´¬{ûnÛ²ã¯\16ÛL(\9eâN\b(ÜoEÜt]âÐ+®\83¡µ¾\ 5\99\8f-Æ \9d\19ݧlï³¶0\1e~\8e\17cßñ×sÄhLº\9e\9fß®N¬µú[Ì\8e® âDÚàY¼ÐÛ3ì\8a,¨Ú-þÈöo3¢Ñfñ¹KH·\90\f3l0Ì\94£\vX\83\fã\f9òÖ\86\13Ç\eÜuÍÞä"ÿ3\ 6\19Ê\f`­¸©ZËÞ.
+ëRà®\92¹Ï\95Fà¸*v\15ö\95®\15£\1c\15zI\90\94\88:·çv.£\1fÎìK\82\13;H\85Á4©âòû?Ó\82bÆ \81\b6\81*F«\8fw\96Òá1G\ 4Åå\ 5Ä\1d
+ܸÖ:µ¯#yİ\80®´|1gkí
+\91ò¶M\97\8adr%0     F"MV¨\8e·÷tXÁH\83|ôpQ\9a'ùFìµUepÚ\14\ 2XØ@ß\ fµË6¸\16
+kGÒ\9f¨ãé0ð+/Ì\ 6\84©$)1.úB\93RÚÈRrL°þ±,\v¬skoa¿$\9b\1cF\80Ö½¸\ fñß2/³ÿ\8b\93øµ\92\\9f;kDçôÜ!\9d\eúÃ'd?Ôaþ\ e\8cËûR k½=\80Úì\e ÷ù¶Ï·½LÉ»"Ù¨Ül{\fæªB9üh\83q\9fã\81}}fd\v"Ù \10à(\ f¸9\8b\91\10µXOç\ 2ϵ\ fý6\88Ù^í\aì\8cx+8P
+#2Ü4\159ô}\11ó\ 4\ 3=ÞÉVßjD\0¢àý\e*]}\80SD¾¹K\8a\8a\14\97Ö\97±5²þ»¸\81UvÜ\16 ë\0Öt£\8ft\v`B£=\1eú*Ýîa\11?w÷îþýßß»û÷\7f\7fÿøôjFÈ\15\ 5éùÂ\18·¼d§A)e2Ímäo\f\ 66\80Ç÷ϰ¯ÆB8ð¼HeÙ       \8d\14Â&ÐX§È\9c°§óÁª {[@ Å\17\82S\85qJ\v\12j¿4TÑ\11¶ë³2\99\17q(-DZ\\8c^s(°p[PoÙ\92©\17\19fè׫Jhå¤Ò\1aUg\95YåW(Ur\94Ë72\82ÎlòXWÂðeÁ\ eéµT\8c\87Ã~êF-6\0àg\1faåWM/¢\14B8´À-µöQQ/åe³qt\873~\82\1cÛ1êK\16Õi\19NøÈ\11D\98Ê\84dE¾\81«~ñ\95\85ÀÚò\99\8fÂD\82Ù:´X¶Tì ^\95\8eêÂ\ 5Äáq\96ïGª.R{¶\9c\82\9f\97\86ÌqM\aÎ}C\0W¤\9e\144E³3AnÌ{Ba°¯\95¤\99\16\ e½\1dx\1e\1a\8fc\a(ÖÞ?Ø\8dA\18~ÌØ\8f¾]\a%*\8d\95ðî\84\18Ù\15\8cYcFª­\1aä/ä`º\b<D}x<å0\ f/0YJ°ªRW\94ú¥\17|Õ}\8e,¡.³\9eo§9]X\8bø´ÔèÔ-y\1eË ã\12;\84EëÑ/1óߢâU\85xý?À;\84bôc\ 5\94LöÔ¦§Ù\95iåZz}yVÊ\15l¢s@ôñ¦Y%\9c°¯²ñ¦T ?\8d\p\8a¨×¹F¶®ª(æ>TXy]¨ü$:}Ä\94"´³>N\f\v3 Å6\ré¸X\95\80ׯ+\È5ê?CZ5¯¬<©ÞÈ¢\16ÓÁÎ\80\83­n\f\1aù\f\ 3lF·CX\0n,>4ûn\12\18½
+\ 6G\98H¨ÊòÓ¡GZ8£»\8cý\96Q\ eÜK)\90ßpÑN¥\ eá\96:èÝ·¡_Ew<.%\1c\93o7çÑ\ 2\92P\93n×ÏPTøÄÛ\9bçÇ\e§H½V./A\11õ^íú:¿Wm+\9b\8e£\9ec\1dEL¨é5åsÓ\17\83ôj×ä£V\8dZ·êàdEGiNø'ä\bSC\96ÛA¾
+e@¸fYx\0ÐÔ¥F\87ãâ­ãWñdª1o\f\8br\8d±×\8eb¯XZ1Âì¦\18NZd©ÙÎÍHgÏHgÏ\96Îì\ 1úðF)ÙÍ\17\86%w¼#\16þ\ 2"ÿm=äᬼm¶\83«     KH\84»!\84±Ñ­¬«G¾\8a{Úm­\12
+îÈd\1c\13¢,l?K\97\82ÆY+Cù\8cª\9f¡\15íIôÍ­Ðw\11íw\13­&_Oùê\90®\7f\15µ»Ú\ró"Zà\8e\80û\9b\1c\ 4×d?\1eKß­þãl+áèÇà\8b\83mö8\11ÀÌ\88´ïaü>q\16î£\ e`.¨¿5\ e\0\8b\90\14Ö\97b\ 2\91«Ê\rĶÛ\83Wæä?«\1cÃG\aÁè·´õí}\95~%¢G½9½\84\ 1çÞH\92\91\12í¡<4\16èËÍ\7fÑr7G\123}¢cÅ\e\8d\18ÐÚ5ô-ÉtM\87§1c)¼\7f£\8eG»ØÿDè<vè9­mÁþæÜ\ 3Û[\8e\ 3JÕñÀ\17»\8f\8c\8d/.ï)õîù¶±nç¼KiO¨:      \1a\18IÖ"­ú7cçuät·ü#Ve\1e\89¡¼\97\8e¾ªK \89ç­¼/\ 4s\10oXòáþ]¶\8dé1\17\9b¶ÑuY\94ô\14%µx3\97\1c\a|\80IJvÜ\a\0\15\11©µXp\08£q\13Üo#29\80Tb_À\\a\e\ffx\8b\ f\96SܧôøCë\9aµ\8c\fÉ"\96Ï2E%7%Q©v\19\93\81.ÛÎ%»rp\8cò8é3áQ)é\19)Çß·\1a\v\97äÆ
+îáͦE=%$°\rѵÜqb\1c»..\89\98\15'\ f¬\92Ô%³Ö\8dÖÞ-D©U\96çesöÛç-¸5wàJEjZÊ{y       ö0ñ)ÑV\97Ã\ 3\ 5ãnË£5\98E]ß \88«ö\7f\10G*K\ fã\91\8cW»5^eV<Zj\93Ü>Ëw\11Â\ f«º~]c\94+ª¢¸(°\12,Tñ5\b]\9a!^\83ð\93\10u+kÏ­\7f\1d\11\ 6\8c\18\10\f\ 6\ 6' ¸\1e\10¼Ã9\95å\ 5à\92å¾â\ 1µÌQ\b\91^Ó¸[óÇ·Äô\15\9b÷ý\a>ÿ·ïU¿\8a\1c{òÄí¸~Ê·\85ÎN°\80Û\86?B\b\89\8d\848\15CùøAõÈ7\8c\ 6j
+;\83Yxe ÆÂ\87ê£\a
+\84|ÄËóÆ&\91£qlg8|'[óQ{tOgÓ°S,+6\9fZ9glu¤H\12¥ª¼\8b£Á­\15F\13\91£j\91UŬ²äÕd\rrÏæ\97ä\92\85\85}ë2Õ\11øâ-Ô\f¯\90î~µ6_Æç\92ùaß\1eR òÒÉa_¿ÑHe/Í\96U¥£Óy»\9b
+ýT°³U6Ýà\136\8e\1a,ÊÓ\ f\95·shË\9c öÉ\99jè¨\19\13~'!\1e\84ßATæj®´¤pÅfQ¼\9e\8cU\14\9fIÎ#\8c?. ±\13ð\ 5Ò=\8c\8e\83´¼õ¨JÈ}N\96Q),_]ý\ 4ûìa\9f±\9cD\0\9d\18(åq¥-X¬ C\1eµc y\84\ f«}\11~hDãaXWÜi\98>dÐù\98²Fu\80\19\80\ e\a\1dN`5ër¿ä\r\a\9aX]q\9ençU²5¶ïµ2\18\12\ 3ô\84?ûÈ%5\8dÛxÿ\10ñ):Õ\1e   }\1f:Ý{}P@\f\85᫳uê\91p7ÆýÆhIrÇ\12\9a\8d?à&wß´LãÿðLß\14L÷_ö\13*¼8~\8a"^{­Q²Â\1fFæ¤T\81\97\19l¼¹"\84¡ê¹\10«\ 1ï_SubÆ\fÓoÌd¦\13h~\97\9eg/\9fä`&É\8d\ 1p\19ê\9f\84b³<O H9?Cm/æ¸\83\92ãl\87\9b9\a&rÆ\ý£\84\15\8c8¶Ýò\1c")\96gç«\8b|ñÇ÷ú7¯'»\14\9d8ùÔæùæ\90\7fH\1e   ö#òix\ 5$±}CÙÙ\ 1l7ÂX\97°«þtE\99ByÙ¿\9f\ 4t÷¯\1dǨÓô\epöSÐo\\17JÇ[\8bùaW÷\11G\17¼÷\viò6\7f\83\7f+\9a!\99~\ frV\83·D\89KÁü,¬º\93­l~\ e\11\99\v\9dA\1e Î÷kDæôô\88M±Ð\9d$L§(\ e-\80û\9a©¢jfÅ©½ËV^\8bS¦å\99εiü\12ÙÉÖ­gZËh\9a·ô%ºÉÖ³?\96ZhÙ}\ 4ë]\1d\14¾¾\1c¾ÂÞ_cq.óÌ\97¥\9dkóüÙ\7fÞ¡m\99\ 2\1dñ¿§d?\81÷7:×ã\7f0õá\13\1e*ÖùCK\92ûN\87Â"ß\9f&Iìe:\f\aÈ£\86x\91
+ëÙF±Ú©\96jh-õò¬v\8b³Z.]\8dT\97öa
+MNdXÆÄ帨\e\13ºEçd±èóh×\9c\92ÇÈ\bëøþXéL¶A\15èò¬vA\15ÔåØÑÉ\8aÌÌ\8aÒìäÀ}¯ë\85ý \85úïÙ\v\9c\10¿§\93\b^>U\8fo%ß°ýp\1d\14\98ÐÐ\83?\1e\83$é        ¡\96Ê\9c?\827©a\ 1\ 6ð\9dÇqäúq9Àc[q0¼§!ÜE2TÛuªd\919Ï=¾)íÇ«ª\1e4n3\1a\82\eî\92ç       ÛÝÄ\0Öæ*ÈdÉ\8e\ e\bãèü±Âß\9b"K\85\988{|Ç\f'^Vk\976\93ÒÙ\96\0¸F'×I\96\12$î/;2Zãs\95ô\95åp\99\0ò²Ì\88Ïýey\93]@Nù\9e\9a\85 \91~f?ê\95¼#,²¼½\9amnö~_\11\99.\89ó\8aË\87åõ5\86í\99aÌÆá
\11\95\99Zg-·\8e¡,ÚÁÈqc,\93%\9då\85lÇÃ\82\11ÝòFÎô\8b\ª±k\94qÜìûÉ\9bç\87G¡½xÑ½ëÆ´#oÿJ\8e´\94]\12n:ð®ë\16Ëáö¬[/\86<ËZ\90ugÉ4\85Þ5S\92m\9eÈ×q\0\ 47\91ì,;Ìû\ 4F     i\99F\86Û®Pð_o\aÒ#ç·§L;\89     ã+7\80ë\94\b\80¼\15£BxÞ@L\89Ð>S\8f   çX\v\841FäBy\9d¹;6Ì\ fisÕ-'ÌÍ´_á\\96/\18   ²M®M\92³:\91· I\13:¶·\ eº\88\86d\ava\13\9b\91l"V"r¥kVwæ\16s5³ú2ð»Ã_Ö\ 5\15¥"&ÖMÆ\92\16»\84Aoáø\96þli#\95\ 5°I`éMÉ÷)N\15>\88J\ 1\96°©û\89v\8bì\ 1M\ f*ÇV){[\8eÑmi,tËéÏ|\8a¾Èé\ 5\aK\95\88BZÅWÙ[ðu+\10±Î¯4\14\14ûX pÞÕ\8bw,ò.L\ü{\92-|H¨\97ØYâÂiO
+_ïK@)~4³¢\97®\9b\9b\ 4]6á÷f#yÎÎ\r¥ÎÖE\1cìå´Åà`\\¼´¦\85,\ 4¥Å.bH
+^ÂyÐ\8e'±qóc\90\9e\8fl\1dC@\rz[¦Ã\95\93$ø@¬Ù\a&\15\1c\9cU\9d\0­\9c\83\83
+³Á^x¶_Þ\84FqYa\ 48?sÀ\ 5\96ìä+\bp¼ë(
\87\vì\98\80«\brݤ\85a\ e\ f {\85V{ø¿þÂo\88w~º/_8>\9e£y\92·ó\ e·\17Ð!(?\ e£øó«P\92Ò$¬T»\ 5\1a\99gôLù5\82é\1e£Z%\1aÏ:Å¥Ô\8fGòMT]\92\93þÖÀu<·ÛÚÚ´\1cÖ"þýí5;\eaG\17º\977Z¢+écs\99`:Æ¥\9c¢"ZD]YnK×ó\92yÑUØý9í\93äó£±\ 5QvÌ6w}Í\1aG\rÝÚº§ñO}Lƹ:îÜ\94\1cp\94\ 5Íêu\bçVo\ft\15çugôN \ 1\ 6+,,:ÚªÄ"î&<i\8dÔŤÇòÌ[Lo¦8\13\1fÕ1Ã\98ü\13\1cy\8bù\8e\Ç2c\ 6`mñ\11{\0HÂ/´\ 4\8d"õ@\93"/N \1cEÿx\12fEÞ\ 2G\91}h$\81\17Ô\ 2M\b¾\98\12Î\11} %(Eô@\94©\17\9c\ 4\9a\91q\86¥\87\9ff··Rä]\98\83¯\r\13Aú-É\8dí\96`2Äu\ f¼dY¦³²\0ZpdòmÿNX\19Òrº¤a^ø3c\95EZå\0\f\ 3©R=ÆÒ\82ÕÇ\89\9d»/\8bÿmb±µ\91ÞK­\9e\8føÉ\99©\1eûäÅ:x}@TZ|ÆÐwd[\94FÞ?×'éÔ}è?V£í\ 2ê>×ïÖ¼\16\16q\80ª'\8eá¶~\86\13Ä$ê(\94\9fâéñ}\ 5 ú¤'Ø2Ǹ[Ï%\8bÁÔ93\1dC\97n:\86\8b,%        e\92¡\12ìVæ\12ŨPë\1d}(Q?\1d}\18JTåo^\1fEzñ\0_5%PQ\8d\8a9\89¤@|1£\7fpf_Oî÷ÎGH°ÿÿ:¬ï\97U`è!\8e®ªÃök\a¾¼×ˬ\1eúó_úÖ\ f\0<\93¬\ 4Õ±¬\ 4IÚýd\96&\92\18§\98Ö
+è$k\ 5zÆ5\80è1¬\a?åÕä\10üñ\9d~xÝ&y\96\93<v\93<ÏÕÐ4æh%\8fÏMi'&é§3Ýï[°Òg¶:L÷Ïï\87ÑA\87\r¸\fW0öÜ\14 \16\8e©4mÁsÂeé\1aL^2\89Ê)\97\9f±f6Å\11}w¯\9b R\86:]Ý\a\0`Ed¾%bÞ.rÇV; õ»Æ\85¦\95éúò\12ÚWµ
+cþ\16\92\bP¦»\9eI¤ÎC\1d\ 67\14εäÇ\1f×U\99\91É^Z°¬|#!\ 3.@G\81\1dS­øÎK¬¶qª&"D[\92rLî\88=Y¶Ä\95\89W\14_¢@*z\9a\85¼Ã\96\80ÏlÍL¥\12í@=S-RÍgÇÜû\16ÝΤ\98\90xÈ{öÙA"ª\93\9bè\85R4\12\19Lèð(\93kÀ53p½N\17g\91\86ôÕ§\99­¡=m¡Í·ZcVþ\93ø\86\84\14Õ\9aÁ0n\7f\88\98\83À\804\vãñ\a»!\11\99\86¤è©ì\12pVnÁ\86fI6*{\14\90+6\98\80\7fì²y80.>!»vÜTü$ºÜ\92\ 5\96¸\86(M±Ð7Ä3OÐ\81q\8fò²Ä\81q\8a\15í\81q\93 'Ý\9fm\ e        1$Í \9a)ÍÛz\9d¡1\13b69&öØÀèK9UÜ6Ýk£á×\99\a\8el\ 5\ 2@WP\bZ\9fî±*(¬fàZ¸è\8b7¾7¦N\1dBÚÍíb\7f\84\84\81óO!\97\98\1fö`í\80\ 2+\81"0\99,`<\91\87[t\8a£à"ùËn\99U{\ 4¶í\0_ép\15äz¸r%¡2òd\ 4\ 6\8c\ 4\ 4ëØÝW\81\8f\14¬A3º~\ 2íé©Ë
+ÕÕ\ f\15§¾\ 6\16&Pä\18\80«\8e¸È\18¨QV%Ù\ 4Ô÷Ø\99î\94ñgÔOBêú\8c\f\92:!Bþ\17\ 1\8ae&ÍÕí\1cù\17ú\12\ 4ë\11\9eÅ>Ûã\82ç³`µæz°0þ!8_Ê8\0\93§õ2\9c®gò\ e©ktdx\10\966Û¯_¨»H\17§á\ 1\8eÍÓô\18¸°¶\95\9b\98\16øD­®«\13<\96¢\ eâH¸ëâ\8dê1\1e\99äáÄç\1f\eÓS\93=vÞD²Hñ¸¢»\7f8ÂÜmHØÜit8º\19Çq1ÜÅþ£tfçzØÿO\15³Nï\84l\87\84ï   \93××TD»\9e&7>D5\f7<n       V?Ç\8bMNô´\8c Ó\aáa/\89\84±XK\1d\84\87Ùov(Ñ÷\991F\81©Òz,Ê\9aJDJs\81<\99«Ë­\9f$\80\84§ÌÜÖ?á\1f\90¹Ïôý\fzº¡ÂÔ}N·ªbÞ\99¥\8d´\7fø\8d­©\863,p#ù=\91h|¯ ±ÿ¼®\a\93í#yÏnU\1e®\1c\1c3}ì.¢*ÅbC_\ fÆu1È\b8\963"·¤U­      bx­æ\1a8GOâébcÅÍ§ÃØgk'\1fØý\19\ 1\ 3ÍN\12Ìà.Õ\9bÃdî\ fË·»x?§±\99F\9fö\ 6ré@¹H«Æ¬\ 3<Y¼otClÞgàÞÎ"\0F(\12Ù\81ð$Üs\90\88\11õ\18\84\ 4>\11\141E\fqC$\85#ÏØ"Ö¦\7fìZô\8c-`ÒeT»\995nbÃ. ð²;Óú\8c\14)$0¾Ü\82¦fI\89N\84\ f¬\10H!\8e(b\8a\1f\10¡ð\8a\18\84\1dÓÛÚf\ 5(\89Eô]RB]±ú\vÉ\f&ôgÙk\rJ ²õ\97É/s¿¶^æ\8fq\94    J\14¾Ãµ\92®`\99Ù¬\1dÔ\8a  z£î\13'>\88±\95Iðz=r¥ÝÃåôü\ 5
+³ÖxWCä\80í@î\8b8ýr\15Ðp[+\81AÛ¸û3¾31\81\90 \87»ÝΫ\80|\8dyì"åP!\ f\9f ÒuCo\15FóÆHüO(û?\85&\7ffÏt¶ß¢ywE\9eYßú\8b\ 5µdêÏ\ 4\v\9fbvÈ[7\99:¹ò¬T\a\v¨;Ê\0\93{\í´Ð\ 2Ø»Yö\13\90].ÁÅGÈ]F\88À¸Ë"=|DÎ\80£j'q!¼6\ 5Á\f­s\14»\v®l\v\7fp\90!ºöȧB$N\89îù0!ËÏ\99\8dÎ\81\rÆ\18à\15\82z3\11
+vCp\ e>}\bãp|òÔ±D\9a\95:$ÎF\fIïð\8a\ 4\9f£\14Å\È»R1))\84ÉÚÕ      bÈ\fÆ\ 6QzVj¨¬\e\ 3<·Üêo$\88ëq\11°ðtñ\10ÞÅÉzú\9dÁõ07á\bÂuÏ\ 3\ 3DB\97öÁ
+\0\97ЦÖ\ 45\18d\81h&Ü´\19þSS*áÉ\96u¹e¸éj\7f#RæÒ\926a,øµ\8e¡Ò´jÅ\8b\15\1d\11¡ûr[íÉ?Ôt­Nwßt¥\84Ï\16¹\a5u\8fò¢ÔfXø×æØø Wpec\86Ü\ 6?\ 3êZ¿ö$\8fë¾\0WÏ"\99SI\9f\82æ¶(#\9b_åÙÖ]\19ää)\96Jع\86\82R±9\85½Ì¤Û-\17&L l¥aLndSÇv\ 4[\84.±N1#Ýj»ÆI\17n\83Òw\8bT\80VV¢¤÷\v~Hò¸©Mõm\85\16à>_Oîã®×\85w\99 r\1c¡]Z\14AGh}\ 4\1du\ f\D\9b\82zÐM¥\ 4w\1aÞ»\ f¨O\8fV*zßÉÒÃ÷H8\ e[\93\ 6â
+ßH\12õ$à7h\98Àn\1e$çXÀp\1dUC\18\ eC\8d«\87÷\98À!mãï
+£Úm»þR-ð\91·\8fhÃBrÌ`#­æ\13m¹_Ãc\0On\\ 4ìÆ¯å&Ú½~ô¸\vy\8c{\92\11ÐG{~Õ´¤½þû\9cä\92K-¶@
+\0\ 3$)X\0\8d\ 1H\ 5\ 2\94\fUe±)-«@PäWs\15ÉyÀsuW\94\88%\90Á]Îêæº\e\94Ls\fs1Úé\15µº¥§\ 2Ð\ 6à&=t\1332\94­>\87+J R[!'ßÿrJ\ 2æn?·÷{æî÷Î÷|ó¾yÞÿ.ú ï \1eú~ïò\14ïzÉ$qÚæÚÕ:SL¯\ 1£\vÖà4\ e¸UY¥2Êð\15'\95à*dKÀTA²\8d\aå\10ÃRd\1c誦\94^3ÄøÕ:¼\r\8d\b\811\10ýQ/¼}\89WNK\99p]Τ\84µÅùýÒ<à¼\ 1\aÇ\90û   ô=oX\1có\93\90øç·\1câ½X/\10\1c°8
+\9a\13ô\97\17ÊÃ÷R\1f3Uä8\19W\9dg\9d©$\97­à®ç\16IK\ 6I\îJðV¡\9cJ\82\ e\89Mài0óµÒü\94L¿¨^^\ 3÷ðà9\ 2ºõ)\0§½¯X
+Oá¾d=q\95KGÞ\98¦8ùè9\9eÞp Î¥içt\1e·´¢\\bIÙ¹Ä\8171y+òàH\97,\1còYSI<\96{78b\19þ¼R\r\13 íÏq8\f\18\82\89\94äöç99_­l@!E1´à\ 6©¡³\10õ"\1f¬"˦\14-:=Ý\18n¥´\Y5qT[ò\80\83Ýo%%V×kûûH\80\97Ï\a§\1aÀK:\1f\8fid9Ó\1fÙP(q\v¦½¨%ºS\1fP\13\v3ÂÙ\ 5\92(\8c,\93\91        \1fÆ0ÿ\1a\88G\7f\97\v74ÿ}1\82z\0æ,\16F\bî\14¡ô#¡é½øG[\92;1ã\eÿXê\80¯ ªL¥e\16(\91Ò0\83\9f\9dÔÐÑwÈáÀ\ 5ç§·9ÙÃàÚ+ÌÁÏÎJ\98*qA\vXàüé|h\aß\1eý6ex\98\f\80\83øüí\16\9b»ïÐ\98%\81Y\9eþ\e4a©\91*\fHUþõh!"·5qôW\11\b\9c\89\1f\94ùêÂ
+8\8a\1d\82Åþ5\ 2öû\99¡7ɴà    zkµJ¯ÊÚ\97ç\19\99\ 6\96ñ%¶\13¢\9f²Ôt=\9dM\7fS&Þ³F¿|¡51Õ¯>Á Ç²l{ý6\8ewýÒ\90\83=uZ3\97)\85\ f\14\1f°½F\ 1ð|\8cáùKË\1cÎÞØ ¶zDöòusCõG\97È=Íßçf\1fh_¹Å>Î×\1aÐ\96\9f\82\88`.]ã\ 2X8îyõqÃ\9e"}N¥}WdþÕaì½é\12B>×\8e{û¦CÅ   Pû\ 6ìúÊ,qá¿Ìþ!\9d.\11¢,ÇWwÂ/Q2Û·§ÚèÙª)­teò.\19ðwä5\1eUéõ\9a5\8a³ \ 6l\ 1\9aØ\ 5\84Öhæ\ f\83Ò y §¬D\8e\19\9bUÆd4oA\85\12ÊÏÏmÎ+\16\11ÿg¿øJÆc]ßϳ+\16w¼®1,\13\aïÜ\a\90kÔ4ú5Ø\85äoæ0%Ö\97¤~\90ðè   \8e¶~Ë ÷Ù\ 4TÃàìB\12K\84üvçü|o«K.\ 1ì¸AeìHhÒ,=âóé\8f;\80IDðõNV\8c%y\81Í\9a\1ab\1a\91¨R¸>bÃËâè\8e\83Óý\86§Ø:*&eð*y\95ð\7fhÀ³\ 2òòú-Ö\9fgÍÆÊç\80\ 1\16Ã\9dæu\99!>\fÀ8c\9a\1eË\87%óR\ e5\9a\96efÀ¬Ë\ 3Ô¬\ e\81\90V|¶\87\87ÐO\19\7f\98¯ ÿ\ 5©Y,\r+ʪJþÑaú`ë\ fh\14±`Pñ+K\vo2Ä\95\9b    \ f\bY\aÛÛ\8eY#D\8aMH_Ö¬¿\ 1G\ 4\98ßé +z\7fç{qÑj}^ø¯$°\88\15ò\80Gü4\ 5\1e¡cÓBa¡ÏtK\ eo\aÀÏ[\85]p\9a­8\1dv\96\ e\ 4m\9a\8dO\97MXµbÌðQ»\8fÐ\ 41\ e\ e\1d\9dá§¿\8f\86×·\bÎ\91f\b\1e\83ßL\1f\90ã\97Ù&\8b3åøçØ\7f_ÞØS©á\12\17\91×°>Ãp§#ÇS6F¹Í~Wì\8cÁ½?!Ð\bÎC\90|¿î,\7fö\7f\867ÑRpû\ f\96ÏÂá\0Íÿ(\9b\8e9î9
+«£&[\83¸à\9eã\92@[î~¢¨¹AÓ³Á³\8es{®Ã\9fÚoAj]üJ\aÄ¢\ 5÷):Xòû\85R\7fiÈ{Ë\97<ï¥éæw\8cú\ f\7f\19ðxoyx\95\0\92pò_0àøPÚÿ\95\9fBd\96ß ?§È\ e¤O\95Aö)\9a\815L\82S\e    \ eñS\1f"\ 6\15       \86{sÁÂ\ f¸\13æµç
\98Ñ\10ü\81D\9añ\16äç¤fs\93\84ÑÜNpÈyi¨\87Ïn88BE\8a\9f
+CÕ\8fñ\94óò\93ß¶£_­\83\9eHÍl\r\19\8eRE®¶\ 2ÙÖND\86\18ýl\1d\1aÌïS(\89Tsó¢½Ff"\92ïí[kRó\f\8e\8f\12ý=Ø\93 No\ 2d<~\94ª¥pyÇì\82â\98\94÷\ 4ßÝSx\94¯°h°»\e$;"òÓÝxÆÉ1\ 2çø\ 1õ\9cô\86?\ 3,\94Ê\9fd\80S\15â\8f\f˳ý£iF1óm~\8e\11\9b«Ôsú¨\ 1êN\1fë·WxþX\85Çk«\84%2:§Uó3VÌëØ\93CÇVCXB\8e<\1e\1c_\ f\83\94\9eý\ 1É©\1e\14JtµaË\ eá\90\bËk\8dX½fZ\11!©÷2{\8aë÷aÜW³_­/q_*^ó¼máy\1eB\r\8fÕø¿o[¬\9e\99bëíëuuZÖÞ\1f\91ã¡«ðÐm÷¼\84_6ªûÕHk~ãm^³îx¾?\8bT\83íZ\1eCéâ\95ì>dÍÆ\ì6\8d¾\1fJÜø4-ÊËú~
\87Ô\ 2 Ë²XõÀ\e"\ f\8eÄ\84ÉqÉ?ßu ï\1d\9e_rØkÛ\ eÚmöh\96\9dF|;/\16¾Ê\87\13Ù\99\88µ=\$×\12Ude|þ:ù\8a¦2Î[UM\1f/ÉGÝ?ß\f@\9cø6ÇÔ\92\9azC\1cf\vè>\r\9dÓ\13ûKÓÎá\1fW½*\1dU]Àyùðø8\aÕÚ\97Îs\95vª»ó
+ïPZMPKt«ðêÜ\86\bvKµÖh\88O\1aÊ¢]\16³ú    sÞ!5÷X¢\1cõèfëûå  ©\88)é.¯NuÑï6Ø\ f\16\87¾ø?\ eòt\bq·> \92­TÀ@ÏÞl\ 3ê([ûVOù\97¤¥\1eïz±p-z\85Ó\88R¦¯m(\96\92v\7fÞ¯Z|\18ä\83Í=´_\8c{k¤2öÆ~ä\80ü\10\ f©¾ý\8fvg­\7f¾m\ 6ì¸5áo\16\ 2 \81­s²N\10\10\1fT      ß­ýÖ\82½(\93\89EÎ{\ 1Ñ\f7\aÊÂ\9f¨
+LB     N\94Èÿ\8cÿ\ 4ý88³>\89\fiýê\ 44\86x\fϤ%ûûä%\8f/S2BAÂ\ 6\ 5Õò¦\95ÛX?P¬r\9b\0\11t6£ÚñOÿ\0Gz\8a®ÂÑúpØ\1fwÞw\9dö]ÇqÛ«Ê\10{Z\1d\19\86\1eÁ\9bP\9a\9aÞS¦;©\1c1\98.\1cöç÷åSV\ 5¸\ e¾\15­xnû?c#û2¡TYÛÌAN ¨¾sÛYâB\87Ó\91ÃtËt;Ù\12\95
+C\ 6ù*[ø\14O[\a:\1cÃÝ­¨1\ ea\1c\e]¢rpb\ 3Þ&Ò\94ªÍ§\97¢PàtR\92\83\7f\7f\ 5Xøú·!\91\r£-ë\~Ñ^Ü^©\87\80°;\91µ\1cB8.rr\ 6¨^y\99U\86C}}\\1f\ 4\92vT»\12Ô3\aËÙ!\84\93¸«\9cMòâà\10Ý\ 3íhC£^Ø­(féí(pâ\1f69f\ 4¼¹¿a\ 5\97\1d\ 5%Òòðá²Û©\90Yu\\1fü)c°U­\91\98\r\8e¦¤ª9\8c*¼ö"ó\94\ 3\85n\fÕñÑBǺÚÐÀ$öt8\82:?Î\97çø\12\13åf_¢\91è7\bfNJL\103íUg0<Ì\87Í\ f\7fåÌ      \1e\8a\93\8aªEÚ\97·óø{$løADÉ\\17\ 2ÏÛ¡úQÂ<^·<\f¸\ 1\84\83N=Öî\ 3\9c\81²·#L\89áТ\0¨ï;\9eÎJlf|©h=¨%ÄÔjWÊ\91ô¿ÆG\9fëÈù¢Hùo²G4\7f<y29\a§^ÇKR0\vm*^\87Ô&\8eL\82àd½¬\9flßÂL(\ 3xÞÓG\87Å\12bgþt«a\1dö4\7f\8a@þïRW\1c͹\fñç9òP\96s÷PZ{Ëõ&I!ÀÖ\9a\95Ë Ã%ºõ_Éê`ÎjíQëUF¸(Vûû\1fH_dä!²\8fõ\81ܧSø\ 1Ý\ f\\ eé?ÚbÑÐ\7f\9cÃúz\9f\ÃÀ\8dÿi\11×ùÈ\9e\10¶ù¯\r¨~\9f-[½vEIf-Û\v\18jª6Y-5¹U^H#$¶µ%\1a¶ØÁW¨$nl¼÷ýl\10öé\ 4T\85Ä\83\82ú\10lö[ë+µÐ<\fùå\99j,Ô`\1c*\a\1c\98\1e\ 6x\8eSÿB\¬üpÙ\ e\83È\93:\94\18\87/V\9c\96±.\13ç\94.\13ç:\'Í¡p\9f<Qp\9f<)p\9f9\82á>k\8b\84ùÉÂq\7f\ 4Q¶êá9\fG|ÏÖø{)¹¥0ø8MÃ\11¸_ësqÄs\95\84Òø\99\7f\1f.\86_ùòéeöY}¦_úrë\9aj\0\8dV\f\9b9U½U\9b¶j¬ÝËfôf"³76\83\aö®®.oÔk\82¢du¯Ø\13¢\10\90ÔÚ\92\17Ë\0\ 29\8aJt!ªë(H&¹!chµ\82ºû&*»æ&\15×\9d\ f\0EÅM]÷9\Æ2\1a\89õ9Á\19ï ïÏðoÓ\8b\11\96飡ìäW\1c<\\87\8f±cõ\8e}\87Ó\8e§\ 3à\97pA¨[\12Ì\vÁPèY{ö¬¿7\bÑ\15\1dòaþüéä¼ÑHBYKÍ\1cô\8aQ\12\ 2eúbɸ7fàìË\86\f;y\9c\9b\89¾åÆ#<ãCáöýÓ×\ 1\86\8cIæ7 Kï§\bàD¯\88\9c%×á\85\15QõV²m\16\97çÜy5\97ÖLÊf§¼\ 4q\97Rhy\v~ÍÉ\88.x\1cÎ&/\a³1E\8f\ac!3ôò¹µªð,\aëßÊ[   F`\8c\94ïÜ`ç#\ eÖ0÷1H^\19\97\1c¯kÅ\97¿\87óGÁZ±\95\17`J\vö\8aDPé\88Bc'þ¼q÷]YZ\1c\97áCþØé\8e~ýì\19\92ôV×/(\99ì\ eÈ>Òß1á½\81\98\ fY[£þ¬\15¸ìj¨Ùð&Ñ(¸Ú\94h8²Ý³\88¦\evÏÝ3ûÍ÷;çEF²y¼µçDþUkU\14kc\ f\95\80\14Á\8a©](ýâ¥XI¹©xÇd²N`»Ë|k\110\95È÷*\85çjªVúÀ»g\1eU\9a\8fUPá\92§¹(¬M%\ 1\89û'¾¸zËÔ÷×\ f\84ÓÍFÜ; \8du\b"aíú\89¥\81\ f\riBe\ 5¥       µ¶\94'\ 2F\98"\81®\ 3ÖªB\9fà\18W\r\vø{!J6 N9ÉHÏ\99y$G
+\89/ÁB\98\10Lhåa'D).`R°§5L\ fÕ(\13       *4\85ë\81C\86¿|Ð}¨8Uö¹É/´ÅÂ>\9fïL¸öb(À­aJ=}Ivg\80õ\81\\9a¸ä¸ã\10\\97Ön\141\ e8/`L\830Æ_î0\1eìÊÐ%¼ì©m\16Ä\87gºÐàgW½\93\ e\ 6\8aá;Åà\95Áè\ 4Ð\ 1ûR\f\vØ%ÒÀL;N\18}\11×è{\1a\87ºßD;\1d@\b7o¤Ø\f¸H\16þû\ 4!LàÛpè\8aM\ e\86ü|\b\84¶±v7Ã\bÂ\94@\90Ús\93!\ fe\83\1e\ e\82\96\808\1d²Kk\ 3\7f\ 3\94  ñ\90;"õ6,éòå\13\9a\aî\ 2Í+m\95]\95\87ò%r\eHY)Î;Ý\9fe\9d\ 6½<â\99¶U¦$ß\17³\90#¸îúi\9cJhý5\96j\1a\16\85\ 1¡Pÿ\96w¼³)\15.aÏve\bÊ\ 2t\87^ÎýY\ eM¸eQÐâ\18Û³\95E Ùà\99\f\12\1e·\12­°÷ZqB\94«\1cI<_ý.K$\1e\14?´]\83kõIJa5\94"\95\r!éû\90­Mà÷Á\85È1¯0Ò©n\vË\e|\ 1êb¾z\b\-êüê\r\8b²¡sK¿M\9d\[Ã5Üõ>Ô©iT:\87¾¿p«5Ó¹÷¾¿rY[H®\1eã@õ[\91+=\e\ 6(ÂQL\8b\87\92+KdÛ\ eL,ε6ÍI×Ü\16Cµ[\9c/·çUÓ©F9     jì*Q\8d@ÚæJÏR\91
+dÖ\ 2ËîÚ2­¤>\8f®\ 4sbë\ 1\9b\ 3\8b\86w«ð\16$\18°ÁÃ\8aÖ\17íΨ1]'ÒÙß,\83 Õzhê¾ÇÊ(\80lC\17­\9ebYð-¼·­Èû\82½\ e?ýÇä\874a\ 3.\90\81\97\f¸'8êÍ\7fÄçJ\93 \7f®ý\96Ãâ\17Ù3\98\1d\ 1R\14\86âMµ\Qyï¹ðýqRÁè?´lÝ'>\92\f\89§ÓBZ®8¼×ÊT©Ù´þ\15ýgñ\fMjTð\9bÀzbQ\84\8fw\83\r\fwéîçD«\16\ fw:5X±{¹ÒI\1eÏ}}7Ø\15peU&A5\85hü^¢\87\ f\v\1dyôÔì·\rj\13\1d\8fL\87Ìîúl¶\1f)\83õ>\9e±[óJß·xgØ*hÀ"ñ¬0\82ÿ\80\95³\89Lû      ü\85\ fµ\ f
+\15ÎÆwÒ=<J\85ì¶\19£\bà¨rÊ\99üC\960Ïô\ eKªUV+\0§rÈ\ 2·ôu\82·\9ckÚÌî\8aMá^ÖLª\165\f^ÖMÿè,\80\ 2.äQ(ûRS\1f\1aø{\9e\98S\1d\88°$«n¸ã{õ¢\8bÍ\rò\80\10¹ÊSÝ\ eÞ,­Ü\187¤¹qK¸\94êG¼©*´Qy%\9eø\r­9\8e,\9d5*´tE'Â4î7ò\8dZ,\11U¶K\17\89&0Um¾\18øý"\ e/\17¤ùàýËßâ8\10Ñ=\82Zþö       kÛØ%®ïkB¹ËÈDíå\92ý­«\8eI*ǧÒ\1f
+ú¡{ì'×U\97;áð\8d\f\13\ 2\95Ðô÷£þn\95\8dÑxû  §ø\1açem
+K\8bÁ!\97j\7fó´'I\9d2\93:o\87\9e:ã<³W\9f[I\9daíçæyÙù¾\8e\7f\11=A\89¤Îè=\9d\ 6\87ÚÎè\94ÎÐÏg´´T\12\ 4U\10\85Ç»iJIµ\8a»\8d²¶*ÕÝÀê§\93uv(ða\7fVÇ×[dJ¥©õ\vÿ\96ÊWõH\92_÷v"7®\848\11~Ô¤-½e°¾\14\7f(ãÉ
+\99h±òì³ÿÿ!qÉ!O\99\ f*gò\90¦ä}[µ\9fVî0þ\1e{ï1O+ü¢\9dS\801²CÀ\1e¿é)ð8ßY¸æË³¦v÷\ad|´§ë9Ç×Kðiw+\9cùr\86'\ e\17B\12Èiô?ï?Dçÿò~ödÏÙ\8e\84#¡Ðÿ¬ý&F%\ 5É\r÷?ýB>ºõYG\97ôÃèý;jV\8c·]më%Ø82ä\ e*ø44\1a],\ 1öb:ÌfÀîóÌx\10\10ÏÇý@\804âËo\114Ò¹%§Yn\97;\ 3\e\16BMÇ%º^v\84AóÏP\13`!\1a  \88@s\fÈrpFÌ1\18\88GD.&ѧwGIJJ\89?r\81Ð\92¿^×SSOMQà¦\93\9ccï¸\1cAEQ3\aÉ»\94{Åá³3dI6\80¨\9bÁ\85\ fé3òVÞÈË<TN¢}áË9\9e®\12E¤îA\13QËJ¥Ö«1\84¼XðÂqe\ 5aסÄ~\9f¹\88\b\9d\17é\92\0Ëaó\94ü\1d>)#8Çî[2Ø|\82*®Û÷8ö[\ e\0\81W\89û\99Æ[\ f\80\8c±â~æu\96ÃûÉ\ 1\9c\11\19ä\99l? ¥+\0?s\96e°õA¶H8\85ò\95\81ß¹\ e\99\87BV\92\a\82ò{zZó½³ì\19\8a`N/­±\95 \L>ÏËË@\8a\972%\978ä¹kö~^_gàO¿s¥}¥.\12\80´F:eù\88\ 2µ¡\8e´ÖPæÁ\86\1c\8c\1c¿s¦};kC¥
+\eö\9fc\1cY8äÒ¿´iaÚ
+\ 68äè®/êo¸ \99ñ¦Lx\ 6\7fÆ'\9c¹RCJ±\\9cR£?iC\9eþ8¡ÎfV(sA\83\8aTuã\ 1\0\95\8aRþn®)Kíh$â\94¾Ö\83ìÅ)}­\aþ&¹8¥/û¦\9eõñ|_;\9bÕÅ\9fíVåÅÕÅñ\7fÓuD\10a8J2Ø~uw/\b\7f6Qc¤§S\12Ûû\1d\98\87U :<^ÿí:iàâÃ\93T0qxLô\9c^\13ü±wÌþ\ e.ùü±wJ\ 2Y·D®-á.-ÃæGú±n\eù*£¬vQae«\83¤\ 2lDû\18%\87c÷c÷c÷c÷c÷c÷c÷c÷c÷c÷c÷c÷c÷c÷c÷ÿ\7f\9fÕè²m²ýÇq\9bígòÙnݲ¾\ 3\ elïÈ=\r~­ñ~$¶y3Âý»7tÎÛh»êM\18³\13Î2óÔ=ø²óý¶[3Ûe³\ 2/Ì"\87\16Iß§\118­5C¨¶ÀH;áÔZ\a³\16\11P©¯\11®8ÖØ\9bíöM\1d=öù$\1d\ f¿\13îê\13+fp.á\1dGlÎ\9a\91Ç\1a\11¶Ìá0¶fäH\9b\Ø 8èûÜß5\1ed{Iþ0ò\ 2}3Üæw\ 2óxá*        E¡ªE8E5mx\85h¥ó¢HÓ÷5ÌU\9a\99\11\94ʬ\96D§x\9dù?î©(ì\18\87Ù\ e«\92¼ ¶ã Up¢=bÙÎÎ6ËO}½lÿ\8dâø\8fOÇÿ7Üö°\1a\ f\ e\8afçU|»Ô\11¨3Þy\18K\f0§³kYyíÖé./¯áwÖÓl\9fã\16Å\ eÀÚ\98e®p\11`\94ת&p×­s\1dVm¡ÅXæÜ\19ú\82ÂÃè¬sÊU\9e\12\18Ö\ 4¬\92\1aÀÕ@\8e\1dÏçUæ\82\1f\ 5bY\9fPU°ìË®\81ÎÅ\19\90xf«¯çXç@\8eH\19¤WP\8f6C\12\94Ö$M«\9b]6\1f¨X³aÿLÄ?A`þ5\91a¤²i|h\1c\96&wΰX/§Ú\ eÏ\7f\81\171\96ÇV²z\ 6\8cëäÒG´V³,Ý\1c\8e\19\82ìH·S\bKªä½\815C\9f\fHm\82ìP¡ä\89\ 3Ay^Ñ\1eêa\19nÞCbD!³XéX\83\0\ 4¤±" Ë\14*ÜPw\97\97bGIÙ\84\9bâEР      \85ã\96\f¶<\93\92Ï\a^\ 2\7f?\8cun,S÷;6ø±CÖ\1d\ 17=ú8ëâF\962ØûÇ%4F\16\8cÅ\91`§m7\ fô\1cçä
+>Gd&\9cûȱI¾(QlLØ©û7I#Ú\83Ã\ 4\e¹Ñ¡8ç¹A\93\9a$%ÜÒ#5|IÕ\82+ÃRÄ\18\ 4\ e\9c⺡å*ë<åÚ9GSÛ\8bÑ¿·9üC\9e2óóg`Z®|.ß
+>\ e\84¹F¦DáÕf\añKÃhq&Ìü\1e?·-}Ê\83\12
+mï¶4¼ó\10ìÜ»C\1e¨\1fÆ7\81±¦çβ\81\10\95v\8fÛc}ʦ6××%bå\9b\95Þ\1f\0JÎùW4Hä\82&ÎHZCö`Z.û¢Kp\90·8ÁnqÂ\1d\93\18¶Ø×\16\8d%Wb¬Yä?AQ\94­\X\86\90²\1a?\88 \ 4:5A\0:`7ÌGhlX8\8f\fUx\10\81_óz²·Z+ÇW:ÉÜ{\9cz'\ fÇ\97xX\927cîØÃûF¹Í#=$?gMV\8bË+T¥\94\9b       ¨ä&\87Tl[e©7õ\ 5\1a\1e4ÒY\88¶_Þp1?O´\8e°\96Se±÷\ 4J¬¬]\96ÆôÆéy\876G\b¨p-m1\f|7r\ 1Ý\9a8\95]Ù«R%Ew\85\8a¤¨µl\8fÝ%\92\9bùú2T(u¦@MM[v:3½r9\92ØÎRC\13[\89\13yò8âD[\86ìÌ\1dd´?4À\8eL#\8cV Í+%\16h9\15©fq"H\92V!V÷ªt\ 2LV×\10ó\86n\92\ fCäç»\95ß/I\93ü©\8a\8e¹è\ 4\1d*Òõ \8fµ£V\9a\aÛÄ\ 5;\8dÑ\88³Ý\1a\8ff¨&È\82@\97f¬å,«\96\1dE\15ar¡\h :|ö&    Qñ\8c«\91\18\9e\83è\7f\8fIJz¹\1f´ÄqäioÒS¼TDLÕÈç\18\8cÉ\1cáô\94î*ätM×\ 6\vÅ\90V\87Ì+Y&ëäHS\1c¬£-=\ 6®\97\9f]n¤\97·¥nþ$\84<\1c\b-1Âw¢Ñg\1al\ 4\8aÈ-\12\16q¦0Hbk\bíQX¼~\90¢W\9béÛM\94\99¨\93q é\93\ 6·:·S\a]jë½Û­\15vVëC\¶ëC_Ñ0y\8b]*8\ f.µe\8a\ f¼\16­{^&ÛTA5;äÙ\rd\ 6þ¨\92¹_\9bß!\95H\8c¢0]ê\92¼ú¤\0¸ø<P)­\0ø\8bË®»è\1e,Pw£Ã\88\b^óW·O\0£cv½=¶¨\1c¹Ð-Ç ^ù\9c[\radVh­\1f£iqÑ$%ÒáùV­ï\97g\ 5!\13T{²ßvr\ 5GJÐ~í¢¡ôä¾#:`\fÃÙè¿\88Ðd°=\9e\8eø\965qÁo¾Ì¹%\95r¬~\84;LØÐ\97\7fhv\81+öÈ4S\9aÞ\7fXb<áã­A*\8aW¤~\8då\97P\ 6h\19L½ây¾Ë)\99\ fUEû\9a*M\1d\ 34\9b%W°Øú^\9cîÉÿ\9f³ô+,¬÷¹¬S\99?ÙüV\8b\15¥Åy8¯k\157\8bÛbìqq±\9aìrXëIÌïõÿZ+ªâþ\9fÜ\86i(Þ\80tl~J5`tE\82\8b\ fbå(Þ\9a\18´£zHa¶Vî¶Vþ'\17\13â3\14=Fþ\16ÊýE\91gîbp\8d\17\10\83û\88ä\96Ý\1d¾YKÇ&\91\87\v,¥Ðu©~\1eÛ-\bJrHvßÔ?í\ 6\V\83Üïï\97V\86!\98ÕK\1c\r£OXV«¿\b«EGH=`\86Áe_7\8asþ@+Úùküë°RqæSÓZ\12"&ªznD\86<\92»ö\8e\87àoð
+^\ 6ønôÓ»Áè4Ñ^5\87öä4\1d\ 4\99\89cXz\89\18\eEÞ°«\1a~\10è\ 4\1fy"²kûEY\88Û       Ö\ 5Î>v-Ö>çq;\1eëq
+\80wzW\81(\99\15?\8f\9a\8e?mIï\98mÝ<íîÝñÐñR7l\ 6ÌT\9cU*¢DyQMO\rt\88x\11ð\aÚ      Ñ ×\83Ë\v\97\8e\eASç8¸Þ-\9f5bWFE¤w»dG±Í\8a¢\9d7\8e8Ê}\15ºÑ\Ð@·¹ Ù[¦î\92ÀFÝùé¡\88¹ÕγíÙÀ·£qÁ\ 6Y½õ¼Jk\8f\9e\9e¡1ú.bí\8f"Fä;BoIò¿\12¿
+_\83¹\9c»­Ræ\90nßïæð#\12YJÐ;7re{j©zã\8aÐè|A\ f3¾¬nô[LG\8a%Í\YVP·¬¡\9a¬¡\9e´¡\9deYB\1d+l[\17\ ebÉZPö¿\82Ò\87³þͧ\1e\ fÊ>8¶~\ 4Åe\v\1d§\15Ç\18|24ÊÖPå'\99\18ÓÉÆ²3¿`âùÄ\8a䮼\9aó\ 4ÈËÞm\161°«òBÚñkÙ\8bkǯÅ\vkeG/ÁDßq/\8e\1a\at\ fö*\8cö)®u{«$0\8e$8¾è{\15Æ\16\8f\98;\14É*b78ºö\ 4\8cml\99\9d\8e\1e6pü8Á^\84Ý»Å\92«ù#|\9eÔ\94þ     *8éçª\99\13\e$XJ¬­WêÞ\ 6\ 2\f¼râ¿%£H9BÒ\9awPnàÑ1u·yà§\iaF©é@ý\96vë,\94Xvõ/Ö$ð\aÔíj\97W\9b"\1es©Iï¶\14%\83ïEïÖ\8a\11»(£¡\16Ê-8\ 3KJ\1cïöZP¹ /îk(sÄ\ 6Y¶à\ 1I£Àg$\ 1i±¹µ@\15CýòÏ\e\0'\1e¹¶ÖË\87]\84¼ÐÀµ¼\81¾¼®2òºEâb3]\8dd+\92\ 30\18_þ×\bSKì[\ e\1eò+Aþ\v\9dªé¡?\ eê`\b\92ö_\8e+X\7f\92+ªOïÑ{²\ 2øé#\85-ÅíÑY\1fõ#Ñ\81o\1f\84\8fÏNñ8°é3M\aßÙ\8ek\ 1(Æ#\8e\1d!\88\ f\10`ep+\87ñ\vn¥ÞÜy|Ða4\ 1\8a*0!\85G9\9a\ e{\84Èÿ@\86 \80Ó\1d%!\86(\ f\8f\1cjR\ e×â\12\8a×_\84wejµ\8fï®è\fÜ\b       \8f©\7fP¢iFZ\8fmK¨À\83\9eÇ
+\ eg\1c**,æd¦ÊÌ\90ÙY\9c`\91[\16¸Å%«&k\bù\16~ËSR§¢\94fh°\1d\0\87T%6   FÂ\12xüâAnØ~\18¶ðõr\12\8d\85E¥n(S«,¸\a@!°Ò¹\98cn\ e\15\89\11       ^\95Þ\16\1e\92\1c÷\18C\98c\84\8e\1c\87&ô­¦ú®\aESéÀ\82¿®u\9aÂ=ŨL¾9_sz\89¹K"3·E\9b\99\94VBÇ)\92\b\90³
+6J7\9f®Z\a¾Ä9·FX!Ó3öJK\12\ 1\9d.\ 4\12U\9cá*\84\15\88avË\87éÙ7K=\880Åè\1c6\17ûxµ)\90â·b¿G\1e?ê1ö:\ 6úëYÓß°\ f\ 1Ð[\8aý      \8b\9d\ 4\8cºú.#<\88\9dwÈ:!&?\84\94Pv\ 4\891$7T?î\121b'`Ï"®Ñ        /\93Üï.:\17éÜê\87¨ÞDOOG`´Tn>\87öÌ\aøäSU\eqôÓx)Ѻ\1e¼O/Ñ:ëY\12\99:ïÊ?¢BuÛ¡ó      §ô\8f\94M>Ðù2\13t?\96CÁýù       í\88|¡ð¤\ fÛ\90û\13G`ØW\11é\9dWj\87_!ã\eYÀ¨>,\8dºv=\97>{§¤5\80\91\9b\rf\10\ 6\ f>*¦\ e{\84\17¹1TÅ!þ-âd->³tm¾\ 2¬\få`&\1a\88om×ÃqÒO§¿\12Â\ f%ª\8a7â#×\14uR÷:§>Ê\1d\1dÒHÞß§_ñÈ\1e~@úqë£\8f5#¢§RÕp{üój¸1\1ehF\8f¥ð"hnNú¢²¹Y³o\89\15\95ÚÁ\98\19k§Â<|\81ád\ê¡}\ 3¯\8e\0CðG\93±Ä=Ôqì£Âè\8e¶8þ(ãb\1e\99F\90Û÷÷XòRU\ 5¦Bd)\1a\v.uJsÊ\9d\v$\89¯8\85.Q¢¶gm\85³·]Ù\86y¿[®:¼U®/¶¿¹Ðñ?\fk\ 1%úK\rÂ\tö\9c\9a´ÄÍæq41»^J\96öjL;¥\ 5¡¦\94 \90iR?\9f=RÕFJµñ09u#ù\báÑtBä^×6º­ºlòØÞ# elÅá\18KÝ6¹mºlñL×\13\ 1Ô%\8afI¥\82\99bif¦P\9aRRt®ùâ»æÊï>M4
+eJúÜ\9ad)7s\8fc¾h=/Áç\82Ó²&ÝcÃfå ó_\ 6Ϳ󠠠   «Î%Îà\1fòD\7f\90WýÀP\15>h°×8h<'Á¸f&¼H°ãO´\1aÏ\83q\86#EÎÇù~\v\1c°\9bß/4¾\bN\1fá\92Ù"¶u¶\1f¡)ý\ 6;w\90\8aÅCvï\15\86øÒ_\19 l!\15Ël:PsÛ¾\Ý,\8f9E\8dÒdÌ\8f\ eç ´Âs\ 2Íæ\8a¡7n\9aRÜãÔ\14Á*\10b'6«¸¦Sö{N\ 6ç\8c\81\12ÕãÖ\7f\82SLİ\87¤\7fóôÉo\14£\ 6¶Ãò£\ fä\8d\ 2Ý/\88×@áª\eØÏ\aø#TµyP\98¨ç\92Ï|øò[>Àá\ f\b\94£Pr¯\87\8b\90\89°\8e¿¦\v¦øQ¡H\1f\87\19÷l4#>Ê9ÀA\83\98èÎ\10\a\[\9fe\19¸\1c\8cúj\0b¼¬'îbS@³¦\ 5,¥/\8fuG¨°\11\9b§\ 5->±kûU\97\1d\1dM0,T®Ô\12]ö¬w\13B.>\7f\89 ^~378a\12Í»\99 F{´\!\18ò\9bR\1e\0"âHáà\ 5\85knkwLÐX\ 2\9açq;κÜExC\9d\9apvîjéNwY\ f'!ºÈ|\99\vÜ\87e;ÞN×δ\1f½\1d  çCÒX\8fG\1c7oÙ\86?ìIËkÇx<\98\9dx\9f¢sÄ`(\7f\8bßx\14¹\88)\9eL\86Ö\13\0ÄÑ\87¥5àåÄ\ 6&=üÔø\99¦{öóâç'\bÛõ?vÙs§cÛXØ÷"oh¼Uÿ'Ò?Ì
+Oľ\86\ 2\1d7'"°\8eÇT<_·L\7f®@ÖGG\14\94\835Æ©½\84¶ùvDI_ Æ\17K)Ì\1f\84`ÿ,\85=\11Üu\118f\89M\8d\e§v?´CÖE¨\1e¦8ÿwQÝ\8fï6¨ë\1e£gCu\15å@\ 5Áú\9dDØáòN]k8\ 3öz\88ãÒ\90»\t7²!t\a\86\15Û¨\16¶;\8c\84÷øì­ê6IÔ\ e@\87C"\1fi ~oQ\1c9\r\92H^rD!\8f\98'Ë`s\bXøl¤\ fÂ$\8f\vé\1fë\13ìe\1d\81\82\84`ñä\92®/àg²B\f\8fC\fdG\94Ðî£\90|Äc!\f\9aR\18yÓ®ÆêEES\ 4\9bäE_~¦\15Ü~"\J\f\0m\11\86{"C4Ã÷#ÃâG\1aÞ¢.R\90i'\8dìxPÉ\1ee
\808\97\ 3æ\ fV(~\94qÔ  ö\80\96\84\84\91>\9d¸¿À\80Ó$(\13Y1@Äe\ 5\14~\84d&"nÄ\1dõ'ál¡ê£Ãðc\8e«êsîÉFaé#àV4\9c\16Ñtè\92\9a d%£"Ã\9f\8f\80K4ú×õÉB^4\ 4ñÐÿå~ñó\aD'Å\ 3Ä%\87}\81\16þ\11ÔÉÅ ~¦MÝ\e§\1c\11÷ñ\91ÆV·\93ÝdÊ\11\voºg\bäM¸º$%C¤Û\8e !\96\ f\81^H\êüÝ¿\993Ý#Ï\1fÍ\15\15¡dþ¬\1fm\80Ù»q0\Ü[tÃ\87­ïW\96Ðcú"£P\14\19\ 5©M7\15\0N)!¦ÝP\a\9eßwLÙl\7f¨(\v\9a,-    \1d­\86üD»òðgd§\94\1a½%>ë\8eL\ 6\8dÄ\97-}Ϋg¤ÉG#¢D\9bzj<úÞ+r"\9d²sd\8e\81Ç\ 6\0\ 1ÎRüß!\ 5ú-\99 Jv¡Ù.7\u\82Àð:w&\ 6\93$ëEq~âÈ\8dûN\e«\8e M\ 2ø'\ 5 \81qþù\82¥±\rõ(F\a\15m;¦ö-ö­êÛµÈú\19\18\7f\1fk\15£ºJ=E(ø¾óü\ 3µóÎàüÐ=_,S÷Ðp,ù\86ü|¸>¨\85\90ãT!6\94eºön o§î~;\7f\86y¹×¯'¤aêu4Ôõ\rx\8f÷«nà[Ý}\ 1\84B&ÿz²¸ËÇûÓwm\87\842ªZîa ÂÖ\14Ã?æ\99»0qÄûè»\9di\ 2Ýÿ5mÙ\ fj\10ã\8b\ eË\ eàUKÉ\ eÙo\94Â\ 41°þ1>ç]\92\11²ß^'\ 3\80ÿztëY\84¯ r*ùvâ²\ 4\85ÿÅ\93æ?æ\9b\ 2Öð\90ø    \92F:\ 5\9cëR56~È\1cÇáÈN\94\8e¿
\a¸\12³\10yïî\97\9d}=\ 6\16O\99:e\95ºä¹fYrÍb\9a@±÷0À>2Q\9b\97x|lÃdº\87y¦û\871ߺ$êIN\r¡(A%X6\97\8f   *u¦hÑêS¤%JreV"î\a\1fN\eºsUg\88R'äKT\82Ãù(í8ÿç\1c\85¦w_\952\93§Ì§\83Ày\ 2ÞïÏß"Às>íÅðq\97 \11È\85\8fî2Xì\96\13%\ f9\95\8aÑ\QÉǺ\ 2s\1f\aæ\ 1 À\82@\ 4y½Q\1fñäe\bðÍ\9bø\9a\1d\95½ÜìNßK²·N\92\ 5¾\87C\ÂñÐpZ?'¸\1c\16\8aé\8bÈ\eêqò$'IxëCwºI\1eÙÜJøþ\95´ÝGƤ\ fÅå
\96hx6G"\ fXqýßrâûºFô\92~\9a\9a\ 5¼\v:u0Ú\1aé\9d\ 5㫯¡äì{Í»ÊpÙ\9di4Ô»ó\9eß8©\9d´\87\97Ô\17óìíñA\91\v©K)Ôλ­\ 6\9dÕ!\19\91\95p\8f«¶HGûäÿÞ\1fÓߤ$/ñ #7ýI¤WB2¸Õ\18\ 6ÖÑÀ  ©Ï\827\87Áßø<:á\ 4T\91KÂİ\1füþqïú\81\84ËA\19ä\8e\9fÿôxúyKH\1c\18\17¼´"S0x{\17T´za)\94<>½c\95\93SÃëÛ
+ÑéðÇàJKGã\89Io²Q.Ýq·é×\9ae\8fxéÿ)¬IN0\9dà²Úp,}\8c\95\85\0w\ 2ÇÞ\bγ±ö69!\viÁ÷Ã\ 6S\ 4»Ò?A»¬¥6'ZW\88\9b\16v+,L 6Ý/\8bÙ HBm\96 \ 5ϯNr\7fÉ\93ä"¿HD=\95n¸S\v7Þlfðtø[Áñ7s±o,8\ 2\1f;v=L¸c\fÍ\1dE\1f#wh»j)
+\90\96¼^\9cKi·\81²sF?Ë.Þ\a}6\97)\93\8eHõP\9bÀiÈ;\8c¥òf\ 6!YP½;íêH\7f<T£Q¢¸}ÿt]Ùí\ 3ét£iµë\87ùDFîÚ.\1fônÒ\8dÙ\90\16rf\14Ó\ 6îû\a\16[%È    G)F`Glä²\93éF\9b}\8b×­\1f\8b,£wCq\93\ f\a\ 2Û\11\84!\9cÅ\1d!q~\8bcx4ôÐ\e \}Á{Z\85\17m½oCû\85z\1c\ 2B]«}\1eÒ\8aD\82Ja\97\87ÐÙ$\91;gK )\18e.\14\92%D6Éy²$ t
+Y\e~
+´Í\ 6©FÒ¡@\94m\1a\18D£Q!0J\84\82ô£w¬¶?¨ÀQþtípÿ±\88c\86Ìľ¡àe\9f\95."û¬\97\11IF\95Ç\9c8rù¾\155;å\90\97ß§\ 5\98ÇÜ`N»-¾hÏv¹ÐèØ¼\7f\11£ãk\16\9ap\8b\83©Yò\99\93Ys¨ÜùS\ 4,$\17äQ\7f\82\ 6\ò÷n!îØ\11\9aÉ,Ã;ÒÒ\ 6sǨ\9do}¤í\8cFsëð\80Ô\98§O\95\83\13éò¥d a\90{0W ö×,\7f¬7©kC\8a\11 \9eÍ\84
+T¾O\82{ʹbTõ½ø¶\96U\948è)¿²g)={Ûë'¯{\1dTõï[ª\9e½èõ\93×\9fõÓ×\9fk\81=sAßè\eu\93×\1fjä§­7\81¤ÇlË«²W%e\ 63«öt%OHÎ\10Üt¡\9d\87¡\9b>±`a$\11*A<ó!iC¥ë'\9dýô>Äó¸s²\12rÍö42yÔ1\84Ò\95S"\r\9b6\12\86Ê2Á´¤tHBMÝ*æ\8d\17ÒÔ\ eƺM ;±u­\0Õ}MBb÷»cgòç\åÖ|Ùe·9v\17Î%¾l³\19ü¼½Î^bk/3ïvÄT\11ï{÷X\92\96úÙ÷\9cæg3\ 3\ 30\11\88Yy\82Ã\9aÔÇY\19Ö\91u\94F«fÀ(0
+\ 5¼\1c-îÛm¡Î-´«Âͤs\rj·»µ»å´\17kZ~oc´l\82Ò\83\84\v
+«U³7j\1cI¿²â¨¥\b\0ç>ÿ}Ì\ 5ª­ïÿÿ~wÞ÷á{ð»ï\9eùïÈ÷è\87Ô\1dl\92I%±¾ÖCþ¹y\1e._\eéåúl¾gA\98ë´7}t×\17/£o×1iÖÖOòF¹Ú#g\92W\89\ 2/B¶\1cz\99rÛ±S\8d-íºxÕ°ãjK±¶¡\9dõ¯âSà\1e\95\10Þ"4£\90\16´ªòÓû\95zÙ~ÆYI9u¦XQ\9bÛt\17¼v\1f>PµHTñ\13+÷'R@Á\9d\12\1a\0\85é­\87 ©Ó­\875§f¶\1e\8d^üv\b¾=\ 5®Ü?Þ\18\95Ð\9bæÖ'Ï6dºpi>\e\16\95\93|êÄïG$\13Y7ô>¶\96pê7G\8dY<(f£ò\925\89ßÖi0+<\f\15´\98GE%"è_ÚÒ´£umJÈ_z\16\90¾2\ 4ñj°ÍL\9aØq\8aä\9d>Ô6\87À[\90W/Q\8d[\91º¬Óý&\1e\fÍóaX\8e`ý¸»åK\12gÔïM\94@\9dN}÷öN®      \88çWüçøQ3\7f\11s}«] é÷xx\80gP·*\16åCÑÍì}q\10@e1´øÚÄþ\93\0\15(Óx¿â¬Òs\96O\9dø¼xV\9c¤VùPw<X
+ÙÿÀ\18\bñÛ{\9c|ݽK>®óB¿=ýÍ\eÊÍ%íg\81ô\16GYÖi/\ 6 D\87­~À\9eÄBAPÁ=íÃ\1dSëi\7f~²nø²(\9bÇ4XE±brw1ð\8fF\8b¨\9dõ        \12Éú!±\17fÓ7í8{·%\88\8bU\9dØ5\ 5³\ f\1c\90û´;}ôN\86b\18d°Cád\e\96\r\ 3Aáu\999F´^«8{¸OIE;c\18\11ðÂÍ\90l\19+T\16b£"\18]\0þl\81ó%tŶ~\8au\19àöD{#ÓÑ´\99;NY°æÛÍß[\85ê!\91\88gY«é\99\89\,IA\98\95Û\96ÚiT\9532ñ\ 2´9\8eÂÕ\10]\ 5\19<\85«`\1a3x?æ\1f¨«\12P\94T4o ;\9c\9d}7ô\86Å\17»´yaÅd"\14\97s¦§¸V#aä\88t¸/\90VH<4F#ì¿Xù\84XfjmQ\19¼\r\11\aè+\94\ fÀÉYPí\99>\9b¾\99ò\94\93\96¼\99Ï©!3 -BóÊ\13?\11¤Aw\83zÀµº´lØ$êÛ¶\9c\9a-£U#g,Èw*\ fB\86\ f$Ì<\8e\ 5SKóUÜÓ\r@\88,xÙi\9d8·ø\8fú'I\0Ð\9e£`ë\8e-PÿIcD¨w\8cÃRÌ\b\82¿âÿ\b?\82
+ÿÐ.\19\88^T1Ì\95\1es\8bé»ãÕ\8f\ fA\9eno\9bT\83é¾kà\ fêÌÁÇý¡n\86á½Oó.}ïæÂ\16B\8e'C\8c\85\12©\16Í\1c<\eÞÿ
+Â#}\0M\9eVo\9bRz»\vy¾i\ 2\8d\ 6\94±% °\95\10øNqâù¤\ 1öø&\1e\81\15B\13ò\16\råÂÕ\90]2
+cÕÔ\8c\95ê5¿\1cRVÚ,\13Æ}PO%öA?ÎX'ùð\83\87µ4\16\92\ eÙ\ 5zðå2,7\89\ 6¼\f þ\87«\93\ e\19êäo\91­#U$ña^Ý\94HWå\f+\7fzÐФ°Cy}7\84r\8c\8a\87\81vûX©úõÈ\13¤©ë\83± j¤ê\7fÀ,\ eVZÀçÉß-\87¼\eݲ\8a\1f`@bL3g«"\1e¤\9a±Îæ-\1e.ÙÜqÏ\17f\ fd×úK!e\90«a  óº×hä\1aQ\15ôF&]\82v~ú\ 1ÊøB\ e\93\88(~­µ\1f\89¡r\1f\98\89º×8\98´,\82nHI\95\95ma\9fÜ\90þ\7f!ýå\86\7fnT\10PÞU:\12\b\9b%ÖZ\88D)Õ¾\8d¡\1eÀj>P\93\13«µ1\15èW\ 5\v\90àU5ë9¨[Ì_/ïb2\8cFoÒEϵ´\80\1dn×qÂ\11\ 1\90\87\9aMSÅ$\1d=ÖfH¤c\83¸ïxç=½8Ý%(\84ÉÎd¨ç'­We[j\85ξÖ\8dï\1dû%\88i\93BËX˱\9bæê\eT²Íÿ­Q©Ñ\18ò\86\ 4ò3\16\83aj¨fýª¤\82üçOÜv\91\0w\ e£{\86åµxø|\ 1\ eìß®ÒÅ ø½ÈÀ\11\89?\12µû\12¬Õ~\0µ\ek\8aÌî\ fÌ]æ9BIÓ\9dÙsøÂåtE<+\95é\1f$Ø»#7KU¼qÊ4\89sï`\1fÐáâ@$\9b\99óO$\8fëÓóËC\80Ú\9e÷v~\1f\81 \83\87úô÷\96m\v5\85P8Ê\13\16\94\81Þú4T&®ï¼E\r\14V\1aãD­ÿÌÅÉlxw8\15\ 5i"2>!gûÎ^\82Î4\9c\99\9db\92\9a<´¾\8eÚJªÌ=½¤\1f\9e j\92\8d¥\14\0¶bæþÈ\9eNÿ¦°Z§\1d\85\ 2Ùíx\82Ñ\ 3ÒÚAú,\16]\9ebÓe¯!bLm¤\0íF\80â¢)\95ü#Mã`FkHÉN¨`¬\8aù0ã\1d\16É\8b\99§eÂ\v¬=oÁ.ûùóz­oÀ2¢hs\ 2ÆòÌ\10^H»¥t\8bÇX­g¥ù×gbÔ»§\83Î8l(̼ýWJ3\f\91`BA¦Úl«H¶j´\8f2wO­\94êf7·ÖË+%Ù_[J«\1e]¹õZ\17l\81f7[s.û[\83ÕknK   fH9ò\ fØÅÈ~âë\]\7fid±ÛØ:Í\0zûC\12\9c­\eZ(\87j¤cØ\aÕájɧå?âK\88j1ádsÝbæ\81\19éÌ\11\9cëºû[¦·y!ä\1eqëvòn=QúWõR|¶\17\8fmȯ.¹!$ºà&í\19éÐØ1õq/æ/\8bQ\b\99\98\93PÞä\11ù\16ÿ¨i\ eÕ>\18/òÿ£\ 2L8µuWÜcÈzé\rTqÑ\14qYzv¥b\19~\8a\8d¢e\9f/1\8b\97s¡ùH[¢dÖÕßJª\89l+¶^4¨òê\8d\86þÉn\f5\17æqW¥\97Ë\99xQæW\96*;c#ê\97\94*?dÈû\ 5ã\8a\8f>dz\ 5É\ 1ôÿ%h(@\væ.bUä×\7fÀF\82'),\85)kqÍ*Þ"q\12x\95Nx´Ñ\89ØXD\85³ÞÌz¼©\a\9dè>n©\1cÀLÆn\12fø-T\9b\8d·Â\8d!\88¸D/w\83à\16v\95;_\99\92\18w\13x\ 2N\18a\ eÎ\81\v\1c\96ÿÂ\9eVÙ}ìÅ¥ü\ fÉMO-\9f;¾_ÿ¸z\1d*H\83\8f@3L\16\8cö\ryvtÄ\bÏ@?O@Cè\81Æ-\b\83¨*Ó.O\8fm .¢$Ð\ 5عI7aÅ\8fé ÷:\1d^)\ 5\0äË»\8f>¡fjÄú4Wþì_ÿ
+1\12\9fÜÉD\14_wtÈ^\ 6CÏt¶¤ö\14©.ã\88¤°î9I\81Üz\9a\ 1ÜÉYþ\949È÷\výQº÷òâ\10\7f\99\1a\8f°\8eÍ1\1d\98»J\88lñ      \0\98­,u<X÷Hå7\979¼Ù ?\9bÔæçóoK«âëå\17_4ºÿ\12ëè\17_è]lK®àºîË®ôºð\8b¯¾]~2ëòæÌ&TÝ~\9eÂÎ@\9d\97¬²AúãÓ¸F«\19\10\1dê\8a\86@ä¶×Ô?Eíû\ 3á\9cÖ·yP#Æa\1d©+RîvÊ@\9de®â@\9cþ:BCGÛ%áã\10â9u|Ðê'\8a~$\82f=ô\9a\98Èer\9c¢\1egòÄ\15¡ ·´³ªÊ\ 4\1d\99¿Ãº3sqA$\87\11û\9aÞ#\91x\9e/&\90t#\9f\15½U\8cs.ÿ¼=t%ßäj5Ô\92\95\11       \8c×ÓmæNW¨.÷\ 5ß%\12
+£QY?*¹véåaÛ\88ï\9díÃ.ÑÇ\8d\9b\92zyÝ\ 2AçÇn/d\˾Ѵ\99\1e\8d\90öJÝ9|æ\8d\ 4Þ*Ø«ÇSÖh\8f¿]\11Î,ðð)^\ ft@åYL\89D¾Á\83kP\12\9e²\92 w:íÇC«Îq\15e`EôÏ©\9b¾\9aq\9d\8eAF\99ÒG\b\ feôÖL\\95æï¦²H(ÙÛé©QNñ~½ôÐÄ)\ 2³Ëº2*ºé\ 5\ 3\15\8e8?be\85\17\8d«\82Eȯ¥=\98»\r\86ÉòR\ 47· \bvÔeW§,-§B²\9b20B\ 5btâ\1a\0§¸Ñ\18!x\9b
+uéÓù\1a)B ì\ 5\ 6B\8dÉlFØ6®ù¤\Ç,WTcZ\15\93Y\9f¾\1e´,=\8eY~Á ð"³bCLÄHiÖUêq亪Eéw*\93ÝIf     ±b9\9d\8cX¥N´{%ãÁhuM_[Ä[\18M\90ÿÌ&\80\9cïß\ 4e\1fSdÖßW\v¦XäzAïF×B\91r¼ÒArd/®\8b-\aýRÑÕ>î[\8fòÃ9GÝË\81ß ú\9aW¤á/\18\1f/B¨È±$(®éÅ\90á\84º}i¡-\968\81ùL\8b\eýá8\84©\91q\!è¸\81¼\88\83üáö80`@
+@½qkÎâ¸:ØÚm\94\19\1aåIM²ãH¸¯sê\92\9e³"úk%,4\8cdWÙg\15Æ"Õi«ÿ\19\12\f\bÄö{Ù\12¤¦"{>\1c\8b\97\15éiR\ e<e\7f\1eG_hÿ=òȹ²a\8dÁ\89\14¶ý÷\99\9daL{
+J\é\8bVÿÁ^`Á«ù¬h\8aà%\92\ fÈ0\ 46\91\9d\8a0d\«$\90<®,\ 6\ f\1cb¨H¯¤\ fðè$\1aØÈh\96\8d0¼²¿¹£0U\8cêÅ\82ãÖÞ\ 5q*¤\12
+hÊî4\88c«¶Eº\r\7fÊ\1fÔ­YµKAØvïn%`ñ\1eó%W\9eNt²d\90~\18ÄßÉ\96\1c\83Ï\1d:#\12'ýiVd\8a³\91\15\9déVsÑV\xÚ\96)íôG\ eÃÇb\ 3íÅW\b®÷9¬4K;##   \aÊÕ:ñ\911$øëøb\82\98\8e\11äã\91\ 5ôDwwMb»·^2m­\15f\r\89Ro<Üæ\16\98Ä$`ø \87
+'Ó¥H<\82³óV²)¿oì\95©\9a7ýoùA±\aë\9d\19\8bH<|\ 5ñ\89ç!©Ç\1f\vÊÂ\14éâ\98\94m0³ê\ 1TÌ@}&Úi\18»ã`#=ê\9c[)¢O\e\85®V¨¾\9bÉ\ fg6ç>¸Ïð\81\17_ÍãÌ\v\7f\10ÉÀÑ\8cBü1        F\16b\9e8Såz)Ä5I7-ÑN[$bÒèi\84\85E¼Þe\81ãØ+\9f\8dάE\12H?Í¢ÙèÂ\1cåN\9dÙ`gS,âe\ 2ÙÎ[S1«\10(Ø_*$Á\8cªAã\95\8fóÈ\91ʸÛ,Þn£97(«bÛï\9c\9bÇ\89B\10Ü$ú\15\ fsØb$ü\8f\95¿\10Ò\b\9bu¡Ý´H\1aùÅ£\ 4¶x·`Û¢[¯\vH=\9f\9dÒ\r\\96v!¤\19V\96å¡AX ;!H×\1a]\\87èÀ\98öâNò-\r0fW¸D|³nÛ£Ë\91%Â<É\11\ 5Æ¿G:Á5\ 5¥÷Æ\8ep«®tå´sÜGfT/oðÕ\8dH-ÑY¿.Dâ¦è
+m±\93\1eTÐÅ6ÐÉ\999\19Ù\83ê$\1ej=\17´]ÂÇòºüÂÔB<-!Ôµ\10ÚHÃ\933þD\83¾F¿\99"ÁX\ 6\7f*w)\ 4ú7È\8bÞ§V\90v¿k\9a0J<</¹ÇùR        S5Y\19«\8dûÚ°ÊÕÐ\7f³Wçf-SÌÕøÙýÍ^\81Z±ßìÕ±f¶x²ÜåHÂÇöpÛ\84\8cCuÜC¼3\94ïóK\1dg*Juµ'CQµ?cÜ\9c£W¶ò°yx\vÔ§N÷RÈ\8a};\ 3u\91éî\11ì\fXd\8a°ý¦\91²ì\88\14\1e*tû>Àäéß÷2\82\9f»ñE\8f\9dÅcä\ 5\8f6@ÿ\ 1cçLÇÈ
+|Ï\8a5\88ØÓ¾îO*\9a\82F"æºã¯èKTNéÜðáß±\9b\f¡\ f£«ã±ÐmÄ\9eØÑ¼ï \e®ã\86ãhïa\83w\92}uw_±×Má¼D3\9b\ 1\17èì1:ñXŰÝ}½xý\88I1U\8c\1e\97\8fN¶ \aÇ?âÂ\1d(\9fØ7ï¸\1a
+v%úã°\17í6\1dö|\8e=\1av3MÄ\95    4q{\9eì\ 4¥:,!\93ì\ e\18½ª«\15Lî"¦tá\89}õXľ\8f_\81ÞÁüÞ\1e\ f"½õ·#%±xãÑ\f³\ 3×ó\9fq\!íM}Õ5|¡\1eÚ7\7fyLý\90\83\8còcm\16F\9a¿\1e\89\95O;,íS\14\8a\99ß\ 1Ú\86°\ f\ 3k\8aúA\fµ\9bé'H\81Ç µN¬Þ\eÇ\13{»-\97\9b½½ür|ͼ8îQn\8d\12HM Ü!º½\91s8b£\89ö\89¡¬-{pÖ\rí\f\ e.\86ëCÈÐòt<í\rþ\86\1e\85\94ÔlÔ\84Ô\9cÖBk'5\95\9a\97\9aÌÍ\e\8dqá¸ÖçMƵøÍƳ6n5\8cù¸Õû\13q«fMÆ«.n5L©¸ÔòfãRÈ\e\8dFLÜj\12\ 6ãO\8d7\1as!ãM7U>\80´}\eÍC\83ûë~\1d\7f\1e¶ç_\0¶"\1a\19'1}¯äYµ'?\8c\85ø\88ÏPtù\9eÑ\92±¢0\ 4Ú\1e®9~¿í\1a\16I,[\1c\8e^8H_Ùü°ßWîë\f\8c\91\96\eò7zÁ¸\84Ķpõ]Þ\¥@`\9aÃmèÿØÞ\v\98\aøâ¸|Ÿö¬ø\971\8dÅæ¹\8f]5\96N¿~d\19Tëýã Ë¹+ÅÏ\9b1\90\ e \94o\ ft\99Ó­Ù\8fY ©m\887HbbÒ¶èÄÌp\84\7f\13×h\90\1e\8d#¥´mN­Þ\15ÂÇÐ$\1d1î=l÷6EÏ\ fæ\97\7fãmô%U\94¥·Ñ4¢¬î\8e\11Ü\865:k\89£}os.üiÄ\1e\14¼\9aØ5ÕXÑNy1W\96\8f9xÁS@¨\8fH=\83\96G\9b"t=ÚÈ®['ûAã\rÀ-ì\98Ñ\ f\0\98V0 òÑ\89G\95\ 3K@@Q¢(å\9a
+(×Oª\f\98<n\855dÓ\8bPj]Íé®\19C`¯L\99\19\9a\vªVKA.é\ 2ë\90\80\93°Áó>É¢xæ\0Ì&WV\90K\1c<\1a\96R\84\f~­=\9eþDfºCV<\eöYò\ 2%CïH\8dZðõIìþ     \11«\a8¨~)\11â³\ 2\15Å5û ÓVYa\1a\1aiñUøº¤ü\84\95\8f¿\91\ f\93Uõ1ò¸ªþ ±Ìþ\9b\82\846ß[\1f-\8a®øXæ\83ecûÒ!ä}l|¾*¿z,sC\92§ø$B£\11\8eÛ\15\v\bÑH©þ)\10\9aè°±\14²\ 2Â\18Ö<¢£±Å|\a\15É"\9e\97a\82\1e\7fîIÅ}5|\91)\9f·nM\7fÁ¸8\9dd
+h\98PÚcaC\87\1aHãÖ\8e\9cµãFáÞÿ*\13îj\1dV\eä8ã­qo\84Ã,ùY\90ëÔö»\14ôÍ\vp,\ 3c\83¢üõ\96þ}\9fûþÁ\10ºw\v×çháe?wÑ£ÅÄs¨ß1ië´ìáS·\8cìÔjº7tÅ­\10\83%õþç®BX7\f\fvbìq\ 4¶.ì3AÉÇdí¬sAïã\9d¸:ëÑ8\8f\15\8e\1cm.ïF8Ü]çIÕ\8cÌZ\ 6\92Q]\ 6Æ\eBò½\82Ù\11=`à<üsëõ\98\8cª@4¨X¸++ÇÇ,Ãm9ûb\7f\89:\7f\\8c\83Åý¯¾LÃ\1c.:ñ·zQÃã1/P>\81Q¦/\9fòÁ?ÛW\9e\1c¨ú±\8f\8e\84±\8d°t\1a\fu\8bk\ 3Ã9\8e°\8e        ¬u\87\b>?x4¿ÚïKk¼j¶øû\ e\18}\1eõ\97ïýû\8féñïúm¾\ 4u\81ü»\ fC\96¼1º\17Ë\8e?\91åì^_À2In\84T\91Q\95\15ýß\97´<¶¢ª?×8Ä\86\f´¿\80\99ºÈÓÿ8\89¤gy<\8eTµ÷/\91Ê[vyQG4\12\17umÛ,P}1l5ær9Wí(\84-
+fÆDÍ\8b\ 2Ej\19¤n´S¹Ðn>g>\9aG3*\94Å¥\13È\13È\87.\10³¦-"³\9aQ\8fSöÏ0@\82ÆÑ\15c§,Á\0iþPp¨`ò\8dÙ#\17\8bnf\9d¥Ò\ 5jG\1d\88ïâ\16C£Õ=ü&Æ~ \f\89\13²±8\8aT\13ý÷Lݤë\97÷\93\fZÂ>rõ?>\86\89\84bÑÂ\92\95ËAÌa\99\8e\8dÜÌ1A¹åö\82KbÞú\14ªc\9e±x7NÈ/
+¶Ó:K¥q\82LyÌ0¿\14D`µ»·÷\v³\98öËxX¹\10'.ôßvO>Ïè8)ÿd\1c+½4´w#MC\ 3xCÈ=\ e\14\91\12­\\87Öð\87 Lÿä²8ýºÂ9­ßÉDîÚÌo_e=½ñöÐíVã4Ñèjð\88}IeÁÈô\f·°0æ\18×Ün²\ 4\1e\8c\85\95¬ª{Z¶.\8e©¿ÝJ\12ÉñRïÌ\92ËV]ïÿ¶ë>A½ÿr\83\ 5½çÏÚÁÃup\88ÿòG\ 6\84\7fÎ\ e7\97\ 2\ 2SèáÌZkí\fƽ\87º\95\1e¯\10²E%qØ\89:\967V\98\89\ 5\9dº!,§\98ÚÖï6»¦X¨d1PÝ\1cT#\a\98@°yc¬Û\89aµµÝcIeÜÄ`µ%\94\b"\85¥#\9cŦßÅ'/AW\83ä\91\12²9&¹&Y#²LWH×ø5ç×\9d^Äŧ#\9bºö»k8ÒK¾g£\7fÂ\1d¼¸7°\ 2çËt<zB<\85\113*\8d\9d_3É©\18<¿|²Í\f\aE¹üÝ\11és\vÖÔ©
\83Á\vÙ\aU\85\17\95\97£Ê¦8
\14\8d75B
+\9e8.o³\95Ò\ fľ\J§&H\84ìGãÕ\95¾ã¡~nE¹Àñ¯(~ö\8eÖ\85Í\ 4ìø\84ý\96\83x<=\7f\80\1e.§Fâçì\87rÃÞ³\95_\94ê³¹9Õ¾\88å\97êÄ\82üÊ}¬¾\9a'O\8fìe\92\92\8a\94GjÓ¡^@ÜyQ$<â\ f\ 5>MFÝ\93Ü     \rDéd=~[¡\13ØÃSE2Â\93/¸R×\8e«4G=æJºÎ\15¡S\95\15××RÕÓ5Ê"YD9Y7Üå¹\17\8b]Þfþ\85cEv\1d ´`ï±      ¤º!Á\9fÎ\96\11\1e\15IQU\1e¾I\10ÎyN\96Ï 8õV\8b\91 ò\8fsÏFA\90Ã4\830{\98\ 1\8fò\9dEãæ\89\14±®\9f\1e \96Oè:¬\9a8xûþX\ 1{äý\8cltF4|·@Gͽ&]Ô\ f`\8b\r$\8bU\11\12}\0!\83\13©O/_{\r=\9c©0\83üÏ\r\9f\92i\17un\8b!ó(ù\fÜüw\84\ fc =\0~Y\88°x\9dMßÝÜnt¤-éÆ\bÑ\96\8al+Ô\b\9cK\1aEd\87{Q'OK¾8\8a \eN\80\88¡\ e\999]2C\0¢0\14\8c\88O\86lô¤\88É\88¡\1c=Vrº'°¬\8cA;$EvCÏhäiP2\95\10\9e\94mh¤k~ûýt\86ê    \ïå!vÌD`\16pXS32µT¯J\19\90Ê(Y\807\84^C\11\es\97d\ f!\8b\88\8b\12üôo\0±
+J.;b\97\8fH\18N)\1cÌZoäÃ\8b\86\1e<2±¾Hx&*\90\8aï\96¹NµÌ¢¤ÁíÓtX\91eùô\ 6\15\11Yk}2ï!ÂV\ 3\11Áo\9b$\82n6×xE\99XTßür?þp:\98i#1½×Ú\87$\98VlÌ\13\95\eJòÞ¡\ 1\ 3ªr\9b¡\f=gQ©Êa\88ù!û;ßML~ \\14=\83¦=¼ ~rØk(ÊêÙr\ e6WÓbæÌñÃ\95\ e.×)ê,\1e¹*R\ e¬\95\rBS\18\1eÉ\ 2\ 6(`\7fÔ[\b;c ð÷;\ e:èn\7fÓ\8f\07l\»\9c\9f«ÏCÕw^\92½ÎäÁ\1a¥\84NÒ¤`îYCÕÏ\bÐ\8d}ɼh°?ýDÔç\v¨\95oGÁúWÉâ4YtZ-¬\ e3Gi\17#.#BiÊ\f\1c\98,_½ÚÒ\8e/\8avbÐp\96Q*\96©ö1ûù*#bó\91-Èy\8bë3±\ 3>[ù!+ñà$\1d­ôN\89Ú\99ôÝÐ\1a\9f\8b\91(G\19+Ô:¾-\8cêãF\8at\ 1á\90k·Jk\13×\8dÅ\15Ú{´¥¿«a\14+q@\99¿ó>'¸7É`+1þ§`\9eèC'¡ïxiÄþ[8c\\953|X¿Oueª\1f¼î>\19\88ä:4Þl`\ 5\8b\1fó\96¶]Ý\84\88ð³â`ËæèlÞÕ\16Â>\8bïÌ-\9a\ 1Ì­\8a³\rI\17Y¾èåQt¶S »1³0\vcÖÃ\ 5Üà\85Þñõ¸¹ß\ 4\9a\164\89r\1ab\82iÍ-     _YÙwò\7f@\ f+Ùܱ+\9cü\92\ 4c*8\ 1ô0>±u\107¸»\98\ 3\87¨ÖV\96Áä\viÊÙãËf\v\8f\eL6£ÎX\1c\1fo\10<   Ú9¡©h\13]A\83d\10agqCd\16\ab\87\89ܸñr\91Cc\ 4\1f\88C\9fpla¯þ\ 3c\12\b\85óô\´\18\14Ê\92\170¶¢ü\ fÄ\85{Ù48p\93;6§9\8a\1c\89\1f\16íKa²S8ã[ë\10=WãfáÂ×.ÈÓ\8f¸E±ßÜ<\17²\8f:!U¥³nt/(®ï\89\88×,tÅYs\88\1eþ\8b\14ì\ e\aiTÎt\83ßZ/¸=õ\99H2ïâ\a½¶Q§D\ fy\95ìè\87¼6m\8d\a\ f¨u\r\98\8b\80\߯\8cD#\1fÅ\97Q\80¬4ÀsG\0³\17\ f\91þ\1a¼e²öcòZ\0\b\95L\84álÆ¡*>¹!»QXE®\85\91Ø\9e\ 1ÀÅ\f-\13\8e\f.~ú\11ÛøYon\16×y\ 2\16ïÜ[\ fp« ¨ÔpVÃÿE\10\85Ðl\9eÃê\fC§Ý&÷\92xuǦ?èõ{ϨJäU\16\\18[æÉî à·1r\1f·©îF\9b½©¾/³\\99Èwö¹\8fù+o³á\ 4ï½Êj\9eÆål:ÅZ\ 6\90\97ð¼\98\v
+\93:p\15Cµ*\86²\ 6vT\15D8\ 4\84¤\fî\83\84T_©¼/ÈV4ò²S%³\ 6fKPÚ]î{Éö\bX\8bû½ÅÑ\85Ü@\85Ú@\85\94\81a(\18ø÷×V\1d8IGÀMØdËHtó£ÿõ\83NÝ>´w\8f©\85\rÁ&\7fdR©+Ü\80\94üòrõþ¥×ØKønr¢K«óÁ\ 5r{\9c¹%ó\99¯Zê«ð§W\9b\88.\ 2{áH\1c®U43í^ÛÊ/Æ\88½)ö/FD^ƯÆ+å\eFa\\8cúIÕà\88¹áÇ\8dâ\9aQLüpº/Ão\85Sßñkm\e\)Þ\98]\15Ýç8µ/%ëü¿a\rÞs\89¨Ò?½\97A/òö\vd\ 3ý\1c\84»öåWö³\9f\0ü\ 4¨´\12\92\7fá1K\131ð±\97\1c\86\ 4¥S7¸XÕÙËç
+ÖWæ\12R"\8dÈá¸\1fîïà
+\f\ 1\14\95K×Ö{       ÑÀ°oÏ\80±\14>9hå¹\1e\rßèÚZ(Þ¯\8f¬b®\ 3¿\9a\8eñv¯ DY\81\89Êñ\13ÀIQg¨Ø
+\18¥¡|¶²e¬áe\8bh4Ër Ö\ fú¤\18ò Ç
+\bâ Ù oJU\8cáfÅ\ 4iP\\8f\8b®\18 \1f\92â3-J\80|,\88Ì¢T\ 3üÝ\0sÑP\87ÿWh碡\bȶdâ 0 \9aßE\91«\84?\aZöý¤¨\89\84vîô5   ë»©\ 2¬d\ e¨¸ÑJ\11\0ö\99ÔVh±µ\vSåaÂ\1f\86dïpXV4[/ai\aàCoÀ#ýwü_X\82[Ýð7B-\9a\1d\831*aç9÷\ e\b®4xÃú\82«G\ 6M\98\92/\85\92\98í\eû\89\96º¦p¸E\8eµ\7f1\18\87n´7:x\ fî\ 2\85\9enÚª>\1dµ\81\1fßúÄ\85é±\12\14xð¾Cy[\b"\88ö\90½\ 1ñöçp·!ͧ!\ 5¹\17ñ·\95\15\8aÊTVSã¡l\84[Fh(ÔH±v\18\83\91\8ai6Æ\83Yh]y\85É\9e£PÖ²LßVR\86\eþ3.842üì¾èe¶úá\97¤Xeè2úá\97îÅ\86Yn\8c2ÚÿÚ\19\ fÍa÷×\ f®\82\94®6\9e6$Ê\8f\88÷\80Ò²©,\90¡\895?\19Póî\b²\9f\80;6UY2Î-À±tì\95\8aÔ\1fëq¡°eQYÛãa~ø\8cÆ\14g\b}03&îu3\1d<¯®\a\84ÝýÃî<¶\19º¬/ý÷°P«ÝáÇ?µä\8cõQ&ò\17vfàñ¸B¦è¾\9eâ\ 6}\aÄ\rÐ\1d\8aú\ f\82~ÐüLª5Å}\aÚü\1d[\10ɧ-0ÿôúrª5Ñ\1fA÷toÏ,Q+éÌ>+é\95
+D*º\92¾\83âöü+PÄ}\aÇ.ÐA@´­+ëþg\8bë\86/¨ú!J\98öß@\96ihº\ f¯_|Õ\7f3\ 4\87¢x\8e
+1¦ù4Ögc©\ 6hU$W`|\e\13\ 4Æ+±á\8am\92\10¨\8cé°.\9fz\7füÄ\9eXÄ\\91ø²uÕt^Ï4ó=\83òiø-ÏÄ{\aà®ðvèB\1fGuñdÛé;þ^Î`½\83ð\rÞ,\99zçb½\9ddG°ÞÚ\8bhq^Ã|¼\8a¿<Þhl"ÉmaßÿÉkØ8aü\8e\84'Â"t\11l\9eù\86ÉçséÙ\ f\9a^\8a\84ßÈ\ e0èiÎÿ@\8bÐ\95¨uØ4¤ySB\8at\15\ 6.\83ÊÖPGg\16ÚÃÓÜ\9aï¤9ɽ·\95\84ÜÄk`«?2\84ýCþÕ\17°¥i0ï\7f\92\1dÏâº:âº)ÒÌ|&ñÓk÷«\8c\eÇÅTH¼'KJÝ\a\1a¶fñ¶H³\ 4\12\19ü·«þ¼×\93tX_§ÊÔ\18¯¼x0`±?\800MÜæ#«g N\7f4·+¿áRP¼¨\97ìi\ eRDüÎÔÝvú\18_9c[ÛsÖÀ\8d©ük`Gê4s\8bB\8d²@\97Üd/(j%ß *º?-\86\9a>½-wm9hz\93/·ù\8eS¹Ð\97#ëTßï(\9e\ 3²PѼ\r\81\rj\8aò"\8e±vc»[P·o\95:\ 4él \8d¼7u°~Ùà\92\bçØÅOôNȶ\1cr|ª/ý²ßÚ§Ì¢\80\ej\88\ f®§_[>ù}kðwâÑ@À\80YÙÖ\r:5\aßÀ«`\92\15\18\ 4\8b`@éÈoüý_Wñ´OÙäb\80ÞS\9f\11±\94»õ4\89¶¾N\92\ 5\0Þ\81F[^c\8aé¸mò\f¼Ä^«\1fåè·\89¶½¥\eÌçÑ\1cÐÞ´Hüöá»#A\1f]EWÜ0\1f\9cªïÛ\87¥õ«ìØ
+\ 3\ e\9d[\87\95õ¬>`3ÂGÝ·\ fÓõ«Ô°\ e\84|RÜ4ßZ½\13\0ÜÃàFáÙâ,;I»\97\12£è³¡\f\ 5åâu@°G«\8aã¼*´qÆ>Q\ 4\a\ 1Éå©\b%a]¥þ\14QJów?ð×\90é5×$Nª9\9a¨÷I4\9fï\ 2XL;\8fT{Yj\9fê´\f\99\90\ 2\v\173ãä3h\8a2\9bì\97çÒ\ e2ÒÅ\r±7ò\18\98Ì\e\19+\ 3\85\85\ 4%$ù        §.º²ëý\8b¯Æ]o\8b¬2ë?H?A~ʾ]ue×û\17_\8cºß\17\8bk?§ô}"\13Ï.¿·Ò\1fBËEÔ·x÷^|]\7fiuî\84ùjÿ¾®ç\1fÍC\ eµ\80hAÅ;s\a\ e!¥ôO,=«ß\92CÑ-Èî\1eïέøCúêÞ·á\10í\7fÃè\92TH'\97÷ïø\9e>\13Þ;\9b^9å¡W\99¶¤M·¶§ç\88?îI;X'\8fa1wûË^4`\91®MlÎ\1f«\16Ëã?¿T»ÕÐí\98Å\ 1\8cpL\ 3\18¹W\93\ 4"uO¬é\ eÿ\86\ 2õ¶|&\9fð¸þã\9fì\92@|À'ëþ$ôÕ¿\13\98\10¹×¸B\ 3 ë§l\e-\ 4ì\10ùN\8eñe¡Æîì[\ 6üë\12\vs¬O}j\e£¬Y>öBÈìÅØyÇQpD\ 6a0\1aS°j\90\ f\fë\16\8f·a°:Å©Z\1f´å°\16ª?úÊØÆ\15¯­:Ç0VºÂ×Lì"µÑVzÁ¶\bx\87am\aî[\17²ÿ\92ÿÀeÝlp\1f\80\81x\9b\99ÑÊ\9dbÌ­^Ôë\14
+áèN±8®ÄÉÖ2¡\93\1fS\v\15±~fÂØm\15p.¿Rtµ)aë\83\97ø\84\b3\95\ f\\95G¯æàØ2\ 6§>\v\ 3Àã\9fo,\b\18$}y`Ø/I,sî\12ö\ 2\97\ f \8e<_ÊÆ\r\86`>\12\15\99\18\1eé\1fo"Äû\ 6\81nGÜ+\ 6¡º+j\16¨{ÙÊÉ\avJ¤!~\12´Ç-Àû\85
+\9d\81Écã\ 2h\83\12i     b\8bíÞ\bk\b`$ßN\90jõ8/äûò?oà\12»Á%¸ür3\10%¹Ã\83õïu8&P×\15\81®+\ 1Ï\aKü]àÙåIa\1a\1d¨ç\16#C\ 3Ä\83ÎØà\7f\15ÐØßÿ\1f;L=\8d£vI\\90Ý\92YBl^\b\fE°u\ 4\96ñ#m\8b!,ɱ\80¶ùo\1eÛ\91àò9EÛú\rÇyÈå]þ\88\13Ûb.Öx|A_Ïm\8fØ`¾â>¶\ e;\ 5¹¹VQ°\17\90Y\83\95FûÜÉÀ]\9eÇõ@]\90mØØÑÀ\9eÜdûÑ/\95?\az%ò¦[½wc¯cÜx9Ò\v\rxyìlG¡ c¯\r{\ f60\1d\88ï×Páã¹kÉ\9f'PÑænëP\85ü\a\98\10\ fz6\ 3´¬\1f\85S\ f®¬+C¿c'm-¥S³ÚgÔË»
+/\12®_`N\12\ f\88MBVM\9b\alÄ·â\ eÁ\83\ 2\86'\9f¥æ\92¿ø\13_Ä·hµ\eÂÑ\1e>\82w1h1_\v\7fÚÑRà¯èDK\131~åç\a     !ì\8b¡â0\8f~X¸Â>\ 1*óÝù,\a\8f?=à\12QXù\8bM\9f~M\9f\80Hv\9b/\ 4\89\ 2WqzEh\aiÚ²¼ßä\f\f0¢¡xç\82\9eÀÙ«Göɽ´\8eMï'.b\a³]¢ËVÚTk´Y\ 1ÄÃè\92­á\17l­o\10»ru·EÛ-Z\ 5Úè¬\8eðGy½»Qä\9c\11Þ\96«\1a$\ fP\8fÇuYdÞó
\9a~Ð\ùAC£Ã\14YS"¿\14\15­áDÄ\88û)¿¼\97\7f'\ao/]w·MÿÅ˨\7f¢Èkí\v·'¯â\17l¶¾è»]kÀH\15A\1d\8eöæ\1f\9f\8e\12¼_WêÈ\18\88û¿3å®\11Ü\81\9f\1dp¿\8fôD2+ôéS{m\97Mâ}â{\18\12\ 4ï\97-·   Kû)wtÖrD\1f|äF ÅS×4{\ 1\94\e÷#Ó\8c,¹Ë\89*Í÷\12¬³\1fÜ\95eÐÍ+\91\88J²ãú$«+c"üsÝo\®)*á\14\96\17 Ø`\86©\88\84°Æéa%\86ûºbÑÌİÛ\8bvGk»´\ 2×ôº×uïn\ fÐ=·\92\83\acK\14\96\ 1\81\84W\ 5 ¾ð¢\rlCm\1ca\9f\ 2Ø}²®"åõúc\82ù\9c,"4F"\81VÔí\a\ 5\Ñl9G\1aÞ)\a/O\92\1c¼¾@zHxõ°ô\ 3\9dzj§Z¶\1c\9a\9e\ 2Ø}2\9ahV$\85f@ö\8aËÐ*\88{\a\90;Ó¡yä\ fX\81æ3\85°-\19ÿG\85bAÈ\169ÞÑP\84\8fétý»c±25\8dãÎtû5\1at>\ 4\ 3\9a5:\84\83\ eFõÊùâ´¬N¿^\98\80¿wêÈ$\19"®H\ e0c²[\a²R>ûwÙ*ËÔ"è\8f´b\ f´jø¼¸^ê"f\1a¤\85Âc\85wb\82òañ\99\82\1e棥\9b\-¬\98.ç¨\12F¶à*<$\ì \90H°a"ÁD\8b\ 4\12,\fH°!"ÀuÙï\9c\8fÒf$W©²\f\83\96í}£j\90\88ï·.\16äÙpf\8eiD\8aß-\væ=³PÅóp#Þ3\8eËA\16\86=GF\82\92\1d\1a
+\13´m½\1e¢&mî\f\86\9fÝÄ¡\ e
+fÊÝÏ\88ä\9c$5\ 1·Ô"ãÑ\ e,pg#*¤æ{\151ó9U#&z¥\19çY\ ewK¼\8d^\b\ 68õÎÀ\11É9³å£Á§Ò$\83 "\15Z\87WÈ r\r\15\93ÒxÜW$â¼?\9e\9c'\ 5èÃ\ f\ 69]PpZ\99ëSìzù±\8bÝS-3 \9d3ù¦¦\1a(ÓÖ%\8c8F\89éÓ \8bs\8cF_ÌZS>\9a\1a#Së\92!Ý!¢\1d=fzHáqÙSìîÌ6â§Ùüä  ã\86"×ýQ\1fï\85Xj\87¡§\19\13È\ f¾\»VÃó\ e\88\12kU)3Ø\89sóöC,ôbþøÃ!ÿ³|hmÒ\84BF¬ýð
+Î4\93\81ÓF+Ö\ 36Áø÷Àí\0ÞãÁ\96ý\x\7fN\ 4R:¼õãÃ\ 3|«PÔðs¤:©\1a\18;èO\89\8aJ\11    &\ 2\1cû\95P\ fw}fCÁHj!fFAù¸\ 6ËQ¿ø\ 2k\83Ã\ 1áMÏ\83Èjäs\9cJ£ßÀ\7f¼½Oóu\82Ué©Õ\r½¾nø´\r_\8f\88¸*^0©+\92½\8aÆ=x8Tì7!ÊùI\a!@e¾\1aw¹ûå\ 6\9e¿ç#ºzû²ìqë#\ 4\8eÍ\18úæªõA\92\8d\ eúä;\83ÃåÇ\ 4®ùY@Þïâ\92¢\11áÓ\8c\1c\b±\87\81\vßûc\ fL1\87\9dr1göoñ      I\1caÄS­\9c§|ß\18vc\95kÆjÿ\9a
\15\83Ð]¹b\f\v\91%#?Y9PyÔõ\85aÐõ\9c\rÉ\ e1(\b\15¿$Vü\9fYÀ2\13\94\8e\8a\84õ\ fë8\ 1\96è\18\94Ö\8e+\8fâ\15ÇWGù ý\11[YX­©\Ç(¯Ü\91Å~C¡\87\11÷\16\7fl,þ\9f\94,ùr³ÜxÙö\12\ fV¨8~ÐÉsÁ#Å^\r\ 1^\r\0¢\rôgRD3Ê"äÕ5R«\14o\17\10Hþ¡\1e\99%\1a$~¬R?\91òQñ\12ôHþ#T\8b\16¤&©\ 1¨ù]\aî\e²ýµ\1d \0\85Ýö±¤ôâ{ÜÎæfLÌ\99\90\80\0\80É
+C\16¢â\10U(@       \b`\r@ÈBI ,\8aé0F\8a\1f\vmhu1¥\86aJ*Ö­dX\ 2´ZÛ`±Y\ 2°Â`ä\ 4J\80ª\8bm´"!þ=\84D!&I!\99ïÿ{ÜÉ \82\ryvÞ;·yÍ¿o9öý»¼ÞoÞnø;Ï?|ÝüBÚ\ fzË$\92["ÝFc\89bJÙl¤NÙ_N*¼²ª¨±\1c     \89}@'«\8e\9e®1\ 5\936p\9ak\ e*ÐÖé\93ìw»Ó\97]\81\ eA\9b\ 5\8f"]´\13ï­j\17\1dK4sR±t³J\9c\98T\82\83~®û°!\1aìW\9d­\9ae_4̨ê\ 6Ý]|kPÄá\ fæÈ5¨`d\12#ò3ÜÓ1Î\93\96¶¹kô\82\a\95)˨ M¸¤|YK¼·\94tkC\12ʲ/¶â8\ e\9f\ 3AC\ 3¹\87\10\18\1dÉ\17\86K\ 3\ 3º\91\ 5ÅÓ*\a`D'¦\15®\83âXÓWæ\1cg\86ÓðS\9cnÆgK³oà,¡t°5Çi\96Xqltý.Í®\94¬=\15ßfÖsçìÚÌ\7fnÍ©ôAÉ:ï4Ì\13kj8\88\9cû-?
\86­#Ýö?ëÙ\9bÎ\ f}]ºÌðf\13ìéB±ö       \eyÑìÎú\a´ÕÔ\13çÎ&\99FìÏØêÈ\9b\85ë\8dÙ\84ÿ\9ff Î
+\ 1ùàÔ\90Éá%Ù'Ùª}ªU\15À\8fg\9f\ 5G\8e5Ö9¤\90æ\93£      Øcú\19¤\90CøL¾4\96-Æë,l»\83
+5q\1d\94\9aÅb\9dß\1a£ªY\8bvÀB\19gE\11Þ{ñ7¥©ä8\9a\bC\}±U\83a(.\85hµF\91W\92\93&¶³CaIk\ 6\83a"ö\82&\90\a\16\8dÈ\ 1Y\13zâyhx׬<´V\1c\82Á4\160\89`\8cÃ\97o\f²óz_ú:\ 2î©f\95\8b'^\1e\7f¼º\8a\82\0z\11\f\1f\[;L´2ºU²k§\a\1d¢¥ÈìÕÁ[P¬º6*ÎÙyE×å«8À\97!Çk©Zì\95çë0ä\b\1f¬d°\8a\18BÀ.Á\ 6%Óà;H2ç$À2\87:X ÞïÞ§~\9bÚøh\83;É¢\93\92\ fÛ¤G"VBMÙõ8´\95\86`\81°\1a\b|¥{é
+~Õt\99¯Gz\12¹\99ÌãÒ¸\97²[%o{\r\8a¿@ê²\ e<a}©;}!\ e\r)vBê\11\87\81O¼è6U)ɼç§\87ê¾T`âª\89¾ÀKâûØRÿwUi\8däê\8bUóßâ\8c      I~ß½ø±¼-W\11îþ©\84Vpl\97r\ 6\96¥ÿ]ír|a\ 5U+x\12\86ö÷üG\968¢È<¯´ÓO:bÂÒ\85>\88Dëä\9ezÑ÷®\9dî\ 2¡Z5Ç\99ÖUáÉ\93Äî^?ÅU03K\ e¸Ø÷\9b
+\96Ûé\ 4k\95VH\917\9c\8c<:\11÷oL^wj\9dø´²E8\8eñrAãw\90Ë\10²cÝ=\9b3h}f\10\99ö´.¯¦´y\15Î\ 6\8e#¥¹{\ eH¯ËD\8bM jwAñÁN­áýê\ 3\1c&¨ÁfóËWs@ØWØÒ\90TÓû \81\ 4sG°¤×¶fOô\v¿\87\89"\14ò!ÂÝ °&kÒÇ\87¸(qµébÂr¼Áh\ e¤4PVÏ\8f\1c\96\ 1p\94\86/ܾìÚ\86Ä\988\ f\e\rå\1aët\95ã\1fÂiæ\8dñ,®>¾\0c\14vÈwQ\9d¦k\9eè~`¹t¯ôt7\ 1s|\ eÀ\½D\14°¡\8c\14>$\14¤Ck\ 4Î\868+ýe\ 2ä\ 5p\14\10)¦Æòí¢ÑØ\ÐÓÀÎ8¬¥¾\87\99ë\b^§®8®9xfôv\16o7ç\rî\1f\87\13z\9f#q¬Rr\ 4A\94\90~Oq\1c\8fÜ\91$\9a\fÁ\eIÀòaçÃÏ\88\18Nfð×Ò\81
\8f¼Uv\9c\ e\18{Z6Úù*-\ 5j$WÉjò\\88_Ú¾ë«/¤Ü*9éíiV7ËX[\fe(\15\97\9e'AyÓ5}.Uåj¢Ï¼úRÐ\80y
+ÀrïX   Å·wìL\12wìKà\85Ö\9eB_§^\10\84L\9at+uÅ\93¸-\80
+â4ü\1fÈBá\91x?Q0W\0:ªà
\9f\83tY>\97Wª@ì_\87Ý÷ZjêFÉ&?¸\aáZAevŬ\ 2ÁÀf¤\ 2\16ä>Ü\81ißù}Ù Åý¨+P<\92aåW;Õ\a\8b\ïîÒ>À\10è·¼[óM·\f÷QϽ}ÏÆ©_®\97^òàý2ÂÌí,KË\85ÅBZ6°Ï.$4Ãàf¡,\vË\8c\11P®"Qï.:r¡^D\95ÖG\13>¸;þêÂä>H\11CÝACî\83ot±ñçn]Ç\ 2ßtØ\ 4Zàæû\83\80G@4\vËqJßv2¹1)\99¸P?aüÃðWa÷n\80}¨F¯t\96Ëx£î7\1f\a\16\16/\86âzý0è]¬\85-ÅI]\87\86\aú\ 6çÃnü7ÖÁ\8dh\1a\b¸\bâߣ\ 1\18Îî\a\0Ö\16Ú´s\7fÅÿûÀB\17EÀB\7fÿ\9aP÷ú\97º\9d\86§ÄÔÓjvZ\93´Úµ\9a\9dZÿ'W\7fÞêð\1eί\ 3íjð^ö®S÷jâ?ë$:ý=óÛÓÊZiðÖ\9a|RíFO#¨q\9aÔvÜÝF\97ÃÔDù]ïÿV£\83ÍÔ{\ÝG·ÍÔp¹º\8f\7f\9b¨ø7ã·\90$+á,¥   o\86%¾(ë|\9a«w
+íûcíÇ\b®¿ÆÂ*0Oãa\15\ 6 F\83ç\13kgÓ+Y\16\91\9ccúÁ+ÿyÔk¨h\ 1Ê©ýƵÛlrÄ\18¶G!\10´óW\88i\ 6$éÉ+·ª:\8fx2\13\9b\ec%iÃ\9f\v\85fá<)'«\1ezj\92Y\8d±åårÚÃÍÆweÙXB7ÂI­/\ 6¦IvfU¢¢¬fÉd*ÁU¸þ»ª\17;\9dÊ÷»·;\9dàü\fì¼Ã\ 3R±¦\91®xp§Ê\0À2\819>´0ç:¿\ 4¦àYí|Ò×Ýéõ\84\97ÝÂ]FYµÛM\eô*aÚÀº!\9e\98×\8b$¶x9\ 4u\88\ f\8e´V£\84áµ×Ñ­\12
+\15a\15]rûÀaZ\15lSá^¢\n\95Ü\90mÈéxoÜÁ[²"ÁÎ"$\96\85s\94GÆÕ>\9f\14\1eA\1d6\ f\1fú1Û\7fT4L]°\ f\ 5Ì6{"B3\88]&VV\7fqùË\ fÙ\ 5!ú:4?QÀ6\v\91\97!^ÖV¶õí\15\8fÑÂ\k6ÑT\1dA\1da\82Vµ8?>Ê_6\83)\9b)zä\16Õ\9cV\98Iv\10\92!`¼z)RA}rl\ e\10%+B[q\9c,[½o̳\99¬«ce*þ_&\84xyô\96\16\99ã`lée3Ó/[òlË£å³O\ 3²Î\15\1c!Ø[\8e\8b\8b1Pr\85\17,tZ\ e\8e`èµ³\rïìN\ eÇ\85´4\8c9À]\13XT¸BH\87\r\17«/\86C\ 1/¥w\84\1a@Qºà»\91ÚDA\9d_Ê6³ó\88¦\14Æûs/(ë//\86ÔM\18<y6û³eþØSQdhûr\960­n      ÎçvV·Ûv¬¬8Û\8a ·åæà·´®\9bÚÔKÈ;Uµá§Êü­\1dä\85.k\99BU\95ðVT®y)«mjRÈî7\ 6\99Ìt¼D%\86.9M\9eÒ\1cU  u*¥sj\9b\88ÁKâ¾ýú^A\ 5²ò\9f|\7f7sÛÚõ      \ e\ 5SØýXP5è\e4ØP\vJ\81\r\9c¾õ-ÍjÔ-V- ­ò\10\87@öJÖ\ 2´3\ 5@´Ü\18ÓS\98ÍáRf\95¶×­\12ßd\96»Õ\ e\11\ 3fLþ\87AKE\86Ðè5Ù¬\ej\8f!\a\fª\f<Um\f¬E\0\1eN%\9eµ\80z\19Å\18\18?\fCfi°zíÙ\87\98=\16\16¯\1fªLyÄkUößÚEô\ 3\ f_åRWU\12Þ\85Ï}\ 4\7f\ 6ñs\r?\ 3x\8eh\9alG\8a
+soÜ;àpÕð\9b>-c"/ún>W[¢\19
+ØÈX\19\b\91±\r¥¡t÷Ù¬\ 1\16\ fK-0-\9f©È\94}¹ÛåD\e®¯\925(]»«¸7Üy('\ 6ãÍøÚ
+ÂÂ.Tè\85ÐÄP°\88æy7î¨<´/Jõ©r§\18Ä\12 Ñ#\ f1ܵ\11æ6\r1æ0¤Zî=1æ(¤`\837)ý\ fùa¿sEc\94\16\87@\88\97t/¦Ör
+ì[\bsR\9d
+\94\96\9b]DçâË_ßp\9aÚþ\1f(r,fÈÇ\9cÕ\1dÄ3¼·b\8dQaÆÙ¼r$6å\16ÏgN\92s<&\ 6ó\18\11\9frFâPæ½¼$ð \86÷J}h    ¯~kVI;×:Öö\90\8e\82ß\93 8KñeÐJ¹       º`¤ýN¤M4ÖÚܪ£\ 4\81Ê\81nñÍ\14\9bM[âÈ2ÕiÃãí´c\91\95A`\1d\81`CX?,¤\95\18\8ee_\eÅ\89è­\rwÇ7ìç\90¥\902_Æ¢[ñ\92øJ%Á\19/åQ.\14É|u\12ôá\8b!ua\9bR»Ã¶¥\9d\95m_\95Ä\11Q³ÝE$nò¿¨4\99\8b\88m¡³ò\10\80\1f\98\8d\1e~BFl\85\a\88fµ2_\9bîH\85U\8c=¼uÕ¨=¡\93P{?" öuefJ"R5\99$R\8f¬ÉdÒ_Y\92\94I]fJ@n\1eϽã[\97\9eúÖ¼C\15%ÜÛrò\ 4?O\85G\9b\11\vö3÷=þ\eÿ\84~\10¿@÷©%ìúQ\12ÞÕ\90÷Ü\ 4É\81F\1cÔÉO9\11\93B\90Zg<0P1\80#\969'ÜÇ\96r\18        11\15¹ÖÏ]U\9b\14ôþ\91n1ú&#@ó|ù1\1c\ 4\ 1\7f}Ñ$ëIÞ\96¢\97¸\Ã|v\15ÚÆö\16éjM²9ö\17
+¬~\15;k}²Z\11Û"G&Û\9eå=Áö\16©f\8b¸}Ú_DQ¾ÁËîÒPÄäÿ°û´Á<¹Éj1o»<\1f}o\10\9a\8e¥êE\81\99»^*e}ko\96\85<\1fÍÒ\99õ{î\ 6³\94jÑdÌ:\7f0CnHÁ\r¼\11\82\er&\bm²0Cmi\82\ed\9fràG¨ã\82ÈðÍ<YËÉãgêú\82Ï\8cH\f\ fV\8d\b\8aÝ­Ú\1eï®JzH1\94\7fF\vAy\82ËûH©\82ËÕ\8eLÇ+y¹-\17)à¼\9d\ 5K\9a
+<þõÉ\84}sÓýÑ\17w$ïhÄ_¦ZáÿAa¤©¨®âÕãù\ 3\17éÏ\90ô*\ 3\1a©µªÃ\90\94«ÒÍíÉÂ\18¼¦\ f\93ÎuÝ\19\9a\7fåç:Ï\15\fé\95sÆÝïÓÝÀó\9ddg»è=éÏ%ÉD\86<w]÷¶\9eëiç:ÃÞª¼_9Õôª¯¼r%U:_[\7fD7¤JB·ì"\10\b\92úÜò!·,,Öø\b\87¢A¸d\8dL\ 3v¤ÞåûwZ        I­\16\9bí\17Go¡ï4\9ad4_îÓJ)ùp¼åÞ\8d³\bò}*5?.\8cðÜå\ 6\83II¦\94ï\aòç\91\8diD;\9aIGT\9fäïDê\93A) »_\v.áÐþ\åöýçÜ\94ûT\9frQ\r"\81\9eÇZNîS¼¤ûhJh\rùrÈeLäõS2Èé³ÑÁtVo¤\e¥iD=\f\0õ\15P\e¨\99è\8eGî :än\8fÓõHÝL\fÆÑºÌiÖÛÕ\1dc³#\99ðÚ\1ah\0¨ç4m\1e< íéGo°6Ül\1eÌ\9bZåXÈ °qÁ\1a73Á®\19Òb\r\89"\e\ 6mÊß\9cÐi×9¢·ª=,\93\96ÅXI\fòbÎ\8e\95¿(gLç[§\85\16\98­m\15¦¹½¨ü9Ùê\fúQö2tÀ\96Óx3¾£I\99cÿh\92ð¬7\14ÉôÎ\ 29U\ 5?®¨¯¸´-ü\ 5ªµ\1f\85¡eÞ7Sò¾È¡{«ÜKg¡\89k¶{ÚáÓĵÊ\86W\9d\89k\8d!\91BôÑ­²F\ 4!\96
+P>βró\82ZcD¤\10Ùöfüç\1fð:¾ê\16        GDµ\ f\rÎ|é¥÷¢ýx\13Õ½ã±Å\15X\9b\14UblQTqD£qpÑ@\92
+\8cø\8bÄäá@\9f\ e¦!¡z\8dÚÉn)¸À\95ó\85\86Óຠ\84\86\8aÓá\9e\83ÝÔª·ü5­\9eæeQâd\98nÛ=w\87ô\ e£ÜxZ¶k¡@ªU
+\0\81v\87ÿTÊÞ\ 5\\81!\15¬ÆgöH\10o\8f\1dV|Ý\9b\88\13\8f¿~p2ÕXÇó6eþ\99ì\1fe\8f³{º\14U5\16yìýqaªtp\vÕý«\80àÄ \1cb8V7ò¬a\95fe¿Ðµî¤Cg\110θÐ0\elòx\95__è\ 6&ÍßL\1eߢò¸\817\9f['<\98«\8aë\97¤¢7%Ð\89î \ 6î&õhKgÚÁ[Ö\9cl\ 4\15¤l\ 4\ 1cZ\\aZrè\14ËBù\9fj\8e\ 4\165z;:q0¡³\f3\1f\98Â\848\aäòf\vf\95\0ìGµ\e\11û/\16îÝuÃ\1d\95pì¹1\8b\92.k\ 4³ÊZ¤\17\eö\17ÿ\925\86\93&>¼a¡\r×\1f@`x-&=d\16)\84\87¥Ca¿·¦\10º­H\96ïéÍ\81KPç×Q'\82Ò\ f\15\vEý'\ 1YVÇAj¹\14\16\ 6\92\86Ã\99 zºVÖ\\83ÈF³@\8fQª·\8cÊ\v&nÛ\16qµGǶlû\0\ea\r¼rbMÖRßs\ 6.DøÄ\ 5\94";[\15\82(|t&Äu\ 5³1\85\192â^¾\ 1\83r-^å§ö\8a\8d\88µ;X8)¿h\eøn§Êñ6>¸ù¯Ñ\84D3\ efÖϧ]5#èñÚ³\ fÉ\1cû\92ó\8cÑ0e\0³;A.]âw/¡<ã§µ\7fuËò\84\f\8fë\98¼3E'F¹Í\r<
+\eq
+$ì|V)\84\8cT\ 4Ï\ f\88oÙ5\ 3\12"íN\14\ 3î8\ f\89\15Û
+»Ð\8a®ôØÞ\ 2v¶Ñ\8bÏpV\ f»ÚØ\82\83|, qá\88.¼X#\17VØ¿CK\15%ã}±ðÔOç\98»3Q\80\16º\93eµb\9b&,R«Ç1Q\86d`³Û\18­\81\12\8e\8cÝ\82\10Ý20n|XÂ;¯¬TH¡ÌTØ¥uy61\8c[Æ1ns \16\80]\15Û?~\86\17Èzhø¬iö\1f±+ù\\9ffgY²\1d\92r6:Üp\11\ 6a\7f\ 3X¾Ì~q\17Ëâ¨õÅóh\8cÛ\8eævrg(d\83Û\8cÎef&¯`c.Á5\97f?\8d\ 2B\80|\191\98u¶?E­õ!Ku\8cµ{5@W\0?-1¿á¬*\17    µÛ\1ah²ç\90Öpõ\97)óm\99ûM\99\94Ø\89|\eYÃÐÒlç\98)\0Ø\16Iü=^,øÃ\@õù°\ 3\15\13zg¡4º+ÐíºOC\88f\a¶½z\ 3å\r\86\7f9\98ÎÞ½\ eåG¡£`¤7w\91^\80ý\11\a©s\15èwq\9e\86\97û½\ fòç½\r?õz\16÷IÄî¡lW\99)xó\13\91\85_mÏ\91>Â,\89ÅâÈ\93¡\18²\97¯ÒTÑ\8b7;zý:\95\1f§W\161[E~\83úÅ\16¬Pc
+\82D+."¿Þ²3ýÅ\7fG\98@êî´4\8fq\1dÂs<ѱ\1f\89\87\85íøë"½º\8bب\16\ fa{;ÿ\ eõ%EëÄ\1fx\87s\99Ù\8cá\92m\18\9bÏ\8b\16ߪ+Á\1fLB8A@>{\10N\vkx¯\aôÆx5?Õà÷W)»"Ñn£²GüÝ\97:N¨Þ»¾ü©'²¹ÌÁ\92RÞ;½tWw¯\8aîÇæ.δ&£;/Å\19Ùl?¼\9c¼\ e|\9c¼Oêøõ\97 ¾3ã>7ÿø\93\92ÿ\9eNOï_\8eè©2ÙI\87\17²rÝ©'/b,\9c¿lWè>俱\ 1\9b\85\15úo£?MüW\87Àay\ e]\17¡é)G\ e1_ÿ¤ÎH²g ~;oûI\9d\8e\93\f\r~\9e\9f\v">¹¼1\a\bbëXÅ0×8\99æúAòü§D>_3ô\87ËÆF4tF\ 6x\88é`Àë\9bÃ\196XÄjºe"\94uÑIÀ\9bLÓ»Y G\fÃø\1c&©_Ý\8c\89\15Ë&\1eÖ`!ìõ\98ÙÕ¢\1eÐÒ\8e0cÐ\ fh&iª0{@^Ì$Í=40'
+ÊR\9c¡«ªà©>ñÚð,\1cìÑb\98^?V\9e³?±\v.'\ 1\1a$Ä=Äõ=¿_®O^@\7f\eÏÿÔ=Ä"ëÿö%\v\ f\8eÚܸ\9b\ e^nH:êÄðÇ÷}ãM¢àê\13&I\95ôλíD\96¢&>TG\85ôP\1c\86bH\15Ö=\1c2\91¨á)t¹\93\8bÿV´pE¶µ\15\f\17\16F\ 3î«5­.UR\9cë\1f\7ff"!sÞWÊ5O\ ed\81VlC\ e\85Í\ 2æ\9e\8e\1e0@\ e\11\14k\b¬Â20³6ÊnqµE\98\1evÖB×\88û\84Ú£ä\r¬\8d¯\11ãù%| \7f\11\\fý\f\0÷\8a©P4.1M'\ 5\ e1©Z
+ÜxèÈ\11P\9a\9búV&\f\8c`Ð+\9d\9eQ0Ð\15Ì+£\b\ fû+J\a\ 1\86\87R¬6¼Ú\aL\ 2@÷F\14i( 5¦p\19{Crà\16QÉǺr\7\1eº7X-G\6¢~¼Z\99qmsCÇõ\9a\e\18mDY\81µ\16f\ 6Ôw\98È\13ì¡Ýä\ eû#Ó\82\10ó®¸\92A;\9aNÕ@\96\9cxÚÜç\v6=8Ì\14Öi7NR£\1cª\83@\1eÙ\12\9d\eP>xm@\9cà¢\89¬þ\0¬ãY³/d®ëë¥õ\94\10M§:á\82\92\f\14\98A*\92Àá\1cé`\87¸\8c=o$\vº\0\17\9a\9a\14Ö¨äGß\9aür9\1cÑ\84\ fý0{\90\83\1dr\1c»f/Ðev \7fJ[\9e±Y\ 5nhµj«V6G»ÿ?x\ 3¼+b§'\83æy%\ 4\ eÏd²$a½{Ød       \ fö\8a¨ä0\ 1-\99\eXX\86»éXýB\ 6\8b°ñ\b³\ 37¹(­\r©dT®M\ eíÌ[L\96\86\911¼*aÞRб\94\v\ 6ç@é\axF«7Ð:\ 1Ö\81¨âô;ïIK\90\997¹ôè¡{øÌ\91h9\16\vè`#:\9d\94Á6S$\93ç\b\86e\ 4\eô¬yÂ\rñ¯\881$Ó\bb²ð;Ùý\84\19\92SÎ\\16\9cØ­rq\1e´?\ 5¥\8e¿\9dȱӲPA\8fL¥;âîX\8f¦Y\ 4Ä\18ìÂjëþ\ 6³¨¢\fa`\ 3\11hë¨\ e¸Í\b³.zÅ7ÆiîÄ\19û+Ñ\ 6\83â'ì\92\8d?\11\10\91\98\1f\9btÇ-\1c\98PA\8fJT&\10btêJõÞ\ 5\1c\8cÌU,Ê\82\vêR¡f\1aû\9bÑ\ 5ÐÂÉ\84\17C
+ÿ8\82èw¼ñ\ 5×>Y\f\13\98¹\84\17\98\1fÂÓþ"\v¯\99|?\90-|á\ 5èÔ\8e§GÝì\96B(\82èhm0\82èf: \82ÜÊ\9f\7f\9fiB\98"\96\94,¡.Ív¦¢Óé\10Xù_4®iK\ 6ic\86Ò\9eiAÝ®\94\95¼W\17v ¨\17
+\98\82¢\99\8cPÉ$YP\88\82£V¤\936\fcpùôD\15\ 3"Îp\82¢ò        1â`\14ðS\95*\12ÉÐ"Üu*C8:\8f-\ fè  ½æ£d¶÷¬'-ùG«ð\96_¥ºõ|SnºÀø2üüC\v\ 6\15ù~\81¿4*²üò(.;ñ¦jÛ\80\19صG¦²R¨\99r\125M\1d\11
+dàzvÁáÜgÝNÞZ,æº\18\12\9e6+&¥¢»  \85,µcÞZ+²D\16µQªü\10'^<}.z|Â\rØÔýK¨çúAòå³\81õ­\80\97\19õÔ.\9a(\1f\f\\19ïxØ\1fO\ 6ÇrOæ\1f
+ù-C}n!å\8d\89#\a¼O\9c@ûßÿa\ 3î\16\ eK\197uäIÑ%\99\8a tìc)\r\82\ 2e\8c qÙæ\f nÙý\93@¶Ë2K·¾\9b\ 1\14@¿G\r%aëÛ]\88\17ø°÷¡×Ú\96¾¿[\98ÓW©80¶·t\84cÆr\1dÑßÞ
+íy\81íÂù ­·º¤\15õ\7fH\80Ú\a06&\10\e\10\e\1dóÚÙþB}V¶z_vð@iÚ^@¶©V·#\964\9aµ¬ó\ 6\10\17kp\1fï\81\9b·(Û\98\f\8aå\1d}Î}ªµÅ`Áß`!ý©Nl^\96\80W@´D\ 2ÁÜ{\80ݽà\80H)ýHIu\82µÏZôV°f\8b4­G¸\17ÖñD\ 1¡\84õ7¡çZ\16"±Ö\8e³\ 1áZs¢!\ eÅñ^\9bâ¼÷Åyu\19\9ex\7fñÕ 8¶þ\81ÿÂ{\1f\99Vÿó+\9dñÏûÞ:Ê\8f\1d\7fèñãý\8fÍ\7f¿Ó`:jl\ f±ù²ý\9d4B\12mÀæé,9!\89ù\a¨^Àx2,>Kz
+\18\10\8bÿ\ få\13{<\ f>ZÞÙ\8d#ãõ\9b¡\9f½#é¥EC\93¢-\14\13ÁÃ\88\98é-ÎÎb)\b\1eHx\9e£\10\81ä\a\8a6PN Y!Ûûê\84¨\90\10"od£NR/M\8f\9b\9c*(üUë<\81-\84\9eÙÓ\8d-iò\9b]ÓñÓ\8a²Z$Z~\16\86æiC¥\11\87ãK¹ôûËqcp9ª*ü´Åxjs\9c¸7`¡0÷Å*\94îjãp.W\ 3Î\jôóÂ~0ú\84$Ó­6\8b\9aP\8fª']Uí<ÞÔÄ}W\ 1ërªW\ 4ï*\81Ö\ 27\19\92ÿVûã\a\9f\11%ÕG$ª«\17nUaUC\97;|â\ 6\1cì7WðÞC\ e*N£ÒY\0?\84Mè-%\8eÛ\95c½åS'Ö%N\10G\e\15\19\8eÃ%\99\162/\11\88Á¨½\96¨ê\8c\83\96ÁäË£
+E¡ßå"\9e\eDù¡*Cu\95)ú.\13Ùæºf\13\15d\98~&_\95c\99å|ê_7\9aê<$¡\83\9b7K\12%\8e\a\95cÔò§§ÃÁæÑÑ\18D)%¶;$\17Å\e$$VÞ\9c¡\1eï×%\84\eí\ 1Tbq_<Þý<N\99ÜGS\1aë\9a\1c.:|b£ÆV¡\17!\83<\89\8c\93]Ï"ÖB\8c\1fª\f\eÙ1~\86\v!Ô­A\86C\1c©\ 5\95HÛ¥\1c(mC\17Í»\ fâ¨D À-\r\1cÊ\8e\90\7f^*ËJ\16\80\8b\93\ f¸\8fb«OÊ\1eÅTN¼xØ$ÖÉvÏ¡ë¸Et\1d\8f\1e¯\ 6FºÑó\80BÔl\ f£aÁÖ\98û\v\95^:\19\ e\8bó\9d\8cÀÚ\10r¢D·.¡"\&\1fÑiæ\99\9cé¾\96sàã(ÎQEg69#0çã\1fÔd\f\85}FD\89´é·?STà'8Ô      \89       ZòjU\a§òP:¿ÎÉ3\ f\eå×ð½_ÅNY\9eI\84\89\84\84ÔÎ\ 3-Æ §ÿ\ 2B×ôç?§U?ä«ây'èª\16?§__Q\1fÖloòÛ\1c\ 6\93c\81\7fO1I³\99úÞFQÏ\915ú|\8c¿áØóÄ\85¢üþ¡!hYü\91¸ý;\8f\922Æ÷\91\91Ïé\12\19´Ú\ 3_\90\1eÄS\86\12\1c\r\ 4\ 6\9ekM_Ý:Å\ 3¾\86\ eÂÌ\e¨$?ú\98ni\98m¹Ö>\97óa¼{0\89\ fúô¾\ 3\ 6\90¯­\aówz\ 1ºP\94×\9d![Y¦ïÐÌÞOþbò\7fý\7fB\7fîZ×å\8cI­*ØçkˤAT,Í?\84\97\17VL\8a\13aúBV\8e_"ï\8c9\83ô4\ 1cd\1d§#\9dJ\fQ!Ñ\9a²Ò\831g\1a\94\13A7ÍÆ\99Ñ\12\1e§\ 5ÜhA\80\8841ð¹\15GØñù\1f;\89Ñ|Î'¸
+; àÙ}N'Ôä\7féÄÍqÓ£­Ç"©]\8d\1fEÃü¼tn\97!\94\ f~ËçdJå±!»H1ö_Ú6rv)³ü\9b+\13¹\ 6\12j\86¾Ë w½Âý4\89z2\f×%!Ð¥\ 1ôÔÕè\93ödD\9f¹Oæ$ý  [!\90©¤\8e\98\94\ 1¿HJ\ 1\8eÿ¸\94\ 3\10W\83ì$£Á\92\9e\8aðè¤ËJ,xÒ\8a'=äéFéQÃ\v\88¥\1c+cQÃ4L¼Z8²\8aQÅ3У\8b\1dôÑÅ\ 2ðK\19\8d\8aäõïâ\89c&®Ä±\99K±,dÏ<K\19\8e\8a%\8cÈóı\8cùâXÃfÅ|.\80\96\1e¾ó6(ÛÝæÅ\157y±G\97y\9b\14xß0\96\1dé\84°ó³\93<ìØ©Ø}¯\8eñæ\15ÙèÓÍ\8c{´óbîñLس3?<\13\17ª\97\90\8cÉøµTM^¬¥?,ÞÂÚ\8a\8fþ¢W£\89üÄp.\ 2?\86¥H¼;\1a\93\83Kc@êJu\98gR\1a±\r:OWÞÙ\85ø\85©\r_\ e\82\9d1¤Wø©&\1eÌè{5J¼¥\7f\8fÊ?¦òÖ#å¯\98ó/ýÏ\99\80Ñù\98.\17\990Çóåäÿ:\95\1eüó\98\9fTë»\f¥\8f:\82^Ð6+/:\r7\94\12©HÙj\ð,\7féA,n{PöOt<\9fýj»{\1c\85\8d\8b[\1e\8b\8cõÎuÝ\a¦\1cç\19B\17ïîã?òâwjÌâ|µVö>\88\aEÄäÎu×\87Wó8\99U(°\a\87¦x¬ÙÅï³\99\94V\9b(ଥ\10\82\ 4Û\89êÆCq¹¥=½\85Å\15\ 5\ fE¦÷È>\13¿Â\a\1cÝ\9e\89HЧ{\889×®%I\17¹¯Ë\ fê·ÞLº×\88\9a\8a7Lå\95ïn\9a·\84Ä?\fJH'\9fI\ 6
+\95vRRè\15\15:öIƦ¸#d\1c7½åÔû8*Ï\1f\81õ×\ 6´ë{\1fËDZG\8fÎâ+\1aX=\ 3®é_U\ e»Ó;o JÉ\1cÞã¯ó\rÄö8é\88ñ)4ÚO9ÎN\1a\12gÒ ÿ\aïã\ fP'\1c\1d.\9fü\89½¿Ø\9c\1891Í÷às¹øÏ\11øÎ¾¹«Ý
\1cT$\1a½\9fd\8dÇRìú¥©*\1aTsîsÔFâ\v\92\9eï­äsnðÁöøÂ<q4ò\7f\8e\fÖ:EÁ\λw¯~9ÕAf^ÈÓRçN\87\rR9¦\14(\13cMb\9cZø4éig'uZãóÖ`ÉËòª\87¢_GEBje\13C\83'¨oÙüeJ~[Iõ7\7f\v¬\16£\83\15T\83\8fñ3\f·\1eòE·\8fÁé\19\86'\8f\ 1!\9fBv\rã\15MF¤a\ 3ïþ¸\89ü\12ÜhV\16[añt¥\aw yF)Ç[È->¨î¿\1aÆ4\9c!¦Ìv?\14\15\ fóa\7f\ 6\17åâݸ´X\7f\11h\1aí/\91»»Ô\82tåÿ\r}\17Î×÷×\8d\7flÂ/Zh¬úcãOþ7\91\ 3\88N\83x\7f\16î\f²\7fýo4\17\8dàãóNs\82\r_Âjabõ\84ø\1c9n\ e³\94®¸yé\8d\83\19Á}pöw\1cÇ\82ínÚD\94³¸ëk        nD=⻾¬u\ 6~\84³L£\13\12Jo`:Ï\86·hÅ:wMð4\80óõÒ      z\85K'\ 1hRÄ\19ò³sI_4>$ÁGd¼hj\95\88\19/\82-\98\11ËÈS®Ï·S°e\16ÉQö£A9RQ)d\95¤¥\9a\8e½\83óã,i5£F\96!`´?ò²Qïý÷_YÍ ò\8d\18\11\v½\15¢³9c;0©÷Ý*1\ 2Ìa ol½ü\96\f\92: µ>Q\ 5Èó~¾¡VÿâÆèÏC-K£>© tÇ:À=°   \13\9d4{ñ\ 3\13\9d/\b':V\1c\93©\9e·¹-C²RÜ]°+¶°6n\17¬ß_ôÑô×/sW2Ü\80ÕKX\ÓÓ\9aöÜ\18"i\98\18ªè\fÈé\8c´H3G\91y[Á*\85U.\12Ô\vB´¾xÝ\19ô"Ïx\ag\84\13a\9c}ëÜTd\89+ì¿®=\85sÙë§¼­ý\82¯v×\83K\80É\93¿\81\ 6È»Ü\93'ïß\9eúxû>û\94\89*SÕOr\82ÀK\16\92ôYäË\ 3G\93<Z¢\ 5ù«æì7×÷]cÖ÷EwÃä!ïm\97\b{´#»êì¸<à\1c\97.íã]\15ãUâÊñ\8cñs\81£\88\1e.-ôñ,¶\88ç\8aî},\9c¶ñôò øNw}ô\91ÚÄ\ f\80âÒ±Ã\99³\aX±Î\15\11^$ýò¼\91Þ
+£ls¶\96E¨ý\87\e\913d\19\9bÅ$      õ²K·\13$º¬\I°ý±4ÊèRgçvV[I\aeB®\86Ãã\84º\8e\ 4ü·\16¢d\92¯Ð\94\95Ü }T¢WêÈâc"Te\bÙï\97Ìó÷ü7JòÖ\16\82ÈQÀ>RA|¡êÕJ\¸\92\vî,p\9bDYäH\8c*³¼\rõþN\83Ù\85rX\r«8`2B²C¨¹µZ]ë¶a±ÅXZ(åRZ\8b\\895P\86êéT¼\19Du}       Ø\8e\99½k2Dx½²7]²\ 2\ 3yg0L\9d¸ÆIác\rÓ\ 2ÆM\842Æ&&&xAgAîC*ÅÏ(7ÐÝ-zç\96\1e´8\bärd"\1f^\19bmÞ\1e¤ý·)]\9c`a\1aÒ\1e\81ûgJìóãÔ\19"-rDäÀ\r\847Yg®cÑâ\9cÿt©\83\96\86ë°zå j!ºl]Ài!ºjõË0ÐÃu$õÏ0(á\96W.mB|Íí°fÌÞÂ\f´8\ 1\94\86ë­ç1\92Ê-:¥\16\9fXËA÷\10f+K\80\91\87\ 2qÃï~°\15ÙK@\1fØo ûÝm\85¤Ç\93-\ 3È{ {\ 3?\0åJÎGªq¥T]~\11u«=bµXLî\94òë¿\97Zŧ+íðî4«K­\ 2ë\½\8cwáê\9cl\17\97_å.¸æ\v£\97a4{\ 6\ 5×\81.¶,£Ì\9d\91u\8axöqÑÕøG\e\ 6e×ï\17\_\9b9\ eþJ±
+£º¨\8e-Z/ê\11T¨S4ÂDÎÚ´?6CÌ\9a;\ e;Óú\8c\9aÕwjÃóh¯>÷\83\8c\8c\ f.õZôÓvdd°w²¸C39·ìÖ\7f(ʳ,    ÷v¶\e[=­¾Õ\7f¡}ô3\159\8a\9fÐm?Gö{Ñý~\8eÿÑìª\96\87ØëZÚ­l9\10
+¨u×2S³Óå\94\13\85¯,\97¾²ydÌ\18\1c\1a&Êe\9f' `g\11Îð\86,º»¿#©b½\ 6\7fAzeÉ\84º ý+\11ÔÝ,Ó\1f\ 5½ÒÁ\91N©ëv2ÜW\90°Zu\80à´\8ep\1f¾\84Ú'ä\9dýe[àE\91\98$D$\ 2дB\95S+ªñ_O2K\7fL,¨\82¢KE
+G\8b5Nûâð|\97\9b¥þG\82»<Y~ÑÑv¢\r:zÝ\82mȱº\81ø\92m%aÙ\92\ 3\832îæ\1eÊ\8eu%Ø=\9eeR@Ǭ\ fOcT|¹È0GØ:\Á\91õL8.Ø¢×ñ\93\92¼º\12d(\9a\1e)AY!P@põ½¦Ë&&0\91ǯÍ\91^zÝ\87ÛRÿÈÌK\ 6~XQ­Ö·Z>À\92\e\9em*\9e?W­nH-á\8eroS\ 5¿4\95»\ 12g°à ²·À'\ 3á6=Ý\0_.\9a\84]YÎó\83Þ"ZîD®¬1\175KP\98ªDЧö\a~\8b¹aßÈ!\89\1dG¡+j|\83¹;Y¥\\91Ï·Jìvª¥XP\1em\92¸I_ïX8\18\90]\ 6iQ\ 2Ue¼\ 2ÓÝL4$°/ü0ñ)à\\1a\85\ 2Ó¦ÿv|¯-\92ñ¦ÕÇ\15\1a\ 3CѧÞÈû;\90î.]aÃ\80®©û\80Ö\Ð\16\8f9tPc\8dá»g\ ft\8dÖçOb\1f\9eæ[\8a \8b\14PUU)nbóñbp\1fÃ\85\ 2~{pÝÈcÉDZKç\8b!uû\8eË*\1dZi·\13.C\fdIî3!û\95\v\9fFéj\vÓª\81©i;\ fYQ\92\ eÙ _\88nús¶EhR\*à\8f\87\0Ô\97 ¬:¸\8f«Ã°U¦YVH䱡÷\95i\97\ 6.àB7o«ÑºÌ È&ntÌ\82Jà´×tÀòåÕ w÷\ 5QÇÜU"\92ð[pZJZÜ\19\95õ9°\a7/Gá\98Fæa\bñû!XÿD\89-ôNIW¢¨±SKDÊ\1dv7àÔ0\87ë\86{É`ýÛ[x-Ú8\82Ý\9c\8c\16ñç\18ù1^ÞD\83\88ôPÕ.\18ÏÚ\9dn\95\ 6ß÷þ¦ØåÃp«É\11\róÈ\r\12äËqu­ä\e=Ë2¥nк\96R·f,\16»4½ä\ 3µ´R#ÂË62}Ýd~Ù\19ɾå\9aOT#ÂS\8c~,Àgy° \f\8fx\1e\91\95dT\94»Ñý\8c%g*»«WTqk\êê\95%Ôí" ¾Uqgd©,)bÏ\ 4\1e/\90\9eB¶üùUÂ\føFé[¥CðxpÃìK£2\95KLÅGËøHG\ 6²\15RÔÂ\85¥m\7f\8dÐÜ?\v\110÷cüú\10haU\11\fG}ì\91iW\1e\92 Ä[\16»YBÓá      \ 6\8f«ê\91=T\13ûrÊEÚX×Õòðݱ\82\7f\84TÎ¥\9f¥ÔKÄvÆYùRéà\9e\82X)s\94MâÁ?ò¥\1d\17s\7f3s +sTY}²;Q\92\ fßNgÃØ\16\16_f\99\96\17\1d²m\8eÒ2vµ¶;6±\bòÃ\10Ã[¾5S$¤[=г\a*£BÒ\8f&üV>ân\7f\8cÈeÿÆbõË gü\rÛî\ 3Ü×3Ú~?B\12Âã,â¢÷uÆY¶\90#æã\80\90yÁ'\18ñXk7\cõ\9b¯\ 6\e¾WïTªã0£¡¹4GníKF\91\\98tö°'ò¶C\ 2\1aÛ¡\81\95`ÆÔ\10µª[R¨<\91¢áQeÓ9?\8cýÏf\95m\1a;^\1aa7ÄJ´{Ã\f\9eåO\95~\8bWÄÆ/Zø³­Zúx\96a\91!w\v\r\11t­¥olZQ¥Ö yd\aÓ¢Ï$Dm[ÜÄvYG\ß\9e\9f\ 5å£à´ÎÜ´\96âÑçà8\f\81ÈIUH\86æÖ©\135²ñî\98Õ<{\9aeR\7f\a\86Ã\86\eKP¢8p52\ 4\88K¾ë\1an¿÷î÷wwujÕ»©   ! FïA£M`\1ah\90Á\fB\12\10\90ÆÀ4Hi$&\ 2\ 1\1dC\8d\f\1a\16\82n\0ô5\f\12Ñ\8cs͸ØÇ\18\84ã\84múE\e\e`\fb\r\1aC`Û\ 3Þ\92\r\8e\11\00ê4\a£\ f6\81&·ÿïýîê@\r¸ä\92I/§½mà\õÌöe¹\96å÷\ 2Éo¸\13\83s.[Å·\81s=ǹmâ\ËÁ¼\9bð\ eó¯À;È¿\ 3.c§{ÖI$\93[$\8eª\88Ú¯yÏ\19ó\9e\10È~\10!u\9cw\16VZ\90"£|CP=ÎÕ\bmÁïàrõ\86xß@\aÜ}$­\91£îF5ªÉª¥$5ó)\9e      ö\10\91\1cÚÂÒÆ¹µ[ T\870\1c/ØÃ9µ\86¥V\87\9a5=lø!\82\15EfÞ\8bî
+q­Uä\\vP\9dͦû>­\r9\10n^\9cæÒ´\85+Q(³\8d¨¢6\82\12$dcHz®Ð0kØÞi¡\8bïi\re\84õô\8b÷\93mäxHyÞ9 Z»Ó\84\93M\9e\99&fxßM4õW$\8e#:\87â~³\8fM\1cE\19\ fAù{¸D`K3*\88®\91 'ÔG½U!]¨O¨Ä\9b\95-Yï\aâO*\14ÐÂþ-üy5\1eK\9e\84¯Ø-Z»:\86mú,é%\10\89[\8f\8aÙ\83JO·C\96þ\9aæGQ/|¦\14lJ"Ý\0ö¥\ 6ï@Ï\ e\ 6ß!ª½\ f«\12ç\8dÞïøÌÝéî\83`âÛºÜ\9bZ\9f\9a\87¢ÍÖå5mË\9a\87\9cδ\90\13òÙ֪桮)=c:ß\v\9a\87\84Ï\96\86­\9cóÆ(Xø\bÒ\87£\83Vè(6q\8a\18+Ó;\ 57C\1f&'(âr\9aÚ>L\87\94ÿ$Å\r\89Qf2¦^S¬é\ e³©\90©\7f\92Bh\19e\1c`>1ø\ 3\ 54S¦l\ 3nés\01\v&lÜ®ja\8foâil\86\eXGeë\9d.\8a  T#\91§kÆÝ\8aüv\ 6\89\ 5\84 ¬H\rH1Úºå«Ý®\0µCã¼ÈW ±\9eÎ\14\81Ïó     '>ßVNm]Ê\v³L)r;\ 3¤õä_ÈqÐü^0ß?\1e\10\bc\8fvd\9b\8b%fHl\98I\92\895Ó° ªÓF$®W;#\eÛ\86Jh\92 {7)ü\91\1fyq'øXëÛ4l\12Í\96°&²\b\1dÏ\9bª÷d\1f×\88é\vh\10ò\83P\9e\7f%\88âùÈw~5Vî¯V\1dõ\8fßaU¾CË\a|é-Í0;¯CÓ
+«J­É úïÚél¼ B_íÚGî6\ 4\92Ça]Lµ×¶\9c\92®(ÜX\9b\92µ¦LBò^õ0i\bâÒ\8fÊå\8b8TË>-Èá\ 6©
+ÊÍHp=]X çäóÌõ|\10B\9fä\16\9eØ>õü2ü=¼<\9bÄ\1dÞ[Ím.áË\8fÛ\8c\8e\1cÜ\94óÌ\81%Y¯çR®B#¡ñ)Ä\0Ùk³F\ 6CTCUn>ñµ\\12â):jTñï\96\9aIø¸¼Éú\a\92\1c-\82úcm\9el\1f\ f\17\8dëX!§ØUX\96ÄP§\93nápÐ\18´ËdÓ\93þ¢\99]n%êz­ÒÔìP×÷èÀEÁ±ï¶,\10\98ØO\ fQ)\7f§Ë=¾µíص*\89p\1a0i`eæ×\rC£*\ e\ 6ìTó\vAu\9f9;ÇrÜp`-Õ£uúW êÒu~\9f \r]J{û@pIÃ¥9;A±\ 4¼@Fì5\9aENhùÁï\98·G\15\88Æíb\18\89J1ÀÀG\µ#Kq/2`·_\90ÒàÃ\14}\99é¬Ò¥ªðCuâ\17ùÜ\15cu®KÍÝ\99î·JméqÇ\17Ò²ñ¥Äȹ¯8p(\19\92ó¸Gºã[,÷\17\9dÄjî/ßÚ5×rv\9cÝ^¯V4µ #K6»Üª/\95o\93\1a\9a4p%Àh9Ï jh\83ò{È\ 2¤\93ù<ð¶ó˼\ 3\1d%¤(gá¶«B\8dÖ\89\­2mª\90ßñ\8fõFú®Qà\9fàZã±Î­\94¸è5\7fõ÷\1e¡\14HçhOr\1cÛªÈÙ\1fßê¡\80\ 4\eáðu\f\8a\ 4·ÚÆÂ;X îÀ\7f®Àav°^h¡\f\ 4¶°&r'\99\8d®£jýøàÏh»6§ØÙa6®ßQê²l5=±¤rÛZ:\9eÖÚFº\8fu\93ZÎ¥Q9+\1eV\13\1d!Äü
+:¬\9fK\7fÆÙ}\9d©h\14á©&:ço\86°µ*\1dú¢¥]ªÂ'Ϩ\1c\1f\98UFþc¤ôrø\¸3Æ\92æ¬\8am\9d@QüS\f     \14\v- Q¹Ñ0MMÞ     \80Õþ=ÑX\9c\ 6\14(Â:P«õJ\89)W\a¨¿¸*\98èu\83\8aûSìj½×khõS\v¨Ýè\96ÎZóü¬¡RÖʾd˽ðÔ°êÊ}^©ý\e¹\8b\1f7jËÔá~_í\96\94\11®\9bí\9d\1c*Ökã÷O^µÃ+\r\ 3aîõªÖ\1ft\8a\öì %pU¬Ì]HN\1e\17\16®ü\9bîÚ§)m@þrØjr»7£yXú>¾òSmÀáø\9bosÖô+ô\9b\8d¶ëÓ¯àpÏ¡R\87\93ߪCîju\9aÕ\91\9ek\18¥ÊPîníöY§£\83\98\90\9eT×tÇ\94\81pm¹\86¦¸zOÉ\90ûæ1CÇ:½MXG¥\81j=X\1a@À¿4,aF\82Ìfï\15\86ÚÆ%T2\92\15ñ Ö¥\8f\85¶ø¸Ík>¶Ú\80ùæº\91 µªXêvÌP©©=\9bÿO\98\ 2\9dÄ8\92²\12^´9k\1c\80¦¾\9e4!´\8f¯ªâK\16±Ç-ÿ\93¦R8\ 2jýü³®\88â  °ßõÎJú³çÙ)C^r\95õdxÜT\8b\14\1aÔëùPì\88O\ 2×_ïÝög%äS\8f\89\90Hý¾C\ ej\fÓ!Ñ\ 4\ eL{7[~\89Ã\98E\ 5 3,ãvºÅfE.B{ÃÔØê¸:¤\10Ói?"\17¶õ&øùj®\rjÞFZ©äzþFZ\81\ré¨i¼CÚÖj\b×|ÝD\1amËÔ³b\84ë$}ý¸ü;\145z\8a¦hC²-\94ëØ\98[æB´Ô}þÊ2÷xX¡\9bÔ\r\83\0£.
+Ñ2cqäÉç1\ 5¬\135\9b\96\9b§½<\fç£fë
+­Åê\8d\9e\93ê\9a\ e\1£fî];ZÃzöµ\9eËFµ\9a½µ\e:©u-uö­\1aëýf\83v\92\8b\81äZ~qÃ\83\1c5Ú¢?w      }EÜÂ%áG,^\ 5>oÛ\a4ÊЬ\7fÅçY*\1c\13gqu!Òr\1d&kYÅÚ
+¢k]\7f\1fhxÞ;\8e\10¦àý\b\aü¤Oö£\vÛ\83þl\ 3÷È\9føãP!Ç[\9fûð\ fù%?²ï\1fº³OÓ@s  9è 'Ç\aë\ 4éÕ\8c\90²µ#æ³=º
+ì$\8dz½Õ\9b\ 2\92N"&\85Ü«\14]æ¸Î¢.V\ 2/\fä:h±"zovË¡lyp\874\90\99·í¹í\ eâ\11îj\94ѵÔ\1a~ ù\9e/=##Ú»ÄF\12\rìE\f\97FÕÞJ-3Ç{º í©¡5#ÀC\8e\9b$ïw©àê¬FavCFH,/dq­I¯s°k½.\9dögkS\88\8c"\8fÙÅÖ\91NÔb\13\8f\b¢/ÔZ\85GÌËñ\7f\98÷~èÞ\10}\9b\0\14\ 1©\8f\97$KYRô>.    Q5¤\9c\9bÝÙ\82GG\94ï\9e\89Ú{\7fEM}[Íg\9d\e\14¹á$\13Ôí\8bï\15\8cz\92½ÎõêFÑ«ë%¯\e§£_2\8df×QHi%\9cb\87¡¦¬ãC\97ÊÁ÷áÙqîñöÜ\8b¸Ò\13#\8b¡TtZôa»àiµüBG=(\88kø¤&X~²C\15P¦mvjorÍþ\81?ÔM\ 6¼\11ûF¹é\rØ\v»\12E\8f\88\92,*\13ú\aª       Ê\1a\83içpó@ú}íܶ\1fpnè«\96N\17\15\ 3\0éJ6\12Ù\8a\11Zgr\9ch}U\81l&vò\81Q\19\aÉÈ»\8c\83°\85òo\87\ 4\18t\10\83xF\19¯ô±Jà` {\14\8aõ/aÈÈy.\90×¹-h¹¥#Iõª\ fu)ë\8f¨Þá\8a\e!)ì\89LÑ#þ%7âR\81\8a\1f`J}ñ)\8eb\87\82%=Á),Å
+\81\84¦\ 6Þ½à_Q\14`³öNå.\80ïE\17
\15ù1\vÛ¡qÆ\ f\ 4êt\8cñ
+\aLP\97\82Àt\fPÁA]\17±C¯\80Ã\84>!\bh´¬í±Jƽ²rFo\rQ\ 6¾j\1aø\f|\1fÁ¯\88n+è\8f\96¾\7f>¯Ü)\ eÀú¿ÄR\18DkÞ§®\ 5÷¸$|¶(zn\8ba|)\8e\8fÜ1CÌuU\16B\8e\8bÞæLÌújä\14¯ô·{A\10©;\92IÊI\7fÝ\16Ã\ 6ÓD1CFê\ 5\85ö\1aÎç\80å\8a\14\8e\92i4Ð\9bMpÑ\1e\bz\8e^¬b\86EÒ/\ eX)±BaÖ¸`\92X+ë­à\8e2\8a±A£¥þ\93\17°ìºp\17Q¬rHZ@¾'ÌâÌ\ 5R5Ï&×ë·\16&\8e\fÔñ\9dðF\80T_W@HñÎ\10ÑÛá¢#ìHÜbr\85¯G\90ß¿\eº¨\95ä´!\91ó{]]\8bZ¬TÑô\ 3\7fr\ 5çUHð\99¦ÊÆ\12h\ 5µ[á¿¶CN®Z£\83*N\13mS\ròâ´4t/Ub¥\v(ÖnðX\90TÖÁL\87¬>7+¾\1a\1dø=ººé\19 á\8fz[\83êì8\85<±~ï\86I\f\9a\ 1i¾ÜòíO\ 4nü"×OÓ8T÷ÐF·µ\84r4ß3Ä5#\81Ö]\1a¨÷6¯ÆÑì5Âà¤=lô\87\9d%báV#\v¿Ï\Þó$x\ 3ºIõôɶL\ 1×!ògÎøo}±\1fÓúF\gɸ6o\bâ\9d\17\9d\17[\85î¸\8f\9aº#\ 4aòayÔ³\17Îs«`¥\94R\85ò4\8c\9f?{È7#Ñïù[þ ÒpEÁ\99?\84j\9b-ÿg#\î¿®Ü\90Âz~\99?ÇÀë¾\16u"Û\1d\8fH
+Ôªãzß\91\f.¦y\8a\14úJõ=ÜA\8cºT(LOÖïö?"\bOV¿Cm=\96´Ac¤3ÁÒêVÇä\94r×o\14»f\f/\9eÞã\88\92\9f\9e\7f\9a>Á`Ðù{áùÙ\8d\12~\81néw\aU]ìÆ\96¨\0×q U\0\1c©Êõeª\0Ò®\16 Õ\b=Í|\vW«hñ\190m:HXÐ!\95\9f\9eAE\0ñºÏÚ!v\8cC_sé\r¦\95´-/ÿ®ûIäû'
+\v\8bdhË]Kä\10 ¹ê\17}p®â'Ô.¹\84û-\97åÆ\13_íü5Xd0Ò±[\ 4ôÊ#èV§æ¼C\94>\8dÄÓW}ª±=\84\13Û=\82w\fÈb³¨c\12IªÔV§-U\81çÛs,ö
\19Ñ\1a\f\85M\87\81aáØxö\15v\13»\7ff½ìtîß\85^ö.woe^õ\84îßã¯z²wn¢ÁêyݽÊÁ\r[únàöìf\90>,WT;wâµ!\97~U}\82*ý¯1Õ\8d´-u2\97{ᥠÊu\19ùN\8bgm\9aÕfVÖ\9cæÕ])¶övÿ$Èù쯶¥\ f6,\93ĵ.\14\82Vv\ 6\1f<«*>m\ f\87\16[\vJ»5\86Ýæ_µì\f_öý±Þ\93Apã\8b\R#Ýññ\80ÄIÊ\8e\1dpM\\14nr        \1cì\1292\91\1eíÅ([\922   $w²à[Ó(¥\8cëZ¿ãÝ·#úØ·U"þG×$Ì7cô\96\98¼dÆF\9a C\ 2?,êÁ\83§ï\9cr6oß½â\ e\f\r§>¥\8fØ\ 4k¦4Ü\12\14òÁ\1c\1a¿©c¯\ 1Á§
+\96>pó\88©cæ\ 5\9bÖ¥¢ùEfGÝi-ß\v¬"\81XD½f¼,\ 4\rE\89ì\14ù\85¢\83ú#_\8e\17Õ¬\9bÙ\82½© \86ZÐSìgº¿\ 6\84oK_ñîȬÖ}ÝÜõ\ 3ÂN÷çnÌ\10\9fC­b¥\r»ôjÄUþ\9fm2Z\fÄ\84q=\90³\ 2àñ3Ѱ¯-Ô¢\7fªx\89èÕ\84þ)s'«Ii\1f\8b\9b\97q\1aS\14è\98ä[ãcÜ*T>TÃÕeåeö@®|¨pZ°£·Õ.\8e¸\v\8dXUv\eU\1eï\9f\a\b_øHù\82¬ë5\85Ð\9bÕµ\e\ 3\87*\e\81!\8f\80@v^¿x\12\ 3W£D\89\ 1Å_\12\9d\ eóúW  \ 1Ïki\94.°Ãl³²8Ü|Ъ\829v#ç\84ôu\81n4xA\1cB´Ä(!\95\ 6Äq7CÆ\1c&\eIã[\8fºúyFxÜz\8eÏv/)¦\e!ÝRX>u\1eÈ¢¹U¬ïÄ÷Á.\1d\ ftÈà2\81\85BÖóL[¢®ÏV§=Ü^°\ 6ÑÒ2ÉO!vÿ\92ö­hú;&\ 20  \ 1       lÈã9W0z8\1d?\18d¬{\f\eí\ 2yë'`FN|\8fÄæP\8eeM\9aCÝ[&\ 21Ñ1~ÙvòÎ2òd\82\8d\11\82\13\0gæÉ¦_QÁM&\9d}G14\9a\85õ\17\84â ¤.ù<\9a¥õ\ 4\95mZú\8c"\997+ê\1c©\93Ò¯¨ø\14ɺ_Q\94U'P¾£ÙU'¦_Qæ«Ø÷ÇÔÌÚ½\8b\ei\ 5w\ 2\93X$ãJO«ïG\ f\1fc´zE\93°\1dQ\16SÜ%\80\15\99b&XæEÇ4@\8eÊHe4\85Â\90N\11aæéæZÁN,#\0}H\92\1dãG312\ 4Kö¢\97\9f\14¾LºoBb«o\8b\ fWùCcµ­0ý¨·²Þ\85>\ 2\1fzØüª£ò\89{(cï "è\rÕ\ e\18ÁÚ¤\8b©Ê\12lìwCÑ3ï\1a}N; C\97Ãyþ
+,Xª\99\9eY á\14ye¼i\ 5òµ¦P\e\11>ί^\89ú
\8d~\93\83\96ÃËÔ\185\89Ø\86v\b\92Fº´\8c_¦¥1\1c\1e\12ø÷\ 3\9c\89\83\9aþci\91W\8e\8f\8eµ^áîñ\89àÁÔ\8d\80}\bwxÒI\1e»\b\a¯õÉÎy$õJéb\9dÄ\90\8cÀ2FLѰj¨t\15¯Ò\8dF"ñ\15~\10Ç|ò«ã\85Fú©\9eAîô|½\94\82î¬\r\1c+ã'5)V[bíÉ^E/ÇpÁ\98à\ 5×»\ 2\82J\95\90Ó\ 2Ó\9cÿ+)\ 1Îöý±\842çù]h\89[Ã`C\ 4ë\ 6"\97\8fì\88§=Z\18et½\81\1dY\8b\8c\14\15òü\b´²áea¨k\94ÒܵYB6<ÿ,ôn\90òURìÍ­\97\vÌ'\a¼î\9bÐ{\0\8bÐnE¾\15èâ\17é}\10tô½IFx\\9aÁ¿Í¢Lp\89*\r\85À°u\¬\90Wfî\1aÝÉűԮ©\ 1oÎÈí\ 2Ðg\ 5\85&¯?(Tf4}U\14\1f\8c[ÕJï\ 4\19}\rÜ´Å÷IQh¶»ÀßÜ6â«\91QnÉÞ%_}º"\98[Gò[Ä+\94dVÍ¥µE¯1\82ñZÿ\f\11:£µ·o.\1a\vwqxC6¢\96íÔs-\92°©N6ØdÛ\87<¾ôÓXò¦±erÖ\ e%\91\9cÉÕ¢w\18+\88CfÔÒÞ\92\84#\8bÏÏ\b"ÓK¾UÂÃìZ|ï<â$«Jâ­0\83I\15¦\80\8eñí\11in\9f\83\88Vêg\87åð"26·u\99¾¤\87\84\82þ\19\19\14æQ!S\17\84\1e\ 4\91á\7f°Nd\8aÍHû\9dö
+f\v"Aõ8"I\ 1\90=\10ϦT®Ñ\r\92\ f eù"T\86\91Bý-\98A\8b\97@.\e|\18Ugn\18ßΡõ¢Ë8X©ÿÚ,\9a¥\bpSÒµ,Y/ÿ¢,\98TÔ«F\ 5S/®\1eú\17¥\ 1ï\8aõ\8a\1ca\8fI¶³ª\98O¯V\99/\87²\82϶H\8b>\e\0\9bÎÚ5×sö\9cÑÆãÉë\853ÕèÁ\80\9d£/ü'hòS¡d\9a\95Z+Èøýb¾Kt\7f:éÜô×E\9fغ^Ó¡Mó.\9bÛ?κSÿ\ 5ÓÑL\83ó~UÒvÍ\9b\91½\94*\87\91\8e2¿\9d\81jzl
+\17ý\f    ïèW¾¿ðW\81\rù¨]~fÇ\9eøÑ½h\ 5°Ãž!¥ÓZ! Ýú"\95ð\85Ã\ f\8eã.j\1dù\9f+\r÷þ"Äv8q\84Õ\19JàHg}1\19ó`|\ 5£\8cGé,é\ 3)n\87Èð*¿\91Ï\15yé·Ëô¦\92}½Ê8\1f\828LA\ 5     ¿\80\84üA\ 5  À\14'k\18¿KÀ·3°\b2Eábüàd¿Oè\80Ø}Êã`\9bõä7~§Ì     É´dÇ\eD\88ï\9e_S\18\8c[ 8\bú?\v-Äû®"÷}\11ØÍ\93½Ù%Ñ\1aC\84h64O}Â\9eó\91ÂW©Õ-jþîïU]o(5Z?SvEè!þ\eVõIæFü:\9f\8aâÿ4õÇÁþSË\17e«ó\a\r\9d²¶hf\rx\8c¿cm\19\8b\98§ý\17¼Å(ÊÌ\84àØªE#\À§Ò<ô\81ÓÅ\9b6#\94Ì\16ck(\12]äÁÆ(÷d\9dÐw\9c\aK\8a>¯Ô-ê\87.\b\898\1e\9e´½\80#\ 3ÈpÚ¯Ò\ eûu\86Ý\ 3\83\8f«Ù\15\r\85Ý\92ib¾­\9bØ\89\ e:H¡¾ë\83'ÿE\93Ãç-ÙÛ¼\17\88\f«LB¬\ 6\99éù\8e\13!¨üÇ\ 6¡\9c\13\8aÔèQ\8dZ,Çç\85;ªâ9Ýà,\14\88(`l\14«#;°R2JשZ\vëÔÃ\a\8f^"ôz¯\1dÛ\1cØ)`Sø\82\9fÄ\8f\b þ*õ1aàW\8d¸d.\19\96\ e\13(©éAa+ÌRÌ\17\99\16p2G»À´Èÿƾñ\|÷*õÁG£ \97Għ¥èé\10î_\82ZèY#©å'Íä L\90?h"ý\92\8ex\85\9cyvkOÁ\9b\9b\1c\15P7Üfí\91¾äÛtlT\ 4öð\93µª¸aqlÁ\95 Ñx«êÞ7­7\91õ§\9e}\f¥&\8bò³\ e\ fëf\1d\ e«0Icë/O\10»\12;\1cý¹ £`°ýÇ´\9eq\91û\8aôã}ö>Ø!4\99äÙo¦õ\82\8f\14È\1eÓ\99
+kze\ 6¾{\eê\9eR\82\r»A¾©Å(6
+\88o©IJ\ e\rõ.)A\ 6lÚ7ß\1c\85\ 6¾©Fûå\10 í\ 1E\eï\9aB\83\97\85\bß}\ 2\14\1dx{\8d÷ÓÙÊ\8e\ 4`³¯Ó®0%ø¿\19ãQ\ 5\rù\8f\9d.\14^Þö£\9f\rìõ\ 4=\97"YùYÄË«IW
+P\89\14Ç\17\89FΦì-\ 4\19ú\a\88߯¹©ÉÝ\9b\ 1Ð\1c\v»l\82U\1es:­2ã1\^\84ùìêj7F\r81Ç\ea\1d*D\e¯\80mrî\98\86¿\0û\0\1eFèÃä^:ø#.       «\82Lýýuº\84óf Vb\1eTT\18&Õ¥6ø6q"l?W1\v\1c¡û\8aå\ 5\82¶Ä·Ø¹\9f]vÙ"AÜVĹv\93À\13H¡°\ 3\aÂû¨ßz\94Ê\a6þ Ì\8bIK\16À
\8a¯}¡W\9bþ\95zF\ 2½#v*¥ù\94ñ}Ä9\80*\7f¤*~»üL»¦ÊÊi²ë\1a~uÀ`\80\86\84«\87\86+\83ïÞÐ\ 6\10h_Rh\1dG\86LG\86\17\8c¨+\96Ù\16\8cV=\1aдW/Q\15r²¹\1eui-\95\89\eÕìQbLDÍ#²²a.S±\90\8e°L^Mä''hÈÎ\ 6\10%\86#\99wV\92Yû¹!E\9e\84J\1a¯~\143_'R-;QÆOY+\84\0ô\91&K}CÈC\15\0\87e\0\86,įÎUØ¡ ÌÜo"\87\0Ó;3:¦\90ÂiÚu\8d\14     ¦3ªhñ0\9a\ ek®!íÚõ\18Á\1d\ejWFÓÔ\18ÏQ0\98jj\81£»\92æb<ÆÝ\92\8dr\ før¹Iòô(\9e\ e0Õkgr\rÔÚ»Ç\1aïF\9dÜÊ\95ʾ\1f¸â\11ÜÉ»û\eæá5\9bWj*fMU=?\95ò=}Êpb\86D*Û\96\9aÞí\ 2°HkzCÓ[\10QL!æ\81laï-þñ\13\17Ú\1e!M\ 4Á\r2'ÿ\f\ 3ñõ©\10Ï\94Ó5*2\82Ù¢s\90B\80\93é\eª)¾òÏ\8f\96n=úYáïÒ<ª±­ð9\19Ú­×#ºAãòÞ%\1d¨/\e,\8aÂ߯ÿÃG¯ÿ\ 2Ë\17\9f²á×Nêì³\1d¸¯\12å¢\857l*·Þ\93ÿ\9aàörÆ¥^w¾yÊ\eñ\r¬ñ\aº~,\7fTÅp\r\8c\8eÞ\v\14f7             â\1c÷ûÂÜâ\a{º­ñg¶rïr\95\84IÚZ­sÄLnÿ\965åbÏ[\9bû\10uD>-n#­é!è?ò\11­x&ý\0BÉý\0ù/þöÄ\10á¿ \9e\82\84óà!\11£áj½ê®mVïÒrZ*\97~\7fί¼æ£Gм\ 4(v\vs\e\ 5¹}\82Þàww.\16d#\96!\14\7fÀ\f(z\85Ì\ e©wÿ¿ô\9c\9e>k\157)(\ 3ºµc±x\8co[O´p7i\ 4\bÜû\0\ fסÛ?\94Y'Ü\8c\8a¿ëü:\12ìo6-\9e\aß\8fÔ\aϬ`âK\15\8að\87ýû\ 4!÷î[°»üÆØêhý/çÉöÿçý\87\91\90Êä²+ÿNë§#Ûãq¦0\ f;\86\96ùáÿfOë¯ñÜÁ°\8dZ´¿2\a<Oÿm2\97\191\8a\96\97\9f8`ù\89\98\9cÅËÌ~´_¨\9a\9d5?Ï\8aT\16R7\1aW\7fN\10Ë!\967\96\9aÅägÎ\98\9a\9aÇÍ\1d-\91;\19\8f\97\96Èâñøã¯8*JrìmG=\99¥¦;\11\9cÎS_\8bQQe»\9a#³½:\89är\9eà&i3\99Üïvu\10 OË8¤¦:ý~;·E6\8eÆä\8bQNQ~¥\a\1c\8dE\7f\96ËÒfR¨®n\14/èN\16£AI|\eù×Ö4*{=\99ÌSg)H¨\95\87\95\ 3\f²o3HCc¥ñ7é¬~4­\94ì\8fw\9dÌ\9dØ\9dq¦,r!Ãÿu\1fGÓûéýþßÖJ\a^\8a2rx\89\9bظE·aðj\98Z¾$Ã\9cã\90»sº\9aàu³Mf\8c\8e74à\99É\95ÁB\r\820\16\85\95´£\vñ\8dBW&fQþw¼\ fªü0ÆJ?(©NÜ\9bÖÇô5júÛü\99ï¿\80\7fËûå\9aÿæ\9c~o\18ߪ)ÚûS åUàYU`\7fj=ûÿý?hå^\9f\9e\ 6u'\9esp\ 2\eØü|Æ4>\8döà\7fÒ\12\96w¯¦2ÿOïþÊÍ|úoc\aÓûÿðýò¶ßó[î(\b\v#d¿êÛd¸\7fÏýeäæ?Ò¯4¿,d¦68ÕJK\9bWÝÓ|\97\9f÷ªh³¦\98\89|³y¥ñªccM\86\85Z\97Ã\10}\91éV\8d\e·\1fýõ¥û¯½µc×£x\e\0ÀµlØ\9fàÀ`\vx\ep\ 1\ 1\82\fÞd|\b\19hS?N0\8aö¼ïËÐ4·4º\98\8c\f\ 1·q\1e\vµ8H&\95L        \83»      \14ýpèú[¼\f
+\88õ\ 4!õC°SyRB\1a\10Á*Ê*b¨4A\83VÍY\fta%  {\84!\ eô0\8b\1a,!\a Ú\17¯\1d½\82i\ 2ü·*µ\92ÐÒ\86\1a\1aù\fC\17@­rµÝêçË\82\11x/\ f\b>ɽÓ\f\83\bv\0ÀÝ\ 4<ì=Î\1c!ÍÌÄLD(\88\b\83inSW(\8b\90\\8d¦\89ÈÄÄÄ\84I½ÜTüTlPE\1aâ/µ\8b\8a\8b\b³{{\9e.ç      s\v\99¹ÈÌ|bøÀ\8c7;\1aÞ5\84hF\85\ 5ÓêÝ.·G×@ÉÝtW[µÕõÔ!£¡£\96G>\8eO\ 3äÆnY\8c³\13\18\83\13șÙ\\84\14GbNNp\1ci÷y\9bº\9b¸]Í£¼b¯
\ 1x75×v]r¾¸:ã~¤\7fg\1e²<#Íî/=¥æ\16ò\17\93i\19ã\19­f\fÃ\vzìoOß¾½\ 5é¥á¡\b4
+\1e¿G×\90\87_\ 5t\ eÚù¡¾G_\1f_\rï/¹+íÒú\17ÓiïÓ×èËð_\8dÌ5\97j\99¨57?\7f\9c¿ÅßÂþn]¶!±­\81±½Î\ 3\1d\80]\80#Öæä1²\10Â+}»ì\8c\9c\89\15\99\10k\81\94À\90\86\ 4\86\1f°!\ eÂÝk½àïx0¥}\83·1;\b\8fõÆX¼aC"\19A\0\13@\82ìÏ* \ 2\ 4àP\88\0\93¥\v°\ f>àkh)â\8fËx\90®\9f\fÀêÉ\16X2AD:\98¼Ä\ 5\ 2:,³\97\ eØ\ f\1dS\8cbC&\14aÝA] \9001X<Ph\0D\9c%%Ù\a~\1e)\81\8bÂb <`¿vwîÌ5O»3\ 3´Àö\81\9e\ f\1cÀÆv\18Àð\ 5+\8dÁcB\98<\80¾c¯\98àÕ¾Ç\18\18ü\0\80Ñ£É0\eÈ7\ f\ 4vµ£\90\91È\ 6|*Ì      ¦ÓAõ\84\1a\10ómfÃø\82±?ÏôRí§43\88·½0i¤\1d\8fÓãP\15\ 6\ 6Ýó´_ÖCõÈYþ\14\1fûÿ\7fytÏ\ 6\8c?çT>\85\8bD\1a/̬¹\bk\18k\15\96\85þÆÿb\1e\18yHÂ\8fÄ}\83úg\9aú\7f\7f»áÓao\91î¶_rà\9f\96Ëéq¯§÷êý£Ò}\9d&ÛÆÒhôoøOÞr_èé-­­´2L\ 1\84\96\84¼ä´2Ba¡`\89\86\84 \ f³\8c\1e×o$A\Öü$ÏÄb\ f\93\aï<m¶ÛÆxýz¥ú!\0D\ 4\9a@\aXÃÈáÛ6ξ±ïs\1dîc1GÈ®ñ²R|\9eL\9eKÆscgmgbä\r])m(¸Ôw÷\83£\93\8cD\0 \a\88\ 1\88D\0Ãá)\98\10\ 3\0É}\1e\8fFT9\10ÏÒßß\88AßÞübÛe£\81ñͨm¨[$
+ÇaÁ¬\bóß\8e\8aaú7õB\ 6ÿ\ 3\92\0\ 4Ý8\80\17\16\b\84\ 2\vâ\0¾\86Ú\1aêu¢)ÀêýìccëÄ\0Tùÿ{{\9f\ 4\80\1fð \0é¡\10\0\81Ð\88\ 2@D\16PgÉ¿\93\ 3@µm\ 3$«[\14\16S\96¶ëcd\80\1d<ä45þ×\ fâähA¶u\10\ 6ÆSïVÉPïQæ \v\ 5\8e\93\10\aº1\vZë5¢^J\86ºÌ@\e=k½Z  G\10\ 1Ý\8føyèV\88\0Ã\ 5t·ÿФ\0ðDWëTAfdP\ 1á\8a|\ 4\0c|>\1f\ eº\9c@\ 37½µÞïD\ 1ªz\11\0ut\99äsr>y@
+ËIf\16Ù|Õ>k/l\8f:\17Å?ö\8f\94\1d!F\11\b\0\vÎb\90\ 3\8f¹\aÒS\88\ 2Ü\1f$\0â*ô@\1c\ e\vá\88\ 1f\8a\0l:I"­â\0\1c\91\0$\1f½O\1c\97§ÞØçc\85³ìQUÑÌ\aKX\0\rY(\ 2²m¹¤SÊ\0V\8aðD\ 1­ôám_©\8c\90"ßNP\ 5«S¤\0ý£A\10\b\7fÓü \r,\7fn\0Ñ\1a\12\89@\ 4Áï\14\0¢µÂïå\0$\9e|¥íHäòT\82\0¥\17È\80/?B¶ÎÆ\86\93\f\9al\19Ò²r\82»ä\8c.Ä@\18éIÈ)ª \fæÞ\8b\80\ fZüZD\0       B¢\0ÂÒ\80\164ª{\10\ f{>yUòÁà\186жl:ó\ e\b\0\ 3 \80\0½b7ûjD@\fÒV¤P\ 6\91ù<VÔV¡\1cÙµ\8bfÑÀ\94\ 1o"en\0¶²\80 ¾Ø,¼ü·ù¦c¢¢ÿd\8f\9ffÛOdìï\ 4ï®v\8céß\83È;2û\eg-g?ËÂrgìÚ¡Àø&ßü<\8eæÚmüÛÿ)õ\87À\ 1W\97puaßlïºqçz'm\7f§cÇ^Ý\96V\1fþò¬ò¨,z\9dæ\9fÊ^\rïSµ\ 1Úé*ïE\863Ää|;\93ý\8dç¥1°6VH\f³\1a\12\87èÆ\86\87\91)ÀÈÞ×ÌseµþK\80Yb6ow²íÎæJ\85\8aÆÍ\87ÀG\9cÅK\1d/\9cÍçrÔݸ÷?GE\8c­NM@\1dÀw`î¸p\81g¾r9ônYE\939Ky°â\fó®¦\9dãÜ\d¾%Ð2i¿6\9dëSÀìVôÿQF\ e@s&/#V\97\92vÅ䦺\8a5\13¸ÔNî\96ü\88\82º[ \88V5\12·DR\17[~DH]QAG"i\1c\89¤qM#ã\8a\97\8f»"wv)ßà\84s«:ÆìÁ]\rá\1eмf9k\9dÙÖ1,\18J¥àlÆ0\æ¸PrRP\fuËÎ\f\ 4ôqÍ\1c¥\9c¼Ìg.Bc\1as\ 6é Øôb\8e³m<Èã (ìh£BVX\19\8cÔ$\0Þ(Ç\8c@é`9³
+\18\b>Tx\8aÁµ¡%º\80bÚö\1e.@/r­³°\f}L
+&,5p\f{ì0Wd\ 1´¬®º\ 1\8fe\87\95m\97­\90\95\95®\80ctÇü¦>\ÿÊc\9a s°¥×I·s¾HÆ9=3\9dð\98êì`\18¶W\8314\82¼Ù\8ap*ë\f\84\92\18¿±V¼Ø\895s\ 6ÅK0Á\98\9e]\86lÅS\f+\fY\8b\18ô`¼Û\965\84Á±mÎÁ\98¢hìÙ\8aò'V\19\v<w¸d>HåæÄöÇL\es¡W5\10\19f\ 4á\978\9c3
+é"\ 2\89\818fN'\ 3Õ÷Ñ\ 1\9c3G\13\87n¯]\10\1fQ\818w\a\13\85"½¤@fØ\13\87rq8g\15ÿ,@gX\13\87tq8?¶\7fí\b®Q-\1f\84P¿ê·ä1Ý\18a«Ó\ 2uÄ<\1f\b¸Ò\8aã-@)P©{\ 3:\88Ŧ+GCt&\9a`'N`(5@+!¢£ULç)N\98Ïå©\1c\12*ùÎäî×=\99;\1fÜÒwma\96\ 3HÅ`®\110\e\98¿^\9a\9aí» °G¦#­Õx\11,¼M\9d\17\85
+\0óç\95À\ 5\ e[\ 5ÀÿýIöäO°0Sù\{}/k¤ê'Ú\7fr|Yü­»?rDþá!\90\ 2\91\9f\87\89³×¿\v\94UÌÔöéø\18Vd\r\97ÿj|Yü©\86\ 2\92³ü\8fU>Ð\89ýËð¹õ\7f[÷&!\85\18\11\88&òà·üj=L\17Zl\9bHlÆÐ\8dýZ?\98F@\ 5°ª:ã'\ 6\v\ 2\v\8e+\84Y
\19ró \82\8e¡Bô\8f"UIa;\1c,\9e\1aS\ fÕ<\1cn\9fú\97»ÜTV\1c\9fì>\1c\14CÇ+\85\89hº2ý t|\96\1c/qXr ïdA\86\1c"¯x{Ù8\10\95ï\ fÕIÞZ\1aªêrø\96\97Õ°÷\9bÜK\19\f\12û\95êûu;\ 3\84S
+Ê>å\19}m \rwg\15tk#r¹ß\e2\8f\92Ã[¬`\8fýB¸UÐñ1\91ÇG´¿H\10Ý\83\1d\95êÿ\83Ãß°\18\ e
+\97EG.\87\8a\8c\8e\89\8b\8cºG\ 2ukX+Xµs\ 27%ÿ»UE"ÿçB/#ßÁ\7fúî£ÿñ¾h?õ\1d\15\17ÿ_Ó\7fúî£ÿþÔÿþtý\ 6H'9\16\7f¯\82ÏÒÞ¬pÁý~chF~­ \rP#\94ra\v\a\1e\1c\14(\7f\ 5?Yú\93ÿ²\10­\b\9f,\8fõ\90d\7f·\87üK"Ãÿ¬\9fëGÿ÷'Ë\17ñ\91þ³è\8bÿ÷'ÚF0$wÈ¿ÑÁgøøeß\92WûtúØ1ÿ*þÀ²\1f\9bG\ 5\9fÛ§Ú\7f\8d>\7fÐ\9f^Tÿì\91ý½Ù\80k\85ÿøÈ¿ü,¤\aÿåj\7f\e@ä§xü0ý_×\ fþg÷ÓÿÓ\ 3òFü\89õÖñ\7f\96·\8bü¯Ncø\12\91K@_åzÑ\7f\8f\9cÄdNo\8bÇLNbæ'NGõ\106\ f¬¹\90}\1a\1f\96öW\13-\91\96Êâ1\98ù~ÐíXE\86]u·(B\era¦`0\92\18\ 2á&[J^¼vã\ 19Ûæt\ 5ò=\ah\97t\99\9a\µ6f\88é±ù\99
+\91\f³\10ã·¤¢;\1cã7\97ÌÒö'
+t\88Ó°\18\16²8\13\8eÀ6¿È`ïò\r\9ba\ e:BC±m\84ìp\r¡\96bf%ñøÖø¼b>GF>hìN.nZnnc\e\88ÆO\9c;ÐxÅâ1y\19\8cL2Ïé¿t¤V[\rû¥\91K     _\8b~æÎ\96¤¤:hoÞNxv\8a\13\99¥Ï\97   _\ 5N®L¬»\1cVP
+\87SqVÇ\ 6%:\94ð\90\8b\rZ\9d1\8a\14C(\851R\88¥\13
+\17'\99O\8cOÙJ\9bæ\14\1d\10\17uax`\18É\96÷\1f<dß8\bp\ eÿ\ 6:½ÿÅ\08JÀ\9e8\eH`pR]\8c\9c®#\133ÙvxÆóY\19Éì\97l#Øõ¨º\ 5·Ôë$×\18p2TÄ6i\9a\a!1 ù4\90`\13îýRØ<õ1\81ì\93þ\81?ïU+\vEQ\ 1\f® \19\13ÿ\80'þeZÀnOþH\9fú"\7fû¢\7fþ©?úb\7fü\ 2\7fÔ¸2Õù£¬\9c\91\ 2oÒt¹°¡/\8cò\12©\17Ä¥Î$ºÉñsQÙ$_\18\97\8dà»BtE\97tå \12]91.påæc\9bºY³Í\12^nu©\1fëaÕAÇå®ôÖI\93\93\9e\9cÛ\9aedçà\eð\1a´\9cÿ\19\8bM\1d\98\arLNlI9Ù\18ôÈâ\9b÷¦\83\ 4\92ì\12K°I.Á$»\ 4\92ì\12K°E/Á8\8b\89\8aS{Ç#±êFÄfâ\ 2ÀÅh³÷*Ø#ÌYyA|É\ e¤#5$\8fD:\92é!6\85.\7fÕã\9c*T\16Ïý¨Â\11W\86\ 2<\v\b\91\11\19\12\8b\88\84b\Ëö\f\ 4É\8eH¼z(ph\91wïÖo-ò\0Vß³ÅÿÂ0¶\ 1w\1f\8bÂc¿nTAþä\ 5\ fúÔ\13¿¡\0\1c;1Òn\82¹7+`l\80V\190S\82ÅÐ\80\19 Æ)¿\ 2÷a\b³þ\1f\18XE\1f׫\1dÊ\81\9eÌÂì\82Ô\90ü\1d\90_'\19QÓ«þqcÃ~\94\97ùΡíÖè\85½O%¶äp/ý¹\ 4«\13ö\ 1JZ&\19U'ú\10\9fø9\8b\eç4\99T\fªHKìeP¸\ 2çÙ\aÏÑgG¢\86Úã¢\87°¿ÓØä.\8cåg¼_ÕÑ1\8ch\18.õ2.v·\ 5Þ¥\95~$"f­2DT£Òè[\1aÐ#C¤OèÐÕ\99\0\e&\9b±ð¸Ëý}2Ü\88ëVx\1a.#×ç\83µ'äåÙ\16w_à\82i\98F\94Ð\91\1dô"Í\#OV\12#}\b³Ý\84h­dEÑbÈõ\8d&\96DQ,Yܬi­Y\11÷\16,Ù,iÈY\11f±a°­\eBÄb!Vc!Zw\90±\1a\98U\9e$+MÔ,Gà\85Yc
+ÑrØ\82[\88]ï½bMÙmï{Þæf\18`f\0**"\ 2LUW±ADPXIW"²E\0¨à\8c\11\96NÉéd\9b.\1dÅ\96I\17¤ÅPïo\9aúÛmõõ\8dÖFOVÉg®*A\ 5õÇ0Á\ 6-b\v=*¬±\11V~\1eª2\11À\ 1s?ÿw0Ymæúï7\9bðûäÝø7Û¿\1dæý\9bÎnÿ\ 4v\83ÞÖI$rXåévl²\8còN\19Èù¬Ù"Ï%í3\91¯fÉë<\97Y\9c\8c&l\98Çd§c¤tqÌ©#²IGHþ\bæ^ÄvK\8b\1d#òÇ2ÊnN\1f\14\10Ì\1aU\v\19\15å[°pc5¾þ¢Ú\93ísL\89Y\82\83ø¼Z\87òF%¹\97¹ËµkU\17ñ=a,H+\8b\aãâ\8c/û±?ÒÍ\82wbdX\7f\10\b\7f6'n\F&§þlOô\90\99½Þ¶ÀX\9a\ fû¹?é$A\90\99ßûb})z<cZ\16¿[\12^Ýwõb\7f¤±\85\89_ýX\9fé/á\96ë\b\8cJïùC\8fû1?«\18\88¦Y\8cľSºÄ\9b·cÝØsO÷r~©û}ÍV2Z\871/;ÝbNÛÆ\7f\92 Ksè¼ÈPÿ\17&»nËþ²Oÿf'ýd\9e/v'\91º?übYÿù\89\8e\8b\17rÿùbz£\17rø¬Ã<ÇØúâî>+\13ÿ©à¯\94+Ñ£q\88\97\9eJKërm?¬]äèJªH©*¦­d>¶%k%\96y]iKôÜB\8aqîÄùÒý|\7fýùËb
+ÿ¶êJ\8e¥ùëÇô-S\9b\12&<¤üÅÆ±3º\82÷ ²
\aÊ\1a«\9f,\88'ÌÅQá îkðÔkc¤\9f*Ú«½©AO¡c»ð´~Ý2\14OvX°à\1aê4ø+ñLÎD×»¼]\84xpôN\97\91°\1d469
+æý"}\8e¡;7\1cIÌu
+\r¸\1e\9e\85\9dk|\ 2}GV·¿'Ô}k~Ù>\9aV·Â'ÓZÖðIõ %\vû\8a\95sè[7é\v»'ßX®v0~À^=«~ÚûVøFÚ·ÀNÕ½ÿ\99\v\eVý¢ì\17!Y
+\868ÒµæX2\1c§m\ 1×ô\\89E'¦ÂOпN\9b´ÒÃ\ 6\8e\91¥\85­÷Î¥ú\ 3ä_\85÷SUN\84ûpiµÙ\94O¾³\97HSji\14\83Ð@|=ÃP\8f\15¥\87q\vï\9c\9e¹¿Ê$ïO\ 5m1]¾è ¥OÊDmR\17Ü´\17
+\18à$\8eïÊØ\9a(3íû>¶*·MÜ­ô0TçÖÔß-\84\95©°ùP®Ø\ fàJ ñÊàa\16\83½\87d¤f\92³/=M\ 5¦Ò¦\1a\2óÞ\86\ 3\1c4\9f\97\9eÓvÚzú\18il!\16\89\1e'qéerº\88\ fê\ 1\15ÿQ¬\16ðËFI¥\83{íü|\eî\11e'Ä\85ðò¾uGó97¾d\85fÂä`+\»\84Q\9bå¦\83z\9f\12\80Ç\859d\95Ù\8bi¬¤mþü¤êpRTÅ/PSæS\90\82\94×3o\96"ûÜ)ÓñàE sÕd·\ 2ÝèªÆÅ:Aæ\1a±/\94'%Di~1kx\b\92W\10­\99_¤ª«\19\82÷\90ÃÀÌÕ³Qý/\a÷5\ 5\15\92±ìµ\vùá%Úý\17âpùí{XÓ÷_F7\81\18UõÕ\93!0\1d¢y\e\ 2É\ 3÷IbìfK\ eæb­qõÑ÷¸Ýl\ 6-M Þ\18³\1d\v\80¦Ô½*C\85ª\90\ e±HøÄ\81 ðsn²\81¤-¥\87Ò\1e»(6f#+Lö\9eU
\v\99\93
\1dYj¼Iª\89SÔñN©Uvô Èw    -H\90\8d(:qMS9\ 5S]üEÿÓÅÐâ5Ú¹\ e\15t\80zÅ#\97{g+ÂãJ­/\83\11\8f\8b0\ 5ïxÒ¼/\8eT5e"ÏzXpûhV-¿çÄc\97ÑRÒSPIk\99jC\ 2L;RúÅfÃÍÉ¡e©ò\16Ì¥Y\89ÚÊ%h-\ 1®\9a6\83¡^[©\14,½¯@|²\v `é|N:\9d\1aÈ\1f\9d\18\82\97\a´°Õ\9c9¨¹éú«\8fOV¼\8fa\82±\8eíc'ï\9ds\15Ç!HG        \97Í:43e\12\94\1fÝJ\ e\ 4\8aù`!MD\83ѯÒ\11ùÎøª¬ùUC§/X³¦ÌòK÷\fâ\16$\8c\9bßóÇp¬ñÄ\84\91\859\8dJ\11D|Öxî\15®9\ 2\13\ 4Ú°\1f*|\a`\86õC­\9d"P\12Ïß9è\1e\9fÙ,\89\8a?@|\8f\8b¾è        \90\1fÏÒ\v\91\86\8aN'\86v\12'!N®n7átugÂI+\ f\88Ù\ e      &lúÒµ`\85g¶\97\8e\1aâ|üzX²JàÇ\84{\192J\82£ºÄ!L\1e<"/\1a\ 6\8bÁuÝZãJ"\92¦)\16N6\1dcaþ/Äl;Ö\96]6¥\a§\10; ÖtAÄ\1f\92G\85øå\83§6\89£\84c=\959\81AÚÍ¡ú\96üÍ
+.\ 3§\a3Âí\92Hï\15P\16*.J\ fÅ=\16bq¯Â_%W\8f#\12ôl\16C\83\9b\1c!$¡9\1cYR\a]\80\1dUZõ\8c(¶¤`ód\9a"Pÿ\b!<,[ð\93AØ5AoÄ]hRO\fß\ 3;=\10\8ftXàÒz/\b4sh¯\8b\16ùyáÂ\fHñÃòf\83ûgB\9b·üg9\ 5üÊ+£\8a¡W'H\9dÀx$n¥Ön\98Å\95¾Io¶¨®\82ü·XØâª\95Ĭ\9ep_fE\13B\8cGUB&ä=QLÃÔ\86\19ÜÔRnê,:}ÞÛ©o`\8f¶©oÜ~('\9cAèÙ5¦ü*ó\8f
+\r®GqÝ\87ñýmGÎ|¾\9f¡ên}O\83Ô¸õ\1aúºßW²\94ó¿ðwÄÙÚm<­¬em­n6º\eÎ\ 6ûca×\98ï\7fPïñV>#òüÙ\85Þ®e¯Ý\98\90öæ1\99¯*W{0ÛQåd\95\9fÉÆPj;3\1aÖYo'\112\86½ÿ\97÷2\1egÉ1\ f\v·üqQÝ@è8IêNòý\1d·Ì\97o\1dVÑNËðcqsù\ f\87ø¥%ÕôsçiÝ2K\ 4Oy\1dµ\1aºÜÿµ¬\1d*<)]Hr;øsºC³æiÝ1Úôí[\97\ f\15\8b&+>n\9d\19\1cÿ³¬F;?\88Ó¢Æ\888\13\90ç\ 2fA°\96\r\r\1e=VIvÈÅK\ 68¬{\81Ç\ 4Í"xQ÷øö\1fÈÌÇä=ÓË»µ5b|;\10~xç_M|1'Ä\ 5b¹æ²¹¾2\ 5U\8c \9f\<LÞ·Ø\8f   \98dæ(\9cÖY½o \82ÚÄæfó¹\9aò\952¼¸\ 1ôÌ\90L\18\90\8e=` \8e¡\f¿è\93î¦<:yr}2        ³Éô¾¼¨\ 4\9cËÜHÊ\92ß6NT\1e\8dòð\97öì\13\80\ f'\15\8d\12þé\90~ÙÊÖø\98¬å(ãÖ\|E@\90\95\98_}\83£k´Ò"eÜ\a/)[LE4\ 2²3%éfLÔL\9a\94ÉÕó+\95\99b¿!\19¢È2£ÈC¯);g¸\13\ 1\95Ë\ e¸\96\99_\ e\0nOtÑGá99c)/¾ô\803J±\ f9{\96\ 1S\19\86ô?Äå8ÄiHÍÁ\80b,C`q9U^\a\vvzrÝ\ 6¢wÌ\10\1fòÝ\86itK­©\17\fIwS\1d7ÎÙqVò§OeÕ[Ê\9e"%\ e^~¸4ùåcB\87 §\10\eÆB#<?µJ¾ý,#µù@\8c`\vÈæg\1f\aæ\9b±\94ª#\99Óf\95h\rΫ\8f$;q\979`²Ég@+i![G\87%zÛ\11-\11\8e"RÓ^b\8eV\94:\ 6²çÁ\80Æ¡\15²&Å÷ÏØ\94\8c\9bÂ\92\1cyI\9b\1dé\0Ñ$1\13I\9a    UÎNÃ\7f_\84Ðü\ 6V÷\ä ´²D\81ðý¦ÕƲã\83¨©\84U ödX\ f\a2\9dú\ fdG\8aw3E5<:Æ\8bËq5Bø\17²å×-\ 3K~¶A\8b\8d-
+©·Ñ\eó\84ü¡#\86K\0~\8bK¸?F)Ë{ùò\aÏ\1céy\ 4¼Z±¤\ eµd-ÖA×Y_\1e \17b\81¦ $ý¹È \91üäà\eV@ü\ 3ÀÔ\9c\15Ó\90m\8b \bwk\1a[\e\92\ 5\18Ô6·ÖD\fîã0N\0ÔÎ\13ç\ fPKÈ\18\ 4\8d\9c\88áö1\19/\ 2p\ fÌÑ\10
\19\90Üæ\\ 3,ÌVõ´â²1x±¸mü\8cá$_\11\8cÃ`ÅÆáM\87W1DA\1fñó\ 1«#\ak\98\8aî.¦Å\83[\8b÷ÍÅV|ShkVÎ>\84àÉ{ßÈÇãÈ7Tãòò3}\7f\7fis?gs\81\8f§E\1a5.\19|\81Ô-7öLJ·êÕ°·\a+©ÕÕÛ\85×Ѫ²0\93©£\83g¡Fd\92\ e\91f[¬`pK\83fq\ 2ÁÃ8rÅ\8a\14XÁáÐ\8eqY\94§\83g D{9\97Xô®¡# \1e\96qΠôô8Ù£Q;e\ 1\18ÈP6\9f%Öñl÷²¥lådJfQ* ·¥\91\9dÆ3-\16£\90Ûir#\90c\9a\97\1c½é\81ÓÎ:j:ÒR\89\8c¸·Ð\f\1f¾­½Ó¯\9e\vúÔc\83î±K§|&?R\v!ø3a²0\8cÊÁ­\8bÑA\967T\ 6\96\8ej\¹\99\85Ô"Ù\90*©ó8\ 5\89µ¬ö\a}\12\19\8f÷ö\ÔtÄpü¶©\10"c ÜèX\8eû®ª}5\15\1eýx\84Ò0=É×2\84\92\8b\92ù]ñþüõú+®¯Äù\1eÚ|ôî*\Ç2¶\8b¨h6ÇBµ·ººö\93ø\90ÖDrhUD\1c\8d\89\83ù\1aq\f\9ed\fÀ\ fÙ/V¸<Ó\95c\ 5ÿ`hu³\8b\ 11«y[¤\1e¶E.\84\a7\e\94      L}-"|½ùaðçuU\ f!\83ê\ 2O\8fÓÏÅe{\90Å\95åf\ 2\9e1Ö!\a£qÖ\18\19u\87ÇÈ\a\99\80ù#\ 6AÂ8q·´\ ef]ûã\1fq\f \11ê\DG\e\7f@\7f\97S\97üÐ\7ff];pþì¢&'ñ¬\90H?Ô½ûÒ\10¸Ç¨q ,È?8Î%\81\ 4\boe[°ßC¥=?\14ɾ¸\82\19\91\1dHFß²çÑÑ\rU!ÄS\9a\8eÃ\11²´\9e\80á\13®®ò½\90íw\14æSé'ï\9d\19\95ì\9e¤\9dõ\9b\16(ÇQ\aø/ ,\8a*Ë«ëîòÞ\94(áÏój\11óG \8dò\96Ô@X\94+\99åÖ¡\\90ã\b\10mcÆQ\91î¼&_$Ü\186lQ3iôÑR©f\9e\16B\ 5\9b\87Y;ë3\86Y\16Ç"Ô\90ëÐj[©b}ö .\M\15*|õ,â*\11c¤i³ò!Ó«\8e$ÒÔâ\87êÉ"Ç\82\92@êMSCôvÉ,\97?2\9cZ\85¶*Ê¥lÆ-
+e\1f¾|cþ!\91a³+ßÄ\83\9a:D°\8c×.\1f\ f\88ô\e^`ä{K\81Ü&\ø±èÌOäf\14©à\aÅáÔ\f*bI\1aM,\1f³\197\92\87Þ\9f$\94ûK\173ëM\ 2¨\81ZiµùJ$¦§á\ fåË«â(B\ 3\1c!\rb\14\92ÕfÝð\8a\17\92\1ch1áb\90Áà© &Ý®X\80Jæe\ 3\912:ð±J\1fÞR\9cÀÚÍ\a\e\8c\11\e
+Ñÿè\1e\ e²ÔTdZ\b\7fB\93,\19®â|xO¨\v×uéÜ\a\85\96\ e®9ÌØQå¨\94Àß\15}l@ÇÉ\90p¹L°}\18ÀÇK\ 5\\80]wÁÔÉ¿¼c\bD\15®ù\\ 4vYVqbÛ\8f\93
+\1c³\88²°}\93 H<<£Ï\fôÛb£\81þA`\16ë`U\ 6¯¹Ý\82\82f!K4\97F\128ÂO\13z]\19 v6Äâ\83íç\88À~\9cí½Õ=Ò¤\97p\9fbð7¬"\8a\85æ\\80\1eq\0>9G: Íãªûô)\83Á\93Ï\94¸@\ 4qnbU
+\97u\87\82);ìEtÉ\11v¿R\86°\88tÇÃÍ\1f\r\18ô*O\87öZÔ\8eÙN1Þ\14\elèKçb\14u$\97È~ÞÚWU«f`\1fqxmñ¡Ã\95«È\86[*\98Ed<|¢Å4<º\ fÃ\1d=ÃuåX¤`o\9b:7\83·.&\19`Q"°ÄdA¾mÊà\7f\9a«\92Y\10Â\ f÷ïËŧ\rC\10çpÃt\7f.[T\ 6Í\8eÅ\98Ciap\87ótèTÄskT7     ¬\9cU\9fÉ\93\893RH:\ 6D\18e~±\8f\14\1a?¨qÂ\94º\1d\84d\16\82ÿ÷D¦¬qB¨\93ûAé6\8bM\9e^+!©ËS\88\ 5Î<9\1dò-"ã!¼\ 5½\fX¾½±\11º\8då\87\0¤\83¾Ë\7f*ñÚ\ 6αT\81²Â\ fC5ª«\8e\8bQ¡c¡\14\90\9dz\1e¦K»Q0f\94\19\9c*4ºu¯ºæ¸K¥¯·é2ë\ 6s     \97>\95.\8dkåMq5¯·¹eËO\8c\83Ü\80¹n\96Js\93»|\89®ø¥¼\93$\97qqÜ\1fí`\15S\ 34t*`\15%\96/ñå\97Xe\97Ûe\98s²Ìz¹hÏË\97\86\9d³ß«*\13Ó0"Ð\96ÿ\8eKvÆÙ¾$²\9dyëV~Y\11<\96í!\ 3\954F¥Þ\ 47MAÖJ\r¸p±\9bÔ\9dFïhUa½|?¯euÀ~T2y1 \bÏ&\1eÆ\f\e:Ôd\84\8c\8a\14¡Äî!PD\9d&EÀÍm\12L\97çÉ\ 4\948´SÐ\8aÏ\ 67%4ùð/·¹tbß°+êæò5ã\8a°\86\88·1\95åB}Zß\13\16\8eÙºöd\9cG²@\e\e\87FWÃ,\89Àȶ#L^\0\7fagçµfÕ\908ú³S\80óHH\18\96\8e$²ôrõm\8fJk
+ùù\85    c.Ìëçã®\15Äá0\88ð\95bN\12ÉÃÜ>   \ 2\88½ä<¤\ 4ùiÀ=9¤ºF\89;ßá     \97£¤¢¦\8b7¯+#»\97©pë,zr©á>¼^\97Fx\91Hzh\9c\1eÜõ\Å\15\91\85oWm.OOB¹Kðõó¡ös®)x?SPôr\95\11]Ù'9ãâÒFAGñÅ%KÁ\82Ô)û©hU\ 5ÆF-\8bÔ¬@%²\7f\14_uä\97Ui\10\10RÌ7y8\9a\94s\10\r¼\99¥±k(°±fÚhÂs\90[«÷¬C\82{\9c\9a\v$*['¢i4Ñ\81\ 3ÍÞ[(Új]ð.Í\17\12¶aêKhùV#ú5|;»d\15\95\1dDÖ¢{\83(~çy%4Ò½|\1e\91½\91\rè]ÃïC\9fÇ-ÿ\88sLäø\82Z~:Î\1e¦¬³ý\9f£\1a±\a\19}z·Ð긵ë»\98JrÙ\96±ÁêH¢tb\90\bì~ÈØ\16n²U/!­\16æ<)hd\8dÉÔ\r\ 1ÍO\ 6\9aN+¢Ò\91Ñrõ\8e U/yBGA\8e\8eÞj\ 2rZ­\91\ 5\1aì\v?ÚÞIN|'§\1f¼\92=&ئwg´ÝGÙIU¯=(üQ\1di9x8|§\ f/íÃåj}òýô\95      HùÑì8^K\8b\1cF\9f|>={\90\ 3¾Äx/ú\1dßéÝR\ 3¨j^»¶\9d\ fr<úã\8f®Õ\98Ù?\1eA\a}\15é^¯AÿFI\ 3ã5l]Ú\9fe"'\16\91õ§7ðî »¼¡²eü¹ÇX"¨J½÷\95\1cú\r\ fwä±\80\85*ÎØb\9fà\92C\94©?Ä\ 1\1dB]\ 3Q`!o\92s\8a\80¥ÎZëØ\9f\98QÎW\91sâ± a­\89dæ´zþ9¡ÐÜ(\96B.\16\8f\91Ť\a\16G{·\195\8e\87\15D±^Íä]Û\1a¶¦ZõVÕ\13\ 1ØÒX²;Þ\98\18ì\89\ 5$°©óE\90\ 4\eÙx¬úì\8aªZÇV¶\1e\1d\1d\b²Ñºl\fHôÛ!\16Ê(\8cvÈe\9eÊh-¢¢S-Mn#\17w\90\9a|\8d\10fq.\97îè]/WE»I\1f\ 41ÐD\ fÙÐòÏ«\92\ eÌ\9a\14aÚÊ\8d\164)àÙëÝL\að\14+¬ªÆµ\9c\ 4\88\99ï\r\ 5q\b\99¼;\ 1Sw\86_\8d-h\92õ#\81\1fÈÔ\0\10ÙÙº¿Ãs\ 4zÖ+jfÄN.?¼,h\88*\1c8¶W\196ÑC¦V×2_áÌÄ®Ìë2\16\92°\ 3>_z²nT§,«ªq=ê×4s\7f\r-½ã\96\16Ð\9f«õT'\81O\ 3+=@ßGâj\b\ f\88sã|  \ 4\94k\96á\1f\88«É\82é#ÔDÂ\ 1}\83Þ\ 6dK\84üñÈ´¸è7¬\84ÿ2ëé\9cøg9ÊÊ©ÌW\10\1e)Nd\9aXr(÷õ'Õ\ f\1e6\9d¥\87>&\89*ªu\10~)%ª¨PIk±ÁåÉ©   Î$?d\9dZÙߤ`H\14òF\ fPÛÿ®§\15\12\1a\90NEΨ\81`9ã\b=\1e\17ß(ÛóÓÇ\r\9c\19g§ã.=?=|ÛáÕ=é\80¡\99\99áòB\96\8eÉ\89SpÆ\87!\90­­ÕºíSÏ_Ô92mò}\9a6\96\1f\17\82\9c\rúVöÖáW\83u\7fO~\80ç}\1a\95à\9cÀk!ï\97\86Ö4\f\98\12ð*%_¢@^\8eMËtú\ 1W\rÏ\80D$ûa2/eÛ-\90Ò»G+=ÏFj\88\88¿®\12\7fè\9d·&ä+¦\9c'r\1eì\8cõ£¨Ð\83{\ 6ÌjLþx\7f[ÕNÝ+­\8dR|W\93Ä\0Ü\9cpbñ\9aÐø\97´õûòÓæ\92\1dw\11\8d=y¢ÐzÔæ\ 3\8ew\84ÜÑ\ 5¯ø;ò\v£Î\97\ f"R%&Å/BW\18\93m©Û\14ÐÆ%ÒI\898\93³\e&<Ä\98L\18\ 5Ì©oEH\1d\19\80«½eÉFkrD\95\18\a\9a,\ e\A\ 6ÉH\8e\80âj/B\1c\82ÕE·¹mS\80©\92rÍßd¹û7Vd\ f\7f¹0\1e4\95_|\rñÎ\9a öP\8e?{\1eðÀý9\ 5\7f²-
+í6<6\13 öaQ¥\ 4[\ 2·\87\a¹\8eE\899$ ÈÄ\19ã\9dHE\\98Êá7áöò
+åÃÉ\98¢\ e/Ò¦\14Z]ñ¤\86\ôÀac\ 2\1c·v\977MÀ6\98\a3\ e\ 3\8b#Vk»\9e\Q:ü²Ä\80ßµ\8fy\f6'\86\84\8eéäá!\16F9=\ 6\94àäJ@\96ö0m\97³.á?½\1f\1e^ãQ¶©\1f#\1d\94¦\8fS\ÉO@î?\85ã×7ÆcÈ\1aÆ\96\10ÂÔ¢Nð©\ 6ÉÌxcfàÂzåÒÚG\1eI  Á_µ9'Z\17z\ f\14â\91Ï\86>EÊàðdjóApÕ;{"¨H\10\ f\97ѱ\97`\96\v\ 4e       Éóz!\85 æ<u­\9d\81\10\8fÀ\96Ú\ 4ä;ßz\ 6£Øpï¬r\9d`\9c\91Þ\e½-6Û#¡ZM¾\a\92tÔ©áMó\8föy¾\88\91ád\1dÖ\7f\11=ûÜÆÙ\14\95ï¼g7)\82¯b¡ú¬éãxÓ|ãxÝ\167\1cËßzââ÷Ý\9b}ZÜÊÖæ\87Å îÐï\1e\ 6¤ô´\17^\89hãí4\e³\9aXs ÀH\81\8eèì[ZzÍ[Zbþõ´n\14M\fQÖ@ÃÁ8j\97\91Ñòý\1d´\ e\132ø7  ÐGë£è$\91eÁ¸ü\14\ruÆðn7*@ö0DêMÜp¨\8e$ÔDêlö¼\83·ZbC#J\ 6\1aüB\97ô\vÞx\ 4\18\1ecÚ@ãÓÙþ\8cßµå\1c\12Ò\ 4\91vݬßI·ëÝiNmúý­\91>7[3\9b{û¯\14çv­\e{ûKMÕQÊ÷áôa\ 1Ì[AÑH$\89\97\1d\17ài\15ïÕ;Ä­\96Ù\1dl¿fsR­\97ø§\ e=X>6t\10G©aN\95\9dÎ\1d\85
+u~\14ë\ e|ìv\14ì~\14ëN|ë\îrC;\9c\91Îç$¼¼ä: üÍjô\90\1cÅ×\8dÀµ5ä>DZ\83Àâ\1aò\87±á<ð,\9f\15Øìv.°·\0Å¥\ 1ºøé·Â©I\16¬ÒU\99\ 1.Åä\90dÚ¢^\8dë\89Ðõ±JÆ\87\8d\1c\96\ 3\12O\vûJ\fázØ\13\9cíáoi\17\86ì»è\f
+u|\96\14º7\8dÒ¡sÖ"X±\8bÑÆo\18½ù\97\ 6̰õËwjÆ\f\ 6®¾\91PõUÆp»\v\9eüKµ4Àôª\9d`Y\14)\7f@¥õ;«Ö[Ï\ 1ì\8aððË\88­úDÄIÔ\86Ø­`ø\ 5È»ÃðÈ\83uyõ«Z\8bW\8b-Vq\19±ÑòÍiDEÕ/\ 3K{毲\8c*\8f\85¤ü\16\ f)ÔT©ó]ôX\1e\9cº|×Ê\92.2IüǦƠ=Ê@w\8fpm¼\18\ 6ºæÜ^\ e³\vr\12è/·èr®o \12`f_rë0J9Ó×v«©î¿Ê\ 5\18\90=\8a3\83áF0KàB1^yaC\8fnÜX\1e\9b¾Ã\1f\f|\ 1\9fæ\11ÿÓÀßÉï\93\ 4ûuuq"Z\8eZ\94v\80\81;\96Ü={QÕYèÞr2d\8a$í;\1e\15\91¥~¾Å×n\15¦\97ÄuyP%\14\9aÊf-\94Ó\9dÑÅ\ 5ü©\14\8a\91E
+Òëµ
+Ò/&=²l\19>FOv\93Ì{¥ÞÎÌè\E1?häî^IÞ  \8dU7×#®\9aO÷'Ö\ fÑ,Þ\9eëè\13\1a\ 44±í\1dÿy[øÝó\10ìaU\89+ØÊ\88\8d1\8d\94Ô\9cÙMxë@\89\el~Ó\9e\97GÀÛ>xÔ2^\93\88CãßÖ\8c\92ÖVNo\9cð·z\r\99Ñè¯xc\93\ 4Ø!ô·ì7Û@öpªÜ¶i`Ã:Ic:ó,\87ô\ fôF8Ò1Ë»Ìq'ÿÌ×¼4<lj])$ð\9fôL·ùë:,åÙsÙtBÇ\1c®`\8cS0¦Â«È\91í\8b`Eñc4\95<21:ÅÇ© $ï­\89;âN\9dH\1eöàs¦;%Å\eôX\94D u\8el\9cÓz\e¨$\14Þ8e²$\bÇÚ\8dJ\11®\97Ø\9c¼5\ 3äe¸iñÉÛp,Íìn8\15æ\8d O\ 3ã6¸\90p\1aBJß\16
+cl¤ÊxRÑh\8b\1a\ 6\9aèÚ \ 4Xv(\9b&waÅ\v{®§bm÷`?Ë\1að\7f7\89\84k\83\ 6T\88°G9°¢NÌ#ã\9a;ý%\b©/E\82-\1d(ñ÷\12\8fjtºM\9a\9dx\93jÓ»)GÖ\9d\19\12p\8c»¨\fD*ë\92ÁhëËJ?jq\9dÔ\88Ñ^µV\8eÙ\7fÚ;ã7rÔé®E\ 6a\1cGu]\1a!¸1\16\93|\95rëq:8\9cS"®¯4X¦6«öGJ\b\18\v\8c\ 1\ 2ó8Ñ\bÛ\88\fLhsUÒ\8båĬÝZ¿=\1cbw\ fx\19âB±þüõ½Î\v¬¢\r,\ 4¡´Æ\ eÃ:E°E\ f
+L\1ebb×Ç-jõ^°}ùT\16ÇÄÜ@ª\f\94\90Ê2Ë\16HJ$\12^\12\b¯ÖÙÐ\10ìÆÕν\964,±1m®6¸µ¬\13¨Qg\12¾ÈNÊ\87ü1\80ñTø îð3\91¡æ\94\18\98JëbÖ\17ñ±{¶¨ã¦¯\0ÉPÍI\89OD§\106ÿ\9c\83\9c\97[&\91\b8Ø£¨Ë÷\99\91¦\vÂ\ f\97\1a\16\98ǹ\83B\83\12\14J\89þrhv \87ªÄ7q¡
+\10Æ\1cµ2ýM*þ      Å\ 6ã\ 3\1e\8b7v¹\ 50\88\b»ßq¿·Q¬aS\8f\80\ f
+s \rã\ 6å\15
+êhúò·åªuyspëv\18¨        óÆÚ?\90S\9còp(\12×\8dôgâ\8c\f\ 6Nr\89òÂB0=\C£\96±ëùØMõÅ\82\ fz2\94IMþ\8bZ\84\16¸°Z\95\98¯K     $à\11\80¥\8c\r\83*¼Àe\19\1e\8b\94£\ fu\83ë³OÙx«éÑ\95==YwÏÊIÒñ·\96TÐ×õfy³Ü¨\84©\13\b\96\8b´´k(X\ 4ÈUÆ*}(x=U8Õ\ 1q(6
+õò\94itÒ\fiTîcÓç§ÇK¡±ZΧ©~ãØ\ fË)¸\89\130Ŧԯ\ f"\e\9fA8\10xb\TÆõSâ\8d\9f\1eª\80l\83}Ö Ñ\93\9d5\18Oö©ÜéGK\13´TARÄ6Ò(OÙ¸s<>)|K\85ßÔ\1d2¢_mk¦Cíɺ\97Bâî/<\8a²C\93ãÂF3~Q ÂK!\10\95Ôa¬îÞ\1e        \8bKMJ§+iv\1eÚðô\18½ðZVB\8cj\8fª{±Ðû3ó§:ûg»\1d\ 4Ê^~wVcª\93ÒõN\1e\14çTdä\<\9b$W#¡>\ e\85\81hçèÓã¾ë\9cÊí.\9bGÝ3\ fÙyÌ)ÑÉAá±G¿=Þ\82^7Ës\91\15Dº2tTa'Ù\8bªúÇìô,iÜ:$\87Ù]ì!Ô'\83~«2|\9e\9a+ ü\930°*b\e\9a\82ÞÌ\9b\ e¯\17.\8b§ö#Ré²~QϺÇ6ODcdýf\ f¯ Åã®\8b\923S\a\ e\18Ú÷®   +\92F\7f\ f\9eE4\81%ç Ý±G<îå{ë\938\12\89R\ 6Ø Ù\97ªF2%\98àFâÂ\f\8b¬XÎ/0Vj\1a\ eÇE\86nd\ 6\94±\13oVØ\8crp`È¢ue©MCÓ\87Ý¡\13£ñ        (1rq5KÔÓHè<f\8bxhþkø\95s\83s(<]\ 6¨e_Ó;µ86ò\95-\93óã_u×\91VÄ×ôQ9NK¦i\10#"-Ü\11TÄ<©J\9a\823¬"3«ðÛk\95\9af¿É¦"½\98få*\7f\8bVÔ&°Ú³"3¬\9fÝ\9d\86Âô"·QR_t\ eþi\98n\1aL>lUHláhÖÐ\97Ì7óâ~\17v²¡i\8a\8a\b¿á!\12\a\ 4\9dÁYD¶w\ 2ùkH»\92\83ü±AÁ$(mË`TXDê®Ñø\91kw¿|Ô=LRÚÁÀHá°¡H¯n\86\­!g\15ç\96Y[\12Ê¡Ý\16S\1f\80²\8c\8b\1fO\7f(\v\1c\8e\vÄ\86?\99ImD1ôÈ2\82\1eÅd\1fîY\a\ fÀ²\r²È<Å\90UY\a¸²\bõÉ\94\10Äætñ!Î\18(:%\90u+ ñ(IÆw4\9f3r]î°\7f\ fð\9bnÖ6Þ¾_o\99k\97ó¬â÷ËÅã\8asGo-/èdµ\ 5Zm¦
+*X\88?çHD\e\1c\96¢\86*  f\9crèÆ«täðj«µÐ«¶\1d¾\f\8d     ùÜà\95n\87VaMйúUhz\9aÃ\e)¢Èlà"mÜÁjl!\ 3\ eçv\1e+\9bà×TßðfèO\9fΠSl¾³\vÛ¡uôÝöÊ<\7foÜ­ï¢\11ÍPTØvÝÛ6 `[4°\íö=ýɪTàÏÀu\9f"\ 3¢ë:\8f\8a\7fØ]YkÖ¡=¥\84­÷DzBBï¯T©¿"\8f\16I:\96\97KÀJÒ\81\0è´¯\88:'ã¨E\80ë\81_¾¬ê}g¤p*P\a\9fÛî¹\95)°gìÝH©M\7f?Íu\1a~{Î$âk¶\10\95Ö;µ_Y\vÛ¡sÈYÉΩ®\85dqG¨slêçM\94o\83\10ÑLõ\8e$óHÝɨÞüg©\16{äA1YWvÒ7\pÿN\92W]\80ûØÍéC¢0PÑ\8c ²\9d\19Ö\91\96\1e\9a\ 6\8a\95N{¸\1eq\1a\99ûHÇ,Ã~u\Y[Æ\11\86\9fÂ×u\15\8a³ x¸\94\1aZ`\91Ç9\99àÖxG©\9c\rd!\88Ó+0¶~\13«ÅNR\12£¨\8dqLºñ¯ÕL«\12|\ahÄùkõ1ì\ f\93\1cÉA\87\vÛ¡\8d\86¯\80\9c\ 59áïCr¹.AjæTÂ\fÑÕk\9eût*È©|\1dõã\9c\85d<á\ 6~EnÖø\8a\9eÏqHH²"\9bE\rÓ\12,ª*/Õ7XÃ\0L(!\11ÂÚ\87§¢ÈwÞç\88\8f\7fe.Sû³   \ f\a6ÙèLè_#\8dl¦kk|\1dL\1eìC\11\95åD)QÔ¾\89\1fÚ\16ÍÇ@\15óq$\v?g®Ê­ \ 6­hÈ\97«mYÑ$\82U]Y\ 1i\ 4´¾è}\85¾¾\81QÙµ§ouûI\15ª_\f(;Ï\8dèß§ÞjÈűÃkF(¿\82\90\87%\80êµS\9a44\ 4Á;¤NÜ1e¥\bÝPé i~óÂýÔº=\97Ê\9dwÁF\8c1¦¹Ä\a\96Pb
+\13åÓ¶AÎÛÝò\81ø\eO\ 2\8a\99UÔTÁ¶/xu\ 4\8e¹¦ð\7f.F\91\81ú\8arqéø¥\89¬\aVZÚ&n\9f\10>.¸t°\16\ 3¸
+$ß\85\9c7\13}\7f\ 4\90VA\1c»}àM>[D° \10D>é\95m\1eI\ 5óH´fÍU\90~ÆH\b[s\8dP©[*í¤ \92×\8e\84áOQ\ 3\aæ\87Þ)Hx±¯\91\8cî\9a\10a×dµ³¤ç%m\94\98$\95\b*¿¢\17\11m¨Þ\89e\89È)ïö\18|ñÃDEpôw.¾\98\94\8fÈ1Mðè\b%\1avsph\r×eh\18#\91\85k@¿]1`i\1f\866Áq\1f\86"ÀÐíBH\7fm_P­RÀb\89ЭaZÄ8&\93è%\84\91\ 5Ùç\147\ 1ÁiûÐ\7f\8cxa8\84ýõÙ\90z\17\0Gh\7f²\96-\aàÃ|Ê\réð[G³S\89\87\931\aæ\85\12        ÃÇ*û¡}Ñ¢\88X©¸"º4súh\9f\8eÃÍzô\16Ü\93X\994Í6çHpß\ 4\89?¨Ñ\ 3ç×Òr\90pêM\a²ÃHó\93\1a=3®<x¹Ñó[\11¹.âÃ\1dSmË\17\f\83\7f9M\93òcI\ fÔ$\87æÉú²       |æ[Þ6OW+ö\12Á\93rÁ,\1c~¼Ë\85Fæ³Ç\8f\83h[\87LI!\ 5º\9fmR¸ÐºUÌxA¾îÊ\rV Ém§\9b\eá6\v\\16\r\98`y\91ë\11
+L"\13Ã_\84n\9e"÷v£ß¹\ fÞ+\15)(O¼\^ï\16BG\19\8d\95Z-1\90è$µÑÁ\9f\84ç>6\99\15Íê^úÍè\18k䯣ÛWQÏ]7\89R\14×¾{}dßHÞÉé\9d_C\a¥Ki;»9µ¤ª\97µ\ 3pïATå\85\aÜ׬ç`R\ 4d$¡\1dª\81DHB\1f\ 5,5Ãù|ß6,\83Á¡Ul^/\ fµ\1c/Î$\8f\7fº\11%\15\15AKìT\ e\8bÕIk\8dK\8d¢¥Ü\12\9c\ f\88×\8dS@»Ç\92        eàèµm+É\0\98\8e­@Ç\8dC\16O²ÒýÅ\86Ý¥Fâ%¶ý£\ 5¥ÔÌGP\81\0\8a\ 65\1df\0   øà¿i\13`\99V·2\8d\11ê1e\10u\8f®WïhCæhµ¹2ÉÃ\1d\eÝ\88q\9aE\8e\8b1K\81\13Ï\9eJºWZní\96\ fÓÍ©Ì\aF)z\97A\86ù.J¶%nvܲ;\89¿\86Äão\13ËL«\aø\?\85û¾íé'o\95\866TU­ñ\90\ 3*bÊ\94Ø+wwâx\10\ 2\1c*½k­^¡N^\e5%\rH\eò½?\19Nb`\12f\11\92\9c}yb[KÂ5\16,Räõ¯\16`\19uý,C\16  ôï\18\91\16\1dá\14p\9f^'ÃVbÄÙKÄúso\85 Ò¯\15è]ý\8d\ 1"\17|ZËg\15¬\ 3q      k3\0ÙBs#^mÛ      ðôá9bN\1fÕ\9e»æOºÂÔ)ÊNÿ\rÇl¡'l§7Óï«åæá½ëèé¨\94»\1dÁî
+2Ãñ\96¤*\9b¿ß>E.\96#$ï¬ÉNµv\98¥\8a|Z!l\1fY\1aW³Du(q
+®©^\1eA\16U\ 1ó`èùW5ÍÌövg)oO\a ~Ú[ÂåpçY\96of»`u6¦\90\81ßNi½¿Æ\9c\a&'m?°:­xO\14D¿vëªnÀÍ+¯\9bU¬©\87¦)\16®í\98\91\1a\95B3k˨V\ 2ÅA\8d|s»B8\80¯îD}\19\aåî,øµùË¿¹\9c#âÃ{Þçqï'IMéÆ\91èìDù¥»o<³¶#³\12Ã
+D ý\85)
+ïÙ\9e"¯Ê\88ÇQQÒ)Ù¬êC);H-¶d\96l\1c$ùN\13\9dÙ\9d\vâ\99ù&à\9bgD\1d¼\ 59n\ 4ËswÉ\1e\83ÍÓ\a÷F)ÍW\16\a`ø$\10|ß^\91Gã¢ãêsuDàº7\965\a\96n\1aX_\u\14ÙQ\1c\1f\92\1c\0¯À\1f-¬î\8d~F\1dN^Ó\9a\13\ 5m9°\1fªj\84i?.\ 2\96î\ 5x\97$§×F\114ÑM¢ia\0&XáÜë-[æq\94[ú&q\ eàpºf\1cXÕ¦1UÀøÆÐ{[\0{Ó_ÿ÷\94°áÓ=¯Ò\83Õõ0(\90£\ e\9e\15^$7²\15\98\ f\8ds\1c7I\15\98\ 5.s\13H\81\84Ct«Çg\7f?ÖõE/[\18\ 1>±¿\8d\11Íﱿ\89Öc¼¤ \ 3\9aÙmJ\ f_eRç\17ú\8c1\193Ýù&Z\1eïÅ0¶Îü¦6\8d\9døÌK\1d\1d\87ë\ e\10é¯\8bvlú1m\9bÇ\89néxÆk"\88\97\rCu\ 1\eË\ fÞ½\a\vt/íH\18\89Põ£\ 3ãd\83ת´ï*¥\ 5Uúÿ\9aª\90\83ïe\12à¬?3\18\912>nHq\8e\ f]{Â\82n06\11\91.\ f\83îÿ\14ö!ä/ \8f¤c\ 2¦1ÀFÆ-\18\vwÒKyñÀÁnú8\
\89o|ï\16Éq[òÐ?ߦX\86\96\80\85d!Vº^":V8\9c¬tAö\84¦ï"éz¬6\ñé\8c\97Ûüõ7\H\97\8dHSQQÄèÍx\ 6\14\8f¡\16²åÓ\ 5\8c¾hpö!ùHò\9a\91\rã\1dë\10Û²\ fÚÃvÅÐêÙtEO¤Dé1à÷XwÅ\e9ÉÏ\94k¦  6®;\ 1V°¬óå\18NXúã\97ªd+0öy\89tá%\82:l\rÇ,/ù´ãx8\97lºýc¦\|C»ýdA+\12)ô×ô\12N\ 4¦\80½ÿ\11)\96)Oia,aOú1\95k¸0áª_\89?\ 2 zrùÁêy"YRЭÕï-Å.P\18tK*Ô¢ôN«UÒ\97\ etbÖ>\88jjqø\96
+`jl\99\95{í»µ]í¶\1dX¯mk¢0­eN>\ 55,ç8u\9ez:\83[ꯠôõæMsþÅ×aN5EL[ËD,G¶<\1d\15c\8bÊV\1fEj\87\0}w\8a\ f\Ü>¹t<¸È·\98#¥¶FÑMô\88.ÝòAÊcPâ\ 3¾Á¸}hÜjÝhÚÆaQ\93\90F\9d\8f\ 5\81UñëkA0é\1c[.J¿EJ\aÖP,u
+ËËX\95b%ÄÙeFZ¯4¦v«×\14ÊÕ{\ 2£Çd ÚcÖÐU\ e\96\8bØÁf_SZ©Bw\9e\13æ\8b©á\13åwSÂàC\87¸x\90¡ô\88\82\9dÏKÂÚZOÙ©nç«t\ e:\9aÑÐWÊ@ªa9ÎÁ\r3\1e\ 5\99½mPúÓj\7f³\7f¦\1cþ\88ã÷Wúe¹ØéÖÏì©^y\ 1Ú]4j|»\12\8c\12r\826Ä¢ÒÂ\1d\e\84\83÷Ltñ;\f\98\80°æß9Ê¡Á[°Ã§0\91f·áhÒ,Ì\90\´ÒË\13Þe|I\93-]\88:çnË\80:ïîÔ?*îø«õ§R&\94\1aÆ      \bþ\11S\19ÄèW\10~«"5Y^Z]\17Ñ{\ 5\95ºà\96\v\89\11\11:\17#\1dF!J\16°Ðü+\1eBV2-Cì.wsÙï2a;}VÉmQó\1f0B\17¡crI\87D>q)P=Þ\83\aN>)¦\9fìàéÕicRÔ\ e\²ìýÖ\ e\9e!äýH\87\aó~\89Ò¢k1áÙ\83ëNyä\8fd\8d}{ñ²]\98Ìm.O\12\ 1Ým\8cÀ\12%;\13EÊC®\81õ˵K\10¢'nØÀøþK\7f\8b\93imĪS­YÃ\94\97Ed¼«\ 3ONM6åö\eø×]­ï\11Få2é"f\97GØÖÙ±*³¬Ä¨ªÒ$W7¿\15\9b\18\8b>µkrÅf=7§\ 3÷\eÖè\944^^J\ 6ìÔºI%ÛIÄ
+mHtã\É\90\ 1ôÜ£\91f5\88Ï\83¢\93J!{'\13[T\16ë!É\vëq­Ö'ü\ 6÷º\95o¯¡\0üFÍ1 b(tA±ú¨\1aºbòD3f¥Ûûî C=-\a\83G\r\16\v}\95\0t\86¯~iþ×\83G@RÀ\93\8b×-´\8bl   £Y\8b\86÷ßÝbJ[þç9Îf\18ã\81\98\0¨«!0\95LäèºÄ¤ÌÊ34Ø\r¤\ 3DÍ\iVW38\16ÚKÁ&C\9cÝ·wwwn÷{V·¶ÝÛRwEYEn\8ea\82\ 2\8aÀ4é$¨`Áøx\0\0\19\9f¿ÿ¹Ì\11­«n÷ß{½ûß}ßá÷ñ{ø}÷¾÷ùoêx{[$\8e\9d \10¥I\8b
+J\11Àa\eß$¹u£     $½\9eÜÕ¥ìªAÆÙRÿq07Þ8\89\99Ai~A\17\8do\8dky£ÉÅ\93Îp
+\18\10°\8dÂ}³        +\12LYo\91\17³ËaI\90àfk¼J \980\87ùÊ\9d¾Â\99í\9aûéUpMG\ 3ã@àó{5\9d\90¿q\×x\8dþ\e\93n\14¹j\96RD]S\94³\1a\1cDîQ\8e\1aCÓ¾\ 2\95Fm}ôoð\9cæRªkïúÔ\8a}ôpËB\10\13xNr)Õ5Þ~\852Ç«ÌÄ&e\8d\14h~æöI\1eZ"À:X|JP\ 1rŹÁź\1c\19á,öÄ´¾j\16\82ù\8bujrXA\8d-­µ-\92¯\1fgLt«®\99Ô-7÷"Ö\9dª\80\18ã\8a7\19C(.\89\81\85áB«Á\96úIÚ·§)¨Z%\a\11%0?\88\15MR\8bÖ(\ 4ͺ\14ùßb\141Ì\á{e\8bTr\81:\93(/ÐX¼S \13ÍÀ_þ´ l«\ eª½\16\12ùÕXVdÌ\ 5Ù\9c\8ax\v\87"êZÊ\0@F\86T]Éc\8aÌ36°\9f\8e\8c\82è\1a\1eX¹¦\91\83\9c\16\91\1e\9cÕ\988¼B 0²y\ 3d  \8e\8a\81\8f'ábÀ¿\99¢ª,k\18\17\98\82ÙL\aaª=ú\9afm××\10Q<\8bþ¦\18A\82     \95\9dSÈÄ_8ïñK&\1c\15\88RÅ«\fh?\98\16è·\80\v\8bí^I©\v&\1c\8a1  §J\1d'Ä¥6Ü/Ào³\80.QVö§)\94]¼gH\b½¢u[q)Ã\vMtZ+T«íR\15ªU\1e\ 4ºT\83íÉ)\a\14£     /\80µ\r\92ø\0Ûu°àyðù§§L\95Df\11÷\ 3åÔ\ e\btl\ru`iüÑ\1fú\ f\95J\90\v\fX¦?¢Ü\9a\17\1c\94-L\1eô¥2r\0ý2¯\1fËE\19\8fäµ1\92[ÒÔ8:ÃVo\1d¢äľp­\9fÙð\9d$!«êå\16\81+`\9f\9cÖ?%²ªè\18Ì'H\17\8e»\89Ï6×}ĵß:V\e\91\ 4Р   ÜÕ\9b¾\ 3\96ê¼ÍñÂ\821ROÕº\82í_Æ\ 5èK\1a'W\1céCut1bÞ¿·\16ñø\18pp"Ô9¶¦;§B\18^3è\16®\12®\90»\9c\1e\92·\ 4\1e\920oIBføÁo\váÈ\14/ìø\82)ðßK{ÆXuq¼\8fe\ 6\ 4"O`\83ïhù\85p1¢H\92ßÁBýdP\8a\1a\84        ½Óì»ø¤ëH ~+éa~`çϼ¯²úÔlKï¸ü#e\11Y¾@FÎ\ 4ÆÏoÙ\17.­Ü\f.\f\8b\ 3\b°\83\v°"    B\9b\1e6\83Ã\v\1ct\11µ¯\ e&ÅeZúùZÝ\98\ 1TPÀàüo!ÎNªáÄ@\12\82Zú¯5µø
+(\1fv\18
+X\90¸\80ùi]Wbb5®\19\ 2\1au\ 5ÂüoÔ4U¯\89
+7Ü\ f÷\0M$0\7fðß[úÔ¶âõß{Rÿî\88m©K\bR\18yl\eÎnZÅ\8d\9dƪUTÈ{Â\86\14IRۥǷIÝ¿\81í\10\9b2MP\8eý\90\ 2\13<Âî\bW§$8Fd¾\ 4\ fæqLxþvã\84d\ 3A\89à\1a'\1e\ 1¥©\f\98WO\9fõ\ 6°\1c¹\a«   z¹X\900|G\fÇ8ÐÂ\a@\rC#\9fÀ\ f\1aðÊÆDê\16\10sûJ\95²«\a\1aì\14P½ \0\1fh\8cR7³\83\14\81\88\ f90\ e³x\83Vl6È\19Á)>Ií\95\ fw\9dpõ>Tn\19ÍN·´ùV¿º¶×µ}£¼kÍP~[;\9bn¡w\12£\102Y@\16\9f#OÿÓ䤠/¡³\92\81©;)\ f]væAì>ïÍb\15}ØÓÖÌöþ©BÓZ·Û
+nÙÁ´H\99§\ fk0~nPjVõ\85ÛÞª4ËÊ>P-\r.\16\ 6}äÏv|£dÞ\vw\87/\98æÕõ\ 2iÎb\91_O\10~<c\ e#?Ù\86\8b\ 2L<ϲçæ)\ 5;\861\18v x¡\19=¢%\87ÑwPÐ\916ùød÷\8a-\82ýzºi\17æSH¾:\9aG\r\1a\13\ 5ÓÀïJÝ Ò\86ÌO0=ã\9cÁ5\9c\8dé4\7fzÖõ\7fI¡L\ 3\bì0ØSHá4Vl\88\16B¯ê=k&±þCD5\r\8c\9d{\9f\ fËm\8cbR8N\8fÂ9Lìî\ 61\ 6mQ\8dÉ2ÃJEû£ß\9c¦Y­î\8cÂm´[\81\ e\b\97Î\8f|r\8c§p2È1JG\rÑøg5\9e:v\9b³\9c|£$?\7f\80÷Ú£\91\9cq\9bµ%ï\92Y\899\8a\1fM\81:m)(\8a\9f<Àù\8f-cóÿ\1co\ 6\8eÙ\#Ó\14íâ®ÔK\12\0\19J\8c7~ü\97çÌh{Ú£&\95¶yÁ\82Øá1\92P1\eý\91\8ed\a\ e·©Öo÷Èwo)Í-ÌKf©y\10íRÑÃI\v,R_,´«\8cp\12û0       È\9c³\94Æ£Ë-\1f\9f\ 5CGñ1/ª%àù\93ñ×þ        ÛX\94í\7f\1d_®í<>\16ë\87\13\ 2ÿ\92\89\bw\19aÇÄ\18\aé\e\9f\\18ìãPÁ\
+ÖÆÆ¥âDNÒÄù7ê.\ f«è/(ù~½y \f\v\85º\ 6\18®\f^\86\13ÓvÐî2\87÷ ¦!\10C b\85\8e\87<7È\1e[˪µyÅ«^-½\93}JO\ 5½´\ fÄÈ\11]Xuý\10üöùìû¶ùÓä£S\\14\0Ý\80à7w`Ñ:\81rºè_©Ü\83Áå,·¿´,\90ì\90Û\98Û*8\8d\97òÃ8Éb¶XN»eUÝ¥õD,aX̤Ô^¾j\9ewW*Ö>!\b&³³p\85!\ 60\15k\9fÎë%[õ\15\96\0\ e®\ 4\ 1\\87íô\80\ e¯¨øXë%N\98Ó©S¸\ 3\að÷K\91\82S²û|8\81cñÉ\865¾$6'¿\84#\87\94Í×*¿\ 2òåpµå\e[\ 1~C©\1dÓ\ 2\16¦=05\1añå\ 5¦\7fõ\97¸²>a\0´\9bá\88Ì3\1eT«ÂÂ\8eà0(íÓ\83Þ\f¼'ÈIQÿ\9f\92\1e»\98ü¢\ 1AÙ¹,oÇL¹íİc\8a\aÚÊ4\8c½ä}\99Úø/iɳµ\f\ 3 °äÅOv\848¡9\ 2¨|ß\1a0\ 6h-Ûõ¦\1c\0;jÀNHÏâ>á!XXÛüÀHe\19ÝHd\\99!\92\95ZÐÎ\12¿B\9e\91~\ 6÷ì\ 2ÎH\e\0\17ñAÉß% a®ÛºF\82ß´\901    µbíÂ
+\8c»ò\97\af¤-­èþH\8aõH\8a\ 2ËüE\b_\89¢U\bØWÎ×Å6\ 5\8e\r\eý
+\10Ém_\8b8R\91\88ßêÇ\1f\84¡Jd¥A@6«D
+^\7f\9a\1f.X\82\98¦öT\80\10\ 1 \ 3Ü\9d@ÄT5ä(&Գث<;IhͶª>ùÊ÷½\ 6\1f\84D\10\10æö\10ê3T»èþô6Û\b\81í\v\ 1\95\17³ÂÕá·\8aû\1ehøÛÝ# §ÉU\9b.\ 6,c\fyMñ¢ß¾p¹ogL¸ßQSZ79\11X?o\11ÆîË\17¡fÜÑyu\8aû0I;.   S\8bÒ\10\95^}\11\92\12\12\0ný'(\8bÖ\1c\13\94(],&øÆ±îZ*9CUGÙ\18o\8a\9f        _%|Àa×\ 6\10ZD\8f\e6\9cmk.+ªP"\87)ÏÞk?äB}À\ eæ\b\90¬(ÐQ
+N?Q\93\86\92\9c>Ì,wÉ\0\83ähßákN¿W*\10¯ÖJ¨È\[ÿ,0AûS\84\18Ç\12\1e-¶`/\8cEA\82ÏoÂ*ÓzT\9a|Ô©\ 5\814DßÃ*\8bâ¥Ð\8aû .\ fÇFRe$R%Z"P\17éA\vkÈpáG §A
+\17\90ãZ§\9e--\93\8eï\8dîè@îu\90¡ì\9cgIê3sÝuæk*k¢\ 6\18\ 4\94[ù¯\15\99\966R¯\13Ü;     þÆà(0\ fÇ\ e\ 5®Õ.¬\90ï\85\ 1\1dÃ\v\94ÃG\840D\9d[È(1Jây«@\1a\83V,\9a§£2v¿>\11f\14Ñ\ 6
+Ũ\86X5Æ#ì¾Ø\ 2¼\0?CÐ5cÜ©Þ}½ÈÐîvp\90\0D\90!øØ\rÚ5\9f\9b\88\1aEª0\92\9cÓ¸\9d9U\86¹\9eãð¿\17\97~(þPb\17â?=è´ÔÄ3\ 1^\196\e\8b\ 5\9cX¸X!ë±\89mõ.Xñ\82\8bºõæßbA\9dñ'{\ 2\r\0Ê\1d\98ª.X[B(¹/î¢Ä\rEB\1fêQùx°\8b,ó¾9ôa\aÉü`\83è\ fÓ;ÔpL\9a\8f\8eéñ\v\fh~5åvþµ\7f­t¡M¤Ïw_\14{·±Båý\12ò»\9bÐëbt¸\9fBÙ8\84´úÍ[ºö\ 2ö.\9bP\94Ø_\86è4Yb_JƱÎ\9dh\8fâB\89\86a\v\vçê\ró-ú\80K\9d\99Q\80\12ábýWíò¡    \9a8+Ü\81Ö»\86\82Ø`\13Îr¬ñ-7Ð\ 6Ù¦!º\95\16Fè<\19\81\exáb\8f(q\10¼Ô\90¢\8aý¼ht÷È\8a\11û\8c\9c       ÚcDwÐ\ 4¦°r\ 1e§èó`dUuv\a»\8f\aÖsÚ,q\8a^\0¯­±(>~#ý¶åø¿µÚÍrHSW:\92-\8eyú¡5x\ 27\14&úô!\ 5DS|r\99\19!\7fnT³\86W\8eÚ\f
+pÁB\91°¸\17ãë\1e\1f\88P(\8d\94D\fPåÇܼndfØ\11\v\1cu\8b÷\_K@9Kü×ÍÚÿ6e!\ eÙ`Ï\9d¾ËJ\8ḏÖÎqÿS÷Ã\f* I\1e'\98È'2¥òÐçZ¥\e\93\83\92\15\9c/Iá1O\ 4³èâ\ e\82(\ f\81Ë\91\15\8dÒ³\94\ fÕ\8b-Êq\97\17}`'/I,\1f\10\92Ê\8c=3\ 2¦ºWÃÏ| [ûkÿeo\vE\18Q\80\82âÝ\ 5\9at#ºç^¸\85\15ý}\16ØÁw¶¤:uÓ¨¸B¯ðtí\86¤\84\9d\ fnÔ$ò\11TÞÜK\84R9úI\98\96|/&éc!\ 2~¿÷I
+\8cÀÌPØ)ýBÅ\1eÒÏ
+ô|âý\9f8ɯ8ßßç?\ 3ÌèTps3L\92§£ð|áX\8b\80Sr\1cSXÁp\8a\17î
+\b\95tÌ*wBïÍq\12/`×\10éó\87Û\eÌ{3·çM\1c|þÕ\7f´\bÑw\85â"ñƸ\83\16¼×\f\15EøE\87\98²ò\92\r     õu\aÉËÊ\9fG\17$\1ab]uh°\8bÏÔL\9c\9dB\8cSv\14\ 6\11°e*\18ðe\18\1a$V\ fìè1\820ÚðscF£ ¼\14$«Ò¦$ô\80Ä\94\1fÁ&\aW\15\86˸ðÉk\ 1\85ò\98/æ_ó\f±v\178Ö¹ì¯~É\ 6­QÐB²)\bÒ<W\84\950·f\r,À[ceÅ6\bÁÁ×L¾\14\1a/qYIó\ 4ÉR\90\ 4ýøk\81\974fü±G?dX¶FXçÈ\9cÑ\r\118Ô]¡`>øÃè'm\ e\99\§Hôï\81©1\1a Á}óeÔ`>\1d\b\99\9b/~¡ÂÐ\e|I\96Ëx\ 3\89\9d\ 3cb\98ã\b\8e^l¾mС\8c\83)\1a6\12BÛ\ßÀa\92\9e=\8b3Ó§\fAV\v3$¸W¥\8bÛ|.\81daûã%ÅýJ\ 6\1f\99±\85\e\anÈ2\18¸\10ÕE©Ðë°ïâd\ 6\1c\89\84aßÔËà7        Õ<Õ\91\87\r|ýa\83\ 5\rª.CÀ\13\92\82×8wFKI\ 6\ 5º
+4Émø[ÊÎ&0¡ô>\ 2ÆÍå·í\ 5<`¢-\15@\9c>\84\8c\11\9e\10YvjÐh\1eXÄE\90?×Ñj>\13\83\87¨\1c,\ 3\86ºÕàhi¦¸è%øÆ\18Ö0l\99Â6Ô\9f(ú¤-v,28,&²+x\9e½òd¥\ 5\1d\96·\84PZ³æ
+\ 6²·'\81(CFЭ¢\ec\9bD¶È¶Ê6ì\9bE¶ìÛF6˶í\9bví»\96Ù\96Ú\94oâæ¡OÍÞQö¾{>\ fÊ ÜÐ?PàÂzp]WáIá\8bó\94G#Û\97.LªgJöñãG&\11ªµ,\WéUG:\15\95¸²ö±ÕÞóD©     C       \v&!D\89'ÄÊ¢@öu~\97ô+\84êÜh®-¸Hê\94àìøF#\83\ 6ç2\13\96I\14\12ö±þD8^k\ 5eWu\14Ç5IÌ7\bäp{'0C\19pÇóud}¬å\9e¥¸a\8e\bp¸·\80é^\85»ÅK\96<pÀæi\ 5Èm\83\11\84=0òuÉIï\8e\16]ü¹2\14\a}\8e×AI\9f.8þxÃ\8a\85ù\8eZ"üä?\a\18â¯\1e\1f\90R"ýØn4\9bè]s\ 5\90Þ\99\98n3t%\ f§\8c\1fLq\1a\e5\ e\16\90\88\95q\92\f\ eË\r,jìÏ\94\1aÏþ¯\87Æ\10¥\90N¼¥K©\83Új)÷Ô%±¶
+\18\bT6Ñ\8f\85Al\13s\94²{\82z·ßÐùN\19LÅ{\87ÚRgé\1c\98÷­\8dä9\b1q{uØ{\80ìÞõû+\1fÇ¢+\17Ë\1f\8c\11íª_âC\8a³Û£bX\97\r\81\85\vøc%âÌ\ 3\ 4\8d\17¡d#ì\85æY+\ e/÷¦9¿nº\17\86äë¡ì5Ñ\1dMv9ö»\1ev½ø¶?3\83E\14¢O(özáp,E\92\v\1c}\11\85ÏÈÃfÝOÈÂ\ 6\1eÉÉ5Hp9\8b¾Ã\ 14À},@;º}À(\984\18¯s-\86\86\97,U\98dëI£Éh#
+\97Äï\99\86\97<]Ûòw(Z
+\b§\83\ 4¢úêãÜ$«E1\87\1cþ~b\10\88B§duû\89Ý|ó=\84þ;aù4{\ fËìl76:ÿÏðl\1f\8d\97FkĺÅäupµ¼ù\ 2\12\f\9b©\17µÅMæ¨-À\9då+ð\f6\v\1f\9ex\96\9eôXs\9dïhC颥æÏ\ 3\11Ö;\94©Ä\7f\15\8fJ@Ç+\85¤â\8e\12®g\r,:»\10v\93\85\r\10­\r\14i\15;\98ëj«G\10\9dëi\1dÈ\12ÿ\9c\94LÏùÚ+DÌê\14S\1a8Sª¾\17\a\12èª\14ò\8fºÆµÞ\v\1eRB\1fÓ2\92¨\ 2ÿòYð`u9,Îk4\95¨bÃ1\9cyg\89t\85ý\7f\ 3ÁnúD8·ZXöBÏ\89Ì\vMçp\1e¶¶^`\19@À °ð¬\89EHþ`õXzB<\9f\9b\aN{³èä\ 3¡­\1f@\9alsvã\8eH:\12\82\9f9c\84þ(£èó\81ÑÑ\88ü¹9\83kTñXZ\ 6\19(\14\ e'~lÖ='r\ 68ÆUWç\f\17  àÜJ\95ä
+'$(=\84oËsÛ)§\17¯J\93²IóZ?ÂM £ê      ­\98²ö\82·þ\82ÖR©Ù\8bÏ¥\15¯ô\16^Ïü"ÿGP]õ)\15\93G\1eìnÄ¿\vbgåØÁn¶ ûí6"ËØ\ 4m\1c=        ^=Ùô\1eQôR\9a-'t}\ 5\14\8bj
+\17û²\14¨îw|\ 2^C\80\ 4\1eù\80¿]Ã|ÒudËÏ÷t  ÒPQ.*\80ú&\f\18\14}\0²/C/x¨\ 5¶zJ/ÌÑñÀk#\0¼bÎ\b6 a:\19\90Ðvd CR¯\18\89\r\ 6iªDGÚ Ê:Ú®Á\ 2ûñHѨ½gò+Aè\97±ô_£\82ѹÂ÷0\9e
+\ få\18¯ñ¬õ4:F©Fã Åãt¥ä<¤ Ã\bY;µO\1a\94î¸\ 3mâÜ\14\977\83ºá\ 6$B
+öô"£\84\93Ô\8cL?È03~ß\ 3U/GÎØ\8a\1e¼^åð¦lÞ\13Ãc\ 3Ã]ä\97ìï\8eÍò8;¡\7f\8d¿´\18JÑ?#\8f\vwX6&I`R_ßÃñ\f\91      XóÜ\91Ù\96Ðí\v\ 4L\8b\ 3\12°¢à1»àÈÞ794¾E2\ 2ÌÑ%ó\85\11\8dù}\16¾ÿ«_a\81¾.ÄĪ\84¸¢z1Iã}%\f²\ 6cÐD\1cÅ1\82é[7
+EÊ\1c'}\ 2£Þ\và)ÎsÇJ÷|¸^\9dï\94ã·\9d¿ÛLögÆÎ+ã\ 1\f
+\90õ\ e'\8bí\9d        Q¤Ë\8eÆ.\96!Ì$A\9cѸÒWº\9e\11Bþ×\9a§\1ef¦M+\94¹ü#\85W\7f/ªqâ\vö¿oà­ãõb´áÓ\14Î\8bhD\8fð\1aGïb$\7fp$rbéÞ\8bRNîä}ØqK?öEà^ûN1\8a0öE\9e½ö\96\87Ô\v"óu\89òFÎ!E¨½n7iPÔy\0æÏ:Û,=\96wgC"7ÛÇÁ\8bÒè\rö\97\ 4\ 5\ 3ð\9axÍ;°&\ 5«²Ôµ\7fú¸û-SÁ\81ãFc\ 2a±ý\13#\9c\86È_ã\1f\8d=\13\17\v¾)¿d}\18T!\9bè!Á+çÙÐø#Uâ`Å\17ÐnT\ 3ê%åOLd\ 6 \93Àö\b±lúq\90^±(\94ÝXâ\9a²\7f\1fÒsèP\84þ·9
+\16\0\18­(N\bÇq\94,\87\18û\93\aÑ\961~ß2#\ 5,c ü¶æP²\15å\90LñWÙ\86\16ùø\94`\92ÄQä&\11²ÅcÜ\8b \99þ¬¹ß,c|ÛÄÓhÑ\8bçúdµ\194%Q\14è¬\97ÙRØi[ù{?<,gï\81çú\e?¦¥º\81\95שLvMÉVÐ\95ÿ*.ËÑrße°\1a\86K\e\10La\a\81\9c\83\99¦¹¢µeùeë\vó\vóKó\8b<½i~y~\81zâõåì\vØ\97è\97²/f^й\ 2üBü\82óÅéË\97.\b¼\91y2×\17\90.$¸bâ\vÇ\16Yf\97
+\1a\11»æ³FÇG.Îg £ãóÙìô\84\84\84/\7fßÄx\1e\ 6CI¤Éi´Ú}>\9fÄñ<HfͱÒrq>7\8d\93\95\95\97\97\97ò<\8f#W«Õù~_\97¬Ök<Ï3Ìó|ß7Îó¼ãÏ?[­Öùþ\7f\9fèz\1e\86»]®×ëõ\9b\r\86Ãc±Øú>\8f£²Ùl¶{=\9eÓi´~V½¹rn\fâ¹7*\81ݪ\v»Ô\17é\90\82ù\10\99Æw\13XßÝé´©ÙBö[\18\8e÷_\8eèl_ÑÄ·ÿ\8aDkÅ
+Dk\8b¤\8e\8dÌy&\ e\14\84\f«°\eê\92\12¿\1cp¨i5=øáP(Ú\ 5­\9e7Ofx\17SNÓ\9bE=´=° º\ 1\83¸At_Ï\92\9d¿i3\9c\17\87À
+2\8fºEëáf:\8a\93ÀhWÍEQzûG9*/Õ´\ 2\10´_´8\ e\8bu´PÚ/ã´>Xú\ 1Ã\1dåck\90\94\12h\9d\82Ë\8di\17æ]\12è Â'Ò\9d§\88\buSx>Òìàá¯]\f\1f\19qüeC(Zô?\8f\99ëôhüݧ\ fÂ*ïÝO\ 6r\9c¢èú{>\1a\8a$WA\9að¥¦îvú\1d\9f­(X¿bö{\7f\14¸Í°Q\8b5x±$Ñd\8aEñH/\9d¯¸\9d¨8\94\ 2cnC=¼Yl\8b\16qx`ì\95\ 5\14\10Dj\15\0\ 1ãû
+>HnOäú`{Ò\95 §*¨\ 1@\f\13\8eô\97¨¸\7fQ5\80t¹DÁ Üø\ e\8eÌ¡;v>¶r©'|\ 2Æ\8c6iS\8a¢Ò¦>\81HA\8b\ 2TÀ¤ÏÕ\ f¼\ 4Ð7ìÛäO¢\Årç0¨ßÄ\8f\8b\1a½pZ<&\r\180\e\ 3\1a\rj(Ñ\84\11ηb\9e\çc%&.긠     íÁE>\83\82^Xj¿Kâ\ 5w1T\95}\0¼µÈ\12\82\aÑýÿ\17ÿ\96Ãè\91Ü|\10}xÊðFí\eòÓx,âæòoærSÒ9&ÁA\ eøtp^VªWòÈä£6Ùåúc\90Î\8a:±¾2\84«Ê}\bÝU¥å8ax[\ 5fyï¢Eë=\ fÛ\16È1_oQ{n\82áfMC\12\83\8a<ådÑ¥Ixí\80xõ¨E\90ðñ(:\98Ae\171~äÙùHG\88è4ÇC̹
+"#^ä(Ê©­+\98Äú¢\8b3?Õ\9a\96N¶öÊ÷ªm!\fBóï&M\9d\16\84\b\12\85iV(ó\15\8e\ 4)«ñe9ê\90ù*J½?#\b¦Dj&8Äé¯l/nñµ\8eKЧP§ò\17 µ9\ 3\861Xü\rx\Ì\84És2³>´Ïä\99þ³$alýn±HàγÜÛ\8fé\17\10Hà¯g¹z8ö6Ìø/*ëèéÐ6嫸ÃÓv\ 4Û}Ä\9anÅÎ,\8665b\e
\16è¹{×­\8fWy½\ 6\92§\9bL/xÛOd0q\90SÝ+OÒP¶¥§Z-áddéÒ\ 3 \9f\91\86¦\91È\14¤ÑôaT,\1fÆõ@\9c\1fC\å\90ú\10¤èB«DN±°=0¿¿\82.ÁM5<\8c1e)¢X\9cÚ\16»\10\9c´\94`)$ì\98.¥z\91k n9ÿJ\ 4¥\905\15ø\8e$cÁv\Ä_/s¤Uæ4
+ÊË\ f\ 2NRkïuÒ­\a\15\13\ 2_\8cññ\vs^-÷@m\ 1x\10\1e´(.\ e®A\82Ò\86¯\1em\9c²\ 4ÿn7ã\99ÒÍwùT©8\95\ 6Û¯\8aN÷D~ð\rÑmÇðÁ_\87¶ÑJdÆ\80§6ßE¢\b\1aI\80\1fk|P=¶Åe\12`c /'\98\9dH²µ¼B\8b½zJmd\ eÖ\8c\16\8a´ñ\81q\83\ eNð§v\86¹_\9b¬½êÞØ  \89S\12ï\ 5ý9A2å´\98l¨×ËEñÎ\r\9cC
+½z4\0>_T0nù໾SçuV\95V\11ÖÁ\9a×tdyJ\ f\94\1d\f\8f\1cØ_\ fÌz¸F:¶cØË<\93\1c
+\18ý1Òtt\e@\87\0Ú1xþLCª\ 4Ì\10âÓüÉr§l\19\81Ð\8e\91\90\99\16ÏpLȽÒA«\96;-8­;[Û¾+\12±\fî\9açñèäYîz%\võW >\81éòx#\ 4¯à/Ï\·»O%òªaÛ\1a\9aâ\1cu\vKËðtâ{Ñ!Í¥wD=Z\vü\1cS\96Ê\8e\8cÁ\ e\13´r§#Éé\fðHsu»'U\8c\ e«\ f\ 4\87)?«£0+\9eQ:\9a\7fÓ(\1eî]¿FabN/Û[Ø9Beõ\9c¡kú"ô«~\93\94/åÊúNP£ú+zï\9e*Ez\95A0aR\ e¹\1e\9a.­`\91°.>Á\b\84~vN¾s\82jLg|Ç\8e\13Rón¢\9eG?K+¦9o\f6^»Þ`\861'\82ü\¶ðÊA\8a\b¶©e\ 5\ 6\81ø´;­ÉÑ\88±¾VKÙ\12\1fG?ÞhO\b\17ÍC\10CU¢úHüÔ¿Ú\ 3ó\vØè\ 1#òV\ 3{Ö]\ 1£[eß\968©%fZ\86nÏå\96~\90\8f\aµT¯\ 1-\19a\83Î\8c\aÀ`ú°²\82 äÌ7b6\9eÆ\94/¿1wó\ f\ 5Hv\8eax±ÅHe\9c±âæ
+\90ìÜ\9bÅÈ\95\94òHRïÐîØ× Ô^\rHzíîS¤bý\f\93¨\14\11êgÆ\ e®\19\8b)Z¢á\17Z\9dU\17\8aR\8c(¼RÇ\1d\7f\8alµH\16\89\9c¿\b~&»\80§(óu\87ñU§1®Æ\16Býþâ\10àK\8e·L\b¼\16\86r¤©øMYÁ@*°A\vÎ<[\95Ü2²ªkàZ\1emëºúô&\ 5Ö©q-\1f\11\8f\92V\89Bn\ e}ÈSJ\96WprX/ªcïÜ4\8fÃpÊ?ås\9b\1f/AÎeðN\99\99\8dK\8eq\91õ\ e!QÃ2häªTÇ%R\95ÅU²\90h¿\84ncê\9eâÐÅ\12©%\ 5©óб¸JÁó«\80\92\ 4\95;>\rm]\8cÿ°ØèõúÃ\90\8bÝxG^Y\19H\8fÆRy]AÕj\e[C\b\9dÂV#J<õºQÏÍ®Li\ 4ÆÓG\11(DÖF¨å\9f/D>@é\ e#á«\815·$ò;§\19\ 4\9d÷ýµ\87^ÆøaC\0'Z8\17d ¦q²\10ó8Ä«Å\1fRÜʵ\ 1c¡e\ 1e«³Oõ¶:Óh\18@R\ 6M\93ò%OÌ\18\11\br[þ"B~å\94Ö\8 ¦uö\9cÓ\ 3kW;à2Tð\86²î\ e6ùÝ\99©ó\93wihjQ£\83/ãä¦íÆ\89\ f\92v\94ç\9fR¡¸ä·íUQâÕU×M/´le¦áTÇú\ 2az\16À\98O\93\86\9dÈPFY©\fÕ\11T.LàQzî\93¦î*»\8f¡)\12\9fR>¦JÈ1\1e/¸¯\eÁSGtÛ\v¶ä\86eR¥Z\97\1c\18É\8eÁÕt\ 3u[\83o\92x6Çz\9eTnÝbÚ®¾®Å\1d©kÜ\9d{[{\Ï\83É6ä\1c\8cÆù\10ÙâØ\1dpç0\82Òs\àÎõ\fÝyÇF^Û\86n7JËçá<#\90Ç'Z\93»Ë$ê.ÿ\82u41i\1e\ 2\9d«\eÇ0ÒR\89Ó\8f©}1,mÙ¸/¹\88[\93½%ã\86\16b\8f¡ÉCè\1c\ 3\1a\1ej«d0ÖÈEVÈ.%i£YíÆÝ°\89! ljªÂ©êw@Ó#º|m        w¶x\8d<\1alwO\88>\9bÔù͸­\8aî9èô\8aKÑ4mN\výJ\8bs²K\92\9dé·2²òQÖÀÎ\ 6Æû§VCwàÀË;¿áWWwîæ/³\17\8dÃÅèõ³\18k3jÐÅiZWOLOª\9f0i\12Q\18¹\87ÃFõùpÈÓëÈÌAÑoz\13\94÷1j³²ô¿k\0ÏUYUY*À\\17îØ¯Ôx·\7fÂGJmÉ·Ð\186/[\15\85ó>¦\16à½Ý\89Þ-Ý\ 6\94Õ\98v'Af#Ï#\11ÃN\91;¤ï\83Ê\91Ø
+hî\9eéQ\176ù1\8f\16\9fÜ\1fbÄ||å;?úGs³\15\9fR\f\1e~ uN¡;ª%Åñ9\86ÜQ\18Ì
+\13\93vÙPg\ 5\10?\15\90HóÀóh\10\eÁÆSv0uT\13³\8a\82r¨Â\1a¬zõ·~êu!ãr\UÀÀþ8\86æ!\9c£AöF¿ºÜ\ e\ 3i1ÂZ\ 6å>»¬mc\98\8d+P\ eká!v@f\98úÔ$ùÀ\97z\9dVmÒ}[½Ù¸)ó<$:ÀΠ*ÿ÷s~Ã\96\fz§i×ýÎ\1ek>\r3a§ºíó\9cî¼Á\8bo÷p\ 1·¥@t\8dþ7°ßÝØ\19\ 1À\86+\89H\9a\95\ 1\18Ë»\13GÜÿvïü1\e¼º¢¾«e"xm¢\81fÐE\1cG\14Hb\ 2\ 6Ûî;xdp ¦`ÑÂ\87s\99nm¦Þ¢Ó\8eW¹ýàr\ 4PЮ\19£\84lÔXb\9cÊå\18ÚE\16*¢ãS\ñQÁº\15!bÊ|\9bÇ\9b©#\81ÍÓ\e\93\99ºltwLcZE\ 1{\93*ìÈ$xKÓ½\ 1\15á\9cS\9cp¼RÒÁ\9c·2,R%ÎS\7fH­KÛe\19ûéWÎ[\97\17ïÎS\7fX¦Ïz©ý\ 1\80Á\ 1vº8Õi\ 5¾\ 2Í\16\86I¯®¿EÍ\8d¥ÐM\94L,:b\1dx\92Ü\98r3´¬ \eÐÓÕ×§r\ 6ô}s\80u\9fNä}Â\ 6ÕÎè(\97ðë\9bsD¹\80\0jc\8c\18\1f\17À\8d\e\b¼øÛhó\17o~\80\ 4\94þ\88çK.ùVE\8e\1f\1c\10E]ç\7f\8b\96&\8c\b\93º|é\ 58\v\8d\1aÀò\ 1ÄçÛ\11N"à\14\b\88\bf<|OM\9d¤`
+ný\80Q\91Ò\ 5õª¾7Õ(u\86¾]=SÿKÀݬ\17\8dó\bêíç­KW_øK¿ªæÕ\85¤x»x\9fKð'L\9dÀÝÊïù'\86\18bÒÁ;\9f      \ 5<\97\99\8c\1dé¼Û\84éØò<\97\92I(\95@aÕ§¹á\9dV+Û\14êªìSýÍ\8e\bélͤ\1cq/\ 6ê\17É»\96T\108O\eÅ\80 dÀ\10\b\13\1cpÆa¥èØ¢\8dO}i\9d.ÑBÒÇ´9\17¹¤p3\@\ 5\1e\r\17¯H\0\9b
+\0\9aà\ 16\b\80\82\82ñ"\14sè½7âøë(\1eà*°þ\a\98¡E½\1aÃuKh8zÿåS\8aÅTØ\v¹\7f»Ò½\18zÆ?\16Ö°|Wï\13ªÿ\ 1D\13J\ 6\13ÉR\10ë\81\8b¯ÂÂ3mÇÎÍ\94¡ÀuÙ\1dÓ\eÔ\9br4"\1a\rñÌk½,\9eów9Nþ)*]ÜåÆö(nÁq9qß\17;nÁí{Íänitå9Qq¹¬¼åÅ\bw- w\1e<\f\87\1a5;N   ÂíË\9c§}\14,±s\97\eè \8cªrã@\bO\11\a¯\ 6\16V\98¡\81|\9eàa\80H%\ 1â:j\82D\0¿¾K\9b\0+ôéÓ\ 1×>)Ý"Oc\9d+\ 6ýçÇp\18\9e¸b\9dàá£\1c57\12\9e:u~ìëò\9c¯7\ 5Ä\1a\86\e\82)Î\ë£\85ùùolÓäùS\1a_\11
+ê#J\ 4ömÕÆ\86áà\1eWâ§#R]î\9b\82öùd]ª\95\89Ú-\ e\ f¹þ\19xÃà\87\88¿Iâ'Öx\81»{Ö\9c§\8f/Â@RþVbè6VÃCæ\18hfù\1eýUk\83\18üNù\ 6\0g\ 5ùT\eÃ\19@ò7ï\ 5¸\10xQS\9a\0¢Ì\83\1crÂPѼ½\111{7¼\14C¶ù´´\a\9c\8d\9fI\e\10"Çø¢ç\89ÌÑ\8e\fåIf\vá8^1HÓ\98\14\8e9³7<O\94ÝÑç[\8c\1fF\84é×\83ØE1³\9e\1f*R8øÆ\15UèÙÁ1¾ßÂ\8bÕ;~ÐY"\85¿tÜbà$\ e\14\19IeF\94±\8bÞ®¬QMÃo\1d{[Åïve¡\90
+C¢6\97Ô8\90\ 2EèÞÚ\9fv\ 4\87SP©ß\ e\ 5-\1f6\88$g\9aïØÝ¼´ý.ÑÂ9¿h\17\99[*\8e\13\a\19\90Ûèl´©k*/*²Ï++ÆÞ £rÙv4»·\83\ 6Å0\15\85\82\r¿ bHãún~Tª]¨k\ed;´\84\11Z=6·þO¦ò\9faôÛÃr¾\19Ϲh_)ÆúϨ¹óQ\ 3\ 5ÜFX\9dòK\80ü®ÒyÐ3\1c\803\18`f9AJ\95\8d\91ÖZÏ\1e¬M È9àÈ>\14ú®íÍbý\ eåV9r±ü¹\15\8fö?\97\9eÔd\9e\e\9dðà       ÷¯\94ä\81Écª\1eÚñï¼7ç][\146\bîò¨\92^[°«´à>\8c\82Q\7f\ 3
+ª¾1{»C\r¿J¢²\95ã\98i\ 6.t²\f\1c³\90\82\17ÀU¦ì¨êËM¹O¹?\84ÛOl¥?
+P\9aã­\93¿\1c\0·á06B\ eg\93&\1eé)\9c\12\ 5\84»êLðá¨A´ucêlöwÕ:fE÷2M\8dc\96      \ e\ 4È÷­á5,ø9]aÕv4Û\96Ç\15ª\17ú_\11.\96\10¿5\es#\9f¤4ëîJCLæù\14\17ê»UWÝk\ e\ eÊ\7f\1e¬,êÍ\rIi ëM\ 5JøO.\94¾\ 2¦\15±Èÿ\87£0V\9cp9Ý%+G\e¹\18\12Ö!æM\15wÂÆ\94o.5:zG&5~zG 1"\8f\9f/;>g}>l¬ü\17©>ÃñOã=Yö\9eÜü7ï\9f\87w?\8eêÏä\1fOÄÂ¥\91\89K%\96K'à$þ@×\ 1\934l\85\9e¥o\ 4ç\1a'_êå}\1fRxXî;À\ fñÇß\86ó\86Шêäî£R\90\15«ù\17Ï\1eõ\83\8b¤ü)QI®Ê\8a-\80~8\1a#\eç\1dÒ`¿Î\ 11\90-\e;Ö8BÒ\16
+#RÂ\8dzUDÀ\14Yc\11A¨w\83ìÄ\a\eĬ­1Å\8a\v\94\9dÒwñ»Ä­R¯\1crU\ 2þE\vqËñP¶\15ÝKÄÞ\r\fT»f\8d\9eÙ\8fL\a\89\11ô\14Ç#ÓgyN\8a\ 1\81\a.ºfoâ\ 6ñ?\11O\ 5Á*xösÞ\8c<ö¢\19âx      õEìrC\v\12w»Ô!tó\89L\ 6Y¡õj\17\ÿ\1eó\7f\10-ÉI|HØ3\1aÑê\15¿,\15EÛò\9dZ\18\95üüÆ=൵#Qd¹"È\15§\15·+P\85ݦª¤øÝÆ\9e"\11ZKÓG©\93lìL#;æ·±²©I¶gÁã\93\8e\\9cnÉÇä%ª5æª\1f\9a¯É®¡ë\17\14\8cíaR©=K\92\97P1Å\16ã\90ñ²O\ 5YÈK
+UàajÄç)à\18wèy_v\v0ÿÕ\90\9a\90\90\89\7fg\13 N{v\91å\7fòÈM0dÅ\8b\ fJä¨\98\8c\96=»ØL£O\1a>Þ?ÆhWÛd&¥âeƬbÙ  ²\13ee2Ñú=\1c|öϯd&\88\87Ú\87Ü\v!5/ÿ\9b!5¢\7f¢\8c&\91\9cÊé\19È«^ëþb\94\13SÃø\92\11\91\9fM\90\9ai7U7\8fÂ\ 3\fß~·;®å\15\1fáÇú\ÎW¦Vi¤_þì\84Ñ\11\98]\8fÌ]S\16Ò|&l,\84Í\94ÚÚP\1emCJ\ 1\8c¦Î\99ð}È\ 6\93Sp,\84ÓàÒ\80\ 4|ótÁ¤ÿ¤ÙO©\95²\13SdÒ\7f`:ëj|\93\9a+\17þÒ,,\84\9f\82«ª\10OÙd&¶þßñöÑ"|4\96ÖIJ\13Ki3Ò¶\93ÅX_e\90\9a\1a=×2\9bjRÚK\87-¤±ì\87þ,\84ÖÞ\9aßé²\13P4 \8d\81d&\83\9f\9dÑ\9b^ªÿd®\93s\83ïíeåÈ«ÀÒLþ\ 6\93Æ*Ù     \9d¹4\96\ 2\v\1f\92°ò\1fý²\13Qm?Å\90\9a\9bWIOÀwüK!57LùÐùó¹¯I[ ÔK \95é@²\13Jé)} \aG\19@²Hp,\84Ô~&\92\92<§Êé9ßó-¤£¬ÚÚJ\aÀ²\13SkY     ®\8cέk!56¾l¦\80\bßM\90\9a\81¤ù\88i8Éÿ\16Bj\10\9aN\17Bv,\84ÔOÝd&\81ùÃI^\ eRÊü#E[<ÞÞ<\8e\1fÊ\80âí\15û\e{'Ø1÷CKÍíÕGÓ,ãõë'ÏYÃÆ£\93î½¢¿dC\85\92\9a\8f\11£í_¥«\ 1\90\9b\86ÚÕmJÚÔT>¨¨æ\14
\1f½g'\ 5\\81Ï·U\93×´Wï\94³w[IÆÒ©\8aWî&o\9d\9b\89VÉ%]|Å-¤ãÁWÜ«ê^WG\94¾\13'\120/­ÙÂ,Õá\16\8b\8b+çÿ\92¯^\7fù\10.
+\8fe!\9c\ 1G\8f[I¯¬Ðàh[I]|%t¤"+        \90jñÕQTúGñåCî×È£dP<)!0\81¤ãÚÚM\91ÀÒFÎ\ 6à
+UÓUÖáÿìi*}}\8b¤\97ô\r$¼ i(\ 1\ 3IAï«I/ ëÀÒP)]$ã i'YØÒO*û\17IVnÆ\92 \ fñt\95R\81û@\11×ÒT)]$ò:úIÝ@ÒPÂ\ 6\92\97\904\92ö\81¤\9a\ 2ºIæ@ÒTÒ\ 6\92Z\904\93Jëé&x®\92s\9d\8d$ã»â.ð4\94¼\8aÄaýö.\92f]\8d$Ô/±t\96bìYÄ\80ã¹[ù\9aßÝ{8\80äy\82\eÝûh\92\96ÿ½ûìøÌÀ0Ã\0\10%Q\ 6\12§k"\17XµÊ\89T\96ª\80$@v\12jË]\8d§\98`¥ºjã\fÁ\98Ík35-\157*Väb\v\18\97\0\f\11\19iD¸Í6Ü\10]½lQe e\fÏ\7fý÷ï¾Ì\0\1a®o<ïyÎwø{ç\9dï\9düqïõwð3¿\81\85/½¥¶Ù\1fXä{ûO§H*"¢foé\93w¡E\14\ 5'é¹Sóù²AÞG\9bèC§:n\r¥¦\8d\17Ãô\1a\11¿\12*)p¤\97Qðøtd\89\83\96\14{9þ®èL2\11Tf%\1e\98ú^\90?¹M\1f«Î£¯+Íú\0¢\9fÚ4Q8âì¿È¢x?L"Ã<G,\16\eb}­Æc\1e¸#\89ÄѦ\89\83='Ò\8a'/d°\91MpbIj\r\9c©ö\ 4s1\89v¾l\85z$\98{\ 2\89\8a"\80\10f¯8¯
+\0r7\9e\ 5ºvú3bÆ\92\93R;rqãÉÄQ<J\Õ×|ºJþ5ç¥\A\802G°(\80p\8em\10\ f\8b\9b\8b[\8b\91H\95À\r\1cÀ$Å\19\12\87ð\10\10
+ÕÑt\rM7±Pð¸¸\86
+ز\96\87zÚ9û9ú=i¸e¥y@b¯2\18>ÏRP\1a\14\9e\97\13ð×pÒä4Q4 \8aQ\97SDù±\91DW\82\8a\bÓ"Ti\14J\96§±]¦Ô0lØc\86÷¦e\ 2y(\9c\97\14
+G B¢\ 5R$LR X~(\95\9cÁD¬¦\15³|\18\18\f\88£r\86C!~\8c\90@\ 3E\14\13\86\bë\8d\1e4\1dx\1c\ 1=­×Ï®\9fákV&\8a\v`EMÞ\91êR\9a^\90\85¦E\12Ò)GY\ 4¦\ e\ 2R¹Ò\ 3© ?¿\14TÉ&LË.\8cé¢\85aé3d\8fi\11&n\r× \ 4\89\18XÓEK&\99$T£\ 6\92dRô\95\15*\8c\12E\1e\88\96\18\13£"¥$\11R\89z\9a*PK\17­êH\9b\8f\ 4T\9a\e\95\13E6Õ\1ayº3"¤\8d>ú½EESÖ¦èò\94AjSø¥-äI¢£é4Tz'Ú2;c/²ö½íÌ\9b\ 4ÑT´\9a(\17Ê\ví\1aH¨Ù(.ué"\83ý\10fRÍ»bPh\f\8a\ 14Z¢\8aO\13jÿ")H«\15\9dú(0SDÿ«\aȨ\9cIî%ED¢H¥ÑE\15\11\89n\14AÏGbê\91\a\ 1\15     \ fx\9e\8e\ 5¢\ fJy´\91P²#"±u-_M¦\9c}Ã8\b\9f}\16\ 2*\ eKÊ&\b4Ígèä¨ÑE+H\92\ 3\ 4ÑP8Hs\91q{\aÉJ\88\b      Ñ\b«\ 1)O\8c?4SýßÞ\9c\88\91\ 2a\10ÎTI\ 4b$BME\14û)9á\1eC0K)i(\84À\96o*dSÝQ_¢\9b\¨§°.Ó\0\9c\91é\9aH§£`\92R\84ñ¯{\82dSÊ\0P·è§\8cN\1fÎP\ 5!g\82\8a\ 4S¹ÑßæèÒî\b\ 5PdS°\17\0\15t÷5ƣ«®2)Òò\91X\b§-Ò>E7ÌûØ0\8c\8a\9f,\ 4S\95Ùߢ\9c\8c¨\9e\9e7pµhÇ\1edS\8ahÒE8\88\93\18\18ËUÀ\f¸gÿDS~"\17æ\vÕW+Ñ\95\13å\ fx\9dJÅÏ»*\b\9fY}ݽýûZùåÏZÈfór\17úJ}÷\rÂ\b ½}Þ\9b;7ÍCb¾Í±bû»i¢\83Õ\82ZJmQ'z]\99ïòY\99'ÍIÈD\802\8a\89\986\8f;ZmÃÚ~ûKKÛKO\8bäKpÑß½\8dóSpÊMSE\ 3\1a|öû»vvbM\14\ 4\89\8bÐ]]\1cÊ{\84"\82à£\13ø\91'}\0:³sÚ(¨)1i\1d¿0vÆujÜb)L\1eâhÍÚ7½k\ 6¯zJnߥ»Á«î'M\14@ff\10a;\0øD\ 1ñÏå^ÃxÀ\11Dw¦¿\8a\92A0üÓE}\ 6
+*\11QE6ï\85E!=ôîL\8am²µ\9fúvÝ¢Å\89¢¥\89$T¯á"¢Jý\14è\10\99\9bÿì\15\86?\7f]-ÿôWç\8e\86\ 34Zà¢|ß\ 5\14        ¸( qé¢}/\0F\1c$P7¾DÿÎ
+(\azh AÁE\ f\8bäPôôÑC\13\84\95\fǨ¡çÁ+\1cºh¡«|\8a\ 6þ\9a(\19ðQAÇ\82\8a\17\\14OÚà¢\80\15ò(%ðQD\v\82\89ú¼\14P\13ôÑ@>ù\14\10½4P>¾E\f\9fM\14\91D\93ÓE\12\väP\1fôÑ@Ç\82\8a3\17È£\81ý\vq\ 4r\9cÜ\fAàcò*|\82)ߪ\81$Ss\14T\8aò\92 F\155ìCå\15R|ȱ4wc=!\15!=b\9c\12à+\ 5¦\8f\ 2\83DPÙb\ 2¶"\19±Eq\ 1\\93\8a¡Þ\0\15ü±áèd\0XMúQ¢øÜ^/\15ê+o\ fB\8fäáÿj96\89"Í;¡^\95Å>hß%F\r$Ye;Á\vIâA~\80:ÈÀ:\97ãkÓ#\ 5.3\rñ¼@\17\ 1(í´Ï\82GD\ÏÍ\15\86/\83\16ÂZ¿\\19@ åO°Æ\9a\ 3+ô¬ hö\12\13Ø\1dõ£.?öSR\0À(\8c\ 4\98Ào\13\84\v\ 4`l!\82
\86\f|0r.pLa\a\82Á\18HÙ÷£
+>\18U.ë0c~0ÂC\f¤0Ò#\rÂ\94aÃXHW\ 4aì!\87ðÆ!H\÷¢á1Á\18\99ò+W\85þã\14ß\8cXûg¾\18õèÆ\ 6\18ÅöïÃ\18Óñ\18Û\bc\8c!\8e°Æ<ÿ\91\8f\9e¢à\99'Ná\f\87\8622##É&2AFI\8a\90Ld¢\8c\97 \98É\98c&¦2ziUªDe\eôWpà\8c©ú\f­\802Çä2Óç¢à\fºX\10oÆ`z\8b|m0¯Æc¯z\11y\91or\96\9eQ\99Þ\8cÐP\ 3_\fÔ\98Íi7\ 4[Ñ>\19¹1\9bÞéøC9`"Þ9ótº\8f\86\bÏXc>\a7©¿\19ø£?½\1a\0X(®âz4\1a#4"\19zcC&4:Yò\8cöôh¤\9b½\10ù\11£Q\1a9èÑèîö\11X"T$4\9aOïþÌJ&¢B\80$\8brD÷\7f\93f\92\84\98ÓnÞ\8d\15É·ü~ôj\ 4¡üHj$sïw{Ô]\81\8b\0jt¸¾Ï\voà¢Û\99\11®Þ\8d\a«Þ\8d`,\14W)$5\9cõ\8aN\7fa!\80\18×\ fR²lÀ_ò5Ú\7f\97awL\952¢z\8aâ'£a½\e\11?Ô9\806;Ñ;\f\8aÝôóù[ô[C>E­.\10Ùéu}4[:°\16\0Úxcj¥§ÉEa\8d°a¶^\8d´\92+zð\91l£G\85\9fÁ\e\87¦7\eѹ\v\ f\1apï"7;áº\ 5¿Âè}\9e\bÝ\85\eµðÝÅý:I÷ý7\19`\8dæ\98%      \rê\88ÞÂz\8bSÑ`\rò\88ß]1¾ÓE\96ذß\9e\13\1c\ 5\1eÿ¢*\1a}ÏLpT»ß¿Án\98á(·\90Hp¼\a\ fפ8rC:½qy\863Mº#<½Ï¤8ª.\1fz\8b\0Ö\ 2À\1cdÍß\ e6^¯¾\1cvÌI\8e>ûñ\9d\18r\16^ªC\91\14r=úc\92=\1c\97\a\8bÓn\98å/º_\7fÔôÇ-K§é\8e+\849\89µ÷£\99¦æð\1cÕèæÉ\ en\90ç\ f\91nÈ,\ 1ÎÑ\1cñèç¸C\9f¾ï}ÿSÓ\1d\r\1dþ\98è©qûÔX¥\8b\ 4t\93nü!Ó:c§":}}ûãÌ\8bï!~\88·\99\9e·ð§ß\ e¬\8bw£¬"\8b\8bÇía\8e¹\80\8b\11×ðÇaÃ\1d\8fû\8eË\82;>\ 2+ªpÑ]G\86\8aû¼4WðÿÀî?Üw\\ 4W¸á¢¾_ô\1dï\fw×ȱiý\a\81Ã\1e\rò,[pË¿¯Èx\9c\ 4WýþCÆá\8f\1f\86<\8e\18òxcÊà"À¿\r\163øh¯GÃE~/ä<þ\ 2,    ÿAèß"Äçò\1e\9f\ 1\16>\7f õo\91_Ûú\ f_\15Óíz{?û\98Ù        å¹¼ßø\1eïô\1eôBgôÚZ\aí\ 4¿\1f\ 5\93\1f\rì_æ\1f\15\11ñ\92\1f\1e½èù\ 6\1f%èùHÁÞ\98ù\86\1f5!4\f>zcèa\8f¤\98úh\8f¨\98ú»÷ 'á\ f°¤ÈµA£L>,\ 1÷\1e\84\ 1\82\8c*·xb/$ä<\11ù0ÇæüÇçÀ\1f«¦?f\0ýß\98ýÿ\88þO\8a\e\14\87õD\7fc\ fîù-\a:=\84V\10ÿH\8f÷ýÇüZÜèvçÆ7QÖ·C(Ýt\9bxLãxY¦ðþ#xÍ#xß9¾Cvß©ù[Ç\·\90vÝãm"\r.{VÎëmj\aÙì\9c¶¼\1fë9Ím®´qç|\v\ 36£Å\9dð+\1e8ç5
+\1aÜ\8f\13'N5'|\v\86þpj*\ e\1d\81µO´DÕ>á\ fnm^àDÕù\ 2\1f²qu+a\13\88zàÕu{ÂùÙû\1e\8c}6V\8c)¨KL-\93\98\96\ eeaÄÌ­;d\v{ã>¥C¿\8a\ 3\8aÍýÞúEâö¾\8f\98Þ\99o\94\85,F¥\a%Ô À\1a¾\ 3\85¢u»E³R6V'[\94[S\91²á:öíu¶­mu\96´áüÑâ­+\ 2çà\1e\8f²\8b£\13¬[¾\ 1Y,9Ô\e¾\ 2ÕMKë@¯mës\9bÓN¡«,Ò\19M)\vO©B\96Qk\95ª\81Deg\ 5#FJÕ\9e\80öÛ:´\15\ füIòxý=\9d[ñ9»gV¥\ 1ë6c\8b\14Öê0Y/\9aå@Õ   V<yax\ ee ÷<\ e~ÍGFnãïs0\1e\88¢ÿ_3m¬¯irª¿|\7f\a\8b@¡£\95Ü\e\96·25íº\10<&jªã\v`\a¼û\9a³Ô\ eL\9b\95@ÿfÌ\b\90µäÝk\87Õ\93uÀ#æ\85\1fT´q[7>qßïýh+AN\9d:\8b:^ÓÊB\ fs\17\9c@§±Ç\en?£Ï Jll¬\9d9\19±²²Ð@­\ fûÀ\9aPí=\8dJ\ eëÛ-î\10µãHñï8ÏÂ;Ùî\8b0¢µ\8f&{~_[\9e\85ED?2¡þë/Ê\8e·\95\80·¨\7fî9\93MyMwîþ6\97«4\88j9'\1c\1eÅ5D\ 3^G1Ý{^72\9c6 yØÚ\8e\95 H%\16ù¶¶õ\10¥»M÷aUôÕsj w\11Û\89=ŦᣥÌñÁñ&O\80\92ñÔé`¤^ZÜÙÊbáW¼ööÕ.Z¯¥@'qX:þX{\a4þZ\1c\11Ç\1dK)\12\1eÒ\ e\9e¼oÔ²\91\ 1æ_E\97Ë\88      þ&\1c_VãV¶ [,{\9f\ 6ªvªnª\82«Ìª¥ªö*¶U_\ 5VÞ«\7fU¼ª`~\968Þʦ:\ fsݹPÛ\9eÖ/Ë#ÑO§¦B8è\0\1e\15Dàa9    \9c½ LèOg£Å\7f\9eR\ 5È7Óàå\1fÿ<¢ZI6\1aî\9e\93\81\94\81rÀí/kP\12\82ò°Ôï\15©¦@2pµ\ 2
+é&Û¨\98¬ApÔû9ð£»2qa3K\8b\9a<4ëâéÉf/\v±Î       ìEÚ²së\99ÍÄÞâ_q¯Ü\ 6\80ÁF\96\10¾Î¹:í%¸\a\14ɳ\88r_º\1e\85[HZ\9f×ñåÍ\95û\etGX¬¯p®ª:µYÞ×µ\¬ê¶\91\81 èî\87)P¦è;|mm\9fÃ\16¦-·8pÏØój*έª\rFªÿQZmD\9cG\ 4ÖÞ¿\8eüY\80g½õÍÇ%®Y\89;j\83¤\94\89ú\84÷_ËØ\13ñj\94ò%»Ë»#¨|K»*vz\e».®\87¿-R°oÚ¯#\9f·hÕ+3nVå㨳R4h\95ük +ËT­\92B Cò9Ý\8c\97ÅCqQ\0>¬­áê \88þ\10c\0\1eq\f\95Õ\r\9c\8eõ·"pºõ*Ñ?x\18þ\ 4¼\8f\1c*AúrîË"Í\ 6ï\1d[¹¹A\82\8d!ÎZýz®ÓB\84ǸpZ\10\17é
+\8eà\95B\\90Ͷï![L­\96\89\ eÂɵ®²Pøý³\b-%\v\8b¹LYìÐ\8fk\8d\94\99\97Î\87\9dSû÷åvG~\8f\9dT˲
\f/\9dU×ËàùÓ\95\10\15Kv+Gäè§\1dü\8e¡fJÒ\87E\a¹\9d\89\9d\9b¸jM¼u     Ó\84ßcíì³áÃîX*glÁ[>\ 3\b\ 6\10\9c\9a'\84è\9fV9á3Æ@oYâ\91ö«Yª\ 2^\99S¢ý\1fªøé»È\82wW\16åÝ¥\ eWnò§É\1dïó Èǵ\83\91åÜ\96DPA´¤G;ßf´\99"¶ÕYs½ú\146ðy+ZX\86¨\17ZRáàk\ e\7f\9d\ 4=;T#ÿbª\ 5\81\81|Ínl{et\9f\83ÅNRB\96Ø\14¹§á\14ê+\8bò\17é¤\11ÀVû\9cq\8bI¡+@óÈÑå¹Iö%G«\ 42[ö¢\81â³~+\90\8c«UV\ emq\ 6*Üâ\1cÿh°Pí       \10.Ô~#ÆÖ\0á]U\96Õ\1f\93«l\1c\88½·\97¾ø-]mWµòùÿ\ 6Ò¥@gá\19ç\18B³ÍHñXC3íX Ê\15\82\9d'bÁý\94\ 3\ 5ºN¾¤æ\v´\9deIæ\85Î2¤ãOÂ\11-Hý\ 2Ð\ e\1a\86p-/_Ù©'aO\91âµs´ÝY(\98åJÔ(\1fÁêI¶âM]6s\9f
+6Y»²\\ 4©^Ð\8cÖW\8cû»(¶\1f\9b²©\?\86Õ®ò9]}¹íHþ2mh\vp\840êût2\8b ,¶\99:ý®Ð\99\ 2B7\1c£i#ËKÒÁ\9c²\8b÷\ 2\7fËB>\a·R\12 1å \e`{x\0h\19\95\84h´¤\9cÜ}\96\81qiRg"\14E6L²ÀË.ÕÚGå»t\ 1\94`\10$ÄË\96DO9®íVÑÄ\11i\9eÁÉPC³°\8cxóÜ'þ¨\9fý\99\ 4ÿ±\95\96\99­Ö8p\12ÿs\15ðuÙ\93Àð0Ê\ fw² nQ\0®¦ÃIóròÅô    CÐ$ðvSw\1fj5\13\0L\8eªÜbÙIÜ}æ\93ø½à9ó/\aå\ 1\ 4®eÐJä\ 4Ê6ç1_\ 2\813A;Äx\84Îæ3\14\96(\qÜËíÏt¢_nqfÏ/yÑá¦K\eGkö\ 4Ï\9f\92ÙM\86\9b\ 5>ÀcÇ1ê\ 4«\98¦<\9b\e»<·Qf\8fm¥<}¸®ì\10+4\a\9fvÊÑHö\0Ò0­\15\8fÕ\ 6\8b\8aÒ\0s>Ú3H\84W§Ihpø[\11ßzx÷ \80:­e|x\10\13\1c\r´zµ+\90®Î GPóýªíJ\rÕsöuÞâ\f}ªèq\13á\98|Q\87ÂÃ\98ûJ\8bMJ\ 3Ûú{«5\e\99IL\9f\14    n+\a{«E\13¾öªÈ$\10µ\1dûK¡ú\1e\98I\92RÛ¯\91D¥Bç\ fâ\1eáÛ\ÍÝÔØQlt»\1cðáô\84Ír\82l
+®      ÿ\ 44\1f\1aàN\8a1;R?EÜÎݤ\8dz3\9e\fÄ}ߤÇÝ\ 1 ¨~ö5±3ÁcÆÙ\1añ«Ø£¢\14\96óõ\aÕ¾Ñ1\89h\97>¤ífâµÀS<3ÁÐ;
+\84gR\ 4®\88òdg*\fÐ\10ú Ë®6_\18\19pf +?\1cp~\85
+\9dE\98\90t°Ä¾Às\87Bøh_å½Ãe¸×Õ\96µ¤Õ\8d¸Æ¥ÝgÍZã$VÄâ\vËârú
+\82»i\að\ 38s3Ú\91\9c<r¢îÿZú³õW\13\847Y:àâïnú³Ñ­'fA\9dY4f\91¦èõ\15õg\9bZ\ 4b!2ô÷Õ\9eZLõ×ÌsóDêÅÓ\1d\ 1hºýÛË$\14»yò\ 1r  c\87\96\99S3[ì|#\91ô'Kë¶W;yIg\97\rßò(¨B©\f\97\e\99\1eóõÔ\1f\85Ê\1e;ÓÛGÒ¿\}qí_\9b¡Tº þ\ f(oþ\9c\7f\9aýq÷*\9d)üs\1eÛ¾\93\ 2\r\12^f\92Íø\9b\16 à Æ¹\1e\90\10q\91íP   \ e\82Pcþ`A°d¶\ 5 Ø\1e\90j?yH5\1fÛ°'~JA\16\ fÜô\80\83Q\9d\9cÇ\96\91_ó(]\12
+-µÔæÚè\9c7¶ºÛ\f~\8b[xí=Ð{\11*\aÅôMB5³#Åz/½8\14H´¹aÚëõVD\83\10ϳ\97\1fQè±Ú\94\8dZûç\1c\91ñ\87íΠ    e?ì\aÔ}ºö3³e|ÎÔ\8f\99Ú\91ð¼w%°ÿ\18êõ¦|57j:\14_\rM§<}\8a/\86¦Ó ?Ú!þíj/\89¦Ó©\1f\82\93âi´êÇ\909\17ÄÓià\a\13³s,X¸¶\95¨½®´Ïk­\aµÖ\83ÚëAíu öºÐ{\ØLb\81ê%m2ü½®O\8bZG/¬x\12Ê(=S\95´3Õa\9eM¹ØF{\91\94ñ\95Q\95Qµñ¶Qµ\11­#8\91\94ñ»8Þ\fkN¤QÝ\t\84t\94t\9cr\11Êã\96\ 2\17\11§\90\9e]=\99\9e\93\9e\87\9eî§³sÑSÈx\ 2С¡W¡]¡\14$\9c$ô"±H
+\94M\ 5©\17\9c-p¶\ 2Ø\89ZëAW\8aÈ\\11|¢â\vé\13C©Nó\8e×\1d°;bv¤æ\90\94°\9a¸O:\13]       °\84ÔÂ4\8d¥\8dÕÆùѺèÝ\84m98\ få\8dÔÆ\8a\1e¾3\7f\19Ç\8c\v®nv¥ñÊU¢[\9f\16\0Ù\94 
+­J\0®éÛ\1aÔ 
+\93v\93ï®Ç\97vi\e¼\1f\91\9aO¾Æ»4Ë \19\97E÷È;\1c¯ô#é÷\85}=jO¾åß\ f5\7f\96E÷Ü4\9f|i\1dOý/\91}ñ¦\9dÛ;ãO3`û-µñ\89o0gNFi>û\\8bï\83\8aõé¾îìmI¡¤û½\1ao»»\e$ßwv67Ã\98ü\12}ôé_}1,G\81ò¶\80(·+h^úÈñî÷tìÕÔG\ f\9dç´ã´\1d¶»\94HÞw_\113DÒª\ 2\9c\b\86òô$r\12êµ\0¤#±Ý^\91ïu"\ fWÿÏkd\1e¹/Ü\ fï/ZxW¾¿\82\86Ö¡\ 1ûþ|­R\91õ\9aòÀ\12?SÏ\95\93\1e¼\99!s$Ǭ'Ûð{¿á\ 1\ 5B\1cÊ\8c\80Ù\86ȸæM\eø|ï@%^³ÏQ\ 4µl\e_\9c\acõ ì
\85\r\1c\9cW\8a\11\87\W\88?\87¬ñ\ 3±QÄ\9a\ f\\ 6&Ãçÿ>ûtÀý,F£\8cª  \7fóW¼×f¬:\16r\98¼k§ïÀ ¥#ú·,\ es`\ 4«f\8eÀ{í[\96ç\8f5æÐåj"\87ÊÖ´ãÑ4½\95ns>©\19°¾7Ï   }!ý­¦N¼x¯=Òà\9dËÛùõqRµ4Ccè7\15(K\8fîLONäZt\94Pö#æÓ&N£(\97\b\93¤{OB¡Fé@¦+>UÃÅkóäû\84\1c\16½"QU/ÞÓÛfs9Îó'!Gb'*Üõ\8edÜÔ9>˪²ÎÙNYh,¼+.Û9Ý\85éC\ 5¡\95*51dÀ­\9f\93Ø\84Æ/ßXÏXøv&¿×:e³h»©\9cÌÀ\84®\15d*èY\b\¤+HD!{è]\1c\v=
+b\87ÒTz©õíb\eÃ/W\11ÚØ\8fÃ\9f^Ú%}4D\9d\8aöÙãÈÃ/c1HåzöÊ\8b3+%%&SDflsåæ\19\ 1þÿ\1a\91Ê\ 3Ù\1c?KÅcV\ f~_¨í>Üe¡«\rZx²_8|\9a^\16Ùë\98ÍVC
+G\8ei£qjªé\v\19\1e9d\92ò\924\9b\7fè\a/\89ekz\15\15\8b\85I¾P\1a[\95ùe2v:UKòÑy{\1d"\90\98,»^\9c±\97Ï1\99RÒáSN\89ÚNù§Eù\9fz?cÅb¾ó·\ 4\ 1çUuü\ 2Nëè\9eY¾1 Q¸ÙmÝ\8e\8c¬ù\8a×N\r\97\8aN`Z©·Iº\12ûucë½)ÆP\ 3ëië\ e\12S\bðý_à©\8cèJ\80¡Ó"Öóz\96\bi:\87]\925X\9ak\8aç\9b\90l|÷QiI\9c\ f²Û_=\17\be¿\82[X:\ 4GÐg\8d6þ©\15c\e\17\10"\b\94vÞqbFû\83\9e´\ 5\96W\18ÌÅ\8f©þ\ 6ÑÂLò6\96ÇÞ\99\r;³óÀ\1f®t\8f\1f\1eYs¬6Þ\1fÀM\99³>_ÔÅ\7f¼\14\11w"\13§jð
+\17Ëç±Ô;\ 2®ö\86$ÇÝ?Û\8cÝxB¼¸µ\18Itªç\ 2PEÖ±\9duf\12ûó\1e\9a\12u~\93vßw¼Ýã¬þû>\96ó\91i\9c´\10\98ob\81IÿÄu\7fæ½\95ûòËgÿ:\1fã*\aöþ\1f\8dá²Ñx1\88ßø·°ÃÈH\91ãó0Ð0Ú\88ièlt3hoß\r×Ãz\10Ìá»hoZ\18³Ðñf.qÉy¬g}Ä\19Æ\8f"!øêYu\ 3à?\ f?\ 4?ܰs/ãþj\87í(¤ß.K¶\1a\ 5Nk­ì\87RþÍEr\eµª\92Ë\85\80¿\87Çy\1eÛ¿R\a\956=\8cÀý5\rá\aØÀ8ýG\ fá\80c\9fe\ 3\1c´*Í?\88öc·       ¶\82A@\165E1f\9f\82ì{KI÷Á<\r$6\8a¤\90S\9e\95
+cÚ\1c\83øZ7¸Ö+y\1c¢\ 3=\0\92â[}\ 5>e=×\8f\15    \9c\8c³\8aCÇ/\ 17\9f\9c
+É<\ 29óJ§QÒ\12\8d'\84\12zXX§7P\19Wí/ò-\81Ùè]wLl\a\f\aê\86<µ³G\ 4Æ\ 5Î~rZf¶ûv\11,/ò\80\9e©ì»ä\19A¯ì¿j\96Oó³n±t\96jî9\ 4a$=\82¶k#òÙ¥Ú^º?-ßÂéz¤¤ë\82\95RÒ®1Ç\ fxÿ6ÉvZÑ\92ÂÌ9\96\9aT\1fu\f)T6V`:gPì'¹CèzÐ\9eã{j\1c\89>±§PÅÔÎn\ 4?\15BÅqÎÇÂP?TøößÍ\0>\ 2mxàòÉÓ¬üÐõ
+é9K\81r1JÙÀ\ f÷;\1e8ø?'^!Ïê\87æ?\85u5·\ 2\1f.        ¡i9\98¶('¥ÍB\ 5LGËg\9c?
+ T\9bÅ\9cý¦\82l
+\97\8e\18IåãÊú\fg\19L\8f\1cü\0Üú\83¬TΠk\9d\9a|4Xãö\1e?¹[\8c±ãºVMå*;»ãqÎ4Üs\8a7\1c­/\1c·>:ñaÃ\8aQ4h\10ÕV\ 5Ü: 8íy^µ%\92ïU¯ )WP\ 4Å'@\7fÊûÜ]±\v.\95Ð\9eîÑ­¥AÜ+p\94Þ6T!Q\8boÃö\15:\89\1e½S¨P¡Cw\1diÃñÕ\8fX©Ò\81ù*\9f9$³Á1\1c9\9e«8A¢w
+ÙfãÛA\ 4²ß
+\12\80 Sα\1d5\93WI¼\80¸þÀ3Ù¹Ï/®,Ég\1fè\ f-«N{¦æë\aÖy\8cf\86=`ù\1aÂÁê\e|
+PÞ¬þ°ý þ       ëÏëÏJüÏA~goØ~XðÏÆ\1d\1atQñ\aõ\aÄ\9e\12¹Ä1Ø£\80Å\9a'4\ e}K7úÏvÑÂÁ\ f`¤s@×qhâ\1cCj¦³{hã\1a\v¼\93,©w#Ç\b<%¥ÚÛ8\ 4ü\ 3ªe\v%Ád{[\10§ú\86J\99%5Ñ\92#·I3,í\15,Æ`\90\88\ f½TG¶AyNk\ 2\84f\1ao\91¤ÎI§#\9b\11\1c\88x\13êÁÒµ9áå/Gó?\13¬]'æxÐ\ 5\96Pãâ?3\7f\1f\9a\ 5±VOS\9a\0\94
+\8bb\94¹\963\ 4î÷)I7\12 "'MO&.eB|TÍAÒ[Áöh
+\82
+±H®îk§wf%ç     Ã\87BF\9f\90\85\91ËËèu¬º\9c\9ecÁ PóÂfîë<îëU¯ÿ\1dÍ\9fÍ}ËÏ|Ãèq9-s¿éüy3.#\ 5[ÈÞ\94ú¾\7f¤³\8cq\ 4\ 5Q{\eQ³U)qШ8   Ì\94\v>\1eLLµà¸ë\8b¦\1a(\\9f\15|\94;<\£\e[\966¶ô
+X\96Ò\91\80S\14£\9e-\ 2>[N\98¬\r\994Ëè<«P!}¥\8dPÐäsÙHlæ6\17K\81N°úÕíhÀ\9d±\84     \87\ 5\8cèü\1fR\80\1d¾(*JgÔc4Û\80ÖÃb8m\8eÊ\81BV\ 40,UÄ\81\ eX~ëÂ@\ 6\153\92¬"Jw¾¸å#Y\88æ\9bÃ?-Þßúanþ\7f§@°\9b¼\9a7Co\8a\1f\ fÔØ\8fÛõ07Z3zÑw\7f¶MÞ[\ 2x\93u}¦ÝF)Bò|+Ç'\1cNêR|JÜd\8e\1eH%nk\vt x Où\ 2ÇCû\11\ f\14üÉP6\U'z\8dKó/ÚH\fñh\9dÍxÄ~ñ¨ýÅGÒ÷ýEã\90«\96ÀÕ$ÂÁðâ\933F\85i\18f\82\14a\1a.I¢æ1ïùÕ\88\94MF°ûIg$\1fE\b?%øà\97ýµ\17:}8\1f慨\8fÕó\91\99úX?³ê\91\9a­s¬!\99Ë0È3ÿ\ 6\ 5½]Mã\93Ï\83Ôï\ 5¨¹<,c\10ëļrÁ\80X\91[QrÁ\80TAã\95\8b\19\81\h}ã\95Ë\81\89è^9\v\19÷\13&¬¥p\12á:ì\ 3¤a5íê.T('\19\1cÎ\b\91\ e»\1eìòhüó\8e¤Þº\82¼s'&ÎwQs''I½È\ 5à·Ã\9eã\ 4Ý`ø×¦éô`\84ß²\1d±\9a\96É\1e\97\96! V³Æ·É\8fáGD'\Ûö\ 3ÿ$\9a\9e\12ÏÞu\}7~ZúÙ1\1fg4[\17J\8f®</b\94Rxg\9d
+ß:>¡¡Iá\9cÚÿc\9f
\ 5ôüøXõy¨9\9cðè¯WÝ©Q\f­\9f\13½Ñ3\0N÷e\ 2ÅqcïofsÔ\96yP\809Ä(\1fª\1a     ÐÈ+\ 2wI·fVî$Ä\13\96\ 1i?\1dµài#ÔèÛp4\ 1J0k黸Vß<yC\10c.ø1,ì;\19Â@\10·\9f
+½¤z\10Ü\0\1f\8cOF!\f»\83Æ^Ú-L5³ªK\95\ 5ÏÞ¯W\16\840\16\ 3\8aP\86\8eíW¶£Bt\8f£pÐñµ$Yv¢_N¢\18¤ÿ{\8a\ 3Ç¥=Ç\xÿÀ\99\8a±HïZó\1ar\14Aîx0\1fzü¶+H¡{lS[\16\9f\ 3°\9chëø\ 1c!7v\0¹\87¾\19k®ÏìVÓû(kl\9e\96kpÛj.\va\890 U;×\8c`~\87\1dyã\{)ºÞ\94(\16\92 U4/m\8dq\95\10ú'2Ì\13«\88C4g\16ãLxþÃ\99d×É)û¡tª\8bÇÿt+\89!\ få9\969{X¿¶\14r}\15þ½ä)ª\ 4\17ï\85q\94\10êÎ5.f\99Þ\86\ 3&lLòÍÅ,\10ÚúGM\920¿bì!qU \ 1]Uû«\8dJÄCÍz\ 3\97é\roI\8fôcåý\ e:ÃÇ>s%\18\14\9aPZPò]1X¸¶+\80\8c-\8aà\15\8aT\90ñÊÝÇù]ú½\ 2 \9e'eÓ\8bÛ¹ó\17´£\p\ 6úMëÖÝ\96p\ e\93-Lµ\ 1%[,½´\1cÀÔ\9cŶû>ÉlªöݹûY  \9bË\ 6;Y°<\9a>¦)\1ewÀO8õE\99¤\ e\1dKÍÌ;5C×¼f~Üð\1f&ÈZ\9b\12\9e/Üéɰ±\15TÄ´¨é\0\85ï`\13Õ)"5\ 1Ú}agï-º\97\10=n\87ý\ 4m³/1R¨qý,û-1!û©P<gI\93:\95ml\aeÑeâíü*\97ñ÷}\16¼ÖSÌ\10¡[,\10\1fwúi·\7f\15\ fÖë¼kò\ 1@³Û´ü\14\812\ 5\91\95'1g>ó\ 1\0¬Ë³X\1fV,ß\95h&\9dc\83ãß©\82\1fqÑe\bÆV¦\10}·D¤\ 5±ºÆjNÎ\ 2P\15C8ò|\9dB°uÝ\ 6ð\83ý¯\19F:\87É×\8fávÍHýwlÎ\93n¸r\8f\19@\17\90FÁã§ãrYik{\88!þ÷lòÎ:³Çï<
+Ô,\1cGàÖÜ~Gá%nÎ\18x­#%£ë\7f\ 4ûÂÕã\8f\0\8fq&Ì\bá\9cx'\8e\89á\1e5.Òâ\rÝ\88M=½I¦=\9aÀ¬\ 1ëÎ{kAú\8cÊZ!\13¡;Ú\12Í\95N\94Ƕ\82\1f\ 2~p²Å\8d\83\8cYÃÊ<e.ã\18pú×\8c»\80åW\18Ó\87\18ðÑ\89\96\90jr\83³¾g\8d
+¦±\89\1f\93C@Y\96\96°¨*\1e'        Ý»äè\82 \8fÂÆ[\ 1@5ÔÝØQªvu`ñ\82\1fy?¹\10ÿ\ eæ æ¿\13½ï
+ÝÄiÃÞ;4áD\ 5\fà\1f\96n!Èâ\17l\97\18ü        
+\ 1üq\8a8\9d7Hø!#«=\9ex\12}¹Õ:\ 5@\ 4v©Û-+\19Pxå\e¶-¾\89vYp\9cÜ\14ê:"QC\18ÇÝ\ 5\83Í3ÈíÐ\1c\1cß&?3LÊ5\9bõ%ÈP\91EÉã¾½g\vInÂ\85EZ±u<H?ós\93âÁí\Î\18¡\ f\1f\9c\10Ô_\ 4rÿbà\9e6ØÍ1êlX\91Ða2s;Hö\9e\ 3À\15j5a\16^C\88<|ËæL\1eò\1c¼Ãc\13d\1e\8eË\85\9f°¸Y\ 3ôN\ f\82\1cÄ\10¸L¥ÏÙE-.\7f\b\ e$äÓ\88\93ÆÞø±Ö\83£P¡\8b\aCm(b@3£èWTå7\ 2\1e\92ò;ëY\b?ëxë\1agYb\8c\1aúÚ\9eü\99Ù \rZÂñÐ\8bSÍ©ÒöÕ?4Þ\1a×Ô\87Õ\85è\ 5÷Þ;?\ 2~1\98 4!\8f\8eȳ\12ô¯{1ß~ÈÁFLx~\ f\8fãxT\ 2\ 3\8a¾@PP\1f\96\95¢ñ´Lô^\ 4þ\8bø\98Ð#a\19ØHFwz)ùý\12:Üd\14\0¶=\19å1d\87>fÙÝ\:áæõ\14\96ý\ 5þÏumI^\82ÿg¼¶«\93è\ f(\19:Jõký\99[jìõ°æèé9GÞ\9a}aå\ e\ 5\ 1É(\1fÌ¡\19\92±@ã\ f\1c©èµ\10M\8f^øQ\18;\16Cî|>\89 .\1d¹Õ\1d\81#\f\84\82\1aß"»?l8
+1öÇ\ f¸PYÉÝCnE%\91øõ^\ 6Ë|\ 4\8d\1fñ\97k»È\84\9d\11\a¹´mÄ\83øyðu<ø\1e+>ƶ-böËc`­y GÍ)\94\94¸¼       ®\93º:G\96\12ûAú®H\15y\ f<J\b&ç/õÿÕvDQLÏn¬&È \9b0Ñð\1c\94È4úÎ\80ÿPüu\9e^ßåö\1a \11Ù\94¨óÅÁVyª\87?E@±§\18þ\ f\86PáÒgÇóéG\9bÕÔe     c`\87ÞQP@\94«è\føG\97\10°´¥1·¯Fgqñ|\9a\8fÖM*\1a\b}M\15\ 4¦ÆT8+Ý\12º\18\ 6\80W\ 3X+Ôq´ï&¶R<°\13«"\89`o\18\ 5¬\861­¨èåµ\\99\1eYfMð\9d\ 4÷§d>"u\7fû;\ eb@&\9bÊ\93\87ÕL2å\85\8d£É¢Ä,Vϼ­ÉÀ\8f㢭ù G¼¢^Ó´ë`]Э­ò\14\rÅ\10äDâ£*ë\16]'FÎ9{U±\v)8Ú;\ eJ\15cQyÆ$\10¿5\10ùó¿\ 1¨Ò÷b´~ÇpGvÖè-\87GDÅ\7f¯\9f¶b¿õ)Ï[\1av°g   [äÛ\ e\8ez\8a·È¶\1cå\13¥5´¶Ã\97¢
+[^$jPK
+Mÿ\aí\8d  \8d\ 5P\8aMìük\87ä\84\ 6RÙå+U_\167³ÀüN\7f\ 2Ü=·A·\0´\18ùïÒo"i>¾júnÒRÚõV\80À¥Vé \87¦þU·kGEü«E\ 66_È)Äj\934b&L\7f¯M\ 4\14ÇîpÝ4'C@Áþ@§/x/\0
+L\ 2Ñ9\8cõD¸ÿ\86\9b\14]\80ÐmiÛ-ÇÖú<?zâù\12\1c"\1f\1eÅ\7f³\9b¶-x\85\84'$s\ 1\1a¯öeí\91ý\88\1e\8bBCj³8\að ~&¡¬¢-=?þ«\ 2ËßlJ\801\82k²Ãúè²"·,ÿ\[jó\8f°hRËÔ/ò\16+\8f¶m̪úx%\83¡ÑÍ9ÝX¨¨ên\8cNo\17öE\94\9d.Þ)òÐ\9e\7f³'N¡\ 6ü%jiPs#Çpyû¯¡A\89Ï\ 5\e­Ò\8e\15\93]ÝÔ¹H\88èéè\v~\ f.\83\97ÐkeÁ´\8eæ¹\8b_N¹d\ 5{>Ø\9c\85)lÚÂÃ\92ÿî¼9\99ݳk\ 5íb×,»çÀqÙ¡\92úOß/¥ZxZ·\1aG\8b\93»^Z\0\14[\8fÛ\1fĸé]ñWÒÅÄ\8b\1eçuT¢®\ f\1fËEËi{\9d¡ÇU©X3\8báª;);8Nì\91Å4Y²\93¼Fñ\92k\ 5Í\ f
+WÃæ\8f$-^úºL\15;\82<x«ª\8e\1fP-â\9fq       ±jÖí\10®Xu]«Q©\15u\18ªíu\92¡2=Mb\1d\85\98\98ÄÆ&11\89\8cLbc\13\18\98ÄÆ&11\89\8cLbc\13\18\98ÄÆ&11\89\8cLbc\13\18\98ÄÆ&11\89\8cLbc\13\18\98ÄÆ&11\89\8cL\7f÷\19\e²þ¼+¼Ö¨p\9b\ f+KGõ{sj¤ç£EÐÍÆÿµ¦{õm¼ëïö@Ô\7f7ëìñÊ\95÷¹}¦\8a\13Úï:\8d\9f\8e¡_\1e3ÿë±W޽ Þ¦+ÿI»\87\8cÿò\ 6¡ôø´Sw\ f\8bÿ«Ò³\95zÃØäoX\9f\8eÿµ¦}Ën_\b´PÒÇ\17ÿ\84\96{ãÑIg¾?ÿ\88\r¯|µT¸.&4B*\16\9aÇò\1aÐ\94\eÂÚ5¯>qm¶¤[mC\85Å\84\v\1fÆóbfKi¸$\9b\f¨Ü·\ 4/\9dïsmº&Bö\16h.«À\16\8e\1dj}'àqmë÷K\98\ 4"\83\aäD¢\80\91
+P\¡l\18ôQ(©<¶\971\8c\ 6áh\97òÞkZ\971\8e\ 6ùÈ\94n¥éK\98\8b\ 6ý\94H2ǺÉ\ f¯ÂÙ8ü-\92\v¬Û\8e\83W\98ƵSK\98\8dk(s®Ì\99bè#\v«\vßëw1\bÛÚ\8d\1dnÚ »Áª¢n¢k!¯\93bd9<4¹wÊ5ï}z\82rþn\98ø=Ïs\8bg+\9b°ã+\v£\0Ó@\133\8cÍ\85¦h`l\r\9dÇ\137\14\96nb,È\1f\91µÍÓD\93\93Iêóp6%Wô's\1a\16\87j&W ëC\7f³æ        ³î\17'©ãi-àÉ«E:Þ\17`\17qÅÿßOÅ\86\98\9eãÈ#¸ãMXÁH«÷\7f\r/\18ïoûÎUò\ 1\95       J\ 6¸¾¿m\93Î\ 5\9e\7f~rÜ\1d· ?ñ\vÏc7?3%Þ¨¡\82³ÌDÓÙæ"\8aªñÙ4®\ f`×½8\9a[÷Î\16\83\9eØ5]Âû\0\9f}¿·\7fio5¯Ûª9\9a\92\17J\89óiÛ7E\fÜÅ@Þ\ 1®Íðpü\82\9dÎ4\9bk¹ë\ 4%!;\8f\ 1îìÚO¿ÖI<¤¥´òI$¥´/`J#Y²ª\14êZ\1cHH\12Ýe]Ø\1eÙsË\9cn\88.3u$\ 1h\a\97R½$ñ»c8íÛg·gw96ݺ¹Ùµ3²\913AA*\ 6v\ 6ª\86\11<½2` VÚ\e_¿ÿ>ý\9eKe*/\ 3ûòîÜöÛÐoA½\8f·±\86ö&þ¡þþíÛKo}ø{7=\a%â#þq¯®ñº\98\99»\9b\1d\1c¦>fÖ®¶*\ 1\97åè¥Õ\8d³÷\9a(§Û\97«\9e«¥ÿSE)úÇ\88ÐõïeÒõ±2À1ýζþ%\1f\1a\9eßó,0jçöú,º\97\84Q40TG\87'\9f CóÕåï\1eÂyë!\94±\vø<ìK\8dô¢@
+/Zÿ¢\95©PùH\99ÊiP\15£çVÙ\Ï+\1fó}\9cn\9a-yÅ«ËÁ\1côø{;\93{(˹õSu±9\8c\19ò?+\17\90\ 4Ƽ\8c\8b Ëî9Ú2\86M9¾2»y>\86yç·§¸¾ÓO¢.\9f\89\8d÷\9eáÁ\9fSC>\89bM1ôT^EÚÆyov\9b;Ï>ÆùV\86à\9bR:{\f\9eZ|\97\87u\14k\8dµ¢Mÿ¢"Õ+EL*fì^\8dc³kÊ~?)Æ \90ý=¿èZÕöWq4,ØÚø\95ºhªðµ/Þ\94HMj"%O-*{Û+\19çéê#íû\12\95î>û';\7fØû\9e\9fg¹½±ó+ÎZ<ö¬úï/å\1c\b\1eËÍ\94\84×êt2³VdU[\92ïèm=\85Üñ¨\9dDøTWîSÉç¿éiu÷ò¹(Þ\92\88\81Æ×ô4÷\1e^º#qÚ"rfö\9eÛs\11ñe(Ø©±Ê¬U$£Ý:Âyê\8a\8a0ØOyhÎÞ\R­/êû{9[\947¡»ñbíÖÖ^$©ü\11)\ fk\958µâúù}WK\85³ÞXæa(\8f\89\1d|ø^|#W\83F\11\9f\ 2V\88~u\96\14\94äÎÊ")è\9a\f]\84»6²ËêÑx\ 5Ë\f»Ëõ~\fãwÁ¢<$g\8d\98\8e\86\9eÛëM\9dõÝ,«]s\7f+¸Ùwr\8eE|\1a½Õ=·s(ùÙ\94NÖð|ì»\8f/~       ö_\88\93uÜMÅ.®,\7fß\13Èðìêø1Àú\8e\a\1d\9f\1cõú Y\eò\8d©èÚ_\9cÐQ?ÍSmÿ ¢z êÒét\1c]è®4\19[UM¯<Ü¢7ÖË}yc\8d\87>Ö¶q´ÅM\8e\9f5\87\14a\ 5­þ\93ÌÕ7Öº\9eä\8e´y\86\fGRÍZ]ÍÔ¼ÂS\18ïu_Ì7·\_0þ\e¯Cq¸\93¶\y}{Mõí\8e5>Ï¶Å¾ÓæP|\8fïFuüJ\92¼»¤o«ð.¸\9a#àWÑ\1djÚÉñ\9c¨ÙO¾©×DG\8cEãíúJ{\88·\ 3¼´UÈO\8ec³Y]DAÍëâ{Ou\13ã\98¼\11\ f±\8csZç\87¢­ÝÍ}\15F.ÀÓï7V\13Õx\ 6mÖb>\17?ªæ~µæ/êEíß?\96æW!RÊó\1f\83s/1\8e\r\1d\95Í\7f1ÜÜñ|Ǫ¹Ëâ\7f\9féåÔ¶ßt\12Ôæ\ 4jró\17«ÓÊ \ eº9KéßW§§´\8féi\14Uáߺ­ÍÊe*´\91\ePòÎ\91\12Ã;\9bÉaîJç+\16ÙF\1eÏWëg%[Mû\8cÌ[ãÜQZzJ´¼Hª\85Mç¨\9fÈi}+\89dh\93ÓO\9fq_\8a_
\8b\91¶×\15ò6«s×r1\8eâÐ\84÷\15õá¼\8a0\8aãßXéiâ[Þj:\9cô_«?©Ïâfã/äûßç±øÚ\9dNF'ªÔtyè²\8c¯S\9fÃÒMÖüiuªlsö\18|\84ZNÚ:ÙÝF¶në-\rßó¹¼Kj\9b\1c÷¨ÄÎËÂéMª,\9fW7h·\9bêYâg£¼Kµ\7f&N\8a\8eÕ¦ÊíU¿Zn\ 2S}®SÒ\97Á>&ó|\95ÇßÞo½ó&æÏØYXâO·\1cG\8cÇñ[åÕo^[\14DPBöVôoy>\9aÿVÞ¾Ã=]½}ÑbªsüMÑ}¥¿\ ft^³÷âB¡íÿãsü¹©w¥°\97o\8e\8fæÛýü\85ÈQ\90¢O¹í§Ø\82l\9b{cð¢\8eLÖ?å,kV\97Ѷ¯\95gÈ_.Ú½Õ2ÿ¦Û\87ø\1a|Kjû\16ü\e\16÷¶Ü\µ²¶û¼Ï/êßz¹~\12?ß[\1aR­ ¤övÙ\9bÀefþ\1cÔ°fj\9e*¦OèæM7\976dØò1\12êy¸\88å\9fs\18^\9eß[¡ÙJòõ1mujQ\12Ó´¢r\ 5"\v\8aõ\91\82%3(4£ù´d²ô~\ fòö7zóÖR\95Ui¾L¾ÍÝ\1f\89ßóZðô\rü\13ö{:ÿ\83WëÚ××?ck÷xäí­xº!öÖ¼M\10Ç\1a+\f˧Oív_*Âz\9a\v}\1a\9a\9a\98t¢cë3ò\89®\98§\nþÏa¼\8f\8e\1cJ\94¥=Å´ö8Îç.m18ùU\³g¿Ðì<\88øáý{ÙC|TG\85\ fÑÖUÈ\8f\väêD}\8eñÒµ\98]þDò9ïk\14N=Øxr\8aQX´p¿i)s¾²í¸³¾·Ä\88R\1a½=Üò\r]\12\bc\83µ\95¢-"&\95±ºËIE7ýý\17\9fÿ¿Åë;Jß;{=\9añ'\96S\7faaµ÷\96:ê¾^×ÙY`òßn\8a®\98Ñeù\8cYG D¥ÃÓ.u5zJ"\8c\8ez.ÕVØïbÓ4ºî^÷äf­(£Z¿y<\88átþe\11þÉ+\18\93ê:ù¸¦r2§Pß±åê÷R£R\8f-ÜSÜO\1e\ñ*4\9a®\ 6\15>\83u¬Èû9Ì+¾\ 4A\88\ 6²-ÿ\89àêå Xµ¼L䤡&Ê1\8e³gö<í]\96LØË&Ó
\1e\ 3ªóiûî\8a¾4¯\8c"\lr±¤òý»ÜD|EG¯°\14VHæ¶ãÉáp¥&)\91y\vÉH\1a>\15ï-»§¸ïð¢^î*Òì%4\7f\16\95olø]ÎÓ¢»\9e\80ÿ\17ò½ì4Q«ë\ 6ËÌ\88Þ'\8b\89\1cüȵ\ e}\97Ð\89t,ÕÞìü/;+Îob\80\7f½ä¿BûÜ\8düG¬Oc^¬ÉòÀ\ÔØ\vkÑõ²À½Äñ´½/PHfÀ\14÷\1fNVÎýï5\92³\93Üú\ÏJ±M}¼¢ zm\ fïëvñ\11å<\9c¤Þoèyý¯Âò£µïâÊn\18½\9cò\ 3[>£§·z\97q\85³ñ¬¦ÅwtZ9\8aËÂ\9bKxWº®\16\1fº¯\1erUõõ\12ã\19>¿²´{\11;\15\1fV×ù\1f\7f`¯kåK`®·G\1eo\89s\e\ 1adxÙÍ\\¯¯qÜV\94«\13úW\9e\9côf\r.8þy9ïGð¡ò*uór$¼ù<Ü£ç{[\14\1d^­×QPC}E\15\ 6íìøèöâË}\1cctùª{O\87\97z$¾ÞW!G\9ee\13+E[=åá½l§\88R\8b«\8cý*Ñ`q\9c|\r\rþ?¶äfÏܶ>\ 6\93Wµö\17St¹||\ eJnÁ7GÓãàhâI>½4Ý=6>\ 6\8ao\97©ÇÀ\8e¯ããàr³|¿"µlÞTù¼Mß"з\91Seú\91\ eÔ9ú-9\99ÈyÜ.\14YHÆ]N\87Ê˺ \1f\1a&Á½\ e\rõ\\eKH\9f²Ýo+}\8f\7fi7\ e~ûKO\12ï
+ú­ý¤QafU\vñ¥ò"|u0±¯¹x\98=\vLÝþ/Gg7W\98\95\0¡¥\16\a\9cí\9d=¤ò\18kÞÄë®ö³ëkçÏqc¿s(\96\9b\8a®¿Ó÷ñ$\ e_"QÕÝÎ{ïõ\94µ_ötOõOõðh³úô\ÞæU
+gåqµºiq
+Ôjéaæéíõt¬·XºÛ\8c{ÌÞ\96/ÖQ\11Å\89ÇaG¶\18ÙÞç
+Ëu\85\8d­¶½Ç¾\9b\9fµ\9d\8e\97\9fž¹Éæå\ 5\bÛ\9bë\88½/\15´\V\16ÒÃgáÓ»ÝaÜÍÿü~«u\89k¹¾¹Òäñó|mãós¹§y\8b±³Èéy[\1dÍô]÷\83îM\85ÿá\88ÁxåÝ\1eŹÏúcåìåäåòô\8e\7fò\8d§}\ e>\ 5\94¥®\7fÆ\95:æ>l¤×®Æ\8a³Aþw\81[Q6Ê7\9e»ít>»ìO \ 6½g¼½ùRÑ¥ÿ9ý\11£Xµ_\8fu*ÕãÄFts7\98ý6nÿ\1fóé^TñyûÚ\9et{ýéeÐØøµ\7f*Òo\e¯ã4P\16\1fÇ\96\99µÛMßY¥¯áÚ:\9a¬\9cK¬}n\8f±ùØ|\84P\ f\9eß"§\ 3\85\7fO¢ð¯7ß7\9fÃÍÍñí±,¦Â[\9c\v[\19M%Ì\7f\90j#Ó®luOoÝÞbû»\9bü_qqOmÜÕÀ´û~L¤ÚçU\91O\ 3#\v\e\ 2Ûy\14\ 6oçlií%WpO\89åFåÚy{\91u+ý,ÚK@tYÚs¼\94FPF)ær§ßKæÑvªì©þ9\8a7~êû\Ô{RÙ\17
+\1c\89\8fêÊU}Ö\ 4Þ\r/Ù§¼Ê½vmo\1fípås\ eÿQw\89±¢¦âU9Ý\16.\1d¬M\0\16»UÝì<\89uñ=¬ÙzÓYµ½å2n±óÚ\19´\19¢©Àý\8c;Z\9c\ eÊ%\ 4î*Û\ fý»\ f³6Å8\16vu;\v;<KyVc{¿íeî1üZÌc'\94\9e\85LQ1l¾ïM[ßùÑÀî=É#ÆöܾM\9dþ/ééÿ\15;Q2©ø\17\9fæ%\e\80:Îs²\94o­Oj\9a\89\16³k\9eÍjñ³ñ[O:\9d¬WÑÛ\83\10Î\17ÚÄ2\94|lÔH\95\89¹Û\88\9e]ÕK½ì;\88¡\ 5¦\7fÆ\89\ 1;ì¥nk=¾Ê#\81ÿ#ülæØ÷ÙÅÛ\1f}|@&þÒyj=è9\9bú¸ßÝ(\97ÄÙD2ºËk¿\ 26pþÏ6?\e;9ë\ 4ÃÚG\87Zckb\9eh\1eþ"5§o­³ÆÅ\8c\1d\93®­ßÇ   .\8a¦¦Çªçjjl°ýeMM\9e\1e\96¦¦\96\1e\86¦¦=êõÔÇñ\vþú'é?\95­þ\11Nìí\1dnN>W\15±¦åÅ\93\9e­°\8b\87+R­ÌpkÙ%Ó.\85dr\8f\ 3ºÞ²x\973òh\9e}\b£(\17Ò¥÷/â!\15\vm\9e8˧¢ã\15,\8cÝz½Hgþ=,ÉÝy\9bqn·ÜJ'£e!8\93ÇèÄÜ3¥\15\1aóÄztv+ÿÿÆå\ 6r{8`ãO\ n\9ay        ~\8b%òÏà6\985c
+àÓÁð0u[½e<\1dÞó\83DqKÏBã\9ek.\85Ç1\8f2§£r(¸\11ëg¨IööyÞ,µ\97ߢIgüzYt\0\9eÞñ§y2xõL¥½\9e}\9c7sϳ\87ÁËð^·¯\94\1aaOO½\1d¯=ôå\128T»ùâo?ö©Qp'\9c\88\8eD¨üÑ\7ff\95\1fç}ÚþLYý\ 3[.ÝÏEBIâ\84\ 2óxt÷cǯBçx\95üïS\16\9eâD>£\83(\9d\14·ãP\a§*§ÃsÍ3þ\1f\1f\83Wæs=õn£*µ×¼J4­÷\7fýBêýOá¡u~\93ÿ(]_þv_÷BêüÊ\173í³(\Ïüy\94.g«<æ\f{Lª\17\fÊ\173õÓй\9fÚÏÙ8ïJ\85Ìüÿâ¡s>\9f\87Bæyå½_ïP¹\9e\9f\9fBæ~¯ý¨\Ïíþí\v\99þ?ýP¹\9eR¢G\91)ÍÇ\94S[O1çÑ\1cpy¯ÿTÔ?E\11»W\9dÊ\9fnùì]\ fú<~jë¤Îf®¦úw_\97m=;où«h\9ff>,H#ñ(]g÷¥u\9f\89÷øÓ8ïÄûy^?Ƽ}|£s\1eß5sÒ[O>ð}õ¯¡àÿ\867ãó#~ÿ\87U¤üË\19_ñ¥r\ fÒ¡z\9fûÁ\aLA\ 4_\12\b:xßî\85ø_·Ó|>Ãâfº.Çwé¾/iaÁýÞ4mãõ;\8bß\16Ûêçº\ f\8béþ¿îs}\1eÿååP·ÿ\87è\96J\85Áçâ\99\90~\8f5ÔMÿ¯eAÚ¾$]­ÿϨ\ eà\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1ÿ \0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿCHROMEOS\ 2\0\0\0\ 1\0\0\0¸\b\0\0\0\0\0\0 \ 4\0\0\0\0\0\0\0\ 4\0\0\0\0\0\0x\ 4\0\0\0\0\0\0H\ 4\0\0\0\0\0\0@\0\0\0\0\0\0\0x\ 4\0\0\0\0\0\0\a\0\0\0\0\0\0\0 \0\0\0\0\0\0\0\b\ 4\0\0\0\0\0\0\b\0\0\0\0\0\0\0\ 1\0\0\0\0\0\0\0\80\0\0\0KÓ:¶\9daw´\95Úhü\93ùSÂ\98¥\98\8cuåÁÄ\82Õú;ñ      \8dÏÐý½ò³g(\8b¦Z\8bL\ e\92ò\17ò\ 5TLÙ&\9a¦\12\8d]YG÷ÿL'gL   \ 5Õ_Ï:N\8e¬\9d\ 3\ 4\ 6\84¹02¥`Ù\8a\89\ 2ż٪aÄÔ\1d\93j\99bUÊç|ÇÙ\ f¨\99"\ f\ fÈ\17\1e¤³F\1dÌ\ 2çÖÕïåÊ\1cù7N»¤\8f\ 6\17\87¬\88ˤlQIê¡ù\Æô¸¾®\18R7un\1cÙ_LU\96\86æa\1a;7õû\ 2X4\0\81g\8c\vȵÙ\1f\80\ 1\81   ÕAÅ¿6¥aÒÈ\f×Ùà­[·@" krM­\f
+KYg°·¬ÛÕë\12{ÝØ\ 3ç\92ɵH©^è99C#Ò    =¯'Ûì\80\9b{æ¨ñòn\ e/\83ë!ÂaÅ«ÛÎ\15ì\8b\8da6KË\ 5\89F\13\9aÎ\14â|üÛ«Á\ 6\82w.eä\95V\1e\90=³¼\93\f¥\v\86{!»´\88@~Ìö\8e\87\88\ e\16õIw"µj6vZóò@\8ep\aÆx¤m°\ 4`\96\98\8eÜ/\13g0Tª
+       >\13ÿºþH\rÆæ©\9e®X\99 \ 1(}\13pSòPüÇú»¡rK¤®¶°4Ù4\8dc\1cj\9d°Y\10Ú\15b.x\9bÆ¿\ fv\a%6 \f8ô­Î\87¿hO¾È`áº\ÅÎ8!å!\ 2B¦?Q¬#èà\e.âoI;\1d-|\v?\ 5À\10­§\92\10o  ßy\9f\ 2\85\aÄ¢±èü+n\9f°s\1eC\8c¥ýÕIt»ºÖ`í\8b¨pµà\95\e\7f\13Ô\10<åDKBûÉeÙ[Gýȧ\1d½v2\99A\1a;^ú\v\85­cxD\192\9b5n¶ÓÍ\19WͼL\7fÖȽë\8eB\ 3J
+|\b("\ 3\ 5V­õcO0!ó7aÁ/ù?×D°\10 "-1Ã\98\13I2»Ñ«¿iW^õêò\ 3\89\9eâ·\ 1\10\ 1\8e©\1cáÛhúWe`\15ð#g=\1dXÃå.Ãb9bAzLWs16BòÒëeÊ\17áÆ$ª\ 1ѾHúR  ¬?~\82ø\9b\1fMDeÁ\f\1aá \rn>\83÷_\v\8b ör\91\88QvJåÝ\95\15ΰQ8ÕK\8c£\92´\ 4\b+TÙÍ6\84÷P«ìuÎû
+[Ê^õ7\97NÒSþÆ¥-6¾±ë\8a±°ü\1cï\91\ 4Æ\ eã\9a>t\91k8\94L\f\16m\üzÜ\7f\ 4\80\94\ fÆç×sÖ|,ãÑ/|¿ý\9d_ÅÖ\8càf\ 3}\91æ\9a\13e.\18çÍ\ e\ 1\12¥O
+w\8b\ 6­\1aÒ\1f1õ'>º\e!}Ñ^ôA³ã>Ïðõ&ú\15\97\93\9b\19fr¹\1fóF³Ìî(R:\7f¹^ë\1c~[g¸\94ÆçkÉ3\15NI\97.É#¥}óµ9c 'iHO\17\92r\ fóÄ0\16d\17Öº©É5BPbQ·{Ï[S
+DBíyükä\13e-¿ã²Æ¦\9c@s\940æô|\1e²û\96çxK²\10ÖÕ%]¾\1d\86Ï\12?\9a\ 6\}\1dÀi0"¨÷ö\99<·ã\9e¹a8\88¨\9aù\r¶7Ö>)¯\81ÌÔúó@Ì\9f\ 2$.¦çx\8d/¦á^\8ev\8f½5ºâUÿâ\9e\fðª\90ó1^Ëx"\11Ð÷y³`è\92÷RÁ¨ Ëðñ\ 1Amx\11ùô1¹é¾Ã·Á\82ÛS
+aÛìJHË\82ö\ 4\92þ\95ØY\vºB=&\ 6ÿJ¹\7f°÷¹Pµ\15       \v®\94§²z9Ê\89/Ð!'°\1dE¥wQç\9btÀÀ÷þ\9aøO\94\87¦/Öt\9919%Vj_jÌ\e\95\ eB\1a\87\9cP>Ð\9a\8bÖâ³t·\ 5\8bMn¬H\a\aÙ\87     »¹ê#zX\18Oftyúã\93Á\89 \13\8a^È5Ò4¯Å-²\r:\8e8.%gÏG\ 1àùø,
+ÊÖg\ 3V®1]n:¡F\ 2ñX/·s\93¥\ 3\7f´Þ!\13ÕX\96A\9c\\ 2ðy?\9a\97\fß-\87ëôdk\1f·Z)-Ã\9e        «SÑ@7\1fx\ 5ì:/\82%\ 6\9c\11\7f1w\9d5ZDã/½' iÊü+\9b¸q,ó\80\8eJ\92±úF°VîÞz«ÈÝv\95Ïñ\´\9bü\10w§ÖÀ¾¦\8bT\83Ä l\14å¾mà\ 2\08«ÈìÅÀ}ÝBP2,äHún´ß\10\ 6\98u\85PÍèC´Øu\93\v¦Ï\87 \15\8eÿ2i(YID_\ e5pýrÙëoDÍÅW\1fF!b±'Ü\ 4\9c\ 2E\9b\98@9òM;ý\8dÊ\8dë\9aÍ\98g\18^~\v1hF7PDA9E¥\17=¬yªè,RÙÇr \15\15\18\99\9e\9al\1fD}¹j\9f\ eÐÙW\8c\9cá$R¼¨Ç\8dò3)'+ågMü\93Èø#\88ð\84\\8f^Æ~\7f³2\93¨\83/¢Ñç\f»©T©\8a\b1JL5Wå$Çq7A»o\ eGp:\81\9d19\8c\91Aeâ®n3p\98k?¢6,å\12O¬Ã±GðÖÈHCÀÛÓ\8b²¾9\95vEÃ#¯aÂrö²:ÄfÜ\9c\15»:ò\99û\r\bê±@y¦£M\158\97³¥\rÊ5ù\11\0l\11EQrc %»\rñ°w\ 6DKRÄÉpÈÌm     S]rJ\89PkW w*M\1d\12\85 ¹Ëh\0o*å®\89¨mÞBulìMÎá\ 6¨¯\f>\16\1d»F\1dP\ 1¾Åa\1eË!\99\9d.¿@méùV\7f        %q      \12f#\9fMaÑ\17v®¹ö\92\9cJ"¢[$µí«Ë¿(\15ç\ 2Û±\9bá¨ÞBLf\v\10\95¿\1cá\85\9a4Q\90úïRÓ\11 \95k\fy$B\9aêç¦÷îå|Û\89\8d³ãÛ\9aÑ;\94ý6ÌÔd\97\17)\8f+Xè\1aÔ\9b\86\92·T7È\19£Îæfö@+óyØ­¸Ìʸf\9d\ f\10\10\94¢\93}$içþ\12ìD9KqtOêYàê7ªh\1eD«øwÜ˲¸÷\1fÁ[\9bÏhÞ9#@       OÓáã2î\1a=R|8è\86o¸Ä9\ 3\8b\8eQèÈ\ eÑ\15ÎôV\80Ôé\aô\9a¥v­¹¾\87\9c£\14¸Ì¤\19\8fj\99vázZÀöH çi©ú5!é\ 2½kî\82\14y\9f\99°¢ýÔ¾¢{zá;u\116u\ e\95÷Ð\10\96Hàbç8\r`\7fF\7f\ 2\9d´²®n\87>]\8b0Z2oj\1eUÂ"v\88Mr?\8e½Z\12\eR,X`\8b\11\96YÓÚ\1a©×6yj×\98¿å^0'ÜÄ#0\9c¦\95\ 1\9e\ 2¶@ÀX\82æ\96©©½öÊàXrQ\9dGý(õ\84±³\99\f®ëE\ e\ 6\a!<t\b\0\0\0\0\0\0l\ 6\0\0\0\0\0\0\0\ 2\0\0\0\0\0\0t\ 6\0\0\0\0\0\0\ 2\0\0\0\ 1\0\0\0\ 1\0\0\0\0\0\0\0<\0\0\0\0\0\0\0\b\ 4\0\0\0\0\0\0\b\0\0\0\0\0\0\0\ 1\0\0\0\0\0\0\0$\ 4\0\0\0\0\0\0\0\ 2\0\0\0\0\0\0\0\0\r\0\0\0\0\0\0\0\0\0\80\0\0\0±\98\85\94¯OîjïBç&O}®º9:Բ߾\1eª\17T\15v\es\bþ÷O¢\a\8an\0ÿ]¬Ç\0\12]°d:\19­\9d(\8aîå\7f*½Â\10jªBÉã\88£Ð\9a\89¾[¦!\1a\9dÙÒYU\80Ñwø%"YÛ\1dE\11J\95\95HNª&V\8cåÆy%\8c²â"­n¶Q¸Òf!ël\r\9b\85\ 5µ;\7fø\14ɧ%J{É\8aU±ÍUk®\96N\r\f!º~ò\8a\8fþ\1e\ 1êëÞxôíÃbz±\8a\9bâ\86õ¸l³\85º\80§¯Ó@.Ýï\8e¾v\11L¡FSÔ\80¸­A{Dµ)Û¢;ß\ 2\8e:}\91ô\10\989lò9º6!\966è¼tðÛ¸K2ºÛÀúX\ 3îu4©ì]+|^=´\81"R÷8\18׳xpKâk_©s\83
+°|=']\12\rU¯      @<\1fgñ×ú9ã¡ï@,LØ\872i«\9bÄÛ±>\96SyH£ \ 6\v] iÎ\9d¡Ùª\r)­WD1\83!Î1dùé%p£üwé\18R\a\10Â\1céºÛ\9a\e~#\16 »q<\99àÐAcZÖ\8a\80?%\beJÏMZÿ\95\15mûs\16\9bË«Óþ\1aç\12Î\80\1a\95òZj\ 1KÓL\10\18        hàûnë[<ÑÛí\16\1d(\18a'\ e&&%Z\15\87&\8a»(¯>\Lïîf ¸\90D\ e\97FÙU<Ô\14p\10S\8eoå9¨\10²ù\ 2ëérã\0ÿmÏ\8c¼¤)Ö¯*\92Í/Ói\86©Ã©
+Æþ4Q\ 2>\14\85\18\a\aÃ]`ÚóösØ\7f.äYê\8aîHu\8f½N'\82l¯ ê±5)C/X»\99±§A\98Ç'ã¶@õÚX+ØP¢vûLÒ\1dUþ²£F\ e\10\92e=ÉÇ{\9fú[ìï!ùtY\98\e\ 2H\93=ËB]&B\92qr\vëk\1cy\83UQä¯ùmoÁvK~\87C\r\11dÅ&¾\ 4\96®S,µ"Z1ØU\80ÁXì\«C×~Ì1W¦}]ÜÔc·Ô}h$)r"û\9dÔ\9c+\9e«5¾òkÒÙ¿õþ@®UÐd»
+V}{\r\ 1ñ×¶¢®$=i\99\e\16\12²\93)\89÷(ÈnÖ\17\97ö¯Çm`ù·Å\98¼+\1cá*Ý\80ú56ë9¶GòôØñ\ 4\90É£ {b«\84äÌÅzF\12\80R
+)N2NqªV\97¿Û\8c´ ñ\8eÓ\ 2{\13Æ7ÖT¼ï£÷Ã~[ÄÂMë³µ\19¥U\ß\v\8d+\r̰Ç\98îyW\0`;\a´¬\84ç}¡\9f;{öxóÉ&n\ 4\ 5+5ªÂ\1d\ 4@\1d\88¯\84\1f\ eù\10½\1f¾[+\10J\ 2   º]1\87ï\91Ë ?\ 4s\ 6¨\ f_.åu\85(d\17k\ 2z½È\96NC\85\ 4äaÊ\95­\ Gnöy¾c5¡n3Ý\a/J>F^È\12\18Ò\1f!f\9e\a\88\ 2õït\14\81\r¸ìªï6\86r\16]\1c\12ÓC\bïN\ e4.4¶LN\14¨¥Q\1e6\9d,.ÈÚ\90\13º\85Ó\85\92ØqvÌ¡³v\7fm[êh8h¬»¾    rÞ¶ oë\18F:¸r@\\8cä \1e¾é\aÌõíô­Ä\86\12íOÌrè\ 3­\19D\ 3ö\88Ïyøn=üY`:¸\82\vêSq\17¢\10¤ëm;Ã\rÉB\96 \r¸\ 4\92ð? ¯\¥búê\8b(   s\rø¼½\8aÊÈ\85N\8fú*Óxh§\90q!?©î)¼{[Ý\f4*Júý\rvM\80"]'       \8a\87÷#\9bõ"´/\97\8bí\14è\92¢\81»»½Û\8cÙ\v\1aßcö/\87O#4¡ÿrïqÀªÍ®M¬áçl\90\95áw}    \18\0\81\9b!l\99>ôÈÚ\ 1 \ eåÆT¶\b\ eÜû\95/p\80>8·\83ïá\86]¡   sx\980\1c\150|_Á\93hX³°&ç¿Ñü</©¿\86Î\ e÷\1f+ã/\f2R\15\r&f\e6\fÞá\17Xc¶\91\96\ 5\90\97\94-9´Ì\fZÓ¿\¸Û¬V\90t¸ÉÉ)ýk\ 5Äza\81FPk(\83\ ex]¢§ÖGÐ\ 5\96p«¥Û\9cñÇó\16<¯Sw¾z\ e½Ø§\b%\ 1\9b\81Å\88ùâ¥QÖ\17N\eµ\98\8aÄB{ê*M~\80ѰÚxý¾J]àé#
+dÑE\ 2¥öGï\9btË 4Y£ß*¯í¢iÿ|ûï0\93ð\8d²f        \ 3o4KÀ!\91\9cï\983ØùuÇ¡A\eu\90\1ff\?ûyy³È\ 6ÿ(\8bÂÍ÷o   ùUÿõ\86²Ê¡aR'<¬x¢ÓÌ\ 6Ý¿e°Dñþ¥Ów+\96qØÿ\149GwmáÔè£Æ\82Р  Ú\ 3βÿ\97\18\7f<÷Vئ_Ë\ 6/ã;Á\8a\83Íè7ºð|Ã\15ô\ fp\88ÇúYo\9c\1e\8a\8f²}\8fèR{Ðû\18¹\r'føÃ#VUÄs\f©]\12Æ\86²ô\ 1ÞÿC\90p\10µ\12ý¬pT\93ø`ëb\r\16fdµSèS$ëæ-åJ¶A¸\ 6Ö¿\84Ü\8c3J²t©17¦:Kãͯ\18¾\84³K\aNEO\1f{\94\vÕ"9\18R\18\8dà\8fÚ\13\86\9d¡î\10\b\9fì°ó{ËÂg\11\1aiá²\90@\8c.T\83C+Î{`\86ÊUn\ 1\9b?|ò¨ h\11\8a¿=\8e§\93\ 2|qtÅÆ\a\Ô#\94ð@n\ 3\86pVî.dZû\90\87\87ú\1eD=\982±ÂáºM \90\a0]9ñD\14µiäW\99 Ô\975:[\90¿i\11«2ïr5¶\9e\9bè&\9bS<Ê;\8dï\9dfU#,çta\ f4\12\15,[³FÂÀ à\ 1}w\ fð\13ZLog+ØÅ\99²¤:ÃÅ·ã\1e\0_;*^ñ\11\93]Ìu3Ð\94ç\17Û¼¢\81b\1e\91Õh2s`«®\bi2zbêL¦\9dª\81H·üußß.ºQ"dÆx\92G}Ó\15$ÿTr\e\a\84Ùd\82ì\90UïT`'YÕÚVÇ@ÀcÊ\8c|¤fC\9fL\15ÝG        ¹ã\18m%\9d\ e v\1fZü[í7åAþ\9d\13\ 1\87v¸·\86Þ"E\1dQT®\83ÑÄÖ\ fî M\88üþä½\80\1d\10Þ\aK;:\9e\8e\83\8d\fÑ\8f\vz©H¹\ f\96\13^2;²ÊV»ù$ivÖ\8b\14U\ 3Ã_\93}Fÿ\ 4b:
+10¶½\94\f\bX®î\81\18\9c\99ìÍ «\ 3\ fÚún`y\94\9e\0ËÈb\10:ºJ­Ð<\91}:É\91±éÉ¿\8eVo¿ÝX¡\95e6ð\bd\91üxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÙT\93zh\ 4JD\81Î\vö\17Ø\90ß\0\0\r\0\0\0\0\0_FVHÿ\8eÿÿH\0\99L\0\0\0\ 1\ 1\0\0\0\0\0\r\0\0\0\0\0\0\0\0\0\18\88SJàZ²N²ëH\8b#ep"ck\ 5@¢­\bø\8a­\b\ 1\10\0 \0\ 1\b\0\10\0 \0\1d¸\85îö±¤ôÀw&L\86H\10ÌZ\v\88\80b\98¦4E\8b\82²8\v\98I\ 3Þ\93¸\90@\18UB4@*\88K\ eô!A@rE:zv­«u~´Zq[jýmµU£ \82H@\92\0\10\0Q\ 4J\80¶¾á\88\0©       \ 1&yç\9dîd\80¶ý[nýwww\9cÝç7w\9cû\9bÎoåßÏ¿«\7f\86õýïk$q¶ã´\9eô\9dw_\ 3\aØv=\94ìô9¹¤¾¯ÛÜo\91÷²òø\9a\r\1d\9dÖÓ£Þxÿ\ 2I=*|\96\1f\1ei\1f~D\83%\9bP=\9b3JÚUßeåÕö\1e\96¦Í=5?\8f\88ì6\89û\19\88[xéZú\11Òw\13í%ÿÏÕ©\7fÿõ\1d
+Iw¾#\8e}\1f\1d.\9díÖZe$¼ÀôQ\9a?.]$µ\12Åå¢\1d\19z×ýÂLÒIûÔG\95gJëÿ\80\rßû\ 5ü\bÉ%:ÛÿÚ\ fÖ+\94¨T>øÚv\83ÿ2àG\93ø\ 6ú^²\9f½ï\15ï\12\v\9a\8fÊ\92P\9aûç~\84\1fî±\9b2^\8fb\ 1\9fù\86õµ÷õYå\10\16\rÈ`ü\10£kïùáôùLÆk&\92Z¶Ìè\1dk_\7fU\9f\rü\85sUÉ&Êý§þüác\r\17äzc¸ñ¿xa\a÷\8c\98Qô%\18 |j\18\e\13/@ú\12??ä\ 2$>ðÕUµ\17s\1c*Lw)\9e¼ËÝM\17^÷¹¯Ú5\83Åï\1d\86\bâ\a¤\92GÅÝ¢÷¯§\12\1c"pÇÞÈñé\0N ?túr\81~åßÓw0Z¡\ e|6ØFboî\0E\ 3r\8f:\b\ 2\81\9a:\1cÐiþèmÔ\8a7&>Í\1c\86\ 2      ç¯\8c×UVº©ýã¡ìMô\8cÙãm\99öÕ{  $\8csñ¸8Ôê\87\1a\82½Cß< öLû8r1\8eë:Gnۣħ\11®ùûF\9e.N\94n^xy\9a-,àùùLù¿\1f3³æ!Ë\8d\v>s£ç\9b\8c|òÌù\98<æû\90óFæÞD\80ÇüoÎ\92Pì'Óm$;Vh\ 2\8e»ò4/Íñ¿BIPÀ­ÕT\ 6\9a£\8bþáÁ:\8f\b\9c\1aîÎ\9e\18úó.g!¨\13¦^nÏß\0Ý\88OLÅ\1a\fÁ\9c£ó_\84{¼öÞ\8aIVT\ 5á\1e\859Pk\ 6\83H8Jî65\81\1asÍë+
+\8b©ô\87ê\1d!\8e\ 4\f\8a\@èm\ 3àöƾzD4\8bßN4}Ð\ 6§¼åý\12Ö\ f\ 5\12÷ÌH\0hm\8f\1c;\1a[_£
+tqñÅ\9bõ\1e¡Z²#E¿\1a#Þ|?ÌTQÇg©ù²$V$î]º%þè{]|AÉ\1c#|V\88ÁõX(\12ExS£íu\ 5\88ùõe~ÕêB\8a\0_\84\8aºe\ f6q§\ 2\e'\9b©\e"\8f¨ÃSQ¸ìJñNÍâþ7\8e_Ñqxû\ëÃ\8euãËfñ\r\9bǼ"\1duÍãªç^5\7fºæñ\92fðí\9bÆ/×\vÆ\90o\ 1\8f³EÖ\r\12ÌÑrý\82¢º\8d\17Û
+$M¬C÷OV[C¾÷\82\9eÞX¨\9d3Ed4_\96¤¨¾\8f`¨¿pÑuaxC EÂ0ãñÁ§\1d?\1d\19¢-ê¿a¢öû\16 yë"zÕU«Z\81.N×í\ f\ e\8dyh\15µæ«nÊ
+ô@Mëã_;P\10 òâ\95EÔ|ô\ f\1cË÷O\9c÷\ 2yv\90èåÓ=²\87Ù\ 2\12Ö»\1a­ÓV¨ýÚ\90S\85O0h¸\ 4£â\14>,Ñ\eìh\8e¦ÉÊ\90k³±\8c{ö%\89\83]\9c\98\ 4\17§\81Þ\18ý¹\14-\1amöê\1e¾\89½ãd\87~H\fpoËKÀ­\8f6eïÆ«\97k\1e0¡hLg$\0\9c\eºÕw\94sY¹£\1c\v
+\8a\1frh8¸T÷SUËI£1Ó¤4ZéØ\e\98³É-1\17=.\92®ÎØÀ\ 2ÁÜ\88\7f\æ?ð<9tð;\94×I5ú\ 1Ä\84\7f\87Î̺¯\9e\ e\84ÂÑç\9f\8b\ eÉ\9e2gã\98öʺ5[LXh£_\9b2Bà\80\1cKcÍÌÉFzÁg\99\93\11ÔU\89×\9f\11Õ\9a.N\98=³ys1\9d\9d^.\88iCKlãÍ\19´ý0\83'l\18\aÊcÑS\1a»\83.\8f\93À\eôý@âÓB\93o\e»I(ÿ\94\13³C\ 3s\1f
+\ 5B\byëÓ\ 4ú×p¥Ìyú\84äV§"¹Eï\12Ãê~Ú\˨íÉðòæ\8b®v£}¹æ\14\83[Oî\1a-\83\93Ì\ 6\12ö\9d\ 4\8f¯\9fxcâ\1e¨Äüâ\8cMÀõ\88Â'@¶§Ý\80Ùðú¢\ 6Q\ 2\11¦êËÉGÏÌÅ\13\91S#Ô'\0SÙÄT\11ú4Q\12\1dÑ£1ó\ 2\87Å_R\86íÂgvÅ\1e\f\12#¦Þ\82\15\11tŲo´\8d\1c\1c{È¡þ\8c\90\86\9aÔwB\97PRå\18Þ)\ 4ç^£1ä\92\97\98\15¤^\8cª-8¯@Æw\91\ fd7wÖì\9f'`cÝYU+J¢¼õ  £q8ʨ.Æ\8b 
+µD¥¦®7\95\94Ô\0M\eÐI(Ú\8f\0\8fw~>z\7f\0N\eßL\16\14\9aù¶H¼LHÌ}Ð\b\85/»Ó1\8b\9cL4u5è\90\9aóü\0\12S>Ê\1f§ö\ 2á¼\87\r\10ø\f\rä\9c¾\rªÓ\16\13ùæÑú#EêR°\9fU´rYg\ 6*Aë\9e-RkSOc'T?¡]½1ï\8e=\ 1)\0$«c1\82µóÄÝ÷êöF\9eϽ[¢Ñgü\0131\8c~\ 4ø\8dh\16\ 5MjÎ\f~\96\89¹\12$XOø\ 1\97æ\e\1e\8cè\9dß\9etẳ¢\ 3Âhì\7f¸\a£óî@5Z\0ñ\12@<ÕÈ\a\a\9e\ 1®;lÆ0+fûo<G¬Ð\7fó-\91\90\v**-ÿô        ªùÜ\90;åó\84\ eäGê´YúD\95{¢Ïæ\12\19?tf;iÄUøÂ\ 1+2\ 5¥j\8dh\ f\0\ 5\99\8c.°n\90~\ 5¶hù\85TlcÞ   \7f\85%\86\1dPÿç\e"¼/\bá\r\9e36Õp\86aÄPóÑgò  +\80,§¦\95\94öÜì§\1c9K\ e\rô¦\83¼[fÐ\9e¨     í$@Çq\8eó\99`<>£Ì\9axÎÕº\98á\95ë\96ùzúÚÿMµ|\96\82÷µ\82ߪ=O¸E]}+µ\e\93X¥ßæsYÓ/Hð\8bZ4Ø\0\97)÷L
+4û"hÜ2YßÚ\18\ f­\82I(\eãA¯Ðv\81\84rwB\10{¨¾f\aíB³pB\8eÁÇ\14>dX8C?\ ú\97Ò_7áô\8c\17~ÊE\ f_r\9dïìE|\82cM1¶rÑy\0î\1d[²gôÁ¡;£\1d\0 w´ùÊtmX\13z\f\ 272þ\vó.±\91\0¶¿jeèa#&+zÃ\92ä±Î@9æj\0
+¾ýðøÂ\8d'ÒE\84\83ÂÖ6\8f<t6\8d8¹7¢Ñú\ 3\11â\9e´\ 1\80<½àz O-z-¸y=\87éôaåd\98¬¿nÉë\13m\17ÆYC\r\vj\87±G\97l9á5ãx*sUlU\ 4ê8¯ó\ 5£S5¤¹p\ 3èî\0ðAÿ~ï\1fÜCÇ\eGòj\12&U"îE°$Ø\9fÒDb\8bËc\12Ù;\19ÿ-É) S\11\89\1a\8e´\9a\99aiK\ 5ô~VvÂ\125 Tu5®ª»ò¨gzx¿¨4_c\81\8b\96\93\84Yò\J\vG$m\1a\896\87òm
+1RûD[QyoúÂÃáI°Ì\15\85Ç\17ö\17º¯\14;6\86[¼v6:®\13b&\10LÀ,Y\8c\0§K/\ 5@Nõ(âûp·i\19ú0{xå÷\8d}L#;ñ¡ÞI\1d\1asVÊE\eòÏ\ 34KJÍç\bám\0\0ù]À©\92¡êKy\82×¾á\96xéQ®9\1c^\90q\8aP"˸T¢y\93;\96Ü      o:Ü\11k̳ôÜ>¥ì\1csG\1aGQ\97&l¦·\ 4Û\98»\ f#nÖ\8b\99s<\8dÖ\91J´@æ\1dI¥Â]V\9a\r\\8dÐ\85b8ÀR1\9c\8d\9aEy¢ó%Ýx|QGÛ+\r\ 1\87Hέ<ÿ6F\89Ã\ 6\aPÓ»\ fÇÒ\92\1f§Ò}Z\ 4ðIü\10\ 2b®ãKÇ\96\81!\1d\90\13ä\vCUHW»\ 4\ 2qL\13\14\99\8fÅ5wð\97\10\8c\16«DüÍýÄzzRÑ\10À'Þ\9ax\16Z%IÒ\8dºõ\1fvÒejüÁL®a\94Ê×\85ÀÒ,\r\a\95Oç£Þµ\11ÉÇ\eñ³ ô\80[\0V[}±oÀ­ìwv\8c
+ÐÖ ¼ë\82µÈõ\8c\91ºø¾h¯«NûPH\ eîA\13\1dûôÏðÃîòY\1aò`ìGÖ\1cx[a,7\1eé\1f4Ý hü61nl\ 3E[3\88uYbt?#¶\1d÷\16ÄÉÖú@CÎ\\10ñLðËÔ=#U\18HÕw\86u\9dï¤É\vàò£­\95w`¥ b\14¸úõèÆ. ÏÂ÷@`é\vAw\89,ññR\12
+vÆÖIT\98\eÄ]8&ª\985»K§\1cV|\ ffu'U[ò<YðWµçcfÎë?\1dðz\90\v06(×Ð\8e\9dZ\96\86z\82L¹þT\89   û7¦±\84àó\ 5\82L\93hòö\13ô­\8c}\9d\84þE$u\80\ e#»å\16\86Þ\83/EårÜ`Xæ\17\97ù\12J\17_h\9c\1ej°tZ\1fº\90©ç\15j\88!mÑhAS=!{m3åp»\17¦´7\1a\16¤1ÞÔ.«l¡TÚ-ùì\1c\92{\a`;>:l\e>ì6}âgÍ\86ÓçÙÚzôl­\ 4\80È\17\10\89\1f\87H.·Ú\12ôòã«Æ\87V;ò\86ÚAñ\99zÉd¥Û£CöÇÖ\8b/C\ 2\ 6å\1då\vUmƯ&\15p8\91¯Ä²É¼ð
+\11\9d÷¤t\9e\0ùÝ\99ó*{\\9dÅ?Î>r\95ÆcÛ\13аô»ÄcÇ:\91eS¾U¹\9bÚ²¡NVÜ×û\19NAÃôÛj\84\80#{!\9a\a¸\ 2ÐØ£»FýB\ 1Üâ{ÚÊ2Ñ^Z2" .Ü[¬»\8\a\1eúV\ 4B*Û£Må]Q¯Å\81\ fo\ 1O÷.|ýeG\8des̹\vËPü\15 á\9eg0$Ð\:¶s½\9a5> \8e¸p\ 6\ 3Y\81V\0½É÷¨ê|P§oÉ3\19\99\ 6\83\9a{\9bû$Ü´\9b¿º7¬øÞ\97ÍÜ]³OPÜnßS*À\85\ 32²è}Ô¨?u;\95\(y\98òê\1d71 Ù+\99M\8c\80jx\16üô7 I²\9d¬\8f\8f
+YÀ¥~·\fóó³Ðç\16á\1e\7f        =\ f\ 6·¼\150\82¦um¸x\98<a-`\18ÌÑ"\rxo\ 5°iðÐè`MÛ\14a¼FG?\f\ 4FA\ eæá°yL÷Å\9e\ 2\9f¶&\14~U\9c#\1dF(\bí\12\16\9bñ\ 1ë\1elU\17³i\83¾\94`\93Ñ\8bÓ\91½P/}²/r%0X«éÛ\86        ÅÆ\11\82~ý8½0d-Å\82\185êõÊA£wO2\1f/3­Åå\80>Åz\ 4ØS¡\rx3ºy\80ùy\9cpc¥\1fn\9aí\89ì{½ÃÖ}\ 4
+Øó\ 6?Bi\15¦\83¸[\93óWÕ\89UTÙ-Ö\13ÛAáÔ\13å\81á{#=\ f\ f±V\ 1\1c\8d\9e3­W\ 6ìgXmuy?§@/ó\8bþ\18Ìv?¸\87\8d\87\8e\86:)M\ 3|\ 4\90¡ã\1a{NK\1c\17ªä¾q\1aîÜQ1l¡þ\11Ô©Øq~7ª/ }J¯@P<Ôc¨ë¼±\84OÞ¾\9dLüØ¿\18+\8f@û.\15¾\e5·ù5¦?\92X觪q\97\\ fµ\1a\97¨Ö\8a·`×ø.\8dìÉ!xÚ\12\89\87\1aúq=RR\9bÖ³4\1e½ÕO\9a'eY!С¿`h¨z­@|Ë+ß\aËerEó\81\ f\9bÚ¯J\9f·4[VËd§²\185±¦ödë\1cg\81\93\ 5\1c~ÐX\89à\ 5\14J­r®\93ª\8c¶MJ­3:\1d\901á½NÿZ\9c\1a×UY\0Õ¸ï'²\13\91ý\83Od'Uõ£ÝCÑj\ 1ô[´1æM\ 6iÕV\\91$/W\80ÛH\8e\171\91\83\ 4ofT\0O4`\16{2µ\9fÆ/i0Uã\fzÄâó_-Jcé\88\18Ckrh¨·tÐw\8aáÔ<ß\99äJfÒm\7f@V\9d\ e\84Ù\97°=2_è\8b\ 5®çÙ\98öF?¹"\8eu\96\9c]i/M\86\9dA,ÒØò~ZÜuÚ\8d8-\9d\ 5\19Ñ\81 M3XUKë"Xßp\a©¶\13^~-ݽF,\ 6\88\87ß§\16;Õq\81ó,¬0ùl¬á|¾\ f\9bÚ½       SõIÅæ6[¼\8b\96Á¥\1f¹\f<c¨¯\88ÁÇÅ(¾Yütâå§\0æ2ÏR\8fÚ\aÐÀ\8bËBJ?^\16\81\8dÐjÉ1»WÄNEµnc²Ï° n²Q\14]k\8c¾!é*³µuU
+@Å¢\ 2\87P\11cJCy\ f*\vx{¹E\15´\1d©\v\ e\4\8a%T\85\#ö\vt%ã«&êÆ-M4<\94\1fu\92È÷d\868¿z\12JÝyÇs\16Û¦W£\ f\98cM*\14Å\ 4ö'        \1e^\82{\r:¶äO«éN½\ 2æzÉÊãÈåéa\9f\91B{SûÀsQyrî¼U\0Ç!\80ÚëÅÃ\17\8d´³¯\16\996¬´ú\86\aÄ\9c\1f¡ÕKá;)ï@¶\89ÕOD6\18º·Þ\98Èi§up\12Æ\98+ßê-QN\ fÈê¦9\e\9dtCüã¡\90¢ð\1e\8b\10ô`y\9e\9ega\87òDó\ 1>Ànqx\10\86\90+|¦kgdÖ\89õ\ e\KW\1c*p\90\ 2\8eV\88\96D^d³ª¦\ 6®«\0êªlJ¸î\85\ 2ó­HY÷\a\ 6z\8fÑË(5\ e´\9c2T¾\81¥<(
\83म\ 16;{X\87èh\ fgB{\14ϵE=¼\97S]i\aDT\83\8eImè\9cDé0Â\8c\85«8\8aõ\ 4\8e0\r\19 (õ]EæK«4\99ð४g\91À\96;"¡\8bÌn«\88\87è£ËÄ><\15£»WíP\ 1\86z#§ \ 2s¬}\bØûw-\ 2<\ ekB\15±d2êöÃfLÇļLúôÛí      \85û#.èÌPu@zö\19Ì\95Â'\86\14\r\1a@O]P³\86\1e\94\83é\83å\11CÆÃ\88\87=Nñ×\8b§-\1fĽ3\10Û\1a
+3ºÃA³\fxα\16c\8f\869\81Ú\9aEsYGõÖ¸6ÌÃ\14ðî5\9cu\905­ÕO²\1a­Î\e\9a\16åÚ\8f=2\ 3 ëL\7frIDÉ%Y7@Ó\aU=@\1c\fk;yG\r\98\17&yE¹=Â\81x'tZÀ\14?®X\ 2\87º\19\8cxo%\98'ÜI\11ú\84\86xÄÒc(\85Q\7f\b
+'\ e\bÔìM\ 5d\86      N\80O]Q>\1dª\82\15ûi\89ï\88Íò\16\9dï#yÂE2\95Ê£\1dÓêTÏÜÎ&~ü\15\8d\9b\84-Yä¡äHù\0ó~@Õ\89\11me³·öb\89\8aÓ_\8csW´0+T>Èû\88l\19é\18\82\96¸\88Tf_³\f
+\90Bñzµ5çÐ>zF|ø\ 6ið0óÞD^\8boC\ 3c\11yû*\ 3ë\87\16O¦G¶(\93\8b¯¤(¤ÿT\12pA~< M\9e4C\86\15Ë>õ
+\13\14|r'hÄNÀmÜ\ 2Õݲ(¹!Y\81µ)\80i±vÂ#³\1a\ 3Íã5ÉI\8bà
+\1c\11~\1f´-tCc\1fhË´GÙ\9fe\10ö\fº\90þVGQÓ&)?Ù£\ 5àµ(\8e\e\1d·0\12¬\1aø\8fÝ\8cI(ùsUo\95ÉÃÕ\93\12'q\1aºNSª\96JK\9dC\90Ä>Ð1óì\99Èl-ÙLL&²kÌ2cì1S\1fÝ\rn\98E c\89·ú\13ÀûâÃ\9c%¼ñÜj3\1eÂáâ\1cÜàîNDw\14£1\99¡\883çé\f\8f·°7*\1cc&±\89éÑîÚ\16´\eþ¶»ú?Mͬøg\86]°}=6\ 4<¤V\99x`\84\f3ñjl>ç\ 5ªÓá§J\0n\18
\eðû0}ÎJÝ1O\88\1co,c\12UnE©$\8b\1f\1c\8bïÌ)`¾XýöY>£%ùj\9b2ß*\81~z\8cÿ&T$\8bµÂ\10\ 3²&\15ÒE×Z£·\18\v»ÿ\95\95c\14¾ØºùÉ1ßÌ¡@KúÆçÈÕòe\rßÖ.¼\rñ\a|\83AÙóü¡ î\95ã#»\1cÍ\8c\14Çß\10Çj\8e\9cpÕæ\rßÖ\81ÚÙ#¥)\876Bè<\1að¿{7\ e\92¨w\e\80QLwi±Gj\8fÃn,/$2r\14\83°Z::\v\81/úEë\92ví¤\9d»"à\1d\80\vBL\94\a®c\13      \1f\aÏÿÓ·\13´\r- i\ 1ÐÑ{µ¹;\7fù\92~\19\1dÏÏÿ\92{\9fG[óÿÐ\9eÏ\86Â2O"Mo\1a&·¿÷&½\97\1c\89¯¿Ó\7f\82kuó\7fØ\9aþØ\93\7f¬\9aÿØ\8fò¬\91ÿaÇ"?Ý\9d\92?á|¬\91û\17m\11«¸-Ñïvÿñ$\r\12\ 6ÖQ ?d\90\11Æÿ\ 4\80¡æï:ay2%VÅ^©F\1c:\ fXz*\87),â-´²®TªÙ*Ý;ªQ\ egiÅ­x\9c[d\96ýÿ0\8c`G`Aï\13_\19pëc,ë\ 6\906Pü\80#W(âá\ 5!^\81,\8d&¥º\1fNDÛ)Ò`HÝæßñ\vm\9ab¨¡\81Ä\ fëJ\18\1f\15\f \f¬7}\9ee¿\f\10ì\ 3ðÝ%oâõ¼âlB\ 3´µÌço\0\97j\7f\14 \80æÿ\ 2IHñéJ\r<Ä   \10ë$H\14Á²\N½\879Xpv.ªF)VV-³u¾É\8e\89êg\8btç5ïGÁñkÛ%\16Úè°aôoM=\8c\7fO4fôoÃÅîre×°ic7®\8fêÐ\1f/{1è\9d\8e\92è\ 4$×qGZb?6\ 6ÈS¢Þ#ÔkJ\8aÔØQâÚæð¡s~\8fÈTtOY³#Oϱ^\83\0z\8a\80£L÷v¬?y\9b\b°\9e1\ 1uB'§\17f\16\19\8a\18\e\9e¿}Î\16àì\9dTê      &¾I\ 30êÈ}\83®U2\egâÔ<
+Ä-ÙóÆî­CÂ\ 4Ü\99úl^\1c§\au&ý\9d\9b\89\a]\9cr¡Ñ\10û\7fY³8kZ\r'6Ê\9cuJÉoÇS¾Vþ\98\87Õ\9cA\ f\8bB\14?\ 1\8dHQP\9fÁ½¨{"\ fÔ?vô-óièí\84wuáõ¤åèj1´r\ 6\86\9eî¤\1fã\9cèZ¯§\99Lÿ:g¶\88~2g÷+\ 5\18Èíy²$1\8b\9a\13\8d\1f\81f\9e\0ÝÖ]        h\95¨½(:\ f\99\aúwÞY#*\ 1\97f\ 6©¥1þNr\13\95tw%\96m\1fÈQÞ\8fÕ\14¢NC\*g%%¿0øÈþ!\99CÕѳ\15\v\ 5¤\12oÚ!\8cPi\ 6¥\98\ 1\14,f\1fz\89\8aó·\88ߪ6l`É\98á\ 1\81Ø\14*\7fÂT×\9eÕ«î)«ê
+0)^=\ 6¯\ 3qboSâ\94ñ\97¨È\r1ï°ÀÑ?qj\8d\v\v6¡c)-\18F`Ù\r{ª¯\14g´O¼ª­V\f8;\ 5zèpl\15½\ 5\fæj\rvrj-¬ÂÙXgÚÇr?\1d\9c3Ù³\16\83\18õ\1eu°(Â\143í#ßÏ?{\81±ê\b\8amn\90ÝPY\86\ 2\1f[PÄ\87è\10s|>2ö\8fO\98;\80Íø7\95\1e\88,\ 4\81\8aÇ\ 4SsàF{Ç^Ã|¬\1dsª®è\99\q[W%\92\85\ 5öK\99\eÃ\11Ôû¸c+¨Y*ü\84¿»îµ\92~\f\ eÅÕLp³k\a\eOY!\9fÚ\10\1d¬\ 6G´ûÉ8­\11\b2¼mYb·\fÆs±ø<\96\vE\13Â\81¬\83r\99¢Á\19\97Ó¨\9e\94QdïüÔu\19²\8b\ f4\ 3q&¯Ú\9aI\109\95\9eÀ­Ù\0\0æP\0îH\ 1ºö?\98\ 1íÊ\05@¯\ 6´\8f*r\17ê\99\92\8a\ 4Ñ\ fXʦÀÔ\ fÑ\e\ 3wGU\11\99B&.&È(\99\14Dß¡8\1fÞ\855U£ª\92\8d\ 3çéêäèõ\ 4övÕ\97¥\8d\17µIÕTRű[Ä9á\8dû\15À$8!\90Á¸S¥Ã\1dÓ@ÊÈÆ\98ù$\16\80\98öIßýô=§hÜ=ÉFáé\18\9aþáêe6Ñr×Î×êÝ+ [\13BÌ[\19Ôð<\96HT\84\ 10­<\12\89Ë£×\89Â\\9d@\18"~2IFrZ        7\85\1f9x\9cøÝì_2^Hl{Ö£\11òé\87#¯vh¼fËqQ\81ìZ\8bÇq\13oûM\9b\8c\8f\1c\v\92f\1c\82ë]üeÌß\8f\1f­1ûAq£Õ,_\0\93­VZ¶g7/\17-¯I\1dñ\{\84\19\8cU\\8eã\80\8eؽìÑáS\14\86]\80 ð\9bäÝp9[syfé\9c~/#ý#8\8aæã=úc·ÅÏ\ f\1e2Ù[¸/dÈì\8b\r\16(\ 6÷\19¯ ¡U\98xg¦od\8c\ 52LÕ\bÎY\81·\\ 3L¸Ày\ 5([üp.ù\bÓ\93\92·Îk\ 3\88à­\ 5©®\9fE\9f1I.¢\ 2\81Ý£ÄÍJ\9f\8fÇFA®\ 1\8c\1dúÛßê#Ò\16\1fýãï\8eöÒJ\8fÈ}ìJ¯\89[é¢òåÕx\e:Äß\95R\92PonUëM\16¶\\17Ðö\9f\87rÖ'ô\8fPÔznUzMÒI_±\10
+æÌpú{ ù¿S¹\8f[\ 2D\vH\1cCìÅ\87\9aMP\99+­W"ù£Ø\80\8fùk£_\11\99á¯ó¤e~&¸r\95¥oEç2Ï!(¹\vÔiØ·Êg3*\8c7
+A\85Ø\\87p\18Zð¦~×\86^pX·¾\96\14ÔþXµÓ¨ùü\ 6°Èv\13ô\8d\9d\eé[Ó^]öo\ e½%,\9c?/'\ f¦\93\87Ô5á¢)Ñ\ 53,ó|M\0yèõÚFqçh¾\0V\8b\10»ªøfsw\96¦yMßtÃ_®v\8e\80\7f xKq¿HmT®ZÞôÕ[\1e{U
+\eG<#BÑÑP\16ø¹û²KuεY7363÷a&,Ýü¸L\17\94e
+dí\14ê<°]\12(\83Õ\9e\1e~\b}\8cY[\F>t¤ÿå\97äeeîµ]ã\99\9a\7f\8a.zì\91µ³\rW­~\1ag9·\88áó\1a\ 3K$\11­\1f\vTJôE\13¼¼¦"äîÉ@\90\8b\12\8a\ 1\94ÿõ\98\\.óJ\92RäS\17®t\9dL\14\rðÅ2¶\rÍߤ\8c\18\98%dÄ®&}rÓC;b\ fÁOðGÝ\99{ïöv÷iþ5¯½ç\8fwìÜÓ3\a>.´6³\981\fØ;;Ã<PÎÇ\85\11\9aö½3ìí¯k®`ywü²\996\8e²Y\94\89ö\9d\8b(\bîF\ fÜì
\1d³`©ZeF/3ââg@\1e\18\90ðÑÛKK%J£ª\1d¸\93e),õAvµ\ fþ\82w:t\9cïbo\ 5£\ 4ë\88$ÉôÃçL>`+}<\8a6Ƭ\94wØ,¾g½Ì\e\95¼7KZkýw÷\83÷\8ed\87p¿¬\v\92\16\97\86¡ø07Ê1\82óCÚ?Ff3¶©\9fÛ3\1d³Äqûââ¥M56ïâ\12rýà°\95±\10ªx\8aá«\f'säPÉäW+8k\14©©ÕÊ|ÐÝf¥ß\19\83\9dha<FÓ¾-=\9dE\7f|Ó/\aÚ£Ý\1f6açª0`%;Þõ\98h\e\97\ e}p\11\99p}@\90`o\90\fÞþ §xcÍG¼\99\8c\87\1cÓÙ¹Õ¦\r=?82ýfG\88ï²[ø³Å\ 4çñ\ f\9cù¹èÒ³Í\8fò´%®\1e>\84c\ 4ïUì\13c\198cËG\9b3\14\9cqã8+6×\14·\8b\10ý,}ð\90²9\7fq\92\ 3ìðcÂ\86\8f5p÷\ 2;[{\97\8b\19Íî
+\8c.YÖDL÷Ís1ÿëNÙ6~Iß\r±ä@â\19\8f¼     \9f¿Bëí\a\8cK\fg«ñí'Þ»Uô-KdlK\86é\8cv\ 5È\98,¯ö^\ 4\1fB?9E}âTM\12\97þ\ 5\G±\f\0o~¸Óa®1    É8\85ÑPÕ­\98âcÅKNDJ2ã6QÀk\8cËð-î\r«`\9c_\ 6\8d,ãäb\83"\87ê6#]\1cëôô`D\9d`æúÇW*e\84Öûh\ 5,[\ 6H wì\98\95þì\1f¦t\17 \f @s¦7ûBQ\1c/¡¨æ£!\15\1a±\98\928ÁDfõY\8cê\17Ml©\19:2O\16Ük\8fnËÆ\15\19\99WK\8bR>bè\18\8cE\15z°P\87ê.\155q\97\9bó´¥ÊÈ\9c\ 2ëv\8e\89âõ)\v\13\9dw^\ 4\10)±x\8dÞX\97·y4[ø\98+\94mrÌ\91dØXÐ÷è¹I×Ô\8cïìÂx¤á\1c\9ec-¥u\ 6\8bb\e?~\ 3¸\16æ\ fî\ 2¨^#²,Ékó[AñIà\r\7f,}\89þ<\7fá$\9bÁ\ 4\19p&ºg£ÐKç@|{\ 2DF§\7fpÆo\8c\1fuX`vu\11måÕr$W\ 15çQ\93)\95Ö:       È<¬çO\16Þ[9\8b\1aõ"Û¹uR-7Å·v¯}\16Ýê½\[yÅi~\96\1cé\ 4\80)D\84²ä@²££\fúI\96±\9dرµL\8e\11%ßÜ\14\88ì¸áX·xml©ÀÚb\81Q±Fß\96ÍãÌ+À¶\ 3í3Cà꣮6\ fÚϳ­5CM\93\15\93ü¤Ò\8c\90~E´Ñ\85§1\13®\86<)Ó.Þ#\19\98T\1a[\18Z_u3Ф\9c\1d\82¸¥'ª\1d­7=Lõg>£e'©^*Þ\16\97mi\b\ eEÌ?M´.Ïlµà=^«/ê¶\8eà½\86~\ryµ²¸\7fÞØ\a²!>\8d´kK²c¥Î\ 3K\96ÉÂìý×UCÔR ììUÇ&\7f\ 1*\r\9c\1e"©Ðv\7f\1aÜkJ\10ɺ\98~»dmÊc~9ÙsËÇ\99\14t\râ?HÔAø4\19s\ 5ð/+X\ 5æ?¬\18ÂØàÅ\16£R\f\85\93\82g\9aÞÔ`pX\82Ïõ²\99°ìÇ\11¦k\94\ 1M\9a\ 53.g¥$\8a¡âôÏìaueÑ\96K(($ÃÑ\82@õ²O½\99Dç±\8dÐ[\97\vÿþHß\882%8åÔ\81¶EÞÙ£Óò\89ûÛ$sZ\97\17¤ñ
+{¶ÅY±Ü\7f\8d\9aZ\85\7f\94I\9c\9a=rã"î\86\ 6\94®*\8a<ò@ç\0O>xÌS\ 2"ï±ð&c?j<\eÉìëůªOf\9e¬ðÌb\9c¢ûÞ\88¢ ¢³l\8c\87X<CÓAýëmÑ\94,k`Ò3n\15\92(Òç#+ýW\a\ 2Ò!ø1\ e\84×\9cdoM~¹\rþ°Ãå#\ 2°uS¥(#T\81\97Ø\ f:"\ eÍ[Ðð\ f\87\83Õ³[\92\16\1eÝ¡\fN\bî+\a\9c\1c\8f\97
+ÏVÎ\r\80n~²VçÏ\98ÿ`xö\90wJÎ(Ä!\8bðìÒ,\13^\17\1cc\ f\87Ý©ðÏa®\91ñ/\86%<5Íò\ f    V\ eéon"ýÚI¯\83|\8f·Êg\85³%9·)Èix\9fðâC¡Cð\85Ñá\99N\Á×Za\82Ð9\ f9;\95%6N½_\91\1d<Äp\8aJ%\80\bß\8f\15ÆÈ±\11x\aþb¸qÓ\91\8b¿ËÂ4;ý1w'\ 5Àc/à\81\8a]ãô#Á¥0Å\85]¸j:qkÁ\1a\16kF\15àÉ\0\11àÚ\7fX½×.\8d\91i¸ü@\14×ÿ¨Þ/~`-     \86*\fè\12\8cu\10s¢svqîÉÏwïó\8dÁJq\ fÒÄ\83ï­Æ!\ 6w\bË+@-]\11ÊäÈ\91\1c5\89ÄÁ]-ãÞ\ 1N\96¦\9eû\93\99Ë¡\97»s\a\a±¯[ãFÌ`½Á·Ît\86=Ûæ\92¸ÄtÎårW~1Sû\18\1fíÅ\99\94*\v\1eoÀüé%b<\90æ£7½I\e+i-T\8b\8dîÅ¥÷\92¡ò2x\85»\91\8dU±uS>\%½Ëª\9eÌ<(G\97\14ûé\94ý©;-\ 2Ò\ 4\84Å¥Í\8a½\11tg\91¡\91*|²òÃÖûáüò$z­\854\ fù2NùÕNÀx\ 6T¢\ÿf\f\95Ò,ä0¨Ìò\18Cyê¤-BÆ*u\130dòC\95ø\ 3\ 21Ųä`©Kª\13»ðÉÿ\a\18"\1a\85\8b­\91\8fÖJq\ féY\9a\15 ùä\82Õ\11\fÇm\bÖ3\14ßs+\93\13\95\17ÊÎ(¾fu\1eþHt£*=`<{°B\eÄ[\8d\v\18÷©°£çå_¢Ð>¦IQã\92£(ôZ4GD8ÍVú¢`Jr<Ùª­\a¦\ 3f\8fãÕ\17\9f)®áfR\90Ñ\92È\93\8eö\14\ f\9e¶FVÞVϵØ\e^\8dÚ\8bÂx &Òæ,yIÒ'J¹Æãñ\8e©\8bé¨ûó££P\ 6\98\0ÅA;L³\98\95_\13ª\9f\15\98LãÓÏÆhJ+Y\8fÙ#W\91&;b2E\ 3¹OF\1a»ñs<[Y\1e\1f²\1d8fCÞ\0x\13ÏRVü*[\7f¥lûC\84ЭÐè³Í¤\ 1Ù{RV/\1eð¡ìɬ\8flJÛ¢jr,\8d\80Ã\94_0M\9fÚg¾É¢ó[g:b    \8d#jc÷\ eK§UbíCÝ\11úÊdW\11²ß\1a\8bÀ\16\ e¸ã\ 2L\12\89\17_9Î\8deþý/\r)~\1a\ 6\ 5 Å#\98\ 2ÚÓ\91\80õz(`\83À0n\8cHä@kÌôã7àNÙî¬ÑmÛg:\93\14æ)\16eu\e\81K"=ÔW<bÚ\9e+e¸Lôâ\1fÊ\ 1á\80p\94
\ 6\¢òÆ>,y¥Ó#\14\9e\ eáYs1\86µ¯g\94\96¢òÒy&Wð¶\81)\8câ¡ú\f¶µù\82\9eê¡á ÇMá\97\9aLõ¤{}:Lä{\10É\83Åàå\11ð        \9e\13ÄÎd\16dãd;d<\96{êl\81ñ\v\92q\ràã
+A­[o\ 3bc×W\8céØö\9f_[ìy\ 4èf]0'\13\9eLÅ%P\15mÎâ/i\89[î:zq\90®ðx
+OYçV®\ 4\86\8f\8ceèÈq\83\10V\ f1iÑx.Í\1d' aëP\ f ì\93Õw¸bÈGáêñ\vc\ 3\83!ÀñâfäÑ£Úg\90\88®ÈTsu1ñA§\1d\ 1\97î\1f£Iq2\13ùõ\9e®\ 6{\93H\84\9cYâã{øåÆ÷f\eÿ\ e\80ü\8cåà\f»\9e<M\17_ÉÆ\17î¤ÌÚe
+=0\83ð$!¸g\10ÏaB\aý\8f\1eD~\fy\10X31|Ä\97Z\a\88«ñ\1dv¨¿ñä\8e¢\90oÌG\19\v\1dð¿Hêç\90PÏCÂù¶æ\80ût\ f\ f7\9aZ\91\1cx/¬y-t\ 6ÃIän\85#½Èá\ 4(\1eÖ4\9d\92näÉ\92`\12\19\80\10p\ 2\ 6)\12ÊÂ$L\vf\18\ 12L\8cÿ°ì\b\11u\15TT\12Æ¢³ÐÌ$()\ 3$G§^£mU-¶òÛ[jÛ_T¼®\8c\15S!      $\88\0\0¨B(\ 5\15?\8e"\ 2¬$\03ï¾ÿ¹\92H5}[µ¾¾Ýç7y»Í\80\1dÚÙdq¦\195j\9bÏ\ 1*\86¢²ÄàíZý=,\ e\b±­\9a\vß\ e Õ­"íÛmAÀL\11\80ô1ó\ 3\14(Ïé\8c·Z8\8f2¹©{íã=MÛÔjaFeHÚìdf_0»\eg\14V\10¸dZ¿\16\8bçE©X\11Qu\96Ïøâ-HQ\aJ¬\87kè½\1e¥>\¶\1a\13è\8eªð\1e\ 3ý\15ߣ\ fÚJï\12ðó"\8a\1aSþÜ\97Ô6^d©\95\aL\9f²ôF{\8bxßi\82^ô¦®·f!P\82°\8f\16Û\97\98S\14>£Û\f\81lW»]ç(\87'#¨\\96\8b\93\8a´QÖÐh9D\9b\f\87X _ö\1c\84ü\88ÄÜ\88ïsì2b\98ýÉ \9e<°D}^LS*Ú³\96\87@âàþiEüB\ 1\14õsG\bÛòóEz,k_ôÒ@\80\11èB©ó\89Ä~ 1CÈ4\1dÔC;ó\8b\93¥ðFÜfÓZ?\92$ÙµèwpûLÃõ\91®½\16\1cúf\ 4T\98ô\aÙd\88>\8f=G\9cmOÙ\17¢ÚòÉ\8eÔ|æ\7f±%\fÀÁ(ó\8fàÉ\v2\0§9é«>\90§½â+Z}p¾ðA^]Ñìz\81ò\98\91\1fà(W\8fûas®¡CÃ^]×H\r\1cämËd\96oìÁ\9c0ËË'\93ü\11Óf·Â\8f\18V\¦\96¥\0\13øW\bä\18o\91Èè¹Ë\99l Zà(_\ 2g\92VOú²×/´§øÌ¬\96üÑ\19\8f.àX§(\v¸w\8f®\80ÐÐe«\92.\96Æ\9f\91ýv$\10\ f®\91[¸¨líâ\96VóGù°\v=8Þ°\89ö妼÷\9bD%\93Æõ×\94²¨ Mºóÿ\18¬Gõ\ 4ÒÁ\ 1Ù\v\v"W\14µ8Yu\91t\90ÀÃ\8f\92Í\1f»éÆ\ 4­\18G\96f8^Ï\96 \80Ë&D\16Àêâ\1e8n\9aiH´\88\898P\15\96XOüÁ\84ôÙü£ª\1ct2û1F;ç*
+\ 3¯ë°!\ 2\89\ 5\1cÁ\ f\86×\b1\1a
+ðÔÌtªB*1}Tº&8aBï`Þü§·¥,\83\1f$ÃȪ\13\10ù\80©g\18\814.ET\7fÿQnú\b¨¨áØ\8bðO5\848M\89PèA}¤4Q\1d\8d\9a\15\97,KØy]\ 4\by!!aa¯9TûÔZýùÊ\1f¤\17%å¶\938¢Ø^\1a\8bæY\19môøí\86\89æÛH\16Ó\1fº|îqÆ\96Eð.\80Ëo\13g·MæÚ\9f\8eg\9c\17øPæ\86oãøj+\85߯£Vµ\ eæ\9fÏ\9fÈû®­\85\9e£°ò\9d/h¼ó!g]ð\99l\7f\fT\9b\95¢ZÀ­\9fq\13¯-2xàÄ\9f\r(ÜYÍ\8b(\9d{YöÛ\1ft9\84ëÙódø\90Ú!Ø\v>\ 1\9e\ 5-Oç\r\1dcóxÄ\92\9f«÷Hè\ 3\9a ¨0Ou³é\16\9d\89\17µ^\ 3(\8fýû¼ÍüâP¸×\89üD\ 1xR(6\92×ç\ 6\1f6Æg>#±\8d7LÑ\8d?\19\18Ó\7f\81>ú/)Ã1ÚÚ9Ýrù}\13*%¾\10ÅÛjÁ\14
+\vnñǦ_µ\vRg\ eTËÑÍ\vdy+\87®[¿f\9b>y\ f\9bõàrI¯\95|\ e\11é\8a\96\89\ 2EÕµ¿¦YHFæß\13«FÇÒ.\80M\1a\14xQÄ\ e\ 4òç\15<âaåÐÙNÿ\ edªya\b\7f\83Pt±;\8f±\7f\84M\9eÕ7\96\0\83pàЫ\1fñQ3øXð\8dÍ\12Ø\95\1e[@õOÇã\8e\14Ð\90i÷Q'Ý\\ 5\bÚ­¸ø\98!\96J\85lP{¢9÷\89\9b­Ò!£ã\9f\8d\8b\1eß\ 5éäm\82Âu¼q\v\87Ý\ 6\1c¤¥\93\7f\98Q\80Öï\97Ͳ\13ÐbÜ\16UGs\8dÉ\96CQ±û¡e¾Ûclõ´ý«\rÅxC·]æÞ\ 6àóáHUÛ6«¤ECÈ\v6mWúR»³<ôÉ6\95-\18\ 2\15\90<\11§\1cBµâ¥¨\9e{o߯PÊ\89yàÀãTÞY¿ÏE\ e\8ego[À\9d\v:jÿ*)R\88ÿ\b\8e\fï®°IÿPfv&yeOË\1dZAã!r\1d\0ìX\a\9cû\84f}\18Ô8ùE\9c\r\83\eÜüqa\86äúï}\19«F\12a?\8f«¶\7f©\1d:äiÊÙÕ Ö\13£²,9\98@Êr\8c\ 5c2Ü\ 5\16\85\ eüe¸h\18\844.½\ f÷bQ·\15\88\ 6W²W´ÛAÕ\8b\88\8bÓ¢\ 1BN7}\88½\85¥K4âY1\ 1\rÜ\1f\83\89@Òr\10\85\12Æ\89çͤ\93\8b\80Kv\82\1a\9c<q»«`X\ 4m?\97º\ãnTûø\98°d      ¿ø\afN\1eØl\17FEA&\9eëmÐ\ eÌÿ{Þc\a?|¬@l;\09ùîfX;E× #úñ©s\17HÕFäT[&8vÃ\95n\19#\17H4\87Ã{ÑXåâáý£/ÞM\ eû\b\14\ 1{x\93ÇûÄ\ 5\rÄf\18\10=ý=Ñâæ\fó¡\ 3~M¸8P,\ fkî¡3Nc-\12\8co;=\18\v1\87\97;\95ÜS¤\90é¾\8aH:\1fWéUy:ô\8fø¨Øp ÓøS±v­L@bPò
+¼Í\94µ»\83º\93\11ùpë{ªth³¾¤\96\ eíy%EQSfghz2,i¨\96\9bIütHEṞR·'?2õâ\1fþ\90·É.Ó\ 5ä$\90/\11¸cýÈ µÀ\8aG;\ã\ f¥\b³\0¾á1¹\9bA)\9c\84K\r·\91\jãÉ\19\9d\98Sýé@ü¥<\9eè\8d_lû¢\ 4\93Ä-\8e\92\7f§º\16\1aí?\ 2?Ýçt[\a¥\8bý)aß\93°\e\8d   j+\10R
+´Ã\97Q+Í\ e\19ü\82×nÓÚÐ\8a\16%l\8bý'°#&ò\97]ñw\7f\8fBÀ9\86\93DG~UR­¥z¯\1ca/ü\92a95\1aÐÑd\8bÊ(\15Áõ\9c\80@E¡\9eWj/²)³A®\f)×"ÈPðM»
+\f\11Øf\83²\10Âé>Öü\ 6ZÕþ\bËj\90@O8Õ\8bÁY§ë\107K¬#³Dæ\9c\1d;T\9bUöL\90x.©\81\85\86$\1d\ fr}WÈÆ90Ì\89ÎC½D´ão\b °kx\8cveæ\9e;\19â\92º>
+\e\1d\9eÑ"S\8b·òÓm¼/-\81\aZûîì\8a\9fa~1íÔ`ô\81ý\9bth¦Ñ\16\88xªÍ\9ft+y\7f\90¢ÓÍACÿf\ 6AE\94û-\7f­(4XÒgüÇFBãPIÄÚ\9a\r\83\85\1eq)ý1XãCþ\ e\99\86\81CäZ¾Ô\98¨£\ê9ôåϲ3Á÷m]ù\8e}Tn~w¦#l\rOÔåÑðQyá\14ç­\f9\1déf.\ f\ 1\84rbL¹\9c°üãzB\ fÖ\1eQð%A¡û R\98)ð@\8c\91\96ü%ax|iRæE]ÆÃ\17UwãûÜ2\15\8bë\97ý\bÿ\18\ak\fr>·\87ìn=?\85Ð\8aÏ\16ûr\10û\ 5UK\84 `DÍÅ\99õÝ\ 2\82\10hÌñ¥\98cb\a°e|Ôk5\88ýÙ@\8d6\ 4ñ³]\8e\1cnÁ­J2\ 2.Û7(´\1d\84Sd6gìs%\98\AAøÿ\f$£!\9eµ·ýA ¾\97á|´B\9dÑ®¶õÇ\9eP}\ 5ø$!\0±#\19\1dEÅ­¹\88\b{àC\8e\14ÜÛTßÐj\87öóï[q^A\v¶æ[×·ª@\85®¼\81«m\ 6\1c2
+\9a\88æïiÛ\82Ò»}ºíö·\8ae¸)¯á\8e]}"Ux±\13¹?óÌ\93\ fÊ¡tįçj9\85WX\916\ fiΠ,ÞW\11\8b\16(\ e×\87ò2\11\14\1aÁ\87\1a½Ùè|$\92Ùz\98\12\13\1ddþ_Dò¹þ6«Ô!Qé?¿ì\94\ e\90xm®Á+Ûÿ1lé\91¸\ 5¡Àï\16Ö8\ f®XI*id\87ÑYë\84P¼9\13,_\ 5¼¢2\ fÌ®\14ªV¡*0\8d]o$¢úî!fâ=®·YÚ\aGqÀQ]`â«\13i\a\8b\1c}61\88\15døù6Å\94=5VÌzd\9f¸3¿?\88Áþ\88ëØO¢ÞS\82÷]pÐ¥U\99\9f\94>\bÂtʹø\ 19{AÇ\98+\9eÏI\862+;¶\14öþÉ\13\rG\15_=\16r^T\8fj2ôq\f»æ@¸mqd\93\99½67veX¶6\8a÷\97Öâ).&Û}{å¼â@\7fª6Øö\ f¼Éµ_\86Cwöb\93\89(\1e\v\17$W\ eÓDòÂ\ 6\8c+\8a1oQÔË\17\897A¥\116s\17!³õw\ 3¦¯Êñ®ü\98ù\fa|ÑÖ\8evî0e¢hv\rÎ1°l?úC_\15^\14¾Ô\88\8bzRÜ\8f«B^ªS2Ô\ 6
+\80p¬¶»\14FªQw\ 2CÉlë|ÒÊ_¦\90ÑEj\ 21\17.\1e\90>¤÷[·ÑE\81\86\1e\81gÿw¥cmâ\98\96CÑulz/¹Ï»0\88\86Ô\1aË\92¹*\a1l¡]`ìr\e)¥Q}b \91R}Ú<ÿið]÷ÛòÝ\90ÇA)VTÅí{èÝóÔb¥[°\ 4À\b\89¡É\9b\1d7\8c\8e\9b\88C
+uÄ®Õh)C\82^l®m¸}©\96Ö\ e;Õ ©[Xø¾\1a\89úÎCþö\rÔ\94
+T>
+Ïu\ 5y\8c'1µ[²¥³t¦T0U®.2Ô\14È)vÇÙ\17òD\92âô\rPIKÊGÚOòuä\1c©É÷½oKmµþ5\9b²u
+Þë \81\875øjK5én\ 5¦\12þ#éι \88\8es[uD"ê<Øæ\19\95~rÛCë\9fÉC(FÕ~,r\ eDîØ9I     \880\89Ò¼\82\8bQ\8e½(WÅ\99\8c¶ús[ºF\81¾+Äjè\8d\ 3·\18KT\8b¨\96öå\8c;m3Q2Ð\80ÂÍ&éP°Y¡\13\ f\aCÑ-µbêÎ\88>%n"5\14\f·¹\ f\12-ÇëÜÆc#{\ e\fÞ2\8d\a4D\1dOxZgÑéç}î£!¸b\83\16\1d1c\86-\ 2\99 é\89¬¤tz\1a~ìF\9f\94\13f\82l\8elÙPK\91vÅC"ë#ßÏâ\8ft­@d³Ð#¹áÌ1n]\17¯\88C¬6¦\83æ\ fÀ\129\9b\1d\0~\11jE͵\9fu\b]F${^5Þ7,Q\aNH¢\80^¤µÉ\7\88C§õ¾!\eÿðË3urܦ\19%Ѩµ\93åu\bn@äþ\1dÜ#ï!xÙÕç\ 1ýå\8f\8dÈgÇÉû Âz\125!\ f4<\výß\ 1íÅ\94pït\fN/ØK¢$©ßd\88_ å6]Eè\aÓ½\11ÕåpÒ(nJ\99\11ÆrjÈU\11µ\8bù3Ì<î\ 5\17ó\8e-Ü}\ 1ż\1fP½Twv6ñö\87}óD\88\9c\1crVè7¹È3c{\96þÇBôÒ\80èÈ­F\8c\8akͲ\95ì\16S¥»ÜO½\9fðé\ e1\1añW%\12´\9c\ 4Õ\9eÝÅܰ\1f{0ý\84\1c:Óú¨\10¥K^Å\ 6Áð°¹\8a6N­\15(?EY[¸\96\91\8cÊ\8d\8a;ô#çg\16¹\ f\9c+ÂÛ5§í¢ÓßX\ e4\f\86\165x8ÏNA\b¬\91¥¡µf@\97»T)!Ù
\ 5w¸t/\87ç^;aÈ\7f\91Ä#O\1f\80\9eÙLº-\9bR¸òÿ,\82t\92~°]\82É·Qn!ù\98¢Ó/        \8d2÷¹A®\8a\17õ§\8b¡»ÐÛ\ 3\1c\ 3\8b\19ç\f¢R9\8b¾KvD¨`\8d\8d\9fõ\11\13\82«OûËvrÅ\92¼¼\91=\ 4QY\9fÊ82ù8dò\\17qY\11øf%\1a\81U\f\1f#Q8bG
+\1dÑ\fýg$7ëå£@"Þ\9b\1a\98\83\rPtíïð\vM\1eØñÄ]\ 2Ëú¾\aé61»\ 2ïõ\ 6;iÅÐ\16û1\ e\8bngyê]/T/3')\87××ÂÈ\9f¡8.
+\ 3¨­\ e¢\ 6<¡IvN\fó=KOÀÿÔ<\98Ë\1a\98(>Ì\10\99¼\ 5.H:\85\ f\7fÿ \7fÃÀÔ[\8bý_=eѨ#(Ç\93\ru¤Óºä\19j1\v80¥nÆ/\91áGÈäËÈì\11äv¥×(6ï\83/V^K³2¯ìÛÛñ\86Ö¢\182\89'îw"\8a°ä,ö\94Ó\15ê/\1e\bð{MB¼\96ê\85~ºÍÂuÜFgØf\12Jßõ\15Ä\_<¡Aói8C\a\83_\15Ù\9a»\8cÌÏ-ióæÕWU\12½äÿgr!õñ1\93q{°;¸\ f6í{\92\86 S$ÿ\1c>ªLJ÷GÌf
+\97(>ÚÉÓ\1f\93~+     \9a(?]M3\ 2ÔÕ~ñ¿ÈÛS\1eð9R\83Ê\898>¥\7f\1aËUûHp7ù\ 3£zG?M6"\rd\84»\91ûMã\ 4\1c8bÓ£ú\8a§<\ fb.n\1fº\ f0\9a\ 5Ü\87y\7f3Ï]þ Jà¨íë\81\1cQ=.\85ò\93J\8f\80Ëæ\\9fúeï£\14ÿVÙ;\961\1a\vþ§\17'}è\90a¥?;z {\83\12î­\8fö÷Ãà$LÓ$¾fhøÌ<a\8erÆ^\88\13MFÝ\ 3\1eûã*`ûQM\99ZV¢Ë\0ýøx\11ý-襢2\87«-\9fà\8c®1\11\1f¸ïüÄ~ÿÆ/è\96âÅ\15\1ft}\16õ\8dÿ^\85Þ\fo\9fs\9f\1f½»\15\1fº?Q¾@Ë\9cq!kt{ükb©ïnú]B\1dÆ_>ÓÍ\19lôÐ{{\95\15íæÄ\91ñüR\v¿+Óvã¿¢½Eedûv\ 1Yíw\97\86\8fsðÄ\88\7f/x\81ÖÜ\91Ý·l\7fѼÿØMÆ\b_¯' ë\84[;\81·É]Ñ\ 2Ò\93£\1e\16ýÅíó^\fß^NhyþxóÙJþTv_5 p¡eHU\10¢OÞ¤(ů\82<×tmê\ 3\12\92}Ø}\ fµÜ\94.\8f\91HÀõ\8b~ü(rÝ'ªC\97½àu>e!Co¿E""Y¯[Ô5a®ÇÆmVÐUko£Ê°S/é\18\9eÁÌûFÕdÆ\9d\ 4\b\9bVy"&\a\9b\1cÛX¹\12Ìî\1aã\eAÕ£]\8d\0ùï\bX]Áôõå¹Û
+eÉ\84ÑþW\84\9cmz\rÌyl\e òÅ?    \ 2\812Pb2\81"e\7f\8103ó\vZFØÌì"©c© Y<\88\ 5ïý°ûþà½ÿÙÎ\87ÍÿL%nÿù\8aÿ\9d\81:ò~H÷Ó"6\17$U\97*\1f\e²ÔÂsõÝCz\8eÀp3\94x\82®æ_\0\88SÐî\a\15¹÷\14A\92\9cr\8c³í˪\ 4ê\87êÒ{~Ô(ϰ^8\8e»¼(«,\9e(j\9e>P\82\0~V>ÿ;\ 5+\7f8XØÆ\87½êûR»Ê\0¡\1e¯\9cÅì\86\8d<õ»\9bÂ!\7fã0n\86\14Y¢î\ 5ZT0e±©PÁÐãZ¥:®£\1aÞ\85wø×\1eª\vWîOC\94\1aÖŹ\ 4\ 2ø\8dª¯(\93¬K#j¹ÓX´\92§®\18°þ§ý\a\ e·\91Ê\16\1eÿ³¨Àðe¶\8f\96º{\a\88\vÞ²\7f ½\ 3Tæ!\19}\1cs\95\16ù\8a\11Ê\9dwÅ"¢¾\824£-p|©n\9bâ\b¶Y\17P­ñD¯~\1apz.iæM̰C]Mù\96°mäm\ 5®\93ÚÒ×8Ïvô.»m\7f$\7fÛúEFX\99\9c$×}µpOÜÐãlý»´\92\9cÊY6«\11ÜÏ}Qï\büxwÔKX\1d\vá\7f§\17  ¤ý%~Ù\919\97ãH¨·)Eò¸\bnAa½cYÛ(þ²\9bEO5:«þ²<\Aä]\93÷u\19ó¨\9et4¶Â\13^\r}PZËtÞn)ì\aaR\1aKhÆ\ 2V\80\b&gp\9aݧÊàÐaµ!àv\93h\8bnËY3¦¥ÐÍ+ÞG¾WNÔ\12\9dÅ\93ç\174Ïû\8d\1aº7\1côÙhÃ\19Ä\14g¤â£êÑ¿ µ¬´©ÄÁç`|
+!oN¼\9d\b¡O»\84WÚκ\1e¤cðä\vÎg·\ fô<\ 3½}È$\19þ4\9d]Ø@åzCÔì\86\1a8|'Fí\9aèeáñ\9a\1cA\9eåM\a·j\90\8f-\ 57èô\8f̾yÇ­\14È·\eíÅ2-ñ\ e\19\97ò\9c\ 1_D\83\7fù\9eÜ\e¬
+\16*µ®¡®ªèM3x-\ 4ò\95ë>\è\81î4\1eo\ fK{¡{*\1eçûzðóÛö\11\ 1ØxÀ§\0ñ\8e´·¤È\9f\84XuÆ'̶6Ê2Ãq0\8a\10\9f]ô3ýú­\8d~Äú§\83vwÌ´:¡bá§\8fÕj1\85wP=×\9a\8cg>\a\b[\11gz$ß@GÓW?Û\9bìÔ\95ç×\1eD\8c>aÍ̲F;7\85\8e\9eL\91\99ïíÆ\0\94¬ôxca\ax\14±q³\1cB*ðÿÌJ³j¸Ér¢Dvñµ`\860
+â}Õ§òdeè\19&¶ñê!ØÕÜI\17¹KGÿì¢ñíááuY\@Ð\r¶6\89­»zÚ~ÑFp\84üG\1cÐaU&ó{O¾\1e±ð M5«\8d\912øù\18x`®\99µ>$\8d\19\9f%\14Úo>\r/¼h6AÜm)ý¨°.sò¤\89Þ#çy¦þ\ 6!Gy¦°\ 1C^(à\fö¹4"#÷t\7f\9a6\v^}e®Ü\1f\ eÅEÝ¢\15XyKÙ\10\0_§ò\ 5\9b\ 4J¡ý\83ó}\82éD«íF<&|èø4\1d\ 3Tª´î\11\e3\13ç¿­@ò\1a\f\9cT\7f}d\9eýdCÎn\89°%©\9en[jÿBH\1e\1fì¶«ò\vÄ«\8d\8d±@èmUxÝ\19°\1c$\1däZÌøò¨¥%I}û\85\17\94ÂR\f\ 59\10z\1e\ 49È?{\v"'z§\\99ßdãI2g\95ê/\9b\88fÓÕéó7\86\89       Lm\9d\14Å\98Ý\ 4Äë\84Á\1e¯+éäTyh\9bj\0Ã\ 6\f/\1a\a§E1^\9b;3VnLÚ\7fp\1e\1f\ e;ë¶þ\90Ú·"'¾,$mÊkrÊ\127ÁF©«í:\1d Þ\8eÏø\16è\9aZ\ 4\13è\94Ï\87Á8¯\0*¡âàé¦\99?\90\ fë8\r\8c³ÙtD\ 2à3!´å¬\8bÜ\1d\94Ò&²\90\9aI\ fE;qÔ%!dR\88Óý\82¾\96\9c¡wæ¾KR'JT_'ÅÎ!µh«6i7\960>S;\80\96\91±½8Í\84\7f2\19\aÿT\94¼EB\9d\13\ e,¶¿88Æè¶«ÿq¹ÏR/\9b­A\85\11áÔ\0\99àÍe\ 4¸\7fÛ\91Ϲ\8cÛ\83D®=C¤\92\82òD8Π}¡\8bÆÉ«B\1dæ\99ºOñBç§K\860\8aow@â\9eH>< ø¹¨\8eW     \13h\18\85\9a\83ÍÀê7Ë\ 5AØM\11
+µÚv\94#\8aÊG&giU\95³Iü\8ax\ f`¾ëf\ 1KsCäõ\9dË\ 4è¨ÃÏ>IòÇGÂ?ç\97MªÉ\85\9f­\16N3wé°u%pz\90¸:\81ôtñ»Q\1e\aÌ\13G n\92\ f¾\97²\87¬ÌfÛ\8f®þ,\88Ä\v\18?ó\1fd+\ 3\ 4\90+<äi(\r ãR\87\88*_
+\8a^Å9\8b\13s8\18\98PaI\ 5\9d\87\9a\a\8f¨FF³\ 3äU\9fí\17Ï\9d[\1f<&ÓÖýÂþ·Ý\17çrkuÂÅ>JXÊÀJ1\90\98»õ¢\92L¼2'\17:n¢\1d!c\ 2òU0 `hGt¾l\9b\el\87üó×\7fÙ½­$®ÆÄÁ«\1eÍ?s\aM\85¿?\96\ fíýþ-g®\13\ 5ra\88\88THCóÄ£\14/åaØ\9føs¯YQÃÁ\9bg\18\88Ç\8dô\9böÿ&\9bâ4ý\85\9fy\^m\87AbÈaòÜU\17\99À\a
+\18ìÍ\12p\ f\9d÷\18¨\13\ 6wÝÍÀêL¶r\Ëβ\1d\ 6[LäEÝõ¬\86, ;\9c~3áÃÀ\93yî@\v3iEH^õíuè\81ôWq$\re\1eß½ï{\8ak\17ÍÜ$ù]\v|Q\95Ô7re_·\18ÉCq\80§hÛ\8c\89\r»Sõ£!Â\88ÒF\91 \aÿLUÉ!§õ|Â?­¢\9e\1aÛ-\9f\ fô?\ 6\ e\9c0=\ 1\9c'\ 6æ&\93¼(\19tX\92ô\88¢ä0\8d\17î2N8\ 6\134Ñ®~>Êzhm}L\ 5\9a @c#%Y§Àü\93o88«\9b5k\18\9b©\ 4\87\91\8b³øL¢\99\8dmY¦\8d\16m-n\18ß1\ 5\ÿ¶Ïý\ 5È#\98\8c(ÚÁ\89'QÓ(¾\17R\18·óºÔ\92¢g½¡ZKxg\96ºL\10x\ap\99)üÏ8\ 6mAfùk#Û =ÐÁ¹÷/\87\0\9eÈ¡vÁ\8e.\18ûâ\16ÍyÊý÷_D|Ëûì³¢ZÍn[á\7fåi\10c!\8fc\12     \7f\81|"ØÉêOád\88¯\ßüH\ 4âìúÛ\ 6`\ fÿn¬¶H=F¯âÖ\8c½\v3ë.éWÛ9Ä£A\92¼¡Í¥\931Á±Ýue§>p \Ü0¾¿½>\85Ã_ú²\8dÃÜÞW\ e¡Cåô\86Y°{ËÕ\186sjÍén\fËy\83õ@sÅZytb-oø\95y3\8b,_dâfCÌþÑxä\9e\9cA\1aD´(zä\9f}FBid\f¸¿ü\17éô\87ÕÌ\96ÿºB\ 5s¶N»\8d ö´}-8:\19\86©&¾\16`ÿ\93\1e\a\f\82\8eýaMCÂ\12i\91\19\ fvõÁo-\12\9eg\1d\ 1\90ð\ 4_\81y?¾øw\17Ì\97\99|¹²ô\ f¸\87À¼\9cÙF»\83Ï}ìÝöÓ\0ÃomýÛ\ 3Å4\8e\8c\ 4ñÜQh\ e|@Ô+É8Q~àw}6«j:Ì9\95äóþ³\9c7ÄòÕ¶³ã\11\9bÏ=¶ÐmY\16âûj\11ÿe´~0\86±\93÷\88\18³K\1a\11é!6«­'\9eõ7&w\9fsQ \1fÙqöAåÀ9t\1ePЮþä¹´\1d\86)5¾S6\9d¨\97ui\a\9b"ÛÇ®u        ì\1e\84\8bo"\13«6Õ\9dðu\15\9bÚ\99àU\8f\81\97\ f\82¨\13yùw^7óI*y\91øëÃãQ\8dMj½×è\197\eÃép ÁýeôH-2bÁ5QÊ
+VN£5\99]Nõ+Ú\13+\1a\84Ȧ·\8fºØ\aÅ6^r;\15ª÷ïö!÷v\8a\aJÝë\153ÕQÉ\1f`\81\7f$\88+@æ\1c\ 3\97\1f¼ô@ûËÃî\82ü\9dæ\91\83J\e(ûðãJvÅõùÂKPb§U}~Å\ fuB\1f\a"¬AøK\87Âl~\13cB¦;\93Á_+e¾1\83\ 6×qä\13gt%H\8f\88\98$\95ÛQ\13½Ùu\16¨\9b\11\98 ¾aL¶èú¿\98CãnHx\8eùêÛ\83ûÁ\9fÃñ
+\ 5\89Û2\vÁæA\rzª4^Ư*\89,Wø\e\11\85¼8E·ÿ\97\ fvôK\1dn
+×U\96\8d¼1cÁ\ 6é\9bh?\8c\98î`u\12Z®hí[mâª\   \16ÕuEÑG@é\9e¬È߸q  |@\13¾Mn±8;x\90n\99(Ù÷¾z¿\96$H1#\9f˽Ù
+\15_-^\98\9c\97Û\9f\8b\12è¾0õ\82GB;\ 1ý\94>/=\13\ 5}#Ø_×ÿ[îÞè\ 3\16Wçç|\84a_jP"¶\9e¨Ëj\9ep\1f¾Mßfâ¢@?®j\1a\90£~\ 4\ f\84y\13\fe\84=rìA+\97µ²7qÜ\9c\9a<~ø\8d\7féù>\88\ 6Nßn\8eÖÝ uûx .+-Y},Ü\18\8e\1c#vï-\ 5\ 5\16µ\v\84ºEÂ..w²!QE@ùú\12â\8dÍÈ'½EßMÄ\ f\15üüÀÂ/ã\v\< u\15Yo»\99$LçGs䦿u\ 6Ufl'I\ 3¼,Á_2/U5¬\1d[\e@Ü8\15\1d\94êÊLGÖZ?Î\19|~uE«\9dZ\19\9f!5ò¼\95\ 3\17^|X»ä R¥Ô\99lÁx\99ôrìJ±\93UNKS<ËfB©Ò\ 2\ 3.\r2ó¨
+¦·\b\   Ð¯\1f1\ 6o\ 3\ 1e¥2eã\ 1\¿Î\8f\83D\ e5F@)\9c\80ø\1e\ 2i\90¾*pÌí\93ZK\86yPÈ_Z·i\90\8f\9d\83¡ÈG¥D¯iÃpTÇD3\ 44Æ@i\8fQiOméno\ 4×srâÐtj,E\12Ö\13ï\1aÀ\8f&ñq!Q.úÀ\10ø\1d\85¹ ÷\rF      ¿\10`z-5ÏIû0`¿µzPm\89§±+\8còÏQèØ´ÁÐ\8c\8a\aþ0ý\9f\82ºIÖ¿\11ì\1dGA,\rF=êÊt\aÒq©è\ 4[WKÒÆG\ 6\98\8ePN
+\9c\b2\9fF\9fk\ fõ0$ï§M\ fÇ\9bU\82¹lß´\89\e1\ 1Ø!û«q\83\89\ 6Þ]pËZÎÊ\aËòt vr«>\1c\14Ý\1a\rÖ2\9eLÐyØÍ$\8b«Cþ\98\97\98§W-¢}\16\13Aw\93\89tv»î!´\170åÏø
+\142ÑáuW8Í&\aù2?d\85\82¨ìÏ1ÿr\\94Ùy\85Ô\r¹\95\95\92.¸kPë¦/´»\11\98ºÔl]\94ÚÎ\b\1fæ\9edá*\9fÉÉ#Ü¥\86G\88ÿ\16eå<IÄ   i^Oî¾`°\91E\ 3YDnM@\90;Á§jÇq\8b.áÄY\1fL$uaÞãýc²`TÞð\84\96\87\93È@\81i²µ»í\88çÜ\97\9enÊ;×rng\ 4Ø\9dè¼÷Æï\8f¨\96\8c¾K/¬4XÀäÏ­-\9c(\8e\8cY§Ìà\ 5\13E\89\84¦6¼ú\19kæÀñ¨\8bï#\90\7f\ fÑä\7fEOcõÔüüo÷©âÍ\16ôÃ4\94µ\7f{0\8aÁ\99kñüÒ.\e<Üw\ 4E\82ÂÛÙ"GVh\89·2ɵ·Ùô\18\80\ 5\80s7P«Á\a:Øâ!³!U÷\99D\7f\86\9dg]Äjm\ 5\98|c\8d\80³3=ä?m9\8dÙ\97\9d\8f¯»îò0«Þì5:Øç½D'¹HP0EÞü\ 3ò\1a!\97þ(\8dÖÁ\95{\ 2ËÖ´\1a\1cH±7?y\10bC"\1e\14\eõ\97ÿ\11Rò(>]Õø`%\ 3ß¼c\16ûa\89\8a¹b\8a]I\ e\8b\9a\81\v"¥&¹äêk|\7f\1f¨ÿ-3IÑ\á\98\9aö^7ÐãìFí\9f       ~®¸y{cò8À\9c=DµK\0Qf\8fìz\11E\AÚÎvuû{\16Qö/YHX½\8eÂØ½f(£\8fD/\96ß\aÔ\vxÂ8a\1f\ 3\ 1U¦e!\ 1¡\97{\1f^èMm\93\85¬þXt\90\83üÿ\ 36a\92       \91÷m`|})\19\8fö0Î$Ëàå±9d\196Âå\87]3òÔ­3Ó\11kÞ¥ÎI\11\v\ 3-\80)LiâmXQ½ù\92\ 5\89NlYNxzB,0Õ\88OK!9"¼§¡<0\93~\9c¶Ka\ 3;\ 3\9bq\1aïî /Stt½°ô½ét­ªõÃ\91ß;\ 4Ln¼\87I%\ fì\11\98\96!\9e\8b\97NO\8f\9eÍ#í¦éÑ\1eür#ɽ\81sÞ=¤ÇÏÚm\88\9c\92;B\86nNEî\13\81»2³?``ý
+Ì˺\1dÑ\9dOÙGûª(?èù,Ø+pöH¡ýL\81?\98m>%·Õ\93ÿ|\81m=\974\17\80ºMÐa2r®áø_Ô\9eØ`ß;Ýa%A·X\1f;\14\87ܽ$|úaèÿ\8e±\e\8cþ\83%ÈÎ\98`£-¥x.àó\ 1\ 3ÂXr\8b´\98è\8cÙ
+9\12\9c\93\14\94°¶\16Û\99å(¼óSÓqG%cã\9a~RP,ã\ e\8f\ 4£/\96+\8eí§       \93#iâLå¿ç\84\8cÿ\96\93õp Gì\19CÇ=m±\84îuÃøü\8c(xwµW1Ð-Ö¡r\98\95 ¡r8±?ïÆ\12\9fåëÿÐ\10»R\85¦O­Å{­\17ÊgËsc8}½\ 5\8b-ú¾Cÿ¶/°¦\a(\98\ 6Ed\89@fèþ\8d¼H\90öä\ 1PR@~>,¶DÁíÜ¥\ e<\88é/\9b\9a²\91¤ÏRR\19]K\83+\9f\97<Æ1\83þ\ f\95û\93\87üC\ 4\81\1dÀÔè\81@\9fªÆ#w¿¥rÁp\11x8¢®?è\ 3wÒ¢{ ¤±\85IpO³Å\93à ðáI\a\bü\91ò|q\97¦\1aß\9aAؽ£ü\18\1f\12¯'Çc\85¶Å\90lÖ¦wRàq@Ïê\98àÆq\88D0m\13y»ÒãÞ¬È^±$£8J<Ú?Æ(ÎÍ5Ófh<PGmrs\15Â|,¹tþÂ&!\11°Î\98\93\94µ¢[v yÏî\882ïËæô\18`ûÝ\83$ÖÞ¦$K\8a5ßÑ\8cC\97¥¬)É&/d\8cÁðO1ÌD\97Öp\93\bsÙtX\82\86ê'Q\1eÉ\184\1fã\95\v\1cÁ\8dÜ\9eÊT¦\19w'è\92'\ 3\83\089J÷üQkBzÒ,-º>Ã\8eQÉïNïj\16àüû\84E?\88\10ɺZò§)
+\ 1É8[\14pc\eT[:0\eJ¬ \ÛÄC(ê`\19\eøQãL·b\17¢\9cÓ­é\99ç\9c\9d(HÀÍ0\8b·¥\8d\1a\88©-
+[â\8e\ 1Dnùb:M\9fjôe4  z\92\1e#a\8e\81\82¹\96\91\14Ò>TN\9a\92\8dm9è\89öu;\ 4zµ¯¾V«9\9fí»;Øj8¸ÛÒâ\892%\1aÊ\92\ f9±v ÄØ~Ê@\ f¿/¾ÄOþ6$æ¢Ì¹\a.v\81cÃ-ö\16\f<\82}¢`»  ¤8"#9¹©¡\8c¶"înO\82º¼\83~\183\bá\82\8d³\881Z$§\8a\ 1ð;;\19é\9cì¦ÊE»ý\ fÛÜ!\93Ð\9cÕùóÁX
+<²J\93==HÛc\9b\9c\r\88è&\92,\>W@åEô\12éÁ\96\96J\r»%g±MªûfCºÍ\93\84©üÜy\eb\v\95W34\7f»ë0©OÆÀ®t\18\rñ\18\8e\16°Z~ò_é¿\8a\1c'L
+Ù¢HýØ\95\82\8d6V·÷ÃûqA\86\8e\7f\84\9c\19\1d@ÑáwÁwpãß-\9a\9c½%(\82\9f*\8e\99\12\98ÈØÓwãPÛóY\15\ 6¸{ø½aT\98Ǻ M-ÄGº«D\92\90IêÕÕÇn\15T^\91·£A\85Y°eÜzh\89\bl\ 2©&,Ï÷îêa\89a[þ\91ÜD\8f~êC¸K,4\84\f\ 1BZ7'ã\94Ö<Yÿf¦\8f\97Ä1,\v£aóT\1dLzM¼!Ü\1c¶l\12\82\8fX?ä\1d÷*±h \97Â-½\94\ 5á[Ì\86\ eõ¹¶µv\900êE/Ø¿a~\14ÆvXt\92!\ fUWL\9fàj®£\81bèúÀ¿\ 6,¿#²sº¼\9e­Ú
+0N:Þ\9föú\83%H\9eÅE)Y\1aë\81\ 3]ýú-æ=\82{ñ5h\v¾`\9dQî~KÅ"lîðÆ\91X]Qb6{\14£\ 4þDx¤_.\11mñªdSH\95\ 2\93\1dÞ»\8c\83$CÚÃÁ\85\95ôñ{dpÑ\80\88Ø\00$دï\9f\16N\91ã1©`,ů\1aì£ÙùßÑ\10Â}Lha8Á_ÅÜ¿\86\88â1\v\ 6\17ð\ 6\83¦\97-¿^´Tü6« ïÐk¦\8f¡pZVº\83AÔËÇéq1J° (&~)ðn¹\94T\9f¸(Z\9dÈ\9b\98\19\91e(¦oÆ\17\1a\91O´QbÏïæ\82\94FÕ{Bk­§\97Iþr(ÓX½þµ\8c\85*G\85\8a\vå   \89×Pͽ\10\85,̹å\vf\83\ 2Û`\8c\7f7\94Ú¯ï\96\rg\87|!w¿v\89+§ûÜÌÀ0\0=ÀD1\90R¬d¢ëb\rØ,>ìz\18O¹8(©0ì½²\96Èz¬\90f(ÈÐØ·L=²\9aë]k·iªïUA\11¦Ae\\ 2\84Z\94\8aÍ\r5z9v\8aYFTÏßÿ¿~÷\0P»õSÞW;[»÷w¿o7yÍðwÆß\vyÍðw\9bÍç7\9bàï\81»Íþ  o9¾\ eÿ\ 2÷ËÞs\7f\859\1c5²Hä²6¨-á\ fY\91 /Ü\18±Þ\1d~)ýTRïf&\en¸P\ 2\18¨á\f·3\89\94\ 1\13\15¿»Ì=½²\94+\8f_[\9cˤ\0\ 2b³)@ã"\91\80ÎÚ\15á\ 6mQklMwÂÃÒ5\9b8\93C\13,\1aø÷x@nª.eaãòÎð\bã\1eý]Âg|\ 2\11Ô§¯·I\7fÈ\9bÎÌw\80%\94\ fÀEm¹(\ e=^#ÊÐÛ¬\10¼Én\0 ð¡V¯\92öºfÝeBÛX\17\83HM\1e\84ì{$\19Ç |²S\11§sÔÑOañëôR×öÎ\93^\86\96¿ªl\fÅ\83¹ï?ÍzR\15íÇ8P\9d\8c\ 3\ 6\11\10\10\87X&îÅk\86V     J@(\0¦¸¤\ 1ª\81\82ÆH;\ 3\81k\Qò\993(ET\9c\99\9bU#o\86d\18\81ûÔX_ÂÑÜÈÈ\15s¿ ciä\86{\97ç\99¤³×[ò\1að\ 1Ý\15¹\fYâ®îºì\9fO±zx\7f\9f>ÅÌÅ`\83\1cÐ\1fXPåm%\89Yi-ã\17\13\1a\819\15<ì£\8d«\rv6Ø73?È\89½\8e\ f   õÃÅ̱GõÄ\81\0
+¬r\85C)\ f\16      \11\12\1d
\ f\149ulD\1a+=Á×\88'\14ø¦ùN~\1e÷ó1ñ\9e红
+ó¡\82=\7f\1a\92ðõr\90\vøÉ\91\84]\98׬\8e×Û\bc\84zÿ\8c\ e@\98ÆhÔ\8d\83\19\96м?le\99~q,%\92\19aJ,\8cèx~
+xQ1CØ8\84\11Ci}A멦\17$bep[X½/\8c\9a©\97\1d{;ëò¼4×{\99·9é3ÔXÌ\81\ 2\1f\17<À \96ýp 
+B¹i®VfK\88ÂS\v\9bÈ!\89R\16¡R\f¡µÄm\ 6\1ad7   n¨I\ 41Cø1!\84²8Rn:ðß&\84\ 1ê\12ß\fú\80K.y`\e\9f\1dP\11ó\1døfìr«h è`l;ð¼\r\ 2t
+Lâ褸(ôá¤/C¼fÉ\ 6\93Àn\ fod=ÿÅ
+Êo\ 6\95-\95\86ù\94\86Úi}\84Ѹ\9b\ 4t\10ä#(jBÎ\7f\ 6\94»°ùðöTÞ\r©´=0»åc\9a©\95LÙ«\15\17.ò$s\83\8bÞ\e\89®M\fÔKÖM\a¾\17᢮\1c{ )ùUmp{\bð\fXïâô¯Ë\8b¢\1d¡TJÑñÃlHæ\8fª\80=¿Ãp)aCÒÛ\ 1¢\9eï\1d²\bÿN
+èãü\8e\9b\9a\91¾\1f\9eKï)\15|{ĶH?gzÂ\9eÄV
+¥¶\84=\88Ú*.Ä\19\15\1að+c=×\ 5F&.ßÓ\8aR!|ùvÒ×ôáíy³ª! \ 2\88dA4Z%sÇÆ\91\10Ü)m\92V0Z?\ 3Þg\ 5ãËo(Â\96\9a\9cßþ%Â\81\r:\1eþò#\ 4\ 1Þ¤=Î25D·;¢!\12»A\9dG´ëò\1d£l\90öا¸:ÝÞ4N«<2H\12áÄ#fµÌ\8eL2rzÁïi\8fTB\9eë\89ÙÑv+$µC\1a3x\0\99\8a\9bù\82/ñõ¡u[ö;ò¤y\85\9f\1f\9fQO0«®\8f\81îÞ¿Õ7EÁ¹'\99(dÚÍäëîµ?pß\94yyyâj\8eì\97}'\97}oñ\1e,§ÇÕ\97Æ>Në|^(Ëb\16¡ÉmάL.\84yI\10%)
+       \97lFÏ»ø\b\aó\ 3ÂW\eÌ\9b×Çç\8f\1cö\17,\1cËóOÂ\18\84&\10U\12\b¢^B.mc\19v1Øü\8e>p@\ 2\16H\98æ(?~Á\rá¡\1cA¶öq
+¦Hx\ 5\v\89P\9b«¼84!m\84騬\1cjr³\83Od\83ôh`\96¼Ó\ 6ËËð*\85·\85Ò\89þ\99\aï\1aDx??¨\v
\19¤-HZ\ 4\1e9Áíå}Ã\1aª\19trÒ\83å\r§ÔÈY#[ï¨=Ë\90Ê\97E_\15,¨æ³cÃÂ\1ez\ 6æ\18\9e\ 2=þýãÍ\ 3òáCCìBä÷\1d_P.Ò\15\ fw¡¾\94p§Ü\19\vµ\90\15*\0\8cÍ<¨\9cÙ«o\84ùÅA{\9fò\95A.±ÞÛÂ×áÂj_ëpä!\1fï\1aþAMº±\92\1eÉ\14?\8d\0\95!wÃ\81Bk¿\84%\7f·h\ 1eo¸c|'|\94ev\82óÝãgÂç\84ßµ\1e \10
+Ä hÇ\brB´g\99ýÒ6¨½ÞþÞ]ÍØ\86\19þ\1c\8fHñS\93û\87$wl\84÷\14}åÂ\8f\v\8e8*\v\8f´\1e\15\10Ïãà\85~ÆÁ\16\1fLü¬:\©^*\sW\ e\97\17\9eìeÙ»\13M6üõïÜ\ 1t6\87G®/ºü@\9a÷Bb¥X{Çë\ 5ÜãÄ\9a\ fÞ\90aÓ/~ò\81ç\au\8d\87^LøßÖ\10\99\94£<\a\ f\1d_\e7IÖÀ¶\7f°9°\1eø\ ej\9a\998¬h\17{1[ú+e\14R\9dÚÒgY\8aèZLïjcX\83Ç¥\9dÊ\93\11I\1a¨BDZáí\9e?7\95ÀQ\0åKI÷]©º*\11Rð],ÍÑe\86rPî¦Û+GCÅ!Z\97öº¶ìI³Çùº¡è9ù}PÈ23c.àð\ f\90®=yÓ¦·Ã\ 5ê\9aø6ü§ó|(0ë\1eñ\89~äß\ 2$¾Ú\9e\rü}      É¥âoÊPÖ}¿)K^\9d¿)øÝ\17ÈRt|Ú>åÉ#\8f\ 3Ú\f1ù6«fÍÒVÛ{¯[ö©7ì\8aÅ:\8dBLZ\94\9eM¡¥©·!Ó:n\84\10µýjb\14(G\0çÈî£ï\býîKÝ\9a\eå¬\ eµ0ß\r¨\ 5\ 1\9eç\1e\9aï\15¥\1c¬\19/\1ef6I-â6u#\7fgÔÉmÝ¿X(y­LC\9f\98¡\18ÐÖ\1f»Ä7¶\80kÒ·¶LÖX8Dh9\\80ôsßHº\1e\ 3\17çì£\r¾Wp\92[r\17tÄù÷\8f\9b
+\99
+\92 \18q3¶Þ8í[     \7f³\13\90Ýx\161\ 5<Ùni«]ëÉ\89\96Å\ 1\94ì\97ãVfÕ rÉ
+æ.\ 5F\jÊ\ 5#Ö0¨Æ«\9a@e´ß*
\82?N²Í\8a\16óHV\8fw\vÊEv´\94Î\86\fqÁèì\11Öêo\ f`_v±|¥"ñ ½7[\9déN\89²\81\ 5$\10Åuì\ f\94\f&PÇY\82\1eÌ÷ØEW¾O1\15õíTú)\9dô\97{?\17\10\aÊ`óêÏ\94Á\ 6\9dÂ\19\1f\f\1eN0TÕý\ 3\12\90\ 5\0èÞMïÞ¸\9bªT8­úc\18S|»\12a$î\87´\1a´Go\ 4=Û^[3Ü4\ 2>\ 3ÓÑiî3JÏqÚ,\18_s\v\15Ô\a\8e¶õ\1f£X=\0SP%,ÿ\10%gzi\92ðhÝ(\a\12\95·Ä*ýº\82{6Ú\97Åþx¨F¤/\89Ó\93Íöu\19À \16Î&è\84\ 6m/®[ȧQôþ\ 2ïE¶\ fL\9dÅC.ÇàzÕjë¯Qg¸\ eÓÇ·®R<Nõe@\89   »\8eÉ\8c¸ä<\8eädlÞ<\19|&î\12KzÉu
+\97wÈö\18\võè\88\14Ey¾õ¢À\97Ù\8b\12¬¾\e8\95\96\18\95I­©Ó\90\fÝ\0T\90.\91\9aráe
+\ 2\ fG\14\96~¾É1\r\98i9¥\92 |[\87\9be\89\14¾)w¬G¢ã\88B\91\83\82\13¨\9b+)ëà$õ·r72'S(H\99Ç\9eLñ®~UKgó¤æ\ 5[£ö\8fHp\ e\87¹\14Y"\98»HR\9a\ 2t\Ó\99\85)c\ 3\9c=äkÌz¢eÌ%%ÞcÕ\8c\8fèqºù\82æ\ f\87Pf\102Q¿\fV3í¨H\83_#U»\1eéøÚZò\96mY\98udèðá\89è¢\ 6\972\9e³ÙÝ ¯W\18R\90;e\92AY\9e\81\9aþ\0äR2ÜÁã\82za¼ç\ 6\ 3(òdñå\r\7f\97\1eD b#\85ûx Þ°¬\1em\98ýÞ \80]\ e$\1f¦\ 5ÐM\ f;Gµ²{KB{ð½î¾\1d×H.c\98
+AÝ>\8eK\96L9â\8cú,ó¹QêýP\9c\ f+,bÂÑÔ\98#\13\ fH'i<ï7Ëmº6A­\rsÙ+º\9fü±ÏúpÁF±çIð'.¸í\a\bÝ\ e@:.Éoü\1cìH!WFÒwª\81\ 3=C\18­\17ë!úM^ \95K\98¡C'tv\887^\eJ?\983¸kQPÞÖ\0Ýz\95UÿI\86íîyC\99µCÁ\´\vd;\85\ 5¦ \16Äù\f\16®R\16#=?\e\86¾æ\91|\1enòÅ­\ 11-Y\86ÿ£DèóXW\ 1W ~á¯jz\19ÑEÐÔØ\98\89[v¶´\8bÌj¦MCmð»Þæ,
+\90\14ª\11Ì©0Êleøº\9bñX6á2\18\91¡\16\13£ÆÎ=»¤En§#\13~LÔ1ýîFAõ¾ÉÌ\93\f\8b\12ã±_k\18îÈÎáë~\1ecE+»\86ñjô¼\8fÃ\1d2ò3¡fl\9b$\91Mº'¶p®b\16\9e1C×¥É\11\969\1f,\85\81ã|\ fØ_\0\89`,\1a\ f%¾­\88ÍJ\88v"¯üò´¨\95M5\11\9a\8e*æì\92¨\85\1aÙ0ô9&\15\ 3\85\80W!=\7f\18yðL\85t£hÀò\97?ÛJëöØ\v¿)y\ 3×ý\19µ^\990\8cþ\81]z{\9eÅ`\14\95¡\14=.\fÞ\14Tfï¨\82\91\9d<¾Ýs4³\v.\89h,ÅuhÊÌ[Ãt7ô×XVÃÔÇ)\1eо x\9aÌ[å,L\f$©§\19}C\17\13\1aau«\9as\8a²\15\976#*0\8f\87{:B\82¸Hí\90çò`ØE½÷5\19@\ 5¿z°ÆÓ      \15\ 3xÝ È »/ÜR\9e\11\104\ 1\93:BµWDMj.à¸\8fX\98æ@Ngw\ 2É\ eÊ8\r'§Ó\17\ fm\ 1XÒã0¶N\9a·\91h\171\0p\9aÀíæº__\91¿b\86àz"§WX\9b\83--æ\0Ó\ 2È\ fs\es\9ec\86G\ 3
+W£\97õÇY\9e~\9eP\98¦Â¤[4\884\1côLo$÷3»#n{zÑ\96¿\e\87\9b<\12(\13\ 3*\8a,xj\ 2·qåø=\99t\1c7\83ÃË4\94ï&\90þî\13aM/\17¡ÛµPw"ʪ\90àÎy²E·'\8d_IÊLo\8b[$êçnÉ{¬Ü,\9c"¶Ða¯Á^ê\83\8dT\9a¾D4!fÕãWLÉ:ÝñN6­ÓX¦\8a\13
+I§=¿\153n3C\97ºj \99\9dR"\ 2\87\93Ò\9d9ï+\98\86\95Ãçê\ e\8bëN\877HOE9¤,Q\9f\rÍU*jk\19TíUÊ©k   *©ª©UcÎÿT\ 4V¯Eãßp\0y\8fÓlNÞ{¥=Rb¸Ù!·\rï}øù\rܽ2\98!CL^V\8e\ 2âÀà3©\9d\ 6{|\ 29ÁR9Ù£Ãüd\85u5\92\84³ÖÃì\87d\ 5Ñ©F-î\f\rõHy!Í9d¸UÂäп2_º¡43qÛÚ¨>¶Ù?\e÷;\81\rDC\9a97\9cÑ3ñ¼þ`\15\1e\ 3N\9f!¸aL\9d\84\9a\98\8aF\f\ 6r\95Ð;H)zç¸\81\15UçÊ@\80\1a\ 2íZ¡\97\rÅh¼º¢÷¸\82\ eÁ±ãFÆ\98÷\1d\82 .«8\9b\17(qÛv\9a¼6¦"\96\8a\ fA=x µÀ#\8f\94ƪ\18s\13Z\e\83ìíAÖn³p2ëIXÑ\18\0;\83\fWJÖ<\9f\95\8b\85iuWÕ@\b,èl[-ÐÙ6\8e` {\81\aWV(\99\8c¢fÐÌ[Öª=½r¡\ 6\95M¸ ÕÑ\e´Nq»H\19\v\13ò\95¢p\16|\bD|\ 1£T\1f²\99CÀ«U\96NPðÀÚºÐõÖÑo\e'ãW\9bW\ 4CÀãµ`vÀj¬§m\82\1d´6í¸­\18J*\v\93\vî\17é¿\8f\18Ø\11¦Ô=i¤,\91Õ\8a\85­%\16sµnÐÔǪ:\96\ e\98ø\19'GRÁ\17mçÐÐ¥\9d²NO90¦z\1e¹     ¾dDFд\14}\1cÚth£S\9bþO\ 6\185÷#¿\1daµxôà[ºQf\8fOtëk½\17\1e\94\b\82 tÿ¯\<Û$&-ÂÚT\ 3La\0_)u\9fÑ\12G½2\15ÝàU\8a}C\8cð\ 54\ 5CíÛIDí¯'Ü\86Ô6ºâ¸oIr\0bM·¼z\0`\9d\83<\ fGΠÈ\17ìd\9d1\15\eÿ\1d\9c:Zørm¶Ù\0\9a½'\1eµb÷-DáäS1\ 4\17o±2°\87X¤ífÃy\0ÿr\90"\93\13Á¯Ø\19:?Bè\110y\85\92O\ 6efÑr\1aÁ\8cë\ 6Ý\15\82\ 6d:ÇW\93;áå\16\9c\b\99Ê\ 3y\81økwЭ\1d9éU\85\9b£²`*\15ô£ºó4Yf±Òù¬ÓXì\7foA\9bËe;z\18ìwnÕµ\asÛåc³\99f³ÑØöÙA2Pÿ¥ß×ö¹lÃj\ eßîw±îsy¬§j×-\9aîBîwôæ?ȧ]ôó\83Ld\1fl&ø%&Ab\1fÌ\82\91\7f\9fM\12¨È\9c¬!\913\90fDâ \8c\89 W>\98W·)í®àuoæ+\13\8d^"\fÅt\10\85y\8büä\0\9eoæDÈ«û\18Í\7f0ܬ\ 1\86\8b¼Ù\189÷°\7fÓ\1fÞ½á\14\99       \88\852\13ÄU>\9a*\ 4È©Ì\ 1\91X\85\86E&\890Û(YøFb\93iJ8È3#\1aá\f\8cÊ­22s¥23\11Ò\19\18\9a8Ëý\95ìç¼ëÀA\19\80k\ 2f\0\0\0Lø    \eû§²~ú[Æ*23x²Þ*Ê%ÔDü;5sf®M\1d\bdvV$ÈéËñ\91Ø\88\83\bË~\8aÕe\94\92\ 3þøQü\ 2c <ÑsY\ 4b̪³\16N\1abÌD1\8b<H\9bX\87\9cés\1c£Td\169þé¯ê\ 3÷Ðÿß\ 3ýOü\f     \98\1eú.Þÿk~²\87tlü38Y°Ó½¦Y\ 2bÄÑ\ 6\88\83\9f\82g\ 36©wÕBûØ?ñoüC\7fâÿIÎ\90ó\18O\17ùÁJñNu\9216C    ÷ÂÞòK¥\ 1ÆÂ\19\1aÖ\fÈÑ?ãDÿ\8d\13þ6G\ 1k\17d)\1fþ4×\18û\85\10û\171TN:Fì}ýðÿB[ô\0ÿA\9d \ f\15\ 4*\8dÂ
+£pfEHÄZ«²\86u    ?\ 6Íë\7fF¨Î\8f\1d\ek\81²À:\8b\9f\8ag\7f\9b\89\\9b\ 2üf\ 6].Ô¨¿{_ñÂæ\8a\17\862*\82î\17\88Td@\9cñ\ 2sÄc\8aÆ\ fú\ 5vðÖ°\96PN\95OÀM¿®$&(,S\9e$S\9e'\1c(N.\bȱT®,U+\8bô/Ö°öFº
+ä¦ÁÀ\99\83í°6ä\ 47éø\86pójÇH±\ 1ü¬\18\81\\11\ 1^:'\9f@yq8Õ'1V9M×zµB²\8e\1cÅ~!d[7ù¿ëd¼d ¬?\87\15\87êÅaü1\91\94\ 2¯]©DÜh\86>",ÈÝæ\ 2Þ.Öÿe~u\ f\99³c«Ýqk\a]÷ROýu\ fú©_þÚ§ýï»éö\95
\10\9cH\86\1fmv7Ä\14ß\97}¶KßC\7f}rÿ\1aùÆA\bI\8aݱ\ 4øÁ\ føÉ\15\96£ªýãß \1cÿ\18oï°\9c\1aç\1eµ³%\ 6ÅüT÷\8c\15=Å!î¨7þ\11þ\12\bÌ ¥\1e\10R\8f\b)G\84\91èíðvQ³ïigк\8d!/yÎùßõ\f°qô/wI¿ %è\ 4%þªñ\83^:íÿС_Õ\eã\92¤<\ f>/T¤ÅT
+gÔ3»¥xßð"\7fª0Üp\9fðoæAø\90\ e\9f§Ô³Q6&ø§ã"«\92¾\ 4R\1cvµß\85k\@­k\87\15\99\eè\16Ö±øYÄ\12ÀýçÛáfhâ{X\e\8c~\ fp\81à÷7ô\87¿¾Ý¾\80Çúl³R\16Y\92\ 5\7f×}\9c\19\98\1c®\ 4Ì\fçDf\a\10°Ì
+h\93     à\8a\90Ï\0¾.x\88\ 2;ÇQ¸qTmZ^\ ed¤ÜR¡[¯\10dW¡\11d­Ô4ü+8I²K¸\vª;ËÝÏ;îi
+¿ð³\ fî©ßÞ\94\8bé¶\85J{êIÎ_\19\8c\9cÇÌã²\ 1\9c1Ev\94Ãè[\11½Ñyé{¢s¥ ';.à\9cçr¤æÍ¡9Ç®'=\97hN}OTNrxbsóËßç\97¿M*N||\999æ$\89Îß­'7©HY[ÕK\13\9eJ\\9cñ\1d\999ÑN\93\9cfD\9cê1\84çG6Wz\82ÅéÉÍ["Ê|Q9ñ;\ 2Çø\92s´Ä\13\99ýaeü\99bùBs\9f\1f®'=qf?\13û\89ΰ±>\9bö\13\9bRóð:\92ÍýQ9°\9d\99í\0?\82Xí¦»\9dõ\98"ÈòóãàË\17Ç\16\a/5}\19\97\9f\10¼Öô\85\94åçä\97\9dÁyÑô¥      ñ\ 4çk\ 4Nb¸X|Ñ\81'4´#c ÿý\12Êô\80=÷Óõ\ 4gÇv8·´\9f¥»o¨OÏ\19é\ 6ô\99ýKÞû+×=\95ëÿÔ½oõ/yèõ|ú\9b¥Íu÷2ÉÿñK4»N¿!ÎJøÓ(Yõ¥¬ýëÂ$ß|wòDüÂóu\0N~Ñy­/=qyª\80û\ 2ÿóûXWyy«½ç\1d\aöÀÐ
+\9f þô¸/ ÏHX].z;Þ}ÆS+\99ÿ\8d\1fÿç\a\98§\9e?î¨\ e\9f\9d=Þ³ª¼m»gWÎ\83®\99ã¹Ïg¬ô\97­ï]é¹ðzn|\8e\1a\ÉöJÿ±Ý}ܧë\9f¿wÉÇ*©\a\18
+z\ 2\ 2~\b  Yd%%&´£ü¼ôw¼ÿ\14Áo1?Ûå¯;öE¸_\8e[\81À¶+xß\aЭz¿ùYΣú\81Ïÿý-è\903¥Ï\ 5ö¹ú\16\eÒ\15î\974¾)\1c9åó¾\eí\17ÿ\8b¼Ïÿ;Ó&ÿ»¿ÿ2ÿÿ\ eÿþ\aÿÅÎ\9aöÕ\85\17¶¨$\9aè¿¥zÿ>ãã\v\9c\92d\15í\9að\85ç\v{#âDÓ³Ðäd\9f\91ò%«.7\9dæç´äþÿª\90ñÅô/\9fÚ\7fO\ 4v{2ùÃþ\ eueo¤ü\1cæ\15¾\97ðsÛ\967Ñþ\ e{R¹ô¿\83\9eÈ®tu_ÑÎëgþ\8f\15z¯ìçÓ\7fg>\8fû9é?³\9eoû9çö\7fìòGü>\9eØ\10\1f¥Ï\8f\9f/\99þ\88¾­ýá9\86»«ê\7f­ò\v~yyÒþ²ù\87éIÍaYô\9e1|Áÿá-ßÿ\v¯å¶%»ÿcý<+ç\8aÞ\973\14À@ÁB\1a­>~\1eÓ÷é7°þGZf\8f\v×VÍ<£ç÷ó/{üµ8\ 6]aÖs^J´?^£®æý\f¾iLæûõ]7ìq\1a·äù¨\99\7f\17\r\94ðd6\1f\f67\99í<ÞÃìÎ2\93m+K ¤W»ñ3L|Y­§x¡­,\9c\84\17_âbü\8c\7f³ìÃþ\9ftÇþ\9ef¿aâßû.\a\8f5F\7f}GÓt\9dÆ~J\ 2#g\¿\r«\13\7f\b\8dþ÷\93ÕÓú>:Ê\9b\1fÛâÙÕPpÿd¥>CÎõ:¾\aWè÷w\1c_)\ fËç_XÇ|\9dÙá\9fôØ\1cîÛ¾\99Ñ4\92ý\bò|(\1eÆÞ\9f\vY­é\99R\1e×Âë6>o¹¥Íý\17ì=\8eÙ\8féâøS\1cÊìo\8dÓ[m(º¬·4ÿ+\82\9a_\ro¾§ô|$h÷جï_úu\1a\8bOoß\85\90Îa¯ìx\1d\16W\13Wæ÷w7;ÿÎ\86g:wÏ\86ýó\8ctí¼]\ f#\ 3äð\8eò\19x\19\r®\17¯ò ¬dó-!ò^\ e\ 1\87\91æùÿ\ 3
+l\1c¦Ó\9bPã5äüÌ\91Áà*q~7\ f\8fú>./\16\ f-þO;»ÌMã\18\99lWÏ\9aî¬s{oK%ì³øæiefpª½\86½vGe\1fíÇöÛ3¶|\8f;a«ô\9cù\986Þ\\9c\9aÊY\86ú?cA9³ÂÜyù?    \86û3ÃÆ~¨\f·Hw\89ÑäîoEÿ\87ÜöP=vgy\ fàÊ\19¦Ûå¨\17ÓáôË&5Ý\14×îu  \ 3Ó`¼¾ëEèV¯¿ÓwÝ\86«k5\9f¿rä{y=²ì¿\87ç  þ¼\8fÿ3\ f\81ìûo\14Oþ¸\8fýÞf¢ýeC½\87ªË\99ª3g\99ø|5ß\16A\95Û\7f\89{\17ô\9d\9e/ÆÈån»ýzÉ_\7f©þ\rq\9b>\ 6\1fßsïþdþÄ\96+!ÔmÿTÎ\8f\87\89+\94é0»]î/Ä\96\97¤Ïã³Ñ¦möm°\1eíÇ\8eªw\19çí;\1c&¦Ã}Ýþjo7{ó{[©\8f\8dÙu\14tð1õ\9e\86ó¦U§?Ñ÷4²¦3[o­õö=4¾k{\ f²øIGÿÓQºÂúýx¦|\99&}-ï}\ 4þ¦7ÚÙ®Åxÿ-\ 6\9bÒÍ<ê;̶>oeÔà\ fÑïß©=¿\8f²\9cYpvW¶Ê0ÅúSùý\8e\1f\84·\1fîÏd0Z\r\b¡ÿ\94\90ÿ\ f]îUõOÞ[\ fÓ´Ò¬æxur_?]ùÚ^Cü\8bÞÿFöOú\17½þ÷K\95óâúÿ\95\8eÁæïk©\87\9d\941÷Ͼ}óï\9f|ûçß>ù÷Ͼ}óï\9f|ûçß>ù÷Ͼ}óï\9f|ûçß>ù÷Ͼ}óï\9f|ûçß>ù÷Ͼ}óï\9f|ûçß>ù÷Ͼ}÷ÿ~Ó\18`&pvº¤uJ©ÕÓ¬§\8e§\8f§]O'O-N}<Ý<í;:yêyúz*zJzZ}->\9a\9fQOUOYNê\9eÆ\9eÊ\9eÒ\9eÖ\9d\1a{z{\8as*\15T+¨YQ\1dQ\1fPº¢N¢Z ú\89º\89Ú\86u\13Õ\14µ\1a:\8d-F\9a£QQUQYPê¢Æ¢Ê¢Ò¢Ö¡\1a\8bz\8b\8a\835jµsúº]^£WU«¬ÕºÕØêìµv\9a»]Z:»}]ƬÊ\95U*êVTÇTÇÔ®©\93©ÓTê*jªk*]TØÔÙT\99¬U¬W¬Y¬\8eÖGë)5\94ºÍ\1e³K¬\r\93!\86eCcçæRù\9a?3KæYy\96\9e\9c\7f\9dIçRùÊôë4òzym;=<ö\9e\97O£ÓÕië4ö\9a{]9\9a\85Z\88ýDÞ¢\8bQ¦ÔXê-õ\v53Ú\99ýM\16¦\93SK©Ôjjµ5\9a\97Z\9b\1dM\96¦[T~ª{U?ªÿо\890Ëû\ 3(\8cíÌ\9a3µ3,`\12äåø\1ddÔ'[ÀÅì\1dì¡£uÝÒöZçùhù£.8\8c¿ÜµçØÿî\96ÄZõßþµ¯]\9e\ 4Ã\1da\8b´\1f\86\17_ùÖ½{VO\ÿõZõôÇ\88U©ÿ²×¯\8cÀ\92_³ÀÝL\7f©k×¢T)ÿ\82\10\f/>\82ׯ>'¦\9b¦\13\9c¼ú\v\16Ö#±"\aåç}\a\96O\19ã\8cÊðR\ e\99ÿÊ\ fIkÿê\14\90\15Ë\17\9dò×ÿö¬e\7f\91\81\1f)íëäöoT^\ f\15£{\85-\88\83û!¹F\96\14fG¸\12¨¤®÷à²ÛU&v\9eE×ú\93¨ð\8a\11î\9e\11`\10!\8dúÿª\980¡¯\83S\18ãÏ_êÐÞ\18Zòg¡Ø.=\frâ+wç¨ö\11ÁB\8d\0ËÍ   õXB\83Çf¹\83\99hCÐþ\rò\8aF\9d\9d4p¡£\8cºtxÀ\8a\97\8dfb~\96\ 4\rõ4ð ·î¬\9dQÿÍ\aï\ 3½\86á\81µ{\83¬ÙÆ49|ÚÌÞ<í\88Gí&d\ fXr\12ÑÇSmìíN\81\96\8c\17dx\19\9d\ eBn%å\89Às>9İ\17Ë\8d×Â's.\98ç\aÇ   \86%ÛðÛ\1a\9bXÒe~ã9è´\99éÉ\ 649\ 3ÖY¢\10\19k\1a=J3ùèr\v0Os¨ÖÁL\9bW»`ç&¬Ú¿T\13\81d=aJÏ\99ÎM3N5;EüZ\18±¡WU{\93\15Öm\13d\98*>CÖmnÑÆal\89µ|³ÐöM«Û\1c\87¬ÑG.BÄÚ¶\110G·®NÒÎÕ¢\86\11+\9a8a\13")íËÍïÚJf\16ã\9aÁ\f£©mì\ 2\87\18Ú»6\87H|Î\1a­R''\ 39&(òÀRGpz\1cÓjë\8eBÅ £K<Ĭ\89ÈmÏo¶O!b\85xCn\18J\81Owx(XåöyÌ \9d\82\99¬\15\rè)\17fõÑ\0\ f`rfýæETí\ 5\82iUÎ0\91igÅh¿Ùk\848B\94O\13\84ò9}\93\9cM\18HW1s+\89\13¸ScÕ\10\10\aÆÀÑ\9b\9b\v\11vÜ´`ã\10´O^ ¥Ç\bO\9f\8cÖÿ!\15\9f\a\81\13ëû\13\1a\ 2\15\1aU\87VÂqqµy)ÁT#\8aÐå\16\8103\9d;F\vëÍ\ 5}´$» \8c\r«\14\88\90t(Øàê\10\88BUk¼üµ6ä\1c'Ù¢&Ýã\170\98\96½¸M!¡aü\86\ esi\9aJaÛ`\ 4#\9a\1cá®$AÙÆ»\13\1e¨\ f\80ò\82\8b®M«LÅÏ\80F\19\9d\15«gæ.Y     Ë2¡Ð\9bwm«\90\ 1
+À¦Ä\94\81[G\12«E90\r\1c\v\86`\1d\92þ-\18(à²PìTyöÍï¢Àªz\ 6^\ f$\85\9c ,QÝ£I\1fqPMs\ 4;XÁM\14OC~*9\8dGè6¯Ù\90æ\8a\80\16Èn\8e³ø\80ÑAéó\1e\ 2TÐ(³àl{\ 4;8Ä7Br\1d\e<¡ ;¾\9c¬\88Áå~À\b\vØ/äPÄ\1eå\bÈ\81\87{        -â<\90\9eÇ!amò\10\8a\11ã\90;´Ù¦0á§¹A\ f\9dZî5¡Íùp\r¢ÍØå##\0Ú®\86\ fv\88§·\vE1\18Ûç\13öÌQè\84.øn\86\87\e/¾F \14YÚ½óE\1cÖ\14¾OD\11È\86ÿ5¶ !2*\88\b\86ðHÛrÄ\fXHp¨\86*\81Ý®X\ eâ\15;\98(´Îü"|ó\rï»\90\vKîhc\ 4ç\ 3\8070¦sI\r°¦«¤zU@]0n\13ù\93\96àØvÁPÂ(Ô\ 4Á\97\13ù<´\8d!hf\ 1Z-j¶|f©\ eqS¯ì4\a\8cR!\91\8cØÀ\8e^üµ®âÑêy`#¸\82\94\1eÓoÌ\87ç\8c9ÌâØ\11\rjÂ*sàà\95\82\rçr\98eµúH\0\94[IQË\8añ Vb\14\16À¹±\bs{[0s\bW{Æ·÷Æ\89\1a\r\a0\1a\97\ 6\86B0
\95¨¬h\86˯       ÆÑ»Ëõ\a\ 2\1dh\80\8e\8b\b\1aB\99îß\9a!G×Èîí\81ÅCî\89´RHÝ~\91p\ 14h¾\81\ 4\13ç;P
\9f\8eC\9aï\1619\80\8cØ\90¹É¹­ù#\11Å\8dÓ¶Pïª\a{n\9c\e Rn\8bGª#tKµc¬ÄÊ\8e\13
+_=pNñU\ 5æw\8aî$\19å©>Dà×-K²#[\ 5ü\13{ïÈ\ 31\82þ\15\fh8Æ3\86Ú\87ª*#×\8cgN?\80+ïÀ\15²sß\8c#l\ 3~^4\ eø« ¿ÑÎ=N\11kL£\1a\81\82¸\8aß_àW\87\ 4\9fi\rùÛB)Ítkp`§n¦Ú\90CJe\16¶Ì
+Evx"\9d\9c=deyO\1eloÄì`ç°·`æ_æ\15\81ý\9aÔzAS½£\89\85À§R5\81\15\96Î
+ô§æ¼xÀÝ{y\@\1e\97÷'\11\ 3ßùywo\ 1\bNc¼\93F  ¨V¡\8f\89\14uäÌ\ 4þ\10(÷(:m\80oI\80\16\88uA\8aÉ\9f&`c­ü]Y)\80\1d\82rÐû\80à\14<!Ú°\ 1\92\ 2\89\8eC\96\139qº$F\92t\8d%£¸¡\8eBaZù\8e¤ÖûÂ$\8f\80¦ñKRʦ`\9b.®Û\93rñà¤]g4,\12\90¸-\1f\r«×L\ e\8f\87/ä½£å\81(ù®\98J\8f\8dG#Äâ
+>X\16G\ e\8f\9c¾HX-ñ\89¯çÍÈ\ 5\81b\1dß>À\96
\ 2¹\1c\96\ 4ès4ðä?\8d\9f¾r\87l\ 5*\98Hz³2\1e«¸ÐNq\10Å+:\99\95\1e­*\98p\95ä\99T0anÖw\85m)sü¨3zXÓd\86ìí²il@ \94j¨o\14}\13uì`\ 5ul»ýmªºÞ\1aÅ\0\97~­µTN\95 Yí9¯¹\ 6÷\9aA\13«\ 2\1a\92xÂQ\82Ùê\eÃ\b7¨4\e±U\aÄn¿, ÝyÉÍ×÷P\ 1\15{ë+~\ 5\8a\11\13\12`\8b\ 5Ð\98}¡!Ô[\8b r\f:\14¨·\19\82æ\8dÌÊ¥öT\1ek\ 5û\90ZBò@dHíU\11c
+\89P\16öëòKgÎ\ 5\7f\16ü+fÓ\e¢j\vp\90é\14üî\0\9d
+Jg5õ\998éY8˪q\97\8fqCÔ£6E\97äj.;ILòë²ü        ³7\ 5@\1f~Ô6\8d\8a\15 dÖ\8f\99\ 4\vGpÉ\aG!¼¶@\87e2 \13å2mM!»\ 3Ô\94üÊ\16\96\f\16®L3\10PÌËà­Z×\1c\85\99+Óú\88\ 4\ 2\86ú¯óCiú\10ßYu\r\95uÀÌÉ\94ÄØ\8eÚ\1aéuAÍu\82¦\awÇ!§@ôhÊÔ\ 6\13å ÕÚqʱ\1e\81Ïkn\8cJr7Í\89¿{ùASÛã\8dW¢æ\fÔ$ý¿\1f+ÿ\91\163uÏ\9dÖ\r-¤ÒE\8c×[¢\ 4h­Y\1dÝ9\16å7ñò¿ç\88îÒ\11ÜØ\8eæ\80îáñ\89&'Qð¡\924%9\85ìÂLX\15ª9\18Â\9a\19\9cÌ\1a©øÅS.$Æ\80Ü==ç£\103.ÜoÂ\aq\97\18\1erË.;Ni¡S\826\1f¼¬2¹1\87òz¿¢()´ün¿\95M\v\85\1a.×iI·¹uÃQ\ 5\v\16.äûx(PK\f\9dpÅNÝÙµpµÂì\83ß4oZ h¼Ð\98\83Å\9f\82Ƶڦ\8f+EV\8b4x\84iñ¢\80ÙKf\8f³Ö\ 1àJ6Çò\8d\96\90L§:÷\94\ 4\ 6Â
+7Z&Y\94ü\11\824'\b
+\ f}v\87Äx½a\rýÿYs/ú\98\1dÿÞ`ß!ÔåËõ\90Ó¬\94ã@ËÒUiÃÒ$jT«\18öNO¬dæX+\99\96U,3CäpÔü=´Äðx\vÛ\fÛE\94\952°0QZ
+ÆhæÐ\ 2©ÖIÄĪ\18ùVD9 â£Èt\16Û\v\80%2d\81(½1Õ\93a\90\eåSlE\84Æ}0\17²Z8ÅQ\e¯=øhµ\10»;½´Ä\98xR¡7\b&çóä7g·®\8f=Æ>ußq \93\f\ ffÝè\9f\9f)\aÙ\12¿ùCÔµêF\80ÿ\ f«£"H®\1dQ[\b28\165\83ØA\91À±´¨\9fÙ \8bP>l÷\18¥H\1f\15&\81ó\82ì\9d\15D\8fq\ 6\b \8aF\9c~E£ÔdÉÜ=ÒI@ 0 ¾n\97\87ÿ;ä´oAñ\ 1\ fL\ eÁ(p\18¯þ\1cã5\17t\16\9a\9e!£8V~öÀ\9c\9f\ 1º\97²P3³ÿvvÔ\ 3ã{\88\rî Úá\9bºã\9c¿m\9c\98f\ 4\80]´ÆT0\81\9dáÅ#\aâ\95t\92\9f\ 3s5\ 4\1a\1d>ÁÆy\98»\13\8cõÙ1\9fHû m\âÖ§lF
+ÎCq3ÖØ6`s\99s\9a\ f\e\rÿÉX0º.ãF\11\923l;ÂV\11%òkð\89ó·\ fpöÞè\9b<ò%\ 5\ fMJ*\198¡V/ç\8büØCêØhvK@éÄÕý\85.z\8dÚ\96\14´4bh7E\92!öåÑQZ\82¤Ô.&$ÅÓê\11\92tWèn\eC\89\83\88;\rüõ«\ 6d(\13\a\1c¬\0¢^7¸\7f7¿\84\14®C\14!å¡[¡\1a:\1dÔ­dç0\99c\149\r\18/j·6kpJq¶±ã²¯\15\1eSAF\85m`Ô¥Od÷\e
+\99#\13\0\90ø
+Í&G¯âÐA\81\9aíEqëÑ \8a\82ÜÛ\15\1c\96J>C×Û\9aßH\12\ 6«g\ f\90ù\8f\9b¡ï\87\b\ÌÊ5Z¤Þýªk¨¾9(¼\10<-±:£\fJ3£`Þ\8doR\9d¬AÂ\8b\94±P*ÿ\Pz\96ÒBreÞF(æ¸ÏK0\14'\887E\1c        K(Ó(Q\99öF\83¬¦\98Ul\15\89\10ú\9e¶L@¶4m\r\92Ú45Ä?%(­\1cþ-_\0:\8ef²Cá<\11\97ß\8cõ\e ¨ÑÝoð7¿Ù}\80\9f\ 4ôz2\ 2?\9aè\11ÛÐD\e¯`µ«\15\1f#%\1f\b\81\9d\vWzñÄâ\91S\80yc\90Ü\1eç1\87\8fb¿ãk\91\10(a)®[¤\ 4ùÍ\97÷\82\7f\ 2s|\ 5\80¥Ú\8c\15\85\ 6ô\83\ 6\vv\8eÕ\0\10*\ 4-ÛÉ[HEº\vìK\9aîë\97x£q\86\17Íê\9d\ f@>\81\r{÷¬Im?Ýïs½Ìîf\0\ 2\82â*\ 3%D´Ê£B\93Y\86f\ap3\f\1c\ 2Jj\ 6\94\85ZH\ 2EUF\15\8cqÊZj\19j\0\0À\0\15YEU\95eJ\95\95j\8aj\99õú\86*Z\9a\8a\95;ÿÿÞç@Oâ½¾÷ß~·ï½ó}óÝß¾Ýànð·\81¼-óx;ÀÞ\ eðwÍß7x;æó7\99¿\80[ÍÞNùçÜ-óx\9bÊßÁ]\97½ÙÛ\15²Û\1c?eÉþö\\89ìæx\87½'z=Æc\1f\ 6Äù\9cáTöpù*t\9b\ 1i³¹í,E%QÉ %±\8bË\9b\88Ctñ%|Ct\11$®Å       +W¬\9b\80q?£C\97Ý\9b\94\1a\84\8c\1cL\ f\r­ñÂød0ê?p¼÷\væÛÆÃOÛ\19á°\*®Æ0Ù\95|\18\99s\a_\80      \9a:(ç/Ä®pqk\9c\10å\99\1co\19ÄE\9b2ñÁ\8b\1e\15̵\87\86na  µìOTüÚ\14ç\10\ 2ê'áf\9f\ f\92\159ñËà\9d\9dQ;\egÁÒ$Â\89\80Gs\93|·9Ä^\1d\94G°:Áíî|Mf\13\8c±n\153s\964äß,ö\87>Dåüè\86·QoÛj°ql16¯c\87\ 5
+\9e¼Ù0¢a\e¢9³/\83k\90SY\1e\9bÞ\97\9a95\9dÖ#GÀ¢æ\13æÛ\rÛ¡p*\96w\8a÷´²ÑrÄÈDo9¯\f\93{Bh÷\ 5£#÷×{Ñ·A    ½\b¾1ãÁV\8e´YO7}\e­|ÍÇ\10U&^U\17\1a\87е\9d8\9cHêË1V\e9qTïßu\98\9a\1etÃox¤Å \ 6ä\9d>~tm«;\9c©k¼©3¼©ÁHå\ 5Úàå\89ÄÚ\9aã\81¼´|\96$¡×Ê/{EB«Ë\94Ë74y!L§÷å3\88ùÞüHKt\1cï\b\8f\9b\9bT7\9a\ 5)túi3ɱÿ\9b\90\1a\8f       }×Q¥Ýe\7fø~×E\rQhmv\8dip:ówXZ\15\18¦\8bÂ;sbùI\90¯üaNÆE\9b5|?PIîÛ)?Hu\94³Ø\9c:\a\85Û\83\10b\15åí|\89íÄ&´m)\8c,´þâ\10L$\93Äà³âú\9aÒæÏ\rê\8a<\v9½Ód3ú><ã\11¾\7fÞ£#ôª-\8d\86É8D\8b¬áÇ\13ÀÔ6¶¦O\15Ç·ÈA¸Èv\8cÜ(\8cs\80(ùí\85Í\83\9dNroV8RïÚߺ\99IΠ\98=ìó¥³s\97\85f:äk6(h|\e"ëeâ¾q3ù\ er\864\13\0\vG\81írh\89\87íj L5iûZ\8b\10~Ï&\9f¸1ò.d\1dä\1c{Sõñ}a¦\8bϱ\15N(xA=\88æT\15q\rϸK\8aÊ#\8cÍî/ÕfßN\85f\1c\ 3Î!\16Ã\ 3T9¨Ú\1a*ùÂÑ\16Ä\91IñkáÑ\16^\19ñ³GÇx\95Óù÷Â&ñ«\9cI?\bÒ|hÍ\1aÍÈý´\87\9fºÏ\14\'ç\9f\99¢óôó\11¯¨Ç\08\92\15_Á4¬\,ɸ\96\9eXÚR-ùûC\1f,\17:jü*Í\88B\ eoÔ~Χè¬]-Îk\11=<§ê\95u\8a<\ 5¼V'êU¢ç+W
+L1p\17qmpII½8£l.\ 2ûW»\899~\89d\1dßk\9d-\8dð¿P7\84>-e­ðC¡VHc\90\ãä²\859»U\82\89ÅоâÎ<\1f'\91ÎFÖÈZ¼£)C\97\ 2ßÉtG§á\98áqvª\8e\9fïæ\bµz\13
+\8dÆ´;x~ò\82l¿Z­8Oq\98¤!\14âb\84\96\f\ e¤@~o@{\96_O×"¤d\9a=Cä\9ds6û
+=S
+®ãqà¿i>yί\19à¬\9bXÅÃ\1e\93´?T\1cÅÎzóãû)\94ÎzòEW¥
+¸R\14@þã~p¥nvj½\9f8m«ÐÌ|1Ã\8c\ f\87\eÅ\9cÌmñ|ÜDþ\81ø\89È×\11O\88m~îµECíÇn-\ 3þínæïl·W2\93\12>\19öþ\b\99ë\ 3´PñÑ8\8c<ÛÖ\8a\1d´\83         Ç¡9àV¥\9fò&ÐV<uL\8eµ
+Ú¯Eé\8bJýFÂ;\84:°=É\9b\98Wl¢\ f\17\b>`\9aѲ£æt\90\14UÁx¹-ÑËéÒËíPdÛµHä7Uw]\8a\r¾\15\94Ýõ\1e$«)·\9b\14\e\0ë'uu_4]03á~m¯Ô>ww\7fÁVQê~¤jè\93ã\12zä[EKË\ 2\13¹Oòî'²fÍ\8cZær\87.l๳\19I     \15Ò,n0ò\rb¤n°ë¢Z¶\91\86²R2\8d\e1\90k$Ù{\19\ 4 øîÝs6L%"d¢¢\98¶¸^=seÍ\18È\8b\ 4?æmW0\94bÙ³Sð\12\aý¡Ýãlï\1cFA³)\16\ 1S ìn2ñ\7fHHÉ/\8d\94\8d\13\8e\96|\16¾4ð\929:\ 1        Eíc¢\99²_"\8c\1ex¾<ñ\92P\v(î¢Ä\1f\97H¶jyѵÔJ,\9cñ\9cRåîÁrQì\ fÐ<¤RæHXRD\86(Z\ 3\92\ 5!\1eÂã\19s ù\ 6\11\996"d\0HÄ#÷\1cÖQ£%í\9a¯jÁ\8c¢\10àó¯Ó\b½ró\98»°\90vQgJvíYÈ®\8bb\86\93ò\17K\11"s\16Í\173@\7f\1c¹ |\83\16qR\92,d\1dè^E\93A\1c¤ãÙ6\1e\90\9a2\90hºEyß\90þ=\88ñî×\91î#Ç\14G5\91\1e\9a\99\ e\0\12ì\ f×:ù\145"%ä$£ãÐØÔ\82\182\90]\12ÍÞ«E\8f\8e\14\94S%ã\ f»Ù½\8cS)F²\12\82Ø\9c[\1au0ë£ãÏÖÒé\16Mc\92+õ1ìî×m#p¼\83F\92\8c\e2íÑÚ%,8ª\b\86Ò)bº\98x\99\ fÏ\ e8^J8Z?\1dA\80É{\1fÈ\ e*\89\19y\17¯jÛòÃDZe(Ñ«  &l\7f<?é\97È1»Ñ¼\94r:NCLl\9a\9f¼T\84£,JôvÏAy\ 6\87üÝcãå#\98Èä\1a\8d\93Å/»]t\8aá~Dz"ï\ f ¾A\95Òìãîâøõò\8bÏ\91\86â\a\13ð¥u\1fÄ®ê/%!\12\19û+¼}Ù\94r\1d²\8f?o3ä²f½\81ûA#§;\9c:é&\aç¨H\11ùáÇ \87S/lÅ£^Ü[VJ4bÁ\92ïÊ'\8ae&Å\83¼]Î\1cRu\1f"Aè\1f·¥Ç\85~\96\8bY.w\8d\b¾Dr\H5fÇóÍÏ\93\98ÿ\9b¼uÖ=£Y)\ fÓ\ e\91-G§Ë¼?SHkÚ´<þÊ:,ü3#÷Ò9\94|\83\19\1fË\ eÐñ\e\8fÏ/w$ÐaÏÒÄyòc±\90\90JV~¦>)\93f\88m½ÔÉ\7f,\9cæ²\12=L\8c1ÿ\96Áã\96´ü3f+ÚÅÇ\1f+àaÅ/zæQÉI\11u\97\9f¿@aÚ.\8cD2\8aì£\8f_üµn\9c
+¢ a¯\84@ì 9ë9W\15\7fJ\156\eÑ\18   \17\920\10ǦÚê¬\e\15P\1eòF\a&\7fÜ\8a²00Ê\88À¶¿sÇT\aÿ¢ª7wTÁ»û¼¬aîªu·\82\88\e\87& ä\88,\9e0\88)\18r ¡»" \89Ã\91uS²ÜUÄj®êâ;ê²/°Ø\ 2/¤¿\11wUîÜTýnÿ¬ÞQ¦?Ñû\86zCî=\1f»dÆ¡ÃÁ½$\8bª\86Æ?«J\9a\7f\1dCô¶áq·u\10·\v\8fÄ\82|EwtãÝ´%Ý5\7ff\92è|ؤº\1dK\9dBK¡Â\970\92èx¼\92i.\871\12Ô\97CƳ\85¸\8bÇ\86\8bÇõm\83J/\1aü¤\97L?­ÚK\96\92\ÁýP$ºq¯.\92ê\aõ\1e\92èi?\ e\92êGô±%Õ!ô\92êÇõiÕ$?\1e\848©.H×ݤ¹C_\\92é\86½\12K\965õ       .`×\9eItã^a%Ô\ryT\974k\9c\92êF¼:Kª\1aði.¬k¾$»Â\1aи'\8fZ\16\98$\89ã^Í%Ê\1aû´\97L5Ý$¹c_P\92ï\83^a%ßF¼zK\985áÒ]8×\83Iu\ 3\97T5í Ò' /IsF½\92\1aúè?ã·}\128÷{ªê\11\90\95<\8aîéøy\84WwäiJÁÝî_q\a\92\10y!\a\92\10y7p{â\vÇ»\83Ñ]k¸=\15ðîàôWwU\v\96\8aï\88®b+\90\8aéÑ^Ù\1a©=B+Ú"¹¨¯f\8aêQ_\84\8aê\91\15ÞQ^\89\15Õ¢½
++¼"¾¢
+îDû\8d\17\94\1a/(4^Ph¼ Óú`\83Ó\ 4\1e\98 ôÁ\a¦\b\83Ë\b\83Ë\b<°Öya¬òÃYèÁðWr\9fÜGæ\ 4~`Gæ\ 4~`Gæ\ 4~`Gæu5^\99\15Ýê¼´W\98\82w²y\9dAztWw´z\84W\95Kdôcø+¹\83î\véÀ¾\9c\véÀ¾\9c5^\86è\17\92\eç\92\eç\92\eç\93u\a\98\8aë]\97Ñ^\15Þå讲  *\81\k\9aïrôWçÀÝÍ¿s ø\aÉ\0ù \1f$\ 3ä\80|\90\ f\92\ 1ò@>MØ}ñ\ 5ù\90)HÞ5ìànç\8f¹Þ¼\aå\0ü \1f\94\ 3ò\80~P\ fÊ\ 1ù@?(\aåu\aîø\vîd\ f\ 1z`\17¦\ 1z`\17¦\ 1z`\17¦\ 1z`\17¦\r\83Ë\0ù`\1f,\ 3å\80\ f\96\ 1òÀ>X\aË\0ù`\1f0\ 3æ\0\ f\98\ 1ó\0>`\aÌ\0ù\80\1f0\ 3æ\0}8\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÓ\80}@\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÔ\0\ f\9a\ 1ó@>h\aÍ\0ù \1f4\ 3æ\80\ f\9a\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1ô8p.g¯('¯('¯('¯('¯('¯('¯\1aöP)O^UÕj¾¥\15îg¯\0ù \1f$\ 3ä\80|\90\ f\92\ 1ò@>H\aÉ\0ù%\ 4õã^¶âzñ¯M\ 3wÌÿs=x\ fÊ\ 1ù@?(\aå\0ü \1f\94\ 3ò\80~Pi}0\aÓ\0}0\aÓ\0}0\aÓ\0}0\aÓ\0}0\aÓ\0\ f\96\ 1òÀ>X\aË\0ù`\1f,\ 3å\80\ f\96\ 1ó\0>`\aÌ\0ù\80\1f0\ 3æ\0\ f\98\ 1ó\0>`\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÍ\0ù \1f4\ 3æ\80\ f\9a\ 1ó@>h\aÍ\0ù \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fx\0ûÀ\aÞ\0\ 1÷\80\ f¼\0\ 3ï\0\1fx\0ûÀ\aÐèØ\ð\1f\8dz\18\14¸\ fƼô
+\\aé®\85墼Ä
+\\aã^N\ 5.\ 3ô:\95ð)p\1f¡Ô¯¸à?C©_\ 3wÕ/¹à/\0\ f$\ 1ä\80<\90\a\92\0ò@\1eH\ 3Ê\0y@\ f(\ 1å\0\a\94\0ò\80\1eP\ 3Ê\0z`\a¦\0z`\a¦\0z`\a¦\0z`\a¦\0z`\a\96\0òÀ\1eX\ 3Ë\0y`\ f,\ 1å\80\a\96\0÷À\a¾\0\ 1ï\80\ f|\0\ 3ß\0\1eø\0÷À\a¾\80\ 1ï \ f}\0\ 3ß@\1eú\0÷Ð\a¾\80\a\98\0ó\0\1e`\ 3Ì\0y\80\ f0\ 1æ\0\a§\0zp\a§\0zp\a§\0zp\a§\0zp\a§\0z\80\a¨\0z\80\a¨\0z\80\a¨\0z\80\a¨\0z\80\aª\0\aª\0\aª\0\aª\0\aª\0\a«\0\a«\0\a«\0\a«\0\a\9a\0ó@\1eh\ 3Í\0\ f4\ 1æ\80\a\9a\0õ \ fR\0õ \ fR\0õ \ fR\0õ \ fR\0õ=@}çn¾ò¶ÿî\9d°\95ë\11a\9bï\88×\ 5ø\14Eá[\9fàNE\86§GîUÝnþ\8e_y[§áî,ÉÂ%{\ 61_ö­Çï+aÿðÖÓ÷\95ªý²%rà\7fÝ\×ÿ\7fö+w,ã\8dóo\9coOúú7Âô\80yLÄݤú«­øûã\9bÀ\1cß½4æùgÃ\9bç\16\1cÞf\r\9bvЬÛ÷8vmûØvmòËY·\999\9b|äyÂhf\9bÄÉ\9dÁ\1d\f\15¾?ìÁù\87P\a8>\ 1p|\ 2àø\ 5Áð\v\83à\17\aÀ.\ f\80\\1f\0¸>\ 1q\9c\13~¸m¿{&\8eq¾¹¡«\ 5ïÎQT:¨×TXÔYÔZT[T\eR²¦\16¦\1e¤ê\99:\99z\99Ú\9a
+\9a\1a\97U656U6u6\956Õ&ºXê\15Ô;£\9d\97u:ê\81Õ\v§N¬]Y:³uhêÙѵK*¡j¡ê\8eª\93ª\97ª\9dª ª¡ªuUcUeUgUiUmTmZʸZ¸z³ªäêåêçjè*èjÝUØÕÙUÙÕÚUÛU\9bX²²\16²\1e°êÉ:ÉzÉÑÑa.«,k,«,ë-+-«\r­Y[\v[\ fZul\9dl½lím\ 5m\rkªÛ\1aÛ*Û:ÛJÛjÓk\96WB×C×\1d]']/];]A]C\êºÆºÊºÎºÒºÚ¸Úõ\95ðµðõçWÉ×Ë×Î×ÐWÐ׺¯±¯²¯³¯´¯¶¯6Áe\84-\84=\81Ö\12v\12ö\13\14\16\146\ e¬,l,¬,ì-,-¬\10\ 5Í2m\12Ê(Z(z#¨¤è¥è§h¨(¨h\9dQXÑYQYÑZQ[Q\e\8e\16\8e\1e\8cê9:9z9Ú:
+:\1a7Tv4vTvtv\94vÔfÒ,¤\85¤\87¤:\92N\92^\92v\92\82\92\86\91Õ%\8d%\95%\9d%¥%µ!´«)aiaéN¥\93¥\97¥\9d¥ ¥¡¥uKcKeKgKiKmJm2ÊhZhzc©¤é¥é§i¨)¨i\9dSXÓYSYÓZS[S\e\9e\16\9e\1e\9cêy:yzyÚz
+z\1awTö4öTötö\94öÔæÔ,¨\85¨\87¨:¢N¢^¢v¢\82¢\84ý\82lj,¿ÿ°Où6   Z\85\e\9fýû\ 3ñOØ\1f\94~Á$T\v`\9eyúñÿ<\9býy\ 4\910FT\89¢#\88Ê\1fÿ\93\1fìI\19²\10£I×\91\99"dV\ 3dDï#Ñûû*ݼMn\7f\93E¡Áå[ì½Å\v\11mfa\ 5k¸wþ\8e#?VËÉËSJ¼ùÜYü\ 1óüþ\1a\86û\8ac?ûg"eÿM\1aw\ 6\88 <R\1f¿ÊÎDÌK'ÿ\85\1awÿ/çtiÝù\13<\1dÁ¿úhÓ±1\99tE¡ä8Q\17úѧrâá\8f-\ f"#\94_ëF\9dÂ\v\85üÄ ùS?8?ø\rÇE¦\9d¢ù\85ÅsbGÂ;\0©Ãô:ØÊ.\ 3\bH\7fDO>\8c5\8cKA¼^8ÆÇücq\87üDcÏøí/bÆöG£\8e(ÿ\8eÕôÿ\8eÛ\1diëÝ6Ä\ 2kk#
+A³~\83L\87®\18'Gf \94\e\8d\9e\ e\8cxa3ÎB²×qzªZ4\1a/q{<ÄNuGçâìq\8a̼ÉBÅã\85Τ\83Ä­o¨\9eC+ñÆÑ\91\8b\90³@Ê\9f×+Ý%\vÕ¡\95åÿ~V;\11è\16\85Pgîí+\11iÂ/gæz\11æo"÷\aí\14\10\93B\85û¬6ÌOñ9\98²\7f\8bÄn&4\9co\f\98¬:Ûý\8f\11»wô\1e:(\99S\9b\99ºA)3ÒÛ\8c·¾þT       {¿@,ù7fÈ\9c L\97Àü»²rD\7f[+\1fy²ýã\ 6G¥7ÉÝn\1ec\1aët¶\a+ñ}ï\93±àÏIü\92ÒÍv9G\9aø\ eD®ï1\97äC{ºj\88¿+ µÅV\87Í\87ÿ¾úë\ f\98\ f\1eyÿ*G|F\ù~s'ÿ\8b~\7f\96£ACÒüf¢loÕ8%_\ f\7f+<ÑBÚ\aò-¦\1fÿt½ó6\1e\15\82r\b½§4ýêßÿÕ/½\8fþ%ï\9e<Àµ\16$R\10ù å\7f\9c½ðoédÿú\97¾q:\ 3ùä÷\ 4\7fÒ^üÀ¥¿5\19qÍýeï\93V~h¤ÿÔ~ÿ\84½âõQ7oÈs¹îß¿8<ù/\92ß{4ÿ2ö'AxM\95\ 5³äÏ4ýÿ§ì­Ð²­oìx\aø\ 5\10»\80*9%ç°} \84\1d@\14\9a¡ö1\1e¬Î4ç\18\1d±ø¨·8\aÖN=\85ÜkUÎs¶ç9x\17ìhì>lV\ 2üc\a\1e½ª\99ûkyȶ.d  c\11ÆðøgÂ\8fÊ\9dÂ\82\82û\93à¿\ fõ\82ð¨Á}X ¾¹p\9d\1aG/Û½3    \aÚ\ 6#³ò³ó­38÷ÌVî\81êÕ`¢¼3¸®»üm"Çç  Z>\10E­c» \93\15\98\9eî\84î^9_\ 66ïîÌü\8bÙ|\eìα\ 6ã¥`µ±o¨×#1T©ù\ 6Éñ\ 6¼\1a]\v%ùrÿjö,\89\17\ 3Öw\1c\83nM?\9b\83"o\10s\86Pv\9e¹H9\94¸3\9c\a\9eY3s\12M¦A\a\930øIqøW½^ò\80â\9dÙ\ 4\7fí°Ct\1að,O%\83\8e9Î>\95Ñ\1cg½(£=\1f%ïH:
+\8dÆ÷bJì.òo8ÍÇÀs\8e#\8bc\9cåoBjçwÝ$4Ï"ÉÂaûÙb±ÜÒY
\8fÛ®5sÞÑ{ä°ì\13\11}èxæMÓ\1e\9c\0¬}hXΪYpÝ®ÂOÀ
\87M?î\ 1ïh¹ðX~©\94þúô'X0ç\1c\19u¾ðý{½ø\92öÿ¥\17Ú;\ 4'\13ÄX&²fÓ$\8f\ 1à\9f\v?QèO\1eÙHµ²Z²H!Þ\96ÞÞТ~Efrö\9eÓ¶éw4J\1eû~\1fo»N6äÈÑ»åâ}¶o\8fh8\13ÍÞ~g¤^\v\8bxñXØÏHtL+ÏÀô>\ 2\81Ù·J\16?\84áþ\r\ffð@yä\1dÆn\19éíöÉ\87\ f\8eä\Á¶\bf\14(A¹$ÝH5é@ñ\99ÑA¸\94 Ý\vÒ.LH¨¿ç8óO\85'zH¹2H8ÁQñã- ô¦\18Õ\1a(Î`ü¢þ8\91çFò-\99\90oÑÝÙ·KÿZô\8bv\anÚ`M\¸¶ ½½\b\1aóó<\8c7ÃyFÍc\92á\a\16԰⢠!ÍBͽ6Ï(ðð       Å#C\87\8b×yA÷\93\87?pd¶þÍò\10q\ 1r;ïàæ3ÿ¥¨ûÿ£O7-oûZy±yw\1fñiæÿ^#?     ãû¸\8cÎxÿo\11\9fIZ\F\7f\82´¸\8cþå\7fæâ3\1f\8bÓü\19Öq4Nþ'ïhïÕ\14B¯!>\1fû=h?çÄæ@è(^áùµv©k«-ÖG¶ù¬»\ 5¥x[\99k,Þ{é\8dª\88O\97\9fyñüÕ©ãÚí+;\ e\94ÊÚ\\17«Ñ\99ó4\1f\82Õ\1e·\85Æïxs³Ì4³¼
+J\9f1×À¸\9fC¸ù6Ù~Óh¿sÏÖò³\95P\15\v\8aîr\r¤\88Ðd\9aRÓ}Ò3Xý\97\9f\12V\7f»ßëmÿ\1c\ 2ýÃö*:¾ Ì,I\7fDÏÏ¡<Tu\fë¯ÅfOá°\89NÿË\88söûY8\9dÕD*\8eÛ_\8dùbT3¿Í}Ô\92}\ 6\8dç»v<\8f?\89'\1co­®Ýæ\93\97.u\7f£¾Ë\93ìv?jòÓ}XüF^F~*ºfÏ_\97àû}ã\ 2\9e».? v_Ù}ñ¼"5\1dj\8d\8fxÁ7Ñ®ô(ú\ 6{Lüx^ãiâ[ù\\ 6\ 5ü\9cKï;?Öt£i2\11\99m\8fѤ԰3KäopyýTÄN»%¡þ\8e\8eù\82|&/£æä6ú\95úÉh\1eºm¶²\95\82\8f\17¡\91\91Ûa´,êï\97©\9f\e\95öul\rãñmúÏ\83\15ÄkçÌx\9b\1c棲\97bWÃñ\9d\81\86ùû¨¦þ^cC\96¾û5QEt¥¹y
\17=\e¸î2\9e\ 2îo«óÅ&èý4\ f¼Ôö,ª\1fþÊ*\fÏ®Þ(Ï»\17\17)÷ûÝ%´\12ef|\9bôMTYMÓæþ½Gã\9baIαÂ/°ù\1aE¦£ôz´Ý\9a\96±\966\1f7m=ôeñqe÷\98ÜÿØÎw\12Ò·µøà{ê\9f>^,ÍF\95û4¿A5\15a_\r!×ûñ'E§«¡'3\81\82ð"kû\eg}Ûp¡bÔlµ\93\1c\8dV¿Â\8dÚîù6|\7fwÌ®\8b5á¤K\e\ f\8fê\8c®Õþ\19«ç\8b\13Æ\8bSî`[N}|\96\8d\9fcó_n6Ú-SÞc°Á÷Yì\v?\13c\9d~µ½Þý\98µ}­fÿ\17\9cÚ<1 \91\7fÖv/8\9as\89ê¼Ì\96û³ç\19\15§Åðis¸ÿ\9f\8eÈ¥Xª¥\11\7f_°ûæ²C°\9f\18VS:糪s5\17³æSNõ\8e±_\14bcb}\Ý\1eßÍ\8cÑöÿ\17Ç\96Ñ\1d\1d\18Zo¯Ñä´Ázk·T´~\8eZ'Ýq\18cIo¢=6k}\13çåtíþ   \8e7²Ì®\8f[\1eéKÕSZe\1e¯\1d?â×\ 2Ì¿³o©}ÚûÝ\ 6\1e&\83ÊÅù\8c=O\15\99\95º\9f¶¢Ë\10Á\86\91\9f/yQå=ù\r    Ö{ýýû¯ÚB¯ÓÏ{\15½\19þ\95³Bºq8¾\9f#ym\1d\94ÏO\1d+\99ûf\1a&Âq¾}V±v\85\86ª\eY\111;\8cLкV´}.\8d\87\9b\15´ÛÃn=øÍß\96ÐÍ\9e­ã\9dÈ×õkuFzYnÝï\95Êh£V·wa\8cyîÖy\93\18\86\86Ãa<\9fÙ×d!\1aú\1aÿmn±\8eYý¢\9e\85»;h\1c}\92ë\1e»\1fècÛt\184U\93¿°åô4\1d\1a]=^\85Î\1eúÑ_f«{«Â\17Ë\8a\9eès
+Ðòl³1ÄùäTf¼\17Ö\91^5¶Å±4]W¿\1ca\ 4bÅÚÓä\91k#À{\8as\9cz`×\91\84Å\92LGvÇÐÓaS³òÕÔßüÇí¯\f\92¾·»þ\ eÛMí³Ñô7»ëU8>QDà·\11\7f\ f\9däÕµ©_¡{UOºË\14W\8f½²\86Àlé\18øøfüÌ¿ÍÀ\88LO³ÌãúÒó\1fc]\97{CÕl«\9cʦ)Þ\ 6ÆY\1c
+oS\97µçd\9ftËê\8eì[GFÍ«L]¤ÏÈ×µééVìáôì»FEÐ\16MG3âÂ\99\94دô:4¶X§¢ñ%\95\aÙKÓÐæö\11´¹¬\ 4\ e#âå¿\96\99â3¹³\9aÃjXy\1f\17½ÎßPa%Ë/®Ôås\94^ì$N\97®\9a\87ø;¶?9fA÷~u,ÄÞú7iîñô<iMTéi×:ûw·ÙJ\98íG3#?åÐåyE¨5ó%´ë ¶Ìiy$ý~w'­Ò\18KÇCÔǯm4Ãa\94ØÙ[Ø}ÿ\81\85p;\1d+9\17®Ê;OãÛæq\1dÿ\95\ 4bo+Q\15\ 3\8b]ærZKí:Þ_(Âÿ\ eËÜ\9bÜÙ⢶m2p\9b\9e>:\10Ã6yLîv?öc\17xüÉl\84Ï#   \16b~¬\9foKK¶òâj;\19\-®ßQ¢NO·ïñ\1ci9rëµ\9d²\9b      oS¶é¨'Y\9dák¼å\90lèuú\8c_ÖØ\95\ 6\93\v\96ï=O+ñú\99W\93õ襺La\r+\95ÕÀPϼø\võ:=å\\86Ýû\1ajoiûB¾¿ÌtÒ\9e\87\r\94ÍÀåX)&ñËà76|f\15P3X-\96÷ëã*'Ií|\18\WÝ(ÅÒÕô\98\16ÅQ^\a1G[íòw«µ¥ú\9d+\1dµ\9eaY4ðßk¯¦\17·aUìè!6ºÎNQYW\9bF«MâºáWaä#\17h¨ò9\r\14U/\98¬¿NØ\9d\9eÑ~\8e/Ê×ô:¬ÆÉãèx&gÄ\95®Ðñrl§ s¼\8d¥\ 6\95³É:\1fkWϯð»&{
+_zÕëa´³z'\aèó¾\9eã\1d@vßÂùiꥡ\7f\a²j1YHþ³ã!\8e½­÷ÉÖ½de_ ôHöû[Þ7t¿U\1e\fâ\7fÛ}%ë[ö|±[\9cjï7\9bïú\1e\ 4\a\91\9f}+²«¿ð­_xL|ßzs)Ë\9a­\98}L×y¸\90k½f¿aªñ¸þÇ        d«éiä1þ¯\10\8c\169÷i%o/,úg\14\19'\eÑ>\8dé<'}EqÜý\92\98\8b\1f'cè\àJzÂá ñ\1emèí\86§Å\8bø_á1\97´Ñ~7K+\92£\8f\80\92Õq6\e\r\85ì»ÓI­ß[\9b¯¡ËÔþÊ\\8d\11\97³/%\15½§°Ðt±\153Ýâÿ\19Wl²SKßûïÄíoIöWQëñWÌûj^\17ÇöDí¹>\96;âÍMá_\93zýî\e°õüý¢ÿ\12ýªù:>\16;¦ü]NËeènâxqºEºÎ\17~ûmÚ¿\19Wy\91§z_ÓÜá<}sM^§3¤Êj³Z\aå\1f\86\ekØò°Õñ¾~Îo'zï ~çãv\80{~Såïq\æ\7flRêâá§us\1d~\8dùVÂðB­ÇµÀ§Ó|\9dc\ f"u×?ܵiã¿<iësyìÇy\8e\8eÛfw²¿Fzû\86\7fü¥9¾\13y%Ýð­î×Þèø¹¿\86.ª§u\8eÛ6ö^/¤è5^\8ay\v\1a\1dÆþ³\83\9aéw+       \93\96\9eÃë`oq\9ed\fÆs+Í\93²¿\13û\ eq0]¿\12%ÎÚ+\89\95\8föë     úðEt¯ßÑÕ²Ù'\87\93Û¯{ë 
+륾*\1fW\91±e`û\87Ýi¸ËïP     ²[Ï\e\1f\80ù{(½o{\98Ã>ê¯PÐ\ 5Öv|\8e\8f#_m\1då#.Mü\9bÛç\90×Âk\98g¸¶]¬ÂÏ_±7ò»ÞoËËò=:ftpP\19í¹\8a\97\ 6\ 6&þ_qEØZ^ùt±U+ðTÝw\81[²¿\98\19\1aÛúv\1c\86\13ã÷\97kk·;,\1c\8fqg\7fQ«úøXÿ\85¬\94u6GâÁÛ4c\96À\13ó{Þ2ß\ 3×ÏEÓºÙhã±Ü½\16\0¨W\8f[\85     \eì¾ù½Ê\1ayÀ&O\8cÒùïtÓ\87y\9a\1c\8f\93o\83Ðð0\ 5¼ý-ý#6\rbü¿Ù\9cÎëöTÊ0\ 6^L³\81'µð^4\ fv\h½7»$ˬØlö0$õ\90\1dgª³5¬\8dÓ(ÇÎëëñ¥A\13Ó\9d\7fòö\9b\v\f^_\82g\ f\v\ 5\ 4V'\13µ_º°ö\1fw/h2\89pI°²Ù¹\1efZÑ\95FçÀælú½\14\14\196Ò^¿]9³îÚøý\8d\8esµõø½ô\19K=Ý×[\85¯Þ¯°ËÍùP\8b¾\bX4ÝÕ\1fUô«ÞH´ñÎ\95èsü\ e5t\19rúï\ 6h\9d>þ/Ë\8dÀd7=ÛL\9e\b\99Ú¿j¿Òöwñº}ÿßôEúþF¯ª'\88÷/¬Ë×cZìÕý\94:²!\97àÉwà\85Þ2Èw\8c°\1dã0§xËYÿ­\96#Úíe5<¿#ákGÛR˽{\9d\ f\97ÿ>\ 2ßXA\ fò\ 4M\91\92\1fYöh}¶\91vß[\1fû0>Û¬Ú\1eZ\88N\ fÛw
+\16ûÆ\11méþþÛ¾\89æ>*øA\17²¯\19kÃH#&gÿº²ëJ¸ê\1cf\13\7foV^TÏýõeúò\90\1f­+øõeá\7f»·\ eµ\1eÛúßçÛ\87\83\ f\aû{pÿ¥\8aÉ¡a\83?S@q'x$!b\92\879\8c,ç/í\84÷\9aÓ¡Ð\87÷\1eö\91ÏÎ/\8cÜpt\±»2Na\1e°¼aô\9cNn&ý@ÎФ:O\81eFÞ\18ìW\85\e\13\8ayç       ×-L*\0XüÄ^z^+\8fo¨wgÙ&è\95\8a\81pµÂ
\ eÇÓB\92\85\84îÕ!;Å\8c1\9dÔ$¬Ú}\12³H4P/¦6ûÄ]Sç±Xl0ú\w4\9b\17æîAÁÚ}\888g<´\vŶ\93\17\1d+[ò\ e\16\ 5´ÿß\8a\97\10l'eæÕ\91ñ\\9a6~\927\10\1cá@xbPé_\1duÒ¾ÍßÄï\11»°\1f\11w\19Ò¤ÊÆøn^YO¸¬[åÁ\9f\8a\14\9f\8dã\9c{\8cÅfÖ½\1fÛ¥\13Np\99\v1¿ê9iÿÚÞ\83¿¹¸íÑé®;t~*\1dº?Ómÿêl9Â\87\e\8f±ãó'ZpÌ\8c¤ÛE¯´Ìtk/%#ÿ®óâðT×\9f-ï|F(\8c\8b½ñòäåO\97GÁ!\89\13§§2|¾}ðåÝ\17\91_yȯÝåT-²Á\11m®Á~éwô\163s\8eûlù<\17ÿ%ÏýÕt\9cõèù\16Ñí³\8a­§ÿ\15]'+\82¸«rÞ?ß.|\1e\bu\81ÿüåÏ\9a½ ?\9e½\7f\1aºLTú²×óðhýÿU]&.Û\18ª\ fT~ÿ\84¹â¥lyPHxXü¨/Ö®\93Â\v'\83Faø?ðUÒhè­j?\7fÊÖ¤î\1f\12ý#Ó·AR!é+!\89z\1d\87ßZuÏC°eÇçô/\84]ØÚÙÎZ¾Zb\11ëäÁ\1f\1e\ 1\v\ 6`f~ ùLö\10\ 3ðbÑ\94»¨ß\81¸$R©\8b¯ÞÝñ\ 5>ÁÕÇ:\84)\90a`3È`(RÀvÃÀ   Ê\ f\12¼5cU\1c÷
+\82«\10Tn^ût{\14bÀdÇ\80\13\91¨%U!\8e×%\8e\13òâ~:\15\ 5}d\15ã\13 ¬:
+èPUj
\90\15{AXô\15úM\1a²h+X\82²¨+\9fAYt\15\94AY\84\15Å\8d]E\8a\92qã§PWtXñÓÉcµ(`(\1dà\1eu\ 2íh7 Ô\10\8d\8bî\96'n\8fEó æ\8aý"³\13¸\ 1ÚÔ`¬J;å\80\1d\81\8a\9a~rÿÝ_\9d÷\11\84ü\1foó÷V\vÓ\ 4:i\80ͬ\ 5Ó\97\9eòªü7Qͺ\ fåz3óÄoóÜ\ 6è:Þ­ó\10\92§¤*\7f¤o½\ e0õÅc#FxP\bNu\1e|ç\Ø\91Sÿúq䢧tgE\a î]æ\ 4êtæ!%ø(;~¢ó\9eVÐVÂ\vx\88\8e\eÞ\8fÃ%\1aq\vð\1d8\84\99\a\7fï&sZ|Fò\88­\a@Åæ9eÏ\ 4\FýïO9n\83Íû&\8dK'£\1c.\85\9b\v"ïÃ\rÌýBÇôFæå;v§î-B\93Qpæ\96»vºl­ß9¯\b:-zkò\0+\14\0[{è\0¾®\9dØ\v©\11¥\1e~qE\8aQB\16%\94f      \18¡\a0Qæ&ò(oÓ¼5»°´´\v)E\7fÖ^²w\1aÚáѳ8vw#HTF\8eÞ\f\86\ eÜ\9b\1f9XÀ\878³{Ó¡i\1ffL¬¸×ñëwÈ­:zéè\18 ç=kPµ 7(9ôb³þ¾é\e
+s¸±\82ñ9Äëq»ùÉ\91\91ve¡Ivèî»Öh÷òsªIÛ\ 3\87\16\13Z\8eÌ\91÷\ eãÀ\96\93ü\9cö\e\88±ðZNs\f'ùÙìBFéÄñ°    Äsß
+\99\9f\1d\86³h½1nØ\8d\89y¡Rã¥d\96ãxóçåyDOc\98_F÷\94ìF\19\15¯\v¼Ú\9f2å¥éJ\16jR*Ìú2ú.ú¶Eá\e>?y«\7f¸Ö¼ÿã\a7\91B\9dópq³Ù¹¢&ÙÏã½!5\87\13\99\19üvØh\rÜ&\84B§êùÑw\99\9f\ 5bòmÌòÞGQ?BZÂðLÒ\9e\98¼sN    \93Ç£&*p9c\833ǦÜÏ\ 4Y9\93cNYäV¢\18âø7º(n\99ãËQË\94\83×Fµ\17\18\ eàÞs\85«8\ eé§;ÌXÝQ%«6£\96·\82\8aÓd¡Ý«@      Ë\9b\14\94bçZ>IÎüV!çbè\87v}ê\8b¥ì\ eöz\ e¨\9f%\9b\93\87`ظ)83ÿm\ f\81M¾"ð{\8bÇ-\16λS.lÓ\1d\92\ e\8bßf¡+\ 6Ã\89\ eþ\84\80ÒcÏGc²\83ò\15soâñûßÒµ­Ç\1e±øqxñÃÙ\11Gäý\19#d\acr¢ÇQUÏc£_ï-I²¤\84¬ð¥\1f\ 1úNö=ô\ 56½£å¸«\ 5½ÙÜ\13/\8fè5d,ÜY³Æ\1f\94xy\11XÀàµ\13\85²c\8aõ#\Ã,fã\8c;\14f9ǵ¦)t9w©É1øu\96¤Îs\8e±¬«Cù\97ÝÊ9É\9bqg<o\95¦_Ô¾. ~%\94þí1ÇÊ\9cΠøjfÀó>õøv½#À2\84ô       \11£v\93\96/Þo\86å\ eïo\8c§þóf·Ö­îmz,n^\bÝÝ\19$,\99án\9bñ[¦µ\87ÀãÏ\81ç\f´\1dª\878vî§v\18§\94<\14H\8fYïI¢GÉóÃ\8fÀ\ 4\15¬\8dÞ\92\92(Ìkðô*)ëÇ¡\ 3å L?\ 4dæn0=+Ø\9f6¾O\869&°è?Ùb²ñL.í£\8fYvÙ2.\84Þ\1d\93\98ctÅC\97|\9cx\1f\91\939Ï[¦Æ\1d?¼<\95Í&sصz[¦Ú\8eË:\9c`]^б
+J\14^$Ä\1e\e½ð¢y3áŰøÉ·¡x¡âÏ"7Ó<ëX\96\1adl\96{/»¾\1f°ìc\99\18RØCÞ¦ÞÄð¥OïOÓ\bÔD-ïµ\8d+_û\9cÌÎLÂ\13'2\ 1\84\18É&\ 1:¢ \11"¤H\9dîa2'0\99\ 2 «\14\ 5\80$\ 4Dgd\90 \ f\92\ 4 É8ãÑUP\15A@\ 1T@\11!\ 1V@RE\ 5 
+\80\8f`\15Tä  ¯P\0G>ÿÿï¹ÌÉ\90\81ÔS«Ú¯mm}íjì.ÆÝ\97µuv\17WVûZºÕØÛv~ü\1c¿\80\97qvÞÞÝ\8d»[¾»Ë.\1d­²Ë$\91®,\14ßÉ_\10\93Æ     7ô\ fI}]æ\95ÏA\ 4â\8càûAÅ\19íîõóÖ\87\1aã¢\1f)µ.5ÇÄ\15]2n\ 2©\99\822ÿ¿×1x`
+#Ê0\ 5rø´­\88Ó!\89\84\9b0c±OÞØe\10hIé6\96æ\8d5b4Ûi\9a\9dë%:âl)v\9a\81VªùY\vü\9ap\10d'¢åJ\e\94¯|\e\94\87\9c¥_×ká\15Õ\i\18\16L\9fôì¶à\16\1f¯;\9bß|­pSÞïí\0\95¤\94l\9a\13\96p]ö¤­\8e\93\92¸O\11æ\19á\ 6Rã'@)m<gÙ\97\9a\1a
+Þ(Ûî\83\84\0I>\ e¾ê¨èbÇY;\bª¹i\89\86\fºP,uS\10\9c\986>øK÷E\84¼W$\1c¢ë(Kíb\ 1\87\84\bK÷\ÈKìb\8f\17\97)\×\91\97@@±µÏ\85À\8f5^¯\ 6z\99£û#HEO-«6f\16ê¨pY¥>SP\8bK\93\9aÌXs]Å\874ûë/
+Ü£Lݳ·\8cï\r\ 4Q\a\ 5óÄ\17Ú0\b\9eÉ\rS)\999\17;&\13¶¡\837\8c|Ýl\ 1\91\878GPïe\ 4G¨qAÜl \8e\9dÜ\8f\89iûä|\ep<;÷òt
+b\1d\94èEHÆC\90}ØÁ~\ f\96U\83Ú\1cõ\82H1uðqJ¦í Í.\ 5Y\9a\11/æWU7¶26ú©»bù²«ï\97¤ûϳ¤Ïäô\9fÚöôã\9a)Ò2S i­)\b\10â¼%\7f\8d\9aå¬\130ð!\8aÞ\ 4\ 2àF\9a\1c\13Y\8dÄ\10å©bãS\93±ð¥¶\ 1UÐ-\ fZ\15ð\8d¦ýt¼\e42« ·$9·Ö>_r!ݦÎ\86\14Ѿ\ 2½Èáï{\88<ã¹AÏ»^²\15j+{ô*ÔVáf\87û\ 6<5l\9aqP¿\85\93NU[&\9fðgþû&\9fçG\ eZHz]½<Ц\93\81=\984ch õ´µ\8ayÁ¯ûNT\rCN\14 j\eìÅ,¼»z^2\9d¿'\9a\9cW\9aoKa\98dàal'ë\926\8af\8dév*\ 4Î6ÿUS\94u\ei\97\v÷\rè\1eÜæ÷\93<\95èÃùZêè:{ÈÚæ¶èÑZÂ\84\9f\1c|ª4A\81ïÐã¢ÎF\88.(©ã Ê\0\94\14&{â¦êÐí=â:9KZU;µÉHÕ£C¸\10o³p\vJ4õ¹Õ%\99\aQÞyæYÊ9çë,øZî\1dtöiËA8gùEæp-\1a\92\96\81\92¶"èó$ÈÏ\95Oå.\95Ì@âþ¸8y+C®\88AB\17¾ºHèêÒyÕ¼(2Mj\15\98¾R$g\18ø%\9cc:\vL\94í´\8fv\8d\14Q7ô£\9e\87Q®¥½=£¼\9f\8eò¸U\8e¤u\fi]ÐÈQÞ×\17FíG{<º=5\1c\18\f\88\ 4àQJ¦¹\85+\94ä  Ê\13êì\f\ 3\94új5Äé'µnäj'2!ÂPë\18:{QC»Gëâ«ð2qû2qáÆÞÇÛBqn:\1dc§ºÄu\15dlRÚ)Cº'\19B\1cÕ\86¸0v\1aäc\ 5ª\fÙ_ÎJ\87zFÒ¬\1cl-¶uA¹#D\8eO|2`6.º-\85\ eí|í\9csþB¬2\84u`\19\9aä}tre\ 2H+ÛIå\0\11£M\r8\81\9dP¡,\1c\15Å\ 5£Îûí¡\10\1d\9d\83;\16v\1dj·ùÎNÜ|N°Çwá\98\9d\rÒ[\8e\86>,è9«4àÇeíK\82Ï¿\1c}¤ó­+\\8dù*[;å\17.`þr\bîrm­bªZ©è®\ 5\1e]÷>³\ e¸,ÿñÜ­\7f­Hsþµ'Oüª{\7f18\13'«û£ßc^sä×Ç®å§L|Ôêo\88¼ã\9e¯}ǰü¸ð©ß~ϯüxþ      \19¾\eö~   ÿ/ÕrÔ\b>W?\84\f¸\83øôºÿÆ\96ý^|+Ãû?­Asý8þm5\9dc\83аåófÀ,ó\92­86\ezÃmë\1cY 1MáÕÛ¯\81ÙT\ föö\18æÞ\91m¿òs/ñþ{\86ÅáÎ\88\88>"!tDBø\88\86\11\11\bDD=\99\9bÁ\9dÒ\1cm¬cPÚÛ­\ f\8c[íªÜ^&hv­­P6½¤î\fÛXÖ\81µ\8dh\83kSÙɧûR2äÚ\91\97Ãá¦ì¸²mf»y¾_\17dôók·Í/×\ 3­
+÷íù´9×\vl9ÓVès¡­ðã\87\91æü\96\v\83\ f\e\92I\82ã\9eÃ\9daÿÁ\89\87>\1a(\9fñpç¸\8c\87>:'\9f\15Ï\9f\9c\8bçÏÌFsçðbnÄß\93þ.ìMýØö\917£Ï\8a½\1fi\8b½\13\7fz&ÿ®&ü\9fñ}q7ýq5ðä×'ü^\1c\9aørkãI®Oø¼i5ñ§¶\89î\8f¶EwGù\11}ÑçÆwDßødß\93þ/Ã&ÿÃ&¾\80\9aäÿ\8bÐ\13_@Mzbk\93þ.\98\9aôÇÜ¢v§æb¶§ÃÅíOo\19µ&ÿxMù?â÷\84ßï\ f\8c\89\87\Ò*\1du¶.\1d\90ãÞëÛ°[í\99>ÃþY³\ 5Ô\13D\85oöëN¨cz<í$\91ö¹ß<égn:¾¦û~\95¹I_¯-\89ùj\97µ
+¯/{\7f\17\19ä/ Ñß\85ñüÚÉ\9fc_¨å¨~V?²´\aæÿ×ËÃ\ f/\99Åtnöú8ûç\9dæsÞ®wͨá\9dÉ\82ý\97+\97ú¿Õ_ì²\7fO\12f"$Þ4Ä\9bÅ\88\95öIþ¹\1a»ã\98\1cÙ¤e\16\r<i¾úáû\·YÎ\eîþ?pïû\f3²XÙgWå`$ÊÐ\í\1c¯l\19Ljk`A>M|\1aÛ'§4±ß\9dº.ÿ    ©­Â\8eáNN¿\12\a>ró oÞ°9m@f\1e\9d¶ä³ü\e\1e~ýp»!þï÷Ê2\11ç\97\1d(\1cttqÑ!ÇAØ\9báqpÒb|0\ f\84\ 3â\b¸èPã\9fðañg\ f\88@øD>!\83âÐ\1f\1cà|D\aÄP|F\aÃ0ø\8b\ f\87¯\94\1f§«Èþ'äc\8d\82¹\1d\83Üü)û\1dþÎ\eËfvë.¿¢îâ7\~ÍMÅÕÖk!\8a¼V{­>,\96'§òº<&ÖWÒñ.}¯\ f}9¬ïXê°8\ f\86FSÓÜ/ä\w\17þ\8eÕäùû]'AãºÐ~ùËþ\96e¶¯\0ö\1aR\13¯ú¥<,ó\ fG\ 3ì`a¬­¥5¾Uç-ïÛä/~\17\1f\1f[YAÕbl¬´÷\1eÛ%½ø½¥×ÜÇ¡´Ë`uu\98Õ\94W¾JyG\93ÆÝ?\85ÌûC¼ÇZë\8b\865~9s|eÍ¡\976¦\\9fí\1a49é?Ú='Ù?Ú4zw\ 4\9fí  çøz\ 6\9fAqËñ¿\86½Æ¦C\eåâ?v§§Ì'¦Èjð~ä6g\ 4^\97ýuqQÑþ\84\87aóçùÎÏ®òå¿eÒ\93WèÍÞs=m>\82/éÙq¸\fe>_\86r^õÝdu\91¼oS¢ë8Îîx[\85u¾SG\94ÙLÝ#s¾þOäì¿]¶ÕÖ»Õã½\1foÔG\1d¾òçü<\16Vs&ãÊ\92{\8b´v\1eíöë\8aé\9cÌä;\eÕ\f·læ×\8b­ÔQg©½þ§\17Óº \9bb}o}Õ`»Ì­ËsôÝx.ûÎÕîß\ 5i\92¬Öcgd*»GÖlÿÿàæ\7föÁàÇêg\7f­'Îý\\1e@~¦x\ 5ûàk~êþ@¯·àè\19h[hd42Ú\1fSEþ\86þàqÍo§a\8eí\86Ã\976v0o¥!0\9dÉ5{Bk\86Ô㬭½7¼{\16þ\8a'q3¨ý\96\1c~þÑú»u¬8èÿ²Ã\8f¤ÿ½\9e\f¶ipýêÙÿK<z?ág\8f       Ðág\8f¨\83ü,ñà\rë¶fG\1f7ß6Ã~\18\19üÄ)°.ø_ºÃ~\13k3p¯¾ù¸\18¿Ü\ 1-ÐÔ´\15µHð\ 4Îæ·S2=k\0Ze\ e
+N\ f\93ü×Å\94û\16T:Ö\80»±Ù¹\81\16§ª
\86ºô¹\9d'd\82O1m5>X¡\95\8c\86\ 1\b\85\98Ù»\ 6\9b½æ\ 65@^\b\ 1a;NþÉZBD:Û9@S4\97ä\1a\e\1a\13û\80K;èJ\11\82]\87|\15^\8eä~)í6¥éWk\86Äl×\91§Qyxf\83Ã{CTe]q{` {¿\vÍÄ*×t\9eÙ\1an2\91\16n`{\9fÑU\1d9;5Ù¤\99\19Ùö\ 2!#T´SÁ\v \9av\90n\ 4*¼ñ\99>\wìBó;&Ïn4ºE´\92©\8f\f   @Y\ 5\ 2ëêFâs³Å¥I4ÈWnk¸dÈY\ 6_Å¥þw¤7)Û\83\ftv\9cÛ'iãí\8eÓ®p\98\8a\ 4vßg¼n\8e£\86\92:? \9d\93iR¼µ\90äh¤vÐ:M¼Í"öôµNi0 \80ÖÙé;V$ê\vK~\16ý\85¥Ø\f%ÛZ9 \10\88¼K2´¹nEl\8bOh\17¦þ/ä\84\80ÿ>¿O¡v\9e$\9du6н}»OÙ'^úeëß\8c\9d{õ/z\96\17bG\94EK\8aÕ¨Ð:ó°\1a¸\96ô\15HÒv«ÛÑä\17;'_Ì\8d5Vô\8e¦\f\19;5\11\18ú=Õ¼\86Ø\8a\e\86î0»}­\97kl\14·\7fD'cþ//\7f\82ævÄ\98Ú×ÕyB½\11\9eh¯*/@W\9a
+\86¾[Ív<\8fíì>SÍ\8a
+-oö~Ç\9dï\10û^u\7f5ç]±þO;ѱü^w)ôÿD-Ûû\9e\7fÏaö¼û\ fìyù\88/­çý>?ü\9e\7fïôï\82¿íyÔ9¯;ç!ü\9ew¿Cñyß\8f\8dý½®\18\89êIÝݧ\84\8f\96l\8f?\8f¸\ 5L2`,àD©nû;6ù©\f°R\87y\91'YÄ\93±i`\92¤È/a\12î\93\vgsIÚÚ\ÑÎC\91ã\93\82\10o\9d\r\83\0¬i\82åv\b.*q¼oÓÅò¼MÜ!ø\ 5=­Néw.\1f(Êr\82\9aæë¬î^8`\b\ fÀ"E\13ëÔÕñlA\ 4·ëA{æRëÌe\19@e\17¿e&lYM\86Ãa2æ\ 5|\ 4r¢M\9b®\v\84i¶Î\9e:\vFM|+·\8dÁ\15\88\96`\ 2\97àÈ6ß\8d¾\0\17aO\19Q>?Þ8¤\10ûa\11\ 2\84"ë¤\9fN¨1ßÑU£\94Ë\9bï$?s¸²\7fà    þ\91?úR\7fÛ¤jà\ 4J´F°\9fK\80@{Â$/uøÅµ\81\r\93¯Ã­­P\16RYuµ¶à,\90º[Z\b5®ëks¤õ\88\0ÐÃk$Gׯ\89[[\aÅ(\90Fmnû\88¨\13\90þÕ\97m\0º¼C2\r©ÜÉ"s\ 1\1eLìâO\10ð\86à/}l6­ç\88_øB¹\8dÛ\14êK_A\80]\ 2Õ\9bÒ.\81\e\82%¡$Çn\92{\13\\ fW@·×,¶Gþkd9kYþ#ÿÛZÏ\9c?ó­g\9e=jÖy³Ö­gíÏå\\aÿ±`Ûæ,\88\7fn\ 2×ÿ\8dß6¦ý¢ã\9a_¡#¹K\14ÿ&¨l\1cÿ k\vzñé®·ÌßÕ\89kÛt\1c]7ÿ¨\11â\ 6îß\85\19ösGN\9d\7f;\ 63îÕ¥o²¾ËÏâØ·¨\84;\89¡\84û'ßû÷?Yã°»³Ù:Âë%9\15zë%9\9dzíæ\ eëóëíþä7¥\817\ 6Ê6\13ÿT\0l_Uºq\18þ\98i\'øP\ 1é\rÜõ\f\7f
+\0>à;®\f¸i[h?º\80\f2íÜÜ\19n=y¸?Ç\r\9b\r+³ýô\0`5\14\0\bÖ(ÛÚ\99#\Lñ\84\87¿\8aÈq1\99\81\90æM\fAm:2ÒëZ=±\ 6_¨Zê\ 6h#0Â\8cÆÕ.à"s#\rtIQ×Ò@\ 3\9dÊ\vÇ\8aÈ¡æúhg\ 6xË=8Lo\96\9a×!\93d[\13rOÀ 9¡_\8a&\1d¼\v5B\1fµ\91®\ 4\1a¯U\8c\v½Ê4\83\89¡Þ:\81FϨ\8bw\13C®d¨'ºÕê¢"ªht\f\8a\ 2\e\ e\14´®\14«ô\965\96bѵ\8bd8V¬a{Z]\8aØR¸q[%dNÑ¡í\ax>\fùé\8c¾ôÐ\14E\99Õ\ 2²<\92w¬@\11?+\8eU|ùCBÄ£:È      \a \ 2,=Ëb\r\1aÕÀÂsË\81\¹&i'J¼:Ç8y%Ç\99sI\81\8d\ 4~B7¨VÕ$å\1anëà\19\1eíksb:\8a\80\98\ 13×àCÇ:BtUNí\80ôiz%}JYq²Á\80\1c\99d\rM\ 2\ 2z\8cÇe­\f*\82\0ÀgT9ÓÉn6öT\15h{PE²q|£dßvk&ûÆ¿PËà\84b¥á\80¤FÎÉÅù"\8d\92µÚ\fÞd¦\92_±R0»Û\997¹@Þ¿²\80ê>àN\98(\80Å\8b\v'úSE²\81ÑTNû)·\1f¿XP\8a\9e®{Òr\9bv\14ñ¢%\96ÕÎhÜSõ.$¥\93µ\1eç§\83\11\97\1d\816Ó|\ 2jÏwéÞcKcõ\9d£ÉH\13\86¿ÏPGÔWå_/ å\ 3\93ÈÕ¡¸'_¸ª\92\16\\8f\eÓ\ f\1e%^JUʼ\ 1¶6r¬=(\f\9dÕ\97@¤]û\ 2\89ª¦ôq\1a? ³As\b\16à\18\b·ï!\84\ f5±Ö\ 1².¸Øn\98\81\8f\91Ê\91ÐÅ^èÌ¿O\8f\94t3÷\ 3\86å\88Ý\ 3\0ÚárÄ(KÜ\ 348â\94A\ 1Ð\8d6\ eÊ4^b£[§(\81D\fD|\1a\8a\9aèG/\18\ 5¨\v\8eÀ\ 2\18\10[i¡ò0\10\ 3\ 31ázZVn^Ñ\83æ°¤\16ç¸eüôGw\87\92Ðo\12\ 6?Ì`[uz@\0ò\80×\80R\f×\1d`\ 5\83\89Â`\b\ 5nìà\ 6á«T¿+\87\80ê\8c\8c\vHzA@*\9f² {\96#W=|LÌ\8f³<ÐmyðitóM¦Ø$¾^à°ÚZH"\8a\80\90\12¨\9b\1d4WAªnÈ!\87°ß\18pß}°\98(æ¸gr¤\97\8e\ 1/\82ì+÷yaI»\1aá\9bi0Õp¯\13>\ 2=ÓåèBhR\16I\1f«\19ûßá¶\9b\95Q¡u7åuÌZû\18b£¬!\8a\90X\159\bbº!Ä\rYü'ØÃ\14\994\ 3\7f«\8eT\ 1üy)í¤\9eÐ×¾+\a\82(\14t\87 Ö¶l@˶Ú\16
+\97bC\14<f§Òõë\8a¥ø<,æ\10 \ f#Ʋ¢\rÝ¥l6»?@Wõ"\81\81­\r\10ã#\ e\9a\0*ûe2È0ú×\8aµïæZ\rÆßó´iÿÃ\ f[\7fi»ú?\1cc\ f\fô \8f\ 2\e\ fîÆ0òO¦\7f÷/¦\7fä\ fæ_GÜ\1d\85\1cv¶ôv(îÜì!Ø2}õ¤ù        Zx2kâ\8d+=eѼVÖ´NiÒB\9cÓM   Ë\9a7\v\ 4t/Ih:\17f[6JÈ&ÿÛ\87AÙW\11Ç\¼jú;\96Ò\e3k.¿íS\11Gòü;HoFÜYZ¶Z÷\88¼Îã_'«½ÑHüR\19\1dÅÎåe,ëwrì­\14\xG9çr¹\8e\96\95ä\87üÕ¤ÿ\1d\1anÛæ¾fsÞÄ\17Ó\r´Äÿæf\1a¾\ 1ßÎ\8f\813\ eË\ e\ 5KDżµ\98î$\85\9bì\99\7f\86Â9Ä]Âeÿ=ú§4\95r\rå(ñ¸:­&'Í\93]d­²¯]ª\8aºÈn¯°÷Ê]ó\88î³{¿©^H$}V_ý&;è\ 1+S5\86³ÅCüäÇ}C/ï&;ól¿ë3½Y\97ø£\13\f?\ 2c¼1ËFÌM}ãc÷L¿\víÈE\8dº7ß6eø!}\0LuÌ\eï\9aLwÚ\fàm\8d÷ù_\96æUÅ×Û\94\10\8b\97×\13ÿ¦V`×b\80\ 2X7³Ü¼¼É-.¹Ñ6\86\ 4\ 1p1²ÎJ\b\0u\ 1\8cQ\97\16\96\v\ f\1f¸0\90D\85\99\ 2\86ºHÓkE(h«Ia\84$\9a\r\81\rÈzÐo7®^J0\ e\19^gbÀ%å­É.W\92nq\82ZFø\aÄ\96\e\98Öâ\94K8Ô²`úìóâ°\1eÁ0\8fþPY¸\ 1\10S`\8eõ%\v\89:bp 1\12\10
+{sÉ\eͼ6@\8d j©î:õÊpW\18\10\84\18\82l\9bÃc4lR¤\8aá¯Tl¶|M\ 1üäÙÓÆ\14O.v\9a\11#+ \ 2ÀÔöÎ\ 4\b\19\8a®^\0¥\1eà&þ³Ñ\13MBã \8dvKË2ëf\12\a×\9a¶Õ²ÄÅ:\1aQ\ 1¢vsÂ!¶s¶\13$Á!\14}x\9d#£5¢^i\94jô¿¼TbÍ4\133K-\1d_|§µìÏ9Fe¥6Õ7¼¢\1dÊÛÈb]\99G\809¸Z|®\r\90\\9b$vé#%·F\9a­OPjÁ\90n¼Ô\98Õqû0\95{I\15\0\1eïe4í4=%Ï\92\13¥B(tÐá®Tc\1d\19b) (l\f\9b.\10\12ë\13ÒAZV¹ó«\80_\1e¸Ô¼^¸º>\180r\ 6ÃXÂÖ\91sçGÃ.UÑÆJ\ 3áDÝKÑe(¹\ e\ 2©\ e¨ÐM;x\80£\8fO\19î\ f\7f2\ 4\8f\8e2l\10¼\17y[c¼zP½j8»ÎöÇyþ"ï8åÈ\8dû;\1dç õ\89´\88ã`íe\16Wj\90ï\ f\8a\ 4ñ\83\87\87\8c\ 1q{\0k\f\8c\9fuÈ0\95À\17Ç0Â÷µ@õJ2\0Ë[r$@r\1eØ¥\81¡\8eW\14Q´ki/CÜO-\0\95$UÔ0u\8c²G¾\ 1\ 3\7fÒ\ 1\97\93Æÿ¡ö\r\97ó>Á²ø\1f~\r\96\18¿|Ü\17-\ e/úþß®øëXØØ\19f\9f\ 4\f¸Ó\9bîÊIý\94töQíY,SöQôÿî\97Ü-w\80\9b_Íh'ô\1fe0\9fl2ÐgI\14/hM2ÙsN:Ë\16\1cžëd\7f\12¯d\7f2JzîËÈÐ\f\94û+IÇçL\1e\16`=\91ÿüÁòóaFO\ e_y¾\e\83åì\8fþôÙ\7fb\7fý\1c½Y(ýý1{\9f7Mø`ùz{\9955EMßæ5_t\94z\8f\9bW>ûæÉGÅ\11×÷^±ã\83ù\87ßóÁòæ\bàmÍ÷ÍÁòÀ¢W\a+Wïò\92Þæ\96¦ë³p5Öî)j\1cV)\1a}Ö°o×Ü\10#ï(7y\1aõô\1e½\ 5-I\80\9f½+\951Øó\8eЮ\9ea\eǯ]\bÂ7\87\bº\96­M;ׯt®ik\14ýØû\váZÁ)¬ÒT3\r\0&äe\1f¿RíÐ\17\r\12\8e\ 1{#\84¢\9d\90Äç\92©<ç\98!\bR[ØPg\ 5òL\9b \90\9bÖ+%\e\ 4M\83\97\92l@\e\97Ò\9e\11\1c/\11ðß×q§=ì´»´â¾\ 28\f\9a4ÖrD×Y¨X\réÚ)#>¨$D\1d\0¦êè1>ø&à£\94ý\9d\1a¸C\8d\16á\1c¦¬­ÿÆF1Ù°Aò5{]9ð0éhGÃ\ 1Ö!\92\9b{yeEG:\91ÜOc\r\82ë#ªÝAÎE)àÛ\95°\1a\81@^yÊq;aIk\8dÁ2\9b`\ 1#°q\93lt¬\14\88\10»õ\f9\eêp\92\f÷,        \18¢\97¨Ez·EØ«£ÎÄ\9b­ë²\ 4\14\95Äôr\9fA@ß9ÖÔ\1fÕÜ\9e\ 2䤣AÈ=ÐF\88+öè1Ç\9e\8d\11E\95¥w3¨)r\8c(ù?ê\11ÕÓ
+ãÏaíú8\ 3­\10ÁFu&\ 4hK\82\87Êq\14³¢]\0¢ \92v`\891ÚØ3\1db\9eÔ GÒPD\1dÆKà\v\87\8b\84u_\ 4\1cܰ}2\9bBN\8bq<ä\9dÙr#\8d×È©yW·$ò\9f
+HÉÎ\93¶ê°E\17À\ 4\8e\0¨ÇÜÁ\vÛVéÕïê1|pïá\12XSçk§J\96ÂM,\ f\v\b·\16\14ÃÓé \87 8z\v§\92\96ÊCѦC\8b§    \8fN\18\ 13\9a¦_\9e6\1fb¥ó\ 4¨0¶äte8*aÅ#?kæéÕàán\8aèÜ0@\97Ï7»Õ\0o`\e\ e\1c\90\1f\ 1ç\ f\94Ø\10(\7f¼1\16\16Ðoé\93À\r\aÒRzò\À¦ñ\1a(â8
+\9b\12á&\18¯N\a\8f\99ÿ\8f25]ÃE|yÓ\1e¨*¶\87GéØ=Ã\93Re\8b¹ÎK·\90¼l½#ÎG)¶<»6HäÁ8,S\8f\18,\8a9O<²b3\84õYNÀIº$7\84äiòÕ\8bÕñÿ\86HDTö\vÈOnk²K1T \94\80)¤U\8a(^¼Í b\91\16)\9f\81é\aN!à\8fÓ«\82£,\aÄN\b¸QÒ{\92\80Øfò§ªØe[\18^b-3ªuou¡N´\ 3ÿþ\90¥\16ô\81\82jy\92t\8c*uu5Í&dv(å;á\15·ø\90ó½8$²Ô<Fs±Äùm;Ð\82vk;\bO\973°Dùìç£8Ncz\86\bÑiÊ  §u\f\8a\10\84W±ÒÁ)߯\17-\8f\0C\9a\94ú2û]Jà4Gdáq4|\91Ñ^\1c>l¤ÔÖp¢\98À¤¢\8d¨Ê\95\98©Û\91\8bÉqà   
+\9e\f\96\e»ôO9\\1ev³I\ 1÷\v\84ï\ e\ 1$YÉ\ 2â!a\99Ô\84в8\ 6K\8e\12Ë\91Éû\ 5\aÛÛi\ 3ÄþÐ\8d&O\8c\12\7f²À\17\0».^\9aè\ 4\12\ 1ËÔ¥^\ 6Nf®^\92Nr\84\9càåç\813ßV\1d\11\ 3/uúòö¾N^Ìã]$ÈçÕ~&¨\ 3îãm\8bË\ 1\90eÙ¦\11UÏz\1Ø8nü¹x çÒÈå(\95Ëê¬rùãCí3«\1fQ/º_·/ª\9ft\ 4:+eê°\86&ÂÃ\9aè\87\9a#\17&ñÀ\ 51Ö}(O
+\0K^|*bá        ¾.^Ô\ 2ñ\83ÙlBÙ{Kñ\17\rJ^¼E)ÍÉ8Å3墵ú |\ 6\92Ä\8fæ\ fPBîKÔ\ 1\7f\9dIîn\80©\16Ù¬tù\82r& ~\1e5ßhÏ4\1d¯òþwà\8bX\13èõ§\1c\18i¹Ê=ëÇÔ9b0\1a©ñ¨­p)éy5ê\9b\85s\88   y7]PúÃ\1e=.á¡qQe:\80\aæ=pÀZëºË\90\13ûka»f\ 6ÁKQß1l\ f\8a\ 5\88FíÙ\19\ f\94J£Ýê\8dDO¡CÞ§=b\8c\9fÝ­\1f\ eýO(=©Ôªú?9c4ÒÓ\9e\\vµWW{\96\83u\8f¬\95fp\97 àU
+½lð´\85Áî:¢3 4|=ËH+Ïw¥§ö\ 1\9bù\1c¬àÎÈéu[\93Up\13\9eé\8dÔi$\9c\8c\14/\94{ì«\81\1a8óËàü³\81
+,_6ää\<ê¾cN÷\ e(:Æ\83¸\8dÀ/F\88\13kriv\a#Eó\17K¯&\96ðçÍ·©©,5\85\8dH[\9cî\85få43Z\93Í\°È &Û\ e\ 6e\882O_Xl1\846ºâ\90»Ë\89÷·\v¼\81<è÷Ê\8a\13d\11ݲ'ÞàQ|\8dW^/\a)ç*\15Ì\ 2L\908\8c\a\8b\1cQ\82Ï¥Í\11é§zQÊ\16JÓ©\86\97*N\f±+\91P¢érÑ _@v1yÔp\80\84ü\9eö\920²°9Bð\ 47`îY?\0¾}ìi\8fZ±Lµfµ\ 5I\97ÌBF\15<¡3\ 2\17\ 5
+ÿD.\1abFk\17Æ\90
+ýFP¹"¹\ 2«_\fZ\1c\1ce1ê\83\9f\8c÷¾e\8c\96ÎäµUfò\80RºãÊ\v.\b5\98\ 3\82¡hlõH\1c­\80ü\ 5Ä@¬\13\ 1½òà?6°&\ 1 \10\15|ô~ξ\19ö\1dÇ_\ 6øc\96'B°\ 2\82úRè­\84\b´jã\85\10Í\bsÌl;ø<»§Ô\aºMs9þW\96×Cc\ 1R
+}\1dZ¾`O£\95ôÕ     \81\83\ 6ãÔ\1e©Z¬>\1fõyø\1e\ïÎT%¤\98[Ë(ç//kܼ¼Ù\9fùmë\17Ê\f$$÷ZO¬\1aùëé\19¶ÄfÌ\12\\ 5bÕï|ZÅr\8f1)\14\84Û\16°j\91&\84æ&\e\ 3\82    ;+!<ÅIά\13\98Õ%ú²Ø\0äC¯rw\93\ 3ASUò%í¼\1fV4K\17¿x¡æM 1É\85c\12\19¯@¯\94ÈØ8>!NEüÚ!/ü\9bÓWNH)ïßÇ\1a\17+­°Ì\ 3í\86\98¢Ø¤S`ZX\1eçF\17P' #÷é[q\r\14éb\9f\14X\9b²ïqþ`\89óªDE\r§p\ 4zt\ 2\92Ç
+\97Os\9dìRN·\85\80
+ÌV\92q\92¾`ú\9a§^HJÉ·=]¿#Ë.ÝÁvë\95Û³7\1fÐ\\85+`\0ªÒ§à`\92úÐ\rÊ'³ÀÖ\0IgãéÏ\ 1a<b¬z;\1eïNxÚ\80å\92RVì\17F©ëÂO"±\9eðû§Uå\9bÝ=¢\95\97\11ؼ}±ô˱í_l|Û\88%»æ+.a\94kt/¦\fD\7f¿-\89\bÃ:0Ý\0Å.OZ\98\7f\9e!-Í@\fLÕj\-%~7\88i¼ðê\16\ 3m\84ø\80J\84AKÓU©\97ì-\98èdG\8aâÇî+íä\8cJ\93ÊZ \14ö*yñccòÀ\87\ 4\ 1\16\81Y\r·4\81»Bßï\1cý\8bú46\f^\1c¬YÞñßäbã\80\9f×µ\88áGЭ\87Îô`+¯\93¢]§z\900?`\9b¦äið~QfZ[bJROé\8f\92À\90¹±fÃ\ f\84S\ 5bÍùÚoâÍ foÖ\11a\19\ eûìfË \8e{L¬\0Ï\19õYÇÐ\80\ e\14ô\8cJXkÈ@\19ÐÕL³Ã\ f,$i»ò\93ÛÎhîYò1Ó.i.Y±lë\94¾\\80\9cGéCÆùÛ2\8d\87By\88¨\ 2ÕìfS¼|~éDí¨²ÃÏÀÒ\96HàÉ9k²òGÔûÎ\84Ä~\88IEM\rn\94½b\10\96Sg\9fu\8b\94ðVÉ0\aÍrb\97hW\9f\8f̸ü\95<IÄ\93æ\16v5Å\ f\1e\16{±                ûRtô\18   j?¾ÐTûÆðÌã«\9e\16h\1f\90\eÝ÷\1c\9bßP\13à\ f\9cu8U3)\96'c×öªE\a Ñ C¢jÿYyס5Cäèɽ\95'?\83\ e\7fÍ\ e\7f÷\ 54\80\16\ 4jw¦â}ÈC(JѤî\8a\fùv\97\ei~Ò¾\93°nþ´è\90è\17Ó\Ü\96\1e\84¤\84° ón%cu\r´ê\vÇc¤\14Ò4£5^Þ{\17\1f³0WNòöË\\83roO\18\84ÃÚøÐ\7fý!ë\ 5Í\ 1*140°6!\11WU¤=Q¢Å\9c¯\91c\19#1³é­d\83M\v\89\ 2C*;y\85      Ñúüо.w>
+\ 5;\86\ 2\19æ\95òxº3ÕÌ\9d\852$(\\8eQ·K\802\v\19ûº3ßâøÍv9¢Ì\97\944*À%&O(¢R2pöæ\93¯\8e}\8a\81Ê\ 1\ 2\aß{£}-Ê\9eâ4ý¦\19\8cñº7Þ~Çæ\8f²²¸¯\80\ f;\ e\1e\8e     ÊàDØ54%\1c~­T=ÄlÑóÂá1ÏÜ& \19ÀO\9aÇ\13\8bË\16GóV\1a;   \7fãV)ß\a\eZSCâó\8f(\87<Õ?\1c\ÿ³Ï\v\9fÁ?súrpb }\rP\89q\16¼\f\fE¬bÇlý6x\96,\90Töå\8bA\9c\16t]_\9f#F¦&×`1\17-fmä\19B\vÚß\15\ e\8bjÔNø\I\82\8cTkWið]pê@C\19G+à\96Ñ#       \8d$s\9e\96pÔ'\1a ¾´)Ïa¬\ 27vº?\18Ó%\14ßµ(­¤\ fö\õ\15(%6\17à\9c\7f\8aa\ 4\17M®vø\16{}tõ¦T.Õ^à\Ôõ2¥\94\92\16ªO7D¬^*ô J^N¤\13\e)\1e
+9>Ô¢\1c\8bÍ\10É3é\85¸fÇ8®\1cä\ 1µ©]X\90dµì´G¾¸\98*\10\8b\ 2\95\80äÐ^âWÆíª\9b!\12ø\10·rº&¿*ü0[ÍØ\83x|e;\99S(X[e'$\84\9a\12\17h!'¦Åþ\1a\87\7f\86\9d\80vÚ¡g©µª3£¶\10õ¾Yújð\85ðY\10+_Èñ·lá\86\v\8d\8a\9dÜ9Æ\1e\13
+WàYbÓö
+S\b\85\12|\10R\93ݧÅ\95\v\9cÄ"îHCÙÇ<ðx      mÝI\1c\1aê\8f _" ¯÷ÐáV\e>\1aê<CÍE\97ü\a\14¯PÞ:­ë\8f y¼\ 3«\ 1'\95ä¬\12O'à\94Õ\88\99W¶tòN\b\aCàºN\14t°S\91(qÔ¶t\97ñ(7y\10|¸ê\ e*\13Íh2\a\88D~³-y-`\1f\95\94S+,Y]ôQ\83DµM[\1e!ß%ÀidÄ&ý\ 1K\98\ 4ÖI2v\9eD\9d¦     ¸(õÉ{S¬Â\1c´êMÞe^Ô\8c´\946}'\93sÉ<\97\82\18\86ï¯í       +õ¥Æ\9cº\99CtFîúnæ\17öR¶öZ[ïÔ\91\87Y\11\1c\15P@\93×\87    N^\12t2JM\17\96\1e:{F\8f\92à"9_\1d\1c\9dà<õ|\ f\bá   ÄÐ\8f\13ì\97\1aÐÆ-Ë\f~\ eÄuç\83\ 2\ exH\ 4\86N©:\81\14\96#ê+ùë\b'ÚÞ\fÂ\96Ï;\aýdöÈÁ/\7f±N\15\87\1dÇzíåËÈÌ\ 4\ 4¾/4dôÂ|·Ì¿j\18¤\1c}!\82°Y\1a¨\10QÍ ù6\8aI>\18Ú\7fÒV\bêÖ\ 5{ÙÂ=íÏ4lß\88¯{áÌ\16\bê\ 3\ 4´S\ 4\81aL µ|@hâ\96MLÞ\14*"
+a,a\1f\f6«Ù\88 ¼N~ \82eäK\0z9çAQÕθ ø2.(8èOA\87\90Hå9æ\ 6ÎZüS\ 5~µð\ 4_Ûh\b\89'½²\11mÒ¤ð\a\8f¯Ù\ 4\1dØçe£®¢Û/'\9d\92`6\15\ 6p¶\C~BLôh¸¥óz\7f4RZûC*nCva¿\88q\84\82Ço¨º§4#\b\8ew/\ 2r*|\0\1c\91ÊçÍ@jQ¨­    =       æ¶Q§    \\16\9e|ºÓ\8d\82\91#²VÙ4\18ßSy\fq:qÝ\83\0ñ­¨K\0xJå7\84r\97\1aL\88\90B»¢A)K\aAÅ`a\e\13\9fqn«qw«3\8eó\9c¡\eIÚòA!í×ì\16\11Á¡C\88\ 2\ eëÙ®Ù\8düµÜk!R|\14\84\95.³AÖtO]Y)Äv\X\1c\9a\8d\14ÖÞ\85>s\18[5êa¯Fs"\8b\12(u\9a\aÞ\96­ØrÞ9»\ eÞècÓ\8eÐ\ 4EÍz0q²v[òóÖá*\9f«¥<b\$|õernâèFcéÏ\96\83I%C_o\9fÂ}C\80\ 5zê:\8e\15\fü±îQsÃ\12\fy\ fc>YÖÀ>eâ\88óY<0\ e¶o0ðDôêgÂ\1a\ 6}ic~\ 1\86\90FzðÝ\eÇrÑ\9d¸GQò\aqÊð\eÝø\bÑ[Ëá¤\97\8c_\r'%\fà6sÊ9>(oG$\rn!\18\99\8c\15¡'®Ke½R£\8ab+У]\11½£\0\9a<\9e¹jüBÈ\r\97\7fë¼f\b]pìûù}Åõõôpê´8\18Öò«÷\ 4\86m\85\9ef\91\87^«<\15?"LË<\84\vâæ\8b<yÒ½\16µ'\9dRçT*.VÝ\1a¯\17ݬ5Ò\a\9eTdã\1dP×.#\8e¡â+ \ 5Ð\14\93\ 5áË%{°\ e\14\91¿½×\11Ýkñ¡\9d5ç¹n½\81ðl\9dyº:\8fd]{bÞï±\9d\aë¶g\8d'03Ųwd\ eç/Q\ ewù3I\b\12ÛÂ\81\1dÐϪ\116ç»2w\10dåQô\8d.\7f\8ebgH       \9aÒÁÛ\8c\8e\92#\94JLÈë'm\93.)\18d\1frÆp \16\90jC\16  Ù(îF®l\ 6\8cLvt;Z\13ö\ 6;5\98\80áØ\13u\e[æt³\ 5
+Åm\8b\ f²Y/W/b\9cïà\1f\bWù-ñrKÊé8ÿ\85F '».\82,UÖ\82\88\rJp\80C2CÌÎ\1eqæ§C\18&%Õz_{80LYü\v\18&\10Ög\ f0t`ñ\9e£Ã±\99\1df(\88\8c\9cÁI_q\1fW\11Êt\vc!É¡\94Î\1eúT
+p\9f)\1a\1a\ 5\17׺o1\vÀ\86AbÀähª
+\1d¬#\94\v\ 5\9b\8a\ eâ7¹&ÓÌ|>õµ¡Ì\95\90R\16L`\14çs\83\0¤H¹Ï\11Q\fýbÌж^Ôê´§«\0ÂmTòFS±\9d\82\88h\ 2\1a\8fºÆ\93²·\9dÌÌ\93$$:A\98°B ¬\14\185\9e\86
+ça\98\9dÈd\b\ 5\1f\1e ¤A1\88
+¬3\ 4@\12\ eIY\93§D\ 5U[T[ëço­¶Ò\9eñ \8a¬\80\92@\ 4\0\89P_+Üp\ 4\ 2   \9fÿ~ýÿ½îB\ f\91®µ·}¿}~÷\ 3x\eÄÞ\ 6ý»¼}ào\vx{ÁÙ\06¶É$rE½Í\895Où        Þ«\98È«\15uk¦]\98\84GóiDÎÓ \ 1þÉ\ 5\8c\82Á|\80"|®çá\eÿÁâ\92\9e,x\8e·F\81ìrÐ*p\82Î'Ý~D\19Ë\b\ 2ºÙÞ-t\7fn1#^)×\85¦ºx·³Õ\ 4\87+"Y\e\12\8e/ÿ\91\ 6DA²H³\84ÓIuìÜÑú\90d»Å¾_àLV áÄ\16­v#¾ó\90g#x)T\ 5\88Ô®Ä}/8X\8f\výX\8d\12צe\8e\f(ãÂó\90f~rb¿æË¡*yå\ f9\0\90É\95k\9c\91apõ7Í<Àúd\ fgÿ\ 5¢\vµÄ×k\98³µÊ\92k\88ø\1dÄ\86\93æ\9e_ñl\ e³þ1
+Vø\19 È®<ss\10\1d\13\b:ú%zº\8f\17"\13Cb
+\80Çów\ 5.=ÊEVÞ)\vÀ\9c°ù\1f\84{\9a\ 5I\âqCµ÷M;\85\95{\9a¾\ 6\82¯\8f \85}4Á©¶³à\1auݸ~\8d:öÞ\ 3mjUä?»ð\12´i JÑâ\12\rðÕ¹¾\e\ 2\1ca|Õè\ 4\11\ë3Ñé\10,\92\8cêh\b-sÆ\96:Àïi\f2(n{Í\b\ 5.\1d³\rVÃC\94%"áiÐ\1c\0
+\9c\vGÐÐv¤\96ðqÛuÃ1ø¢\19\8fÃð\0{
+¨4_z2«¥©Ó®\93\82\11\12
+{JØ@éqæ\85x\1dhF¿M\ eÀ¡\8aBI{ÀNDó5\80^\ 6=\91º4\8d\9f\1eåR\91&\8cyT\16\84ü&\9d\97ÁfÒ¹üý¼·7Ûõ¥íïëû\7f\7fÌ<\14¦7\81í/\17>Óz\18ç\1f\99Íö\83iÏ»\ ePK;þfè\12\91á¯\97ÿ,Â;pèò÷£@¿hpµ\927ez\ 5sâFÓºÇ\ 3¿\84\0o\13Håú\9b\17ª'1\ 1\1fÙ±Rð\ 5Ò\80\8fjÈþ;2\1eÓ\88RW7o;ÿ>Þýôöä\18\88\85+W\fæ\86@\ f\95DSu8øF¶;«uPh®)¨¬¦:\8d<ÞX\94\9aí\17\97'X\1da\9c\9dr\ eÇZ­Ì¢\82_Ü<\r\vuW\9b\1fCW\9b\15ïC\9b\98\v±\ 4\b³¹0t¨³¹Au\1c.ðîÌ\9dWå>РúGßúýå~ßö÷\v\88hd\98S\1e\80bô:\9eRÞÈQüg\1e\87\9fâ\1eíhû©²\8aÕ\e\17\1eO\88\13íR74W¶Õíåè\9eÍÑC\96K\95d\95\9a¯\88>FÇMí\1a(\vbéOj\86\17¯ð»\11Q92¶[J\16á\ve½M,\918?\1a9Y~ ùYx\12ȸväRï,*ì4¼¢\r1\96\u\7f+^Ë­ç\86B¤®W®`·â¬ï\84tÛu\añ EY$\ 3ÔðSb\96­ \87\11eB\9c.\f\86}l\ 2â\11ç@C¥OÞülÐ\1f\vjPk\81ìq=ÞûµT\13û-¾¤'Îê×\95\19{\15\8bH\81ÕYpÒ_G6\ 5i%"&å£J6ÈÖ\8e\86ÓQ×è\1fUHäÐe8\8b»Hä2AÖ);\85Ü|=øì\84tÀ7\197MOC°GYùEgc\92ÊZÀL'ÌÞ\b7?ô\10>\90\r©_¤\97Ìó\89ÄØ5Õ´â\HMq1IáftRÀ³\ 3\ 4\ 6Úv\85\99ÂæÌÆ:\90c\12f1À11\89È`0$_ÿ\12\r?j\124\96ÌÊC\92,\86ÊÊ\8d\97\8cà\90àM°\14$\85\92Î\1c5\1e\8a¸\82ÖB\v¦l\15\9f@Rgö
+\a\94ç\12\91¥
+^ö½\82c\91\92ÅïÞGÎ\9bÚé<¦^wX\ f\9a
+ïb\5\85To\96ÐÓÔ¹45úükF\8aâ;CCEÇø Ñ\87\aª»0æù\90\85\8cÐ¥ý\18r¢D±-\85Ô\ eT\8a\ 4åÝÂ\10åî\83k\e\v\91Ú\7fw\ em\97\80Mg4\ 5cÞYáÝÍÃü\86á¬üÞ\86;­Ks1\8f?\18\11g\18·-\96
+)«Ã\820\f\15«Î'D\9a\97 \14ÞTã\80»ëX\16ÝAÛ\10o+2ø"Ø´*a°Af~x\8d\87\en³ÊÍz/¾e¿9\17\84ýРy\1c9]ÖcÊ@lê\95\ 5\95á²]\88\9dí\19±88£òJXº\83®AuA\16æH\1a\90£,Ú\14ø}8\84      Û\1c¯Ø\1ct\1aÖ/pÁ\91¤\ 6ý\1f\19åm\94)¤¢á¨
+\81Â\98\8a#¦ÄÙù\1fjlMO\91%\83wc¢\8a  3h\v\ 5þG.ÄÚ~È\86\1e¿tâ\9a¤ºÉ\80ºÁ½9',¹ \87s\91\93¯\1cM9\9b\ 2Üÿ^y¯3÷p1Î\98D¹Ð\91\ 2ä§²´ÀH±è]þ¢\vóî.\98ÿ\96V\1fíøè\7f\¬?öu\7fVV\1fýþ:\1fvV\1fßøè\7fÛ+\ f`1w­ØBìCi\86âÂA·\91ïáÀ}\0.\ 5öHo¤QZBëÃE1øìP\9e-(\0\12!Za\17°æD\8cÜhÞ\aî¶Ê\1d\87Se$5ÈÔ q\88]|\97\9d\9c SíÚ÷ð\14àb\15\80ѪHØ\86\ 1O\89m/T{
+·3\bfìKn'+\83½Á\8b\82\94\12\1ah\ 3ä>x.\9fþ0V\82\98\9e\1c1Ûrzé®ýÌÏB!òLýÅ*³\7fx\ 5}PÃ"z\9f\18\1d¡¿_s\9c\9b]qð\a,\9bgÈØì\9f»ö3]1¿\1açêk ½£\98J\120R\91d;|YÞ·2\8c\7f\88ßë4\82÷\8e\ 3Y,\17ÑeÙÉV×\14\86Sdq\80Rô)m¼v\87#¶4l\15n\ 3\1c\b/b·Æ§óÊ\8dr{ð×&\0Û\rÌ\1aH­ñ\ 1\EITä\15uËj­ø\f\96þ(Ð\8d\97­\15\ 5{Úð\1966\v¨.=q¢!å\}ï\15\85¬f\9d~°{\ fÏ^2ý-y\11´þSê\1c`\18\ e¦(\19\88xe\va\94\aÊÄâTi\ 2Å\83æ\95\8f[\1e\ 4½þ \fè\7f\10=¿±L§Èû©\90Î\ 4\90ÁMX)x\16W\92CB\13Årü\17û~\b\89ÄÛ!ÙÞñ:ê@C=Ü\82\89phâ33\98R¦ü|*\ 1\9a§\88e7\17*"\aµSáNA \ 2z9ê1¡¥ +\98\95\94[\9d£$Fä>\8f\e\8a¥\92×r\17\1f¡Ñ\82\9c\9c^\fº\rYòÎósøt'¡Eò\95U\9b
+òîÖ÷è\8b¸\fÖïaá±\14\99\1a÷îø9\99\9fD\11&Æ¢\0áZÅ\819Ao\92\86H\9d\18¦íjÑÛ"o[J\1c\90Wx¶\83©.\84:âÊ0SW6Þ\ 2\8b\93Ý\86âsRw\1a\1eÖ%«Uºê)-\J¦y\1e\1dB\fõËNÑ3åMÜsáÜ6·['BËn%:EÛ¾¬\91\v¥FÆùÜÇ\vHW\aLÍL] Iï¦\14}´6Q\94_Gò   -\87´ZÀ6Ö¨Q\1a]îöZɵÄI£=\9e"¸ïyÓW\80\98Æü¦\aÓ |ðµWXO\0ï\86PÊezÐÐ|®\90;1®B5¼b\99\v\e¦¹J\ 2O¨ë\86\ 6
+[ò\93\96\e\87êzÀ;-¸Ài\99_5³ü7HfpCGpÑñ¦\ 2K\8e\ 3\19\98ñ lMr>´\17\95*¦d\¡\ 3`\111\vtJL\9b\1f\10â
+¥¾®\94eãéÀ\90«ÊhPa\15ÖÑ\88Ï\83¥Û\9f=Lt\16|áEtë¿Ò\94\89ÇÁ\ 4ÿúRJ´¦Ê1
\8e;-,\95$´ãÖ\92\95ËY;\8c\82è}iæí\132)\1e )\19t7\1e¥X®À[\95nÁncYÐ\ 5  ³:§~Ý\e\eèA¦(ÙH\r\ 6\ f\9dm\8fT\v¹»YìÙ\18\8d.|\84Û\=\9fø^¶ø\16Õõ\f¯0Ý\91\9d«JN×\r\8a[\85@Tøü^ ¸Ñ_N\1a\12^\bTbÜ\ f*\98\ 4\150Ä*F\11`\8cÔÎm\15ö\fI?ðîr\1dAÝ%ñ§Ó\9d¦\ eç
+<ªj!îwEܤ¦Íj\ e 7\0÷¬$ Cç\85\96¡ß4\88\1f\12\9fã>Á ö.U0\18+±Ã¤\14\8eïqÇð\99um|{àUÿ\93Áqí\ fó×c1ĺÄãÁÜy\83|\e\ 1þX\8b\ 3I5«\fIlÞ\19òµ8\ 4Ôø\86l¡À®\19\10¬ðZ\ 1ô«f\0\9eH\11'dJ\v¹8|`\bµC];oÃ\84ö\fLûA\94¿: q\vk#¸ÝÖ\1e.V i+Òv\aZþ      Óc\0\8evnµ9\16°b§@\ 3\16\a¤f)Êѯ1x"Öd?vÀrÃ÷k­¬v+ï\94q®Ñ\84&VFÇÚKÒnºy¤µ\12\a@8\9eå\8d§Ñ\94x°dM|±ÇðOÇ ¹ëèd)²W$iO¾yý\925\81ocÐÆÊ\ 6\95f¬©\1fÞØD\95ÐÔcZ\18Û9\90ýøcûí²¦nº\r\fdyÃ}öÚ\18ÕݰrÂò\8eïe
+a8½m\99½hîB\ fBø#÷Ùñ\ð·ØtBÃé\84YÔ SïÏ`Ó"\ 6\94Î\9e\14\91\ 2a*\125Z\7fr«¹I"̵q\aF[\ 2î0\98ØQoÿ\80=6ܹtº2×þç\1fè\9cxÆÿ£bêû£b×Ml8\853ëÄ\ 5\1d°Í/\ f\12\0\f\8e\r\19ư©\ e'çJ¬Ø(\ 3ìU\vugUñª¼3+Þç°µÏp¹³F\118\92\eU|b#w%è\15¸%×ïÏ Â\86^\89T\ 6Åâ\16JzÅÔ*8VJ?kW\1eR¥°©ãÍ\9bøª¥°\99#\85õj±R©\ fN\ f\82¸\83\15\9d1ç0xD©}CÂy_ò$8­JXO]\1aÝP;\87y\81\15þ\9f.¨´ï_í\18置ꥬ\ 1ÍúpcëzoFÆÏÜ\8f­qóè\82\v{\ 1°\11\90\19Z\1fßÑ3f=q\87Ñ\ fMÄÑ\r\ e\ f;?&^%\bDÉ2\99â\872+\8eHöî\1d\ fTëðçDZÓè\86\9ea½ç®\1e&/O´/¯\aDÂAsç>$©­WJçYu\rº\83á2Ñ\18ÍS\1e\15\90õ:e7Ô\88ØV_\ 6{ZH¯r4ôÍ¿{ø\97\rª\96ôGsT½\8b\98\9eìB\9cÍoLY\91ê\96ëg\rú{]Ö&¤Ë\93{çµÝÔ±ºnê]8¸¤\røïf\fâßÛ¢\18\1foÔ:N±q³8Æ-áÆ)ÀÛ{ñ\7fI\bº½7Lt\9aÔÊ{éz¥º
+\16\82ö\8f\ 2\8dfY\ 21\rU\9b\v Â
+\1eÀNPj7¬+
+Aé³.aâ¦,×\12·»Ô\ eà4˨,/Ò7Ó÷zñRc\ 5\17¤#(\82WvD\96äàÅ\99ëMÓ>9zv\ 4\158\7f«ö\83\ fà\91\13¿7üÒb¸îE¬®+Ì[\ 6zD4\ 3h .#M(ã\19^\83Jl¾õ\10A\14$\1fb°/ni\94µ_3Yc¨ÀÉê-\8fÔK±Ô/\9dÌ%èàï%n\80Õ\8eâéµ3f9       w\97²7w\ 2p-UÛè«ÅÅ\7f@þ'¬Û\10«yàô)Z=½ÌL\v¶@@\84\91\83;F        Ê5¾IO}æE\19ô\12Â|ÀWð¸ð¢¯2Q¿\9e\ 4Ve{\8fß\82¹l=Ý*ýÑð\17²d\8fU\7fv\148oUJ\\85ù5\1e        \fÍl#\vUªMv éà¯\15\e\0\80¤\18¸£@ÅÕþ¼^\97õÅ\b¤lR\91\8c\ 4C7\88¬Ù\13\9c6\92ÂÁ5uO0\93C¹µMû5Ã\16ý´Q\87Æ\879&-ä,-Ò\e\9bîêF;ê~¥Í\8dØÏ\ 6:~TQï\14\8bôÇOd"Ùó\8cåqèzZÿ\eV{Älxã\85`\8eÚ\7fZ\aJÆ2B
+\1e\7f\10áÍ®¾ôT\1a\92b\8bÕÅú*\v\93§!g'\f\f\ 6Ô­ãýöRê½þ¨\ 4þ\7f\ 5\99\18CÔØt\82\92+{\.\93³®_Ð\9bÞ3é\17C.\1eh\9d °ûîÒD\92\83W®êÎ\16XÅpYÁÂà8\ 5!Þì\90/?\rÁ)&É\bí\8cöuWMûÓJ[\87øË\10\8df\8fÒºU\7fï\[è¶[sñ\8eðˬÒ2%z\ 3\ 4\83tyéì||,\ 1UÜ8Ö³ø\96\\95¸½!\12Ú\95¶PºP\13r¬p7=ÈIQäôÄIÿcÂÀ»\ fÕ\8f27\ 3\ 5´x\12\802\93º±º×mV·\eÂ{¯îÍ/L$J%Ûb\×\8dǮҨóEC˾á°ÓxЩÎ1ùM\8b@\86\91ÔÐn\96éGÓNýò»       \10\9c\17¨âC_Ô\a¥+\ f±\v_æõ²tGÅO,\9e«*db\82¬éî\7f41¶\16õ;Õ¾\ e\15ÈÉtÃÄyå$òÑ:C\89²,\1að  ­\9d\16?Äÿª­4ÔÚsUk-å\91\15õß"qj/×\1d<\1f\1d¯ù \ eú\9bHqC\ 3/­^­?\e{%\17\1dÈú\ eZ\92o³ì\88SKVg·Î\9a2\8dÈÎ3¿\87îÜæÀ|úé¿?á\bcÁ@\1cÏxâ»(%l¾\87\ 3cÊ=Ý\8f\ 1$\967ôë\19µ\÷\9dõÕV©óÚª\9d_\85\95\8aÉÅfrÿ y©¢þeÈqâÌ¡Z\83K\91¬¯é-ÛÎg(ü«SôlhW.ô\1f\84õ\18âÏ\13Êÿ`ó½q\18±\14\9dèÌÆVîG\95\8a!6ßr½r}¥®\1f\ 62P\91^'l·Î#PfÐ\88ÄiØÑ\rÜîÇ\95\8a¢!®\95~æ×þ%ùx\92Þ`.Q\85®8        ë\80\17%\82_ñANëk
+åux*A"ñÛ5ß.©\12\1cK«®\a\97
+åpµt\93OÎép·,aL\15}!\f\8e¾\15Òá\ eúhU*\97´ªPÓ7â\97_#¼[ðôc\14K´#×\8e\ 4\15]ÏH|rÐ(U¿\9e"\85\18\88A5\0\8c¥Q×­à.¾«\18y\90\85Ñ\82ÎimÖø\84a\19qãø\ 5E¼)#\8e\f²¹?¯T\81ôú[\ e0
+Ö .¿\17%à3eå\a\15ïj®Wá^Q±Ú¦ïy
+nNj¢º³ÏLJ*\936\89óø³6\8f/¢)/Óa¢HЮ¿w\18\9f0Á­úêé®J\v¾¡\90\926<Cèa=f\84haü¦\86ßKT\80á\f\91\99,]ß)ð¾Sã(\8a$§¸»Ù\8aw'ªk\99ºj?³ßÎ\ 6\12PÿCdÐø9Å=\12^\8fá«\1a
+d/FCGV¨RF£¬\9e\v\82ì)\89\1aí\rÆ9¨\ e8\11ÿÁê\9eòA\83ë\ 6ñ­~¦Õû¿g5\89MWÒ\89z\1c\99\v¤\80\82õÛÎD)×´u\1c\98w\90Óë\93/hê[Ã\957¡îîð¹È/b§È\1cýºÉðmôk¼{dòû\aÏÔ\90nN\17\ 2$\96q\vúkÚU¹\9b\91\97ëº[ÔPð\92¯·FÇÚz®U\ 4l~H&\9bú\b×*©²\82ïs\9ao\ 5)ÿl4'\1d[\17\96y\9cOys|\19×çÂ~§(1 8\19±BÑ\\8c\89>#$åU\0hu]\8bÌ'Ñ\v \133µènrÂÝ\ 2û¤lvB9O\80ÿ_\ 4Ü\83øÑxF-ßfã\85·n\ 3¿_5HýM·«Ê\90¾óPvÖ\17;\ 6\8eªn\1cÈo[è/\9b~è.õЦ ÅÂ\ 1\95«\13Zùû½\81\9cçp\ es\ 1\1aH¸$ ;ß#¢\ 4\83ä8cx=\ 1hfa2\86\97\14ù©|ñÕ|)¸{]ÚÏ?7æ\96Yåvb{\10\18»¬\0ÞãØ\90ÿS¬\e¹­{VíÕXñ¤@Z"õ§ûêÄ¥ï\9fÕz\ 4\1a\7fµóª\87\85WEιµug\90þ\97Ë\7f×ß\8cÉ\1e</®ùn\8d\86\8az\8c\96¢J
+\ f^#Äl5é»ù\91¦³¯¥\94y\84õϸ«ueY\1cù\v^k»|iP\92Âl3U\15|vð©*øî!QUñìáãô9Æ¡\9dd£[þ\82ü\14\92©\ 5\ f È5\ 6\91Å\ eâ\ fGg\ 5Ý\98n\1c\8d\84|rJ[G§\ fËØ4yiTkA\ 2\8aÔ|\82\1d²èýÀÈY\ 6äo\1ezLÿ*\8b    ²\87vFÆ\96Unx2\17¹¡¸y£c\8c\95\v¸Cs\931®÷л@\12åá\95´¯\ 3Ç* \ eõü´9\89&¥<àèw\83ß\8aè\v\f\r[õlÄ^r3\89ç£÷g\9fe,k\8c^}\9aT\ 3¸7\ 4Ï\ 3ÐúÀýgE\ eãTn\8cÏU\ eó¡Í\8b\89Ã\96ã<»!        ³:C½G\1aSôs\95y¹K>_S+xc©7OÛýÝ;\96z\7f¥\10Ý\ 1/\b\8d\ 1_5¨\vÒ*ãè£ä"g[´\85\90¡\90iîq
+f[\91³T5 i\94õ\86\87\19Q®Ç4«4Ð-¾î{\95\0\82|\80Ûà\rÒ\ 5«N&¸Ü
+Û(z~^æ?b\8f\19P£½g\99\91cßî.P\15\92ÄÜY¸klÃ\ 3\8cè\a\18G¯¤mYd#\ f\99ìÖñ5³\8bMÈ,
+Ø(gé;\83Ø\bÃSqZô%báõ¤äMüįt;ÓK6ò¾<N=ç\97\92\ry(2*úìó\ 1O\&¡\ 1N¬uvàjdÂÝ¥i©Å4´8BÝ\89\113\93\17\92\1e\vÒW½\95Sh·
\13     P#Z\90ö´ã\8b,@S»\rÐÜýW¼ëdâoù!T÷»FÂ\8a\ 2µ-ß©¹wq\9açÓSj ç\9et\88ë;Z     ¹¬Ëd\9aüoçö°ã\ 4cÅr`Ã\89Y½yd².6¹Ä\a@c\ 3"öÅï=sx\8c\10Ü\v-R\ 2ÉîÍ»öÛDu\9d¡¼h§D©|Ûá7ºjf\17º¦\9fµ\ 1\93\9c°¼àº\93\84\85yÌâ\ 2Úêdi    F\97\10ÞL7]BJc\9a?\89¯7\91Ý#¬ÉÍÍUdT¥Á©\96\9cM\,¼ühýjj\7fmù7{\9eô  \ 4wÙÄ\ fh\95Sj½¸\1f\o\15\9e\b\0`3\8b¡Ö\80¦Jüþ~;ö×        »\8f\ fÔ\8f.\9f¨¸ÆÁM?ðÃT1\9d;O¡\8a·_R^¯å\9fýÐ\ 2­Z\85Ç¡P*¼\ 6ÓKó.°\13\82E¯Z5\9eó\1a*ù<\ 2Ô´?U×\93f{kÕø\17ÞT>4GM\13WOÀcN£½B\98~"÷\14ä\a{j¯\8e\ 1V(bYA\1a\\18¨\188\13Ü\ 5\82\9aÝ*3OõÖâ\95\98Æa\94o²7÷\93\ f¨Ã(÷dÝ*6\90ïáùrn#x|ú´\92'\90Ãa\1eì¦aÝÍû\f$\88\ 1¡âu¯Â\80ÔND¶fõ\1fó&nj{u«\9f4\1eÊ\87a](þ,Üð\10Ö\1fÌ|\ 28­Aþ¢\828xÒ+
+¢[Ê÷ .\91ö,\1aX/\16¾õ#\80è;³ÏuÉÑ\9a/y®°§õËï_\0\9fxõG®Ú½wIo\ eiJNM\e×r\90ܨÔßrð¬\vD N&ìݵV÷©²úP3Þ>ÍáÇN(Ëc>FÆÞ\ 1
+ñ ÷ó\8b\932èµ;è\91¿·éOy£SÞA\9fÐc\ fÖ'\13\94ä\rGwL\16R`\9a\ fJ{ Ø\9d\14ë:\12\8a\1eg¹ïPi¬Da@\93À»a\85ár\9f\ 1C½«ÏÑ´\85Õ\9bå\brÕ~\9fÂ;©ç¥\ròu_®\80\ 2ý\ eÞ2U{ô\ 4V<{]X;¸\ e¸Î[\1a#I(ðqë{´\a±\19\91b\9c
+`34IV.%\ 1¹Íèç!M\15\1fã9fÆ«ã\8c±ðE\84Äg»A\8cD\13Ø~¹\CÁ\f\11ôÅ\9e\83\a¯&\ f_\0\f]ÿh\85!\83=-3olÐ\83lIí\80trFÃnõY\8at\83\7f÷»³ïô\0åèø1\1a2Qi¥è[\f\8cºÑ\1f¤Ï¿ -\11cU\8fl\ f~\büC~â\99Àf\98Á\1a\14~òä£\18¨=S\a\1eø\9cÖβÙ\80òÇ4t¯þá\16^\82p9¹Ìô\91¼\11Gy3¼\86(®?9v]`\9c}/Ã\ 3Ü[\8a"Ç'X\15¿á¯t¸º^®\15mJ\aù
+/ã»ä?\9c\1dè\a·ù)\94
+f\8bÁÛRÔò$\7f\88\vű(î ³æ\ 6'(\18?ÚÞ°\8fO³3¢\83\b'\ 1\9e\80°\ðHÌû¶\183\84\17^£cÅ\17\9d¡á*\9fÐ$ã§$UÞûpAé\83\ 1¥\83GvF³T2H     \0)\89ä\90\ 6D\18?\15^vîØµvE^u\19\84kG\1d¡\89!Ê1\ 6åg"²z ô\88ê ñà\ 1W\1f쯿\92\r>2×\13$ºJ ø\119ðS\95¶W¶M99\9cd$\ eùïBÈ·\0µ¶¨>dà\94-N¼¼°>f¼\9f3\1f¾\91 jx*\93`¹QD×>~ï\86gÔ#Nâe¼!}MÈ\94\ 6n²yf_S ß\rj¸ù\96\16¸\99¦U9N/]\18\r\17ê\1dÇ¡á\8an"eËd#\86ía\ 34\b\1câA9Áõf)\9cô7\92\98°qt/ÖË¡]®        Ð¼cº\10]f\8cçÕ\8c¹ö\9bþ\8e}éL}\8e}¢çä¹÷9\99û\ûy\96\8f·\92çׯnD\823\86î\ï¦';¶ª\17;òK·é;v\ïÝÞ\84D:à½\7fÕ.çßTD(?¤D6l`\8cj8íª\99¾ôá²\9c´J¨×\7f\95Î\8eè©gI\9b\96Kª):ÙÁ\ 5Ï\90\esµLÒ\ 2\97\83t\8a\9a     \9aÏ\ f¼@ù
+²®±5$ÕÓS\1e\19\0\92Ò\9bÐßÏ\96"\94µq×µs\96\90n<\87\92_SÇ-(e\9b\rìõR=0B·»Zis\ej\9f\f\85ç1\93G\15Û\f¶Çµ¼\1d7<\88]@YCgA\7fø2W|0]¾\8d'Ì7\97ÛF2.ú\1eñ\9a\85Læà\1c̳.ëH3ö+ÙÕý\125¨vKpÑ\º\7f+%´\ 6Q*\92eyÑFR\88\1d\ 5\88\13öºbøi©D\a¹Õ´î\89\1aY¸>#¢ë\15ȶå-à\9fø\ 3Ãþ¹o\98m\82rº»&ÇÓ&n÷y\9epyÛ¥¼±ÒH9\ eT\b¹ UMø;¶WÆJ\92M,\87ÚeSï(w\bØ$\17zH\19K ßÃ\10.ÖBw¸lR\r\ f_.@<¤ù\11ê\r¶Ç.ke\0¹­\84áûkhá\8b´,µÝ\83\f«8\99¥\85°Ä\ 5×kqÝ\r\93\8cRçF7\rªwhÃa\1e×®¨\83|\94Oy\9fH9\11eZ5i¶YåwtÔ     \17»5\9c×aÛW¶M·Ð\7fq\9d!ýÏ\fÅá_\fW\97-äx·)\1a­9`@\eÔl)[½\rþ¢hW^ûf\8d#tC¿o\ 3\84\1a\82\96ü\1c$yK\8f}t@_\8b@R\95ËÕ\a\9cG0XBÊ?ÐÁ-@~_Z\1d×îú>\91á\8eüô\0zñ .Ò\89¿Ð%\11d\b¯\ 6H\ e\ 6.\81\16Í ÖÄ;î1c7ú\90ýüDº?à\13O\1f\12ÝgÜá\19\84\86çø\ 6çÇÎ\85\9a\9d~f\ 1\9ef89\9d\99¹\9b\97fy\98\0æ$ngª¿3\87yc\99Å\82\15î\81Tx~;\80PοKl],á¹\9fª\b±\7f2 CÜ\fWxà6\8fίÕþ6|\8fx\1e#p\a\86úüÍ\ 3<Ç¡ÌÕ\eñÔA\ 6ë\89\a\1fÊè¹?PÐ`\ eÎôÏ\17\ 5-\r¾Ù(s)Y¬\18>\8eª     \ eæ®´FüFÆòEîêó\8e\ 1v\84×l7ó¾@z\ 4_[Uç\0
+Hqì\ f¯qé\13HòË\99e\1as\922VÒÊ\eà_GÞ\ f Ô|\81 \ 6h\ 3Ò\0¸oó\a\140E8
+\8fþd\1e³Û¸\10\r\9a\95ÂðHD8¶\97\ 1Ý\86\15\88h/K\9b\95\8c\967ÇàrÏ¥\ 5bÏG
+\87U×ð\82\15uÁeF\8eás^°!\ 6n\9dÏ-\8bÝ\98\84.Vàð\85< Á·Æ§¸b\10|ÉJêó\93È\14¥\82KYÂqEø'¡¸õ%
+\r<\98 K{\89\84ÕÅÍN\99\94=\9f\ f\82CqG\1f\90GRã¿ßUï\ 5\9f|¸ßÄs^Úr\18nö4\97pn÷`nàà4 à4\8en[¿\88Ãwñ¹\f7u]\ 4\19ãV    \974êÌ?y¾EÉ\9f~\1e\1ah·¶[ãHÛÕ\84V!`\87ç¢\1f\99Áù»\8cX\eê3qùÝF6=çQM\1eï¨ÅG\97Ô>\8f)¨ÄÇk¨z\ fª\1a\92êòoMíA\1cׯÉi\90Í\ 4\82\v\9a\82àÛ-pi¨«Àf@ÙVYC»\9b\93¦\a-\ 2+\z|òýϱÇ\ 1­§\15y­ØBêÃ|2`\ 3ã\9f\89Ç\ 2\87\f\fþ\a
+ëøEl?\17Ã~'\83ð\1e\11\15á\93ÊÊ\9eÁÄÆ\ 4o\9e\e\ 6\88\1d/\ 2ùMhµ¼\18\7f\98S\80ë éuÂé`f&Ò\83\1aé +K8n3ðe\94\9b4Pg\ f\ 2Û°qz&\f\1c³ñ|Pv¹\8e8Ã|?ú¬\99¿ü\9bv?ãÏàÛ\8c\e\91l'?e\v\14\1f  \aÅ\b|_Ãã\9ezì£ÕÂ7\83\8f\837âØ\e\14øYYÃñÑ\eð\12#ǽ\eñZ.\foÇj.\f\16\90r\8d\ 6\b=\86vÜ¥\93UÒ¡þÌ   \ 1HëÅ\ 67Qo÷\1a\ 2\ 3À]x¦\17^ú^Ü\15&SÎ\1eÊkÂ\11\9e\8b^|\ 6\16Å\7f°Ò\14Ø*[×¢K#!ËÕè\10\90D\1c au´}?\94n\8c\0\18-}&\12\ e^\92½íù
+,:\10¹Ã\8d¯ö{öô´y\8bó\98HÇß    \12\15\91öÜ\81£\9e\ 5ëß`\14\84\13Ø\b\92+\ 4s\96bh\vY¼©ËÖ\ 5´\7f9À34Ôöd{\ 6\93dl0íR³÷\9c¿Êl\86n^<b+í\9cfªY\9f\8cWÝÀ\1cSé£X
+kD~Ó\13\ 5pèù\18\ 2(ÂCØ1pI\9c³4-M²ð\90+¾¡ÜS)±{E4h¡#`ÞZ\ e\1a+tà;ØÂ\96\7f"Íõ\14Ü´5 áâͧ÷\10ÌûÏ@\8e½A+Û72\83`ËÚvÀ\8fç\eÕ¤[ãìH\86£Ü»\1fPïBÜ¢ö\8aú\1aðÛk_\8bA,'±
+r½
+é¨)D³k\\92       #c°M¶Õí\15ê\1eþ\0\1eÝ[\90\92K\18N\ 5\99í\8fa\ 6û\ f\19\ f²\ 3e¨)\86Þ¿À\ 2\1cYO\94ÐqÛäNðT;ÝaXÄ£­Õ\ e\18\82êÓ±>\v@·î\1c\b'\9e\ 2\r\8foñ@Sw
+v\91\e\19\8eÀ\vsCH?*\1aCØ/³6UK\ 6¹AX\b\10¡¡w®Í_M\0j©dl^öm`ÅoÙ\8dºÃ\\16ë  \16Á{<à'\12W\94ü\86 ÂcßQÚ/\91aQX\94\W\834ùÆ\ff06\9cBÝï\ 4*%q )î\8d ûnýN9í\v5¼`4$¦x\81\19\fº64Ý\ 26/¯\96|\ 6í­\93Êl!\ e!©N <\92ß0/9ȧ\13\955\99w\ 5\1d\82d¿·n²6;a\8f¼\19û`9\aìø\12Éöû\87A\97\89ªÞl)±«\ 1\aB8iǽ\9bÖ{Ù3éø#;\ f\96\ eÓî_\b\9e#\\89¬Ï\1cÏü9\bn'S\91Á\12\92·\9e\91Í\eÚ\99ì9cUGÀ4ð¦jr¤\82ü\16P8ÊeF­½\12öï(øé+>û      \11sõÂ~Ù`äõæ ù}uÊEþù\ 5Ày
+ÝÀaß`W*&åD\9b\95\8bu\7fðM»\83\8f\82c-ÐÂ\87\99ÁÉ YÈgþ9xï§3¹`Õ\98y«¾ÖÇÅ\99â~~\ 1¡µgñ74N³RÂ\0ÌÐ\ 6ú±\ 4HÞEÈÙæ\eè³\1dÁ\e\10Ê{xË\ 6¥\a-J¼\ 3Â:õ"uç-\1fµ\r\18?"Æ·?å»\f52½¢ã\97\ eRX°Ükܱø!R\16ï,D\9cúÓB¥\8ev_µA~eºÃ©\1eÈ«¡fÞ"r\92éÔ±P3Õ9&\80»<&\90¾\14y\8e\90#ÚYÚ\aÈX±\9f\9f\94\93l@òr\8bÕ\99,PÏÍ\93\97´\9e÷O«\f\e\1fh\0HïìJ½àeÑüBR\ 1\\19\85'f\1e\bF\9dÕR\94 Öñ\82­\7fº¨\eNxäö.= ®PÅïý\95ðâ\a\91\88\12\96\14½éFÁ!ðx'²Ò\ 3\81¥{\196þ\ ×Ý}\94úl´î·y5íÔ¢<z?-õó\84\16¬ãÑÉ\8d\87\12ø,\86ft¾¥\aÅÌÊå\aÖÞ>ø²ß\93&V     [W\1eÁ¿=\85>\1a\90\93ÊZJ\81+±ì\174/\9d\91qH@QÖO(6W\8dVLlØB7k\ e       |6l§Ù98XÏô_n)æ\87\10W\8egcË\e²\8b\f\9bÖò{EìÅkà\81"{©\e×\r\910ÐGçÚI4û1ÿIø{øp\9eØ_\9b´)r\8aŧÿÁ¥\9c/qy\99vvH\1e\17XÔcPhµÙÍÖ2\8e£\8e\84íKÿ\19èÿ¹P\87õÏGäÚ     ÿeC2H\88\ 3>^ÝåÏ·xr×\f,'Z
+\84\ e|^®\83\18S.ý£È\9b\8cWÛçå>Ï?}þ¾\7fÿ£S\1fþ\88õ²{~ß$»Û¯\86Sb±W8<\9d\15Í\96\ eI\1e\8eè\8cÆó2?\94äzfI\92=3ý\88ô¹pAì\ 3U¼wá0¯ð[ªd\8fQé¹\84z\8c»$z\8dèÐ#ô{1\959r=`ôC\7f\91HPÍO²Â\9a÷\97XSX\11\8d\9fâÁ\ 5g   $l\1e\e¤öWé0ä\84wkh\86\82Ñ$$Z$Õ¸\91êªl\96½\96Wy\82ìîpK¾l*ù·\8a·ÀVÍ\ 1è\96ýM|\17´}0\ fv¶AkȤ\87ÆM\ÃF©«LåmÇ$   \ 5\9f\980ßwzøZ\ 5i\9bÚ4ohñ\ 6á±\81\rý\ 6ÿg\19É\99mrm\93U6áeÿì\90gB\8eä\e\ 2\1dà¥þ\9a\9c\81l¤´§µÝ»jg~ø\1ceÛ1*¶Î\8dÑáeiø¾É\ 2ª¡Ä\19=\99Ô¥\96\9fY.·s\9c\87ò \14%Eù\81fü~ýlhùý¨\1c2i\81)À¦â\95Y\80\1d\90VÀ°[\ 3\81¿¼\18X\81TAþ\90Åö\81óm)\10\16\97O¢i¿ò!v\80ØÉ\8c/4¹¤úI\12u\1cdö`\91.NG\9a\ e\8dü\89\12þiéÞi{áÌ\843\9b\86jxh\90U&¥\1aZ\8d\ 4y³A!·2
+\zùSáx~èvS!l\8e\9f\94\13y~+Zü\92\16\98t$\0òè\a\9fÝvHÍ\9bwWq"\1c i½\bü÷7ÇíS\8bw\7fÍm\1aÓà]fô\90\b\87Gq\18!r\8bÓH
+ã«Ä Ò\98­[¡'~K \81˪ÒÏ\ 6ô\9dÚ\v\9f7ÿï\9b?\85\85c[\1eTG\12ÃCB\8ehIgßãÇMW­\1a\87.<Ì\17maÞ\bq`ÖµFÅ\b5¶Pã£boÑIæ^ì\ f\12Û3D\8eXÎU\12É«ñ\89\83\98|ZU[¤\8d\8c¸lbØSiÏí\84\b
+²k\ 5I\86£\9brüp^\90'ïÿ\91À_þùº¼\18\94hrÏ*å\12\98¿´\90Ñ¢à\82\1fÿö6\9faõìm>«\95ÿṿîÎ\10Ðþä?å\9c!ùßAó\84=Þ=\ fýç\by\19éÎ`<Z&±­¸ß\11^N\91\ 1Ø\90Òe\92üäg¯Ð\11Ãïß»Û\bû,³Óä\90¯\95M\fýôݧN\1d\1fD\9fÏî\bî_ò=®,\ f\1cK¯÷\95ÿ¤²wïR\80O\18Mü)gà\rÎh\9a3«¸u\92ç"\93tÁ¨WF\98`Ðê·\vAH\8e®\r£AIµ£öß$\11)CZ¥Æµs\v\fýݼ,=Ϊ\10÷ÓÛüIa\16\ 4\1f­ñ\8fÄ\a\0~h~]£Î\ 1\ 1ÜhhêðBÆGÂ\9bÇ\9bÁ#Z\e#\8bV\15¨ÞÖ[Ã\0t\9f\88\ 3µ¯æ\eׯ\1e\1dô̼\ e\9f[\80Ù° \f\0Ïî\82#M¾X<_Ð\9a·ÌhU\96¿\ 3\19Ç\80Ð$\8eÔ\ 2\11ð\1c%"kÆÎ!»^ö±¤åÿLÌÉ&\12\ 2@b§k\10À â;+\ 4d0+\9c\93\98Np2\ 4**\15\16\95\8d\94\0Ì\0¤\14\1c\91³'Æ:Û¶ö¶Û·nÖîÓ»^ÚÖÝ\0kVrI&@\0\0TA\ 4@m\ eF\0\ 2¨\0\84Ï¿¿þç3 \ 2\17]Öío\9ewðw|ó¾yßÁÞú\ 4ï¡.ú9ï¢ÞÌ\r¬¶Y$n:Ü\9bA\v\9b\83vð/\ 1aÌ­³Ý`ÙI©-TÝhð\1aLmGÙwm\r%\9e3p\19ZJ9\8e\98Ò\9dÿ[Ý6hà·p\8d p[µî\9b3\89ô¿ø\9d/úK0¼\96a\j\83À @½\90Õ\95 À\88a\ 3÷ \16W©é\18\1f´0\90\18\9eÿ?á-èÉ\11ìd\91¿/Ý48D\80Å\9cEO>\8b\rX°ºòä\86\10\91àð\ 1e\ 4òú"¿±G\80\v:*Cõf\16\1eI$oûº\8b(bJÿ³\ 14`r\8b\80y¢·ÿýÄ\88l{ßÿÄ\88\7fþÄ\88yNá·þñ"\1c\95\8cÎ\8a@\89Ð&n1½Ãh\ÉO\87\ 3À\99\93zò'\88¥º\9d7\84æ\eÔé³Î¡á,\9cá\16s--Jç æ\1fú\13¢\0w$ÿ\97\97e>awÝí­$\89\!\e\ 3<!÷\84\14\ 1Ëìó¨QÂvt\91\1dõ.\82Þïl\8a\7fl\94eY\1fÀýÂàÜv1\1c\92D\0Éâí\92°\84\83`O\7fóïIøQ§mqÒ¯í\8f\17:ì)÷Þ¿\1cV,Ìqy\ 1\9f|½YUÐÛùù\ 4\17@:ÆxC8Ó_l\9bbÆc_\95\ 4\9f\ 3̨üÌ(\7fʵ\ eÍÊe\9b262R(\91PGé\1füf[3a±
+PI\v-X2hF§\9cË'\95'\1að\87]ݪiÛ\1c\99X\98ÅÉÉ\10ÕXUݾӵ#Ùö\8d&4ûGÑFÑ\98\e@síYì\ 1S_Q>~ÛÏ-*f[ôT\11ÞltkÎæ\ 4.ûm]ë\8b4\v\19&W\8bÔük( \9d¨\92 à\8aî_,Jª^ر¤>Í´¤.BÉ«M\ 5åè/2«>Ø%_þ7¸\19¨@\97B¡£\9bÔcD\ 6ã\ 13\11¬iÎ1]kFôõ\8d¯5[\94Ä\r\99ÀOæ×À5C\95\19&\16&náÒÏ·
+%RyWy\89TúâMäФ \15%íôÉb]W¾º¯J§µ)ç\8cWjÃ\\ 4\11¬Y\13,\12cÝ{\ò\8aú\17\9f'IAàf\0\823\rcKÁÓ\9aÃW²Xuè=Р\ 2äîf¹'Üx7\8dÇæÿë\91i'%w\16ï,d=6\89ZÆ×\87º%×{k)ü!ó!øô\1f\19\ 1RfY0\rFM»%úrOÏf\97ê²M\99ÀYÅi3#"Ù\9c¥\17V¨·æÝ¬ûw\\fA;zr²XëÏ·1ö\84Ç8»hs\9eòY©\8fy/\1a^ø\\12Öõ\a¯Y²R\1dê\ 5\8f´G \83\19ø$¢ù%Ì.\89@îNíj\10&[¹\94`ìrHA1\ 1_\9aùF\vG\7f\19$)\925Z1\89xÇ[ñUé!B\94\18:ùiþà{@\ 6\8a\16¨\9c\95\87\1c4-Ø\b¬È0úß R±\9c\ 5µ\87ÜèX\15\82¯U2n\8f
+\98¤\b¶}%]\1e\10:\eº)XãÚTO4,\82\10VDñû\1d\987°¯\85º\82,)~\97       \95ÇÚ9o¥)N\89¢O,ÕUéXR4í\a\13\ 5\ 4rÂCh\80°\8f\ 5\87µP\86t\85\81\88"\19\ 2Äû¹.¹ª6ãÒ\0ÒÉú\1cb^\9d(1¥\11!¯±VBçдÏM«"ÞµõÀ[öÖëHµ­¨3\9c¸Øaï\1aÛÀ\15·\83f0aH¹ù;³\93qi±e\r\9aR\94\9c\ 1\11'uÌ)\83P\1a\9aï¯%\8d\95\1aÿù\8eÌ­`'\15¯\13zyì¹nM\8c²6\aÇNÈî\95\80JQÌØ\88ÆS 'Ù/ fO\92È>©ë8çw\80°\99á\82ÂgÑ­\bpÛ,G\r\8eà<\14«ö\b\v¥_hHEÖã?ÕÖ\85\95\96\11 ¨'ô.ðéâîa\ 6¼£-jX\9d±\rs£û*\11 J     õ\88\14+-\¼\14)\ 3öGµ2\82X|¿AB¼².PG¿æP¤\9fêeVìfH?\11@\0Ãp¡^©Ë¬âá\ 4eF·Ðpv\9efñ4\1fÙ]2>\91B\ 1°ä\VÄ®y\94,1\89\99JÂØ¡¡xªü\ 3ð~A"W¹|^A\ 1çùµY\1f@L¨(µbÖS\ 3Ë߯Èvò\a<\89i\80OW={±µ\8e­Ë\ 5ï2FV\92å\99\1fn)8öaâ4é\ 51ÌÝh\9cÛ(Ó¯\vG\9e
+\1d\9aUýñ\15\ 2Ú\9d¢¸)Ó\7fD±Ï\95\91ûÚ\88K\94(\8b½G\85¬\ 1\96p¤[Áel\91¥ã¸¼\14\ 5µ¤¸å\ 2±\r\97\vMΩ÷)V\96\1f¨\bR"\f\fó%\13\9aY#çôLà\87\16Wõyå\vXÛxWÅ\8d³NGvì\16$ëÞ!e^ è\8fÆ\ 6\8fõ¥\18/¥÷ËI5^ M¾\85\18ê³iñ!DÇ÷§\7fSKþBÝ\90\ f\9f\95\ 4ó/¼°±Åß2V¥¿à±eg\8cW\99¾\´\9f\ 5Ú¬,ôX`tÿY¢p\8bC\92»úd\¾É\18÷\v\ 5þ\ 2ͤ\8f   }\9f\8b`\7f\ 5©\82*ÙÆ\8aè &Õ 6Ð\94Â\8c¬y\9c\fT·¾\ 2dþng@ì\8dÑÆzÄ3xÅ\a3¦©hÚË^Z^cqy³3Ï]\ 1çH\91*_É<\95Ö9G\8f\ 6\ 2õÁ\14\8d\19\b\93)^ÂÇm\97?ça|(âa\9a\85\bÁÀñ´wÀ<CÞ£\a\r\9aKUQxW\90ÈÞËÀÉtµN\15\85º,ª\0\r\1dðñæÅ\1fjp}O\9b|\r 6áÊ­ZÌ«\12=ðü5"W^\1eh_ôõ(9\9cåSÕ \86{³>ó\96\1c/*ï¥\91Ó%x+\93ñ\ 4­ ²>
+\16S\9b\16\95  7\94J~ì\10\0)HÄ¿a /3Ðw\ 5\89h\14p"Ñ]-\12ÍÑ+\1a\9e\11\16\10Y,\1fÉÆbûÌ\9bn\862Üß\8dyXÌ_Ó>·É\8cÅüÎ\96õù\9aÞº8Ì_ÊG\ 2\94\85£å[×ê¹t\9b¤µ[62ÇØµ\r¡à\89\17\°Ku\92Eªºo\84°\15.òW\7f:X_\87ãás£\85·\84Ï\vÍ\7fç\85\83ÜÜF\ 1\1dï\13\14,H»\7fÁ\92óM­þöÿ\8d\14ÀÜ¿Y\8cl\8clòÝ\9crQ{\80ì¿ÑQï\9f\82è5\83\ 2a±â\9evU|\19\15¢¸VàòÏjïÿ¢§}õçÿEJ¼\9e
+¯y\8aíxª¸æ*¿\16aXкöÄ«78´\1an\0À\93÷wôp'ÇàF¹}k <ì[2\vÏ\87À}ÇÏà\1fnt\17ãnQ±õhØøÚ\ fs©à[\f\9eÿÖ\91Ëì*aA£çéXàd\8fÜ\ 2eü¡\94c\ 1Ë/Q\8d¤\96Zv\99Q\ 1¿3%*\ 3}Eë¾e¨i6ß´\1fVi$\1aÕý\8f\8bGÉã\99\86\83¿\9c\8d\b_  n&\11J2.9Ó\1c\99v´Ý±v4âã¨\15¦ùгêÓx®¡fÏúî\17Õ\ 4\8d\ 4Ó\ 4\b»}\8f8ûQÙ\1c\9aÖï'\ 4\90Ðk+îÏî\93D>
+¦ÈÑ\1d¢\80X´=ت÷^Æ\91\r;\16Z]\ e\12vjÒf~\97Ü\8ehí-¼\7føWÒðLØ"w\13¾~Np\ 1ñ\91\1cG,á<\7f_\9c£\v#\97n*\9bÎ\1f\90\8c\fºk\84.'\83M±ÖK\97\82\15NÆÙCȨ£r+Ìzèx>Ë\91·CÚ\92Æ\8bã\16\1d\7f¨ \eF\10ûC¡ÅB÷$õÕ{³UîÉ\8fÒ\8d·Ì\véY\8bDm \1eþ\16\14ûkpRù%î¤6ªòÚ\90\8a\9dIGKÿc\9f\8f\11Øõ\fÙà\8d\95\13\915\94
+NG¥!
+¸¹BÄrÿ°¦úYöÉ*ùb\ 4       ðK\10\96U¬û\88\95\7f\10\90õæpóà~ôhÐ%_ì#F\85*ý¡R«l\8c¼óK«\11õW\93ðAe}\10\ 4Ei^09©´TJ\1féâF\9cN\v\80úò\1dò\ 4jÖɾ¼\84â\ 1¸\ 2ºp \19\ 6.r\8cÿiOõøkt-Ënf\ 6b\91à\ 56c§%\9aÔÄÄÈC¡\97\10¯¸\86õgíñ+ªw7U$ãj  sGæ\19Ȩ¥à\10c+     \ epZî\9dÉØ\15*â/>þ¤p\84¬\0ü&°;ö0¥ÁX'x06\8aÕ\96Ì\9e©\19ð\80£1\ 6³\92T\16G\80骱ù&QÙ_¬+¹\0pt¼|#8@¦\84\84iýf-[£b,\ fª\16ÒýU\87"\1cÂ\91\95mvà¼\17\ 3?O\11RaQR[Öc?~Fá»%Æ!È\873\ 6\9a\13Ê0¸(;\95S4p½D5ªòw V~Ã\\95x5L²Ë\13|ä]\94\137âB%\ eA]\82\1eeP\18¼\f\83îcUU±ÝßZ5     ¥_à²Lþ\ 66CYÁ\8có\ e«Ý¨¨\95i<\87\17\8aB1V;àk\89¯Àw\ 6o\88   Ñb\b\10_0\97\8eK\8eá÷À²U?\ 4OE\10oj\f\b³à(\85\8c\82í
+k\91QDå*ô\1e\10Á3ð\v\96påâÜ\9ft\90ñnÙ+\rk&s\9c®>2\97Ù\ah
\8c]\11>ÈP¥ö?9\13Eg\1d\ 1|Ú&¼
+\ 1 \86]¢Î5¬\ 3?0w(D\8dA^¿d(*\80\rQã¨\17\829âïá\ 2¤HÌ.l¢U\15cw\ 2\ 6E\ 4\1aòx\ 3\vGTQ±ù§E\13@f?\8a\ 4­Y-¼æ\11b\ 1\16¡û\eù\84\10\94¨å¡w¬ô\84ý\12\85\93»ÃµÒ\11ʵ\13¨E\a(aG\ 2)\r\89in\94\19Ø©)\19|0¤µa<.Òþ\0\8c?L\88\95\820oÙB$rFÝ\81\ 1¶tß°\9d­u(\89\8e\ 5®Õ>ãgÝ\9f\9eâܳ\ eë`qøòÑ«
\986(þ¢\12\9a<¨-Ñ_#WÓ2£ÝV~2
+³ºþÏÇ%V\1d±\12ü\82\9b\8b{»Æ\80\80x\9eÂJ\8d\vë\ f\ 4\84ì¯\81F\87-"åi\vâîa\90e\ f¸yßÚÌÞ\9f÷Q¦ìuØ\ 2í\9b¶1hÐ
+Ìw»ÀI\ 2ë½^ÐûTËÁê½dÈ\ 4ïÐÏ\ 4RX¬>µ\8dHç6pïªF\7f43 \917e§¤\9dt~)\88ß\95\eR\82\8f°Å6\ 1\10N\19B&\94ò\bC\9dc±¿¡\89\84\1e\1c¾l±ØëYc\14»\98\80\Á+\bèð\¾hX§âÑt×4v¯Ju\16\9f[lZ\r\17\a\9c\b\8a\ 66;\9dè6Ò´ïùWÔ;ü      b#3»úî\96ÁëßK¡ßLqnJ6,·¦è+Á\8a¶Ê\1aà\ 3[³À°\f~´7ÓIjûèß(\89^Ez\87`ZüÖ×ö\11µÎÉjìïÍ\eèYWù\12|\1fgfÙn\8cÒûÌcijNBÆÜ>ÙFñ\e\e\98\94\vx²úÜ`#£\87Wº?à\84\b\1cûc\90Π3o±\1axjBëXóg\90ÊEl\1d\ 3:\9f¯\9ed6%è\13Ã\9fCOÞ\92¦¼sáMZæaæ\91ßÉ=àÊ\13Ðo\ e\f\93\84\16\0ïaõÄ>ý-NA±®0{\13ÃÿîY¾^\15ñ\8f·Î&\95_^?KSpwv\14·¢GÜìj\e\10Øôñ&Ã\1dÔ¯«p<\15,À±ùÉÑÃ\9e<#®O¥¬\13J\1dÌÀ¹2ò\8c6·¥Xòðu$Û\94\ 2XР\9aCª%\8c¬Ñ\ 1\94P\8a°Ý\0Ö\eýµ(F!óèëÖbÂBJr\89Z\ 5Õ´­\ 2èâc~¡*²ãnaKÄì%®ê      ô§«\10\b\ 41V\8eòÒ\15F41\7f\9cù1P\8283hsújç\9d\84\1eïçÔÃ\9a<\9b\98BUÐòäø$àÚ6¹_Â\17\87¹ùP³¡ÉôùO\ 1\12¬R\9e\1dÅ\89\1d(I\98ïÛ\bÇ\15\91\88æ\94\16gº;#\e$\9aåÂ=ñ1¿dr\92äòìp/­G¡\9f
+dÖÄ\8a\18w ÑËGMÿ\ 4`ûO\b¨Ô#Â@ÿî\98èä2q×yK\96\13¤A\956\8b\13\ 4Øx&Ñ;N&ÀQ!!û\9e:o¹°»ù\11Ó}¤«Ï}\ 3{Ae&,ãÚ%t\9eà©       a\ 6\9frT\0\ 2Ìæ×±Þ\96\9a\17\10ÚÇÓ}\8e\7f  Ì\88àû÷\94y\99\8bââQཻrZ\v¯j(H\88\98\ 5üä'MÞÕçòB87ÒÅ\80[30Y©ìü6\882ñf\1aä§\8f\19iÂvûÄ\7f¤\9b\13Å\98PÞÚ\86ø\0å¯\17J\9bîö¯;©\ 1\91yµ"ÖâT\8b\9f~\9cNl\88s)\9e\v\8dîðÄâ\96¬Ø*¾úg\1ee)\83\8f\1fôX÷£PQ0\81\8aÛÿ"Ã\ f¬Ë\1f¨^ çÆì\aI\8aÿ\11g\1eÌM\16&BZ¬ö*\1cÉ\14\95îë\87F9E<¼.\1cN+fUå\1c\82X\11Úö&\90ù\12KUq¬\01\80\8bY\16£\15[M\9eÅBíÓ;·Ê\ 5M\88\97é\1e\ 2¾þ+ñ\e\87\13"oï\82\82rÈÔw¥ª£\97\8f\0¼-h\8f\ 3\18Q\ûN\7f¡x\14¼&?D\ eÉ~a\8a\90q9M\92òF\12\ 5\v\96òSQ½\fR'\96v<,\ f/\v\aylN\1dÈÅú.ÿ¢\90·BÍæ\v\97ßÃí\9c-\1a\91ª@\9a?gÚ\8f\b\eùG\91\86<?©¦Ñ\92\15l\87ßDÑÎeó¹]6\8c\8cÄz\f\90q:C¸GÕ\ eáÓÓhçáãtÚ<¡\12\83±&¨«\v*\ 3²Æ\96Ó\84_{3\8d\156áõϹ ÷.<\ 6´\81!W×#\ 3Ð'½V\9a¡XT_ïTµX\9a:\ 1ÙH\9a5[ÃÜ\ 5X#\82Î\8a\9a'\92r\a´\16íݲ´Ù
+'é}ÑU×÷4\11_µV4ï\ 3\14Ù\93 Ñ#\89úMkåÒûk´¸¼YÀzëöRvM¿Od\15\1fQ<\18²\90 è"ê#|ü¤\13qÒý=Ý[\1fÚ&<©ÊÂ\9a'\8aX\83\80x+únB\94ßR­/#ü\19Yå}û3Á"\90.:\85WÕ4YÝ\80¬\88«ì\95\1e\82Ð\17Ö¿t
+N\1a\94Ùª¼ÿ~´o\12\8a\ 3î\14#ÌWU¸c
+\8a\ 5ýº7x\1c¡àÕ\    lÿ\92\b\r\8f®D\9b¾å\85cd]²õ¤r\v\9bW\85ËÆ\98\1d@áéT}\9a«ÎþDÂâ½â\1f\93Çï$ ý;%M     \1a¹\98L2©\1a:U¬ÙHKÈ_I¿\87\90< º<Ñ\13\e¿¢j\87TÕ.¡ñÍQ9MS9\ eèÕ\13ôÕ3à ¸<\1ct©¢\18yXx8ÑSG\ fb¬nâ\95XÙ*V]pG\13ç\9b\vRx"ÓTÕÃý\ 6¨ÊSTå!ÿ\89²\19Zl\96Uú_rá\0\8cÝ\fAÉü¼\ 1\8bêlã¨&úG\90;Á \0\8a;\9eÃEKØh±\9am\15\b\84ì'Qª\\92ÖÂ\82\16RLNUFzh±m!x]®ÉC\9d\13\10ÌÄÈR¶TÜáàQ»7\8d\9b"ÁFçk\9b;[ul\09\85äM\1d,´9¢¥wt\8c³së\8a\97\9f«\9c[K\98\99\fcbbرø¥17>êâ\1e*&\8f\19-\ f\1a¨UQ[\ 6<n\86â\15\1e\1fCqÆKB\9a\89YKx[¬É\11jîúâá\13Ⱥ¢%ê\ 6\17KIö^wÊb{ù:~déU51ú|èýF<\89Þ\r\ 1ú\80 \96\ e\88ñ4XÉd«îe#í\aÖðñ\90#@ï\19~?¬\8d¼5\14\96öÞ¨\96\8dYMí\11\82ÐU\8coÂxH\94¥\19
+6÷x±Dgµ<ðÿ@\8bù{63¡\1c\94ÅÍP\17\ 4{n\ 6D£ÔªÝ\95¿úÄ\8ed\89\11j]¨ë£OÑp\8c`7Jj\9c¢_¦¦­Jo\v\19\ e~\rc&MÆ0ÇáGä\8e®è\ fÒÆðïÄÒK\b¾u\r.O¾c?\97H\12Õ'\8a\ 3¤ñ7­\8bN&õ&\98Ü\8d\9bôµi      \89»\ 4ñU«ïÜÖß2x¡Q.±<J\17°^¹cÊ\f±µ«FÊK3\19\8b¡y\87°Ø>\9dô12ÒÙê\ 3\ 5=\r\9eZZXÎtÑ\94\96u\15º*H\90\86\16\1aUE5\9d1\82#\85\8e\1d\84w\9d\8aÛûýª\1d²­bë9\8cm}Ö\85À%`_p\b|ʯ9Ú\11P¶9\13m\ 5µ<³\12Å\83\8e~bkûmÓÓ|"^\18]qô\ 5\ÈWá "\8d|\1a\a\9bj\1f~µfè8ï«î 6¨YÌwÅÌ»§(/\b\8e9\8evÇý\v\e)wN\99dµcËC\ 3¹,\1fblªeQ\85µ\13\10î\86XxTõp00\8eÉ\8b¾z1\9f\95P\ 3ý¡\8fF\17¨\19+\86\80\9fb\a\85 ùè`­n¨{o?Ê¢6Pòó\9f¬\89\ 1\^ñ\8fE\ 1É·n\85¾Ô\11j\85a"\12\8a\10rX\8c?\9c\937X\8aYlH¿·³U
+\8b\1a\85\8cá\ fÓkÌÃ\1e7\1c\95\11B\16-¾,#÷kv­\9f:8Í\1e\8eR\9eG
+ä«m\ 5õ¦~a\1düBɩڬô#\fÌíÞB3\97K>´ÐoÕ}\94yE\9dÝAp\ eè§`Ú £ZöäL\87l´iÉjK5\9fk\92û¶m*\91ºÉ~à\8c\9f¥7yüY\96vW\14\84¬bÀ\93\87TÇ×\v`ݱ§\1c1«ç4½saN\1a¡ÚcÁ3ù8\89®\85£\82\1c\ 3\ 6R{Ç\12=\97ÇÖ9òÆ\ fЦ~é©\82¨Ç\82qÐ_k´\1ce\8cC\91tA\å\9dÐ\ 1~Aq)I­b\ 5çFw\8a>óýÌøtpA\82«\94\ 4\1fñ\ 5\86õ\88\ 6Kr\0ë·ã&!pß[µ<8Q«1<WMÅ{\8eèî\ fÜÎð_{,ø\1c\92û\9d\r\ 4\11\9eÙ\13ÆÁ\8d\8e L\85y\99\0\16¾,¤)\0§ßÏ&î w'ͼh\9ey\vÒ\83\1a\88\8cþ\94ØçyÛ!À`\9bfÊÆ\88Ý \15\86>qæ$\ 3\10¢ºOÌ÷\88 \ 2w\97ßR\9fu£g\9b\8f\ 6Õ\1aÊãlq\85^+t¬(À\87LO\85úV\18R&öÖ¿\81\1a¢ÑP\8dSgÞ1\85"5fF\8d\v*týÒê¨Ð4\0Ç«:\8aw\9b\869\1cAÏá31\ fÓZ&1æm/\1fpN\7f\1d\95.\8dÆÇU´ýjÓe\Û²þó,¸}Amù\1c¨æÈÛÈkó#VÉãÓdÇÎ-¤óÐÛ£À\e¿õ\87/HÑO\13EBÜ\86\81XÎd§|»ñU}}ÎûâS\95M}\83\197L¹ÄÝJí\r\v\e$Nù°
+ùØ\91²é[çø\b\86\834ù±"\91öc:~ÜÏ\1ffU\eòÆ~é\90\10°\92\9dÑÃt§á¥k\7f½\97ê\1a\1fÙ]Ñý\93$[\ 2\145\82YÓ¡õ¢©A×s×j9\91\98Û¤¬.sKâ;!\81Û³
+³X¼\11\0\95\96§&\ 3ûà\1aäñ
+\9bÚ\ 4\83ü¾ýÑhK\96\83\15S\88·îÕ¹\15÷zôµ9      \94µ5\13\aÝ&×>£¦´/\85 Ì¿·Y     Ä`î}7
+\89³X\ 3²4í3ÒY´bÚÏ>)\11é­\83m¯Ogßv2v|\8fGg½í¾\9b\85å
\1cÃnS7\18eÇ>ÊY¤m¼3Ös\1a¾\11äíµPÛ¥Øv\9aà1Ïí\90\ 2µ\8a\8f1\ 1l\1f\1fi<é¨äÊXåÞvGhìÍ\1cú?Ô»\14\ fìk\9ex/ìa<Í\9d\9a´ÑÏÁ\ f¡õ\ 6\83£èfB7Ý >\87Ö$oÌ}\ f\10h\ 6¬Ó\1f\1e\15MyR|(úÏP!Z\82ôê\7fé¸C\ eÉ&Wâ\82Írÿäv2^(CËÑ»ì\ 3\1c[°ò\ 2»\1c6è;lQù&\fÖ¡é\9f\98¡}K\9d\89á£\87\8d\82\ e_.ó\b\1e\ 6 ìÝ\89£\87\8dÚ¡Ò½iàvM<\ eѧ\81HÓÀı¤\v¥Àý.£m%Æ\17c\17g·:6ÿ\10åß·Ñ\13[Óp\90_\ 2÷Gg\ 4¤ÿ×\87\93ÂK\b_õ×\7f\17g2\8f\1f\93\9fþ=\99ìI×\8eÌâ\19ìÏjNâ;Nâ;Nâ\84î\80Û\83Æ=ñç+í\81\v\8dæ<*Ñ\8c\80Ñ\82\98\12Ù?(ȨxT\ed5\94\9b³\rUCN\fÝ\9b\11=Ä>\10ï\82·¾½íçJ\14\7fõ¢\93
+?òæÿ8eÃ\95³øÿ.Ï\88\95³ý\ f\97g¿ÊÙûN\86ÎG\a\83ÏUuë \8aGÒÝûÜ4\9dß\99ðü¼~V϶èlç\90Ý\ 4Ø\e \1c-¼ÂÉî\80(ª±\8fº"\11\89â\8d\88Ì\riìrø\1a\16<\84p±¿£\11Eé¸T(³£k\9cBÂÉç\0%}\9b\0nìĪl0U\874ÖÔ(à}:Kütg¿\14xd5÷ä\v\81¡\0¬\19/Qe, ¼Á)cÕ
+(\93\16G\89m\8cÈ%\1e\r/\9bbâU\1c\81éºs\11æÉfh,R4çp\8c\93\15\84¤^ÆE\89PÌ<)*\844\ f\bì\81­HÙüxe\85n¼kS±Á\ 4²ï\0CS\1ewZåû\17æ\ 5·\ 5\9b\8ewìw\9cÂ\7f·àÅØ²½Zîø!þ4®UïdQ\93bþÔ\¹\83ª7ñ\86\eÙì\19\ f\1a~~\ fúž\93ý"ßÚ\b¥\9fÿµ/\ 2\9bÅ©:Z\9a÷\86 åm;ÁY=}ó©»\90ɧçêFkR\92Ì*nÔ\13ùÏÛ\ 1\14Ï£j\9cK\99\10
+ÐACm\93KRÙ3m\135Ê´\9b\9d- ó"Z\ f\ eËð-¥\943\9f\1dJEË-¤mÓä\9fe³é×û\vK¡¥È¼\8bWÎÂ\väÝgæ.\13vÚï\8c1ÉHº×\0K\r\9f+\87ѺW©^Ë`@R2­Aú\9e\ eËîOÕ\0C/ã\85 Õ®¦\9eÏ\9dëÇ\8aì\8aA._Mç}ó{\80\8b\1dM<\97\91NEÌx\aû\80\rFÆ3\\8béµ\r\86\v\8déª\1c¦\97é¶\92¿Ï°:áà\10w¾É[-Ç\1a:\ 1¾H\8aéLù/"½\91Õ\9a2ðs-XÕ.`½ä\82\1aɧþp¬¥»ÖÈ\90²àV\ f\8bcòSò0\92ÚiÍ?«cÓ;b«ñ(@3Ó\8b\83òebG\1e\vDz\r©"Î.\83\94Ï\83\92O\9cg|Ð\19FXeÛÃ\15>¼ÖUí\ 3*ó´pcòt\b®\vòõ\9c{ôñaz|Õl8оh\ 6 \vteÆ\7f
+,+ª\1d'!sN73\9cZ¯W\82âÍH®qk/Ê\19\r\87é®ì\91ãÃ\91^4\19ç\a)|õ/\1fÒ@Ü¢¿ÄÊßñØ«òÍ|\16?kï\9b±ã~óÃ}!¤0\8eÆrN¨\e\96¬ýà\1c¨î_\8ci\9b\v?\16ª¨Û\ 4ÞÚ'"Ò4ý\876A\12v\1cõ±\80\85{\9a\ 6f\13\8c\ 43ou\^êÀ\8aØÓ ¯\9e£í¥v¦    ²NÈÝøDK\1f4_©þäbÿ-\8c¥ËÕ÷
+¦2\16\99\81lõä³Î8m¡î\ eã%lÿX\r<ÖL£\b¼\85\8fE9ä\ 1\97Nd\\9e"sJS6ÎöÚ\ 1\87\86.Úë\94Ê:åR\8e¹;3\9eÒO\»I]rK;»4ÌF\e+Y´Ðá\8d9ÿ0°Úè,\
+\9d\16®D\96µ\1càÄè*£\9b\1a\8bË\1c\84\8d\16äX\9f?öЬ\eéKÿeòXMÝP{}"=\1e\86\82\f\rég¢Î\ 1x\18"¤m\vb<\0ܳ\83\11_m\12¯%`\ 3L£ÌÂUà\14Ì×Å\8dì\8aY\8bï[\8bã0^âó\10U\19]ô½ôòlé8jÆ\97ÓåÏÝdµ<|}e\7f\9cÿvJ¼ä        ð\80&\9d{\19­ü\95Цº\15ü8\1c.ÿ\ 2e.À\92µW\8d\7f©Ë\93àÇÖ~\1f?6~\a\8f7Û÷jý2\1f\1ab\81\90¢LÀ\11}}l~Æ=\80\94\ ej\8f\1aÝ\8ec6ìO­\83#\1d^üG# \93\81\fëÀe\\94\15ñͯJ\95ú\ 1þ¸úÂZúu\855¶«|N[ÑF2\1aÄN å!\1a_G:ÊÐ:\1f\84\1d°ÍO¸¬à_\1c¨cÌ\91k-¯\ e<\94@\7f\ 2¨À\ eñH´\ 4¦î\84\92(\8c·F\94ʲ7¿\17\87<{\91}\0é\8apP\9c\17\ 1âðo¾ö \84\9a\ 6\ 5\12a³`Q\ 5îæ¡-LüñûP/¶é6«H´Ro\6\1e
+\87ï\8fܳk\15\89\80\8c\1a%\r®hý00\11?l@N^­ã\1aûó%\8cô^\192~Ë¢F\ e\86òg¤\9fWþL\84\9e\89ÂLÚ\vfÕFÜDÞöä?\9bµ\83YrEbnôPÂp/Óäkê,T\9aë\95\91j´N[ô¬\ 5ÚòѾ~\ 4ñ[;ÁKSNÙi\16hIôâ(ÂnJ{ÁS\98hH\9b¹Z')Ý<X5üÚí¡ôªô\98oB¬\80` ×ܬ÷hdû*Dè)\13åR\ 5[(çkf"¹\15<L>\ 4\ 3g]@7×\9c\80l{´Í\9d\9f\80\82\ 1¸\89\9b\8a^\ eùzËÚKÓ¸\9f¯MǪ~-?¤¿\1aá:Eðvô\97\11´íþö\8bÇú\17i\9d\9e\8b\99é-ÎËý÷{\9f\12íéÙq\9aN­3kS2ó{\1c\1d¾\ fe7s\eO5»ôzïë»ê¥m\9buûýr\86à&\16Ü6Ä
+è/­n\99¸aá(k¤´ÿ\\97={\9e©8´î\8fÿýGÿ\9cLÔîÓp¹ô\8eìiçÏ2tZyóèÐ&âØ\f\ 1\v¡5+\ f2òU3ÿ\97\ 61ü~\a+Á6\1dXÙÌ
+\rä \8b\17Ú ±\16nZÁ^w\9bxX¨Ý8Þ'l\16YmþÕ¦í\99XS©e×§¥öûu1~Ì=ú~\8b¦\8aÊû\16=;FRyÚ6À\1d\8cX?\13\86ê©ï\0\çÇu\ 22\8f%ÍÕ\89È\8dhmr÷NÊR\15\9co,fÏø\18]\16\8d\8cñÿ*\9eÜCÛsü\14Ú¸è¤YÆF0Ú\8f!\12¡\89|­FWˤÝG\7føÛ`à}Hïÿ,_ϱâÇ\7f¨¼Ýú\1e\wþn\7f)Ú;\8eÿÎão\82\16\9fÊùlu¼æ\92zÞÀ,\87GJȳ±\9c|\82Ìlýw\15\93§W\94\80*\ 1ÉÑg\7f\1a_}Õ\80S½ª\12µ\14\17«¦g.â²/\01.z\9d\82Ï\ fö\86Ôx\1f\90,ø¤\88§Ç| Í:\88Ø\17\90\0è߸«ÝÈ \9aEü/4%CÆÔ%­Ê\15÷³\10k,ื\10\r\9a4òÞ«YsN\96¥FÍ\8fû>ج\13Ë]¼­'\ 5¥\14ºð\9cN[ºë@\1a\92óÓ£+5%±)\9aúSµ\99sÍAu4\9aöi/g:¥%\99­\14¤\ý\96÷\1c.¿T½ÌÍ%Í&¹G\vÀp\9e\ 4ÿy@0ª\ 4Téaú\v\19¹\fÒ¹x0\17ò\86ðÞ\1f\86¼x%\10tv\17f\84ñѲï'\ 3\ 1å\10§ PòÝO\9féxE\11@}¿\ 2¡¸Æ\8e\ 51öi¯s6½\9cÏ'jw\ 2\9e\ fdhëÜÌ&oTj\9a>\ e=%É嫵À6\96;\89\18\ e\1c¶N\93`\99­±Î\14\9c¡Áì\89å8·_]:½\9cÕ&Ðí \9b\88½Ëx\ 6ä¨i\ 1\82Þ\9e61Âx;co\137ÁIs\0Ü'\eQá.\98Â6\91\9e7KN/]"\87\1e\ 2\a\9cS¹à:< \7f±CÅ2;/\14îýH¯\1e\ 3\85\v\95\ 5\83`^¬Óë\e\B
+Fs6ؤ\96%dWÇNEª\8f·\89iû;Äx\bí\98E;\81ß\8fø¾ïPË<"!+\1fµú\ e
+án6s\13\19\9bbÍ4©÷
+\1eu,&èxM©\97\1f\19\ 5¯\16ÿ=6y\18^\8b\97÷\97}ÃÛ°­i(\90dÝ7ÀKÈCÚ_\890Çr@¼÷\fä\86ª\91_\93o\13øvëïæ\vÁ\17!n&ãÔb?±"Bü       \84Îü^D¸~\9bhW¾\ 1\18\7f\15Ã×ò\ e3\997\80Ö·Û\a     Ü¼6\92\866s\¤o¥­<É8³÷~\ fcD\9c÷¾ã\98mâü\17\vûs\a{
+=      \12\82\89¡»×\86\8e\9dÂ\8fh´«°éý\8dsÜ5\8a\8f\81G\16\80\8a\9a\1dÊ\ 1\16¶!©áÚ°\8ch\b\88«ë\b\ 6H¶DMl\9bØ×áÀ>z\fP¬ìNk£±\8c\9e÷eOx}\12X³tò\ f¢)ÐWJ];ìäýÈÖ\1a\86j\1eRÊV\13g\90oøOtd\e\rªR\ e:)\a\90aCý~E\ 2± ü?ûH?½ ¤
+àOV\1e
+\v½å\8añq}\12\82wfQæa}ìÉä\1eªDÅ\8cÈ<㣠ò§\90%V¤ çê8çê9çêKóõ&9ú\93,ê-\16ü±ÞÉH³ö\v\ 5O'è\14(L¶eb\91iÑ`\ 1EÕ^êaeîg\95^ÍÄ\11rAi\ 6\90\88nkû\87áz×JínU<wi5Ð\/Tá:Sýã
+ÓõQSÍÃýP#S¿d\1cgnÆ\1apQµ\84(ÿW\fzx\ e\90F
\11\18Pd\89â\95Ã\10\0ÊOº%~²¸»\96^Ï«U{\9bò¼\9d©Ü
\90´9k\9e©cm\86¹£­\83]R\91\87é\1f¸gpç\9br©Ã\97\vRk\965¦EÂ\98\1c¸=\88ð[\96\v\88ê¯ió\ f¾`U¤Ú,\f\ 4·\87{\1deQ¹5Få\93\15¾J4ã\95°v\90\167\füZ¨òì\89\1a¾\11\98
+ò1§Û£Á²\12:\\1eEò3ÃE/\asÑÝ\82ðÖü
+a\11\9e¡\aVrðC´\95»p\7f±D!\8d²g<Q¹IR\91Ī1Ãâȵ\ 6\9f\8dç9\127РÏ^ \91ÿ\89\eÔfFý+27«üdoÿ=º$oQ\127ãF×*G\15\1a\91Å_\8aG\19\96\1ct$qø9¨\91ÇÆ_\7f\1f<\91#\8f\12\89\1cT\89ÄÒ\89\1c_ÿ05oå#z\82FüÑHÞ¡´\8fãg>Ñäoû17¾2$oW\9f#|Ì\99\eò\1eùHÞ¢$oU©\eêO"¦:öFõeHÞ¡Ú 1\86)\eùÇ\91¼»4Q\88ÜYLØ×½É#Ãwv#k$H$¹.v<\8b,z Ç@\86:¦Xþ\98c¡C\1c\16Xòa\8e\89\fy\ 6Xñ¡\8e\8d\fxöXðá\8e\95\fk2Ç\7fÖ\0!ÛaF=\12\ 38\89iò|ÿ\ fX¤É¾XÐC£&ùZ+\90ô@³\ 5E l\13m\98c\90Í\14\921\98ú\8cbymQYä\ f\10¼6ÌÑ[ëQ\9a\82hE\15»Vs\8bçy'\8bùͺ|_Íætx¼\194lz«Î§\17\17ó\9b3ÅúVZv]aå9¯ÛBÂ\8f\ 4a`¾\8e\82÷\83\ 4$¿Ê²ù\95û­       \ 3xp&\b¶ÉÄ!0ë/\97Äs9+³¾&ÂBv\tì¹Eá \97\1e\r7\80ó0\ 1åÀiE\89\15pw¯ì¶oæ¶OðWD.FþËÖ\ 1´\0\ eFËp\16Ä£\9aû=\17ge¯\7f\82\18\1c»úýä)Á\11¼²\1cfºÊÕþ
+8Å\9e7õCgIJ\e÷ó\]\92WW\98ðc\%\12iy«é`t\14üê\1f?µEØ\7fe"õz\13\82PÜEè\va\7f\1c\877®ÛKyèWý¬Ksö¹%\1e8&\97µv\ 5­rÔ\ fì¹\8a\9b_çºcÈ"BÑú\97%ÏÝö\9a\87C\13\ 14E\f»Á\8¡\7f_ -øqà¨\92\16\18\87\9e<#+cË\19:i»@Y7¸\88\1f¤\r¯d\b\84\14Wu\ fáâ\8eâi\83®t^\10â7ê8:ÍC¨nì7AõâwmÞJ'Âç;Ö\vÂuî\9b\9af%¯4¬ñ\ 2Ö\1eÇ<\87Ä\1e\ 5¼YL«"<KY\16'`÷\8fÉ=T\83îÈÐ\1dô\7fi\12+ô_\81T½+8\9b×@|_ú
+\ 5ô\1dúb\1cRþ@á¤ðü÷dî\16çtÝÆcPî\1f=ÚUô\1d¦9áÝ©&aÂvì»Lp·\80'nNÓ¯\158\85¿¯ßw«I½þýé$\92I='¤\84\90\17@<\89\ 6\ 3\ 1\84`"%) #\ 5\bFH\88\89D\92{Ð"ø\92Y$\88\15¥)EÍcññLV\98¦)\9câµá\ã\8e­­\17\0\8a\94®\18\89\9ac\Ò\9cµA\riEÍ4Z?ÿûýû÷ïï{ú{Þ\90\10\88\8d¯ß[Î[мçÖótwKssv6Ý]Î^\86énÆêî\8eæç\7fu·C\7fÀ}ÙÝýÖÝ\ fº\9b­ú~óëd\92\8f.\1aJp8\aéRt\1f)0ÒPÈërºy2ÁÛþaà\84\1d.éÖ\94\97âæ\8eâ©Ö\96\1e:ÒîJ\ 6Üglò\9a;\8b\e<.\8eã³YùKéü\15PDq&~ÿ
+\8f\8cgÃë6\9bHâî_2ü\1f²\86·¹;j>5\1fÄÙÇ\12Ç5¶Çq¸;\87ûª\1f¢Y\85\7f&6¦\95«(m¨Ë\ 3è\87\eg\1d\1f\89k¡çüÓZÚr6öÛO\87õË©À"        ~\94t\8eÐ3\fê\ 5¹ïÅæØ\vo03nÙ\ 6Ä>¶ø10\*K\97ìA»m¥·\98EôRÛÚ}yCñv\90\eQImeøW¥6»\81\e\8fÊ\9e\bÓ\90¶O\98<Üp1\9fzëá·t\1a£»[{{Gm\9fã\14·I&[¬ñÂZ¬è
+Y§
+Y¦`K7¨¾\81¯\84î\ 4¢p¯G\148NN\ e+¶£È\17¶Lú\9c\v4ô=ú?Yå\9fÁÑúÙÛ;æ\8fÖìÝv¿¬~Á5Òf\85Ñ­Òkl¬C¯
+4²I\1f°©r¡OVEñchyûv¥Ú\87\9fúK\94«l«råÖÄ\14¸ÛÂa\9b\ 3âõ±\9c,5³¤»ium¼ÃjÞ4/y+µÏ´ÿÉ£ÂÎCjYm¤´!(ÿõ\88é\ f\84\ 3ø(í¸åðàÿ\81\97Ñwºíõ+Xö¤²öS\8bñ\93v\99!u\12{1\82è\ eË{-ì}Bi\12\17\15¤?\a\97£ÅtVn\8fϸ\97\82./\8a}\9c,B~\02}\93º»Þ`\8aÌ\eý\1f\16à¿]\ 4S4?=kÓ«
\fyæh]tO9\11Þø¾üþ'ú_1Ù$­\16´úFõaNæüo¹|TÉÝ\92Ãñî\11\8c/\83½¯ûªÒ]\92\1c\bø\1dé3_ÖÛG[\7f\19Ö\1e\8fi¾wFëanî\8e'hzÛG}7\99i\18,ÿwÓm\1d|\8d\9f§§\16ðV~¾;F\9eë\16l½£ô?#®ëÂ\15bÞ[\\17\90£«â\11 ~É?\ fóm"¤|\9e\14WÝú\9cÿ\92]3&ç\81\99EÒúÃñ±ÊL·»?\f\90)q{z½iüE<Æ/Ù»\97w;mu²OxH\9e´KÊuáy\9fÆQrÛj4~ß\8dí&\ 1\7fÁÙóÜãyõ¡Ýܪ,O6uØÂÛÍ¢y\14\10\15}Jöä\89\ 6óêA\11ç\8dùàf\ f\96Ü·jÌü\r¡õ3I\96æ\80¿r£cf\eoCfïnÿ_$\ 6\90häÀ\92\1e\93B:pîØû,rTÖoòú&=\15!ó²\ eydp\9e°i¼4\12¾ô>µ&\82ZàÅ|xdØ\9a$ß®8\ 3\92?ÙDºãÈënÃó\91\eWh§Ftmß\1a\1cå,Ï\ 2IÈíàpû0ö»iÏviÉ\\9b\12ºÿû2§?2\18õ§\94¢ëÃ~½\15\81·\99iÅÌ¢©Z9àãÖ\a\8f\f\1cÚÄVò\1cz!"¹TT@ÑË£\12'\ f\f¦
+\11\9fÐht:\ eDÛ·=mæî´ä\86zpÝw\ 1\10\ 6«\1do\9fùd7üYä8:Q\10ëQ8\1c¼ú;CüàÓ\8f\ 3Æß<{º\91½È\89\80\81A_±ò\87\98Õò\876¤â¼\ e¼Øx_\ 6\ e\15­\1c\1c       ß$
+zùL·û|±Î\fØ\94²Üç\ fsF\86³5\92³\1dÍiÎ\99\7fu\ 2JiMnôÙ@\9cú@îÑ\1a\v\8b_öPiç\rߨF\1cI|ð\82½`ÓÈ£\14§Ý{~\86\16º±ýø\868Q)´\82\0ä\95\eÞ\1c\aB=ì\f\93\9f8s\e\8a\11®v\ 4\8e·¿¥\ e\1d+Sg\ 5\8aN=\99ËIDùÓü®aìO\1fi\96>ßÐ*AêÎ`Þ5³Lg©\r;6©gN$\9dþHY-z±¿L\a´TàÎ\8aÏÚ\Îj\ 4\8bÖ\8a]\95\ 4©ög½}ÈeáÑÑ£¥\11%üÖ§û¬\ f-R¨\9f:(¶zvîĦ¾8Se       \87yûÁµ\ fêZ\92\15Éër\87\92Dø \8cã[\15µÊ[çàZ\1f\944\ fs8ý+ÿ\89\ fµTGx)[\ fó\8b\85JrgáCG\12\1a5ÇU\9c\8b\$Ç\ 6«\1fë\ e\91\915'4ü¦IW-?¼<\a\7f\ e\1f|BµçÕû\c\9b<àÚMr\94ôä\ f\14Ãr\92ºµKúöù\ 3°þ\84lrb\9ak`Ñ\8d¹P\r,RmÎ\89\13\86º_àÕ\95\8cvç¿\92ÇÊ\bóL\1f=\0¨ËÔ{Ʀ\rn\rÞå»\aò\ 1·\95\ e\1cà\87õÇan\82\ 4óͪÎ<\98\ e\ac=\93T¿,\9a¯`?ô
+\83õ'vëÆ­7\86ó¿¯>P\ eI\140)\8e\83¼ÞÍ((M\1d\11íë\85ÙõÇq»µ^\12\9cÐ\9ak\89ÔX\7fD\1c<ª)ùyÉ\rÁw    Ð5ýî\ e¡å>rÛµë°ûK?\99ð_Gj~\7fò\16\4GÆë¾\9d¶çÑõþ\87Y¤û\98îéÎ÷Ñè;\7f7\ 5ÉÈ\15þû       \8bãÏå~]\ f\857°ò§û_Ø\8féò9't´0\12«½\8bÚ\9cõSç®ì«s\95Õ6v\96/]Õç^ÕöNë*k_=y\86ºcÖ×ZÔ¾­kqKiTú¶­ßd÷A\a\r\85Sêðägjl³¯Ü×ûwï\83oSýü\17¡K\16Ù¨\1f\8f£¦Êå:|­=ÔpÚ\1aP»öÐND\82Uw\19\18ó\14ÌJ¯7ÀKAÛÅ)&\0\95·\8eVܲ¼}\8a\95zÞÑJ½\92¾\ 4\ f-{\bZþú\ 6¹'\87\97\v\96ϧ\85¯K\ 3]ɧ\85\b\870uÜc\1a×Ç\12>ö×"ç]YÁ©þ»¸ZñÈnIü¸2\87\1f/ïÞÿÌÙvR\133\ e\9az\b¾5\9d§/þÒµòåno~ëêäY\8e\9b&i©èqX~\96}Ý=\1d\ e ¾\1a8@×\9fÄbnuðêgÐOt¸\96Ùë×[=zëgÏÏPb\9bg¯]lõë­\9f\87\9e\9f m\9e½u³×¯\87M\9e\1eÇ÷\7f"{\9e\9e\8f\8c\8bèdâb9Ø´EK¹þǽ\13Øyé(ÈüßmFáìLTC\80ñ»ü®ú'º¶Ûñ!¿\8eý\12\1fþ\7fÐæ?ûçÿübÿôP?ý!ÿÿé\1eÏïú¬{?¿âÈö\7f2Øö\7f\97Dzøö\7f\9c1ìþgó?¿ß\8e>\1dö\\9eW#L\9fü\8e<£øX¶\ 6ô¡üZz8\ 2\87\10\ 6"\0Å?\17ÊA\90äö\96\11Cß)\0'ðÜ%\ 6õ\96Y÷áÄ\8d0;8\97è"=µ\9cßÍÓ\97Ve'Ç~=5\8e\8fñéÍØÍôSv/ÓfCYÓîJ1\12[¨ý\9cm\84fn.\96*yÄ|J#÷ñv\11SÊËòd\90xá­_õþæ#Ñ1A|DÃ\89dIï\9cìÚAükFúå\97ìõ\11\13Î/QȽTH"õ@?sê[f~ê\ fomnÿÃ[ÊtKDßnQ-A"H\9bîÜÑ7ÙD»\18\11-¥·_(\8bÞ¢\ 2Û¯ºyä\v0=«;9Ë¢h4æ¨%\91\81\9d\95É7A¸½!×\12K}#o\ 1ã\93\8dD\9b\89\94?Zï¤k\9e-\11ôP5×\98,á­\886ÿm­\92sZ÷ò(sM\1daíKÜ\94Z$\83ï\19a\17\9b\8a[çU\ 1óº[GþÒ\11c°ûëz.\ 2ØËZp_ÝBN\vòò\b\97 rY«îå7¿Z÷î ­{ó\9b¹A7rh\96Ô)\14[ÊÇ¢Wk%Ä\82¶2y+imSVtS\92\14S\14W¦Të¹\8c\12o\1c\87\7fáÉ\9f%8\99\92Ý\7fÝEO\Ñ\8d¥º\96êín¥\9bï,\1fyD^¶*}Ý\16l'Î!Ó\8cÚ\1aN\ fíR~\ 2)\9bj\ 3òä¼Ð\93\1c\8a\83÷Q\1e\8ep@þr\9a\12Ø\8f4âWÑ¢ÿQ>\8bý\ 6\1d\17÷\18H)Ĭ÷ý\10ßá\86ÿ
+7ø(;õÖO\93!s1D\9cWÊtç½¥ÃgUÈ[=m®\eº¯À¸{ù+p|ã¼\90\8eîDw\11üI\9f9cË\\19f¸Êùñ3ø\ 13üð\99÷h\9aq~A!8\97\13\11È\98³\ 2 ÜÅDb&'åC\86\1aô\12è\97ÝJX:ÍÉÒµX;¥Ä¿#\ 6£÷\8bhïܲ¾3\94\9fýÕÄßù\17\10]âÞ÷ÿò=#M\1fæQ/±\85Gó¦Ü¬\1amÞgij«\{úµÊF¢R\82i\12\8e/\88M£¼´+·7"\89º\f
+&Üs¨¿q&·Üí½óg3a1\9b\97*\99\92Ý+Ý@[\98òn\11&ÒÜ[r*Ç \87V"Aæ"Q1E+a)=ËN\8aþìËÞ-å¿Ä·ÙÎà{ÝÝÀ÷\8bq\8cÛò/áÙɺmÛ97:\e¹$}×aí\N·,í\7fr\8bôü+_ÿ\9dp!Ã\86gXp"ß>r¢8§\9c×*íÔ\81Þ\_í@x\82²îîBÍÇr\1cy\10ãÈ\12ã\1f~\9d\90ÛÌýw\8cxwOÃ\92øÒM@³hk÷-\1a\89g\98\81l\9d\ 2%\9cO¢D­\ f½Ç¢öó©Eî£$\8bÝ\ 5\1a/n2(;IÍ\97Ð\86^\10\12Ë\86çû¿²áK\16¿§\80L´ð)Ó\87 ç¯*5å\10ët5Êý°ûÉ\aܳô\8dÔ¿\92äoÒrW#\7f._É;ñí¤Q}³¹[þf¹\ 2ÜKF\bÏz\11\9eY\12ÜY\1ebá¿¢]ËsÂå±rý\0¹|AþRw§\84¹rÝE\bw,\87\Xë\a\18I\14a('Q\84\12\17Ïñ9íõþÞû³ý+\ ew7ÎRûpþòÈ3rÞ\a/3ýNYÌýú\ 4Õâ`M_¹O·ë¤\1d¾\1c?ut_óo_ná²¾N\99WÉýû/îQ\8f=\13Ë*\16õö\11kK>ïÓ\9dÚz\96rêÜzãê1]©)aØ#\fÿ£\\8b/"©\12êE}\eQ-Ò\a\bF\8b\85÷°_µóü¼\9f}ò"*ñ\9fc¹ù\7fF\93ÿt\9fAä]'ɾdøù.~\97ält¸\1eÏIgñº¯\95«ù¸þ4Ö_áù¿\1fað>´\97§E­Àö\8f2Xî\93VÒÕ\87\90ʼ\82ÖëÞß\83\ 5,§·¿pà@»ú¶1-­ÚÞC\1e" ³QS\87\1a4°î·î\ fò\88,[¶<Eþ&ZB\12Þ\eæÁt¡¨\18\99\eOI±Î\1cDÈK¢\9f¨Úo¼_åÝJêܧ;\ 2@t.\9cù¢üÄþw'\81Á\82\9dÏå=()Ýþë5ù«\7f=éA\97\11éÎu*vK]¹rÍð\94µ«øPZùxN:àÄ>\96+Äí«:kY)ìw\85\9d^·¢ñõÎ!!\8bß\1eã\ fåÒmwR½¯¦\8dwÒÆý.\9böï\9e>_ÓµÝÊì½$æ×þ³\83+I¸ò·r¾$\92³¹\7fÌøîc5Ã\7fp\9dxr@÷7¯úÜç\83æÊêð©×\91ò{ÿ\81¾ëmrzoÓèµ³\91ß\13\1fçk¦>o\ eÛËêuÖV÷ßGE\85íÖ\85\9f4½b¤ý\ö\1aÅë«\9f\8fÀ^ºåýzêî77\8a×\88S\9f\8eëT\97wÕ®ùzêwûÅë©ßÙ/]NýºõÔïï\97®¥ñ\ 3Æ^ºº\85\8a\ 5-Ùx\95!ÞLÊõÔ\80>ß/]Ht'\88½uvESª\|ñ*öÄx¥ë«\10îä\17¯!\ 6?Å.7æ\15®¨¿®^¼L&z¢ÿ\81\98k7ß§;\13«^-N}ºµþ\12µò\1d\7f).¿·Zµ§ÙÈ\94IàvSÎu±\9e÷_Õi;xûßÉí}÷\8b\10\87P\90ØH«´¤B\1d©0·F\9d\9d®ãbÉ2ð»\8d\8d&\13¸ØÂÍØ®¤\\12_VC\97\bu#\12\87(\92C\97\92\97ا\ eÝHÆ"U\12Ãdîû\15ì{\121\ e#\1c\1ahqq\19\12¯ÜZ¿q\87û\92\88øhÒ#â#J\8eÕ\16Çm\1f\1fÆø\1a[?¡\9eÈjrY\8fß¡Ã~¯Mü6y¿Ùã½û½?\89Ïaz\1fâÓwTÚ{Ù\12\10\ e¥y×\15Zú"Ù\81%\14ïª\ 3«\ 3¬\ 2X~\7fÀ\ 3\8b\12û\98\ 3ê\ 1\93\12ó`\ 4½oþØ\ eü\ f\1c\fà\98\1c\89"£@:ð;\80%ëáé@ê@ï\0\96\7fåÆ\ 1È\81Ï\81Ô\ 1Û\81ô\0Í\v_\89\ 1;w`vàxàp\ 2\88¹\10\1d\88\1dé'\ 1ajö$\ ed\ e¼\ f\90\ 6 Rw\16\a>\aÁ\ 3ê\ 1,Ó;X\aX\aÎ\ 32)C\9b\ 3®\ 3º\ 3\98\14\91Ô\81Ý\ 1\94\13©L\a\93ÈÈ\89e\8b+@ê\0î\0\97¦'\8c\95\14Ý\ 3\97\ 3Ú\ 1×\ 1ñ@ïÀñ\0úò¦¹mQ.\ 6ü\ 6p\fø\12Sxù\104 s\0^\ 1},^th8å\86d\0÷ u\0u@K\fàë\80÷\80{Ð;\10; ;`;\90;Ð;ùd\94\96\8e\ 3|\ 3\82\ 3\8d\ 3H\a:\aP\ 4\94åoÕ\ 3ö\80\8b\80Q\81\ 3¯\ 3·\ 3\110*b\a\0\a\18\a.\a>\ 4°çÎÈ\ eð\ f\1c\ e\ 6dH¸\1cÀ\1a /&M\10\92£l\a~\ 6@QW\b\a&\ 6ºö\83í
\87Û*\97íñ¥¯Üéõÿ¶'ذ\97k\8fJ®×\r¿ìz·¥ØÏÚ\1eî 5ëO¶\ 1²>Øu´sÖí\1d\98Ñ|}²)v~v*Þ»\ 2]²Y4ô
+ìÝsǵ¯\1f\9a¸O\1aöëí\84kN\19»E\81´¡\88{%v{/\9axWÚçÚ5\11\94þW\0ëÍ\ 4\85®\18§²_v\1a¯\11Ø\9fj\13f¦j`ÞuN»Ø\ e\vèO[´V\1f\v\r]ÏnË\ 6;£ÛíÎÿ$®\97g³Ù\eÓ \ fÍ£P½oÿ1á\7f¹\83)í»·s#Zoú{3\9b(\1dª\8d\92»B:Óp×54çÙBÖª\8e\91\97\ e^J\8fögÙ7õ
+\86µæÕ¼cá®aºig\9e=\1aÕgÿ÷ûØ4a¬i\97Rz©g»TÖ¼¹ì£[xjTÉ.ÓUÝÎî\9cD\9a³h­/\1c»F\15]ÀÉK
+h\12O\8e\1dyöqîÎ~ì\8dÁOhÓ\93j;Ù        É$\17?\83>ÌEÙ÷#w\951å:i\80¹TuJí¿×:+yÊ\85:\v§¾ñÍAÕï@­uÀÿÍ\ 1éîYïO¹\r¯>Üõ=»\9d\95Ó\8aôêc^{´!)\10\9eÄ䯩©}n·eÚ5å@ô÷UQ­SË\tû«9GæT\1f+\ 1Ó²:f×\9d\97µ\87\ 5`Ç~T  ²\85Ý3û®\9b÷\15åËV\e§B}¬;¾\+\7f¿_wcB}®;ãíWênlã'v\99RÛjÒ\ 37*tÙ\1dFì½·\97 «"láX³\ 5\8bÖµaíQ±íOºy­8>\98\v\®õEü\7f+\97Ûµ}·mÿz¸ËÌ\96\17ì<3R\17\ 5\9b\87ó\1c\181\97\9aÉ\83\fá²_ÃtÙ\9eÜU¤j@rÇ#©½F\r\ 6îä\95\9d>êv´ç-û¶¼ó~í]ñO5Ù©6\ry÷cvgB6Þ;598S­-\9bS\82\97'\1eªIת\86ÿ\96¦up\9bpéË\rÛ.èFÁP\r¾à½ÝÍþ)àË\7fL\98o+Ë\96Êgý¾ý\rr\82ßr.îç¹\rnvùS³\ 5¶¾äç w\86ö_\9d¾]Ë\ e\15\1fæm\95 µ\1f\9d«D\1a¹om«w>¥2¿¢f×à;á¿)¸5}î\1aló]Å¿Û\ 2Iëx§| Jf<»æôðjÕ\1c#{\v\82Åÿ\19ë{\yÕ¾\95I+mÙ÷\9c6\81ݦW\81£\9d8z\9eö¦\88ø;l\8fgNu©°¹ÙÒ©\ 4zÙª¹µÇ õ\a5yã»Ì«^¾ð¯ñZnìû»UðÚ¿áMüÍ\9a5@×Ü\8b\1dyW\17¦lì !IµÚ»\ 5»Í\807\8e\r
+¬çn×\9a\88Vn æ\ 5\97\81×\9ek\84w\12\8c@ÿèÀÃâé\9dS\1c\9cz\93¤ë³ï5Ë\8cæ¤æ^v\13}¶JØk\93\18§\86m\1fü¸\96\93\91p½¡Â\14ñ\15§\90Öó\84¥»T×IJó\97'åá êUÃ\92Ü·äN\18¦¥4ÍHÍsUi_\ 3êlË\7fy\1axGkMë]oaï×dÿ2­¼\96,:}»\81OØlµÕåÛU{»a®±.Ú«½Û\rºÂÝïW[vÜ\1c8ÿÄ"}^\f\8f\10\8e\90P\8d:}\1a1H V\9e\1d\1d+L>\95¦\ fHÖÎ\802ÖÕ^ö}¦êX©qñMh­¶ýï^ç\10¯ßF\1c\14Â\14½¸\83\84)\84ä×-\9aPGÝ"¹ÊJÕ\eSã[@\91\17\87àXr\87\91È}\81ܺô÷µÐ?e:i²Æ\85V\18¾4d÷P*3^¯\0\9fØ@ð\86åá\15û\ 6¼"Ëz½\80eäÅ\974ímßøIúc¡KÕrÔ·ÎçÔ*Á\1a\93ðëåB\9aø\1c\85­Û~ÝJÛ¨
+hÂÿêãý\92\ 3uð/?M=WsëÅxBÔÜòI,^Àø\eln¹$aòUünyý½ÿ©Ïr\88M·^ùÓwé\ 4céÄ\88¿å÷l\89}J¹\ 6aµiÄW[D¬\87­:íÞ[\8b\94:\ 4ÚBæw'oAuÌï\f\82ªü:Ê!_\7f\ e>·Â\9eö\ 2*\8b)ý­9k¯änÓà¡û3\95þKnó\89\95|Y©\9cû\13µµvZÃcåZbÝîÛ\90þTªá®¼5k»\98¢ÿÁ\8b®Æ[\bLÛ_e\9bJ~\ e\8fê\15àE2\8a²Î¼>s¾xc°G\f\9f=\19ãÛâ\83G\10­R±\1dâ¤\9c¸óÊ
\9f\863v®NÛ&®1¥¹$\92\9bµÛ¶%¾@Ü¥Ï?\9d9ÛZ\9a\8d® »?\11"U'xÕ[ÞÂñ\1a%b-AØ\92ÿ\85m\a`\9d\15×\10{ÿþdØ¿`¾¾sKÇèùeâÉ\a ø r1(GbJ\1e
+)\b\9d\ 2^èÏ\8a\aÔ\ 3-\16\84a\80åÀÚ\92\rr\ 3»\ 2_\14Qé£\10\8eø\rÀ\1cÄj\11±\8dJl\85â\81ÀÇ!\18ØâöÞ\ 1ÏQx>\0\1aHòöw¡®\ar\a\8a\ 6\82A\bÍ\ 1í\80÷àwàc¤C¾\ 6Ä\ f~\aÐ\ 3\81$8ê\a\\aê\81\96/FP\aH\aj\ 5É&D\0: 1\8e\8b\8d0; <p8\19A\eÀîÀËJ\88>\ 4\93?> \ eÄ\ eð\fR\8bµäÀö tÊ.\86EÎü\12I¾ w\0w`|òÎ\91\0x }p1\97¤"QEÐÝ\81,c\92X8÷\14¢éù\ 2ôYå\9b£\0Ò\81¨\ 3\9aQv;\0:\10\12ô^å\80\ 2|\10;`; >\90\e\802òáË\ 3X\a·\ 3«\ 3ó\80Û\81ËL!\1dÀ\1f<\ eùEÜï\93"WÀÔ\ 1°\ 3ª\ 3à\81Þ̤è¶\18\ e$\ e6öhâ\ 5\1d \1dp\1f\14\ f \ 60Qfp\ fS|A\94\97©Qwò³·Ñ;¡ì¿\98¼\8ay(Þ\9f zJ\17ðn\8b\e¤¼]j­Q©2Ø-\94[à(\82\1d\81ñ\8eØò-«±Q\ 3õÜëb§-<H¯Ë%ðF¿\ 5W\8d×\9cQ­6+ã}_\97£z¨j^4½ÛEF_# \84^wߨ³ýYÝwhlÚ\96\8bÓ½\85x+÷¥ô\a¥¸¯Ê\8eéJSv\86ñ®ý{\18\ e\8aHó¿1\9eôÜßþ˽©¾öJ\91÷§~
+eý2\97vé®Sè\8eè\14Ùï\93äK
+ØõM1ù3gRluò@Ý\97½{ÿ%ïß+\8eåü\88Ш½ës¢\\7fü\13\99[#¢jKÝ\97\fo\ 4ÌÚÙ¨Ï\ f@wÓÔ\9d\bk\9a\96üðbç\8e\9b6'®ü¾[ú1Ù(\9bIL
+Ëé¼hѽÛ\86óÙ¤\9aoK©\e^
+¨ÿÐ\b\9f\8f>F\9a\9a)åo*\89¥¿h«µS\ 3Û\80®ÿ\fKAÑvÌé£d¨+ýp½dr`µìZ06\9f\19võUq²hÀ\8aj3eíC{»\rnê6ñPO\82®dö\18;a\83\18;a\83\18;a\83\18;a\83\18;a\83\18;a\83¿û0w\ 4\8e¬2%}\a,Á½2\8c\1cÕÂ#\8f\8f¼0nß8*JËÖ\9c\ 5|®Tt\98-+\ fú\bV\10Ý\90÷\83Í¿\\1a%Å^´ÔNõ¢C¯\94îóI^°Ã[\f5ÿ©\86¾ßÜëþí@÷ Kã\ö\9c\ e¢\a`\16_\1aó'âE\96q)ðU±\91HA+Ã"D¸Å\9aOw }X¤¦ªÜh\1d \1dh\1d¨\18Âõ£\0{\906àe#EÄ q l#K\17\9f%\19æùàeã\93òþgW\1c\94OÓê\81$\84?\8d\8fJee#\ f{ 7\0\bE@\12øb&YT\16à\fü\88tÀì\0ðÀÎ9B3@u I\r\92\ 3ª\ 3¸\ 2IYß¹\ 3¸\ 2I÷G©\ 3`é(\83\1cÐ\1eà\ eÔ\ f\9e\ 4\92e>\ 6TR\1c\r\98\1dP\1f\9c\az\a\80\aÔ\95O\9cÄ,&«2I\9d\84\ e\10    fZ¬ia\88p4Às<¾¿ÿ¸\ 3§\ 3©\85Ø\ 1÷Ê1\86]\7fÿ\90\at®¿ÿ\8c®¿ü\8c\80â@ä@æÀ÷\0v w`}\01\12èDÐ\1dlºT\ f\1f\\ f;0 ø\1aP6\0{\90>\b\ep>¨\19©\91"ð:ÿüÊ\8c\94b,\96@.\0     &\râY\10ån\19Tçî{\18ZOÓzοÍ\9d\7f\9b:ÿ6uþlëüØ^Ý\85íØ^Ý\85íØ^Ý\85íØ^Ý\85íØ^Ý\85íØ^Ý\85íÙ×ù³¯óaxv\17\87ä\97\87î}Âðú\1eAwõõÿû\08\98\91IX\94¦xÒZ\86\ 4\8f\94I=\15ìÀ\92\e£¸\8aJ\99\ 2Hýà\90\ 1\7f\90\ 4±U>L\ e\9c\ eì\f¼hµÔ\r\14\17T#L\ 4\92P.ü &ì2RuzÔ¤\bT\\ 1¿G\86X\1d(\1eü\ f\9c\a\8e\ 6~A\bË\81îÀí@ñËÃËÈ\87L\ f\80\a\88\ 6\11T\aT\at®¿ÿ2\aX\ar\a-&\95Ú2_\13Cܺ\15Y/\8cã.\89`n§¯ûª\ 3¦\ 3ä\ 1ß\81\88\95B'\0Ô\ 1Ï\81Ö\ 1%0\87ç\81á\81ã+°\ f\94\ 3Î\81À\81,`\ f\8a\ 3D®À\8f,\a6\a:\ 6À\ e~Y)øg·W`w©äxx~ü\97\ eÁ/ÎW`\96]\82\1cQuü`p\0q`z\90/\15Ø     üà;Åv\ 1q\92èC°=Ø\1d°\1e9y¹é\81+àq@j\0Ù\81Ó\81,ÒC»\ 3pIú6dH¸\1c°\1cÔÊSó\8e°\96ú\80\1f<\f`¢®\b\91\ 4h\1eÄ\84SÝ%áþËÙÜæ·¸,}ZÂñl/\16Âñl/\16Âñl/\16Âñl/\16Âñl/\16Âñl/\16Âñl/\16Âñl/\16Âñl/\16Âñl/\16ÂñweâÙçÃÙçÃÿÃÏ\87Öªä<\91þß\19¦\1aæyðö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxÿò/\1fdw\93®òúæ{iö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxö\17\8faxÿl¼~\9bÜ/\1fÚrü59\17\93ïÉ0¦Ä¡\19p<P$\81¤k\95á©È¼\99,\90\1f\\ e\b\94!\1cY(ÿÔ#¼\ 3·\ 2æ0ZÂ\aP\aÎ\ 33\1a\84bÀä\0Ú\81ÓÆ\92\evB>À\1ev8nã\92¡+|\80>¹(KØðË\ 3Û\ 1ð\0ï#Ó\8emKÛWæ\0÷\80vÒ       ÇG8 6 v x pÎP\87\80u`w`eä\90\8cÐ\1dh\eróÇòb\v\81·\ 3&èOh\eWEð\1d¤D°$\8a¾tàvà~À\18©T#\b\a,\aB\aZ\ad\a|\aí\ 1¸\ 3\19,\84K\ 1/\85$8 3Àqe𶬠 +°|¸\1a¥{m{\10:\10:H\1ex¿º\ 3«\ 2\7f»\ 3¯\ 3à\ 1ðÀíK<l\ 1Þ\ 1ß\ 1ã«ÛwÌ\81À\81Æ+ÛkÖ\ 1Ó\81$
+³½\ 3Ã"öòèF\0\ fx\aÈW\86§"òd¸\qs       öÖö u\0|0>p\1f\\8b×Ì\89\17\ 3\97W\86§"òzÐ%ð\97Ï|\ 68QVp    +î÷ÀWfßP®\f\16uã¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ¬/\1aÂñ·\85ã{¯p¼n\97\91\83\89{°$\84\84KéAñ)\96røpùq\12\9f\89?v vàw\ 4\85q"\93\89ÎË\a\18äÀéâÏ\15ý¢Ü\f¼`¦h\1dX\1f<\rù^xÔ\95¡>\88\ e¨     *{\9e\18\1c\ 4\81ï@î@ÅG¡\13\84µ8@é\80\92\18éß\ 1\8e\90B1\80j\80ì\0ùJÁÇ%ô×\7fD\aÃ\ 2KÀ÷\12å\b|\a»V\ e9\9a\92\11¼\ e¾Hþ\12Í\9a¹·Õ\81Þ\ 1\13\97V\ e9\93\94\11,\và: 6àx`\Ê\8b£Àæ\80é\0ëÀí\95ío}P1\12Á·ø|ñ¯$¼Júñ\96ËÂ÷Ð<ñ®Ö\ 6\ e\81ß+\a@\91x\995{[ÙÕ`æ\92Á˵Àu@v`wàI>ïÊK¡\18@;\0;\90\bD\80\19À%\9c\80s@t@u`vªÁɱS!§\0¼Nt    (
+\1dx\12ùÓsÀ\ 3((«<\ 4¾u(\97Í\8e;\ 5sã®\97\8aÁ\9b6Gy\8b\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vʰ¼«\vÊÝ\97\95G¶·>ß+\1f\1fú\1dïîão½__Õ|ÎÃÖÅ`\9dMt\1f   \16г4Qcãÿ\84\88\88­\1a/±N\aïá\8fÜ@ýé\aî(~þ ýÇ\ fÞ\94\aïµ\1f·c÷l?xãÇÁkøxøO|<|\ f¡F\8a\12Ý!'¿B\eh7¼\9e²pì\11ïÎií+\9eû\9f'ÝÙ¿ÿmû_ÊÈ\7fýZõÕõ;­¯\88È\1dÒó}ú¿º§êؼò\8f\9cÚó\81º\96\e\1cÒó\90\v\11\7f\88\83¿\97\83VAÿë\96·ÐÕ\9d\98Ö±a£\95¯×­b±Å/9¿©ÇVAÿ^k®\9dVA¿ÍA\87È_É\88\ 2ßû/êå~ê`ÅãÍÇiÍøiþ«\84·(ÞB\\1coa|\9b׬\84·2ó\90³r~v\15\82õ°\97\a_c      pÑöP\9f÷Ð\9cüô'>º\13\9e¼ÙÝý9\12ÿM\94«\94\8b\9aúy\1f¢ç1÷¶ø>÷o·U\89ÿ^¯\v\7fñ8þNSYãø}\f×ÛÖuú\v\9c\85þ&\1dÃ\88Ëðñ\ 46÷îÑ\19µÿy\96fVVfY\ 4\ 5\84Ú\rAj\bÀ²Rò\98Ð4hhJ\ 4%f@\9aLE\97\8c\0Ý\9a\e\ 3F\9a­\81H\95EQ¥$"\vF\9e\11´\r\ 3lýÿû÷\9ee\ 6|ÝûïwÞ{×\û\9d\87Üìù×:ë\9d\8f;o»®uÎË\9d¯Ýï?\88\7f\7f\bÓï¾ÖÉe\96ïd\85o\9a\94V!ý
+~Æ+[T¢±\8aÉõ\ 59\va?©ø\91\ 6»Û\93\7fÔULAÑìÊ\14¯â¸½AI´å!K\0T\0aj\a \85ºd³\87þ²\vZmb\ 4\ 5\8aæ\80EM_ÚMNÏèÄ\9a\ 6¢j|åËâÇQ\-oËà«4¿\97\877ñX½Ú\9fªF\1fC{\16U-l«\18®\aM[\1e\84(JâU\90¯\88¤Î'c$\1dÞé\92\ f\19\b¡\95 \9cõ'gk\ 5Z\8aµ\87qÍBZȯ$¶\87Ä\86        \99@>JÔÕ¡ëPLA\92\/ðþ\88*ÔS¡N \8aÖCè\84\16R¬Å&B,$EYà\10ä%(«\83\8d\86\87û#hÊ´\15ñ\94\99\19AôDÛHD\1aÅ\84ØS°a6\ e&\12ñ-ð\ f¢,YE\86\84xa0\ 5Í\8di\9bZ\90\88\80¡åÃQ\94¢¬\ f\f5\1dJ*ÉßD\8c´{g¶ò¯\ 2ÿ&o;è\94V\91BZÇ\86\13ò\94M\84\96]\85\88\14\90[E¼\8bÁI\9bE\84ÜUÌ«¡I\9b\85\84\94¥E]JL\94XUÒ®Å]ÊM]\1cx1\14¢&\1dx[í©E^\1e\1a\ 2aá§\1e\1a\86\8f©DM\1eP+ÊÔ\8a\92\ 3\rÀ{5¸\ f\f4\ 5J&Ñá\86\81)DÜ<0Ð5(\92\8f\ e¾U¼XuñáØ
\v\ eÀ<; W\11aØG\86äUÈXnCÃRSȰÔÕí\12ÐÞ\8bhnñø;{\a\7f£=Ë\80ßkð6\1fÓïÖS\95%äY'\90Û,Ø÷¤®÷\8bóWØÑ\ 1ñ´@\84vOr\9a7h¦\99Ú)¥yKtvÊË»ª°\9d¡ºç1îÇ\95úam¶\b
+¥3.ÐÞSho}óz\ fÔ\91U"\97î\ 4\87´S\ùiû,­\17\81\9d\96ÿ»E3îÐÀ×¼B¹eâæ\/{I\e\8f{\89u3®ÐÀ×àóó|w\14{\87­\85\93æ®`"þ[\93³§á¢ºsq\17®.)]É.æÛ×ho±ÿÙ\ 2©ÝÞ6_¦ûóù¯\9cºk\84Õ=jßy»`»>+\84ý<%Ã\8d}í[ï\9e¬\13¸øÅÃ\9cnà-\80îB®û\98­\ 1{\1fV\84=\7f­\92\83?¼Òã(«\1c>\81>\94Îж¡íê$cÑÇ+ÕÔ-àÉñð_;Bá_»\92¨°÷°ì`5\91\vu͸;[»O¦£íëEg³]?\8a÷\9fÖÖ<¸®\9e\83a©µ_ñ¼h\1cýóAøÌmzo\99ÿѧÓUÚcåz\99µ=)$·¹/µÿ\92÷ã\81Á´úl½Ï¹¿ÅϨ³½ð\97ä娰òý\86\88nM\ 5g i\83\7fý\9f\8cÑx¬JüV×\ f÷SÄÿýS\9aÿÿE\ 4ìþëoÿ\a ÛC\89ÏýÎ!¸\87įQNüúÆ\8f¾Mw·®Øõ1¹\88ëÖ\92·ä\8b®ýÖ_½¡ÃVÐãC½uì·-ÔJ·½fÓm\8bâxà!/\11\9a/\8e\962\80»Þ\81Îg\84Ë©»ûVA·ä\98À¿i»ü\9cdÔC¥­.ßUùYûÜwó-õ­U\8a§\9f×hq©ë\95NÏvâ¢/\9bLSY\92ü\9f¯yhüï;\eäç\8dïH\98ºÆ>\ 2»¿hq]´8èÚ\1cxm\ e>6\87\17[C\89îµµ\8c \85n®½ð¾o²ëÀÄ+Þ\9e¨\96Ú¿²©3j«úð\93L»4v\98Ò\1e\83Úu\81Øêø}Ñ\7f9t\1eÓ°/ÿ\1a\1eÓï\11ï3G\18mçy\94w\99³'\1dTgyÉ\9dç§\99÷ý4ßêwlÌZ±\8dÿ¯
+þÛ­¯ñ²\8d\9ao\1eJ\16á¶\81îm5\98í\8dº2\91¿k'ÓÍX»\9cêXÎ\8d\ fÖì³\80ÛÄ\89ü~\96Ë\\9foP§\8b§Ç8pTø\ärEåå<]UrÚ\1cí\17JÁMÙêe/ûú/\1cä_5~\ e:\12µ/¸Éã³~|oïÞ\9e\82\8d¾â\10Vú0\8dp07e\1e\8f"t\8cg\òª¾\87\f\8aÎʼ_:\e/\8fÙó;(n¯ÔH¯\7f¼Zz\1c\9eý»mèÜoî\10\91ÒO|ùéZG¯?\ f\84£·.Äu\9fgÓóú\7f\99ºÝ»ôl×Bº·üýÿ¡;\ÆPqwþ=õ\91Ó\8d½Áëu\9c\en$\9eÆMªÐ\921\1e*K¢\9am׸\97ñÑÄå­µ\85\99\f.éN2bík\83àiÕôâ\1aòô\888nt1Ö\97\ eu;\b¿Ç/cßð\1aöÝ\9e/ÚñE&nÎy³3oó\94£K¸mú«ÑÍÿ\9cª|\96z×vÊ$úá1Ú\84\18\88\1e×\8eÿ\93Éãq\90\8eTnðQ\7f)Xß\ f\7fX×     \9cÛ °ÌxÒh0\9ce\1e\8c\8c\15û¹Á¬÷då\8c\89\8c\94õu\94õ1¯ö¾\93\8f\8a'\9b¤\82YEéÂã$¯\9c»þþè´®\1eÓ®ï+D¯mÖ\80èk(îÙN73kéñóù¹.æFóêèåm÷¨Ì\7fáA'\8béCÚÑ>~\8aP¼b\967}óÑ)ú\97\º;÷Þ­ªÎàà\96[Dæ\9azË¿Èa7±yg6Ú(9O·³\8cå·ùú¿Dt÷Gãø£¨$wÛ\8e\84åví½ùâ\93ï­\8a±\1cN\ fá    Â\97s_'ßàox¿bn¿\ 1\ fÙCø­¹¿s»²\19\8a\1d\83\8d\9a\91\12úçN\1e²\96\a±¡U\8eÕÝòYDû\8c6K6\96}¿³°dÛª³ï
+nüv-\99×ÍR\8a\8a\1d¢M\1e\82ÅS2×\91Äá1¾^N>\v?\97¸ÂWûmy<¬E\86\8a¦\95Û\9aÃ\r\9bé8~P\1dL~[­)çóÓËio2Ü\1aï;K#\8b7iÏçý:®fË\8d3Fó\80ðõ¯¾\f|¯3\1f\84áýÝF½ýâ÷q\92/¤ì\9e\8de\85ºCö\80CqÅæÑ+\9a§Åõ¾n¶?qO¥Êü\99©l\8dëI½Ærl\vàøqô9k-ǯ\90Àk3     ¿$/Éee+\8d_\15¶Ì\8fæ\96UÂãÚ\12ñ$µ8mó²,\96÷\11·eÐ\99ù'è7ælz6¥;ή\1eFg\1d®³x`{Úý¦Isv«(Õ¹km×Þ.-ôÑxöÈjÖ\10¤z\b\ e.²·\9b\93ëï\1d¿\1cãÍ\87\80\9b]¥¡Ô§\96ç~\9c\1a~\9cM\93­H\96\8a\87\9b¢{ëÑx<ÛÞ¦C*¿¥cåW%¢°öiOÛóÌHå³\ fÜ\1a÷k\f\922\17\97!S\\1e!*
+Ã-\8c\16\9b#¼Æù¹¬²xÇÙøJæg®Ý\1fúЧè`\97¢ùfw¨nxË6?oå®bè/\8fÙ\17úLÆVï\ 1\92æo:xn\7fF\r/Yê¡U\1dË\ 3¼áîxû\19^®z~Iû¸Ë~îåáâq#fx\\87}V÷\ 3÷m7Ψî4\1c-S_C\95ñá:¸..?¢élÍÁïdà1\9c\ eC\13«vËZnRÉwÛ-*i«\ fY\1e\19\8d;U­ÂpåT^w\9d)Þns§*uùã\95ªyÞr<\83\95\9e¿ät_\96\8f ;ê\89ôGEèαþ\90é\ï?5'ÿ2å\1d¥õ\13ggÎó ;Î\ï9\13¼ãÎóÓ\9dç\9f\14ï<YÞwã¼ñý¦Ü\94\1f+\râÊÝn\9eKîÛ=\80o¿é2\bõÛ®\8aû\1d\7f\95K\87I=Ãñ\ 4\r\91¡\b\9bWR\10¿\ 5ÅN(!üÍ\a\b\9d\8e\12îì\11|\9f\11_¤#y«'ÓZ\büu¶5ïPùrËÏúe÷ûjMÿs\ f3\83¹ø+\1e\ f\9fk ¼jyßC\96ê;ïl£A\87_Y\96\8bù\1df³©¾e¸\99hj\9fÇ«\9fÛµôõË|\1aé\89\8c\8e»³¢~\96§\9bØL(ü¶I\9drÖ®å¯ïЭ\80éîdq\1d(Ï<F\ 2ÿw\8eÊMü\9b\89Û:\19\19Ì÷ÏÅñ%¥\9b~Ômù×ø\1eC^?ãøëqmÜ\e\92Ãlõe-WÊÒw\9c\ e
+\1dº
+U»%\11l\9e\99\8a\8bµCjvFñvw¸;\ 6â\14ËÜÎÒÿ    9_7SÌukÖóâî\rþ8Xü\93\85rck_I r±,Ì\17gßðämûÔÎW8\ f¾\8få¾ò5ø\7f\16\90ýt\1ae¹h\1d¶f·\99\9dФj\9cÒz\19Kié¡/Û_.ÓÏ-áÌåæþ-壠\14\aÊ\82§t
+\a¶ª¾w\82\82øt\8c"\82\83Þwåø\82\84ëô\bø\ 1Búëí~@(n½\15\94é\ 5\ f½µ!Ú\ 5\11Ëe¡_B\89ô\92]\9f\94(¯¯¾eÎ
+/Ë0ÎxB\8cÿ\1fª¸¨(ÞáY\9c²\85\1dêìÙ\19ð£ú\18\ f\ 6Ä)\ f±e¾¼\85#ïùÚC\ 2\92àµû¼ÀRzæ§o\9c)M\7fgîÊ\85+ÑzUñ\ 2\96÷ø\1aÂð¥ý×Z\ fõ
+cp·o­aL÷\8b'¦8)¯²ßO,\14ß3¦Ü]\82\9cì»víPS¾[@\86\94\17*ÞÜ\14ÿê¶ÐÞ\82 ìÓÖl@T?~ÓÆÃ\ 5Eõ·ºÍ\80T\7fV\ 6@À©=Ä\96\15/ÚÞwß\82¦Õ\4\15°©ür\1f\ 2Àª4\ eï|0ª}G׿ 
+«w\96Á5\85W×°\14üð«7\rÌ\17Ì\15oisËá\ 2®äù\92¶à«ùÚ
+\190¬<\ eé]ü+\1f[M¥ë\ 5\v×~aYð8iî8V\9f&5_`+^\1f±\ 3\98
+ÛÚIÉs·ýRTø\90®<]¶»y
\86ÝTl\82ºû×<u\80+¾Ñb\81t
+óîq4\1dP¯w\1cÔÜ\90WÛ¶\ 6\e°\15ÿ¯ÆY»¼»½\9f\90Ù3/d\9c\93Ñs,TÔ¼®~w¥ÝÌó2¿®zû\9dòp²ÕØo¿\1fP×÷GNìøùØ\16íâ\7f<²(ëÅbÂüåZ¸%ËØt9ÔN\9eLÅ%£Të8õ\9cÝr-Ü9iç\16ém\8dÕbw\r\7f\e\1e¦óÀ{»òe¨¸ë-?L\17«_ñç¾~÷£\9ftÝe¹8ªî\15ú\ 3I_|\84«V´LøY\1e½ªÖëáûáûáûáûáûáûáûáûáûáûà{%ÿäöK¥ \16´ï¹£Ü\82\ 5\ fæE\ fÓÿ´uzT\8a\ 1ý\b7Ú¢\12\18Y\f\\86BB\16C2ÍCÓÇÈn$$d$ä%ä'd($(ä)d\r\90¨"<Ë\97@47&TzH÷\búô{\9c}¢=Þ=æ=ê<¸ûô~\16?\17\1f\90\8føW½P\162S\8bÙÞß\95¢+       ¶.lzw\94+Í^\94þǽ}b\9fÃ÷\7f\99¶^Ó¶Z\85©§m?ø6Ð\7fît\12´î\ 3¡j\9eåY¸\9a\98ûMëG\9bÃp?\ eYu\94-M\15Â\98}\9féòOþM¹¿ô4\94ÜáJ+\16re­\ 4k\1fþÆ\92\9bÔ\9fü(\8b>\ fÿ¹ÔÏ4\94Ã\ÃOÏóþ\8d%0ù¥­,0¨0ï?èÒSÏÚ\ 5\14ÍÕyÿF\92\98|vF\97f-_;Ïú4\94ì\râ\92÷"Ñó¼ÿ£IN<ê+?Ïú4\94Î\ f*ùÑg0\1föc¨\95ùÎ4\8bø\ 4\85iûè/êÓiw£bßµÐk\97ë\9b\r¢\1655=XÇ\91\eö\84_3¨ÍÚÈ\8d
+\1f\8a`@y¤Æ\19ó\a\96[\17V\83GZ\e<q¨ðbÏF54MÓeÅz\0[qÌ\@Ä\9búÆC)®¬,¹¢ \§Öm\10¯ºÐ\15ì6²Ö0EAîn(_\93F\8f\8f\a²)g2¤\82»«\8b\19Ñ4­\8a82ê8(\9eÏM×\1fÝ\89\ fØ¥#\809\14¥\928\\ e\0Ë'Ó\ 6\vÞfÆ\ 2d»3k,\94çÌÕ\8ctÎÃhHc  è=fÎbwÍ\bÄe\ 3\83âö  íú\1a³eL\84;¿µDý\0\85\1f|\ 1`à°\1aÈ\8d\85\r\ 3Ç\14y\ 5\8eʸoÑ$xÔ`í45î\a\ 6y\bÁ°\ 45\93'rt8ãp°ccã¾ò\9d\87ý\17<¹Àî=ø\9a\ 63&ôkî\8e\8cÔ0ciè\8b\1d§@i1¯ð\91\9c\ fXÓA\10½³Uæ\87\0\91ë\1a{g¨×gý\8d\9e¡!\ 5\a\84\83\16Ä\ 1\96\1dê\8f\17z¤ÈW©§ôg\88-\97\f´Ów|2o\84      \8dÜ\ 5l§¦\v]_\b\125)\838N}=¢iß½ì3\9cÏAÚn\ 3E\89·±hùÈP¼\v\90Þ±¶è*³Å\80×\98#\8e¦|Î8b      Ï@f\f9ÙÆÈ&dÕç¨TöÇ        ö\90\96Á5ª\bðzô\16å\87­²>\10C\17\8d v¶A=F*D\8dÞ]Í\Wb¡B\82\95ÅziZÎ\11\1aÎ\11O¡ZÐ\14ºË(\vÃ\fØY\10,Q\80\9dD Èö\97ÒY\94\ 4Íb¤Z     àîr\97Af%@\8bù6å"\1fÁÒ-­ÊT\8d\ eýÈ\80tm:Ç^ÚÈaê\9b1\18|å¼F\15$Æ÷n5\0MÓKS\92\90\b­\e\14V\1fx\8c\9eçTVz\ 1a\e§õ\10}\ 4y9CýQ\9bÕ\818\84¥¤ÌÝ\89\ 3\8ff8Üf]\8c\19¤oË6F\ 4få+Éæåè1t\17\93\9b\ 1i\ e\84vÏá~¤úÂe²6cf\83w\9e\V7Ô\ez\908ü{d\ 6R\8azmIÁìIºÂ\11\82Ù¯XB)w óIè8è\88ý\ f\17§ÆM¿Ú\rÙ\9c×ÕyCjù\82¯ÉB¹\1fb£PÀ\9dº§ðÖRÚ       ûdg
+ÂÚ#å©\ 6\12µéË\8c#s¥\18\ 2s5]\8f"v\81ö"^R\v\b\88îº\8a¶]Íå ..eDXÏy\18¹\85\11uðlOC\fìßݺ«nAák\ 1µ@\e+52%µ¢â½>a°£\8a\81°\e8\84TÎ# ¤é\9bå\86\12\0¶?\99ûS5<~Ï\14\9cPùØõ2Á\8dg¹f¢1N\8bɪ\9b=huôò[+\96np\87àá¯Í\83\84¨\8c1«ÚËã\b2^ô!¤\a(\f³\bUÐ][\ 2Âx\84Í\88\ eQzC\97<·<ÝV0\96­ï[I\1e\8e(ó0äÊ\ 3~¬aäÉ\102á²E\raüÂa*¡>±¢\ fí\vpÝRUD\19¡Þ`O\vF\87ö½z\19u¯?δrÒ\9eOì¨\8cÂ\9c¹q   U\9dõÕ·\8aNãá\aß\95¾3ó\vîßf\98¢\9aá½lÚ\98\f3þ(p§>*íÄXØßP\e¦Ý\8d´\a\87H¾q©Z¯T7q\9c²g(ÝÚA°ï%Ö5\8cÐôy4H\aQ®Y¶±kØÂpó\87ØaíeÊ\eTñ|1M\84SúÄ S\9b/ôµ¨ÑìÈ+\b½\14»\10Fpðm\9b\16Jl½$öË\12àÃ\ 4Î\19\9eM\9e\fâ\rß¶\8b\9d¸à\o\eMY\rCäî¿\8d\ePÙþ%Xt\84(¬Æ\1ep 9¬s;S.\98\ 2¢-\8dQÛÂË7íE\ eVÓ`\90Õ\11\87Ï\84]\9fg\9e\0àÊ\12ÈKT\80öK\e61\8càf\eº\1fås-\9eh\88\8c8×Á:½\eô\9cÒ9.ä²Â\9cæz¯m!>\85»;\19Ì\96^\10¹-5«\14q\15\ e\ 3 =\0Ûl]Xñ§TÀ£\9e\8edXíØã\89\18b3Â1\87\8eSb¨s{éÀX\17\19 z\9fÀ\fÇ\92¢Ä=ý¢ô\87®ÅÑ^3FB?·e\9bh\8eàÍÃ%\ e\17M¾PòÍöÒBÙÉømx½\1d\1epr¾·9í<\81£\115\1c\12éÿÏrs~7ªº~\.\8d°Ê\80`*+ø©w Z\8d\83\18Åä\96\96\80ÚA\99¨hób\95£R\1a\94dÂj:#\a9e      9ls^éÈ\rBÃwÃDF   ïúC\87íóP©        åðd\8fÈ©\1aÞåìÑwÿ^\8bÞ\19(>ò[\ 4¨\12Z f\ 5\83\7f\ 6ä\8añú\90\8e¾\13\ 1±Üômû\10lõp\8c\9bÌ\9a\1cê\9dcM\19#4{OÆÒ\ 3!c\18R\b¦?6\ 6ìEïæ6\90fKÊ\9d91ñ\86ø«cÇÏ\93\1e¾m8Ìlµ0¤ÇÃ\9b\9c&8r\v¾ÆÞño±·\9cR¸Ü\ fÐ,Þ$ÕC\16,\91\83
+'&\86è³5TN\r{LlØ\85Æ\170yI]Ý\81\18þ\rx%gÚ4\854* ±1§ <\11\9exjS\92\13\92ò\f¡Qíæ\b\91°\14åñ,ö{\ f \81\92ëÜ)ü)\ 4)\ 3½\84§Ú\9e\ eLV\¥\18NË{ó\eÑÛ\92õ\83ÚÄÿvP\10\93A³#Ë#T\rNïgå\18\92ûc\14l1Àt¸\14b=¤cýXèy£o!\868\80Pw,È{i\e&ÈRЬ t 7\ f·\e
+=¬ÕhâP@\9e\86ÞvõmdðS\e\8eàP\11Z^í·\ f­v\ 4\ 3
+\93\18QPÒ\9dX³|ÏÕ\94ÙñƲG\1cÆ2¸÷W²A\10ê¾r¤P\8càB)ÙN\1f\bê}Ç    2ò¿Ì\89¨\81Ú\10yS´\e4\rò\0tQ­?\ 4»+/\11\18\17\8dZO¸j"ü\10Õ\0àÐÌàÉÊLCB·#÷\13\90³¹«$,\961ÿ\92\94îw<\80,ì¿\98h\19\8eþ\81\85´©÷y0)åÐ,¹µC'Vb´JØ¢\97,X\89YM¿¯\98L¾¥,5+\rñ\18#\9dJ_aHº3\aÂ\ 6l\v\ 4<\99\f\88«{ÓÙ\8b$\91\190ÿslZ\99í
+É$\8c§\0\92\95ï\8bÁo\1a\1f66wÜøe:¹\8fÑ\vÙ\8f\92I\v¹¾\95\fü¬\ 3Á.A»\8f\9c\ 3¥Þt Ð3RZ\83c¾r\12´P«\12Ò\8aeýò@FßñÒ\ e0Êp¿\8dô¡á? lV¿÷z\86Þ\ f\8a\18ô±\90\15ùÐàá,\18\r\Ø1\12#\13}\86Û6ÂܧËDþéÆ-(Æô@\1e²6B\96ÌM\1cm\87l~ß\99\9fb\92%þäÊXÃO\83t¾6L\87RæT\eËÚ\8fy~¶\88h\83ÊwFBïf\\85\9d¤b9PÔR\10\13O\f¥Bÿ¦\17\82*ñDD\17\14È ðùF7´\ 6è¶§Þ\89\843\92öÃ\11\e\ fµ\ e9T\ 5º#V(\8c\ 3\ 4VÓq{QÙÎè\8eÛ£'\10#¢;^\8cc\12\94\ 3\aËjC^\85\9fd\8fâÑ\8f\8f¹îmòÚä\80µó\8ep\f\16[j\17Í5*êÃFÿ\86äS\89\9aX\ 4NP\1f\0,´CljnE-®_\fp\ 14\9e\ 1\8aÇ\ 6K\15ts\bßÕPø+\0¬\8e]ÍX"\ fn{6\13\97Ua\99Ís#¢5ý_\84'B
+Æqoñ3\84\ 3¬ðÞÆ\11\9f*ö¿\b\1cPbÍOá=ì\84\8e©tãùÍÞ\8dJ\81#\89\ 6ä«1ØFñBdüÚ$%\e\7f\16ì¬o¨\1e(M~\16\v$ö0,\18ä\8f#¸j\88\8a\7fðÎ,ÆÐ;°#\89\aDÑÓ\9a\92ô\rò\r½Ë`Ù1¾ \e5Üq\92\8b\1dU÷R\9bÒÙ\81±\ fÿFõR£\81ÌÐÏ-¼¯î Zð¿º\85k `Ö\97ú\10-B>\85qþÙ|XG¢Ô¹¦a\8e!UC@Pa\1fêøê¹aÀÌÃ\19\99\ 3¡\8djøÂ´*\9a\88¸ßX¬H*©A\f h\ 2y
+\0\1d\8e\90\8a\0±ShÙ\ 1i2s°ÎD&ë^AÀµÏûO\83\94\93B\93^%é¼^Æõ¶Í¿\9f¿±¼Ô\11\82,\80^d,PRÚ \91¼\ 6,m\8eôغ£n&$\1aQÄþah\a<NÞq¶\85áo Ç\11^H¼\19\19&\ 1a\80Ç¥\85ÿ±|¶2\7fUàX¢óË-
+RÕL\v}C9ïà ËyÀ)÷à|Ãí\0Í \ 3*³ù\93Ë\1d\0´\a_KJ±(\ f\82\99eä!\10\97Í<\8eÙm\8fò)³½\7f¢ø\7f\80·?\98\r    5ý\8e!\ 3"  \eË\0f\99\848®lX\r\80\ÎrÆ7\ e\8að½W(Ö\ 1ÑôÅ*;Ù\89\9dïf>;\80\99À\91\95éæ\111j"ÀÏ\1f~y\84wr#`Ý.ç\Q£\90(\8cmÛ@1Ò]S|3\81j¹¹\84¢ÞÁ1h\ 6N\93\84\8cà\fa;\b]ͼUh«\9a¡xË\eÛ\9byj\1eÛËUÒ$0µ\ fÜÐÚêæÞ\f\81zd\14'x1¢VÅÉ\15²\99\7fe1LÖ-)¾\ 5ÓS%°o;<Á²\9aã|UÔZìþ¿Ò\89r0\14°\Ö*ê\aA\9bÌ\89k\892 A#7\ 6W\1a,\15Ø\92\8a¹Ê4\rã Ü¿p\1f8K-\8dý (§Ç\97e­Æ7\86ý\8fá¸h«x\ 4\12\19·1² ïÏØlvÕ²\17\fN*ic\vm5-[\14.çÿ\86\ 25à5qàd2Áb8\128b\9a]¨×x\18àP\0\84Í\82À\93\93Eh³2¤\fRj\1fݼ\81Ë\81\8c\bdÑnÕ\v¼
+½9\84\93o¥ 2r\99¬^e\7f\91y\98\ 5à9ö\89³\14ªÜÿ\8bØ¡J7\9dçªmºÞb\12Ý\9dÜû2\84ä\88¬\14åðÃ\9f*¬ßo\8d\832Äé\f1æÁ:æCT\8d¾EЭ½\0\83±Ö\15|JW2\96Ú\96\18ø\94
+
+ĵâÌÁ%\16ÞÉ\92\8fnçN96ñÎçÇ·\88ä1\8f8óO/ê½\10Ü1H¬nÏ=¶L¸\92ã8t\959\ 16,¶âZþ\1a§\ 1a5®vXf\91RO°c\9d\8eo\80\90¯æP\8cñE\eyô+Ôv\8e\8f\83\9dWR\e\82ñHÎJ»³\92\96¼Fé\a\822hÿûÊÃéÛþ\1e\9ft¥ 6Ògû<\ 3\ f\93cpÑv\85\91ã?\12\1c\1fû\0\15qÀÐe\ e\ 3\19òæ:èMÑ_É\;?AÍ\8f\95\92äk\f¥¦º\0ùÓpfL\81¬\ 5øI6F\16+t\14äf\85â2$9\18÷Ï\1a\10l\rª$8ë\10Ô\ 3Ywý\ eÍ\ 1\87ÌZÿÝ$6\98\98¸¯N\84c\8f6Pæü3ï\96?1\94²ç\16ß\ 3\1e.N"Xè>\93\9c\ 14Ý[?;iÀ¾Å;l   Ew8zÒuêÍÝëGÇc[Ó\ f\8fêÿ\95\ 1Ñ|=\90d¡ZQ\8e}¯~¨6\ fu0`Ô\17çA°\83\16\a\b\ f\bÇë)t\80\19Î\80\80\ 3Ƹ%Î\1e4î"¬nµ\9a"\8f«I\7fÆÎÓ\ 5 ¸Ù~\91¤\9b;\164áà@æ\aêeA\fL\a\14lÈå\93\13ùó¤ê\98LuÓ\16Á>»(Ï\83l\9dN1±Ì=\86¸\ 67a`\82\8a_\86u °¹\19®\18æªE:¤_7°[.H\ap¶Pe\17ôÕ²åCÍ@ÔU\18\ 2A*\bÈnï\7f\95Z aø"\97°È:Q­}7wãdÊ*¤8S¢\1e"¦Ù~ì\99q@\ 1\8a\ e<`\16XõÇð¥§-,Ð\v2t\ 6»\8b&¾q¨|z\9d3c¼lÍ¢ê¤\98\96\15\aÐ!ËwJ)¤ÕìAÅ\rûJå\7fo\lòÄOÎ>_ðè\ ef\8b\98ì(9\94\ 3Í8³>ë\0óãáÄ\8c=`##$\19ã\915M\0@ò¡ÏZ;\rþÈ\93º       g\1a\97ê\ eI\80\0K]\98¡\rtbÎÛ\f\12\ 4$è@¾:½\ 6M@²-G\8cc\9eþ¸[Fm?p\899\b\93ô\86\1a¯"\19?\9a\ 6\11©Åø¸Ù¿N%!s\8f®\ 3?u\98gEcÃ\8f\ 4zx\8fÍ\9c(©R\fÙ8\a\ 2Øß\1cÙ¢\80\ 1@õD\81Ñg\a\9e¯\v=ig\9e`ºÞnª:¬5èz`úòpÆ\161\f~­³k\83\1d\v\ f\9d\11TI(\rZ\1c
+CÎ=¾Þp\ 3\954\80M|¹\13\84cêw/8q\9d\8a,ëPÛ\7f2\8e\vÛ[á\8fi\16\18\ 1Á\90¯§s\7f\rÊP˾(àµ\vtÐÝ\19ñ\84\ 2AdEºk\׬Ø;é\1c\11©q\9b¼úÈbZ\fé(Å«QÁB>Ð`¯R\81\9d7Ç^:ÝßÝ\99JD\1d\8bî\11\14õ\12FS\ 5ÀÏ\e>|\10\86\90"=¾l¢\86\1fò\9cq\ 2z\ f8\81\ f\99   Bçò\1a\90í\84ź ´ØT¾ÔÊ\bõâ<voÖ;§\f\94\9dÅû JÙÀ\80RúÈ\f¥º\83VÁ{\9a\ 6g\ fx    \93ñ>2ÌÓ(æÂ2ÐzO -\83ðÔzc\98µDqH6
+\vay\1eNÐ,\9bÀ©\r/´´W!ÿ7*\92úygb-Æ·\15\93Ü$Ù/1\8fÍ\14y\8bçë;\9a@Ï[1ÅØ}.Ø©3Ì\87Ò/öQXA`\1ea[ÉqS\12?(ò.\19±É×üÕU      #õf\87²/|<\98aFÉúóC0»&Þ\90\1f1£è\ 6\80\12FVÇç\ 4\9e\9c\ 6üy`^F\1d\ 1ß\92\ 3\1dò\9ckQ\90ÿ¥\fθ\99\9d\9fÊqÿ\98qdá\8e\83<Z\9fj\19ª\92\8ek2B´k ø4¤\8eãâ#\81\bÒ`   ÛNf_ÆQ\90\93\131Æ73ì?÷\8fSX\7fÑOÆ®4רÐgô/±¿\9aÆ/]Ã\8a|~ð\14 F,\ eç|K«¨
\8ek\94]T(\8b\94'XBÈ\8a\1e¶<вAÅ\1fukQ\16\f,\8aR<nD?X;1\0?\87l\15ª~&Údbò¦m\ 3\1cLy
+Ñ2\15¢K«¯Ùð-û\17?\8eX\86{\ 1\ 2ÕA-Õ\19\eüéGL\9c\96é\8eó4´`Ó²N\80u½°\a2@\rÒk\b5\9c\ fC²"Ä6;YïeH\1eÒ\9eÜñÒ^¨§¡8\93\94_{%\ 3½(Z ~mk­BÒ§\95\v¬¤\98*uc3.\ 3¶â\80\10ê(\935ßÕûÆ\9bñô[\ 5NC¼\0TÏö\8a\a\e\88!Ú2_¬\94\rn\14ñ\9fô¡\88¼\9fÔ²ÖjÀÉv\ 6f2£\84mp4.üÖºÂ-\v-BêÙ\19V\ 1(\ 6`tÁQ\\16\83\8a-\90ÕÕ\r\ 6ìÅÉ7\9a¾ã\1a\9d
+\8bTÁ®C\1d\9e\19°½2j%\8bVul\84¦Ü\7fI泫'\ 4\19 ~\8dUT\fÖp?ÔYSé\l§l\8cf\85\99\05Y\15\e6\fnϦF0îo×EuM*\fó\1ft6\95ò?\9dQ­k¬Dîjçµ@+Õ×\17Ò \ 1\87ÅBæð©Æ¨vûq=\ 2@e+«¼ \1e³÷é»çêº0r/cÓ0\1d{IVCÓ%Z£ºod\81üUP9Ô\aÀë¡\ 3gªø\1fýj»Î\84\a}jª\7fØjFwXÚ³ëS\83\10\11µ7ã6Ϧ8\8d\18?°Ö\16\ fÖÁ\9e(ñ`\ e \16­À+\9d\9eÞÿÀ\97Qý1g\9e)\93ädx*5²þÒÚ\1d\99sL\a\87/AF\85Ôþ\18\80ìÊW\ 5 Æ\1c-\ 4ájÊ\89\ 3b\8b\1aUãaû\fòãì7¨^\0ÕÄ \12îæ Ô\90ò÷,Ê\88vò×ò\19J\ 2\ 3G7Æ3=\Vv\r³/¾1\82ò\99ÌV«òZ\9cΰ\rÒJ¹J\1fhÀ¸\0zºuaìj8\1c\90\8c±LÄ8\16Í\93Ô\0\11j,Ì7hr\14\18F+`\81\9d\1e\ 6\8d\vàÂÔG«¤â×W«§\96"Æ)>}â\84QÁ°å¼à£\8fU3\8fWJ\98nÐá\ 1\1d]azy\84u®x\95\ 3Ö\14[\89^ú0\9fbRB©\9cBX°J»\131n\19 \ fK¦&ç6Í@Të\12\8aþ\v\97\1a£óý\8dýÞS41¤·NÌí§T\84\8dݤ\8a\84mðá\7f\91ÏýX«û\9bá\9e  JèÇÍ\8aP\13ìª\99?7Ø2sþw\85n\e\12ß|\e\87ðXaªóÿ£a:\98cU(/ò¶\13¢\ 1L\85\99\13Ç)}á\ 2\88½pÅ\89\8cÂe\11sc\13çÑ:Üß\91(ÑJ\rÉ[\ 18\9dÊQ´\9dP¼="
+üó\91\ 1Ä7?Â\1aq\9bª\13\9b¼~Z:k)\8fÎO\14\97w\ 1\ f\80\86äûá\92èk\ 3A<ãdÂ\0É*i\1fÝ\ 6Ò²\9dN\19ãÁ¿\16\99}D¬\19\8ay;ú\ euzYS6-/å\96¾'\94\1dXצUmá«û°ëÓ0\8eQt+xÇjdD©\97×7nBþãºßÄ[\89Ý\1dÿi\84+¶ó\1dƧ\8a\18¹åµ\97ó&\1f\f\98\ 2Ï÷·I"t\ f¦V\ 5I\97Æ*ëo V e\82È`fÑìU¡BÜ6\11æH\87\85qöæîº°¬Ç¤GÑÀÕO\10µ\11a\93!Nà@â¯\ 2¦v\9b\82w*\19Ý"æb±Ú>Ä)EJáHR+g²áÕ³\929\ 4\12\98\8er\14\84ÙÞ\ó¨Y\99\88Êû\8b\v§(îóN\9fÜÒ\88TFl\86\96½\95ùBý­Y²Þ¿2ä\f:~qòêæ\ 1²52@nàì\ 5\8aY\8b\ 5àwzÔÛËk3Dø\aÿ\9b¬(ù\17B
+|ØNúû>\12\99\98Z¦ìæ±\83\93`\18¤x¯f\8e\0\94+U¤\f1\9eÃ\84à\bÚÂ4Ï@aU(ÖÂ\91§ë¼­¾\96b@ï\17¾[ÜÆ|Ñ\91\95ü\1cÎÝ\8bB\ 6ÚïÛ\96\19¢Þ°Å7hQ\9b\vÝlC4ÌÇH\1eRæ;HK13Xz\11¾\ 1â¹éc\18\a\ßÌ\87´\1c.Ä{¹gÞ)\15\90ÌýUÍ\89\ fBÊg±L\83\16ª\81r³ý%'í\87özJDDô\94\89\8fô\94\81é\8bÎäÉ\89u|á7\fHÎÄ:»Ó)õëý\ 2ï\8cÖÛYE*\9a]¨á\ 2\87\9bXÅ=¯\ e\1d\aY±úKÒ\18$p*ÅVhFÃê}ܶ^öø\ fUr»èw%\80ìS?ÑI\96-\99\ 65\9eæ\ 3¡¼28ã\10êôÁAäÏ\9b4\ 2oyÊ\9c/ñ§W\82\ 1\fü?¿²<¨\14\82\8bF\86øªv"Ú(4F\ 4;\aè\ 1\86òÖ\15\8d\1c\82¤Vd»ú©\88nå2\81\0Î\15\f\9714Â^`\14½ch\ 3éß0Å\15\14\16\!\ fF:\1fFæ'\17ê×¢\99\93\7f#çc\81\ e\9d«àÅiàà©z9Ì\85Z?\94\1eWÑe\81p\r\91.Ðb\99">BØÜ:8\ 3·Jä¨àVêY`m\ 1ä-ÞHʤù"È\fãÖ»\\ 5\10\86\9fþ\1cP§­\19«¼2ySÆÊ\ 5®?XÓv, °×|\95e\8e¿\r\819|@«ëxÑ\8cY°j.*h\86\91Ç4Øÿ\0Æ\802p\9b\11Ç­£\84ÊUð\9e×à÷¾\1ea>\ 4üÁºØÒ\a\95ÍEùhì\12ÿ\125y@B1ª²\83B$¶ü¡G±óyóo\1e\ 6\8c«Ìî\1a<\1ci:\1cuøzÈpä×É8\8al~\8d*¬¾¯ î\a~z\ 6§wà6×j«GæÇ\17Täà\162\8cÜ\802´5ü1å\1a×,Ï\90\8b-P¹î+Ò\17-®º<O\e\12Èl\8cé\8b\8c9ÍסÜ\8c\8e\19\89\96\82\19\8a87
+¾á»Q\vÓ¦m°ì\11Ø5°RWÈ|\82\ er¼hô+ù\92;\92åU\9f\84\ 5\9bj\8c\881O´\8b
+\8fɵ\16ÇX3Í\16µP\16öM£ñdÁ\ 2ѰGI\93\ fB%Ù\fS@ÐÏySÑ\16\1aß ùÔ\1c±\1f¶u\8cS'\93<жÁ¸<©Ü\84=\19fzi¾1i\8ez¦«Laê\7f­1\15½¸Ñ\95÷ÄÑO¦\9d\9b\85\1eü¤\1dÝ=âsº³<àXi¨\98í¤V\97Ì\1c\81È\17"Q§PF\96\f\18Mâ»õÔ
+nÊúÿ8Ï2Ú¦æõ\15>\1e¾r\99( µªdfxf;Ué@¾DÛ`¨ÂQ¸ã]"M\9fM\9dÒ\8d\86ô\ f~6\12¡ü¤é©\1eÂÊMpaÕ7A ?\a\81VÊùi\bÜ»?Ù\11Ãø\a:\80º\8b¿Ñ\8dÅ\b\1f8
+}tè\87¥ B\rÑh:s\90ÁµÁ©N\88P\e¥Ñ\91©û5¨à^]Ø\0ÑÀèqEq\88\e$À÷\90tïQ¾rk#þ\8fß«ñ[@\14\ eT
+¸â\8c\1e
+\ 1ò·®Fm2ñYQ´¿\ 5 ¢ØZ(ÀÁ\ 4\81\bðþ´úÊȪ\96AË0Ö\1c\9f\94ÈÓ\80)hÀy¯h\94§Uë
\10\15P4\99µ\8c\19`éZ9¡$³r{àc®Kd\ eõtk\fä±\80ó>1{ò\9c\84r\9c\v\8aB6{\8f\14¨9¼áø-\ f\1c°·\ f=\90<sc\ e\9d©ÄkÑü |\93qÜñ·kÄ\86¶sG\80ào"Ì
+ATjpº÷\99\83ay\887p\19\17adGêwX/\ 2ò9TÂ\8bìÃ\ 5ã "ëÃ\19\93uZò)ÝÁ·òF\ 3%¤Æ=M°^>\ 57bA\ 6Y\1fµ\ eF\1f¥ÎÜE\9dÈô-ɵâÃ\ 6Ðè\86!9 x3F/é\8fÔ0Í\8fÍ\ 5]ÚPÑaÈÝ\8euµ9C6ͯê\8d\8e\9a§\ 4\85\88\ 3\bjþ©^β»è¡\91@Ú2Å\88\r¢\10é\17>m¨ù\15L;t\1aó\0\8fDEL\9aOÒ1Æ\15\7f\1c\8d\7fP`´=ÈZþsF7_´Ý\93Èhgá\80øXXJï\8e\12£IÝÂwªeÛg5K\10èT+\1fB}YÍRà³:Dõ¯\87 ©j õ£Èf\ ecv¤B\81C:\12\18J¹Ä\93H\ fæÓo@à7\91ë\88TÅøï§\14\83Ä\1c\87YõW­ãnZ\88×A\93<Ϧ\r\82uųáÁpÇ\9d¿k\r Õ<Á\1c>èz\8còÐU\12D%\99\99pQÁ®\8a\ 6\ 5ª\8b)\96\1a³\89\ 4(Qe\9bËc \ f²\88Nh]@\17­¥¾
+\ 27\ 2mFFÎ\0ÜÌê^C0[\1d}cwôU)òÀMkðC\9f\ 6?ñ1Õ\ 4ú;\13À¿d\979&\98\ 6\18\7f\1a¼\18ai8N#íbëÇ¥#)uÈ}\a\1eN6Å\83\8a\e5U\7f#B\9c}b¯Ê*/¢Á\11Ê!Þ\ 6¬¥ú`ÈF\8b@B/ýê\f \b"\19Êwh"qx\96y\98z®NOØF2\16\83Öj\888ñà\82Ñ#\89\17ñµ¾ßHÚv6\ 1'¾$qÉ3©:%ãg\12\9d$Hâ&añ\99#Vqô¾ÎBÂ5\12\1f\1d\8eþtD\9d\17\83¥ïS9{"Iz½ï\89R\94HY\b6\9c\19ÒõÏüåâUË\8d\168\91$H\ f\97\9b\89/9³Ù{Ï\ 2ÌÞ\8a\e:\13õú\99\91¤\88\98\1a
+ÁÐ9\15ì>DA\0\87Í\93?J3Æ g\90\ 5(@\15ÉïIÈÆÍ\a\13\98BÖL¸®0nIUÏN\e²e\8eÐ\905Q2wÿw§È\ 1\89v\99\19¬³ DI¥\1a\19\8c¿´\1fi\9fÖ~/ß\88ä_¸AkÁé¹zÆOcMÇ\81<º{\eUyO¿\1e\91\8d\9f÷:M\13.\8f`<º\9c\18\92Ò\0Ê&)Å\81\96ñ¤\ 3Uõà=:í=±±ý(x\13É\9bñ\8d\88]¾í\1aNÏ÷Ù\9933$\93\81\ 3\0 Ä`\10@XI\ 4\92A\É2Iô&@\80@\11¢
+£(h \92d\18\80V\ 6@fLs¶UV\8aµ×ªÛKkjª°\ 1*ÈE$\0\0!Öª\8aX\ 2ÓáÄ´Q@\0\fÿû÷ïÿ}\99$\91Q(m{{yÎï{Íñ7\9bÍñ·\9dð÷\9cß\v|\8dç\9f¼æù;è_}\13ï 9>\1d­\96É,\96´ñ\9e\ f
+\ 1v¬µÊÌSBg7\15\97ê÷\18´\8a\9eÄ\82Â.\ 1[±$²¬å\ 5½<È\89¹Oà\ 1dùg\ 1\8a\9d\14VÂ7\99Ç\1a*¤4\83MïÍ\1a»õüîÐ8ìçÜ?\ 4Ç©I¿6ÓÈ\a´ðµZ®Ó\ 5Êßµ\1eA:±új4ü\143ÚZò³>Y\ 2Åû\88\86¥Áßalg¥Í$µØ\15é$óÀSa©Ør\95\8cE}\92´~\97\1f\8a\92>}\82¶ó\15'M\9b\93³\9e\98\ 2Ϩñ|Øíz@[Qè&6\ 3\92\92,\94tó¶D\9d7\8d\97b\95\8a\ 4ç`\9c\90\áÜU\ 4ÆÍÎN\81ÝØûÞ    nÒZ\85¦\82h\17\e\fc\98\87\81FJ½Ìsë¸w\86ò¾\12ÀLÉtÐÓÏÁTgì\ 2Üzÿ`\96\96¼`ÿ1BÒ\92¸\94â$Ø'ñ\8aç\ f,è&,  m\r6{>ÖzY\95,Hlâ©ZîÀÑOÑö\80¡ßr\r\b¯PPLm\11©ñ\89pNÐ<ØPfë¤E0ÜÔÅ\ 4j\9bl[B,l!\11\12\v
+wa\19M\137+äE\ 6Ë9\84\9bªÊÂ6u¯\8a\1d¯¦\1cc2o¢ú[G\13\ 2£ê\11ð«Û;\9ed\1aD$ \9bw\95\8alí´@c\85\81ºyÛf\93ÆÃ@°ã\83\f\14\ 3¼¬©±ä-ÔcÁɸx\17\1f`ßêT\92-Hç¯\9eÒò\ 3ARõ\93ι,idRÍÙ\8a¹7\ 3\12ðÀß+é\83\97õç\84´B_\16Ê\f1Yý?bTÞV\8dÜ\176z\7f°K\93ªù®Ì\eSÏ(Z\0\ e\92\98Ýh/æ\83ȹ+Á'n \11Ü\8d\91'\9bÙÒp\8d\ 4í\16¢\9a\94\î?¬
+;×a\898\1f¨ 6\96u!×úqª*¹®âQU Xhnzã{樂\1a!Ls\a\16\80\8e\1eê\ 3*3®\ 2ÒÚ\ 5w\17\97\83[\i\98¿»ÊB\a:ÆXÍ'~I%ÿë\15UÀ¹I~        ¨³Þþqìþ\10        ÜþÑ?\16\1eO\mFâ«zõ´6\b\1c\ 2Í\1aw&¢\11\8a\14:\97X\ 6e\ 1\7f\17.\12M4\ 2!|¿\83\97\12¥¢Ðê Õ`,/%ödÀ\v\ 5¹°]¤á¿Në\17\10\85«¯\8aµX¨á<\8f\8efeZH§ÇMBb¾õ\9cìè/kñ¹àâtYr"òíRÍ¿$å\8bäb¹'Ý\97\83WQçb\89vÚy¸®!òámP\15êTJRëÈÅr\ f\98ìE¡´±©ÅG\9f©§§E¡\15\ 2ÜÿÛS^lç\r\95%O?Öó»%\fÅFo\8c}y×)¯"t#Fõ×&\81ò\10Ú\12`)«8}áõg\\1a°VH§\a¼T"È[¯Û-ªOqò       :¯¡ál»Á°³ª£ÄÇ\92köhF©<*Ê\93\82X\14\ 5Ç7%\9dñ´0*\94­\95R_áË\10X[jV\94W¸ÏdSÙ}\11'g \9a\98L­@\19C2W\86ûy² \91ìOt¿Ï\9bBr²Êp¾æ÷\87p5Ò\v\14\¤Â¨dqÐÉ=ÈÓÑ»\9dd\8e®i\91±âM\87\10
+f,U\8d68óýØÎÈ\8d\rhñö»\9d\94xzHð´ç;\9d\95O_\eoÊ;Ѭ£¡4\ 5³9b'\8aO8MÝÔÿp\fP\99·\96\90`Dw\84©³¦Ï§\99§µ\7fQ       \19YzpZ£§£µj\90K\ 3\12ÙÆ{5Ì\1a\ 4?iþ¬:ªö)\9fç\9d\ e\rÏk\\ 1j¼hâ\81K\f\15á$\16VªÄöøp\©Iñ{³DßÍ\1dZE1ûVðʨ¾O\ 3CX¡0¾V\8d\9eKx\\92B¢Î|Zp^\9bùhøí(FÕû÷üë        +4kv\rÞQTÇ6G]¿é©:\99¹*àXLÓo6uö\8bªì\9bnøMªëãø\98¸ç=Cj\8eKW1\84º>á)=îv£\95     I\Ú_yIãÉ\1e\8d#ÐXû\8düËzØ.L4ûn"\96p\0ÙW\9bG\9cDá)Õåm
+¦Üi·\1a>¿ùE5\97å¹â)Ëwhmî\10@G-ÜGÇh\18§ì¹3\8a­«°k/Ès´F¶Éª5¶>/\1f\93\8b\eÖ\ eõ\8b\84FsáÓïC\94' ¦ÀþÛ\14\1e'´ìAÕ}qâ×Qþ<ã¿ÆÙ<ö\80Ðiò\ 5àÃ\e¹Ð      \97¢¦ \ 5\86\86-\85ùü©é\0Ý\91¤¥\1e>\16\9c¢\10\ f,î±EûW¶Nÿ µ}M²wÝ\aEHÈZ®KþIï\80j\ fã\17ØDþ\91l3òû\15\16b\83Ïu9ïd¯\1fR!hü´êJö\ 5\ 1rN\7f\89Y\9f\8dì2¤¿\ 5·ÉKR´ÐN\89|-ôÆv\8c*Ouø^AÕ0 ,º÷\9eF\14\9cGp\9fÞ¦#2-\8b6\81¼åH \89é}¢\9c>\95¥&¿ý\ 1³\90/\8bé:çß\ fÛ\ 40S ®«ïg\ 6©ûÑ1¹´\17´\9dé\r0%3$ý÷ \98É\90\84]\86Á\9b\ 6<V¤ë=?`\81Ê_à(
+mÆ\10í\16\ 3À.i°`´H\9f\14ê\e<O`UÞ\18ö\89\ 18bpóJ7h\9d-|yÔÞÌ3©e®oN¥\979\13? §\r¦Â\93~Véb¾É³áå\ 1Y3¹\1e1=öPntȧ\8bß\89u¥ß        ±Gg³Ê\1eÎcÊ¥\80\ 2dùïnÏÊÊ\1c\98¬\85\97ýÄÃf\88ºZ:×Å\1e\18£\80þ«5\17U%\82EÃÜgÓeh5ríÐP\aõ\a\ 3ö\9cf³g\8cÊ(l\80lFÅÚP¯g'\94+\9dk¯ïô\10QqªÚ
+\7f+\ 5\8eh\9cý('z÷"¨\À¸d/ÇäÂ\99¥\b\1c\ 2¦b^éG[ÂSm]}öå\92»Ò\8dÿÏ$\v,ï&¡T½Ö\rß\81Þ¤öJ
+Ðq§z¢©ÿgª\17(_ó  \96\19wPuì\v\ 10BÃ\7f¡\8aèVö>\ 6\83ò©½Ê©}\8emWî¸úůÓ\82»hàrb       m\1a,F¦Ul\ 2\9ba·Â³a\93\10\12Ê«\95³úrEC5\9a6Låwû­ßd\83\99Ï@µ)ní¢:\8d2\ 4\84,´ðè\1e|iLjÆ0ygZþ¬d4¦ë\92\7fß\10Wõò:µ8     ,³ä0\89\9dú\82ÄOÚÏ\8d\87èÓ\ fõº\\90ÏètÞ\8aúð\ 5Áñ\11_\85ï:Þß$+n\95\95¬m;¶\94\8f\1c\1c«\13\ 2hµÍ\0
+'\r\9aó΢\10^ùز_z:²\82ù,\88nÈS\18[Skw\9a\853\9f\v\98R×8ÐØwOá)²\80\13\ 4\ fÔz\ 2\1dvÜáÆ\88í?¾~\ 2\80\1f»n\f\ÞÈ!KcR<£\ 16K®Ýº\ f¢è\ e±vöÉîLÖ>ñþJ"\0\a\84\9e\93ÃpÑÓQ\11e\97+w?}è ¢á\ 6O_\9f\10\ 1-J\14¡>¦FÞ\13\8f:ÐJ¥ü"-`Kç(\8e\16\ f     f\ f»Ö\15\frþª\89HM¸wª:ÝJ¾\e'U©:ëÄgD¨[.3ú¿\epBô\87éÝWÕ
+\85½\15\18\9bÒ$_a-wèÈ\85ß8IIäÆE¥%¬'zÑpO\ 4`nf\ 6ÂO\87\ 2>m\ 1îå³ÍÂÉÐÁUC\842æ}êr²\14\85UÃ@°k¤*?iþDBÄÏ\7fÁ\19KS\85á\ 5\96\11sI{Ô\11O\85©ú@\90\13ç0\86Þk°ï6á­P.<\ 5ë² \16ÕóXð´×ä\a\b  \8b¿\f
+ÑÔPÛ,\19ï\80­\e=ÇÐ\81\97pN/<\ 4®%9³hã}y)¿~[\ f\ euN©1íhûd\9eaÿX\95¦¯Û©\81=\9b\87¾hÄ0\134\ f­\9d       ¨F!\ 1\8d­Î\94ö\7f\11µc\9c\80E²kFÚ¯Û3Å\r2/Â[\91Øä\ 2Gùç~\9e¥\b6]\b7\ 2\1e\82²/\8dÀd\ fj´ØMÕÙ\ 3ÄÒÏ¥04ÓîfA5@ë
+¸rɵ^èûT\9esé"ÄV\10\80\93\12§áßôÜÄ\14P\86é(\rÙ~Ò·ÿjköÊ¿þ\r\8dì\13\1cg$8\\9b<M>\1fð\ 4Ô\ehh³BIñ\9f\0dTïqä¾G¦^z\9bàå\99\99yço\9b\8d
+vôür\89Ê\89\83móf\v\92\ 2\12¥Mö2=UTÌr\89SîLZ\b\ e\8a\98\ar\ f¾II\99ß\12z\eMk\89\8b\97\129\97\98o(Ò9´±©\98S\8câÆ§V\1cmc\7fídëÍ\1cC\94òaâ"\ 2µ±0K{&¦`(\ 6SÝ÷*q\18RÝÂ\9eT\14½h\ 2ÒãçÌû^.=KÝü׬ Â\9dÖë\9f¿T.'\ 5\91ÂÓ§\1aÇI\82´õ\ 5ø
+`(óÓ¿p_¿wçLZ,µãa*wSÑõ\8aÖ+(è/ü\18ã\97µp§\18{BÕ[
+?7®%µ\vduIÓ\\85¨]¤UQ\ e\9e\91V8yNÀÄ_<%Âý'\
+h\'ªîÏKC\4§^\12¦\84§Ð\18Á»q\1eÜ\13|MLÊõ\12\e\13\rì\80ü[\84&ào\9762üß\­$ê\84«ô\8dw_è,ÿi\8e+\bÕ9¥âñ\b¹ñ¼Ä¸Ç\ 2\97ò\93´:y\88¡\ 2¨Ø¿¾\1a
+.þOrzkV¶µ\ 2\8dêÎ]§\r\a\fR5µ2`³úÑ­ïäÂû­âñÍ    fÈÖí\ 1a\99\82ø;\eUÃV\89qþi;9î?\12ª¦MyN£»Æ\9c®ÔØ\14¹&Ù]0\18\1f3?\9b\85\1c\ 1øo\8b\80T\99\1akð§ýRqð·V\ ei ±\93é\85K\14\9dÐ\8d.\ewõàæÍ¦,\91Ól\82ÈfNä\15þbÔj\r?ï%Å\17\8dÆ\9e\99h\83E\13Á\ 4\89nħ\8aoØ)Íçð\14»\98\fi-¸Ü«M\ 6\ eMBã\11´\15d;«\12uÈÍ\fj\80¼]ªS\19V\80¾\ 5\95\16Ê3\87®Â\1f\82\9f\7fC\89Z
+Ù¨_çâÏK\1c Rÿ<\16¿z\ 1O!2É4ÐbB­ì\eN±kPswmcR\82\91]\0\1cw@Dí\\13¯
+\94S©4¤Ý¤ò«R -\7f\ 5`úÑÖ¾¨bø
+\9d\ f¬
\7f
+¹>û\92u\ 2±XuèKö\14s0âxÁÐ\10\12\9a\a\ fxf\96\17\b\\ 3~\89p\rûd\9bã#Ú&\v4\r³Í\1c{rÆ\8fÍ\8f\0é,6WOá\11Ó\9c07\ 1r3¨Ö    säsÙ\95\18\84é\179Úp\99\13Óp~*sð\ f\9am\15\96\85Ä­{Oa\9a,\v\19ÖãÍõì\reDgzàüU\1ab\9e¯À\15.sø\81\1a%­ÃZå\9c+Á.\ 3'Î1Ã\82,û¶í,¸Ñs³êÜ[òs\e\7fôËG\80Ä­ÂòÁÑÖ\90\10b'E>¬þg\ 4\83áÌ9üH¹\vb§íù\87\15ºû}\80>\ e\1e\ 2ïÒgßJÛÔvÍ\1aho\1e|`2÷Á       6S ß\81\94\8cõ\e¡WÿC\974\87.¶£aó\8a\1c\9fÄ94ñLíÀ}\9dµ\8bÌÛ]×Ï\9f¤[r\93\90|1 ÄÏ\8f
+}[v2ép\90\bUr\1cø(#@ÁF|AzøaB\ e\158r}òq\82M\aM\15)è¤ïÛ\81ÑøqɳýØÂ±ÿ\8d_:\92©×ã\ 2,\15A\18*ÐcXµh\\91kÿ\f°t\1e WGfËÕ%\18g·ð±\85Y.%\ 5Bd       FÉ*k3mgh+Ã\91}&0º
+-RAfRp\1a        +Ø,Ó±ÐaqÃ\95\1c\98,õÉÁÉ\82Ú]\8f\1c\98B\ 2Hrl\ 2³|ry\ 3`ßÇ&\e\13Ì\95\f\9eL*«Ç'
+\ 2\ 6\raÅûÆ\9e\f\98R}\7f\80äÁSOoÇ&\ 1dÞ¸ra¼ûqÉ\85\9c9?¼\v|ìraQ\ 3©\1c\9eX\16    Üð@"© _ÓºaÊ\85\9b®°Y \ 4Õ3£\93Ë\80\14;\1c\98TEö#\93Ì\e\a490&Ð\93\83\93\v\81õ\10äÀ¥RÉ\ eO"\0a\fr`\ 6BzÉá\90 W­Û¾Â\9dÁ\9c\\97\85gr\90r#×S¨\ 4"cb'\85òg\9dÒ\84\a\b\1c\85w©)\1eÙÿ\14\80Û©ñú\ 6¼\98º\ 4ý\9fj]\vü\19/³#
+jÍèÃ?´õÆ0\9e\92JÐ{ÏH§Cï\ f\ e'\86\90¾ã\14õ\82Yßãtå\8f\ e\9eçt8ôÅ\8e¹=®äqût\84\9d*UäQ\12e\86\ 5]l\981)Î\13\ 4\ 5ÏôÝ\ýÞn®j,Ì{±³qI°Ü\ 1¿£á\8d¹×\14\9dWÊ*âcª+(^0kv\99ñzÀ\ 3è\8d\10\v}å§°\16ûË&ªÛï$I\87Á\9d<\82©â\ 5cÛ³ýÓ£e´þALt»3l¦sÀ½\12ð\ 59!\ 4dÝéB¬\91î1j´\1e°h0d~\b4ö¼\ 6\9d*{V_\0ÕÍ\ 2Ä\136ôv³¡,üÓ\87öIK/îM°4\9f\1c\10Pþz\8cº\1fEbp¤´ÿ"úÃ\82\f¨\v\81\8dEßB7\89Û^\ eJ{èt\rT|ò´\94\87Ø®\ 5ÿ<-\16kýf¶¶UYPP-8\r\91ï¶üãÜú¥N
\19èç\ 6浤\12ä\90¿\8d6\1cy³<Ð\ 3
+\9brñÐR|µ\f&ÉÃ{¬¨çÂ\12ou¥X\87¸N\8dMOâ,AU\85¤\ 5Fa|\90\98R\85\9aà\16"iõí\ 5ÈeN¼  AC¸S\97)!ùGCO'úÿ\81úc°\93\0·\ fch\82µ¥Þa¡\18¿¶
++AhÞ!¶Ô\94.üÆ\89¥-7®\13c:×ßù\837\97L *Tg¥Ä\a\ f\95\8eº\10ý9º¡=]èx\85/åu)ð¯í\ fG\ 5àûbQ\14oò'ËÅ\1f/ì >\91\8d¨\9b?
+\96Ħ®Ñ4¤¬Ië£ÙÛá\ 3Ô)Àãù[\86û÷\81tr\86\15\96Ëî\aEÄ¡\v·¹\0ò\9a\90\17\9fT\ 2Å\1fù\ e«\1c=Ån\85áUÅf\0Pÿt\89@q#1å\85:­3³Ä\10\ 5Jyî\17EöÐÞ\89\88\ 2ß\8có\87é\9fän¡[³\82\17\8bèK\82\bêÔL®ákùsJt\88\920þÆÕ\1dÓr6¹x\8b\8aø\10),\89úÚÓFˬP\9b
+K,\82\ 2Õ^Æq¾\0P\b©E&\ 3<,â\13&T÷W«Í í÷\83\88 \1fÀ;wëÞT[%oc5\eâ¯Å4Z×^\8f¬}ó­W|Ñ\9bô{ârc»\b\vî\90º ,\82\ e°\b\ 3\90\12¼³\89üCi\17\8cð$H\15éÌ\8a ú\9b\ 5ø\14V\126~\81\98û\16ËÃ\vò\8e\8d÷jñàp\83\13ü\7f¸¸Iİ1\93\10+q*\ 5\89·oVÖ\16®\85\90ª\ 4pMÿ»tø7bé\ 2å\9f\9a\88\eµy±ªèY§ù\11.\ 5Ð\9a\r\1aÖ!`[S¥\8aìÔ{âå,ÉÀ£\98\9f'\98S&¿%2;cÎ\99AE\97`7x¢1×jSóò3\ 3eL\8f\9díó´ÔÍ\r\83\86Íç{yêh\93`Èg\öýÀ\93 5²_Y@\13:àX    P%o*©Y`¹áÊ£¬Ö\a¹\v¯Ö5al±zäìõ¯\ 6¬'0\10${\8cX\9e\84Ø%\93¬6     Æ\94í\90Ò¼þ{¹ËcþèlÄ\,va\ fµU\v\90\ 1Ñ"z]U\88\12¦®Ö_bIÌEîuit£°¡\98£w\9ȩ\v\98\941ÔåeÐ@\155é*^£`Ç#R\16aç¹rRÎ\83ÊÐi4BÚ\ 6þ¾\8dÚÔ\97{cZYüKB.\r        êåÊ-ä©F\ 1b-£Z¸\15\95\89\rÅ\8f\86\123iê 3\8eb\85-ÙÏ\8cÎ\e¨TsZ½½3>uz5µæÇnÖ9Ï\15\1aßxØ¢\11C\0bЯ¤\12¢oE\96j㶯Iî9m\ 2êâæ\10mëb\ 5?(o(æ]Êf6,V>\85\e\E\e¹ÜÊ\8aÄëëR\ 6a?ßï\14ì¢6ïjeúÅÈA¶!\92È¥\12y¿%¼\97°%\10gì@ 8Ü'ú{%@ÞñæR\v·ªw«Á]whX\ 5X[Zd\9bTrÑs\16o\9bË\98\83\9c°7Íú\98,yø®¬+ ³ iûX\8d\90!ö~cpl Q\11o¨õ\9aÒ+\86¨\99\9fe\ 2è\91Bg?°:\8cõo\1e\90àéy \8f¼)\
+\90s\ 5lQ
+*CÅ~C\b\ 6xMrÄPI\19­É\9aèÖÄi\9bÌW¹hÕoï¨åÝ©>Sªô¥@&p°Ûé\96>|6L§ß\10'$vñì\9c\1aZþ¼\8bx¹X>0!â\96Lº×­+\fìÓg\9e\10òïéìÜÊ:å-Ð`ÀÑ\fà\1dr\999\8d\8erÓKÊ\152vËKÊ\ e\
+h§V\9c§VK_Cº´åº²\ùs«&,ÅBÝK\ f1½2ôuÉÂØ#®âBØmjã,d\b\15\12×>hÚ_rå§:¹\1aÛ$\9eÞ'\8d%Çê6n®ñøª9Oé¸\1c[\ 2Pübc½ÅGkFMaFåE~\13))^Ø\96G±ÊÇÿ<´E¨MÃ\9eÌÅ\8c¡Öchæ£nî\87\9dFî)%Û\11\88\9fÈáë²\19Ô[Ô\9eáðfØ)º«´Û˱VsI8y½mW³Nh/úÁµ\10\93Õ\1a=:ÇîQFµÆ\9c/\91Úu´k\eþ\18\86Õÿ# 6Ñ´Û§\v¶ã\10ï[ùôu3ÑÁýj\8cÉEÉ\eóѶ]¸£vÌ\17w\9e´h\9a¾;¼\10\9f\ 3j­Ñë\84Ŷ\86ôU0%vÌóª6Ü|}2:`7\1d-jÓ\ 5i\8a÷\13Äó\r"ú5»`Q\ 3\eåÛ¿\90Û£\9fç\ eè¸{)=3Q¯­í\ 3£<#S"T*[\9cXÌ¡óH*\ 1$Â×Z\11¢\99F·¿­ìÝ\fÒ-Ð×â8:\90¡²©\1fº7sðÔnæ\997w¢\88\99GWS[Úº\f¤ÔP§zÊ1\11¥Ìã0Ä©íÓ¿\0Ê$\9a\11O?õ³\r§NÏøð§gü¼Ñg®'Ãí¢Ãà-վȩa\vÁî\1a ±ßõ\84\83Ìt\87H\99\89þòШ\83\vÌ\ey½q\98\a ùßÌ\11GPlö\86\10¨åÝOÅ5\ 2âÇm¦³\85°\f\v\92B\82Û7\8e\11×\11E¥Ùõ6Ì,10\99\r&õMniÐ\r*0ÙµÖÌeäÆ\85;\e\eàêmXÛÞa·\9cme3Q\0½ÅEäÝZ1U\82Ì;\7f\ 16|³6Sýb7¼\0§\17F\ 1=\ 3â£\9eÃÙ\8fß{\9c\8a3\92G\e7\fOÖlP\12Ç»Yx/ìm\91 Ô\Ï$;\r\1e}\86\ f\ 1Xl·ù5¨æÂ#¦ñ¹¤jD3B¹kC\86#c      A\85à\8c&\ e­Ø²Ä\bä{©t\15^³ª\\16¾ª\8c{\98ÿÉàÊ?ø>\84\7fâº\ 6  \9fº9\8e\8d\18«mM\15iL\12\91V\ fy³U~\ 6ÚÅYèªûEû9eiläm©lý\19b\ f\1fª#Æ\84\9cB:¶\r¿k\ 5`÷»4*3\81\f\9bî\10\16+\ 6\92&må\8a`p\17\ f\ fÄus\8c\81\92£\eè\90\15ìö\ e»Éç+\ f&²¿\82)Ï^\vß7å\97\13\16¨\ e¢?\117Å.pjÉFì\87\13(\e¹\19\8b\1d\1c2\8b\15ÉôE\eÉÇ4gê\98G\88Æ #ÅëÅ\8aöï\ 5\ 5T\9e\9cµ\9c!lÎ\80ìlÄ\82¬\0S\88fÚ ±²~\81\0.y:y·³\80\13ü"\94µ´3\91\ 6sÙÈ\90gÊs­b4AÀ\11\9a07\92ñÎV"ï\ 4¦8\96±áàÕ`üð"$\8e¯Qß\9fo\e=\9c|f\ 1ä&õðp#þfYH\87¨%rð:?ò\ 6\8f{\9da6Er\87É&<8ë]Jº×»\81­tdÁ\11¿¥¨ò\15`ä 0{\12`³%Ce\14ðlì%§ÝÍ^\fËÂ`À³\91\93\16$t?\9a®\87g\ 3\93\ 60X:¨\eeò`\94ÑÂqnÁÝ\1ej\ 5W".öI´L}\80\FvÜÁÐ\80\\ 1ªõ\ 1LÑT9¿Ì\1a\rí\eñSû»±T|æbß\ 5\8bðªÅ¨Á\1d\7fí\99ÿÉ\83}\16\ eõV\ e^\ 3\a¶&        \rºµÿ\94N\85¯\89ûÅd\1eÎq- \r\84Á+\ 3\9a\91£¼\7f\12®
\ 4«\82Ä\rx\ 2þ\1e\ 4@²LjùUmµ~!Z!¬\86Ê/Fþ\86@Ú!\12§\88ÅÚ¸>»\ 2\15ØÜ±Õ\ 5f!\ 5ö|Y¿'\ 2®Åy\80«õ\1dÒÄ\19½2fÁh\10\12SàÞÔ\13zîv÷j¤?à7³"ÞÑ\ 3zp³\938\15w\12t\9b×\98\ 5KÈX1Ø\15_'\ 2L\eÒ
+Ûg\85\83Î\8fU\82@\ví{\8cJ\16À\0÷ºþ\8b\8fqJ\1eñª·¯\büië©ô?g\16\98^ÔÃ\89u¨)\96j\10\8aܳ¡ýÒâ\89à2\87÷Süy\ 2êé8g\8bõR\81Ö{ýÚhi\88ß\14\15\1f\a\16ÝE\83`(\10MÝÆÕÊ\1fqÝÆè\84n\18/ÑÊ@ë»
+\ 2\8dq¡Þ÷\80\120      E_@º¹e:´\17\16\8c\0B\82Ônk\v\18Á(Õ£O¢\0\869=AÖ²sRbñqå\7fÖî\83mû7\ 5ÔÁC¬¬+Ƭ\0.»|i\17«÷Ì\8aîQ\ fd\15B\89@\ 1~\8eÙûB\ 1n6\8e××  ^¸\8dý²bQQ\88\9fÂ<\8cý\81\9e\98¢\8f§s
+7v\8d \rÊ\ 1\\8d\81Å?P%}©\a8Ø7>\8c¶>\ 5Ï£»\85د¥\ 6\vì4\e\9f\8c¾<î¸\17j\10\ 1í\}à^QgäÂò}7&~\82Ö­¦\1chÿðXóÔø\81³ÀJ½8çV\9c°    C\8f\97ºq\1f\8b\13\92«*W\941W\11ë1ãÌïè¬áz \9f\93dö\ ZO÷*k½­X)\8f\8d\8aýÈ\14ä8\17\8e$úp«"«\8d\vÿ\0UÍá­\8dÁ²\9d\99\ 6ð\84\14ZFh;\92\ 5\96á½s#è¬L@ô§=¯\9a\7f\93\fgÜgÑgµ¸gÁT¥\8a\9d    \82x°×È[t,ÍÎ8­\19\12\r«\9f/mQÀXÞª73$¢ÏåÚ\9d¯\90\16¾\12\v_R«^£\80Õ·\18^{\ f$\ f=\83Uº7¬°ì\16\99\9bªYMv\ e\87,9\10¼\aw¸è G\8e£­þAͲæ8»\ 4ÎW\1c\17³ð\86i^Ï÷x\80Ó[lEµ\ 3¹i¾¨´ÝëT\ 5\9eÁÕ\93 ¦\10\1cÇL\ 5ÄF(Ùh\8do$ÓQúQ)þ\1cwØßþ8ÑoÆÕîj7ìª9K\ 3BÚqÕоö4´+\95t,ö9\ 4>ÂʶÔT7É W\82\ 2\9f4\9e\rø\9c¾7±\97ñ½\839\81{HÚ\1d_v\82ËÄÈÅ5\95Äñ¤M¿\12íeùÎbS\8f!ÄK\1a\1d\ 2>!<\99bã¿®\824\ 6È      q¹\1a7\8d\1d­\99\10 0A!\eëèËuô\b [ïîP\v\8bauP\82êÐ\81Ò\9ej7íAÈ\19\08\8d6Mj®Iê\19\98úøX~H6! ;¥ó\e\ 6\ 1öº¯$®«Î+ªÜ\8fc\ 2·Õc\93櫪Ò\83ªä\87UÀy¯Ù@®«V­ÌlÏê*\91É=\91\9e\97b¿KÕ\83Ñ\ 2\87\ 3\93ã\19à)z²8ï\8aß4·\85pÛ_Ø\8b\1f\91Ì\80ë\9e§3¤ë\87`ìúL\13j\98PÕ!}\1câA{\ f\8b¤ö\1c,ÐÑ{s\9cà   [¶ãG§^7.BÅ\17Ü,`v4÷Í\r¥<ut èG±\95w:d`]õª\94ßû-0ù+5\16Ã\90Ø\9bVîRÝp©¹ 6nëª6\ fé¹\1c[\ fü,ù¿©`\rÜZµÜ<\8c\9bÃ\89\99¹ló\90óç\ 5¦YgM.\vf/\ e]u\mÆLûKí½oh\0+6xpí\11ÖvÝ hz|\89§9Ú\ 2\94\97ýÇ^ÄÍ\9fÅý¶¬Î\89\ 1\ 6ß\86+ª³Åÿ\8f\fV
+EK>\1a\82n\85~\93\f¨N1ÍZ\96|/òZ¶\7f\9aø\85ªÕ³Åa\90è­[;\8d\aù`h?.ßAñp¿v\83\90O\80\ 2Ü\ 3ýøQu\ eêø\16\ 1\bó\9e²aÔè^4)ëH;\96\82ô¬O\1a\0\90¨:wÓoM\10\ag\90­ªö\r°\16\0\80Å66y°¯N"=uS\ 1ê\81 ¨\93¨\9b
+\98(m\80Ú\ 5ù7§lòοä\84m\80ÝÕ^ª9,\1c¯m/´¦\88;[\89\r°%E\ 5\1c\14­®×\ 6n1µ\7fÉx\1e¹)FߨÝQ·]¹£nîïжO\7føNO÷?ü\13\93õøOê\13\83ýå\ 3¾^§      ÿp\9c\1e]­ÿ\1f\84ÿ`¶ö\8e\13þ!mï} ¨DÏÞÈ*\11\92\1fê'BÕ\eiû*l)´fÔt  §5ª#\15\8eÎÁ\\81u\ f¦`¤t\9fdÌÊÖ\89q·Ævf\92Çn\18NÙùêkç¬Ü^HBâ¯ó$\aªÏ©& \ 1!Ê©\ 1\93\9bñ\ f@\17gØÁ\10\8að:§\1a\97¶0±CJÈ\10ß\10\96\10ö\15DpKbTIØkÑ\ 5Ôq³mSàÎY7\99¯\909×óÜ\81pi\v\b\95Þ@ô<\1c\84 ö«-®I'\9f)¤/di}ȪF\ 2Ö
+®JbÄ\17ÏÝ\88ált\b\9a_ÔjE~\9cé¿h¨ß\8eB\bÔ\92Ç·÷*7ëªlÜ£V©\8cóû!ëN\9b\17ß\b\1d\7fêôØ\ 1z\9dq\85\99K$\8f{7ÈG<Á\1eõ\8a9éÆH÷³¬\8d÷\14o¸£}´7ÛC}Ç\eî8ßr\ 6û\90\89¾äM÷*o¹Q³':صIý\95\8exÚ;»6ÇÂRE¼`í\8cð\18ÿ÷[\18@Qìo\93\19±dUÙ\9d\89¶qóéåÜD\9fíç\97r\12\7f¸\16\ 4\rºÛ\9b$ùöc.\ 2Ê\9b²ÿU\8f_\8bæÿÑc×Û÷\ 2ØÃKQã­~ÿ2\85©1\15ÿ\90Q#\9a\1f\1d\13\0\9e\8aJ\15×<\87ô'«w)~\ eÙ.Y²A\19F0S\16[3cÄ \8f\81\ fÝt\89û½ÈGÿU/ùÚ\94\ fs¦<{ã$/\92\91h_=+Í¢©\84nÛ_\86¯\87$¾çÿTÂ7(\88&Xþ$\ 4Ð\93\ fCüÒò~ç¤\98£ùú­zÔ\17Ê,è
+\10qKÍðJ"\18%æýÏôL-b\98öîÀ\98ÚíÓ\1eݳ\83Ä@p\7f©ÇÎñý\17\13òÔKÛgLðê\ 50~\8af»¶\ f*ðSN\1fkþp3û³ö­ñLílú\ 2D\1fî(\1dâ\98\f×¼\12`û¹p;]³¹Lr\7fqC\7fQ\86)\8f®$JP\18¼\1föL¹üò\82çs°aº`\98¦å0HE¬À!\ f]\vÝ2ìদ>za¿Q®\ 5\ 6ÞJ       B¯È(PÊá\8d£áP\8b\92ÿ\80\92C'ß4?ó1&}öf}ø\84/~\ 1ß}R\86?p\99zúI\9bÝ\8fõ)X|ý\17ý\8a\1d¿ø¦Q»h\9fô\13:Ú°C\88\80\9akáÀeÊÅ Nb¤\19ÌäæÐÿS\95ôJ&:\8e>\ e÷à\1dÞàDÿ³éD,S$½ñ\vÕ\15í\vÔ£D/K/$\99\83\15\9c=¼Sú%\1d\9cÐ\833\91ÛÉol\9a\ eïH_¨¯(_¥#\b¦\11ÚAL°êK\aà}\83o.å2côJ/\7fGïû7Á4Ýæ`Ê\17Ï\80½ÈÜg¹×|ö\9füÓI\7f=4ýܾü\14Ñ'Ñ\ f\98ê~ø\8eP:ï\a(er\87ûp\7f¼ÑþÜ\9fïÈ9@[Ų\80\98rí|I>\86ã¼qö\17\18ù[\8c|ÕÆ>nã\1fý×\18ùË\8c~âã\1f¹¸ÇÎÜcç®1ß­þ¡ê\ 1eÉ?\ 4¸Ç]q\8f    q\8e¾ã\1d\85Æ;\e\8cvW\18ð·\18ð×\18ð÷\18ñ\17\18ìî1ân1ѸÇ\80÷ë\ e÷l\87¼ð\13ÛÃ\ e\19=\9c@ôP\91\82Ã'«f8bôõ\ 5\86OG\128bóõ\ 5\86O6\88á\8bËÔ\16\1aÏóïycÄoàn\vïÆóî1÷\1d&=ÏéÔ#´\96¾(úý\1dÍU®?¤>*\9fÔ\9fÇõTñô\951æEGÔ %\12\97¢\97§ÔR\93 ¤¿ò\ba\10\8e\1fP\91Î\8f\92-çm\92\ f$··QÎyß·B¨\99ÇóÂ\91I`yY¿Ýä\87&ý¤[Ò\10\eö©ÑÉt\12\81\7f\b}ù^\7f »`\7f £du\19l\7f\1fø\83ÿ³?üIÿâ\8fÿv?üYÿÔN weH?_`ºçÆIî¼\ 3þëõ×ïý~÷\96xs3¿\17Ð×Q¢¦ÙKÆú¸Þàå+îðr\95÷\96\9a<¡§)o|\89³\8cT3çê\8eRÎó')ds(iÇÉ9ë\16F-\8e\88ßÚX\89!ÕÕÞ\81zµÈN&\1eÜ¢Ä=¹ÇÒ)¸Âmx\7fL¦¿    ¬â}"\9anó­úç\9f9F?\19ÞÂðè:=iN\96\13\9fÂ\99·\fm7\ fê\9bGú§ÑæÓ`,á\83È\87\97©å#¬¢ aÃ2VNµ\91\ 5\97\f\ 4\16©'Úî¡\bF*aàKÉ\99\87\ f\b\0pÖa£\87ÉsÇCÈ\96\18iõ²Õ
\86¶b¡YTÖâÉ4Ï\ e\eh,9\989y¨\e\ 6µ¹&\88áÃ\9bA\92¸i 66¡Ã\9eB)\92\9b\1fÙÅ@Øú6JîºÏ¿\ 3xÖf£\95Ã[O\a\95\b)ºët(,W\ fD\82Õpôp\1cMn\92\ 3\89­ïE( \16\1dD\16~\9a\ e\87u\a/S\aCéàè}D\1dûï 0Ðû
+\1alWÛ\8eTL7!\89\rgæÍBb}®lçèì½oÕâßo]þoèø6^Ïç4Î~ùLçÿ¿\1fÛÿï\90ÅÜù\14ÝÈné¹ñø;\9f$K ðë.þ\1f¿\83\99ðd)4Û\v׿ª\87ñ¦³\1eìÞ\9asÍú8\99Læ>Q·qÀ\90âÖõ\1e\1e3O?%¾ðå6ÔßÛÈ®î|\1eºçÈêÕá\9fÿ ¶7säpw>C\87ÿ\9f"c¹ò,?öò';\9f%\93ÑtÞ\7fðëù\9eüæªCÌõ2\9e\9bÊ}óïµ¼|\163Q\1dw\8béó=MeÏ\92¡Ög\9ctÙÏCÝKËY®øþm¶\93'säÄw>\113³ïý\8d¯Î³² Öþ\9dÆ­ÄOË\f±®g×ÿ\ e\ f¢\97¡â<ò§uú\1e\rÔå÷_®¿]~ºýuúëõ×ë¯×_®¿]~ºýuúëõ×ë¯×_®¿]~ºýuúëõ×ë¯×_®¿]~ºýuúëõ×ïÿþIÛ?\98<Fé>Xú\íb|Q \80µ\82'UÖ\9bï\80\96±=ã\10²\9cV'»b\16JJÄö\8cBÖIX\9d\83\10ï;Õ\89\87j±do¿M\88\ fM\8aÄÿS\10µ\98V'æ1\vY\85b~;\10µ\98V'à±\vY\85bo\18\85¬Â±7LBÚ5X>A×\14oºV!k$¬O8Ä-g\15\89öÌBÖqX\9fÞ\ 4¹Äo¼\8b\10÷Ô\9aÄçØ\82·Û¬Ni\88'=\1aÁò\146\86û\937ÝìßxP÷íã}õ\ 6û¾\9bîú\bYøßws}Æ\9bî\1d\88+\8bºÄ×1\ fB\1c¬O\96À<$PÛþo¾\9c\80+\98³oû\0!eæßö\02\17\r¿ì\ 3¡\8e\9b\7fØ\0Ë$6ÿ\9bï\ 6\eþÀ\ 5\1ca·ý\80\ 3\0\9fV
+÷çÂ\86ÿ°\ 5vÐmÿ7Þ\1c\80,\v\ 3\0Wo\86ßö\0(U\r¿ì\ 3Õ\88\r¿ì\ 2Úômÿ\ 5å®\eþÀ=ZR°Dê¾$7ý\80\81·ý\80z±¡·ý\80ÀÄ%ëォIÙþï{÷zI\ 2\ 4\83Р\10QY¶yõ\96\87«Ù`׿\ 1\ 3î§cz\11I\11D\97\ 5\84Åm#  !\ 4ªÄ\90S§Ì\12´ò«[ª\95*%ª
+ß*µG²E@E %V\b«\15Kï£*Ñj\80\ 2\1dÿÿ¿ÿßß}ÞöI\ 4\15¹k¯®nܯ¸\eÀÜÜÞ\1f¸;ÀÜÍÌÞ\16ðw3s=¹ìÜÍü\0ßÀ\rÌÜçï3xÛ¹¿\80\1eâoàkO\ f^¶½m\96: u\8e      \7f½\a[@\97ò·õ\82þVçÂþVñ\81\7f½\ 3\9c\80Kù[úá\7f½\ f\12þc$Ð\97ð\1e,Âþ<\8e\f\17÷\83¸\8c%üx\ 1¨/àB(\85üx`(/ï\a\¸KøaþBþðuÁD¿\95¾P/ï\ 3\9cpKøzG\ 2þð:d\ 4¿¼\ e·!/ï\ 3§°KûÀ×^\12þð9î\1a\9eÞP/ï\ 3\9eÀKûÀç¬\12þðuÆ\84¿¼\ ezA/ï\ 3\9e\80Køó½p_Þ\a\97÷\81Ï(%ýàsÈ    \7fx\1cñ\82\a<@\97÷\81Ï\b%ýàsÀ    \7fv\1cï\82\87\97÷aÎè%ýØs¸    \7fv\1cí\82\8e¼\b\97÷aÎÈ%ýØs°    \7f\1e\vû°çX\12þì9Õ\ 4¿»\ eu\ 6\94Èä_@\17÷aÎ\90%üx\aH/îÃ\9d\0KøðË\90_ÊßB\17÷c×rä¿»\1e\17r%ü\0ØÀ¿\8fuÿ\85ü=P\81\7fv\ 5[Ñ/îÇ_DKù[Ï\ 5ü­ôA\7f+yð¿»\1e»§%ü­ôa\7f+} _ÊßJ\17ñ*»\85ü­ôÁ\7f+z\0¿\89N\b/ånÀ/ãÞ¡!\7fP:\ 6\ 4¿\95¾ /ê\ eÀx\97ñ?{\85ü\ 6B\0¿\8fi\91\ 5ü­õ!\7f+v!\7f+z@¿\95¾¨/ê\ 2\1fºKù[û¡\7f+}X_ÊßÞ\vú\81ë´%ü­ÿH_Ô\ e\86\ 1/åo­\vú\81Ç®%ýAëÃò_Êß`\17ò·÷ÂþVû\10¿¨(!/%ü­ÿ\94/åo²\vøzý\ 2þVû@¿\87°\0/åoð\85ü=\81\81\7f+z\80¿\95¿Ä\17ò·Û\ 5üy\87¨/åo·\vù[Õ\ 5ü­þ0¿\8f%A\ 5ü­÷\ 1\7f\1e\ 3æ\vû ]#É\7f\1e\e\86\vù[î\82þèv2\84¿\95¾ð/ãÏVÁ\7f+\7fÔ\17ðöL\ 5ü­÷Á\7ft'¿ò_ÏßÛ\ 4¿\80\12\8c\17ò·ù\82þVü ¿\95¿\f\80\90Ë%ýÐiMI\7f\1e¥P\vû\91ëÀr_ÊÝ\98_ǹFÂþVüP¿\95¿\18/â}Z\vù\9a?\12\82p¨Kù[Ø\ 5ü­ù\ 1\7f+{\10¿\803\82\17÷#×­ä¿\95¿Î\17÷#׳俹\ 2&@\97ò·´\vù[òÂþVö¡\7fr\aha/åoÌ\vù[óBþVüà¿\95»P¿\95½°_Êß\9e\17ò··\vù[ô\ 2þVý\10¿\95¿H/åoÓ\vù¶gä¿\9b§ÎKù[õBþVý`¿\8eÙ\10/åop\17ò·úBþVÿ¬/æËè\92þ%\95\80¿\81ÍH\17ñ%¯\85üýM\88Kù[öBþVý ¿\8a\bò\ 2þb
+P\97ñä§`¿\95¿p/åoö\ 5ü\114\80¿\95¿x/à=Ý\85ü­îÂþ:ë@¿\95½è_ÊÞø/åo~\17ñ×f\ 5ü­ð\ 2þVø!\7f\8fK¾_¨\95Ä«ßJWïf³\92\8aþ\19o\vÉ\8b\16¦V./\12\19\8aãgR\ 4\80¢µ\1aÙU¹u¹e¨\96Ê-\93Z\14(µryJ(µs±jÜeh×W¾ }\bY\9a\84¿Sj_ø\85ÿ¶/û0\97\87C'\16­êõÿª]W2¸\94[v\19ñÊe\ká\15\88\85\93&ñêÍD\84¬Õ²òîàW\8b¶/ÒÔ¿û1'3Â;æ#x?5xÍâ¸\8dÊ?\1dʸ\82Àñ\e2ÿëËþYÓ¦ýH\b(þú½Ì\94Pd¼(DÅ\97&s\r\ 3½z÷Ã÷Í\8fè\12*|Sc©÷Â@\19]\8fu^æú\ 1꣠÷\85ñ\91\vÿ¯/þÌ¿ö£\0+{ÊEx¸\88üø²»ñv¥ÿ¶¤Ç\95Óª \9b\124OU@ö\92\92\91}$BÿÚõT\13]U\ 3äH\ eýU\ 4ï3\96æ)\16¤[\98[,·2·4¶]nmlÂìn2å~\97_eqÁ]\8179úÀ\0Ê®Å\ 4ÔW¥ø1A7\15ë<Ø\92\17<F\8b±:®x¥\áâËÅÙÜpGÒ½\89\96SôÅ\8aàOz\14\ 6\ 6Ý\17\87A'q'ø2ñxߨW\8fÁ\975\83d>Y¯×¿$ÎоK\0Ã>\98óò[\82¹DVP_\98Ù¯Æ\86I0°2ùè\96\15س´GâÖ%Ù\f3\8bõ-?f\96ÒÓ}i¿´¢9ke\ao\ 3OdÎ\ e¾Û\93àÄ»\90C\8b\e´W\8b²\19$­í\93\94m\17WÃÚ.¯ãÙÚ+ôí 1m\94\8b´++B+x¨\9dN¾ÓÉ´UÍúÓʧ+X+¬\9fLÃ=N¿Ik¤\89¤Ùâ¢i-´\8cÓ#Ù\94Úzk+\87´Ý7¬:ðÍn2V\9a¿\18â©î²Ouëk_Ê©¹¦×\1f¦Hé¡ô\ e÷ÞíÇ¿­ÅÊÓ11­|Veu³R´ßΫ\99\8doÑ;xBÊ¡p¦¯×¹%º\9b5ì!\923¦ïÞ¸¦ÒZÓi"Si-©\8b;i6eñª¾\v/\aÆ\1c\8fsÀ®-©
+ýA<H«:Y\ 4¿\f9d\14d\aÅ\90'[È\e5ñ[\ 68=6¸M\97y¦%}1ùË\8fÍ!`\1f\v\8c\9a.8s\9d>­¼MË\8bn\ ei\89.40¯\92Á\85wÍC\92ñ!(\8b aW¥\87a\98.\94·7B^Jè2\83Ö³\16\86%S¨»1ðJýûÿÊ\92ü(\0IjÒf\1f\µËKæÑmï\80\8bb\82
+anl{] ¾\95yn\80\12Ïê£\19U̲\fի͹Ü\1d\1fÝúȽ;\92ú\19ßìÒÜn­5\8e:w6\90¨²yL­\1f.´"Ø\89\94-\89\89\9c§\93¯ä#\13k;îÅW9\ 2ØIÊà×\87M'¬\8b¹éïIÈ\9e÷\8f\90rä¿as\92jç£Ì\15ÊJ»~æ¥\95\96/\98Á®Æk\85\8bºý¸»ª\96\7f\ 1ë\98_U´ÒU\16´ÙbÖº\93/\98æòÜÇ3IiûùQýÛEe-\15\93´¢?p\83Y+§D\89\ 4´7\vC¤v´5äÖ\87
+W\99´Wê/eêÍ/|³´2h'¾\9aVvG´\ 4\91¬°rBÄ\8a­W}\1aÉÄ=hiI\17´GìÖ°v\9d\8d"5\7fD\98\9f\85\9b\7f¹º[¨@¶\1a¨ÕVꫵZ-V\97U×j»=V§USÜh;\80Ë.\8fb\10WiôZ}.\9f®Óöz}N\9fY§ïôàOò\ eäO\17ø~î£þÂ,Þf\84\92DH¤î\1c^\ e ¾\83¼\92\7fË^\9co1\97¯\89¹/½\7f_¹¨Àñ\e\92òÝ×ëÿølCüt\16\91º@¯×>óýOä%\fí\9e\7f\80\943\ 3èÂWûÛ\89p#ó{4÷}\9f \943ÅüÃb\1e·æ\1e\81ë´6pþ1è\1eÓpß*\9f\80æ\93\b¬6¿´Cݹ\88 m[c\aô«$2 "NEç]&J'1!d\ 39ÈÀñö0\1c\95Õ#¨á\9eiÌi(ÄÎp?\97r=\ e1\ e\9b\12\90\1fe\13c¡ÊócÛ\16(\95(\11+\ 1±çè|º®)\91@àÞ2^«vÏvl¿%Vì{câÞ0Å\1f¼j\1aó\91\8d\0ÔÓË$5³\88\1e\82òÙøâF\93À\1c\\9dß,Ì\90        (£Ô¬]Ýý\9dú'\r\9e¥\18§ \80à\81õQ\8dæ\1c¦g\9ai\8fÚ^/f»\94Ì\9ds98ÂkO\95\8c&´òH\13Zh\92\82±¢Kü\80\8c\98ê:\10&\96Ùø\9d\1e\1dv%\87\ 3¬\ 2\19)Û8
+Ðk×\87-\80\8e2\ fÌwZL¹@2!¡\9fÚÜ\991®9\ 2\ 2\15\01a\1eê,W¾Ú\1fº\8bà1ä\0Á0´[ú(
+\96áîxs(éĦQçÊGúäH\7fz\v²ðÆ\99\v\9d§\80Nó¶_¼Ú-ÿ±O>5[¶í~-Oñ%¸þCß§Bo5ú\1f\99ÜÙ½\89\80-㯧\96w$þ\90·+¿ø÷+á<®\92\8fþ{\95ÿò)Ðë£\8f¥ü[¿ä)Ðí¿ú7µëR7³ë¿°okã>Q½_\18z7¤oSÒüCz¾çr}rpzç\9fæ\14èw\9bq÷¼-¸õÐq/ÔN
+Ýå8nÅ ¡\0õ³UiÃÊz\8f\83\98\97þÿÇ\94ó¼<§xi_÷\8dP\ 65°ª\9dIÈ?yÅ:@·\10@\8d\18«EÑÒErJe\ f\v\87"\82\12¯\89\96\87ʶ\eÁõ¨öÖ\1f\9eÒ#¸64_!\8d\82Çç9\8aT0\94ÝêDÙòí`\91\11\82,Ö   ¢æ\80]3ºÀû\14àtÖW\12w\98<fC£\9bI\9c\7fÚPèb    W¬ÏWsÇ\10\8a\f®\1d   [è¿=¢\ 1\v\16lú2\1aq\83\95}Ð3,Þ;Fîþ5\e¦ý'\17RºU\17\82;ãLVÁ\9e\ 2h';~g\9a­\0ÎÒÝ\19\ 6Í\ 4òlè\ 2\96òPÂõh\6\11\11¢A\87\85ïNy\ 5®\90à1Ã\99飠    \85þ\920\98_ÏÝ        \85þ\14\94'ðÉ­ç&­ÒÞIScúók}æÔoý\ eSy\e\95Ðõ¸¡þ=©I\0µ9ñ\8aìv\16©§\92\7f14ãyïáþ-ÊüÆ\eµÍÍ\8eJûÂû(ë\90êúÏwéq^\16K´¸¾Üi»\1c_N¤\9fk\87ÿù\0×¶Á#ÀqæôiÉüÄ\ 3_\ fÿÂ\ 1¯æ`\922¸ð_)\0×\ 6àV\97\b_ôÛù\ 5\aÜL*}z§\85ùFûÿg\86D\9a\ 1Ùá¿Ò@5îç\97|ô$mà\ 2 ¨ÛÔ;\ 3;ñÔU°X¯C\0£\92¥^r\8a¢\fåy\88Õ\1eéÒêQSÁS\Ï\94\91\ e\81ô\1c©\88\86¤5\80\8fs¤ã´@\9f×R7\8e»\18ÏÞ\1eb\96ã÷üIÞRèë-±\ 2\11bXû  K\9e:\1a\15ç\18Dþ@Þc\82bª#%HËëût\b ´\12âDöÏ\8e\84½\8d\11-;\1aé­û6©N?%îìפ\\88\8c?\80ö=\8a\ 3\ 1hE\ 2Û,\983òö\19ê¦[\ayM\84¿d\aüìü-\1c\96¥Ê¶\ 3ƶ\1a\97\ f>.j]Õɯ_®\84¼<ü&\8fî\82ìnÐ\eM»Í*\ 3å\84\92óù)Ð\aë\9d¶zâOÞò9\b\9cê\93X`COp\85\9a·§Lñ3å ðëÝ\8aÀÞÁK\9f\89\ fè\8b\17w¥»§&mCÎeV\ 6\9d\16»\8fàøù\17.@¾öñò*=ñò.ã\bm'Í\85«\15t@W\90ë²&cÙ\ ew,\82Æíxy\19@\e\83P\rÁ\ 1:\91û\17è0óo Ãé_\85e4\vº\82\95\8c\1eL¡@K\7f)3\18$k\80\10ã\8aön/IÃP\99Ab\8a\90&Ô$\99\18\80=ïmÎ\ e\ 3§D0\v½{¯ã\88Õ\1e"\0-Aâ\99§M\9bgÃC>ÔÁü\1c²ºo\15x¾5\ 5\87¯W{^¿\80é]\ 2(\14%yá½h`\ 1\15í[ SæäÉN³¡\98h4³\Í\81X\84\94RYÐ\12ñ\ 1Ao\94C\15ã¸\1eåOî\ e}ºÎ>¬Æ
+
+\95\ 2fØ$Ψ+\8d\87\93\17¤§hM\83\1d·\ 5\80÷E\9c}SâÁ\9cçê ««çßЩÀlß\a0òaìg\ 1ü\1aö\v\19_¤Ó#8\rÏgçgk\80n\80LêÈæ¬U\89\9f<çrt\88;kt\b\1aß)\a\94à%\9f|%\807íÈK\12\ 4ó\aÎ7<Áà.R\8d}¿6fÝ\ 1½ctÔ\18¯\\b\1d\99ìËêÇéø\ 6\96çà\1as\9eO&\1d\9fÀ=\ 3\7f\0¡¤\1a\82§@_kÅñ`Ïæ_TÄA£\95?{¯y\80\11¥\17Í|\eÚ\ 2ó\91\8fá7\84ªVçNv\12N\9fìk¨4~JvGAPô6eKê5MÉ×qü\ 6ÎB7\96\96W#\18½\8eF\12("\ eM\ 1¸\10ñÐ\99ë¯h`õÏ2öX\12̸d\ 4ÕðÃLõX\17\r\86<p\el:\     ÎÒÖþa\9do5c\83\bÇÿ M{\8eÐeÒ³ç\0-¡×\ 11é~¿\9b-_ôZ\eÁºÿ\ 5\13çm«m\94±\9e#ce÷\97×)\90å¨à¯\ fï"\83Ù\ 4í7x\ 4J\9aÚÆ\83\80³\15è\12¯9\98M\85x\0o\ eÉh]\9d­üï"g`ÌÍ8¸@ÿ\98®Ï(­^\ 6¿=0äEâ-4\83±\98°;:\13E{¾ÝÞæÓ{\9dh\v«w³\ e#\ 5zÝB6Egµ\12\ 3îc|\9a\93ã\bý\13\ e$\ 3$ªüÈ æ,P~{_ùÀk\9b\87\9c­:\ e­P}Sÿ\v\98Á÷}I\97\12\ 3ó¨\0Ý#Ó\15-\ 3%\86\81v\v\9a%\e:òi\10\H7÷<ËØ%¤dÿ\9e®\83¸hª>ØÊº\83?¶AP]o#ÃÇR+ßcgW\9eÆÍVt\90lq¯\9aÈK\0cë$µ}k·\15_i\14\17ñÏIÔòô\0\16¶1fº\96pgíje¨\14\84î-\92Óòu\9eÅÄô]\83\16GAÚÑ\81j£Ûø\1a{%uvAÊ\91´\rÆ´ã@ \95\11\9aĺ\ 1q¤m¦ð\9e¢\9bWA =¯K\1al\0¡\8erª:f\e\1dE§`O-5Y\97¡±Yô\84²\vif1bK\ 2V\9cé=\8e\9b©\96Y´Çp\18\7f¬tì]\81\9cB:pP\82WÝûeù?\aapÑ>Ú1õûË\9eÔ\12W'1Ætø¡ãª3Ï\11Aãìörµ[\v\ 4m$§ªé\ 6±|uõ\aÖÙ\9a   D\eÁô0Ûõú&\81n\81ÐT6\8e\vZ#à®N\9ampC)EO\ 14\12æ#p1d½ê\1co\8eDÁ`\1c\928\ 4º=Ú\0\82\7fõK#I<\94mû-\82s ->ÌK)¼í\8f\81!\1a­0z­GÕL³\ f\1f(\8cª\ 63=Ʋ        \9b·×\9d\86í\r\ 5¬\ 3f>9Ã\r\1e\13;\8bô\81{<[\1dz\81Ágºpæ®[táÒ\ 4\7fo¨sýß?   \7f\11¤Ku@áÕ^d¬»ªË×tn\Õäkº7J\0ËAC(sn²\ 6æ9ð\876\ eC\80î¸HbEý~ó@ùE{\1a\bHÙ®å\r=6ìP\11ö\0%͹\86\1fsãáG\9c³®Æ:\8a&\88\b\90 £è%ÔÙ÷N`ÎDg\8b9\8bh\ 5\bm\8b\ 4\11A\915Öþ!ó\9bÛ÷æ\13À7[j\f\1eÂâ[Fèæ\0K5¾µ\92\0ô?µ\1c._ \13ÛÝ·O\90XèC#I\ 1\8bX\0\ 1\99\ 3p\ÁñNò\v\14\ 5£\18\ 2\ 5ÛT\ 2¤ÙÛ\96©?t
+3$õ[êÏ®»\14\ 6q\93Z
+ÐÍnu ¥0[E²ovJ\1a¤:hÛ³*ßTÙâ¢?ï\ÐèwUX
+ìcàt¼\ 1­\16ñê}Ë\85\ 5\ 6\97Ñ|a@\ 5~\ 2\ 5\7f\ 1Ò\ féøÐ¾Ý\ 1¡Þg¢\97l_´·¢\99aË«\8f\r\8fã\ f2É¿·AË?   Á\9d\82\ f\19:[}»G\13\1dç\e.\89\9aVÆg¼TÁì\82\18~øâÚ\1døsÏ\80¶d@7§\13ÚNåT\9a¬\8fn\85\ 6øC:­ÎÕÆ\9b8¸ÜI\1fÒá£õ[OYÑ$Þâ¼íÕlßÎ\9eÕo§rAp`"\1d\19·Eù£^Òõ\f¡´ÿ·S}=á¿¶/Ö²U;\ 6éó\98+\8fÀxØ\15¥´\17\82\16¬aÎÍ\1c.\b¿@µ"ÉÒU«\ 6}j\81A\97*Õ¹Ð\17Ä\1a\ f\ 3\7f´\ e9ÎЦ\80Y_`À\13ÎÁ[\fû\97\rÐ\12á\ 6\7fìΠÝE\867\83­½·Âw#\8fË\968\84\88°[;\92SíOÿÓ\ ePÈ®{KÏsï«2gA¢"\rýÌÇÒh\12\87\15Ò\96\vmD´D\87W9¶\83«\9eÜø)ÿ"p¤\83.à"yù÷Õ:±;C\96[Ͼ¬å ¤ÿß7\98ùOÝ\98Ò\v\86¦\91@%ãYp|ÿ\9f}S­:\ 1Ì\8c\13¸Q£\91Múºmt\bºàÓ#â Ï \ 3Õç8¨ÀÍï ÄÖÛÅH\143\ 2\ eÃK,×\19cý×§\1cÿt¶S7xèÛ0\83\18\1dÃ>\10Õ\1f\ 3x\85òrÑ\97ٻà@\85\14\ 4mìZe$N\r\1e\8e0\1d¤\9fÃB\18Gn\9d\84ì¯=\9d}YÉ\83ï\8f\ 5\8a:VÂÕU(\17aR8æÚâ\99>?êÞLqLR\9eÂ\8cëê\9b( ×;ë\90Ø\1d6+ê\11Ao·Úl!¥ç°\8bøqþ\b¤\95pØbL@tôÈG¸ð¾\1a§0<´Ð»\8f\8eUûRηíÅ\ 2p\7fÌZ\84NÕñѨ.$\e\11\ e\84\9d+>±\9e\1e@\1f`­o\r\94uРkýÙ.¡\19.\91\9e·üù/á\0o`â\8f\ 11\86&\9aÔ\ e\8b½ÍçÓ<\89ë!\9d­\1f@Ac¨=·3\99Ú\80qc`WÄ\98\80_H\ em.I¡sñ©p\86ý\aô¯=\9b-¾#ìUØ£§?´OìÕ\ 3\8f\14\96\8cF\967+"6PgFß\1a\8b6[|Wc0þ\ 2º¿Iu;$p$úC^\11ï¨zì\94Â\89C\8b/V\83\8c&\10å»§L÷i\85÷Ä\0\81-åBÇ\8d]K1ÀK\95\ 1¨@kæ-\0?4}\0(ïqµ   ´\14
+¤¼ nãðæ\97,®çà\80ï½\8cêY³\82\89»U:\13Ç8\94-G\11¿Ý-0äÀf'Ô\89qV\80<m?(')¹#á\1a·\rÍü£`7=\f\15\96Õ¶\94cR\9bÐ\ eÆ^\v¸â\81!àð¸­t\1cN-DñøAÄÍ\e\ 5àÐ÷\1fæeÀ÷\1f\9dWM\11©·>è$)\9eX\99ÖIÆ\9eÊw¨ÎµßbaEõÙ\17¶È\15\ 3üqá\1fb_\84\80KJ\18af\97\9d'<hó\13\a\ 4èµw­ÁZ»bë\15\13\1f¢+\95Õ\b+ð!óí3þ\ fÖÑí\80\86\89-äöÄ\81¢|\14C\8bþ[Ò=\8a\18y\9b`R}\vî\9a}\19h\95ºÙÞí1[}ÖÏD`È\11!omó`-ñ\14\1c= ä^MÆ\1dBíßÎôx!eM\19iPø7\9eúk(
+z\16\e\0\10ÿ÷îªu28¤#ý¶ý°oÖ²ë×Ä\9aÝ8wWÆAC\1c \1d\r¹Î\98Ͼ\1cý\96w\08n\vJ\88E\81U{MP\91a3\19ØB¼è\ 4þê7 ï`ÏÙç${ê§\98\11MòGÅç\1d«\96\9e¸\94kµ¡~Å­\vèá\a_;\11ºt毠       ºtìÄ\ 2g:c5ï%4\8a\ eû¤\ 3\1c\99Û\96\ 3Þ;(ö»\0Lä¼\9c\92B(\ 2\ 1\82Y\13Þ ¼£Û%\93/½%\8fͺm#ê\81ç7^{0ú²\81;{é\e\11Ìô\80þ@#oz\87ÈwU\1e\ 2$Âðz\82vM\ 1\ 1\970ú¦"C\1aFb´µ¨Ñ&\80\88ÉÌÅBêêó\ fäl;Ú\9d\ 1\97`t\9b\9f¿?\13\85õZ[\9dVìhÎ\81¡PUÿѱ\975:8\1fÑ\16î{Gæ¤@ÝÁÄÂAö\88\8d\ 2Ëì     º\ 5\93\927e6­SÈV£@²Vã\17\8c«x¦\r,|4lÀñN\83\93=\8eõ&íá\10\1f½£Ç\ e\80\aUÙ6\86m|aâ-`ñ½\9aQ¶PdN÷²fá³öé[\89\90û\94\1c,½ëNµTeD6¬\87\ 2\9bôÞH¡\126\97\86Üiη¥£Ço\12åÈC¹å\9e87V>ú0K\9eb\93\86L1\14\eV\99\e\98Îïk.-0Ê,Ã÷Ú7/¬:^q0)Q\1a\85¯©½²ù.º-\9cv3\9fþFÝ\1d\87\93.ÿÑ8\ 1üä9\7fû'\eý\83¯\98\87/\8e\9aÿýâÿ?\97u\18u\eº\8c:\8dÝ\7f¬\87\93Z=ɱ\17VëÚyg5ÏË\82\89\a\eÚoüI·\8cÅÿÜ«\8bíJEÿÙÍMw×\18\10¢³\96c寥\9aå®\8a+=ç³öÌ¢iß\`K\aÀå#û4­©£>B\86\97¾¸À\16\17\80©áû[\ f\895]ÞM\95ÿÜCÑï\1fí>BSqæ÷zê\95õtÜ\b\9f§{ÍÖØÎ{qzÊÆ öú\1e?#%Ìý\88W\92æ¼>\87\97äû\9b\1eæ\83³ï':ÿ#¢í»;Èãoø\8c\v¿\9f»GÿamëÈ\1f\83L`\9f\83'Zé\9bù_?ëu/>®§\eªèùX\16\eÏÍ»ô³\12Oü)§\eÎÖkâè\ 5è4ù\ f¯P:\ 1{ÉzaÖZS«äe=l4\1dS\9d\ f½Î帯mGYÎùmÅûÑ\95Æë8ïO¯ú´[Ï\11G]§[O¨é{g\19\v\r¿\17¬Ô¹ßv
+:û\94õ\1fäê~Îâ\87¿Þô\15u\9e\86§\92QÕæ\89*I»\9aÿ\12\vN=`{\110\b¶ß0Î\138÷Ïï\1fúÿõè\15õÉ#\7föÓ?/M\9e\18ØçïQ×\1f¿{ûÇþ¸$Gø$tÔbßíè\15ýù\ fü¦\1fã ´írÓæð\8dñÁ¾ðDTÚB¯¥*h#vO5\81Áù>[¿8«ß¿\7fKx¶(+¯\87Ìɵ@|d»<ëW\92»R$g\a¢\82õGËØ¢\11^\1e\97J\96\98ø¯y5Óøs\10\93ø\0\88+²d\11§¸Ð\117|\89|HezTGì
+       L\8d¥\81\aÓ\8e3Ee\9b\fãÐ\ 6¤PÑËe^Àbô¼å\13è\162®W\9fò.cë\9f\9e\1döß ë"\98#e^\ 2º¿f\ 2\9f®\ 2\96ì¾\97ø:\ 3)cĺDô\ 6\88è\f\81Ë«\8dÐ\19t\90\8f\91CH\86¸\85hKÏ\9b\11ëYÊ\e\96M\añÆÈº´ä^ÛøäUz\8f¶pÔy\a¢\7f\980\aeÁ¾&\ 5;)ñt\ 4\ 2 Ãée\vàäP2°:\vöú\0\fÓñwcõ¢?ó¹:\ 3#¡6\108\98ÙØ¯Þ\8e\|\1a\ 4S<"ÐÙ\ 2)\91Ò
+ÝëÈ&×9\81ò.\8e\80S ôôh\81cË<p\93\8b\9d²\8f\17aÛºh,&FIJ¯n\83ÜCãéñ¼d\84\92T3ëÃÓÄmP\94Øgm$\ 1Ñéévº\0ÿ\1a\ 4_\1e\82ÃÙ«½À¯àºW@\93á[W\82l\83\9bS\95õ[\ eA"(lîùYÔ1yM<*K\0Öø\85u\1d\0ÉÃ\12äÝ¡­ò\88­\83      \8b½6é[zí\1a\11K4ðöÛíO\92Çq\ 6s2ù«\9c\16\82\11zZ\ 5á\1fÖ§\92Ï$!䨦\1cä\1e[ØÂ0m´\ 3=\93¹\8fóî^Æx«âå)Ä\7fÁ\87\ 5\18ù\91\f\99ï\9c}ò9¸_Ý\15Ô~w\80Üy\87 \94ß\bÛÆ\ 2ÃÊ\17©g\9c âgRÒþ!eY®e3ui¶,ö2R\1e@¡Æ»\7f,j¶ÐñÏ:\83Gã/9Ö$%G.¦Uë4¨\86\9a­Ô\1c}\90\8e}Ø®Å<#\17\ ejêùw˩˿\80§\9cÏêt\9f\99\0ÚdÇ=\19!\88SkÎ#bB\90\9e\8d\0¿ª¦.¯\93\92\fg\99Å'\12ëÈ\1c\ 1¾8µ\17vy\84a鯼Æ}\ 1Óqó®7ã  ^\1eB\12z\1f\14scìYØ^\9av\ 2ÍO\ 4\ 3\0J~*%Æ\19 üÆ(\ 1?+\95¿µsÐ\f¶)vx\81Gͦbm\a {ô\1chËÏ\1aþØ:µ\96èo÷lÄ¿ \88\10>Òÿ\19¸ÇËß®ð>ý\ 2Ñ\8e\95¶\b\1a\ 5\ f2\88\8c\99c\ 2Ð|øE\ 1¿ÉfÊ&Á\1d{1ý«,å\19½\1aÂÔ#\1cåð.\12Ì\97\99Ü\16±å|t\ 4ÌF<Öµ\bÈÆsÜ<ÖyéXÃ8ÇO~\ 3é\9dJ!Ð[ Jt<W\ 2\93Mæ[Û\96Úì³j¸í7'B±±\8b"v1Ô\86YsRÏÇs(       o¥r\9dM\vðÇ\9a\f|P\83»\92®¯%Q\ 1L\94Ü\by'È\16Aø&\8aô\87jÓ¡\1a\8a,{\19\9f\15Âé\ eèã\9f<\ 2ädµI´ó1\86\ 6\8b­Ì\ 1\80nãð·ç\11Ââ8\ 2v\81\9cR~\94äÁo×\8eÈòÚL\14\ 3Ó÷\9f¨Ú\14       \9e\8e]=    \84\ 2ÞS\19âÿõoq\82'Á³\1dÞJóù7Õ2À(,®t&ó¢,\a\86ÚeÎ\8c\f\eÖè+1^z\91õfDÂ\ fe\8cÄáÇ«Àaûô\ 6\14\84G°d&\8bv\#g7Tý\r\8d%Á?\83\96\ 6fb\bâ\91õO\80Û½ <ÿÇø7Ô\f)úÏQ\10|Z\9a¿§·¤0\914ÕÎl®u\16øô¸f\12ü2ÆN³Óßcî\16¿\ 3g\87¨o\13ï¨\88A\142mþcZ6þC\89Ü\vt\1cKÔé\14´êE ¾Mø\aÈáY\ 2\89ò\ 2\9e\18;zÚqô$$P=d ß»þ\vP^é ¦£\15\11ÿ|ä0sø
+ìd\9a#\83W\14\ e¯\88àÐ\1d/\84Y\8dérÜoSÔ\16ÖŰ\bÚÉ\1e7ö)ÆþªÐ\81[\ 2¨löxZ|t\14ÄÈ zþì\12\19\16\9e\19ç´-µó§A&:¶\194¼ö\87²Ê\7f7:®\87\93\1f\96þÜmç\98×\r­ç\ 4¾\19\ 5¡A\a§ÌÅ/ûT\11âú\aòu\v\1c\ 3\8b+åÎ\81/;\19\8c3b³Å1\8eÇòµ       o¥WWFýu\10Ï×G IÈÄÙ\12\9e\12c(\93Я&-\añ\9c\14;\ f\8d     gUërÉv%\f êØ s|+¦´-õV\ez¾*\fú(\ 4*\8f\1f\ 6ù\eíµ·æ\89\ fD*p!hþ\bÉ®A'Òv<L¬8ø§Á\15µ7ð\ 2C;­YÛ\ e\8fW\ fXkªÏcia\ 5\8aQ¦CÛñ\8a\87dý# ?QÓ\ 3¤_\ 5\1a\16Ñ\9e¦\87@Küg±\8f\15\ 5\ eÅ£Q
+1£\1eN\85\r¾\ 4\8d÷C\ fQ\ 1B\ fñK·\viÂÑöuº\v\0ͼ\ 4XÂJ`Öq1\88È\10\f\fæc\a\v~&ƾ\844\8dÜ\9cº9\vئ\9d\8cºFZdCÛ¹=)¾ÛÐ\røG\14¤æmðSìyi¹\86yÆ·ZtÇñ\9f\ fá\eîý¿\84yäm\1d\eä\83\8cÖ!Ô\ f\88f¾Îamc¡\87`\13\17]\8b,Ú¼\8f\8d\84]\8by\82\84á\0èæÑò^q/jn\1açB¼º·?$\ e\9c¹ä\v\9b\9eTøØË=\8cñØ8øbïr\11âïo>\87\8eß;Ì÷Ò\91âÈ\19YâbÇãÅ\885\16\93%u\16 Ì\93¿í\8b\ fk¢G\1d\rhb\9f2RkhíE\v\8a@ðe&\84\ f\ryÄ«ï CçíS¸Kà\8b\100dÊ\919\17:\87\8c\bÀÏ\19½V\19\ 3g\94kL\18¦Á@¾\8b\88\87ÂA8\1c\9abÄ+UÓY\17Ù¿º,A=\10g\93ÿ\b°¶\8f^\90=W{c\8aíëcÄÚ³Ð\9cNGd\8c»E4\88\83TÐ(\1c\ e\91ª{;èý3ÿ\v\80jU¨\9f\18\11Z\12Ø-\ 6l?å\17\16²"á\19Ü<»\8b|9%½¨·¼\10\8b{\98\11ojÆ\8btfQO\8a-Î3áÞzÞh%RÝ`óhêq\93½\8bkÃÖñg-¼`»Vt\8du¡a_Âï\eÖc6Y$µXéôI|õ'3\ f\97S\9aF'z>\0\94Þ´\89\8b\e\97\8d\8eV\10覦\93\16\15\83i\96âøÐ\86{cÍ\91»:bê,\9av߯m¬\94$7?»m\r0\7f\e:`JL¶\9e\9b\86@Z\91¡¥ÛÏ}\v\9dxó×ÈÌd\9dÆDpûß$1\94\9b&}ôu\87\83r_\1cy´Â©Ñ\82C\ eó}ñÅm\1f4ëÌ%òG\0\15ÑÖ\9f\8c0\80é\8f¢BÉ=OJ¡\93\84¼çÝDS½\9c%çÏBJ\9c@û÷éð[||æc\810\8d\89\8b\89»\92åþ\1eTÖ6Ð'ü\8aª\0áJ?\ e\144úÕû\b¡å]\9bÇ+ÞÊàÖ3°Y\85Ï\ eM|V½`+
+ìñìJ±dÌ\9e?\15¯\ f*}ªÛ½¦*%\ 49;Î\8a®M$Wï\1eÆÐÀó®½4!­-¡³ª¿\98кCo\ fôuû_W\1f\ 5\fÄ\80\1f¢y«4\11\9cè\ 3¡«±dP
+|\82õýàÛaó\92\8a\8eû\vdîáÒ\91\f\vðÛ±¯g¬@\8dM\12x~6\e¾¾\ 4[H\b\a5õ:Ù\ 1¦.1eÏÛ:\8etû?ÜÇÇÿà4_ðÏ\91\1a:\7f¶u     ¡\8aE\8bS\ 6\16f'lf\a\17ÅT¡ÐM@\ 2é`\8e§v\97Å¥¸Ä\94\85\81L\80çßvÕ\ 3F\aÃF\98ëã\ 3II      3O}û\87\8dsváÝ Rx¶(\r£\ 6\9f¸ÇÈúðI5¯\ egÓQ\f\ 4Ù°å¶Ê&,\80\v\8a§\9dâ\ 1U\80¡Z<Ø¿ñ'o´Åÿ j\15\96      Ó£\ 4ݺ»æõK Êgk\1d\aÂ\8e\14Õp¡\1d¾Å\14\16E'¬\87aç:£o\8cìÏh\91¦nßQÕΤH\88<äÔi\98\81\14\19\89XÌæ\9dHêD~»dAÂ\9c9\vìý\94\91\9d\89Ó>C\88 `ÓÑH\96:n\81\82\14\86ü·Qùy[k.Û:×ó\86Cò£\9dkûÓ\88 /ù\1d.8ÃIîí\86çÅ̸Áwwq\80r\18[;¯y=¢.ßöû£ï\a\a\8dÀîM\89µIÈ«¾Nð½å\7fts¼ø\97¹        \19ÆGËF\8c\8f8À¹Hþó+\90rÖÓî±ù\1eìçi\8aoø}ÝO)ÃaëÒÄõÝ\8d78ç
+0ýê\8dy\13;ü#      ÿÛ;ûÿ\ f\ e\9dÿªy\1fÎÎp9ë.»Êå?\16÷G¦\9eô\95î¼\89>Ò½l\86\ e\83«Âö\18ߥëóÿBò*>ò*Çç\8cGùÿ¾\7fï\9fûçþÿ¿õý#boí8GA\8aÐ75¼%|½6vIýV\ 5Æó\9aÀü]\ 5ÿ9åÜl\9b'rø\1fñ\93]Ìw\e§ W\ 3©OøÉ®ãÔ\16=\9fý:\ 5|\ fø\ e\1a»Ôª\13ù©_\96Mw\10§ñ/¨ð+|Kïîè\15Ùx\81ÿ\ 6\18\99JU\7f\7f\81\83Ä\9aß2\8c\9fK3û¤×|"~\ 3\9aM¿í\93]Ó&y '\ 2\Ðô0Í\8b¾\1d\ fBâ#RNñÅl1_y_õ\9cUák½G;­´z\13@\1a\86\1f·ëPMû,e\92î!ùpg¥\87¨äk(×ñ\1c6z\12
+\1aiçõÕ\7fÏBÅ$\9c\19ì\1dO\1a(?\0^ÊÚV\ 2\96\81ø{äW99p¿,åì\ 4b:\19Í\8c\15/pTyÞ\b_ȶpgæ|\ 2üj{ÍÕ\94\9dWС:\10¯áÞî%\8b#KÀ\9c´]GGÖÜÝ\1em_¸\8ev{ÇÒí®Å¦»\92ö\8e\8f-[\ 1ëÑZîKÑ7èÿB\1aßT\ 4¬Z\0\11:ùÃç\10ßM« Ë\18\8cØÌÚ\8a\ 2\epg\ e\rd\1fWC"}áÌ_\ 3ýïwî\186;ò¼\17ròêcô\\86\8eø\83ß6\ 2\92?vqª\98^LÛÁ\9fè|du\13ÒªÄx\80æ¾±\8eµã5Åñ\10~\95·!õ\b\8bDÊh3wõË\13ßÞÎ\81/ïvöd]VÇ%lÎáFèL\1aýk±3§\ eÝ)\86O $\12\ag±6\91ÁÇ.\9a\ f)læ\99\99Eʱ»\94Ù\82\8fò¹f[¹N¤:ëÌÂnåNÏ \8b\97$ÝÊ\954&}Ìý\16îK\9d\ e\15årâ\9b¹R\e\NW'mÜ¡3¥EËÛU7/b¹'è\ egÒjågPÏ<\8b\96Å»\95k4hrHDp»?A\17ïÊ©\88%ùîz\9e²°A\1aã@\94¨2\ 2\7fc0£>i\8eòJ ÍH°ª\eB\95\83\9btö^{\91\ eÑõ\19õj\8e\0\92\80§¼lÉ\9cþæ§Ø\14>\1d\9c5*Õ\08\96ØòÏeÙóÐü
+c\82\1e§²½}£Õçùêz\9e¥¯\9b|\14_øÈê\17l\8b\94º±¾\ eÓ!È \ 4ðÜè\16\9f^¿\8d\18\80\86»îÑ¥+ÿfgÙöfd\929\ 6H\10\90\81\8eÌ7M@R\80©\b\ 3\9f\13$3\12\v\0\8a\8e«¨ @5\81\ 6\19\88\9a=L\18\1ddÌîjïjïuÝÛUÝ[_;ÚõÜ×z\11\8eïv\10X\0(@7u\14U\82\fUTP\80\v?þýûÿßffLÈ\11\84\15Eo[W»ç{ç{o\ 2ño\ 2ÛÀ¾yo\9ew\8f{âÞ\1dâß@w\89\85o\ 2ñ/"ð­ô\ 5Þðíô\18ÓÃÝ¥¶Ûd\8e)K$2DÐX\1f)\12Ãd¸Á´ö@G;\15ÔÒ$B\¬<\94\aoL \92%ùßï\vø5\b\1f\13ø\8d\ 4\941\8c¤Oû{HbÍÿ\14è"ñ5¨ó¡¢Åc/\9a2C\88NôÄ Q×\10â"x\14\ 3c[÷J\80¾ÑåÈ\8b8Y\89\11fõ:DñWøHva7V&_*ìHÞ²©º_\12Ål?ØæßÛ³ÿË\9b\7f   \97\1d;\91úL\87À\rÖþÀãÀíÖ\9eÐUßÑê!`æ\82ΨW¡ ±ì\10\92\ 2x\87©%¨\v\e×ü\a3󽬠(=^9ÔA\°#²½#l²xn    &\b9a0Ænp{Úyô\1e2\7fC\8cr\86´#\99zÒ0ºm5?\84%+5L.^\1a\19\85˽Ã0¹rpÌ.[GâQÝi \bØ(\84Åû\97t\90)z°>\84\9f·Ð\8a­\8f\94Á)cl:He0\80\1e\85Í'\9e\15úz\94$.`\ e?7ñÃ:%ôOùGP3Ì\9d!âÒ!õ-w£-\97    \80Z\ 3\1c4F\ 1m-bfØ\8fé\15\15ÓfB/1iX¼N_\1aÓü]ô¥÷ýñûÛ0w=HGù\93f\120fÅEÝÏñ¨¦¶\9eÅ      k\83\0ËJ\11\v\19õ¦ë\ 4\ 1¤\ 1q?C\ 5\8f\8f¹I\ 6\ 1\92\95úà\12\9dÈYCÁWÂÂ\ 2ä\94ff´èYB\97\15ÉaÁ¾×¢0\ fé\ 2ä²®\1a¸³x\87MØM:åâïÁ²uAä4ë\84\96p\r\88êÍ\13\82\82\8a\80ÿ\84\ 3\86¥\87ÊzOâB&ò,\ e)`yÁXâ iA*íA\90Æ\83w$穸D»\1d\88\82\b\ 1Ðû|\18\1d\8a!*÷ó\8fé§\19\15\8cGÒÃ\ 1 \99à\8bÊÒ?\88\7fTÒì\95ÅwDÐúã\15dM\9e\ 16gî\e\1a\93gøI²\96á³\ 4M\8f\89³\11\86&Ìù6^Á²\ 16\12ÒõLZ<\84±ÏÇú;Õç\8f+\ 6\96-å/,ZY\Ztv\14n¼Z~\13Ñ\eyÛB\83gÿ\11\ræ\9fi\\89\15Tï²D\ 3\19¢Û\95ú¼CÞþ#mo·{\8dî\ 1ò\11Ú\8b.¿FYS.fB=ÎÐ&\7f\ 2óƼÃlB7µÂ,F\1doâ4#Ë\16\83d"±Í\93\1c¼6:¼\r\10åZ¼\ f0½@V½d\88UrzÞ \80»Ã\b§Üo\8aÆï\10\8eH°=R°EwÖ@ñ\19(\12·Á\ 6ÐH¦£³Ä       \9f\ 4\98\ 3@Ïà[x\ e\10eÑÖ\93³\8fà'g\1f\rtj\ f\ 5ý²l\f\ 6¸\ 6ô\18|ZRm\ 1ÚêW:X\9djåID3ù^°±\11J²Í\88ÀG\10|F"{Ô\12Ñ\9aP\0ø\9eÊä\89Û%T÷Õøáæí­ë\90\84\88¡cÙ\be#\v\16\vN\9f§q\17\15ºGó>*î"O÷*­\8b\vb\93ø\94¤g\88°ã®îýßÁ\13KÀðÎ\1eµõ\1fì\89¥û¤]¾+¯{µ«8 \ 5\1c\92\ 4¸®Ër\1d\86ÄòGÊ,\96ÃÄH\12þ0\13gî£\92w\95ø\a¡hz'\83?íì\7fßô\9d¿9\b\82ü\87\ 4×ÙGly\12\8f<\84:þB\1cß9®î2º\7fâÐ¥öûØ\15ßg#ÒQÈ\89oÿR\1dßô8÷ý\1fßG÷Ñýô\7f\7fÌw\89©CË·Qs|¡éK_=\12\90P\92ù[&-ë\18¬¶Ð±»vwµÕéç\86WO\90;¿¸£»õ{\1fý˶÷nÑá+\9d©2\ 3\81\93Iøåsð\9a\14ÞÿÁÚ<(^§úæ@|"\ 5§íÐäJçíÏ1÷»\98ããL\80àí\16ö- t^K¶ì\ f.Û°äL\80ö\8c\vov\9cL\1f\1e%`\98Vcy^¥\ 3\8a·ä\8eO\1c\vÎwð #nu\0\e\vh\12³"¨:ãW\1c\1f;\89\*
+X§vqqÈÙ\ 3¥Íîb\8fz7¸ÜA'â^,aÈ}ÓÈ¡¼\0\90d&Ð\8c=\87\aÐþ¶Mͺ?U\ 3\89\1eÌvô­\?\9cq\88\9däÐ!Ö\93\80\e   è<uÄ®'\8e\ 3\9d÷,~ËâC7´âA[\ 2qNX\ 3\16-\1fݸ\1eÔ\81\9eÃ\ e\ fÖ\10H.ô\84\8f$\a+kZ'÷\96\9c9f"D°m\1e\84\f\91\84¯S\13\19\8b\8bfEWÈD\12D7í
+\ 6¿r\1c\13sÛ§\8bTý(Y\f¼ì\aäÌGþX\f\f5ª   \18»|»qõ\ fL\96²\ 1\1føeBM^°\8a\9eÜ\98  \85\80\99XÇÕÉU2yú?\89\"\f<  ¬ñ½^\ 2\85\11ÕÂ;\15§¡*è\b\81øW¸*\1aÀ¬8\10®©ð}\91]¾iF\87S\9aRlFFã­\11&Ö \93\8c<Ên\9f@^î\17Á\97§'l\ 4!\11ʤFn\8cHzÍoÝ:¯yÃPi@
+£;ç\13¨&¹aå      W+cX\16W\157\17\88\9b\87¹­\99îaËÑ\7f\86\1c½\17Úû\83Û¯$²\99e\b£ákV2\b\1f{5«\19Ü¥*üT©,ðAû\ 3\80¼»Ó}\f\e{×ÚÑ\97¦|\83³\87ÿÚ$\7f ÓO\8f/kä\8f2\8e»\1fØR[Ý\fjZc\10\15U\1c¤àõk\98·¥7x|W\e¼?\99¹æ)\86e/\90=ÿ\ 2e/aÿñÿ\86¸\80Ö\18Ø\býòÍqì>y®=\87Ìü/¢<×\ e÷à\9aãþ\12\87\8e§xpT\8c\82kgj·Û\9aÙã\14Aq+cÿ\axycì\r©ÿ\7f\11>\1f\10\8bfu\b£\qû\8a\82\94\9fJJ±ïTqüÝ$\vÅøÂ\8e6æéûÕªW¼\9cר°\9d\88î·Å\e°vt\87íÜÃ\99ù\90§À\97\8dc-È\18Ð\9e5\96H\1fÎ-\b\7f8\82Ë®=ÜìBS²\v    \18QD{ÆÌùÆÑI͵_\96¸Ù\83-t?\86ü\1e þ\eOêÇU\12÷KNª%\81\v\85Rd\97î\17)Ùv½r½¡¼£ØA\8eö'hm):\10j\v¸\arS&=\1aè¯X±3[Å3Z\ 2\1dË7   Ê+a±Æ\e\8fbÇøPkºë¤ò\1cãø\8d\91\ fâ9õ¼Dò\1fÑ[þ\94ò\1cÛdûpæÅÿµ\ el_~Sbÿú¡¾÷\ e\8dñf¿þ2d'ïs/Ã]p\97\87¨|\92ä9ãÈ<\v\7fô¤B9\10¨ÿû\ fÞ>ç;Üèx³\98«SwWèE,×
+kõpnéùÈÃ÷¦APÿ\7fÓ1nÕzËfKîû§ÓTt^\9a\90Tÿ\ 1\ fì\82§½\88}\13ë\97|\84\eí\ f\9c\83}¡ó{_Ô,?su\9c\8eæá\12³\0 ÖÔÿ¿x¥§\8b\80:Ès:]×spêÞôù=ê\1c\8fkþØø?l\87ì\82§\85\85`\1cH'ñÔ\ e¼\19v[!¯F\8fROy5Eèg¥?¢E_\81\82RqÝ7W¼ü?A\7f±\ fÐ_9î\900>4=}]ë\9f¨ÿõ\9eQ°ÙÛ\7fÅv×\7f\18K>lôÑÂT½\e\95\1a^ï*Q\85\90VÇñrì[á\99¬¶\9aã\10µ~÷M\9füêt\1fó\19\7fú\8báÆo\7f?\9aþ½\ f\90Ü\1d²ù\8aM=\87ÎBÈÃ\ÁUwS÷yÐ\9c#2=³\12r\97í\98ò    ?9ÓQ«\92\17¡>0ä,m¿\18\85\91Å ;oO\83½eîQ|?&}\95µ?îóÎ\1e¯t\82]ù-\99\82\13¨õ»{D·Û\8c\94æØ\ 2ødö×}Ò6Ád§,2SÚÀ\90)B[zK\a²wÕ\aâ\89*\r\93¸Ä$h 6_\8dQÞÌý\91
+\85³¯bÔ\8b@g§!`ë\ 6&³ã\fóÉ\e\evB\0\8d¦\1c\0ø}æ\1di\v,\18^Tp³Ð\9eûZ~>\\85Ê\86\e\81\1c5ña\95\97\99f\1c§.n\9f\a\90ý%g\8a\ 1m\8c^¬Ê\ 3\18}¸d\9fÙä¤Xï\14\ 1÷ª\8aP\1c %à\97ûWl\86\1d\98m³ohë3`é§ybæ\ 3\89kw4\ e\e`´~\12Ad\e¦g^êxD\15*¦©¤ö;ãD 6±
+Mn\9fÛ:  °"\90\15\81\1f\18\85\r A\813§°i\e¡J¯\84\86\8elC\99\80ØØ\1e*LîÜ0)PR[¹¤ PðÍ¢Z9Ep%\90·&d¶\ 6F\82È{\14oV²\90.£nG¦¿¿¢\7f¤ã\1c\9fë\ e\89Î\8c\81\89\8c\94.:-Õ{1tY àªè\ eáM\19\94W\1dY
+ÂïE¸áÆ>¯\83(2õ1Q
+y´\8b¬\8aê\aü%@\9fD$MR\ 2\812\12Ïå¸.rb¥Bú.\81nï)\97gd\94
+%¦ÞHXhv\99ôÊ\91ÿ\9a\1aHmñù¦úºiGè¥AỦ
+\a\ræ\0¥\11vP¥ÚjöiçÄÑ©m+Pr\87\90é\ f\a³£N\16 \1ahI¦\9e+W\9f
+h\1a¦Éª².)È\ esÿèØ\1fyÇØ\1c·³\ f`u¿Ñ°>~.Àß\8eÁj\ 4q\88m"ì\ f\12ÓV-N$5yð¯­5BÕ7rÕîì\13\89á?Ç\ 5sw\80\8e\9f\8cÏ#±¾hä.îØÿ¾Äî\9cý\91Ïì\1füg7û\82ñ\86¢\ 1\ 1%\r\0¦ôõ¿\awþé\97u-ÝMwWH\ 1\ 4n\85EC\90X¬{\\8b\16ì\9a,¶õ9+¿\12ü\ fØÙgo'\9cþã\92þØ\95{"\ 5êgòÿÿ-\95©|\97Ï\12¯ùå0yc\91Q¶¬¹\1e«á'\81\811C´?ï\8fG\17á9\97ÉÃýÞx\9b\85\ 4\88\811g°YvL[Ôñ7\a\ f\vCàö\92¾æO»\89W\94;\1cPîºGý\1e\ 4m
+Âa0\93\13²rD®\17\91 `\84ÍWIC\90=\13ú­Æ\90êÅb¡þ5ç#§øh\0*íC«º~\820è¹2ßÄ··KO²\aû2_\8cñ2`#Ó4û±\ fY\88¦\ 4\88Í=ì\92\96\8e@%÷\88*¡]¥}Cl4­ËWx\ 2\ 6ßrlt
+\95i»ôâ\82\1a\10ä¹\90±âÑ\f\99.]X\8dÈÐ!@,\98Ú%¸=\99J"\14\e6\9a\90\1eL_¢ÚQbÊ÷\16Á\10\1aÚ'nlÏ\ 3¦\11æ \ eÊà\16\84%\fѲ}f\98\11ô:öçÁüB\11áéôÁ<¼m\83WD_@äp\89\85\91\11
+\86£ëD\8aætkóÓýÊxrÅ%CÌÙý\98¢"v \86T7Õ¯O®^\16\fÏ4Ô\9cqð÷¬¡Éé¹Á$M\15\85F;
+       \81½oY.yÍ\13²T¨ªRµ®í;A\19\1f¡00Ww~IQ¿\90-¬Y\90­\89âÈ.ðj\vÖ\8f%\8c\\9f\8c)ÍÐ(\ f\1fòL\9eÁÍ\9c\12\8b}^Ý\84\*ôV\ eÂCÂ¥©çݶË;è\8fbä9\14\91M\e\ 2²\ 2M\15F¹«\98v\13´\8cèx\169|\8d\90\83p\91ïW7Õ°}·ïø\ 53I¦\a\11\14D\95>ÈI\fØ\87gbYZcXVùr$¬ÂAocñCfÁ]ù\8d\r\9bÄ\f¤@\8f®Âê\e7{&Ï\11\84\88lÙL>â."x\90Ù»BlíØ]Cfõ¤Ù¨au\r\9bÿ\ 16g\18]CfëI³\9ca"\e7¡a\1e\e\18D\86Íå\v\16\97a"\e7>Âî\e7j$\88Êfm\85Ü6l\11B\ f~\e6\14ú\rs\r\9bì\91\87\r\9b®F$6oï£\ e\e7S\11¡\1e\9c´\eK\15\8f\9d&<\821!³ztJ\e7Ô£\ e\e6\15æ¯ïCfïèÝÃfùdU\86Í\8c8\9eµ\16È«\r\9bØ\13\b\r\92 \8a\ f-OÒ9\16\8b\1e)ѳ^ThÞ\84hlÝy6\ 2(nPÙ½ªø\90Ù¿ÀX\9fv\84HlßÝ_\1e\e7\9c_s\r\9býÅêÃfóËäCfêG Nà\97þÈlÛäAad:©nþ\19\ 5\82Gr\82Å\8aÀ\89T\17Ìhû\a\f¤AbGå Y/\88y>\ 2\1a©ömgöð9¨ö\1f÷\8c³\82´\97¹\9eÔ\ 3\fÜ1]è2$YÂÞ\11ð\98\ eV§¤%Ý4¦'@AÅý¼\97£\87`Þ¹\1clcdÈÙ.\91ý\83ýzt°ðo  L\e\8b\9cþª\987\1a\1d\1fì.ù
+[?\84»þE-\9f\8dàAñ\85©?nÀöqRïÀ\17×ÞÖrx\99\95\9c\9aÞL\81}\7fóC©þ\15*ì 5xóÀjâýþBá\ 6!R\ e=0uÈ?pjC\9fä'®ÿÓ"cÿâ\1d\7fçpúîWTÿ\1c\97}
+\8bʰÊaw¿D)\8fåþ\ 4=\7fÿH\7f?\16?Í3B²\9ddüJq«\1ai\93\8e\Jr:F-Û_Ö[J_îýÁé×v\1c¸\91£ù
+\ 3ÂïÉrHãär\16\14\8fçÜNÿo¹]î\1a\ f¿gòû\95ÎÿóÜ®Hò\14ÜY
+\8fÛ¤~°F\94¦\8bÜ\ eÃÝ\98\8cÂ\11\1eÞl\89&{y¿sÛl&÷;IÂÉö\93\9c\87\86<¼éÊ\ 4Üïì÷+¤\806C9Z×\11.\15îÃæ°}_¥{pùá\86oìG³\ f\98\93ú»\88ñ?\ 51/\85ð%]\9b\0¯\bT
+\7fÆV,h\81]³O§\94V\88\8c3Î_ä\ 1ZL~K\13\16\12ø¡*¨\16]8ËQ@UèÇíÖ\97Û\ 4\7f\94¾Á)F\ 5\87\84ê ü\8aÑL"\91à\91\9dÖÑM9k\95mj9So   t\1e\1c
\93\88(\15êï^áSoÎGÆ´·¡õª,v\18 WÍF±g.\ e\1d0Ô88wÛ\84ê\83Ç\83o\a\ eÝõ°Ê\ 3mÞÛß]òfü\8d\95\82\80\ 1Ãì\9að²xa÷\8c\93ß/L\95\84&.+2k÷Ö+Új|A þú¥®µ\89¯Iõ\85\85¢ì|    E\89XZ/]°K\95×Ñ\0\86\14Is0n\ 5zQ*Õ¼l\15\ 4\97:\9\16±Òë¼\ eÄØ\12\aÀ\90ãddR]±>\ 5y¡ì\r\91\91>\ 6\8f\17\ 33s\ 350ßX®yÊ\ 2Íá,\93ä\97ã%4S\vå\12¬I|)D\9eé\17Ê<D(S\99bAbi$YO\ e\f©ì$#Òs\8ek¼5\16\eÝþìCò¼$\1cÛëara(¤M\r      ¾'ã\8có½²\83$6?ÿê,:½Ù²\ 6ËÙ+\vö\99j
+Q\91\92\87¹µ$Nw\r5kR\7faÚUùh!cWh\86\ eÅæ9.ø\ 6\0\88\a0ÍúzÎ
+ °\1c`\10Úõ\e\8a\v\17\93ª3±\ 5\80·\0\85\9e{l\1d\ 1ÌÔ\ 2ô®9V\e=\11Ö\ 3\85SI\80¢¦µ&Mв:N\1a\va6ySwn\9f(t\12ßËÓÏ[¬\8cVÞÄ\8c\ f\94®\87µ\18q3­u\bu\90X\93ß²\82Ø [º­Èý×U´?\8c,j,
+9t\ 1ô.f>èßúá²Ó\80,´ï­ÈÚ\eÿêUaRiªç\0ã\95ãÐs@ãÂ\9aÓ_\9eð\17<\97
+=\81Þ\15\84³,C+ß´j.þZ\7f\ 2°hé\96!4W\86\1f\92ÍÊ\9f\8b\11æ7³ôÁã\81öÅ¿ÒáR?ñ^56ü\1aj·8ÉD\9acü|d­S\1c$ oá\98
+¹¥æß¬£M[1\18/©~|å==>þÔ\ 4\13ñ¶â+\fF\ 1ÀXÂéà\9bHö;ûR\184|\15ÇÜ]&fÅ'ÚõÛ\a\vµ\94K¬(\97X¸¬`\93M\\9eþÔ7^[\976ëð{\13rS&\96ûXnXa\b\83\e(\86\b¸ø#ë\15Ö\10%%\8dÅ\82é3r°\90\fÒ3bhGÁ\9cæv/µ\8b¬\17kÌÎ\18^ErU\99\10ÙöE\ f\7f\ 6@Ø2\ 1\83/÷ðcr\85\91
+(jÈ£\17\ 63lMg\ 6æ\ 3­\94%\82ÑVP£#(\ eM7.¦ÿâøo$\92ÅøîÑIîEx¾!K\ 4\84\a46%2\ 2ä\95\82\0ýìx\89}u\98¹\10x´óëj³UÀ\4ÍñÑýgÉ.Æ-ªÊã%4|òzQåYÝ\eÝ*ûæ\8d»Ý*4\1a<[Ý+
+\r\1e'O¥eo°ûÔ\1a<\1d\117ÍÒ\8eïuÙp:\ 4Æùu\935ÁE«aòÓIo¨y.\1a\81Â\ 1uÇ1\1c{$\9dÏI\9dq¢'R¤5\ 5Sê$Ö\11\1c\82\15º|ý\8eÂÈ\81tú!\96\1cµ£9úÁ\93NÄ(\15#`n·\1dñ¾\10WVQ°O¼\ f\8aúÊ4SîCâÆ²\8dz\7f|>,«(ÐOí\87Å\9de\1aá X88\91++\8e+oéÌrFÊ\1cÍ=m\1c¢}\9c¨
+K×/öu\94|\92m@\81Óm\ 3\vÃ\84èüÍ>xß6ÚhH§F#*bÍγx½öÆÃt¹Ä\ 5÷«\0²÷¯Ã6ó\r¶.\17\r    ùSõ\16\19ªu¬\13íJxÑO3íq)*6h\15üëÖ¸MAî» ½ï©Á]e\90d²ðë¼\Q¾Ú¶R"\m,D>¶ùIöCÖX¬ñ\9b,yiTf\8ewûD»}Ëm\99n\f::ÜÕ\16Ø3\16Æ×\99\87»'¯¶éõöÄ7\1e\b\99\80\ 6l{êfßO\11°O¨¶\1f\96\ 6
+äòåòm\ 5z|ù|§ ±O\9c/\97Ò\82É>l¾M`³O\13l\v«E3l$\1cJzùCmâ\99·-\a\99N\88(u'-l{\16¿\rÞ\8bq¿6%fùÃfí´Ï|·²Vp\97\9b
+nf\9fX,µ,Ýé\8d¤»tüíùX\91­\87fVEF\95\váDYp½ë\15¶ÄGGª6VûE,\86\1eìT²\18S¯=\92\e%6aõ\ f:×_\ 3\89 &ܱ\ 5ShDäÍ´\ 6¦Ñ\182\81à\9f\88sØ}®°M\16ËR¬^ÙÞZ
\12ôðP\ e.}\80ø¢\1c\ f\8e@8¹fmÒA£\ e.mÍÁü\1eh8¹ö\ 3ãÒ+ÅÈR@\\1f®<\îLÒn-!\7fr\f­\95\e\ 5\96Th\9bþ½b\7f|2{&ÜØd~Ã|§ :\9dð\88X\91È¢í¡³O\ e\16+\b\ 2\ 6Þ§\1d¹\8dñøíËo¿\9f\8eØ,K\8eÙÞ\0ötÃ\e\7f÷³d\13h\ 3}ö¹{À\19Í\96\ 5â'¯6LÇ\81ÇA\ f\ 5ý²\­\9aë:Î\81\0ÆçÔ &\10#½¶\10\91{»Z\16\16Xt«>K\eì®gòñ%Û6åH?ÍßZ\81\b\8aêB\93'âòl6D
+\9b¹oæ=\92\9d~b¢(\98,C°\10ßN"-Ó\rNâ~qæXÜHañT+\9esÆøb1T(;\95\11oMB\85¾²\83Xò|§ÂUyr~ȶ*       [Yp\83æï\8aÉT\vû\9fÐÆ1fH\86¶?þ"æ'Äõâó\13ìúà¶\ 5únêOA\8f\ 6ÌÆeæ\8b\95~dÜ+xþ¸ü¹\88('µ/\96&
+)Ù\17Ë\11\a \9eí\90òÙ\87\83F\9eà¾Xh<Ðñ¶\1cÇc ô\89ϳ\16lt\1f®\98\13Ì7»&°\90{»ò\94å¬N\89Ùµ2É\15F\e\15Å\92ÎÍäQg\1f\ 1?ÝEBG_ùOd?mô)7\85\17|\99µ\87ØÞ\86°¶á>³Nþ\16HMý82IÌ\8eº§ã\19¨v`n½_\93ØW\97M¢`L\1fâré\89*  o\ 3¢\ enÁ®\e}4ûmèö\ e\ 2\9f\1eÁî\e6Möô{\b8m<\9e\9bz<\87¸mô\93\89ØH(
+\18;{\87aG\r°\89é\98\9fª\ví¸       \v\9bFSÕoaòUÌïOÉV\17{íòT\\93\86×\1aÅä±\v\80î¼\11\8fÀ\19.RCÞÌC¦qµãuë\ 6¿Ê.6Ää·¥Óo ^ ÎÕ\9a.£úNn»ÆSG\1c¿ñ\a\1a\1eöVFØ\0~0!øl\1f\89á\16OøC|~\92Ó~9e\89þ>\ 425=\e©\1a\8eÇ=¬\97Äõg\84\92\8eõgÔI\12\e'%tõgÎ\93\9c\87«>`\9a<\96wOVsDÙ¬gtõgÂ"\9d_Ü3ºz³òI³¯gtõg¬&ϰÎCÕ\9ftÎ;Õ\9eA\9cG«7Å\8bb\19Èz³êYݽY³)ÿg(ÎíêÌ\ 1úϾõglË\8aõf\ 5\0}G«?Q\94G«>ý\947«>Â#@\94\ 4\80¥Z8¬z\ 2cÎ2\88õgÚ\11@pÀÖ²\86õgõÙr\1e¬Ä\133ñ^¬Ê\94\eÅêÎpJ\b\1a8ÆJ½YßFNRGx\1cV¢    \8f\92ÔÿYF¾o\84P\19\86\94\15àJíXFz³ñ\98\911?b£Õ\9d«\18\8fV\7f\98±8\f"=YÙ±\8eõg×±¹z³î\18ªõgÛ±\90õg×\8e@\9drÇùä\84ü\13Ün\ 4:ìF\89à`Â\83@ÈÅò­\1dx\15^4¨\17A©3î\98\r\ 2ðÃZéß"\ f¶¡\94ÆÅÇA±\14²õ\12ÌÞ~-\8b1mS×\15\1co\84s?^/¥²`õ¾\163Ï[ÐËCö\83µÕÛÃ:íáa»; ±f\95:ÒÇA     £|Â94z»{\1fôÄ|\ 6ªö?Çzû\84·\88eHÔ#§aî¶\b×êÄÙ\91ã\ 3Ôv¤J»­Ü×VÖ\17ñì§\94\ 1\9f°\ e\ 6\8bÝ!ä\11r>J\ 6|gþ×"\89?þ¬FÁÖ\ fÈO¢\a<gÆìÌÝï\9f,\ 2S-Ìl      9ñov\rþt°        [\97 ¹²în0I\85¤»q¹IîîX\ 4\8d\93\94±{×aF\9fÏ>Э\9eùÄb­\9e÷\ 4\7f»¥\91d\8büg¹¼
+<\87¹½Ò\8fsaVl?ë{\9bÿpÃ\1f;ê_R¿üo­ù%þëë\7fùË<¸\ 1)8®}\81_cq\1d ôÈû\8e\84ù\98øÖq\1fl³ËÒ£\15Ð\9d»î\0QÛP>Û·}´\ f\ 2Mfí\90Ã\bþR\1aÛÁ\9cVÓWã\e\1aL(Í\f\11ÙCd0ö\W2tvê\9c·;\91\90&ÓT\94  \94ÿÉ1Yü!<\ e\86!W^ôAVÿÀEd˵ë&sH,\ 2\9a06\1a9üA<>IcLK2      ®~ý\86\ 6r«&)¥\16LbdÎctäB\8dÿ\91öo\1fÅ&Ár\1fdÕZ°Åi\97³VÃ\1d\96¿ï$\94üo\9däÅç"Á\95y\13÷Ú±ë?è}\93þ§×?\85÷\8fè\9fàþ\8fïúÓAü°\9a\16üÊ̠ƣJIW\90c}jÓbß\87<²ÛÌ\9eã \11õu=ðÉ*ò\15ï\8e+ð®¢{û\1f\84Â\7f\1fP\9fÿü°Ó÷³ß3ð\9b\98À\ fòóE§íæ¹\ fÂ`\96­ÚMÃýÞ?        \84\8e¶÷\0t\9d¯\ 1î>á\80\9b\80
+\1f\ 3Ë\9f÷y\1a\9fåO°6çýü±©ò ûò÷w\9aÀ\ f¤_Õ\e\16[æWN\952?ßø\91¨{ÊHC\ 1æ3\81}~\19\ 2h\ 5vPH\13©òPÐõ\95]¨:\a¸Ù»ù#Ø\8eئ\bÔL-Õ\92,oáë_Ê\9e\8bÀbH\12%Bx\9aÄI\14=üç\9b\ 1ûÃ},\91ÛN\88Ý\vYt+Ä"R>µÔ¹ç,\82©m\10C2Óˬ¹\97\18\86U\93\86x¾ûç¤\93³&\14\88À\1e/½ö\9c\85äת\84RæVý\1fÕ9\12Bgs[2\ 4¨\9c¬dû°Öò=XûT
+ÅYà^[ç\7fÍêÇ\98AK\15+\91ç'n}Xâ¸ÃÎNüN0ý\8dú;\8c?\9eD­'«¿]8ÃìI³£¿Hq\87\82M\18ûõÓ\8c?dM\98\eõÓ\8c>\8c\9b\19\9caþ±6B\9cºq\87Æ\93fÎrC\8c;kôw\18\7fà\9c\88ã\ eÀ±oÞ\9c\90ã\ fèÎ]¸Ãçç\a\92½\9cåÛ\8c>rsàq\87¦\9câ¸ÃÍNCq\87¨\9c\88ã\ f\80\9c\86ã\ f½\9b\88âççM\954KÅcÛ\13\1eÊn#\8c?18N0ø\19Èn0ö3|\87\18p_ïî\9caü¹µ\aíæ\85Å×q6«\8c>JlXyÙ°p\8eé\830§ë\1e\1fÞ&\ 6%\1ai²±VNj3\8c>8\9b4sj8Ãêfâ8õ,OO5\11Æ\1e\92n;\8c<+íË\8c8@ÜÎã\ f;7!Æ\1exr\ 4ïø¯¿Í\f;ìo âwÇp\8fì>\ 3Kfý\1eæûÈ÷£\82§½\1fY}ÿjý¶3\v=÷Þ\86Qü¥\ e.âs÷Ú¨-²?\96^[¹²\7f=I\e!>Ü 
+\97Û©\1aI?AmÍ&Ü«G¬ö¡\1c\ f\86@nòSQ\8bùåx\92\1fõPü\11@\92Èn,N\vPÃ;Æ\96Ã\1dk\90Ǹs\95R\80ÈðR\a®>7û·²|æÒ\8bæäïæ¾\1ct²Ë¹\9f\99ì\ 2ªÉ\ 3lßrør\ 4\11
+?);Ù\8d\90\92\1aÛcr&\146\8e\9d\10\88\9c|\8cÐ\8eLDÂËhXZG:|h/êa.\8eþÕRsÃ\97ÑÔ_"IýµvØ\0\18ÄA(5T
+\ 5àÔlÙ·=\0\86\8by\82\89\ 5Jào\85\82vc9ùNÌ\8d\92Æ\bû@\81\0\ 5\8f{[ChBÐÍ\83fWü
+\19¨FáÏ\81\ eÇï¸Ö+\87Ìë¯d\88þjvÚh®\8eý\13\9a¾\fÇZ\10Z\9f¹{"ÿY[+û\82\81eäY&zhw
+Ûeso+©½¨\8cÀBå\0½Ô\88Ñ÷Ë«\8aô\ 3\82ìMÑT\ 1\12\fj4Ó\91\1c+Óú\16dKß\84hø¸\7fºO>4\ e)è¥\8bðNyT±X^X\ fP\9e¤'ÈãÙg¾\ 3s^22\17À\1a\106k[\9d^\ 3\bÎ\ 3\99@³LÎZ\1d\8doKÁ j\92\1aS\\11\82Î\bÝ(Ù;w\ 3#~\v-[\1a\11%eõBÍ]_¼²\1d
+\rø\89ìO\15ðj¨¾ý\19æÆ\86H\89\83\87<4§\14éÿ\86ã\15Ê»\9cs§àk\84Å>´Õ/½\r\r\178¤Ç8Åa/O<Ñ=\98ÁK\86T\8dÎþG\91Ã
+IB\9e¼\ f$`LB´7ø\¥p\93Ò\99ü\82î©x0\ 5\8b×w÷0:\19\80Ã\93Ç\13Ç/6)A\14¨Up\98ÊO\81\14c-¢ÜY\8e§s@rg{h\9d\ 4\91\9c\88ÏUf\17lo\98\88Ü\13Ù_ \14`\18ýkM^Nþ\14PTnð&ÛK"\13\13\90¯\80\11pÿ_
+U!\18àÁ\1c\87hãÃ+-ø¹MòL¥\9e07嫹\93v4×\89¡ù\95\82\14Í\97¯flzx\12Ky\81\11ßø#Ï\9a\ 4\82§~Yu\f,\19¶¶#w¾¯\e\80\98\19¦\175o\16\8c\84,\91k0z\ 29\8dI\1aø9\81ëáæ\11\83Sy/\ f´:uÜ%,\89×\86\80\18ý\80'\1aFâ§Â\97+#\10Íú\11\18ö2\fÙ
+\91±\18\ 3\7f~\¬Û\87O\9f8Çñ«áLUy\ 6í3[.¡Y!*        K9\19C\97¸+$1JR\1f\1c°\eñG\1a\1dÜ}_BÓT\93G\r5Y0\1d¼\9d\14­#ý\83MS¡\13¥\19Ô\8cÀÌß\8d \1aU~¤ ¢Ùåà&\0\a·¦Xó+¾ðØ\ 6NL(\ eÑÎIý Aó¤¨\9f³¤";»Ò\1c\82c^6G®~\91±\83íQ\96Ý\89^T9k¡\8bÃ;\9b}|[\14<î¬\9eÏ\8azâÊÉ\14úGþ°H\ 3\e_Hi<4\ 6\8b\e§þ5=\14ü³MGl3\r§9\81É@Ð[Ñ@úÍ`düÐ\99Cjë\10\11ø/(Ùß4oÔÃg\93n\82\85Iè7\1a\8bÝÃrÓÒ\96ç½%Â4\16b°Z\82\8eÚ\14zÐÿb\97è\9f\1a\13\©ßº«ð\ 3 \98mWÁÂé¹§|ºX=»¶Õ{É'w°¦\19y0¡Û>µÕ^½\94/Öè(nJÎ\91ûA±\87o\è)½ÿXè)PO¿J\83õ;¾u½\ 2T\1e'[/WÁ¤v\8d_\ 6¡æ@Írл\\94\9eµ!*ÅÆÎÔP2¬Ã84ÕØä`JVÓ¤"ľ\91Í\98\1f\99ê¦\ 2~sü§U~\82à²I´Úíj\14bzm\1d\94l\e\b«àf\9av\f\84\89*wcC\9f\98\12¥\1e
\ 6U¦£ó\8fÃ,磌àf\0w|æZjG
\80\93ád;\ 6µá\95\95Ç\81C\15òA6N?ØÒOô6Æí\9fÐÛB½\9bkú.\9ì·±Wf\96úÇË\92ÅØ¼ÝÂ\99\1d¿nÄú\92\8a6º ØUyÂ~²\83YJ\90æÀL\12\r¼2@ðz\eb\19\11Çf
+#\806m@ß\82\95\9a\12à,\12\9eêw\13ôÍ\9b\91\8bõ\1cß\9f"`¸\83ª½jå4PÜ\10K¼Ý\b³\9a\7fµ«Þg\1aj\ 4ö3o$Új\19\8fÁiÏCÉ·}Ñ\85\9a\8cð;ªVÒ\ e;j\1d\92ÕÏ\98f\1cLùÀX|ùê,ãçÁ²gýû\12ÚY²Á¹\86n\8bMU*\ 6øR\81P\90\ 1à2åpr£\8a\ e_pÇ\16wc,]#̳=\8dìä7\8dзµë\95ÜÄ®M\98nbÄû\98ç­¡L\ 6æ0tõ´Ý*Â\1c\1fæÛÅ\83M]è8,6æ/@ÝÎÄÜ Òl¦ò\15\ 3\92â¡Ì\ 3c\ 1\ 2\94\ 4¦$\ f<{B²±\9fb4\f2M]\98tèCpmÃ%ßµ=\8bleEåkç;ì       \1e®\10æ\ 4Ü\\9b`\13\r\9ajjxd)\13Ê\89\9a\N.\ 1¥KÒÆ=y®v¶×\16M\1eqF|¹ìÏ/Ts\r\95 ¤\f³OI\ 2W­7n{P\8e­D¥6ª\r\88µeA«ûâÔº;P\15ÿ»Z±jB;W°\14Þ7\9d\16¥ñÚ¶ Ô%eî½\18í_¼\rBYýëØGj\ 2\947j(ã½{\18íI\ 3W\fSÖæQÚ¯`Ô$Áf½\9c\81·\91\¦¯\92\8eÔ\14Ì1j(cí|\9cv AøíE\f\94\8eÕÓ\83P\96`úùXí\Ð5    Oۯ䣵\ 5\r\1cÚ\8a\12\17^Ò;VèÚÑj4të_-\1d«T\rCc¬E}ê;P*&ãfëD9PÍF *\98v»qj\97\8eÕÌ\ 3\11\11>²&© j\13Óa_3\1d«Ï6éK\95\1aûÜF \1dïÿ\98ÍFïé_|\8eÎ\15Ð\v\v(æ¾j;=@3âÜ\84\8a\90\1fj&\ 3c®pSÈp}¯ì\ 4z%\ 5\11P\aØ\ 6s\18\18\83\9e\ 2÷\92ÁBïè\94Fl\19d\82Ç.H\b÷"ûûf\10Ö\7fHi\94K_îû'«e      ¹Ó¥ü \16\8aq\81¡ë\17§\9cõ\86\17\1f\86`(6h\ 4µ¥h\ e_¼»\9aÖ>í\80I\7fï}Óâ\ f¹½? Õ\13  Û\14úÃ\96Á\9chx¾õAJm_\94¨\96z\83Ú
+5\92\rK\9fÐÒ\82\ 3ôÞ\94\ 5à\10Ñ\98\9d#ù߯$q~3CJ­\9dÅ\1cá\98àt\r\15\r\9bK¾HYnÙÙ6   Ð¶'\9bUýÍ\ 6ʫӧ­wHÔ\12\83ªS\96\ 1Ñ¢V`uí¯   _\19<¶üi\11gÕ*U\11t\1a\13/\926\84\8c\81"2¬@\10-\16D'\86CUÔ¢\8fþ)7ï\ 4T\98\12\98\19néÓÿU(\14\1e\4\0ý\86\ 2\87!¦CÔuAì\ 5\95\ f~\90\85\98ÂaËøô\87«´hÓV½'ACÌÂ8ÜSr6Y¹x G\v¨<\17\96B\91\15·Ô[;F¸<\12\eïµË^aC$à\9c\853dp\80\90þ\0ò*¿h\9c¡éSï\7f\82\14±\ e5é:p¥xðël¨ã_ó\8fcg7\83OE[\84mÆô*ÿ¸äÿæ}? r\7füc\93ÿ\11a\8a\b\ 18@H¬\1eϬ\v7¤¿\95\ 2ïý'\94\8fª\86r\82\11WÏ/Gæóõ5ZF´UUU5Qdde\ 4\95N\15Q*\9b\ 2IMOß\11\87áý¬\8c%\ eóK9xÿ\1cHÕ@+UYqjüT\93ùô\ 3\1e\1aªá\87WNøå\eô\ f**\1aè\9dÕg´\19Ìpê~Xú®UH\8bÐæ*´\ 6jk\8fyOO\9bªkMSR×+\9fÌTT*{\ 6ÎßÐÕg\9dæâX­\80£;\8cÝFn+B\8cüþ\80,éÔÐ5ÈTi49Ñ\12>u.ês55\ 5\15\8b)¨é©Tù\8c¨ïC\92\8d÷K§©ªw\9bÍ,J¢«7\98Íi\r¨9\81ûóµ.Õù\8dRíç³ù¶µ/\15\13\ e\9cíK\þcC¡6\81+÷ÊfôZ\1a\9d\ 6\88\93Þt\84\e\19áÈ!\93èê^h3Jð\ f\9aÏf\1aæs¹\8d\ 6pííE\89Q0wSPðÙÆ\8dáöD\7f½\rMUSÍ     ´\17\9exí­M8g:\97\95FÍJí\1cv~\e\ 5ÍæCNÜfÂÅ\7f\b\1a\ f\94\riP6]ñ·\1f\8fÌf\94Ý^W=ösk9ý\ 6\89æ\87CR®ÃÝ\10\92ékK\98ªÌg͹\95*\aJ\92¤ØÄM¯©bÅÕÅ\ 6\ 1ÕÞð¬Güp,\7fv@+ÿ%\ 5WÝPSú\9011±=MºÉÊnmdæ'\1c²qn-b¡¾<lR\a\88\1c\a\14ù\85\93TÒë&±<\9aÉ­±àvsÒ\8b'³WÑ\81\b[ï½£IÙþû3>úfI3&d$\81\ 2\80\91`\84\0RC ¹\81\90\99\81\92¢°h·Â\96­\94µ\15\18\b\8cY'\99\93ç/­vÕ¶ú¶\97jñjßZ§ª´-k \ 4 \ 1\11\1a¤\10PUkô¸\80\b\ 4\80\81>ýû÷ÿß}\99$È@\80\ 3@öí®ûyo7×o7\9cÝèï7Ý\rç7w\9bÐßt÷¡»Ïo¹¼Þ\86õ7§½=æ÷=Ü÷_{\9bÎ^ç·©î\9eÿ\ 3Zp\1d­¶ë¤\8d¨uú\86Tëö\1eêuûÝ\87\9a\81Î/ß\ e\9awt\ e»®ðN ÝZ oÏOOÐȧ©Û\1d\88Ä(øaÑÿ\8faÿ]Q©À})¿õ¦ÿîØ*\1a\8eÈäQÛHÔøõ~\7fþè\ fþ>óó]\13ßþ)Íw¶\14ºÜ§Êöq~Wäè,z½\9fÍçâÈQ¾\19\17\1fÃû\8e`\8fö\9e*Î.\17ö\97'~\19©çQ\ 3ÏÙà¬s\19\86{ùïà\81\ 2\97»¾Fü¼ì£\17\15±\87Yxüe+ÿ3w\9bðF\91/\8aÀh\0®!Æ\7fmZ\8e.#¿ù\8e\17³?ù¨\90î?éRßýÃT·u\Ã\8a¾
+\8a{\83T·î9\95j8¤\85w*V½¥4¾qª[ó¹\95\83T·î.*[ò\e\18e0òÈ\15\84*ä;\7flj_ïá]\a\8eB5.»¸2\89\15Ho¹´/\1cKA¹Í¨\87«ÓÕ\ 2X°±e\13\ 3½\8c¤Fv\95|2Ê'6±e\13´\91=÷âÌGwö\96X}¿\94\92\93\8f\9b2hÿMã\1c\93#KP}Ò0\v)Î+&
+ïnì¨ÈP«/ô)0Q¤\ 55Ñxg'\92ß(Ù#¤³Õ'¤6Tû\17ÁeZ/<\9eO§¤¡º\a\vk&+\10\ 4bEt.\94ZwOTFoF1M,æ\97í\ 6ªá\ 5\92*e©cîu.a]KX\86½q\9a\1c/"[gi½\94\9bþ¿µ\89d~ÎYê-)Æt)¨\7f&%ìÜI\12\82\1d¡r¡óÚLSñiHí´\v\93Û-\0ä\r\ 1^'\9e\rÖ\ 6\9e®ç¹Ú.8\ 5æ\rm]\84\8b_½Z3ð\8b\1fZ¯ó Ã\æ?[\86ع\81ô\ 3+ä8p±³ËLë\8eKȤ-IÒ\ 2\1e±¬´0»\a$ãij&\93ÑÌ¡1¥Ï\87\82Ç\8b¿ò\9a
\1aÕ\ 5\7f\9bþ
+\82¿\8a\1e-ÿÃ-G\957Æý\99¾7þ9¿ñz×Eu\15\7f×R§ÒxU\1e\17Ïð®N1z\8eé×,!e\1f*4G\8cSp£ö>;\17\1eÍàë-]âç¶>\97Éîµ?Ò\95«ÅD:X2\97¼\7fýK·\ 1ÓQ\94R\89+\90ø;\97\84\93N\93ÿ´I^"HÕ£¼\97/¹xD\ 3ÕJ\15E_UÊ5fãdÚíØÆ*þíÉî^\rA\81ÅÜ©\8aw\17\7fÔ¥ÛÓê\1f_\7f\a\8b\91\1a
+åýÙ\1e\99\98G®Az¾Yßs¾        \8c\ ee\85£#_z\8dZU¥6¸\e#óÜ¢á\9b\94]\83\v-må¢EIÏ"í<[\86T\bë]°ÔÏ\ 69â:ä·\92\ 6HUê¸Í¢\9c$ÓP{Id»Á\90\12\92°Èæ\93¶_Ü>\8c\9e\7f\81\e=ä@m§µ\14"rò\13ÒË\ 1AÍÀq\ 5W\ 3B!©\90RËë\84uP¾õ¤>õ³L\87´\19.è|éC7}m\83ÐkÐÀBZ\8cT¢ä\8aÏ\aù\12±ÕÌ\19\8f·P\bÆfFPȽ      #\97¡\19qp\90³eU.×yW>=\9aZY\ 5\ e5YS)yqóÊHÊ\19&´z\8e; ô,æ×G§&QÓ\10Óñº%-\ 4  áý|\9a©7\95y%-·#\7f\ eän\8d\v\ýúA"Ðl1íVAcíK\ fPR\80h4\eÒGbFÎ÷m+^óÑ2\vï\94\14x_ÐIt\81'\1dÙA\18¾UÀã\1d<V\80¦8g\9b\ 5\9e¯hùÐ\85\1c¹Ñ\8b\88\0J¦}|ïpþò#\140F\1e\8cÎÌ\1a\17Vh$\ì!;aº\85\87\9dÏ?\19 ðYMx\147uú.Y\8f\r<ÞÍñõ\98ÕýÂy\92yÃÄx \85?a\r\99\18\9cb\91âW\18¶O\81\11éºV;Ûµ ö\9e\81\1e\8f\94úòJ%Sü\86oïÈ\18õh|Á\91_\91V\88ÊÊ\99\83Û¶\ 2^þúMã\7f\80ød-x«4Ù\19ãÂLÜÃMA\ 2\a\f\92Î\ 1vÉÄé\9aÓ\0¤\95\fk\r3¶öM{°H\94Ë\86\14\1c\13ì`Xë\9e\12Þûë1\92\9c\99\a³GYDé¾\b\1a\87=`,\80öuiù¦\1fîÝAu\1a½<ÄF\92\15(H,\9bé\9füwp\eº¨ì\ 2ÆßÌê|hz:_¤SKê#ÊK#Ðþ\9d'\836\93b\1aA=.\1c´ØûƲ$\9e¶ÀI'j,!\92ªë\1aûbUcr/°îl\ 2ëäKØÆÌÛ\ 1³¸Y¾©óðP\13rïSðö\ f`¸¯4\9b¬\ 5ù£}Óï\92\14ÕþM\1có7s\9d¹Ôx\80\1f\85Ùp\94\11×%;\1aTÖçD#©ÐR`\r;¸43RÉz¡&»oì\ 5\91\87ǹ\80|¸$¸*Çr\r\9arzO~É¿sX.ºàÒöþ"\88M\94\ 1z]¾\9e\ 5?ëF\12<\90§+Â\97\9c»µ¦÷
+\9b*kMì\19\1c\0\9b\11µVµ\91 \8fI\9d\16\8a\8e\14\16=®#ª¢o\93\15\98WLn\7\95\7f¼\ e[c º\9b\96w\8a\1eº>{\94tÒñ\93§¾­tÞ\13ænwºcßy\89ÿW>òÞ·÷\9aÓ\0é!O\12Ö\9aôÀMAh\8bÝ|îl,\r¿fñ=]Î\87\85\92\84æj\81\1d>:\r\f´²W¢â0\92ú¹Ð,r\10he×Ô§ë\ 1ñéúlÄËð\86£¡]\f¤gÔ(ãá\90½64cKÔr\r\88\97®6\14Ç«t_[®\b¥Ïîå^A\ 1¶a\\ 3ÇF¹,±\9c\11b5©t)ø±:Gà ,jA\ e%\99Ü\8c¡·D³g2\ 6_\88\1dd\83J}uäÕ\86f\ 1$Î8\90õ\14\82D¶çð\87p\99è\1d\91ôSÐ/nj:Æ\1c\9e\ 3\1e®\8f¢é\10m½ÞK%\89ÝF:\vÜ4²|\15K>Ék:a^,7\8eB\7fé=\ 3\1d\a,ÜÌý\99Ì\ e±\94õ6Ý­7Ñ3pGOpà÷\98"oÉîe[»?µÆ\8c¤ä¬¹\89K\ 5¿ZË\8a.¼³-\89ºÄÍ\ 6a\ 5\9e\b38\8e\145Ðw³\86Ø\8f!e\89\95 D+;\81\8dá\93\8c \ e¸\ 5Ç Ó\0µ\94£¦ Oy\8b!¥JYO¶¯d*\9cH$«î%GÙLLßTLíS\1d e=\ 3Ò\ 4zÕã\r\9aIX\8fÀÞú       *þ`     §X\1c±û\ 1³LAj\11\89y\ e\94\87!×xg\90\87hCÑNYMf\9eÊ/RÍ:¹¥ëkÌ×N\ 5z6p}<Ä(½²Õ+Ç?\97à­éËÅh[\87\ f=\ 6\98D\8bBíÃ0   yö\14\89?H!½\80Yî»8x°Iáz¤ý\8egz2Hâ"jР©µ+ÕõÝ\13Záíu¯&Ê\ 4\e\9b\aÄ¡\8eeó7ôÀDið\ 1hYV¤ÉUp\8bve
+ ÷\ 68¨K\81g\16>9ñ))\1a\19|­&q\84{îuL¯Ï\89\95Ó+\95æÿ!%È´û\1cÖ\1a\979'jX\96&L7=4r¤DÉ\92ݰ3\7fÔ\ 2±\8b\ 2ù\16DZܥµ |vªR[e\94¤¾\ 4|5),\12\ f9(îb\94\97ôUR\92òäKÚ¢ëòcÔ\1f5$¥%ë#b$'.ÊÁ\8e\vu).IU).5Û\a\92Ñ\14¤l¾bõ\vûê\14ß4YÙ\ 5¡=öÊRS\98ó¡\8f·\8bU)*Ð\99E¼¥ef6hû\83D\16\v9\91\8cI\94v   zª%¢\1dÑz5ÛG*D¤   "+BÓqúÓ\130\8dzÅ8Yè\16P\16þ\98\1d#\10³ÜÈù\17mëó=\0ª\bmë{Yq\90\ 1Îc¦èï\ e\91ÅÎ\80ýg\v\ 4¸ëèùÇL1s¶umñÓ}¯æµJ@\15&L$¨\1fO\1c\9en*\81\93¹\9d\83¹\9bà(Þ\97¸^\96­Á\88|(\f©)R÷{\84\8eY2CÅ2¶HÊ~ù&Cù\ 3\9aÓxe\ 4Áâ\95\v\94Â:Ñ2\1fï\v\19\ 5<g\9aMàu¥\84h9£¯º
+¡*:u\1a°\99u\r@M´ú%¬õ\fIPºU1å&\9fÄ\87Û$MGê±"ðZà\19o\ 3cdW¢Õß¾Y\17p*zÔ I[ôçf;\10)\81èv\ 65ëãJÜ!\93,¢ëd­+Y\8f,\fÝ\8a\94®j\13\85\81¼\16\ 4,Ú©\15?\1ck\8f×\85õu\97\9d\86\r\9dgrÉD\90\8d\1dy\93\1dQI\ 5µâ¹9»FShÉB\9d¸¡QáJþ¼å\v2\ 2\1eAPÐ\ 4a>ͨ­\15\ 10,:¿XH\82\95\ª_Â?\1c6\9dàëG\89úpríÜ\10lô/%FÎöõ\12CSK\8fÔ\9c\aóGnÿÿ\14!º³¿â¡\rÿBO\7fï\90½¿Ñ4{ÿ}       F²Lf\12\82\vD\98ÏDªR\rm5'û*b?ô\94C÷¨r\92\88wè~´¢\1c\87\8e\7fíJ!Ø¡\11(\87\\84\1fí\15HA\81<ÉD8/\11ë%\10þ\89T|]©d\9aö\17)D?Æ?\9a\94CÁ=d¢\1f¹aÇJ!þYö©D<û\ fØ\94\18\7f*Q\ fs8'õ\18\ 4è(C3þû\ föÙ\80\1fË\92ûָܲ¬Áþ\e-\7fã²â¿Î$Rî\ 4½¸è{¯\19)C0\94ë\8a¢©Å\137e"«å²Ú¿Ø\94_þª\8e¬m\1c¿¶\87\15\8eøú\1e²\9f[+\8eúî~w\99áý\89ªÞjP\1fÍ¡X⨪ñhc¿ç¡`Ô\91\7fÿbRÏ\16F¿Í¡ÊÔÝ~l\8f\1fá\90Ç\7fWëÊ©+¿\r\9c\1a\84\86¾)Ó]ÂaظÕàN²ûø\1e2\0_³û\8f1?\ 2̯p£\ 4\9c\ f÷\1c»9r<ác!³ÿ\11˳q\81ýÊ0^\1a\Ç.Î_\96£\ 5\8aæ\97ÎÃÿñ¢ªëB²û\98!GW\9f\98äÅU\82¥ÛIÏ\92\12\17IÏÜ(Ád¸£ï\0qÛ£\8b\9a\12\ 4µø§^á>úó\18\98¹V\9aÎ\7f=@ånf\88t­²Y£©¨K\99Á\9e¿ø)ä\89äo`ôÓ\ f`õRÊ\10Qâ!º!\ 3\86Dý¹é\86DPhªxÒ³N¡W\15>\9eËäÖÙsYæ\11áÈ+¬\15\9f\11â0
+PV\82Ï\105I}QPÄå/\98\ 37;2¡\95[\17\98¨õ<̪ÍËÌ,ëbKFÖ%\84¹\0Q/P\ 2jâüR)(-=\ 2ZôúûøÔ\89îÍ\85°\19\ 4ð5ÿñóoËÍ\927\9b\102%J\83-}pe.×õ\a\ÐȬI?\8eCäs«Z<\15\r\r¦4î\1fõÆ\19ò\9cN\9b\85\13Ôj\ 4w.jBÑÆ\9amsZy\12³H\eh\14àV\82ö\12/\1dëãݰ\ 2\>\15\9fê\84;f|\16\a&.à\9fx\ 6ó\ 5\16%¥FÙ\ 2\rQÀHi\9b}\9d\1eÈ-\1c{\vFþÈ\9bÌa¶¡á\1d\18\9e3,é\1ciï ³\9b\ 3\11\86\96\15\15\96\86õo\11®í{\aS:@\8a\823XpÅÁ=\88\8eÖ²ô~\95i¨cê\80\1c\89\88õ\82ÒÀ¦\9e\9aÉÎ\0\eÍÓ*\1c5ôðáhä¨\10¸M(\11 xÇ`?Ö3CW0V2\1aB¼u8Ób:D»;ÐÙtÖ\88\f\16\88Ø×¢ì÷J\16ç\0'>\87\81»úkJK¨ú\8e!oT\96¾îr£ß\92Õ¹¶­g%²~È;\99É~§¨ê\ 2Î\8cF][öt\99¸Þ\12\83\96¶Í>nÉÎ9=ûTñ¶oãSÆÙ\93Fz^r\87¦\9c#\83ýÎ\ fúc\83н~Øàüß\a\93\1c\1f}½-\1c\1f¾¼ÚG\aý[Ïé\8e\ fµ!Í|8Ó ê\9b/4\9c£07½d0÷âP\88\0k7ìàô»µUc\16µ\rWZÆ\97ý³\12d\ Æùk\0£¾`¥B t\a¸c\r¸m\97×+"%³\8fFÎf$ð\1fH¬ò5©Æ\9a4óÕ!æúîgÕ\ fCûp ²X{ÎØB\85\86\9dÏ?Á\86cøJ\845¿EÊô\97a 7¯\8f¬\9e\bÓ¸Iæï\ 2\1fÏz$x\1d<Çç\86´Ê¼GV\ 5P¢ú\ 3æ@ð\8e¨Ý|C\ e#\814ez´\82ÂÕ|6Ä­\1e­\f\1a_&è¬2Éãd\81Z}9ùÃoÉ\16E|Ú\ f\ 5Ë\86qãZmÒ¥¸kXøA\8eP#\e<'\98\16´        ÅëÊ]e\98Y\9f ò\b\1eQ\9b'¤F\a\11õÂ¥Ã\vA©¨\9dNH\84l\15ªW\fJûw¦õ\1cîÈ#á6RÏ Ï\85\84\b  ú´\9f\r:~&V\11â\92©Ï§ï\ 1òy\ 2xFû\86½Ø.0¥Ç÷éQ\8aÎ?®s\89Ѿ\8eÞãO<\87­bzÇ"sìpYÚ\82\11I\9e\ 5áL\90È\14*:\9a'Mò \91\b+\14\90é»ecTú\99`¨8½ë¸æ¯\eèßæ]ÀÄTu²¸j«\0`\8c ób\89-ô¢ºâ05Ãî µ¦5Mi0®´}7ðk
+\95µ\84cÔa\ 2¹´\9e\87\97\16\97\ 6ëd%ܱ®ü#§´miý¾\12\96\8cÕ¯kÝ\ 2\89e@ß×|Íì\f\ 3ª\8eÎVè\e\v¾®Ö¤dIÇ$p\98~\98ÜüàFç¿\bÜü»Ò²\7fýÅzZî  Z\16g,\16u\81\9a7S2Ì,ÂV\87\e©ç$ÆEHÝIõ#u+\1dÁ¡\9b\96H,\94ù(ÝIû\88ÝGÿª7S\8d8ÓSÕ¸ÆíP-d\9eþ©­0©UMý\ 6´Ì\ 4\82\1fi\båÏ'ºÿ\80α\17wÀ[wLAO\ 22ÇÕ\1a\13S&qYÁuJVU\16\852¨6\871Ì<oÁÌ\r\9c3\92î)7«\9aÓ}A\84ðbé\1c©îàæ\83¨«Ö       $êÈ#I\1f\r\95
+Óeã¼\f\81\84ch\1a¤\ fÍ\r<\1c\96ö|óÂ\8d\92¼\16¨\85ö\11̲xß\ f/\99\19\fßÜj\Zz\12\0±O\9fµ\89eF\83åøÆ\8cã\ fQ½L\91\17F\15#ËɹØé8ñ^<ÏEä¡\19\91Â\ 4\81ÔE+UaN\91ì
+=\11\ 1MA¸v\ 6\f\8aÀ(éiÉÆ´ÛCÌ`íµç\92\8dq^&lË\19\9f\vCp)\ 2\eËñ­\1e§¸\v<°Ef£\ 6\17¸.oUÛ\7fO3¶G΢rÞv]ô\80Z ìhàɲ\8e\f\a\ 3\1e\9f,´y\9dB\91ëuB@ÙÁÉÅǺo·}\181ì¾2Xx¸EÏ»à+ãTÛ!\8ftÛµ¦ô\ 6=ÒÄFëVw¸O¤S0\8fT¿¹\1f\17í-&8}eje\b¸L\ 4{\93\11%\99Ý*ú\95Ææ\861Ѭ'\ 1©¡\97ÊKðª\14\ 5ÿ2ÁM4©\92\1f!è߬K\1d½1mYò\86\10\1exå#É\1d#\97\rÀso×\94áÇ\95ç\98r¸>\11å\89öì(òÉÙ\12YB+L§3ëV\8f4Ò¥|\91\86VêV\8f4d\vFD
+&\7f\16\ f_~\96\bòàáÓZo¾?\1eº\ 6T\ 3Ø"¶\14\80\93\94û\13YnãZ\97M¼³\13\rh\93³Y²õA3Vô\1d¢Üó,d\1eòX9´\11å\194¾³aä»÷@Â\ eè\11ó\88­\10%¹±7\ 3\ 1P\ 5F3\16lÌ3ò\8f`Z\89A\ 3RiX\ e>"\13Tc\1cÁfy²LÎÄ,Ü\9b$d;fí\18ÀXë\ 1MÍsã®\11ú\12\1c\80\96\1dÕîͬ  »ÇH<O­H\10\1d}¡|±©jå\8bçV4ß6°Pr\8df\e\\97ÒS6\9µÔ·\14 ÷:]Öô¸\ 5\8cH)ë ðóå\8d®6ñ´SxÀÅÑ\ eà\97^<\85¬|Ç\86#¡/¬^\9f\18w   }¡S\13/aAñ\v\8dƶÝ\15Æ"\86\92Éo÷FÓÀCÖ\9e®çFÐ\89Ô°%±miÅÚ\1eª[\8ch\ eE\83\982g·é\8fípiò\18\90\80\94¾j\9e¤À«â\ 6B<]\ e]5îó|!²Ä\19Âåd\ 6¬\866\ 1\82\9cv\ 4\1eåN9Ô\85\9aã ß«MöGÉ©³\9a\81v'Wç\13`¶"Ó\83^\9ezÞÍ­7\83À\1a\97C)A\ 6}xçà·¿\8c~|Oiv\9eÒ\14´LÉ%Ŧó½¥\87X::Ç;Ó       \92\89îX(Itòº\95ܽ&¯¹Ïâ÷J\8f×jô,8S÷ä\aµ\b¸_ɳã|ËEpÑ\9aï±\81\rëÑ\82h?9½«ciP¯aQ«\1e\9c2É|±±\ e\eÝ!ï®\89uEåÁSì_sûÝ Yä    ú\eÕðe1ÄÖ§Q\95\85\1ao\ eI\928ÀrË­\869¥O\10Y\94ø>ß æ\ 6H\v8\18\90w${\8cÆ F¸\98Ô¸B\÷&vÉj\ 5vt\7f\1e?\e\81ê"Áß=\83\eC\11uiMîGåáøÓêqÖ\8bX\8b\1f¦\§sv\ f´n:×¢|\9eé^\89ë\8b6°r6\95£U<aVRU<Ä\93ÄóW\90zy\83\8fÁº¶"¦äRêÊÉàD=-½\9d\9aZ\18åHG\8b\ e\86ë9\15%8éá^¥Ï]\ 5Æý=\96´/     Í\8a=P\ 2ÆH\8e\ 6Äôn­?\1c\1cåpÒsbu'D\8eã{dØ\r»û¨0ÿvÊ\13ñ4}"¤å\8d\92y
+(lãô\9fô\92\8d+E/³\97S9!\87¡ezÂ\1d\85Ô[\85´³e\r\ 4\8e\9càû\1a\97\89ÁäC¶\13ñÖ8eÕ\9bÁ\eÂ\1f\ 5\14\f¨óqÄ\f«4¬\9a,t»9ãÔ#)\90Z~ðV<M[-\8cbz­×ÆS\ 6eÇH  \14ÂXY\13\1d;=\8b\ 3\14\91a_\94Ë\17ÄË\10,³·×\91\17\1d\fÛÁ\ 6\12,8\9c\8c\f|1aȱµ\91\84åï)\ e\87e\væ\9e¬\13\80>,Ì\81½_¶\ eæSï\15ø¥JÍ\ 1$\09\13»¿o\86\8fÙ\9b\ 6ó×ôÕ1Å«Y\95¢\8e¼\9dC^²MZR$ÛîeX\13\81&³}\89\v\85¸Ì{rbÜÇÑÍ\v]$Ê%ß\97\13\1fß\89µf·ß)"«ßQÆYÖ'ìp\11 m\0\99qøÚ\ 3\93Ï\ 2\rçMò\8a\94(ïäÌQ{¨ }Â!ÕaÓ\10\ e²\b6(Ð@ì\83\9cN\91y4-ª\80:n\9e¡|´K\9dÛ\18¦]'¶\9dY$93òdÞ\bEÇÁS\ fû«\fô»[Á\9f\86U\83[¥³Ú­¡¤\8bC\1dÃÐÜ(\9a\1a6ãC}8z\eV[»¡\92-\r*6qd\96ðDÐÑÊèeêèn\9a\1e\86§-\rG$k(æ\81ÖWDÏÙÛpP3ù\18yüñ\9bv\ f\81¶.:\98»xæOF2ÇZ\9f-[\83f{\92ZËn1´UMáYÇÓ\13K\82ׯ¡÷\16ÒûR\8d®ôî\84¦º\81z¬W¥7c¶W¥7Wî\a\7f=0|=\90\aþ¢ögNö\ 3\80\0\17\18.\1d\96eyº]Î\83\82T7Ks\88¤Rfî\8a{\8díïnÑ\94\ 5\8b\16+»¡Ê\95@³X\83fæa\e¨\16t\19\80McÜÒN\9c¢¥c££ÜÂ\92\1d\9fÏí\85³w\12âC\ 6R\9f~fÝqõ\8d\\96·õ3¬áaá¹ÝæåHÙkda\9e\ 4ôP«\1f3@²¾ì\f2÷{\18r\84\82\98âqÜ\9bC\1df^l\99\9f5#m&gÛµÿ4\99\9f        #k&gûm\7fë&gó\er¤Ì긻ºXë1<Z\80Ha¨BÐõp\98j¥íp¡Ú\ 5.\13\83³h·juI\ 2\86.¶àuÎÑVÓ\b%dÌ_\14\94\87\7fÛ&d½\É\99\fâõ\8aL¿\18×ïc§AØp×»\99ôÃéU|\85êÚ¯Ì`\92\9a©1§4Æ\8c\e\8e\0\9cï>1¨ÇÙ+e;X;\97õ+;ÚŬí\1f+)´\12ó\rZ"ÄU-³êÌ{q\8dV$¯±&>\16ç\8a±F´ðK\8c(A¥x\86w¥õ\ 6\89÷sè\ f.Íu\ 6\13oIJ¾¡3Á²µ\98úä\14\98úþ9\ 5´M¡3\ 2\88jÒ¿Ç%\9f\ 5\9f\8eAD\9a^Ñ  S\90þJt_dÒ*\12¦IÙV\95§\15       S,g\86ÒÝ  ShKo\eN*\12¦XÎѧ\15  S,e\vN*\12¦XÌCN*\12¦XËÃKt%M¥µ:/bÎ"\12¦Y·°ÎÝ    SisN\8bèY\92\12¦Òæ\9d\17þ6|Êt_ÄgqN\8b\80\1dyU   Sg\ e\9d\17ì\19­N\8bô\90ñ\baKa±ñ0w¶j\9dQ5iÑ\7f\90Ì©Ñ~\99\9aÔè¼\83>]:.
+\0\1f\12\9d\17\90f­:/º\13ÀÄ\81ìÖBTÉ?Ôú¢ï[ühð§Eã       
+¯ÙÇ\95\9bäñåiÍ<u¥:/RXÍ$z\94è¿\91\1f\ e\9d\17Ë\16gò£¢!*qöÔè¾">Þ\9d\17\fÝD%N>-:/Ò\8e\80½YG~ʺ\7fÑ\8eâUÓç\ e iä\06ìCA\1c­]>\90öîiô#­êéÿ\9f\1cNÚ·ýĽÝk/ýDrÝ#¹ÃlLKÜ:èà\9fZu˨ ãê\86ÊrØ=C`´ÇÊ\82\a],6\93¬¨ðrP\9c\8e\eD\9aÎ4Æúj\ e<ð)¦¿MS÷\14U\92¸E\85ÁZÑ¿5\1d<·x©/x"Çþ¢ú\9a=@¢w×\ 5\eßc¹x\8c'hûÀI¥:Ç\8dó\f¨ùç\88ãåIÊÜø\87\98Æ\1c<a\8c\15\ 1Ï\ 1\87@½a°\r\bÃ\80\rì³\17h^Zß9\ 6¾VÅå>2YËYí\90'Eqª0
\9d$;/Õ r×*F!\16\98XÒëT%ò+P\ 3óm\ e\900S\8c\80íté\b¨ªl(öð£\1dÒûÍ\82ÃôÝ\80!Ïq«\17\86#\v(¿\17\r\9f\97|"«ãÈ\87o!\/
+¶¼¾)p\10óY\12x¶ÉG[\94\16ræ@\ 3\86\95\92\8a¨´\aµì¡¢\b`\93\8d§Û?AlÚS·c\ f¾Óûá7\9f"\8bÃ\1ar\19û%VP§µí\9e¢U\92z\8b\93²¥ô7£)b°Z'\e¡]\10ÙÓ*\7f$ZÀóÕ± °Ô |hÇÍ_÷,Kís\1c\14~@u(T\9dêÓÕf§ÀÊ˱6 Xûù$Í\1eIVCTdì\95'ã";ø0u.\15\88wLIÐU\83$c2X¬j{ÿè\15\12Þ²ù R\16\ 3ªbch\ 4\ f\15Ê\e\11Ç\9bvÝ¥\ 2x*8\92Å0ê\9d\92\1aËí\9bǨÐÖ\93¯³\86«¿ÌCC6Û´i\17?\ 5ÊbU\ýÕk"¤J\e\8fúå\83ö\92½||[*2è×Ú7Ýû\96Ç\17w\8cS©ûXÎ;c\8bÞ!Ælq|iP\1f\99̬sïª\1añpD\1cÿ×*\ 3å¶A<ñö\8d\8f?\0\87%±çÄK·íe¡wõßê²¢\7f\93XmÿQ8ëÇq%èd;éÿóe:ݸÃ+ãµ\95µ(Ú±k\97íN½uò\a^¨Z\1dzçç£3\¿æÊ÷Ô\)ð¼EÂ\9dµÈÄßãÊôýüÌu<¯\fc\vûöQý\8e×\83\ f\8b\969ªëÊÃ\14Þ,°^#\³\1dßj\9eg s]\ 4\7fù+$0\19\ 3}ì1\83_ÄkFø¾R\1fÿÊ6=öú\ f\95,³æÊüù«\89Z\92¯¸©ÁTTà§ý\15\93¼YZ\1fôQß\7f\rdÏðþþÏÀ\88\e(\18K3â\9fݹúf.\1e u\96\1f\8c~\17ë|\ 4eæ8\94sÿ\rìh²Ò\9fý¬f?>¹iZ¦Q\7fÁ,³ª?÷1\98ðbïá¼ùõܹe\9cÙ«\84\a\17\awrÝ-\17=oÿçM\13Í\93Ò\1fÊc1ê\9b>1m\84`\\1aÖ°,Á¥rëi­\a¤§×ö\19ÀÒEv\88Íñ1cvt,\10¬>´õäeô¼%Ç*h\90þa&j|â\87\e\82¾!»{Íà̶\ 1\89ÆÏzZ \88\84öä \8eyõÊ\9eP<\86H\10Õ$
+v>;\140Û«0\19\92w\99¦.³7si\0\9f\1dûGD\96\17\99(vp±å'Ú\9düí±\ fÆ;ô6Ä>Ýj5\7f\1a¿\99Z\8d_      \8a\16¼§\98\10\18n@G77Ã6#÷\a\1aÌi\94}·Úsñ»\14\ÿ\aÎÒQx^[<|Wë§ÿcï\9e¢3RìRáU\0QX\0\9f\9b\e9\í\8fùß}´bâ\85\99ÖS¼c\8c\8f7Õö\18˯\11A'\ 4¸þ?û¦?lV:ÃÿËÕ\1fi\1fû¦?}\11\97\8e÷\1cÃ\8c6\11]¹øÓ=ÑøÞU\19N\b\ f$q\97\82þQÆ\e\15\ 4^=oü^¨ö\89\r\ 3*o°Z\v\8dc\80\a\r¤¦\1cc\1d\18av¹\92½\16 Ê\7f\13\15\98\90\ 2ȨäCÛ\ e¬'¬Ò¥\9a\12ÁÝ-\96\11¯w\9e\¢ä¶\16p\18ë\9fb]¢û\82r8Ù;ø3q\1cP1Ûv´ÝQ'\18ý       \90·ý\80¤\85OصÑQIÈæ/$f@èë\ 2I8×E\94\93m\98ë\84ç{ÓZ\97E»ÚâzïYs\88Ä\13\15\:GÑv\f  \96sÐ\\84\17&
+1HåÁ@JÖ[\95Ô´\94Èj_áf\9f`Ä/\7f\11P`A;×%×å=¿*2T;(#\8d\95\99ƶt\8eÐgq?ÂÅZÇó*\10\80ùÐ$\ 4\88¡LÄ\98\ 3\ 5\8e\89\8c;\ 4Ô³B_pÔ\84<\ 3\ 1\90½\89Ê\98ö\ 4'\98Ã\8c\931\9a\10~V¥¥`T\8d\9a\ e\11jãúD!Q6ð½\8bV\13¶µ£\1cw.q\fy\80­KÖõNcx
+\16\98o¢¡i\86Då,ɸÄÐ#×ú\87\ 5\11}\ f\9a\8f» ?!f®S\19\11Æ\ e\8dr\ ef­>i\f\11ó\7fR\8e±T2\9f$\90\80Ù4r`¡fõÉó\8aú\97JLBz$\94\92\(9\12D\1ca1¥À\1cI\82ÕÁ\85\91ÈZ!zj¥¢\80ô\0táí.3N,Ò¢Ý
+7Õ!ü\91rùxª\94?~RC¼\97\15R\87Î\161½º¥\ fò\v\11ÎqU(wE\8cC\8a©Cà\v\18\0\84¿\87\17/\1cXÍQüH¹}©I/>éñbåȬeÃ\8b\97F"¥\ få\16m\99·T¡ü\ 3îbåè       15Ïq\95(yþj¥\ f\87â*Pàz\16Ô\8b\97¼ÄT¡ìØ-\17/è0\87\17\aX2H!Z#ÕÁè\v\aã0\87\17\13\8cK¿ú,\16\8b\97\ 5\18\1fß\8b\97î¸Ê\94?z²¥\ fæ\8a|
+\85\949(ÅãL\87Ö
+Ðü¹+¡t\rë\8a\99\952\88þÕR\87½\963\0ª¥\ fÐÄT¡Î,Ï      \11R\87à/¶\8b\97\16I\1fk\17.Ou\94båÈ DD\8b\97ô\a@^»Åÿ®¸¯Ë¯â¤\9d}"ûE\1d\1füõ½ø¼¡~bH\1föT\86£gÿ\ 5J\7fü©\1eÿNMÃtl·\8f\1a\89-¡Ò´,íS\ 5¿ö*Q|EJ>-\93àjA½ÅHñþ\15H¿þÿ¹ÁH\8fâzC\8a¦¾\97Ñ^-\81p?cÙbâ«¶:ËÄí¸Ç\17~Ça+×ößþ¨\ 3è\ e:Zgùª\0þÛúj\0ú uë?òµz\f\1cþ\0Ô\ 1ô\1cºc\7f\ e9Æ@¨\f\a\19\ eOÐÜ\13\18w\19bLaÜe¹?Cp\ 5,ùGÆf,o¹5\0x\1cæ à\1e|ßû\8a\80=Ú^Û\85\8d\9d\rÿ¦$ù\9d\ fO\124b®\e.=\92\1d\r¢\80\ 5i\a\9c\14\925\a}\98á&\8b        ".>¡¥Ð²\9bña>\8bp?Å>êz\11ÖA×R\9e\1eH°òch\ e\9a\r\vËâ\97\95\89y]b\87ʸ¼¹ÂòûÃh "  b\aÊ\81bÿ\1cØùlË\17\95\96\1f.À¼¸\91´+í\ f@¼º\º¶\86\10!\90ìÕ´0i\ fÅ\97Z6ro/\fáB»ã«-aXI\aÖ3©Å(\82\ e»\83\87\1aÓòË£5\80\8a\89.\83'ÑÑRâf\1fû¡H\7f»GÔ\v\17\88\91ÑÂmEK¾ç\82Í_\8a ­`\822é¾±ü*)É\87Àh'¾"ô½\91´®ûLûEE\ 3\ 3\92äYõö¸IêH\95g§Üå\14ãbÒ"U¢w)ù\9f²\ 2¬ÚLì)q­$3\fÌ-@Rt\ 4+\1a\8cg\97\94Nil°o¥\ 3ý\81\1fé\87ÌCýÏ\r\8bJéé\14K,ô\84Æ9êSÔ-\9faè©fð nSfð`õó5/¯Éø¦\1f îή\14j~.x,û(Ô\ed\e?óÓÈ\9fÿx37èV/]
+5ÕEÐt8m#a*è\86ÚJÅç\11Ww}<\ 6æñû0\99\bÑ"%^'llLÊx\99«\M\10\9f$\9f÷4\e)9\92~4`*z¨\9c"^\94c\97\80\97B\89\1c\8a\ 6YÎí°I:L~\\92ù\93·\ 5q|\98u>\8cs*\11û¡\18¤S\8d\83ÑIt3¦\8e£j\ 6CãÏO\1d   í\9bA±ÎÕ\10\95oö ¯×\86\ 1àØÊ\9fVùë\91"%\ f?\ fÔ/×p2n4Nftiçq¹\9c\13Æú¬Ï@ý\98a\13ÁÒÙ!Ü_\a t\160Ô³\80>\92\86¹çOE¿Ò\8eï\ 5\84i\9czf]=\9b&3O=\86Ú­³Útöy>q·Ó?Ú¼Gk\v        \a\e­\1d\93êÁGX\96vuR\9dØ4a\88Z\v\ 6×Ë®      \92ì\1c²ík_/\10k\1d\ 2÷\8fôkZX\82ò\ 6\ 6^ÞÒÄ-Z\8f2^lM\83\18<×0¯f\9f1\14zn\12\ 4KÁí
+î¾\8c\9f)\90,Åâù\95\1e\r\9dÛiæ?(³\19\ 5RêX®­<©Ó\f\rÐ)\90bxó\90»W\r|»±>WN\9d>\96á3`\8d©OËUë\1e\b\9aH\16\96sT\9e¶â9éYñ\1a*èâð.û¬æ\83íÖµj\ 2KÁ:®X­bB\1f\ eÏ<Óza\ 3.\8c\13\89QT\13BÐGõ\8b\8e\19\16D[Î2\8a\95¿@EÌ<X-9YËþ ¡£\ fP¥op\ 4\9f\86é\12­\9c)cÎjÓ:\7fÖ\8eQÒÆ\194i'4²9¢]ñ³\1cm®cÐ\16bÈ-J\ 4OK\87\1eè©{f]\ 3ù7¢I©:Xè9\13Å\8c\9b\92B¿pTÛ9\ f\ e\7f~2sM\16\bÏ£W$4\89Õj[ +\86ç\98\8ek\1fG³ã\13U{}\ f\896\87lm\ f\87\17*I­¨uÖ®\v\0\17ª$úÓ\17kz?ÉÄ(\82ef\8a¸PlnÔ@ç]²Ñ`E(\971\13Õ\9a\ 2»çäoÀ\93Ðbý0s¨uõ:\94£q
+\98ÉüXÏVëª'ÏK\10cd\ 6N\10\9a¢}\bvx\83ªøÉÔw\95\12óE©ú\92Ó[\r\ 2ð4\18öI}Þ\88È mz^ØpS\18\94\v]­¦yv»v½m»²Ky¾WÈ\92Io\87\9a\ 6\ 1«w     8[Væø\ 6³\9c\85\1dd\faéwÜ\ 3Zº¬\9f\17jx\ 5gR«\88\8f´.çcݲUÔ\16'±Îª}qÙ\10µU\13±6ø\r\87Êo\8dAKî\12Ât@\85\7f9©Õ»\ 2H-çíÝA\9f\93KÄèK¢´\1c\81á³~IZv7&k6\1a¹ólz\96\9c)¬éÏ\øçè\17X|ÕIÔ\9dÏ\1cý{!à.Ë@\81\13ЫÀ\Â~\92 \qÎÚÐ6xÀJ²ôûáGÞqëÓþ0Oþy/ø\14¾µñÍ_¬\83\9a]¥ð|[Hçu{FÓÌ+]0Ô:Oû\ 1¬N\83|\7f\1d\94?OøBÛ\r¦\81w\90¼6Â\ 6\1c\97Ú\83pxYN²>r^Q\96\ 3h\atMÁãê´}ÒÕºÛ\e]A0\9e «ü¡\ 4\19Ü×kDÒ\×ÀË\9e\96G\91¨5z½^\88)gû\ eôx÷¢<+±\7fß/\18\rÉK\fá¼`\9cãöFñ§ÓÖÃä\97*ø~\90Õ`Ë\8aðJdÅ´Ë \1e\90oky7   H­ä²Hõ<\8fSÄØïUòm\12üÂÉm«@Ì þ\1c1­.ϯKÇ\1f\15u\13
+ô¼$üZ\ 5î ºa$\9f¾[ö\1aÓÔ%\91\84Ì=\88û\84X\87\92u¾'\8dÝ\86×'Ç(LÜÔÆT\ 3\9f²yKX\9fo\89Ë«ýµ@WDð\9a\ 5¤¤&Äé\83\13\919ÿ¸®(ùsb´«É\ 2\r       ÀL\ fõ<\9eà\91\7f\7fûØ\9eÿ÷\8aù+ÒKx¯·}\ e\14·­ÀoTÞ\14½\80\8eõ$\93AÞ¬\88\93ûõ¡\rl]Á \91u\ 3&ÉÕFM´(óo;°ÞwS\97²´AP©:×U\17sZhJáÕGTº\e\ fï\14ñ\9dor\ 4ì>\93ôâÁ-\ e\11Chÿ\81'Âf\97H¦Ú½GZ\96\16&á_ÇÉ)ùg\8e"Ññd\95û
+?F¡µl.\9e©¯Ò«¨ø¢\9eJGáVÀ \1c­ï\8cê\1f¦è cc"\97cng`ÿ»»\87Å?³»7D\ 5þC\0ÚÝôÒ½\100£¨ë¨\83ª\1f:¥¨\8c ùc-ý\97ó=ÿîâ{ÿÝ©ÖØ\bÐ\1e¥(\ 3«ë©r\87\95¬5éë\7f˽S­\7f\9c\97§½6·áë>GQ:íÐê/g@xn\95\92\én\94ME\1f¼Ué¥|\1dÐó\9b¨|3ìwFî\86\81pÏM\83W\86|!m\88[ï½£IÙþúLÌ\86\10\91\98\ 1\84\90\02\0\ eBd\93 \ 4$\0\É \19\a F!Xµm
+¬¢¥B\8c\95*Õcè\8d\90Ë\96\9eµõ£o½ê[[ºò¶EO\16B¾}lQ@\ 4\11óK|
+*-\14ú\18\v\11\ 6Á¢O¿~ýûÿï¾ÌÌÉ\b\81\ 4*·o=må¯=íÞ{\9bÍæï½Í¼÷9»Íéîóz;ÑÞ{\9cÝæô7©½\9díïKzÛü\12ßà.ïð4§ß{¥¶ËmÕÄø%½\rI2õ¸'\97U w-¡â»¼»¾zÇ1ÑÅ\97}ZØkìpxÛsøí;\ f\1a2ÿÀß«±[l_y\1d\e\1c5\eõv+&\9fÐ߯±\8f·ß\8eE±ÔÞC"ÓOÍ\9aW\80ªO\82U\81N\1e%j»,Å?8jÒ\16Gu\9d#Ð<e\10Ù Ö\ f\aï\9d\ f>J\aÊ\1a\8f\eã¢\131UÄ\1d\ 5ú&áÇ\ 3¿àB7N\84UTuÐ{"nûèýK\vN\92ØË­[rB\98õ1êjç\94\9a\1a\9eDe\89Î\rO":c\a\8d}{\9f\ 6w<\8f¹sðfJçàü?ÍsìÎçó..~^\89s^©ê\ 5\1eZ\1fvãR%-o\ 3T;8a\vðÕë¾Øp\9arSCÛ×È몯:ê\eôi \91ÏÚÙ»."ûY\91ë·\ 5\13§Wv7îN¥m¸µÙ¶UJàY+§µ-\ 1ó\81\92O\96\89l\9ff´M²\7f\1d\11\ 3t\97P­¤\10\944ópchSÊ­u&\9cý¨U\96\7f\86õõ´í\98gÅB\96\11¿îQM\eÃ>&)ÎRE%\9b£-\18v\89íH\9e|\9e\95mf]\96î`$\1e¸´ýG\ 6i\aª@ÎxH\8d¯f\9eÝÁzHöOúÈÈ\17аôûðG\88÷,ê+5ñªcÐ/\ 5n\8bÃVW\9dÖÆ¢³fgxÁû]C gǺö\96ÆWT\1aõ¡iù+Ú]Q\87\84ü\ 2DR\9f\10ëI\93F\197~\1f
+\15\14¢±\8e\88mQ¢\1dtÁh\87°é½ý\10÷\9e\9aûTüÏLtPájoA¢\86Ù>ra]j:ßTO^{\17¯µ¤H6rØ\84ì}X<{\8b³ô¨\96\ 3´}£°âà,YÙzhâï\1aÕ$ëU\8c¦+έ\12Ù<ÑdFïS ¦D\a\90LOí\197ÿx[^mSû\858_?\9e/\1dQ903xý¯Çç\86»c²:Å7qÔWf\aoãQ©/\12\94¡jî,ër·ÄôA9\15ß
+AOï4dª©Z«cö²ÿù·Ð²þÃ|¾_ýmòù\7fÜo\87/íõ2(ËýäºÙ\7f~\f¿É\96_ù&oÕ´X³Ëþÿ\9d\85\97â¸áfñ|\¿Å§ìz£\97ø\85?¸¨\99\7fÉä\7f,Éõ·«ò<úKDµOn\88\81¶çe½9\87æ\8br. s\15®O\9dW¡ÃàK\97\7f\ eð,z\94\80-+¯Ã\få5\93çN®\17(Y§ô\15¹\99\93A\88ÔÔ·òï\85!\94­¡h([\r\15ND\14³w5\96\8cêq$^\90-\ 1«M\1c&5Lu´7¶J\7fmà`\94ü°\81\7f\19\ 1¢\9f\960#ÔüÆ\83Xóob_5òe÷Ìå\8f\18²­¡¾\v;\ 3ªÎÐÌí\11ÚÚ\eäd\fx\18,ó´úmÖ´Æ\83KÅÚä\8eÓµnU5¯°«óøu~\13
+Ð,\9c·\­pRÌ·¸\85¥Ý÷\94ì*®!.ý\86¦I?8<\9fÏ\82á\14~vì(®\16Ù<ì\ 5æ\134¤J¼\88Q½Ø4]\9c\10²\9a\b\ 5Ï\9a\ 6Y\9e\ 3\r-\fenY\9d_c\1a\95L\9a0"xS¸µ\87q0E¦·-yN6\ 1\93*\957ÿ\8da\ 6\ 3{\7fÒ\18~2\90ã\89\9b´êÖ:unZ<õÑ\82cFÃ¥\1e\ 6@`\12©|\815³~\ eÆqéYR´Öºh\96µÕî3Zêù\18\9a|NUÇ\1a7\1f\89˸Ø\rǨåÜqÃqü®]Çx\e\8e\9f\97\e\8f\e˸ï#q´åÜqãqï}\9eUÇz\e\8f_˸ù¡¸û®]Ǹ\e\8e¯\97qîFãéyw\1f\11K\8dOÝö0j\8f\7fóÜñ¤\89áû×;\ 4÷\8w?/dßD\9aûRr鯨¶M5öZ¹Lù®w)ÊâTÞ\bÓ¿`5R§W\88W\8b§îï\11Èñ\1c\9d~ðôõSdoÖÞ\ f5\14}\eí¨òJ}lAy4û\9dt9|\83ö\e³éSÞËhìrØç\9eÞ~¾\95<>\14dH%6í~6|¦í~5©íÚüùs\vD¶O   »_ \19{ݯÇ6ÄYú?ã\ 4\95þ\1c8\v\8a@æãïØ'\9a32>þ\96ù;g\ 2õ¥½VÇ\89'\92ÖF\82ñIj\15ê]\1a\9f]hLÿ\19\ e\12\9aì³DþpÇk£\9e?aq´¨vûÌO¿Ã\97¯ÉbíÿL\ 6^§£\9e\97r\8b=Eg\8c\b\87Æ2x¸\9b»S³³Õ\82zYQzÛ\aªgÇ\95¯©ZÖÑ\16½¾<z\13µ\15ß\ e9<¦\1d\15\2¯\1f lÍFÊøgÝnR\ f\15yrf+ÅW½ôWâ\91ó½\15ø®<\95¢&\9f\8bè«Å\ 1¹OWè\8cúñ51\9dø\9a\97\86\98exI%÷cá%\94ȧ¯¤[fÃá7Ò\8bPB\95£¯¶½!g\16·,Ý$û3:ÝRÀÒ7¬´¼b\96HÄÙ&\15­\98Å\ 5K\1c8ÃÂ\8as\1aÊ\9c\8dÑ\9dé:|¦Á|Æ©|Ƨö\ 6ùh\92§\r\11\90Ö z\98ø¾<!ouû*e\1dnZ\§Cd\9f\86:\13\a±ºÙ§c»-À\1a\18<¦+×»¿+¢¿õ÷Kókÿ\ 6é~ªýnèù)c{ö!+;\96ÊêK+»\85Õ_ÇnÖê¯â÷|®ªû¾ù\86¥\8d§ÑÞC)ìáó{ýu0î¥M\1aìØiv4Oؤ\9fÇl^\92ÔKªöÙ;\16Ñ~o\87·ÏÿøÇ.SÔ²\f¹¶O\14Ù~\90\8eÙ9ÝÝÏ?ÝÞ\výä`»Á`¿+\v\v\ 5îý/Ù\82ñÈÁqÅ\82þl<\17õ=/êèIú^\82ü\80{\7f@ðã2Ã\98Ì,.ª¿ÏôQÓñÚ'Ûú7}\15?׳\9f«ô\17êStÞ\82û,é}\ 3à±M9l*´\ 4\ 2ÿ²b¦Ë»Ë½/áw¥Ú'Ü\11\80¤ÍÎ+¢\904\ eÌ+ÊñýT`4[Ò<*²\ 5\88µ\92ÑK\9fäÍ\17\ es,(ÖL¸\19¬Zî¹\8c\0åî¦;P4\rìmDQä:0ûÓs¥jÚ+j\1aðçA\10\ fÆ\15«U\84[\bv,A ÔÍ~I޽ʷ¬q²\b;h\9c¶èY\15\ eÄ\11½(\11áÔ8£a³£aëÔQO⪭h«e\85 Vÿ\8cµ\ 1FÍõzeÔñ\18\0§ïk7\1d篬w\vr5IʦßA+\85\84v\8c\13übÒ\86\eR*âZ\9bâ\9b\86§ðjññïüóÊá;L
+eÿ\9e\18\12\ 3-Y\1eæ] ïañ¼ø:ÙT]uÃù- Óß JýÙ\95jÇÔ\ 1¦zýñhÐ~\f¾\ 1p\e!\84ã[\11\84\89\f»\99μI 8\14{7¯ñ4\8f\ 3äþߥ\83&û/8½\9er\9b\96¦\84ÂKøÀÕl¼¼þ~Y\9dW\96\17\ 6ÈÓʬKõhëN\ 6(L%\95\10\18K/\16§ñ\eL\8c\9aô\99\95@N¥3È\e\1fÌÐ_¨\95\8d\16\8e½pÑà\1eÞ\8c3v¨\99\19ʦou\82³QÒ1NÌ@\12\9f\8d­K´\ 3\ 6\87R\8a·<=\1cüXùÇe3äjÅ\ f\v\ 4ÉÏ\89j\87\ 2©¥ð\87\81\1f\97`õÿ9Ï      Ä\17ó\1eÏÌäÔ\83RáM»JHæ0Yþ\ e\1dL.Ý'ß4m ¤\831?\9fÆ3\ 2£ó´O¼?h,M\ 2\a_ö´Ù\83\90tËÅàÐf\122ÿÂñ÷\ 6\8a{?\88¥©¢%¸\ 2Õ\1a\1c)'ÖÅ\9a±\88ÍTþq`Ö9\83¸È½L5àR+G\8f«\19H*Ï5\ÚÒ8/\1d§²¤IbÎÁ\ 2d¦ÇÍf9úLípÙ\8cÚ÷T\88Òð<c\ 4åº\11ø%hÆ:\ f\8carÐoª|q¤ÒÎI\8e#¼TÇ\8f6\9f¼c\88Øàî\8cq\1f°5\87\98â5±'÷\98â=oì%ÝwFA\9f%\82¹2\føÑ8ü\1cs Ï&õ/ï2\fúÜ\ f¸d\19ú¬$3 ÎÊUS Ï¥À\89\90gõ¥\152\féÊ.d\19ü¹OÔd\19ýYHFA\9f\9dçÒâ\99\ 6xF=¯èL¤\95¦\12Þ    \8f\ 5\8aõo\bǵ\81\8a\83\ 3\1eÞ\14+\7f2«C\8eø\8b\9f·è¿Â\82\91d¬cçmè\9fè#+<þÑãíû¹\8565sb\83\19õñ®æ<z\9c\18+\92\92
+m)¡\9b\ 6Eb\ fÌåÄ\87¤[´fPðó`Õ\16\97l5ö\ÿ«\f¨ÂÑ\97\1e\ f\97*^i²@\f\9bÉ­2D\83lI\1d¿ùW·÷\81\15¾Ýá[þ¢öþ²i\bÌ«ö¾¡Ûû\15íàѧ»MÁ\9cκ\ 2·ü\13·å\1feoÕ\9b\96\19\1duKgs\1e-MñØl\18Õ\92×9}\983\16\8b¿Å\99\8bE\16¼É¿kàL\96\87áV¸âm$\0íu\9e\18\8d\956\93\16ùÅV\83\18·¯³\r\8a\89\18\1aÓL\9açÆ>_|M\88_ZÞJËÙ¨¬ÝÉ\ 3A­Z\85u)À¾\81Ó     ©¾T\ 1d\84\f¾Ü\ fZ#Æ\81Pë×ñAVöù\83Ó¸e÷\ 2Í%\94\ 2¨\89óñ`\8b\1fø Á÷ß\96àrèj\8f=û\ë\811ñàÑM~Ü®6\8fBòFAíøeÑ©\ 3¦ô\ 66#\12\aO\f\v\r\ 4\0d\1f\97\8a\1d\7fu,4jl\f\16¢yÑ)%\81\ 1-乩w¹bÏkÔ¡JxR
+ßx\12o S@\ f£0\b¾\16U\81\99       \ eº`     \8bc2¢\82·\9d:jZ\94Ø\84\9bÊÍõù<ÈÑê_©S\8c\ f_v]b\14ò%c#\1e\7fÎ\869\96;L°\18\10F\1eËÌ\8f²&<þ4ìÑü?m\92\88ʵI\r\ 66mLÙ´Û
+9W½n\1a\95\91\91\v&M¼;}gá&Ó&\1dõ\1a\9cîL;è\154\990ï©ÔÏäþåS\89É\87~\16¦ö\ 6E\12\8c\8c\89ã\80\9bÎ\82\88\8c\86ͺ\98v\ 4áÄòB&$â}\90\89(q4.\ 5\91\87\85\12\84%÷*\ 6\87\11koy\v\ e7òÄòõãç\95è\9fl\ 4¤\98\eb\16\99o\14º¼\0¤HÊ?
+Ñ¢}Ð\80\96o-ö³Â\81\1fá&È\8d:\88\eµZÏÇ\85SoÖ\16³r§ëX\17¿ñ©{ÖYº\12§QDÿ\9ft-\ 4v\1d\a3\98\92\88\fAG¶\91\7fñ\1a\ 1\8e\1e\ 6 ml\83àÙ\81`3Ë¿©l5\82\19M~&\84ø\17\97TϹ\8c\16®I¾ÌÈ\17Æ[
+¯#wW\92Ä%U7WÙ$\95T½ghÍ*¬:åà}û_¤àõ:\ f\86ö\14Õßì\99u©í·Õ:\10h\1fåT\80h°ý®mÀÑViÞóa(;þ\15½¸a5.ê©\ 1ô-\8dd\8e^\ 1¦\96MpÒáåÕÆä\90\1a~z\13\bÁ@¼Kì¦\ 1¥\8d`cþ&E¦ðÁ]\16AD5\10²\9fA0THò~o\13GÂ&\83\7f2K~©1K± \ 4\81\80
+\91hv\83^>õCä>^¬è\9fP±¬M\98)ZoòAÑ      ûáª]¼jr|!ø\ 6¢Éc<8\1a(\89+%5¦\ 5åä\9a¥'ã§Á\10\19S¬b5L?º
+JWæÏu\946\96'lí\8bÍ5Ï\ 3\ 2\826¨#\8f\13§©\ 6·¬;\ 3(\ e\16P3/cWÌ-{\ 1ýHÿ!ú\9a\86e\ 5Ô¸{ÒlBtò\97
+\96_\r=\ 5²ÆW\8e      \93\7fëÃb]5´C(/Ú\85\97$
+3\91G\f_hâÚ!\94\17û\ 1e¿Û+Ï_q[\e~SÊÏ\ e>w|\f\bx`L\b\19P{£¬N>\8fùÓ\ 3R\7fQ?\9fÑq\0ÇÏYY\8d\83P\98·Â\93Yy\15\15Î42VT \90ýóàe\r\81\91uÄdÙÞL\170á2SOòr+cY]óôá\95]gäY\81èè:\96rV ÏRM½g±yí;
+\9cûí\88v':0ü\ 5\ fîTãÀ¾Sâ\82\vQhtÁ$ùmzIcWi\ 3·Þ\10äÊ\1f`\10ïE\ f·\bdÀýÖºP\87ë\14\b\87\e,eZh1¼|\97m°C"öì\90Âù\8f²&ÛoÇ\1aÎo\1aò\91á1\ 3\8b:ÕÓe/\9f¬$ßË\89TóK\96¼ä£*\83\9a\83N;|rÑêIfd'\8f,Å]Í\7f\e×S[@¼²Q£»®d5\ü\19&\ 3\10\19\rí\ 3[%c\99¼Ä¿H¤¬=Z¯7>\ 1\eK$ð\8a\19°÷¦øSï9î°¦dþýl)\99?¸öÅuïø"e\128¸l½\ 5p\1aѹrºµÜ\14nB@\0+\9e#'6\1cÒ\95\1aJ\báÔhvÎ8\r\90W\17n\ 1S,¬\1e\ 1¿\16\8e\16¾Ç\83\14ÌkÊ\86\80ÝG\aüæYM\88bþo\83\14Ë)È\97X\80k\8dÝ\ 6YMM\1d²\81Xbþ\16/\92e\96\ 2\9aFÄõ\etuÝ\89s\9dç\vÓ\f;«¶\8cªp¦\98`e\9cé\972ÎbÓ\8bçí@«\1dÒWt:´ôÊ`Ë@aÅ]_a|\8c\ 3-?xSû\1d%cØ2\92±Ñ1\92±¤\vî\90/¼£3J-\ 3Û©       @µ\16»Y?e#\86\1d\8a}\9e\81Â,\95\17\91P\f\8b\8bRÛ7\86\1e\ eß!L\ 1zz\82\97\14ápåËí\93±à\eBýøæGÅd\13¾ãà:\11JÍS.°\8a\rLºÁIXõx\152×â`\14üurª~4@\93\ 2ö\12aËOV\1el÷¹\15:\12\83\ e¤\8d\ 2\91µM\86\fý\96R\0\81<ªÑ-\9764mTü:¿"\8b       \1e×\1d%ÆWt¥Dÿú\11òå±\85ë`óÁ#yÉ+\17bÐÖRi¸HWº(\14\1eqó}¢×\81ÑgÌËÓ«C \9ew«4ïd\1aq¿iµ\ fa\85Øbã\14Ç=\ 3e?\1d\1e\14r +Å=±}\1fpÓÊJ\8b¨¬ì\e\87Ò-Ù6*,Æ"\91\ 2Éûbâ_S60Áfo\18\8cè¦\96\bîPÏÿÈÂ/:ÓÄb\97\94ÎWÚõ?Wи;X»¾\ 46\85\ eöðËfâ\90Å­ÔI\14\86(\8dµ\8b¾h!Ú\949\14Wc\98xãTWd\92\90ïH®Ê Jº\10y^Ô\87yC?\9d\94\86Ì!Ù\94;ÀCÕ\94\87ß\146Hky0\15\98à\97  â­q£@ÅPÃEÞÙP*.Þ1f·Ø*]þÑIN\8a\97ªâ\9cès\89\9a\ 2ÿ2\0;Þ»¥9ä÷§c»æáNÄ¿ª^\92GL±Së\88\ 1\9aÄ©¤P\ f\16{×ùvg]Õt\r\8c­§Ð\a$4ìº6PííLÍ\12\\99Öp3B\eó3B\19\17ì`þqCùÀ\8få \99¡\ 6N¬´p0N¬º\18\12n¬© _\1dYf`Hº²Ê@fêË1\ 1\83«%Lиr1|\80ákÎ\80\ 6\ e\rÈô¡\17¡R.\97\9a\ f\1e\18ü\9d©\99 ù    s3Aó\ 3ðì\9a\85`û©\94\1aàÛ])j<\ 2\7f
\a{æ|O\ 6®,\7f8\10.ùa\'a¹vŹ\99¢pdi¸\99¢}3sÜWØ·=Å}[uÌÑ:Ü"¶^ ï³äm'\13\e~Z\ f\9bå \ 2\9aUºnG»\90\1a\94Ï£õ\ 3\97\93³Sp¼Ïñ`Ê\89eÇõ\89²n)\1f\94h\97\98-«Ù,§\8a\9bÑh\85{.§\ 66\96\9a1´Î)i.Ö\8e\92ØLÐ\e°ö/2\9a²òÛb\9c\ f©iª\ ej\1cËrd±\9844\ fÓ\ f \9fÙ\89\9d¦µÁ\rÓ*Ý]þã\86è½´æ\1eÓÁô×3\84nD®_ÓK¼}Â\ e(²à¨\99\137\17´\ 3-Õ±\ 3§æÜ\12õõ/X\13\80\80P=\7f#÷G¨Ø×.\12É~\13\ 2å#`V)&ëð S\ f \1eçÚ\b\rî~×ðsjîµ/º/i\8côÏ\8al6¹\86\9bc¡7Á\f_\7f\f_*\83@¶¥\95«tiº\1f\b\9cÌÍ·»R×iºß*fßçÂ>Õhãoñ"GÕ    \7f¢ËÈ=-øy@±ê7×\ 6\82lYKÝ\97bïKkD\ 6Rߨv\12CðGòô\7f91üÍ\ fç
+ìÒ\87æ_â\ e\92>D5«"£5\84       +Ç\ 54#Ê\99\9bÕî0&fõX_Ï¡\1f\1d\7f>\84\7f~)¸Pç·\8e~Öò8¾\v㪾$`É'¥\81\ 4Ëïz\ 6À¤8=C\82\87¼Ã\ 1yÃÞñh\10¨\fà\9eÁKÂÒÌ~\1d\83\ 6\19ÿ½ö¸+Ý       ³P*¿\19y\91ÙÕ ª\1c\87¥£\9e\83Û,g\bÞ\89\9bïññ©%S\93ÒÞ\9e\ f+\ e­Hµ~\7fi\90\90iUyÒÑ4\8c\ 2Ýå}
+\17O#7òò\7f\fßÏ\9dHÃË˾¢ò\83®\8c\ 5º]\96rÜÊ/Ý\16\97iD\r\ 4\16þA ûjY9÷ù¬\b\99»1+«o\90qW\973t\97@@§\97í\83Á4µÒÚ\8d\a]Ðs´\8e\r³/\99\8fºÎÐ\98¿^ÐZÿ1ø'HðæÜ\99ÐnìÎÂÔüÍ\94è\19Ðj13 ÎDÎ\839A\9d\ 6ðÅ_¶Ü\87]5É\99Ðo&\8d÷Kø\99Ñ\99\9d\ 6èM\10Hn¦L\ 5pû²Çq\bÎ\84Ë\16v\83)\8fþSÎ#\813£?\8b\12\859\ fq¼VPüz £¢NI\9d\1f¢.¹O×Ç$©á˸\96»Þò\14µÑA\96Î_µçýÆR®\11\94{ïb\19G¼<w¸\9cï Ê=Ê\a\96×\ 3\9eáU\8d\ 2õ\96\15\98xûc\ 3\80\1e\16sÔO¢XÊD½\88e"lÙ*n\83ÀÊDö\â_´ÊDÅú^jdUô2(\ fVöòt\1a\9b~\19\15\9e\13*\1fs! \96\e:[\1fþÃ)PL7Ãk´Æ¥È2\95\1c©/&\92ygÕ2y }}`tÅEïe$¡]Ãc$²\11Á$\82É\8fòÊIׯè\9cðÄÞJ)ø¥\8d\ 3\14°/E\8d\12¹¢ó§Ø<½lB\95µ\18kÕìXû\8di×ÿ¡\93o\ 2ç7ý¦M¿ý\8d\89_\88òV[gZ_aÖ\97Õ\ f¸BÄA,V\10\rÂ¥©°
+J÷[O\1a
+\aê×5´ì\1dVèã.v÷å\ 3áÐ\85iM*dÚ#D¼oTÖü1\9fÿ\f\9dÝÒV\16þ\80¾Ùë:½ã\9aÛß}\19¬\7fA÷Ô°2ëÙUï1ð7Ïè>ª"ôP<éË5Ô&·¯¼¥1«C\ 4\9d.\83ÙÚ\ 1^\8b×\9bH¨Ë¼t\0]\1c-´2VWêTþq#\r\9bÀ\ 2y\9f"\8c\1aj·üéÑäXQ×0ù\10hÒ£:\ 6ö1K\8a\8f2ýïAÄS\12^Ëä¾\87°ÄwëÙÆUG\ 1°£\80Ô=\ 2\80}¯ùàV:¬÷,jüù(ýz\96A¡ê\9bBû`\93Ô\99\1f\ f\8a\10Pöºû\ 1\8d\1df\1eâ\98óÿãF1|j
+ûå'Îÿ¥\89\1etnUò"yW*ù\11:\17\87û)\97?»ÈÏÀ\9bKß3\87ÿË6\97¾g\ fßM¥ï\19Ãÿùîãç­ÿÐf×ú\95·jô\917jï!\99µÿñÍ%þó6¿]ÄÿQ\9b_\94\9aKúÌÚÿýÓµý&\v\8a\9d¯ß¿ì\9d¯ö\tí\7f©þäí~Sÿ©Úø´\x{²"\9d¯åP\9d¯ý;\94í\7f\17\15;_/"")ÚÿW\81þÄí~ÏÚN×þÔ$í|Jèc2Ü.Å\97úS³ÈX#êñpDÊ0F#\93\82/+'p£&@\9dÂÙ\9avùÖ\aâþ)Ü\ eZ
+w\ 3åÿrvy÷eI;<ß]'g\9bY_ù'g\9fW\92\9d\9ejÿÊ\9d\9e|ÿó'g\88b\ 6ÜDìÿ\81ËNÏý|\ 5Úv~
+Aÿ\1d;?Óà.Ó³ÿ\8d\80»NÏè0\17iÙü\96\ 2í;?ÝJݧgá<ütìÿæÊݧgáðjøéÙû\99[´ìü>\1d_\1d;?ò¥.Ó³ðjZÿ\1d;?í¥.Ó³þ\8eRí;?\ 4\r\ f\8e\9d\9f°\94»NÏÀømñÓ³úù;´ìÿ÷¤îÓ³ÿ\87'v\9d\9fãdøÉÙøV\9bÕÒv\7fº¿ÂNÏÿ\9aÿ     ;?\ 5\19}tìÿA\7f\84\9d\9fº¿\92\7fY;?ÆHr\13³ÿ÷'2}v&í9\93qÁæ'2|¤æO\ 1Àæ'2~òs&¿\8dÆèa\15\13\90 \81\8a\ 1\v±ù\94ª\14ÿ¬¹wåRù\v\86\97\12\8e\94B\9dæ±O«¤K(\95\12¥,¾)KSx\95\12ÔIÞ!\8f\ 4\83*\1aGW\99ýRåBL\8a[_D!Ï·¨V>hÃ\8e        \ 6Z:A§b\12 \ 2½I\8fÿ\9a\98\18ùÜÐ\rVz!Àë\acr·Á\fa¹Q\11³ÿ\18CH\ e\8a'\93ó[#ÈFáçÕ\ e»¨ÀýP\86P~´|øy\ 6ëX8\9d`Æ_\ f7Ö`u-       \86\878vðMSha\15.R³¼V\831Ê=!\94óò\fúú%ù   [éM:oZ\86\eÑ#ÿ\1a wMF\1f£9«\83\90ô*\90\f\1d\ 2¡x¬­îÄ4YõW\19¾±OÙZÏ\9dU\8b k\14ö¼uÁO{Z\86\9fÝ\8d\r?\84ÔüA\ f\ 2´«±u\144Çv:[£\v\90o\19ëÕ*JpÊ\92X\a\81ôZe\1fà)\1c\83=m(\87\ 4>º%Þµ¾\1d\9c\15~×b\19\1c\9a\7fõÆ\17å`\94ÿ?\88a±Ýb¡&\80È\ 6\11ÐTMb\95\16¸eF\8e\19R\13Z²ÃÈ3ÏÃ\8eE:ï::\ 3\90ô9ÏÄ\93[\92¦wÏ\88g\ 3X3"¥Ç)çdU\ 6é\95\ ec(ÆñJ\9e\9/X©ÚÁ\fªäU\bt&\19UÒW\ fÁÔ,±}ÉRË\8aTÀÐ\1c5Q­êµ\88¾:YÓ\88v\1d¨2
+\v¡9\8f\83\8dÉ\8b8k\15b4\97Ñ\7f4{3Ü\98j_Í\f\88è\ 6F~)Ⱥ\13`¾©R¢çD4\1cW9\b¨á\87ì\8a\8d\2£\12\90Ðë-(ÉûÅ,´¢\1a\8bs
\1d\82\1aµÑ,ôÊ\7fA\8bQt'XTô£\81Ȩ³Å\r
+÷%C-\ 5W\8dȧÜ`TaÑ\ 6^âaÛĵò§\1eç\bçâC,\atTâÜqJ¯\9aQ
\9dÎÀvã\84
+\10Ü.\9fß ª¥£ò\92º×ÝOü\12\11~\91à¸?Ø3?\17A{«¤¶W·ãÈÛ\88Yn\97·³]ºåX>\ eÍð+\ esÇ"i{{9ÑpŷóÁÙÎW\8a6pó×\ 5\1cÀ¬U¸Ü\9a\82\8b=ÅÑ\96çc»{\8d!øÛ1âÜðvgÝi_\af=Õ¾\1eÍ{\9b\87\92UìáÝ UTVþõÇc§¸a\ fXloo\vHu§ä\14\1f8?\99sÒÞ\Ô ô~Üqð}Ö'Îñlú\18\99\ 2\8c6ZÅ£#áå»±\124-â[n\8aÅ\9\19ä\15\8a8¥bM\18\1e,¿¬V*øÛ,`\95\8a>VÇz8Eb\94\13ì\t"µ\1a[åù;EáñKÝ\ð`á\86BpÐ\8aÈYqsÅÎ\1fw\ 4Å\90ø¼+ÿªÿqÅÓí/\7f\8d}¿ìÉû®7ÿÛ\7fþ®9ÿÏ\84Ö+E\7fÓ"|«¾]r´·\16ù\8b\99%Å~Þæ\86oý´Æâ&³7W\1c¸î\9fx|\a\85åâq»·¸Qºr\1fù°ÅÏ\7fýdܽÄßÿîOå×àÏ\8bÈþÞ\16æ?\8bwÃC\17i¯õ\95É4o\aper}ÅÇ\17{\8b\8e`öã\8bú\8b\8e\ fvü{çDt\a\10ãËÔ/Æ.\8e\ 1ã=Fñ\15º\rèÞ\eÆâ§J\17\11ÿ\er\1aÅs\8e\ eµ0ø9ù79KÏ\1aßÔ+ÄW\ 4®yþ\8e5\e«¾]rÂ\16·F¾\19_\9d\ e\8e|\e\f\1e\8f|\e<\1e\90»ur\rl~]#öëð$Áé+·\89ÁºEtÝ/ÿ)wüÅ.ß\98¥Û®¥Ûò\1a\ 5\11î\ f»·ä%\17wiAÛ5°X0¸O4\ 4û^8(ëÿó\93øñ­jõÚ5~$ëÜës¼Z@\16¦A©\87å\14±©\90ú\18É6iIæ£Ò\93ÆÞR\93\9c&\8fʼáVá¼L7\16>\ 6=,\ ejA,\ e\96\ 6qf\8fòûXßÝÁ|¬ÇåZÅ£Ýò)`\94È|\12\99\ f\82¦]¤\89|ªØ\a\8b\84ÑMð÷U±guw\81E/$¨ÝÌ(wR¿ucFC£C¿ü~ýÝ\ 1ùM#«\ 2\85ç\8dæ\92kM\ 5+¯âÏ\9c*T\17_\rò!Å\96>VAÝbþG¿û\1aU'\91Jÿ\8d\90\87J¤ÿ¨\9e\91Á(\94h@PøÌ¶Ã\86\80\91\8e©m\12\8fòQC\94üU;ÿ\90P×îÊ9úôª/Ê­·ú\9bÚR½CD¥sRD\96¯êT\90ykÒRØÙÄ¥£\e¥\r\ 15]\ 2#\8b\91üµB\9e'¬ëö\9a?\1f\12¸\16ÿB\ 4·ý\8d'+ýµ½Ïú\1aD\87úÊ*\1fúÕ\r?êT+âó?ÿ\17Ó£ÇÍæ«\9eê1\ç\95~mÜnµ^gËÚ¾Ko{ïw  4¬·ØÒ'\9a6L\91\9bG|öÇ\1fÄ8ú³\8eÐÚ<GÝ\9cw\ 6Ñâ½9Ç\9e8õ§\1flqôg\1f»\90:ÜG8ú£\8fJqìÎ;£\8f²8í\91\83Î;C\8fº8é#'ÐË\93>\84òüã¦qóÇH5ûc\8f¶8úó\8eõ¡ä9Çþ\13\8f«8ìïf\1ahÎ>hãé\8e>HÙ57£8ï\ e>pãèN;£\8f§8îN=\99ÇhqÓ8ìÎ>\8eúa©.\98Õ%ö§s\9cw\a\1flqõ\a\1f^qó\86Å¥ýYÇllZ'Ô\1cz\99S\9bó\8fÜ\1c|ñÇÕ\9czs\8f¸8î\8e:X\ 3T»Î> ã³8ï\ e=·@m\13»8û\93\8f¦8ög\1fTqû³\8f¶8õ§\1f\86qô'\1d\ 4ò<ãÑ\1cvÈÅç\1eÔÚ8\17Ü\1c}ÉÇðN?\90\86\8e\15à\8f#Î>¬ãê\8e;sdÛ\1fvqÐËR=1ÇC-ÜêÎ;Ó\8f£8ús\8f\9e8û£\8fNqÜ\9b.@éN> ãº8ò\18~1>cA@#þ\16ðÊ\ 1\1e©¼2\80G¯o\f \11Ú·\86P\bÓ\98\86P\bí\91\1cð~"dã\9e\ f©\9a\86P\10ØÍÃ(\byé¸e\ 1\ e®n\19@Cî&á\94\ 444\90­\81üK¯\ 5\11ÏâWæ\9cÃ(\fyç0Ê\ 3\1dúr!@c\9c\88P\18ç!\94\ 6>\ 4ä2\80Æ\9cì2\80Çâc¡\94\ 6>\1e:\19@cD\9f°?\8a3\82\9e\86P\1cïÓñ
+\ 3\9cü2\80æ\8bý\ 5\ 1\8f{?\f Aî\11\1cýÐ'\r\11Ï7ä\r¤¦lOãa`²\10Ê\ 5\e\9c\842\81FÇ#ÆÐÿ1÷¾K\bïèì¨{ì~ûW7e¢î\90PÊÿp}û\96ú{\ 6RZï'/¥ø|ç\9d;CÁÂ6ç{gÓ\9d­3Í6Ë7\80ÌeûL\17\92\9fu\ 2\9e{zïëö¸¬·\81ôs\9eG*\8c­ÿ´;Aûª¶|ZÖ\7f\8a\1eªýÐõ\17ÌAªù\9fîgû\99þæ\7f¹\9fë\96\90\8e\15N\11\83;\86ô?oGöêÿÈÎâ\16\95ò\95í«Û×¹¯\9e¯u^ò¾\96¾\9e¿9_\9e¯Ð×èëêëëkôÕúzýGégr\e«\a\96\14\14ö\19Ë\fõ\86\86ÃGaWa[a¦°ÓÄgrÞÚÃs`\9d\85­\85´&w2¹ïg»×]ëÎ÷ß\fÚ:\13\10óæ\19³ÿÚÊ\19_ðª\bø=çÚQï4ç¢1xu$¢²+¦\9eVðéÆE+köG\8dîïëuØÕ¨Ù\1f!ÿú6GÎL­E}|;Çé£d|\87ø\ 6\öÙ\bm/Sÿ\87»×èfM\9dÐs>ã; Â\90\92·vÙ϶Ê\14pN\80ùâÐþs\93îõÁ\_m\8f\97\8fäÐï\18b­Ìù±ÿ¾\7f\93FÈÿxä®Ìÿ|\85ÿÞ\8c>èÁ³\8cJ\8d÷\92_>\ 2Ð\bع6y¬¨Õ\8f'ó'EZh¤\88ÃÿÚH\8c?ý{\˧\9d\1f\9fGYÂ\8fëñ\80Î$¹Ðó[,v\ 2Ö\ e\80»ðBÖIx·Îb¹\8eÂ!¼¦Bþ&_b5Ýæ\96\9c\0oàT´åsÊ^¹\93ºÇ\9d(5²KØ\9c\ f¯pÄ\8c°\11\93\ 3\bú\ 4B÷|\94(4|\94-\ fÄSPÊ\1d?\94P¡¶£\14-Ìà±Ð¹4çþ\86xê/:\85â*tð}IÎqÝ¿\90T÷Jø}bu\v3    Xô$À\94`g\17àÔÝ\90ý\9aú\13;\87£Su\ 4\ 1\9f\9c \ 3\1dV\86м:(m¡t vƬÌU\ 2Ô\86Î\r]L\90`õü\8cþ0>¹\8a\ 1ør\7f7\16)E4P}ñ<m\92\97@BPk±Æ!y¬\92í\8bÜEÆQÖtû\91bhq²lÃP\ 6\94L\91ï·`Ù+®ø[\8e\19\\rX\85\9b\f\88íÉ$Æ\ eç\89°Í\8eÞ\13\ 5\8fݺ£~48\7f\ 6 }ÿÖFxÞ\b¿'æ\13\f\96õ=cÉþ\89\98 Ò?\90\1aë\95¤·ªõ\ 2Ë\9bxû@Ð)éD\ e\13»\9ca%íO\1ftÌÉ\ fÊÂc\16©å\88\ 1A®{q«bï^ªòò¹\97jäjfè\13\13V\\17)*w7ýæ¿îB\ans\ eVfÞH0I¼XL$¦\89¨a~\88#£nM©À¢Ý\13g\93ôìɵ×gbªß\aà\0äÖ\81ÊK0¿²\9dV\17öTÁI^ªL0h\v
+\1eÇG1\ 3¸ú©´3\97ºº4ììµ\ 3ce*åp\9czÙþ_\80XV«í!\84\ e\8e\88\1e"\8e\8ag\8f½\8f\95÷vÒæ\84ùÚó\93wLD\13\82\8d²G§÷\ 5\8e\93×\ 1£Þ<\9b\1c½6·§¨EJ\99\80\}\ 6Ú^\8bt\0Á áا¤\ 3\97~\1eÕ×\85zù^\93Çì¼Y¡ò\86\93Scõ\82{ÅØ¥\ 3;6yÊ4\8bP\b:\1eGYò¹·¯¤p\ 3 ²/¦\95\ 5W`ÙfWvý\ 5:õ  èA      Ý\1eº]ã<Ú\18\14IY\9cפ-e´O·æÉ   ×\9a0-\18I\10¾_tsG\ 532ócQGo\95\98\98ù¢£þ~\9cO9¡êzþD}E9Ë\88Gîø\88bn¡Gî\8a\ 4_Ê´\97>Ië°l\11Ðýõi\9e\13\83DÌÉ´\b?\85Ð0Bø<tB\e<CgTl\19ñ\9e\ 57\85\1e9\91\94dÒ§Ì.Cn*NÚ\10Ïìb÷/\972«r\99¤6æ\93àþ\12aÀS©+\eq¨?J.\1d\e\rÁ6r\aêÁl¥\0\ 1êï©2tZÎy\8e\14ûÇ\92\ 6\13\9d«\85ÉQ\9a\16\0nAbuÐ\0¡\7f\852\84}\bª\8d\94\92ËæYe,Âd.P\94V?Ëî\r<\99Òw0Rí\97ò,Ê !À  oë\92ðy¥­jµe½[«Ñ¶DÁ+b\8eá\1c­bÇð\91D\9a¬¬Ü,»aÌTeùØ\81")&*!²þ\a\10ä\17\8b9º(\93\8c\85H@X\a\83Ó"p3KÌÓ§\1eÔà\15ã,½Ñ&`\10½k hÉå\13göâÍ\9eîb&V¾eµ\98]\8aQEC6º3I\11ºmby\ 27°v\81»~2Ø\98ö/phìÐÊ¢!ªðO§4^Cá\f\1aå³IZ\18\89e\9e\98EKL¡\84nCä=\13ø«Þj°j\89  Qûg\82*S\97\8fY¹¶;kÜCm_©÷«üÑb\94xìáG\91¡8\9acMìPo¶Û\13m½ß\12_^V\1c1ØY«ahv\14\95°ñ\b\10\ 4\f1aàG\81-CÔü½\1fÀÆ\93(¸ÅRÿ\1dé\0\ f\9fô箫h>H\fnoè`\80\1dmÚø\96É\19«O\8b("ÙÛ^< â±pe\ 4\95r\18Uøg\0\rbiZQóɲ\99ýrÃù¥Mi{\89,+Ié'\9dðdô)E½\12{ªönd÷QìÅ\93Õrò\f\9e÷1±$öé\ 2[v2\81\vºûïXÒv\7f³32LÄ$;\0\91 \0±\bV(­\80\ e± ×:NÁî\ 6E\8a\83WÔj)Y «R\86b@J8Ü\82ÌÎܺë]«î]®ÈWÞ¥¾¶¥µ°iU$\90$\92\ 2\91\ 5AjÚ\15Uìz\b"\92\0\ 1?¿ßÿïî÷2H@\ 6¢\8dky¶Ûy¾ß{\97}Íø7âÞ{\9bðnü{Íø7ãÞnïàg¿\ 3÷ìßÀ}ø÷ð\ 3wï´ðõëd\96ÝcmÈm"ݵk{¥üÓA\81ò\b\anHn´A3\94l\96«\8bǦ]¹Ñ\8a:y\0\97WâñyËí\98ÿ¿\89\80N½Â§\ 1\ 2ÇÞ\97Tí{o\11\9c\91~ç(!sÄ»î\97\ 4´\ eå\96\83ëW¶U\r¥u²gKáës(ÖØ>·k\1f[#@\99<öÚ¼2(\89\râËÔ
+QJ\86Î<\1døù\12)õÌ\1c\99i\141\93zS)\95þË4\ 5qu\ 1W¶ô\97üÖ×M\83Y¹'\197,\91\e\0¦¼,r¤Ü/\8b\12\17\büã³\9eN\16\81¿\88\91\8c-\ 3\8f\14è¨É\v\9cKGÞ\97âêú\96\8e)~2Vg·Û¡h$üX:\bZ\a\18\10´\ f/°~l-\a%g\a3\vAzV\ f]\vA{ñ\ 3Wáä¯Üº\ 1T%aÖÊ\1eüÖerÏ\ 3W#¯ä\17\17ë     \1a\9cðd\83\83´oÜÐ*ú7O»+j\1eþþ'Õ&\17\90n\1d ´\8a¿\89ò\95bh\84#±ÒÿÐ-G«"µH('\8a\0\ 2¿\vS\ 3Ù¿Ð"JõDÀ«Þà\84l\1d²~8ÝqHÝ\9bsseÝ?çÉ\91\93ëyÉ¥Cº\v#BªÜ\ 5b!±o©«\135\967ê}ó¨\15\8aò-dßC\8fÇgzâ-!ó\16¼¨\1e\14:\15V\97­V\7fÌ\viA¬¸×¨·Êz\9d£\14\8c       Qc\v×FÉ^\97ë7 3^Ý\ eGg5\83üüì  \83\1as\ e×A\9cy´$âî\94¦ìrÐ;Æ0\8dg        \ e]yQ{ ê\ñ\e\13\9bÐâ\1a^g\9b\b迯­Ö¾·´  ¼c\8cõ½vJ3§\f\98\b»fÏ`;\16}rÕµÉ\9b\16\90mÝ5H\8c\ 5ëÆ\83~A\8b´%\93\1e²Â\vKr\85/
+Íöb²í\81<þö§õ\9aÔÓZëS;[\99Çy\19¨\12±8Ù&å:È9c7.ÙÆe\1e\ 1«\7f\11Sµ¹å~\9b\bH\9eá[üéÛïUïÿd'éî>(O\1cP\98d\18årvû\9e%\87Æ!9pÉEåQ      \7f\94ð\96
+<\12\8b\ 4§ÃÁ²\ 3\Ç&Ñþì\a\80þß
+\ 3}\87*¦Ö¾½£\1e0øÙ§·ëY\89­*H\83ëd¿\99\82\r\8e&Mk\14ö\e\96õ\8f\89¥øÃKx\9c[\13p%Ø/t½\ 3ü=/ú#Âûƶ\ 1|\97\8eAO»äµ'Ç\98«®\90¸®o\95¶M»°Ü\97bÛ.h¸ä¯Ó\93hGh\15\16üÃ\ 6\1dnq]¬ê»\19\15\ e\fU\ 3Õc&àwlÇ!öç\ 6\9a\1c:ø|&\95Sæõ\96®¡í\1d\80£À\148\90À}k\98Çh\e\92\17iLE¯£>p\vT\ 4IJæ/ËtïJ\a\87ùÜ\9a\aV$¾°¥\b°ª8h°ß4j\1c #\1d\9d\95\9cR\eÎà­"Î\9d±6m\89\8f\1c\13"ßó'nM²¦áb\93tª¥\12\fö`¬ã\8d\9c\7fê\85å¿\84/!\1d\ e{(\87\ 5¿¾2F\86ð«lH\8d¡Æù.\ 3>±ôû%Á\ 3ÄKN\16\9fÚ÷Å´Lçú\Þs\14\r\1dãéûLìâ³þVrQXÝÅYÖ«'µÀ?ħ\9bV!0ãíô`´*ýÅAt\15\16Ö~#&ð8Y×ý*¢ÔX½SYgð       Åzö®ÖO\17Y¥n\19çy\90pú#ÕX¿%ãä\e\8bBü®\1fû7Ñ\15W\18ÐXνpZp\88v7\ 4Ïó\vJJËYJCUÝ#\9b$µ6A\9fëT)jli\13·´S\ fgH¦\1e¬5½© Ï\9aÊÍ\9b\93m\87ø\8aà9¡scI£¬\80èÚ?\9dI\1f\85$t<\87\14F\b\97Q¨ÙɨÙÙêMU¥\1c±Ê­°_¾4\83\8c\ 3^\1dq0vÊ\9c"]J\93j\1cÀ32\ f^æÊåâÔcÈ;ÿ±_¢À2\8eàæå°J,¦F¨´/j\8aø\f\ 4\86Ã̤WWvì2\1e²u[}\88_\b|>\86nu|\16\ 1\b\84y
++Ä3\15\80\90Ý\80\b@\f\85Ñ\9a4\81}8D\91\ e̯¢çX\ 6ZÏ1\1c®AÐ\86\13Ù\1d±1v\9aVðBër¼bdåʾâµJw\84½:f£kW\86ý.Ø\1fÇBµ¡_\1eïÖÙi\Á\92R$³\1c½\bh\bé²õ\aµ| Ì§YëË\e\9fS\81\98&½¡\92å\ e5\ 4\1c\1dcCaE\89\a5Í3´®àÉ?4\87ÃÐ\82m¡hV\8e\99\ e\1cA\ 6]ÔTÔäH¢\17\1e    ã-ë|Ñ/\10\9d\92ù(ð\9a±'\98å¼s°5x\90\8dâ=fÞh÷,W°ÝúÖ ¹ú2o\v_\1d\16\1a¸·0\9fúxZ\ 5øû§àwÿ\ 6éÿ¯f·GÙ¯\13¿\91³\êøMùl×\8dAL\8b\8e\ 4u\9e×{_)¿=i9\82éfÌe\17P\r\ 6¿\8cvX\9a¹d©\16xÂIU*n\a­©\13KÂÖR9±Q-?\94\80>\1d~LÚo\1fGKOXi\94\9dî·\86×Ö}âÿ\97}\1e\9aÖ\16îéªð\8d¥ÉåÊ\8bl\87s\8cñ ¹ÙØÈ8¢\11A\8aðÃ-\89óç%UFÜ|°Ôè³9óðýw\10>I\10\87\19)X{Öð{\15\93\9e\88\9e\
+\1cý,ñ!\ 3»ó±\1d\ eÈp:\1f4ìl£wHm,bô>Ñ×þ2tí\9b\vÖ.\19_vÇ?\röYÀ鱬\r\87\8bܳÂ!\8c:¶   Ï\ e\17\8c_\91Æ*\116A}}\1aèå\9búH{\9cy¢ö-+w±g\14\8bë'\vÓ{\ 2þuÍëÄï\83x\90Å\8e¨»\12a\83e\15N\1eÂõ*ÞÂà=\83ɽJ¨\8dÆn\83x      §ý{\87æá°Äñ³p Ì3\9b\fró6mÓüÅ\8b\18SfªÒÑýãüI\ 5\9eï\8f\9exm·\85½\89\ 50m\8f4\7fä!ʶÂnv\v²A7\160Xùaù\\10cpn\12º\81Â\e\1f4\11\ edO°öLó1É\97î\96¤\19cò.8ÒõÏazÓ°oKú\0\f\16§xÇ0ö\15Ä´\eÙ·õ¬_½\17YìÈ&¶°oFßEz±û¼¢7ãÁß\12\12ì×\8e¼ìe\\8e¯bçq9ë\Ô'÷.\19»Tç\9959Ω\17Ô¹§=8¤í<\8a\9a\9cýSS\9f\ 4ôæE\11BL7\8fr\15\83\85RÔÕ±:lÜ(2ìæÃr\10Í\9bt¯~Ç&lÍ\\1e\9d\9cÈn79³/\aÇ\8eü
+>îh\15{m«y\ 6ü\r¾\874\18\16\82j4\7f\11Õs\18\ 1ú]ÒBüèÝ\11¿mÅ¡\f\a«ûhCà ò½(\14\8b4ö.m¹·ñ\13ØÒS?0öڽ䠠  ÈÙW\vø\e¶¨a;mSØ\1d\ 2&³Úklþ!xBêuõ¸!Ih^¥Öå\9dbúë`\8bËK\8a9Q*¯$ÛXêÉiòK§\81û\97\v¾>;q'>Ñ /­\85æÀ$$\19>\8e#­c\12È¡L\93\99}a\11<±³\89ö&ý­\867*ù¶m\b\ 3\fUä6ú\80í\7f\1cè\9bA\89¶>÷"tl\98½\80/\90\81`´Õ\11I¥9iÓ\ 6\90Û\ 22ýf©\86Ç\95&Úé-Mp\98Èîá$I:Þ^#\87o\14\11ÿFÑÓ¥À\14Ô\ 5u%þ1ä¿ÓÝ~¹/^ö\ 67\89's\84\8dru~ä\9dú\82­q|MOÉ\eÖ\8dN\84Ú\9a\87Ô÷èÔð[¾2\1aW~êcþkb\99v\1eß\1ee¢#:&9\8f\80¤nY`ZíøÓ\8c¥\18\94\1cÀ\97\17Ã~ÚÇÎlQÁ÷\86c\88ø\9fVú)¢pôѶÏò×2sÆÝ\14\9cæZ\93\8bn\18½\ 4Bµ¹\93BñÖ\81\8a"b^RtkX@\8c#æà\14\ 1~\81ØNm¦\84ÄçÅ\dM\97òXů¡+µIË«½AK­B¬PìÀå4\96¦½W6(­\816ýæö¹³Ì\|\15\8aóéÒÁ\937*öì)¥o\ 2?)"ì\1dÜí\10Ø\0\9dbýaäcÃþÄnQ±æ\9eºS¶M\80Ùs¶ng÷r»Þ\1cÍ\95\e}\f¸å\84\e¿R·¶M\9a\11ÂV
+c¦·\988%;_-í\950Y\0\1dÐÕð\9fát\17[[ò+Yì:\87ê»\1a\1e ûBk\8dB6åM7¥ÿ\ 5¹Ø*ë~*O\e\17\8d²?#÷8Kp\85\7f\9d i\19xv²P:\81qÖä\86\ f\900bÅÇm$\e\07\8cJñ­õ\89\86
+ ·è\95¹G\ 53i\99í\83\14&šֱò\r\8b·Õ±Ï\e\13\13¢\1f&\0\83\ 4¸Áz\10ÿô&lï\800W\8c\16#\ 5\99°Aú*Ãé\1e·b/êk\87X¤Bgø®ñH¢\90'Sü.\13\8bµ7>yh\17äãu\ e\17Ä\ 4;\9fü'Ü­Í
\94ÒßT\X\ fL\96
+Sm OµG\e\ 2à\ f\86_¶;_[\r¦\ 3*Ð8*ó«ô\81\10§!jÝ+\98´c\1a½®è.\0\93\1e\8axïb\ 6ÉúÖ\ 3\8dËÕõ\9f\9aâáóMi»b\81|\17²Z å×h\11\89\f©ÄÑ\17i\ e×\9b\81×µw\81Q\f\1d\b¡\eØkËöÉ#\9bw\9fÑNþ@A¬\ 6ý"¼4bq\1aÎzÍ\8a5güý\be1dÿ\9fÛø¬d\r\89\8exEÜÑ\±ÄÖá¡\83\92&OC\e\eÿb®b¹YúÖ,\11\8e¼øÒÑ\9cY\125E²´P|\83g>~aw
+EÜ©\16xs\v\1c\véà\ 61sv\86æ!p[f\8aLv¿ÒöKlÝöÞFÙª-ù\8d¸?ªj\8c`\ 1v\aå°«\9ehrØN-¾\7f\98{\vÕ;\ e¹µ\86Ûkd@uJìb\17ù`\10ÊÇ[À\92W0»\1c\98Gü!¤A\94FOlÃ\85¶ÉÃôÝÂù\93to2KKúDºJ/M\9d½/Þ\14\vhÄÚó1à[F&\r\92¾\9bAj\ 4×\9a\ 4\b\80õ®5`FNÚ\1eîÿ\9c\10z\7f\91:Óѹù\13\98É+\98¬\7f\1aWAz&\ 6#\8b¦\8aã)Y¦\ 2\1c      ¡!\19\90@Y\11\7f¹\1d9fá\9e@T\9b\17Ì\94G^\90\8f\114>\93¨÷ö(¯Å[äÕ@\ayaÃ\ eeÇ~\1fØÜ\9f¿\f\ f®\98CqQ\vÓ\85°Ù\85¿\14·´ÃÚ)\87«&T\9e¥°õÁ}õÈF\94­Î¸·ó®ÛfW3ÃaVZj +\94Û)\14_&1Uo\1a      ·jà\8e\9eH^·CN
\14^
+vÕõg\15L\aTÂ]ÏÙ?ã\8b9.ß7ã7ÚõæÃ\8c\81Ö\e\fä\19ê\13l\19~9ÄWô\ 1\r\15ÓÞ\8fnR\8dÈ\82Ü÷\9d\1eVÆf\15\80n×ê~\eÂkL\91o\83¨8¨Q\¾Wкgç\0D\95Q\fK\9e\18\17Ð:zy0»L,ÃO\99\86µ\9c\12\86\9d?6Ç8Ñ©ògÔöþÀÔÝ\ eª\1e,\90ò\80\1a¼ã\82ý-Jæ\98ØX\1d\91°òÐ)\r\87\94\81Ô\e\ e\1a\ 5\19°ò°\1e\9b\ e\1e\ 68¨(¯Õñ@   SsÇüg\12¦æÏøâàJ\95
+;ÆYZ\95ìCáÎ\85­©c\b\9f\86è7Ø&á\8bò\91}S±4ñâ~\e}MÁ1u\\vZ       U{"ü\92Fåk:®¡¦²J'Ñ:\1aÆkHѦ\8dúþpÁA\ eÕÄ\ el/\80V\ 6\1eòpàà\0\99Ú"ºQç\10Æß\13\11\17\10èðoµ\8b\86´3\17ìmÖi\ 6C£ÛGîÇ¿£»\1c\8a\8b\95"^\15\99we\93\ 5\8aõ\8bâ\b\f¡\9cbuônÊI±R\1e!;jÌÜ\1eV\8bG¶Ñ`\93\ 2\86\9cº`Â\81öè4f¤\ 6«\8e²#dû\12\fÌÍËlL\93rÓö\84Ã\1fOH`9\13\80\8c\ 6®\8dÃ#y9\a*}Ø\17é\8d±;
+£ôÞ\v¬²}Cþ\9e\bý9¾yÂ)»\8fÔ\97b\86\98      t4ó\8c_Í_ISý\81ðiáø\ 6\8cU\89\8fö\93ºë\1aÍþµÕ£?(î\95S£$¶\b\1eV
\ f\e§¦\84\10vÅì\kÄé·p&¢äÞ\91;\1f\93ÅØÛV7\81,]µNkGBA/iu³\87°2ªS8\83Ë\1f\82éÖÿÚ¹~ÓκÛ\96©\96\ fj\10-/·?Ä`Þ\ 4¤~\8bF,\9eÛXK@þ\91\10>s\Çlmï)\9c@ÂÆÊ¸.\98²é·²ß\17\18\8cç°~\81ãq\84ôPÅúÊmä\vÙû¨k\15XÜa\ 6\9f\7f}\98?W7\98º¥u8<bL]'n|\812¥u\a\16V¢è8(òTóv°v2\ 6Ä$äÕø       ï\7fû;\9bú&?ÓÜß\86`ýÍïÇs~4»\9bæ\19ÍÙïOÜÞÿ1VÆ\ 4»\9c:6sY3êÆàíW\1f¹\9ewâîgò6·=ª·\9dÍ\7fÕ±ÿ\9fsZÛhß<»\9a¯åÜÕñ\96د».ø)6{\9a1÷]Í\ 1\86ýw\9dÍ\18\v©&ÆYz@¹\#¹\9dÑw3æ9\1dÌÔ\16¼næd\9ff\1aîeñ\98ý½Ì¾ç'yÓý&dÊ7áЭ:6\ 48\b\e\e<àq®æÖóK\82´ªü\90§z«Ð\16ÉæEW\em¯cv[mwÌ\r\97{U&}\8f& ã\11Û\89D\7fµ\13\ 4[d\8b×Þ¼|
+\8aÆéwjÄY\fK|V%ü\80ϲ\89¯Åðñ\12'TÄí\95"80h­ÙnO«.0\18úâ\8f0\87 \15\ìW\9a 5\9e{Jî\ 4¨¼ÀéFæ\ 1\1eeFÉ·ñ\7fS@ü\aÜ\8c¶2c¡,\94©|L\8ev*¹éÕc\ 3mA\96y\ 2X4,9\1eK6lå]ëbýg ÐÀ\1a·iÅøXûh\7f»5«ó"ðÞ­ýöö½\ 5°Bß½}¯:1\926úïz\1eÔæ\16x÷7Ç\ f&¼|\9c¼\8f\9c7\ fXpËüú&)CF0:©\85Ñð;A\r&#\88ý/¬\vÚN}\11±/ãÿó¾·Þ¡x\9bßâ|ê(\93$ß.1­ùä¿è\9c\8dl"O§´}oXÿ\13åQ\ f\ f\e\8e[&þó¾1l\9bþ£\88Ù½éÉÊ_Ï\93â\16ɼû¿ø\16ɾ\81ÛW?Þ9ÛW?ß<íµÊüãÿÈJS»j\8b\1a=äúTc\84\8ctìûÎèÇåßnÚ»vË6DôÈÇí£\1cò=â÷¨Æª1Ñ£\1e\85\18ô¨Çå£\1f \8c~\9dý\9fo¾L¼ý\99Ä{­ú\1ea\1eõ:=äýj\1a½¦õ\1eäÿ\83ûñ²Ö\ 19ßÕ\8e{÷þÿÃ\1fÅ«å>7ûñöHd \86Ë\13wí¯³\9f]\9a\8f\97EW£ÞGêQîÿúxoÝ\8eò7h°W¢\ f±G½\1eº*ß[Ì£bô{ØävÇ÷2\ 4F»Û\86׽˩ß~Ã[á!\ f\ f5ßäÛ_ñ©6¿÷\85c\8cÑ·Á¸m\83oʶo}pÚú1ñ¬\8c¿\85b\eÎa\ 1þ+\1e\9føcþ\ 4T\8f\8e]¹þ\ 6±åÝ,2_Åb1»÷ìF6ioø¬6_ìXv¿\82Äïø\19<÷ð,-ÿ\1d   0ÈFk\91d¹ñ\871ò±/ï\9cE\8coãlÿüg¹CrÜD&oä\17\1f¾\ 6·×û]¶ç\0þªZ\r\9f+ÍïºkÆ©¥ÊuY^_\1fÚor\1e\a\83õõ\19L\7f\9f\88ÿ\ 2ã¿ÿ¢ã¯ü¿¿\97÷ÿ¿²½8Bå\ 1âû~uHêÃe\ 2"ש7,=\b¹\90^3½O\95Õ×\1c0j«u]]Å#-\ 4 \19ñ\92\87ÿ7QKQ
\9e£»¨ïê**4µ\1aj\8aº\8b\1a\8bJ\8d\95FΡz\8dÅFKÊ\99j\99\9a\99ª\99Ê\99Ú\99ê\97µ*ÔÑÔõ59z\9cÍNn¦\96¥\96\95\ eÔTéjtÕ>%M]M\894¨§gR½N⥶\91æ\92[I3¤\9aÒNi't\93ÚGºEt\94dÍмÞ\92\97H\ fF/îJ\19º\16ÝsDì^ñ\98ÀûÅ\1d½ÚáÛnü¿t\9d\8bõ\\ f6\9bÁÃÿñ¥6\7f 7\a¨Á\1c\8bsÿah?ÃÿàºÏ\82\8dÿ·¶^\ 6Þ\ 2\9dx/\84\9d\7f\86\14!=Â\9d\9b\93ïp¼\83Ä.à\99üÎq\11ÿ\90N¿È¬­òÑññÃp|\82(\ f\89×ÿ\r¾°ñ¤¼ã\80\18ÚA\89d7)~ba\91Õ¾ñ³\11ãÅ5!R\998SÎ.\9b~\ 1è\10^Võ¾=ºZ5\8fó\v\15õ\18õÁ!ø\90n\1d§\94=<þPDý\1cäq\83ÐàD\1f\9f\85EÖ#®¸îæY\12KÐq_~B56EêÝ\11\ 1¨ºá\ 1K4Åõ\93ê·\8dÂøÃã*ءǸKGÓ\15å\81Â\92GC PAºÂ.mì@\ 4\8c\17 *4Æ\13
+v+y\89\e5\1cHz»]ìþ\11\0\8bº\e\82î\19;|;\92»Rl è\9f\93v½ä³\85\f\80\akw\84@°'4Ë\eÉ\ eÑ\96Y.\93
+=¾£¡Ô\ 5v\11\r¦eòdhïËÑ^\98åähý\8bZ:w\1dâ4\84\r\ 6ĸE©\87\ 3qíÍ"\12îvç¥K\ ×Eý´¦Ý\91b\9c$ÁÜq\8c\9a\ 3T¬#^ù¤\90\94\08¨`°\19FiæC\ 5´C\82\ 2\85NY\90\16ÀBìú¸º\1c ô\15¨ÐÇ\1e \1fäv\ 5\1fJmÙ\98\1e¾\r\a\902jå²S\vLd\b\14Å}JȽç1\8aÂGÏ\8c\8cÿæùîT\8bnLG°Û%ô\a©\1e úÓä\b\8e\1c©Ëóm\86\b¾l\897\0±ñ\9cdÙ  óútBá{ï0Óê=s\97\91ÛrÝnwèpnu\11\ e\81ËüÙ\8fpè        uÅè¦\91·áðËÔ]°m\9aÎõ¹¨ì»&9Ú\ e9ÚD³jýÔ&I¬P`Ù\ 5ï­ED\ 1\8f,2Ö½mhò\ fVȺ&\90Þ\ 5üþ\ 1\1fF.PØ1\8d\88Þ=c¥ÐÅìó¸MQ)\ 5DGÂG¨Gâ6i\91\81Q\83G;ÀÏ÷°Á\12úêR\9a\8b§\ eNÐSÁ\1c\9bi#`åc°øk°\1eó}\127Ëy ÄUý+¦^7L\vË\0 á\eÐ\94ÛèÑ\1c-%Ö¢1;siå~þ\ 4äîß\ 2ÖÐ\14g:àí89\1aw\ 4ȳ«ñ°R\ e\86¿¼ÝZÓ²á\9cèìbFøö]¥ës\17\19Ñ)<Û_àI\12é¶£Ó\rÊ\fÏL¿A.rÓî\0A"h¦ù÷%ç0'Fµ\96¸?å\99Ü¡÷\8b!±YyþH\114M\1fÓ9\ eÓÏÈ\81\ 1k5ÞLµ\ 2\81\10uÒÍ\0M\9b~TËW&âöU\12*ìk\19ß\85jû^xðÞ\15¨m\91²¦cù¦O¾Lµä6PÇD\12?Ç hwÒ\99j\1dêfPß=øñ\ 4\96ª>yóYãïGk¡8\ 5\81S3\1d\16úd¦nþMr`b«ÝA"#?\88\bµk,\82é9Ýñ\7f\e\11\8c\f»Ö\8d\9boD¶·P\10\9bù\95å0®Hþ½"\18\10\98\18Ô>v5\18,/õýC¢Ò\8e.\ 6\1d \83\v¤þÖI\0Z\16\9aA¾Õ¹`»\94s\7fÓù\101ÀN\9d\1c!ã²öðþV®Á \1d+|ÉU9û-¸°Ú\19\0±L\86<\16¨w\ 4\v5\9a#\97à\9dÐ÷«\ 3\16v\151\9b\r+f½¤Ô7sà\1dâ1îXê\ 3>\7f\8f\1fò÷Î$l¡Û\14'Fó\8b#Ô    ?{8Öb4y\1aSâ"\ fCë-ÇÏC\1c\19ÏÙ\9b\83§\9b.B×\18d\ 6Ø'\1d¿U\ 5\80\8eä\89ϵ`×\92M\8dvd;UÕ\9cÂ\8aRÊÈDN;\9bø\ f=ɵ`        Æ\98\ 4å\1c\1c:ôüLÌ\7fYÊ'm\97»ñáZ\ 3Òó²Ô1(\10   AÆùÛ\800a\ 6ÚÏ\ 5çÂC7ÍÎ\ 5\ ev(Cóü{õ¾¤&Y\1a\80L       ÒBóTY§¦¸\ 6Ø7-rtës÷¯Ä\19÷:vàqñyõ\7ft\87ô\9bÿd\87\9c»\90ÿ[\83ïÈpØ\91ô\ fÆ)æÃ\1e}TZÌ\15êÃAço\83å\85\ 2ä²ÒÔlÂ\89\1e\14Tð n>¼\96ÔÔú\ 3TD\11ýhìYçã¯v\1e\86o/B²é­j¤[\ 5\ eÞ\91\8cÝÃ-¤
\ 2çá\13\13\8e\93\0Ʊ\0ºæË+Y·\96L\97§\1cÚ¡Û\16Îl®-->\86o2Ö[\99F[\aIY·xÖV^âäë\ 3{ÿ^eÍ\82Ï\ 3 \bçi\81 Syi+ÑqºÉÌÝ#Ì\1eè\81H0\12\dæ\8eÈ@ïJÿ!\14\ 3\fÎ\r\17\95\89\vÔ\9754á¦ÌÔû©\11\86/aÕµéÃÝÞÒî«[!Á\eÄ\93\17Æü]\9d\86\ 6\ 5\9d¦\a\0`\822È{×\10\1e\89hûÂ*.\8fwñÆêâpPJyr#RédwIÃÙ¹L8lì63 \ 1ØM_R©\9a\ 4\83$\9cýl\ eIIÿ2\ f=?«\83\8cQnV\86\7fªy\9cæSZÅmX/!¶)¬\9c¢©x^NJ3ü\b_Cî×\94-\ 5á°\9b/\91óÁÀ\18(\82\ fÝ\e\15ß8\96\1f»Áâ\12È+ä\9eòé\v\86ðT\12ç ZÑ-çhõçfút=ì¢Q\89Á\13[×'\18¾É¶[]Á~\17¸\1a\18{×G:£Ú\17fÌQ%Ñú\ 6\9fÔkocúÀ"\82¡úÈ ^¡óT\0 ë\êe;\96×&¶©©Ü>»EY\9dß\1c´\17\86Ã)D\96F¶<î4ç|×¹×D\v*ãåªØç_­\95ͲPcdorÉÓÆ\96»Øp\97*\7fÞH\9b     ßpzCÿý\17ÌÝÑ\7fáÞ\7fº\8bÙ\ 3\10ÙnçÒb\8e×\f£\13:Tä5~ÉQ-èhõôº#R?ÏÏ\9a\90à@5\13\ 5\1dö\ 6£¶h×ò\9e\8dh\80i^T] \92Psè¢\9cÒ(¦¾ò\8ay\82¢\9e\13QNjQúY\1aë\9a)\95\8f\ 6¿XYI¹ðá\96{_\18ì   ¸4\9e\80$÷h$÷`$÷^$ö^D\9eò_-CFEúáëÀÃ\b\93¯\9f6)9üÛÌæ$\8b³£2Qè\92\80EhÅ\14\94\9c-\bÒS6$¦À\11/$Ö\vò1©aËõ¶\14Z=x«zÖ9Ú#U¹Ü\19¬\a}\8b\84\1dj\92/Ù·\ 6«w·uoÀ·\90ô\8e@\19\rñ\ 5\vïA¦\1eöhbî\ 2Q±Ù\10úe÷d\1eH\12\1fN¾²\eEXv\1dü°\957ÑCM\9cÈÃ\eÏï\83w¿\8f}d¿\9fb\ 6qôN¬#<þ{4¤n\9dº\91k©À}­\16\9dI¼T;\870e\96ß\16O\15C\16µJ|¤ÜèFþ\93P\9eôùTj\18êè=¢p¸.\82;'p]ç°©Ón`L½¶¯¾A¿\f¶w\1aoÎZ\ 4\99°Í@Æñ\aÍOÐ\8a%#S\83¯-OZ^\Ó²ò¨XÔ\8cZ\80*!\91åU\ e\ 2ÿlÝ.çrHÐÐâèRfð\ eÅÜ\9f>M\rÇ\9d®\83\7fTÓ¾GsX.e¡¼ÑâȬ¡;\1a£\aà\ 43bHÃ\82¿lß\1c¿\9dÜ! á\97\94¢"\87`å¦è\9eÆÉp }\99h\82ï)\ 1\96\ ePý     óäÄMYà~Hf>ÉÛ  ]ò\84sY\ 3|]:¶ÄÓ1¹ýðl\91\94\97s(\7f\82\80Ûvå&æAÅ4\9aeÀ´äFþÃ27\82Y§>\88ììè¨aËè\98  ãT9%n¿Ü\ 6\ 3r/°\9c/QÊqx
+c«\8dN0µÏ\18tl.\92Ôz¯3£ñ\96*K\1f\8bÔÒÓ»&\ 2úâBñ»óô-»W@xP*²\95¤Z\vj\15¹pÓ¤F0ɬíS~ê-³Ä\ 4\ 5\1f}\89ܧåmSî=;\8eݳe/{5|¯`µIM5é=8ïTÅ^ؽi¼´ôá¦%\98¯5*ª´âí\9f-dö\17\90ékABJEÕ¯Ö[!²qþÙ/\ ei\aÈù³ù9^Bù\ 6s\9b\12l×^Pl×`Le\8fg1ãð\v⡯\fD\15\9c\ 3Õ¤Ò\e\84þ
+ëZ\89U?n=8å\e·%Ül6³Ò3¬\85ç\8d\16\ei\1c©o!}\8eêç¤òÖ\93\81vá|rb ^ò\85m\90gEà\15\8f>\93-ÌNÑ\9f¢iÔ       0j\ 2àçÕ·Ro©\ 4\6è\8d\ 2vDá­\11±ðèr\96\16t8m\94K|é2BZ\8fG¯;qL\80X< \19ÌÖ\92Ñ\17\997`\980i¶m\1e)Fz¥ôÈn\91̺,ãW,{>âéE4\8dK\7f\1eôDéкp.xJÿ\8fÚ¹é\9aâ{Iècµ\91 ]Ú±º9Åb|¹¥bsà\893\9c\8cBh\88kç8úQt\ 6ê´È\ f\848\8dím\91.\8a\9bM¡Ò9ÃØ@Ø5Ý\94\19\93\1dæ}_%Â<ñýA\11zVt\9aHúN\1eóIæ\88]¼gIÇÇÒm^p´\9e\87yâIÊò\o\12OÖA^\139~\19¬yÄñ$üÇ\9fßâIü\ 18z\81\ 1\ 1È÷¯ZЭ³Qo]pIXC\17\1e\96Ü\0=ÓÚoî2\9aì0×3²+\11®¬h¿ærÊü#\13\80\18y|y\1d \12Âü-&\17\82pìQJ_Ï8#FvW+Ý\81]\9c\80\93\8bþàc^y¿ï\ 4ÓÿÖ\ 6\9bÝ\ 2h;é?ú\ 1\8du\8d¿Ú    \91 \fkì¤ù\0cYÀê7Ò\7fÞ\a\93þÐ:\8c\8bÿ_õ\81Ô\7fbKõ\81Ô\7fñ(\aó\1cì\93^>¾.I¯\1f_ãÉGf0}\10ûnÈ \7f\99n¥WÊ\1fMGQ\v\1c\e\89³ 3\9eÍ8­ò\13ι(8·Ä\94Òo¡ï\ç\18\v\9ce\90cAã¬\f\1el\84Qýã\9cæÜ\88éA0\18÷\98;2êm\\9a\10\83÷äp\10\ e\ e'\96cñðÍ\81Ê\vi\9c¹Ùe\9fI\89±¤N#c\7fÕpú2 2\1cß\91û\aV5\ 4¹ûÞJö\17éÉ9!ò\bXZÛËc\1c2ÿzîéË\90Nbþ\ 5°c+·.þÛ\a\8d¿6Áýù\17nY-k\1e\ 1´³{ôu­cã\12÷²ºîîQ\1e\1f\85û\86zÝôÏ'\7fKHpîI×\18;\8fð\1d\1a_¹m{Ê8lì\1a¡þ=Õ\17ÇËü\17SY]\8bwÖÓYIfÓXÔ\9bMg$]4|o\16Ïô­mÿ
+ë§ý\97`ßÅu-üWU\e&¬Í\12\1d¦aG \9f·÷¨D[ý«\9f\85¯Uuhº}ý\ 4cËánñ½Âû­\ 2\9b¸\86å×q%&\a&FÚ¥«ìbYëbù>ö]\92ô~\8b¦Þm\17\1dîîêOféw\96G\92\8f\9bCHÎûôyQùd]\1aú©_\85 `\7fà\87\87y¥ù\9dnWüT=å\86\7fêïæq\99U<oÏ¢¨è#\8d\88v¯Ãñ{øI¿fÍ\1fÞ5é\ f¤ï)\9dýOÏ\1d\ 2}ñ9í\ 4¶ÓÌ7ï\91C/\89ø_½ç\8d¯ü¼=\7fý\93®ðR\16Ïo×Ç·êG\84©\84÷S\19\9fø\9bíwÄ\9dȱ×e¬x}÷\8céÁ«¶vöR\99¶ïÛ\87ú<>ÿGêÖÐj¡ÿõ\ 3\11ó\8d\9bM%ý¾\1eý\?üø{ðã³\13+þ¾\1eÿ­ó\91\9f\ f\87¾\r\ 1\9dD\bøýã¾Nå\ 2ßÚ1ñü=ü°+äú#\93S}\9e\8bßð÷þj(\ e\121ÿY^ß¼ðû÷\84\94é2U´²<>þ[3sá÷¡\82?l±;®®\ 618SÎ`ò\89Â¥nÞ\ e\ 2\85¯\r\15:Í£Å/v)ÃÞ<ºñ\ 2ª\8b¼IðëÅXÓð3çY±Á{|¡Ê°¸\1e¥ö\94¨$Nå÷KGm4ø\10 ±\80÷#¡'Þ\9fvÍ}Ð_v\96ïî\82\16ã?m\1fïU\ 2N'lxTñm×Ýë?«\80\aÎÍî\81¨;¤áÁÕì\85\94̰G}\ 4B\1c\11\b7Ñ2| «]³\93ÎgÐþ¿SÀ&Ó\18\93\ eø\ e\8e|£æIÞ\1f°\9fº$\8dkÜGûãQ@ <Îü\99â!°\94\r½ÿ\0ÿ»G\86 ©ÊÂ\97\1f\1a¡ç\88\fGbg®~þ\87÷>(Iþ\16\1exgQnj\9e\ 6\1aûؤv;\82\9eÂ\1aC\e÷&39àV\ 6û$\ 5\80\91àÐáQ¢q\1cg°AØ\8fVL\11\97Éæ\99béx¶\99[]8\8a\b\89[søÒ½\17j{c04_\ 1 ?\946tW3u5úÜø\92çð9ûRÚmªäÈçÚI\ 2ÄiѦ70Ph\94èÚ?t¨ð\87æsèð\87ä#\9f³¦rmEÛ\9aV¢ìõÜ\Ö\85®\8f¡cnô" ÏTqØ«GtÔÌb¯?§KÃJ+HT¬ÌSAðN\93È\8a¹º7»ç%üZ¤2T¬\12Ù\94üFÎÎ\90qàíBÒ´~#P\8c\15¹\v\96\1e»\£\\86\f\99471­\80vðiöl\87òá\7f+\8e?×*\18\ 4¯\90\16åDl­ñ%léÍú\84ªqê\9eâî(bî\94§ì¦Ó¡ÅúiÅÛ1òäP¦£=\1fgá2{\b\1c}\8bR\89Ï!\19U\95mk¸à\1d!\10ô\8f\9d)\16\92IH¶à\89Ü&\9c\ 4Öc\85·ã( bÉ;Õ÷ÒÑèOL\86ýn\r\93íó§Ù<4i\816Jèî÷¯i¶Ð\19\ 3\8fÿQ\99mYù0\8crr\86-{Ø»\10Å\96©¥ÿ\ 6\16<7\94\16Zü[tñÜ\14» T_ÐÚ\8c³n^¤Zøì\89n&W\87?\9béPÃ\ 5Ë\17±|Ô\ e6\80g\93A,Õï\9c\9d\1a8úQbz\9bÿ¶ZÑ>gVh\1d<O\98\95U\ÿ\94_ezO×FñíCGðt5\afÝÝÎH\98Tö¾ø\111\b»U1Þ¢]Ð\19ëG³\92n1\eõ\12ª¶\8d\8fE½¦\99#\8b.©Î»a³¦6ÃiSz\80l\8c7\ 5Ô©\82\ fo\97»=\1aS¢+S\92\16=»d´` Wþ"+>¿C¯/\99\90Ñ\8eË'\19×D¬Oóê¶L\92\83_\0þ#.¦
+\19I\8aÞBN \8b\16x\98\10\1f\12\1fÛ;o\85\1eØ9ÍuÙ¯\98.A\95"~\ 3·\88ﯹo\94
+TÔN\19@\aAnkÁm!\88\9e¢R\1a¸ïáÃ\r\84Æ\93RÕr   iûܰØ{"\96\9e\9b\b\14ß\96Fm8Ò\92ô\91\ 5¼8_±\19$w6fȺg"å\9c\8c\9b9\17Lä^##\e%$oÖô×ë&oÖQ\1f®2Ê\92\1dkºH\94wÄd5\ 1£\97T\8aDzÌ\82¤¡sª\1f½ù\1f¸<y}íe\b\ 5eÐÉ(å\8e\8bÑ\10ûøì°\ 6$\92\11\bäÿ\96¦)¢\ 2í\83 7\ 3,S\83\9bÌ\11\12\1cZ»¹¤pè\15M\93\8d/Ñ)O6MÊ\9aV½KÓÃùf\1e\9d¹\841nu\f\f³þ\8e\96\ 2Ô¥óåS\9c/¡R\9fÁ\9bû'd­7ÚC%bÀæôÚ,=*<C½)ô϶YO¶\7fÓî\10w\ eMAê\bߤ<\r%û>´¦ó-ú<ëÕ[éÚ!(Ê\9b\10èæ\ai%è:Ä$¯\0±¨ßFuÒ?F~\86.¯#Oó&]\16á\86Ýi\ 6J`\90M\19RLI-]z\8e\ e\80Ê1óä\91xrá©\e\9bZ';õ1Ûd»\9bp\1dªE7\ 3õ"À\9bL·ËC\ 4V\9cn\93Ç[%Ü\86§F\82å\80 û\11\ 1£\1cµ\8cæ>ë\9a"6\16õZ¡dý§â\93\198£cU\7f\eÃööLÕÄ-\f\9bÃnwÏ\16þ²n\8d¿¯4å¦Y\97\84±\87\1fL1¸\ flYHs)W(\1dXbÓMõ$Û2ÎQ<6¨ \bÃ~ÕÄ£ÊsåS\8b\17h\9e\eËÅÖ³\91'\1aã\93}ñº\93\8d\82ëü\9e\fk\0\84`2ÖW¨i\ 2¸RJ\9b_éqw\13&MìÃ&_j\9a.f\ 5\94zÔ^®\13\17b\9e\e[\8b\ 1åâ2\8bÛaPÔ%£\96\ e\94\10\81\10ÛO\8aÔ\88Mø­¯\85÷\9b]fʼ\13\1dcÀÕU\ e\1fƱXe±uz\80jgÜ7|ä/òä\eb\r6\8d\8d(£p¥\14ÔyE/Ä\94];$\85ð\98ÉÊy"y[^÷·C,Ì\8f"ÖV^D\8eÈh¸ò.ÛeNG¢³\ 30Ðî\14P©«\ e\94ä8d\16B*²|\e#~ù¦¿\7f\96o×°\b\ 6 jõ\89\r\9d\88ú\93\8eïG*°\10þ¼ó)*%µv×\91\1a\84\ 5-\8dA\97\ 2Ü!¸ylû8ã.\1f¶tÆ«ñ»6\98\1e\91$\9em\92,1\e\1d\ 6\bn1úý\ 5ô$²ÿ\86E\81\85Ä        ({·0eNE\1aÂGµ\97\89Ä<º\90à\83óô9Þyv>\9fi#§ÿ³l\8e¨ÒÞ Ü\11ò\ 3\ 5\10×ßzÆ\93³72fd"\18\1dÀ\b\18TTG\11\8b\16±A\19\f\8açC1s\ 3%"\0Tµµ\8a,e\15h\8e`ÅÔXzH\92g\õ®­­ò\8dmõk§¨ÚAn\90\0\v \ 4\91 \0\b\b\0\a°À\0mH\f     \9dýû÷ÿÿ{\99\92I      \0\b«VÛ}»¾Ý÷Û¾Þ'¾÷Û¼\rào\13~ûx»ÍÝãîý¼=þ\ 2í\0îÖÉ%\92Hã§qÐ\81\88zpÀ¹äûó
+»`)\r\91±¼¸êb½\8e\P\7fD\89ÌèÇá\11Æ\95TW3üAe°\8d~\9dÜõ8j?\18_eêÅ}\93\80÷\15åd8æ$"y\12i\9eà±\f¥Õ\83­Õ\ eª¾@\8e\98\12\19\84nÙÃ#\15\1cÀáK\8b\94©lÓ\19Ñ1\ eºLx^      \8c{h\ 4\8aeÇ÷æ\18ûjÔ\1eÊàî˪?Ô \ü\9eù]\ 5\11\18V\90\1d\b\91\r¿\8cL8LäfóûóT\10\15§h±\9dðVf7¾\ 41\90\94b3¨±î<\13\80S8\12\18£ô\ 6Ð;Ijª\1c\88c\9e«\90\v\10\8báNN{6:>øZ{Ïï\96q­ÈKùã ÷¾62\1aíÏMQ"H\85\a\89H|\ 2_\93\99s\89\809\ e÷¾"3¥*â2$RÙ\10\8bÏM\a§Ht\rX\97\9aW\1dN\1f\85\ 2ñ0w\rãô\88Ó\86¬\1f=k¡éêàG'y\e21e\9f%lã¸E¿MAÑdû\84½\1fÖ3Ð5ѯzP\142\ 1\8c\98E§å\ e\81\ 4ÀÈíà\11áEßp/\96DíWµÇ\96ê%'\9e\0ªKz\9f\97b\97`E.ú¶iv\bÔL½cÄ©ÆÈ8&ïäbBÕoårû\ e¾Ô»ô2vÖ\87]\9a\97\ 11/þ*_®Åó\94¾{\98¥Õ\18når\0ÏJL\8ef[\ 1À2¨\1fÍ\83õ]%ÚÍ\88ÿ¿\8b ô;ëÄ®a¬\81ôs³&Ô\81±\89\0?p\99\8cµÉ·æHò²\91\91¦\ 29V\896G\94\93\1e\ 2$D\98¾ö\13zp˦x\17\10,jH¼F\8a);\81Ã3iÄ0hà\18\12xäö'
+\9d}\16E¤¸\10\8a.ü¸£ð\81\1a\ 3Ñ\81öãh»jPð\80\0\88²S-6j\95©\10¥Î\9fÇ-^3\81BÆG4§(Âã\9d¿\83<\Îä\rSp\88Ga±Õ4¾¬±-ºÕ6ä\98â²\ 4;MÍÓ°ïM¡Ï-Yãx\1a¦ÆÛV>B\1aä\ fQ\13ú\99\ 5ª\82\81\82¿bÕ\ f\12c]÷\16çy6\9cïv\1f\8f9R^ÜÙ\184/Ø\í.\ 2\8c_\93÷\94î·ñ\86\1cì\9e\17Æ\14.}ª\8c(\8a\ f=ñÐ\bG\a%ï£\83÷ßg!»#ÖÔ\9a\9cç\92\9a=9Ï"\ 4Q@Ûc¬\ 3ÓxgR.Ëî\18¼û÷>¨u©\7f¨v\96Îʬ\8dµï\rA\1d7\9cyϺ\17vøcaA"\96|¸gZù±\aè5\9dâÀ6{¼\9aæÔbÈ        ñ/\86è\97\ 1P\85\9d\916\7f\ eQ\83ä3\9dáb\1d¾£\1d`IO\11 \84Ùh)s*$k\ 5×»¢f\86r~ëº\1c\97¤\18£{\16\ 6"üéÀg\9dHd{Ã\ 6\93\90%)ø\17½\83ÃÇ\f\83\ 5 õ\8dn9"\ e\98äz²Ô\11\8c4MMõ\10ûƨ>\82-lS:\88càõ\8bs\ 6|¦½\87\81Ô\89\13á\b\14\0\8eët\9f\18\91ãW\18¸b\90K\81 C\86{B`=eBÒ\80"\1a!6ý¹¯\120\13\1dÖÈÂ6RÇïMhB{CSï55×-ÞÄ\1f¹vB\13^Mb¬9\8d;lË\98iÛ*.^e;hØâ\r/vh)ò\1c\9eд\18áF\ 27Á3\aÑÂíyÌ\1f,\1a¶n3\aëæ\81\83Ç=3ÀúäÁîÒá\9d\83À        AÍ\ eM\961\ e2\94a\15t\ 1FT\94#k\÷T,Jm\ 2\ eã\ 3Ü\94ä×ò`â\9f\99¼FV4EX\1ey¼dBZ     Éª\0\8d\94o\1c\1a9î,!\ 4 N`v¬\1cO¸k*úï-\1cõ\f÷\b@ØÍË=Ä^£Áz11\96\94þµè\15C1Â3õ/|        ¤zMr\9fº\89ª+¼Ðfç\8a,<hê\10¤Hk\935Òj8\8a!@ULF\ f¯
+!ìó¹\11Cð±ÙÐ\16ßpoÁª>PD:PÓÇ\12 
\8c\88(î<TtÐc&ª Õ \16\1eãc\9aÝ\8cFåÈ\97\91ÞÐÚ\96é-k7q\ 4Á/#X\80\82PB¥\ 5í£\1d:\a×h/ì\196\1cy£Y2<\81¢\14\98·\80N\94'\ f/ËH\16ÀÃ.\87 Y\ 3\r\e\ e\ 6\19|9\ 2H\18f\1fÛ Ac =\16@e\10ÆpTMîÒº\ f\0JD\91Àóª&¨§/\aViy¹Ó+ U­f¨°\97\9b\vÉw\ 1KNÇñw"d9\8f¾\1fê\167îì4ïmÐ\8föõÝ\8dÇ&´\15\7f¹¯\11\98Ȩ\81á\fg\ 3[¸0\81Þ\f \94Z\9afKï\ e¤½i&.\89úuСf(^ömr²Ë\80½,\16=\ 4j~@t\f\08M1¤ÇÆFgº\15jG\93ÚXOnÐs0Ç0ÕÙO.L­54ai¬É\7f÷ªviÖü\7f:§Ù|jªt?ö©î\89â>0-Ò¼îÞ\86w\8d\1fn«dVU½ÏuÉU¿\9fýj·S©ÿ&WôøßÉW\86I{2¯Í÷?üU÷Dø"].à$\v\9b\19\eE\11\1d\aSó'\9fäÅ~\1aÉß­3ÿ\94îè\9dmi5=(j\93\9b\9cÔá\9bDÌÔüôÏÿ\¯Ú\7f5_}YWã»\8fù*ð.çø\12\18U/$µï ;\\8e¹5<Ã?Ã.\7f\1a\8d
+ähY]\86å)S×9\ 1SßÛ¥\11!F\ 1í\15k«þ\88æ\ 5ó\rJ8é¾Ù¯?¯Ì̤r\92¾Ãæúªóo«\96\92ñ?6\85^n´¤Ë\92©\87ÍÈ+Í©76PÈÍÍ<\10\99@ÀòG¥,\80i\ f\9c\ 1»bСyø½\ 2¼Y\18jzáöÈ\r7O~i\13jZ'âûJ×N9BQ\õ\7fvïþ\14tI\8c\9cMc´¶._Õ\855\ 3        Ç7¹<¤B\1e\b\10#\ 4\1f
+X¤Æ\v\14Q¸Y#;S^\ 2BLD\85»³Zð|r\ 5&:\ 3\98\ 1кç/ôÁا¾\e\81\87ÉD\vz\f\14ö\9drÜ ¨ \ 6\85\9e\ 2æ¡"ýsþ»\ edØs#\8fÌóì9\99\10æG\9f\99ãXs'\ 3\99q?3í[(ë£\87ôéá\v\19ð\ 6û­çkèÞ¯\ 1è¡|®9&¬ÆR\99"\81%ÚÝ\ e\88u!n\bç\8fçyªéeÎ\90qÆù\8aÄwbLÊöî\1fá\177\7f\9eõ\86\84§êj~ÕÆ?\f\9dØÞ\97à\ 2ä\848\8d¨õüÇIpèDɦ`A\18q!éä¤`\90\9ad:\aõ\1e½8eî \b6ãÒð\16\1c@¤¦4¹rÔÑ\91\ 2
+3\83ù0\9fºÏY|æ\83\969é+¢â\1a\9eTr/e{\97\11\90å\1c\ú§\9avjÁ¯uyQòpZ\11Xã|õ \97\97$ ¾\f!\8c\7f\19RìQ\81\8cãÄ\14f\ 1 \16aÄþ7U:ñ«¨çDL 1éÈ\1c÷Xu\92*(¸pg\ eÛµ»W?R\95\19Ú¾\123´¼ Ó÷S¡t¶3ö\9f'LüâÏLµU×µ\ 2\ 4[$\9b\84·\ e\0'÷×E¿\ 3\8a\17¬û\19\82\ 6,ÂIZùÌ\9e\bod·â\12üQ\8fq+7Å} $wÜBVEõɼ¦E\83æ2\93\f\8a\81È\ 5;\\97·`\12ßí\85\93ë¨\f\88å0_\98\14HAöítø\9e\ 6\b¬>²@øH\8d@å>ï\10ph{ãà\9eJâÚßr}[ÁÕ\92\ 4\aQò¾\17\15õÞWÅ㾺JÞß\D\8e¾\92¨Ç½ê\95#\86\92\9dvKܰS\9c\9a\81b\8fÊÃÀ¼bQ~óZȯW\89°ùÜÂìº\83\8b õ°ÔÍYÃÈ\99WXB/÷ärÿn:ÉË\ 3(a\81\94\ró\12ð0´nàb\83\89\8cïmøy\11±\ 4\85×µÅ\8d¥CÌL\1f²\8bÿuÆ\f\8c\11gâaÂìº\94\b¦ÄO`\80&\1a\89\18%ÂF\84,\b>)\82IPè
+\8e`\89òÎÛTñ\ eÒ³Ú«uø\9dsÑÕú\\19\ 2ÚL\9fúGX²\9c\8c\9fä9\93â{lh\10Õ\1dá¥\81Ä\13\95\1e\83·ÕvÇ!ÖÏ\a\ e®¥7FxÞ=×Gttc!0õ»QL\1fÕ
+WA\1côIüs(
+ɺ \91YR%        +@%My\85·åì'¬$À\83ãA9\1f\ 1\91k\a\97_W\1f\rHæ;m§Éþ3\15\85\8d\99qï¾{\8cï*^T\8bOU4Jú\13£á'pá\10\rU*h{²\10beïáâ^\9c8\ 4£å¬mÖµ8\ 3;ëGV§\94ÆFç8~\9az\11\ 5\19r\17¿®H'ùùh"4\7f}?1N«?VlÀ\92÷â96\89\ 6Q.$    ±I\14\7f\9frF\14SÑã~U>Á<rÊ}E9\1cd\15þÍ6ñy\11æä7QZßâòn*òxI²S\93;\¹õð5\7fëz\r\r       ]§é_HÐô\1d>4"ú?\ 3\ 1)`\94ôÝx}x\96\82ù\9d\1aê\16(\ f'"\1c\98çìW %öß\ 4\0&\ 1ª­KïÖ[U\ 6ö\v\97\84+\97ü¢\98ìñ\9f:åð÷üµËö7ö«\95Ãú´ÛïùK\95Eÿ\17\93t\88¿Ã6Í¿Ù\83\ 1tn0{\95\18\1e\7f~L\ eÕýW[KB9\96â\85\8eT%âú\16ó¼\8bÃæJ0l\17ÑÙµÏé Õ¿¹\86Äf_±îq 3\90\ 3U9\11\88O\80\9föP\9f\ 1\992ß8ÝÄÿ¾D¼?q?ÀB\805°G(Ç­Ä\80{E\ fURË\9e²§c\9e\ eæ°\bâR\97ÞÌ\1cpxÀyÏ.ö·\bÏì\90\9fôM?ÞZ\11̱e\8dØÃ´¿oÈ£Îø¸¡\85,\0ö¥\9c=ûÐ[\8b³ôï\91Ì\ eMo³\86Q[\ 4a\94\ 6¤HÀÀ\97bIk:v2\18µa\97ÂÒÏWu¾\1f=\aóS±\rTã®§c[\8a-v1ý\ 5×\ 3\9eß:\7f\1aáþTG÷.¾\87\16ÖP+d
+~Èúü\10\83v\8emxÀ\1eÖ,d3\8b\1a»\18\e\9du\ 2\89\93ëÚ{Â1`¾R'\9612E/ì[Ð>²WØ\ 4½ôÒ\9d´Â\9d°\aþ\1a¥>y\95=\87>¿¦\90Lî¶
+\189j®\97¤ì\ f÷ñð4ìh\ 3\ríA\92Næ¯\14\ 1eýRxÁ\9a\13©C8Ç»\1fjº´%éèXöÊ|ç\86F\19sìr\89\15Z\8dÒ\ 4\84\95\ 4¹°%Ý"wÂK²\9d  ´\92Ê¥}];\16\82\95ôiþRâå\1a\8cî\7f>¯Dɽ\ f]ñ        ~µõyA
+ô%\95\96\18ÜÂí^¨Â\8e\9d\ 4\eÐø}\98à`è\fq»°¸\84|2ÀÂ\90\18\96hÓÃÌ\8e\ 6\1a\80Æox7äç#\10WÙ \bcüIÇÝ!ô'¸Ç3¼\1dNÛ·\12#=ág\0«\88ã©Ü/³\91>\88r`1®\1e`Üü\98\ ep]\v±¸\96Ìa\8a= Ðêÿ(àCÀ\a+4\14>¨½\13ï\v«3µ"ô5Πf5\ 3À\97\1a\1dØdÆ\1c~µ>\bk.f¾\9cq¿\9dË\8a£åØd½çYQ½F2x\90Á\12µ\ 3=\ZìQÄB¨n̨®\8ar\rªû¬+Jvì\rÿ\rN\v\87þà]\vvE3ì\18#mÓNn\7fÈ\87VÏ=hïÌUlëÞô\ e§´\98'YZmÐÐ\ f\86º±MÃ\ 2·\02]\19\fÆåv0¼Åô¾\10[íJ\81\19æ½/\10ÀF|o53¥fív\8bw\fÑ£\8eNB°\8a\vï0m\\88\1fË=\94E\90
+£¢B\830\ 2,áÖ\ 4EÒë3í\vVìiç¸\ 2`+Èxó«HíX²\ eÐqR¶³[u<¡I&{¥Aâ[Ý\ 2cC\ 6á\89\88\1e\0\rÉ~h$jÅåÄ\fÝÁY\87\8e_\95\10]Ùµ\96\18\f\ 6/GT\98\10Zï.ÕY̸à\9dc\b}\82Ai.!#s\9e¢3µü\10\b\1cóæ$­i!Hѯ\1f\1dàb\ 4sòÄ\8euSpÒÆ\13Cc7éDÃò¥df«\17Å\81útýO\80ÁxLqëª}Î\10Àe\84Ãû\ ff\9e!^\f\89\88ÊoØa  D\92\ f\®Õ×W¯\bso\99Ó\ 5U\80FH\v\1aë®åó.!\18¥¢ª,n1\1d\8a'NY\99EéQY9\88\9b\fn`S[-ç5;Ò§\9eÞsSº\84òü¾eÑÊ\8acÉÞ\ 33Öà!:×p\ 6ög{ÜçÓ^Y_óó\1cÃ\87?\10\91\817R\9eðäz\19Ý\ e}kaÑ\ 6¡\ec\83SX\92[k&È\97KT\85#0¹\95\9e\87\8e%õÒð;ÿ´\ 4®ôÉz`\85z<x¥ê¥µ!#§ø:ßúàÚ:Ý·ú\9dnøsY`º\8f\12c\13®g~gQáw\7fK¨ú-ßÊê8ÍÜWQè»+'Qæ{+'QÿWeòº\8fõn­ÝGæn­ÝF÷u\15Ô}gedê>\8b²ùÝGÖî­ÝG!º·u\1f\17snê=®ç\9cê8G1*\7f=^N£Â\1cÊ-\1c_öº\8e¯sÉu\1do\eéu\1f'Ú;wûÑSÊ/\9d¡\ 4\8eñÕ\94]\93¦8K\95\84láþ[Ö\8b\a½i3m¶â\14\ ec\9dbyó\18~+=a  \ 1\18xþÆámZ$­\béÀ\95ð¬\1d\17æî\ 2K&Ê\1e¼h4äâÝл&`\1d\82n\90»ÌjÝàx\93\984\9bÐô)Êî\r\9fu\b\9a9á'Æ )æÊ![\87ô©Üí\94,p(P¼ÀÎWWtóqP\18øh\bfÌs_¨µI¿\1e\9bÏ\8a½11áÓz\9bs\10o@:l}¯Mq\ e\9b)·1\a\fį\19qSK\8c\1a7\9cû\1faÐ]Ãw\ 5½ßYÆg     J~\9cºÏ)ѡԫf¶ò°yÿ,\87äî\1fü"ßNP¤Û\8e­Pk\13¥ÞZ9 Ihò\95\ 1\ 19"\ 5\9b\92?\rZ®HÕ'á|
+¹!ãY²\7fz-\8c\ 6tÕ/\82OV¯\ 5¡¼.t\ 3Á\80f\1edd\9d\e\8e\9c\18\87\ 3V\ e!ô³«(\ 1\97údïkr¢JÛ\8fH\9f\1fm\17\98y[ræm¶Ö¨ øÌÓ[r\87ÆWö[r\87Âgôí\88\8fÂ}\9d\9bMs\b\7fyo¢\7fò+eÈ\189:0\83\v¸è\92&°p  \82)k\11\81Ûµ\å·\1dî\ 2J©ïH§ì\80\14/[ Z$¦\v\17¦Y\1cç]\ 6üo\8e \b²O¢íÃçÒÁd_
+\9d\18\90ÃqþkÖ³\8cÊ0\96'uUáI&¥Ý°
+\8dÄ¢y¯~Õë¬\9c¨éO;ß\vª\9bÓ\19WÖÞè\ 3\ 1\13¿¾fò$DS+Ã\ 2`>l ôÀWÉ*\r\1cr©¨JÅÀF=æ>¬    )p]T\ 4Y)ñ\r`#\8d\9aL|\15¯\969{\98\9dJ\a6\0\1c\8bª°¦$Ä\9cFHè#\f)`\80ÊqóHÜ´°û\19¢Â\96B\84\ f{
+`4yVÛz\87\94\ 1\83y\13\19\81\92fêK\80\f´Q\v\ 6ä\85\ 1\94Ñ\82qèçe±(\923¤¦Ù<\1a¥\82\19ªÇIj\vA\eàQ9×TÛön 9\8d\1c²Hmj²Ã15}3\83\12R¡âTÁ2u"D+âòÈ-\19\889*cé8=R.\9bpÉZ\ 4ÈÒÑ\9dÀp\ 5\12ÀÓ\81\9b\ f.\8eàO\ 3\87³ÁZ\80\82\82<M*÷·wp0¬3ÜqÖîP\93\80þn\v\12ËÛ\ 4À'%\94\8aX¶²Î\88¼\11¦\ 4\852'\ 6\bGA«8A\ 25hyyv\ 5\83ã\8f«<)´sâéd))\83\ 5YÉk]JâÚÌää¦\91¢\98\89Oý2ñ~¡Ô\96 0¹HtÁ\82Vh\81)S¬m¨ñ6*t¢GóS\947õNé¹f<ÑÕÙ\0}£¡·è\86WxÓj¢ ©\802*:oñ\1c\8fý®ÃE\1c\85S¢*\1fIZb\98«ë\86ÕÏY8mÈz\17ª\8c\9dl\16\1aÉÇ\9d\19\fæ\1erOõ\1e\88Cd\8f\ ez+\10\ 15ö«\92\91\99\r\ 4f8À\1eÓUl\89#=  {Þ¬\14\97Ps\ f\0\15BY[XÓ"\ 4\97ã"+PßD2ÙÁ\91þ=M-i\8c\87\97èF¬óku¼ui\1fÛ\96\12'\ e\9eÂcqV\ 6ñÚÌh\82OÜ2Û^\84\88¤O\11\1eÖ[#Ö\9e\ e\19§äm!B\9fÒ\85\97Z\8a\ e\88ç×Ä[oÇD¯\99\84bùBE~ú\ f {>YÃþü%¢\vȾb5
+\ eÄER\93jÄ'ð+\95]e ×\82\97%\9eC,c¢«Ù\ 4\93\9b2j·\0\97¼$-\81ù\8bYc
+\9d\99³ª\89Ù$\8c?\7f\96(wǪ̈\ ej¯ù\¸`\98¿Ü4E,+#\98R\85Òã\15Ä\81\fÕ0\18\83(LCñ¯?\8a\rê\19lmu\94\19ThãFlùxêÈ1W\87à]\86|\0ªWÉ\91Y+ø©L\ 5(è,DX±\94rÌ]ÎZ_Íì¿Ü½Øè{/äÐÿ½eC¥\0\ 6±Úæ¹\88­º\ 5\ 6ý\rÙ%éÚÃÓ8\ 3\8b\9cï=l>\ 6yÅp<ç\12£Ïpyðu=ìlQ Ëo\83÷­ Âή\87\12q>$\18W\17\10л¥ËÛ\85
+xu¦i\1aù\99§ÄöÄ\89N~\93\9eá}ý&ó°¸ M/x³\94F\8d\ 1¤Ù\rL\1dX'+&,\13õvV\93Þ
\86Ñl­'¼\15\9f\rïâs\fH\9bX\93â\ f6\¹ñ
+\84úÍ\90ç\8b½vÿö\fZnÜË3ìmM\16ORYsM?K|}Yz\8dk=\87b§«\10\8bIÈu%_`º\94ñÂ1hª\13ê¶!\16\8a¶^\ 3_\1dÓo\8b\19\e¯Ù\92%\86¶Ö(\7fïÀ\8d|¦ß2¯\8aÛýé\8aöÐ\ 6\12«Ú\13Míÿµ»ùý\8a´\ f®)#3\9e©¾éìËïøy\8d\8d¶Ø[¶6\93anØß\9faó65\ 6Ã\9aØÙ\r\85³cy»C5®ìÍ\8d²Þ\9b\81°ÿccdö\16Í\8d×ûd\89Oo~FÆù\ 1·\18\92\8b;hA+qà\\95\9eËß!\11X        {n\0\86 ºÊmë@\8d\94\8d5c9ÝÂ\ eÛm²\ó\9e´ tÖÁ\8epÿÚ\9aKö»K³hà      \1aÚ\13þÒ\89:d\15ÉY0µ\väh@X8!I¼G6\ 1¸9\143Z\97 V8\ 1ö9«"|\8d\81{\16P¤Õ¢¿\8e\ 3ó¾Khú\86!0÷­B\98ßÿ\96\\9d\9aË×ñÿê²Ç\ eb\92Ç+\94\16>(ä^
+12j×Í\ 6P}rÑ
+Mb9¶®\12\99\ 2ǬÍ\16\ 3\rÕ!\9aÛ¹\f\ 5gªO\ 2i\ fÛª\14\9eØ\97\84Ozé\7f\rÔ\97¸ûôý\ 4E/æ)s\ 2\85\1f¡KàIKìf\95#q\5/\8b\83b¥þ\17Kë>\85.xþeV¬Ï\85Ïô:U\1f¢\1cÖ÷I\95     \97\93I\9f\v\108L®\935\10q¡ñ2¾ \90nf\ 5Ïq\81\vú\9d\9c|kä
\86\f*oY*qÕ\ 2\9e\1aþ\1eq½_X\88Ã\13
+\1fî!\19ÝMz9½\9a4»¦\1e½\e¤µn_é\86\88
+F)\19ø6\86\1dG©ù\9d0\17Ý\1cÝÛxÊ]»\ 5¨\88%D6\b¼y½ð[À&©ÑkBÐ\84ý<Xz\1d\ 3â       \92\88W=ñá§ù¿qDÈS¨i¸ß\8f媦ÇI\7fI½dǧÇ\ 3\ f¹¥øbñ\82Fê­=Ƭ/õÎ>!ó9m#élúõ\18\14\1e}N/î}ÔKu/¯ùøÕ8°SÏ®f{
+\10ã\97[1\80"gxH\8e\15\8bc´Á-\88G!Óåæ"\16,½m\83ï\90<ÿo\9c¸§à_È\85\9c¾j¬L,GK¸a\r\89±bÄÇb1¾ÿh«aBâ\\18=\957¤U\99e\1cÝÃ×à\85Ç\1c§¤\18l=1³\rr±êób\13á°!\93Câ©Õ\16\80u¾urÝ\86\1câ¾\19òMüøgúË\83á¿ÙÈ\9cZuIÂÜ\93¬\ 2Ånñ\96\9b\93\8d\12wKÿ\84Üz\14\9d¤â\14\98\8f\1a\9b\bð9\85i\b\a`;H?\94\ 1c?\®|Z=$\19a\80Çc®<\98\84,ûÅ\86pq¦\e\88Î^Ç@¬¾ùì\ 4Ïh¬fÖ\81\85\80ݲu[Ãx\96Í\16Ò¡cH\9f,DÖfÌ6òâh\95\8bÒ\1aãÿ\8aÄuI>ÉP§®9W \16\9e'\9d\86\80â2\13°ùQ"\92,縫²l :\84î\83PD_³(7KåÃ66\81b\95\1f}IÝ\aºF1é=\19n\f\82\8c\ e¯%\91jóÈ\vðw\ 5\8ax#\v¯\vÀ\98Zos\10)¿Ø\90\82Å\84í\98B à´\ 3B,!\8eh\18\88®\99\14°äÂu(¶m\15\84üþK    Ï
+ý´ñ?Ðeú§Ë.\8aXQ_±ä¿_$eól½\84\ 1Æ´M ^Ý\ 1ù(\a$°m¾øWÌ|EóU¸·_1uú.R\96ã¯Ñ|\1e¾Ò\fߣ\19üiP>uPêð¤s×\99\18\9b¢sAe\r\19Þl\82ÝMV¸º\9f\ f$jxýD(Y\88жHÙ*d\815\1aã=\1f\14°ò=%7Ï\82½Û¿øtJ®\r\8axíu­-\93ÌþK\8b7¨1\10       ê\93ìuöÔ¶Dhÿ\0+°À¿kÑ£ë\13òu
+ҨѣàÄ¥Sw\8b!xmlIïb»\18xÜÛY\ e,ø9¨JÃ\9bt&\19\1a|IF\92øÅW®Ô[B\83F\8e==ç²\ 43¶4÷\7f³¬´\17ý¡rgt½`X\98Øw\91.LáÃ\ràg\8c\ 6Úë\11Ö\ræ\ e·Dª\aR\80\00÷ç¶è\ 6g\17ûA\80û:âÁFÜeï»Yß\19\94\8bì:$QåØ8GøFRÌòM¥®¹8ùkÃÖ\12Òoº´H£Ä0oáË`öë-\1c÷}-\83}zD\8a\ 6é;ã\×"\1aÚ\\85LäJ9yo@\eNùR5\ 5fKh¨Ò\ f\86Z=÷ØV\96\v0Ì4@³\11±Ä1\1c!H̬\ fôÙÔªÉ\ 3#lvÄ¥¨T_N\16\87ièQ\9d®\8f{ìXàøf\10Ë
+$ï\1a\87êzë\93\98ä\11\9búb3 èkÜ5c\16³¹]      \14\1e°\1aú\e rÇA\fö¦<\9dþ\1aå\aøôj¼\ed\9e®¨Ð\10¶ß;¾IÉ4\95\16ÔãDh×'\97¶åG£G^\9e\95q\0\9b\835QËt×äO\ fP\ f3\1c\ f\8d­%K9Ø\16xX2¦\fÅæuFÍ9\81ë\98\80\bÛ\87Aøt}|¬j0\1cÐÅ7}µ%½\99]\99\92á\13\9f\8cD\8c\v'ßê\8d\8bÜÊ]-¹ì_\11\97µ\7féØN,³\9dª  \83
+]Ë\ 4çéí¦
+\82n#îS«0U\80ß\8dư᷼ùª³\ 1=µæ\ 6\165æ=0%ø\16?\84\ 4d\1a  ?H\ f\97\80\87±Ô\1a\8b9\83gXý\9c\ 4n!Ù\fÁ\91õû±\ eRPv\15Ò´\8eQX½\ 30U&S\ 5C0DS\ 5Ú¸\93\ 3ö\9d¬£ÆÛ´< \ 6D¡3\b\97¶å*\8ajÈúmë4i\93hS3\83\86k\83Vý3\810AE\8b\f\ 5+r\ 3\142IU¡I§\82\18T\ f÷<Kv\ 5\98\10¡p×¶\9a\0\v\8añ®-O\9f× \85\8a\1c[\PEY\ 2p(ÌH¸¡ñÚã\12Ȳ-aÿÑ\18\99ZR\81p§¡\9a\13!òºuMÀfê\ag\ ea\98\b£ØS\fà\14ð1Ã\89¥tç\ eÜ8Ò\ 6fø^¤á&\95-\8d\9cÂ䣸\ e?oü&\17&Jarf\1cÂæÌÍ       6¬Â\98JmhÕ\vRg'qØh¥üµÃá:À»\93\85\fÙ\95f\17iV\98]t3\v½«\a!\89E\ 2\9f\16¿H¬Âí(\84\8eq#§ê³\v«\81»H\9f;Jvè\890W¤J\16j\9fhåU\81ï"J\95f\18\b\8fwËJ{\98\9b¾#(\85\12Séí\84§Ñ\ 5öq&öIÌè¯a-\11l\8b\1aè\ fª\10º\17ÎE£\8e\8b\17O\12^\94\91cl9ïX\9fÂz\ 5\9eÊ$À?ʤΰ\9bÇþ¶ºÛ\ e»\94\95Ø"°Ô\90®\9d\18k|:%E\1c5\9eL6:ÿ\13K\1cúe\11Á\84\94\1cG K\98º>\9e,¿½\8a2è´K½ª;!¢¾·\98\8b½ýAdÄÕ\97Ö5
+\0ÒìÈ\12\15Öhª®\8a25b¶Øß:u\9eMa-;7o0Ký`a\ 1Û\16g9\9fãì¥Ö"³¬ï¨*V¿éqÇpÐ,\ 2°\980IO\fc«h\ 5<\bÓ\84ÁṈ&Èø\89\1f\12\81â×,û\9b0]°¥\8b0]&.ÝÕ«ãâ\1cÁv2Ñ\90\11\9dª\8e\15¿£\«\7f
+ªqC\973[Û;®+ÏÝ\98\ 2\1aDw]£\ 4òÜþÆs¦þ\rGûÖì8\11y °¿ùH\9dº\0\18suoN\83ãtd\fÀ¡RÏ\12öM`\18ÛÌ!'\ eñ;úIH\8e¨\ eb
+ i\80]K\93\12ˤ5ýç®à#¡#'eèLÁ\93!àFDæ\17¶×ZÏû]\13OEkîîâ\9e·D4õQ\80õ\9cÙ«î
+b<\ 5ë'°·1Â\\a2[ç\11:6n.[P°0uÐ@pñù!@$÷\9c¡\84\82\8a\94´àcò;\82\7fÙ¢\18¸¾¾\8e\14'+÷n\82\8aZá¶ñ\ fè\fí¦\1d\b\81\13Æ\7f\14:%\95ÃIi\ eäz_Cai+ÑÉ2Õ\1f2í3<"Ô@T\8bl\876ßí\13ô)\8cÆ·u߯\11\9cö\8aÚ\11\98I       Íè¹°\8cåô\ØF}m·)\9a4w\14ïZ.l$î>\85XIÙRX\13\98ÛxIË\85±Xõ\ryp\93\86ª\9a\8ems\80\11#;\ 5l\80c\94E\7fþ7tý³5ýZ_÷3]ëCÍf¾>\83\9aÍ{}\a5\9aéô\1cÖkÌè9¬×÷ô
+³^\9e\97éf¿Á *\9fýûäf±Ð\99<Vkøk¾\86käçÀ0Ç\11èg2¥d\ 4{\80U30\83þ bò°ÕÉ`\87Þ¿^­¬³\7f¿\1c ¼¬¢\14\17\95-\132\f¼R`Gr\f\rØiõ\80Gu1'\ 3\19\ 6é!÷&\ f@Oú\8ei\ 2wP\97ñ;HÔ\0Ã\92\1e\1cs©ê\8b°é:\%\1aÿf\ 2\943nêû0\81\89èäçÀ8£=~`ÚA\1eÉtk\14Ê\17hDèF\0Üzu¥\8aèϱÅ\ 6F±?½µy}yrÊJ\15q\12W=«w×\92è\ 2Uë¥q\ 3\11Ç\e\vE¸½ \8cJ×   k\r\18Ã\1aª°\ f\9ea\15\9e±\10}[qP\9fðÖ1tçÖ8]FÆ\18\95\ 1ã£!\ 3(wÞHUÑ»\90µÕfUÕð't¯Ç\1e\rRz\85¹\17æÔ\f\8e\1a:¾Dï\ 3¹îÕëæ\95ø÷£ñ\ e´lG\18²¯ë\8f*ÿ\1eu\ f\18û\9f\ 1\8cfÕ|²÷ÒFëJ¢T$¸\8a¥\11\9a\1e<5¤\95<èµ­:àPX\15S\8c\12¿\1e¾Ý^K:\84é t\980ïeUìÛs\15±¥\8b«\ 2ö?%\10¬\87}Ò Öy¿Æ\eI\13OM¯_Ý/Ì\e_Äh8pÊ8PQl\19\88\14ÂÞ\83ÅD\90\113c;sÙ´p\94ã 2|ÆÔª·n²µÁ5\ 1â1\9a\v\12-"}>x\ 6G\ 2\9e\ 184ÉǹKv/6\ 2,*\ 6\8aôôîPÍ|\14ɳr\96¤\1e·"D\z1\17\8b\94"Gªê\89¡"W¾\8c\<§\v¯ÎÐÝÈ\ 3\ f;=õÌÔÆTa\90E-J+þ'Kë\0\87±2[D(;ÈD\ 1ÜyÁ´\92Ì\ e\99«¥Æ\ 4\98Þ:\11¹Ý\15&V²¾\ 6\96$ËJNZ`5é:d0\9c«xf0Å£\84ªÄÊ\16\84\ 2¦\9c¡I¾KJ£\ 3;mÈ\9aE\f\bªÄ«\ 5\80T½ä\v\ 4\18ã\98\ 4´ Â=C\843\3Ù\94*0\93\94µdÂ\1ap"Ì\9cÐ\91\1f\98\ 1\9b@=à\18D\18i?(Ì\13|E-Z+öÎ\97ðÂ\8f\83%Æ9fý\fGrev5\ 4ß\94"IÁ~^\8f\80\92¸Ö>DDËñ ¨nÁ\7f\96\aÇ\ 32\9d\13(\85\15\98¸C1µXù*\99T\98êkx(ðkO,ö\93\1fÑ|TZíS:¢ôêc"èÝ*,µûsxú\ 1w®¨½\86²óh$ï×6\8amu\834\f²oÄâ+\e\10\85\ 1£4º,p\19\fo%7\8b¤¯1Ö\94?>kKÐ5±¡´\87¤Ù\12²®´A\9ae©ã\83`TôB_ݰÇ\89¿a[Q+¬5ØÞ\12îéÉ\9a¢Ëî»\92ãÁ\10ÎêA3E<¶ô$\8d\8d\ 5+ÞáÌ\96\99ë@þI©ü"py\a×±rÛLûOa4\v\ eÎ[\12E¨Éo\9eûá\8e5ùøÈ\84ö3,\a\85w\v¯¡£.l+@&\9bËï!U_ú\15UùS1\ 3\10T[¥\95\10é\\1e²\1a¥DTØ\ 3\1d±ø./\83ÛØ\7f.J*\94\ 2\1fÁÎ\9d6üV~VN¡ÞÉ\9fÌ?L®Âl\7f\1eôÏå\1d\1d\8d\aR\ 5\9eG\99¸A`ShXv\81y\87Ê®z½Å\rü>ÊyÁé¥\11¸=¸\8fÜS#t½Lª,¬¸Åy¿Ê¢ÒË\90ÿµc\83ŵé^©ãº\7f^\87ॢ\§>w±\130h±"Mg\89\93ÆÀ\ 3ÚwB\1aªLO,Õ\10\98\86\88.ÙYè\82ï\13_h\ 1.ÖÃ\ 6ýûR'\1eg\15Á\85l\86þ,Õ'\8ca7Ò\11\13;¾f\9c   ¦\9eDJ{,\ 1=\7f°±X$\1cÞË\ 1õ«b°SÖ\11\98èðã5ɦKÂdê·\88\13ya\8b\0º«\e\16zá{°±g\96\9bìß\f¦\8fN\85\ 6\820ú<·--   ØÍ\8b     gò[x­\10Ë\vÀ@Å}î\83]\17\19\8d°ç\ 6ÝPj\90 \0szi¯\85\96öò\9fXN\ 4ñnðü2}Ôä\83\f\93\86ÄbP \1cø;+ ¾\89\1eW\ 6í\19\ 2/\9bÜ\fGd­\8b£ì1È=màZ\1dö5\9eÁX\8b±\17\85å¥\8að¹ý\18h\1fä\8dfs\ 4\8\1c,N\ 6\ eåè\1d%DX\19\92¨Bò\1fç½\12aEéßFRK»k2ñ¶æ+|\ e¾\15\9bA!$\¹]\86gk\14ô%2&\87c\12Yê§\94ê\0Á\ f
+#ÿz\1a? æôMþHû¤´â.°\ 3Fê@ßÚt@\9aµ%9Ç)Û1}ÖrP&1±U\147\ 1\8eº \9bI¾ò%\14Q/§\14@n\0ßqê\9a#\14¯\88\88¤JÕò\1d¶È¨ß½\ 182N\13¶ÍÔû\ 3|"\93xsÅ:\94(\a\16g\ 148Ç`¿®¸¼©\91h=Mª³ú×\9b\ 5gsù\89fïnf\9d\ 6>lÓpE@³¥Þ0OËb ÿL\89q\8ddb\1e\90÷JÜ}Õ\aòM\1cßå\87Aܪ\ e\1c\89a ê}\90\86«, ^þ~\84\82³ý+B`ë×E Nx:b @v|RíÀ)B÷R
+Ù'\ 2¼³!ñ\82\13\96µ#m³\8c#©Ý¼ìï\1au\ f:\98u¼Û<@:J>{oÑ=ÅOq\98½½\95\ 3\0iú+`néãÐ2\a\98\1e\0h\83"\904oC6Ä¡ÅÍ´\87\r\18ðÖ@\8e«8V\94Y\9f×òö\ 1p\9f\8cEùà\8b_xL\87r<ó2$N»îÉc\ e}\ 13\84ï\v.1Á\19~\ 5á[(<]½\99)8\1cÉ`<\8a\85µÒÓ\10µò\13\1dÇð\fûüËÛï½³½¾ë.ä=\aî¿ô½¾ò÷uojzk¯Ë{}ä\96êr×_\96öût·S/uù/o¿ü^´zÈßûÞ´~4l[Ö\8f¸»\7fÚõ£½Æÿ\8dëFA¶\ fù\80 ó_\fÿ¦ëk|3å\846\96±ûä9Ë@_\84Y_\f﮿ú¾\19õÀh\ 4\95o\86|´g6øgñÐVøgÓ±³¾\19ÿS?¢øgI\9f÷ß\få{}ã\19ÿÎöû»³þûÛìt\93÷ý×·ß°\87Ò\ 1gè¤(\10Vö·þ\84\15½­ü\94?ÿ{[Û\92\81\83[n \98\8c\ 55\f¸|&Çá§B\7f¸\ep\17c\14\84\91\90\ 4É(\88Ã\9dê\1eî\14Z²àFUà&Az\8bUsç\ 2F\1cÚW`® \80z\ 6K\90\09ÝÛÄ\97(\8b½D)ÒOØ3S«¿>\92"*ůÉoá\84þN\11\bg\91\ê$HO\80é\83\83è\ 6       `\ra\9eÒ\ 6·:DÔ-\1e\8f"Øb\a\95ÇQyv\0\10ø\9b\83^"bæ¡Ý5[\ 3ßö{\ 1¹Ò\13Ó\ 2\ 4¼\f:í\H2L\7f=ÍXà\9f¡Ø  äé_\ 20@R2\9f\1eþ^1÷ħ\8f.x2-éR\1eè\9cW\väBí÷hÒv\7f³33$\84       2
+@\88H\10\b\80¢\8cB#$\90.a2Cè\186\b\ 1
+Å \8b\11\11X\ 6bBª9&H³3\1cZ«jÞÖõ^õíZÛT\1a¢\0µ\99\ 5\84\18Â\0Õ \8aØ\8dã~\1cV\82,\0\10Ïÿ¿~ÿÿï¾É$\ 4\0--®ï{¼çyËËÍ»Íß\13|\ræó|\8dñ÷\9cß\e|\1dç7\9cßC;ão \ eú\11ï [O\ fv²Û-²6Ø\12` °\82Ùç\865xà\ 4oÎp÷?À\90\ fÄ\90l\10Û\ 1\vCP\11ü|z\ 4¯üflpr\8f\ 5]Êt\v\9b\92n@\13§÷¡s\8b\e*\19\9eä{þ\1a\r'£ëÆ"ÑBö¯\ 5\9bPãm\16\18\7f¬¸\19\11\b:¬öèºGI>A        Óÿù\95\v\91ÿê+\93æîÿÀ¨\9dÔ å\ 5\82\16ûÿسïÿ\8dõ/Ñ\15ƱzRÅ;ÿÙ\95_ã²3¬MÛÿ!\91\9d|«Ë|\87кa5%.¾\94»a%`Ý\95\11õ\1e}w@qé\16\88pw\ 3ê>~Ý\8a
+|¸¿û¯»±2Sqª°\9eÌF[¼òì
+ú^ Ëv(¯W!\10!\9f¥ÿc\vbùC2ÿÓ}5\8b\v´Ú.¾LG®¾hn\98]¦q\9a<XLÿy]pàÆ´\153»º¥Lí\ e\ fK¼/]xåÁÂú×Ùܦ$_ù0¥¿þ\7f\v£ñ1¿¶ü£\16\8c×Ý×H\e\ÅÁùüT\ 4\9bä $\7f\17má~¹õWÅ×ì­íuúbEuûåÿ\10\85ï\923ÓýN\rÿ\88\11\91Äa<ßUrÂy¾^/\9445ý,)¿\19\9aU÷®$«ÿ CÞ7õ¿0ºO+y]'1 ºO½ºi<¿#\17þô\ 6\e-ïÇ.\904¬ä;ÛÅwïLy¾L¥ù{\87äßÉwA"8ìîPÛ;æ8\9b;åÈoú_ãüQ¦|t.=sI\88â×?¨µÛÌs\0Zêù(\81op5Y\89Ý3hL1\83Ð\9ck\83ÿ\90Hþ:o\1em7\8e&\18i÷¿¹Âf\7fÌjSÿ\8dÿ\8fõ_óÿæÂö\7fè\98Ãç\9e\\9e»ªíå¼\1fz\83WÀ§¬½ê\zXúê\8f×\81Àì²\15X»´[\ß\86Í\0\0}©À\0}73ü\0\0öç\1a\15éOûç\9d\~÷®x÷ûº1õÜ\8cz\137ÿ¥§÷ü]«¾¯¤þûæ7û2Þ\9e7_u\7f{Ý*óÝÕþ\ fÛ~\fOçöïY\14¿.³ë0ï*ûì/¿Ý÷ýG¯\84ó±Þ]ó6ø\92\81ñy9\1däf/áÚ¶ûx\1c\ f\8eÓ¸wèhd{\8b\1f;\1fæ÷½gQåøú</Ô«µ\7f÷¿×ÿø\0;ÿжmóøÊì«\1cÏ\ 3%[çïû,_æc²\97ÑwùzJ:vÿ\87§õ):_\ e\16\15k\r¾\ f%\ 2±·±\8eÿ\ eÏ­Ìô\8cü\98\1fÔ\0Nþ¿ß×ûúÿ\7fûøé!\ e
+\95\8fö\96n\95h7J§ÿH\85ÏB$%\8eà\ 4\ fºkmüWÉ\16×+Ý®ÞÎ÷|p\10?¬¯ÙVøÝ×ú\84ÿôºB[Mßæ\13ÿ÷_ù\ 1\aÁKùg\7fð\ 2\ få´\85§ôºOà\ 2\ f\83VìÁ\8b%õÑ|F,\9bÄ\ 1\aåY\10
+f\8fß)\agÁR=û\83AÏûä\80\83ýÑö\aâ\1f÷Ê      ÿîT¶}?\1e¡E@\11@\bA3R>\9aíÓ³ÞØ*\84!\14\1a\12©zR¦>\9c·\9cÛz´4\v\9bZ°,ÆÙ\86hie§ Òï\9cîyW*\ 2.â[;\99^êP\80EÛØ\12ÝF$\ 2.\v\1f+E\ f%y\0"å3È\80\17ÑÀ5P
+\b:*®H\b¶æ îB)gÎ<P\ 4\b\8aªá\80\8a÷w\8a\80\8aápÄúõ<\90\8fÈ2¦\fT\97\1c\ 5Àú¥2§\8bSq\95-íØ\1e\eð*\90¦\v¦Û÷J.\85ï\8eÃÔÛ´\8b1ÍPíßÓª"þ¡è\94\12ÙÜH%\92\7fc\ 4\84b\12ïÙù5@\9d\1ax5\1a\16\965ÌÙ\eçÒ\8aµ|\8fG\99PóN\8f\e\13\9e£¬ÑÂ\8c\8dÅJ\ 2\8c\8d\81FCöv\95'u\7fÄ   \1f       ÙÝE½f\8cm\9a\1f½\92w¡z&üæÍ\1d\96Ú\85ýëæ\b\87\80\rÎ\11\vÑ'ÔlÑǸwD\11íÛMû\8eµ+PÒü®A\16Û§\v\96   03      i=£ò\rÿÔ\9bÿ¦H/\§ìåªB\9d[¸nûn        üN;FlÓÏÝ5}ÀQ\ 4A  Åê\14¢ÐFçÚ¯ºZÅñ;PغGgbmô\ 1\81\82Æ?`\99÷F"ïÞT\8eè}\1a²ª\1aµ \ 4¢\ 1\16ï\97!¹"oÙ÷.ÑzNAÛ±S×ö.¬O¸sk1ÜU\16Ϧv\86\0À.\ eh#UL5\82Ð\99\9cv\83\ 4Gq\94;O,í\14'gÍ;Crl\82°Í\13 \86\9fÎY\ f¤wæí\94\ 1VÒF\ eÔ°m\85 E\r]Ã^E\ 2Ê\99´çÊê\91\b¯\7fLÞk&ÉΠ    'ðZÍçX:»·\9b¥\ 6Á\Má\9cÉ\a«>\ 3-\91 4L\9d{Öí\b\ 3¬í\91A)ìûcÕ\r\ e0y\ 1º\99ÓCo6\9b¬»y»WY6¦ø¸B~¦´óÛ\ 3u        +Üó\82Íà2õnl©§7 Pýç2\11NoÔ0ë²\10/Pi\84\9dQNWº÷âgcm\ 2\15Q\17Z`Éy0\81lÜãVÉpi\8d«rfÉiE:\91\1dPh:¡v6¨4«\ 4õ¯\1cÀÈÙ\82\88c ÑgÖ~~\95\1a\867½O\91¥X`;·3i\1crq²\ 6\ 2^'ü\86\83q2Lþ#\ 3©5)\ez1¸¨\93öð\87hBªó\8a\96\1aá\81      Ó\8dj\85=Ið!àÜ\eÒÁ?À|\b\eè\11#\90É÷øC\84ëì\10\13&\9d\15.r\82l-ë\ 1(ª¿0)\11ШîhXÅÞeéV}4ø\ 3\f­
+\16À\85>#|bÞNå¿p«\90\91\97û\13\1e\v*Uì<
+°¤8þÌI\94Ã\ 1ãÚ6\13
+p¥xðJãÁ\aWl8ÐFòÙÐ\80\8e¶øÜ\88\r(@G_j¥N]½\85\19Ê\8e©4\eF\v\1a4Zsð\1f?2O\8f  \9e´¡i$\93Þì\9cÆÏh\980r]\19\1a\86qª]\90\eÁ#@;\89&
\0\91`Í5\97Ñ^\r\8b\97F\10\8b»Â3ÈUäØ(¤&\84Ï\1cµ\99`LH*ï|[J\90ç#\aû\94þ\19C\9b\8b¦
+Èu?bPõx\ 4Hu=l¢*Ч\90êzyEʲ²0$:\9f\87(Lǰ\91\179Y0'9ô\9dJ\11\82\88ÛÜ\96\10þÕ\8dWfu\1e\ 5\89$R\91àH°\ 5øÃ·M\92É?C\9a+åû¬[\87\97ä[SS\8bæÖÔ-ü²²ÛOã\96VZÉÚË+-\14ýyb¥\1f
+%N+rJ\82\1a\f!J³|\1d!Cüc\80\9b¡Ò¦³­ÈI£ãÉâzã\80\ 2ÇT\98x\11Öµ\a\0\ 5Á´Û\ 4\15MyÝiæ¬7!\\92ÓG&p²¢f\157\95f`>Ù\83M»bV©\8d\14c\84o¸6XW¿r\1a\16e±`³9\8f\80mÙgö c1ípq\90ǰ2\84î$\8e\8b©àÍÕdü^d\90]å©ò{³©\10\1d\11ÙÒ\15rÖ ûS\97¨ìê\8dh>B\86\1cW0YÎ\95\ 2\ 4é«2¨\11&Jó\ 4p\ 5\9bl¹iS\9e\9fØ\9f½Î­*@\ 1¬\93´çQ*\14[æ^\8f:¥d\9cê%\8bø¹Õ\19^*w$\82\8b:µîe\ fÐ\9c\f
+áðÈ«ëøE\\ 6\19.y8%¤¹÷ðKIsí`\96\92ãÌ\12Ò\ì\8dôÕÅ\9f\eÙÛ\1dÊ\1cg\ 5\9f×vîH/\ 1£\97(F`\97Á\1dæï\9f{I@­
+Qv*Ø-C\818|Uº`\ 18ÓÍ\8dôeå\88\bâ]qÙð+³\ e\ 2 C \9b<`Zª§STªq&\ fzÒcÉ\90\f\83ø\85\80Ú!C·&\9a\8d°\8a5àкPO8f>á~¶\82ª\9bfÀÖ\886Á­¼N²ÐöGRDâs(2¬æÕjp,a©Ðh\8a\90\ 5\8cË\15 äÖª\101|âÝ6i\9a`GÚ\99\872\r¶0\80ü÷L¶wÀe¢ñ¡I%×|qa¡a\84\97I\8amë|.{L{^å«ï
+ZÄêrï¡n)æÚsÿ\1aVì[í\8bë\14â­\94\85\83>{F\17=\1dâf;\9bÑ\855\11èX\88ÓN%\92\82\9bWt²Ý´ê÷1\80\1a\bP\9eN\15Èhú
+®½r- \16ÏX6<ª(\ 5SNñ\94:1­Ò\80G:,ÙM\17K³û-ߨ¾²+_9ÑîÄárYÓO>;ÞÑ\ 5ÕKßvA·mi¶ò\15]\8a\88m\98\84Xí kø1Öæ`w
+þÌ\1a$ð£2äI\ 5±\r\88p\ 4×ùý\8bý\8c<³POj7º$4tþb\99³Ík\ 3c襤\85\96cbòÌ\1d\9cjíEÎØ'e¢\98ª   ä\8fI¢=ù\ 3\80è;ms`31këc¾C}fc¿[¡s\95ÃÆ`êOf;\80WÅsî%#ä"$¤Ò\r5\ 1Ø\ 2ÓÏ\13\12\1a\97ü5x5´Qú¬Ú²m'F\4\9e/«I\1dVr\10µ\ 3øc¥;D>\17ºë\86@êBE\96\ 3\ 3\96-âc¬ãeº·|öú6¬åH]üï»É!l\92ýèîwâ\89²\ 3õ\82Q\12¡Ç\83\9f\eÑ£|}\174Þ¦÷΢í\8d%÷noGÙX]üÎáÅ´íó¿@©\98\9bW|,\ 6\8eü|fâ\8bè·3í¤\94¬þ\81ÌðP\rÌ\0fd¥N\ 2¾Ò\9eàåÞ\10£\10ôKIÉJä'c3\15¡ê\1aj\ fº\11kOF©\124Cb\91\18þ\92\9f\ eÔYfØ2L¼\ e\9c\1d \ fç¯\0\94\a\88J\ 3\9fw:´Æ\87±P      \80\85\81\fðëgÇU)C×j\97.Q\8fë ÓÇç\9aè´\9e\885a¥%4ĹE&\1a\9fL8y!£\bè\ 1\1fåTrÏ~-²\85®vÈYMÖT\90¸X\82\9f²1JV®Lî\9d"\16³3¡ÖC\82ÑÕ{º\19Ì
+\8e;îkÔ\131\ 1¢oç\17ñ,\93Ë)\97É\1aR\95èlûè2
+Éö±\8b:Vmý\8a|ÿFv\90à8C\9fBr \e X¶Q¤Á\95\19Ëu9­\132\17\8bQ"4\87¾\13bH\13>&n»´Æ(êÎëAJ¿´\9f÷ea?]\93Þó\17Z\94Ò¯«P¦\94¥n¡\90àª\14ú\13K[iÔ¬\93;c\87ï\b2\v\8eû!\8eÚ­\8eõ®\9c¿^\95M~\98\94p\94\0\16Äÿ ¹×\8bõá¢\84\ 2Ã![Ú%¹°lt\b¾!,V¾&µh³Óh8a{\95¸\10\fí\v\14       R$\ 5
+L\í\927È¢`çdq/o\10\1f\80Lþ.[kGϰ9hGø3bh% Ü_B\88³"à¤þ:£@ryaØè     Í\10²)@û¢h¿f§£\1c\8b\9d\88k5î¿JÒ¯\e11>ÿ6R0¢*¸"\7fA\16ÄOz#:\ 5ÏWe³§P7Y\ f\ egS (Þ9TLßëÜ8\81\1dæ\92¨Q@ìH7[$\8c-@\17¦Ò·¾^¨ß\89?\8a×ù\80\a\15\8eȹ9Ô\8eÒ\10Ë\a\80×D\85åÈ\12¢\85ÿ¬t\9dì»\9eÂä4\96ÁËX\0Ñd\10s!\8eÏ\85bx\ 4íhõ
\9bëÁ   7>ìg`\ 4\86\85ÎaÞ°Ci\0cÌfR2Áà\9d"ðBDzu\9d_\83\97ÐaTQD7¯$\89JD|E\19\99\9cw:\1dø¦\9e\83½`\1d(\95À\18\3ü\82\ 6\13<;0
+|\ e˦
+°*\105`^\8d\ e²Û\91íEÙÁ¯       E©£´d\ 5iÑv\vlñ´>ô\80q{\0HE\0dÖTu\1e\7f\88\ 6\16x; /x]|@â`\94oFÈ\8b\18¹:+H\atéõÖ\ f\0¦¶/TQ\9fkÄ5\98ùD#Vø*vx\81gàq÷Ð\eî\ 2 ,\1e\9aoØ   ¨\88\ 2\80e¦P\rg\1dùâO6
+wzÁ\ 19\1aU\91B4ü»BQ\7f´ï\19¡\97ï:\93ül)P<\83\86Õ\ f\ 2\8cîAPÑ"£$FxÈG`­°´¶
+Ïö\1d\0½S\88\18ÂÏ\1aLã"\87\9f8\10<\7f\1cã½g4HÑpð\9a^5\1d\1e@t/ë\104o`ç\12\83\ 2îóL« #Ùísê\81\8d¾Ç^§\94h7\e
+I@ç\97Yq\89815Ñ\0p~ cìw\93\9eU¢O\94Ã\9c,ÕÝâÀHκ\14zO3\9bÓnPvJª\8eE5Cy\10Ð8­¨ÍYÖ©@ªL\8f\89ªOÉÒÐb¤äÂ\88\89´«\13æ³\ 3Π  ì\a\9aBu÷n\1d\ 4-¦Z³iY¶\15\0\8b¾\97Ý\93JË!q\0\ eøwCX'4}Tyãò\83h\9f\9bz'R¶ôx#\9b¹Í;¸¤­ª\ 4ó\1aÈ`ç×\9d³\9bÙáÀ\81\9d\r\12\ 3\95 õ\95\97
+-(\1dÐñ{æºqß\91:NMÂ\rE1)ÈMæ\1a\86}k:,¦¨\ 5\ 6\88g\87x3\0\9dµMªá@x<\9b\0\80\v/c\15\80Ó\9dPàºòR\83\86#;\806\8a\bÔY\ 3éá1÷\b\9f\8dMA\93        \92ß\11¨1êj\v{5Ü(±©7\88Pk´\10p­+¾Ò\85\8eÐí\11g\8d\16\88³\ 5¬ï¥Fµb)\aZ¨Ñ­Grá\10\93>\9c'        ]j\rf\rM4\90\7fÏ[NiÎ\98­p\ 5ľ¡ê"#o_\14\13\0öîm{©1'IàQ£A\92ª\18ë\7fE\14@(\90Ü\80\85UUá\ 4ÇîÝp\99}\80OÞ.ø¹2èAÎo(f¤\80Ö\88¶    ÏpIÏ\9c\95\9bgVJz
+U\rþ\14>6ú,òå\19°\91µ!¡\1e\95\82Ç×pÓT
\ f:u='Ï\1eæ\8f\0\95\82£\97è ;\86¹\8d>s­ìN\vEQÆ\17\97Lüý<\12R`æyâ9Sýb¦\96\83ÚÎòÀ² ´ã6=jå\1a\ 1\06\ f!u¥ü\7fac@çF\93Ú\93©\ 4G\8bÖ\94ÿÉLð:ïÛ\97\88\eã®ÒF§U¼\87\ fpN\86Ç,\94\85$\rI?­<\8f\8fÏ\8eDN¦\b\1d5dý<ʸ\ 1ï®ü¹\95FÚÁ\1e9Ùôýhð´\81#\95ëIÖ¨w\94¦«C\8b\11;:\ e²¹×¾\ 1K\83:!Tðà\16ÀõÇâïöë¿j\12\17ÀÓ¦¼æ\89Úþ\13ô\9a\ 4\98J\ 6°d\1d\a?\12÷c·ns2s\fxL\95ãò\8e¬\85\80í\ 2Ë\ fÞz«x}'áÒzlÕ\96\a<bÑ\1f¤\8dÞ¨\r¸C\17R®õ[q¯Pß\1dê\85b¼ÝG¿©\ejGðÉ.d\16"\ 5H_#áÞTê4\9cÍ^L®ª¿BüVît²¹ê\aO\16\8aíþx\8a\87ÐCF\9c\ 3]¶ASåúÆ\98·Ê\12S\9c±\ 2\83?T6}\1c\a´B~!Gy\8fÄ\12÷m4?£h$\99ô\12/$þí\vÐ\88×Ap\ 3\8eþçT\808ï¿ê\80\98ñæxaå{U\8c@::aú\98À¨;n\ 1\9ahp#°}Xª±x©îl\82ö\ 1\\95­¤C1Ë´¹s\82w#[ų\87\96\ fM\87i\9c;\97\94\10crZ¾§\8f\15"Hs-Jú\8a<o»ð\83Î\bæi\9d\e\18`;ü[áÁ ¦3ð\eÆ\r¢\eO\92ÎX¸{C\84?\15ë0r©½¸÷\ 3ü]%ö\89/\8d¾»\7f\85\9a        .f\91Öc´+ð
+ôHáVR\ 6pÿÔOL3<y\9d9ÛcÂ¥9êhðQ \89ù3j4ßx°\1eçFH¾nn\14>\17 ¼\18ÄvÙ<¹\b,],aÑ\85\ 2   Í"76\ eGà^æ-ãð?   ò\ 1õ`\8f«"ýd8h\94?s4ÿÂ\99:CÙÿN\f³\e\9c÷\0é\96\16·\81öu6·Ê#M=\ 1Öwã¬àÝ\89 \95ôZ5à\11\80\97\\93L~ô5OSÃR\9eë§3Ï\96©ía`\bÎßÙ\9cûzsaÜ #À    9D\8aÈ{~\ fÜçùÔµØ\15\ 4³>OâÕ¾u\eÁ\ e\rå\89ß\ 3]ÕÉ\1e§ñ;f¸\98i\82ë\83µÔ/«®s\14Õ÷ºÕ÷\bNF\19%\e\84[V\1eëWv\8c\ 1Ó\8eþU¾    \92\8eª>û\96øx°ÜM\90´¶øy\0t¸Î<J[ní.ºÛ\10nn,\13æs\1ca\13{¬RÀ\95öEÙ\929v\vZ\93\9bm^\1cäÏÑÎ\ eÁ\8bêg¹Eö\13ÌMÿf¾\85ý\ 2N tØ\84\9eÏa\ró\ 2\ 2y{\0\83ÂT¢\f\1có\8d\82"ØÑ!AÁúÜ\8b<\93Ùèª\17óà@c\r\12\9f\97¡y­Ä\0\b.
\9d¸\87\e1E\14?\1ex~=Hy)\8f\18\8b\8d\18~Fd\ 1Ñ\84b¡h°«\99¤99\99#è²A¢ÆÔ\90Õ\93Bt\86\82/\857éK\9fÁ/i\96P w«$|\b\r\9c}þ¥\15\9aÓÙU¬_XOb4\96\13Ý\ 2å[Å+%ÅCe\e¦°Y\9c£"\b\12\1dc\r\ 5Û?KÁÕ\b\ f\9a|áþÍ×L%à\11æ\92Isª\ 6\9a\8c\9f\ 4\1d<"\ 3l<Ñ\10\10\8d\e\9a\95uÌ[6\87\14\18',Í\90@7\9a\a6Ï5\89\87\0Ö°
+\fÙ²\86\93~ùÏá\10¿ï\15]s}7\9eþ\1c/\ 2ö\ 6\9eI)®\89\81µÉÎP\v\80H¨Ó+?ìÍܺ0Ï7J± ·ÒD\ 5\83\1e\13\11À\18:E|ìÙå\ 5ìÃ\90Q\99Õò\9e\1el\91\1e[\98/\18xÃ}\92vâo\16Ùkã\0\8b\9e<¤§ßZ\8b¥qDÉoÒ\85ÐSº
+\b\8c     à,Þ\9dø©§U\99´MNß rTz½#\1cF\95õ¼µ&\95É\80KNîÔî\90\8dÝ`[ËuI?ìã   \1e:\99ût¡è\ 4s-\9b\94\0F1Ô\85ãÃ\9c.Ï` g'ï$²E\88ÙbV£¡\10\146àoBH$\93ý\ 2hÝ%\1eÒ\96ÅdÔ\89P\97Kzò        éBÓ^\8c·I_#\9a\85ö¨¹,ÈÐíî3DÎ\ 5ºEZe=åu\11\ 4£Õ\ 2@âóÏs\87\a¬B³é\1c*n7\a²\91\ 4\ao\aC\fÎ^¬I¯Á³\96:\18GQ\93­2ø[ÀQG[\10·o¤VS\81Àt.Ø\ 6Öù¢\1d-/T3\97\8aç>Ú\8e Íy½\90ÑG\85^yíâ¹'²>.j!\ 3\93\97w\8cð3Ea\82º\8d\ 2¨w²\17HóÛ\13<nëÎ\86Få«\924\8aõ|lº\7fÝÕðÒµúåTê\83Ýé\94Vtà\96×¥Ô\12±Gôñ6;\12;PFЧ\15³\17[e\97U÷Â{ Ï\16_nfÔ¾ØRûXü+\0Íé'\99=\96yv°gªê>\91\ f=S~· \16p\97   Â£Ø'ðt\84mu\1fÝábEÏYsY\89}\1f>êöàÜL\9c`ñòàR»\e5K\a^
+º      ")/±õã\13ôúBtt(4}Ë_ÉJù»¦GÅ\85ímºJ\aÙ\92\v¶Ý¢P3;Р       \9aâ\9fÐ7{<Ý9£ª\90À:\14,þ<{ÿH<£ö|¡­H
+9|çªæ\91Ä\0S\99Åа\ e\1f¤       _\ 6ã\a³s\19\92Ãú¹\b\19XÕâØ\8c&!^¾\17;°{n\1fÐ˸Áú ssÛKÐáÀÁ|°^,¬½É¤
+b\1f\1e\93ö¸d§\eK\80xrÚ\\92\vÌTn\1c3_bóHÝ{¨´ê\82º¹Õ\7f×<%5\93KDÈsØÁ¸\99úà¶Åñ\9dv\9fïj¨×\1eì·\16tgõÿ]F\8cTäT    Xçi\ 6Þ\16£.KÄkwr2FÛÐ\99\vv4ùÍ\ eqÃÜæ\19'½rI=ÑK½\9eʵ­ìÚØOQ.N\ 3\88\8cÝ×ä9(Í@¬\9fDJ5â\93\1c\81¸5ã°À§\9a\ fr2\ 4 ÉÀ¨\90m[¦ß\ fB¯JD*"\ eÝ\9bþå\80tÝVkÚw^q\15\90Ý+¡rË\9f\8eu)#\1f\15\15¢\bUÛv\9a\8a\18Ñ7\13\93Ñ\902àÚP\84áæ\ 5!\Ò\81\97À'@.ÁPȵ6)B\15Ý\aÞfû¹_\8d\1aïö\ eà\89\ 2§)\ 4\ 1ölÄÌ,
+\99d\99ò,ÿ`\7fA}¡Òe¬=\99=3Rf.\0t\ e¼Öݨ`ûææ6Êïr¡\7f²ù«tk?FÄÞ}\90ïµö\9a\18\1eÚÉ\9aÐåNϧgøâÙx\1c>*\80\v\1aä\8f²§Øæ £³\9d¸y\84§X4«\ 4\86³\9d;=ðùæA\8aî?A÷¤Þ\ 5\ 6\fÚm\ 59\ 1IoáHÃ(\13Ò\aÙ\bÀ_ôÉ\1a\vÍ\9a\v\8e\80âHB¤#s\13\83¸\12\18[*M\1eì´>Ó¨\83iÛÌ\90\1f\84åæ\8aaP®
+\87Ü\826*àÙLCÛ\9c\80e\10\89ëT\89áù\11=ÇÊ[Û¢\effTm\ 2etÑT³\81\rº?\16ÃìÑ6Ôà\84âÃ\9b1\9bK\83J_û0¼aV\8f]\98ë¤cx\18é>.A\83\9f\96\ 5@[-8l$ú\10sR1èØÀå²ó¦\ 1\ 1í6N\944@û\13·É\8dµ $\9d\vQ'@«\f4Ôd\ 2Ja&mYÆö:µ$ÛEÉ\92\ 5\14I 4Ôe\ f\88\9e\vàì
\ 4n\19T\aï·\92Ç\f\r¯B\96óýÛQtÁFåK\88\0\18ÜÜ\a\ 4<þáT>x§~î\81\82\16R)\92e+@\15¤û\ 6òÔìuÍå\9c\8a\8c\ 1ÕÛ\a¤ é\M*.¹FbÛLÈ\ eìÝ\92u×ÁJùY÷ÐNÓË\ 4zÚ¶Â\ 5²}ëSº\ fÕâ\r`¸´IÎáGÒâ+¡ø2ZÞ\f\92|ÒEÙ(\f¼·\åU!Wâ n\7fM\98\1e´\17þÐkJJZ\\90\93ÜÓ}tXpà\16\96ÃÜ\8e|\84@«ßì\8d¸³hC\10*×Éo\MdðÀå½\bÑäk­u\bí\ 2+\82\r\8fY\b\15\11 ]) T \r*\8bY\9c¡\17\89c\8b\ 2¼Ä\81Q\1e\ 4\ 2p-õÁ\ 3í\1c\8c\9bGu
+\97ãB±WHÑg\ 3I$\1cóG\9b\1a\ 2\87ÂXfËoÐB3["\13ï%²êØZ\16\89ù4\ 3¶êÿö»f¬å\9b?áÕ\8azÓ¿Ú\1cGu\ 1ëû\1d\r»Ú}È´H+u®j)\91\0\9e3|{$\ fb\9e{x\f\92x\ 4ö%Ó°n&fK`\f¡ÝÃ)G´'7[\8a¯;ãM\v\11²\bÒj\16f5ì\aªÃ×nB\19\bY\8f^þôçW×b\9c\86ð%&ÉÁÔ]K`´\17ÑV
+F\r\1f\88\ e¦'\84ÑO»~X~\8a.\a:6Õ¾Ar½È5\17O\1eÔH\ 5ÖÜ\b\8a\ 2\ 5\9f\1c\rN ~Å­\b¶npÓ\96m+3,\v\92u\1c\f±¸\87Ïâ\89'>\94à\1f\ 2\7f£\84C«É9§©ý\99¶%έ\ 1.\15Ç\ 3üò)\1e\14áy(\85Q着^O\ 6*8\9c\18\84\0\1fºÍx%£JfQÌ
+BFü_¥4/\b%«ºÍ\10ç\9d\9bv*¶8`-ã\1dN4íú\81´u\1f\ f1.ÛY\ f\82n$£~õ\87Ôm\7fG\8b¸\9a   }þZ     \7fþZ     y-\ 4á\0;#\81¤\96¢\84д\1cJQÝÚ\90¯Á\9a+\88¢2¼d\ 4\88+WÝ\8b\8c«(ÞO\1a\94aßÏ7\bQ°¢\82zý0»DÌÜ\86CZ¢r\17£ýý\v´\7fåÈpü\84¿s+\98Í:/»DÁ
\1eù\89\18Ò¹Ý#J°LÔò\vE§_\13M¦ßO1m6\ 5¾-þS\b$Lö4\99\97¿{\1a]\8d \86<mÇÓ\1dØüâ\ 2±n       \aÒZV{ÄææH©WYçÓÌçb\80\87\94\1f!Ø.áä5'Ñ\86#\ 6r(\18~Ma\92<S¼ãÅ\a\82NìG4k8YÐÎ\r]u¥\9c9ãÆÜæ~\98¸Òñµ\9f1ÜÑÛ\v\10\89D?\9cúaãL\18~x}8p3Ô\vzjµ¸\87ÌM³ªË.#\YOÀñNñü2O1\9bÚ"lv\93ÍP¨\14c¦i´\95åYÈjî¿u\89×\91É\11pÿá\ 4\8dþ\81ý²âÎ\18hÀe&Oê ¯\85§uå\92\ 6&\13\80G±Ì¼Þ³s\88\ 6ú!\8d=ðþ\ 16 ­>À
+T?Ø\ f\9b#ÎÝ\9f`¢6(ñ \8ak÷s»CPÂsÜx(ï\ 6\9bv[\8c ãÀÇv\18íØÈ²\16\v\8f\ 3\1ao\8dü`cÆ{#º\ 59IkÂ\ 5g\8b\95\1cSJ «ÈUëÝEØváÅñ\7f/oKzïÎ\ 2¡\8b»zªG̸Nb÷!«±È¨\97h¹}¾\88\94W    9óg\9bnà!2®£ÅÎå¢Ò\10¼B\98f\ 3\86?u5ñL4\83\9bù% ha\97n\89Y»¨\85"j}d÷;\9br¸"
+\8b £¸\16y&Mþr;ðdW\6a\97¨J\ 6zH|ÝÙ!"ù\102\9b×Õ¡Ï@Y×~½ÍíÞø\122\ 5ÔXº«N\176\9e|\a^{ø\91~ k(\9fy\r
+\94\9a$.ÖÑ:]Ú\8eÉÄò¿\88âN\8d¥¤þ¤¸%\15ñ\1fò\95\13T\19î7\8aÙ\8bB2IJ\81áf\1dï\9f\1dÔ1^\a1\91,$,q¾k\9dN¤ò Ü\bJÙ«6!®\12\178o\9cP:,â\8b  
+P1Í]^Ñ\8e£ÂB\8d\1cq¹çÑa\12y]\88}\18ï}¤uýÀ\91\9aÔ3\90\ÇÐáà\9b÷BÒ\82
+OA#[±åß\80\a\ e\9ar¸Øjáu\0hq2\15K        \a39פÒ\82¼\88»P\80%-\92\aph\1a%­7ìÑ-i\ f\88\ 3\f]xbëèA1\7f\ 2.Ù#\8a_á±#o*I^\97»\82ÉöA-¹Åuçþ\81Å\8cDÜ@©/MFè\19?2ôâÃx¤\92Í^m\81Ý\10<4T\96eé§Ø\bN\97bp\9d\9cé&}.\9f¥À:¡\9a«ë§iYë/<ô\e\b\0îЪ!\ 36\ f\1e"x\v\12\0&Z\12L¢):¿¹s\ 6e\12\fÕIûv70hq É)Á\r+\9838\90j%8ÌàDtQpN_Vj\92\15à\82]J\8aý\19ÄÁpá\81ö¸HS\v@1>uuÎOêÙE8P\ 1c0I0\86y\1c\8cJ\9bX\15\e\9f¾Q\ 6\87ª\92Ù§kñ\1e\17\80ÈÄ8\r\81ãOÐ-\v\ 4·|OÍD/w\90Wݸ^íyõ¡cuâÖ¢\17®ÈD   ú\0º\94óKBÅ,Ω\11\vûÙ\ 5\8fq½¶\ 1lewç\ 1o\86B*H9<Ú\8d4ÜR\ 27ñºå$±X#³Z\e'J~Qne8y'Y¼V\fAqÐÛNABhò7åDbù¾"¶¤¾/\88¼t?«â/oo·ñ,çr;Aúl\95ÉW9\9fÇ=\f\17ÄG\92\96\9e \ 2î\81\89\9d±!³&å\14¬\8f\820B\8fà
+\99\ 1À<Asl@ɯ,>øØ ø\81tÉÌ
+\91\10Ðz·2dU\ 2\89#LÅ©¡Ã@OÌLñ\1cº\1fp,³\83L>Å·4Md\17\9cÁ\90EX5æW>ª p\8fÚ­o-\8c}U}CD\1aÍö\9d\9b\1a\8aåM4\1aãXö\994ÔoÐË!Ý\0µ~b\94¹ö6\81\97\ eÍì\91::Dz òáèØ«\15I£é/ðè¤\82\ 4.Þ4Ú%\ 1\9d\ùý\19û\ 3Ã&EYÇ\ f\ 3,ISà2òâ/\8cqq!çÅÁ¤\84\1d&\ 4~ÛÎ\81ëOe>öNX({@ßó
+Q)´@Ûr\8dç\19£Q\84\\81N\1e|q«/òê:%=ÃÔ¶\86à\a¦dÛN¼\ 1\1aoH\95î\93ÄǪ\82üm<ûà\0Õ:v\ 6\82\91\90â'k´\81|?4kN¼øq\92_m\7f
+{\ 5íHiB\88»/³ÈcÑ«\13ï¼)o\80nÏ¢§\1c\9bòÁÈÖu\81\9c\1c\80\82̽x4\12¼Üt©Ï\991ªfKédî\ 5\ 4M$Ë.\1cé\8dFt\0DWu(¦\91\14t43Û\94\r"¾\CS°\94#\82'@¢\ fQrú4Ü?Úé×\8b/6êÁÓ\a\8b\84º?lm«Ø9gBÓWðÝ­«Ù\17Æ6Ú¾UË*\17\9e«&ÖÕÌ\87âÀß\18ÁøÉ\8a       *EÐ\82¯2Å\rôOX\ 2\8fq¾î÷¦ý4Õíã4A\a\80ªn\v\99¹Ö\ eqfÀ\ 5\bÞn\v¨æÓ/Â\84rè!\14³¢!       k
+\84\95z7ĨIq¦ÅÉB\18\r z¹2O{è¬\ 2\8fê§^\14Zz\1c\1f«Bõø`!E\9a\0¹\82
+äüÈ\8c\88d\17rj+Õ»f\15»e%î\82ùKð\85Ý\8a\1d³\89h\8e\ 1\ 3ºR\v;\9a\19$)qvbr(\aþGEqLaôÖ¦0ú\1d
+\94\10\v.*a9¨Ó"q\ 6ÁIKÓæ´á°\0j\e%I;  ¨lð;ÈÄ&I\9d@\ 3I}\9eà\ eM6§
+\86ϳ\8d   <*\1a\19ÝL\9a\f\13\ 53Ó¥\80u9s
+\81ô!¡W\82ЩQìô²NÓ\82|-8aj\ 6¿\81d\9e«\82pCl¼vj\17?Leø\ 3½BF\9a\99\a¯°Ã\93\9bFü \15GÀ?±l\94çÎ\ eóæî\87`\97Èq\1dD\94XO2)6âFxZÍïÜÆ\89\1cþ\ 4jQß\8b¸¯~W^\90\8a\95`ª®VÍfì\1dv\8bx¢¦<Á¥¸Å\1dÎ\15ñ \85Å,ͤp¢\9a¾á6Ó²4Í5n×,])E¡\9fáÖ\ fÐ\85\aÛ¡>æµd¤\ 1æ\80\ 6@\8c?\92b(¼\92      ÑßOAë÷F÷cQ¦P    <ßÃ;\9b\96øöÞ\88¸J\8b\7fÂsy7ç\82æîoÏÐ\1eï+È\ fÕ·lWÆ\9480;VVÐZ\0>Ãú\13³
+~ð\1d\9d;\1f\9f\91'\9c\ e\10W\8evO6ëÜâÂ÷\1fÃ×\81UÑàpC\v\ 5å«\172 î+66\81K$à}\ e\80\83\ 3\ 3§è\Ý O^\ 1Ï+@\a:{   õسºK>+\91jpðø¹åÎ\93\93nP\12\95\1a÷À×ï\e½§\957ÿh\9f\17\ 1Ûv¼úP(.ÄÎW¯\81\9b\87¾müC-3~ÄÖîÖþ;þ4~ó\12[\80[\12\92\90µÄ\99\9b\17\80\fX\ f±]¨$\ e\ 4\10±MÜÞ°~®º¯\ 12uI\0Þl 6_   \\1añÁÃ\82\ 6óÍí^\0|Ûá«Ux\ 1Tq\19¯4pN£\e½óF\1eM ù¦»7­óp\ 1q\19PÁýLÜ1÷ÒÁ×\82»1\8bª\Q\ 2Õ\8a¹r\9b\10P Ç\86Ù"ÚUù\87ï \8eFU\11\aÿhãè°\98\1eë¹þ\82æLóp4õ\19\15-c\a^t\9f\89¦AÒ4Zj$%\9c\\ 3\9c\15#À>Ï\8d\9fl\1fØ6\9c¶s\15Â\83²MÖýå\89\ 2\99~½¨VðÁ_jæ\ 1_ÓènÌ¥\89 Y\15 Y\8b®çË\9bÍ\8aPë¡KDÑöQ4|[\ 1\9dê\8eÖy{C½d\9eÌK\eyC\85F¼¬ÎM\98\13ì\95ma\7fQÆe²yÕ¼\\89  d\fɸÉtQøÀ*â-å¯Ù'âY+M±:tÂó\8c\81Ï\801>\18©5q@\97C\99I\90Â`\0\ e\9f=Þ.åL.\ 5l*°¼\1f\1a\17Íðá`á\ 4Õá\8aÂ\92aØ"\1a¦\1f\ e\8c:¹o ãe¾\87\8d ó\97Z\91ÆB\17¡._|¥pS[gxÍ\9càtä¹-\e¿\16\8d\853~ û@ÏcKh\ 1²³\8dB\17\e\14>\13´S     \85âÂpüXOAÅ\84⸰\9e\8f\8b        ú¶\15\13Î\7fIÇi»ºO)S\Ùò\19ÜYù1\88\ f^\95¦^¶}µZ\99\81HTÌ
+¼aÙÀ\aĦ`
+[m-LÄ\95;3oHkh$£\15\91±T\8f¾x\96(\10+¥ZÖêd\8e*ØÊÖø<Ò\9f!sõPü\9ex\92\ 2\93·XÌî1\11\1dëwÈ\80X;Þ¯[-®`·Ò1O¥\83¾qo\9e\19o\9d#\ 5YÁ¾ÏÂ\9d\1a«\86Ñe_T\0¨OA{GÇ
+\8f\8a.Ç|ôé&0fÄ9\9d\9e\99÷ç\91\ 4=3\87\0i\8c\15Üò4\93\8e^VÅ«\10\e 4FëÝÔ1\ 6rW¼®Ä$õ{¹\9d#¨Q\e<»Y³s\16ÓÏJ>\99ìiÌ\13\83\0¿xi\9b=\8c
+_      þøC}îÇlí\99Û\ 3\86mθ\7f\1dèL\80\fǹ\90@\ 2\vC\18!»³Ô\82C½Ø\9av\99\1aYµÖôT\rUécÊ1\1erR´5<®J¬µ¡ÞA®\1fø¢ æâm±_\ex\1d¬[wÅåZÊËK·}°\9f}êP¿õ\8a·Úçt^2\8eÕóylhôQh\9e\13;9    \ 1\99µG\11Ù½Àî\7f\ e¾[zéò\81JôJÖÈÕWjO\91\rª'îÓBTé\9b#\84\15\r\19u\bkP$Á\91ÖÆÐ\10VëØm\9a7\86"\b\9c6\9dºD­«éCõ\ 2´\9cÓ·\17\98\84½ûÚ4¤\9fë¹rä\90\92\ 2\0\83&,\b#  \ 4$\96\83\7f\13ë\ f®\17\ 2
+¢¸âá\80£\14u@.Ð\14RãdIwñjï5\98ææc©\95\93k\1cÍÌÌE2\09\99²B\99\0\82\ 2*¢.\88+\9aÜb,\R\0       >þþþÿÿûë»\92á\11\a\14Ì{w+{»º»k««{ÅÕÕ]UÕÛæÏ\ax;Žáêï\17x:«½]ø\11¿\85\1aÓ\ 1­¶[m\91¶ú\13V\ 4¹ñö§\98`wõ\8eîü«Îõr\ah\ e\ 5.\88K\98\r\17÷  h?\bL¶Ý\rx\16Ú\1e÷fe.Gø-ÁYþ{
+@kÚB:Èý\89\r\8dÛ\80öó\ f\80káhJÅ\12e$´\ f\0¨z÷Ä,\92áNvÖ«\85Ù\8eî\92z.\1f\96\ 1\96{ú1 ¦Ã\8a\8e\86 \99o\ 6¡à\96\167ÿÌ\ 2\&SI       ¦\a\83!\ 5\95\805-\ e\ 5\90l~á&qb>(»~û.z\8cOp\ 67¸H~8 ÙrPs|\0v\10Ü \98\14]Ä/¿Á¹4\80\1e \12\84\10$
\ 4Îf®z\81k~c8üq%á\8dÕí2,\83\13ðï%ÞÔ\18©;¯&òò\98¢Úp\17\87\1a\8f\9aR\7f} ö\8a\83þIjÀ-]\8ag!~/pÒ`h\97iÒu÷\98I\7fË\14\90>;\1c_ÍÂ*õþÂÊÒ\98yÝI\1e\r\96òØ{\87\13Q=\ 2Çñéßh\9a\9dñõ\vé\80U7\90§¢åê\16ÐY¨\8emBê¡ê\16Ò\16Ðí¡\ 1´\1dB\93»jí!bv\1776o\82\16Ò°\869·ÞH<â\87vmÝ)1\88\17Tj\89+÷÷B¦q\149\eÇ\8c \86_\1e3¯/c¡aò5UÞL\874¯\\"mÞÇ\8d\0ÛÞH\11yvïwÅ\\ 4÷\9bÁ\9fäý\8dÙ\9aã1S\r¥5\ fÅ\97){TnoÄÕ&$+5Æ6uu/[iHðÍ=m\0\87Q$Ôî0 \98È5CL\17<\90\ 3\f\15Ø3MõÌ\86\8b6å·\e\vª\1e·ÌÓ\83ø§Ëا\95d\1cS\0\87\9fô)AFBÚ@\89\1d   \91\11\7fì`\rP×)ÒÌ\8bA21\ 2FFú¾t%;ñî\80d\19\ 5\80ÔòAÒe½·\8c\1e¬\10\82u}\99\90\98\84'\ 23xãÈ\0\1c\935\eó_\1c§Îï\82>J\¦£C@§c:(àØä6/yÍÂü`j5r\14\18ã4©G¡       x÷¢\ 4LÊz\17hDi~Û\ e|:\15¿\140ÆgÃ$\85`\9fÆ\81@ô®\9b\12L\e\11\  -\eò\a\9e+¿UîCoÐ\89\81\94\97\ eë"\11\ 3z\83"í}§8´¡G\a²"N?R\1a\15dåÿ7{5_\88K8ËÏ~JÛê
+кÞ\82æ\81^$\1déç½\13â]Gü\91\výÒ8J5lN¡?\9e\18%\8c\ eø
+\ 1 ¬gÂ\82H\81è7\81å\15\ 4;Ôxæsæ\98\90·'¿\fÒ\ 39LJ\ 5 ÐI\1etOX¶{Ì"Íüwe[\91gß,ú\ 6\81ÈUÄ<Á~\1fR~V\ eãú(ç\94ÇtO(¸hðÁ\7f\90\88\v9f\86\9e\ 1àns-ÌÔ\93í¼'>µÍÌ\ 3¢òþÜÅË\1c\9c\1eÜ4\ 5\1e£Òy~\1eQèWz@\95MLÆëÇÙRnÐï\ 5¨<\83@u«Ê?ÌXpZû1\1a\1a\14s­>ÜH\9a\bP\97\15!ß]¤\85¯Ú\92¢=\8b9\8fÀåá\89\96ð§×\10fúª\ f\90wìmeÜßâô\v\13\96M'AJ¢r\9fÈ\87m\bT\89 ëN-Ä/dz3Iô¬\9dåI\1a`Ê´07B|.\ 1\9d\ 1\8bd}Tó!wúÒáK­"ð\12bC\87i\vW^wqup@\v&|\94æ\93\16³PÉ*Vnigó\bËSdíñ\94Ðs­ä£çØÒ2\10&Î:\0BÓÍ\8b:z\85\88Ô\1f\r\9fçV=h\1c\82ðÖd-ÿ\156(úO(\bÜ\1f÷&ÿë\rÿ×Ð\15 }\99 .#ó÷\GâxÖ¾\98\f­ô\vj7¦:\ 4C\13\ 42Wg\86 <÷¸\ 3÷·ìî1\86vm\84¸\98LB·»ª×#¯\16\b_âwyݪtxOÀ®;ÛbCc\89jìa\92ËÕÔ¼\90\9d{=E{Îx\96\1c±¢m°\9auoÚ\1dß-Ä\83µw ­çØo\15\8aÍ~ó\fÊNï\9bZ`µÏ\1c\8f<øÒ\ 1CHB\14\91£ºj#==¤0­Qy·ßá¹\\11L\9b7E}\ eèTý­|\81\97Y\9b\7fá\8fø×0Ð\0\r
+çØ\12å\ 6ø»)¼\ 1i´ø\18Vq\r²ÙW«yÁ15É\95zÒ0"x\19P]V%çóðÓB?I@\r\8ew\84\16ºú;\994äýð£÷RS\95\ fßu1ÇU|\89\8eïvèÛp\91-\97j绬\9f\81Þ\7fPÃoÒF\ 2\9cÓ\8b¥\13\80\9aØ\ 3PÃ:&(W\fõM(.v\88%å§aìI&Ë\84­Ð{[Ïkc\a\e@!\9a\1c'"Í©\e1\95_t£Â­ÑúÎÆW\89f> 3³î4Tï{I\89\ eÁQ\ 29&ì\1dßÁ×tW\e\90%{\1dã^DW\8c\89\99°éJ3ÕÇ.\14\84!¥­«\8dFÑßt-«Ý<\ 2\12dÍNР)Ú_ÝsÓ\81"\8a\9cí·h©ä\9aI{NÑöÍ\88  £\84\87Ûê³?â\15ÃÑñX¢M\k\9cóÈU-4¤ôþZ¯(YÍ\7fmL¿K,pÌ£l!iÙ\99ݦÃ\8f~¯:åy)}Hgcç0:u<s\93A5s\92þ\86Óɽ\ 4\95:^4ïÌζȠ\938|\17`)\16\9e\7fö\ 6kÁÊÁ\8eCx\1e~çü"Ò17s\0êõÀ7x\94\9eiR\ 3¶¸\81\ 5\a©Z£\ 3ÍW\98£V\89@I¬ÅaQÿ6\eù7ºf¸\ 6I\18ò\88¡V  ÛUÜGû²âÒß\80\92Ö¾î$¥\1dÊ\aôª\15{¢h#À\ 5\1a\19àp{ìʹ\ 5Ó+dP®ö\92\ 6bä%=o\9d£ÑJ¡\94öÇú¬Ê¿\1d\8fç×Yq°\ 2Óá´    Í\rWdf¬`DU\90¥Úu¼-;\99ó\84QÕöÅ\9fû\bj\80\17Z;PåøxbX²Ð®\8a0åw\142Ùßá\97\9c\82÷wDÖxà\96-Ï©\rØ9b\94¶"Ôpò@bñJÐ\19t\8c\97F.\94öÛÐp\0\9b\87â\8e_\f\85 jþÒ\15\7f\8c«pÕw8\98ͬh¯Ä"8RÊ\9cÒ{ U0ð\8e\86jS04\ 37J\ 6ÿ\9f\14¼ø\884!¹5ï¬;½>a\121\89êI-ò|2\14x\854qÒ\81ß\ eúp5+ÏgÊ\90\92%[W\b¥\ 3R\eð\8fO[±®\98xÀG\13=pÞ\9a\ 1\95\7f\9a9K\ 1jëz¼!8%°;×\82G=A\9c1£H !Ýý±\v\9f¬ù\r:Ѻv[¹Á³µv¾)zÕ©5ôÁ8\15\93Y>\85w\ e\ eV\8asN\88\eCÏxÈÎÞ\8d%\9aj~»#3Yi\ 4\95À°Oÿ95wë\ 5\85Xoo\89\ 6\8bí\93E´¸xCÑã£\81(Ïm\89>¨­¶î n\15Ö õÙyB\ 11¸SÛ\88\1a\80\8a±eÐî\9c)䫽\86 tÙ\ 5j\8f\90;¨¸£ÁÎ;\99\10`É&P\92¤â\99ÅXì­í³F@
+ÁWrç\ 1ÔêÔ(\9c\19\90dÖ ­·\908¤9¼\ 6ã\10\ 1\89FzÃ:\bU\19\845ÎZ+º9Ð"ç8\ e\14\ 5I\95¯\ 4­Þ\82¾óy(ÏY\ 29\b&\87v\ 5Ê\9a\88¥¹\ f\0\8cV%9\1d\93\ 2>$ÛÝM\f\9fº\ 6%7¥\ fu_\15%8ð½,\195~\ 1]\ráà\10¬ \1d×Ä{\92{Àî`þ\88\8dÃA\1d\a¸\r®7\ 3G1\9942\95\89\7fÓy\8e\83dÆàA/\1d âé@\82[IÕ\91ääüÅÕ÷áx\8bO\95\f§x ¯\16$Î3\8fLiJÙ\8c\ e!qÃ<L(úí7\ 3³\87Õ¡QË>Xë,\12\85z08hÀ\ 6¡\9f\a¿\91(9¡DâZ\94^ðã\9dã\ 5\90®¯?\99Ïn$ñ/3>\b­\102!løv\1aÔç_ß-²YÐô\807{rÉã<ì¦ÊÚU[(÷\92ÙÛ\8f3;64gmM³<è\85\ 3¡ÇÁ$+¼\95²¡ä\ 2\9c§låò\b긦n-P\ 3*M\f\8e/Ð=P\9b\91Dï*þAòÒI\14¨×Q´yÜ\97¯!\18=;\10#r\93\80Ùl&\8aðm¤±y\81\19\ 6Ó\88./æ£\14\95ç\80$g\9dÈÑ´\b\81\82¢a\ eñ\8d\9f{¿ã\r\19\16®@\127Ä$Æ\93*#Ñù°qíNF\93\15\9d°µ\92{Ãèôv\97\óy3\8aáîj\16¦=H\ 6-X\85\r}¶ëlê\rQ8mQ\80\17fúðé     \12w\ 1\8b\a\83a& :ÙðZÔF½^Ä\18(µ­\92+ÀÅ\ 1±\7fë¡÷<C\8b\9c|ëY¬7\7fJìSòtO\10¿ý\18\1eGXî0\9d]Πyq\ 1â\ 1ݯl\b´\8b\v\9cæ\8c62Y>Ä\15\13*\9bqIªËªo.\v1¯&\1f\89-ÖX\96¹«°eQ¨\94\ftâãíq{\93>äÄUB\97\ eÄ92iì\ fe6qö\9fVÂõ¶²ðÙ®çÃ\13\1eç(\86§ó\88\1c³&ûÕd÷`>nU6£Hb»Í\0}@å\ fË_M\ 5)+\94ÅÙ\9d\1a\18\9b1\a\88§bH\1d\85\9fÀ\87RR\98\11êQð\a|àfx\9b/-[¦    {S3<¡7üÕ¶J6_\ 5qlÕ\9b­1\T²\1eü\1afzn³óZ\87ó\96[Dß¡ñ\13îxÓÁý\144;·¯N\ e\96Ü\9d1t\145\92\9eð»ì\10Ç\95¿IHéO\ 4þ\88\fÐÉ·À¼u\17§à\8e\9e\r\96Ø\83iÿ\ 3\9bvaq÷îëÏ7þÌÿ×ÿ«?·[?É\e\7f\ f+?¯ä'\ 2\86\95\aª·}Ä\8eÑæÃÏûÖ\a\9fË©XW\99Ë\f\9a\14/     (ø}óHlwÈh\99\ 5m>Bɳ¥Ìs\18§H\80\9c\11@y\ 1\80ö\82Ì\9a~K±\94/ióµt\ 6wfI\87gWR´T\904Tãq¹\ e®\1c\88\ e©\82^å\l¯\aN¬¨Fh\91\f$là\9c\94\9e\ 2úU&tƬw\853W\91!êîíC½\a4ãCº\9bÈvßæ\87w\98þ~ó\1fa{\8f\895o\10ì\150Õ=(k\ 3"3Hð¶Æ«À¨U\8a\18\95 Eýñ^|O\89\ 5´A\17s_I\8d\93\10²¾\r\94f\80½m\91}
+EÜè\18̧\94\81#Űß3SU%DÄ\9d&K\89\aI\92ý pö¬Óî\e;i\98Ø\fs¹ &\81\ 6pÊ}Þîç\ f'Ñ<·.\9e\r,\93\91?~\83#N»ð`S\14ª\v\8b\1c\13O\7fE9Mè\1f\aMêw\1e`\1eÜÕ6IÐØ\ 2³k\8e\8fÖ@\8aA:`g¯\98¼tßøe$\9dý\8bSßÊqiýÈñ\14÷iÛY¼ÀS¶ÜE\0ÃæÅ\99\1a\18ÎÊCW\f\9dý\158\1fm\ e1N\13}áâ|á
+ïaȼK\1d\9aT\7f\9f\11:>\ 2\a\0_Í}ª|÷\ 3\16æ\r<t,ù*\9dc\9bµPS®;I4\99ÐÍ\ 4ìç§\8bAÑ"÷\8cĤÁ¶L kç\89\98¹<\88qD§íÓ\7fJ\r\a\97J P\º\8cYSBT³*Ù
\8c6³î\9b¾áGwX÷Ü&Nç\ 2BçÍ\84ÂRH\a\84®z²\95\9aU\9dÃ$ìéd\ 3ÛJ\ 6¸]\9c\81î!ÇÄ\rp»&' Í\Vw\fEØà_=p®4BÝPÓR
+@\193ck\ 1U\98\f,\ eì!e\10\81èý³0=¦Ò\0ÎàEy,u\15×F\al\8c\0#\88(¾áÊhô`ªÀ\81áÇÒ"®¨tU(ÀÝ
+Y\8dê+ÝýCT-àï{Ø(ñ\93Q²±°\95­µ\f\9d\884º%]Gn\81Æ´ÞªyË\10å\14\91\13\14ÚÎ\99¶©¨h«E0ä\1aéÆ\17\15\8a\0l?\94¶ïy\9c\9dä\80ü\85\93x\9eàW\80 -¥·\1em\82aP åf\92\ 6­£\93§\ 2\815\997\107 éÁ±ó#\9aKg\17qnÁ÷\15\96\9dgnY\9b\911\92ü\99fâ½(»P¡IÅ\83\80\1d\8bCK§èÜ\1aHÜQÞ\9f´á\15þ(\8fÄ.Hì\90Ôê¢Dy\15¢=¤8\8f\97ãò">mx\85à\7flBô!Ä&\97\9ck<Î\ f'\93©À¼Èd\18\1cñ\1e~\1cG\94Ñè\ 6F¾h\90"µØêP\ f´E¢¸¬(P>\1eDDÉÃä¡Rè¼\r\8aó¦Û\99Ü\9eÐÞ:\88~\82kHX\9e\ f-Ù­ðý­_ô\85ûÎ7÷Âù¥¡|\91¡\7f\7fÞ\17ÈÅ\85ø\9føBùÛÍ/í}ÿýBþß\8býð¾~óKø/ùBõø'ïD~\f\8f%i
+}ÄfM£-}Ä\90 6èH#îÄ\9ccH\86£X6\12ft×ÿ\12øD¥ô29\90ûQÜæ\7f\93²ÞàcßuÄäG¼ð\9f\92qîÑ84å¯99)\19P\13\93'J\85¢ÎÖetm\12\bÒX`mÉ;Î\13\9c?{\93Âs\93 \9b8     ¤j<ÄAJ7\95%G\9b=yõOG\9bfaMk\16jRly5\1dìM'\1f^(ÃNï\80j\1f\95:=HË\ 1²\86o.ÁK±Ö¨BÀÊ\87ðU¼M;Ã>ãÇ<×]\b\99\91;\ 1\1fqÙ;ßÛ}\88\ 3è\15¢\1f\e·m\88Vèól^aØ9\9c"P6å\96áf\84\9eÕwÂɵá?\1e¡\97>òÞdh9\9c)¤&\18ñÂ>øa\1e¥®9c\84ÿ\18\92\91\8b@\81@\84ý«±P<;óx&\92ߺb\8boA\r@'°\1a\1dè#§r¼s{©¨=¤x\10\8cðNµg@Ð\88\9f\1c\81í\0\92\8bÚ\93AæäJ\84U\9b°    \1en%[ØÈ\16¦ü24\9còÞ\ 1\10Å\1d\888*Q\13è£\83 ¶E\ 5\82Cm²B¬\15\16\19:=pézþJ¬F\11Kf¯\ 6Û\É\f\ 3c,ø\ 6\96\10ÍØçRSÛ\ 6\89ï»\94M\r\8f­~C»óËØ\8cV÷Ô;²lׯËô\rI\a7ä­\83þK¼\1c\1a\ f\17\ 3R>\ fá'R\13\9ati,Ýô¨ÒY;Ë'q²
+E\19ß6\ e:\87\99\b\eÄ'N¨;\93\16¶z\89\12\ e¸Ù\ 3\85\83\9dý@Àð\b\92mWiþ\13:wÐLÄ\18¸ú\82Ù²¸K@ɲb\12´\ 4<GQ½w#\9d\94ò\82Ìù\1c       \83·\ 1[@\95f\85ój7Àl&F\8a?:âSÜL^\0\18\16^ÚbØSÕq       N\0;f\0zNx£¹«\9a¯bç\84$
\10j9\11\9a°H\10\87,\8e±\94&\80\81HàΤÛzï\9a\1fDþD\9cuÀmæ½³:Ü\7f>\9c\98õ\99\v[$SiN\ 4\aëÏ8 ³»¶Ç¥\ 3Ê\85cíEɪܣdÝXdÛ\8f1<?\86@c¦õ6ÛÞå}óñ\ 4îÙûm\10æ\¸zaã®|\13{{;\98\9c\14³\ 1\80«\92\ 1´ØE³\ 2¸[ YÕâá\90ù»$Ðt\ 4³\9eÛ\b®ÖÑE\1a©UtX#\15£ö?)&ù9M³q\ 3ré^V \80\99\8fÍ\8d£¾¸\11\8a\94:}rT\7fq¨vtÅ *õ\01z{\8eDæ|#\0|fÍÔb\99ÚÞ#:â\b;ÄìÀÒÈ;^¾$7X\ eG½N3\ f\96\88;\98\8f"%ÀÏ\04B\bÐ\87\91k\rÎ\87@  \89æ      ð® [ñ\9e\19*ÒEz:ø\82¨©k\ 1\19ù%·\83Øó1²\1a\99&=ø\võ OêÎ\ 5a\92$\v\9a\9e\vü\97ó7*\82cP(\90\9f\84\ 5
+F_\b\16à!*å`Êÿ\98\12ÊùüàJ\9d-$\9bÖ;´\ 4^l´¾Ö%i~7²Ù+F¦ï\82\98è\87#¥i5ó»Q~î\8a\97t£6#\ e?\ 6äêÊ$\1dà\1a@÷?Ë\\ 1ù<«$ì¤JRIæd½\1d\14IJ4yM\ 3S\81+;ëÌ\89z9\15³¿\ 4ùg\ 1(\1dê÷ÐÚ\8eÔV\88\99\98/Ǩ8¹\18\16\92\1dþ¤Í\9d×\94WK\9a\9dY\93*©öÊuËk{Ū`»[pó¼»´\ eNQ\91\7fW öy\1cк\ 1¥\1c\13\10\94ÃbÄÁú-A¤ÙùV\88¾¯\8ftn°;\9e\96\eZxùLÕãù\0ä¼­à\1c\97ç\13r\$?ê\a%Ö_V\ 3}ÿSN`\1c\97Ö¯\84ÿ;N`\1c\97\8d_       Ð4ÿy\ 5GgÉ\ 37ýB3\86P\89\1d\a\9c´ä\ 1\9bà©\8eÿû\ 37ÀY\8a\\fßêÙ|\80fÿâ\97X\fß$~W\8a\ 6\7fX\19¾ a¿úÀÍÿð aÿàÒ÷wC\8b\82Ñmß\1d?\92r.©,VÄ\r\1cA±_ü\ 2
+}\aý\81\ 5=åÑ\ 5÷¥\97þ\0\82\9e\95\8füA\ 5=l·Ì\b)ÌA\96]»µòË·v¾[ü\80âòô\97ú2¿ó\ 3ìü\19\ 3ìû     _î\ 3ìñò¿ØeTþ03\ fø\19oÿì\ 2àü¾,B\f6·ª\T\1eî       \1f\9f)yNJ\83Ýö²\9f\1a\83Ýõ\12\91\94\1eíÄ¢ÜeÖ\93\ 1b\88C ò\ e\80=?íP{ã\81büÀ,\ e \fg\19\10\13ÿ{-0ùe¾\U5o¦]SVð\92\f0\8chX\13-\ 2ïóë&6\9f$\96\ 1þädûYÓ>rDÚ<ý\f2U.
+\9fæ     ÆO¡3¤\ræd\18LãP\aK\11\91ò³\8cAéã'\1a\ 3\ 1ºÁ\96\9a}$6ZiÅ.er\ 4\Êþdeo>Où\90|\1cà6ø\81&p˵xéí\ 5s\º¹®Y\83]\f2X/\11'iÿx\15\7fóª{ü@.?¤\95\86\ 5ÏÉ\15¸ªv|Ë\ e\98aÍcp\f9¦7æ\v2â?üíËw¼\ 2K÷Ë:J\ e£åe üRã¯{\7f\88Ë\82üiÙp_Ê.YîÙ0¾uÆÓ8ìg\80a3ºålf\fºS \8f_gþ\92W}t˱>T+ø\8b\9d¼f]ëád\98aUÓÞ\15]=áUÀð´\18,ÿ%,õÏ\17ÕѼÇL\f½§\92\ 2ìGû\80§û°%Ìî\98\9b\12ëg2¬s\98\bçn»,õîã¸kÍÚÎ\9dc¯ä\ 1±gÚ.U}¢ãd1Þ~þÂýº6óñ\1d*ÇË&\ 5ÿ¼\vç>Ýc´º»Q«Álv\97\10>¾Pì¼GßKnUÊü¶^E\89.ë¿\80\15ÇzË\93yK¦^Eò÷{ù\99j¿\15\95÷p\9e5¿0\ f\8býÀ}\18ä°ÚnD¸\13þô#c\8b\8fÇ®\a»Ä³ùÈc¿û­ã#S_,\985\9f[|ÅTO½\ 2ìúOþ\90ĸÉn¿þ\97K¹Þ¨y¹Ðôþ|Èzo¯\8fý byÙ\86þuòë9sGÕ\1dÒ\9ezk¯ö\1aoÚBõúj\93:X/±0\19®oþÿ²1\f¯Ï\18º\ 3\9bÿÓúÆ!\86ù³\13v~Ì×s[öyÃ:Q,ßó¦t·\9dI¿üC\7fìûCe~¼Ð\7fCñÂxÄ1Ý\fîmßèÁï\13üwßãÐioï°\7fü\ 3\ 3Þô\9e\84\8f\9bÏv4ýþç3KêÑxèý?\82nÛ9¤±¦\83\90úý\7fC½dóôã^î*{\ 5)õÔzm½M'\87úl\14\97ü?\9fyâäüD±úù\9f·=ìÆ>ÈÑ\80ÚøÎ\86Ã\8c\ 6ׯp\87\9cd%Çþ\0k|cäÿ\19z8þ\86ܳý\1f}\1f}\1f}\1f}\1f}\1f\7fûç¤\ 6C×ýí\9fÞÜýæ\15²U­+ZÖÍV·­N¶¢·©­ÍVÔÖçët\95¯kk+{úß³[«­ñ+|ZÝ}m}nηÿ0ztTJüè\8enFQ4¼Uq,Å~Àð\fV2,ñ\97ú\8eèÅ-\83\ 3ìyñ`J\1fÅ\95Ã\eÆ,\a«ÿ\17ØÛRP÷¶N5¼|Þ\87+åL~\v\8bä\8b\86\1c)ÜÇÆ\a«ß+ûüÔÏÄ\88ôà\¥ê?þ\¥õh\92®I        8\e\82å/Qþ%Ê]íGø\918u\113j®Ñý¥Ê\\ f«\9ei"
+úóI|­ÀÃ\ 3Ü~\99\94f\r\a³\84®]í9\91\9fö¤\83Ø\1eíöì9'»\9dbå/Pm\15æ\8dÿË\ 3ãÎ>ñ³}L#dÅY\1fÿùj×\v¦s´úl"60ói\1c°}ÔÎ\9e\99j© PÖ\87àÊEÂ\8cCmùêeÖ\97½\92wh\ 1%ÛÇ,\9cY#Rtô\93P®hÌ"\ 2®\86¹)\13Bk®Ð×\1d\aô\81#ÐÇÇ.\80\1e_n6_Á\1c¶ú\1f\ 1Ò§\r;yÄÓ[¾&\9d·D[=\1dBÎÍ\9d4âë8ä§2ÆlÍ4âl#6\82GXK^W\874Ö¦\8cË\13iÞA\86ìþð cîXEkcÆò&\8c´\93gk      \8e­cy=UD\8at®^I½×ëHLË3[\\ 3.è¨m«N¶\86T;H_Ë&²rQ\9a\97\ eé\9a®¶\82¨Ù>0u`Ï림\131lQù4\ 2´u6\82z¡XÄ\89\8e#\8bÍ\0þV\akt     G\95.£ÌÒgk\93YG\9d{\88\91æ Í¢V¯¬)ÆB±Ù'\19\97\94ouâã.W\8bE4 7\9e\81Q\89\89\83R\8c \902\ f\19¤\86\9d§_DÄ\7f\ 5\ 2°çÊE\8eåL\0u{+³\87~\12\ 5»\8a"mQ\9eQp=\9c\1c\85K\10,8ú¦NõCµxZhC<\a\9d\ 5Ø%\9dF\90ûçh2F\ 4c\96jû</×\8f#UVey«É\9d\ f u\8cauÜh§
+Êõ¢if'`ðȸÕûã"ãWÈ \95î5\8aÀ\95ï\7f\93*¸>!\ 4¾è\9c^\93°S6\16\175\939;\ 5YáeÌÒù(1°Æ,Ë_\1cöMbu¯æÒÆ'Zìäáåc6lÓoJ¶V\8e¼ÊÚGf\ 1\18ÛÅÞ\85whb.Iæ4\93ªêI³\17\9cÐ\10\8aAÜx5'x\1ap\80\r(\ 4\17\91C¯(ègTáhK\96¼\84»+Ö\8a\1cÃ:¥f¯Þ\ÎÙ·ß\16\82*7b\0¼\83Ç\vYóÎ\fØ«ù\8f;%\10\14\17\r\11v¥ H÷\v\93Æ\10¡\1d6Ù.a7\9c\19\1dÒ\93\ed\96\86\9a\\94Bo9k\7f545S
+±cp\96z q)Ê\92 \ 6ßW\82ÕïÇ\rK\10²Õø\9fH<%×0($wCK(,á\ 1AZÁ\9c£!;jû\85pç®§*$n\9d\86\128\ 3£NÑ\ 5\ 5q̸WÔD²`bÚg¥w¹Õa\96':<ØÝhwP\801ÇW\86\87YÃYB\98òdåÓ\8f \8fë\91l\8e\0\1d»°Tò¹{îròûgx¸Çpͱx\82\8b::R\ 5\16NM\8aº4n\81Eþ¢\95`Q~=\e­\8aIÚh\931ü°\12­\9f\17$ÀõéÍ\10\92}J÷\88\13St\18Ò\88&Ém%\r:~4\92Ë$£\97«\8e\ù¡Mu|ʾL\90ú@ÕVDñ«ï/\98èöziÏoD²a\80\85u0×Ë\82\1f\9f[GPí\1dg7î`ÊàáQ\¬l÷\e.í´\ eÈhÈ\9f©\86ã\ 57u5M\ 6VlÇjQXg\96Ç\19F'\84Q½#Þ_gýk@¶³Ñ\10Å6æ}\14\80uÛ{ë
\92"\ 3\8dd1ÿü\12\18Ì\1anM\1e\0@@áß\85 $_´\9b·våoö\8dnòÜNYfòô\80\85ò\ÀG¿#|4ë\90ï\rò%BÚa\92ê\ 1º6¹b\r'\12fç B\f\9dY5\b'!G\90XäÊu<$À\97¤ß\1c¶ÁÎ\12\ 1\9b\ e+|uG\9e\9a@ÃIN~H+:Â[V9pÕÄzoô\ 1YÞí\e\94î}à¼B]¡=\16èè0\rø\9b\9ewx£:öãËP\1dÈ@®ë\19Ê\96\ 2õ\rÓa\ f¡á\1e\rÖ\11\9f\13þÎÜï\0\ 4Woöë\ 5颲0¡8\13²LVaô\9bt\bM\9eP\ 5|ϵõÌ\19]\95};ð\12Ã-ËÅxQü\9dÒnKä.\0Ñ\8a<ìÈYÙ\15\r»\ 4ª(«'}vúDyi\8f
+½®\8c¡VÀ\13²\93ZX\97\8aX\90\ fg Òvf~'F}      \96'¯èîô\ fm÷Á¤\1dÀð¶s-\9b°&Ú\97\8dBgk \8bÑ\8a\v|\92\ 1³±\96l\83¡áÓüôÓzÌö%½f\8ayËü\1cçÊ\f\18:RZ\9d±<\8d»\ 4æ
+<$èÓ\9ay)EQ\89\95\13yçc_\19ïèn\8fýúÉä¦\ 1Çé;ÿ«tMr\9b\ 2\84Þ'çÿ!\8f¤\ 1å\1e&\97E°ÿ\9e/\17\93¥ßº2þ\8e\7fídB\84µï\a\8d^¼íÈõ:\84\97\99\11!\10 zÙ\f2$\v\95ãq¢-ïBî¨\fòá\90£*f\80\0QñÿV\ 3±'R\16Â^Ìij\ 2³ª\16Ã\87\15µZ\e\1cdr%J     \80$\84\b\95\9eGÅnd[\1fo¯LɹÄcÞ_.\1csÜÍBÇ
+m9\85L§ñê-:W)¿Â\92Ý%)\84\ 5\98W\a~cåEåLãN\85ûÖ¿hÏ\17pjTYk \8a ì°òD7`#,`ÛUÜ@Ê\1a°\80~»Õ\8bÁQje[\9fqÚ¼\80uft±áËß\ f\9en.ÿøj\8dÏKR­¨·qàí\8e\97XNB\85b $\8e\12{ Mµ³§\1a8ÁFm²\ 5³äxãªÝ/\8b»LE8m#Q\86×$ÀØe(\bøð3\1e\11ñ-p\1cÝëº\87\8e1\13Áìk\1c\80ÿ\9bcOv\1flq\r2ïÍSÁëæ\83\8c\1c\137¢,Èzc$æý\ 4µ-à-gåÀ<®MMÚM¤b\8b2_\9aô>{û¦lÐl\9b\17\97Яz÷üô2\8a8÷NÌeȲ«Ðgí»V¨js\84\1eLÏ\¦Û(­°\e{Õ2\90Ãêm¹\ 1²áTQLs`»L6Øñ¬õA¨\8d©)fÛÔÑ2\ 6\86?ÿ\19\88ÀdÓoSC\80EBî\9deî!ùlÓeo=ê\ 2x8«¦/'\98UÛ¶ÜÁ\0¬CåmÐñåºÒ\7f¬qk4\90<  \19#\v\1eô¢÷H\ 27Öî-\ 5\10÷!¤](xWºP~DaÞ6\8e\b=Òíî\83Ý,õØ{¤!ÿ\0\16¯ç0iüH[Ì\bèë¡\1a¿WÏ\v\94=\1dýr#5:L"º;¾¢£\8e\896W\ 3£\88KhâÏ\99£\83&]\1eÀ\14\88ÕW61Vòß\14\ 4Nª*yß`\13S1â,Dâ¡eÀ÷#×Ù²Í0»n\1a\1aÄMÿvDMþë êÖ"l°¥\8d\90XGDiº\9c2&¾\85uP\1fPO.\13øãY>ß11\13l\1a\1eL\9b³\89Èj=ØÓëv\1að¬\8cP×{Ш¸\84Ùd\83¼6V&Á=\ 1\9a\9f*t¸\e]\8e\85v\\evàO<7ô\9fpä´ÿÄ\15Á\94\10ïëW\82\96\N\8b\87¬N\ 1\12w\8d\ 1g_\9c\13£Ö.Ö½S­\84\15\9d®)Ò\9d¬ÓårÃrnÎR·\85r ^Àh\95ëa#­\8e\ay¯[g\93\83\96×£\ 3Ï\85]*\a"\98\9a\1a\87ÆËô\81ø'¬\1aûUÃýb·ýªã©\92ñj¯´ñJsC*±\fªb\86|µº\9d¬ê°9¨¹y,ÍKP\81Q\1d\vÁæ\8c\f«>±\8e{I«yÕ\91å\14\143$Ë\88¬SõHK9F\ 5(\ f³¡þÍ_üÚ¿ò
+ÿç\15ÿ\ 4\95\8eë\95ÿ¾+ÿ׫ÿ*\r&\bWþXZL\ e\94æ~X\12\16¸\ e\8f~ªpIô\b\83\1d°\9ab\88­\ 1\1fo¿Sí\9b1\9a\aÕð\1dÌpr\98ǡɼµ\£t\93CòÂ;dºò\8d\0h,80\s\9b\aÙ\8dT}Dz6÷>\15ö<:U\ 5g\8cR\eM\1dQ\94\85'\1e\9bþµ2;\85\8eïáÉ\8a]u\90\84ÐO\r\1dS\80[7\e\eéæ\b\8cÛµå5\17H\1cæÎ\1c\ 4»t\81\a\81ª
+\9c6´v\0ðÓ\9a\87\99ÀX°ú\ 2\99\vÃÌ\v\98-õà"¯<Æ!\\888~\ 5½FtPu®\9e\rF½Õ\1ea«Æ¥x*j\y{È\ 2Û\9e\ 2\1e<IÛ~d+\9bó\96Û8\941´J\ 4¨ý\12ziÆ\82×!M \98^\1f¶TN\83Oè3_vý\0sf³lÇHfÿ\ 6©-ôÍ\bû\10¾<\9cs\ 5\12\84ya\81M¶O\0ߦÍ\80®_ÒgGy\vn\9e\9e\ fT¬.ê\9a¼Ä\9f\ 3Ã\96\ 6ÚÄ\16Ó®ú<J\1dQý6¯$ЮÉ\ 6\0Q\ 3ì\81Т¶ÖþÇy~
+\1fÕ´å\88NîTµ\ 3\8a®\86¸¼&wI µÚ¡®³l\8eûEÖg_qZhº\82Q^9ó¶)m52ÕâD\81\80\ 1;\13\ e\ 2MÏ9|\ 4\97{`\ 3,$àQ \1cì-\0Nv×x\ 1\90U\16pÄénB)JÆ\10S\85Í\ eýPxsú`êFË\83i\8aY\vVÅoÎú\ f\8a\ 2ù\ 2À{u½\ 1m0·\97\11\aâuÀ\10)¿\13¯¬ I\ 3\1a\83\1aÛ\a\ f{\ô\95ÚH§\85ÔÚ&\85\89ø\16\15´P\80-Î!RÉ\90´7ï\8dpSÞégEEáâs\151"\11\9bƬ\86H\ 2`çöÇCë/ȳOÓN¤°´ÍS\7f$\85u.%õ|u\86úDK\8c\18x%\99S5#\ 45LÜÔ\9fÈ\18\1eêióÚ+Âî\9a\88ö\8d eq#gX\9céR¬9YêÄñ\ 6ðpejL\8a&Úª\15\8c\17p¡lv\9a\81t\10]Ytr»
+\18¦\vºê\93{<s\895\0\ 2ù¯@8£\96§ðèó\94\17`"tÄ24æÎ>\84ËM¾M7Y\98÷ñ\81\86\9bÊqìP0\88Û\81¸\84å®*\7fÑ·\80\88·\87Åo\16¨\1c\9d0ôL^LÙU
+4ÜY\bÂ\f²¨(û+l\19]X\95Õ\88¼ïÍ\ f¯^WÐhª´\1d\ 6\91ýV´Åó=7ßX\epÓ÷xEç,û¤@J\ 2£ý"ï\81\ 4i\1aâ[\ fáZè\0ëŪ1\ 2\b\1d\94ßÕ\17\16VrªÚÙU~B\ 5îª\8bΨ-ßû²ªñMt/#\13=èO\95ìÅÉÉf/\ 1©Ù±\ eÚ\18R¢µS~\118\1d\9eb\93 \86²\91ð¼ß¤GS¾àH\15\b\9f¥wõd`¬¼"\17\19\19þbº\13^!Ù\89l?\83\ 4\9e&»VHr}N\15üó\89ä+º|H¼ô\ fÃâ\95&@\ 4{î¯\84l_\16]u\80¶ÔþÆ-pJ&\84OܬǮT\9d#X¥2ðO9^×\8cE?â\8c\ 4ð\80Ín\94\96Ç\r"\16å¤`P×ú§×lM/\8d\8b\95*1µg­f\1dFNÌØc6î_g-Õ\855E
+F\8b{\13\14\89\a0\ 4\ e«\89Ï\9dèîLõ3ç¨A@\964nÕ\898LY5Ö\1f\16±O5\14F3oÕÚÈü+\96±³PÿõD\10\ 5"y3\7fË\ 5Ì\18Úao\ eR5 \bA\8f\8f\1f\88­®}[U\ 4\ 4-Ý+j\10 géâ´tfئÝ[\85\98\8dJñÑv\1eHf2\13\1f\80tÊ}\92\e\ fqðìX\14\8dy\8e?=\84éPçá3L&Þ\89\86÷½@ÒYó"ïçH3\ eyó·\fr\86¼/Wg¡ý\9e\80LFb9 n
+Ú¸u\ 6,T\8ac¿`Ã\96Ô\8e´M7\98
+V¸+ä\15\1c0\9b²mfï\16$\1dÎ\16\1f\81sr
+ui
+èNs¼¦
+\15æSì\ 2ß©¡]b¯\10\0\81hßÞÌ\9a®ÍÓ1\9aF\ eI¿\ 6Å\8aH8¯Ôn´±è½Ù½=î|\1c÷zÛjì.\8cn,F©\13\v0J¦!\ 4\vÕÉ®\94°.+\10ò\9b[\8b\10j\ fó»º"á\16£à\17EGLZØZËÜyo·ì[mFl\9b\8a\ 4î\b\eÀX>ßû\88¿5\98©Wª¶hì=ö&{>9\ 3\95ZCs>~¯6~`
+RèÕöÕ¢/Íf9Ù\\8aÁªJXÚ÷Ë5Ѿ,?O8\ 64aª\8e£\9aÜX\ 4>\181\8d
+¨Rþ\10 /\ 5\a8ïÍdYü\8e\8eÄr¹\95è\10\ 5þ?Ê\96­aE\f\86µ¡\1f9p\839$£©\11P\87\84\9f\9eÁD¤Z\15ÄÖ\ 2\8cy\0*=\8d7:À\96@È'ë\9fÈa(9\\87\8d\1c\a³/õmè\8doDkv¨lwø-\15øm]È\93Rÿ\90CcíàÍ\7f\9aàØV;èPØç&\9aè±as3T¶=ñªË¤DJ$V6\ 4þ4­\15\8eÒ&Eusf\10ÿ\94Û¾Ú1\f\väsðÖØuR;c¨\ 3üz*Á\9fg\fü¬¶$\ 5n7\eD¥,R~\16NEÜgO¬#íw<h\85\aü´£w¤ä\8f¤ä¿·IÞè\97Ãn­®IGXaPÑ\ 2\88\18­\80
+yÂï\1e\89ÃÒ[\ 2J\ eKß}¿·DEU Ã\ f¡      ÑYyñ\16\1e\84\83qÂÑÚ\9f\86\13!\83\16¹¹»H\99à"¼âÓ|¡(¦\12QS\edKü\a¸åµ}Ó\9d®¶?Zk\r¡@\8b2Ñ-6\85\86\8fh[ó\97G@4\8cõ]ã§W\¼wÞª\ f½\96@ºdk¦7_(¸I\8e\96xa§\95rx\96Êju\ 5ò!o_{í\1aNÏöfdúI$\993\00 I     \812I 0e!\0H\16Ì\93"f\ 4\10¨>£Äu\9e¢ÅTµ\18L\10¢ÖC\ 1fO\8c­­\17Ͻ[êÛ­Ô¯­µ¢T\ 2ªHD\b\0 \aª\8aÖØ*Wá\821E\18\80³ï÷÷÷ÿìÌ\92L\ 2SÆ´Zû\9b¾åöûÛÎmæïCw¡½\ fs\9bw\9cöôý¼Þ¯¹ïtw¹½-ü\12Þ¶÷}ø\r½½ü\ 5ÊaÝmÚÛµ\8d§Á\13  æ¯ßSç-\1d§O#\1a§{\84\8c\84?|\10hÎÊ\8e\98,\1dy%æÑµ\vÛïdÝ\98Y\1a\99ø\86\1eÚ3±´\91BÊTAöLR\9f_/\b\ùViÅgT¾ÙÄm2ôL\ 5lé ÜÆ\11d\94/M¼«Ä«¼   \ 6ÃñLz×\80°IÒ§O+&\1c\8b\8aæ$xE\ 3ÛI\1e¦\9c\90ص\15&Rî¸ä\15³åm\84Éo~jÎ/eÛÿà\12ä£\r£fÇÕÀT¾Ì0 |\8eéûò¨ûµã\80çÊÑls÷êÑ!Q«\802\10¦F!\1c¾Ö.¶8X³×ÎËÓ¾wíeXí\85\95ÄlHÑüm \12"\12\14»rË\97\ 6ÿö\8a*2:-Óï\9f\1aíîÊ\8c\8f)\15nȲ\1eöɳ\8dß\r\9e\9bó\׳w³;±ým)?.´ÔéB\d\86¢\81\95\11:óò\89ëÊ{¦£_ÞT\88{UðImÒ\b{\91MXÌ\9e\1a\90©i\8c\80\bÀñl\89\96\84Öð
+#õvGrSÛ\84\18{
+2CÊåø2ÒÊj\ fL\82\ 1ï­c¿\8c\ 4±óøÌÎF«»»F>\b\f9|\1c¥C½?ÉÑÓ\15*ÖZ©ëî    +\ f·¸¸qâ\8d\93¶µNßý/°>¿\8do¯ßïý¿\97)\1cÄ}9x\8d³­ß\ 5Ó\13\e\81`åϹOjå=ú»\82g\1a+¸&\9b­Ú\96´\0øõ\9d,\r\95ëý<P\97¨¶M±÷;\8dhCW\ f»sEÝ£`\89³EôF®/®\1a\13SÆW_ÙÌsݵÂ\93ÐH.~Q\13!/aVà´x=Æ!ìl+à7 þE\17ÁÂåÏ\ 1®¿-¹Nq¶½ñ\er3 ²(Ê\8d(m\95\ae¡'ÉþfÓÀ|ì\92H»È\8f\15\88\99£YC\8cÙ]ä»6¹JBÙ-e\b\99¡D\ f\8aÌÉ~÷b®Æ«\ 2©\94Msű×\1aç\8bw1£\91ïÐâ\91\9d\9c_V§\17¶%Ì\91äé¥\0\ e\15ÙW\96Ø\85Ì\83r¥´Zßfø!lèÂ*üG\1aß:ó\bÚ\15\ eM\18\1eü{°\91ö1ÍO¸¯¥¦ÈeªÚä=§\97Ç\15\9a>\87\9e\11§E\83é\a½ZåÖ\97Æ\1e\15h\9ar é#WJò\91\19\ 4\\9d°Ôæ\85\8eX4v\9ci±P\87\12fÅAX\96¼\1e¢Ç\19wa0\eÇ~\ e\13\14øl²fÝ¥n±Æ]\8bÁòX§Ä\85íWß\ 1Æa\8aå\8cz\fëí\9fä\98\12a&ã\\18\9f\13­"\18\1f\9cP\88\86º\177SÃDËß*¡pYîköh\18R=:\172\1cÈÝ\vª^\9a¸\89Rïõ»ñéÚ\e\9e/ö¬õ\16\89{¹O\83
+l¤c8   \ 2\9a\0 5+xØ­6fµ,=\8b\97û\85w2 »Ó\8c^#\929æÐ\@ßùì­¿ñ2ß:ûå¶MÔ\8bì£t?è?|èuº:týG8^\99»\94é[¾ÑÎ9\1e°ÃA\11äÕØ\94®Äq»¬náã1xÉ[ÃúO|f¢\9eBÒâ\96qÆíA\12 \80 åØ\b\98si?)E\90ݳ¸\11\19\ 6]Xò9Ú·ÞßÇ- ¡ÀÖe×\96\1d÷\84gi÷(¾\99Õa\ e I\17Þâæû¤BipÕ]mõÝæ<Òê\92\97Ø\1d\17¹Ú\10I\9aë\8a\9bÔÚt\1a9Æ}±#D\e\95|¦Gn¬V|\ fÜ\ f¼¸·áí]1ÊO\97ªh*u\ 21SĬ\90\87\15\1e=5R\81ø\12Ò\97ªtý\17,\1f"È\\99ë÷÷øx\ 4\0W-ÿè\85r/FB»Ê¸\8aè#µ\15\9d\ 3ä\Õ½ßËÔ£Ù\9fý[rôg+\7f\9f\a\12\81\9f\89gE\94\9cg¤Å!ZÏ£¯÷\ 12íVÅ\9e¿\83.ùÔR¾mÐT§æ"\99>ÞÚ'f¯\9d\1dLY»Ón*é\1fÒ\1f¢ÑCí©ÉÇ»öb\95\\93?gv*ÐÏbUmÀÚ\81\9f¿Zï®)yåv¹\96Ï\r¹E\16<Îão\97E\98\9cªïyLE\13\92që.âcö|\f\19mò*\86\12­ê@\ f-Ö5Z*!TfÍ\16Eöm_ÿ\80P\16EÒ·\1f\a\9cVÌÜ\85 »\86ï\8dh¥cXRõøÍ·¨×p
+£Æs1æ\80sf\87ÚÙ\97DXJ\15Õ\11í\9aKHKµe¹\18pÛ¤×DN\8e8­Û¤\94\ 5²åb0\99å\1fÆ\88\12²*\85-½ÃªX\9brbyÓ¸ÜVh£\97¼\8b%|zʽÃFì8»éK\ 2\89\ 4ø\87EÊë+ í¾±ÈlPP\ eõ\99\9b63b>\93\90½V\1añ2\8f\16\1a\99\8d\88\ 6}\954[\17\97ýhP\89jf,õ¢¶x©¢³ð\97Õ°ð\98YA\89È\9d\82ÌJ¾ï\81\ 39AJt\v\1aÐýTi$ßìüJXÿá{h¾\83c\88Ø\9ab\8d\9c³R[\0¶cFýI\18úí+~Ü\90¶{ýÜÜ#`³ËÚ3Ëû\9aúY
+üÄzß=»\87¾\97\0ã\rf®U\90²+°¹\8d³Kõ\96ØíÉåoP\85z¶txYÆ»\18\91ë\e%\80]\1f\97%Å:öÊaí\8d\0\18ÝA\8b\13¿Q\ e&\8då\16(ÄýÐû\18yy\13ò\90µs\12`\16"æ>"|q«nôâu\83G]â·Ó¬\9d\1c\9e×\93ÚTØðãlTicëÉ¢%\0ÍôÄ\97»jÊ'E£\13\1f~I\93Ò\7fõd­Òr\1c¬\97=Û¥ÍÉY䣯\815®}\fy5\99E\1e~X\12ås°]É\89ü\1dÍ^\17\97Y¯lî\96\8aY\7f\ 5Ä"\8aØÏKê¢h\1a\9a]úõ¾Õ\ 2g·ÅÄ7º®R>úz·g\87\8c\a\8aÇ\84óÎqÙÈ妺ÁJë\8aRÊó\ 4
+Yb\ 1\16\95£\ 5¾ªÊ¾«U2§\ 4\ 4³ý+\7ftæJ_ü\a\95\1eèã¤vFþ%?έû;\80*òN,mC6þï\ eâTÇuwzßë\9e1ü'u÷\8eÔp\f¶´:«2\8fÊ?;¹.û\85»8û:Í­\18Î\96¡\19Ò\15\90­qã6½BÞ?ÕwÄâhá}k´\9dGb\ 5z\80,|ÿ5\1dÄ\11\99.¨}k¨ð8­\ f:Áõ²\94OòkiÛç\87Ö¢QAoÊ7¯¥\8e\1a\ f\e\9e\0í]\1fWl¦òëECD\9a¤
+e`0þ³\ 2\94 \ 3¨\ 6ªE]\1aÔÅ\84$ÖãÈ(Ýx;{ÈJ«êÃ\8cL®êê\õþ\95ÞÜ|ê\1cÃü(´ÚÞè\7fÛ-¡ÿh¶\87á²R\96Ñ»\95t\94â°ÞãôèU\95_s²\ 4\9aý{\93\8d\r\8eièóL4N-DUÑ.\85O¯Æ,ópO<ݼ\1dgUºz°4Kí\8eák\aDºã¸ð\91¢[óÆ\1f\1d×Ö;ZóÑ/l_s¿;¹.û\86\16\89zTh\97§=\12ûu×{\b\15ϲ¹ï[`ªÙØ\87\9dRÝV¾\ 6Ó\88;RÔÍ{\17\99ÛûPó·aÌÎÜ9t·\9eÁ\84>e\11\9bÞ\9d\19½g¦Ì\1cq@+\8f\12F\89ñü¡\1c¨\90É1XÕÎ\87\0l\eÕ\Ë=4Ñ\9cÆrße° \145\83\ 4é\13aPTÝÐ\99¨ØÔ\ f©µ\8a õ¨. ê¦I\18b\9bÄ\ 1`ô}ø %e\96Ç$d|¶\95'²Wr¿Û\8a \13|Zxàö·z\8e\13îÖW(\1c]Ýfý\82ÙE[TªâBlä ¦Í\ 5³\14ýëÒ6Äß,\87\91Þtã\85*Í:ÂÒÎ+\9eïHó³hF©\9f\11^~\88zì ½z%c:­\8eü¬pãÖ\8d]JÝ\\13ô\16\1d\8f\0¬f«ÎP;\15Ô³náÇ\12¢\ 6°RnÓëîO\e]Ê)Ö|\17\15f\8cfOÊG\1a\87·9\1eU¬ÉM\0\13;Û©.µÈz¼«éqMÙ¼\8fÇRä\1e%\8e¥ÈÕö\19\ 6\ f1\15\9a<\86<qM9\15ÕyÅmå [¯«Ì+o Vå\879ÈE¼\91VÚq\18u\1a·áo\14\8c; ­ý¢¶ó¡)«È®g¥ÍÝ\ 5!ë\U\ 5\85®&\17\ 6}\86\83Áº\ 4¥®/\993íæÝ7:bðiö$ã\8du\92Jnø£à:#d´®ÓÍ,Õ^-Æ·¶B^\16\18\b\8a\9e\98\8br¢¹çc\ 2â%\16'        +\8aëM\11äÎ48íbÆm)[\9b\0£#ZOã\eñþîûóg\187Útö@N\1e©,TR¿wà\9dÚL$¥ KÿëM\8e\7fRàêæhñÚ8à\95Çæ\ 4v·ç\1c\86 ][±:¯®<U\95\19F\8c-p\ 5\824\ 6ºp`\80*s\b\94¤\ eÈ<º¸4Û\aKS×UôLõ\9fHªÏ]fìTÓÕ.&7U3\ej\9a/2¯D\16¤
+/É \91©c²©Ýú \ fgUzõ4^H¸{Õ%(Ä/x\-óùg!wú{µ£µ¡g¬è¾\88õ1\1feXTÌYÔ\8fo¥M\16É\18²\8b\9cøfe;\95qfÎ\vâÊ<£&\ 2¡ö;¯\8ey;Å\8bb2lR)        ¯\8b\ 4Æ\b§/ºöÅÄj\8c§\90´l¥\9cÿlTDѹ¢½Äm\a\14«V\1fu]\1dâµ_fÖ<!\98cX\9dW
+\a§\ fë{Ko\8fl~Äqµ±z\99¨än?¹ôXÔ]l,O$éÍ~JB¿æG\8e\bð&©K\ 4
+^V×õ×»_÷Ö°=2SÁ\1e¨\98/\89\1e\a\16­¡\93¬ícX<eª\a§ÑNÝo\8eÇÏÑJ\95'\99ï¥Ù_\8c]H}Ò`\14¾{:ã\8c8mÔ\ 1Sîý;½\7fÃ/æ´ zôu\9a\17\9eÉeEÚ\1cb\bßýMJÎw\8d]#\9b)ÒÆ\99ÄÂl\85»>Ú\17ÕßElo~¢\ e¥
\9eI\92Ò¸¢íá=\9bwO}ä´\1e?\ 4¥ÚÙãA{|¾ÛÉGoM\93\86«¾Á\13aßq³6\84\16¹ß\8eÊ\ 4Üí¸¯:\12ïýTÉ\81Ót\vð!ÁǸ¸6\84ê¶.¼\92Vp\9fx¡ù*\0_Vå¶\84Ç\8dS?ÿ@å¿<ó\10â¼ñ<s\96ó/%\9d¬I®:\0çc$\9c"9^Àû\9bÕôôéµ ¿\1cX\1aJ,\ 4!0S\10~\ 3Ê\8a=[¹ \977Yâ\9f\8e\ 2V¹²µín»«\r\97ç\b\8eôÁJ)\14¢¢}\96v¯ó&yeùg3ê­\14Û\8aüË|95ÎE\1fþ\80ÁÎg¾Bõ?\93t8\82±\90ÕälQícÉ\80S©õV»©ì{·²\93u£4\ eTÒ­þÙ\9aÉVþ\95[\1e\b\7f«\90\7fËí(÷HäÁ,Èî((\8eL\1e\86ÙRË*rB\8e(Ë·ÀäàVé\ 1\81:ØÕÐ\80-\0\ 1\85Jæ¥\82<O¹gyÈèAù2\v\8fx¢õÃÝ\eK\8f$\88«á\84+\9eù\b$\ 3\8e\ 6/ç­Þó\88\1aøH\7f´.PO\88ê\8bÌÐJ\12\14\1e\19Wüg\15tk¦tÞá2®áò$ðUÈÞNø\86Ü\rîv\85\99 q\14q\85ã\16]\\8c\18Û+mä &JL E¶\15fݶ1\9b+R\9b#\ 5\1eU:Êë¥ñq¬l\91±Æ#\1e\88\7f¥°x\93\b\1c\801\9e\1cu\857ð=Ø\89ÎC\fi\ 2R×Îs2¥m\8bY\9cùÎUZ\ 4(4ß\1694\8fö[\90à\0C\15\80kÝ"H~-\94ð\18]³ ?ï¥#ñ\11\7fø¥#ü»·Û\93õ\99ÿ¾\94\8f½¦\1eüÅÐé\87·\a!þ? Ë÷S\ f\94
+`\9f¥eðÓ\ f{h8L»/\86\98{ï á<   \1f\86\98{kó È\7fÿ®\83!ÿþ®J"Æoÿµ\8cßÒ`\8a¥cãXÍõò<Õ\8cßpS)æºXÍßÈÿJÆoÜ\1f¢þ
+ÆoÑÈük\19¼ü\8fü\163{ÁU·rG´ÿµ`ßÿêÆ\1f¢ÿÔ\92%ãþ%\8c?\81\ 2I\12ñÿö\ e\9ewa*\9d4½¸ï÷S\19fC«ÿ®\98\8bú±ßÏLEÿCîïæ,e|\bÕߪ.\ 2ÿÖG²Ü\13Ô·ø\160Ø7þe/ãÕ|ùâ\94\1deÚÃß
+\97û¹\88E\1c9x§ÞÒ\17\7fë\97:ÿ6\98\88yÿíX*áÒ\80\91³\98],¿\ 6ºì\8fÈ¢\93{«¹50÷\8aö\9f8M\ 5\92¾\97\8aÙAWÒÅ*wT´D\15ã?¨Õ3üt\91ýÓ\83DêÊ\92\9f¾.\96êZ.\96̳WÍrK¥»\94+ôÿ\fºµÄC¾Å&·\1ct\9b½é¨\13!¶¿6\83Pîß\946×Ê!Vx5Ì\97É\9cB¬Ë\ f\94W\ fÁ«\87É\9e\1e       \b^e²ì\1e/\b»\ 6®`Ͱj­wVç\8b\95Vï'\ 6îTÁ\9cºì
+·¼\ e.Yv\ 5\Nê\983æèvX¼ª¸¼¢¸¾\r\^LñrÃä\95ÃÙ-KAÚA        \9e|³Q·r²£Ò~Éw\17Ã$,\7f\eÐ\7fÿ¡¦\8b\805¤Ö\975\9ceÛÊWæÒxc\99.ÿ**øq»\11(¼+¢    n\87\8cïÈGÿ¾swÿ¬sÌ¥IÖ¿Ô\7f5ÿû\16\1e~L\100ÿXzO\87J[þÐô¿\ 2UH\7fâ±/ÿbÿY\90è~k¶±T¿Oy%íb~þ=½·©\91\96\8c\8dËRx=móíôX.ÿ°\86\1f\13þ5\88>õaOÿ%\88~'Q:\89×ýàW'Ftx}F§¬Ôçµ5\ 5+&ð\TAqMýÛ\9fä\8a@®}b\1fRêåÐäª;\83\9b\8c£\9f¥]o'K̤Oñÿy×\17H)\13øbcY\87Èôo¯ú½\9eï-Þ{-Ýø\1e¦«\80Ç\92\14T¿ã\ 2 \1e\\84\97W.êi?ÿ+,úÉ5Ë\9b\9e\vgû#øßIþ\ 3êLR\r¿ßHÙç¤ÑH\9bÉüT\8d\98#ß´r\860òèå>
+FÍÐqE`²q£ÿÎ\18\83cWú\85ü¨\1d(\Ò6c\84\f¨p\82Hfãà¤lú\14d®¡\1føt\8d\9fê\ f\16u\ 1\95w¬î\8d÷ÈJ}u§ËøeÝû\9e@Jc<sF\11\9b°P+x$ÝÝ\87Ê'Æ\12\9bo^qÝûtÍͰ+S/³ó\90'\14´gã\b5\»;\84G8h}iß\98ÒÜ\aK\90à\8d<\94GYϳ5^B
+\97B\8f\b¢6"s\86z#\r\bbé!Hg     còSåÜj9s\fa¾¬á®\8e)#\1dB\1cI¯KXlNÝqH\10þÔ\99\90«8HRB;{\14\9fòn:HØ\11\9fë[»ÞÍ®Gx\1c\8e½\ 1\fsðè Q¾\èòóÁ®\8aɲϬ\9b\83\91$h)Êi;\7fKi\ 22K!\8c\8e\8a¯¾0Óûº\1cÄ\1e
\91Dµë\96+RxQ\84\\11Ú&ë2e\1d \b\11ì À@\92 É¿hÅ\95\96\88Q¿»Y#¢\82ïÔÎb\11¾\\ 5<ÓE\1e²) óN\ 2OÞ>ä­F\9b\13p\fT\83\ 3TcÔ!¯Ö¬¬É¢8È´Æy` F\17Øër\9crÒB\0uuÉ>À\8e\ 2\89 \93±\ 2\1d<|\16´©\bx¼4\83÷D\84þ¬¨(\16¢j¡îìm$Be\ 1O:å\82ºSÓ\8fã\96
+"`¼1ÅÂ?²à\1c\b\8bü¼\ 1 ´2!2ût¿2¾Ùdõ/\1cm\e»üÇD\aoÃø¼è3mðÏ/¬õ\89\vJ\9e°\93~»¹\8c«\82\84GÐ.]pÖÔÂ\18·\v\1d\aæ\9c*\13^¢¼\13¥¯4LY\18\0kG\98\aOtBjéd°Ù\81\8cÜÏKô\8b\93PÊF\92a\ e×ÎÇ\1cƯ9åëj\96\8aµ5g\8eh\88ñ\ 1ö3\905L¥hê·~D\89Î\14t\18Rq&|c6\85\ 1\ 5\ 4\9céò)R)BûVáG\1a\80 \9cù;R«#Å\ 6®÷!Z¸ä~jT\e+ÛxÊ®\11\7fn~\86ÃVÊ©Z\19ÿB5q\\98Ò\ 1$Æoò|\85\9bÞpð\16\846Ô²ozIg\1a\9bKÿY\92\13-"móVÖx\ 6\1ah:&¤\91ñhF\93\19êGÒ!:;ǵ\81\19\ 5KýqäU¥\ 5\80\8e®«&mNi´Ë\80ý_t®\89\8e4!\11ìJ    G\98\ e\fù\94æ\ 6\ eNdî\9eDÓb\8a\93Ýç\b?P²\94_Y\91¦Æ®¼æÄ;\10\ 4×É\84=µ÷q\85\8e1\1e\1d\84¼übÊ\vÓæ^¹Ü­±\87Ë\8eW%Ã\12¬]Ó\1a\ 3z\0TW\8e\90ì\8c°°{n\83yøz@\1a%ÅíÁ\9f¼ï¥\8c»\8bÔøN\98ËM\9básµH(VZ,X\8d\9c=üÞLn"ÅÕ\8d»\aTR\1d\95üfï?$YÕ\8dzÞµuèáÌ?3ôøÈ~gÊ«æzâBp\1aß\ fɼj\14N\87\1d\1eC+qö¹òü\87å\8bßi gQ\ e\87\9b\16\ 6³¯}ÖP\fªy\1c\98\aÜgN\95L\b\83p\848N¾~\vÇ("\8aö|\185)¤\v\8fºÖ\88°ìdÎÁïï¶\µ\8câÑìRd!=æP\13\fSW"Gù\96ÆErîlvC¾\a\8e\87\1c \90\9f]t'\8e\84+<¶\875µD\9e
+ÞÖ9ÕÅEFám\12ýÜ\<±çUË\18\14\1aï\9aýüYh\95ø\fè\1fý2µe÷\0\f¯Ë\94ms\8bíºÂ\91LSK¹ \17°ÕèIp\b\ 6\90\9e^`³\ 3\1dã\18ÚÓÉbá\1c{t¼ÒWùã\90C\7fÏ?ü\9f\rôbT\16HÏùøW\8c\0e\9d\8f\18¼\1c9öNäÃ\88w\12\80\86\16\87/À;±\88hOÀ;*\ 4x\ 6\ 3\87+SAÆäç¾Y\bÛ\8dÍuÞ\96\1eùxò*\89!Çù\88à:\r!Ë9\r\98[P-\0²l\ 5úê\97¥y\ 2j85\9a\15ë\80Udeä\18vtüE4PUw\ eV¹_l¹w¾\ 3\94?Ù+Ñ\12¹2P\86\9cǨÅÌ}³ê\]¬Sܦ,\99Ú]\ 2ë©\ 2\94\88\1d\14ä\18\14|í)Hü»©ÂÅ\9f\f^9ÞYÁ\16­§5Òvº(2\18ù9þ\10\aË\1a\ 2²\83E\9c}%\ 5ÃêYñZy-\8bÁ\95R\8c   ­\9f\14ªy\11ê\8b\ 5\ 1¤\91j^\9ar\92º*\r¨À+\16[Õl\10\1c\8b\92mu\809?ÜY\97\9biØ(®ôëgàN
+\97("Ú\91õü\9b\a\96Q³»\8b:DÜÖÅO.2RAZ\1dô\9fè\18\1aºKÕ\17\ 6\9e×8¯ù8Ñ\ 2\14Çx\8av\8a:­±\1cû\ 3·Ôí-\81Ú30ígòY­\97n¥\»\ 4¤Úü\8e        \7f¨øà#'N\9f\ 4\8epÝ0¯  ½\95?\14ZåÅ\16\82ª=.Éh\18{\ 1ò\bÏÄP£!\8b[ÙШ7BU|ê\ f>\8a×AÕ\94\vo\0×óìâÑ\ 1Æ*tí3ø\84÷$cC\1dÖúe½X}è\9b§s\e\87tTô*<dí:z\egBTë»\8a¹\v\8b'»F\14^\86~V×Zê·Ñ\nOGfÿO(\>ì\86èÉ^7ÆÆ\936ipE\ó\ 5À'\8a\10­g\1d\83\92\84Á§N;¶Tn\90Í\13\9a
+kE]\18½]S\ fÃÒ)\83\8b»hÄizÓðGmsVÍ\17]\8eÛ[¹\0\85ã\96\90\ e\90%\83p\9e]oÜ\9f¼\90ñziwsèW`Ö\98¤nÉ\9aÒ\1e"6É+ä\98\f?\f\ eÖõ\19,"ÿÓ6ià\8aõ(\81Ào\8d\9fX5·¿çÉå\8dA";Á\98æ8Y"§\a\95QhËä¤Â~ëX;ô\91É2FZ¿\9f\82\14ú\92ô\ræFM\1c\ver×!Î\95m^\90\1eUÆYÈ¡ü¾@üú#Ý\7fõùø%7\98\ 1~0z\102\91E÷%#X\13\93>\1dÐý\18\93Z\ 5âà\0\86\85\96yô°\8b 8\92E\1c´\19\ 4p¢eÉÃY\83ç\1d*½*tÙ7 \18ô\91ðph\8b\9b\96m¾8Ù¾KöTÒ(ôi;MÄþTSNnJ+ÈHõ­\1av&\97ç'\98\8a\95\81ÖÕ\17É\e\9f>ÐìH?¦d|2ßK\91ïd\16:5\87\ 3,\8b0\9c[\88\ e\1cå©õ1¦\9cª\1e«\8eH*Ï   ³å\ 4Óè\ 2\e+gi¹Æ¨\9d¨\8e\8a\8d\9f\ e\15¸[>ê\1cû\9bçÙ*7!\15\86\1cÍ\1a²«ÈÆ\86@ÕâtLûà
+îÄjò\12h\19\8b5uvÆ\9e®ØÕµvÅ\l\9c=Ù0qEê×\1e\84       ñ\alåDvf<#\8c±õ^&ãfà\0¬
+.-R\96´\ fôóÄ\86\99o\1fe²ê\ 5¨\ 5[\82ò¸(       Dµ­õþ\97\18P)ÏÉeíbë¥\8c\13ý²ú \80\18\7f\11Fí­/^F\ e_H\1cc£/Ô?ÅÄ4k"|\98\9fp\0Ää\10j\19\80\17\9b1\95RÓØ7\92\8bs2þÂ1Ôa\9d%\99Ю\9e\8f8\17\1dÝ\a&¤¦ÊøÉq\90\13M\14}Ìã) Hq\rªó\ e6 üá¤élÌfVzEÀiË  \a3\84þéËü\90\99´\17Û\16Õ®XÛ\1eY\bA©9b¡\12Ñ\16V\11Ð3ìËV[ëÚ\819æ®5\98*nlÛ\8b£]\11^\99w1Ç\0\855oÚ5oÙå'Lfo}\ 3Ä¥\1d¿¥Ï;&\98\ÔÇ\1aû*\83Äg\15Ü\17lS/s%©.YÜqé¦=w\93÷\ eß\90ÅÂWÎÌ\80?\83|\v?ËY£ô\1eÍ\8a$Ið\ 3A fä!8\99\97ì\83\84Û\83\97\ eÀ¶ÝµPäFÕæ\9b\84£Sï\bñûTÏ\1dC\1c5`Ða êû½G­\14ê\ 2rÕûÑWWã\91\96:_Æ`¨[i\1c>\v§m9y\85ß)ªã,á|\1dCF\84\ 4U°×¯\ 6*L \18db§\9bo¬´övZ}ô1ïyê\90÷¼_\82W\ 1´W\10ß\8cC\89ô콫$ö6ÎYþ\10Gt66ÔâÃ0\9d\8e_£gö\87\ f ÅÃèî\97Ò`\ 2\9a¿â\92ÚF9[\væk¦\ 3á\v\98Ëwø:ê;räã\b\84$§o­·&¹nÿ¨\9f\15ü\b\9a\96Ï\19=³Â«l\14R´;àMw\86Lå¼í\7f&»TA\15\8cs\9eÙlYòj=\ 1ȳAL)ÿÞÙ°OuúA\15\ 4\99ò\rPb¯·Ã²?ù\r£ÄE_¬<xûÎ\15\ f6éóX¥\8eØ\b\90¦\9a^üazÊ@ç\18S£ö\90\13²*Û\897u\93\14²KÐ$\10©¯\94aÅä1\18ë\86¿p\151V\9a¥êï?4\0ý/±\19 A\132A\8e7¦wÅ\1d¥\86Z(Ãb\13qp¨¢¨bÎ^q=Þ¸\10=¡C\88\95:G®äH ÿE_n.eW\ 1ÿT\ 1ïúc_§Ì\vDö3\9f\17\v·è1XèéÎ\7fä8eÇÆ]\a\f¼DçÀ\1c2îx^¾$ßó\85è¾ònð/Eì\rê\13VMÞ\85è¿´wÌäÜ0½\16øï\199»Ð½\17\9d;äôÝè^\8bË\1dñ¤Ýè^\8bÅ\1dðG\_\94\17¢Ú\9dóË\9a\86\17¢ù\13W\81z/Ã\9a\84\17¢Ê/  êé\9f5\f/E즹\81z-á£+ÿè\9aæ\ 5è¾Âkõ\85è¼Ü×,/E¶\9a\82\17¢ÜÍB\vÑssPBô_\1ef\10^wá\98*T\8c\85\86\1dÏ{3\b/E²\9a4\98ïÞ\99\82\17¢öÓ?\10^\8bðfy\81z/_3\0/Eë\f\81²øS0\ 2ô_Hi1§ïL\8fGgV;\84æè6\9a\96û\8cÜÉÀBÎ*è/Eô'|ËL¬\17¢úy\98Az.pñ0!! b-æo\ 2ô_\11¿$/EÉÌÀ\vÑ~Ûxaz/\8eR\11\13\96Õ·þ ½\17ÿ"\ 3\8eTU\8f:')x\18ï\82îkàxuØXá§õ\¶\12\18$üÓ ~·\f^\1f Úûâá\13­ß\85\83iÞö?ÍG\rO¤å\94|¾w\v\ 2/çpÈ\7fÐ-ÏνG[+ÿg-Úð°:®E'\81î0\91¥Kòkò\11\7fá(\88xrrÅè·¾5\8d\87ñø.«:ìî'^ËȦ\87'/yïyëì\85ó\11Ñw\19\85«nÿ\a\ eNkðäç\ 38\83\99¶Ñ\1c5\9e¥\f\eϳE¼ú\1c8\9dZ?í\10á¨ë$?\9aaÚòß\16CáýŰþç/ÛÂ9Ãû\91â¡L0¨\8c"]çÜóýÁ\7f\8fû\83\ 4\1c?¼îö\f'ñ:\89ÔN¢u\13¨\9dDê'Q:\89ÔN¢u\13¨\9dDê'Q:\89ÔN¢u\13¨\9dDê'Q:\89ÔN¢u\13¨\9dDê'Q:\89×üúÿá$»ht\ 4?\85÷a\80\80\9b\ f½ý¦\1dÌÆ     Ý!\ 2\a§áð¨{Ϊ2\8dÖ1u¼þ3\99A\97ïh¾ùJ\e~0"\8bô?þ ×ópH4&wöO\85\87ü]>ý\ fÁ\17ÆoÝAQÍÍ \83_ÍüL\8eü1\88[IÕ\7fQÿæÐT`U@\85m/¾Gÿ\9bAQ\84Õz¢\82\ fÿ\9aÈïõ\bÈ\1f|\8fÿû\1d>ýØ©#M-\1e$£u\\88ó\ 6[\985\9ac\91Í\95sh\96W\12aºò\84EûIîB\81\10"²lUðÊ\9b\ 3\80gïç9¿\80Ek\80\vù\14úß<Qµ·rß÷\83\87¬dr"Gbw\16zȪ\0é\17ç\88\1c\ 4\ 4\aÁ8ª\ 5q±|Ì©òJm\vaøÍñåj\9frd§î\9aMpæ\95ãáÍ\bUË´\1cÖñ.ÚþÌ*ýF\9dõ\ejwΧ(.B"Û=c/ÁÏ\8a\85ÆÇ\16¥L¸äN*ôGÈ\8cæ\95µÈt\8f\87\86sF\9bu.\1c\91Fá0D\19\14ÌK\90\10%ô \9d¦Ì8\86·\9f)Ít·Î\ 1i«çS¦Ö\8ex\85\90¤æU:FÎÓèäݧ\93h¦X\9dÚ½$m®R³#H\ fM³À<æ¦G-àÒ×\1aA\1e­ÒrÔĦ¾d~Lè\81\1c²Ó½\e\11°a\10\1d{)¬\1c½·a \8dAf~üÜ·ëç\ 1Ô½û
+:o\b\ 1G¥¯Ä\9cø\ 2çn¹Jîü¯\92ÍJ\0\19\19¡_¨÷'\83þ9Å\8b"ã$H<.´¸Õw\195rqôM²t\80\0\1cyIü\9a\92\18J       fO\1d¦.OÔ\8b$E!c£\98^H¦\9cfùx \88à-\0æoÆ$\vñ(\81<{m\ 6,r\ea
+k9\ 2ØSà\81\83\ exo\ 5\1a¢G\87{#\94\r\1c\1604-ª¼§IÑÆ\9cÒZ\1f¥À\ 3\ eË/>\13¿\86»¹²ç\ 1#\94\91\ 2ȾPÃ\14~®xà|\8c+a¬ô\8dÔ\88\1eg¥N\ 1»\15\ 1\10ærÆÁý/\18ã\1d°e\90µ=ê~K>êÁÂ(\11æÃtu#÷+\97¹NÁòN@V\a¢\1cͤ\14      \16\8aƬ\98\96Ûk\19\96êß\84\81K@\89øWTi%\7fϧ¯ã\13ÚJ\12·W2\ 2érâä÷\94\8dD\rsòúëu£qæ\94\ 5Öº\fåÿÖCÙÓ\97Óyõ|a\ 5-\83ãòõ8B\82H*\82
+]<ÙÛ\a§.®\1e¼4«©#Å3ç\8az\8aÝnT ²\80\13ü.ìÈÕM\1f;Scê$\1aÉyr¬¢º\94'çÎ\r\8bw\a\96\87ÏÂ\81aþ<±ú\12\82\16Z¾6Ç\ 1OR;.ãnéï®Ø0§Â\1càøq\ 5\8b8É].Ô\9a6GâÃ­ÜØÓ¡\8e^nyU£\82Ñ­×D\rÿ>\84µÔ\11@æ,SÛØïäßW\ 2\15m´¬%\94"\90r~½ð²\91ªâòßÏYó*¿"X\13Ãã\v0
+`%\8e    \vxB\83sü°Xx&Â3¨òw\\ 4\ 6?Ís#\11ä\1f`@Zë\89*9\bv8s\14Í]î\1d\10/\7f%;S]öQµ\95îæ-C!@\1e\15*4âÖ4]¦ §\ f¬\958\ f£\ eÙSÁ[\1a\81Ø\8cõöÒ\ 5\ 4\\89P\82}J\94\89ë®6\ 1ü8ôü\97=¿\ 2\ 1«ÿ2T ÝQT¥\1c¬/*óÐ;{\e\v·\94.ÞçåG\9chgN\ 1ÎiµñgQâE\1a\97s5üs¨óú\91\88ñ\85(     \t\ f\bn%.ùWõv\f\89óY§\15\QéibÊ]¸¢·9\v\97Vë@\8fï\11]sOu\9fÀ\81TpÂ\ 3¦\bîeÀ\\8e\1c¸5`æ%\1f\12\ 2L\9e\93\90V|\82å©´\83;5/\8a¡$VÕ\81Ú\81´b\9e\93R+6zÝIYýÒ³û¥gá\15\9f\84Vz²³Õ\95\9e´¬õ¥gâ\95\9f\8aV}éw}\81\ 5
+Î̬ìÊÏtV{\82³Í\95\9eè¬ú\92³þR³Î\95\9eø¬êÊÌ«RÝ'fVv\85g¥+?L¬ôåf¡Yê
+τV{⳶+5
+Ì«äÍ%±YÛ\95\9d¹Yò\17Â\80\7f\1a¹\83Ý\96³\e²Ì7¢®a\9a÷\98nVa¬Æa¬af\1aA]\86ÆÔÿÕËróËs\13ËqÚ\8cº«\90!\ 1\9cúÜÙYÿ)Yõ%g¾+<éYþR³«+;B³ìÊÏÓ+=)Y¨Vzr³á\15\9e ¬í\8aÏ|V~ÑY¨Ææ\84»i\fC\81 dY§ì'ôâ¢\8d\8cã\ 4\ eÚ}\ f\92Þ|ß%ºY\ 2\90^s.Ó
+\14¬Ã\17¹RÚ\1c)4¶\1cþPl¿èVÙ~\9aM\v\95¨Wf\1dÆÜö]<n\16Ã>Wk?J\99\15ò,TwÇ=\99¶*íXÝ«sOì\ezËî\aø\9fhÖõ@\10Æ\15Û1é\8d»ÖiÛ©Ö\87Ð\11_=«\99\95¼¾©Þ\ 2N'\92ã\9aæ©\94\16\9d±ó\89ý¬É§ÞÖ>\92E\ed͹\86qu;r\83\ 2ĵDÉG\1cºQMì\99°Å°0îöit¥Ê\99oJE_YY\92Ø\rÆ>ÛõÇ7\e\87ã \913 A\ 2ù»\1c/\ 3\88\19o\9a
+Æ­ÚÈàÙ\1fÈo\ 2l\81\8b0þÍ¥bÇü§õGý\9daSvÜ\869R3F gó¶,§Ý\80üTÒî\9b\9a¢Z3\10[\89\9a\aé³_=Ü77\16·¦õ\8a
+ÛòhR±TSPSkCy6í?ÊY\1eM\97FÜ7±y      =6ñåñOßÀ¢\a_Ç6¶ \82²b\9b\94\86\1a\9ee\88Á\9e\ 4\14\8e`g",\9f¯ÿ\8ea\ 6\89(ÑÙ4êà[W\94\ 4\19\9d\ 1NÌ<\ f\86\)\88]ËÇ3[>¤bÝÊ\1aÛ¿\8e\ 4®üÄ\ eÁ\15\rV²`\90\ f   4\18-\ 4¼\ 2\90\²·õ=°I\88\9eñ\96ú\93\ 40E¥äÔ¿\1c\88\8c\81\143[Ëå\86í        ù±Ëu\93\bÏ¿ãÀ\1dM1Ù\13ö:\96ËÀì\ráá\1f\12\92\82Ðÿù0\ 5â{ÜÀ_æ\ f\98Û\10\8d+:y\ 6\97\eÅ{\13\8d\86Gvì\88^\12Kz¸dv¢\80mu¹¯+\80hÅøb\80­{Îèó\81\96?\ 1x°0ØÿpÑ&î\88Ñ;\7fóá\96ñdÈ«r\95Ò\0\ 1
+§øe²3ç«¥ú\97ÓÈÏe\ 3\v÷x·µÙ³hF\92½´\ 4UÌÅÊéU]\ fÝ  èÞ+»û¥XÇ¥ëÅ\1fʧ\95&°°MOÏw[dAgèQ¦.Þí×\8a\vBR\9c\8c|Sý!\8e#K\a\a\ 1\a\87¶kݾ`ì\98Z&ØnÕ\ 5Î\ 6·jô¨þò\80Q¹F\8a\85\1dü\9a-ÕVÂ\ 4âÃùfìl\97\ 6º&¾\84©FíN\89®á[
+¼è*©øS\83Mc\9aúv2¡\\85\10-\97©Â\9c\1dáÔóMd\0\14{çFB@>­\8cidýÓîÍ\8bE6Å[,\13[/,;Á<;\84\10Àõ®|;ÿÇ\ 3[\9bÃj\96ÉFĵU\94\16(zÏlAº¤=cun\8f0çµ\8cV\1aE!\81ï8àß\91¬l*¼·«\8e9ã\\14\18SÎ8\1c\198"W\7fRÙ¹\8c\95^Hã¢\9fZüPm²\8b4J\ 3ê\1f`¼0Äè¯b\1eÞË'\91\87\1f\89ÏK\86¸^ØPDñ\92ªìU\8c\13ÊÿhµdC\ 4¡\1f¥Ï¶[p.\9bkW\81'Zf¯mà®ü;wí\93Ù¥ Øspû4\98¶0\16gÊ¡S\8fÓ\19N\9f¢¦Òûs\a\83\80×YXXW%PØ \9b\82\97Ì\1eÇ:bbIè\97Ã.\12\¨õ6
+\ 2\1c?\ 2ò(î\8fO\b\17¶q\v¨I¢AZ\92²Á\96\14ÈÐ\17gÉ~{ñ\ 6¤9\14iÜ´ìJúD\9c\bÑ©ì \fê\8e­\8c\11}³Ap®\9c\96òåB\86²¿\9b$Pè2=j½³ \12'Ãã\eP\bëICJ\9f'\93D ?ä¼\ 6\86\89\1f\bè\84Â\83\8e^T\80§\9bö·\18\ 2\82Ê\17\86\8aK¸â\r\93)\9dwþX\1a¸ïL\18\18¯\f\17B`ãºkRî/ÇJ\vº¢¡á«\9fê­0Ë\ 4-÷ÞÑ¥+ÿ}\99\99öL\84\993\ 4\91 ²\ 4B\v7E6zd\ fHÅ×00\f\8b\rpA\biäOm}\81±7U\84\86Ïj©&ä\1d\99>\99\13κùß&ê\1e\ró³u÷\80\ 4\17\92@\14\80\15\1fB\1a1MÑ\80  \9fÿ¿~ÿûì\99$\8a 
+\9aémöÔõæúÝÞ\8eÞ^^ró\97ܼ弽\vîsÝk}oZôobÝêÛü\ 4½Mç~òÞÕåê[Ú·§zרSß}uºÝÖØÚfø¥\9c
+1\88d°·Ii¿
+\18ÁJ=\8d\97b\1a\bçF\8e\87è:á\ e\88\9f\G)3Ü\80/Ò(÷ü,æQËÜtªR!\vÄ\13ÎJt\17\1eüÌ\9d\10)¾3UÔ6ú\9exâ?ã«\8e\19\80\1a\ 5\82®qKÏÀ¡>\118l#`\1f ¤ Mø£D\8b\9bѵ7òŦð^\92x8îF'©\8e\85\84ðcI^\rÁ{;åûÚ0\1d\13\84\82\99cRñõ%\ 3ü$ìVB\17@\82Á»\17ïB\89\11\8b\9bz¿]\9a½ês\9e°®Y¡·m\10\17"\8d\82d\ÜJýtÚï \1ea\12ÓhæÁYéÝ`«fâ\8d¯5ûÓdîö\86ë>\8d\93»Õ'\ 5h\19;ÕFñó\1fQ\97*\15\88\87ÎEÀrò,'p}é¶\98èóò!AݾHv\8cìÃT/WúLô¨ÒÈ\80\110ô@]ómJ\ e
+\8a\8b¾\vØ\15GY \10R\14\8b\1dü\95Ç\17gký$æC]S=\1eðß\a3x1øÒ\94h:\95_®l8ß\94þ\10`Ѷâ\e#z;\ 3`\83\8br{Õ\1d\81\ 5îÏ\9dÍÂ\1c\97Ф®·ï+Âê¿Îö\836\92½ø4Ö\83}9\9c\9a\7f\18ü\11pL'\9e\fC\83\99\0\12Y\84(3Ð\ 4\8eF1\r\13ì/\85½ÊÁËÞ­¡6Jð\88åù¿2\11\94¸À ,@mõ\8bÎ\ 24\11¯8\f.@z&Þàa\ e4@&º1\ e\91á\19PI¥~7â{2\b.wZ\vOÅaç
+\1c\vÂ#.\172zN\15ôu ~ã×@µ\89s5®Íà\81oB\r\95ß`(Pð\9eØüA\b\89Ã\ f\fo\82C\e]V\13]\83ó\0\ 4o×ívN^k\82\8d
+R\8bÙîd¶ÓþLäËv\93÷±\80\90\90{\88+*SP\ 1½ëͱµô\866R\9b!\80ȸÀÈ´\ 3\8c[\97\96ðYÒóþÚ\13Ss\1cü¸\90H]°\9b1\9d1äÖ=¦kÛÛ_
+Jx$2O\1a f\99ôhN=í¢u\97³¤ou\7f d;()3Ü£$¹Ç)Hø¢\80Ha\85\0\97\9aô\82Ee\1aà\14vìN¼
\ 5Ñ\99\ 5á\18°~#ÓU\7fKV(æ\×\92\vá2º6s5]ô»ç/rM\a"<Ôþ]íV&\13@Å8ó¤3æôÁøRÆã@÷M¿N¬ß³è7\1f\8ea\97\9b@h@d\r\94¤æ³ä`ß\84á\80\8b´äðÚ\10\9e÷¿\fìâ>\92w\ e~Þ=Xó\ 3î\8ap\8d¬(p\ 4J\b\9c¸}\8cà\9bðÛó½¢`\92 §\8aZQ©"üÖ]%ùIçqzâ$³Êmýx ñÔ
\86\99ç¡\94\ 3\ 6Ç\10Ðôd;] A¥ç§XA¹\9f±U©;\0æ\83\1a4·És±\94Pc\ f¬$\18\'\98ï\83\1c®æ \95"çv\94R$¹Ù¥°\14\18\80\80Í\18bê3l³¨Éá*7C\8ehøf=,ßnÁ«ûF\82°\93\ fë!\11Ò-\95\rêo\9chÕø\95\13áB·©8\ 1Á\98ÍÎ\1eq\ 1>2\a£ñÂ9"\15Å:\8cÞ\ 2[\12\9ff.\17\84¤h2B       AÀ\8fÞÕîbܽ\98\1c\9c\19yD®
+绩7¬t\86Æ\988J°$¼qy¶¶+öÆweÚEb\97\ 4zP±Y×ùÏÄ"\9a';Y@¸fì\92\ e£\93\fv\ 5¬2}\ erPh\ 4s\ e>Ïá\ 6\ 6\9a»`Zî¦1ÌCõ¶\v!ɾ\97ÍV\aÒõ\81\ 4å\80Í\9cY0?y¼í}Þ\ 6l\b#\9d\8fssr7HP^IOH\ 4W5è¡{m ñpó|©ÎÕÞ]ÞL¶Í]\\9c$°       Ð%ÕÐg\ e_jÀÞ\86m\ 5\9aý\9cüN)\8dø´|\13¾9sÀrù\1fº4Á\91OC?Ùdª\87VóÔ\EWôïm\82±Éʰ%\84æ
+¼åX\ 6s\ 4üß\93N¹¾\13[AÑ\ 2#\ 1vU~8ÅW\ epåU§eùJ®\1dÞ\eøÊ®\1d笪¢yÊ\96b\83®»ó\8d\9b\ e\12óÛìö­Ãà\87t\13\92Ú\93yÀ]ô°\ 56\8fR¥Ëvb´\10k\8ax'\1e¿\ fۥ̡\9b\15ÿ\8bÖùàõ¼\b¥|Â\ 5\176gmº\10½{·âz÷¾C\ì\8dñØ9A\971üð)Æ_.ÎnÞmW\14k%u»;85à禠Pù¤ÃÒö{p\91\0\9fù@c\8eõaE¨\7f`\95.l&ô(¬p!¿ïWßÁuY\18\vÀÚâ±¥/«8X\10
+k÷w\18\1d­¯8\18\1c\84<\f
+Qý5Ç£|(\8aÿóç\1fØåg\e«¬ãùÊdâQ¢\18\15@¿³ÂÎ7\ 4ÈÆ®°-%Î\ 5u\9cGÀ¨áàM~    \88\8dÞ!Jt\85H¢mA\91\1c\ 2\93\91çxÌ\15\84\b}^ÕpG\1e\17×M÷\ 2åÑÞ\8b\ 1\ 1\87\1a£3ùqb\14æÚ\7f¹À:\15¸¢­4\9e$§+\0SÁ5IGYÓTS®¨\ eRß:;\98\8a\89Ât\82\ 2)Ò'ôÏ¢ò\84Á¢Bt\8a\95êú\18Ò¯ ëy\91Ûs\ 1DáNX+\ 2\9fa\97ÊÃ\98/4JÎÆ3WÀ%JP\17\82Ê¥YQ\8dÚ\11»x¯1Í\84Àø\9c¼\1d\11AVt:\ 2Ã\ es\81\9f@¯9\96ÖpAÍ^yS\Ï\ 4TýÛBkJ(âÅ\e§ýú¥_9Ãé\fØN5öâ\rÿ\1fT\9f\11¯xuÇ\8e<\9f\18ØMêà¤\80ê\0ÈC§|¿)\r\9eÇöÄËò\97æÅÑâ\88\v³=Ðc\81ÞC\ 5-üãÞòª\14Ýò®Ù1_½Ã¯\ 6ÃÍê\11\12þOö\ 3$ór\80\93\90~ýQÝ\86Zï-:\16'd\8aJN\9b`rî\7fÏ\1d¤G\9c\184".þï\83\eár\92J6ÀL\15\rÆÔgÏ\f\ f&yÞ£yD\ 5ÐäíÕ\9dëj*\fñ¶Äkó.óæ@\1d%ÿ\9cÐDÈYæÜMÞ\14ê\89\1cm\ 2\9c R\8b\14çx\7f\ f\b»^ÏL\88\13y÷«+\96\86Ä!øGá½ä2tc%êYËèàM\10Äò\13\84\f0A\9a¼\81\9c]\94c¨¶?/}»ÜMê\9f\13zoL\ e0;¦bÏM\1dÙ\ 4\80\16\ 2="+\17Þ·Ø\98Õ\94,´ð`õð[ó\98\98³\7fñ¬ô̧I°51\9c{ °Ø\86)\896XÐ"TëïWp\88c      ÊK,<!·"Äo(\9fl¨)à\96\88NL·c?sw7¯\84V«æzf\99«åÝÜ   \9fX0\18\ 5Ø\963sOów8±SÂ\91\81®lâ\9béæ\ f\1cìá\1c\15ÀsöÙé¶;¸\ 5\1a\81÷\7f\82\ 5Üj       øÔ\82\:>\7fmsGÏø·4|ø\7f:\9e)\80\96:\9eX5¼Û©å£!J\97SË­,ÆÚûK!¶\8d¥\88Ûai^6â\ 5\9ech\b®é½\1e$ky¹ëÐ\9b\99\r|ôP¤èúùè±üÞkç\99\v\7fI×ÏF\ eÇ\81°öc¶0êy¥ 6\90)ëݧ`W~bÐB\15¼õòÓ,6ãm'FÜu£¡·ÌÚ9\e\918\99­Ç\84vzÍnü\14Ã!­óV\92\83o\9b´\18djÏH\r#\ 6êzFÑ Û¿\83×Ï5¼\0É\85eÖ;¨Pí\9a¹V\aÀ\86ÑXJ\82h"\87{\ 66¼x\9e\a;W?7':Gyt\1fM8Rv\1a\86Ê\94nÈà\ 4gso\97Ó\9böK­\b$?;zãZÀ<\ 6¶Åå_\ e\87k\ 3õRdw?4\98\83Ü&\1f\90`ÆL*áÀ\87\7fÝäë¬(óß\82Ó'~\ 4\8dÀ\ 3\89\97·\83\13A\ 5\14¤$\ 6|\9a£\81¿\8dîãèËA\87(,\ 6 cÅÉAFÀô̰Ì\87¢yb+2º8\8cÚ>Üw¬Í\824S\ 4\0Ko\84\81V\9d÷}b0pU\92Ê+\§ø\9f¹G\85ÐÌp\á^Ä;Âèex8Woq\8b@ïP_]\94íwð6Nôá0,\ 6x\e<.\863\83\85{\8cá»Â¥òíøywo¾¯Zo\96A\88ð\1d\89Þ\95wâ`\80coËQëÖ3\95g\81\80îæV\91ÙwÝàpè]¥\89iSdk1µ$wÖ\12Äó\156.uP¥\13S\17&çN¼ïJ\9cÙ[e\ 6Å\9e\8fDxô\1cÜ\v½XÇc\ 4·GsÈ;Ïð\19è\99è\18_Ýå\9d\8b
+\9f\ 6\156ÇN²OÈ\8eàf¢\81\85O0Ûvñkw\1d½E\89²×2\ 2k\vèùIemÝÕÙ¯v¹53¦Ì3ß%¼vs¾Â9\8a¥ì'ÀoSbìr\95Þ»>0\15µÀ ¸àáÖ\bÓØÕ;*\9f>¦²§kSº?¡`CÑvÜ0Ð^Þ§Ìwõ}Så\8fU\97\83A'оÅź×OGá{l^\94ÚCÊê\83ßr»'\7f·\80\88g¡gà»û&Ê®²M{½uËSâîûb·õ\94·°C©ÇärMê<öõ\10\eÔlYè\19è\80\v+³Óbðév\91yw/³\9aÆýkö\89zsÑ\8b­ò{Þý÷K\91J±æÔ\11\9d\aÝEéÚU\9aFk\eèÙ¬  \1a\É?zÞC\aà      Ë7ÉmÞü\8aM¸¼¥¤­§£þk5\98ì=NË>û¨·\83\93\95û,Ö\ 1¬øÅW³ðYè[Ôì[ÔÀoSçõy\§UxI¦ÿ\ 4(\1eEÇ}è\95kå?
+%ZùL\ 5ÿwôÇç\8eè¹åÿ¢@¤\7f\96º\ fþù\98§â5\~ï`®·?\1e¿;¿º\84æAÖ=Æ>o\19\96\19y®Ì!\1e?ázM\17 \ 3\9d^ <à\ 1ÿ\93        Z·ç\ayý"¸\8c\15\88a}Ê>^\9a\8eëÏ|Y\81Cz\85HÂç¯ñ\8c=»Æºÿï¿äõÿ\ 3YÇä\9d©?|$\ 5Ã\9b\14Z\90 G\89÷+¦>Cýó\ 2\88½Û
+\9cº¨°ÑþÚ\97÷ÇÌ54\1f-\ fAñ>á73\86m\9bùA\15\7fÞ®~ï\14âþN\82ÿ4\bñî*˼~4¦\ 4]\12D$ïßþò\8e\0oï)\19\80\16ý\11í¯=$\ 6\9c\8dÐAg¥8\ 1§çÎö1óç{\18ù\ 6\9f¦\93C¢8?\9fRÝ5Ý¿öÒgp²&bí§§òüÿþóà\ f/ç¿ÿÛþ%»Þs¸ú<Þ2\97\9c Û¡\91åöl|¿î_÷/ûô\7fI\13ÿ\97·ð>×Û\98ѶѺÑÑhþ¦\8e£F\9fº\ f\8a\84Å:åü\90¤S÷\0\12\9e\9fÜ\0J¿\1a\96\1e\9a\92Þk(e\8fõê\97{2Aqï6\eï¿6!·DÑ\vy6\9c\1fI¡ËÉ+Û#³ÿãZ\17\ 2úî¡}Smñ\99Ðpè\92¿Ö_»ÙÿY=\17 >sѰø»eq<\80ñ'<\80ÿ\bÅW\ 5/\9cdê~{|\89?Y\8c§,Ðâ\19Òõ{e~dú\ 3\92=¿Æ¥CÂì^Áçáÿ\87±{:f&\ 2\1fàzÐÉ\1dÈ%~\12 9¨\13ê×\87Myn\1e)Ññxáâë\87Ä\12\94ÛL$\r6íê6\83\8c£ß\8dá\90qà:\ 2\18+&½×\ 6\ e\aã\7fV\ f}xî\10wË:U½\899O\12m©C\84¸:î@Ã\0²ó\87\1f_bC\aø\94L?!;ê*0ê!\82zÐU\9a.\97\8dZ\1c\9f\rqIϤ<é2Þ"(âì{]¥j!\1eÜä\ 2GÉî\87Ó0Àõ\93\0²\85\ 1\8e\12âjÊ\83äÓ×§£\a~ÓJÔ\ 6â\ 5\ fŨð/«\10\12âÃ\vÕ\84aÏÁ\80\13\7f\9fñ\82±º­Gï\82\9fï
+Úy´q3"\aì¿7Ï«ë³%\94T\11mÕõº\1dªHãQ)Þ®\9bÑü£Ás¤3ãP\1a\ 3NTã\9díR¢sä'"rÒÒÙ|4jwÕÊÂ\92d\1cªH\82E$\97F\ 6VÍ)\10ñ¹«õd\9cÕîK³Us\15n\92;\85ãÙn\84!°¢\93\ 3\ f1¢b\f:3Í.Ì\84¡=\9b³.Ê+´[\vMcÉö6\9c\ 3M\1f]iV3\8d\92\8e¦^}2Ø8\13\152qH\15©\90rð      M\11*i\85\90³\82½lþèa.µÒ¾ÏÄ\86\83\ 3*\8e\ 6÷aIÑ`×Á(\14þM¾Õ=Ë^\82r\90\ fWàíÍ­\8a\16I"\f\93 Þ`Àèú0-\aÁ1LKè|#&¨Â\8fZ\89ú\bºJÁu\1aë«ÓLL@x`oHJ\9bæ\96\97V\10\1d\f,q)v\15«\96\8ebkÆ|¸0lmpÁ\8ad\a\16éT\ eG\eØâ\aØö«ÏèaÐÁ\ 2\9e\88}\19\b}\10"µHÚ~\ 1)º{B+×\12d÷Ã;5Üj¤\82à\17Oï˶\9dö\ 6?\9e\9el\9d\88\90Ý×&\1d\98bëpð\81ÐsÂW3ÔÙßgí¸\80ºOߪ´û®%U¦²òªÓYsUi¬¹ª´ÖCª´Ö\1eªÓYɪ´Ã\0ÿ\87#\1cJSZ\9czÜ»¶k\ 58Y\85ÆÕâq³Ýî¹³ÔsÁr\13íÓgR\9dM\8b\97Ø0\8aðMT\1dî{µD£\96OCøF~+õ¨ù\82æ,4nõcëø\&\16ß\86î\ eÝ\9a\1aÿêåÃÿ\99÷[\91¾÷\1e3\9fÉ`¯\19Ï\9eaîJ]~\1c\r\15\bs\12é!Ì,¦B+,¢\1a&~\1cZ\95/ßÇ\ 3\86µ?\93¼\9b\99\9dÝK·\96=J\ 6ÚõúxUÿîáGòÿ¹\7fÜ¿î_÷/ûõ\1cÝ4/\9a \99ã.{ÁÐx:/\a\8aAíú\81\rÿýqáÐf¡\a·¼ä7ô\94L\e\90·7ì'\9b\ e\ 1\e\86_ö¡\9aç\16\85µRÞr)dI\19V³ _a\17÷Ñ\1a®ìT\98\8f2\9c\ 1;¨jï¶e\bjÏÅ\7f\97\80\a\16\85Àiyþ®\0\1e\99\12Ê÷èÂË{\9e\0\19÷öÀt]\87[Jý\7f\14Áµ©¿gÖ\1f,èÏo\95C\ 5Ï!=ͧì\e"2y0i\8d\13D\b\86ý\boݹi\;ö\891öjøΡß@êRÝÒnÀB¢ãò>/^Å\ 6\99'¸l«\ 4\1a\f\ 1´ûß \1e\1f²\1e\1e < \84ìw JøS\ eÏ\95ß{Ú\eÅ\\8f\84k.\82è\aÔß"ï½úaã\rÎ\89à\9b\99\1fb·y\17C\0\8b<ÀoG¾Î\84\8c\ 1½*èw Ùé\91ñ\ 3г\1fpÖr)\81£ck´Çãßb¸N±óË\13\ 3õÍ¡\ ei-_ÐáG¼ÖtM`ÓHæMæ\99\9d\95ÍÌhrÌA®@¯\98g¥¯\99Æð¨$\1d&\ 4\eï'Oõh\8d\7fA¾Ì\ eû\98\1dP\8c\98ú.2j\8aV~¿\1f=ÔÖ¢\1e\8a±9áÑbL\82øÕüÎNW7\83I\91z´ZÀõ;Õ=0úe\85\ eä°VÓMågö\97\19\98ès50}\81\r\9dβ#]Ó<ÖGõy\¥\80i\8b\1d\8fÈÃÍ01ÇÁ\99Ã\92)6\95\8d\9a\80ϵ\ 4±\81_}ý\81÷Ü\Õ´þìS\1eº~Ô³P¤s+IÑ©½¹¡Ì\eÑ_/ªI\8bÖA½¶YKC\12\96:]ìp`\93\ 3£
+\1e #¨PÈ4×\92ÇxÁñeus \91\ erô{£_\9d'\9e[\vQ\83êi/ª]\:\96t0\b³6h&\14\0\8dhäBήפJn>k]A0öü\ 6\ 4\9b\8fQSÑ\11\ flt\9c¨ú\14ZaعS} ô Ðèt¯}ï}\16\80J@ñzNd»ÒÐ\9c£ÖA\8e÷¡ ±5\97\84¨Ý\86\bÍb\10\ 6ØQ\910·z\127ÎærÐ\12ÈI\84\15FX\8f\9a\85\91çÄ,ÇwÏ{\9e\1c0pSa¶Ìþõî\aá\81\8f6©ÒÅE³þ\1crXÖ\81»Ò\96647zRÆÇú«{cyd\ 3w¸Ø\r\80îøÔY@Èæ\a}4$ú\r\83\rô·Ý{\1c\8aa
+°E\8e$Údòy\11\80C\ 6\11Ä\9c^OÁ\ f¹4;̬\f\8eH±0L\14\12¶¤Ü\ e-ÚJä\93\ e¢ã'\93ÑIPż¯ç\1dd\86^<a÷\fÞ\92ë0;äÝùÜ­\ 4k¬Àï\94\ 2aÛ=$ò¶_">,\92`7B\1eW­68
+^\ 3Íd\9fW\95\81ÈÞ\93\85½\rÙ0\11cus½\bû\a 6¥\vz\f<#½\ 6\bQ\9dhù½íè7`A\8f\0ªJ\1aÕ9´¹¼/\101,&"`zr\ 5§OXu\1aÈUñlÀuBÉ\82\98\rè¤ÃºË7ÂE:qÃjMæ²ß#\92\b\ 3\93PÅ¥Ù±Jµu\Õvo\99J¸Öësq\81\ 4\8dÝH«\8bÃ\v\ 3\ 4KLÔ\82FÜHÁ \83\19\8bµÛ\84u?\18UÙ°ÂW\9aØ$\17Xïè\82F{ÊæÁ\ 4\8cÚ\1dAA#-æý|û0\82FSËEï+W\84\121÷fÉ\1a       \11ÈL^2ר]ëüÅÛþ\9c.e\93\1f3§µö:¼­\84\ e\1f\97ýËþÿÇðm]örÔ²Õ2ÝÔ·ðË\7f\14·\87\96\81\96áK_Zó­eZ͵ê\9aæZý6¿U¯r×@×Öj\8c½þ_\r/\8b\97ÉKüé|Ü»Éw²ÿZ_íËêåëåü\99}Ô¿³.»\r\17\86½á³xz\8c?s\87ïðÿÚ\1aÙa\ f\83_\9e\87Á»\13y.I¾îz!µG2\85½\a\18Ý_§\80Ù{\1cu¡ÿÿfë<(Ë\95\a7\9c¤WüÍÖ\7fû\a\18þåC\11¾Ïò\19Ëu\85\12ãVÇ·Çæã\85\ 2N\10þÇVß"[_ñ§\96×üoä\96×üqÂØ|w÷KÇ\9dÍ f\14\8cê8\10?f\9a¥Á \17ÀewO»\85ÏÉ\81á'Ü\13X\ 1\0>\13í\11   \95\14&ò pØ=Âë\16g\9dé\95'\a@o\14ýUÓ\1a\94÷$T\97BXæ0l}ÖÌÆ\rV\X*.ü$ª\9dõª\890Ún\f\ 6öü!=\82²QËË~°\12ºX\98H#ëé
+3\90Ƨ½ÆÓNHfLèú6ÅËÚ\8b+\12¸âÅ\82îÔY\ 6h§ë\8a\12É"\ 4\11\r½m.Ð= \16w¬        ð:¦d\89¾3¹årV¬ãÊ¡ßt(^\8c\83Ù´­¨û+&\84<ý7ô\1f)Ëì\85\94h\v6î¦)]\1fx¤?׬¥\ 1`JI\1fº'W¶\89\8fÅ;À¯wÜÈÝ7\88ÓçJu\8b\97\9c\1e³5\82RD'ZäçN\97ßu$4\89ºÉð\90ñ\90=FpZ\0çXæî0®\80øPI÷\1c§þÎ\aUy\8cÿ£ðdq²³wï\88âù \ 4\eâ\95·s\80Þ=­<\ö\f\90M\84B\83þ£ì\974B\80\10ø\95Ñ¡Îm\9a.x\18Qgýó3Éà\81ÄT«\97«ã\0\8a\81Ãø£«r2\r\97\\14\e¦\19Y+S\14®ßã²ìÔ$\9f\14\95\81î\0ól"¯J+æB\ 4\1fú)?y\9aÓI|JOÚ\92\vÄ       \1dG\9d¯    
+e~Y\8f\1eæg2ºV\86ö9\9c\14V\ edO±å\ e\18rÜg³H9u­ü°\869U0\a\9cñ\91r\94]x|\82\8cµò}ÈL\ 5\84\19\83Å\f\81àN>Ç4jÿâúCû¡ô\85Ã×\1epI¸\13¤\8cQS\8a\9cz\1f!\12G /r²\8dLyÆéH\84:\r[Ö¸Ú4X\12\9fÎØ\ 3ØPe\108+\8f8(\1f_8)d½ñ\12°\v)PÊ0D\84\1f\P¸\eð_ àñ¨-ò!+z\86E;*¼D­\1d\15\98%Ú³LhXNM6· \90\17%\82üÙ\8bÀë'ö·,¡¤&f\1aã·D'ì®ö.°d\11¶o\91\e\8eC\fÃdé\90Ñ\eI[\14{oR´ÄQöQFÕÇ;ÒÍfb¥hp\1d\84PêãÃ\14"a\94\91\10«\88\8e\96j\82*R\82óXÕ\9fÜÖ3åþ1´\7f\bR/\a÷Xbßò)/f0Kp­:W\9a¨\87ò\83 \7f¾\95õDEP\8aZï-9\ 1=ä´93aùÑîFk£ÆC¥0A\v¼\9fÖµÚM¾£\fXg\8e¯~Qï÷\aß\b\7f\0\88¥Ês(\94}\r\1fE¿?F\1fjCý{\9f\1a\¬'ÄÛüuïå\10C\94\ eFÏø\88ü\11D×Ûý\82ú<óT¸ù\8e?¡Ãæ>A\81Ð\8bÀ\85Òp-pÐ#ËJå\98ü\97#Vú/8å*\852tß\1c,\85\15×eØ\ fç\1fbÖÂmõ$î\0ú\ 6\8f)'e´ró\7fs h\ 5\vgÙ\ü:\1c\fkÞâ®t\8f\7f7<$\ 1ô\0\99Ø\9d\11ó£VÇ8\1d\8b\ 6\1d\9b}\9e\1c6fô\1eÆühC`úÙ¼\86­ß.7ØNùø`è\;}<A\ 1ÈqdI\8cg\1f\ 4\8f[c¾åè\9fîp\1fÏE[\0Wê$ßüÅëá$ßâ\97ûÿ1&ÿ®\89þbMþ¡\0\7fêO?Á×è\fÿ\b\9c½\8eújvÒÀ¨\9dyäÚÆ\99}x\83\92oî²%\br\95\87õWC\86\13µÄ\96\85!K\81ÍôtÄJ\8bnAçOÀ\81\ 4´à§\eâa.*Ý\84D6G\1euÅCð±\84­\1a\82pmÑB\1fç\8aÃ\ 2äW\12<ÑÉ7k\98K\89\1d,&bÏ\rq&I\1eñ\8c%ÅÿHÂíq\1f\8c\1akQ¶ò\ 4\9f4\ 1\9b7´ön&\85nßVÐQoFNØÂ£\11\15\84\18À&\89\f§\18\8a£ò\9eìhÞäz2CÐùÓZÕ¹\15¡4\v}å#ô\1a\9d1Äeͱ;/Jz\174ÿ\8c\91\11¯Å\11 \13Ø\9b\fLpÊ\85<é¾$A¿Ò\146[\f¸YL{Ä\1a vö|,øéPM«æ\93ò\96\92:'\9fàÄ\1e\87lrö©\88«mÈ÷1\17\1aΠ   p6ãR£A¬"Qx\10\7f\ 6\9f rc´\ 6~Í\»5ô'è\ 1    Û\12åóM\1f,@¤¼°-P«\1dôÍ
+éÐ\95Ó®\10½/M$WL\19]<"ºJ\15Ñ¡]:1VÈ)¥Jè@L½\93\82º\12Îd=\1cx#\ eetlWM\89]6Eï®Jéª+£áV¸é\9d\15Óí\95ÒĽöt®\9d¹]\ 4\8bñ½¦Ë\15Ó³+§\f®\99\82ºf
+è.\8c­í7^WLy]4EÓH\88êßy ¢\96/\9dØr\ 2`\15ÔtrŹ&\e\ 3©Â¥\96.Ø<!\11þ#¹Ò\9aÌV\87¶K\98\ 3ÅÕ\17RU\86\93Óý¢¤ó\88ì\vìæé \16\99v\13\8fd@øÛ¦xMâxèÜJ"\ 4U\9f\90\9f\ en^âx\ e ¸{\91\8fÕЩÓY\9fØáÌ hgUz¢#\95Êrï\7fçé-ÔfCs\12?1}Ú\19\7fJHeýjõ`À\84ÔK\8c+-Rõ`À\84ÜI\­j-\17\958eëÃ:\89,\97\11+Áì\97\9eK\18ÈýB1ý\9aáC)¶ä:Ì·\90ÇY\969z\87¢\1c\e`ÃÖM×ÃYbÿE\v\8ahLßX6âYåç&\86y¤"
+\8dÀ\81\86v\17\14oq§âÁ8ÿÎI\1eõt&\98\1f_©%¼fP\11©$Jv{µÐ\8eÉIÙ2P\1cx\91\17ð\82+\13ýÉì\81)¥÷óUä\12\ 6d¼5ö«ê\96øl\ 6\r\rTö"*5ËdzO¶\87\9dºÿñ\9dH\7få\9cù_*7òü©_\aòX_\1f+ºC¹`èwd®<\aü?ß\89±¹\1fðþ÷tWÆî¾ù\1c5;ļ¿ó¡x|\94Â_õ\9báûj\1cŽû\9bÜÎx\f¼}\17ËÞ/ò¯\12³Þ_\17ß\96\97\ fñÒáþjã¤\17÷\87j½äÀ­ôwø\86Ò\8cзiÆ\96}»ìö\96ß\8fÆ\8fÖF\7fõ-cc\bÕUò¥ã>þ3úÒÖ0àéÿ¨Ö\ fÑ\9cÔ[ѱø\92Ö1\rOñGª\91â¾\ e4ø*7 >´ô\a·Çã'Ñ\1e\v\9fÔg·ÈKXÐ9ÑçB3àé6ã\ f¢¹.,´\vñ
+BÛ­°ô\81b\8d)\93\0Ó®Hì\9fíªN\8aN\b\99Ù_Gz\1dúUï\9d\ f\\8f´Ä©v1e¢QÛÖ*B\16¤\fèx\9cØá\ 4\1féø¤ð××\ eø³/¸D3\97Ë B%ܱ¼Ú\96
+ ý&ñ³\89V\0\ 2Vh÷\10½&ò\8fq\fRoϽÄE\84\93Zq\r\12o\16÷\11\1a\12MfÄG¤±î"A\9e\99¾\ 5ÛÜD\91­È\1aÞ\ 4ÖÁýñI\9aß:k|é­ßÍn\Öä\8do\ eåö:>mó\99B]ò-%\17\90\13Ç.Öh`\12\1eIK\bX(9ä\85Wâ,¯\8eâ\15\86a}'\87Ñ*'\9a!\ 5%gÄ\rn\ \b,*Wkõ\8a²\91©"¥5\87ÁÙIÊ0Í\ 5\15\12«H¤\15¨\ e¬ZÉÒH=_N\12#\ 5
+MPgÿ\90ôe\83\867
+á¸\ 5
+@K\ ew>uøfUºC
+ÄÊOR   À\87\ 4«Úkee\83\15¯\85\9cyX\9e6qçþ\1cã\1c\8b\1fO¤°AH^¹\1fØ?Å\9fìUi&\ 1Û3®\15¬.Q%ÿQêÀÏð¥7\91\ 4t\fë9ê U\fjØã­yøÑ\9e\1f1Iæ¾À§\81צ\80\veî@Fã\88\94k3ÈI\rÃ\ 1ùL\ 6Õçª\ 5g\153ÑØ=xÎÚG-ý\ 2»ßü\9c#ÿ=\87ÃÂ?Õ°üÜ#þÙ\87é''ý;\bdäþm\842r\7f\82-ðýb'á \ 4\fÅá\13\93ù\12\98u\ eø¥\82K×#Å''äh|ù\ 4äÿË\85,\14xëò<rr\7f÷Qº''þ\9aÿÎNOñ¨üdäÿý4Mÿ\16J\91å+W¿Ú\93ùMÈÇ8<õAGÑo¾~´&Ä\92\1f\8f ü\80\r`j\15\80\bU\9eø\8c;t­\9en\16\13E\9bï\ 5\9cë¯\93\aÂÎ\12\b\89Mz^Zd[\8ff\14§ÁìS\99'\8cÂ8\8f`y8\92\94!\ 6k¸£       ð·\93ÞÞÛ\84\9aBÒ¬pº°\97ãf\82Ô>\9b¯\9cI\1c\19×LÿG\87p
+\bm/\9eßií¯gá,\80ÏÂ\89WJCEî)\ 2«í\ 3=\13z\8fA½G\8eÞ£Ì\9cK\84\12£´g¦Èáܵ\82\ 5!\99åuVJo­¬håu¼ôfO{ßå\1f\ 41\7fPÒTW»Ò%XïHÍaÚæTë\9d#9'é[\1aÍ\9e\90(¿\99ÚMÀQ~\93ip&À0Í:|\88Ò\ 3NÍùµ^Å\ 6k#\80}³ë\94£5+T£5$¬äö\fð6zç-_ÔXÕÙ¯]¬\9bKr\14`Ôëz\9fA½O\8eÞ§Ì\1a0\81T\8cg)Õ@©ó]¥êáY¬¿æPR\8céy¬c\97ö\IÆ,B\81f~31,\85\ 3\ayx9\992²¼hÝõ(Ýî\ 3¼»5\99      6Îòà\0ùý¾Ûp.®F\ 5©ÆÆf
+\8d\95\9dø'\86©saQÿÁXÄ\ 6\8d8ä`@\9b\ 5Óª{¢ªWqÍ\aº_\9bHÊk<\80²\83\ e\ 3\98:â2Ëtöä¿8>\1f%°B\8d×xW\1eÄ`ïÓmAë\85SU­¼æt]K\8dÿÞ'|þÜíPã\10½}õ\14G¿\84\9d\8d\8ctÕúd$:Î\95       \f\84Ú\12\12îP\90Y\8b(é«ÞAµÞï\81\ fÇÚ\ fÇãr\17,#\16\95\1fïvÕ÷\86x\9eñ\eSÿ¡:×ãѱ÷Ô,âùs&5ýfzü;\r+m'\ 3îqÈqYo\97\84GîèF\r\a£Ù'ÝÌ3¶k¹\88\8a\9a+\8b¾O\15Ïy\eaß'¼á`\aKoÿ¢\11®\f½IC\84ßÊ!\1aò_÷!\1aþÊ\93\1c\17ü\84#]±â\16ÞÙ\ e$Æýî¥\9dç\12ygyòf8?z<³¼ýÓ\NÚàý­Õ\16ó\ f8Æà¤\8bÝË9J\9b\17\bý\9b\94\9dOÑÙ\12Qõ½\88\8b¤\8f\8b\10s\91dû#¸'\0î\95mÄ'È\16*ChRD \7f\ el\15Ãì[©±n\bêà»HM\90\98²2©\80­4m\15\9a\85\18E%r\18þ\9f\15\8d\1cTýP\82Y/\9fQ<\86|\82®k®;$ -onÒqôÜ|#õ~\v_\98\90\80{³õZy\a7¼9LD\ 2d¸Të§ë\1c`w¾¡úÄôî9SqÛ¤Tå\1f\f\82T¡ïÒ\ 4$ëÆ^\8f¾JØs\ 1\10ª[\ e`\1fýºØs\0à [\ e`\1c\19\15°æ\ 1Á0¶\1cÀ89¥°æ\ 1À5\9c\ 1\80ô\96C\98
+\10\81\93u%ê\11\94B\1cÀmú\ 4.&\ 2\12È¥\eÜætB¸=̽\7fæÒ«xÆ    îï\99\r\ 6ßy/~a{
\92\ 5£*\94w)$Õþ¡GÚ\8d$=      #ìp×sx\11\91éAÜ\89¬\9e\9dcbÀùÑ?\99áQx£>\89ù:qG\1dûbü\a;\8b\82x5îËÖ\1cYØÍ\15kjô+[X#ZÛZ²µ¶¹}kmy­ù\ 6óù&·°aZÚÄÖö1\15­¶Kk[lÍ\7fò\8doË5ÿÌ5¿4×û#[ó\8d\7fó×V¶Ú\1aÿè\1aߢkÿ¤k~\99¯öf·ê\1aÿµ5¿U\8dkm´Ukm¹°}Á­îM\83¦kv\86Á÷F·jl\1fvk\7f\80Ø>ðÖýh\90ѱ?!
\b"\ 5£J2Îzô\ 2\9f\98\87\9e\85\15lÕN\8f$3>D¾Qÿßçþ\93\1c÷\ f\98\97~ÿ\91I¯Ý-øx\rþBßÍÀoï\16þ\9e\ 3\7f\1f\ 1¿&¶\1f\ 1½©\16#HÕ§à7\84\ fåáp\eú\ 2!\14Ì\v\ 4ñ\96qx\rû\95\9c\9e\ 3~Ýd.\ 3\7fÏYÇà7øË.¸\rÿ)gçà7õK9E&¿\92RIÈ\8díå\86^\86}@G\83íh*>r¼¢\90¯ÚÑÿ\ 3H!.Ë#ºõ~ï¶\9aÐm¤y¬m\1cÞC\ 3ö;O\ 3ey³­úÊ<¿ëÜG«·\ fü²ê}A\ f\aäµ`ãçË9û\16WÏjg\ fÖÛü\8e\86
+1\v\18Ü»éü\99\19YN!a\7f¼\88Vªæ4±\9fù\96ÔÜL-ª½ßÇ\0Èp\83³Wývéÿ\90ùç\ f>ýíº|ùå·\ f B\14Ã`ø\8e¤ýawãj[ãíÓÒ\9cܧè8¦å]µÚ
+\8fÙI´Å3ÓGâ\9aì¼b\9bÔ¿\9c$\18FkÓ ùS`A¢æ¶\941næ]- è\1dÌÑ- ç\9cÁ«n\ 39,+9Õá\rp7     G\86\1d\13V\85;\ 5\18Å=½Õ,UÄû©%[v°hæ`\90Îý Í\r@i¥`ÏK\8bXRJ «³bÖÁºçãÇk7\91ãûñ\ ed\80*{á\83\e\ e¿«
+²yÐ\19Ëa\87À\1c+\9a,(!!fÛ¡Ìɶ\9f\88\vN³|ØÃ\80î_±£ùphsÒÏîd«æl¡õ\95\9eÚ[=.üdQ\9b\90\93\92\bc©Óúë­Á\9d^\ eæ\81®\v­Ía÷NÂ\13k\9dL"\94×¾5õ¥Ê»\89ß\8amK\18®SÉ)#*ÐyZàæó\87hǯ\16\9c\1e\r¶|¡£\ 4æÌ\em\b:WÇ\15ml\rîë\89·\89¦\ 4 N\8ej\r\aÙµmG\82á3Ò\8c\a\ 6'WW\1e\13óGnDq\ 5$\ 4 Ú       c`#z\0ÿ\90âab\98\ fÑ\1fFB\87ĺjÜ Öe\9a¿µü*¬kqî\1e¹\92;\94Cg¥´g¥ö\r Kt½\11lUo\9dY\eNk½ ±é\9aÃî\9a1È6î\v\ 4ÙÄ\16\82³\8f±<øò¦Á{\80\ 6 \ 3÷\99\13\9e-mNpUhû\86£íd\a\1cBùÄy\r¹Åd¤Ù*FìSttû[¯\84V\15îä\90&-Vµ\97\84ÄzÚa]×\9eÑh\rÿè\9bS\f«·û§´Yçoh£ÍÿÉ=¢¨;¨\8e\92Uc\95rû$»Ã7ÈÏZ\98\9b¥¨É¡ëÙv2N@\16ým5° \8fmOZ\10ÒgiOb#ÉÜIÞx>}S|\89Þ6§ôñI{MÍðY®ø$?QÑ\1aé½mOÃÅ.ö\S\92\96\16Þ¯pÄ×]Ì \9dH\10¤à]¸oW¶bÝôä\9cP®z¦ÑþÀi\1aí)\ 4ßÀ\7fP·¤«Ý·\179kJ«\9d!ltâ)YGí\89»·W\16vwÿÄHEkx¨\ eÁGx\ 5Ê\ fP\ 2qÌ%\bg2\1eéÍ\äj\99\ 2\1c\97w\13\1a£\8d\8có\93ô\16z_MÃ<e\96*\9f\82\18Äg\13\18\8d
+\10\ f¡áÐÆ¨Õ1\0\16\ 1
+ÎþÏ\14\9b\93\8aL1¹XJ$\94¦\8b½\ 5å\9d+aL2æë\0ñ\17\9c\17\1e\12\96\\ e¢1IIcK§ÑpE®£\84\8b&zÉ9|jí·L\93\8b6 Ð\1cãMñÈ\b%\10\ e\96ùªÞÏöGÑ1\89NY¯µ¿\88\ e&nó\7f\ 6\86ø\ 3\ 2\19ù6\ eíkz¿PgÙ\8e|`Vkr\97e\82ÛvÝ\ f´Ïµ\ 1¦\16¶ÉÅ6¨ð¯ç6»\9bSï(ø8\ 6}ª#\rIj   9ZrÔ«X'\90©\ 3°nw\10\ 1®ýJ»\9a¶gÚ÷þÑÜ\91\1f¶Õrá3ηB¤0\8c\12 Á8S"üOV\»ÍMÊküKéwÚAP[\ eu\ 2¦\80º¦¾Í\e\82´»Eô½W¸\96èO\½V=#E\958)Æ9º\8fe\89¸½â\14Q       QìÄcL2\13t~õ\1ey\15\eý\13èí¢\86\898NÛiÚI\15\13\13Ã\9b\9e\ 4&\7f'ÿ\1dÕ?\99È?ñ\7f±üçþ-wø\ fü\\v\93ÿ\17«¹?ñuÅÕ\82Ѩ\7fâþÝÉÿ\8býâ"Î\9fÀX&\13\8cUÀû\1fì\9fø¹»\83ÿ\17åûçþ/\ 5v\7fâû¿Ð\7fâýu¿ «\81¨Å¦À"Å\88L\14·-\82k\93\8e\13h\89\9b\0k\14Ýi6ƺK\ 4\88Á`\ 5\82\81\aÈÓ\85\ 6Ç\15^"\fÑå\9cE_¨¸`Â\16ú÷½£IÙþû&gÒI$\93ì\92\11$   \ 2\ 1\ 5\95\14±\ 2Ú\fDÏ¡\913\a#b\82ÒÕªZ,£ko\9a\19\12\14\1a``>Ì\9f9uñæí«jÐVÚ/\9bhµ¤\80µd
+I!U\81
\eV°²µ\1a©`\ 1'ß¿ßßÿ}\99$\98\ 4\b\95j\9eõÝòúßo/7yî\9eô7z\eÑßs\9bÎo9½\rèïSÝ\8dç7z{ÐÞ¦þ\ 3÷¹»ËÚÞ·½Íæô7\9bÙÞñO\ fv\92]u¶ÆÑy\ 3)·âw¬\11\87q^гPI\f%ÔÒS»^íMdhM\82\1e(¼z\v}ôÇC¥$\flÅÎá\17´ju\12ÈÎ\11\8dCÜå\9b\80\r£&áó\17¡\96P\9c\8c\r\90l\1a\1d?®qxC\9flÊëï%}ËB\95øl7[t^/\9d\8bÀ×\14{Qî\8f%l\91¨\¬4qW1 \94ƾ(ö<Å}Vÿ_wÇ|cE÷¯:'ÿ­küÇk \8dëº\99Þc°\93êù×½«þ\7fÿî«/Ò\11tÜçI®\88òÈ\12\82óâqùû>÷Ã\94\9bñù\8d?\7f\92øozÊ_\eW)\1cãk \95½mûèÓ·Ãi½6\1am\7fK!ÿ×p\17N\1eê_Ü~Hñ×>ÿò\a\9a\fõ\9dÂ~Ë\8b\9bºI\ 5Ó^\940\1c\9bõµ»Ã\8b\99±ûõµ»É²ØQºçq!û]À^\8b\9b Î]÷³JïÂ\9eåÌ\88\7fL\98wÈÿaYؤ\95¢º·\15I\ 6\93VF·²ìMÜ!\12¬ì\17ðU%ªn\10áóÅç\16Ö\ 2;°DrÿFr.\9d?´ô\b8\ f ¯ä¯W\fb\0n\10¬\7fôWÂ\ 62£ó\16\ 2¯U8{%&ã×À\r\8cÿ}¿¯î\17¯åÊ¿x´§B@\82\9bU´yEd
+Æ^¹É'åKDÔÖYQÕ9IÒ¸}z¼®½U\1cì\95\8c\b8<6\87\9f\96¬\aXcº\99qpÑö\7f\f\95Þ\17\8cE,,<\10¯Vy¦ÿ\rµ\fa\vû\16ìál73Ç`÷êè  \\99nÊÅ\ 6d0WhfÎl\ 6û¹Þ\95_%µá\88+AÂð\98\95Þ×u\18Ë\90·\82b\vli5­ô0*ú@e
+|òu÷û\ 4÷M@yµ|\9f\88ê\fè\142\e^LîO­Û
+ìG´\86¥\82)Zù\9fÖ¸ä>Bg\84j\7fõm\86Bo¨ø!³ãËEjgloä³ã\14Ë"\1d\17¥æ*Éæ+hó\15¶.ü6\b®6\8eÜX;H-¥\82Bp\82Ú\$[eÿs\ 1¸¨\9dAm\81\1dÎï_<     ëOÂx´É4¡<$è\ 5\879\82\9e\83o*p\9fà">\ 1O\968L\89Âc\r¼]êÎÈûP\9c'Rnpñ"lwC\ 2t\\96¸\13³ç8À\16\94\96\9c\90\92\7f\ 5%Ã]ô%>0\13\93ûW³¿\rî\ 19=¿ö\177¿Ø\86ûø}´7ßÃúí?Ê\ 4äü.Y\9fÛ=.¿êv\13½§¥ö>O\7fá·wÝü­'q¾}s\91\8by]âÜ\16¾3\9a     ÿY C\9eã½T
+\14y¶poÎÌ¿Älëù~kM
+\93ËíýæOù|\9f{\1cãÃÄ%oÞ_³P?tââO\86\Úü\aÃG\8a\8eêÉ×Ûñ\1fÝÂMê0púÀ>\97Û092f\8cÿüi\ 1ÂÁ¡Ì®ð~ÎãÏV\83Îl­à\9es¤Wz\e­Â£¬5úìÔf@\9fç\87\8dáø<$Ýëj\8dÒ\ e\87³º$«\8a\10Ja4lÿ Ç\83\ eÇ\82m­ãË\19\8e8\17³O÷`   \eÉ\¨3°\9dÈ\17ޯ˵¥[Ñ¥[\8f¶éU[Ñ\ eµë\8f\7fóf\9a\85{Q*D\99m\ 5\ 4Í­Eè½\9b\7f¾h,W\12{\1c!s\8cnè¬:\9e9âÖ¶ÂÍ\1f÷\ 5\a\99^\râ\8f-`ü«w\90yw\90~l{\98?6h_Ë\1aú\aûäô=\9809ºZ/ÇQ§s\ 3Eo_\94Ý4v¶Çoö\88\10èü÷8üýº\9a_¢[ù\ e\96Ô\80\90©ØU_p{s¼5\14^\82\9a^HÉxÕ-è]M2«~\87\7fvA\93Ê\92\ 1¡í\90É)¥ü\ 5ô_\94·x¶\88(\16!³VÁ0M¦Ö¸\90ë{\97\9d\ 5¶* !=¡¶t\7fpÑî\19O\9d§09â\7fpÙ@TÆ   ;ï&n\97(÷÷\f¿}\8f.,l&\ eµ\8búÒÉTE»Ä\15áÇ+\18\87h®*Ã\11]E±R\8f\8eå|\92eT£\rõw®\9b;À2ÇC\12\ 6\1dÊÓè'Jû\v¹B\12ªr\8b£4:VR:\13\171\a]9\ ekÇΰþ\ fäÛGh,ÕùÆ^\81\9dhgýJÂ\136³bwùç\10¬ÛÇ\vîI\84]\7fw>3Å­\0|\93¶y\aD/äîÆq+ÂØ¶\17\869?¡8^\8b7^\8d¥ÁÖ£ LÝÔØ\8aýtdL]ê§\ e¦Ì\1dM¡À1v\9fì#\8eêÒe-Aj\8d\95u + \9b#îEÿµ° /l\9fÜ&§W,\\81Gn\82±Q+\ 4yy\91^\9bl]\vóï[e\9cÀÏî±µ¶ÜÊù0n\9eÑ<\84­«µ£í±\0ã²a+\8f\83Mn\12¦6=ä\1a\95ò­©\9a\1d#Ýþî7CçºZAÝ\15\8d\8cª\82NX\8d\89wÂb·\84\18\92S\ 1t/\16\8c\b\82§\bò\89Â\13EPr\18{·Ýé®\17à\ 1\84Ñ5t\89kÄã\ 2\8a0Xã\9bËBã\11\7f\91¸\9aw\ 5(h¬ÎïFÚºÔ®ñ»\14\ 6\1f\81@E°\8e\8e\96¬4\1c_ôPXl;<\14K¼§C\v\87\ fá\11ÔÝ%*\1aÃå\9d1^^´YõÚôª©àºi^á¬d
+fÐ)\93u\ 6\9a\1a\99Uÿ|rÿü é#Ps\1c}{\8c^~\ 57»B \89\8dÆÖíþIr=\ 3\1eñJ¾ÇÕTbU   ûp\91\9d®/?Qúý\ fv³©WkS\au;\91_%[\1c÷âuE\0b\8esÆyDøb\9e{hê      £:\88$Wøö\ f¦\91{u¢1Ó½áø\83ã}\ 6}J\9b\ 5\ eXH¡\17b=TË7\16\81ç\ 6ê\8bmÁõRõ§\8f!s4Åx\82r\1eèXÄð\86|h\f\8d¨\ 3\ 5ÁÒºù\15¸¸\81\903
\11\956X\97\8a\13\802\82¿x\80(\93¡ºTÒ\ 4\88hÕ¬Å"É#?Ù\ÒBÌL«
+§Õt\12¿fk/°¦\a-yæ \ 1\aEûÜ"\96*\rå£Î\17æx¿-ÊÀÅ\11W\1eRÁø1¶ÒªÀéS/\f\83¸9øÕkÕM\7fÃJªzH*´^-ªÿöÎàô²«ÿøêX<Þ\11\7fß\1fm\9fßÈ\85\f(\0\aÔ+ãóQ.w\ 5YWF\86n_Ú\/å
+L?7m\8f\87<¯U«F'¡  ]\14Å\13ÝüåÂÿ¾=ÛúìY¥#4ÔÒ\ 5ØJ½\19\9f^|Ò&M¤~Ú\7fÍ\92\94TØgt >~Tµà\80ù\82Ì\9b_éwÑ\96d@|õrÈ\10\1f?\1e[\80 >q\14§ú\18¥ü\91µV\10` Ëü¶        Su\12\ 1@í¯æ{ú\1fcóï}×
\02Q\1eý\ eÀ²\96\91c)km\98¢TÓl\8dPìqÊ\913B<Èg\9bçµ\80̧(¼\1cïÙ_Ò\84%?|       \14QþΣé)¬÷þ\80vdâC\14çd"C©ke\9dXdé£\10LoP9«p¥÷´[\89å4Åe$H\96®ä_h½\18Õ4¡\15½\8f\b\9bÔIØ\12¶j$ä\810HÃ\16\ e[§°É\8eÁ\18\95\7f1nÐP\8e*'\ 4¼J÷\fJäl     GÒ\1d\82à°Å¾Ñ~J¥4¦®©È\10 xIÉ?2\84óAÚ·eëM¾±^\11ü\8f¦/.?\8e\1eñ¹:¦\7f'6OF»Éã=C»BàZ\80ºx\8c\97I\v+Ö 8ëÑÒ¬¹I\92\ 2\8aÎ\936`\8e\9e$yUº¼PÑåa©Þ\90NÜY!guÜP3ÒM\83ñC8÷M!ô\94WT1%»\13jy\|H-Þé\80
+cf\v\ 6]!\99Ó¨\90[=Û\ eШÌ\16§|ô,3\ 5Ç\98\ 5WæbA59.m\98\8dÙ\ 2¼\9f\14½\19wB\pã-P/¨Jè
+\98Ç\1cÁÈ(\94Lcó^d3-Ôê\82\9a¦æ¡vø«\12NªÞ¨'\12å\93Ó`!\97.6ºz"³\va\9b\8f\8dð\8dWõw\19ÓüWL\81dW\88juiä\1aÂX8ù)XwyµÒÌ,~~r>\943\19áw&-\1dt\ 2$í¹8lÝ0jÛuÛüÔÓ YÆò\14§h,f¬'Р       RQº\9a¥Yóæ\90ô'üC³,¿Á0Ë\95ÆC\fÙÈw¬oPõ$\8f\12°ý\vws÷\9d¿°níý}\v·û\18÷\94Kú/¤Ü\93L\99r{\ 1w=\1fØP\87\0²tÿcBIìYýÍ
+\9aLñÞ\9eÿ\8f0L\1cF\86K#V°s5Gu2©\8dég\15\85ðZ\8e¾£¸\1cä\1e®T]b9ªp\1aÁ¥´\95R¯g]ø[\8b&ysr£ÙQx`\86\99X³   \1dè\94´y\8a×\91d=¤tyP\ 1¢'!ú¤\9fòËÞ¹À\7f¬\ 5\94ÞÓ\83¥÷\88bèݸ$Í\93Fx7(oöP\9a\13É\9aÙ\90À\ 5Õ;ZP΢âÍ\19\f\99;\ 47:¾#b\13¦wNH%2
+9\frg&_D\15¬¼¼0È"Z\9a\9e\932«*|ÁU\95\ 2EZ_ü÷\96x²aÖîÕ
+±nÅ[\96ô¡IãìI\90A\10ȧG\\0ÌMf´z³¼W\95Q÷¿Hkÿ{.
+ßþïFè?g£|¬µç£`aíø\9e\8dÊK{^\8dÐ\7f·Ñ»¡\14ß4\v\ 2lÉÖ@\8f0÷,\13<·4ò\89]VqÔ*=馻Ŭ\1fÛµUm\90Mx¡ù\8e\18Mw¹R\ eW\8a,\9dnx.í¼«v^¸û`\18Ñ=oÀf`\aÃN\14\ 3åÆ\ 3ûòÀw\7f·\ 1Ã\85â\87n'à`=4\7f´\9c\8b\ 3_l\86\ 5®Ø÷á\8c
+Ì-²,Ë\8aÊ\1cø\88²\87/3[W\94YM^r\89|!\r\18÷nÕÞh)´_\ 40×10q\13ª,¥\8evr\97Mµ ã. c\ 6L:\ 6ÌÿM=¤Îßý¸.\ 6å\ 6ï\ 5æ¿Ç\82÷È\11­Á©Ð\17!1\94n\8b4âZR(xP\9eé(`ZRÊ\e·\fòù\9aÜ/"ê'\829ÉSíl]5\ 4\83Í\9d\96\ 4Ç\89I\8cܺ\f\b\14×j\1a\eæ\84bÇ÷",<w\8bl\151\ 5Ã1\19»ß1dI®¤V\17R-"$\\89°\f[_)Ó[\8b\8f\191W\ 4
+^~vsêmÈ-¾}Çg\8fà\ 6\9ay\81\7f\895=\99¹ù1!aºd\ 2\18~d\8e2\ 2\8d\vÐ36ENa\8e-\87\füù&¥_áãÉ\r¸ÈC´dnÁȠبJ\1dð3Dn\97Òa5@ ;GC®\19¡¬7\83\1190Ö\e\ 1|\91\8c*÷óf®\18-§àÍ!ÖP\144]m\1d­º\ fsølC²WÉÐÚÉ\8a\98\98\16\10×\8eùÃO0´X\ 3«\9bÒÂt¾nN\eÂÊï\89\1cÞÚ\90\82O\vÈ\1f&\942°m_\ 3F®?8\1f\93\181g\8e\11\80/\97ñä\8d\ed 4\93g¡òP´Äe£\90em¢qgvÒÏ/Ë\ fJð4ܯ\19Ì\ e\8dÿ*ÑzÛ\95lË9\84t\92\\16s\b¦\92\8aÎa\1c¼\94U\87*ÀwÝ\86j\ 3Ï\ 6)\96Ú*µmÝì©ø\afçooaɰ6K¬\84\96{à      È\110\9c\7fÍÐ!<i\16\18\8d
+\11\15Ö&¿ZÃ"æ\84\84˪Ö\1fW'Oµ6iéus\99¡5\8cN/\14»s/\9a\eË3Á",­![ òØ\8e\ f0qèv6\18\97È\88\9e\1dßQÁ±<!\1a\19»Æ,ëª/â\14CÜØS+\9d\ 1^\9br²ü\1dë\86\98S%2Jö\13Õ\17À;Ó¬¯v\93ä\12\99ýy*fw\17J\99eÁ¦À;+¹Ñ\19\82Û¨?SQq\rbëoÑ\10Àhî8Z:Ã\v\87w\90§@»ðªþ¦i¨B\16   s0\ÍÊ\92îõZ<\84fG\99\83\97\9bã\84\0\89-k\87oëh\1dè÷A«ç3\95ô°pLs\rðÓ@ØåñïZD_nªÖ4\8bZ\ f\97Ú­ÛýÓ[¾\1a\ fî\16\9cï\8e\94?\82\15 úÁ^\ 2Þ\91m\98_*Ö\94\8as\1e\10T\95zÇ3ùõü{\ 1gÙ3[1æù\95Ö\8a:ú.\9a\97\93A]i\80tׯu\9a\ 1~M¡t×l\ 2ÿ\95±\0µã\b¤Á®ÕÝ\17¦/l\11\81\8f]"Ö´\8b~sÐG\87òR\15Ý\r'+¼z\9dÏ;=lÖç\9d\9av×|ì\175ïæh   \ 1Ù$ª<\våê«Cx\8a\bÙsâ±®p>¡¦ÐO\8e\ 6ø®\ eK\97"ïn/\89\ 1×õÎû\96\96ºN\1cî*\ eï\17ÃX\95\e\84\15uD
\ 3\1c\15Õ\87\89Ì_÷Zì\81\E[\17c\8dÐWPO\b¯\ 5\9aÄ_\92¸^\bÈ\f\ 5ùE\ 5Õ¹u³Z\aû¨Ý\ f\9cê\173³7ÚÆ¹-WNÌdø\93«\f\9d¨â\f\97ýî\v½\ fÁîÁ"\17º°~3 åÈ<üÐ\92(SçÆ¶ô\1ci5×ì$ú_T·ë8Hä\ 6"\14$ó¤åzÒ\9d¡uf\ 1ÖuÓÛ\9a\8fY65\ 1Í\97W\1c&4ýõOÄ\16       v\90\9aÙ¸4\98âyâÏ<"E\14Ï= \89\ f\93ùe­\80\ 1v%8ÃG×aú¼=ùø³!ÎB÷\88H\1aP\93²Þ! UBO_¼e\8dI}\12ñ0Ƥ?WzË\1a\90\8bRW\11ò¹K½Y¯\8aHêì\7fNë¤\17pTßÿóºû\9fù\9bçÏüAwÿvödü\13\13O2{Ç@])ücã5\82M\ f'\83»f÷IÞ>X?¯¿¯\94OÛß×ù­¿×¿¯ë\9b3¿¯ÿ\vfwõæO%ÿ°.
+Í2\1dÔ\1f\ 5é\8bmÂL\87dðg|\14Èw\92m\152\1d\8b\ 5!þÄÈwxÝ\16y2í\19=2\ 5GL\93\a¿s'¸\91´\8fÙÆÖ\97\15\97M¿\v_ûë"ÇwdL÷é\86nÐÒïüÏ\0\86\84»/ìEú˱\ e*`\93á3]Ýúë\87ö\ 2È\8eï«\8bÞ ·2f°9T§²ò\89Oc\97ñó\97§û\17ì\ 36?\16ò-ߥãûãî\8f\8aBqìôl?XÊlïh\9a¬Wõ [ê¬TCïJþ\89loù%¿Ò%LçMþÙoí2ß\10Ý\99±RîÜ^\ 5Ê(R\11ÅãFâ .ø¼\r\fWWÇã%Õ¿ûØÇ)\93JÐ.\90Þ\÷\8dæ®5'b\9aÏÎ'\11\1cãC"\95¿G#Ãàõþ\a\8d»ÝðÝYß\81Áâ¶\91þî\ f\f\ 6,Æe\a\ e\ 1éHþþ\ f\r¢:Bü÷´l\8fï\91ÕèßpßûÞ\e5\v¢ËÆ>º>ï\8f[«»¢OÁ±\80î!Ø\9a}_Òîãêv\97\18Û.È~\8bå%¬,ø`Æç\bR$öq\ 1ØN\80\99ÐÉZÉ5å}\94\9a&
+Õ%\8d²º\981-\ 3\9a\9dV²PKe8²Þý±Ór¢[+Å\96ö"\9b\8f_\r°\fá³Â%Ͷ%,á\9bÔRóâ\97\9fâÒüÀ¥Û+Y %²\1cYht\vÍC\18\ 3%`Î\ 6+Y\80/U\17\9c\14µ\99ÙͼÀ\0ÍÒè\95\8bcH­d¹û       /\ e±ºÄæ*ýST¯lN¼G\10\v\eÅÜ\9cc;ÅÑÆCÚÌ\1dï×õ\e2ö³D\91k"\ -´7\8dË\94û\85ßP\r\8c\7fé¡¿®6$Ë+\1c#4øYhÂtRzÛ\934¦Uãc\8bc\8bl\99¸±ñô\96¿
\16Ò(\80åïÖxØDpA²Ó½%·t\80ë\9dö\87¯
+\væØÚ\e\1cÕál,¡¡ºJû?ÃOÒÐÕæ\9f\ 4GÉèIVâÝ\15Û°@\83==E\10ýTÔc\9dW~\19¢(ðºæ¡?\18×y\80E§£Úí\1dÂ\17Ü\ 2ÍËSZýá\1f¹\ 5&\10\15ÿ\14Á\86}\8dZóòbjBCîä\1a\10ëÓ\b-éG\93©\13CçY»
+(h¹j\86¾\bñ¼j\ 1\17Wô\q\1cj^õè\15É#,\93\8e6o\ 6É\8e>\9do\84¿ÿæH\8euP:+e9\b@\f%c\r&jÐrI1cHIL¿\87÷ÜÐ\8bBUÐ\18\80\ 1¹\ 1Ì<·\83\16U°¸¾dÚ®\ 1¶©ì\ f£A\ e\95Ïí\9bj\9e\7fÜãeé¿°\15\86
+\97ñ\90ÁRþå§õêó\99vHÊiø`ó¿°¿\a\9dÿäß\83Îÿ\ÓôêóÆ\7fN¯9öZ±G»iþýc~\a\1d\1f!üú°÷×ÇÎø/\90ý½P¶5Dâè\93qtÒÿâëjÿÚb¥l\1e\ fX²È®â7ñ¸Ò\7fÕ6×ø\1e?«¹s÷kÜü¯Í\97å?\83ãè#\9cxxT­ûËðt\1fÕøØÏËÐð¸å~\0\9cöºÂsQØÍ\1e§)ÕòY,\aØëéü\86¼\11:#\8a\85\83Ç\1c÷?\85þðS÷ã\8eʧ\93Ó\9bû\86Þo\85ýúVû>9\0§ïÇ{:VâÉ\83\87¨?c÷ëi[Ú!üZí=§ñs%Éi\84CÔKá/Ýo¾\86è»\0\19\a\96®¸ßA/\91Á¥zYª\0³\rþC\e´<î\ eñ/ßo0ID.1\fóaÁÒRyJU«5®
+]\ 4"$Ü\84µDî´\8b-Ç éµD»ê\99Dª$ßTÊ¥Q\1aú¥F¯pL\96bÿÏ»eéÚ\12èÂ[\9e\10\8eÇå÷J [mß\1d7\8b¨\96R­¶&ix\9a|\85ceÿC¼\bx$Yób6\8aö6£\91\10\18%ü$\ 5§mV\8fÑíçùê<¿\0\ 2Y\82ÚöÄ%Åd®{Õ-\1eÃKSÖ\1dÀÀ\f\8e8-u`íñÜ\8e\bº\1fgä¥\85\93¬\1d¹þn\1fÙ0è\8bEepiãX5 \14 :\90%\ 6c\88<µVç\9bn¥_t\87\ 4öHËjíÚÞSÜ\8d;\98\9e\94«yðÐ\rª°\98RöÕ¶¼\84r\1c¼twY\r`²êü¨xWÃr\16=\83\1aê×ò&Éwe\ 19\8aR¬8TÉ(\ fðÕë\8cv\e7\ 4\fál\16³¤Ï;7\11Ë\93\9dÑy]He¥\a\13l°?<?¼\18Ãf\89Þ\13K\18C\ eÃñ½\18i6\83°Ù=7ß\8f\9cL¬slÃ\ 2Ahð˲»2\82û¾¦\8fC\99\ 4h(\ 3\99Ò\ 3KIæE°Sõ\ 3ç>U\98\19³F¿Ðeã\1eáG.\9d\1eeØñt\9f\1d\98é\13\ 5§\84¥^[á\1fB\8d\1c\88·\ 6¹»]óf\14H<$óó\ba\1a\1f\ 4ºOúù^÷\9düB\9f\9f\87Äd$\9c\94Z\8e\16f\97vÛÄi]\ e\83\ 3w¨×êà@H6\91fR§!4v_zE\97süñJâºÊn07\8céôI\88UdöÁ\b -%\ 5W\9a\94\92h|×\90·\85È@r¦»+å>Ù>}ÌÈ\1a²Õk%¢\b0\9cï\.\ 2H\ 3\93\ 3*ó`\19¿Ø9\8b\8c£ì
+8\83<¡_¸\19Þ\9c>\81\98×aVÃ&]Ö\8cr\1ebbøY«ë\93\80æJ\0s8Ѧ\98\1f¹R\80\ e\1f\9c\aº\ 3ãi\ 6\ 4áàö\fR\93uE\ 5\848 2u:Üi\17[Ì     äw3þ8\ 1\90ÏbPFeþ   \81«cÖÓê\8a
+}\fì® ´]ÉA\19HO&\aÈÇ[×w\85\ 5@p]¨\82îkÊ\v\918 á@úÞÿfPFÎ\ eI¿\10^w\8cPX³\82\ 4\16#­¹óJ
+\85«=K\9a=\0¦\9e¦³\9bè\vº\\92HBë;\11¬Ë:\87Íòø(·\84©òKÊ*²¾þ\ 3¬}VT|»\ 1òé\80ë!U\95æÐ
+hð\1d\ 5\ 5ò\99I¹È\ e\83¿p[Ì\9fs\ f\99/\85\8a9¤\B4   ,:{i\92\ f\vºÍêQ\89v{Ôd\ 3O©µG\85Ì/\88Ó\13\1dZ\8601Ñ.ºÕJ~Í\88ÊÁ/Y&\13,\93      \8c\0ÞNÌu7\1eìJUY®6ÉyÝì\99zAZÀdv§/0a#O\91\99\ 5J\ 1­Sc=5{°Ks:Û\8b\93pü£SjTø\8aå*íáe:7Y­­é«\ 5\90<_ì\18-P3H¼F±ºéÜá¾\9dì¤\94·o~{êk\9ai¨YJ\0¨U²C¢©\97"\ fÏkáÊÉY\11X\9bÔcÍ1L¹\85ÑrPäNó^;4qà\r<\87t\84\v?\17   \ ePLð\91á\9fu\90 À0ST+ç\9bD\eÄÏ\911\f­aÙy@\88\80åbÇÈÿìÕ\8bNºcý*\ 4_E1üÊ\ 4_Öq\957Pfr\13\fë)ûÙ\86u\94Â2\1f¼\b\80þPßD+]/ÂÖ/\98\98áë\17ï%âë\17íåÿÕ«¿í<sXbÿk\a\16$^óP\9c\ e\r\11â\9bn\87\7f\93\85(\17I\98]È´£¿#þf6A\15êu}Û\0\9a¥kUp©\ 2»E\9a\1d{K¼¶P\81]\14«ñP¦'(«ú\91\9fÇå\96J!m¨ÐÚòÌѯ{\9f^|ûA\e(ék\87¼Ë¨Y8רôó\94/±ñýB\8f±ò¯sO±ó}F\19ö>s=8ã\1e÷\v"öeMc\9c,\8a\95o0±äeH\94\94£µ^\12\8a8   cT'8Uè\19J\8djùÒÒ\ 5Ç\8c8»0B\1f~øÓ        Õ:°~MÑÚú ¸k±¥`\7f²øXö^:å\ ezçõ\8dµÚÁ|\8a\92\97\17c
+ªF\15\1a\8dä\f0Õ·L\92Òéº(\a ­\17\83QI¹s\85\93\97\14¬\8eV\14\98,r¢Pýì9ªÍ¶ ±\10GÍ;kgmå\97\9a©Î\15J8\r²\16É©V÷\v\1f¿Å}9â\ 2ÉèÛÞ\a\1cW¯ÃÒïÒ\1d\1af¢´ÍÕmüBg\9b\8c\9dShÁÓ\8ae\83ù\19\ëÁpeåð\80\ e\81?\1dÛäý/\ e÷/=k8n\97\93r8\8bj/\13¨\9c§ÈwNDsÙz®¬¼\10\90µÞ<ÒHhã§\7fÀÇMEHiwÎ''t\0±\7fõq\85þ\92G\8cúwÿû};ü¬\87ý\9fNÿÎOþ\8f§\7f¥mÿ7Ó¿ê#½wÓ¿þ(î3éß²ã\ fáþ:ïÜaÿøãø\8e0ÿ\99\8fâ8Ãø63û÷\18\7f\ eÿ\a\ fþ,w\11Æ\1fûxî#\8c?èã¸\8e0ÿÏGq\1c\ 5\1d½û\8c?\8b6)~ã\ fáãiïÜaü=g}û\8c?\80\10\9f¿q\87ð=>·î0ÿ\86\8dâ8Ãøî\a÷î0þ\1d®\9eýÆ\1fÃÑ7ß¸Ãøe\ 4\18\7fʧÄq\87ñÕ\1dïÜaü?\86Ýó\8c?\87kO¾q\87þݵÛ\8c\9b]¸ÃÿBÚíÆ\1fýók·\18\7f\8f>ý¤:Q\e\ e0þ`\8aÇÿ\a\18\7f\ 1L/~ã\ fî\fï\86xÎ0ÿ~ã\ fø¶W¶/\19Æ\1fÿQ[\89û|\ü]»þ%\ e+4ì\aàFS9ñ:|ßK\9aÎÒÃ\17hþ3èÿñ\9c\19\1fÿÎ\f\8fì[ѶI(î],\ fs\11\86Ùø°YxæâÁg\97W\8dýA¸NÆùÏõq\87a\e\99ýt¥ñßY)v\9d¡£s6\1c\ 2\8fþN\ 1¿\1443âïjâïjbïwwà?_{½Ç\8b¿W\8bÅ\81ù~NÇÀì<ÿʯk«é:Gr\9aß\v\8aßIüoëî°\ eí/\8c\97FC\ 3\10J\ 4°Ãéã\7f¯\14àâæ»(ç\1dÖ\19+\7f§~niý\ 4oçÊt<.)_~þiñ\9f\vë¸ÌtzM%/kW#\80QßÕø\9c\1e\9c\83ÀéÌ e\99ðßßÅGÎCêëvø\ fo\8a\8fÃ~ýþ¼Üâ8¨ùÏg\7f¯µ3\9e÷-ü;ï_§)Ø\99Ûw\9eÿ_×éÊz£;wr\80q=}¿×`©\8bÃ\9cÅ­\0\1a@zÉ\8bÏ\84þɬ\14y¾C1NVO¡\9dBK\83\1dyÜ/{ÚÑ\11\v\17Ë\8cBß̳[ĵ\ fßæåiÚ\13kxõV[´-Òdð¢¼M\1d\90îÉ\90`\1c\1c\99SÝ¡<ÏÒw3\91)åéÎÐ×d9n\80C\93é¯Iù\13\83 L,W\99\r;2VÔvkájÞ$\18\a\aÝÎ
+CTt\87Ù½¤5Q)\ f\98t\82ÅH})¬q   Àã|å\1aÉê'\fFìláu\82Á~Ui<ÂÜâ\17éý\8a\90\vÀp¥Å2SCOxV³ø"¡å\85\ f\98\89C·ýÔ?\916T<¸¡ÛÄ¡ç¿u\ fÖ\9d\ f0({\1c\1c:\1e\87÷Pï\ 2s5O¡"Î\9a_Þ% N\ 4R\9e\9d\12VpQåÉ\ 4é*\8f\1e7\ 62F\95b*|¢\85ª>7ò+S]·\98\82\8f<{1kûe¼Á^{d!\98öÊÂh½²\ fãf¾@gL\f\85É1\86(ÅT\f\9a­\8c\ 5û\18"°WW76kú\bÌ\87èD\90¬¿\8f;\1a¾\a`-\9b\1e
+\b}ÎÁ»ÙÅ\93ùQ%\1f\14½ÙÛ̱ \9e\12
+X\92\ 5NA\81b¥å"EâN/\bÄ\ÌH¹\ 3\8b±\17º\9b\87\17è\17·Þ\93tȨ\82=ôüÙ]×'Ê%¹pÕ³¨UDó\1eúúu\9aTGbw\84Ê /ì[S\86G\93h¿¼\fk:f\fÎ"F@HUR¤®÷×õKM6[Þu\9fÎ\12)w tãxK§c2\84´}ZX\0\82ÿlåð(~ÉÒXbjk+\878\f\13èî½\1cààìUÕ£\9c3ú %çGj)´\ 5«ì\92Û<\8dÉ^¬m-kÜI-q{EµîÚëèê¤ÒW\95²{\80\85FÐy\94ÖI¤¶ÓKd\ 5%'`\e\93\1d\85\85Q­X7½êUÍV\\1d·\12SJ,\8aa5¬ß|83bç{t×/qÊUì\1e\16Î\19ýlz7¶l\99)Wm4ÂÁg¹³Ñègên#RK9bã\19r
+5NÐ2\1eã{E{â.úð× Ö\81f'\17    \èvÔ\93\ 4Í\1a\95}Ö4|\13ÓÑÁÒ\97\80   Î í\17$bîáÒÏC\17'©Õ\80\ 3ñÈ\8b·F§Î\ e÷O\91ëÈ¿S\ 3¿?dpôbð~'¶û¤S\8e\1fÂ\ 2\95Ö\9d`©U¥K;\ f\ 1\E\80\ 6\9b\f\ 5ÔðN!J³ý\86VØre\80\84\84ªw¸\17\84»¸nHÏIÅW\81kÐ\\19R\83\ 6?\14\84éºÛJz5¤ðÊâ\17ù8\8c\16\ 2Õ¢øs'\87\ 5¬ß\87§"ê\96Òóí\f\9fG!\12tI_\0\18ç¼¾y=B£qè²Ó
+k»aËr`a\15ê\84_(ö\894£Y´ò/\161\96#h^~\1aö\11\9b\84.n1\85Ì\ eA0\a©±H\84¨5"K\80ÿçÇ-ö\ 2ó\1cº]ñã\91V\9f¯\1c\9eôÜ,n\1c\ 3\1a½ÜxÆán©ª1ZÞ]|\81WÂy!\80Ïì\/\83%âf
+Ӿf
+\8e      ä.â3|Y'\1aã\18ûfÞÅfª Xyk{ÔSÔ´¤é£8ð?¤øßBª\9a\85Ì-H϶\16\8cZ\ eÈ\14Ø0\94UÂU\a\85Ü%¨Q,Nð¾r;\84·\vú7å*\83-êa(½¿±jª\1aOùQjyBT\13\93Ñüânè&\8f\92\91\1aB8\9e|æÉÌ.«­*K>Ñ\86\ e\17¡.\a\89\1d\12¬\ ew\9aªk¾ÈìÑ\92Ìx'Uªê·¥>¤\84^\f\928!\9b5`\14
+$/ìcØ\80X¿LÔ\88z'9s§\87y\8c±àÁ¯+ò\fF¦X\96¯Sù\fÔG:í        .\8cÎýÂk\90Á ô9â%\93ú¸\ 2ú%ÙË%\ 6\ 1±ù\8azrz:Åþ6 #)\83*\ eó\9fÔ/\19X\1eT8pSaÙ\8d_ïOAD=(:«x«Í·¬vn{Z\13\99ª"¬\1f\8bÚ\12á$º¥å\9eí\8a\88A\9e\12\9cÆâX¦*\1cÄwhy\ 4Ú·^c¾\98DÄAÝL{ó\98ù3\ 51\v\ 4\89²q\83\ 4\13\19¢êæVlâO^s\1fä8ú÷㦲ìW\98\aèÖ\8e¶z0Ñ`\10\96ôÇ-êE?T³rú|éÎRþÉÆ7ð@\80Üþ\86yö*öøæqüçj\9cî\84§xäT²C\93\87\80p`\8c"j\91ã\ 4\0³£ó       /\12\94\v\93U:eLгLø\84õ\9aS¾x\1a'\bùè\9eƤzQþ\f»\1eÆ\98"\97\89\9fds?·.J&ó\90^k(¼§´\97E8       `R\1cµéËtÄ|ùË-\1e\1d\98}<ñ%7;5þå#\95\0\1c\99\0C/BtLP\83ÎsüqÏé\11?tSÿ}._z1ËÎ]\1cç\1207GZ<¥\88j\80\9c|\13ÿP\91\82¬êgX¯éô©P>©t·ÿ\14P\90 J\9d\aæK"½\95f½Ö\1cöÂX½yæ\8a\96ºÃÈ\10\9eölOy¦gµ'=\82UZØâÑ\8bÐ\9côh\99ú¡2\8c¤\9aù\98ã\8fFk2Å\ 4<ìäÏ\8c\16\8eß\12o>Ø\12\9e½$.\8bâ¹B-Áܸhùìjÿ\98ú\8cÞ6·³\e\15\90;6Èð¹e\16ü§+,Yú[)\12y\1fQÊ/6\9e|ÌÙöþmâ·9´|I³tVe<ë\19\9eu\9bùç^\89ä\84IäóÙ8´\16¡\9a\vQ¿ ¾\ 2()\16(*§M75Î\1e©¹®\9e{#¹®nõ=Ír(}[4>¯\7f\8a\1eJ\1e\ 55\8c¨\93Uÿßg\16\96Â,«Q\937³¤Òè\1aTI\ e[2\v0\rj\14\7f\1e}¼©jâø\ 5illÖ\81Ö¯ô\²}ê\84&Öz¢í\8f«ý\ 2<G\92   G¯ïP\119qÑ#Ð\95þtu¢\1c0-!{å\92\17;R¢>Y\1fåÅ+b\87J?_2u\ 6{\84$þöMÙ¦²çMQŦ²÷T×\9a]F¦t\a=²«s1ã«I\97NøÅY½è\95¢³{(ü÷(m\8b\80.ª~|:ù\bM¶6É\v\14fMòøÔ\8f\1c\a÷\:Ë\1c¾\88_æèXÆ­«òr-¶ú\7fÓF8âÑ\9c¤:25z26Ù×\ e\89\9fÉqh\9f>H#ÂÓN       î`h$añ\b\1cÄ\89|Y±ª\11ÞÉ0X\8aèÍ\84©\83¥å\92{7N±\17ebùû\ 5¡uá~\19-\9d<\1fãÓ\98\86¸;\7f[\18áöú39à,\9fÐ\94FA³Eó\16\ fÆÎHýV\82\88*\80\85ã_Û\1cܤ5­ô\81b¹?§\1crPý¸Å\1d§¹tX\19 Æ=ç»\891×"EO\ 1\fè_U\93Æ)¬²\9f\8cå£\16O\96\ 6\10bçd¿ÐáÆ@\81Ú¾,\87±\12\90ø B©D9ÔV!\185\ 3\ 1k¤ªè'ãÇvmÎ`ÖOe&0«z\1d²a>ô>«°Ö\8f?7Ú\93F3\9e³> ®
+G¤¾eÛy\165\9eú¹8\9aÏz)8}uá\19[\1f×TôLh£+My;Ñ
+«s\93Æ6{Ë\r\16\8eØ·~çûÆÙOîËÚé9\11¢ñÛCXöw|O\r­¼\81h\88éJt_¬m\93û\16å:V\ 1@";\85\92]R\9dÙI\17\15è\f\96ý|Oï$\8fçö®\ 1ùÁ\10\1c­\ 2\7fêIpñ~~ë\17ÀQWÃõ\83¢Y>\96I\1e¢\9fÑ\b\ 1\96¾\aÐòùë\95R\8f¢¯y\7fT㮪\9bsF\9e\8e¸K(^é\88»Ö\8eeà5 äcCè¤\19©õ§Û\eÑôþ#FB¯/\11\90¬)\18jK\85[ȬáÍùó\9b¶¼\8cçN3æ\9cg!y\19\8f\91I\91\1a\f>2\1fY!\17ºiÔáÊâ62Á|ë4V\154b9»³H+\91§Aê\#ªÒ\82ÂH¹Äkà¦\1f×\7f\10¢\ 2åz{S\99\89\0\an\1fS\9b\89\0\1f=\1fS¸ADL\88\ 1×\ 6©õ.\91\ 2¥]\8e#e\ 6\ 4eh
+½Þ\9fS\87Ü\1f:\ 6E\11\8a­`ócl©û6!\81ðá\96\9f»\vÍ©\9d\81fP\9af\ 2uñ>~£EV[z5\1c\13éÊÊå\r\a\19Õóy( \8c\99Ö/\1aù\ 6SH^lt\843\1f\19>¤jPì1Í\r­Deß\9b\17\ f\8c4ÌDQÎÿèç3öq¿üç3ýg»³àó\9b2të|Érç,\15ï:ÒÙ\11\v\v¦\9f\80F>Úñm\89ºÎ\ 1ó\96\81:ÒÝs\9b´¾rò\ 1¿Sðn¤µ\91d¿\8eúK§\8b%ó綠4Y-­ô\97\98\8b%ÛßIg®8\8eº"â!ZñÞ\ 4ÔøtÎÎøý7\rþ¶¥_è\f\a\8bR\12ÑÀç\85[Ó­\9c\97#W\84.xgB\ðÎ\11\1cðÎ]\83\13\1däÑÝ\17\92&Z       ªu³¸"\99\9b\9cø\14Ö\9fÓA\90o\80\86?\1c¨í\ 1ξ<I×$¼ë\16\9a\19\87-°_±Ñ&~ö$Îyy\9e\1eêg\19Ã\99ÆD\99ã×\99ò±qW\a\16b\13Ôû\13\1a\ 5æ<\89\98w\87xú:tÄ\89¸±/¿`M\9bêZ\eG?þ\bx\18æ\16V8/ÚëÊ^§z/á\vz÷»£IÙþÌÌÌ\93$\93&@\0"B\f      \ 5*\ 2Ä\83êB"çèf.@\82\ 2)Z«¶x\17\19kjÆ\19\8b\1a
+Bä\1fI\9f\9c«j¾ÚúÖúq×wZí¶Ý\15\90<+d\90\0\84*¢7Þ`\ 2\988¾KJ\84\10\ûýÿÿ÷÷ìÉ!\88¢\1a¢/BÝ÷·}ÐÞ\86ïGzwyÏt½¾ç7·íîïÀ>ó¿¼æü\ 2o7à\ fÝMß\80ËO\ fv²[¶ÒFѵI\1dY¶Q\99HåÇDü<ü(Ó´ú'nbûj\14\85ôg\ fj\ 3ël/)Ï\91ùdÆ\9dó\e¥\98h.<\12/\v\89\ 4õ=ø&ÚD\13Õ÷à\9eG
\94\ 1\1cÞÕ©\96[*jÎe\ e«p
+ôÒ\86*Ê\»é\95ò3¥¶\18nÜS9ê\aâ¦1 ·ö¥V:\85Ú²7±\9c+\b\9eû\ 4ÖS*i¨ý7ØE\1cYf2\85âÚâË-\93\rî\v¬\88×SÜÖTÕ\r%~c\1e¹\9cà\8a¹gLÌ\80ärùî2\1d\ 5\18°\eÚ~ÝÅ\97¡\16fõl\81ql
+z\13¾u½\7f÷Ø\14ûÏë°)ìÿºÀ§\7f\1aÀ§ª\8d`SöL¿å`Sâ\8eÁ\99Öü6\ 5;6_\rIÞ'½`Sú?ö°)ëÿ¾À§¾ ñ¸+\ 1ï{)w\1d\85\?ö9\ 4ÕW-\1d-\97ü¶\ 5ß!éZÉW·Ì°Âä¦\ 2²\97\8cä¤wª¼/þ6\a:õþþ%\81\7f\99\91÷æüÖ\bü\8f¿¯÷Ð]ÿºÁ\8f¥ãX1ò\ e\94\7f\99ñ¤ÜÕÏ0¼§ãÝüþOÕí·ÙN1±¿ñh4²\15]\18 Éî±\7fÿ\ 5o¹´än\7fìc";¼_ýÁ?\ f\16ÃßsN\1fú\9d\85\ÚrÀ\ßÊ\ e¢lHð\fË\11½ÎâyO\9e¾.`\e¶<«¿¿\86nF¾ak\87ñ¶Ñ\1eE<\ 3r\9fßû\8eTmoyÞ\8b\ f~ÆEjj\98X8»¦¯\9cð±7¾âZe|Ð\rÑ\ f!53@\9fÚR\90­*¬\14Rítx\92÷\8al\ 2\bé 2ãã©öt´\9e´\f«,Jí«`ÿ\98\0}¶r\a®`+BÞs\89\80\80H\17\80 euc0V\14?rn¸Kã\9c\91\ f\80pÿ\f¡ã
+³xÇ\ fï\8e\1fÖH\87çOß|þpÄÚu\1eq\9as^¹ú)Ãc#?.f9\94:þ<G\19­¤#\ 4\83óWS\8b±\91\9e\97\11ï)Ô¾br3jí\1d8¯     \98ø¥+%\96øó¨]%\ 5ê\9f\9cñ#©ùÁ6S,ÚÌc\1cÙ\9e}QýfÛ\r]³cM{\11:Óý\85ûÃ\v,ÅÖMÔþaþoPv\17:&\17á\9e\8crâËQ¤\ eªÖßù¬ù\91\81Õõ¯ñîÕÚóòHÐZ'A\82\1a\ 6\8fåõ\16¥ Ö;pëjñ[wd¥ço\93xt\82­ÖY¨êÒ°_Â\9fßÞ¥ªña\9a\9fß\15íVf\13\aã\b\8dáïÔþøTDm|\91B>«lÅüîýÌÃGØu\98\81UÔüft\ 3¨\b7\1am}\1e4hõxrÏ!+®\14\9f¼v%\ 3U¦3¸:Úé¦×åö\9f\ f#\97Ñ\8euu¯Y6²¢ó\8ffÿå3\9cî\86YKpÄ\v\8a[±el\ eÐ>õ2UºÊ)Îß_\8czkª¶Ð=¹-#;ñ}±âã£ñ,Ó©YxËCÔ\8b\8d+*\17ÓË\8b\1dªT®Ü&\9a!\8fN\82Û´\85Ý6H/Þj°ëØ-оö\88|jJ[º¡¼c\13\ 6f\v¦\1c:\r\8då½np\80\9cûæ\13\9eâªs\8d\85¢-\85¡\e\vͦH¦\84ÐX
+¹rm¡\8d\9eg°³ÇÒ¦låBt\8b\9e0\9d&üL\1e\ eâÅN¼«sÞTU«-»dx?ì\1cÖö\7fPÊÆ=Å\96¥,õë¶\85\9e\8aæ·ÛzéýsÖ{g»?eèxõÿ_ó\18\92ìQì\1fI=tÏÍ\88\16Jv±Å\91\ 4_QWm\11«×+lõG\14\96\8f`pjûYG´{W®)-¢sjj|sc.Ë\91¤¼F\92â',¦§{\1fI½F\92Ý\12\9a\8aÚæhöÏ\83¬2Ë=£Øèon\ 6|³Ú;J©'¸íkÐÆK\96õ\ÈRHQ1À\1dtð/h²5_\9c:¿ûeÐ\9bÝ\1d¾\86XÖ.Ò\95ó"Z¯ ¡³ã6\9cî¿_¿Sê4¾9\ 6¤nÁ¾P\95ËÝ\98RsHÝ-¿.ù³Ø¶h뿼¥£Ù\82ÝL¢\95\7f\ 3°\9f\98\89é\e4«'±u\8fR¥öÖ÷=\86\9a\16üNs\10æ\ f\ e\ 1»Ä\1d\9c'L\1c\92\97ú et,\135Z÷\ 1Û³\19z\ e,\8b;k\ 4°gå±I®\92T8²$$ùÕM\1f\1d|¸°èÓ×§t«\9e\98\80¸\9a 6§-PYW\7fÐéÅ\8aJ°&Ü\1fÎVÐPÔ<ײ\85ñ\852{´Ü"\a¶¡º&+        ¨t\8e"¿u\8eóßgÇã4?\1d\10üP:£óï³ñÀw^²±ÊÑ)m.ÝKY«nRmØ\96)â<F\986\8bJ5\ 6T\ 2Û\85mâ~té\ 3\84UÙÄÝßulÓÕD\89ÀÙ#e\11£{(V0ëP=íc\84\19\98X\81ÁN«\fküÂ\13B`\8d:\85¨¤A\ 3\89\18\17\92©¿¶h^T@p$Þ©\ 3\У¤\ 5çõý@Ä\9d\10\9e\e\15|úRu·B]Nø#\12
\95·wÄ\82rv!      ù\e\15\0\84¢æIû\904'O±Â¦t§\12Ö^\98ìJ2÷ö
+\16¹Ë\99\84æ.ò\9fw
+\94\9eÐ\88\87L\88\80       \7f3\982EC­Ø¢#Ó'é\7fZÁ6\8eºBä,æ÷n,±N,w\86ýfP\9dd\1c½RÓ×pæ\ fê¦\ 5>$× \109\9e/v\1dRP8ÕV'
+\9eÇ\8e õ\ e\89}\80Õ\84®[R¦SÐ~à°×j;\bÙ\97i:µ\94LQ\výØ}V\b\e¨]\87¶¥\1f\9aã¹Ï
+\v\ 6\8b\84\83¹Çv\81kÄÿ9u5®4ß|òå\8eÄ»\vîÞí7/T.Í\97\ 1o˺\9e¶w\94Ý¿\95\ 2éë¹ëX\81f¸Ú\9cè\19\94û\r¨\8bì\90\8c\8dÙê\18O\1eÈï\ 6\17¥W`\eìîënï\17®R²æ[x3\93¢¶ÂfQ_A= Q2©´õ\11\12µz\8eÉjp<âp±umF­Ü÷\98'yA©\1d\9dÇr\e18`õ\11\7f\84ÉÎ\110\8aì\14\ 5FÖÊêíÖ/jîWl\'ÿ\9eéàµ\11}\85¦ í\9f\95ï÷>P3óõLN¼÷>à¦S\98\86è"bFà\89qIí±n¸Ýéïç\19zu\13Üi£\ 1¨\8b¯9 ôq0¨Ü\82å*Óg¢[\92\9e\rj\ f\ 3ºö\83°ë\ 3¡µ\80½Ñ\8dGµJ\ 2Ó&Ú\ 3\18J.¤¢N«º\87Híy±Á%?¼ÐÝ#µ²F\fß\ 13\19Üo\92¹Îù\ 2\85ÿ\1aé'
+"(\97
+w\ 5\1ea® z\ 5\84º¯\198\81°[\ 6H\86^^Ô\93¾\0\81\86¿vmpûçåád©\bÛN¡¼&\12\\94yØoñôм:-éf\ f\90yÃVhè¯\18_\ 5\ 3A\0ü\93®\80\8e\81Ña\1d°º\9dn\9eO\11kÿj¯\17gêA\8f/\1d\8c\8a&νãH\8d\0¸æ".\fw\ f êÑ
+(­,öȤ"pvòõ\16³Z4æhãX\80Ì\18³L8÷ELu\f\81È`¯2á   àÎ\1fÒ\!\84¿\b`%Q,÷\bñíÜ#\82ðó\10«zãßf×\84§ï×O\8d\1dr\84'\17Î)\95S&k½Â\1fÐà\93ÃÎ>æ©\95è²y\88Nºâ^&ö\97r\85\84ßú²PÂ\94\ 4\93E»~\11B_àk4SWë>Vc\8eôø\`T× \99NXL×Ǫ¹)ê4Ô\80¾±9\1aÏÞcë\11\83 {Y\9bæ*\fçNÉÊ\ 6sWå0\94]Ƴüèɽ8ð\87\8f\9avFc\15³érÎ8`½\96îj®\99K\86`5aS\83í\fUeÒ\9bä¡7«ö£8ë\98ë×{Q\9cuÌuì=¥\9co´úóûõ\9co¨úí½Å\9f«Ìúæ\96\16/\91rW¤þM\82XÐÆÝÍ\13+Ôº>³_\81PVer\13+6èkù¤ýwg¼^¹/èÌ\80\1c\8bX.§þºUb1\98­ü<D\91é\å<À«öÈ.1¶\ fûg\16O\1aj=ÀÌù>pò\13xöx\85b\rÁù\11<\r\8eüQ\1c%\85úèncy\94sf\96\7f¼×\ 5L\ 3Ͱ¸s>~íF¾K\85¼³\80JõÏÞÒ 82ÁݽÇw\84\8a:\e\92¢=q³\8b¥fß\86\9e\8duq°8«^ÉÄfq[,\7f5\eï\8cü)~å\a\ 3Ä\87\17S\ fÍú\e÷Æí\ 6\19Åß%\9dm\8d\8a\17T]ñ\9e\eô\17Æ©D¼M'÷\ 5 &Úì²^¿¦yz]`\ae\17?DóEPÛ\93íEÅÌq}¨½Ã{ÿj.xÂ\ 3óóK\9aQY5õã\1c\10´þ|dÁ\14×\9a\98_Úµô\eß6\1c\ 4\7fj»Y\85¿\1d&lOÖuIOfþ,ºÉìÜ>*\86ð6«\19Vöð\9fj]6\86Y5¬kQ\aÞ\aïc\8cÆPãèÌ×\16FÁ_\9a^Ks18\11ÌÔ~\97æW\86ÝnÂîSÌx]³\15ªXPÒ\ 6¥áñ£àU¶`F¥{T\0ôIä \91\8c\85\17i³æµ\97-b3¬Û\8ci\83Ò¦i\16â\vÉDLJF;áBíW(\9b¿\9cå±BçMØç棷ÈõÊ\føö)\r÷d¶¹nÞ\88\94\1aïåï{z&ÜÏ¢4¥r\19cì}<Ô\85÷Ô\10Å"\865ÜU¨KtñätkÚþ;é\1cÌÔL\8c\ 5Í\12?Û9\1c¨\882$®ÐIP.Y¦K®8\e\1eNÒÙýµû\86\7f)Ðg@m¡\ 6mÂsoXXÛi\11\1c\84ºÜ\13\15\bDE,#Ñ?ª\ e-(\98¶.Ü\1ax\ 3\fXßùkز<÷4¶\7fè\8c\98EÎ-u,qj³\9b\1c~n,Z3R¤{f
+Fÿu1l]\rÌi¿¹\96]xXH\9bm\8e-Ö¦-\smr"\99Éo\8fvû¢É\18Ó\99        dÕD\88U\13\95Ö%ør°¥CSººô½--Î\a\ 376,\90\8aòhWôJü\19\18Z[?\r\84z\1a\ fð$\14¾åOc;£ØÎé\11M\¯Ç¿QJÔ"\9c°\95ãle|¨ØÏ\16-ÕÖ\96çÅa\81ÀßlgÕø¶3ð$\14¾åVhT\92ØÁ\14ùü\9d\8cªM\ 6\8foYñP\9d\9fïe        ¿ú\15#P¡  VÝ^\0÷]Ó\18\9ºW\80¯²\17»<.¼\1d\10  1ï¡%GÊÙ×ÜÈvm\15\1cXÜ«j¤ö¯iw-½VÖÓÖe³\86¤÷ç\1a\rÀ÷\ foe½gl\81\93¾2\v¯Ö¨$èîà\92¦AZ   \84£ù\1aýiAHÓKZ?5úR\84ϤC`ziHÏ Põ,Û,6\15j\178f[0ûDð.øb\9e?ÑËË[\9d¢f¥\7fG.5\14ªú|kD¤\a:ÛµE<\16\1f²úLt1\11\1a£õ¾Ä\ 6\8b\90\8aV\89ø\ 5}JÉÖ¥åÁlî¿\97QY>4\9e`°ßì\98c\9e\ 3\84}\18YÖ*»\15m@C\10Û\9a\98Ô\1aÖ\8c4Þaâ­\84M|æ!\12}\rÍzÇD\81­\8f\8bC)\10ùtÌ\1e\11Z\9aÓ\81¯\86òÐ]NKóñ\Vï\8a(m\90V\ev\1fòÅ̫ҹ´\86l:õ    ]\1c6\97aÄÒ\97.ü&mÉñ¡ÊÖ3YV\1f\80µ\8a\1d­Ì.\1e2Î,Q/x\107\1c¼)vP6ü¾;Zh-&Ô{ò1Q\9dÒ\9cÓñ>mÉÃÑ:"lDåïMþ\ 4\9aì\84?ÓOÎ\9aóÎ\8a\ fUns\9c\18¯æäãèã\0¢%¢FZC³\8d!µéÖ7®\18\97ð½Y8]ÌÑ\15ê%o@^¢m\ 6²\91V\94Xȱv\91T\96ÕÒW´¢\1dz\e\98]\9b\1e\ 1L³88     -Ë/v\99\9fô¹¬\8aÉÇØ7ý3 9\r/~ í80àXíÜ^\93Kq\87KOµ\18Dt¯UKSsµüREN\99\97O\8e\18ðÿ$\ e\8e\8c)/\7f¶1øí-Û&ÔñC\16O\8cXåüTÿç\96c!?ùÊ\18%åu-\7fµ?ùù-WOóôM~DÿçöãBb´ù\13ÿ\9dDhO\98Ó\92\9füÎÓ+¢kû­2¾\ 3OØ÷f÷1®ôûx×z}³Oý­Vr \99\9bì'7ð\99ñ¨&rÜ{¿\ f|ÎE\ 4ÏnÏþ\81·v½\ 4¿¿gý´\17ûçO»\ e\9cK;Ç\eú\9f\89\97çs¿$\ eu\7f»ï\8a\9f\8bRnABc\91F¡Ê\19F¡ò.òÿ\81¶µïh,|\85\9cß~\a\rñÓäßÀPÔmX8c\85\ f\8d¿\1d\0ù¤HmÂ\ 2\17Ïûè\b_æe³þJÎOãÐ|ø[lßw¡ñ¥\9d}ýÆ~Ç®±\9cЬ$\ f{'\17æÞOÈÆóý^
+ýÐÆûÌMÿï¨ã\9eè:ÚùÞ>¾E    ®C-IûÂ)\aò\8dÉÿîNúr($R\13½\1c\8a\bÿï¡}ÿå¶bÇÃ(nr>v\1a\84Õö{\97\r²ÿÊ˱ë:¶\7f#¶AäBë÷\¬»\1fànyn¸\8e\eÞE\89ÑïØ¥üTé\9f\9a\92í~wñÿ«ðf´Îø:¶Y˽#6Û¬'ÿ°ëÝ\84Ìl\8c_Þ3ÿn\1d{\19q\7fÿ\98uìWÅÈ\1e\9fæyXuì0?`­#Χ÷ȱHË#©àÓ\91Ôð|ª\1c?'.åòrí\1aÕ\b&¼æ\ 5"\90>¦¢u\98¿\98\ 1¤£ÙÌÂú\fH·E\17]×!\8crB\14\eÕ4D\15M.\82gÝ*rÛ_g\0\9c\9f_\9b ZïGDU?\ 1ѯföºáó\16ÊhƱx)Þ\ 4\91æ\0\97´È,ÐÉP\0ÓO¹Õ9DÒju-,{:M\88ÿ\931tQU¨fü:X\e\9e ëi¥½3d (Ó%ì¸ñVîð        huh~\83\eë¼R3\ 1©\82<ëÔ\90j\91
\9c?pÂT\9fNHt1È`G¸§ôámfoªkW31®,.þÿUøæcTò ÇÕC~w\11è×ÒÜ3©Ðýlù|°\84
\9c\0\wm{Ù\95Íá~ÓÖfX൮\90ÂÏ$zï\1f\1e»`Á`Wîk\9f=\ f\0ô$\11ìg¡ðX®\8c\ 3ÐîØ¬þz\8dqç¡Ê\99ÁoæÓók£BY[ô°\\bCN%'\8f\1a
+êê\99UÁÃT¶'Ö$CA]Vi\9a\94\81WÏKiX*Þ][s4¿sËåþ\11
+\f\9ap\90:ç´m\1dý\0'Ws\99µ[÷á©D,mhn\9d\11qÅç\ eî\956\ 4{yzú¢±\9b!ç_¯!:!L\81Ó|r\ 6n<\81\87\12\1d2­p%¶ßª\86ëP\14\95\85\ f¤§\ 2§&\10û\87\v´£#|\0R.njºKÄû/Èä\10Áy\ 2\90K®ê¦\17hQÑs3úz\16è\92íÇÍWsò\80\81\1fL\9a±â\85\7fÁÃéxk6Ä"ïÈVXÕI¿m1z\9d\80C\ah:&5\&\0÷\9dgñQ¸×÷oÁÛ\13¸QÖúA\8c\80Û\85zW\ e\80\ 4Õ\9e4aØ\ eX,\17 (zx        \85ßy\eÏ\95`Ãå\15ÖõZíÅdjÅå91f[]¡7ÌÅ\9dE,es?#\15#Ãì\8d\13§\ 2ò×\f\8cê09H\vÀt¹­\7fÚ\1al\1aß@\93\7f°Ý-\10¼K À»0¼\81wXóg\10#\ f9s}¯>±ºý\9f\92ÓB¬Ì\\15»\87\8aï zºE]ÌÀ»Ò\v\82\1c\\v\1cà\98pÇ0éð®,B'·\9b\9aËMÛdi\ 3DUºgéÒè6\8fhºy§ä°H:p\9c\97\bïNÕó\96íÓöÏ·ç§/"}Ó\1e`\8d   à>Ö\\9b$­;Ñ;ðâ«hÌ\82÷Þˬ\ 6X ÖB^\13íÑ,\9bkW\15).\90Å¿\94Ûäc\1e7ü«\90ÍÀñÖ\83+ÖV¼¢ßìs\96ÛÒýw_´\ 2{\12HVç\95fr|z£M=\7f¬°\.§¼H¼X?\9e\87H\95ëð.\90[\15ð.ü\7f{WÏ%Zº~\1d\81çw¨I\91ìô3¯+ôXÑÉNt]EMÇÍ®·\15§¥/\9aÙ"CJõ\83TRÎÍx\8e_^¶+ß,JkGÄbù°\f\93\8cììM˨6hýÿYwçÐ,Þ\7fÎÉFò¼W\82³$\85\85cÏÌ\87\83ö}\8a\18$պųì\15üæ\1aõ\ fJ37ø#*÷Ömo\88\ 6µ\9aØ?\b?\8aÕXWR`ì\v\99oÝäb»Èî\9cÖlX©\ 3Ý\92\8dm\948îþùXÑ\84Ú×*ì]£¼Ö|\@ýHüsãðN=òjñ¯\L"\16í\86\9d©1\9a\94ë\9fwc\1aIRÉ´I\80ö+\bÒ\8f\ 2\80P;v\f^\;<%,â\93lW\15\92\87]Åbeèí\1dú2I\95ýQ\15\94¹D\f\1d\0v07\92gqR\16ÆÌ\ 5z\19¦\16\96S12®£ì\92gô§­±?©e\83qö0    \95ç\\7f\10ÇW*xì¢R"bD)\e\9eÇO$qËÝÛ-\85\8e\9f\f\RmFä²M\ 3\82»~Ä\8dÌ`·\19ûE+5ìCNû78æ\9d\91\91ƹGüò;ïþ\14§³]Ð\16_©õ\86\7f\16\98ý<\99Ä©bêó4~¥W®·a\87Pmôí\ fT)R³¡N\97\8e¢\95\97\ e\9d\86óh-¦\85ÓOâ\8b¥\8d  çÛ<l\9e\7f\8añ\1a\0\83\ 5ñ\e\e\17\10\9a\1d¿®\15ñÞ\b~9Ór\r\90\86\8eSÀY¥\9bÚ!Jî\8d\8cJ\95?-a*º\14Mq;\12àã¼\8f°\88+\8b\1dêÜe¢~ÃBÕO!\8cIäo\0\85¤\14îÜÖZ¹§>X.\93ÕFï\87ô\9f_\8aÁäå±ax N/\13j\9e\1dWIÆ\83oѺM\93\94Mhö¯»u?+ce\8duÕ_xàQdïè©û| ^3Ðôñ\8btÌÚ¦ïx\1a×\98o\85mq\ 5¿\82þ\ eØí<¹ÎÓìwûXøG\1e\81¹Á¼fAqð·\7fÄ´\82ñr1\1e-2éìwCf·?c¿Á\15\ 4\85{NG¼/J¨~\bÜ´ÉÖ)H\17k\86`$\81¸Û\85n|JË\93[ü ÷\87X\9ap*ê\18\9a"Ìü\v\195"U¼}9)\90¼ìÒ# \17}5\86ç\13Qä»7p\94á     0£âQÀ\13\\17Ç,m"\ e\94äá\ e\8c\ 1\97¶ x\ 6q\82/²Ï OVWf0Èë¨JÇò»1\85&áaYǪÑ\ 3vö¿1\83\1aGQô\9d\1a4\98\11¤è£é)Q¤\99\1aG\91ô\99\84i&\ 6\93/\1fI\99´»\99F\9e\iúKM»cÒÓZ]Í\1fG4\7f d"Õù\86Ï%\19Ä\95¥_°A\9685?Ul|k¨\83I\86¦Wf®\1óó\984\98U    \1d\86£¨¤\1aL àò:T\90i0hýe Ò`\91úu\ 6\93\ 2\8fÓ¸4\98\ 4~º(4\80¹4:84\81Y`<\83I0\8fÕ,\1a\1arði%ȸ\95-\f¹mé\81k\87\85Nù\\8d¸¥WZ\8d\16f\r \9esPY\ ez2³.L\e\80r2\r\84\ fÅqµ.v×\87â¤&8Ù0y\840=Ç\81«¨^\8b\ 6ï#f\ 6n>\ e±ÖMJ~Ó\19L\eþGq¤0¡
+\97r¢®µÕ\bòণÙ>ëT÷m\1då3\14õ[\87p{ÑëIDQÞSeÚs9\95~éúÐmG\98T,A\16íø³\93\83ðö>È\14[[Uë"V\rÅ&m¼l\vP>^P)R6æ.\10XJ­ÄoS\ekç9ëÅÀy\ 2U\99    õ ¨m\au;Á\vv\87\9f6Gõ "ìCxÅå\ e°<áe\ e±å|±«çJ¯>5Óa\1eë\ 4¡³\89úxï>FK&ÌßÀ¯Ë[\9f}¼¡/Nç^dO¬âÄ`\93\80ß\rz=uBQVݹ6Lç\99£é É\89Íö\17\7fÑá\89=\86a\96,ä1eþL§\rP\90£­¢\eóÓ×ü>á´\ eÌ\98ôë·\88ÏÝËSÖh©û
+®ÿ\90\89'ãaÈ?OàÜ:ÎÚ\9f°]\98¡j¯\8f5ÉÅ\8a\89ÛÇÉÛÏ<\9fõ\f}1\9e\84\17i\19E
\8b\fâÉÜ«Úþ\8b\ 2\8fÛd~æQûh\ 1o\9d\1f¹$~æ\11û\97\a\ 5ÜÅwE\85\0]îÛ\94«i§\bÜ\15d¨dËÒ+'Cñ2L?Ç\82\8fó\8c:9³|9ël\8e\81¡±4\86\8b\9b/Ýôýí?iÎyÿ\9e6(ûð£b\8f¿åcñ\9c2<{é.FN·X#Ùýì¾\8eÓ\88S±r\17X\§Â¹\8e×uò>&^÷ä\ 6\80úÅN.\14 Þ\9d¥\ 1uíC¬\ 3§\1a\ 5üÈ\18\9fþ
+H?\8düɤ\93iYy\89\99¬ßck½ý_¯\7fyíðÅ\86)ìPø;¬®s%ÑXýÎ˧ñ_â&þl\fßûþo\7fðtò8Õ\9f³}\810·&é£\81"  Ö\81ä\1eø\1c)Y7=ä«\vʾ>\ 6\17Äcgq\19N5·\7fÅQg\7f\0Ú\95þì\fWÿ¯\99þÎ8BS´\92þ \98\8b\95ÿïÌÿã§\1aqÙ´å|Ïán[9N3ûsñã?±\8b½ì\12sÙö\12\9d'`\94$Çaý\98Ïî;${\9d·\878\aÓ40»ï\94Åe\85f«_²Iÿg\83\ 2Ú\82\17Nı%V°²Yn6\ 5\9cUð{\1e\81\fÓ8"רÊß3*ì)\12æJ8Áu«¬\ 6)îXZ\19l)ðµ\17\ 1sÈ# t«RÍ\13cåÕòïCô/Új\9a\15Ò$q\8aI\bê\95³b\1eG7ï{³\0\1f\1dág\98©\ 2Ï$K;´¡ó¬\13\ f\9c\ 1O&¢7\80¦0Æ2   \8bw©¡/&õ>ô\93¾\8c¯¥¾Äåºe\99\12\94>m\9a\1d2\82Ô8Q\9chÖoñ\93åÃ\0þ2\7fï\83h\93Ã\ feÕ¨Wîën_üây\ 2\8f\1a,Fâ\83\e7K\ 3&Åþ\12\ e\1cÖ\ f8À}\90uÐù®.\14[J\80§­º¾F£\8dLSµÓ\84\80ø\83lÏnËOoHÇÆN5£¿`ç±lë´>Ä\9f\9a?bO¦Ðé\0Ð,Ú'\1e½ã^Bç\81Óg¹­G8\9fô ÐËÈ)äÕï¨l
+­¡\aAoLζ\87Ä\93\8dÍIÖ\86.\ f\ 4¶6Ë8$ÀáUÕ[\14{\86Ì£Ó­\8e=@ØãØÖÑ£Ûv|Xõ=U²³\96k\ 4Úá´ÏbaÁõ^ÑÏsú.R¢é±®\8ccJcó\89Rn\99-Ëe k±P³Ü3\r\ 3tDI   W\ e\a\8cϹxÿJ\9aѱEwZY÷Á\9d\1d\ fè\92\ 3d\f/Æxû\96hìPï§\1dõ]Éø\ 4Ñ2ó\ 5UæH\17A\85,:»så\98\17AÌ' x\e걦\ eæ<\1fɾ\ 2ê½.0«×qI;ò\e3=Âk¦<j[â\9el]Ú\18M\8býãBd?\88Âh\e¹<jiÝ\9e\93Qî$Y\8fZ÷'P\99ÿI\9c\8fà@Â\7fO%¡Ð<¯\9c \9b\83Z\9bâ\90°ç\Ó\19 äe\f&\80úèÖ+\1e~5\8aÇô\99qP\81Ù;b\9c\85ã\8f(añ\a"\83Ï!xù¥OËþÿc\90Ï}lxâ}JÇ\8ex\fl£!§;ì#ÞÊ3ïõü\93þO\8f§Êq6]\92îø'ðéò\IþFhË\91èÊÿÂïÓ\90»¼ä/\a?ñ:\81µ\90ä\1dûÁ\È>\92|çW&ç\eϰ¼\99çþ\1fT\7fäñ¯<¯\87&«ûÔ\10ÖÞ\1d\1fø\9eÍøR\8bv      DU5ßÔr>v\14\7fá\9a\aÜÑñ{ßÿ\7f©Ìo\98õ³­ûäz\9cÅ@ìcF;   >V4kÑà\91\ 3Æ#È=?¾K\8fOÎÑFýòs@ý\82]kNÃ)ñf\81üòxWN\9fßí      ¹õZ»þ\ 3\Vüðòã,9|½5Ý9\81\8a)\8c[ÎM\7f»=®\0â\7fÉòDú\8bߺ.0ÝÛ7ëCÎ÷nðÆtöx´ý\8b{X~¦\18¾Í\9c|\rWÜ&½Õ\92yE¢¨\ f\13\84Ø¢<\85¼N&¶?¦\v\88ÜN\7f\13\89\rï)¡\13\17\8eþ\9c\92V½É¶ºiç\19D\9e vo\1a`[s|Î\84Ól\97u\1d*\9a\84àýöd³\82\89è\ 6¹ëÂáÊU\9a\91\99Ò¬âÕ³ªæ¯+ë\8d\87\83z;Ç\8cì÷Î;*Ûs\ 1L\ 4kwÎ4\95\9dâЫ\86\ e©:\²"
+\ 3"0÷V=\88¿%n\87B·A¢Ý\ eôÞ¤Yó²úT{\12cK½\ 3g\1dÏJÅc|\81\84Þ,éâ°D\9c\ 1¹\98oa-Ì,\ 1e´¹ÆBö˰Oß\ f\8b?RãºÂ\91¦£Ô±qÝË\9e\ e\0Ô­"Ï\9a\94å\96Í\1a0-&\92\19\97w8@m}lo¤\81AÇD\91Ì8\85lx³j¥i#ÒJ\93\16Hf|¼Ð#\89C-±ÂÁÖ<gtò\17}ç¹       Hiñ`&\19Í\84ºÃM£_÷+\96.\eÅ·\8b\10´§üXEóK8YôkÉ!Oúï:T\8dZ ZmÕ/4¼\12\1c\1ej\b}\7f¸fH\ 1\8aZMØòé\93h\8c=»{\12\a¬¨ÑƾFEw\1a°ý\86\97\88¿\ 3tvÈàL\97oå#¦ûGe\ 3ë¾eÛÿ­\13\7fù\16\9bîO\ 1\1e\83ÚWÞ\13àÿ/\18\829\17¤­\ fÀ\ e´3ï`ø\9cÍq,\9c·ÿ\99¯ÿ5rìf\8b    äÕ5\15\80ë¿\93\86\b\f>$\92Ì\18\84\9e^CþD\9eÀüè.£0\8e<zÆ\eÌ\84XïYwzÅ+|E$\89\9fy¨ü\89þ   '\16\89\93íÄ?Ôx\b\b\1a\9e\1c\aá\9a     sÓ$#£dÉ\14\10\9bý\IßZ;Ó\84õ\98\95\8c\17º\1f¬m-J\10\83ƶ\1fO)Ç;·¾3ÒyÇk\1câªvÀÖEs\91\8aL£}\ 3\17Õ¦?\1fD\[g\9eÏ\ 3\8fÇf4Ud¦<T·Ë]\8fÆÝ\83\9c\8f°ê\15?]\ eïÛ'¡)ÔÎ\eäy·Á\e\8bä!Ü-\1cÿ\82X\9eR\98À­ÿ3\8eÝÃ\9aÁ%¿\8dv@í"ô7\80¹3\88GyÑ¿hÐg\83à+Ãà`L.å\ fÿÚ3C-m\f\ 6\987\84Ú&û\18\7fÐzoæ$\89Úê\8b˰YñP\91"\85\95\97ì\1fs\85\1c:öa\91ëe«´Þ\1a\99^ÌL\9aBV`aÜs×$=ç\1e\13¯¨\1ek#Ì^EÙ<\85\9d$«ë;\14\98\92 2ì\96\ 4ê®ùj\93\19%üµXuºu Ü\1e@Ó>ÎQs´î¨\8bÆ|¶%\e\ 6\9dµÄ`VßñÕÃàML\r\9bP6w5Ëî\10f\bXbû\ f\88Ê.Ê\1fe*[ðæ¶+\8aÐ\v\18ðþù\87T`Éc-aø\11Â+Eq\9fp¿YJÅrÝÛGÉÞcÜ  à`S\93²\ 2@\8ck\14Ö m?8¶NÄ\86ü[0 ;µáþC¬Xþ\83K\ 4\9e     \9cõi1ð^Ñ|ö÷      ¿\90\1e\92À
+5\9c;i\9bð\19ÛT\82 \9cYYdd\8b/(ð\ f¦O\e#\fkTÚ«úE\90ÎySrôÍ¥àZTÓ+¶\r\142\89#\1d)âæõ*Hþ«Ô«\f=\vJn§iJ1 aåÄvO(©&\w·ÔG´¾\99?<o{¯nò\ 3ÆÇ\89-a7ì¹²¢W\80\18ðÑîÁó§\81]\bªM\1c/\ e¿\9b¥J×M$LÑù»É?Æ#±5A1[Û\8b\11\94ê\82>+GaJ'[\16Ý£W\95èý<c\8fØ\8c\87?9cR5íáF\95pó+\1cm®VÄeúîÓHF\97稰+¨´#¿`.\99á,Gix,<}[GÙ1Ш¯\94}\8d\1d\r\96\a\ 4\a\bã\82ÂÃ\19Ì?Ç\80\8a·\12$L[Ð\92\ fÂZkÂ\99«Eµ3eÙ¯n\1d\8e-ì°Çwïq\ 2áÙ°M\9a\9f\f|Eaêv[ô\98\85\83\7f^\ 6V\8b K·\8c-Â}G\86\88L\12
+¿|\80¸\ 6Ñ;\ 5\92\86ùà\9fû6L\1fP\ e\86á @&Èèjå\18?ÉË\83;¬e\90K\1e.üézÄu·ØócÏø\98tp¾á®ë\1e³\1e\8d£©ècÌ{x\0¿»£a|/\rm\9cú\87S\8a\16\\1c?ã>\9f\0vm\b\95\ 4¶Óx:®\9a_\f\1eÙXì\1e\ 1Ϩb_ðêSøÄv\88\0¿Þ\19\95µ\ 2#\9f \81|*Ò©Â4\9d¬©æú\ 6\E_\9f¼ü\9eâëR~\99]l<i\97ØÎ*l¨ßm\93çI        ¥xu\83@Ö®\8cöPö­Ò\88>´'\eO5\9bZo% mØ×Ê\92\14oeD\11Ѭa\977!_\8f\f.T0Y\1dþjÀ?\93&.o6LéÚð;\ fòs      \18\vÑ\92úù£Q\91ÿË\8e+{cî^ÉÈ\91Ô+\ 2\roT\1a}Vc\1e«@Ð4a©\17£Ôõ£ê"\0\9c7ÜÖTX\9a/¦ò£!\¾\97£´\7f=pNä÷\12\9dÊN&
\9dÊ®$µÃ3qu\91\84\ fK\bg¯ºæ.\93\7ftÎ=ð\11É<?8íh¾ätþÑü8\1e·4[Y\13\9aNH\15Hº^<r[T-Û²a\ 4ï4ñ¢?\92pÐÎó`$x\fÅ\83\ñ¡Ã\1f\1fÂ8wÙæ\97É\ e\ftÏ1Å1ñĺ­ôß\86l.êN%Õ\a¯\9d$MÓ¥Ü\86ÀÇD1hàøÞ\ 4}?\1c±a±qs,\eÝ\98·\0\13W\ e\9d\8c`[\13v\rÐS92\96-ØÇki¡RrË+f\ eaE\û*QR^\ 6×ýsÀ¥¢dÿ\ 5\99gèÒ\80¼G\84Í(\r\83­¤Fnò7*\11Ï+\9c\96å!\18¤$¼½*Õr,b\8a¨r\Ú<H\8aKÀæYíNK´\9aÌ\84Ox$«0¶\v\1f\14¿<NBÛ\94¶|Mv½ßE \17Ïeã1\83ó4ì¸A3æ\v\14¾Võ\8c\ 1w\84¿¥\ 2Î\81Û¶\81Ð\86"ðD ©á\b¼\88\ 3\96 \81 \0o6î
+\a\93^\a×\9c\ eah\1d\1eûBÒ&Ü1¨ÚÈ\1c\8bà.ü»Ô\11§\vè¶ 6Ì\81G\15ô©\97N\95RÁ|d\12'
+<yzL\9c
+(¯¤ôìaõ\rx¥Ñ·|ßGqä³Xf|Åü\97\14àZ/-ðÚq\15\ 1Ø\93òbJÂ\9eËzF\8a\9b\88H«Â\16þøÁýüÐ8\9c.x\aH}\fU5\ 6-¯äa\97ߤÃ\9bð\1c­\15Æ\14ØÊ¡\1d\8d\ 3Y\16#.+.ªü/Q~\12\14:¾Ù\19ð\1a²Úk\97Ý\10À4ÿX1\1dF:Ñ÷2\8fþ\1d\1föèð\ 4\ f\8a
+0\8c¼JA\99»Ç¹ª\88XgxcfȬ \ 6\ fò|O0##q1#\1a»@¼gÜL@¼hÿ\12\9fay=}Æ\12h{\94³iÀ\ 6D|ö÷è7\9dì\ eÙÏZ\1f\ 4æ\96MóqÔzýº:\83×Uø\8dø0à\9eK>ÕO§Å£ë\96;W\r\ 1o\18 èÉn\90£Çû &\164oÐã\16[¤-R£fü\8c\12Vé$$\9f\a>\10(×0Åf@%¸Éi\11·\18\9d\9e\92\13_TáÀ½\98|c\83\8bR\16Àôº\80·£ÏKùBß\ f=/\88\ 2E¼ô¶\bén\8eL
+\83óðc\17ù©ã+×øÅ×nâËYCf\16ÖÓ}\962õ½çÚ\8c\f\8e\8f
+\ 2QÜg\96\86¤|
+Èð¤ ?\12èG\vû(ý\ f©E\8an\e\84­\v/\fÔxd%Q\879Z¤W\9a8îo\19}ã4kÑ%ã\93ñk _Æk\14pÜZf¶IÈ\8d\ f\1c\96.Ó½\86\8f\19\90£ÂÑ\rýsë\9biAJ&\92â\17\95\86q´ÙCs\8b¸\8e\93\0ü\83\8eØÏòx\ 6Ño\1d -£a\92æ\r ÑdïÃt¼wÙ\ 6
+N\12q\8c\8d\1eµÅhÇNÀÜ\12\ 60}\r®\90\86Ç52\8f\8c:
+æjW\1c\ 6&ãè\a·\1aúM\9fuxísîl`L­\12\96\9b\89u-6î\14´»Á\80\86\9fVéà\bCðø\81e\8e¯^3µ¤W\a5\13¥ý\90\87\16H\84ã\7fl&Ç\a5\a5\80ÚnC¥ui­bvcj&LÁH\ 5\8fÍÌ\80~0Í\18\88&¸a~êaº(Û\91ÿ\94!ÒWWf\0âch\1eÁÄT£s\93ÉäÓ¦ms3ÉÆÛÅÌò\18\10\80\17\17\ eþÖ\r¬\8cDï~\1c+dbúÎ,ip\ 2Âôqcëm=BrA5e¸\e'\9a\rè³À\82Ä\11S\1d¯1dA\1f\ fF\9bHlyG2âÇ:8ï\96\95F¹Ð0ô¤~3­\9f>GYðÀ\ 4,÷ÞѦãÿn¯·åº\92Z·R\16\8d\0! Hb\ 1\8c@\92\ 4\8d\ 6-F Ý\ 4\81\0\91¾jFùA¸Ûd\rÐL\1cm\11!µ«ç±¾é$\92ô}xn@d±÷0|Ø1·Î$\fB@\1cÆ\r°\0c\ 6ä\8fâ(àF0\1007ïß¿\7fýöý©j@\84\90Û\82sºós\ 3§l÷­¶Ïv\ 5ïzàÙp\9fa_zú÷­Íïzà\+\9d\7f\80·.áßà\1fb_\û\90éðûÛInݬm¦ /\8fZ0w¹\89mA-ªoÙVz¡ r\8d\90¯ppJåÙÕÆÙ@`\19ñ²\95±Zùç\8b£F        Çÿ=F\91:\95 ÔÂL6B\96jµµMìxK\ 1ÍlõT\t J}ξ*ºz¦.8S{pÔ"t£\ 2õ\9e{ã/VôFíòL(%7Äi
+1^\98Ä\bê=\98\ 2ÖÇn\e\ 2\rj\8d\ fàÛ«äX\1cÙ\ eSq\17\8fD\ fÒßL\8cz¥º¿\ 2ú¯\9aAVWEή\rÎTÜýô Ç¤úTê\81{'PJú\1a\98ßãæªÔ8vçræ0\9f³ú{èù\86Â\9aÈÅùV~\84\1a\13~1\9b!Ð*\8e®W\16\9bó\f?Ú,¥ï\8b&\9bebRÿJ\9b·/E\r©PüóPæMø¿\99\vý5ª\1c\92YQþâ_Ö\8a\82VgÛîMi¶ò¯¯M\vq6¶øzAfʯóú\16ù¨î
+\8eæMCd©6\95¥LÅ+¥òeG¾É¨lCãB\99´Òû\11m\ 4Gò$\93\18a²£·\81{\8e¿\95\1fÏ\92Pp,\ 6\8f×ÚQôåGû\92J\ek¨Ñé,¨éP*d\87d\13n³KIßM\931´KQ\b\85\15H\10\80×\fS\97ÈúC\8a\16ì\83¨\18\87\94ô\90ƨòVÙlW\ eW¬Ç½£¡G\89*<P=Hx\80\84!Tô\88n Òté\94\89{\eQ\83\aùÜ\vÞÄ?s|OT\15Û\85"¶×\88T}EñIþ¼-¸&\9dÄ\a\82\0£÷eG©¾&}̦Û\82\94p³Ñ?\90e\80ÁÇZa¯\v»\ 1Ì\8cwV)\7f\11\1cµcÊ\ 3ùâ¬oýM\12\89»ÿ¿\8f\ f#î«øü\eßõ+øþUïýjþ>\86÷\ 1_Çw{\80¯ãå/j|\ 5â¯ãä/p\15üw$Ös¯ÅD×^­Õüs¯~ú¿\8e¶öý_ÇìïW*þ>òõf¯ã\86|§ýjþ?mzøUü\7fî\81\92¿ï\94{u·\1c\ 5\1c3\v\94ÊNã\8b\ 2ar
+ïæáþÏø,ù\98\85\9eº\15\9e»à\f\8ey¸;\a÷íüUаT©g­\85g­º³á¡Yð×VyЬó®¬õЬõ×Vyð¬óî¬øxV|=Õ\9e¾\15\9e¾êÏa
+ÏaugÄB³â.¬ø\98V|MÕ\9f\15
\8aº³âáYñwV{\18V{\e«>2\15\9f\19ug²\85g²¸\11üÿç\81Â~k\10ã\93b²MÕád\9f_ ²O1Ò,\93\99»¬\93[\1c°b\9dV­U\95.\0\b©æ\14¯Ñô\1aZú`y_ú¦<näZ\94î`x?\9eÄ\88Ì\10yöp;¯\ 5Ï+\9b\93\13\ eeµç,_ôNÍ\8eY\87ð®\9e\7f§\8fsËe3\16XP\99°§½ÍÃ\9e³N\9e\15>\1aâ\9eúâ\9euÅ=\9dÅ=t-\ f>\15>\1eâ\9fÛü,\b·²4\92ÃûFþåMýѱø+ì\rG½±³sî}\92\9fI\7f³\ 3\96\1d¬u\9e\r\13\9aygë\13ãy¶~å>lE\9fã\8fꮳëüøk.¿ØÅt\7f\10u?\15øÈ_\8aüeÕ\9f\ f
\87·Òtø²5ß\ fá_-\ 6\9fг×B³×]Yñp¬ø»«>2\15\9f\19og©¸øè[\8f\8eºÞùÐ¬ó®¬øØV|mÁhùÈ\84Ç\0Úv«yý¬7?µ;\9fÚ¯\91´,ðØ:\7fðþ\ 5ý|\1fÄ\7f¡¿ø¨[ÿ¸üGá¡~7ë?F\8f°\85£ì.¬óáYçûê
+\/     ì®¼Oþ­ï¯ø¬ó¾+=oÁg¬´ ü8\8b\8b=gõÙý\8dÇíOI
+ÏOÆþôÂ\fèµmÆ\8fûÿ\ 5|T/\ 5ñW^3ØÂñ\9eÆêÏY
+ÏYñy\1fgu³ÿíö_ýZ?ïé¿Çgÿ\85\9e²\ f)\aiû¯ÿû[â>+=\87Åg¯ø¬ø\7f\8fÈÿþ|?Üs\ 5\7fc|H,Ã\v«=OscSà´\1dçÿ\ 2?ë³á­ìú\9f×g­·ïé¿]\9fýÞåæ÷Ï´\ 6d¾£\ f\15¯wß`²\9e\1fÒÛ|\8eÅ\9e\8fg¤áDjôÙ\ 6Ù-f\1a;ñúú\7fÉÕr\8eØ÷ÿå ¼d~Ì?±¡È}\9d÷S¢É:ßݾ®ÑÏyø¸2¿·\9b\9cÝòû_\95¤ñ;¹ì\9fÕ¯ù\92Ú¬_\13\89æe¹QûÕ½\94÷îÿ\1f\83\8bê/Ñ(ÿí\89ïü\7fï\8fýÿ¦)\9f&_>\9dv\97k¥±Ò¬ÓKi¥ôÙ\9d5\1e\9a§Mßi¼\8d5^\99\1d7\ fMc¦\93ð¥¼)\7f
+o¹<à\9e\8e\rvÿ\ 6µìî\1aÄêÅ\9b\8a\9c5wÉÁð(P\93Ïþ\ f¢ßðõ~\97í¯\9dñ\9a,±ïÚ[ó\84ÿ^Æ\9b+oÎ\13ÚzH\9cÁ»Oñb¥ì\9f\86\18?yú\ 1@\r§ÿ\18©zl)\1d\97E"?\fs,\11Z0Ä2(ýÖuÎ\10\86\98\ 4sç&oïÞ?Bzh÷ÿß¼"Áâ\805ùÑJ)`þ2\9d%Bw\9fÄ\8c\80<rð\0Ø¡\ 1Hr<^ä n\ 1}û[\8aÖ»\87   Ø\1e\ 6\ 6»Í\9dK\0\81¸\ eX\98Þú\eàÆ[ðuG\1a¥ý\107f\81øÒN\14Úò\9f­m&\99$°ä,/±©\81\1f\9a¼\1aõ\ 11ÈCÃä·rö\81\ e\ e\91üÀ
+AZûvvROW:LÌß\92\9c\ 5M\12Îgºpðÿâfý\99[\1f¤fþ\bPþÝ\93Å\864\10\9ffT\82\13ìÊÀO\80\88wæ{\ 5\82àÌu\91\90\19\98U\19¡ô\9b-&\8d)¸2ɸ\10H]\9a´àʬ'\8d\88\r\12Þ´|K7ð\16§ÚF@àí\86\10ô\9eÈÆ¾N;ß(\1efs(ôëíd\95o\9d\ fýd%\fVOèXS-\aº\v\15y\9eùÌ\83\a^\9dVº¦D     Rq·\97Ì  t{\17¯\ 4\94©DCý´§\9aup¢Xo\ 4K\vôë]O7\ 5\1cr#6Ú.\0¢\1ez-ÿ(PÙæ7вéê×7x}ù\90Ç\98l\83-^Ròup"
+gV8ë¼ðmÊת£Á\16\90æUÔ\9fÈ\8c\11Â\ 3§Ï'*é\81R\ 6úþ\1cÍ»Zâ\80<vZ¦>|`Ã\94\92\1fSb\1c\9f\98¦\94Â5\19:q\99D\86\98d¿§\8c{ØÄÇd\ 1ä\8fv\1d\8c\88c\92jjZV5Pïé-T{ÞWT\a\0¿ç\ 2\81ØF\ e¹·{P=ø\9b\90\84Ì`å\87Á\96S\16Wd\ 1SoaD\96\94Þjdq1\82o+Ik\80h\18E?ö®¢x=\v@ÞU\98ó\12Úø\ 1Ó\1d7¶¿9ë%ü\e7×{:ú\9f\7fÊ\19\82\82¬§®ZðýÐã\88\87Ø1 \16z³Ü
+\r\ 33s-Ã\834sS¸nËU#ä\97u1_\8fz»Ó
+°ãÉC\b\ 6öZc´,Á,1¾´\1aT\96=þí\89@ÿ\bD\86táf\1f\e¸·ü3D½\944\10\9aA\81¥ÔCöÈ\14³\1eÍ/!,qG×\87.md\e{r\9aEå3¾\ 3\93\13æ\ 3\85c¾&\15PJw¦î\ f^1ºAO¿\ 4L\8eV˽©\90\rÑýør\92¡ð\1f´ZXtù©ð½4\ 4Ö\ 6ûa
\1aIÌ»<ü\93-^9\9b-^J8%ÔcZÖ»¸\8cC\1d\1e\rÃI³T­ÇMM\0ê3Pæ\9eª¡æ9¦\bÈ¿o\b÷Pê8\81Ê37\14Z2n"û{\ eô &¨Üí\90qQ\83\1cÿ\ fÄPºÚcoË\1f8§¥\q7\94\84½e¬\96\ 3¹ä½Ü°õô\ fp\9aN;çÃÌßÔ±\ 1\v\7f\18}úÕÔO\87\84\80\98gQ\93°ÛJ\96 \aGtÜ\85ùÏQ/ã;«\ 3 ªKÓ£Ã.M\81ßÊ\9f\103*\1cÛu+\0\1fó$1\ e\19`\8f.\1f\16\v\89\b\85»\9b    \ 2þ(\930Φ=tPÉ8ý \86A\ 3O\0ÃÕ¶\ 12w}R~@t{\9dèQ°KÅ\0e·o\ f\8a\8a\17\9a\1e\8c\0\95þ\a\9f~\97¡ z\15è¸\ 5èT\7f\19\9e±sÆ!\99ÇÒ7\9c;9Õ\b\aŲÕÝ\8a*´Î«\9e{A\12\13\fìÖ»¹Å\ 4v\92àö­\8eóðõõ,@¨\11Þ4\ 6\ 3e\r\98%²PØú5,@­ýÃ¥{ª?ê     þ\86kêOB$½\eC\9b\14à\83\91\85{\91}TÑÜHæµ5tü\ e\881[G\8cAõ+Øv\85¡ç8§¿ùÑ\ 3\11Z\14\ f\90]\90Ê\ 6\9f\ 4.×4ö9@4\eìÂ8|\ fÁ\15\95Q?\9bKCÒ±Ïå\16m:\ f$­ã\1e!\99Ì£6Z¦\8b        æ=\ 3Ð\9frò£Ñ\ fMVZ­nÀ_R\1f\f\19w%¯ 01#âÛ(/ûv^\80ßÈ]Ò~\80\93\15åè\rO\11f\92\11\0\11«@ôìíÃ3óiÔ\95q?Q\1d\ 1ÖtOÚ.øb*\95_QI(\85sJ \18\9fÚ£À\7f\13\ 3\84¶´\0F3ù$ÞÒØÞ\ 5äÎ\ 4\98"mX\103\f\0þ\r¶Ø\1cç1\96\a\13|\f²\7f\88˵8\0$,2C¯XpÌÜØ\ f\81Ð\18`'\ 4Æ!ä@\9cÖSÀ<$­\9f¡ÏZS \86ª1÷O\7fÖ\98ú\8f\að\1fcø       \8f.\7f\193\8f\90ÍpÑí     \12\14¹Sì˹wd\15\84çê\93Ro\14ü\f(\96;\ 6\1a\9aõ{ÿ|Ï\ 2\1eËß0¿\ 4ÎÉ{öv®\fx«²\87µü\13\v\8byù¦\81¾È\1c[Î5\7f7\8by4{õ\9f(Z\93+\ 1\8f\93>%\86Ú¤µ\ f\81d°Û\ fá\ 5Ú\13ÄÊ\8c.s@ühà \a°^K\10xÀ \91ü\98r\ 1¹rö=ðË2hêIa=ô\85\8ftWì\ f¬\fD£)\98¢7,Nõ\88#\10b\89g¦"n¶RBvB\98îK\12oÉ>ÜS\1dáî\ 5\1eÔS\1dáÿb#Þ\xy¸ñ¸\92ã¿\94Æ-ÌݽÇ\8eÿ\86\7fÇ\99©Ç\7fÆ©O \82ÜÊ\8bs¶@\87Û<°Û\16ǨÁ3Ø\8eÏÞ4ê\9fÊfv\»Ð¨¼\8d\ 4¦u\8\ fýÏÓ¬Z\82\93\82\87iñ~\9c\1eü\1f¹\ 4÷û³\aT@¿N\8dAO\15¸¿N\8cÒoÓ¡\14\9eRénP\0\13\8a\9dôb\1eÐWZ_\15\9dÿn4\80Á ¿\85b\92\84ÏÐ6½³f\81i°úOÒh¤öfr\a»QúñÆ\13ïl\r\15½¬³\81£Ó<\9f\86(KÌòÿÏ#\91ík±uÆE\84\a\96æ×ÏÏH\9a7 1\1cèÜ\80°¾çd²obÖ\81\97ÁÐ\8c\0`>ع}^\1dãa\92x\a\7f\90Ë(\7fCoøÁ\ 2\9a9}á\81U6s­Íg¥\ 1DËÈ\ 4Pb\808_#DQ\1co\87.m^AÃ^·5\9cõ>\16\8b       \90Í\8bC\rB\82¸d\8c\16\85e\86Ô¼qóÙØ\7fªøÑ%%¹GpG\ 6 \1cÙvM\825ãà\ f( $Ãü¦îS{\976ÓÐ\ ecâÛ\a¹\vÁ\ 1IÃT*¾Ø,f²Mdèg¸ÀÕ\14ÖJ¬\94Y~çcWöË\1eù³:ñX÷âV4ëÕ\84\ 2\1eÇÍ}µ|7áñW\15d!ÑöH§?¼Î¯ýäÞ\7fágdaï"÷\11½Ìòt9ü\9fÝòã0-\9eò%ÿS\ e§´ø­m3'?}\87\8bÚ"¯ÿ\1e!çñÿ¿ã\19\fá9ïyÁ\9d\bTþ¥3¸\9e\86ûæ¶ó>×\81ãö3Û´0¾\1aùÝEáe\8fؼ[ü¶úL#fW!\ eþÞñþ.\92¾9ø@+þ\84Y,\15??ïE\92äï\1fômÊàOÏ"é+ãº(²_\90lÉέe¾dæ\9fËN!Î\8eÐÐr¶Ó¢\9bóÑÈ\15\9fG!î"ÉrfØ\1a\7fßét\95ð>^}\81G\10ßß\8eV2\e     Ç«\80\90C\1a9\85ÓÌr¼ÈûT\94}\99¹\8c\rÂ?Aw42B­e\0\134?)¸¢\87Ë\a\ fzü¶HL°4\81øõe\0E0\7f\10Ð-~\vX`æfÿ\95@\86ÕÅC;¤\b°\1ewFh°\1eÈ\8cX\ f!XÚ*®\9eÆ-Û\9d\16\81pqH.ç[Î|Æ\ eñNzê·ç\97\ 2(A&)k¹Q°o\96Pd\ 4\ e?>-¼ßÌ\13ʹ>H9§ÿN\81\ 6\99\18õ Í\8favN\fÁ\r\ 6\8f\8eZïB\ 4Íuü\12\a\99³ï\91ïà×\88 \85½¥=Úæ\r\8eGYÿyb\91t\94Î\f\1aó"Q\ 1jcÜY \7fgíÃ+u\99KF\ 6<\9d±!\ 6¾°îåÆ\r}V¹dß{\8b¦v#VÍ\9b3n\87\ 4*M\19³\1cÏnm\1f$Á2\ 2\81î®Êj¯\ 2;\9d\ 6À\8a\rì5\9c )@\94Úu\11b³2Ä­i>:ð\8f\ 1{³ô-ñË̺4$\7f&`V\e¯â        \9eÒ\1e\94\f%\11;Èå\ 1Ú$1ܼ§\86f\ 6\80\0\r\17m,f!¼0i/+\1d\ 1\b®\7fñ'ß\96ÀBê7
+¡u\ ev\a7ÇQ&äPÅ[\17pÂÉ\v°¢G,`væ\9d {#Ô\1683\9d\ 1õ#EÓ\032\16ç_\ 1\v¯®9<Ñøºü3\93Í,\8b¯øÎM\80\e\97\\84,-ÄÚ\95øtóJÂëù¤!VéÄ\9dyõq¦\87G\11\au\ 5\80"×xv$Óø#T\83[\18\91éW©-ÌM4Q¶PâÕ\ 2<1¥í\0y¯¢\8c\ 3âcS\83~}\e8(À>X\98\16J\aÝ\8a\16¨zöfç;¶F\82^P?Ì`À=Ù©áÿå³µFbý!Ã\89r\9c5Q|h\10ð\7fr\10\19\7f÷é¦
+Aiÿÿ²×Ô/ðW,dý\8aS\99\1a\12Z,è\16\197\16)¬òð\ 4ÈY\8eµ!e²\10Ë}àÌ-\9d}\ 3ËÍ\v]pCW\94\83\96» \12\ 1q\80\93¦ä\ fÎí\92ï%\¡·l\95Á\12\83{ÊæÓ\8d\80÷6ÀïSB\eþ× ºò\v±O¨n³\83¶íç/.¯.^\ 5\f-¦N\ e¯põvɼä\83¡\8aÌC\b\8f\94=B\10\0\b\ f¤\1fß\ \18$\9eØ\1a\88\10©ô
\13tÿ\8e[E\8a\ 3\ 33uÕ\87öµs©ÁþÏu\80\ fí\99î\99\87öº\1dÔ^\8b\15ö¨YðÝá50Á\ 6ù \0A7¯\15m\85â\9f@¹c»\r\1eÀvPþ*Ú­\8d\82íH\10</Þ\7f\80f\8d\11v¤û
+íL=\87\9aª \8eà\85     å\r¸á-ô\10\ 2\réÏ\1eÒ\1f\19`Ë}ݦlÿ\99a1Æm¢\9b\rM\9dªæ2¨\ 4z`zëW2¨êTê\1eilÅ\ e¢Z¿w\1e\82ZÁ.\97@5\85\96\8fÔJ\9790Ê ³\9d\rº\11!\8bðü°S\r¾mVY\86¦\19\16\80ã\81þPP¼be\98¨F\82¡{|  \9c\18d\ eD\9aF©Ë\ 1\eî»\v°t@Q8ì"\19jÒé\ 4Ï\ 3\84@3\ 4ÊÉ\v\94#ÙNa\9dÕð{%¥$=        [\9e\1f):\ eàÞ\ 2'0ì´a4#\9c\10fkͧ3k\9dÏ\85÷7\ 2û\8d\b\1aüé*²¬5+QÏ\ 4\ 4ÐE\ 4\912¥Ôë9\ëÃeÁ\ 4ä|,N"Åu\8e45\8f¤-cÃ\1aÄ\1e¤\87;DÒ±5F±
+
\r¡#\ 3pî×ÎR\9aì¾ÛA|ë
+QÔÜTäÀC\12õ­~\1dý\7f\8fíóëóiVfyÕ\90T)ÍY×óë<åÛà¼I\97\90ÖÕ[\97]©¼\88uFò!1\aÈ\84\88v\1a\98j\8dã¬\ 2^Bïà:¾\9a\90øM«Ñ        \e&°É\8f\8f\7fP\añ.\a\91p}\86\13
+Ò÷ÁØ_µ'\87\87\10g+ÔëØg90"Ú.Ó$Ç\r\12\ 5y\13äN²ÑîÆ-\15\ 3$Òm¬Ü\96)qÃ{\9fZlË\ad ÌÌ\10Ñlû/,*¼8ª]Mµ\9b\b<\9cGB\17~ÝîR,¨w\1dë\ e\7fz`ÿûô\93\80é\14ûðÆ\ 6ªàÑ6Ö\94B\ 6\17;mg gá=kt½È%ÞÅ\16\9fA[*e¹º!\11þ{®&æëpw0\ eë7<\83\849\83{ú_¢÷ÿn±«{õpBÄÓ\83\832ÌêÄa\9c\9a\92Î>MNß\¬³\8eÐ\14´¡gE×B\83\92\83\18\báö\eÎa\0\1c©ÙTcÇ幯j\ 5TàåϽýÅ®Põ4MKÕ<%@,ziz§\ 4\1ed\87M/#\91áý¥äs+¢j^©`¯Ëêa\9bÍö\8c\89V&mUè\fÎ}¥ý¥è¯ßñÓ\9fú05Ñ16R¼\1eô\8fBF}®ô\80ü\ fÅ|8èÚV\17\ 2Ú«f&Ë~\95x ÿ\+Ó}¦\15Ñévãå)\92Z\8dÁ\ 5\81\99.\98\ fY\98\84 ö Z\8f¯¦Þs\ 6Ê£ç¨\17\ 5³È7\9cgBvõä0tcç\9e7\9c\\ 6Ðá!\91K¢0ÍD\0'\8eö>q¼æ       ÞÛ\83\858\0¦®«b\8c¨:`\16º÷wº¬\9dÚÂ8u\1eÃñLm\92ÔÐtÃz\97Âê,òh7ư\ 2\f#\9c\96eQûä\14\8b­ç/®òìµ]S0V\1fqAìW\7fl×ÐtÏ`Ù\80-Éû\ 6Ñ`Û$ì1a×8ºá\8b>tÉuÑ.¿\bZ/\90\9fÂ
+|]<âçkÙj±ñ¯\e0¡;f8°÷\ 1s\93\92¼0.ê\84\ 3ÇRô@r+å\9aZK-Æ\7f°Þº\eý\9b\r\ 4¯·\1f9ÙcW\11Ã\ 1¥·ä·\ f\12c\9fqK|[Î)o\88äu\9cPØm\0l7^0\16\rÞ\10g\98'°Ø¡Økl\1f ®ÃU×Ü\\1d}é ì·¡°Ø±Øo\9a\18Ð`ì6¼¶\e\18)dú-x£°Ó\91¼ñ_ì4¤!\9fý\e\r»\f\ 5ìö\92\97\a\8a8¢×ðéy\1eÐø\15\91³Ø;¬Á¶\aÓ¥°90Ø\eDµùØjõ)kv\81=öR\96¯h,µzûm«Þ#-VNü\bï\¨a¸W\90\1föeÚ\93¬$\12߯ù\803xòr\88ý`\99ÑX´ü\97}Oh\0<³ñ¸§Ø3\ 2\15+°¡K³¢     =\ 5Û\ 6\9có8\89ìmÖ3ý;\17\rªhö^Ü\13ã\95\93\7f\11úßÙ\1e¿ø\9bX\ f7ZMüS÷\8e÷Ðô7\ f\1am\ eSë¸Ø\9c¦S'°:ÑaK×\97í9Ü[¡³â"Vüï³\8f½~\86ÏÿKSÏ»Ä,»æ/k.ó7¥\97u·u\84¨&\86Sƺ\f/\99«\94÷Á\96e{s\14[ç!\84ö\96=\98\94\85Ûþj\1a\ eNu\98wÇú\10ý\140\8d>C\1e\94Å\85úº\vs+¹§\87 Hz\ 3.¸åÿíiðÄ5\88\92IÝÍ<>\ 4>:¶ü:µ|¯»Ì×­T\92\98é9Ú.w¾¸kª    
+ýzµõ°©÷9?\1eÕ´@óñ:C8ìtÌDW~¯\p,þ\91>¿E|µ´\96r{O\9eÛü\10×»bC\13ÿøP§é4º}.£JãÂÌøY¯
+Ñ|;)f\1fNy\92\12?«ßcï\95Ü,\83o¯¼¡Íjð\1e®ÿÁü«çfs\v,oy\8b\7f¦¾J\7f\1fcsô×ù¹\7fþ\91Y>\15øaÙÒ³øZ\9d>_þ­N\9d/IÏ¿ÿ0A/é0¦\9cM¼/G+\87ô\0ȵðÅÈ?ïðÞçÓn\13ígW4\95\fßÝÏÓn\19\91>\92\84\84\0OIîÂ\95ýiN \99\a\96ÿ»
+Wà¡õ\ 6ÊäÍýþhâO\81\8eñ´òr$Y.déÜ@\1e\89ûéäI²!|\96\13\98¬óS\ 3Ý" Y
+´ØÎéÉ?\907¹yq\ 6ýqZ2\82a\84ZvY\12m\ 5ïz±ÏÊ\1aØç5àÉúB\8b>Av\13\91È\97\17        \88\1e³\19\8c\8d®<iÁþ\eÀò\ 5hC\ 4Ìó5®²KSÉ\85/ÐkX\0\ 1\ 3S\10\b9\16 Záßår-\r\8aC¨+\ 5\1c\ 6õI\83<¯²\98®\bÐ\89Å\8bnD4|À%\1edæ6Ô/~\91:ø6ÈD\08'\ 3\ f-\aF0
+bÐÁD^è\18Wã_g8{\86¼Lã \92ÄT6á\11à #é\e\85\ 4\`ö(mEL\9f\b3\8c\8f\ 6m6BzCA[ áêæN^/\bF{i\ 3¸\96.át©3\e}\1dXB<áCèa6º¬\1eøc     súX\9b)dÕÐ!é\1dËÍ\vù4«¢&"8\98\9f\e¦\81\97÷Å"[D7Ð\93\8b
+qf[Õ?6\1a2\9bG\fvæ~§çmh^gk\87(å¡z\b\1eýxc·h\8b
+\v4\ f$Ó+8\1cSõ[C   ú´\89\81üD;^4ó¡\95\92öOáÕp\úC^N\7f\16FÛ4½Ã_?;\e\83Ü8ó\13\0\86y\ e!ö®R*¯\ epvâb½\19ë±F\82Ì\10x¿¢~@è\1a\19wðdEoÉIîµ+I|Ë\98|.àI\1dÐå\f\ 2í\889\98ðgd¬Å\vT±4\±ì\91é¤\f\1f^"l+ \eöT\b\94Tk6}\96Í\fV\eã²\10\ 1\857\86&û~`Ç\ 1ÓãÌû\96\ 5»BÑÏ
+\94è\88%¬èºÈÙ»}\9aÛPõ[`ÿNQ\96\18Ü»¿ìñæ?Û¼xþÁ\98¦\84\ e\14\96\12\13\9a}JÔ1f\0\1e-\8f»\8f\14+\918Õc$°\83ëO\8cÒ¥Î\83#d«|åI\9dl\14\9bBÆ   ä\13sò,°Ú \ 6ã|ǰ\88\ 6\12\9a!õ{\9bh\9aÄ­Ç´%´DT\ 6¿O^îS\16À[>>?\1em\9fQQ\8eÏ\97\8aÜá\93«\96ñªlû°\9f4\93\ 3É\99¶¢M\8a\95f\8c\88^â<K7\11\90a\ 6O+ß®°¡ãÃP©²J\14«¾W\v\14ôÝ\97\8c\80\8a±lǶgI«MK:)NÓ+9$òÞ\18W$)É\b\ 3NE\8c©Ú¬(¤í\196\0(¼ï\18\8cê2K\12\98J'9Tíø¯¯âu\9c\84ü\14_Ô²\9eT¶<\92Ër§Rò\9f&Ê£8ù7\\8c×ÙÏä\8bÊ<8ùGKÉßÞOÊ>\ e´|£\8aÖþ\9cL=\ f r\1c£AÁ\9d\8e§\10
+n\19\83\ fÖJ\9cºÍ§\95gøÃ¸1ts%"\1c\916êýÐ\87\12»ý\99ÀóóFjNÉ\1eW!]Mu½\ 4²PÁ\f\ 6hV*\1fµ`Û&q\ 2\15\8a9&\8c5èõA¶¨b¿ïärÓ\ 2¸\835yÅO]\8eÖCå<³\0¨\91\8f»Mìì¼íNk¾pò\96¤Oò\9c`k\v\86fÐrI1èq\1f\ 1Ófü)\ 1\90xDÎB<bÑ\7fÑ3\19F\965?\96\8f^\0\83#U´\19¿{\13\90\aÔ:b$\95\ 1bpÁYÙU6öP\8a³[\97½bÐ\88ü\8c\ 5\ 3Üóç-wÙû¹[&\93ñÎÌ\82\0\82ÃðP\1a&\8a\µâç»\ 2\90ý\95\193\8fn\9e×Sãn½%<=él_>È Ýõ®«¸Q\8d\ f\eC;ÞBz¨i\ZöGnÉ¿ÀRR\93GT\9càëT\85\92ä¼ú\ 2ÛW³rüá\8c\86îVØËr\95\8d9+I\10RQi§\13©&\ e
+·j\8e³\8e_`ÜÛd\ e\9fAï$U1Ä+å5´ü\ f\95?Q_ÛG·\94Ø·\98®²\fÍL\9f\1a±k¶zuÖY\83ôç\1a²\19Úä»K\0St\97iäÝz¼jÆaÐwºãVN»]QWKµm¢£t\ 1\f@Ú"uÓd\12ÿÍö@KY\1eáXÂÉ\7fÓ\1eRù¦,dÔ\9f%b<ÄH\9d\80Ä?\1dóçüÂ\86E
+
\ 2n^×2M\ f:¤Zð\84\9e45\e^\86Äc\80E\ 3÷³¯×\99Wñ©\18h±ÛÛñ¹ª(Ä\ 3\82S\81¥þ±7\1d.òv\ 6\97ÕW#û\e&ßt#\80\95-t\12\0î¶ÉÅÇ\84?û#\99\1d\9eÜl| r\95©XªóDø\9ecùd\17\ 4æ­V\99^¡ïêðE¹Ý¥¡¼Ìik`®!!¡µüU33±9\ e \16\98\8dÃ\8a\9dv#\v¤\ 1Ç\95hêÝf\9c\1d­\f²\82\8cród\ 2+\vß;õ\9c\84\1e\87õiQ³£
+\8b8\14}\88\92m^æ¹ÇJ·\bÊ{iÆ>`DýoäZïp$Rþ\83Pº]ëU\8aË5| Xlÿ>îû\98\957v\1cÓ\\9e\8eã\18ú±6
+&~¹\ eGæÝßæ¹úK;\9c"õ3¡s븿Ùsø\83Á\7f\ 6¹è½ë\9f;É÷.{x¢K("§\190¡y\82¡C\81?S\81\b|O\11Û÷\9d\bR\80\89\10\0w%\80Í>
+K^DÖô\9ayc8©¹It|(\81
+5×c\ 4Ë4 \ar\0ÊôÁ¯\87=.å×á\10\8aÔ\ 6f\8eò\1e\9a\97\12µÞ7EK-Öãú§\ eñ\ e)édß:²ո\97\ f\94\93zoE×OHs2<\9eÑ\0ûÆÇWR6k´Ï\84\16\ 5z.£[V®\0\1eê¡\1cÒ\83éÙ\9c    \17<}\ 5ù²}\82o*\9aÒS-\86q-Ë\87\91`½ø>^\ 4u\19£í°!IÔxêW6\9f(w\89Å\88ì÷\0\11fxÀj\8b/z©fÁ\12à`ÐÆ>ï\14ÑZM¾2õ#\9al\86øa8\86Â8\97\8c¶µ®\982ÕÎË\87ëÔ\1e¸\96+\16?>\9fé²Éd\80F\9cÂ+®v\80\95\91âË\99×j\19\17¸;÷Bºè\10\91\r\al\87\19Ê\1a\16\ e^hCò\e¿âÁ7l0¦ó\ 5éÁ^i\825J÷ô\99T\b½¡\88;d=ëGò6ûkÊ\11÷Ä\aÔæü\99$à5oµKØûµKv½ª^î]¬½nBuj<\ 5é\9f\84J        v´úéº\149\88\1c\a\13-P2["\87á\ e\9fuûæ\80üÁ;\13g¿T\ f\1d\ 1@Ï0\aù¾\10\eßÃ)#\ 2Z\ 1\b\86w\97%Ko\86M\1c\85î\8c\1c5\ 1\ 6[J\1cÓÒ ¦\91§`
+ïg\ 6á\18å]\13\85CC\1c¸\11\91\ 6»ö_G°\18ÚEã5ή@æSÙÕÎ\ 4Ø_lKP4`\ 1à­\81·e¬o7ã\ eäA\8c¾\9füÃ\ 1Æá-I¾\88'>Sà¦T#Cí\14\8bFOÍ\88·\ 58A8\84\eÝÇ\7fì\87á\1dÜ\888\r¥byT«\1f\9e\13Áný3îìðoÄÝø/$\960uØ£pßM\90\8a\1döÌ\8d¹Ð\ 4U\11\99\16àø>ÔÊpÝy\8c\vç
+Aní\14\81\89\8f_¸2Uá\8f,ÍY&,Ô³\8a\8f,H&-|)DÏÅÀ<9\8cH\8fN\92\93\8f­(dÃYëJéE"mĹ¥\,à¥v\ 4\ 5Ã\88X\14I\8e\98\v\9cr@\ 5Î.ÁË\12®\9cYf~tz\19\v<²9\9e\ 4Ù4_\9a\ 5^´Ì\85õOY.YÈj|</\92#¹dÆ(\8f?ÊVQÿ\ f'\9b2\94 ¤%\80\8c/\ 1\82\97\8eîÝ\7fCËg¡É/6O}\ 1w!GïÊ\18d² q\19`\9cþH)å¶l\8ewõËÌt\99/\85÷2v¾?\93X@5®:ú±fFr,\1cÁx
+IÛê·\18Àñy\9cûê²êÜ\93ÕÔÀÆ*Åá\81\ 6goXþ%ÚÞ±\9c¾\82Ý\90q'¾`\1eS̵{j\145®>à\9f\eìx\ 2\85¯\9e\8d$ñÙ\86ÛT­àgC~Í'\1fv\ 4\bØ\ f\ ev\91æWÅw_Ä4%5ú8\8b`y\vÏâ\7f;þçïñ\10_÷>;\12MQ?\11lÿ¹úRï>n"Ñÿs±.ã'\88\7fÜü<A\ 5
+¾"Ùÿsí˼\8fÄ[?î}Qw\9cy«gýÏþBï7sV\8fû\9e\9b\11\ 5ÿsêæ\95\7fÜÿ0ªßjjÑÿs¹Ä[¿î~Úh\98.¾"Ýÿsçf®\9f÷>jk\9cÿ¹åf\9f¿îzé¥_÷>\ eiûþç}2«þÓöfHôÂÕ¦\1f¾.Ïq2«þçùóEÍ\ e|¹§ïû\9c\0u\7fÞ\7fÜá\ 1ÈvÏû\9eù4ü\1e\89\9e\eÍ(ÿ¹Þ\14\ 6íü\99\90y¬ß8.\14J;u\8fáL\8f»õ\1cÉf\95òVOû\9f"]æÞe7ýÏY2«þçé\8a§û\92J·$\r\17ýÏÇ\98µ\7fÜà;ææ\7fÜý´Í£þçëFÀ\91ò&?¨\17\ûù\80ÌEj\8fúcý\98D0Ã×Þñ3Î\rX6vh\fß\16bØ5iØ\19\8f\91\9akýÿcsïø\18\ 6_ô1Ñô\ fÂLtTè¿ÝL\17\81Â\14\9bÿà:¶oÚ½\9f\7fh:+ÿÙ\9f\ fù\1di;þ\ 2\18R\rc|\91çð\11ÿ_\roÀG\84T'Ùó®}\9e\eýüë\9a\90¶>£»\8e\bGf2x]ìÖ\9eî\e__³\970¨Ê:$9'¨1õí\9c\9b\v\19\9dÏ`è\1eßÿ\b<\84t\17oDZHh¨P½ï[!\14Ùö\'m\e¶Ð(uX;ÔO+\e(^ü\19BsÔT¹\12µfÕµp\86dÒ¿Ìá\býËìµ\11¸o%ÛÃDÚøÀ§Êv¾ÞÒ\11\ e\13O|\87DÞ/­?K\85\18ç?°ß\9aÖ\8bܸxÊ´þô;k\ f_\9e{§å\9c\17¸\90\b£»Ì³\10z\17\b¢N{×.\r!¢Ïu\8e\1eá?  /Íùe-ì\19\8eX\82\88¨        áv\ 4]ÐÂ\9d\85\19\a~ÛþÃ4\8aû>Ã6\8f\e\8eP\8a^×·\95¢Î}¢Ù\aK\fhùÑz±0ñh½\17eÛ÷\ 5 ½\89£cR/rû+JR\93Î\86ÍÊ\11ûÁÐo\a\8eNî5^Ò\8d\17¼ÞÓ4\8d/7´Í£×\1a\92Û%\16\eâûÉñß\87\83  \9a[I\93õöõGã@\reH
+\8f,¸Þ9گˬp/Zl\15ü-Í?­Ì{¡\8b\ 3b\ 6ÉaÊ\ f}@\86kîàµZðîèmC¸ÇáÁ9¦×M\83\9f\81éU¢3\1a#0¢l\91¾áí\99\18L\0ê#\18è\97ÖoBúë\ 4;\ 5ìj7\8e¯S´ÞrÚlgÓ\17²\8d\80D\eÛ\8diú< x\v¼NÓzüÊle.\10\ 4f\aºìp\85\16\1eEcî­\ 3\82\9bÀgí\19Z\84\ 5¸6±\18\90\89ÇUÏ\16ØE\ 4»\83Äl\16©\ 5ÀvS=~cw\8fó\r\15\rRòëU\1f;µ^¦øQþ´
+<5¥\1f\82\18\15\18þRä\ 6Ùæ$q"\ 4¿°\ 2ß\ 5è\86\ 3_\ 6[>¥µÎ6\vW¬UÚÀÀt5õ[³9úþ\14\92\e\84|ypÜ\87®p¹ûZC¼ë êõ\0QSLcë÷Fª\8cæ;w#Uõ\93ª\98'\1e\0\a\85ù°\16w\97\97\ 3Ì×MР      á¥ÔMMÙ\89º\9bî\9bÍÈ\9fÓ\ 3\7fL7*%¨½\ fîh\10¿Å\1f*\05ŧZ!\11\ 3ö/@\9b\13\a'!ô\85\8b¤xÁ*Øl]\96\8edÑý\8e\97ró2" .4×\10̵ZÐ\ 3\17\0\bç\NÙr\8aô)³È3\8b\19óQ\ 4<ù«7ë´\\ eõñ¨¸'ôY#Qt\\ e8as<mÐ\1c48ÉD\19ë\9fÑy\17\94è ¶nñ\92ôÀ
+2á£zw\95(Ûe(ϾðÑ\9c\ 4#þN\9aõñ\9fÒ>á©\ 1\ 1Öw\94Ó\9d(dµÃs\82\18\95ò@þîò$]\89Hò,¶L¹Û\ 1þØ:õCêg¼§²î¶ò\9eË\8dßZ£õ,î#\8cN^}\96ª¹?Áá¸LÊ7\880wL\bJÞ4UûÌø\ fyÍEc©\99¹\19Ü\10þ\ fh1á^\ 6WÇÄù©\ 2L¼[0m¨88¿\80ëI\88_{ \7fQ\82!d\ 1\17¯=\8c\9d\18÷Pcã\8dg\ 2\13\9dç%V   ÐÞå¸kÄeÝm\85\89\1cÿ>-¬üÅ}b0͵\10ó\eiPc\92$#+C
+\1dè4â\83Ý+\ f»Ë}\9cÚ\vÄ5Knx\11ÃYq3r=þ\ 4\"\12\frCtù\98\10ZäÖ¿Ò\11\1fÂ\ 2³Cé\83@ÿ®\15¨g]J\18Ïà\18^7c\1c5\8eï\ 3\aH³Ó\b\1fó°6z<¾ÏG\98\ e\8fuJèõÈoºÚ³\vöè\1fy
+¿\94\9f\0\11\80_ÉmÇÚÐJV Ç\8e\0X\96pÉLÁÂr\93\82nÖ:7ÝÆU\ 6\9e 8^F²!\ 1¿yÉ [:B6hZ±\0¡[ÏßÈy1Sä\ 2JP\82Ö£Õ\99\1e\9e\94\80\ ff\ fZ1\84¦\0{çÜøã\19Õ\83ö\ìyjû\19©\13AÞàscã2¢\ 5\9e"\17\1c\9eJ\9a\94w%ÁÜ\87\rq\968\ 4´|#ÀúI-\1d>\184w±N3À|á\93\ 5úlfð\1e{{±h#ûÇ]@MSÎ\ f×mU\16\0Ü\81Û\10ýYÔ¸Kyp­x+¼Îðß8UèGwÛ^\1c\bUrq\9eéç
+¸·ù\83\9b\998\10»u\19M\8cÌà
+4]w\H#\1aÖ¦\13Âe\84¤ù9r\86±~\94\88Ägsw\ 1éÈÖ\ 5\15ÿÝD\ f2Ø`8MĦÄadt>MjµG¥\8f\ 27pa÷à`@$\b,>\ f\b\1c¹\93,\ 2¤\9bÇe\1d\12eÍT\99\rq\10à\ f­?ÀéGêR\10\98¯x-\0û}ûµi7þûÓÓÒ@\bH\89 èI\ 3Ð!\b\0\a¤\90\18\0¯¤\9e\90ô\84\81ä\0eiV\ 1\0\81DK   \ 6\ 2Uð"¡\ 3ÊUkJÕR°\90\84&XÝT\83D@\16\ 2"1j,\0´\9c\84\14\80´bà\ fÿÿß¿}÷Þô÷½!$\80H\ 4¸\15ynµ\85ãmvÍÜ»t7CnsgeåÜ»rÞ\86¼Ût7Wt/CrstwWtows\9bt·77c\7f\0÷On\9eÝmÜ)à÷]dºú9\e[\19\ 6DOôM\b\1aÜÂÜ\1c\18©\9e àV9.WrÜ\10þãjöíEýð\ 2\81\96d¹nÚ¢´~\98=è©Ñ^\9fÏmFYWyMûíc\a¢\7f¹\v§\9e(?ï\báxKG\85ÞØµpI£\1f\ 5¥RùÝ\9a$°ûÐhmc\80ÆÖ\r?l~\99fd¯þ  ^âàGÃ\7f\93)îðû å   ÆÀLÙPµê­eïQÚ\ f\9eÿÁ&@bkI\9c\11\8e=í­\8bx5\ 3ì-Ðæ\8bÊ~è,\1ag]\92Ht\95ú\8d\94\b\96¯å@â²XÄW6\17Bè¡\10Ñ'=\8a\e÷2è\98räax\93È·¼>\ ev\15"F¶íý{£\8d¬ùºó\88Âê\a\91Í\8fñº3P©\12Q ê\e¦Ùî\9e\vÍ\91-\87Ý<7´`¿f]\17\8c\17\94#\14 \9d3åÑ0é\vºó\8f|\b/T\87\1ep\ 5©;\99¬n±\17h'.§Ê+\11ÞR\1e×Ã=s\v\ 5xßå\86\Õtqµ\ eä\9b\99"\13\ 2Ä80+!\92Ü\I¥À\8a/}\8bY«»ré}KPés£ê\aK\9cp%©\84{'»×\11\97\1aåÅÉë\98rÃ(Ü\1cö\13ö\94\9f"içÊ7]çä]"2\9bëî¤ã±ïñi}@üÅN\97d6\bÚ\88\81báü\13t\95²!.þ!/©\16\97ÎYxù'cí\e\1aÐ8ÞÅ\97oQY\9d¶ÛÅ7àÓÿ\18Å.®)\11_\8f\89&ñh÷dîU¯é\83ä\9bh\12}\90\90\83\9bTh¸6/|mW\ 1¿nÌ\97\0\9b\1co׬'ûøî7mˤ\9dK 7\12\a\80س)½\e[¯!æ\eðÇòÑ       v\84\8b;\81G\a¹\ eÓmb\14nÌEI§ æÖÄ
+QHë\98]Ëp"MúÜ\eظ½¨ú,\1eª\99\89 ü\a\90­úãv´\9cG¸vÄ\rgvneZüjAÈ|/\18\84Í\a\17{K\19ñ×°Ò\17J\98\9a\9f\1d{\ 2´Z}ÇpôN\fÏÒæË¥Ø=Qì\1c\91\ fRdZ~\12nü ¦qÎùíQü
+¸nC\81Xc\9eÕ]çä\88âú±{}ò]ê̦üx\16È2µI9MøÉé=ÂÇ(Z\16\1e\1d\v7!\12äÐ~\bÚ£9\ró[TäG2È}µê\9e\ 4ÿ\7fÇ\e\ 38\9b4](\9f¿ØÈ\7f`].ÑE\1c\87®.\97ÁQG°qi\99H~\r5,\87Ñn\11\90öà\90íý\1c\87l*¤;K¸¬\90î\14\85Àz\10sj  Ç·BHü6ÿÎ\ enxÏ\93\9bMÇ9?\ù?ï[{)g/\1c\82\9ayùm\94\99\18ξh%!åÒBRq¢>ø!K\ 6\11ÄÍ}?4\y
+*{Z¿«\1c\e3\1dï{mdã¬óD/\ 1\17¼\86ün\e\1a§Ë\9a7\92X1ÿ/~t¸ì æ=\fÎX\81Í\1f-)\15\9d\9fºZ4]í\8e\94i½ê»¥!è¬#è\9eÈ\97¬>"̦ø\8f\9d\8eo`-K\9f\14$\87"\91io\89\9c\9fû>:öuRP!Ã}QÙõ\85\aÁGAè·Æ\911hõDFT1Ü[je\v{Av¦ýQj-}\9cõ>ë\ e\1e\89Ã_\90Á9Pp\9b    gC\86qÒ¶\17K{&\976[\10\19­\95î7BihJ\8b\aäÔ¹h\93\95J2Æ\96=\88·í\11ÁÆlG©²-\ 4ÜõfÉg\19É\ 5½\a\947)s\1dw,R\94\96½äß\17\97²éÜ´NÌ\ 6ÏY\86àCk4ÁÌþ\1c{ͼÒÇ·\82Äù'\9a8öWïÏ8ô\ f4qìªÂ ã\10óM\1eþ\9a\1eÊO\87Ü\99\ 5\95\bë \8e\92Ç\932$ŲîäK_DÞ(¯\14\ 5¼ËÙöK¶\96¾'Í\83ßó\91£ÚNðd°Ïa\7f"©g¦Ï\ e\13%¡Å\95\13z<\ e\ 6\84×=é0³ÈßG3n¡5ÏzM\92x&&Eé7åV\8e&oÉÿô\82wóà\9eÌ\98\97b\9a\18°L·r\1d70H'»4\13¶¼\19{\84XwÅV\88\94èA;\11w\99`\9b]çê»ÔÈ>p»Ï`îÊAÅû¼èÈ?zî|\83Þ˼ÅxÉ˼ûgvr\ fÖ»³\90|«º0M\9c\83°ßùÈuìѲ2ïÎ`Ñ«Øø$
+\17¿\ 3\vñø¸Ú\ eÔòWQ\86gd<\94\96ò]¹\9cí\1cf\ 4iõ¦R\ 6ºÌ3×á)\ 5½\8c6_,\e-ÌX\12>]\96Ë\1e¯ìÕó¬Á«³H3AwúuÄ3¦Qô¶ZöUywtÇ;á]qÖX×E¶D\10_-§»ö´|\16ó5ºØ\ eu\81x9Õ%\90æ¬\bAûÍ\1a£«Ã>\7fi\96åùS2,N\ 6¼s\8bù°"ý\ 4\94Çbõ:~Aê¿\90\93\8f[v:\94\93_kyÌø'½:µÆw¿p3\19ÿ\90\93(uz¾\vzøëtõ\87¼ú¹k«ið\9dW\9b/è|\14$)McééíU[S±+\ 3\1e\9dÔ\98ô\1f\ 4oÝq¼óÆZ\ 3ûɼãÚ\1e\99ì.MONûÊsT¾Ã\ 1×d£ÛbUå5Ö\rÛ¬þoh}cähË÷SZ¢±\86Ê© ß\1dÿ³³Üiö|õ&ÏÚSìö­bÇ>´2×g¶\1eä\ eÚ\9fnÕ¬_ô\8d\7fWhËnV¸²oY\91Èík1íMiÿàÐ\b?\7f\16yÚÖ\8búè¦|7÷Üðp\93\7f¿à8\95\e´T:\950PuU\984\86+}öF`H»i³3màÙ\93¾ Ù\9f³\ 4ü_4öÂù÷Óü}ÿ\ 1vÁC©\82Rw\1f\7fç\8cÀ\97s®|]ÿ6mÿ\98\9a\rÿ\11|ÀCEUØdGø%/ðpµUÌW3í<¢\93oüé£üá·üeµ\9eÿË\9f\1fãN9/±/ð0|=þàwà\97þÏ\1a\eýl\/\e\7fÃÅ\ 6ÿÀpåýw»¿ö0!¿ùØ\8bådÿ©\81S\ e\ fùcøÚÇD¼i~:è¦\1e+\9d\b\ 3\aúñþ¶\7fæÌÀ³y³0.|ö\ 5\8bÍ\9bÍI\98\16/6o57f|ߨ5÷\98?ûµPØ\90lѾOtܶpãÐð\9dr\1f8{\85N§7\84·Â_o\8aøQ¿\9d\7fºs\97X\1e%uÍÀÑ¿\1clÊWÞ\eÏLf\a\ 3äÞÌ´åæÓ÷æó]y5Í\13§\84ê),\12ÆâÈqɹ\10½úë        \82ª\85í\9f\82\17¾ó,á\7fJ\10¿ç @o¥iÀç|«\8fÎ{ýÐ9Ï\81«øÏC\84úØ_?[\vÕý\98_\aðBü¿5Q\vÞ\19\ 6P½w\1fè¼\90¾   O#ê¾¶\17ÁseóeË?sW\ví}_"\17\93ë~\13à\85ì9º¹_¥å¿¾\ f\8e4Þ¼/\ e\>\ e\8a©!yÕ|\a\8b\94\1a\9bxÿ\ 3ñ\95]\aÞô¯¬\83C\80ò\11Jò{¦L\ 5ç¥å¾Ð<·ÁÈô8|g\12\87-ïß\ fÀý\14\1d'\17íÚ\ 3ÙÃ_À\95ûD0Jÿ¯\và\9f¾\1e[æ!*á}/\17ö\88pâÿìBûª¸wë«÷ÃÀ|d-$/;\89õ¾¥Ó×úß\8c~ºñ8¿÷yopWíÂõUоr\96\17­\9cdCA¤\85öS\9b¹\1d\að\ füH^Ûø!||5D¯ða~¡@Bø¸È\88^7Öü\ 3ú\9b§Ã\vÓÃýÈ^ðü\10¾\1aû|ã}\17ÃÕÊ÷½\võt°½»GUÅþ¡@q\7f\17'\8aÃq¥}úê¦é\aðq\7f'zû\90½áø!\7f\1eWêùnü=_ë*á{\9f\ 2\17Ù\ emãÂú¿¸ï{åþ\7fÛ\85ú\85\ 1\vøü\aÁ)âòßîÂü¼A¥\7fdØqü·éP&t¹¢\8a\ 4\aö÷®\b_YÝ_\16ÿt[\rì\7f\89\7f'«þ$¾z\1f%\1e\ 3Ñé\9f¥èïìú^?ø/\84¯à¿\9b´=\84K>òüéýÏæù\97To\83ú\13y­7iþ\98ÝPç\e²~lÞq¦ëOs6¿\1cn\94ú\ 3}K©=\15\13ÍÏ<Ù§}i¸\978ߺ\83tkÏ\eÎ4Ð\9dÎ÷ÊÉ/^W÷+û\95ýþÙJ?þí5_\e&`7Îv\84\96\auÂ]Î]<º\89u2ùÙ\83´\ e\1a\a=\ 2}\ 2\8d\ 3î\80¹\94'\9c.e
+̸L¹Ì§\99Q2ûFÜU\93´.\1a\13ÜþÒU4íÎhsº\19\8d ÓN\13NsIæ\94M>Í)\9a\82\9aU4²ilÔdÔkF\f§³`É\8b6\f\89³`Ç«6\fk\97®\18\8dW?£Í³vkºÞÍwTO]Ór·\17õD«ìª\99X)UR«%VÊÏJÏÊÐJ°\95¡\95¢\959¢Sc©\96\82\96U,²Yl´d´lµ\ 4³   ddß7/\9c\97ÎËÌKÍ\92Á\8bªÏ¬Ï­ÏÆ\1aÁ\88Ðçè³çµ\17\85DÆvbbbnbrcM1«\98\9e\98\8cÐFè#ô\18í\ 4\98K;)]S37393¦\99ÕÌÏLÏÌÐLÆècô8í\f\99¥tem\156O\9fÐÐ\11M\94è¸\12ßø\99*\7f\ ewFt!²ù§ã´ÈÒ\93éç\9eµ×a#ÞÏÀC÷qqÏ}ï\8d̽캶õ]\95äê,µM¿Ç»u\12qW\7fe\9dÓô\8cî\8d\e\94¯yÿì¨\vÓ\vM\8bÍoú×6û\ 5F1J\9a\ fÊ\8a­á7\1e\15\18óæ·üzn5¿ë\17àò ìJ5³\8b\84ÀcP/\16;õ¨7\9f\ 4¨Æ4x1uf\ 2\83\95\18Æà\ 5Ð\1dOp\ 4Ð*1\8a=L\92ÏH61³Ó\f² -\16\9b\eaýa-:UШ\9b   ¾"&kiÜ\18]\9b\90c\873°i÷p\b\94\1e<AÆ\9c\16\19â\985|6úcpû\13¹~Â%}å±\82
+JÛâ0õJ×\1fÙ;\11\:ÖLüÍ\82\16Zïù($\85Ùäî¥\8e\10{þs\1dÂ_ä4J\17Æsy\83\ e\15%Ö-5L»¢à]Ñ\14]Ñá\rGn\0Å \89جÈÔ\7f<\91\89EÞ}\80á©[\f=Ð÷#×T­[\7fr\90ϸT#e\92×\997õÞ\11Þs\8fæÞk$\88Ñ1ÜÊnà\95\9d®\\8b à-\9b\89\94n¤Z½<γjV¹M¡ç\11\99\9eÚ\8eDѲn\r\1a/Úõa\88-øÙÚ?#\93a°¯\14¹\13\95>\8b9
+5\85¬\19\11\12×׺7?ѳ\90¢lØä\9e\1aÍ)\99ÈP)#v¿\ 4Vr\14N\9f\93^¹r³\90\12\16r\14
+\acÑä×¼q\9b%¦ü58ygâÔµ{Gâ³\90\17\11\85\1cH£~-¨Ê%á\95Í\16¼©\81Þ\9f~G\93d\8b¡ÏïP`¨\yt?]\vòD\9b\ 4]\ f@\85ù$L¬º\1eç|~6Õ¦\7f6Çß ×\80å\ 5Ðö{ãñ¶¥ÆÄülDõ×ï\11H\82þ°â¨¬\9a\94\11ê5{¦¼\98\ 6ÈTûR\8c?&Ë\v\93\ 1\81êx97,\k¯t\96R\85¿r$âægX_\8eG&å,¥\99n\8aÌfbÅQäÜq\rú\8e8bl\18\85¬
+ÌÆ$S·g\9fÔë\7f6LaÄ:ÿ\8eLaî®UV®\9f_rý\8bWN,X3÷-]>&äÊÕÓá.L­]?Î+\86î#\9d\8djéÅ\8e{hÚº{¡mòÖ4¾\91ÉÚ¢ÕÓßn5\96®\9fÐE9_]4iø6®\9fUqgjéúdõ¶®\9fÀ¸{6®\9e°\83\a\9a¸\10\83\a\96¸\18\83\a\18ØÈ\83\ 6ØÐ\83\a¥wöH0{T\8c\880y\96Ê2\f\1c\8bgä Áé-ôä\189{yä\1829ÿ\84|õ%óW(\98qw\vjg8Ì`HÑ\9dO\ 4\8cu\1eÌ&½:£|\8aø\ 4\ 6|cB\ 3?kr© 3\8b\ 6<\ f 3ä®U$\ 6y+\97Ú 3éÚ\90\19çmÅ 3å®C9Ó\96æ$\ 6qSC\11 3õDÕvvæD\ 6~e'é 3\99\9b0añµÛ\r¼\ 1Ô\v\ 4xuf¿\1eóÛfØ20YëPÉ\82Fþ+     2åÎi,\ 6ZÚb\ 4 Ï\9f@\81\ 2ÿ\ eûP@¿z¬ _\8donÚbZ?\14\81\96,u®á\10\91¬ôä\f¾\8aáL@Ë\14\97³¥ e\8atï"@Ëz¸p\b\19{×Ö$\f±i&½1\ 3,K^å¯ÎYÓ± eéßX\902ÛS\9e@Ëõ\9dx$\fº\aT\b\ 5ú÷^\11\ 3/¼GÒ÷\ e¼"\ 6_^\8f¥Ì:ðÈ\19}
+>\9b
+ëV@ËV\8f¨»: @Ë\15:«D\81\97=l1\ 3,p!\7f\86@Ëõl§ÉvâËüä\f¾\8aØ\81\ 3.
+Øb\ 6\ 4nQ7Ķq\b\19w[c"\ 6\\11.VS\8c1=ËÕ²¤\81\96Ùlã\90\aÊB\ 6X©ëYH\19b§§ä e\8dÊ7\94MݾV\102úÇÃÈ\19\7f-ð®O3'¸é\9f8\ 4\f¼3ç\1c\81\97||ûä\f»\eç\10\81\97¸µðÈ\19~I\11.\1däs&\99\91\ 3/9kõÈ\19\7f6×ü\ 4\f¸\8b]Q\ 3.\85í\91\ 3,Tñ\ e\94\81\96*xeR@˯Y?¬\81\96µìÄ\f¿OÙ eâ^Ê@Ë\16lÓÔ\102áÞød\f·§³È\19bõ¾Ò×Ä,äA\85Æ÷´H\19\v\9b3\1c\13Á;R\ 6þÎÆB?=ª \81¾'´6$\rþâÆÌ\81¿ÚØÐ oõö?\\81¾âR\ 6þ"ÇÁ oÞmMH\eöûUY\ 3\7foi@\81¿ÎzB@ßÜZH@×\16\ f\9e¦Ò\89\ 3~nÒB\ 6ÿÏ´Ö\10\8e°tÄ\ 4r\12§\9d9kK\12\ 29t[ç¦$\ 4r$:»¦ÙèÄ\ 4r$¦ãÎÍë\84@ßð^\8f\9cëé}\ãÕI\ 3\7f>õO\ 5ÊKGtÌ=#\ 5Ó\17E\90c\ 5÷Eg\9a\ 6\18Ð_Ë.b\1e`\1e¿9\ 3|ÕÙ¶\84\rú:ìÚ\ 4\rÿÕQì\10\9bR\ 6þ£ÿÈ\eþ/é oý{=Y\ 3\7fɳÓ\107ôözb\ 6þ\86ÏL@ßùv\7fl\81¿5ûD\rÿ\91¹ýâ\ 6ÿÖy« oê\9ei\88\eýËÍ1\ 3\7fç<Ó\10\87\9fl\81¿ÙPû¤\rü-\ f÷\107öü¢\ 6ÿö\90\9døD\r÷\97zb\ 6û{½1\ 3\7fsfþ"\ 6þ\82ÍP@ßùVoá o\8bKlêH\eïÖjb\ 6û½\9a\98\81¾\9aÍûä\rÿÔv©¯ëàÊÒìEîÌ«úý3³*þ¿Èv>¿®U\93¯M\1aì}\7f_\ 4ìο¯\ eìο¯uvª o½;T\90\1d\8aÊó·fD\rñdQz$\rÿ¬\9cò\ 6þà¤\ 6¿\1d9ðOX\9e¨\81¿Ý'©\90y\12ï1j\90º2\ fÕ'e ù\14çÈ?H]ç\1e\86óçÓ³\90qºäl¤\1f\9aO oí\98T\107Ýv­\b\eø_È@ߣq\90\9f½\99ot\95Ù7
+\8aì\9d3v\8fë2~\r­}Ïܯ¯ò«íÿé_oeýXÏ\82¿õÊ\15?\1aèjÞßñ×VÔ\19\ 1ìòæ@y¼é\90\1e¯<f\ 4Ýé\f\80ø}\97/øë«o¦Ûùg~.ÿ\81²~:êßÑ4\7f{6ÿ¼\9aAön\8c÷ý\86Éøë«u²ÿï×Vëwÿ¿][­ßþýun¶\7fæÌÀɹ³07\8dI©ÛsfóRjq\9cÙ¼ÔÚ\7fʺ·@{\ 3ÞÏblÙ\90-ïn{\13\86ͯ\816½u®ºº·[\vß_+««u°¾}òºº·[\vÏ 1þ\8aêÝl/\82}®®­ÖÂö\ fµÕÕºØ_\9c¶×WVëazËuuun¶\17Ñ[«««u°¾bß]][­\85ñ\97
+êêÝl/p¸×WVëa|åÆºº·[\vãîUÕÕºØ^\9eç]][­\85ú»\9duun¶\17É©®®­òz¿ß«««|\9e¯÷êêêß'«ýþºº·Éêÿ\80®®­òz¿à\1aWVÏî\7f7̺£|\1fÐ\9bÍi»OôÆê\87:ØÌ\9f\17\1an´÷3kñÆéO 7Ôº\93yçMÏ<Ù§}i¸\978ߺ\83tkÏ\eÎ4Ð\9dÎ\ 6¡¯¤~ëBÎë3\82\8f\95ZKå\7fr¿¹UË¿ä®]¨.V\ 1ÌQ°d\85\93\80uN\95p\95s\95O*5¾\15Ò¹y\Ü®rW;+0Å8­ßhë|'K8K9Ë'\96Q,û,ηÖκ>\8do\9fW/=.\8do\9eO>¹\8do\9döaK\1aß<üÅ\ 4Â5¾q®§£[ç\14\189F·ÎÂf\86e\1aß8×QY×NÙ±Z=\9b\15\9cY±YM\9b\15\8dY±X\µß²"\½\1a\f;³`Õ{6\rH\8b\ 6\9dcP`Ó»)]S+7+9*Tä\15\1aéû4ä\ad\9c\80³Ùéüõ\ 6y\86z\87=EÀ\96úÔãë=¶¸uuÊ\11®Oüï©\89v¸h\9fasK¼y­çO½¢\9e··ªì\9b΢ËT¶__Õ\89ëaÏË«õmÿõj\9dè\18¶^ÿIì¢y8à.?åW.vÿ³\92;~åqofkV¿AÆl½ús4Ç=EK\7f+ÙeÕ¾u2>ulãoÓ\19¦?új¦\98ÿÚM j\99;\81Ã\91j\9dצ"³\ 6j\89\f¢\16\ 4¦¯\8epÍfSy\89J\9b\8cEgt\92Ý\19pêi\1a\11\1a        \f\92\9eÄ\eë*CRÒÅf\97
+\94\\vMiî\bbÇ+gÜIé\8fY\97\12/V^ÉYrzad2ûݾtéB~pkïâÉ}å\84ʤr&%\ 1\9cÞ\9e\15"¼¼a\17¼e`~       \8aÝH|Äe\88ÿÂÊ\7fàøeXÎ\15\ fÀýº\8eÙ\ f|\94ÿÁ´Ê³ôµº§l¬Ì,|6\85U\97ööÌê¤Íß\87lªi¶x\10«T©ð÷DhÓíL\89þá"øO/\10Í"´Æ\86×ó\rN£Hl c\1cÔ\fBÚ¾&ð\18Ú\9bh5ë_XÚ\9bu\8bÜ{]é3Ênõ\15\81ZjÍ\93¦M"-Ñà\1fE\9bÞ³ÃT9¤+\84E¬ë\11¤\18æn\8f\9b\æq\16\15ë£\81öwtp>Ï\98G\ 3ìë\10 \1e\95õ!t÷\^\9fJÙO¥KO¥m§Ò¦x¤}1Ù°\9clÿ>í§\9eµ§\9f\94ÓÎ\89§\9d\89¹\9f\9bTóçþÌ\94w9L¼\14º©u\92ëIr\ 1cåñÒòrë¥òòü\8c\ 4\ 3G%,äLÈ\ füJ\ 4CýF\8fg¼ê²;KÖ\83?¥æ{Ëö¾ÃåùMê\93¸\9dDs\8dGÜþ¹ßæó\ 4³\ eílÏ\80µî®Ãÿ\98\1cæ8î.\7fݺïi¿Çö\1fùÀç8\83Fx×\ e.\a9\8d¦× 3b·è*\9b\15¾LÂ\8f°#çÁû·Æ\e4i×Tæ\8d\7f\vî?\80¦\84c}Î\96\12Ý[½F(\ 1\1aËüuy\15¤%Ú\8e\ f]²IT\81m0xª
\88Ü\82©x \90\99uãgÃi¬u)VçC¨ÓdFö`7W\90 \8f\97\1fÖ6Fµìmü\14\92\8c¨²ºco\bÅ^\94<i\1cx¢º¬\83êÿ\8e\91}ýÁuæÎt\89\14ÈZñ±\90Ý\r\94÷pd\83³ÆZL\£\82\v\8d\7fÞ\19ÿdE¢\9a\91w\94r»Å6\8dd/d­É_Ô#L     u2\eqD¶\14³­þ\8d;°¢\1a\\82²"\10Ùo\90­*åW\91ÑÙD^÷òµØáË,L\v°éò*\ erê:CÚu\ 5 Ø\\1f7\8d&(\ 5ú\ 5TJb:¹Ë\7f\ 1²\bÒ®
+9ÙöD¹\13\90Ü\99\86\èfgùm\86êôØÖä#W\88V«ù>·\16Ëá*++V.-çº\8e¿ËÞ\95þÞëäÇ\1f\17HÍxQ§0Ü\13\12Ìz.æÓ9u\ 2\8a4\vºd\89\1cº\8eð¬\95o\9d]\93o±%\92å\83ÉÊÃ%_3¤Ê\93\12\8aÛì\99s÷&h¾y\9f \8dë\ f\86#§Úäp\92\85×B]ÕÙßdkäB\14=\94\86çl\1c\89\10PrÒØrÒÀr£^"Þ\1cPB\91Y\88mÑy\9a\b\85ø\b\vnÚÅ\15\99òÇñ}\8b·ùd·½I´\a´\9dá\f§lù\8dÇ­â\88¶õÊiìRt!È\8eg\0\89!$q'æöxGk\fyd\95±5\1c\92·\9f(Ì;Ýá\88M\91\83\ 3\8f\1eÄSÔr!ðLúëÂi.\81wH\91$\97Ä\19\1d\8a_òR.É¥,\90¥k$)i¤\85ĬÑ7\e4\95eFH^\14H¿\ 4\90ÅÞ6a=]Fü\9dg\ 4pð¹Vo¸k\1cF\8b\99[P«:Vcä\8a\90®\8eAb\9bÖui\98±y8Z­º\Ï\97ðÙá\14£F\86l\99ÿ°gR²¦_\82Ó\16\ 1\aN*xYr1\fç\11\99\8b"\90P\15#í¡\93\8a¡¸\97\15ãM\8bÐ\8aå=#ÙU\96³3éE^<'.¦ÔE\e_ÑXd\ 5ÎÇfÌLø"u\r°Å¥,Ë\995¾º#Û/\bG3¯\86\83°'®\8cn=\95fÃ3eÀðñN:¨§%{â8o½uå:i'5Ù4á55âØÚ\9d\96Ù1\1ax\92,\ 1²\90-\93¶¼jEÎì\94I$°§¤j$\92h«Å\0à\16\84:B7Ûj\1d\rCìGO¼I%idÝýRÙR?\10\8bÝ\108¬¥æ\91\96¡qW\8cñcc\92¿H\98@È¿£¯\91\84ÄI¼ô¨º^X\99\v¼]\84U}urÊ\8aÐR+»úB\9a½e\92à\81A±?Xj×Q\vïI\ 5\82®²M±Aú\96Æ\ 4MÕ7yü¸Lãò\8d\8b¨éQ¶üüÓ\ÏÔ=\9bJ\8a´eÎÂ\897\ 6\e\13©Õ\8230\ßÖ\84¾­è\9c´]Q0\84\r\7fÌìLæ­g.îõ\92&\1aÆæ!S\87çÒ\19E\96\19òf}9ø\95û{RL\8d§\12 zôÝyp\ 1\95D\7f\ 4\89GFÔ\ 2\14XKWÜ6"ËÖ­U"ôK\1fPgÌ~î\róÞ\9b\89\ fûl¢KY\98tØ#Øçä#ØçôÌá\14~\aÝüFdõ;Þ-\8aÇÚ\91¡\10\8e9B¯\97À­L      é/H$o®\¸\12&{eôGî\81Σ&V)²\ 5?&{'ç¸IEåPþe?iü¬|5\94Sip_Ȳ\19\9e\92(¥Y\f¾#Iìê³òN\9b}\9b\1e,Ïþk\8eúí]Ðvׯ٫¹îÿÏ\ 6ìÑ\7fAz.ù#jÏ<6±\9f5¤oU\ 3á%¢xð\92Óö\8bÊ:ì:\e¿°ÛAvÆ®íg#b9õ\89\7fîÒÙ\8e\v\8f¨ïÒ¡\94<~¾\b\9dë\12þdøsÖ%ü¹ò·6fÑ\1dé\92ñ\8a\8d³ë>ê\89êR\95¶}fóâ5\eÌ"Ú£yñ\13áÌÞ\9dU/§@¢\9e\9cÒV Þ\7fab\0Ö\95×p³\87m
+Ø-Qb·ää$YÇwÚ¦ÒÝ\v\ 1&OýIÔ§\92ä|\92[=ñÁ³ONÙ\13\9d\15ørî\83 Vóê&ì\1e\17¾p<"¹pð\8b\15ìb¾rÁá}æON&\93\99y\10«hØ\8cà\82Øê\9bì@\99Ô\90\9bÏë\12\91G\0ô\83ä\9bI¢J\82¹6gzáBß\17LÇZ\95\v\9f\9eóò\92\9aË\82âR\1fo\94\bÒEL ³ÍÅ´Öa¶AºuT\93fÙȺQAÎÞ»O\97Y$\\95\9f\9d^\ 5m\13^!^c8¸æ7T\81\f\1a\ 1Øx    N\86_
+\98]SÎNÑ¡À\12Ò%.PÜØÏ\8a\9e\8d¦Þlz8Ç\böË\85µ{J\86\r\b\93ÇÇ_ðò2B©ÎEf\87ØÛb\11Q«2&¬
+l\ f\80Hõè\87
+´dõò¶\ f-Òê:â³\16e¥Á\ 4\9d\83È\1c{h\90Ç\19\92\a!h^\1eâ³     !¥' Å7\85\81¹ÉËòÄ)ĬÃON\1c«Åß9h¬"\97\9f\16ý\BJôR]<\18º]#Ä?ý$ê,êy¬ÚT\14ê©Ä\93ª´m\93ª»Ä³ª¾\92iÕZOD\99\89 =ÍfjFÒÅã\8c1Kã\e\89Ü\9fè@o×^\1cK\8e\ 5ÏǤÈö¨Á·+\84e\8eå°p\ 4\v\ 3»WhnHG8xZ\ 5¤·°$kâkÀ|X\e#Ú \a#ÖÈÁòk@²üjÑcX\97]¶Ù\87¶¯$\91urÑ+´6N¶©I¶°«rÑG\13Óã-\r£\91ïI \91ïM¶\81È÷\9e\9dgOà\11\84&\84O\16^x©ñsäêF_z¾Äõø\97\83&\15·1RÐè$1\ 3\0Ý<òÃì\7f\9dÒH}9±\81,¿\911\81,?*\9c%\8fdþíú6\97ÿÓt+Ú\eδa]ç\9d´ÌO1üjº»Ýþ\13\ 4·®J»rÜZ\16»  \ 1àcê\99è|{£\7f\9aÉÿ¾ì\ 5ü>ÆoÀ2\0\11!¯ë@|ð\11º\1d¯uâæ¤hâ&Îp\ 4ZÉ»·\e£Øg¢\ 5\8a\ 6I¼WÉ|GN\1ciy¿\19å\91x±Ã\1a£=ÌüoK\b嵨¤Ô.,ÏD'\983Ë&ç\8còÉû5\84¯,£X\ 3Ï\19⣣\8d³þ\98\b¹Ü¤S\1a\92FÄqÖç!Çv³\8e\99s+â£ÅôTy®\\8b0zw\90g¡µÞ@r¦z\exÝ¿QoL¯hg\8a\1eÐ\99ñ?xÀ\11jxvì\a|g¹3ÙÌú'qkE\bäÆ\9eð>e\9b\9d\8e\ 6Ì\ 2ö\ 2,0?»\80\8dtLk¤ý\90\ e \ 6¿f    \v\ 1³\0Ý@o.ç\1c(­Î64\8e@\a$\ 2'ÐþÄ\a»\ 1Ô\0\8b[^ö ;°\1dãÁ\10þ\84j\9b'k\aÎÎ\12þ7ÿ~ÐW        \90ï\0\ 2CÀl¯G\1d\1c\ 3\8c\ 1\12-Þx\ 58âàè\ fR\ 3Û\80ú`/\96£\8e\e4â*y/¤\ 1ô@T=\84Ñ\80\8alÒøÀ#aÔq :@\1aûàzð\11Im\7fL\ 5òØ\1f¸®qð\bÙñßFØC\9aé×à\1c°\ fn\ 3>\ 3·}+&[­À8\0\18ûi\18\87Zt¸\fð\ f\98\ 3D\ 3i\1c\vø\ 1\8d·\ e\ 6\83\1cv\\a°\ 1\9a\ 1\14fuò\80}0\e-¼ã\85\98%8;xÚi0\9d°\11f Ì¸\ eÎâ\13\87q!ÏÔç°\1f£r\1f´`âÌ\ 6|\ax\ 39s\b\ 3·\ 1p\ eM^À_Àyð\1c`\ ep\ 6\\aÆ\ 1 \ 1°¿\ 4­\80Ã\80âß\88Çü\13­À7p\11@¿þÁü\94h\13ºÑg\1d0\r~\ 4=x\r¸\ 6ø\ 26^\ 5òèq×\v Ò9\ 2\1dÝ
+\8d\81+\0V\80\8b¨ac@sb7P\85à=ÿ0\12\9e\ 3\1d\ 4\1c_\80\8d\9d\97Ý\80ù\97\80á¾ò\eL\a6\ 3\9e\ 1\9c\ 1Ö\80Ùy\90áü\a*\ 3Û\0÷à>0\ eÄ\ 5»\9a  w\ 1\94\ 1ú -ÜØDp\18\10\1c\80\ f^\ 3ã\80½ª  {\ 1\99\14ô´\ 1²A\9ctH\ e\f\a,\ 34\ 3³\83*\e\12OB\84\ f\ 1ôÀwÀ)Õ\8bF\8aBHÀz°\1c\840q\9e\ 3¨\ 1ó\0FÔÐóPâ\8a\99aÇx\ fJ\ 3\95\ 1êaŤòaìÀzÐ\1eÀ\a±\ 1í\0{`\19p\11V+þÜ\aè\0÷`27 ånô9V\\11<\a´\88      ë\ 1\9e\ 1Û\80¸D\84K\ 1T\ 3\83\ 1\93\ 1\17FÈË\80Î\0ë\0v`;À\14÷°\82à1à9°\1d \ e¬\at\ 3\13\14\10\9c\aÏ\ 1\16f\13ÃÅ\87\ 4à*¯\813`17Ðáì\ 6)hpv´\8a  rso8\1f\ 5`0\801 90\1d(\ fÕ\ 1{\17^j\80¼_Ã\810\18\90\1d¸\vv\09\eÀ\84\9d\80Ì\0ë@T`\83s\80æ\80tÀ*ùÐøS\ 1Ò\80\8b¦äð±\81%à:Ï\88\1c\r\80®ç\82NÀ\>(pÖ\ 3\8e\ 1ê@gÀ[°a²ÀdÀu`4@7ï\8c\11,\a\16\ 3\90\ 1Ê\80õ`=\88\f¸\ fÐ\ 1Ò\80ë\0|\80\1dÐúþ|$\9c\a¥\ 1\8dè\ 3Û\80ë\0\11¶ô7\0\1c\80\ e\\aÏ\ 1\a `1¢ÙEQÊÔÐ\11_înÐ\ 6hVMT\aÈÂ\11D9NÉ\80Ë\80Î\8b®\80@[0ÁÊXõ~\80\8b©ùo 1 8\0\1c\98\ e»\f[kõ\83\ 1Í\0î\80lâÀ6\90\1c\80\ fl\ 3­\ 1¢\ 1O\88\ ekÀq`=\88\ e°\aÖ\ 1\16\ 2\84ÎbE\17ÓC\94¸ðä\f\ 6Ë\8a   ç\ 1Ë\80Î\0úØ¢(\8d)ݰ\ e¸\an\ 2\aw\ 1\89\17X\85\0å@h\80l¸Àúë\ 1Í\0ý\0\17Þ\84?p\18 \15B¯¥\0+@c\0c@E\81r"À£\11Æ\8c±``Î#\1a\1f¸\ f¢\ 3ë\0ÉôA˸\ f\94\ 3B\ 3\8bÇ\a'`;À\1aÿÈ\b.\ 2+\ 2ëb\ f¼\9bH\ e,\a.\ 3±\90á¹\87¿Þx7/Å#'\99äM\88Íxó=\87d¯ µøßo^¬Ï\14\19âáÿß­áÃ>.¯\ 2\87ù1¢ÿm\16O\11G¹´xVÊ\8e\a±QHÿlz\87\84%Õ¼hv\9b×à\9a<!íE;ÂÙÙBØæ/\10\13;\93!wÓ<3¤¬¢åVGü,á\bÉK\19\132ou\17\84\fæE\98æ\8f\12\ 5çHÉw<i\94)öî\86µ\17\88\ 6â\8cð\91üz\ f\17-\91bñÀ\9c1\10ÿ\9f\ em?Dg\8dÇ\95 ªh¼u\8d\17\8a×ãÍÈnD\8f\eË ñ\ 2|\8b\17̰Ҽv\1f¡3ÃdÙÍ«Ñ\1e\1c\ f\ 2G\85õÂ\19áʰH~¯äȸSÿXd\19CÖ¡£þ\8aÊðóqÍ\8a\1e\8cÍ\ 6        »\9a\11â¹/
+A=1­Ù<(ïÚxS\1c)\1a§\13\1eg\88\91\95\ 2q^_õ[eîG{ßHÊ\97X²<?mM&\85ù\8bþ\82ä¨Þ'ÿ\8c¤x÷ËW\8f\bÇQð\93Lñå2ͬq\9e7\1a\8eÉ¥äVåI 8\ 4\10\82ñðRÿ±Þ;\80ñë¸ô8%Ä\11ógøÃ<t\17\ 4Åã:2\f^\1cò]®\8bÇZQx\9a[ù>aT\11ùËð¤|า\8e\8cV­öüFUgàCK\f\8eÛÃKq$Iû°Ç¡3Ã\94äLñø¿Ü\86·C®ßÕ\rY<}\1fôCV|\1a¢ðÖ¿r`Ë\89·1ÿ³\12ß\90\89cðÇr#ÇÊY<_\94¼Ûá\88ñëÒü\9aôm\1e\1cÅä9¸\93|-\95D\ 3Q\83·22\83o"\1ey\122\86\14÷Îù\95¡n¸Ö+\Þ|âá\fñ\12ù\ 3>y,÷\90\11\94\9e§¾yDc]·óðk\1co\9d\7fÅ,p\ 4dóOüK\1fôË
+0ÏïË\19ï\15\8b\15Hs7vÿÙm\16Sbä\10y\v¬s\15&_«[\1dtz\8cêý+]^\1d£È-Yô©ãÌñ5ü9\9e1¿\1egÙjã>öå?\81¼u>Ï\8e£x\9fÝÈ\9dL¨¿U/\83ºj:        Ï÷8j|S  =âÀ±è<RN9\a\8a\8eÇ1xî,\89\9e2\ e¡\ e\fQêÓ=ä¹µ\1dA·&\8f\15Wû²VÉâ\92¸þ\ 4É\9eñ:_¹¶Q\92\13ýùüW\95âñ8¢4\10G\ fö8EkÅ
+\8fµïZ¼\83ܼxÂ\99m\11p\f{GáÉð\87"ÆEZáyMD\9dÓlÜ}>Ïg+%øé\8b'T\88ù¿¡û²xñItð¡ÍYì¯UÃ\99âÓøÖ-\16ç?\9b\eù\ e\ 42!ôR<Jß\8eç  ×\8b g\91A\9fÛF×ÖÀñ=i^/·$nMÏôôÏ(ë\1f\8f\9c:\ f\1dc\19\97Ä\99\95\96%ìcÃ\93o\97}ã;ڼ\7f=¯Ên\1a\92\8déKÑn{é¬pÆ} \1e\1e\8f´õi?ÿ5B\f1ñ=\95ø¸ò}¢â\88òr\r\f¥?\18KmcòË\84\10ð\82\83ë¤m¾ÿ|B\1fë\1fø*Ê2\90c°ØÙRIÞ[Ë»¹roknÎ]Ü\92\9f\92v8ݻۺ\92Ôû·yïÛ¼\92D\18ÆQ\8cc)\bL\ 61\8c\84!FA\90c\19\bA\93\ 2\10e(ÆR\10d\19D!\90\91ë\19
+1\8c\95\8cGï{ß¿{Þ÷ÞßoÛ÷oowsÕË\975UM6Úc ë\v Ýtl én\ 5\85¸2Ü\v\81KpiJLHL\vn\15)p Rãи4(\+\8dJ\17\ 6ã\
+\+\89K\81s:\83Óݬ\92ÈÛîÌ^RC·\1dÄ*ë>Iú\8f\9avU8\96ôôH¨×\ f(l\1f\bû\fg\8c\9e\95Å\18<\9aÔî\13ðܧáÔ§áÕ'áç\13ð¡ã\80%ñÛ\1c\ 1\r À<\8d\85{âñw\9dÑð\97Ó¯ØË\1c\94ë\85Fj®\91}ؼ¡îø<ZG®j¿6¼võ\93^g*\87\90Úë\ 3\17\eÔ¼\9b¯\\7f\95áñ^OÎßË\13*xÁÝÞF\ emãñWÇ£lùi%kÉ4Ñ\98¯KP\ 4¿L{\r\9fÁÁ\87¥\83¸Þ\98^BÒ[Ôó9r\ 1ÇÓ$\90\8eÔ^2\9e\8eµç\9f©wëv\ eÌGã\vÇI_\1c£mN\ 5Õ\ f'_ \9fÝ\f·\ 2ñÖûqÿî\ 2\9a£çGÿ\18wSÑ\17\94êÒ=\8f£Ç½;*îÔò\09Âû³²ñí\97ñÛ¯ã¸K*_h\ fj²×xuîþ\1e=W\87ÿ\17\7f¯\17£·\99ã¿æý:/¯\ f\86ELxÕ\83Þ¼^<\ f\16\86Øãu¨Ã½\12Méä·\ 3ýÏ\93P
+&rq\8bf>eEÑ\9a~õ/wUxìª\9dÁ\ e d\1f¨2y\1e¼µ\84ëTúÎe\18õË?\aèTxd\9c­1*äï\ 3\14ÝQþ\1d\99æÞ\8c;;Ø\1c\11}ñÁ\16ñ+þʶ?%Ѻ\1a2sDõFüü\89wO@ï$Ûd§îGgÜÅæÏº\1cJÜ    eYáôge`\\7f'\12\95\95\17±-êÿR[n·\97~Y¿\8b Ypu\9aú_wû¸]îß§òõ\ e\8cöN_.fº×ÏLõajx!\93ü\81yx/×\99Ñ\97\rål\88ÑÔÛ\1eI\92L¹ÑVÃ\9aÿ\97Ýb\92T\16M\15å^·\13ÙëqeL½\11Û\vÉ\ 3]¹uã¼Å\1f\16\fÔs9Ù"\1e|Ï"Ó¶>©\17à>\13Cï}ñ\8f×ù°\1f¤¿d=x£û-M\9f\98\19ÕÓ\9e ö"Ól\e":ø²,\=·êͶØóm\97\90\8eê y\bLn\1f#mÈämù\1c\8dÇ#\91¹är:\9eG#uÈäu\\8eGQUäP2¸ 
+ón¯õ¤Û\7ffM¸ödÛ\9ffMÔû2m׳&ê½\997C¿ÿèïÿV\9fe\13û\ 4µÛ_\8dÄìÄr\1a\81ç×ðô'¿å\9eùÚ\84\ e|ùõ¿\90XY\aÞGn/.\15-êò\ e\eì\80\8dªu\90~n\80¼Àïl:cÙæë\ 5\98\8e\10µ\fÄ÷Ã>Ûù+ÞÂ\8a¯§ æã\83ÀÝ\1d\98Å9\9c      3\16¶ü+>´^p×0^|¢@Jæ½½\1dCzÓ\81\8bÓÔÃ\ 6ÝëJ¤B¶Ç\0+gH\e¹4a6×\9d\93ÂjO­\1f¼®w\a\9f\8an\10¼Ú®¹\fK\9e\87\98\96ÍH\ 4v<Üu\95¾üvKÝ\9f¡uzCË\97X\81v ÿòN2®\90\90\12¢±\94§'\83)°Nï§bê
+j\8dÄñë\11`\9aûg\8bÎ\1e\ 6\9bA\12>ó$R»\ 2·Û\1c\88ß\8dWРõ\1dKóÉçÛáócá·¨=¡ÛÆÞΨãd[ûãÀ\95½«\9bA1\9f×¶2#Wa\1aª>4<È\8e\1a§~|\af@ó/Y\19=*³\8dÌ"Wô»AP{Ôv\8a®³qEÑ,¸££®\8a@~\91(ìÔ¼Æ\8eèï2ÏÝ\8b̺Ì
+wh\15¿\0ÿ\89!u\aòn\84jʼ\9bc²é\Ç&&y\9a¿7SË·?3»\1e}\9e]òw7Ûp¶Á·\8bÙù|ÎÏ#\99·òù\9bx9\9b\8f/\99¸\83\99¹òù\9b\98\1e^\9aÇ\9ep¹ç+¨'õ@¹4\ 3¥\94·¡)\94\86Ѥ$2\ 5GX1ê¼êmR\8d\89\rO7\a qr`\9eæ\8bΠ    Pó\11X¥×SõW6P·½z\ 2\86c\f©æBªf\k/>B^h7\ f\12\8c]pÎ\14\1c³        !,ûSÖùg\13\ f;1Â\81çEúã³\ 2Ü»å)\1e=P¡¶h9\ 4Ëv;dóT³W\1c\13õ6O2\93.\ 4ÝÄî\ f\81k¸bQZÐu¦È\8d\ 3׿@=íÒ\1c¥Èj\16ÒBßcÁí\ewf=\ 2ß\9c\19)|åçëÇ     \99ÃÐû\eÁâLÌÁ\9c\97¡÷Ù\1drÐõlÐ~Â~ùâü17ÖýPµ\15\1fÂ<æ\12*y\95h¼¬±\vóê\8e¹¸>\v7Gï¯\9c>\9fôb^ñÙ\8f\9cI\9b(ûsð¶çÆeã³\bÖðãBôç°ÛzÖ\82Ç\9d]«ãAVî\18\92`¢§\90ï8ù9Éã/\9fu\82\99\98R&ÇW^\14\14ß\rÙó«Q\1dÊ9\1aC×ìÔ\95­£R¹T|\15â~®\9eä\ e¦\9ey5\95ºøí\ fçê*pq<ßÕ¶_qüö_qûV_©>ð¾y5\9e½\98²Ìî8vg²;3ñÍ\87ýÈê\8dê\ eý=¼_2Ëlæn\\8c3\e  wvBÞÛt{Ö;¼\1a\bÒRðÕ¸ý\84Ïå±fh\91\93µè¤-¦ûS\86í·>árÆí\1e\1fH\13Ìsì_0¢{AzFÊ\ 6Íî*\91ø»i:\ 6\vÒºc\1f[l¡+ïEäÎÇ©%M[´\1e\9c¸«R?G\ 1\16O\13k;.n:E\ª\83·§\15=,\1c©\8e\12r#!\ f²ÖôÄ\96jçÙ\ 5\80Þ\9d\98Þ*\19n\8d\8expN."=\9a?\9e!f\8dÛïG­\17\f       -]äýsÖ\r\17\9f
+Ã.\91#ê;qGç\94\9b\91f¾íø½\ fwN|ïËåÀ¨%G\?\97\86ãTzTJ\9e\92\ 6O=¹£\ 6\1ª\89\8bE\ 3v\85\14tîîôXaRÝÁ6\8b±5SZ8÷\8f\84\97¦ÁË
\8bÁ\9f\92J\1f\1e©\ 5;H'ݪ\95»ÈäÔâè-è\11%Ùo¥ifÂÜÃ\15õ   þÜ/ö­áÛÖðî\17áÝ\8eÕ|j¯=\eÄ\ÿ0_\8bR¦i\91ÃÐù\8a\95¼{8\8aÝ\88Àú)1I\94rN·=)\8fX\9b!dÖÇ¡À\93öÑhÀ\fe\16Þî=ê\9aàQ±\9dÏEÍ»\1dó*ÓBúÞ\90¯f«â\9fº7\12\12\Txªzn[;Ó¢}\vhz\ù\0UVìÖ½(®Í\ 3\98\9dî%¼Þ)Fxá¾V3~²i5eÊî]ã\80ëÃK6îëÙÊ\ 6âì¸}\ 2·\8f\88×v¼Â\82\ 5>,¾\8e6ĺF\8bq\1a~âÔ4_F?di¯8r\ 1F\1e\98F3ÎoF\e½:\9d\1aØñV\ f×\bBßÍ\1d\8e$nÚõB        ·ÏèÈ.\88â{;!éùîåq`z\ 1\9a«}w \9f½X\84=õ½<×2i\9a· ~Ãg%Ò«Õlt\87Û\90÷²5«q®ë\rÆoêËî\12OE8Jñåv\80iפ\7fûÇüÊK\88 \95ÌlÓѧJî\1c\1eK5{¿T\8e\85\8fC_Ax^Är\93Tï BÍ« µQö\80\vFYöN@c\9cµæ`tc\194ÎEJÏ\9f#ÆHT\9dÒz·kÑþâ®ó\96ôæØkî°\7fc²È;6-÷\956\19æYÊ;E5\98âÁ@ëß\8bº\8d"èöØ«¯\8däÑ÷ 2Ïcd\92}\1c\10î*`kÒ­èªý0\80×Ý%ê7³±ú±h\1dÖ\9a¸«H\f\91#\8b³ÜÊ&2"ÑU\e\88\rÿÕ\9aU°/oå=V\8d]äåwò\81g*\15ßc\186\12\12\9eWI%À±\9b×ùü}ØØ/\e\89âÌ1¾´z
+»mèTzYK61ºëݲ\17\fOÉÐ%¤´kÃ\8c\ 4£»½¹ðÏ\92¼\9e÷  zA\å÷»A9~Ð?tw\83\92ý\ e\ f@:ôßê®%ÄÑÿn¥ª\91ýÊ:]O\97\95:\9fu/ö:+ö)ù°\ 3è\85Ôl,Ð\ f`\8aÏ(\9d\97o\97åÜeùw9~^§/˺ËòõCå»Z\8bze\8c/H¿f#±ª½1\8e-2, \17\8c(\f¶è£\98=?½W}Ì\94½6E[\98ò¸^\80ú÷Ùĸ'M\89G+\87\86SVj5ÍjïãøMSP\b¼µm©\ 2\97\85|d¡\bé\b\95\94Iø£Õ> \97,ÐIÁû·\ 4³?\18·Æút.-Ϊ\9añ1æµ\ 3eÀá\8c\19g\elõ©ù4\1aÜÌ>\99Ö\19à¼\90 *ѳ°9_\8dêl\8f\10DW¿\0ß\16\10Ó\93שçA¡F»×6Ù[f¤\f\ 1kª.«Í¸w\18\93SQ¢õ\9aìÔ\14\r\17ë\ry4ç§9oOôØ)Q\1fá°\92Á­\ 1ÂIëü?jÂñ\17DÚõI6\ 6\ 3b\ 5Ö#]\19¢\10-\15MG*ª2uu\85à\1cÝE^~ê·\9fhp`{Á@­ï\13 \7f`´      j4ó\99\9b\83{´Ó\12zÞª8Ù\82=÷x\93ÿ÷¸2©y÷ËæoG\99\8d\91\845\8däËf\e¾lMïë\ 4Mpd¶qzUÙi\84ûÚ\87ûrpÚüø\8b=Ó&]0ã\9d¨e\9bÅ\98UǶe·\¾S\8a\19»¯r!\ ef¬.\19\ 3\87\88Mû^ÈnÜs_\1e¢Ð\1fïn9%â@h·5$¥í\17"YAã\1e\94/ù=NÕ\ 1Ìf¤C\9b;7'©%©ë
+¬{\17z+\1a±Ó\8e²\83\941²ç\a\82;5¸\1cëNÎ\855\18¼á\88\9aÓh\eÛ.¤\91ÝÙ\9fÂï\110\ eµí \] çVÝÓt²\1eÊó<y{a̦\90áC\82#kq\12\87ÁaO\1d\1a\84\92\92\ fu¦qår4jJnÎæQÂ\bÊ;«\92\ 4V\86E)6*B\81I3Å\ 4ÊÒsöó¥jq\96êè\9céL\8f~ùãê¹Ô\vü\91é$'  \10\9b\91ðª8\9a÷¾\82D}v8§;:\eõÂ\1f\94Ç\84&ºtl/\96\9c\8döc¦Ç¤8\0T5\ fU]uÑ\10ÿ,ê\ 4\9eËnàùp¢\8fQ)ÊÇ\94Ú~\ 3\16\f>\97G.?[E\90î*jÃÌ?\7f\91V¹ßÔ¥´RX36¢\ ff}A¹óS\85L(@¶\14ú\88Ç[;ýÑ\82-÷Ö¢¸\82\10çÁ­>)E\r\1có9\84\1cà\9cgÛg8¯\9e\e_Ø        \e\1cÑì\9cºu\98(\10\ÎÎK\ 2½)ú«êOß   \Q\85®\98\e4.U\8cîÃcÖ\88ïÎÎC\13\rÁ1¿ß2}(å¼nNEGv\ eo\88¬òóh
+
+\8fJ\7f@ìªz¶,¡@\bé\96;=ÓüHerB\15\98\97í\18Þá\1e©ËȪsEþª¬¸ûD\92A¨¨Í\19\11ܤ\1dE\88I¸hê´ÐÐ\17óá\91Ømèw_8ù¥¡ì\95úÁ'\9fÀ\1e¯e\1f9ÙÕMÑøø\14Ø\98õ\89è\rDt°ÎúT££ÍÐþ\98r\93¤/Z9fQùÝeÅËÅÔJ»!mȨW®\9a¢\12nàK.ðqð\9fÏÜcbAEÒà\9c\89U¨D{ê\98\91Þ\9fC
+\88Paî/\ 2\ e¼Û Õ\93\90ÀáT&ã³?Øåa\99ÝEðG·Ôoý\9a\9e·[¡\85@ælgóbG¯¨EáÂõ]\88 Gú\a÷â\ ek*Ðs\fþZ\ eèãñì#--\ eµç\17\8e[/\19îÜä\9f7'ØV\8f\8fR¿\1fR¿\1eé~=Òü}Rü}Rü~m~?6¿\1f\9c_\8e¤RJ\81\91£Òõ\eÃ\86\v\89\9aÕiú÷º âÌÏ_\9edHûöãßjµ=¾\97°Ý«\14wN/­\15ZoÁÆô\8f\10\10\ݤ[Ûù\ 2ê\öØyB@®O`\8brN\rñ×ç5$\88¬{\88Ìq»yµ   \15Ð\80ý ±¾ªÕ¾["ç@öìv½ÅÞ¾ùXé®í{Vë\82\ 6¾\9d\1f\80\98$ºÓÝÀj÷\1cäw&ÐÎÄTz¿^\83\91\91ª¿O\ e\95/c?\ 5oÞé\ e\ 4\97Vº«<ý\ 1\99ìM|jjR>\16<\8eÄV¿«b(\96JOcÛ\8b\\8cg`=\17"PÜd\17^e/ÁƨÇ~Õ?=±þ}ZÙéC\ f\82\8eM_=Ê~v\ 5·@i2Ä\16Á\1eË86½Êü\9eÄÂÚ\9bc\8fkاÜ\8a\81\8c\922öR\1e7>ô\ 4\9a$I\86ǵ\99«Ïi\99\2N¹obW\85í\86(gsÍ©Í\1fë½°]ì\97¶V©\9f ­gÔíñÍ\11ï\8f´e\ fl1Ú\9d·@=\11é½ñÿ<e©ì$/\89wÜÑ$? %8\ 2öè\94uVç³ä«\87h<·à \9d\9c%ÜrGP\9eó\1dþLï\88®òáZ$7j:ÁÉíÕê¥x\1c)]T\ fuREp\15\17aöª¾×´iúÖ\1eê\16ü\16Ó\99dp½¦Ï\11/f¯a\83»þg\16ÙfðF_Ï\14±^T¯g\89uéÙ\95x¼L~\eÚ\99lùì2/q\97ÎÉ=ê°d\ f\9bÇÛùÜ}Ç\9dÇÜÖ3Gv\8c\9cé\1d©S8¦r.\ap½7#ËëÙ\9d\8e\7f÷­öÛ\1d(C]\14\ 6í)2D½®\1dÉþmÿÆ{ª=ÓÇýÞ\8emëV¿±ÓÝÇ©8Üò8ø§\eº¯tãA  .ò¨\v³\16\9fz\ e\10ë\1fQ*ý\ 3\8d\rR\\1e \88ójd\8e§b\19Æ\17½\86Ò^\9aR\9aõïj*ïu.ç[EQÄ¡\18#\r}Q8=ñçömÉ\8b\85)\ fG\97Ç¿R\94Û~\85'¶I|ysµùxo]¥Ûl\b\9b\9c3N$²ÍÝg»pª\89Æ>Á\9bÃà\13])âê?´8\17:)JWµ!c\1a¬\92àà%bê\9emDÓ\1c\9a\a²à\a\8e\94d½2uá¡\ 4\12ùXËgõé¸ÓN:j³\9bâÐQ½@ÿöÃÿÛ\8fÿp?ýÈÿú\91ÿî\87ÿÕ\r\9d¸\88ùV\87³>ë÷&\96P÷$\1e¤{#¢?:\84££G\8e}­ë\ 4ºþÄþÝpºÁýO»\87QîÈ>\94û±ó§ô4\19·Oû4\1eóÌ ·\90\15{°û\9fÖ¡8'BGØ¡({¸\8e(½í­I_\95\1a\9c  \1eeuDÓ\80s![ê\98\90×\9dZV\16Ëq#+Ú÷\1f\9f\p\ eX'ìP\9cÞ\88x´Fóסùý\15çÑ4\11\9b×K
+çR\®wÍ\9fp\ 5!W\9b3à'ÏÎ\96õɧhGÅçL¶9\1cé½\89³÷\9e\91½ÌYsý?ºCÿ_̲ç7Ðè½\80¾\1f$ß{ ïÅóëfn\85~ _>¾\7fÑO!\13{\ e\rðEüÁú.Mç\8c×ò\13~E*½3|sEeÖgÃôõÁ\1eäÏ\9f\87ÿú=\1f\90ûà\8fh/ý¯ú\ 2ø\7f\13z*\83è}²=¹
+\9bÞþ9½\8b¢÷~Øìô]7ÝK/\19\82©}hDß\92m~y\9eØ/÷o<oPÜær\v\99\9fmFgÃ\94\9bÜ\7f\89½\ 3üí\ 2&÷d\7fÞ\ 4}¸¾Ù\fÞ\82ptfú÷\bß^\89\vç¤ü_½Cí\86Ìû\87ÞÄ#ðB=©¿\ fF\84|\0\89½\ 6\16\9bêì3z<sùa\1eô#ó\82&ýدá\84~\98GÚòÏ=ÊòÇõdJ÷n\117îÚ^P"oÝ·¦úÈ&w.óÆûÄ<̨\837­qÎàßxQ\ 4\89½\1e\1dð\ 2<\9fß\ 5¯\84n\82=W¸
\117­ÅýxGE\18.L#Ü\9bê\bAYiûð\8d\ eaç¾\a0vy6¼oZ\1c>àß\9dɹ\93ý¬
\9d6rot`ý8Gá\84\8f%÷áÐ(G\f"gtÙ\9bóÎÏ´Ñ\85§\84\8fæ\ 4\90<ó{OQ\bòZP´p\8fÃ\b÷Á\135*Æ@G\f
+ÊßÚsAÏ\84zqYUö\81\1eä#¾\bò_\80\12xFä#Ó\84\89½\87{÷!\1dðG\92´\ f<#ro±4\82;@\8e\18\bö¦i´Ù\96Ya\1e\0G\98Ó\86\1e¬"o[v~ô#âZ¼ñ¿Y~òÁ\eÐ\8f\80\11úA\1f\1c#ÿë`ê\1c\8aÊ®8G¡7à?Ksz\8a\17\vç\büP\8f~oO¿Á\1eVà&0\8eÄ#ï\fî\82À\8fÈ\bã\\87aa\1eÌ#Ü\ 4~\98Gï5!p÷AØXG®\bö!\1eÔ#Þ\ 4MìnÏåj\9e\82=èGæ\84\7f4#óÂ>\18\bù\ 1\1dG6\15\1f\9c   |#ØHyï\8c\11ç\7f\ 5ç¥\84~7<\16>\11ï9ðµÿÂ3ÅVBg\böa\1eÜ#òÂ:/t\1de\84\7f "oÇ\rÿ<#â\ 4|p\8f5v\16V\11 \11ïB>@G\95Õ\87\1e¬#ðufôæÐ\1d\eÚ\ 4\ 3Ï|\90\8f\90\11ÒÞ\85Ó\84\9b\9eÖôÿkâ½Ê\ 6C\1aËä,\9aúíiÞß\16÷Â\b÷A\1e\0GDf y\eÞ¶0bQÚ\8aÉìË'~l#½\b÷\ 1\13<\0\9cÿ\88MÂ?(#Ý\8aÉï½\büÀ\89\9e\0Ïß\84\1f\0\ 2>\10\ 4|@\8foÑ<÷\8c\11ìµá+ì\ 2àÂ<¦Åç­\rïuXVP}XG³\büp\8fÍ\bþpDÏ0VåÂ6æwC\88Gr\11ëB=°G¾\bð\ 2<Õøu¦\11Û\ 4~HGEøaMÂ=xG¿\bð\ 2:,\0î,"g\85EîÅeGD#ÀZÊ~XG¯\bþI\98ÉÚ\11ä¶¡Ò^ÔÎFñ\v\ 2ãÂ;Ð\8f\81PÂ=\97»
\11ñ\ 2<¿J\12xGà\ 4\1eWÞ<÷H\11Ü\84~`G}ï\10²\9b2Ê?}Ó\86\ 5\7f\8a\1cXGâ\ 4ys{áA\bþ8G²\bøa\1eXË$°\89½ñ9ø\ 1\eqY'\99ßø\9bà\8f\84\11ñ\85d·¢\bòÁ\1d\19¿i \84yñY/îÂ&zM9½\88Úð\ 2><°·9\81DÂ=hG¶\büà\8d¦Ø90\8fr\113\1d\14ý¾Ü-L# #Ð\84}ØGp\11Æ\bõA\1eÜ#Cp\1d\15î\rëMx+\ÐâÂ= Gñ\823\85dçï\82= Gâ\84|`\8e6ä90\8fµê\ 3ª0\89\9eGuíÍï¿\80#ïB=°Gè\19¬¯8\81\828G°\b÷A\1f\f\9bß\80°Gß\84y9á7\84|`\8e\8f\14(ØG±\b÷â²K×\84|\0\8f\8a\11\8d@*ØFXG°\böa\1eì#óB=\váÍ\84\8eùó{H\12\vß\bõ\81\1e¼#ïÂ=\90\ 4~ G¸\bü\80\8fv\11\91H:\13\büp\8fv\11÷Fd;èGòÂ=ðFçt\18\r\84\8fx\11ØîÂóÂ>\ 6ìÎÍíC\ 1éh\84\8f~\11´Þ¼)ët>6\8cÙúý\13\8c\1f\7fÔYtß\8ap\15¦\8dôÅd\9fÄóX²mû>]\8aO\99äþúË^7     e³$Hrxë-úgÔ\ e %´* \ 6he¬¸ìØ\9d\95\96ûw\eª¢¾ ji\1e\ 4\93·JpÞìi\r\11\ 6\ e 6¤M¶G¬t\12\84Q076HjF\13¨Äýñ\13\93\86ö\908¹Cجa+   B\156beXNwÉïÆrG\8dR%ï\18ý\ 5Ð\80w_\82#ÈIf+>\vó\9c~gÐY\8dÐZO.\8a\e\92ÌJD-õÙ\894i\8e\vd\89\97y\f{\96\9e\144Å9÷0NÍh¤Ð\f¸\9c\ 5ÕøÉöþ{_\8bØ\ 4\9f\88r":\15\90,Óh-f\9eîUK5ù\9erÍN%\9a\8b-þ2ÉRÕfp¢ÚåÀù\eU,×ÑÖkáKÈÐ\ 6ÂÍt\88Ü_ǰ]"Ab\94¦Dk¨êÆ\81Ñɸi¦zCÙ\9a.\9e:B+¢_R U\b"\17×PLF\17¿ZÍ\Ê&\9diÆê¨òUJÙþ\80ÿ\v\95´>\8d-bÍ\7fÑ¥ä²\9bþ
+^Æ\8a\89ÿ%1½Yb¿«ÑJ;I\7f̨¶ÃQT³GÚ     \97¬([x±'#2V©?Hè¥ú¥\8ah?½\9c\99ü©\9d«Û\91º[QÆ­\ 5\18ñ\87\8fQóË\89ái\88\93½7ñtjT¯Ñ¶\95,Ót-§>Úd\8a\8blªY¨ïê¬ÓÿúÛØIsOÉa)|d¾\18'3\83»\14XÏÑNm°©}Ñ\9eê4Ï\96g²Äe{yØü*#M+3ô|=L\ f\92atêW*ä«Î(s¸¸òNm\ 1%5¾V\85:êv¹\83ÖlÁ]ÖµfË-=!ÊN±rñP@gÔ\8aB\86ZÌfÙ®%ñ7Û\9c)\ 1»\1a¤sjüµ\94\80Ó>ÀÜ«YV·VÞ®2yÜÙ´\89\99ó&2ëþ\82ûѱËÃRZ³\9dz¢Î\ 5\/\9b#Æ«Ú=u\9e9%¼Ðu\87à\8e\ 5l\9cÍÐÿ\8a±R±¿Mg\12íº|e\9c]?1g\17LÿN\84¡\10\13$I§Ëª\12\10Ç3\84³£\9c( zKYÌÍ^\1f9«9÷c\16®´i\8aÌ^aÇg´åå\1aêe$qý\85\9cÉZ\9e\94æ\92nØK0øÀ«\1aÖ,çéÁ\90^&JÎFXþhÛ\9e-\1a\rÃZÏ>t\ 2³þÊÎ\95ÛJͼÞ\88§®å\9f8|3\8a³ÄO\ 2\83åºC¾åEcêÏ5Ó{·Då,ês(ÞbÏ}\97
\9f-,µ\9f*\88ÀeÀ³Å\99\92³éfä¶+ºaçÐ\ 1\94\0BQ¾¥\v#\19\90\ 1©¦u\8ei\ 1}ί¥^\0(æìâû\10\18û+$·ñî\f¯ï5h3]h\1eVί_X¾zÐ}\ 4\ 2t\16|÷é­\bïàJc\92ÏöyÆ´Ìý\eý\8b\9bʿܥ¢\ füô\1fÿkF\9d<\vF\92   »\12Ñ\94ª\v¯¶Eo\16Ä\8f\ e¦¼Sü4GS­
+µ4®¾\9c\1aiÉfbI\9a¸Õ\96\8aqÄ3M$\9eòïS\97\1d|hýÉïÇH\9d\ 1毴ϡ&0\83\e6\87\0ÒÿÝh¯\9d±N\80\87/\87 \19\0ÑJ\1fåF\8c|u\9fìÄ¡iÐ\15\8e\90å\v\93>zÑ\97eS\7fl[IóõÖÅØ|±}\v\8b6§Þ\88\88?úZG¶ômqÅ\aè-%ô\16\12ú\vI}\ 5¤¾\82Ò_C¿ÿêZKÓÉñt'ÿ·?óµ4&ñV\94êS\ 3á
+\ 45¾,±\1fÖÕ¥­\1fíZVÞ\89\83\8cå\91µÙZ[Ϭ´·âi\99w6\8c\9c\16\1f ±u-«²ê¤]h@§W\84\8c]\8a{ÚuV\97$¥%\9a\9f¢\18Q´%\ 19TúXÚ~Q\f\99\e%d2d\ 1W\8f4¨4¿¡e8Ç\9bX\ 6´\80\12QÆ:\v\7fHÒ~0\9e\19°@+é\rþ\8dôªI¡×\17îJ\ 14\ 6Ó%§Ï\1eÂ}U§ì]yÄ\829``Ùuy2êæ\15¨Ïì]O×Z\8aÅÕkV£ê ®$\19ú\9dÔ¿\93\11Õ%Ý\9c´\80\81`¹W\ eÅÐZ\94ÿZÔ§+¥Ö-\13å,¤ÆÂÔÞ\98¡\11Ð\93       Ýå­?T8¯ê­Qe\9c\9e¶H\90\92ÆJylÔ7ÁM\rßÿzÕ%¹ÇÈÇZ\98\90(2\18G      ¬ú\85væ­UIEK\94µS\87@|\8e\14û1(?ørAUûÿ\92Õ\95\85(»#ÙÚ.ß4\8b\1d\8dB[¥åh}v(4²\ 4\8c©jë6¦\95\96\15\1f« õ"qâ \85ÌZ¿±kZ¤\0Ïë­`ö\90iëm°©h®^y>óµ£wì-\17]l²jê[m\92\92\1f$¯¾^ZÖ¶\88\8bcÆ8\83ÕuÃ]hß=ïϬµ\99`²{\vYw\a\9b®µ\99ÿ\vE¸õ-\15ËZø­\1e\15­nm¤ç-køÖ\7f\ eÖ8\84¦«\9bDç²\14éª\93\18¨Õkç­oï\12³\97VÕw×õ\ey\14XרìZâ¢Gb×\r\ 3\1aPDïh:\83aúfÍÅ\1ajI á­k£,û\11I\ 62If9iJ\e£j:\94sð­wØRæ[\88ã\8e6ªS/¹k»gti\88\9cæ­\15çI*Û\92èæ>J×\95D\83²Eö$ïÀ\92³f¹µ-tì-sU&¹k\8eøõÓ1oÁ\15%­ê\96µìëµôÉó×»u\95õÄùÿQk\9f%?Qiý\85®\8b\86\18Ê\14:¼Ì}ß6\99+\ö]\8eäFHÓH¶Ú\1eº×=[¨Þ\80±\ 5\ 4\9anæ]½\86X\92\1cÿâ×\7f\8c
+\8c\96·ê$÷ÊZ÷¢ÚðÏÛþ ¿\fþ\92ù²¡·«Ø¾§âÌ´p~g\17]$[\98µùn\v䵩ΰ<õ®\7f\12ÒýU®»3    EiÙA«F\14GY\16£ÝÕ"gr×§\89PâZøÏ¨qïbk%¯\9f\9b4©k÷?Ak÷ý\8b_¼£\8bSbêIþ7Ä=º\80\97Å_.l\11lm\9bô\16Ã{\11ëVIñãF\14(\ 1\8eþYÕê\96\89(#­èW§%ÚàØ¶A§\90KB¤£M1$]\92¼§J\87È\10ì4Ä1ÌÑ\ 4_^Â÷é\ 3&ÐD5ÓKíÀ®=J§´>\ 56\ 19çÊ%õ(>!÷\9aâ \99;\fÐÙ\9c­\90äµìÝõ\92Ë\9b¥Y\v$ãmǪà|*ÒO\846w\8a\9eÆpÄ»\8fÑë$Ûìa´\96ô\82òé¯ñ­¢á-·~\rÉx\99\1dý\ 6f2*\1c[\90yÔ*ØÉª|*%\8f¢pàs8s:¨{\16Ø$\bN eôÄ\1e\1fíÐõlWQx{;\vÎ?Ãö\16Þ³\ 4ÿ\9e\1d¨y]Uë\85÷ïþzÜ.¼Î®×øÓ\8e\82Ü\8fÏZÜ\91¨J¶Ôå[^VUú\vt\1d\ 5º\ f@'[3\8ekOÿ«t8¶\1f¼\7fªÇh'µ\15-ÒöÕ<x\96éî"Án2´ÿÙn«w\ 1¯KÕ\96èþ*S"ì9\17  /ä­²üTý\bÇen\9a¥·}?Ò[­«\12Xttý¥»»4\9fÚÖÑ\8ban÷|\94Ó{\ 3U½T5í\ 5é;Ê[@¨ý~T\a\ 4\85\80ðÅY\17\16£Véo Ã(      ÆEáä\14Æ\90\9eìÃ#×¼6YY\f\19¡T=n\1aþ\94)\94!ÙIR^ýM8ô\13õ9ÎU\99ç­ð\7fÎÏÑUýkCÐ[÷ñ\96ýúzÂ\98_H¨\1d\9fbmï³Ò9¾\90Ú©-\94é%o÷N\r¡¥Å£@   \12¬îR\8b7{\85\81¼\82C.?\8c¸      Ï\9at\17\ 2?ê¸\11Î5\97BàÏû\97\ 2êÓ®Õ|,Ì´t\1d\81\98s\16\17öL\ 2kË 6­ÿÈ\88\82Rï=Ú\\³ùG\ f\9a·á!rìAJÒ]µýÅÁm\95À|n\16\94
+?1k~r\\1dÊH8V­ÿå$-\8d\84y{FðÌ?×j®\9fæ\7f\8aàíüu¸ûª\f+/ý\ 5¿Þ\82ßïAo÷ ·ûÿE¿Ü&n*+õ\8b\9di\ 1\8cu¥´Ú\8b\19â-ô\\97\11â®\ 1Ô?ÕK\80\14      \1d§YosHDS¹\ f\87¤OÒO8i[ø×KÔáÕ\\ 2ËÇ\\eñçÙ\89\10+Å¢\7f̸[×\1f§t\11­±Uc\12\1fK¬ÂRSapÊ[]ñ\84\94e\ 2ùT\19µ\93ËëGÚæ®\19ïÒ\13v\8aF|ïò\ 6ßË\1cúH\99F\85Uëâµ\10\93×\87k\12r\7f¾EG\0\ 1\9aBdR\f1\89\a\17pÃö\0°p\12\97\11!\ 3\ ffg°\f1Ì3\17Æ{=\86\11\f0\10\ 3\ eÍ7\ f\ 2\1eq\86\a DQ8\92\v\ 5\8a£\12\1aɤ"\10bÁ"b,\ 6)\10Ñ\12\ 1å(¦\84\ f¿ÿþý÷ï}\9e><ûqÍÍ8ç\88\9d:SÍwJ\95+kªsUÛ]Ý]][R¶ÃjWwXu§XuÇWW^u\87WXJ\96\9daµÖ\9bRÓl¶Ën6Ûm:·ø\ 3µµÕê\ e\92I$vÛ[ï\97\1f¯âÝ\8c»õ²\ 4ê)\92»­Åa¦ìÍä\e\1e\96È@.ø\98¬5]Ûú\1cH&ÃXÚ' Ã'\80Ø\1e ]³~n«7T×_nÎ&\83ÖÂ2ÂÃÔÿÌñ\ fzýµõV\ 6í\1e\96\8e¥F\83î*6\a\89߯åªWxÙ%7u¯ÎÒgÿ§\8b\1f\9e,Tx\99h\89/\11Ê[QøØôöÏ\19°ÉõjX[<MØ.®ýsÇ/¡þ¥]fO\1d8®$â-áòë°øv\v»yrÞ2~W×)«×\91\81á¢ë\8f(°Ï'0ò³¼\93Éë\96=íéõ,\12\8dZ<\9d¦Ðo\14Í\15Ù\86kü«ËªÛ\7fxêÝ\80\97jÃG­­¦\7f2Ä©ô¬Áï\14Íhúõ\1eÀ§\93\12Ú'\17\ 6`xJÌBø>\17×b¿û<ÇÄpØVÄjº«Ë]LL\8bï[\aß#{x®\1fÈìý|\19\93ÿ}Úã\99%êÑAÚ\13\9c\9e=Û<âã\18ê\16\1fø\12|\83Ì¿¸\8f\99ýÇ\aö\8fE\7f\89\9fßñ%b\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8eb\9e\8e\7f\94ôr|åÞñ\8fG;°=\fbËI\81¾\81\9d\ 2}5\12\9e\0\1dôS\8c=I\84¬¶¤ ðLßk²,µÔ\f»;Úbzé\r¢=}¡\ 1=\19"\9fMe§¸\80\93ÏïÝ \13Ò±©åüÎÈ\ eúÈ\9e\83Ïí,ïj\89ôØ\96zVgpÉé\96\94       î#Ƭ    é[Äö\95æzY\vÝ\ 1>WCz\e\1e\95åO\9f·\13çí\fû\10\ 1øV\80¥\81¼\9e\8dá\80\9e\88\91Éé´ôoº}wÓ\9fJWu\80w x O_Ëò\0o`pö\94ïk®@\r@\1d\0\1dK'ª\13í\8d+4\ 4÷x&z"\8d>\83\9aÏKÑ'°\1c\1f«Ì±å»\9d\13í\8dHóî\8cô{bà õåËF\aF\ 4÷ \9fõ@ù\0v`|ð>\97¼cËw\9aÖ°1Àd\0\9eª­O0&ñàtÀu wÅ\aj\ eÖ\a¹\ 3\19ïC;\ 3®÷¬y0KXô\0#Àdöksg{\83|`6¶Of9P=ð\1d¿¾O\11Qï r\0tÑ©ê-îÕïÖ[«\ 3¦;Ü\12\ 6ûÍ\ 6Ö\an\ 6ëÍ\84ø\1eø\ eÜ\ f5l\1að9\0:kb}/\9fÚ¾\ 2\16\85\9díý<{QùÀv¬ïo\8d\96Ú\14p3Àq@OVß½Ø\1f,\ eì\r\89\93Ù­¼\rà\ e\0\r\ 1í\17,\ ex\ e \ f\99Î' `»x\19p' \ e3àý¼ö©\f\aftvå\96¦\ 3P\ 5ø\1eø\ eÈ\ f¥n>=kVXú\fÒ½\ 1r\ 5è\1c\84s\1e[\88ÖÒG\1e
\88k\81Ý\ 1à3½Ï76Ot: =à\1do:\9e$¦[\0ð@ÚO\92\þy\8e¯CÖ>p>ñ r@tÀ{à:\86Ox§\91/zð; >k'½SÚmýP\1eð\rãá\88{\81=ÂDì\0\9e;QÛÀ\9flÎu@{°:»\83\1c!«[upc\82\8ck\1eá\9b]\ 1Ó\81¬\ 2xñßc\8f\fL\f\9c{\1e[¦Öð\80Ú\99=öß\19ÞêÝ(\1dh\18Î\84:p\17 O\9bB\1d\e'¿\13à\90\ eÜ\ f\0        íY\17á\ 1å¤\ 2\96\ 68\ fB\ 6ì\ 5À\19é\ 4ïu\89÷=n{ZcÜ\ 1à\ 1³ÜR{í»\ 1¼\ 1=¬W\9eã4ï\87\88'L\9f\ 1p\0O\95p\99Û\8a|°ñÐ\ 1¢\ 3\87\ 3\89\ 3\8b¸±ÙzÚÙ\90'Í·>´\ eè       ó4\a"\ 6úx\7f,\a*\aB|­í\ 1¬'Å\106\9b\92y9¿s>m¢\80à\80Ò\81ª¹'{Ív l¨Yn\8c\ fL\ 6tùb?\ 3\9a\ 3Ü\81Ô\81ß3½æ.\80å¤\93ÉÐ3Ä]\93ר¦\1d\9dï-Ñ\ 1î@\9fl\84\e0;ð'½}YP'\88ï}¨\1d¨\13æ\87G\82\ 6\1cÍ\93ä\r\97¢\f\8c\ fF\ 5È\1c8\1cÈ\1d'D\9e×2Ïrè2=\18{ð;\0; 3¿\10\1a°:0;\0<6O\91=0\1e®ì}-o\b\7f\81Ñ\ 1Õ\ 1>ÞÅÏ·´8Î\91\8f-älq#¾@   ö÷'z\ 3.\ 6t\r\17H|Ús\1f\ 1ÉÀëÀù}"{\8b¹\91\904\0i@è\0üà;p> \eyè(ì\r\10\1cx\17Àsàt`tÀ~qè*ì      ðtÃÃg{þmàn`e\0Ë\81 \ 3\8a\ 3\9a\ 3Wxc\8a\9aë\1f;Ò¾\10\1dØ\1e\v\18\19^\94òv< Àé\99ß\ 1Ý\98\1fH\r\96ò >\ 6<\rô\ e\1c\ ejòÇ\15:ÖÙ^O¾\ð±\81Ú\81åº`ÕÀË\81Ç\81ÐtÇÅC RÀîÀÛ:p·\81\9e\ 3\96\ 3V{ñï\ 3°\ 2wÒÞ4\rÀ\röQ=Ð\8fä\0Ô\ 1Ì\81øàt\0t`{\90\1dH\13ß]\9f\a\87\ 3\18ö\93æµX\1d \1f0\ eì\ fÁ½1ÅW67Á÷%z>¤\ 3Â\\r\94O\83\1c\ 6P\fè\1c¨\13ɪÝ?R³$"µ\96\80½ÅÇë»÷OEð\17è^eç6\95;Õð\9f»÷ÆKÈ=C\9fáд³·óüÇ\9cX\vú¹\r4þõv\8f8!Ïßgç6ØLlÂX\1aµêS`/|ÅH<:¸æ\13ó²ñøÄ¢gð*øîiö.Sñô°\95Í6\ 2ù\8câ\7fû6\7fÿ"gÄ\9b¼K§ç\93\96\8fÆrùLüçËɧîX}\ e\80Þ¯&ÂãËç·t§Grìôo\99^\I>å^ZgwÔý\µE/«\90ë²=K½\ 5YÕýãÅL\ 5îÙ·s\1e\1cæ¦\99K-ÝÅ&1Öu*þ\a-cÅÑ`\8b\82\86s5ÌÏ©Æzì\8dÊg§ëj°¶çúIæ´|Óí?YägÚÑú3õ\93)ѧïÒä\93õúÝ\92~éúì0¼,1XP´M\1c\93\1a=\vå\99môÏõ\94\eÕÕïØî\ 2ûº[û\92æµ\14­ Ë  \94¡ìÙuùJ\14³Ú\8a[#Ëã»Ä¾¯°´MhgÒ·\9d?§N~i;±\94}\8dϲ\8fIØÄ£ö\18ïm\1eXîÙݹâXìcË\ 4ì\95ju£®Ì\ 5öÙRõö\87\17\ eÀêxûÌ/\ 1{ÖF0@îA\85'\98\9då^\18Nã%î]\9eõy\161í!Mwì¯í\1d;ÿ*ÿ\8b\9e°_Ú:\ 2´ôp\8e\81?\95\84Üßæ\98\89ºªø¦/ª\8d\9cý\e_Sñ\92~ùùM·÷\85õÚT½É¥\ 2£\93\f%DÃ\1cÈ?\1f4`\1feqQJZ\eH\9f\93\85èÜÑ`³8\f=7Ȧ\91ÇÏg\94µâ3Òxæ\94_ û\16í­\f,\ f¼%¬¡JºÖ®×\9bùni\9fòùäëéh~.*õ\91i\1e\%­\1abâÞ\a.\ 2ôBLÛ\90ÿã±\ÿV\97Á,Å2\8dû§\11ZûW1\16\96$\13\84q\13\13\19Ì_&,´\8d½ºP÷_ÜCÀ^üëbå.Ú­ilw\a\16\87\eIo\8d\98:\96Ô²ù<«Í³\82\85\9d\96K¦¦   >n\vQ\89m\1eQ{É\9e\16SÒÂw\15%ÏrÎ7\93=\ 3\93$þ³2ýê \1fù\8e\ 1ª\94}½:a\7fôqWî°·ô\9bÞà/ÎÑî¨\13\ 5\96\92ðµ\7fg5ò)£]\18\ 2~óôiù\9d*¾y¹ï~çÍ\9a.\vÓÁ\88j´};3\92ÙתÃÙ\1e\1dM\89\ 6r»:òXÃ\ frºª\ eõûÅ\13\ 1{ü·M4uþɹ\8cÑ\ 1ð\1d©MQy\1e\ 2öÇó,FwÙ7'\89Ùr1³~^GÍ\9aK_i\9fÎ\89\99ÔÏÓ=JZ\89\91.ÎĺíE\ f¼Èï;\16¨\r\94yЦ:ªRR¬\9fëZ²\93\84l+\12}ço\8eÚUÒµ¦KÙ\a»\8c\8e¦\9bÁwÌÏ©K¬\99©ëU\18x\v\988á*iñæ\ e¥Á|GÞ/eÝ»Kôÿÿx\vU*ûOÂh}ÇAù¦[\16\90©sû»\8a\90û\99\92ú÷w\16\b¹\ eÃ2á´_;I`\8bÃLrùE"Ê'\9b\7f\86\98³K×#U\17²\9fnhõiU\1d\18»¿_\14Ö/\14Î/\14Ö/\14Ö/\14Ö/\16?ñw~¾*÷ìîý|\ 5ç³Ù\86*\¨Ö\ ej6õ\13    ¬7]»ö&¨É³\ 3M\99?{/v͵÷ÿ¹«×§cÍ\15­q«Ö\ 2üüß3:Ù }5¨÷«\93W,\ 5þC\9e\16SzºM[¬V'À¦¾¾Ï9\97Î<\98Ü?\8d\9au>Qõ\14©D¦©ÛjzlìUh:ªéð\93©³¡J\1c±\14ÚëÅÝÝ\9f\87`è¦Ç½0uÿÁ ]5*c]\1aÎ;Õøæ\80vÑ<s?½\82&!\9f\9eÁ\13\10ϯ`\89ºÖØ\96¦Ì^\ 2ýN\7fbä×M.²Ù\9b~\ 2ñóY\1c\a\9eâW\18ë;\83\9c¬\99Þ¯\8ccÌÿ:b\97\1c·{/×dZQãÄ\8aw¦m§ìÎ"#ÓVÖ\12\19Óà/¼\99Û86<y\9c\ 1[[_ÒÓ\7f³w"Òf×\80¿\9b\9fîñiw´Ø\91\9dIÓègûwöirû}ì¿(ÿY\99þë¸V\89ü\837,\ 5ç1\11óFá¾1ô¥
\14÷ó×if«Ðí;+Dê´&ÕÜÁÜÜûƺjçÅ«\?á3\12¥\8f¦é\85V¸0\17¢ëì\8f*)N\956\10f\ 6j1é\9b]ß:¤²5\9cY¥ï\12ô"\14õÆ\\98\v\9bzÔÚ\85¶e{¯2È\9b±:|q\99\16¼Ë\13ùYMÓü,¦éë²\9b§ø\19KfN\98\vçð5LÝeÞ%þ\98ýr¡,\r¦ze±\8eY© ÍÆÚT3nÏ+S½\©0\17¸c\12£û\ 6JuP\7f+\7f6!fo\ 3þ\9c¹q\1ck\18\97»\9b\16½¹\9c\ 2¾ôÌZæÙ\9c\e\95²\95Q\87\1eã\aâÒ£  #²Ïß\1dð²\99\87\e÷\ 6\1aw'{ì,rÆ\80Ù\Ó@\1d¤ý\15\897)ý«\98ù¨Mìên.\12Ëx\13YÉãk\92«GÖ\93ê .u©zX»®«\17uÕbü7]U7ývɾv\90à\10S\7fçüF\11ópÓ³ÎOÑ\9b\86Ùü\ eÅɹ\19L\80¾#â¿\9aEê.dÀ_!\92Ìä\95­ñ{'¹8HÝF&\82\90Ûlµ\80¡:|¼å\138\1a\1eÛ°±âù|£Z\94Î\9a\9f¼s4ÑLêõèsD¯5WA:\9d\1d\91ä½_FäÞÃɱogdx­    \92W\85\94î*zGo³
+\9a\16Ðã\85\94M\1d\92\8d§Ç:¤J§h\9d\85\80\9d+ÝE*Pò,Ü\ 5ð²\9a*:¼ºRü,¥ÍùpöÒ7¹k\95     WÊßê¸ÀË*\80Ë\17®ó\e\87éMÐUå\9c\16¯ç`\vo¿8\8d\9b3o\9aAe/K1Xâ\12mn"öÛo\85º©°\170\19UáZ`_dpÜ\vá\97¢Sx¾U\96\9d\84Íã&²ÌR\95å^SåÚ|\14ܱɬ[Í3ý6\ 5½j\9eÆ\13äýýÔGjä-µ4ènî!hzgVG\91\10êÒ©\17î\97/Ì*ö\95\8bÈ´´òïh*Ûkñ\18\9d­ÁþÓåí\ e73&\86Ü×\16ç¯\90\83R\97QJZZQ8Üæ\92ylï?7©v³\86\9d^.èÍÅÝ\19¾2§\ 1\7fV¬à,ÚÁ\8e´H+k\ 3ÞiDö\8e5\18\94ýá j)Q\91V   \8c©&JØi\15iÚEÃ,µ\99\12Î\ 6½VR©À4×\16W`/Öcc±­IviF§$\1ep\ 2ê¦Ã\ 1zV0\ f|,£÷½ÅHTp¦\99zjö\99dRÃ÷Ôü,¡H\9a`y
+[v0á\91S\81óÇáÄÉøZÉ\9c\f´\8e>V¤±\94ʺ\95\19aßï/7\16\11\7f\91}®+Þò\17þyú\1c§\ 3Zf   h®ÖU\15ó¼\95ÜÓ÷*ù_ÒW1\80¾ÙÆÙÜk¨Ç\91®µ\94\14ÏÍq\92\85R\ 5ª\9de\13\18ólí_=´\1c\rÏ ­JÚdÔ\9fN\ e\16\11X\1e&¥Eh8è8\9a~1Z\ f練\8aÎð\95\9b\9b
+ÍÒµY\84Vw\80¾Ö¯1\9ck\11KK\8c5\86z\86+\ 5§Sg^\82\90Ø\15\98\92\99wMetÅôÅ7ëàðØóAm¥\aÑ\9fMÿºw7\97\8b\86½Àó\ emÌa«à/ñeò³m)6\87       iª*Å\8d{\9ebt¸ï0çìa}ã¤êa\95[`/Ü=ÒO5Z,ÌãAHk\fó\13©¶CR¾Pÿj\97äáN®¢\94ýKOßf÷\9d\8eáý\8d\88"´T¹i\1a]v!R\96\ 2òOíÏ\15«öJ\92ð\17¶Mݨ¾\94ú±X­Z\a\9a\10vÉ¿/#fǵHGz¹*"ªÜM´\=\2\9dì'o+
+W\1a¬ãÜ\99\93\87èö\1c¥l\92ú\1c\1fÄaúá\93çË\ 52\aÂVL\82qÓ|ÆV\1a=8\8d\1f\8d\9bû\18TÓÁl§\83\r\86ÄUJdÆEHõ\9es3ªd?ÈS\95\80¿\95\8cJ{\f¦þb\96b^\97\810Q·u\92\ fd¦ôo¬ùH\88ø\vò¯;\8a\93\1c¶Vo@ð¹oÅs\e\7fUÕx\8e\rª¹Õ×%þ\83ës8\9f\1d\8b\92æ÷¶m\7fLMáÀöÁ\ 3Ú\88ʵ\14V n­<zÖ·\vgiòé|8O/É(ÖÃ\80\1a¡\8fì\94\8aRQ}¯\86\9d3»ü²\9dUQ\rR>îçI=\ e\ f5ú² ÕalØöð\98­Hn\99
\aÌЧ_\7f«»ç\8c\8bgO\\91:ûó\86äy(\7füîF\\ 5ã)ö¸t³Ó\ 6ÔÊW\PM\80¿\9d-?\96æ'geÝR5Bu¤éª®©}íÏÚú\9f\8c¥\ fO1$ù¼\85Ï)\8dw\8c2¸¥ìSY.\82\93y3ð\1eþ¡\96Æ\8f¦t¶u©\92êpû-\vJ\99\81¼k¢ù±ó\     \8e\1f^n£ïÎ/îm\ e\rÔ]\95ö#«J\1fEúø\19âÃSF¿Ü'\94¥\9d¡\8aHj'\8cªQ\1c\e\12Q«^\9di®ëÂÊFº4Jáã>Úgy9có8ãõ\Î\9f¹¹\85\86\9d\85\8cÝU¥*~)\98oøÉÑ-c\9dİn$2°®\86Ú³±N¬³\96±¶©¶õkKcÏ_å£]\1atð´-@Tâ\ 6lyìÜóZ\12à°±¢æ±{WSÿ\1a`âøÚû\9c_û_[cøüa¤n\9c\90*®Ký½Æ{\12ÔÌ\7fq\98þ\9a\1em|n\ e.s\189ÄØ·«F¬Zý­\8dY\9aíÀQSµP¦BõXαRµ\94íîZÐá¥g\90\9dR56P)RRÃutOrv\f6Ðâ\9f/Éb6LÛ¹\85\9euòÕ\14°²}ñ4­#w4ö'Ñ\11­éZm±\11±4©F¶ÒÚúñ\89\rp\17é(\8e46Kî n\7fq\ 3\88\14Þ̦²o°\89ÿÑ)ÿï¹<\94\19¯d`ã\1dh)\f\89ÞyÿG<\99êy\ e×É%\12ý÷\97¹ÖÏÛî¾\rÓüj]×÷ \e
+\869©.\99\97Z#ÖÿY$ÍM¶º\9e½\81$Ǩõ\92)­2Ó\9c¤\90\15õX´«\ 2\ es\99\ 2r'òPRw&o0m\13±Ô<\8bÅ\7ft\90v\92A¿&
+)­\93O\97\94ÃÔRù\98),\1a¯]U\99¥½³pßÇQÓ\81\9fï°^/dm»ë\94W\1fâQÔ¤Ïgxê_QþE'Ô¥Ùç8Ê9#\84òT|Ìæ-Ù½Ï\86\9fQ\1c~\14
+úJ.4\8fæqõ5zå-Ã
+\7fàSZrzå?¨ÿ+\e.W`§µi\12lÖÕ\94-\89¥ö\12ìOûë¦Õ©\88\9fù½w\90ëa\85m2Þ\8e\1aM².\1e\1c\8b\86{{M\91\8c\81{\ 4\>ª0öôÖ²ØóÑ­Ð\1cû$\sÃ/\9dP\13ÄF\196H·n\99\9e¦ºÏO\v§Õ\8a¹íÖ\ 4óÐWT\a^\a\fÂd@Ï3Ã/\9afHµ}Ø\1dH\1d\80\1dË<3      ¶\ 1\91<Ò´\ 2êÌ\9fEkz°5\96d\91dÏ]°ç¿\80\17ö¥\96¼ÚÖ[uï\96[~\ 625e£@  åÒ©åÓ¹ô­Êyuï»\ 2|ÇjÝ\80Ï\ 1\12î°      ãøZ\0Ý\80ËóIï\7fßB}.asUû\7fó¿\ 3b¶,µ¤\rÌ\ f\90É\12Í\8eå«\0ËÛXóeNÁ\12\8e<       ê¿\8eíÎ'ËI½ó\9cOZ\fù\ e
+è²Ç¨Ø¾Õ\9e\19l¸ø"U°6\9brË[Y"E\9f>\14ñÌ\91\1dö@O %Ý\7f:\1eß\9dO\f´o\80\\9e<µ3Ã-[o<\1cÝ\9e\19j\92\8aÞ²×P4 O.aõÀO.~ä~\18`àtß\r\8eK!¬|\80¢ç\80íÎà
+óë-\95\ 2xþ6yz\vu\ 3B\ 4òöÿ\\a\82\ 6G        ð/\80÷À|&H\84~\90\eoB\1d¬
+\0\9e\8fµj\0\9e\8fÂsÀu@w@wç\87?\9fª\92!Yîf¬ú\r=\95gp\vq j\99Ü\ 2Ý\90\1e\18\19\19\0µ\81Ò\81=ÎS`\80\9ea\9f>\ 3¥\91Ym8\1dP\1f\19\92\1eYó@c|\ 2è\ eH\ e|\ fÊ\ 3ä2CÇ´\89\96­§\90÷ÀO"
+r _²CÃòÏ\f¿d\8fs,\v\1e\19~ÜÖZÕtYcȬ\vMÔ+`rÀjÀé\0ë\80ì\80Ûz%\96ø@cÉ\ e\r\92\1d\1dä\rì\v\808 9 6Ñ55è\ eÜ\ f¼\13U:\ 2ø\ fÕé\ 3á\81ÚÉ\85\9d\92\18\9eh òp+§\ 3®\ 2}\10¿È^\18å1û\ 4.½P\13îÉ_d\a~\a\aÒ\84¸\1f\18\ eü\ f-yYkx\1a\105\0uw\94ðËæ\80\ e|\ eÉ\92\16\9c\99ì\8cÔ\vÖw\ 1gÌgp\14e%\ 43ÀõR\8cwÉÖ¶H÷Ǧ\a\\aÏ\ 3\89gp\11}FHPg\8c¤=¨\1d\90\1d\9b;\80\93çÞ\8fHe\ 1ýÀï@ï\80ú\80x7¦(\95,|\17\ 1³õ)Ü\a[X\1ek©=]}\88ß\81\8dø¢\ 1\ 2Eð@\\ e\98\ e¸\ eÞøÇ¸´µ¾\b\1908 8 /\80\9fwò>\10\1d\98\13îÿ¶ÔÎàLº¾\9e³v\13¸\13'p$|ÓÃ2\9bðsp:°>@\1fy*\1f\f\ fÊ\ 3²\ 3;\7f\12Y\81¬\ 3»\ 3pp!¶\ 6L\fð\1c\80\13ïÀ\aË\ 3À\ 3ÓK,µ\10\13ì\95\92Q\9dÀa\8c\98\10\e\ 3\89r Ö\a¼rÇ\9b\805¹©\90\87\ 3Q2Ç\9b\8d\18\0è`tàu@z£ä\87¨\ e«\ 4\17°4ÓAçæ\93í>\ 2Þ\ 6\88\ eH\ e¼\ f\ f\ 6\9dÀaÄ\81ú w o½Pqp.\80½\ 3\8f\ 3\96\ 3T\aB\aJ\aN\aT\aÆ\ 3¹(ùÁ\1d°/HÎ\86^\aP\a_:y\ 6Æ\19\9e\10 ÀÑ3¸\13:°6Yá\rp2\0o\aÝÆ¨\1e©\9e\19\96â@\9f%\85ly5û\ 3c\9f\11S\ 3x\ 3\80\ 3:\ 6\8c\ eX\ eh\ e|\ e\8c\ e¤\ eì\fwV\1d\8c\ fÇ\ 3­g\86k6sì§lûJ7>jrÏc«ç°Fð:°;ãÚv{¡«>,Õ@ë\80ÊaD\ 6ÀÈÐ\a³\ 3Ú\81×\81µ;\1a°5\0m\94\r\\18\1aP:\0:°'Þýß\f\r\9dàp°=¨\1d@\18Ú ÐÀ÷\87ß\ e(\13ï\13×\\a`\ 4ø¬MÚ\81Ü\81ô\80ðÀâ°ÁêÀï@ðÀÓQ\85Ü\r\8a\90\ e\1c\ e<\ eø\ f,'ºË\ 1øàm\9dh\83X\1cð\1eå\9e\19\94Ú\84ú´\ fOD\8bø\96pt;gr\ f4/\95?ÿú\b¸ôh\9aCDVÖþ³ÙÛn\e\811þ¿º\95¸_\1fúðÉN\ 2ÿ=\1fI\1aÔh\87÷ÉFÝ\1c\14xhíѹcú\9b±?koÝÓt\v4\8a4^\90ÕЬÚ3\fýv\92Ø9ƾº4zhðBëÁG¢\88ǹ>+\7f\80¾\94kÕñسñæèêÞª\96?\e\86Im´ýÆ\1f\99ë\15\92q\99CÔ]ñ\8e³¯Pq?5Hìó\98\17øTO¢ß/H\82«\96;DÊÖQ~\0d>\1a<ÔJ£Fúv[bæ©\18ÞÆe\13h\99\bYTJ!ò2Cëí\91\8bx}||ÓÔxáYÞ\ 6÷õ\11T\87s\1d£\99¤P¢Y\1dZ0,9ÚYo\9c\8d\1c\17\ 3òQöÐZ¯~\18«D\aU1ýxÿ½CDcuiüämC㵩\95c'Gó\11ö\82\93à#m\ 5\98J'Á\9c$e\996rY¬èÂò]4Ö¿°ÔÜÙÃ\15¬øÅæ?Öá\8f*|äÌ«\vG        çj\11¹§\81\84\93\1d\97\97x\8a*\99<qxR¤Õ0òsL;\1d\89\rµ\99J\e»5ÜÒéçïT\8eQ\ 6ýÆM\924,\9b\ 4\9cU\16=\926\9c\9aÈ[$Á\1aß âåé}¯×\85¥Ø»i>sÿï!SÉ\b\ 2¿xbÀ\7f§b«­å\87mà¢\e\ 3\8e[ò~R÷z\ eËyaêÚY[W`/þåÖ\e\ 3NÈ>Â_ý9\94Åf\91\1e®;bå·¹ü/N\9dizrGÿè?Òå±^§þORI8¾ëÔÅz\7fqéÕ(^ÙÞÉÄ'¹?r÷)%\8eÜ\99%RÜ\98%\16×=ÙBÉ­$\1eîI\8c\1dïé{¿ç\8b?¸õ§Z\97­º2^\9b\8aõ¿¡ël#Ï\1eÉ6ÞN    6\8f%\ 4\9b7ÐEzßöEo¯|\8c\8d\81:7\eØìkHÿµ\81KÖ¡ë\r6©     ©>\9bÞ\9a,\ 6£7?GE\82i\16t:ÄkÑ£\12¼ÕA¨cÆ'RªZ\1aDB©Û\81Fd>\vdêþôkõ¨ûc_è"\89\1fY\8a\83:Ävá'Ý3OÆ©\14Ïô.\9b¨N\96N\94?\92\8dÐYZ^áihÑ\86
+)¦·ôê^äé\11¢Î\16n\96ã+Sz­s\98\84ïö´<t¿àá¢\99Ë\8fé'¨Ñû,T\ 1M@Ô»ù|Ø\98\f8m`stÅ\9e~\8f\85\94z\8f\16\82vY+¿ÿ8h/\ 1\93Ä'½«\ 4Ç\\8dºþê6¼\9f\a¡td\15\88¤ª\162¬A\a\f\8bê\1f!5»Ì"s\fVͪFÒ[AV_w*\1e\91}5·g\11Ù\87á\99\br­ò\88op\ eà/Ü1
+\9dêñ\8bÀ\àpÊ\83uÁÆ`\ f\1dc&\v\9b Õ½G`\8bØ`-\13ûL(RÅêBÓ\95Eòb\91\ 4\9aãT\8cS\97È\99\9f¡F]\86;>\8apÃæÙ°\89ÿi?å2\ 2ÊP½DB\7fkQC\90yã£ö\10c6õ   GÒ      ~Ó'\9ad\85Ù³_\ e\1a\8auú|R\917î²\91\89\16oÂ0÷±ýª­\94ïðJg9\ 6Ä7        ÷e7Sg,ß\92ËË'\9a\82þ¿\86cÙÈ678Oø±õHê¢\8b\7fÊGÙFØIÓÁG\80\8fÚaëUbF\9dÀëjs6²\9f¦\12gî­ÁK\88¢¦W\15YXþ\ e\1a\8d\99~w(Ñ ,ö\8c\9c7êW=(\93ÍJûS Ç-lb\8eï;×x.w«ô\fÂ\15Viqìe\9bÕ©6t:p)\82\1c|\1c\ 4Ï@·SÄÛêØ\vÊÖ¬*(ðùA3à¡¢-\19Ñè\840÷Li\7f?\r*à/AØ\92\92\9eÑ\99êë\9d\ eغJ¨ép¹>)H\17½  \9d`\94\ eêP/\10m_Ê^Ä\84»\9cD\8bSÈÕ0\83LpÓ\a\9fêÛüÕ:\r±vöýÏØt4ábkÚ:¡«\1c´\9aÑ\15>;²¤§\a*\8dþ>3\0h|ª\83\8fc1\ e\88ZQñxg\83\17\86x1xg\83\14¨#\14 #\14¨#\14¨#\14¨#\16?ÿÒT\11®À\8cÅYÿ\1aÏx\83Y\r%;´×!ûÜ3k\80¾Õ\9b\1e\94ßôís\£øZ\1fÎS½ïÑ£F¡\9b#\9fs\86li¯\ 3\94ïëLt_­Ý£ÐFÅ\1d»\15\186joF\8f¶G¦4i¯¦Ñ\97æ©        vÛ\935?é\10ªðí\94ÿs\ e/îqNfgÓ\81mQP\a\8c¸Ê£'-{CiW¬`nZ°¯±AÁz«o=Í\83Ëi3gƳ\8dÃój\9f*\8eý\9b
+\93h"l\1cÍ\9e\eX.\15[\rûEG\1c\f\13\11¿×\f×JÎ
+\15§\8bV\ve:{ò2è¬\99ÎÏ¥ÇkÓoP³Î~m*
+­ÁÓX%´*P8\886tjý\13ÝÔª\8a¡1þ¶ÇiÂØ\8bVøJ\13\Láè\19·\190%å\11±s;-qpõ\1a$y,>Zl\~l\e%\1aDlçðh¡\bt\99«Ò\9b²MÆÌ²ÕÿyT\aØ\82:p³¾:<Tz<K(Ø»zcú8d·\ 1\7f¨$\13Ñ\89\1eÞ±\10TÊ÷9Åüá?¿jÚpÚ¦>5HJG÷ízç8\98}ÿb×¶\15Ò\1f\ esg>\9b\1c´²ÔÚT¼B³\8c1Õ·\ 3)d¯\11\7f\v\1dJ/hn×÷ÚÛÕ\98\vî\91Ü\88¿ðPÖs\ f¿\83k/ý®\7f\17\86l?ÍÃ6\119û®\8a}«ªU}Z·\15¤\13\9dìQòĺºÔ&ãåW\ 6d®R«îºgô¨þ2¹\89¾sðÃ\að\ 4KmüR´{ÔdÐo\92yçæC\9b{%iv\8aÒ*½íz\8b\ 2¹©\9b,ߣý@\9d\85sG\10®\8eª^6\ 5tôÛKØ\15Ó\7f\89¢Ý>ëE\87·\8c°Ú<B»}{Iãíâ¼+ö\1aö\9a¢»9¡»\98A+³\9a5fô%ôóÞ--ÞI]î/\fxâðÇ\8e/\fxâðÇ\8e)j7ó\16£`.­º\114\ 1Ó`êÕ\83\RÓü^\18êÅÛ½\9fàÛ½\93\94±ù\88ÛVåÄT[9\8fÆ5\95Ç\85dâµn\ e\96¹\a^ Äŧññaí8Ýç\88·è\91Ý#ç\85Ot\8f)\8cI\99ÕËÕ\9a\85rlüS\8a\7f8\96³GÜHc7¾¡5\88Ó\96ËI\1dFIöòe6Ç2uªÙÃßÄÌ ·\95Ѥ\82ÀL\90oB¿s«qÄVûÜ¿ÉË\95å6\93ü\85>\99\ f`ª8\84\16.Yùer¨InÅ9|²ÑfÙÄfâ\10\96\9el6ÔºìXpÙ8.ó\v/\ 3AW,\14ür(Põ\97\17*lª!8ªÜFrÓªÿÓ\86)jh*!¥\9c;,rР¶´\1a\84òu¦\\94Óßí*é+s\ eoXÌ9Õ"S\ fOÄy\95aBaæ\84\aÒ\ 4Îc÷\94Û\b\80ýèqÄ\86úl¾k\ 3gC\rE¼i\1e!\8cW_tŵûXBt¸\9bi\98\8c6Güût'ÉU}ÆÃÿmº#m\83«\15¯T\8dK\18UþÛ°Uµ<9+\7f\1e+\rW+*͵ÄÍ\v©S0{k\16î¥åZÖ îI\16j\90MZÛ\13\16\1eü¤\e\ ft§U­,þ¡\18@ Ö8z\85Kº­i\87:nEM\99é>FÒ"\8e\ eµ÷\12\vm«é\88mO[óæSi?\17n\9ebíÓÉ%ªÚhkä\vÿñ\80\9d»uXTFÓ-\G\17
+&×\87¯bm\91<\8d\83¤·F\87k\ 6\8b\18\10üvdõk&nÙ\80\97£sÛO¨\81c\99bÎ|ÐÁÄqP¯Dã9$`\80Ñ\89\ 4yÁSú\ 2\2\9d\9a\82@Åý<1¿U\ eû\95n1\8eÀÁ·à\88\ eðDÊ:vKtªÙ(\15Zo\9bMTº<rÊÊÛ½A¢Ó*\83\91sy[\93[öø`\86r0o§´hò\98ÆuÊ\85¦þ&\9bí*Þ±|_T\8c\7f\12\89¿#dÌ\7fÌËÿ\ f\f=ý¶fpCºÀ¿îCaîÑ\r\8f×±Öò$4\88þð\8c\ 4\14\17½¬\8d·ßï\fb\1d\7fº*â\1cvE]s¢\8aº¢\89óé\1a\8cs\89\14i4Ò\8aD\9bM.\8a(\9a\96ï\92Z\9e­÷=Ýå\12êâ²²\fb\18ë\15u\8cC\10ê\18\84+"\8cVXA\90rT1\ e¸ê\10ª\18Ä1\8d2ÔHÆØ\9b\88C\1cC\9fß{ïÿ¾ûßo·Ûíöû·¹jåÏ\97>\89º«ª?Ô\95Y(ÈJFI%\vHKl)\b\18LhL\bAàL\bR\85¸\17\ 2\17
+ä@\90¸V\85¹T¸¶ã\+\8dr=@\1f½ÖÙd\8dÇt\8d?²=I\93ì¼\89lß_S{ñ\16(£ne\b\89í¥Ì]&­êc\9a\93Ü}ìyÿÙje\8f\85\96Óó¦>Óιo'w«\9f`\9bWà(Tcf\0\0\18Ù\80\f\ 6\15\19ßp$ÝýK\1fÒr¦\8d\95\1fæI\eê\8e\ 4ÖI®i N£1ýw*\8a\9a¤z6.¬J+îÜ¡ÞiN~\11W\ 3Õ\95ã\8f±V£}¹ceû±²ýØñ¿\f\86<oÃ\e\8d\97îÆË÷|¦_ºt\ 2ú,'|ÿN\8fûÁ)SB@\a\14\87Mcè:\16­\8eZ#ñÐ\10ÿ8¥îë\87ó\85m7ùß\9f¦±ï}\8d\86\91ä4\ f·±ë\²ÅíH©¥\87-\96\9b\föT&­\12\7fÚsÏ\93Ö­=ýûÛ/à5\8d\9f}ì?0¯öoÕ\ 3½ÿÃýg)\ 6\9aÉ\ fÛØþ\98þvV(%Å<T¡P\1a\7fÊt\1cú\15
+7|:´0ê\88)`*\85>Ù½æ\9føeô&SñòÙ£Â\ eÚÇß9Nµ
+\87\9dFm_­E6³,P\85ã:¢\1eë÷­\11\ 41\9aä\9f\ 1Õgí\97ùÔeBöªõÙ¹ê\0Þ2ó\93^=\9aÖOhâ\0\ 5ZÏÇeæýÿÃ=Ëéa¦?eÑ\97ù5¯)\90Ñy~tݯÕüè²Q]å.\99Í5\ 4^ÿß\8d]QÇø\9d\17c\9e«Êüí\8e\9fßòÉ\96\rrº|û¥|&*?öÚ_˱÷\7f\9bìüm\aôD ûÁ¹ÿ\9bCy/Ó}¡ª\aë~8ñ¡¬xÐÖ<hk\1e45\8f\1a\1aÇ\8d\r\86±ãCXñ¡¬xÐÖ<hk\1e45ü\18ÐתÑ_:\15{3{ã®\a«%rɼm\8aÀ\964!7\8cAæô$ÇÚ\13¡S7¡\80¦Æ~¦ô'æÈ±\9f®\\fÀ=(\1d8\1dX\1ftJäÓ|\1e\99å\rçCè\13yÑæoh\ 2Mõ_¯\85®\1aù¾Üµ@\9bÐÍS{
+ô\ 3àW\1fÈ,\9e;Í9ä\98K\ 6óP\97Þ\81ËàG\17\93.o7\88^ùN1\86\1cøq=óc\8dÀ\9bß[½Ð\1fY\82a\8d \1d~       Ï¢"\16\rë  I¼ñgÁq¬1Ë\ 1Ï\13.\93Û\9b\19¶ùÁÀ`q\80Mè¾ù¼f\aé\0\9bä('ßùÇ>\88\80\81Ä\93¡oõ`r\84®µÏ\817ØS?h\ 4Þ\9d´\99]Zo\9d\rÓxÍ¢o\84ê]y+¨w wd˧ë\80¹éè\98\1c\98\13=ïÜð\1d)+®{p=A2ê3+£vàp\9c\81Ùt^Ô\ f\82\agçÆÓ\ 3Ñ×°ÇLXÌ\ 4ß%\10vDèZýØ\1d¸\1cV\10\13xyÇ´\ 3\80ô#\9fÀ\9bãE¯«\ 3±\ 3ÇáGÿ\ 2o\9d\aã\8e\81Àê@î\0â¹\11¯\81Ô\81Ú\ 1À~@×ÀçÀõ`v%\8c­p\98f\18å@\9bé`®x\1d@\1dv\18ß]ÀÎ}\ fذo\v*Ì®¡Æ\13.³êK\19b\99]KÚ\81ï\80ñ8s«ªlÀç   \97a\9béï\8fb\aÃ\ 3aèØc\8b2¹´Ìº?\92\1f\9c\ ft\a\ 2&RÔ\81Ö\962=Ø\ 1ð¬\1cy\84®+\96w`Mô \ 2g\90×\8c\ 3¤\ 3Ò\81ì\80ö p^\90G\18\1cÉ:\14ýP\1d \1d)2é³:\14½\80\1aîQ\869\108,HèÌ\ e\94\ e\9c\ e°        ¼9·â=0ÕÀíK\18üíÀ÷Àw@|08\ eTqX\1cP\1cÁ+\98u\85\8cvs~\9cGY¾\85!}@à06\9e¤m°5Ø¡Ã`q&ø\95~\ 3\99\ 3¬%q­\8fª\1dA\93¡+Ô\81Ö\ 1íÀå¹v\18Ñræ~\eFôN<l<Xâòt%æù{AðMâ-Î0H*\ab\ 6»\98;.\7f\98\a¢\ 3­\ 3Ú\81ÀcF÷\ 3Õã\84S\81Ù\ 1Ú\81Ü\81åqâ\12ÀÚ\81ë½Xä2VüØ\81´\ 3Ö\ 1í\89[ÛÜ\81ý\8c\81½×q;¡\vÜ\ 1Ü\81ð@îò\ ef¹¦8\9fXv]W\\a\8c\ 3Æ\99Ð\83\81Ï\81Ô\ 1ÆzѱÀõ\99\11Õ8\1d \1dÀ\1aì\93\fa\80ã@Ú\ 1è@õ@}À\1d\80\1eØ\ fv\a\8bæ\87\19\81Ì\81èÀëI\;º\ 3\85æÍ÷\11\f4ó2éòW\10õÀv z®pw\86\a§Ê0Çf\aO\95\eì\ f³³\1a\18\1eÈ\ eè\ e\ f×\bC\ 3Ð\81Ô\ 1Û\81Àå\98c¸&]\a\81õãO\ 3´\ 3ßeÄ-û\ 1×8\ep>\10\1eG0:\ f\ 3×\81ã9ÑÚx\1d(\1e¤      ¾F«ó@z\9exp_<unNl\ eÐ\ f\83\9a:¶×.\a`\aÃü\93²è>\98\ fp\a\8bdtÖ\a8\ 6h\1d \1d(\1e¤\ e¤\ e´\ f^\a`\af\a¸\ 3Æ\13 ûÓ\ 1÷ vR\ 4W\9bâ\91¦Hîì\ e\98\ e¸\ eì\ e\ 5¡Ð\18\1e\98\ eÐ\ eÜ\ eè\ e\ 38wAÇ\86\ 3Ê\93.\97\98\ar\ 6Ä\99t?H\aX\a±\ 3Ú\ 1Ú\81Àg\86Ó\ 3\83\ 3\86\ 3n\a¼\ 3ÈJ\1fì\ eÄ\ e\13>:ã\ 3¥\ 3Ù\81âùñ,x\1d8\1dx\1eì\ e\fMíë\0Û\81Ö\ 1ÜK; Û2¶ÆÎ`ì,\ eÀ\ eè\ f,Øý`u\80y{S|\9f¬\88'\ 3Õ\81×\81îÀø@p½\0è|\ e¬\ eÀ\ fr\aÔM\11\16\a\ 3ÜÍ;¨ÁÜ\ 1ðL\81\1e\9c\ 3Æ\ 1ó p z =h\1e:xÿàu\ 4ˤðÖö°:`=`\1c\1e\84LF\aÚ\81ëÀòþÄu¾\a°\ 3³\ 3\83\13èòÀtº&\v6k\9aí¶zRä³>[¡W\99I\96<²Lb7ÈÐU\98°Vu;þZ-n]¼ý¿ìèaÕ\9bÉÏÉ0þ:¬º¾þ\ 6Õ\83Ñ[p¬ÖÔ¢\ 5¿ßt4¦aBhÎ\8böN/6[pô\1cÄ[ö\8eV/BZ\1d\96\9e¡kËêj\1eYf\19¹       #ém,\81~\aCc<³\7f\8e@\8b\92[,äÖÙb
+tU!F`]>PUÍ\91\1eùÚpýºHðf¤çõ\192\86-âßí²ë\15\10è²\92\ 5\18\f£g¦Èõ«\86]Zt\19\f§9\1cävp\91\8f´_HcrÊ\1dM½m\1dt=¯@¬Z^\81(ÍÓ¦ã_Ôát?¹*:\9cÿÿ²êÙIX\r«)ñ¿\13§ÉÇòÝÒÑ\ 1o°FÕE\9a3A=±e`ÖK+TÞ: ¾l± ûüÿ\8b&\0×8\90ñ6åÒú\93¬ú\ 2\8aSý%u\9d
+fb_3ú\f´&{ià»\12ËÛ+eÒ¨e\1a\8c£? ã(ÏÌ8±/æª2\8d>\a\v©\97DÊýÎ\1d[-Ñú\:¶\ïõ¸\7f\1aïCm\11\ e\ 4\7fÇ~\90¸í\18â7éÂÞt²²\fÇ(Cðxu\18â¯éðê\eyÿÖìÄù¾\8eÝ3\87À¨\9f\ÔwL°%z*2í\1a³új\99\19|\9b\8dN)ÅÑ9¬;FÃÄà{T²Ý3ÿr
+[ÚÚ\9d±\17¨\9e`\986\ ez£#û{a¾Ë\ 6à\9d\86\8a\95   ýõK×<¦ó\96DÑë\97ÅEeð¹ü\98X/ýzndëP-¼æ\1d\v¤©7zMÔkøû\ eé\95òÁ¢¼çóëið²Á\17ºw\95Q6Ò÷]+ìý\a\9dߪ\8döÉ\r²s9Ö\4AFi{B\17\9d\1fJSyê\19\8cçËe\82+¦s6\9e[O?^7L°¦ÿOÄ»§¿×ûI8¿E\1e\95*éæ\15Müí\ 6X\a9)Îô\1eRÚQî\85L°M\17i:\12<ɪÉ\9dÙ)MQ\82êUÚ~T·<\9a\8c°7\rE\v\ e\8aµ>\89,¯Õ§\19_ª:        S       Y\9a\96\0Ú¦r+.\9f%¢Ußêez¯É"z}¬§¡ûGpâúås\85\95Û¢\9c\8bIenk\8eûrì6®ù>«\ e¦\86Wbó+¯µq\r34\91\857l®Ý\9a9ÆÞ«+·~cZÚê)¢Ì)â[£!«îwÅîÜÎç~Ú"\16y\97\1d\83yÚ}ÜÄÊoÞ\9b\16{´ýï\99M»ñ/[\85Tªë9\909\91Ûöä\8f={\1e³ðÙ^\vU\19^\e$d~×ÄU\9c®2^epçΣðÌC6\9eo\8f«¯¿ÐZ\f\94ÿû¡\18Ý\ 1\7fûº\ 2õ²¬ùåÍïMo`\96\9dOíä®:-\8dÐ\1aƬs\81\90¡P\1eo\8bS~îPtXRÅU\1eJU\80\8a\8e¬s¥]\ fý\15\96롲¤3\fL¯­ù\88ù;\99 ëÿkkŤúOçà\18Õ\9bñ«7ãVoƬß\8dY¿\1e\8f :ýÜ\81ã\ 4û8§l\82WG\1fÉt\15ù*vQ'¤\1at&\8cäÛÅè\13\7f\99`Û쬯×;gþ¥k\8a©r¡\96\ eðh¤¿°ÐË    b´sÎ\91\8c\19îGWJîaS\9d\9aH/YûË|ö\8aá<ä\1cì¥\1d¯-.Ñ\9d\fx6JP\víÜ:\ f\14\97­\8dW~»y~:\86\ e»>\97HoßìÚÑÞsݱÕUù<²Úê¶\1fUJ<}\18?y\96.\9eö&znýÑÊ6E\ 4²\12Çêäo®\ 2ß!½=ͬIJAT0wØ*TªâdúZ3t\vÐ\12\86X\92\88\11z9ç¹É\7fA\96\e½\90Ùâ\8cÙ4õTCì\19\rîþ.îâ×ÉW4ÚºiÚ\8b\9e\97å\r²ñ/\ 4`بäÖþG&ÁÞ\1c´Ûm¿s:xU7Rv\95\1d\v\9b\9fÌe\87¾D¢5²"/\91²kdF^\1eÉ\83"BðöL\19\12\97\87²q;ΪÞt8ñ+\97_t8-Ò¿YEío\ 5Ðà²G':\1díý\9a6ËT\99\7f}ÐæÁÐ/  \â\82&\eÖXû~®màðl\13A³ÿN\87^u\1c\81¿{r[u7\8dá\18\8e\88\rw¢¶¥kþ\84l©îçYK(SB©®s®\87Õ{õ¿\8aB\ fõÝ\10+i¡Ör\14Ý\ 3·[¶©dHð2³Ø§yz\95\$³5\99c\8e\853Ñ¢{¶]+Ã<ôjȽ²\ÔZ¨Ë\1eß,ݼtC/\96\85ügDCöa/\94ùð\97\ 3,\81« ·N\88Öî\13ë,\rr´àî(  y\96I¿Ä|\9dÏ\ 6«`Âè\96O\ 3<\16Y*ºìl\13\9dF\8f\19¦\e´ PúÎû¢w\99eKì²\9f JÇyéVú¢ûÌÄ\82m\93\ 3ÿ|\9aÞ
+T(e\95m\117ëÕ?Úq\0¦ÒK\94çЬ*\8bú¶j@Jà\9cüö\82\7fyI\81û
+w|,¥à\14¼°Ñ\82¹úú\17½0\15WF¯Îÿ`R\93¿Øê¸ÿBD*h(˶&v\93>¥AU²Ï³X\13«cËJÃͪ[Té[\ewV\1d6îöÛ)ÔÉ\eÆ\br¨l\99\890Ýz³¬¢ \92òÃ\95äÝ»t\19b:Ö\1eðé,\95!YiêÝJ±\95\90ÚÚ¥E¢£þ\1f\9c°ë\86MUr\eÐÂ\82ÀTEê8\1eu\ 2jÕH«|G;\14á¬:Xç^\Ê­\83+yb\8a\84\b
+ ®þ\19þ\82Ä\ e\bñE¡é\88dæQ´\9fÎ\94}¬§EU\18áÙ§X>±ñläÔ°ñ9[kë\11×\8a\95eÐe¢<Û\91&ÒHeÙ¨O2\8e\19³©~\9fi¾Õj²Ñø9-ª\94»Î±ká@½ª~\9däa\97\96Ô¬\1dg¹aºÙ@}}\v      V\936\ f\98±o_`ó¨\e\ 6\9eÊ}k\17\erúÝ\97\18ae­|\18UÎR¶\ 1¾Ú0²×\7f/z­cË\1aÆ\97ë²×ùE\ 3­\14ó¬%[nÛ°×:\9b-\1djãKx¡7ã:8\17ì\87å\95\92ª­>Õ¸ÖÊÆÙ+\9f8©CÊv£\ª\fµ\9d\94µ¥VËyÌ"ËuÒ;\85\82ÌØQ)£~ÉVÉ4\11ÔË`Ô]Z¸)E®\1a¥\8dUwÖwî\8f\ø©~K¶ý/À\r\95;/6wî\8f¦Õ,@\15\1a®\80¨5½     ó(:#º°\8a}G6RßÊ"\83¹N@Ià¿ #\09Îhs¨nvÊ\95knPÿ¼\89óïÙ      fÍ­ºW~ü\89ê6Ù\87®»\ 2:\ f­\vðu\13õV\ê\83ö.\væÏL¦Ö\9fm0ÙÝʦoÆõNÔ]ÕÚP¹\8bAÞ\\ 4ñuaÕ\92Ié­\8e\88ÞZ,ýn\1d\ f\94é$r©iYò\138\8dÖPO\84¤6\ e\19á²Ùxvì÷$\89[2\8d½Ýþc-\95\16é÷÷w\e'R\12ËJ¦5E\r/󿮣3Lk)ØÖS¹R¿+mÊìr\92\82_ÿÜ¥~ý=µ\11×\9cµ&¾\8c\9e-þöRÉ\86Íþu*Uö_}\96\8f¨\92\9f8N\83Ù¢zþ¥\1eª­cÞ#[\91JÑÝ\16g*Y$¾ËNOøÏ¶l\1cú\88\8b~ÃÖ\1aí(h&5y?Ìe¤ðV\99\93sÕìK/\95\1fGÁ`ó4\88ogo(¶Õe\7fì\95?\97ìtÑPö\ehبv´]\87©\r'^\9bîõ\12?¿\19y7\vìT\80gQعé\1f\9f\83_¸]°Þs=ë,óû¼æ|ª_}Îñ\10\8c7\80Ë0\7f¦\ 1ä§O\89\96^ª¯\8cºg\18o\9dfÎ%Q\89äGºè\ 5\9aiÉÕÝFúo\91¬â)ÜD­\aFª¶y$­Ó^¾ïl\90ԹIJïtEËn\1eÇÊ£´PòÄÕ»ñõ7z\10\98\7f\87\93\93³Vñ\8aÕ\8cðC_¿Ý0[7©jCwûx\vQ:»\rYZ\1eóAàn\98Ö¢÷¨B_ÀË@Þ£J©=d\12?¶­æ      û\19:tÍ\185\8d\f´\rsBÕB\8b·Gv·@ßíkSöîV\9c°-5^Ùð­9d9ûe¤ÿ\95¤\99\91èS©ß-;á¼­ònJo\9d(\1a\99f)â¿.â\ 4f\e\7fW¥Mº¢\8b-(3XvÚ¢N\14l\9d{\84\0pÀ\\8atay'\b0ÿ\93¥\18w\1eIË,ùe/ûÇÝ0éðÁü[\ f\83Í1­QcZ¢ÆµE\8dj\8bû«TXQ9ø»\99m`½\9bB#Å]|µNqu¤îå»E-|\13"\82ÔÅëßø     ,ââYÔå-\8bjØof\19µOÀ\13\få:@¦Ó\94\f["²? µ\8fÊ8NOmC\85áZ­³òÖ±xâï×ûV°5k¦¶Tò[JCM\b®ü­Åy¼Fùk*\86\8c\11ò\8b »MæëÅÔHMÅZôí~Tå\1e¯²Ò{ËÛSôÚsÍ9î¾»Ô\1aùÃg\97)(\1f\96S|c.å!ún\8be\15é\1c\94Õ[¶u\1aj\8b±U£>NÏ8Ú*å(%ÁU\81yÿ\f0\e\12PVÃâAíZ[<\9eòK]\ 5ÉÐZ\1a²[qº]ß\15ÒîÂ\8f\87RAoì­\8eßJ=­\96^µ¿e¥ó(iõR\8eÿqÒ÷ÂO*Ú]\1f\8b[Âz8\92.ñwF³P\9f°é\86r.¸(~l«uä\9cÎF¸×-¡r\8e\15qó4\19gl²\94\fõ±d%¦\89¯þ¼qÿu|\13XÌþ-¢ñ=|\16°ï\1d\95\9eêEfeïðZ·\7fø2ÎX¡FøÑͪ\17é+º\aú;O\98)¦ÔB\97\ 1§\9c÷]3\9fôjwF©­ÿ\ e¿\92¸ég\83±l>~Ç\84\84½î·óÅU~ÿG\8dq/\1aâ^5ļk\89\12ñ®%ã\KƸ\97\8dq/\1aâ^5ļk\89\7fÀ¸\97´Ò_.%òdË1LéÁõ\80MçT®ÜÞ9<þ\13\fr\0MðK\v\91\ 3ÓÑtàæÌܼq.(ñ$¸£³\ 3\99âÜô,U\8e\9c\99d\8e;ÿÇû·Y3¦ÿ7´\80ý\90\13}ϱà«\9còDÕ\83|?þõÀMì-\9eÜ       ¼eúâüÓ\fyÐ=P\13yàro<<³?\86ç\87Ó..$ù\ f\1dß\9bsêjµ\8d\98\1dÖ\b쯴Þì~ô@v`w@}Ç\1aÃ\1d»®\9c\ e¨\ f\13Ç0Á¾àjóDéÈæ\ 1èÀë\0î\0ò¿\889\7fÏ0Åp\13|b\13\9bÍñ\9c?\9e;+é7\9c\12&öSç2\a³%ù¾Y¦m  pÏÒ\ 1Ùþ+\f\eî\1f´ÞÊÒ\9bÉyS{/Ë\86\ 3\8e&WÂo¤Ó=\b\1e\88\ e¨\ eçñ\86Ç\ 2o®m]x\1e´¼\19ßË\eë¥l\ e\aÐ0Æ \rv\11\86,\0\9bæsO\\ 4ß\ eò¦øw¶Íz\16\18Ó\81Ý\99pÿ\85\1fì\ fh\aÃ\ 3bL¬ç¨7Å|8\1f\ 4\ e\1f\91a\8d\10\1d\80\1e4\99Y/\\aÃ7\97$\98\81í\0ø`l}\10ýàz\80;\ 2ðfï\ eK\84s}kG\9bë}\7fT\aeE\95\86\9b3nè}\19ýÈ=3§\vì\80ø\0p\18\81Ë`}. ÿhñ&tás\0éÉ\95\90ì@î\0ñ¤ÊÅLʸrc´Í-\81ó6.\10\99T\8e`\9d\97\vü\81:p>h\ e\88\ f\ 2o\82S¾ \97\vý\80\1f\ 3Ò¸\85Öc\12\a\18gMÞ\ 4ÞÉÍ\9bË\10Ý\80\1f\ 3\94>féä\v3b\9b3`É\ 3¬\ 3Øúc²¥\9aãx3FL©wÚ\ 1í@ñ<³\fw\±¼ß\ 6a\8eø\ eä\99RI¼¶\11®&T\9bÇúsy¶°Ã\1dM\91þ£\9cM\99µq@v x\8fR#\1fÕ\ e¾À×âÆß\ 3Çã\ 4;\81Æ\81Ë\81\96\a`\a¹7ȤÑ.\12ÌÊDzÐ>Ô\ fv\ 6ÜË\84²ÌÎ8\82e 9À:Ð; <v8\7fòðe?¼\ 3\87Ç\88{\ 3ÒãÜñúÕ\8d\9e<þI×c\0è\80à=hêÌ\r\90\1ch\1cÑ\97\ 3àuÀ{\8fZwM?<\ e¨\97\0üQ¼\19\1f\ 3Ñ\12à\ fJ\a¦\ 3¦\ 3Ô\81Ó\81Ô\ 1Ô\81Õ\ 1Ö\12à\9f\\aÜ\81ëÀö\0uàx\82tØæû\13¡èòc³~ptßÎ9õ:ÊÇKÎ9õ;\1aÇcÎ9õ;jÆì\ f\9dÊ\b×/\ 6ZóYEfg]I.\15÷\0pyQË`f\ 1Ò\ 1Ö\81ÁÙ\88[³sê\81µ\8f~\a\1ao´q³x3'\96\11\a\a\97\eÜ\ e\ eC\ 3\87Ì\1f30Ú\ 1êÉp\9fÛ\13¦×Å\17\83/úÐ:Lɾ.e\84M\81æ¹ã|1T\9f3\ 4°o\98hÐ=\b\1eì ¾5òs`u\0{ ;\9bCºlüó'ó=jÄ\ e\11
+ Mô0C\89\ 3ª\ 3Ù\92ào\f\aL\a³\ 3Äç\ 6Û\ 3«\ 3Þ\ 1µÎ\8dÎK\80~ ³./µ/\ 6?̸\13Ù\ 1íËÁ\90½È\1c):j½qf]_s(H\ 6\a\95Ï\8e\7fÏ\9f2Þê\0î\80ñ\øÞàzà; <T³ºj<0\e#|Êù\81Ë\ 1Í\16eÕ®/\ 6DíÀë\0ö\84é«Í\99vx\89\83[\ 3^\a\10eÁx\19\80v k\89pwÖ\ 1ÁÚ\88{/\ 6CýÀ\1eø\ e\1f \10\a¥\ 3®'M\9f\82\9a#\9c\fÐ>è\r\8cá\15àxùâ\aÀôÀ{\a={æ\1f¬\fÛc|\7f:\1dp'\8e\ 3$\ e\94\ e¸\ e¼\ fx\aÂ\ 3kìF¶\aV\a\89Ñ\rö\a¬\ 3«\ 3×\ 1÷@}è\1eÈ\ eÈ\ fl\ 4ß4\89\88î\9b\1eX\1eà\ fx\a9n7¸\1dÀ\1dØ\1cÇå\ eg\ 3Ý\ 1ð\0ÏèGWàx¯d!L\ fF\aN\aº7Â\0ð\9fW)¤`¼þ=:×\8d\92lòþ_\83=ï-\96Ùp¦o\9eñ¿jÝ4\9fÛýµxÆ·éÿ5Âü¢&Ç]ôYù%Mª>zTDñ.\17ï`V\17N"xmRánS·ëg:_¶Jì\95\r)5¢¯Êu¸[.µ\945ï3~¿\82ãjá6®mG½p\81¦[\86X§ni6ŧÉ/ÆÒRÇsÒr\83\97úò0ÏmÜu\ 6ÚIF`<Ål­)m\92\86ÓRµ\8ejO'ß»af\97\83Fh'ßÐ\11\8dÏ       pã\90rºüÔ\98\17ªß\14ö\93=ù"Iä&ÈféÓ\8f©pÞ¶¯Þv\9a¯%È\ryp\87$\90ß(rÙ6δÌ\9c®ñpöö®úá6-|ùñ\95mJM\17.ïëêtç|\ 5Ä[T×\11r\13\13k\D´êâ%\97aMjX5õö\84¶¬\92?çA
+L½ã§5\94D§íÜÀ_ꧬV\89¨;\9f\83ôn}a|²é¸\9dzK\8eÙ£´Ï©ç\9d\ZäI\10JÉuW¡clê4\1d§L%Y+\1d\99´\1d0\e>7\83W¯-eþw&©qÒßÍå\eÿ\ 6\88þ\97(å\U@Û\11©ÿÚå<qc´¶\7f¯©]\ 2\7fðskë\96\9f±\182DÓlüÞKBæ_ìr["dß\95Ô*\99\94\9b4]4Ï\a\95VJ£&án®\8a\ 4õ\979jÐÕ\87/bUì­¿VÉ J#aâoÔ.V~\ 6ñs6Ó´\1fÔèIPaï¡/ÓkKe¶WX5¸\ 6\aK\82¹·O\1e³JF¹i\9fµSj¡[×£N\9b>\8d\ 2Ó\92\12\e\97३\8a¾¬\979M\vtR_(\9c\85¤â'øJ^ës\r
+áe\97c\1dï\ 6^oa\16éÒÜ׺\87kyº\84·¿t·êÜ0®iÕ\155\9c\8a\10ë\ 3¥»f\8f\14È|TÝ\ 2ód¹µ\91E\ 4cÞ¥CR·?\eüK\9b¼\9d
+\92³h\94\b½Hå\v\11Ù$DfuËi 7\94v\96*-Óü\9d\8b\89¥±r4\14     ²(ìº+\9f\fÄø7¾úçîÝ'¥jé.)\0Þ\96Fk¼Z®\ 3S¦C4Yíªt_%ÓZtlÖ˦ß\82\94W¬Ôð\9c²\8f\13\96eçÉ!\16·
+¿\ 2é\ 6éÓ  ø¦Q.\91f;Ý\fÔ£¸gR\945N\98Í\ 4'óÝì^ò\rU\ 3\7fUÓ'Á++NÖ\97D\1dó$Ö4ó®P+ä\8a·ûDo.üôwK©TlÔ.¦ß\90O0çÖ\eMÝN;Íu\vª\96è.ªk.§í\8a¾«t\9bbÎ/{*]®÷Y\81q\1eÊOU×)\89×Ty
+v ³w¾\fN«°~v\94\92|öûQ\86Ã\85\9d\0îNyOw\12âMù\18î\93í(âtcGÔ\e²¿Á¨Ì¼ÿ%Ó:Û;!\1d\9f\ 1ub¸ßZéÌÓGçîgÉ\87¡ØuØú!\83¢\1fûÌÕïx_\92´\1c^Ù4+Ö\939RÝ6I:Òù4\97R¨©#µ\e\97 'ùFD§{¢[Úgïºku!'a\8c:«ªy\ e®åëËìÐ}S\91\9a©ïè\11<iÝtþ\84¿Ú'U\8b¢Ù$ö´m\9c5½n5Ö]Âë-þ\81eTè\15t/Þè\1dª\14IгÅÑ»b\92òéöÀ\93)xÇ\13ÿvTi\8a³ü{®ùu¢fæÛ\9fw®·è9Ë$!\rÜ\9e2ÒàÅb¬Ë\8d§X\9fþWW|Ë\94\92Äó\94\e\922oG_'q#\9f\95¸j®\9fþ§\ eßî\18ÖÞq®¼ã]yƺó\8f¿ø×^q®\9dþÚëÏ'H\88g\15\9f\86ºém'Å« y9\0\ e}Î÷ÿÅu»fW]=ý%ÎN6¥£zóB\89ë¾\9d\7fDöY+~W¯­u³Wz¢¢~=Ë_\ân\87^[\92¬\82'8å=u$çÚ#\8b7\88Ôà]r¡uÆÒnßatâ¯\10è«Á«\15ZûÍßZFÈM¹\rÙ\11\9c;nM;u?\93\ 6ó¨¹ñ\93\9e\8a­\8c$\986Di\8eÉ#ÙZMAz×+o\\15Ú\91#*<\1a\1d3¶3W\86Ös):\82\15Eò©«1ü¥×[Ý\8e×ïm¿ç»¥©·JÕtâ¿R-~Nie<¡ö[ë\7f\17ü\1cG\88\907æw£\r\92\8dï{¨U2Ê£q2¥\13Z¸mV\89ÿev'\7f*=eØ]þÁ¬»\ 3ál\18\17_|-\83ó\1d;\8c\17Åm\93£c\90\94¡«×Öp.¼lÝÂÏ,»\88\95Þ)GÆÜ\90c¢l\95.°`]\8d­\9fÔ\99
+ºÑaþ\15J²¤4\9e\8e\97\ 3­ã$Õà\17÷ú\19÷}ÞùþÅÙ«÷\ e«t÷oÇ\1d\9d\vÛu^\15«m·Bñ\97"D\18*\84\96\897Br\r=\1d%Ú;ûÅå\91Ý\85KsÖK\8doøvòpÖ¿ÕvãÌ%×û½po>\99P[×ÇòÒº;\9fq\87jÕÐ;$vw(¨\ 2ÝQy\88\8c¦©W\vt]@\9c\94\92T®mûd£`Þé\9e­Ü«Î\9fôô\7fçQ\9a^êë¯Ê]Òå¨Òç¯%ç¼Pê\8d\ e\ 5ÞÛÛ&%ÂJ \1e'Mû\ 5\ 4ÕÓ\83½'·\89w\92Ò\\98\÷H\82Úv\92M\9aI\0ßåÙ)zDp.ôà0Q\8b5¹Ý\18IùpóÊ\7ft<ò\9fË\ f\0n¡íüØOu\ f¼'Q\1fÂ\85Þ\roÙ.Ìß>\9c˹T\92ÎÎMè\9f\8e¼\ f\ 1\97\r1\14\14\rí\9dÄ\90÷|εà^\8e\92ð.Í+\ 2?\80;=Zð.UC-\95\99\14 vT¼\vÍ\92Q\9d\1e%\91ÊN\1fq\91AFâÓ¹O}·o¤T»÷\9dJ¾j0Çí²w:
+\81_u\18í\92ãýFm÷\95\1aÕ\ 6/н\97@±n}.Áׯg3'\98\9a**&éA\97\9c´Öëzhu®þZ£\9b6W\9b;Õ´O6¬\87W~¬§µý\e³\97­Ô{¿U>u.èTM\8a\8dÓ3zirµà\9e,¨z¶í*\1a«Á6ÝǺj¤\17\ 5\ 5|Zf\11:æ­f\91ê\92&èÒμ\92\ej\93>ªðíûìµ\1aÉÖ±\11Ä;\86PßèeKÄÕE«$j+\9d.\81ù'ee\9dBVx
+±ì<BT×\89Qb\98Üʧ¶I\\1eº\91±m\1d\ 5K3:´\86|¸Á\8a\8em«WUêV7¶ï&¼¼¯ïhwë\ 3¢[U\84\f\1d\84¡wÇ}3[ëÊ\95Pq}ybüV©Ôâ³âæÛWÈKñ\94\12Ø7\8bÉ\98\b\7fY$í~\8a\92òu}f\9dyKÁ\9dÔÒ+æê\14þ£yß\97\b£fË$EZ\95¬ÿqyv\89 ò\17\13¾½\b*^fÈuy\9aü×ð¯2ïáíû~\9b½\8f*£ª7ò·LkË_¶ê\8ds¤½Ó=Ç;\17\axòn|\1e\ 5­¨Ë¨zÞ³Lþ\16í²uÕ\1cË¡4\vöoïïu®\94d\92ì~\1c\10\9e\8a*ª­§:\8aó\85TUÑd\1f\95\95®åd¤¤\8dö\8c\9aÚ]R\9bT1ZZ©_Þr\8dze\91«nNñö\eÇ}çGÚ¨ÔÆ%ç\1f3O\82þ>õU\9a\9bWÿnæ\1eæ%yVÒ\.\fP×aI\eVÙ;¼\13\9e\96ô\ 4ã"fÓ^\83Þm·¼!\19n\8d\90]^¿aë\r\1e\10\92Ö\87Ø:¯ú«Ð\17àþîA\17\8c\90\19æj,^ÕÐYéMí\8b­\16\93    ³wÐÆÊN\ 3Þ¥#-ÜG\9bwkûô¸eêá3¨9\ 5\14k*A«¾l+\r\ 1\9f\1eSxes\82^t)\8dÕ|+&\86-íñå¥á¯OÞäû2QB¼W£\7f¼~Òõ\ 5\vÓ^a2\16µ½ènÁ=ìÚÐÒü\88Ï\8dz{\1aôôÄ^¹Òð \ fÿ\17¦qK\82wQÛ52È×\92«ÞiT©COùeß¶z_\1dz^Ý\aTÊô§¿yzVüóïÞ8¾\80ÍyÌ*¢Ú­´Þ4¾\88ñ\9céÀê6«43{|äÖ÷Û%zRÝ\aº¢\85g]k\17\18¨7ªãÌE\81êõïk[mÿºA\10\84Ó;+\96ºëÓ;èÉf\96        )+\8aºë\92;\12\89'\1cMÈëj¸ë²M|\9f¼\92óI{ÊûÉ'bÓC\fÃ!\bB\8ce1\86B\94\84\19\b2\98£ ÊBjR\10e(Ã3\18¤\1d²DI«\1cdÖ;\b1\fþûï¿þûîýÞû¾êêóòóóI5\95UgY4%\84\92ÂiaI©HS\14ÄØÁ±\8ac\14ÜMÁÜ:R\98Á¶Æ1C]ÃÅ\f\17\89\88^\16ü\ 3ÆánFäíÄÜNÐ\aïv¶[#nJüþÿ»uL¹\13Åè]SKçuzcÌmý\85"µÙQFÊè:Kõ\90\99¦SÊS\8f2T{.û'\7f\1f\ 2\1cç®ÓMÁ_vTÐñUJ\ 3\11X6SeAº×\8dñxt\87ìÞ¸ÎUu¦bLÇ(â|Î\11ÐEÃS\89\fy+Ú¸a¿"\eê\bØ6\8c\9e¤%+\8at\94ÄøD½\9bûðûvN.ÿ\855|~Ä\80JÊQq\8f\9d׫f8N·R¥~˱o\90u\16»«)ú\9a\ e\9dº¯\1aÙ°w£R·=ê\84\14\96\ 3ÆR\92¥r¹t\9c-\1aÏÞÏ«\10»ØÁ¹±Ô\9d·}\19Óì¸o\9a;ôþl_\eÒý¹+ÜÚ\1a\rkã|_\83
+øßÍ_\e±\11ké¯\8de6¶U\8aTD6óIRb*ö\ 4\87\97hâØÁg³©»·Uç\1f\ 5óg¢¾/\8d4½f\89sìýSq5|³\1akæ×A|òê\1c-kê\97WÑl_A®µ\96É˼§Jú¿\88¾\91\82¼¯\89V+\1c§ê⯣ÓD\87ª\9c¾\93v\89U\vé\97£¶W\0\8eV\ 5ô;4{Ëè\17«\89R¿\az\0z\ 3÷ëa\ 3/\9fÅL\1aEÿÆüÎx\11>0Ý\\8c\98WÍ0¯\9a~Úù¦\ 4sëä/q\eLÞøJ|\9fßî^ëçzêù}ú\17\7f-|Çæ>zµx\ 5¼(»\95Y*¢m±rí\ 1æ9~å±N`\9eõB\1dººëãh{w4K\bfSEó§9L\1dá!SàBxÅp\91\1e\ 5óË»>¹¼²p$\8bÏ_^¯ko\14ä\85±        \82ò6Åú<\1fì_V§ÄÉ^®u\vKÉÈØÅM\9f!ÉÞo\16\9eWD9     ´qqBúû>c\91Æ\8aƵ¡\85\96]^\8aÉLô£ìÜ©=fñ(ì\15Þ1Jé\15mÕA¢Ã\98¹\85%\1d\ 5]ñJ\95\96ß\a\ 4\86º#ÉGIÒ¬ÆÍ\18Ö¾\93fì»Z.µô\8c\ 6!k4\17 ¾}\9fuxså]Ê\9b\16+.­yz»\1dº\ fשÝSu{\7fY|úñ7ÊWȨ\86ôÚå\9f\97º4´¬õô\8f\9f\aq~r^Ö6\ eÓ¬Ûÿý_OW\93,üK«çßN_AºQûýËêôà\92.K\85\14×ÒK#á\9dà³\87\19é\92\97Q_õªE\7fã/®`Ò5åÕ>.\12úÿJV¼³\tÛ­[]\13UspI§,¦äé\8aB\8cµ\7f»G:ò»W²\9a\7fÛRQ\97ÊÁú²8E//Rò çvÕJ8\14&Zf8H?+ý.­¯&\vëHÆ\ 5\18l·ú°c0\99þõÁË\bÃhAÿ@V5#v­\97³mIç\11¯ÔUÕ\83¦\7f?\91óýÞ\17ÏYwÌÃÉ\7f¸W²H?3ìÕ¹Áß\13ìÔý?·\91\1dy\1f\16\15òü+åøWËð¯\97á_/¾_\85|¿
+ù~\15òü+åøWËð¯\97ý5òü\9e\12ù\7fz\ 4ÙµÒÔ\15Õ\90ü\ 2Á+\1f|X\98\0ôelª&÷\9f^o~Ñæòv×\99ãÚk4\a6l\9bFqçñ\87¢{eAØ\81ì@\9bÅ,N஫\97\96üf\9aì\80\9bÞ\93¯\1dÈ4Ö[\90Cíçî\8b\13\ 6}`\13x\ 3ÿ69\10\r\9e\14\9a\9fÇG\8bÉSg\86\ ec(Ѽ      z\9bÀi\e[?P7G\91\e\16\9dõ#O\8167²Í\9a\90>3\92\e\1e\aÞ\81íÀæ=R-\96'1êÑ\89\85=\81>Ùæ¶Y\1a¬±ýX\ 2µò\0\9bÁ\81\9eè    ¼X=qþ°h0&Ç\1e\1e¼\ eû.ÓTÞµ¦²\86º£\109 4às¾´ù`\ 1jİK\ fúþµ\ f¶Y±¬Ûb\a\\ 4Þ>ô³`MëäÌÞ²Õú :R_+\99|§×\96   a̾[Ü\eÇúq³/"\ 6\9b×4ÖT\ eü\r¼A¶q\10¾W6}\e{nQ\18\98\15²ª\9b&O5 zb¶U\93{kk²\ 3Ö\81Û\81ã=xÞ°6`M\8e Ý±[*ÍO,!ü\ eÌ       ¼\97´\9aêaMäÁ\17¾ü¤[*δ\ eÜ\ f\19ì\aÿ\ 3\ f\8c\8a\16¶ÀMíR\96¤±0'Ö\95Ô¶íÊÙPM\89\80~|±0\ fï\0ü\0'ö´êWRòke1ÔS\9bÛ\eð\8ar¶S\9d¥9ýn\fµß\15Ô¶æJêYl\80\9bÛ­ßiP\8cL!í\87)\99^e¦\8däæ\8f³6; K\13\ 1\8d\1dx\13c¸ï³\ 2oa\12\7f\1c°J\8fÆscG\81Ï\e\1e\17çö\99@7l\ eÌ\ fÃæÏ\8bòV\8d\8f\f<ÕPá\8c\ fL\ 4ÞO\9díJÙEzð=\88\1dÐ\13\85¿\ 3ɶ¾[Ø\ 1í\80ø&Á*~tp\86\aÄ\ 3¿\ 3ÆûAÁ¸\1c°\1cÈ\1eX\ e¤×Q+\9e\10f\a\ e\13\ 6ý\91­\94÷Ú\8fÎeó\19]=\8e¼\ fdoBóe\82S~ð\ f:WOBk§\81ï\0å:\ 1±àyP:\90\a|\aOZÓ]p\13y\90\ fø\95¨¶L\Ø\eÐ;`9\8aö\9aÒ\16%÷öµçÇë\v\n\80\1d(\1dx\1eÜ϶ÿD4¸\e\92Á)þÀ°J>kd¡ÍX\r\11\8e\aâ\81Þ\81åIö\833ìÿ±Ñ£(ã¦öÈë²\ 3Ú\ 1ø$ûKö ~\1e\8d\1eâ:~(\1eä  ½²bíÀî  }VkdÑÔ\92ú\8f\97%ó9°JG\98Ò4Öp\ e\94\f\9d!¼ÃÜ\b'\ 3ñ\0î@ï\0ïÀú¢¶MÓb_ÎÔ\ f^\aµ%ô\7f\11Þ\ 6H\1d¾\94þÇNZº+dñî\80ï\80ú¯n:\1f\81é\8dê\1f\98Ø%SéFé\81÷Z\81ÿÀö {\90;°&öð£d\a¯\ 3ò\80ñľsï\0ñ¾äo¸\1dÀ\1e\84±/·ðM\82S°5ý@ä\9c\ eè\ f-ùciÀÞ\81ï
\19uÞèr>\ay\14\90Ö`v iÌûE\92ùÏô\8d\82S8Â"Àí\0ïÀÆ%ó\9f\88Kç>D\ f&O´]Q±.ÆKès["¬c/¡Àõ@{\13[#m¢1/\afl\12\91Ú£\12ð|¼\81Ò|\ e¬\ eÀ\ eì\ f\1d«\1c¥\81Ø\81ï\80ø\84¾sË\81æ\80\9bЧ¾\88\r\88\1fÏ\ 3Ç\8eÑÙÀ:°:ð;P;\92Á)>ô\ efà@\18\1cà\1að=h\1ai#ÿ\96    Jû :\89\98\1dÙ½\vå\\8d\9b\ 3Ç{±Ô\9c\ f¾\ 3Û\81ðK\ 4¥z@?\9cX%#ÏÌ\11Ö\a\98º\1c)\81Ø\817ªºÜ¥Øýwfòê¬9§¼\eÎ\ 6Ä\f°? \a·\ 3·%òß\1d¬\10\1e\ab\ah\a*O³ù½W\93í\0öÀ{\80?\1c\ fê\81Ü\81ï\80ï\0ï\80ÉêDm\92ùo|l\12\99Þ\9b\1c~\82+Àñä¾[¼\ 3àþb=\16f\99|·ï@å¿4@\18\1d\80\1d\90\1f\ 4\ eS«C\fshJQ\9d\ 2\88\a}\aÛÕ\f\9b\9bø\96UMmOOô¾:'ÌÆ,G\1cÿ\97ÁÆÜü\8f\87ø\97Ó:b!eBMdÔ$6Ä\86\19\90¤\9b{ô&èq\ 2ZýÈ)®+èi«#ÚÕ¹Äi¼2´¢åc\95æÊ §\9e°\99¸Û£Ù·\e×ò\16î\9d{îÌj¡Xv\11»V&4è|»2Ã\ 1\9d\88\19ã\96\0^b\1c\9f\ 5\18`\8dA.Z,\94þõW\92»$\95A6êqOP\89\95Zj\85¡\ e>\192\ 4(-oµ#ì¶Mw½UíÐÝ\ f\9b\8d.6\8a\15PqU¨x«ë´G\8dÚ\99¬ÓL\7f°>\85\92G\84èäÎB\8eïÐO3\9eUùôܪ¶NQâM$âu\ 5f©.âV¶¡²n\98å\ 2ºÅ8¿v\87r\98SX"¿ª\83\1cÙ\rà\96×\17î­};P§ÜÏ@D>·\a(WwHä/©ôÇ\9bNµ÷½i\1e\9b\b±>\7f\19ó\ f°òÛ}÷ÐÀ_ë\1a¾\1fý\bnúupê\95L\8e¨éO¸Î`¤mÞzÑÀ¾±N{zZÙ\14·Tì\85»ÕA\9dii\19
+¿u\19
+tjíÉPWfÕú¯÷=.\8eÝÙjY*äΤñC~Eh)¼vºÂè§ ·\ 6B¯âE\14     |Ñ\15\1fÌm}\8b©9%É\9e\19zDÿ¬oÿ¾û(øÛ\7f£o\ 4Ä~\8eÞ¥}cövôÔÂöÊ\87ÿ¹·ìáN1\13ÛÜ}(\95\94O\86Ï\9dº~ŽÓJú\ fìÄ\9d\89ú\91ú;n\95ó\7fÙÛ~\88ä\14\9eÜ­|²¾rV¾]âî\1dyv}´W^\99j¼Ó\16^UÍ\87\v\12¦·gXÝÅ?S\94w3¥óÞýk\92
+\86\10\ 6;p\96þ\9b\99ÀëË\1c\93!¯b_VAù½ú»\es;M²C\8a&\11ß(×í+äºP\17Ò·Ú\r\9a¾;kìÚ\82Ð/-\12Ó\87XxÊ8gêI¸Y^\ 6wkÈ«U(ê\14F½¹IiC4{lE@÷göp\8a½í\91Á\92W#\ 6S\8aHâcMÄÁOÖ\87õé\1c>\0ÒQûõ¸\85N\8föêDv\9a\14ïÏ,}2ÌÞ_CÒ×x|º¾¾Õ¨àèÓKocMN\98\ 3\ 5S$ÖIß\ 4\94G½ÁK5Bún9\1e\a§t}\aâ~    \9d)=\85ÆÁ%½ñJõwçÕb|ö`\92\8d×â>¬¤ûÅ?.o/¦ÓÆ\1c\95MY§W[\99\8d\9f\1e¡àuA\ 4\rë\9cûÄ"ÙÔ:¸èÔvØ<3²Q]9å\eÇ&Ó]åòý\82°\10\e$õÉ:Â\98n\82Ü\9bç10\9e\9e+ï    î§¿\eÃdM#ü\92\93\ f\89[Å9x¨Ývn=é`\83Vè¶^è¶\8d%GÿʾW\9fÔU\1eÒWoOÆlÂCSÛ\94±\94V\8cèNÝdê\Lѯ¼\1a5-Ch\8cØ¥<]\vß\1a\8e\ e&\1dèl\9d\14\8f*V¾=\8c¤U*?
+uý\vcmdÎ\94Z\8cZ"ý}=Òü~ñzfÌ\9b§dðôúø×Ó¹3Í0ò\9d×{¤:\17\8e+ ÿGÏéÊwêXò{\fL\11q¿Ñ\ f§)$nÐQØ|ìK »B¾Åô­b\9c5xçá\85Ü'ÉØ}\f\12~Ëo\ 6¥¶D««_OÿBÙ\1cì?m}\a¡qøéºáG\8eG     ¼]#\ f\aø¼\1fÿÚú¿Fu\1c.\84õêý
+\97ײg/\89ú\ 6×Ó±pa\95údú\96½ùû¼×\1c\99f¸ä\9fö<\1dG>Z\ré1/ì¥\9f7{\18¥Ý\85Ú"{&ð'c »\81½\1ew\ ewa°m}¯lI!ÚÅ|\18\8eQ@¯\95\99\85ýÉ<\99\14ì/(Üç\15¯¬n˼\8aç\r¼ü¼ÁEO\92üÆý\8d¿Ç~i~Ƴvl+Ëï\17iæóÍ÷%ZùNì\94Õo?'3øS_       ©Ûºâú>\86\9d\83¦nM³\ fÝMïã \89ã_\9cCC^ÒêBÉÏ©À\a\ füÛ2)¹õù*q¹n\8b¤Zp\10:üKó3x]\89åi¸m\99¦\15Ô¬+éXWÒ°¯¥açÿù×Ã,!]£úáØ¿Ã±|î\f\88µà\97'%ù¿¸,\v\10Ì?éî\89\19>\92     ÔÔÅ»ñ~úûDË¥\1f\fòVÝ]p®\93·6zX\1aòño>í³\8b»'\a\99"\b7am\92ÒÝÐk_eÌ\9aü§\10'©}xèU#Ì'7¶J\92\97onI\9bT\91\9a§J\9b\10a÷çã\1d\14Øî\91\88Ä\9dR{\1ev       ¸lJ\97ÝÝßÓN"!E2\1d«sÓèÕiÈRûFKwÒ?3\ 6\99µ:ÝÝ_>ª\9e2«aÙ\vðBë´õoO\17\92á\rù ¾­­+]\19ëSt\a\9b{ <,ÈU\1eÛµ(ì 9¸\1c\12<¦ÕZ\9d8\ 2)M\18j_\99ø7þã\ 6\eä¶Këw\81U\1aº°\1f5}ÎÎLâbFzþZè ß_s£\82zvâ·\ e-nHð\a\1e-î¿vïQèñn\9c\1fW­~"Πâ«\0\12\19øÜGÙ7I"õPü\1d\0c)\ f¢\9b\12©\92TAt«\vlÜèné(,6Ò\13÷­¤&\7f\12\8d±"";&ÊOf`¯°ô\ 5òlæè\94ö9N\91®$\9cìrD­É&{½\8bêôu­ÇÁ2k;cÄ"\1c8ê¥W³l\83\ 6Ònϱ|.\9eÊ¿\81ùÕ~@¬\ fÊKµ¹z!ÔÞbª@ÓYK\8aüëÝðí¡%úM:;\ eÎÖsí ö\8ff\7f÷~xoTS\ 2óóÎ\9eó7M¦íü\82;\19\1f@ªE\95Áiû6Sj£ì\94î\87Ü\1c­.9_æM\ 2/v\135Èl«\96Ð\95\98¶¥ ¶N'aùSjàÓ¡ÿ\91ú\ fdNôª\99\93Ò¶C"\9cb9ßÎ}ÛpÉPW Þ'\89\9e¾1¯\9bÜv\9eo|õÖU½\82S\95ÖuÚ\1c¨\96ï\ 2\bze`/\94^\98¯uÀ_(Ú6\9ecD\12á¿C¿r\16y¿ê\85\97\97Æ4amåñ\8e,.¼¾)M=,\9fÚ\85:¹Û\17̹¬Wõ_Ôk\96¿Å_\0Ý«\rÛ±Õ\8a\auÄZJ\96S¶v\8d\95E³´\9a×¾wx\16Õ\16\82U\94ÖÔ¦¾^ÍÂ\92\18,¦­$<·\84î¾á× Ü\16  ÃÓ þéWþW%D¨rpmªöì\93"2æÏ\17voy\8cWoçI#YL[\17ÂxÓå`\9eÆ\85øz̯bàÕæÄQ\87\8bÖÕú¾BS0m7ý;'\812\r+àUñ· ¦/ó\8dü[s\94Ñ®ÇCÙm`+{SÝÁ8»9KYTL\82\90¦\94d\1d²»9¿Ì,uVìÌ\9aLºýµ\82¦\13í\14ê\fÛ\95\95ßж±ÚE5} è¹mK\ 3±s\1c&CD¨\9bBj6]A\8aÑÒx¯Ò?J®&ã9ÌKÔ\b/Á+å\ 4òÛ^±º¾\15{\82Y\ 5Èm\ 2 \98\84\9b\eM\ 3ú
+\f`'ë]í·È$ûû    8×\85²ôÎMºUzÛ(/^%\e\9dÒË\9f&(æ\7f\ 2÷VÙÌ\f)äÛ\\1afÖÑâ\1d6Õë\87ðà®Yx\8aÍkÚtvM½%î\9d\15µÑÔ·¯à/e½"\82\15Ó\eÆTb\9bêÔ`}_\1f\ 4ò3ú\rÑ9'\7f~SÖ\9e°õ\>\18Û\efË1XF.\92\rõÚì\1dq\18¹ÉQR}\9a\8c>qðOß\8f³þZ÷\16¬óåk\9c\90\8e\98E\82`\1fäÄA\ f\1að0OW\83MW\ 3ôk\91Ã\fûl\ f¶Ä\81\18\1f¨\1e.¯vÛ\aí¡¶Áÿí~\9eQ×FÕG\1a©ª\1fÖ9\85ÿW\8e¸ß<Y¨Àøy\1a.|\96\147e2[¦\1d\96EÂ6\84Ù&Ù\91\87j\1a\19tl\8d¡pëzX=ãèÊXm\94ßÖÉ<(Ó.\9e+\9b¢]òµ»ýÑÖUnöÉç\89\êÍ·½sà¬ò~yÔm"YµÉǼ(·\90ÞÒÔ·¾)öìî\89cùéÛN½\85\8ev#&)ý¾\89Ý*Y\1f\8b²ñ[TzÈáÂë*>ñ¡§NDæèÁM¬uHWz¦eÙ¡ï\14ýÚ\13ó;p]úW,Ï'\8a\]©k\81\ fm\15u
+\r\ao\8b§ßô/eS\a­`n\8aÌSñÌcèÒ\8eºl£d¢\9e4LS\7f\98ÕvÛשU\ 6Üw%cÙ+\80WéBümk\ 6\99vsmÁ\16\91Þ\94ݺ\x¤èndåuÚ8)µ)\ f¸ÝIèV⯶+ýiÒÆ¶È#e{Ù¿O'Qøë×µ =ü½Wý+×T\96µ¿À\8c\ 4/1Év\86\9e\97+çÅeÄø±\9fnz\80ýR¸\ 3«TÜyåts&¡\15á^\80Ã\89é\9fIz\12ò\1aíïÿ\O9Ë¿\95\9c~ã/?àéRc©=\e\84\8b~\9aóöB±3.\84-=¢§\90ã\9dý¡dÏ\ 1Ü\9aéqÞ\92W1¿\9b%¿=\l°\15\97\92v     âY\82w\97g\93¿ºúÇ;öý×èç"r\8cüOp¢\89\94Óþï\:9F       <WE2¹\ fú2o\98×I\ e¹X(\82tË/\8e©W¦îWòN_Cj©IveI\9aì\84õÖ%±\ f7\1dÈ\83L©õÓà¦\96\ e:«qÖ\94ÍÃ\8b¸\98SíÐ\80#d\ 1¿Föºx´I¿©àÁ»ëÌ\7fÃ\b\1fð\84u¿Vµ\1fû\82wwN\ 5Q)>|\11»\82xÿ\17ëÓ\94\82¹
+C3°¢­hsY\93kñÑýøgî»n¤-Úx\9f´%W]¢§\96®eêi(õeÖ\9eáZå\13\81q¶%\7f\1e\r\a\93múxº\8d\8fÔÍ*k:U$ÿRÛü|ís\r¸\ 4ù\96à\13mÂD\ 1ÁÙ\að[\80\8c\86í\1eF
+òÚ\14í/UáÖ6Í\87¿W{\19Ϋ®ëy3dò¥ÅI¸jÙSéî\94\84\19\8cç]7ôK¯¼MÄÔ/\1aþü÷í7#JÏ~ÕjÈ\92½\10\ fz×R5½¹w[ñpP+\87[k\87\82\82\18¿³(\158'û¯=e;\12\19¯ &ã\92\1e¥ÿ\8f\19N.\vÉ\18Ù\8a~Íç\98\13Ên]k»*eâ\1aP\96÷Ê+Ç¥\ 1¼N(å\91@\9c\82¡ñ\88\\7f²\94\1d\9cTÁ±iÁå}¨ú¶ªcé`Û9õyy\1fo\ e?a^r¼å\85
\97Ç^rñ\b\15à~Å`î"òó¯\ f­
+6\16Áµå<\86èsfa\13\0ÐÚ::&Îq³Í\1d\99¥$\15\96áN\9d#G³*ûBøÚ=âÊ´Ê   \9fP\aZ«A\9f\8eJ\9aÔ"ú`^\83´¤0
+4\9dF\ fŹVưÒÖ~¥\9f²\7fãn"ö%Â=£l2=º¨\14Zl\99öc\89\94º$Ìé·\11\e\97(eè?vöÎ!6hl\9bX$\86)E\1a±\18ß\ 1"½ñãþë\81\Êùyjߤù\8dÏÏY&\eéK;òÚy\85cЫI(Ä\9aV~\9b!ËOÃ\96ä\12¦~½<Ú-\e\9bEyË©]µ\95\f­0êÊ\18TF]ê\98\0ôô'È\83Ý3\85\8c2\9bN·¿À,\103\19S:h\95ÏÌQ¡ZW©+<\eýçï>\r¡AZzWª¼]ïÉÒ¬J+úPÆ´ö}Ãf¨p\13ÌÚMK3¯¸\9b©-÷\8d\8fèë_Iü ¯RËE\95\1c~>({Ò\94I~\ 1ÑN\8b\7fýëÕØ6\8eè\8aNнy\92ÙN­(×\9e\94×ÈKåÐ^£¿ñÒþ\1fÇàèº\ fà\89»\8cÖ\1c±ÖįO\ fL«rÿÔ\8e\1dë¦Û\98\r[v]&\9aJØîN[D\85ô0fo$\ 5þ*¾ë\r;ì¦è:Ü
+\7f:\ 6¯îýµÓüèJlý\r\83FOù¯bRArº\fùj0ÕñaGÍ\84\99EÚ_\1a\14Ö\8f\85\8aܰ\17qDÿÄ7[[Yú\9dÅôtM\83f\8fn\96³²`ÿþi·ù\ 5ûZ\8e\7f\a÷\93¸çâü\98WͰ¯\9ba_6¾m\85
+ù¶\15ól+æØWͰ¯\9ba_6¾mô×ͽuÝ%ói½Ã÷çI|Ûï\0\9b+@fÉ\10¡³Îæo\f\8cùvðS\16l\94\8b\ 5,÷å\82\96~D\97ΦÁK?>Oæ,fðRÎl\14±ü`&ñ\9a»¯o\14z;Y¸£Õ²ä\ f\92¹sú\9agÜ6þhñ¥\82\96?~l\14½å\1a\e\ 5(~ |³zØ6,\14wë}KM\e7 û@? \ e[*ÓFòÄóÖ\ 1ìÍ|\7f|\93M\eƯθ   ½\19¼íù$y<ÌÔ\ 1Ù\81Ú\ 16vÖ{\80;\90<g«i¬à\1dX\1dÆX~3yp\86%ômùd[\97*Y\16éª,R\bíýbï\90lÙcK6T½M\82\8d¾Ì  ½£èíK"Ü;bÁG^ü²-Û\96\ 3\9aN
+=ÿ ùN+k\9d%ôɯ\90<Þ%\10MáÆÜ×ÇßÚ\ 1øÀ{/\5x\1cüA¼àt\80z°?0Ø(\87å\ 6\83\ 3Ú\15ñýò¹¡öÀõ\99¤{ÙÉ6WpÍ\8a@Syu+Ö\92ú\873Ê´Õ¸\1d©b\90\ 4Þk\1e{\10?3×£\ 5\ 5zp=`\1d©` \8cؤ\ 1Ò\15ñýö\85\82\82=Ù_ \1d9b\90\97Ö=¡b\90gvKë\9ap:r·VÝi/°M\91n\13y{\876h¿w xÞ`n8\1e\88°P\86\ fÛs\b¾>³/®y:\83äólø'ó5ñíïÀ\9bÜ\1avX\ ehÙg),\13Ñòàk\0õ\0o@õ\80\14\ 1Þ\15ºÀòäþ\8aÙ\ 1¹\ 3±+u\81ê\89}\83ð\0ö wæ\7fKsh_\çÀûà=\90\1d¡/¬rå|{fÍz\8dð\1dÐ\13f½Ç|Vë\ 2l\13ÇåK"Ú:Là\8að:ÿf7ßÙ£\ 4ëv¹Óæ+\r¯\91\9eF        °Í\82k½°\1dÈ\1f\98\a\8dç\9ak0\ 6ð\ eÀ\ eü\ ehÞ"£@é@ê@õÅ\91k\1cà\13{òmí\8b"Õ¾ \1cù¼ã\13\81ì@ï@\9b×\82\1eÔ\rð\1cÅcMT\99ý%\ 3j\aôk\ f\97¶³ß\1c\1eP°L7Ì\eÓ[\98\1dp\1dx\1eÌ\ f}^ O@7O@|¿Õµ²\ 2oBÊ9^\84Dx\1cÀ\1cÈ\1cÐ\1eX\ f0\ 6¤\ el\ ep\ ex\ e|\9fÓÚòÅ!OF\aJ\ 4Þ¾\rv w\80zãz\16µè\9a\ e´­Õ÷jKï\93b\90\a)`4Ø\1aó/À@Ù\81ê¬\rá\1a\10l\99dZ§x\a/¢7\863ÁÃùdZÇà\81äI~Be÷ou£Eñ×ê\r|vý é\97Ò\1fÜÏ\99×Ùºßl ÿÛ\1fÜÙ\eUàu`zð; =À\1e?L8ß%õ®ÇL\87ô\86ð\ f`Oé\ fP\aáiƧ\ 3\95éFÿ\92ú÷·+ã§Î\81Ö\81Ø\ 1¿\ 3Ç{\81Ñl\ eßÜ#"Õµ@{b_Z×\96(ÿve\91j\9e\efWÆÏ½\ 3cÔ4×ZVë\13LgôÄØ¤      \ 3Ë\81ª5ºÆ\93ú¢ku¡\8c\ 6ä\9fÕÞÀ²-C\96\ 3R\a3\14m8\1dq[¬Ïr\av\a;d"¬\ eÌ\ fsd\8cR\12Ä\ 3Í\ 1çÉ~\13Ôj\8fè\9dý« ;\13dÚî0\8d²È´/l\av\a\90\8e\ 1Í\ 17±m~|\ fF\aP\a`\a~\a\9a³\1fL\ fsf\8cR\1aË+u¡¾\ 3\99µ?¢\836ºÐ?\b      ½LÜå$\ e\14Ë\14\85&Å!\rð\1e\9bV4\19½H\ 6[\bÏ\ 3µ+u\91§\1dȺ`=\80\1a¢_rË\ 3ï@í\0î@ï.\10þ´òÀv v w\0y©FñA^#<\ eà\ ft\ 6ø\97á;Ð7ài®Fñ\81Ë\81ë\8b\14\89&Å".\\ e¼\ f`\a\93\96"\\ e¸\ eÀ\ eR`Ýp>ü\ eÌ\rUÐÞ2Å!\ fpKò\1ap=]Úm\8bmnn=Ù2\8d³     ÷ÿó\97νî#ùo\91ûãa?\8fÿo÷ÑÛÜ?×ø\97Éh*s\90rq¹x\r×þ3ù³\8b\ 4ékÅíÎV;\15Dj/[©\9dÛ]Ú\99Ý\97ÜñT3iï5öëh'sÇ©\97\8a³\ eå.´ór[³\13\14c
+Ͻq\9e\7f1ÖþbÊSä®Çó\r\8fåO~\$³P¡L\92ûçWäâ\8f\8d$ÈvªU~²Üô|\87òÖf\13ùfÌF«ÏjÉq\9fËøó]¨ß\v\11üÁÈȺ?\84ݪûã¿\97~\ 6\vùvË.\955_¯\80Ûùnýº\95ÆÁ±xt»\15lrÐðñGÓF\ fk\94äñü²#Ñ\8a®4^|7ØþIÕ\93Dÿª&ö\1dçá§åá?\90,·!ú·1<G©:ÓÝk\9eÿ\17gts_Æ?\1fh`·K_¯´/¿\86\7fkhÝ·U?;\80=\e[¢f@ø\9bwJÝV~¼/Ö©î\1dñön\vuWúû7V«uQâlÝ\17î?\8b´©kv{þ\v÷\1e\9eÈt_¸Ôü\16c(f\ 6¢\8dæ\91\15ý\133\13``~ä]j      å)ÏË\8a^ñYí~\8b÷\aߪK+ÏÜ\v¶{ß>õ:ØÔ0½lûþ\ 2­\9f}Òûx\1fµy<\1eõ´¶Õ-O_\80¢\86Ú¶Ý
+\19s\7f^.\87KE\ eö\83Ç·L×tL\ fÙ?~×Ís\82?\17\9bÆ\fR\93Z\92\84=\fåzÏ3;\12®.â\f\9e\83\9aGä¯\10]o"àk)ÑK\8f^DÇñp\97\87é\91{\aÓªáý<<\8aF¦)d\97öîE\1fâ)àmg*/µQiØ×]\1c÷]1\94¿\10ñ\14ý\²7o\15ÈÌ^\ e(:þkx í\8f\84ýU÷¥¡æ\12ÿ\15m\95Î;õ_à\16\19;à~«×¾o@\9f¤¼GI¯ÎªsÊîïH\98\1fª\14\9eéNø\r\83Æ\9b0V~«¢ýQ»Ì\9a\1c\9f\9f\8c|ÚOTÚÞ}÷ê\8eïçÛª.\9asõF÷J÷¬é¯M\88ýM­ÜáOJ7q=ÓrV¬\eÝ\93\9a\9fÓ\96ÂÜpºbû\93ªu_û8Ýa]\9dKJÝLc\97fûud\8eF~\9b¡\83'\9aæÊ·ûóü\7f2ÝHü÷éµqµÝ\1d⬳\9eÜó\9dñ£®\8fÛÿøùÿëu\rM\aÞ¨î\ 2¬\82·B\17\9f£\98\87\93\9f¦:r¬ÇLºv¿L\rq?\b/Gúô\9cù?¸Öéórª\1c7ߥ´Q\94§\82\97íÔ\ 6QYÛ\1c\1d³jH\84\ 6¢v\8fEº|ô\8dÈ\ 5³=\1c\1c÷£\95åÛûMzêlý5]79M쩪\87ùÍÓsTÕ\83ýó\94Ú*nz\9aÂ\9bÚSDkÚ\8fÏÏ\8fÊêí÷0?/=MZ>Nv\9b<?mLÛtÃwséuÙÅÝ¿#JÖpô®\1c¾\97©2èpZ\86¨ÆWÑÅ\ 4Û\1f¢\9c7é¦Au\ 1úº¦\8aî5\96u\17q\80êNÊÀkä`°\98þ\83\81Éëízî\95¹§¿ôý0Ø\91Oª% ûb=\17º$×ÚøCf"\85ÙùbyZn\15Ü|+xøWqð®ãá]ÇÃÏÿó.zâ\96\18\9a`ü°ëÿ»¯ùÙÒ\8e|gèÎS\8fLëØ¡\15\90Ú26Wû?DòIµ³bá\1e®m\1f\e\17\9e\96\9bu\ 1Ç\93G^å|¯±nX»Ô«®¾ÇpbvN\a§\1eZ\9c\89u¤¼Y_ó\ 3ô\17«nÄ\96à·NØÊAFÉn\85uúïyõج·N\9c\19úÅ×èFW\95\ 5¨ÉSÊß\r\14â\84nB\9e\ 4ú³·7)«©Å~yûÕO'\8cÛ\ fÛ)·E÷T¬\99\14 8ûÛè¿;iãF&\151½Ó\9f%ççmççgÑ\87ß%uË#\11ùÇwvÝú0Poù¼»½@O\a\12\ 1Å\9bn\96iåî\15Õo§\91a5Ç\9cûtY~¹ýo+jíL\15oÆ=Æ\15º1Æoä±u#\ 5w\e\1c\85\9dV\9c\9c|ýëtWC±g-º¾\1eô¨\93YÜí\8b\9f\95ý\18­¿'oW\13¯Eºøøº°ÓíÛ{\ eåªÏÓÝ]G£½}N\r\1e\9d\r\99{_ÑìO\1c¯.·þ-ÑÇtÝ\92úÖà;\1f²ñ\btShà²Tì\ 1 \8cí\95\18²°lü¦ï\80üv¾ühÇnÞªÙR\92¾\ 5_©ñJC5Ý\9b¥cyià\97øqA×)XoI´Á}Ýâ\93!_\15·xÎ\8bîNïryï¹\1cõÒ\9b¯?̵;dkyùî\1c]'èp\19\rº/Ä[9ó\8dÁ·E×¹\85\8d\85n\8b\7f×\a¼ßñÁëöè£>\ fèb\83_\ e\10r_\84¼x=È\9a\90ú¥>c²É\fG\13Ê~\fúG$Éü¹ÏÁ\1d\r¿Ã·B\94¿\ 3¦Ã -;dün¿\0nÏswµ\eÖèG)²¾Ys­n\16V\ eMsrâÍÅ\ 6jIªñ\9f\80zS\8fÝ\8c\1a\99«¹ý\ e\rK\8aÉ\ 1î\}D×-\15\8f¾Ì¬LPi÷x7Én¾:VOÿ\ 3ï«-Çß]\e6\92BX\1f\87\176u<;ä»_}6¸\1dÂVF\8fy9õã[ï\ fC\13ôîêTí\r\1cPt²±ß\88ûÖ»n\95r1#V1=æ+t\1fê\v\13ÁÁ|\9eo\119ÄÀ­\87L\81\98³_\80\18ó¾Û\1f\8bø\7f~&ÿ\8aÝ\bß~\80F\ 6!/¿v\8d)'û÷ýÝý.\²\17\bH"\80±\b¨ª¨I!$\90\16XI$\81 E\ 5D\1cX A1\ 2\bH*\8a\90`\84\923\ 3\15U\17\15U\10UÅE\T\13\1c\90\f\ 1Á\f\ 1\L\15@\15K\8cTU\ 1\ 4\0ûÿÿ÷ï¾úî\¹\v\92B6Ç9ÅGZÎ\1dêÍìÜí3:·ª·»·Ãµ½âÊï\13èÏ/ywÁµÞnðw\8b}ÝUÕ]UÞ\9dþ\ 1ï\93wË¿À9O¾÷i$\92Ym±;ó¡\r\7fq#©CjÝ\86+\80Þ3kyÐ׿¦\9dor£à*qB§aÞòkh\92Õ{\95V=¾'÷æ\91Þôn¯\8fþ\8fr¬µ¨uø\ 4q\17z®ss²WÜ¡\7f3÷ÀT{\95åÍ9î|çê¦Òû\8bn\9eï½Ö]í`®ïÉÖó¥ÿÑ\142ªø\ 2îj£³\10Öç58\8a|{\83×w»z\8c[\8bûßÝÞëûç\82ë\9cÑ©²`ü½î»¾iÜó\99µ\1a[\1es/ýý۶j}Ù\9d\19£Y\8dÂk\9d\9cÄÕsM°co(Û\0pÕ¶6îöy\9aÎ÷%kO¤·õw¸êÞe;Å«Ë\8ffÑB\9a\9b/\ríZÚÜùϦM\eKî        \Pµ¹Ö÷[¸\8aÝY\11×v¼K\88A[½¿æ\95Ò\17QðÅÔÁOÌÈ»ð(<\12½ÿ\aYÞÚ®lUì \9eì\8ec\132®.<ð
+âãΫ½³]lò.\18õ­õVïl÷5\ 1¼\92ºÝíwU\a?ÝÞÖj@é\90\ fî«u Î!]­}Õ\97\8dëwÚWª[òâQ˼ÔóB~)¿\88Ïñ\14þ2\8dÁ·ð:\9aÞ\13?\9a©Þ&\w´\8du\9c\1fðr.u`ÔcÝ÷´\1e\ e®»Ú­²nªDõ\94&Ç#VýÆß&çÎv.©!w¶\82¸W©\19¿ÑÞ͸\ 5qB\7f\82W½ä^4?ÝÞ˪kfÍ£\93ZàªãÜÈ·«Â7Ms\13s;¸\9b¾TD­ñ]xÚý¢¾Ç\9c\9cãF9]»ï\10\8c§5áUíðÿóç\1a®¸
+-ò£sÅwB9\9bÌGæç\1an¨ks°éÿó"í®.+Mño\0çä·µ[ØÜ{{\86\97\1c\a¥ÖÛS\87\v®õÃ×~¾õÃs ºéâ¼ï\?ïç\18¿F«ßÓÞ¸1ÈqxUqÐ"âØ]K´?õȽ½sÿú;ÕmNóÛSJæa\1c\97\8e«C½o\ÊÕIÍÖ\8bZÖÐëo\f¸\ 5me\<ù\96û\bÊÏ\1fè²Éqqbï½BÝÌ\8d껏=\99G1õqÞ£ó;Îõ\1fÿ,P\ 1à* LüàïåP¸ïKw\12\1d?\ 2\vSEýÆ\9e\89ñ@\ 6æ{³H©5m^ü\12=\ 2ëÇT÷¥[\96\85dÛåK\a\1c\86\ fõ{ \1e±¡uî\807\16ýwº\9bý\1fë÷@?ÌÒØó\80\1fêïK·5±©Þ\97õV\8bÿáÎ\0iiüÖ\1eµç«®ë?Sâ·\9c"\îÓ*]ɹ\80Úîô\8fÀÔè\9eÍT8\95©IsÍÜ\©l6\96w]éVçÆÚðUo÷å÷@Þ\r¾.ÿÖïK×<ßoØW\13ï8ÅqÏÒë\13ýî'?ôhwþÌ\8c\13àiø\ e\8d¹\94c*\8eºâ¾«\14\ 3î¬+ñ;¾\16ûUÀ¯]¿?Õ&\17L\8b¹°Õ6­Q\89\97<Gü\96îÞ\r\8f7\87±æðö<Þ\1eÇ\9bÃÿÓ½\e\ì-x-ß7YuU;®ôU°©> ¿z^Õm\«w¡®¿wµ\9cï\97\7f-<®7ô¼EGt¦Ç\95È\99õ©}DV¦áûâëx]ms\17\83ù\18×}èóUî\7f\97\17\1a\7fGz5©t²çZ­çz1¸ÑûÁÕû¡þQ¿\14\81ÿ×7m?yáûêùÊ\17\93E¾ÚÞróªÚ\14fjù¹ê\9dè\933Orï\80WÁL3-ìFܶ¼wû»ÐÆ»ÂdkH=Ïz\eà\15ÜöÖÄÿÞ\ e¦Ãµnõ3æÕòQ\19î\95ùåxYÚ\8fdý2b\7f:¡â\95ÜÒÝ÷¡\9e-½îÝgz\eÌÕ÷¡­t\ 3ÖpHYº\9d\16÷\e\80^\1e\9f½\ 4ÖÔ%ÿ¿\9c¦Üx¢ElOôü®Î«ÎS®\98\9b\fOðýP&³¡ªó\94ýVâ²ç\9bL¹á¦æ©á¨îûÑ·øw\9f.\ 5[y\1cWóâ\7f-h³¯Äþ\ fþ{Ï\8f\ fþþóãÁü[Êû¥ír\86¾ï>¹cY\89øz¥l\821\9d\8bÐ#\8dÝ×÷\9flz4CO\85%W\1dçÛ7QÞ}ëw\9fj\9e\99GEóÍ£©Võõ\1eIÿ\99-Q7\e\e+\85Ýg\80\96ÝùÊ\a\12«\12¶ÎÞ\7f
+£âÛì(j7ÿáÞ~8Z\8eÔQu\ 6qÊíºêmz¸
+xyþX3Å·èé]ô\1dÝ\95óÒÊ\9a\e5\98\9eù[k\9b·ï<_à·ªï5\1c\1fï\ËSÀ¯Øµú£¯êTØóX»\1ek\17cÍbìy¬]\8f5\8b±æ±v<Ö.Ç\9aÅØóX»\1ek\17cÍbìy¬_ÿ¹¬]`:äÞÈTJ,°c\99\ 53j\83\93\8aä¬ë¬×N\15¾l0\v7õë\81è\rÂ\99s\aãp+ÍmOè\ 6^ÍøÍ\ f\99(\8b\94\9biÀô ~Vã\81å\18ü Ï\9ac\9dÚ¿\8687\14nÒxs\89\9d\83\17ã¦Û\18\ 3ò\14¯ìzq\0*\97ö9\11\ 6èx\15Ö¨\fêãqj\ 3­_\0NòÕ\ 1\9f\14>4èq\88
+\1f\1cá\ f\82\80Î.N.K6´Zf0¯`mS\1e
+\ 3É\14;\81à"È\9fõ$Ôôb\87q:\1f\b"\ 6^\87lÍsë\9cÉbsU°¾\9bÀo\vì\11\vì\ 2¥ý\90\1e\ e\9e\81\9aÐ@ø¼Ð\ f½8\83\80ÚjtØ\ 2\80\ 3\1aиU#ÿ`*\9dÜ\10
\99!*¶\14g·îÜË\98\85¼\18D\18L­"Ò*\84&¿±ï\8eͤË,`~\v02dþx÷dÊÌOøÏË«V)µO`É5\8bà!bÌàá É\95\90\18(º'PK7·ì¹\97?\8b\88\89pâ;ñK\17·Ä§\a,"\93F(kc[\vù\80w+üÀVÈÕ{>ì;¡f.'\83DA\bÁ\eu\1fz\1dà¨äSQ¯gß\aß\1f¤!·\8aï\0;ñP¦í¼\10Ì\8fÊ\1a²$\97³ðÃÂ\14ørf\7f\0x\83ô¹oc\8e\9eNvH:È\ f\85§\9ezH\80øR\9e{F|)p¹ÑÎjÛ;i\b\84A|­Æ\8a>y\86\9a\93\99\rÌÿ.\1c×C\88¤\8bF|A¹\13æU\ 1£;yvÐI|®\ 6Î\ 1\ 3"\91E¾à\87É\ 1\9dÄÞH\10J\914g\bj0¤?Ê\14ÙÐÏ\16n[\93x õ\ 4k*nB\18Õ±H\93%Æ       \13I§#\91ç(©5Oáw\18\18\1f\85á9f\17ÂQ7º_       Tèi/\85å:\ f\8báz3áþ\12Æf?\aäÙ$ánKû\19"\95\7fÏ\16ÀõÂ\93ð\87¯~\ ff\ e\9a\ 4i-\93+B\93nI\93#\0ìÙ\f\99r\87¦\91\93.Tùô}ß8Ki8H\8a÷\bø`å\8d})õ\16\ 6
+Àÿ\ 1 \15+¢ÓÁÝÐÔøp\bHNN\8c\99\989tå\ eÉ\97ÚQ\88¿¨Äs\ 2:xcð¿'\1a\ 4È\88m\1f\872Jâ\89\e¢"E\rp³bt\1el\v=\18c1Ô\9940`M\82C¨J¥Ô0°u\r\16u\ fÕn¡*\97PÀî¢ÌáÔ$£¨úZçö/êRV\9b®æ\89\88\97<d2e\80R\96nlËÔ¤¯y\15\1e¹\80m\88ÎÿÊB\ fëHCxµ\850\ e  áε&®ÏON\96öHÖâ\924U|\91®F\f\ e\1a\9az\95\8bû\e\91Ú\81]E\18\a\7fvdË\9eQu\8aú\17C\e\ 2½\16\9f\80M\88×\98\ 6Úî²\b~F!ý\891\ 2Ã60\ e-\80\86¥0sæè>(¯V\12ä\ 59W\1cø\84%ÃKjî\84Øóè\v\12¦F©S"uMÅwDn\99º¦J©S$uL"ìi§[ªdê\952gT®èÈ^y\94TÝê\957sªa\97t\86éÛªo\15J\9bÁÕ0ëºR\1dt%\152\95J\99CªnK±ÆÉ7TÊÕ*eN©\88]8A\9c\945¯½\f­­\8c\12~\19\ eY\93\8d4\8ae§¡\11{Ôù¨\13üÐ\9b¨OóDo¸\9fç&l¢\7f\9bHp ½ë\82\vR\7f\9bX[\13üðaÂ'ù\82\ e\15?Í´-Éþ`Ã\86OóÃ\87\10\a\98\9dÁpÌO¡¯\98\9f `íÊ~\16u$\ 3Àÿ²v$õù\ 2\86\\89\83¸%ýTÔÒe\1a`Ëo\13\1a\98;\97-Î]J\1có
+PçÝ\19\1a5\1dÙÀ;\ 6¾\8câr\aÒ°î\v8ÔåòË-òîM÷Q\ fÉý"ê$r\88\91\82{\89A?E_\ 4÷_Û\ 4÷SÁ=Ùä\13Ç<\82xÿí\82{¯è\82~¥Ä\13õn`\9e\10 \9f\ec$ò\82~±Ä\13õÎ`\9e\14 \9f£±\82r\82~µÄ\13õî`\9e\18 \9f¤Z   ò'¥\ 4 \9cõñ÷&Ê­¬èv\13±rÂC\93   ÒØ0\9d\83¦\13ï9a.DÂc¬\18NÉÓ     Ú9a"    \84\9c°a;7L'jå\84á\8bC\1e0Ï$\v\8c<\81}\93\axQ\97lRb\1c\1a\91\97Â'J\18XEÎ0\ªL½£\azo¿ôè\8b9]ûf\ eøÝúk/\ 1EÞgå]Í\9fD\8e\12Æ\1e\ 6ÇI÷``ðMá&Âx\7f;\bo\9d\84dËÄ<µ¾\8647¬k&_\80ó$\17Ò1mÃ\94[]+çåz0h\r¡q\fú%\19?+ãt)2÷\8c\1eI¿\17×\14^ñäGï\98(ÍIüË·ö>ú\9a\82û\13\ 6tÙíû\bþÇbv,XÝ\91\83>oÇû\1ewº`Î\bv\8aÕ®Æ!ø\82\88~DÇÒ¾à\93þÚ\93þÚëâ_f`Ò\9bò¦Èé\94dtÿ\e\8dI\94±\83PSvó\8d\ 4xÀüǰ\86dËÏ9& 2e©@£ò²üçÎt3&Z£æ\97ñ\93/@â\12äÉ\97¢m£\8a|\9dë(òF\ f0Þjj±Í.ú\\82*'aÈW¹Ì¨\a\96m" ]\87\84¦´g\85õê¦ÛÊ\11\9a×ÁµôÁé\eÓ«Ô;I\97.`Õ¦ùk\13\riµÕµO_Ì\1e¡½ZÔÎ`Áë\e×ÿl\8e \ 5h4\89¤Ëí\185æl\9aö\95Gcì)Im2\93ÔöV\9e§Õ\ 5|IA_µ_\ 5\7f\ 1\83Û6Á\ eÞÌ£Ô~°\97\87ÀyxmL\1eá½ÔÖ^ò\8e×ßøµz\85­øL\e\13l¾¶·á;[´0lÍð&»Ú¨»Ú\7f"ïl`øM¶Cnü£ofù×{s\ 6ÜÛ\8a×fZ\99%\fu°¿¸0x¡\9b\rõ
+\e\83·,\80?(i\81¼ª¬ÿ\1c/¬»\7f\11\14\ 3N\1a\84ØO0\11+_4\11%¯9Kg_Ì¥³¯\9e\1a\bËWäh#\a¤PF\fw®Ùzsæ\r'ó?'ö+ÔvÍ\0\9fM\84÷BªÅçæa\1fئÁ)Y\\b\aã\r\ 3\87%¡R\ 14J@'\94\vÔ\9e\ 3ò\ 6\8föE§\10\ 1è\a¢\15\94/ñ \1e\90zu©\90 \1a°ÖV¦E\0kC]Z\99È\80z\81êÖ¦^\0=`õëS9 \rx6­Lå\80)CØ­L\8f\0¦\ ffµ3í\0{Aí\87Åd   \95\ 2ÐÏs/ËE<$à@6\ 1îVÄ/ÕH\10Û¯|qgÀ.^Ï6\1e0y\0jû¡u\®äɪ³a½²ßs)\8dÊ\9a\16\8f\9bùìîOú|\ 5t->ßñ\9f\16äð\bÃ\7f>$;ö\v;÷íüúÜ1¯ì_\94\9f\90²Ö\8dôý-\7fð\9f£xØ·¼\9fï\1cò\7f°Ï'û\16ò\7f±¯'û(ò\7f¼\9bÉþß^OöAäÿy\9fß?ÔI\8b\ 5úçú\88\8f\18þ© \18nÖ¿M\0Þ>ö\80\93U\7f=\0Û¥$ZÏ\7f@6èÿ¦kM\e\9dþ4\ 3n\8f\0\89\ 6C¿Ig\7ffßÐ\fá\8d\7fcfq@7\ 1¾ \1aÙ¿ \19XØâ^P\rǼ \1a\1då\0Ñ\8f(\ 6\80iW\94\ 3^ÞP\r˼ \1a\0Ü×ï \19\12bÁÿm\0Ã~­úh\ 6Íoh\ 6MÙf¿m\0ÆSK®É¿ \18Ç\97\8d\91i£a¿\8d\0ÄÞ$Éë\7f@2\1dûÒÎýÿ\7f@3\86\8bû\8a\ 1­;ê\ 1¸=ý\0ÊÆÇ\14ò\80k\83Ê\ 1®O(\ 6¹¼ \1aêò\80kËÊ\ 1¯\8f(\ 6¿< \1a\0Òÿ¾\80dI\8acû(\ 6>È)H³d\ fÉUì£ù%6Q÷{&\82LºS\ 5\90ϤþQ\0Ve \v\14`\9e      ðV\ 5\95\82\81\98(\ 2\84\15ÐßUñ\8a\83î\ 6\ f+\1cf\10ÁÔ\87T\9a׫Rh]`!\9bëAwȾ(v½#V\bÁ\94\ fº\ eÞª¶\83\ fìzQmÚ3\8bK°<\1c£f\96Ç\1fdÞ¸%\95Q\18i\80\8bHlK{\a\90\9bl`Êà{\87DX°\12˳°\88\fi\83±\ f¼\9bª\11\10ÆJþ\9bêë\93c\18_ܺ¬iíѺ3Èa£8Ä»*wf\84þ¥Dû\8a]³´þ©DøD»GiýZ\89ð©v®ÓúÅ\13á\92î\1d§õª'Ã¥Û»Oë\94O¹%\96v\9fר\9f\10\97rí?*¢|JYwIæR.­        ÄCåÀñ\ 5\18Q\ 5ÙXE©\90¬\84%gi`¬\\85d)+;[\ 5bô+.$¬í¬\15\80\85dI+2ö
+Ç´+!\89YÜX+\18!Y\ eJÎÞÁX\92\15\97"Ve¬\15\8fHVD\12³¹°V1¸Tm\e'ÿx¯U\94\83½£~4\ f´oÆ\99¨]O´955Ø#\88Zs«­3h\f\11á \15\96àT&    \10\92­LûÀ\12aw­Lê\f\17\80\94­L¢0J\85åÅ RÊWqz\ f\92ìú\0W§Û4¾á\83\92
+\8d³ë&(u\egÖPPéöϪý\9a\9e\89M\9a\9d\8c\aÝ0raW¶z\83Ôiî,\ 3y
\10\ 5ø/ÿ^\83gD\ 5\8d\0æ\ 3í8\81ë·Ë¤yÑ\1eµZuÙ\9b®Ù2\8eRáÚ=m\9dr­Ýæ\09\90æ\81]\1aVõ_UìÆÔ ®ÍuÒ\80K\86\ 3ê~É2É\80sa\81\90øönÌ\9aÍfP\ 3\ 4\18:Ù1Ï\0^Âø\1fɳ¿äϤÁ<¦\95¨´\13à\1c r¿[\ 6\0\a,\17Ð=ÚQ7ܸoW]H\ 4Àa>-\11\877vÕp«Ó\0s\81\85úµ1\12e:\ 1öÃ\9dÿ\8bk\90\0Ã\ 6\1eµµÞ°}8\ 6 &\7fS¹È\80bC\9eýRsë@1A\8bþ\87Öþǰ<\8b\12\80&\82l+ö\8dö\8cÌÃ\18\1cú\94Ç\r\bâ\15§«\93DÞP\8fÒ\0t\ 1ЦÊtAo<\91ñ§£y\93.\8c!\ fðé\ 2 ÿ\ e\94.gøc\81©þ\13\81 \7f\86</\aøtÁ,\7f\84èr\87\8a<\80_\9cl\vMJ\8d«µ{\92Ç\0\91
+ëñGÖáSÀ\91»z\80\16\9d\9e2W\a\0ÞÇÛT'Ë\98.\ e\ 2±\ f´\aAT\1aà6ÐW\90\8dl¹4þEíÓØ\e¸\aE\82hÁº{Ѳՠ ùBÊV*ÊÞæ¡?¯3\16éþÙ²õ      ý\ 1\ 5O÷!\vÛzÞ&·\94\95ÒÓCç¶\16xk³¡Asu\9c\95»¥óÕ÷áÿ.Ã\r\ f\9f½zðÒ»{ã ý?ý\ 2\82\86èPpÙæ:¯/\88ö\7f\1c\9d\f5\9fªà÷?\9b\8eâ"¹Í\d§[ÎûÍ\1aHç-Ú¾8ÞÍ,\ fg'ßx7Lo\83ÄÈìªK'\8eÿ³½es37\7f\17UÓå=~o\15\92ÁYlØ|×}h\8e¡äévÔ\98Ìí\96g\1cÕuäÝT\9e>\1fÂé±ýç6ÑÐ\90Mìò÷\9cä\87\13¯\95ìäõWþ\97\15\83ølIÓOÿääæ\8cú!ú¹vÕyØWàÕ\19ª±Þ\1c]u\19¹ó°\9fÅiý®¯±k\8e\8eêá»\18ÌOA\14¿\rä±\8d¾ZÍ´¹ÚëGã>Ѷ¿V
+\15;¬å¤/Ýç-&¨X\9fÝ\89\b\9eZÕþA¹\1e!>.¦r\8bö;Ñįím_aaãËÚ¾Âr\13\95\7f;¿\97\7f°ÎZ\98\86³ô\14   ÉÇ\ e
+\ 6¿9jb%
\83\89*´~ë³\96¦ Üá¬àQ\9d\8dþ\ 6À7#èø#çÐ|\7fuÙËS·¢
+ãQûý!¹\1e9Çûë-
+\8c\12Z#\86Ó¿\vhW;\0\8dÈrÃ=R4>ç\12\ fa!\17R  HZ\1d\93c\94\0q®dáùÝ\ fh>u \ e*Wo£Õõ­Â^\9b\80´*yM\ fº8\a ýnA\13\ 3. Æ4 ²\1e8%KÖ¾¨QZÓøa\ 6n=Hþå\84ç\8b\fjn)Pk\10\10\97µ¼¨S{\rµ\84\1f\1a\9a\93\82ÌΦR3Ò\12°\9e\8a·Mé\93ù\b2yÍAó\94\ fºa&â4´IþWPd\84"Îa)
+ßµ¯\89\emÏBh§\9f|\ 1\ 1\r~¸Jx&s[µ¶ù\8bµ\ f\9a\117$
+\f\90\8a\8f%\1e±|&v\rî\13M=\ 3ÓÀ\91~3\88´æNk¦c­¹ã\9cÊ®v\82\a\f)3É`\89k:KUÉ­X
+ÖX\913\ 4\88õ        \9dkmÏ\8a\99V\83'\91&+\1dG­bùù'\9fxrTä      Ñ\9dÍÀ\12\b\9b\98\fö\9fÏrº\8e\12\92\rp¥mH&¬2xÑ\1fr\9d\1cÕ°C.\923G4ôÖsYÚSp\rg4RôÖdþz¸÷Ìý3Ú\7f\ fÄ\9a\14\10çU\1c\86\9c²y,Óq\88°\13*¯ã|\b\ 1Îko\eß\9fô"x¿\e\8e  Áô      xiþx½\ 2\7f©\r\ 2Y\84ÿR:\ 4»a\a \1d\ 2]\88\90þF\81.±?Õß@\96M?Õã@\94ú\7f¬£oÂ=e\1d\13÷Ð_éâ\ fpÇ.\8aÊ\b\e\9d\99?Ëî\11?Ì&v:\81.=?\82o½8\15·
+FK\1cx@k G\ 6Â:\12\8d7Z#\v}A#
+\9býΦÿST|#\82}\89\19iä \89c<Þ\fß\89\ 4D¨áh,Û\8a»%@\88\98¤N&\13\92 ìÙÔ\ f¢\v-ã§±$¡\bUÔã\854GáDÈ\92\91\12M\12\bQ9âDÙ\19ÌnßÉ\14A~\0cwXÅó;<\94\88¡È=¨é¢\93ûPÈ=éÛ,éxs¡AíÔt0(@Ú&\80ö(\f\10\81î&\80ü(\1eûC k\13@\82\14\rr\10\13e\ 5Ŧ\83¦:\fæ·\1d\a8ùHBÀ§<\97\90ÐJM>Û\9eiâé\9axÉx\r\ eB\88B&ëð#\8dÐ\1a\17­;knxA®é4Þ©        ±ÌôS\11Óï£Ö\7f1±37)¾        9+nt$M~ëÏ%I\81)\ 1\8f\10\80C\1aF*}.`\83ý®õ\14!\9e<;sm\ 6LJ[n\81+¸ãuoZ\9bò\9cÖ°\84¤Ín\b"jôóÉ\b\9d¼Ðd\84#v­¹é\88ëw\95\1c -9\1e#] B7Ô\93Ù'Ò\92znâa~¢a«=;\Ð\80³²nâ\9aÊ)ÞÁ\1e¨M¹8e\13ÅüMàÌ\b\8dõ5MÝϾèICL\86\0é,ÿ"i\19\94\f[Â(ÊÑ´8³\13òÃ\95\92*\ eÐgw\1d=l\81&øB\ 4\ 2y+ù|úRùÊ\9e\ 4\1eæØÎpÚ\94Ø\8dÁ\15³t\95\12^]\94\80\80+Ò~TÓ­RðZ\1c2\eìª\ e\12^IÄZ/BÑcBÍìPMw\17Õ3 ¼ùe@ëM©\9d\0<Óò\81¤.ÚÊ$Vb\fVx\rç­\e<y¿6¸±>t\12q$*Ù§\ 6^r*´Ô¦_\8e\ e#rÒXúLá\aJ3íÍøsÈõº8ÈÍ\11ÿ\93Ýß\955aR0\84Æç\eì"?\97Å\9c¹\9eØ\13\81Ò #Ô¯¢\1fÔÓöÍ\9bD;µ\ 4\a\92± 7"=Gf O\ 5Cð ò/H \fñoj\1aIq\10Ä\9e­µùí¾v \eK½¨puX#\99³;kËÚ£!Qǽ¨LýM ÞÄMzûC\84î\vn)PÔT\13\18Úrmèõ#&Wp ^\f\96lq°jí\1f\8e$\fðDRøÄ}ʹæ´::FÐ\14\9eÃÙÎt"\8fZÁv\98Q±þ§¸Ð\87\1a<C`6
+\r¤&\89®>\98sÐÂÓ !ÄÔÖv\99øå\7fì\7f\8e\90çeXý5\ f\e\17çMÛç6¶\89»vkH@`0xa¿ì·[¨6%9Þ¢ïp\10â6âN$ät¢\ 3I'Up\87U\6DhV´êÒ4+Ñ\1aâ¶ÜRr\16Íp\b\1fhOÆeí\ 30\88ÀRNj\ 2z\99ßS\84l4"æøä&kÎ}g\ 2 2~©        \bµ¨(tÔ:\92*\7f\9aqp©¼±\15\8bÁ\19\19³¹\1a#\94\88ßg±rä`©Ü\8f^LÖÐ\9c£a\9b)
+ÏU4Ê\1fùØ!\18\1f4/ò\17~2\ 4heê,Öôÿy_\83k%\81ÚSRLvÆ\948\ 1\83\8ewõö-à¶6\ 5\ 1$\90\9bX0\ eØGð\1dX\ 2ö,­à\b\15>Áäà\ 2\87ÌmJ\81­­\8d<\92o;\83\82ùi\ 6e\ 4\94Äþ!q\ 3g\1atTpn\8cÄ®¤6 Ê\16P\ 4¡ØÂ\104ìô \84 [a8f):JX\98>DNs\16s[ÂGO4\12ª\11r\ fIs()W²\ 1Øq Íé·Äçñ\9d\11\86\86k\9a4nwu+\19I\8b\89$A\ 6\87N8ç¯\88ÊN\8apx"å3\16´1¢D\ 3bgsIª\1aIP®\9d\89\12u\12³/8\ eÍS\8f\big|&}sYó    _>\b\12\5\9fe>s;`¥×®8\ f×Ó#÷°\£\9b\89njÁ\1e²åIÀ=ÐÖ/\91O÷êPYY\91\99úp©6ä\84\ 6Ú®¶I:)'öº\18ÑÇ\1d8ç¬Ù®\826$\e_\84l\ 4
+o~@çSf`ã\a¸=v.\9cA_í\b\18=ý3#\94ÐüÄtV\ 6äsQ1\10%#f°UFâ\1f\1c\98<!\14çð\86\98-ÈF\11=\ 3¸_.¨\8e\84%X\13\ 2u¤ÒäjK\ 2$\93ª+­ª+\9b\96I\178.9ìë;ûõBà\94\b^ñ¾kÒ\8d`\88F¨«®\aW\1c¥\8a*\96nU\90\8eÕ\82\91\f O»i[aB\9c\ 5<\9608÷'¦ÿ\8f\98àÑÅÉ>-\9dqmª\ 2B\94\93kP~4òè\ 6ÏIg¹Î\8aô\13kçY\84í»à\9dfüÓÅ»²¡_;­_àO\1cRkRg¢\9fgAuÀä(æÞçu»\89ß)\80\94Û¨üöÂU \8cç3~é\16w\ 3\ 6\99¾-\925\eüz\80 +\12¶K \93þ]'¡,ü4\10\ ev£;Ûh\1c\19¤¸ò"É'ÜÉGú]Ù\ 5'rE\9dì:(\eÃÙÃÁ\fáL7\87eZ@Vâ%`ÿ¸$®Ü.ÿú\fáwOü\r\83\85ûÀh³îÔ\13\ 5^\9fú\89¹þ\1d\8aÅ-¾Åb\96ßb|ð- \1a\91[\83p\ 2\14\7f84åÔ\86ÇÝ\0\1c©<\ 49{Ë=«ô]\r\90ãb \9d]\13´«\90_\1d\14«æ±d\e\1eì\bRp$v\82r\ 4¨(\17ï-¹\83º\9cÎ\14$v\96æ" M-\9c\8eÜáW\88ÜTA·\¬lvC       ²8FÞ(ÆJQ^¶â\ eë¢\ eé¢ZYå5Õ\9a\99\9dº\8dF\19V\ 2k¢Q<\84nìùãä\134\8a¦À8t\å;¢´\95\18õn\89Á\87Nò°DÐÚ]¹âå\e"\ eÔÓº\17ã\90\9bsP\11V\b£\81¸4Ãõ\87
+sý\9d`ýóéV\ 3L?4\93 i\87\11·\9f®\ 6\98uÿ¬N:÷\f?¬ZìÎÇ÷ß\13\1e\97î\17\9e\rn\1d\8aà!p§Ê\a\14Â\ 5t\12ñ\eIL¢.<Î\9e§ÞA\1fõEs<¸ôK¬5g\99^I²®v\8dÄ)\12ï\90&\81\86\804\ f½Z\11[nÆ\1dÍà\bñ\88)³»\e2÷yÚ·þR\91Ãv\19°uÃ\9f\87Z0öåjïÛå²î\ 2,¾rÐç?Öa¶Ý4?\b\9c3A\18ü\81¨£\ 5\8dâ?çpfõP~Kî\82+\7fº@)\1fËT\ 6f»ò\ 1Hÿ\98\8c\19\1f»\9a?qÊ\ 2\938\16Ã\8fN\11\92\ 3Ù\1cjÆQ21\19àǽ /\9eò(rj\f?ª@¸ÄUÜrçáë"UÇ\18$þõÙä\80uv÷Ëõ>ì¯=èÈJù>ì>7ðt\19ûK«\83|CM\8d\9e\92[\17xðuØ\8cV¢×\99»º\11^\17Gå.êâ%ÕÆwè)\rÿû\ 2\8aû¢\90_ûû\9e÷ÒÀì8Èü\9c\8eïõ<?2èW\87Ý\13b\1d\88\81\19Ø\85å\7fí$¸<¦^\v1\13\98\8dÌ8ÏìßÒ+ßç\104·Xb\v=â¿qzí·\e\7f\ 3°\90ñ¼\88lç¥w£ëhº¦1¼cѶ\90\ fU\97\8aú¦>¦®»>\94ùô¿ÐmÅ×-K(\92\r\aÍ\9fJz4¿Ç>\94üb\1f<jë\fúS\96\7f\ 1Ø-ûy\9fJqâ¼rû°\93\14t crèSË¥õgÒ\9dLýûçP[\ 6h\eVs\90\91$\ f2ào\83&Ù i\80îÛE³ô¸¢ý¯¹%C'´\8e\10å\84\1d^\9fÎD\ 6\10'\9b7\13v´Í>Îãmk±\8ct7kZç\aQxß<Çã\9eÔ2\12ü\86Ñ\15\99æ? ¡aà\ e\15Ì\e'#\98ÓÐ¥%;\84\12È:Â\rä\85èmµ­ÄIYàA]yD\97(YíNáM¡c-\85Á`ä\84 \13¨R9°'\10Â\7f·Ï3\86ìÐ\85Ðz\91h2\9dâ\a;\ 1Ïp,ñÂÌJL)Í´{£\8b-Hê,X\bÄE*[Ug\108ö¾=\90\87AÙøU\16hؽ´Ý\91¦o\ 5\aÎ2\13 w»zeg¹A\9en\eíȽo¶\aôç½OÐ7Ì!gg+Ýc\8d¡¹\96\eCsW\88YÛ¡\92§©/#:ã\81o@\85\ 4 û \b\8bî&:8\8d~Mµç§ñýÞߦå{8Ïý\84\9eý¬³õ®æ¢\994s\862\1a\83\vV/àíï»\19YùÎV?Ììô·Þ¢\ 5\8cok m¤ô\85\ f¸õ¸\ 2)L÷DA1»\16P¾S²Ýz\1e4þªCðêð\9d\8e\ eؾ¤\ fÓ\17®Ðò½æ\93¼{¥\8fû\97xÌïYçPé×®t\18ô+×:Ñ\93\1d\8a¯?\1fþa'v!$×\1a\80ȳ\8eÞ\97\1c\7fØ\aêòñõâ\ 6GýUM÷°èÏp<=\86Åf"þó88ö\13G±\0.ñǬº\9f½á\rå¯9JK˯«)I÷;\15\9cr6+8ë\0ÿC\18+\97Gïy\9eàz\14¶±\87$u\1dÔ¼µX\1ds§Ww\e\ 2"´Ðp§¬ì\88ð{#¨sÂg7ú9HÏA¦D\85ÐN\86\1fEs\10\80b¹éhrB\13I49L°\81¤vt&\98ÇPçD0Kh2B\ 4øò{ªH0¶è¥c4x­D^\8cáFâÓÆ\81\13\10¼\84¢»°\11ɤÏ\90RÖ_\98\13\91Õ\rË\11\92±\90ÇPL      \1d,ch)'6³³sBitâ!HÞ\19YÕR   cs\11´\81TYµr\82\aK2¢[E1]~P\83ÜÛ\f}\8c§k\16¡à>PÀ¥\12\81\b3Ï*Yÿ\ 3Ú\ e%\9f­²Zâ´´°ç\ 2w­Bkj\0\8b\9ax\9a©ª^\b IÀ\91©mÝ.\85q\87%ÏÊ \16ôFµÇë\b\90â\a\bòr\946κ,D`®ÕJ7á1i\ f³q\bG«1)£|\ 4\13j­2\a+\a\9bíõ\ 3Ϥ@sÙK\96%\7f\98\9c3M\88ÓDÆÅ\92\8e]¦C©QG.De\81\16\96dTb4͵Y9¬HÚìM}³\8bì%5þ-. T\83\9fЯ\82(\98\8cLÔ©ÌXö\9b\90\8bK\12¢f¨é\9d\ 4ÑË\8aO ¦ábÒ¾\Î\Á\89~\12L,÷\94M\10\8e #@\81÷ÄM"{\81\11ü/}Ê\8e>8½\14\9d\14\¥õÀUíÞÔ\b\87¹Ù}Hþ5\84WèÖs\92\97å¾-Æ~Z_x\18\97%\14\8b¢@ü\ 3Ѫ?\0ó\99Ã\95\95\10\88òê^ÄRÅ`\ 1¥\88¨\vÉa\07o*)È^Keb\1c\ 5ä´jÀxÑÚÚ\16+å·\ 3ïã¢Ý\8f¿\8d.\9a\9dÎÀù±mÂòo\96\8aXMòíQ\rÄ'W@q\83=\88\8aXds{Øw;-ÝöPæËÎ"\ 3jû!\ e\80=­Ò\13<\90ùG}eQ\19Ò\f\94\98\84\8d\13íñEM¨á\v\81æÄ¬\10C\84\1f\ f\98ÊP\87>\r·,rIÍÌÄ­³!0\87§Ù\97zÂJK@s-[\91¹8\18\e0p _}íb\a\1f±g$£\11ò\94\8c\9cï\91\949¯4ÉQ%¯,ü¤\90­[6\91· ÜnÛy\z\ 3\17ìBÿWa\14±t÷(j°\12\84\12U\9a#\87wËñóäbqþåAD\r\96\9d\0çÊÚ\10\89F\ 15\97\12B¢È¡¹\92èc á\90xÐÛ§ã\8a
+\80\81\82=ȯ-­\8c\85Ù_lã\8f¯ýl)Âb>\85÷R%(#«ãT6ü\91ìù|ñÅ\vÿ\94P<ávQ'"\ 5Ï:!\ 1Ú\1cEoÅAùÎ\1f\18\83ö$lÀ\9eBù     ¸JsË\9cÛ.A\ 6[äDY5g6Ì\1ad\99\95!)}Õ\181\16¨¤\aÈ5\ f\9epÂâ\898z î¥¥\93Tá"\ 4\ eÃ% å×
+\9d\v#ª0Q-ÿ\90\9b\11#\8bK\91Â\19\8aF$í\rõ¨\92¬\ 2\81ÛÍ+\81Ï\10\9a¦\88wDPs\ 21\fé=D(\1e\16O\9a²0À\81\ f\95\11)\87è]E4¢iþ½Ê½Õk¢\1c:¬â\8a\96¾Fãt\875Cç\91¥ÉK\88x?\92ËÀ\888Xö\9c;¯ÚxϹ\14-e\9ax¹ê)@\13\9cÖ¡\88POM04\87\ f\ 2³»$áC\19Å&Ô^îH\0\1f8]BnÆQA&ª&~ô«\92\1a\82ÚÄ\1e,øT,eÕ\ f3ÄÞ\10\9e\18o\8a\1a[\ 2¢A¾Fô\0Ú\959\98PÙËç\8f×r#\9f\1a\8e     9N³Ó6ÔÅÓ\89\90Eÿiã]^Õ\bí)HÍ\16)Åá¿31?l#l#_è4ñ¥5V\83ì!¢vHm¼\1e\10\85\ e÷Ó\80\92gH\81í\18\15Tg\8eB\ 6Ad>\7f\9f\84>\88é T¾(\928d *\ 1     n\84\86Ì\89*ë¯#:Ã\8b9G\vÙ±[\ 6àXÞAgòÛrT\91@êáÄ{s\8cr ¥\1c]¾¬d\0j\ fîÚ¢­Õ\vèlÀD\86\96N~ÿ\ 4%\1f¦U¹d&\8e\b¿\1a\bsÃÐâðFN\8aö&ÒuÝGQs pó\rÒ\14hlØÎ5ðØ\fà\12\12×û\89¾ÀÍ/ká¯Ù±£8ÁÄM>lÎ\11xoÓKãè=6³\9ba\1cÐO}«Hí\9b\9e\9b<E*î\81þ!M\96!Dx\1cùÛPþcÈ?\91\87VTB\7fB\9d9\ 4¹ÆC\8fi\90îÈeôx\86m'G\8aì\9e\12¤â\99cÌØH{\15¡\1a        \98Á)<m\17\1e\83îøü£\1cMx¿Ç)\81Ñnºä+\ 4!êÄðOã;¢ÐFÓ\1e\1d;\98\95aÐeÿ\fv\89\f\9f\ e#\16ösfõ Ì3@\1c¡O¹buM²Ü\18\82\ 5\8e\95\19::\eZ\84\r,Eæ{*<ÂÏ·A<Í\99ÂͰr\ 3nÓź½\8e\8aÁ:]`\92AíÂ\83!\ 6<ln\ fV;C¸Þ»\90ë;ç^¦#â\9eÄÒ@ô\92bHÁq\9a>\7fÛ¦a)E\80\1d\82x\81%ýgaÅ\90Ä/\8c\0*ý½\18W\ e³\16É6û¶ã\8cjo9\ fþ!Wÿ)C\ 3àB\9c¤lâ»\ 3èÐH\1eÀòû¸D\ 1ùíw]IÄÖÆ\a L¾âN36P  ùé\98¦\893
+w÷\91}\eÙ¼\84<\8c(ÉÌä¬r\90çÆ\ eN\8aï\1ay\ 4"@j\14î\92\ 4¡ÖY@\9c;\10~; \89 Íû\16\99.-\ 4\0ÆÓ7ïZT<äâ%tFêß6\10\r/Â>Yà\80M+ñe{;\91\96²,óÛ1%{ïÞ\84"\ 2s\10\10G»^VE\8f¹\13¯rw\12\b\9cüT\ 4\97\17¡\12\9f\9d#\19q J½çNQ SÐ\8bIÜdG|Û¢\aüÅdF&_¸D\97$2Á\ e½{ÝcJWþîLÎÉ\932vw$&\f\10\9a@$\0\ 1Y\80ê\81\11&I dH\fY\15\14\0â  å"LÂ\ 2¢dp\12dÆ:(뫵wb¥|*Uj¾ Gk²\11B\0ê\80« º¨.ùz1Õ7U\80\0\99ûûÿ÷{ÜÌ\92@@GtµõÛëçç¾_{ß>^\ 5¾à{\83y\9e·\83o
+òo:ß \vɼK˼\eô\ex\97è\14§Ãíl\96Û¬½ìOê´ö"¿:¯â\87Â\93
+ðöi
+´zb    )û}C\a\92\ 3¡Ô\v\90þÙ
+ÔN<h\9d~\ 2\1es\b\ 5dF\8aÅæ\12¥®ì©H\93\ 6¸\9aÞ÷¨fòB¥¨í\1cõh¶=ÎGPØEðR5h\8f×\fµ\12åBMmj\8eíÀúø\ 4-.\96¨ûÎ\ 5>(ZJÚ£ë¸\v;\19%\eË\10E\17\17[½ª6\ 6º¾+KÄVÌ\8f¬\15e¥:Á²0\96b\8auê4:> ¿î¾÷Ý\88KRç-X\12Ü\16\9düÇwðãYj(:øVcY\82 Æ\84\82!\91ç\\1d\ñàÎ\0çfõe\93M¢ªVØ¡\15\v0t\ 4g\10\8fÏÂ9ìÃ8\94\87ü¼É#ñuTïÑÊǸ'LÞQÔð\18 Î.¢\8c`Åý\ad\12SÈ|»ÖfØ*±\86V\13t«R\9bj9\98\8a\827äFa\ebñ«¦?EN#\16æz\8dï\9djÄÑ\r\88@\8f¨\8f¿Mo³Ù\ 4\1e\81ÖdÊ/jÄè'ûñ\95ë§Aä\8e¯\ e@C\91ÎU[ûç\8d\ eÞÜÅ´ùÞl\90ôÇ\1dç[\92\v\ 3æ\16\19Ì\83Ñ\1fÌÃiV1\1a\94O£èÁE¢ªYP\1fRP\94\10@\84\84\81:ÈÖ_74VQ©ê\91Ü\9eÉ\9cþ\19/\}\ 6A\9e¢¬n=@nS®Ø\11L\94r\12HïDÁÓ\1d«\98\f¶f¹Oô\17\87n`OìÙ\15\9b\12Oáæ\88¦ÐYç<ÿ\95T\v\97\99æ\ e.\19 Î2 7Q\88\11ÿÉé;r\17l¬Þõõ=\83
+JIúW¹((ÞM      \81:\eU°<²\90]2\81Ð] £$WQí\98\8eZëÌAE\89]yáî7Á«us\ 5\1f\9f\ 6\97Uhµ×¤6\ 1\ fåã³LóؼdûÉ1\81\0\19«±°u7³Ýg       s*06A\95\b¦íûÑ\19\9d\8e´×ú\8e\85ö"Qì}O`Ç%G=Jñ\13F-\146ÛF\0^)ØîY?Ü&ÆÅXTÃìGhõ7Ý\83&Â!\1c\89â\1eé²ÙÎ\9dIÝÇD@Ô{u\05ww\0\94§:\9d­Øáëï\0p%U³-\ 3Ñà\8bÖo\96\1e°\8exÙã\8cÎ\ 5¿\að_Î\ 1±¯'£N\ fåò\9a*Ävø#\98Ó<\r³\84\7f8E\98õ¾hP½\1f±ó\vâkpEÀ\ 1\81\82 \14­\a$ÉWêäÇÜs¬ù\87È©ðÌ\1d]æ¿]éÛÿA\8b©¾\ 2zB]¿µ\95\f\1fb\9b=\94©ìÙd¨ú<\93Öµ=\9b9ê>\92j\899ÿ}ö)\9az0\r×êyúJ:JCl¢çñæóOGâ\930IßÈSôÕ],ruß\9d:ïAÛ\9bæÁÙ²\9e\ f8Cý\83*,\16½Õgv\ 6,ë°+\86êT\15)§b\9d\7f\8fD:ÈÖ>\9a\9cëp\118[\81\v·«ûç\ 1\ 4\9c\15\93®ñÖ\vmAWé\eHoÚ\9e\93\10@\19\13\17 æÖ\81\bÇ\94\14\18\8fIè÷6øWâ\87Ñß\\82H¥yc`æ×[8ñ\8b\96:áêï\ 2\1dkȳ#\ 2Ӽܨü1\94\1a-®~3iðÖN\85Î\9fi<ª\91\1f\ 5\ 1åÓ\1d\81¤j[8Þ,\8fÏýR;\90z"Q\97<\84Bä¥:ê(Æn`:Dù({\7f\12Û\9d|ãN¸\9a(\1d\8eá\9f07\9f¤;,3\98\13\92\95\8ea\eÊíiÏ\b\1a©d¬}\87\11\12<iµ\91\8cdBú¼Ò\88Õ;UƼÝ\8d\e\17\1a\ 6ãû\80f\82\ 2\96\ 6\85ý\85è<\8dÎ×b\14Ó\99\85\8f
+\85\8d¨Ï\97j\ 6¡\8auÛ'`\7f>\11P¬LÙ·7\9d\9b"H\b-lCÖ6!I¾\8d\1e\0\r\ e\8d°\8a¿ªBV\9ckYÏ`\v\90ñQ5¬É\e\19\9fa\99½\90©Ï0\1a       ½c\ 1Ó\aÙèR\8fd0î\98=\8e×Î0È\1aíBÇ\\12\87G­ö)Ä\91ê÷;:+:\bÐ\ 2\92ø\953P G¹²\10лuU3?\89~¶3\1a\84)2pæ\93Sít\91\ 6i$Þ\ 1\9b 
+¦m=ù~\ 4i\16^'ús \8cåÊ\ 1\8fÓzI\95ê\17ë\9báEÎ)\1d±\92\ 5t©H\108Ê©\91TFwä\13í3çûýˬ¿«\81£n\9c'W®Êb\8fu˰\88P}ë\eûó\aöÔ,\Ns\ e|\9b²å Þ\8eâi\95XRÙzÊã5\e­\õ3Ñ÷ÛlØëÑ6\vP$½n%v\9a\9e§x\81\16¹8Väñéà4*Û:=õki£ßiU¶\95=õ[g½\e¨        ufÊ]¥   ¬:Qa8k\0¥\rí9ÓX^\rajÅ\83Ì\10Ù¿\8dà\1d\9cìu`\-\e\16\12º\880\12bèß\88\82\8e@JBü\7fAáÄ}h6Üàû+'_|\95*Oºoþùø%\ 3èrºÅ^×\v°8Då\1f\7fBN%*\ e¤ýÎ(='Í·íOhõ}®pá"WI}T\ 5¿\1e\ 3YÙð\r<\84Çw\a¢\rs\85LQ\eð)lÁÔ£«\ 1¢ü\1aFPæãÌ\9473&xó!Ó\ 1ZX\ey\90\0\98\98   7<ȧ´LËÒZF\1a\94×âÌ?$ÍÄÃu<Ã\9b<Â>Å ðæ\1f6dó\ fby\87Ì:f\8dÄýS\ fà¹\98\93\8f0çx³\ eQY\86ì\13\ 6è\ 3¦\83\13I\93S0Ôý$B;³$D\14\90>K\bTl÷\8cK\8al"2<x\8f¹1o\11\ 2U\f°¡ !~ÎÞº3G¸z+Ü:\83Ü<µî\14'¸yK\6Jb\88P×7ÔL[N¦Á°\12@V$+ó\11=0ѧ\90ª\ f!\eH[Å>hÒ\ 6nc\8d\86×þ&\ez\ 5&¥Ï¯ JÓ\8cwç8ò\aÁ|áÈ\1a\b¯\8a¶WÅÈ÷[c³à+t\95\96wf\7f\ae\vL~+Ho´\13ðnç\ 2\1f°2,\94ê>S­\8bù©ûÕÜfä\96Å\8a§\14A¿ñ\1d.\ 5ÂÙ\9b\8a\å*Á\9b¸\bÐ\ e"NØÑ\95sy}\1c\ 6QôI\r:æøs\88v\97`lÏ»\7f­\94\85HIUS9ó\1f\ 1é%Í\8eÍ©ãNá®Íg%N\90@\ 6w\95\9c+¡®WEoØh-Fï{Ú\b@uÌ\89\13çU°m\97£Ó²ùN3ÏÅ;l\88,ú>\19       ¸\94«¯Qx¹rÚRKûl]@G·¾[3\14ÿû\85JqûY\ fÖ\15)ÉÂ\81ÿPT§ÍÞÿ¨*SÃK\ 3u\8dÇÑ@sÕy\1dß\88\10\f\9b\95W\12\12njx\16\11¬\10\0\80\7f¹n©¦Kݧ9j\8e\98Ðà\12\96\87¸ç\ 1)V\8ff?l\ 3O\9ea\9d\16òµ1àÕºAa\ 5,Àý°\9fa\9fj\ 6Ô\v\18)tá2\ f±\1eð4ë÷,Á}ÃRJ\ 3\13ÕB~\8bê¼
+zxÚ\9bç
+\17Ñ\bZ]\ 5¤(\\18G÷Hmï°ýÒ\e»¨÷JÉ\81L]èßU x\87Å-2¶Òä\ 5±\14Ñ_Hó\13a\99¼kj\ 2UÙ{»[\87gÆ=ÉV;¦O÷)\83\e\ 5\9cgRÔ ÄËHò1³ì_µlx\ 38\90\0\ eO!À%ÂKæ\7f¸L$­\11}}\93*¢Ù\ 5+\ 3L\91É×ácǽhå^\v"~ Zu÷©,åàø Î.($1,\0Ù(zSÃâ\87\9f\1fæV\87?³f!£è«^°zÜ\14ó\96±\19\15nM}6dp¥\r«\1dàð\1eú,\ 6P@G÷S\9d»v?<Í\9c\99\89ï÷,\15ë&aà­Æ        \84ËG\ 6è\17<#\14\1eG\b\8c\95£TëÿmÐb\94\94\v¡£Ç\84_bM±Hrü·¼89\91ä\10û±»Õ  Lÿ\91\8cÔlD9\7fáá\81\1dø±¿É\ e\10\85%,&\16§\97ñ£c\18ÀJÝS·\ eÿ?ÝYV£'^òc\fÐ\82ã²\9d\9cÅ»\81Ó&ðöx§Om\14\7fE1\86¦<O ¸\89\9e\1d\81·\87eæ0ß|ðë¼HuÎSþ{äL¾6\19|ýk\TÛŽ\96\97ÂÏ$®rîMX\808<q¸Wdºj\89òo\9c\9f\1fï\9c<\7fj®?ß8¸\97÷®!ÿƼ?\1f\16\1fÈ}Hi×b\7f\8c\9a½\1fÝÌË\1dò°§]¯7\96Ú\8a\ eÕÞ\v]mW\12\92."l·7,^Üm\93¹ü\12X3Y¼ý&µÝ\9c­S\etfÉÎ\vÓs\a]Þï7É×YÏÁPÖnÜß=>ôÐíÓº  ¿\89Ý\ 2s¿\11 ÿ\9f\9f\83`íÌÝ\96q\9bº\f\17¸î\82\r\90+y³v/ ÁGó\ 2,\ 5@Ç^íÌ\ e¡\94È\11\1e\ 6±ì\ 1]\90\9d\ 4f¬.tG0\v\82  ÔJ\vÐi¯S²¦\985ùÞ°sÓ\r\88{të½·Ll1Õ\94ZÐfGì\13®ô\8d\ 4\ 3\9dþ\v\15ìæ?=\výÓdü\8b\1cÎÃ<m\92\9dç     Û\14BlV\vÈâF\r\8e°\ 5\8f\82Ræs&z¦$û\e\ 14Ôx\87Ô\ e\su/à$rM\ 3\83Ü©KÏã:¸\7fØENg\7f\v×.\84\13i&»g­W\89~\1fò">\bù¬\ 2¯\12ÿÛâ\9b¶¨¹ÿ½\éôÌùþèEãî\r'fÖ±-\b\85,ÙÂH\1c®¾á\8f\v¾^¢¸Pó\85sp}ÛÅw\7f\ f
+à(¹\9e÷¿\17¹n=ï \1c\1c\18\9bäÎ\aþ\9bÝx½ì.ox]\82\8ex+kÓ\9b\97áéÜ®Áì\94¿\e\10ü\11)½ãÍú¡{éø÷¿H^ñ<{ØiÆj^¸÷¼¨½£m{ÿ;Ç\ fÂÚ\87*àoýbæ)?\87Î3OG"Kr\93\1fË)ÙÞGD0ÅUÙ¹½ú)ê¶\ eà%æ]\8f\fð\13sy\fÞX÷}8L\89¼Ö°ux²N~f¼¶§¼Õ\8aÞÛ3G&2G\83=&t¬:\ 4\9d8        \10]ù8\16sC\8f\b\98¼\9a\15>\9e©C\7fû\97sð9\8e\8eì\áé\99Ñüæ\9f\86y1\93z\16©¿¥>\r4)ë$u¼\ 3\8a\89\ 5\10H\16Ó®!,öC\81üÚÜBMÜ
+Fsð)Û@b\9dr0\88°iãY;\81=\1aoþêZä
\ 6¯ U´\9cl¦¾z]P! \96\987\86júkíýýû}õµ7I{gdv3\aí\8cÁÔðbæ\ e\1a`'\9au\ 5ÂuÙöi×fZ\1fmèå\e¯¶ô½\17\0³°§_ÎGë\ 5y\8dN\ 4´_E¹Ï\82Р     Éæ×ç\ 6\ 2`9i2ÿÞMMª­\ 4\1a\8dö^b\8fzè?ÜZïs9%\ 6Èo|6³Tl\84nÒ<Y0#;L:\ 6ÁôØ­UÉ/d\ f9\85øóù½ã§\\0YÕÏÀq£6]Ap\82²9T_4qLıſø{\95çÄê!·>¾úТ\14ìÍ=Ý\8a5_}jV¼º¶©A\9f\98¥§\8e\1e #X\1aá"-#\ 5¡ð\þ\90\95S\9enN*s¾Y.·ë\98F\1c¹\84\ 4\13ÓAXå¡ÞÍ\vCµ¸Iaû¹)¶³\97\ e\8dÖZÍÍ­\94á%ÿJòZ­ê0Z¿e\1a\9b\92ܺUíÿIW/±\98¯\1c¤¡qóØ-Â&\80Ásöþ¾{ýq­_q¿\89\9eõp|á=H\99Q\¸:÷­\14Í\91s\14J\\82\9d§¨§R´QS÷\9eÿâ6Å;Ô­=ä58§p(÷g\7fÀi~Sb\89´\8c\9cý¤\9b\8fí\a¸'èå¡\9bI#\91çr\15\11ñ\ 1\eþ$*î"\17\9böÛñÐ¼ßÆÝt/7dÜ\87<Çênº\17\9bè¥\ e\85æÀÕ\ 2\b^n¥¼T/7¦!¨Ô\8e\9dºÈ^oÅo\11\vͽnt3't\88)V³ííмÞe¼T/7\14à÷«ZÓäÖ±íÂ_\18Þ;\14%ñû©.\9cCíÃ\17\1eÁkÀä&;ð\16#Æ ¿äC#Èb÷\ 5\1f\84Øýá,<Ä £h-´KÛlŵRöÛAmÛ/l?z%ð´«ÛW\vné{`Hôü.ñ{nü[wÊÛ        ïV'X(@G«\ 6\147D­§X-*\95´\19\9bÕöÊÚR\8bM*¶\80ÓMêû¥m\aóÉþ¯¼VÒdZwÊÚ_É6d¯\8bëâÊø¦¾&¯\88ëâ
+øv¾\1a\90³¿ð\90\89\88pÈ¿Ù\17®Û!Ð\7f$¡åÂgB+Ê\97²_h\9a-\83ß\7f\8e?*Z\9fÙäæTõÿø½\fÕ)¹0:\0£\9dÁdåaÂ\1f\ 5\11üô\96ÿqÀ\7f\ 2#ûâÞÊ\1a©Û\82sMvþ´'9ô-QõÇÒL\82}3Waw×¾        Í\8c^·Ul\16Û\92\bÃn\8c©ËÌK\8fzé§\7fP\17Ðçg(¶¾áÅêé+\vø0;b\18Ã\96
+\ 1Í^80á5.Kâ@\18Üy\94Ä\85Ù.ó¨ÄäãX ò\93\12=ôO(±4ÃÊ\80z;Ä©$yR¬ò¤õ¼©§VT\0\88C1&¾\18\10à\8f\ 2\87±ú@ÂiKî°gãQ\90½÷\83U\97bs_ÍÒ\ fx\vÆÊÅ\ 6ê\ 2¤\95ÁKh>9:X²yt\7f¹à@JÈ\9c\7f-otÅRA ¼4\ eW²LÝ\99ìò\ f:Õi\1cýT\14»\92\8f\ 6     ÌxY\12\1a¼p0qË\KÕ\816\17Pò]TIt\13$ñÒ\9bÝ
+J\ fx
+Lú_\88¯Ä\1a¥\10y\1f\ e\92V}¤PR¾\9f
+\89{ ;\92_ ,       78ÁoH:Z±'fÛ\ 5\19L'T\8e\ 5²×\ 1k,
+g=xµ\84õ\10·\81X¿Üþh m\v\15|\15°NFJ\1e\84K    Ç¸(ê[\ 3\12\84Â\ 2>\13`\8e( 8.ÌI¬«yý\9a®¥R3wæùj\91«ó\91òPU~¬\8e*\87\aÇ=~\12£Lþr\1c\ 5R(Íd(yù\vL^¡\99'Òý\84\91Ã&òô3\84j\ e\9b\vª\8eQÖ®)oå\93xt·ý\99÷{­\87c£ì?Üp #ð&¾\1dæ$¿¯\ eñ\1fÑ\87}     °ï\1aèçK\1e\1e\1dáÓ®GÔ.\95tßÑjsÒéfKßA\1fñª;bVÄOYµ¶"ká\85ÀñîÃ\ 6¥½OÄ\anºÆ¥æh+\196ÇbHÂ\81­¤\94>¼êÂúëx^^bkä\87\vÈ\94.\ f\9e\0ÌÐèÀ¡«\8bQV:fUAÚÊ6ÚÁ@)SI\eÄ]ø\18Ã\83\bo%\86ºs\9d|¨/µÉhçÏÃÍ¥;yQ[\93º\8fº\94N4\ 6\8eF\ek\11_\7f°Å»Tqƽ2\è¿Å×\wÓ\95/Ä0GRxu}\ 1Ö\91\84I\81\97:²ñ¨h­N=|¤%D].$\93Á\80ãW\94T\93Ä3£§\87PYKÇÇh\87ÃbÃ\a\87&ÛgÉ 5\80v*2\7f¸`K©Í\16\ 5%\1fb\19µÿJ\1e£PÕÝXD¡`YnÝ\Á°W\9aËa8ò0\1aI$¶àkLk\a5\89?"ÍÌ\e\15\16\ 3\9aÐ=×à°¾ìM0\1f\ 5\92ñH®î9fé\8d\80-S61®`ìßû·\96;Ue-hæÿ\89J\r\8a~FÆâLé\16\93\15ÂÚ\ 4\8b)A<¹è\155ZiE×hP\13ðç)B<¸\1däZ³\85k\ 1Bþ>×)»
+~¶\82²\8d:\17ö,\9cÁe&æ\0h\19\b\82Åÿ@\9dwS\19\1a·ªÈ½UçÇ\ 5\12áó\95}\93ó\95\9eØ\81Õ" ó¬è_ë[\0¨Ê:G×\82èì»MÓÿ\ 1|\e/e\1a]ÃRi\8e\98dGÚl\97\92µHç\87Úm\ût\1eG\11Eo´EK¯\ 5bq0t¾æGC\1eÇq*|àN\11/¯ª\1a\ 5ë\ 2\18ËS¦\92 ÆÜ)DÃú\a%Òuú\81|miË\9a5\81>çæ 3Ûn\e\ 5å\12tôì\8fù\1a\92H\9dºj'\vsïÂE-\ 4¥VJ\9d\1a÷U%l+ýv\93Éê\91ò\ eS\15¬\1a\9cÈÜ-%\1aóÝ\9eóá\95å\9a÷\90N\8fâJÄ\8f(íQµ\1aQ\ 1\81\ 3\9d\87|`l´~C\96\99\ eêBÐüú`\82Ð?\17L\1cSXº`¸jZ        \8cï\12sZ\82\8då¯\13M3ò%Ñ,\86\1f\93.\1d\13\a#/\eñxòåâ\91q\92ïêxä°J\94´\ 1i#\97R\8c'WK¢\92ÂÖAL©É\ fUFò(V§ÃDô0x
\9e©x|| `ÌI\85Ôþ\ 2É{;L±¶\ 1\7f\94"\97½\81\9d\81\87\80[Y:\1a((õÄjæ\99làÕoHÆÔw\ 2¤´æ\ e´rý¡bPCÊAìk\9b]k\a¼±·\1f\9aA\98!sMÜ\15!Ñ+K*\182\e3]GÒñ\17U:Á¤GiCI\8cz\8a\9f\17
+\19ös\87Ê\9b\8d?6óÈ\86\8a
+R§\8e¶§\80wG\1dà¾ÑÐÑ\1f\9d\12øp¸\8fÙoͱØ\83\v \1aÏdR\19\1d=èø\8cáôÎBçêkÉ'\16.Å¿\95W\10$\13\16_h­\18þæ\a»ùáÀß}P=ÄH\1e\8c v³Ì\98AD}0c{\1eþÎ^\ 2$\80\11Ç\16\85\eV,\ 5Îr\ 2=û8µ§õ@ö9\rPT}³ãwÉ\emÊÇ!Ý\16\¬}s;nV9ãy\93Æú\ 3ÆôÑ#x^;\8f/X¶ ÐA½\12sD\ 2î8\9a\8dù´·g\r\12\8bµ\ 1fÖôpôÁèY\85e\87À=üóú;óË>Ik¯ÂX\ 1ÕJæ©\80õÙ5\8c`Ez\8fá`÷çµÛ\1aér\16?\7fäFuð¶\18f\ 4·{\1dB°}\87AïÏòÿjÚ\9b\9eÍÓgó\99\9e¯0ò^ÿ\96ÀKá&¦\9cK\91¤v\ 6\88ö\9b7\9cÊ<Ìæúî4\1fîñàðú.|@PîÕ\8a\rXJ\17_\9f¶f\ 3öÃD½\9fî
+úrLÐ\92Î[\9f\95Þ9]{Tu?ñf>J²W\15²½¬m29?¦Wä\14fu«qùÏÞ¬Âÿ\9d\98¡ý©~\1e\18ë\vj\85ÛÏ\8eBìò5\v¶]\14.ÜÛ#\91\9fï9Ï\7fôóþwzÿ:³¿\9f\90\86\98\87îH®\1aÖࣷå\7f~;ܳ1{\99\1d}\0Ø Ó+öâ\1f&oú\8b\ 1\9f$i\rÜôV4\15\10u\7f\87ù®÷_CuìÐøô~~WÆ¥øý\8b\91ÙGs\\17äW^ûeB³>ÍP\8d_ß+ç¶T++üÊù¶T++àÕóàª\11¹ýUYr[¥nï\96\91Õ·Õ«çê«ç»WÎBgê,\aê\84u\7f\8eç°\eÜv3_ÅqoÞÜ[û×\11ÿÕqoîÜ[ø·\11û\9eÈKsÑÆîk±?à\16á×\v\83÷\15â{\92\8fss^jÿÒ(«?Kûù\97Ëk\16\8f+Êÿr¿Ü¯÷+ýÊÿ\7fó¦UÍ\1f¡÷í¼k\91\ e3\98ÔÓjsÚ\97Ú\9a­N\97SÞjku:¿÷\b\9\82èÓk~OoÇù]{sê\ 3«ñ#'?,\8a\eÝ\93\ 4.¨\84*è±\9eE\1f[ÑõNÐZ\9d\82*\9dÔ8úZ.ZI\19vÓ¼¿SÌ\8a\95\10©NÊP]²SÔ\94¨Váô½\88ª\vÈ\17Q,î{\1a9ùé¦\8d\90ÓÉÞ£\18IË2\92\94i%ÚH!¡¶;\1dÌ\1awíTc[9\1cxÓGÈw4}7GI§\93Ǣɣ\19;ÇÕ\15`h¤9I\80ú\80ºÉkãHÆ\r~f\16÷Û¬;ë\16\98v\99zÙøí/r´â\7f9Ä?Âto\16t\92\8ddyª\ÓV)\8bHÏï\9atòræÊ§&>\869\91ó\96\13\ 3Ôd\8c\8a\82â\11s\97?;\ f9lòTtsÈJOÇ
\1a\15¼ùó,Á\ 2Îc\ 3\ e3\8d9q®\91!£»!ùW0Ñ\8b\1eZ÷IK°©c¡Z\92ÓX©eiÅO       \98ð\93èed$åãd\10U\97\1eñ¼9P\ fû@\19ãùY\94ÿÌ\ 2QÒ&Õ\12}
+ÙÖQ6ÅVÌ÷\ 5ª\9bT\19 ½Ú0ÚÏ$ÂM¢-\11A\ 6\9c&\91\91m¸"ÚA\84\9cz¶ÃÚéÀWpÞðn\eÞCØ\9fKs±>vZ.ÄúQ±?\1d\e\92£¥\9e\9d>áF_ß±!\93\ 4\e2¹Ø\91mtgKIIC'9\1aÌbn]©9\1a©6¨´È5Í1A¢eg\8dkñÆ ÒD¬ñMzøÁðe\8c\rµm\ 6\92\ 5g}kPk6¨  \1aìÓ~\83F\85d\93M\ 2\r#ÊeÇ}s/Ü\892Þ"L¼¼I\96V$Ëu\872ÊC\99dÊeÅ¡)ÐÇd©FѹèÝ/r.9\192ÚWL<rtÚL\9eS;\94¦\7fTþ«'\946{²´Èe¼\1c/àËi\ 6Aé³Õ\19W\8d\19\80\\9a\17\15}6\ÐQwË\1a\10µ¦8Z=ËSB\12Õl\8aù£\17¡áB?\1e
+,ý\8aÉ\9cd\15óöUlklýãÑ_?n%\1c£Èô\v¸þ\9f\9f©æ\98­¢II^ª¸\ e+zQ\9d|<\aáîÓÆ´\89\80÷RÝ©m&\1aá)Í\96î?íÒ$IfËż\97II)6}]\8f«C\8fìÕ£0®)\8fä¦xÏ2\1e)ðõWÅCÅ%uVº\96ª¶ø\19K<kµ-Î\11\9aáf¯ <\12v\98Ä\97\99ʱioè\ fgÔ ÌBdç\91\90HG¨i)eÐ\87±\94\Ü}79©ï¦\ fqsf¶E\9f3êFÀ¸vN\15²4ñD\83ll¼M\88\8e¨f²H3u<o\19La¶%OÏ0«Ì!ÑÐt´\95y\86\8c©(z\8a
+m&c'Ló&m8ò\99\e¦a¤åFPÖT´\18ê6t\94´\93RQÍ\va\95\17\®K¡¤\9e\92º4muðê'$0\1ev3ñÿ\9bmM\90ëðô\82S\12~VS \95\106Uy¤\ 4R¯4Ñ\94ó\9a9£NÔ43óBv7\9b\83y³7\9e\10Þr\ 6ó³é\r|âÊõbð\85\0\8d\v\16\8c¨\ 4\99Р     \0¬¤\re\85­û½Î\97\13(\87\v\a\ 2\18W, \85\8b\f(\84Ó4\8dª\188\82\1a|Õl\97s¦Ì°¦hÑ{\8e\80µÇ\90\85
+\16\85\ 1\87BÖµÒ*út+qì´±u\96Ó\1f_XólÚî{\11\98&\bh\vÈxd_\e=³H?ª\1a
+°Wͤb\19\19qw\19\9d­¡<°ÓwÃ\96O,J yXÑ]\ 1üÏ,OC\96\1aG-`ÌÒȼ\føéóM±òñ4ùuBà´\vqþý\ 2ÜEÐ-ÇÛ ^:.\81n\15Ð-Çú´\vqÈÐ-Âú\ 5¸\87 [\88z\ 5¸þí\ 2Üpô\v\81n\17Ð-Àµ­Æ¯ [\94x\9a\ 5¸\89 Y¶Ö\9f6\8d\97Ð5ÂÙ«dµ\82'Ð9ÀÍ\aÙ s\88z\aK«,˯ ròËE¬\1a\9f\ 3>\9apÊ.¡~4<:\8eºK\1d\8bí÷¾_F¶÷ím2ÑÓ\9biT7¶\12¼~ª¿w}ï÷\1f\1fô\9eN\7fõõUþ \94­¹#\9c,c.Hå\9f\17ªÁÜ\96\14¿¥u2ñ;Â\9f\10\8ceÆ\òpÇUËÑrßþ31cêyºÝm\ fÕûR\9ex:ª\7fýJyã¹ß\0±\7f.Ûø%<ñð\906q_>GUËÏ0?ñ9\9bå|ù\1dW,\9dª3x~|\8eðÿ±8îc.ñO[uþ     O>\1d^,¨\9d­å\15¢{º\99É\15=ëfJ\94\94õ\94ýíÑjÊzM\8d:\15 \9f]?0àô\855\ 1\8eí\ 64W\ 1æÿ\89\81Uæ,Å0\93Ä\1e\9b÷\88\8a\90
+b.ù\ 3¹ÚïåºE«Ó,¡?æU¥\11M)òÈ­Fb\9fÑ\ 4AÓ"kìt\98\1e¾*odnJ;\19a\96\13ÙS¥º.\94( íµd8ýô{g¨Ðh¶Ï1 ê\8a\94KCchÚÇp\898û4õ[.õÎÎÓy¾s\88õ3\91\9c+\ 2@Ç       ê¬ñ\1aÔñ\9b\14õ[w8\8b7)Îíªì¢·\95:½¼J$?¡'\ e\89\ e*énjx\0\8a¬½\92?Mß×I«Ózm\13Ö\ fÌËTþQpÉ+IduUÔÌt\ 5I\ 4Sù$â\88\ûfjVY\97Ð\1c¨!j%Þ3:\bn´é´V\19óY\95\1a+\871ôæ¶*a×<U3±\98Cc"\93²dD³Ã\83FsXë\84êÇáfÿÝÐÍì{4Åo,tCÇû\8d\fÝ\9fe\e¯\8ed\87\r\ 1ù¶T¹\17\83ê\15Km¡PøM߬'mg\97]v    hìIßVM6y %È>\94Æ\87\ 3gTÖ­\19\91ÝSð\90¨«&næ±Ã1Î]*î\81ÌŧçkÁOD\9dÄJ^©þE´7'\9c\ 6Ry_¥' ë§p3÷¶\13¸\17\97¸Àüü\ 3\rüpzTåNÅ\aÏ\88\81ÆX¨Ï\9e|ôhÑûSUÞ¾\9f
+\1cÉ/¦\9e\85]4ðÒVÊ2ü\b\14EÜÉï£èø\13Lw\a¨7ÙÔîa\e*gS"Ï$æPßð¡\eL\88ÿ      h       Pó\17\87\9aÿ
+\12@\96yÛ@"²U:)\89¢¦ Í)Ú\1f¦¼`\93:\9c³V\97ü³:(K-Á\89ÔY\ 1>¯U*p+Ó\12\0\94þfI\ÖÇ\ 4¥"¦\15®FÚJæh\8e]ªÍ&\12\14\87\83ú(_Ø`×\94\eiCj°\92î\9a`§ÀrëVTµ»\9c\178ö=\87Ó\85sR6ÔÈPAZóÒ*åw\û»\1d\9fÏ\\8fE"°\89Ý\86?ußbq\12'ª"<\91Âì\14ü\82¬´\14¨ÝS\1a¶§è\1e\ 5e-fþd\17f$\1fÌìÒU\ 2?\9bÍOTùAÝ%\16\9a\7f\81¢¬GÆ#\19ª\97\99Á·Â¡ò\89F&\15zïñ:\ 1'hR\7f\89Ï\15\80oáñ\9eK\ e\aQê¥4\91ì\86\1a[F)VD\83_\17ÏÁ³\81ôçìu¡´­úz¶Ñ~ ì¾
+àR¶Ì?±\ 5!÷EÄ1\97\väÞÉë<4³p\11\17\ 2\95I\÷\9fA²|ÌðRó\8f\r{"¥\81ÈÓ\80kEö\98³ÆÅ\98R[Ëè)Í\9bAM\99\18Î\ 4¥¸<M\ 5\v}\ 5 ¤\f\1e\90\f\96\16odòAN\8cô\87\1ay\v|Y×ñ:\81\85\1c\85¶[ý\83g\97ÀàÜ)\9c%Â÷üÚ¦5E\83ì÷0Ñ=\10\vÛ¦±\94yu7\8fÜOF:\8d¶¸\8c\e¡ÒÁ_bG»4\0\94íH\7fV¶ë\91ø\9a\95_´ä\\9fÖks \9f®uÆ`ûè·ÐL\88Ï<M\ 4Ý\1e\94fYfà\9f\1a`[IcU_¾y/ô\95ÿÔ¶Ê\aSo'íN%_{³ª7\8c\93\7fX)Jç·¶ø'+o!í\94÷7 F\91\ 2ñìÀ; $w\8d.pGè9°\bè>\9c\11Ø´¸Á\18(ú`Æ\7fNs\16ìÎïÍñK,_ÈkÛ\ 3m?\14Í5HÜ\9cMüp\855}\1a¢ïhrÀ»ÛÕ¥Ù\ fº\8ch\9c¸h# ,\19\9fª\96\1fE\1aê\92 \15K\rÞ~\ 3K\ f\8d\93Ù:©lX»Ët\ 5ã<\v¿¿4\ 4?\ 2\ÐùL±dõ\96#dó±¯\e\93ð;<FÓ:\9dSqð·G\\88þ1\r`I8p|¦\85}«ü#\8a\ 2\9ft\8eøäcÇ\80>\17\ 1xgÙiìÇÃÒ\gßÛ<
+ªãe±.18\99÷«KR>­\80¢;¢ÝRCê×íR>\ 1\{ò³îãâ9\97³¸Ç:cöQ­º\8a\9d÷Þ\9e>\19~\0Ç\\ fýS¼\rµzÛ\ eõ\9a½lß¡?t¬\97\8f\8bÖØpÊþ\ 2\90ÅZ\91\92\8b£øÇüì[lÚ\ f\81ËÑ\aeS¹Ý¦\99²\19Ý\9dßêx\ 4ASýèF¹¹©à
\15Eâ§|UT9J\9dñUQ$*wª|\9e\8dì2îlhÉÝ«:9óõ­¯ÄÎ'\Uê\8fsíW¹©\8d\98»\80\8dAÊÁ\1eLô¸Y&vÔÌÜ   étUŤ\95\9b\90'Ú¡\95\83\92êT$\15I\ eà\9dÇRú\1dm?£Õ¶<ãú\95ël\a\f\1f\1aùù\8aUúÛ\ 5\14\19k¨#\O¼ßÂ|yðU#Ê¥Ð3q#Òþ\9f\9f\80\9b\85Ö{Þ*>\90\9dVKlHÈrÑä\17y\9aÕ\8dú³\91\93\96È«Ó8Nle\ e\16õuÈ÷\91Ä&k»\93ù\11`èS`uRS÷£\8e\94 \by2Á\að½½ÝT\88N\ 4P\86®9v\83ÅG\90%O&»D\98ÿÇG\8fñù)\15¯¸þÄ\8a×\96þä\8a×|¶H­rÖÉ\15¯x~ç\9bä¬\91ZþDb\89Ã\7fØtS]±<\13#õ$V¿\eý)\15¯Ä\88\91ZÑúÒ+[û\84\8aײÿjEk½\7fZEk*¬xøQ ¥z½§õ¥c§~Uì\93`\14\86LQ\80ð\8eâ,"\8dAÞº\8fxÏ+xå\8dxRò³\89ëÖeIéÏ w\93Å¢°y¬â7·4ë·Ø_d  ´P\95\8bõ\f\1eÞÃó[AO!^\86\91\1c$|ç·Ä-\8aÿKxG^Kq\1aBYõY/-þÉ,ti8èdr\9f÷¯\eÿÎ\14ÜÃ\1e \92\a\8a¨rÁ\8e\ 3¬¶§\8e33\99\84ì\93åÌ\e7Z¶þ>3sØJxøÇ[Ï\81Ö\v~ëiò\ 1+\9fcòFº¬yy`Nb\8fä;-¬Bѹä \9fs ÙÍÙT1u\vÓ!HX÷ß\9bý\99Û¬ÞÞ¢N\ eÜð<aà{º\8f\87\89Ñ\1c®k\7f\12ñÞ\96=\81×à2Öj\ f\88«\ 3¤\ fE*Äëby¡\ eC(\8eß\83.R\r\ 5鸞ú3°\15³Ò3\8d\91³\96¿¢r÷¯«"G³*\87\10«{¬¥ÝêÕO{ä\9eûí\89\8f¸þS9Æ\17ìL¹Rý\r·¥_âVºß£Aýtî5©²|3üW\1e\83|¹¼ù¸ãµüx£'¿\93Úµîo`ºÍíY\7f\ 4R\97É\110|\92\87§È 6\7fjES*(]ÇâùlûæÙæ^\ eáÏ\96\94\96G\85¨ñ´·6øD0¸|\1e"s
+ç¨Ädr¸¼¶_§Ëåò\99\7f¤,GÿìDAÜñEøtñ>Wû\95G«û(õ\7fðüCO\99.è¯\17ö
\7få¾X¿°t\8f÷:Ó[ÞàY{¸·ß7ê\8cÐû6y¶]ÔtæAò\eÙÇÜ~F¾gàÀPö\9fh­Oþ\8eE\ f\13\90³ÄäYñEl¾\8bCÿñ[/Z\ 2¡/N¨\8b²ûKl\eí\ fý{qþã³Wº\13ÿÏ\90禾*F×ï\9fèíÇà¹Ï\8fëÎ\91ìéÉß\7fw!ÏKÑ\1fé\11Ýj¾|\8eA\1f\9e2\8dØ\9c\8f>G!Ì~\17=¸Ð*c§ô\1f»·\1fþ5rWZ¯\9f\15\8aÌ~zÙ\ f×\93\ 1ï8çË!<\87î\a¯\14ö;\v°SDE\95Q/×Psa\ 2À»@ªCåy\9a\9d\14©t²ÿ(Yõ¥Óá\92ðê\16é"­\94vC\8cá-5@\1fÆÌ\16ä4)ð\1eíÙT*(÷²7\85ÿ\a\93\9d@\9aY3ȵìÐ\8dAKÉáôJÜåhÂ\8a'\a\1ePjä\87ÝäÚ\9d\88\84\8fÃ\1e\0WS}\89½/\87ºãõò>il=\13\89Ðty£[ìè\1cíåÒ\88\19Ò\99}ñr»4[¢ÍÃäA¥ØE®\85 ·¿õäy¬7e]\14ÂíI½7\14$ÒO}\9d\1c\17r\14méiE\99Í\8fºZ|êùH\95¶®_ÍD\9b\7f&\7fì\9boi×Kb\r$\9e\93ÜóÓJ!\1eÌ÷\b\19õù\1d%È_ª¢_»E\9d4i\81Ò,\99ý½6\8fxüq¾\99#¡æu¸9\96On8ãd\1a2Á0;)5S×CßýRl|\8d¼\9a÷\8d\8f&\83\8d'Õ$Ýî$\9c\15Ä\93V$\82j¹f\929\92µ\ 5\9c¬\1fòÊØs\8b\zøõºP\1eÙ^ìarXªæ\8d\9c\ fMàÉ©´`¬¤\9cS·>u<×\85¤\82uÞ¢\999S¼Ð·\8b\12\ 2í\87\9d\8b úÉâ+7#¢Z\ 2;X\13WZ¨\8díêг@úõû^Iv±5JàØT\8c¯     Ö\13Áý
+;4çääü\1fØ©ñQS:F\92Ô»\ e|å_¦JÒèÚ-º\1a0\85¾¾û´i;?Ù\99\99\92a$\930\84À\90\b\90d
+6\15¦\90_H`\ 6}&\11Ì&E\82
+\8f\86Ô¬\fE\17Þ\9e\86`\82\83`À¬ÌùúÑ|ݾ¶ÛUo­µmµim$\13\8ad\91\ 2\0£\0Z\85\el¢¶ü\_TkRTC?\7f¿ÿ¿}\99$\92"¢­|úßzï½íç½¾ÝÞoCw\9bÎ{\9b½\ræózûÐÛÐÞo=ü\aÝþ\aoCz\eÎog\7f\82;ÚÞwþ¥\1eö²Û¶ÖKÆ\f\8eËt·£¿<\85:ùû\975>ZØîXª$Íó`4Ï\e\98\83\7fÜ\89Ú;Éý\86\1fÕ»,ã\99ñ´Áð»\9b\1e\9aï\9c<g{¦¿\8c½)#nGÌæ\9f1$4\r\ 5rwyñ^×H\97Ì\94\99Õ^^¶aH,ë\1dsÙ7´AÚÁ[¸\1eì\ 3w\a¯\8c\ fAyÈé\1f|\ e\8a\89O\ e\83f{7tËNB\r\88®6 áÎã\ 6\ 2ÚD\97¶RKÚs3Ò2â>\85Â>Ñ¿,~Z8j\b×·Lð\aOµ>{ùµ÷ùÉ@\88\7fÛ\10\87÷Uò\r¸\9cÏ\7f\81\ fÈ^\ 6w4Pk\8aǶ/h# ø\0B¯=\16\våÐ\8e¬\16 \19Ù+Óß\1e³1'sÑ\1eZ\96¹\9f<ÍX?\10ÈXGpÞÎ
+'\1ajHä«\92\86p\bÞÏñ-7Æ@yCt\9eÝN\8aR\ 3Ç_\8d?¾ßãÅ)£D%Z\97õ¶ªsÌB[nu·Õ\89\99«|k¥¬i\81 "^\18\15{*Ø\1d\9fàS7Æ\7f[nInt÷#·g\7f\19[\89u\91÷i<©²d+·ÉZ^¹ÂÆ­\8c:\8e \92À«­\rý×\9bûôÍýß\9bûpoí\92°\ f#,Õ\10§Â\9f\7f\8d\90~\8e·Rg©\r³~Ë¡\13ãE/Ú"C\v\v\19!\99\14¨ç­7ke9Ðu\ 2\95ñÍÚÃ\87FqõÏÆÇ£\ 4\10ç\8d¼Á\13(\f\1e\1fþ*ä2\9c\93j(^ø\8cäKèᬽ×IùoO\ fÝ×\16¤>E\ 25|"gGbÍSÇÉ ÝàWÓÐ^üÖ\9f1\13\89\1eµo\93t|×XÜz>9-%qÊÛ^>OÍuó\11\b\12\r zújø³h¢RÐ!µÈ\1e\1f=\8f;Ú+ ¿'\ 5º\828EKN1ó\85ô\87\83éCXI«\9bÊÇI\90̲X\11\9aY\1f\14\90Ý÷\16D\85;\90ã_ÈX2 ~\a¥&\aÛû\108\1ci0>ãØ\81õ·\90?'Ø\81÷>\9c\98\1d×±\ 3\96¼\81­4ìµâQ#äu\ 5°&f\8e@õu!8ÿ²\13\94#Å3~{Å)ø\88\9c÷ÉÕW        Á½D0Âu  }÷\83\ 1\14{\85\11ðÒ\93ã÷³\9c\97ç\11$.[È\945\98c      çK-éôO\1c\98\ 4è\96\96Àµ½èè¤ý\1czîZÿQY)\12!@$_\9f¸}\ f,iE\8d¬Ê#çîIN\95\9dô'ß\1fV\83ç&¼\82ß@´ò`FÂ\14Ldi*þ\r¾ô¤c6\97øÎú\räI\835ý0f¾\8a4\0ý9ýOV\1e½7Ù\ 4-]
+Æaev4´7\9c¼\86Õ\1e\1a&FÀ\7fiQ\r×ÞCqËCUùaç»evÂ~kêÂ\1a>¶²¬\1fW;\81ÌAZÇ6Nx\9dP¿ýÉ\ 4rh\8doü[ÂIaxn´ýqůé7³àwã\93*\89ø{\ 6*\89w9ã}\8fbN~\a§\81\ 2\ 2\90\98¥ÅV×Òd\r:õª¸Æw*4í"ð\9a3\8aò\8e*L®U\1f®Ì¦\8d3T\13=¶û\1f\8dñ\96\8cñxb+\7f\13£¸e¼Ov¯|x\9bU~Áâ\7f\17ú"\7f\10ñ9uuc¡»V¤¿é\8a\b\97*éAë\93\1e\8dMÒ©\84ì\17´P\8bÈM)¢s*¾\95>kvkb\84÷hÍ__4ñ2¼\92\12ËxOAùR½¤ï¡¼ä;\89Ãx\9d\ 5$_\9f:\81cg­ÜB\ 6ÚIØ\16á\94Ì ½\r\1a\91¿Àåck9zu\1aa\12gm\a\1fkøg\ eYó¸S\ fkw\8f«m_VîAgË\9e9gË\890Ù+'­\89\f¤ØÒ°\85h\1d
+
+Éÿ.xI\97òÀÊÑáªÇÜÝo\90?Y¾·Þ\13\83Ï\1eÔçÉþë\87Éõ£éê\85ü\ eö>\99²\ 6\9f ktÝýhgAÔòÇ;\9cì˨ÚÖêp\91û\ 3ÚÛ\87éî\81´\12}kÃdø\8b9GÆ|ÏÃ\86Ó\v\1ax<^Mð6«/m\7f# ­\1cÙíS\98m\ e\ 2}8îÃmé\8fGÈC>=¬d\1a\\9a?À¶5\18\e\1d7Ø´t\8chY\ 3[p¶?\bvR¶æ$©±m\91±nD\90ÍÃG@´qàC\1e³Þ\1cîÜæÔiïM¢k&ïcíÉ`\83öoÝOÜN\87´\98úÆÚ\81\1a\13×yü\80\87\14¯tM®ü\b¡È\13£Ïâò\SI?\ 6F±é"\9eXëöEoy>p5¨ÁGÊê\8aX¤ Ù\ 2\81Ü\9d½\r««X4E.\ 4\86\15\v4&VqûÚËóz F\88\15캣\8a\1e}!ïØ´æ~P¾ÒuE1D|] \97\fqxïN<±Ë\96¾¬_\1cuB\91;Ê0aC¿u¿\85\9bð\ 4º;IÁ\81MÍm1\f\ 3\bíSßlJW&Çv$ö5ö­ìÛ\f7.ù9Ï!\pÆøEg:¢CÕþ@ñÀQçÀa\ 2\9b%\vÇ÷]k\17\85úsþ\9aó?ô¿¯?Çâ>OÍÒ\9f?ô§Ïþ\9eF\7fì\ 5ö\93JYÿôz|\fÿ\10u\i}\9cÿí\9fåH#1Ò½?«\9fúSçþ\97ýYþ>\ 6:c°Sa&ú9â\87´}cÂä+sÔ\9b
+dÕÚu%\99\97P       LJrçS\12!ï1\9de\87Ãk»\80\1fPùà 0õßÉWfÃpyïE¯o\0I´ØÃ¬¶Þ«©/­\90\10à,Ál¾\11\176\10\ e?\9d±GÅ\15GºÓÀYeÄåz\9bù\82í9\9fzG\8c\16¸å\94\13\984!LðWe­~p\89¡Z,µ\8fY¡6\9e\84¸f\99\ e]0Ô¦Çé|J\99éÖ"þ¨AÂï\13\8fì2áhËУÁ\9d%j¬Õ^Ð\94Ó4R<]MZâÐÂ~\14s\95:ÂLjõ\9cÏy£AuÃ\v\16OFK\bjqÍúËß°Ôè/͸\9d  Ó-/IÔ\e*qW«1t=³UaËÞi0I`ØW´{È\8d\84\96ÀRWï\9ey-l\8c¬¾³Ìó\8e]\19þv(\90\r\816FÀdüÉÅ\1d&=Ø\9c\ 3¹¡pæ\97\ 3Z£QÎt\8b\80TÎG\v&u½\13C·I\8a?ßÊØ\94ÝÞ¶\88ë0÷æ\13>u\18%ê$ѹÃǼ×\12cÙ÷ºÏ\ 4d=á«\8b\99æ´r%\13Í\8e\15*;\98\1fK(FÎû\r£#_WÖ+\95<­#/£!\81é\e\9b#å ¥;\18\14ÙÀoÏ!¥-\1av\ 52RÁù;\ e ¤dfêËÀ\87\9c\966!ßh\8d\17c{¦±°åüÝ\17õ&\12{ Âw\8f\13ê\11\13{ëÄó÷òÜ_´áyÿñ°uý\19ïÓ°uÃ\9eþÝ\83¯A=þ]\83¯Ý`cöØkæ\ 6>Î{ùØ\18øØL÷Ó·»     \9f\87;{°\99ý)Òìùq\86\83\9d½ØLû\83¬3^´ðM6\e\95°\99è'\7fVÂgÑÎÉØLçðÞÎÂgI;\7f°\99ù3~æÂg=êì&{ÌGùÓ4ÿý\ 5ÿ?1Ç\92~W\91ñ\eÄàl´D´X\87¶$tv\17
+óz4tÕ\1f\b.È}\ 1\9b\v\15h$]z\95®·\84 ý\96\8fÔ\9fsïö\12ÿ\ fE{°½üoïØ^õ\9a\85î£û¶\17¿±­Wì\10|Êߥcä±H¶ðì\85¿ól+cñ@{ýÛ
\ 6·ùö\15»:ßoa[\91ªòØÃBg
+.\8eÂÁ_\89Z¶ÆF(ÂÙlb17Ê×Hºþò×Sí\91\15\15¥ô\ 3\93\ f\15²\a\ f\10\ fc+§\8aV3îsÈ;\1c\81%\83Ç\a¡b´z°\18\9fÕ\7f\9bQ¦%äF\8d\96¾%¬ºã\11\83×(\eàÑÊ®¦\ 1\1a\1aZ\17dÑ´/·ÞÇîf\12?ªS¹ì\91Ðíç\11.âØÜ4îVéßµ\9e4¬w1é7¯"n\1eS9óÂĬÍ?R\7f\86Ý\r+\ 6\7f¶$\12Ko´\ 1Î\b,¾étÛ$\9bIØm)£a\13`\9bJT¡´\ fäÄ\1f\91\9b[¦UJ4\9dyLâ\17\8b%*6Þ¨Kü\f^?`ÏK\17Ó8[\17þþ\1d\18¾Ãþx¿°[7õ23\7f¥[\17ëÿ¿\17­ØÍP\9apân\95ù\9c\82ÿ¡G¼%}\98;\1d\9fn±~³¢äkw\10\99L1\90_±=\8d\8e½?JÆ.I\e\1drm\8f±×4\97ÛÆiÅñèvç(ðº¦ÞÁz£õ°[D`¼Ï+\ 5ä¿f\vâ$\99ÚÚNíP\89ÿËdA\80l\ f)\ 3\8bãÀ¡Û·³,\15¼\95ää·+8Í\82ìb²FLv\9eÞ\11ø~¶\11ð½½\eä\11\84³²¾¾u¼\95þÍ\eäQ\82åyX.îSû0^Q\18,\el¿W\ 5ý_W\ 5»C\9dÍ\8bß\ f\8etÞ5jây\ 1à9å¤Ëk\9e"²¾¥Èô\90¿òñð
+\f¸TÍM\95 )\(\89qÚ³\83§\1dN\95ÙK\ 5Fðà\ 6S\9e&ø÷ÂÚXÄìÙ\1d¥\7f\91°\8aD´Ù^\11m)\84KFI\9b¯\9b§â\93ûßk\82Ú½Ê\90\8f=ùì\18E<ŨàÝ\a¶-\8ePçÍÙZG\93þÂ>ÈQ­U{\16 \96\1c\1fÙh\12\99\19{tVÍ?¸3¤\1e°óÜ\rߤ\.ðn\1f\fÚ\vS\9cʧ÷\ 6Î-R[LÄø7ð     \112¢HzÉAíÂftT\10n\8dAüd\87\8aäÚ<b        \ 1F\1a\ 1\17QÇ7\8cèø\14Ö\85\97\8c
+$'ŲÓ\1d£\ 6\13\97FÍM\91ÒÎ!4÷\17d\84\16í.\8d\89lÏY£5 KÚ\9b- |ñy/¬d\18\81IÖïÂ?¡}fe/½xÞÏ\81\9a\834\90\ f\12Ó@÷>²a\1aP\7fìM\86w´ê4Ú\82\90\\96É\84]ç Ù[\1fr\93{;{\1e\17¦\96³rG\1aÇ\84â¦\1cæ\12^äB@Í\9c4\ eÇrÆ\92-9®·Þ\81»@y¬\8a\96\1d\1cÂ:\8fAEÙ°^ÀÚ\1djÏn4ž\1eÎ\88öð,xÍ+ü¿Ye»\9bÄ\9fò\863ähÖýJ\83wí¸\83HÞÍÎw:6øòZý®tyÑóUè)_Vî\95þ\11K\8bÜø\93eqh. \96þF÷ê×\97µE®(аw¥\r\8e´'¸û¸\96Ò\f\ 4\1dÝ\93^Òo\ 2qS\93ß^Ã.\ fô\wq8\83à\1f\9fúå¸\89\19²ùºIT:\e\ 3\ 1\8c\r\84O\10¨Aï±¥U\ 4¼Ò\1c©é\13ÓK\aQÏä\1f\82÷\9dÁ\96ßÜl®A\83\1f\9f\88åÈüÖd\13}äG2ãwÎ
+§ñP{ö£b\95\ 2\ f\16M\7f\90\18qP äì\9aùX_jZ\97\19po*Ý9&wÝ\86\14x\15|\ 2Ã_W
+'\99Æ"l\a~k\81\1ahUiÇD<\9cõBf;C·¬       ,Ìñ\9a\12\8c×áN_×E\1f°#N\ 4¬¼\88³\19\11b8ùÛLj\vüH\9a\88ûó­ÇO\ eɯy\9c\149]\88ï`kå\93Qø½¼®Ù\1d\7f\f\95>\9a\9da-~Îètº_.\8b\8f0ÆÉ¯èpy¬Çµ/eìf0¼ø\8et@::ñÍ\81D\ 3\80\f\1f÷^Oà§tàê¨Â¹\8f©òÄÈÓ»õ\1c\8a|N\95 í×I½«£¶7\9fîmI\89±ç¾Ú#\14\8dÞ\94ÝÆÍß\|\0VÁe»`¿ï^\1aÈ3yëw\v||&\8e}7\10³Èô#Ó9\12ä\99z\11;VËz\11;ºÅ½\16\937_íô"Zkûv÷Q\1cw\14HfÆö\1c\13\8baé;\85Fl&å6¸\81êC\86Â#PÏÉÒ²w1\1alM\fäs\87â;\98²kõÛ­3áÈîÎß\8e^\88\8aãÿßlÿö\9fÓÁ}aï\r
+ðDýÖkì\10Æm\7f4\99¼ÇÕÚúаÚЩõ0U?~\ 6ΩP\}«\1c\17!?\12¤\7f\7fÖ\ f\86ÿ²Y_\e`\9cÓF\13YIV\13Y9nHõ?ý\92×¹\ fOöì0ÙI¦\18\ 3Óÿ\r\r¢\9e5Îu\86\19\8e\1c¸¼?í\1fâø2\8c1\1a&¬1\19æ\8c1\19Fl
+Z£öEª\9fú\ 5«\\87\1c\9e%Î?\82ys\8f\ 6ZglÅ\83n\9bØ\97\12ï\8b\80^\ 6Ù\87ýráÿ¸¯TàÞ\1a,?[§ìí\9fÿá×>QòE½¾\8aûmÿþ\95zÿú\99½\1c\1eQ/¯÷i\19d¨ç1C\ 6R²Ó\13xj,vC\98£ÈàÓ³²§Ö¨\14FýïZ\89n\1f\ 3n\ 3Å0÷¬;V?-\8dÓ+ò¿÷sÌ`KjþÈÕëÔ"\ f\8bþh>¥h;\1fv\ f§Z\ eËÝ\83õ\8bAÿºYø\96Ðl¾\ eºæw7ó\92ø½ÿÒí²W\18;v_êK\18x2\1f^U\8eá¾\91¯uUòúýž¿èè~^\ eÖ\8b\83!Îàíh8;\?þöô½Ïe´ð¼ö?\ 2¯eÝø\96\87ì\9aË+âÖ¿t=\11\r\ f\85*çr\80\e\82\ fu{´RTqG«ÄãçDÈô\7f¢q\1f\8cÞ£éÈ\ 5²loÊb\97ɸ@\rá´Gì\99\9f¦ß\92Xªç\11Ú
+\81\ 5¨?"\82ìo\96F+¬?\19_\8bj\17\14«d|ð@Ê\9d\82\9eV(\95\0((x¶2p½\120\1db(ûø>\85¥ÚI\99Ë~¼Ã2&\äK$Çh+\915\ 2\9aÿö¦\8f\91\16Ãÿ9\ 6äÌ|©`\88\87ùüî{ zû7TÕ§M[¯ìûOáí~?øþk<\fϾ¤ìh\14¼÷Y)\14\9b\ f\95]\9a²x7ü\ eò\b\14Âø£h·\16Ç\16Ë\16Î}\84û\19öSìçåyf\18Æ\18ÆXÆh.5\93¹\1c\96R\96=áes ¼ÐýE:NÞDÐü.\9a·E¤ê:\9d.¿³¹ÞowÞ/\8d¿ºü</'·î;\9fãú\8d\1aÊJØk;\v\eM\97}³"Îw\84\96q\85\9bÃN9Ãâ'g±8¬\ÿ-\8c Æòô8ÿy\91÷ÜÏ¿Êeµå /\91àÌ»J\9e¡ãÜÝV{ èZ\81\137\96\10Y\99IV­<\18¶¡S¨drÍ=>?!l\97vWñ~5ìØ\7f,ìò0$Éb1{¢Çcýæb³8Õ\17y\8c\1ao
\11\87s9uøZ´\8fOPlQÑoø\1fw\83\80>nïj\r%à§oíÐ)Ëä
+ñÜaü)Ü SïÝ"ÿ K;#IË
+ÙzÄ\v°y\ 5Ñ)\15\9bIê/ú\1fRþÆúÿ\92Ê`ßÙ__Ýú\97öwø}\17ù\ 5¦ê|û¹¶}l\9fEþ@\9evE>\ f\82\8býr/økÊ\83\10^¥t_è9¬\fÿG\90¿Ó['ýKû\eëý\86\ e\8fÑä\ eµþ»Ô\8f³¾¿ëð3ý}Ï\8d{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/eì½\97²ö^ËÙ{/e콿m\83\15Çb'ö\92\9fÒ%íDþ\95ÿùÿ,©Ä\bࢯu¯î¢÷J÷N;º^ïCÝÖ}lÿÖÔ}oâú×?_~CÅÌ\12êü\97yKÞVw\99þò»¼Ô\10ñ}\ 3Åä\12ë_;¼»@ñ\7f\14\14, æ°Â\7fÀñ\83\ 4ºÿþ*¯,sS×\93]0ù¾ï\15áFÂøY¯\95äBÑð´ßVº6BUÜî5\85Û\ fa)ßó®³=\eÿö\12Ú~M\03m­ ÿõ\18\8b\8b\87\81\12\8a\0fößä£\11t\1fö£\11nè=Ö*7þú\0/öP»FâáýÚ1\16\ap\18"gö\bÿý¡¸¾Ðÿ½\ 3t\bÿý\9a\0.LÃû\18\85D\ f\8cöÇ\8a\9f2\8d\ 1»å%=¿Pl\14æ\93¹x\9fÝ*·\13ú'/\9d«°\9báÈé³µßâNÊ`Z·³¸\8d,I}\8aá½\9bJwº]ÄÐ;5ljaô\8cYTÃÏ1\94¤\8bS\rû\19d\ e\8aô\1e`â.\10\935à¿Tq       5e\9b«­9\15\84ï\89\82÷Ùýó©°<á\17ïË\rK9\984\ 6ÿfá:O9\90x\9bê\ 6ö{§\89Û\13\81\1eÝú{øÀ· \ e\báë)yÊÎw¡\836\14Zl6¼ì\8b\8c,{÷_\7fU\8dZ\9d¡yx\84\ e]P]~·ó\85\e\ 3jþ*Óè½\ 2Õ">±\ eòPV²ò£\e`\94ÓÏI\9dàzìG$\96o\89\7f\86À\rÈ£\99\0P\8c\aç\8ao¼ëç¯\89fÿ\ 2Lïj×êbO7{â/\1eª\ 6ÈñÍ~$´ìúxêg\8f\ fy\ 1ù\a\80áÉ\96&c\82R\86½ÿùiãÿù\8cL\99ÛÚg»ÃàM\8f
+¬zÝ\88ëÏ\9b\14d
+\80é\9cïWÇpLþøM\86fÔk\99\93ëê\b.[ß`ófxý¦\ 5zÏz\a[Y<õ\P¬#è¬M:\818[\89Ôé\9cU{CÕ£½,íë\83\ eF5\b\8e\9e¾vó\1a\9c\96a\fbShz1\8edøÆº{\93\8cr\93§Æ"oܬF1;ÍÏkú1\aÆ9\ 3Õ\8c\ fÉ\88\93?*îÜßÏ'Ïd+³1[\95{&'©Ñ`o\89ó\88\9e;·êäÏE7xÇ0&\92óÇ"ÆM\ f©Ì»\94jp\89(-f\82ÞÓ°<ÔHñ=à§ØøD­\7f\vJ\85\1aK[\8e\ 2[\89Î\95¨üB\vxÏ^\118J^\8cZ\ 4\93
+fî<x9\8bUqV<+¤¶WeQBçYÛ   \84&Ù*\e\8bUfÒ¡µgp\9e\17[½ÔK¤'uü!®\11¹\83_i-±Ñãã\18FæmU\9cJ\86çd%£CBí\93ph\ùBå¨mMy\17$CÄÁÓs\1ae=ÊT\9b\90\91l³,)7\89ÛI¢ÂüáÑqsáG(Þ'`LôS^Lô öE^\\1e+\8b\88        ç%\eÙÛ@±º»\81cwY\v\f\1dóX©\1a¼)Xó\970\1e\e½\14¢[>Àõ;ï\15$̳§jÞÏqj¨­¶$YèÇ\ 4ü/q      'ð4äÐ÷1P¿Î\8b\9e\15\ 2Bv\15\83
+}\81V ¥'\18?\86çä\8a\97ïaß
+ßQÎB\98\80\96³¾\ 4Á¿`À.É«WÇIÀO]\14v¿jU¡\7f§s"ã\a!\9aN'zNÚT\99èZIö\9eA\7fÑ\ 5MÑ&[\96\9d¼)\aí`T\19ð§\80z\í_JS\87\8b«h<Å \96ò\8dàý\88)ðZâ\98Q¸ z7räßL\7f\11(ýæ£\98±(\98ÈàXÓ0'?\ 1¼#\ 5جáë\93 M\11À\91æÜ\91\9fá\99\15.ͽ\9df\1d\9ddé+\7f\17ÌÂÓ,\8f\16\0\9e*á7dýÖçMN\93{9h        S>eÖd`µ~\9dÄ`j\96\83\aÆj\85zcF*\9f|³øræñ¼!î_\e\96\ 5ßM\91®¬£a\11\ 4\87\80¼3Ûz³P\99\18O[¸\9c\rnâû\80¡Ô²h\8aÉ\8a'\15ùUx"¢\0[Ç.\b\ 67z£Æ,NFan½\1e\rå?á9\1a¾Á\9agäT\e°\91\ 2Óªl\86y¶çfH·^\9f\96ydÁ:©\85{ÓÝ~\81Ñ\8am>,Ú:5Ý¿ÄWy\95
+\80Ág\e@\86á:©ÂRèiÌ\83éÿ\r²uSª×\9e\vÓ\9e\v\87\81\rÅìÍ¿%\ 3´Í# éÄ~ª`p;k÷\bý¢\97\90YÉ¢¹¼\91\89\94M\9d\b\12b\10_»Áz\8cOt¨~[p\13·\8cÖÒÅ\82ÕÌâôÂ+¬Ì{EGÛÙ°:\15        p\16\ 5`­ÚåäùÄÚ!ê\0)Ï2?\87û{.ý\1e8/A\1e¦O|®\99\vÄÝîÍ¥=´t¶ìè\9eU¾ïØsöÑÂÁ_£°ë\99G\85<8\19ÒÌMY@ÄD\81ÒíÄ\ 6ʽ\9f\Ì]Á'\9au÷«Ää\f?1Röl\r\81Ð{°\ 3.\;\88èÔ\ f\14ï³6zêÊöúüTMs\98\ 4Í\1enEH@\1c\r\ fÍ\85okæÛX\10ó\12K¢í\ 2Ë\ 3ü\17\ 1l\ 4 Nvr9I\1d"#âù¥5lÈ\92\1dð\1fî´\7f\ fI\14,\10ÃvÄü°  SÄÃÔPx\ 3?"Je£Áx\96\14.f%C\1aZ\960±ö\1dy³üxkñp£]þ4\8a\ 1ñ\90Ö[24Lõ\ eý½\9dK8\ 1½åyÐ\ 3}\1dØ·³ª\96\15\99V\1fÕ)ùÌ'+gÌöï\9dm´ü´\87Q©Í\9cºÃ7ì¼¢¬ §\84·³\ eÈí¯a\85\93@z\1f3ñä=h\81\ eûdeH\ 5dä=\ 3-²bl«Û$Ê=\92Ll\1d56¤e òÐ,b\9bE©3\88ñÓ\8b'\94Åu&n\8bw§ó#dà$Ïn/°\1e:ÒËi¨_&lÖI«ðÿ\ 4¢\eÀ«Æ«gá¥d\f[̰gH.®kÕ7\7f\ 6k;ß\ 3h\16EIÿq \9a\19Ük-\86¾
+¢f9¶pzÄ\18\87ÿÑ\1f\9fÒ"\83\88ê0Pníé~\7fG\ 4"m\18\16\95ý \91Ú«µ\94£´x£Î\92\82\8dNFÔ`Né\9dfLúæ\80ò\9b¨\96Óã¬2²ðy»\f¬Ä\10òç\18£Ñ>ò\8a\82$Å*µåUf|\1d_ø­5¬\16à×"Õ\10\ 4Ù  \11õä=\Ñá\9a­õ\85C\16\86ÌÌÑ!\8fÏ    ó¯\17O˼\88Ýúm]\ 4¥%\95\98{
+Y(\8f\1e±¥¨c\ 5°­µn·5ê½\a\9ac9 ÝY+ 9õ\9boÙeÇ\97Û\97mÎ_\93õ\ 2l¬ I×\8bª\15\12\84[±\o\17\9c9¼Æ\8a\82¥jÄ*·x¶¿\r\8dÅ#cMÈC\1fi"\10ýN\93\99b\rÒ˹׵¿ \18ÂZ>1°¦¯¦\1eUmmæ\8bÇ\ 3Æ,\ 5\ 3\8b½4@\12\94l9bª1ÞÂx±\1eôØy½\9b\9a:%¯<WjXn\a\16ä:Å1R¿¨í^ÖÝ\96),LN(<\8c2þøåúÜv/z¦t\8co^ð\910\rT±Þ\ 3È0ý\9buN·\84Üý\19¥\9cc_>;òè%\93\99£#t\7f÷ $\9f\83N¦zz<73ÁÔ\1a\92§?À\9b\fò¬F·J°\11å\99BÊe\9bBÉ@±ÔË87aá­¨Þñ_ÉÆCÃáÕaï2KÄW0H\9aÓlo\14å=Z*¯'ÅNù\e<\8e\ e¾\86}ÔN\99L\18\86OÎù?6­?-å\96\92\a\9aJ\ 3\7fm\ 1\98\8fR\13\17μ1Ø\80Ùæäk>§+1O
+Z\9e#Êsö «g¶~êÖ½S\7f\90¥\8b øx¢<æÒå=\16¼S­ä\ 30ñ   *=Ü\1em'[¶úîØæÛfµ\8au\f\93ª\94âÜ¿gøß§mCpIp2\1evZ\86¡\91\92I~\14\11º\81ÁØSiÖQ¾ÇJ5põ\9få«Oo\ 2\86à¸;:¡ë\85<
+\1cÐô«uÒÅZ³\8fÞ\8a7¿\89PÊ \8bé\98ú&\8bqjÓÛr÷\11\ f\14\1e\12ܼ¡¢Ziik\8b$\17ô3x\15+æ´\90mQôä_\88v­û*"7¨8``¡½êT\7fp\19\99
+\91      IXë\83ãÂ\8dË\a\84V¢ÕÄÛÃ\8d4\1c\84\921IM\91í      +|m}\84$\1d};\97ê[\eT  ¾\96#6^D\8eK[\9d\9a\84â\ 3¯KU+h*G\84\9c\18É7Úx\94\9c\17[¨-(÷1\89\ 2\9ey_="xû'IíÂ\82\ 5\ 4¥.ý×\ 6\vu¨v\8bàc   3® `\ e\94³yCÓ5ÃL\8a\1a\7f\ 2ÇÒ\9cë*\9bÙ\9bÁ\ eg\87.\85\8cÒ÷K\16j\ 5=4Ãfÿ\1c\12ªgïÝ\éñ¯È¿zÚ\84¡þ U\14Ó\8d ·\81\1cTàøµn­«øy8¶ð!±\15O¬½^o\9b*Ãó\9fÐlUEj\94Ýþf\9f§¿\b¼Û$z\19Õå\ 36U`é\96\9f&oõ¬\19ó\7f²\81y\ 6\8f²\15.\8e\89-\99w\1f \91\ 5W¿\99\91Öã\ 4\95 ðØ]$ïg\82þSEÏâ\f\96ê\10ëå]·³7v\ 5`\ 3×0¯\94UÒ¯Í\ 6\13ÆT½\16ñ´      ó³
+åý\ 1ZîB\1eiS\1dµ*@õø\1eéx3Tíìßв\81\r²|ë\85\0ÅöÍp\94+\84â­\85Á7ô2Ð#íÁ2>ñ\v°¦\97p"Ó\18ÒM¹>Ó1ÓZ\8cËôm\87\ 3ó"z²og¾-\1d\8aK¡Lu:\80\96VÕlª¤\bè´{ê\a4rF°SÏ6\94x\9bÆÒÑ\9b¥\11³Øû\94¬¥ßG·
\rÖò\17\98l\8fµ½go÷Î\94\f¨.AN@ç\1d>cÆ\f'Q\83\9cà\98ç\81\84)à¿QȤ\eufÐo8\9bü4²Gx
+I'ÀÍ\a¥=¸\83\87J ©êvL\89|\96p­Ð\11ª\81\fç\13y\86\94J\8f\99U\84×\11%^ÇÛÉ\9f×Â;\1dÌȤ\1c¨plä üð\87ôÄRÉ®\93»ãùܶÂH^ w\9evÎð'$u´¯\ 3ϾҺ¡\v\14\15%vF\94\1c\ 4pC\92\1eD>A,\80ë{êT\7f"¬qñ°jÇ\1ea§éqÕãL ~s{\9c\14«µ[\82\95b\83\9fÿÃ\82\95\7fò«Vþ½Kë¿\9f0ÒY¥x\7fK,çÿ¼ÿW¹÷)\ 4¿Öÿ5 \97ø\7fë¤\12ù\9bêA/M}H%ÑHvÞ-H%èo\970\1cÉÍàïò\1e\90KþV\9c©ý\8fÄýt\82_kyH%Χ'ýiý\8f¶À¤\12ý/úi\ 4¾kúé\ 4¿ÿ81Ï=Çý¥ÿÏú*yü\82\93B
+\1fí?K-_XÐ\17ÿ+.ûlyÃÞjQ\84Ѱ¸\9cÊð\9a\16Õ\84h\bò\8dØaùù¿9ÅÔÕÌÄT]ÉÿaÌ\ 3@\8f%\16\7fàÎ"å\e\9aäÆýiÉ\ fõ2ã»Ü£õêy\1f°Z=ÿZäßöÉC\7f¹ô\8bä\90à\1fûÔ\7fë3\12¿9\ 4\17.w\0\8a\90I\aûT\12:xß\7fMÔÅ­Û>ú\1e/kâ]8oäàÎ\12ÿ¨\94\vàýn¸%\98Ï\a\82~kN\ eÿùp\vëe?øN\eë¬\ 5µì½¿ôh¸ÆÂnr&Sw ¨<ÿi¼«[a\1fýä\eʹ¯\99ùÿ%O\7f\95Kåpþ÷mÕâ{M_\91C*ïЫawäUò¶\11x¼Õ-a\1d\1e\1a~rxd\16Û[WÿÕ·¿ÊØ8ûp<êQMþô_Ô\8bÜÃôsÿ¯\ 5uâ¿9\14Ëý»\a\1fÉæ\90\8bÜù¯w\82ºá\13¹PR\9a\ e\8fÿÙØ8ÝÍ\1f\81æk\7fþãõ·\1fªU1Qÿû;\a\1eÁ\1a\ 3\8a\8fÿ×t{`\81øù\99òVùÏ\94¨Tõï0|²Cñr\ e­J«§ª9gRz÷\92ûoP\ 4\búþõ\1e¿.\9cR\11>rCD\9e.\ 5\9d¹ño\9f\9b\eÉ)L÷P~\16 Èù\9fô(3þÈsÊú\89ã«W\v\1dNA¤&ªèÊ\7fªÕ\1a7\b(\14\9cýºÅ\18½Ú¤µ©Ï\10kñ*VàeÂ\939²Ç1X`S\987j÷åÀ/\16¿»S'\84ðüÍëóYRg¥©\14,,ðjJ\94"¯0\98G\14$\10XT&,é¬\90æ7ècìéèÄy\1c\9cÂH\81Ë&e;\8a´U΢\1f\953\8fSsu\9aZ¾2sáî\9fF\9dBbÝ\e\v ù\12\ 3\98ÌWéd\8efä´\17µØ|\14þï»\92:<k, Tôÿ}\82\99©<\0x*<\7fI\16\95¬1ø¾+\8d
+\eÑ®¬Ý*zY\86P\\84\11\9dËÛ^\13*{\rS&,!+I\14\1a@G\96\fVû.è/þ`Ú\a\89êZ\ f³æ\93ÍyGvü<ï.;ë\1d¿\9dc©~áøKªMõÀݰÀ¦ê+\eë|\ 3ôyöúß´U\9bwËz£]y±åR\98½\10G\80o     \95£4z¦Q\98ù<»ð\ 2H²»XUOÔËõ\ 3\81¤Êt$l\95\ 1MsÖÅ\83.\92u9êzg\8e\9cAåÃÈ\rQεâ0Y°&mL£¡\fÔ\1e\19ný3d`Phó<±c\1c Æ9×\97Í7\8dùñ\83}s\92à\8cw\83c׸Æ>R§>õ»Ålw1ÇÒ÷¤~\9e;à<.\13Ù\8fÅû2QjN®\8e\94R_\e°5Øy\82\98ßilêÖ\ 3wûË\1e¾t Áàûô!õöN«å{òÉ>\99&öu5\90)ª2\10º!ÒçÍÒ÷°\9f\9a\f\1f^®E^üðgCY!\15àQÄÍ0\8dÌ\e\a±o®\fqÖF\ fíO\b\9b\91\83ãl¢TÎR±\83:\16/\99vuQ¯Ò¨"\11\1cß]Ð\1f\85\r\7f ºü&úᲬ\95\r×VcßÈØàµ³a9ó\e.¡sÏÓ\99ª4/hFø`±\93ÙЭT\8eï§3Mìþ\r`Ë!Â\9d\f\81f0ËÈ\10ê\ 5\1eä\9b\19·?ÁÌñN\9f\89\e<~\13\1d\81;\b }\81ñ¼ù\94ãÀÛUDÜaé\10âÃ'÷\97\e\ 6\16\1e\14ãþ\9c²\14´C"\14\1fXô´Nvq^\V\18ùVû\1cÓ\e\18¬¡Ô;±»\94oØeI9ÇGµáá\12gáZþ\1c$:¬²¸Òl¾U\ fK:ç\91\80¥\eìyÐ\9d§v5l,\9bXuó\8dáK\e·åOPÎ+\1a\87q*\82\v&{aÃedõ\89ø\ 1'Pö\ 1°\89\14\81Õ*«\15è\b§\ 2\ 3þA3\956RíÙçz¾\9bL¯Eï\87Ù5éÆ\94>|'S\8b¤ó]maR?4y>\86\80?pö9µ&2¡Zïv(¤n|\10üôÔ\98plèÏÕ­\9c\91ºD\9dx0±/A½\80\83\9f4r¬Ý§3C\85Á;¨÷1©lnÙ\ 3G6{õ5&ö0VM\90²OÓèr\ fÝxÄ\90æêYf\93çZ\1a,õå\1dÁQø\ 4£ïG\fS%\89[DðÇ\ 2R\1dåxðI\13cw\1ccüá\8d_¥%Hg\9fì® ¾ú\1f}C6^Uº\16Ò? kó\88\rx­!nÊ\9c\8eW|0\83æ\9aYt\94PMý\84õ?Ì>g\9d k\16Üø§\7fîÂP`Æ\ e\b¡\91\9eµñÏ_ºN´S¤\10¬\8caèÿßÙv~\ 5\1d»-\98sãäï;6
+Îöìp\1a\1etõÙíÖê\ f4U\9a¾\8foòu\9c!±Ø³¶µ»\98HP\82Añ$i\b¢ô\9bE\93üë²RéC´ÅAaü¿Tì\96\ 5\86\8c=ÿg\t"ÃÅ:Ë·ê@¬|\9eF\89ó¯2\ fLýN®ì¸\ 4æ\94J¼]Z\99¬\93å:
+\ 5_a\10¦\ú³Ò\bY:  ô\13±\a\90{>\85í\93!ó¯i ZªÚÊ\9d\8a¸\9a3ëÿ2M)@Þ7ÆÃP¾\81±ß\f\8cø¦dØú\16¸V÷¼Èî+\9f\1c\14ìí\8fÒ\1c\bØíOÒ\ f\f\8fe\99'\80f~
+\80¿QÏÉ"¦E^o\1a\1dÕ,ú\86êAË¿NÞ¢\97¤pÈ|\8fU/b6¨¥\987\8aM[?\12­;QA\86\ 5ñ\8c\1c<oº÷g!'\9fo\aâÜ\8d\96ª Jr\18ñ\8b^1ÔbÅgKÌ\8f³j¥Ü\ 6)aÅfKÌ\9e³éST»Ó¶+¹!\a\19±\92:ã¿®Ù\9fÇ\98\aat\99m¡/ß\93v$6\rÔ\8cÒ\ 2*äÝ=\bÁQK¦ëá6Ó·\93\82&Gêâ|\86¹\96IB¿Pl\v\87HpE·3#[ô\9bÓë\84ü\ eÔø\99\83«tÑ\/\15ÕнÙÉED®z\92~ES9ÜÁÞ)rvçjd©µK0wOðDbt6\99Äòÿ\ 4×(Ã\85>´¯Sè\9d£Ãi>\96\94jy\9fæ\14|\f°fìj¬ª\v5uZ~\f\8eÒ\9epà¸\ 4N\r\96}ɱ\7f\93\97`~        Ò7Øç\1aÆ\95\16Åðj¬6Õþ\82^\8f\ 5å\97F(ú/\81\97\1f\8c\97í\a\ 5\8eòè \7fÙÆ¯]o´òòaß\9fÑàÙtcæ|ìòâ\8d\17J!øæh}NõWÊ÷þ*8v\88]¿òè"3\ai\a\88ÍaÁ@j\ 4½\ey[ï\93l馰Wýb:Þ¬ùç°\1e3\14üÒ\84?*\92\83\92Uw \90A\0p\15ï¾\ 5
+;Oø2Ã\81|ß\zM\93ðÕ×d=~\ fâó$ó\15Ë\84\f;<±:ß9\1a\99i>\8eø}sØz\·¶\8a ý¦)Çè¤+*\9dÑ"´D\8fPK[ö=\8a\1fBèQú,R\8f¹I×äë4ìu.ÓIÛ¤²ÚyµO[Ýüâá\ 2?1×;\8d\9e\19\ e\9dC³yM¿S<Û\8eõG\93!Hù¿£ñ\1fº¸ÓâFÄ\99\1fp\95\93!ä|ú>äÚBjo8}ÏYø\81Ô×t\85&Ó¸Xî\84h\1e¤Ã®c\80j׿\94è\8fûj\^¸\14ºP\82ã\1eÅ\7f\ e»½6¨«\89\11ͺB\9eëNé%:\17\17¤V\17:êNÓÔ\1f¯|\9e\19Gm\9bö]\9aÛO\98û©­\18\925\8e\1fm\1aÈy]ûx7¦\887à!O \12ä\92ù¸ô<C]´\1f \94ùÅæ\vF\b\18\88\85¾ûÚ4\9d\9fìÌÌÌÌ\92I>\92L\90\80@b\18$h\0$Ka![\9f\ 6F}\81"E\12\ 5¢ ÕôÒ¾U\18d<-
+FȾÉ\98}­·ZÑkm\11\159| -6Hµk \ 4"\14\0KTZÛE\e\\1c\ 4\ 4¼\18U\fÿýû÷ÿßf}\930\10Ȫë-å»¶ô.òï=ÐÝÞ\86ï9íêîïBô7\9bÒÞoKz\9bÓÞ¶ó\9bÑÞ¾ÿ\ 1·¿½Ïwwø\19iðû´\96É$²O*[\83Cì"³ÍsHGéuâ¡hs°<\7fÅKsÁyò\rØÏ\ 2µºW<©O/\80\8eD@Õ\9f@\13Ì\83S\87\81Øó\8a\94ú`\b\8dUo\96oÃÎü\89µÜ\ 6¨\1c?\15HZ7Ï*4f\ 6è¬G}B©Ów       O«\8e\99`U\eµ\b¢ì\88j9¼ÑÐF; a;\1a¡\1dÊ\82ีsp©põ8(xúJp\8b\8d\10?\87\7f\8e\87\1aþß|\82\9cd)ô7;ç\97Ô¬.\91Ï6\12\96H·­ö\ 3Å0\ f\ 1åå? \8c_E\9f\87\8e»)p<ïì)p5j·Öðv@\89\10=\84Fºç\8dPÿz\11ÍRú\ 1^h\8a\9f\ 2ɽÌ\9c¼\eó°\ 4D}éH\88ðtKgàq/A\0>\9fÇOôn]\ 6\8a\võ®(k1Ý:ä,Hª06!ä´£\vcY\8e\9e®ý\ e©`¡cÀ\13ÌüØ£ÚqÁî\99ô!\91\9anûÐ#áãJ¥ÿä\11£MÈÑÏâÞhéг\95\ 1\17ýª^ÿuRÇp\8ahÂ¥\ 2=É©A×§G}®gGò×¼ÁRî+\9aÔRïj\10ué#K¹®j\95/\11$\1d\9eÂ\16¹(Vð\7f\vº]\9e~d41
+\96ÞºHÉÕÌ\92O±^e\9bÌ\ 1¾¯'\91\7f°Ã\/§r2hÍÖ\98êw9æ t\87\a/éÜÒÓãó÷ÐðÑh}¡`º\87ü-\14ë-\e\92-\9eÐñ2à³95\15ïP±\1cuÅKÄBļ\1e,ºF\89   Èy<ù\ 4ê(X:7Aµ\ 1Ýÿ\ e>d\80ÏÕX\aiÔ_!;O¥\98\85\ 6Mòð®íÙ¥\bκÛg¸ph]¦Êø\8býªT¼,ôúXm¶I6üÛæ\8fYc\0ó÷ÌîWb5øÜ:Ø&Q»c÷à˾¦\\8bÖN\ 2iU\86Å\85E/¥[À\83óR\7f\94\12\v5\ f\18u\8d»·÷&aæ ÇÍI\88øNÍ\ 5¡\98¾\97u\Ò\16QÈsÓ"Ê\9b\85½,Ô%±`\r·]ë½¾½ùkÃ\9dWÑÊ<\94¯£\95\91®È=n\12Q¥~D?9\0\ f8nx;ôÎQ4{ó\843÷ûXb\173\fvkô\11Êñãõhy~ÀtbÃ\eäüq,]Ò5:ÇO½'t¼\80\10±\ÐÍ\9buGA\à&\9a\80¤CæpC4áº\16\9d\fÀÍ\87\937Æh&Ã\ 1\80°ü£.+¶@½\98Rn­\15°x,1Ìr£á:\95\vÂ\91Ó\ 1³\1a¦}\ 1\vO`¼`Ñ!ì\rÝKý\80\17B\93uOû/A\82¨\7f-µÆ\84&\9bcÆÙR\91FÂy¯ð{\1f\19!#\9b~mQ\15ñZ3J±ãÛ%Ù^»­ëд¸²ÈÏ:{ý!%\8f@:/Å\93 ,\94Ò¬i=I#bÈý\12M\14YÒFfµMT\v*\ 5O2>Fl9\1c\1f~\1aB\1dç£aÆe\14REºêÄ_\81w ¹aX\8d\84\ 6\81á\8d¤hoé»[o¡6\1ewÕ¾ñ\85c\12ÓóØW0g\90ò¶|\9cNÜd\9b`XA×\0£I\89\ fõìÇ\ fí;c\93Ii\171sûØ\13\95d~\8cÊ"ùË\f<\9bàññ\97Vn·\9e\88~ª@L\rs5\96ð\1a    Q\93VJ    ¹å\85
+=7>9ɬ¹vJG.÷¹}\12/\80UµTªõûé\83sH\9c5NI¼¢åq8\8c\9e°ÚάÉÖÒ_êd\9aí«³;m\17­Î4\87h\81\f\95;4\13{3@Y%E\eM\84áâ\vñѦ¡Ñº¯=>½\83§ûc=;L\ 6®¾\9d;\ 4êØ\8e\85\82í \7f\84\90Y'VÐè:\10\1aêçù¦\83A¨ý\9f\f4^?s\ 4\87;ç´ÞÝBj\19\1aÙ \v\ ehx\91ê\bÃ\95<ºum]\ 4Ô}¤\ eìF\85\8b2hçòóHò2rGá>\ e0r7\8c\9d\8a\8eÍ\14\18%;I~2\¼t¼ñ\92Ó®ã\99:tÉÓQ%)
+wJK -0)¸étd\97\822[xésä\97\832\ätµÄ\96àÉs·iiåð\86\ eoÂgçóÐß)\14yº¢\8aÞü?(\fí\1d»4w)Õ\83G    µ\93Ô'\91U£6â}\ 3fA3F2:\ f\ 4Gw7"Ñ:¶gA#è\eÊ$¨°Åå[:O¡\97"Bù.\8e\14Ìq&O\190\vG:yF¨ÈϧW|?\vúeÇp)ÕÏ\1d\aGìª)×Qp´ÝØ«­¬å¢ìº\7ff;\961¾Ê\8eXdt\1c\19 «Ù{H\13$\82Ú\e\9f!qE\ 6M:¶ÇAà\ e\16\99¬\11a«ËÊ\9f´¤\8b´\9f\f¸W¹\19`,\17ñ:Ûl£têä\91Ö1TlÀ¯\9f¤\9d\9e\86\18«½\99e/ïiû_)«ú®*\8d^£Nô|U\1a½F\9dù\U\1a½¡Ðq\1cUZ¿ÀÅ()§!\re\85»8\8e^\15\ak\8a\14¹PíÈé\7f8\92æ       è7iu$\96ÜÉr\91ÒùâK\ 2þÎ\95\8e\978Isæe\ 6&O\96;(\ 1ØÊf\81\87fANû"áê3Eñ¡z\8cÝ\87Ï¡\ó\0éþO\ e\ 4\81|ÝÒ\1a¼\9d   »Ë\16\9d[pîÿ\93ìs\1c\82·\95þZ\ 3®N?E>\8d\84       !Î}ÙS4ë'¹\ 6g\1e'\9av\ e\93É\ 1e\8eÀõ\80q0éÛ\1d¹Z\83\83_SÊ\8f¦\8eõ\16Ñ\9eßvU\9c|\97T}\9fЫ\93¯\98\93@·×Â3\94X\13F]Àõt4\85\99v\85\amÚ_¢IrfKk\1d\92Åò1Òõ\ 4\975\19¸\ 5-é%ÇlAKëI.|\1a\92:]Q%\81j\8f!\1f\97óä\97Í\0ØìDKæa\90\8f\80w³Ñ!·\1e¢üA-\98\93\87\86ÙwXmvæê£ªÞTRïsÿ%>\96þÌ\9bXt}\17m\ 3ãñ!BâÓ2^é÷NÀ5)oi_\ 5\90\97©\vþ\85$¡kÝ=\9f\ 2\9f\95\97Ñ­×òç\96ÃÊ%\11\8bfübþá\84`*\r\8a>\1c\9c\965P\ 1\9e\84Æ;âî¬gâ£3\89\10³×© \89\9bj\84ÝS¯O"Í\v\ f¤gVr5ô\86QÖú0ò\8dL7ZFÓ\ 2:\ 2?\12\ 4\91Üï\92\81ÓÑ\16rM¾\18µ\19«\97ÎÒÏàâs½½Blº\13ó©Å9ÒU¿\8eõåé?èÒ\1eöã=È\ 1ù\8d\ e\89Å\874N©\80ABg^-Î\ 4§Z\ 2\bC<ÿ\80\ f\92ûj
+¬ômF£æ7[5Øc\88÷ë´\8dڢߠ   æ¹      1Û¤\ 3s¾©¯üÔ\87\ 1\19ò\9a\ 4ò;´»RKdO\a»K\ 3x\87t\9fø\r\1e½X=~N%\eø§èIv\ 2@\ 1)\1d/6Im\8a\r\r\94T·D\97*Nï»K¡$°\85\ 1¼^'PþZT\92æB@xKâPõõ\853\82#>ßV\ f´\9d\86\98û¡\99\ 4þ/_4e\17ßçH\92\12\9b\fSÅao|\89À¡»f¿_|¢¶\19°£\e
+Ãâ-ÂfÞEð\1f§ïF\91¡\a7ɰ»\9d\16\910ã\h§âAµ¯àÇ\8e\ fÄàÇ\8e\ fípcÇ\ 6\9f\ 6<p\7f?\82P\91\93z\8a\92o=j\15\93\8f\ 4\ eØ\92æ"ÄÄn'4f\89?\13Â\80Ì\16S·<8H\1dqõIq8M]wÅ;*\15díM-Å/¦h\93ñO3×\ e)\7f?\14\9c:áÉ.\ 2-@t¼ìX=#\8b+üS*¯iB¡°\9b\99ß7G"\10C@£\10ôùG\90þL)£Ç"\1d\11ËÊÆ\8f\1cT\1eN\15V,k\1d/½ÂªÅ\9c\98\80»\*±\ f-\10\17*4È£_ÎG\V§[\11\ eÕ\ 4\11zÈJR\13\ f\1c¡Â«\12ûE .:t\96\15V\8bkî'zÃGX2á[\17¦1\15;iÎ+/\ eUi®Ñ\85¹B/[ýnqn·9û÷\ 6\85'EënÇ\9c)\86§hèÍ\15\95.n\102J"4Ñ29¸ûªâö:\87þX=\99\vJ¡{[\84+ý>\160\ fè% -ù \87\96\86{\90=õؽõ«²\85ËÕÂ\f.Rd$®ÎØÜÝÎ\ 5ä\94\f{;<!\13\8eÀ÷\ 6íg'î\89\88\87ËÖ\98\ 5È\83\1e`\16þ\fy\80^\81 ¶\87)\92ä\90dÆl\18 Ù\92\fª\92Ò6ð5\ 4\83.\9d\\91Ð~¤\15eMJa\15\94»É\94\12\1f\ 6ÊÍ\14Ùû´½Ðè µ¼ÀûrÞj\85ÚúÏÛ\1d\18<ÉÐ\9a\16äu\97õOاéúêó\ eì\97\râ®9%\ 5\13ðj6\1e-\17ÓÎßÕ/"åþ4U4ÈZ{5\ fý4_íѤü¹ù°ËQ\88Y\80\93\11slnGÒWá¦\8b[*w%\Ñ
+Ü+\99ò\98ø\1e0úäp\1dÒì¢\89<F\19yR\ 1\15Fp\eɽ۽Yùø2`HUF\84¡ÊV]\82Xv
+:\8fÍ{L¼ýÏâàɼÔ[ö\ 6\89G¯^\95\86Å\99º\95\ eÛû\ 6©h*¤ì°jb[\12\15É3×±>¦\ 3ÿ\vð°AáàÔ°D#/Q\93r"43,ê\84mr²Ó©'RÅgÜ\19Ü^mJt×Ë\rt\92²\1fà}­ô(TÈYô㪬ã£8\99kê6\10Y\99xΧª×©_®e\ 3»\r\8f7YLÇ\88í\8c\10\e½D;P2úúÿi}hh\15\1f£\82\1fipk?¶Z\16\1f¬´$!ÓiÈ\98\0Û|¬¹^Ó\ 4r+\ e÷eËæÄÞY2ìyråÝ\12['IÓ\ 1{¶5\8a\99\85Á+/BJ:âP\92ÚÆ \9fS\18¹«\11\98À\8e0\ 6\80Ð\1f»\r'º    >¼Ê&~aÿñ\9ct2\1dc\9dãóÓ£\eÿ¨rMÎ\f\8eùøúßXý$\ 4>\7fä¯RZ\8f\9a³\91\ 5?0$>-V¾+\11§¢_Ph½ÓË\1a\ 2°ð\1d`j½P\7f¯BÉ<³C ÷\9eª¬×8\        §.eW\1a\81Y0PØ´Ü%²yi#ð\9e\92\1f   Ú\12¶LÌð0ÅÅáZ \ 2õÔé\902\81\ 5a6:_Ô%Ç4dðm\1a\b©\95Ä\99\83:c\85«+}ÏT\aÞ3\11´kèëÑ\ 2ÜMÞ$ÿ\87\9eZ\8fÑÖ;çcóÓ\81\9eõZ],V;¯Ç\81ïÇôCEþ:AS±BÓå°V\95²¡ÿP\ 2VGX\8d\96e\85\97^çá«í\8f©£êËËóÆ^X}\1c\84ïCü\9b=È4;\98\0\f\13t¨LÛ\18äÙD+\84á£\\98Fã#(\a\82ÐzN\9b\872ª4}(\91\95j\93ôbÇ\vyëMÉsKG\eä\8c¿jî:Lv©\ 6\98)Ýȧüx\15cuäÈû·$¶Ç¤$\8a\97ßàU\92\9eme\81VH¼¤t¾»\ 2¬\8b®Lî.\8c\92ç\8a\90\vâ\9dÄ´äµ)ù\88þ÷\14\82/-/L\a¾oê\14´\93}Ц*M:ÂBdd)áeI    ¡\90§N\84ä\90\9b\19
+øt,A!I\99
+xèWïPMâ\9d¨\90÷öRTÉ,\ 4òØ\bv}`\7fH=ZÃGF¸\ f2Û"\95Ã\96\9c\82ýµ\85\ 6úe\85\ 1\11¹\96²iU\8e:\eâ2\ 3¢\9d\99~|\1f¥S\19\8a¹ÂKøå5ÅT¼¥\19\15JèiÅC\9cg\14\85\9aL2È¡x¡é|\917\ 4        \80&qÐÐßÈ\10C\16-¾ý\18HZ3©Þ \ 4å¿&Y\8dð²Êhòû9õ2@u\85¼¬~\8cî\853.\aôå/\12lp¥è\89-Ð7|t¾¤\92Ò       \82ñÒé\89\1c\17\1f\97ó¤\97TSx®Òå\89/0d»üN'Ó\1fA]\8f\8eî"E\96¤\9e.3·í\85\8f\0\99f·MO$X\8f3I\9d¥ýB(>\18\88âË3%¬\r2\8b%\ 4\9e\94}\85\vÐÕÚÈd&õcIJ¡M7/\16]"bS½aa\85\89W,\8b\93\8f \9a\7fó(mȱH\9cíAn®\12×\9fS±. Kµ;
+\9f£\0ÿ7þó%L\10\9c,\118r\80BT\f\ f\94ãÑ;\ fîß\8b°ÕV\8f\91-\8dn=I\94\98GY2«¯4"ò\f£\81*íÄu\93j¤u^ MÞ£\18;\ 3F\f\91z$M\8c\93ê|sÔfKãH=²õ\19¨\94¸÷\93ÒÙ­=.Ã\7fFh\85\17\88ÜÏîbÄ#H\8a\16`7Óì\93\95r\9a,Òê·        ¢ÉÛü\92A\908ß"Ü1`q\99»$\a\9eõ¬\99P\96}àYïTÐ\98ß\82\93\9f\9bÞ\a
+N¡\87È)<X\8c>"èaÒÌò\85YªÒ\14ßS´<î9"ïV¯Q\93/\8b\82ÊF\9aÆ´Èx±8\fKX\vèÄ´È¢Z\8bDxú\9d\99ù[GÔãË\9e¢zW\19g¡âì\95'üô9à2ü¹Ù?vyhsn\14ãsJÓÔ\8f\11\9bN¬ÜR\Î\18ö¯\85Ol\1eG~±¡ÛÿÓ\17\fP\89XR\ 2*\8e\18ÉzjÁÝ\95.O\8f\aøÝεä\94v¥Ü¨1wºz   \84l8Î\10í|\82\16\91Oç~Cp«ð{\9cwÚþÉzáÑ-07Þq\99OøbN\99°·\9f»RÜÈRànÔºxÊZË\r\1cÒúæ¶·á+?ZÌwa4o¤ø\9e\92x%1®qk\81,\92nöt\89\1asXÔrß1\985\v\ e\83Ò\8cHåk\16û\1c\8dXCDIQ'\84$|\12\9a\a¢6§\9dÞ©\0áÓ¤4i       ÔO\a\8dk\ 6v<Ð\ eM\ 4§í­\ 3_þÚÐ:ý\9dyëA®è?ÍÓabrnÒcÙ\1eHIhæÒ\9e?Íý\1dÌ\17T\Ò6\eÚ\a\÷4üµdQ\8d°\12\88k\9a\ eM\0ØWzà3Ý\ 2\9b\92Å\14\88}ÞB̳\9c\91\\97î«í\7f\8a½ïįa\1d_\98þ*ú\1fq_ñcãû6ñqñÿªßàÇÇñ     Hßõ\11D]\94çÕn®£CýFêê4?nÞ îóì\9bÿv£\89ü\86ÿ¯QÄÿq¶ÉÃ6àÿó\95ö\9d\9cÜB¾Ó\ 2;\13½+í<L/ö\15ö\9aSwe}§¼ÿÙ_iø³_¬¯´ûy¯û\15ö\9f;5þò¾Óüs?¼¯´Ïêé($Ô¡³ñ²\9a\1aßZ±n\ 3\86ªE \18Àþì\9b\17Å\1eW\94\8e¶2Ó÷\86¥\1fÜ\1f\8c1÷¾çWOô³\8b§ùöë§üÈâÏ\ e\81\92å\8c\96o\9fI\1cú\13ï45ïÝ&Îÿàmê|Ìcw\1c·]ï\ 5\9e\7føwürÞ{\1dJËjº`Ì>&Ý\9fÉ"D\7fØf¥\7f\ fMûØÌî9o!ËÈg{²$sø±\93¿í>¶>ZÜ1§Y\9aþo\9f\94]7Ò!¸\96\94ÎÅ"Bqêù31\9c\91u\7f,\89\ùm_Òþæ¿þ\1a \ fóo3\v?ÀVi\7f\ f´|\16¦Úîj\19\v\ 2æ\9dT»Í,'9·åë\97à\17®`h\11\18Ï\19÷xuë\80²\ f\1aK®\ÖqzæÒ\8b\97IM¯\1cú÷(ÕréS\7fòÁ\96\87\0LNfW®\99À¯]5}^ºlß6æW\81\9eäNÏ®]|Arëø\ 2 ÜêõØC!ó\93K×aL·¡\96\9d\96-mwzn'Â\93\87\84\»F\7fG\9fèAãó\9a»]½GÛúÌ:¬\7f©¤ðWÆ\1e$µ3\9c\97\84{       Î:½\84e|Õê½\8cez\9aôSQ1!^Ê2½­ê½\9ce}\ 5꽤ez\84*?Þc$+ÚÆW©nîõ³²\15í£+Ú^«ä£+Ô ç&TR\15òñ\95ó×¼}\bÊûíê¾b2½\95ë'Ì\9dF¾0òaê9é
+ù¨Ü}½ë\8fæã+ù»Þ\8f¾ÆWàÔÌ\a÷\8c\9f~\8c¯p ó\vÞ+ïñ\95ê\12a\15\ f?!_?\19^¦^öÌ^+ð\11\95ê\10ö;ÛÅ~\ 62¿\ 5\19\87ÌÈ\1a>ËÑÁdëû©\9fg5èý\1f°³ÔÖÆ>xùÉ
\11\95íoUìc+Ð\86e\1c\1cÅ{(ÊöW½~Î2½AI¢ÎÑHW´\8c¯\96½Wµ\8c¯\98\8còøêöÑ\95ó7ªù(Êù«Õ|\9cez\90\1fW;þïEÛô^7VÏ¢úóÕ\1c\87x: =G%zÍk\ 2:\83ãHW±\89Ök+Ô\16O8êù(\9df²¿Â¼ãì¢cAu\95ûüD\85{8\90     Åãø\99
\91\1f\ 6²¿I\8a\90¯kx¯Ö^+ÛD\87\re|®.B½ÄF£\8bÑçWÇ+°v\1eá\13Q­«ïñÕìo1¿3yé
+öK\117ÚÙ\90Nñ^Î$8ë+ö\17Ù
\91#CY^ ·=ÇWµ\89\ 3\9aÊû\eÅ{h\98×^/GÏÈWÉD\80Me\7fM\80\90¯\93\89\8fEÖWîï\15ò\91 CY_Òàd+å¢B\a\15Í÷\8að\84¾sÜW¹ \90¯\98\89&Íe\7fWx¯\99\1d\82\9då+õ¼Ü\85|ä<oÝ\15_\9dÁHWߢI\83Y_C\83\90¯ÀD\8cMe~\9añ_\81 Lªä«Ù8\90¯ÁD\8d\re~c !_\83!;\8cåB\7f\85\90¯æ¢\r\9d4Wgó²\15ø£\93ª¼u|\vÎ>?ß\19>[ûèd+ÃB#4~â¾\7fã\7f¤gËùìGØ\82÷\11º\99îçJÎ\13\8fdkG²5}n³\85\7fßæSÉ}\ûϯ%W\88ÅÇ\91_\1e-ÿ©\87èþnꯩú>%¾£Ñu_ù£ö|\7f¿_øû<\a¡âÊdü_´ïi\90ý\1dU\x_ÿ\95\9dW\1fXåÿ\9d\96ÅüÿßÏýË\19âpÐ)]/\85sá]xT>\1ecÃ{áÚøp<9íRZ­\ 6«SªÝê\9bjèõyÍ^\97WrWvÛ\92\1f\1d6cL÷Mk¦\81¦\9eïRït\1dî§½Ý÷­´ôz|æ\9fK§¹ÓÝiè{ìÇ|÷¾µï wÓÚ\84µ\1a\rF§Q»Ô6ïèûüç\7f¥ïî{û®þ\87ÀÌx\ f|\v_\ 2\a\81=à¥àè<\1dO\83»ð[jhõ9ÍOö\90TþV'òá¥M\80'òþöÿyþ/\13£Èê\1eü\7f\ 3-ìb¾Ö#\14ÕÎ=²ë§\r¤Y¾ý_\vjÏ÷\8aZþÿw\85ù¿+ú1½\15\9e\97Çîm*õ|Ðì\0\e_ï2\9e°\1eýüßñ3Y=3_ÿ\16\15\1fá9\10¥ï\18üD@ÇTsz'Í\9f÷îÙÁafa\89׳\9f÷ð\8aZ~lâÀ7\9bkze=g!qu,ØìÚè\ 2c\ 4ádzÀÅ\r\97u9°d¦º   §9<D¥³Ú(P뻸yqâ(¬Hæ\8efIpê\91óp7\8a\94\96euü3í["Ôm´¢UPø\11  \922¦'6#O#\96\939D\1dU$¥Þ2\ 3õÕ\ 3n¼ãÃÚ¦­_y\8a
+¥4\ 5\fáÅK\88+s® d\8eJéX°ÊôxbÌÑ¡UÔé:vªsí±\10B\86\14¹È\14\ 1\98\v\rkiËùiH\7fÿm«þ»ÿ\1açO\84½*®\7f=K{ïÛ_ÿ\ 1Ü[~Ïü\7fîÖU¼÷ùIÂ^\9a\18ª7ä!\8a£\7fÊþÓ\19\93ýöÕ\1fúÉ¿î=´?\1eXßò¶Gñ\7f\87ñWÔZLå4\8cQí¿£+CÏ-ýêu[ø*_ÿqS\9b\8b\eðôXH?õv×Î\ e\8b\9cãäôù|\97Y÷=~×éù\1d\9bW;»úë«kü\89\aþÌ¿\aïR\7f\9aÖ7åh\80\98f\93;ÿ÷ÚÉ`B;k\11E\1fíµ\92À\99\0ÿék%Ð_ÿç!½I\aázµ\87\eüV²X]¨\0\vëbE\14wÏ~Aøj
+Àg5üÛ\ ea        iÝ\99î\9døâÁç~÷íd¹ó°\1d\ 1ÿ|±¤· P¨ÇP\9e\87¬=ù\91½n\ 4Ë4ÔµZÂÉ\9cS`\9bB7Ø\ 4\ßÝI\13"Ï \7f\ e\ 3dèEuYq\v\ 6\12\16]Áî¬\9a§8È@XÈäbö é\17i\8eB6ÕTÉ£È\e&\87\12ǨJ\8a\18ö\93æì=-\18è/
+T^yî`9\80 \9e\8aøL+|B!ý9!¸ô1\96Ðyá)\ ft\8f\9büvs°äSt\ 5ÔAâ\11\96\82 BªÌ>tFc\9f\9c\93T\82[òq\87±µË\12\1eÃôåª}¸PªS°Ö       \8b§ö\80?^\b§ô\18\86\b\ f\ 3_\9cßö\803gÀA1VN['NÂ¥ÿç\ 2\95\91\và\1d:v56_sR\1a\81:d\eð ²tõàh7½\8b\89ñû³t÷ZãJ9b¢ÅÀf\8fË]\178\1e\16W Nâ\92×\8e\1fÃRë/!Ãq;\ eýk\80Э &\17-8\13\v\96\Nã\94ß\1f\99\927ã3Ö\eñÓ}Ã~:\7f\8e£µ7ã5ôÄ~«ÃM\9dâlK·Ò\89{\1aøÂ+ùm\ 6ñ\ 4\80î7\897È!ê{\819\ e×\8duw±9»Y¼\ 5*\8a×\9c\9d»MÕ\911ôæç\ f¬\93ìTÏ2\85\9dÉËÒÿM\9e\96mR!¹Ú\89\8a\19\84£'J\112h\8f]\11\1aå^jqIW\96 õtúuüD;\ 34YË\1e!:d\ 38\80\ 5³sÄCFE\8c8d º\98íKŸ\1d\b!±pùq3}\99õR¾½mT\86       U}\0øá\9baÓ<\8dh\8b\b ^&ÁH'eÞ8
+%û"Ð\8f\83\82ý\ 5ë\7f²±qÞ\1ea\0+\84©Þ\94?\ 3P³RÀ¶44\89\86Q`\f®æ\9dKZKw\97ì|£É+"?´Ø3ÇÎ,án\90\9fè\15«´\96õ×ô|®¬äÇ\ 6îâÄ\e5Pnp\19?s\1f( ÝÉÓ»7'r\92\89Îßíà\ 5ï\aPÿx\1aÀK\9b+9\ 4ÍÓå*Ý,\84àÚÿ"/¹ '­p\19\1f\8dó\ feÔ]**¯×*
+«òø\0\f§®XqÒÃkÂõ\17\ 3\11Íc»3é\99V\80ªzù3e¬\9f\18ÎbH\99$\7f¨\8b\9c¬\19Lv\18\98G¯Ô&DÝD²t)n\9e7ï[å\ f¨5°-ø\r\9c×þeðX¢û×\ 1_³  ~\81°èàôtBë*BÎà\v\11Ï\ 3! V¢Ú        >Kyá¬<!~5#I¾Cµé\0\9cH\9fpÝQé\ 5\87³ùÔ,ú×\ e@\95\Bd\16È\85\89(¼Ï}#-á\15*UÀ\1depLÅ-_\94r½B'«~Nô\11\9dÁ\ f"\ 4¯\11 \1f\18§t¶æí\1d\rýÍ}Ã\a4\84ÑU½Ðyv\8eéxÈ&\19ôD:Ð\18z\80\98y\0\19£ðÌ9ÆB¡)QàéìY=\17±\aΠ ÿ\89U$¯\1eCIöËNc2³Bc\9f@Kc\17$m\a£À\8e°Ì\a6\1d>»º\e\12\ e(ùMbÇ®©8H}\10Ó}AôÉ\ 5êN¬´\82ì3½Dl©Å\vßQg¥:ODÁG¤\96\8a\91¦O\87Ó\12 ïzÔ¬ö\ 4ç=Y\85\8cuä-Ws\8f¿ágF-!ê\9döE«\ 3\fDbÝ\89ì\ 4Pi0¦\ 2c\1dÐÚ¹!.D\9fú ²S\95ÝÇ\bo\ 4\1eÍy\14¾¾\9d\v\12ß\97\ 1÷i>¬\18\ 6\3R\ 2È}\1e¦v=è\ fÕ\0[¶ú×\1a\ 1a\8f\vi¿xâ¼ðÆi\8f\0¸l°\8c)\87M\8a\0À.®_²\7fØ\8b\1dé\91þú\8c¾\1cʦ\e/§M.£\1cX\96f\0¸\r\rMPcp\ 5LBv\1fQ\9a\93¦^v'p\\13é\17ëê\97ëº\88ÍÆ\80\8c6è:UïxãO\17¸Ãb~ûå44\1cGóe\9bY\85=\9f\0\1a"t\14µ¿\ 6Ìhï\1c\ 1rö¥Úl\ 21E­L°,@ ÓÁsu§\16#²ò&_'ÐÞ;+ÀC\96쯱®\aÏX\81 ]½î\a\8a#I¹BÇ&\ 3¾ DVøæ\93ÎCµ9c |Ä\ e?B¾pu\90ùGAÚ@¶¢àTRñóý&I6XR|xê»\81õiíÉÈ0\1dgÞÅ\7f£û\90\1f\9a\9b\8dG[\8eÆÄÃ\85\ f<\8c¶.;«\97\86ö0,a2;äÓ½°'y³\ fK¤rðN\90\8auYÕm=\ f³/\ fZêC1ÙØªeZ\84ö\92k¥Ê»i4¸q\1c4.Èï\14\8btKx\91\8f\r$ðâí\81\16m«K\1c<ñZÆúÜ;uðÊkh\1a\b-\88\94Ñ^\b^\11дª?8\11-\85\11ã\8cØ9Ññtn\90ï\86\ 5f¨­emk\89\85çø\ e·¸\e÷®%fàõ®Ç\8aÞh\8e\8e\1f\90-6\85\8cÙPÞ\ 6\89\ 3Ho\ 3#rré÷å¯è4eç\98W!LÃvnè×ä+ô4\ eto8o\99â\a=·yÀS«z\95,VIk_b\14$i5õÓb«|ê\81ÎB\8eÆK©\ 2dlÏ;c¸\rH×·ô\99d\1f\ 4µ\1c|'\99Ø;\80 0}(\95ä\13§Û'T\9bt;`']Äû\ 5àå«\10+ë (H\80´\9a®@¬\12ØÛä\1f2 £±\95\b\81\90¦ó\9d0ØÓR[Öù\9bêÑt£\97¥Ú\9béPóa\98ù\86îwoû\8dÈ\fªÀçg:ÄqÚ%Õß'Êl6*÷\19Ò\7fÕúP³\9d\a        [       f^í\8e3õ_A©õ¸\88HA/j;\16î\ 4Å\81\86ö\83<\94\81\85µ<è\1e¼RÕ\83\8f!Ò û\ f\9e\ 5O?$Kí£Cú¹ÎÓиÍ:O?Çt\9dg!\v;ä>s÷ÏÎYFç"i,ìy\ eðÜZí¹ù£ýC\82°@A¿{\93ç\9d\èt_r¡Y×Äè>#bá\14í\vù\84Ä\12\13\8dÐ< è§qz        Nüí\1a\10\9c<{\1fi,7\12/~\ 4\10Tbç'äç°è\1eíqjõIØ?»\88Ááp\97¸h\1dg°'\9bºq.\88\144\ 3D<\7f      Àed\86µ\80FTDó 2õ\10wíÀú*\1c\ 4\9fëwá\96\8c\92c­d\12AR^R\7f\92\82YN\9a|ù¬Üv0à6\15Ó\ 6\9d:ü5ËÉÊ[\97\92aÑ[Á&n{Q5|y[PØ.È,íKb¢,E2$\9db!ð$ç\ 3ÈÁ\81.s9¨\88ÞzU\9bÏJ³yþ÷\rÝ©û\95\94ýϾ§îÖS¬Ëgôß½\95;¡L÷ÜoµÌH\9eÂ.[\15u¼qik\1f\98´P\10§        \8c½7æuØç¥¥ovÓÂq\13ÛîgX$]MLÈ\14\7fHê7,"X5ôÒQaX\87êÀ\ 6ÂöÃ\82
+Ò<\8d5£}/NÑ9Ä[\13V=RåÂ.­2\ fp_­*\92=?É#¾$9\81 \91ôXá"Hí)\1fjÈðò\ 6\1e\11\8edÑ"RÝ!¤ÌÝ\ 4\ e\9f#ã-ÃÑMÏ\rXbn
+\1e(IÕ5S¯D¨JØ\14\9dZñÕEBî\9b.àyíe.ʹ\9b\97Û ½D®mCJ¾û¯g\8cEele{\ 1,\98á'0®4\90\1d\864³Ä,8È<\93\ e*\f\13\ 5¸\19ö8ÈòD-:Rù\86\8d#L        ZiVDDò\1c=\vo<É#ióÃICÇÔ8Ò\ 1i\vç¥MÁm\94F±î\ 5\15ä¥d¦¹D:j.+º^)ºÆÓG\a\18s¶ÒÛ@Ú\14Ì×\94\ 4L\aã{(9aí@û\87\99ËÀR\ 3õ\1a\g¸\1dÀWØ­(\88Âv¤ :F\83\ 5\16'\96\87ïë]ËåCIäñaB(ë\11O¡ã\83LÙ®&¡Ù\9e3\8diÿw+N\97\1f\80ì»\9d\1e\90î\9côΧÐ\1f\ès\ 31{HãÆZV\19p\ 3Áp     ¾9å*\913\87ز\Â\1fa\ eÄY\84¦¢¡ÎÅÂDÑ       ),\14cø©\ 2³i±qg\12X¨u×f¾3«4+ÔÔÉ\v\95¥|éÏ,'Z2a5®-FXHLstø¦Ï\19ØÛïë\ 1¦\902\1eû²?ÀS\12\7fÂßuÜA'0ûÃ\12\ 3«-¬²_\f[\ 3\18V#Km]¿3¼×ëËbÓßÛÔ¿·¬u\8e\92\rF\13¶`î\15°T½Wq2I²,\b\91Kå¼n\96\ep\abR\ 3ý,þU\80ÔÐ\86\ 1fmÿ\12éó̲÷\8b§Ì\ eÔßÿ%Óæq\9e·eýÕ%\7f\95\8fí©+ñ!\90¬>ª\19
+ÃÿaÈV\1c\ 5ÄJ\18\9a   2\ 6Ð\97µYµ#\94\0ô\ 4l\ 4ÊÏ\98£\1c\b|#rx#p0#OÑ&s¾Ç#°S\v&{5\ f\b\10äÕþ\11ñ\97ð .\1fð\8e=Oç\17:\99¡¿©\1fã\17*\9fÅü\1a\91Ýî\1aÓ­nÿ¾ÌpÀ=\1c6*\8f(\7fêÙ=Jê\98º)ÆH8µjxå\8aô\87À\0ï£ö+°\vó\8b®Ç{'à.Yþ_¥÷8Ä\ e\91O;1\8b½¦Û>fMÒ\9c\85\0×m\8fçM\9fî¿(\7f mO¾\94õÿçûÇ$d\9f\14|s2þ\12wÃò\85Tûô\87!RÐc>Ìþ9¨BS¨]ï\8aíÞX\7f\8cõ*o\ eýÛ\1c©óç\87\97\87ñ\8e\9f&\7fâ\12\1c?­Ú^2/Ö\8bÞÝ\9c\7fýxÞqê\83ÿW\8fG\1e®ßõm.<\7f
+¿ÿ\95rÿè*\1d|æ§A©{©Òêyc\81¦³æò£ü\86±\87¼4cµà}Ô¯\auâa\1c÷\fü®²­\ræò¶þÕÍÖ5uÖó\e"¯_Êî²Ü\8e£\99â\vò\8c\1aÿ\95WÓÊ*\1c\9eIE®\85_Þ7ÿä*\9f~\87U\7f°ýÂß6ç\eÿ]¤GÓsðÉP/þU\81s\17ã\90ª}úôÚ=ÃD´çÎm\19óþý`^±¹\ e\b]³~`à\89«â%\85żæ\88³>»\9a/\88ßåÀ\7féÜ\9f÷îè\9a\9flv+Ó\1f÷ï\9cì>Xú\e\15\87\9d\bÞ\1d\ 6ü\9fëbc_Õ~)M\99æ±au3\86iOVZí\ 3·ÿ\81þÚ±Õ\91\14¾Qïú$!çÄ\1dö|\97{ÜP\1dè;\b\9a\18ÀÿÎ\ 1ºÁ9\0öWÄ\9fÎyX£á\1fÓÝG\14§¹Å¨j\1f©¡\92\83\84qî@³²´\ 3\b»\89õ\11
+hF\96èt\ 4éæ*\1e
+!*P°\ 3g\90$\f=\ 2\9d\0~{îqåxÊ\ fHó,^8Ð}Ó\983ÛÇj\1e\18e@\9dݪ\9dò\85¤®`÷\92áNû\81¹n¡6\13¦$ó\7f\ 3ð       >\8cWg\8e\96\95       ³Æß\8bHÓñ
+kDnât°\19ɺOb\ 4DN$\82x\8c!±á\ 6\97\7fëâUÖÈc\98òM\92\88,ôx\95\18ü©|\ 4´\89È[\8a\95Ákl¾X\17\96l\1d\97\ 1ÏZ^\14\87TØÏR\ 6L°¢ö\1f\12¡\94àªTYxppàV\9b\1e\9c\13¥\98*D×\8e3\ 3ùù\91\1c\87z'¬á2\17~v{|D=\rÈÁáùns°Ð¸£\ób\14\ 4m\87YÚøç³àû\83\96¹~"\1e\88Ø»\r\7f=ó(¡\17>t\16`\17\95\b÷¨\87RZ#\16ûó¤\9e\81®2Ø5éñ6ý½c¬s)\9a殨ÞL°y2o®>eçÈE\85Â4\9b,ö*\ f¡\8có\10³Ù¤\9b.Þ²Ã\1e½\99(\17¼\9dE\87\9a\8d'\9d\83*tçO^/`\ 2úã\88\9d\rhqí¸§Ñ\ 3     f yUT\9f\9eº\9b\19å¡goP\9b\ 2qÌ]Y\90Ç7\97®\f\fÊés\13}\1dK¶x\1e\9cò}\16\edi6ùæðvá®oÆãuú\10Ý}1=v\\92}4»+\8b\17\ 3ëKØR®y¢BÓ"É'ùQ×ÙLØ\979a\90}³~ú`\17®|9aq\99gójÝPðd\9d?Tîwr-ÃÈ)ë\1f±3¡Ù\8eº¯Î\aõLnÂÚ`ô$\9c\9dqkÅ\96\86h',\ 4ßÞí\8f®\95\85Å\ 2\80\16ÚT>\8cØçÑ ÐÈ\8bbÐÈ\85L#¸åÈk¯BÓ'í\85\14\92åêx\15O÷P·\0ÓÞ\15\7f\90]¬óN=\1d\9f\eg\96sGñ¿gGs8®U¼\1f\ 5KpL5\818úÅ$ä\bd±Ëî\e\97ߤoKýW:X\ eç8\17k\8a8eu}Â\97c¡Ì\ 3*h\ 4\82&Ãììpq©`âÑ\94\bm×ß{F\93\93ý\99\99\99\92\10\92}\bB0\8cI\b\ 1\180\ 32}\ 1Ì\931>ÀÈ1@\11¨\89j¹©b#C2) ¤¬"Ì\9f?6Ý]ëzÛ¶ß.Öè·nÚ\8bà
+ÖØ\12\90\11DAEUQ\14vîC\11`\8e\96
\7f\7f¿ÿßßffH\0\bUmí¶îÛ|ß7Ç«¾¯yÝço¡ÞyÛÞw©Þ\85ö{ð\1f½\1eü\17ï_¿\ 3{ð7©áÞÖËd¶Hê\85Í÷Í
+Ç!y\82Èaa]8¨\852éÆ\91\88$\9cfQ â\ fd-6:Ád9\ 5.l\9eÄ\14ÊDª\9b\97:¹¨¯\8c©g\8c7âüh\ 3·%F\1aT\92\ 4òÌôT   j¦hT#\ 1=\99É\f°\10F\0±æ\ 6ÀbI,¥S\9c° \90Zkb²\88"3a$O[ Ã¯*\ 1U¯M\87\90/âW=qÊ
\91Î_\\ 6Ô)g[\94µ{×êúeÎy5fG¯ïÔ\83Îß¡ÃÊ«/5év\95h\17ý2O\96_k\80\8b\17S\89.É}mqÕ\ f\93âïYeÎj
\91Ñ\80ù¡ú")óîØ\92\13\93\ eq\ 5þ\84:á¤\9fJ\7f\14\82ü\8aØ%§ð\88Ûe%JÁAÝàÚá¥JÁ]DÜ\ 2H"CJ\11C,¦¢EX\82t(\ 6¿[Ò¸Úe¥ëʸѠ¤ÁM®î\ emòºû\1aªÌT\19¨\11µ¢T`\9e»CëÅçRÕí]ýú{WùfNðû\e]m¶å\93-\8b/       Ý¤Ë{W\99f\8cµ®ðöª\196A/+ ´­`l|Ácí\0Ú\86û¦\8b»Æ¦\92/¸ÒHg\9f\87Ïë\1eË}ýzdsÙù\81\rZ\9dúNÊÉ\87»ù©\9dÓ=ùÝ3²±rgLعc
+fÇFÆ\\13Ê\ 1\9d2\rÀ!\99\13±\81:gd\1c\93äÞ* \8aN\8eÜ\9d\ 5\ 1>}\9e\8aÿjÒ`Î{´y\7fö\8b86[¼¨¶\8bå®o*ï\95ó\1c²\83òÁ¼úõ\0¨\03°,¸\18»Á¸ýÍ8kn\ 6ôáÉÈÖ'RÛ»ÞÄ\81î\vû\8aì\8a\82 ßn\84¾Ã\9a\ 3S0o²\84t\10\v\ 1úÉ\aEÁ|´j<Zý$ªMÅ)&\82¤ìÂu\87r4\ f\18ý=\8c\1e\a\84\83\15¸jìh\14ÍÃQî\85Ë\17w\fXÛÚ5æNÊÞ\13þü\82ÃSèW#\ fÀAp7KØxÿì`\83,|\ 42<f\9e\96\f£V\81\ 5úác\90ÛòäªÂ~êò1'v\98gij\83ã=2¦Ñ<¢\8b½jÖn­9\9eè`köØeÅâßè.p\ 3ë=Ç©_\e\ 6¤<£\e\86\1d±¾o\92Ð5ù\98RO¨¼¤\byéÓ~Ïo\92Ó\bªçÚ¨Ï\80³×\17\12ÝÒ\90ôx\e\87x9k\87t¬;ð¢CFmR|ØÑ±ä§\ 6e\846wPoÜmü{X\ 2\89ÿwS\16ûp×\95\ f#\88\97÷«\12\a\"8ë\97\8eG\1dfpeéÍ5ëôk\87\ 3\86.N¡\1eAOÃ9d\96\9c\17aØO£$`Ià\93\1c\89@\98@Aã§GÚ\10UlN\1a\84ß(\95\9eØé\9b°\1eª> \13ÒMÜêZ{20Ü©è=m\95Üü\1cõ\95Ý\ 4\1e\8eÊî\86\rm\95Ý\14\1erÊï\ 5\a\17ewI\a\br\ 5@\9f$_)Ï\11Bó¨ý[hݶu\ 2ól¤_\92ýl(\bb\18¹\ 3|/\86\8b2.0ß\ 1ÓÌ\8a\a\15\88!q¸´¦øX\ f\86\ 4ß\fÀø\1a/\9c/\91F/ñ9¾\1fÏFsÓ\13$·Nf\99ò¾Dv\90\89\8d\80\eÌk(\94¦Þ+Ö\ 4ìàOU\Wgq\8b\13\17\8cj4á\16ö}B=Eè\89\ 1Bì \8b\8d?%,\94±àt:e\91D2£¤'\12oÙ*½U.Ò\98ºÁ\80â\8e²Á:Ð-Ó19«Êe\1a\r?\87Ó\9cc¡ÆSÁ?\12æ%¼\95\15D¥âª\15(rþ\93\ 5ʪ@ä7£âG\85\88(\v­\81V4(¯o\15kèá\10Æ.Ú.Ö\1dß-\7f\16\13þÍ`­¦nôµR\18ÓC¦D÷µ\ 6\81ú¶õv­\1dÀvÏÏ45TÏ\ 1\1a\1dȪC\15¿ÂxDq¦ì$\90á\14\85U\81ÈFàvX6\ e¹½ú\96Y
+*8ä)¹a`8Cp±pG!\ 5J»*ªF\10\81vß?¤\97.A`BN\98\14\14ºcô\e§¯\97\17\99ʪò\92\¸¨ªíg\98éöÐ¥ªÜeر\83|´¿ðm\88\86ÁÀ¾kÆ·àÛ\ 3\ 6Zc,ë\83pROdÉ:Uè{cÓ|\zc\82D\eò\14{ºã\9cM»(:½\12\83\84ϧòW\83«fx:¨ï\1fO®(:½\\19AÕõJ\ 3gLAa'\81¾3ð\17ìZ¨\fFÒE\8d·JÑSï\97ÌÁ¢ÌÃJ1\e´&\1f°8h_íFÄó\bO{Äz@yV\97\r\19\95\7f\1f\83FXýjÆ'âÊcÒ\1d\8f¸\96\bC_øðaï\ 17Ê1\15§! Ù\ 4$\ 5É\83\fË¿xñ'Ðð¢O\ 3÷X"O\ 1\14μIþ\95'¿\12\f1]\ 5R\b6Õp¾Ú¼\15â^ïO¶©«Íµw%¶¡M½\9bmG³tín¨\88Î|\ 1nb\83ÕÇSk\11Ý£ h\97ºjB²ì\1e5\14\8aYµã|Ô¤;6×§¤9i-Ò\1eSÇ1\1eWïO"Wï×KZ\9b6´çe\95kfG»7\7f\1aÑemÁc,#\936ÔYR{ûQ®¼!\90/\11å¯-Ñ\10ü!í\85\90\81¯\13\ 1\v\ eü\93kLÅæÕìr\1ft<ò\13\93F_ã¬òw\82í\88L?\80¢ã¦\87¬\15`\84Ùìµ ´ @ç¦2$º\83\16à©·ÂÜ Ñzú8ú/y¸\9eD˽é\f1kÛYpZ\1f\9a7Éù°`À\1dÑù\\18=SÇ\18
+\1a0uv¡@Z,òùÁ6\8aÔì¬\r\a~BÔ\ e\JÝc\12.\16inîû\ 2\ec@\99-kÐðb|ÒO3×\f\88\95zì·\8can.\1aí°HàÔ\98yi\80¸\ 4¤\8fi\7fÿ\ 1»"ñ*-\9c²á:J[\84é.»\ 4wI\ 3Ô¹]Ò]>\v\8aé/\12O\rØwF\8c2°G\ræ\82\0\19ZõüN\1a\8fv\9dá(ì¸\88u-;¶q;\91#®$Õc©lo·Ó/´áørÙÄT¾Â\80òÔË\9bí¥ö\a\ e_¡ËHáË     ¾ßàáËý\1a\87£}\9f,}\e\97>\8d²\894Míð\8aª´ßn\ eô}¦\ f¥L¢zåö¾\9fJ\99DÜïF\8dÕÉѼ\7fèѹUßY(Õ`ü=²ïÃð\97~\1d±\14\99\133\96\9c\9eÆñù?x\9f\92\aï\10ÏÉ\86}4c\134Z,ÐúhÆ#âûbϦ\8cbT\97Ù©ôÑ\8cLFôöT:\92%Îøæ*\8fBðvÕ\ eús©¶,ºõáS²U§\1a\9c        ³}õÐa\84\9bwSBo·©t5ì\13Ù#\14?=:/\86\12\1e\10ã{ dP÷\80ó,\95à\:\9c\8dpê!¿nc?W_pëw\19Î\1d->Ыz\ f@ðs?\ 5Ú#à\9e\rÖW\9b\13\1d©\17N9\909ÚG²^úÀDµð!×Ð\9bö\89Hu\8dµ\83©äh8_F¶Ô1\83¿\80ò\1dd楨1]ìYwØ«&â`.\8ff/\8aÓæ©ß\f<L\1eô¹í¡M\82´#´¬¥\ 5[WiY\84\19    \12\10þ\ e -X\91ϰ2\1c\1d¥cs\7fÔ¶\95\98[\86´ü¨Ø¼±\9fLêÓ\99\ 5ô\ 4îÓ\rððÖ\9bc\7fµU\ 5à<Ê\19\ 3\15ÏC b¹èeR©~\r\ fúwuÁm\9dþ\9eî¿ül®\9fÅJ«úØ\194ª»º\ fÕJ«ÒÿÊ\95W±ÀÞÒªþGþéU}Ý\aê¥Uö\14\1fù¥UÄ¥SýiU|\ 5\aÄb\85\7f®@NE\1e\97ûä\ 4÷µüü\8b8~rÒ%<ë\ 1ß\82(¼íN\9dÚ»1Õ çí\1e7ËDï\ 1l$­Ô1¨Û;WÄ\88\va\ØíM\9cO¨_\1f\12£m\13è#\aÙDìãàúô`û8\9a(ø<ò0}\8cN\94ø=LäLÅ\0¬\14\833\8f9ð×ÌðmÒÕ[ä\ 4\98ûK\13¼b¢ÚVüúÙa¢Q0ÇÍb
+J\v\83oh,Úõ\8f¶ÓCéwlRÕmm^OWUSèjª\9cõ®14ü\1dm¡¾ö<\ 6\9a\1fRÕûzèý%¦Oͪµ¡\15\11t\12°yj\8bkI±N7¶÷«µÙ6s/Þí\8cHðÈäþC$ÞøSN)qöÌ/º\19%Ê®\13#¾^\8d\86\a\19\82a\81c@À¬²i*±Ð\82fÛ0¿ã&X_ô)u\93yÙªãÈJç\18PeÒaA\8c\9baAü\9c\93Ä\83*RNJeó$\13Ç1z?ÜdªãïÌ'q\93\8c'u(Uqütl§x«\10å\rú\1cÌ\82¬?üç\16\1fòÜ}\ 2\15
\15\10|¹ÈÞ¯÷Ò\9cò¤@ò,ºÝéÅÿþnå¸\18mÖL\ 1#òáÁ\8bµ¯ßQGÜ\95\82Ù¿D¼_6oÑ&\v
+ùÌ\16Â\98XÖc²¶-TDÃ&\f\ 2\98©\ 3ª\8bþÃ~ê\8dûé\83çÂ4c\80ä\8bÄ«ä\18ñ(%2Z\96gSÈ!5l\v Ú\13p¸M{`ùÞÅ\8fmµ7è+oàXå`c\ 5\ 1ôf\ 3YyôÍú        \1fç~oÐTª e\8eÂT\1aêZ\1d%\16Ð56\8fµ9ÝHî\rûì\9bö\9d³\ 6\0\81T\ fúÆý«3ðÁÈáùè\11Qü:\ 2kwµ\ 37\ 2oßb\ã\ f÷ò\10\13X &¯\7f4\8aÌxqë\96aÑ#Åð·Ä¿\84exÓ\82Ã\8d!\9d`\8f)Tråá\98\8eX¼àsa'É:>\94¼\1c©ùHðmo\90ÊÈðØv¬\84\8dÄþ\14\18ðühIäd·¾%WåQçï
+âMsÇÌ]£È²Ø7\9eLWñò\93ø\ 6\92¿ºæ2<8³½\15Q¹Y
+ëõ®\ 4\7fX\9fô7\81¯¯#)áêï\ f\1fùõ_\87\95ñõG&^o®\9fÊp\9d\19x"ο\97~ù2ðú4þ\89\8a®\ fº92ÞNZ?\83\91«íoªG\81æ¹3oç\19'ÀëÜ\99x}Ã{÷qy÷q\1dÃ'ðÌÄþBË\9fÅÏ\11ãß|­³×#Ä\1e¿\92\80\1cë_Æ\18Ü\99\97X^[\1c\8f®9\1e\ 29äØcãü\\eL×Á\9fïV\8f»\94|rÒL=\ f\17'ÊÁ^z?¹0²\ 6R\1cþIUõ\92|\ 63ø7£)\97æÿ\83/Qü\19|gðeñ¿÷eùé>
+gè£ø\17\7fÅÂó\7fóñ¹\97\16^>w\81\96£æ\8b+Å£Æ\9cÞC\8dW\94\92âÐ*ç¿ôq\8fú²u\1fødñ\9fõdÜ#Ä\9f¼{\aåàZ\ eI\1e\f\93¯á\15\ 5kø±\vÕð½       g?\80ö7¾\ 1\8dõÈ\82-\7f\ 1\89sÑü`g½\85\8e¥\1e\ 4¨Ò\17\8cçôÿ\16bãüó\1cy9÷ãÌ\7fÞÑã¿Ï1Æÿ\96c\98\8fçAÞz?¦¦:\ 2âñê¸\9fPÏ×#ÁK3¤\ fúI)\ 3÷«a\aá'¤6H¤Ý×¥\92Ý"\9b¯ºE,î\84ê¡\1f\1f8¾=\14Ï»D+Nµñþ2)müº1íPxukãúÄcõ\93Ò\10b\¦\7fÆE.ÿÕOHA\91r©n¿´\8c\7fß¿ÈA}rU\823     tS9ôÈÇÍ"\95G_\1f\\8cýº-
+ÚHA\81ñõÿ\9a½¤ÇèPÁÇ$"tSÃþZ-\r\1d\1a5\8e:\10ÞF\7fÞ¢\9a·lÀåØî¾?ï¢\99O÷&oqëÒtq98õéxµÆ÷O\87\8f\8eP\88ü\9czôÄ^Ç\93\8fm!\an{ØõèÄç\1c\9czô¿ßYÉǯ-Õ¤á7ô¨Å¯±ÿ°\8d\7fò/§ÿð\88\93¨ú1ö\88ÇâÑK\ 3Ç*â5ö\7f1{\8f_kùÞ\16>\82=6¦é\1e\85ñ\9cr\19q}5z}Þß\9eí~ê½çmì÷\1fA\80;TIÎ.Oäw\1dÅûå<¥}÷5ßOìù_f_å°bÜô®¶=\85\99\9bôµ¹jÎ\972÷ ÈyíxòãYÔSb©I¦\13ÿiÜÅà#æó\7f\10ö×á\17\1aôo\89g\7fÏ¢\98-\9dýò±ú\ 4T\r?\1eoB\8aa·ãÍè\90\84M><ß\ 4\8b|A}âÛâ¯î\1a¯<\1czeÞ7ùfüA¬\8f£F\ 5\9dé\ 6\9aü\19;\1fÙ\93\9dr¶þ¼\9cå\fßðäè(>þAB$°ä\94"[\ eIB&°÷Ê\11?\88ÃÑò0ì\19\9fOKý\96\91¦ÿ5rwçî\81\99K°a~¥¨\1e=½0\91\f÷ \9fëÙH\e\a©\1eãF\1f\ f°TÊ#F=vg\19:u®öÉ\19<¸õô2<&íXT\1a\14<a°øÓA_\8e\92I\14øsañ\ 6ÃâM\87æM\a^(¡\8bk\1d5Á÷\b\7fÌ\98¹d\942_0Xù\7f\7f\1f\85âcØÞcù~&=\95æ>\98¡¡^\9díh_ÿÛ\92P\8fxn&=¥æ>lÑ Î0¿G¨ýå~þ\944=þ\1fÒæÙ\8cÃ\vë\ 2\\9eh\8f¿\873\17b\8d\9bñðám\94âÍ·\11»üdï]\99ùÿsg¸õû¯\0,¡ãj̳\væ\7fuoÛö?G)¨èvôß;u\91¦d\kò&\ 1&\8f\eé{yFm8dù\ 3õ&\7f\19\8d[ÿêhWúUï?é\9a\ 5ÿ¥\1f§Ãµ4|9¤[®ý·?ý\1d\16ÿ)ô}ÏèÜOÂðû(ë\ 6ÿÖþw}\ e}W\7f;µ·\81Üjær\9fÿ¦]¿ø¶né\ f3/u¨SQ\9dÔu:\8b\1d\ f·x\e°=΢!\ f¨\1f\85\17D>Þ`nÁÀü)Ûw;\1eçsÜÄ!öý\ 3v"ëºSºÎ÷]I\ fÂø\1f\85°7cbÓö\8b\aá\7fþ\ e\15Á\14×ìþ\11F\9ekïÓ^M}þæ?Ç÷<~îï+ü¨CÂ{_­,ê\8a±\85ÛJÎD×ß1¼ul¸Ý\13þ:¿ÿ+Üû\14ä&\16|gî,\ e±hzÿú¯sóé\9fOìSÿu#VI"\8f"\84\91G\91øS\v8©dÝ\1e×dn]|\13YñÙA%nfÇ\90­ÌÿpÙ;ɰ\1c~qX\rÍÚ\89øw\8a_Ìêï\9bæ]\91\98\80o¡NÀ\87C&Íöv\88\904[A#l[ÂöRÕ²Qi\9epY¬\8e\90X¶X\0\97£\ 5\91\1c\15\12¦y\8f]\84áÊ\96Í=ô\1a\92\9f:ªÖ\87"{\17;ÆÊÉ\1d¨\e$6\83ù ³X×ïWÀf
+\ 4\87è°)\17\8b\ 5Þó\10\eÿy\r\8fñÉtQÝÝFØ­!\86\18¨`äÔ\97\ 3ì!8ZÁgm\vxR5ù¤Lt\82U)\89`\84XçH¥\96\91F\16\17Ñ_´\82K®Í\ 3ö\15·"¡\9f\16|ËÁh\821B®!£³ñÔW|\8b\ 5\19\1a-\1a\85gÖ©2\17\99
+6Ge°f%V¦o<Å\16\7fÎ2\89s\8e\93\93\11\93à5ü\95Rk\97\9b"+\13\94!\9eΩ\16\ e|Z+Y5õ£Ö\ 4aC\a®ou\ 3$gä\9eG0½qäRs\16«U       \9a\86úF\8a¯\îÙ[¶&\9e\17ÓâȠ䬯þ\91uª·9Ä\94ï\8b3xm¾m\8bo\9bV\17\9b\1c¾\1ck¸û|ûl$íó\80Ïómò°mò.A]#cÉ=Å\85\0Ze8\96XãÓ\80BÓ]}äÐVZk×W~<\8d}tù\9f\9dd\9b\b_\86.1E´´bÃ\9aDþÌiìÌ\ 2ÏØ2\89ò±¨,,\ f\84\15É\ eq>I|ÞûƱ m@\8b\7f­O[\a\94*
+\ 3\,5c'Ѷ'  õ°½Aq¶×\95\8fȸEn¢$r:\82º©=!Ô\85­¦-\ªö©\eîÔ¯j§IS¸\ 2)'O_¥åÄݸ\96·ò{2.ã¯ê©á\e\14Q\ f\98\11ÑÞ\16g\18o\8fC}«\14\8e\94HXÀ_KÄTrY¦j-¬õc`\ 1\ 5/=î\9büÐp^ZWÆyiÍ
+4î¤ç'nä?ºþ\85E¾½\ e\87\90,`?s¼\ 6ز\ e^Ex!en
\97\12R\89o¶û`Ѻ\99ìõsà\8bèÞZ\7fVdÚ\11ZmÕ\ 5¦Î\rÚî´W°Ä°oÚôG:1nýÉ\1f\92·5\9f\86As¹!lc\81ë\a+Y¢u±ÏÞL\1f\14\16ÈÎè\/\93\98î\9b^{Ý?ÌZ\94ò²2çWiD>Äo\8e³\87\9aøø\93üÁ««%H\7f\98[)ÉbÏó\ 6®Æ\97(Dï¸\8a!¹®3\95?Øó\9câ*)·Ë«4Õ\9a\812Ë}\1cº-\1aËL\9d\87+\10®\15ÀB)A\89\v
+\bäíÏ&â%Ð\15 p\90\14¬\10ï_5âÙØÇ²n%``\0ÚÑ\89Uq\1c* ö',=d\18\ 1 \v=\17 á`NGùK¿¤<,\15\8eq\9fͤB\90âÊ´3\bKOÁÔLb\18\1cÂÝp¯yzG\b\98e\1cl5#Ú\9b¨<Á \85\9b+\81è£\16j3º]¤\15Ê»\896\9fLM@ÌÇyªY3\9f\8a­ìÚv»\84F½ük\17·\99D\ve\16_\9a$ɲ¢Ë¹-\88èÄ껽Ç\93\83^­Ö\10ý\vÒ>^Æ!\10ôß\b\13\12ì\89-=Ög\fúYÊ©¸3©j\9e`zU\19ìm^`s\95SP½X¢-^¨êà\97\ 3\9d&\16<\93\18Ì    \13ÀÊÚ&\87+yU|\98\9a>l§lÝD\â\8aÑÔxFf~\16^{\92Ë®ÆbI\8c\82\90ÚÛerS&\88\1c´å]0\92QÂþkÃ\82\8b\8fgoó\855·~¯\9e\ eT\9c\13QX¦%ò×´ÄÆ \95±\85Òãtéæ?\132\8f4 4ØÇ\86¢éù¶\8c\838F%vÏv-Ù,2´mDg­q\b¿>Çù\893\9f\1d­\ÅêÕÌ\9f¹lm«\14Æ\9f~¯¢¢Ö\13\8fÕ\9bv\96­ó@\7f\17\17ÄöP\9c>W\81\16¢EÊ,\ar\10¯¤Vì¼Ú#Z\9cK\ 6\8f¬·\93ïÙõMÜ3Í·§+\85ôñn\81\8a\8c÷`îÒß'\8aÐýÀIr\ 3 '\f)¹õNH\82 ËÏ1¯\93»
+ú¸ä\87\92ýÏ;.\95\99Q\9aò!¨ù¿\8fQzH6]\1d¸2ûí?¶\835,_8\83ò,tͦß+±\82\91·~\94±·\7fc¥rÚn\10\e >\84¬û\ e]̺ðAÞÙø\1cÌ|<N¢\9céG²¦Ú\15ò´ZÛ\9f\98\164±´\97F4¿@\1fÿ\8dE#Ôý¾iÚÝv&@×\18\9c\8fÉÃ\1cñn\97Ê\86-\ 4 \9d·»[I\19êÕ\93B\99\9f\9b+OG\9b\14Í+x\a0ÏÜë\13ÑL\85/³XÙ¥Æ\9d¸µ]\93D´¡îàòÅaÛË\7f»H\81O\9d\8a$\86^>½+Ó·®Ê,ÿ
+w\ 6í\ fd#ú\98\99\8cR%;±
+Âß¿sYw\b&\9b:\b\89£\13\ e°\1f\9aíÜ\a\8ejåàá\0ý\7f°\89G\8a\1cA\9cð´ÑâãÛð\b\93ØÂö_C\ 5\=ÑÝ®_ü3ñg\89Tr;M¶\86Z\ 3=q°M\81¸\1a-\94\9c\8c\9c\84Ùü> ÐSçë\88ÌE\r±GÉøÅÄï²\10P­ZÒVàËD1\ 2R\16þ\1d\bu\80ü:10ë&E¿\97ê\8d   "{\9b\ 1\9dö§ÎóD7[\1eT|ì\9dÆgk\ay\87hìÙ\9eÒ\ 5º~·W8ù^\90\\80&\84Wü·K\95ÿwó19l¥R\10úã
+{%òÙYàH¾\9aÁu\1f¢lM\12\95Ï~Vlîn«<\97g\9e%·Ã¥n pÕ\18Gïa[ú-ó­ZÕ\95'«â5^\93Õ7Ôf\7f-+,qR\9a¶Év\ÉíiÐ\v£rÊ\1e¸ìÄgéiíXJa#çã\86%ÅdÚ]\97ªÉ\16=R±²óí¤X u§¥\81xáókí\ 4\a´ ]\eaq\frkv\8e\ 3,\11ûØ\13t\85§¨Ï/\9eF]ª¬\9bP\8dÑ\8emDî´?ZçLVÃsç~\18Îøú\13\96\82µ\9b%o7\96áhgÁ !\8e\ 3]W\8býZ\ 3öCÝn\vbÌn\7f´§\86F\81iA\ 2Ô\9b\9dQáÄû\17g[­#\8c\16z\ 5qÃö~\81·rg\83Tf\90ý1\ 4q\99\e\9eðï\98E\9fWmĵm¯Ñf¦Uº\80\9839\8b.ض¹¤\98+Sn×\ 5\8b<ÜrNÞ\17\9b\9d\9d»§)Ìüøg[£\94\99\9a2c=~\vvð°¢ÔÀ£.ð\85\ 6:\82µ\94ò\94¯ð§ß3Ú.É\8e\12âØ¤ù¶(ub
+üöm\ 5¯òS¯i\ 4ß·¦\95¨eºc? Ú\81L\95\97|z<ÔìRØÎq}>Q\9dÂ5\ 6¾Ú|\1fÎÀâoÈÓɵ\8eßU} \1eJÁÖ×ùØ\92Ôü¢Ýº{¸Ø\vÍõ#U\1c\13Hs\ 5#\ 6\94Z»0»\82M\80Ä\87\ 2îË\8aq®×\9a\90â¢-¾½\80¤:»\1e\81}c(+Ï\ 6±\er 6äÎ].ƨ\91¥]ϱ \99Æø\85mß¼\14bb{84\90\13Û\83e;è\8cê½ð\e¥\´¸V(\9bãAu8¢~\84/[û¦hBq\8eT }ôM8\1cô·p\9a)\ fAvE\89\ e,EW:&(S\1cÒ\f\1cÚ/\81ùͳÝßB)\v²<\1c'Éø·\9c\1eßHöO,Ìfzè\8d\9f7À  ×Wlñn\8d\8c\anh²ðe =7ý    \9bØdr\1dÊ\15´        x¶\9aíâÚ\rë×4ð±ð+\ 6O=\ 3$_óåuÕ¸\8d¹\ý\88¿ÖX8W×Ìöð!¹{\ e\82,ñ¢vro³¸t\ eÜÐA\9a\82\14»Û]Á±ÑBF  rö×Ð{S¸\83F\f
+ï.\1d$£=\99·É\8b}\ eø\96\9fË)që¶Qypgúùq½S9R\98oV>FuËѧ¦\1c\90ï°\9aòµs\bº\9bÛW£5­WÅ\r\b£Î\1f\9dÅZZffÛU]«D«YìåØ\81ó¹²à_áE­64R¸tÌ¢½|¶°t^ß-ôË\8e.¾6%F~ê\8aª ûÞ®Õâ[À\92\83\97bf\15v\ fÐ\ 6\ f\84îV\88\8b \9bå\r\17³ê\85Ù\81vÏnmàÍ\8fþG\16¤\ 1\ 4¤zh\9cä\9b£zö\ fó\8cQ<b\80«p    n§.\85\9b\ 1\92ûÞ\8a\8b|\80r}ºÏqö·tÊ£Â\14v\9e\rE}\82¥\1cöÛ\9d;0V³É=¶R6´Sé\9e³E\13Úh}5#[¾gã\84\83¹\vÄB8\1e\r\1e\82:Þ{ãÜâ7O\95 {Q\1aƦiü>º\90ߦÛ?å%)_í?WÒKNGsÀ®îǯa6\96\9c#\9f\ 3|[¥gÏ\1d* ãH¯\ò\8d\17¹¡È\80«`~R\ 6Ò¬¹4Á+\96\989\19èüº\0Ü®¥B¤t¨\ 3Z\9f¢hÛÏ\17Ï\93\88"\84\90Ï\1f\9f\7fÃ\7f\ fê£\95%\fïô\95\bÁ\97ÈÎ\9bCholÓ»_\9e=\97\8d[HØcÙ>\14ÜDä\9bbmªÍãÄçZ¿\10\ fú\7f7Êù\ 6`'ïZþ#YÎ\ 6²Ëí7A³\1f\9d(µpº\ fkêpJ+a¿b\82Ã<E-+\1fRWe\11A[\e[\ 2Ü\98\13È?Ë®"L\0¥µy\86\9f¸y\94bÂѦR>O\18ªÆ\1d¬AAþn\ 6¿áÎ?£1øª\ fÓtòdha=ZÏÎ\83\88|(]¼)Ó\96r䏸\16ë\96ÁñÖTÍ2*á+üZU\ eWÓç(ßYD®Ëå"z\10¢\8cϬÎã<oË\99È÷8㤰Z,?ø¸c{\86;\86)|\14T)ë¸vE\96l\94á­¹ó_\ 3\fw\r<Yë)\17>3\8aá\8eÛ\fw\fO\9b((ñÜ/\8a~     DÏi\ 4\1e¯\r!+<\84¦·\86\92Qν\ 10\19J\15ÚB1À/ÁzÒb\8b#¯;\98TWgµu)\1d\82á9Y}\86LÊʽJn3\94_¢¤Bâ9gUMýîYkóÉ\93À\12µ£[)DïYxØèi¤mÒ;\8d\81ã%ð\9ct\9f£\a\13Zå1Ð\ 1_¡ý\80ß·B¿\1f×ñ\1cv-\87m\1d4\85\91ø\12Q[ué\97\ fyǦ\86äÏ\89\1d\ 5,NDÐ2M%gÙ\95ÔÉé\18\87\1fÿ1þ.QúüÁö\1dy\ 1\92ùM\14®\95M\13è}#\ fÌK'<{ ~½\9csx\96¯Ø\13f ¦v\81Aë'²¼\8e¨ç~\8d£»"ä>\16¯\9a\1a
+ÙxåoèñjÏ^æìýQÏ`/\a\14úÙt¬÷E¥\18óD·mk²\80]+´ý\84\13\ 3Ú¼ír\8cùÒê\89¸QÎeD»"9y^Ã94hg\12Ó\95CH·;\9c\13eGV.\eÂꣳ=³VÅhx\9c?B\ f\WJTdÛë(³åÔaɬÿ5D
+H@uTzBλ|U\8a\94×°Ô\9a\ 2L\99¡+¦A¶\95Z\82ã\993\1eÎ"\8b\eA\r»°°\ 6Áë\9agj6Õ;(7Ѷ¸­`\1cÀâ4Ó\8a'í%g\e\82}ïX_Ëp²&ÖÝ\81áýòÈ\80<3\a\81Çi\1f\9c·ZV}÷\9e3ýp\0¯\9bå=­ñ£\80»\1dRE´Ó¤pa\1cÛ2§\83\ 2æÒV\10º6°\1e§ý©Y\92¿\19{\ f\98\16±_
+\8bI8fFö!\8d^\bØ:X\ f!Ñì      \7fïì2X©\83\9a\82]J\10!ô>ÕÆKÜ\8dq\92÷c\bõ\rºßn\137\90ðÊì1\16ðë0OÜõhÝ1\99üâ(£¯\fæ:\1fó    -9\e3>W>æ³\ 5      £Èuâ\83\89^L\rõæsQì\85Ú\8cû\ 5\ f\95Ð\9b\17]Z\9e½.Ë\w\f\vi\12móS\8eÅ\17pÞG_ç9\Tz+Æ}\1d\vÈ}\1cìYxÕ\98uJnÜ«^½º:Pek0\91ÈæýÉ´j\17\99\17ø\86\84\eö~CYaÑp\9a\8a¯ÜÔO|-@ä®\8b4f¢\84q&§
+\%0\füá\1c\14­i\9c7s\ 5\e¦KVØn\8a\0\1cÍfºâK¾\17»¬\93¹¤'\10=(£,2Q÷?ýû\92Üoþ\rÉ\ 5g\ 3û7%øx»\92\9dÂ~Ý\94îé~\1dÉgøÛ\92Ìp\9a\8eæ\97öµ\1f7óµ\ 3\hOÔtêJÛ\r\9eì\89àø 8A¢áÉ­#(Çgú,Ä\ 4ë¥ÂZ\8btmçk¡oxd &\8eSj\ 1@\8an\8aܯ'®°óLùÍt,säØõ´§¶ê©ì\85
+\9c+@¿\10¬õ\ 6[5\1f³+«\1d\83I\a w¨4\f\19ËVuSPwULBR¦sXÊ\rñ-Uc\11Bz~Að\f¾È\8aL\11ò~Ô\eh·èð\85ôl_3öß3ó¬S"¿ý\1cAÙ¼\1aöPî\17\97\16×\8beNÖè§\ 5\ 6Ò¶\8a\89H}\14º\8bdŰ!KTÄPGÖ¬J\82@\8d­ÓÛBõRÕÕ\8e)6ô/\0Û½\16¥_\aÃê$ø±\0g\8d­\97\1eZ}-^Jygó\94Jë¡ßOD\8e³¸â\17\8e\9cá\18 \84\8eÒepK@LkO×1YýóÈ\13¯NÌ\8cWã.Þ|T_Æ\8a\9bÆKU0/\a]¬ÃáÚ¥\8d®uS´\85\14p\7fÒ\1f(.Á\9b\89Z6ìRS\93Ò\f\bÈë\9dàô\8a¡£ÇZk\b\v>VËÝe\ 6X.pðYg\98Ú%ÉOG\943,\92Þ¡í¤¤ùÍúù\ 3\95Rz\8a\8eG\fU:\88á\8aÝQÞpÅ~
+9\1c1HÂ
+6¨¨^§.\17·ûý¢\16\10î\95½1ôi    Ëø\8b\1a÷b¢ü'Ó\97\94nêVe8Ærz\84I+<K\19&\ 66\18T\12¢´\85\84ú®Þ9A\1e.yv\13\85E*.\97g\v­ÔOVÙİ¡A\85¥X§\85\85|\80®\91\95͹è\e}+yÔ¬õeÍó}\ 5äurÔã\845@]E?¬\82ÁÀh
+JàZVØ¿Æ6¿      ³Í=}ò+Mýeñ\88¤fM\8bF\95Ü4bÆ-xuºZ¼¨\1c ®u¢\8cûEÍÑ pÿ\95\9f\18Ë"Ñ\1aX§|\85\90\8eȶ\f\8bf0£¼«s!\846d8¿Æz\86>?N    \89\ e|飿£:V9æpQÇ;ý~)Ð\98»¸Æ \9fÆ®6Ä\ 6\9b§µ\11\91\ 1Õ9à:Ø\b\ e¾\ 3\ e³¼ 6G\ f\93\8d\ajh\80ó\8f\95ômM\11W\95\16\8a©¼$\8cø\19äµY6"¸ÅZ\89CÞ:ï\1aÕ\95TÔ-Ëõ°¼Ý   èµ\ eü¯9ÔE\16S\94\89\95/\9dÑ¢\94ÓRÁ˺±×ò\97\f\e\9b\13>êÓ©b/\ 5å£\125
+²»\15\1f\8cwyv\ 4A¬¨³êæÝ¶Vò)ø\ f\13¦~½)pß\82é\9b|\9f£
+U½m¤9GÇÄò\b\99ù¢
+½ù_\18Íÿa=\a\14]µí\8cM\1f\12ãG\8as±*\v6;Ù,\ 1sõmÞ«\84­gº\7f\ f¨acÎM(¯£\ 6®Å6ð±h&N,\8aùÕº3®ù|è\1aE:·×Ìü7Ðæ[\8e\7f\bûÛ\85ø_é\1dÖ|û\v\9eÆAÂ%\95]\88F%oÃ&a\8a\8f9í¯\ 1Dü8<°\913\8dãæeÅØg°\9c\158\8d\89äCЮoGDRÓ\8dÆîý^\Q\85TâÝîíW/\13^û4\i9\89\97ëgæÄ\83   ?\1eÂüVïµF{\17ìí\8eq\ 5o\87qÝó1Ýêg±AkEÝ¿Vèô\8fÐ5ø\14´úHÇL`
+µëE\ 6û¬ÎJ·'¢ä\fg\ 3\90Èqq;\92ê:\1e\ 2\aµ\1e¡\9f^]\80L\91v\ 1\r\8fÅ\11¨á$\95\9daâH(\8e°|ªñ\1d@s¢e\ 6\7f\89\135ÍQÊ\1e\10ö§Ü?_b¢Úµ_ë\80\9bÙ\9d\17YZ·V¥jÝ\86hj
+­v4%iä^7bD\10\8fièómØ\9f\8e~´¨ª¦¿\\9d¤z\aZFD\v°Yôk\835AÅ)Ýh\7f¤uO©\81Òj\9dcÂgæÑ¿ÓhÝÉ&U¶~uj¾©\9d\vÔLè\9d\1a1È)اËAÇ\14i\8bfT|¶W4¦\18\88=\8e\86÷¯¦Z¦v¿^f\11úq46Á\9f\8b\82xã¨\ 5£z«Ö*C¬\9f\8b6o½ð\13   p.Í\11K65Ý`cí&M\9b¹&<6ÌýµàyÐ\15\ 6ûÞ¢)~\9c­\90\ fÛ÷óÄ%\97ºÕH»ßfS|´÷+\1f\98¿@T\1eÄÙ ½\7f\ f\1dQmsÓ{¾÷XÎS»\v«I½9väðú´þ1h\8exnË\ 1\81]7\ 2_ÑÞ\9eÜ;ïX\9f\93)â´p9×0E¿m\151K¿Å½\ 6\90\89ø°[÷äP\8fîrïXA\97\80ñÎ\95ë\bS\aÿÝ¥ü¿\8c\1cT$/=-[ÊÕËb½íOä\83~\1dR\ 3Èkrk?¦g\16tu]O!\9dÉ­ÚSo#`\18D}\7f=N\v\81\8d,¨IÑC¯*frÌS     7êÿ;\13\16L\12ñe«üéøx/×AÂ|6É\1f\80sa\f\88/4\188\ 1uE½=xã\98\8308J\1e¸nâ\16üï\91+ÝW"Öì\9a\0­Â\98\8b\82 ?è\15vS4\14\90\1dÙ_Al\92²+¼\95\15âÎÛ\14#ÛH\9a\19Ò^¯p\8fMe5ú\9c¢ývì\9bå}À½n\9b\15        ­¬l\89"1¡SÈ\1f4
+°ó`\fj¯HØÙM$!%rù\1c¤\82øgý\87®\91\94m\17³^¸'\aiwî
+Ïpõ_\12õ\ 3\eáæD^â³\"`ÒÍ\15ÂÖ{\ fEóÍûÛ\84ºÂ\9b¢ìB\88Á®!]^Âm¬<&Ýd¨M\83ò\ e\99Ô'\1eÔð`Ë*êd»\9béù0uÒ/o\N×p\85ðæ,úAR×µª××V¹Ñ)a}\18,\9aÝU\ 6j+GËWæ\84\91\98\92\9dæªqu¸ÔÍÝqZ#¥\9fËæâs\vá\92Õß\94<,\99ÑIø\9eî\89sê/\9f\83¶t9kw£\13\lþr}HyS\93\86sõjÔ­NâÃ\0\83\8acP@±e®G\1fc¿ÀE¨\ e:@d\9a\1eÖÌ\17O\1d¼{K>m\ 1nW§gg\12\17ºuy\85\94=1tsÄïÛ\9b.lE\8f?\80\95'\17¤~Ç6Þ\9cZÍUZçÑà\10\85!w\88P\97[\87\92\15¢/\85¬)ù,H½ßo\83¦ý  6ÓA¯0}\1e\16\9b\15î\9e4)Ù=FàØ8\8aD29U\1eFBF\0åO\88xÞ«[¹eVÅæ\v8uî\ 2þ>\11\8bÉ¿\94\103\13\rù\9d:\18\93KW,\rWõ;}\ f(ö§Ú\16 \81® ¬ú\ f\8ah1®|Q]$;O\{\ 68\17À\15\19\10\82³Æ=;láö6o\89Ù¨Ï\10Ë(6\1fZ¯¦õ?5.Ë·bz¾ZÔÎ\9f3Vý=Ì!J\ f<\9e\eñ¤íMß³ô\bÔbªÜ4£\14\92³Ê60[
+Ìb.ò;\92\82\87¿}°×\8e¶ÓüG®     ¹0\87c\85\9cB&/Ä\9f§éX:\1a 3¡\rÚ÷µ\8d'/û92d2\12dæ# @\0#.\b,U\8b\ 4fL\88Ì\9309\89\98\ 2 \91¨\14¨îR«j\ 1Ì\11D\ 3L\92\933\8f\ 2­Qµ\15«zUwvÛ|­½"­½@\12\10E\0\ 4\11KZ\9b®»\98\80\b\90PÏ¿¿þû\9cÉ\90\ 4Vªë»çwo\9ew¾wÎú\0ïàïéïèßC]ôyßAÝ áÚÉ$\96Håo\ 5oÿ;ü\96Áº\95`lüK¶3ü/\8f\99ÏÙ1Ü<ú³\80«ÇË×\10\92ÎÂ\8b5>\rÄ/\15ó§S¿:\7f\8c¬\11¶V|ë"KUÓ\ 1\10X'3}Q\92uZ\82æ¤\ 4\rzô#sÍF¯U #\9b¹5(S*#\10FâÞ\19;\12±ao¦AΩ,MD\ 4?\9d\1d\104\85\0­\1et\8f\165\12ó\1c\1a\13þ³Ø9´\r\106I\9eÕ)\8a_\1fä|(\88ξååE>âïª>\17«m\96Ö\8aGÜE]\vH\93ëפ>
\8b­\9c\95î\eød«ÕçyÓîë\86\87³\\15\8f\0ìµKÅÍ+\18Û\9d¸)vÇ\19\8aÔ¦ÈÁòÛ\ 1x;Î\92\90~c\ 1\865VÜϺ«aG'Z+Ñq¸Åð¾D\15þéuéØ\9a\ f ë_â­¸n{Hm\16~\9bFML\92\89\13\96ê¿q\1a\99»$Ù¤\8bí\fÃHd\15\ 1VÊ_\82v
+\888\ f-¦|ö-v\94Ê$p读ç\11iõܳ^\19\8c\85z¶Ô\9c\8dÖ"®v\95\ eG;J\87#aR7Р¤xÔ\b\1a\ 5\r\1aÇD¦z\89\1f\13\ 5\1a©\81rð,C\94=ܬf1z\13,ûv\16z6èYèÛ²³\8d·\10ÖÎ@^\vb°ÿ¹!JõÓá\96(m¦Å½">Tf¸ð&R]´\16¾Ô\b¾êO\825;?/\92sê[åX\98d nq\87×ÃC¤ì¤\11á2ÖÜ\ 3QÛ¾8\93²Ëød\Ì\7f\r\94\8fÔdG¡ñ:ES\9e`Åï²\91¤»¡Æ ­°C\88Ð\9fU_Ù\80$¦Ä¥\1a\ 1gïÃ3\93VÔ     H³xÅçn\9cy\88UQÜ©\14\ 3¡\fø\86o\0BW-\8c³\99Qñà\8dTîóþ\13HÔ#Lé\86$ù"Ü^\99\8c2\ 3Ïc¸\a\ 1F\aá\97Å\1a\0¬Ûxé ÜÛpj¥Ê¬a亡\9c,1/Ëãî1ÉÏ\14fy\94÷\88³ðn Í\8cS\19\ 2®à\1eÍgö0ì¼\1a&,:ó)׫ ;Ï)\9c½\1e\95-\88£ê\82¿mSbEÜ\17\80¿cc%\ 2\93ÿë¢d¼\12\171\82ÔQ#\1fèÜ@a´±·\1c\a5ój\88¾çÌ¢ä\ 2\8aÕ\11å©\9aáª59ª~*¨¾7*wݺ¦NÏ(]­\ 5Jk\8d=\9bê¦ÆEërs9U\1fÀEÞÇ\8d\rÞy¹\19Ï0t"·\86ï\14Ü
+\1c\9d\8b\91Ç\89À\94,';W\fØVãUUjäü\ 5KSôâ\ 4çÜX0iQ[tíw0\16à\83:>ì6\82Î\ 4\ f2\92¢Û´ûËSë\9d>\1a\ 3Éq\bÍR\150\16\97\ró·h\14a\90\95\ 6`a\e\fq=ÝG\b\ 2¥fÛØQCä[\8a\8f\ 1oMõ§vë  \f\1eÈã\ ezei^ñÄÂ*\92êa\16çIÞä\80\98?$oÊE\92\fó>\8dÅ\86õ\98PN\16%~\96SdiE;r8\1c\8a\84\13\9b\86\13ùuÆóuÕ|dRþÑÂüJ¯òNÔû\8d=\e+M\ e6^\96GçÙ\9de«Qoz\e¾\81_®Y\8b\18n\19\1a\16\ f$étÜ\18\16{\8a   \ 3\1aÞ\a9Õ´ìÌÝãvΰÈ9Ö\1f\11\85R-³S7<Ì7xH\9fÔ,ßô(Æ¿Ø\r\89\8f¹·Lã\92|£Ks°g\87\11@·½'×y²Uè\14Î\17Ï5®Õ$¤lí¿\98\0äÐ>g\ 5\1f\1aï3\84\8f\8dmÍ4wDW\b\a\9aé´Jlcp\95\9bJ(î\95S;£\92ÖgÑp¢ë÷\a3ܱ
+\82Ç\v<\9en"c\83\87>AÛ\87i7÷y\80"½9ö6Ò©» g\93Ív}µt~\1c¬0u7Å;\1az %ÍC\8d9\ 1®è±\a½ø\12Ü[{7t[_¦»Â.OD%Z»û
+\v\89 
+滺²¹Pì,a¼\95\13\10¶ÈX\ eäïÏ\eâÛ\9c \et\bZ³Ð*O,X\87Û]¤\8b\ e\10\15\91¸jôá\8ftgÇ   EA/b\86\ 5RSÞ£¶EÙ\95¸\9eI\9a\1c\98\84'\9eëÞbh\93\8bú\vv5µì,\86\83\1cé\1aøv\85ÀXÄXÍã\88o\9d\eÂà¶ÎGý\ e}Á!bÞäÀkÉa\ 6H\r¢\92õò<C "\7fl\14\1es\fÍ¿£\9c\80ï>Ñ=\1c\94\1e:\84\85Á 'M\89¸\9fV\7fp²ä\97\80\v¿ L\14±Åk¥\8bf¢ß\ 4\8aÄ0>ä\85®L{¬)ùR)ÑÇÄ"ÞÜ\G\bâtÄmhdq8ÍOÄ\14×ΧЭî¦]<eì!5÷\ 6í\ 1Ý/r5\87KD\8e\fL¦ró¡çæ±ö"ÝÝõs\93\90
+ê=®\92\ayv q8©*\9d\85®ÆR½Ö<   ¿[Y\17YyR£\8c¶°\86ög\93\9dÇB:/NåB\8e\864áêUÕosÞàiVÿÄ\8f\10\89rpP) Ï\\7f\1dÕÏ\1a3NãFA\9b\9f׿\99uwØ>uW:\83Ë\84Ùwé}7@<êL\19î¨Ñ`÷¶\87\8b\ 1\1d\f\áÏÅ\9eÞ&A\99\eÆxr½É½Vµ\8758¶Þ` ¦1àN\95\82í\9d\94\93¯×\7f85\9b鯨h±\8a\98(U\1aôE\8fº»|\92n\1c\9bt\83¥bì\0¾zó*ø¶*xù[\9b]\94\86þéÎ\11+B\fþ½»\17FMì¬q¢\10µ\ e\91;Yá¹% »1T\ 2ÒBx|ñ\85\ 5?h}ô>î1\ 3èGÀ§AѼ\ 6è°<·ÍQ²~\au½i\r\8f\93\b¾\99#\9dz2eW¦"\ 5\87\16·ìS
+\13ãëÏcÕß_Ì\85\9e\18ækÍvj\92fì'\v§\f\8e·e.\¯Ñ\ e5îW\99Í4\0\13&\9a\8aÉ\9eX¿ö4\Ùñ\85>\9a{ÿXÂ\9fºÛù\85³ÿë\9bïüçm7ú\8bÈ\7fÿ¼àOÿ\86U\87\8dIëÌ8Ö\9eêaÆ´÷\1fù<Q\1f\9af\86\9eVA÷ºd\19þ\94æï\80Ñ\10\ f\91Æú\vÙ,¬Ñó\9b\147w\9e¤p\98/t\8cª°gú¡¿\ 5»I\1c\12Å×\8d\1e\ 6¬c\1fÌF\96û:\8a6ÏP\8cú\88ɦ\9c\7f\99\9eMØÅÛÈìNr\ ev&Ä\1e\ 1\1c\8dM\84Ü\80\15\ 1wƾÎHÔr\10<Y[\83A\1eú\85õ#\r\8e^y'\16\9e²°\96ôPa²ýá(t\99Ö¨5\82\ 6ì²\92)\9açE0r3ú1l\19ºÁ\ 6Óâòì\9f\19sæá?+Ë\ 59¸n\99ðá¾j-¥ÉW:Ë\ 5·ù¼~W\80E{RŦþO\0²Èm§¢\eï7Ë8Õ:<\ 2¿úN5Oí\16,\8fOwiN\95#Kï\0ánÿ;\98¼eyÌk\9fäm\b\vKé¦T¾öwf\97Ü|óKî\15³)rÅÃÕjÒïÙ n\8b!¸mÈ9æ?(n\ed.w¢i~¸å\ 5\9fÿQ\85aÆ//\85ç\1aRw×%æ£ú¼\ 3\7fÀÝÚ`L\8fÀæ¹Mgý1u?\9dâÈàz÷¦\98\r¿,àzÿR\96XÃ{\861\8b³ã\räv\ 5º6\97¬/;Ê;\ 2Ù={\93=zm/\1dò\1f¯è/;\9fÈe\87»¿þ1\7f²Û®<\87Åûãás|\ 2çæ`§üÏ\a\9cÿÿ\81»ÿôëÿãÉ{\7f¶Ï\97Z}\93\97\8c\1cg\9dsßc38ÎÚ\ fíã=ÔTh¯}:\9ffí]û|´¸Ú\9f-/\97\ 3\1fÁx;Í÷gå¥ÿí\vóiÖ¤ÓW\94@)\87ÏÿÛBüò¾Z_ð_Ôzï-/ø/B\9f·\8dC?ëRÿM\vó\1e\b\99øÝrM=¤\7fþ\83\8dA\82\1e\86äÌ¥£ÿóàbãfFé¿:M)\91ÿùÁL:T8\1d2?ÿ÷ðs_sä¤GÌÏþ¤\88öÆæúÜ\99âg\81å\ f³\ 6°£\8cãÚò¦kÆÛ&wÿ\8bÕX\80Ų'n\f[gä\84\as\84#<îÀÂ\1f~z\1eAY¶èr\ 6Z\86Ï\829m»\12^`º±\eó¼\ 1PþPÖùLÁà\aê\8eÈx\9eBE°kfÿ1¼è3N0§Û:r{\f]Í e0/0\99\19úãV|ÝdÈ\1f³Ú\eù\99tswÒ¹\15ö[\80¬-pýp$Aë0¥}k×̺³\ 3])
+\ 2JP\8bòL\8b\99\8f\ 4\90\ew¦âÀ\ 2\8fq\91]\177\9d\9aG:ì\r\ 4\8cÏ;EÕ·V\99\85\82°\87ó\8cy\a\8aö\ 4ØK":¥\ 3Û®Tºç}e\1aì\86H\87?#\ 6\16MÉû\ 2\1f<ËS\r
+Qìj`<ÝÄà\15(ªz¬ebv¸\9a´ízçMu\8f6¹û²ó¢Àªê\v¶ªÁ}WÜVD¾§k\91\19\89^ëò\87UÆV¨Ö`\84:ú¯·¬\88ùE\9a§k\8c«8\ ev\9e«\1e\92Iê§R\86õ?Ó¶\ 1å\10¶ãJ\9e'r\r\8fJJ9\r6\98ÊØSDG;\9b÷\e'\7f\8dÿg³Î\87³2¹\ 1Ñ=\95ËÖà¿)=j(\9dÌõìÐ\ füOYÇÔ¤Ó\95Í~\ 5rT;7ïÔ\93y¬å½f¿Stùvܾw\91©º|¾g;H\8eu      \93¯¹¼ìº9ÔFçb9¼è\bç979O\89«õ\81\9c\8aÍÚy­\éDZß_gÝ9´ÄåÐ
+ýX¹º\80ØØ)Î\ 4\9f\1c 7\91¬|x\ eb\9d=^uËË~í»Õë§\1e[çé,¶àç\ 2\8dvpãb\9dJ4\r\ 3AÙ¶¯[¢ÐÖ$Ì\r|où\ÀÕ\86\10 ­_üàj[>Ë*uEò ç\829\ 4)P¦\89û\7f$\fÍ\10]\13º\ 5zsD\11ìv\95®\15ÂVß\15\9f­¾ªÚ\1c¹ÉS°âÎ5+($7Àì\vö£:\ 4n÷EWA\13ln\7fÈ\1fù»\1e\f\1d\11zð{\ 5\12\ 2í\ 5g\1e\8fäH\ 2\ fÇ\1fÒ÷lwÁÆÏ7,Ç7\95 \8dw[îNÁòlÁzîûFãwAWÄ%\ 5\96
+Üx\võÔ¢¼\94\8eµ?aJYÝî4¿¸áfK®\86þ6mÈþS\17\10Ïùþ0#v¶\83¸¢ÆDà/»Ëµ]7NËò\91\8bKa¥\ 1a\9bm\7f\b\vreO\96\11\ 6÷³ym\13\84\rü\ 2fýÅ\ 3\ 6\8e\18\8dó­`ßEZ\93\85z\ 3J\9e\95\88°·\vÕ¿³ã¤zgÁ~\83\ 2ýOk±Ì\19\11A\13Ô\19\90ÿ\8e\91\b²D&fòKsàÿ1p\93+ ×S*ï\ 66m¼\18ÕF`&@'gÚË=¸ÎÄÍ\96\12ÿj\940"iU°\9dÄo\12\91\83äm\85\96E&$Ðç\8cý¼\a\9bø\97\93¼\14æ%&\88¿µÔÀ\8d\89n/\83\9a³\98óê¨ËÄ\ 5¡7SµÛæ\ 5\91\ 4ï#¢êÜCzµ°°ë\9c"TN˶ W\aö!/þ\f\ð¡7\82\9f¡À\16\8a¸]¯\170öÒv\88ÎzÜJ²i£\fñØùçC\80o\8c\19êaÆÇ3ö§{\1e\v¤­\10{M$õT.¢ÜQ§¦ü\ 5àã`ÙðØ·\17tôÃYÅ\13²\eC\88½zC\0D\axjOKã\9c\v×OKï\15\9cm²vC\ 5¡\8bq<\9d\97\865Úªâì\9d\92¥ÊnsѫŸ\9f\89Û\85íìz\11]W\ 1z9èKz20Ý     Ú0:üüð\8fr\82ÙCvbù\19¼ÌZ> Ã\84º\8bÁj/\9d    xÌL\83    l\9bzóH7\87tæ¾Ñõ÷.BßB\ 6\18¢sQ|èÕ0      \8bp\ 5{Úv» t\ 3`÷PWuXX0Dc¼cÝ\15k§      Ù\83\aãS,Z       \89³\17Otý\rl\ 5²\rÔk´\8e\94.×V\1d\99ÈbP\ 6\87Î\94ÖÃcõË>%\80·§]i\9f77"Þº¯ºrw\16#©@ ½õnþ½\1avCÝ$\88oÅÛê\ 1£\8cíÂvC@ò¡\19g
\86\8aµ½\ 2v|\ 2\e*'ƹ,Iã\90#\9cý¼":5X\19\12g\85õ\18ã<¹\1cÒº\9aF×ß\97,\8doJùkp\8bù\91\18H%à¨\7f_p-CY6ø¥èð\0\1933Ê\87\8eòp\80î»"çbï"æ%ôþ\ 4âW¾\10ÒĹ(7\19\^\8e\8a\ e\ 1=+Y\16M\ 2v]CRðYÅ; j#\12¢<¨·Wxö¢Üçc|\1fñ]|\r\88\ 1^æÀ$y©\16þ=ùÑ[¨_ZdÅ`\9d\1f\8a%\8b\85G˼õr<B\99\141¯3ya¨ØG}\80¬´\7fÑ'jÛ¨2z\1cg÷áºj~)âÐ7Ö\16\8b\16Ã\89\9a\ 4&çá\aÚÜ®}oú\18\1a\1e\ 5³ød{T>ÙÕL\9d¼áÝû\96Ì{¬\1cÆbÙ\fDzñ       \98ÒòÙ\8e)\fÆs\98Óf³\13ÂÔÒ,¼\99\98ç|FYçÜñ>Fx\19È\a¤É\98r'f³\ eõ¡Ù\81.P\17\83<\fkû°ðØ\89Ê\ 1\rxW\88i6ç\f­\89\ fÉ\15hü4?\14È\89¬\8d\98¦\865F\86?1\81\86\ 1\12\8cú\ fÉ\9b-ì]\f        Ô×A¹\8cÔ\9f·ð\9dÿ\89pFYTfB:-°L²\16\10\17\91Ê\14ø÷rbmînÀg@`\ 2\0u¸ÉÔ$Òh\90\ 2\98 \ 5ë\8aßæ@S\84\0²\ 2ù:\8eSv4°O\9d`\ 1ÔØ\0<Hô\80:q´É\90\1dã\1cÄxyQÝ\995\9céO\12këß\8a$ÌEX\8déæ&A\93\91ø\ eßQ\ 4i_Àέ\b:\ 3\87«âÜÈþÊâ\98ôÐÈ,´\82\8fP\93\e0ºUûùrèx<¶G× ØÇ/éÑ£Öi     ÚÛÆÇ\9e®\f¦\8eËlE_Ð6%}ÔÔ9³¬mæÊU$lw'Ç\ e \e\8có#)¡ð¾XÊeü)\91\94¾s!Äu\97\14³ì\ 5\8a\91\9fÓ\1di\83=Yi\v¢b\1dö\9e\11áÞ!Ðo·r>Å\ eù7®@8îÅ2zf\84\b\8a\83^JŸ¤O¼¿qÇ\1eô\9e\94khÌ[\8aTì¯eʽ§enS9_\ e~Ø(·\17Õzx·\17äì÷×\al¿T¨ö\9c#J\8f½ã²ôßë*8ÎÄæº@ì¨À\13^^ÆY\99þJyÑZ\83½\92é
+\93Û\\1cÐ$eôÉ!\86°} Bwy\8bBv¼8mM5L3ça~°a\a]?\10ÌíòÅ\84·\89Îg]\1aj.\12~\87\1c\98Ú\12ùD\85\98\9d\9aj\8a\ 6'\ 1\aÑ1Õ>r\90/÷ÖZÝ\98â¾k®\86,ss\1aÀ\81L\ 6¦\91ÈÜ©\1d\a\f2\83­FW§\ f»\8eâÀ&Âʸ\139Eu\94ÅRéÉØS¤{<!\bÔ`\8d\89ê Õ¥\ròF\9e\1a\e^       ¸ÑòUiZ1b5\ eEUÆ\1aðé:èÒL\1e\1dé6Êþ\14\9aL\92!\12\801#ÿ\ f\88Ä\8fø\ 2¨\ebQ\ e'¾Ê\8f+[\ 5ÛmGá\eUa¼!\93õ·èðR Q(Ò\ 6\15z\1c\17ëâ\12.\9e\b(\94¼§Ú\11\ 2\aLJ\83\13 \ 4\8aÿ\ 4u¥e'\ 6ôKþ$¦\1f\e\19\89q\1d¸Ò\ 5\8eÉ!\1f\ 3&§E\98éw\19¯Â\91YÕü\14¦ÖEÉÌ|$x$÷ΧXÁðhk\8e\f[\1f\7fà·\9e\b\8b\9d
+\92µÑn)ÏZ£\16ãë\1a!eðt\9d\92i ðO\1eaCÃ\9fW"»ß\\1e£\eIÅâ²Þ\87G\1e\rZ!þÂ+v'D\95>s¶$F~Ä»\r¥éî£\11ÀÓ³\18\8d\9eç4}ÙÃûFD\1fºé\13t\9cpU¹ìülûNy\bçG2Þo2M\87\17åVï'Vè4ér\95^Xæ)á¢\18ñ¼2U¤ûÞò:0¨\8f\85ã\12Í\88þc\1c\85zMÛßÿy\ 3{­ü¹c\ 3Å!¬nO\8bï|¬\933\81\99),ê%%ì<\ f\97 "¿Àùº\ 2$òJZzú8v\ eß7ÂÄ#blC~\96I§O\rû]Ä\9d©/^\9c7\7f^ò®>\12Ð]7\1dH#¨õW÷]G1'ÑÔk(Ï\99_yæ©Ã©Ô*P\f\95PÉZó%\DóÔZð]VVxï{å>§P£\ f\90×([\1aô¯~\93B\14oà-a\ÁÅ   i<]8\86Û\8d \7f\9byZr¢ÚÌõB\8c×[ÈAÈîu\86\90ó½ç\88        ñ¦\eåû#Ä?\81.´ýúD¦yÇ6?À\1f\8dªÆÍ"ó+9Î\14T§kÁ?|%¯\1c\18:\9aG\8cìF\ 6\93À2\894\ 5©Ê¢ï±Ñûfä \ 6\1eN×Ö!G\11\80\18rÏWÜãù@0pÑÙ}GàJè1\14ç]² |k\ 2ͯ½øØ\14\8fZärJdm\8bcC§Y9Z\7fÎuêthf ×»ò5Ýÿ\10^ÜhY\ 1A\14\88 x·ï7+9\89á§Û¿¥N×"Fϵ᧡|i?vÃC¯\9f;¦Vù\ 4Ðã\82\1c\8d+\0\ 6\8c\8f\ 2\19\ f\16e(±ÀÃß7\9b[Mñ\9dxnf\8d\8dð\ ei\90ð_Ô¶\92\86tXÿ\ 6\83\94Ý\r\r\1ff"
+øíU±\90ßOôh¦<8ØÞiÊNø$6ò\8e\91cÞ¹\8cûïÓµäÈý½Hy.0>\19\87Ý@\e\ 3r\rî±á\11V\w´\\81¸ò\13³8ìbÚß½I\83\ 3ý#\15W\91Õu)4ù\14 zËöTÑrY£t{\95Å\91\947ËN1ѯ\ 4\1céâuÐØR9É\14u\891áir\r\9d[.òsc½\8e¿þô¨$ <ß§Þ#\7fáàºÎ\99¥¨¿q<\9f\81«\81\e>hÉÆ\85K\ 24G/m\1fß´Xw\ 6n¾âvC3x-\84\83\17ºOMF»09\f\9ay_kDî\89;:\92\88'[M\ròÝÍàx!xót®\1dè=õ×Jö/\19%hÁá£Aâ=\9bDê Æê5&`Òª\87\85ó{þô7¢Ò%-0â`-\9bCûé4JP\fª38\b\94VͲ#î¤jNß½\rc2i,oú\9b\ 1\b\ e:\8bõÜ\0cÑo·\86H\8e\14è[\18\8a[7C\8aï\92\e\18»\81\90\18\1c¤û\181XVFÖ×nø¤\17Â\ 4\14ᠵ젯GA{\7f|\90M\82
+t\90_\91\94\17\10æÊövt\17ö\9b\8få7\88h~ÒhYAm\8e\82À\ 5¡\a\ 3WNÌ´\8dIñü.\8dâ¾_",>>\8e\8a¶¥Âv\7fÖ"^þ6~ø§Í¢¸Â\9bÿL\eë\8e=ySÐöºR¨J\83¦=\1a£\ 6®k9É£êÁ­c!\11Ã\ 5)4zT\988Ó.GLI<íY$ÆÉ\165\98\0\92:\ 1\ 4=t8Î\1e\99«\8f\9bÓ|ú\94|ëÍóèþúG¨\r\99 JëO\8d\13q\1aBÓÄÒ\9e\8b¤ç\a,czñÙ4þ\9d§2+ÙP\10á\15Æ%i$k×_\19D\18%ìgiÆ\81\80½\ fÇö §\89à\90Òé%HÎ\1a\14\bòÜÐOÿÆ\8bê¿Þ\90Vr^
\82\8f\8fóH!Á½aR\ 1\f,iå#\ 3\ 3Qã¸\96\1cÌa\9dVõÕ\9fÅVÅ\89P°{Çù\1c/\81\1a8¿£2\9bæ\91\82«·\15B\Wí%cN©ëª\8e©¶Î\a
+\98«ù?R¯á\19W:\9deT\91\1eÕ|É\93\9bJ,\e,7\ 2C\18VMÌ®\95;[
+xiX:\0÷Ôð¦7\94Õ;[y\18º¡\11üQ\92­dW\93\10\ 6þëìjTyüF\16ó\bw9g\17F\8a\9a£DK2\9dã57ËdÎ\ f×AyÀWîÂ[ÜQæí;,±X¢Hçë¹ì0îk!hM@×¶"g\89å\1dâªU¤\80°e\8d\b¯\1e/=yZØnñC»\11ªá¹Ð@[t¨Ò&\v
+tt\1e\16Ê"\eîêVü\96¦\8dQw\83¤\9fÒ\86\91aNzG×\9eª<\0À\10¥\8b­FxU#ÑéÒ/\v4l\9b\9fy³½RY«Ü¨ìmù'X\89¼¨!ư\f\13AÞ"\95}²½ã4©GÏK/];.l4~
+¦D÷NÃ\9dÒhC\97\ 5QfÕ¤\97 Qlu+'\970Ê®(",'-\e\122ü2yùÃ\81½Õp\9ezªôp\9dÓ\8dýY3\8b\83[ße\9c³à\ e-IaZþ\8cÃ\99É^%`\89\ f\8ae\ e\1e·j±êäªK\ 6hõP\162\80Â|³ã\99 \9fÚvz\86\87©U¹n¶\8b0Ýt\vrÛ¯=ÓrÛ«\9e\98íÕ\9c8\ 3¡\81\16± 9pá3é\98\ 3\91]åî\99×<Ë:¹\ 1[èÖ<\87l³i¡hâv|v\8cÁb\9f
\16\94\986 E\9fç>Þåªe\1c¢|[=$1£ô\88\ e¾ &Ç0Z<\ 1\15\a\99¥®\80óÓ\ 6\9dÓ\ 6ªøzÞ\eÌmðS­Ï\9b\8b\13\7f*ô²\97\97Ë
+¨Ä¯Ðj.\bò\160"û¢Ö5öc¤Å¿\19fØøì¹H\84\eÑ£#½\ 1¢Öù,ðªüÏSÈ÷:S¹Ô\ 6»A\16¯[¥I\0>! :P6læ8ª\11\99 H\8d      S\ 6Á\80Æ©'rXÃO¶zÂ/Þ\9d\9d\ 1\1a\94\18;\18¬ÀØ_ð`{½\ 6D\11\97¬D\98\a§²Íóñü4x\ 3}&¤I\153d¬æÞÇÚ *øñ¾\93ßû\83PÑü²¹×\f\86¯{\ 1i\16\97öÑ\92\ 4Î\1e7õô~\14\8c\8eô\9eN¤ß`jÅåÜb\ eü§¡æóF]\81#QÒ$7\ 48A5·Ø7:D~\90¤ô\95Jú;\ 1iGæEÁwR\8c
+¹ÆêЦ²L¡àÛ\8d\1cEÛ­®ô\ fPcÖ(¦[­\9d4K\1eËÇR³á¶KÍ¿iEºÆê;qndzz3í\1fý}*\8eÛl\v\81í\15³\1eî\9fÞ#êW<¯r|]!J\8bº\80ê\90Ål樯\a\11\85¢Oï~³á;Y\ 30\87Ëâp\0ó\90ñæwx8þ\80øL\9e&\91J\87\10G\ 3ßÞ©¶ßZRt\ f\fä\94\8e\8bû~7öGããK\97ú\92\90æØ¤\9avg.S`ÛÙ7ø\8fþ©\1aÿ´´\ e«\18\9d\17÷@n\r³lå¡t_ßÿ\89¸uÑþ\0Øì#×Î(¼p\13TZ6ûFãÕÞâsª\7fN¶AluߤK\ 6îÐ#¼â=\0\95gÀ<\f\9fÑÈ>ÍÁéÌ\90\95=i\7fé#\17D\15®\90<µü\ 39\90ã_ö'úÖ\aÜN×>Ðæ\11\bZ\94ýG\18­"L\1d7Ö5ÿ@\11V{È\9bÐes½!?\99hÜ    oÒ±UÈ»¿æ\8c£Äç\ f\0M?Dwÿ\8c\93&¦>}\1eQb\aÀ÷¸÷pa\14ñkýTV_o~òLø\bþÆ\96\rëìæM0}+Ï^ra©¢\9eÿÍ(,\1f\v¼M\9aö>é\1d\9aÞ¡\ 5\98Ò?¯ß>+\aW\ 67QÐ\86v\85\10\8c·b|<\8d¢·°a\1c¼à\1dåPj\98Ý_\f\8c*5+\9f \97êG" õ`\91rµÍ\18¹\88\81ç¢3ül\8aL\81\90\17ì\85Ê\9a\99)³ê\ 3
+âD)\87öp\96¶{\1c\8c\8b{­Ç\1c2¹`ÂFÖzµ[Çqhf3hÜ\1cÉÓ
+\f(\11Ò\89^êD¯x(\11{§-\15À@8_\9fÞ Õ¸¶ÉÚãk\8f\10rоä\1aµ\14b\9e\ 4s@AmÁ
+lù\1cYã$@x\9dYðOQµ4gÀS\92OI\9b\9bxáÝÁ±\ 6Pd\e³0Ú»\eò¤jÒû1'\1f8}\r-}Y)\        0¢\18\va»R\9cù\19,8¹Úv©Ù       \9ejïÿ¾ÈQOé\8bç´/\9a\0»YË4\91\82ÁHÁä\1a4F\8fþlä_\ 6ÏwÖJNÏÛ>ßX{\16I"øJ!\881©&\88d\13Ú,êI\11«\f­\8a\ 5@\1a§ªÕ\9cñös0\rÔmçOà\98£YKWw+b)\7fì\99`Z\9c\ 2ða\94øö&ç\17~,Ê\ 1³qkì\92\99À\17e\17sY\ 4­H¾«Ý-a\90`\99d\ 5Þ\87ôá÷÷'ªÇ\90§BQ\9dõâ\8e³|\14ý\99ü\19éwf\94Àiós£JëÃI9 Ò Ê?ÏÔï\81è\12iÌ0\9d\7fdW\a\95\17±\1a\14ªÐ\8f\90î\9a\9b\ 6\98\8eß5÷\14_¨üd2\91æ\ 5E\8d\8cRëöì4eH93j@o Á\84xbìM\84nYÏx\13\1aþ\19|\8d­APcú\91J[\9f \9cÏÒ`\e½\15Õ\rbÌ \97mÅѤÁètפH}\v\16Ú2\e§\9e¹ÿ¯Â\13      Áï\vC\19ªÃ\10]G&f\98Èff\86e°#O\9b\9f´Î£\1djPM\19ÎhY9ñN\95\85i
+£¢4b\1e\10¤\94¯\fÛrCÀ\ehz4\98Ð÷Àz\1d\9f\1a\1e8s\9d7Ýh{àèѬÑ\9e~\80\88Ó\92¾ãMý"J_)£65©\87¬!ø¼3\ 3Ê\83\9b·-o]\1f}\b\e/Fà\8f!%\ 1n&~ð\ f{\97Ñ\90cMïúëæ=Xq\92®Ñ\7f{v6±)\ 3'¾ÆF,3évÐV*jò
+§"êêP\13Ï×h¹\râ`®f¡÷ýÀ\bü/C\8e\ 6%\fÓÈ\18ByéÄü\80ô\9d\87      ãÁªª6\13\ 2\ 5vx4\8aX0xþ\8f\88Ù\80ßV\b÷\98g\1a Pdï\9eÌ7îêS²èJ\18½¤¸\v÷<gëè*_¯×»~¾S\ 6G\97\18p@¨n\1f\ 4¯FoíÞ%ê\ 1\981\1ef\rÅÑæ`Óµ\9ecå&Øô°`*Õ\8blf\83y\0áûÝ\ 3g¯6ú\f9¾ËzQdõÇ<\r\ 5ä¼9\15,\1csÔG\86\8c9h²hN\vi\807â¨\8f.\1d+òÀ\8boLʦsÌ©-y`ó*\1e²\ f2¡½\a\99û\95¤\a\96ö\84\r\92\94W´«Ô$ñ;)\1e\9f>\91\1ek.\9aOã`òð$|ÚEoc\ 1¹#Ë\8fTk¤mÈ/\96ݽóðd\84\9c{ç;>\94´á\93³ßrNvè¼Ã\a\97\ 6W&Òmå/\98ypf\ f2\10\8b×-Ú«o#ïr%Ë+¸\10å§kv\93¯ä\9fç\ 5{ÿ¤h\1fÁwÔÁMøÆÅ\9aÃ#S f\8b"\ e\9có\e'v1\82cJÞ\7f×\v\e¸zFK)#É\97là-»3ûÈô\9d$s\8e^p$z\ e\919ì¹jÐ\9f ß?\81\1fåÌB\17¼íÐêìþ£\92°\1e\ 5ÍÅÊ·Ð\97Ë-\8do,v9ñJ\10|\98Ko̪=ô8\aÙZ9X\1f8¯)àÜ}\81¢«I\ e4ï@F¶Ä¡êá­;Ó\16\15í¼\82»­\ 1¡\ 5\85\ e±|\7fÜ/\ 2§\8cêyö\92úæä²ËØA[Ý\1cWîë]D\9e\vì¦ÉùÙv÷k\96\bYcRæTß;©\89£aH%  ¶\13@Ä¿Â\95?@\938cMÖ\81l z'¹\1c\1aÑ¢¡sOô\9e(bÁ×DóâTÝ\889»Ô%««\94\8b±\96z\19\8eÞfø¦\1f\7f¤ï84\9aIý@\1cÐ\1e\v\8d®â\88}üq÷FJþ®CB\13lÞ|SãX\ 3â¯W\ 5NF\ 1\95@çWÁ¶40dë\ 2}úv£\81û\87\0\enoä0Àÿ\13àÿsÏ-¾OU\ 2\89\83Ï08\a\9e`\18/Æ]ñÏÒ\11$ÜÚ\ 1\80\bاªÉ\9a\15\99ùäíbN¾Z\13A\92)ãOCy¾OU\90»Â[Ú2qüø\ 5± -ê\97\80\8aÅÔ\94»l\17> áê\f=\80\86w\8e¶Z"\87ó\9eyJ\19\1dq\r\18\90\aåÆ.\98î\89\aú\93«EVl]e4\8c­9N\9c©\1c\8f9e*T\8d@¤[\86\91=^`8t\ fU\81t\b\95\8f\0+K,Cz6k6Ñ\ 6\qªN×xFªûç\8fÜ\1f\95\14ïñ\92>\9aÀ­®Q¯8~·­®y&\9f\1e\86{\\9c\83\7fææéA½~]E·Æ\99\80\1epö±;Zê°n\1a5«ìSµÆö\90²ÀÚ0îJÍo\ 1xIHÁ\12ý\92\17¼Bñ\fP\1cäS\8c^\1eá»°u\9c¤\82³\8cfy#Ðͱ Ä\ 3£j³=3´>&VWIZå^®µ²¸
+Ùäì\87LVr÷Zß9 ­\9fW#[{Î8­¿g3U¿Z#gÉÚöUc"\ 2\88¢Éív#I\81\12\8f9[A\13÷\fi_º\99ÞøÈ-#\19àÊþ\1d\9d¼Zü:JþÅ"ëkzÅèpldWÍ¿'tÍ®\83Á\v(®.J°wôV§k\ 5\1aí%nÇ!\ 36\89¹\18vy\1e\87\98^\f\9d¼·ÍôÄ
+\81T\eûL®\bßÜ"¸\13\7fz\ 5ofþôªó¦þä\95qæ4:5V¬]µ\b\rãù\ e®\b£ñ\8cÃ\ f\ 19[]ú1\1d^
+\8b]á.§$Ò\93Á9\87ɽ\82\19´`-¾\80\ 6\81Î\13øüwÖ\870ð`Å\18\ 5ð¶Û¹.ØH'ð·\0ÈÀªF£tFÐ\ 3&tù~Á!\82è\f\f\98\1e\81ó(&¨>2î\ f@\12fpól­\147\9b\Ñðo\ 6£0ãyq\9cϧkéH\18ÇCÚÍj½\89\930r\93\92=Ô}ñFMl\95~÷ö\95û\ 4\e\16±Ù¿¾\91§,
+\9540lpëà8Ôí*\92ö@ô\ fY@¦þ£§b{\ 3\ fNmÖ/\92\ 3\8fÏ\rIf\97§\8e\99¬\9e¼\83\ 4\9dt\9c\³Ð|~\13\86ñ\v¿J\a¿ï#\ f\12«\80iÛ[À\97l0§Ê¸\vØ¥\ 1kb\ 6\13Ø>^ò\7f¤`\ f>Fu!á\ eiiK(\ 6\aÌ!Ñ\9f\1dé\8f\9d\12\r
+ÏY Ëi`E¸ðé\eÈ\vk¡-*\ 2Ü7Ñø\10\167ÚS\ 6º\97zWû\b\v|\ 1Ôs!º\1f'`7ÇjF!Ü\ fF\94®z\eÌ{ªh\97pjâ¯(´¦Xp\1d\a\93´êà\ f\ 5ܬO¢Ñ\ f³<\97¢\96\9e\83\9f\95{°æyó}<ж\ e\ fn\1e¯´]ì³=r½\93å¶Ï\96ö\86,ôhG¿yè«\81\82ó\7f\9b¿Ã~³ìϤ½\9a\92ö\84§Ö\1dO\89¹79\87O&Ä:S»©vÇï2HP¾øÇ¿sÁ[~K\98Ìܪ6\10\17£{\ e-e2½\b>>¥1â îs5y\14º°VØC\8dC\97*^\ 5àåç%vfàʪ\b\9e}\b\9aùÌÕô\91Kâe\9f\16L\9a\8f±Æ?
+\87/#Ë~s¶yVpÇr©q:PuêúcØ\vÁ\8bc$iN\83*J±\83\12\1cÄ$\1açñøp\ 1µ©:ÞJ\8ddÉÅ\91­Çí\8d\r\ 3é\86\8dG¾f\95\99&\95V\19\ 6       \96\94L|Ð2õÍ"´í\8a\18å\8càiX¶9F^ìe\7f\90Kàæ5\8bó<ÐÖ.\93\802ÑÖÎ\ eX\83!\93½\80m2=WÈÛXÿ\8cïå\9fç\8eÛ×(·     =VÚ\12ÛØ¼tà-ÆOL4þð÷æÔì\81ùÆ^ÔnS²\ 6Æ¥/\87TÇÃõ\91èª\1a¦*ùÏÁбð+Y-Få\¤]ôê¯\9e\8d\157ñOº#=¼AÐ\17\8d§Qw\15¦ù?4^Ù¤¬ë¢$X¡Sò\1dÃ\86\86¸\1e\9e¿«!4v\1c\14B¢= 7úN,ê~\ 4ê|â2\12\8c_E48÷\9c:¡:n=lÌ\19Ö?Ø\9e\ 3ÆkëL¦\1cÜ\8aãr$÷gGíÕ%0\82}ÌÀ¤\89×\8d\17ÜÌ2§ùfçÃÛvn³\vö£\14Ï,
+¿15pïU%ÁÁ(\177\ fÆÙÖ\13&Kb>$·×$¶.³\95È3(\9f\1a
+\8e\19\17÷9\f°ß<¸Ì\15ÕJä9à\ 3\832ø¼t\9e\9c\ 4zéûLF\1c\e+4¾\ e\9cÚb2à}\98       Ò ¨4\12þèÈ"\7f¿6M²wås\9b|ÚLb¶µ0nnX÷õ³edPÊv\9a-
+T      ÙÛ\9cFâüGG\19Õñ}$Ö~ÜÌn~k´[°À\ 3Ù\85Ñ\99ÒúüÚS,T7÷L,Òa\9daês|§çÂÍe·ÌÛ/ÏÑ]2ßá\9aB\8dU¼-\10Ľ\83\9bäg\88ä\1e\1e\15(t'\1fÇ4T\v\94·ä\8fáq\ 6Àöþ¢´\8a\f\8fá;VÝþhö=2´~:r\ 2®Põ\ 3¿³ÇÍ0Í$\8c\ eÝ\87Z\8f\9aÿ6X2ñ\ fw¯{¬i9)\13Ó&I$\92\1e\80À \ 4X\ 4\16,
+\88@s&b9\84öCØ\19$\82\r"
+1Ðq\8c\80\10\1fd\ 6¢Ü¶d¬\99\975mçªí޻Ͷ÷VÝ{\96îÛ"\15T\80\10 \0 \0\ 2­EZ¾Ã\ 1F\95\80
+³ï÷ÿß¾ÌÉ\10\11¶ÛÝ»{ówó¾\ f~\80ûà÷Àê\ 1Ý­\92IdrG¦$Ç?0\86\12\8e\bWÕtÖ \ 4«ê£2ÞK\ 1\96Ã+Äo(\1f       \84N\ 5ìgÚ\13à~ó\ f·dGãÉ\97N\0=ÞU§\1eUÌ=2IÀêMô\1cßÒ\87Ôw\84ú>yå¢w\1a\92tu\80|]ú\89ÿ3ñô¡êWü\7fïÔ°âÉÍ.¦C¦\0$l\96\84çln4MÉæU´ßÉ\1díc ½]ú
+\e\1f\v©&Ç Á\84\1f<Fi\9d\ 6\80ì\85Í\86i@\86"n{\1f\87); {8ìþ\11Ú\ 10˦~*p0Äc@Ô\18\9dñ\9bÈ\h¾\88\v\82\88=\13óìá\92,8\1a#Uö\95\ 5DZ\hÈB&\99\0 +òYGò\95gãÙ$J'\1a/ÌUúÖð\91È\90¨\98}µ^\19\7f6|¤\8bd¤×\99Ã\14\97Ñ\rt æpÑp©Üm\82§£\16ª\1dÅK-£\98*4Ã\1a6Ïx¸¨9pµU\81¹Ø±OêÃY%\81o|ål\89\99¥:I´&qu\f@Ý~ª\8d\ 4ÁÚÂz&4ø\81DzÔ\1e\ 2\1c\bO\91\0­,M\99óVkü5\1fÖ\13?\vQÿ¨Lû\8d\84ÍMGúBgÕê?÷  \98\84¾&\18ê§÷éÿòù^\1e\9c\94+3*,³Èõ\7fZ¬±\91\19\19Km\152ïg\92\16\97®Þ¢¶/Z¬*\8aÔîHØx0óÕrÃÀü\a\15ôì8LR\88¬\9e¹eë\93\a=m¢Ëj·,K\14X\7f¢\89©úTHP¡A\1a\bé\8d8\8c\12¢Àß)3|¢¨\ 1
+çD\19°\887¿D>M4hré~\94CÎÓ\1d\10b÷Ö4`õ\1f\9d\10¶x¢\8b[t\8cW%d¬'.\1d\ 30L\16\8b\ 5Ûmlæ@^$a\rØ\ 2Á³ðtÉ03å®\14Ùº\98_\ 3Â9ð\9a<Å»\92¹\ 6Î\13¹ÎØ    \90\9e\17(QöiÏ\82\ 6iÜò\9e¶u\8d³\95U\93éx¦hwÅ\98zqÑ\1aÃ"3u0¹\84\f\ 4]T\rºÐg\f+í*Q´d
+\rnÁïX¥\18Öðg\b\0»\84\9a¨1ÁNûJ^\9eu8μa»¤ÃöØäíy2dl\8b\ 6\89Üfé\81¼ß\1dQ6ÛYõ\a\ 6K¯ûIVwÍ\ 2\98y
+®¸`óÜ-ì\sy\87Ø\8bÜÆ^PLhækE²T\15U7\89\0i¶û`0\ 4\81TÈ8uÞuöå;\86z\1e¨ÉøÐ\82j©ù\93\9e\bm4üÍÙ\9cø¿'\ 6g<ruÍÈsç,öÞ\iX\0©\9eÐ\bõ=г5în1Âß)y¥oÄò\8f©\13¸V\99\7fÕ\83\vö®¼Ñt^Ø\8fu\8b\87\vó<\a¹ç?»\ fd^÷Bµÿb\91\b\ e<ÛûíØðÍ@&ïÍËt\9dÅ=0<\ 5¸u\v\1cñ,"I¤\16\ 2Q;ò\ 6<\0h\ 1\94=\0SgH\18?øñé¦ÚZ*\18´,pÑî?~~\7f³\83Lì¢\95 2Oíç\8e"\14\b\95\18D\9d\83]O\1d[bìdC\ e\9d\8aH¹/Ñi\ 4Î9ש\95´3\83)£­F\ fþ**ðî/iòô+u\bêsy\86:عÂ\9bä\1eéÀö¬?¡\ 6öv°d\91a+L\ fLç»\v¢hõ¶é÷bá¥\8ep÷ä¸ß\1aÃè¹Ü*³\9c\83\84\ 3´\ e¬,l#x\1aø\84\80\17§á ;\ 3Ä]¾%\80\83ÁNHïWV9ö·\vJuK\8d\83\ 4\90\Ù~4A-\8b­¢ËÎ\ 3v¼}  T\95\84\86\eå÷¬L\87£²ýqp\81\94\ 3¾¸}ë\fns\16ííºa\94Óá¤:Nal?ºÓÚdËciÆeI±}\97s®ê­bç\0¾\ 4eïs8[{¨\9dS-í\8eûH4o\9b\1eY\18+sÞï\85Á\877(\eÁ®0\1e|ú1Ð\12}\96Ävö\8c\ 1Í·\10©ýÃ\ 1²jHõ(\ 4þÇ\ eaÕ¤ñ¯×qfe}\99p­%Щ\ 3
+gÿz\94\81½dë\98?\0\b ×°,£\a\8f;\16ßñ\174v<\11
+ÃgµÂ   Çìí\84lAª\0zC\88¶×mÈ<\13CÛ¨ö×db\10Ú\94XÛ9gl\96¢4\14\ eÙRÑ\ 6\86%C§\10Gk\våd\13¡ïNý¦8|\88Ù\ 5(Q¯±*4Ë\93¿Á̬Ót½²\94UèS@h¯_\19f* ìb\r⢪c+Ø\83v1ß\10%{Èó×ÞZ.]­I\,b¶\84\85G\v\ 6'O*Î\a\82P\ f»\84èeùY\96ë\87\8eN8\99jäÐyM:O1Ï´\88Ì\Ûâ?b?fæ\93n\9c\ 1\và(
+¥ð\ 4\82\89\84N\aã\95G\a[&\8f\87Z\91ë\1cV³¤{ª
+sDå\9bhU¹\95(\84)x\82\85/t¿÷E<)gOÃ$\88TD$Ì]¼\eÃB¼\8aÔäè\fE Øí\90³õ¯ÛÌÌ>Ã)\ 3[3\97ZmØév\16JKëgrîÙqÂ\ 3RËb\r°(\8eíöå[v;³±\11¡{ö1        I9e±D/\92AåIù\88\84,ÐÀØÍ\95\10}È1\vQQÜ\ 6#0¨Óò\15ÌÉN\a\97\84D0·8â\1f\1e¨£FÉÚø3¤s
+jeò3q¡\87Ó½À\86\1dXÐÃÄ#Íù\93\ fçZ2ôÐÃþ\9a"kÝ/ßñÎÃá\86L«úó*ð\vµB°«3\82\9aH\9ePe<£O=
+höä§7P¿\954\91ôªðGW*¦\8a\1c\eµy\v\95­xP\1cÂ\9c¤'&ð\98\80ïgÝ¥\18\9b#¿\9d\9b\80í\94Ý\11á&`*±\a;\97r\ 5O~jKîê\ f\98Ú}Û\13\11îá]ÄÅ\r.eB¾Q§e­\9fJJÏ@|\ 4S\ fGvÈH\86Ïk\14iL+\92\82«\91´V\1cØÒÇÒ±Ó»\86j\ f2B\eqj¶Ñq )=\85\1dn»¹9\8fò\aÌb/¬\9b\14\ e8\9eWQ\7f\1d\9cg4°É=|Hì\92+ÿúO\9e\ 2æ\a6>áÕI\b¡\ e\16Y;£\8b\12\9cw¥ZÛ~ÞK\14û\ fS\ enIÌ7WÎí.\84yÎ_µÅ-Ë\8aÍ\83\98\13«itÈC\85¬vÛt\9f\872B\ 6­ÊÔJÒm\96Â*ÛlùÈgè*·¶yE¢\8bK\1féÜEë#ý;r\1f\9d\1eyr´hBú|¨ÐZòÊõÆt8|\a\a83\99\98\90\87\86\98\0zk\ 6uã-\806\ 2c¶\7/Ú\19^t\95®x\9d¿t\15ÄûºM©\9eÈÛjú|TÜôBÜɨeXÌ\7f»r
+5Gx»\142pr\7f·p\98¡\95o
+©Ì\ 4\10
+¾ëÝAÚ®\97¾\83uMò0g¤%8%Êô\ fB\99©£3ÌO¥]ê\18¸\81\84c\9bîJ:ïA\8e¸º\91£´\ 6Û5º\90¨\13
+\83\162õBØ*<">=ÄYt|E¹¯ãÿb\199\84z <Öû°sÎr\90\0¤Þ\1fJC¦\84Õ;\æ\ eI\8a\rVáHy\8cBàÏ{j\13\ 1\143\99Mòÿg\8c{TXªàÝNç\82Ø\98\ 5º°ªsCîð|K\aLóNaær\ 5\83§\86øI½>\ 2\10TÆËÞñ\81þ¸%þ<\92\0\ 3º\9dïbëû\82\10þ[ç«fÇ\83éq\95\18*ìñ\\14@}­\83Üâ#*\87\9eá\19³ÿ$\85WÜ0ªø^Ã
\1epÏÿª\96]~×$\8cÁ7ÀUFT¯+ez*\96^$\ 6fët%.þõͼÑ)³\9f\ 2évñ\94ÎO\aÿæEvËt½Ç^\85=\13Ý\94ÿX\ap\7f·\ 2\ 1ßF»øÀ;xÄ\ 3¼æ\ 3\87ç\80t\ 4|\ 4P\eãDÕ'\89}\89y\ enM\88\a\ 6bÿk\89X\1e?\19\10\ f»¤Û|ïi\1a[+\a±têÄ\ 3óÂ\ 1÷B\0TîUn1\10~¶.Z<\ 2\9a\11í\fÇÓ@\ fÓ\12Ï\ f]\7f\ 1   SJ\93û\7f{\ 5üà½Ä¾Ã\b/N¢£A}\89éÀ\ 3Ú\11À\81\99ùØL\b\19ø\9dÑ g«f\18\8b|x\19  ð\9b\14à\vãìä\ 1ô).\93\81\14©&×IÚÍ\8cH\16\14\ 3«vá°+O\0ÉÚÒ5º0/Aó@A\9dUó5 Ý\ 3ùã\95\81µâD\92=7ÿ[Õ!þê\14\ 4ÊSs\81Ï\14*ëÑÅrÜ\91³F\95JöÞ\9d¸ö\r\97\94\99\1frùÁ§ì­\94\99#d¨\93ôÉú\1döD\9dx¡ì\13hy'èõ\98tP¿\12±\bÎ\98±íÙ\ 4&\7f\9bD\86m\ 6ÒI3§ üÁ¥=ÓºÍÔ=\\9b\v­8\1aâ¬á)E¡;²\81\8ccä-ú°©M\ 4Î\81Í6Õl#\9akµ§\eÌ-0ÞkÎ+c@̰\13\9cÝ\1dB\8d4´Z\aÔ\ 4\9a/§ýå5íçP\1f£Å££&+ñ\8fu\8d\11\vÜx^\0n\ 3î®Ã"\93ÓD!ÆRÒ­\ fGí<ê\9fA\93\18csu&dpÆì@ÇÃ]¶A\10.hXc~ÿÕa\8dõ\13\97ï¼ë>\97Þ\15ËÆ>\11]\8d\12§ÿ\18\17y\94\86}ð²Ü1?\aÇÐhJ.ã\ 1¡\13µ\13{ÄÑ\1eÔg5iB\9eÐHsQÙï\ 4|åàJ®\8c4$°hB\90X(\107\91Ý\12½w¼Ã\18ãXc\1d\ 1Üì\9c\r¿E\8bI\8aC\19\ 6Ð&-tx:Á\9e\98      D0ÄùÏQ\86'ÌÍÿþ\ e­Ç\\86+èÃ\137[Ñ\86 \r\8cx\ 6}òþÛ$¤¢\r  Çà2Õæ\87 ËXÈ̵ÓóÉ\9aD(;Ï`\1db@HQ\1dß@ÙÈeå\ 3Õ¤)\9c^\f¢°¹J@ð2çs@°Ú%c¨-ò6\1a\11í\bê\84Î{­\aö¦T\8d©Çnæ}H}ÚEt\13\ 1Ó]\9cÁà\acQ\95Øn_«ô\8b\13ت\ fV:\9dФ\8a´¹á§\rg\13ÁÃȵrM\97|0Ö\1a&°°7!aPRÝ\9d\14CǨÈì\ 5kîý\19)(¼%apOâ\82õµ\8dG}Õ
+\ 4ËJ\96R\94NZd'Sµº?\96EC¶\1ojxñ\96T&~\1e\80½\91ê/Ôd\84¸\8eºo!b×z(\90çî\8a«\0×Àí\1fMA\vSv½Öܪٯ(±«ëÊtç\9aLàU*=c\ 6Ó)\1dÙX\ 2UA¹ÖüB|À\98¢\17\ 5AÜ=)ÇìTqÆ@{a(\11;\12\ e\ 3?¬Vä\81ÈË\89½àTÑÔõ× \85=±)|=ÜuB¾4©Á\e±éh¡Ø.z\89\7fÃ|\85$30&$3Ëük{d\8aNZ\8c\94\81Ãåи%ID+\82|ª=\19\9e\91³\1e\8dr$\99Ë\99×±Ì>\ e¹Ç\1dÈ\15B_`ñ·\11f®ÚÓË­\94;\12¡\81§<}\ 2E\81ø\99':éc\8f,Hw=­\8c;\9eÎË\91\90-xu¢K\9c3i*¤gAø\19r\92£\ 2)Ï.µ\8aÈÜOó+±ñÒxC\1e       W~¶\a­\96¶k\ 23¿ù\19I/Ô|ÅèÔP\ f\17²°3ô\e\1eg¾aèô\1a3DHçÍJ-Y{\8c´ÎÓ\ 1\94Ô«ÖÔõ\1a¼\92w\18'­³jjºÃøG(ÒÄsLÐïZÊêð\82\91\9dMTÁ»G©©u\16PÜ¢\85ýÃ\10sô|æ\ 3¾õ^Ò<×û\89TI`Â\9cÁh0=\87?.})\12ie(3\10i\8a6\r=2,U½\82\17É\9dOÔjåB¥ï§\86&"\1a'3ðè   \áÍÓ32Ï\8aÉì)Sú\1f's°\12w¢K;;\9a\91%\9b\93ÏÈ\9c#Ðæ\8aÅ\0¸©\0\ 2£Â\9d'Áb\14ãæ\ 1º!\174"a\12=\8e\17\ 4ÿí¿\84\14þivóÊô¡\1a\89ÿi/õò(_ÔÀmßð\98ÀmßDÎ%_+ò í~ ñ\97òQ§\18\8cÜçÑtÍãCÝÐ¥¦Þö\1e\ 3x4íÜcv¶Ò§W\18ZQhd`eß\vÁ6,_\99f\ 1y¢?\a\9d\92\r\vqÕ¯û\19°»p£KV\8bîÁï\8f\ 6"\19°Ç\1cîÔðã©Ñ\95Öãv±åu²\15²%u\9dÂä"í\1f\10ÆÔþº­\9fc\83J\83\83\99\9eWEJ%\8f*#éݱr,âÐ\17\19\8b\91\80\ 44K¤ÿ\e´9[LÄ®ccÊæ+\1eW2¯µ\91)a\98íX\90H\15jFyNÖ4®fz\89Kù\\93&\11åq§dJã\e§\8bÛ1u®\84®6è áAÞL?\17$P¿viÀ|Èøc°üôK½ËîÅF\9a<âv½À¬\14´ÑÖ'k\9ddw\84¡|\15¾âÝ\81\92¾z4®^I\92%rõ{\bÒ¹vH2!õ\91ï1çNW/ë\ 3¦Qú\13\92\ 6ökÍp\10\ 1¦û¥¦·FÞ»ïq\89\12\1e\eE\9e\90ÅX|ôi]°zbØÝÏç\882ü<¤£|R\98)ÝDð\8a¥\9dÞW\1ebkÖ\0ÃwíÙN§\ 3PZ\e\84ý%(ò\85%\v?[\94¼~ß\130\9d®äË\8d <^\81T\98Ô¦ø_a ©\89n\18\1a\92®»1l¦2û)xî\16ÍZLÍpÃ&?\fP\87õç²à[\15¨\1a\1eðq>\9eaòÚR   \19iWÆ!\96M\r\7f\ 3)xö\93?\öÞ²\88#öAP\86Q3æ§ò\vÐúG\ f\90±d\93\fï\92·Ù¶Ð  \19_\89&~ 6µ\1a\12\12H6\12\v       ¦\94Ü?,ôZ\8fg´a\8d\19ÉÜ\89\12*ºÓ\83\1fYn\ 6^É[\87\9aØï\80\aâfuo¨0¯hË\80\1dï\92\86ø\¤\89\96ã<÷35½\ e¹ûy9×ÜUQ`\8aN²/\18\94\809´ß.έÒ\8b¦:ã)KQp+%ò\vÒú"À\15<=çÆBð\8b®;\81^\ 6t<1\v´æ£Ê\\92\18\e";ëRP3Óùu±\ 4ƦxÜù\ 1ªTU\17\830[\9c\86èRbÅ\ eHp\r©]øô\ e+\ùäÈí¸ Múw>©!Ï¿õÎG\94\1d
+÷p»ÿ@w\95,\1d\1d\91Ú_;;i\fÎÙTi\ 1\12\13>ó8\92\ f"cö6|N\8d\90\96\b\8dM\8f¸\ 2µï%2\võ\9f:1Ê\92\90\8c\1d\1eá\1e\Êk8Ãj\8f\ e®,F\97ÑÍ´Oý\ 6qòIIF²k\8bø7¥}  uõ\891¦ÙþUL-\ 3\83â¡Å\18ÍV_:\85\8b¶]»]±\I\7fYãoÛ«Ã1¡Ì-âøÍú\r\93ÃëÙ\8d\10õië\12\vøo!*d&ñÍöpxhh\89#Ýÿàf\8cX\81æsi­½QªKLªB\19    G/¯\\9cOÎ¥¼£\938YÌ\9cOús\184|Ùf\v¾SÕ*uÀ±ad48Ü\1a2¸¸w'§a\80\a\óÖÛõ\93vËeR'6§\9c½mÃ}Æz×\16äaûÞÉëVîV\95bÆÂì\87\1c;I\8cÁgÍÃRbN5º\9f#\1f\13ô@Tg:gÂw:\9aÁ*\9c\9dÈÒÂ'\90òÞ»È\ 2\96§æøx¦ý\ 2ÆjÚ´\8b\b»¡Îpª\92(j>\10\10xP\9bc0{+!\eMI~\f°ð¦®\ 6KÈg\9f¬E3@Uè9§\ 4Ù*Ñä,\1a°Ù\8d>\8c1¦ÿ±\97tºöqç\19\19ûé%\e4\88\84³\88\19ÿÁXxÊkÎÜ,\ 54tz¥¥T¶Ñê¢Ì\96\8fN×ñh#f9\9d¾¼R\93\17Q¦?:d        ôÁ¾\19³|\16§\1a,C7À\8d°Àò\13\97\a;\86!ak\16°x\1fç\98\12 íÇ{ÕÄ·í&ØWDÍ\11DEý\9fL¼ÍlêÑ^m\86^;ØùÚ¡Và\7f%\18ÚÇ\ 5\86oæAP|¹ä\ 1/S*ÞÝ\a\8a²Ný\80\ 6x\98Ëp¿\ 3å:\7fd|cªÞ®)Á\ 6P\ 6Nû¿M\1c§\90\99öUI#\18ó-.¯WÍ\9dJñª\85GG\1fö    F2F\9aø {d¨«²IÀâý
+|\Ô`\ 6ÈÃ\9dS/¦*ÀU\aÞª)\8b4î<\ 6§<\13c¶×Éý£âÎ\7f1Xz\8bá¤Bká\88\ÉÜS´\16ù\82[_©,T\#ã\80\ f\ 42=vYX´ú\91C\ 3pÃ4\99^4a^UBRU \12\vÂܯá\90\9dV\83\16\9dKEöà\1eËIó;¤÷Ät6\9eüíL=$¢FQ\1a¸C×Iv\ fýO\8fû\86H\vDÞ~KÃ6Ƥ\97#\88í°Ïî<bu\15زtй\ fé¦\8f5\9e\9c\f##ÙVnT\924R\1d´u\af¥·ä:=\a\90!ýu\a\9c£IéÑ\86¹
+NÒ\88m\86\8aVw\ 1\15mug.î\93b¬,³îi\rÌ6\83°~Þvei³\7fq    Ú®GJ
+u\aÚvË\8eê\ f<      \17\85\96Þ
+Mð«N·Ã-6ß­Z]¿\´£|;é\8165iue\17Ùw
+ ÏÐõÄ@¥gMa\91áóó\95\91w\8e©½\94\e\8a\ 3v´úú\9fpOô@C\bÞ)\ 5wP}\98¸Eûoq\1f}\85±ù\81\7f\1d|\19\12Ä¿k\84[±~×\1a¶Mû^¡l\8bö³ËQ¿k\87[\1cý®\15n¥û\2Ø\87ízŧ\9fµ£Y7ízÕ¦_µë\96fý­\ 4uMúݲç«h\ f\ 5¬4jø'p½3´´\85\9bf´²\96ÙæU\91Y©m¤eXê\9b\90\ft\ 6\8bzañr³\83\15pê%Ç;8î\15P\1d#é&¨µiÁ\94\9ao\893\ eâ\8etG3w)ÚϤ\8b\ eT\0Ð3Y\ 1áB¿ß¸\0¥ª \17Zà*È]B\15ýáfÆÍÂNç\94pk»U&¨¬Ù\99¯¦¨£é'ÔÐ\17\b\85¬òb8!\99V½Ð¨\9a\83Å'\11\94§áÍæW\95ýÇ\1c½L\85BõDµ¬\84´\v|ÒH?Ä\ 5\148B\11X¾7&Pçìß~\91L±ôä\98V¥Ú\8c]88_«\96ì£s\16!Ç1R\18Ô\ eXË9\ 5\81íÒ\ 2Ï\1e}+\ 1\1f\9cÿ©\8eÝ\88\9e\14rË÷\19Z\ e\8dÂ\19U\908%þ\91\96]ó2gqÅ)×=Ò<:çÖ\98\13h\16¿T ìôãºÚi;P|£ç¶\87¡ÂÖ\91Ó\85¨E<\18®\92ª!Í\12\98ämÒ8;uù\ f\ e*\18\9fü^\89\9fúA\9d~*½\ 3¹©µ\82å¬\r\82Ü\9c¥ì\ 1gÉa÷êªz\1fà\9f\12àª\800÷X'aZ\9eÊ\1dÎ\8b*¡ê}\a\rñþ`©z⬯**\ 4\16ª\8aø×î4J\7fß\9aJJþ$ç\91\8e\b\ e\f\8b\ 1®\8c|\97øWB¿¬Êð|!qÊ¿ÅÉvÈ\1a\1c\8dÞ÷\91\8c­§d\9b±\8a\95ð:ÙRÎv.»í\15q\13¨2Súõ1«\88\9bö+\88ýÍybáâ£\17\ f\ f\89\16\86øË,ÐßÙtà\r6A\9bâ\9ap?)þ8\84þÖõ\99|qVsÆþâÍ\13\99ù8äínY\9d[ÖÆ79\v\8a\98jüªÚl~gv\9b\ f\90\80EB'\7f\1c\eåGÕqMËV\1eWàå\v\b\86WôÉ­\aÕTDTqµÃ?©ë«Î\9a\96pÒ}féÜ3îyèѱ+ÈlëùBêC\ 1d÷5Î»ÅÆ\15ñ;\ 1\ 4|Éã´£\11$\ 2ª1¯
+òúù§sß­\8c\8d\8aí¦vdåâ¤\r\05\b\1a[S»¼9¸úëMËÇæDD\97eÎ4p¹©\1c¬#³ÒjÅ@×ä\1d¾FG3ÐV?3å\1cÉÒæ"gÔîíÄ\9a\v\96é\1a\ 4-Áýewª¥%\1dL\15Ix\\9f\7f\14³\9aµ\9e\8f\95$pomø7¢\8fîß\83|<½±hµ\1a`È<K\84¿Ù \87nYö9;ñ!¡\93µðÐpMú\81á±\95Ðü\aι\eS\9fû1\9e\1f3Óh\9e\ f6;DþÏ\7fø4OÀë¢Ñ)m\90Ål4"\99\9f\9d¡8ÛXì\99äº?-\16\18ci#\95\ f3\e\94#¬üûR`\1eÏ2T¹hºA¤\ f\ 6T\99\92\14æpÈqÕ'Æ\11\1d\1eÙ~ûj$æYÍHé)s,t\9f!g\v­ÚõGé=Þa\a\17¼ô \81o\97b\1cGò¯ÖíoÖ¸¤§Ô!}\19\87v\1c\9e\9ba\1d®¾\e²W\1f² ¤0â\1cì^T\1eÂ\89 e^0 \8d\ 3A\15D\80\86õs4÷\9fÉ*[\ fÊ\7f\18x\9dL\9f\8cÝDÞ@à \aÆÉ÷\886\¸2ÅFW¿ä\93ÛýÕ\ 3ÛöGn^Á×M¹~\vØíËÍä\7f\ 6å\98S¢Ü¸«¾\83\9d|íËÏÚGl­}>\ 3\129_\95Ö\ 3rìär³Çå|¨å~m§A\9fõ®£³û\8eGôgýNÐ\99þÌÊ\ e'\81ót\15­m:Q»p­T$\933\$<\ 4T\10fç_ó¥\9fQ=kÛΪ)\18\87SISà@w\827k\17±\7fÎÇ-\93B:Ì6ø<\94\9cV=\1aL\92\1dL\e°\8c¦ø;>\94\aXçÍð\15\ eï1ó²¿âÙÇb\1eÑ\1c·b\91+v¿\87³%Ó\8bP\9eE\80ëÍ.Ìõ©Jãç5-\8cû¸]õ\v¸^\ 1î\8aá\f+çÏK¿\16\9aui·\83
\17IXXGÜÎZz\8cÄÿ-?¯)D0\ 5v¥XY\81c7"Ë;\18ÁhhðÚ$û÷ÅìÃ¥%ÍÇ~Ô´]æ\ fù\adn\84¹®á\10LÍ;\95%é]¶Ø-\872%&H\8a  Kk¾}t]õM\8eø{õ©3JõͺG7 Rw/&r\ 5CÝR\89Svb\91\e>{$ÿôØvªÌ Ñܯ<\86Q\ 6\81\ 4\1d}H\ 3d5§=l\1d)¹|ÂÒábþ\8fà\12¶ h\ 2\ 3;Þ7º=qý\85@g\84Y6\ 1~\1c\bݹ0:Ægó®óQbÑU\18ÌD*\93\83À2¦]Tý-\92\ 2\1fN\v\1an¬o¬­¥\fÀ\ e\85ÚüRZ\88\84\ 4\80?P\95§;¨Aíf\13ñ8e/¯^pÿ\1a~&L¾Ü\92:k\9eÙ?í³I\ 2\ 2\8fÆÀ\80 `!\81\b
+?\19\0\r%\96ú @IkR{QÓ.À\1a)Р  µC\9b\96`ú>\ eÎ|\ fª\15×ò\ 3\86»\82
\8b<lp_êü\9bÃØb\81ÝÄ#Àa\0²aϤsüPª3á"ëÏ¿ó¡âÀëe/\17ü\ 6CÊæ¶\9dJnÿ¢\8f­2\8f\8bèªpÑa\0'§¥\97îIFÔË\94Í\8c±P\8f©@d¬TÝ&\9c*q\a\84Ö^\8auͲ\93UñsL\1eÎòÓ\8f2\9c
+²¤3ïS\81Ú\95K¢Qk\a4\9bäà\f\18\8aoÕô\12¾^Øë\ 1íE¾·ªªrXh -\ 3\81íöÈj\ 4qF\¦\1c\100À \81v5Pèºã\88\fË\ 4\89Ì/sÐ!j\9e\96\89ñ|À6¹\8bOÄìHD\ 3Ý\17Úy8\ 2Q#Âüd\evnÀm·È8mµnöÓ\9d\8a}á¡O\7fVuáy\b\1d\1c\9dW\8b ¿Ô\97q\ f4-\16\19\9càòZ\88^´qàÁ\13$U®R\ 5Ý4+\16\88G\7fÆ$\9aý"s\ e\97©zÅõÍóQ\9dônØ>\16\96\8fÈCI\80Ù\80\fº§éyè7~%àÆRè\\eðÙ\99ƹf}E@³\8dr\ 3f\1eJ\ 3f\11\8f§,\1c\94õгÜ#ÚhÏG/#_\8bÇè%±Ý\16\0B2\12Ð\e;\90\8d\1d\88ûs\86ÌÂ\1e¿çñÄ©ÉÚðËFö\9d;\87\9fQ&\1dØv@2\91ø^¹eê\ 1"!\92\13+8\92E¥)âôætË\9d\13\8e\86ß ÃýI\1a[\96Z\94\ 6¿ÛÇ\97u?5\98åe\80\1fý¿@@\14gþÊ\a6f-\94ê©\98Va\95LÀÉØ"\ 2½lµTE\88;i\8dN\ 5Q|1ËVÚs±ëb\98\r\90¢ÑÖÕ£í!ÚØ²\8eY\9e\r¼\80ÏÏ\93Ð\füÄÁ#·ÿh\r\7fËÆ\09\13>\16'\ fã\8cù«³Aå¿ÌA\94£\12ÛÇ j\94\1dRtG§\18ù\f\1c\ fY3ã~_Ðo3:âµò\95 &E[ä\e÷É7è\0\8b /°ò\14S5ç-Htàogg0î\93`U%\ e`¾¡óêµê\93\80\99\bq32êµ­\9fZ\91ãh¯º·\90«Æ\8eB\80\84vY²L\ f\v¤Y\e\94\16|Ñ*ì\94h.\88Ä!Dæ²vË` \8aÁ\11VÎÒ\8c\18\8e\86d¥÷ßx\ai>IHßTW¿h\9aÌÞ©\v²\15@\161دÅj'û\9cX;\17\86çf1Nîü\18\95ß\8c(äÓS\150,\ 3ù¢fÙ\1eÑ~ù,\ 3\1fÇ\87\87\ 3Ð\10Qh«ÜÞÓåæÖÁ"À\90K\91Ç2Y«iÝ¡Cë4òKJݸÓÉEÆ\80\ e$wöØÄÇñ?ÀX¯4¿Ûüå`\1cëÞÚk\1ce\1faUµõu\9a\96\a¶£Ã\15h\ 5¨©&Þ¾··\0½qRV#z\ eî\93\80\ eÄ\9e×¶4N\0M+\ 5ÌÛviý\91ïZÞY?´/س|Zp\ 5ôío\8e=\80#o|\9d¯\9cyXG2\8aÃÎ3NåÜ\99\v"E¢X\fy.ú~õÆ\\1c?\91     QLµÄö\8aX\99V\88\98]!ë\90\ 2s¸j\18³\v÷\eG{¤\8eØ*2:\96ª\90vG:Ñ+ÌL~\8a\11*+Ì¢'P\ 2\9e9ľP\8e{m:(¬\ eÛ\ 4\9dÃ;\135
+n¶VÌÿ°ß\v×8)3pù\8dQÃ÷Ú\97\ ePS%Øá¶?\ e\Ü>Í\8eï,~ît\1e¤QÖÒÙ\9fV\eÙ\16ºnÁ¢\ 1Ü\15c\r\16`¤Þh\1aiïzß  ªÇ7ÃÙÌ·Æ­+\90ë\e²Õá^µ°ªY7ª6ø\9fL\19Îzª§ªRrÞ2Ù\bzÌê£D÷.@,á\80\ 6xV\88\0ØPS\80ÛûOñ\12&à{*\8a\9a|:ªÆ\ 2iG=¹\89BóñùE,O:;+bìµÂô6\1fLSV~¹L\83\ eÜú¥\80\99­\ f§¬\9d¬\8c\r&\18ßå\ 1\0â}áF^,Áø #Õ\15\82\95gàv,LǼ\85Ü˱M¥\a¶|¥)ùó¾\88¼zÀ§½\\83\1ag`.\11ê\8aÜ´õ\12Ü´Á¥»\9c˼\1a\86=#H\8b\bÔ\8c5ü<>ÿA\98%?ÞHn¡ÿ~ÖIo}XS\92\86]Ëù\9c\91\8e\ eN\1awÍlúåaø
+«iÙÉ>\9dNç?ÍNæ¯ä_Æü@\19\97-þòE\e\9fë\89~ã>\80<¡1ÿ\96JKÒ¡=\0£JÑ(ö¸Ð\846Y\A\973ícÈS\95æøT¶Ý­¥rÿ¿d\92w\18^²!Re±\91\ 5\97+\934nÞ£ç`#þ²-\9aB,&ÎÕ}\17ªÇ\ 6\16ý}M¹ôx\86d5Kl¯¡\952ðõ\ ex²)cp\9d[wÌ\88ü\f7lÿ ¹I\14Øâýïª\83\90@¬Ð\9c1\88ZK»¤Û»myg×\1cþ\b>pÁÇÁ`p\Ûàuû\1a\96WB[\ 1¶ÛUë\1cÝíÍg\1cå\87µ%
+HÇd0\r¿\1e¤bK-z\9fq\a\13«.ü_Å\970yPÜʶÛ'\ e!Åp»w0xðܲ\1c\e£Àëî\83\81Rºw\1eº´\83</M\1dÄóµK\1cÆvYP\ 3²ß§s7XõÉ\99\13ë's\85ê2¢oä±a\15)8ªÂæ­Ù\8cÝ:[\184\91Èû.,x\9fæ÷\18°w[ÕǼÕõà\0àb\87+ûz\1c­ìH¾Ø¾\95\võW'¢{Ò±D/\8e³\9c|Û@¯í.\99\ 3¬S\8a]\1d=ð8\8eeØ\ö\97R¢ï/\ e.\1d\ 6û\96h£L¯Å\943\81'\rð\8a\ 3-Ä*!Àc["\r)ûhcRíIjTÃVLº\ 15\10½ïµ}}®\9bÇ\83\14¶Néz3\7fõÓ£\83õ.\10\ fJO\1e\8d\80\18)i7\19~êá\f\ 6>÷ÀìÐ\8bÕ\ ßn¥\9dûÙ\83DgijÜ\97fçÎ\9e-+­ìd×ëP\93]~£$Óá&Úþ¢a}&Q\89\92Î\90\83³ G´Å}\ 3\8dõ\87\9cÚNjLË7Å0\ 4/\17à\95l\85ÅRÚº]Kl~ðÈáô+¾{      \19Û\9f\ 2c\1c0?SÜ<\8dhf\97æ
+Î-\18ÔC"\7f_JZ\86uPKø ÞIþ,m?é\9fPÂÛ\82Å!#ê\ 4¡"Ã\91~ ²,`\vý\8a,\ 5*ýéÚ\8bÆù\12I\89Ã\91\9fl\94ä|èjȹ0v\8c×í\13}\9a4\1d\14¤\ 6à*\89póA}\96\11\8d\17N°»\9a×\91[1¦(º8Ö\15MÅù¿/;#+\98½\90íAý:´é>ÿ\889c]\94\85\92?l|\ 1Æ£E+_\83\e¾Ñ\14\9d@h\83(\89¡X\16p\ e»Ul\92õ\1f\1a\18S¦ÁÄÁ'bÄ\ 6»oØS\91ì°Â\8bL¼k]Z\9d­éH¿l\98nn\80?`v Þ/\ 2·\ 5ÎrWÞûn\ fÀ7\vZ||sÿå¶K\879©É¥%\12Ë\8aV\f\11\98ùé8·ç\1e\97×\1e§\8dÏ_ðp\8b¢ö\884ó,½G\14öÊùXT\eÎÀ\86\e\86jZÃ\9e\9d\1f\ e\9dÍ¡Q\ 5­ó\16Dx2
+zõmÆ7F\83\82aáÍò¯3n\19ÂÆS\83LE\a>=\80`ö|\ 3!Kòø\87\ 1ÿä\87\94vo\9a\80m\1eK\0ñ\8fô1h\f\9cö½\81çe®\8fØÔHìaÎ4\b_üø\85lÆ7ý-<!\8a\ 6\a\94Z\e\vàÇ5\89\a\r\93î÷M¥4F¼ð\1a(,^¬`\ 5\8c]èörIHÐÓlK\ e$sΧ\8a<\ 5\ 61
+O"u'þD\1apÍ£ R\7f'_~¨oL\85/òðÉPí0.î\1e\ 6\e§Ð\7fÜÝ®RôH&¸U·ì=æ\95\14_rF³´8\13·À5¥\9b\1f\8e|&£\9f\ e_h\80Û¢­·g8\b«ÛF´*»|T\11«FîhV½y
+î,ëÜżñÏR0'\9f\ 6\90±\ 5\ 3\8b\84ûÞ7"\94\eÛ³Ù\ 1£\11w¨Ny\ 4#Eÿµú\8cO\98\11äkù¡KhÆ;H«>ÿ]jYñÜo\81j\ 4)òd%\83Ö1\8aýôh\85ß:fgÍί\8cý\ 5\1a\85\99\ 6 øwâ_²~&(/ÛP\r\19\8bÞ*×+â\19([Lo\86\88Ì\8e\90\0ýÍÜ\ 2óÂ1<Äî\13\85UÑë\ 1¬l¨ËP¡\ 5\8c_³\A©\ 5D\97´ó@E¶*O¢\07¹Ó<      é³±yy?EȤÅ\8ao¿3<ds\82û±\81Ü<ò2þ\9eøá,\0\10\19>\ 6?\11ØèÆ%×\8a\rN¸ç\ 3ä¬\8c\18ç(ó'<<\89ç-+M\ 3â\ fBG\9c­F8\9cal2'¥Æ4!$P?\98/i¬\8b\91,\ 5þ«c·\ 6íöµØ-\9b¾Úý\8bá¤õ-P5D\1fa\91@CØrßnÕÆ\1c\89\8fÚY\11ýÙRNÔ«ÍQ\8f\15U\13ô#L÷%\836\11w
+úQ\8fÏ\82\8b\15\99"ÁÏî2\1f:Øg¯È!\1fAÞÚA§\8aÊ\98\16¡ôão\Æ\9bmþæA$hG\84æð1#ùðW äYØ\83©§Ø7ý\94¾D\9dëì,Ìç\ 3/\84Ï?\90\90°\85©ÓÒ_\1eÈTôDâ?ÌÞSü]qõ#ùð\95è©ç¯¯Þ±¦\19[Jà\16ó¬\97\ 6²n{nªÅ|mÀp\@=¦VÞ·$ößXh;l\81\9dÚZ\1e°]_ZoÚÿ¦ñ\8eDì8\11è\8c\7fÉA\8b\14\1e[zZ \ 5è¥&\8a\ 4\80\1f\1c$îsTG5\98´ç¼\ 3^6õ\95äk1;{ \9fW\e\9d\932°³\11Ç\8bÒåÿ\f\81\ 1â)ì æ+\ 6\9b\97\9cÛSë
+§\8\8b\7f\ 5Y\ 3\7f\18ÝåÿÃ\11IÄï¹\ 6@¸å\8bF\83\950\97=\16t\eÜGÎ70¨L÷ï¿ ßd\ 6F!~\17ÞìÚNÙÝ\92X\14\e\b P¨\15
+µV «e\8d[\16\16U\ 5\15Û½U7U¸î\1d°ÒJUDÕ%«eøû*¢«\91QE¨       ²¹p\0\83­U\ 2\94
+QD\15P\ 1\ 5ú\10(\0Р\ 1?\7fÿ¿¿},¨\0\1dW<Û¼÷½Î÷\9b\9eç¹ï\7f¯Ô\ 3ºé$\92Xܰuù;fo\9cüô\88\9e¿¾á\15\98FL¨xÄf7\93"\14N«ÔYû\96J+=í\aÛ\e\9dBm\99\8cñs[²\8aùgý\ 3%Ûÿ\11B{\12Ì\1f×\92\8f\95Ùg\ 53\95òÙ\88±S¼q\1d\91Ñ\96ò³\ 3¯\89Û2¡D\860a\95\8cû¹\18\89\ 5$:\ 5·!rB\eÝÂA´gIy/\10Ñ\f\8bâ¯\8dcm]\9fÊ        o¨=4ļ\vÚ&\85d¢Ý\8cT¢cv\8fõ\9a´ ä ~
+.{VBµEò_)P5ÒÍ\1d\9bBÅq3YRùR-jüæ`¤öýÜß\19Î\1dg\8a\92ªº§\82Î\r^½Ï0\e÷Y\14¹µK²Ì\1eÞ4\83¯zç@ß\1f\91§c\154\92\90\90ÖúÃ\18ôMÉ`úÅ\80\ 2\88s¤9,­õ\8c\80\ 1ûñ\15\92\1f\ f\1a+Ç`í÷\1f°t  §\ 1j\15yíé@.Y\99\ 6\96T\9f}5ÏkGÃ5,¹}\eçÂ+ÕÄÕÑ\ 2      \90/Þ¡sôÒHЭ\ 3\84'\1f$f´`FtÖ\98@)Öpà)\f )c\ròÝÀñ²é¯\99Î\10ü\11 tú\ 5»®\89\93å±³\8cÔZ{à(ÚéÓFÇ\14¾c.\1c\11ü Gg\8bDÊúÌéU]VÁ|\ 6]\8b\1cLíÍ?$¶\Ç/\98¡\16\11Ú\r\8dô×Þ|\91÷\ 5\16\88um&¨·3\14ub{\80¹\13ç¾\9a\17\82\1f\11í\8eÔ\12|,\97æ2äû\15wþ3ì>[\9e\93BsÜf^1´×\98\14n\85_\85{,°~\1a\18®Å¡ä\11æKý\19\adW\1fvLÈ/\e¤_à\1f=³b\15\fzÜ´vÅ0\9f\92t\95<\14\88¶1Aå\99\19%.eeV\85¡ÄS´\90b\18\ 3po\91ñÚÃ\13y©&Ø</<\1düÆG·ÇjîòÂÅ\14æAÿé [³è¾Õ\16ì\18\89\ 2b\ 2Q#ÎêIÀ²\97îC\815\1eb0:;\8e9\8aù¶ùRo¼$}{[\ 1õö\89#0uYR\97˳aF\8f=9:\18\ eyØGt¥êò¤Í=[\ 2\eDE?¡\7f\13+\1e&\1a\16øö\91S\ 2´<~6À5þÊ+¬à\89â]\93¶Ê\88\9f\93¯/ºõH!\82\0[ÎlÐëÌE\v\8b\90y°ô~¬b;¯ð\89ÞFúQ;ÏßÊ'z\vüh\9då/å\13¼Åÿþ¢wI\7fÿ1;í/ÿ\84NêtÜ8\9dâ½_Æ'{º¾DNõõ\7fø\89ß¹ñq¢wâ|dó-tÜh\9dÕߣÄïeVP8ýS\1c\98\9déô¼\98\9dÿ:¾,Nòu\7f|Nêjù\11;ºÕò"wÂõ?ÿ\13¿sPM²WKÃ\89Ü\95_ýDï\1d¨'\ 2ý<×&'z]'\12'~ß©\1a'~Î\92Ú'~o¨Q;\97æ¿(\9dÓi-¢wú½Bf\98\9d\13¼7©ùDî\7f\89ß5êZÄï5éÿ\98\9dþÿO\8e\90\9bß\8b\14,/2QBïH9q-\ 6b4P°ó\ 5\14/÷/£rX\8a§k\14!B\b¢\84õnüE\v\ 2HÍaoßqaýâ\85y\v\ 2ÏÑ\14%»®\99\92"uC^\92ÑtCÚ\85loHÍ|\a§øÄ÷7\94äD÷)\94\ 3à®±\95\bÙÚà÷\fq\8d\ 3x:v7\rI8\9a\7f­\89t\84CûèÈïKz[Ä\9fר[ }~´>ÑÝ`\992_1\94(\1aô<Ç\1a\ 6¬?o\8d£,mQdì]±ô\8b÷ÙB~ìj~T¿\92ýÀfkOw:1o\r ¼£êfm±|\1eS\89\13ÐÓu>\97\12'£ä¬ô\83\88õg\13Û\99\14ã\1d«@%êÅ=\ 6\fê½8ÿ\ 4G}§áÑ\92¯2uWîq?Û`"iÔKÀ\96\1cM        \11\1a&/\8d\ 4Tcù*\17:VÌk\ 5äôì:v:¸\9d9;\97\13¦ß9\98î\9bÚúDé¿Uó\8fKQiçµÂ,çF\8bâ+\12Î\85~{Ò9!\ fç?\18\95K\8e\1cNÙ±\13»X\9a%Öì½\eX\9a\13\v\99+aÃ\89§ã\8cf\10ð¾\88\ f\ 3¿âï\83ÑníC¿ü\9f¿      ½ÿ\9f¿ºà\7fÏߤÝpÃËü\`;ªù\9bæ¥:Yr\17ôg\e\15ªsn¼\1a¡bV\94\97\9c?
+T×_öÕ\ 5#lgØ{üHâ~åO\ 2(ß{:\ 5\154÷V0rÁûw^Ã*¯\88ð\ 2)a\8a\bÓÛëàùÞ\1fÎ^(;\ 1
+¼N\88Z\7fÑõ3\7fÎ\fõBºS}L´\rt×Á½\$¶m\1fè\97]\ 3\13Q.(ûÛù\r~Éb\12îp%\991¸¢0èimK\9bKÉÙù\®M_Ø\92s<]ïON¡­Y(Ú2\18ÌüæA_\80\87ü´kª\81 \7fU·àv \84\98Û\10w\9c\84Ä;\97Ë~ÙRÙùÀë\16\11      \7f\81Ý\84.èÈKâB\81hKÌ\ eÄ\10½<ù\10\96Ó$B[1½ÀÍþY=\f:     "ºb|\alVeÊ@\1e\13®Ü%­EÎ\95\e·ãºí» ¯\rÈ­|7é\b\8cÆÖ¾[¸\14÷\ 6¢¬¢[\88\13\16\98\v\7f\92\98ºÖ¼
+\9föj8í®h|E{k\98\11\ euSq.,3   ù°\96\ 6\8b{¶é\90A½Ç\16îÒ^ã\8bÁÚâ\a*\18ÍÉEzÂyx4Sr\ 5ä(@ºZ\93\1aò\ 1þ>Hm«þTî\9fÜ\12D÷2\ 4\89°?\1cqê"·¨-åÄ\911¿.B²§øU\15i\81\8b\1c\86\ fK¨5ÜÞ­\98\1eÄrÔ\16îÿíÓlø\8cÀB®<ZÍ\96è\10©ÄõÁr®I¶Öþ]6Ò[ï\ 2XðzѪ>\15ò\19\ 2ñ\81ë\95C/^\98øÞ#ï]ùñû(N/\88>?â>~ÌøëG\1e\10øûAÆìøú\10£Î\1f\1aÃççR¯\8e9sãï§v>7£\8eHøê\ 2\ f\80©qó\ 1\9f\1eÔqìO\8fÑ\býYñÔ\ f\9fH|\7f\9c\1f\1fô\1c~ÙñáB?*|wÑóä\8f\8cuüWñ\ f\8fé¼£\8e\9cøÄ\1f×¥>9à\83î\8f\8f^\10xt«ã\8f\f|v#\8dHèþ\98øÿÜqÍ\9f\1e| æ\12ÃÇ\1cªZ¸AÉ¥·Þ\99Hqö{h1\ 6$5ê\87\85¹qösÉ;?ÆÅEwÅu`\ 3\r*K\81Ùÿº\80\ fH\96æoB\81?=z½2-ÿ\93\85&Æ/\ fk\80Éö\ró]\8fê_\99ó\8fq;3\a\8a~ÉÅ\1aLîú¾\9e]ÿ.[àÇ\97\82Ûï\95Ð0\11\7f\99^ÝG\95IW¨\9e©\röè\8bxe¸G\92%ª/ÒTF½ t\15Ç}Òü¯h\ e7Ñcn\18\10¾\9fËMìè²Y©Ô\1dûh\1f\7fÊ\95ðç«\eÁuu*G(\7f5Ò¿uìÚÕ+ücx]\ f9ÅßqÏ\8ea\99Ó8h~Uç@æÛæ\9eóô@Ã?_»§\8cÑ9úÂ\17\96bÍlQ]¼^¹Jn¡\9bûý7PÝÿ2\bßùjn¢öþV\9b¨æ\1fÝiº\86\88q§6`µªj¥ynó½\ 6zïË\v\7fÆe¬â>\b\17\96Óhà\eÎÿ5¾×\8f)
+\99[¢!\1eÚV¼²JkòÚÇßð\13©\90\15·tE¾Æ\13¹Éìµá\94\83ù\97u3Ù;Àéºòq¤Ò8\99e¾hn\r-\11Ó|Öò-cîß]BÓb(\0tyòÇ\1cñcMÏ"`´>CÁ׬lþôw$÷;§ü­\13MȲ.4·ÑAƼ\90m\ 3f½ãú\95Ì\e\19\82a$»R\ 1òi\8c¡®tÓH7Kph     \bìg5\19\a¯÷HÏÂá)c\11\10NÖ¿å]Ôßv7tI{$\16\89]cÕnHdí+\v\1cÔ\10¬á\88Ò`únñÀ
+\9f8\14\9d-#Ê\13\v\97\7f$\96'Ш³¤O\8do\89®%jöx7êÓV
+\1e\84³\89x\e\11õÀþ\br¿¦&D\89Î@F$Q+ïí"ȯ\8b¾á»\ 6\87\9bѺ\1aæÌ\f½¡uRàNNùZá³¹ ÚñÈcå%\f,N­\7f\9f0ee\15-\b\8cF¨áNæ]ê¿\f\ ePv=]A麩wöoUÔ\8c-S\85\9f\95\b\83\eA\85\9b\8e\e\89&ÀÙ\f\12èëÛæz=Æ\8997\r\e\v\98Á\13Ü\0~3\85x\17B7á\ 6]\e\1eT)pO\1f,\88@º´\9b¥û<ù`$KùTH.16éäâAô\16òÞ\89Ýàë\86\rÞ\15\18 î7Ù\8ch¤Zþ:æ¿r\95º\ 6I>T{ýÝ<z\123¬Òh\b\7f\8cr\1f\9b|®äYRÏqú=yuq¾TC-àßdÙIsÜn7L\93\ fGD[ÿ]\80D\9aAS\8a\98N1ÒØÆJMn\85â\ e °\7fÝÉÙ¶\eø^RyJ×\8f\8f\84Fi\÷Ê\86Ä/¿Ï\v»¥Ò½sô@\95|³^\16|SJαM+J¾ËÉ=ÄOé@\9c\15\b\rN|÷\84\9aÒù%´\1d\81ÞJ        \13\13É=Åô\91\0\89>­{?p\824\80´>¡\9c*nr<º\8eki\e\1c#ÞN\ 1\1fU\81à9µÂ R\81Ȥ·«c%>\80Á­£\rª ·\9fÊþøµ\eÉÜV\9c\b\87óX\!ã\17¶ Ï\98µ÷E\8d\ 6t2¯\88\ f]ØM\96âitQtG¸Ð°
+\9aF»#©ÂþÛ\8a×\1fwíò¬Æ\ f+ü¯U\9fþWUB®\8a\9arò2h\8aõ\ 3¬"ÐÊ\96b\ 5ÜîÐ4*Ü\ 1lÀ«¬8ù_íÝÎë_òÆ'\8es¢ÅË)5Za§¹ù(\e¸\97%\1cØ  ´!£à\90\81¼}\b\88Wi'ªûÜ\9dÅHÓ¶!n\82èÊA;©2OÏàKs\15M\10Ü\87É]°3\96\8b\ 5èp\93íóR\9d\94\82Ýmùz¬qSø¿\975ü±W\85zCøî¥ñ̤L±\88_¶?\9b\81u\1f76Ebbô\18ãÈÙRñ­àd»b&/[\ 5v\15ëÜêËzv»\18\8f\96\98½
+Ä­COº­\82\97Qc»ò\80&¦ëÖ.Ù»{ \râg²_2_öeEiSàº0)D\95°S·ÂHÅì¥G»\92R\145\11_7v
+M-Y\ 6\88\aQûT\ 2Ñõ\8c\98îe§'Ó\bÅOZ\97\847\85À;,B!{x÷\ f£\16ß"v\1fâ2\9fÍ\14{f%ÖH\8aø\13UåÐysiIï©c³B_ìÎ\88\8b\1fBKfÍ}?\8e}ÜysPÐ\91$-nt\ 4ÍF×Í\92'Y0(«å<s\93þ\m\88À\16\8bE&·ê,îU\98\88\ 3\9bFðK\by³Ò)ò7|t\95q\84·\95}1ã\vm\81.¿éã¥\9a!\ 1ØçKêJ\f·\11@f»\88è\ e\8f\88\80zÓã_\96a\84\97P\90\98a0dIùà\87©$ÛÐö­wyÂO=\ 4ük¢ìå\93\ 2ÕxÉ\8f\1a[ÂæÞ4Y²Ðʳ6ôV2¬Ç\8cñ0ñQbP\9eñÓé¯Uªµv¥ñÉFË\8c\95\aÎ%\9d\12\19\96aì»?\e\8cöCȺe\9aÐ\ 4r\1a\16PØÅ\8eÌÊÍd}í5Ix`Æ\97½}ìîN3;\bâg[\8f\17\8eûÄ\f[C-BGæÍ\87\9c½\85bjÁ       Uë|_øV\7f\9enÙY\98\7f\15YB\e\ 4m¸+h\95\16\a\8a<\ 6¥d<}¿\12ÔÁ²dÿ¹\1fÎn\ f  \90,\85ß\82\8f\8dÇÎâw 0\ fR\93L\18L\7f\13\17j¯¡\Ø\ 6\ 6p\9f\1d5ºõå<SîÎa\18L\18\8dä\ 5oR/{Qòpy]D\9aÜ\ f\95\xjzÇÝkóm\98.\82\80Øcà Y÷<ÍMæáÖdüìÏ!\14\10ß2¤\81\17Ø\ 2¹a\8c\1d\82Ñ\18èrVäÈö¿çt\9e\8eCØ<\16Tt\94\v\ 1H¦y3Þm_\ 1\98Ö»Ýi\ex÷ðÕèUo\19Ù7\19 ðÞú\8d>L\1aϦøKô~$X¯@É©§ÚFÅ\9ds\ e0Ão\ 5Âî(
+uôL\8c>\92r\1cµ©l\91¶x\91Q\89\12X\Q8\ f\ 2\94×2ÂH\96½îh¬Äm\1e·õô\84!@L1ó>\19\14Q\8e[\10ý`öÀ×\rr\98å\80\9eÎ6\a<±¸¶\98\1fl/èáC£NûÄ>\8doQ\8d!\9f\1d¥á½=\e\18%¬pñh\aõxx\19òÛ\ 5ùt)åЬ.\12*DG\8f)\990\ 3Úö3ÌA¨?òø5®ß 
+ØT\9aø\84rTq\86\98\9c£¹\f ép( ãû&GmRï8ÉoGû¥\8fÉ.$\81ÿg\98MÐ-vî\r>ùi\1c)e\ f\ 4×¾ö
+ìß\1aW\80\b¦\ 6\95\86¡Á²G*M\91{H\98ÀÎþßsÿ¬ïÍM¸;?î\7få\9d·ÇÓ\11\94Ô\1a4r\94v\85ùjoANoK\81ÔZ½\7f aôÄ1^×ÿLU¾?\98\8e¯QåáÝ\ 2¾Q`óÉaÀê*r$±\8aÇ\98\a:7öñ\80¸x(\9d1\viÆçÓ\1c¢\90b²¤çQ0ÜKù\97%C&è\9e¹à\81\86%Ô@V\ 3gu[\94)\a\14­ó¹ÝËz\8c±Øckn)\0ï
+\13óü8e\94\10\96Åp\8ang;|gëNPÈ\96SeÆ\9c\8f\1c\86\8cCS_\90\178\99Lf|­v\1fµ\1få\9f3\14\834þÔn«Ço\\r\90\fÖ@å    \99\1dRñ,\ e\85\v='\9c\9dÐ9¥9Û\8b\0\0ðRÑJK'\9b\10|×$ó(|Ñn\fX\95úâ0!ÏmU=
+\9e\aÁ\8aâí\1eé?Ä\ f»J\9ct¿¥ÀYl(EÝ4\15\96ee¸\84\9dÒÏÐ\8dɹH¯\8cÁ'Â\14àÐ<@\1d\97\9fª²\8a\b\94ö½õÀ\ 4}±ÄG:\8d±\f­p+IÊ% z/Ë.l\9bÓÏ\98§¦¢â\11´L\86\0!Ü'ç=\81\7fî-í\ fº+\83(Ø)uY$,tNª¶\91°\ 3O\eΧÊò²È\96W:\ eþøL½\12¹¸ö\171ä2´Ë±ãÒZ\18Ú\17ÊI2ºyp^«¦+C\86\87e\7fs6`¦\8b\18\8f\ë^·êu¢\8cj'Ãj£\9d5%ÌÀÿ+\f\88\1c*/ÀÔO\92\14_\1fä»Üíã\89'ÑÛ>N{\9e
+\91k\ 5\14rèf5Ô{'E\13GTsÙͽiÀ4SÖ\9f\ 1cÓw\ e\8a\1e\84¥©\9eÊ{,QC\19\afÑxUG\1ed­¥52g±\9a¯zÓã$: ÿú-Põ±¨ ½\9aàDícPáJ¤;
+\98\16\18´j(\ 1GVÁìׯ½ãñúÚ|kïá%e&\9ckA\19ê©¢EãÚÒS\15\8ala\84Ó\9bL]\ 2\19\r Ëý\98I¡T\9f\98ÖV(dxéûfÒÔ½à·\93\9dÄË\90éù÷-kEÉ¢ýÄ&"¤nH¹79V(k\e\93/ÓÂäºUí.\955\19Ò®ÿð¦ÌFSI\12¾Þ¦Ù\91>L\17C\1c*\16>G°t\83\85\ 4ÿ\86¤oá[À\13ªÌ\80\1aéoÑ_0^\a~=±Ú)cd7æKö\ 6\8d(\1fRw\14*ñêF\13j\8c\9ds<\9bóNRÀ\96O'Ì.Èm\ 1A;¡oQ\D\fÆØð\1c\96~s\e1/\ 3²\16¾[ófõ
+±á-úw\90\93ê[1½¹SZÖ©í\10\88e\96Ùnñ\88ëz¶§}\ 2)åþ3ð\9b\9e\1d¯\84ÁG~Ía\84'\ 6\8dïÃù0IöÔMH\8c\99\14,R°¥X¡ä+\0fTç~Þ£XXU^-\90wåtnuFmÎÁ\87$ÿ\0CµúÒ½\8eH¿¾\ 2o\13´\16\1d\8bØ\95aÏ®{Jxþ\9f\b÷(ÍÂ;ª\8b\12\80x\81\11ü\8c«\80s­DÂhtέ\b\b\98\ 5\92e~\97Â\1d­       ;ØÇ\1d5\9aÙ\84c\9dn2Þ7\95\83G\1aò¾\10è\1cÂÆ¡hs¬£Q.\9cF\ 5\82\14!QÜÕç«coeàqçÙà\96Ò®(sZ'\90»20£°ò,\8f½Ô\99
+§01]ÎÅoQÏ\98T©Ò>ìë~$\89r\93R'D=\82\0X[ø\1cê\9fò\88~\aöáÙ\8bë®d\rO\95\ 6§\86ï\93ÒB Ä«¹\8b\8d\14\19Ù\b\16ú(=ë9\a÷z*\8açíh\9c\bH\81\93³û\80¨ù\13éÀ\10\96m\8b`XÅÒTL\85î\1f}Ãß_Ý\ecáÁ´+íN\12\ 3U¨7q\1a\82_êTdRdo\ 5híDº|qµ'\81´Í¤Zo"s.\96U#üÕ8i\8e`\88³n\8f²D\ 3JdXó8 sÝÕY\f'),,\¶\98\80\ 2Iî­-f ô\19²\ 4\1d\8d30HßÊb\8bÿ\12b\8bÅ´Å\11ÖùùÝcùu\1cð [Ã\18æ"]¨\9ct ÇJÁ3¢Þjï5ÜÍ}Ká½´\vZvfD\9d§Âé4NLB7\\12\89¯\ 4~\\8b8öË
\8bÉß\1e¸\81\95\a\85r`vÃ\19ý\0\1c\18m¿$Xý\9cùÍ`íÁ\1f@MB(¦\ü\94\9cú\8d5\ eÖRL¦\91\179P\10H).DÓkg\8b\v|ËäM½U\fb\81i\11\85\ eù+É\16'ÏähÔ2\8eðK\õ]â$o)\87xJAÛ4\154Òju\1e\17\1eµ\19(ÚT6µLPÚ·S±)¸¬«ZuĦ٠   ­½ã5ó\16¾ìòçAàL º\93Q\14\8b¥LÂ\8bâÿZ\19\83\13
+Mi\94[\vÁ\14¢¿\94\18Ó\ 1F\99£à\1d\12Ù¯\91Hº5ü?Çî[\r\80d¿w\ 4ìeÌLC¡\16\82ë\15âBbid0[% íY\9b+±Û\ 5m\f1DN,ÄÑ:\95\16ëxKßàÆ\9b½\9dªÎsDêW¸A\8d1¡-\95©Yò¤Õ\ ef,7BÉ\bûã5þ\8c|jùä)ÛÙ\8c\10I9©\90ÔÄÇ\84rb"k\1fçj\89\9fX\9b "Pïµ<DNÌ\97\894ªsUéTI\17Ù\92.S^A¤\8e¦};ò\1a\90AºdPÿ\99\10\81±Û\eý³^\a«\18qpÇÖu#ÚÝrÇ=LÖ\89y,y\8eSfÏikª\17\1d\1c\8d\f)\19\87Y¦D)j"xAwÎ)æ\v"%|\19\16F\1au\90\903ìβ\19ä+ÛWÑL é\87\ 2¸[\9b\ 5¥Û\ 1ii=²\8aÏsq@O¾¬sݶÉí\ f\19}ÊõÏ;1\ 3±\1dï~\14\84\86w\15Æ£!läÇ\83xSB^n§*n²ÓR¿Kà\13\92g¸R       ¬ý©4è5\ 1\98O\9ae\89òÚåXvÀ\9fÞS\15ªl\12Wøñ\91,\ 3s!¹&fÜÆ\18\8e\80]$»6\vü\11\b­\11b"r|Cj\99
+0ítd   Ô\83Ë\16\1d\1e\83.!Ü\94\15\b]rgø\92y\18ãtíÞN®ÿµ\ 6 @ÊZ[ó¥§ï\0x|î\8a\fVÐ=áÛ®%toËÝIí\1eÔÜ#\8f\17ê\9e
+\ 1¹øhüå\1c¡jÅù*M|/*­\1dÔ\9c\91`\90\1eö\ 6ÚÐÒñ\e\f\rã¢D\ eïÁf\eó"ó\ fæB÷Í\vâýÌoßÏáo@\82\89$\97´u\16'x0>¶\ 5à\98m$\7f¡\13\91[¢aÛæ¬Fé\17\9d(þ] ï¥ <¶MÎ\ 6{ PV»L)\17D<\90\b·\b8ÄåÅÚ\1a\ eNÆóMRL"\0þ\1d\1f}\v\9d»û\82'»¹#÷\1cÍäí£z\8föà\9d!\99À\ 4 å\ 3\99Û\98!ÑZçx\12\1c\8b¤å³\17\11ÄD\91gx\ 6E)/IÅ\94\97sêqe%×c£UÖÐÛJEð\94ö\99¾,ö\80&®Á\1aN6\91\8b©S\8b:\16¬¯Cñ_-Mh^\19ôï_B¥¦}\v7>D    ÆnÐè%ðwç¹ÅòÍ»íý·\86\v\86Ê^-\82\97\ 1®§~W§Û.\b\1fX\ eê\94©\14¨æ\88\8cFGì¸\ 4\e£{Û\v2µÉÿ\90\ 5Ý\1fü\81?\7fÖ\f|Îì|ç¹V\81\91®êg«·åþñ¸\ 6\95¦Jt\81¿hÿÉ\16\17Þcf(Ä\88\16\89û1Iû'\19\18³"öîs¡ \8cnä(®;É\95\e¼u2¤&»\ e\ 1ø\9b_¿\8d\87  GÙÛDïÉÚRF{A¿\17\90\91ø\ 6à\1eÁømñ:÷s\93Þ&ù\13ÉôèàðG\aFùÄõ\9a\11 \98#4ADÜÒ\b\95\81\13\9c!\96~x÷Ûk\ 2ß\b\97Øê¤\8b\bô"÷ êëb\82Å(ä3
+\ 2+þXIú[©ÏÁг
+f\10ßf!\1aL²¦\9e\91\ 1\80sߢ_\9e\84OVÛ\99ß\9e\1eEb\9e«\15òpÑ\10\7fÉêa$¼\ 6\8c?OÑé\f\f÷°\84\91ó<î\84Q3\94Öï\8b§\ 5h
+]\935=3¡èi?Ð\84-ß®AÓJåkad#u2\88cÄç\1e\10tzÐ_×Jg÷¡ãuT\93\16\11L&\ûÔ\7fTf"«Zíñ²\8cÚwØú`3¢ÕMíµ§J}åV\83\ 3¨ÎE/\1d[þa3.\18\a\92)\ 1Oz\10\80Ft,é³ÂÞ\9eæ\8f|\ 6\v6\8dü:»ø\ 2Ãk\81²\15\ 6-¹¿\87¬\18-\99N<\97ßC\80¼s½oO.1\vl\14­\e\8bªx\ 6ÒV\85Á@Ñ<\1eQ\81åóiñ;Âì #\93vµ.õó\8e¶~\92ì\ 6\ eÏf«\14\ 2Ñ\88l\83Á^ÐðÐÄÏ#ú      v\ 5óûs¾îÑo\184ïPÐ!÷\ 5â^2\1f\ 6\e¸§l\ɧ­\f'm\87Ð\14ǹ$ÌZ}½¸w\90;æ,\8e£y;ò\9eÔxï'w\10.\ f'uíéû\813;\86«Ú\ 6áÙ$h670l"æ\8aLìÉÞ\7f\9c0\92\\83\95uý¹õ²iDí\9aäá¡0Ã\14}\10ë<­û\11>\ e\ 3\94\ fßß\82*\83¬d;\8fÍ*zÞð\ e}ÐÒ¸ÁPH3Ø\9bA§tʺÆõ\1eÉ\91\r[×®wmü\10\ e\871ò¦e¶/.qI \8eS\7f\89úÞ\80°\97nQÇ£kñ®ûÐ=Ù\82z\98é\aÍý\7f\9f\ 6´\9fæ^ëê\97MFý\97,\88ر^kJ:h\06\16h\8a?ä7èHQZü\1a×i§­ýzçËH\915\9eX\83«5\¾;¼\1dFo¤]âqã\13\ 2áýD\a]²oà\8eÚ7º\96Y Ë~L³!\93\8eË=\ f<Ùg\91\96ä2Ê*²e\9dæY\86Y¦þ̳¢\9a\15\8fy\f¿MJ7KÚèö\96h\84G8\863Îe\8b¨\971\96=ÙDý\ 1ÔRdÉ\8aW\9f"\16\ 5ñ(I\1eB«4Ö\f\16\1dÇÍ\ 2±\rÏÖV|=\85\9c|>¸ÔÙ\9d\ 6½s\18S|q­\8f\16á0Q@\88w\9f8\90ª(Í<ªÜ\16üÁÏ*µãÿÝÃ\18\9fôê«vb\90ôý[\87Î\ f\aÈ\9bÓìϧã×Ù\96G\92\8c\8dW\97\8e\e\1c\8e¼\94:9Â\ fd6³³\1a<2"h\87à\1d\7f\a{\15ùnrþJ\8ek\ 5Ý)\aCi\e\ eT\1cè\9fÞÓ\87\ 5e\12õ»Ë|h­î\ 6YpT¶«³9Ã&ÒHò\15.U­wïTN9\14\7fª§¾IßÚ{öC8\94ÖY\9c\95\8aÚjÜS|Í\8ckÕ®I\80I=\v\943]å°°o\13]\8aw8ù\96\10·,ÂìþÒÝe²\97î½yFN$R»\íiý}\13§\r \^\8dÍ\ 4\9cHÐ?ݺV¶%æ\89Ô+·U\18Å-H*´xdG¢Iâø\bD\10B§XÀøè\9eB\93ê\8aÁ\ 1B{þzX/t×'|®ñ\v\1d\85Yoá\11*[ðÈ1µ ¬"5ûõ\ 2Ä([ÎS\ e®áä¨Âð5\84á¾\96ê×É{ãÄ       !\ 2\ f0ROkÒoÃ\ 1   Äâ\98Göò½\96Ä\95¦\9cg\ 2úTæß8m\91û@ªôúíʵê÷R\1c\1d³4í5¤»ó;¦\1e\17ó}¿{Â\89¦Zï÷<y'ß+-±Ü\90 \ en5¹,\81c)0YG\87ð\7fjwpTL\11@¶7¯D\16\9f\82÷ÿ\ 6\89\829@\80qq\0[8ðüâËO\1e\ eî\8bm³2\99\1cÁ\10PÁX¢2³oíâK@ä»\15\93\92P9»h\19îݲéÙ\90Ó}\97O\ 1¼c\81\85\11\89ߺª®.\ fØRçïûB\b\14WV] ÙÆP\ 6ô\ 4Û\7f4îèZ¿1&Nï½\ 2ú\87\ 3Ã\90¥§\13¨ÅU;¸ôùVp9WªØSÖÀ\1eEuQ²\88\ 1úÎêpÅ\93_Ù­Ã\ 6\8fÕR\16À.þH%/\ 5\88Cæ7§æÊ3\8aa\eÔ\ 2¼\11Ôê'>»\9d\ïè\1d»x/\86\18\9dÁ½eæº\9b_KM[oo\99ù^\96%Q¥æ(7\a 9¼Àß\18ûD[èAËw»\82\9a^$Ëç\1d\1d\16äyPF÷CÕ\10\10\96$\90á\10Hzã¾\99\81"<¨\96¡VõBçY\ 3â\e\9akK\906?¬eÿqãÆxB\83\11Å$^ZȦ\1eLaôß|aô\1fü\8c?È~\10RF\86hÞg\81ä.\8bª_Âú\vu\1f    nÏ)É\8c(ÜÙôÊÁk\ 2Üϱ1\82ÜüÅ\10«æßî\8c\10ï:\91\10\1fx\ 6§ÝÓ\87\13Ûà\17f§Å\12¥N\13£vkpû.9Wí`Ú5\7ftQÆ\16Iý½\10\ 6D:Úºs \814\89\9c;í²\1dÏ\995\11\9a't\88\fl¿;lqFµ\8aà\ 3Èx[n<\ĸ\b\98ÉÝVìtÎ1Q.c\ eí\ 5=H\13n¿­ºBÔÃîÿ\11O\87ײÿ(\97ªèN..\r²7§\14УÆ<²S\84û¥\8b6\e\9aM»VÒ\11â8)F\91äîá½?´[¨\82\1e\1fбNåò»Á\83k\0r\1aU(\ej6ÅþßÙ\ f¯`^T"\954FßÔ9\97@ù;Uq¢z¿Ýè\94õxÏD\84)q\80ÜÔ%\92(\8c¢½V¾!y¨\91.\90TpfT+`Ù=\8b¢µ\ 2î¸ó\8a×ÍU¶\1e(9ù&2\86\9d­\7fÕ¢qmVÔdè©RKwUÜLwb¤!T_'aaÈ\98\8dªlÄÁÏI¸Ã÷Fæü.\e\86Ü\8abÛÏd~,×\80²b¼±Ë¸¤)m¹\r^~X\1fJ\8bKH\94\0,ÈÈg\ 1,\84.\16\91¬!O\16îZ(¶:Öx«i9zÇs\93\90:\84AïóùDð]w\94;ÞþA\84\17\1cÖÀ\98ãÉùÊ»§î\11'åÅåU\98Ý\f\ e\8e'|\9a\r\94q;²\93á\9fç\8d'ùÇ\ 3zíIMÿ\92~g8ýY\18Òz_¹\12z]\1d\10\eFV9@hÇÕnX\93ãÝÚ1'Á\ 4Oå®VQ¤õ\7fÊ\89<`r\80wnòvÍÓw\9bU\15é\ 6K\92T2I\18ÃR\9e\97VLÇ\8dÖ\91Ì\99ú\15v\80\9a\8b¬I+\85J\9f
+b)ì¤N\8aªé°
+\1e'\r÷èt\9c\90ºÙtA\13\ 1è\14\8cQ\9doËR\16
+e\10\ 3ñ\84\0ï\8a9èî\16BØJ¢q'Ý\134ZmJ\14ýÞÔðüÄå\16ë¤xóÍ_x\81ihóÓí6\96ÓÓùñ8\93«¦%"ë\f6Þ§_ÙÕ\11R2᯷´+\17è\ 6{ÄáÏ[¸)\7f¾COðå\9e\aßÌig\8c\aï«ð\18\vÑõ¤\17£\ 5À?M$ѽ@-W÷näºvg¾n³¹ÇÒXD\9c!êËtñ\ e\16=#¥¨f×ôüCuB\98\ 6\15,Éí·p7:Á\e[çõ¥æ\94¡mo\97  «T&":QV\82ä6eº­l\v3&       ;O¹Fiþ\14\90ûi Àdzý\8bzsÚ­\13\8bHP\14'\18-\9a%?¥â\88\962<zB¸M}\13\86p%\1f2ì£}ïZhè\9cHàßÄ:CîáHõ*°pÓdS4¿¼\84"f\97vß5#\83¢x\86«ñ¡\17'Ô¢#X\8aiÛËû\854íé½FQ'\12ùÓä\9f\97Do\1fQ8ÁÎ\1d«í\ e±²\86n±Ò\9b\89`ü?ýºÏ­\ fòu\96\9e\1fÿ\9dd[À2G\13\ 3\83÷"sã\19#\18\84±6©?l¯yMuëÚÎzD\89¦Ã\87K\18Ï\81ÝZaÿ\f¡ñê/øÓøí±\19³ÜêʹÔãCt\10\ eäçÄ\9eméò,\10=_\9b\f@\13þÑxÏÒ,·\9a¸ÏØ\9ar}g\9b\1d§\19nøý9sä\96\92t\ 2\13\16wÐÒNôµgø2 \1d·û>ì¥\f(L1#^
+q9\ eÆæ°\v¹\13â
+âq\13ðZÖ\81Ù\11\19â>zæp^ã%Ï)\avmê:Á\94®8\aÊà¦Çu×\98ýE\97qq=T=\17¬\1d\9dÇa \ f\1a:\96¾på\ 1=\98F"\o\99\94Îý\91Ìë\85[e\89\ 2×Ò$³É#<wtõ2\9e?ØYtªå·\88¸ñmL\15·m+\18?\9aÜÃ\81²\89qB.7\969Y\ 4â\8desöêBð2eæÙ&\13ì?)z\9aµû\v\13J\1f\89y,~´<^7\87\17PI\9fhüÂ\9eïÞó\ e!r©¾\99\14êæ\eÔi¢z·a\14oõÂ;Î-|Aã-\1e ¯,½ú\15?vÔC*\9dð\87Ã\88þ\82ù\91\ 5\1fà\86\ 4üy\1cÿ\85úʽ\84\v«â_\1aõ~aÆüu\14E}ä,Þ\7f\86VB·YÎu\80k ÞÓ(\8eçSc\88\98.p+co\8d{=\97ÞÖì¼²k\7f_\97jÖÀ¢!ÖsÇa«\9bSèP¶/0mO-²>öÌkѼL*\1a7Åõ¥£Ul¹\r\1a \96v¿»Ë6\8d7jѵ_½-\e¢6\8dÁ_?úI£\15\f\ fû£ÔÁ*°Û\19õ\96#çÉйÜ7§Ëí\ 5ìG\84ù8\94ê\9a"\86\99\87ñÄ;¥a\ 5\9a·\97¨® ý\97wEµ´f±\8e\9e<?¯v\86\12­¢\1aèsó\1a­¡Õvû!Ð|M$©(Õv\91:×ɲ$\ 4Ø@f]\16+L¶æ¶E\89\1aÙ\ 3\83\93y®Øø*[4GÁ\12©\1fNÿb\8f¦öEuò>m¨\13²-K¿J"\1frYUâÛÈÙ\ f(Sò\fQôoN7\³\87\1d!&ß\98.×8ì^\1f\97t%Ó&\15®T\95¦\14üqî¢\9að)ú»8±j\9aø\7fR'LK\8að\10â¶èu\96\ 4\eRKn\92C\8c}\e\10ã\1aTâ7Ùíp\1cÁâ\r\91\98òÓ\88àx\86*´'Ê¥\8c;\ 1¦çUUçÚÊ\ 4Ë\91÷ø\16MIM  ©Ñd\18óo\85ZxÛ¡\88NFí\±\8a\13>]±\10u\9b\8cD\1dkçOÄ¿\b'qÙº\8aÞ\r¦v%åT䫹ʯ\ 4¨¶íùqä\9b\ 1\ 2ö\eÔ}\¸\90¶´÷¼\1f\v9\10­CËëy\9bäl\8c\80r{ÀýUì\ 5.JVO*¶ã}Ð\8cSÊ­pÿ÷n\88\8d\1f\8cz\v\9f\1dÏg\16)ïl\16\a ·²(ûZöû\ 2\17ÖñT\17\83%kø\8a\ 3\1d   â¦AbþüõÎôt\90ú\9c=UÎ\9b|.%{ëÐ8ymh(ÎÝ\99\r¹ïÎ$±/Iè;e7&i'\90\11ý\8cDb\85]\f8\9b \e<k¾Ø'\15\ 3\9bæ¶êA\9eþ\e\ 2qÑ|Z¢\ e\19w2Z=\1c4çÚ\12ÿmz$b\0±DJÔ\fïÆ£0<\b\9a¶UíÍ\7fOÚ;:tmö\8d\ 1VéQâ&¯¼Û\ 5è\13²Éþ     &ù¦ÝöÀuéë\113\82Ô\17<Mgqæ:ÞZpÏ<«_-ë/\9aûcÐ\ fo\e¦ðþV\85Å\ 5ÍýÓ:XR4\r\81\92Ì?1\ 1\ 5F\10\v»³i9¥6Ie%)      @+h\0"\15Ajf\88SJDu\85\85<\81*\\80c\ 2¨åjm\85á   \ 2\8bE\16Úë,g«\95v\ 5\1dÎxQÊ*å@ \b\14\ 2\94P\0\ 4
+\0\b*/\91\80\80®È(\93÷Ï¿\7f~òJ\0\8a÷níÝ·öï{ß\7fǨ\av\96I$\929#[z\92øÕ\aÌ\16²ÈûD< µTë\91±¾÷´\1d¼\92:Ô?\99Z~\92]ý©ô*í\17*2µ)\9b\1a\92\\8cHUÃ[àh@ñoHP¼Nü©¹)P\8a\85\bò}d0\10ò¡îÅ\b\17Æ
+I¢R\8a\aâ]n\9cTø'7j4alLyý©j}2ª3M\90\89\aÑ7\8etD¨FûÝ\14\1c¶ÿ\8b\80^¸¬½\7fǦ@"^÷Ý\8e:\b¡ç\89ÔÇÃ\b\1fCkc)À+\96pú¸\99\16Xß=n1?¸_Få¦PlÇû\98\88ö²Öì\f<¬§Ù1©\90ã!A\9b§\13\92\135Á¢BD\91ô\84]ä^»\96v0Úü\84\13N=åÅO\b¾\18\97\15;Røv\ e*t%ðɸ©®*oA· +·\e~F\a\ 2\ 4«°\18¹f¸\82Ôó+®dÔ\ 2\ 3a×±UW\10î§ópy¹S\ f*P\7fvè'ÑÛKÎ;Ì(\s_ýz3Ïl©¢¨\9eèqo¹àÆ\8d\ f\15fxå¬þù\ 6%ñh^\v\18£\ 3\8aK¥Þ{.^i{\ 6bb\8c\ 2_\12&Q\>\87r¸ï\fyoÅ\15\ 3ÿfö\1e\10e\95\97*\96|Ôö\ 5¥\1f^Hú\90NÛk¨\9fµ¡ð\1f\90S\86ÆGÀ6\8b´\17
+¾Õ\9a¼÷\15PþAT\87O}÷®ÝIí\U\0Þæ\96£\8fl\7fq¥u©\7f2\8f\94³ûS¸O6²jx×\15ò\a\9a\15\18ë\aòsæ«IDÇ^i{äÈ£!â:Ýðógø#1?d\19\97D{ÊnA\10n>¸Ñ¬¤h5\85?*#²Ûßß²în\1fþWõ+ïé\a¥W\89ñ¦\9e!Jñ)åûT\8cM\86\8bÐß\9eFú< B\15ÈhÖ\80µ!\b}û3ä\90úÿvZÛ©¿þÝê\1d\ 2QÞþÛ\81¿nE1<!ùH\12\85\1cýº\91\14\82Ô6¹mçß1ª;HïÞs¥ \ eJ-3¢        Q6\1a^9\rùåø\04\92ü[èêyä\0ì>\16Æ¢%\99ÅHà]\88§/:Õ|(Ns8\94q:á\ 4\9c°~åÛ«\ 4)U\ 6ô)U\81dA\9bymè\17ðxïDJßOÞ\vÝ*â§Í"ºíc²Ö
+ð¿HÛûûÈþ?\80¯\1f,~;È.ÅÂK§&Y¬$%/;Óí\17\89®wx \1cÐ3 \12\15\8dq¦{` (_\7fØ\12\ 1\83¼5Í>ÕR]\97]hem;ZÄê+\ 3\ 4ãè3\18-ØÔàav\ 4\ 5\7fúQóf\84 ò­½\8eìûÍSÞ\10\8b/À('\1c\9dØÓ\17]B t@ê
+xÂ\1e\95?þ°\96"g8\ 5\ 5xÌûªG¨ýÚ]\9aé\19*úôyW\90\ f:\f­ä\97\1dyEîÎßÿÝ\eìÑÒsÙ¤$µ$p\15\ fþÝØ\83LÙÅN\1aC\98S00Î4\13\1eæí=Ä\b¯ÒQ\141f5gô\ 3\9b\ 3mðÒÌò{RïÛ\9bÆû¨ñwóIÕ¡\86´'\bª      µÍ¡hR¹½Øs\85."Z\10A\92ݧ\15TèÇ`Ñ¿j\8a\14
+h\9e.þ;~ÍI°5\9cU@¼\8b^\86úê\10\81\1f÷±Òn\11    6Q\84\9b\8aÀÿÚM©Û\1d,\1fs"MóýR/aº\8e\91\Uv\85y\r·þ\e¥,ÈÅã:\9c\8cÂEw\r\8aÿV\95Y\94Bâ«\191\1eY@:Ú#uV\9aNåÁ\90\89\8f\88nF\88\82   eÀe©\a9}q2ãe¹aÛ1\19¹¸¸\93[\14Ñ\9c\17w\85*1ºA X«NßS¹bY¿r\86Óû¦r*h\ 6ÒoG­Õ\9fm3ç2¹Û\16²¥íî*{\ 2ø\\ eæöG­4/ËãílÓ\7fQ\11À\8d¿º5°îTç\a¬Éüã±\8a0bÇ\84\7fmT\9b\89«\87wÜF\8d\14«Rw\82\1c3¢Ë§æU[Í\89v\11>~zÿ?ç%B(e\16f\87'ds&UÏú\97\19ö¾5a9½4@¦JöüY.NSqý'
+\8eþQûÛ\ 4c#\9b\7f&ÄiÒ\ 6\83«b-«\8c\ e±]`è\93b<·`è1ÁÝ\90\88²î\8ªÓ&\19±I$\8c¦?öXÌÁ»wܽ±;Ï\88á\0\96Wîÿ\99\8dôû\83¡PLxV%<¼ý\ f¨ñÖ\83ßrÇWØ' ÏW1\8bÜ\14üD]Áj\82\1e\13&([\ 3S´Óì p\8f¿\87\9fj        ÂË\8bmií*\86A
+I^céù(\1f\10÷\98!Z£NØ\12ð\80\ 5ÿ·`gºV+åõ\96Y@\83RÀC    ö*x±\rÂÂ϶y\ f     Éy\ e\87ë\87B\87n?VôYf7\9bèGc+Ít\8a¿,q¢}*±²¥\99jß\Û\18\14Û~vÏ\\8f¬ªoÈë\9d¡\r\fUÇr¡\fü;uQ¶²\876zV\99\a
+\98\10Ï­~Z\1f],ÍôÿM\ 2«\971m\13ëã\97\8fì\938\ eÅ÷        \88]\1e \15Çmd
+ë;¬iWEhJ(Ë×IÕõ\8dÍ\13õ\92ÿì\89·\9eäz6ê_rì·\82vyL\1fM\ 33kð\94\80\90\8aõø\12âo¥¢a\8ai\8aÅö1Vw\82OBe6ÂÕc§\17¯Ø\8e×\8cµ\e\rÓ®±\9d\b-ÓÓÿ²Ü\14ÃÃ\7f\1c[{wêãzñÛ'\156½Ú\ fÈyYH\9d\17\10û4\7f÷
+,f[nfÓc\8dw\93\97*%\1c¨¢Q\99%+ÅC\ 5¼\17È\9dÿ¹T\1d\1eÊ×\ 2Ø\99£\14Ñ0¢o8)\87]>d\ fû\14ùM\9fâ\ 6©ÌÐz®Ö\9d\89¨¶ì{\1dùd\9aÛ}ï¸S\8cÛqþtZÀÂw\8d\13ÿí\80w4ëÚ\81Ä\1fÉc¢hDÃðD\8dδb\þÍ\r)\93µ&o
+\ 3W\90©íE\94eËwÜ\82Í»¿z%ß\82r\13\aßA÷\1d\9b\1fiùêÖ0ãºË\ 5;\86¿\89¦7­M±íðA\a(gYl$}³\12\8fâÉ\7fͦ\1dµø¹ñ\93\vÀë_\948Øx6BgæYÍ%$     G/¦ò0?;\rt\86ß\8dµ\r¿Y´\fd\88Y\8f§ÿL¾S¢}?FØ\ 4ë\1d»g\95\9caC       çQè*æ3ÛC8ë):°\bråýxï³ÄØîK\®þ\1eÔ¨Ê\82®á4´ås×Z¼\8c¢Î°³Y5\957³FØ=\ 1mC\9a¤\1e\19\94\9füs¯ýð\97vF¢ÅH5_¼Ò\83\854}F(ó¨z\b }\8b1Ò;ÓÙ»\14\8bÌ\9cÇ\aС\8ap\81ýȦæE0\1f"\ 1¯\9e@?\88DaÌ{ü¸{Ç$\8b\13¿A)v÷ ñ\ fÒxNGq°\15#°j²\85\97iqS\85\94L,.Ùª~\18\96g
\ 4?\97i\14yºm \7föJÄ\9fýôv\85\0gØÚ&\157!ÅOjU\9drm\9f#>M³\88û\92Ãs¦RU¾Ï±\0r¦òZp^ÃKÑÏàï\ 6\1dq>c\ 4[·/ðta\87o\1f1
+¬µÒ+Ôí
+_Ç\ 6\90ðþ\134÷üNZÊ\7f\98ö2¤\bÉ\ eÿû\8c\b\84 !Òøù\8b¦(\83\8d\7fþ\17\8aÏ\ 2F5F¢M\8ck\93ÙHƸÅza#\9e¯_\9bõ\82×¾L&°À\e²a\9fò\85¬\13e\fþG·F&¢üreÕç'³æ&\eá&\1fÀI9\b=ì.¶ðt\bf\12\95\1c<\ 4¸\91V\8e\92ú5#\87°°w\85#\8a¢µ¢ºÙv\11â\9d})júIÕ#@\83*»¢\9d7Τs´o\95Ù\1aL\9eJL½sÒeË\11²1½
\f\ 5\10ú\8eü\1eêÇZ\8c8!Ö\ 4B\1a\9cî\1aÌ\97\9dõA·Ø\82'd\vZ,Í{\8a\bâd\843¤·æ÷­C\f\97ítqÆWt,\9d¿dT?\a\158bvVέS6-\ fòñÔððgX0\12á\88À¬Z\12\9e\a
+¬Ï     Â±=ç¯Ø\93¡\10/fÞ`\19¯þÏPèO\fiw\95X¾Ke\1c\8b\8dõ\1c       ìºGÕÃ\95S¯NJwªJãj¿\8ew3¬¦Ã\9b\ 5ÃNú
+¥b0\8e_Bü\8e]àdùÕ\80q+'gzÓQ\83\86ù´`:rÚ\19\9f\ e¬2\93N;ø¿TxñR¢\13\95\ 4\95µx\8e=\e­\86RíFëo\94¹\84\84]g=\95Ûk\80\1fò'üõ1=4´øï½¬\ 3\9c$9;s×Zw\1dù\88a\9d¸£t\0L%\ 6r\9c\87zÓÛ\8fLoÁ¹
\rº|Y\89TüÇNËØ\1d®àº°§\9d\7fg\16\97Ó«\f¶Ú-çþ¼ÉÊå¡XE\95?ø¶\1d\8c,u\v\0¥\93ù\179;X\ eÁº!¬#$àÇh\ 4عæ\83ä\96¾\9fÀ9\81n\89ñr\94%¦sOt­á:ö¤\9f\13ÁúcÒø¹q\b\13\13Ä?ÖNÀ]¶¿áØ\vÉ;\ 1w7`.\92\1d\80\90ø\82ðkPÏ,¾×\99#\0ò\1d3H\96ð$ñ\vÉHXÝʦÉm\95@E{\vVùÔL¦F;Eïìõá¢÷çÿ\84«ó\8f+>!ÛÁ·rò³è\1fü\81QÐÐÚÅAði\82s\1e\931]\93ÐE»½\87MÇ|Å7ól¦¥`k8Êò
+\94f-ùÔ\8a\8f
\rBD-<¶ºÊ\87k\9aCÀPé¾u=Ô4Éý\98Ð\16\99A¢l\12°g\81é\94l\84\ 3!kîm\10ãÎG»\1d\8a\86¡)u\1aáWhÖ?¡9~Ä"\ 1\83L\13\9f\91ËÊÍø\80\8eò³\8a ë\15æØ\9a\0Ü\94\10m\1e3ã=u³Éz\91n«C\183\1e¿8´U\88\93íó(qÅCbTC\16þo¶&´]·$­ÒlÍÊ$¿|¾«>\ 3Þe.²ùâºb\14Á\84±¸©a
+d\11\9dñ*öd÷¢\1f\1dôý¢\8e8\ 3'Ò{ïÞõ\18\85\94ÝRM\115{´À\ 2\86µ\99ä:\ f\9d\89Sü°\86n@\7fÊÓO\1cÁ\13)oú\ 5\rÕL\a\89{ 4\8abÏí¨9\bë§¿î?Ý^¬õ\\17­þ\92\196Å¡o\95 \ 3\1e¤¤ß=­²\90    >Ô\95\eþ\12LÚ×\15\f;rþîr4M~\e\ fñ#7õkNV\8d\9cî°\1cÅØj\a\0­r³\91ù\ f3\8a\7f+_\1aÀõ¬à \91\16\98!'\8b BO\ e¬e#\95ö\80~¦ÓÚ8¶>ªuY/:ã@µÕhG\ 1\ 1ÏuÜ\83¹ ÓÙ@?Cí¡ÿ¾©\94s\ 5â}Ò\80\8e\97Þål \89Wîä§WäØ~
+.¡P6 QY?éw'ý:& ICkØëy°4¢v\ 4ý\17\8c«Ñ\ 4 \ eŬ²\7f\16§Ð8
+Wmo2\ 2\97TFíõ\88&\82\ 2r`\1eÈ\80ËÏ\80À -^Uê\9aCû 4\u\87\ 1£ûÀbý\12 1\1c\8býn°MpÔü±L(÷¯H7Ó̦\eçkÓPÀ\13ßÅØ\1c\9d\r?&\¶zÁ\99QÂÖÿ¯\1dµT8<Û\92\85_ËÓj-&9É»Ìâª*j3\ 5vFëë):µü\ç>\ 4ç{\9c8\9bâ-£\9cUÆ'\19\9fÛ&á\13­á&Wö`ó'\1cC\1aÉ\ få)C2Ê\18°Öþ\86D2Ü\1e°±?»\N\ 5\90\98¦\85\8d\9f°è-\8b\8e     ÔTP¾\9aî\87\ 2»¢Î\91A>!ðW\8fvgãCÈÚ}Á\18Q+w\ 1Éì²\1cíß\ 3ENò¥³e\ e\a¥dÄ\9c\1eSÑ7\ 1\10öÉIÃ\8d]\aÄÔ\97`ÂícjÎ:\1d\ 2\87Ìu©s`\83f5&@õܦãÁÛ¥ÜÓ\ 2\84ì\ 6\ 4¬\ eæÈi\18\11`NûW!\16\16Â\aÆ(ñ\86
+Ía\v:XõDTvÂ\b Üj\8f°;2»éq\92îÈHéwÒÐÍ\83X\ 1U·Qä8Ð;ºÒ²w6gZ×Uðÿ¡&\91w­4\bæÞ´×/\7fQ2\19hVr¹f/¹\1d\1dÁ\9f6Y\8a©\8cÕGIH?˰ä|\11\88\1e!\83TÞlx\ 4)_ä)ç:R\8eñ·\8d\18\84f\8b£éÎ\ 1\bÍoj8W\10ç      ÕÍ\8d?Dä\9fy·A?¯\85Ç\9c\84qgS®ßTZ¬t 9 k$'áÔ\9fkËú¡)\18þÞ\90ûtzå)A\ 5kåïO\13ÅK\8få@\1aK¡èM\1aÂaj¦\8b\97\98ñcF\8b±K<^ÂØ\ 4­ûó|öxÃÍÇg\88§>9¤¸\8bcí¨À\82`ÀÓ\99-+7\rR\8e¡X·éÆ\8cÌ\ 2\14¤è%Ð\9aÑjS{\12Uܵ:\92\80â\ 4\85\14\88\8c r÷H\1c<\ 4F;yx\e\98\1eì?ÊÉHÒó\1f0òö+è\7fYà!M2¯\19\91^ÇÄ%Fd\15\18\13\12\93P\85Ñ|ÞÝ©\15®\144¯O¨\1aÈj\16\1dC|ö \95C¸Ô*\96¢\83ã÷ê
+Â[\81¿Pö\1c\1e÷Ô\1cª\92éÕ\96\ 1ò\93\8f4{Ñê\ 4®S\13Gt\ f¡v4\fu«a\ 6åûµ\ 4\ 3\8eØý\95¤äéE\fûݹ\1a\81\1f\bïÜêNØ÷Ô\f\1d§?\98ïtI}!üûàOê\9fÏ\87\1a¬þac×Ì\1fÏë\1f?\ 4þl\87\9f\97\90c¿?\9fd      ñÇóöA?\\7f7cçH\7f?4\eï\ fç\>nOçã\8f\9fN\93\1c\87óò\87·m?\9cø7Û%\a\8f\ f\93z/\9f \13ñOçé\ 2\7f\80þ\7f¬\13Ø\9fϵ\1f=qüë\87ÏN\7f>¼yþÁüï@\9fÏ?\9fò\ 4ù£ùÄÓ\808,þs\ 1\aÔ\9fÏø\8f\ e\98þmGÏ\1e\7f<Èóñ§ó\9e\ 6\9e\1cþ}\10ù¬\9f<|ú£ùþ1íÎ\9f͸ùÍÞ\8a
+\86\85\1f=\fÁ\ 2\85}9\10\83 1\1dåø0>iÂ'ðë\93ªë\90N\ fÍÙ\93ÓW%¸ã^õàØÔ\99>4\13ÜL\9cXÆkú&N°'¹\19?Á¦\1aÆï2yÐNxñÌ×Ü\ 6?vdóUÉë\95\ 1\ 4ûÀOÙ\99<\90'¹§Ï\ 6>\10É×AסèL\9f\ e<ûÙ\93ì\819ãc3[\88\ 3\90O\8f\1e{C'òÁ;d¢qçÅé\88\9e¬\13\9fp\9c­z {íL\9f         úc'|    ôfO\8a\ 4ó\86Om\ 4ÿèdô\0\9f§J?Ò\80!üÉï\0\9cò¨¡¬\98Aù#'\97\ 4òÆOã\ 3\1f\18dü}2µú<\93Þ\87¦\17¨é\90PéËJ¶Ä£ó\87çØi£¦ÿ\80\1eöÃ'õtÊÓ\1d<\16ºAçý])\13æ4É §\ 5Ç\ 4þù\93åÁ?E!_ý³'Ç\ 2\93ö\80ßõÌ\9e\90\13Ý\8c\9f§\1e\7f\92dîA<Ô\84\1fPd÷I\a¾»Ù\18\ 5¶dí´ÊÖã\14\16¼ cá\8c\9f\8b¥V\99D`µ§\ 6;£'±\ 4ç\82VÍu@Ç»\19>\9c\13µJ\9b\82yc'óÁ=©,o\ 6?Íx6\7f\82{ZT|\13îÌ\9e\98\13Û\12²à\9fRdà\1d\87)I £àßôo\ 4)\92ø~Ì\8d2\9bÙwïÎA§þ\92IZûÇ\0\ 1;{¶\92Ë\&î¤\9fÍ\16*\934c5\80r¶`)BWÙ¤¿×°Ô´ç\1d²Gcû\959\eÜh\85Ö\8aÄ.îðr1\8d\1cU
+ ×ó \14ïa~tåé\87dj\ 6$|á\e\10ðÿß\9c­A\a\93É·v%E»°3Ï%¯\aFÇm3Ä(ÈkôQûh\9dìqÊ\ 1a0Ô\a\80äå\81¬1©\ 6t§æôg)Yd$Y\15\1e]7\97Ç\1eþ\1f\80¸\v\88Z©ôi\19}à´\84Ïö
+mWú¯d\1f7\9f\ 3Ù,°Ä:g\81Dr\88Y\ fÊ/}º\r\ 3*\føÖ\9fµëF\9bë28IË\96¿Öî¬Âj\96o\12\8fÜA\f\10õ±\8c\87\ fJ\9ca äh\8bîA=\85%{ɼ0ìYS­e\1a\92é@åüÞ%ý®\82±\1fåè\8a³Ù¯_ô\1d\16.£Dª\94ËûbA\98B¢©¾\9b \83,Z\89\12ýz#Á©HôP\12\eK2Ý\8bèS\10ô\82AGhþ\91WìK\12w\87dU\v\81CK­\9aË\9d\82\84ÉÿæË\9d\82¸ÉÅU\9cc\ f\96\ e\19\9d\ 5\ f\ 12\ 4tä1¥Ö¡ÅW\13\94Çn*xrÁ\19ê7\aÜ{\84¥\e®\ 3ù7°m³t\15\9fî'ÆÇö\1fBn-¦·\95\93\e|yj)ce\8fH9s@æÿÃB]\81\85\18ðZ/«1ÝGyRð\1dW@¿=\87\81úÅ\86ûz\18)\1ejMYWÀ+1Óc\ 1¬<\13(¶wwíl\ 6Ä(²!\e\83\84g\10e©j\r}^\85\ 6»Ï¸×ê\1e\80\ f\9d\ 6¸Â»×ÿa¯K\ 5Ô\ð5ýRÅG¸¾qÈÿ\8b*
+\85\9bºÎDO£\94\9b¿¾Ë\ 5\ 3\8bµu\1e3Õ`þ?®É5­\92Ëþ¶¿º´íÍ\1e\82Bð¾\85b,̨6b\1eÇsµ²I½UT¼\88/£u½ËbhÝpFdÑ*h\1a>\9c\19Ô»Úä®ö\1eni:\89ódþï\97H\9a+\ 3¾­\99:\1e¯ù3£\85½¥\83fwY½A®þÕ\13´TÌ\12\bi`à\99½uÃ\17\1c©
+]\94c·YGí\8eü{\83i¬²\12üé9¢\8b\7f?\ 3 éj'æ_B÷\88^\81åà\8b©\ 3\875\19Vmà|oEª\rð-   ¿ËZ\ðn¿±q\9fÊÏ­£`D\81ª\8cÿ³\17.Ýw\ 6M\b\e¥r¿}Û\17\7féâØýuðälø8o.q\9f:ßäf\96¨á\96³GppßÜÙ       Óæá[ÈM!ñÆ*7ò¶+A\9e\8a>5tÁcrõ 9ãÖP_\ eÔÑÔÿîh\19óµ\91\aà    ¨\81\9dsºÏøe}ÕaÙ)3|´h_^\1a\1dg¾V\9fo_ú\ 4;ì7p\8e\ 2
\83\1d:M\ 1jåS0x`¹\93º\vq@X>\9fA7ëK\9f&\eªã8A3èsÑ4\0\93|x­\ï×·¾\85\86Å>\85\84¤\rèý:Ü\85\13\9c|­#\8a +-ÑVIÊ»ËñÙ\98\9d\96\16ù×g.\9cè\91\18Moß\1d\0\ 3©\19\9aQL´(¨ó.\ fæp7íKûZ>Vc\16ìih§ñò«?ï^ÂÚ\109WXòÏáà\1cÉÙÅÍó\84º\15¼Xë\8b\91\9f\9c\8fl]N¸\ ePª¢Q9¸¶\19\9eGCt\1e\fÈµÆÆºwOìy\9fkÅɽ\18çi
\12\8dUèõ{±\9cÏ$\\0Ø\8b\15Y\81ò\83Wýó1B¶p\9c\aÁ3\8bµæeç\7f\85\9f\ eþÊ\93f\8bQºNë(2ÎêÝ\89F\8c\91\95\82\84\12Ó \96\9c^\0ùðxZ\81)\r2t\1dî\ 6\e¶Õx\ eôQ\rÈ®Ø\aÀ¨KM\f\ 3?&\ 2®¦ÏúÊJ.Ã#º\ 2I¹ø®ô'\8f6\a\98UþÀ\98zÙ½i­bÆðùóÇ\Çö\15(Ql\8f4þ´,(\8ey\99ö
+MýÝÔ\8b%~ü½fçe\83ÛèMk3âZ\87\90%\93'5\baû2²ÖðòìÜgæ:ÎØ¨FâãóyÛ\v\8f\85\9b\ f\9dl²Rtpé\ 3Ò¸\82QV¸\90Çø[GÓ\9av+Joj\17\94z.Õ^ºJ1\fi\19)Gж\vò\7f4hÑo.3íþjR¨ÈðéO¶¿>¿\99a\emE\84m|¾¦í\0ßdö
+\14\185YåwÔÀzÍß»\ 1Oÿ<F\e\8b\ 1ê\90½µþiâ0\10sx\ 4v·ï)O=Í\16uc\91¯ûrÂ\aú\83³ïaS6{   \ e£c¥ß\f\v\f\98Ñ![´7\92´[ö+Êô C\80å-\ f\vò­\ f\10Ð`\ e\18²]¬WÈO\1d\91ÿë1\8a¦â\ f\ f\14£u¢\9d}\95ÌEWÃõ\rP\90\1euÅBadøî[  ãöµ\f{G¦:kFGKý³\16;]ý¯\86¾å\ f\18öHH\7f\9d\fà·hNÊ\97Ø\f\17-{QÃh»lQk\9b8¬ì2\ 1PáqIt²\85Ú-ßdVd\9dãÖ;2M5\98S\82ùÊ \rÉÆ\83Núsê\ 3|4<,c³\7fÞÂ÷
\ 4¿öøÃÂ@\98ZÅñwÂ\8c\9b\86Æ\15ßâ¼[ÜhÌ]ø\9bëÜk+·\0\0\ 5\vôÇçÝ\93çèÇ\9f4\9f?Ó½\8a\ro\f\ 12l\9eÎp\96\8c.èFXÈ÷r9^9kÞÊï\92\89\8bå\93ì\17Ù^Îñ\83\16ã\ 6°\92\10G+C¼\8eÄK\0U\95\v\95¥\16«Ú\12\11\ 1p\87\813ã0ó?eì\90\9f\85\8b4'wGÚ\1fx\87Âuð·\vÛÂ\13\87\88ä¼\ 1K8ô\17Ç\1f\9bÙ'Íäu1£\ 4\ 1¯_\89Ô\94?<\7f¬­8øin%\97\ frØÂ\0¿\10býd¦\87G2ã¯ÐÞϵmÿUXÓ¬\8f\1eã¢Çøû\89\1f\1c¢£\95X\1e7\1e/ÂêO·\12{/K\93üQé\0\86\ 5~°ý(Ü¿KB^\94Å\17ªx±*Zpþ\9fcßæÜw©Ëwßúìu_\12\9eæÖ&´ÝÊ»\84É\1dÔýn^CÊxoj"4\0b-z<\95×Ýv\ 5UåÔú\8a«Z+¿\9er\992\96BÍMþS«8\e\17Å\90/g$\!ýK\vA\95L>կƽ\11Awº¸B<,æÀí\ e\90Yî^\95ê\82Ï\8d¡\16M$³@E\83¾¦NPí÷Ñ\ f|;\ 6A¸À\17P\0@hc÷\84\93\129A\<m\17ɨÀ\19\ 3#^-\87m1\98\1d=\91\81°_¬`À¾(ÀØ\11\81<f\ 4Ö\98 ?Nk"âÏ\v.%\95p§[F]Ñ/i½\16f\9cK\99(\ 4\99<\1fÊtÊ\ 2^\ 4Ä\97\99¥/XÎ\99¸0\1fv¡v\81\ f~ÿë§Q.ÃïÔz\18\96Oú^\95ÉÜÌ­Ôg\8d\99\8b-\95\f ü¢\15doI6\f;ÙË\16/ÉOo\a\rûFr*óÑ@Ϋѱ±h\1eòuNúä~.~Zb0:q\96\ 3uC¡Ó\9e2b\97|m\10\9aþÏH²ô\88ºßð9\8f"¿Ð(4\f¨àöu¨ýN3Hw\1e\92p¡¡Ù\8dÚL_émn>\91\83\9f¿t8\16\85\ e\a¦ô¹ÑY\8a\1c\ eó,+\1cý\1f¨~ö\19f!ÀG×\83\1cêfÒ¼f0z\96\92i"Éû'ó\8a\87&y»º¨q½\9b:8[ÊX-\1dÖrPq¿µ\14KdÃ\8dä\88\8d#7Î-
+\9eQ8r\1f\90AÝi\11]Ó¨\rþ¿\19ÿ/oÒ\1c\ 5_\8cÛ-Æ\15­M"B\1c·Ðq¶\v¼Æ\ 6&\f/0\19È\81\ 4\19\97M$º\8cl90`'þ\9f\94`\#\a9ËàzBy9ôÛuìfH\82\ 2H&\ 3\8e\9a©\92£Õë}\13®G\ 5\9bqe\\93ÄÍ\r`¾T|bõ5_\ 5ø\a\98dQ½¡l\bO\11\v_\13Ñ\8eå3Z¯EO\9e      \1fô\9d\8e\17Å\99ûôgL\82d\1f´S,\1a\ f\8aÜ\82\0/\13püFòódu\1efðêW¯"V·k#» ²;³)7mKÅè\ eOý$\16àwn:\ f´îèAÝÛó\8eî\84\1dß\90ÎïcÐ\90wg=   \awL\93vؽ9\9dÖä\90\\ 1Ý\8eû\8eç@îåtüÓ¹Ð;\97éÎ{þÈîrÁÜ\87gîÞ\82su\9dU¸T\1e9ÏDÏ\e\89\82@_±$\1d\0@\\19\8fµ\ 15\b\v»ç &¡\ 1\80µ\1fÂB\ 2Ï\7f              ÅÊMÙuë\f\80w\11ʾOî;\88\10\8b´s\8eépw\7f9Â;°ÖGu\15\91Ý­ô\fݵ¯p3ºµ$\16ðwY¾ã»£\aw\959Í;º0w~£;¾\ f>Aݸóä\1dØ´\9b¶Õó¶Ò;\9e¤\82â\ eìÅ·í;¿\11]üüã»ñ\ 3ºhÎè\16Gv9\83¹c¸Oöàb_â®8F©I\ eÙ~£\8fϺëaSÍÓ\13þ\94\9f~5/ó\ 4Ýv¬¼òµÞ\88VÎùp0ûÉ3\9ep,\8büÜÑÂøUZ\è\1f'\b\14\86\r\8c\81sþÃ8w\0l{ĪÒôgõþß\97!±F/dmzó\82z\ 6ý^â¨\81^\1a\8c´\94É\8f\94\16G\90ax\1c-{çZÈ\17Àâ\17iÄOp\ 6E\90Ï(u\b«Ö°ðN\16>ÌZ\96H)Dò\v(\97Q©·É\9e)È,\9e1S1!Z]zöÂV¡Gö/\87_¯ÊÈuG+çß\1aE\82w®ë_\97Î*#;\18\e³`ÙId¢pm|äÙ(w×\1a\fC:\8f¥»\8a\91@lvS\ 1\ eÅ\ 3aiB©\14³v5Í\90êP\ f<û'pÞï\9dW8ý_ Ï.\8cçXû\ 2\0á\8b§\0pAf¯\0
+Á}Ð\90
+¥w¥\9d\1a\ 1\9aÛ\98\a\ eÈOHâ\9fB¡Æ¤\11䬶¶s\87\87\9ap\97\85\9alb\f\89\97Ëý6óÂR÷°è
+>;\9bkg\15^t\92F²Îé0VÅÑy\88\1a\8d\12í/\11£&çÿâ<\87ÜJG\3»\8f\ 6µ\8cÈ\19\86\9b²Ð\83ëÅß$zíVX¤/(q¤\1d\19 Ý\97Xh8|²ò\82Â\95¦¶\95ÛA®\9bá­Çä\15\ 3Ò:\ 2\1a\86ûÂ\8a/Ö½\7fzî-\16¾ \0ì;ñdtó|làá%ËJ\8f\rß³+Ëc\19¡ü¿ÐCT¿5\ få;\12Ç.2\93økyÎ\7fdT\180A(ÓC¢3\92\89Ô\1a7|\99Ô\12Ól϶¾=Ðcvý\ 6~4,p\91\83OgZ'\88Z\ 3\ 5\17\91Ã\7f\aÎL©\10¬\96À\95 ©Ø¸©ÉJ\17ÚÑ\ 2Wù×3qSÚ\1fÚØ+Pè-Ä\1fÚÚ\v[8©¢?³\87\15\86\1d\9aÓ$\1e\14\7f\8cy\a´!\87\90\ 3\10p,À\18V :RiT.x#\a3§§<ã§\1f\9a1\17Èsk{ûj?·\aö\94\7flÐ/£\b5Û,$ßêS\83\1evµ¦\9e\10c_þ\ f5UAJ[ñ(+éùî.lSg\vaüR\ e
+\a7Ä1×½jÅ\8eüý©\añí¨\15\82+*×Þû¸8\10-|\90°*¿ÍÒ\1cúh(Ñ:=DX\101\97«zAâ\12§ö\13\9chh@.<\e{SR\17\1a\f5!\83=xLRýÅe\95,Ý \ 5É\ 6¹\93!~9Õ\9dn2v\91\83ê,\96\82ßêÍ\96¸ÈZk\ 6§1ófá\85\89dD\85ÿ\e\9b\13æ\93±4rj§ñ\81èGßÊB\96AÜ<\87Íý\16>\8fþV?ÉÍÿu\8f\9eJÇÞ\7fácàÏb3jXíÃ\95,weþ\81c\8b¯\81/±c\86\e\13¥c¸-?ñc»N\8eBÇ_¿þ±Ð\9a\1dîÕóV9cXùü¬îNMiÇs«Nk"S\10ê-°\12.\7fæJÛ\87°g\ 2Ì+\90Ö\ fíNê)ì$íiÄ\18¦\9b\18»ò®IÛX°\8c¡>°\93\82Ú#s\14\9ed\94\92\14\88_âT\88Y\9aÎú¨¦     ëÐ\9fÐòWT\85\aÞ\95\15º\87\15ÎPbOݬÜ\84ý´ÿ      ú\9e仫QÓ\87O9qõëÞâ\92ËĹ\1d¡à-a4á°\8a\87¨h\83½O·ºF\1e¶|Î:Ü\93\88\8cþö\10Ð¥\84.\90À\87Þa)~Ìa'Ü\eÿWæ\e2>ö\e\e\vó\97Õ0¾ô,çÊ\93Çà.s\vÅÛr\96\17ç\99\7fã\vï\97hêa¥\9c50
+U\ e\89Å,ü\ 6oÚC¢\97-<,±]W+Í\vW!\87Ï\99}¬>òü\bõ<ä7(\19`#y\11ºE\82\80\86$\ 1¤î´W\86g+¢\1e\83|YrÊíÄ      ÷¾lÊ$¡T{ù\8dz\19ÝhÆ#C༰\8dåÖ\18\88\ 2xaCkz0\8e\9b\ 6\86\12`)\14ýü_Â\16,j!u\8fbÓ#تþ\9eÅÀW\87GwfÁ .Û=\82¦Sª\ 4ÜìWÄ»î\12»àx_\80Î/áS\89gçGqB\1e&Laåó[Çî(      \13Ô\1e_.ÇÏ{\vUe\84Ѽñ>÷ìî\94\1f\12aUdM\1dÑ\8eÿ?!m\84*Ûí
+~ëÎÅN\81\83\12R8QùP9ßM\9a-I\ e½øË@ÃO!ä\80\9f\ 3\9dPÐ'\9d\9b=\81\µ{å\1cÚ¥¾Fz\80\9eºÿ\13¯Ã¢°¢pÞTzÆt\88ûhQ£¼P\85ÿôÖûå
+\ 2\rÝ@\8dTrÉa\g\a{x\10ä"îz\ f_\19\80;f\7fæÂ\9c·þ\14¡ê4d/¤ÒN:^\10\1fõ±\r\85þâ;\86[\ 1\f\0\8eÍ¥Â\1evûùBôe1î?+>3½?Àð$\8f\83N±õÞü\9b\8cû·#\eSR\18S7{\vnñÏK\1c0¤ís\ÚRÃ_\14'øX\89\13Æ\8a\f(ýû\99\1dÔÄTúYÊý#á#7±\ 2Ûè¼0¢¨0£úòr£B\9ebÛѪ \97¤QØ9ø7v \v®¯ï\17\8cÌMc\0\16yc\17 \ 3ð\17^\99Ú\19\ fæ\12ÉñUQ\0Ce\1cÀp5$ÇDv\8aÝí\f\14Ñ\90Ó#?×\99\11J\/n¡?9üÀ*~
+·X\13*å`\fJ'$¸\ 3þ«\97\86>S\8d{\92ÿ\»¯(´0-\1eÞ\16\9fòNÌsðÓ\92ì\9d\93cH.¿YY6\a\ 5ùè\ e!]àUýy\99\10oBç¿rÈþ\8f\aòu@ü\98\10lÿ\1d\12o6*F\9bE»?i~þ\82ȧ\8ed\9d¸å/c\ 3ÕÉ\96\10Kè±ä\98hyDZ\86Îêñ\16\87\16í\1ch1\ 4'\1d\95ã\95gBâ'¯ö!Ü\8b\e1\8f\aÈt¦]\88\ 60\88&ÞÆ½\1a\b÷\19#\b´þB]ý½\ 6\19P]qD\ 6\9a\1d\ 5ÔÑ\14 \eãèn
\8aG\\ 4\1a\ 5N\86pò¹ó¯\84\ 6üÔö\90\9bÅ\98X;\95\ 3\8bt[Ù\94cÎษ\9e\1dãñËHB\82\960v\93\15\ fÒW#ª\9eïoóæF©\eÞ\93!åü\82±­WòÏìËÈ<\19°³\0@\1cxÕfO+\9a0\13ç*>Î\97Ê8\e\ 3\83òE\1fíéö\ 3ô©2ÈM|\ 2¶$oþ\10ÿløkTjí\vNkÖ¨\88WÁÔ7\8c\99¬ \85\1e~{­AÅ\ 3¤Ð\9dô\ 1\83\91my\82|C[Ly\94ì\93     \7f\93*\85\12|:{LûY\91íYè/Ûè\ 3])7ɵª/í3"¡HÔþÐ\9aí³ ¹\89¹\94ÞÝö`P>ß\9eKäyjÀ$'Î06%i\ 6¨Oo§rÍóN\vè7/O0w\91m1hC\8dô/\98¥}ᾸüéÉzþ\8aà,Y-òÕ\1fT¶K°\16pú=\b»¤¢á\8a\19þAÝLWt%/ß\98c'ÉÚöù\89(áµÍÑ{:\13\1cK\99ÎÂu¹\84ä\89¡\95li\90TÑ6£Í"mG\9615Z=\978X¢<únø/S\1fò\16ÃØÕ4(\82aUëÉ\18¤\9d}nâ«8X<u^\aûô¬Dk\ 1s\10ã\9cwùá\ 5þ\7f®GËõz\ 5ò9T\97\15\831äfS®r8÷r¢©\83¯¦çbS\9f\8a\16ÝZ\12\80|®½ã¯\89\98q\19Cݲ=s\vx4M\14\85Jë-ê³*\9c\87\18\90\85¾¾û´i;1ßdÉ\84\92\12\1fF\12\12H\11 \10A0Dd\ 2É3\bÌ\f\81\98\19\89\0\14\0\ 2Æ\8b\94k\ 6Ä\99\90*\8aÅ$Rf8 #¯·Õ×\9b}¼¾õ¾­÷\1ao¨yuóB\b\88\0\10\14\885P\16¥û\fB\88\0@\16gï÷ÿ÷ï¾ÌÉ Â>\ 6í]wÜö¶ï¹ÍæóÜÝé^\96ô7z\eÒÞ\86ïð#{[ÝÚ}÷{[d\92Ù\eq«ßT£\9e\1c\16\ 4ÑÇsÞ(\ 3\ 3\fW\9dw{\88\83§y%à^mÏhÇj\9d\100\18ÔëØ¢×k\16t\9bÜä÷eÍiI\1a\9dp-¨­4ôÒO@ß¼#¦g\95N¿¡\18\14«å¤fÅhá\91<\8cõ]ö\ 5\eL\11¤/¸\8d¢¼eV\90\a;\ el< H\1cÈÂ3]\18\89ãÖ`\87?93@}º\10® tn7\80løþ\ 1\86Ë÷a\aV¨Û?\96\90\19û\8c_Í­yÅ/\10\8eï%jÝ÷³\a\147)ç\a/xVh°¿×î\86ñ\187\8cbzõ·\82Øì\8d*[kQ3uN-\ eX¬¥\81Ë Ê«õ;Þ\86DLÅå0 ;X¢.]sØ¢\15½7
+v½Â©\0TZPÐäA£:Å\9bO\a¿+ÒINÈß5x\9c\1f¶7\\95\1a§¶=\9bè\0\16n%z\85¶4®í´Ü;V̶:<X»­±DeÖ\80Òõ\86*\1d\10\1f÷Î$¥;\9eÆ)\80Å èÂ\9b\99\b¢°?0\92Å\9c §ë.£Æ\b\90\89Ü\90\10Ù\ 6\1f\ e°\80íuc`A:½LÂÑ´\a\8c\11\87âÖ\1ct<§\¨\eäWnó\ f?Y\ e\87Ü¿~£Æ°í¶ÖÏû^Z/\96Ã\87,f\93ÿüǺ\a×úÆi J\89\93q¬'\ 2¥\85\97¡ \fí¬@1\17\ 2\8f\1a\ f\ 4©U\8a\88\15\8al¿\82¥àlÀ¡zoô@\ 4é\8eÖ\Ô®Ê\ 4Å \1a\1f\1e¸ó\87\88ø\95b\ f\87ÑX(ú4Y±\13  ×`\ 2L\9b=õtçÚ`û\ 6\87¼I¯\7f\8c>[\9a\1f"*rVÓw\ïçÝÊ/\ 4 \85±\ 4{û'\7fr\95éÅ-ÊZ;W}\8bfVzVçg¥·øq\87Ô_\1c.\93\9aòEy\98\91ýÀû\8c\1fn\1c\91\1d\902ÿá¯\ehäjŸ*\0Ã\8fMaÃs ;i?¶\19\0ÕØ&P K÷Õ\9eã#D¨¥êîR{Ù\16Z\19IMÄ\14þóljUc
+q}æ¬ó\9fvçûXêáÎ}¨\e3séöÚÃìÔxÂÏ\11¸§>×\eF§^ZòIë»þò²J\7fW¸^âkî®\1f¸\9a^T¾\87Ëð\9e]\86­%²ü4ÙÀ>y/`\92þ2³@\0ß\83)\95S\7fúÐ\81\9e\9d7\8e\ f#ÉT\91*Ñ;\9eÌ<\8eS[¢4q¥\94ü\9a#Ü`ú¨j\ 4@yÒ-\9c*jÎ+\850ïµGd\85æúÐê\8eÉ\véQªWÏ\ 6õ\1eoK1oRQb|-Xî±þ\84\185\13Õ£%ò\9e\9fÒù\18£õå\8c í\80¥üÕ\1dy`8É=\8cn:õ\ f¼©éûÆ\9cc6\80\a\7fTM\9b\9c\ fäÕ«9æ÷½?gl6\89\96ß[4OÏ©\88Ñ?\16¦#Dûú\98­\12\a\15\0\ 4\13a'ïÛ¡+ÉÐRH%êõ1\1e­Ö¦#Õæu)D¾m=X\1e\81Å©~\93«Xû\16ÌG\ 1\15\88Þ¢±\19\rL4ã·3¦Oê\86P\98q\1d"CV³¤c±'t\8e\ e0\9d#ÙÆ~çHyö\1e}eÚ\fæ¹7Ê_À\9bÝ\ e4]1\aGç¡í§®ä\954ët¤\86$\8d$\vü\ e\14\94FãÝ \8a£~åöà©    ¾åeýÁP\93\9c¾Ù8cë\89Êd]4 \\82EþFѧ\8aÚ\15\8b\97òYcMG×\81ùÝ\84g\90\14Bmò%çÔ B\84ú\ 4\17\1dŵé\7fr-J\1e¬\99\89Ú\13»p\b\91Aâuº\90 \90\98\ 6\82\8b¤£\80\81ëÜð\ 2\87        \e1\ 5\9d\ 4\90\91Æ´®×\\9aç\9dÊzì\85\1a\83\15\8d³B?/¨E\ 2\ 3Ö/w\ 5¢\ 2\1as<Ë\12¹¿à\rÊ\95=t&\89Ót\ 5*ÌÐ]\80q{ÏÇ#9²Ö\86îîøÝ\7f\15­\f\93\17\9cá[øÔ\9cÇ>§¯b\8d¿=Påö;0GKÌ\8cÒF\90\ 2#\19\832×/¸cå \1e!L\83ù$\9e®g(z¹óS\94»î+9\ 4Ç·<Ü\95¾Löë\82zöøV\94|ò5ÔIµ±n¿z\J\95í¡\99c¶­ßv\95\ 2ôÊî÷µM×ÙVÑÊ\v\94´Ó}l@\96¹\8fµtÖ\8b Íܳuûkm\91çë\830</`E\ 5\\ 3ÖþÚ\9dN¿\9fj<X¢q.!g&1³\ 4ÖSp§\ 3\10{ÄMô½íùî\8ca\13¼±[ZaË   µ¯ö\83ô\91\v\89ª×Ï\97Xø$[\ 4¦?\ f\8eää\80c\83Õïã ím¬\v.6Ól\98\0\85é¹Ä\15\9cÃêXð\0Ç\97B\vüÜc\86^íd\83gùëVÇO\ f9\7fOPp\9e[HÙ\8f(\ ev`\0ß9\12Î\17ª²\14)\99²üO\8b¨?v\91ú\a\9aõ¥Ùßç .7Ô\15'Ï¢àó\83Ò¸c½rÇ×\15¶#ÙlûÍ\14ëwÖ"\83ú/áÛ%x®Aø\14´\86á\ 6ú\1dý¹\9c\ 4(~µ [ÌIëüåÞr+nÅ\9e§Å)É\86¾z1Ãübá^zó\10JY½òQ\18g\ 5kÖ"Ûý\81ÜÈ }=\10\v~\83"DÏ\0\9aرLo¤Ay\9d\10z\ 4Ê\ 2~+\ 4V\a5'\12\93\9bw|j§/°°\9c\eVF\e°Ì\8b1Zϯ\909\8bºnú² [0\ 4#EÝå\ fK\ fO^ÖîÌ\19ßZ\97\f¸\80}taؾ.\99\9e¼\8d(yW\ 3ª¢\10ó¼ð¡#É>\1d8ò×¶ïä\98ôõÜg¡Êd¯j\90ÿ\98»\11Ú`c\ 4\7fÂá°ÚóçJ>v\99\ 5{v=\13\93Ã6Úm\9dQg\93\80EEþr\11ÃUcÔQ\fìÍ\11}q\ 4\19%\ 5Yyb{¼ù\é\8bwm\90O ÷Âéb\9dS/D:Ñd°+\bË\9cY!4¾:0Ð÷«í\85è\93Zt(i¦ ý_ Q=\80\81Å0Ùü\96\19³ül!Ô \ fÌOökp!\93:}´\ 3m6\Ü  \a]H\90\87[pL,ñ\ 4\f\ 3(Lq\94\eeÚUã\9b\b\87\ fR hV\87D)Ý)\96\92"\1f\93\ e\88u\8d\92\1de\1eàãÖhã%¾@é\8d\9fr\r\bº\86ïð±¨\10\0\10\17\\99ù ®8\b\9b @_£ÎOL\12#ØHáý'ÍX\9f\ e\13£\87
+ìÑ\81ðj\b©ó\0\88ïx$R,Ð]\98\84ùÒjR)c\r"\904àQvCH¥~\17¿á\ 6;.#ð¢àsù\ e\83ßæ\91sq˵?¯\9f8\bÅ\86á´-º\9e\1e\1cºg+\e\99Õ/jU\96jkraDb\8aü\95ߪ\11ú%Í$\ 4~AìÈ\97òôëI\ 6þ_Ä E%»ßQðLÅCF\1c\a\ 3äØhs\91Ù7\91æ\90p³¾(7Ö\9c¯«¼\91·ÿFg¥×oã¢2"\94\94\89Qçp#i·\ 5ï`÷\86o\951¦3\1d§[Ⱥñ\9f£Ù\95\8f3òð\9f\14ü'ôøß/      T\ 6\8b\83|@4Ëòïy     \12ê\0þ\8f\1a\1dÜt\0)eü¢~\80N\8e\82¿¯,é©I\ 2\1eÊ '\88ò¡\ e©R\82nÒ'²¡ÏÑ;\9e4:ýʼ°\10°hi¨8È\87/ÁÓ\87\16\1c½ì\87Ó\ e\ e\ 4Lãä\vÝÙ'ÑÓ\96sçïó+\82Xb\9ap
+GTÀjU  \80®ý¤`O\1dó×­èM=ûÊFä\19`0y~nS¢\9amóJ¬\9e¿Ç]ç«q\95\15ö\9d\1e3C½ñËè\9e¾\96\95Õ\82á,\1e"\1a\9eék\10\94ÐN'\99\8f\f\ f\el\82\12äÌ0¼\9cÀaâ¾+øÎ&ám\8e\ 2\9e\14µhÌH)?\13D@\97\9d5«j#øf\86µ?\e\87ê\97\ 1»+$üLqmxøM\99Y\1f\8d\ 3\1db\ 6-ìuAY\8ceÖÑ%\18xU\ 6¬áq\99ÕܵèÓ´\7f\94æ¢d\9a\95ÌÅ\ 3\ 4\89\9e{j\r¬\1c\13£NñI\ 6ò\ 3\88\90DÆ$ÿÓã\0Ý®aV\10¯"\19í]\9ab\96à9\v´\93Nº®6\1d\ 5{b-ÊóÌÁ¦´"bê\9d\7fáç \14X]\ egÚÚ\1c\ 1õ\9a~y\ 1ÚÛÇ\98G,½úɱ}/\89ª\9eI¹cï\94ÞÄ"\8e\eVó>\8e\97h9§\vf&jièr/ãe\9b²ØèúÒqåwéCK¬\a5jÔt\vS\8d\99© ú\98ÏqÝ\96Ä\95
+.\99=võªml\9a¿lÄ\ f  4!ÊGC\92¬\99»ûäj²ÿl¢ô¬;£g\803j\7fß\93<v\ 2cõÁ       ;Ù»Â\82nIo¶<õÕáëOcAµ\81¨´<Kõ+\91\ 1\83\90\7f-\1cSDÖÑ\9aS¬ÙÓ\ 3µuq¡\93ÝU+9bÃOè|áÔÚB?\94´É\9f\84TÝ=}5ÄåV:kyÊ¢\rJ¿+\14p)\8a\199\82\9fåNt(OÚ.ÉQax.äÜ\12 !è¹07FÒ\9e£ÿDÖz\903w\89¸\17\89\17 VC¾V\14\196àK    \b\ fïüæÑd_Fð[¾\92öI¼·°\8dör6\12\\13ÏBÑèO¢\<\rÌF\16/î6[\1f\ 6\8f\f¬|\19V\80\\86\19«º\ eU\ 34(H&\8e÷÷À·0¬\vrJÀµ²°-mýð-O\\0\19h[\14mÄòIµÞiÖ\81\16z$\b¥\96\81\11\aå\1d£øÙ\90H4\8d8·àæ\80}>\9e¨N\ f\\88ð\89\ 5TX\8cf\1a
+Kä\fç^ \ eùkhd\1dÈ\9aI÷y:Ú\19H2@Y\80ÐdÞ]\8düÓ»¤\ 1\8d\86\99J¨>Óav)>± æ­·M\8dºF\96\86¨¶Êªwr\ 4\80#;
+¨>Ú²Ö:¦¢Ð3w:T¥k\1a®\93,wBhIe\87GÐë¹­g5 òñ\8e4\84sLÁ\9bn\9a¥\83('²\1a\19²ÐÍÒ\94\86ÅXÄ\87\f3¾Å\ 6Ôî!\ 3òs!Ã\89Í\17bîðÙ\96æ¬1\974X]ÛÎJ\bñ\0|ûȬµm\9e0rû±\83}rú§wi\ 6dõO\1d\9b˳\97Ø]Ü\16\ 3K\1eCÆ@ç\10\7f\95Y\14\8d"PÍNñ\87µZ\7fz\1e¥\1e`ó©Ò2Å\rÉ\87£Z¯zت\8d×\16¼Òu\ f\97Z<\rD7A-ão ØA\17\11\ e\97æÕ8ehTfÇKq8¹¥Cz\9476\rº\12Çü\90\9aÒÓÂ+9Þ¿j<ÃMå\14m\94\8fá \9e.­Z\99\9d°»Á\f\7f\9dáD¸ &ò\87\aÿü$\ 2\93\18Ø\88%)üË&WÙZÿÿ?w¹ýú\jYþ5m\1e\0\18§àIÌ;\92¬¥ÎØyÅd$¼Ð\17\ e\ 4öª\8c¡Âá\17\85ÍlÊ\90ª\ 6ÇäVDµG\19y:Ñv¢W~\96\89Ó|4Ô\10\91Â\15¿\ 4ZÐÒ;¾¹_ñ´­gö\12yÍWL-rJâãÉëæS×\11þ¸\14çùþj\ 5xu?9\19\1dC\82\18f\ 1\ e̦\7f\9c\9e\!Q\90\ 3àT\8do>P÷\8f3WÇ¿(«yò\a ÇÕ½öM'\9e\ 2\86\16\9a»\9a\r¡óDÚì\84{\1eò)«¡;j{\8d²/w\ 6,\87\8dBîà¦\87ÝÁ·éwp^¡÷p\15Ô\1cß\8bj\7f\f¯\82©L1<7\835.È{4p\ 3²ò>\r\82ü1@bu\96­/iÝ5i\ 1ØR\rÙz\95rÑn@¤õþavü KJ®Þ§]\b¸î\8e¢\83\8cæ¾\12\fËsã\99îg/¸\80SzrûKÆHµ\87\12l²Y\83Gfüg\eíIó~íCwÜÆÝß6ªµ\9dàÎ\82qG\95­á\98\19]]9eÌwÛ\8aé¿\80U\11Kò   ²\95TQµøL½\9fð
+P:\f\8bù,\aO\Ô·é.µ\19è+ô»iC\13\fV\ f_¤Gm)í\ 6sBEºø.Wò\9bé½J E7|N¸!]\81Ü\18ã\1dX\15{Ïd{EéÌ¥×J\12\18\7f\96¸<\1eݱƥ>Ð\fý/W\15\11sï®=ÊvE\83@\81©\81-]¡;\boǹYh6­è³ \f|e¶«\91n¿pÞ\8b9¹IçÄ\f\9b\ e ºÀ\13¹\119\86\f\a #J}\9cÜÚ@?XP\93\16ÄzQ\8dº\11\bt\1f\18ø\ 3Õ\9a8\ fjÙþN\12%\8en¿a\ e]*Z\1c<\19\1aÝ!¡\83v\16\0³¹\ 6ì}\82\97ÿÛtÒ\8b2Íçj\81[F2AåN0'°¹K1\19J\82t\1f\93]õñEþÁæ'.(íÁ\9a÷Êäîôhvø\1eéWÓ\15\88\\18á¶\9adÚÚ9\a|´DK8»p\18:ë(8µ\99\ 2uÙ¸W\eÃ\13o\1c[màðà7¸\9eü!\96;d     È*ËÇÍï\8f/\1aH\97\8c\82\\b\84ÿZϾTÜÛÃ\91YÐÎäêè³\9bÜ\95&ôJ:{ÍW\17ù´¥îÜôKúä\8a\87ø¶vØâõC@Ç\17ü¥§à\15É$£~%¬ \1f\8e\89DÝ \0\14R\87\b\e\9eo@     ñõ\e\87Ü\87ôÄHS\81)«Ç7Þq×íEf\93Ù¾\9caW*Çz\8e\19|N\13Æ|Mßö\91\8dÙnÀV¯£µ4VqJy÷ÓæÎ·¥)µ\a\8d(\0Í_g U\1cåR¬\ 5\ 3üQMÏ+¦4x\92=\13\8d®\9b¥Oe¯Áß¡4L\9b+¹ª\1c\9fÎ\83ç\9eÝé\7f÷\95t\83LÕ¤ûÈõ¼[\10­ÿµ÷\85\91\84åö5PÓ^\95î\92Z\95\ 2\8e\93B²4êN5\ 1aÔµ>jÙ\9d\8dÏ\b*e|øÎíÓdÔ\ 6f<ñÛm\92\8fe±w¤\1d\8b\84 \f\ eåß\87\ 6\7f\Aí\8dÖà>®hÔ­GÜ!èö\1f§I\f¨Ô°\18\9f»`Ü×ÐÒ\ 5\8e¶g\9f\84\b®zĪÙ0\94\e\b\17ò¤¶]\9d2Ú;£+N\9fÙ"}\8d\e\84/m\9bèÙðEM>\17V\1aW6¨"-\9cëê\ 6\92Éò±¬\9dQR<Ã:jË\80ï\ 6\9f\1cÝ)ÐÇ\15\1e\8br§ë6\88guóºRNá¯\ fièC_"B¯\94q\92²¿\109\r\10ç:\0Ù\fR\9c{éú\r±\ 3\88ðÈù©\0ż÷\93\1eáLþ9\è®\1f¹\3ª\10\0\8dú\16¤\93NþV\buÚä­KØù±¬\98\1a?\ f\ 4°"rÇ\82\bO\88"A\9c\1261Ýúå3ø${*­*ð\82ôý\7f\fù¡M­\84\ f¡u2DD\9d\ 1±ò¢[i\aÿý\ 6jJ\9d\19×\1fe\97\90\12I\vb§¦^a£@¨\1eÀý,ö\1ea\16ßóæ   hþk?
+\ 5b\10?Ñ»îü\85Ü\aùÅñ\8amúâõ¾î+\10O\ 4ÛÒ\90U'\96`\94,¹%ÉM<
+£¡±\ f\0%æg\98TËé=Î\8dSßø{K\13~\8aRÄ8\8d>aÞèÏ\15£\86i%\12W¹qZ¬\90<7/ÜØP\9dQig§Á>¦a\95¬\89\bq\87£ºÐ\87ì«\12é\90âkÝeÔ"a6¢Å´Ñ\8f\8a\8f\ 3\86Ìi
+¢¿:§m{?§¿ö`ËÓÞ\14\1e\9eý¹  ç[êp#í¡ ¾\18?¦ò#\14üÏ"1O1åÓ\14ñ^tؤN®%GE¿\ fÔ­¸\14ð\1c>öé´à¶ÝüŶݳîöeÃîë\ 6@J"å½.\84\83XOóìÛ\1c\14\9fÌ\15\ 5\b¼\10Í\82|2Xdk\¾ç\80Ø~v\9a\8fbí³\8a)<\r`µ*Å©~ì¯÷ÿ
+,\b\9f°Ý_QxqnTìyÖ°\9bÂÙ\8bÙ\9d\95íÜ\92¥\9e,\16º\14\12LR\16\ÎG\1c\1d>\93ü\95\85Ý\v¼\1e\11©ò'¤É\92\17é\v\9e¿È¬*ù\89\1eX»YFÆøàŸ©)S?ÉÆÓ?ÌáÂ\19è\ f   \1f\18\8d\vÄyÁ\89¢ð\96w`L\v´bu,:+¬Gò Û\80\11\1fÝ®ï\88²Æ1õÝiº\12\1a?\ 1Ë.\82~0ºìôÛ\v',¹îäÀ¡®þ7ô6~Í¡£+\9f´\ 3!#Ü­!¢ÇàÍ\9eí\80zJ\93y!Ú\8cînô¿\1e\82\a%z
+\8dKeÊr²Åã3\0Ô\13K
+Fð\8f\9dÍvç!`m Ú\16sÊ4æ\93\96Àô\97\90ä'\17\89k\8d¾@\19¶ÕV²\16Ò\e+Úuû\90$¶¾Û\13ÔÏ\93\92\84£Ç3xÔ\7f¬jM,\148vV)ê      Ph\03\8bÅ'\ 1¥N¿È"?w`Â\89á;\8dÙQZzÂ6xÍXf`¿\95\8d\89Û+R7@ÔäPäq¸áôò1¶¤\bá3\9e\r2\ 3+SÝ[Gtj\0K5\ 5¥c\84µ;\84T\ 1-\88Û9í
+EÊ)\95G\91 Ð-ñÁ\9dh\ 1\8f}\9b\866\82\ 6}\1e]¬(\ 2Íqz¼âÂs¸ÖqÏ\ 5\87\8eî#Ö×î>B$\98\97bf\80\83q<¾\ 6tm\15á\8f¬L×?Ï3+ð0\89ëûüt\19ãÝY,½g\93ct4þ­\80»bf\9c[/\83\1am\95©5\16Dzk¶\847«Ò)û?e©óñÀSà¿B\84S §¯\0ÿÏ»ÞÛP\88ÃÌÓ\bsR\81\13×\13¼\ 6©|\94s\0\81x§ÔÆ\93\15:\7f¾GÕ\92J줩\9bA¤?
+1\98Ý\7f,X\85¼\ 1\18x=µ\a\19\9a\14\91\80Þ8&ç\90\ 2®j!C3ä\17\rx¸ã@\19¡þ8~Föz öË\94h\1e¯ã\8a ÷\ 5\1e:þr:ë\98a{Û\99tÓ×IàK·\8e\9auÃç83\90\9c7ùeË\82\18æ_Z\7faÃ%+1n²~\ eP\98±Î\rì\9f+\0\ eéqãqLÿ5\85nË ñ¨"\94çÖ1à\18Mg¨À(ÝB\15\ 6ÔNbgúÆ1\11Ø£\7f¤,ÇÓY\95ÿ\ fC\ 6pG&\8dÐ**ô0qCxg\13Bg
+»<½Ãã=±p·øþ½^
+9Ê'Õ¢?S£ÉðÓS×mHà\7f\v%ª<¼­d(zÑ\9f\9a¿ÇÏ\8bÁ\85{üyY]\fÐGV
+K_Çɵ\84©\fI\85"òôá^/$ÿ%\95S"mi¦\a´\16ûå\11úÁS¯ÄtJïÚΩØ\eZ-\85\91Q|¥QóXp¨8Ö\ 6\81r\ fhBä\19Ç\92CæÕ\88¥û\95j^£ºr\1aiHI\ñ~êH\1aqU+\bâ\9cP\ 6\89ëòÛH(\91M\97\92§\97åþìB°â\ 6\dëãÐ7_¸\16\98)ƺ4\05\1cXâ±çS®^\80p\rÀ    ·S®å\9c¬\87Ó©Ìö­N\14½Ú)ÇëP4   \9c~\ 1X*@ݬ\15 Zd\80.ùÌiéI¤®epv\1cr\1aá{\83O0@p?xT\1e
+g¼áo¤Ñó\1dð!\96ú\1fëV÷9f\ 6ãÓ\97\eÔ5ä\rTá¯i;Èc\ 2Y\9c
+z\e\96\exC\81\f]Im\898\ 4:\v@±¦q=âI[\ f\94\11ë¢\1f7>\9fe'UDçÔ«%
+Q¤\1eÄWt®\1f0ÛèKÕ\842¤1\1d\1aãú\ 2óG¬\8f\fàCM\163\9ehÓ.\16H\7f\9c[t\9bý
+\0\82r)\19\9bXNwÚ\15\95\85f\84é[uövZxd;Ù\85V\85\aõ"A\ 4;Æ!ö\95\84¼Ì\13³\e\ 5\15çE*Ù\8c»\1d      è5\v÷ªaÏ\99@\9aÉFÆÚ\14\81gÙ<Âû¡X£YD>ôíN æ}T4k\80ÝôyÐ(o\ e
\1e|\87mËÑÈtP\f\fàÞ­Ifè\ 2³\81ÞÍ£\19\8bçä\1fÉ\1aEsç_w¾[×þÃË©T¬\97\90\ 69§©\ f\96\8d\95Rδ½T\fX'!¤¸@´è\81ú\98ó$L\9eÌ´\ 1\84#G°)\8eR\15½âJc#Bg»\96ww$¨8uE\91\96yÜÒ×q\9eL\81°¦øó3\ 56sNæ\99È\8fJvn=î6Q\9f\8d\ 6<ÚN¸ÚKúÆÍá[}\ 5öÝK2ï\9a½\8d®eå\9dÖÃýe°¯,ðö)·ãh\84\9d{¸Gµá­¶ÀA\ 4ÆT­µ\8b\¾*KqìÉ­\95°V\16\b\91\93X}\91ÿÜ\94+`\98RÂ÷ÀÓ\96\9cBofV»?ÄPsß\9c\94ED$\10û÷\98\93SË"¢÷»!
+\966y[piwv©\1eáFû\10\90        oÎ¥ì5\14\eÕ2\9f!Éh\86\82æuHèzÒQ\9cûývÁßZÎþîI\9c©§Ú¼\9a}©g\97w­)YË»\8egzv¿Ï\8c\0É­ÁNk*\9b\vH\88µ.ý»àp\9dA\18ö^YÝ"\91\ ehpú\ 53Þ \14¼\1d4\17Õ˹ì;Z\1a©Dë¸eÝF¿Ð95\16\8cE»Ñ,\9e»A\85tÔ[Û\0Uv<\ 2\8bìr\92mNC\7fÓb)èV\ 4VÙ7*oøÂp\vÙwØ\9b\94doBÑÞÂ\1c§Ò#?4\9fÏÆµ8µ Em¸è>\14É@\89=+ ¯\ 5\8f*¹Yã\7f\9fºD\7f\88\19î\9dß!í®\9fQ\r´)¹åiöWMQ{¨£;4§×\94õÙ        C\8fÆ
+\97do5_\87ÚWá\89Wà¹_\87À@ßµÝÜÖ\9a\ 3\ 4ë¯\ 4*¤®N¿Ð%>\86\80\82PW\8c\96Uóù<@Ó\89ÙiC\89\94Õá»ß\848UØ©Æâ¦htÀu9\1a\11+ýS9ò"½?\8d\12¥\\80w)\87åÐ\1e\91'ÈZá¿Tg#WÄ\96½Óí$Ë`s¤,\17Öé%:÷\92\8fæ]%S¶6\8b \13\9eÍà²[Ab\8eÿYn\88§Íp\9aQú°5¨Ñ.)å÷FÒ©Íè\1akZ>#É&\8flÅ}ð\90n\83\87\1d!µYô\16Ú¶çÚ\9dÇkW\ 4\1eDî͸Átåõ\99 a¢\9b«4áy   ×TÌ\974OYê\ e"\9a\84ÛxV.WíÜ2Þh¿SG¾Ä\1f°è%öÃübÍJ@ÛæÑ?.Æ\fá4ãý¼\9b\10Fw6\0°Òm\r´'¬±\f$³Ç\9b)?\17\88i;\95Z\ 1°0\ 4\95¯kì¢&
+ZÆÓ
+\19>#TTCA"3mqãsá\1eà\88¥Ä\ 2"¯±p\8bOi²â¢È\91\12ç8/Xz&£\81\9e\1fîÕ\ 4¯\96©«Ø#×ö=ô\ 4 ûn\1fN~wD\87ÅÏ   H¬éý\12ÌñäoJyÇñD\9c\96\v\80Ê1\96ÉätþÂ\0À7¬@Ö\95\89À\ 2®ÿ*H\81Ï $<\97EPÎ\9dР£yÉìSZ\1a|+˱£ÑÉ\82½£îSgú     F¯}ö¯z-^ò¨A^üÓ]Ê\199)cç\84"g\9dõ\8f\9f\ 2\82zü¹Pd(QÒ7¤T\96²N©Ï\81j;hrW£lxEv2#\8bÇ&ab\1aÛè\a\8eþ\90\14ï\eò#cÈ\8b\1dó\95l\1d¯r´w4\17\eS§Ðö +zy§Ú\87W\9e\0vf\1c\ 4!DV\9b\9fzOÈ\b\9dw\82W\ 4T\8auÙBøG+{Mí\8f\9eéÉ|8
+\90#l±\v8\edëåJ÷\81Úaë|)I\87\91ÔÏ}áôkC\97\8aè$åc°¨\8eWI9oò*å«9*²rY)\11Ê\16r\ 2$8\ 1Èÿ2\88r5J\96\8eÝÜã¦\80ã\9cô\9c\97ý]Å»\92ßËf\91tû²\15    <T\18ø\8eM£>Ö\81 3]\92<\9f\93\v\90Ûc\95øz\ 4\10e^\13¯\94:!¿ãå\95²3\8d&}ÿÞµ(*Ô\ 6°²dø\1aLÿÁúíU\13ýU\f\03\875\90µ\vY!¤×+­\11\9fÜy\e\0;\14S*G¥¶Ï?\f«w6¢©\9e¨vH\14P¨ÛÄ3þ½4¤@©%È\8f\1d?*Æ\fyþ:Ë\15&y°¡A¬\f¾lR¯Ùl«(\ 6x @Qj\e\95ÝÕ\10é¢OÊÙÁ\90GËY³\ 4\87q\80ÖÇ·_½nÊËE¹h÷}\ 6þ\ 2~\1cP\1d*1ó=NZzÍgáæ*Ò\8bíÄæ"µZÕê\8ap9\833L\98.îô¯wÔ{$ëò1Á,Ý`\ 4´\99¥{S=\88¥£\82-/MÚ\93Ö\82è\e\ 4\15Ë\10ÐÚ9èq7B\17ôS\80Ê\8b\b\82Ý5O\ 2J8ï*\86Ê\9f\8bÇ!Ñ£%:33i\fy\ra:ýñ\1cá\1dè,ÈÆk\(\e;·K\9dþ.t^vî¹Õ\16X\9aô\ fô|»W\81mµ']Ú\91TjÇÌ\972\83·4\97Í §Bi2\13¯ü¤        k\10£ö­Æ\8b\8f\95u`º\ 6^íÿ¨£éþ\ f¢(ý×Áü"\8f\9bíÿÆ(ý\8foÿ8£úÑ\971Gö½Þ¤Qó?«÷Å\1d\9f\14q\8c ?ñ\8a=\97'ÿ±GÎòm¢\8fæòbE\1fUÉ(£¼\91\9a(ÕÑ¥T\15ß@øÊ[ù\84ë¼5]º\91_\84ytÕH;Ä\82×\85 RàdãzPÎþ®]´3«Ç\90Ê\0Qí;}\9bÆ·Ù«¾ÏÆ^H;gÊOܵ\84´â\1d'ÒRÃÞýï\9fSÊAµ­b¾\eål³Ë {oÔùë>\ 2\7f\10è$ß@\81\18);\86\8c\85qÔvT:Ö4Úº=\90¹4\ fU\1e\9bÓ÷Tïwðg\8f±NüC§ÍA%\9fff\12.\83\ 2ðÐë\a\91G~3rSÏ,\89-M\9eì }Åç\8e¥ÄqÍ\1e;ÓÉq¨¦{Ð\1aQ¯w\1aèú©uu\\9b}Wü£ú÷\87ôG÷»á«\1fßJ,\7fyw1ýÎçncûËêG÷²ÎÝGôºâD\1f8Jü?¥Xþߺqýöý®¤\7fs|/ß\ 2ÚO\8a,\7f|x\91ýÔç?Æ\ 5¾U\8a\9c>9£Ý\92\ 4ÚP)ÝUô\0\ 5_ì9   \1d\8cDɾVͲÿ]»\1d³Ï\86\83ô\88ë^bGY^\fx\1dy\{hãÙñâG\1f\11[ä5£è»\99\11Ï»\bç»^.¬BÛ3<rÌïåÜÐ\91.<ÚjZ>SÈǾ¹õ¬\8b[Ñy*3<\1c\93h®é<m2\ 6þ3A4ý?b
+\ 2º\vO\ e
\9fýÛ\8e­Ò\18nGQ|   \95g´S\ 4L\86Òê#Ù1g\7fæÕ\87µ;`t\\9e\ 1ãþ&\8d\11jU\12/\94ßñ\8fí\1ea\v5\13d<S]âZ½\1dãt{wl`3!¦    \86þ&Í\ 3\aË=<&¨öa¯¥\9a<\1d\1eìǪó\ 6|Ϭ¸]!¹÷þ%`oC\9aÿ±X\ec\9aÿÂ\ 2Ýÿì«ÓØfV*ôþ.eb¯O¦Ì£3Å\7f­Vüÿòt\14Ùf>s §Uÿã §ÿ³wþ\19\9eýÿܬïüÈ\91Þª\ 4qÑH\ 2#¯¸ÿ\82\ 4u\8bü\80*P\1cck\0*Nõ\9b/¬Ø[ð¾?ât7î¿Ø\14³èý«ùJÃ=ÑX×fEbÖ\1e4åj\95\8bZBáukq8|\7f\ e\95
+ZD»\ 5³>±é|gÍñWû¹Ðý_Ú©co\9dASoÌ\16\ 2Ì7M~ݳæËã\9d\89³\9f\f\9a\11ýöh9_é!j\95ÕÜÕáó«\7f\1f\90»|¼"\7fn^\ 5ªâ\98Çs\82\85-¿\aºÃFöësrX\aR\83\8a%ðû9¨\r\b½÷\86$^ÿÍÄÁâ§:\97M\ 1\921JÈZÅb§çÓô\8aË\1dæA+Í\8a|\8bu\17       ég`ÿ'nV\1fÈ­_É¥5ÜI%4m<Ñ´óZ.\9a\ 3\9b\96v8÷\84¦ò\97\19Øãô\94VnrE)ÌD²S\9aÓ¨³ÍçaÖUJT'Nºý"\95û\11(\95ûE9Ƚ𦬦6\12õRÕ\17\94"D\9dÞ\19±\87\97*\94®#¬\86ltÿÞ\81 ýB´\870¹)\80ÆÓ\\92cûFh\eç+.rÉLå¯)Lâ%R\99ÞªV¯ã\ 1Y§·6<ý\ì\86æä\12\9bñ-Ü.ï\87UW\94úÃ2¹C2´íÊÒ\98æø\89¡Ëù\12¼%séÍ\91;\8d®½Üf\83\9e\1fè@\825Rê̳B\e¾\e\7f\95¹Í\bo¤øeÃúÃpùCpôggÿ­B^]ßÍ·\93ñÞR\9bÕÜ?\19iåÒ\9bÖÜiþlí\1dåÒ\9c3­Î\19Öç\fës\9bÔ\15Åò+iòÉ^MÇï;Ô\15³p\89^î×\7fvn`ÿ:]ëÄ@\8d²@ ù8j©·tW<î´\7f¹\ 2pË44ôÂ^éÛæ\86\9fÕÓÎÉ%;Ü&\94é¸\é¸\îRùÈ\9báLÙ^¶\12Ëf\86\9fóÿwH\16·Ô+\81ë¤ã\92\93ûR\16PÍ«¯Q\ 2\95ÿtCË\8dÞ\rÆäÍÆä\92\99ÑE\8a\1fQÃî\8aå\9a¯nYÚ\8fâ\92\98]\86¹ÎÔ| hZì\ 2R|\8b¿
++5Y÷ȯ[ý\8b\92½o\81\91K\ 2¹\92]o"ùÂ\9b²\99Ø^ª¥ê%©ï8\7f\98®§¬\81Xê«\11X+êòÉKkn\10\8aû\1c¢R\9a¸\9a>¬Vþ¥\1c\aê Z\1fÐ\81¸\7fí\83]Ê`%ð¾X«\8cÝ\9eõq\14sl·sB,Ïg4g³\9a3ÙÍjÕåjÈ÷pW³Ë>ä¹d¯F\8býë[\ eGßò\91ì\9eß\ 5röê¦\ e_T°G\89°Í'Ýó\93q\13ðWæÍ·Ìr\ f\9dÁÙÍÁ,\95Ê_áÈF%!>ÃéDå0X\18ýKÂRæq9s8\98,\rk¦#Ò\98Ë\bSÈ¥1\94<Ñ«¦îéMå§\r&\9dñ)µ×¤¡°ðj\93.éOb0)O.¾%o5OQ\ 32ú§gï¦vyç²X̪YåÕ¸+üÎ@R+­v]ýs¿CB×Xß5¾i\86ÿ:È\8d\ 3Äü_¢\92s'\9bÈþ?³Ñ¡ë\93¾,¬{\9b\7fî=\8cOa\8fÓw2¼-Ç'¾U\ 2\1f\92áçû\vïöÚí\1cù\9b?E\8dóöy\8bt¹6¸L\ 49ù0i¦E*`+\84ª§kÕ_¸öv\8a±à;ÁvHQ\9d²\1dý\86qÒ1\87<(\s~õ«ÒJ\9cß½²\rÀx\ 3\0\ 5\96Ü(Ã\0ü\rÆ\ 3o®-a\ 3\82c~\9b÷Î\8d\ 5ü(é}*3bÊ\96`\ eOa·ó~\82+\ 1§`\ 6\9e4\92   \94\bQ\9f4ß½uÙ$°¦ý\a~ÿ\18<ÆFýñ\rûê]\82\ 3ÇrnfoЮ@ÿ¨ß¸i\ 3\96h\1e\19\18ÏGù äÄ\ 3ÍN\15Úªîm\19¿\7f\98ß»ô`R3ÍF$½ã\ 2\91Ü*3?Ï4\9d\89W\e÷V\8c
+K|ã~î\rûí\eö<Î\83+'ûMÂþ9.É,Y`\82\10ÃçÂ\11\16¤\8b$^9)ókUÃw¶\1aîRÓ­\93)­¾9 ø»\85¸\17îVÁ\89´ù\8aF\9f\ 1\8f°º|á{LþâËÀÿ\17\16\87V%¯r\8cYîî°»Û>?:i#\84ý;KU\8eßmѦ»\86¾ð±q×C\87\83\16\rY6\1cª\17P'¹F\1174\84nV~ÚÆÅ\9f\1a¶eì Ûéé"bº*¯\ý_O2ð\98x)aöë.\19ü\\18èÕÈ£¯ø`ÇGo\99ll\\ f\ 3û\84\16\190mÿ{b@ÒS i=¾ÿ\17&´óàÁVñ\18ë\ 2ܯ\ f­_Ñ\99Ãݾ¯´F\17¿¹ô.$\9dºã\19è\16ÀóÇí-\99Ãê¹oØ\9f\ 2\93wÎÿÓ\ 21Säö\8b\86F\bý¸\98\8b{\9fo\81ÿ\8f÷e¯ÕÛr±393H¢\8b\17ZÝl\19GáÄ\87\17q\8e²yÍ2\<¸\9f\84\9e.Ù¤ÜäÉÇ\8e.Úü\L\ f~U\\v¸¹p£\83MSôÆå]\8fêË{>wü²à\8fìÉo«ó&\8f_hH\ e[\99(<ÿ×.\1d߯.\ fÜ\920@­U|\84êK\99\9fWÚ!s¯þ¸\94Üâº;ü7\9eñ\19\81\1dý\\ 6\1e\ 1G§^\1dßðà9²Áø¿¼\89\99\90Z²Ðçbb\18ûûaÿ\ f\ 6\859Ô.X\9fal¸e¿»)Å\17\97\1c&\1ec\12êà3gRXi;ÅÁ`\8d+l\10\12p_îÌ©6\1aëÕ¼¶\8\95W=?ºY|rUÁ¸n®Û\1c\a\9eÝeï÷©\89\82¦\1c\QN{¤`ÐãÒÁb>ë/¸ÙÞ\9eg¦¿Ng °ó\1a\8b\8b\81æ\r\f\83ªÈ®é\19\97¼F+ÙqrâÑ\8a¾C½%ýs·æ*ã\13\ 2|f\ 2k"`/Ûÿÿø\9cýÁ\16ÌÐß{\14bª>,¡\v{îêÒr\7f¿É$\93Ò\1e\92DH\9e\11\17Å¢XÒ\83ä
+Y\ f@g\80\84ÿèzI\ 5AµD Àòª¢0\90\ 1`4\93Ç\8bh¼Ínc¥\1c\qµKU\U\vm\81+"
+\83EPH6ÅjY,j\91\ 2'¿}û÷ïïÿ½þzzH\12\95\+Îne¼ÝÞsy\9d+ÐÞgGyÍÞ\9eôw\9b¼Î\96ãÓÞsy»ÞÎ\86ü\ 1oC~\ 1\ fz\99ÕÜø\võ;×ÚÉ%²Û\e}0¡Gï\1fû6¨Í\8eþrj§~=ÛM[Yá§FN\13\1dG}ÇO\ 5;\95¬í}\9b\1d¯øó\18
+¹¶\ 6\ 6]îØ²g\86ؼ{\e4ovÆÍ\8a\ 5µò"Çgh\1a¸£däãÄñ\9fó¦\90ç¸z®ñö\ 1ÌAAû\9b2\7fÍ\1aE\92É;ùj\8eüÙÀÒ@.ËÁÙ6\93ç§K5;\89J_Ëû\ f\ 5,\98éÜ\9fÅiä\98<sòiа§.µn{ÉÁ@qÚÌD\94ýþ¶\ fµÁ·º=\10wlj\9a\96>M\eòA@\13¸ËÄ®/åî5/»ÒW&4\7f[ÜЫ»<Ë4ï'nÂs¿S7éÈý\\1e²ò\16¨ôzÛÁNy½;
+\8aM\84ÍØs0ô\8d\87\vyÁ=eu¾\1d\19É\92\ 4¨3ðU1\ 2OñìÑ\88\ e¼`$V\06\91yó6§0è{oÑ\84lmàf.Þ\92\18Å\11\ 5³\ 3\80\ 2b\89ú'T\87Z\8cvÇT\84\ 3Jþ%\18ôHÄ\r\fÇU\1c^eãz\ 6-e\1eB·Þe\18Ô£\1d\1cy\10Óÿz\8cwHÇñ£\1fe\18ïÑ\8f      \18\85f\8f´\8coÍ        &j eè9\89\15\96÷\11\8cÙ¦®\84\f\192m\18èÍ\ 6Æþ\81Õ\19¡j\8c\99¤Ì\azkLá\ 4Õ̵5/ÓãdÅx\87kS#\1da ØÿÂF;\ 4\ 3     \94\ 4Õâ¢P[Ê|JÓ\19âÕ3tÀqoþÚ¦v°TàÃó\18ªsjuEÓTî\98OùµJ\9d\7fJ\9cxÓUGû\1a¿½ë½ªË ¸Tö\1e\81\85\9e9©X`¬ª\83\9f\8f\861Ù#\87\15\94j¤æî\15 \9e¤ O²§=\9d\ 3
+\93¡Ðq\95'G\9ea,ú0\95,r\93Ô\99%gá¥#Ùùû\84;>\95Z¾zá\ 3G)©ZC\b?æ0\97oØG×Ïí\1d
+\ÙÒUR2¿Y\91Ø\95møµmò&³\94]\ 1ÑÝøêÜÃg«XØUdñ\10QÀÛLqýIÆ\v§=ë°Úk\1a¯¾A\r\r½eÍ\Ü\94\14\18iÓ1§N RÁ&\9dÍ´ðjë\86Á²=>ÜC
+uKë®TëË:uäÁ-~¸æ"Zt\97¥3âåK\ f\1dr§&ÖR\8b\e\88:¼0ÔéÂ¥:-çX\81é?íÐ\80eW\8e\89\8a¼t_ú«ÇðjËÔ^jËO\ 5(×÷ª\98­ýî~xÕN:\95N\ fÿµß\85X¦íN¹ÿêzbV?\89Xþ%cø\95\8fÿʱú©¾Ã¬\7fkq¿^Ôi°¨Ë1aV? \82\94Ê\18J};\86­¿XU\8fÁOÑlïßÎ\ fß6Ç ý[áÊ\15ÃSí\8a«\1fÚÝr/zÆ+\ 6ª\83þ!kÖiNÞÃ\99çøÔ"SXÿâ º\14\ 2û      /\8a±þf\bÓ\9dþ3õ\ 5@\b·,Ìa!\ 1\80\0
+\ 2\ 1\13Ö¨ùq ¶~]lYzm\9fA\18\80®Q\ 3\ 1\921§C¦:ÎáéžéÖ{\0\832Ö4«=á@\12Ê\1f.\95â1\ 5Í1èQ\88
+\85 \17\8fZ´b\ 4êWÞ£\1d\9a1Ý#\1fd+YÇ"XÑ\8d\9a1\ 5µ¯ýôb\ 6\ 3Õ\88\90Y`8V^àÑ\86»\931§Cã\9aÖèycF\1a®=\18äÀâpä@À\89Ñ\1dÑ\88\18\9bo\98\8cwfµ»\10SrýøÐ\89çF\95­ÒÞ(\85\1cÛÀÝ8¶q¹5\ 6\8fâG#AÏnÜpÜxæ\9fç8U\87íà\ 2xìu]\19'#õU\81íàa(ÉL\ 2é«Ço\ 2J\86¤T'®\194±o\90r|Z³à Ï\12\88'"o\96\81ä8Ý\8a\83;yqP`Þ8Ó\96÷+\ 3׬Î\1a\8d\fÔ\9e;w\8e\1aô\vPÂP\87É'µ\ 5JEkJyET¡8\12P\9bH'},"É(³\85\9a\9c6ð>\9ew¡èóù×\8e<7캿¾¥Ü$å\83Õ
+wFÉ9í¿%J8iÌS$ý=³\9f\ 4æ\b\82w×ýÖ3xáO\ e_v)ÊÍNM\9eQùLYJ\ fó8ô®\13\9aFU\eÂVR\9c¥QRoË\87=/Òp\9d\1f\\v\ 6\1as
+SÊ\v\85¤:² \9c¦rQ|úÐSÄ®     Ë{'\ 6÷\93ßÈNdº\9b©§»o\ 1/\1c*{,èÞ\9d\víàx\19Þ\85\1a%ñs*ɿʧ+Ñ\9a\8d³S«ÏIp¢\15°O÷ÚT%góºn~\88\93¾æ
+"c\ 4ï¬ôî(\1cu\dó¹\92yÚÂYp\86£Oþ©Çk\9a¥D¬\92s\8bûÇ\1fÊ\86.yÇ\81OWôa(\86^N\86\97ªêE9z%\95Í
+\80\ eú¤j\8e\94æeë\1c)Bîà\9eµ\1e¥\1a\9fõ&\9eº\96T\0Æ¥\11¶ÂdÒÁtâ\9c\ 2\89\0Ô£hõ'2GµF²y\ 4:1N/S\9c\17VíAÆ\7fû¤Wõp|ÚÚÌ\1aT3®Ië\95N¤zÇ\12\1cõk\88\ fW\82\9d"Yµ¾²\1a=­ËE)éi%\f\93\82\85k~ð§ÿ®\1a\86Lam©eÁgY°Q\1d\1e°T0\8f    ¶T\8bYj¥Dµ*\99ý-ËD©\17²Ó%\r°¥ª\99¿\8aýzW\92sÅáÄR¤¾Ë¯\r\7fìtJ\94{.zµ}r*kç\98\82¢e\92P\9d\rÜ\91ÝÒuK¢\95\ 2\ 3§b
+\947Ö¦\v4\9e\16Ír\9054ACs¼\86\8dr5Å÷XÚ~ÊyÏS±-¼NEÏü9\174?áÒõí\8c¹\1fx\bÄ\ 3²\93Èà¶Þ\8b-­F?Ç\1c+{a\1eFh\÷{ì\1e\97\7f.\8cs(Ä=õvµ\18\81\86]\81ɹ\82à<}   \ 2Q\98h\fÊ)ôb\ 2\v7\955yoÖÉ\10\$õ\8dFW9\83SÂïßF;ôc\16Ô\92\97§Ê\9aq\1cÁl·z\13W\97\18-æWí\9aq\1fü£W\97\1féjIÄ{\ 4fÉ¥(\99s§ñ·5\8d_Äézât½q9\ 6\7fÝÒõâ\r\1cÁ9Ø)\9esHám\ e\8b\ 6\13-a _\9e\96ë\90KÅA\9f
+xùêE\8bZiàÏ\1aAÓÒ\80 þ½\83óuê\18L£­+\1c\81\95 \11íH\8eAën\18ì£|ç7r\90d^µ\8e\98\17\9d\82\8e-u#\84¯¦¹\81ilâ\ f\90GϱP_\9f\89Ó\ 3Äé\81âqñâqñâqñâqñÿg\1f\1dÔ\14¢°ÞÕM½Þ×\ eªj\92\19ÿMx\84ý\1e=TÖwÀâ/7½Âª\9aÎð\9e=TÜC\1c|\1e\14\17ÅT\ 6\92@¢PÕUUÔà³U7ã \ 3Ôÿ\85\13h¾à\19á8\ e±Øâ9\ 5°\1a"=Ú1ïQ\88\11\ eð\12\b¬xqáàÕA\ 5ߨö\aÓ\ f\81(FðÑ\8e>A\ fÚ1ß#\1eÐøòïM\v\8d\10Ü\bǼF>\92\ 2VPMn` k\ e;´c,Ô»2Ð[\98\ e1\18åϳ1\ eÌ·¸F?tÒ²[¼2òk\8d>ÌÄ\ e/\9e~MHÓ¹É\1a®\80Ò\8d\14ø\95SbUM\89U7þ5Sgn6é©\15\8a9¸(¬Q\9d:1$\89^¼uÒ\1d(þ>Í/\ ft\86é\9d\13\b ?g³U\86\86âÒB\rÏKt\87&rªsÑ\r\1c\1a\83F3zr®®PÜkz\86ã\16÷Hr¿e\ e\1d¼X\12¤<:ÂwÊ«Lû\15ZgâUi\89U¦%V\98\95ZbUi\89U¦'fãÿ\9eU¿q#ñUi\v.\1a\17Pø M°\0\ f\87²'\86ê\ 4V\1c²À\16ùü\ 4c½F \19V×F4&>-òçÒ\86ø\ 6>'À3/Ë\1fJ\13\8bF4'Ò\80Ó£\1aÔcü\aUä:O\90\14¼üCªú\17ød
+OÅsð\17`>.û\ 3ð\18aÙÒöÇVWÅ1ñ§»F< UuF=J1Ó£\101Æðòÿý:1Õ£\1eñ\18\81\9dÖî\8dIÀ fÙøÃRoïNjMýìÑ\8eµ\18÷èÇÒ5\87\ 5ñ\11\8bSK8>\14×\ 1ö\bè³\0 \9fÙÈݪ1F%V\18\95X\7fûU\84\95\e\83\87­ÏiR¨Ý?\8b¦!\ 5-§¥Kb°ºa°Ì¥Q¢8ãû\92\8eznúa\14©pÞ\8f£\ 55m³Ó\ 5\82\96oT¥\99õtÀ ¥\9at©j\8d\9e\97õj\18®Ý\9c\9fþ<\0ë*[\83R\87iB\11ÉÜ©n_aRÂ\8f!O¦/·\81ͽ/ÿ\vÐ2¦ß5)«¤¾þ\ 6u\9c\8eÂ¥ýk9\10è¨z¬ÏÙç\94¥å°S\93Êg'\9b{|£ö(ANhðéç©Qø8QRôÚ\95\1c\1e\19pS\16þ\16\87Î¥þ*"S[è1ö<ú£\b1ëùú\9cétÂ{
+\9d>\86§;7F
+\r?\8cé°}w£Õ\86\83¸Õ\94¥¸¹nß\ f[6\88\12
+sÇû9¯±Ïÿó¥\8dø)CÂÓ~ö\93¼-<áô­a\9bå:^\87N
+mÑV\9eêéUU%púS°Ñ\87
\97hYé?C&Ë\92]&\1dÞ\82ò4 §\8e\1e/I:¥.û\93\r\9a:áÕΧUøyôÇPêëRÃ\87Ò7ýªÖT\1a*®8û2OwEÕ\9e8Ù*6T4_ä(AÅ\9a5¶ð\13(¼V<*5i\8f÷tjÊ\11\82\98\81ÁQ¸mÿ]\1aPc\82\9c\8d\blÑ»iãC
+tYañÇÆú×$¤§\16w=vDÇ©¼\91\8fT;ùÞ!+á\92\88;S\1e2±¦4\88ÒJYü\9c\12T¯j¢F;3Ïí,ܹ³ÒJºrfùË\e\97|7-©¾rFËä\8fç}6\1f&l;ñ¸m\ e\19Ê\1c3\958\9fÊ\e·\817\ f\96\1f'¯Íñ¸¹°×&\ f\fU³Ã\15pðÏ(¯û\b\90Î\19äíâê5¾§K¢íòz«÷óê/ýç3ö¡\9eL\3É«\86yAq\ 5[üOÑ?Dý\13ôOÑ?Dýð\v\18\ 2\16\19ú}~û_Ç6n² kÕp\ 5r\ 3ÐÍè\98W\80è\v\96×óúÚÏÃݼîy\8eWG±\8e\92u±ÇÈNbÚ­Àå\9aÞ\8f]ÿ©\85Ë`\12=wÿ-óÿÄ\8eö#Ò\fÈ\acMû\8eÎ|\13æ\83ýå;\8f|[ûÅ\95¾}1­n@õÏjcö\1dº×#ó²äY[\82?p@\83«SÿñÅ\95¸9à2\ 5Û\9fÿÇ\16\87 mïWQ.&}7i<gQ\ 6'CV^Ò'Ùh\93\94ÍxþODVk\82¸×O\ 19rxO\9e9\a\ 38£ô\95ÿe£\1e\92¿¼hǤ¯î\9aq\8eÇÏ;\9eé¿¥rëó\91\9f¨\96\1fã\15¢½ßã&\1eÖÇù\1f\ 5\94L\1c}_Wp¼5ó&\1e\9cf3\19¥F0\ f:DÃ\9eÚªËuº©\9båð8\e*¦Ê%à\17¾\96óyºªÀ¹sÕ=YDµ\ f2\86ÔÎ~ÊËm·ìVQ-6¶lÚåv\8caWU«fÎ\11ù³f£gÂ\84\96\8ei\1c6jÖ=\1f\9aµlâ\91^\88­µ\95TÝU\93\ e.\19D\ 6VÙ´\ 4»Ðο\9e\92\91¼ä\13\14y\14»fÁ4C»\96Z\88\ 3¥ª\1fÁ\83t\85\95/3å6ö¼ÿ=\9b\14\95\ fýKf?,d\vn,¸ÈÈð\88UÂ@\\18¦2±ü´|da¸$EºQò\9c¾3\18õí\85\84\bñ\90r]õ7\12ºº»y½¯a\97\8cK\82\19\19/½B\ 2\1e¸ò\86\83\0æX\85ïF\1a\13.j\f\9c¥×ÆÁ\94\95\7f®n²­%\92¼[0¯\11Ëgë³ü±ûÄLuį¦X\98\1f5Ös2\91\92\936eôçI\8d_^\12\92f>^&Þù{\94~ô½JQn\18ù m76õëÚ \86«(\81\90ø\81÷/ð\8c\89\1e\ fÇ\16Ìì;¸v\a\1c2!PÒ\93@d\ 4²\94ÐäáåGc,ô\17_nĤ®YQtàW¦\f»\85«yÌY\95\12ôyþ°êæH\8dÃIÁ°ó7[í×\99a`N   \95\13\15s\1f \17¤\857·ó@²¯aí5àÐWúþ¿»îÙYmöö#\95¢Z\16\95E\vèàÈ=\87\r1o+        \97e\9e\ 3#\84\1269S, ÒÇØM\9c\83çѦ\ 1ºæ/\18 B\8e9h2:?\87A,º²¨\9cé¹²eô%\95²/ÕH̬\93\1aW\ 6Z\19\r\91\1c~\939V\1eÓ u\ 1\14\99\97\9d2\9bp¯Á\f3\ 6@\97Á±Í\e\19\9a\96­åé©æÚ«ð2ó0t}\82MV7{Y 0hÃî\e\odQß«M½\8fÇ¢-\ e\9a½+\13Çð\1fä\9a½>\9e\8eÀ&~ÃF±.Z\0ô;ª&]Q\13\99v\1cD²Î\12J6mU\ 6bÕê\1aÉÁª\8f\ 6oO\ e\ 1\87º)\14Éñ\96¾\fÎoR{Ú\9a¬Ä\8fL¬=&ù8(Ó\ 2Ì4ÂJëõîõ\ 1ë\14| g<ë\19\1cL\97íæõP\ f­f-\87í\1aÇA}:K\14\99\86\98=uÌ[D\\ e¬\8d\8c®z§?IH{pt\10f.\92e¬yi\7fNÄ/93\ef\8dPÃ-é~Ç\91\8f£'ðé\0z_è\98ʧL\ 5\8c\7fG\9b,4ªF¦¤cö\10Ü\17\16dG3¥ûJZ`\89\ 3\9d\91£È\ eÝ\ 6Î\aýjHÿL¼\95ý!èø,RhÜnê묵w:YwØl\8f7gß_(»g\7fcaÓÕG÷ÿï¤\16\10}¿u3Ý^\90[ºÒðüúÈT7Éy\9a\ f\væïw\8e»\8d\7fÞñ>_Aô·P42\13\96\92\8bp<éKÚ\86ÿ{ÁÊáæ?i.\13´ÎJ\7fü²ÄäUǼÂH~á~?)ò.ñ\9c<ªïýK,L\rfüK,NG\90Yba\7fÄ\ 1!2ºãÿøõ\19Äñ\93äÌÌy$ù\ 4§Çg&[yìäÖä\vñùE\98òÍ?\18¿\1fÅm-¹@+\82VÁj¿À\16µV       \99\e\81]\1dV\81(-zèÈÈ\89 §ÙNÖùöÙJ\a5ôôOjø\18\8ay· E£\98Â$GG;-\a0E\8dËçÉ,·é\8d\8a#\88#ñC½G\ 3\84ª\91\90ua\15\9a\ f²6\81å+Ø\vWÔwî«vpEÓ\19\85\8f'oò>>*\ 5\ 3ü§\80ï\aض3¦\9c¡!üd\ 6·\9aþ\8a,j\7f\8dwÿ\88m}f\8c=\99WÕ+_\ 6  \89©IO\91{2,\92\93é\1d\80Å(е;IøÁ\1eg1\8f\1füð8t5þô¤\eV8\16H\8fñH\95\8f\ 3 Ò\9f|×ÕD\b\ 3\eV¦ÁU\95Jêd#\19:n\83¾\0Ïäß4PÌÉú\92'nQ=$\81EA\1a\ 5ÞH\1dÄòB\83bN\90ÞÀ-Ïø{¤y\12\1dµ\ 5qz¤ÁN9åq\96r\12$<'\ 4\8fC ¾\11m\12ò$9A&ó\98\80£a}º´óHõM¡XFy\87\8f¥÷Í.\1c\80ºÕP\\823«MÐ\ 3cnÅ\81\99u¨ÚSã\ 3ÞÏ\15\9füjälÈG<ÚÓ\ 1\1e«ÏP"~uÜgä]ϧMç£ü\95ìûS°µF\ 4\97\0ñNÄ9|óÍ\98\14\90\81\11\9c\7f'ÍH       ²I9õ\0\f\84\14\97\0¯·bJyÆ\97\12R\1ebÄoR¯p\96S°·*OäÅ\7fJg2>ü\80ËX\ f\14\ 1\95ObAf\ 2v·p ©\82\0\vÄ
+§+#,»ûòæk\7fåv\82\80{ëÕìä\92E\93wø¥\0F\1d\89\19\84"÷Ù_\1arXZèr\90ÏC:°\8d\10]è¯Æ\eNc8Ytå\17\8f\83\94¾§(ÑRdKµu\11N\91\8a\18c}\ 1ê&\ 5\aÊ¡äÍ®HÙN\95ñ§ÀT\14ä/ ¿ÅÀ\1e·\94\ 2=h^E\08r\ f3¶ Ç\80à\82£\87Ð\8e`±¿ÊÚú]\11Ò\b\ e\ f? e\81q\bºÙÀ\ 4Ü\1eXÛ©û\ 4lXPÌ;\84zÃôi#|6.íݧ|\1e\a{ôûÆG1ÅnÐã³)+ºý\80pjÙ+»K\82¨q&g9\1e¥ßu\8b>
+ï»1[\87oêÈ\v¿à°c>ñß(=ö\1a2\91evßÂöÇjoÀ\ eS$@\9d^¯Á*`kBv\11²ÈÕ{\85\9b\ 1(ûÂì4<Âý\97\b@\96\8c\8a>\0G3\0\f+»6\83bpx\11ú,@\82%ðÔ\ e~ÏRÖX×lÏ©¿\0>\98\v³µ¦k,\1f/¶?(¤\99rª!þ\81«ÇØ 3,;]\b\19°Äw\ e4Bc`\a0ëxÑ6\83@°,âfj{=3V\80\16\10\96\1cæ8¸D\v\87\b\83V!ÆF_ò\18q\98^\17\b\82\92xûjõÖÇ6³×[\ 6ë[}\ 1;
+Ü5z6äà4Q¨ø\80\1f`\96\ 1á|ÎSpõÎÖ£\92v6²"¹\el\9fH½Ôm*?
+\19\\95Ó)\19F\97N¢2\12¾6Ô½­%µý\10\15û¯ÀyÚ½\93\92B%\ 1@\10Ûúãí\81Í\87ö\12õ¼aÞØ¯½ØCð³\röîßÔžÙ\85¡mÐ\8d\92Õ(ç\80\81óHÑ5ªø\1cé\8b\aF\ 5Tý|L6tçfO¢báä?;w¡i+ÂÃÒâk­Bü\8f=\9aÃSïѪ\8f\9a#    Éí_\a¤§ö\11þáê)e|iP\ 6äû\91Éþ$0£%|nMìê\1cÉÔ¹\8e\99\9eº\bÊéÏâ¦ù\82ÉK\16á\88ýÕ\98
+É-\93×>v\87*n\9eIöÒ\14$ã´iù\87¯\84PI=\0°®\ 2¼*Û\ 40zþ¬½G´\1eýç\r+§À\8e\99õñvØ`\8cxV\ e\83®ÓP\0n/\eäÔs¡\9dFl\ 1°º%Te~WÆ¿\83\8e2ë¨í\82ÉB!Êí¯J.ËÀ\ 5üÜÿËÜÑ\97º\83æ¿Ü»j\7fÍýdÃïä(\98}üU\13\ f¿\87\15ÿbHËg\8b\91\1c](\91">~ãÛñ§æ\94z¼è8£A¼\ e3¯X>ÅU^À?ú\8aõ\9fý\ 4\91\aªhkØÓ2½3\96?ÿ\16\7fþº,׫\ 6\7fý!\90Òû\8es\13\8aÅüügÐ\99\9aÌb3Y\9c%V\ fåó8\?c¤\98æ§)\a\8b¡¥óu\18,vÿqÉ\7f\v[ÒbË\87Ñ\87ÿÒ³\7fýÿ\rv-{M|¶½¶½¾¾c^ã_\b\98´òÆ\8e\9e\1c\8b       ¾YQ\10\0¬·×÷|̯ä¢ËP÷}\1f«òø\14\13½OeÝHNx\9c\9aÜ\ eã\93ý\±øËî79Éÿ\8aòǬ}!\90\87~º/÷V·äþJÖíù?\91ycó­J\1fÒ5äV·ïÌ\87×+® çòôÜ\95ë¥\8aM+¥¹\aÕ¯9}*Ûó\97ß\82µ¿Í9\ 3\9c?ÿý+Ë\1fU\90\8f¸\1aÞök.ÿ\ f\9a\13åL\8e\98\94\90         Ë\0¸´´È4!SÝ\85Q5¤L\ 3'm&w\17Kra_Õ½¥ý¥Èɬ\9cÍ\\ 5\9b3]â\1d\8cæø­õ]\18ZNÍè\88i=Ø\8e\b§e·Ú_¢2Yû\ 1ÌBØÅStù\92Ð\9bÇÔFmu£gS\06\94Ë0lûL3Bß\ fê\85\9b=0!\0\93Ò\17\ 2\8bBáw\8f¬\8a3r\80±ÔR\86@ÄÛ°xcRs\86,\ 5£e=@W2\989DÞÞ\14çhÔ6Ì`\91\9e\1a\97\8a\ 6\17\8d¦\94\a  \16\9e Èè\9ez}\9c\99Ç\9e\rÒñB\ 2ñ[ù\12f|Å\10\88ï\17H\ 1ÄÏ$Ál\\80ßn\90\93U[\17Éu6æ7Ú\82Ê\98g¤Õn\ 6\80\82\ 4\86D«î\r`>äùhØ) ÊÛz\ 2\88^E½Y\rȸà\98¯Ð½bû¢&(A#RÂ6ðp\16\864ý#Â^iï\9c\16\81J\8c´U¨å\0¤E\0\ 2\14~F°W\84m<\ 1\e_\97\®ÌîÐ\8bAoïµ2´\82!±"\ 3ªg¾a§mª\ 6\8cx\ f\19\v\bvI\99\bÔ\88UA\82U;÷GÆNGnüèNZ4\a\18¤ÿ\10ïÑHY`À\1e¸\93Å<\ 2u:è\80º\8fÑO\85
+«¸2½Ù\98«!3þòà\97Ô8QYË\býí\8aT)Í\896ä:ðb\84гÌ*ì\85\87Ñõ/\8c[º}E\95N5wØ/>øVG\v45IeÁhF¤8=\ 4$ÊùCy\88 sám\9b;\9båÈÙ®»²\97)4§½\9a5ÞcM!°\9aùËã\a\8c\97/õd\8c\ 66\1e\9b²¿\\8ewµãù?FH\ 3öß\foã÷¦\1f< Ø\17ó²ú\87©¾Ìl¾ :²\97Â\ e\18Ñl\1cûaÜ\83\8e\ f´»ú\9fÀ\92Ö´\vVþ%­a\94\98Id¹\ 2²3U¯\ 3È:ðJê~\9amÚè]\ 4+@µ\9f\1ap¼Û\84sNarP\b¯H´R\f\1aò\93N"Bõ+ù:2àÔZoÈ\925\ 2¹ø$y/\95"\ f³\7f/ÛȨ\99XÂâëÛ`\f7Ïä@[\17íDp í\18Ø\9eV¬Ä¬¶X\90s\9fCq"<\12\91\10ð|i\91\141-\fÓ:@øÇö%f,Ø\8b\8e"\95"\9eL\8a¶z\ 4\8at\92?\ 4\8ap\15"\94S\16\97ΠȠi\ 1¦\12\97õZ1[µQnÖ¹e\15ò\90\13ó.Iõ}¥\97\rRYÕ\1e\ eNx\8f¢.ÓÃ5ÿè\ 5òôÀ\93É£\84òbl\8cüBM³ï\90ÞÑ´ëà¶J\vËâo[#jHÎC|f\85·Q\fÞ\81¤)\85N\9d×E(þ#QáöìKD\1fO]Q¢>\19ú·$¿\97´\1d\94þZ´°¸Ü\9b:\98wÍG&ÍÍZl=åHgJ¬·u\a-\8aV[Uï\10U[\90\94V\89V)ÇQ+#RY\1c:²/x%}!ä\18\8etr\ 4\14\98\13»0\0´:³¹\v¬îa\92\91Û\v7ë/ÚG\95ÚQ\7f\1c\1dÈm¯Ð3èëdùXá\8c\vó)¸ëA¾\95¯èf\17¬Ì·^°,¾·4#\88¢_v%\9b\9dº\f\9eÌ\vÞ²\ 6GàRÀ\1aØ\a·Ó\1d³~£\ 2>\93\rÔÂR¤oÄ\Èy\11ì\9e´z&\a.$ÕF\96O\84¦N\96\e\ 3&\91,\9dJ\993°Ù1l\9bdßö\91̸\95y^Ð\eá¾\1e^Óî\14b§÷\b¤\15­:¨¸gè\ e«»\7fÂxOÌ\92&vÓÂ\ e\ 3UU§Z5ضèÛÅi\9c\eX\11¸\9f~Õ 
\1c\e\ 4èÌ\17ù\-p?«¥Ópy\10§v\19[\f\84TSÇÖ\10³\8f£º\81^[\96Õ\91è­v\19®!Ã1-ê[z\890³¤1¡{>\91\1d)\97}4ëÀÒÛ_¥|Yæ \14ñ@.\rl\83¯\94 º+Ö0\9cib¾\1a<\81VL]nj*Âz)\11ºPlâÞ§4\88MºÓ{Ð*#Ä&Ï_ï\1cýºõ\92\8eï!GüìV;¥\ e&üz\87\13{\98Óà[æ\0aezd\1a\11)ÌÕÞQ\18z0àÀeôØÕ©ò«á¶ \ 3)ßm]VÅd&cdj1.àlÆÆ\ap£)­\82è\1f¡\9f\86Åm+cd¦cp\15\18q¶n\\18ÊomÛéÆ\8eÀî?-¹ ·Ç+ÕÚÆ!Шð \91üD³ººékm\8c\bÒ\17\ 6¾;éÆ0w|CO<ø<ó\8cðyÆ÷\vàKu'C\18\91Ê!tZ5c,¿\rSòò~®Øè
+Õ÷/\ e\8a¢8ß\ 1ÃûD~°¥,u}ÙϲÙe\8f       ÑY\8eí\96\12\16\9br,#¶÷«øT NÊ\1dæXé÷Ä\8e\17à\9e͸ØN°#\86ù\12#\86öl5\e\9aâÚ       Î£\95\80\8f\93Y·@ÕfØ»â\8a?\7f\8a|¢l\14pÜX8î"¥£Iïaßd£\94ï\vB_\8ehKðþñÐM       _õ\13§xô;&½U}ùÿú¤ð¡ÿT÷Ú\e\1df\9fµ\9f®2,\8fû§ÿùR°¿ý4­ïRo\89ü2_+#\82ö\1dÿ-\13Ïó÷\9d\86áÎ\e­ðüü¯£èr_Ã\93.\16~\1eçïó®~ðø]ðÈ\96_e¢§\99±ê\15÷ÙÜýûîs\Û#âr´\1fÉ\ÖG\vËý\8eº\8b\90þ\ fY\ eû²wðÚ.Â[Õeÿ¹ûÄë­\99è'\a«Ó×yZï8×¾Æß¹\98î\w3=ÌçsûG\f¾D×\94CÅ>)\7fgy«\9cë6ú9ïäï|M=\ e;Öìµ¶ò\13\9e&in\aq\9a½áÛë:\8c/+\9cÍ\7f\8f\ eßLºËN\19E.pñ?»\87o\9aù8vô\99\9fîëÿÓ÷Ñ.PÿL¿#\87n\aQ:ß(^{u¾Sá%¤v\85Ô°W4WRÑÅáÛ\81\1eÀ×tDY\9dõÝ\17Á÷õ\8e\9d²ó?ëáÛÜ\12V[\82áJ\85æ s.î\89hF·m\98FR5\10Î\9eÙ\1f\f0"¦£Ö>\16\87ÛèY¬luãÄ+j\ 5ºàg\86o§èD\82tK\86o¹¹á\9bÎBá\9b\85Jü¸\ 1\81Q\16Þ\91ßX>o\vç.\87\1aÖp¾x\0ËâËç\82\ f\98\93\1e]áü\ 1ØÎo¥\8f\886!îèjÜ\0»Ñ~\ 5\1dk\97;îÃèÜpà\80~\7fí²÷\1cA¿Dêæ´;¬%\ 6®h
+`ýrYª,Í\16jþ©\9fÆ"-^0ìG\bw\16®&¾?.d\9d\1a\82<MÁ¹A\82÷ðn!ðY\8d\19\ºx\95\9ek<JÀ\ 46ùo\87\89\8d\14\9bÊ\8cq`.sÃ\84Ǿ^Wî\ 1ìU·^²H\ 1\92½§Q\91ã\16%\1e\1co\85ðR\ e©Ë\\16%\15ñ!eÚ\93,]\1cEc\9bÁ
+'\ 6\93ÿ   wà#7}4@Eæ\9dLSs\ f\1fºpGV]\961\9dúËð7\88<\ 2Ê¢õ\93~Rð2!¥Çóô\ 5|W QÔÂ5\91\ 1\13\98\ 6ûÈí42îÀ,¿ÍKSßÝ\8d¾¶hñÎÒ\9bÛW\10.¼@N­ýÛåÜO¾Ém\1aOÖF¢E'&\a\9a\ 1ëÓþWp\17\98¹)ótCÿ¬VhXâ\16|b\15ID-g\12ö!gÄ7
+\94\80\94¯ãÄ#\88yø1\ e§úâ\1dK1\ f?
+!çï"\19[\8eÒ\88}\90Y²zo\94ñÿd\1c\89>W¿w\12p+¾|V\9f\92¬xJã\13ê÷ÐOa¢\fÃÖo\92\b%v\9a\16Îßi\85£ñÄ\9c\13·Ã²\83\134Ûá!ª´ÄÿÆî\ 6§}\ 4áîÙ\8at\8cÅ0ã·\8cS\0::QO\7fý\8a\9a«\12n¶(§G\15{\14È\1c¿1\14Å£ýQL\19\fÅ1^ÒÍÄS'Ç\90\15âÞ>û$    ãþ¹põ\8c\81
+íÝì½\88´k{ê\aHíÞó£sË\1fY\87N$Ìh¦2¡_Ê\99\98¸}yX(0\ 6]Ï¿OB»íi\ 2\92 »\95ÑsYêJ¬CÇÞè»»-è\0\8dÞÇ*`\84ËrÀõ°\81äÐF{\14\11\9cG9êM\1f¨\ 1Ú¿*®=·ì(/oÖ\17\93×}\90\J\ e÷Ó^\96\90\11²³¯¤ªæ\9e?« \12ãÚ\8e\94â,u\e§¤õ\v\8e\16çb\19\8d(ÞZ\8f\ f\88y\8eÐIx\ 4BÖw·¨\81U\9aÅ@^\94-\88y\1a\91<kÈÁu(\1f®ÑÔ\f°\17e÷_Ë\80P\fÀ#A\11{jð\92\v1óÎL´\ f¢ÄET\92Ù
+Ì^¹ägt\13*\ 1ß³ôETw\]°Æ/\v Ìm\97"yÀU\f\ 1u\1cO¿Åì\9d>\95tû¤XBj3\9dºï½ª\17ø½­cÌ&~ª\90\17¹ \ 5\99©ùb×ÙY\88\12S©uW\8f\81Q~tçHµDu_\97\ 2Ú7I\17\ 3Ëu\ 2VÛæ\0Z9\vÓ\83âÑ&äÙA½8\88l\85\9cäw\19ìÀ±w\19¿y\19¾sÁÑøj
+²î\84\85\a\13`\8c\ 3\91xÅ2\8d)\vIo\ 4´«µ]ö ­È\ f_H{\ 5h\1fç5\v\90\ 1bb\9b\13ãîM6H\11,\95Õ÷ew\9dÕ{êÎî\8cÒùà0]àeÎþî_@;Åu\ e«9o\10\ 62\re\13KlÂóF
\1f\86âÔêOª\14H3\88+\9b
+\ 2\ 3H\v8=zY%ã6\94\13]\a\96Ò¢>\82\97O}\ 1vK\19ç.ä æ\92I\13]+÷,\10òiݾÉ\91r/Ë9m+ªÍ\b'\80\9dÎ<"\fi"]2ô\ 3\ e\9dí\8c`fÜÜ;n,\99Ë\82\8ak^>\8eÍÏ\87\89ÚP\a-\ 1q\ 3\83Rx!Í`±óâ(âe´ûJ\8c^*¸\bjw\0íö\ 1Û\9f¢\ 5è\\ 5Áï\ÝÛ\9aúojÚ/Á\8a\1e\8fkd\8f¾â\9bÎ\0\v³Ä2c÷\\rÆÃ\99x¸ßõ\ faqºU\16\ 1ÿRáúay~xyuÇ\8f±Ö®Ì\9b¸Kª]Ü;\ eS\1f\rá\80ÿ\16\ ftOeù\86ù·â\9cñ\97·-[\14\9eR\88/Q|v:¤\89qÌ)r.\8d\8baËÒ÷1¬s\ 5\7f\ 14e¨!\15?\89/zbWVøï&©]\94ÿ5\81üö\e()b±[\85À({¦åauuÍ(\1f_«ª²c}Ïl\1dì½X·t«!\84îk«±\19í¿X\84ö\80z\81]É5t\9c\95µ\96BÆ4.\ e"Ö1¿æ\8aeïDüÆm¨\1cï4}°>å¢4wi<7\8fûÞɤ°)\8cJ#\82-\89D\9fºüö-z,\827@Uã\81Ew\8bi\0ï^ô\191ëV%ß\v*;«\\\9fVy\82\12<\a\1fl%°½¹;~àÞÓgï\ 3\89±\9eK\89\99\9e'\13C<BÒ¿( \1e;\1dµÊAÛ\eu¤Hì\83¼\rwtb\17}-\b\8aB\9d¹ÜÔ_¨\b­yØ%"±öÕ/¼\82구L\89¿¼\82@CÆÐ-]\8fßÂ\r\16ÜÊéÀµ\9cÑ\9b\11\ ew¨"ZÈÈ6|Ò²T\7fõãk(£C¬´\ 2\ 6\aÊ,cKg\9eh"\ 4\1d%dj\0ßÞYq"qà¾Y \f
\9b\1f͸\ 3/\90ù\80û.^X\ f\ 5ÊÒ¤H­rÎ\19[N}Bë¶AS[¨ßé®H7\17î\8b«äÉ¡åöòSS2½§ã;SÌ$\14\ 6vÈs\94\0Í¡ª ;½?>]_Jæ]j\1eb\85Ý|ùßL:\bÍèÌ
+ »A\ e\11¶´Ýý¨\f³À\vËÍk\97F\916\9f\88O\8b÷|\ eÈÚ\9bußwÅ×_Y䦹Ù^Óô\1c\16\vn;51+ÚW¬Ì\16tp\wq\7f4Y¾Ï§cf\9dFÔ4}:ÒiÓA"\80«\17giQQ\18 y/\9a<sk ìm¼P¶\15å\99\82\99 s¿Ð7C\80êk#\eQ"\ 2\1fØ\0\84Í\eººü ZMÉ\90_\10\b\ 3\ 4=\v°åya
+Ú`±\1f\1dUá0\84.3§qUÖ.¸fwÐ\ eÝ\88C^1R8î¯ðá\1fH\ 5¼#«òp\8f\ 2é\8c`L\a¹\9f]\8bÊ»\853~\19\9e¶Å\ 6\ez¿\8fõ=y\9dX`ïú?(\88\97ç\8e¬¿ØÎ5'¨\ 3-lvír{\82ù\1f§a¼\ 2Ò1åf\8aYåf\95²1o\92D\ 4}¹F\9a\9a\1cah\8cø¥à\ eõ\ 3dÒuöV7%5\95áÔ5tùÓI¨©]?XSp\a·\97\ 1G\9fê\8f\1c\90-J\8e4Ü|I¸`ßìºþ\18wÞµ\r{)¯¢ p\89ÍË{ñ\8bz\81϶C\8d`F¥øhá\8bP±­í\8eö]y§rC2Â!4Hå\10È&?VL±zDD\80\12¬+\1dF\96\80ex D\a,\0\90VL\90\16\1cÓvd4\ 1í|ñ\87ü$ËáÜàË\17n\7f¢\9d\10欮²÷¶?0×\9a¬.HÜRïò\95/¼ë\19á_ñì\ eÔ\88Å\9aÇI0»ê²ì3r\958­Å\8cäkqÔàrv3\8d\ 2EI\98%\ 4ñx!\87\83\9eJ\ 3\1df×·\1e}\16Î×nÀ\ 3·ýc'ïÁÝ$JûZ\8d¤\ 2\1e\91¡\vM\8c\18 \85»î±¥$ÿU\12¨(\8c\8dP2\17P\ 1 \10J\0\ 2\84U\94P·<J\90õ' À\ 4`à¬X2à²Ö2UB\16\8b¤h\80QãÎ7b¶6¹v"\90\86^Z\r·x\80Ú²\ 2À\b\80\0\96\ 2¶²ÅV¡\ 1``\84\ 1
+÷ïß¿ûÞ©$\84\ 4\90,U½ËænfqËèï9½=èo9\9d\8déo7z9¼æü\ fß\80;ÎoÁíèïÁF\9eûîÖËe²HÕA'Õ%Ôt\1frYÓ ­èý·\10\1d\9e\11^ýtþý9î|ðÉg¶\ 1p\82\0\9eC"I\e\13,Ð#9_å\19\0.n¹\80ÙZ\8b§9ªú»¬.\f¡xl\9fz"[4A>\97\9cÕÙID(¸oaàC\8a::©«c\ 3Õ\ 4ÕW\ 5ðÜ]=÷\12\f\14g²`Ê1\ 4Ï©Ñ\8dÙï\1e¬\\88.YÁcW\82\85 \82ñ¤,[e˪új.\1d\ 4b¹Ë73Òýü8c6\97ñ:CIb\9a'Èo\1cÜ\13H?Ñ×\eü\14è\1e\94¯@\16¤\92 '¾\93Ð\fé\a9á3Ï^\87³ÿ±hò&\ eÈ÷ÚØÔð\9dÿÈ\12\16¦8É èi§=.Æ4Ks\9a·m\96\ eÅ\a\1fy\909\1d\11ºÜî/\83ó\euF\f\91!r]ð"µ\87Årú|°oµ²2äxX\97\10w\8f.ç]°§8I\ 6@\83\ 1àu¸1¾wB jÑÏÖ\99#'\8aÂú.ëZmã
+ᨠ    æ\96)róq\1fôK|~Yu^ö"u\8aÀëIúj¥¶ß<v\10çã\9f\8e\vQ®)÷΢\a\1f\84®ò Ó\9f0
+\ fÊ4\12Y\1dL\b±\q~­\90ÏUç\8b\8f?\9d3!ûX^\1c\86t\13Ä%=\ e\9c`\93\dZÏÞ\ 2ÖýÈgw\b"°mý;A·0\aî\84j\ 3eZÎûµ×rÿYff\rëÓe¸Ký\ 1=èÌ¿îm\93/ïÀ¦LÜe\eOÞÓâ6ÜÊ\10\99\86éD{\92çÖ\ 2\ 2\1eØoàohÚwÚ°
+\9a\9c¯}R\ 13\10~\9f\16Ýe]O¯\9dc\ f\87TâCó\fa\1e@#¼ÃÞºYï«ekÇÐv\1c\16\8aË\92C\98ìHpR|cz\8aâmÝ`­)\9eÄ'\82:¢»\11Þ\1eÒ\19u;\1fêr!\81ÖZÀ¯Á§Æ\82³1©\9a^G¯­];«\88§¡\10âdKû¿ç\8f\9bÌj¦\97¨\18\94x\ f{\fƨs\ 1=\16\1d¾ \1c\895V7\15\93ð6\9f\8f\18+$b\ 2à§É\8e\93»hIòn\80\ eù6\17\10` ù5Nø\18\99HûæÓºëRÏ\7fÎp\9e\13n.\13\8fç¸M¿ðp\9d©tW$Ô\ 6=@\9eÅ~ê1\8e£ü µ]ïz×YÏ(4
+eÓþÜ\164eåÚ<$\1cvÍÁÇ\92\ 1\88\86ÐùVNÁi2ÀïðC¢3Íì\9cyË@ÃÍÄbó1¶\1c¯½Ø\18\82Bo*t¹zÕ~µ\9c&ÿ\ 4\93tu~\99_\81\vǧ²`L^Ñâ\8d¢Ôv\98\8fË.\88]¡Ú·\9d©ÿ\82\99ÓQ\ 4#\90\e\8c0\93¡\ eÛYÕæ\fuÙEæ\vÒ%oy2Í×eA\ 40d\86ÛÐ\80\13ð\87\ 4
+\ f$\0ªAÐ\1e\ 1½\912àíëÞ\95\13·ÔT¯\18¹\93`öã\9d:³2\9fÏ\r&Éíµ\a\1díh+q!D¤\1aòXS\1f¯\ 2¬-\9bX\¢8D\r-j]¿_W\9c=\19FéòÊ\86\80#,½þ%\91vÕ«(\94 yå­·cò\98îí\aùQZ\95ÿtV\14SU\ 4²b\9eû«\ 1Ow÷\rçð@\99öÈ\ 3ÞâÑ\8a©\ e\89ìZQ\15\ 2£L\9f¶]\fÛc¸n&[g¬\16B/dä\83=%t\99Å>Dàµ\94z =ñ¿\90O.7jÒQÿf¢Ä\1aëÙ)\fÍÅëT\ e+ÿ'Zµû5ÖZ\v\¿\9cj\òÅ¿Y\94\ 6u{\8bÁ\0\1c¢ öZ.êåi^fÍYIP\8eO\ 5¡ìÓvÎA¸0\81#ò½\9e\90\vðeõq'¥-´=Ç|Ñࡸ\17\vÇìF«\eÅ\ 5³¨&õͰ\ 2¦Ù0Aæl\93u
+|\ fâ¸Ê]¿DÚM\88ð(ð\ 1ç)b\9bÀíp\ 4\8b\9dúÃ!\85D¢ûÜ2Ò\8aiUê ÿ\11ÙߥÖ)³¿?¬S¸\8e«¯\82¨ûw±\9b\a\9d,n\fgN\féû\ 3\85á\87¾óêPCYØ\99~\7f\ 6\89`àѬ´\fgßX\1a'\15«QÅu\1fçm    .Ì«Æ\82«â\14\86¯ÞÎ;Z÷[?éÐ\7f:É?ý£§ó­D}×üi¼\82Y\9e\ e«ßQk\94µ\89\97S\84T\ 5xES³ÏeÌ\ 5\13\1d¹ùAcã5vÍ×\r\a\19XÐ{>V<\ f©Ð$!6\eÐîsAÆ\10^üÕæ8\10\1aN¨j&\8bü`\và\88\1c{ñ¥©âtr"oåÖ\99\1aJåQ6\ 6"\ 2{Nj
+¹^þÒ\a²\9eXYêy^âüILÝ6½°¶²\ f\ 6×½'úƼO\98æF4ͶD;È$ >¯mü[ò\89\9b\87\96Ûʲ\81ÛW7\19\ 3¶æI¶mŹ=æVŹh-Ëg\9dªmËe\e\90Gí'À·×·7C7-þvå¤\ f\8aû     ¹Þ_I¹iWnvçZ\9eܸ\83ÞAÞK3ðHÏ\95Óÿ\106\7fÐç/Úf5L\97©Î_a\86.rîÃ\9c¾¨:\81gúÕ"/K\9cí&\e\95ÎwÅÃ-ÎtzÞEî\9e\88Ä\92\vs\9d\93Îä\14ç?ç/4öö½çÇóÞ}!Ïy÷C\94\11Ö\85z¤ý\94ùŧÎM\82\7fû'YÎÞ!?þ$"
+\82ð»ï\90
+F|Í\ 5è\91wé¬òqZ\ 2öo*õYç´£×/ÈOuß3¨ü\9cv\ 1ã
+y\18\85áòÀ\87Ê%x;À\16\8c\1déF\157\ 1 \9b\9fe\1cF¼f\8ehWK\16\9b\9dÄ\8f_\f\88\ 1\84dò¾\9b\95\95˲ypG5\1e®Y@É|\8b\ 1K9)åØ;<¹£Ë\9a\ 5²æ\8bäY\ 3\95éÓÒ\8eH¹_Í\1diðc`٦ư\9f³åÍ0\ 5S\90àõ\11ÐÓV&è\9bN¢jaê&\9cäò\96³_9ÑôÊõ\13á£ë\9d\1e\1a2.\8f\ 3£ÚÇò\9d\1e\8c\9d\1fL¯Qo¢1\\1fÅÑê'z1\89\ 1t\ e\94ª=Ç\9c\17\7f©\ 48ûD\1cZ3\19xö«\9e\8b¨ö\87gw
+ºU\ 6\92\90Å\8d=Ïë\fÒwbz=\81à\82Ô1¬\9fo\19Áì\e\1e\94¥f\17m\ 2\96ð»\94\9d\18    \80\ eç¥\87í_Ô7:Î<¡\1dL¶:Yú\16Ð@TIw@\o\81\ 2ÙZ\90\99}Z\0<\80!áé­\93\f+Ýë·>às;Ù@b\17ix\ 1%ø,³Ù¸å\0õø\\9f0õcÂ\17\92i\92WöÆ\15Ø×\ eFÿ¬;p§ú°\1c/èÑT\8dÏ@xÝ«Ë\92{\15\ 3\9f3¹[\91Â\fÐ\80 iÒ\9e5\a:0ͧ}po@ò\1fKuK^ÕË>­\11M
\1d\9b¾xã³\b¼ æ\12¦êú ZO\19²Ý[T÷V\1a*Õ Ä6\ 6\8a\9b\82\14\ 1Ýf±=Öz\ 3ºÏ^\11õþ\eÕ\8a\10
+óe-\8a\13Õ\97µ>\87\8c\ 6³Û+\8c\r½9iß»4M\10t\19³v\88©]3ÓzÙó\11T)ý\86\ 5\ e\el\9bªö\81\r\80E\r£'oíà`Æò¬SÎgá\845ùB"\ 4\ 5±ßYh\1cýt\8aÙÞ\17~4"î\95gT¾\84ê\93ÁÕ*¤3¥]Së\13ª\7f9:¥üô± =­A\ 473£Ý,\8d`mø÷\ 3ßÛ?Ó\8buR«uqO\9787[\b8ÖõÛt\ 6Üs\10!#u\10$ºXK¾ºAL¢\16ߺ\07\f4\fdC[Ä
+\ 2\89\1c\98K\13\19\9e\8a0\vr A\ 5ß©\ 1³ \b\8fW1TÓݲ\ e]S2\9eì\81ýªê\13\8b\1dB\8cA\14
+¶èö\14UÍô\e-I eWì\ 6§ýøÁE<áÖÏ\riÖÏõ?\8e»k\8e³»Å4sª±ÑË\91¸B\19Û\12\1cݱúâ®ej o\1a×í\9b\96î>P,\8b:]\ 4¨J\10\94e\ eïZvL\92\12\89ÒÅ\b3Qí\94\80¢º ÷¦^¬sÉ£¡Ê:\ 3ó{j\ er\8a\r­\84\14½t\15R°Tº\vª\8b\80<¨«\9eGô@:\ 5¼OR8È\89\e¨Ð\89 #\90\85Å,\8dõ\ 3%Ìó=ÉL\ 2 R\96{¡P
+\1c\80;á}\1a¤*é¡}5%
+\13åùì\ 1qH\99\96E\8e\9f\bdI¬h\96O#Ã4-{·ýóC6X]±ï¥Ú®W@%ãTùëW\17K\89}$!Bÿ\1eB\8b¶¾\ 3\f×/L\83ߢ,tm\85\17\ 4ÀA(\90¶&®ßÈÔ\9e\93\1c«r\9cû\rËÒâÀ¬Ý\94,à(ÜPô\91\8a\12Yµ¤±Å8Æß7TM\9fÅë\9b\98\10i©Û\1fr<\82OlN   °$ñòÞ\8d\ 5ÀÉ¡Ò%¨af=¥:\ 5\14ð\10®\v\8beC\8ddH\ 3Ôó+ÞÐ\9c^ö[¸L0\1dŽ­ð\11\16_îXè)\99\83¦¾,ÁÝ\9b×°w+&\f\ 3Ë\ 4\f\97¶³\a
\81©³3¯Ã³:ÄØïs\ 4®Ìç°uû3\ 5\17\ e
+n¿Ög\9eõ\f«½ïÜÝ\9cþ\9c\1aÛ9épuÛ9\v\19\8al(u\9fßaMìÙ¡±S?\9dÁ\94ÝþiEÒ7¯ÁBa\10$Ä0i:@*ù \9b»\8086M\82Ö±ØßI"à\86Ô\9bÀ¾@\83\ 5\ 1x\87q}+éɱ\19§&²Îxq       Èà\85É;2Ø\9cj{\13öD$THÖ\ 2*\97-\8f@\81æîM"\0I[\7f\f\94Mâü§xþµ\8bÛñh<\ f\15\b\a\17~Rý§\90\132\92\r\a¢ö¨%\ f}ÖRß\82\1e\ 4\ f\9c\7fx:Ó\13S}\15˰\1dé½\98\8f\170Q×Ìq©ü\80\87Ñ'\90bpD\97-ð@{¥"\10\90|9e¦j2\15Ã\1d|È.T\0ãP*U\10\82%Hb¤\ 6SPÇ\ 5Ë\9c\9c\ 5Ùºö0<Çy\80 t\0ôÏ\ 3Î3\9a$\93Ù^\12ö¬S<JX\ 5£©\17àT\9b-\94rçS¹±y=`x\ 1¥ò÷\§\93\86\93\84\aH;³Ø\8eTPjÄèp\15îìø?l&<\14}V\84\18ý7²²â7±bó\90\98¿~Á\8bñì\98¼x1\7fÓ»ùØ¿º\9b\17\11|Y\8b¤¿­®\98|\ 2\97×nNÉ\92\ 3âG\ 2³á±:\84mÔÜ©\ 1îæ>ô&cµ\84Ì{×õ\19\8dþà\99\8c\9a\8cÅ ?\93ñü*P¥T\18 K¡áÈ\1c\14Ò;\10ó©Æ\9f\15óÄíÙ\97ÎTVÕ>\ 1W'ñ\bx¡VßùnO5å ±\10\88\18\ 1\ 5û{¾\886\bÀ\87·ÍwIwl\9d%> \91ºp'¯U@ïã        ôSÆâ]䣧fA?uåæ\<\ 1íÕ}2\1aï\1dÍÅ\81ë\13\999ÿêA©x\ ewêÃpÔ\91\84\9a\89ä\eë¡\3f\81\124ÿ©ô£\81%\9b\19\0×\8e¢Äãoj\ 2¾ \87¡\90Îu<\0ÑÿQX\1eÍA \96ÿÜ÷´6\80é
+ÿ÷Î\8dØ}ü\8b\b\88«\9bj\0¸\82\1f\80Wó\h|¯0<_î+¾0\0\8aê\ 6pß@ËàwÁô\83\12\aÄN¯\1e,ëÙDÚ¯rw\12\0ÙüFºýo_=\86 áì\94\Qµ-аqkÍöêI$Ôo/C°¯%Ðì*\v\1d°j3\9eK4¿5}Òâ[¹\84§®ÿOh\1f\18:I\8dÖ(Ï7ç\18wÔ¹hÍ Açn1Ù7°ð\ eù`Áª(óBê\11)4\99u\9a³ÓlÐK¨Î\1eãó\8fK\17ô\ 2\ fä7K\15µªç\8eSã5mi\8a\98\8a£.\96\15\1e\91\aØ~\8c\12\9c{ÖG¾Ëôl\85!Íãú3uuÊQoݳ?~¯g°ÅÊÎé\r\19\14\ 6\1cÍn®N\87Q/(u#ءϴ\8enia      ]\8eP¿Äû{>\98Ñ\15Fé>Ô
+T\10c\f+Êÿ^§)ß`D\ e\10Ú9\94­>¬AêçôFúeà\18å\8dçá\bØz\83JP?j\8b­Y\ 4¤h\ f\18û8\1e®Ø\9f\89\9b=)\14ñlwß\0æª4ß|ZoÛ©(Ä\14ßÈ\88\84­íX\8aA\12\82cK>M\ eÎ\ 5\ 6ØÜ£z±\93\19¾/\ 5\a\fp\9bó2O\8aò뾤0-oQ\18Ó¶\ 5BîM\ 2        y\rÆE4P\ 5é\10\7fC\ 4!·ä6\13l>£D!Í­'Ѥ\99\9bûO\92¿M}\vå\86\9aØÃA¬¥úÚ\12¥\8dá\87\81#rQj!Ž<F¹?ü=ü('Í\97Pj\10L=Á\e\88t>Hx      1\87½¨±\r\92c\8b\8e¯¡\ 5Þ(§W2
+fy\12Ìþ8å³0ö\vÓÌÌï*fw²Ìöг;\95£OñÅ\9b\10ÑòþØY\9dÆÓ3Õ)\99úD\8bD· «füá¹ATù|)\86êú|\7f?\11lcÚ¼\11­\17½\91²ÿ¼\16¤64ÀØ¢8"hîÁj`Dx/&ÌhM0V\96\ fÀ\ 5\16¾®ö­åEb\88\83hK¶fì·\82¬\83Å©\89ý÷µ¼\15doÄ\1a Eõ«\1f \86?¤´\ 6Fì·)>òìS\9bóoûQ{SÁV@jPx\f1ü¤}\92ÙÝ\95]Õ9áde\83\9fõ5Ü\vú\7f\ 4Úh¢\aN<\93{ÚLgc\96Ðì\80\87Ìk·æ»­¡Ï\84ËHÄþÈå´:\0ÞE\98½LrÝQ\97²ÓNÒîG\85F¿G\17\96\8eb\ 5\94\ 50\1eCu]ü°R\8a\9eú\7f =ûhÄû%à0ãÚ\8e±æ8Qyj\83¹yu\bѹ\aÆ×nl"|\83\8b3ûd£\9d[ÆòYÆ\80\87F\ 5\1c\ 1ì\ 25hèÔ\1c4{\14\83\89VOz1!ó¡)nÚÎÕU°:\9d\asvè\17\ 6Ô\89\97ÏD\16á?A)g\r\16¼\ 3ìN¼\ 3ìM(^¡Ó\9a¹m=\91Ìe¤\ 6\11ã¤V5Ä("ð\e\9d\81´ÅÒ\88Ó\ 2\16\15ñ\94\1dät\18D\1fôÇ\8d\ 5\18\86ü/È8+Ó¿\D\ e\12ÃX/é\ f\9c\16r\b»0\0«»G\8d©òÉ\b.5rÒvºP$\1e\fV\9cÐ0{rίÌÒ¼i\86a{\ 3\96´=&½ÑED\ 2\86KR*/\bB\ae\ 4g\9b \94t\19\14P£dCÌ!\9e\99
+6\ 3'\1f/\ 5¸ò1¶R¥k©]ã$\1cwRìó^é\95B\14\8cÑèõ\r\84ýÌfÕ\93\9cpÝ8o?2±\98\r+µÀp®ÞCIζfì\1c\9cQ\1dÂb\11\19:$8|U\93£\a¬d5dèÔá'FàOD
+óp\99,I\99P\1f½\0\85ã\86\ 5@\ 2V¨$l&Ì\81z ôØ\94]Q²\91G\1fFÀíI^t­\80"\1cl8Þ\8d¼k#fnÂ\v\eÖO\9b\12z½àÞ\87¿»\14ÕþY\80~\85}Ú¢s@\ 4\82ïÀë\92\8aÑ\1aî6ÓÈÈ\f¦;\9cF^ÉGg¿å-Ú\99  Dv²A\ 4áì \8f\14áU\8b#àaM\12G= £\12³0ÖÂ\92×R¨\1fW¸+É\ 2x\88\ 6\80¢÷ÞÛ\90\19tR4%\0Æ{ \93¤"s#\9fr\17³¢¢4¶\14PÂi\91ï6oô\ròía\86\ 4Ue\9bÐÂG\16\81/ÿ¦ø\82a­ê»\10³b¤\9cg¨¡v\8el¤Þû\0\9aY;\86Ø\ 4Â\84ô°\0ï-Üj\80µ\84õ\ 3Íøn\10x\b\90\ 5>\ 5îU85.,7aM(\88À
+:9¶ËÖI\15ièdxègHd\8bì)+1÷"\19íÑ\a;)û\90_2ô\9et °èÈ$h³Ól\ 2ûëì\r\80^:&ZBî\e\\82<1Ñ\96zn\b*n\86zn\10KêAu\18Cp]ñ7H\18i\13»ânÐ\1e$\14ß\r°{Ť¨·ïZ\90JÎí\8eF\19û¤\84$c9ÙÎð*ñG\0<\90·â\92\8añ\9dÃmêú%6\1e\94P-QMÍÜÛ\ 1Ø\84»qd\83²¢:zQ\ 4ª
+e@\1f\ 1äQª\eFÐð\f±\0\13þÌ5`#ïÄþU\8eá¸\ 1³\92\ 2w¶\\ fù«Ù'\9a¢3Ô\96-(ªy\10Q\1ak¥Þç%\1f÷ÛB ®\86I7OäiUG_Èì\8b¡\9cÉ))\1a¤þÚu)}©$jA\10\8f\ 6\ 5Ð\15y\a¦Quèî\99ÑF\ fXqî<Ñ     «Y«q¼\0Áf\86\8c\1f#Ü«¡¤¬ñö*¥eABf\81\19++éÌ\11ú\8aèM\19ÅD\8bg\e*\82Á\8c\8bjZ\17\81·ÄwUpç>ù\97³Ì\95ìo3s\8f\8f\1e\ 1\93?ùn­ Ý<êU\87\13-\83x<u\95+\84¯8\16\89§¾\7fqbMÆ\1dÒ\94%-éÝ\ f\81a\rØH)~è£ñd\7f        J©¶\12H\9eÀàÀ\8c¸(U\ e\f*8t¤%f½\19á¤Õx`à=%\85×§À\85>\ 4\ 1\86\b\ fy\85\9c»G? VBØ+Ë\91¡\12\99;\95\15\81ã\92ª&ñÉ\ 6\97p3²iò
+~PPþ0^LhìÀª\89\ ft\ 1~\98.ÛÜ\95Ó_\85\82\1d~\94\aq7exý\93n'\ e\83L+È\1ed%²"²<ÒIJ\e\9aû\97qàM½h\8c\9cã\9do\81o\83®tÿ!6þNq\1c\84Û\9dË?\b\1a¨;\a;\94ð\8cü.\88aë±s\87ÌjÝ\81ïþ\86×\1dÃt\8fÍ\98g\99à        \96&\82\ 3áhæ~\86Ñü\9cØw_8ï×<¸\85Í\91\7fp(¬Ý¤Ë\87\ f~4þÓ/òÖʯØHi\16\1c¯ß¨h\ 51#\1dà@\15à\16×\91öSà\ f\9f\15Ø\1c\8f\1c#úSâh\82Ôà\ 6<\81\8a9,6\8cZW^\93\14\95ÖèzXó\82k\9dý\97\0×\14\ 6\14¸&\81\ 1\93 <Ä\92\8a·'²w;\99ûÂ{â\15Y\v2s÷(ÉÍ\ 2³{\10TFÀAÒÕV\14aQ¦ªÚA¥ObõvôôÊ%ìCÿ\ 2l5¶«\903;|\82{\13\93\9bOb\9bcá¶\8e\9c'²Ä·\ 5x-\ 1\86Ü\81\1eR\f\91±?µ)<Údà×ÌÏ\94o\94I&\1c\81]Å"~M;À]Ó)å¯&Q\93\9b9(\85é´s\87ÃjÎs°ð.£Í\92eüD\8azb\a¾\fçì3çÁÕÁ\93\9b«v \84\10\838\ f7¥µ\9eª²Ü\að­<\9d\9e©æ}\80åÎæ\ 4}\ 5\86\98¯ÅÍÕÜA´t
+»3Ħ8\87Ñ0êN{ª
+\8c9?\88¸ÿ.\10\a\1f\17Ü*6¯\1c
+3\15\19\89cE\8d÷õ\14\18< Ü ¯|&µ\9d\17\8bÈ0\f.\8f\8eÿ\18\9b\16\8fj\8cæ1á\8c\87ý\87;icæ\ e\9b@\9dÖ\11=âô\19\83§\ 3©X/\8cz'MIg~\ 3 CÜéÏ\1d£¸Î(\98mèAæ\92\8ev3ý:\bÐ\95òòØ\80G(OX\6ys+óÓlO\98ôïÆ]]¶ÀHWlj÷G~¥à¡\8e\r\0·÷EG\0\94µm\17\96æ\888À[\9eÛ\90q7ndð/Ëøt\88È\ 5ÿ£¶\8fɺÑtc\0\7fê\9e\8fç\14ï\90\8f\9eOÄóÛ\12wÖÀÛ\aµ\ 5\ 2Z|à£\9f6vÒJ|$,ZÉ\1d©>\14Î\16\8f\18W\86\91.@\8d\88u\1d\få^µè\ 1ç¼\7f\ 5å\92çzÏ4/\9aI\87\80\9e°´g\99Þ\8f\16h\8fLiñÁ^¸&L;7\99'\11\1e\9bÛᩳc¸l=<ÃËp¨H\90\98[\8fè\ 1\9bà^¹\8dÀ¨ÖTÚ[\8c¢;Ä\1c\93R\88\ f\1c¯ûkÀgx&Ù\18À¼\8f\82¿t\1cE[Ce\18ûk'\8e]Ìma&\1eHÒ¿!#O§Ç\9e ;\962\17"U1I'®uñÐå\ 3!øÆ7}\ 1\80\10,\ 3¦\83Po\ 1Þîy\ 4¡\86\94Ù"N°6Ä!¸\ 11\8e\86¬6Ó\r·\0ÎBc=ç\8a\e\93Þ\9bV§çH,ø\ 4rR\13\1ea¹Lñ¬7ÿ\14;ÿǧ¿ü\0Æ\1d§¿VÂ\14Kˬz?:¥>ª.\19WQì\1ùÕÓ\84bØýÅ\10\1a     G\9fKYMÓù\91¸ï¸ÖÀ\83HñÂ\80oË×\ 4\a\ 2\g¹ò\97iùõ#Qã\ 4U¢|´ã\ f\ 2Rc\1c1m/nÄð(Ð$}\1f\13è+ëè\15\n\17~üeò¡\9butòmW\86\85è+¢Û\0\b\81È2      }H,gú\84ñ« ~\8aÒT\92¢%é\vXµôPA'uT@½Â8.ü²\a¯BO\19~ØAÉ\ e0\r\8fÂ\e«\9fë\ 5$G\vïgï\a
+\19°\e§fý¬\93ð§\9cØ\11\1c\82wÝ3ñ\8fr9äî±÷m6¹÷m8º\9cç\8bÖ\1faö*Ì-\17ã\ 5\81\v®úøÑÏz·H°¡«\86\0rÅ1J\ 2=<ò\9d¡\9e\8câz¡\1e\13\ e¨ \98IW÷\ f\14%ÐI\98Ñ\15ÊÅ\8eÉ\9eÿÑ\17ý¿óÌ¡\94.±fAç\9dzó̺7÷cP0\8c\16U\95\ 1&\13\ 6\83ÜT[\1a_\86ÏMÉRq%¡,á±g\ f\ 1P9@Óòam¢º\8cÏ\1a<\1f\17qR\8f\a\ 5ÇgU\95`4x9Cÿ\8a\92\98`%ªàT
+qUÜErâgÂ\95\ 4ZËkÖ\89\9fÖ D-\82/yp%\87Ïq+Ò\89Ñ0T×»ÿ{_òô\96\8d|w9¯Î\93\19¯ò!¾Æ¾\8aÕ¯uÎkúrkõ\846ü`_ÿѯ\8bµkó7\eV¿Ù/\a¢\13Æký\egØ×èî6\8d|W9¯ðI¯½\19¯Å,×\9a\9fG\13]Çÿ:}\1d\9dÇÿ\0Ç\9fù]\80ÿô\1c\13|³õçþWgNÖ\92[Ü®²¤\96ù\ 5àõ\87Âiþ´\92ØøES*H\1fï´ú)%¼ÒÙN\15§ÑI-ä\96Êx¬ú\14\92Ûø»ëEi\ 4~\99¢´\82=é§ÿ)\ 4uh\87ûðØ;5ª´\80ùÙú"YRŶØZ\ 5ZìÞÈAÂÙYl\e\ f\10\16\99\9fÙQû¥H\f©ä¾¶Ï?µÐs\87Èmª\9e\8e\94{\8aÿPQ½Ç/Bìõ\1f\8d\89úó¿å¨îáy0sæj-\96_\8e7\9bÝw\90\9b:êCG¸îð=\869r\94\81<:×LÏ\98\fÃÇ\a\ f`|\aÿÄoÙÚüÿ\8dÕ\13åÝVþ\86gp·®¸vöWSd*9»L8Ýc»\88]:;\v¥÷Ðhín\9bÿ:ëqØÝd\7f®\91£ç\ e  >Y\94Ûùî¿=¥Õ#²º¢üë­Gh\fÝÿ\96\93\8b\7f\12\9b~\9fï\1e\ 2¶]=\aÆØ\9f\ 5»-3µß?CRíw\aönnÕ·ÿ\11Å^4\9eÜ:è\89ÖS\95ã\85L?vT¡\1du(\ fde\8bû{\11Ã'\e߯ë\rÄ®¹u\11\0I\ 2ÖºÃ\7ffùÆ\94\9ff@Û/ôÄ,çþvÊÌ9Pñ¶7^¬A­[EÝ,ï0\1aÕÜSq\9dÁuÕ<}×ñBq\9a\84\95~ÞÅu¿·±|~\8b\96øþféù\94§\1dqòKµýó®Ä¿.\95/5*\ f\8fÊc«éPú\ 3\bA}×Üÿ\ 1¬\8f\9e0Ú_¬ka\97éÌ6\91Ú\ÌdFî\9fÌkKÖ\18lû¨6sÿÏù}§ïü?°\ 6\e)ÿ5âÕ·æ³ë×ý´§\aþÿ±ýå\83³ÿa\86ÕþHÃi\9ehÃhþ\ 1¿ræ\10Õò¦\e\rû\9a1ôC\90¾s|\1eGò©*~¨Â\1c¿«6nçùºÝG\1f{f2\zy\13hÿÜÿ\90ÙÏûv_ÿ\7fï\93\ 3ÞQgñ}Ô§\89²ºòq+úÝ\1e\v_\ ea¶ï7\81±2\94v?Øseò¦»cóx\ f§/<Ù}i²øß©\9f\976_\986\87ê>¬¾lÙ~\80Â\1cÞ#\ 5ôåñ&ÄÖI\e/\937\1dô\rÈ\1cØ|½¦\1f}i\87Éby¸\7f\ e§ïN\875ëêcç>¬{\7f«\1fY\8aúqô\9fV>jÓ\1f\7fú©ºû*o?;ýÞ\97o¸÷°\ eüX\8bÖ\93\87Ýýì\17§íã=ÿ+ƾât{>ëÉÀAÄò.\91\93]\97ãò1¸\9f\1eOÞî{=.#Îðr¸>\16        }Å\ f\1f ï\8b\89xÍç³xG½\16âáù:òc쩾ôo¸\r\a\e\85Pv¢?+ýs_Ó¨qîiq\1e\1f·z\8fë¼n?à÷6\99\8cgsÿZp>ÿ·È¥ØSÕuÞD_\a"ÃÇ¿HÙY"ÿ·\95ÿÛýöÿ\7fúÆÛ\959îÓD×E!¢?E-¢\97\11»÷¡Ñ4òÚùu>d\ f2³Ì­ó\17hÙhÚhÚèãtgèåtrÚ?\ fG Ñètm(ÚÑÆÑ¶£oG\1fG!F}\1c­\1d\ 5\1eb\8f9GKG®£ÚQÈi\ fÒJ\8f\84\1d\93C¤¤Òiô\9bM&ëIS¤]HÊ\91¥$} \bH\19ZIa\10\90³\94\94\ 2!"|:M\0\88HÝ=&¢\93iIº¤¬¤­¤i¥k¥o¥\8fÒÊée´¿ö\b\ 5ge\ 5Ra\13?\11QëÇb\93ã?Ù\17\11þ$MºC/\82][\93Ásiûz\9b\8f\eI\1d\82ÿýfßp!r\ föVmñ¸/ö§íêp?íàîO%p5fßpúiû~ ÖjRC\9aygÕ§íÃÝ\86\bxT\87Ð\9b÷kOÛ\80Ö[©À\18æ\95à9ôý¼\81\ 6§ïü©ûwÛãëä¢É18|.\v1\87\8a5fÊ(\r¬\8f*\11úÎe>\1e\13a:úy_\8cj|'о\95\94]îúj$\84ÑVÁ18RX\8ej4xgÓ,s7Ò\99ç¶5OóSÀk¨Î³{ÃßwÕ\89è¬\93aA"{0\8a\95\8bÆ\16d\1e \93Î\83ø\826X\14¤S\1c1a\91l\12åÃSÔÝh\10ýß@Ó\10\ 3x\ e\8e\8d#Z¨º\b^A¿¶\0ýií)õÅ\81P¸RK\92\89\0\18¦\10T'¬ ßXÁ²¤¶y\97(!\10±ü¦ðQ¼z{gþ²Ì6ð¼\14±Â\ 5Ba@>nÑ\95\1a\ 3c\1cاx \94<\b\960T­áJ]<¥\ 4whL4
+]\82¼§\85\80\1cÜ\ 5ÇNê¢iÛð\ 1\89Õ\13\8eÂÂ
+\94üf\95æÜÞ\ e\11Ö\16\b\80Úwµ\87£\94­Ba=\eÃãB\7fð\ 2\17ov\14\92ýtz\159K*¸³A c·\1eã\1fÅ\9c\9f©P\87\9bå6Òê\fj
+ñ[Î"¿5ðÓbàoæ\87Á&À\10\ 4é'3\f\1e\88¬§¾.Us"UäÈä^c\81ó7Ë\rÕ\8aÎ9)\96°KYs\86\96²£âqÂP8æU\80\ 6\96\80\ 6Þ.À\ 6«\89j&£Péü»\b8èðO(\80Í\8c\93\9a]Pb\1e\12\86\14sÜq\17\80¹\9e>yTÿµÍ\94"'»Ú"5ÙF¢9²\r*óêx+\ 2Y+ fUMö¤í\1d\89¼\1f    \8b\85{#5Î
+\9a\12\19·pY«Ü1¥\1eßN\83rD\86\81lM Ý\83J«xI\80ÌÅ'±Q\975\12Zò%¿À\12Þx=\83*¯o褲èwÚq¦}\8e!¨½»\92\8f>)\9edUÊ\92n'w1*À\ 4\ 41ÈÈD\1c\96P\ f5¦6Þ>\17?éªa\93\13\10\13Å4\92K¶é\10\86\9b¨\80 ¢P\1d+ÝRô\83\8e¬K¿\80\847ê¨Ì\1aÂ\vÇ\8c±¸P(a'j>\0£­\81­le\11Ø\82JµÙ\ 6ØÁFü\9d\a±hAG¢íøkBjã¶DððI\1c\12\9c|Ê3\97!D_\9e
+\97ÐØSÍpÑñû}áÔ[p]\17 \9aò0\8e³Ó`\8eÏ\1cëg}Ô!¶a\19gCÅÐ\14\98(5\14t¾H¼)7G\98\92`ÍÇ6Bð\vâ|%D£[$ÑpùZ.(\18 \0 u/>\888±®\1dä\ 6}¢j\91H¸¢ñFl@þr¥>+`\82\96{r\9cxë/V\13\8c°L¢$ã\8az¶^\v\ 4\94\9e¦ç\v*)\9föK\97ZP1èã\96©%Âzu\9aææ%Æ\10\12Ç7î½+XçöW«
+Ç>\aïã\15\0ú""\\94\1fЮH\9ebÊô\13\18@]×÷\95¸ÍÓ¬AéU
+       êWA| ]Ø
+q y+\85m\1f©\8d\12\9déò þ\83P\9fÿ§\81\14)\1d\9e²Ê\99\84\9f\80ÎM\ 6Õ½\11\9bº?\9c\97X)Ö1·\82\11i\ 4#.\94XLOÉi¹+Z]\ 5,\87Ö ÿÀe\v1ÜÞK1A)0£:#~|ÔBÕv¼,(n¸E×Ù`\ 1\18û@\83m2\17\90>\1e\ 5Ü\ 2\fF*\1cyzV¿d`x\a\89`~£ËG\ 5ª\81¢G\ 4z]|9üOx\ e:ôËþÆÚ\b¾\1cC\80LX\i\13L[\82=ûZ\v=\89°Ö²\112\83à¥#4HZ\ eºÂõ±º^aSr}\1dæ\12Iî_yTf*ÄþëÅp»Ì-:ä\18sOÊú\8a\vÿcÅ mîTçT(.Kfó¤DàEÏ­Ñ: Ò\91Ú¾\90|\b\15[\ 5Ho\86\ 2¤wõ&Èi¦þìÊt§ýÀ¿S]8\8f\9f\9f\f\13rXôuÈî\0\ 6\83eñK.fTm\813\en\8e!\83\83\99=léÆZ!ã\14ÿ\0\90d$Ù)(§0,ú\1dCKò\96ð\ 3Ùð    LÐYC|\81Fm¹¾ÎçCêr#ö\0¸\9f\9a%\e7ÏÐ\99!fhrÌ\ 3V\1eàhrÌ\83U\9eÇ- ñ\96\9a\ fßßLCÍìt\ ezéWá\ 5M®X\9a¯D´³(_gn}ܸS\8e¬\8b+!jÀ§Ü/ÖPS\98\ 31F®Á2Q;ß\9b
+\8eQ\85X ­¡\v\r¢©\v\86ß\b$îê\12Âøôÿþ¡6\ 5¡'\e\r\f\83¦X@Â\9eTÐÊ\ 6\rõ+"¢ã$\13\86\8a8¯j¼F\83\0©Iº\8eé¶\98íHl\93\89ûïû\r­S¤\98C\84ǽ\1ac\87À¢\85h!u\1f\aò\r7'[\18ÏÁ\ 4IÀÿÂÐ\92\93ÿ\15\0׿\8d4\89\9a\1f\ 3jì;\9a\1a`=4\ 4¸J\ 1\ f,¿ð¼5ʶ44×°\95-\ e\18f\ 2o«zyÜR"\97éöÏó[JædNv\86kØ32L±g4µÌ\87]ó)\86\14ßà\b\13T\91\93\8a\91\fÎ&\a¼\ 3/\ fvçm=$=/É:O\98\8c6¼(q(`V×{#*\ 4-\96p\93ÅæËBCFÇd#Ioû6CÐ`ÿ\ fN\19\11t\1aY0\87ës"ÂJ\92\88\82\16"3ëc<Ac\ e\7fr=,[\.Ú\ 5»\86§    \f¸UMìºQ"Bá^ú½»\12\ e72E\13\1cÝ&çÎÿ\16§\10\19ABí,v·bì(J/\ 6\1f\17\1e\ 3!ã¹q»Bëxý\ 2v&¼&\8aS\e\f|\9b²åA \9e²Õ/ùX\91ӽةõÀ¦áú*`\9dò\10VáXä\ 6\87@8\ 5âv¡&ÿÁñ\fI.\91¨9ÿ|Ê\ 5ß\89b{\12aW/ò¢\1a;
+ĺ#\8c¬>c\10Á\ 1\10I\80\a;d\11Ä2    .Å5h\ 1U (¬vÑð>*\1d\f,<\11     BÀ\8c\9f\11ÌÔ\ fK&z£9_Ô\\85à(.\eÀM7/\ 1-G¢Û<·\98\16M\87A@¨~\81¯oÌ    v¢\ 2q\90%MN\ 4ß\f§ö\13D1jå~r\14\aÁ1\11ê>`á!\80©EH
+¾my·\9a\9eêÐrëo9<ÝÏ{\10ö\1dÓ\93\9a\r\ 5\f>\r\17\9apálzx\12ê!ïè\1a@âü°`ÕûV\13òªú\1cÝb©Ç²ùV`iäb\97@ô¾XFáp¥WöÕk\9cp\13\9aõ\uöuÎ>£×5`\ 3ü+\9d?-}\94\9dß³º\12£ÿ¹ÿ¬\9dÝ¥ÑY9\1eÆçôIÝþ\e\9a¹N~çôIÝÿbÙNFçÐ\93»\94¦m/ú\v=|W÷\8b=zêÝÎésþu»\9d\gÓ[¹\94¡\ fÒ\8cVP\87ª\8cVP\87èF\7fö¸\8bÿ}\89Û\14,?ÿ\e\13·gì©^ÊN3e'\aûËx\\1fæI¾ì¯úX\v\16\7fÓ
\9dÝâW]ò}¢ë¾?³]wê2K®ëò\v«\88)ÉHàâ\174ê:"\92\a\8dý·\8a³¿¶ü©9<Jè\7fÅü$Vÿ]oÿk'wR·÷´±MÿzyçyÌ\82·\8f`häs~òfýÍ\e÷HoÜ\81«zÿ$ß¹S
+`ý£Nl_½ºÆ?¬Ös\9dtgùã.ZÏÙÿëú'\97\1c\ 3 7ã@o\86\80ßM\ 2\7fûvíÈQ\8fÁPiÿÁ\1fð} ÁùÅ\19Èá£M\\9fáÍ\·í-\9fMr\8fZm¯Å\18SÏ·\8a°ý®\8aæíÿ¡h\9dÚáðø{;Dï776Û\97h\9dÓÃrMÿ«h\9dÚµËÓÓ\85\9b«§§ËµZÑ;ÓÓÄ\r¢7\97\97+8bV\89Þ\81>U4\13þØ\14÷\89õm\13¹¬ØM\9d¢w+6J\16\89¡[Dîº\96^\¬ñD¸Î\84-×½Ö6\9c\7fïf<Iù§\89¬lM\88\91èc\a\85r0×\8b1&ñÆàg³=\89{\ 5\99\8bÍ{\1aI\89Á `ÄäVÅ\ 6\93\88\8f"©ÄÙ\12y\15ä\a¦ó\90Ù-p\0%Ù»\a\ 2\90#lbl\83\1c\0\83\18I\1e°\bêb#\8c4\10Â8\97ÿ÷ïÞ÷½\98\92Ç\ed\9c,Ówy²ó\96Î\81m¼½;Ñ·¡yz·µnö/ÁËð2òô/À[ð7iÞó²É,º×\1d²Û!2Á(Ê\ e\81iÉ(\9dîY(µ1¾^¦\1fi¿.ÅÏë(\9d×póË\93½\f\93ô/W(Ô¯ïï÷Ûâ\ 1Ê\ 3µÊ'x\f\94O\17-i\87\14g@\9f\aÜa´Q;\99\97Fb\81úSE\13¾g3£ÑÚZo0ܹsÍã\14Nûn;YZå\13½\93$ñd¦\8a'|3½´\98Å\13¹\89Û\99Mez\16\99nLQìÜrJ'uä\1fE9\95ë  ëFr\90À¢À)\bgñÊ'|3\7f¦\94NçÉ\8d\984Q;Ê>\87\94\88c\14\rp8\1c\ fŶÛ\´Q;º4»a²OL\9c\99¼ã\82x>Q\89á^;E\13¾\8fS¸9C_¸\9aQ;ñ­\17'\8fõ6\9cf\8a'|=OQegqgeeÔjpÚ(\9dÃ/S+©\ 4õw\15¢\89Üî¿\0 \fÒ\89ÜÐK\r¢|Ìå\13¿\1d¢\83«\8eÑDïͰOÙ\96£Í\14Nü-M¥¥Å­Å¡B\ e\13E\13¿\16É\7fËÁ\93÷Ækþ'\13\ f\ f|ÓÚr\89Þÿ\85\85\85\85ÀÞïXe«\9aOÙ³?*µ&z\99LŽ&6W¾ßJ\1eÓýë&JûPefr±@Lúî¹Ê'~?\1fí1\1cn\1a(\9dïñà\1dn3-¤\aM\14Nì@\rö\19èw¯a\96ÒÒ\ 5¥£\11\13¹\95ORá§·¥_P\1e¹Éõn¿Ãh¢wæÚ'è\rªÎ\9dr\84°PÄj\1d¦\14NüV¦ÜÒ;Ó1£æ2\86\94Î¥\93\r\ 5Öõ\1dëÙÄë\8bE\13½Ã\972\98¤Då\13¿\ 4¦\10ú_je\7fYDï\99\ 5\18M¡£¿ö\14NüÛñ"íHëE\13¾°êª\1d)Éi\ 1\ 3Ö\1a\ 1ð±\8a'x\a\93=\eE\13¹@#@s~*?¾C\ e\ e¥}08M\14\1a\97]\1e1Dïêq0÷Ãö9Dî¾³¿´¢w_+\944Âù_¦-\95(\1ddÌ®É\9d:õse~S\14©\9c\82\95t5ª4\99gó8Å\13ºë¥å¬Æ(\9d÷\8bé\ 5\8cQ;\9bL\f>%¦1DîZs\9bL\1cb\89Þý\82\8c\9dÏ\1aaDï\87×\eL\1c6\8a'|£E\13±»ºô©Å\13´Â\89ß\82\bÑ\e\82Õ]:Ìu¼\17÷\15µûêâ\94\8e\ 3`ÀË¢.Æ\81æÒIzÿ\10í\17¬,©#5\15\1c#QËÚ°IÑ_¯S©²^Ù\82\8e÷FUÒ\±\vûv¢+"A\ 3xbÀ'ªÈSßi\ 1Éæ\84éµ½\7f\8f\v×à2¥|î˳ìû>Ëç.QÇ/¯\15iv\9d\13Uô4\94©ÙûMý£\v}»0\94úÃ\15\85\9f\vùgk°oßa\87·ºþ?ã/òïwsËJÓ]£\ 5[æ*¥\8eý\9c}\8aË\96SxäT¶æ\91ô¬<þ\ 5
+e\r\82iS\14\eer\92\1f\ee\1fíÎ)He\r\93Nðå&()Aõ¿\ 4ß\86?{8\95\90\1c´\86Ø\14ï\97ØÙc\\13þÚÌ+\16Pf\r÷í(Cm¡K\v\1c[Iø\9aþ\ fQ©´¤{©Þö]\19¥\8bÀ\9aËeø\8bNðRéx+é\7fÔgýI\99_Ý`¨#@Û0ëÐ\13¶1Y3;`On=PFYNeÜ\1a\9bù̾\11õ\14ÇeÜ\8a\961v\e\ 3/\862x\13\99WÒ7¢\14Éa\8a\ 2\8c\9c\b;®FÄ\bòNk»4/ga±zô|CBùÌ¿xÏüæ_\14ðg\1d\97xn2±\r\1e5->1ýPÊc²ïNëã²ýóºøì¾;[&8Ml\98ù\a\93\17\v\v\v\80m\86ÐËä\9e\ 1ÊÆ¯\9fÊ<\ 3Çeü\a\80xì¾YÝ|v]ñàÎ;/\98N\ erm*gÑÌú\96ïw¼\ 1\17\v\85(m%ù§\83\10>qàÎ;/á<\19ÇeüG\80xì¿\8cî     µkѳ&|\ 3ðnÜUëÑ\94z\9c\7f\9d\9dÐýà+\16/ï÷\86Ó\94Úi\r\ 4¦ì    ùçÕ¼´\12\9aËè1µÿ\8aÊ¿\82;r\93y¬¾\92õLãl5þEè\8d\81\8aËÂj¸üþ~ç\7f¿ß\98\99\1cÿG#b\ 4i\7f\80\82å\80f.Ã_\r\9a#f²úlÂù¬¸+Õã\8d±[ê2ëÍØkü¬ºóYx\8bïcêqY\7f2ô{¡\8aËÅ:TßÒt\ eLUôêO·_ê³&sv\1aýi±m\99ãþ\86f.k/¯6-²Ëì2ëÍeÂ\9b\1cYeöfRûrÍ0<f¥Ô´ÂÂá\1f\99\833v }¶`ÌÖ_ÎzI®7\98¬¼vt\ f\9aËú\19\95ù»\108|\8d©\11²i\88ÌEk+¸iD\1d±jûnó\17bQ\7fÎfe|ã,®¦2ñ\99\98à´\96\984\93\19Z\92\9cÌÜ­\9c\1cÜÜ­\9c\1e\82l/e\96\9afVÔEÑÍeg\ 5W\8dFö²½#ÀYÑÎýXñ¨ÞÔ\19Zd\ 3èÙÊä²ËѽÐ2Ë¥xÔ\8dµ\11kf88låuÏ\1aØÂÂe\96½\98\8bÎL\94\9d4È_ѲËҲˠzÓ-\83.\ f\1adºéæ8-l\8düfYp§Úeé¦À6b-\8cÇ\ 5¨ãe2\ 1´ËÓÍ\80l¸=DÇ\ 5¨ã¨\99\0ÚeêfÍ».\ fU7@ör½L̯Ùe\97«f\ 1Í\9f\9b9\90\r¦]S,¾Ì̯ã´àÌÑGäMpYÁ´\98àµ\0ï\1e\e\8bHÇý×¼C\9d¼ä\7fmW\88»n\ f\17\8d\87ÆâðOÄ\87nWe\9fÊs}\16\1fEÍå\ fµÕÝ1\1c]@\81*V\1aóu÷\18eÃÃ\95*\ 4\ 5ÈÞî¿4z_îfî:!²ÍMÜ\8b¹>á\92\1fErÛ±Ý\95\96\1e\1d\95\92äîg`»*.\áá¹r\8fös\14øå\ 5¿û¹\1cyÄp?üù\1dyÄs<ã\ f\9fûøðoø\91Åã\8b\96¯í¬»k>Ú×¶¸í®»kÃqâã\8eûßöünÝ\ eá\1eá×qIÜ{¾\bþç}DxßQ     øçú\1fV÷îÏwUu?ÃèüÍoÙû]®G³¨ÈÁâæ\10ãoó\1eç\1cÿÕÙ¾ø\9d®cÿå\85\1d~î{ßã¡öy\8fü\91Çù\8fü\16\15þRå\8b\7f\a)ïqÐã¥2]eOÇCÝe}Þ:\1c'\9dPð(ß³oËð(ï¶j\×UĶÍ*â\9f+\8e\87ͯ pW\1fö£~|î9ÿ\9a?I¨nêg\1cÿ\97ÉãqÏóxçv\8a\1a\93\19ìöXäl\rö_/\95Çì\91Ã\82çu\96_\89%¾ËÏeX(q\1a(PtøÄj¾9@ι\1a\8fÈã¼Ø~û¼«\ fß|ë\19ûa7ð\ e\94\9eQ¯¨lÍ\90T\\v;¨Ú·C ½ñ9i²gCws'ÿ\ e_Vé{X\16ñWá×\8e\9b\81³ÕYVx\98\18\ 4Û\7fBÓn[ô¶Ñ\19Ú\ 6hZ\9c¢\89¡\8bIÃJàéÄ\98P«À¢7\1d\9cÛjÙ\98MÝP.ª&\92Â#òx³8ê\fE\87[\1f¸?\85*g³|\1f\95\9b\8e¥a\ 5\19\ry\8cDïb,nñÛÓ\ e
+\ e\8c\8f¿\10A\ 1î.÷\18È\97­·óÑ»ñ\1d\8f\vA.\814"YÕé\8b\1c*«5(»\91ÙRåÅE=\8aNÍy\82-\$ë\1co^"Ð\19'¿Ô»öÿÇòè\r×UUG\e·  o\ fØ´¥s\11nÝ¡\16ï4\84Þ=\13aäÛf\v;moèE?kD\8bº7\89v\f\1c£Xü×$\8c\ 3\1czPì\11ÄëÍá*ù\95øï!á\89>÷Zàýp¬ÉÿG\8a\9aÐ\18ÙDx£L\94il\11½q¥¨é=\8c\1cÔ[ê \95ÇüQ×\8fþô]Ô<\ 6Çëw\80\8e£,»ø\8fÁw©HY_:½ÃC¨tEP=÷x\9f.[8Õ¥©Ñw¾'|6~ÌVióÛs[Õ\88´9j\ eø}±"õ§yú.ö{ê\9fÀ\90·däé\10!B-7\92ÙÑ\92ÃPÝÃÿqoù_m¼ \9bgsÛ\14\9bÞ\e¯bOìRÈ%x\86ѳ^\ 5ðè#Kó\85çë§|\90¶Ô\e\1d\8aïSwí#mð\f\9b\80´fMÏ\¡íqZÄå
+%\0ê½Ú\94¥äðfN\16\v|_        Ló8D¸;\1fo_ä\94\99\9bDã\Ý\b\1e,Ip\\19\17Ss   m2\98\ 2ë3RÚQ\eÄXò\97Õ\\\1a\93ø\1aÃ2äpp\12Ú;\19\9e\aU\86Â%ıÂ9A¼¸£åÙÈÜÅ:/¢ï7ô]ç¬Bö£Kð¶§¾·^\1cj.çu\e!\7f\17o\80\89\95æ¿cá/y8>4\1c\9dó\89þ]ü\13ú_¡\92J^eÃ\18©/L¡\93\87ÉMÚ\9a\81ábö\bá ±+©\17E\82\9f¡\92n{EóH ×ï\9ek[Ø´Í»¢ïwfFÜ®é±Ñ¸\É\a
+RÞtÙ\9aa;+\f\9aáû¼\ f\8a\87¹·æè»Éú.ó0T\bôa]jDÛQTù\17\8bÝ~\ 6Gb|        uHÆ\97]j\10\vZ]u\99¼.¼±t\88:\88nTÔU:2\1aZ\9aì«v0\9d\99\19Cá#µ?\18ªåE\19\17ëK\riYYH¹\bl\9c»\a8\9b´ô[ùYb£«\13$~3\1a¹\1e\19¬­\9aú\en\1f¤n$SPç\87ÀcÃkuòX\9a\18n\8fÄÛ\1eésë­TÄñ\vQçf![\98!0è»\91\7f\ 4Ño\9c/Å/^®\8b6Á: \8dtÍE\ 1à\94\0\10\90V1ì®(ýsNºÕ-¿¢\89:±2\7f\8c^\\ 3\11\9d)~\11Q\88\9eO~Ŷ)\8e\12Ú ~yQÀu\r\83ibhâ<E:Õ:ÄÝ\84rò¾Iµì7X42á¹)ι\9eÄÝÞ\94¨Ýß·\bM,'\83a\9b\16­\93¨\86è´\vs\19\9bcÙ«âàtÇêú¼\94\99æeBÈõt\93\ 4\9c©SS\1eú©Ù\8a@Ù~®%i©±ø¦ëµÑt^Ö¯á)¢ÓæÔÕó¢¥EÒ
+§Ù5ÐItÊ\15\eÆU¯BÒ°ýv¯!\8c@ÍMê\8aìQЯ#ÃÇ?Æ9pQ¬Éb\96óR\98¼ésÖ\9eo\ 2\âªG\fÕHuý\b2·j\99!³Ø)n\ 1F\9d\92ÉMê,xÅ%\1f:ݬßÏÉ5\9b\84\84ÃÛ£î\94\9b~\9aä\1e:êåépo\r\ 339OÁÆ÷\93_[\9c_·j\18¥©µ\9aR\11Ìä,>¢ý»ðW\rµú(M-@.\rA<]ÖB¶¥(lß7u\99û\8cÛ7Íùz\95Áî|pè/¡yt¹lt.»ã\99\1dWöôå´ÐÇúæF\16\11Ç\17\1f\1eÄȪ\0£¶1ôGËà±\8fÝ\9f\1e\ 3\18ÿtÉ\ 4\82¢\8ccëO\9fªÆ?ù\8f\97ç\18Çó\ f\8eôðºù+!ܺ\8d\r¨»Å9ãd·ªY3\ f\9e\94>¼j\1f(èÝb\1f~ʱøÜ\19|\99Ý2¬|\17\1f\14̽Óc²¯\7fþ7\1fà^ù¯§\9c\9c¥ÌË®\90È\96c\88\1ag\8cèÁç×IC:\1f\få\1c~Ö|´Q\16\8aQ\ 5u8#g¶r*Ï\15×Ö3ÅuÚ\8e+¯Zß÷\14\96yîAIgþ\13\94\96\7fÃÿR\92ÍÞE\9e*.ßÞ),ð\9a)"t^ñIg¼k)mý%%\9féë ïcKË\8b65\8b/ÍJ_\18xAV\1e!¨Eî\9a|³«\98\8dÑÕÌÛÍÆð'SpTceú©ö|Cgµ²\96k]½\8c.\15·u/|É\15=\96å\93\ f_Óß+Ó\16\84ê       ')|8\92ø)Ëôð\ad\v¾¯£P \ 1\17\8b\81«÷<>yÉ)\ 4úf.V\8c¿\8d¼ÒåB=ªéÜ\869\9eùæ\8b\98ß\1a$½ÊRü´\81\1e\19\1f8é    \99­\9ec¸ò4ªóü\94g¼c¾
+\82\8fÞy¢\8fÞy¢\8fÞ{ÿ|[Yô¯]U¼wú\9cîì [É\7fÔo\16ùG    ßAãà\eßú%ô:9Üi\1e\9býIý§ÿ"\9c\8fþÊîÇ\8b¾ÙZ\85JþMsÚñ¸³Ë(òØâüÍÓçòGéóó\8a<ùÝ9^o\16\8f\95n\86\87ßê9`£ï\16V\87ØMWA0ù\8b'\vÈ®¦gíÇ\17ïîñ{ü®§\17û:\8bÜ÷¾¼¨ìqLÿȹG\1eÇIguþ¾,=æç¡nó»\94åç\9d\9etóîéèÞm´ô\8f<Üöeç\85+6óíJè\1en3´Ï6ùÝ\eÏ\ f:«Ï\e¡Ò<Úʬyåç\96y¾ÏIyâg´¯?\9bOZó½Ó×<ïôõï?\ 6\9fLóÊÓô¯7z{\a\9e\ e{NóÀÏ|g\9fs=Ó<¿\95bóu*ÉæòWNóíÊê\1ew\92µ\ f;é]KÏ#;Õ<òsº\97\9e.w«y÷ó¶o<|î©çÞÎüw\9büïÈyægm\1eos·\8f?\ fÃëÞm3½ÓÎo¦Ú¼uÑ}Ç\9cæ³ró+£ú9­\1e\8f¯ÍRtÝ\86k¢è¶Y®i\9e\ eË©_ÄHýÒãír¸ÃºÊû\9cZ¾«×ü^&ç¸òò¿?ÎB\7fáDð»ì÷K«Ý{\17\9f9O±¨öÿ\93èK뻹Þ\1f÷ÿ»æ\87\9c®\8cwN¼\8eÃäÅìcø79\v\19Ú
+\8eÂGd·\96P¿Ð</ìrõÞwÒ\8f)O\9d+\9fçz¿\9aÿ#\96ð7\1a/ßþRoügoô~\9d?×îþ\95'ØÝýNÇÊÚu\9e\7fñh~½oi¹§ó©û¿\99ÆôÿË/?Úx\1aý3ùì\ eÊ\ fóq¼\9b\9dí\8f³Ûÿ\7fÍmÿuqãÛv{¾ÏÇìü~Ó\7fÚp{L\ eÓ\8bÚ~äÒÏC/ZcÁ\8f\19?õûwýR¼ÿ       \b\9f\99Ù}<¥\85\979æä`ÿ\ 5"\1ci_«Áa~\9e÷Ù¸N\93ÿ½\15¿ÜL\9cñÑ\13ø?íR;¸4\9füR;¼\1eax\7fGï)\1dßà_ægàû\9f3~/\88yø<ËCý\7f78Ýf\1d\16Of¸ç9çØ¿ÀìG\82­£[s.\ eYri@ QÊË%\13\ 35D~ìñ.{Ù(yÖå\98J(FL3·Ì\1a\80\12×J²Nö\8f\90j\0l6Ýh-        þÙ4àø36ÓÎÿ\84ï.»Ûøã\7f\e+\16^þ>ÃɹË\8d\8bslØäÅÕc\99\15Ôå`\8bÌFøa¥â\92úG«ô3\ 4eÂtd º¬¤\97Ò8ÀÕe\97ðÍ\85\8eaê/à\8aí$N¬\14\11\1fx\91¯\85Æby±eøñ/(\13nk\95q       Omë¥\85æ\93\b\97Þ @»ÛÊ\ 36\1d_=ð¼ÛÊ\0L\96¥|¦l|R¯¼\94¯\1d7tló\86\eüâÇ\ 6.\eï&Z\83â·É\168Ú´ÉòrG~öHûll\9a«8<6Nß$Y"\1c¯   ª\882¿Es\89'y~±»-\10K¦k¾\13\85ê©%Ã{z\96n_§wù\1c[Ðan\11·\9eÂÜ:\eCµN×$\14\ 3y\89\ 5ÀR\f¯gÅ^Ù»\vvß75\1f6Ç2ò\11ÂhZ\93-Òþ\1f¢\ 6W½6\88\86A\ e]nY\95s.9EÕ\97e\ 5ý/Ì@m6Ø~[w0p\818VAumÐÝwæñ¦L-\10>{`w!мêy®EÇ{\7fv2V̧\9fî1&$\7f\9aÌ|Z¸äÛ¹¹·h&ø®}XÒý4»ÖØ\1e1\92tîÝÄI}P'H\rÄ¥¥ìßâ\19\9aþ\8b±\1e ÙÜ\99[\fSÈn\17ðI)S\9c\8dz/%¤Ëé´\15\18*ûH\8aZî=BPÖ·È_i2G!LzÙ¤\7fî\90Ý\ 1\9a¯9ºÈÄJLc\\8f­Y\89\81|®-®\85Ý\9eü4NS¡TÀS\12îñ\ 6\92¸\1c\11¡E§\85ïˤ;Ú­\16¿é\9aõép\97\7fhµýQ¼\12\83ñÓY96ÏG\86\15\8bZ-~fxö\8aP\96Æý}\12"^=ÁDh\8b÷\85úéh·ÖÿÑÃ\aÛt»û¾\vp\82\87:ºú-\85Ù\90ÚK|\95ß àÌVT[\vS1obsÞ3\f=1\98oÒ»àºa\88v:¨\9b\1c0D#èW»R÷j^Ã2Bzç/RÎ\ 66 N\98 Küx\124ÑÈD,\1a\b\9a-í¼ôBqõ\ 5\99À]Dz\ e=a\9cs\\13\1c\ 3Þ7L¹ê÷L[Û\ 6»oô\rÎç²\8a¡v\10      ðJ]S\88·Ëd\93¼}\83\92I¾ALC!
+i<~¶\16þñºòVt»êþ©+¿ÈM\92¸4[
+ãv\83\9dêW~yä­J-\82fbßDç¼¶\18Mz5\eÛ¿<òRªè]Øy)ø\85§3\12S\ 4\`O½\85\9b\fe\ e\a\86ùØ×Ý*òT\10\13éú+öd«{o\94\12_\92\v\15ͯÏ\1eï%\1d\84\19e\9f'5\\17\ 6W*ék\ 4§{¢×Ñ\1aÕö·¶ÎeÃTÏ\19d4\ 3\9d/6\1a\93eF~\89©Q×ÿÂTx}¨¶\80\vø\8f±\ 4\94äT»Ö½*\aÓ\97\84\95ß Á±à!ní9|D®ÿ",cºN_       +¿IÕ´\ 3\v\9eݹÊ\1eðm\ 6§âú_{ü»JÞÿÔe\1a"\83|.\1eø\9f\13\11´@\85°>§5nÌ­ª~\1a\97µG£^©ì¸uæÐüK\8dPû9\7fxÝ0?q@Ò°Þ.Ø       óD\1al\9aªpL·\82øüÉwíw¸\\9d\15^H\8d\90$U\ 4Þ¥I\13a\85nøµ§\89¢â[ô14\+|ä@@\12\1fG3¢Ø\16>\8ef%1MqÇ¥A=íQ­?£ZYÉæá)\93p\97"n\a\82×uèDåMðÊ\8bSÎN¨tt?«T<\19õÜòÑ\19\8b«ÇrÔ\9aM\91x\vÝ|\9eíϹ&ì7ýc·\9aLñtY\19ø\93b\9bB\93\95ó\11ð\99k&:8®q¾\14ÿô¹ÙÅæ\17\87,ª­äPØuR\16¾ª³À\v\16\97\a
+ý½³°\95V_\ 4k\1d-k\83w\81Ôúñ,´\97p\8S\12\1dÁd®-òiký\81Uµû«jÑ\98i\az\1e\8d.îé{¸Ré/£m³dâB½OçfÍÓ9Ä­\19Â&XçE\8d\11.ßS'1TÐs\91\e|\82xîØµ?õ\19è=V^âº\9fû\97!\ 6ì]\v\92éó\ 4/¯_Cðõ\9f&=ö«7\1eúË6\10\12¤!î«Ì\9aþ)µ×U£©~\y~ÃIGí^/VC\b_ið´üä\85
+\9a\17\19»z&V\1eº>\8aÅݵÉ\89\0\16¿Ã7D\94ܸ2\ 6\è³ÝgÒ\97!Ãí²\97Õ¹+ÆçØÛ\9f1\17\90m\8d½øcü6ÜáP\8425\99ÈÎG:³\91âQL*9Y0\14æ\13ªñ¥äWJ\ 1ó¤\ 5ît a\9b]Þbî¡Ç\1cпä\98¡\a\19^z\80êñ\1cl«zYRê\fGw\rÇ\e\86o\10{­wË\r\7f,©Cca*,µ\1dÄ\7fék´"·±ß\eý½£kduÚ\11[í¾A-\8eäÍ*Ñw\98      Q'ê\19\137"\vO[\1d\1aÇoÏn>³kl\8dß\9f\86\95ê\94\8c±7¶ç.üÿÐf/\89ê[s\11\8ch\ 6,{Ò,Þà\ 4<$\97"\91#\107%\97î\87\85Ï\a\ 2㸷Vî>³«n\90\128\93ãÃ\fÌ\8aBÉÆBMA\87Ùi\84²r`üÄÀ\1e.dßPa´\9cÙ0²\ 6]±¾Ù*\87\aØdùCÃß´\ 3ì0\ eLË]\0F\1a-\801Y án\9b\83Ev\eØ×º\8añs\0¿       ;Û%ëåܳF{¹µ¡þ\ 5õx,ìÐó\12\8b^t\17\95\87\0\9cK#!Æ\86dÊAtg tÀ°{    ¯D¡î/\81\8f¨ôU\13¹j¨\9ew\16¨\9d忬k¹\0Å\84\90X\84\99¿Ý       (\8a\12\rª\13Ý>ѶªçÉÌ*×\88!#pà\a[T»¬!\96ë"he¯ÿ|2\1a|`ó\86\86aÜzh\ 3\93\10\ 4ûda\92\ 1\95ì\1cQñdbúò´ªm\90jÇo¤#\81ê\1eøwbdZèÒØ¤\89S(Õ;§:­\1dƾ\8bg\1c\18\84Ͱhc_AãGЫ\0]ìѯX{\89\8fâ\9có\ 3Ó\1dÅ;ÄSk\97hÅ*2JMËÛàð=ä#sz
+·;Wø\91\ 2·a\98\9bÒ¾ÿ8Ü\9c       F\85oÏ©¢ó1RÊäÒs±=¥l\19\12\eý|LL\e\bá\11\ f4@\92\J_\91mS\81£Ä2=ÌüÙ»\8b\91Â\ 5m©/ê\1añeeï\fâ\1eßÞö\17\8c(à¦\a\98\b&ÛÓdx3Ø\1eÁ®\9f7~Ó\89\eEüå\15\95n³ä\12\9a[ÌdÓ+\98\8d¥¦Lì`¿,KÚfdõ\0O\9a«Õûâq\95ÿÍKÞäý\1d\8fç\9c£Ð\9e\7fë\1d'\88«É\8bë º¼W_iQ=èÙK\9eù&úg<1l\83\19ÉÄ-©¼TJ\9f§=OT°\94\18þ.ÔÅ zåP½\89\8a\7f¥.ü*?\ 5\8d\82\15I\95Ò\80¦\86\e\92ö4\85\85l¥ô;bÃv§\7fX²nÕ\93Xìn{\84Ö\1fp½ªÊ´ª­À¦\17\16>»}s\87\1aú\9f¸7p\8bÛä\8fÝ$Ù¶Ås'Ýj©_â6g.¤«\91\e\bû7\a,jLýÍu\8dx\98î9n[¦\¶ã(*¦Lå\85kq¿ÝA£9\1fÎ!m[¥î\17þ{Bw'\1aé\ f3n\ 5ÆïþrgÍLP7û\1aA\1cä¥{ðEÞÐ\14FÝAp»¥HQF\rå\9a\90ÉsÞ\91ãS;\11¦dûù\ 5åV/Ü\93\15)\15nÝ»]Y\12\rnT¬ÄJO\0\9a]¥º\87HÝwsÁæ\10Aµí\9eewØÊîËSH¦ê¤Þ\ fIØØ8(\ 4.:v¥ÛPYÝü\10\99H&ÞQVt\137\83eñ·ë}bÝ\85\17\8d\ 3Gw\13\99\ 2Ìò\9a\ 4»<\ 6v¦èÊüÉ2\ 4ç7HW\94\93\9b\ 5\98\15\9c^\ 5\r
+¼6øð(2m\e´«/¿¦\ 3g&@1|\9e§\80yÃÀ<ãj÷\18\108\8dl\87®Dý;eC]\1aú×âÿÐÑgÈ·÷úD\1f\98Ûßé\10}ÃoÛÒ úÖ\8d\1c}cF\8e\83G\1fý\9dÉ\ f\97òOÅ\91&$g|\9f\13)ü®Ú¾nÛ¦äv¬¾OmÓ¡C3%ÏííÍ|\U\1a\9fZÜÞ×Fù¤ùaþ¾\8f\a\8a\9cðøê\80¿ò°,ï=_KÊÊ\8eÌÞ\13\94þv<ï\bo\7fþIõv<¾\87ÎñM:dçç\91 ¹mþN%_Ïõ´.yëùÿ\eÑû\rà£Õ!Æã \8746~½s\1eÍqd-¦N"º¯ñuRzËHæ¸à¥ª$\84"\19k\96\e\9d5ÙýV\93¸ÑÂã\vR\9e\16¥o8Ã;vÎ\117A-á\9b\85<m\90¡1í)Û]\ f\0\82è6ö\9cãx¥\9bÿ×äÏ\1dÖ\83ý½ \ fõþÑ\93\86¢±$À5%\9eì\9d¶ìúåÕ\ fkÇÃ_Æ\f\0ço9¤\95\8b\ eàÇ\ 5×ì\97~\ e\eeÔ]@ãn~Ø\14\8e@ëþú\8b\83'^Hûߨð\19\81\83\848°G\fZ\85
+\ e\a\86YfÎ'Á9æQÏ\9a\8f\ e¢§GýPÞo^¦\9bÌ8s\1d:\1cÑ·\ 5ºrs<¹°ï§Õ6A¯ {ö\17JÖIzÚ\82ê\81Å\86»&0ù\85`=QÝ\1ay%`W©\93Ùó;+4-~n´\99\13rn\93]ª@aìþ\ eÊͳ\fã¤ï!Öê\82¨k\99¯3²³ nË`å\85\89±ÔÆÌ\83M\98\88\ 6ÊEÛ(ɱÂí\880õ8Ù|t\0\eX]G\85W^\83\90\94\8bæ\ 5\86º\17Zf%aÅ¥D\80ø\ 1ø\ 50\ 58\ 6|\ 3@\ 1\ 1\19\11¡Õ#ÒÅV"0êã¤\8c4¢Õ\80*@\8e\99\ 14\83D$aÂ\r\10\83D Ñ\b\9a*\14Y0Û\r\18pÃl0Û\f6Ã>lX)\86\84ÃBfÆ&\88ÊÉ¥F5)4\10\15 \13DjS´>F3àÐø4>\r\ f\8eÐý\18ÏÃCðÐü4?\10\ 5\90+\95EJ\98äÐ\ 1\1e*qQK¥\8c\92)iS«F=ZqÑ\8a\9cHh¬´DÑU(rQX´GE"iF(\ 4a\8d\158ÚdU\8f%R\ 1=
\85\1cc\10\16\fk\ 6\e\18Î{Ð
+P\aÀ\ fÀ)\80)À3à\1a\ 4T\8b¥\84\8cm,%\91V6\9aJ1\13\87R\8aÉÔi\88\12J\b'X©\ 2\1ca\82lh\88ÔC}\18\80ü\ 1jdKVØè¨¬\95\80\12F$t\96F¶¥*´V«¨¨Fª\12¥\18\16 iV\85      \18\95²IÊÓB\88\8cI1¡¢T\90V£%R\92²\ 5X\ 40\bä\bc\ 61\81XïI
+®J:H\90¤¢¨ÁNµb\8dñ*j\11«[L³¨UqÞ£
+B²Q\8d"<\94dB\93V\8c\84¡&\8c\88\80\11\88   ÔB\92êB«*ê2R*QÒ¤"\8e\95U\89Ê\88RØþ°°RZ\94\ 1ú5ÕJÇ \14\15®ªZ\9d\15*ôµ\856R\16Eh\90Ë'«¨\8e\1e:Ø.  èN\v\85\95­UÒµj×:Ò¬@Q2\ 2É(¨\ 5B+V«P\8e\96°\ 2:µÈ­\1cÍ\11Ì
+\84U®-\b\88\10\80!\80&\ 1\10\0͵ 
+\0E\0é\0*\80#\0G\0\90\ 1V\0¨\ 6\90\ 2°\ 1`  \1aR\ 2Õ \15À\15à\1a`\ e\94\ 1è\ 5(\ 3à\aà\14À\14èÕV-Z¢%&e5ue$\8a½P\9e\ fb\94\ 2|\ 1\12¤¤UõAhÓRRü\9c\92uJid£¥|ö\95\1d--)\80ø\ 1ø\ 1;P\1e\94¨¤µB5êÖU¢X\10\91\8f
+MxÒF°´7\8d\11\1aÅ^\80R\80>\0~\ 1L\ 1NR:ô´dV\94\ 1ð\ 3ð
+`
+p\aµ¥)T \ f\80\1f\80S\0S\80=I!\9d¤3´\86v\90ÎÒ\19Ù\ 1ìb\90êP\aÀ\ fÀ)\80\1eÆ¥\r´¡¶\94\86ÚPÚ@{\10AP\aÀ\ fÀ)\80\1e\96\88ÊÒ\80>\0~\ 1L\ 1N\0ö ¢µ(\ 3à\aà\14À\14à\ fd\16\81´ \ f\80\1f\80S\0S\80=\86\aÀ\ fÀ)\80\1e\95  ÄÛ$6É\r²Cl\90Ú@z©h±J\0ø\ 1ø\ 50\ 58\ 3Õ\83î\0ø\ 1ø\ 50\ 58\ 3Õ¤\ 6Ù\ 1¶@m\90\ed\ 6Ù\ 1´L(\ 3à\aà\14À\14à\ fKV2}ã\87Þ8}ã\87Þ8}È
+*ô\ 2\94\ 1ð\ 3ð
+`\ 2¨}ì\90ì\80>\0~\ 1L\ 1N@N<T\88\ 59i¤Sd\9c\10´¢)ÚI`\ 1\9e\9b\ 44\rAÒ­U\18«\16w&²9Q«"®A`\90$W\95\0jì¬F\1d4I\ 4\aé\95\eå¦Éij¡P¦´$déJ\97  +I\88\8c"¥Ù\12 \eJ\0\98ÌJ\88ªò\9bÊÒn \16
+ÔåN,5\8a\92¨\92\ 5     1!Ó"¡e\ 3\e>\1a      è\8eUs\96¨F\ 1E\15\94\8e\8cJøi\8ci(ì\8a(\94,\89\16¬
\f\80õè\ 5(\ 3à\aà\14À\14à\19ð\ 2§¢IRi\1dZؤâ\96º\94Å®ul\1ey0\17Ö\17R+V\93\8b]"\99\80ÄéhñJz+
+\96\ 2\ 5*0«
+\9bù1\8a\ 5E©*\17ã\15\8a\eÄu \0«\8b\8céS\ 2\ 3ÔÝÆ\8a\8a\83hU©FvQj FJ\84jdÔ=\80@}\0µð\8e"Õ(\ 3à\ 2{U\8fPîBe\1aKÿJì\80ø\ 1ø\ 50\ 5;¸R4±Ñ\844` \13¼4e ,T%F\84î,"\9a(ª¤@\93[P\0U\87*Y\14XQ\80\vAø«\fjgº\14\80gÀ4\0
+Ã,Å8ë#\16 ¨|R¶\19T\97^P\18\80ø\ 1ø\ 50\ 58\ 6|\ 3@\ 1\ 1ÝIIb5KV½v@¥EGÐÞ\80\e\ 5ð\ 3÷D
+h7D\1ax.È9ø.ì.£¥\163l\9a\19\1a\ 6ö\1açFÄ\8f\15:ôc¦U¦ØuÎÆ Ãl\83¨I\16\94h"BM\14 Ï)U"­\e\v¨\91êÖmAÖ\e>6\1c1\9fC>}\rÀÅ\86\r:pÊ,\10)K>\83\S\8cÚ\14i*6®®JChE:Í«£U\8c\12\ 5rD\ 5©ª*[# µ\eË>uBõ
+\1aT(_!Bý
+\1ad(iСϡC B\86\ 2\14:\14(RB\86\12\140СM
+\18\88PÔ!GLY½c{[;+Z\14:»]WSÙæ¿\83©C[eAD<,u\aS§C¨Õõ\1d^¢×QÕüË*\a\16ZΧµêì.ªêd-\8b¤OÅ\f.ªêKNb\ 5(\ 3à\aà\14À\14à\19ð\r\0\ 4\0\r    \ 2\95éHñG*V$xØd\ 2Ô\ e\93bÅ6M¨;¦Ö\1aì\99°\8bþ\19\95\8f     "\99'\14\17V\1aî|Ø\80Ê\98n±kÄÙ\bîPmR¬Hm\87¹ÿ\f\92Ðâ¬Ù     û\vª\95këË3\9e èì5Ý\ 1±\10R~¥W¡\ e\9fÐÈTªû@Y«è\ 1=>\89Ël\83hjÄ\90Ù   ë\v¨µv2K9F\81Õ\86»4lD\ fãjµÔ\92¬\ 4§Âoñ²äÛdÝ#@\89CSb\16L!­d:ÈH9\1e\ 5;2hA°×C\9e\f\1cÂ\ 3ÅîõÐOS\ 6íÔ*@Û¡<B\b\8d\r\92A±jH\9be\8c\bð\93l\97J\91\ 3C M²\14\ 4ý&Ø«|\0~\ 1L\9bdlV{c\96\9f6ô>Ï/²\e\8dý\8eY\17\að²\1eX´ÆÅ\9f\16\84êX´æÅÈÐdGµ\828ur\10F\1c\9d2¨"\9aÅ\1fJ\96i)Ð7u¡\1e\16
+,.òcÂÁX4\14JSÍ\89JÞf#ì\84ÌGî\r\88o\f\1còVmóM-\0\1aÑ,\88\0\f\1d\0ÁÐlú\ 1¹~7Fè\1cP,\83\18\r¶t\7fDRÔ)s\93X\92¦\81\9cÞÏ\9c\e\99å ýu\aGAѯ\95Éc4\92ÛµB\8f,\eKM\81¢M®¨h\95G\e1c\\95Sm\9aY\10õr\9d\8a>¸xYÎZ\15\8a°â½\89^­+lv\aÓ\98\1fÎ`¦l¼\ 5ôX\81Þ\8aï\8b\8fî|}&\1f\1fI¶Î\1cÿa²\14íéóÓÌeQ\95\87c\12\1d\8d\89\12×õ3\8cËgð\ 5Fö­´ùç\fdUc\94²&¾»Oûá\88°lh.¹.\12µÚUKD|\87j\83¨/lKX
+8\7f\ 2Ä«ÜBÃ\9d êvq'æ:B5¨¬5¶\7f\13\1d\90xV¹Å\7f\18d\9d%(r2S9ó\9eWܧ\95ñ:\ f§gæd\9d\87\95÷-å\7fÊy_\93 þv~fIÓ§Èy_òÞZnSËLN\80Õ\ 4\1dë\86\8e7\eÿ}ñ9¤æý\84î\9d+\12Z\9bKQi¶Û}\eæN\13ºµ\88ß='0\92JÒN\96p­ÖÙ\ 1\92ZN½O¥s*ç9´\88QêÙÑ7_I+ä[¢\81`£4\ 3à\90\aàc\87
+ £\80ä\ 5\80_+áh\92\81\0¶x(\82\1cÅðÎðÞß¿ýöa'unêO·«¢Ø$ p^\e|TO\ 5\14\b/\96\87åïÉ{O¿z7\erkwï{Lß¿ ¦þ
+8T«òÏ(\8eó\90j`á\ 6\95\ 2sÙô­Ù¥b©¶\17Í9ùdÜFsé3(Ð\10bfù\86\1e1\9fº`úZÔ9\8d\ 3\98Ð#¾.ö\16è¶Üþ\ 2LÓÚ\86áF·kê({¿\96\0\9a\ 6ü­à#/\80\8cÇ\99ùÛ¨êòضñ\86\19o\18k¶À3J\9bÆ'ïÜN£V\8dzl\91x\96ÏQ\×\ 2Æç4"­¯µR\1d
+ÒG©à/â[nÌÒ;Ê\1aºàîåB\83u$\9f\ eÞ¥kdw8Y\84éü¶qe¡Aû)?5\95åì®òöWy{+ó¯e<½c¼½c¼½có¯Xy{/¼½\97Þ^ËüëÙo/fw\97³;ËÙ\9f\9d{2ÖÏ\81Bmi*Û¥M¨\93~X\8b+o\9fM£ïû^Ä\98ð\8a\9b\14­ë\11qØ¥ZÙæ\1eÄÆõ\88øíÅca69{ö88ìrÓc\99¿cS\1d\8ee¯Ùçf\r WÏ·f­u]ú\83zçs;?\10òE\8f$S\80\v\87Ð\90       s\aMo\8cÞÕÁñ8¹\81i9K\9aÜÖd«\84)G\vÈ\8a\80\988_Í\11\ 1K8N¤)\87\vã2¶æÔC\0\88W6¤¤\87(\ 6ÂC`\a-!Ë\ 1ÌHs\ e\86®Þ©ÐÞôeØ8U\15w\94<º8#ñ bøagÅð¾Ê>\19\7f1ü5ð\1aÛ6,\9eû÷r\8f¡«l×És\xa\95·djØ*`Ù\a©ºæè¯5J3ì×Ét×ïk\98\ví»\15!\18è/µ\a«{]bA8\97\10\f\92\1a\1eѳ½\93dôî\ e½q|\9a-U\9aL\ 6]~YÑVr_;{«®;cø$:5\1c\8b¥Ú\84{\ 5\ 5\95<\85>\19¢kõ\80\ 5\14;\99\1f\f\r`3@A\18½$\8a¦\13ò\1e>\8bû±ïzë\13IâQ\858\ 5\vù­\9dÏYÕ~\1ds|Ø\f®×\92ï\8b{¤tÛ±¾\ eÉÉûhT`X¾\v¹h!÷¯zå\ 3ø\aüÆ_\9aÙÜÌ\97U\ 6WÀWr@\19Ø\r\ 1\97Éy\98IzX\a\88\97Ê:ÖÊÎøiUeî*\8c³¹XÕ&ÉÀe\17ú\83Ãpg:CÎäîmýqáÃs¤<âIÜã\0\v\0;\eü?¸\8d¸­l÷õõ¬NÃ\8e\98\83\1cZÑá@7(ÊZÙËn¥|G2­léC\1e\15Ü$b¯©\90<-äpxf®Zð}?OÊSs;sÙ«èmí»à#?\9bç\a\87\97\ 5ê×\8bóÞp\µ³;\90Í\8aZÉXò\7f \85_\8eÍ&õ\95WYºL\9f\e#Î'\80\ 6¿\8fCZ\9bJªÕ=iQIû£Î@o8\b\bÐ=¤\a\80\ 6{M\84Úl=iÐ\16\9b\ 2Óa6\9b\ 2Ó`ö\9aO¤ä¦Ó0Û`@F\92RrBN\92ü¹ÔëPUZ\15©Î\8f\95\ 4\a\9eÜyí°\ 2kÏXû±ê*®¥:ôc²e£ÄP¤7\89\16µYRHq\r\0¥xHª\1f\e&æ<.R\8b\10ö\9c\9cC\14ã\e\10Ð\aÃEf! \9c\86
+\¬Cd\1cl¼CB\1f\r\10X\86\86q»ä\8d\805\vñY¥[UUuk\1e5¨Szx\0#\8duN=hP#çÅ.ÞÙvÈCtMÑ\8b_§ÒþýÞ\9fP\91e#ÖÚ \16¥?Õö   \16\97«í~§«ìû>M{½\ f¯w§Ñ$y\9b·[=;¿gÕýOëº\1d\98ù°#\8fê±zѾE¿ã¥\8c%k59½ÁçY\93\ÙkÏPíM\f\977°´
+kÜw\93~äOùmííà\8f\1e)\12È\8e\xÿ\89´l\1f±ï\a\9f\ëª\13\9b*ú3¬·g%À%×V\158DSÀ\9cnνÛ\88¿\1c\12ZÙ¥\ etÛ8¶Ú2v·_ôÑ»'\ 6E\ ft\9a[\8e÷þàpî\11Ë\82·.]>\84\9b\96á.à¸}`gS L\ 1È\1e\1cCÜÀ\87¤ù¾f¡ñ0\9cíéÂ\9at\8a\171f³^\99䬽Û\12ôÔ>Á6\bìÏË\9a      ¬·dpßx\f\1f\19m\r\8a\8f\87\1a\81\9fv\9a,O¼æU[l¤\13î·5«\ 4_FÝ:ÔÈï\8bj=½FéÜuqTZ\9d/cõ½²8·óÁ\1c\98­¬\97\16ü0ß\aå@*Ñ<0\1f\f¨¶ªÿ$¿éåòt¿Ç­ìÍíy¿ÇýáÉ\80®8\ 1Ö*\11zy#á\96\82#\9f^ç¿p\8cµ­+߸e\ f[\a­S×-ÚP¯ë\84S\80¨½\0%\8bíáDAüÐ\16\0:m\8bÁ\0>\16×ÊìaðÊ\91Ö\ 3¡\r)Þ7fû÷t\96\8c)p\ e\v๵\94\92á{+\ 5ÅmÎ\9dX\96¶)Nç·\0ÚFíZëÒ\86\ 4\82M/\18\8aW«&\94\ 2@¯VUDÔ\91XH¬$Yi\16ZE\98\91f$\ô\8b\9e\91t\12.\80\14\90éO¬8O1\b¥\9dN{Q\15\9dÏ¡'3O9oæ/½\94\8fÓ©÷ùÇ%'»\9aBÄÃú\15\8fý/t\0#æ&¤\94Køâ~8\85W\1d\8a.?éß`õ\81\1c´~úcå7\1fõ\96\87pÔBmùÑ0öß{\86\8eÑíû\9c\ ekðp\9aí\ etï    £´[~t^\15YÍ{\9c\ ekðp\9aí\r    xM\13(ê¼®\15YÍ{\9c\ ekðp\9aí\1cÖß ¢e\9cÖ^/jPÜ4$§àü\9b\9f\r\95z^M¶l6«¼a\85ÿ|Oãl3&¥g\b)w\91|\17\83\v{pY\93cX\19±¬\8b\85$Ü?ÊÌÄ\&?p¤õº\8cÌEÂbn\f<¡ÿ;:(¸h½paõ\ f\8d\90Î\8a.\1a/\\1e\16YEÁ\97î\ f¨I        \96Qpe7   o(\7f¡¤8m>áË}CþØM!Ã\14»Ç\191EÀûm4\87\11§ÜIo¨¾Hm!Ä\14\8b\8cĨ\96æ\15¤8­>âÌ}Gï*Ò\1cQJ./(üÒ´\87\19§Üi\8f¨îd´\87\18R.9ï(ý\ 2ÏC\8f\1f\1e\89§¡Ç\9eó\8f\9eò\8fì\16z\1cyï¸ùï¨ã-=\ e\9c}\a\94\7f¸Yèqç¾ãè>£þu§¡Ç\9eó\8f ò\8f÷Ë=\ e<÷Ü}\aÔ}¨\93ÐãÏyÇ\92õÇøKA\ e=\aÜy/Ü\7fÉ\16\82\1cqJm\7fë-YUk$?ã\ 1ú   \ fýç\ e¥n Ò\9cË\8b\17\a\0$A¬\ 2̼üëuìY#´ãßG\ 3\ f\ 4}L̨üE"mí\9fF¿Oê\8d¨ªVÓ\9aD\93ïû¤ù?\94\99p\93\9cHë¤\99 a(Î"\90p\94iëï+º\91åwR<¯\9d#ÊùÒ9ÝÔ\8ewm"\82|¾í\9f\97»gÚecÂ3eGYèFCFH}þ0ù;¡\94\86Ì\8f\11ø\ 6CGÂ$\12\e\88\9b/+\1dÇ\95\8eãÊܸò·.9Øî9ɸ¬ó\87\84¿-\ 5ílÏÊ\1c/4x\ e\aé\9fÙ\17å\8f\1d˾:\15²à\1eJ%\8c¦Ò¸#ä\1c\12.ÒÉÀ¾\947ð/B\16Bc\ 2§\84x`\84òG\8e¢Û{xÉPx\91q\12¢"QÉ\1eWa'Iòpw\11»_§\82>\8eB[Ä~\8eù/\1f%      ò\e\8a\90\9eÔs%\1aCqÞ\bðY{[?âp¡:ûÏË éflI\80k\83¥\99ï\80d¯NÄÕODáC"\84r\98,X\95\0ÚïÙ¥\v4ðr\80¢\88¢\92lÌ@6Â9W`2SÔj¢§ ç6hÄ\185Ãâ\99Ë{Å3\9a\9e\ fôKÁrm\81æ]ÚS\ 1\96_2ÛTÛ'Y%\85+ÏPl¼Dø\15òM\vÁ)3z\84û`bÓ±çëbB8K\9bJ8[\9dK\89#\96@}\19Ó\1eg6Ñ}þ\fãßW\93\r\97íë¡\ 3²(¸î_fø\0rÿ=Ë\9ffæÔ.µÃl\ràEÚÙ¤\1c\89ÛÎB8\9fØ\9c\99Ü.Lä93»ÎLî\a&wÒäÎyÉg}É\83ºä³Âä²\87%\9eó\92Ï\ 3\92ÏÒä²ó\92Öû\92¦ë\92×\v\92Ò\1c\96»ÎK\\ eK_K\92ÓÎLý÷'#uÉ\9fÂäÏC\93?¼äÏàrgý.L÷\9c\9a\eîL-×&\87\v\93A\ eM\ eó\93C\81É¡ô¹4\1erhï¹0÷\\9a<.M\1494{ÎM\1e\a&\8fÒäÑyÉ¥¾ä«ºäÒári!É¥Þrip94¾\97&\95­\9d,¶ý\16ìar`*\19\ÎtS\7f\15\12ÖãVã\16\ 5\12Ý%Ò\14´J:ðQ^Á6\11_d\9d\94W÷I÷H,ãôõ,\ e?JìÅcô´4VHD\84XÔK\1a\14hH\1dR*\81Õ\8c©U¢>H{\14\11ñíI\90]#×\f\90Ë\ 3±\92\8e\88u¥q\90\1fkðþAå\8d@zXÃØ8q\9e\ fàÆ\18ëoð\87ü¨\ f¨K[>kUfáÖ²\ 1\12øxÆ\1fƶ1çS\91D½ruÈ\Ê%¾Kä,Z%í\13´rÿR1Eù¬\8b\16YÃÅMYé\81\14Æz\ f«ÔA)Y\91\8d\15ò\Â\1eô¿|\9f.¬Kã«6*%þÔ!T«[4\16\1dwÓéRÁJW\8e\85!ï½\8c\97ºîõ\11æ ò\93\86nGgâ\1c\16¥¿\f7LòPÙ{Pp\13k)ÔusgÃÈ\18|?.¡u¦¢lÉòÇ\98ö).æ\ 2SJäBFù\7f"\bÇA\13@9)\1d²PNJJI!¾µ³<Õé½\ 3V\9bò¦%ÍÉ7íÑ(ý(\b\18\14ð\89á"¿\18\9e2+ò   ä"±ý$v\15Ì$ÄW¢M\14\13ÌEn\91ÔW\80\98\11\13÷\91_ÆO\8d\15ü\84ù\11_Þ'ÞE\7fÀ?«mǯï\93\95O\95BÀæ(\89çáЯÏÅÇ\ 1Q-:%\aÌO\98ø£æ\12@³iB³N®\1c\86\15é·Å4z%Ò>\1e\8a¥\12×%rFQùÇ\9an.ù£Ë\ 4|>7"8\19\12\14!^\9cþ%\rjOn¿áÿ±W°ù\98l¤Î\r\8d±Øf¡\89ÿL÷ø\80¡±É{ÃËâ=¡\9d
+\16\12Ë\ f®Gañòþ\8f¨ìãá\93\05h£\8f\10K[\13Ù Ä\12\en×^\94\80\1ea4¤\8f\82ûI\13èQ¥"\9f;N¤\8fHÿé\13\99f¢´Ú¢ÜbR\85BmfÕ"\8dÔ¯eIÕ\9bh¤(âC\94\8f\7fÍO³@£\90\fZ\9aÚsÐH÷ \ 5z³í\95¹Ú£¤6Ö°Y­Sj\ 5Flê\96tÛ5Ô\9cy\ 4|íNn}C群éVÕ©9\8bjÎi\9bq\8fC\11§P\0Ð\0\8c±N:8çuAÝS\93nͱAÁfűAÁ°.6\ 5Å\90\v(\aVP¡\0Ë\14L\8cÿJ²{ó`\ 1Ó§56È#\'ë¡?X'ë0\9bMZ\16ÇJòv+Ñ· ô1\9b¨ÍvÕ=\16\ 5\ 3©©«\r \18\1ds©áS5m¨Ë3¼ñÒàs\87L\ f\ f\8a\9aÔësGKú­\9aök\96ÌéÖ\ f¨{t´í«5­JDzÒÔ\9fYJGµ¨vRÈé\87!\91Vg\1dì=\fF®Þ­µY±d1´\aO:}\1fµ\8b7N\7f¢Z\93Úl¤\889±e\1càáC\ 2\89B\89'Z²{\11j\8a    
+ið\ 2ªúY\16ìO£\ 1ÚJ|\ 3¤²\1f\ fMåO8/Óôý?ªÿG*ãý\1dÏa=\1cÂ:8\\83\ e4Ù¶;\ 3\8e8rµµ\ f¥\95\1aóÍÆ^\8a\88\17±\8b\98úm\81ÑÑn\10ëöÈJß°Ê7\ú\92yòf\12×\82÷*\13 3v¼P)ôõóäè\13y\8aw\8b:ËV\r\ 1æI5uÃ\16¿\96{~\8a\8aå\19ÓkÜ@\8a\1a\ 3¹[·^ØÝuù'¼ùo*K½k]s\9c\9aG Ã\86ç\8eÎ\10\98ám\8ei\8cÿ Ô¹\7fô5Cè5ÍüÉ\ e-¿>\84\92v\1f\99M5%\83{¨++x¯aZÔgP6تÉê<÷®hj\8eAéUn¬Û\ 3\93}6¹é­;PªÖi\99Ä\1d\8a¤£d\8a\98-¢Î²}\19\a)bÌ|Õbóý\8f¯ì~¯µì\12-n\95ZD\8bS¤9BkÓ\85ϯ5¥mx"Øv²nEà©)\11
+mx ã\85¸á.Úæ,Báv³\11\89\91¢eÇ\ 6\89·Ró9p4Î]\r6Ô4ß\97Ë:)µB·\0:qëÓi#\8b:óa\8c\0âby©``<Ääbbp¯²\90¾\1a^\b\14\95ÛêÿûY0\0\97Ó\84\8c ¸K\8f­:ÚáKvõÓC\0;\11è\18\1aWx\8f²\1da&zB\87d$\9a\84v'fúeIá8°Y\16\v)bð\_Á\18£\1cû½sç<K-¨\80B8@&\ 1\0åSd\8b\rpÙw]ɽpöcrîຼóÂ6Û5¯\1f\83«Å¸l\8e\87ØèE\90N\8fW¤l\9b\9d;\8b}øwmx÷_:§ªrù\17\11Õîc-\ 3Ôû\1d\1fP^<¢tot\8e\9aüÆþÇGÕè`è/§\98\8e_\8fPºþ²\19Çrï\86§Ö6^\ 4rúß\87®\b%q/\93¹7ï\õ\87»Ó89\88ïòíß\8câ\rúØ¡\ 6\19YJ\1a%n¸Ú\11Á³uÇ.{Ïó\r
+Lb\1eC¸6{ÄAB{W\ 6@.û};¦è\10Ý\1e\87¨ç©\88öAâ'\9b\88hG¿\1fe\v\8e\r\99ߟ\8b·.îÝ\8d\85´¼\1dí\8fX\82§¦¹\17ç.9\84\ 6ó\9f\83n\ e®@ðuçéøTóÑ7qè'AÁ¹G¼ÿ3y\ eÝ}\d \91ß\12ýáººÄØ!ÿ=`\18þsñí¿\bE\9c¤ÚÍ>3º×\ 1ÞÙ\87\9e\11½%ÃÌ\ 1\98ÂÞ\1e\8aí·ræÖMä3·.;Ƚp¸_\17=a¢³ÙþÄ\8c ø\88o=\99Ù_sâè-ð\17áè-Ñä#â\1c\99õgªîgÜø½PkÕ\ 6\96êÅèm(ç«ÐÜ\89VS\12¬á\89\ºvjN<¤\85qÕÑ\a\ 4Ì\1e\bg.\ f\ 4\7fH÷Jx´|ÓñÅ\95Þw\8dxgpò\ 4\84z'ÇÉ\82C}lÈ&úÂo",\\1fÓR29Õ\ 3\19R<DøQ\18dxQ\1dº |V\ 3Ç\87äÒ\ 6PXlnØO\85\b|hBÂqñØa\9eÂÎ$\1a¢ÂÎê\ f$\8e\ f\ 2\85ßfêß\19®ûwLoS çAó¦=á\8eÚ¶\1c\ e h\81\1eqñØb\85\8d\8bw]ͺï\16ððª\eH\9d=\8b¤)ôÛ[onë\97_µe\1eûw\1dë/\ eU\904dC=Ôæ`ÉÍ\96ß\1a\85\ e+\ f\10/µe>2è|5ec°ñQaañ¸É°±\8eÃÇE\86[ãf¦Ã/\1d\87\90\8b\fÇÆï\93a\99\8eÃß\92×\11à¿\94Û\aÏv¢3Â3î3ê\82\11[j\99\1eøñ(\19³\8fN­z\9a\84»µÆut\94ªäZº\96u,jT\9a>!>R\91Zá}¯tC\89ÕfÖrè§k%ÁÇ7\84K\8f\ 3\14û,ø¯ônz:s±y¥ ÁO\91g\90n5\12Ü\1f\1fæ\ 5¢Qû\11ÄRø0\11æ\8cÉG\99\v\ 1²ílùÕu9ïpÊa~ÿ\1c\88è\0£æA\89©õs\88z    \0é\f¾"R\ 3\80ÔHÛÈ    ¹\ 3«½\7f\8e\1fÊ&\1e\92>    \94µ±Ïnu\88\ 6þ\11ض\0\89ϱ=µWå[®Þ±^Ú\8c\12uaµÙ \80ÞI0\94\91w\12J\7frJZRP7\12Q?¹%1)(;\89,¯þ$\87X
+\94\94\94_ý¤ªÇ\1dfËò{\929\15Ò\99\1d\ 6¨ðµuè¨\ 5!4\95"\95\94Ri©6us×\0uäH©³ÕãØ¦Ô¨ÕÛ9\9aõÁêÞa3\87[ØZõOE­\95ëú\rÊ{¢5VÝ\8aº§Þp3C\94\ 3\14vרäÿäáäÿä\91vrSÉÿÓÈ\7f\93ÿ7!N\ eOTÞç'ªww\93ÔÏw\93ÔÑ6¼¬\11ü\850òw£aäïfbäïGÅÉÞâ=\v°áé\10¹\8dØ\Æ8\Ãй\84ÂäÔÛ      \85ÃËxs'\85ÌpÂæ?D.\9dÜ\85Ì÷as]Ø]7~\17fa\85ÑñBî&(]\19è]\87\85Ò÷at¼pº[кZarjnZat±\v¥\88]/\86\17\10¹\9eä.k»\v¦÷atíø]\1f\f.âb\85ѱBìÇ¡v\1d\f\91\v¦nÂé\98átÇ¡tÄÂäÔÜÄÂé\82\17L\10ºg\f.\99ú!s]È]7»\v§was;ð»\89\86\17\v³1Bèö¶|¡Øò¿¥×\7f»ÎQªÒyÊ9\18\L\82ZÙ­ü\8dͳ5üG\ elÛsY\7f¥Â£\b \ 6½\8avc7=\9b'\884ì¨Ø \99­ú5\99P\91\e\98\ 4\1f\11\9c²\93S       ª\\ 2NR\9b6$\8a%
+\18\14K\14L\14g¨J\\9a³kêÀ<åô«\8eª¹1ý\9c»tlÕ"µçsè\ e.\97Ïè\9f\9eø8Jôõ$ \13(ÕY¯\ 4©ÊÊHQ\ eUà£P©6\8b\83­±\ eh¼8:×Ñvv5ñVÛ\80ª\b}[ÂÈ:ÒGW¾\80Íð\10Û\ e-ö \84æÖPDY\101\ 3CslVúBRR\12\90\90\94\ 1\16ê\17\840)\11QåÀJ\86O\0g\97Óñí·f¬\1f\7f].\9e»Î\86»În»ÎVº\whf_÷zK\12\ 2Z\7f\9bHT\94ÆP¥Â        +xGÓe
+@R\90\14 \14´\ 5,\ 5\9e\80³þßHÞ¦´Ï.Iëõõ³å\8aÿ_[A\15ìkhL\15ü\9aÚ:"¿ôkyräõ\90¸S`TîwÁx2£\806\10câHU\aÍ\0R\80\87\1d\90\9b\bô]ô²\11w\1f\11ð"\r!¹mé(\1c\acü@#gu\83ZQCä¼ÀJH%$\ 3(\ 3)Ùü[þï¯\86\veù§\b%:`ä\0rR`ä\Pr.(9\17\14\1c\8a\889ë¢\ eJ=b\ e
\1c\15\888+\10pV ä¤ÁÍ.Ü\1cU\10rV(9!\aª(\93Ñ\92TøsAn'Â'¹¾dÚ\90\89Úð\12$d:£¯5\16 Ç\86\f<\8eÏLP2\89\8a&\81¹\14¥\aÙÞ \87ò\9e\8aF\80\88¦ñ4Å4\13LT@R­lÑ\8d^ÛR^Ìï8fv\81ó;Nt\91Ç\89GO\96ïâz¯Ú\ 5\8fª£RP        \95há;¥   9D\80Gx\8fe<v$®\1f\e§=µ5G\f`\ fU컽Ø\9a¤Dv'\1d;\97}Gb_4\1fQÃ,-@L\83\89\11\b\11ÕÒ\82\8c¨öY\\1f\11í²M¤D/ü\84N"\9dz\89ìRtÁc@AÌ´OCÜ\8d<\ f´¿[Ù¼\11\86\86\8e\8f\92@)\809\96¶h\b\10\9f\r\99\8a\ 4\ 2>OÄõAþ\94\19IH\ 5\10!\1f\12\11I\9fx B4XD\b\95µætï   \8e}rú©\ 2 `®!ë¸\97®V×\1d\10\1eâ`<­¥S\ eå=\0å;EGôbD\ 4\94\98 )ß)8ç<\83]8ü\80\88\r)\10\18úY§\1fp\1e\80ò\9f\80ò±ÀyB\ 3\9f\ 2\13m\9f\9f\80ù\89Ö¹¿úë\Þ\1dk\9bÅ­sxµ®o\16µÍöõ®\e;ÿfµÂÈþµÀ?\9fZæÿõ­qò\92\9aÕ K#W¿
+õð¹ÛK
+x]í¡\9e2àw\r\ 5\1aê\a\11yÿ¥ÿ\9du'Ç{]D9¿6\90©+Õ°énÂeÒØ´·[\16\96ëbÒÝoí×Q\v\856\ 5_\97]DE¨\ 2\94\ 5¿®¢.ú\9bºê\19MýuXN\8dÏëªe1i\ 4þºÈ'%Þ-àÊ,I\ 4N\91¨ð$;¥Æ{^45\99~p¨ðk\ e¼pð¹i\85pñB¸x¡\<P®\1föëÆ\85ö\97n\15îkÆ\88W!\a±ëÆö*\10[\ e¼hµ!\12}xÐ"<-¼\1añ\87\90j\97»¯\1a»úñËÞ×\8d^î¼jâ\8c\12±F\ 5S¯v\9cfñkÝYí9[á×¹¼:÷7»¯rpR\8d9P\17æ×¹09í{\92'þ5î\7f\13§S\ fëÞö\9dJaÓ©MÝ|^Ó©Oê×É·µòo¹¯\93|:ù7\87_&÷uòN\ 2±@Íí|\9b\7f_&ÿû¯\92©\80ò÷µòW\f\aWç×É_ê×É´kåN ôô\14`Qm½µë\1aÛm4UhÎçÉÌ1¡½ÿ\90[ý 9(Î\93%\0\94àÊ@&\80p\98HPN\14´\84¡Â\98\90²\ e\16zB\84\1d\9c¥ÿw\ùèûzæýÝniô¥×7ùµ¹¾\\97|\7f\80\fe\1d\91~ð ;R7\r\18-\BrS\86üA\ 4àF\8fGE]dK|\03ã|9Op,\aXY¸æ1¼æ0w1\849\8c\1dÌa\ ec\ 1Ìa\84\84u{\12Ò\11ÜÆ&$#¹\8cg¤#¹\8cp9\8c<æ0\971\8c.c\18\12æ0\971\849\8c\ fH\rÆæ1kgöHQÌ£\7fËäw65¶µ\e+\97µÏ%G¢\1f.×0äZ\1c­¦©´ï\17³|õT!ô2j ô\83¡ùAVª1\84«\ 3òñYxJË\1f\97\8aÌÂV`ü¼W?        \ñùwƾ\16\85\1cÿyQà\97mδAØè\ 5\99=àP\84\1dÓä§|ÔZ\r\ 1\1d\ 1\fu mðZ\98<\18ÂI\84\92*/¬:ÎBoÐEú\|\81ûÂC¿\7f\97Ü¿\8f\ f®\12RÒHwO\ 2±Ú¤¡& IÌ\8f      M¾êRgq)3¸\94\98\8f\fcäæ<N
+\15\13\1d«\ fáĨÏ\8f\ f#oçTç÷\159ýÅN\7fuS\9e9&¸Iç¼MD/sðGÈ\1e\8f\85ke\98M5&Rü\91\91e]ɾ\85Æ\ 2í-\82ñóà\81W˶Ó-\93\ 3-4Ø \a¢që>?.ÛM¶WsoÞ×\88\8fü(J)pzW¨ô¯ë[:\8b\ ezbü¤©\r}\ eV\ 3@Ä¥`\87`\82\97\11Õ¶\8cúÉ\8då\93\1fÖ²_\99ns5       \82?}\10Ý\13W1\8c¹³\8dã\19\83y\86 qý#tWÎ=\8a©]ãü\1d\9f\8b\\83¼nè¹®=/\ 6m:ÖK®|·NóÙ&\0FÖËB\12ËÝp%\9d¢\83\89À\97¿ ¥ï6rÿï  ¦Ã:\96\96aÔªbRÌíÂi\9d¸M3ye3¼²ÏÝYg\9d)\91\89e\9fÛYgöÖYûË,ÿì\93\r
+KúÃ\1fgÒµl¼²\ë#â\84lwA\bÒ\92æ\ 4\ 2}&0\83/\b30\83\9f\84\1d\f óp\83¢pG8dz¥\9bc\9eX=5ý*ü\ 6å z\8co\ f/xy\9bÃçï\ f¡¼?7x}\1c#à7)yªÖC\15\95~¶&)\ 35\85\89xi}±¦vÆÏí\8d¡Û\e\9bÛ\19ö\f|\9f,ø^\9f¦;¬{[\15Y¥]î\1fd`\18ûçò³5º¦\1e\97WN\8bO\9c\9f\90\ 4GêÈQhÓÕh¤\81G\9fVl\11ò\91\89
+Å'~M*\13[©=Rf\8fFK)è\9d\95E¹í\8f\8eIH\8cµ«Ptº¹µ'WeRI=¥¹\bPÕ ôèÕ\89"×^\97!\ 3·N\8dm%GÅ\ 4\8c\8dMYö$6z4£j\8a\8a\8cHj®£R ¥]«\rz#â|Ù¹\fÏÕ²r&\18:\900j(\96(\98\14h
+9¢\8d\19\f×=\9d\9aç³\9e\89b\89\82\8cñF\80£\9a(=\9eh³Í\16y¢Ï4Yæ\8b<Ñg\9a\9cr\ 4Í\90&\18¢X¢`£<Q (æ\8a4d\1dð¯"Í6½  \a\8e-H\1d2\ 4\86ZgNC~\83\ eâ\1dÊ­©fE`ì\93K9¶i\9e'Ï Ê\94}
+\fÁ£=º
+\925y¶*Èh"\89¥Õ\9a-GK³"Ë4§È\9bQºr\ f§Åy\15èS³!\99Õ5@Õt\97
+²'\8a+ÔçÙÒðÎ\fé\f\9eOH®Í\ 1\ f|ª:­JØ$Jô§µ"sM3¥°«S¬Î\8eÇ\14\86\86m\15»GØ¿(Þrßê*Ðò\96üe[G)nÖ[ÞædâÐÜ[EÅ»_àX\9f®|¸³f?\8b\91\1e\1c\ 3\7fÁm"\8aÿܵ\U\8f\85¥gÄU¾{,\95ZÚµ\a\80\15\91Á\1aQZÌØ²hKóµ\a¤Eª½,ê#Ö+\9dï¯\88\ 6ugR\10\80®\10\r\80 \1e4W\16Ò\81¾j\8a\886e/\ 3#¡¬ü@\ 4\vÔý\8fx<\83ÔDÇ=\90\12ë\ 1\0\eè~t$¡ò\1c\1e¢\\8bR\10CÔR̪/}1BÃÓ\8e\1f8:\81Ç\93\1d7\97Å&;ÜêsL¹7Õ^JU0\9c\1e£E\8eÛgV©÷Àß¶³\r6èn\fÑ\ 3¾à£\e
+\9cÕa\1d\15ä£U[6bNu\aDz%èõ\1d\92\fÞ\ e\80\8f\f\f.%\9fÔJÈΠë±\87©\19!6h;ì÷-6¥\9c\1e£ø\83\83Ô\800\9fzÔ'Êú~Cs\99\9c©ö<Lèàz³^\9cÈ$\93É1ÈJ\92\ fÐeO ÎGpÏ5øþ\8c\12\ eÁ$ò\1dΪEù\87Dþ$Wrï=ì5C<\1f\ 5HàÏ%Çy7\93·\ 1/\ 1Í\96\7fÊ:¤?ù²ê÷\føI3\92\96#lb§¹d¡\90ô\9b~Ê|V»à^ê UHm²c\fbóì\8a\1e&¹óØ1)ÜK4òYdÚJB\8fT\ 3w¿{*£ÝÜ\9eAÅ!²Æ\15v£<C1â\1f\e¸gÈI\9cÇ\13\94.æW÷0-Mèï\1dß\12òYÇc_}¦p£\13\9bQ1á£j\e\84\ 5>\86C\89ôGµÞÀ\90õqn\v&ã'\99|kt|;\8d.Ƹ\ f\91\84àÇ "-Ç¥\1e\9aÒpϹó\84\1aú`"ü\81¶øê3\86ÜÖ¹\83\b\r~UsíæGr¾\11·Ù <nú\ 5\82¼ì\8a
+\ 3°Åÿ\ 1\e\8e8h ó¾GÁ|lòKý";\9b÷>\14v"\9f,4ö#\9fÅ\ f°<\ 3]-¨}\81æXé"\93l\1d\8aâQ¤ÓgD\8d®p\ 4éHºã\17¡:z\90\ 1\98
+\1e¤\94P9\13RäMÆä\0×çG\1e6\98\ eåvo\r¯\11Ó\1cà)Û\99¡¹wJ õ÷7hä\8d®¯
+\r\97rôôWtù_¸WbÞº:^\83B\evíqÐ8àjª\81Ç\ 4\94õ\8bQ¡o\eã:µë¥"l#\82±\v\r©]ÓY»ÊE_@Ä÷\ 5F\86
+\11\9e\10\ 3\86Po#µ9G|aÑ/û~×Hùs7D\84\eÌõ\85\bµ\80\1c4\ 4ZøÇÅ~¹\1cé\rð\1c* A<½ ð\9b\1eAqÏ\81\9e}\9bãÂ2L\1d\91êé\98\bN¨ø°³©M\9f²^\1faS\ 6÷½\85Oÿÿïÿ\7f\86Z!(û´i¸ÿßnîêZ\92Ô}©!\ 2M\80kk@@\84Ä\0@B\0ß\92Ô\96ì5#@D\ 6ØF\93\12L\ 6       &\8dÒ\ 3\83m#Q\1aK^¹$\81z9\prI;»£\9cÊã\80\9ao¤H\18\90\0Ø0#m\84\91£\867©¡\91²7\ 4\r\86ÿýû÷ÿ·u\ 6¡\8d\8d\8eJútî¼ó-ë\99%¹|6w\½\91Ë3:»à½\9dà·2åÉà¹lñ»ã¾+\97Ãsß}\972ùo\9a{»Ã|·É|×Ù)õ\9a[fÚÆ\9e\15\ 4$fr\99J ?[\91g§þ\16¢/´eeÜËÅç\19}YÊÊu».\83\ e»\91\ eÉ\8eQ\v\95ÙNw=\9f\8fS\97øBÁ   û¾Laé\97Ô\157e.\8f\9aÊ\96\93ÿØÉ\vþu\94ã\a&\18ë\ ff\1eÛ¬ö\98!O?þû)Çú9ïÞ\ 2P²ý\94§³e8ÁM\81\85Âë`³Õ¸^oùïÜ´\89ZËfR/íe÷«Ï~Á\81¨`ÜÉ=aúþû?¿í§\8eÉ  yï¼\91xÂÞí¦\16B\ e+\17\89l¾2Äy\8d\9bWPÈ\ 2=\1c\972*hï\88ã\vÞ\a*]µe\12\1c©¢Õ\95ð95ý-sKÃNñ=âmY\ 27OPV.íf±§-\9f\92ó°BÉ«Ã\97\10\9cl\ 1 |\98\94¬\7fn²Ú&    ê\ 6É?Zª¼\v$¿ú¥.a­U\b\1cúwxv¢T)uF³`iRW\86#Þ¤\11ûDªÏ;\8c¸\80¡¨\G\ 5N:é^Lb\85\ e)]=EÄþCÐô\82Ü\83\83(\e\fÙÌG\97n¬ìo[v\b´§9W¿Ó¾|ú*Ì/7\aÍN("\r:\93\14%\85\10\9a\95\ 1\1fXÚÆ\ 2\7f\ 4÷±\87\ 4gâ+v[3Õ%)¼q.\1cÏF:Ñ ½3pÖ¬\81öe\88[\86W\9a       I \9d\83\120\17\9eE¸Z\19\9bT\8b¶~ú\ fåÒ±Çë1Â\86Sãþ\8cá[\91[$9fcpVØ\ 5WaÓ åk:é+\7f\98\84\f\8d\8c\1eh¾Î¶\89mÄM¢KU\+7Hd3½*¶\8f3XV\8a®n:Z©\84\1cÏ49\8e,\f\82u\9dV\85¤Ò¤.µ\ÝúÕ¯w³d\8e»ë\9do\85FÕiØÐ á[:ìê°3^Õ³J\92SÂ9&\bi1ã\834?\b*\84½\ 1\ 1 \93võJ\93¬ØqÚIúC·\80À½z¾\10\vB\ 1<Øaol\81\8d\92-:*\86\r:'\f[Ø!ã¦EëÁ\r¡¼÷êm\r³\1fÔ7D¾XÝ\18éqW \ 6Á\98Ê\9b£\1f\1d[\9bc\906\ 6F0Ý\19,\83ÞØ\8cÕ'\957\ 1#æ|vwGÇØ\ 5ñb\82gô&Ân\ 1\9fg\b¿\0`ÎdÙæà\19Í\8cußcX*úCã\1eÈý\b;ÉÏ* ÊѨ\8fM\aQit'\15ò\83¸\9dc\10SñóÀ%ì\93\ 1°Åܼ\a²\84\88k\1cË\0\8dËn\17\9bâ\85Q$YAì!q: 3¬u6w=
\84\ eo\8bó\87²\95ð¹¦|\98\90\16\ 6\ 2dåã \91\99lòwÒ\ fÀg\0À\ fùØ\17åÆ#<
\8dóp=$Ý«\1f\10o\80\87\v\92\ 4\14\93Î\9eûp³½¼'oáÍ®¼$y_G>Õ\8br2»\81­\91½â\96òQïÙ)^LÞcî§!3Û=ïîNBg6¸süIFee \ eÐ\ 1à}²¿+N¾\bÚ\96(\8bnI2\ e~\96p\81\83ø\17µ`\ 6\1d¯\0INm\81d{U\15Å\ 2Ë\8d\90u\ 1\1d°\91\10\15\17\99U        °6\88V\92\erB".t½»ï96>k¨ù©áØy¨[rjØ\ 1çÌFÆMm\83uA\8cû3É}V´-|µ\85      @P\f\ 5\ 1Áõ\a-\8f\11n\96¨{çò_>í×ùéÌ\f¾j÷ì\87ë\7feÆÈú]¥^˪\v&,+Â\1c/Zð\17ÿ|z\90
+X{\ 1\1c\ e¦\87{èG\88\ 5É\15±B\f\11çªø=14\ 1]Ä:69ê\88p\1c(\95\15\10õó]Q»ê¼z\97=8\b½¹\98\ 3\9b3B\94\12ïkº\84_¶Ï¤\90i\aI\19ü\86ëÀÏ\99\12í\15s\14M#Qè\9a\16Rºi¢R\9b:X ß\10\ 2¹`\80\99\81`W\94¢Az\8e\85\bÄõU¼\9a°6F#\a#\0\1dßk\13hü[b[]\1a£\89ù] \91\89w©>ʯ\ 2Vò7Ê«ê\9cÁ\8dµwö\9cd\ 4Èb~Ñ\fè¼â\aG\81I\84ã;'º;Ò|Ð-ÞÝïɼ?=IB\ 4z6%~ÇAl\98=ðo\a\ 5Ð\82\ 4L!Ñ×Ðg\atF\84z\8fÙ¦Od\ 6ã\1d\ 5ÀÁ\ 6\82­õ\89AGt\rf>×\\bôc60\88ò\89AHY\84¤Å4_¦²ùC`r0\ 6\16\1a\87\ 3{øD;^\85\1f\18[\ f\8a#;Â/\87\92*IA$!\ 3îfDÁ\89É\81V\1f\ 5 ãòÁ\95$\9f\18\8f¤n\8cLѺ1W&èÅß\rÑï3FèÆU¦\be(ØÔ\1d\9eo\ 3zÞNÏ6ѾÃû1#'+Nh:þ\f\9a³PØä\ f\9d\80óc¹7½,X¤\87hg_\ 6\81K\8bø\1a\80\0¿©\ 6\93Ü÷pl¬H\98\ 6Î\9c\ 6y\1d~_¦!íØêÎ@äV\1c\0V§Ë\8b\88lðYÚ¦ÑãqcÁ\ fý\8d÷Äïy¬ÿ\7foaxú\87\1eýöÂ-õl\17\88¯\15·\f@`-\ f\ 3$\b\8dâkä\eE´9#è\85\96ó\83Çx\14\rÿhÝ\r|\93t{Þ!º2{\ 3t6¥7DöÔÝ\13áAöS]=]£`oõ¦ÿ\90\80Ê\91\16      <\9cX9þÕÜÄó¾¬,*µVE\ 4+§f©k§bl\14
+á-\9d[`\1c\ 5RÖw\12\1c   &Öw\18lSu\a5÷4&H\86\16ìì5¤î!M¤ëJ;IÖ´\16³· ¶Y\16\93«\14ZNªÇ¥_XÄ-MÝlîqïk\16$®SO\99~\87Ã\82ã£ü\9c\89ÉËóÐT£á\1f\8c\e)\99_VÙi»¿b\17ª\ 6¾®|pëG\ expû\11Üz­¸\99IÞÆ¸¹ÎªNí\16U!rù*«\97Èë\97\80\9c<I\16~\1d\1aìC    \1f\86âð\97$\19\1awe\90\10høj\f~\18\ 6Óg­ÂÿE\a9Ðó@MØUÛ\87\11ó¯\ 2^÷³­ÕKí\94\17{\88\ e÷UrÈ\10\9e6q\88ßiJ¹\80ä±(Ö.\1c?}?ï²î2Õs\ 1Ê      \9cJUÌ\a±t@´8J,ühïR\8dg n\18g|!\93¿yoå\1f\9fÉU§\1dö\86:(y˧\89o³<wR\9cwÖºDªÇ T\96\19'\8e¼t\80\16N'²í\ e\93\99Î\82\rû\\84\ 4\9f\90\17ÇüA6Ûæì\8b·ié\93¾¡\87D­Ä'éÎ\87÷Aéé-¡\ 5'\88\ 2~\8d\9c\18\92¾î\96\ 4êö\ 3\ 6üÀc|Æ\11v38\1a\7fýÂfñ;¹µm\ 1\82W\1e*?
\90\91ð¤Ò;±½Ç F\81BíqÌ:á/fî0\16\ 5é¶Uü@`ÊC½¨4\99VÝ|Û¾=\96ýZV\7fmi   í\19·\99ól!å"οì³SrnÓ7\84ñlÞ«J¾æm\1d\8a)Wý\8cFÏ   ½\81r\11A{¢µâÛ\0
+j6­d¼\0dX°\8c\93\9f   ²3»\Né¯\17Îl$É4÷ê\8cÛ\e¼\9b\89\9b­¢ZÚcÍJ·?\10\95kX\93v¯5">\7f³Ê½   êèÁ\a\1aÝdTð\Ø\8e            î\v\83\7fðY#®\ 5Ñ%¾\ 5ð\1eÔ\ e\87j:ðI\92Ýý,ÝvW\93J\8f\8d\9b0g5³½\89 úU,å-Rvm±û\9d\97iÅô^.\96\ 4¥c©Ý8\87¥\11?M\106+\11ÚÐefi¶\96ãK\ 3 ö±U|adâ¦\14ì¬Àb\95Sèg0æ¬C5zq{\9bÏÙ|LJ\bw\8fqb\12ê\8d*Òª³\0Â(\ 2äå\1dz\8eÓ\8a\vàgÀfiÑÞÄØ\9då·Ñ\ 1R»d\ 47üý\b÷6m_\ 1JîIX$¬ié\8f\r\1dF%õÕ\82f_é\8a\1c?Tpa\92åv&xèÍd\13g\8e\8dÕÏSä\ 2\84\ e£%ªPH\10\91¹\121=IÅB$Í\86Ìø,ì>\81ðg,"T\1cdLví\ fÍ\19Ö\a½PÒJÌlL\e°¸\96fÓ6\9d\9b'¿G\1eT\947IÝÄÛ¾\0YÉO1jV|%éYÜ+\ 6\rÅÕp\11ïGÎ\vUÁE+/![½³%/fñ\1c\a¿\14\0/\19¶ø\0HÊÀÐ)Åù\0M©¢ËT\9f.òmÁ>\ 6<í(6{\9d6\r\8c²i\a\ fÅz¨\13´\16»%c\8d@á]\93lÏ£á½\ 2Bv(V$I\99) ¾ëÝèAI\90x\1f4\13.\8f\92öÔlÙ$^¶\üé\8bÍhòûÞË\91\9fs\ eÅUää\8e\bv\ 4ª\99Àdóhl@\8df\99CöO=\11\rr;'\9f\91¬ê\a\10ÎbRªô¯HÖe ¯Üg¼\15\90\ 2?\19\vj\ f1.ø6ódmÛÞf\ 1wÿé>\0¢Ø}\93g\91}Y³\16zHDNìüºµ®dfqºu«\ÆÌã\-\88s\152\8e¹\9aØ\90\10$Qi)Þ\83-ئ6\1a9{\80\14=¾64<Æ[³UQåcE)>T\12êCj«Â\80NXÛ¿$\97Ä1-M ¶\98Ø#¨Ú\8d\82ÚÀ\ 6\ 5\9b\9a¸GviIwù\ f\f\12ÕÝù\192*g\1d\99Ê\90\90    ð³\89 Yk\8e´d\ 2"o¶l«r\1d`4A:·\17Õ\8bBnVtøÒ4Ãv\83\82¦\96¹fd m)k¥}î4BT¨4'\1cÛïl©Y×Gä\8a\v\1cPFì\8b0æÂ¸\95,\82#\ 3\8d\ 5C:ýÀU©_õÂýtI\88q>{äñÓ1Dgi`ç®6÷¶à\81¢Á\1a§EZ(\89­Ê¨\0HW~\14\r>h5Ö\8a\ 1\91Û&\84Uq\11h¡pá,J¹ý\99\17æ³o\9cwpjîÝ!ÝÐB»¸îÞm2oC\17£\1dÜÚÙð\15\ 6+\11ÝÝ/Þ\89>ï¸\11ÝôÛHàñ\87\15|ü½á\1aÉY§»ý\e6\ 2i\afë,\9c_\r\9f¡\\93Ç4f\89ñ)Y£Üî^NHR³U¹¸\91¥\9bwAЯ¥Iß 0ô³j¨:\eÁ±¸ö\8a#m\12R\fñH4{g\8dT\b\1e\0ù1¼\16  \7f\8cLh\fV°[efë\ 5¤-¶,#Eî\8d¢Æu¸6u¹õ\ eö`1wu©ö_\11ïÏ\vE      <\84+\ 3~\96\13h\95lG(ë\9eBe\12\9fK\8d\80Ê\1eT\vwq P\r]Ôa¨-\0ìÜ\8a\ 2\91ý\8b+¢.\a\ 2Ñ`°!åã\89!óì(ØðÛ\fç\92ÆØuª!#d\18\97½¯\1c\90<\ 4U¨ó\9bkpç;\8fz¡óªÞ\11×G÷\ 2V\ 5\18°¿`Â\83&ú½Ôʬª±º\90î÷¬ëÃÉ@\17QF\87\16sjÙË\1d\1fÀ·E¦ñdϾr`\11\12h¥;\r\8b~M\9aÁ\ 6l6®½$nÆÕVÁ´Æå\17NF\85\9csJ   É×1ÉUu«\179]\89²\9b¬ó\11ÕÙ%]3\fh±h\1f\82¹ç\9d\81 \80q)Uõ¢Ð\0\99°Æ©\91ÛE`NDf<+\8dmzÏ Z\15\86ǪÒD¥Z,âÕ\88¸Zl\18s`­Äo±·Ý\81»\ e\90EÝÈ\84\ 3íÛW{W·¾A-@,÷'bÙß\89\8e¾öÆì`\ 1\84w\r%<
+Ùä*²\1d\91 \15i\17×Ù±Es g¿\r\8aÙ´\12´Rµ+Y\95\0ÌÛÔ­&VF׬Î\8e@tÞ¶@2Äy\8c±²¹ È,\11\1fÙ\rj\86@\85ë6¯~?¤|\83eÉÙ\e!\19c¥A¼sU>3½Ä¦Ú¶*«!\109\ 4\8c\1c\82ɨ­T\94§¤Ê¾ÕÞá\8a!\ 4¹\92\98\83 íØ\80÷¯\8cG\³v+ê¶ðªÉBJÀGjC3\94½3®n®\ 2EZa\0Vç¿g5X=eÎÇ~øìå\85i%¹hëjµï\83\8b\82xüíTbÓeÜøYÕ¼L\v\89\81gVñ)²\r\9bûí'ã+\ 2·ÆÄ\7f\9eÀ­ëñ\1fÃ`Vý{æ·ÿ£m\9fû|\9fö0F?Ø6Ùù\8c?²m³ãÇ$Áréáÿ9¶Ïö¯¤9ý\ 6:\12ô5C_~r~ ßíË\1f×Ã\vY\87-tÐ=4̤À\9aS]ð\0Ï\86ZNÁ4\911S,Wi¬P\9aòï\18QÉ¡ KxbºÆWe4P½\19â`ÏSö[\7fV\1d        ´ÉÁ
+ÿ-\1fÝ"\83\99\18¿[\10´Â̪jÄRMÁ\0¼\83s³¨E\9fñ°­3\9b&®³¬\ 1        ­hï\88\17mD\84c\16Ô\10¢à\15\8dÀB\8a¯#Õ\f\99ã%­\91\ f\94\93 0©\9b"/\1f¤~\8c,a4\10x\86zQz\8e¹¾`\89ã\1dëìÄ}\9cÝ4A^\ 3AW]gl\ 3£r\1d\e4\a+êåÃÙ °ô~a!{ õ\81¤¯Ý\ 1\e\1d[Y\9268¯\ 4ØàXf<\81Æéoa\8dGaÁ\9f\1cn\98\18*ÏÓèÀØên@Øêva\1a\1e\87g¿î\80¬\19ß@R\ 5þÎ~\93ì\9b\13<\10\13th8Fèê÷¦èÐÖ\e£EÜ\e¢\9b¾7E?h\95¤ÒÓS\9b\82:\98²ªÜ\1a\17\7f<ð,e¤[\1eY\97¾Òæ`\0¿\94Âeó¢@¡ñ\83k`Û<\9ab\9a\b°\80\ 3ðR}\96\10¹OTuç¿~~\81l\91ÄÙ
+YA\83\1aç\1f\ 4ªç\ 6ÊoQ<ùÖ%aÚ\8a+t\ 5öÄ\ 2\99\95M\16û¼É\9cò\13§,¹ú\ fñëBõUö\87²ÛÒ\89Xk\8f\10^\ f[*üÅ\19»²\80-\15z\91±Õ\90}/\8a\83 ±7\)\vElTZ2·[hËËBÑ\95Â\86\96¬¸D¸2Ô\a«_\12\0¶ýâ¶-@'u̸\ 4\b³]3§4e¥Ph\vÑ\1d\8bä\ 4ûëÚ\9cÖ2(6ã\16\8c°ª\r\82ε\94©uh\8bª\98;Ë%ª-fU¸=O\17h\1a\8c7û6ËöÈ\r\87"\ 4.ÔD§´\903âÏ\9f\858) ·\9ey\93zm¼½)NU\ 1\10\18V^ÌP÷Á\15ÃÑD>\a+F'`ÀÖo\v\ 1 ýÀÐ\ f¾îS\95jYI\ 2v`P\ 1*æülzK&\7fÙÃuc\94Z]:h9x}zÍ6c\9bÝ\bUðî\1f\85Ð\1aÔÂ@¼\ fdËë\9e\84R\16\90!\97AB?\8a\8e \17³x% @\82\98ñtaj\93½d½#Í\17\88\9c\0d\84\1fOT#\88¯\92+G×o·®Ê\9a\99\ 6uÉE~3  o\84\94\82a-ý\f\1fá0\96÷?Ìa-ûì$#   oÅÿ¹\84·\aé\18ÿ\ 1\84·U\84ÿ\81\84·ùX?é0\96ù\\1føL%¼\v`ÇWÂ\ f\81
+\1eé\87\1cm\8c×\87b\1e½ÜÕzµ ¾\15ã\ 5\81\97¥gA~m1º©òNb$;&!ð:\r\ eâ\81\83Ûá"§Qõ\væ<=%ò\96_»g¬\16c$WöC\81Zº@A\97&§È\ f9\18N,«qR\1c¦RêsDá8{%­ß~\11õ\ e\98ú\82¼\0ú\82\8blïh\8e¹ªá²®)\1a\ 2 Ý\1a`\17+}`y\9e³êÛ
+òÍ\10\14\90\ 4\1dÜ,àá»ÜP\8bÇùçvÓf\93bfÝÄ\1c°N\b\10þ¸³\17\12pP#à\1d    H\85\90ZÅ+/\81\1fR\1c³(®A\9dYºû¿M\mF\7f\10\10\86_\85Ã\10j\8dn\1e\ 4w{ÚY°@«úÁ±º~÷\ 1\99ôÛÎ\99\83̯\ 4Gî \e/ZT¥×1q\8c7Uå\8b\9e\81«ÉÁ\1fëñ\9c¡þ¾\0,\88\97\9d\9c\18\vy\81÷\8b\13Îö©}iqõd©ø µÙ@7¥1uÇ\95ì1\8e0ÉJnÜ1uåĸ½\0|$\8a\v=\11×µu³[qá\9b¥MÆå°¥û5·\16¦ÆWqfn\95\17\1dè0\93\16÷×ûä¦<N¾9×\1d°\10þÍ\v\99ÓE¯¸ùsÑ[\14\8e3Q6³o2ñ\ 18&?ä\12wyb\98ÿ\92Ý\9c\7fÉxí]p\94\87«Dlö\10\ 1þ\0ÉY\88h!×\1a\8d\1f\86´W\92oÒ@äY©\88̺۠5\9f¼8\19§\1aG\j'\1d\ 3®6t\97wH\13Þ3epè\1aßÒL\7fä<\8fè\ 53jm[KænZ#7\99¹¸½\eKú<0\19(\83\9e\8d\1fYש\ 1ò\ 1À¸\8f\1d?p\b\0PæÓ\8dk1´©òD\ 1\97\ 6r\90=\898ÿÃ$\12ÖÑÞfä\83\ 2\81\ 3å\1amTn\82ö\vx+\v\15ñ´¬åÁ\96\ 6\ 2\98\8e\ 6\10\ 3\80\16Jì§\92\86Ø\829ÎþÜ\14b\ 3¿   ×\97Õ#Y&#ØÆ(\8c´\99µ`C\90|5}Óºã«F°\88\0Kb -¡kî_Ï\95\8aý9ó\8c\81çÏ5\ e|øADr\1c´\96i`\ 5Ð2ÄuÍÕ\ 3\ 2DU³G_ \ 3@½H\96\ fPÝöXÿ\ f\\84\8a\1cä9|\rq\ 2:/3j\9f\1fêb.\8a\1c51°>¦2\977\17\90ÔÄ \90\1d\17ìDX9F\ 6Å\86ÔÄ`GOÁÔ¥\93Y\8b:\9f,\19af\89J@@j]Ú=íP$¬î0 >ã¤_Åjý\11&;ÀP¹H\ fÜ;îÏw\89Uô"\16×\1aJy¡¼\b\14¸        ³nê\8e¦\9cR½ÁÐ~\11È\ eå\ 3ò\ 3¸> =Ù\ 1Üõ(ëÞ]\ f÷7\#P\95d&I\7fhåp&U5¨ +ÓÑ¥\8a\87öV;j1YÐ\8aí\86)L( dØ\9d»¡\8aU
+(\19à\1e\ 5¥\8a¸Q@\ fy-ÄwzX¬\85\14\ 6È\1eß\101PТ´á\14&ÚNÆ\1e\14VT"\80â«´±[
++\ 2\11\8a\88\85\15÷\ 2ØHZ\fTL(­\98E}\11\8a\8a\85\14\16¾\8eÜ@#-\8aèQAl:íÜ\8cT\( Jîvâ    ¤lo\10¢\813ÉÛä\86)\18Q@I%mØ\8cRøQ@³üíâ\ 6*2\14WöÂ(>-Ì\0É2\9cP(÷Q3nM,c¡E\ 3\b±Å\ eæÝ4ß\88¢\80\13Ü\11   /\83\8a+\8a¬\0¼èÅ^ ÅD\1a+n\r\v\13Ð4±½Â\87ùÁ\ f\96ic!
+\1c\15©ýÆ8Yé¬\18Ù\80Æ\94\ 6~\1e\8e7H¬B\8dÐ\e\15°Æ\ 6g²\\ 3=@Õ¹\ 3\ 6$ÄÛöm\ 5§ôf®\88Ø\7fP\91*\80zn\80&\89À\ e|ú­\ 4ïÿ*Þ\9b\9e·¦å¾ßý\8dwyÚ\b\9fuy\87DM¨\\8a\1fËe}"lì\ 1Pé0»\84\ 4\19õ²3¶Íf\r£0\1dôLÎ\83 fÞ4Q×_ÍÝ%C±ôm8¾8\82%Ï8\0¨Bc\ f\ 1\83*þàÿ\vRXå£6!¬Ç\9e\8b®É\b\1eô!\1eøW{\87·î\1a`j¬}\eë\94ÅóÜò«zT\95Z5Uç\1fHé}ÛU®&\80³ûÎÀ!\13\8d\10\10èøç®#\rI\9eXEIVÌ\ 2³\fP\0\83EÙfÓ\16îQº!\16F\93À´\92\v\ 3L\ 5p\12³¬¹r®\95\98{jýÁ|6\1aÎ3\9bù²¿GÐ
+\11\9aÞ\bÃ*\94ðÃÒ\8e\10rý|Ë\8aà\1d\fØ\916\87\83jp\\a\8a\84³ç\ 2\10vMp\1dù@\97\8d-\ 6rïôr"\rm\82(HI\ñv£v_°üb¦3\10QAiwxxþ÷Ì\ fºRǸ\r\1füVôÚk|\ f\10\85\1a\18hX8£¶Ò\158\sü\1fÂ·ÚÆ>\99Î\87BÃFâ§?MÕ\12ß\7fÍ\1eo+ª¿\99¢©¦4S   \974´´\95,()éØeôTP\13êªqù\9a\9cû\8aF\13\94\v\9a\9aH0ìé44\97Q Ã\9f\8eÐ0\9dÐéª\ 5ò|µ4î)ó´ú\16\13u54õ ýÛz\ 6éá\8d\96ã\9a\9eåc¥ÔÓÔ¸¤£A-\rM%\15\1e\98Ù\83D8óôî\1fá\92\0£ÑR0§ráùz#§a¢¢¨¨Ï\9d4i\ 6>Z\93GQOM£$\fÊ\96w;I£Ñ\9b-©³ã \84\9f9Næ\99='ÏRQçè\98gsÔTÝQãØ\f\13ûf·O¡riÆqÉôD|yªz\9a\975\ 6È\£\97\f)éBs§sRi©þ\91ÇGá ZLèeÛ:M&\7f;I\ 3<C!òÁ\9d'íþ¾£æh¨ÓÕ^_?ÖÒ!\98¦Ñ¹¨¨§\7f ö´ÚJ-\ e~\8d\83z*\9a-\11µ2\9dÕÏmNnñ\aKùw# \84\14^aм¨\8d@\ f-|M\fCu¢\80§áÐ\8cÅh\10\8cQJ\81[:\18G¡Ï-\ 5\9eÈbN\1eã\90½â£ydáì\19í\97R®¡U »\19&¡¾[=ÁÅ\ 1§®Bý\e \ 1§ß×!\7f£\91BÿA \85ÿ\15{BÿÄ»³\14þ±è#\14\bî´\90#\9e"
+\ 3·ûìÇWüG4|3Oº>iÝÞ\r4ô>\9b1ûÂð\99ôiÞ\14õæ\91Ñ4\8fx\ 5¸\aì fxØt#hÿe\bÜWÐB5GÎ@\19\8fsü+\80~Ir\12\9c\91´g%\8a½!%Äæ­Þ¾S
+Kù«h\P'½ë\98·(ù\8cõ??\88ã\17\eG\ e\17u®5\rgd¡\f\18|\9c®¹J\0ØH:\1d\10q\89ÅÈYg\15¡{B%\ 6\13ë\10\8c\v\14=\91\86B)\bd-ºOåú3éÍøUÀ¯\8fp£+\815¹       ]IºÂW÷>\90zs~ füAæü\1fûfÿ\8a\9cß\17F\v5u\b´>%"\83ç:\940#;ª<î­   \1fÇ£þ|Þ¸\14Òºy¿\85>oÉ\fΫòÌéþøÉÍ÷\82ÍðØ\7fýÙ¿ñ½Ý'üoúi>ý\14\e\8dº\8d·H Òù¨ùÁ)6ð°È2¿û\9bO¿\9bâJo\89ý3|AMñ\1fò\9bã\96\80\8a\18\8e\9aèT\1au\86B¶;úþ³~¨ó|´`R\7f,jFw5\8a\10\95='ø\ 3Ò~Àô\9fÈ\9e\93øÓÒ~¿ñì\8eþo^
+­æXfpÚ|&pÚ|&pãC!3«Bò3:ÏñÌüɽ\12\9bÑBYÈfùMòg\9bØ\1eo\91þ\99¼h_\96=\vò§ß¿\0}ûï§ß½\7fôo\ eþo\8b)¼¨_Ã\1e\9eoè¿×7ߢÃbûñ¦ðÜ<+_W\83Rm\1fÅ!'$¨Ú·\896âê͵üA¶¿-\8bèäKbú\8bßù&õÁ«ûñ¦r\9bâ\87wðÚ<¦ø\83ÍëFoÿ\14ÏÌ\9bâ\83IéÑ\9f}4Ï|À\ 4Þ\13:¡Ú_5Ыü\93=Üß\1c3|q¦ðß¾4Ó}\1c\8a\93o\e\10lÇT<¶ÏO\1e¯òÐ\ eþo\89
+\87ã\8d3\94Þ\13:\91ð\8béãÕ\7f¦\86÷óxÒ~[\a¨\1d\83Âoþª5õ~í\19ú¿v\8cý_»F~¯Ý£?WîÑ\9f«÷hÏNoÁ\ e\8f\9bø\18ZO\92þ¬ßæR\7fs\84*O×à\8a\93ù9"¤ý\95ÿù©?Õóé?\96Â\15'õX\ 2¤ÿrÃÛ¤ÿW\ 3Ä\1e®\a\88>ú9\9e¤vÿm}Uùf{¹¿ôÓ_«çÓ_ \90åÓ_¬GýY¿Ï¦¿X\8fõÓ_ú|]éÍøxÀÜ?\ emX÷}@nÿxAöMI¨W\\86û"©\ e\80Úg×áËpýS\1fopü:ò\9b×\8cÞ\14ײʩA\89¦ý¼Ê¡Ü\7f5\8aV\84y¦ÿ#\ 1ù¦ôJoDfü1¦þã2\14\9f®CåN\85'ñ(vxÅfÎu¨v\18/Í7\8dCøsLþnaB\1d!¦vó\85æßÖûÅFÞ\<¥þæýò\83Iü¡©? ¼3]LñR\7f\82\98*Oòx?noÜ\9eoÀÅ\86ïø\13MërÊ\ 6½~\81ª\91Ò>K\18T/ÿ£Á\8fá'7Æ\86¯ð!»É¦ü\ 1¦\e\86\85égø\19%Cµ>·Þ+BþiÿãÊ\96¯ó]\ fóÍñ\81¤ü\bP¢i½\89¦{ôÒ\94:3LøYrð'Ìa\95þI\9f\997¯)½yó~ð\84\84éxKäñå´þ7\ fîM÷¨°Ò}èÚ¿_\82PmÙâ\90×\9a¡ð¯^'£T4sûóU\1e\14sÿrýíé=pÓ^¸Òýlr\83\bvqªM\8aj\13ã=Êk÷Ié=v¥R\ 3àG-§ÍWþ=Hú<ÿæÑÿ>o\8e-§ã\8f±zô:ùÀؼÛOäKÆ¿|5\v÷Ãg\7fxj\17ïfÈu¬?\9eoçî\1f\9c\ f[.¬|PùÉ?Í7ó7\ fù³%¸|üÁQ\9f\7fÁ«ü\93?2oæn\1eµ¡n\1e´ÚO¿\87;³Â{s}ß
+E»e\82½ß
+w»áUV7ÜF6Û){\9f¯á%-\98òüË?Àe\9aÿCTðîí\84\vI»jR\9dÛ*ÙòU¿\v\am[¹i\93Ô0ØX¾û=Çà¼C\7f\81S1þ¿ß¯÷ÿÙÀ×~\83m
+ý4ãÚVп\19yò¤w\95\94³ß±\94äj»üîWu«°\87djâ.^úÊ\83\1f}ïø\1e|\9fªÅü~c7úVÖ.þÎ\1e\aι\9fà{ÚèOñÝhÖ{L>Ç]\ 1P\eÿí\9f\ 6ï\ eeíõ\90ÞÊ ÿ\ e\1dL\fî\ f¡?_=©À`\9c\9câ uýõ).Áqäõß\84ËgݵMì\90eøÝçµ\99âgzV\99l.\14=¿:c\87\ 5\0§ª\82qå`}\91%\92±\1e¯Û\96 D=Z$8Ð8\94\11ÀX\b¤!>µ\9c¾,\ eæÞ\91¸p\ 1±Akk<ñ»<ù{\94¬\ 45\0(\11h_\8cT\\ 3þ\85£ëD\9dM+\90 kþëc ù\93'k4$\ 3\9f$\0\ f\13÷ÏØ|\93,I"±#\86»\17ça#Z¡ú\12J&wo\93N­y\84»¦éBߺÇC£©ù\ 3Á«\96e\96\9d\99¦V\19\84ÈRÐ\vcõ§EÛ\a r"\eÖ)\8eÔ\86\80úv\91ÃÀCÖ^Sï§ìZ\ 4Ùºø\rIon \96Á¥(p\1djT\9dp\15$-0-®4\1cÆáÄ«ÉÕ\89ÍÛ(sÈÃôç\ eÔ\9b jv\87\19q\aX0.*:ÁO÷+;x{¦o\r\90\14F)òX'}Ù$Mí\19\0ÌRª6-þÙÔ+yÙ¼;\a\ 6fN\17l\9d\7f,\94\9e­þf\ 4¨\99\97\v\91
\8d$l~ä[a·Û5{d/\85\91\ 6íáÞÀÁ»\ 1\81ª;7 Âä;\8dÛMY¿\ e\ 3íc¡bÜ»ÊsXÌÃÜ\87¶ÀIaÜÖ0­é\ 3èÚrÙ\8fª,aC\0\10~\1f{Úúv $\82\83¥\ 1¶f,@Iä\aÖ\80úe·Ø\9dï÷\91óðÐYâv\91dð­NpI\ 3=êzùOF:\ 6ÎöÉézò]²<íh.Ò¥Þî\1f\17m\16¥g\88=-ºîa\9fþ*È\1c=7ÏWËc\ 2k.W\b· 4¶\fØñ\96\87"öðWs§ó³4Ïþ¬P3Ý+ûÌP3ú\8aÿ\95\8a\ 6}\8a¿ÎÌýÿÝUÊ`\8cþ\19_ò3?}ò«¦(=ñ\95]1AïvGÔÜ\aÊ@±Aïlªé\8a\ f~\ 1|Äo ]\93¨UÎb\83اù\7fî±AïRª\ 3\14\1eâ\15zìP{ê\15rØ ÷¸Sø\99\9f¿ÈSülP{õ\11-}ÛV6î\93ø\9ah¨OÚf
+\9f©]~e\9aT\fàñ\92òé`Á;xö\1c\84\ 4
+\8c\rñÚLø\99§#ºSzÀ\16\94\14/AMÓ:\aÇ·¨çC¬<=L(p6ô>¤8\9a¼5\11JsЭìüF£\9d\ f\13\v·§Æ\80âµ\1cèq5sjU©Ðr\95B\92\bFj9Ðñ°»zf\9aþ;QÎ\87\13]Fµ\ 5       ß÷<Áìø\90(GK¨tìùUß\9f\ eïÆ\8bÿ\96_åÿãËGuå\ 3Ì\8f\94\ 4\16\ 2\9b1Wâ"\80ñlûì¾S`ÚkºÕv{­æÞB\87åu\90ìµQH\éâ¹ÞOüfÓl¥5[\8eÎ+ÿ¦\8e\9c\15Ãå\91þ¤\1e>\1fÚ>ªq_¨ÑÓ½OÉ\9f\ fìù5ÅVûÄ@ëç§ïò´XEÆñ"}\8f&¸ ,Ë(\92\93ì¢\7f\11£§æ\8fA9fg\a\86"·àMAÅ?\ 5ùso:ö\95Ú[
+Zí/|oÿªÊ·J\fcí³7þÀßû\13\7f÷æÿÙ\eþÐßö¯~:Â0¢]\96\80«\99\ 5\93ΠoCmCÌ¢³\93\e9\8b^ºDIN³Ð5~°~ò\1e\9cÜêt²£\97å0Ó±¨°:x\18\93\11êc\ f`ÐoX\87`­ækf\ 1»l\ 4§ü1\1caË¢ö\14\7fL\12\93\0¡ØN.º\9eM©^\85ÙÖM_\10æJøE Ë\b\16\1eÃ5y?&\95ª¦u4\99ÒH}\80ÆN\82Àh#\1fJ¡¨ðKç[\ 5¯t%ÆÙ%á ñ\1d[¢¼\94YïûªÆè\967jîøÆâ]¦§«\93pLìg\14Ìì\ 6ù\ 6²ÉÊðÄ\ 6\1e7}\81Ç\12\ 6W¿ »\1a¼>ú\88\a\ 1\7f°ç`\ ·Kë±\7fnyÜ\80\81Qýò:­\88\ fÆÀ\ fòÛ@(0i/i©o&ã\86Ú_4ɺÍó\8f /\81[g{\9b\88\94ã\1c\91EKÚ9áÜC´vÝ\90\85\96üÙ\fÜ\8d¿°Åí<Nø\13¦ý¹)\1dw\9dZ!yizÖÏ2­ÀA4Ll\0¤\1d­hó5rÒ_' \17jU\0»{<0à9\9bîW\a\9a;êå\9a\9cä\ 4\88Æ\11Ô¾q\86j\9f\1dð\ 5\0ìöôr¹îÈBá­vD\11øÍÑl,Æ\17nv,é\ 6·\ 4\82à<\1dºÉÀMás¹¡\89¬\8cæ\96bZW|\191ºæ2oï\92_5\8báüô\9cîlî\16\1eª§tÞ¼·«\15?¼ì·\\ 4³é\12\939\fäÔï­Pg\9e\9c£Oï\ 6\89Êth\8b?\15¥wP £ÍÄ{7\80  AÖ~øø¸ò\98ÔöK\14Áï\f ¤\15¡´\9b\9f-&\82UZá\82JÛÚ8\ e0"G\93,\81çz\7f`\8eã\f[Cß\94\9d\84âÎü\17½Óý§W\905\9dr¨àÊ\ 3=é¤\13ßLçµ\92{Yx\91µÈ\1f_\8dæ\94Ù!\99O[ÖFÉ\a×z\98¿´yÒ\81|\94\b\96Ê-{\7f?\15\80ø|Äü<J\86\1dQ%)\W¢C^¼ZaJ³î\94%8       ¬\85\9f\.Ô\8bG=I¡ü\92\87Ê\rÏdYlX¢ÆdÊå\9bÐ\12©ÄR\98bÃĺ÷å\16\1eÕIÙÐÌvºÑ¬Ó)?\15³&4ùi¢Z:À\b\e\8f\ e4T<G©éP\94³ç\96\8d²#s\1e°\1eø\98^\8b\17\99&³j I_-%7Wª$ãs¯ù\ eJ\9fø\11ñ{ª%¦È*%è\10\15Û:#\7fu¦^-\ 6q6 Ñ\83z\9bÖ<Pq\a% Ñð'\80y¥°ný\1d¿Ö9\ fÃ|Ô9\r\15\11\ 5BÕ ÎÖ¤ø`|÷ô0\ 3.+ø\94ö\9dÒ?\ 3®\8fð 5\98ÏÁ\80Öc=·°Öc1ò\ 1\8a\14\1f\ 2ziÞ|\7f]\8b~\7fÆÁ«¿]\99öpoF½ß¶§úý\91?Åúò,øÏ%\93âÐVké{\12ðÙ|®×ÁC\10˱\9f\8c׿\1fg©~*¨vZÕ\88\85\9cï\1c¾®ç âõê0\ 4=h¬Îßþ^W{h-r}l«Ú¼®ë?Uåw\ 69#\8b\ 2LÔ{7\95Ü-D\b3/\19\81úþû\ 2LÁOͧ×ëøçÃ×\9d\12ØV\84\vû§uãïæqB·k*Ô\92Us\ 3>ѲF³é\8f\vÿÏ7"¢\fØZÁÐðy\1f\9aÏ\80\81BÕÞÜ\ 3æºÖ \98\92^éôeÂÀ^GöÊ        =\93\v^+ÒÇl\80ÌX6\ 2\1cÝÖ)h«Î¥g/M|ÒN4y>
+iô\e\ fôôxç)»8]öÀ\a¹GL4`\98\\ e1ÏsK_\0"\89\v°Ê\17Ú@áO[3&ØA\vD@\19RG\99·Ð\13\ 6\1c\ e%l~FÎôìO\16ù\84\96Ì\9d\92Y±p£\94\7fÝu$\11\87±ßCÀ\aÞ\93\16m\87\8e<nù\85\1e\8b \ 6\82p5
+\84Ò\86+7\99?Dí:ò~År\10gBö\ 4\92û 5·¬\98®Fÿ\91\83ûGCOìÀ©Ï{\ 2§?\13Ó©ÏÕûEçû[ã»ý»­Í\r'\913®ÞJñzo\1fA\84ÿ\9dì/ý\15C°æSO\97\17:8\92DmA\f\8d2î½\1d\9f\85;_½Ì5À÷Zï§WÄ\87eûRh\üI>u5õ÷ß2-ÿ¢\8f'ÿïx\9e\84\1aï¼\7f\88¦\ f±\19þ÷¢\9f'ú½\14ü½ü²þ\86ÿìú)àµAmº"¶|VÝ\17±Mx3L®ÚH\95ù\1d´\97ð1÷O\ 4taÏ\82þ/x\9dûD´ÎÅ-\ e\93s\82ut\97\9cUQ
+j\85¨¾?SH\19³Q¹ãti±C½'\8däÏÇy-U3k¢\ 2·O-]\93\90!ô@\ 2\83Õ\vI«á¿ï¦ÿ¿\eþþ\83Ôo\90.×ü²h\8d¼Ôoj\83\88\18Dr¯Ô_0\80\81Ô0~\ e#\ 1\13\16Pzn\8dû\ 1¿ëuIßÅ1K\88¥wº\ 3\8b%\ 3S\0\98)s\9e!hQÛt$=\96õ v,-P\99Jzlæ\ eÆó\14Ò¸\ 4\8bøâPE\ 2*ì`ÿ\15y±dÈc÷\86p»l©kE\ 3\ 4\10·ß{F\93³ý\9fffI\92I\86d\ 3$\81\0\98\0(\0,\0k$Á\É\99,ÈL\90\1a´FÖ¶UY \r¨\86`\0
+ÁÈ,ÌøÄUª¶µµj´+V¶Ä \0£ RHPH\b     ZÁE~\18¨ XF\ 33ïß¿\7fý÷Ù\92\19\ 4\0jÑßo·u¼öï7z\eÑÞsÝ\e¼çº[Ò½-é^_os{{ÑÞs\7f\81;ÐÞ\9f»{½\9dênÞ§·ø\17iÞö¶Ûm¶ÈÓ\14M ê\b¢h\ 40\92É\18Ù@JA\1a¹\97M}ü\9d,4F\1a\90\86ÅR{VnâA¨ö³uð:XÊc6Q\1d      \e~c\92Æ\99\13\92ï´nE=(ïÒ\84\8fðе#:z å&[ùÔ]-\fëìÛ\16\80\r9\8a\12ybÊ})Þ­\e?{©N\91`%¶¢5¾\88Ø\81\r$:Xµ\8b¦µyV3ï\88c¢ªH+µì\10ên©dý\8d1    \ 2\19\93v\96îlRÉø\11\af)äüiYU¶\98UVÛ\b©,£ãM\94xÔr\8eÃL&dÓ<":í\ 4.\89Âaáßï\ 3K\19h\ 2³\8b´Á\80\85þ¦÷      +\95ü&Ä\1eÚm¦ºÈîQÁ\9cD\80&W\ eÔ ¼÷(çQ`\9a\8f'Â8i \82\15nd\11H\93 Å§×B\f\ fA\8bB'7QÅ j\80Àan$3ã\89Y"±Ó]æVã\89=Ê9ÿÀÖbV-Xéüã@èºd\9a\11\17\90\14E\bíc*¹ËñÕs\97ôqÃ\12Ñ<[\91S\16Ç\ 3\16È\0\955-£¥\9eéTì\98ö\84\9br\82®rïµ.*\ 2òâ0©\92}\18a\1e\ f\80~båRÃw\9b¡Ìpet3ÔÈ\93l28hÿ\12\96f\11»«\11º\88çÏ).4§»F\97J\97\8aH\ 3haeha\9d\82\87GQ,\9f\e\15Õ[â¾\1eU,Wó\92í\11\14\ 1lù<´]eL\9b¥\85°Â¥\96\ 1gÖA\92Wa\1d\rN\1d\f`â×\86\87¨k¥\12½\bä¶%áí\89°MJTr}æóÍL˵Å@@uk¾\ 1\11Ò©t\150\8e þR\8bô:\17Gó \1c\90Å\8dê]ë\8a)\7fÅ\10ÿ\82ø\b[ZZ=ýN ê\104\1cH|Å\85À\13ÅÔ¼¡\91yïÎ\ 2[§î:}\9ad©à¥<7á\ f\91>¾ì®æ\89Ù\17\ 4\149\11§\94\80:5*\80Ó\12\0¶aòîâ\röl\80F\1f\8a)\9b\ 1\97\90»ó^>&\1dÒ¦Ï\13r\89È\ 3n\16àÈ\12+¿Gì
+ùv\85\1a\1a=-\f\17\15èÑÓ£«õj\81?\16\90OÚ[d~]\92§\8a£\10NÊâTº4\ e\ 4¦=\buRà1ìÜ\ 1\11W Æ\87Q\9c¬Y\83X¥Õ\96~á±¢~Wà\81R\8c\97æ_¸É'\18s}>Bs[\11\12É·0ûRjæù\8bÊÄê¦Ð\88ue(²9ú7Ó8HØç9d£D\96Æ.¥í\8a¡'?
+µÙþ|ÿ\vb\1ci\97½X\bµ­iN>±kFgÆ\9f\1fíSÍQ®þý-ä¢\95Þvå{f\r{Bvj
+tlFö\8dêe\r\89\1eÑ/§\15@Ùü&\94,'\7f\10©(Î\15ÌÂb\17n\13\93\16'Uð\898%\ 6-¹û#D\8f\93T\ e²·CÎnýcTvöî\84\84ò\94Zפt\ 1þ@l±±n¡b¸Z\166\9eÚÆö\a²e\94G89¦Óíw\93¬t{©ÓÑúsê£lL1íD`b\96\9eNð<'G÷b¤ÝÏÃô3°*\85\13\¥ñ,\81\8a¯\8c],ÄÊÎ\84$Ô×Þ\9dc9ª\ 5\17d
+0£Ô\9d\0»ß\9eJr\v\0\88"É:\12¥f\ 4\84ÜNññ\908@Q¡¶%(É\97ì\84\81¬9¾c§i·o$\9d?_a%\ f¨\aFêix\18Çy2¸%\16É\ 1\ 5§\11Øgh\90ªsÍÌ\80_ܰ¸£«\14ìÞéâçOã,\17:\9a\8c\9d\ 2<SX½Ë\\8cÃ\1eÒô;@Ѩ|
+Øö\96\16\96³\86·\90hp97ßD\18u¦N\ fZ\14ëÀ\1a\ 1XTrg3\1e0\9a\vT\9eÈ4wYÓ^Å0Q9\82öæÚg¯¹\904£.\f\91\87;]Ô¡;\19\84\89\8e*°=I\0vªêÜ\ÖU¸f\8eß¼\88\11XÐ3B,;\0EM5\8e\f\80Ùè\1a#v\19¼¼\ 2\ 3¯\95$\ 2¸­\92á\12~ô¤Bù};\88¶M.Ll0}é¨Xk-¬=1F\88\9a\94Îã1\eL\8eªâ\96\11¼Ì\8e\ f\91ô\86aøå\v  \88­Ç®$\17È\18fôk\19\e\98á[\1d&)\95#ú  1¼èc.0ÙåÆHÌ\9f¢\f\91g}dóAÈP\83\9dLN\16ÝÇÃ\aO\8b\1eõ`ý­ºJJ*äÝ\8e\93X\ 3\a;%;\ 3פ\12^P\ 55"ð(\1e\85éÎfr\12\804\81ÖU\95\14=\ fw\82\1e¼\86\14V\ 5{N³Z\84Ü\91\91§®²×[\9d£\1fMb\9chYéAO%°ÔC£WgÚ\ 3Y7D\1eɹ\99ëå\1e}gp|\92-xOU\0S\1e¢0RÂ\9deB}\14­     à\1dLzfDbi\13\87ý\83Èkú¬\91ÕÿwI:þ^\84ÿ\9c\ 3@x|qG,g}dn3ÝK¨>     (°ÿpr\95Ã{Ü\90])\0å\89\ 4F\\8e¼z\10\95`\8e}¯F\14v\89×\fL\ 2B¸æ\9f\9eÑI¥\1aj\991÷Ìr\98¾öÐaÓ=ÈÃ2\9a ò7s¾\83Ç\ eà÷$PÓn!\r\17Î2¤n\bÑ\ 5\9b\82\1an\8f\bFe|)˵\82ÈS\92¢Æ\14¿Aîݸ\15_
+¥íÏÕϵ©\ 4¼J¹´\9ajñR\ f\80W>BÃ\14èþ\90\8ef\9cc²½\13ìÊó\9eà\9fM\84\14W\97ÓjÞݪÛÜÎ\14i[+\95[VÝ\99\82\8eLæá=³5R.Z¸Çdê\87¸\95®{ä\ 5Ø\9e\89v9ônj··ÄnÃÕårr×!©I\ 5à\91RèJZÝ\r\86\888\ 3÷\84ÖF\18d\1dK\15ýFtÝ\1dÅxö\82¤aý!7\ 4àHX]AÄ`( áÕØ^§Æt'ë\12O`\92£ÈrBO\93\84     ¾\94\1aÞWi\93Ü\17/.\8c\e&ÏsTf\ 6\e#«Æ-Z:Ô­¹\91î\95ý7# |µÌ\97        [wGZ\16ËC\92È\90,\ e\96à`ÁÇç¡Ð1(½ÿ\ 2\reo=w\8e\13å3\ 2\ 4Tº~\v»¹§N'ö1\e]3Ýe\89G\14\84H¿úB@Û}WO­!e\91Ökj\rb\95\132\8eìþØ»^]÷ä\88pÈ]¬Ð
+;økìdö®\9fvl\84pæÏ2M>\våÀ,·­¹©\1c\7f6¶gºö^ä\94\98gc\84Ê\1eÇ\ e\ 3\86È+ü6ç\13\a\ 4¬¸\ eÅ\8c½oÄ´~|\10\98\8b\0.W¾\97:.\1d\87s.Ñ\81\18ðTw|wÃ\8aÀ8p¯\98Q\1eÉ9\aGçÉ4\80ôÂdT2NÈ\8ei\ 1\81Z;\9f\À[$0Þ¨#-©\91\12\19¶åãêlÚë²¥ßý¬[±VHÕ\8f\1c        wí®Ë&*y·$
\ e¹    àâ¡Y¤\18Ç\1d¯ëÞ\ 2z?-Ïp$HǵDÙ°\b\86´D·ê:\1aì$\8d¢2ñ\13A㸴\ 6îñ·\18¹-½\94òAǶ\8eê\ 6Áº\83\1aZ)\ 3W`]V6¿
+\88\a'~\82|Rê\87\1d~\95\8cô©Àª°ç\99\19\82©Â\99#\84ogµÕæð\81\88­uÏ/éâÞÜäñoV\v\ 4V&-äHTL²H)Á[²\10\12Ù«öúbãç\97°\0Æßì\8eÝ¢\12Ö"Æs\8a\ 6\83<9\82|ôiL\86R2äD8/a·\93H\ 6\94R\1cx\90\9bÏQî\9aÝNéÚÄMsïóF-Õ`\9eÁhOÝ\14Jü(ñ¼oà)\vú\184\00Ôü1\9f\ 6Ì \12³°\9f¬q¾1ì\1a&D"à\81\8au\ fy¤Ì\8dà´\87\f+\1fEJ\97Ï&0hæÃ\17\92\fkFʾ\rÙìÿXF}ºd±h­\81Æ
+\eÞ¼K&õ«C9ùE»\912\17\9eÑ$þ\8dN\r\93Î\ 5-~&[ÐòÛg¾~I\9f>±ñ\98\ 1\ 2­$åõX)ÌHt\19\16Ê!Á<z.\9e)Q\8f4\1f\7f\1c\95¤Ä¼,\e%#\9bî\9d\8f\15\ 4_\99°²ÆP½K\8e\9b\1dwâÙqÅæ%?pȹt9à¼yíü(G¸ê\1d\9fôèØù@\1f\885Îßø\ 4)cÇ
+\10ï½²\11y&d\11­Èñ\9fÌ\19ÝkÆÉÄ(·ðÝ·\84+¨   õL\86\ 4\10§Û;\vê8áá\e\1c,%MH\1di j¥9©)G\etþä^d¦*\17\r\ráéD\87$&t\9f\10§Ô]õ\85
+w\12\83\8b\ ef\8e\88[8,Í£\13\16i\17ë§Eª\85a\83\93Ö.\11ÕòM\1f\95 \98­§\1a\12\97\91×!Ô\88\v
+ø6\14pXOVUÆ\1cU[\80UI1bÆð\12á©·cíý¸|_\98LK¸ÎÓßÃor:\16©\15\99ÁÎ\\0aN\ 5Öi¾ \8eßLÔ\8bZ\9d\18Ï\95\16\ fÆ;\f\9chídä¨&Ü7ÂÖ Ãõ\ 5\f:-b\ 3\1a¦0\11½\16\aß-à:(ÓlÁ-\97A²À\13óû\ 2Þ\ 2\0©/O\18;¿Geønþ=\85ðre\97\11\90¦!G\83Ê\8d!chÆ\9bX!:2U[\1alÑzK5¢­Ï\2$Õ_B
+b`\9b1\8cìÄå±.\eÙÙ\9cv\11\8d6 ­_¶\13\16ÐOÍ&\14äÃ(\98ñ ë\90ñH\88Âø$ÕG\1aF\ 6Ç$s6\1d\186T\10\ 2*iй\99ÈL<\99\bó
\b¨#\10\12½æ\8a\8e÷\8c~\81¸eÚÇ»\84ú\12§Ça\1d¿ÁÝG\rW^Çé\93¨%¡\83öw\11Ý?±cMã\1c\90Ú\ 5gìH§¡Ì\80\93úÄo§@\17Ñï>\96\86A\ e\98\88r\85ùáoM~HBc.ñ\ 1¤Èí°\87#\89½ü\8aYJÃ\16R\8e Î¢\1a0\10l1+©®\vÂGÚÐ\bpú6®ò<S?£i]à\13§0¸o&ÇIÌ8é9Î\19¤Õèäã\10(T¶¥Ê9q\ 1aÞL\12òz\ 1Íl\17ÇÉ\8d2ÄÉ\10N\87¸÷3_\883tð\14\ 3\8d\98Ùlør\ 6ô\1cõÁpÂÙf\ eÔ\19\17\8f\1d¡X¾\8f\1aÅö\80\ 3[ùü!ÇÞÅ\88j\ O²\ 4\1e\f \11\bí¥\91%\18\0èóÌ6À»y\ 2\88²\13È\93ÀyË»\ 1½IR\9f"1à?8+ \9bN\bé\18\aó\1f×·¹N\14¹F\8bmLl)ø©ê>#X        É­Ü\bë!\ f^\12éqßD[&³\ 32ßK\99\98Tòr\973\84\10¦\7f       BU§ÏÀ©\92\1d¿ºd\1e\9bº¾-&ÜÂ\a\88ÿ÷cÍÓ*ÉÙ%±\8f¢u\aË\8bÓ£ò      M¹7\8fäôèÑÕÄ\81ó@ú\14\9cn\9d\89zÖjtì`ê
+;\ 6\97t~\18\ 5}\9e¹
+\ 2¼\15ã¹\9cÄN\1fõ\r\9fê=õ\ 2{\93Ç(Ø\19·\16Þºî`\10\10.\80\95·\1døÊÚ§\17\12BUÃôMháµ\81\1f\93ãÏ\97OqÜ\1f­O¦\14ä\8e\aÍvY9\HëÑU\95\89=\9fJ<\v\-Uó$ùÏ®I\92Ǽ\ 4ǧH¦£¸+p8\90\167-j²ß<\88®0\v7\82P4\8e¼ä»\ 5îµ)ö\v\ fªu{¬\13D­ T¡\9f\17×\8b\18\81\12        \10Lõøm§³\ 4\85)R¸/Z:À\89\ 41\ 6HøìÐàØ¦}\93\13ÁÓ×\ 3ó¹Ç\b\ 1\8dZ\85\88y|27\8b.sÜ\ 3±&CéÜ먨\1c`\r±Ø\10lèÍÝR\1e\19®\92²\8d²{\84Ú\1aí\14\93h(\8fRó%\9f\ré\19\91\19\85æhÁ\98øäwp3$æ\9e­\10n÷8Ä\98\97\80Q\rÞ¡±
+t\9f }\82û¿\92\ fÏ\98\14ÐÎ\19uߦØF\11i\89\17\\95_Ò0g£ÎÔ¼¡\83AU\81ªy"\8fÿ\9cGÿ(Ö©äÛªÁd6øoì~Á¨5¯?\11\eF~B\ f\9eî\18?a\7f}}\97\1fd&±uØÖe\834i\18¯.\ 3:ÁYpd\15vo½liOz\8c\80±\85Q\80Ï\9e\85^»Á]õì\85?cG\92ÉÆòÊ©Ä/"¿\ 6VOà*§Lf\96\86¿]à\91[P\0\8dóá£õ=;CÒ¦²FÒBO\7fëñÿÈ wÿÀÌ\85àc?Ó=@øÈLN;\90\84Ä÷$Òkßl\99\fK;ð¡1=\92ïÞ\84ÄÌ\99Çÿ\82Ç¿¤}4\0ýíEPöÇFÞEú¸\8d\ 1§ä6x\1do23\8fz\9bg\81ÖÿÅ\85KäÐN1ç|\82Ï,L-d      æþ\ 1lý%\1e©óx^w\95\15¼}áEo\1f,¶Ö6;þ\bI\9c\80×\18,\83\15\eóËjÒRqõÁã\94b(¸ÃÅl\b\eyán[é*óCÅ|xu¬Yñ/q&|KüI\84^\e\11`íL¿ÿÌ\ e\1cóeÆL=vðñ\1f(\1c\93\8a¶»\8fUqïPÌ\87ñÙ\r¿nÄ`þX>×\8eS\13Æ{«Ü\15IáØ[&/¸­T\9b»H*»<\94\aÐèäÝ\9dO3Êãä!4?\8ddÓñÿ\ 4ÃÍñ\91ýþÿ½ëßÏÖPaðSýß\93ø¾î\8ak\16·þ\9e*üX\1coÞö|\19\8e§³Øbt_s¤\96õü~ó{+§é×í»\1dµ\16\87·e÷:¾ç5éæyÿ¨ò\9fMQ=ùsú\8aÖ\1aÊNÿòëôüÔç_´\92ó=\92ñgÿÊÂи¨Iÿ÷ÀñqY\ eG\15 \97ÿO2\1fú~ÿßëð¢ªt\80X8ni¶`¹¯Zg\b7ápºg\1a\9f+i%æ±-aö\99øÖÛ\19\ 5VZ^W³Þ«fá]4\87óK$ðà[¿Ü\8a§éd?½\15\7f$U?ÒF\19,\93Æs$­Øû6ñÆó\80>?g|#\18P[sm\8d÷ñ6RìÞN\ 5\1fÃ\93\88\88ª~êl\81´7ßö¥\92y¨ÒETñ°ÑU>ÉjHª\9eÙ\8aÔc"ZÌ£ÒÞa[ÒÌ­{wn%ÞºNu\8e\8d²Ä\7fêÛÕW¯s!RÝõ\96\ 2Ôÿ\82{J(÷`å\a·W#á\1evßcb"¦¿5H»_X*\13·@\97VDÉCß©QbÇXF[¢¡æÑ¶Ë\1f3K\18\9aÆw\8a³1Zë\1exAÆj\ 5\vv9K©Úñ®¡^qEn\98ØÏ\95\15º[1[Ú\e'ØÉI<\82+yØ\99\15¼Ö¨\8aÞ_\8e\13{Πô\1c\10f\9bhh\8ej¼ÑØU\19\9beéô\83YÜÂÐÅ\97\9cú\8aé)<0\9b\8cN\b\99Û(\8aßṮ+\e\9a\9cÉ6Ù¦Áf\fI\ f\1dL\91©\98ÑP!\bæK\1a\97.º6òP+\97HXg\16Ü&
+`sa\96\8bÓ³ÙøË\89]{\ 2È\87\\96n\f\96½L\81ÝñÉ0@ïäcÓþ,bí\920þc oú\87g\82\ eÜ\än¨\ eÂÝP\9aeÝjy\ fÀ\rft/Ö\91i\84\0mrJíÖ*\81¼¶\90õømË}\11Á§È\1d¦oTmÊ\eôùîý8r7­\9câØ\88\96;7j\89\86Bz]Á\89\81t\1c\92\ 47\88{Å¢aë}4°d¤½y°Z|þ׸T\9f>x¨\1c\10ð/\12\r\9dà\88\13çàÑ\aX\86­a EáÁDn?¢+i¸\84t°æ\a\9e,.=\9dìØ|¢»·v¢Ì6íËÚ7G2\ 1\87@­ò\17p\ 4³áQ2$¡íë¬HC\82Ðçaf\16Náwe$¶Xö\80ÊZiÚmÛ\1cï\95i\10C[o>ý¡\8a@x"F=ª´\91#\18\ 2}=åìïìD\8c|díwÓ\93
+hìÕÿr$c\91X\9a$\ fÜ+ý¨\91\8fÕV\9d\93÷\95þÔHÇ¥RÉëUó\13µÞuZ|îd\5\87\9dϳWÿ\84ív¨À>\17&gÛ\90ãáº\eU$DO~\17\ 4\88\83\97\91²úQ_\9fýq\9cK\17\933\86\1coñQ\12\V)Ù\8b%\85Ø*¸dâ\1az{\97%8\97ÿµ8O¤\88iîÆI®ý*îb!§i\1ad\98\9eo·QÖßj£¹(\83\1eý\94ÀUKÙz\12Zz\ 5^\16·¡ÖµoîЫöpÛ9/\a\1e©}fs\81÷¯?N\8b½éúÅ9]û\ e\8f\ f°\90Ó£O\8aÿ\92 Çÿ\ 5°î\a§\acøwß\86ÈON\e/\1e\1dm\9f\eH5JºÉg>¯\a²´oåø\99ï\1f³\831)N²5·\ 5z«/ÓÊb\e¾û,\7fGâ¯ÿ\15ÎN´Þ\97º¢  \12¿èFÎëÿ\97\1e¸/-\7fâð½\12Ó#b5¼Î=vß+\10¾ÓL\9fæb"ÿ\84o¾_\1e¸ Ò6ËÌË!5ÿ³\8f\92óã7ßõ#g\7fó¶×\1f\8f\1c\9f\97lHIÐ\80\11:S\13¡\10\15\8a\97ñáÁ³u\ 5\84%¤CH7\89\99±\8e{\18­6\17ª\11kÜñÖ¤ §WoRàµïÒ\v\82\80Eö«J8T0Ê=ï\96Ú¶\9b\ 5\8e{\84r\83\ eiYH\9aÓÎ2\¤Û\18À¹µÕæñI\ 5¿:d ï×Y\1fBeE¯7\13ÅXò\14(·K¾\8aÓ-|º\1c\8d\18\99´ b\19µª&:C-}^¡6\95*9!ïFf\1a÷\9bÚ\7fÉ\13\8cà® M\9eìp\8ayjÖà"\94\86Ä\98  \15e\97{}\12Xÿ.öî\v\9f7\1cöOJ´â\10qs\ f1\ 3\80ûÀôãæz\97\8fpzPÕ\88kOo0Å¿yìûó%ê\86ÆC]{4\8c8=\b&2*\95$3£sHgI\84ñ\1f\ e"\80\17Ïr}dL\19\ 5¦e©/Zû\87I5\93\98\ 6»Ó\ 2e_\ 1\8aÕ0\18\ 32\ 4Ì¥¾\14(°ïz!ô&\f\80H©·hD7'\9at\1cm`&'^Ë;\11f\87QtC¶6~ ¸15El\f«/\11\14\173I4ñ\94ÃÞôx\80×j\95\98ô\15©!»Sî2q\82Íðö6üC\10îñL±¬\ e(\rvêP\1aïVd\1ff-/Û.\1f\ eG\8c6\918\ 3\9f\82á\1c\8c £d\180£Å'ºm\ 3Ú\ 1 \88M\90fýGZ¶A\98\98,ã¼1ì£\9a\ 6Îëöº4Û\1f\10\8e\9fêBÀ\82Ù\ 6ÿ¼rp\80ø0V\9f|Ç=¯6n\9c\81ÔiNNú\9eM\96\15\9f"ÜH\ 3©\98\ f\987f\1e1\1fcÒ6¥ø.\8f&Ó¶¨H]n\8c\88\88td4\9eDѪ}51À"s\8c\ f.\15i6§ÿ±\86Ù      ìHæq\9fB\94\95\91\r\16\ fÖ\18\b\1a      Bh}Ê&Ä¡àçª\89©ý]\87\9fþÏt¾ZAT·Y*ª[¥\94U-\87\93U,uÅRi_\8eÕ\b\15òB«ZK\86\9fÈ7Þ\94ß\7f\9cßt¿Cm\e´æñô=ÆÇ\18ãÕ\99òÛÅECña渰ñ_ý\9b\1có\ 4\9b\9c\ eKj\83ú¾D7r,\8eìÀÕj56\9c7yÈÆ\9a\ 6Ú¼\87Õñ³q­¸\8bÕYnù\\1e÷\9a\9f¿\83ßÿ2ªMj\90\1fþü\1fÿó÷Yæ\rÁîÛåàÿ\bP.¼ÌLK¯øØ\98\96\eæ\ 3¦ÏRo¿ÛÔ×^n¦ºÿ\95\84ÿæá'£_û.y\9b,VfÓt\91\93c\ 4Ù|\98Ï\85X\vh>\ eH\v\eX\e\85ðRÖ3*&Û4ú_²äÄ I¢b\ 6k\1eÔ\e¾Ã\a4q\8e\ajï5l9U,R9W
+¶!Ô    ­7\0\1d\18°Ø\85\91\89©ïY\86ú\8cô\98\87C´l\17 G¶/\9dV\ 1åÉÐ.æÃ_\17À°Ãl3é\179@'ùºY\15\râé^\11Ü1XV Ý\12¦#\f´)\7f\1d\1aU\83\18iu\13\10¥¡ðV\96%\91\910\91Ü$\8dÿúu\91\eO73\86ÜÚ£&^u´ÝcÖ-¦s'=\8e¥Ì®»:?Òy-ÇFO"¥\15ì5b\87Ú«\892ElEFü£\89UUëÏÚÈ\15A\1a4\8d V\8dÂÐ\ eô˧ѩ\81Ñ26=\851){'Õ2¨X¦É\ 2´\8e;uVépC[\9bP*õ­¡ä5Ü\15µ¡\93:ü6µ\e\85#\ eè\97[0\11\1a\14\9bQ\8c\9dû\e-xÜÿ\8b\0²\87Cm596MÐx!ÁªiÄÒp-\b´ô½Á\96Þ¼8+\9c:ähe\93c_Â\ 6C×Ã\9a\80\86ÑQËø\18\19q[d\aÌ\86\15ÚÃ+òêþ8e}\9f¾¢\18?±Q\f\1fð\ e\86ÁXqmò\19)û¶\1a\r¾CÙ\9dÉmò\1e è­¾Cü'~ÆÞÑ«ÿso|ús¿¹·È|¸0=\82åL\ e¹ª&»tò£ü¸¬e×þ¶Þw§\1e\89Åï\9bñx\1dÿ\83\16\13âµq7ÿçïÝ@
+ÿÆm\98jN\97Ó\ e\ fõó\9f£1áê>Þ&\9b\19ºö2\19ÇT\\1f25¶¾=U\96\8a?\93Áÿö²\150F\f\1f\8b\14¢/\17ACÿ÷»¾\r¹\ 3I|\97ù\9f¹|\97Çÿzù/\8fþMÕOó\rÃßR»\99Â\ f\927\ 4=/'\82\f\1f\0\r·S\f\ 3\16µøq!Ç\e¤_\1dÌbh\98d\r¡¾ÿww}6\98a\870À´\95^©-Å»\88ÁiÙéÆö4ÔUzãÌomeù1,¶J4Ä\8aÕ\96Æ{\86:K1\19Úð6hS\ 4\90Eª°^-&èF\9c\ 3å0´\90å´\r°Ê\fúJ­êñi!\b\8b\12Äý\9a§p­Ùq6\92¾3Ö¼æÉ¤æÀµ»Æó±Ñíé*½eèOB\12\ 3w·¤s!¹\16æQça#e\8bI#ðI_t¬¹kk._üÍ)sm\ 2ÍÌÚì@\ 3|iíO\86\rç\17\vNfö\0Òx\8a(U\12P6âµ#à3fU\80^Oçì*\15¡\9b*\ 3\90Ê\r\ 29  \ 1\99\9e-$åm7Ð\ 1s\ 5xåµ?Aé­\16\92r\812·+@.\8baº!ܯ\ 5\9bî\15\85¨`
+\80ál\90ùõÈÝ\10Yßb~TÛ@Ú\8aæw?`\14'ZrÙ\19Î\f³\13c¤\ðY%\¬dí:4Þ0²àyø,\15\ 1§èÊ\9câ"jà©\13\11ªfÖ¦\ 1î\92¸á)OïâÜXðe\1a\80\99\92\11îA\8dÇn*u½rå©\11ÿ \93¨%aá\16ªQ\19W¥îi\81&×j,Wg\1eÿ\0Iw\fï ÷£u\ 5\9a²ò¯\0 º¡é\f\ 1\99\b\ 4@s\1aGì?\10´\9b\12\90ö\1f}a¢-P^\8eOÙìÍWf\0{Ýõ÷4"    §\12\f¡ßñA$y}Dn¯ä(\88§\1e\17V\98\120. \83î-æï\8c\e\96\9dãp\95ã\9b¶¼y\14¯\1fT\8d\ 5\9aM\8a·ï¢\9eù²áÏ}fÇ-.úÎ7³\8f\80¹\0\b\97\ 4h}A¡Á/$g\83jÂT·ÞÝø-7`&ÊÁiK\87\ 6Ó;\14\87­}&ν\8e\92\93\85²\ 6ê)\80\88â\14d
+\v\v
+\92Cc`²\92÷²\ 6Óö£\84ÀÀ\ 1ô1\KuD°\930ôÂñÌ\8dÛûv·m\80#\1c@eÖ\97\vcI{Ø£\90v¢<m\19\80\97ÒB\17\ f\93sÌÕ\81pT\18\85\14\98\97X\90;ï·È\91\19\16b$    'Î\9a(\86d£h×Ó<\1a-àô{ô\85coQ|ë°Õ.iå\8aNr%\87w\97Ökór#¨-CD#\0Ñ¥\86¬p6HYÙò0\91&¤gå\8cÕ\90r\84#u\85Å÷ö-\9b{¼*É¿º\e\ 5\85\81wõq\ 5du§q{·àÕÀ!\16µ\9f\93%Q\8e\86"úæxd²Ó\0ôì\84?\ 3¦Ò\906|ò\9crxU8äùÓ\93é\8b¦ÒQÿ\89\8e\19\7f3\1cwâ±Â\8d)\14\87Å«Åý´2>\97Ñ\e¹ÿÄ7Û\93wAæ\f¸¡èÍ÷ùÍ÷s7sþ\965F\1eÉ¥ö\1fø±\93\9c^\15è¼cÿâp¼Õ\ 3\ 1¦ÁA\ 6\83\ 1§ÁA\b´ü)°H}\9cG'\8e\93\ 5Zf\93\8bá÷ü<\14\82þ\86\89Þ\82\87§y\ 3ïwlzÉØÖÕ+\95YhyP·}Ò\83=rJ\11?ë?\9c\11\13Ú]Ì|wÍ\voÑÿê\16ßÑ\1a\16שùamü\11\91,;c}òø¯ô¿4-¿\884-®Ûä\85·Äµ\83¹\83Ý*UÁ\84\7fè\9c\82µ^stª¥\1dí\95^ÕÁ­nS¯\ 1øÉw\ 6&J\87®E^æ\ e5\1aÍ\85Á¼-X*B×\970i\80\eÀbWÿ æ\ 5\v~m\84\8aT´cõMuî\0PbZj HÌ£T\ e\9f\ 5\8eÆö\ 5Aæ¦B¶|\15J¡¬*y\19\97¾:|\11\11\95\83\87\1cV\9a}&pÒÆ,k)e\1c\86\1e\17\15];\95lea$¯\1e\ 2\89V\12\86fÍO\O²/Xë d\\r\9f&éåõ\84Å\a\96\ 5\ f\1fc      X\9fwd@\1d  \8av\v§Ê¨\12\8f¨½bÂ\97\8aË\9fÂ\b{´%#¿Ð\9d\9e¢F®f(To\vÖÕÀ\1coXé?\13Ý\1dÎúÅ;1ú¥;1þwÃÙ\8f\88\eÛþE*\97\85WÈb\1e©Ì\8bùdÂÉ\86\ f´¿\83ôZ~ç¹î»®ï»û?g¼ï;Þ÷¸GôV\94qÿ\86Ý»Ç\17mÿÐ0VÿI}wè¼\f\96Ïìþ^Â\83MS¹Ûú\1e\97}äÕ{\91­\91Þ·e\82åm¿ñ·þ\ 4\9c\9f\1d­ÇëÅ\88\16\7fü\ 2Ãí¡Ã\94í¾f.Í\87\83\8füaopF\14\7fÇÂ\8f\rnŹ7çs!oqñ<Ì\ 5\87êV|¬\vïXf\ 5÷¬æxQôfÜ/F·\99áGøF\87Gü.5\8f9V¬\9b¶wV­SzµRà\7fÁ\ eU«QQííél×Ú¶îS\f%Xu\83\91ãqrÇF´<#\8aC\93è7\ 34\v\15K¤Ö#Ù\9a[ßf\9c¾µ\14\7f¬\e\9WL\96\10ù]1m²\99\9b\85r\1c\92!à»%v\88K\8e¨ÙUr\ 2Ûç®ß\148ã¸/
+\93NªÖ\1c¡Ù\95s®3S\18ÊÃü\ 6\18-Eà:\13\14]\19øjmkûªmkð91\14úr[î8åQÝW\e\8e^\94Ýìzs}÷æûöÒ\0\12ÿ[ªêÁ¥b\9d\aO°Â@eõ\1dy5\19}ü½þ\93S\17awýR:Ò¢Hé¶Vé\1d?\ e\8eÒõ\18L¿>1k¬M§üw\12\16\87\18>\ 6\931Òîò\b\ f7ëîôwÜä¾\ e\8e5¶6üªÉ·*\1cGv²ãÒ-¿\7fû«~Òð§uï÷zsáê\84\7f\1e­ýO7ü½9ðm\1a\80µÊ>ñò¥ãðã#hMÏ\1f©iñ²ä}a'w$¾ù{M ·mÍ\16W\es\Æm\ 1\86\eïû}9ðd\97¸6Oͤ?N\7f\a+méϤj\96ÃÆÏ½\97¤|
+2ôÍR;¼ñcQo\10Çø>÷mèÝY    ¼É®SÓ\1f\89è^eû\ 1+hsçÎbó\93 ÁÂ÷¼óìºÕOyÒ\98z8àK   \86\98yA+÷a«3bJ\96!/11Ð\9eǺÔ(\95Î\17v÷¤ý lÓKoF-H,I8éèÅ\ 4ø\eL\ß!\86&¶1\16Þ4å\8d\9a}j\9b\ e\1eôÈ{ñµÈ~dv\1fhN\ 23Ø*\18¼G8É\fM÷Ú»Á\9a\885¶P\84\9c   \87î\væ#õÝ$¸ê\17¼\9a\90\18È:TX°éQ^"«ß\ e\ f\12¶\l\a\bnGB¬\16³\8aîÖóýx\ fÍ|\98\ e\12éÜ&2ì5Üq\15\91mö­Ê\87ÃnEh¢ûÀQ+v\b\a£8l
+á´¶ÀªËÆr\15¾\ 5t`£'QÈ\97Ïë¹\18\15×\14ÆèFìO\95Ø\ 5Î7÷Úrñ\8eÃÆ\8b
+Ccmr\7fË?\9fnÏgæË\91\12\18£\ 5\87\8e\15(=\91Ó°6\rϱ\9f\86k¥¾/{$æeâõïcÛRü\16d0&§U×\ 3nJ\81V²;>æ\12ü-îѽ/¾¿(\r¹A´o7î·bæ\13p(\18:ô3\81Ö*¦¬\16\ 4\9cî%ùX\91µ\ 1ó\16æø\ 6ð1É\f\1eÚ2\1e*A\1ev\96\93í fï\94k8\0Ërû\91õ`?\12~ì<«+ùOÇ\82Gp¯eHæiø%Á\a¿T(A7\1e½ú.O\15\96ô    x\e) ¢ÑVÕ\9eÿnB ¢\ 66\91ÿi»5\1fÒF\8fØ&.®¿\15\9d\12úɦN5Ëø\erb½\1c'â³\9fÇ\87n\90\vI¤`\8dz\1dX\89Ù`bѾ\96¼Âto\9cc¤]c,2¨2´\15®\83Ë»¸,=y`Këû\17\92dÄEJFç­Î
+«?ö\91¢©Õ\95IÎqY cº\8e\bs\94ìL»\10Â]¶^\9béBi\8fTY\84\10\8fÂ41\97ì\85 \0ø½\rH\0¼\ e3Z:Å\80\9afjÎIë¦/\ 6\10ø1ÕÈé%\ 2\83ì;>\81\95\8eâ¢N|ýlíÔ%ûû\9bÕc{J\90â[¼\91§Â\85$\r²DlÇ:p°,ûì\rV¢NÇn\10H\8d×ZÚõ\D¹Î¶\13(\127ÙB0>=Eòòä&\f@BG÷Ð\b\9b\10zn\b6\8bn1\7fw"&ô|TD­7èy\eJxT\15¶¦®J\8cæþ`\91\rZm{É&ð*o\8añ
+ÑÑêÎ8U\88*6\90Õ\ eÄ\1c\8dSi\1dÝ\85RÆ©[È×Ç\85\12»\1a£\92£9½-\7f\12\97uÀsNX\aNl\1e\9a\15$S\94Ã\9eû\88fZ³¾Ë§Fíöf\10¬N\bCQFÌ\ f¬\9c\13\88f¹æ!v2@Lhhg4@\1a6lÂag¨µ]øbXø°pøûÈÔ´f6è`.%Ù_\ 1[\ fÞÝ\94Qtúä\17ÜF2ãÚÅm\8e\1cF_S¡\v¤@Ý\84\18Õ;\b'®wv2Î,G;µ\8f\8cÝÐZZ·ÛBÜÃZfJ³£\87víÈC\87
+\91\94\vL×gj\90!
+       ë]í
+\85UÇÖ¥
+r\837Öáò\vë¥\94À\v\1cèg:\94\ 6kh\8b\94\9b\18ÊR,ôP.\ 3\fà±ÑðïU³u¬\ÙXÆ+xµµ-r»\18Ã\86\80ê\8fp!%\ 1Ysíu}\8c\8b­BxÍÔ©¨W\9e\87·fP\93\8f¨=Ôo=\ f¸V\86nº%\89Xk\13N>)øÙ")îà^\1cÓø2"S+"o\86g\e,eh
+Ñ5\96\83o
+Ïü\8b\1d_\r\bGQ\81Bé»§A\ e\f,s\Æ\98OÔ°(Ñb)\18ë¼\v¨\ 1r6@dÒH_Y\ 1¥N\15ÏU¯y6\1d¶)®\8d\0(ú.        nÖË\9eßÛkXñsW\v^Ü 7ß6\9bF\92mÀ­\9b\8c}\90-nQ7>\1aÝ0L8³6ì¯|\10d|\9a\8ch)\ 5¸ÞÞ¼Mí\865Õb®¯ªÈã\9d\84/\ 1\ 4f\93Ìx\9fc9\eS߯\a\19~\12ùf0\88K4    \9cI\1eü\99\10Q\ 2\83![Âî\88®ºõ+Ý\8aíÀgUt0Àih\12ï/ýKt×\8f\ 4£\86\92\ 6GIH\9cçÀJ\0±¥\81øù>:Ý:\89îjjó`³\9a/÷E4¡u\a½(8\16<\r·Ã\aP{\r»©®É{Î|Ë{Ûݵô\1e7²¦e\9b\82ö°K\94\1a\18²jð­PÙ´A,Oö\fâ­Ò¥Þ$ªI\12FÃÆø@U?Ä\9a\9cW~ò7S1'\154Cú&%Wò¥Å\8e       |\1eOä÷d\82ÓðÒ\17\83i\0µÆ\e¡>e #\89YÉɦÆWðè\1aoL}^\8b\10ÌÌI/JQ>+:Ævþð÷\99(\92ô}\ 5é\17øÆ\97>K!\90*\1e   W¯ÁK\a\11\86NF\84¡ð±·û\15_ÊM\19\a\e\8b.ãZú6».0&\ 2Îò\812
+Ö%ÁNG\13¯bBÚ\8d\9c¤M\ 4ñ@·S\90ðøBÃä¾Ä\17Ä·ë\16¦*ë\83o\92\8bx\9bf<\ayøÁîn÷Ãéd?ò\8dõ\18 m·ÏytK\80\10à6\ 6ã\97ài\1fÐ+°\91\0\f\7f\91V\ 3²Eöi[|\9dÀ>¾\96Z5ö\807^q\ fí\84\83\9e\9f®~ál\ eØ6SS¸_X5AÛ¦5 ä5ÆÉ\8eÝ\aPt\84®·ú\e\ ex%^ÄÔò{\ e'\83aÄ÷¶×X\96Ã\89äv\1ck\r°à3£ÓY\14>
+ö¯\96Éû¸k\16\8cd\15,\1cÅz:ú\8f\19¤öH%}\99¡½\8c.çN\rãâ\ 6#\8b\a,Í?Q|É!½\18Q;êä\891çv        C\80J\99\1cq  \f½\81B\83yöjf\16£É\10   \v^\85\17\ 5%\97$\9eà#\rKªä,÷áÉt\ 2ã!!@K\\85Ä\98\82E\98°¨üaLÄ­ì½PR~\80b\11W\9a\e\8ft+XÓs`Ôpà!\8b\b{Eiåþá¦{õr\1aýùT`@G\10*4\0ß6ø\1c\ 6Õ>êæÖ;VÔ¾ÁÈi8\ 6÷L\80\ e\16!â¥R\bk\82¢\8cYc~\95H\f;]/­½F§K®ÿ$\r\9a\1c\1dù¢\87çFYv\8b,B`F\93\aÉ©z\ e°%\88\93ÌB~«\\16\0X\91j×;\92\12­\97 ¡¼)Ô\\94`Q0v\ü\ 2mgfc¢\16£Ù\8c0¶8\ 1©\16­\87k\ 3x\85r\1a4°[Bj¯\8e\1d*¨xyU\eà©P¥ovq-ì²VF<,\81W wĬ\8cdK"\89+ << âÔ®C\87ï\1a¥\83\89d_R²\ 6(!o~ö\8d'gûìϳ$É$\87Ù! D \11\bµ$\12Ä\ 5\90$\a>&@û\130#P\11QRùl¢Ò´¡0AE°r      2|e[WÚµ­BÓÖ¡UÑJø"µY\80\12ATb\b2Ô´\81Ar\10\14T\ 4Z\13?ÿ¿¿¿ÿþû$\8cDOZ­|ßo·ÜÝß{\97\9eæîõ÷Þç7yÏw7¡î{{~æô7\9dýéïk{[ø\ 1¿\80;ÔßÀÛO\ fu¶Ûn²F\9dä\8f20\89H==j\9a\10jg¶«¾\v\8e1\19\84\0\ 4\99;|\8b¯è5Ô·ã|ö\11;¨)T\váh@n~«N$\98Ü/Lp\8cS\1a\8f~%ÞîqX«5\19\9c
+L°p\bÜr\17\17¿\8dÊ\13i\89¸½/\ 3ã\93n8¶\83÷Ñ«\94¥¤z¬\90]V\ 3¡?úJ_\83EUküÅ)¤À\87g\13\9a%ì¬
+k\1d¼)f\173çº}¾c5¤­\84\8aÏÓ\92o\ f\1e\9a\86ÊGé¯\v ³7\0þײL\0¸ô\8fÆD£  ¼ÿÎ\19ôÂâzOÖÄ´Ó\1exÛ&l\19ܵÕ8ÚMa\12¯Üe\9cÍñ©Í}-Ë\7f\15\1eÂu¥\1a\85\9e\12þ\86\"Èþ,©\10óõ.>DßÉ*̶I¥·½\ 4¯\85å·\8c\a£Wo\9d\95.Ùð»\a(ã×¥Q\12\1c{ØÒ%\9a\9a?²I/»\19*\1esÿ¢Ù
+S\ 1UüÏ\14\95ÝáZÍ\96JhÊ\84\b·½Ê²\^\ 2S\9b\1c\14é#ô\87ÛSÊôñxì[¶GÚâ\0÷BÎ\11\8c\1e[ÔUͽÀL¡\9b\18¬)O\15\84ÎðÅËÖã!3\9d\96\v öZ\9a
+Ùvmº\93[uh¶5\9eb69ê\9b|\15κÆ\88¹AÓñ\12d~\ 1ÁÓñn-Ri\18~\ f\8agÞc$H[!4\0±r\1e¡â\99ù\18¹Ip\86å\94\8drÈðÆå\96c]t\10ô\ 4GC"(ß<%\12\8c6®Nt\16\80úÀß\ 1\92j\9cô\16Þ\96.¹ß¤á¤G\ 2Ë\ fÙ@dL\98\ 1«9"n\90ûª¬Æ¹ÂÐ=·\19¹\11/     \12\9fAFFÓ K×êFÜd)\8e¼*\9dD
+ÜÊ\a±î\8cíù/n&\1d\\16\8fP-\1aV\91\8f\90:\82½¸É\89Æ¡À\98\ 1)\94l\83/=h»[\8c\8dè\9d°$°\95XØ­\ 5ÆJônÄ´7øù\19kGw9\e-À>F\15~Ô+HÙ\19\17ì±\91M\90\98K%þLq»¦Úõ\8cð²ßª» Çi/\ 4\15f\97³h#¢ú\87a\9f®acëak|\94Ò\ 2ºÒ°w\9e\ 6À\8d\83\ 4\87Cßj\12âöV9\9e8@\ fºc\80Ê>Í\1fPpL\ fܨR\9aé#ü\90\9f\1f\14Ò_\10\19\a\90P\\86h=Ô%nB{Iy \ 1q\ 3«qV\rü°W\11¯UG{pûÕ§Qå\8fÞ\9cß¶\88Õ\9dVþ&âÔ¾.6ýú¥#\17Q\9f$¾º@8îø;âb¼þÕ\17³wSÒ\96=\9f\86\8b\99°\8d\13b|(`\1eîªØ1Pe¬AU£kGí\96    ÅßU0+z\96T8\87|\1e+g *öz\94ö0\9dØG-ÜðÒt   Dñ\9cfA\9cfðÎ3wá\87Ù\9a\9eM\8c$ÜÓ1ÅÈ©æ8R\9dx¥7·A\14xðdYRò\88à0\ 4D(/\96f\14½\b\133xZ\98Ü¥-\87ê§\84Y!
+Uï]äñÚÕÒ{ÚÃ{Ä\95ík{Ùù¥ÉúÌ\91F\95°ú\81\13\12\81@HädØáfß\159v5\ 6Á®\88ÍÏÌMÏ\ 2å\7fc­&ÒI\8f 5m¸\12¡\18Ù\9dÃ\7f\ 5\18-î¥#}â$\11#}\83\ñí;æßî\91¾úv×R7Ûé"oÔ<\87üäo´¤\98\91©û   \ fÛ#}í¤XÂhä?l\8d÷ß³\84ÈH~Ù\eïþ\ 2[,é7¾GûÒo|\8fî\96:ÿùS\1eÀ\83XÿÞ¦=øÿÎÎ$~\95©å\8e¾ÝÇø7ÛÏà\96\9eß8äKO\7f4\9b\a%<M\83¯õã¸òÓÜÃ\8fóM±ÿ\82á6ÇáxÈeoO¼\9bcü8æ\13l~'\8e\9bcññÿ¹6ÇÎÇÿjm\8fõã\98\80_ú±Ì@/íc¿ö\9bcÿ¦}ÇÿRm³}ï&Û?ý&Øt\ 6Ù\9e\91\87Ljó\8c<j6Ý\88Ã?±`KÛÉjvâb-\10~?\81\94\eò\1eúÀÇ\8d,ñügÌ\9d\12[x±*®ì\94ÇRÀ\92¯­ø\ 4·¿"ZÿøÕìß"ZsºMÍü\89j\feµ5.O¤_!7G¢\1e\7fzp\95ë#x%4Çì\1cI­ÿb\9a+þÚt/ÿ$Ý\1fò¥\f4I\9cøc©\8bú©FX\83?ý*â\1d\17|hNP¡E\rR\90H\1c~@ù$ÍÄürT©5K\9fJE/\9e\94y¸­p\95
+RIQ%&\96%)D±I]\92çRQ'I9IT¥MÆ\9c²Ti]Òv\94ºZ\14¦\12ìÒe4\80gίsû\93þø\93W?ºÙ¯êMÄ÷J×Þé¾à÷Mö׺p\94\9c?çMÈÿ-##þé6\7fû¥½\7fü¦êy
+I/ôt9X8ßÉÍÛ_|\9f_\1f²þ\12Ô\7fðþÿ\8d\ 4`\bX[\8d0+\ÿ\aMY¦­ÓXi¬tßÙ\r\9fÅ\9c6MñØ\9a\9an\8aù/;\ 2ÿWÒä;O\9dY×b¼ë\1e£ÉÈGºÌâ\92âe1\\98B¿1àu\1dÜÞ+ÿò\8181µ}\120\1fûU©>+þÊÔ\9f\13þP\85ø\18cë^\eä\84/\87¦eÔùDâÝOüQ5ðÉxs¶\v?\ fðÂ\17Âi\1eËQ\1d Vt_\f!~\80û\ 3t\7fßË\1e\1fe\9c1ë<\81ÔDHj¬zÐ\9bíçÉ·¯|àø0\82s*\89¿Á\97Ô\ \9d}.\1c\954üÿ»5À\9dÂm«k\8fH\14Ân»'\ 3¨Íj\9c\95kÊåCÄa5\0\14 ]\1cÊ\19ñ¹ªr\17\90­è3RæüM±Gä®j\94\19ÀXÖâ\82Þ\11\94,n_\9f÷a\19DkM[ÿ-\ 1\89W\87²mæ43äá!,©Ì  ;0\8cï¤1ïX]\a°Êå¿@ï:­<\9e\88Ì\ 4\88Ø|Å[¹¼u\12tòU5¯ä*3ó|óGí@ª/Lb(\18ñ\ 4^gÑ\bÃbZÊ·ñ\ 6[Õ-Á ¬Áç|dï\99Á¬:ô\1c\ f\13¾î|ê©\85\7f\ 65×dÅ×O\1aëXÅ×K\1aë÷غØ$ÂÔfo£\1d\88vÃV\12\82P    í\89zHìÆùõgã+IiáN\ 1\ 4¾U\16a~t=FUo\8b\9f\9eDW9d`\13¨À1Ì\16ãi\964%\vSÀ.­Xºö±´Ô\1f\7fº^ò­×8ÄùatÞ¿»uTg\84­#\ 2öÕ\86yÖðªkiÀ\\11v%éyî\81½ê\ 1\ 3.h\90k\ 5]Puø\ 54<a!m]|Ú\9a\1fd¬ye46\84Â\8fÞ]Ü.\9dÅE\vE*H\9bft\r\15¨÷\1a\11\86\0v¦®H\bYå2°!ß¡ÚGS+\ fr\99µW«      Òb\94?\13\94Ô\8bÃ\b¶]Ø×¸\8dDû§'[k(\16­\86Ö\1d\9a`Ý?KW¡\1d¯;4Z@ñ\8eùüEW­\87\12ü\rÔ\10V\1d\9b[YÑ\8eèC´kL¼7`U\10\9d§\ eÖñLªátlÈ÷iv\ryp¨Ý_\85¼½µ\1aÚ 0ð°¥ÀbmV§b½|\1c\8f\90Øh:ÓQ\8b\8f        ®SµèÔÕÑ\89¸Xå\9eÂ\94Ì\ 3z|      ¾kj\8dN¡¤NµÜ\95i¯¸\ 4Kú<:Ö\94ü 0ÕzØZ\ 1rYzA?<²â¾|G\90\v
+þ½\b8¡! ^ô\82×ïÕ¡¹ê\8cöu(Ë\96Ø&¤q\84e\eE48T6\19Øê\ 2ÜW\83÷^\v³¥\95rïø\8b\83ò&vÏ\90
+ÉÄ\ 1\ f\10ò,\15Ëî\ 4#Sìa\89ØÒ ¹y!sÖg\»ÿQjøá\ 1XÈMx\11ð\ 2ºº(ô\17/}\1aîì&p»8*¶\v\eٮ ¦Ô\vYè*É\9b\röhÔú®ì0Á:m9£SXîÁ©¯æß\ 5\1fµOa7\ 5Y¯æbú­Ä\a\83ã\82¯å\82\81li\85®Ó\e¨\ÿá
+2Uo\ 1î\86CÓ^eÝ\fÕ¸ÓÔ\ 5\17\ f¡Ë6\7fv\15Ìlã\10ÕJ\9eØpµÊTÏüu\ 2Á:Ú-Ú9|\ 6õù\972]Ìndº,/#\9a\8a3Ý`iª\8f\b&æ°£?ÐÛ5C $É9i\13\1d\1f\83­\ÉJÁ\92\ 1ÃD,\9e   \97\ 6S\9d\8d»â­?\80×s^í³y#e\8eäùbË\b97¹\1aç\e\94j¹\7f°\18\14Ckaì9ªrz\17\ 6\f6\17°\8aå_\14\179\1d%]éXX¾\8dÝTÍ£Qíe¦&Ëý\86\93\1d\86\8fêjr6׳eîÖ2¹Ù  \0\1f\85ùâ\ 4?\ 2\90\8b <ðfµaRÐÓ\ 2¯¶]\15ªì\ 1j\879\84btó_îX\fm;\80-¡rl\8d\ew\80²SY\ 1\8aÕÞ\1aL4£\ 1í¾\96akYÒñ\19«y\0¢3\10\ fÈ^zx[\89×p ð>·1n1,\84on£VŽ¢e»1Ö$P\12z3q\9a
+èÔ\87ͪÎ\ 1F\10\1eÉwvÓ"\ 3:\98¶½\8f\1d\8c[\17\1e\ 5l\14\eÒØ8ôUɸó\få\8e\997\1e\9eÕ=´Ø\105H!;0\9b\18¯tä\930ø'\13'vÎ\vÜJV\80ÆÙ9ªê<êL×*?Öb£F\81?òW;\1a>\ 5Ú\8a\83óÙH¼GbÞAÕx\aM\0b¸ØñаÛ4J­ü'\ 4<\93õ\8eøD¸ÇMr\9b\87\111?\1a\108\8d³o^\9d\86y@vq¨x!:Å\10Õû}CÅ\ 5þXC\0Ùw¼+ØC\\0p&\91NQ\16p®Cëe1Ð\9bsF¾Ì\84è·Cr¹v,y#6'\9e\84Ø\18\85ÉÖìÖ9\1a\87x\9du¯ä{\87þA\18Î`a½ë\88\vDÔ¡\86\9cõ¿:4\17\10(\1a\98û&z\8b"\pô;å*q\81\1d%\81¿7k~\8d4XãD\b(\82è5
+©XmNS³\88Ü\976=\91Àq°gÒ[Ýq\ 4\ 1:Ø#W_)©üÂqG\97±\b&FY\ 4\93©ê\9a\9bU§}\10\94\ 2²\8bPñ:Ù\a\90°ÔK'¶µ»¼\9d×óв4\11V^¼l©è"\95\18\ 1\8a\9a\9b\13\7fÀ\1eÖppi%\8f\85'\83x\9eÐW'\13äì\1e'bô\aw+\ 48P\15®ï\83\16\a\19³ùǰ¤ûÃlÃ\ 60\88§ ÐT¥\93ÖÂÉ[\1ec\13Ù\13$i²s N\87F\87B\f²\1f&ÑhM¥I\80 |Ã-øm<®[J\86\1c¨:®rK\8cFoh8\9e\8b¯}Cê)Ù\ 1R\v´ðÛ2GA\8d§\18\80(\8cP4\8d\8b\17"\91\9côd\1d\86Ó
+j\7f(í@F\ 4¶_\1en\b\r´ëclêÐW\ 2\98\8e\17&áUùÀá_\9b\11¯%öî\9d\93Ôâ    \8fÍõB\84 '¸6á5ÁZjÏ»G³¾Q¶\eÚ\8a»Ô%ã¶vBݽ\13È\94\86\f å\81\9d\ 6\105Ç- K\14üÇ;\rèUCÞ2\9a·|/\9d\85\83\16\10í\ 1ýÍ\ 3ê¡\80­\v¾\a\ 1b\1f©Õv\96fÀy\8d¦èß\99ÇrZÑÁ\1a\15ó\99\e®\b®²óx\0¥\1dÀô¾}¦éâþq®¨\eÙîà¢Ré:åI\ 4ärõ8¯\ 5\99:yÃ\93Á\18\87])N\91³á\ 37
+ÂìEv\ 1\80\ 3\91z\ 3\8b÷Ð{C\175<ø%1úð\1a)\93»@-*+Øc\97m"²~\8bÈ-\1e§ç\ecR\0rH·¨Ë\ f(}\1cÝñð\18\ 3OdÜ
+]ÞÎìèêÛ]\90-\8e÷¢-\8eϳðÍ\8f\93\88ñ3mºÉh\19\89ºV\88ÚÚ\9a\1d0\eV\8eù¨ð\ 1Î\81!p\81Þ5g\7f\fê2\18q2 \17\14\13r¾>\16\v\9a÷w\84´+ÝP\ 1!E5:×¢\v´\93Ö¾_Zn\aNT´\93­{;ç,¿ê|\10Ò¯77Ó>_xöwrª÷\87ÉûG$ôá¹¥õ»H\97ón«\1aÔ7\1a{nfª<7b\16 Æº\93\gj±¼`ßfÓ{\7fÈð¾sÈ\eæ\95]\f
+4Ì\ e\1dÚ~\90¶       µ{M\8bFuP17cÁQ·õÂ\9d\8e²6\93÷gÖÈ\87¯\15ÙSñ\80\1ck\ eÏ\89¾í\0Ø-´Í°~ÍÁÈ~\9a\97
\83Â\a0n
+\83-`FöÕ\8e\15\ 2çÌà,v\9b£Y£\84#u\98Îb\83\81\8a\ 1\0K-õ3\8c·òôL\ 2\11À\88ËäøÀÌÃ\17ûtuÄ>\9b        Ý{Æ´ç¡`¹Ð\1cý=!Ë?`ÏìÜ\ 1\ 3 <cj\17´ð\19\98çë\87Ow¢Îêð­ªs\87`\99öÑ\85Ú\16²~Ð0kÌ\ f)\98Ï\81\85\1d\91\81r\10\97Éu\9d\94\81éySSê\83\ 60rÁøYiß[ÉpphåCëf¹gÅAúWÚ=\9d×=\9dòÞ.ÙÈ\82Ù\10-²Ï\rÓ$\b¨\16ô8\r¿>_Ê\13\87\8f/$l\1dìì5jÛJ\8b@:I\99Ìá\97]\b\1dC\ 5Þ«U\81\ 1ÓXZÛL¿¶Gq\f¢ëÐÆ\87}óp
+N)ä\95\88È^Gb\ eÔA\ 5ìJø\80Ê- f\8e`\15g\90\8bµûô.M\88­!V^§«û
+Â¥nø(4\r¤NÐ[LªòvØ\14\92\13c\8fý\ e¸d5P¡-\ 6Þfs\ 4QP8M§Þ\83zj\84®Às\ 10E\90\eÿV.IÊÐ+©GTÿ(µïN¼\10\16zÀ×;-Gìöq\93xQ\9e¯³7yê\88\e¨ð\8aý¼\87½\16=b\90õ¸ò\9eÂ\98\9eßE\8b\8cSWS-g\87\18ò\85KJtÖ\92±\ 5ua \86Y\97\88ç5\11Uê~×\0+\9dÈ.\ 1\ 55r f_Á\85V/\1a+W±«ÖÔn|\9b\18\926
+ÕÖ»O[ci7¤¤N\1c\8d\85m£ut\1c@ðîö)Ôl\Uù5ùa\b_\b;O\1cæö\9b´¿EÀU\1f\r\9d\ 1\17W\ fo!       ¶Ï\9e_#Zà\ 6Þ\15kU¡ÄLk\15Â>\1eè(tÙCw5ÍôL\14\87]\ f\f\ e>QÊàþ\86-?:±)XÐâ¶Í&J;~-wºÛÜ\ e3Gî\90@=V/\86ýØÜ?sA}\1f\87\ 6\12çáÁ[ï\9c¬caø Æ6¯!;æÒµ×\82æ\83â\1dxn¨õ\7fL\17\86è\12RóÐE=ç/sðÚË\ 1~ºÌ¦\80l¼¬ìE*{æ§°á\88\14à\88¦\84&¿Exuñä¯-\95áì#È\8béºá×G\90à`\17\ eÎ/å\92ö+F©\12ÆÀ\9b¨y\ fÖMä=úfì_\876\87¶ÇBÁjÁ\83º\10÷\8d\8d\83\r\15¡ú©\8a\0÷üÍ\88ouÒ½\9dÞ\eV°G7xä<ø\8dÅp©zðñrÅ\8bÐ:\15âDn\83;kM3fX@ ,|&}        ìüSsm\ 5ä;DÁy/\86ð!î\9b\bÏ\81±{:*`\97(ù;\a°\9b5\11ßÜ\1eý¥ø¦ìïÐ\8cÙ¯°        k~Ò,X\16qõz7!Å\80Õú\1a¡\8d\8d\8b
+ò¨mE\ f\96n`\93\89-Å"·¦°kV\17bnBub¹\99Ƽ¨\e´zq\10WIGZx\ 2\12\9f¾³\814\95\83Á²\b\17ñÏØ*v\0\ 1\82aÄj*Q¡\vÁ\98\ 2H\88/#_6&èOúi}\9c l\e+TÚEä]kÚ\1d°\ 1\9e¯Ès\9d\8d\9f\ 3t¥¼Âïé\14Õ\92èÎòâubÂÁ­ðUÛî\90:ÄB\13Z\81æ³Ð-hÊ_Þ/@åêúJ¡ùò¶¿|X4Ëäí\9eEØ=¡¶Íx\ 3\9d\95±\13\99Néü\92ºÊ\87\91uãh\82Ä\91õ.  \98ÈÑUóõÖL7ö~0Ø^-ña±³¨"=®<å;-z>\ 4oI`ó\91.'\1dû\86üÖ\84÷ÀI\8dün[\ eø\ 2¹\9bÜoèݨ¥Æ\82Ù}\9fq\986#È{æ¦ÛѺ¤)©®x\9eÁì)=\0îÈ\ eÑcÙÑåH(q\89·k\81\10\12Bl\91;\8e\85/B\10Ú> \1fãá¡Á-\9eÐþ\8cÖí\8e\81±uÏ\93ó\ 1\ 2·ëÅ\88XÅÁL'¼Ù·\87°V\ 6ò<t¢\14Ä\9f¨\acÛ¿\98±\16u$zð71îêûù[,80òòoV\1c\93\87(&äõò{¥§x\ 1ÎÐy2\1fÇ+\7fßÒa7îª8Ñ_ʼ\8bæ-\16¹Ö\13~\8bò¡v\ 4øVl     \82x+÷\8d¥G¤\12àr\0øÕNæÕ\88÷Û¸ãS\12\ 5\8bÄS¶¨6.\v4n°»\ 3ð\8d\80\13ý\85¾\ e\9c½!Çdà\99\89ì[ß\8f\84¸YYµF²J\96\vïp\8añ=ð÷ìþPà\fy\ 6\81lÓ9Ó*Gö\1c³Î£\88\10¸\8cÄÛ@Ïtlç¾Äsú±³ú§\e\95E[óQ\96ÿ+?\ 42Ìa]\ eú\9aFui`Ì        ðC/>>©l¿×ª[.F©,\98ø£M\9e?\18\ 3Ê~U\8at\ 4\1f\ 2>XÛ\83E8?ã\99Ülù»|à\0\ e¾Ü1Òè<Ê¿4Tã]¡»_Ör}\ 3\81ú\96\16\1aÖ|X\ 4ºËÑû·éSú\ fH\87Ët\9aë£5Vz\aâ ° ç¢\88\r]DÇ\87~\19¡\84\1c74\ 5\8eØP\14\99ósQ\81à P®3ôÞ\81®\ 5\98\ f\92\9a)ĵ\94\15E1î\b
+\86Ù3[\8bnqÂ:9zí)üu¬xåfËïvÚi\89Ê\17r-óµÙ\r\ fw\16ÚsxÐFBiú\bX9$       Ä¡QÒ¡~Xn\ 5~aã\9d\1c\91Ø\f¿¼\b\f¥¾¬\98\0\16Û˾²7Ä{\8bó ùÒ\ 5õ\13\90\88mÕ¾~ü@S!ì*0§\92\µôë\f\9e\95\99ÎÓ\b\1aÿ~F¿\94ëN\f3g6\98r\ 1o¢õö \81\ 1z!®E©£Óù\94\1dÜ\8eóº ÝÞP=?ÙT\98¿\ f¨l[û¹\13s颽\9e\1eh\rä\1e©7<q¡\1dY\97É\90ãáÂ#Ç3YªÈ\fÕ\94\14çÿèñ¼ÿ\18\10\10A;ÿm\b'k\11\80\ 4\13¾\1a+Eüfüb~° \9e\ e¸\10O\0³3O3\11µà\82\8c]xøîÁ)\81=*\1az
+qÑ¢¢À\ 2\95ÍÓ{¾/¶\94Æ
+ú?G¥HøLç^\9d\91& §±\85N^iÆ\16\1eÞSz2oO«\10\17Q@4h4\ f=ô&÷p¡\92CF\85`\17ß\ 3LE6\10c\9bk7*J\r¦ XF td×3\825LÉ®6ex\88q¨_|e\ 4½wS'\95\94X
\ 3ä¢\r\13#H\ f\1fM\87ÆN\13
+;\84¶¯añ\98%45åk\82\f¨øY­pfµ\9eB\9cwo\88\1a6ʽ\89âJ   
+\88\ 4á\17\91µxç«ýÁ\1c\8bà;\1d×"ú}\8cmL>FA¶_\19\1d\ 4\18^t{I\18*ȯ\8c»\1eÞ
+·`gjáíM\8aË3\91%Ím.Æ/x\82\föD=¥ê
+·¦-/°U¾Ú\11«ºoÚ^ØbgØ8\9cÂy\80=_\9c½±¨jøÀ®l|t\90\9e\80¶¤p¼\11\13\96'\9dÉ]+^\9eO\17I\84 \1evn7aÄmL®\0h¶æUMd\v\13ñ        \91/)y¸ú\13\90§·=ùDÚç1ÂüL\9d'@®\1dÃýÍ6\1f.Û5éA»\1eïIWÁSX±¶e\8fl{\8aëGAÇÇ1i#\a\1f"Å¥Ú\ e=\18À\ 5\19£b²ÌÛ\ef@ÄÂ#áW\888ûÃ\16\97¨8ûÓ\16\97Ø8ûèp\1f\ 4Ü\a\87\ 10MÀHp\a\ 4Ü\ 1\86ÿ`ã\ 2dNÅüÎFÓ\vÍZF\938=]~4ÆA\r¯7ÀC\ f8<\1cÄÛ´l\8eÍ\fõõtÆÊDÃ\8a,\87\13J½FÍU«â\81¹µ!\97.R\86a\0Us­\bX\96\7f¤\14þ\8eÁM\b©ôÚ®üp¥|r_Ótk;\83ôÂG\eû\17¡d=eH(·p@ªúñ\0ó\1eyT\16!£;ëöÅãûÇ,Ë\ 4ä ý1\ 1OâÍB\90"\137Xù6¸á¿5q\8få\18ÇÀ\80\83
+ÓÍrî\ f\14\11\99¿t  Ìé1\1c\1axç°©¯ö·Öw\82\f6üÖCy\ f}&®\83\ e\8e\12\a\10UN hÌóM)Ù\83\1e\1a¶t\98]û0ÌÛÑÌ\1fmIØ«\87\92
+ëjSÏ Öÿ!b«­0D¯\80<òawâÚ r)òú\1dj\95;"\8b\13}\1eS\93ÉHÑ&¥|`d¬\89nàr\99ý$\ 1î\15\a°\9c\8eRcÒ\1deué\ etǤ:Êß\922b\82ÔnJTÐÏ\8fÕ\94pexi8R¤\ 4þI¬\©S{+\1a\85*e\9b\v`\ fyJ)\95; M|4SJh­\85¼\b vLcÀì\98ÇÎëTÐïCì{\87uÌ)R\12\125õA¢ÿ \15M\9dK\9e\9a×;\84õj,.Ä) Ç\8cp®]Û\8dÛ\9f\85Å;\95\80\1f¥PùY®\ 5§t\99E:\ 3\86,&Ĩòj¾5\99\ 1ê\1apgöµ,²´2¯ùÁÌ
+ЪØ\96a£ùÕjü ú\13\89\ 3ä¾Ó*¹°q¼\88õW\94¦¤Ãå%í\7f)\\85\ 4íSPØ¿¾V$UÇqÔ»ùSd
+J\9e\eù\ 3×\1c<eýbÙ'\8b4-\ 1\96\7f{\15\ 3ðk/\7f\r\9b>\e\ e´°\8dÌ\1c§¿\82òæÙ\v÷\0\v8<"õÛ|ñ)~û\ 1
+®e*8íHôЧ½\18\8bQWºîÉ1aì3LàÌÓã\1eíí´©2Aü^¤¬G\9f\ 1]ìÞ\b\0õ\11\a\8d"­eâ\13d\9c]ÎV\1f\91ä\1d\92e\9b\1fPÔì¾ÑtÛ\ 1É\9d\9eëV´ýSÙË6-yÅWÖììÕ\9cÖÕ;\9cܱu¡6\a»b×\11\e\ 3Þ1uÃ\9b\ 3Ý1kA\e\ 3ý,]q&Àý6-h\84\a/\0W,¹Ñ\19«\8d\11¿|\1a#7q¢8\ f\83Do÷\1a#Êü\1a#ËÜh\8f-\e\ 3õ*Í\9b袿ç(\r\87¿\9e7çxþr£?9f\93û±¿[§\ fãàu3\91\12µ¾\1a×v\93ûÁ]\14w\a#9\12ÕÅ{¹È\82MÈM©få|<¶Ó\9b£n\7f|¦¬Ù<m·f¶à\ 5¶ðm½3[pBÛÔÚY\9aË\88}\15]`\8deNV±ÚqÔ±7\91 Ø\1d\827¶ng\r\81سm.koA\16Úµ¹Chu\90AHÍvÛ°[|Ê\8b\ 23ÓY\1d_\89\87¤\0Ñ\9f\10_¼ê~¨±|r`\81¦ìÝa\9fài õ\81ó*§\97)ðC2\ 4pj=\1f\13¾\99D|¸Æ¢@cXa§\ 3ê\1dð2²N>Ý{Å\ 5xS\97:\a÷7c
+\b\öÝ\8eÅ\99üºÃH\89Æ\8d\9b\8c\ 2$YÁ\800\b£à8ÃqøCi§\1d\ e\ e\ fXÚ&ãp-\1cû5÷°Ë¼_\82\09\8b\1d4¾Ú&½\9bÓà2ãÔ<,Öð\ e\9dÆìü¯\ 4\8a¬\1c¯v÷sûñ     DV\8c\ fM\17¼ê/mú˼h\1e\9d\7fÆ3Þy
+QÍhMï\9f¢,S \8f\ f\=»\80âä}ÀK\1e
+\82£Å    «5@\8cZA\bÔópOÿe±ÄG¯½Aù¢\0!¢n\r\93;\1d\90\ec\80²¤c`¥^eq\94\0î\²\90\ 5Ð\ 5LÛø\12Á\88~HØgn\88äð\93)\10\ e
+Øz¸\83@áÇÙ\13^\13¼¤\89ã\99\ 4\ 4\ 5\80\13®\92¤G\ 5\12µ5^ê÷f\86\1a Wº\9a¢I\8b\fÙÏ&Ìt;³8.ý 8\15Å\89\b\8b;g\8d®_bß§÷\ 6U\v\8f\ 5s²Eí¾Èc·¸ú\ 3\9f\13ãÉÍw\r§$ó?¡¾Ãè &`c\9d\ 1I&ó§ &y\99TP\13<z\15o\97$\1d~{ \8fØ        #rþ\980äãÐÈ.ïx@KÓÍ\89Õp"Å\14\1aYC\ª\8fm\8ehW¿:¸\8bgýüi'\17ïüP/²\9b÷\82£\vBt\11õ½\93\94Wâ¥|\82\91\v6Ç>\ 4»\90.\17\ 2ÅéQ\8f
+\89Dw\87aÏ])\ 5âtQ'ܨ0r,\18°\9f\92jøñ\93R,]Ñz\19âÈ=\84ë\ 5¹.\14¢J|
+\94ó\84\11Á\1f0óÈu+º­=Q6Ùoé\81.üÔgæú¶\81EÌM{®¨\12\17º$Àð=f&ú·÷pýuOäíð\11³
+\8d\9f\ f\15¦Ø)k\16MðÏ\rÔ¾#AúüåÜ\ffÉä-\ 4g\ 3C·Õ¨1Ù\ 4\124P\ 2aߪH5ï-]Qܳ\98 éÐ\17_\82ÏO\1aβ5\9f\82Å\7fu:¦Â¥7$ùp ûh´Ìú ¤Å¦wj\8bB@        QOg \8dgÙF³\83\eCòÓ'Í\19×$Ïò+Ï\ 1\f\ 3\14¡Øv\13Îè5\ 2UÚ$b@ýQ®ó.êµ\10Rc:\vt   \a\146\1e(02¦Dáy´>â\ 5ë[¡Ú\8b\86\98`]\98q¾Ík\0Ôì<\13\0\86\81z e©p9\8b\92 
+*§F\14\93S¤&\80\f!\rAçãÏÂÉ\10]\92¥*/I\87ú®\8dÿ¥\ 3\80M4\8f\r\80 õ·\90\96pùz\84GÑè\ 4¡>\1aöÔT\9bÌŬ\9b>\1aÿRP½÷!áÇNQ\09P·»\9fþ"Ù\8aï¹\82b302\1c\
+*,ÇÛ\93g\81\ fÁ(RKiÖÍàã\18\11b\8a:âÑû\15CÃÙA&Tضåj\8c~p\ 5Ü\81¸\1e\8bjUã\14¸)×|sÀ%¸å{\1aë4n¨V\ 4Ò\1e\88\87\99\84®ò\88\92\14gÊ@¸\85Ì\90QO.µ½\81}ãý96eI\90 \91þD\97ì\95&O\8c;:Õ\9f\93f\91Gg¤¸í.%¾F*5á:\18\93\8dë\8dÊ4.{\8d\12þ~0\1d    DõçÚ«Y3\1ez\99³\9d?[\8f\9a\8c\90I6\85\90ãt\14
+|ÖC\90äYpknj8\87êAè­\19¡·¨\ 3'þî\87\94\8aÌ\b)î2\8aÉ\fwÞ[åG\9fJ,\ fÆ\18@¯,\85\16\91g¤G¥\98\9fX(Æ\b\90i\ 5!ÍqØi\9e\7fÜ?ioK=Ò\88åvJ\9f%ïh£Sì\92(ÔßøÛ$Nçd\82Þá³ÃCãäne]3Î¥\1aëvH6t¨\93\97Â>7Ó1\1f\e\ 1woiøÿ®>7ô½èøßÞ%Z׳ÿ¤|o"Ì{\1fÂù#ãs\8cá=oÉ\1f\eI\9c'\13!þõT÷çÈr#\9d}ñ7µ3Ã*¥g1!Ç\8euý¹\ fó\8e\v\88ç^\89/ت\9eì\9c1\1cëçÓ÷£\9d{7\1fº9שqûã\9dgfþ»\8fïfþ»\8fÞ£\8bãÜ~õ\1c_èÇÿB\8e/ÿ\10¢§Îź\ 66÷A\8b|øð\85\15\8f\0!ËO\ 3ÓûÁ\88E\10\\ 3,\84N\8ci\9b\80!å8î(\11ªíí²#Þ\80\bÍF¾í\83\ eæx¥GE\18\1d¼\95ÿ\11\99W)Â\1fW\8b\0.g\89h\10ÛD\82Î`\ 6\12M\e\ 4ôn\82\86åsO¯\«HµÊµm\ªcG̾aOã=Lw\1f\84¨Á\85\8f\12Ì|\8f\10Ì|\8e~;ÿª²Îbê=ÿÿZ3Ïuý\93I\11y[\96ɱñãÝóÃ\1eï·t·ÏÀ«!Á\9c\1aý\91æ\15ðª#rÑÉKu7t¥°ÒÉK{\ 1B\90Ú\83H\15ç¹*±\7f\91\1dw»¥|êe\92¾deR¾a\9c\80×ó(ë¸\8d~»Ò\¯±î×\874-\8dþLvÌFÁx\8d#ü4ÊWý\9dÈÔ\ 1cLï\12 ^23)^0×\94¯\r%\92`hÛ\88Ô\8bå\92¼´½ûãR/ßR7ÿ\1c|þjQ)ª\7f\98\94×SzJk#Ê%4m\ f\9ai.\91_PÙFùT®æ×;¾©K\11£k\7fà«PÿØÜ \7fÖÙ,»¥²÷ñG¾Ð\1e\89ø§^Íú3¯jù¿æâ>/×çoÊG¦Ò \16\1d×\16Ú-C©§.\e\¶;\83ã[\13î\¹J)¿îb\9böoû\971Rà\eþäëb~i<£Z!üÐ%PÖͦ8\7f+\ fæ\8c\7f4IXµíZe\aó\8c       \86á¶8*\9breùÆ\ fæ\88\7f= µw2×\1c94¿&Èí©\83   a\90/ùSþôs÷?¼¤ÿ&>\7fß»\9eÁé4J<î2Þ6ãSÕtô¿*­wº f÷Qóû©¿~ê>\7fÃÃIÞê6\9eâºW\95v9\8bÕ7âÉ¹Ñøüæ\93|ïíiÿ\ e\17ëè3Ý\9dÒÄ_þ
+¶ßø\7f\7fá\9a\1ew\ 6<\1eø:\8eäXðKàþ*ÏÅýt:Í\88ó½»§ar¿zÿëÉCȾí\16Ëpx\1fSÏð:\ fÃ\1eéÞ\91.&\v\8f7ôø?ôËfBl\ fº\9bJ\1aÝM\0)µÓe9Ìîi^Ußßûvr\11ýÜ\9f\86\9b[©Î\156·Tz}6·Tz\ 57\15=çÿ\9c¤\8fg\9aI+>a\80®_ýMÁSï?É\95¿àÜ\ 2Ïñ\fíû\8cÑiý\9ekäeoý(Pa÷å6\ré_ü1í|åð\99f\8dP\7fßë\8fkíÂ\99\ 4Ç\8aú\8eãá ¿à\11\922ÝÑ\ 5=ü·uð²·ÿ>}\95Ô\1f÷òÇ¿Øe2Ú}xýÍF\82Z\8d^+ñI\83\9dcM4PQv$¾?»ÞYh\18\97½r*\8fQ\ 4|¯l :Ê\¡#erü\86Þ\89\80\1eïë\90   èI\89\19Ç\8c\1c©¬Ñ~\91õs÷\e\93Ñ~Ôxy\95ñ£\8e\86\90`\83§\80\84Ra\80\13ÈP\0ôÝ¢\89Ó¨ri\róÃñ\86\ 6\9fy\8e{,ðí=\8a\b²\92\9a»'ÝFÅì\19@n\ 4\8bÐ\93ݹ½\16xi¨\90iySOw\a¡\7f<t(ùɧÏvOWo\88\12\11\ 5hRõ³Ê\e,×Lõy\8ed[\82\fÚôù;\17\94:Þ·\1dñlW«Ï2\a\97¼¶\ 2\18ij9Ê´ÉFÔTù\19<\9c-Ò¯ÉF\1fAºS\9dÅ(Nª\16\14ej\1c\aû9ÒivØ·
+8 ¶k#Èc\8dϬ¾§î ðt
+\17îXl§\98CF\9cC¯1\8e\ 5½\19@¥TNdúö\vh6\1ayâfJ>½M\1f\96Ù\93²³ä\ 5nV\ 4X\9cå a\8a/q¨%¯jÙ)Ýh\17X\95õÐt_\80\94øM8Ð\7f¨:ÀTÜÁÁìïv\81ô\17\88\12\12\81´\10\97\90xöªúBÅ[ßs¥+\1dp\12aÉÝq\98\9fÿ\94Eè`ØeMæi\17ób¹¤«Û¼_\82\ 5\19Æ\ 5Ü#Qø\8d»þoABó\19I6þl(9\9aËû*Õù\80\r\7fèl³j5\92\124÷e\9aá«\88ó\1f§IWùÁ¸\ 2àeg«\81\ 5$\89'ÒZ\ e³Â(-|\98À\894[òµ»=\83ÞìF\ 3ú\ 6\ 2ìÚ\8f¢û£\16\1aïF¨îBîj\ 5\rðU\ 6Ï\96oh\bp\92\ f\188w{¡\ 3\13{UÞö\82Ä\8e- ÔYè= \9ch\9a®ô\ 3:\89²'ç%Fª\1c£W\8b\94XÃÏñ]¢\12\vs]¢\ 5L-\92®Ñ\ 4¨¶ú»D\1e\8e1q#X\10~Þ4Ó0+\8bç\9f\9cE,¢_Îw\a¦\97\89Ú\95;'\89£r_°r\8bJ¢Ü\11\85I¸#%\a\96x\e\a;pG÷bC\8e\1eÁ¾N\e'Vj\85·Qà\8b¦\82°á^Mr\87
+·H/~\90\7fçí2¸\r\95\80\8dà{bB\ 1\v^Z\9d¸\82tÐV\0qÓf6Yy\12â\88æ<Úw8Ê2>\9fÍÛù¾E\19      7ï\87&\83\18\ 4\\8c\12ô\15Sï´ý\88\1f.]\98\1f(ñÆ#å\ f0\1d\ 1E\16Òd$áÄl4BdIöùAº \97ó\ 15\ 3]\94ÖdäâmäF\ 4¨lrâ\rɳ\bêeeؤ9tAm"\1c\8b\14"£ERÁ2³\16Y4Y²Ìj\0Õ¼\83û\8e¦\19s°¹\98O\7fÐA\94\84\90\ eù\bêK\97\10Y]\97cFCOÙÓÈ\98i\12Ç3\0\8bÿêÅd˶NÂ\ e>þ%\ 3×\19Ë\96¡\82ðíoµ§AÜ9\85Üp£1È«\18æß ¤\11r¨ð´X\1d\9e\83æº\94Ì\82\1f¡R=\ 1Çf[òûaè5\9få\18;®ý§\840\8f\{10\9cm:\aݺýÁs¸\r\1aZ\19a·Hy\13ï\9a\ 4_s ×oyóÂ`)\ fí»\r\91Áû»ù£³'\1a\ e\88¹\16Ò\a(õú\e\12»\85\ 5ú\ eÞ:êG\93»\aþ°¯Hh\80ø!\13jg{\byfÑ\a.\9eêµX*\16\ 4ï1£òµ\8d<#±õS
+\r\11\17\93Õ^\94Ön\b¿\ 2i£ÄÍ\92¿½\84ÒÈÑüÀ\19±þUýÛA\9f\9bÁRѼ\9a¦QرJ¡¿êÍ\r\O§¼Ôgo       ÓÊ\94\13ú\86Éü}`U\8a #\90\1aäS\1fºTSp¶f\1aüÈJ¼¼QmÑ\13y\Ù\16DþĶ>\aÖ]\r\ 6\16aʤ¿ÇõK°Ô\12\ 3c19²Æ¶Ù¡ó¦ \14#\85)àæn%Ý/\10¯\98¢¾@¹¾we|À\95ó's|úå|\97\ 6æùüE|\8bØ\ró»ú±\97¥ÀÈÄ.\17½Õ´¥\93ëd\92\90\96Th´\10Z\8dª-P\98\búÒ
+ÎÒ@ì¤\81D\ 5EU<\83\0@ZÒA¢\18¶°\ 6v÷#åÕóÅÑ\3}\8f\97}\8eæ.¹Æ\82 [j\96\82Z\98¾T0\15Ly\9b\90.8\8b\82\0%oïïÿÿÝïd .9Ç}ÌÞoÁ\9eù÷îÚ\ 1Ým¶ël\8e&¾÷d'4Í\99À*\ï\7f\e     \92\12c\97$cUk¿{Uódl}¼\15´\9aǰb|Û\89©ðè\990\86`²Qé\12k\vý\8dV,\1c\91}yU¬7¬9O\ 5h/úfa6xÍM×o\80,'r\95\81\9d¦¨ê£~p\80ßâÎlÎÝûä\82²§?¤î\1d^h gÖ(´ª\83\97Ì\89Ô¬îÿ\19\ 3?\1e§uª)ì\ fÄ;§TA½\81ÊçkÁ¤+]aÚìÎ׿;UH\19\139Ô'\17)vÅÎ\98í_q
+×JvºsÂt\1a¦¥â\80DA\13Ef2r¼r\98\å[\91\19\13s¸­b\18\1e!ãº\14\97e\ 4á"1\8c\15ýÙ^9á\9f\96µ¢~\98_d¬\1aL¾A&\90*"\16÷Ã'Åû\7f¨Ãt±6áε5ööl\1fkäæTbm½Q¿q\8aã>©\8cR»rñ\18ÆÓ\80F\15ßÚ\99îÍUlE¶¥,Æ\ f\84½¢Úà~¤\16õ¼§\8deoTQk
+÷2¾\1e\11\8dÙ¼\19¼þ9ô.Ó\84mAÈ  \107±Ý_êÓLü[oz¨\9c
+'f«½pV}ûÐV}Û5\9a6\83T\84\8ey6¡B4ѨËzc\9f\9e¼´Wó¼\12Ý\1asO6\90K7q\1eCÃì!Z>¬º\ 4°Y\91\96q<4µ\b\9fÑ`a\9dâMM0\11Ó½©TÙó(ÒóÄÜ\8a§¿\1dwÃyNG#jÇå\9a&R£$\14SXÚ_\14¾¬fßÊ\r¬©ù^á\83'î×½*á\1cl>¶Ð'\8b³õý\90\b\ e\aUo¯Üßò\92|Ï^\e\9fÌMÌlÂy\1dìÒzíÈõ\17¥\ føÔá\87Ý=AòÝÅ&\19öL\0»#ï>\b\91
+§Ê\93ü\8c\9e#R¿%³ï¶\19¬4«\9d\7f\80ÚFm\91F\7f\83\9eÞ3Ç M<ýÉ\80\ 3û&\13\93&\98à÷¨3ÌR4ù\80\87¦×\92s×ìzºòëi÷_­\88ëc\95\f®Á\0\91í\1cûÌ\91ØZCoì\89!\8e×}C\11½¸/\8c\93\\14]g®H\10â8VÇ\8e\10\b:àe³s@\8a\17\8e\90(RpVcªyÏ\9b\98\7fÙ,\1d¸.\84Jo\1a¼5\ 4úØ\ 3\91ý\19QkChæÃYý+,\80\92\93\82Ñ×\988±ó\81 pYÏ\aZ\99ÐI\93¤Ù[,Ò¡\8fF¹G\12\rI\1a0GF ÌXM*x\83I«½\7f&ªøÒVÛí"D\ 5!}ky2²¤\1e?[\9c\83%r£\84i1æ\89\901\93ÐcÏ7V=ËuV\9b\83pWHó\13Yö;\96ü\9f-\92\15\97¢2¾\1fãé       ?a¨06»°Ð\8f\94O¥²\14P\11
+uµÕT)Iù­Î\89\15íeP«k¿\v\15T\88ïÃ\84»×\ e]o\91\1e\11YåèFÌõÁË'ÑÿÓ\16$Îý\87V\7f=b-\1f\1a\1cµÝ\1c³}®ýÂÑúz\11UÈ¥\vE\8fÒ\86\11Ôþ¹\f1éÎ\9eÐÖ©/§GË\99]é&Q6\7fÚÁ\87µ+à¯Á}dI;\828d&rÙEãËñ\13õóÉ\D^(ѯ\15\88ÚÝ7¿Õ\ 2\1a6tb}ïà\9bcQ÷´\ 5Aw:\8d\e>Ý       :á\84\91\\8b\85\84¶º\94Ú\9c\8dÖè˳Ö\12ùºö\9a\84\8f·&\ 4£u\83cï¬\83JzýÒ[E£å¨ÂÂMÐ\11cDñk\1e4B\82îØîMìëÎ\ 1e6P`áÜ\924\1fèî\12EÎé\b*W߬?!ÁÃÍ\ 5Æ6\83 ß)\8d\ 6Á\88f\1cWvbnýe¹X÷0A   6¤\86¿ë¥ñ\12¨ÿXY\16Æ\1f¯¼3\14ùkòÐ\96ÇKb\90óß\)äÇÀQ²\b2vc\88ô^\915kdSM=¼#5ß|MÒ²r \eªcû\8bð\9b\98[ÇùÞ3¶öBnt%þ2Úü:\7f\8a\1aÞbv¿Ã"\10SG\r\82W\83ÉÛ\ 45ö£mþÚ\97ÞüͰÚè\9aÚ×ÀÔ\81üZq\17\9d\1a\:ÎuÚ$¬¹\0&?²²º\89Ô}9¥B#^)j
+F\97EÊÜ\19²½y\8d¿\7f\96\95Î\9e
+û­«â\êD\8c\8bÐè\84/¿è$\82ó\13 äÀ>»²B\9bÅ\10Ýí&æH¾Èç\1d\94î¡3:Ñ<#rr\8b\9dh\ eå¼óNS¼hÑ`b\84ïã¡\7f#\9c¼ç,\9bÈ¿r\9f\vX#ÆjÚõ©âý\95\1d¼\93©9\9fl¦ÙN\88Ðê0ÑëË\88\8a7ÞG¾Å×o¢_Âu\93X5û\eäµ3ä\9c¹~\8e4\ eì÷Q-wî\817âô¦å|_c\17ìa\175\ 2oK\83. ÿ¤\98Ó\1f³Á¨      \17©\95þ #Égé^X5uFMðÙɸB¸
+;ï°\95Þ³uæ\99º¶\95\9f*³D×ye%øÇñ\9e\15xAð[×O\91\f\96\11w\8e\ 5¬©ÐÑ\92 ÒË\87é\i
+\87\e\11\9aéYʯ\ eá̦áPT8ì\8b\83fn\1f\88î\ 1\8a=eFDÿsS\8dì\9cS
+\9df}\8d\1c\82çÝ>wê|\ 5Wÿ\9ex3èO\1dÀ"H3çÚEÀXmÜHÍ\1e\85T\12Çø\8c¯ä°ÔåÒRuQp\90ÍÂu\9dqèI©×ík\8f\97\98g\D Éç÷×\1cmï+\yûÞV¸ÐÞòµÆø7¨¯é½IÖ/i½Jì@\95ú(\89êo(\89Û\81ÒëÈÀ²À¶§.\98¿0\91Ó\1a\94£±6\0s8¦\ 1ÅÖJ\94\8azÝûc¸\ 6\18xì-?)\ 2¾\8al3\83ºP\v n\1f\94@ÜkÞe7Zñu\9a¢<+\ e\9b§zC¼*\98#\8dwÂï`vàW8Ðã­\ 1_\9fIPã±òÎ\89<Ô-5G\14Ë\ 1Á~"\8b\82*\9e\18ÙÅaë¼<¤Ù7ûDÛ¸M¿°\9byÂÐr4\1aU>\18È\91[/¹\16c En\18\8e
+\8bKI\96\9eÃ\16\83#ܧ#ºNWºM¼êmýÄÛÏ\96g|y\9eæfNº\99iî1ieb\ 6\9eËg\14Ñ\88^v\17ùK+\ràåM\90¶!\19Ì\8d\8c\84\ 1\12úæ%¯É8(æá¾äöÒ\9d°1µ4ÑïË\8amRn\9dñhï©a½\1a:R\90}´@!ÄÖ? ó\ 35\1etO\14\1cÙ
+ÿº`\92ÃÙ~Ú^*\96\1f'ù*¿\1at\88\ 6£É ¼[\13\9a\ 4m,\8fv\18Ûa<*óg'S      ¥R±æ4ï2\ fü\14\1aüóL\rØ?&\ 4¿6 !~J\14ÑÎ~l\0á\80ª\avu\93ìyµåyI)¯FUX3¥\ 4×Öm¢óÑøØ\r=\10`ýn\ 6?\1av5\f\958öå\1ef·)\10,Ü¿¥oÿÖ@e\85\85{nD¤·ñÍ\92³îGÌù~4\fo\ e
+ÿ\1a´÷°\9eß;\8fü\8aA\99Ì£\9bÞ\9a¢\1aýĨkâDE¯#\ 5z§PתਿYÅQz¾D\15\85\98¬gʤ[ÕQ@²âC[¶\95\rn\92\198¡6«\90¢Ýb/µtW\9a\82Áêj¸±»¡\84¢Ç\91\e·\11#\èÊ\90jj¸1ºØ1ñ3PcöΦ\94\8fÛP\8få\10\9an\98\83\8dØ64\8b©ÅUe>Bn¥Ý­\1c\11&´©¹]N
+Ên\97S\84²\9bØÛØ4ÿ\1c\18ü
+5cÿ*8tþÜ\1a{âd\ 2U².\eZ0t¶ÈÎAÀÕðâÏÁoóÁ{¿wà^\94á!p\bË´sd.Fp\9b\98\80¼ì\10¤Q=Ûé²°[õ\94\90[ÕºE¦\9fª\84öÞ.P9\86/\16F\14B® A\90\7fçFKC¾8mî\ 6\87\f~\92ó]\95\92áô\18ô¶è×|ý¸×\8cý½     \7f\91\871¢·¥¢¹\9a4nN¡\eF\eEíÑ´A´>Î\12ý\829øÕJ m\82öv4![.ehµ_\ 4f^\9a\18ôÏmáÓî¹ZI\ e\9fãûô\90\15\ 5J1´$h\ 2sf\919³>A£ÚªP¤M\9a§J\8dÚf
+fø\e´\e³\e²ÿþsFÈ\15\13²G~\ 4òV5N[ s`¯k-\90:\1fs\12ÀëÅ\19\14\87\93ÿ\7fª\@\88\82\12ü|w\f$$\86x½¤åhñÞá¤ã:b­h}£TK¹q\18\18ú/\7fµ\96ÆmD¤ Ò×ÍÛ4ß\8d \87ò\92R/\7f"Hü«ó£6ÍÌÓ+\1dÅA\ 40­×ã\rÌ_Ôö­IìD\93>üq|&$\13s`\84\84§º\\9bàÉ\8dQ\ eOnú×äp¢Ù´}YÍÑ\138uÇ\84\ 1¦mTö°V\86é\1f´l\15\r¨+@¤fGä\93Ò·F-ÒÁ¸\80ð»ô\ 3\99wÛ#\1dpM´\11Eéú²r8PLA; 
\ 1äâÉ:Óõi(Û\9eê\9b\ 2\94̰\9aȦàó2× \917,Fe¢¢º«~2¯ok¿R­ÃTZ'\811"ùÚ\92\1dÓ!\12£F\8cÜÑ\8a)W\15ãM\adʸ\ f\1eû<î?\92\99M\0¨\9aþT\fÑW\8fÅ  +É+ä\9d\9f\1fkk»qG°ÓФ£\ràß*¶eÒóÒ¶@»t/iS\93t<ÙÓ\8a¯\96\vÒb5o2ê3 fD\96\9c
+@^IÑ+îèàR¶O\8b   nuúÙ7W\199ù´Ñª\93|\9f\14*±Î#å§Û\ 6?\95n\93¥\9e\af\93F~J«,\9fÓõ\1f\8a?_Ù´TÙÍ\9dë¹>À\0´þ²jhܼ\99³gW\8dX e\89\88¢k6\8b¥VLÿ\7f\ eKû§A¥ýÝdzú9¸³Àó7Î"ÉÈ`}Íe \11Ó¨Ø\ e\9f§\e G  \bö\80Û1AZ³\8aªêâ\94¸|èÃÿÃ¥[íÃ\99[L\84\eÝÆGÃàÀÛêÄj5±\108\ f)Y=tØ\93\1f\85#\13øC¢!k\1f\f\89¢\ 2m?xçF¶·7:lBô\ 1
+ÎÓ~\8fù\87OÌÑ\14\ 2ôkMgÙ\ 6ÇT<õÔ3UÜð:»\13qg\14©ÃÒÆÁ§\ f\fG¤âÍØ\8cR\f\7fb\8c«/+p\9bÚåvGÒ>úvà¬\87\8aªþöµ\88ëY.cÕü³Qn](o×°\1a\&\98¾\9e\14\95\9c\97\87\8b\8d©\93\81u80V\ eU9S\8a\8fÿ\14øM\18\95Y¢)Cßá\12h¹Ê\8c­¹.\19¯.ÇúÙ^^TÔjþÅ\96J\14ù\f²P§ò0\9b\80ì3\97ì\94,4\95\89\vïK/\ 1ÂAwìf34\9c\92UíNrbJ¼`?¢\85\84µ #\ 2ç.ϰ\92°YB¥z;c²\16Oéjl\ 5\145\8a5¥Çêí"öZ½´iÅ,>¹¸½e\87\1an3\97ù\rÜUl8Ó\91¨Ñtq\19Ò0 Ì®lxÀ£8E­8rO÷OÏ\1do\92I\12¾Ã\12ð±\0\8dÙ5wÏäÕ6JýÌ\13\ e\14½9ÃG\85\1aÁ\17\18ò\a'pcç\9d       }\96\84¨à\15£·\81\1f°& }\ 4\90\ 3s×LK\17J±]ÂçVT¡\13\8e¾+/L\99¿\196ÂXÀ>£ÌK\18<.ºbù\ 1©a:\16¬±©\f£\81\8dÜ1\8bÐ0B/'øÃÐ\99\87æ;ÿòΠ  .\13Ú\17òð²_xn\93\81tL`^Öq\95óì³×Ë3=j)Á8\ 14±j±\86\9a\18¾ñ3\85\18ÚÆ\987\81\12=QdU]Tg\1cÅmé£j8Nç8ÒY\ feoyï\93r\9c×µ\90ÚÃb(üCÍ
+;î\19 ¥åsTÙÁVxA´ÝÊ»\83\81\1aÅÖò\12ûbï+\80\1a6K\8e&\93¹\82w®ÎD\84î\0\eÃ\b\1a"\Íí\ 4¹®\1c¢A\98\9cP½eâ\91\91\14[1Ü\86A\84?\R-¤\10\94Ó¨G\1dçõ[#öÑEí\11\84©\16ÖP%\97ÊWB{îÆê
+J\ 6JËS¶\88§?bT\7f­\8a#Ü,\16bÞ'í\89\9dDR{Äû\f\92m\97ÿînh\9a|\8ag*éXÛ\8fxG\r½$P\19\1eð\92°HÉÜ6âsv\92¸fýd¢\ 6Ð\166øBOnþy¶\e\87§ýÂÆû»><@Iv~dpÀÝ\a\1c­æ\8a2¤$\93\95´;¥,¾iTÐѽ\9a-\b&\b5Ú0o¶\17V\8c\82R{\88\8bç\e\ 26OÍ$\9a\17\92`Äü9\ 5m\86\9a\15\ eÑ<P%\98~ê8¾t\81«è\16Í ½Ûi»È\959ÆÝçw\e¡\0ä"r"ý\83`CÔ~'õ\1d\1c\17\f«z\17q\15\15 \91XXÛÞ\7f°ê z
+o'@/6\15\ f4ÎA\14MÂ)d\ eDUì^a\e¶û#\11X\84Zr\v\7fjòî%8dY\7f´      '\9aÎ)qÖ\82pó¶þñ"6\8d\7f}ap\eÇm¥~\93-\94v}hââ\90ÕXb&\11\92>\17Ñ\8e\12¸©\ féC ÷<.µ\99ë\98o+cõ_;\9a\ 4Ü·¡*\0\1aGó£\98Ñ0\8a\89\80ê<tèÂ_ükU_cæ\9a¸è {áFîÕ\8fõ·wàÜ\1f¾È\ 5O´¥\18\85jòüÊαèðc§\10\94çTÄù(©U\9eýi1:í*IûÌßß"\0²Áç\87vzÃ\82V\7f\9eù\8a\ 5íi\89î$y.\92z\9c\19\82]>Mbæâ\8fÑÒ^\8f£¬XïÏÀ"Cñ¤¥}\17\9d\14[e:¬\7f±»½f#\92²ØoÒÃï\aü½KI-£\7f\e\aÁ^2\94æ/¸û\8cµ\10ÖòX\86>\18¹\ 2=\ e4\85ý«#Ðïß\16F\88¶Sª,Ò\8b\a×\8f\18¹ä\18¹äo0é<³Ð©{c\80\1dåñ¬\15hL§P\v\90\19er\r\99\b.GÖZX¨ö­æ¿\ 6\ e|\13    \12\9fÚªó°\951¯Æ¾¾*8h)\ 36C\9f\891ò9UéJ¹¸\80;¨§¼Á¾ÈmcNì
+\94S\16oxÞ"ÔæÕß÷ëg¨\9fÈÏP-\92l¶Jql\94ëé\1agd\16\85óDÅr Ò!/\aËO¯° q)
+\19õ\92±\1d[\11¯\18ö\93\90×Þ©'­\81\ 2OZÜ3\94µwÜ\8c¬\99ùåt{h\v?¶Qy¤\7f§\ 3\91í_ÈÏáh\añØ\80Òay¤]çQÀVµÔ^Î\eÛ¸ØÅ8o¸ý<PÈnî\97\f,é#;\1fç\ 4U`3Xj+Ì\84E¢£ý\8e\88\8c\ 2ó¦\17»\93ð¢ÍñáÎ\8f\ eÂÑ\0k\89\15\1fç\bð°Ûî!=»OUµ\8d±0>!¿Å\ 6ÆÐ¸\99XñÂ\7f
+ïÀÈßLsK´Ç\1a\bö½£\ 2x=[\1fâ}\16eÆ}\1c̾`\86zè`­\92µFÆû±ò\1a2>ý÷\88Ý\v»?¨zQe6*Tls\1f¬G=\1cÙ,\ eº\19u\8cóð«'Å\1e@\890ÜY6 â\19û*¤?Ãè!=Ý×\7f$^öè½Ù\13\10\a#Û9\90þ\7f@¬~6\ 2»æ²\8f»xt¤\13cozð\8a\82çudÜ ]sù\17q\dh#8F\19Z\ÊÓÈc\8cØ\12Ýá\ 2\94O\r^½V\1a\ 4øØ¸\86PmÒöx%\89ET\83G×÷ª¬¡aô/²\17QpÌ$Eñ'¸%\e.ÈOÖFsµ\7fY7ö\12º\e\9a¥WOî\14¤»õÏiö©\81ï0Â\1dæh\13å9qÔN'¾T§m\13 I÷øk\b\98 å¢YÃ\8fè¦zT( Ú~ôË<\88ý\ 6`øv¦O¥Òe\8f¥\8d V£Î/[åBY¥÷Þ\90i\8eô\vì\8e\9f4Ñ/Ïr\1f\9aU¸.©@újv:¥    \8b裫ç`}B¬R¥êz¤hÓÔ4Al\9fÐi\8d\9d\87='k+&\99`L\f\82K\95\1ar\98\\9cç\bzÏvé</\1c\ fð\98ÝR\7f¿×\1f.`ýÇ_+'»á\14%ûÌ"id¶¥Ðaª2þ·ùæ\v èAÒa.\13m§Õ\1dH+¾îõ\86u\8aË®J\1c\9c¬\80\ 6\9bvøû\ 2
+¿\8e\83"¶Ø¥|<ºg\9bº\86[÷±Êd\11ÆÍ\93çÔþC\9c\9e\1fÇ\8d)    \9d\86\12n9ðré\82òòz\99\82ÙCª¥y]ïA\93§FÀ²qv\83¾\84àÁÇ     öLso    \93ì\r_ãà\1a\ e\19{ÿ|"¬ûá5¿9r,ñþnW\92\r b4\ 4\eûr\93(Ǻ@à¸]\929Iô\16°L\98ÕgåP\91ï\bí"\86\rç\ 3Vîz
+P§²&\a\8aßÁ¸­e\96\13ÑA\92C}_õË1!Úøyf\99¯ýèeZõJìÌ=\ eÜFU'?\8d%\9e\ 6\84\99D^¥\87Ê;/\9bFé \82ÃD\19Õ\ 4I\e\ 5}óxÔ\16\15\13ñ°>¯ ¸çV}
+Ç´\81\ 6\9eæ7Ë       ïÏ\16\17À&;P\9eÿ\b®\95\93\92\8b¤¦(ÈÑü
+ñþb\81\9b\8cE\1cFãM\7fÍ&W_ÂÓÙ*Ø\10¤¾\ 1(wôCL\7f\7f\ 5»«ä·\9d8án×ÐWѺ\f$>?_èYË\e\89o(rd9\1e\80Zõæ\1d÷}B\ få[?\10 W\1e¡\96-h\95ªØÜyåHÄa\91®yE!\83\93\8aÇC\90ä\9bß\93\18\93á\19Ͻr\15ÜÜ\92«å«RÁ7Ea0Q¯dÖM\95\90H\1e\12\001ªÁÂ\eÛÓÏ4\12R±@úf?_Z]ð\9e?\93.\ f\ 5F8h\9b\ 6{òÜ)ZbW¬ñ\ fá     2_%Í\86ïkL¿vE!gx^jC·\90\92*WS¡\84ôObu°\87x×¥4ÏK\85k].\e\ 6:O«J\11Æ:U\8eK|»JÎ\8b­óR\12:1MyÔ\vhymðI¢ßÒÅe\82\1a¢\ 4\80P#ÒÄß­×âS¢)Ñ\ 5\94\10\8f­U-lj¶2»\12\9f\1f~RM¨\90\90mr¬tYÞbW\83\89\8fs/\99/((¶K¡ITùÁg\95=&ÐÊݾ:McÐ\8d\90\11Rö[µtÁ¸b\aa]P®\1d~=\ 12'$\a\94ù^qA\8f7K\99Q\18[(â\1a8>T¦ØëwUýEz9w¿]õ\13;\12NÙzç\vª\10­)Ü«L.\ 4Fä3Ô\87\ e_¿ÞÒ~ößfhѼ¥ªÍ\92\88å\8cÚ6\ 4±[Þ!\1e\14¥\7fzl<\1f\94ËÅ·=TFß|\13É\a>u[5\9fí\84æJ\97ܰZº¢­\82·0\93/`       )!\98Cö[\84ý\7ffUÖ=:5Èú\føÞzæåÈ\8cå[H    qP$À?\7f\9fø9²\1fÊ&x\8bÀÑï2(ÞÀ»þ\94Û\114^Ø]n7\e\8d\16ØM\ 2¼MðËV¼\ 6ëQS
+\ 4§\94¿â=\7f=rõJ\1d\10è!¯«ëró¬óUΣè\rjI=0o!á}>\8b\8d\84h¢\\ 3HLx9[Ì\18ðú©B\927\9aeQ­2±ï\8c\92®ûvhXg?Æd\95\0\byáw\1a\9b\8btäÉ"N°äwnÀ\93Ü\8eÂM\80?\86 ±\ 5T÷~´g(ûé¢õ\84ýû\142\12
+8#[£F\1e]9Ö¥\8e\ f\16µÀû\86Ʋ§\92£\83\81,y\89f\9c\97ç\1f\1d\17Áx\84\1eï\9cüY\93)\vê\881\11s;\13\f\94¶J+\97\81\8b\11 U\82¹.>\13¹\86÷{\eª\10Å:F\ 3¯\a·§¦>4\959¹¨´\bÒ-,Ð+Ρ\8b\ 1Óå[ý¾Ì\0Ê­}à3ýz½)Éìáæ\e')øåêG.¾÷è¾)iþîT ÌÒ]\91:\ 2~£gàÐ\ 3XÚa\18\1aUÙ|1"q¿nH2ã\9c:­pM\81&µã2Gèæ:}·>>ù\99N¤3P\10@j\8a\v>lz8Ï£\83\88kpÕØ\83\88Á\9b¶.\v_Ïz]¶\ 4Õ\1a«3î.\85\94g\81/\r÷76Ç\9eâ5\18\97\96\93çª\ 67Íjº%VªÃÞs_mÞ\8c.\81dF&Ï\83Ü5ö§Á¿1\94k\82ïi¡äü¬aw\b\1f\84X\84q\1eæL÷\1d\81\86\18\96ÝÈIï³:â\94\rØ)æº\92äAª\14\92»Ãɰ ¬\94<?ø5l'\b\1dÖM0I2øSÚW©èÖ£éoþ])}Ìì\8a\ ei'[×\11M¡º\v\80ÌÐñ\0ÔëC\8dYã:_[\99\82\11ó\82¡@\v\1e1AÉB\98qc\93IÁ]\99%Jr·,\96ns]±¸Ý Z*\86Þ«È0«\1ew*:\88Öö§d6m ;*\14YwGeGµÖ\8f\85\ 2\amêÀ>c\0 UÅp}ÍØ\ fìT\8f\7f¤âßä\98&ñ¦ï %¥\94\17\ eC\99CÏÐMôÊÞ\80îÖ¹u8\19/mv\96wüÐ\7fìüÍ\92éq"e"\7f\16g)\8fåÌ\1aÃad
+Î]À\1eèäfߥù«±T³r0\9f+ñò9ÏÖ_ì\17!ù0{2ô»Y<\9f\11\83ß+Å\84¾þ$\ 5ø\91°¼;fѨ¸vÎ/æó®±±ñ´s\ 5ïÏ\17ønx\16\1fºnwr>ä{qwbCw~\96\7f@z¾Ì¿WÁ\aÊê3(ÜHø!ð-\1fóf\12¢\89ÙB¥ëä\14\9c¿ZúE{gëÿ Økú\9f[ÄÌ\b¹R8"l9\ 4Ï\9f\vh\8b\1c]Qð\86\0\97N¿ô¬{ê\1d1\1fç\8aÙ9{ë\rôÜ\85\ 6\1e}x\81\8f:DÁ!\81Ð\£òÅ\´Á£diæ%,\12TsÐ?b\10È\8e :É\84Ä,3S³f`aLÊ\11äߦ4\ 1uËA\97s¿É\11A\90\80!LrroÁ@*Ñû\90 ·ÿv!\15ºá\84Ië{øz=ä\b\99Eµ]\ 5\19ê\13õøjèí \ 6\ 1îÒa\93ª¢Þ©lÕ%\15\92rðØ\97Iw!W\12ð\f\9aÙ\1aK"a"^\13:\1fh\vs¹ßÎܾÕÝ\99;EåhõYhõô\ 1¤PdÑdQ£êl K\84¦\16\8frôoðÑ\88¿v\8c7¿Ä:zH\8bcý¨e\ 6\95Ú¹Ù"ÁËé\18û8a\10\94ô\91ýÀ¿\91Ô\8e¯ Y\85\7fÖ\19\1c\15\f\18\14°Ú\17÷Öå©!ÎtÝ-Q¬Á\98ñÐ,³\90órÔ|Ä\1d\b{ÿ\1f\85-wwJ\10\ 6\16Szº¤º\10ý\89Ü3   Xø£\10ré3\8b\8c3.\9aEÚg\12*SátpÜ_\ 5)Caë\8e³m\17ªI\80\8c)­°¤¢Bòf9Ì\ eau5\9cXÜÄ*\97Q§áT¾\b\99à4òsãÁ@(cåîî»áGòý;òìC8×ÕJ3×\95\92ã±U½¥\93ûlT\8c\0\98¢eÜz9\13\82\10Y@\9b\8aïí©       \8a\8a\89õ#\86\b\10µz¥7!Óò\82Ó\8fõ\8cϾ\8fÔàQ«´jY\1c\927]1H\14M
+÷Þ¾i\12QÀõs=(\91\17s¸&ª\rôÐr\89õø\0BZþê\8d\1c\91.\84\1eÒéÕþÔî\8eJú­~¾#Å|_Ykr²gû\15\a\87\ flýlG|ø7Ūê\91mUÕ,\8eÊë\15!ý×Gÿ\fxzM2Ë\85νóT-"(ý\94÷ÊkdÕ{.\ÛHf$b\11?×¥\94Ìç¡øFã!½÷@o\a\84kGÞ\85\96!-\0¸­ÝdÈÍ\9c\96øGD\88\vp\bß
+´!®öž\18/\7fmwÃ\7f[\80¯\8d\88\9fßÖió/\0À'Änì÷0c½tîÏ\8eîÏèwà\1cºýÌã¾e6A\8eµp\80bZ©é\1dë1åæQ\vÚíª´á\82 t4pj[»ð\fòr8æ\1fThh£i¢T׸\8d¥F#Y9\17\15¦u\11ï\1a75±æ5ä\14ª?dií\88u¿|J\95g"ÓØWÏ·®}\12§Bè#IªºU½Íäé1\ 5P\82L\98a\9aR1?f7ñ¼ç\ eX]{ôW:\18¦\9b\19y8XçE        }¿\rö\12Â74\ 5xµ¯É\81\ 1°\vrZa«\ 1×F\13Û _üÿ`Ó\83.-\8bs*·Û»³PðÈ+7\84÷Ù\8bÍØj\11\95\1cÁ[\15y>\1a¨Î\9bÚfíD`\18\16ü=s«%'Ô\915xÝI\ 4²Û*/|àÇ+°q\ 5\ 6ë\fv\8dVöÈÆï\e£'r¢°Ë\8f0Úâ\83á×*f ÕRâ\815ì8mý&m.YO\bPVò\19/Z¤¤v^õ&Îp|\88\89_\9b\ 2×¾¶<b䥢³á×2 \vüÇ·\b\84Aæ·Ø.\f}7×Ô\9f\83É4Äÿèu2é\8bÁyñ'óúOe©\1fº®ÿðM{¼;ô׺ÃUJör6e\1fì\83\88Ъ;*Z\98Ù4s\18¤Ó>VL\aP¤Àâ«'7Á¿Ç\b\ f\9e\búó\ 4z]\15\91\ 3\98E\9dXc\a4\88\182\80lû$uu\9e\9d     t»ð     J\9b[©ÊU\14\ 5\86mÞ·ÂIP2\93\8fæA\9e²[Wµ|"\12b\93©.+¸0\81ö=GÔ}\18\9bb\81ë\81\13Û\8d5cû/+\eÏ÷ÅäoÆÁ\11\86\142Q\93ò|E\8e-å]\8fülB\96JMÔjñ¸\9eø4ÒÓ\97~)êÖ×\14\ 2Óð]7ñB»A\9eÛW\rÒuù\16¶ÄË\r\88Ø\88~¥hï#\7f#\9a¥ÅiÃ\97\e\b¤\
+e\10\836\15\9a\80\v­\9eÜÅÂÁ!\11cC     ê0y\88[u¹\12aÿÁÉøð\97#·dú\1aÿ\8aÊ\80¥\1c\90Ä\93Ñ;Q
+\14(àC\ 5Ó+÷B©rÝAðPÔÉ'>þÈ\13ûÝ] Õ\88Rgì\11r·Ù\ 6¸Fú\9a»\91²\88/m\91rôQr®ïÊé\89;§yÜCÖ_F¦\85'\1fãl\81Åg\1d\14¹uÿ=Û®ø\7fý\vº\12ÿþ»°\asÄ$»2Nn\9bÁh\ f-þM°¿·µ\f7 %£±Î[dSn\ f\8cYÒ>ù½>Þ­\7f\1aä`·\98\0èTý\90\9a?-!=s\ 1\1cHtØR®?·~¥³¿SlÎE,VE\ 1\85>\90ÄñÖ\1c\9f\17     jre±\f\806\\9f1øR\84^t\84\19£\fàz_vqw8b¹\ 3ÿyÈ\ 4\91~øøq\13EÿÐ#¤\vG:\ eîs\95È\14¿\9b\8cäÏ&¬\ 5ÔTp×\8e~O?\17æ(îÇfåY9S\84­$ÛÀÅ&G×öDPÆt\94¹\13\8a2ô~Ùø\89:r\90\ e\95\8eQ¨UzB\8d\83¼\8dÑ&âla/Z·\16\9b\v²\a§RÕw
+d¾ýLtR\ 2\1f ©\yjoWªü\14Þ-ÇÝä_O¥\8cùÚqÄ ¥eò\1d\ 2bº*æ\9fÛ\1c[Äç^ÜË¥,·\ 1\8eÈá®[©§ ÑèC÷~C\9a\8a"`S6\\9e\1a^       ª\84\9eQdÇ"\13\ 5ÈL°\17Z©ÀÞÒÁ\98é\16>Î`Ü\ 1D©ø\8cí7ÍÔÚ\ e¼öЩj$HÚæ\v\9fëäâ²,n\ 5Â\ 4ó6÷%o:;غ¶\ f1@ÀÈ±Ûæ\ 6ð\ 3\ e\18Ë/\a)rDZGì\1dl:½.\ 66-ýF\96tW\1fÁ_v!t­ÚØ{H¾Ð1\88-#ÛE¶Ä\10\ f»Æ4\91ü\8d\7f´y^\87\93\95ý³ºÑ\15°¤ó£Ã̲ø-"è´pñ\aõ>\88ÐSHuF\90±N8E\8d·Û\89mVFí¬A\1ff¼bj\94\a\90\9eÀïn|\12sk\1d»h\91î\eKjÀ«\fþ\81ù\v\12\17l)\15dÞnÛ\9a¢³}YC\129Êïî\18Ãïð\94°\99¥*\88-\eYOãþØ7ÿ²\9f\ e\ 6\ 5Äl\89n'¨cq5¥¸\9ftkS[\89ø\1aØvÇNQX  \1eò.W\9dS[\97,FÏ7FÖåþ\b\8bx\7f\ 1Ýpó.¤Ä\96o\ fÞ=¢©ÔK)\1erp]'O~Õ\96MV\898Á9¯íÝ\99o\9d\8dY\8fk\80äík=jÁlëó\13\89¨\8e    ?\ 1\1dý\18ö\98\ 4´)\aíØ£\12\ 3©f\8d áië\ fM\93ù\1e\8eá­v\11\87\19\1e\8fû\95Ã'\14\98\r¡rm~Æ?\9e|¿M=\8d¨ú¾~\8bÒôÑZ¨Ç¦\8c\14j¸JÉËO\871S\9c\ 69\83ÍÕ\9f/¹Ò³»sô×\94c\98\ 4JHY\97Iõ³r`åpWuaÇ\9b\r\18;\bË7¹Ó\9cÍT\eÎë\90&¯,á¯'\91ý\9c\ 5\98\1c^ÛÚÁZiwV;úZÎæ³\89»å¶\ 4ößúBàÕU\88\86\95ñRïn§ÑGí\1a?QÈ×SçÀ\91©t¿\90}ç>\88ð\10\14¥j¿\0u\11/ô)ë\90qÀÏJ\13«¤&ü\bon"ç ÉÉyé\0\97\14pdæ}\10\16Éy\báFÄÖO\0zV¤å'\9a7÷wÝsÆ\f\v\1c\12t\r¯0eàù¨>\93\1fÉθ`\eç\eyÉ¿q2\9c&àæ¡ ÂK­\1eÚ\ 46÷lAìb@[üh\8d\8dqª-6Ã\16ç\16Q²PS¤YN\10º!\80¶£\9aE¤í\92\985$)Ad§2\8fó±ÖD ¤a\8eF\1e½A¹\K\9d\1d!\81?"9ó\93tÁ¢Ï\\9b<0ë<\a¥",ø¶£&*W\82§Þ¦\18®¼Ñ]v        r·X´¢\82^\15+¨´\90^Ýw\9cã\1aÂ~T9¤ë\f\93\13b\96ì5é\90x\ 5'Øâf±npÔ¤\ e_\8cOð\\97õé\85è\1fÑÞ\ 155÷ \9a4xt\9a¨\9eT\15+\84òÏß[\ 5~3Ps¹\93pï!$ÌWê4}b¿\ 2¬yæä\ 1þÎq\88^ÈæÑ?\ 3ÈL\8câùV\1a \9f¬Û
+&\1a\9e\9bM+4\ eâ\13\8b²ý2Àb[Æ%íb)Jݰ \15\fê\84k±h\ e\12ÅY\béc\89!\8cCs0¨9>b\e\92yöÂ?øP\13\bóÍ\93\b*n4+\0¬{\97\ 5ß\9c\9ekZËH­ÕYÑ"ÑM\17Y)Áà%t\94y?\0\1d\7fü.M\e\86\ 1åy{L+I\8a#\99\9e
+?e
+aWGÿu+²4î      V\90F´³\0|á0\89í\ 2\14·ïÇ:bC§Ær©y³Q3³öé\9ab}UÞ·õM3E\fg7\82» é\ f>!:Þ\81¹®\85\976WËGéÎ\9dæô      Øîb²Ç I\89ôä~õÄÔYÕv\8d%1\a.v\ 3\16Èp\9aÁ\963/&#K\9aËêþu\8a'µ©xǽ7w3Þ\9atÅZ«¿\0Û\ 2\ 6ñ\9f6¢Re\9e½¦*/¥Ìíê®\f\18O?I\aÀ¨Ú×?\92×\8a \ 3b\8b\ 5
+l7-\9f\1f\1eéú\0\7fÛ\18\96\94yäÊÃùK¦4\92û«v8\ 6\8ft«¸\16»ÿ\1e\96\18Z´²\83\89\98\ evk\18j\8e\rZ\875\91ËTs\9dÈ"d®ÉÌJsÏã%Ó\8a4\9a/x\9a\15¡\96\b¸\9bEÿQBÇ\89\9c\ 3i\8cbJ*\9f\91\7fN1é\r)Ì×\81+C\ 4\fûªã£è`)óø¶\8f2Aûü?..ý
+\84óú[÷<\94¤Ô\b\15>jÿUHÒYyÄ9um1ûZô\8b\ f\fS\14ã\8dµðC0*Ç\9fs¦Å\93=\ 1\18\16\92\ e¹WsE\8b¿îCG×íE)âÅ\eÿé\98Å\93»a\8c\18\8c©¥Ì\8d\1fütú\7fÐú£¦\ 2!VýÊÇ$ÊÍc\84\8e!~¹À^4\89\91ÆßȦíÊ\98¶*\8a \fÌ\86êÌ\96\86ª\84x#]ÙÞ¥¡ÛORÐ\93>\9ajc\12!~èD¬ÎÐT³à¥,9ùÍ1\b\9fj\11%Xľ\ eSt\81ÓÍ        Òî71l\93\ 35\9aOgaÑsÛöà:ß?[¯È1v[BL:ôÍ\ eÓúæ ü¹ªUX\83ñ\7fÓ¥kÕ}®ô\98Ï(å\81\92È\82\8c\17\90\1e¶%\ 1é\1d9~@gß\16Ô\80|Ϊÿhq\14oÈcdñ\b÷ø0¾\7f¾åìØög$\b\9e\b\8fob¶þÎ\9a§d<û°\82¢ñÍ@ä\ 1\bA1ò\96z\1aÞ2Ñ\95ìêf\163J\ f\ e\9e¿\ais\9f6\9d1\ 1\81\17ì\96ÌCÿ7£ûb\ 2Hùüï[·\9ae¯äÎtTòþ\9a\9c\15ß¹èïé\8f\ 4¼4µ>ºX<X\9a[]2tY¡f\99Tkåè\89\f\168C\8dèd\8dúz+Ù¥ly\88o«1è×\8fÓ÷yúK\1fÀê'\97ö>h¨\93_0Ù?dO\8bkÇ~\aQ|À\ e\8eðÚAwû[~Yçß4¸ÏbM\fi_Ò3r\13¢Õ
+-ö«    \r²ùmP\82å4\10\84¦ñ\ f&\17d\9aù\8c7CÍÒ>¨Ù\8eõ°RbÚ\18´¾B`7Ò&\99l\80²DÇ&cç6\bÐV%T\8f­e£ef\11\1ax×îm[\14Kc3\98\8b\87\f\86ýG?8ÅÄ-ßu\8d)'ûÕUU%U\15\ 4\84\90!$\81@\83\ 3\ 2É\ 5\81\ 2ÚðÔeRTB\0\8cU\10ÌF¬mnÑ\85P®#l\84\83\8a\ 2í\ení]W5o-KÜDÕ\18\8b« \ 4 \96$Ae\8d\8b\96\ 2[t\10T\0@\0d÷ïß¿ÿ÷ªI$\82\8dºÞóww\9bÍæmïKz[¼æszY»ÒÎo[:\eÐÎæö3¡¿\ 1·à\86÷÷द÷»[m·XÛoø\84þÊ\ 1X
+\9bý\8c\81\8e\10'¿ÜÀaê\8dÉùÑïB³f«¿ÇSd\ 2BpK\ 2\14\19¥P`Õ\85Ï\8d_¿GGP¹SuK.,ø\17\90Ñ\976\9dùÄ\82\1dOAkG\90nz\91\17\84j\1f\ 5ÍH\94nA¡\83ì\14\ 64+¬¢FI)ë4\887\82\83\99Ã\93üMJ\8d§\rºçp«áX\12\ 6\14ý(é\0è\1d\83RØ+\14OÉØ1\ 1ù~ê@ÞÕ\b\86ÝóD\84 óV«\10¼3!¼KP\ 1KsÒ:\8b©\80¬?Ü\0c\82x\12@çlô\86v\123jý\97\ 4\8f\86\ 3\fºu\8a¯ÔÝ\82á@»\86ºð\1c\12\9aCuÿ\ f
+Áâv\14à嶬+\16V[4¸¦\14Q>g\15a@ª8.Ø:\83\bÓÄCnö\16(( Ð\94\1eõªÏµyBÑ\92\14\8c@úÛ\1c\19ð\1dì\1do\18 Þ\9f\f\17c\157¤ÛhO\1c\b\89ÔhME­Í\9e¨\9eBPý   \127ù³Âµ\bùJÄßk\83§\967EQ$(\1e\0;4\b\13¢gï|ý\89Å\vÄ\8eÅGØ\9dÜ/Ò\a\r>oAÖ\98\88\10\ 6\8bk/\84\9fO\8d\1e×ô÷ïÍÒð¬\87\8cÂ\v\15!\1cKºë\12^þ®\8c\8d\ f`C\àï³þøÐs\r§õv\b5)\1f\1eUEØ$ìa¦Í³:§µI\9d ¿P/\81|=-]\9b \84&\8b*\8fw\14a8\9aV\9dS\13_\9aÛ[Õæãzkµ\96 îÐ&¦     äX\röòh\9f\ 4`\99\12$7à\ 5ó»ÀGE\95\12 &H©Rç~Ð\10~ÌÇ7nÆl«\r/ܺQ\81tãxär,tD\9f^\1fÐA\18[[\83;Ó%\a\8e,éH\1f\8cØ~3£
+hØ\81\19Z0\a\81aV+ñe\ 4ö j"-\ 2\80\86\ e\16\ 42FàÂë@Nx\0ÝØ0\vÜâ{\19Äl\ eÌt\15æ\8f°5\91\0õpb<¨5+*kEÈèª\ 4ib#4ª­Dz\bR¾<CãÁïhÅ\ 28r5ä
+7×\80 \91\1eü\ 1\e-\0\80\8cî\ 2\85Î\ 6ÒyEQ<\1e\b\94\1e¯r\ 3\r\1a\13Óu¦\84Ý)ëå\81õÎ\18\1e¿O×ÒÐYm!x\ 3p\e\1dU¡É´´§×\ 3Ï®9ÁX\1añ\86ÒüD\1ftý~\7fÁ\1aÈ\9bD\ 1\80N?¥ì1i\9e0\b\1fü\9de÷p³ODã\9a\1a\88\ 1½ì\12¯\94^f¹\83×\9cm\89\87\10\ 5\9a:Í0\ 4Ù\b\93sIlD\97W\8c\ 6S+Ñ\86N\96UU\fõ\92xB\105®^æÓ\9depågËf[òÙ\97\1eÍ\aÀÓÛÛ\12[`ÿ.å}ÝêÝÿhå\82PÛÓ·\7få\80PµâÁ¸[Áضï\1fÕ\ 6\ 5w?\88ÇáAÂëbzãE5=<PñkÝ=\e\8a°\8eTQ£¾(Î-éCt°@i¡JÈ\85Â\88´\v_å      c* \8bM¯¸@\11\81V"}
+Qð4g£àT\9a\8fbwa\1f5\1f#½V\8f®4|j\ eËu¬\16\ 4 ÷U£â\ 3\v\89ÐRðø\12`@ÐD5\ 6ø\e\r\11{\8eT_Z)ÿ\81ïd\r\ 5Þ«"\89ÉHL\90\1dÍZvºA\15Ó\81¥n\971Ãs\12Ê\19   Ïp\8dñm3ú\0ç¢ô\15óÆ\v2í¢\ 3´!¸\7f\8c\196ÔÂÓ\ f\vö\11b3t\9e¦üÄ\f\f%\ eêûÈ\14ûª5,Ƽ@h\1c\9d£Ü£P,2IÇà\ 2¥p\1fþ\9a5.\88)äSú}â·<\17m³µ\9bÅÌÂ\87\ eÿ{\16è§\ e\8e\8bú\7ft(J5^ʸª\ 5\8cßqòCº       â0à
\1c\8d\9axÊ"¸%Í=he\80>CùDyØ:\87X-s©þ9â&o¡Ã\80g(¾\90þ\a¾H¸\11¡þ9nÎÍïS1?ÍçZZY2\15\b\8dá+\92\ 6wÂÑÊ\9cpå«Ð\81\ 6t\ 1õ\ 3á\17àÌð°þ\10üÁ<Ø»ºBÓ\b\n        DmÀ\19\ 5\ 4(\11\8e\16ì_¯£·¸ÍkÍ¿qF³\9fiΧi[Ï´Ò'i]δÕ\ 6ìIÚϼC\87ãa\8b¼{\87î\1c°xáf\98¯ \82³ö±ÊÚÝã \90\80¼       \10OÝk³øG3û\8cù6
\99¿Ð\ 1\8dÁ{q\96\ eæ\f\8cAw\82\bF\98é\83ì,\c\1d\aE\96­²håvà~>t:\16ðgG\85©êÙ\ 3¾È\v3\15ßt\8e\9bvôß\ 50\ 2Â\ 1üĺ\ 1v¯Ðx\ 2&\ 5Èàd\ 1J.ÌÈ]É\97\13Ù\0\8a¡¹ûxU^\19\88ê²\85b!uvCp­öü>/\82\15¦J\bÑ3\eô<Vë~&øï\88Ò\83\16ù4Á\9eÿÞ«[¿óô×<O^\8e«}@·PB^\11z\13\ eÔ":<)ó\8fD-\178~KöÔµv'\88°Q6w\18!£§«\8còDÄÏÐ)ûÛ¿V#ÚEïÅ\0Þu(m\0ª\8a\81¦?/ÉB\e@Ø|\8e\8bö-\80\awðgs
+\9fÈ\16ª\99¢\12­\84\98\f\1dÄ\1f\81'ùö0þÚÆóÙì©¡}Ê\1c4\ 4ä5\87$¶þ¨\f°\1f\92ê\1fQ\15´ò!|\0ýÇað/Ðv§GA¾\84±|e\8b§È4\ f/NýkDJ\9eQ9\f«\17éCý\9cå\16E\88Ñé|ÿA\13¨9F\87´\14\7f\9c\14
+°ÅÔ¿uÔ*\1cï§uS\10±\10\89ä\eí,ÿ³Ê\85ÎVÀì³Ø\82\e³ã§\9d\8e tB\86D<2¦.¯µËHe\19åµNÛ\1aät\99E\8aôáîè5¢þ\1cªPkbh¯\86xßMéÚ\11?uii\ 4¢7\19L\ f\aÙë\9f\vW\8b¤+b>Ýü>(\8d\ez\ 1D\ax\965\91=ï(W`%5´Â`\94Z,\17hTvÄ\1eÈ<v\8ax\94\rE\bB§,ö\ 4ø\19¼]±wØVº\b\ 3\85Ö~\14°[uÚä°Zé½s¨}W\19;¸nPÊóÄ\93íË\93T\vTg ¬R\838u ?níF\89\ f\14)g²\10«;wøÀzÖ½ø\11*\86Í\94ø°x$ñݯ\98\ 5\9\96=séføïYô\9a\10\80\80b\9eóè\804Æãbý\87t0µ\ 3¡Ï\1e$0\ eTàòíA£íx|\16X\99à;+\85\17ñI\ 4@Ýô4\ 6Á/±îgùopΡäøÉé\10#@W\13¤à\vA\1cwx\ey-×ß7ã\ 3cçþ]\10ï\87\88æÊ\96¦<\7fh\9a\r\82|ûÁ»3¨T»>\86\14øû\17Dõ<÷¬   ðzçÅö\94wÿ\Ùt;iµXy>\95©\17K1¥\93:\17g\81v«AõúÞñe%¯c\88\86\ få'îd*Vª|0lº\ 1\83*´ÿ¬÷Ø\r\82éñà½Ðò¯£AãÆZ\84_WÒ[[»d2\15Õ-\80âì[u°ý\ 4\1dª{\ fÿvÃ&>V\ 6\ 2\92²\Rë9\17\fÛ\17±\81×Ü\80Ì4ÂÕÌþCÞ\b~ÙÆ©¨\f\82P¸eÌý\1c2ÍZW ß¸uãøb\a¡÷ï\1c;Áö\87{\89Å603ï\\80Øbým¦GÆ /fM\r\ 6\bzE3X8oÙ\94KEQ¾Ûôzv(é1ë\95~¶à\10ÅOìt\1d\10¿\98\80}þq²Ö\0\9eÃ\82Pe\14¼K)p\93\ 2(:î¤\ 1¼G"`4°Rý\b_#\aSþL¸8\86ïª\ 2\ eÌ8¨ô\16Úâßp2\a½÷\8d×|1~¡\965ü__ñê
+\94T\99Ï×L\1f¯b\9f}}W?£þ\1d_¯4Ý{©âØÅ\7fZ®Z
+@ã\91Ü\9bª\97Ú)ÕZW¡p\1dYU\9bâ-UçUÉÖ\9eÔL\95\89\16¸rñrÏÄ9\81
+ÓÚP\ 6Ü|å2x\ 4¿\ fb̳ÄQm¬^Ð2\98\1fª¾Ýgß]#ógØ<3MÖ|Sh[wK\82\1eâ:<%¬@Ê2\96´ÁÃb\11­þ\ f(·e\ 2\ 4C|4\9c¹;¬åLÄ       \1d\18\f`»÷6Ú¦OA\19\1fdt\10\8c?LÝ\94Ut¶@Ci\1fÐn\ 5ÝCE L*¯[Ì\9emÜ`Ba±îÙ\85dW¹s?µ|ô\vsg\1czÕ¯£Ï½CÈ\18z@&uêM\12z˾¬¢z¤\90=Ú5\1c\a\90\1aR\1eÀx\1f\90R\1f\0¸\87\91\gb\9fõm\80»¢¥ct]¡\0\92%\9dóÇdß k9\1dd\8aº\ 43'\ 1Sì9'­ëÚÐ\ 5ÍÛfZ\ eçs9¾u\ 3¥Ó\86üiïÁ§u\ 3%L\9fïT\90>¯¸ò|\ 1\1cª{úx¤7ØJ\17³E\ 3°ü\ e¡pNÔ|¢\9fÀåt9\90u\e0izö\18\99\e\9eÛÐ4w¼\8a¯v\10§gmÜ,Ö\85Gn=©°k\92Äî\8cR\85\r\ 4äÉþ²Ú&)µ×Â\89Æ\\81p7pÿ\11ãß\ f]PvNû\9dÆpÿÄ\0\87PTß{ÐrZT\94\7fú í\8d\15®¬\87ÄÇÛj®ÙäÙ©\80ÎÍñ\ 1à>F      D\9bÕªßno\8a\81¿Bû¦\90UìO\ 6\130·ÊmïyMËï\13âóMÝ,´{Ò\ 4\82¸@ì¯)\ e\ 6t«]Þ«(\97kÒÇ{/¥¨'»5\8f\823\ 2M»ÄùÞÇ%\ 5ºÀF ì±÷·¬(¡nlµn¡Y:\ 2u\vøÅÔ³5\94\f\ 6\9eJ\94\1fm\1dfÑÏe³
\13\89÷\12\11\8f\99§l^\9f¥\9bÖ)-÷)¹\8d)Cð\8dN\14ãØEHã8½^Â#\ 3AR·\18\ 42¡4h\1d\90ÊÝë$u\9cÀ#-\90\16\81*_\1a8&\8b²\10\ 5H4'Ù\93ô+9"¢K\ e\r\ 6#Í;ËÚOì\ 3®²!hͱ²¹ã\86Xu\96X\0\80_¬ÀÚ¡äÉõ@\8foe"°ï}¬rtl3Ì"ô(W\v¨U\89\f">Ü\85
+©ukÇ\1a7md\91©Ã¬\8b\9dUjÄ\9d£8Ù»\83\bTB\88]l 8\ 3Z\1d¼\80ç½Z\84Z\90\17õ`A\94¾èÓÓC\95>ªJ2\9c¸Ñ\1d\93Ó(A\1a>ýMÌgKºµªb\8e\81<Ãö\ 4à\84\9d³\1ccI¡Ñ\1f8¦å0}\80;ÊìHÆ\96\86û-¹´1\8f[eÝ\0\9b\17Aû.\1a\86\8bZÙu\7fF\ 3NáceÑ\86\ 38\10(`G/ss2h¶ÊB\80 Ut\9dã!2
+SU¤\83wK¾'3á\ 4!}\11HÿlÐ\82Ü
+ò6Yª\8e«Räö>\91©é\82\ 4K²Å꿨Lã§Áp\ 1O\81\9aéxN\86C=\99 vÞq\86Ù⨢ó*\ 1\9b\87(h:sk\0ª\ e?\14q\9e\86á\13îÈ\11\98\12¨`\8d\1f&êÔ\1d\8dÖ¾^n'Ö­'¾\14
+\9d2*Ô[|\18ënÞ\97ê=
+¯Ñ3ãîÅRÃ\ 1\15åÀ\90ýB|±ç\81Õ\8eF\ 6\¤¥\ fá\8e4éXÚÊ\83¿ho\88¸\9c\86t\8e*wOºR\95\bÎX$Sê\8dÍÔf\80\0Å        óÜW\1dð±yÂ\15£\81Òãë×¾È\8e\bÖ\90\85#ik\94y\eì\\14W\0º¼´<\8dø±2\81\ f£Æ-íP>»\97p¼c  pþÔ|X\89\81\15àUÅ\ fKu¡Ù\15\16S{J\1d"Õ~Ê¥ÔR\0>\^6äËóGkzf\17Èò\88 ô&V´"E;Rg\86x¡IÉ\fò\85\8b$>$\1c\8d\14 ²c\16\88   \94ï$ëÞß\16ª}Ù\ 5\vþ:+/\r\100\87\86ÎÛ]>¼QûÓ\98T\99A<\8c=!Íþ\95\88´ê¢P\98\83I²lô{7½\e¨V\0T¤J\87âMDI\98\10Îd\bD¡p\ 1¨\1a8\80OÖÂ\19E¼º]a        \9e\8ffûóSÏØ$\83\a­\ 3ö±\81C\e\12£º^¹\1a­AÙ}p\90w·¨S0x\r\15{D`Ì\13íaÐ\8ecaO vd¦11¥B%  J\8dtÌad\82\8f\12\81\r[A b\95uN\90\9dÂ\9dýN\93Z/ ¸W\85(H\997¼h\82\90\11¤\1c±^õ\88å\8a÷ÓÉåjÞß\16\14Rl@5\83®\16\16Yxb$ö\12Ô\bdN\ 3\86mSÄ\ fÜ3½¤\9fî¹Ã9\14\13ö_\ 2ÿ_\18û±\vç6\17Ï[D\9fã1\178\1948
+\18µ?5k©þã\ e\18\943   ·ç6a?©l\0eÀÄ©YÔ¶\10ÅRv0\8cqzy¼Ø\ 3\rdÔeÆØKEï\94\e0H\81Ï41ê\rÂ\95Í¿
+?ö:½\98±¡ÿýG²òw¯Þ=\97ÿËfcüåé\1d;?¤½#í\96\18½#¤gÿyZ\vÇ3PyNÍ\9a\83ÊxÖvΰ6\bý_é=\1dÁ˸b\9e\8eþ£/¥&ëÝ\90\15~G<\80«íÈ\80«~D\ 5_Öcv@Uý¯ì *î\90½Ü$\9a`Á%¨\98%Áþ²ðßûcAg\ 5,iF\95f±î'\1d®|Ê\9bÐ\16Cá{\81«B"(SÏ\f\8b×#Í\1aëP\17\1dð@\15m\94½âë5ðA"ºj\96O%z\b\8ct3\b\19<÷,\90z´r\83T³^\83g\ e²ÙL®N\8bèBèè\LI\7f"7\18N\86ýÒ\90¯ñ·\1dåÜ'F>yuNÉ \15\92(]:¬8\8eñÚ\13\89v×$\83]½Áv×jÁÎÿ2A\7f\ 4/¿\9cij\85÷Ê+\80üô\9e\1fôHõ-\8f:Aéqè3ÕÆ}0°+\aVgÞó\9dY\9c0>Ü\rûuÄÏ0ø¯Ù!
+?¨yþ\ 3â0u.ýíÃ<Û\8a\17«h\85övô\f\1e\ 6ª\17«\ 4\11ö²A\v©6ýý Û\8c0ZËú\179\8bt>û\1c\a\1c\9e\ 3O÷:Í   \8cZ®¡²WZ)Ýqè#«½|®¦Vtï\7f$É '¬\10\92Î/BK.¹      )Õ¨\f\9b\ 4ÛÉ!\1f·2  ·ú$Û\87ó'e1̹\v¼Ë\rSè¹Ú§\141\97*\84¶rQ    l¼\9a\12Ó·Ô%\93Ú¼GÛ`?£Q\8b*ïJ³âYäÝÿÏ\95­\9aôô\a{A\1e#\12NÛë0×n§î1+?Á!\80Y~»\89Yøg\9cëd%SµÛÂÉ´Ú\1fY0®¶Á<qíã¸VÙÏjË&ᦰØïEq±ßÎ\86fØü©Ho\9c@yüÃ\84qJ?\9f\89\12ýýí1½ûbý÷Ûk{\9fï\1aÏø¼µ\19\fÉC´\ fe\9cï[~\rçM­æg´wÚ·~¢ÏØ>w¹C\11ÿTQ\8aîb¤¯ÿ&\12\a¹\1fcÜÊÔ>å\ 1\aÜ\8eÏîKä~óñâý\8fnG$çüþ\8fH·îÔ÷Ý\a»¦Ôuû\8c'\9d\91òäÿ\8dmT¤>\ f\95\92ä1è¸\1eÒ]üÔ×ó£UMéRÉUm/Õ¾u\ f\9b÷¾Ç_åÿ?oÐ\\8fÑîG|·#½\e\91ß\9dÈð\9aäïwº9       î\aô÷(2\1fê/ÁîG\87·%ø¿÷\1f^ÿâ?Ǽ\8d\r\97\9e^yyåç\97\9e^yyåç\97\9e^yyåç\97\9e^yyåç\97\9e^yyåç\97\9e^yyåç\97\9e^yyçöùµc¶ÓíY'ÿf\9fþô\9fý¢\7føäÿñéÿÑÛiÒ£ÌQ\8b÷ÿ°±\10*\9aü\1e,H\90v\1d1½Â¦ª\17V9ô4þ  \13Ú.½\ 6\1e\11z]ÍìÀÇÏ]Ã\81\8c\a»ÿuè-ðî­\12\83hÆ]Ú\ 5QmUçM\82\9cÍÖÀa\95\16TÞï\15±\ 2¸PNÇÕõéun¡'p{cR¥\8e /ÒAwNV<Òn@ãF\v\1e\93v\9f§\8c>\98\89úy\ 3é¯O\ 2ìÇ\f×\9b!F\e_çÌíy3@B3\15$Í,¾\17/ªÌu9c\80Ø\1d@ñe\84\8a²AÏ©üÇÉ\85Û'>¡ïç >kå úF¹½¦ÕûZæë4õÍÖ§ÿ]§²\8cNÇø 1\vóЬ>;\8b\84ÃãáZa\91\99¬G[Â\98G\ 3X\14íºÄqiûX£\8a²B\eL\18\11K«½dVJ\8bäè'`l6\bR©ú±fµÈ<ÒÄy¥Ý¼ÒÖ<Òî^il!{¨ÌîÓÀl\11Àîø\ 4\88\ 6\1e'\88ÞTnìÞ\ 2~Èï\1e'\8a\81ÓMÁ\ 6Oil4»\9ecÊG\9dkέçXó¯y\9ayáÆæs3\bøÈù/3/3;T4ú};Î¥?ç\90¢#ù\11ñeò\99\9e\13ΩæaæUå\e̲v\99ËJµ\8d¶²Yö/
+\ 6[\17ªnj\ fc\1e\bõó\97è \85öaâ+$Ë «Ö\ 6\99Aà:¾\92\12\88\ eUD\fª\12s=\1c\ eåM\ 2DO@\83¡¸\81¡»$>Ç\ 1\91\91\8cà\18\19å`\9ezÚØ·v¾È\8a$> \f  È\86Û\9a_]Ì/Ç,$MOz\12´gO\19\ eÝ-F \95Ȭj\1eÖgöÊNV"\85\83\98[#\8f\ 6:ÜÏ^\9e\88õéìdàæéÖ\9f_§Ee8`\ 4V@\eä6\97°s\ 2\9c1\823)íCN\18§\9cRÕéÈ\9c\97ò¼¯7ÊÚù^÷\95iå^õ=¦§¹Ôêu5z\98\9a\9e&§ÿ\\aîP\88¾Fâ.*ükG|\99z:ôªðÔ~%\1eW\8cãy}\8dnïë!É\9dúß)>\8fÒ6ÑRü®*_vO\7fì1_ÿ@Æí\95NMndÿÚnë\81\ esýæî¸\12A\9fÞä1ì\9b\19\ 3\e¶úMÝpuɺÌ!&\83úÏê\93\ 2\98\eâþ.\15_ßÑ\14ÏúlI¤ñ\8f\89ý¦î»Ch\ edß¿ààÍ÷J\99\ 4\11nçä\b".#çð\12õ\10$¡åúz\ 1\13\\ 2rÉa\82Ã[¬\90ò\85ÔÜÄU\92\1fª\8a²Cù'Y!ú«\95\92\1f\8f\10&AC\18U¦iE\92\1ccÆj$ìÔX³\97ÙKÛ¬\90í\83¢\84\84ë\98\93S\ 5X´2ÈúÅ:\17 \\91Í9=j·\9c²C\18fðª \ 4Ò\aÙ\99¤A®án\ 6vd÷Ï9\85K(E\99Û ¬)ß©$\15²\9fAmN\84{\1a aP\81ågJĪå\80\98\1a-\1cCéÁX.¸ä\844X9.@Ï.­\88¸Q"B¢XóB[0\v­\81ª\8b\90a¯GXû\f/\1c\8cô"s[ö¬ëÁ-õ\b\99\9b\v\8eRÖÈã×è\16¯æ§f
+\97-iÑ\\vUIø;qYú\89©,Ù\9f\19¥+c¹\ 3%«Z\f\83\17\14À!þC\16QT\8c\OvlÞ¯q\a°iMÝ"\v\ f\15>>îgA>Þ\vÙõ |%aRÇq\9eà\92Ç|@àÄ\83\ 1¦@Wìå\19x7· l,| «\eä\86¤\17ÝÌÒìm\92¯\1dÊs?¶\95i¿l\15f\1f\e\b\8d$\98\11üØ;h¡ñÃÄQ\8a\b¦_6hk`(\89h\88\9eÊ\âm\89ÐqТdç\13dh_TVJ\94\r3\1dãsMt\0k
+Aq7)<±óZnå\eGÌÁh2W$\8a\ 1R}×\8b\1f\8c\9aÒî\85´øÍ%^\18\ 1\9dºS¶Cu´«+þx"\89\99i\8f#çá\88¸¶Ó\85D¼ ¨Ï\a~\r£5\ e8\e\ f\15n\1a\84Ï\8f\8b\83P\83MÜÅ\88»¸\1eeA\10\14{h\8b»Ú\ 4\v\0\ 6"\14\96(C5Âa\98Á¨ý\8bÃ^-xÛ\9e\11&\ 5\88¯u^*\ 2â;­'²÷\ 6Øzë\ 1þ\9b\8ejM\14/0\8f]ÂQh
+
+Ë´j\10\96õÝ\8c©â\1dã^¶Å>f\11\19+жÅ.}>¨x½¦ä`¸ ða¤¸à!¦î\88,¬0õèSô4\ fGÜOÑ\1eñÂÎ\88\e¸\f\1f\18\ 2|\1e1\83E,A\8c\7fål©\ e¬+@ÛÏ\97\8a\8c\ eçýȦA\82­%F\8d\ 6ÊᤩÀ\8d\aÌ\1c\8f/\1c\ 4\8fø\87\12=¬ÑQ-azlx¤Rf\1a[E\16\86x\15»_\83Ã\99\10\ 2*á¸\80ß\f®I\8b\81 [Þ%­b\83ÍjÄ\12ô\18Ù\88~þµ!'ýÂJVQ\8f\12\b¯\ e$´b\18*òh\fpp\86RÚÀF/@
+\vJ9=¤èFX1Åt²«ZWMéåC«ÒØ·p\13ÐIH×%}s\16îkV¼®ëÛÆ]µî-Û&\17mþ¹,\aÇ\16í\93«XWl«ÆTr±nÙp»p!t×$Û\96k¶^­\89]³/\1c\99=ÜCÒ\eixy\8a\a\87\ 4\14»ËJ\15\80\886¶¼²|X\97Ø\80]VÍ\98A\93jÌ ËDîÎ=?Ç)>\19\8bìÓØ\ eÄ\15\9c]\98lEbÌ=!±\ 5\8b\86Ä61áé\8f\18\86&9\81-b(_!ä\av =ìë\93¼\@ËØ\83ë\13\11-Ã[²[\1cÁnt¹\ 2\18\98.\ 4°Dľz½ý`2\8f©¡k      Ê顸\10Êõ\98\99¡ ®§ØÃéù\ 2L"P\\14\93*\12\99[y«aÔ¦S÷\10'\16£©Ç\95\15\88Û\ 6&ö¥       6\82P¿=Hîo\97\10Ä¥+\83¿ÛP=ÅßçÈÃë·(\9a4/õ\1eï        RgàÂ\98â-\1aTiwyãÖ\93\ 5£r\a}ÊØ\8d\9cvK&\8b®.X°¶¡+\13à\ 5\99\v÷ì\bM·©º)d=Tu\9b\90)\8c\95\1d\1fvs)î÷\85\9dC\93¿ç\86B\988x\997Ó \aeu\ 2\83 Á\ 5ãôó%Ä\9f\94\ e\112¡Ëß\7fR\15º¡\ 3ï\93\1f\ fXÆ´(\1dK
+"Á\89÷yDõ©!XKÈL\8bÎWv\rN;\87æË\8b_zì\16\83ÓÙVï\97ÜI\85g\ 2\17<ÔWµÝ\1c\10ê\10?z^n0Ð<\86b1AmI\8c\1c»i£Ø«7«\96åÛ`_Ѳ)x.\ 41ÄA»ÏµÂÉ\9cR\8a²¯\16è-OúÉ\83@Óuk\98\11¦O\8aìl\98\1aÈ   ß^\80¡\85ÌhLµ       jZ0Q\ f\ e\80ó\15\19P{d-\13áôÃ$ªÖ\18®÷m-\16ܵ\aª\ 4 /0}AØà-\8a       ®Dº²û\85-#y\12÷\a<\7få<C4\88\94Ú¶Ôù\ f\8dÌ(±¢\85Ø5\ 5¡¦\94\19q\85å÷lh"i\88ã\94\ 5:«ñ \ 4MÑä\84\14\1d¬q\89X)LÛ\1e+d\87\1aü\9b\95Õù\18=v\19m7º\8d71~\81u6¿\9aQVå\18ðVî\14B\ 2\13-ñ|p\97Zw\14J\8fË i\1dþ \ 2©~Îîl$½\8c÷¨¦ô¾Îòl@\ 4\93\95\93ÚL\88\11¸¯¤é½,\88%\8dÛGØjê\91·Z\b\ 1\9d;0\91¼ ññië+\93\eKµ²\8d~W ûºÉÊÆóÞhßo\99\9eí|{·?9e¼q\ 6¤lµÕ%\88M±Õ|\1dÀ³Lh ÊdÿU5\8f²\0°¨øv\96\8døö"ö\94\89ß\ 3\96v×Áòvë\0\1dx~\12OãR\7f.<Öª8+\11Ñþ\e3\86¬9ð¼³),\83°À*\80\99ky=í\84\18Ów\1d\88%eÈL7RÊ\97¯>$µ½g&aBòùF\9bã(ß\90ÎVjäÊM\0¤Cy\9fä.Â\1c²\8bR4\a\87\9d}þÕýw\ 6\17\89ã'´\95$ÇÿHp5â«Q\1e\91\8f~%¨\8f%ù/á\ 5 ;ß=j$æÄöf\8a0çÅ\1dj$Ò\1dj$Ì\8aÔIï¸\86Eÿq\1f\ 4H\10\13#Æ%\ 4\ fiµ£\1dr\8a\9d¸ÇpÏe\7f<?~ÿ¢âZ\96à\9fÁaq"bïd#\ 4\85\1d\8f\10Q\ e\ 3¿¿\94½o:±ÃrXICCá3lh§êÂ\8e¾\ 4Zëñ׳CÐ\ 5ÊîLM\8d\9a\90ó7Àu!\9cR×µ àh­ôî\12°Ý?n\95rä9ѲS;\7f¯\93Ò\9c\e\80h\ 3ÅÇê5äߢüæ8â\rÕ\ 4·@\ fââ\11\ 6À¨æ,¶HýÙ¥\87\93*\9c',[ÏvÏIn¶\83%\ 3ß\95ÙS9+j·z\f\e!\ 3
+ÞrL"\8f¨M\9f\82!\80\8e°LO»6óØÍPFS\1e¤\94d\ fô¹\87\88Ó\8cQ\15\9a\1e\99+à[=+7\12j@\9b;ϵo<ön@\1fwÝÁ@ûrxÍ¡Th*t9\10%¬VÐ]ÊJYaÍ-ÌÀú4\83,I\82À«\94pt¸\92M3l Î\9dA%«ofV*Æ\1e\b1\13Kz\80ß}á\8eZ££ê\8bå\93ª\95U\1c\98§°Ø\17Õ~\1cªº\12£\94ºQ\9aB?é¯Õµ\0\8bÏs\\9f uÖ\80\14\14·\93(mªÂ"üß'Ø\8dX^Û\93xäp\8cUÿûNàfõIMû)þªÑ©ûÇ\85\93Véa?+úÐ\83ßF\88\9eͳKTe\82\11¯øÜ\18Eåmî@\r Hy\ fg\820V\17\9eÏ\vm\8em]®ÕÊÄ\ 4        Þ\0Y¸a\ 1B`+\fÀk«[»\ï\eãÏS't>ÚÛ¬/,÷í}µ\13\82,\0<\aÕɪ\ 2±ÌÊ\18Àªã\1c#` T-\82¨3;BÀ\10q:çp¸´@Ü´\98;Õôð\9c ¢\85ÍO.oá\97 u\1dÀ\8a±\14c\ f\ 39*¿½}µ\0\99d\8dñS2[Ö©Q\0h\10<IÔ=GIa\86\8a'?r«j£\99\9d3.\83\f\eL6\ eç÷\99ö{ý      Öê°½\98Nû'\ f\90u[ú×Qc|~\90\elu\1d\19\84»\9d\8c\9a¯ $/lj\ fÖi}¢\9fã\ 3Q?\89\8a±.\1f\ 4!:\ 6\ 5´1uá\10y­ÿß³(l¸Ø\1a\ 3Â\e\93ÂN\v®\18Dhæ    cJv\82B²Çx×Àiß8å%\9a­¹\89è©ì\87\97\ 6\ 6õAaú/¦\ 3T\1d²Þð\8eà(r²;\812\b.\93f\8f\9fXB1~Ãf\ 4\9cä&\1e8 Æ\89\b¿V\1d\89\9fÆ"\ 6\10P\86<åfþ'ÆP\1d:"W\1f!Û ªvÑ»¼oåÛ5èCA\9fèøÇg]°#\83ÔöoÅG\17ؤ²\1ahä³+¸\18møJí_ó[¿ß\993pLç\1e¡Î1t>½b>\7f¬þ\92t\ 1úq¯\1cBé×ÙF\1aW\92\1aÒKÿu\9e¥\98Âà¯nó\e\ 4Kw\9dã\8cl£Ù2\96ÜhúïO'Øöñ\80\80\ 3Wm\0\85\9cs7¸}¶\17Ã+®û\94\95\1c\95ßs\17\8c{\88È
+_\1d¡\18\8d)\86\ f|Öz\92=õêz\91\10\93\ae­ù½²\9a\8e\ 3>æFæâýO\12\1añ!²§Ê*\81ÚvP\84\88+y%M#\1e5òÛã£\83\92$\1e\eÜ\1f¢ûìHÚ \89°%ët3§,¤K\98`\96T\8eáH\0DH\95ý\91¸ºâ\8a\1a@dÝÔ1=\1eG>\r©J¢Qq1½ê0~¬\99\r\ e²Bâv\91Û\ 2\bL\84{\8eÁÈ/ÇÚú3\9b\94¾?ÊÉ\8bá\1d\12\8bø¥`Ær\81\12\8b\84´Ùò\99\17Y0N?åg\18¨QÀÀyE~\92\ fgaÂ\16Û?aÝ\97´`üï\ 1\87nIÊѬ\8dº%A·B\85æèò H%ç|\9eT\ 3:V(\82     *\ 5°î7Ó\9bws^9\9aqw\95A9Ç6\9cE\94ò º\1eÎ\81·ÒbwÛþq5\9cm\8a ,\\f\14\91¨!7ÅF¤\ 3U\93ü[nkZfJF\1a\9c\9eõoWMæF?\0|÷cï\9aY}\ 22×¢]º\83¸ó#:\88u>Ø\£pô§¸h\ 5´\9a#H\10\18[mí5¤9]Ê1}+ÅGµA\1c)\b.F-¸\ 6ô1\10\14üÞÑöå=VÆ\ 2\11çÑî\9eÍ\f\ 5\8fµ\ 6|\f½x}3\81\96ä\ 4\80ÿbîo^\11nÑ©l\v\9fÞ\8a\ 2.àJoäcM\16âö\a\16\rB\9e¶Í\19ͼ\1d å\7f}ÁºÍ\18;KlÑí®n\1d\8b\87'upÆ\\8\8e\r®\85AÅG\1cO`ù2    ï;ÑÎ{á\9c\8bã\19\9f\aï\84?\b\98ó\83×\b\12¤7èFÊf¹ªSöT»\99Í\9aB:«J¬\e\8a¼0\10\88ëÙ\94\ 6\ 2ÜÙ¾\93Ö\82\1e\17y\8d\eÊ\89\0m><÷\1dÄ-àï¢\9e\ 3ÚRþyÎ8^ó´Z>;Ü\v\89ÿx\16\82qjB\82\16Â\15\8cM'ÀyfêÂ÷\93Ù\89w\15)þ-.ܱ³¸r@Ì¡æÔçª}NP~íN%\viE\ 2\ 5\1a\90\ 3\8c\12»\19K\1aK#,\ f\ 4YïÃúǧÖ/Ø÷FNYR:4&oÆ6´¡þQÅÞ\9f4^ªP`ìÕX\8d\ 1ÏÊ&(èÖ\91\9bAä5(K+\1d#&yÊ\ 3\em\83\ fc\18\13\fÚQR\16Ó\93\1e´u\1a\16Ô\88\ eÎQ\90(ÒwB5:u±c\ 4\18ÝÚ\8f~^¤s\f\15\12º\8e§ÂöþDjC¿cW®WÞ\ 3Ê\a\8c¼N\84_±%\97\9e\f`\88\1d/H\15Xv'ô¤V6ð*±LOé +\1eR\ 5\13ú]4.mBü:\0Y\9eÕ\ 3\96\95\14|\10j¨ÁäaúæÝ\93ìD\17\r¾Î>1î\ f\1e½ìÕX\8dxª¾ºw<zw NíZ¯\8e#Dª¬p&\v¬Ht\84\83'\98\91&:ô=Â\9cXÆã0x-øàN;\86Ý\92÷Ø£b,*x\89µX\8d.ê²Á\93\89Þ@½A*Èi[U\93\ 4Ì\1eäÅ\9b?pX\96\89¡{´*âP¹\94Ä¡\81÷ò""­§\r\1cÆÕ\84Ï'^2ª\0wØè¾\85ihÚMy´YC\18Z3¿¯6\8ahY\96\8c&\17ÜhÂ\86öm\16ô\vÍ¢ÖÆÌ©dó*P´[C#\1e\1ddSh\9e\85­\96\11]\12PÇÛè\86\85©òâ\86D´7o§âÐØ#N ÐØ%\13\ 3èo\ 6¼ú~6\860Kî´0\17\1a\9a\18Ã/WqÁÞÈ·¥p/¥\98Ö\82\7fÝGD
+e|V(\91÷Pá,»ÝAÍ>È4Qqº½rÅ7WÔ¬VQïñwWÌ´ÿ\9eêî\96[î¯\8dYþýÕÓÜßõ\ 4¢³\1c2íùe¯0\94\8añl      Í-yÙ\15\81¼\bÒ×\97Â^ôö\ 3_o¹W#\981"òÙ\a`§çÜ\9f\94\9dÈ\e\93ñSý\9fr\7f\88 b;k¹?\17\98b4U]T\ 5Ʀª\ 3\ 2\16Ávû.\ eÁiì\80+\8d¼¶\ 5¡f[.\16ÀEØ×W_ô,ÔÙr==Z\94Áç\7f\1fX\93Ü\ejMÿ\96²ã\9eü\1dÄæÌ[´äв\12\aö\9e\15\9aj\ 2\95\1c÷ê¸å½9·ó\17\1f\96ñ\TG¸\9c\\12\ 5¼ªÊ/àäv\8d\99ëàa\ 4Ðö\88÷\ 5-\90¯ÖÀâîíH["Ü\a\88Ä]        bm\91Sº2æ\14ñ.}Ó§éõEi\7f7OÓ³\1fOEþí\93\ 3´³=JÁÌ.\8c;¢x\91Ѷɫ\89üà\v^\84\9cqO\99\1ed2Ny\81\ 3ñ\8d'\87\1dôW2ÞnR\90,dyFwxJ\fEj\vJÈ=\90¦-,\ 1\10\97\86f"\82ø\18Às:ð\80|ö"L\8e\eÆ£\13\1e¨Óó5r\ f\8d`\1doÐù        +öºV-\ 1ÿð[+ýû/ì\a\99\7f©l¯ó\9e\91/þ),¯àcv\92ÊýXßëIez\966äöT(ßþ¤²¾\oý\92Y^²7\9c\92Êÿ
\ 3»ûêÌ\ eï¾4Àîÿ­içæ#b­<þS\ fÞ´óõ\7f\1fý\16\9e|HËu§\9f\9cøÿø´óò±\9f½içâc?ÁiçìØ\7fáiç÷l?\84kwî\8ckç_o?Üç;\17\9cÎc±¥Ïö]¯Û\99PÍwtiÉ]\94?ÁäAçÌî#Ú¾\b->öO@¯·iû^\90\9eå3#\8bRáß\90\98ËÊ¡1;(\84ÂËÝ»Ráª\ f'ÍÝCþL\1e{/9$¬? ø\9fÔô·ÿ3d£©&\a3Jô\ f\95êü\9b$ñ=ù<O*\9e'\94BMeõ\ 1ɱAuòhKeï·oK\ e ð¸åPiÚ\8d\93þ\11X\eü\89ä¿ãBUg\8bo\15\81¿\90\e'ô="\1fð\8da½a\9b\14?1þ^\9f\86÷À\96sçpû\9aß;\81\13ƽ|í\86³m%\93+e=\97ò[þI\8e5ÚÛÖ©\14iÿ\96Þ¹\ f\95\97våùÑN?ÿ\ f4\18\98y/×í{}7\9dïü?\ e£AåôÿS.íÐ{\fç~\18Î\1fK\ 3ÀæØ÷\9aï¹ðýW~\13a7ÚÔC\93Éúx~Îci뻦\ 2¾Å\9erkú6ó[\ e£Éûýî»´ÿ%\87Ýú0\1f\17Í¡\92\83õþ\1c\9d=~/KcC©¿}X¿÷Ä\ 3ÿý ä{\95\1c/r\94EîAÊÿP8ßüb\8d\1fr\ f§¹\aëÜÇÃÎò¢ÿyåç\97\9e\7fù\a\8b\8d8ïöF\8a\9f¡ý\95\13ÿ\99X÷Üò\7fåW­o\9dάäå3¿,A]ëû\9d÷E;\9dY*pÔ>ªÛ\9eÅ\1eZ3)z¬{\86ògPz¿WMe\eä× öÿ«§þ/\19ª\1f\8b»­C\85\ f&\ fÁ\16Ê\9b\9e¶I}\97\16\927­êõñ\99l¬½\1eS:\87
+ccõëº:n^\9b·íg6p}Zmâ/XTl§·¼Ì$*\18ø\14\rSý^àPN§úk\ 2\82÷\84\83C"þ\82ûV\82\10(/Ïú\92\e\88^ïº6Ó\93ýÿ1bÌQ´ÚDm¹##IÀqYH\ e\92\ 4\927$Mº]\80\eMº7\rÖ±\96m
+k\99\92\1eÚ\ 4Æ"\115\8cwmÞî½^Ék\91ÛzCwM`M\9aàö\918¥nAÐØC©\%ÐqÉC\19\90#\bVÛmÄ¿~ÿ\897\ 2Ý¥»×Ûݾïo½Ýîïw{ÝïwÁï\85ßM=ñûè\9eÓß}$\92\9d\93W&B£Ï\\92\15\1e|Tè!Q¹¹ë!Q¸D\1dÆÂ£Ð\8ag\8f¡1®\99RÊB£\9d~ô²\92æÝsnnaQÌ¿àï\b\96\96\ fs9D{ä^ùUÓ\\19\92&u\94R\1a\ f\87÷´z\935³ÓÉ\1c
+\b\8búÄ\17%S\9aºÄ\ 2]Ô[h}\92bYÐr\8eäL\90\96Þ ,´\8b+ÍM\vo­×\13\11\7f\7f/\8b´\1f¢%\8eâtü·\ 38øá8ø\8a2éùnV hî&ý"oöäßî   u\81/qæH\ 4´ºõp(.\e\92\82Ðüé<ªYª\v\89\91ú:ÿLéT8$Q7Ò±89dKdö\82ÍÃp\86d8_\8cÑν\83\83©Y8Ëp#?=òßT\95\88\vÔ\ 4<ëÝ\1dù\16¬\8cµ¨´Ðo¦GcØ/uª\ 1È>&6ªÂÞ­µAf\88\9c\9aÚÄ/ö\87\96gñQ\1e       \90y¼Fät«7Vs°zF\80å5îÃ\v¤Ã~Ð\92¼´¥\15ô\9d}`\16\ 6ác\8bµ\ eú,§-/ªP;m¤Ô\13\10¢Â\93óÙÖåÚRF\85\8czdqµ#\9b-vÈ\89ö   LÝ'ØnÏÙ\12à\86]\13\13v\7ftK\83LãÖåºmî\9b\83\95.\14\vÊl\9e\82\ eSK\16pb÷ë²\83\15¥ç<Ûä5]\85õ) \16/i=â-*E<ox\ 6¼itÉ\15ÁôÔå\8fáÔtO|0Z´³\9c\1a \9d©3Z\9d\92í\ 1\9dn¼í±àúQwK}³ÖóÙ\ 3\e\12¹MɤK¬[JE¦\b¾q\®#r\8cE¼3êê\90s\17\88Ø\17\ 4\8d%&\16N.\ 3¨T®b¸Eëäi\91§>£  qÛfÄ»'\89ta¼C Ã&òÙ>À\98\8d¼w\ 6z$ñ\1dY\7flc6~[mÓs,¯}\138\87\11Ô3µ\8a\83\vâ\a\ 4\96U5\84M£¨o\ e\14ųÞÃþò"ï\96\8b¾M@D\9c\86ä%õ$aC,\84EÔt\9a\e:L{êLQdø\89ã_R|&\ 2\9cFäWðÁY»ÚÙ·7DØ1#y?×\1fÑ'\8d"F'4\11jé¶ueâNG&à(s²\9cî\179Ô=\93:ÙNJV\ f]*ðø842±\1f¥W!dAYÜæ\ 3UiZ£y\825«Î:\87S+à    «õ\r\8déê½4¾j\99\11Ó7Í\8dýd×£\8d\843\ 3\eàGZ><\bñ\8fD¾F,uf\83¨]Ù¸õ¨#V\8dUb/ÜÅÚdåñ\b`ÔÞÕůà WQ2N\9fÞÊï\9dÄÇ¿Ú8?$(\8d\97SiykÌ\a#\8a\8a\9f\91ΩάÙÁ½4i#Ó®­s]\8dGûä5)a <\1eîq»¥;¹\9a%§È­\1eß\17\8e>þh\99¸:äÅÚ\8b|*\ð¸ÎÇ\\99H9ï¢ÔÛvz\92b\f\0\e7\8dGµ8¾ð?ÜÒcn®IDD\9a
+d¢OéÜÑ\8a\99é,3ÉÕܼ\15-ä°·OçÜìEKI,-\13Ô\ì\ 5IÒXNN~ç^*M\92ÂjyÛ\9a!Ra\12Ô\95\84Ä´Ë}"/^\12,\1c½íË\mÐò¨È\9c¥Ì¨©\a?p\ 4
+@²áúÔ$_·¹ë±¨ü`\88Ð\ 4\82"\9e¹Ñ\ 2\83d/56÷3À z£F\15ãÖ <¡\17f¿ÜÈ\Ìzè®\1e\96© \a8\r\13\95\0A\9f\10@jùÀU \15F\b­p}\97D\86\83\92Ó\95k\12×\ 1\¼¿Ö&2ú\7fx\ 4r !|S\88\9e¦@\8f¢(\8f\83{¨W*\rôð\13¿ú|\9e?óád«\96®êÔ\80G\ 6`áÔÑ-c\1aÅ\96:æd}Ë.9\rûb'Q\ 2S\8d\1f\16è\98\14B
+\8b«ÈZüÁãoõ\9b«ÚVVëi\8d      Jp\7fòëK\8a£Vÿi\80\94®±¦ÜaF\8d\ 2½\8c­Ó\9a|Zê;Åê×Mµb\b\8cBàûOÉk|¯R\ f\9e\92\9a|ZsêiÖª$\1e9õv\81:TñeÈ\9b,\85ö+U\1aY\17\ e\8d¨Ä0èå\86:EZ6\8e¬és\88Þ,Ü\13j\8a¬Ñ\ 4ç\81\9cáQ>§\8aØÄÆEé\8cÇAÈF<\89\93H\13]ÂÙÃaÔ\1cXI\82\9c\88YW©eÒ\995l¼¶Þ?\ 4\b\15\11Ò´fÁÇ0xngÖÇ¡O÷Ý1Nª·C!q`\1e\8d9@§áÛ\9e\89\84\11\9a´~\1a6g^¼lD^ºÆ\1e\ 27NJx\14\7f@¨Ï\ 3\90>>r\15\1f\88\7fM\1a\0\8b\fVØ!\9eåª\99\14;\8d*\99\ 6Xºu\ fÀ=N£}Äê\9dC,sá\13Búmal¥\81ìÒ\1f\1a\7frwe        äºó¡\1d\8bSÉxO\1aÂxVÑ\88B\e\84ñ²ß\ 1\1c\80iäÅ}w*CÕ\8aYâË\0\rv\85dWÇþ¢.\ 3*%+RÜèö×\80ë\ 2.¤Í\1fYeÝ"®\0EK\7f\rÊÎz%ù{\rú\88Ø$bF²-2ÞVcý3¡Þ.o­\83T\12\10âaøqö\8eâZàùÊ\16<W¦#\9eÛ´öDÃZäÈDµÜ[\91ô¿Z¾Ï\q\95ö\87\9egOîÆã\7f\8b¬Ä³¼X\92\1dyñuÎ\ 3¯¾\8aú\98÷\15\ 5:\b5]í\0ëº\96*QÈÔÁ\ 2ö3t>¿<A\8an\17·Zå
+ªÈ¥uS¸}L\ eâÙ.\9b½Ô\8bÚÏ=\a\8dª\17?窬sW\16(\ 1g|\9e%\18ó/\ 4\8dV¾(\8fÞ_\9cK\ 4kìê\ró§J\99þr\ 5NR¾øøÑÁ\1a@28¥6Fb\96\84VÞÒO\0'\8a\8eÍ^\8dM@\1eVÖ'\17\13\ 5Õë9û²b\0bV(õè\8eêϽl\14ã\98º¿â\ 2R×^¸¥ÖX\ f\14\81\1dW\1fZ.9Ð¥]\9d\19áÿÊ\87ÿ\9cu{FÐ\87¹©­wÉ\ 31;\89ý\ 6àáebþWP \ eÆ\9a¶¹_Ì\8fz\aÅGf\8dB527»Ö_\98t±N*\16ïãÖ¹¹\1e _"Èß\15×#Z\8fz\a\99[ñG¿#ç¶ËÚ\80\89À\7fj½dW­¸\ 5]jµ\84\vYÑä\8f\r·\ 5üZwÇÔ¸[Ú\8c3¢]\90¢Ù©\Ö\15öt\8e.\9a\11\95ð©ÐÓ«³0\14TLÁñLA7,Y\14u\8a\7ff@]\9c\10[2a\17\r%]\ 5½¸\ 5hT\9dt*3è#\1fo)u5.0<áõ \107\8dUãz¸,±Ý*ÌY3õÈ9®B°\ 3\15'\854[p<â[y\81!5¤åmôÌK\\ e(P\1fÅ2:SJkH\93zz\95¶1ÖÏÆ\0£õ°ç«ªàßxQ¸Êd·O\9aÛ\82\a7B¹Ê!7\11|}B/@A]xDÆç­ïFôB\9e\8eù¶\8b£yÏ9\16X\f½\9b\ 4`YÎ\8f×ïÔo\17\9b`\vD\r\ f\0\12EõÙ\b»÷×a6éß]\9aEöO®Ù\11zA¨âôO®Ù\81\94ß]\9eEûG×h\11z\a×m\b¾\91õÞp\8bõÏ®ÀÇ\9a\11®Zóo®Ú\91vï®å\88¼£ë¹r.së¶Äp{n\ 5JÏãØAÖ\97ìÀÚm\16È5niËöÒ\18P\ 6\17Ä[­1\7f\99!\85\92röÔ\1fd\98\963vßWýdÄ]´\86s\a­iFk\92¹·\ 5\a5\97ý       _vW\12W\16W.TÖ­\1a˵\99k8Öy«¦½\8b];]S]sP\r'­Ñê\0\19½?ZJ+ÓõÄ\9e¾>\84\9bB#qFKÓûr\19m³ûA\137¶þ\9fµ$t$Éfd@BÃn\ 5E6e\13/\99\8f®à&\1a*|qõÖ\7fÄ\15>@±\90Tù#í\87ùTÂ/®·¶Ø\96ÄÄw\8bk{Õ³ÀÅ\9d¤\ 6Î×M\7f\98µ?P\18\89¿Ö\90l°ù81:'©ÐeEqBUóô;ýq\0ßÕU­¸#CO\8e\91©Í\14ô\96íÇ­\9d#ZÑ53~Ü\8b¸+$\9a|[\9eFªoÏ!Y\ 6Ü\18\13\8f\0+¶%Xºòm\91¸Ù19©5ýã\81«µ6ó.]Ê.ñQw\1fÑÂ\96º0\82yÝG\11\91>úCáFpc\16
+p`éýôÎÞã®Îê97¹\15CXç \v\1cT\8d!JZ¡ù9räx®be\87öB\ 6\ 3ÿÌ\11¶êÐ\88\82\99â\ e±ñy\89\fÉÊ0È\99«ø\0£?C¸EÕ\97\8a6¥+Vëòì o\86eZà\ 1ê\95£ÏÂy°\ 4§!<ذp¹\89X\83ã\8aW\9d¸\18$m\93Ä\87Þla¼Øca"=\f¦E`Ø``ÍÁôVo\1e.ÎùãÂ\1c¦Ê\91A°¬Á\85 uÎ@0>¦²\8b"Ü5
+\89\1e\b\8d¸H­ðºBë\ 2É\9fR$\94{¼¶¼
\ 4^\ 4 ç\8f¿Geª\94ZÀZ$®\ 3c;\1e\12I]jÌNTmHb\84]D¹7£ø.\8aªä\0\13\9e024àM\8d\8eS\10cЬýó=ä\8fGU\86\88\7fu\8a\ 2ãù\a¡nÇåp\7fªU\8fVõ­·\9b±¸¹å\18\1c\ eñc´b[7V\V.4ø&-¥\8dcØï\1eõAûýèú%®xHã\17\10\ 6h\7fñ\16¥\8cÛÇ¢3\ f^bÝ@S¨0@!}¾ðu\r\rb\89N\b\ 1ø\95ö
+ÁJÅÉ\80aéáµ1éï\96ñòz±\ 5b\ fÊ"\9dòÝ+R|\1c*\18]æÁ\15}!\10\90r\b<\f\80\8cu\ e¥\9a\991Ó7Î\8d\e\8d\v¼\ 1\8fÉ\87\9aâáæ\9e÷o ÷ -Ö\83\18lfºV\94w   \94¢\ 5D\15æ\82t^\94\ 4þÐ]!´l\16\0ª\1f)\17ÚÅ\15\8fÖC©cØ\r*\9b\ f?&³Á-h\84\v®Ð\14Ï\88'
+Lît$Lõ´]LuÜ⼤¢HðE²~ú7Ï\vòêÚõå!1×9n\191ë\\85\14\0\14\ 5CO¨\ 1̶Ó#ª\bTñ)\b\97øÖåÍÕ\11-bX:/\97æ^Ãx{U!<=ü`bߦ]°Fmnµ;Ñ­Ò/ë+P
+\ob\9eø(\95\8f\8fÕ\89À\16ÜÇ
+\92^¼ØP¢<ü\ 2\80\16¢E\13À!\80*Ö¹¬@\ eåQR·öü\8f±q\80\81Ê&Ý\9a×\11×î\0ÃhÐAâ÷yØékQ Õîû¼îÝ\9c\18­\17÷DI»äÁ\8au\ 2 Éþ\91p\16Ð%|QéÞ\f¾ô¤(æG\98E¤vÑ:O\19\8fWd\99ÑÍÇ\91\85e\1c¿0G¤\84\99°\94ªhÙ\84â\8dÕ\95ÒA»rù01\80 \0Í¿é\ 6~-Çè\ 6a\v        *dØnz¯D'5ªêÒuÃæ°þÈm±y\16FA/\ 4\8a&]G\8fè\17¡ÙçêÞ\ 53êÕõD\9e\90ô »ôU¤\9fEZÝ"µ\1d\8a"ý9tWåÁÂe\a$¼5º\9a\93\889,\92ì\18\81Wè=§ZøÚ°\82\91¼Ãn¯ª¿¬\f\1a\83º¬\1c``ûÆ¢¯1g'#«æm\9aõZþø+\8a\14Æn¯¬½¶Yêû\10yì å\10w$®ù¶«\8c\86ZTÒ°ÿc\18T\]y\85\94\17\98'\v´àkK:\8boíä#v!\8d\1f[\9e\8e7¬¹è\8f\84\91-P\19j\82îVpjì\96ûL\91Wn\10\a\127àÜwË=0g-Rúu£\99ñ´Ê-¨+I«çÖ\81ò<û%´%iÑ¢¯¨\8aµ\1aD_-÷\b\8dQdVdÚ\97\90\b\a\97³\9f@\84C\1f\ eê0Lùõµf\ 3¡6¨«\8e\8dçIº¿\93\r(Ì8°ÿ\861âáÌ\9cî\95íQu«M¦ÛT\ 4
+Tô`Þµ\1e\13b\r_\r\18>ûRÙ"\e!'\8a\14\87\15\16\88¿\\92#\1c>¶5×\97³ô<½\9a\18}dbþ!\9dépx¿Â\1f;mB0ý!Å\88\aÜ{¢Ãã\a¸E\970S­,;PÒì       8.A\92»\83W\ 3uÙ¦ÑvWcäÁQ3óñüG¼SËH`\8a\95ÉFóÜn<D\1fß\ f
+*\8fE>¼~©p\10\14¤Ô¬Ñ@W\8b%b:\\ 4u}=Ãp&X\1e°°pRY\b·Dê¬<)Ð3$!Ä`åGKYò\82Ï\9aY\98ÒLÌK\r\80g\85v?/&\epdM¥O]\98Ú b\e     jÛ\82\84\89pûôBcÅf\88û% Ú\8aú6á1K\13\ 28b%\ 1ñî\84J\0G\9e=\ eä{!3\a\8e%VBñïZ£¥\8a/F ¶²_å\94Õ§f@\18\ e\9fè\9bl\10\9a¿0\ 2`Tmêü PëWFÕ)A\83[\80&]«
+]i{Ö¡0\ 6Å'V\1d\15ã\11i¿Ê"wË[BhO}]æàäi\82\13âlÕè\85VµU²\88«ÝgQÕàXö\bêïìf\ 2\1eîZɦȵ.\a ­\97\93[ a\94\ 4\19·õÁ\98þ«1«è
+\0³\18\82\b\19oܵ^W½\0ë'ýY nÿ\98\7f¡(\7fÏÉ\aóù¡ý\89«cî\16rs\98\11\1eÀ\88\8fÇ D\1cQ\11\b\89\9fô\11\16?´DL°"3ù\82#>""gô\b\89\9f\90D|ïò\88½\ 3\b·Ø&h\89þïú\b\99\9fþ\88\99\9f\8cD\8c¸îf\7fÌD\96¬åòÅ\9a¿\b<f\82\7fìÚmµ\83\11\83Æ\ 2Gs7\v\8d\8e´¿4\18ÄNU\e,\82Ñ\83ò/\9c\90ªÇñ#¥¿GWÈ\0\91ÆE[Åÿ\0VN:l\84í\8cZ¯(øGh\7f~LD8»Nw\11¹2ôñ:~Z\b÷×õ\ e\1fSSùZ\8a.u§ \ e7Íw\10\e!·7\8d±ÂÈÅÀ\84òR®ª±Ímøáq6·\ 3«\8e\ 2Ì\1dw±\8eS\11\a»Ã\9e\ 4\7f³Þ\9eâQ\90\ f\10pDÁ\87ëaÏZD/`\88àI\81È\83×¢Ë\1eÚP\9cuÿæôZkàý\8e      \r\9aS[p[o\87\f\ 4      _\15\1eþOãN@ñÎ**]C¥=Ô;    }l»fÞGó\92\81·\fÿ
+pz\ 3Ê\83\10¸"\_N÷Ð\97&6\10ß_\1eV7Z+ʶí/\8b\84u3gG)!hÜ&\86\81p\92¡Ò\99y\82Ð}\96\18\1eSÕÙ\8c?
+\8d¨%/
+\8eXl\15É\8c[pñ Þ´\83\19½\8b(7»KÏl(«21\8a6{3\98\90Þ®\v=Åðü\94`ÄFó   º³[R\ 3\ 2\80Ôbó®ùv¾À;ß\96ÃÆ«°°Fà}\9b~\ 4¿)uèä]\90P\80qE£êñ\91«\8a´¬{ûnÛ²ã¯\16ÛL(\9eâN\b(ÜoEÜt]âÐ+®\83¡µ¾\ 5\99\8f-Æ \9d\19ݧlï³¶0\1e~\8e\17cßñ×sÄhLº\9e\9fß®N¬µú[Ì\8e® âDÚàY¼ÐÛ3ì\8a,¨Ú-þÈöo3¢Ñfñ¹KH·\90\f3l0Ì\94£\vX\83\fã\f9òÖ\86\13Ç\eÜuÍÞä"ÿ3\ 6\19Ê\f`­¸©ZËÞ.
+ëRà®\92¹Ï\95Fà¸*v\15ö\95®\15£\1c\15zI\90\94\88:·çv.£\1fÎìK\82\13;H\85Á4©âòû?Ó\82bÆ \81\b6\81*F«\8fw\96Òá1G\ 4Åå\ 5Ä\1d
+ܸÖ:µ¯#yİ\80®´|1gkí
+\91ò¶M\97\8adr%0     F"MV¨\8e·÷tXÁH\83|ôpQ\9a'ùFìµUepÚ\14\ 2XØ@ß\ fµË6¸\16
+kGÒ\9f¨ãé0ð+/Ì\ 6\84©$)1.úB\93RÚÈRrL°þ±,\v¬skoa¿$\9b\1cF\80Ö½¸\ fñß2/³ÿ\8b\93øµ\92\\9f;kDçôÜ!\9d\eúÃ'd?Ôaþ\ e\8cËûR k½=\80Úì\e ÷ù¶Ï·½LÉ»"Ù¨Ül{\fæªB9üh\83q\9fã\81}}fd\v"Ù \10à(\ f¸9\8b\91\10µXOç\ 2ϵ\ fý6\88Ù^í\aì\8cx+8P
+#2Ü4\159ô}\11ó\ 4\ 3=ÞÉVßjD\0¢àý\e*]}\80SD¾¹K\8a\8a\14\97Ö\97±5²þ»¸\81UvÜ\16 ë\0Öt£\8ft\v`B£=\1eú*Ýîa\11?w÷îþýßß»û÷\7f\7fÿøôjFÈ\15\ 5éùÂ\18·¼d§A)e2Ímäo\f\ 66\80Ç÷ϰ¯ÆB8ð¼HeÙ       \8d\14Â&ÐX§È\9c°§óÁª {[@ Å\17\82S\85qJ\v\12j¿4TÑ\11¶ë³2\99\17q(-DZ\\8c^s(°p[PoÙ\92©\17\19fè׫Jhå¤Ò\1aUg\95YåW(Ur\94Ë72\82ÎlòXWÂðeÁ\ eéµT\8c\87Ã~êF-6\0àg\1faåWM/¢\14B8´À-µöQQ/åe³qt\873~\82\1cÛ1êK\16Õi\19NøÈ\11D\98Ê\84dE¾\81«~ñ\95\85ÀÚò\99\8fÂD\82Ù:´X¶Tì ^\95\8eêÂ\ 5Äáq\96ïGª.R{¶\9c\82\9f\97\86ÌqM\aÎ}C\0W¤\9e\144E³3AnÌ{Ba°¯\95¤\99\16\ e½\1dx\1e\1a\8fc\a(ÖÞ?Ø\8dA\18~ÌØ\8f¾]\a%*\8d\95ðî\84\18Ù\15\8cYcFª­\1aä/ä`º\b<D}x<å0\ f/0YJ°ªRW\94ú¥\17|Õ}\8e,¡.³\9eo§9]X\8bø´ÔèÔ-y\1eË ã\12;\84EëÑ/1óߢâU\85xý?À;\84bôc\ 5\94LöÔ¦§Ù\95iåZz}yVÊ\15l¢s@ôñ¦Y%\9c°¯²ñ¦T ?\8d\p\8a¨×¹F¶®ª(æ>TXy]¨ü$:}Ä\94"´³>N\f\v3 Å6\ré¸X\95\80ׯ+\È5ê?CZ5¯¬<©ÞÈ¢\16ÓÁÎ\80\83­n\f\1aù\f\ 3lF·CX\0n,>4ûn\12\18½
+\ 6G\98H¨ÊòÓ¡GZ8£»\8cý\96Q\ eÜK)\90ßpÑN¥\ eá\96:èÝ·¡_Ew<.%\1c\93o7çÑ\ 2\92P\93n×ÏPTøÄÛ\9bçÇ\e§H½V./A\11õ^íú:¿Wm+\9b\8e£\9ec\1dEL¨é5åsÓ\17\83ôj×ä£V\8dZ·êàdEGiNø'ä\bSC\96ÛA¾
+e@¸fYx\0ÐÔ¥F\87ãâ­ãWñdª1o\f\8br\8d±×\8eb¯XZ1Âì¦\18NZd©ÙÎÍHgÏHgÏ\96Îì\ 1úðF)ÙÍ\17\86%w¼#\16þ\ 2"ÿm=äᬼm¶\83«     KH\84»!\84±Ñ­¬«G¾\8a{Úm­\12
+îÈd\1c\13¢,l?K\97\82ÆY+Cù\8cª\9f¡\15íIôÍ­Ðw\11íw\13­&_Oùê\90®\7f\15µ»Ú\ró"Zà\8e\80û\9b\1c\ 4×d?\1eKß­þãl+áèÇà\8b\83mö8\11ÀÌ\88´ïaü>q\16î£\ e`.¨¿5\ e\0\8b\90\14Ö\97b\ 2\91«Ê\rĶÛ\83Wæä?«\1cÃG\aÁè·´õí}\95~%¢G½9½\84\ 1çÞH\92\91\12í¡<4\16èËÍ\7fÑr7G\123}¢cÅ\e\8d\18ÐÚ5ô-ÉtM\87§1c)¼\7f£\8eG»ØÿDè<vè9­mÁþæÜ\ 3Û[\8e\ 3JÕñÀ\17»\8f\8c\8d/.ï)õîù¶±nç¼KiO¨:      \1a\18IÖ"­ú7cçuät·ü#Ve\1e\89¡¼\97\8e¾ªK \89ç­¼/\ 4s\10oXòáþ]¶\8dé1\17\9b¶ÑuY\94ô\14%µx3\97\1c\a|\80IJvÜ\a\0\15\11©µXp\08£q\13Üo#29\80Tb_À\\a\e\ffx\8b\ f\96SܧôøCë\9aµ\8c\fÉ"\96Ï2E%7%Q©v\19\93\81.ÛÎ%»rp\8cò8é3áQ)é\19)Çß·\1a\v\97äÆ
+îáͦE=%$°\rѵÜqb\1c»..\89\98\15'\ f¬\92Ô%³Ö\8dÖÞ-D©U\96çesöÛç-¸5wàJEjZÊ{y       ö0ñ)ÑV\97Ã\ 3\ 5ãnË£5\98E]ß \88«ö\7f\10G*K\ fã\91\8cW»5^eV<Zj\93Ü>Ëw\11Â\ f«º~]c\94+ª¢¸(°\12,Tñ5\b]\9a!^\83ð\93\10u+kÏ­\7f\1d\11\ 6\8c\18\10\f\ 6\ 6' ¸\1e\10¼Ã9\95å\ 5à\92å¾â\ 1µÌQ\b\91^Ó¸[óÇ·Äô\15\9b÷ý\a>ÿ·ïU¿\8a\1c{òÄí¸~Ê·\85ÎN°\80Û\86?B\b\89\8d\848\15CùøAõÈ7\8c\ 6j
+;\83Yxe ÆÂ\87ê£\a
+\84|ÄËóÆ&\91£qlg8|'[óQ{tOgÓ°S,+6\9fZ9glu¤H\12¥ª¼\8b£Á­\15F\13\91£j\91UŬ²äÕd\rrÏæ\97ä\92\85\85}ë2Õ\11øâ-Ô\f¯\90î~µ6_Æç\92ùaß\1eR òÒÉa_¿ÑHe/Í\96U¥£Óy»\9b
+ýT°³U6Ýà\136\8e\1a,ÊÓ\ f\95·shË\9c öÉ\99jè¨\19\13~'!\1e\84ßATæj®´¤pÅfQ¼\9e\8cU\14\9fIÎ#\8c?. ±\13ð\ 5Ò=\8c\8e\83´¼õ¨JÈ}N\96Q),_]ý\ 4ûìa\9f±\9cD\0\9d\18(åq¥-X¬ C\1eµc y\84\ f«}\11~hDãaXWÜi\98>dÐù\98²Fu\80\19\80\ e\a\1dN`5ër¿ä\r\a\9aX]q\9ençU²5¶ïµ2\18\12\ 3ô\84?ûÈ%5\8dÛxÿ\10ñ):Õ\1e   }\1f:Ý{}P@\f\85᫳uê\91p7ÆýÆhIrÇ\12\9a\8d?à&wß´LãÿðLß\14L÷_ö\13*¼8~\8a"^{­Q²Â\1fFæ¤T\81\97\19l¼¹"\84¡ê¹\10«\ 1ï_SubÆ\fÓoÌd¦\13h~\97\9eg/\9fä`&É\8d\ 1p\19ê\9f\84b³<O H9?Cm/æ¸\83\92ãl\87\9b9\a&rÆ\ý£\84\15\8c8¶Ýò\1c")\96gç«\8b|ñÇ÷ú7¯'»\14\9d8ùÔæùæ\90\7fH\1e   ö#òix\ 5$±}CÙÙ\ 1l7ÂX\97°«þtE\99ByÙ¿\9f\ 4t÷¯\1dǨÓô\epöSÐo\\17JÇ[\8bùaW÷\11G\17¼÷\viò6\7f\83\7f+\9a!\99~\ frV\83·D\89KÁü,¬º\93­l~\ e\11\99\v\9dA\1e Î÷kDæôô\88M±Ð\9d$L§(\ e-\80û\9a©¢jfÅ©½ËV^\8bS¦å\99εiü\12ÙÉÖ­gZËh\9a·ô%ºÉÖ³?\96ZhÙ}\ 4ë]\1d\14¾¾\1c¾ÂÞ_cq.óÌ\97¥\9dkóüÙ\7fÞ¡m\99\ 2\1dñ¿§d?\81÷7:×ã\7f0õá\13\1e*ÖùCK\92ûN\87Â"ß\9f&Iìe:\f\aÈ£\86x\91
+ëÙF±Ú©\96jh-õò¬v\8b³Z.]\8dT\97öa
+MNdXÆÄ帨\e\13ºEçd±èóh×\9c\92ÇÈ\bëøþXéL¶A\15èò¬vA\15ÔåØÑÉ\8aÌÌ\8aÒìäÀ}¯ë\85ý \85úïÙ\v\9c\10¿§\93\b^>U\8fo%ß°ýp\1d\14\98ÐÐ\83?\1e\83$é        ¡\96Ê\9c?\827©a\ 1\ 6ð\9dÇqäúq9Àc[q0¼§!ÜE2TÛuªd\919Ï=¾)íÇ«ª\1e4n3\1a\82\eî\92ç       ÛÝÄ\0Öæ*ÈdÉ\8e\ e\bãèü±Âß\9b"K\85\988{|Ç\f'^Vk\976\93ÒÙ\96\0¸F'×I\96\12$î/;2Zãs\95ô\95åp\99\0ò²Ì\88Ïýey\93]@Nù\9e\9a\85 \91~f?ê\95¼#,²¼½\9amnö~_\11\99.\89ó\8aË\87åõ5\86í\99aÌÆá
\11\95\99Zg-·\8e¡,ÚÁÈqc,\93%\9då\85lÇÃ\82\11ÝòFÎô\8b\ª±k\94qÜìûÉ\9bç\87G¡½xÑ½ëÆ´#oÿJ\8e´\94]\12n:ð®ë\16Ëáö¬[/\86<ËZ\90ugÉ4\85Þ5S\92m\9eÈ×q\0\ 47\91ì,;Ìû\ 4F     i\99F\86Û®Pð_o\aÒ#ç·§L;\89     ã+7\80ë\94\b\80¼\15£BxÞ@L\89Ð>S\8f   çX\v\841FäBy\9d¹;6Ì\ fisÕ-'ÌÍ´_á\\96/\18   ²M®M\92³:\91· I\13:¶·\ eº\88\86d\ava\13\9b\91l"V"r¥kVwæ\16s5³ú2ð»Ã_Ö\ 5\15¥"&ÖMÆ\92\16»\84Aoáø\96þli#\95\ 5°I`éMÉ÷)N\15>\88J\ 1\96°©û\89v\8bì\ 1M\ f*ÇV){[\8eÑmi,tËéÏ|\8a¾Èé\ 5\aK\95\88BZÅWÙ[ðu+\10±Î¯4\14\14ûX pÞÕ\8bw,ò.L\ü{\92-|H¨\97ØYâÂiO
+_ïK@)~4³¢\97®\9b\9b\ 4]6á÷f#yÎÎ\r¥ÎÖE\1cìå´Åà`\\¼´¦\85,\ 4¥Å.bH
+^ÂyÐ\8e'±qóc\90\9e\8fl\1dC@\rz[¦Ã\95\93$ø@¬Ù\a&\15\1c\9cU\9d\0­\9c\83\83
+³Á^x¶_Þ\84FqYa\ 48?sÀ\ 5\96ìä+\bp¼ë(
\87\vì\98\80«\brݤ\85a\ e\ f {\85V{ø¿þÂo\88w~º/_8>\9e£y\92·ó\ e·\17Ð!(?\ e£øó«P\92Ò$¬T»\ 5\1a\99gôLù5\82é\1e£Z%\1aÏ:Å¥Ô\8fGòMT]\92\93þÖÀu<·ÛÚÚ´\1cÖ"þýí5;\eaG\17º\977Z¢+écs\99`:Æ¥\9c¢"ZD]YnK×ó\92yÑUØý9í\93äó£±\ 5QvÌ6w}Í\1aG\rÝÚº§ñO}Lƹ:îÜ\94\1cp\94\ 5Íêu\bçVo\ft\15çugôN \ 1\ 6+,,:ÚªÄ"î&<i\8dÔŤÇòÌ[Lo¦8\13\1fÕ1Ã\98ü\13\1cy\8bù\8e\Ç2c\ 6`mñ\11{\0HÂ/´\ 4\8d"õ@\93"/N \1cEÿx\12fEÞ\ 2G\91}h$\81\17Ô\ 2M\b¾\98\12Î\11} %(Eô@\94©\17\9c\ 4\9a\91q\86¥\87\9ff··Rä]\98\83¯\r\13Aú-É\8dí\96`2Äu\ f¼dY¦³²\0ZpdòmÿNX\19Òrº¤a^ø3c\95EZå\0\f\ 3©R=ÆÒ\82ÕÇ\89\9d»/\8bÿmb±µ\91ÞK­\9e\8føÉ\99©\1eûäÅ:x}@TZ|ÆÐwd[\94FÞ?×'éÔ}è?V£í\ 2ê>×ïÖ¼\16\16q\80ª'\8eá¶~\86\13Ä$ê(\94\9fâéñ}\ 5 ú¤'Ø2Ǹ[Ï%\8bÁÔ93\1dC\97n:\86\8b,%        e\92¡\12ìVæ\12ŨPë\1d}(Q?\1d}\18JTåo^\1fEzñ\0_5%PQ\8d\8a9\89¤@|1£\7fpf_Oî÷ÎGH°ÿÿ:¬ï\97U`è!\8e®ªÃök\a¾¼×ˬ\1eúó_úÖ\ f\0<\93¬\ 4Õ±¬\ 4IÚýd\96&\92\18§\98Ö
+è$k\ 5zÆ5\80è1¬\a?åÕä\10üñ\9d~xÝ&y\96\93<v\93<ÏÕÐ4æh%\8fÏMi'&é§3Ýï[°Òg¶:L÷Ïï\87ÑA\87\r¸\fW0öÜ\14 \16\8e©4mÁsÂeé\1aL^2\89Ê)\97\9f±f6Å\11}w¯\9b R\86:]Ý\a\0`Ed¾%bÞ.rÇV; õ»Æ\85¦\95éúò\12ÚWµ
+cþ\16\92\bP¦»\9eI¤ÎC\1d\ 67\14εäÇ\1f×U\99\91É^Z°¬|#!\ 3.@G\81\1dS­øÎK¬¶qª&"D[\92rLî\88=Y¶Ä\95\89W\14_¢@*z\9a\85¼Ã\96\80ÏlÍL¥\12í@=S-RÍgÇÜû\16ÝΤ\98\90xÈ{öÙA"ª\93\9bè\85R4\12\19Lèð(\93kÀ53p½N\17g\91\86ôÕ§\99­¡=m¡Í·ZcVþ\93ø\86\84\14Õ\9aÁ0n\7f\88\98\83À\804\vãñ\a»!\11\99\86¤è©ì\12pVnÁ\86fI6*{\14\90+6\98\80\7fì²y80.>!»vÜTü$ºÜ\92\ 5\96¸\86(M±Ð7Ä3OÐ\81q\8fò²Ä\81q\8a\15í\81q\93 'Ý\9fm\ e        1$Í \9a)ÍÛz\9d¡1\13b69&öØÀèK9UÜ6Ýk£á×\99\a\8el\ 5\ 2@WP\bZ\9fî±*(¬fàZ¸è\8b7¾7¦N\1dBÚÍíb\7f\84\84\81óO!\97\98\1fö`í\80\ 2+\81"0\99,`<\91\87[t\8a£à"ùËn\99U{\ 4¶í\0_ép\15äz¸r%¡2òd\ 4\ 6\8c\ 4\ 4ëØÝW\81\8f\14¬A3º~\ 2íé©Ë
+ÕÕ\ f\15§¾\ 6\16&Pä\18\80«\8e¸È\18¨QV%Ù\ 4Ô÷Ø\99î\94ñgÔOBêú\8c\f\92:!Bþ\17\ 1\8ae&ÍÕí\1cù\17ú\12\ 4ë\11\9eÅ>Ûã\82ç³`µæz°0þ!8_Ê8\0\93§õ2\9c®gò\ e©ktdx\10\966Û¯_¨»H\17§á\ 1\8eÍÓô\18¸°¶\95\9b\98\16øD­®«\13<\96¢\ eâH¸ëâ\8dê1\1e\99äáÄç\1f\eÓS\93=vÞD²Hñ¸¢»\7f8ÂÜmHØÜit8º\19Çq1ÜÅþ£tfçzØÿO\15³Nï\84l\87\84ï   \93××TD»\9e&7>D5\f7<n       V?Ç\8bMNô´\8c Ó\aáa/\89\84±XK\1d\84\87Ùov(Ñ÷\991F\81©Òz,Ê\9aJDJs\81<\99«Ë­\9f$\80\84§ÌÜÖ?á\1f\90¹Ïôý\fzº¡ÂÔ}N·ªbÞ\99¥\8d´\7fø\8d­©\863,p#ù=\91h|¯ ±ÿ¼®\a\93í#yÏnU\1e®\1c\1c3}ì.¢*ÅbC_\ fÆu1È\b8\963"·¤U­      bx­æ\1a8GOâébcÅÍ§ÃØgk'\1fØý\19\ 1\ 3ÍN\12Ìà.Õ\9bÃdî\ fË·»x?§±\99F\9fö\ 6ré@¹H«Æ¬\ 3<Y¼otClÞgàÞÎ"\0F(\12Ù\81ð$Üs\90\88\11õ\18\84\ 4>\11\141E\fqC$\85#ÏØ"Ö¦\7fìZô\8c-`ÒeT»\995nbÃ. ð²;Óú\8c\14)$0¾Ü\82¦fI\89N\84\ f¬\10H!\8e(b\8a\1f\10¡ð\8a\18\84\1dÓÛÚf\ 5(\89Eô]RB]±ú\vÉ\f&ôgÙk\rJ ²õ\97É/s¿¶^æ\8fq\94    J\14¾Ãµ\92®`\99Ù¬\1dÔ\8a  z£î\13'>\88±\95Iðz=r¥ÝÃåôü\ 5
+³ÖxWCä\80í@î\8b8ýr\15Ðp[+\81AÛ¸û3¾31\81\90 \87»ÝΫ\80|\8dyì"åP!\ f\9f ÒuCo\15FóÆHüO(û?\85&\7ffÏt¶ß¢ywE\9eYßú\8b\ 5µdêÏ\ 4\v\9fbvÈ[7\99:¹ò¬T\a\v¨;Ê\0\93{\í´Ð\ 2Ø»Yö\13\90].ÁÅGÈ]F\88À¸Ë"=|DÎ\80£j'q!¼6\ 5Á\f­s\14»\v®l\v\7fp\90!ºöȧB$N\89îù0!ËÏ\99\8dÎ\81\rÆ\18à\15\82z3\11
+vCp\ e>}\bãp|òÔ±D\9a\95:$ÎF\fIïð\8a\ 4\9f£\14Å\È»R1))\84ÉÚÕ      bÈ\fÆ\ 6QzVj¨¬\e\ 3<·Üêo$\88ëq\11°ðtñ\10ÞÅÉzú\9dÁõ07á\bÂuÏ\ 3\ 3DB\97öÁ
+\0\97ЦÖ\ 45\18d\81h&Ü´\19þSS*áÉ\96u¹e¸éj\7f#RæÒ\926a,øµ\8e¡Ò´jÅ\8b\15\1d\11¡ûr[íÉ?Ôt­Nwßt¥\84Ï\16¹\a5u\8fò¢ÔfXø×æØø Wpec\86Ü\ 6?\ 3êZ¿ö$\8fë¾\0WÏ"\99SI\9f\82æ¶(#\9b_åÙÖ]\19ää)\96Jع\86\82R±9\85½Ì¤Û-\17&L l¥aLndSÇv\ 4[\84.±N1#Ýj»ÆI\17n\83Òw\8bT\80VV¢¤÷\v~Hò¸©Mõm\85\16à>_Oîã®×\85w\99 r\1c¡]Z\14AGh}\ 4\1du\ f\D\9b\82zÐM¥\ 4w\1aÞ»\ f¨O\8fV*zßÉÒÃ÷H8\ e[\93\ 6â
+ßH\12õ$à7h\98Àn\1e$çXÀp\1dUC\18\ eC\8d«\87÷\98À!mãï
+£Úm»þR-ð\91·\8fhÃBrÌ`#­æ\13m¹_Ãc\0On\\ 4ìÆ¯å&Ú½~ô¸\vy\8c{\92\11ÐG{~Õ´¤½þû\9cä\92K-¶@
+\0\ 3$)X\0\8d\ 1H\ 5\ 2\94\fUe±)-«@PäWs\15ÉyÀsuW\94\88%\90Á]Îêæº\e\94Ls\fs1Úé\15µº¥§\ 2Ð\ 6à&=t\1332\94­>\87+J R[!'ßÿrJ\ 2æn?·÷{æî÷Î÷|ó¾yÞÿ.ú ï \1eú~ïò\14ïzÉ$qÚæÚÕ:SL¯\ 1£\vÖà4\ e¸UY¥2Êð\15'\95à*dKÀTA²\8d\aå\10ÃRd\1c誦\94^3ÄøÕ:¼\r\8d\b\811\10ýQ/¼}\89WNK\99p]Τ\84µÅùýÒ<à¼\ 1\aÇ\90û   ô=oX\1có\93\90øç·\1câ½X/\10\1c°8
+\9a\13ô\97\17ÊÃ÷R\1f3Uä8\19W\9dg\9d©$\97­à®ç\16IK\ 6I\îJðV¡\9cJ\82\ e\89Mài0óµÒü\94L¿¨^^\ 3÷ðà9\ 2ºõ)\0§½¯X
+Oá¾d=q\95KGÞ\98¦8ùè9\9eÞp Î¥içt\1e·´¢\\bIÙ¹Ä\8171y+òàH\97,\1còYSI<\96{78b\19þ¼R\r\13 íÏq8\f\18\82\89\94äöç99_­l@!E1´à\ 6©¡³\10õ"\1f¬"˦\14-:=Ý\18n¥´\Y5qT[ò\80\83Ýo%%V×kûûH\80\97Ï\a§\1aÀK:\1f\8fid9Ó\1fÙP(q\v¦½¨%ºS\1fP\13\v3ÂÙ\ 5\92(\8c,\93\91        \1fÆ0ÿ\1a\88G\7f\97\v74ÿ}1\82z\0æ,\16F\bî\14¡ô#¡é½øG[\92;1ã\eÿXê\80¯ ªL¥e\16(\91Ò0\83\9f\9dÔÐÑwÈáÀ\ 5ç§·9ÙÃàÚ+ÌÁÏÎJ\98*qA\vXàüé|h\aß\1eý6ex\98\f\80\83øüí\16\9b»ïÐ\98%\81Y\9eþ\e4a©\91*\fHUþõh!"·5qôW\11\b\9c\89\1f\94ùêÂ
+8\8a\1d\82Åþ5\ 2öû\99¡7ɴà    zkµJ¯ÊÚ\97ç\19\99\ 6\96ñ%¶\13¢\9f²Ôt=\9dM\7fS&Þ³F¿|¡51Õ¯>Á Ç²l{ý6\8ewýÒ\90\83=uZ3\97)\85\ f\14\1f°½F\ 1ð|\8cáùKË\1cÎÞØ ¶zDöòusCõG\97È=Íßçf\1fh_¹Å>Î×\1aÐ\96\9f\82\88`.]ã\ 2X8îyõqÃ\9e"}N¥}WdþÕaì½é\12B>×\8e{û¦CÅ   Pû\ 6ìúÊ,qá¿Ìþ!\9d.\11¢,ÇWwÂ/Q2Û·§ÚèÙª)­teò.\19ðwä5\1eUéõ\9a5\8a³ \ 6l\ 1\9aØ\ 5\84Öhæ\ f\83Ò y §¬D\8e\19\9bUÆd4oA\85\12ÊÏÏmÎ+\16\11ÿg¿øJÆc]ßϳ+\16w¼®1,\13\aïÜ\a\90kÔ4ú5Ø\85äoæ0%Ö\97¤~\90ðè   \8e¶~Ë ÷Ù\ 4TÃàìB\12K\84üvçü|o«K.\ 1ì¸AeìHhÒ,=âóé\8f;\80IDðõNV\8c%y\81Í\9a\1ab\1a\91¨R¸>bÃËâè\8e\83Óý\86§Ø:*&eð*y\95ð\7fhÀ³\ 2òòú-Ö\9fgÍÆÊç\80\ 1\16Ã\9dæu\99!>\fÀ8c\9a\1eË\87%óR\ e5\9a\96efÀ¬Ë\ 3Ô¬\ e\81\90V|¶\87\87ÐO\19\7f\98¯ ÿ\ 5©Y,\r+ʪJþÑaú`ë\ fh\14±`Pñ+K\vo2Ä\95\9b    \ f\bY\aÛÛ\8eY#D\8aMH_Ö¬¿\ 1G\ 4\98ßé +z\7fç{qÑj}^ø¯$°\88\15ò\80Gü4\ 5\1e¡cÓBa¡ÏtK\ eo\aÀÏ[\85]p\9a­8\1dv\96\ e\ 4m\9a\8dO\97MXµbÌðQ»\8fÐ\ 41\ e\ e\1d\9dá§¿\8f\86×·\bÎ\91f\b\1e\83ßL\1f\90ã\97Ù&\8b3åøçØ\7f_ÞØS©á\12\17\91×°>Ãp§#ÇS6F¹Í~Wì\8cÁ½?!Ð\bÎC\90|¿î,\7fö\7f\867ÑRpû\ f\96ÏÂá\0Íÿ(\9b\8e9î9
+«£&[\83¸à\9eã\92@[î~¢¨¹AÓ³Á³\8es{®Ã\9fÚoAj]üJ\aÄ¢\ 5÷):Xòû\85R\7fiÈ{Ë\97<ï¥éæw\8cú\ f\7f\19ðxoyx\95\0\92pò_0àøPÚÿ\95\9fBd\96ß ?§È\ e¤O\95Aö)\9a\815L\82S\e    \ eñS\1f"\ 6\15       \86{sÁÂ\ f¸\13æµç
\98Ñ\10ü\81D\9añ\16äç¤fs\93\84ÑÜNpÈyi¨\87Ïn88BE\8a\9f
+CÕ\8fñ\94óò\93ß¶£_­\83\9eHÍl\r\19\8eRE®¶\ 2ÙÖND\86\18ýl\1d\1aÌïS(\89Tsó¢½Ff"\92ïí[kRó\f\8e\8f\12ý=Ø\93 No\ 2d<~\94ª¥pyÇì\82â\98\94÷\ 4ßÝSx\94¯°h°»\e$;"òÓÝxÆÉ1\ 2çø\ 1õ\9cô\86?\ 3,\94Ê\9fd\80S\15â\8f\f˳ý£iF1óm~\8e\11\9b«Ôsú¨\ 1êN\1fë·WxþX\85Çk«\84%2:§Uó3VÌëØ\93CÇVCXB\8e<\1e\1c_\ f\83\94\9eý\ 1É©\1e\14JtµaË\ eá\90\bËk\8dX½fZ\11!©÷2{\8aë÷aÜW³_­/q_*^ó¼máy\1eB\r\8fÕø¿o[¬\9e\99bëíëuuZÖÞ\1f\91ã¡«ðÐm÷¼\84_6ªûÕHk~ãm^³îx¾?\8bT\83íZ\1eCéâ\95ì>dÍÆ\ì6\8d¾\1fJÜø4-ÊËú~
\87Ô\ 2 Ë²XõÀ\e"\ f\8eÄ\84ÉqÉ?ßu ï\1d\9e_rØkÛ\ eÚmöh\96\9dF|;/\16¾Ê\87\13Ù\99\88µ=\$×\12Ude|þ:ù\8a¦2Î[UM\1f/ÉGÝ?ß\f@\9cø6ÇÔ\92\9azC\1cf\vè>\r\9dÓ\13ûKÓÎá\1fW½*\1dU]Àyùðø8\aÕÚ\97Îs\95vª»ó
+ïPZMPKt«ðêÜ\86\bvKµÖh\88O\1aÊ¢]\16³ú    sÞ!5÷X¢\1cõèfëûå  ©\88)é.¯NuÑï6Ø\ f\16\87¾ø?\ eòt\bq·> \92­TÀ@ÏÞl\ 3ê([ûVOù\97¤¥\1eïz±p-z\85Ó\88R¦¯m(\96\92v\7fÞ¯Z|\18ä\83Í=´_\8c{k¤2öÆ~ä\80ü\10\ f©¾ý\8fvg­\7f¾m\ 6ì¸5áo\16\ 2 \81­s²N\10\10\1fT      ß­ýÖ\82½(\93\89EÎ{\ 1Ñ\f7\aÊÂ\9f¨
+LB     N\94Èÿ\8cÿ\ 4ý88³>\89\fiýê\ 44\86x\fϤ%ûûä%\8f/S2BAÂ\ 6\ 5Õò¦\95ÛX?P¬r\9b\0\11t6£ÚñOÿ\0Gz\8a®ÂÑúpØ\1fwÞw\9dö]ÇqÛ«Ê\10{Z\1d\19\86\1eÁ\9bP\9a\9aÞS¦;©\1c1\98.\1cöç÷åSV\ 5¸\ e¾\15­xnû?c#û2¡TYÛÌAN ¨¾sÛYâB\87Ó\91ÃtËt;Ù\12\95
+C\ 6ù*[ø\14O[\a:\1cÃÝ­¨1\ ea\1c\e]¢rpb\ 3Þ&Ò\94ªÍ§\97¢PàtR\92\83\7f\7f\ 5Xøú·!\91\r£-ë\~Ñ^Ü^©\87\80°;\91µ\1cB8.rr\ 6¨^y\99U\86C}}\\1f\ 4\92vT»\12Ô3\aËÙ!\84\93¸«\9cMòâà\10Ý\ 3íhC£^Ø­(féí(pâ\1f69f\ 4¼¹¿a\ 5\97\1d\ 5%Òòðá²Û©\90Yu\\1fü)c°U­\91\98\r\8e¦¤ª9\8c*¼ö"ó\94\ 3\85n\fÕñÑBǺÚÐÀ$öt8\82:?Î\97çø\12\13åf_¢\91è7\bfNJL\103íUg0<Ì\87Í\ f\7fåÌ      \1e\8a\93\8aªEÚ\97·óø{$løADÉ\\17\ 2ÏÛ¡úQÂ<^·<\f¸\ 1\84\83N=Öî\ 3\9c\81²·#L\89áТ\0¨ï;\9eÎJlf|©h=¨%ÄÔjWÊ\91ô¿ÆG\9fëÈù¢Hùo²G4\7f<y29\a§^ÇKR0\vm*^\87Ô&\8eL\82àd½¬\9flßÂL(\ 3xÞÓG\87Å\12bgþt«a\1dö4\7f\8a@þïRW\1c͹\fñç9òP\96s÷PZ{Ëõ&I!ÀÖ\9a\95Ë Ã%ºõ_Éê`ÎjíQëUF¸(Vûû\1fH_dä!²\8fõ\81ܧSø\ 1Ý\ f\\ eé?ÚbÑÐ\7f\9cÃúz\9f\ÃÀ\8dÿi\11×ùÈ\9e\10¶ù¯\r¨~\9f-[½vEIf-Û\v\18jª6Y-5¹U^H#$¶µ%\1a¶ØÁW¨$nl¼÷ýl\10öé\ 4T\85Ä\83\82ú\10lö[ë+µÐ<\fùå\99j,Ô`\1c*\a\1c\98\1e\ 6x\8eSÿB\¬üpÙ\ e\83È\93:\94\18\87/V\9c\96±.\13ç\94.\13ç:\'Í¡p\9f<Qp\9f<)p\9f9\82á>k\8b\84ùÉÂq\7f\ 4Q¶êá9\fG|ÏÖø{)¹¥0ø8MÃ\11¸_ësqÄs\95\84Òø\99\7f\1f.\86_ùòéeöY}¦_úrë\9aj\0\8dV\f\9b9U½U\9b¶j¬ÝËfôf"³76\83\aö®®.oÔk\82¢du¯Ø\13¢\10\90ÔÚ\92\17Ë\0\ 29\8aJt!ªë(H&¹!chµ\82ºû&*»æ&\15×\9d\ f\0EÅM]÷9\Æ2\1a\89õ9Á\19ï ïÏðoÓ\8b\11\96飡ìäW\1c<\\87\8f±cõ\8e}\87Ó\8e§\ 3à\97pA¨[\12Ì\vÁPèY{ö¬¿7\bÑ\15\1dòaþüéä¼ÑHBYKÍ\1cô\8aQ\12\ 2eúbɸ7fàìË\86\f;y\9c\9b\89¾åÆ#<ãCáöýÓ×\ 1\86\8cIæ7 Kï§\bàD¯\88\9c%×á\85\15QõV²m\16\97çÜy5\97ÖLÊf§¼\ 4q\97Rhy\v~ÍÉ\88.x\1cÎ&/\a³1E\8f\ac!3ôò¹µªð,\aëßÊ[   F`\8c\94ïÜ`ç#\ eÖ0÷1H^\19\97\1c¯kÅ\97¿\87óGÁZ±\95\17`J\vö\8aDPé\88Bc'þ¼q÷]YZ\1c\97áCþØé\8e~ýì\19\92ôV×/(\99ì\ eÈ>Òß1á½\81\98\ fY[£þ¬\15¸ìj¨Ùð&Ñ(¸Ú\94h8²Ý³\88¦\evÏÝ3ûÍ÷;çEF²y¼µçDþUkU\14kc\ f\95\80\14Á\8a©](ýâ¥XI¹©xÇd²N`»Ë|k\110\95È÷*\85çjªVúÀ»g\1eU\9a\8fUPá\92§¹(¬M%\ 1\89û'¾¸zËÔ÷×\ f\84ÓÍFÜ; \8du\b"aíú\89¥\81\ f\riBe\ 5¥       µ¶\94'\ 2F\98"\81®\ 3ÖªB\9fà\18W\r\vø{!J6 N9ÉHÏ\99y$G
+\89/ÁB\98\10Lhåa'D).`R°§5L\ fÕ(\13       *4\85ë\81C\86¿|Ð}¨8Uö¹É/´ÅÂ>\9fïL¸öb(À­aJ=}Ivg\80õ\81\\9a¸ä¸ã\10\\97Ön\141\ e8/`L\830Æ_î0\1eìÊÐ%¼ì©m\16Ä\87gºÐàgW½\93\ e\ 6\8aá;Åà\95Áè\ 4Ð\ 1ûR\f\vØ%ÒÀL;N\18}\11×è{\1a\87ºßD;\1d@\b7o¤Ø\f¸H\16þû\ 4!LàÛpè\8aM\ e\86ü|\b\84¶±v7Ã\bÂ\94@\90Ús\93!\ fe\83\1e\ e\82\96\808\1d²Kk\ 3\7f\ 3\94  ñ\90;"õ6,éòå\13\9a\aî\ 2Í+m\95]\95\87ò%r\eHY)Î;Ý\9fe\9d\ 6½<â\99¶U¦$ß\17³\90#¸îúi\9cJhý5\96j\1a\16\85\ 1¡Pÿ\96w¼³)\15.aÏve\bÊ\ 2t\87^ÎýY\ eM¸eQÐâ\18Û³\95E Ùà\99\f\12\1e·\12­°÷ZqB\94«\1cI<_ý.K$\1e\14?´]\83kõIJa5\94"\95\r!éû\90­Mà÷Á\85È1¯0Ò©n\vË\e|\ 1êb¾z\b\-êüê\r\8b²¡sK¿M\9d\[Ã5Üõ>Ô©iT:\87¾¿p«5Ó¹÷¾¿rY[H®\1eã@õ[\91+=\e\ 6(ÂQL\8b\87\92+KdÛ\ eL,ε6ÍI×Ü\16Cµ[\9c/·çUÓ©F9     jì*Q\8d@ÚæJÏR\91
+dÖ\ 2ËîÚ2­¤>\8f®\ 4sbë\ 1\9b\ 3\8b\86w«ð\16$\18°ÁÃ\8aÖ\17íΨ1]'ÒÙß,\83 Õzhê¾ÇÊ(\80lC\17­\9ebYð-¼·­Èû\82½\ e?ýÇä\874a\ 3.\90\81\97\f¸'8êÍ\7fÄçJ\93 \7f®ý\96Ãâ\17Ù3\98\1d\ 1R\14\86âMµ\Qyï¹ðýqRÁè?´lÝ'>\92\f\89§ÓBZ®8¼×ÊT©Ù´þ\15ýgñ\fMjTð\9bÀzbQ\84\8fw\83\r\fwéîçD«\16\ fw:5X±{¹ÒI\1eÏ}}7Ø\15peU&A5\85hü^¢\87\ f\v\1dyôÔì·\rj\13\1d\8fL\87Ìîúl¶\1f)\83õ>\9e±[óJß·xgØ*hÀ"ñ¬0\82ÿ\80\95³\89Lû      ü\85\ fµ\ f
+\15ÎÆwÒ=<J\85ì¶\19£\bà¨rÊ\99üC\960Ïô\ eKªUV+\0§rÈ\ 2·ôu\82·\9ckÚÌî\8aMá^ÖLª\165\f^ÖMÿè,\80\ 2.äQ(ûRS\1f\1aø{\9e\98S\1d\88°$«n¸ã{õ¢\8bÍ\rò\80\10¹ÊSÝ\ eÞ,­Ü\187¤¹qK¸\94êG¼©*´Qy%\9eø\r­9\8e,\9d5*´tE'Â4î7ò\8dZ,\11U¶K\17\89&0Um¾\18øý"\ e/\17¤ùàýËßâ8\10Ñ=\82Zþö       kÛØ%®ïkB¹ËÈDíå\92ý­«\8eI*ǧÒ\1f
+ú¡{ì'×U\97;áð\8d\f\13\ 2\95Ðô÷£þn\95\8dÑxû  §ø\1açem
+K\8bÁ!\97j\7fó´'I\9d2\93:o\87\9e:ã<³W\9f[I\9daíçæyÙù¾\8e\7f\11=A\89¤Îè=\9d\ 6\87ÚÎè\94ÎÐÏg´´T\12\ 4U\10\85Ç»iJIµ\8a»\8d²¶*ÕÝÀê§\93uv(ða\7fVÇ×[dJ¥©õ\vÿ\96ÊWõH\92_÷v"7®\848\11~Ô¤-½e°¾\14\7f(ãÉ
+\99h±òì³ÿÿ!qÉ!O\99\ f*gò\90¦ä}[µ\9fVî0þ\1e{ï1O+ü¢\9dS\801²CÀ\1e¿é)ð8ßY¸æË³¦v÷\ad|´§ë9Ç×Kðiw+\9cùr\86'\ e\17B\12Èiô?ï?Dçÿò~ödÏÙ\8e\84#¡Ðÿ¬ý&F%\ 5É\r÷?ýB>ºõYG\97ôÃèý;jV\8c·]më%Ø82ä\ e*ø44\1a],\ 1öb:ÌfÀîóÌx\10\10ÏÇý@\804âËo\114Ò¹%§Yn\97;\ 3\e\16BMÇ%º^v\84AóÏP\13`!\1a  \88@s\fÈrpFÌ1\18\88GD.&ѧwGIJJ\89?r\81Ð\92¿^×SSOMQà¦\93\9ccï¸\1cAEQ3\aÉ»\94{Åá³3dI6\80¨\9bÁ\85\ fé3òVÞÈË<TN¢}áË9\9e®\12E¤îA\13QËJ¥Ö«1\84¼XðÂqe\ 5aסÄ~\9f¹\88\b\9d\17é\92\0Ëaó\94ü\1d>)#8Çî[2Ø|\82*®Û÷8ö[\ e\0\81W\89û\99Æ[\ f\80\8c±â~æu\96ÃûÉ\ 1\9c\11\19ä\99l? ¥+\0?s\96e°õA¶H8\85ò\95\81ß¹\ e\99\87BV\92\a\82ò{zZó½³ì\19\8a`N/­±\95 \L>ÏËË@\8a\972%\978ä¹kö~^_gàO¿s¥}¥.\12\80´F:eù\88\ 2µ¡\8e´ÖPæÁ\86\1c\8c\1c¿s¦};kC¥
+\eö\9fc\1cY8äÒ¿´iaÚ
+\ 68äè®/êo¸ \99ñ¦Lx\ 6\7fÆ'\9c¹RCJ±\\9cR£?iC\9eþ8¡ÎfV(sA\83\8aTuã\ 1\0\95\8aRþn®)Kíh$â\94¾Ö\83ìÅ)}­\aþ&¹8¥/û¦\9eõñ|_;\9bÕÅ\9fíVåÅÕÅñ\7fÓuD\10a8J2Ø~uw/\b\7f6Qc¤§S\12Ûû\1d\98\87U :<^ÿí:iàâÃ\93T0qxLô\9c^\13ü±wÌþ\ e.ùü±wJ\ 2Y·D®-á.-ÃæGú±n\eù*£¬vQae«\83¤\ 2lDû\18%\87c÷c÷c÷c÷c÷c÷c÷c÷c÷c÷c÷c÷c÷c÷c÷ÿ\7f\9fÕè²m²ýÇq\9bígòÙnݲ¾\ 3\ elïÈ=\r~­ñ~$¶y3Âý»7tÎÛh»êM\18³\13Î2óÔ=ø²óý¶[3Ûe³\ 2/Ì"\87\16Iß§\118­5C¨¶ÀH;áÔZ\a³\16\11P©¯\11®8ÖØ\9bíöM\1d=öù$\1d\ f¿\13îê\13+fp.á\1dGlÎ\9a\91Ç\1a\11¶Ìá0¶fäH\9b\Ø 8èûÜß5\1ed{Iþ0ò\ 2}3Üæw\ 2óxá*        E¡ªE8E5mx\85h¥ó¢HÓ÷5ÌU\9a\99\11\94ʬ\96D§x\9dù?î©(ì\18\87Ù\ e«\92¼ ¶ã Up¢=bÙÎÎ6ËO}½lÿ\8dâø\8fOÇÿ7Üö°\1a\ f\ e\8afçU|»Ô\11¨3Þy\18K\f0§³kYyíÖé./¯áwÖÓl\9fã\16Å\ eÀÚ\98e®p\11`\94ת&p×­s\1dVm¡ÅXæÜ\19ú\82ÂÃè¬sÊU\9e\12\18Ö\ 4¬\92\1aÀÕ@\8e\1dÏçUæ\82\1f\ 5bY\9fPU°ìË®\81ÎÅ\19\90xf«¯çXç@\8eH\19¤WP\8f6C\12\94Ö$M«\9b]6\1f¨X³aÿLÄ?A`þ5\91a¤²i|h\1c\96&wΰX/§Ú\ eÏ\7f\81\171\96ÇV²z\ 6\8cëäÒG´V³,Ý\1c\8e\19\82ìH·S\bKªä½\815C\9f\fHm\82ìP¡ä\89\ 3Ay^Ñ\1eêa\19nÞCbD!³XéX\83\0\ 4¤±" Ë\14*ÜPw\97\97bGIÙ\84\9bâEР      \85ã\96\f¶<\93\92Ï\a^\ 2\7f?\8cun,S÷;6ø±CÖ\1d\ 17=ú8ëâF\962ØûÇ%4F\16\8cÅ\91`§m7\ fô\1cçä
+>Gd&\9cûȱI¾(QlLØ©û7I#Ú\83Ã\ 4\e¹Ñ¡8ç¹A\93\9a$%ÜÒ#5|IÕ\82+ÃRÄ\18\ 4\ e\9c⺡å*ë<åÚ9GSÛ\8bÑ¿·9üC\9e2óóg`Z®|.ß
+>\ e\84¹F¦DáÕf\añKÃhq&Ìü\1e?·-}Ê\83\12
+mï¶4¼ó\10ìÜ»C\1e¨\1fÆ7\81±¦çβ\81\10\95v\8fÛc}ʦ6××%bå\9b\95Þ\1f\0JÎùW4Hä\82&ÎHZCö`Z.û¢Kp\90·8ÁnqÂ\1d\93\18¶Ø×\16\8d%Wb¬Yä?AQ\94­\X\86\90²\1a?\88 \ 4:5A\0:`7ÌGhlX8\8f\fUx\10\81_óz²·Z+ÇW:ÉÜ{\9cz'\ fÇ\97xX\927cîØÃûF¹Í#=$?gMV\8bË+T¥\94\9b       ¨ä&\87Tl[e©7õ\ 5\1a\1e4ÒY\88¶_Þp1?O´\8e°\96Se±÷\ 4J¬¬]\96ÆôÆéy\876G\b¨p-m1\f|7r\ 1Ý\9a8\95]Ù«R%Ew\85\8a¤¨µl\8fÝ%\92\9bùú2T(u¦@MM[v:3½r9\92ØÎRC\13[\89\13yò8âD[\86ìÌ\1dd´?4À\8eL#\8cV Í+%\16h9\15©fq"H\92V!V÷ªt\ 2LV×\10ó\86n\92\ fCäç»\95ß/I\93ü©\8a\8e¹è\ 4\1d*Òõ \8fµ£V\9a\aÛÄ\ 5;\8dÑ\88³Ý\1a\8ff¨&È\82@\97f¬å,«\96\1dE\15ar¡\h :|ö&    Qñ\8c«\91\18\9e\83è\7f\8fIJz¹\1f´ÄqäioÒS¼TDLÕÈç\18\8cÉ\1cáô\94î*ätM×\ 6\vÅ\90V\87Ì+Y&ëäHS\1c¬£-=\ 6®\97\9f]n¤\97·¥nþ$\84<\1c\b-1Âw¢Ñg\1al\ 4\8aÈ-\12\16q¦0Hbk\bíQX¼~\90¢W\9béÛM\94\99¨\93q é\93\ 6·:·S\a]jë½Û­\15vVëC\¶ëC_Ñ0y\8b]*8\ f.µe\8a\ f¼\16­{^&ÛTA5;äÙ\rd\ 6þ¨\92¹_\9bß!\95H\8c¢0]ê\92¼ú¤\0¸ø<P)­\0ø\8bË®»è\1e,Pw£Ã\88\b^óW·O\0£cv½=¶¨\1c¹Ð-Ç ^ù\9c[\radVh­\1f£iqÑ$%ÒáùV­ï\97g\ 5!\13T{²ßvr\ 5GJÐ~í¢¡ôä¾#:`\fÃÙè¿\88Ðd°=\9e\8eø\965qÁo¾Ì¹%\95r¬~\84;LØÐ\97\7fhv\81+öÈ4S\9aÞ\7fXb<áã­A*\8aW¤~\8då\97P\ 6h\19L½ây¾Ë)\99\ fUEû\9a*M\1d\ 34\9b%W°Øú^\9cîÉÿ\9f³ô+,¬÷¹¬S\99?ÙüV\8b\15¥Åy8¯k\157\8bÛbìqq±\9aìrXëIÌïõÿZ+ªâþ\9fÜ\86i(Þ\80tl~J5`tE\82\8b\ fbå(Þ\9a\18´£zHa¶Vî¶Vþ'\17\13â3\14=Fþ\16ÊýE\91gîbp\8d\17\10\83û\88ä\96Ý\1d¾YKÇ&\91\87\v,¥Ðu©~\1eÛ-\bJrHvßÔ?í\ 6\V\83Üïï\97V\86!\98ÕK\1c\r£OXV«¿\b«EGH=`\86Áe_7\8asþ@+Úùküë°RqæSÓZ\12"&ªznD\86<\92»ö\8e\87àoð
+^\ 6ønôÓ»Áè4Ñ^5\87öä4\1d\ 4\99\89cXz\89\18\eEÞ°«\1a~\10è\ 4\1fy"²kûEY\88Û       Ö\ 5Î>v-Ö>çq;\1eëq
+\80wzW\81(\99\15?\8f\9a\8e?mIï\98mÝ<íîÝñÐñR7l\ 6ÌT\9cU*¢DyQMO\rt\88x\11ð\aÚ      Ñ ×\83Ë\v\97\8e\eASç8¸Þ-\9f5bWFE¤w»dG±Í\8a¢\9d7\8e8Ê}\15ºÑ\Ð@·¹ Ù[¦î\92ÀFÝùé¡\88¹ÕγíÙÀ·£qÁ\ 6Y½õ¼Jk\8f\9e\9e¡1ú.bí\8f"Fä;BoIò¿\12¿
+_\83¹\9c»­Ræ\90nßïæð#\12YJÐ;7re{j©zã\8aÐè|A\ f3¾¬nô[LG\8a%Í\YVP·¬¡\9a¬¡\9e´¡\9deYB\1d+l[\17\ ebÉZPö¿\82Ò\87³þͧ\1e\ fÊ>8¶~\ 4Åe\v\1d§\15Ç\18|24ÊÖPå'\99\18ÓÉÆ²3¿`âùÄ\8a䮼\9aó\ 4ÈËÞm\161°«òBÚñkÙ\8bkǯÅ\vkeG/ÁDßq/\8e\1a\at\ fö*\8cö)®u{«$0\8e$8¾è{\15Æ\16\8f\98;\14É*b78ºö\ 4\8cml\99\9d\8e\1e6pü8Á^\84Ý»Å\92«ù#|\9eÔ\94þ     *8éçª\99\13\e$XJ¬­WêÞ\ 6\ 2\f¼râ¿%£H9BÒ\9awPnàÑ1u·yà§\iaF©é@ý\96vë,\94Xvõ/Ö$ð\aÔíj\97W\9b"\1es©Iï¶\14%\83ïEïÖ\8a\11»(£¡\16Ê-8\ 3KJ\1cïöZP¹ /îk(sÄ\ 6Y¶à\ 1I£Àg$\ 1i±¹µ@\15CýòÏ\e\0'\1e¹¶ÖË\87]\84¼ÐÀµ¼\81¾¼®2òºEâb3]\8dd+\92\ 30\18_þ×\bSKì[\ e\1eò+Aþ\v\9dªé¡?\ eê`\b\92ö_\8e+X\7f\92+ªOïÑ{²\ 2øé#\85-ÅíÑY\1fõ#Ñ\81o\1f\84\8fÏNñ8°é3M\aßÙ\8ek\ 1(Æ#\8e\1d!\88\ f\10`ep+\87ñ\vn¥ÞÜy|Ða4\ 1\8a*0!\85G9\9a\ e{\84Èÿ@\86 \80Ó\1d%!\86(\ f\8f\1cjR\ e×â\12\8a×_\84wejµ\8fï®è\fÜ\b       \8f©\7fP¢iFZ\8fmK¨À\83\9eÇ
+\ eg\1c**,æd¦ÊÌ\90ÙY\9c`\91[\16¸Å%«&k\bù\16~ËSR§¢\94fh°\1d\0\87T%6   FÂ\12xüâAnØ~\18¶ðõr\12\8d\85E¥n(S«,¸\a@!°Ò¹\98cn\ e\15\89\11       ^\95Þ\16\1e\92\1c÷\18C\98c\84\8e\1c\87&ô­¦ú®\aESéÀ\82¿®u\9aÂ=ŨL¾9_sz\89¹K"3·E\9b\99\94VBÇ)\92\b\90³
+6J7\9f®Z\a¾Ä9·FX!Ó3öJK\12\ 1\9d.\ 4\12U\9cá*\84\15\88avË\87éÙ7K=\880Åè\1c6\17ûxµ)\90â·b¿G\1e?ê1ö:\ 6úëYÓß°\ f\ 1Ð[\8aý      \8b\9d\ 4\8cºú.#<\88\9dwÈ:!&?\84\94Pv\ 4\891$7T?î\121b'`Ï"®Ñ        /\93Üï.:\17éÜê\87¨ÞDOOG`´Tn>\87öÌ\aøäSU\eqôÓx)Ѻ\1e¼O/Ñ:ëY\12\99:ïÊ?¢BuÛ¡ó      §ô\8f\94M>Ðù2\13t?\96CÁýù       í\88|¡ð¤\ fÛ\90û\13G`ØW\11é\9dWj\87_!ã\eYÀ¨>,\8dºv=\97>{§¤5\80\91\9b\rf\10\ 6\ f>*¦\ e{\84\17¹1TÅ!þ-âd->³tm¾\ 2¬\få`&\1a\88om×ÃqÒO§¿\12Â\ f%ª\8a7â#×\14uR÷:§>Ê\1d\1dÒHÞß§_ñÈ\1e~@úqë£\8f5#¢§RÕp{üój¸1\1ehF\8f¥ð"hnNú¢²¹Y³o\89\15\95ÚÁ\98\19k§Â<|\81ád\ê¡}\ 3¯\8e\0CðG\93±Ä=Ôqì£Âè\8e¶8þ(ãb\1e\99F\90Û÷÷XòRU\ 5¦Bd)\1a\v.uJsÊ\9d\v$\89¯8\85.Q¢¶gm\85³·]Ù\86y¿[®:¼U®/¶¿¹Ðñ?\fk\ 1%úK\rÂ\tö\9c\9a´ÄÍæq41»^J\96öjL;¥\ 5¡¦\94 \90iR?\9f=RÕFJµñ09u#ù\báÑtBä^×6º­ºlòØÞ# elÅá\18KÝ6¹mºlñL×\13\ 1Ô%\8afI¥\82\99bif¦P\9aRRt®ùâ»æÊï>M4
+eJúÜ\9ad)7s\8fc¾h=/Áç\82Ó²&ÝcÃfå ó_\ 6Ϳ󠠠   «Î%Îà\1fòD\7f\90WýÀP\15>h°×8h<'Á¸f&¼H°ãO´\1aÏ\83q\86#EÎÇù~\v\1c°\9bß/4¾\bN\1fá\92Ù"¶u¶\1f¡)ý\ 6;w\90\8aÅCvï\15\86øÒ_\19 l!\15Ël:PsÛ¾\Ý,\8f9E\8dÒdÌ\8f\ eç ´Âs\ 2Íæ\8a¡7n\9aRÜãÔ\14Á*\10b'6«¸¦Sö{N\ 6ç\8c\81\12ÕãÖ\7f\82SLİ\87¤\7fóôÉo\14£\ 6¶Ãò£\ fä\8d\ 2Ý/\88×@áª\eØÏ\aø#TµyP\98¨ç\92Ï|øò[>Àá\ f\b\94£Pr¯\87\8b\90\89°\8e¿¦\v¦øQ¡H\1f\87\19÷l4#>Ê9ÀA\83\98èÎ\10\a\[\9fe\19¸\1c\8cúj\0b¼¬'îbS@³¦\ 5,¥/\8fuG¨°\11\9b§\ 5->±kûU\97\1d\1dM0,T®Ô\12]ö¬w\13B.>\7f\89 ^~378a\12Í»\99 F{´\!\18ò\9bR\1e\0"âHáà\ 5\85knkwLÐX\ 2\9açq;κÜExC\9d\9apvîjéNwY\ f'!ºÈ|\99\vÜ\87e;ÞN×δ\1f½\1d  çCÒX\8fG\1c7oÙ\86?ìIËkÇx<\98\9dx\9f¢sÄ`(\7f\8bßx\14¹\88)\9eL\86Ö\13\0ÄÑ\87¥5àåÄ\ 6&=üÔø\99¦{öóâç'\bÛõ?vÙs§cÛXØ÷"oh¼Uÿ'Ò?Ì
+Oľ\86\ 2\1d7'"°\8eÇT<_·L\7f®@ÖGG\14\94\835Æ©½\84¶ùvDI_ Æ\17K)Ì\1f\84`ÿ,\85=\11Üu\118f\89M\8d\e§v?´CÖE¨\1e¦8ÿwQÝ\8fï6¨ë\1e£gCu\15å@\ 5Áú\9dDØáòN]k8\ 3öz\88ãÒ\90»\t7²!t\a\86\15Û¨\16¶;\8c\84÷øì­ê6IÔ\ e@\87C"\1fi ~oQ\1c9\r\92H^rD!\8f\98'Ë`s\bXøl¤\ fÂ$\8f\vé\1fë\13ìe\1d\81\82\84`ñä\92®/àg²B\f\8fC\fdG\94Ðî£\90|Äc!\f\9aR\18yÓ®ÆêEES\ 4\9bäE_~¦\15Ü~"\J\f\0m\11\86{"C4Ã÷#ÃâG\1aÞ¢.R\90i'\8dìxPÉ\1ee
\808\97\ 3æ\ fV(~\94qÔ  ö\80\96\84\84\91>\9d¸¿À\80Ó$(\13Y1@Äe\ 5\14~\84d&"nÄ\1dõ'ál¡ê£Ãðc\8e«êsîÉFaé#àV4\9c\16Ñtè\92\9a d%£"Ã\9f\8f\80K4ú×õÉB^4\ 4ñÐÿå~ñó\aD'Å\ 3Ä%\87}\81\16þ\11ÔÉÅ ~¦MÝ\e§\1c\11÷ñ\91ÆV·\93ÝdÊ\11\voºg\bäM¸º$%C¤Û\8e !\96\ f\81^H\êüÝ¿\993Ý#Ï\1fÍ\15\15¡dþ¬\1fm\80Ù»q0\Ü[tÃ\87­ïW\96Ðcú"£P\14\19\ 5©M7\15\0N)!¦ÝP\a\9eßwLÙl\7f¨(\v\9a,-    \1d­\86üD»òðgd§\94\1a½%>ë\8eL\ 6\8dÄ\97-}Ϋg¤ÉG#¢D\9bzj<úÞ+r"\9d²sd\8e\81Ç\ 6\0\ 1ÎRüß!\ 5ú-\99 Jv¡Ù.7\u\82Àð:w&\ 6\93$ëEq~âÈ\8dûN\e«\8e M\ 2ø'\ 5 \81qþù\82¥±\rõ(F\a\15m;¦ö-ö­êÛµÈú\19\18\7f\1fk\15£ºJ=E(ø¾óü\ 3µóÎàüÐ=_,S÷Ðp,ù\86ü|¸>¨\85\90ãT!6\94eºön o§î~;\7f\86y¹×¯'¤aêu4Ôõ\rx\8f÷«nà[Ý}\ 1\84B&ÿz²¸ËÇûÓwm\87\842ªZîa ÂÖ\14Ã?æ\99»0qÄûè»\9di\ 2Ýÿ5mÙ\ fj\10ã\8b\ eË\ eàUKÉ\ eÙo\94Â\ 41°þ1>ç]\92\11²ß^'\ 3\80ÿztëY\84¯ r*ùvâ²\ 4\85ÿÅ\93æ?æ\9b\ 2Öð\90ø    \92F:\ 5\9cëR56~È\1cÇáÈN\94\8e¿
\a¸\12³\10yïî\97\9d}=\ 6\16O\99:e\95ºä¹fYrÍb\9a@±÷0À>2Q\9b\97x|lÃdº\87y¦û\871ߺ$êIN\r¡(A%X6\97\8f   *u¦hÑêS¤%JreV"î\a\1fN\eºsUg\88R'äKT\82Ãù(í8ÿç\1c\85¦w_\952\93§Ì§\83Ày\ 2ÞïÏß"Às>íÅðq\97 \11È\85\8fî2Xì\96\13%\ f9\95\8aÑ\QÉǺ\ 2s\1f\aæ\ 1 À\82@\ 4y½Q\1fñäe\bðÍ\9bø\9a\1d\95½ÜìNßK²·N\92\ 5¾\87C\ÂñÐpZ?'¸\1c\16\8aé\8bÈ\eêqò$'IxëCwºI\1eÙÜJøþ\95´ÝGƤ\ fÅå
\96hx6G"\ fXqýßrâûºFô\92~\9a\9a\ 5¼\v:u0Ú\1aé\9d\ 5㫯¡äì{Í»ÊpÙ\9di4Ô»ó\9eß8©\9d´\87\97Ô\17óìíñA\91\v©K)Ôλ­\ 6\9dÕ!\19\91\95p\8f«¶HGûäÿÞ\1fÓߤ$/ñ #7ýI¤WB2¸Õ\18\ 6ÖÑÀ  ©Ï\827\87Áßø<:á\ 4T\91KÂİ\1füþqïú\81\84ËA\19ä\8e\9fÿôxúyKH\1c\18\17¼´"S0x{\17T´za)\94<>½c\95\93SÃëÛ
+ÑéðÇàJKGã\89Io²Q.Ýq·é×\9ae\8fxéÿ)¬IN0\9dà²Úp,}\8c\95\85\0w\ 2ÇÞ\bγ±ö69!\viÁ÷Ã\ 6S\ 4»Ò?A»¬¥6'ZW\88\9b\16v+,L 6Ý/\8bÙ HBm\96 \ 5ϯNr\7fÉ\93ä"¿HD=\95n¸S\v7Þlfðtø[Áñ7s±o,8\ 2\1f;v=L¸c\fÍ\1dE\1f#wh»j)
+\90\96¼^\9cKi·\81²sF?Ë.Þ\a}6\97)\93\8eHõP\9bÀiÈ;\8c¥òf\ 6!YP½;íêH\7f<T£Q¢¸}ÿt]Ùí\ 3ét£iµë\87ùDFîÚ.\1fônÒ\8dÙ\90\16rf\14Ó\ 6îû\a\16[%È    G)F`Glä²\93éF\9b}\8b×­\1f\8b,£wCq\93\ f\a\ 2Û\11\84!\9cÅ\1d!q~\8bcx4ôÐ\e \}Á{Z\85\17m½oCû\85z\1c\ 2B]«}\1eÒ\8aD\82Ja\97\87ÐÙ$\91;gK )\18e.\14\92%D6Éy²$ t
+Y\e~
+´Í\ 6©FÒ¡@\94m\1a\18D£Q!0J\84\82ô£w¬¶?¨ÀQþtípÿ±\88c\86Ìľ¡àe\9f\95."û¬\97\11IF\95Ç\9c8rù¾\155;å\90\97ß§\ 5\98ÇÜ`N»-¾hÏv¹ÐèØ¼\7f\11£ãk\16\9ap\8b\83©Yò\99\93Ys¨ÜùS\ 4,$\17äQ\7f\82\ 6\ò÷n!îØ\11\9aÉ,Ã;ÒÒ\ 6sǨ\9do}¤í\8cFsëð\80Ô\98§O\95\83\13éò¥d a\90{0W ö×,\7f¬7©kC\8a\11 \9eÍ\84
+T¾O\82{ʹbTõ½ø¶\96U\948è)¿²g)={Ûë'¯{\1dTõï[ª\9e½èõ\93×\9fõÓ×\9fk\81=sAßè\eu\93×\1fjä§­7\81¤ÇlË«²W%e\ 63«öt%OHÎ\10Üt¡\9d\87¡\9b>±`a$\11*A<ó!iC¥ë'\9dýô>Äó¸s²\12rÍö42yÔ1\84Ò\95S"\r\9b6\12\86Ê2Á´¤tHBMÝ*æ\8d\17ÒÔ\ eƺM ;±u­\0Õ}MBb÷»cgòç\åÖ|Ùe·9v\17Î%¾l³\19ü¼½Î^bk/3ïvÄT\11ï{÷X\92\96úÙ÷\9cæg3\ 3\ 30\11\88Yy\82Ã\9aÔÇY\19Ö\91u\94F«fÀ(0
+\ 5¼\1c-îÛm¡Î-´«Âͤs\rj·»µ»å´\17kZ~oc´l\82Ò\83\84\v
+«U³7j\1cI¿²â¨¥\b\0ç>ÿ}Ì\ 5ª­ïÿÿ~wÞ÷á{ð»ï\9eùïÈ÷è\87Ô\1dl\92I%±¾ÖCþ¹y\1e._\eéåúl¾gA\98ë´7}t×\17/£o×1iÖÖOòF¹Ú#g\92W\89\ 2/B¶\1cz\99rÛ±S\8d-íºxÕ°ãjK±¶¡\9dõ¯âSà\1e\95\10Þ"4£\90\16´ªòÓû\95zÙ~ÆYI9u¦XQ\9bÛt\17¼v\1f>PµHTñ\13+÷'R@Á\9d\12\1a\0\85é­\87 ©Ó­\875§f¶\1e\8d^üv\b¾=\ 5®Ü?Þ\18\95Ð\9bæÖ'Ï6dºpi>\e\16\95\93|êÄïG$\13Y7ô>¶\96pê7G\8dY<(f£ò\925\89ßÖi0+<\f\15´\98GE%"è_ÚÒ´£umJÈ_z\16\90¾2\ 4ñj°ÍL\9aØq\8aä\9d>Ô6\87À[\90W/Q\8d[\91º¬Óý&\1e\fÍóaX\8e`ý¸»åK\12gÔïM\94@\9dN}÷öN®      \88çWüçøQ3\7f\11s}«] é÷xx\80gP·*\16åCÑÍì}q\10@e1´øÚÄþ\93\0\15(Óx¿â¬Òs\96O\9dø¼xV\9c¤VùPw<X
+ÙÿÀ\18\bñÛ{\9c|ݽK>®óB¿=ýÍ\eÊÍ%íg\81ô\16GYÖi/\ 6 D\87­~À\9eÄBAPÁ=íÃ\1dSëi\7f~²nø²(\9bÇ4XE±brw1ð\8fF\8b¨\9dõ        \12Éú!±\17fÓ7í8{·%\88\8bU\9dØ5\ 5³\ f\1c\90û´;}ôN\86b\18d°Cád\e\96\r\ 3Aáu\999F´^«8{¸OIE;c\18\11ðÂÍ\90l\19+T\16b£"\18]\0þl\81ó%tŶ~\8au\19àöD{#ÓÑ´\99;NY°æÛÍß[\85ê!\91\88gY«é\99\89\,IA\98\95Û\96ÚiT\9532ñ\ 2´9\8eÂÕ\10]\ 5\19<\85«`\1a3x?æ\1f¨«\12P\94T4o ;\9c\9d}7ô\86Å\17»´yaÅd"\14\97s¦§¸V#aä\88t¸/\90VH<4F#ì¿Xù\84XfjmQ\19¼\r\11\aè+\94\ fÀÉYPí\99>\9b¾\99ò\94\93\96¼\99Ï©!3 -BóÊ\13?\11¤Aw\83zÀµº´lØ$êÛ¶\9c\9a-£U#g,Èw*\ fB\86\ f$Ì<\8e\ 5SKóUÜÓ\r@\88,xÙi\9d8·ø\8fú'I\0Ð\9e£`ë\8e-PÿIcD¨w\8cÃRÌ\b\82¿âÿ\b?\82
+ÿÐ.\19\88^T1Ì\95\1es\8bé»ãÕ\8f\ fA\9eno\9bT\83é¾kà\ fêÌÁÇý¡n\86á½Oó.}ïæÂ\16B\8e'C\8c\85\12©\16Í\1c<\eÞÿ
+Â#}\0M\9eVo\9bRz»\vy¾i\ 2\8d\ 6\94±% °\95\10øNqâù¤\ 1öø&\1e\81\15B\13ò\16\råÂÕ\90]2
+cÕÔ\8c\95ê5¿\1cRVÚ,\13Æ}PO%öA?ÎX'ùð\83\87µ4\16\92\ eÙ\ 5zðå2,7\89\ 6¼\f þ\87«\93\ e\19êäo\91­#U$ña^Ý\94HWå\f+\7fzÐФ°Cy}7\84r\8c\8a\87\81vûX©úõÈ\13¤©ë\83± j¤ê\7fÀ,\ eVZÀçÉß-\87¼\eݲ\8a\1f`@bL3g«"\1e¤\9a±Îæ-\1e.ÙÜqÏ\17f\ fd×úK!e\90«a  óº×hä\1aQ\15ôF&]\82v~ú\ 1ÊøB\ e\93\88(~­µ\1f\89¡r\1f\98\89º×8\98´,\82nHI\95\95ma\9fÜ\90þ\7f!ýå\86\7fnT\10PÞU:\12\b\9b%ÖZ\88D)Õ¾\8d¡\1eÀj>P\93\13«µ1\15èW\ 5\v\90àU5ë9¨[Ì_/ïb2\8cFoÒEϵ´\80\1dn×qÂ\11\ 1\90\87\9aMSÅ$\1d=ÖfH¤c\83¸ïxç=½8Ý%(\84ÉÎd¨ç'­We[j\85ξÖ\8dï\1dû%\88i\93BËX˱\9bæê\eT²Íÿ­Q©Ñ\18ò\86\ 4ò3\16\83aj¨fýª¤\82üçOÜv\91\0w\ e£{\86åµxø|\ 1\ eìß®ÒÅ ø½ÈÀ\11\89?\12µû\12¬Õ~\0µ\ek\8aÌî\ fÌ]æ9BIÓ\9dÙsøÂåtE<+\95é\1f$Ø»#7KU¼qÊ4\89sï`\1fÐáâ@$\9b\99óO$\8fëÓóËC\80Ú\9e÷v~\1f\81 \83\87úô÷\96m\v5\85P8Ê\13\16\94\81Þú4T&®ï¼E\r\14V\1aãD­ÿÌÅÉlxw8\15\ 5i"2>!gûÎ^\82Î4\9c\99\9db\92\9a<´¾\8eÚJªÌ=½¤\1f\9e j\92\8d¥\14\0¶bæþÈ\9eNÿ¦°Z§\1d\85\ 2Ùíx\82Ñ\ 3ÒÚAú,\16]\9ebÓe¯!bLm¤\0íF\80â¢)\95ü#Mã`FkHÉN¨`¬\8aù0ã\1d\16É\8b\99§eÂ\v¬=oÁ.ûùóz­oÀ2¢hs\ 2ÆòÌ\10^H»¥t\8bÇX­g¥ù×gbÔ»§\83Î8l(̼ýWJ3\f\91`BA¦Úl«H¶j´\8f2wO­\94êf7·ÖË+%Ù_[J«\1e]¹õZ\17l\81f7[s.û[\83ÕknK   fH9ò\ fØÅÈ~âë\]\7fid±ÛØ:Í\0zûC\12\9c­\eZ(\87j¤cØ\aÕájɧå?âK\88j1ádsÝbæ\81\19éÌ\11\9cëºû[¦·y!ä\1eqëvòn=QúWõR|¶\17\8fmȯ.¹!$ºà&í\19éÐØ1õq/æ/\8bQ\b\99\98\93PÞä\11ù\16ÿ¨i\ eÕ>\18/òÿ£\ 2L8µuWÜcÈzé\rTqÑ\14qYzv¥b\19~\8a\8d¢e\9f/1\8b\97s¡ùH[¢dÖÕßJª\89l+¶^4¨òê\8d\86þÉn\f5\17æqW¥\97Ë\99xQæW\96*;c#ê\97\94*?dÈû\ 5ã\8a\8f>dz\ 5É\ 1ôÿ%h(@\væ.bUä×\7fÀF\82'),\85)kqÍ*Þ"q\12x\95Nx´Ñ\89ØXD\85³ÞÌz¼©\a\9dè>n©\1cÀLÆn\12fø-T\9b\8d·Â\8d!\88¸D/w\83à\16v\95;_\99\92\18w\13x\ 2N\18a\ eÎ\81\v\1c\96ÿÂ\9eVÙ}ìÅ¥ü\ fÉMO-\9f;¾_ÿ¸z\1d*H\83\8f@3L\16\8cö\ryvtÄ\bÏ@?O@Cè\81Æ-\b\83¨*Ó.O\8fm .¢$Ð\ 5عI7aÅ\8fé ÷:\1d^)\ 5\0äË»\8f>¡fjÄú4Wþì_ÿ
+1\12\9fÜÉD\14_wtÈ^\ 6CÏt¶¤ö\14©.ã\88¤°î9I\81Üz\9a\ 1ÜÉYþ\949È÷\výQº÷òâ\10\7f\99\1a\8f°\8eÍ1\1d\98»J\88lñ      \0\98­,u<X÷Hå7\979¼Ù ?\9bÔæçóoK«âëå\17_4ºÿ\12ëè\17_è]lK®àºîË®ôºð\8b¯¾]~2ëòæÌ&TÝ~\9eÂÎ@\9d\97¬²AúãÓ¸F«\19\10\1dê\8a\86@ä¶×Ô?Eíû\ 3á\9cÖ·yP#Æa\1d©+RîvÊ@\9de®â@\9cþ:BCGÛ%áã\10â9u|Ðê'\8a~$\82f=ô\9a\98Èer\9c¢\1egòÄ\15¡ ·´³ªÊ\ 4\1d\99¿Ãº3sqA$\87\11û\9aÞ#\91x\9e/&\90t#\9f\15½U\8cs.ÿ¼=t%ßäj5Ô\92\95\11       \8c×ÓmæNW¨.÷\ 5ß%\12
+£QY?*¹véåaÛ\88ï\9díÃ.ÑÇ\8d\9b\92zyÝ\ 2AçÇn/d\˾Ѵ\99\1e\8d\90öJÝ9|æ\8d\ 4Þ*Ø«ÇSÖh\8f¿]\11Î,ðð)^\ ft@åYL\89D¾Á\83kP\12\9e²\92 w:íÇC«Îq\15e`EôÏ©\9b¾\9aq\9d\8eAF\99ÒG\b\ feôÖL\\95æï¦²H(ÙÛé©QNñ~½ôÐÄ)\ 2³Ëº2*ºé\ 5\ 3\15\8e8?be\85\17\8d«\82Eȯ¥=\98»\r\86ÉòR\ 47· \bvÔeW§,-§B²\9b20B\ 5btâ\1a\0§¸Ñ\18!x\9b
+uéÓù\1a)B ì\ 5\ 6B\8dÉlFØ6®ù¤\Ç,WTcZ\15\93Y\9f¾\1e´,=\8eY~Á ð"³bCLÄHiÖUêq亪Eéw*\93ÝIf     ±b9\9d\8cX¥N´{%ãÁhuM_[Ä[\18M\90ÿÌ&\80\9cïß\ 4e\1fSdÖßW\v¦XäzAïF×B\91r¼ÒArd/®\8b-\aýRÑÕ>î[\8fòÃ9GÝË\81ß ú\9aW¤á/\18\1f/B¨È±$(®éÅ\90á\84º}i¡-\968\81ùL\8b\eýá8\84©\91q\!è¸\81¼\88\83üáö80`@
+@½qkÎâ¸:ØÚm\94\19\1aåIM²ãH¸¯sê\92\9e³"úk%,4\8cdWÙg\15Æ"Õi«ÿ\19\12\f\bÄö{Ù\12¤¦"{>\1c\8b\97\15éiR\ e<e\7f\1eG_hÿ=òȹ²a\8dÁ\89\14¶ý÷\99\9daL{
+J\é\8bVÿÁ^`Á«ù¬h\8aà%\92\ fÈ0\ 46\91\9d\8a0d\«$\90<®,\ 6\ f\1cb¨H¯¤\ fðè$\1aØÈh\96\8d0¼²¿¹£0U\8cêÅ\82ãÖÞ\ 5q*¤\12
+hÊî4\88c«¶Eº\r\7fÊ\1fÔ­YµKAØvïn%`ñ\1eó%W\9eNt²d\90~\18ÄßÉ\96\1c\83Ï\1d:#\12'ýiVd\8a³\91\15\9déVsÑV\xÚ\96)íôG\ eÃÇb\ 3íÅW\b®÷9¬4K;##   \aÊÕ:ñ\911$øëøb\82\98\8e\11äã\91\ 5ôDwwMb»·^2m­\15f\r\89Ro<Üæ\16\98Ä$`ø \87
+'Ó¥H<\82³óV²)¿oì\95©\9a7ýoùA±\aë\9d\19\8bH<|\ 5ñ\89ç!©Ç\1f\vÊÂ\14éâ\98\94m0³ê\ 1TÌ@}&Úi\18»ã`#=ê\9c[)¢O\e\85®V¨¾\9bÉ\ fg6ç>¸Ïð\81\17_ÍãÌ\v\7f\10ÉÀÑ\8cBü1        F\16b\9e8Såz)Ä5I7-ÑN[$bÒèi\84\85E¼Þe\81ãØ+\9f\8dάE\12H?Í¢ÙèÂ\1cåN\9dÙ`gS,âe\ 2ÙÎ[S1«\10(Ø_*$Á\8cªAã\95\8fóÈ\91ʸÛ,Þn£97(«bÛï\9c\9bÇ\89B\10Ü$ú\15\ fsØb$ü\8f\95¿\10Ò\b\9bu¡Ý´H\1aùÅ£\ 4¶x·`Û¢[¯\vH=\9f\9dÒ\r\\96v!¤\19V\96å¡AX ;!H×\1a]\\87èÀ\98öâNò-\r0fW¸D|³nÛ£Ë\91%Â<É\11\ 5Æ¿G:Á5\ 5¥÷Æ\8ep«®tå´sÜGfT/oðÕ\8dH-ÑY¿.Dâ¦è
+m±\93\1eTÐÅ6ÐÉ\999\19Ù\83ê$\1ej=\17´]ÂÇòºüÂÔB<-!Ôµ\10ÚHÃ\933þD\83¾F¿\99"ÁX\ 6\7f*w)\ 4ú7È\8bÞ§V\90v¿k\9a0J<</¹ÇùR        S5Y\19«\8dûÚ°ÊÕÐ\7f³Wçf-SÌÕøÙýÍ^\81Z±ßìÕ±f¶x²ÜåHÂÇöpÛ\84\8cCuÜC¼3\94ïóK\1dg*Juµ'CQµ?cÜ\9c£W¶ò°yx\vÔ§N÷RÈ\8a};\ 3u\91éî\11ì\fXd\8a°ý¦\91²ì\88\14\1e*tû>Àäéß÷2\82\9f»ñE\8f\9dÅcä\ 5\8f6@ÿ\ 1cçLÇÈ
+|Ï\8a5\88ØÓ¾îO*\9a\82F"æºã¯èKTNéÜðáß±\9b\f¡\ f£«ã±ÐmÄ\9eØÑ¼ï \e®ã\86ãhïa\83w\92}uw_±×Má¼D3\9b\ 1\17èì1:ñXŰÝ}½xý\88I1U\8c\1e\97\8fN¶ \aÇ?âÂ\1d(\9fØ7ï¸\1a
+v%úã°\17í6\1dö|\8e=\1av3MÄ\95    4q{\9eì\ 4¥:,!\93ì\ e\18½ª«\15Lî"¦tá\89}õXľ\8f_\81ÞÁüÞ\1e\ f"½õ·#%±xãÑ\f³\ 3×ó\9fq\!íM}Õ5|¡\1eÚ7\7fyLý\90\83\8còcm\16F\9a¿\1e\89\95O;,íS\14\8a\99ß\ 1Ú\86°\ f\ 3k\8aúA\fµ\9bé'H\81Ç µN¬Þ\eÇ\13{»-\97\9b½½ür|ͼ8îQn\8d\12HM Ü!º½\91s8b£\89ö\89¡¬-{pÖ\rí\f\ e.\86ëCÈÐòt<í\rþ\86\1e\85\94ÔlÔ\84Ô\9cÖBk'5\95\9a\97\9aÌÍ\e\8dqá¸ÖçMƵøÍƳ6n5\8cù¸Õû\13q«fMÆ«.n5L©¸ÔòfãRÈ\e\8dFLÜj\12\ 6ãO\8d7\1as!ãM7U>\80´}\eÍC\83ûë~\1d\7f\1e¶ç_\0¶"\1a\19'1}¯äYµ'?\8c\85ø\88ÏPtù\9eÑ\92±¢0\ 4Ú\1e®9~¿í\1a\16I,[\1c\8e^8H_Ùü°ßWîë\f\8c\91\96\eò7zÁ¸\84Ķpõ]Þ\¥@`\9aÃmèÿØÞ\v\98\aøâ¸|Ÿö¬ø\971\8dÅæ¹\8f]5\96N¿~d\19Tëýã Ë¹+ÅÏ\9b1\90\ e \94o\ ft\99Ó­Ù\8fY ©m\887HbbÒ¶èÄÌp\84\7f\13×h\90\1e\8d#¥´mN­Þ\15ÂÇÐ$\1d1î=l÷6EÏ\ fæ\97\7fãmô%U\94¥·Ñ4¢¬î\8e\11Ü\865:k\89£}os.üiÄ\1e\14¼\9aØ5ÕXÑNy1W\96\8f9xÁS@¨\8fH=\83\96G\9b"t=ÚÈ®['ûAã\rÀ-ì\98Ñ\ f\0\98V0 òÑ\89G\95\ 3K@@Q¢(å\9a
+(×Oª\f\98<n\855dÓ\8bPj]Íé®\19C`¯L\99\19\9a\vªVKA.é\ 2ë\90\80\93°Áó>É¢xæ\0Ì&WV\90K\1c<\1a\96R\84\f~­=\9eþDfºCV<\eöYò\ 2%CïH\8dZðõIìþ     \11«\a8¨~)\11â³\ 2\15Å5û ÓVYa\1a\1aiñUøº¤ü\84\95\8f¿\91\ f\93Uõ1ò¸ªþ ±Ìþ\9b\82\846ß[\1f-\8a®øXæ\83ecûÒ!ä}l|¾*¿z,sC\92§ø$B£\11\8eÛ\15\v\bÑH©þ)\10\9aè°±\14²\ 2Â\18Ö<¢£±Å|\a\15É"\9e\97a\82\1e\7fîIÅ}5|\91)\9f·nM\7fÁ¸8\9dd
+h\98PÚcaC\87\1aHãÖ\8e\9cµãFáÞÿ*\13îj\1dV\eä8ã­qo\84Ã,ùY\90ëÔö»\14ôÍ\vp,\ 3c\83¢üõ\96þ}\9fûþÁ\10ºw\v×çháe?wÑ£ÅÄs¨ß1ië´ìáS·\8cìÔjº7tÅ­\10\83%õþç®BX7\f\fvbìq\ 4¶.ì3AÉÇdí¬sAïã\9d¸:ëÑ8\8f\15\8e\1cm.ïF8Ü]çIÕ\8cÌZ\ 6\92Q]\ 6Æ\eBò½\82Ù\11=`à<üsëõ\98\8cª@4¨X¸++ÇÇ,Ãm9ûb\7f\89:\7f\\8c\83Åý¯¾LÃ\1c.:ñ·zQÃã1/P>\81Q¦/\9fòÁ?ÛW\9e\1c¨ú±\8f\8e\84±\8d°t\1a\fu\8bk\ 3Ã9\8e°\8e        ¬u\87\b>?x4¿ÚïKk¼j¶øû\ e\18}\1eõ\97ïýû\8féñïúm¾\ 4u\81ü»\ fC\96¼1º\17Ë\8e?\91åì^_À2In\84T\91Q\95\15ýß\97´<¶¢ª?×8Ä\86\f´¿\80\99ºÈÓÿ8\89¤gy<\8eTµ÷/\91Ê[vyQG4\12\17umÛ,P}1l5ær9Wí(\84-
+fÆDÍ\8b\ 2Ej\19¤n´S¹Ðn>g>\9aG3*\94Å¥\13È\13È\87.\10³¦-"³\9aQ\8fSöÏ0@\82ÆÑ\15c§,Á\0iþPp¨`ò\8dÙ#\17\8bnf\9d¥Ò\ 5jG\1d\88ïâ\16C£Õ=ü&Æ~ \f\89\13²±8\8aT\13ý÷Lݤë\97÷\93\fZÂ>rõ?>\86\89\84bÑÂ\92\95ËAÌa\99\8e\8dÜÌ1A¹åö\82KbÞú\14ªc\9e±x7NÈ/
+¶Ó:K¥q\82LyÌ0¿\14D`µ»·÷\v³\98öËxX¹\10'.ôßvO>Ïè8)ÿd\1c+½4´w#MC\ 3xCÈ=\ e\14\91\12­\\87Öð\87 Lÿä²8ýºÂ9­ßÉDîÚÌo_e=½ñöÐíVã4Ñèjð\88}IeÁÈô\f·°0æ\18×Ün²\ 4\1e\8c\85\95¬ª{Z¶.\8e©¿ÝJ\12ÉñRïÌ\92ËV]ïÿ¶ë>A½ÿr\83\ 5½çÏÚÁÃup\88ÿòG\ 6\84\7fÎ\ e7\97\ 2\ 2SèáÌZkí\fƽ\87º\95\1e¯\10²E%qØ\89:\967V\98\89\ 5\9dº!,§\98ÚÖï6»¦X¨d1PÝ\1cT#\a\98@°yc¬Û\89aµµÝcIeÜÄ`µ%\94\b"\85¥#\9cŦßÅ'/AW\83ä\91\12²9&¹&Y#²LWH×ø5ç×\9d^Äŧ#\9bºö»k8ÒK¾g£\7fÂ\1d¼¸7°\ 2çËt<zB<\85\113*\8d\9d_3É©\18<¿|²Í\f\aE¹üÝ\11és\vÖÔ©
\83Á\vÙ\aU\85\17\95\97£Ê¦8
\14\8d75B
+\9e8.o³\95Ò\ fľ\J§&H\84ìGãÕ\95¾ã¡~nE¹Àñ¯(~ö\8eÖ\85Í\ 4ìø\84ý\96\83x<=\7f\80\1e.§Fâçì\87rÃÞ³\95_\94ê³¹9Õ¾\88å\97êÄ\82üÊ}¬¾\9a'O\8fìe\92\92\8a\94GjÓ¡^@ÜyQ$<â\ f\ 5>MFÝ\93Ü     \rDéd=~[¡\13ØÃSE2Â\93/¸R×\8e«4G=æJºÎ\15¡S\95\15××RÕÓ5Ê"YD9Y7Üå¹\17\8b]Þfþ\85cEv\1d ´`ï±      ¤º!Á\9fÎ\96\11\1e\15IQU\1e¾I\10ÎyN\96Ï 8õV\8b\91 ò\8fsÏFA\90Ã4\830{\98\ 1\8fò\9dEãæ\89\14±®\9f\1e \96Oè:¬\9a8xûþX\ 1{äý\8cltF4|·@Gͽ&]Ô\ f`\8b\r$\8bU\11\12}\0!\83\13©O/_{\r=\9c©0\83üÏ\r\9f\92i\17un\8b!ó(ù\fÜüw\84\ fc =\0~Y\88°x\9dMßÝÜnt¤-éÆ\bÑ\96\8al+Ô\b\9cK\1aEd\87{Q'OK¾8\8a \eN\80\88¡\ e\999]2C\0¢0\14\8c\88O\86lô¤\88É\88¡\1c=Vrº'°¬\8cA;$EvCÏhäiP2\95\10\9e\94mh¤k~ûýt\86ê    \ïå!vÌD`\16pXS32µT¯J\19\90Ê(Y\807\84^C\11\es\97d\ f!\8b\88\8b\12üôo\0±
+J.;b\97\8fH\18N)\1cÌZoäÃ\8b\86\1e<2±¾Hx&*\90\8aï\96¹NµÌ¢¤ÁíÓtX\91eùô\ 6\15\11Yk}2ï!ÂV\ 3\11Áo\9b$\82n6×xE\99XTßür?þp:\98i#1½×Ú\87$\98VlÌ\13\95\eJòÞ¡\ 1\ 3ªr\9b¡\f=gQ©Êa\88ù!û;ßML~ \\14=\83¦=¼ ~rØk(ÊêÙr\ e6WÓbæÌñÃ\95\ e.×)ê,\1e¹*R\ e¬\95\rBS\18\1eÉ\ 2\ 6(`\7fÔ[\b;c ð÷;\ e:èn\7fÓ\8f\07l\»\9c\9f«ÏCÕw^\92½ÎäÁ\1a¥\84NÒ¤`îYCÕÏ\bÐ\8d}ɼh°?ýDÔç\v¨\95oGÁúWÉâ4YtZ-¬\ e3Gi\17#.#BiÊ\f\1c\98,_½ÚÒ\8e/\8avbÐp\96Q*\96©ö1ûù*#bó\91-Èy\8bë3±\ 3>[ù!+ñà$\1d­ôN\89Ú\99ôÝÐ\1a\9f\8b\91(G\19+Ô:¾-\8cêãF\8at\ 1á\90k·Jk\13×\8dÅ\15Ú{´¥¿«a\14+q@\99¿ó>'¸7É`+1þ§`\9eèC'¡ïxiÄþ[8c\\953|X¿Oueª\1f¼î>\19\88ä:4Þl`\ 5\8b\1fó\96¶]Ý\84\88ð³â`ËæèlÞÕ\16Â>\8bïÌ-\9a\ 1Ì­\8a³\rI\17Y¾èåQt¶S »1³0\vcÖÃ\ 5Üà\85Þñõ¸¹ß\ 4\9a\164\89r\1ab\82iÍ-     _YÙwò\7f@\ f+Ùܱ+\9cü\92\ 4c*8\ 1ô0>±u\107¸»\98\ 3\87¨ÖV\96Áä\viÊÙãËf\v\8f\eL6£ÎX\1c\1fo\10<   Ú9¡©h\13]A\83d\10agqCd\16\ab\87\89ܸñr\91Cc\ 4\1f\88C\9fpla¯þ\ 3c\12\b\85óô\´\18\14Ê\92\170¶¢ü\ fÄ\85{Ù48p\93;6§9\8a\1c\89\1f\16íKa²S8ã[ë\10=WãfáÂ×.ÈÓ\8f¸E±ßÜ<\17²\8f:!U¥³nt/(®ï\89\88×,tÅYs\88\1eþ\8b\14ì\ e\aiTÎt\83ßZ/¸=õ\99H2ïâ\a½¶Q§D\ fy\95ìè\87¼6m\8d\a\ f¨u\r\98\8b\80\߯\8cD#\1fÅ\97Q\80¬4ÀsG\0³\17\ f\91þ\1a¼e²öcòZ\0\b\95L\84álÆ¡*>¹!»QXE®\85\91Ø\9e\ 1ÀÅ\f-\13\8e\f.~ú\11ÛøYon\16×y\ 2\16ïÜ[\ fp« ¨ÔpVÃÿE\10\85Ðl\9eÃê\fC§Ý&÷\92xuǦ?èõ{ϨJäU\16\\18[æÉî à·1r\1f·©îF\9b½©¾/³\\99Èwö¹\8fù+o³á\ 4ï½Êj\9eÆål:ÅZ\ 6\90\97ð¼\98\v
+\93:p\15Cµ*\86²\ 6vT\15D8\ 4\84¤\fî\83\84T_©¼/ÈV4ò²S%³\ 6fKPÚ]î{Éö\bX\8bû½ÅÑ\85Ü@\85Ú@\85\94\81a(\18ø÷×V\1d8IGÀMØdËHtó£ÿõ\83NÝ>´w\8f©\85\rÁ&\7fdR©+Ü\80\94üòrõþ¥×ØKønr¢K«óÁ\ 5r{\9c¹%ó\99¯Zê«ð§W\9b\88.\ 2{áH\1c®U43í^ÛÊ/Æ\88½)ö/FD^ƯÆ+å\eFa\\8cúIÕà\88¹áÇ\8dâ\9aQLüpº/Ão\85Sßñkm\e\)Þ\98]\15Ýç8µ/%ëü¿a\rÞs\89¨Ò?½\97A/òö\vd\ 3ý\1c\84»öåWö³\9f\0ü\ 4¨´\12\92\7fá1K\131ð±\97\1c\86\ 4¥S7¸XÕÙËç
+ÖWæ\12R"\8dÈá¸\1fîïà
+\f\ 1\14\95K×Ö{       ÑÀ°oÏ\80±\14>9hå¹\1e\rßèÚZ(Þ¯\8f¬b®\ 3¿\9a\8eñv¯ DY\81\89Êñ\13ÀIQg¨Ø
+\18¥¡|¶²e¬áe\8bh4Ër Ö\ fú¤\18ò Ç
+\bâ Ù oJU\8cáfÅ\ 4iP\\8f\8b®\18 \1f\92â3-J\80|,\88Ì¢T\ 3üÝ\0sÑP\87ÿWh碡\bȶdâ 0 \9aßE\91«\84?\aZöý¤¨\89\84vîô5   ë»©\ 2¬d\ e¨¸ÑJ\11\0ö\99ÔVh±µ\vSåaÂ\1f\86dïpXV4[/ai\aàCoÀ#ýwü_X\82[Ýð7B-\9a\1d\831*aç9÷\ e\b®4xÃú\82«G\ 6M\98\92/\85\92\98í\eû\89\96º¦p¸E\8eµ\7f1\18\87n´7:x\ fî\ 2\85\9enÚª>\1dµ\81\1fßúÄ\85é±\12\14xð¾Cy[\b"\88ö\90½\ 1ñöçp·!ͧ!\ 5¹\17ñ·\95\15\8aÊTVSã¡l\84[Fh(ÔH±v\18\83\91\8ai6Æ\83Yh]y\85É\9e£PÖ²LßVR\86\eþ3.842üì¾èe¶úá\97¤Xeè2úá\97îÅ\86Yn\8c2ÚÿÚ\19\ fÍa÷×\ f®\82\94®6\9e6$Ê\8f\88÷\80Ò²©,\90¡\895?\19Póî\b²\9f\80;6UY2Î-À±tì\95\8aÔ\1fëq¡°eQYÛãa~ø\8cÆ\14g\b}03&îu3\1d<¯®\a\84ÝýÃî<¶\19º¬/ý÷°P«ÝáÇ?µä\8cõQ&ò\17vfàñ¸B¦è¾\9eâ\ 6}\aÄ\rÐ\1d\8aú\ f\82~ÐüLª5Å}\aÚü\1d[\10ɧ-0ÿôúrª5Ñ\1fA÷toÏ,Q+éÌ>+é\95
+D*º\92¾\83âöü+PÄ}\aÇ.ÐA@´­+ëþg\8bë\86/¨ú!J\98öß@\96ihº\ f¯_|Õ\7f3\ 4\87¢x\8e
+1¦ù4Ögc©\ 6hU$W`|\e\13\ 4Æ+±á\8am\92\10¨\8cé°.\9fz\7füÄ\9eXÄ\\91ø²uÕt^Ï4ó=\83òiø-ÏÄ{\aà®ðvèB\1fGuñdÛé;þ^Î`½\83ð\rÞ,\99zçb½\9ddG°ÞÚ\8bhq^Ã|¼\8a¿<Þhl"ÉmaßÿÉkØ8aü\8e\84'Â"t\11l\9eù\86ÉçséÙ\ f\9a^\8a\84ßÈ\ e0èiÎÿ@\8bÐ\95¨uØ4¤ySB\8at\15\ 6.\83ÊÖPGg\16ÚÃÓÜ\9aï¤9ɽ·\95\84ÜÄk`«?2\84ýCþÕ\17°¥i0ï\7f\92\1dÏâº:âº)ÒÌ|&ñÓk÷«\8c\eÇÅTH¼'KJÝ\a\1a¶fñ¶H³\ 4\12\19ü·«þ¼×\93tX_§ÊÔ\18¯¼x0`±?\800MÜæ#«g N\7f4·+¿áRP¼¨\97ìi\ eRDüÎÔÝvú\18_9c[ÛsÖÀ\8d©ük`Gê4s\8bB\8d²@\97Üd/(j%ß *º?-\86\9a>½-wm9hz\93/·ù\8eS¹Ð\97#ëTßï(\9e\ 3²PѼ\r\81\rj\8aò"\8e±vc»[P·o\95:\ 4él \8d¼7u°~Ùà\92\bçØÅOôNȶ\1cr|ª/ý²ßÚ§Ì¢\80\ej\88\ f®§_[>ù}kðwâÑ@À\80YÙÖ\r:5\aßÀ«`\92\15\18\ 4\8b`@éÈoüý_Wñ´OÙäb\80ÞS\9f\11±\94»õ4\89¶¾N\92\ 5\0Þ\81F[^c\8aé¸mò\f¼Ä^«\1fåè·\89¶½¥\eÌçÑ\1cÐÞ´Hüöá»#A\1f]EWÜ0\1f\9cªïÛ\87¥õ«ìØ
+\ 3\ e\9d[\87\95õ¬>`3ÂGÝ·\ fÓõ«Ô°\ e\84|RÜ4ßZ½\13\0ÜÃàFáÙâ,;I»\97\12£è³¡\f\ 5åâu@°G«\8aã¼*´qÆ>Q\ 4\a\ 1Éå©\b%a]¥þ\14QJów?ð×\90é5×$Nª9\9a¨÷I4\9fï\ 2XL;\8fT{Yj\9fê´\f\99\90\ 2\v\173ãä3h\8a2\9bì\97çÒ\ e2ÒÅ\r±7ò\18\98Ì\e\19+\ 3\85\85\ 4%$ù        §.º²ëý\8b¯Æ]o\8b¬2ë?H?A~ʾ]ue×û\17_\8cºß\17\8bk?§ô}"\13Ï.¿·Ò\1fBËEÔ·x÷^|]\7fiuî\84ùjÿ¾®ç\1fÍC\ eµ\80hAÅ;s\a\ e!¥ôO,=«ß\92CÑ-Èî\1eïέøCúêÞ·á\10í\7fÃè\92TH'\97÷ïø\9e>\13Þ;\9b^9å¡W\99¶¤M·¶§ç\88?îI;X'\8fa1wûË^4`\91®MlÎ\1f«\16Ëã?¿T»ÕÐí\98Å\ 1\8cpL\ 3\18¹W\93\ 4"uO¬é\ eÿ\86\ 2õ¶|&\9fð¸þã\9fì\92@|À'ëþ$ôÕ¿\13\98\10¹×¸B\ 3 ë§l\e-\ 4ì\10ùN\8eñe¡Æîì[\ 6üë\12\vs¬O}j\e£¬Y>öBÈìÅØyÇQpD\ 6a0\1aS°j\90\ f\fë\16\8f·a°:Å©Z\1f´å°\16ª?úÊØÆ\15¯­:Ç0VºÂ×Lì"µÑVzÁ¶\bx\87am\aî[\17²ÿ\92ÿÀeÝlp\1f\80\81x\9b\99ÑÊ\9dbÌ­^Ôë\14
+áèN±8®ÄÉÖ2¡\93\1fS\v\15±~fÂØm\15p.¿Rtµ)aë\83\97ø\84\b3\95\ f\\95G¯æàØ2\ 6§>\v\ 3Àã\9fo,\b\18$}y`Ø/I,sî\12ö\ 2\97\ f \8e<_ÊÆ\r\86`>\12\15\99\18\1eé\1fo"Äû\ 6\81nGÜ+\ 6¡º+j\16¨{ÙÊÉ\avJ¤!~\12´Ç-Àû\85
+\9d\81Écã\ 2h\83\12i     b\8bíÞ\bk\b`$ßN\90jõ8/äûò?oà\12»Á%¸ür3\10%¹Ã\83õïu8&P×\15\81®+\ 1Ï\aKü]àÙåIa\1a\1d¨ç\16#C\ 3Ä\83ÎØà\7f\15ÐØßÿ\1f;L=\8d£vI\\90Ý\92YBl^\b\fE°u\ 4\96ñ#m\8b!,ɱ\80¶ùo\1eÛ\91àò9EÛú\rÇyÈå]þ\88\13Ûb.Öx|A_Ïm\8fØ`¾â>¶\ e;\ 5¹¹VQ°\17\90Y\83\95FûÜÉÀ]\9eÇõ@]\90mØØÑÀ\9eÜdûÑ/\95?\az%ò¦[½wc¯cÜx9Ò\v\rxyìlG¡ c¯\r{\ f60\1d\88ï×Páã¹kÉ\9f'PÑænëP\85ü\a\98\10\ fz6\ 3´¬\1f\85S\ f®¬+C¿c'm-¥S³ÚgÔË»
+/\12®_`N\12\ f\88MBVM\9b\alÄ·â\ eÁ\83\ 2\86'\9f¥æ\92¿ø\13_Ä·hµ\eÂÑ\1e>\82w1h1_\v\7fÚÑRà¯èDK\131~åç\a     !ì\8b¡â0\8f~X¸Â>\ 1*óÝù,\a\8f?=à\12QXù\8bM\9f~M\9f\80Hv\9b/\ 4\89\ 2WqzEh\aiÚ²¼ßä\f\f0¢¡xç\82\9eÀÙ«Göɽ´\8eMï'.b\a³]¢ËVÚTk´Y\ 1ÄÃè\92­á\17l­o\10»ru·EÛ-Z\ 5Úè¬\8eðGy½»Qä\9c\11Þ\96«\1a$\ fP\8fÇuYdÞó
\9a~Ð\ùAC£Ã\14YS"¿\14\15­áDÄ\88û)¿¼\97\7f'\ao/]w·MÿÅ˨\7f¢Èkí\v·'¯â\17l¶¾è»]kÀH\15A\1d\8eöæ\1f\9f\8e\12¼_WêÈ\18\88û¿3å®\11Ü\81\9f\1dp¿\8fôD2+ôéS{m\97Mâ}â{\18\12\ 4ï\97-·   Kû)wtÖrD\1f|äF ÅS×4{\ 1\94\e÷#Ó\8c,¹Ë\89*Í÷\12¬³\1fÜ\95eÐÍ+\91\88J²ãú$«+c"üsÝo\®)*á\14\96\17 Ø`\86©\88\84°Æéa%\86ûºbÑÌİÛ\8bvGk»´\ 2×ôº×uïn\ fÐ=·\92\83\acK\14\96\ 1\81\84W\ 5 ¾ð¢\rlCm\1ca\9f\ 2Ø}²®"åõúc\82ù\9c,"4F"\81VÔí\a\ 5\Ñl9G\1aÞ)\a/O\92\1c¼¾@zHxõ°ô\ 3\9dzj§Z¶\1c\9a\9e\ 2Ø}2\9ahV$\85f@ö\8aËÐ*\88{\a\90;Ó¡yä\ fX\81æ3\85°-\19ÿG\85bAÈ\169ÞÑP\84\8fétý»c±25\8dãÎtû5\1at>\ 4\ 3\9a5:\84\83\ eFõÊùâ´¬N¿^\98\80¿wêÈ$\19"®H\ e0c²[\a²R>ûwÙ*ËÔ"è\8f´b\ f´jø¼¸^ê"f\1a¤\85Âc\85wb\82òañ\99\82\1e棥\9b\-¬\98.ç¨\12F¶à*<$\ì \90H°a"ÁD\8b\ 4\12,\fH°!"ÀuÙï\9c\8fÒf$W©²\f\83\96í}£j\90\88ï·.\16äÙpf\8eiD\8aß-\væ=³PÅóp#Þ3\8eËA\16\86=GF\82\92\1d\1a
+\13´m½\1e¢&mî\f\86\9fÝÄ¡\ e
+fÊÝÏ\88ä\9c$5\ 1·Ô"ãÑ\ e,pg#*¤æ{\151ó9U#&z¥\19çY\ ewK¼\8d^\b\ 68õÎÀ\11É9³å£Á§Ò$\83 "\15Z\87WÈ r\r\15\93ÒxÜW$â¼?\9e\9c'\ 5èÃ\ f\ 69]PpZ\99ëSìzù±\8bÝS-3 \9d3ù¦¦\1a(ÓÖ%\8c8F\89éÓ \8bs\8cF_ÌZS>\9a\1a#Së\92!Ý!¢\1d=fzHáqÙSìîÌ6â§Ùüä  ã\86"×ýQ\1fï\85Xj\87¡§\19\13È\ f¾\»VÃó\ e\88\12kU)3Ø\89sóöC,ôbþøÃ!ÿ³|hmÒ\84BF¬ýð
+Î4\93\81ÓF+Ö\ 36Áø÷Àí\0ÞãÁ\96ý\x\7fN\ 4R:¼õãÃ\ 3|«PÔðs¤:©\1a\18;èO\89\8aJ\11    &\ 2\1cû\95P\ fw}fCÁHj!fFAù¸\ 6ËQ¿ø\ 2k\83Ã\ 1áMÏ\83Èjäs\9cJ£ßÀ\7f¼½Oóu\82Ué©Õ\r½¾nø´\r_\8f\88¸*^0©+\92½\8aÆ=x8Tì7!ÊùI\a!@e¾\1aw¹ûå\ 6\9e¿ç#ºzû²ìqë#\ 4\8eÍ\18úæªõA\92\8d\ eúä;\83ÃåÇ\ 4®ùY@Þïâ\92¢\11áÓ\8c\1c\b±\87\81\vßûc\ fL1\87\9dr1göoñ      I\1caÄS­\9c§|ß\18vc\95kÆjÿ\9a
\15\83Ð]¹b\f\v\91%#?Y9PyÔõ\85aÐõ\9c\rÉ\ e1(\b\15¿$Vü\9fYÀ2\13\94\8e\8a\84õ\ fë8\ 1\96è\18\94Ö\8e+\8fâ\15ÇWGù ý\11[YX­©\Ç(¯Ü\91Å~C¡\87\11÷\16\7fl,þ\9f\94,ùr³ÜxÙö\12\ fV¨8~ÐÉsÁ#Å^\r\ 1^\r\0¢\rôgRD3Ê"äÕ5R«\14o\17\10Hþ¡\1e\99%\1a$~¬R?\91òQñ\12ôHþ#T\8b\16¤&©\ 1¨ù]\aî\e²ýµ\1d \0\85Ýö±¤ôâ{ÜÎæfLÌ\99\90\80\0\80É
+C\16¢â\10U(@       \b`\r@ÈBI ,\8aé0F\8a\1f\vmhu1¥\86aJ*Ö­dX\ 2´ZÛ`±Y\ 2°Â`ä\ 4J\80ª\8bm´"!þ=\84D!&I!\99ïÿ{ÜÉ \82\ryvÞ;·yÍ¿o9öý»¼ÞoÞnø;Ï?|ÝüBÚ\ fzË$\92["ÝFc\89bJÙl¤NÙ_N*¼²ª¨±\1c     \89}@'«\8e\9e®1\ 5\936p\9ak\ e*ÐÖé\93ìw»Ó\97]\81\ eA\9b\ 5\8f"]´\13ï­j\17\1dK4sR±t³J\9c\98T\82\83~®û°!\1aìW\9d­\9ae_4̨ê\ 6Ý]|kPÄá\ fæÈ5¨`d\12#ò3ÜÓ1Î\93\96¶¹kô\82\a\95)˨ M¸¤|YK¼·\94tkC\12ʲ/¶â8\ e\9f\ 3AC\ 3¹\87\10\18\1dÉ\17\86K\ 3\ 3º\91\ 5ÅÓ*\a`D'¦\15®\83âXÓWæ\1cg\86ÓðS\9cnÆgK³oà,¡t°5Çi\96Xqltý.Í®\94¬=\15ßfÖsçìÚÌ\7fnÍ©ôAÉ:ï4Ì\13kj8\88\9cû-?
\86­#Ýö?ëÙ\9bÎ\ f}]ºÌðf\13ìéB±ö       \eyÑìÎú\a´ÕÔ\13çÎ&\99FìÏØêÈ\9b\85ë\8dÙ\84ÿ\9ff Î
+\ 1ùàÔ\90Éá%Ù'Ùª}ªU\15À\8fg\9f\ 5G\8e5Ö9¤\90æ\93£      Øcú\19¤\90CøL¾4\96-Æë,l»\83
+5q\1d\94\9aÅb\9dß\1a£ªY\8bvÀB\19gE\11Þ{ñ7¥©ä8\9a\bC\}±U\83a(.\85hµF\91W\92\93&¶³CaIk\ 6\83a"ö\82&\90\a\16\8dÈ\ 1Y\13zâyhx׬<´V\1c\82Á4\160\89`\8cÃ\97o\f²óz_ú:\ 2î©f\95\8b'^\1e\7f¼º\8a\82\0z\11\f\1f\[;L´2ºU²k§\a\1d¢¥ÈìÕÁ[P¬º6*ÎÙyE×å«8À\97!Çk©Zì\95çë0ä\b\1f¬d°\8a\18BÀ.Á\ 6%Óà;H2ç$À2\87:X ÞïÞ§~\9bÚøh\83;É¢\93\92\ fÛ¤G"VBMÙõ8´\95\86`\81°\1a\b|¥{é
+~Õt\99¯Gz\12¹\99ÌãÒ¸\97²[%o{\r\8a¿@ê²\ e<a}©;}!\ e\r)vBê\11\87\81O¼è6U)ɼç§\87ê¾T`âª\89¾ÀKâûØRÿwUi\8däê\8bUóßâ\8c      I~ß½ø±¼-W\11îþ©\84Vpl\97r\ 6\96¥ÿ]ír|a\ 5U+x\12\86ö÷üG\968¢È<¯´ÓO:bÂÒ\85>\88Dëä\9ezÑ÷®\9dî\ 2¡Z5Ç\99ÖUáÉ\93Äî^?ÅU03K\ e¸Ø÷\9b
+\96Ûé\ 4k\95VH\917\9c\8c<:\11÷oL^wj\9dø´²E8\8eñrAãw\90Ë\10²cÝ=\9b3h}f\10\99ö´.¯¦´y\15Î\ 6\8e#¥¹{\ eH¯ËD\8bM jwAñÁN­áýê\ 3\1c&¨ÁfóËWs@ØWØÒ\90TÓû \81\ 4sG°¤×¶fOô\v¿\87\89"\14ò!ÂÝ °&kÒÇ\87¸(qµébÂr¼Áh\ e¤4PVÏ\8f\1c\96\ 1p\94\86/ܾìÚ\86Ä\988\ f\e\rå\1aët\95ã\1fÂiæ\8dñ,®>¾\0c\14vÈwQ\9d¦k\9eè~`¹t¯ôt7\ 1s|\ eÀ\½D\14°¡\8c\14>$\14¤Ck\ 4Î\868+ýe\ 2ä\ 5p\14\10)¦Æòí¢ÑØ\ÐÓÀÎ8¬¥¾\87\99ë\b^§®8®9xfôv\16o7ç\rî\1f\87\13z\9f#q¬Rr\ 4A\94\90~Oq\1c\8fÜ\91$\9a\fÁ\eIÀòaçÃÏ\88\18Nfð×Ò\81
\8f¼Uv\9c\ e\18{Z6Úù*-\ 5j$WÉjò\\88_Ú¾ë«/¤Ü*9éíiV7ËX[\fe(\15\97\9e'AyÓ5}.Uåj¢Ï¼úRÐ\80y
+ÀrïX   Å·wìL\12wìKà\85Ö\9eB_§^\10\84L\9at+uÅ\93¸-\80
+â4ü\1fÈBá\91x?Q0W\0:ªà
\9f\83tY>\97Wª@ì_\87Ý÷ZjêFÉ&?¸\aáZAevŬ\ 2ÁÀf¤\ 2\16ä>Ü\81ißù}Ù Åý¨+P<\92aåW;Õ\a\8b\ïîÒ>À\10è·¼[óM·\f÷QϽ}ÏÆ©_®\97^òàý2ÂÌí,KË\85ÅBZ6°Ï.$4Ãàf¡,\vË\8c\11P®"Qï.:r¡^D\95ÖG\13>¸;þêÂä>H\11CÝACî\83ot±ñçn]Ç\ 2ßtØ\ 4Zàæû\83\80G@4\vËqJßv2¹1)\99¸P?aüÃðWa÷n\80}¨F¯t\96Ëx£î7\1f\a\16\16/\86âzý0è]¬\85-ÅI]\87\86\aú\ 6çÃnü7ÖÁ\8dh\1a\b¸\bâߣ\ 1\18Îî\a\0Ö\16Ú´s\7fÅÿûÀB\17EÀB\7fÿ\9aP÷ú\97º\9d\86§ÄÔÓjvZ\93´Úµ\9a\9dZÿ'W\7fÞêð\1eί\ 3íjð^ö®S÷jâ?ë$:ý=óÛÓÊZiðÖ\9a|RíFO#¨q\9aÔvÜÝF\97ÃÔDù]ïÿV£\83ÍÔ{\ÝG·ÍÔp¹º\8f\7f\9b¨ø7ã·\90$+á,¥   o\86%¾(ë|\9a«w
+íûcíÇ\b®¿ÆÂ*0Oãa\15\ 6 F\83ç\13kgÓ+Y\16\91\9ccúÁ+ÿyÔk¨h\ 1Ê©ýƵÛlrÄ\18¶G!\10´óW\88i\ 6$éÉ+·ª:\8fx2\13\9b\ec%iÃ\9f\v\85fá<)'«\1ezj\92Y\8d±åårÚÃÍÆweÙXB7ÂI­/\ 6¦IvfU¢¢¬fÉd*ÁU¸þ»ª\17;\9dÊ÷»·;\9dàü\fì¼Ã\ 3R±¦\91®xp§Ê\0À2\819>´0ç:¿\ 4¦àYí|Ò×Ýéõ\84\97ÝÂ]FYµÛM\eô*aÚÀº!\9e\98×\8b$¶x9\ 4u\88\ f\8e´V£\84áµ×Ñ­\12
+\15a\15]rûÀaZ\15lSá^¢\n\95Ü\90mÈéxoÜÁ[²"ÁÎ"$\96\85s\94GÆÕ>\9f\14\1eA\1d6\ f\1fú1Û\7fT4L]°\ f\ 5Ì6{"B3\88]&VV\7fqùË\ fÙ\ 5!ú:4?QÀ6\v\91\97!^ÖV¶õí\15\8fÑÂ\k6ÑT\1dA\1da\82Vµ8?>Ê_6\83)\9b)zä\16Õ\9cV\98Iv\10\92!`¼z)RA}rl\ e\10%+B[q\9c,[½o̳\99¬«ce*þ_&\84xyô\96\16\99ã`lée3Ó/[òlË£å³O\ 3²Î\15\1c!Ø[\8e\8b\8b1Pr\85\17,tZ\ e\8e`èµ³\rïìN\ eÇ\85´4\8c9À]\13XT¸BH\87\r\17«/\86C\ 1/¥w\84\1a@Qºà»\91ÚDA\9d_Ê6³ó\88¦\14Æûs/(ë//\86ÔM\18<y6û³eþØSQdhûr\960­n      ÎçvV·Ûv¬¬8Û\8a ·åæà·´®\9bÚÔKÈ;Uµá§Êü­\1dä\85.k\99BU\95ðVT®y)«mjRÈî7\ 6\99Ìt¼D%\86.9M\9eÒ\1cU  u*¥sj\9b\88ÁKâ¾ýú^A\ 5²ò\9f|\7f7sÛÚõ      \ e\ 5SØýXP5è\e4ØP\vJ\81\r\9c¾õ-ÍjÔ-V- ­ò\10\87@öJÖ\ 2´3\ 5@´Ü\18ÓS\98ÍáRf\95¶×­\12ßd\96»Õ\ e\11\ 3fLþ\87AKE\86Ðè5Ù¬\ej\8f!\a\fª\f<Um\f¬E\0\1eN%\9eµ\80z\19Å\18\18?\fCfi°zíÙ\87\98=\16\16¯\1fªLyÄkUößÚEô\ 3\ f_åRWU\12Þ\85Ï}\ 4\7f\ 6ñs\r?\ 3x\8eh\9alG\8a
+soÜ;àpÕð\9b>-c"/ún>W[¢\19
+ØÈX\19\b\91±\r¥¡t÷Ù¬\ 1\16\ fK-0-\9f©È\94}¹ÛåD\e®¯\925(]»«¸7Üy('\ 6ãÍøÚ
+ÂÂ.Tè\85ÐÄP°\88æy7î¨<´/Jõ©r§\18Ä\12 Ñ#\ f1ܵ\11æ6\r1æ0¤Zî=1æ(¤`\837)ý\ fùa¿sEc\94\16\87@\88\97t/¦Ör
+ì[\bsR\9d
+\94\96\9b]DçâË_ßp\9aÚþ\1f(r,fÈÇ\9cÕ\1dÄ3¼·b\8dQaÆÙ¼r$6å\16ÏgN\92s<&\ 6ó\18\11\9frFâPæ½¼$ð \86÷J}h    ¯~kVI;×:Öö\90\8e\82ß\93 8KñeÐJ¹       º`¤ýN¤M4ÖÚܪ£\ 4\81Ê\81nñÍ\14\9bM[âÈ2ÕiÃãí´c\91\95A`\1d\81`CX?,¤\95\18\8ee_\eÅ\89è­\rwÇ7ìç\90¥\902_Æ¢[ñ\92øJ%Á\19/åQ.\14É|u\12ôá\8b!ua\9bR»Ã¶¥\9d\95m_\95Ä\11Q³ÝE$nò¿¨4\99\8b\88m¡³ò\10\80\1f\98\8d\1e~BFl\85\a\88fµ2_\9bîH\85U\8c=¼uÕ¨=¡\93P{?" öuefJ"R5\99$R\8f¬ÉdÒ_Y\92\94I]fJ@n\1eϽã[\97\9eúÖ¼C\15%ÜÛrò\ 4?O\85G\9b\11\vö3÷=þ\eÿ\84~\10¿@÷©%ìúQ\12ÞÕ\90÷Ü\ 4É\81F\1cÔÉO9\11\93B\90Zg<0P1\80#\969'ÜÇ\96r\18        11\15¹ÖÏ]U\9b\14ôþ\91n1ú&#@ó|ù1\1c\ 4\ 1\7f}Ñ$ëIÞ\96¢\97¸\Ã|v\15ÚÆö\16éjM²9ö\17
+¬~\15;k}²Z\11Û"G&Û\9eå=Áö\16©f\8b¸}Ú_DQ¾ÁËîÒPÄäÿ°û´Á<¹Éj1o»<\1f}o\10\9a\8e¥êE\81\99»^*e}ko\96\85<\1fÍÒ\99õ{î\ 6³\94jÑdÌ:\7f0CnHÁ\r¼\11\82\er&\bm²0Cmi\82\ed\9fràG¨ã\82ÈðÍ<YËÉãgêú\82Ï\8cH\f\ fV\8d\b\8aÝ­Ú\1eï®JzH1\94\7fF\vAy\82ËûH©\82ËÕ\8eLÇ+y¹-\17)à¼\9d\ 5K\9a
+<þõÉ\84}sÓýÑ\17w$ïhÄ_¦ZáÿAa¤©¨®âÕãù\ 3\17éÏ\90ô*\ 3\1a©µªÃ\90\94«ÒÍíÉÂ\18¼¦\ f\93ÎuÝ\19\9a\7fåç:Ï\15\fé\95sÆÝïÓÝÀó\9ddg»è=éÏ%ÉD\86<w]÷¶\9eëiç:ÃÞª¼_9Õôª¯¼r%U:_[\7fD7¤JB·ì"\10\b\92úÜò!·,,Öø\b\87¢A¸d\8dL\ 3v¤ÞåûwZ        I­\16\9bí\17Go¡ï4\9ad4_îÓJ)ùp¼åÞ\8d³\bò}*5?.\8cðÜå\ 6\83II¦\94ï\aòç\91\8diD;\9aIGT\9fäïDê\93A) »_\v.áÐþ\åöýçÜ\94ûT\9frQ\r"\81\9eÇZNîS¼¤ûhJh\rùrÈeLäõS2Èé³ÑÁtVo¤\e¥iD=\f\0õ\15P\e¨\99è\8eGî :än\8fÓõHÝL\fÆÑºÌiÖÛÕ\1dc³#\99ðÚ\1ah\0¨ç4m\1e< íéGo°6Ül\1eÌ\9bZåXÈ °qÁ\1a73Á®\19Òb\r\89"\e\ 6mÊß\9cÐi×9¢·ª=,\93\96ÅXI\fòbÎ\8e\95¿(gLç[§\85\16\98­m\15¦¹½¨ü9Ùê\fúQö2tÀ\96Óx3¾£I\99cÿh\92ð¬7\14ÉôÎ\ 29U\ 5?®¨¯¸´-ü\ 5ªµ\1f\85¡eÞ7Sò¾È¡{«ÜKg¡\89k¶{ÚáÓĵÊ\86W\9d\89k\8d!\91BôÑ­²F\ 4!\96
+P>βró\82ZcD¤\10Ùöfüç\1fð:¾ê\16        GDµ\ f\rÎ|é¥÷¢ýx\13Õ½ã±Å\15X\9b\14UblQTqD£qpÑ@\92
+\8cø\8bÄäá@\9f\ e¦!¡z\8dÚÉn)¸À\95ó\85\86Óຠ\84\86\8aÓá\9e\83ÝÔª·ü5­\9eæeQâd\98nÛ=w\87ô\ e£ÜxZ¶k¡@ªU
+\0\81v\87ÿTÊÞ\ 5\\81!\15¬ÆgöH\10o\8f\1dV|Ý\9b\88\13\8f¿~p2ÕXÇó6eþ\99ì\1fe\8f³{º\14U5\16yìýqaªtp\vÕý«\80àÄ \1cb8V7ò¬a\95fe¿Ðµî¤Cg\110θÐ0\elòx\95__è\ 6&ÍßL\1eߢò¸\817\9f['<\98«\8aë\97¤¢7%Ð\89î \ 6î&õhKgÚÁ[Ö\9cl\ 4\15¤l\ 4\ 1cZ\\aZrè\14ËBù\9fj\8e\ 4\165z;:q0¡³\f3\1f\98Â\848\aäòf\vf\95\0ìGµ\e\11û/\16îÝuÃ\1d\95pì¹1\8b\92.k\ 4³ÊZ¤\17\eö\17ÿ\925\86\93&>¼a¡\r×\1f@`x-&=d\16)\84\87¥Ca¿·¦\10º­H\96ïéÍ\81KPç×Q'\82Ò\ f\15\vEý'\ 1YVÇAj¹\14\16\ 6\92\86Ã\99 zºVÖ\\83ÈF³@\8fQª·\8cÊ\v&nÛ\16qµGǶlû\0\ea\r¼rbMÖRßs\ 6.DøÄ\ 5\94";[\15\82(|t&Äu\ 5³1\85\192â^¾\ 1\83r-^å§ö\8a\8d\88µ;X8)¿h\eøn§Êñ6>¸ù¯Ñ\84D3\ efÖϧ]5#èñÚ³\ fÉ\1cû\92ó\8cÑ0e\0³;A.]âw/¡<ã§µ\7fuËò\84\f\8fë\98¼3E'F¹Í\r<
+\eq
+$ì|V)\84\8cT\ 4Ï\ f\88oÙ5\ 3\12"íN\14\ 3î8\ f\89\15Û
+»Ð\8a®ôØÞ\ 2v¶Ñ\8bÏpV\ f»ÚØ\82\83|, qá\88.¼X#\17VØ¿CK\15%ã}±ðÔOç\98»3Q\80\16º\93eµb\9b&,R«Ç1Q\86d`³Û\18­\81\12\8e\8cÝ\82\10Ý20n|XÂ;¯¬TH¡ÌTØ¥uy61\8c[Æ1ns \16\80]\15Û?~\86\17Èzhø¬iö\1f±+ù\\9ffgY²\1d\92r6:Üp\11\ 6a\7f\ 3X¾Ì~q\17Ëâ¨õÅóh\8cÛ\8eævrg(d\83Û\8cÎef&¯`c.Á5\97f?\8d\ 2B\80|\191\98u¶?E­õ!Ku\8cµ{5@W\0?-1¿á¬*\17    µÛ\1ah²ç\90Öpõ\97)óm\99ûM\99\94Ø\89|\eYÃÐÒlç\98)\0Ø\16Iü=^,øÃ\@õù°\ 3\15\13zg¡4º+ÐíºOC\88f\a¶½z\ 3å\r\86\7f9\98ÎÞ½\ eåG¡£`¤7w\91^\80ý\11\a©s\15èwq\9e\86\97û½\ fòç½\r?õz\16÷IÄî¡lW\99)xó\13\91\85_mÏ\91>Â,\89ÅâÈ\93¡\18²\97¯ÒTÑ\8b7;zý:\95\1f§W\161[E~\83úÅ\16¬Pc
+\82D+."¿Þ²3ýÅ\7fG\98@êî´4\8fq\1dÂs<ѱ\1f\89\87\85íøë"½º\8bب\16\ fa{;ÿ\ eõ%EëÄ\1fx\87s\99Ù\8cá\92m\18\9bÏ\8b\16ߪ+Á\1fLB8A@>{\10N\vkx¯\aôÆx5?Õà÷W)»"Ñn£²GüÝ\97:N¨Þ»¾ü©'²¹ÌÁ\92RÞ;½tWw¯\8aîÇæ.δ&£;/Å\19Ùl?¼\9c¼\ e|\9c¼Oêøõ\97 ¾3ã>7ÿø\93\92ÿ\9eNOï_\8eè©2ÙI\87\17²rÝ©'/b,\9c¿lWè>俱\ 1\9b\85\15úo£?MüW\87Àay\ e]\17¡é)G\ e1_ÿ¤ÎH²g ~;oûI\9d\8e\93\f\r~\9e\9f\v">¹¼1\a\bbëXÅ0×8\99æúAòü§D>_3ô\87ËÆF4tF\ 6x\88é`Àë\9bÃ\196XÄjºe"\94uÑIÀ\9bLÓ»Y G\fÃø\1c&©_Ý\8c\89\15Ë&\1eÖ`!ìõ\98ÙÕ¢\1eÐÒ\8e0cÐ\ fh&iª0{@^Ì$Í=40'
+ÊR\9c¡«ªà©>ñÚð,\1cìÑb\98^?V\9e³?±\v.'\ 1\1a$Ä=Äõ=¿_®O^@\7f\eÏÿÔ=Ä"ëÿö%\v\ f\8eÚܸ\9b\ e^nH:êÄðÇ÷}ãM¢àê\13&I\95ôλíD\96¢&>TG\85ôP\1c\86bH\15Ö=\1c2\91¨á)t¹\93\8bÿV´pE¶µ\15\f\17\16F\ 3î«5­.UR\9cë\1f\7ff"!sÞWÊ5O\ ed\81VlC\ e\85Í\ 2æ\9e\8e\1e0@\ e\11\14k\b¬Â20³6ÊnqµE\98\1evÖB×\88û\84Ú£ä\r¬\8d¯\11ãù%| \7f\11\\fý\f\0÷\8a©P4.1M'\ 5\ e1©Z
+ÜxèÈ\11P\9a\9búV&\f\8c`Ð+\9d\9eQ0Ð\15Ì+£\b\ fû+J\a\ 1\86\87R¬6¼Ú\aL\ 2@÷F\14i( 5¦p\19{Crà\16QÉǺr\7\1eº7X-G\6¢~¼Z\99qmsCÇõ\9a\e\18mDY\81µ\16f\ 6Ôw\98È\13ì¡Ýä\ eû#Ó\82\10ó®¸\92A;\9aNÕ@\96\9cxÚÜç\v6=8Ì\14Öi7NR£\1cª\83@\1eÙ\12\9d\eP>xm@\9cà¢\89¬þ\0¬ãY³/d®ëë¥õ\94\10M§:á\82\92\f\14\98A*\92Àá\1cé`\87¸\8c=o$\vº\0\17\9a\9a\14Ö¨äGß\9aür9\1cÑ\84\ fý0{\90\83\1dr\1c»f/Ðev \7fJ[\9e±Y\ 5nhµj«V6G»ÿ?x\ 3¼+b§'\83æy%\ 4\ eÏd²$a½{Ød       \ fö\8a¨ä0\ 1-\99\eXX\86»éXýB\ 6\8b°ñ\b³\ 37¹(­\r©dT®M\ eíÌ[L\96\86\911¼*aÞRб\94\v\ 6ç@é\axF«7Ð:\ 1Ö\81¨âô;ïIK\90\997¹ôè¡{øÌ\91h9\16\vè`#:\9d\94Á6S$\93ç\b\86e\ 4\eô¬yÂ\rñ¯\881$Ó\bb²ð;Ùý\84\19\92SÎ\\16\9cØ­rq\1e´?\ 5¥\8e¿\9dȱӲPA\8fL¥;âîX\8f¦Y\ 4Ä\18ìÂjëþ\ 6³¨¢\fa`\ 3\11hë¨\ e¸Í\b³.zÅ7ÆiîÄ\19û+Ñ\ 6\83â'ì\92\8d?\11\10\91\98\1f\9btÇ-\1c\98PA\8fJT&\10btêJõÞ\ 5\1c\8cÌU,Ê\82\vêR¡f\1aû\9bÑ\ 5ÐÂÉ\84\17C
+ÿ8\82èw¼ñ\ 5×>Y\f\13\98¹\84\17\98\1fÂÓþ"\v¯\99|?\90-|á\ 5èÔ\8e§GÝì\96B(\82èhm0\82èf: \82ÜÊ\9f\7f\9fiB\98"\96\94,¡.Ív¦¢Óé\10Xù_4®iK\ 6ic\86Ò\9eiAÝ®\94\95¼W\17v ¨\17
+\98\82¢\99\8cPÉ$YP\88\82£V¤\936\fcpùôD\15\ 3"Îp\82¢ò        1â`\14ðS\95*\12ÉÐ"Üu*C8:\8f-\ fè  ½æ£d¶÷¬'-ùG«ð\96_¥ºõ|SnºÀø2üüC\v\ 6\15ù~\81¿4*²üò(.;ñ¦jÛ\80\19صG¦²R¨\99r\125M\1d\11
+dàzvÁáÜgÝNÞZ,æº\18\12\9e6+&¥¢»  \85,µcÞZ+²D\16µQªü\10'^<}.z|Â\rØÔýK¨çúAòå³\81õ­\80\97\19õÔ.\9a(\1f\f\\19ïxØ\1fO\ 6ÇrOæ\1f
+ù-C}n!å\8d\89#\a¼O\9c@ûßÿa\ 3î\16\ eK\197uäIÑ%\99\8a tìc)\r\82\ 2e\8c qÙæ\f nÙý\93@¶Ë2K·¾\9b\ 1\14@¿G\r%aëÛ]\88\17ø°÷¡×Ú\96¾¿[\98ÓW©80¶·t\84cÆr\1dÑßÞ
+íy\81íÂù ­·º¤\15õ\7fH\80Ú\a06&\10\e\10\e\1dóÚÙþB}V¶z_vð@iÚ^@¶©V·#\964\9aµ¬ó\ 6\10\17kp\1fï\81\9b·(Û\98\f\8aå\1d}Î}ªµÅ`Áß`!ý©Nl^\96\80W@´D\ 2ÁÜ{\80ݽà\80H)ýHIu\82µÏZôV°f\8b4­G¸\17ÖñD\ 1¡\84õ7¡çZ\16"±Ö\8e³\ 1áZs¢!\ eÅñ^\9bâ¼÷Åyu\19\9ex\7fñÕ 8¶þ\81ÿÂ{\1f\99Vÿó+\9dñÏûÞ:Ê\8f\1d\7fèñãý\8fÍ\7f¿Ó`:jl\ f±ù²ý\9d4B\12mÀæé,9!\89ù\a¨^Àx2,>Kz
+\18\10\8bÿ\ få\13{<\ f>ZÞÙ\8d#ãõ\9b¡\9f½#é¥EC\93¢-\14\13ÁÃ\88\98é-ÎÎb)\b\1eHx\9e£\10\81ä\a\8a6PN Y!Ûûê\84¨\90\10"od£NR/M\8f\9b\9c*(üUë<\81-\84\9eÙÓ\8d-iò\9b]ÓñÓ\8a²Z$Z~\16\86æiC¥\11\87ãK¹ôûËqcp9ª*ü´Åxjs\9c¸7`¡0÷Å*\94îjãp.W\ 3Î\jôóÂ~0ú\84$Ó­6\8b\9aP\8fª']Uí<ÞÔÄ}W\ 1ërªW\ 4ï*\81Ö\ 27\19\92ÿVûã\a\9f\11%ÕG$ª«\17nUaUC\97;|â\ 6\1cì7WðÞC\ e*N£ÒY\0?\84Mè-%\8eÛ\95c½åS'Ö%N\10G\e\15\19\8eÃ%\99\162/\11\88Á¨½\96¨ê\8c\83\96ÁäË£
+E¡ßå"\9e\eDù¡*Cu\95)ú.\13Ùæºf\13\15d\98~&_\95c\99å|ê_7\9aê<$¡\83\9b7K\12%\8e\a\95cÔò§§ÃÁæÑÑ\18D)%¶;$\17Å\e$$VÞ\9c¡\1eï×%\84\eí\ 1Tbq_<Þý<N\99ÜGS\1aë\9a\1c.:|b£ÆV¡\17!\83<\89\8c\93]Ï"ÖB\8c\1fª\f\eÙ1~\86\v!Ô­A\86C\1c©\ 5\95HÛ¥\1c(mC\17Í»\ fâ¨D À-\r\1cÊ\8e\90\7f^*ËJ\16\80\8b\93\ f¸\8fb«OÊ\1eÅTN¼xØ$ÖÉvÏ¡ë¸Et\1d\8f\1e¯\ 6FºÑó\80BÔl\ f£aÁÖ\98û\v\95^:\19\ e\8bó\9d\8cÀÚ\10r¢D·.¡"\&\1fÑiæ\99\9cé¾\96sàã(ÎQEg69#0çã\1fÔd\f\85}FD\89´é·?STà'8Ô      \89       ZòjU\a§òP:¿ÎÉ3\ f\eå×ð½_ÅNY\9eI\84\89\84\84ÔÎ\ 3-Æ §ÿ\ 2B×ôç?§U?ä«ây'èª\16?§__Q\1fÖloòÛ\1c\ 6\93c\81\7fO1I³\99úÞFQÏ\915ú|\8c¿áØóÄ\85¢üþ¡!hYü\91¸ý;\8f\922Æ÷\91\91Ïé\12\19´Ú\ 3_\90\1eÄS\86\12\1c\r\ 4\ 6\9ekM_Ý:Å\ 3¾\86\ eÂÌ\e¨$?ú\98ni\98m¹Ö>\97óa¼{0\89\ fúô¾\ 3\ 6\90¯­\aówz\ 1ºP\94×\9d![Y¦ïÐÌÞOþbò\7fý\7fB\7fîZ×å\8cI­*ØçkˤAT,Í?\84\97\17VL\8a\13aúBV\8e_"ï\8c9\83ô4\ 1cd\1d§#\9dJ\fQ!Ñ\9a²Ò\831g\1a\94\13A7ÍÆ\99Ñ\12\1e§\ 5ÜhA\80\8841ð¹\15GØñù\1f;\89Ñ|Î'¸
+; àÙ}N'Ôä\7féÄÍqÓ£­Ç"©]\8d\1fEÃü¼tn\97!\94\ f~ËçdJå±!»H1ö_Ú6rv)³ü\9b+\13¹\ 6\12j\86¾Ë w½Âý4\89z2\f×%!Ð¥\ 1ôÔÕè\93ödD\9f¹Oæ$ý  [!\90©¤\8e\98\94\ 1¿HJ\ 1\8eÿ¸\94\ 3\10W\83ì$£Á\92\9e\8aðè¤ËJ,xÒ\8a'=äéFéQÃ\v\88¥\1c+cQÃ4L¼Z8²\8aQÅ3У\8b\1dôÑÅ\ 2ðK\19\8d\8aäõïâ\89c&®Ä±\99K±,dÏ<K\19\8e\8a%\8cÈóı\8cùâXÃfÅ|.\80\96\1e¾ó6(ÛÝæÅ\157y±G\97y\9b\14xß0\96\1dé\84°ó³\93<ìØ©Ø}¯\8eñæ\15ÙèÓÍ\8c{´óbîñLس3?<\13\17ª\97\90\8cÉøµTM^¬¥?,ÞÂÚ\8a\8fþ¢W£\89üÄp.\ 2?\86¥H¼;\1a\93\83Kc@êJu\98gR\1a±\r:OWÞÙ\85ø\85©\r_\ e\82\9d1¤Wø©&\1eÌè{5J¼¥\7f\8fÊ?¦òÖ#å¯\98ó/ýÏ\99\80Ñù\98.\17\990Çóåäÿ:\95\1eüó\98\9fTë»\f¥\8f:\82^Ð6+/:\r7\94\12©HÙj\ð,\7féA,n{PöOt<\9fýj»{\1c\85\8d\8b[\1e\8b\8cõÎuÝ\a¦\1cç\19B\17ïîã?òâwjÌâ|µVö>\88\aEÄäÎu×\87Wó8\99U(°\a\87¦x¬ÙÅï³\99\94V\9b(ଥ\10\82\ 4Û\89êÆCq¹¥=½\85Å\15\ 5\ fE¦÷È>\13¿Â\a\1cÝ\9e\89HЧ{\889×®%I\17¹¯Ë\ fê·ÞLº×\88\9a\8a7Lå\95ïn\9a·\84Ä?\fJH'\9fI\ 6
+\95vRRè\15\15:öIƦ¸#d\1c7½åÔû8*Ï\1f\81õ×\ 6´ë{\1fËDZG\8fÎâ+\1aX=\ 3®é_U\ e»Ó;o JÉ\1cÞã¯ó\rÄö8é\88ñ)4ÚO9ÎN\1a\12gÒ ÿ\aïã\ fP'\1c\1d.\9fü\89½¿Ø\9c\1891Í÷às¹øÏ\11øÎ¾¹«Ý
\1cT$\1a½\9fd\8dÇRìú¥©*\1aTsîsÔFâ\v\92\9eï­äsnðÁöøÂ<q4ò\7f\8e\fÖ:EÁ\λw¯~9ÕAf^ÈÓRçN\87\rR9¦\14(\13cMb\9cZø4éig'uZãóÖ`ÉËòª\87¢_GEBje\13C\83'¨oÙüeJ~[Iõ7\7f\v¬\16£\83\15T\83\8fñ3\f·\1eòE·\8fÁé\19\86'\8f\ 1!\9fBv\rã\15MF¤a\ 3ïþ¸\89ü\12ÜhV\16[añt¥\aw yF)Ç[È->¨î¿\1aÆ4\9c!¦Ìv?\14\15\ fóa\7f\ 6\17åâݸ´X\7f\11h\1aí/\91»»Ô\82tåÿ\r}\17Î×÷×\8d\7flÂ/Zh¬úcãOþ7\91\ 3\88N\83x\7f\16î\f²\7fýo4\17\8dàãóNs\82\r_Âjabõ\84ø\1c9n\ e³\94®¸yé\8d\83\19Á}pöw\1cÇ\82ínÚD\94³¸ëk        nD=⻾¬u\ 6~\84³L£\13\12Jo`:Ï\86·hÅ:wMð4\80óõÒ      z\85K'\ 1hRÄ\19ò³sI_4>$ÁGd¼hj\95\88\19/\82-\98\11ËÈS®Ï·S°e\16ÉQö£A9RQ)d\95¤¥\9a\8e½\83óã,i5£F\96!`´?ò²Qïý÷_YÍ ò\8d\18\11\v½\15¢³9c;0©÷Ý*1\ 2Ìa ol½ü\96\f\92: µ>Q\ 5Èó~¾¡VÿâÆèÏC-K£>© tÇ:À=°   \13\9d4{ñ\ 3\13\9d/\b':V\1c\93©\9e·¹-C²RÜ]°+¶°6n\17¬ß_ôÑô×/sW2Ü\80ÕKX\ÓÓ\9aöÜ\18"i\98\18ªè\fÈé\8c´H3G\91y[Á*\85U.\12Ô\vB´¾xÝ\19ô"Ïx\ag\84\13a\9c}ëÜTd\89+ì¿®=\85sÙë§¼­ý\82¯v×\83K\80É\93¿\81\ 6È»Ü\93'ïß\9eúxû>û\94\89*SÕOr\82ÀK\16\92ôYäË\ 3G\93<Z¢\ 5ù«æì7×÷]cÖ÷EwÃä!ïm\97\b{´#»êì¸<à\1c\97.íã]\15ãUâÊñ\8cñs\81£\88\1e.-ôñ,¶\88ç\8aî},\9c¶ñôò øNw}ô\91ÚÄ\ f\80âÒ±Ã\99³\aX±Î\15\11^$ýò¼\91Þ
+£ls¶\96E¨ý\87\e\913d\19\9bÅ$      õ²K·\13$º¬\I°ý±4ÊèRgçvV[I\aeB®\86Ãã\84º\8e\ 4ü·\16¢d\92¯Ð\94\95Ü }T¢WêÈâc"Te\bÙï\97Ìó÷ü7JòÖ\16\82ÈQÀ>RA|¡êÕJ\¸\92\vî,p\9bDYäH\8c*³¼\rõþN\83Ù\85rX\r«8`2B²C¨¹µZ]ë¶a±ÅXZ(åRZ\8b\\895P\86êéT¼\19Du}       Ø\8e\99½k2Dx½²7]²\ 2\ 3yg0L\9d¸ÆIác\rÓ\ 2ÆM\842Æ&&&xAgAîC*ÅÏ(7ÐÝ-zç\96\1e´8\bärd"\1f^\19bmÞ\1e¤ý·)]\9c`a\1aÒ\1e\81ûgJìóãÔ\19"-rDäÀ\r\847Yg®cÑâ\9cÿt©\83\96\86ë°zå j!ºl]Ài!ºjõË0ÐÃu$õÏ0(á\96W.mB|Íí°fÌÞÂ\f´8\ 1\94\86ë­ç1\92Ê-:¥\16\9fXËA÷\10f+K\80\91\87\ 2qÃï~°\15ÙK@\1fØo ûÝm\85¤Ç\93-\ 3È{ {\ 3?\0åJÎGªq¥T]~\11u«=bµXLî\94òë¿\97Zŧ+íðî4«K­\ 2ë\½\8cwáê\9cl\17\97_å.¸æ\v£\97a4{\ 6\ 5×\81.¶,£Ì\9d\91u\8axöqÑÕøG\e\ 6e×ï\17\_\9b9\ eþJ±
+£º¨\8e-Z/ê\11T¨S4ÂDÎÚ´?6CÌ\9a;\ e;Óú\8c\9aÕwjÃóh¯>÷\83\8c\8c\ f.õZôÓvdd°w²¸C39·ìÖ\7f(ʳ,    ÷v¶\e[=­¾Õ\7f¡}ô3\159\8a\9fÐm?Gö{Ñý~\8eÿÑìª\96\87ØëZÚ­l9\10
+¨u×2S³Óå\94\13\85¯,\97¾²ydÌ\18\1c\1a&Êe\9f' `g\11Îð\86,º»¿#©b½\ 6\7fAzeÉ\84º ý+\11ÔÝ,Ó\1f\ 5½ÒÁ\91N©ëv2ÜW\90°Zu\80à´\8ep\1f¾\84Ú'ä\9dýe[àE\91\98$D$\ 2дB\95S+ªñ_O2K\7fL,¨\82¢KE
+G\8b5Nûâð|\97\9b¥þG\82»<Y~ÑÑv¢\r:zÝ\82mȱº\81ø\92m%aÙ\92\ 3\832îæ\1eÊ\8eu%Ø=\9eeR@Ǭ\ fOcT|¹È0GØ:\Á\91õL8.Ø¢×ñ\93\92¼º\12d(\9a\1e)AY!P@põ½¦Ë&&0\91ǯÍ\91^zÝ\87ÛRÿÈÌK\ 6~XQ­Ö·Z>À\92\e\9em*\9e?W­nH-á\8eroS\ 5¿4\95»\ 12g°à ²·À'\ 3á6=Ý\0_.\9a\84]YÎó\83Þ"ZîD®¬1\175KP\98ªDЧö\a~\8b¹aßÈ!\89\1dG¡+j|\83¹;Y¥\\91Ï·Jìvª¥XP\1em\92¸I_ïX8\18\90]\ 6iQ\ 2Ue¼\ 2ÓÝL4$°/ü0ñ)à\\1a\85\ 2Ó¦ÿv|¯-\92ñ¦ÕÇ\15\1a\ 3CѧÞÈû;\90î.]aÃ\80®©û\80Ö\Ð\16\8f9tPc\8dá»g\ ft\8dÖçOb\1f\9eæ[\8a \8b\14PUU)nbóñbp\1fÃ\85\ 2~{pÝÈcÉDZKç\8b!uû\8eË*\1dZi·\13.C\fdIî3!û\95\v\9fFéj\vÓª\81©i;\ fYQ\92\ eÙ _\88nús¶EhR\*à\8f\87\0Ô\97 ¬:¸\8f«Ã°U¦YVH䱡÷\95i\97\ 6.àB7o«ÑºÌ È&ntÌ\82Jà´×tÀòåÕ w÷\ 5QÇÜU"\92ð[pZJZÜ\19\95õ9°\a7/Gá\98Fæa\bñû!XÿD\89-ôNIW¢¨±SKDÊ\1dv7àÔ0\87ë\86{É`ýÛ[x-Ú8\82Ý\9c\8c\16ñç\18ù1^ÞD\83\88ôPÕ.\18ÏÚ\9dn\95\ 6ß÷þ¦ØåÃp«É\11\róÈ\r\12äËqu­ä\e=Ë2¥nк\96R·f,\16»4½ä\ 3µ´R#ÂË62}Ýd~Ù\19ɾå\9aOT#ÂS\8c~,Àgy° \f\8fx\1e\91\95dT\94»Ñý\8c%g*»«WTqk\êê\95%Ôí" ¾Uqgd©,)bÏ\ 4\1e/\90\9eB¶üùUÂ\føFé[¥CðxpÃìK£2\95KLÅGËøHG\ 6²\15RÔÂ\85¥m\7f\8dÐÜ?\v\110÷cüú\10haU\11\fG}ì\91iW\1e\92 Ä[\16»YBÓá      \ 6\8f«ê\91=T\13ûrÊEÚX×Õòðݱ\82\7f\84TÎ¥\9f¥ÔKÄvÆYùRéà\9e\82X)s\94MâÁ?ò¥\1d\17s\7f3s +sTY}²;Q\92\ fßNgÃØ\16\16_f\99\96\17\1d²m\8eÒ2vµ¶;6±\bòÃ\10Ã[¾5S$¤[=г\a*£BÒ\8f&üV>ân\7f\8cÈeÿÆbõË gü\rÛî\ 3Ü×3Ú~?B\12Âã,â¢÷uÆY¶\90#æã\80\90yÁ'\18ñXk7\cõ\9b¯\ 6\e¾WïTªã0£¡¹4GníKF\91\\98tö°'ò¶C\ 2\1aÛ¡\81\95`ÆÔ\10µª[R¨<\91¢áQeÓ9?\8cýÏf\95m\1a;^\1aa7ÄJ´{Ã\f\9eåO\95~\8bWÄÆ/Zø³­Zúx\96a\91!w\v\r\11t­¥olZQ¥Ö yd\aÓ¢Ï$Dm[ÜÄvYG\ß\9e\9f\ 5å£à´ÎÜ´\96âÑçà8\f\81ÈIUH\86æÖ©\135²ñî\98Õ<{\9aeR\7f\a\86Ã\86\eKP¢8p52\ 4\88K¾ë\1an¿÷î÷wwujÕ»©   ! FïA£M`\1ah\90Á\fB\12\10\90ÆÀ4Hi$&\ 2\ 1\1dC\8d\f\1a\16\82n\0ô5\f\12Ñ\8cs͸ØÇ\18\84ã\84múE\e\e`\fb\r\1aC`Û\ 3Þ\92\r\8e\11\00ê4\a£\ f6\81&·ÿïýîê@\r¸ä\92I/§½mà\õÌöe¹\96å÷\ 2Éo¸\13\83s.[Å·\81s=ǹmâ\ËÁ¼\9bð\ eó¯À;È¿\ 3.c§{ÖI$\93[$\8eª\88Ú¯yÏ\19ó\9e\10È~\10!u\9cw\16VZ\90"£|CP=ÎÕ\bmÁïàrõ\86xß@\aÜ}$­\91£îF5ªÉª¥$5ó)\9e      ö\10\91\1cÚÂÒÆ¹µ[ T\870\1c/ØÃ9µ\86¥V\87\9a5=lø!\82\15EfÞ\8bî
+q­Uä\\vP\9dͦû>­\r9\10n^\9cæÒ´\85+Q(³\8d¨¢6\82\12$dcHz®Ð0kØÞi¡\8bïi\re\84õô\8b÷\93mäxHyÞ9 Z»Ó\84\93M\9e\99&fxßM4õW$\8e#:\87â~³\8fM\1cE\19\ fAù{¸D`K3*\88®\91 'ÔG½U!]¨O¨Ä\9b\95-Yï\aâO*\14ÐÂþ-üy5\1eK\9e\84¯Ø-Z»:\86mú,é%\10\89[\8f\8aÙ\83JO·C\96þ\9aæGQ/|¦\14lJ"Ý\0ö¥\ 6ï@Ï\ e\ 6ß!ª½\ f«\12ç\8dÞïøÌÝéî\83`âÛºÜ\9bZ\9f\9a\87¢ÍÖå5mË\9a\87\9cδ\90\13òÙ֪桮)=c:ß\v\9a\87\84Ï\96\86­\9cóÆ(Xø\bÒ\87£\83Vè(6q\8a\18+Ó;\ 57C\1f&'(âr\9aÚ>L\87\94ÿ$Å\r\89Qf2¦^S¬é\ e³©\90©\7f\92Bh\19e\1c`>1ø\ 3\ 54S¦l\ 3nés\01\v&lÜ®ja\8foâil\86\eXGeë\9d.\8a  T#\91§kÆÝ\8aüv\ 6\89\ 5\84 ¬H\rH1Úºå«Ý®\0µCã¼ÈW ±\9eÎ\14\81Ïó     '>ßVNm]Ê\v³L)r;\ 3¤õä_ÈqÐü^0ß?\1e\10\bc\8fvd\9b\8b%fHl\98I\92\895Ó° ªÓF$®W;#\eÛ\86Jh\92 {7)ü\91\1fyq'øXëÛ4l\12Í\96°&²\b\1dÏ\9bª÷d\1f×\88é\vh\10ò\83P\9e\7f%\88âùÈw~5Vî¯V\1dõ\8fßaU¾CË\a|é-Í0;¯CÓ
+«J­É úïÚél¼ B_íÚGî6\ 4\92Ça]Lµ×¶\9c\92®(ÜX\9b\92µ¦LBò^õ0i\bâÒ\8fÊå\8b8TË>-Èá\ 6©
+ÊÍHp=]X çäóÌõ|\10B\9fä\16\9eØ>õü2ü=¼<\9bÄ\1dÞ[Ím.áË\8fÛ\8c\8e\1cÜ\94óÌ\81%Y¯çR®B#¡ñ)Ä\0Ùk³F\ 6CTCUn>ñµ\\12â):jTñï\96\9aIø¸¼Éú\a\92\1c-\82úcm\9el\1f\ f\17\8dëX!§ØUX\96ÄP§\93nápÐ\18´ËdÓ\93þ¢\99]n%êz­ÒÔìP×÷èÀEÁ±ï¶,\10\98ØO\ fQ)\7f§Ë=¾µíص*\89p\1a0i`eæ×\rC£*\ e\ 6ìTó\vAu\9f9;ÇrÜp`-Õ£uúW êÒu~\9f \r]J{û@pIÃ¥9;A±\ 4¼@Fì5\9aENhùÁï\98·G\15\88Æíb\18\89J1ÀÀG\µ#Kq/2`·_\90ÒàÃ\14}\99é¬Ò¥ªðCuâ\17ùÜ\15cu®KÍÝ\99î·JméqÇ\17Ò²ñ¥Äȹ¯8p(\19\92ó¸Gºã[,÷\17\9dÄjî/ßÚ5×rv\9cÝ^¯V4µ #K6»Üª/\95o\93\1a\9a4p%Àh9Ï jh\83ò{È\ 2¤\93ù<ð¶ó˼\ 3\1d%¤(gá¶«B\8dÖ\89\­2mª\90ßñ\8fõFú®Qà\9fàZã±Î­\94¸è5\7fõ÷\1e¡\14HçhOr\1cÛªÈÙ\1fßê¡\80\ 4\eáðu\f\8a\ 4·ÚÆÂ;X îÀ\7f®Àav°^h¡\f\ 4¶°&r'\99\8d®£jýøàÏh»6§ØÙa6®ßQê²l5=±¤rÛZ:\9eÖÚFº\8fu\93ZÎ¥Q9+\1eV\13\1d!Äü
+:¬\9fK\7fÆÙ}\9d©h\14á©&:ço\86°µ*\1dú¢¥]ªÂ'Ϩ\1c\1f\98UFþc¤ôrø\¸3Æ\92æ¬\8am\9d@QüS\f     \14\v- Q¹Ñ0MMÞ     \80Õþ=ÑX\9c\ 6\14(Â:P«õJ\89)W\a¨¿¸*\98èu\83\8aûSìj½×khõS\v¨Ýè\96ÎZóü¬¡RÖʾd˽ðÔ°êÊ}^©ý\e¹\8b\1f7jËÔá~_í\96\94\11®\9bí\9d\1c*Ökã÷O^µÃ+\r\ 3aîõªÖ\1ft\8a\öì %pU¬Ì]HN\1e\17\16®ü\9bîÚ§)m@þrØjr»7£yXú>¾òSmÀáø\9bosÖô+ô\9b\8d¶ëÓ¯àpÏ¡R\87\93ߪCîju\9aÕ\91\9ek\18¥ÊPîníöY§£\83\98\90\9eT×tÇ\94\81pm¹\86¦¸zOÉ\90ûæ1CÇ:½MXG¥\81j=X\1a@À¿4,aF\82Ìfï\15\86ÚÆ%T2\92\15ñ Ö¥\8f\85¶ø¸Ík>¶Ú\80ùæº\91 µªXêvÌP©©=\9bÿO\98\ 2\9dÄ8\92²\12^´9k\1c\80¦¾\9e4!´\8f¯ªâK\16±Ç-ÿ\93¦R8\ 2jýü³®\88â  °ßõÎJú³çÙ)C^r\95õdxÜT\8b\14\1aÔëùPì\88O\ 2×_ïÝög%äS\8f\89\90Hý¾C\ ej\fÓ!Ñ\ 4\ eL{7[~\89Ã\98E\ 5 3,ãvºÅfE.B{ÃÔØê¸:¤\10Ói?"\17¶õ&øùj®\rjÞFZ©äzþFZ\81\ré¨i¼CÚÖj\b×|ÝD\1amËÔ³b\84ë$}ý¸ü;\145z\8a¦hC²-\94ëØ\98[æB´Ô}þÊ2÷xX¡\9bÔ\r\83\0£.
+Ñ2cqäÉç1\ 5¬\135\9b\96\9b§½<\fç£fë
+­Åê\8d\9e\93ê\9a\ e\1£fî];ZÃzöµ\9eËFµ\9a½µ\e:©u-uö­\1aëýf\83v\92\8b\81äZ~qÃ\83\1c5Ú¢?w      }EÜÂ%áG,^\ 5>oÛ\a4ÊЬ\7fÅçY*\1c\13gqu!Òr\1d&kYÅÚ
+¢k]\7f\1fhxÞ;\8e\10¦àý\b\aü¤Oö£\vÛ\83þl\ 3÷È\9føãP!Ç[\9fûð\ fù%?²ï\1fº³OÓ@s  9è 'Ç\aë\ 4éÕ\8c\90²µ#æ³=º
+ì$\8dz½Õ\9b\ 2\92N"&\85Ü«\14]æ¸Î¢.V\ 2/\fä:h±"zovË¡lyp\874\90\99·í¹í\ eâ\11îj\94ѵÔ\1a~ ù\9e/=##Ú»ÄF\12\rìE\f\97FÕÞJ-3Ç{º í©¡5#ÀC\8e\9b$ïw©àê¬FavCFH,/dq­I¯s°k½.\9dögkS\88\8c"\8fÙÅÖ\91NÔb\13\8f\b¢/ÔZ\85GÌËñ\7f\98÷~èÞ\10}\9b\0\14\ 1©\8f\97$KYRô>.    Q5¤\9c\9bÝÙ\82GG\94ï\9e\89Ú{\7fEM}[Íg\9d\e\14¹á$\13Ôí\8bï\15\8cz\92½ÎõêFÑ«ë%¯\e§£_2\8df×QHi%\9cb\87¡¦¬ãC\97ÊÁ÷áÙqîñöÜ\8b¸Ò\13#\8b¡TtZôa»àiµüBG=(\88kø¤&X~²C\15P¦mvjorÍþ\81?ÔM\ 6¼\11ûF¹é\rØ\v»\12E\8f\88\92,*\13ú\aª       Ê\1a\83içpó@ú}íܶ\1fpnè«\96N\17\15\ 3\0éJ6\12Ù\8a\11Zgr\9ch}U\81l&vò\81Q\19\aÉÈ»\8c\83°\85òo\87\ 4\18t\10\83xF\19¯ô±Jà` {\14\8aõ/aÈÈy.\90×¹-h¹¥#Iõª\ fu)ë\8f¨Þá\8a\e!)ì\89LÑ#þ%7âR\81\8a\1f`J}ñ)\8eb\87\82%=Á),Å
+\81\84¦\ 6Þ½à_Q\14`³öNå.\80ïE\17
\15ù1\vÛ¡qÆ\ f\ 4êt\8cñ
+\aLP\97\82Àt\fPÁA]\17±C¯\80Ã\84>!\bh´¬í±Jƽ²rFo\rQ\ 6¾j\1aø\f|\1fÁ¯\88n+è\8f\96¾\7f>¯Ü)\ eÀú¿ÄR\18DkÞ§®\ 5÷¸$|¶(zn\8ba|)\8e\8fÜ1CÌuU\16B\8e\8bÞæLÌújä\14¯ô·{A\10©;\92IÊI\7fÝ\16Ã\ 6ÓD1CFê\ 5\85ö\1aÎç\80å\8a\14\8e\92i4Ð\9bMpÑ\1e\bz\8e^¬b\86EÒ/\ eX)±BaÖ¸`\92X+ë­à\8e2\8a±A£¥þ\93\17°ìºp\17Q¬rHZ@¾'ÌâÌ\ 5R5Ï&×ë·\16&\8e\fÔñ\9dðF\80T_W@HñÎ\10ÑÛá¢#ìHÜbr\85¯G\90ß¿\eº¨\95ä´!\91ó{]]\8bZ¬TÑô\ 3\7fr\ 5çUHð\99¦ÊÆ\12h\ 5µ[á¿¶CN®Z£\83*N\13mS\ròâ´4t/Ub¥\v(ÖnðX\90TÖÁL\87¬>7+¾\1a\1dø=ººé\19 á\8fz[\83êì8\85<±~ï\86I\f\9a\ 1i¾ÜòíO\ 4nü"×OÓ8T÷ÐF·µ\84r4ß3Ä5#\81Ö]\1a¨÷6¯ÆÑì5Âà¤=lô\87\9d%báV#\v¿Ï\Þó$x\ 3ºIõôɶL\ 1×!ògÎøo}±\1fÓúF\gɸ6o\bâ\9d\17\9d\17[\85î¸\8f\9aº#\ 4aòayÔ³\17Îs«`¥\94R\85ò4\8c\9f?{È7#Ñïù[þ ÒpEÁ\99?\84j\9b-ÿg#\î¿®Ü\90Âz~\99?ÇÀë¾\16u"Û\1d\8fH
+Ôªãzß\91\f.¦y\8a\14úJõ=ÜA\8cºT(LOÖïö?"\bOV¿Cm=\96´Ac¤3ÁÒêVÇä\94r×o\14»f\f/\9eÞã\88\92\9f\9e\7f\9a>Á`Ðù{áùÙ\8d\12~\81néw\aU]ìÆ\96¨\0×q U\0\1c©Êõeª\0Ò®\16 Õ\b=Í|\vW«hñ\190m:HXÐ!\95\9f\9eAE\0ñºÏÚ!v\8cC_sé\r¦\95´-/ÿ®ûIäû'
+\v\8bdhË]Kä\10 ¹ê\17}p®â'Ô.¹\84û-\97åÆ\13_íü5Xd0Ò±[\ 4ôÊ#èV§æ¼C\94>\8dÄÓW}ª±=\84\13Û=\82w\fÈb³¨c\12IªÔV§-U\81çÛs,ö
\19Ñ\1a\f\85M\87\81aáØxö\15v\13»\7ff½ìtîß\85^ö.woe^õ\84îßã¯z²wn¢ÁêyݽÊÁ\r[únàöìf\90>,WT;wâµ!\97~U}\82*ý¯1Õ\8d´-u2\97{ᥠÊu\19ùN\8bgm\9aÕfVÖ\9cæÕ])¶övÿ$Èù쯶¥\ f6,\93ĵ.\14\82Vv\ 6\1f<«*>m\ f\87\16[\vJ»5\86Ýæ_µì\f_öý±Þ\93Apã\8b\R#Ýññ\80ÄIÊ\8e\1dpM\\14nr        \1cì\1292\91\1eíÅ([\922   $w²à[Ó(¥\8cëZ¿ãÝ·#úØ·U"þG×$Ì7cô\96\98¼dÆF\9a C\ 2?,êÁ\83§ï\9cr6oß½â\ e\f\r§>¥\8fØ\ 4k¦4Ü\12\14òÁ\1c\1a¿©c¯\ 1Á§
+\96>pó\88©cæ\ 5\9bÖ¥¢ùEfGÝi-ß\v¬"\81XD½f¼,\ 4\rE\89ì\14ù\85¢\83ú#_\8e\17Õ¬\9bÙ\82½© \86ZÐSìgº¿\ 6\84oK_ñîȬÖ}ÝÜõ\ 3ÂN÷çnÌ\10\9fC­b¥\r»ôjÄUþ\9fm2Z\fÄ\84q=\90³\ 2àñ3Ѱ¯-Ô¢\7fªx\89èÕ\84þ)s'«Ii\1f\8b\9b\97q\1aS\14è\98ä[ãcÜ*T>TÃÕeåeö@®|¨pZ°£·Õ.\8e¸\v\8dXUv\eU\1eï\9f\a\b_øHù\82¬ë5\85Ð\9bÕµ\e\ 3\87*\e\81!\8f\80@v^¿x\12\ 3W£D\89\ 1Å_\12\9d\ eóúW  \ 1Ïki\94.°Ãl³²8Ü|Ъ\829v#ç\84ôu\81n4xA\1cB´Ä(!\95\ 6Äq7CÆ\1c&\eIã[\8fºúyFxÜz\8eÏv/)¦\e!ÝRX>u\1eÈ¢¹U¬ïÄ÷Á.\1d\ ftÈà2\81\85BÖóL[¢®ÏV§=Ü^°\ 6ÑÒ2ÉO!vÿ\92ö­hú;&\ 20  \ 1       lÈã9W0z8\1d?\18d¬{\f\eí\ 2yë'`FN|\8fÄæP\8eeM\9aCÝ[&\ 21Ñ1~ÙvòÎ2òd\82\8d\11\82\13\0gæÉ¦_QÁM&\9d}G14\9a\85õ\17\84â ¤.ù<\9a¥õ\ 4\95mZú\8c"\997+ê\1c©\93Ò¯¨ø\14ɺ_Q\94U'P¾£ÙU'¦_Qæ«Ø÷ÇÔÌÚ½\8b\ei\ 5w\ 2\93X$ãJO«ïG\ f\1fc´zE\93°\1dQ\16SÜ%\80\15\99b&XæEÇ4@\8eÊHe4\85Â\90N\11aæéæZÁN,#\0}H\92\1dãG312\ 4Kö¢\97\9f\14¾LºoBb«o\8b\ fWùCcµ­0ý¨·²Þ\85>\ 2\1fzØüª£ò\89{(cï "è\rÕ\ e\18ÁÚ¤\8b©Ê\12lìwCÑ3ï\1a}N; C\97Ãyþ
+,Xª\99\9eY á\14ye¼i\ 5òµ¦P\e\11>ί^\89ú
\8d~\93\83\96ÃËÔ\185\89Ø\86v\b\92Fº´\8c_¦¥1\1c\1e\12ø÷\ 3\9c\89\83\9aþci\91W\8e\8f\8eµ^áîñ\89àÁÔ\8d\80}\bwxÒI\1e»\b\a¯õÉÎy$õJéb\9dÄ\90\8cÀ2FLѰj¨t\15¯Ò\8dF"ñ\15~\10Ç|ò«ã\85Fú©\9eAîô|½\94\82î¬\r\1c+ã'5)V[bíÉ^E/ÇpÁ\98à\ 5×»\ 2\82J\95\90Ó\ 2Ó\9cÿ+)\ 1Îöý±\842çù]h\89[Ã`C\ 4ë\ 6"\97\8fì\88§=Z\18et½\81\1dY\8b\8c\14\15òü\b´²áea¨k\94ÒܵYB6<ÿ,ôn\90òURìÍ­\97\vÌ'\a¼î\9bÐ{\0\8bÐnE¾\15èâ\17é}\10tô½IFx\\9aÁ¿Í¢Lp\89*\r\85À°u\¬\90Wfî\1aÝÉűԮ©\ 1oÎÈí\ 2Ðg\ 5\85&¯?(Tf4}U\14\1f\8c[ÕJï\ 4\19}\rÜ´Å÷IQh¶»ÀßÜ6â«\91QnÉÞ%_}º"\98[Gò[Ä+\94dVÍ¥µE¯1\82ñZÿ\f\11:£µ·o.\1a\vwqxC6¢\96íÔs-\92°©N6ØdÛ\87<¾ôÓXò¦±erÖ\ e%\91\9cÉÕ¢w\18+\88CfÔÒÞ\92\84#\8bÏÏ\b"ÓK¾UÂÃìZ|ï<â$«Jâ­0\83I\15¦\80\8eñí\11in\9f\83\88Vêg\87åð"26·u\99¾¤\87\84\82þ\19\19\14æQ!S\17\84\1e\ 4\91á\7f°Nd\8aÍHû\9dö
+f\v"Aõ8"I\ 1\90=\10ϦT®Ñ\r\92\ f eù"T\86\91Bý-\98A\8b\97@.\e|\18Ugn\18ßΡõ¢Ë8X©ÿÚ,\9a¥\bpSÒµ,Y/ÿ¢,\98TÔ«F\ 5S/®\1eú\17¥\ 1ï\8aõ\8a\1ca\8fI¶³ª\98O¯V\99/\87²\82϶H\8b>\e\0\9bÎÚ5×sö\9cÑÆãÉë\853ÕèÁ\80\9d£/ü'hòS¡d\9a\95Z+Èøýb¾Kt\7f:éÜô×E\9fغ^Ó¡Mó.\9bÛ?κSÿ\ 5ÓÑL\83ó~UÒvÍ\9b\91½\94*\87\91\8e2¿\9d\81jzl
+\17ý\f    ïèW¾¿ðW\81\rù¨]~fÇ\9eøÑ½h\ 5°Ãž!¥ÓZ! Ýú"\95ð\85Ã\ f\8eã.j\1dù\9f+\r÷þ"Äv8q\84Õ\19JàHg}1\19ó`|\ 5£\8cGé,é\ 3)n\87Èð*¿\91Ï\15yé·Ëô¦\92}½Ê8\1f\828LA\ 5     ¿\80\84üA\ 5  À\14'k\18¿KÀ·3°\b2Eábüàd¿Oè\80Ø}Êã`\9bõä7~§Ì     É´dÇ\eD\88ï\9e_S\18\8c[ 8\bú?\v-Äû®"÷}\11ØÍ\93½Ù%Ñ\1aC\84h64O}Â\9eó\91ÂW©Õ-jþîïU]o(5Z?SvEè!þ\eVõIæFü:\9f\8aâÿ4õÇÁþSË\17e«ó\a\r\9d²¶hf\rx\8c¿cm\19\8b\98§ý\17¼Å(ÊÌ\84àØªE#\À§Ò<ô\81ÓÅ\9b6#\94Ì\16ck(\12]äÁÆ(÷d\9dÐw\9c\aK\8a>¯Ô-ê\87.\b\898\1e\9e´½\80#\ 3ÈpÚ¯Ò\ eûu\86Ý\ 3\83\8f«Ù\15\r\85Ý\92ib¾­\9bØ\89\ e:H¡¾ë\83'ÿE\93Ãç-ÙÛ¼\17\88\f«LB¬\ 6\99éù\8e\13!¨üÇ\ 6¡\9c\13\8aÔèQ\8dZ,Çç\85;ªâ9Ýà,\14\88(`l\14«#;°R2JשZ\vëÔÃ\a\8f^"ôz¯\1dÛ\1cØ)`Sø\82\9fÄ\8f\b þ*õ1aàW\8d¸d.\19\96\ e\13(©éAa+ÌRÌ\17\99\16p2G»À´Èÿƾñ\|÷*õÁG£ \97Għ¥èé\10î_\82ZèY#©å'Íä L\90?h"ý\92\8ex\85\9cyvkOÁ\9b\9b\1c\15P7Üfí\91¾äÛtlT\ 4öð\93µª¸aqlÁ\95 Ñx«êÞ7­7\91õ§\9e}\f¥&\8bò³\ e\ fëf\1d\ e«0Icë/O\10»\12;\1cý¹ £`°ýÇ´\9eq\91û\8aôã}ö>Ø!4\99äÙo¦õ\82\8f\14È\1eÓ\99
+kze\ 6¾{\eê\9eR\82\r»A¾©Å(6
+\88o©IJ\ e\rõ.)A\ 6lÚ7ß\1c\85\ 6¾©Fûå\10 í\ 1E\eï\9aB\83\97\85\bß}\ 2\14\1dx{\8d÷ÓÙÊ\8e\ 4`³¯Ó®0%ø¿\19ãQ\ 5\rù\8f\9d.\14^Þö£\9f\rìõ\ 4=\97"YùYÄË«IW
+P\89\14Ç\17\89FΦì-\ 4\19ú\a\88߯¹©ÉÝ\9b\ 1Ð\1c\v»l\82U\1es:­2ã1\^\84ùìêj7F\r81Ç\ea\1d*D\e¯\80mrî\98\86¿\0û\0\1eFèÃä^:ø#.       «\82Lýýuº\84óf Vb\1eTT\18&Õ¥6ø6q"l?W1\v\1c¡û\8aå\ 5\82¶Ä·Ø¹\9f]vÙ"AÜVĹv\93À\13H¡°\ 3\aÂû¨ßz\94Ê\a6þ Ì\8bIK\16À
\8a¯}¡W\9bþ\95zF\ 2½#v*¥ù\94ñ}Ä9\80*\7f¤*~»üL»¦ÊÊi²ë\1a~uÀ`\80\86\84«\87\86+\83ïÞÐ\ 6\10h_Rh\1dG\86LG\86\17\8c¨+\96Ù\16\8cV=\1aдW/Q\15r²¹\1eui-\95\89\eÕìQbLDÍ#²²a.S±\90\8e°L^Mä''hÈÎ\ 6\10%\86#\99wV\92Yû¹!E\9e\84J\1a¯~\143_'R-;QÆOY+\84\0ô\91&K}CÈC\15\0\87e\0\86,įÎUØ¡ ÌÜo"\87\0Ó;3:¦\90ÂiÚu\8d\14     ¦3ªhñ0\9a\ ek®!íÚõ\18Á\1d\ejWFÓÔ\18ÏQ0\98jj\81£»\92æb<ÆÝ\92\8dr\ før¹Iòô(\9e\ e0Õkgr\rÔÚ»Ç\1aïF\9dÜÊ\95ʾ\1f¸â\11ÜÉ»û\eæá5\9bWj*fMU=?\95ò=}Êpb\86D*Û\96\9aÞí\ 2°HkzCÓ[\10QL!æ\81laï-þñ\13\17Ú\1e!M\ 4Á\r2'ÿ\f\ 3ñõ©\10Ï\94Ó5*2\82Ù¢s\90B\80\93é\eª)¾òÏ\8f\96n=úYáïÒ<ª±­ð9\19Ú­×#ºAãòÞ%\1d¨/\e,\8aÂ߯ÿÃG¯ÿ\ 2Ë\17\9f²á×Nêì³\1d¸¯\12å¢\857l*·Þ\93ÿ\9aàörÆ¥^w¾yÊ\eñ\r¬ñ\aº~,\7fTÅp\r\8c\8eÞ\v\14f7             â\1c÷ûÂÜâ\a{º­ñg¶rïr\95\84IÚZ­sÄLnÿ\965åbÏ[\9bû\10uD>-n#­é!è?ò\11­x&ý\0BÉý\0ù/þöÄ\10á¿ \9e\82\84óà!\11£áj½ê®mVïÒrZ*\97~\7fί¼æ£Gм\ 4(v\vs\e\ 5¹}\82Þàww.\16d#\96!\14\7fÀ\f(z\85Ì\ e©wÿ¿ô\9c\9e>k\157)(\ 3ºµc±x\8co[O´p7i\ 4\bÜû\0\ fסÛ?\94Y'Ü\8c\8a¿ëü:\12ìo6-\9e\aß\8fÔ\aϬ`âK\15\8að\87ýû\ 4!÷î[°»üÆØêhý/çÉöÿçý\87\91\90Êä²+ÿNë§#Ûãq¦0\ f;\86\96ùáÿfOë¯ñÜÁ°\8dZ´¿2\a<Oÿm2\97\191\8a\96\97\9f8`ù\89\98\9cÅËÌ~´_¨\9a\9d5?Ï\8aT\16R7\1aW\7fN\10Ë!\967\96\9aÅägÎ\98\9a\9aÇÍ\1d-\91;\19\8f\97\96Èâñøã¯8*JrìmG=\99¥¦;\11\9cÎS_\8bQQe»\9a#³½:\89är\9eà&i3\99Üïvu\10 OË8¤¦:ý~;·E6\8eÆä\8bQNQ~¥\a\1c\8dE\7f\96ËÒfR¨®n\14/èN\16£AI|\eù×Ö4*{=\99ÌSg)H¨\95\87\95\ 3\f²o3HCc¥ñ7é¬~4­\94ì\8fw\9dÌ\9dØ\9dq¦,r!Ãÿu\1fGÓûéýþßÖJ\a^\8a2rx\89\9bظE·aðj\98Z¾$Ã\9cã\90»sº\9aàu³Mf\8c\8e74à\99É\95ÁB\r\820\16\85\95´£\vñ\8dBW&fQþw¼\ fªü0ÆJ?(©NÜ\9bÖÇô5júÛü\99ï¿\80\7fËûå\9aÿæ\9c~o\18ߪ)ÚûS åUàYU`\7fj=ûÿý?hå^\9f\9e\ 6u'\9esp\ 2\eØü|Æ4>\8döà\7fÒ\12\96w¯¦2ÿOïþÊÍ|úoc\aÓûÿðýò¶ßó[î(\b\v#d¿êÛd¸\7fÏýeäæ?Ò¯4¿,d¦68ÕJK\9bWÝÓ|\97\9f÷ªh³¦\98\89|³y¥ñªccM\86\85Z\97Ã\10}\91éV\8d\e·\1fýõ¥û¯½µc×£x\e\0ÀµlØ\9fàÀ`\vx\ep\ 1\ 1\82\fÞd|\b\19hS?N0\8aö¼ïËÐ4·4º\98\8c\f\ 1·q\1e\vµ8H&\95L        \83»      \14ýpèú[¼\f
+\88õ\ 4!õC°SyRB\1a\10Á*Ê*b¨4A\83VÍY\fta%  {\84!\ eô0\8b\1a,!\a Ú\17¯\1d½\82i\ 2ü·*µ\92ÐÒ\86\1a\1aù\fC\17@­rµÝêçË\82\11x/\ f\b>ɽÓ\f\83\bv\0ÀÝ\ 4<ì=Î\1c!ÍÌÄLD(\88\b\83inSW(\8b\90\\8d¦\89ÈÄÄÄ\84I½ÜTüTlPE\1aâ/µ\8b\8a\8b\b³{{\9e.ç      s\v\99¹ÈÌ|bøÀ\8c7;\1aÞ5\84hF\85\ 5ÓêÝ.·G×@ÉÝtW[µÕõÔ!£¡£\96G>\8eO\ 3äÆnY\8c³\13\18\83\13șÙ\\84\14GbNNp\1ci÷y\9bº\9b¸]Í£¼b¯
\ 1x75×v]r¾¸:ã~¤\7fg\1e²<#Íî/=¥æ\16ò\17\93i\19ã\19­f\fÃ\vzìoOß¾½\ 5é¥á¡\b4
+\1e¿G×\90\87_\ 5t\ eÚù¡¾G_\1f_\rï/¹+íÒú\17ÓiïÓ×èËð_\8dÌ5\97j\99¨57?\7f\9c¿ÅßÂþn]¶!±­\81±½Î\ 3\1d\80]\80#Öæä1²\10Â+}»ì\8c\9c\89\15\99\10k\81\94À\90\86\ 4\86\1f°!\ eÂÝk½àïx0¥}\83·1;\b\8fõÆX¼aC"\19A\0\13@\82ìÏ* \ 2\ 4àP\88\0\93¥\v°\ f>àkh)â\8fËx\90®\9f\fÀêÉ\16X2AD:\98¼Ä\ 5\ 2:,³\97\ eØ\ f\1dS\8cbC&\14aÝA] \9001X<Ph\0D\9c%%Ù\a~\1e)\81\8bÂb <`¿vwîÌ5O»3\ 3´Àö\81\9e\ f\1cÀÆv\18Àð\ 5+\8dÁcB\98<\80¾c¯\98àÕ¾Ç\18\18ü\0\80Ñ£É0\eÈ7\ f\ 4vµ£\90\91È\ 6|*Ì      ¦ÓAõ\84\1a\10ómfÃø\82±?ÏôRí§43\88·½0i¤\1d\8fÓãP\15\ 6\ 6Ýó´_ÖCõÈYþ\14\1fûÿ\7fytÏ\ 6\8c?çT>\85\8bD\1a/̬¹\bk\18k\15\96\85þÆÿb\1e\18yHÂ\8fÄ}\83úg\9aú\7f\7f»áÓao\91î¶_rà\9f\96Ëéq¯§÷êý£Ò}\9d&ÛÆÒhôoøOÞr_èé-­­´2L\ 1\84\96\84¼ä´2Ba¡`\89\86\84 \ f³\8c\1e×o$A\Öü$ÏÄb\ f\93\aï<m¶ÛÆxýz¥ú!\0D\ 4\9a@\aXÃÈáÛ6ξ±ïs\1dîc1GÈ®ñ²R|\9eL\9eKÆscgmgbä\r])m(¸Ôw÷\83£\93\8cD\0 \a\88\ 1\88D\0Ãá)\98\10\ 3\0É}\1e\8fFT9\10ÏÒßß\88AßÞübÛe£\81ñͨm¨[$
+ÇaÁ¬\bóß\8e\8aaú7õB\ 6ÿ\ 3\92\0\ 4Ý8\80\17\16\b\84\ 2\vâ\0¾\86Ú\1aêu¢)ÀêýìccëÄ\0Tùÿ{{\9f\ 4\80\1fð \0é¡\10\0\81Ð\88\ 2@D\16PgÉ¿\93\ 3@µm\ 3$«[\14\16S\96¶ëcd\80\1d<ä45þ×\ fâähA¶u\10\ 6ÆSïVÉPïQæ \v\ 5\8e\93\10\aº1\vZë5¢^J\86ºÌ@\e=k½Z  G\10\ 1Ý\8føyèV\88\0Ã\ 5t·ÿФ\0ðDWëTAfdP\ 1á\8a|\ 4\0c|>\1f\ eº\9c@\ 37½µÞïD\ 1ªz\11\0ut\99äsr>y@
+ËIf\16Ù|Õ>k/l\8f:\17Å?ö\8f\94\1d!F\11\b\0\vÎb\90\ 3\8f¹\aÒS\88\ 2Ü\1f$\0â*ô@\1c\ e\vá\88\ 1f\8a\0l:I"­â\0\1c\91\0$\1f½O\1c\97§ÞØçc\85³ìQUÑÌ\aKX\0\rY(\ 2²m¹¤SÊ\0V\8aðD\ 1­ôám_©\8c\90"ßNP\ 5«S¤\0ý£A\10\b\7fÓü \r,\7fn\0Ñ\1a\12\89@\ 4Áï\14\0¢µÂïå\0$\9e|¥íHäòT\82\0¥\17È\80/?B¶ÎÆ\86\93\f\9al\19Ò²r\82»ä\8c.Ä@\18éIÈ)ª \fæÞ\8b\80\ fZüZD\0       B¢\0ÂÒ\80\164ª{\10\ f{>yUòÁà\186жl:ó\ e\b\0\ 3 \80\0½b7ûjD@\fÒV¤P\ 6\91ù<VÔV¡\1cÙµ\8bfÑÀ\94\ 1o"en\0¶²\80 ¾Ø,¼ü·ù¦c¢¢ÿd\8f\9ffÛOdìï\ 4ï®v\8céß\83È;2û\eg-g?ËÂrgìÚ¡Àø&ßü<\8eæÚmüÛÿ)õ\87À\ 1W\97puaßlïºqçz'm\7f§cÇ^Ý\96V\1fþò¬ò¨,z\9dæ\9fÊ^\rïSµ\ 1Úé*ïE\863Ää|;\93ý\8dç¥1°6VH\f³\1a\12\87èÆ\86\87\91)ÀÈÞ×ÌseµþK\80Yb6ow²íÎæJ\85\8aÆÍ\87ÀG\9cÅK\1d/\9cÍçrÔݸ÷?GE\8c­NM@\1dÀw`î¸p\81g¾r9ônYE\939Ky°â\fó®¦\9dãÜ\d¾%Ð2i¿6\9dëSÀìVôÿQF\ e@s&/#V\97\92vÅ䦺\8a5\13¸ÔNî\96ü\88\82º[ \88V5\12·DR\17[~DH]QAG"i\1c\89¤qM#ã\8a\97\8f»"wv)ßà\84s«:ÆìÁ]\rá\1eмf9k\9dÙÖ1,\18J¥àlÆ0\æ¸PrRP\fuËÎ\f\ 4ôqÍ\1c¥\9c¼Ìg.Bc\1as\ 6é Øôb\8e³m<Èã (ìh£BVX\19\8cÔ$\0Þ(Ç\8c@é`9³
+\18\b>Tx\8aÁµ¡%º\80bÚö\1e.@/r­³°\f}L
+&,5p\f{ì0Wd\ 1´¬®º\ 1\8fe\87\95m\97­\90\95\95®\80ctÇü¦>\ÿÊc\9a s°¥×I·s¾HÆ9=3\9dð\98êì`\18¶W\8314\82¼Ù\8ap*ë\f\84\92\18¿±V¼Ø\895s\ 6ÅK0Á\98\9e]\86lÅS\f+\fY\8b\18ô`¼Û\965\84Á±mÎÁ\98¢hìÙ\8aò'V\19\v<w¸d>HåæÄöÇL\es¡W5\10\19f\ 4á\978\9c3
+é"\ 2\89\818fN'\ 3Õ÷Ñ\ 1\9c3G\13\87n¯]\10\1fQ\818w\a\13\85"½¤@fØ\13\87rq8g\15ÿ,@gX\13\87tq8?¶\7fí\b®Q-\1f\84P¿ê·ä1Ý\18a«Ó\ 2uÄ<\1f\b¸Ò\8aã-@)P©{\ 3:\88Ŧ+GCt&\9a`'N`(5@+!¢£ULç)N\98Ïå©\1c\12*ùÎäî×=\99;\1fÜÒwma\96\ 3HÅ`®\110\e\98¿^\9a\9aí» °G¦#­Õx\11,¼M\9d\17\85
+\0óç\95À\ 5\ e[\ 5ÀÿýIöäO°0Sù\{}/k¤ê'Ú\7fr|Yü­»?rDþá!\90\ 2\91\9f\87\89³×¿\v\94UÌÔöéø\18Vd\r\97ÿj|Yü©\86\ 2\92³ü\8fU>Ð\89ýËð¹õ\7f[÷&!\85\18\11\88&òà·üj=L\17Zl\9bHlÆÐ\8dýZ?\98F@\ 5°ª:ã'\ 6\v\ 2\v\8e+\84Y
\19ró \82\8e¡Bô\8f"UIa;\1c,\9e\1aS\ fÕ<\1cn\9fú\97»ÜTV\1c\9fì>\1c\14CÇ+\85\89hº2ý t|\96\1c/qXr ïdA\86\1c"¯x{Ù8\10\95ï\ fÕIÞZ\1aªêrø\96\97Õ°÷\9bÜK\19\f\12û\95êûu;\ 3\84S
+Ê>å\19}m \rwg\15tk#r¹ß\e2\8f\92Ã[¬`\8fýB¸UÐñ1\91ÇG´¿H\10Ý\83\1d\95êÿ\83Ãß°\18\ e
+\97EG.\87\8a\8c\8e\89\8b\8cºG\ 2ukX+Xµs\ 27%ÿ»UE"ÿçB/#ßÁ\7fúî£ÿñ¾h?õ\1d\15\17ÿ_Ó\7fúî£ÿþÔÿþtý\ 6H'9\16\7f¯\82ÏÒÞ¬pÁý~chF~­ \rP#\94ra\v\a\1e\1c\14(\7f\ 5?Yú\93ÿ²\10­\b\9f,\8fõ\90d\7f·\87üK"Ãÿ¬\9fëGÿ÷'Ë\17ñ\91þ³è\8bÿ÷'ÚF0$wÈ¿ÑÁgøøeß\92WûtúØ1ÿ*þÀ²\1f\9bG\ 5\9fÛ§Ú\7f\8d>\7fÐ\9f^Tÿì\91ý½Ù\80k\85ÿøÈ¿ü,¤\aÿåj\7f\e@ä§xü0ý_×\ fþg÷ÓÿÓ\ 3òFü\89õÖñ\7f\96·\8bü¯Ncø\12\91K@_åzÑ\7f\8f\9cÄdNo\8bÇLNbæ'NGõ\106\ f¬¹\90}\1a\1f\96öW\13-\91\96Êâ1\98ù~ÐíXE\86]u·(B\era¦`0\92\18\ 2á&[J^¼vã\ 19Ûæt\ 5ò=\ah\97t\99\9a\µ6f\88é±ù\99
+\91\f³\10ã·¤¢;\1cã7\97ÌÒö'
+t\88Ó°\18\16²8\13\8eÀ6¿È`ïò\r\9ba\ e:BC±m\84ìp\r¡\96bf%ñøÖø¼b>GF>hìN.nZnnc\e\88ÆO\9c;ÐxÅâ1y\19\8cL2Ïé¿t¤V[\rû¥\91K     _\8b~æÎ\96¤¤:hoÞNxv\8a\13\99¥Ï\97   _\ 5N®L¬»\1cVP
+\87SqVÇ\ 6%:\94ð\90\8b\rZ\9d1\8a\14C(\851R\88¥\13
+\17'\99O\8cOÙJ\9bæ\14\1d\10\17uax`\18É\96÷\1f<dß8\bp\ eÿ\ 6:½ÿÅ\08JÀ\9e8\eH`pR]\8c\9c®#\133ÙvxÆóY\19Éì\97l#Øõ¨º\ 5·Ôë$×\18p2TÄ6i\9a\a!1 ù4\90`\13îýRØ<õ1\81ì\93þ\81?ïU+\vEQ\ 1\f® \19\13ÿ\80'þeZÀnOþH\9fú"\7fû¢\7fþ©?úb\7fü\ 2\7fÔ¸2Õù£¬\9c\91\ 2oÒt¹°¡/\8cò\12©\17Ä¥Î$ºÉñsQÙ$_\18\97\8dà»BtE\97tå \12]91.påæc\9bºY³Í\12^nu©\1fëaÕAÇå®ôÖI\93\93\9e\9cÛ\9aedçà\eð\1a´\9cÿ\19\8bM\1d\98\arLNlI9Ù\18ôÈâ\9b÷¦\83\ 4\92ì\12K°I.Á$»\ 4\92ì\12K°E/Á8\8b\89\8aS{Ç#±êFÄfâ\ 2ÀÅh³÷*Ø#ÌYyA|É\ e¤#5$\8fD:\92é!6\85.\7fÕã\9c*T\16Ïý¨Â\11W\86\ 2<\v\b\91\11\19\12\8b\88\84b\Ëö\f\ 4É\8eH¼z(ph\91wïÖo-ò\0Vß³ÅÿÂ0¶\ 1w\1f\8bÂc¿nTAþä\ 5\ fúÔ\13¿¡\0\1c;1Òn\82¹7+`l\80V\190S\82ÅÐ\80\19 Æ)¿\ 2÷a\b³þ\1f\18XE\1f׫\1dÊ\81\9eÌÂì\82Ô\90ü\1d\90_'\19QÓ«þqcÃ~\94\97ùΡíÖè\85½O%¶äp/ý¹\ 4«\13ö\ 1JZ&\19U'ú\10\9fø9\8b\eç4\99T\fªHKìeP¸\ 2çÙ\aÏÑgG¢\86Úã¢\87°¿ÓØä.\8cåg¼_ÕÑ1\8ch\18.õ2.v·\ 5Þ¥\95~$"f­2DT£Òè[\1aÐ#C¤OèÐÕ\99\0\e&\9b±ð¸Ëý}2Ü\88ëVx\1a.#×ç\83µ'äåÙ\16w_à\82i\98F\94Ð\91\1dô"Í\#OV\12#}\b³Ý\84h­dEÑbÈõ\8d&\96DQ,Yܬi­Y\11÷\16,Ù,iÈY\11f±a°­\eBÄb!Vc!Zw\90±\1a\98U\9e$+MÔ,Gà\85Yc
+ÑrØ\82[\88]ï½bMÙmï{Þæf\18`f\0**"\ 2LUW±ADPXIW"²E\0¨à\8c\11\96NÉéd\9b.\1dÅ\96I\17¤ÅPïo\9aúÛmõõ\8dÖFOVÉg®*A\ 5õÇ0Á\ 6-b\v=*¬±\11V~\1eª2\11À\ 1s?ÿw0Ymæúï7\9bðûäÝø7Û¿\1dæý\9bÎnÿ\ 4v\83ÞÖI$rXåévl²\8còN\19Èù¬Ù"Ï%í3\91¯fÉë<\97Y\9c\8c&l\98Çd§c¤tqÌ©#²IGHþ\bæ^ÄvK\8b\1d#òÇ2ÊnN\1f\14\10Ì\1aU\v\19\15å[°pc5¾þ¢Ú\93ísL\89Y\82\83ø¼Z\87òF%¹\97¹ËµkU\17ñ=a,H+\8b\aãâ\8c/û±?ÒÍ\82wbdX\7f\10\b\7f6'n\F&§þlOô\90\99½Þ¶ÀX\9a\ fû¹?é$A\90\99ßûb})z<cZ\16¿[\12^Ýwõb\7f¤±\85\89_ýX\9fé/á\96ë\b\8cJïùC\8fû1?«\18\88¦Y\8cľSºÄ\9b·cÝØsO÷r~©û}ÍV2Z\871/;ÝbNÛÆ\7f\92 Ksè¼ÈPÿ\17&»nËþ²Oÿf'ýd\9e/v'\91º?übYÿù\89\8e\8b\17rÿùbz£\17rø¬Ã<ÇØúâî>+\13ÿ©à¯\94+Ñ£q\88\97\9eJKërm?¬]äèJªH©*¦­d>¶%k%\96y]iKôÜB\8aqîÄùÒý|\7fýùËb
+ÿ¶êJ\8e¥ùëÇô-S\9b\12&<¤üÅÆ±3º\82÷ ²
\aÊ\1a«\9f,\88'ÌÅQá îkðÔkc¤\9f*Ú«½©AO¡c»ð´~Ý2\14OvX°à\1aê4ø+ñLÎD×»¼]\84xpôN\97\91°\1d469
+æý"}\8e¡;7\1cIÌu
+\r¸\1e\9e\85\9dk|\ 2}GV·¿'Ô}k~Ù>\9aV·Â'ÓZÖðIõ %\vû\8a\95sè[7é\v»'ßX®v0~À^=«~ÚûVøFÚ·ÀNÕ½ÿ\99\v\eVý¢ì\17!Y
+\868ÒµæX2\1c§m\ 1×ô\\89E'¦ÂOпN\9b´ÒÃ\ 6\8e\91¥\85­÷Î¥ú\ 3ä_\85÷SUN\84ûpiµÙ\94O¾³\97HSji\14\83Ð@|=ÃP\8f\15¥\87q\vï\9c\9e¹¿Ê$ïO\ 5m1]¾è ¥OÊDmR\17Ü´\17
+\18à$\8eïÊØ\9a(3íû>¶*·MÜ­ô0TçÖÔß-\84\95©°ùP®Ø\ fàJ ñÊàa\16\83½\87d¤f\92³/=M\ 5¦Ò¦\1a\2óÞ\86\ 3\1c4\9f\97\9eÓvÚzú\18il!\16\89\1e'qéerº\88\ fê\ 1\15ÿQ¬\16ðËFI¥\83{íü|\eî\11e'Ä\85ðò¾uGó97¾d\85fÂä`+\»\84Q\9bå¦\83z\9f\12\80Ç\859d\95Ù\8bi¬¤mþü¤êpRTÅ/PSæS\90\82\94×3o\96"ûÜ)ÓñàE sÕd·\ 2ÝèªÆÅ:Aæ\1a±/\94'%Di~1kx\b\92W\10­\99_¤ª«\19\82÷\90ÃÀÌÕ³Qý/\a÷5\ 5\15\92±ìµ\vùá%Úý\17âpùí{XÓ÷_F7\81\18UõÕ\93!0\1d¢y\e\ 2É\ 3÷IbìfK\ eæb­qõÑ÷¸Ýl\ 6-M Þ\18³\1d\v\80¦Ô½*C\85ª\90\ e±HøÄ\81 ðsn²\81¤-¥\87Ò\1e»(6f#+Lö\9eU
\v\99\93
\1dYj¼Iª\89SÔñN©Uvô Èw    -H\90\8d(:qMS9\ 5S]üEÿÓÅÐâ5Ú¹\ e\15t\80zÅ#\97{g+ÂãJ­/\83\11\8f\8b0\ 5ïxÒ¼/\8eT5e"ÏzXpûhV-¿çÄc\97ÑRÒSPIk\99jC\ 2L;RúÅfÃÍÉ¡e©ò\16Ì¥Y\89ÚÊ%h-\ 1®\9a6\83¡^[©\14,½¯@|²\v `é|N:\9d\1aÈ\1f\9d\18\82\97\a´°Õ\9c9¨¹éú«\8fOV¼\8fa\82±\8eíc'ï\9ds\15Ç!HG        \97Í:43e\12\94\1fÝJ\ e\ 4\8aù`!MD\83ѯÒ\11ùÎøª¬ùUC§/X³¦ÌòK÷\fâ\16$\8c\9bßóÇp¬ñÄ\84\91\859\8dJ\11D|Öxî\15®9\ 2\13\ 4Ú°\1f*|\a`\86õC­\9d"P\12Ïß9è\1e\9fÙ,\89\8a?@|\8f\8b¾è        \90\1fÏÒ\v\91\86\8aN'\86v\12'!N®n7átugÂI+\ f\88Ù\ e      &lúÒµ`\85g¶\97\8e\1aâ|üzX²JàÇ\84{\192J\82£ºÄ!L\1e<"/\1a\ 6\8bÁuÝZãJ"\92¦)\16N6\1dcaþ/Äl;Ö\96]6¥\a§\10; ÖtAÄ\1f\92G\85øå\83§6\89£\84c=\959\81AÚÍ¡ú\96üÍ
+.\ 3§\a3Âí\92Hï\15P\16*.J\ fÅ=\16bq¯Â_%W\8f#\12ôl\16C\83\9b\1c!$¡9\1cYR\a]\80\1dUZõ\8c(¶¤`ód\9a"Pÿ\b!<,[ð\93AØ5AoÄ]hRO\fß\ 3;=\10\8ftXàÒz/\b4sh¯\8b\16ùyáÂ\fHñÃòf\83ûgB\9b·üg9\ 5üÊ+£\8a¡W'H\9dÀx$n¥Ön\98Å\95¾Io¶¨®\82ü·XØâª\95Ĭ\9ep_fE\13B\8cGUB&ä=QLÃÔ\86\19ÜÔRnê,:}ÞÛ©o`\8f¶©oÜ~('\9cAèÙ5¦ü*ó\8f
+\r®GqÝ\87ñýmGÎ|¾\9f¡ên}O\83Ô¸õ\1aúºßW²\94ó¿ðwÄÙÚm<­¬em­n6º\eÎ\ 6ûca×\98ï\7fPïñV>#òüÙ\85Þ®e¯Ý\98\90öæ1\99¯*W{0ÛQåd\95\9fÉÆPj;3\1aÖYo'\112\86½ÿ\97÷2\1egÉ1\ f\v·üqQÝ@è8IêNòý\1d·Ì\97o\1dVÑNËðcqsù\ f\87ø¥%ÕôsçiÝ2K\ 4Oy\1dµ\1aºÜÿµ¬\1d*<)]Hr;øsºC³æiÝ1Úôí[\97\ f\15\8b&+>n\9d\19\1cÿ³¬F;?\88Ó¢Æ\888\13\90ç\ 2fA°\96\r\r\1e=VIvÈÅK\ 68¬{\81Ç\ 4Í"xQ÷øö\1fÈÌÇä=ÓË»µ5b|;\10~xç_M|1'Ä\ 5b¹æ²¹¾2\ 5U\8c \9f\<LÞ·Ø\8f   \98dæ(\9cÖY½o \82ÚÄæfó¹\9aò\952¼¸\ 1ôÌ\90L\18\90\8e=` \8e¡\f¿è\93î¦<:yr}2        ³Éô¾¼¨\ 4\9cËÜHÊ\92ß6NT\1e\8dòð\97öì\13\80\ f'\15\8d\12þé\90~ÙÊÖø\98¬å(ãÖ\|E@\90\95\98_}\83£k´Ò"eÜ\a/)[LE4\ 2²3%éfLÔL\9a\94ÉÕó+\95\99b¿!\19¢È2£ÈC¯);g¸\13\ 1\95Ë\ e¸\96\99_\ e\0nOtÑGá99c)/¾ô\803J±\ f9{\96\ 1S\19\86ô?Äå8ÄiHÍÁ\80b,C`q9U^\a\vvzrÝ\ 6¢wÌ\10\1fòÝ\86itK­©\17\fIwS\1d7ÎÙqVò§OeÕ[Ê\9e"%\ e^~¸4ùåcB\87 §\10\eÆB#<?µJ¾ý,#µù@\8c`\vÈæg\1f\aæ\9b±\94ª#\99Óf\95h\rΫ\8f$;q\979`²Ég@+i![G\87%zÛ\11-\11\8e"RÓ^b\8eV\94:\ 6²çÁ\80Æ¡\15²&Å÷ÏØ\94\8c\9bÂ\92\1cyI\9b\1dé\0Ñ$1\13I\9a    UÎNÃ\7f_\84Ðü\ 6V÷\ä ´²D\81ðý¦ÕƲã\83¨©\84U ödX\ f\a2\9dú\ fdG\8aw3E5<:Æ\8bËq5Bø\17²å×-\ 3K~¶A\8b\8d-
+©·Ñ\eó\84ü¡#\86K\0~\8bK¸?F)Ë{ùò\aÏ\1céy\ 4¼Z±¤\ eµd-ÖA×Y_\1e \17b\81¦ $ý¹È \91üäà\eV@ü\ 3ÀÔ\9c\15Ó\90m\8b \bwk\1a[\e\92\ 5\18Ô6·ÖD\fîã0N\0ÔÎ\13ç\ fPKÈ\18\ 4\8d\9c\88áö1\19/\ 2p\ fÌÑ\10
\19\90Üæ\\ 3,ÌVõ´â²1x±¸mü\8cá$_\11\8cÃ`ÅÆáM\87W1DA\1fñó\ 1«#\ak\98\8aî.¦Å\83[\8b÷ÍÅV|ShkVÎ>\84àÉ{ßÈÇãÈ7Tãòò3}\7f\7fis?gs\81\8f§E\1a5.\19|\81Ô-7öLJ·êÕ°·\a+©ÕÕÛ\85×Ѫ²0\93©£\83g¡Fd\92\ e\91f[¬`pK\83fq\ 2ÁÃ8rÅ\8a\14XÁáÐ\8eqY\94§\83g D{9\97Xô®¡# \1e\96qΠôô8Ù£Q;e\ 1\18ÈP6\9f%Öñl÷²¥lådJfQ* ·¥\91\9dÆ3-\16£\90Ûir#\90c\9a\97\1c½é\81ÓÎ:j:ÒR\89\8c¸·Ð\f\1f¾­½Ó¯\9e\vúÔc\83î±K§|&?R\v!ø3a²0\8cÊÁ­\8bÑA\967T\ 6\96\8ej\¹\99\85Ô"Ù\90*©ó8\ 5\89µ¬ö\a}\12\19\8f÷ö\ÔtÄpü¶©\10"c ÜèX\8eû®ª}5\15\1eýx\84Ò0=É×2\84\92\8b\92ù]ñþüõú+®¯Äù\1eÚ|ôî*\Ç2¶\8b¨h6ÇBµ·ººö\93ø\90ÖDrhUD\1c\8d\89\83ù\1aq\f\9ed\fÀ\ fÙ/V¸<Ó\95c\ 5ÿ`hu³\8b\ 11«y[¤\1e¶E.\84\a7\e\94      L}-"|½ùaðçuU\ f!\83ê\ 2O\8fÓÏÅe{\90Å\95åf\ 2\9e1Ö!\a£qÖ\18\19u\87ÇÈ\a\99\80ù#\ 6AÂ8q·´\ ef]ûã\1fq\f \11ê\DG\e\7f@\7f\97S\97üÐ\7ff];pþì¢&'ñ¬\90H?Ô½ûÒ\10¸Ç¨q ,È?8Î%\81\ 4\boe[°ßC¥=?\14ɾ¸\82\19\91\1dHFß²çÑÑ\rU!ÄS\9a\8eÃ\11²´\9e\80á\13®®ò½\90íw\14æSé'ï\9d\19\95ì\9e¤\9dõ\9b\16(ÇQ\aø/ ,\8a*Ë«ëîòÞ\94(áÏój\11óG \8dò\96Ô@X\94+\99åÖ¡\\90ã\b\10mcÆQ\91î¼&_$Ü\186lQ3iôÑR©f\9e\16B\ 5\9b\87Y;ë3\86Y\16Ç"Ô\90ëÐj[©b}ö .\M\15*|õ,â*\11c¤i³ò!Ó«\8e$ÒÔâ\87êÉ"Ç\82\92@êMSCôvÉ,\97?2\9cZ\85¶*Ê¥lÆ-
+e\1f¾|cþ!\91a³+ßÄ\83\9a:D°\8c×.\1f\ f\88ô\e^`ä{K\81Ü&\ø±èÌOäf\14©à\aÅáÔ\f*bI\1aM,\1f³\197\92\87Þ\9f$\94ûK\173ëM\ 2¨\81ZiµùJ$¦§á\ fåË«â(B\ 3\1c!\rb\14\92ÕfÝð\8a\17\92\1ch1áb\90Áà© &Ý®X\80Jæe\ 3\912:ð±J\1fÞR\9cÀÚÍ\a\e\8c\11\e
+Ñÿè\1e\ e²ÔTdZ\b\7fB\93,\19®â|xO¨\v×uéÜ\a\85\96\ e®9ÌØQå¨\94Àß\15}l@ÇÉ\90p¹L°}\18ÀÇK\ 5\\80]wÁÔÉ¿¼c\bD\15®ù\\ 4vYVqbÛ\8f\93
+\1c³\88²°}\93 H<<£Ï\fôÛb£\81þA`\16ë`U\ 6¯¹Ý\82\82f!K4\97F\128ÂO\13z]\19 v6Äâ\83íç\88À~\9cí½Õ=Ò¤\97p\9fbð7¬"\8a\85æ\\80\1eq\0>9G: Íãªûô)\83Á\93Ï\94¸@\ 4qnbU
+\97u\87\82);ìEtÉ\11v¿R\86°\88tÇÃÍ\1f\r\18ô*O\87öZÔ\8eÙN1Þ\14\elèKçb\14u$\97È~ÞÚWU«f`\1fqxmñ¡Ã\95«È\86[*\98Ed<|¢Å4<º\ fÃ\1d=ÃuåX¤`o\9b:7\83·.&\19`Q"°ÄdA¾mÊà\7f\9a«\92Y\10Â\ f÷ïËŧ\rC\10çpÃt\7f.[T\ 6Í\8eÅ\98Ciap\87ótèTÄskT7     ¬\9cU\9fÉ\93\893RH:\ 6D\18e~±\8f\14\1a?¨qÂ\94º\1d\84d\16\82ÿ÷D¦¬qB¨\93ûAé6\8bM\9e^+!©ËS\88\ 5Î<9\1dò-"ã!¼\ 5½\fX¾½±\11º\8då\87\0¤\83¾Ë\7f*ñÚ\ 6αT\81²Â\ fC5ª«\8e\8bQ¡c¡\14\90\9dz\1e¦K»Q0f\94\19\9c*4ºu¯ºæ¸K¥¯·é2ë\ 6s     \97>\95.\8dkåMq5¯·¹eËO\8c\83Ü\80¹n\96Js\93»|\89®ø¥¼\93$\97qqÜ\1fí`\15S\ 34t*`\15%\96/ñå\97Xe\97Ûe\98s²Ìz¹hÏË\97\86\9d³ß«*\13Ó0"Ð\96ÿ\8eKvÆÙ¾$²\9dyëV~Y\11<\96í!\ 3\954F¥Þ\ 47MAÖJ\r¸p±\9bÔ\9dFïhUa½|?¯euÀ~T2y1 \bÏ&\1eÆ\f\e:Ôd\84\8c\8a\14¡Äî!PD\9d&EÀÍm\12L\97çÉ\ 4\948´SÐ\8aÏ\ 67%4ùð/·¹tbß°+êæò5ã\8a°\86\88·1\95åB}Zß\13\16\8eÙºöd\9cG²@\e\e\87FWÃ,\89Àȶ#L^\0\7fagçµfÕ\908ú³S\80óHH\18\96\8e$²ôrõm\8fJk
+ùù\85    c.Ìëçã®\15Äá0\88ð\95bN\12ÉÃÜ>   \ 2\88½ä<¤\ 4ùiÀ=9¤ºF\89;ßá     \97£¤¢¦\8b7¯+#»\97©pë,zr©á>¼^\97Fx\91Hzh\9c\1eÜõ\Å\15\91\85oWm.OOB¹Kðõó¡ös®)x?SPôr\95\11]Ù'9ãâÒFAGñÅ%KÁ\82Ô)û©hU\ 5ÆF-\8bÔ¬@%²\7f\14_uä\97Ui\10\10RÌ7y8\9a\94s\10\r¼\99¥±k(°±fÚhÂs\90[«÷¬C\82{\9c\9a\v$*['¢i4Ñ\81\ 3ÍÞ[(Új]ð.Í\17\12¶aêKhùV#ú5|;»d\15\95\1dDÖ¢{\83(~çy%4Ò½|\1e\91½\91\rè]ÃïC\9fÇ-ÿ\88sLäø\82Z~:Î\1e¦¬³ý\9f£\1a±\a\19}z·Ð긵ë»\98JrÙ\96±ÁêH¢tb\90\bì~ÈØ\16n²U/!­\16æ<)hd\8dÉÔ\r\ 1ÍO\ 6\9aN+¢Ò\91Ñrõ\8e U/yBGA\8e\8eÞj\ 2rZ­\91\ 5\1aì\v?ÚÞIN|'§\1f¼\92=&ئwg´ÝGÙIU¯=(üQ\1di9x8|§\ f/íÃåj}òýô\95      HùÑì8^K\8b\1cF\9f|>={\90\ 3¾Äx/ú\1dßéÝR\ 3¨j^»¶\9d\ fr<úã\8f®Õ\98Ù?\1eA\a}\15é^¯AÿFI\ 3ã5l]Ú\9fe"'\16\91õ§7ðî »¼¡²eü¹ÇX"¨J½÷\95\1cú\r\ fwä±\80\85*ÎØb\9fà\92C\94©?Ä\ 1\1dB]\ 3Q`!o\92s\8a\80¥ÎZëØ\9f\98QÎW\91sâ± a­\89dæ´zþ9¡ÐÜ(\96B.\16\8f\91Ť\a\16G{·\195\8e\87\15D±^Íä]Û\1a¶¦ZõVÕ\13\ 1ØÒX²;Þ\98\18ì\89\ 5$°©óE\90\ 4\eÙx¬úì\8aªZÇV¶\1e\1d\1d\b²Ñºl\fHôÛ!\16Ê(\8cvÈe\9eÊh-¢¢S-Mn#\17w\90\9a|\8d\10fq.\97îè]/WE»I\1f\ 41ÐD\ fÙÐòÏ«\92\ eÌ\9a\14aÚÊ\8d\164)àÙëÝL\að\14+¬ªÆµ\9c\ 4\88\99ï\r\ 5q\b\99¼;\ 1Sw\86_\8d-h\92õ#\81\1fÈÔ\0\10ÙÙº¿Ãs\ 4zÖ+jfÄN.?¼,h\88*\1c8¶W\196ÑC¦V×2_áÌÄ®Ìë2\16\92°\ 3>_z²nT§,«ªq=ê×4s\7f\r-½ã\96\16Ð\9f«õT'\81O\ 3+=@ßGâj\b\ f\88sã|  \ 4\94k\96á\1f\88«É\82é#ÔDÂ\ 1}\83Þ\ 6dK\84üñÈ´¸è7¬\84ÿ2ëé\9cøg9ÊÊ©ÌW\10\1e)Nd\9aXr(÷õ'Õ\ f\1e6\9d¥\87>&\89*ªu\10~)%ª¨PIk±ÁåÉ©   Î$?d\9dZÙߤ`H\14òF\ fPÛÿ®§\15\12\1a\90NEΨ\81`9ã\b=\1e\17ß(ÛóÓÇ\r\9c\19g§ã.=?=|ÛáÕ=é\80¡\99\99áòB\96\8eÉ\89SpÆ\87!\90­­ÕºíSÏ_Ô92mò}\9a6\96\1f\17\82\9c\rúVöÖáW\83u\7fO~\80ç}\1a\95à\9cÀk!ï\97\86Ö4\f\98\12ð*%_¢@^\8eMËtú\ 1W\rÏ\80D$ûa2/eÛ-\90Ò»G+=ÏFj\88\88¿®\12\7fè\9d·&ä+¦\9c'r\1eì\8cõ£¨Ð\83{\ 6ÌjLþx\7f[ÕNÝ+­\8dR|W\93Ä\0Ü\9cpbñ\9aÐø\97´õûòÓæ\92\1dw\11\8d=y¢ÐzÔæ\ 3\8ew\84ÜÑ\ 5¯ø;ò\v£Î\97\ f"R%&Å/BW\18\93m©Û\14ÐÆ%ÒI\898\93³\e&<Ä\98L\18\ 5Ì©oEH\1d\19\80«½eÉFkrD\95\18\a\9a,\ e\A\ 6ÉH\8e\80âj/B\1c\82ÕE·¹mS\80©\92rÍßd¹û7Vd\ f\7f¹0\1e4\95_|\rñÎ\9a öP\8e?{\1eðÀý9\ 5\7f²-
+í6<6\13 öaQ¥\ 4[\ 2·\87\a¹\8eE\899$ ÈÄ\19ã\9dHE\\98Êá7áöò
+åÃÉ\98¢\ e/Ò¦\14Z]ñ¤\86\ôÀac\ 2\1c·v\977MÀ6\98\a3\ e\ 3\8b#Vk»\9e\Q:ü²Ä\80ßµ\8fy\f6'\86\84\8eéäá!\16F9=\ 6\94àäJ@\96ö0m\97³.á?½\1f\1e^ãQ¶©\1f#\1d\94¦\8fS\ÉO@î?\85ã×7ÆcÈ\1aÆ\96\10ÂÔ¢Nð©\ 6ÉÌxcfàÂzåÒÚG\1eI  Á_µ9'Z\17z\ f\14â\91Ï\86>EÊàðdjóApÕ;{"¨H\10\ f\97ѱ\97`\96\v\ 4e       Éóz!\85 æ<u­\9d\81\10\8fÀ\96Ú\ 4ä;ßz\ 6£Øpï¬r\9d`\9c\91Þ\e½-6Û#¡ZM¾\a\92tÔ©áMó\8föy¾\88\91ád\1dÖ\7f\11=ûÜÆÙ\14\95ï¼g7)\82¯b¡ú¬éãxÓ|ãxÝ\167\1cËßzââ÷Ý\9b}ZÜÊÖæ\87Å îÐï\1e\ 6¤ô´\17^\89hãí4\e³\9aXs ÀH\81\8eèì[ZzÍ[Zbþõ´n\14M\fQÖ@ÃÁ8j\97\91Ñòý\1d´\ e\132ø7  ÐGë£è$\91eÁ¸ü\14\ruÆðn7*@ö0DêMÜp¨\8e$ÔDêlö¼\83·ZbC#J\ 6\1aüB\97ô\vÞx\ 4\18\1ecÚ@ãÓÙþ\8cßµå\1c\12Ò\ 4\91vݬßI·ëÝiNmúý­\91>7[3\9b{û¯\14çv­\e{ûKMÕQÊ÷áôa\ 1Ì[AÑH$\89\97\1d\17ài\15ïÕ;Ä­\96Ù\1dl¿fsR­\97ø§\ e=X>6t\10G©aN\95\9dÎ\1d\85
+u~\14ë\ e|ìv\14ì~\14ëN|ë\îrC;\9c\91Îç$¼¼ä: üÍjô\90\1cÅ×\8dÀµ5ä>DZ\83Àâ\1aò\87±á<ð,\9f\15Øìv.°·\0Å¥\ 1ºøé·Â©I\16¬ÒU\99\ 1.Åä\90dÚ¢^\8dë\89Ðõ±JÆ\87\8d\1c\96\ 3\12O\vûJ\fázØ\13\9cíáoi\17\86ì»è\f
+u|\96\14º7\8dÒ¡sÖ"X±\8bÑÆo\18½ù\97\ 6̰õËwjÆ\f\ 6®¾\91PõUÆp»\v\9eüKµ4Àôª\9d`Y\14)\7f@¥õ;«Ö[Ï\ 1ì\8aððË\88­úDÄIÔ\86Ø­`ø\ 5È»ÃðÈ\83uyõ«Z\8bW\8b-Vq\19±ÑòÍiDEÕ/\ 3K{毲\8c*\8f\85¤ü\16\ f)ÔT©ó]ôX\1e\9cº|×Ê\92.2IüǦƠ=Ê@w\8fpm¼\18\ 6ºæÜ^\ e³\vr\12è/·èr®o \12`f_rë0J9Ó×v«©î¿Ê\ 5\18\90=\8a3\83áF0KàB1^yaC\8fnÜX\1e\9b¾Ã\1f\f|\ 1\9fæ\11ÿÓÀßÉï\93\ 4ûuuq"Z\8eZ\94v\80\81;\96Ü={QÕYèÞr2d\8a$í;\1e\15\91¥~¾Å×n\15¦\97ÄuyP%\14\9aÊf-\94Ó\9dÑÅ\ 5ü©\14\8a\91E
+Òëµ
+Ò/&=²l\19>FOv\93Ì{¥ÞÎÌè\E1?häî^IÞ  \8dU7×#®\9aO÷'Ö\ fÑ,Þ\9eëè\13\1a\ 44±í\1dÿy[øÝó\10ìaU\89+ØÊ\88\8d1\8d\94Ô\9cÙMxë@\89\el~Ó\9e\97GÀÛ>xÔ2^\93\88CãßÖ\8c\92ÖVNo\9cð·z\r\99Ñè¯xc\93\ 4Ø!ô·ì7Û@öpªÜ¶i`Ã:Ic:ó,\87ô\ fôF8Ò1Ë»Ìq'ÿÌ×¼4<lj])$ð\9fôL·ùë:,åÙsÙtBÇ\1c®`\8cS0¦Â«È\91í\8b`Eñc4\95<21:ÅÇ© $ï­\89;âN\9dH\1eöàs¦;%Å\eôX\94D u\8el\9cÓz\e¨$\14Þ8e²$\bÇÚ\8dJ\11®\97Ø\9c¼5\ 3äe¸iñÉÛp,Íìn8\15æ\8d O\ 3ã6¸\90p\1aBJß\16
+cl¤ÊxRÑh\8b\1a\ 6\9aèÚ \ 4Xv(\9b&waÅ\v{®§bm÷`?Ë\1að\7f7\89\84k\83\ 6T\88°G9°¢NÌ#ã\9a;ý%\b©/E\82-\1d(ñ÷\12\8fjtºM\9a\9dx\93jÓ»)GÖ\9d\19\12p\8c»¨\fD*ë\92ÁhëËJ?jq\9dÔ\88Ñ^µV\8eÙ\7fÚ;ã7rÔé®E\ 6a\1cGu]\1a!¸1\16\93|\95rëq:8\9cS"®¯4X¦6«öGJ\b\18\v\8c\ 1\ 2ó8Ñ\bÛ\88\fLhsUÒ\8båĬÝZ¿=\1cbw\ fx\19âB±þüõ½Î\v¬¢\r,\ 4¡´Æ\ eÃ:E°E\ f
+L\1ebb×Ç-jõ^°}ùT\16ÇÄÜ@ª\f\94\90Ê2Ë\16HJ$\12^\12\b¯ÖÙÐ\10ìÆÕν\964,±1m®6¸µ¬\13¨Qg\12¾ÈNÊ\87ü1\80ñTø îð3\91¡æ\94\18\98JëbÖ\17ñ±{¶¨ã¦¯\0ÉPÍI\89OD§\106ÿ\9c\83\9c\97[&\91\b8Ø£¨Ë÷\99\91¦\vÂ\ f\97\1a\16\98ǹ\83B\83\12\14J\89þrhv \87ªÄ7q¡
+\10Æ\1cµ2ýM*þ      Å\ 6ã\ 3\1e\8b7v¹\ 50\88\b»ßq¿·Q¬aS\8f\80\ f
+s \rã\ 6å\15
+êhúò·åªuyspëv\18¨        óÆÚ?\90S\9còp(\12×\8dôgâ\8c\f\ 6Nr\89òÂB0=\C£\96±ëùØMõÅ\82\ fz2\94IMþ\8bZ\84\16¸°Z\95\98¯K     $à\11\80¥\8c\r\83*¼Àe\19\1e\8b\94£\ fu\83ë³OÙx«éÑ\95==YwÏÊIÒñ·\96TÐ×õfy³Ü¨\84©\13\b\96\8b´´k(X\ 4ÈUÆ*}(x=U8Õ\ 1q(6
+õò\94itÒ\fiTîcÓç§ÇK¡±ZΧ©~ãØ\ fË)¸\89\130Ŧԯ\ f"\e\9fA8\10xb\TÆõSâ\8d\9f\1eª\80l\83}Ö Ñ\93\9d5\18Oö©ÜéGK\13´TARÄ6Ò(OÙ¸s<>)|K\85ßÔ\1d2¢_mk¦Cíɺ\97Bâî/<\8a²C\93ãÂF3~Q ÂK!\10\95Ôa¬îÞ\1e        \8bKMJ§+iv\1eÚðô\18½ðZVB\8cj\8fª{±Ðû3ó§:ûg»\1d\ 4Ê^~wVcª\93ÒõN\1e\14çTdä\<\9b$W#¡>\ e\85\81hçèÓã¾ë\9cÊí.\9bGÝ3\ fÙyÌ)ÑÉAá±G¿=Þ\82^7Ës\91\15Dº2tTa'Ù\8bªúÇìô,iÜ:$\87Ù]ì!Ô'\83~«2|\9e\9a+ ü\930°*b\e\9a\82ÞÌ\9b\ e¯\17.\8b§ö#Ré²~QϺÇ6ODcdýf\ f¯ Åã®\8b\923S\a\ e\18Ú÷®   +\92F\7f\ f\9eE4\81%ç Ý±G<îå{ë\938\12\89R\ 6Ø Ù\97ªF2%\98àFâÂ\f\8b¬XÎ/0Vj\1a\ eÇE\86nd\ 6\94±\13oVØ\8crp`È¢ue©MCÓ\87Ý¡\13£ñ        (1rq5KÔÓHè<f\8bxhþkø\95s\83s(<]\ 6¨e_Ó;µ86ò\95-\93óã_u×\91VÄ×ôQ9NK¦i\10#"-Ü\11TÄ<©J\9a\823¬"3«ðÛk\95\9af¿É¦"½\98få*\7f\8bVÔ&°Ú³"3¬\9fÝ\9d\86Âô"·QR_t\ eþi\98n\1aL>lUHláhÖÐ\97Ì7óâ~\17v²¡i\8a\8a\b¿á!\12\a\ 4\9dÁYD¶w\ 2ùkH»\92\83ü±AÁ$(mË`TXDê®Ñø\91kw¿|Ô=LRÚÁÀHá°¡H¯n\86\­!g\15ç\96Y[\12Ê¡Ý\16S\1f\80²\8c\8b\1fO\7f(\v\1c\8e\vÄ\86?\99ImD1ôÈ2\82\1eÅd\1fîY\a\ fÀ²\r²È<Å\90UY\a¸²\bõÉ\94\10Äætñ!Î\18(:%\90u+ ñ(IÆw4\9f3r]î°\7f\ fð\9bnÖ6Þ¾_o\99k\97ó¬â÷ËÅã\8asGo-/èdµ\ 5Zm¦
+*X\88?çHD\e\1c\96¢\86*  f\9crèÆ«täðj«µÐ«¶\1d¾\f\8d     ùÜà\95n\87VaMйúUhz\9aÃ\e)¢Èlà"mÜÁjl!\ 3\ eçv\1e+\9bà×TßðfèO\9fΠSl¾³\vÛ¡uôÝöÊ<\7foÜ­ï¢\11ÍPTØvÝÛ6 `[4°\íö=ýɪTàÏÀu\9f"\ 3¢ë:\8f\8a\7fØ]YkÖ¡=¥\84­÷DzBBï¯T©¿"\8f\16I:\96\97KÀJÒ\81\0è´¯\88:'ã¨E\80ë\81_¾¬ê}g¤p*P\a\9fÛî¹\95)°gìÝH©M\7f?Íu\1a~{Î$âk¶\10\95Ö;µ_Y\vÛ¡sÈYÉΩ®\85dqG¨slêçM\94o\83\10ÑLõ\8e$óHÝɨÞüg©\16{äA1YWvÒ7\pÿN\92W]\80ûØÍéC¢0PÑ\8c ²\9d\19Ö\91\96\1e\9a\ 6\8a\95N{¸\1eq\1a\99ûHÇ,Ã~u\Y[Æ\11\86\9fÂ×u\15\8a³ x¸\94\1aZ`\91Ç9\99àÖxG©\9c\rd!\88Ó+0¶~\13«ÅNR\12£¨\8dqLºñ¯ÕL«\12|\ahÄùkõ1ì\ f\93\1cÉA\87\vÛ¡\8d\86¯\80\9c\ 59áïCr¹.AjæTÂ\fÑÕk\9eût*È©|\1dõã\9c\85d<á\ 6~EnÖø\8a\9eÏqHH²"\9bE\rÓ\12,ª*/Õ7XÃ\0L(!\11ÂÚ\87§¢ÈwÞç\88\8f\7fe.Sû³   \ f\a6ÙèLè_#\8dl¦kk|\1dL\1eìC\11\95åD)QÔ¾\89\1fÚ\16ÍÇ@\15óq$\v?g®Ê­ \ 6­hÈ\97«mYÑ$\82U]Y\ 1i\ 4´¾è}\85¾¾\81QÙµ§ouûI\15ª_\f(;Ï\8dèß§ÞjÈűÃkF(¿\82\90\87%\80êµS\9a44\ 4Á;¤NÜ1e¥\bÝPé i~óÂýÔº=\97Ê\9dwÁF\8c1¦¹Ä\a\96Pb
+\13åÓ¶AÎÛÝò\81ø\eO\ 2\8a\99UÔTÁ¶/xu\ 4\8e¹¦ð\7f.F\91\81ú\8arqéø¥\89¬\aVZÚ&n\9f\10>.¸t°\16\ 3¸
+$ß\85\9c7\13}\7f\ 4\90VA\1c»}àM>[D° \10D>é\95m\1eI\ 5óH´fÍU\90~ÆH\b[s\8dP©[*í¤ \92×\8e\84áOQ\ 3\aæ\87Þ)Hx±¯\91\8cî\9a\10a×dµ³¤ç%m\94\98$\95\b*¿¢\17\11m¨Þ\89e\89È)ïö\18|ñÃDEpôw.¾\98\94\8fÈ1Mðè\b%\1avsph\r×eh\18#\91\85k@¿]1`i\1f\866Áq\1f\86"ÀÐíBH\7fm_P­RÀb\89ЭaZÄ8&\93è%\84\91\ 5Ùç\147\ 1ÁiûÐ\7f\8cxa8\84ýõÙ\90z\17\0Gh\7f²\96-\aàÃ|Ê\réð[G³S\89\87\931\aæ\85\12        ÃÇ*û¡}Ñ¢\88X©¸"º4súh\9f\8eÃÍzô\16Ü\93X\994Í6çHpß\ 4\89?¨Ñ\ 3ç×Òr\90pêM\a²ÃHó\93\1a=3®<x¹Ñó[\11¹.âÃ\1dSmË\17\f\83\7f9M\93òcI\ fÔ$\87æÉú²       |æ[Þ6OW+ö\12Á\93rÁ,\1c~¼Ë\85Fæ³Ç\8f\83h[\87LI!\ 5º\9fmR¸ÐºUÌxA¾îÊ\rV Ém§\9b\eá6\v\\16\r\98`y\91ë\11
+L"\13Ã_\84n\9e"÷v£ß¹\ fÞ+\15)(O¼\^ï\16BG\19\8d\95Z-1\90è$µÑÁ\9f\84ç>6\99\15Íê^úÍè\18k䯣ÛWQÏ]7\89R\14×¾{}dßHÞÉé\9d_C\a¥Ki;»9µ¤ª\97µ\ 3pïATå\85\aÜ׬ç`R\ 4d$¡\1dª\81DHB\1f\ 5,5Ãù|ß6,\83Á¡Ul^/\ fµ\1c/Î$\8f\7fº\11%\15\15AKìT\ e\8bÕIk\8dK\8d¢¥Ü\12\9c\ f\88×\8dS@»Ç\92        eàèµm+É\0\98\8e­@Ç\8dC\16O²ÒýÅ\86Ý¥Fâ%¶ý£\ 5¥ÔÌGP\81\0\8a\ 65\1df\0   øà¿i\13`\99V·2\8d\11ê1e\10u\8f®WïhCæhµ¹2ÉÃ\1d\eÝ\88q\9aE\8e\8b1K\81\13Ï\9eJºWZní\96\ fÓÍ©Ì\aF)z\97A\86ù.J¶%nvܲ;\89¿\86Äão\13ËL«\aø\?\85û¾íé'o\95\866TU­ñ\90\ 3*bÊ\94Ø+wwâx\10\ 2\1c*½k­^¡N^\e5%\rH\eò½?\19Nb`\12f\11\92\9c}yb[KÂ5\16,Räõ¯\16`\19uý,C\16  ôï\18\91\16\1dá\14p\9f^'ÃVbÄÙKÄúso\85 Ò¯\15è]ý\8d\ 1"\17|ZËg\15¬\ 3q      k3\0ÙBs#^mÛ      ðôá9bN\1fÕ\9e»æOºÂÔ)ÊNÿ\rÇl¡'l§7Óï«åæá½ëèé¨\94»\1dÁî
+2Ãñ\96¤*\9b¿ß>E.\96#$ï¬ÉNµv\98¥\8a|Z!l\1fY\1aW³Du(q
+®©^\1eA\16U\ 1ó`èùW5ÍÌövg)oO\a ~Ú[ÂåpçY\96of»`u6¦\90\81ßNi½¿Æ\9c\a&'m?°:­xO\14D¿vëªnÀÍ+¯\9bU¬©\87¦)\16®í\98\91\1a\95B3k˨V\ 2ÅA\8d|s»B8\80¯îD}\19\aåî,øµùË¿¹\9c#âÃ{Þçqï'IMéÆ\91èìDù¥»o<³¶#³\12Ã
+D ý\85)
+ïÙ\9e"¯Ê\88ÇQQÒ)Ù¬êC);H-¶d\96l\1c$ùN\13\9dÙ\9d\vâ\99ù&à\9bgD\1d¼\ 59n\ 4ËswÉ\1e\83ÍÓ\a÷F)ÍW\16\a`ø$\10|ß^\91Gã¢ãêsuDàº7\965\a\96n\1aX_\u\14ÙQ\1c\1f\92\1c\0¯À\1f-¬î\8d~F\1dN^Ó\9a\13\ 5m9°\1fªj\84i?.\ 2\96î\ 5x\97$§×F\114ÑM¢ia\0&XáÜë-[æq\94[ú&q\ eàpºf\1cXÕ¦1UÀøÆÐ{[\0{Ó_ÿ÷\94°áÓ=¯Ò\83Õõ0(\90£\ e\9e\15^$7²\15\98\ f\8ds\1c7I\15\98\ 5.s\13H\81\84Ct«Çg\7f?ÖõE/[\18\ 1>±¿\8d\11Íﱿ\89Öc¼¤ \ 3\9aÙmJ\ f_eRç\17ú\8c1\193Ýù&Z\1eïÅ0¶Îü¦6\8d\9døÌK\1d\1d\87ë\ e\10é¯\8bvlú1m\9bÇ\89néxÆk"\88\97\rCu\ 1\eË\ fÞ½\a\vt/íH\18\89Põ£\ 3ãd\83ת´ï*¥\ 5Uúÿ\9aª\90\83ïe\12à¬?3\18\912>nHq\8e\ f]{Â\82n06\11\91.\ f\83îÿ\14ö!ä/ \8f¤c\ 2¦1ÀFÆ-\18\vwÒKyñÀÁnú8\
\89o|ï\16Éq[òÐ?ߦX\86\96\80\85d!Vº^":V8\9c¬tAö\84¦ï"éz¬6\ñé\8c\97Ûüõ7\H\97\8dHSQQÄèÍx\ 6\14\8f¡\16²åÓ\ 5\8c¾hpö!ùHò\9a\91\rã\1dë\10Û²\ fÚÃvÅÐêÙtEO¤Dé1à÷XwÅ\e9ÉÏ\94k¦  6®;\ 1V°¬óå\18NXúã\97ªd+0öy\89tá%\82:l\rÇ,/ù´ãx8\97lºýc¦\|C»ýdA+\12)ô×ô\12N\ 4¦\80½ÿ\11)\96)Oia,aOú1\95k¸0áª_\89?\ 2 zrùÁêy"YRЭÕï-Å.P\18tK*Ô¢ôN«UÒ\97\ etbÖ>\88jjqø\96
+`jl\99\95{í»µ]í¶\1dX¯mk¢0­eN>\ 55,ç8u\9ez:\83[ꯠôõæMsþÅ×aN5EL[ËD,G¶<\1d\15c\8bÊV\1fEj\87\0}w\8a\ f\Ü>¹t<¸È·\98#¥¶FÑMô\88.ÝòAÊcPâ\ 3¾Á¸}hÜjÝhÚÆaQ\93\90F\9d\8f\ 5\81UñëkA0é\1c[.J¿EJ\aÖP,u
+ËËX\95b%ÄÙeFZ¯4¦v«×\14ÊÕ{\ 2£Çd ÚcÖÐU\ e\96\8bØÁf_SZ©Bw\9e\13æ\8b©á\13åwSÂàC\87¸x\90¡ô\88\82\9dÏKÂÚZOÙ©nç«t\ e:\9aÑÐWÊ@ªa9ÎÁ\r3\1e\ 5\99½mPúÓj\7f³\7f¦\1cþ\88ã÷Wúe¹ØéÖÏì©^y\ 1Ú]4j|»\12\8c\12r\826Ä¢ÒÂ\1d\e\84\83÷Ltñ;\f\98\80°æß9Ê¡Á[°Ã§0\91f·áhÒ,Ì\90\´ÒË\13Þe|I\93-]\88:çnË\80:ïîÔ?*îø«õ§R&\94\1aÆ      \bþ\11S\19ÄèW\10~«"5Y^Z]\17Ñ{\ 5\95ºà\96\v\89\11\11:\17#\1dF!J\16°Ðü+\1eBV2-Cì.wsÙï2a;}VÉmQó\1f0B\17¡crI\87D>q)P=Þ\83\aN>)¦\9fìàéÕicRÔ\ e\²ìýÖ\ e\9e!äýH\87\aó~\89Ò¢k1áÙ\83ëNyä\8fd\8d}{ñ²]\98Ìm.O\12\ 1Ým\8cÀ\12%;\13EÊC®\81õ˵K\10¢'nØÀøþK\7f\8b\93imĪS­YÃ\94\97Ed¼«\ 3ONM6åö\eø×]­ï\11Få2é"f\97GØÖÙ±*³¬Ä¨ªÒ$W7¿\15\9b\18\8b>µkrÅf=7§\ 3÷\eÖè\944^^J\ 6ìÔºI%ÛIÄ
+mHtã\É\90\ 1ôÜ£\91f5\88Ï\83¢\93J!{'\13[T\16ë!É\vëq­Ö'ü\ 6÷º\95o¯¡\0üFÍ1 b(tA±ú¨\1aºbòD3f¥Ûûî C=-\a\83G\r\16\v}\95\0t\86¯~iþ×\83G@RÀ\93\8b×-´\8bl   £Y\8b\86÷ßÝbJ[þç9Îf\18ã\81\98\0¨«!0\95LäèºÄ¤ÌÊ34Ø\r¤\ 3DÍ\iVW38\16ÚKÁ&C\9cÝ·wwwn÷{V·¶ÝÛRwEYEn\8ea\82\ 2\8aÀ4é$¨`Áøx\0\0\19\9f¿ÿ¹Ì\11­«n÷ß{½ûß}ßá÷ñ{ø}÷¾÷ùoêx{[$\8e\9d \10¥I\8b
+J\11Àa\eß$¹u£     $½\9eÜÕ¥ìªAÆÙRÿq07Þ8\89\99Ai~A\17\8do\8dky£ÉÅ\93Îp
+\18\10°\8dÂ}³        +\12LYo\91\17³ËaI\90àfk¼J \980\87ùÊ\9d¾Â\99í\9aûéUpMG\ 3ã@àó{5\9d\90¿q\×x\8dþ\e\93n\14¹j\96RD]S\94³\1a\1cDîQ\8e\1aCÓ¾\ 2\95Fm}ôoð\9cæRªkïúÔ\8a}ôpËB\10\13xNr)Õ5Þ~\852Ç«ÌÄ&e\8d\14h~æöI\1eZ"À:X|JP\ 1rŹÁź\1c\19á,öÄ´¾j\16\82ù\8bujrXA\8d-­µ-\92¯\1fgLt«®\99Ô-7÷"Ö\9dª\80\18ã\8a7\19C(.\89\81\85áB«Á\96úIÚ·§)¨Z%\a\11%0?\88\15MR\8bÖ(\ 4ͺ\14ùßb\141Ì\á{e\8bTr\81:\93(/ÐX¼S \13ÍÀ_þ´ l«\ eª½\16\12ùÕXVdÌ\ 5Ù\9c\8ax\v\87"êZÊ\0@F\86T]Éc\8aÌ36°\9f\8e\8c\82è\1a\1eX¹¦\91\83\9c\16\91\1e\9cÕ\988¼B 0²y\ 3d  \8e\8a\81\8f'ábÀ¿\99¢ª,k\18\17\98\82ÙL\aaª=ú\9afm××\10Q<\8bþ¦\18A\82     \95\9dSÈÄ_8ïñK&\1c\15\88RÅ«\fh?\98\16è·\80\v\8bí^I©\v&\1c\8a1  §J\1d'Ä¥6Ü/Ào³\80.QVö§)\94]¼gH\b½¢u[q)Ã\vMtZ+T«íR\15ªU\1e\ 4ºT\83íÉ)\a\14£     /\80µ\r\92ø\0Ûu°àyðù§§L\95Df\11÷\ 3åÔ\ e\btl\ru`iüÑ\1fú\ f\95J\90\v\fX¦?¢Ü\9a\17\1c\94-L\1eô¥2r\0ý2¯\1fËE\19\8fäµ1\92[ÒÔ8:ÃVo\1d¢äľp­\9fÙð\9d$!«êå\16\81+`\9f\9cÖ?%²ªè\18Ì'H\17\8e»\89Ï6×}ĵß:V\e\91\ 4Р   ÜÕ\9b¾\ 3\96ê¼ÍñÂ\821ROÕº\82í_Æ\ 5èK\1a'W\1céCut1bÞ¿·\16ñø\18pp"Ô9¶¦;§B\18^3è\16®\12®\90»\9c\1e\92·\ 4\1e\920oIBføÁo\váÈ\14/ìø\82)ðßK{ÆXuq¼\8fe\ 6\ 4"O`\83ïhù\85p1¢H\92ßÁBýdP\8a\1a\84        ½Óì»ø¤ëH ~+éa~`çϼ¯²úÔlKï¸ü#e\11Y¾@FÎ\ 4ÆÏoÙ\17.­Ü\f.\f\8b\ 3\b°\83\v°"    B\9b\1e6\83Ã\v\1ct\11µ¯\ e&ÅeZúùZÝ\98\ 1TPÀàüo!ÎNªáÄ@\12\82Zú¯5µø
+(\1fv\18
+X\90¸\80ùi]Wbb5®\19\ 2\1au\ 5ÂüoÔ4U¯\89
+7Ü\ f÷\0M$0\7fðß[úÔ¶âõß{Rÿî\88m©K\bR\18yl\eÎnZÅ\8d\9dƪUTÈ{Â\86\14IRۥǷIÝ¿\81í\10\9b2MP\8eý\90\ 2\13<Âî\bW§$8Fd¾\ 4\ fæqLxþvã\84d\ 3A\89à\1a'\1e\ 1¥©\f\98WO\9fõ\ 6°\1c¹\a«   z¹X\900|G\fÇ8ÐÂ\a@\rC#\9fÀ\ f\1aðÊÆDê\16\10sûJ\95²«\a\1aì\14P½ \0\1fh\8cR7³\83\14\81\88\ f90\ e³x\83Vl6È\19Á)>Ií\95\ fw\9dpõ>Tn\19ÍN·´ùV¿º¶×µ}£¼kÍP~[;\9bn¡w\12£\102Y@\16\9f#OÿÓ䤠/¡³\92\81©;)\ f]væAì>ïÍb\15}ØÓÖÌöþ©BÓZ·Û
+nÙÁ´H\99§\ fk0~nPjVõ\85ÛÞª4ËÊ>P-\r.\16\ 6}äÏv|£dÞ\vw\87/\98æÕõ\ 2iÎb\91_O\10~<c\ e#?Ù\86\8b\ 2L<ϲçæ)\ 5;\861\18v x¡\19=¢%\87ÑwPÐ\916ùød÷\8a-\82ýzºi\17æSH¾:\9aG\r\1a\13\ 5ÓÀïJÝ Ò\86ÌO0=ã\9cÁ5\9c\8dé4\7fzÖõ\7fI¡L\ 3\bì0ØSHá4Vl\88\16B¯ê=k&±þCD5\r\8c\9d{\9f\ fËm\8cbR8N\8fÂ9Lìî\ 61\ 6mQ\8dÉ2ÃJEû£ß\9c¦Y­î\8cÂm´[\81\ e\b\97Î\8f|r\8c§p2È1JG\rÑøg5\9e:v\9b³\9c|£$?\7f\80÷Ú£\91\9cq\9bµ%ï\92Y\899\8a\1fM\81:m)(\8a\9f<Àù\8f-cóÿ\1co\ 6\8eÙ\#Ó\14íâ®ÔK\12\0\19J\8c7~ü\97çÌh{Ú£&\95¶yÁ\82Øá1\92P1\eý\91\8ed\a\ e·©Öo÷Èwo)Í-ÌKf©y\10íRÑÃI\v,R_,´«\8cp\12û0       È\9c³\94Æ£Ë-\1f\9f\ 5CGñ1/ª%àù\93ñ×þ        ÛX\94í\7f\1d_®í<>\16ë\87\13\ 2ÿ\92\89\bw\19aÇÄ\18\aé\e\9f\\18ìãPÁ\
+ÖÆÆ¥âDNÒÄù7ê.\ f«è/(ù~½y \f\v\85º\ 6\18®\f^\86\13ÓvÐî2\87÷ ¦!\10C b\85\8e\87<7È\1e[˪µyÅ«^-½\93}JO\ 5½´\ fÄÈ\11]Xuý\10üöùìû¶ùÓä£S\\14\0Ý\80à7w`Ñ:\81rºè_©Ü\83Áå,·¿´,\90ì\90Û\98Û*8\8d\97òÃ8Éb¶XN»eUÝ¥õD,aX̤Ô^¾j\9ewW*Ö>!\b&³³p\85!\ 60\15k\9fÎë%[õ\15\96\0\ e®\ 4\ 1\\87íô\80\ e¯¨øXë%N\98Ó©S¸\ 3\að÷K\91\82S²û|8\81cñÉ\865¾$6'¿\84#\87\94Í×*¿\ 2òåpµå\e[\ 1~C©\1dÓ\ 2\16¦=05\1añå\ 5¦\7fõ\97¸²>a\0´\9bá\88Ì3\1eT«ÂÂ\8eà0(íÓ\83Þ\f¼'ÈIQÿ\9f\92\1e»\98ü¢\ 1AÙ¹,oÇL¹íİc\8a\aÚÊ4\8c½ä}\99Úø/iɳµ\f\ 3 °äÅOv\848¡9\ 2¨|ß\1a0\ 6h-Ûõ¦\1c\0;jÀNHÏâ>á!XXÛüÀHe\19ÝHd\\99!\92\95ZÐÎ\12¿B\9e\91~\ 6÷ì\ 2ÎH\e\0\17ñAÉß% a®ÛºF\82ß´\901    µbíÂ
+\8c»ò\97\af¤-­èþH\8aõH\8a\ 2ËüE\b_\89¢U\bØWÎ×Å6\ 5\8e\r\eý
+\10Ém_\8b8R\91\88ßêÇ\1f\84¡Jd¥A@6«D
+^\7f\9a\1f.X\82\98¦öT\80\10\ 1 \ 3Ü\9d@ÄT5ä(&Գث<;IhͶª>ùÊ÷½\ 6\1f\84D\10\10æö\10ê3T»èþô6Û\b\81í\v\ 1\95\17³ÂÕá·\8aû\1ehøÛÝ# §ÉU\9b.\ 6,c\fyMñ¢ß¾p¹ogL¸ßQSZ79\11X?o\11ÆîË\17¡fÜÑyu\8aû0I;.   S\8bÒ\10\95^}\11\92\12\12\0ný'(\8bÖ\1c\13\94(],&øÆ±îZ*9CUGÙ\18o\8a\9f        _%|Àa×\ 6\10ZD\8f\e6\9cmk.+ªP"\87)ÏÞk?äB}À\ eæ\b\90¬(ÐQ
+N?Q\93\86\92\9c>Ì,wÉ\0\83ähßákN¿W*\10¯ÖJ¨È\[ÿ,0AûS\84\18Ç\12\1e-¶`/\8cEA\82ÏoÂ*ÓzT\9a|Ô©\ 5\814DßÃ*\8bâ¥Ð\8aû .\ fÇFRe$R%Z"P\17éA\vkÈpáG §A
+\17\90ãZ§\9e--\93\8eï\8dîè@îu\90¡ì\9cgIê3sÝuæk*k¢\ 6\18\ 4\94[ù¯\15\99\966R¯\13Ü;     þÆà(0\ fÇ\ e\ 5®Õ.¬\90ï\85\ 1\1dÃ\v\94ÃG\840D\9d[È(1Jây«@\1a\83V,\9a§£2v¿>\11f\14Ñ\ 6
+Ũ\86X5Æ#ì¾Ø\ 2¼\0?CÐ5cÜ©Þ}½ÈÐîvp\90\0D\90!øØ\rÚ5\9f\9b\88\1aEª0\92\9cÓ¸\9d9U\86¹\9eãð¿\17\97~(þPb\17â?=è´ÔÄ3\ 1^\196\e\8b\ 5\9cX¸X!ë±\89mõ.Xñ\82\8bºõæßbA\9dñ'{\ 2\r\0Ê\1d\98ª.X[B(¹/î¢Ä\rEB\1fêQùx°\8b,ó¾9ôa\aÉü`\83è\ fÓ;ÔpL\9a\8f\8eéñ\v\fh~5åvþµ\7f­t¡M¤Ïw_\14{·±Båý\12ò»\9bÐëbt¸\9fBÙ8\84´úÍ[ºö\ 2ö.\9bP\94Ø_\86è4Yb_JƱÎ\9dh\8fâB\89\86a\v\vçê\ró-ú\80K\9d\99Q\80\12ábýWíò¡    \9a8+Ü\81Ö»\86\82Ø`\13Îr¬ñ-7Ð\ 6Ù¦!º\95\16Fè<\19\81\exáb\8f(q\10¼Ô\90¢\8aý¼ht÷È\8a\11û\8c\9c       ÚcDwÐ\ 4¦°r\ 1e§èó`dUuv\a»\8f\aÖsÚ,q\8a^\0¯­±(>~#ý¶åø¿µÚÍrHSW:\92-\8eyú¡5x\ 27\14&úô!\ 5DS|r\99\19!\7fnT³\86W\8eÚ\f
+pÁB\91°¸\17ãë\1e\1f\88P(\8d\94D\fPåÇܼndfØ\11\v\1cu\8b÷\_K@9Kü×ÍÚÿ6e!\ eÙ`Ï\9d¾ËJ\8ḏÖÎqÿS÷Ã\f* I\1e'\98È'2¥òÐçZ¥\e\93\83\92\15\9c/Iá1O\ 4³èâ\ e\82(\ f\81Ë\91\15\8dÒ³\94\ fÕ\8b-Êq\97\17}`'/I,\1f\10\92Ê\8c=3\ 2¦ºWÃÏ| [ûkÿeo\vE\18Q\80\82âÝ\ 5\9at#ºç^¸\85\15ý}\16ØÁw¶¤:uÓ¨¸B¯ðtí\86¤\84\9d\ fnÔ$ò\11TÞÜK\84R9úI\98\96|/&éc!\ 2~¿÷I
+\8cÀÌPØ)ýBÅ\1eÒÏ
+ô|âý\9f8ɯ8ßßç?\ 3ÌèTps3L\92§£ð|áX\8b\80Sr\1cSXÁp\8a\17î
+\b\95tÌ*wBïÍq\12/`×\10éó\87Û\eÌ{3·çM\1c|þÕ\7f´\bÑw\85â"ñƸ\83\16¼×\f\15EøE\87\98²ò\92\r     õu\aÉËÊ\9fG\17$\1ab]uh°\8bÏÔL\9c\9dB\8cSv\14\ 6\11°e*\18ðe\18\1a$V\ fìè1\820ÚðscF£ ¼\14$«Ò¦$ô\80Ä\94\1fÁ&\aW\15\86˸ðÉk\ 1\85ò\98/æ_ó\f±v\178Ö¹ì¯~É\ 6­QÐB²)\bÒ<W\84\950·f\r,À[ceÅ6\bÁÁ×L¾\14\1a/qYIó\ 4ÉR\90\ 4ýøk\81\974fü±G?dX¶FXçÈ\9cÑ\r\118Ô]¡`>øÃè'm\ e\99\§Hôï\81©1\1a Á}óeÔ`>\1d\b\99\9b/~¡ÂÐ\e|I\96Ëx\ 3\89\9d\ 3cb\98ã\b\8e^l¾mС\8c\83)\1a6\12BÛ\ßÀa\92\9e=\8b3Ó§\fAV\v3$¸W¥\8bÛ|.\81daûã%ÅýJ\ 6\1f\99±\85\e\anÈ2\18¸\10ÕE©Ðë°ïâd\ 6\1c\89\84aßÔËà7        Õ<Õ\91\87\r|ýa\83\ 5\rª.CÀ\13\92\82×8wFKI\ 6\ 5º
+4Émø[ÊÎ&0¡ô>\ 2ÆÍå·í\ 5<`¢-\15@\9c>\84\8c\11\9e\10YvjÐh\1eXÄE\90?×Ñj>\13\83\87¨\1c,\ 3\86ºÕàhi¦¸è%øÆ\18Ö0l\99Â6Ô\9f(ú¤-v,28,&²+x\9e½òd¥\ 5\1d\96·\84PZ³æ
+\ 6²·'\81(CFЭ¢\ec\9bD¶È¶Ê6ì\9bE¶ìÛF6˶í\9bví»\96Ù\96Ú\94oâæ¡OÍÞQö¾{>\ fÊ ÜÐ?PàÂzp]WáIá\8bó\94G#Û\97.LªgJöñãG&\11ªµ,\WéUG:\15\95¸²ö±ÕÞóD©     C       \v&!D\89'ÄÊ¢@öu~\97ô+\84êÜh®-¸Hê\94àìøF#\83\ 6ç2\13\96I\14\12ö±þD8^k\ 5eWu\14Ç5IÌ7\bäp{'0C\19pÇóud}¬å\9e¥¸a\8e\bp¸·\80é^\85»ÅK\96<pÀæi\ 5Èm\83\11\84=0òuÉIï\8e\16]ü¹2\14\a}\8e×AI\9f.8þxÃ\8a\85ù\8eZ"üä?\a\18â¯\1e\1f\90R"ýØn4\9bè]s\ 5\90Þ\99\98n3t%\ f§\8c\1fLq\1a\e5\ e\16\90\88\95q\92\f\ eË\r,jìÏ\94\1aÏþ¯\87Æ\10¥\90N¼¥K©\83Új)÷Ô%±¶
+\18\bT6Ñ\8f\85Al\13s\94²{\82z·ßÐùN\19LÅ{\87ÚRgé\1c\98÷­\8dä9\b1q{uØ{\80ìÞõû+\1fÇ¢+\17Ë\1f\8c\11íª_âC\8a³Û£bX\97\r\81\85\vøc%âÌ\ 3\ 4\8d\17¡d#ì\85æY+\ e/÷¦9¿nº\17\86äë¡ì5Ñ\1dMv9ö»\1ev½ø¶?3\83E\14¢O(özáp,E\92\v\1c}\11\85ÏÈÃfÝOÈÂ\ 6\1eÉÉ5Hp9\8b¾Ã\ 14À},@;º}À(\984\18¯s-\86\86\97,U\98dëI£Éh#
+\97Äï\99\86\97<]Ûòw(Z
+\b§\83\ 4¢úêãÜ$«E1\87\1cþ~b\10\88B§duû\89Ý|ó=\84þ;aù4{\ fËìl76:ÿÏðl\1f\8d\97FkĺÅäupµ¼ù\ 2\12\f\9b©\17µÅMæ¨-À\9då+ð\f6\v\1f\9ex\96\9eôXs\9dïhC颥æÏ\ 3\11Ö;\94©Ä\7f\15\8fJ@Ç+\85¤â\8e\12®g\r,:»\10v\93\85\r\10­\r\14i\15;\98ëj«G\10\9dëi\1dÈ\12ÿ\9c\94LÏùÚ+DÌê\14S\1a8Sª¾\17\a\12èª\14ò\8fºÆµÞ\v\1eRB\1fÓ2\92¨\ 2ÿòYð`u9,Îk4\95¨bÃ1\9cyg\89t\85ý\7f\ 3ÁnúD8·ZXöBÏ\89Ì\vMçp\1e¶¶^`\19@À °ð¬\89EHþ`õXzB<\9f\9b\aN{³èä\ 3¡­\1f@\9alsvã\8eH:\12\82\9f9c\84þ(£èó\81ÑÑ\88ü¹9\83kTñXZ\ 6\19(\14\ e'~lÖ='r\ 68ÆUWç\f\17  àÜJ\95ä
+'$(=\84oËsÛ)§\17¯J\93²IóZ?ÂM £ê      ­\98²ö\82·þ\82ÖR©Ù\8bÏ¥\15¯ô\16^Ïü"ÿGP]õ)\15\93G\1eìnÄ¿\vbgåØÁn¶ ûí6"ËØ\ 4m\1c=        ^=Ùô\1eQôR\9a-'t}\ 5\14\8bj
+\17û²\14¨îw|\ 2^C\80\ 4\1eù\80¿]Ã|ÒudËÏ÷t  ÒPQ.*\80ú&\f\18\14}\0²/C/x¨\ 5¶zJ/ÌÑñÀk#\0¼bÎ\b6 a:\19\90Ðvd CR¯\18\89\r\ 6iªDGÚ Ê:Ú®Á\ 2ûñHѨ½gò+Aè\97±ô_£\82ѹÂ÷0\9e
+\ få\18¯ñ¬õ4:F©Fã Åãt¥ä<¤ Ã\bY;µO\1a\94î¸\ 3mâÜ\14\977\83ºá\ 6$B
+öô"£\84\93Ô\8cL?È03~ß\ 3U/GÎØ\8a\1e¼^åð¦lÞ\13Ãc\ 3Ã]ä\97ìï\8eÍò8;¡\7f\8d¿´\18JÑ?#\8f\vwX6&I`R_ßÃñ\f\91      XóÜ\91Ù\96Ðí\v\ 4L\8b\ 3\12°¢à1»àÈÞ794¾E2\ 2ÌÑ%ó\85\11\8dù}\16¾ÿ«_a\81¾.ÄĪ\84¸¢z1Iã}%\f²\ 6cÐD\1cÅ1\82é[7
+EÊ\1c'}\ 2£Þ\và)ÎsÇJ÷|¸^\9dï\94ã·\9d¿ÛLögÆÎ+ã\ 1\f
+\90õ\ e'\8bí\9d        Q¤Ë\8eÆ.\96!Ì$A\9cѸÒWº\9e\11Bþ×\9a§\1ef¦M+\94¹ü#\85W\7f/ªqâ\vö¿oà­ãõb´áÓ\14Î\8bhD\8fð\1aGïb$\7fp$rbéÞ\8bRNîä}ØqK?öEà^ûN1\8a0öE\9e½ö\96\87Ô\v"óu\89òFÎ!E¨½n7iPÔy\0æÏ:Û,=\96wgC"7ÛÇÁ\8bÒè\rö\97\ 4\ 5\ 3ð\9axÍ;°&\ 5«²Ôµ\7fú¸û-SÁ\81ãFc\ 2a±ý\13#\9c\86È_ã\1f\8d=\13\17\v¾)¿d}\18T!\9bè!Á+çÙÐø#Uâ`Å\17ÐnT\ 3ê%åOLd\ 6 \93Àö\b±lúq\90^±(\94ÝXâ\9a²\7f\1fÒsèP\84þ·9
+\16\0\18­(N\bÇq\94,\87\18û\93\aÑ\961~ß2#\ 5,c ü¶æP²\15å\90LñWÙ\86\16ùø\94`\92ÄQä&\11²ÅcÜ\8b \99þ¬¹ß,c|ÛÄÓhÑ\8bçúdµ\194%Q\14è¬\97ÙRØi[ù{?<,gï\81çú\e?¦¥º\81\95שLvMÉVÐ\95ÿ*.ËÑrße°\1a\86K\e\10La\a\81\9c\83\99¦¹¢µeùeë\vó\vóKó\8b<½i~y~\81zâõåì\vØ\97è\97²/f^й\ 2üBü\82óÅéË\97.\b¼\91y2×\17\90.$¸bâ\vÇ\16Yf\97
+\1a\11»æ³FÇG.Îg £ãóÙìô\84\84\84/\7fßÄx\1e\ 6CI¤Éi´Ú}>\9fÄñ<HfͱÒrq>7\8d\93\95\95\97\97\97ò<\8f#W«Õù~_\97¬Ök<Ï3Ìó|ß7Îó¼ãÏ?[­Öùþ\7f\9fèz\1e\86»]®×ëõ\9b\r\86Ãc±Øú>\8f£²Ùl¶{=\9eÓi´~V½¹rn\fâ¹7*\81ݪ\v»Ô\17é\90\82ù\10\99Æw\13XßÝé´©ÙBö[\18\8e÷_\8eèl_ÑÄ·ÿ\8aDkÅ
+Dk\8b¤\8e\8dÌy&\ e\14\84\f«°\eê\92\12¿\1cp¨i5=øáP(Ú\ 5­\9e7Ofx\17SNÓ\9bE=´=° º\ 1\83¸At_Ï\92\9d¿i3\9c\17\87À
+2\8fºEëáf:\8a\93ÀhWÍEQzûG9*/Õ´\ 2\10´_´8\ e\8bu´PÚ/ã´>Xú\ 1Ã\1dåck\90\94\12h\9d\82Ë\8di\17æ]\12è Â'Ò\9d§\88\buSx>Òìàá¯]\f\1f\19qüeC(Zô?\8f\99ëôhüݧ\ fÂ*ïÝO\ 6r\9c¢èú{>\1a\8a$WA\9að¥¦îvú\1d\9f­(X¿bö{\7f\14¸Í°Q\8b5x±$Ñd\8aEñH/\9d¯¸\9d¨8\94\ 2cnC=¼Yl\8b\16qx`ì\95\ 5\14\10Dj\15\0\ 1ãû
+>HnOäú`{Ò\95 §*¨\ 1@\f\13\8eô\97¨¸\7fQ5\80t¹DÁ Üø\ e\8eÌ¡;v>¶r©'|\ 2Æ\8c6iS\8a¢Ò¦>\81HA\8b\ 2TÀ¤ÏÕ\ f¼\ 4Ð7ìÛäO¢\Årç0¨ßÄ\8f\8b\1a½pZ<&\r\180\e\ 3\1a\rj(Ñ\84\11ηb\9e\çc%&.긠     íÁE>\83\82^Xj¿Kâ\ 5w1T\95}\0¼µÈ\12\82\aÑýÿ\17ÿ\96Ãè\91Ü|\10}xÊðFí\eòÓx,âæòoærSÒ9&ÁA\ eøtp^VªWòÈä£6Ùåúc\90Î\8a:±¾2\84«Ê}\bÝU¥å8ax[\ 5fyï¢Eë=\ fÛ\16È1_oQ{n\82áfMC\12\83\8a<ådÑ¥Ixí\80xõ¨E\90ðñ(:\98Ae\171~äÙùHG\88è4ÇC̹
+"#^ä(Ê©­+\98Äú¢\8b3?Õ\9a\96N¶öÊ÷ªm!\fBóï&M\9d\16\84\b\12\85iV(ó\15\8e\ 4)«ñe9ê\90ù*J½?#\b¦Dj&8Äé¯l/nñµ\8eKЧP§ò\17 µ9\ 3\861Xü\rx\Ì\84És2³>´Ïä\99þ³$alýn±HàγÜÛ\8fé\17\10Hà¯g¹z8ö6Ìø/*ëèéÐ6嫸ÃÓv\ 4Û}Ä\9anÅÎ,\8665b\e
\16è¹{×­\8fWy½\ 6\92§\9bL/xÛOd0q\90SÝ+OÒP¶¥§Z-áddéÒ\ 3 \9f\91\86¦\91È\14¤ÑôaT,\1fÆõ@\9c\1fC\å\90ú\10¤èB«DN±°=0¿¿\82.ÁM5<\8c1e)¢X\9cÚ\16»\10\9c´\94`)$ì\98.¥z\91k n9ÿJ\ 4¥\905\15ø\8e$cÁv\Ä_/s¤Uæ4
+ÊË\ f\ 2NRkïuÒ­\a\15\13\ 2_\8cññ\vs^-÷@m\ 1x\10\1e´(.\ e®A\82Ò\86¯\1em\9c²\ 4ÿn7ã\99ÒÍwùT©8\95\ 6Û¯\8aN÷D~ð\rÑmÇðÁ_\87¶ÑJdÆ\80§6ßE¢\b\1aI\80\1fk|P=¶Åe\12`c /'\98\9dH²µ¼B\8b½zJmd\ eÖ\8c\16\8a´ñ\81q\83\ eNð§v\86¹_\9b¬½êÞØ  \89S\12ï\ 5ý9A2å´\98l¨×ËEñÎ\r\9cC
+½z4\0>_T0nù໾SçuV\95V\11ÖÁ\9a×tdyJ\ f\94\1d\f\8f\1cØ_\ fÌz¸F:¶cØË<\93\1c
+\18ý1Òtt\e@\87\0Ú1xþLCª\ 4Ì\10âÓüÉr§l\19\81Ð\8e\91\90\99\16ÏpLȽÒA«\96;-8­;[Û¾+\12±\fî\9açñèäYîz%\võW >\81éòx#\ 4¯à/Ï\·»O%òªaÛ\1a\9aâ\1cu\vKËðtâ{Ñ!Í¥wD=Z\vü\1cS\96Ê\8e\8cÁ\ e\13´r§#Éé\fðHsu»'U\8c\ e«\ f\ 4\87)?«£0+\9eQ:\9a\7fÓ(\1eî]¿FabN/Û[Ø9Beõ\9c¡kú"ô«~\93\94/åÊúNP£ú+zï\9e*Ez\95A0aR\ e¹\1e\9a.­`\91°.>Á\b\84~vN¾s\82jLg|Ç\8e\13Rón¢\9eG?K+¦9o\f6^»Þ`\861'\82ü\¶ðÊA\8a\b¶©e\ 5\ 6\81ø´;­ÉÑ\88±¾VKÙ\12\1fG?ÞhO\b\17ÍC\10CU¢úHüÔ¿Ú\ 3ó\vØè\ 1#òV\ 3{Ö]\ 1£[eß\968©%fZ\86nÏå\96~\90\8f\aµT¯\ 1-\19a\83Î\8c\aÀ`ú°²\82 äÌ7b6\9eÆ\94/¿1wó\ f\ 5Hv\8eax±ÅHe\9c±âæ
+\90ìÜ\9bÅÈ\95\94òHRïÐîØ× Ô^\rHzíîS¤bý\f\93¨\14\11êgÆ\ e®\19\8b)Z¢á\17Z\9dU\17\8aR\8c(¼RÇ\1d\7f\8alµH\16\89\9c¿\b~&»\80§(óu\87ñU§1®Æ\16Býþâ\10àK\8e·L\b¼\16\86r¤©øMYÁ@*°A\vÎ<[\95Ü2²ªkàZ\1emëºúô&\ 5Ö©q-\1f\11\8f\92V\89Bn\ e}ÈSJ\96WprX/ªcïÜ4\8fÃpÊ?ås\9b\1f/AÎeðN\99\99\8dK\8eq\91õ\ e!QÃ2häªTÇ%R\95ÅU²\90h¿\84ncê\9eâÐÅ\12©%\ 5©óб¸JÁó«\80\92\ 4\95;>\rm]\8cÿ°ØèõúÃ\90\8bÝxG^Y\19H\8fÆRy]AÕj\e[C\b\9dÂV#J<õºQÏÍ®Li\ 4ÆÓG\11(DÖF¨å\9f/D>@é\ e#á«\815·$ò;§\19\ 4\9d÷ýµ\87^ÆøaC\0'Z8\17d ¦q²\10ó8Ä«Å\1fRÜʵ\ 1c¡e\ 1e«³Oõ¶:Óh\18@R\ 6M\93ò%OÌ\18\11\br[þ"B~å\94Ö\8 ¦uö\9cÓ\ 3kW;à2Tð\86²î\ e6ùÝ\99©ó\93wihjQ£\83/ãä¦íÆ\89\ f\92v\94ç\9fR¡¸ä·íUQâÕU×M/´le¦áTÇú\ 2az\16À\98O\93\86\9dÈPFY©\fÕ\11T.LàQzî\93¦î*»\8f¡)\12\9fR>¦JÈ1\1e/¸¯\eÁSGtÛ\v¶ä\86eR¥Z\97\1c\18É\8eÁÕt\ 3u[\83o\92x6Çz\9eTnÝbÚ®¾®Å\1d©kÜ\9d{[{\Ï\83É6ä\1c\8cÆù\10ÙâØ\1dpç0\82Òs\àÎõ\fÝyÇF^Û\86n7JËçá<#\90Ç'Z\93»Ë$ê.ÿ\82u41i\1e\ 2\9d«\eÇ0ÒR\89Ó\8f©}1,mÙ¸/¹\88[\93½%ã\86\16b\8f¡ÉCè\1c\ 3\1a\1ej«d0ÖÈEVÈ.%i£YíÆÝ°\89! ljªÂ©êw@Ó#º|m        w¶x\8d<\1alwO\88>\9bÔù͸­\8aî9èô\8aKÑ4mN\výJ\8bs²K\92\9dé·2²òQÖÀÎ\ 6Æû§VCwàÀË;¿áWWwîæ/³\17\8dÃÅèõ³\18k3jÐÅiZWOLOª\9f0i\12Q\18¹\87ÃFõùpÈÓëÈÌAÑoz\13\94÷1j³²ô¿k\0ÏUYUY*À\\17îØ¯Ôx·\7fÂGJmÉ·Ð\186/[\15\85ó>¦\16à½Ý\89Þ-Ý\ 6\94Õ\98v'Af#Ï#\11ÃN\91;¤ï\83Ê\91Ø
+hî\9eéQ\176ù1\8f\16\9fÜ\1fbÄ||å;?úGs³\15\9fR\f\1e~ uN¡;ª%Åñ9\86ÜQ\18Ì
+\13\93vÙPg\ 5\10?\15\90HóÀóh\10\eÁÆSv0uT\13³\8a\82r¨Â\1a¬zõ·~êu!ãr\UÀÀþ8\86æ!\9c£AöF¿ºÜ\ e\ 3i1ÂZ\ 6å>»¬mc\98\8d+P\ eká!v@f\98úÔ$ùÀ\97z\9dVmÒ}[½Ù¸)ó<$:ÀΠ*ÿ÷s~Ã\96\fz§i×ýÎ\1ek>\r3a§ºíó\9cî¼Á\8bo÷p\ 1·¥@t\8dþ7°ßÝØ\19\ 1À\86+\89H\9a\95\ 1\18Ë»\13GÜÿvïü1\e¼º¢¾«e"xm¢\81fÐE\1cG\14Hb\ 2\ 6Ûî;xdp ¦`ÑÂ\87s\99nm¦Þ¢Ó\8eW¹ýàr\ 4PЮ\19£\84lÔXb\9cÊå\18ÚE\16*¢ãS\ñQÁº\15!bÊ|\9bÇ\9b©#\81ÍÓ\e\93\99ºltwLcZE\ 1{\93*ìÈ$xKÓ½\ 1\15á\9cS\9cp¼RÒÁ\9c·2,R%ÎS\7fH­KÛe\19ûéWÎ[\97\17ïÎS\7fX¦Ïz©ý\ 1\80Á\ 1vº8Õi\ 5¾\ 2Í\16\86I¯®¿EÍ\8d¥ÐM\94L,:b\1dx\92Ü\98r3´¬ \eÐÓÕ×§r\ 6ô}s\80u\9fNä}Â\ 6ÕÎè(\97ðë\9bsD¹\80\0jc\8c\18\1f\17À\8d\e\b¼øÛhó\17o~\80\ 4\94þ\88çK.ùVE\8e\1f\1c\10E]ç\7f\8b\96&\8c\b\93º|é\ 58\v\8d\1aÀò\ 1ÄçÛ\11N"à\14\b\88\bf<|OM\9d¤`
+ný\80Q\91Ò\ 5õª¾7Õ(u\86¾]=SÿKÀݬ\17\8dó\bêíç­KW_øK¿ªæÕ\85¤x»x\9fKð'L\9dÀÝÊïù'\86\18bÒÁ;\9f      \ 5<\97\99\8c\1dé¼Û\84éØò<\97\92I(\95@aÕ§¹á\9dV+Û\14êªìSýÍ\8e\bélͤ\1cq/\ 6ê\17É»\96T\108O\eÅ\80 dÀ\10\b\13\1cpÆa¥èØ¢\8dO}i\9d.ÑBÒÇ´9\17¹¤p3\@\ 5\1e\r\17¯H\0\9b
+\0\9aà\ 16\b\80\82\82ñ"\14sè½7âøë(\1eà*°þ\a\98¡E½\1aÃuKh8zÿåS\8aÅTØ\v¹\7f»Ò½\18zÆ?\16Ö°|Wï\13ªÿ\ 1D\13J\ 6\13ÉR\10ë\81\8b¯ÂÂ3mÇÎÍ\94¡ÀuÙ\1dÓ\eÔ\9br4"\1a\rñÌk½,\9eów9Nþ)*]ÜåÆö(nÁq9qß\17;nÁí{Íänitå9Qq¹¬¼åÅ\bw- w\1e<\f\87\1a5;N   ÂíË\9c§}\14,±s\97\eè \8cªrã@\bO\11\a¯\ 6\16V\98¡\81|\9eàa\80H%\ 1â:j\82D\0¿¾K\9b\0+ôéÓ\ 1×>)Ý"Oc\9d+\ 6ýçÇp\18\9e¸b\9dàá£\1c57\12\9e:u~ìëò\9c¯7\ 5Ä\1a\86\e\82)Î\ë£\85ùùolÓäùS\1a_\11
+ê#J\ 4ömÕÆ\86áà\1eWâ§#R]î\9b\82öùd]ª\95\89Ú-\ e\ f¹þ\19xÃà\87\88¿Iâ'Öx\81»{Ö\9c§\8f/Â@RþVbè6VÃCæ\18hfù\1eýUk\83\18üNù\ 6\0g\ 5ùT\eÃ\19@ò7ï\ 5¸\10xQS\9a\0¢Ì\83\1crÂPѼ½\111{7¼\14C¶ù´´\a\9c\8d\9fI\e\10"Çø¢ç\89ÌÑ\8e\fåIf\vá8^1HÓ\98\14\8e9³7<O\94ÝÑç[\8c\1fF\84é×\83ØE1³\9e\1f*R8øÆ\15UèÙÁ1¾ßÂ\8bÕ;~ÐY"\85¿tÜbà$\ e\14\19IeF\94±\8bÞ®¬QMÃo\1d{[Åïve¡\90
+C¢6\97Ô8\90\ 2EèÞÚ\9fv\ 4\87SP©ß\ e\ 5-\1f6\88$g\9aïØÝ¼´ý.ÑÂ9¿h\17\99[*\8e\13\a\19\90Ûèl´©k*/*²Ï++ÆÞ £rÙv4»·\83\ 6Å0\15\85\82\r¿ bHãún~Tª]¨k\ed;´\84\11Z=6·þO¦ò\9faôÛÃr¾\19Ϲh_)ÆúϨ¹óQ\ 3\ 5ÜFX\9dòK\80ü®ÒyÐ3\1c\803\18`f9AJ\95\8d\91ÖZÏ\1e¬M È9àÈ>\14ú®íÍbý\ eåV9r±ü¹\15\8fö?\97\9eÔd\9e\e\9dðà       ÷¯\94ä\81Écª\1eÚñï¼7ç][\146\bîò¨\92^[°«´à>\8c\82Q\7f\ 3
+ª¾1{»C\r¿J¢²\95ã\98i\ 6.t²\f\1c³\90\82\17ÀU¦ì¨êËM¹O¹?\84ÛOl¥?
+P\9aã­\93¿\1c\0·á06B\ eg\93&\1eé)\9c\12\ 5\84»êLðá¨A´ucêlöwÕ:fE÷2M\8dc\96      \ e\ 4È÷­á5,ø9]aÕv4Û\96Ç\15ª\17ú_\11.\96\10¿5\es#\9f¤4ëîJCLæù\14\17ê»UWÝk\ e\ eÊ\7f\1e¬,êÍ\rIi ëM\ 5JøO.\94¾\ 2¦\15±Èÿ\87£0V\9cp9Ý%+G\e¹\18\12Ö!æM\15wÂÆ\94o.5:zG&5~zG 1"\8f\9f/;>g}>l¬ü\17©>ÃñOã=Yö\9eÜü7ï\9f\87w?\8eêÏä\1fOÄÂ¥\91\89K%\96K'à$þ@×\ 1\934l\85\9e¥o\ 4ç\1a'_êå}\1fRxXî;À\ fñÇß\86ó\86Шêäî£R\90\15«ù\17Ï\1eõ\83\8b¤ü)QI®Ê\8a-\80~8\1a#\eç\1dÒ`¿Î\ 11\90-\e;Ö8BÒ\16
+#RÂ\8dzUDÀ\14Yc\11A¨w\83ìÄ\a\eĬ­1Å\8a\v\94\9dÒwñ»Ä­R¯\1crU\ 2þE\vqËñP¶\15ÝKÄÞ\r\fT»f\8d\9eÙ\8fL\a\89\11ô\14Ç#ÓgyN\8a\ 1\81\a.ºfoâ\ 6ñ?\11O\ 5Á*xösÞ\8c<ö¢\19âx      õEìrC\v\12w»Ô!tó\89L\ 6Y¡õj\17\ÿ\1eó\7f\10-ÉI|HØ3\1aÑê\15¿,\15EÛò\9dZ\18\95üüÆ=൵#Qd¹"È\15§\15·+P\85ݦª¤øÝÆ\9e"\11ZKÓG©\93lìL#;æ·±²©I¶gÁã\93\8e\\9cnÉÇä%ª5æª\1f\9a¯É®¡ë\17\14\8cíaR©=K\92\97P1Å\16ã\90ñ²O\ 5YÈK
+UàajÄç)à\18wèy_v\v0ÿÕ\90\9a\90\90\89\7fg\13 N{v\91å\7fòÈM0dÅ\8b\ fJä¨\98\8c\96=»ØL£O\1a>Þ?ÆhWÛd&¥âeƬbÙ  ²\13ee2Ñú=\1c|öϯd&\88\87Ú\87Ü\v!5/ÿ\9b!5¢\7f¢\8c&\91\9cÊé\19È«^ëþb\94\13SÃø\92\11\91\9fM\90\9ai7U7\8fÂ\ 3\fß~·;®å\15\1fáÇú\ÎW¦Vi¤_þì\84Ñ\11\98]\8fÌ]S\16Ò|&l,\84Í\94ÚÚP\1emCJ\ 1\8c¦Î\99ð}È\ 6\93Sp,\84ÓàÒ\80\ 4|ótÁ¤ÿ¤ÙO©\95²\13SdÒ\7f`:ëj|\93\9a+\17þÒ,,\84\9f\82«ª\10OÙd&¶þßñöÑ"|4\96ÖIJ\13Ki3Ò¶\93ÅX_e\90\9a\1a=×2\9bjRÚK\87-¤±ì\87þ,\84ÖÞ\9aßé²\13P4 \8d\81d&\83\9f\9dÑ\9b^ªÿd®\93s\83ïíeåÈ«ÀÒLþ\ 6\93Æ*Ù     \9d¹4\96\ 2\v\1f\92°ò\1fý²\13Qm?Å\90\9a\9bWIOÀwüK!57LùÐùó¹¯I[ ÔK \95é@²\13Jé)} \aG\19@²Hp,\84Ô~&\92\92<§Êé9ßó-¤£¬ÚÚJ\aÀ²\13SkY     ®\8cέk!56¾l¦\80\bßM\90\9a\81¤ù\88i8Éÿ\16Bj\10\9aN\17Bv,\84ÔOÝd&\81ùÃI^\ eRÊü#E[<ÞÞ<\8e\1fÊ\80âí\15û\e{'Ø1÷CKÍíÕGÓ,ãõë'ÏYÃÆ£\93î½¢¿dC\85\92\9a\8f\11£í_¥«\ 1\90\9b\86ÚÕmJÚÔT>¨¨æ\14
\1f½g'\ 5\\81Ï·U\93×´Wï\94³w[IÆÒ©\8aWî&o\9d\9b\89VÉ%]|Å-¤ãÁWÜ«ê^WG\94¾\13'\120/­ÙÂ,Õá\16\8b\8b+çÿ\92¯^\7fù\10.
+\8fe!\9c\ 1G\8f[I¯¬Ðàh[I]|%t¤"+        \90jñÕQTúGñåCî×È£dP<)!0\81¤ãÚÚM\91ÀÒFÎ\ 6à
+UÓUÖáÿìi*}}\8b¤\97ô\r$¼ i(\ 1\ 3IAï«I/ ëÀÒP)]$ã i'YØÒO*û\17IVnÆ\92 \ fñt\95R\81û@\11×ÒT)]$ò:úIÝ@ÒPÂ\ 6\92\97\904\92ö\81¤\9a\ 2ºIæ@ÒTÒ\ 6\92Z\904\93Jëé&x®\92s\9d\8d$ã»â.ð4\94¼\8aÄaýö.\92f]\8d$Ô/±t\96bìYÄ\80ã¹[ù\9aßÝ{8\80äy\82\eÝûh\92\96ÿ½ûìøÌÀ0Ã\0\10%Q\ 6\12§k"\17XµÊ\89T\96ª\80$@v\12jË]\8d§\98`¥ºjã\fÁ\98Ík35-\157*Väb\v\18\97\0\f\11\19iD¸Í6Ü\10]½lQe e\fÏ\7fý÷ï¾Ì\0\1a®o<ïyÎwø{ç\9dï\9düqïõwð3¿\81\85/½¥¶Ù\1fXä{ûO§H*"¢foé\93w¡E\14\ 5'é¹Sóù²AÞG\9bèC§:n\r¥¦\8d\17Ãô\1a\11¿\12*)p¤\97Qðøtd\89\83\96\14{9þ®èL2\11Tf%\1e\98ú^\90?¹M\1f«Î£¯+Íú\0¢\9fÚ4Q8âì¿È¢x?L"Ã<G,\16\eb}­Æc\1e¸#\89ÄѦ\89\83='Ò\8a'/d°\91MpbIj\r\9c©ö\ 4s1\89v¾l\85z$\98{\ 2\89\8a"\80\10f¯8¯
+\0r7\9e\ 5ºvú3bÆ\92\93R;rqãÉÄQ<J\Õ×|ºJþ5ç¥\A\802G°(\80p\8em\10\ f\8b\9b\8b[\8b\91H\95À\r\1cÀ$Å\19\12\87ð\10\10
+ÕÑt\rM7±Pð¸¸\86
+ز\96\87zÚ9û9ú=i¸e¥y@b¯2\18>ÏRP\1a\14\9e\97\13ð×pÒä4Q4 \8aQ\97SDù±\91DW\82\8a\bÓ"Ti\14J\96§±]¦Ô0lØc\86÷¦e\ 2y(\9c\97\14
+G B¢\ 5R$LR X~(\95\9cÁD¬¦\15³|\18\18\f\88£r\86C!~\8c\90@\ 3E\14\13\86\bë\8d\1e4\1dx\1c\ 1=­×Ï®\9fákV&\8a\v`EMÞ\91êR\9a^\90\85¦E\12Ò)GY\ 4¦\ e\ 2R¹Ò\ 3© ?¿\14TÉ&LË.\8cé¢\85aé3d\8fi\11&n\r× \ 4\89\18XÓEK&\99$T£\ 6\92dRô\95\15*\8c\12E\1e\88\96\18\13£"¥$\11R\89z\9a*PK\17­êH\9b\8f\ 4T\9a\e\95\13E6Õ\1ayº3"¤\8d>ú½EESÖ¦èò\94AjSø¥-äI¢£é4Tz'Ú2;c/²ö½íÌ\9b\ 4ÑT´\9a(\17Ê\ví\1aH¨Ù(.ué"\83ý\10fRÍ»bPh\f\8a\ 14Z¢\8aO\13jÿ")H«\15\9dú(0SDÿ«\aȨ\9cIî%ED¢H¥ÑE\15\11\89n\14AÏGbê\91\a\ 1\15     \ fx\9e\8e\ 5¢\ fJy´\91P²#"±u-_M¦\9c}Ã8\b\9f}\16\ 2*\ eKÊ&\b4Ígèä¨ÑE+H\92\ 3\ 4ÑP8Hs\91q{\aÉJ\88\b      Ñ\b«\ 1)O\8c?4SýßÞ\9c\88\91\ 2a\10ÎTI\ 4b$BME\14û)9á\1eC0K)i(\84À\96o*dSÝQ_¢\9b\¨§°.Ó\0\9c\91é\9aH§£`\92R\84ñ¯{\82dSÊ\0P·è§\8cN\1fÎP\ 5!g\82\8a\ 4S¹ÑßæèÒî\b\ 5PdS°\17\0\15t÷5ƣ«®2)Òò\91X\b§-Ò>E7ÌûØ0\8c\8a\9f,\ 4S\95Ùߢ\9c\8c¨\9e\9e7pµhÇ\1edS\8ahÒE8\88\93\18\18ËUÀ\f¸gÿDS~"\17æ\vÕW+Ñ\95\13å\ fx\9dJÅÏ»*\b\9fY}ݽýûZùåÏZÈfór\17úJ}÷\rÂ\b ½}Þ\9b;7ÍCb¾Í±bû»i¢\83Õ\82ZJmQ'z]\99ïòY\99'ÍIÈD\802\8a\89\986\8f;ZmÃÚ~ûKKÛKO\8bäKpÑß½\8dóSpÊMSE\ 3\1a|öû»vvbM\14\ 4\89\8bÐ]]\1cÊ{\84"\82à£\13ø\91'}\0:³sÚ(¨)1i\1d¿0vÆujÜb)L\1eâhÍÚ7½k\ 6¯zJnߥ»Á«î'M\14@ff\10a;\0øD\ 1ñÏå^ÃxÀ\11Dw¦¿\8a\92A0üÓE}\ 6
+*\11QE6ï\85E!=ôîL\8am²µ\9fúvÝ¢Å\89¢¥\89$T¯á"¢Jý\14è\10\99\9bÿì\15\86?\7f]-ÿôWç\8e\86\ 34Zà¢|ß\ 5\14        ¸( qé¢}/\0F\1c$P7¾DÿÎ
+(\azh AÁE\ f\8bäPôôÑC\13\84\95\fǨ¡çÁ+\1cºh¡«|\8a\ 6þ\9a(\19ðQAÇ\82\8a\17\\14OÚà¢\80\15ò(%ðQD\v\82\89ú¼\14P\13ôÑ@>ù\14\10½4P>¾E\f\9fM\14\91D\93ÓE\12\väP\1fôÑ@Ç\82\8a3\17È£\81ý\vq\ 4r\9cÜ\fAàcò*|\82)ߪ\81$Ss\14T\8aò\92 F\155ìCå\15R|ȱ4wc=!\15!=b\9c\12à+\ 5¦\8f\ 2\83DPÙb\ 2¶"\19±Eq\ 1\\93\8a¡Þ\0\15ü±áèd\0XMúQ¢øÜ^/\15ê+o\ fB\8fäáÿj96\89"Í;¡^\95Å>hß%F\r$Ye;Á\vIâA~\80:ÈÀ:\97ãkÓ#\ 5.3\rñ¼@\17\ 1(í´Ï\82GD\ÏÍ\15\86/\83\16ÂZ¿\\19@ åO°Æ\9a\ 3+ô¬ hö\12\13Ø\1dõ£.?öSR\0À(\8c\ 4\98Ào\13\84\v\ 4`l!\82
\86\f|0r.pLa\a\82Á\18HÙ÷£
+>\18U.ë0c~0ÂC\f¤0Ò#\rÂ\94aÃXHW\ 4aì!\87ðÆ!H\÷¢á1Á\18\99ò+W\85þã\14ß\8cXûg¾\18õèÆ\ 6\18ÅöïÃ\18Óñ\18Û\bc\8c!\8e°Æ<ÿ\91\8f\9e¢à\99'Ná\f\87\8622##É&2AFI\8a\90Ld¢\8c\97 \98É\98c&¦2ziUªDe\eôWpà\8c©ú\f­\802Çä2Óç¢à\fºX\10oÆ`z\8b|m0¯Æc¯z\11y\91or\96\9eQ\99Þ\8cÐP\ 3_\fÔ\98Íi7\ 4[Ñ>\19¹1\9bÞéøC9`"Þ9ótº\8f\86\bÏXc>\a7©¿\19ø£?½\1a\0X(®âz4\1a#4"\19zcC&4:Yò\8cöôh¤\9b½\10ù\11£Q\1a9èÑèîö\11X"T$4\9aOïþÌJ&¢B\80$\8brD÷\7f\93f\92\84\98ÓnÞ\8d\15É·ü~ôj\ 4¡üHj$sïw{Ô]\81\8b\0jt¸¾Ï\voà¢Û\99\11®Þ\8d\a«Þ\8d`,\14W)$5\9cõ\8aN\7fa!\80\18×\ fR²lÀ_ò5Ú\7f\97awL\952¢z\8aâ'£a½\e\11?Ô9\806;Ñ;\f\8aÝôóù[ô[C>E­.\10Ùéu}4[:°\16\0Úxcj¥§ÉEa\8d°a¶^\8d´\92+zð\91l£G\85\9fÁ\e\87¦7\eѹ\v\ f\1apï"7;áº\ 5¿Âè}\9e\bÝ\85\eµðÝÅý:I÷ý7\19`\8dæ\98%      \rê\88ÞÂz\8bSÑ`\rò\88ß]1¾ÓE\96ذß\9e\13\1c\ 5\1eÿ¢*\1a}ÏLpT»ß¿Án\98á(·\90Hp¼\a\ fפ8rC:½qy\863Mº#<½Ï¤8ª.\1fz\8b\0Ö\ 2À\1cdÍß\ e6^¯¾\1cvÌI\8e>ûñ\9d\18r\16^ªC\91\14r=úc\92=\1c\97\a\8bÓn\98å/º_\7fÔôÇ-K§é\8e+\849\89µ÷£\99¦æð\1cÕèæÉ\ en\90ç\ f\91nÈ,\ 1ÎÑ\1cñèç¸C\9f¾ï}ÿSÓ\1d\r\1dþ\98è©qûÔX¥\8b\ 4t\93nü!Ó:c§":}}ûãÌ\8bï!~\88·\99\9e·ð§ß\ e¬\8bw£¬"\8b\8bÇía\8e¹\80\8b\11×ðÇaÃ\1d\8fû\8eË\82;>\ 2+ªpÑ]G\86\8aû¼4WðÿÀî?Üw\\ 4W¸á¢¾_ô\1dï\fw×ȱiý\a\81Ã\1e\rò,[pË¿¯Èx\9c\ 4WýþCÆá\8f\1f\86<\8e\18òxcÊà"À¿\r\163øh¯GÃE~/ä<þ\ 2,    ÿAèß"Äçò\1e\9f\ 1\16>\7f õo\91_Ûú\ f_\15Óíz{?û\98Ù        å¹¼ßø\1eïô\1eôBgôÚZ\aí\ 4¿\1f\ 5\93\1f\rì_æ\1f\15\11ñ\92\1f\1e½èù\ 6\1f%èùHÁÞ\98ù\86\1f5!4\f>zcèa\8f¤\98úh\8f¨\98ú»÷ 'á\ f°¤ÈµA£L>,\ 1÷\1e\84\ 1\82\8c*·xb/$ä<\11ù0ÇæüÇçÀ\1f«¦?f\0ýß\98ýÿ\88þO\8a\e\14\87õD\7fc\ fîù-\a:=\84V\10ÿH\8f÷ýÇüZÜèvçÆ7QÖ·C(Ýt\9bxLãxY¦ðþ#xÍ#xß9¾Cvß©ù[Ç\·\90vÝãm"\r.{VÎëmj\aÙì\9c¶¼\1fë9Ím®´qç|\v\ 36£Å\9dð+\1e8ç5
+\1aÜ\8f\13'N5'|\v\86þpj*\ e\1d\81µO´DÕ>á\ fnm^àDÕù\ 2\1f²qu+a\13\88zàÕu{ÂùÙû\1e\8c}6V\8c)¨KL-\93\98\96\ eeaÄÌ­;d\v{ã>¥C¿\8a\ 3\8aÍýÞúEâö¾\8f\98Þ\99o\94\85,F¥\a%Ô À\1a¾\ 3\85¢u»E³R6V'[\94[S\91²á:öíu¶­mu\96´áüÑâ­+\ 2çà\1e\8f²\8b£\13¬[¾\ 1Y,9Ô\e¾\ 2ÕMKë@¯mës\9bÓN¡«,Ò\19M)\vO©B\96Qk\95ª\81Deg\ 5#FJÕ\9e\80öÛ:´\15\ füIòxý=\9d[ñ9»gV¥\ 1ë6c\8b\14Öê0Y/\9aå@Õ   V<yax\ ee ÷<\ e~ÍGFnãïs0\1e\88¢ÿ_3m¬¯irª¿|\7f\a\8b@¡£\95Ü\e\96·25íº\10<&jªã\v`\a¼û\9a³Ô\ eL\9b\95@ÿfÌ\b\90µäÝk\87Õ\93uÀ#æ\85\1fT´q[7>qßïýh+AN\9d:\8b:^ÓÊB\ fs\17\9c@§±Ç\en?£Ï Jll¬\9d9\19±²²Ð@­\ fûÀ\9aPí=\8dJ\ eëÛ-î\10µãHñï8ÏÂ;Ùî\8b0¢µ\8f&{~_[\9e\85ED?2¡þë/Ê\8e·\95\80·¨\7fî9\93MyMwîþ6\97«4\88j9'\1c\1eÅ5D\ 3^G1Ý{^72\9c6 yØÚ\8e\95 H%\16ù¶¶õ\10¥»M÷aUôÕsj w\11Û\89=ŦᣥÌñÁñ&O\80\92ñÔé`¤^ZÜÙÊbáW¼ööÕ.Z¯¥@'qX:þX{\a4þZ\1c\11Ç\1dK)\12\1eÒ\ e\9e¼oÔ²\91\ 1æ_E\97Ë\88      þ&\1c_VãV¶ [,{\9f\ 6ªvªnª\82«Ìª¥ªö*¶U_\ 5VÞ«\7fU¼ª`~\968Þʦ:\ fsݹPÛ\9eÖ/Ë#ÑO§¦B8è\0\1e\15Dàa9    \9c½ LèOg£Å\7f\9eR\ 5È7Óàå\1fÿ<¢ZI6\1aî\9e\93\81\94\81rÀí/kP\12\82ò°Ôï\15©¦@2pµ\ 2
+é&Û¨\98¬ApÔû9ð£»2qa3K\8b\9a<4ëâéÉf/\v±Î       ìEÚ²së\99ÍÄÞâ_q¯Ü\ 6\80ÁF\96\10¾Î¹:í%¸\a\14ɳ\88r_º\1e\85[HZ\9f×ñåÍ\95û\etGX¬¯p®ª:µYÞ×µ\¬ê¶\91\81 èî\87)P¦è;|mm\9fÃ\16¦-·8pÏØój*έª\rFªÿQZmD\9cG\ 4ÖÞ¿\8eüY\80g½õÍÇ%®Y\89;j\83¤\94\89ú\84÷_ËØ\13ñj\94ò%»Ë»#¨|K»*vz\e».®\87¿-R°oÚ¯#\9f·hÕ+3nVå㨳R4h\95ük +ËT­\92B Cò9Ý\8c\97ÅCqQ\0>¬­áê \88þ\10c\0\1eq\f\95Õ\r\9c\8eõ·"pºõ*Ñ?x\18þ\ 4¼\8f\1c*AúrîË"Í\ 6ï\1d[¹¹A\82\8d!ÎZýz®ÓB\84ǸpZ\10\17é
+\8eà\95B\\90Ͷï![L­\96\89\ eÂɵ®²Pøý³\b-%\v\8b¹LYìÐ\8fk\8d\94\99\97Î\87\9dSû÷åvG~\8f\9dT˲
\f/\9dU×ËàùÓ\95\10\15Kv+Gäè§\1dü\8e¡fJÒ\87E\a¹\9d\89\9d\9b¸jM¼u     Ó\84ßcíì³áÃîX*glÁ[>\ 3\b\ 6\10\9c\9a'\84è\9fV9á3Æ@oYâ\91ö«Yª\ 2^\99S¢ý\1fªøé»È\82wW\16åÝ¥\ eWnò§É\1dïó Èǵ\83\91åÜ\96DPA´¤G;ßf´\99"¶ÕYs½ú\146ðy+ZX\86¨\17ZRáàk\ e\7f\9d\ 4=;T#ÿbª\ 5\81\81|Ínl{et\9f\83ÅNRB\96Ø\14¹§á\14ê+\8bò\17é¤\11ÀVû\9cq\8bI¡+@óÈÑå¹Iö%G«\ 42[ö¢\81â³~+\90\8c«UV\ emq\ 6*Üâ\1cÿh°Pí       \10.Ô~#ÆÖ\0á]U\96Õ\1f\93«l\1c\88½·\97¾ø-]mWµòùÿ\ 6Ò¥@gá\19ç\18B³ÍHñXC3íX Ê\15\82\9d'bÁý\94\ 3\ 5ºN¾¤æ\v´\9deIæ\85Î2¤ãOÂ\11-Hý\ 2Ð\ e\1a\86p-/_Ù©'aO\91âµs´ÝY(\98åJÔ(\1fÁêI¶âM]6s\9f
+6Y»²\\ 4©^Ð\8cÖW\8cû»(¶\1f\9b²©\?\86Õ®ò9]}¹íHþ2mh\vp\840êût2\8b ,¶\99:ý®Ð\99\ 2B7\1c£i#ËKÒÁ\9c²\8b÷\ 2\7fËB>\a·R\12 1å \e`{x\0h\19\95\84h´¤\9cÜ}\96\81qiRg"\14E6L²ÀË.ÕÚGå»t\ 1\94`\10$ÄË\96DO9®íVÑÄ\11i\9eÁÉPC³°\8cxóÜ'þ¨\9fý\99\ 4ÿ±\95\96\99­Ö8p\12ÿs\15ðuÙ\93Àð0Ê\ fw² nQ\0®¦ÃIóròÅô    CÐ$ðvSw\1fj5\13\0L\8eªÜbÙIÜ}æ\93ø½à9ó/\aå\ 1\ 4®eÐJä\ 4Ê6ç1_\ 2\813A;Äx\84Îæ3\14\96(\qÜËíÏt¢_nqfÏ/yÑá¦K\eGkö\ 4Ï\9f\92ÙM\86\9b\ 5>ÀcÇ1ê\ 4«\98¦<\9b\e»<·Qf\8fm¥<}¸®ì\10+4\a\9fvÊÑHö\0Ò0­\15\8fÕ\ 6\8b\8aÒ\0s>Ú3H\84W§Ihpø[\11ßzx÷ \80:­e|x\10\13\1c\r´zµ+\90®Î GPóýªíJ\rÕsöuÞâ\f}ªèq\13á\98|Q\87ÂÃ\98ûJ\8bMJ\ 3Ûú{«5\e\99IL\9f\14    n+\a{«E\13¾öªÈ$\10µ\1dûK¡ú\1e\98I\92RÛ¯\91D¥Bç\ fâ\1eáÛ\ÍÝÔØQlt»\1cðáô\84Ír\82l
+®      ÿ\ 44\1f\1aàN\8a1;R?EÜÎݤ\8dz3\9e\fÄ}ߤÇÝ\ 1 ¨~ö5±3ÁcÆÙ\1añ«Ø£¢\14\96óõ\aÕ¾Ñ1\89h\97>¤ífâµÀS<3ÁÐ;
+\84gR\ 4®\88òdg*\fÐ\10ú Ë®6_\18\19pf +?\1cp~\85
+\9dE\98\90t°Ä¾Às\87Bøh_å½Ãe¸×Õ\96µ¤Õ\8d¸Æ¥ÝgÍZã$VÄâ\vËârú
+\82»i\að\ 38s3Ú\91\9c<r¢îÿZú³õW\13\847Y:àâïnú³Ñ­'fA\9dY4f\91¦èõ\15õg\9bZ\ 4b!2ô÷Õ\9eZLõ×ÌsóDêÅÓ\1d\ 1hºýÛË$\14»yò\ 1r  c\87\96\99S3[ì|#\91ô'Kë¶W;yIg\97\rßò(¨B©\f\97\e\99\1eóõÔ\1f\85Ê\1e;ÓÛGÒ¿\}qí_\9b¡Tº þ\ f(oþ\9c\7f\9aýq÷*\9d)üs\1eÛ¾\93\ 2\r\12^f\92Íø\9b\16 à Æ¹\1e\90\10q\91íP   \ e\82Pcþ`A°d¶\ 5 Ø\1e\90j?yH5\1fÛ°'~JA\16\ fÜô\80\83Q\9d\9cÇ\96\91_ó(]\12
+-µÔæÚè\9c7¶ºÛ\f~\8b[xí=Ð{\11*\aÅôMB5³#Åz/½8\14H´¹aÚëõVD\83\10ϳ\97\1fQè±Ú\94\8dZûç\1c\91ñ\87íΠ    e?ì\aÔ}ºö3³e|ÎÔ\8f\99Ú\91ð¼w%°ÿ\18êõ¦|57j:\14_\rM§<}\8a/\86¦Ó ?Ú!þíj/\89¦Ó©\1f\82\93âi´êÇ\909\17ÄÓià\a\13³s,X¸¶\95¨½®´Ïk­\aµÖ\83ÚëAíu öºÐ{\ØLb\81ê%m2ü½®O\8bZG/¬x\12Ê(=S\95´3Õa\9eM¹ØF{\91\94ñ\95Q\95Qµñ¶Qµ\11­#8\91\94ñ»8Þ\fkN¤QÝ\t\84t\94t\9cr\11Êã\96\ 2\17\11§\90\9e]=\99\9e\93\9e\87\9eî§³sÑSÈx\ 2С¡W¡]¡\14$\9c$ô"±H
+\94M\ 5©\17\9c-p¶\ 2Ø\89ZëAW\8aÈ\\11|¢â\vé\13C©Nó\8e×\1d°;bv¤æ\90\94°\9a¸O:\13]       °\84ÔÂ4\8d¥\8dÕÆùѺèÝ\84m98\ få\8dÔÆ\8a\1e¾3\7f\19Ç\8c\v®nv¥ñÊU¢[\9f\16\0Ù\94 
+­J\0®éÛ\1aÔ 
+\93v\93ï®Ç\97vi\e¼\1f\91\9aO¾Æ»4Ë \19\97E÷È;\1c¯ô#é÷\85}=jO¾åß\ f5\7f\96E÷Ü4\9f|i\1dOý/\91}ñ¦\9dÛ;ãO3`û-µñ\89o0gNFi>û\\8bï\83\8aõé¾îìmI¡¤û½\1ao»»\e$ßwv67Ã\98ü\12}ôé_}1,G\81ò¶\80(·+h^úÈñî÷tìÕÔG\ f\9dç´ã´\1d¶»\94HÞw_\113DÒª\ 2\9c\b\86òô$r\12êµ\0¤#±Ý^\91ïu"\ fWÿÏkd\1e¹/Ü\ fï/ZxW¾¿\82\86Ö¡\ 1ûþ|­R\91õ\9aòÀ\12?SÏ\95\93\1e¼\99!s$Ǭ'Ûð{¿á\ 1\ 5B\1cÊ\8c\80Ù\86ȸæM\eø|ï@%^³ÏQ\ 4µl\e_\9c\acõ ì
\85\r\1c\9cW\8a\11\87\W\88?\87¬ñ\ 3±QÄ\9a\ f\\ 6&Ãçÿ>ûtÀý,F£\8cª  \7fóW¼×f¬:\16r\98¼k§ïÀ ¥#ú·,\ es`\ 4«f\8eÀ{í[\96ç\8f5æÐåj"\87ÊÖ´ãÑ4½\95ns>©\19°¾7Ï   }!ý­¦N¼x¯=Òà\9dËÛùõqRµ4Ccè7\15(K\8fîLONäZt\94Pö#æÓ&N£(\97\b\93¤{OB¡Fé@¦+>UÃÅkóäû\84\1c\16½"QU/ÞÓÛfs9Îó'!Gb'*Üõ\8edÜÔ9>˪²ÎÙNYh,¼+.Û9Ý\85éC\ 5¡\95*51dÀ­\9f\93Ø\84Æ/ßXÏXøv&¿×:e³h»©\9cÌÀ\84®\15d*èY\b\¤+HD!{è]\1c\v=
+b\87ÒTz©õíb\eÃ/W\11ÚØ\8fÃ\9f^Ú%}4D\9d\8aöÙãÈÃ/c1HåzöÊ\8b3+%%&SDflsåæ\19\ 1þÿ\1a\91Ê\ 3Ù\1c?KÅcV\ f~_¨í>Üe¡«\rZx²_8|\9a^\16Ùë\98ÍVC
+G\8ei£qjªé\v\19\1e9d\92ò\924\9b\7fè\a/\89ekz\15\15\8b\85I¾P\1a[\95ùe2v:UKòÑy{\1d"\90\98,»^\9c±\97Ï1\99RÒáSN\89ÚNù§Eù\9fz?cÅb¾ó·\ 4\ 1çUuü\ 2Nëè\9eY¾1 Q¸ÙmÝ\8e\8c¬ù\8a×N\r\97\8aN`Z©·Iº\12ûucë½)ÆP\ 3ëië\ e\12S\bðý_à©\8cèJ\80¡Ó"Öóz\96\bi:\87]\925X\9ak\8aç\9b\90l|÷QiI\9c\ f²Û_=\17\be¿\82[X:\ 4GÐg\8d6þ©\15c\e\17\10"\b\94vÞqbFû\83\9e´\ 5\96W\18ÌÅ\8f©þ\ 6ÑÂLò6\96ÇÞ\99\r;³óÀ\1f®t\8f\1f\1eYs¬6Þ\1fÀM\99³>_ÔÅ\7f¼\14\11w"\13§jð
+\17Ëç±Ô;\ 2®ö\86$ÇÝ?Û\8cÝxB¼¸µ\18Itªç\ 2PEÖ±\9duf\12ûó\1e\9a\12u~\93vßw¼Ýã¬þû>\96ó\91i\9c´\10\98ob\81IÿÄu\7fæ½\95ûòËgÿ:\1fã*\aöþ\1f\8dá²Ñx1\88ßø·°ÃÈH\91ãó0Ð0Ú\88ièlt3hoß\r×Ãz\10Ìá»hoZ\18³Ðñf.qÉy¬g}Ä\19Æ\8f"!øêYu\ 3à?\ f?\ 4?ܰs/ãþj\87í(¤ß.K¶\1a\ 5Nk­ì\87RþÍEr\eµª\92Ë\85\80¿\87Çy\1eÛ¿R\a\956=\8cÀý5\rá\aØÀ8ýG\ fá\80c\9fe\ 3\1c´*Í?\88öc·       ¶\82A@\165E1f\9f\82ì{KI÷Á<\r$6\8a¤\90S\9e\95
+cÚ\1c\83øZ7¸Ö+y\1c¢\ 3=\0\92â[}\ 5>e=×\8f\15    \9c\8c³\8aCÇ/\ 17\9f\9c
+É<\ 29óJ§QÒ\12\8d'\84\12zXX§7P\19Wí/ò-\81Ùè]wLl\a\f\aê\86<µ³G\ 4Æ\ 5Î~rZf¶ûv\11,/ò\80\9e©ì»ä\19A¯ì¿j\96Oó³n±t\96jî9\ 4a$=\82¶k#òÙ¥Ú^º?-ßÂéz¤¤ë\82\95RÒ®1Ç\ fxÿ6ÉvZÑ\92ÂÌ9\96\9aT\1fu\f)T6V`:gPì'¹CèzÐ\9eã{j\1c\89>±§PÅÔÎn\ 4?\15BÅqÎÇÂP?TøößÍ\0>\ 2mxàòÉÓ¬üÐõ
+é9K\81r1JÙÀ\ f÷;\1e8ø?'^!Ïê\87æ?\85u5·\ 2\1f.        ¡i9\98¶('¥ÍB\ 5LGËg\9c?
+ T\9bÅ\9cý¦\82l
+\97\8e\18IåãÊú\fg\19L\8f\1cü\0Üú\83¬TΠk\9d\9a|4Xãö\1e?¹[\8c±ãºVMå*;»ãqÎ4Üs\8a7\1c­/\1c·>:ñaÃ\8aQ4h\10ÕV\ 5Ü: 8íy^µ%\92ïU¯ )WP\ 4Å'@\7fÊûÜ]±\v.\95Ð\9eîÑ­¥AÜ+p\94Þ6T!Q\8boÃö\15:\89\1e½S¨P¡Cw\1diÃñÕ\8fX©Ò\81ù*\9f9$³Á1\1c9\9e«8A¢w
+ÙfãÛA\ 4²ß
+\12\80 Sα\1d5\93WI¼\80¸þÀ3Ù¹Ï/®,Ég\1fè\ f-«N{¦æë\aÖy\8cf\86=`ù\1aÂÁê\e|
+PÞ¬þ°ý þ       ëÏëÏJüÏA~goØ~XðÏÆ\1d\1atQñ\aõ\aÄ\9e\12¹Ä1Ø£\80Å\9a'4\ e}K7úÏvÑÂÁ\ f`¤s@×qhâ\1cCj¦³{hã\1a\v¼\93,©w#Ç\b<%¥ÚÛ8\ 4ü\ 3ªe\v%Ád{[\10§ú\86J\99%5Ñ\92#·I3,í\15,Æ`\90\88\ f½TG¶AyNk\ 2\84f\1ao\91¤ÎI§#\9b\11\1c\88x\13êÁÒµ9áå/Gó?\13¬]'æxÐ\ 5\96Pãâ?3\7f\1f\9a\ 5±VOS\9a\0\94
+\8bb\94¹\963\ 4î÷)I7\12 "'MO&.eB|TÍAÒ[Áöh
+\82
+±H®îk§wf%ç     Ã\87BF\9f\90\85\91ËËèu¬º\9c\9ecÁ PóÂfîë<îëU¯ÿ\1dÍ\9fÍ}ËÏ|Ãèq9-s¿éüy3.#\ 5[ÈÞ\94ú¾\7f¤³\8cq\ 4\ 5Q{\eQ³U)qШ8   Ì\94\v>\1eLLµà¸ë\8b¦\1a(\\9f\15|\94;<\£\e[\966¶ô
+X\96Ò\91\80S\14£\9e-\ 2>[N\98¬\r\994Ëè<«P!}¥\8dPÐäsÙHlæ6\17K\81N°úÕíhÀ\9d±\84     \87\ 5\8cèü\1fR\80\1d¾(*JgÔc4Û\80ÖÃb8m\8eÊ\81BV\ 40,UÄ\81\ eX~ëÂ@\ 6\153\92¬"Jw¾¸å#Y\88æ\9bÃ?-Þßúanþ\7f§@°\9b¼\9a7Co\8a\1f\ fÔØ\8fÛõ07Z3zÑw\7f¶MÞ[\ 2x\93u}¦ÝF)Bò|+Ç'\1cNêR|JÜd\8e\1eH%nk\vt x Où\ 2ÇCû\11\ f\14üÉP6\U'z\8dKó/ÚH\fñh\9dÍxÄ~ñ¨ýÅGÒ÷ýEã\90«\96ÀÕ$ÂÁðâ\933F\85i\18f\82\14a\1a.I¢æ1ïùÕ\88\94MF°ûIg$\1fE\b?%øà\97ýµ\17:}8\1f慨\8fÕó\91\99úX?³ê\91\9a­s¬!\99Ë0È3ÿ\ 6\ 5½]Mã\93Ï\83Ôï\ 5¨¹<,c\10ëļrÁ\80X\91[QrÁ\80TAã\95\8b\19\81\h}ã\95Ë\81\89è^9\v\19÷\13&¬¥p\12á:ì\ 3¤a5íê.T('\19\1cÎ\b\91\ e»\1eìòhüó\8e¤Þº\82¼s'&ÎwQs''I½È\ 5à·Ã\9eã\ 4Ý`ø×¦éô`\84ß²\1d±\9a\96É\1e\97\96! V³Æ·É\8fáGD'\Ûö\ 3ÿ$\9a\9e\12ÏÞu\}7~ZúÙ1\1fg4[\17J\8f®</b\94Rxg\9d
+ß:>¡¡Iá\9cÚÿc\9f
\ 5ôüøXõy¨9\9cðè¯WÝ©Q\f­\9f\13½Ñ3\0N÷e\ 2ÅqcïofsÔ\96yP\809Ä(\1fª\1a     ÐÈ+\ 2wI·fVî$Ä\13\96\ 1i?\1dµài#ÔèÛp4\ 1J0k黸Vß<yC\10c.ø1,ì;\19Â@\10·\9f
+½¤z\10Ü\0\1f\8cOF!\f»\83Æ^Ú-L5³ªK\95\ 5ÏÞ¯W\16\840\16\ 3\8aP\86\8eíW¶£Bt\8f£pÐñµ$Yv¢_N¢\18¤ÿ{\8a\ 3Ç¥=Ç\xÿÀ\99\8a±HïZó\1ar\14Aîx0\1fzü¶+H¡{lS[\16\9f\ 3°\9chëø\ 1c!7v\0¹\87¾\19k®ÏìVÓû(kl\9e\96kpÛj.\va\890 U;×\8c`~\87\1dyã\{)ºÞ\94(\16\92 U4/m\8dq\95\10ú'2Ì\13«\88C4g\16ãLxþÃ\99d×É)û¡tª\8bÇÿt+\89!\ få9\969{X¿¶\14r}\15þ½ä)ª\ 4\17ï\85q\94\10êÎ5.f\99Þ\86\ 3&lLòÍÅ,\10ÚúGM\920¿bì!qU \ 1]Uû«\8dJÄCÍz\ 3\97é\roI\8fôcåý\ e:ÃÇ>s%\18\14\9aPZPò]1X¸¶+\80\8c-\8aà\15\8aT\90ñÊÝÇù]ú½\ 2 \9e'eÓ\8bÛ¹ó\17´£\p\ 6úMëÖÝ\96p\ e\93-Lµ\ 1%[,½´\1cÀÔ\9cŶû>ÉlªöݹûY  \9bË\ 6;Y°<\9a>¦)\1ewÀO8õE\99¤\ e\1dKÍÌ;5C×¼f~Üð\1f&ÈZ\9b\12\9e/Üéɰ±\15TÄ´¨é\0\85ï`\13Õ)"5\ 1Ú}agï-º\97\10=n\87ý\ 4m³/1R¨qý,û-1!û©P<gI\93:\95ml\aeÑeâíü*\97ñ÷}\16¼ÖSÌ\10¡[,\10\1fwúi·\7f\15\ fÖë¼kò\ 1@³Û´ü\14\812\ 5\91\95'1g>ó\ 1\0¬Ë³X\1fV,ß\95h&\9dc\83ãß©\82\1fqÑe\bÆV¦\10}·D¤\ 5±ºÆjNÎ\ 2P\15C8ò|\9dB°uÝ\ 6ð\83ý¯\19F:\87É×\8fávÍHýwlÎ\93n¸r\8f\19@\17\90FÁã§ãrYik{\88!þ÷lòÎ:³Çï<
+Ô,\1cGàÖÜ~Gá%nÎ\18x­#%£ë\7f\ 4ûÂÕã\8f\0\8fq&Ì\bá\9cx'\8e\89á\1e5.Òâ\rÝ\88M=½I¦=\9aÀ¬\ 1ëÎ{kAú\8cÊZ!\13¡;Ú\12Í\95N\94Ƕ\82\1f\ 2~p²Å\8d\83\8cYÃÊ<e.ã\18pú×\8c»\80åW\18Ó\87\18ðÑ\89\96\90jr\83³¾g\8d
+¦±\89\1f\93C@Y\96\96°¨*\1e'        Ý»äè\82 \8fÂÆ[\ 1@5ÔÝØQªvu`ñ\82\1fy?¹\10ÿ\ eæ æ¿\13½ï
+ÝÄiÃÞ;4áD\ 5\fà\1f\96n!Èâ\17l\97\18ü        
+\ 1üq\8a8\9d7Hø!#«=\9ex\12}¹Õ:\ 5@\ 4v©Û-+\19Pxå\e¶-¾\89vYp\9cÜ\14ê:"QC\18ÇÝ\ 5\83Í3ÈíÐ\1c\1cß&?3LÊ5\9bõ%ÈP\91EÉã¾½g\vInÂ\85EZ±u<H?ós\93âÁí\Î\18¡\ f\1f\9c\10Ô_\ 4rÿbà\9e6ØÍ1êlX\91Ða2s;Hö\9e\ 3À\15j5a\16^C\88<|ËæL\1eò\1c¼Ãc\13d\1e\8eË\85\9f°¸Y\ 3ôN\ f\82\1cÄ\10¸L¥ÏÙE-.\7f\b\ e$äÓ\88\93ÆÞø±Ö\83£P¡\8b\aCm(b@3£èWTå7\ 2\1e\92ò;ëY\b?ëxë\1agYb\8c\1aúÚ\9eü\99Ù \rZÂñÐ\8bSÍ©ÒöÕ?4Þ\1a×Ô\87Õ\85è\ 5÷Þ;?\ 2~1\98 4!\8f\8eȳ\12ô¯{1ß~ÈÁFLx~\ f\8fãxT\ 2\ 3\8a¾@PP\1f\96\95¢ñ´Lô^\ 4þ\8bø\98Ð#a\19ØHFwz)ùý\12:Üd\14\0¶=\19å1d\87>fÙÝ\:áæõ\14\96ý\ 5þÏumI^\82ÿg¼¶«\93è\ f(\19:Jõký\99[jìõ°æèé9GÞ\9a}aå\ e\ 5\ 1É(\1fÌ¡\19\92±@ã\ f\1c©èµ\10M\8f^øQ\18;\16Cî|>\89 .\1d¹Õ\1d\81#\f\84\82\1aß"»?l8
+1öÇ\ f¸PYÉÝCnE%\91øõ^\ 6Ë|\ 4\8d\1fñ\97k»È\84\9d\11\a¹´mÄ\83øyðu<ø\1e+>ƶ-böËc`­y GÍ)\94\94¸¼       ®\93º:G\96\12ûAú®H\15y\ f<J\b&ç/õÿÕvDQLÏn¬&È \9b0Ñð\1c\94È4úÎ\80ÿPüu\9e^ßåö\1a \11Ù\94¨óÅÁVyª\87?E@±§\18þ\ f\86PáÒgÇóéG\9bÕÔe     c`\87ÞQP@\94«è\føG\97\10°´¥1·¯Fgqñ|\9a\8fÖM*\1a\b}M\15\ 4¦ÆT8+Ý\12º\18\ 6\80W\ 3X+Ôq´ï&¶R<°\13«"\89`o\18\ 5¬\861­¨èåµ\\99\1eYfMð\9d\ 4÷§d>"u\7fû;\ eb@&\9bÊ\93\87ÕL2å\85\8d£É¢Ä,Vϼ­ÉÀ\8f㢭ù G¼¢^Ó´ë`]Э­ò\14\rÅ\10äDâ£*ë\16]'FÎ9{U±\v)8Ú;\ eJ\15cQyÆ$\10¿5\10ùó¿\ 1¨Ò÷b´~ÇpGvÖè-\87GDÅ\7f¯\9f¶b¿õ)Ï[\1av°g   [äÛ\ e\8ez\8a·È¶\1cå\13¥5´¶Ã\97¢
+[^$jPK
+Mÿ\aí\8d  \8d\ 5P\8aMìük\87ä\84\ 6RÙå+U_\167³ÀüN\7f\ 2Ü=·A·\0´\18ùïÒo"i>¾júnÒRÚõV\80À¥Vé \87¦þU·kGEü«E\ 66_È)Äj\934b&L\7f¯M\ 4\14ÇîpÝ4'C@Áþ@§/x/\0
+L\ 2Ñ9\8cõD¸ÿ\86\9b\14]\80ÐmiÛ-ÇÖú<?zâù\12\1c"\1f\1eÅ\7f³\9b¶-x\85\84'$s\ 1\1a¯öeí\91ý\88\1e\8bBCj³8\að ~&¡¬¢-=?þ«\ 2ËßlJ\801\82k²Ãúè²"·,ÿ\[jó\8f°hRËÔ/ò\16+\8f¶m̪úx%\83¡ÑÍ9ÝX¨¨ên\8cNo\17öE\94\9d.Þ)òÐ\9e\7f³'N¡\ 6ü%jiPs#Çpyû¯¡A\89Ï\ 5\e­Ò\8e\15\93]ÝÔ¹H\88èéè\v~\ f.\83\97ÐkeÁ´\8eæ¹\8b_N¹d\ 5{>Ø\9c\85)lÚÂÃ\92ÿî¼9\99ݳk\ 5íb×,»çÀqÙ¡\92úOß/¥ZxZ·\1aG\8b\93»^Z\0\14[\8fÛ\1fĸé]ñWÒÅÄ\8b\1eçuT¢®\ f\1fËEËi{\9d¡ÇU©X3\8báª;);8Nì\91Å4Y²\93¼Fñ\92k\ 5Í\ f
+WÃæ\8f$-^úºL\15;\82<x«ª\8e\1fP-â\9fq       ±jÖí\10®Xu]«Q©\15u\18ªíu\92¡2=Mb\1d\85\98\98ÄÆ&11\89\8cLbc\13\18\98ÄÆ&11\89\8cLbc\13\18\98ÄÆ&11\89\8cLbc\13\18\98ÄÆ&11\89\8cLbc\13\18\98ÄÆ&11\89\8cL\7f÷\19\e²þ¼+¼Ö¨p\9b\ f+KGõ{sj¤ç£EÐÍÆÿµ¦{õm¼ëïö@Ô\7f7ëìñÊ\95÷¹}¦\8a\13Úï:\8d\9f\8e¡_\1e3ÿë±W޽ Þ¦+ÿI»\87\8cÿò\ 6¡ôø´Sw\ f\8bÿ«Ò³\95zÃØäoX\9f\8eÿµ¦}Ën_\b´PÒÇ\17ÿ\84\96{ãÑIg¾?ÿ\88\r¯|µT¸.&4B*\16\9aÇò\1aÐ\94\eÂÚ5¯>qm¶¤[mC\85Å\84\v\1fÆóbfKi¸$\9b\f¨Ü·\ 4/\9dïsmº&Bö\16h.«À\16\8e\1dj}'àqmë÷K\98\ 4"\83\aäD¢\80\91
+P\¡l\18ôQ(©<¶\971\8c\ 6áh\97òÞkZ\971\8e\ 6ùÈ\94n¥éK\98\8b\ 6ý\94H2ǺÉ\ f¯ÂÙ8ü-\92\v¬Û\8e\83W\98ƵSK\98\8dk(s®Ì\99bè#\v«\vßëw1\bÛÚ\8d\1dnÚ »Áª¢n¢k!¯\93bd9<4¹wÊ5ï}z\82rþn\98ø=Ïs\8bg+\9b°ã+\v£\0Ó@\133\8cÍ\85¦h`l\r\9dÇ\137\14\96nb,È\1f\91µÍÓD\93\93Iêóp6%Wô's\1a\16\87j&W ëC\7f³æ        ³î\17'©ãi-àÉ«E:Þ\17`\17qÅÿßOÅ\86\98\9eãÈ#¸ãMXÁH«÷\7f\r/\18ïoûÎUò\ 1\95       J\ 6¸¾¿m\93Î\ 5\9e\7f~rÜ\1d· ?ñ\vÏc7?3%Þ¨¡\82³ÌDÓÙæ"\8aªñÙ4®\ f`×½8\9a[÷Î\16\83\9eØ5]Âû\0\9f}¿·\7fio5¯Ûª9\9a\92\17J\89óiÛ7E\fÜÅ@Þ\ 1®Íðpü\82\9dÎ4\9bk¹ë\ 4%!;\8f\ 1îìÚO¿ÖI<¤¥´òI$¥´/`J#Y²ª\14êZ\1cHH\12Ýe]Ø\1eÙsË\9cn\88.3u$\ 1h\a\97R½$ñ»c8íÛg·gw96ݺ¹Ùµ3²\913AA*\ 6v\ 6ª\86\11<½2` VÚ\e_¿ÿ>ý\9eKe*/\ 3ûòîÜöÛÐoA½\8f·±\86ö&þ¡þþíÛKo}ø{7=\a%â#þq¯®ñº\98\99»\9b\1d\1c¦>fÖ®¶*\ 1\97åè¥Õ\8d³÷\9a(§Û\97«\9e«¥ÿSE)úÇ\88ÐõïeÒõ±2À1ýζþ%\1f\1a\9eßó,0jçöú,º\97\84Q40TG\87'\9f CóÕåï\1eÂyë!\94±\vø<ìK\8dô¢@
+/Zÿ¢\95©PùH\99ÊiP\15£çVÙ\Ï+\1fó}\9cn\9a-yÅ«ËÁ\1côø{;\93{(˹õSu±9\8c\19ò?+\17\90\ 4Ƽ\8c\8b Ëî9Ú2\86M9¾2»y>\86yç·§¸¾ÓO¢.\9f\89\8d÷\9eáÁ\9fSC>\89bM1ôT^EÚÆyov\9b;Ï>ÆùV\86à\9bR:{\f\9eZ|\97\87u\14k\8dµ¢Mÿ¢"Õ+EL*fì^\8dc³kÊ~?)Æ \90ý=¿èZÕöWq4,ØÚø\95ºhªðµ/Þ\94HMj"%O-*{Û+\19çéê#íû\12\95î>û';\7fØû\9e\9fg¹½±ó+ÎZ<ö¬úï/å\1c\b\1eËÍ\94\84×êt2³VdU[\92ïèm=\85Üñ¨\9dDøTWîSÉç¿éiu÷ò¹(Þ\92\88\81Æ×ô4÷\1e^º#qÚ"rfö\9eÛs\11ñe(Ø©±Ê¬U$£Ý:Âyê\8a\8a0ØOyhÎÞ\R­/êû{9[\947¡»ñbíÖÖ^$©ü\11)\ fk\958µâúù}WK\85³ÞXæa(\8f\89\1d|ø^|#W\83F\11\9f\ 2V\88~u\96\14\94äÎÊ")è\9a\f]\84»6²ËêÑx\ 5Ë\f»Ëõ~\fãwÁ¢<$g\8d\98\8e\86\9eÛëM\9dõÝ,«]s\7f+¸Ùwr\8eE|\1a½Õ=·s(ùÙ\94NÖð|ì»\8f/~       ö_\88\93uÜMÅ.®,\7fß\13Èðìêø1Àú\8e\a\1d\9f\1cõú Y\eò\8d©èÚ_\9cÐQ?ÍSmÿ ¢z êÒét\1c]è®4\19[UM¯<Ü¢7ÖË}yc\8d\87>Ö¶q´ÅM\8e\9f5\87\14a\ 5­þ\93ÌÕ7Öº\9eä\8e´y\86\fGRÍZ]ÍÔ¼ÂS\18ïu_Ì7·\_0þ\e¯Cq¸\93¶\y}{Mõí\8e5>Ï¶Å¾ÓæP|\8fïFuüJ\92¼»¤o«ð.¸\9a#àWÑ\1djÚÉñ\9c¨ÙO¾©×DG\8cEãíúJ{\88·\ 3¼´UÈO\8ec³Y]DAÍëâ{Ou\13ã\98¼\11\ f±\8csZç\87¢­ÝÍ}\15F.ÀÓï7V\13Õx\ 6mÖb>\17?ªæ~µæ/êEíß?\96æW!RÊó\1f\83s/1\8e\r\1d\95Í\7f1ÜÜñ|Ǫ¹Ëâ\7f\9féåÔ¶ßt\12Ôæ\ 4jró\17«ÓÊ \ eº9KéßW§§´\8féi\14Uáߺ­ÍÊe*´\91\ePòÎ\91\12Ã;\9bÉaîJç+\16ÙF\1eÏWëg%[Mû\8cÌ[ãÜQZzJ´¼Hª\85Mç¨\9fÈi}+\89dh\93ÓO\9fq_\8a_
\8b\91¶×\15ò6«s×r1\8eâÐ\84÷\15õá¼\8a0\8aãßXéiâ[Þj:\9cô_«?©Ïâfã/äûßç±øÚ\9dNF'ªÔtyè²\8c¯S\9fÃÒMÖüiuªlsö\18|\84ZNÚ:ÙÝF¶në-\rßó¹¼Kj\9b\1c÷¨ÄÎËÂéMª,\9fW7h·\9bêYâg£¼Kµ\7f&N\8a\8eÕ¦ÊíU¿Zn\ 2S}®SÒ\97Á>&ó|\95ÇßÞo½ó&æÏØYXâO·\1cG\8cÇñ[åÕo^[\14DPBöVôoy>\9aÿVÞ¾Ã=]½}ÑbªsüMÑ}¥¿\ ft^³÷âB¡íÿãsü¹©w¥°\97o\8e\8fæÛýü\85ÈQ\90¢O¹í§Ø\82l\9b{cð¢\8eLÖ?å,kV\97Ѷ¯\95gÈ_.Ú½Õ2ÿ¦Û\87ø\1a|Kjû\16ü\e\16÷¶Ü\µ²¶û¼Ï/êßz¹~\12?ß[\1aR­ ¤övÙ\9bÀefþ\1cÔ°fj\9e*¦OèæM7\976dØò1\12êy¸\88å\9fs\18^\9eß[¡ÙJòõ1mujQ\12Ó´¢r\ 5"\v\8aõ\91\82%3(4£ù´d²ô~\ fòö7zóÖR\95Ui¾L¾ÍÝ\1f\89ßóZðô\rü\13ö{:ÿ\83WëÚ××?ck÷xäí­xº!öÖ¼M\10Ç\1a+\f˧Oív_*Âz\9a\v}\1a\9a\9a\98t¢cë3ò\89®\98§\nþÏa¼\8f\8e\1cJ\94¥=Å´ö8Îç.m18ùU\³g¿Ðì<\88øáý{ÙC|TG\85\ fÑÖUÈ\8f\väêD}\8eñÒµ\98]þDò9ïk\14N=Øxr\8aQX´p¿i)s¾²í¸³¾·Ä\88R\1a½=Üò\r]\12\bc\83µ\95¢-"&\95±ºËIE7ýý\17\9fÿ¿Åë;Jß;{=\9añ'\96S\7faaµ÷\96:ê¾^×ÙY`òßn\8a®\98Ñeù\8cYG D¥ÃÓ.u5zJ"\8c\8ez.ÕVØïbÓ4ºî^÷äf­(£Z¿y<\88átþe\11þÉ+\18\93ê:ù¸¦r2§Pß±åê÷R£R\8f-ÜSÜO\1e\ñ*4\9a®\ 6\15>\83u¬Èû9Ì+¾\ 4A\88\ 6²-ÿ\89àêå Xµ¼L䤡&Ê1\8e³gö<í]\96LØË&Ó
\1e\ 3ªóiûî\8a¾4¯\8c"\lr±¤òý»ÜD|EG¯°\14VHæ¶ãÉáp¥&)\91y\vÉH\1a>\15ï-»§¸ïð¢^î*Òì%4\7f\16\95olø]ÎÓ¢»\9e\80ÿ\17ò½ì4Q«ë\ 6ËÌ\88Þ'\8b\89\1cüȵ\ e}\97Ð\89t,ÕÞìü/;+Îob\80\7f½ä¿BûÜ\8düG¬Oc^¬ÉòÀ\ÔØ\vkÑõ²À½Äñ´½/PHfÀ\14÷\1fNVÎýï5\92³\93Üú\ÏJ±M}¼¢ zm\ fïëvñ\11å<\9c¤Þoèyý¯Âò£µïâÊn\18½\9cò\ 3[>£§·z\97q\85³ñ¬¦ÅwtZ9\8aËÂ\9bKxWº®\16\1fº¯\1erUõõ\12ã\19>¿²´{\11;\15\1fV×ù\1f\7f`¯kåK`®·G\1eo\89s\e\ 1adxÙÍ\\¯¯qÜV\94«\13úW\9e\9côf\r.8þy9ïGð¡ò*uór$¼ù<Ü£ç{[\14\1d^­×QPC}E\15\ 6íìøèöâË}\1cctùª{O\87\97z$¾ÞW!G\9ee\13+E[=åá½l§\88R\8b«\8cý*Ñ`q\9c|\r\rþ?¶äfÏܶ>\ 6\93Wµö\17St¹||\ eJnÁ7GÓãàhâI>½4Ý=6>\ 6\8ao\97©ÇÀ\8e¯ããàr³|¿"µlÞTù¼Mß"з\91Seú\91\ eÔ9ú-9\99ÈyÜ.\14YHÆ]N\87Ê˺ \1f\1a&Á½\ e\rõ\\eKH\9f²Ýo+}\8f\7fi7\ e~ûKO\12ï
+ú­ý¤QafU\vñ¥ò"|u0±¯¹x\98=\vLÝþ/Gg7W\98\95\0¡¥\16\a\9cí\9d=¤ò\18kÞÄë®ö³ëkçÏqc¿s(\96\9b\8a®¿Ó÷ñ$\ e_"QÕÝÎ{ïõ\94µ_ötOõOõðh³úô\ÞæU
+gåqµºiq
+Ôjéaæéíõt¬·XºÛ\8c{ÌÞ\96/ÖQ\11Å\89ÇaG¶\18ÙÞç
+Ëu\85\8d­¶½Ç¾\9b\9fµ\9d\8e\97\9fž¹Éæå\ 5\bÛ\9bë\88½/\15´\V\16ÒÃgáÓ»ÝaÜÍÿü~«u\89k¹¾¹Òäñó|mãós¹§y\8b±³Èéy[\1dÍô]÷\83îM\85ÿá\88ÁxåÝ\1eŹÏúcåìåäåòô\8e\7fò\8d§}\ e>\ 5\94¥®\7fÆ\95:æ>l¤×®Æ\8a³Aþw\81[Q6Ê7\9e»ít>»ìO \ 6½g¼½ùRÑ¥ÿ9ý\11£Xµ_\8fu*ÕãÄFts7\98ý6nÿ\1fóé^TñyûÚ\9et{ýéeÐØøµ\7f*Òo\e¯ã4P\16\1fÇ\96\99µÛMßY¥¯áÚ:\9a¬\9cK¬}n\8f±ùØ|\84P\ f\9eß"§\ 3\85\7fO¢ð¯7ß7\9fÃÍÍñí±,¦Â[\9c\v[\19M%Ì\7f\90j#Ó®luOoÝÞbû»\9bü_qqOmÜÕÀ´û~L¤ÚçU\91O\ 3#\v\e\ 2Ûy\14\ 6oçlií%WpO\89åFåÚy{\91u+ý,ÚK@tYÚs¼\94FPF)ær§ßKæÑvªì©þ9\8a7~êû\Ô{RÙ\17
+\1c\89\8fêÊU}Ö\ 4Þ\r/Ù§¼Ê½vmo\1fípås\ eÿQw\89±¢¦âU9Ý\16.\1d¬M\0\16»UÝì<\89uñ=¬ÙzÓYµ½å2n±óÚ\19´\19¢©Àý\8c;Z\9c\ eÊ%\ 4î*Û\ fý»\ f³6Å8\16vu;\v;<KyVc{¿íeî1üZÌc'\94\9e\85LQ1l¾ïM[ßùÑÀî=É#ÆöܾM\9dþ/ééÿ\15;Q2©ø\17\9fæ%\e\80:Îs²\94o­Oj\9a\89\16³k\9eÍjñ³ñ[O:\9d¬WÑÛ\83\10Î\17ÚÄ2\94|lÔH\95\89¹Û\88\9e]ÕK½ì;\88¡\ 5¦\7fÆ\89\ 1;ì¥nk=¾Ê#\81ÿ#ülæØ÷ÙÅÛ\1f}|@&þÒyj=è9\9bú¸ßÝ(\97ÄÙD2ºËk¿\ 26pþÏ6?\e;9ë\ 4ÃÚG\87Zckb\9eh\1eþ"5§o­³ÆÅ\8c\1d\93®­ßÇ   .\8a¦¦Çªçjjl°ýeMM\9e\1e\96¦¦\96\1e\86¦¦=êõÔÇñ\vþú'é?\95­þ\11Nìí\1dnN>W\15±¦åÅ\93\9e­°\8b\87+R­ÌpkÙ%Ó.\85dr\8f\ 3ºÞ²x\973òh\9e}\b£(\17Ò¥÷/â!\15\vm\9e8˧¢ã\15,\8cÝz½Hgþ=,ÉÝy\9bqn·ÜJ'£e!8\93ÇèÄÜ3¥\15\1aóÄztv+ÿÿÆå\ 6r{8`ãO\ n\9ay        ~\8b%òÏà6\985c
+àÓÁð0u[½e<\1dÞó\83DqKÏBã\9ek.\85Ç1\8f2§£r(¸\11ëg¨IööyÞ,µ\97ߢIgüzYt\0\9eÞñ§y2xõL¥½\9e}\9c7sϳ\87ÁËð^·¯\94\1aaOO½\1d¯=ôå\128T»ùâo?ö©Qp'\9c\88\8eD¨üÑ\7ff\95\1fç}ÚþLYý\ 3[.ÝÏEBIâ\84\ 2óxt÷cǯBçx\95üïS\16\9eâD>£\83(\9d\14·ãP\a§*§ÃsÍ3þ\1f\1f\83Wæs=õn£*µ×¼J4­÷\7fýBêýOá¡u~\93ÿ(]_þv_÷BêüÊ\173í³(\Ïüy\94.g«<æ\f{Lª\17\fÊ\173õÓй\9fÚÏÙ8ïJ\85Ìüÿâ¡s>\9f\87Bæyå½_ïP¹\9e\9f\9fBæ~¯ý¨\Ïíþí\v\99þ?ýP¹\9eR¢G\91)ÍÇ\94S[O1çÑ\1cpy¯ÿTÔ?E\11»W\9dÊ\9fnùì]\ fú<~jë¤Îf®¦úw_\97m=;où«h\9ff>,H#ñ(]g÷¥u\9f\89÷øÓ8ïÄûy^?Ƽ}|£s\1eß5sÒ[O>ð}õ¯¡àÿ\867ãó#~ÿ\87U¤üË\19_ñ¥r\ fÒ¡z\9fûÁ\aLA\ 4_\12\b:xßî\85ø_·Ó|>Ãâfº.Çwé¾/iaÁýÞ4mãõ;\8bß\16Ûêçº\ f\8béþ¿îs}\1eÿååP·ÿ\87è\96J\85Áçâ\99\90~\8f5ÔMÿ¯eAÚ¾$]­ÿϨ\ eà\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1ÿ \0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\8d+ñÿ\96v\8b\85'G\a[OP\0\0\ 1\0\0\0\0\0_FVHÿ\8eÿÿH\0\0\0\0\ 1\ 2\0\0\0\0\80\0\0\0\0\0\0\0\0\0\0$VSSÿÿÿÿZþ\0\0\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\8d+ñÿ\96v\8b\85'G\a[OPw\13\9b×þÿÿÿà\1f\0\0\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿVPD RO test string #01\0VPD RO test string #02\0VPD RO test string #03\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÙT\93zh\ 4JD\81Î\vö\17Ø\90ß\0\0\10\0\0\0\0\0_FVHÿ\8eÿÿH\0\93L\0\0\0\ 1\ 1\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0\9e5ëûò\96È@\98\ 5\80¿#-Á?þq\ 5@"\e\vø
+\e\v\ 1\10\0@\0\ 1ù\1a\v\0\10\0@\0\1d¸\85îö±¤ôÀw&L\86H\10ÌZ\v\88\80b\98¦4E\8b\82²8\v\98I\ 3Þ\93¸\90@\18UB4@*\88K\ eô!A@rE:zv­«u~´Zq[jýmµU£ \82H@\92\0\10\0Q\ 4J\80¶¾á\88\0©       \ 1&yç\9dîd\80¶ý[nýwww\9cÝç7w\9cû\9bÎoåßÏ¿«\7f\86õýïk$q¶ã´¡t\9dw_\ 3\aØv=\94ìô9¹¤¾¯ÛÜo\91÷²òø\9a\r\1d\9dÖÓ£Þxÿ\ 2IB*|\96\1f\1ei\1f~D\83%\ 1@ölÍ+iW}\97\97WØzZ\9b4ôÔþ>#°Ú'ìe3Î!mã¥kèGIÜO´\97ÿ?V¥ÿÿÔt)%Þø\8e9ô|tºw·Yi\94\92ó\ 3ÑFhü¹t\92ÔK\17\96\88teë_÷        3I'ïQ\1eU\9d+¯þ\07\7fì\17ð#$\94ëoÿh?X®R¡PûãiÚ\ füË\81\1e\eézÊ~÷¼W¼I'À.j?(\12\v_|ïÀGðºÆlÉz=\88\ 6\7fæ\eÖ×ßÕg\94@X7!\83ðB\8d¯¿ç\87Óå3\19¬\9aIjÛ3 u­}ýV|7ò\15ÍW$\9b\9fûó\85\8c4_\91é\8eãÆýá\84\1fÞ1÷\ 6aGÐ\94b\81ñ¨`lL½\ 3èHüÿ\90\b\90ûÃUVÔ]Ìp©1ܦzó/u4]{Þæ¿hÖ\ f\17¼v\18#\88\1e\92I\1f\17v\8bÞ¾\9cHp\89Ã\1f{#Ǥ\ 1:\80ýÓéÊ\ 5û\97\7fMÜÁj\849ðÛa\19\89¿¸\ 1\14\rÊ<è 
+\ 6hèsA§û¡·R(Ü\98û4pò¢\18\b'\9e¾3]UZê§÷\8e\87±7Ò3g\8d¶gÛUì$\921ÏÆàãSª\1chDz
\ f\83Ù3ìáÈÆ;¬é\1d»n\8f\12\9cF»çí\1ax¹:Q¹yáæh´³\83çå3æü|ÎÏ\98\87.4,ùÎ\8f\9em\9f:1óË3æ`ó\9bîCÍ\e\9by\12\ 3\1fñ¿:IC°\9f\90íY 
+:ïÈп7Æý       %C\ 2·UP\1aj\8e\87\ 4ê=ïÐ"pk»:xcë̹\9c\86 N\99y»?|\ 3v!=3\14h3\ 6r\8fÍ~\11îóÛz)%YP\17\84z\14åA¬\1a\r á+¸ØÖ\ 5>\98iÏ7¬¬*.§Ò\1f¨t\868\102)q\ 3¡´\ f\83Û\1aùé\10Ò/}8Ñ÷@\1a\9eó\97ôKX=/Ü\14Kß1 \ 1¡¶<pìim~\8c)ÑÇÇ\16oÔz\85\8d\16üh\8fyðÿ1QG\1d\9e§æÈ\91X\93¹vè\97û¡íuñ\a$p\8dñZ#\aÕ` I\15áN\8fµÔ\16#çÕ\95ûW©
+(\ 1~\12\94<ÙÆ\9c    J\8cl\9en¤l\8a\rMFã±+Å;7\8bøÞ9\7fEÅãís¯\ e\8f-\9bÄ6o\1eð\88u×7\8e«\9dxÕþë\9bÆI\9böo\18¿\/\1a\ 6\17X4K3EËö
+\8aê4_l(\91\ fÝ=Ym\ eûÞ
+{yb¢tÍ\15\90Ñ~Z\92¢ú=\82¢ýÃEÕ\85á\ e\81\17\bÃ\8fÇ\ 6\9ctüusôf\88·ªý\86\8bÛìX\81ç\ e¬\89ëUV­j\ 4¹;_´<:5å V×\9a­»(+Ñ\ 1\8d|í@@\83Ë\8aU\17QóÐ<s/Ý>sÜ     åÚC£\97LöÊ\1fd\bKZìj·MZ£÷jAN\15<Á¢à\12\8f\88Pø³Do±¢:\9b'*A®ÎÆ1ïØ\96\9a\rvr`\10^\9e\axcöäP´i·Û¨zú&÷\8d\92\1dù 1Á¿-/\ 2¶<Ù\97¿\1a®]¬xÂ\85¡1\9c\90\ 1ÛNpnëUÞQÍfæ\8cp-Oä*(}É âáSÝMW-&\8cÇN\90Ñk§`nbÏ$´Ä\ôºJ»;c\0\v\ar!ýs\98ÿÀðåÓÀîS]$×è\a\12\11üËæ\1f;2ê¾x:\13\vG\9e~,;&xÉ\9f\8ecÛ*èÕm1a¢\8d~lÉ\v\82\ 1«<q-\8f73%\19ë\ 5\9efM\9f\94GQV'^|GVh¹:`öÍåÌÆvuxº!¥\r\8f4fÓôÂ\f\9d°`\1f)\8fELjî\fº>O\0oÓõ\ 3\8bM
+M¼ní$£þPNÍ\f\rÌ|(\15\b!ç¯L\13ë]Â\971çê\13\91Z\9c\8aå\17¼K\ f©ûis.£·'ÃË\9a.¹Ú\8döç\98R\rm?¸h¶\ eO0\18¦°KÚt\8bð\12>¾}á\8f\88\13ó\8a17\ 3Ö#\b\9d\ 2Ú\9fv\ 3gÃê\88\19D\bF\9b«/%\1f?3\14NEL\8fP\9c\ 1Og\11PGèÑDHwF\8cÇÌ
+\1f\15}J\e· \9dÛ\14x0H\8e\9bz\bTEÓ\16ɾÒ4pqï"\87ú1#ºB\1akQÝ
+]AK\94cx¤\13\9dz\8cÇ\92J]Ïn`V\91z2¨´â½\ 3\19ÞD=\90Ýß[²|\9d\81\8fueT­*\8aóÔ\80\82\8dÄã* »\1a.\80\12\96\9a¸ÞVSP\ 14oA$£j<\ 2=Ýøùéü\ 18o}0XRkæÙ"ñ1#1÷@"\14¾ïLÆ.q0ÑÔ×¢BkÏð\0ILû(~\9fØ\v\86ò\1c\8eÜ5¦ÔCà07\92rø6«LXOç\9b\8d\17©JÂ}VÑÉe\9c\18©\a®xµI­M=\8c\9d\85vôǾ8ô\ 4¤\0\92­\8cÆ
+×Ï\13wß«Ù\1a{>õn\8bE\9fð\0ÄÌÆ1ø\13â5 X\155«81úXþò&äH\91a?à\ 6_\98l\8b°z3¢w~yÓ\86êÎ\88\ f  £±þà\1e\8fϹ\0Õh\ 3ÄI\0óW \1c\1ex\ 6¸í³\18À­\9bí¼ñ\1e³Aÿ̶F@,¨¨·ÿÐ&«çr@ï\97Î\10;\91\1fªÑgé\12\8b?\98I[ÐdýÑ\98í§\11\b\ 4¬È\16\95ª5 <\0\16f0ºÁºAø\16Ù£æ\15\8fx%þ\14\96\18uCÿ\9cl\8að¼#\845\87¾xÌÛUÂ\19\87\11CÏE\9fÈ$®\0²\9e\9aVSÛs²\9cpå,8Ç\90\9a\ eñm\9bBz '´\91\ 3\1dÆ;Îe\80ðú\8f2iã;Vêc\86W®[åëëký6ÕòZ\vÞÖ\v~¨õ>á\15uô®ÔnMb\97\7f\99ÍgL½#Â-hÓ`\ 2\§Ý0(Óì\89£pÉg\7fh`>¶        $ o\8d\ 6¿AÚ\ 6\11ÉÝ\bAî¢ù\98\1fµ
+ÍÁ
+;\a\1c\91\fýp\83ê_I|ß\87Ò0]û)\14=}Êw¿±\15ò       \8d4ÆÙËEä\ 3¸unÉ\9fÓ\ 6\84î\8ct\0\81ÞÓç)ѵ`Mè1\ ft\bÜËø/̺ÆD\ 2Úý©\97¡\84\8c\98­ë\ eK\92Ç9\0ç\99¨\0*û÷Ãã
+4\9fI\16\12\ f\vXÚ<ñÐÚ4âäÞ\8b\f«pG\8a\ 6\0ò÷\81ê\81<µè¶áäö\1f§Ñ\87\95\92b²ý»'¬M´_\19e\f4¢ -ª\1eÅ\1e]°ç\84×\8dà©ÍU±T\13¨â¿Ì\16\8d\92åÀ\ f£¸\ 3Á\aýû¼\7fq\ f\1cm\1fɨH\99T\8b¹\16À\93b\7fI\11\8a/-\8cKdìgü·$¦\81LEã®$j:Òje\85¥,\17ÑùYÛ\b\81QÔÖºªïÊ¡\9déâþ Ñ}\8e\ 5«\96.ZM¯ö\11gÉq(-\1c\91´j$Ú\1fÉ´(ÅKí\11mEå¿ë\v\ f\85&Ã0V\17\1c_Ø^ê¼PìÚ\19nñØØê¸M\88\98A3\0±f0¿\8c\ 2\9d\15\ 1;Ô£\8bíÂݤgèÁíã\97Þ5õ0\8cïÆ\87y$tiÍ[)\14oË<\fÑ-+7\9c#\85´\0\ 3åw\ 2¦J\87©-æ\v\86Yã¥F¸äqzAÆ)@\8b.áR\89æLî[p%¼ëpE¯2ÏÓpú\97°qÍ\1ci\1dF\\99²\9aÜ\13nbì<\8d»Z.eÌò7ZE*Ñ\ 3\98u&\97     uZi\1f\805r7B\15\88ã\ 1HÆr6i\15æ\8bÌ\97uáñE\1fl¬4\ 6\1d#:´óüÙ\1a'\f\18\1dCNì?\1fJH~\9fIõh\13Á'ð@æ\80 \8a»\8d/\1eZ\ 4\84v@O\90-\rU!^ì\11K\18   Å0LRf?\14ÕßÂ\B0Z­\13ó7÷\11ééKDC\0\9fziàYh\95'J6ëÔ}ÛI\95«ó\ 5\86S+^\17\ 3H°4\1eU?\9e\8fzÔG'\1coÆÎ\83Ò\ 1l\ 1YmöÅ¿\ 2·±ÝÚ0+CX\82ó®
+×#Ö2Fëâù¢¾­;íA ;¹\ 4LwïÓ?Ã\ f»ÉdkÉ\83±\1fXqám\84°Ü{¤|Ót\81£ðØÅ¹°\r\15lÎ!Õe\89Ðü\8eØwÜ[\13'[é\ 1\ f9pCÅ3Ã/Pô\8dTa#UÞ\19Öw¾\93$/\83Ê\8e¶UÝ\82\96\81\88Rãë×£\18¸'?\vÝ\ 1\83¤-\ 5Þ$³ÇÅHH\9a\80\eY%R`o\11\9aª`Öí.\9cqYð=\99Ô\9dUoÈñgÁ^×\9d\8d\9b;¬üwÁê@,ÀØ£_B:ujZ\19ê      2çùR$'ìÞ\9aÆ\13\83Ì\16  2M£ËØOÒ¶1öv\13ù\14\91Ö\08\8eï\94Z\ez\f½\17\95Ëq\81c\98^_äI(]}¢pyªÁÑh~êB§\9cUª \85·E¡\ 5\85í´Ï\95Âì^\9aÐÜhZ\90Ç{Pº­²\85Sh·ç°qKúIì\1d\80ìøé°lû°Ù÷\89\9f6\eO\9fgiëѲ´\12\ 3 \B$~\1d ºßhKÓË\8e¯\1a\1dXïÊ\ei\a\ eÆeë%\92\97n\8d\ fÛ\1fZ,½\f
\e\94w\94-U·\1a¼\98UÀâF¿\12Ë&óÀ(FwÞ\91Òx\ 3çvgÌ©írw\14ÿ8ùÊW\19\8flOBÃÒï\11\8f\1cêE\95NùVæojÊ\859[s_ìe9\a\ fÓmª\12\0\8dì\86h\1eà\vCb\8eí\eõ\b\as\89ïk(ËEyhÈ\88\80»qn²ípà\1c{éX\11\b«n\8d7\95uF¿\16\ 4\ 5?ܹóõ\95\1e5\95Ï2ä/-CðT\83\86y\9cÀ\93ApêÙÎöhÔø\82:áÀ\19μ\rf\ 5X\ 2÷'Þ£©ñB\9d¿$Ìfd\1a\ eiîoì\93rÒnþèÞ³ãz_7qvÍ=Cq»}L«\ 2\14\fÊË¡÷R ýÔîUp¡æc˨tÜÄ\83d®e62\ 1©à[óÐÞ\81&Êv²><)g\ 2\95úÜ3ÏÎÏC\9c[\84yü$ô<\1aÞðTÂ
+\99Õ¶áâ`ñ\84µ\80c3D\885á¼\16Á§ÃC¡\817lQ\86ñ\19\1cü0\11\19\ 4;\9b\86Áå3ß\16x
+~Ø\98QùVp\8cu\18 #´In\8cZoÄ\a¬y±T^ͦ\ eúQ\82OF/NFõ@½öȽÈ\94Áb¯§n\18'\17\18F ûôâôÁ\90·\16\b`׫×)\ 6\8dÝ<È|¼Î·\17\96\0û\15è\13aN\845àÎéæ\ 3åæqÁ\8e\94}ºk¶'±î÷\ f\10+cÌ\18ý  ¤V\9a\ eánOÍ_V%USd·XOm\a\87PO\96\a\85ì\8cô<>ÅX\ 4r5C\16xε\\e±\9daµÕäþ\9d\0¿Î/øc1Øþâ\1e6\1e:\18è¥4\rð\12B\87\8cií9,p^«\92ùÄk»qDŲ\87øGR§aÅøÞ¨¾\81õ*½\ 1@óQ\8e£®òÆ\11?zúu3óbü`®=\ 3ì¸VølÖßäÖ\98þIc¢\9e©Æ]p>Ôj^£Z*Ý\83_àº7³$\85ãhI\82\92&\1ckéÄõIJoZÌÐz÷U>h\9d\95d\87B\86ý\81¢¡êµ\ 1ó,¯|\1f-\95É\17Î\ 4>oj½*~ÜÑm[-\92\9eÈ`ÖÆ\9bÙ\93¬q\9e\ 6L\14qûAb'\80\14Q*µÊºNª2Ù5*´Ìèv@Ç\86õ;ýjpk]Ud\ 3Vã¼\9eÈNGö\r=\90\9d\8fu\ f\aÑnÐÇ\994\19§UYrD\90½^\ 3m"8\ÆF\f\11½\99P\ 1\80YìÊÖ\7f\18½¤ÁW\8c\13\8bÍ|µ)\8f¦ a\r­É¢¢ÝÓAÞ+\87Pó~g\91)\9bIµý\ 1Zt9\1f\82\13f^ÀôÉ\7f¢,\16»\9ffcÙ\18þä\8a9ÖZqu¤½6\1au\ 4³KcÉùkq×j4à¶uSð\15ßÐgF\ 4\814ÍaU/¬\89c}À\1e¦ØMyø·võ\18°\1a"\1f~\9cXïUÆ\a̲°Ãå²³\85òø>ojô%OÕ'\17\98Ùnò.[\ 6\94~ä0ñ\8e¢¾#\a\1f\14¢ùgñÓ\8b\96\9c\ 3\98Ë=J?h\1fC\ 2/- (ýxZ\ 67A«$Æí_\119\16Õ¹\8eË>À\81ºÉDQu®2ø\87¤ªÎÕÕT)\ 3\16\88
+\1d@E\8d)\rä<¨-áîå\14VÐv¤,9pÒ(\95R\15p\8fØ-Ð\97\8e¬\9b«\18µ4ÐòPû¸}ÖK#Ý\92\18âýèI+uç\1dÌ[n\99^\8c>a\8d4¨S\14\13Ø\9c$yz ì4êÛ\91>¯¥:ô\v\99ë'+\8f#\97¥\86~E  íOï\ 1ÍEå˺ñT\ 3\1c\86\ 3\17\f^6ÒμYÖâdÚ²Óê\18\1f\12p~\87U/\84ì§½\ 2Ú'U=\10Øbêßzc!¦\9dÕÀK\1a\7f¨µE8?#ª\98änuÑ\ fó\8e\86B\8bÀz,CÑ\81æy\96¢y\9d\86\1fÉ\13Ì\ 4û\ 1¹ÅàB\1aÚ@­ò\99­\9d\93Z'Ô9q-\p©Â@
+9Z!*ÚY\11y\92Ϊ\98\1aº¬\ 3ª©±*ãº\14\vε!gÜ\1c\19ê?G, Ô:ÒpÉRú\ 6\94ð *\86\ f\82\92¸\ 4Øííb\1f¡ =\9d        ìS>Õ\14öò]Mu¤\1d\11R\ e9%·¢q\13¤Ã
+2\16¬â+Ô\11·J8À4d\80£Õu\17\99.¬ÒgÃ\82\96©\9eG\ 2\8a\86/1º®"\1f¢\8f/\10øðV\8eí_µ@\ 6\19è\8e\9c\80     Î±ô#cíÜ´\bð9­\b\90Ë«Û\r\993\1f\12ñ3ëÓo´&\17ì\8c»£1AÕ\ 1ëØg2W\b\9e\18P4i\ 1=uBÎ\18zR\ f¦\ f\94E\ f\e\ e"\1cõ;Ç^.\9c´\7f\12ôÌClh(Îë\r\ 6Ì1ã:ÄY\8e>\18æ\aji\15Íe\1f×ZàÛ3\fSøÖqÖ@Ö·U>Èj·8nh[\97j<ôÈ\ e\83­1ýÉ%\13$\95\ 3L\1d\0p1¬íå\1c6`\\99å\16ä÷
+\ 5à\9dÑk\0Pþ¹`
+\1eèf1á¼\96`\9fq$Gê\12\19ã\13I\8c¢\15Eü (\9c8#S±4\15\92\18%:\ 1=uDøvª\bWí¦'¾#7ÈZw¼\8dç      \14ÊW*\8cwO©S?s8\99ûðV6n\10µg\92\87\91\ 3Íù\ 3V$Eµ\96ÎßÙ\8a&+M~1Í^ÐÀ­Pû#î!°g¤`ã
+
+Zâ!Q\99~Ì0*A\vÅêÔ×\9f@ùé\19óà\19§ÀÃÏy\11z-½\f\r\8cEçì¨\ f®\1cY>\99\1eØ¢N.¾\90¢\93ýPIÁ\ 5øò\816xÑ\ e\18W,ûÔ(LQñÈ\9d£\11;\ 1·p\vWvÈ¢ä\85f\ 6Ô¦\ 1¦ÅÛ\b\8eÌh\ f7\8c×%&/\80(pEø~еÑ\r\8c}£.Ñ\1ff}\94CØ2êCùY\1dGL\98¤ÿf\8c\17\82Ô¢8lvÜÀJ°kâ?v1$£åÍU¾W'\ fVLH\9dÄjé9NªY).u\ eC\10û@Çϲg!°·e10\9aɯ0É\8f°ÅL\7ft5ºa\14\81\8e&ßèO\ 3ï\8b\ ep\96óÇq¨Ì{\v\87\88ss\83¹9\11ÜR\8cÆf\86 Ï\9f¤2>ÞÀܨq\8c\9aÆ'§G»hZÐoúÚïèý76³á\9e\19vÁôôØ\10ò\91Zeá\82\100ÏÅ©°û\9c\16«O\86\9d(\ 1¸`*ÈoÃìÁ÷9+tÅ> q¼±\8cIU¹\17
\92,|r/¿0¥\82ùc÷Ùdú\8c\97åªlË|ª\ 5ùê3ü\99P\92\b@\8fÐ\ eÈ\98WI\17]j\8eÜ`.ïþVU\8cRûbëç$Ç\7f2\85\ 1\e\9f#WÉ\947\7fXºð7Ä\1dò\r\a\ eò\86\83ºW\8c\8eìs60S\1f|C\1dª:qÃW\987\7fZ\akd\8e\94¦\1cÙ\v ðkÂýìÜ:J¡Ün\ 1E1ݦÅ\1dª?\r¸°¼\90ÉÈR\ eÁhèè.\ 4¿é\17®IÛ¶\92\8b\80v\0-  2P\1e¹\8cL$|\1f?ÿNÜNÐ4¶\81¤\aCEîÖäíÿæIødw??þIî}\1doÏÿB{>\e\bÉ<\895¼h\9aÞÿÜ\9aö\r&¾ÿMþ      ­×ÍÿbkûbMkñþ²kÿb?ʲGý\87\1c\88ÿvvHÿ\85ò²Gì]´F®à·G½ÛÿÄ\905\a\94H\eYD\80ý\92@G\eü\12\ 2\87\9b¼é\85äÈ\95[\15\18pè=aèª\1c¤³\88¶ÒʹR«d«tî©D9\9d§\16µâqm\92[÷üÂ1\81\1d\81\a¼M|eí\8c³¬\1a@ÙCò\0\8d\8b\84\14\85z\ 4²4\9a\96è}9\13l§I\81#w\9b\7fÄ-¶i\8a¢\86\a\10?­(`|T0$2°Ýöy\96ü0C°\ fÃt\95¿\8bÖó\89±\b\ eÒ×3\9d¼\ 2]©üR\82\ 3\9bü        %#Ç¥(4ó\10$C¬\91 S\ 6Éq:ö\1cåaÁغ©\18¥YX¶ÍÖû&:'©\9e\9c×½\1f\aůl\94[k¢Á\87ѽ4ö1ý<Ñ\9bÑ¿\ f\17¹É\97^Á¥\8cÞº?«@|½ìÇ¢v8¯¢K \10\93\1di\88üØ\e!N\8bx\8fQ­*+SaG\8bk\9bÂ\85Íú?!QÑ=fÌ\8d?>Åz\f\ 1ê*\ 2\8d3ÝÚ°ýæl"ÂxÄ\ 5Õ\b\9e\9c]\98Xf(`nzý÷8[\83²uS¨$\9aù$\fë!ö\ e¹TÈm\9f\8bPð+\10·gÏ\eºµ\ f\b\13rgé±xr\9c\1dÔ\9bövn$\1dvqÊ\87DCíýfÌá­h4\9cÛ*qÕ+%¿\1dNù[úb\1fVq\ 4>-\b\ 4ÇB5!EB\7f\ 6ö¡ì\88?PýÛзͧ£¶\11Ý×\87Ö\93\97¡¨ÆÑÈ\1a\1a\90\7f\8es¡j¾\9ee3üé\9eÚ!øÉ\9fܬ\14c#µæÈ\90Æ.hN4ûÄ~\ 5\9ax\ 3wYt%¢V¢ô è=Kæd\1féßyd\8c¨\ 6]\98\1a¦\94Çù9ÈNUÑÜ\96\7f!Gz?TR\899\r\9c\94\96üÃã#ø\86e\ fWFÌT,\16\90I¿h\861A¤\1a\96`\ 4\98}ê&+ÎÞ#~¨Ù±\83&c\84\ 5N\9e\a`P©ÿ     S^{V¯¸¦¯¨(À¥xô\1a¼\rÅ\89½O\8aSÆ^£ 4ǾÃ\ 3DýŪ4,,Ú\85\8c¤´a\19\83d5Q\9eÑ>òªµX0àì\15ë¡Á°Vô\15*à3\99¨5Ùɨ¶³\vea\9fk\1dÈüvpÏfÌZ\fcÔyÖÀ£\bPÏ´\8f\7f<ýî\ 6Ǩ")µºCuAf\18\b}mC\12\1f AÍðøËÚ=>`î\ 37àÞTz °\12\ 6+\1c\11\81\19ï\1d{\rò°uΪ»¢eqÅm\\96J\14\17Ù.do\fGSîá\8c®¡d«ò\12þïºÖIø0;\17U1Âͬ\1cm=d\86\7fh@v°\19\1eÓï$â´Dï\ 4 Êñµe\8aÜ3\19ÎÇàòYo -\14O
+\ 6²\rÊf\8b\ 4f_N¢zQE\93¿óQÔfÊ-\eÀ<Ð\rÄ\9a¿ji$@æV{\ 2·d\0\ 3\99@\ 3¹ \ 6ëØþ`\a·(\0Õ\ 2¼\1aÒ<©È_ªfJ(\13D=c*\9b\ 3P?Dl\rÝ\1dTFe\b\98¸\9b ¢dQ\13~\84à\7fz\14ÕV\8eªIï64\ f\9f§«\93£Ô\13ÙÛV^\964^Õ'UQK\16Åo\10ç\867ìW\0\90à\86C\ 6áN\97\fwM\ 3+#\1a\90Z\ 2cÙ'\7f÷Ðö\9d£p÷%\e\87¤bkû\87©\94ÛEË_;_«t¬\81lM\v1lgSÀòY!R\10\ 4´ðJ'.\8f^'  ru\0`\89øÉ%\19Éh$Þ\14|åâsãw±|Éy!±ïZ\8cG˦\1c\8e½Ù¢ñ\9b-ÅF\a±j/\1dÄM¿í6n2<rØ.I\98qw\1e\v­wñ\973~<~´Çí\ 5Æ\8fT±|\ 2NµYjÙ\9cܼ\¶½$wÅqî\10f1Ur;\8e\ 2;b÷³G\85LR\19v\0\83Âo\93uÀåmÍå\9b¦qø¼\8fô\8câ+\9b\8c÷é\8eß\17<<xËenà½\93#²,ë,4X \eÜf¼\82\85Vaá\9e\99½\920\14É3T#9f\ 6Ýp\r\ 1ä\14¡oñÀ»ä#NNJß9¬\ e#\82´\16¦º}\16|Å$º\88
+\av\8f\135*~?\1d\19\ 6¸\ 60wëo\7f¨\8fHX\7f÷\8f¾;ÛI*?!÷±*¾%o¦\8bË\97Uàlë\13~UJIA½¹W­4ZÙp_CÚ~\1dËX\9fÒ=CQé¹Ué7I%~Ä@+\9b1Ãéì\83æýNæ=l        \10- q\ f³\16\1ei5Bd®µ\\8bæ\8fb\ 2?å®\8d|Eï²g\86¿Î\91\95ø\9aáÊV\95½\17\9cË<\84¢ä/Q§bß)\9c̪0Ü)\ 6\17ar\1dÀakÂ\99û^\19yÁbÞúXSSùb×N£çð\1aÃ!ØOÒ6uªøo¥oMywÙ¼:ô\94²pü¼\9c>\9aN\1f\86\88§D\14̳Íñ4\ 1ç£×i\19Ç\9d¢ø\ 1Z,¾\80Bî«á\99ÍÞZ\99å7}Ó\r~¹Ú:\ 1¯õþ\81á-Æý!µR¹k{ÓUlyíT(m\1cð\8d\vGE@[âçîÉ-×:ÕdÜÌØÏÝ\84\98³wòá0^Q\94)\93´S¨òÁtH¢\ fVxyø!ö1emq\18ùÒ\93ÿ\96_\91\95\97ºÕw\8efiþ(¹ë²FÖÌ5^µøi\9cæÞ#\87Ìh\r,\90F´|-Q+Ñ\14Nòò\98\8b\93»%\ 2B,J(\ 5\8f>SÿÖaqp»Í*IK\91MpÄÞ¹Òu0P7Ã\14ÊØ77~\920b`\95\93\12¸\99õËM\fí\88?\ 5\1fveï¿ÙÛݧøÖ¾÷\9e=ß³sLÌ\1cøºÐÚÎ`Ä3`ìï\fñC;\1e\14Û\14FkÚôϳ¶½®¹\81åßòÊdÚ:ÉfR'Úv, #¹\18?s°+tvÍ\82¥i\95\18¼Ï\8b\89\9d\0xbCÃGm-,\95*\8e¨vâM\94¤³Õ\ 5ÚÔ?ú   ÜéÒs½\89¼\16\8c\13\ e® \93\ f\9d\80­ôò(Û\1a²Qß`²ù\9e÷0nVðÝ-i¯õßÞ\ fÞ9\92\1dÂþ°.HZ^\1a\87àÀß(Æ\vÍ\ f\19\98ÎÚ¦\7flÌvÏ\11Çï\8b\8a\954ÔÛ¿\88IË÷\82ÂVÄB©â+\86¬0\9dÏ\91C'\91\¬á¬R¦§W)óCu\9a\97|f\fÿæu¡\84ñ\eNø´öu\15ýóL¼\1fj\8ft|Ù\87\9e¨Á\80\94ï{Öa m?Ò\9õÀFeÁõ\ 2A\81¾A'<3{ø&\9dá\8f5\1eòf2\1csOfçV\984ôüàËõ\99\1e#¾ÉoâÏ\14\13\9fÄ>Úsæç£JÏ6?ÊÐ\96¸xú\11\8c\13½W°M\8c\8f-\1elÌRqÇ\8cà¬Û\RÞ,Cô±÷ÂBÈåýÆH\ f³Á\8f
+\1a<ÕÃÜ\bímî^,g7¸*0¹gY\113ß5ÌÇÿ­;dÙù'|6Ç\91\ 3\88f>ð&~ý\v¯´\1e1,1\9e¯Ç´\9fzíWе-\91±.\e¦1Ø\17"`²¿Ùx\10}\büå\15÷\89Q4J_ø\15q\1eÄ0\ 1½úãM\86¸Ä'$â\17ECV¶c\89\8f\15-9\11\8cÙG\ 1®3/À·¸6­\82q|\1a\8f\91\8a\f\8a\1f¨Ø\8dts¯ÓÑ\81\12u\83\9bë\1d\96\13[í \14±l\19 \81ß²bWû°~\99Ð\\802\81\ 1Î\98ßí  Dp¾\86£\9a\8c\84TjÆbHã\ 5\11\9bÕf3¨]5²¤dèÉ<[q®=»/\18UVÔfe].-Hù\8b b1\14UêÁB\1f¨¸TÕÆ^oÎÒ\97+"p\v­Ú9#Â'\8bÔ¤,NuÝx\10@¦Åâ7yb^ÝäÑoâ`®QµË2E\93acCߢå'_R3¿³  â\93\84ry\8c\95Ô\1a-\88lýø\ eà[\98
+¡x\8eȳ%¯Ím\aÅ'\805ü±ö'øñÿ\84\92o\ 4\10\9aé\9e\8fA/\9d\ 1ñì \11\1a\9dýÃ\19¾0}Õa\81ÙÔE·\97\91\\ 4×\9dFL¦WXè' ò³\9d<[ylæ,kÔ\8bnåÕH´ß\16ÝÚ½ô[wªõqmç\15¥úXs¤\12\0¥\12\12Ë\91\ 2Ê\8e\8c3é&ZÆwbÆÕ28D\97\7fpP\87¾#²ã\85bÝáµ²§\ 3i\8a\ 5\e~[7\8f\ 2Ø\ f´Í\ f\83ª\8e¸Ø?k>δÕ\r6LVOò\93J0£bAù\16ÓF\16\9cÄNº\18ð§L»x\8cfaPilai}ÔÏB\92pv
\94\9e¨v´Üõ3Õ\9cú\8d\94\9e¥x«xZ]µ¤ 9\170ý6л=²×\80õz¬¿ªÚ;\82ö\19ø5æÖÊáÿ{`\1eÈ\84ú6Ñ­.É\8e\978\r.['\v³÷]U\ fQJ\83³±W\1c\99ü\ 4¨4¿\1apx\8a§AÙükq­(C&êaúí\91·)\8døçeÏ/\1eeǬQÐ7\88ý#Q\aàÐeÌ\17À¼­`\17\98þ°c\vc\83\14Z\8dH2\15ÇVN     \9ek{Q\81Áb\v?ÖÊfó\1cF\99®P\ 56h\14̹\9e\94\92*\87\8bÓ?±\85Õ\97FY,  \93\ fF   \ 3ÖÉ>öe\13\9eÆ7An\/ÿù#~ È\94ã\97R\ 6Ù\17{f\8fOÊ'ïl\91Íj\^\93Ä)îÛ\15fÇqþ6ij\15þQ&rhõË\8c\8bº\18\1aR¸ª(óÉ\ 3\9c\ 1<ùã1L\b\8b¾ÇÀ\99\8cý¨ðo'³¯\16¾©=\9az³Ã1\8ar\8bïz"\8a\82\8aͲ2\1d\ fM\a÷­·FP±­\83H͸VH£K\9c\8c¯õ\\1c\vH\87àÄ:\13^q\91½5úä7úÃ\ f\94\8c
+ÁÕN\94 \8dR\ 6_`<è\88;5oCÀ>\1e\ fVÍnHX\87¨{v\8418#¸¬\1epr>\+=[86\ 1¹úÉ[\9f>cý\81ãÚAÝ+8£\10\86/óH°Mx\q\8c>\1fv§Ã=\86ºGľ\18\94ð×7È<%X;¥½¸\8b÷i&¾\rò>ß)\9e\16Ì\94æÜ§!¥â\7fÃ\89\ e\85\ fÂ\17G\86e9s\a]i\86\v@ä<äîT\94Ù:õ~D×\ 4\11Â)(\96\ 1ç0#~<W\e"ÄEà\1fù\8aáÇNF.ÿ/\bÐïôÅÜ\9c\17\ 1\8c¿\82\ 6)w\8fÐ\8f\ 6\94Ã\16\15vá¨éů\ 4hY­\18W\83$\0G\83iýb÷\º6E¦ãñ\0S_þ£x½ù\80´&\18¨3 H\96\8a1ÔAÎ\89ÍÙÇ»'=ß¿Î7\ 5)Ä?K\12\ f¾·\18\84\19Ü#,­\0µtG+\93"DpÖ'\13\ 5\8fx\ 5:Z\9a{îNg.\86^íÌ\1d\ 38\1eƽo\8d\e1\82÷\ 6ß9Ò\18÷o\9a\11Ó;\95É]øÅOì`\7f·\16fP¨-c¨y¿\ 3ó¤\95\88òC\9a\8cÞõ$l­¤µR.7»\16\97ÞJ\87ÈÉâ\16îF5VÅÕLùp\96÷.ª{0ð¡\1e]w\Sï¦Sö¤ì´\vH\12\13\16\976*ôEÑ\9eF\86D©òËË\ f\87óÈ\91ê¶\14Ð?äÉ;çU;\ 1à\19R\89\982WH³\90£3Èa\rçª\90µ\v\18©ÔLÁ\93É\ e\r;x\bÇ\16Ë\91\82¥.¨NïÃ'ü\1c§ `\88j\16.¶Ew\86?Y)Ä?¥fhV\83ç\92\vTD3\1d´#XÌS}Ì®LËøNT_+8¢ù\99Ô{ù!Ò\8c¨õ\80ñîÁ\bo\11n4,cÞ¦Â\8f\9f\95~\8b\99%G\8eJ\8c£ÑhÑ\1d\10ã5[ê\89\81)Èófª´\1e\98\r\9a?\8fT]~¾|¦»\85\99JCFK"N;ØP>zÙ\19[y[>×`mz7j/       â\80\9bK\98±å'H\9d\e\8fÆ:¦/¦£ïÎ\8e\8d@\19\af`\ 3\15\ 4í2ÎbU|Nª|Va3\8fO?\19¡(­f?d\8d^D\98í\88É\14\ eå=\18jïÅÌñmdx~Ètá\99\ fx\ 1àO=I[ð©mþ\95³í\ e\13B·C¢Ï6\90\aeíIX¼{Â\87³&²=±+n\89©È²6\ 3\ eQ|Á6\7fi\9eû&\8bÍm\9cé\88&4\8d©\8fÜ9.\9dU\8bµ\ ftGë)\91\FË|j/\0X:ã\8c      0J$]|ç:5\97ûô¼4¥øh\18\16\83\14\8e`\vkNF\ 3Õè¡\82\ f\0Áº1#\91\ 1¯3Ó\8cß\81;gº³E·m\9cêLS\98¤Y\95Ôn\ 5,\88÷Q\ñ\8bjx­\96á3Ó\88\7f(\a\86\ 1ÂP+T\19r\8bË\18ø±æ\97L\8cRx;\85eÌÆ\1aÖ½\9eRZ\8bËIä\99_ÂÚ\ 4¦3\8a\87è2Ú׿
+{ª\87\86\83\1d7\86^i3Ö\91íôé3\91ìC&\ f\17\83\94GÀ&xO\139\90Y\93\8d\90í\90òY全\aÄ.IÄ7\83\8c)\ 6µm¼\r\89\8f]^3§cÚ}}o±ä\13¡\99\9cNy3\14\95@U·;\88½¦%o¸ééÆB»Áà)=g\9d\12\1a>1\97£!Æ\fAX<ŧEà»4t\9c\81\87­@<'²OUÞá\8b!\1f\87«Ä-\8c\ e\f\87\ 3Ç\89\9b\93F\8fi\9eB"»!QÍÔÇÅ\ 6\9ct\ 6_¸~\8d%ÄÈOçÖz¸\19îM"\12qg\8b\8dïã\97\eÝ\98oü:\ 3ò3\97\802îxñ4]\7f'\18\933i\94(ôÂ\ fÀ\90\86á\9cC=\85\b\1fö<y\11ø1äA`ÌÅó\12]h\1e"¯ÄuÚ¢ÿÇ\92:\8aA¿1\1cek8,wÂý#«\9eAC=\ f\væÛ\9a\ 3íÐ<<ÞijDqྱäµÐ\e\r'\91º\14\8e÷ f®G\b!@ö±¤ì\93w&L\93\0\90Ì\0\83\80\101H\96V\11"`[0À    \92dgý\87`@\8b¨ª¢ \965\15\9e\86a!AH\19"=:õ\ej©m·\96ÚÛVÚú¥åt`ª\99\bI$@\0\ 5B\11@(©üq\10\15\ 1\9f}÷ýÌ\92A«êÝ­õöï9»ÍÞl\0îÖË#\8d4Þx       T5\15\96'\aj×éé`pE\8dlÐ^øu\ 6­i\17nÛj\ e\ 2`\8c\a¡\8f\98\18¡F\7fLeºÑÄy\95ÍKßo\19ênÞ£S
+3*F×c#2ù\85ØÛ8¢°\85Ã"Õø´_:-JÀ\8a\8b¬¶\7fÇ\11jB\88:V\15d;_Eèõ)òå°Ð\9fDuW\80ó^p\1fè®ý\18~ÒWx\97\87\99\14\9fö価²ó%L¨:dý\97¢3Ü[ÆûL\12÷¥5u»1
+\84\15\84x¶Ü¼Â\98¡õ\1eØd\vb½Úï9D99\1dBä´\\9c\8e\83AÊ$Ú¯¨d:Á\ 2ÿ°ä'äF&äG{\9fa\93\14ÇîM\ 4ñå\82#êòb\99\9c´:\a\17\aóJ/â\10\b§«\9a8Fß\97\9a+ÑcZÿ¦\92\ 4\0\8fB\15O\9cN#õ\ 1\8a\1eA î¢\19ß\9c\\9d/\826ã6\9aÑü\91&ͯC»\87Úf\1f¬\8duè°çÓ0"¤Ç >Ë$Aôyê<ãj~Ƚ\16×\96Lv£ç3ý\89(f\ 6      G\9c\7f\ 6HY\90\ 59ÏMYô\85\11ZÓë\85÷\82
+òî\8f\ f\94Ä\88ÿ\ 1\7fÛ\v\9du
+\1e\1aòîº@hç#n[$³\7ff\fá\86^Y<\9fà\8e\9b\14yÿp²å4µ(\0\9f¸G Ã|\8eGEÎ\Ëa\ 2×\ 1\13<\92²\7fÕ\96¹}¥?Æed·æ\88Ìyw\ 2Å9@]ü}t\ 6\86\83-\\91t¶4ü\8fë± \80}t\8aÝÅCgo\14²·\9a\80YéÆõ\84O·-5ç¼Ú!,\9e7®¼¥\95A\ 2\9føÅb?¨&\96\b\ eÈXY\12¸¥©Âˬ\8b¤\86\ 6\1c|\96hýßN0%hÂ<³1Âö|µ\ 4\ 6Y2 ¶\aW\10ñÃtÓJE¤DIÂ\80¬²Â\7fæ\f'¦Ïå\1dPã¡\97Ù\8a1ß9PP\1d\7f]\81\b\14H(æ\b{\9e¼6¸A\88ÐW\86¦c¥R\11Q\8bê¥Ñ1Ã
+\16\1d{\ 6÷å=½)d\18ù&\1eEP\98\87Ì\ 5K8Ä        ¡r*£ÿú\8bwÐEEG\ eÄ_\82y¬!ÂlJ\87B\ví!¢\88ìlЫ¥¤¹b^ÃÊè CÉ    \v\v\ryʧޢ×ïÎPý ¹/-´\99Å\16ÂðÔ_2ÈËo§Çl2Ö\94O6Ú@¶\98ýÓçs\8e4²/\81t\ 6[x\9b=ºo6Ôüs<à¿Â\8743\7f\1fÃQ\.þ5\1aµ¨w4þ|þGÝul,õ\1d\87\94é{Eç\99\v\84Ëcøb¤Ü­\12Ö\ 5\88\9dyi\93Ç\ 6$øiFâÎlYDëÚ϶Øû¡Ì'^Ï\9b\86Ñ\ eÀYð\fð)j\7f8i=xë\1f\9bÆ$\94ý_ºG@\1cÑ\ 5A\82\9fH´ìH½ªð\19D\7fïÝæoç\12\85ƼOâ \vÂ\91\96¿80ù¶39ñ\1d\8ciºf\8ciøÈÆ\9bü     ÷ÑyN\19\8eÖÑÎë\97Ëè\99Q-ð\86.ÛV\b P[w\8e=2ý¨Z\938r¦^\8eh[#É\=rÝû4ÙóÈ|߯\ 3\92M|«àp\8fLT´H\12.­­ý2ÊB76ø\9dZ6>\91t\ 2hÓv0£Â\8e p'\978©ç\13\ f.\86Êwøs%SË\bBÎCü\1a\83¥\89Ü}\8bü"lö©¼°\ 4\e\87\ 6\85Xÿ\8a\89\9fÂÇ\84nh\96ĨòÚ\aª~?\1c\84\83\89>êà(FÕmÇÄÁ\f²T+b\83Ý\11ϼLÝn\91\r\1f\1cülXöø/O#l\16\13­ã\88\>è0å%,\9bÍ»üÂ\8c\ 6·|¾m\90\9e\83\16ಪ;\9cnL²\1a\8d\8fÝ\v-öÛ\eg­§íXn+Â\1dºï6ð7\a\9f
+B®Ùµ]"*\1e@Y³j¿Ò\95Ý\99ç¦I´©hÀ\10¬\81à\8d\15¯\15-DóÛ~ýz\86TKÏ\ 6\a\1a¦òÍþz(ts;zÞ\ 4èYÓWùQJ\94GøC-\9cpg}u\82\833±3Ë*~XêÒ\ f\19\v\90è\abÀ<çÜ#3èÆ¡ÇÊ,àl\18Þçã\8b\f7'×{èÍZ0\93 ü}]³ýHé×#NVέ\ 6°\9d\1d\91aÌÂ\ 6S\94`+\19\96à(´(wã-Ã@Ä!¡uè\7f»\12\8d¸¬@2½\92½¦Ú\ e¬\D^\9d\10
+\12q»ìEì-*Y§\12É\88\bnàü\1cJ\ 6\93\90\84(\964O>m$\9c\\ 2\10Ôáã\8dÝ[\ 2À#iü½Òç\er§ßÄÅ\83 MÿÀ;2pöÃ`º2* 4÷[n\80vgûÞó\189ûåb\ 3\ 1ÏÏs2ÁÚ.¸I\1f×\8dK\98ºFª7"¢Ù1ö\1c«pÉ\18ºA¤>\eÞ\8aÇ/\17\ fí\19~òhwØC\96¸ \vÛÄ\9e?Þ (n#0ÁÏ\88\81ïéî\8f\170g\9d\b\eòmÁÂ\81`{_u        \9as\19h\94cyÙèÂ\ fÐY\8c<¹Ü®â\9d$\87MôRAÐú¿J«Éפ\7fÅFÃ\81\ 6\9fÂ\9d\8bµjb\ 3\12\87\90Uæl¥­Ü\1dÔ\98\8fË\87[ÝS£E\9dõ$°wkÉ**\8a\9b3;CÑ\91cMD´ÚOã¢B*\96e\8a\95¹9ù\97¯\10ÿô\85¾Iv\98/!$\81x\8dÃ\1fîA\ 5®\ 4R9Úç\18}(E\98\ 5÷ \8dÌÚ     Lã-´"Xm¼\8aãW\1eHÌìÂ\9fïJ\aå)ä÷DjûgÝ\10$\9e!lt\93ý=а×iø\11þï;¢Ø=,_éK\ eü\9d\80ÜhKQX\82\90\1cº\89^hpÏä\16»v\9eÖ\84P±+d_é=\81\197\94ºï\8b»üz\16\ 1Ì4\9a";òª\95m+Õxã       \7fä\93     É¨Ö\86\8b$^Q@®\ f¬ä\ 2\ 2-\fò»Q~\15\91M\9a\rpaN¹\16B\87\82mØP`\8eÃ4\1d\90\86\17Iö·à2Ö¯ðF[T\82\ 2yƬ^
+Í?X\81º]a\1d\9a'4àéÚ¤Ú¯²d\83ÁuL        7\9c,1 è{\93ê¾F1É\86dNr\1dê%§\exE\ 5\83[Äc³/4ñØÏ\14\95ÑðPØìö\89\12\9c]¿\96\9bmáyl\b:×ßwdTû\vñ\8f\a¤\ fìÛ£E6\88´CÅVlû¡[Ëú\a\\85\16\9ej
+\1fû02
+,§ÙkýiA¢Æ\93?æ:2\17\1a\82N&ÔÐl\1c\89\8aÇ\1a\1fðtÌ4
+\1f"Õö¤ÅE\1açQϧ.}\91\9e\ f»jïÌsê£só½1\e`j~§.\8f\82\8bÏ\b§=haÈïK1px\f#\93\12eÌå\87ç\eÒ\10~°ò\8f\81*\r\ fÝ\ 2\94ÁO\82\ 4d\8c·á+\vÃãJ\972*î6\18º«¿\1fÞá\90¬_\¿èGøÀ;Xc\91õ¼?cqéü.\84Vx·Û\90\87Ø*ª\%\ 3\ 2&n,Ï®è\14\10\83Fg\8d\e\10=\83+æ£Y¬GîÊ\ 4i°'\8d\9aìpãv\rjQ\90\11vÙ¹E ì"\9b!³?c\99,Ââ
+\ fÇøa%\19\fõ­¿ê    \ 5ô¿\vå¢\14î\8du·®<ò\83è/Á!\b\ 5\89\18Èê.-mÌ@Cß\ 2\1cp¦æÚ¦þ\83T?·\9f\8aò\b]·2Þ½½R\ 4-uä\r[h0á\90TÔG7{NÜ\16\95Ûí×oµ¼S-ÁM\7f\frëé\12«Å\88\9dÉÿ\9ed\98~U\v¦%\7f;QÌ*ºÄ\89°{Nq\ 1fò¸\8cX±@v¼?\91\90\88 Ö\f8ÕîÏCá$\96ËÔÀ\90\98ë'òú'\95Ïñµ^¡
+\8fIýÿd t\83Ãmv    ^ßù\8bgL\8dÀ-\ e\ax¶±À}rÂISK$>\8aÏ\"\85áÈ\99bø-å\11\90~ep¥Rµ     Q\84jëy%\17×q\v7\11íuºÎÐ:;\8e\ 2\8aë\a\15X\9bH<Xãé±\8c@«'Çɶ,¡éª¶cÓ$ýÁ\9dùüF\ fôG^Â}\16ò\9c\17ºë\86\85*¬Ìü¡ðF\13¦UÏÀ        ËÚ\ e<Á\özL1\91Yݰ§·öH\98j8ªùè³\92ò¤{Q\97£\88eß2\ 5Ãk\8b$\9cÍé±»³*ű´W¼¾·\11Iq6Ûëß-ç\12\ 3ýQ¶Ç°}æMªü2\e¿³\14\9cI@ðX¹"¸v\9a'\96\104a\Q\8bz\8e¦X¼Iº\r(\89³\98¹\r\9f«¸\1d5~W\8dwäÇÈc\væ\8e´s·q\83-\13C°nq\8d\83aÿÒ\1aøªð¥ö¤D[Ò\96ä}Z\12õR\99\96 0T\ 3\85eµØ¢5R\8b¸\12\1eKg[æ\96Rý4\86\8a+P\11\88¹pô\81õ'ºÝ¾\8a,\vö¤0ô\v?û½+\eo\14Á.L²\1e\8b«cÑ}Î}Ù\84D6 Ö\\95ÉP9\8be
\ac\90ÙM*\8bë\11\ 4\8a\93îÑçûO\82ï¾ß\96ì\86:     J²¦/kßFï\9e£\15\80&\0DM\ eLØé¼dtÜB\18S®%v«AJ\1c\12óesmÃíL¶°qÞ­\ 5JÚÇÅðÔOÖr\1f÷°n¤ R¡ðV{¨+Ìa9\8dªÝ\95-\9b¥2¡\82­qq\96 ¦AK¶>È¿\92$\97\17 j\82J^R>Ò\7f\93¯ åNO½ëz[m¯ñ¬Ý\93¨V÷]\ 4     ¯D9¯ÃRY¯Kp-0\97ñ\1fNuÈLA¦|s\9aÛª!\17QæÇ0Ì«ó\96Ú\1f\þJ\19B6«ñc\90r'vÁÊHLA\84N\95ä\14Z\8cuéB¾,Ìe·Ó\9aÝÒ4\rñ^#WDh\1d¸ÂZ¤]D··,aÛi\9a\89\96\84\ 6\16i7J\85\82Í\b\98y\85\90:\1e\89\17VtAñ+q\11¨£¿he½È{\r\90\91n?^æ3\19\eØpfñ\94h9¢ ê{ÂÓ>\8fO;ïu\19\rÃ\14\18°é\8b\1c1h\14É\aLMe#£ÐÓ÷b4ü \9b4\13dsfÊ\82\\8b¶*\19\17Y\1eþ\7f\14{¥j\ 3%\9e\81\1dÏ\ ea\8brè½|B\1daµ4\1f0~\0\91ÌØè\ 3ð\8bR.m¬û¨Bê1#Úñ®ñ¹b\88:rE\14\ 2õ%®Já¼B\1d?­ñ\bßÿ\86Y\9b«\96å0É.\8d\9f+¨Cr\a'ðîá\1fy\vÆÎ¯8\ fï,|nC>>OÙ\ 6\13Ð\91©\by¡à_îø\ fn,£\87{ bq~Â]\11%Nû$Bù\a)²ê/@>\9dè\8e¯+\86\91CrTÈ\8e3\93VB¨\8d¬_É\9eaçp(¿\9cqnãè\ e-àú\85ꣻ±·\8f´;ï\9a$Dàã\92·A½ÎA\9b\eÜ·ö:\17¦\94\aFEj4dS^m\94¯`²\9d-Þâ}ìÿ\87Hq\88×\8a¹(\95¤à&¬öî.å\80ûÙ\87ì áÖ\9fÕ@\85*Zö(6\ f\85\85ÌQ²uh©Aú*ÊÝÄ´\8cfTlQß¡\1f;8µÈ|á^\16Ù­?m\16\9eúÀq d0±«ÁÆzr\bEd\8d-\r«2\ 4½Ú¡I\ eÈW¸+½Ã¡|?:ñÛ\ e\8e!\1a\ 4öÊeÑlÚ\95Ç\97ùd\13¤\93õ\82ì\16\8bq\ fÌÅ\16\99xLi\97½Ê\rtP¿­<]\rÞ\86Ø\18ã-H\19\ eÜXÏ8e\12\91Ì]ò[²%C\ 4llÿ¨\88\9c\15Z\7fÞ[³\96,\95åä\89è"\8aÌþQÁ\97ÉÃ'\92à»\8aÈ\8fÃ1(Ô
+¨`ù\1a\89Ã\128Pî\88gë9!¿_-\1a\ 1\16ôØÔÄ\18j\83§o\7f\80ZhöÇ\8e\16_Õð?I±\8dØ\17\7f¨1ÛN.\80·Ù\88t[s;ÏRéz¡y\999L>¾¾\16Dý ÁpP\1dEhu\10
+K²pg\99êZ~\aþ¡äÆXÔÁAö`\84Íà)rAÔ({ÿù\ 3þ\1e\ 6¢Ü_êùë.\8dA\19F<\9a¦\98k­&\9d× ËQ\88\85+v1|\8f
+>G&^G`\8f#µ.¹A·|\19z²ò]\99\95\7ffÞß\8c\10Á\94I?s¹\14U\87!g´¦\98¯QxðG\83Új\15ä·T+õÖn\13®â3>Ã0\92Vÿ¨®"âùå
+\ f\9b\18<\1aø®ÌÕÜffykO\9f6ªº¨\95ï'û;\91\ f¯\89\8c\9b\8bÝ\81ÝÀy·kÜ\941\ 2\99'øáõRbWº>c0T¹AöÖN\98ü\9bñXLÑAúêi\98\16¦«÷\8dþFÚ\98÷\81Ê\94\1eTIÁõ+øÖZ¯ÚC\81¿È\1d\eÒ9úi±\10k$%Ü\8fÚo\18 áÃ\16\9d\1fÔU9à{\11spýÐy\84Ð.ä;Ëù\9ezïñ\ 2W\ 5Go\\bâ\89ét/\94\9aT|\ 6_2äÿÓ/}\18§ú¶Éܱ\88Ð_õ8¹;ïD\83\r)ùÛÑ\ 3Ü\18\97ul\7f·¾\1f\ 1"f\99%ó3GÆaã\fs\962ô@\9aj6è\18÷ß\19S\aÚ\8alÊÒµ\16X\aïÃÀ\8féoE-\11\94=Ylÿ\ 4eq\88\88ýÇ\7fæ#÷þ1\7f\16(¨û£è·¬oúô.ðc|û\9cøýíØ¨ýÑú\8dò\ 6\89\v[£ßã[\15O{wÒê\10î2ùö\9ehËg¦\83Ûܨ¯o6$\8f\8fâ\90]ù^\9b·\1dý\15ê++'Û°
+Ïk¼»\17\144{\9f\86$Cù{Ä\ e¶ä\8eí»cþ\8dçþÂn0Býy=\a\"ÙÜ\r¾Jî\88\16\94\9d\18ð·î/o\9aðfúòsCÏóÇ\9eÊWò£²ù©\ 3\85\v*B¨\85\12~õ!F-|\11滣oP\18\94\93îÃè}®ä¡t|\8aF\a¬[÷áC\96é=R\1c½ï\ 3©ó)
+\e}ú)\11\12ÍzÞ¡«\rv>3j¶\82«[}\1eU\82\99\7fHÄö\ egÚ6«&4è DÚ³É\110<ØæÚÅÈ\96gp×\18Ú\ e­\1aìh\aÏxBÂî\ f§¯-ÎØS.L&\8fò¼$ãkÐncË`Ý\a\96)øH\14        \92\83\11\94    \13+ü     \81\9f\98ZÒ6Æga\15K\1dI\ 2Éä@/\7fí\87ß÷\ 5ïþÎt>oúa+wÿÌWüì ×\93òG¾\99\11°¹"¬¹Púã-\96¦\13\9f®ê\eÔv\ 3\81\9c£Ä\15w2úá\84B\9e\87p8­Ï¸¢\f\94ã\94e\9fn]P'T?V\93Ûö¡F}\82ñÄuÝáEYdñCTñò\84\10\ 3ò±÷ùØ)[ùÂÆÆ4=ïWÚ\95ÞP\ 5\bõ|æ/d2\ 5\84iç­ÜÞ\11\vÿ\19\83t0¢Í\17p*Ò¡\83-\8dJ\86\ e\87\1aÕ)Õu\18Öô+¿Æ¸õPZ¿rz\1c Ö¶-È \17ÄmUyD\9dbY\e\9aŤ\95=pÅ\87õ?è8u¼\8eP°÷ý\9dF\a\83-´|µÓØ<@^õ\93ù\ 5è\1a§1\bËèã\9c¨·ÌP\8eTë¾)\15\15ô\11¥\19k\83åKtß\10E²Èº\85o\8a%{ðÓ\83ÑsO2ne\82\1aêo̵\83o#h-t\9eÖ\96¹Æ{·¡uÛkù#þßÒ*2ÄÌá&»í«\82\87\egíݤ\94æRɵX\8eæ{ê\8fxGãþ¢ZÀêßÈ_\vý8¸M'é+öÌ\89Ì¿\1aEE¹J/\95ÀCr\v\rë\1aÎÙGõ\94Ú*y©Õ_õ\91ââ\ f\9f»¨Ï\9dDó¡¥¶\10\9aðkê\82Ö[¦óqO`;
+\90Ò[F0\12´\0A3;\84Öí>W\ 6\83\r©\ f\ 3´\9bD[vZÉ\9d5.\86i^ò=òºv \91õôî,\9f8¹¦\7fÜhÕѸç¦ËF\18Π£='\15\1fV\8dý\ 5­e¥N&\ f;\ 3àQ\vzuäèE
+}Ü"¾ÖuÐõ#\1f\87 ^s=¸\7f¡à\1dëîA Ïñ¤êîÂ\a\1e§d0ÑÃá:7l×C/\ f\8cÐâ\f÷*h=»T\84yh)¿G¤~eóÎ=h¦E¸ßn)\91o\88pÌ¿\94â9\0
+ú$\19¶ËÿÌöàÝ`P±U­u\ruWBi\9bÁh'\94¯YòçD\ fq óxz[Ý\vÙP÷?Û×\87\9eß°\88\ eÃÆ\ 58\a\8cu¥½&Dü"î1>e±¶Q\96\e\89\84P\84úï¡\9fïÕlkö'Õ<\e³¾e¡Õ\v\17\r<~«Q\8c\81î¼Ôc9ð8BØ\8b;Ñ&ú\ 2>\9a¹þÜßf¤¯>¸ò$aó\ ene\921Ù¼,tòd\8cÏ\7fn0\ 4¥g£Ã\e\b;À¥\8b\8d\98â\11W\87þbU\9bUÆK\95\12\8d«\ 41\80W\13î­?\93#/@É5·\8fQ\ eÆ®âH½ÊZ?ÿe\17\8fo\ f\vªÊâ\ 6\80m±´MmÛÖÓö\8a3\84'â8æ\83
+©7\9bÚ}ðõ\8f\81\ 2i­\jî<\89\97ÇÈÃÃ\ 5tÍ©ñ$k~ÀÌù(¦Óyði}ãA²\ eãiOíE\81s\9f\95$Nñ\1f;Í7ð1
+;Í5\80
+\1añG\0gµÉ¡\11\1f»£ý´Ñ°Zóë-vàøv*.í\10ªÃÊ^È\80\ 2ý?\90*VÜØ"U\ fì\1f\9bì\17J%_j1á3çGÁ è\1a¥U§p\88Ù\98\9f=ýj\a\90Ðdâ£ûë$÷ë"\1estM\81-LórÛWú\12@ðÿeµ_\90^%\lm\8a\aCj«ÆèÍ\80á ï"ÖgÇ\95E)*KïÜ(¼¦\12\90`)È\83Ðð!ÎAûØY\11;Õ:äÎû'\1aI\93<¯Q|ÜC6\9e¯O\99¼4HJclè¦,Æè&'\&\bõy_O"£ËDÛP\ 6\180axÐ=:)\8aôÙÙ\9a³rfÓû\80ðøqß]·ô\86Õ¹\11=ña#nS[\96P\91¾
+5M_iÐí\ 6ôv\7fÀ·DÒР\9fD¦|>  Åx\ 1U\ f\17\aM4Éü\80\7fYÀle\9eË¢ \17\ 1\99\r§-d^àì¦\915\94\84ÒHz)Û\8e¡)\v"\94F\9fì\15ô´å\v¿5òZ\91:R¢ù>.q\r«EY³I¼±\81ò\99Ü\ 4´\8d\8déÆl#ù\90Ê\16ø?ú¤¥â*\14è\98qeµùÁÆ7Eµ_û\8dÎz\91|Ýj\f)]p\8f\ e \ 5´Ï\ 6k(%ÃþÜ\8e}ÌfÜ\1a%qê\1d$\94\17\92!Æq\ 3í\f^6MZ\10ï4ÍÒ\7f\8a\17=:\1\84S{º\a\14òAñå\aÅÍDr¸H\9b@Ä,Ô\1en\aQ¾X*\ eÂh\88U®Ó´¡\1cVR93;J¬­\9aOäSÀ{\ 5÷[0
+[\9a\1f'¬îX'EF\1eyòO\96:>\11ÿ<ºmVL,ýh²q\9b¿M\83©+\83Ô\85ÁÔ\ f£§\8dÚ\88ò\ eð>`\9a=\ 3t\90}ô½\94=fc6Ü}wñdF XÁþ\1d\98û!X\18$\81Yç#I@i\a\1a\94<ARøTRö)ÌX\9b\99ÀÄÂ\83
+H,ì<Ð<}B25\98\1f"¬ÿh¾|êØùá6\9e·î\17õ¾è¿;\93\16)òRÆV\ 2Q\8c\84Åß­\14\92\918¹Óu\10é\v\18\17\92©\85\ 3\ 3B;¥ódØÛd?ç\9e»þÍíi%v6&\rXöiû\98:l-ùü°\7foïñk=p\98+\93\fDB¢B\1f\9e%\18¡\7f+\ eÄÿÃ\9d\8e\1e\fÛ8ÄF<o¤ß·ù4ß\11§ì,ûÊâól:\v\16C\ f\96⨼Î\08PÇfh\93\80|ï¸Å@\983¾în\aRe³\92æ^u\90é&\902Úg".ï­d1a\ 1Üãñ\9f\ e\1e\ 4\9bÏr\0Y\9bJ*B÷¯k¯D\ f¢»\89 k(öýï{ÜSX¾ná'Êè[â\8c®¡»\93*ý¸ÆJ\e\8c\ 5;FÜdHmÚ\9f­\19\ e\14F\924\88H?úb®I\r?«æ\11ým\14ðÖÙlø\7f¡ø0tá\81è
+-<á8714\9dá@Ë¢Ä\97¤E\17!\84h¿q\92qÀ0\99¦\8dsñöSÓCkê`,Ñ\ 2\ 3\19\19*Í>\aä\9byÁÅ\Ù«XÄÝH$<\8c]\9fÂe\14ÌkjÍ4h³ikpÆù\88*çý¶\7fè.A\1cÄaFÖ\fI:\8e\99Eðº\90Å¿\9dÖ¤\95\13
+Ò[Ã<µÒ`\83À;\84ÉOæyÀ3j\v7ËY\1eÙ\ 1î\86\rϹ|8\ 4öE\v\fqpÇß\10¶kÎWïºú#æ_ße\9d\12Ökrß\vÿ+H\83\19\f{\18\90\vá\16ÆOR\7f\v$Ezæÿâ@'\17gÖØ3\0\7fûue²Aê5\7f\16´eèY\9fYwJ¾ÙÎ%\1a\f\95å\ em,\99\8e\r\8eë«-9ó\85\ 2æá\85õýéô.\1aÿÕ\94n\1eæò¸u
+\1f/¤2Í\83Þ^¨Á³\9bVoKpf[Ì\1fª\ 3\9e*ÓË£\11k\7fÄ«É\9cYbû'\132\1e\8bÇ$ôâ\bÒ%¡C×$ûê2\13K eÅÿà¿O¤>®d·ýÒ\10+\9d²uÜi\aµ£éiÁÐÌ5I5ð³\aü\98ñ\8e°8d\14
+j\1e\10\93L\88È{·®\vyh\94ó8è\f\87\80\vÉý÷ø¾d¼ËåÍ\97 }Ä>\ 5äæÊ5Ü\1e{ïfï¶\98\ 6\e{oîØ\1e)¤ta¥\88'\8eâ\8b@sâ\ 6¡^IÂ\8b÷\ 3»éµ[QÖa̯'\9fõ\9cá¾'\96­µ\9f\18\8cÞyí¶\83jÈ·\17ÛP\8fû-£ñ\845\8c\9f¼@Å\9a\8fI     µ]i<÷©¹3¼û\9a\89\0þË\8f²\ f.\ 1Ë ò\86\85w÷%Í ì1I­ò\99´íD»«H<Ù\16Þ=s¨O`ô$[y\10\9dY¶¬ï\83¨¬ÞÔÏ\ 2¬|\f¸y>t\15@\9bÏ˺ñ¿\9aISÌ\8fÇ^\1f\1a\8cjkUî¿@ɸÞ\1fK\80N\ fë/¢Ai\93\16      ª\8ePR²u\19¬Êêw©^Ð\99XÔ&E5¼}ÖÀ>)²ó\91Ø­W¿\7f±\ f»´P:VïX©\9eª\8e\ 4\vù$AZ\a\19ÝD¸ýç¢\aÞ^\1ft\17äï4\8c\1aPÙGß\87\1aS¶/¯Î\12Z\83\15:«ëö({ª\10ø9\15b\ fÂ\>\13\9b\1a\15\9e
+ù[-ñ\8c\18\8f \9b;¡*D|DÁ$®Ú\88\9dî˨µDØ\8cÅ\ 5ó
+e·GÕüÂ\1f\erCÄwÏVÜ\1fÞ\fþ\1f\88P,NÙ\90^\ e\1d2\bkÕQ¢ö5yTIb¿ÀÛ\7f \8c-áÂ-¿ü¸{·¢XëpVº¬´má\8b\1e\b7LÛAüdÇs\ 3¨\92ÕsGjÛo\15RàH¶«ª.\8a:\aLõfFýÃ\88\0\9dòku\89ÁÛÄ\83tÉFϽóÕü±"A\89\1cþ]îÈPªùjôÄä¾ÜúîlX\97\87¬\12:\11Ø\ fì¡ñyè\98\1eÂþ¿úßv÷@\18²¿?;ä#
+ûR\81\15´õF[Tó\80ýònû7\15\12\ 1ýsPÔ\85\eð |#È\98c,!ë\97b  \½­\91»\8eääÑã÷ÄkÿOÉô@2vûtv¶í\ 3¯ÛÅ\ 1qYjËéfàÄpá\e·yh((µ¨\%Ò.\11qs½\91
+\8a*\aÏÐ\97\14nnA=ê.ún x¯çæ\ 6\11\7f\18Záå\ 3¨ªË}ÜÉ"g:;\9f%73¨2«3a:H\1dáf
\91z©­`êØÚ\ 6áÀ¨ì§VRb>²ÑþpËãóª-\êÐÌù      ¯\95ä¨\18ºóâÅß%\ 2\95.¤Ëf\vÄÏ£\97bU\8c\9aªrZ\99æ[2\15N\90\12e@\19pi\97\9d@U5¸BàN\85\883x\18\v-)\93/\18
+åþt|\1a qª2\ 1\aÀñÆÐ\13L\85ñS\86gl\9aÒ\3Ê\86BúÕ»L\84\1d\ eB=*%{N\e\82¦:!\98!¦2\ 3Lz\8bJ{oKsx&»\9b\97\16\83£Qb(\96°\9f\ 4y7\8b\89
+\89\0\87Àì-Í\a¸j0Mø\83\ 3Ñi®zOÙ\83\ 5ý«Ò\83lM=\89\g\96z\8fFŦ\ e\84dP?ñ\87ìûÞÔ\15ÒNµø\8f`ê:  `j1ïVS >\93\8dO@"Úº^\96284Är\82pTáµ\88A\94ú4ûX\7f©\81'}:h~<Ú¬\15Ëfý¤J6°Ù\88\ eÁ\ fÝ[\8c\1cH6òë\86ZÖvP>_\93¥\ 3³\95Yðà¦èÐn±\94òf\83ÎÆi$]Z\1fôļÅ:¹m\13è°\9a\v¼\9bÖôK£µßq\r ¹\87.\7fÀP¡\96\8f\vª¹Æi0?É\91û$+¿ì\15Gfy\8fû\92ä¦ËÌ. m̬¬\91uÃZ\87]1}¥Ø\8cÅÖ£bì¦Öp@ÿ4ó'        TþNI\1eå,2<Gø³/)âN KJò\7f\ 5\84\8a(\1aÊ#rj\ 4\81Þ\r;V;\8cYw\ e"Èúa#«\ e÷\1e\1dë\1d\93\ 2¦÷\84"\95\f´<\9eB\ 4\vM\95­ßlG>ä¼óvQÞ»\93s8&ÄïEç¾7|}D´eòY}a¢Æ\a&}iláDtbÍ>g\0(\9a,L%1µçÐË_6\a\8dD_y\1c\81\1e«ø~\8f#ú*{\1f®§çã\7f½O\16h·¦\19¤¥«ûÙ\84V\fË_\8fæ\91pÙæã¸",\16\16ÞÉ\12:³DM¹\96M­¾Ï Ä\ 2ïx,\ 3\99º\85^\b9ÖÇ\11\r\99
+¯¼Ê#ü3m\8cë:î#Sh,Ãã\1cl\ 5\99\99ï!ûiÌn̼ì}}ßw\91\85^÷a©ÖÇ=ê!=ÊB\81\82.÷à\1f\90Ñ\f¿ñDn¶\f«Ø\16^µ ÐâE\89¹ûÈ\83\12\19\10òGР߬¿ø\8a\97\91Aòî¯Ã\ 1(\1eýã\18·Û\fLUË\14RêHsÆ\f[\85\8cÔ\bY\15)5Ï'S[ãøýGùi\9aN\8aç\fÄײñ¾\87\1fb7løKõuÃËÛ\1f\91Æ\ 4áê%ªX\ 2\8b4\7f\8a\ eÖs³¯Ûز\8f±zÊBÅìv\16Åë1E\1cz!|¶ø> [Æ\11Ã\bø\18
+­3)\b\r\f»Øú÷Bkl\9c-gòä\82O<\1fçø\19³\f\91\0L\8f»k\ 3ãéHÌ\7f±\86q&_\a-\89ˠɶ\17,:é\9f\96¥i\9e\98\8b^õ.rH\88X\19l\ 1JcO\13\8dïÌ\90,JsbÊsÃÒ\11a\86¬BzY     É\15å=    á\84\9bôå²[\b\19Ø\1cÛ\88×\7fu\ 1z\9b£¥í\87¥ïK¥mW®\1c\8eùØ"cuä:I(\7f`\8cı\fô[~tºr||öi\1fm7N\88÷ã\91\1e\v\9eñí&>~ÓlA\17\91Ú\143rr/p\9bÎ|\rÙ\95\99û\ 3\aèVf]Ðî\8cê~Ê?ÝQAÿGÉfÁ[\87²E\ fêd   üÃiñ-¾¬\9fûä\viì¹ ¼\ 5Òn\83    \93\95w\ fÂþ¤öÃ\ 6ùÞë   *\rºÀùØ£ç<>åé#çÓ\ fGüu\88Ügô\19.FtÃ\ 5\19m+Áw\a\98\v¦ð\1e\12Ã\94]¤ÇDfÈQÈ\94ä\98£\ fÔ¥\85°¶ÜÏ)Eç\9a\9e\9b\8a9+\1f\1cÓò\92\81g\18tx%\19|±\wm8L\99\eO\12g-ÿ<$gü²ÿ¼\9f«\85\ 2?`Ê\1e9ëm\8c's®\1fÇäaCýª¹\8e\81\v\94Ä­\ 5\v\91Å\89ÿ~0\94ÿ/_þ\80\85Ú\94-2}n+Ýh¾S>[\9b\19Ãíè+_\14YoÕò\1fý±}\8509DÂ\8fP2+$J\ 37GômâD\87· 
+\82\92\ 3ññe²&\ fnå(qäGI|ÜÕ\94\8d&z\92\90Êê\\19\ü¹æ1\8c\1fð|¯Ü\9c\18$
\80î\ 6§D
+\ 4ýV1\e½ý+\96\v\80\8bÁÅ\15qÿ@\e¾\95\13Ý\ 5%\8c*K\82}\9e,\9f\0O\87
+H8Gä\8f\93ã\8c½0ÖüÒ\ eÅí\1fàŰø\95y>;\1c-¶,\83fµ3º\97\ 3\8a\ 6\7f\ 63\8cB!\83h\9bÍÞ\97\1eõfBõ\89%\19ÂQæÑþ1Fvi®\9b3Aâ\82;k\93\98®\13áe˧ö\111\b\8d\86\9c¥­\12Ûµ\ 3Î\7ftA\97~_7 Ã\ 6\1dÞì\19&¶õ1"\Q®þ\8cb\1c½-aNI1{$f\ f\82y\8eb$¾³\84\98C\9eË¢Ä\147Q:\88öHÁ ÿ\1c¨Xæ\fnäöR¥0˹?D\918\1c\18\ 1ÁÊW¿â\8bZ\13Ö\91amÑö\1cr\8eOzw{P·\açÜ")ü@\86MÒ×\959HP\ eIÂØ£\83\18Ú¢ÙÑ\80ÚUe\ 2æÞ"\19GS\0Ë6\10ßÂ\8f\1a\10½\14æ\9doLÏ<äéBF\ 6i\84]½,hÔEIhRß\14p
+#wË\11ÒlûW£)¥\ 5\ 3Ô\92~ ñ\e\ft\f\15Ì´\88¦\91ò¢tÔ\94kiÏDO³©Ø#Õ­}òµYÌÿmÙÞÃQÅÆÞ\97\14I\91(ÖT\90\8b±\ 6&ÃöR\0}ù}ö"\7fñ±'5\16eÈ9s´\v\1e\19o°°aä\13í\13\ 5ØM!Á\11\19ÍÍM\f\17sr|\15Õä\eðÁ\98G\f\14m\9cA\8aÑ%<P\ f\81ÙØÏLçe6R-ßè~Þá\f\9e\84æ¯Ï\9e
+ÀQå\92T\99éêFÛ\1cÛ5LàlGA4\91báòº\a*/ \97N\f´²PmÙ+=\8amWÛ2\1dÖl\9bV<%OæãÈÛ\10\ª¹\99£ýßY\85J~6\ 5s Ào\88Äpµ\82Ó÷\92ÿMüPá:`VÍ\12GîĬ\14i²µ¿¾\1fÛ\8a\f4sü"ÝlàÈê\ 6\8f\v¾\v»\87\1eùlÔåé)D\12½\84ùTtÈ\93\95ÜÆFÆ\9b¿\1a\86ß\9aÈ©&P5ÃßÅë
+¤Æ=Õ\ 2in"=ÕZ$\94\82OV®®;pª¢ô\8d½\1a\f\83.ãÓDHC`\15I1f\7f¿wS\fK
+ßô\8eâ${÷R\1dÂYa¤ `
+\12ѹ?\1c¦±âÏû54|¾!\89`]\e\ f\9a êcÒmá\ eàå³`\94\14zÁÿ ï¹U\8bA\ 4¾\11mì /
+Þd0w­Íµ«´\81\87R)~Åû\vð¦3²Ã¤\91\bzªºdÿ\ 3Uu\1c\v\17\ 5ø1eù\1d\93\9dÕäõnÐQ\82qÖôÿ·Ô\19*Dö*)JÈ×\\b\1aïïÑo1ì\13ß\89«@]ó\ 4ê\8fsò^)\13gw\864\8aÂê\8b\11³Ø¥\18'ò#Å"ùp\8bo\8dS"\9a\14\98îõÜd\19"\1eÖ\1e\f,¯§\8bÛ#\86\8c\ 4\ 1\81\7f|ø²t\8f\19\8dK\ 1f-x×e\1eÏÎþ\88\86\13êcC   Æ
+þ.åü4G\11\88X0¿\804\1d4¹múõ¢§áµY\a~\83]4}\v\82ÒµÔ\1a\ e¦^?K\89\8aU\81\ 1A3ñO\83uÌ¢¤ýÁBÔîDÙo\8cÀÉ\ f4\8b)E3~0¸ÓÇ\\8a\8b\16\7f\7f4\14¢6«Ú\13]m<ºOó\91F\9aÅïõ¬d)R<,P_(LNº\86\84)feÏ([4\18\16Û\ 4cù¼¦Õ\7f|°k<ÔSÂ;á\v½û´I]?Þæf\ 1\80\ 1î\ 2!\8c\82\95c%\17[\10nÁa÷cÐÁ}ÉÁEI\87\94¶CÕd\831FF\86źaí\94×Zí]»MWzª\b\8d2\v\14"Ô¢\8dÔVhi«ÑË´RÊ2¦~ÿýû÷¸\ 2\85ߪ\9eò¹ÚÝß»½ûy»Îo\83¾6ø[Îo\83¼Þo9¼ß\a|\rÞoðKyÍðwø\17¾^ó\9bü)Èá­\92G%\91°õ\99\1a\ 2ýÁ\8b\1dá×â\9fÕE.öba¶ë\85\0!\8b\8e\10Ës8\99@\111[û¼ÃÛÛ)B¸õõ¹ÜÂ@\0&+2\94\ e2I\18\fí¡^\10\16¶Ä×|,=#Y³\8941RÁ¯\8fw\84\ 6ê¢æV\1e?,îü\8e1ïÕÜ&wÀ!\1dJzût\97ü\89¼ìÇx\ 2Y@ü\ 4\92\80ãÕâ<­\rºÁ\vÌ\96à
+\ f
+\15jù/k¦mÖT-µ\81tîX4\84ÑèNDzA\9cr\aË%1\1c*w=M\14ö\1f\1e¿E-\7flé5èikú¦ÀÌX;\9eô\1c×¥!^Øs\85       ØÀ0a\11\ 1\ 5>8u\82nìV¸e \94¤\ 2\80
+k\8a@\1a¨\18,d\83°8\16µÅ\9f)\942\84UIÊ\19µR6øfA\88\1f½E\85ü-\1dÍ\f\81W;ò\ 66\9eLg¹~y\9aK?u¿!¯\0\1dÑ[\90Å\9e*îë®Éôû\17§\87ô\8f\89óì\ÌV\b\ 1õ\85\ eVÒX\95\96\92Þ1q1¨\13\91SÎÆ8Ú°×cm\83s3ü\88\9bØðð\9f\<\Ë\14\7f\H\10\0ªÇ(T2\90öÏQ`\91\11$N\11Õ\8d\90ª\90öÊ\91C\97VÄA¢³Ü\1dx\82qO\8ao\94çáï\7f3\1f\19î{\9a ¯:\18#×ûa©/\ fW)\0¿\8c\99\18\8dzÈí}°\868G¯øÀä \8df\8dHØ1³¿Ym\vÂöÆY\97ç\12ÂY!\97\14¢ÉN\87\87à§\85\13\14=\83\88A\146\97Ô\1eº\9aarF&W\ 5µ\8b񿃻\99q\89g}~W\84\9aïs6ç?&z\8b\19\90 Cã'\98\ 4\12ß®\ 4\ 1HW-5ËLÉq\18Jas\99\141JBÔ*A\94\8d ÃL\86á-Õ    \86(\7f\ 6$0\96G
+MÇ^\eäÐ\80=B[á\9fP  eÏ,\ 3sãª\ 2>c¿\bÝ\8eYm\14\1d\f\r\87|\17\81¦w\0N\81I\9ce\14\97\ 5\1e\9c4\85èwlÙ Òx\rÁíì\87¿ø¡YMàR¥²°ß2\90ÛM/°\9a7\15`\8e\86\1c\84e\rHYÏàR\97v\1f>\1eÊ\9bÁµ6\87¦\17|¬sU2©\9b5b¢åÞH\8epq{Ãq5Ê!\9b\89zÉ¡÷Âü4UÃ\8fd\ 5?*­®\ fa\1e\ 1\8b\1fü^\95ùq\94C´*\89Z>8m\89\1cÑõP\a·øn\ 5,(z[`4SÝã¶A\1féÁ]\1c\7f\91ÓsR7ÃóÉ}å"¯\8fx\96É\aì÷XSØ\8aÁT¶Ð\87±\eEEØ\83"£^\ 5lgºà¨ÄÅÛúqJD/\9f.ÚZþ\9c=¯6uD$\0Q\f\88&\8bD®xøÒ"\e\85-²jÆ\vGà{Ìà¼ymå\18RÓS\9bÿĸP.`\81§Eß^D`\80\87¹ÆJ¨\96çtD"WhsÈöx\9c\8ffÛ&=¶)î\ e·w\8e\13ªÏ\f\92\ 4¸q\bÙ­sC\93\f\9c\9e°{ÚcÕ\10§ºâvt]\8aÉ-PÇ\fÞ\0&Y°"¦þ`\8bü}h]Vý\8fü©\1eagÇçÔSÌ*ë£Ì- {·¯õMÑðnIæJ\196³yJû­OÜ7å\1e^^|\9a£»%ßIåß[üG\8b)ñõeñ\8f\93ºß\17\8a\85¨r[s«\13\v¡\1eRD JB\82\11³îþ\ 2\ 1üÈð\95Æó&õñùãθÇ=}Ë\a2üÓð\86\18éá   \84\15D\82(\97\90\8b\9bXÆ]\8cvC%\90\9c\10\0\85\92&9\8a\ fß°CxhG\10\9c\92\1e\ 1\ 2âT&êï\ e\r\b[a:v+\a\1a\9c¬àÓÙ ý\1a\18%¯4Á²òü
+¡má|a?Ó ýâÈ\8f\açõ\ 1aW\834\85©\v@\83Ç8=¼¯¸cUC.\8eZP|¡´ú\99\v$k}õ\a¹r\19Rè«â¥\95\1cÖlxxCÏ@ÜÃ\13ÀG¾ß¼y¡~\(hxu\88\\9eã«ê\ 5ÚB¡îô7Ò\8e\14û\83!v²\ 2¥@\11\99§\95\13\9b5mð\9f8¨/sþR¨%Ö;ÛxZü8MKýn\1c\84#ýã_È)·V2CÙ"\87ñ \12¤.øp(Mwð\84¯öí\0,­÷\fo\84ïR\8c®Ð^{¼lø\ø\9bö£Ô\ 2\ 1X\84\r\18á\ eHV\8có?ºFÕ\17»ßÛ˹»\0Ã?Ã\91é\1e*r\7f\8eí\90\9eâ\8f¼¸QáqÇ\ 5Ar\16\83¢\19ü|\10¯ØØ"Ãé\9f\95\87K\95+ÅK\8ejáÒâóÝ\8c»8Wbi¦ß\9e½û\80.\86ÐèõÅ÷_\88\13^èLT«\ fxý`»\9cx\93AûÒ\f:eïÞP<àî±°ëÉ\9f\eúÂ\132\94g\80áã«ã¦é:Ø\16Ïö\a6\ 3ß\ 1ÍSS'\15\8d\ 2ïf+\7fEl¢\8aS»JLó1]\vI\9eí\fk\10xô³¹bb)#U\bXö<=³Çæò¸
\1c©i>ç´7GB*^\v¥\99º<¸ÎJ\1dÌÛeh踤+Rþ×VÝ\816xÿ7T=\a?/ª\19\ 6FleÜ\1e\ 1ò\15ǯ:tÖø`½S_\ 6ß\94þo\83\ 6\1dcÞ1/Ü\9bßÄ\97ÛSÀ¿\8f¡94¼MùJ\1aÏ·å)kÓ·å?\e£ù
+N\8f\9bGܹ$qßûA\86?&ÕlÙºZÛouë~Õ&ý\91X§Q¨I\8bR\93É´4µ6ä:gMÑ\ 2\16¿­LB\85\bà\1d\ 1\1dÔ}Ù\1f½Á{³c|µ\81Ö¦\eáµ\0 'y£Üä\13]â´£\96\83%ãÌÆÉ%¼FΤoí\ 2\99-»·ë\ 5\ f\88\14#\1a\1aÃ÷x\86öÐ\rzVöÉ\9aË\a\b\8d\ f+\90\1e\8e\17CÀbüý\90Ta·Êî\12KnBî\98\9f>ñèv3aS!RD\ 3\ e*vÛÇ\1d«a/öbr\e¯\ 2Æ §\9b-Í5k½y12Ø )5\12\9d\92ürÌâ¤\ eY!\ÅÀ¨Ë\8eY@¤zÆ\15\18åsH\f\9båA]PGéÖY±BÞi
+ÑîáyH®Ö\92\99ÐÁ\8e8=\1d\82:ÝMáì\vîÖ/\94¤^4\17¦ës½)Ñ6P+^\80¤\82\18®½yò\89\9ba\84Ê\18ë0Hú\83Ù\9eû\bª÷Éæ"¾½ª\9fE3¾\92ïgââ\0ùL\1e\81\98 Ó¸C#á\ 3ÉÆ
+\9a¿ bGþò\ 6ÞD¨\19À\1d\eɽû×\13uJ\87\15¿Lc
+o\97bL$\9dÐö\83V\88íà\87»kËæ»v\80GÀzz-=ÆmYî;5\83\vîabº\80ñÖÞ£ôk\a 
+j\ 4¥\9fâ\ 4¬ïM2^\r\e¥\0âR¶ø\85_·POfÛRø¿Ï\15\bÔ\85ðúry¾Î£8\14\ 2ÙÄÝ\10\80Í¥õËy\14ê>\9fÀ]è¶Áé\93¸¨eØü\ fZ­]uê,÷\ 1ÚxöõÊG\89Þ¬¨\11!7qÙA\97\1c\87\91Ü\8c\8d\9bÇ\83/\84ÝÂIoY.¡Rîù\1eÃ\ 1\11    ·\82\88¯7Þ´X\12û1b\95\97Ãg\14²Ã\14©5µ:r\ 1\9b 
+\92\ 5Ò3N\,¡@AèâÒÏ×Ù&!³\r'4²D\ f\8bpól±.û¢\97Ä.õ\88ô\q\bR0pBu\13ee=|\ 4\9e¶î\ 6æDêe  \138óé\9e5ÐJ©lþt\9cÀ«t~Ñé\ e\ 1Ƹ°÷"\8b&S\17i
+S@N\8b\9as0¥,`s\87¼\8dy\90TL¹\84¤»Ì\82±\91ý\ e7_0\Áðê\fÂ\ 6J7á\8aÆ}µ  \10käj·cÝ?\eK^RÍ«3\ e¬\9d\1e\1c1=\14@ÒæSÖ{;´\15êã
+R\al²H+3Ð*D\13_¿\1c\8aF[\98<pOL7\9càÀe\1eP\9e<¡¯òï8cÈ\94\fDp¿o\16\eÖ\15\83ͳ\1f»Ä\10\v¡Ä\83ôÀº ¡çhö¶OihO~\17½×úé\ 5Ìs\vÔaH;§ÑÉòÉ\87<Q\9fE\9fw*=_ª\13\81åe\8dXZ:\93\ 4bf\9aÁé\ 4í'\9dæùm·FÈ5¡®{\15wSÿ\969ÿN\18(Ö<é>\ 4å×\1d\98í\94á\e¢È\87EÙ-ÿ\83\9e\89\ 4*èÚNñP g¨cU¢ýd?I«Ô\12©s\14(dî\8eÑ\ 6ëÃiGó\ 6w\rj*\eÚÀ\e¯Rª¿é0ݽÏ(s6¨x+\96\81l\87n ´Ô\ 2Ø\9f!\82ÕÊBÄg§ãp×ÜÒ/\83Î^Xµ¡&%«0ßôhÝ\1ek
+à*á/Ü5í\ fC<(º\1a\9b\15\11+nÖÖ\91y\8dTɨm¾\17{ÜÅ\81R\ 2\95B9¥&\19M\8d¿\17S~+\ 6Ü&C\144"ÂtxÙÇ·t\88­Ôäb¯É\9a\86?½ÈÈ>·Ù9\92a\91b\v+íc\1dÙ\19Ü=oÃÌh¥wpÞ-^\97\91øc¦^Jt,Í\93d\92)·DöÎ\15ÌBÓÆ(zô¹22Ç#å\90°<o\7fû\và\11,\ 5\83\81ä·Õ±\19©Q\ eÀUÿ\9eV\95\12©¦¢)USM_\91ÅÜÝ\92U\10£[&\1e\87$ p°
+ä'¯ã\ f\90®\94m\18\1eRçûi]~Û\ 1wå/ zÿ£8«Ó&\11\9fÐ+¯OsØ,\ 2\92´"\87¥Á\9bÂ\8a\8cÝõ\10R3§\97Û®f\96aeÑ-\ 5\98®­\19Y\8bxn\8aþ\9aë
+Øz\98å#Ú\17Ô\ f\13Y\8b\89\81\84\954ã1¨bâcL.µsNqvB²æÄeF\11è\1fÐï'HPW        \1d²\1cþL\e\b·¾æ£(\0·ï\16\18Úa" o\e¤\19\14\17\8aSÂ"\ 6\802gHVªè\89­EÛ\97\11ë\15\1cÈ     ÌîàY!ØÇ\ 1¤ôúbáí +\1a\fVÉÓVò-\ 2æ \ e\13X\1d¼×Këò7ìPÜ\ fDTêë\13pe¥¼È\1a`Y\ 1îcnsÌxÈàaJôs\1e¸ë3ÏÓÊ\13\14ØT\8bf\91\ 6\83\9e\89\8däÞæwd­ÏoZ2×ãpóg\82E\ 2`eQE\8f\r@Vî<¿\a³.\87\86ðxyf\92\9däÒ\1fÝÂl)¥âô[vª\ eäYUR\1c\19Ï6H¶äñ«é9I\8dñ+d\9d\íÙ/u\9c\85\93\84\f5ø+ÝPqª\93\86\84,Ú¼ré\99'[¾)ÆÕºk\14ÑBaI4ç·â¦mÆhr÷MT\133ªD@OvpòzS§=ås\10Ò¸|ýAÑ}iÐæéIè§4\85\8a3Ṫ¥MMc*\9dª¹U-a%U5U*¬yßê\80\8aÕè¼{î\0\ f1úm\89ÛÏt§ªLW\e$6á½ï¿\1f\97¦S\ 4(i\8bÊÑÇ\96à\X\1c\ 6u3 Ïo\80G:*G;4x\7f\8c\90®¦²GÝP\96zØ}\91ì@º5(ŽÁ\81¾©\ f$9§,\97
+¸\\9a\17æK÷T&\86n;{U\aÖÛ'ã~çp!¨\88sG&ó\9a&~7\9fÌ\ 2£ÀiÓä7\f)\93°\93S\ eØÑHÁ\80ÎRº\ai\ 5/\÷\10'¸bª¼ùH\10\ 3@]«T2ḭ\17\97T^÷\10AØ6<pØÓ\1eã¯T\ 5Õg\13\ e;nÓW\86ÔÄRÑAè'¯\ 4\16¸\ 4\98åC\ ebkCp}\9d¨:ÍÖn\ 6]i+\1a#\a{\80\apa\8aéZÇ\93ò±p­.ªú¨\ 1\ 5\9d\15\8beº+&ÑÌ\ 4\ fp êêÅ\131\94\19\8bzÕG·®T Ò©·\14\1aº#v\89Î7i\ 3!b~V´N\ 2Ï\81\b\8f\804j\83öS(x\15j²éÊ\1e\18\eWZ\1eºÚ=ãdüjójà\88x\1c\ eØ\rU\94í°C¶\86Ý·\15£   EAra}Âý7ñã\e\ 2\87­4\85\92:±Pµ¤¢Îv­Ú\1a\98õGRÁÓ\1f\ 3$èêX"í¼ú\1a\14³¶IÉç&\14ÏC×!7Ì\88\88Ú\16\82\8f£\9bN\8d\14js\7fÊ`Ã\ 6¾äwã¬6¯ \9c\vwJ,Ñéî\9dmw¢ãÒ\81\10T\ e\9fõë\87\9bd\84Ÿ[J\80i\8c \vå.³ú"H÷¦B»¼
+±O¨q\9e\0¦\80¨}»i(\9dµäû\90Ú\86×\W\rén@\fI¶÷\8f@\f\13°g\81èùÄ\19\ 2ý\8c\93¦"£\7fã³\87K_\ eM¶Û \ 4VÓW¤ãÖ¬^å¨\9c<\8a\82íö\ 6V\10ë\14\9d¬Øo \1fîR\ 4Rmº\82x5û\ 3'Gè\9d\ 2&\ f0²Ià̬Ú>CX1\9d`Û¢°@Ì\87Xêòg|<¢Ó\81\139@o0?\r\15£§=*°³tvL\ 5\94w^f\8b.Ö:_7\9bk\1d\90í¨3\99|¯mC\1d\8fí\9a¶ î;l´vw.Öz; Û*&J\1fô»ñ=¦_2Ú\83¶û\9dì{\8cæo+Ú5Ëæû\80»\9dý9\8fò)×}<àÓ\19\aÚ\89¾    I\90X\87ó ¤_çÓDª2'-\bdLä\19\918\88#"h\15Ϧ\15íÊ{[¸\1d\8aÄãW\88\831]\ 4!^bÿ9\0'\9bù\912*þÆ3_Ì7-\0a¢ï6F\ e\1fôÇ÷¯xE&Bb!L\84ðÕO¦\8a\812*s\0dV!a\91I¢L6Ê\16~\11\98¤ÚR\8e2\fÈÆ¸C#2ËL\8c\9céL\8cÄt\86F&\8e2ÿe{9ï:ð\10F`\1aÀ\99\80\14o\80\14o\80\13>\ 2Fþéì\9f¾\96ñ\8a\8c\8cÞ,·\8a²\89u\11?\ eÍ\Ù«\93GB\19\1d\96\892:rüdv" ÈïB2ߢµYe\14ê$\80ÿ½\14\7f\0\98È\ f4\ÖA\18³,¬Å\93\86\98³\11\f\ e&Ö!Ò»§:\Ç(Õ\19\ 5\8f\7fºkú\80ýô?÷ÀÿSÿ\ 3\ 2f\a½\8b·¿Ú߬¡Ý\e?\fÎ\16l4ïi\96@\98±4A\90ö¢\f® çà\99Àͪ]õP¾ö\ fü[ÿ\10ßø¿Òs¤<Æ\13ÅþpR¼S\9dd\8cM\90Â}ð·¼\92é@q°\86\8324OøÑ?ãDÿ\8d\91ÀZÅÙ
+Gÿ\8d5Æ>áD>ÅÌU\13\8e\91»\1f\7f|?Ð\96ý\0?ÐgH\ 3ÅA
+£p\82¨Ü\19\91R1\16ªì¡\9dBOÁ³zßѪ3£ÇÆÚàl°\ e¢çâ\99ßæâW&À¿\19\81\97Kµ*/Þ×üp¹¢\85á\8c\8a »\85â\15\19\10'<@\9cñ\18ò±\83þ\81]¼5¬%\94\13¥Sð\13\89    \8a\v\14ç\89\14ç\89Ç\8a\13\8b\822,U+\8b\15Jâý\võ¬=\91®\82¹)°p&`û\\r¹\ 1\rú~!\9c<Ú±Ò,@\7f-\ 6 W\ 4@W\8f\89çÐ\1e\N5IÌU\8fSuÞ­P¬£\871_\86Y\16ÍþoúÙ/\19\b+\ fáÅaú±X\7f\fde\0«×jQ7\1a!\8f\88\8b27y\80·\8bµ¿Ù_\9dCÏ«flØê÷\ZÁ×}Ô\93ÿ]CþªWÿ¶©ÿ{îú}¥B¾\84'\12!\87ÚÝ\8dñ\ 57åßm\92÷Ðßß\¿Æ¾q\90B\12b·lA>0Cþ2Ee¨ê¿x÷è\a\eûì'\ 6¹Ç­lÉA±\7f\15\ 5OqH{ª\rÿ\84\7f\84\823\b)G\84\14£Â
+Qá$z;|\1d\94lûÚYô.£HKÞs¾wýC,\1c}\vÝÒoè        z\ 1      \7fª¼`×\8f»\7fô(WõFøô©\ f\ 3Ï\8bÕ)1U\ 2\99õ\fîé^7ü\b\9fê\8c7\1e\eù\90~\1c\ 3§éõ,ÔM\89¾)øÈªä¯\81\14\87\1d­wáZ×\10+ZáÅZufFú\ 5µ¬~\16q\ 4°?yöøY\9a8\9eÖ\ 6Êî#\1f\83Ü x=Íý!ïï·o 1þ\9b\85\96d\9eý\ 1_õßg\ 6f\a-\813\ 3\19\81Ä,3\ 2\9a$Âx"¤3À/\8b\9e"\0\8eñÔn\1cU\eV\97\83\99)7\14¨VëÄ\19\15èDY+u\r?
\12l\92î\ 2ê\8eò÷sÎû\9aB¯ü,Ãûªw÷¥"úm¡R\9eú\92s\97Æãg2\13\88g\fQ]¥0ú&Äot^~7rNt´\ 4çeÛ\93\9cîX\9cÙ´'8õÄç²ìÉÏ©ê\89ÎO\fN~y{üò÷é¥IÏ\8f\94'<Ì\919Ûõ¤æõ)\v+z©bsÉË\93\9e#²':)Òs\8cÉ\13\9dF4\9cèæÊïPX½99«dYO\8b'>'^Xÿ\14Nv\98\82s?¬,¿\93,_(Nsç\14#õÄç®,Çâ\7fq9Ö\16'Ó~Âsj^}ÿRY¿ª'6\13³=\98\aðK\1d´×s¾³\ 4Y\1e^||\19bøâÀ忝£'9Róâ\17\9aÞ\90²\9c¼ü\92ó¸/:>\94¡> \9cí`\89ÌW\v\ f\9a0$æ\96\84lt\1fÿ¢Y^\90\a¾ú~ \8cøþÃ\18ö\93ô·mõ      ùã= Þ\93?©{ßezç²½\7fú\97­þ¥ï=&¯\9fSt¹®¾æY?þ)f\97g\89Èó\92¾4Ê\16}ik?xð\89\1dü\91?0¼Ý@\13\9f´^kKÏ\^j >À¿üþÖ\15Þ^jïyÇ^óÁý°4\ 2§è?½.\vè3Ò\16\17K\9e\92÷\9fo\95Ëf¿ãGÿùÁæ)ç\8fûª\ 3§çOw¬ê¯\enÙÕó ë¦xîsÙë=%ë{×zn|\1e\9b\9f#\92LL¿¾Wý\8eëîå?\ýû¾N9UH8ÀSÐ\10\13ð@JË!))5¥\1fåç¤½çø¦\vy\99þÛ/yß²-ÂürÜ\ e\ 5±[Æø>\85kÕÿÊÎu\1fÔ\ e\7fÿéoD\81\9d.x/µÏаÞ\90¯t¹¥ñHáÏ/\9dðßh¿ü]æ\7fùÞ\997ýÝÿù\97ÿøwÿð?þ.t×¶¬(½µA$×Eý+×ù÷\1f\18\93 ¯l×\84/8[Ù\1f\12&\9d\9e\8b%$ü\8f\91-Yq¼î÷=\9f'÷ýT\87\8e/¡|þÓúx#³Ù\97Î\1fðs«+}'àç0­ô¿\83\9eܱ¾\93ðsÚ\95Ïã~\ e{"¹ÑÕ\7fG;­\9fú<U꿳\9f\9cúOìç¤þÎy¿ìç\9fÙÿ³É\1fðú{`@~\97>>\80¾gú2ú·÷dæ\1aþ·È-ùåçKúËæ\1fã\13\9a³é|Rù\83ÿÂ[¿þ\17_ËlKwþÇúxWÏ\15½.f)\80\81\82\845Z}\ 4=§ïÒïaü\8e´Í&\17®­\9ayGÏïæ^÷ùjp\fºÃ¬æ¼\95h~½G]Íú\19\99Ý÷êºoØâ5oÉóq2þ&\1akM)àHl>\18lw3Úy½\87Ù\9ce&ÚV\97CH¯wáæØø\93[NíCZY9\b,O\87\8cò2\1eϳ\ fú}Ó\1fúy\9aý\87\89\7fìx\1e\19ýí\1fMÒvú (\b\8d\9drü6¬Mü"7ûÞOWOèøë*l\7fo\89gUAÃý\92\94ù\1f;Ôêø\1d_£Ý\q|¤?/\9d}c\1dòwg\86\7fÓ`sÛnögFÒKô#Éð`{\vz|-f·¦eH{_\a¬Øù¾ç\8d\9cú/Ø{\1d³\1fÓÅðf9\95Øï\17¦¶ÚQuY~iþW\ 5\1aß}Oèø(Ñï±yìOéÔj-=¿~\16C;\86¿±àtYlU_\9bÝ\Üïÿ:\19¬ñß>\e÷Î1Ó¶ñ4\\8c\ f\93Â;Èeßäv¸\O\95\ 5c'\9ai\ f\93ð0\f<\8f7Ïø\18S`å6\9cÚ\87\19¿'æd\8e\ f\ 1S\8cñx|\7fÑñqx°y\7fòyÝÖfo\1aÃO¬Ëâþ|ßsc\9cÛzY?e\9fÇ3K+3\85Uì5ë²[(ÿn?µÙ\9d³äyÛ\r_¤çÌÁ¶òääÖRÌ7Ò{\1a\19Í\9e\16ãÏÊx,7Ù®\1e7õ@eúC¼>\8f)sz/ü.ã±\81ë³[È\7f\ 2PÍ6ß/@¾\9f\ f¦Y1®è¦¿s¨H\1e\9b\ 5å÷:?Bµ}þ\9b½ëõ[Y­\ 5û\97#ÛIí\97f</8Oõä\7fù\98|\ feÚø\82\7fõÄ\7fîóU\17ë*\1dì=V`ÍQ\9b<×Ãá.ø²,®Ûü;Ø¿¤ì±\9e.K-ußëÖJûýOðk\8dÙð0þû\9f\7fó'ö$±y\1e£oú¦t\9bU´<I\¯I\85Úïq\9e\1cµ´½&\83\1f\9f\8d3o³m\80÷n<uS¸ß?iØa56\eîëóSy»ß\9bÚÝLyµ|nǨ£§\81\8f¬ô7\9d2­9þ\8f¹ãJ\98Ím¾·×ØôÒù½ì>Ëá%\1fÿMFë\vëâE3äÉ3éo{è'õ1¾ÖÍv/Çùh4Þ\96mçQÝåò\13{.§\0~\93~ýIíü}\8câË\83²Ý®U\86\9fÐlpü%¹\ fv{#\82Ðè\85\ fü¤\87øzïr¯ª~òØ~\9d§\8c³\99áUÉ|ýwçiy\ fò/{ý\eÙ?è^÷ûÝ.[Ï\8bÄü¬v\ f7{]L<ì¡\8f¾}óï\9f|ûçß>ù÷Ͼ}óï\9f|ûçß>ù÷Ͼ}óï\9f|ûçß>ù÷Ͼ}óï\9f|ûçß>ù÷Ͼ}óï\9f|ûçß>ù÷Ͼ}óï¿ûö\98Ã\ 13\83µÕ#ªUN®\9de<u<}:êy:yjséæéçiÙÓÏSÏÓÑSÒSÒÓøÔúj}E=U=e;ª{\1a{*{J{Ztiíéî)̨UP®¡eDuD}Bê\89:\89j\83ê&ê'j\19ÔOTRÔi*<j\8d5F¢¢ª¢²¡ÕE\8dE\95E¥E­B5\16õ\17\15\ 6jÕjçõtº½F®«WY«u«±ÕÙjí5vº´uvú»\8dY\95*ªUÔ¬©\8e©\8f©]S'S¦©ÔTÕTÖTº©±©²©3X«X¯X³Y\1d¬\8fÖRk)u\9aMg\8d¬\r\93!\86e\83cçæRù\9aO3Æó,¼ËO2[Î?Τó©|åzu\9ay=<¶\9d\9e\9e{OK§Òiê´õ\9a{M=®\9cÍB­D~¢oQE¨Ój,u\16ú\85\9a\99íLþ¦\8bSI©¥Ôê55Z\9aÍK­M\8e¦ËS-ª?U=ª\9fÕ\7fè_D\98\81\94FvÆM\19Ú\19\970       rrü\ e²j\13­àc6\ eöPѺîå{-sü´|Ñ\97\1cF_îZóì\7f÷Kb-zïÿZ×®Ï\ 2a\8e°ÅÚ\ fÃ\v¯üë^½«'®\7fú­zúcÄ*ÔÿÙkׯàI/Ùàn¦?ÔµëÑ*\10\ 3Á\b\ 6\17\9fAk×\9f\13ÓMÓ        Î^}\ 5¯\\vk\11Ø¡\ 3òó¾\83Ë'\8cñÆex)\aLÿå\a¤µÿõ
+H
\8bÎùkÿûV2¿ÈÀ¥b\8f\94öõò{7ª/\aª×
+ѽÂ\96ÄAý\90Ü£K
+3#Ü    TRW{ðYmª\93;O"ëýIÔxE\b÷/\b°\b\10Æý\7fÕL\18aP×Á©\8cqç¯õho\f-yCÐë×\1e\86=q\15»óÔ{\bà¡F\80eæÄú¬!Aã²\ÁÌ´!è\7f\ 6ùU#NÎ\9a8PÑÆa:<`EKƳ1?K\ 2\ 6ú\9axP[÷VN¨ÿæ\83÷\81ÞÃpÀÚ½ÁÖlã\1a\1c¾mfs vÄ#ö\932\a¬9        hã©¶öv§@ËF\v²<\fÎ\87!7\12òÄà9\9f\1câX\våÆëá\13¹\97Ls\83ã\84Ã\12íøm\8d&\M¬i2¿q\9dôZLôä\83\1a\1c\81ë,Ñ\b8g\8cµ\8d\1e¥\19üô9\ 5\98'¹Ôk`¦M«Ý°s\94Vm_ª       À²\1e°¥gÌç(\99§\1a\9d¢þ-\fXЫª½Éºñ
+ë6\89²l\15\1f!ë6·hã2¶DÚ¾Yè{&Õí\8eCÖh£\97!bm[\b\98#Û×'igjÑC\b\95Í\1c0\89\91\14öåç7í%3+qí`\86QÔ¶ö\ 1\1cýC\8cm]\9bC¤>g\r\13\93\81\9d\93\14y`)#¸=\ eiµuÇ!bÐQ¥\9efVDä6ç·Û'\90±B¼!·\f%@§»¼\14,rû<î\10NÁLÖ
+\86ô\14\8b³zè\80\a°93\9eó"ªv\82\99õÁ4ªç\18H´³â´_ìµÂ\1c!J'\89Ây\1c¾É­üN&\8c$+\98¹\95Å        Ü)±ê\88\b\ 3ã`hÍ;ô\85\88»nZ0q\88Z'¯\10\84'ÏÆk\7f\90\8aÏ\83À\89õý\81\8d\ 1
+§Ü\r*ëa8¸Ú¼\9càª\11Åhr\8b@\98\19Þ\9d£\ 5õæ\82¾Ú\12]ÐF\ 6Õ\8aDH:\14lpu\bD!*µÞ\82Z\9br\ e\13ìÑ\13\8b\98LS^Ø&\90аþC\a9ÄÍ%0í°\ 2\11Í\ e\14 ìã]\8a\8fT\aÀyAE×&Õ¦bç¿#\fÎ\8eÕ³ó\17,\84å\99PèM»¶ÕÈ\0\85`SbJ@­£\89\9c\98\ 6\8e2y\95Ã0\ eÉ\7f\16\8c\14pY(v*<ûf÷±`U=\ 3/\a\92\10\16(îѤ\8f¸¨&¹\82\1d¤`¦\8a'¡¿\15\1cÆ£ô\eWìÈsE@\vd7GYü@h ôù\8f\ 1*h\14Yð6=\82\1d\94b\e¡9\ e³v\r\9e\1dßNVD`ò¿`\ 4\1cP\ 5ì\17ò(b\ fr\84d@ý\84\96ñ\1eHOc\90°¶ù\b\1anE\bñÈ\1dÚlÓ\18pÓÜ \87έw\1aÐæü¸\ 6Ñfìr±\91\80maWC\a»DSÛ\85£\98\8c\89ûf(ôB\17|7CC\8d\97ß#\10
+,í^ù¢\8ek
+_'¢\bäC\7f\9aÛ\10\10\99\15D\ 4=aCx$m¹b\ 6,$8TC\15@î×,\aq
+\9dÌ\14Zg¾\11>y\86÷½À\ 5¥÷41\82s\81£ç¿\e\98S9¤\86ØSUÒ=* .\987       üÉËpl;`¨a\14j\ 2\89ü\9eZF\90´3 ­\16µ[>3T\878©×ö\1a\ 3Æ)\10ÉFl`G/~Z×qhõ<°\11ÜAJ\ fi·æCóÆ\1cæql\b­Ø\ 6µa\159ð0JÁ\ 6ó¹L2Úý$\0J-¤¨åÅxÐ+1
+\v`\Ø\849½­\989\84+½ã[ûãD\8d\ 6\83\98\rK\83C#\18\ 5~JÔV4Ce\89  ÆÑ»Ëõ\a\ 2\1dh\80\8e\8f\b\1aB\99îß\9a!G\89\91ÝÛ\ 3\8a\87Ý\13\91ºý*à\ 2hÑ}\ 2\bíÞ'Îö\80\15Û?\1c\875Þ0bs\0\87w\19±!s\93s[òF#\8c\e§l¡ßT\ eöÝ87@¤Ý\16\8fTFè\97jÇY\89\95\1c&\14¾zà\9dâª\vÌ÷\15ÜH3ËR|\89Á®Z\97dF¶\vø&÷¿\90\ 6c\ 5ü*\18Ðq\8cg\rµ\ fTTG¯\18Î\9c\7f\0\0+dç¾\18\ 6ü¼h\1dñVA\7f£\9cz\9c\99F5\ 3\ 5q\15¾¿À¯\ e      >Ò\eó¶\84S\9aèÖàÁNÝMµ \86\94Ê­m\99\14\8aì°E;8zÈÊò\9e<Øß\89ØÁÏ_nÁÌ¿Ì+\ 3û%¨ô\82§{G\13\v\81N¤k\ 2*­s-\9c\15éOÍxñ\81ºöò¸\80=/îN"\a¿òòîÞ\ 2\10\9cÇy6\8c\13P­C QÑ\12(ëÉ\98        ü QîPtÛ\0Þ\93\0-\10ê\83\15\93>LÀÇ[øº²s\0;\ 4å¡÷\ 1À(xCµ`\ 3$i®\ 5\13\1c\87,&rãth\8d\1aKGqC\1c\84µó\1dI­÷\84I\1f\ 1\96¥\95LÁ6a]·&åãÁHºÎhX%!pZ>\e\98\1d\1f\ e_É{GË\ 2Qó]0\95\1f\1a\8eG\89Ä\14|°,\8e\1d\1f9|\90°[ã\13\9c\90\v\ 2Ä;¾}\81,ë°\15j\ 5r9,ËÞ ÐæiáÈ\7f\e?|å\ eØ
+U0\90õfd=Wq \9câ!\8bVu2\95s*=ZU0á+É2¨`Âݬ÷
+ÚRçùPfô±¦É\rÙÛdÒØ\80A(ÕPÞ(ú&ëØÀ
+êÙwúÛUu¼5\8a\0ÇÇ.ý[j¨\9d*@³Ús\85_r\rï4\82'V\ 45$ñ\84£\ 5³Ô7\86\10oPh7bª\ f\88Ý~]Aºó\93\9b¯î`\ 2*÷ÖVü\v\14"&$Á\16\v¡0ûBC¨·\17\18t)Qn3\ 5Í\e\99\95Kì¨<Ö\v÷ ´\85äÀÈ\91Ú*"Æ\15\12 -í×äÖÏ\9c
+þ-øVͦ7FÔ\16á!Ò)ùÜ\ 1:\14\94Îkë2qÒ²q\98Tã1\1eâ\87©Fl\8b/ÈÔ\v\92\99õ×eø\13fn
+\80>ý¨m\e\14+@É­\1f2\b\16\8eá\92\ e\8eCyl\81\ eÊd@'ÊdÚ\9aCv\a©)ù\94-,\18-\\98f ¡\99\97ÁZµ®9\v2W§õ\10÷\96\b\ 4\9f×\rõ_æ\86Óô!¾²ê\e\81\9a\93)\89±\1d´5Òê\83\9bë\ 5L\ eë\8eCN\81èÑ\95¨\f'ËA«³ã\95b=\ 3\9eÖÝ\18\94äo\9b\13~÷ò\82§·Ç\1a¯EÌ\19¨Iû~>Wÿ",fë\9f\1a[I¥\8b\19®·F\bÑZ²;ºr-Êoãå\7fÏ\91Ý¥#¹±\1dÍ\ 1ÝÃã\12LN£àÃ$hJs\vÙ\ 4\98°+Tr1\8542\81÷9\985Sñ\8a¦\I\8d\ 1¸z{ÏF f]¸ß\84\ eã.0<å\96\v\9cÓB§\ 4l?yXerc\ fäõ\7fDPSiøÝ\7f*\9a\17
+4]®Ò\93orë\86¢
+\16,]ÉöðP \96\19\8a\9d»³ják\85Ù\a¾hÞµ@Ñy¡0ÕE\a\8b?\ 5\8dkµM\1eV\8a­\16\bÓâÅ\ 1²\96Í\1f\ 3À\94m\8få\e\99Nuï(\b\r\84\14n´L³)ø"éý\ 4hN\10\14\1eúí\ f\88ñ:Â\eûþ²æ_õ0;ÿ¼Á¾C©Ë\97ë!§Y)Æ\81\97¤ªÓ\87¤HÔ©V1ì\9c\9fXḚ́W3m,ªXf\87Èá©ø{i\89àð\17\19\8b+*e``¢´\15\8cÑÍ \ 5\9b\89\89T2\12¬\88rAÅÇ\90è-¶\17\0JdÉ\ 2Qzc«&Ã"7ʦØ\8b   \8d\ 2`/d´q\8b¢7^{ðÑj!vw[i\890ð¥Bn\10MÏçÈnÏo]\1e{\8c\84ë¾ßC&\18\1eÍ»Á>ÁW>R\ f²%\7fò\87©kÔ\8d\ 1þ\1fWFD\91\:¢¶\10dp,k\a°\83#\81ciQ?²a\16 |Ùî1j\90>MÆ.M\ 3ç\ 5Ù:m^.\89\1eÞ\f\11A\14\8d\8bG¨É\93¸{¤\92\80@aA|Ý/\ fþwÉhÞ\87â\ 2\1e\98\1d\82Pà1_ü9Æj.ä-4qA<CFp¬ýíA9>\ 3u/b ggþèí¨\aÆ÷\10Mf\eÜAµÃ7uÇ9~Û:¯m0Ì        \0»i\8c°a\ 3\8aF\ fÅ*é%>¿¨\ 6æj\båR4:}\83\8cû1v'\19ë²c@\91÷@ڹŭNØ\8c\15\9c\86âg­°lÀç2ç4_d\1e6\e\87\7f\92°at]Æ\8c#$fØw\84¬"K\87d×á\13çn\1eáí½Ñ6yäJ
+\1e\9a\94T2qB¬_Ï\17ù°\87Õ°Ñl\96\81Ó\89«û
+\ý\eµ,)hhÄÐn\8f&CíË¢¢µ\ 5I¨\LI\8b§Ô#$è¯ÐÜ6\87\13\a\10v\eùëV\fÈP&\ e9X\ 1D¼opþo}\b)\\86,CËD·D4t;©ZÉÎe2Æ(r\1a0^ÕnpÖà\94ãmcÇe^.<¦\82\8d\12ÚÁ©J\9eÉî6Cê\152F&\ 1\15\9aL\8f_Å \83\ 3\8aã×£A\14m[\ 5¹Æ*9,\94|\87¯·5¾\94$\8dJ\r\1f\1e£ç7EÞ\8e\10¹\99\94jµI½óT×Q|rQx x[buF\18\94gFÁ½\1aÞ¥;X\83\85\17)b Uþ¸ õ-¤\84äÌ<\8cQÍq\9f\96`(O\10n\8e8\12\96Q¦P£3ì\8d\aYM0ªØ+\12!õ=l\98\81lhÚ\e%´hk\88~JQZ9üZ¾\0u\1cÍd\87Âx#/¿\19ê7AQ£ºßào}²û\ 1\9e    èô\84\ 4\7f5Ð#· \887^ÁkV*>FJ>\11\ 3:\16®õã\89Å"§\0òÇ!¸=Îg\ f\1eÅ\7fÆ×$ PÂS\·J  ó\9b\ 4þÏò\ 4æ÷ë\ 1\18+
+\réF\9d¾\f\16í\1dª\0Ur T\b\92\90\8bt\17Ø\975Ý×.ñFã\f/\9bÕ:\1e\80T\n>\81\r{÷¬Im?Ýïs½Ìîf\0\ 2\82â*\ 3%D´Ê£B\93Y\86f\ap3\f\1c\ 2Jj\ 6\94\85ZH\ 2EUF\15\8cqÊZj\19j\0\0À\0\15YEU\95eJ\95\95j\8aj\99õú\86*Z\9a\8a\95;ÿÿÞç@Oâ½¾÷ß~·ï½ó}óÝß¾Ýànð·\81¼-óx;ÀÞ\ eðwÍß7x;æó7\99¿\80[ÍÞNùçÜ-óx\9bÊßÁ]\97½ÙÛ\15²Û\1cïeÈ\9eÎg\88{Òw£Üf1ðlO\99Î\15Og\ f\92§I°\16\9b;\9eÒÄRU\1c\9a\ 2[\18¼¹¸\847O\12WÄ7A\12JìP\92µzɸ\a\13ú49}Ù¹A¨HÂÍaÄÀðÚß\1c/\86C\f:£÷\vÏp¾m¼l4ý±\9e\e\ 5ªìc\r\99\89\970uø\0\99£¢\8erüJç\a\16¹Á\ eY\93nÁÆñ\9cDY³/\1c\18±ä¬q\ËXs\9c(fæ\10\9b^ÄõOÍ¡Nq\0.¢~\16iðù!S\9f\1c¾   ÙÕ\13±¶|\1d"L(\98\ 4w97Ës\9cEáÙD{\ 3¬\1eÞçÄÖa8Ë\16áS79cNMòÏhsäN_Î\88ku\16ý¶«\a\16Ã\13jö8pP©ëÍ\93
+&\11º#\9b2ø6¹\ 55\91é½éy£\93YÝb4|
+.a>m°Ýº\17\ 2©gx¯{K-\17,L\84\9aðÉ7´&\8fpZ2?}w½\et\10\9bÐ\8bã\1e<\15hëE\94ówѺ×ÌÜq\ 5ReåQq¨}\v\89Ä\8e¬³\15\97\15Ný÷Y\89¡çL6÷\8aLZ\0nIÓççFÚ³¹Ê\96»Ê\93\9c\14\8eP]®\ eX\9cM©®8\eËGÉbJ\1d|¢÷´T*¼¹L³sG\92\14Ê\7f~S8\8f\9dïÄ\84·AÎð\88ù¹µCy R\97\93<\9b\1fù¹\ 1¨ð\97Ýu\1a]ÖWÿ\87ítPÕ\16\86×hÖ\97\ 3¯7u\85¡W­A\8ah¼#·6/\94\99
+ÿÆ\14ìdY³WÃõ\ 4\9eí²\93ô\87YK=\89àx]¸1\ 6!^^×È\9eÜBkFÒ\98ÂËOî!\ 4ÂI<N\v>/©­.lðÞ¨£À³\9bÝ6C?£ãÎ1\eçýê2?J¢ØØl\93\84HºÎ\1cq<\rCkjdñ\{|\84\e\8c\87hÍÂ\88Ç8\ 2\8f\9eØ\Ø9Ôç&õc\85.ý­û©\94\9câ    \83ÞÏ:[79xVc®F³b\86\87Á².¶^+ç\13?\90ç(cA5º\10\ 3ê\90´x\1e×&\88\98~Öª\ 4ÃV\9fµ¨±\aìòiû\83\1f"æAÞAǵ?_\17Ö\1ah¼û\11\87\84\13Ø\8eeAW\10Üû\84¸¬¢8ÌÞâýVmôèVaÂl0<â\11l05C\9a\8d¡¢¯\9c-\11lI\14\9f\16¾\1d\11\9f\e4|w\89]?\9f|"o\1a¹Ä\93ð\8d\8cѬÜ\8fÛHu<)û¬ñEÂ~yù\9a/?O1\1aú\8cp\ 3\89!Uü\13JÅÂÌ\9b\89\8d¥"ß\9f´1òÁs¦¯Â¬Ø\84 æýGìê~\8aÅÒÜæ±\13ÓÊ~©WX£À[Åb~¥Z.rµp¤Ã\17\ 1w\16×\ 4\94\9bÓ\8a6Âà/µ{¸\93\97è\96AÝö¹ÒØß\võ\ 3xCâÖZß\ 4:\15d\869\ 5Î>K(S\9bµX(\9c]\vî,ãÁòy\1cäml\85«Ê2\949p-ü\97Dz~\19\8e\17\17j¨éþþ`\8bW¡0¨ÜkC·\87ï(&ËõªÓ\84÷\19\8aB\11N&(I`ÀêD\aæô\a¹eôýr*FI£Ô>I×3o°£Õ0ªî7\1e\vö\93ç\9cêñ\9e
+ɵ\8c\1å\1f©;CõAÌ\ç¯>?²\99Lç¯$UzP«\85!D\ fî7ç
+Vçf«Ùó\86Ú½\fÇÃ\1c8Àøq¼YÌÆß\17ÍÄOè\1f\88\9c\8dq\14ø\86×îëTT>ÜvâÐ?îÖînöËus)1#á\9f\89\9e°;E\ f\1d\13\88Ãͽh¡ÛH0\90\9cz\13\9e\ 5jYÿ"m\ 5cÇTÈëP­ªô^\98´¯Ôl#¸C«\ 3Ü\99¹\85vÊ ñp\83æ      ­\e*>gI\ 5j!E\\17\8b\92Ý\1c¾\9d,¾Õ\ 6M»T\8eCuWuØ ÛáYMßQâJ²\9by±A°\ e²wWUóEÓ\ 3>\17æÚýCçwwü\15e\1e§êF®\89>1'®E´T¼°!;\94ÿ.â{&lØÅ®g(ræÌ2\v\9b1\94\90\91]"Æã\ f Ö*Fë\ eº%«i\16,\bk%#(Ö*Q³\19\ 6²M\97±\90J\ f\8eí×3dÂR&J*)\8bk\85ã×6\Ñ\8c\88°CþfÕs        F-\9b5?\ 1 \7fÚ\1dÞ6ÎñÄd\e2\91bï \15:\ eÆã/\17ô\84\8c\92øÙHÑ8égÁkãO    #\93 \10\94^Ö:)\9b%ò(Áç\8bãÏ\19%\0²\8eê,Aùt\8b\9d\e]D¢ÉÏ\19Å.^ì\17%\1eÀý\ 3ÊE.d\85\85$Hb\85 9&\8eðR\11ì.1\97:\ f\90eܱ\16_\89\93b&@\ 4\8cB?qÍe\1a2^Ùªö¬\18Ê!\ e\ f:ý0\8b×/9\8b» \ae\16t§nÕ\9c\8aè¶(i?!t±\12'1lÑs4\añË\92\aÈ1g\15)"ÆAÞ\85äY4\11ÊN=\93aé       £)\ 6\8b¤W\9dù\ fãØ\8f\1eíy\1eâ<qDsY\11é©\94\\90à\ 1.Àýs¯\91CR"^BJ>=\r\8dH!\83)\ 5Ñ,Ýê´XøáCkÙE2^0û½\9bØÅ2\94k!(-\89ű§S\ eº><ým.\91dÖ9"¿S\1eÎívÒ7\vÈ4i(Á³.Ý\1d¢RÃ\8a \88m"\96\87\89\90üðã\85ä£\85£ñÔ\18\f\97±ü\80â¨\97\97\91zö­¿,<{\16R\8d\1a°\92fÇóÃþ\99|\83\e½\eÉG#¤ä4ÆÉ©ûÅHJ2įGlô\17\90h\7fÍÖ>>R9\8c\8eA«hÒ:\99<Rûµ×H®\17ì{".ðò\vä\19].Î>î/\8f_(¼ù\18n q?
+WQüJî¢òR\11!\9f²»ÇÝ\99G!Û(óöó>K&kØ\1f´\12:s¹Ã®\92`~z\84\81\1f\9e\1cr\bu2öÌZ5íŵd£F,\19.ü¢x¦RlX;ÅÜáÅ'Qò$\1e\81ûz\xWécÏØµ\92çxÐ\8bäG%Ä\83Vl\7f<Üù9\8fù»Ç]cÚ5\92\90ý0çÊI\12Ôz|»Ãõ4\86½«CÏ죢ÏÃ2?}#\99GÈ1\91ü°í\ f\11¶î\büò÷rM\ 6\1cý,G\9f&;\19    \ 4¥gêcâ\996h\86ÛÝL\97òÉÎk!#ÔÈÃ\1fùl\1e9kOÃ6b½¬\qò¾\ 6\1cR÷®e\1c\94\91\17Yyûô\ 6\1d¢èÄC(®Ê8õÿËVéÀª"\ 6\1aøD\ eÂ\ 3\9e³\95qWô¡Sa½\11\80\91y#\ 1\fzm®ªÁ±U\ 1ï$`rgýÈ«#\ 3\f¨\8c\vk÷<u@\7fú*£wuL\e¿»ÊÆ\1eê§[x(\87\8d\81¸r`\9eH\82Éã\b\82\91\87"
+\e²"\b\9c9\17U;-Å\Fªî®#¾«"û\r\80"úKñ\17u^íÅOÖïúÍå\1a\1f¸g¤>ãÑû¶Lj\1c<\eÒHº¨lcú´©§ñÔ?Kn\17\ewQ\vp¸üH'ÄWwN=ÛB]ÓWöi.\87Í\8aK¡Ô¹Ô$º\1c)s     .\87\8bÉ&\92ès\11-It<k8[\88¼xgË\88¼\7fVØ4¢ñ¯ÊItÃúݤ¹c^\89\1fÕ\ 2\1aòé. \7fQé.\86\93ðé.¤\7fK\12]R\1fI.¬\7fV\9dRCñèC\8a\92ä\8d}ÚK\945õÉ.\98kÑ$¹c_P\92æ\r\97N5æ\12]@×\95IsF¹É.¤k亡¯\ 6\92êÆ»âK¼!­\v\82xõ¡i\82H\9e5ìÒ\¡¯»ItÃ]ÒK\965õ      .ø5æ\12]ôkǤ¹\83^\1d\8dx4\97P5ÍIuC^Ú\r"z\ 2ô\974kÙ$º\91¯®\83þ;wÑ#\8fwº®¡\15Ýù        SÈ®î\9f\87\98Ew~F\94¬\1dÞå÷\10y!\a\92\10y!\a\93w\a¾ ¼{¸=\15Ö»\83Ñ_\ eî\ fEwuP¹h®ø\8aæ"¹\b®\9d\15í\91ª\93Ô"½¢+\9a\8aöh®¥\15øH®©\15ìQ]å\15è\91]Z+Т»Â+ê ®äO¸ÑyA¢ò\83\ 6\8bÊ\r\b=0Aé\82\ fL\10z`\83Ë\b\83Ë\b\83Ë\rg\96\1aÏ,5\9e\8c\1f\ 5w)ýÄ~`Gæ\ 4~`Gæ\ 4~`Gæ\ 4~gSUé\91]Þ«ËEy\88'{'\99Ô\17§Ew{G¨EyT¶OF?\82»\98>à¾\9c\véÀ¾\9c\véÃUèn\81s¾y!¾y!¾y!¾y7Py\88®µÙ}\15á]î^\8aë \92¨\15ƹ®÷/E~|\rÜÛ÷2\ f\80|\90\ f\92\ 1ò@>H\aÉ\0ù \1f$\ 3äÝ\87ß\10_\99\ 2\94\8dã^Î\ 6îxû\9dëÀ~P\ fÊ\ 1ù@?(\aå\0ü \1f\94\ 3ò\80~WP~ï\80¾æ@ð\17¦\ 1z`\17¦\ 1z`\17¦\ 1z`\17¦\ 1z`Ø<°\ f\96\ 1òÀ>X\aË\0ù`\1f,\ 3å\80\ f\96\ 1ó\0>`\aÌ\0ù\80\1f0\ 3æ\0\ f\98\ 1ó\0>`\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÍ\0ù \1f4\ 3æ\80\ f\9a\ 1ó@>h\aÍ\0ù \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fC\87\ 2æzò\82\82\82\82\82\82zñ¯e\ 2\94õå]V«êQ^æzð\ f\92\ 1ò@>H\aÉ\0ù \1f$\ 3ä\80|\90\ f\92PO^5ën'¯\1aôÐ7|Ï÷3×\80ü \1f\94\ 3ò\80~P\ fÊ\ 1ù@?(\aå\ 6\97Ó\0}0\aÓ\0}0\aÓ\0}0\aÓ\0}0\aÓ\0}0\aË\0ù`\1f,\ 3å\80\ f\96\ 1òÀ>X\aË\0ù`\1f0\ 3æ\0\ f\98\ 1ó\0>`\aÌ\0ù\80\1f0\ 3æ\0}8\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÓ\80}8\aÓ\80}@\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÔ\0}@\aÔ\0\ f\9a\ 1ó@>h\aÍ\0ù \1f4\ 3æ\80\ f\9a\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ \1fR\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ@\1fT\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1õ`\1fV\ 1÷\80\ f¼\0\ 3ï\0\1fx\0ûÀ\aÞ\0\ 1÷\80\ f¼\0}\ e\8d\85Ï\ 1ø×¡\81K\80ükÏ@¥À~\9aè^Z+Ì@¥À~5äàRà?C©_\ 2\97\ 1ú\1d\8e\ 3ô:\95ð7}Rû\9e\ 2ð\a\92\0ò@\1eH\ 3É\0\ f$\ 1ä\80\a\94\0ò\80\1eP\ 3Ê\0y@\ f(\ 1å\0\a¦\0z`\a¦\0z`\a¦\0z`\a¦\0z`\a¦\0y`\ f,\ 1å\80\a\96\0òÀ\1eX\ 3Ë\0y`\ f|\0\ 3ß\0\1eø\0÷À\a¾\0\ 1ï\80\ f|\0\ 3ß@\1eú\0÷Ð\a¾\80\ 1ï \ f}\0\ 3Ì\0y\80\ f0\ 1æ\0\a\98\0ó\0\1e`\ 3Ì\0zp\a§\0zp\a§\0zp\a§\0zp\a§\0zp\a¨\0z\80\a¨\0z\80\a¨\0z\80\a¨\0z\80\a¨\0\aª\0\aª\0\aª\0\aª\0\a«\0\a«\0\a«\0\a«\0\a«\0\ f4\ 1æ\80\a\9a\0ó@\1eh\ 3Í\0\ fR\0õ \ fR\0õ \ fR\0õ \ fR\0õ \ f\aÞvëï+oþéÛ        ^±\16\19¾ø\8dp_\81D^\15¹þ\ 4äXjt~å]Öïèå÷\95º~\1eâÌ\9c"W°c\15ÿjÜ~ò¶\1fÿ\rm?yZ¯Û"W.\aýÕÍ\7f÷ÿb·rÎ8ß6ùÆôÿ¯£|/H\a\94ÌMÚOªºß\8f¾9¼\ 1ÍûÓNo\96|9¾qaÍæ`Ù·m
+Í¿s\87fß½\87fß,µ\9by\93\99·ÎG\9c&\86i¼L\99Ü\11ÐÁ[ãþÌ\1f\98u\0s\83à\17\aÀ.\ f\80\\1f\0¸>\ 1p|\ 2àø\ 5Áð\v\83à\17\19Á7ë\86Û÷²hç\eë\9a\1a°^üå\15\8duE\8dE\9dE¥EµAµ+*ajaêN©\93©\97©\9d© ©¡©uScSeSgSiSmRk¥\8e¡]Cº9Ô\9b©wS®¨\1dPºtêÅÕ\93«7V\8e­\9d\eT²ª\16ª\1e¨ê©:©z©Úª
\1a§UV5VUVuV\95VÕFÕ¬«\85«\87«:®N®^®v®\82®\86­Õ]\8d]\95]\9d]¥]µYµ\8b+!k!ë\ e¬\93¬\97¬\9d\1d\16\12ê²Æ²Ê²Î²Ò²Ú°ÚÕ\95°µ°õ§VÉÖËÖÎÖÐVÐÖº­±­²­³­´­¶­6¹et-t=qÕÒuÒõÓµÔ\15Ô5Ϋ¬k¬«¬ë­+­«\8d¯Y_\v_\ f^u|\9d|½|í}\ 5}\r{ªû\1aû*û:ûJûjól\16XBØCØ\1da'a/a;aAaC`êÂÆÂÊÂÎÂÒÂÚÁ\ 6\1d \Ó&Ñ,¢\85¢\87¢:\8aN\8a^\8av\8a\82\8a\86\89Õ\15\8d\15\95\15\9d\15¥\15µ\11´k(áháèΣ\93£\97£\9d£ £¡£uGcGeGgGiGmFm"ÊHZHzC©$é%é'i()(i\1dRXÒYRYÒZR[R\e\96\16\96\1e\94êY:YzYÚZ
+Z\1aWT¶4¶T¶t¶\94¶Ô¦Ó,¦\85¦\87¦:\9aN\9a^\9av\9a\82\9a\86\99Õ5\8d5\955\9d5¥5µ1´ë)áiáéΧ\93§\97§\9d§ §¡§uOcOeOgOiOmNmBÊ\88Z\88z\83ª$ê%ê'j(*(OØ&Æ¢Ëÿû\ 4ÿ\93`\95¨Q¹ÿß°?\14ý\81ùGì\12E@¶  ç\9f¯\1fóÉ¿×\90Cüy\13\ 4eH\9a"8\8c¡ÿù1þÄ\91\9b!
+4\9dy\19\92&E`6DNò=\1f¿²­ÛÄÖçù4Z\1c\1eU¾ËÜP·\9ea\16Öf\10\87\7fèâ3õl¼\9cµ4«Ï\9dÅ\9fÀ\1f?Ïá¨o¸¦3ÿ¶r&_ôѧpe\x\80\93Å!ûü¬äLIJ\7føQ§\7fòþwF\9dß\913ÁÜ\eÿ¦\8d;\13\19\97DZ\1eC\85\11\7f­\1aw..\18òÐò"9Eþ´iÜ ¸_ÌB\ f\95\83ÿ\80ÜtZiÚ/\98\W6$|#°
+\9c?C­\8c¢à0\84\87ôDóèÃXÄ´\eÅã\8cl\7fÆ7\18\7fÄF<ÿ\8eÒö,odz8â\8føí_Oøí±Ö\9e½Ól@&¶²0¤\e7è4Èzá\82tvj        A¸ÙàèÇ\86\13<ä+-w\17ª¥£A¢÷\17³ÌDçT~~.Ç\18¬ËÌ\94,^8\êH<JÖú\89ä2¿\1cm\19\18²¿i\v4\f©ýr½ÒP½Z\19^_÷åc±\1e\81hU\ 6~îÒ±\16\9c"ö~g¡\1efò/p~ÑA      4(_ºÃlÄÿ\13\99\8b'ø¼FâcIÆðÉ\8aí¿Øñ\e·\7fAã¢\89\95\9b¤\12\93=-¸Ë{ïå@\97»ô\ 2Ï\93vl\89Â\ 4É|\ fË»'$Gõ²±÷\9b/Þ0dzS|\9dÖáæ1®·K`r¿\17Þù;\1e\fô\9fÉ-,×c\94\80äJîó\19~D7»¦¨\8bò²\v\Uh|Ø\7fûï®°ù\80ñç\9fò¤wÄeÏ\97ç2\7fø·çùj4\14=/Æj&ÆýS\82Uð÷ò³Í\14\7f"Úaÿ÷Kß3aáX' \8bÚsOÞ­ÿýRûØÿâ^ùãÌ\vQbE!\ f\92\ eWùËß\ 6þ\96Oÿ©{ç\13 ?\9eOpGý%ïÌ
+[óQ\97\1cßÖ^ù5gæ\8aOýGïøKÞ/U\13\87;\9eíûó\83Ï\92ù-÷³Oó/bt\17\84ÙP[>LóOßú~ÊÝ\v*ÖþÇ\80\7f\80Q\v¸\ 2£\92^{\aÒ\b\ 1\1fc\11êÌãNq\81Û\1f\8a\8bs\80}dãØ]Ƶ\ç;ns\97\81\8eÃæÅ`/Æ0qëÚ©\9f¶·\9c\8bbæ@\961\1co\ f\86|(ü©Ü((/¹>\vðÿX/
+\8c\17Õ\8a\vë\97        Ñ¤rý»Ó0\90} b;?+?:Ó3\8f|Ånè\1e­V
++Ã;\8aë¿ÆÒ,~p\95£á\ 4ZÖ;²    1Y\89îèNåã\95ðcnþìÏȽ\97Á¾Ìë\10n:V\v[\16ú\8dr3\15J\9f\90l\9f\10kÁ¥Ð²_\97/ö¯bÈ\91p=gqÈ6äÓù¸2&ñ\a8e\a\94\83\99K\839Ãþ@yå\9371$Úd\10y3\ f\84\97\1f\85{Õï(\ e\90GþÛ\ 47A¯\ 2ÄòX8ã\9cãé]\11Æ{Ò\8a3Ñò^ô\83 ¨Üov$®Âï&ó\8cÜ|\a8â8¶9ÎVô&®w}ÒCLò,\9c&\1f½\96+\1dÍ%\90¬hýºãW=í\17¾K\ eÁ1\17Þ\87\8edÝ1éÀ
+ÇÖ\85\8cê¥\97\rÚì$ü\0¬(tÓþà\1eö\8b\9f\ 5\87ê\99Oï¯Bu\83\ e\9cñ\97\ f×»ß\89/oúQ}£°Bq<E\82k&m2Hð\1e      ð³õ\1e\84ñí\94\8b[%«$\82\1démíí
+'äVg/ií;n\97sD¡ï·áöû´ãnL\8d\e¾^'Ûføö\83\81<ÝçæzEื\8f\15\8d\8cô\87D¼ü\ fCà#̨\1d\9bt¡cøN\1fàÐÆo\ 4\a\9eAÜfá\9e\9eßl\98pö¼xîEÌ\e`\86aB\84\e\92\83^\94\ f\19\9d\14\e\89B\rн"äÄ\8a\8bþs\8f4øRw¤\8b\93$\83\8c\15\1f\1e\ fJa\8d\8cæ\ fÊ/ã\89\1eto"Ù\99\ 6ý\1dÝ\9bt¿õ¯H·`ví¦\ 4ÕË\8bj\vÛÐ\81¯?3ÈÃ|7\94lÖ9.\10qmK\ e*"\ 2\1cÔ,ÛÓlò\8f\ f\0\9cR48x½w\94\1fy8s÷\ 6Koìß!\a\10\17#¾þ\ ec?úZ\8f¿ú4órÖÿµ§\9b\17\97qÿ\16\9eoõâ3ð\9e\88Ìç\8föñ\19ô\95¥Ägø+K\88ÏîWþn#1ø½?Á\9dg\13Dïâ~ö\8eýQD*ò\13áÿ³Ö\83þ|Nd\ e\82\85î\1f\9bWj\96º²Ýd{o\9a˰ZW\85¹\96²Íç¾\98Ú¨\84ùy÷\9f\1fÍZ\9e=®Ò³°éL­¥Áz½\19\9f3Aø-Qëx\n÷\87;<ÃK;À¤©ó\1d|\v\89ô;\8f\93m\97í6\8b÷<ýo+9U\ 1P¸®ç ÚH\8d\ 6I¥-7Ý#5\8fÙyñ%gû½þ¶ßñÀ/Ü?b£«ê\fÂÄ\97ôLüú\13ÅGPκüVdþ\e\b\94ïü¸\87?oµ\93\89ÝTB¨íµøß\96%C;ü×ÝI'ÐhÞ{·cÈóø\92qÆúÚíÞi9rçWú;ì¹>Çcö¯-7Õ\8fÄeäg⫦lõù~\ f·Þ0)ë²ãú\a\97ß\eÂ#QÖ¨Ø÷\8c\13}\1aïB\8f g´ÏÇ\85î6\9e%¿\95À`_Éľó³ýgJ6\93!\19\96Øý\1aMK\ 34¾F÷\a\9fÕLDë²Z\1fèâÎ8ï\98'Âbú>nCo©_¬\96\81ë¦Ûk)X(ñz\19\19\1d\eBήùz\99ñ¹_gVÀÞ?\16߬ø1\F¾|Ç\89±Îj;)v%|?\19Ø\18o\9fº\8aoåæ49kï³U\14WJ[\97\90­ñsÑ»\8eã)à.æú¿<Rn\8fÓ@ûÍObÊ¡ÿ좠Ìúíâ\8cû±qr\9f\7f½Ò[A&VgÉ¿DÕE\94Ý>oëÔ~9¶\14\9cë\1c\ f\91¤Zj?G«MÙ©k\19caóvÓßF_\17\16_y\8dÏý\8cçq-+{_\8e\a¾©óåâÌÔi_³Kô\13QV\15ðÒ\1d\7f¿\12tZzº\12s8\18/\ 2&¿µÆVwÝ·
+\16-FËY1ÈÕkü(Ý®ï\93gÇ÷|Êè³^\1aD±°øþ¨Êí_á\9a¾x±<hµ>æ\ 5´ç×ÉhÖ{iö?5öãm¢Õ=æ;\f\1fu\9eÀ³ñ69×ë[ÝïÙ\8bWÚÖoñyÍ£Ã\1a      \17ýgbó\89§8\9e«ÌÉo»>q\91Z|_\ 6\97;\8fùøì\8aU\8aªQ\17õû\ f¾k$;        ñ\85e3®{:§3Q{>e4ïXë\15ñF&6'ÕÍÑíüØÍ\1foñ|ym\11ÑÑ\85¦úý\1eKL\17¦»uKGèå¢}×\11\864\96ú#Óf·Ñ>~WNßà\98ã{,Êèõ±î\94½U5¦QêñÓþ-p,Ëû6ú\97ݯ½Ðaâh<¬_\98ÃÔñY\99[©ûj,±\f\18i\19ò÷\95\1e\90Ð\9dg¿ßߺý¤*ý<÷±[Ñ\9fé[4+§\13\8béò7\96ÑÙLôñÒ¹\9f¶a¢l'\eçÕk\17hXj¡µ\91\13\13¸ÄÍ\v¥kGÒèØy±[M¼6ãß\8cÝùm\fÙêÞ9Ü\8d\7fV·Tg¥\96íÞù\¦\8a5kwv\18Ç\9eínê+G\997\7f\ 1\88hl6\13Éý\9dvB\11¯¡¯öÖë\18å\9fÚ)è[³¶\81ÇÙ.±ë±þ\86=·A\83EY;û\ e_CAÓ]±¥ÓÕè\áï­\15öj·º¼!|¸©î\87\ f&Ë3\1cO\9eEFkÁ}i\15ã[l[\13EÕ{ñÆ\10F,]­>I\16²<\a¸§9Ǧ\ry\18LY$Äwl}\r6\15;?-]MÿÌ~ÚðÉ+ë{¿àí´ÞÛ=\1fC{¾µS\83å\14N\vq\17ðùÞM[Z\95ú\17µTû¬±ExûÛ(l\ 6Î\91\8f\8f\86oÌËüÜ\b\84Äû<Î?­/1ö5Ùw´=Vʹ̪b\9dàle\91À¦õ9{^vI÷L¾¨îÅ´tlÚ´ÅÚLü\8d{^\9e\95\1fNË´d]\ 1dÔs>,)\99M\8aÿC£Ke\8az/\12YP}\94½=\ eoa\eK\9aÀ@â>.[ùi\9e#;\9b9¬6¥\87\91ñ{Üíõ\ 6\12\²úíNW9EîÂDézé¨\7f\83»có\96d\1fwçRÌMï£v\9eï\1f\94ÕN\96\9ds¯·{}\94©\8eÔs23þ]\ eW\94Z\83_2[N²\v\97\92O×çrzÝ!\84¼t=LzöÓL6\19M\8d\95½\87ßø\18W\ 3±Ò³\91z죴þ=¾g\11ßùPF&òµ\11P6\èµÞg%¤¾Ó­åò\8c/ðì½É½Í\9e*+fÓ'   ¹ãã¡\f3g\94Îçcÿf1w\8fÌ\96ÈLò0\91f'êÉöô´»o.&£±\95ÂÚíõ\1a$äû~ÿ\11Æ\93\97.»YÛ)°\96õ;n\9a\82u\99Þ\16»ÎY\ 6Î\87_¨Åým\89Pi0¹nóÔò¿\1f©\95y?^\8a[¤Æ\10Ò¹]\\ 5\fûÏ\80¿S£ÞUÈmß±¦¦ö\9f´+ëüÇM)èpÙLÜ\ eU\82\92l;\1c¾\ 3sgÆaU\ 35\82Ùo~¾2¢t\9e×Á\85Å}Ò\8c]-_I\85ÍÁlU\15às\14u¾ß'z»Z_©Ò±ÛYæ\15\93O\röºúa{v\15\82\13k¬äå\15\95y´j´Þ+®\15v\1eB1v\8a\8f#\90ÑERù\8aËôí\89Ùí\17èâü­\7fCªÌl\9e>\87\82f|IZí\ f\17&Êz\a;ÈÚPi[<\93¡öµ|úÿ\v²g°¥÷­^¶\eK7¢p~\8f;éî1Ô\amü/\96\9eªZ\17ð{&£\15\94\8fë>2\18ëÚß|\9dkÖFUð\9fD\8foµ½ãwKõQä^°Î'ý·Ò^µ¿gË\15¹Æ®óy¾ÿ¡à@y\19÷Ò»*»ÿ
+Õ÷\84ÇÍ÷§2\9c¹ªÙ\87ÔÍw\9b\89\ 6»Ökö\1a¯\e\8fìp\96\96\9eC\1fêñ\bÄ­ñc\9fv\92VòòϦqA\92\13èÞ\93ÂwÔW\1dÌ;Ù)\88±òv>\85Î\ 4§¬.\12\ f\11æÞ\8eØj|X¿\85þ\13\19{M\17ãt²¹*8ö:è    -W\13a°Ø^˽4\9aÝõ¹¼*ú\1c½Oì¥ÈÑ\19{2òQ[Ú{\r\aK\11S=Þ/ñ\95vË%4½ÿ¾üNÖô\9feu\1e¿\15|϶¥á|\7fdNÛ\93éc¾,ÔÞ\15ù7¯Þá»\ f_ÏÚ/ñ/Ú¯\93£ácºoÅÔì¶^\86î'\87\e¤[¬áwï¶Ý«ñ\95w\99\1aw¥ý=Î\13Ç×4Õês:L¦«5 ~Qøa¶½\8f+\r_\eçìæòw®ò\aî~7h\a·å>^÷\15ÎgöÅ.®.\1awW1×èß\95l/\ 4*Ü{\
+}7ÉÖ0ò']sýËV\9e;óÆ\9e·7\9eÌw\98èí¶g{+ôg¯¸gÿÊS\9bá7\92
+Þí}î\8f\8b\9bøbêªwXí³oeâúN\83Uè§\90·Ï±¡Üoë89®\97\999iì>¶\ 6÷\19æ@Ìg2¼Ù;+ñ?°ç\13\ 5Ûñ"\í¢¸\99Xÿnº\0\9f¯\ 4WJýý\1d[-\92xy=º÷¾²\0®º[â¡õy\e\16V\ f¸}Ö\9b\8c¾õ\0\9b%¼ñ±ø\ f\97²\8bÖ÷¹\8c3îªõ\r\0]ggÈèò5öÑÞR2äßɽ¾y\r|&¹\86{\8beÚÌ,õû\13\7f+½æü¼¿#Ó¦gG\ 5\ 1\9eÛ\98©uý0`boå÷\14]\85¥ï\97K\15R¿\ 5M×x\15»+ù\81\91­¿§aÂ\9aØa>?yv¶»s²ÁÈ÷\16\1a¿¯\85\8føZÉGSd~,\1d³F9l\ 1?7½ã-ð=|ô];­\96\8e;\1dËÑ`
+\85xõ¸P\91¾Ëï\9bÜ¡§\9c\ 2døÍ/\9e÷M8w\99¡Èù6ø=\ f\ 3\0[ÏÒßÒ3`Ö/Ëý\99Ìî¿eL£\0eäË8\12{_\ 5ã@÷eÆ\8bÓ{²LºÍ\86Ïc\ 2OY\ 1Öz«3ZÈÝ2\8c|\1aT\11=9×ÿ/i³ß0°Ååø&pð°PEbq;Uû«\ fa÷rö\83(\97\ 4\9b\v-\9b\91æe­\19Tn|\ efÏ«ÑAA\93m%ëõÓ\9b>í¯\8fØØç;__\8bßA\94³ÝÝu¸Zýêû\f¼ß\95\b»à\85\83MÝQõ_J½ä\8bO\1cé^\87?ÀãWA\97/®ðf\89Óïâü¸Ü\ 6CsÝ´Éà\89\9d«ö«ý/g\7f\e§ßýÿD_¯äjú¢x\8frú̽v5®Í_ÙC«"\19~\f\97~\b]ã,\87\ 1Þ3
+w\8cµ\9fúÙb=®ÖSSËò>\16´}µ,»×¹Ðù\7fóà-õ\84\10ÿ DÙ\19\9ff\87Ûi\17mõ±ÿ³\ 3íºÍ¡å¨\84àý·p¡o¼a\16Þ\9fïí»è\9ecâ¯\84\11{*ñ\96¼4\822f\7fû«.´«\8e¡Æa7öõeåLÿßV_¯)\ 1úÒ¿\8fV^\17û»pëQí¿­þ}¸x4{pð\7f··\ fúX¬\9a\16\183õ4\a\12w\82B\16)(s\98ÂÎrþØOy­:\1d\b\7fqïi\1cüâøÍÇ\a\e³$æ\11ë\vÆ\1fIÄæâoÔ\fí
+C¤ø\16Tmá\8eÅxQ±8§\9ep\9drÔ \ 5\8fÌEç¥â¸öú\87v}\92n\89\17\v\ ­ ì}4)$\1cxVN8NíR\13¼XÃ\19ÝBJͧÑ+4\83E\ 2úco¼EÕ>{\15\86Ã\ f¥ÇsI±~nä\1c\1d§Ø\83\86sËEÇl[i1qÒµ¿ æË¡`[Oýø©q\ 6Âv^mY\1f\15É£gé#q\ 1Î\14\a\86%\ e\95ñ×]+ìÝüNñ\e»\ 1ñ\17q\9d*L¬o\86åå\94û\8až\\19ø¡Iô\8e¨Þ9ǸÌVmkÑýºQ4ç    \90³\eþ£\96\9fý­è;û\9b\8eÝ\1e\9aã·Gâ¡Û£ý6ßþ¦Ã\9c(v\7fá¸û\1e?2u§\fÈÊM´ZûLÇF²òR?úï>/\ 5MyòÞ÷Äb\88Ä\8f¸»ß\1f.NTùt|\12\18\91:zs'Ëçß\ e]Ñy\15÷\9c\8aýÞUBÛ,\11\16Úì\17î\97\7fAc78ï¶Ï\93Á\7fò\ÿÝWIÏ^\8f\91m\1eÛ8ªÚ\7fñUÒr¸+\8a·-ãýòçÁà\87X\1fÿÎ\ù«Ò\ 3ùë×ñ«¤ÅO«-\7f?\ 6\8fßõUÒbí±\8a õGïøK\9e*VÇ\95\ 4\87\85\8fÊ\82ýjé< ²x4f\1f\83ÿ\ 5]&\8e\8aÖ£÷ü­jNáñ/Ò=;t\15"\1e\92²\18\97¡Ø}õ§\ô;\ 6\|:\7fBøEÝ\8d­\9cå«å¦!\1e¾L\11òlÑà\10°f\ 6\ f\94Ïa\0?\ 6-\19\8dø\e\82E*\98ºýíß\10\1d\s¨B\99\ 6\16\ 3<\86\ 2\85,\al<\0\9c ñ+ÃV5QÏp¨*±\ 5Fåï·G±F,\ 6Lx\ 19\1a\82UR\18írXá?.'ã¡PWÖA\:1:
+à®\85\ 5V ®I\ 5NAW´\15\8fA_¤Ñ«&\82µ\88+*\82¹ô\15\97AYD\15\98A\XÕÔX¤\1cÙ'\1e:u\ 5wE\8f\1d<\96;R\86\ 2\81Þ\ 1çP.Ö\83z\rA\bÒ¼\88¾ébvèô_2\ eh¯Ò+1;\80\1d­F
+Ä£¾X\ 1Ø\16Ì8©§ç/ýÕùßq\18OÁöÿ?u`½0C¦\98\fÚÀ]9yï*¯Ãu\1cÛ þW£?<Fÿ=Àn\83­êß1   *zB§úFûÐã\ f\V24g\85\0\84çQçÎuÍ\89\15?ÿ§\1eJ*wFtPz\ eåÞ`N§Nb\12_\82\83·ê/9åm\ 5l ·\88\88á½èü2Q§\10¿\ 1Ó\88I\90t+'þòg5§Äo(\8aÐt\f^c\96\ðEÄoÞôó\96è<ß²hÔ²z1ÂèY°².ü0ÜÏÔ,\7fDnnS·j~âÔ)5\17\ eik·k¦ÊÝó\9að\83¢×¦¿ \ 2±@\ 5·¾\80\vêéÝ\80º\91\1aQçç\14\14!bYF`\91\8a\10s\ 5\1ebo"\86ý;Ã[»\vK@²\94Wýeë'q­®\1d\e3\87gr4\85DhíàÈ`íɱó\95\8c\bs\8b7½:\16\91ödÊË\8d\7f\1e·|\8aÓ§¬:\9e\81\82\ esÖµ\vR\ 3r\83\9fF+?ëî\91°§;\8b\18/\13\9c\e¿\9c\99\16\17fZ\14\97n\8eë½f\8f\7f':¤\9d°8qa5¨ìÉ\1fpî<      i?ÉÏa¸\8b\1f\ 5¤ç0Â\7f\9d\9eÄ$n\9cO\e\0\9cG=ð©\99ñØk6\8bÓ\16í\88Ø\97\9a\15.:VIn7\8f>~W\94Dö9\85ôoyNÄa\91Zð»Í©ó.Z^\94¡f¥"¬Ï£/¢ï«d^\11³ã÷\9a·û\8dkÏþ0sy\14)ß7\a\e=\9b\9a"m\9cþ;Ò\13Xq9\91\9fÇm\86\80ÝÂhD*~¯\9d\17y\99ðV/&ÜÏ-äu\13ô%¬/\ 4Í)é\8bÇ4à\99<z2b§\ 3\9683<zmÌðE\93\9964å\9eEj!\8e/\83\86é\9e\1c¹H=tkQq\80î\rç8Z³\80î\9as¼Å\8dÕ\12Z³j9kx#kH­6J\1dÚ´\0\9c¹±IF.u£ä\9cïÅb\1ev.\88wgÞ¨º^Àïg ê\89òY¹8v\r\8b\82\93\83?öÐø\14Ûâ/\a¸¼rÑlëµ2æÍ1Ù è½öj\12°l8\94»ÐïèH\r&<ôv;(?!W6þ/\1f½ý+ZÜqë\1f\87\17\8f\1c=\91\14~OÑ\926@v7*,u\15\ö:5þòÔ\9b*HJÏ
+Qð\1f¤ïcß@SkÚ>[\8a°[Ý\9dÁ2øþ\83VBÍÅ\9b<aùG\87\91\15\8c\ e\vQ8[&8¯R5Ì2Æn8ñFc\9c{Zb\97C\97z\9c\93\1f\87YjLç8ë\1aÊ´?\99}Ü£\9c\99·\16sÆùZeýKâê\aâYOîÓ\1c|©Ìâ\ f\86¦l\ f3ï_\87kÒ<\ 3(O@\91\1a7i9býæønPîöøÊ\7fï6k}jÞæ×¢Æåà\8dÝÑ\92\9e\16é¿\15ºkX|\ e\1epËAÚ¨s\87nêwa\8ayCÁD\88õ\9eô\9a$|\9f<8ü\0AZÈÝé)"\8cÆ¿\ f\9e¼z\10>Z\ 4ÃðFNfã\ 3Ò½\89ókäøc\92k\ e\83ý\96+/\14ÂîÚ8õ\97m\93"èMáÙ9\867LT9wÉÇ\81ù\14ÿ)3\9cõºlaÓûÃÉ\Òg=\8bW¥ºm¨ì³©Æ\ 5Õí\v\10¤¡EâLAá»ß
+'\93>\1c[\ f\8c\9bz\17\8a\1e,ò#}3ε\89a¦FÉg²û»áû\ eÆ9\91\85-\84=êmìO
+Tþôý0ýéÇB!o~õ\8d'§ûÞ÷³Ó2I$ö@!!   !\88\b1\ 2Ò\12\ 5¾ñ=\89\98\19\12\0Q-KPAÄ\ 5V2H\b\r®\ 4\91s3Î5µmE­¿6£«Zí\1a« \0¦d\81$\b\ 1\b(\ 2(ÂÑL\b
+"Ô\0    \9fÿßßþÌÈHDUE·ëmæÝúïÜæô7£»Íè}Íæô7\9bÍß¹Íç7¥»Ðß¿\a·ð\13z\9bÐÞ¦óîæô·\9bÔû½½ÂXkd\96I$\8dÐûVr­^®j\97\9ekSë±/\14¾Å&èÀæ\82n\8dJnÎ\92ä\9da\92±\ 4Ú\94ë\r\95(ºd\90\15S5\89\19\7fì\8b\98¼0\12\88ò\96\0®r­¬¢5(fã\8c1ÄXk±V¯l4\88<\82D\9bô`Q©°F§páÿ\ 1\84\ e¨\88\ f6¿£¦\80\17\ 5\90¿àÓ\81A\90¤\98\9e)7)>!7)\br\94\7f\8e\85ÚrÔ0.\19?ãéi\ 1,?<Î\7f½ü\1dà'½ä\18\81\9ew\8c\14Q ;íNÊ6VvùHG\98\8fëF\92ã\ 6ÀT¶\9eÇæ\vÛg\1eÔEÃA\eÅ\19|òm·\12D*Ô       $ø:ûjÓ$K=e\1ct!rÓ7"\et `ê²±ÜÙ6?d¥öE\94¼G$\1ac®%/º\89\ 2q\92\93\8e        Kì¾9Kíæ\8f\17\97i\¯#.\80\90±³¢\15À\8f*\17\97\83=RÆ×\bÒ\13SÏêVÜÂÛV\8e\8b5\ 3ÜZÄ[&E×\83Ì]vüÅÔH\1d\@­DjRdÝì~!\88\95\10p\1f<@}£\ 2DöIj\988i8¦Ñu\1dÐdÍä\eC»¶*m$\9c94j\eí"\88õ   ¹íö\91FQúã\ 4µ}R>\rä\1e\1eÕü\9b\0\98\87Z2¥6\12©\18Àv\ f»y/ÁòÊ0{I\9b\f\92A\8b¯\83\8aV¤Æ1jp0ªhKZÔ®­JQ\82ÉÕ©2,6a>ù|O¼ù<LÞo\89ü¯o§\1dÑMÛ\b\1a\ 5ª´µ\12\10âxRÿ\1c\94Tx@!|8\ 4\0àFª\1c5°ÆâD9_¯OM¢·\81K.®\10è\16\86¶B!FÓµ\1d/\a\r\r\bt\16æ\93\9b\83îD\9bucéd\16\9dð\ 5îDàýÌɦ\19ð\13\9fy/©!\ eÊß\1f!\ eÊÜ0Ðÿ!cÃ\85\84Ó\97\90ýØM9èXM?z?ýøM?åg\ e[Hw\9b\9d=\0\86\93\81]\98:Y¹\8c«ya\ 3ó\87\7fjd"\1a\86¬\81Hj\1cMÅ,«t\9er v\9cÕÕ\14%ÒO9\9b\86NRC\99_\\93´T±IæÎ\0TãJÒµDj7\ e\13?t\93\988\1a\1dó\8ehôaóbêÜá±#\8b\9aÜ£Ou\v\12|ñ³ÈÓ\86\87¿K\9e\981\1apÈ¢«\9e\8c)\ 1()&{ãªÚäÝ]ò:\eÕ«ýáÍg+\91¥Ý     \eìÝ\0Ò\8dIylî.\ 6\90   Ôw\9ajÃ9GGj2Ï\86.á¶\1a.\8aäE5®Ñyâ\86#S\19r\1a+bWG\98*F|¢\7f)z°"C\8bú SÎÜ\9b\8a\10Á×5GK\ÕîEéHÉ5ÐFbüd°Ö1ûŬcF\ 3L\95\1fDG»F\9e\\89ï\a}\ etsÌT\17X\93^/u\898E\8e¤j\17¼oK4ë\16qzp®±f\97§èº\8c\ 2È\80E
+-_ï×<QY¢-      Ë
+\f\ 2\8aý\17G\13Ä ×7\9c}EÜ\ 2\92\96©sh/©w\88üJ«<£L\1d\89\15à­Å\8cm\b«NýTÚ\rR5\15ÄlZí`RÙ\11YJ\v®gx0|Îò1\82Õ\ 6ì¯ùÚÒð\bÚW\ 3\8d\866δ\12HÑ#¢à\8d\18\r\9bkþÂ\97x}\1chïü\85\18e\bêÀY\9aç5Èè\8aBH,Ù4¦\ 2#Fª\1ep\90Ω\0¦\ e\ 2â\849ó¿f4"ÚÊQ¹\99c;3:øwoô\Ôq\82w3]ß\91^d\8e\12òd\89³\ 6FPEåX\ 6»/t80ûó&ÜÍ2ç\ f$oÍ\12Ùâ\b¹ySnÑF]¨d¬! j¦¢p\bòñ\17ðØs\83\ fÿ3ðwüBC\9fù\84\9d?ò      íÿ\18p&H¯Ù\e\13Zóí\89ß\9f;\9c\1d1óé¾1æ\19\ 4ø\8aõßÁ^\17;ö¬ùÿ½_Ã#7ŵgâ­Vøîp\81\að/úÐÛ\88>\1f\17?÷ÚßÂ_\85ø~câ\10\ÿ\9a¿\9fmg`\99¨s\16þ"Ú\ 5\9f\8b\87ÌG°Y\1eÁ8»f))8HçÛzS\9bT~f¹·åÃGù\9cËú~\83×v}y\92²¦ÊÊ\9d+*|¬ªéYT%e`¸¡Ë\19\841d[Ä\90"ÞnPrù\9eÎ",5^n\80QY]-\91sTye\91\ 4VlPet\83EAj\8aF\\88¤eúþº\86áVDZ\ eÒ\87\9c«¸zz\13¸,q÷Ã.P½÷\1eÊLËçE&e\ 5æLÉ\eÔ\98éä~'ä\piãs­W\1cd\1939\9førÒfÈË\93üÄ\99©Þ$Í\99\96é\r\8b\97é\rñf:C|\eÇHo\ e[
+Dò\7f\98Â\91?
+k\19lQ¦Ëâ\8d¹Ìb\88\9f\8a"\7fTDò\7f\98ê\88\9fÕ\13¿¯'y?ÌuäïëÉß\9d'y?ÌgIß\9d5\94·tl¤¿toã\98î\8d6ñÝ\11?À"y?Ìx\ 4Oð     ßã\93¼\9fæ<rwøäï©'y?ÌT\93¾¤Ü\ 4¶Üß
+_nl\9cÆÜÔ¯\er'ï\88\9e\eâ'ï\8d¼KI\9cÆ^Lî\8abLão\12cî示\1f8òs\ fóì\97\1cæ\80\92­öµf>_\8a4Ï.tÛ­\1f\9adûtò=F7\1f=\80\9dÇâY\13èw/p
+//z^Ç!ì\87\9eÅ¿ßöx\95N5õõ\1cá\ fÊßîåɾ'ú\96ò"·ð»\1e\9d¾çK\83ê\7f?æèõ\9aO)÷\14Îl\97ì>\ 5½§úoý¡\87ôòË1\12ËA¦Yh,K\1fp\1fë\91«êT¶]­C(²içVçÕ\ f3¡ù\9d\12Üò\ 3ÎN×ÐÃ{%g>Û\1f
+BNåÎ\ 6åðFÁ\86WM»¶\92|\9dùhhPLcn\9ee\91SúÝ6ï.)\109½ükeù\87\99l\9f\ 5q\90û\ 1\98\82\9aÏðí×øûæ\15\ f÷\7f\88#!\1aiuÒ\81×GG]\12\1dt\1d\ e.\9aLN\v\83\82\ 1Â(ºèPë\9fñ\81Â48G\a\ 4C\84\88\a\v°p\95\ e\12áÂð\1c\84Àp\83\10\82y\1fÄÞâem\15ÈÌ·¯½W_ßXÈù1æYhÏ¿÷r¶\\9cÄ\rÖ        ·ôh;\1cE\86Ù\8f±¡Íá¿/OÖíç½\ fÁ\81ì8¼\1a*¯¸¿Q\94ê÷³\98ÏGt\7f/¥Ýd:{§äóvþ]÷ñ6ñýj,\87èpËSÕÁ\91ÆG}[Lgßñ\97\9aü¤\8dÆ4§wùq=ï«z\9aÅýþN\7fw`ç\1d\9b¸ÂÓô½\96\87\81ìl\8eÆø>~×½Êjl3°ÄW¾hyG¢ÎôÞö\ 4Û\93\7f\a\8f\8a7~:5¸hÖèÑ­Ù£'ö,X\99\ 4\9fØÁ'2\7fbÆ  \9c2\7fbH\7f\84@Õ¾ôº>G½^\9e\9ak;äæ~Þ\9b\rà«æh59oNGÂúåñ\7f¥]/3\83óï\1dM.ÃÝÿ\15Û1Õy3ÿO¦w©ÕPâ|,\96\9fÇ\98åm9\1eÚüg¹½¢Éâ»®â©\9f#W\7fú\9c\86ø\1c½ó\7fzÆii¶\8e:fzOWEíu\9fK¢ºd\9bêsÚ¯KV\8e{\83äöÞ\a×îh´IþYØ=\9dËëm±¸.Çè¨ãAö1T³ý\92\97^ÏwQOãTú½Gg\86\85y»¿»\8eúýçs\80õùX.\e~ó°\83¹ú÷9Û
+¬í\1cÕnj&\e?¡£\99ÿ×G\83\1eN8UdãÂ\85£È\ f'\1eÙyûu\7f=ÿ _Ûðüv\1eC/"kÈ\9fò5\7fãÿ;\7f|0É,i\9dq\9d\90àrèLÎ\ et¤*\13¨NÜÑ;Á\14Ã.1½8¼úôµH\99ÆÒ#ò`qûë\95ï´\87\81ÇGý\98\1c\7f/þøx÷Ñ\85ÃK\87ÚÈßç\87\8fGûðñáZ\1c0ñï£?v\1e<\bÞ»(ò8úÜùø\eðÐÏò²\vh]ò\1f>\ 6ü*Öx\92\119óô1\7f\9c\81-Ò¿b#j\91 DÎè,\9cNd\97\0Ó(`Zp{_åÎ,«ö\18RÕ±\ 1Ý\8e/ã$Z\9aÀ\17ô+1GG»ë\10j÷³c¦òD\f¬^Ý^¸
+\11\fxá»\ 6Û½îQ\9c\0\1e\b\0a;W Â\15¡"\19\90S6§è\18Ï*Í\98\ 2\96w~)#\ 4Â\8ap]z7\9cö)<Í4\12\8e×\f\88Ù\9eF\9e\ 1åS1\156Èn\8c·ý,\1ea\12÷µ%æâJµÛ+¸F§\91\ 2V/ã'¹÷úÓ(¨è3\rU#;Û.\12\84\8cý\8c\ f¼\18\135n`Ü *¼ü,"\ e;öä¼Îá³Ü\8d®\91q$°3ì9ÄÀ\94
+È, \ e¾¤n(³\1d\9bWt\f\ 4\9b\r\99\v@Ãái\7fni\rEo!¦:7V\85\83usò\8dÕߦ¨X¹\88\ 4v\95\8eù$j8­QÒþ²zMÎ\ 5\99o!ÈÑNn-¼M'\ eÏIåj\8eòà\0ÖÆ»ì\17\93È.i{ü%×6àXK¶î§@¡\11~\b¸V¹j\bÙ\16®Ô3Mü\7fà\ 4\80þß?VüÝ\Ù<ê\85\89|ûx®Ä\9e\97Ï}\92yí¡ðZåödyD`t°ïQ­¼óë\rÜJNkQwØ\1e\93­\ 1ÍÉçî\ 6Ú«\80GS\ 6\f\9e\9a\88\96>\8d´8ClÄ\rÃox*>ÞãÕ¶\10/?Ä    Øÿ\8bËä"¾?Xh8µøO(W¢Yæ\8aò¢ô\ 5y ¸kç<רåÿg¡ü\ f6 (µëcò<ïx\87Êó§óÞuºÿ\99çzuÿ½çi¹_Ä\vvþ×\9fóW|¯>»úÞ\7f+\15ñ<ÿ£Éÿ\93ÏþÈ\9dðÏù^u\ e{Îþt>g\9dï\90ýï;ìò?³ÕÃQ=j¬ÛuzÖ
+\11èÔyBG\9fÏß\ 2æ\19P+8\12Ð/?'¦õ:`Û\ 5)wÝÁ<ÎX\9e\8aò)«½\ 1ë¥\9b»Ëƨﰹ¨ê\8aL\8f\1c¬P\91¾t6\v\82ñ¦+àô\10\1cTÙò?\9c\17Êñ3a/À    íp;£¹Òù^4å"mÖ\15\89\1d\1a£Ô×\0\ 3ð\0\91Gl|\rO\1eÜ\88\8d\ 5ñ\19L\17ÆÊ0¶e\ fµe\1c\9b\r\86ÁÂ\96×ð\130\8aM\9bn\1ahÔî\e=l\18\8c\9b9\ 6ïR\0V"}p\15/Á mÂ\1c|\0\ eÂ\9f\86\11O\8fõ\f)\82\1fd%\12?` B-x\\93ùÐ\88Ç}þ¹\1am\1aÜô#Î\8f³'þ¬\9fÚ\93ÿÐ'ûÌåu±"U§[\ 2}\93\ 2@{ï\92W»<ä>à\ 3dìúø}Ï\83
+K\93\87ݹ\ 2²BÚ\1ftPwMÃî»\92,@CC\16îjG׳\96\87Ý\96ã\94¤\11­Ý÷xÐ\88NE®+/¢\ 2]^$Ì\83ngÇDO*\13äÑÑ5z\87ß\1c\80¾5\90â·\9e¡\90÷Äs\e\94\81Ô\16þ\83«:Û\15\9b\84\15\9a9\ 4K\93UE\1dª»5²\a§[cë¡\8d\91ÿÈl\87-ë?°oûoYüS\7f\95ë=!°ïYèM\87zÏÚ\eðd\aÿ¬`ÛøÆD?\97AkÿÂ_>æý\89Æ1ÇÇLü\ 3\14ÿ6èl\1cþû%!\8aüU8.§Ä´ÍÉvWÞ?\99ÿû\ 4yQË·åÆ½\9d\ 1\94fd\fË\r{¸V­÷\19Ù|\9f~½+(ã8ÕÑß%{ÿT̯Ýn\19v{\87X:àNE<ë\819\9có·Ùl\17»_zôä}\f¢Ê6
+G\7fòÀ\ eÉ|K·@\ 5^?\95\80\18\7fû°\ 3\ fs
+ÿp¹óì\0ûpö¸Âé¥iF|ö\0a·n\85\82{%¹þÝ4®Ê4·\8avQ¿²À\f\vQ@\10\ 6ÞàhVÈ\99ç /}Ú,u1\9c¨Ðs'Fd¸\9d\19ü\9c<G¶eaú\86Kl5A#þÚõ± I\84Îdaºf°\8b¯¤Ð\13\9dÇ8\8dS\ 2\93ÍõP«\1aã1þ\90To\9f ¬Cò0.       ¹­©
+\ 3 \11ø£*Ýèaª\10û\8c\16È\10ú\84j·«í²÷(»\1dM\ f\11\94\10\9c¹q43¬!\11=Ù(0\8a"ª¨6`R\bl:RÔ-)W\94YÖp\ 2ÑÉ}&\ 3¥jý2ú·l¾\1e\94®
+­¤*\13®\90ö\83Ü"\13>z\95\87Þ\97%(³:\80\16G\9a«\8aÌ\81\89ù8ÈCçÊ\15ËÊYÖ@¤\1c\81\ 4X\83ÞæV\9djø±NyLG.G\ eèÊ<:̦öw\92áGyF`\ fÈ3ÃÂÅI(\8dOuú\86\89·\81¼\87\8elF¡ð;Ö\ 4\bLö<\0ñÌ!<)þñpøi|$÷ítc\85\83\ 2\v\1a \0
+z\8eW¬«\r*\82ذ\19Ö\8eôò\\8d½Å\85Z\1eÔQp\9c^àá7Û­\84ß{%0 Ø\8c\1e\9fR7\f]X¡É{£W\99­\ 3Söp1¥MÀ\81Cw\ 4Û\(\rGÎDé\88­Î\v\16\18Oö´\ 5Â\81Ó¾£Øª\90óÖ\88\11S\91¤ô\14U%ÚvbRËk¨´©éú\84çgÕº\1a¦\1a0K.:â#Pûdí¤ï\95ij.\ fÖ\8dÖ\86h\8al\85#\9c\eë>ça\10\r\17\ 2\166×LãP\12®ûUa\92\97\f}`\81\9f
\ 1çæÄz.\ 2\82f\87¦Oe­.G\88"\8dè°[#i\93\87\91ø#ñäË\15E\8a`ëÙ'CTZ=5ÖñME×ë-S`OZ/1ü\15ÖÑ\aÏs      ³µbÚp&Tqµ\90\8cu¹G½E\87í\ 1li{ká\83\92õé\90X\83\84\ 6KÔ¤\98|\v5Àê\9aa#X\96\9e\16å!Ñ=\8b6ªã\10)@õGï>\7f¿\8eQêàÅ\19ð\17\ 1%,â\81\83\fU\ fYp\91\ 3\ 4\16#8\ 4\ëùTº#X\11\ 6\9a\1c\989\90.õ/gã\1eµ\ 6?Â]\b¸\10\ 1t\13ìC#'|[ÚaáeýXcü»Ø÷\87\80·Ø`\11»}Ü\ft-<ËP°0\8e\97 \16\bÊì`A#F%¬bÎYÄæÆ\91\88ã\0#\1aá¨\19P®j~Nù\f¶¯(Í"\96Ý )\aP\8ao9HuÜ'A­I\80KqÌNjRm¯\11\ 2h¥Î5grw\93\99\ 2\98#\85µ\95ê)l\87õÌG¿\98\8a\9eØ
+?\Aé\ 6\80B\19YËLç­k¦òúë\ 3Hð8Eu¿°}¼·S<Én¦¡\91V\90\96êî:\83,\7f¤mÄ\e<âÊ"  ú\99\98D\b±î3Òj®Õlà\971àJB\9a\90á-\8b\96Ì\8d>m©dÙn&\19aì~\9b\95\ 6
+u§å²ô]iH\10£Ù,@\91¾¶²\8bwÇÓ\88ÿ\ 4R\14\9aI&Ðü#¬¤6b\ 4V¶â§\10iû¿f\13_kS\90r<ÿË\12\aÿ\r>.×\13×ì~ýcÏ®\82R$ \86«ûu\8f>Ö%RþÎ%RþÀ²Ö¦f\uÜÜQ\9d\89\9d¡\9di\99bsÉ\13\88RóË\13¿±Z\97|1Ò<FØ´Lc\84\901\8f\99\1dΪw\1d\14dv\12ädu\8aÃ\8d\9c \13ÿåÓ¨î/\90æp\1f\86ÍÖ\ 3k#á]KßÚÀ̺÷7»Y\1dUä´½n;ñ\13\1e\16꽦§\17O9ìMw\e¬\ e\ 2â\9aÖó\ 1Ö\©ù1ÊxÍç¼\1f ñì×üŦÿÄÕ\93ï3²âu>\17\8d¯\8aåHís\7fú©Ç
+\0y\ 30vÕ8î4â[çF½*\b³8Ù8¿\92¦þK¥\81\9b\9b
+\9bý\1dî\8bË®\9aK\18ë;\96­òó~SC®\ 5¸SÎÔKব±²}KÎ
+s?S\81Â~y$\81Þ°ÿ\ 32\1e\1a\1a_\88\a3ÃCú\8cÈxk"ÿÜfCß0ÿ¥PøU7üE\8cÏ¿\88»÷\19\90ü8T×^[Ë´\97üõ7Ã;²\ 13\9d\92Üùõ7À\f\bʰ-Mü«\ f\9cÌ\87Ü\96p6Ksþ\19ç·\10µwô\8aD*òu\84ÿôaT:ûH\ 1\12áÅ\9a£ÜLì:yÀ\vû¬D    r\8cçÔ)\10 Ã\86±\86]ZÚPX|\1eéb\90\84\85õ\ 2\93_$jjÄ(\88®k\f°\94\93¡\90\ 1½\10X\8eguG¸ÅÀ¦\84¹ö×\ 5>¸k#¡,\921bK\88\97W\10Éq¨Í!
+-\93Ó0]\13-3ª\>\82±H\1f)\16\8e\ 2"J¶\89.ü¤¹\13$E(\16$MÍ\12\ 1o®i'i\9d\ 4 \ 6Ø5\1a~\96¼è\0`~Ä\88R5zèH\9c%ܤ\18¾\8d{Wròk¡\16Íh\86h\8eæD==à¥=9º¨aÆ\95¸\12ÂÕw   \89\b9\97\8b\\ 4S\ ft\15\87cö$c`\17Y$\92÷\ f-M«\10Ö\1cÏZ÷U\9431\8e\86Ð[\9b\1aA(q\97~eK0\bM"f/HèÒ^1ëTÃ\85âþ¡A\8d5PüË4³ó6}N\9eëbi\90\13-ª¶¡,J!쬿\1aò¡\94¼\11ÐÈiû\9c³\0ÉFNnZ£;¹F¦º\ 6¬nÉ\90Ê\9eµ§5v\ eÄ)V;\97\ 3.ïjCåî*­ª\87¬t@\85j\11"§U    3á\163ÒÓt\13\f\9b\ f|\f»Å!!\ 6\80\11úØN®G8\1dh\8c-\80µÂèôᣠ2\eÈ\19/ÊtGG§:\13£\8d\13 \9e¯\9a@\18íjp\89\L\ 2\15\8f
+§$ö8*rbÂ\f-B§ \91®\95\v\04kÐÉ\rµ\ 4~Ìh\86\86~\ 2\2µëT¥U\ 5åRß
+¥×\ekS  T8\ 5%õ÷r¦vöé\9b\12¦{%Ø£1¶é\90\r\86fçAÏJK\14eôKgZÒ\17\8fw\94\r\1c9\92Û\18XT\10#\1dÕrÖ)f\ 1\9cÃ\v\89]@>Ô\rÀ\17\12\8d(\98\85ä5\82\16.\86¹ý\8b\86y|
+XÒØ1;\97\ 2º±\a½jm¾\84¡þ\82\a\ 6HQï"hãû¸\9a8þè¹\83\vèb¹Às\7fÅÏ\1fÎÑÇç×,3o­Ír\v\ e<ës¸¢¿q>=ÄÿW\ 3\16ýÅ\0\9fþÛ\e\86/ñÈ\86ߺ?\1fä¶Sì\86\9b\r\19&¥Í\13¬¸`Ó\f¸Ôõs\13+Òõo¦qµ\97ß\92\8b\7f\87Êòþì,0}5÷ÿÚm8l\8d\8c\96!\8a·Oç±\9f¹¾ÿ}°\9eöMo?\94ýÖÂakÇ\95\95\89Ï\9fDÏ+\1eG\13»ÄçÏ¢f\1a\12u\95ð \8e\0sù´Ú~a\r#ÐðfcD®E  \vóªl\ 1\98p\ 4\93\13Ó\9aÔi\954¥U.\824L\9e\924ÙóKj\ 3Û
+\a-\1aa"½JùÌÜ\8a\aëF\9b\f/t(\1c$i±B\11£Ø  \1e\98\86\ 1}%æh»e)}è^%D¥\81\13¦LzW\93¦6TB\95\98 å¥®k\97ÚZåû\1fþ\93\9aÎXQT5v\ 4¬ÃÇ\94\129%
+òɱtcøv\17õáGí@#¤cÅ\9ao9j:ò\99\86É4\9a5>´\fÄ\91\86o˦W!\94\94.Ò}2\81h\10\188\191°é{L+!µÖn®Å'\9bx\15\92\ 1í\1aÚO°O.¼Ý\88ÒÁ«p\1eÃ"!¤µZU&ø<^:s\9e\9d\19älÃD\ 2\99Af\ 2\ 5zÖ_LÖÓ¯
\ 1\13ø÷\ 2\94DÑ|}\1alÌ36Q\10Ä4xlÁíþ2\e¬Ð\b\83iÍ©B.Iéʲ\83ÍMç*\91Ñ~%¯å&E\18Jm¬å\8d\16eÌÜ\1aLB\93_XÚ<+\9cùÐi"Ó.|\1eÎä\8d@f\1d1'¿Þ0zÜÓ\93\9d¦´Ã]¨îIÎ\eFÅ5@¢AYéÚÁª³ó\93vjÚ \90h&\8eض\9c¯\0\82lÀ   w\8ad%\95\12í´6B\13M\1dÊ\ 1\90Ü<;ís¨\91(ð¬C\v×\8e\85Í{ñoE-\ 18A(W(~\eÐöÈ\r¥\9c\7fÛ½\b<ÃÞ\89/ïCÁ.\87i\9b\1e\85è_"µ\f\91:1t\1dz\81\9c3k\aÄrbÅ î?BEF
+Åá®\90î\ 3K@ÃA¤\92\9aÇ\eH\ 6\7f<ë8÷9ãw UÿÈð"\ø²\ 4Q¼ZÈ\9c       _cW²ér\ 3GIܵ=ów¨y²A³\ 2\rÅUE5]ØID'\87\96\84\19ÿ\91f\19\95tj#¥\1c&\8e\96:uñ\råGAöý#¡\ 4í\82Öi\85^ÁׯX;t<\10Ѧ\12Áp\9a`·ª:Ò3\rÐD\90Õ\8eiL\ 5¡Uè\96÷wâEâlïSr[\v©nV\1d·fÅ$j8Zw+h[sèâwà¶)\81sÉH4Áp\88\9f±n:5 \16\95Ð\89\14É¥ªj¸\9ek±iMÂ)\1ev\0\94¯%KÇ6\8eö\9e¯ÃãA\82\9f£ï\0F!ªï9 _\9bürDƵs>\18Z\b=Å+g\9fÓf\17\98\93ä\ 2¢\84\90õv¹\9az±NÕt\84\81`\9f \f\15\9eAe0¡jÃlÂOT\ 4.E?@\15$eA®Ó\ 3Og|Ó
+w£¹^
+@X\11\97h÷í+¦\1f\fô\ 1©ô<\81\8a\95pá­\95Â3\a\ 5\9a'°0\ f`\99\1a«Âõ\1a¼õ\92\88êþ¯\r\1d\8f%ë´GK»ÍA\ 5Ù\11SbN\r\99#«ÇL\91/ÓQ\1d\89úÂ"c\92"Dù$\9a"\1eØ.W¥\0\94c\89zºEKþÐb\f}R\97û\14Ï~Ð\ 2\18Çç&{æ\97ý¨ø1õm\ fÚ&}Z\87íO­Pý»þ4roù\11Î\ fP\ 3~\93ò$â\ 41P      <&\10\ 3~V"\10ÆÒ\92LA#áÓ$I`\8d8\11\1e\15ê\ 3À\84\8ah_\e\89'¦´Öµ¥¬\ 2\1f´t'Ê\18
+\8bî&ç\96¹\1d\17F!\1di`\84© \16\16Úa4\83ÎükY§i¬\85\ 6\ 4Üò\8eGEà\84_4:ÍŸD\ 3ÕÕì?hmO¡à\86¨o\82Ý\14Ë1MKË\12`\84{\91       "\1eâ\10\0Î\ 6£ÝQåZµ\80Oè2õÍ^ö-Ù6{\1cÜ6{ϾH\12¼\1c+X@½G\83¢¯§7º¢^Ý]\9e
+ÆÎö\8dD\7fµs\18ªU\9f]9î}\98Öï~ØIvH×Å\87Q   æ\12L\1a\98"EÇ\88HЦó»­\95$c\1e?s¼Eô\ 5Ê#Q¹p\9bÿÔy: \11\86°i\82±p\99ûRuwu=\1c¸³UIÚU8GK¯">ÅÃýáî\ f\8d       $®´äjuÎ\13v¹²ny\f(kÓ´|\9b\9e3
+\1a\9bJ¹¹| \ 6êÚ+Ä\12\99§FHs\fÓ¤BK\7f\b6\17.\83Ûñ\14¤ÒxÅíuÌpÏ8\ 3\ 1Îê1\1c±\ eNª$¸\84æÒoØl\ 6\18ï\8e¢¼V\8aúÍ\11Åz¤Bh©!K\8aØ)9ë\91O/²¹\ f£¿'\~ JÊw¨¢8Þ\eI½{Ej\88§~N\94Õצ\8e+\Òr¬\ 3¿º\87äOMåe\84\ 2@ÊèE¹\1câ±ô\ 2:U\86\f\9eÇÊ\\8a\95C\ 1:\80\r!+\13EJâw\1a\8d\9d ¡å\82\84,[ÉÕn¥åÃR¤æ
+ÊV$êæ)IÝ       K\ 5!ðRI\ 6\1e
+\90ø*nxë\89á*Ö\8f\82ñʹ\ 6o\8ekucH¸$\995\82c×Å\17\90¸U$ï\96'`+R\87á¼\85\9atÜòa©e   Ù       JIùJ¨ä\9aèº:\99\96þÈ÷qÌç+I\18èä{Îô4   \1d\9bDjB\85Þ:D\8fB{õ'\1f\88á¡\8f\87\91\ eM\fh\8dE¢o÷Ǩó×IÖ¨¡k       $D\ 5d\16º2CçB$¨)\1eò\\19
+Ôjg\8c\b7¡Êba\93\95Ƚ\0/\ f\a®yTG\ e±°\bY{¤é®yTHü0#\8d\95êêì #QÆ'2 î      \84\1ds\80ô¬9ÁË]\874\8b­`uká\16LÒC\8c\8f*\10á#\99\ 2MY\1cµÂ*V\91ÉHα'U`Ãíþ\ f\\9a52Á¦\94Ê|,®´YTüóVd)_²øYDæý;vCWtQUÌÖcÁ\9b\³(\9cÞµ\1a\84\18\bs\94Fb\e*\90\8b\81Y`&m\80Ë´\9bÖ\83.£ÂÝ«\11\9fOQ\ 4\1f¨\10ãÕÇ(­R5;V\99­t\99&;Í>\1cN²¯Ó\7fÇ\8c\15ù­vè\0a\8aâw4Í>\v^´ßñ£\1c\84L«pÒr¨'õM\1cmV\f\ 3£:ÑÄr\ 6\82>ßf\ 1ñ\98HZD´Ý59ÄæÝä(\19\ 46_\82\89¤æ½dóH½Ù\95pÐïY7L\14y\80
+¥ª<½É\ 1IW¥|\13ºÕ¨è¾\8e\99\1a ¾0G»à\ 1\9eÇ\0ÙÌ\ 3àpÄ ÚU#Q¯Z\13³\8dÉ\b¾ï8E\11&\rº\ 4\12\14Î\rh0{q8\87\9f a\94!@*±Ã¿²`¦&jþqMO¥àß\14x\87d"\f&¹ä\7f\\1a.M\8c\ 4ë\r\190ìsdm3ê8ËJçH5\8f\0§\ e\a\97ï\89\16\v¬C
+Nõé¼}òî\88öá×\9d\89v®$ÞçÉ\eÎ"\8f\1dH\92(¾¢o=G½¢$\98\8fñÇ\850ûª4íFËcd\91Þ¼\0,TN\1a\1fº$6ì       ÏÔJoÖGº\ 2\96²Oq$ôu\15\v\93\ 5ªk\9a|&\1e\9c\92ý#SÝâ´\83\16í]\ãþãó5ÍXÐ\ 5J\ 3ì:\89®þl46ª?\0\17àîªû`RµsV »\9eÍ> \10¾vÀ\8c.%çw4\18\9e4ïÝßT\1a5ºgW\91ö\88\91Ô<ÕM\bVnó\8a\9bÊÔ\9cû!2ñ\1d\9fv\9b¨¥\1eã \80\9eרNo\88\ 5 \91Ft\ e\1a;º3$û\18\7f\1eIsÃ@\15Nsh¢¾§o\93x\87¸\15'ÞWß«Ò;gc\0i\1e_ëõ0G\ 47PûkÉp¥ê¬\8aßµ \95ûlêH2¯\eÿtD\rð·ZQÔ\7f\98\ 6¯\82\88\87\11\12[´-2\1a8ØJQcIã\r\1eã\8dNÿ^¢»¤Å\97Ü+W~ªHî\1c\ f[Þ#éMñ(\\0\87\99²+t\80T\98\81\14CáÓ\8dû\90\16Ädj6É_¶Wþ\ 3\85\11Ò\92vÔ:xÑ\ fÌ\9f\17l\8eOk\ 1'\9b\1d¯\19]y\19÷ÄîýI½M\81\1eî­+õc¤\0\82\0Ùái\9fRv/\10ãF\ e9Wl\14N\9e\aEuû^Jºð÷P[\87»\82ÝKöÈ\9e˰\8c\ 1\ 4Ês[EsT\92ÔÔléw\88¸Úþ\97\17þA\eªÒ;\12æ{ÿÀ±n
+ -9r;\95\9c\82kc[\88\8a£¶\16ú"?ôãsíËH| í\8d&ªïÞkÉ\f\96îÚ×\12\19©<äO\ 6áÐ\96à
+´[íúè\1cQ\10JøM§5½¾x0w3)9ß#æ\9aáÛ@Ç­\1c\9eç\91g\99\9eW`%yh\vSåW(\ 3^ýoo\8a\f\1f\80\ 5\9b»\1aF.{vy\94i\10sVÆÎOÍJÎævQ\9eeÏ'éçnd\85µ¥[\87\18ç\92\95\ fç\ 2x\e[\15\19l\1aúÃ\10\e\ 3\92þ\18ö²\86\ 4m\ 4¯©\ e\8f!¿$·\14} aZâÌ1ÌÔ\1aIç=±»|î(\9cl(SkJøç
+;ÀME\8dw<\ 6       n},Xj7³\ 4⽫´$"Ã\r\1fÄ\b-ëhïIÖ\18ju¦¯\12ÆòN\88»pÚ¤Bï7\9cµ&°\eÆ\ 1Hèbëè\97O¶Äk\a\v¨\87\8cÁbé\16%à_lZö$\81\86øQ'\8fÞ·V½ºµ\93¯2;éH\13V\85u_¤\ f\ eË\18«}ð\97\896N\r5\1a\93g\95¬X°ü!\8d\16sb\\16²V\95­\8fö\92\9bÄudE¡T¡¡BÄ~\83ä2þnsË\987Uú4á¼Q´Ák\94\9am\16R\8f¼ç=\16z=Ñt{¤â\91¨Ç I+Ä/0GKbàû\a\ eÇW×X=úI\80#ëÉ6KG\9bG\ eãø\81\86äx\94[¤=\90Ã\82M5\8bÎ}VïeóÌ\ 6\16ÏWO¼nti ê\9b¦ýó\87\8a\1d\1aÍ\14Ý)ßuþþý³Öóì\ 3¯2ñ¼`§æ°æÑ°Ã\9d\ eº\92I;J¥\ e®i7?\17Cç&ç\8f\19\9d\ 2}°9\13\15°Ãr\82K\9aÆ\95DJÒ`\1f\e\11Û\13=»ÖË\9fÙ0\0\f×/`Õêé\11**µÈÒçÆÅ\ 2_lGã(\89PHì\9aò¹ô\ 3Üï\11:¹Ï\1c\8e\1dÙ\15ì¸óÏ{Y\14\9eq'\95öÑ©à(óõ\ 1 *H¤\81.{5        bq®ò2ý±\18\fcÞþ\6\ 5Vhκ¦\97\12éxðÒJê\1a\90¢ºàC\vj7\86µ>½Ð\bäMïõt\9eãujñ¯|9p©\89«b6ï
+MÙQÇ'4j4ÝØ\87\1f6N\ f$;ví^Çôdò÷\9b\85¦\ 6l\ f/åc\86\ fÓFç0åÝz\89\b3\v\94£¬LïQÂgð1oc¯\98\97\8b¦S;\89\89uM\86\19\84æîÔ>³r\93\9bèý¤P½9¢á\ e\ f¦\16EÅü\91º¦Çi\aK\¬Nüjn\88ïMÏ«n}{s÷Moü\94iò#¬\1adY\85A-\91\1d5ÑX\8cH\a\8bxóç\8fÙ\14\92\ 1\91ÿã\ 4ØIëÕÛ£¢ïá\86\82mD¶\83D«qV9I«=í®\1fÌ  ¯D¤"y\ 6\84ú\10\8dk#w·»¼QlÄ8Ãdó°,X\ý8(Ó\85Ï\8b\9eàÝÂ4ü±¹7ë\ e\11Á\ 5Ùö\80S il\b\8c$\93ÕÌá\15Õ\ 1Y\82\9aP0Õ8wÙÈì>°\90\81Ù£Üþa\9a~»C¿|%Ù\93$:Ë\12â\97ã
+]ýÕ\1amJÖ\ f¸º]ùÔw»þÊ\8eJ\97\8f0\8d:Eº\rïHÙïð\85ë£\ e»à±øÅÅ\10\98ÑÒ×#Q:\81"\8c\8a{\ 1O\9d<\8a3\87\12\90\ 5ªÝsÖæÚi»\8b%ÿk\8b¿\7fÈAZ§ð/\aØ\ 56Úk\14i½1\83! â\94Ýb=ÐnhÉûæpѧâ±ÚzÔÔà¿¥²Eµ+äÛ;o¬\99\rà3`R¼Nî_z\17¼Õ\19\ 3\84\92Ù~\96\aØ%5Dº\8e\81q¤q¢0\8fq0\áÀ°\84\81*\88s\87\95úhÓÿ@£\1aToºYá1\8b\88ñ\8d)õÔx¦¯q\91IMv°sº\a\92/*\99ððìs½«\9fÒ\8b\9eA¹ÜÒcª
+\9cÒqý\ fª\ 2\15U|      É|¢9@9p¿ß\81Õr`Á§}I\8bjötà\975\0(üÒ\88Ô0\1f!Þ0z¡§5Ñ\80\98\1cyL[\82:/ ].NLd\17³b­e\9c\88¡\17@[R\86åÛ¬bp¡\91Îv?\bz\ 6ÝY-\88Þ«A\89\fÔÞqma\9aõ¹Ä\82¤~Üá\8el\17õ\88zDê^é\r\88 ¡ë\8e¸ù\1e\16\87iÍÖ£Üþ\82¹\1eà\91Ä\9eWfÕê\1f\8bÙ\83\ 5ç\86wI.\ 4\97nµÖQ\9cÊs~¾s@\93ÍQÃ_\8en\ es¬jö_:E2o \11uí¨óÎ\95¾Ë\86ò\19¤»GK\18dëÅ$b\89\1eM\92V\95\8dO×$ëʯ\v\ 4gTÕò\92ÁE·Î¯\v\9cëX¶¥á\1a᣼;6îô\95ì\88\89IVð\e\vBHÏWCß\93ÃXû QÁ\1f­¦\91Ù\91þ2«o\ 6E$\9b\89\1cU¬sÚÛî«r^|L0\7f\99\13\f\1f¥7æØ×áäÓÄ\89[öFÝò=\89·|&lÛ¹®\r\86\15MÂÉ! q\88\12'âE|Í»\99\88F\aãgã&Me\1ec*?Ìc,Ç\92c,\8få1\96\13È1\91ºC
+\15´\91\7f+\16d¯[uáÝ,¢\11-8Ù\9bV\7fø\85qh\99)\91\902S        \1c
+Èâ\15«Ë\19xÈÝ̼a%L¼\e
+ÕÃLÓÈ\93þ\12,Îa\18\196I\81\92Tdÿ\98^d\96\12(É,\14\8bãe#HÑÅ\91£`F\8d\ eO|\8a\90Fï,råñìeeïǰ\8e\91»L_oñq·)KÝó¥ú\11\9796]&\ 3     ôn\97^\8b£Ààð¸y+Íï¦ÁMNb/Læz|4ßÒúw\1a-\7fCCÇè}Ðû¡÷Cî\87Ý\ fº\1ft>è}Ðû¡÷Cïüý,a\92X³(\fë\8cëÌPw\1c\83ô+h\ 5÷\eëû\8aÅéj£\8cãi>]\0¿Z÷ÁÏÃÓûã¿Ã&69\1a¸AÒ\ 1ßÕ\93\e\r\91Ïû²ca -Ç\7fÛ\13ÎÙl\9eÞU\87îÉ\8dåVö\f¯Ãí\17\0\98¸\ 1¤nVçþ¼ÿÜ,\98Ü\82Î\ 6ÈÈ\80v\1fôî2á\87\ e\9ax\87\18sä1úq¹S\92±.|£Å`\\87Å®\1cô¥Xðº=è
+Hý»JwÔm\13\ 3\1dK}N\97\8cm±´·xs£^bMt\998\9cé3\9ebOt\99öm-\91Àªë\11.Ϧxsë#È\91\18D§ÖQO·ç9ÞMFW&é°+\19ò\8e|\98°c1\10»}Ú4\9d\9dÜû3>\92\11É>\80\11B\88±X( ¬H\16Á\80¹\90̯ØL\83\15\15\15\14\83\ 2\ 5U´°Ì\18\0&\ 4\91²O\9c¼\15­^Ûm­më^Õh\8a²\0    &\0I$\80\ 4\ 1 \12¢\0\vþ\18 \rí\84      S?þýûÿÙöI\18­¯[nó½Þo7»Û½ç7ÀÞs}\0÷Çß\ fw|íô?¾\83·Ð\1ff\0ím¶I#k\92\95~\7f\83A\15pXȹ\86\1elpj\17\984©@!Å\ 1\14@\ e\8bB\94\9bV\85\8a¾\11³ºfÝJOi£&\bû\19\9f}JOM\ 5¦à\8d´\93<u)?\vF\1d\rÇbK¿\9f@ÿ>Í\9bÙ3þcîñ[9àto&(Rz"¾#î#üü\94\93èÇ4ï\99\8fóÀ¾m\èqY\8ei¥¡`\ f¡\94R\97\10\19½·C\89|­d\92\95y\ 6ÊUÍH\8e\ 3!1b¿wìÕ\99\83\9còW@GÎc:çÝ1\15\97\f#E8\13P\95·j-î(_\9ec#s\97àV\100¢ÞÜ\8dú\9a\86x\98ªôOº½±UJ¼|\88gÊÏûl\ 1\8dº\95!\85\1eÇÆ«\ 3C\81¿8Z±Ä\134þÊ>\fkM}\1eþ6g^õ£\88u\8aUM¦æ \125Ý»'sõ\8e+9\r\07\87Í*VîÉ
+\8c=§1þ\81\9b2%iOñ\8fR\94EqÕ*æÛ\ f4vµ¸lîævªxÄï\ 5Ô×C¬y?É?>è\1c\82æ\1a\ar\93¸\r½w\14|\1d\19´",ÓÖÛÆ¿}×;iÎ\9c< ²3\90%}wJTò\1d´ø\87o[x\bƾÔ\ 5Çf\9f\eº=\8bQİðáaCmÂ\ 6Ú\8d¤6l8\8b\93¨Øø§âLtÈõôÏ)M-
+
+´Z sª]ÿ\ eºÎÌ\1f > Å·1:\ 2ÄÖ`\8e\8a¼á\90ë@²w\0ûbg\95\v\9d\953w×knàÛ5£à4p\7f\ 2RzȸðÍ\aã¹\11G\\eX0¼£s3\9c\91R\8c\ïáã\vAv¦\9e°9þ\11V\90g 6Ò¸Y¯\94
+H\98\14é;£¶j}g\89Å.­?\95fk(vVßÜ#Ñ\ fz~þ±\11\vx\v9Æ;O\ fX~ª\83ÿn'\9d¬\85\93\1dðXû\ 5fküGo\ 2\bêáà\93\1f\86\1dK8}4¤ä\f\96\95¨pòSb8§f;@xHúüï\10x(ø]Q\17¢sºÐ\15S\16Oºj*ÖÙzÈX#Ä­¡E\ 6Ø\v«Á\84®òþð3ë?N"\8dØ.Ã÷\ 2æ°rÈk-R\90\17\84@\94ó\13;B\96\eÜ\15\1c4\9eà\0\8afrÛn\ 2êf\e5)z!ÇtþÕ`ñÙ\8b\98\14H\18N+È\1e\ 3\19fjáá8«Ò?~üð\1at\10Ös+ÎÕ\ e\ 5ó\ f^x\ 68Z»\97\ 3kéõ3\9f\e\88<ÈÑ\14·:0Ã\f9hZæ\96py±¨º\8d>\81Ë;\17TÏ%yËñ\ 6Ø\80Û\v\82\97\19\ e\v\87¯.\10ä]ÂÃÇ'OüøciUø\ç88YD'd×üx\9b\99[\9fáÅ\ fÄ@põ\ e¢¹R\94\1d¢ð\1d;qÓ\8bl%÷\ eà\99\98£\85\84\9d´ZÅX\13lÞaì\9cT5òO\0zg\1céª\86·Êd\9cT9ò~0AáÓ8¹w3·¡÷©a¾î]Á\84Ì3 \19\17p2\r\ 2êÍæ\1f\fØÕ*{O\8e\13U*gyÔÓ¼àÐÆÍ)S\80\92\84ÑJ\99*i%ö.pìPé§a\91\ 4n`\1f{_0ê\95(\171X`¹\83\96\14\r¢15#9>ò+2w½,±_â\ 4\ f4¼Vdì\91ªþ§ýQªÿB\ 1Ï1ýY\96|oû \1cùLe¨øìe¨á2ÿ»\1egwtÿt\17\9b\ 2\99Þîéu,\17\ 4ö5\96\v/\18Ë\ 5\92\eV.\95ïBÏ¿\9d\ 1\1e÷3\96sv\12í +ä@Q§zÌÛÞ§ÏÿýR\8c\ 3ÜÛô \ 2òL³,²ß-KÒ©\7fzÅ1êf£[ô1¬®\1aÆý\15/þÝ¿A£^¥þÆ3ýÍ\8e\85\95\87\1cA\8fú\e\1d`ʽ\7fê¥ÿ\9d\19ÿÊ\97ÿ\1aõiÚ\7f\8d\88h0ç\91ûþYjt*a'®\951\9f>Z\9c\10\ 5`\96çn\8fßÓRý²<\a(\8fßù¯\95þ\8c5ü g£¾\19{y}ëþ¾>p\11\8c\9cÕ)@¾÷\7f\9fI5)q£ñf\92\94¸\91ø´\8eR\94pG\15Y\bå*¦\9a\8e4u©=.´MA)O\91\81I\1a\90\16£N\12\1acõY\bóíQ\98zøpU\9f°wN£\95\ 3Ìÿ4áâ\9as\ 6\13±¼0\9biÏÞè\9cT\ 6/i¡þXCéyÇýô*é9¡P"\86ÕÚ\9avÒ·YnT+±Aî 5¸á\9a\94
+t\83³RØ=Ñ;\99èe_I;\99÷s\97À10pû\ 5Zre÷µ\1e?`\15\ 5j ÊÖck\1f}e*lÕ\87Zê^²\8f\83Ø\85Zcè)\a`V\1eÁg\94\92\8e)Ûz@êì\1f\85½Á\8d\1cM}\ fì\85}R¦\f]iö·kF\85+E4íeAÜÒ£\9c§è\8asf\91\ 1æÏå\87\10C§&nå\94\9bÈ\12\1a\82κkÊt\8fÂ\97ËY\9d\13¥ê¿Ît»Ö\83oÊ.-\92ÿV\83mßõ\9dÎSý§söØ\9dÏpÄî{oõ\9d̰$þ;.\8f$³.\8f\15PË£J\92ó\ 2\86\88ÿèË?ÎÏÑ]ξ¸b\17{:½ê\9a\9fÿ³\8fÉz\1fÍ\ eW:yÅè¿ÂqûÖQ÷!÷ã[Ö4gqè´güg\1fë\7f7¯Í\149}ê\9cãþi@øàÉ\ e3ÿý \9fÐÂé·â\1e\19\8a\8fÿ£\v¦Ý£?ý¾\8cíÒgÿ\9cùZó©ôÜBîvüOòatúá*ÆYJ#÷ü\98º?tû\1e      (\9f¿¦u?\1c\14\90vé2ó\91ûÿ\83\v¦
\ 6ì8\17\85Ó      eÛ¤N
\7f\9bg\88\87WsQ\a\13¸,zC\8a\8aÇ\esJ¥\89Û\8ek\1f\92\ 6mãþ\ 6\8e\13\ fê ¢¨~¡É¤=\16\16o\9aÊÜÂfÙ¬¯-³:\8aó{\a\8bþ¡ÍFÜÝ7£tº+\881\9aæÕ£\9eÀ\80ÉÉ\1d\9ao­<Ì\1aÅÐ\98B\84·\ 1q\7fÑ\14>ý$¯êC\ 3h\1fzÚIPSýááíÅ!\ 6\ 4ç͹²º\11\99íÿ)&P;Ô\vïKnE\1cþI«$Ó>¨\10Ëݺèu|¡ô\ e`:\8d\ 6\15\7f~\90L\9b\14 Ë\8fa(s¹7\8ba7\1c\94\81ï2ç\81(¯ÃC\17d\ 3\aÏ\8a]#L\elFï\9bTlS\ 6ë&\17\16~\82ÁȰû\89ñ\ fÃ\1eD`\8d¤7|4®ØÌvÌ\vó\99¨ãkz\92DMÌ;\99޾΢ÒiM^þ?9\845\16\19tó4             ÓðS~_4^=ôlQÔ-@b§\r²\867PÔG\15ð53Ïϵ@\87\17\87¦¸\15Áûeú¶W@¿ÇqÒ#­í´\aõݾ?\10\92\94\9c\82\13 \1eÊ?Ñx©\ 15\8b7$,ùBjRî\87\1dä\92JRØ\93È<\8dKÔÍ%\85#\17?\90\7f\13äØÃíe\80y\ 2BC!v\12þnàÝ^\0¾\0\90\9e\ 2úûÂ%¶6âõ\8d¹X±ò.4\9c W\8e8SWÂ\8f¡\9d\ fÔu
+n©w¯\9c\9f¹¹ó÷4)\92b\1cÆ\ 2Ô\9c5Ttôýªç>DéX\94Áó\04.v¹ñõ\87mÁ_¾4Cì\10ï\8d\950vÙòzëóhÊ\9b\813f\16ÍtK'¢à\8b\1aÒî\ 4Þ\ 6\9d%*\93û|\10\85\13\86¬!à\1dÓãä\86\18.+qòbÑ(ß\80MD\bW dUïq\b\82i¿NyqZ«ñ\8fÆo\92lм1Ò\7f\1f\ 1}\8fÞůñÒg\81íío××\0ëþ\1a\roTÃD­\88ß\f1=CîæÊb\a>u}ã\9e\ 3Ù?ÞFè^M\10²?"|\ f}®Ü\98wùÎ9B\\92\992\1f¯\83\16\12ó5Ú\19%ÒZÞ²K\8auI߸÷^Ör\84\97Hú_9\93o1\8eóþ\14\99)Ih\91\94Ò\82 \fÕ\98Qâ*RzåFî\93\80~\9cáycÐ\95çÜuZcô\8a!;­éÀ\97o-Á÷½m¤\89¨Á\106gËð¢\ekd:\90á^hð©\aß\btâyÑý;Ã.QçÖ\9fb&"%oxúîä9\87\9dã$¿0\9béÐNX\91\98"µ|=\80%^\0¾NõHá-\98@Éí@~\91\91\r´\95\ 4ÎÙJO$IRë\8e\81î0\1e>Z;\89\a²ÇüÊ=ê\81ù\84zØÿ\97/c\ fù˾èíÜÊãZ©Kì\10£;\8d\8e,pd(ÝDa²xRAOþaÈlS\14s*\1c\aÄtN\19\9fãç\8fÅ lþq\e\1d?\9c\89\16qxØå)\89é\806(ü/Ir\f:Ëàhõ|>2L\97a{5\eû¿n\13\10Z(\eòF;\8f\84A?Ñ©\ 4YÑü\ 1¤¹\ 6BEM-\89\v·É\1f\7f0\13}f\97æ¡íӢʠ__C[:ì\a÷\ 1kh§ \ 3K\ 6»[2\ 4R¹÷Ñkc\ fÒ»ÈAÑ7mn/ðknþF¶ØñP\8edÂi\ 5        b/\1eW\ 2Ð\90y\0\80;A\aN\942b±\83\89­T\16ó\99JJUÚ߫Ʒ¹\13
+ýxC\14_˾ÿ\ 6·ê\89Ø\18²²\8d\17à\886VÃzç\87z?\vu\ 1À\fûÝæø-´@Q'¢\ 4½W\e\8a\92\1aÛ ' !Îæ¢5·1HA3p_\ eAACúÔÞ\811\e^\97\14=\83\91\ e=&ûz=A®\91I\15T%;Ȩ/rª§\9e\83\ 1"\ 4\9eÏÞH\90\93\97Mq½Õ¦|   ? ü0\18¸vFîs£\14Icð\r]\10×\80\ 4¸\9ar\87û×7
+£ E\f߸£\16+øô»\89"dÙ\8cÚ`3\98!?5¶\17\14\15wâ1\85wBÊ¨ÏæE,°Ú \0§\84´\85`vÚÜSZtDÆ      Û%\10ÜpþÑïi\ fÉj\11«Ô¯í,X]pUÄFy\ 2d·\ý\ 3F\9c°&áq'\81\86.þ)\9d\1f\ 6Ù"`\9e\17óì=1\13R\ví@\8d}\ e\ 2\e\94\99÷%É]ͺ+M/Õb\97\8aA\85\12\1eð¿\ fS\13\ 3yÇ<\9dÀSÅÃÓL/   ß «8ã2\80O*g\ 6¸®/²Pº,\a^\9dÉ\8b¹gUYµ¨1ºö\890Ô¹©M.\91A\8a\8cè\8cssî. v\9f\12\11¦¡µ\ag?ÐÊø-\14¥\aÕ(ÿ/\ 1\92\94¿\11|¾Áþ_\ 2\ 5 ÀæÙC\14¾\ 4M\ 6\8f9pÇ9Y<i\92Bs®8$j3%ÐåK\9a\8dÀ\86ñ1Q\88\ fÓ3þÂ꽡âWÆ'K¹ùô@ÌáÇ\1f÷\b]e½³á\90\v'½\j+\a\93lI\95>§ë\11>\8d\8bÄ\1fÝ\ fqbÓv ÔÖϽ'\96eq`\19jÃt\ fI!gÙ\85\85\9c\f\18qﶪ [s\16\9bÄ2YÁç!Ê\91\9f³ü/\81\1erC\10ÈF¶Jï'\97|½Ò"âÝ«¦Pµ£\v±2Ú\86\15¢5DÏI2\12B\0\ e\96¾\90\92\ 6·ï\81%Ź     \ f\e{yG?Å$Èz\fLÁz\90\92!SÀE\96\0\92@\9fV\9b%ÓÚ`Ml\ 2p\8c/Ú°ÃùçÀÖ\9a»/Ïúy}Ä+ë\fk¼(ö
+"£ô,\90\1d\ 1\9bÌZéùbHå\8b\11k\9b\11áé\fl\90Bó·÷ÆDï«»ùaoÖ¤½\11{çÛ^\184JxÚåÆI£ï\98\1f}%ξ¡\82\a'Û»\85×ÂÉq\90âz$,å\9cÀÈ4s\ 2\16\16û"\85\ f~Ù÷p\7fÖY£îÌ\12]üD\97\18Ó\ 15}\90ã\12\8b\81ÕHv[mhI§êuC6q=(¨Þ'\87\8d7ÜÍ\86RÐÞ\16l\93Òó!׺Y¤\v\13Ù¸S%Ûo³b\90\97©¾\f²¡ÔÙ \14[OÐ\13<BöTr\18Y¼Ñ¯¹´|A\84\e>¶"sÿ\92F\1e\8f¨MR\rÞq\1d\159e\bÉ\0\ 5?¢Û¡\93'´\16D7¤ÍI\eÙéX8V<2ÖøÖ\82G\18\9bð\bîûp\ 41Ú`\93%\9fW\19Ö=ï\95[}o\8f\8ej\ 4§µüûguh1N7\12]\93#éÒ_O|F\9fhZvkéðHÓû2âôú\0Ò\91\a\84ÕV\9bà\1do\1f\7fhrÀ\18Ñúþ\1aC\98\f ¼!\8e\87\rÃHU\12óª\9b®ì\ 1eüû\1c¬\f#8ñë-Îñ\11ÔÜ\9b(C)\1fö1¡È\16\87ÄcC1.\ fc\9a\ e´Ûé¿6,¢a\1a\99f4ÐRí
+Ê\^Î8\89I<Ï      !\19\13k\0 ú¯7£\81/qÀO#Â\ e¡j*Á\8e \11#      \9a»êDJiÝ*ÖÓÁ\8eÕÌ\97ÞÂé\8f\97»\89$\90\12³ãF!;\8e
+CÅÑÄ->\93\ 1===òë\85¥wÂÿl¨ð¿\1eùý8YO_aÁ\18Åö»Áò}ÿ\86\95ëkÇ\10{'\ 4\16º\11*7-j/|:é>¾÷\b\14Xû±K`ÃÛ\9bð\10ù¿\99हkM!½Ý±%V¹\9a-U\ 4\9cE\94\88x\ 3¬\92«náÎäÏ\15ÕY=¡\7f\8e\8c\ 3\8dí÷Ø\ 4ó½\9aL\8d\99ñAGw¿\r#ÞéJ¤þ\ 3üh\ 2J´è&k_vGæ?»\80Å'z}Ýä£\9dC\9a\84ý\9e     K-\86õ\926{BÉ\95D\9fç>\87P\91·S\83\eî¬Mþ´ý\ 3ðjÔüCê\92\90Q@7§8,j5/\0f®v¶=º\12\89"4gÎ\815øÈÝof\87ê\82uk'-7Îç÷&mØ\12\85Ý3XýÅÈ\80J=\8c·}zh\81ó5\ø\8d\7f}lF?\a®Ui\ e|;YnÊa\ 2þ¢ÎÛ\9fÞþîèU±Æ¾\88òB\9f4,\13\85i\91thnÞq°cê\rÝ^q½^ÿçãzDq¿dGyÄÿ'ÑÆÂ\8e; `\11\11\0ü_B'\14hÐà\87·^       \7fÓoéî¶ðg$÷é.S\83HGY±ì\80À¡L\ 5ý¤i\1e*\13\vß\91ÝXñ\8a2\1ddÌ4 ä2ÍC~o\89·u\89áŧ\8d½B\8bhküÀOÁ\1d°\8d¢y{\bzjÅö\7f]\14!\aQ\f\94böèpÈ\85Ä\ 5\18xok`.5>à ©±\93J©J g-LÀ¾lsY\ 4g\15Vð0.=\84\84\ 4Z\bÒ\8f\16vusEÇ\13½\b\1fòOøí$\ føíyÇüvÞ!ÿ\19&Ni²ò½¹þ=Àk{\99\10M6\86·º\rov:Þðÿ\1c k{ÐÞûàÖå{#þ'\87[\96?Ç¿\rløoypÖæ\ 3[@:ÜÍs\99PKÌ\82\880\1eÒFJTÙ\ 6\10\97\ 4\ 6\92´}iV\19e
+üü«\ 2%
+9\1f\16§Ú\1c\8eVyã·V\ 3Wcq¯\92s;\11IJ»)Eç\17\1c\96\9eásì\17~\ 27áöâX\90t\14zÒð\eé\ evÁø\1cÌ@E5Âh'\1eñyð\v\0vÂ@òó\14Òè\90ȸ\93,\83'ê{¡ëÖÛBm\19<åÉî\96    <ù%ê\bÝÉ\8aê^Ü\16ç'\85TñYþ­Á\bC÷åA\10\1a\aËw4ؼÞù A;âè\8fû\ f\eß\8f'\b
+«f«úÁ4«Ûá·Ãð}\e¬\15!Dm\ 2ØG\8cÆlÓ\
+Äe<ǺR®\8dZ9>Ëj0\98ÃY\91¹?(\15kÖO\19î¤Ér\91ï«\8b\ f }¸ï\88\7fw³qË:À¸\fAh)2¨Ì\91>8ÃðY\7f\84\15þ\1a\91øH½uGq"F\ f\103\1dm\ f*M\80\17âû\80"ªð`By_°\aìß\87²!®ÑÄ\88¢\98ê\ fÑÊUnMÒ\9eLËhE½íOÚ¦\81\13\80\87yÝßÀëÇ>÷ª\ 4ê\19\94íO·\ 3ïrlwX\15gçO+'q\9c\15®I´á·ú\17\aüi\11Êý¹\ 1å}\129]NDû+¬Qü\87¢\a÷\1c9oGË\17ê\9bD\99 \\9fxÖöqx~Txxi»@â\97\ 1ñê\11Æt\ 5Æv?°¸ÎS" \ eÖùô©üÿ¶Ú\96ÇsÒ\97ïòÐ\ 6vÞµè\8eÐ"±\93AÕÅ,½:\96$_F'þuÞ¹x"8«$\8881þ²Ç\81=\13:Öéâ\17*\84-O&p1K´}Aæº\91       \1d\14¥òÆÙ£ØC3¢Q\1c­O\95î\1efãïúѱs<]\0¸uë\ f)îà,\fý\12«\e\ 3!\1coßà\94Ú\12§\81£P¯0\853pWÝY?\8bܺÐ\853}ÿ¸\92ç\82\8c\87ì²¼\9cR@FR(\8a\7f5\93Ö\1flp&O«È\13ágÃ\90±\18V~}¨\0\89\ e\1a\88îÜP°¦>Ô\8c$\14¥ïg^ö?ï\86&8nzþÁc, Ë\9d!5î%\12Ñ7°±+ \98~A\ eý}â®\8f/PÐ%\96sOÝK ¬z\9b\ 3ªà+*Æ{\8cXnê±\ 2\9bX\vïßøôeÈÌÅajÄÌT¶  ^ªG¢aåØSÌ\9e\1e\1dì :Å\ e$\97ZaoÙ\87É\93\11|\99@\1c\88\0$ñeÛôÄS\fÉÎÚÝXÉ\8a{cÉ\ e¶»,SVO®-\98\vvzðª]\9e\8c\ 4â>Ñ\ 3×k\95«\8bЬíQL\97\ 2\81 ånËç1¨7)\15ú`\9d*Ë+Z\95BI\ru\90ÚþåOÉÍ÷ùû¢\98Z"¨\93ã@\vçæf\17ö\b\ fµæ\9bÌ\13,\91L TëŹ.ùp@\87\ 1SÆòÉXòÛÄ<믬\90\96«Õ\83\ 2 n~¢èg_\93ø+\91dXl\17>DÕÐ@|\9c\12Õc\réý\80³×ð\9aÆ     \8f/\97\19D__ç\ 1u%í\82G>\8b.Uç\81]\19ýûÅê"¯Ò\81^Íh úÍLòTÒø%JgÛ\1a^\92\7fdyÄ\85]\8aì\92ÐXÏ\147m\ f2¯éÞ$ÂÔaq\93ø0\11ÊÝ\16Ê\ 5ÜK³k[Ãa{¡ )à|½\13\vÆ\8a:!ù×\82ý_4Ý\86]\05U¡«»\81Àfa¬E¹,\11£sm\15\91#\92ÁEdHÀ\7fU32,HT¯/#\80ÑôGÕÚïË\ 6È\8b\14\9dÝ\80ÐëäX ¤ Û\ec\81d\82ðÐ\8f:\8bÖj\1eè\ eI\11±ï\92\0q»Å¹\93\81D!³?\90eÔ¹I\ 5ϸ\11êß\þ\19p\rÌý\80û"°½÷õ)¢\16\1c\12|}\92H¸d\94À\a¾\f\88\8bØÝc\ 4\0ý\1cÈ/ø§\ f\10*(Ã~\112¹m\1dÀu\18\ 5Á0! 
+îÔÞ×~y\87¹åZ\?àhÆÍ©ÿ17Òoô        \bÌO\13\8bM\16\b\99K\12â\86 Ì\95\1eÊ^\8cmüê·Òâ?æa\86í(F®P%³\81\12Úèý§£?iþ\8aô\\8f\17j:û\8c¢\1e\98(\9d©7\7f\94ð\9b\f\9c`z'Þ \8a¬\0i°&yj3¿GDA Gs\ f½\8dù2Åvë\85U\ 5ËÈp\e\²à'P"¡ë\r\9e-\91è5\11\9f»t\10þÚ¢\9dF\18h\96Ü©¥Ç\ 4=X\18~{óí6C´í       \9e¸×DÝ\85\9d±x%Î|x\18ðÂb\18G;§Æ\89,\81/Y\v§º\92\8eN\95\1c\14\95j±ÿÔâÁ\8bN¾&\15hZ\1aøo uv»\0\96\d\97éë\90\0\8cQ\13\ 1g;\91\8eî\8b<`¹§º\92\8e\856\1f§%Vå\8a¶ÙUä\8eß5/^ç\ 1D/Z\86ï(½{÷)JHçè\1a\8f"Á¾èò»\80äxH\8fÈÜ\ 4ZF-»\13;ÞÛ0)·\99èÀ£Ô\98\19SÐ:\16¢GqÏ\ 5ö\96\rÃþ\16\8dÃû\94ßG\84 \94¤éÚ¡½SüH\e÷a]\91<½ &ÇÕ[\8bzDÏ«O÷\87o\85f\12wc'Êå\1e\96Ñ¡áØè\v\ 1 o\10É\94Ç\98t\92\94¼Â\86ôµq\eTÔÙtn\1c\ 4\16\92÷\f\90F
+<bâ\v\19DxÚû»9\95¹\0ZOK)ãz\bª
+Ep\9ap7\ 59Ùå(ml}ÛË×ij\8a\v\9e\1cª\16
+ >eÇ7\98Ï\1f§\1e]p\b\12{:Ѷ\a¶7é?\8a\zº11\7f\92R¢=ÿ1ª\bªÎ¡ÇK^㯯G\87p_)\15tñ¡ä\90ÝBÙÄ"»¤Ch\ 3\1e\8bim¸\1c7\13ÉXá\ 3v\rÆ\9f\90ý\9d\82fàÖ\93äÌ÷\9fé$j>øS¦#+e\91°½ò<dDãÊ\7f\8eÍ\88\96Äì8åû\ f\85\95\19õè¬Âbé;\0ðÙû./ð\ 6î\1aqm\8e¡!\99póõ×\97\89´=iøÃ\9b4\\13.<ïLÁbÜT\ f4U*mèè§Rr£\9eX\98àÉ߬ÊÐ(\f\v?\bþ\9aÒæ\0¹\9b\81\99\8c\ 3M\9e°nHù\euíøà}ä\15\9d\92\17óñuàîW\1aN\14©ã\87qÎr\eõü\85)zb\81¥ÎÄ iÛwèð\ f<\91\16Ì\86DG\blßA\0Ľ¹\1dj¶|SVs\10gn\11_\14½¿fP7$ó\9b\ 2 \e\93\8b\17u4£åÅvñj\8e\14_X\9e\1d~C\94\95o8ÓzyfÚóÔ\14í{¥øð3Ùbn¿@l\f\ 2'îÛ$Ês\ f°V\ahÍÝ\19\99®²D_kñâ\15ñ\81\ f-¹öÇtvÌÏáßk^½\0\17`t@"â\0h¯ùá²\9ewøu§ó¬/\10ú\1d6Ûæò÷諽òð'@GËÛfý~Ùè{®{l\8a:\0à!\9f».û\9cº\88[þJ
+vÁNÛ©.p>ë­^Mg\8b¿§\8cPÒê.PnÝ\ 1»*Rvçe±çñDÝ\ 4νî\ 4\13Jz\ 67dx\b      â\98!\87ý³3É\9aú\10¦\1f\aj\1d¬Û±\vøø7~\ eÊ#¨äþþÕ&.d\16´)}\95Òl|ß\957\8a¹\rO¤ã\r\ 1¸ª\82{`\ 4&®Õ\ 4ýEÒ \9cÜ\10«©|\8c)´ïÄB;\9aÌ\bsôõÛ@³\90\ 1\92÷6¿²¾= É{Ök¯$½O\89´J-&\89\rÜ\1f\9f\ 5þD\1c¼ð\91©\19±0[Ô¤êb3¤+'ù\91ÀÐ\Ær\8fÉý\ fjîáçv\88w\96Â\r& #`k\b\7fkR\90\16ýÎ\1fèe|VJRúL\18?ÒrZòâ\ 6üýàÈ\7f\19\ féÇÌ\97\17\87º!*wV®Ô$¼\88\v\ eß¶G¢)w´@©çý»2\91B\8a(æñðkWêà\80\89\13©\ 1\aØC\83¸ô/\86\ 6p,\8a4GûÁý¨Ju       s\9ax4B'\15\99è*Á¼tral\fÂñ9\1e\91Í/é\1f\af>\91ôõ·\9e\91s+\9a+t\9c¡4î«'5³I\86£x®v;\9dl_/Q_Q´\87\9a»ûË¥sH\1f%u+ô\8f6É&\1a\ 2Ͱ\8fH¯t\18\9d­\90ô\8c\7fµ{Ò3ÃÒ$¢Û&\7fÁdý;$\98j\88\v¥lØò,\ 4O~\89ÒÂ$,\ eÏ\ 6ºj\1a×"E\10·²ðõ©!Wä\18-Eûs&¿ntèíÉâíÅ4¾\1c6<å\82GpdǸ$ãõÄKe}[ðX\1ezö'\88й²â\ 1NDO¥·\Ìa\0 ¤
+\80Ù\10¿5g\93*¼täQ\f]\90K\7f
+\16äy¢>\9e¸]ØÕï<âõ\11Ïø\1a7üÍ\eÞ\8có\1cª\büõgìÃäyâ¬Þ4×\82C((eð\1cV²Ñ¸­n\94\19µ?á ^µ¬\9eNÅz\ 6\84yDÈv:´\89¨·Eû\19\ e0ý±xJgjø\1ai©{\10\80[ö=5h\10é       S¯\81Ã\96\18=X\ 5w>Q]\9e\vC\96¸îgN#¹\9bí(\17ãÓÇ\8b÷LU\7f¶¶\vÝ,\95s23FP­O        !×/mW\81ßã\e\ 1ð¶\17\98Isù½¸ß²gpÄÑ/,\9e\e\83ÏÊ\7fd]_ø"øf\84\15\82\82'í+áT+T?§7Âüüß\1c
+¿7JÁ\10Smj\1cÒJë\9ao@±\97¯ùù ã¶ùáÍ?á6á`½\ fÊ]´\124F\8eÜ6?\13ê\1e\ 5ûT\ e/\16ßcê\16=\ e`òWA?7\14â3À\1eçf£\9d­båe[<SOb´\90\1fÌ\82_µ)ø \91~ÄD³Y÷z\7fòÝå/wr\1d\16å\bÉ?\81\8f\8e\97\86\ 6\ 5ñ\1d_É´\1aÞrx\rJL vlÇ\ 4Ô\8bå:/\0¯\91UÎå\97\97+v\15ûÏâuÌ|]õS\12\8ce\vø\ f1¸99Ïè\9a¤û¤\7fD\9b'¸=%\13`Å^>¿<§ÂmC\96Sá6Ãå\1cmª=¶­\ fè@(iza        ÔZÔYê<3y\9a r\97^¶Õ\ 37kës\8d?¹I\94V\8amdñ:Ô\19\e\8e±5\94ìÔªO\v­
+\0Ó@\9dµÛÔ5\8f\98s\80\98}|]D%Å\ fÈâbmÏ\14\ 3Iý¤:,¥í?\14o\87$\rïêBÔ\ 2¼Ý~ª)$GÛ\v^\87ꡯC\ 3ig²jGO\90ã\ eÍäs\88xÚ2åÌ\9f~N\93\ ecXDÅO3%\10ûö¤Ï       qß'¥­H\8eó\87\88ª8µ\8b\8dK!\1f\86\98-\16\ fíl2ä2\87DEÅîBµ\8a  b©\1deç/\81ò#Ì~AýP^»\eÈ#.Þ\8bê¼F\1a\r{BÝN­$`\f¼ü\9aù\1a@­|µ\1a±Ì\99c\1a)J.W:Ò}\0ûÚj8ðeA\13ã5\1c\rA\8cJT`»\ 3\ e~7\9aj\80öZ}\9av^ÁM_è\16¶ê8\9a×ð$\ eó\92E\84H,ä\90hWÙ#ó\97õhì\19êYrnaª¹ ÌÜ\9b{jP+\80\ 2Á\8bò²&Þf\88ý1ù\ 3Àqf2ÃDj\91\10e\v\9fÄý.È/(!髨\94\87*M.6Ju\8fFq\88´:ÅÖ¥\10Ïu@òeN¹
+þD,E\10`/\9e-!e±\r¥\\v\88~@S#®úê\8bNsOâ·\85        ¿ö,zwV\1eÍ\f       í\1dË7´'ü´|¯­\1cxkÕçÙ2\817\96<4|\8dºL¢x\1e\87\9e\89ã|àB\95¹ã6oµá\15\123\16\f\eÕ\16¹d\14\ 3w)>\8f¼\1e±jn\8b«;GØ\ 6<ÁÒ\81Ó\1ex
+¿1£\91\vKóèÍ ~C
+OÖj~\98éóá\16q\8bq­öÉ1\ e\v`ºU^q9\85\ 1/\1a·0
\9a@ÊÙ\b9.Þ\93ÁÄ\10\13j¶?\10\18Æ\16êTÛÙ\99½&ÉG_¸ß¨¿\80\ eÖ\v
+Qd\9aäí6)\ e4Þx\9aýv\ fòTzÑ\8cA¢}¾À¥\8b\9eF\ f\ 6Mç¯u$\ eh(Ë´{\87\ fÒoBß~U}Á\ 5Áv­uV\9c=0wô,ÂØöôµ\8fo®)ñòÅDYi¹\84[\8e\9b_ümÇBoý|^\86Í\8b\9cxVÓ§ÕúÚû¼A\8a7")\7fø(%Ú#̨S¥Þ ×ª\ÔWºiÎ×\8e&°ýÀm¯n\89¯4R!ü\16\9d\12Ê#¤F\18{xjÀ\91cU#ó\18â\1fÌþwþMy\1dÄ\14¿ä×\91ãç>f¼\8e®
+_ͯ#ü\10RÿÃ^G\10u\8b¥°{Ü\ 6\Ë´ \ 6ÛÂÂ\86\81ÓÀY÷\b:këÎ\15O\1eÄ/\93àÄ¡<NÀ H\85Ýö\88`AÁ¥ê\1a7\81ó¥¬}S\89¬\8a<îz© ¦+]©ûa¬(úA½7\8bp&à<dÍÂ\95@Þ·<[\8al+ÄaµþF1ë¸$\bd\fV\ e\82\9f\11\18&Up\10\ 1úÓ?X\15«\9bJ\8b!\15í¢»ÌϽ\9cé\ 4\82]ÃÜä `:À&úA\90\9dÈÖ\a\9a\1aö7Mè\1fÐ\r¸\12º\rÒ\95VNæw9Þ¨ÿ\r\83µ¶\14\ eq\8d\9c=R\81Ä:Á\bʦuùÅ!qOö\82à\17õ`W\9cÐ:§\8f\97¬ØV§øjÒd\91\ 4¤cn^ÿ\1d\95á\8e.K\80,0N\86¬HaÝÑCóÙ«\89J\8aBû¨b±e^\99"¼*m6É\15\94Ùf\1aý\82k\1c\16¸5\94èès~Ám`w6\r~ñ`\81t ÂÏv\89+\15³û<Í\902\0[¡Ã\9d\8e \ 3åk z?¾ÖAõpa?êØÀº§\83«^\ 2hØC\17»#W{\8bÝY>.ºó!ý\94\89ü\19«ò\12Óäe¹°[P-\82\enï1\92\r?\8f»\10ð\90\193(\1cÓµí\95åÆ\8d\82ü Ø/\0÷Ç\1dA5NÖl,\12C3¤V\12\95ô;ðmÆõÅU¿õ\8dË\1f\ 2§âÁ{\96dX)\11\99j\9f\89Ý0$í}AÜ:­@Î\f,zùf7¾b\92ü\87û\89f$\e\ 6µì\1aØ?\90ÁÌV\8e{L\18\94ß8±Ly077ýP)õý æû\99ŹN±0Øa×\98þ\r\80\9cõ\ 6Ü`ÚK\92+X\9bÀðxÎìøÂI£
+È)Å\1fa4\16Zßd-u\89\85°L\ eBW±§øFúàn\1dý¦.\ 6¹Þ\9aHȼK\\91$\0\17\e{<\88±ôÑ\8f xQ±\86×dJͼ\8c#ãéV¬7ß"\8b)ö0.Àm]\96Á©Cd\1e}~uÚ(×|EY\9bêê\v{4\f\89o\0ÝmÚëbHª\19º\1e6rCX\16p¶Ó\0>»UD$Ü\r\9ew\14\93¬<9ú±éç-#\10j»·4j¥°\86ÜMo
+°(\9a¼XÆÇEÞÀ'\93[  >\1cÖ\8e¹\99½ùȽ®'|<?*y&6ãl§\18â§Þ: Þ\1a\\e\8a«\1dÜWaE»º¤\86÷¨R«¡û0\83\1fµûõ\8cUÑÚ\86;ßX\91!v-\96\ 4\13o\8fjoÔ\ 1\14ðR&_×vZ¼\ 2äMÑýgeúÑëÌ\80\7f\aú\89\99β~\86±$8)°$úÿI\1eÃ(e       è\986c£F"\9a\18\821pÔ¥·)\14\97VÇ%íI?²\1fÁ\97\85é´Ý­±\ 2íí9\8ddKEy\ e6\9eòʧ\10\ f'ìà\e\0o"È\85:¼Õ\82B29\95\98\85\1aU\8fÈþb\ eà\12E\8bv\80\98\9d\f\9dPH§¶Õ\8cÝýX\1a¹sÿ©(\96~[X\91\9f\ f%Ü!Âl\93óO·\r\9f\94\9fÝÕ\94kûUab\aøZ\­¤\96²¶"lQ?\ fW\16évxvÒº\94®\8a\14 ^\18Q?8,¦GLÃÅ­\97·\1c×\7f\aÍñrâ\1f\8a4\80\87-XþTñZ©UÑ\84\1a\17Xx0rÍC6\18\ 4\¼­\11\7f\ 3~´<ÛpÕirç\ fð9iï\99»¦0\11\96\84kø«\Êk/\8fìÌûë\95Nü#¢ÓSºÀ\9e\12^f©&FîÇU8\ 43\982¹#\b°³%?\8d©Ýb\8d\ f [Ï  Ê<\92ê`ûÏz\eÏ\fuS\93\ 3¼îËyp¶ÌÚ\97 \12\9flDÙ(tÜ\9b&<F©$2÷öî±I9§Ì*\ 5.wn.«\84p\85°\89ß5Ly[e\v¡>\87\97©cB\9f\14~\9bH\8d·'Ê\88½-(â\10\9dbOkð\ f$Ö¤?\86%ÏÁ\9d@Ía\95[\8a3ë.¶¾E¢Ö#Ñ\1eJ$㼸\91ß"ríÅe+\ 5\1e}³ã½sAG¢d2\97è\ 2Ûð\81¶tò~\92"å¼\ fàÙ±:»ÁN\84\17\10¶ÀF-\9fmV\1du\ 5:²ÀSðkBo}Jó\17\85\9f\e\ 4\1aím\7fx\r­\8e\ 3Ø\ f=p\84É\81X)­j½Æ\93\8fV\18¸²(ÌÚéê\8a<X¢8\ 6biüÄiå®¶ùxkY@Ê\9eSî^\1eÉJ@Ë\1ai-§ä\85nÜ?=¸Ð_\a ëIm³\f$¥'\94?<Î`ýë£Ò[)\7f?ï3¤¶¦Ì\86¬\17Âó6O[+O\8eë\8fÜ\82\14 jº\111\ 6ÐÍw\86Z\a¥\1e\8f\9c\12{ÒYl\94®)R1±Oäð¦ \13     g\ 4£ÐO\87R3Á\vGº¶\94é[\9e\92x¶ÒÃÀ\16\85\15\f1ʨ\14\14P\12Ò\18²RTô¬¡PU¸\82\82\8b\1a©\9fѤ\94¥´
+d*Ù|EPW\15T\ 5\pUÇ\0RËW\15´\12\94\ 4\0\14\0DQÁWÔ\88"( \0Oß}÷ï{ÒÚ
+\18æbæï9»Ïý\rèocy¼Þsz{ÑÞ\96ô÷£þ`wkl\92Hãqg)+=\8dB;8d\81\87A|PyíQ¾ö[\ 2åúðÉ\ 2\8b\9dba#Á\86\0§²\9dü5\84ÆEDÞ¦¤Ý½â\9f\18+¾3Kþx
+¦LH¬£8Ö\11Èäy3\90¤ÂÕ\15íX
+¾`q°Ö\86eSªl%K¬%\19£\b\9c\b­(~¡¶åsZB\9b2\9f\17ðA{\99Þ\92­\ 1\ 4p4¡\9bOIk\98ÉJ¶,²ÌËäa\92\aÇ\89&o§\1e¬\90<$@ \96¾Ú²«'<\ f\82¶q·º Ý\87\1c\9cÌZ\82nÿ¼qUõ¹\12k%Î\ fX\95F\90\1dõ\15:P\8eÿâ\165\8fø\ 69îªp2\1f\189½÷6oB¯GÜ\88&\1e´}j=µXAoR +[W1@°cí4\91¨áõÚAé±ÕcC\83EçÆ\97\8a\128qÐr\93lPs £\8c\16Ð\8f\1a(~'\9e=\8aUcS`Þòú\1eÂ\r÷¡/÷ݤ^Ô\8cåø\8aÂ\84\10¼æ\1dCäõ\87ÂUz+\97M\8e\b\16ñ9Õ7\13IUæyÁ\9eÖj\v¬dôëO\89Ü\ e+J\15}\81Ey!\9duu¢»\15Ü/K±\9b\80ÃK0I¨Ú\8cÞùÕOu n\9bº\91N\ e \ 1±2rFqhzA\81ôö\90ôÕ\ 5ÆÌã\1dS\83ª{ÀD\1fð}2Q^º>\9cöﳪ|Î}²E©
+½u3zK3Ü Z      U\85&\0ª\97\ fXà+å\ 6£zÂ\ 2\80=G%´\11Ê\98³\:µSb\10\11·õ\85\85ó\86anÛéÆé\11êN\89\85´\e
+:97°[\7f#u³gÐ\12Ø\12\16áöªÖ\8c?\82DO\88ßsI\8a\8e·Ö@l½\8aÍBÄ\b,\11 \e0ñe\17t¢=\9fª\83)Þçn\92Á\8b\8eá<æãçTÔ,\<¯ÔLÆê,OÔH¯Ô,`\9ö0\17\12\15\r\1cÁ9MA\9b1ÖNßs\níä¨\b\9do4kEÅo@î\a¸Ó©\84ÖX=\v\9b\a\94\90»cÄ      G\1c\19Ú/\91éTxÅ=÷©£\19ô\1càø\0½@QÏhÖ\99(ßLÞ\8d\89^âe\82¦ö\1aÜæ«fr\19ì\99#¨Ní£e\9eê\13\99\12T\96z¾ÐV\5\88ªh­C\96zàtð¼ýJ¬ (ö\ e Ð1\94¨õEénþ¨E#Tæ.$,Éo\1a6\ 1a\91¹FaaouAÉ[\fvb$ÿF\88bß~õF\1f\1e\ f\9b\1a-ä§^æ\8dÍþ»q\8eü\r\9aÚ\1dýì;a\8e\9f\13F=äM\1f*:z±T\vÈÕh\8fCÓQý\84iÜ%\ f\86$}\80¡ùõ}ü"äò\b\Âù\ 3\9a"JwÚ4\19Y\986ch\ 2\8d>\8d\ 5\97\12È\ 43\ 1\10\ 3¨!Z¼¦>ÖÃ/H\0ÿú&$a\ f
\9b\94\17I¾/èHaº~×B9!æ\89Ú\b\94Þì¢Æ\\93Kèl.Ô!\f\89Üà\b?\ 1j\80]+{R±jv\b\96Ò0-ãuÌ+ØR\8d\94µ¾ô\89UÙñ¬Ñé­lÇæ¬¨B,UÔïK2bð\18R\ 2\80ÔÅT\97ÌÓKOÄÂ<\e±á'ý\9dÀ®ã+K\84\15\15Ϻ\0ϼEdu¯Ü\84\95\1f¥Á-\91éð\ 1\95\7fíÄl"×\8aÜúr\802\97k\1fæ0_V\9f\b0  ý\99å©\84\8aç}±+ú<TúÍ*g<T<¿nñv\9bÁ}<uR%\1e-\ 1û\93ÝVlÕþb²)®Ý ú;\12Rg\17\eìêÞ =)\ 1\97\12 \1f\8cg\fPZ.<µÉEûÂ×\18º\fèy».\93n¯ÁôÙª\9d¥Þ#Ï)'\95¶á\ e¤¬WÐå\ 2\17\ 6ß\7fÞï}55¼»¾%|\1dÑ/FÔ\8e§êõ\82q\97Ägê \ eú\9b'ðA~ëú\8bU§àíãY÷Ù¬"r:n×ÄØÏ\88\81Ó,\1aÚhGʽ ÖË\98`\1c­«ü³Fóáä\12§\87\e´ëóÓHÀ#rwAè{`è}sèuµÏ/¦\95\8b¯X"k\15å\f\86\98Àì \12Ô\ 2\15OõÔ\87\ 2\8b\90À±¥ ª\9bÿä¸fci\9f2Ö®\11. 0U\9aâàc|\ 3    µËß\1eji;mx\ e<\16×_Q\ 6VjÂ\8f\94¿9Ï¡<\9dú´ó\v\99]Y0\81Éê]ÖÌ\93ööCÎÖ
+¨<Rí·ôÍ\18\fèò±\ 4¤ËöKW\7fÖê0Ø\ 1\93ç\vÓ\17\ fs­%£}vòù¼\8f+\110JÄunçQýô N+q¬\15\10Ø\ 6\92\82ä0\ 5D\1c\17\9fãaÿ)ÞùVwðAwJZ\ 1î¢Ê-wQ}ôפâ7ï}g\95g~÷S\eC-v·ïv\8a\9b\10oSB$\1fw\93k~ë\94¸\rÝÉ{@Ìߢb\16\0öÛ+V(¼\8aSMä\9e¿0X\81g[\9c¢,\10ì9\92\×IJbÔ\ 5¤:¤¥7¤°\b~$óLdmH²»ñ¦\ f\15M\b\8e#Ò*8áJ|H»\13®Tü¿\90\81ÎL5Ü`//\9e,\ 2Utô\98\au\a\15è¼\8b0\12{\8aPõÉ·Û>\93\8d\9aÑ­yAì\8aè!3h\97?\8b3hÖ`\8aQt×h\90ý\15\80P±)òt\ eK̬V²Ù\8f\1c½²\1eøæ\]\ f¢4F÷æ\86ßÇã $må\93\vÛ¾mO¢mO¨¢(åO\8d\e\8dgJi\98\e¸w_¹\95\ 2:\ 1Þb¹\91ÈÉ      é\87>ÇyN4*È\v\15úU\90\82\94ôÎfX3/wÒQtÙ\8e/XÌ\15¹ÄOàéMÓ\9fe\99#rWjk\9d·ÚQaÓ\857ls[Æ\8aµ¦Ã×MÜq\1f]\9dLã¸Ïî rj6u3@Õüq½\ eFÜúäõÔ\14ø\82bsWM\82$¾·D±O¹ÔÍ»R)¹8KЭ\84bT©k\ 5s'÷áÔ\7fxÜÞ:ÿ¼sUÂJ\1fÀê\17j\82Pþ·¦\9dYè×\82 ®zßeDÕë\99\7f\84Î\8f\18\11µ¶xöx\1a\16\9f*\14\10£Ð\ÆX:«\ 4\10ÕHʧ\aÂaq\11_\80ÌÍÕ8Áñß]ÇBL®\81\16R\12-\8fÙ¥\ fV*à\\16);Ór\ fãEá\17\10\8f7\1c\ 3ÚÞ7ÖQM;S_íò"¬\8e2\e³}s{3C&ý°#³g³m=÷­ôÏ®\ f`àÃB    °4³nÛêLç;\10s\97\8an\1eÍA¾ ñ¾á,ÐZ;\92¶>\87\7f#/xt\1f\99^ßëD\18u4@Z\81Ù¾3\92\ e*r\12ÝH`'\8f\ 1\1eKaÃí<®ï\ 2XE®;ï«Î4\9e\bÎ5eþç\8e\12Ø!7\8b \11^\7fÏ\ 4\12¿ï)æ.o¬Ã\1e©\90ÿX\1eûßâB\fþ?3\ 3ßJ¯5-2WÕ\17q±Mß8J¯N\9b~\ 2SµõS\96Ç\18=aÑA-aV\9f9MÇE\91\9b4¨Npz\9a,u?\r«éª~\1a/¦)øuïçó\14\8cúá\14g\e\8exsQÎB\8a\90c\r\ 3JBÿ±{ú«Þ·¯\ 4N\81©\89Ö9RÆ$ð|]=\99î#\92¨\v
+\95fx\84¯\10ö[\80\ 4P:$´j
+0\85\84×?¶¥\ er9[ \10¨\97\ 1VìÉCÄÇ\0ïcS­ðVû\87Ý\90h¦_É ë»×\f¨P7ÓÚY\129MIéQ3<\ f\82©ß\88\91eV£T*\8f¨Î'\95
+\9a×?=\8b^Td<ö)|
+&T\1d
+=æ=À~³Ùo£¬7Fgª\7fqÌQ\8b\89¿\90ึ ù£\ 6³:\88ú\aèåièí\95ö\9dLu½~¤Ý>còéãØéÂé\9c.ÞÎ\8fâJáô´)ÛÚ;S\85h¦B\ 4\90\9eQ´Çð*}é\89ÛWü\a\bB\98ZàËØðãKÇ\94é\8d×H\1f®\1d\16        5\8d×\ 5Éå5§]i\90! ²5ð¨Ø\80ö8-ËDãÔrÔª\ e­ö\8f\b\89ľ.N\0a\ 3Ìà#*ürRËÇ]ZùãKU\80\85$â³ôTDê«þF¿wÈ\9a\9aêýÛU7jüX\11Eÿ7àE" û^-\9a\9bS\ 4Q\19Ö}#Me=\85\92·¾±cNûúoصÙÓ\9dqohY/¢®±Ñ;<\91OCóxË*\14\1dYÖX\f\ 3áVsÁ\vª,        ,\1fó\8ewݾ\ f5\ 5¹\9c%\7ff\ 5\ 2ÅÂ\89Ö\98ÖW\ 2Ww×c´\ 5\99á4\85\82\92úÈ¢ªjÎÐ;q\ 3\17F\8bÍ\8dk\ 1Ûù«B°°@\fübvc\98\8bOô'Á÷z4ÔÝ\90úðHu/æ\9eúLÍÇÛÍ\8c\88Öÿ\18\ 5Z\8fc\87>\81Ê\ 1ÜpD \11\84Ð\15¥ ¨\8cº4ª\ 4 !Q\1f\8fÌ\f9ÑëQ´ëv§¾¾\1dB\1a
+\8f¦VK¡*Hà4­Ö¢B\1eª#èù\87µ\ 4+NÀôT\ 1ü3\99o\TúĶÙê¸+Ú\8eR\1f¯ÂrmM;3ñÜrmY&\8dÇ\ f\ e@ön\1cBëA\e19\8b=yx¥Û\9eó
+\81Î\15ÂÖ\8eHó^bø<óo\9fÁ³\9c>Ã*
+\93s\89å¬íÖBj(\95 \fÈùñ¬¹\16Þ\9dl\93\15Ï\1f\ 6?ÿìùaå&Ù\86\843SpíMK\98½TÅmÔJÐ=ñäÁ°}Î\9a.¹ÁóÚ÷\8a9pL\98,¢»Ï-\89 \9bwcôF\87Ë@õ½Tv\18G6\97ó\ fÐL \9aÈõÆ'\88%\9dK\17U"8\v\1eñMË\89\82u§Ï\93¬\8e]y\18î_öµ GØ«äýK±\RØP(Þi¹\91%zȯÅÕ\ e\ 1CºÏ\8bYk:§Rà\1d$Zɸú¼øÞy.ë@ѽ¼ý\9d\82\14ðøü\8d¼+^ìºCà\90pºÞ¬"©¢é\16\83\9b\ro¨×»ô\a«ß; ò4\a\13\8cº\9eõêâ°\ 2Æ\93\ 6\9eÑ\8c\94\7f}­êå`<¹\9dGôgØ\ 4Í\11\97Gn\ 2Ûjð*·\9d\19\ 5Ù­h\17×*æ\18ï/\81n0áN®[\b\04+ö
+n\1c\88\10~¼fÚGW\9e\81Eô¦ôJÇÒ<R\ 4£\0\r\19\81J\9907+\99¼ò\v/\b\a\17ãÀ\b:)\81H̯]7Ú¿mOý\ 6\rÌ\9f]\9cÕ¡\19N\9c·Ü\92õF¿ðl¾à<+\ 5\97ì7\8b²û÷)\97\96\870\80\8cT\10L?<\87\91n\91\99\9a,óÂè¶\90¹3®DÎ\8dV/\97Â\13-ØïÆN»\8e\1f`ÛS\9d\ eáÉ¢§¯;F\15Cò}\19PD¶±¢Z1#\0g\85ÞuÓp\9cÇ«\9b\14\83;Óß\1fµy\v.̰»É\16\1a4¨ù-r­Å]ú#A\9d\8c˱Fúzé2(õ±\1e\8c&t£\ 1g\81¤\84\7fó¶±ÿ7
\9d\v8\8d£\rPÜ>G\94=ëK>öÑÒ§@\1d\1eÑÒ±d\v}îùL\ 1±\1c¨¥\9fZW*Ï)\ 3ªç(R\99\ eüerÊç\ e@6\ 4ûóç\ 4\15¾\8f\16\14*Ýá{ö-Úre`v\9ept\1aæ\19á\14Yéò\98\13|À7÷çw\16ÁrÇ~\0\a\rË\13T       \961\10Rà,\ 3\96\80*ÒÌî\975_\93¼«Íu\7f\84ÿþéä\81¼\ 3öã¦ïû\10{\19G`«\83¦n¯¤\9d\8a©¢\95xß_Cõ<+<\85én
+´0^ưä\ 5V\e©9\v\19\88ûõâ!Ibpª5Õ\9bëÆ\7fÑaTu«jæe\93þx>1æâ5\7fÍB\9a\8b,\86\17\ 6ëVÙý¸ß0Åx\83ë$\ 6\92N\95ØUb\81Ä\90É]bh\1375=\82µ3l\87²¿êjm\8eàÉË\ 2ÑpüÖ6\11Õ`µùeþf*\8aï\92\92BÀ¶S\15¦È§\ el+X©»{\ 58õp]\ 1\91\a\ 3î\8d\ 1\98½\µ½(~\99b\80¾Ø×ìØo\1d©ñ¾Â\bòxè2.\1c\97bDÛ\91íãÂ\84õ\96\1cø­@^ÕøWÁÏ\91ß\92­DÜPû\84\91®ÂãåZî}\92ØP-øIJi>Ä\84·\12\87\97¿Uåá\v\19\86\83.\eê2 
+Ïqò\ 2\17)\0Í\+µ×Á\v¨°\ 1ÝâøìPz!¢±\rëÇs/ØÎ¬¿Lì¤MÚÀáGdÁT}õ«èze»N¨põ\86õôÝ2s/%¦(°EYW¹ÛÍ\82\9b\94t£¦ìÝ7\9aá?¸)5Æ\99tÞØþ=FfÿȾ«#PbU6æí¨vý%w*Ü~ßø£Ë¹á¹å²3}á<%FÊ\10×\95Yr·¤Ìðé-\15ÙÿIløÙ«Å4C\ 6\82\86        8\1c\88ðÑ\ 2|¢ëù¬/Nü\13\85ï¦Vûb«g\9bXxËÉ\18åÀ\ fY\94\91÷ý½>Ve\93î\94ßÔ\1fÈSû?@£e\1e\80\12(\95V\99à*·\9d\85\90\11Ub¨\85\1dTæE\1cíÔ\99Ël 2\8dtó>¯\8f<p\9fk¡éºO\ 2ñÛ3D\8e\d`     \18\19\99\ 2°^3\96j¨~«%OH\bh\12Ó°NH{ÎÖ_?>ÿ\14娧²,ô\18=Q0z§\81¡\e\7f\80\94ï\81\9e\96u§ÂhÍ´+æà#\19Ò«Ø:\85%<ä\12^;zü¶\\1c½.ö\ 3&\17u[\9aÛ\11ºSÒ\8aÊk:HX½ók\9eÞÚ\93ái\8a_\ 6¥½?\8a¾#àiæl×w\868ör\bÔwÃN«¤Í\16T\1a>C²Ú\12þÌ\1d\16%Çä¹û.ôn\9d\et~(ܸN\17e\14t2´ì1.¥z ì`à\82÷ÿÅXr£ð%±Ê\aø¹\8fì\8eÚ?8;ß\87·úçT\v\19E í£fyX\0\9f\rw\ 2\v9Ð'Ó\ 3\15\84VHW\9e\93gÿ¼"ûÓ\ 4\13\82y\ 5@nÄ´1§b0g\b.ºJ\1fØ/;\7fÞBO\8e+¡3\8c28|/Aé\83\ eé{3mK3¤\19j\ 5eöaøÄE\8c\96\9a\11õAOJ\94\92U\ 2T¤À\8b\1e\94\ 1\1a£\8b\99\96Ç1\88Ý\8e\88!Á{³í\16ID     ÅÔ+\8dº\95U\fqðö·\aª¡ì^ØÐû[oGÄ@ï\9e%`\8bÂ@U ù\95\99¢\10\vª\aÌÓ\93æx[(±FÍB\13\96\805%\ 3M6í¾ôϨZ\1f\90m\8cñ\ 5õ\1f\97u{ªaõ:ý\90Ï\11\85ñ\17\ 4)3L¡\8fN\ fMd\1a\1dV¿ìks\83;y2å|ß\94\11ÉÈhch\1câ)9ÁÏ\89Ó9è`Î"ÁÅнF\1d
+ÛÅ'Bñ\ eè@;\14g>̰çÙ¿û9õâWñsêkÔg>î|?ðçÙE\ 5Àùø1\9cû¬÷âÅ-\fùÙ¹Ýì\9cîñá\8b\9dÌ\97o½©aÎîâ«\98º`¯ÿá¬çܲgcýDCÝ_\11§Q\1foÂc\ 5        ò*-.-R©õlͬ
+\ 6\rðóà¢AwFÆ"¶r¯{ý¼&-.û:\9b[\90g¦k=G\84\83#ÚRJ\ÎÕÓR|
+»¥f½àIJ\90ƪ\ 2Ë\a\15m\18¾\ 1¿0´\92ú>\19\1c\ 1T`\90\94¨\13*õ/%²*Ü\16Ð\95\90b#\8b+x1´\ 5#k±\e\1câ\f\9cUY8ªß\85(³2,mIRmp\9cè+¬ìx\r\v£èç\10]~\82Ø\87ó^ËñÁ\87åÖ\18F)\80\17Ñ\86àZâv\19Ä\18+ñÈGbxÒNj\9d\86\87À±óÍ@T\98ø\9aº=\18û\rY¡òò_\19-=:ÐM¬IûZ{ÒYËZc\ 5pG<\97y\9a\8c\ 3úê«Zê«N¹Àgb{Õõ\8e\12\\8b\1a1¤\\ 3Ò\81wÓ'ηæE~:¶òsd.È\ 2\15y\ eñ\88@ù"¸öѨ͠rµ\\ 2\95Fá²y/Üø\85ÙqÃÝê-*P\950]      S\ 5ð\178\17¹*ì¿\1dYüë\ e\90$\8d\ 6\97uY®xG\13Ü\ 2Æsú\8aÊÑ^Á\1c\10úuu\88áÆÓ`ß>´\0\10\ 1¯Þ\80\17\16Z'\1f\9f\vdoDßÇ\7f¼-\91\82×\1f©Ç\9bøó\b\ 3\8f¿)¿\98|Ñ¿\98\8fâ\1a1ìö0ýþ\1c0Õß 0ÕÙPÃW^\eù\8b\f\18\16н\87ê\f5t0þ\8coï_\v\9fK5ýHSQÿ\82\85\99ÆQw\81i\85ã%\9a%÷¬\8fP\1d0+
+ÐÂ*t\aª(%71Ên>{Á\v²\10±\11;ô^kBÕÉ_+ã4­Ù£\85Ìx\ 3\\1d·\ fÀAl>ÚçÞ\95ÕÞdMª\a\85¢°p\89fó]\16/ I )\86\ 6£JÏ \83\9f\82\8a\81\16<\99{ËW\8anR¨ä\12ÀÃ\ 5M\9b\ f÷ É]Wé\1c,\90ëK'/Õ³\7fHJçÞ@X1hz\ 4ѸÃc\16\vÄ\\fd)\ 6(ª´\1fi/Åa\ 3\ 5oñ>Á\99\9ea<\ 1Æ\99»\ 1Ñ\80Ĥ\8ed Âi^ÎÏ\0\bêüvx\8dÓÀb²\83\r\11À¬Z)rcϲÆcM\1fÑÙ±      þc\10Wàû-XlÝo|'Aø«Ý¦Þw~,_OPy'!Jlj\ 41þ3\17ñu±bÓÛ\0C?-ßó\18Äð±\8cÝàîoü\89ÍÍ> \a·Mà÷¥>»×S9<I,¸S|¡è\ 4Bo0µ½b¾@\94\17?¿Ag\85;\9dX%\8aåë\8bÎ\8b\9cËT\15»\ 5q½mh¬½\1a\1dÀ´\8d¿|-#\8d\99]¤H}í#]¬Y¤i;ái\ et\80p\8eN·ùé­¯&M
+dª+øç\95S\1djMÕ¯\8a\91Ò÷À\ 4ß¶7±wß\80\18ÆF£o\96F\a\15\9eX\ 5"{\1eù\89\987ÿºÖ`ñW\8bÓ\ et-4h+óÞY2Ñ´Ñ ¬ß\11\8d\f;1èî\86ðÕ[e¼D\87'ÄI\94Ò*\ 6\8cË\91\8b=*²Ñì"¥/óÄ\9eï<\9cIïC\blP þá¯\8bÄï­qQ\83Fw=       q³\ 5\8dÐXÇE\18\15\82\90\93Ú¥\ f\86\0ffý3×P\ 5èßb^gî¦+\ 1úr/ãìÅ(a?A6õî\12«Ü%\ f\\94ßÄ©\12\8e\bó\90\98t\e~a\87Azß\8e
+©      \1e6h|ÏÍ\98At\aÊ#\97Ù\0\15Ù\15g'*:\15W3=Ôæ­fBJ\1eѾÉôä¾ÍôÃ}\9bùËW%Ȭä¯ï`ä´#1ü]{\8a­j¡\82;«Yp7\9a¹\9aa\0@°n0{\87ÿlHðæ\ 6\82\9eÕïVW³äY¶\85·Ã\81È´BnéÌÓ\18\87wµN\f\97"yØý´,ñb\1a5\96\0\0ãì5\8c\8f Î$ª\ eQ´EQ\bÁ\92m·Ù{<P¼ë\b½DvÊ\ 5\12¬\|c§ßÔ¦µ\82\17ëq1KDû\ 3U\ 3|9\»étªë\87\16ÀÑ\8e@©y¬í1¡^ò\9aZYïÞs¨\vc\9fÆâùI\1fL±W°\1ap²y\v\15ðl)ù\88\98¸\14­Y>ÅßâÔW>êTÉ5-\1c\93\b4\fê\9eà\81\9f\9f\13\1feNòZ}§åÏ\8fP\17\ fÃÆ\9f8$\87êÄài\8dÀ¨®\7f\9e´H·k\82\1f\90\15>²©\8a4\17¬­\98T9\vÚ¢g\18VT\16iµÜKy*©¦\86pàX-çÀ\88\ 2T\19\91ñ\80\16\9f¿Lq¸° 9r»\15\93÷¹\e4\93ä\87ëßöî\94Ý8ª\89\ 3\87q´0å¼d\18V®4ô¦`\99Àñ`¬Éòç®\95\91$\99N\9a\9fa¥.Á\92\81I%q%¯Væ\16N9Mj³<àT  4\96îGµ\9e\12Ö\91â\99\10HýNá:¹´N\ 6ç\8c\0ó9\14ªÍ8\8d\ 3Wjl\9bñh\8d$^¹A#Òæ\92õûKô\9dÃ$ÑË?©Ü¾¹ý\90\88Í ÞsB\93Ó\91\8a\1a\8c\b(\ ek\ 4\f\8bá\17¼Ö\eÄ_\a\vÀÔ9\r\bû×µvÓZ\97¯Ù\eÆ\88\8d\ 5\ 4ÛO Þé\99\98^Îv_P\v\11H±ÜÛÆ\84   \85\0\93£¡\82\80¶º\b¾\ 1    \97o\8däÁ%\929\fìF\ 6\9cÞGf\97¯ÙÉÜ(q\8aN`\14î%S\85\84\91\97²\89úÓS®¼&ße\93\ 5ß\87éZ,
+k\96ÂfôÆñTÁ\0\ f\86¥`Ã'\8aco\ eåâ;iÅM¼GþÔI\14ý¥\96\16äì¿Ðþ\10\17\1c\ 5¿\ 1\ 4oò®ÚÏ¡Ø\91+0ÀÄí×Ü\8e\12\a\15÷D\ 3\ 6·`Â?ÌÁÓo½\bí¥5À\1c3FÁrçë ©b÷¹\83\92b\ 3Ú\9cô}jÃOþÁh·wV¯_r[B7d-¤ñ\80A\92¸·­\15¤à\90`d\12\81x\8búî«áñ\17{\90--\95eî¤
+\1en\râê]d,cNB·#ý\ 2è[L¯\0A\9e£«+\9a\1cðooµÉ\\87\9d³Vô'f¾/\90ò\ e4.\0ýë\16u\91Ä\rÝ\8bÿ\1a!ãÛ_ö K\87\ 1.\15\8f®\ 2\u嶸t\8dYªr\ 6÷\\89%í     r\Ñ\8d5çÐ\87M°4!Òù\17m,b\ 1\ ¯Wq_CLÔ\89©ÂJ¯©\f$ºÀrW\9fxAú¬\80\94¹NÛd"gZu\83\ f7\ e`n\98ô\82\\9cS¥N\9bE\T÷LÁt[׫\1fS\86iTÑ6\9c\8aRZÕøUðº¼)a\98Ûh\90\8b¬-\12ùû¤ªç\0¡\95\9aD\10R\9d3&V\è¥O\80á\ 1ïÂø8Ir\16Zdó\ 1¡e'\8aNGºPyÙZe\96 äN:ë·pü¿\ 4\7f\8fÊYó÷\87@\97ºÅkû¹\81¹Ë¹\1c\ÇË%\99ÜÍõÜH\aI'\90\91»åMßpK\1a\aÏvB\15z¯LM\ 2\86ªè®e¢6\ 3söfõQ)CI_ës<&9\9e\80s;\13s4+s2ls)\83\98ä4\94Þ·3¯c\99\86\ ed±¾\1d(|?iº[²Ý.\0ºYSs\10¦\16/¿¥({\86\87\ 2Ä[An®=\8f#§7I\13bngÛé\1f\98\am\99ù\9e(s4\86ø@¥\ 6ë\87\a\ fås\oÁ_¶\ 3³º3Žs\98ákÜ¿læ½PÈ\1ed)\89g8ÊnMÝÙb¸Â÷tô\88\80\87gkL8\94~\1c?ÉMØÓÒ\ 2a\84\1e*6òi\1f](ó+¬¥xÃ`#9lt\19ª\19¹8 }\16\r\03@\1eh*R»\ e\ 35\10\87ïÙ\aßáâ\8a\9cEh$cÃ\8b\ eì26ÃAzDܬL\81¿\9d|{\1e\94)\10:\1c\8c¾\14¢tÁ,¸S(︫h» !\ 6n\9e\8bãW\84/kÅ<!O\b0möSÜUá\aÉ\94®\9e\92Y\ 2\94°Wo{äf:ùgèûVÂ\83Lõ0.ã1ÐÍ7ÙEv3(u.\1eNõL@\14ü>!i\ 6a¿ÅCº
+¨tÇ\1c¡å¬©­o\11\ e\rÞÚ\rÜ\1c\ 6p\1c\ 6j>Í»\81Ï\16MßÄâ.ÝÍ\ 4ðiy\91Ñ\16´¤ |èø\96z&û\ f\rp$\9c\ e\ 4\1e\1fJ$\1e\1dð\7f¼èÿeGûn\18°5ÐÑĹèqQ.:\19Ø\96í\ e"$\8e\86n%³C\87\88ÏBè\1fT\ f¿k\88azôÄPT*Ø\f´à\82ãRàØ«ÅáÅ\8bT
+õóW\99®\7fn7'ç35\15Ä&=>¾\94ýϽÃ\ 2 w\11q¨Ô¾éC\1cÚ¼\87ó\9a\81Ã\ 5ñþ\1a'\1c\94Î\84=yà\133\ f\878o\85\18|\ 3ÂcéO\f\9cM)Ä¿\97Åbé\87\ 1\ 2\12\9dg\13z\9bSJ-o\0\rl\1fåô¨:È:_Â.\96\1a#\89\9c\ 65ϼ\858ií%< e\93\ 1Á\934PeO\ 2ÜhqyÕô2\ e~-\90E\1aK\86\ f¼\85\19¾ün\12ÿqçý<!\89\ÓRÐj|½sì@\7f\1c\87òþ\1fÎx?\97GMÊ=NMàâ`\rðç\ 25\92æø[CáÎ\80§¸7K©¾\eapc|+\ 5Á\8dðÏ\ e_y)N\1eÂ\97\84RÉÂ\94ù\ 3í\90\15¯Á)e\93\1dÂü´P\96à <\1a\12-L0\91~\9a\9c,;§¥N.£¼\15}½§>)ßó\vbç¼\7fâS`©ÂªH\83ª\1fÈÓåÐ\8a\83$U\99¾å\8dÑ\82X¾ÓÍ`ä¯\ fäfª\9d^\10\98àúäu\89w_¹k93\90¼G¾J&àW\ 263á\8f\r\14\85\86\85\80²´\99ÈK^_]\8d$Uðú<Ô¸\19¦I\1f0«4\7fþ㥦ôÔÚE÷\8cûxÖ\89\99¹¯ÝG»ÇêÆn^\1d\91h\eÉ\1eã.Äüg+²C-çdÍâ\9aQZÁã\91C\9e\9d\7f|$={\ 6ø\99ô\14àGð«\82¼Ó\9b¿ìgTÕ:\98¸\1a(IUµ\90{\85\82Õ7\8dõO¤\1dů\9b\98\93\90~«Ü4\194ÿ%»G¶­-!\88\ e\81ª\1cÈ\88\97>\97,\14îq]+\92J\ 6â·é\8f\83
+Mßöá\80¼º\98ý\0\84ܵÕ]R\ ep~óéZ¤*n\ f\À¯gRå\a)CÔ¦Ó\êbêÿrð4\9cM²      $±'ÈÿòÇ\13"üt\91\99øÀl\8f~!À¡þ@"\ 5\9a\ e8\1eìï\ 5\7fÛúåi\9d\11]\87D0\85ô\7f\8fE\   BÅt\ 5µ?°Ý¼Sjúí4\949. 4\1cài\aã\80è2\fC¶º\85PB\ fª\82Ù¨¾\rè+}5\17è\vÙÉ\ 4¡ºìY½\82×±\1c\ 33L\18\ 6d[\10Ã\99~DàGr\1d\92ÁH&=øi\11M\8bçq_CÖóC­r{þÈ4cZ\18/þT+Aï\9e)ýD\14\97`íN\19ÁD*8!¢|æÎ\822\1dÊPçnéC\9bç+þF­,SÇê_\ eRù<){9^\0\bªã\13\81ȸd\9b½SZ\1aCO DÍ\82©C×\8c}ÞËØ\86\8eÖëþI\ 4û}\8c ghÐ\9aÉ\8568O\10\94\15\90\1f\13\9b7¬ÁQ\9cö¾3°û\19"Ưiz\12^«ü²uÔ°ÊzÀÏQÒ\87ð\ 2Y¢èÜÕ8\ 3\rÏ|U¦*@Å\87¤
+Á"¯¼a9¶\ 4Ñù\ 1°ì\89\93\11\9c1/)QëB³\92øgû\ 1äc\7f\828h\ 3VãÆÃKw\9f8¬À\ 3Û\82Ë×4,û\1c¨Ü\8c詹B³r\9fm*ÃÓ"³\82\1d\92P\róé\84\16kiJ",\15"È[A/õ\r\90d\86\ 4¥ð`\9aÛ°¦!\ 3\1dB=9¾=Dö\16\96XG\ 2êìéË\9a\18od\1cB\ f\14\94ÖÓ\b«gé\16\1fª\e9á¿¶\11kîÊ\9668\8b÷ä³lR\8f\ f\ en¨2)-³µ$A3g»4w&áe\90N\13\9e\10\14ÐfiY*PÈ£\r\v©\11_QZ§û¨\9f¨@â\1eÁ\94Ã\ 5s\ eâØ|\86)8-\a\197¿=\82\9d»\99¤B;Lf\r\82\96pÒÉè\0\14¾yÚ\9c\a\90h)ÞA¾ò)\ræ;´KFVΦ/®Í÷\7f$¬=\11¦l©À·¤@A{\ 5*ë´ôÂR%¯\82\9bf|æL¾Ä»«î3Î\17Óë;2\ 5Ñ\vc\81\f\12ˬ}\92\ fKñôBü4Ô¢ü0©>ñµ\e\8d#\18!Z5£¥\17&ÙjA\e4ïG\94\8eû(/\95Ùw"ùX:E\86Í'é\ 4l·ö\17û\9d¤Z¸\b\fäË\vCGSÝ\15±,e\90x\8f×H\81\17\85Â4Ò8¯\ 4ôÁB§\90!\r\1c'U ¸\1ev\19@\e\ 6 \ 1°j     \13\7f22IÁM\0\ fO,H®zܯL:!\16G=H0.Ðå\10!~\1aå\86BâÏQ§\v®·V\81\9bÊ­ÀºÊ\12ë s:ÀL©\ 3çDh\11Rø_\e\a$¯î\82ë\17å£c\ 2SÚä\ 5¤Bî­Ë\HéË$X\9e\f\91a3Ù\94\88!C¶ü\a×\87S\14Yk\Ýð/UÝLwh%Qç\ f«C\ 3ïÑ\87«CÖ>6ç\85\ 1\ 5\94v\94l\ 2\85ú¹B\e"Ua²#9à\16ê\9d\18u\1e ÷¦uU»Õ»\¯/µ7^ö\8c\1c\88³9°¼#\9d\14\90¬6W¥¤å{ر|\9c\92Ush&ÑQÒ\88ñí\ 6[íWÄ\80.ÙAuN\86\8c\88ojÑàiIÒòrJÕ\ e\88\88>êS\8d\93>iVÌV>Úï\12ÃóuÖåzâì«\v²Ôÿ~È.\81òq\83³æMôö\8e\9a)\0¾z>bZh\82÷¹4\19-£I\7fÔ\ f \v\12\10?\97éÕ5 6ö\ 6\12\1e@\8bVmÊø$\9d¼\v\7f\81Ð`ò*ð*Å»säÄpY3\8b@O¼\99¾ó¹0ÍÍþ¡5\9bË¥ÐÑ Èt_p¶D¬Û\91DW\98Ô\ 1¡PÂ\\92q<q¸^ùh\84u>\9aE^\97Ã\8b\16Ë@|;s\1cW\86jkÕ¥ðÇ\12cêÍÓÖåJs\97
+ìýÁï:z#ß\95©¯\15\95 \8fKD\82ÍõDoTLd[\r¤Çè\8c¥\13\19»\0\ 6\88ö½Å\9e\1a}?:ßpúÜ6\87Ä\11\9b\1f\10оGjü¤t-\ 4\b®\13xÆc\19þKG²Ä\9cÈÐW\14á\17\94õm\16K\91d`÷£Ks\99~°Ý\9aØÖHéGèÓ\ 1\b΢\9bUy¦Q´])?ÊÑä!ñZ!Ò\8bUùùQ6!\80?þ¬@ðÄ\87ó\92,\10YûGÃ)\fÇli]åãùDS\7f ù\ fý\9aøý³ä?êkãÆ\1d¯Á>`CdRâ9\11\î,È9·\aÐ\83X\§G>@úSeZÐÈbGþ\16\9dÚ;L\97÷óöÏÇÏÿ\1c\97ý<ÿÿ\96(_þ\97P\19=¿×B³Û¬5\97´ììà¦,ñ]øË§¾P´N.fG¿:éôưº}?æº|äBÑ\88\16*üG`$»ö«\81atüÞù+§æE\85Óóu4\bð´#NùeÔ\0z\8f\7fh1`ÎY        ^Ú×!+\ 5Î)è.·Vß\ 1Yàn\93h·I\86+H\9du\82\19{\a(E°rͨ®\9fÕ5jódc"zÝÝ\9e6§Ë\85_/\ f?
+&b\H;SNõÔÍì\16²íp`*\13Oø)ÂÈ2f\9c)Øõv W¿©À\f\92ݾ\9dö^\14ë[\ 6Ml\1c Ô\11\ 5a¾ ßëì\8d(.Ò¥6\89ÂM¨K_Ý Á¿\8b\8bh\16©AY­5>Å«7jã4§U=»IÖÿ0h÷[Ý\1d\ 2Á\9eÛ\81Á\18ºûl\8a\ 5ay¾\1aQL\1fú\96\1cÅä\afiÛñ\1e\14%Eù\82à.&Y\Pùýphðí0$º\94ØÎB\92\ 5¡Ò­é}\bW\86\8e¡\83!Ð*õ¿ê\18¿\0>m\84Ò\b<\ 2æîÍôTGô\837iª\8d\18^^\85\139K¯=Dw}Ò\11\97^²qsá\ 5\7fòºõùzO\974½ïÛ\ 43\9a\81\ f\98h\90P¦¤Ë\9d\ e^$\99 \90Ó\93\ 5.\1dTqò(?ê\1d\93\85¥í\82H\fAgU\8d\f\84PZ\83\81¤ê:\9ci\9b\9f\8b\14\vá~}\94K§/Çë\93\83nwËm\1aSã/æô\8f p÷£d\10¹IѤ\ 5GÚì\90e:X\ 3(à_ÿì\81ô*ªF¶\1f\80%£ÐÙ)ÿ¹¡ï6fçm{\ 4ë/WJÍ(`\9dX+\9fý/]A\ 5Ñ\80\14Å4±#\87\9chxLÜ\ 5x¢ÿn:p\9d2f\1c¸\8d\9e·fþÞÇ\92AíEsø\86óIC)DÉ\8d\86\92ýkÍ\149\ 3:T
+ænÆ*\11ïþÉÈM\¥\ eD\11\a«é4åõâ\98´«\99½RI\98\9a/¿Q\98Ù-\v¿ü¬­ÿü\1a=ï`L¡i¤×e\1cÉsÌ¢²d²k\vÿ\84C7Ôs\11\fܧ#ÿë$ßò"¼û|\82\1fò"¼ó\1cs\9a[n\rÔ\7fð\8aóÆKJòCúGF\1f¼!\14Éqv-\b\12¼n+\85l\80çq\92×\87\89a·.ÛëÅl/*èä\aôÜ$ÐÊþ\83v\97ÐèùÔþï\8cV\8f¿Öꤱ§±¨Êâ¨â\ 2¾ÕøI\9díËé\a`\9d\993L\98A5>¼\89×(®l\ fÂQ°À\1a!\ \1dy\12\u¥\93×-,\1d´úÞ\8aÿÕfç\83¨\8f}\85\84û\rf\816>dö\e·85BÒ%®%ئ\1c\87f\87å¶ Ï\846ëÞÖ4\9c¿é\932\13\b\ 4\80ƦÒ)\ 4\83\10bÁ6aÀYÂd'0\99\ 3\14\8aAEJE\94\16ª\10Ì\80 (\19!f\1f\18ëokµÛ[ví]µî®ÕµÚ\0¢Ù\84\84\90\0\0U@R¨­èr\18\0\vP\88¡\9f\7f\7fý÷9\92I\10uݶÖùß;ç\9dô»ßC»ç¿ßc¿\81}ü9ïáof\av²Ë$\91¸æ\86ý\1a½VÞ\ 2\9aî¨\9cÉtSôóô%+Æ\91Õk\85\91{ºë\88\ 3]ûù\0\9a},"5wÉ\ 3\bw^\11\12÷å\1aP\9a5Ë&{Ù\11\1aoðÕü^bððyQ\80m\9b\ fc¤?\87\82\15vE\91\1a÷Ï      \ 5õIs@fk\85\16p"VðîVyþ\901K\94¦´ò\e\94v.ý\9c+1ã7H\94-\19èd%ð=gxÙ\92\14\8f\90#-ç»ÁdUeÿ½n\9f½BnòBn¸tg\80\0\81:@T?é\9cl\82Ê\9eÞ\9e\1d5°%dû[ÑåV\85úGëÕ½ëÍ\83@xÄ\87âàg/\aë¿\8bµº¢òøZ\1f\0­\b\ f¸\11le\ 2`te§Ñ\8a<ÑP\1fÊ/ñ\r\añÿ¿ \84\9b\r\98Ïu\80\92\17\ 4ò×{ÿý?À÷_\17ÿÏð?ÿ\1fàvum¿àÿ\ 3\18EA÷a\ 1µË\vàæX\90-\f\10NQL\8eçEýp\80;õ`\11Ìâç@î$²um®Ð¸r\86ó\9f\13\95\92ÃÕÞg·<îÒë=¸©Ù\1cÞîç>uqÝÇg\0/¶ví\9dt@gÖ£]7º\19ð\8c]æ|"~,ëH¼\1cí\18\82®ÂÁ\9b\16Ö|#ò´(Ie\14²±ÉCv\94#3¾   \90×6u&ù»Yiô\86'÷£Ç»¡ü¶\90[T\11\9f)\17cÂÄ[  Ý\8cu\87\rho\9cG\10\90\8483\8d\96\9aùñÑ¿\92A\901Ãå5?rä\8cÁ½Ç
+x·¸áJ\94º¹ö\88\14\v\9cp¼l°Ç\a\92\fåæÙE47lïn\83:\1e\84\81;C\1eâ\b*n÷ºÿ\pÏ\81\19\0\93\84J\fÖ|6:\11½¢£\82ÓK\e\90n\19´.\1aÝ\94À\8cÕ¦ÞF\98!`Jλ×\10'\96u\9fs\ 3\rªq\86xx.P¸Ãy'ÿ?rY\e2²NÌ'vu»\8eÞÊ\824~\90\86\ 2zB½èÝÔÕsî_Ú\8dÓ\88\8d\ e\83e\17Õ¼!\91ÙÊ\14Ë\96VF\8bò\ 1Gù\NKSåcáÎé(#\f½\1d×£>á\1eG\92Ùj¢\86uMP³ºe\15$D)Ù#f0>ÆU\98l\8e\84x+KaPÓ\9cKOϹi¤0\89÷.\9az@\v\åæ®EU0å¬2Í\8bD\e\10\bªhÒþÝæ®HX¨rÒ5,±x\17L_1,Th\85̶ٮ\97½ºb׿®ñÝÿÚÓ\17]rÅ@\87Ñ\19³ã[\ 3xYËÔÐ\11§WÝ\7f\8c-\b)L`«§3eyBÏ\ 5È̵zä_´ì'\ 5´Ì$dê\ 1\ 6¡\\\ 1lMë¦\8bÆeµÈ¥êÅ$1ª,\9dm£K¼\ 2é¾à\91\8fNn]&«\843+¹ÑüÐ\84\1c\ 6Í\8fåJþ\9b\1dËur+Ú$\g\ fq\ 5\1d\95ª\95ÔM£ç¹\93\91æ,\8aQ\ 4ß\19Þ¹ä"bé\195\fîï\12w¾Ý;´¬Î÷ÛæR/TCªÒÌ»t\vùêðx[\1e#¹»p\86ÑÃ"Ö²»\97ýXÐå¹\9925&\91\17ÚLo   \19Áw©ÑKA\90[$)¼à#]\11êM´Y]ãý\1cöÕþ$´Q\90\r6\15Ú\93p\85L\1aìÉZ;Û\84iOv¦·80[\99éH¹r`¼5«×H\7fJj|B.\93ÜÆ\81\7fÓi\1c¶ç@\94Óé\1c¸£Ê=\9c?Gnxõ¢\97\ e\7f¼\8bí\1f¡}§#¤?s(\v¢³ô\91Ö\86\fË<åÞ«à\8b\91\8f¢\9bHFM¼\87fÚA\8eÇ\94\a~§õsÛâ\1dØó²\1e¦À\9e¥ª2ZÎR*\17Ì\8f\1cÏ\15\1cÏ-:\a~îÃ`@2#¿\94!\96T÷¬\92ïë\86Ýÿ~¯¬\a~\7f\19\ 4*Y\1f&\9f»?\8aÎø\99\8f^\96\8e¥\16 ¾\15B\ 1\1flÔ#)ý¡A\98\0\84eò,\19ÇÞMÖ\81\rh·hÑMý²`\8f½Oa\85\1f°Ô\ffúz÷ýº=uÈÅh¡\ 5\8f¹ß\1e\16F\11ítïü:\b¸¡\911g|0t-!cÅÎ\8a\88\88Ìxÿ\19zp\ 1å'Q/Á¤´\9dÂoú\92\83¹ ds¶+ \8bKs\ 3i-\10Ëò.b\9cNøÅ2JtT«B"%q\1e"H\ 1\94\80ªªb.ùÊØÛP\83ï,\85\\87\8eËE.\11\1egi\90uáâC&Ç\960jø\93"Ba5·®\8dô\8a\8f éu$<¥5~«rÑ{ëdâ\88Ë\7f\934+\ 2=ºÜ\8cRäl.ðÿþ\84ÿëËþÿ¶?êâ*§ýèÄeÈÄÇò\11#Ä÷´¾î,\é¶\bs\13×\vîøå="x+Ï"\1a\aä\96À«Þ5ð\r}\93\8eÆ\9eöº\r\8fâÅGo\8a¯A\81\16Zï´\8c\9fù\ e¨åÙø³x\1eñ_uM[á\9b\ 5V2\9aºR\14ú$\ f&\10\18ê\9cE`\ 2§\80M\85$\9cûÅyh\10\8f    \fK>O]é\95áÊ#\16\80Øk;ë\8aÄ>\12w»-ê7\92\10
+é"¢i\ 1ëeÐ0\87\12g4\12§\88úÏ\95×éU>+¸©vc\90í9ðw·4*\1f;!\eñÚ!\16ï\9d\90\15Ð\ e?ûhã\ 3¶^ìx\ 1\90\eÕslP\8dã\84å\83\93hÐÞ¡!\1eå$5\90ë³\rgí{)tkæR<3¶gÃ6W~\19ýw~\19ü÷^\19Ïð\7fãÃ6?üðÏ\95ÚÝxgèð\8b^\ eg¿}>\16¶»ðÉ8®AH%\1d\f(\84¢²ÉAÄûf7å\96+\92Ã'¿fQzE\82¹q·r#xß,hÅA\82ß-qz\82
+f\92àeîº!lF\13ähÆø£¡{\8eËIJ×\97¹$2ü\\9fÐHe§'ð\8c\96x\12»ø9v®Ë\9aÑo\91~ëÔ¼¼ \16¦Xñã]ë»J\a#2Ýi:Y*\f»Dg#Áswé<ç\82ÿã¹³I8ËÇ©æ\19ÚG\97\80¿øãÏ?Ú\8c\85\7f­RÚä\90^]¬\90*´÷\990©¨èL\a\1c\92ÜñZ:-kì_¹5K\93hebÊzCBø?g\ 1³"\89ñ®énÍjoX\86YñrÑðAÚ¶\90ÐËź      ÔPÝ\ 4*ʪv\15­úDCHý9¦b\ 19\8f\88k^ú9\ 2Ù½MÇ9\ 6\85;\96°\8aé\e\99\9e\ 4?ÓrXæ°[\11¼¶6ÍJ÷è%¤½\1cµÝ3Î\95íÖfêÏIÔ\1d» ¦+éæ?c\ 1\b\ fÎܹC8h\12\99\112Ïe\9b]hí\7fSJ\8ab~R\ 5×p»¡C3º\9cÌ»?ðñtò\924Aî§3a\86UVa YZ?ü\84ó3£\98\8düêò\93D#º<¦'úyéâx­Sq\ e»,x\14p;B\82\8f½Ú4\145((ç)cÔ7³ÒãÎÈÖ¡\91®\f\80çÙ\82\80\fvÏ]³n ¡\9b\91¼Þ±<èð×\8fÄ\14\ 6ìô\9bÁA:Á¢>òç8×\1e\ 1~[[Ø´T\15\96â\93h´u\7frÚ9^8\98?#ܯg*^+¶R»ó\\9dèK\90&  áúù"\88n`S\88J\18O\9a\8ei\9a¬ï\rµ0ιL=dë&6Ö\90Ôn\1d¤aà±²®^+½v¥-\92êó\14¥Þ\v/e\91¿k\v\92/é${\ e¼öð\14\144¾ï\86¾í\86z
+(´³°±Õ6þíÐØ\91\b¹y{½\93\19\96I-tÓö³ÒU\1a¹#Ö[·º7£\8eç;BO¸¨^Yé:Ïýv-,¬\7fbÅË\99\ fM\91|Ñç\83\9e'ðO\85\97ð\87Ì\87ãvøË?I\9bNjdòõ$\86\1e-çS4\95]EÍ\80!¤²Éûg@í%»ÃoÞ+¿Ò\ 2\1eC\14¹WMÐ\1f\9eÆkþ\80Ëʳ\81+ñ)à_>%<9/°M[+\9dx6±HÛ\8b¡¢~l\8a\1eâ\ 2à\9e\ eT\83c%½V\92Ø\87\88Ì{ï£Ë\16àµä\91\0\91M¬r\16¢_é\16ç&ÀM\1a4\ e4\8eÞ\12÷¶\ 3è!wþE½0qü\ 33\97n\84\85\9bÓ1ë{\88De\88I\90a]\95ØÝÖT\10       
+ó_àÞ\ 4\18-2ÎO
+\98D\ 1[?Éw'\84\ e\86,ì}!Î\8f\13Í
+@0H\0\8aÆ\98?£³&ö\97ï}·¢ûW¬÷\12\89\98£¶ú\91Ð\17­\12yZöWc±Üë»°³)S\14Ë'|\ 1\9f6E\ 2åѰUBù\84  ú\80ö>p±YVÔæÞú\84Vëú<\82\14Vþ!a\1fR¼h\87øls÷åãlªÕ´\b\91\1d²y\1aÊ®\8cÎ3\ 5x¥î2Ï\13Ïç,A½ê1r§vmf\ 6véØ@Ê\12\93\84\90#wW8\89\9fß\r4gQp\84\85ôPð1©\ fïj¡ft\f\93Åâ|\8e\r\8eÕ\e\a¨[TwJÀ¡A\9b°\11\8ct\89¥ÔÔ\8dMÑ#?=m\7f$îð\ fO>Ð\1e\9ew5caC²äM°åCÁR»l\840\98\88¥vijoÖ\95½\1dX@EJ\92j\12\15~\11"\15\17\10¶6ÙøåÔ'\96îÀüÄrå\87ú¤lg
+\ 6\8e\b\95\10¾¹\86\87\9aåUÞ K\ f\98»Þå\14\86¢\bä\86N¾µþ\94\98üY²Ì\90;\18\vûGe\8eï\92xÞÑ\0\1f\86\8d\85\98N7¤\11±.R#\0\9b\0<8Ö\80\»PZ\ 39\9bR¾Ì¡¡Î^'\ 4ý\1f\94[\1c§%÷_#17\9d]9ôÛË[²\98\1eK¾|\8cP\97 \8cûn       mtÅË\r\99ÿ\88ô¶H\b5§-\r\9a\8b\87\93\8fr\1e#.\90\\9agjÄæÕ\fºð\87Wðm&ÐìÔ®î
+¸[3´i\ 2\ 3\aì\vH²µG÷j!.P¢/u\fJHÔ)¨Û'©D\1fµ5\rùÂ\80¶Ì©\12\ 4\19å\92\bx\97N­ÃT¸\bÚù\0%i\86¬t\99\11{ΦÉí(Ï\ eyBÞ\eÙ\7f}xmÊѲÒàz±]94Ú:\18÷ò\ 6\1fÿ)\1c\85®\92u\94h\95\0@[>m\14©7_88®\8aä¢Í4\973&ÚA\9cË]H϶rrbÿ×Þg\ eEàö\ 5\81ö,sO\8f Ò@!WØè°âßÿ&ÈËU\9bs\j\19ñÃ\8aá
+\95ÿ\16M³B\1c \85i\17l
+'¬Ì\10ù::^\8b\19Êt\ 2­.jL;MAK\94m¡üüËÂ\83ÎïG+\88\1a¶Ä×2ç~½Ë    Ç±\0Ô\ eµ\90\16\b\1fÿÓ³pÆ[\1a \7fçXã\9f£Åðx\945p\97á\94Ò\15p\9f\f\ 65\17\1aÒ\89\85-(­ïÈ\ 38\81SºÚëòoz1\0UÿN1z¯g'nzu\rÎ6í#%Nd\88\vìÉÝ"\8brñóÏ]Áú%\85\1a½\9céÊ<ØfH\99¥\8a`0\86\19²Gþt×Ò\913\ eÌJA¦±\ fG}\ 2&\1eÝ7\a¶R\8akhùÄþÐÛ \ 5ê\9aÖë\9brA­\rU\18\7fó÷ÓÈÝ\8c;)¸ðeôr@-\ 3×zÎ\11Ex6·ÓôÕ           \14<ÐN\7f½@K\82¥\18ª\93ôà\ 5\ 2\1d.¦^÷L+#£ùOó"\8bè©Íp½­\15±\10SPè\80\ 5g´z1Oÿ ÀsC\96\8cw`ÉiòW7\19 ®b\9a¿I\9a\89,~=ã!NÛ¹Ë?\ 3\87\8fQVjÅMi C\vìØ\v\bã@Ûþ\9aè)­>ÃæºkÿÕüÛÚm\1dòYss\9fÓ/\ e\8eù¦¡\92¬\9fÓP¹­SMCÑ?ªÓPô\95½6\9a\87\a ÁÑP¿ÂJ?À©¬w\84\1eá\1c\91òX«\v©\90`üEdÆþ\bCw\84?A\96\81¯X\8dÞEE      >ÈîT\ 3Ó\ 3\97«Z\17}u°\9b©\15»utÅè\9c#\94a.Ä\84%ë(¿\98°\b^À!\ 5Ph\99¥ÕhCªX§+SXæ\r¼\93ü Ëo*?\98u\95Ü@¤å;ÂJ¶\7f×\8e«)\92\87*\ 1G[<\90Â\16':Û\17
+O\10\9e7ÜÅ÷Kíªw\84S!`áÔY%5¯ð\8eyï_î¡à\1aKK\92¼\16ÈQ\7fB¶Þ÷;f\82\ 2|^\19ÊíÙ@˯(\ 3\aHLéBDPX-ÍP\1e\19\83±\eó0ò\13\97\90l\\92\ e\9eñ\b\7f\82\91ýûZ=WÃìÛ]èó\87\18}ãèõ^Ôÿoá£Õ~uëkÐeµy£Õ~B:\126\b~>"_[òP{jkw,g\ fÎòÛ@éËf\92\90W\92/§ùHî\15÷#ÈY{ n?OKþ¡Òä_§¥ø\1fùé`©+\82À¯ù\8b\8d8\8dñ\19\15è0¤\8bÛµ\7fá#ù\14à!\0êäµâ]q¤A2)ÒK\8b£\95\ 3è@öóô]\ 6¼\1e\ 6lx\82\9d\ er5X¿ÚÞ\9aÙ}v\aôRûÞ\fÏè¥_\97Â^{\98¾ï\8e»~bñ8÷Åá¿Â6$\18lãÍiø ð\ f\8b\81GB¦?B5²¶Z\ 6ëÆÜ\90\0\8e\a\ 5^Mn   ]ö\83\0\18xt0ù\1a\ e\1fC%\9a×¾Æ\8dÄ\10\97\8c¾?«LÇ+*\7f^\17\17Ê\1cQ£u\9a¯Y\8e\ 3\\\83<T@_ÐÊÇ\80¿A\18[Ìòn\83Õô\81UÃA\18ÖTV\1e\14ÿ/\92f\18è\85Å.Nl#\1eÛ{â*¢Bȹc\97$ÏÎ]\88£ç\v#4»®½ýjî¼'/ó§þË¿ï\0½\e»zká\f\10ÆÍ7±ç\9d\94~#\83YEì^\96ÂÎ¥\19Ðþùr p\976Ntü\89¡\828\9eÛ¯=µcJ\8eNÝ<\97\9f\8dV\j%<kSZÞ\1aj?õB¢w¦l6L\ 4ï\9f\97\9e\19\83r\17\8d\ 2xbÅüå\15vz|\12r~ȯß*~Â\ f\1cÓZ!\13\82\r~c¤ â\15\1c¸fMò¨çÜ\f\ 3\ f\ 4\1f|õö07d\86C|\82,Âhæ\83#\fvC\91ÕB1Zo\17\9eܯ=¸cÎC7É\bËÌÆÅ\fÑ\9c\13\7fÔ\1d\9b"\a\8c\A\95\L¤l°)oÑ?ü\9c}:\1e\83Ð#\9dÈ\97\90fÜlä\a©\19\b3|ì´<\9fý
+\8d\90/\90ë¤\v\9c!\92\83â/ðxűI\99éu+¿r>3JW{HøÍ©\\82£¥²5(&\87\#ê¿/ãz\94e°"ÿÇüÅÃ\8e\8auÙÿO\125 ð\9b\1fò\91^t\ví$:¶Ë+Î~Þ\90Ü\11d\fWÏ0³Óçý¡?í\10å¹\18\7f[`k¥+Á\b\r\82\8b\92Ö/\80æÄ<ÜWüL\8bãúø\90\98ÝŽ)8Ú2E!üÊo\b     \eg\12\85ºr£\rJw'^UY\88\85ùý(é
+W\81,æ¼;ö:\82è¬\13¼ò\85À\95U\9aIÖÔ¤]ÆeíW,©\88\80Y2ì~Y4zW¾\16EC6¶¦£\f\93î&l\82+þÃ\16R(aK\ 3Í\14"/}=\7f*\ 5ñÜ5ÛEnI\ 5&\7f\1e\82âºw°Ån\ 1\r\rù"u\a*\ 4\99\ 2¨B&\18vk\82ðëz¿K³_\97¾\ 1Uzý¢
\84ñ`ûÄ]Ò\97\eñ£d'\90\81\9b\\0,\81\11Çá\15î\8d;æ2×öI\e¶NÉÊypE\86\18óoÎb\17\9eÝ\8aà[\19\848¼b6s\98ï\81\9e§\13\83.öýÆ\ 3\ 4\aª°¦ \91=!_\8dâ\94¿\1c\14\a  ã3\ 6\ 4a,
+!cKA\9fÊr¨ç\)\\82\95\0\fÛ\0Y\aÕxÝÄãÎ_Â[\13{ê©_³I\1dÃS\92\86îÿ\18ü\80\83Vc\15Ô­4Ú\9foÌ!\9c\90\17\85\9de\1ddJí\etñ¾Í\81\1dÊ/\13Â\14\87SMS\8b^ÊsÇP"Þ¹âïÞ\81×ÈÔÐ4ì\87
+ðò¢\ 6E\ 4\14\aÕÆ\81\ fQϱùå\85>ÀFóÂ\ 1\90\94YÜB£¢cß¾ PÕ? ÿ·O\88Oá'ý\8c\C>!\1d«Ë\96FÉä£\82\8e\84R\1aù7É       \vØ3±JR2ý¡¿Ì¯ç\vÔ¿\84läi\91\12°,}û\88Ù\0$3°`\ 4\ eé\ 2\ 6Ý%\b\89\8e\r\9fU+È­\97?}ƸL;¬Â\14¡xèú¿¾¬      ?\9fÒA%#Ê\83"\8b(\rw<\8cï·áhK>\ foÑè\9aA|¶ à\10\91\8bÎf¥ý¿\87\80"¤Í;ñ7Ò\1e     \vj¯£~'\9eF¶y\1a&6Ú\ 1\0=x`Ý+N©B\7fß~1ØépEë9v1¨ø\ 4\1e­Ë`\9aÉéÜ£\10¾íbH£½|\98Ì`èf\ 6Ê^/\ 3ë1¬\8cFÍåýÜ:)A©ôEÎËÌ4Qfüó\11Ñ\15\e\12\82\8f´Ã¬\12 \9c4ðf\85Üäì   f:\9c
+8L \17]ÖH\1f\87V\9e\1f®D©\99w\ 5+íP\90\83A\87ÕF,ÎPü¯RY\16ö^ª¨$\18\ f8ÇÄ\ e¦8y\1eo¢ÛLË¿¸¿¡ßàËCpÎïô\97¬\råü¼\1dÝ\8e­ËC\v\ 1Ëÿ\rógf´?\17õ§¡`\98ô\11Ït×+ð!¹:HP5ë\1f\80ó\0Ë/í¡\97,×+\15\80d\97IJ\15¬4\91^éÂkÏ\9aKÂì\11\9bßÞ«¸\87ß¶71JM\94),áø\8coC«öÁÏ,x@ü\ 4B[§éì\95é\1cÀú?úÌy³\bâ\90ôÇ@\9f§¡tEÙ\12/ÌñfQÉþæ\90\1a\ 6´ \ 4³p<\ 4{ñ¯pT\13Ð\91\80õ¢`«\ 4w°­¤\fÒ\9aÊfÆ´ÂíÏ\ fÿ\1aÅX\8fï¬}îirWW\9c\rê\13»°\80P\80Ûÿ°£lÇáG2xñ&Ã\9dÔÄ×7      \ 1y\83cÌ'G\ 2\8e\98\19¿GÄæi-\8d\129\12cz\1c\9b|mò2³3h\19ÈëI\fy\99\ 65[º\14"«ý°\ 1µÀÙ\84\17\89îfQç¬Í|e\1dÜ\12\ f;e\aæçàãäÐ\87\7f;çòPzi\b´i¯È ½¯\10\baò=Ë@U\17ÑÂýs%Â\9b\ 2ÑæÐ&túIÎ\99î[²¥\81(y70Ä\83BòDø\1a>DÙí\7f\87\1e&Xß\12(Qö<þÓÁD«\14'\87qh\80$Ùq¡f'0ÌqÔf\19\18\9f\98 ³1xÄcp£=¸G¾\ e\1d¤»<\93\1c\eû1èJJ\91¼Å\8a\18v\8bOÈZ­EÂ\aÙ'zTj\10\91óÿß|¼Òët\19\1c\88¥è6¤Ú,[Ób\1e\9bE.´\1d´b(LX-U6ù\9fæ£Z¬®\95ö\7fµ7º\10×qã\7ft\89o¶åHK\f>}\99P\0\bpíµc·/\9a\116­áþjäh\9f¸\8dk\17`W\bP¼,Z\12\r\1eD\90ï¶z\8el\85L\80\18\8f\19g]»êÜ \8e\rü\8c¥]É\98-V\v?M\9d\1c^=ñ\9eÊxñ\97Íüº½ý\16\96ü²¼o
+øìß\ 3³|`8ÛÇÓ,¯nú³XG%«¸Ux·p«h\96\83óF\81&±à¹#\17\ eN)åVÙx\9eô\9eHÎÝ\a\1e?ó¹)áô\14L)$?\88õ?ø!týV\þBÎ\1e|n\98x\98²\11\8f\eþØ:,\e5¹üd       4\eß\9a\8b\82\9e]ÿ\16\ f\1d²B­1\89\v\a¶¬J!ò(¦¶Ó^2J\80W\89
+\8f\19Vë?\8c\7fØ,woP\10IQO8#\88oãÀ\10\83!b\1a\10\1fI}5<ü\95­!$ÇÅ­&8¢¹÷\\7fB\16\ 4\92G=\10;$hS\15 àÜ6SÄ\a¢`D\80\14óÉ\ 1\87nôR\8f/.\12^|\92^·äbTîF\17s/ý7ñ\1d\b\10ìä\91\9e!]Ëý\e¸t \ f7\8a\e@˳¸<\8c6°>Î\9fF[\ 1ù\ 3¸\83£\95ÌVTéôdFÏè2\81ÄéNá\15£\97\81\90\99\81\8fÓèê\b`M\8b5\eà\86Â\1dV<\998h\9c   <x©·\ 3¥W\96
+p0\8eH\94\91\97\16\9c+p\17uF»ùßåTµx:9¡éH:5ä`oB\vÐôõ\82¦\89ä\9c¤÷B$¥Ù®ê\9av\89O¾*ºúlÚYîÁVÎé²H¹bÚBú\r\9a±\14ûÑ\19\14\96"ÿc«i\89ìóØ\82£íÙÆ¿s³FFìª\1e\9b\92§\9d\96|Çâ\13\1eRÔ¿\94'\8aZ\18à\12\ 64ܧn¾Ëå5?â\94:»Í&x$R\ 5ÈÍ®­,ífØVD]\¤þ\83b\b\¯N\92\83\8aí×\80ú·4ò\1f\7f;H¯\11ùæ+§Þ±Ô"\81\7f`\86½%ÀHcºI
\10\91nH}å\aÝMO\82Bý>Í\85áäåÒõ£r\8b»W\ 4QsX\a>8ºgjø\ f«?*Á\13\93xÇú\1dÒj;dã
+Ú@Z#i\13 \84 \7fÅík4íor\11\97\ 4\ 4\7f(óDI\97\80b÷&£rê\95Ì\ eI¨å]RÊÀ·5\1c˪Y\906Ì        \10       K:4&Ô$?Å,ü\rºðò´+ÃÊP¥×\r¤/<ØZÃÁ\15Õ+è\1f Ôu\ e©j ~cSTºÊTÑ)ãZ#*]w¡\8e\9fÅ\e\v\9b<åé¾Áä\ eÎM\ 2\ 4Ë}Óh¨zm\16;O¢\9b\10\9d\1d+\82D%'¡\rv`ÜQçå
\80\92i\9d#utLC'\ 6\9a\85²ææ\84uÇMù&á\8fÎ\8e]øü¹\15ëÆ`c\9d\aGC!\ 2P©]¤ø\9a#3#ôóI\92â\r69±p¶ì~8ü)\13µ[ÀÆAÑ㤠c×\b,5¶cûh\84\16-cí]´qÒ\ få ÕPó\89«&XÐx½)t\89\84\10X\"§Éؼߨ\89÷þ\1e?2Ô+\99Ñü|äþF<\89ÙÉ£ù\0A,\13}ðtXé\ 5+­£íS\ 2»(\18êHt\9d²_\8f XEJ9Ð:;\9eÙS\92\1e\9d\94ÞÐX/\82ìcÁììR\94SOÈÅÆ\8a#=qç\87íH\86;ܱX6\92æ\17\814]\12{d1æV´«È¥\12ãX\8dÌ\8d\1a\15,»·=ìúÛ\ 6èѺº\13RÔ)çR¾vë½Ç@\99{T\921a\8c9úQû#\98³Gñd\8c\f\ 1rI\v\91Épvæ;øø\81MjØÀ\11{\83Àl_8<\ 5\19á¸\1f:¸>ú\9aå\ 4ÄÝ2ØÊ¸\9eû\8a»ïc\8c\15\12ê\96Å¡\18\8f\ f(3ÃlÞC¨\90Lf-þïÄ%ÃV[Ñë¤$3óF\b\14-\9fÉHH\19Æ\9e\e¹\a0¤QRD³Ôõû7øxõ\14Þ9c§ Ú}4»\1d\8d§^¿üEsmþõ\ eÒ\84#u\Æ7\7f\v µHå\97\98Ãç¥\ 6²wD:\9dµ ÕH¸×\90`\183\8eÍõÖ\89ðH­§ùD¼/úSü\bZk\80\1f\ 1\14kèø\1e\19§\95^ØqÝçÂ\8cô\90³\98î\v¹v\8e\10B@\8e¹\91\97cþe¤<]£\94ñ,\98ñÑÀ\97k\81öïÅS*|"0Ì\13º\19\0spÚ\ 2Ì7pÄ[­\9d/\8fP\ 3ýá\8f>\fÿRB?`\84²Jâ^bÏç\b\0\1d®ð=¹Ïò£\87PyyÏæE\0(g¶c`\8cù¬W"è)èµB¯\8cýÛ²Ï\99\88Ãùê&õñÞ«nD2^åt r´Û\19âÓhM©\98cÃä\92\ 6Ü!\fQñ£jÁ¶LÛ>^hö¼üt       ×\bIuê½Wc[|G¿\10\86§;·\93Ãg\17+"ÓCpåâ»\1d\a¾ºµ\13\93µ\9eÛÖà\9eí?\ 3v\81¾,õ°\99\ eÍä9Y
+\v\17\8aí\14ûö, ¥]T\96T\82¯'\9f¥izÜi\9eK\95Ö¡ èØ\ 1ª\9b*åÑþá\10ñÛ¯\ e\1aîk(ºþTÔrë\ 4~ÏkCræÙ%ïé\r\97\9a\1a|\17J[RO\92ªqã\82ôáÕ\13\96f
+\9f\bþ<õ]¦\83\90ðÄ\10ß\9d\bJ¶w@\ 1\87\ 2âB\83fÅ':òw\89þÛù\11çóïA\ e5p\7f^e1E èÅ\84\f37¾4ßK\8a®É\99áÆütÁð\9cÈ\8a÷\1d¡Ü\1f\ e³\84¯íJ<ì«Í\80\80«5¿dÙ\13ƽ\87\91\9aX\85·IÁ·\v_\14íq\0@°óÉ»å\8fdù¼æFª\8fýG°êçH\8fpu\91\97¬Õ\ e\82ôÛ\94¡\90Æý\19b\ 3oXëÏ1 \a±AFû<\9f¹£A\10r'y}Å        Ú³éîã\14\16É\1d^Ç UâÙ)_>\0:0~Z%+ú\82\r\0ÕÑRC£Ø®6\83vfq\8e ´ûó'>\846-?´º$^ÑÜ1ëË"\9dæõ\8eW\18w÷é\98\87»y\a\1d9\9dSQ½'?\91©/\rÃȾeú¾Y(J\8e\97÷\9bK\87òÉ\9f\93©\1dÙ\fò\a¨dß'\1c_¸c¯&Iç¡Ù!\eRÿÚ\1c·¤x¼\1d\14Ü\89\ 3hý¡XÎM\aTw\84º·úÏÞ%9\×÷°Ör\97\98þ¡\9bcp\89ß6Á
+\81\8bh{Jß?ºD4\13O\9b\16)\1ffk\ fë\99\83±\97Cyá¨\9c§\a\86\1d\1d7L~\9aV·ü    .\81\1dÞ\8cU<\97V\90Þ9\ 1G^\91W\92®Åu\1eí.\91c\ÈÔïæ\90¹ÜÒ[|P-\a³+¦±x\f+.oiMgb\0\1aô\83\18      e~Ý\r­\8e\89ï¹/\84\91|\18§\95E¿v¹À¯»\84SYM&¦²\8eøv¥ú!þ\8eYø_Kà\99\7fmé¥P^\13éø\93­\99*%!Ë:ê\89\ eLŵ\9dlb?\ 3\a\9eÇ÷§\9acäï\18÷>·Óñ\ 1#B\10ÏÙcr\ 6¤\ 1âd\19Ú&á¬ËÌk¸\87\93¶ÉÙ½¸\8c\10gNÑ\91\ 4°w9\89\b\87\9cvIçMGfwa\98\9cê\8fÈÅ\18\1d{Ý\F&¨¬4\93\99Ê+\aó\99ÓñªÍj~\88\7f\87Ù\1f\a'øfÆÑ¶Í\1fáß\16Ñ»\1fáß\8f\80åx\f~\ er\ f»_\15¤\94\8aÏÍ!\b%yõ?ôü@\87t\v\16\a0Y®`u3Í<Q±=Ðû\8c\13\1cx¡ä\ 4&¬7¶\1d¶0ý\93
+k ôÏÜP\8cÄçáN\1aÔ<n\9c9|Äæ\18<\fIøÝI­CÆë\90ég\99x\1dS/\ 3­eàP2ð1liA\ 1ú4  ½³N0½\19\11).\a?#ó\84\vÀ"\1e\9f\88\8c°?Â=8%'þÎ¥®\92C$.\96/ÏéÊ\89Ê"sÿG¦z\92uãÓ8\94úg®'qj˸µeÜM\83âçzxǪyÊÿ¬\ 5Íç2A\ 6*)\87ÅêÀ\a\82\93vxT\ep>ÎïÖ#\95N>ooÖ,Aá¡ð\87|\10\8d:ç×\97°£ÿ<CP£ÿ/\9bùÃ.\ 4v>£êcâc±û_©\8f\81\8eÇënØå\8fH<õVûÄ\ 6]ïZý¼ëM~gËõuøì\7f\8ey\rÐ-9Õ\f÷7¹\87\0dJÆJܲÈ'\8a3D¶\ 2`k\90°Ì`æØÔ£¥\86ú\ 4{ú~$Ú,èÙï\ fðíw\8c¿ÊÕ\98~\bs±BU6\18\9a{9´t>}%þJ5\9e\ 5     ;T\v\88÷e\0¬)#\ 53½SÙÎ\9dÝ\87D(¢_5G\89m\84\98\ fH\ f\97Y`Þ=\1cE\91¨\94\88ó¤\87\f\ f
+F\9aΡ"ÀÕµÃooØÉ±\1e\19\87\85%8\86\81á\1dLk"$Û\8f\f°\84]Ʋ?\rèÂ:wB\1a\99#º×\14L`\18\16Ü\14r\8d\sÑ1Ûs        þà\a\v©J0}Åá\aøÊ\12sÜÈ¢Õ\8bû1ræ\ f(àyxf½<C`\8f3\85þÑo ÿX·õ¢)gÿõÄ\8e¿âÔ\9dMetá\8b\ 4Õ«\9c\15\93â{ÎoÖÃ\89«ºúCgéAb\10Iõ¬\8b\98\8agsd´\ehÏM³\b?@ìÞ¨=0\966éc[/Aº\89nåäcÌ\89±\ 6\f?×m ìÎ5\ eè"#A3\96å\9d\8bcϯö\10ùá\94OîE«çLõU\9cÖß-\16\97m\17\904\92ä]k\8c\9a{eWÄhܯЯd\8d\ 17\8fj\ fÐH\92}ñü XJð\87\7f[GS\15§zö°¥Èc\82á[õgï7\feÔÝL)©È\11\ 5¿H\7fÜ\12H\7f\1fëÑ}6ìØs_Þ·à\1a\8dÂÊyÖm#VuF¼#l÷ïH\8b}¿"Õ\18\9b\12\fä:UMMrAÈ3ä\91\vkÃ¥pö{\96\ 2õ¦\99ëÅe)\93·ÞD\0d½»Æögì§ìcm¾r\ 6\99×1Ë×\1f¾DãM\8cI\93{CöeàÚ\84\83\1fN&25\8c-\ 5ÂR \89\9ejé?\83Â%´\84\15¥ü\89I\10BÌ}\ e\8d\10h\7fë&w\8bÆÿ¿!    ÿìù\97¯ä?ë\ 6%`"EKzÞ XWQ¹Z4CJÈ\99Æ5yè\8f[Ø»\84ã\1aò%ÀÒî\87\ eÏã]ùm@C\81^4f®\87iVyMG¨\80câÿA\17¿ôØ«ü\86¾\80\ 3ÔOzE\8f\ f÷\1e\eê\ f\90/µ3Í}@1ú«÷\fO\11Ü¿ Òuö>\15=9¶ËOlV\8d±\873_ó\16kãXãëC\0\17÷\13I\98N\18\0ÎÜý[Üýi!64\98\11ñ»Wu¤Ö=6R\\89\f\82ù¢ýOÓF\8d©mã¢\8b×\8cU1\90\87Ø\ 4Ç®#x«\8aÚ\ 6ö\9c\r\9f\19c÷Ã>\91U&\82ùÔ!\99\94®¤\ 1i Û¸\8dlx\89Ê;tÚ³úô\0Ëw\8aÏ\9c¤Ñç*TyÊ\Î:Ö¼åÖÇó\92\95\9bóIÁa²õ[­\ e\1cÒ¿Ú\r½Y«\ 6â§E\93\81\1f4p\9c\84\15ɰ£çXSFÑo\85\89õ\17À\84\eÿ¡/þãøXMÛÍ|\17¡¿}\fÓØY\99»\91\8d!#½\v¸z\16ÄO¾Û$³íWt¥q Ü\8b§s\99\94féÍ}xoÚ)fDàH\8bã0B}y(\1ahÄVJþy6t¼UáÉ|Ø£ûYMg'%U]çî\81\80C\11\80\ 4±\18&\9d«\1e\a¾Ò)ñÄB\15\8b\8c³\17ø\97\14½\ 2HAÏ\ f\ 3­Å\13àÉUy\1f¨l\81öHß{áÓqÈ \ 4ÄÒq\9b\99\91\945VÌþ\8c\9e¤R\93æw=\16\90Û&9\89·bVÌq\18èýñ\1c\8b½¸F\19ÉÐ\90§±ÉXK+ÚWèÅ\15ruä\88luE5¶·Þ'-°F\8e½be\90L\80C\92ÑË3\9b½F]\98\0\83\10L        ¤­\99©\\8e\12èOR)5Ü$pÆ\94,\8c \rHHHýüÙm\85\f\85å)\95ãp>t¥sß\vè\a,d\ 6\85 \v\9e[°x¸%\8b½§£n$À\14f\ 2l
+\1eÏo¨ÔÖLÌ\1fÕ\ 2ûn\83vò6ÅÝûh\18<'g÷\8f\8d\8bA\8cW\8cë³m\19)\85\ eü¸´%\82rõùÌmp  \1cC¢ðÉ%2<ê\v\12\93\1aöeFõ³Öͩͽ\83Àì\b!k»{UlC]îÜPÂn\ f¾HÛZ;\ar\9d(5§ ü\94JW\84xPy\ f²Á\8cPÖ²Phe[ÈÖ(Û³q\14a7&C\9c*s\ f\84kõ³È7\12ù\bOk¾m&èÿ'Ú\?¢ø°0Ok­\9eOn\8c·U@´Õ\ 2×\14\0\1a\9cãwb"¹    l\\ e\r\1cÒ\eÁ\95¤6J]cVLÒ\e55Hn2Æã\92DÁ{\1162Y\ 6ó5Ë7õÏÕ¦t¸\ 3Z-A\13\v² ´\87«\91þí\16£µ\8a±øóºYrãÐl\8fÅÿ\b»îþ,ñø¸í/F±¶k\1a%ûo\85Ùaw\17ëhz¹MþÃ¥þȽ\14vg³\135´vn
\11Ŷà\rA\13g"±¸¡á;5º\9a¿\ 4\91LýÇD´,\83\93ÿú³ÿåV6B]fñ\ fò;±ÈL\9edèY     \93üf\96of\ 1\1a\ 1\14÷T¯òyÑé\9fýE _Ò\8f<ïM\88^\1e{\ 6\82VT\B\16û÷hÒrÿ¿dÌ\992I\92d\92@ Q\ f\90È\90 F\12@E
\90Â9\8b$%\92\16\8b¥i   \90       XI,\99\ 5\8d\eb\80èO\92ñ§\8dÚkZé»»®\96ÖÝiÆÖÛZÙ\80$\12ª\84ZÒ­¥\94»V\bÕ*¶¢*Oÿÿÿß¿}ö}32@B\ 2>¯·×\9cÝèo=Ëyî\8fº^è{±íÞ®ó\9bÐÞöö·\9bÎþö·ø\ f½\9fw÷­½\rê{­'Üõ²I%\92×\a°ëæOÞ\10Õõ\9f\ e
+\1fÕà^¶\e\94\ 6Ââ\1c\e^â7       ßxÅANòã\1eîßñôÏ:OÁkÁwß¶Ov\ fñ/}_¤\83u\96t`ÜdÎEãõ\7f\95µ,ç\9859÷M³Û\a\8ecUÅ\fäJíÕÞAáJ\14¤/\99ð5Ò!ð;\16Å£®\97\ f\8aYÍÕ­Û\18\80jÝC6%\88è\89i\8f!uí¢Ã'VÁîÎ\83˺u´e\91Ïi®\9d\7f\1e¿çø\9e\8dÓ­¯\1fïý}\9dÓ®ïSU?)të¼â~!0Eú\1d\9dî3ÙIºëðÇ\ 6\80\8d\9eß\ë\9bæÏÞQf5^\8a<mk¶=\8a\80VsÑßì#{,`ÙN÷Ç!ÆT\93\90]ªÒS^\8e\90 >¦¾ó\9f\ 5MÀáìûä\15\96|x\91\1e{UÂ\bã¨Øc\ç\87¦ñùÏg>ðõ!Í\7fpç¯.\ f\1dÀ\9cfÅ Þ5¤¬¹¤gà\8c\ 3U\82\13F\8dð\96³wDãê<dÈ}\851\91P'\96¼búLËK^NðïWëJj¶äD5¾ÔñQ©>¡v¬©NÖ¬\10\9a\83\85 î\rË\8872O(.UÛ¼ \82\ f-ç3\83\ 6N\ eî:\83wA¼xÎ\ ey\9b¼h\ f\14m\84Ùí{¼Õ¯×|¬at§V\8e\9e\9e+^ä\14×.FQ\ 6Á±\94V\ 3\96Êè\9c·\1d\80J!E2ð%º\98\ 1,G\fL\82?\1añ^"·Cw\7fñ\9dÁÝÈÁ¹\8eõwÀÀ]ä|Un îÚ»WÈ\1dUn²7T\e°\96®³\16ÈHMëµ|Ló6\8c\9dÐxnÕÜѳxÝL\8f\8aM)\9f\83\ay%\ 6æB\83z\e\87\10wq\99å}W\8aß\ eÃÁ¢Øg\19»ÈîUà;WóÐnóÊùì÷Ã\89\16\95Í\83\98Ç\1d¨ÖºkÅ\99w®l\8eCîñ£Óy\86Ü7¯\16\8a©Þ_^\fýæ½Ë\91ñq\16\8f\ 6\81°z'TÃåw\85s
+U¤\8b"\92X°;wù\9dßn\1e\ e;YÞ9û\99\ e\8cüw
+E¾\96aTѼUó\92ê¡·¿aÑü[\1cp\8fùÆw9÷\84©4\»qE¿x\13©Myc\89&M\13\97=FÁç<8C\eui"\12\r\9e\1d\fpBi6{÷\8a¿\9c°»Aø`ú\rot\ 5eçÝ \99ýtãÏÉäêÿ'M\a\82Ô°ú\ 44âlü{Û¯*úú\ f\98ÕØ\91:M^éÓ¶P!a·\ 3\91\84×¼.\9an«·#â.}\10°M\ 3\95{\156\1f\13xóaWá\ 4É= >ý&RmÜ¿¨Ï\8c¯\ 2\ f\9aÎ\ fãj\raäà\9b\ 2\1f°=\96!_\82å[§{§\93\93vðo[:×j§2Zç\93\9d\0@£Ñ\99.ÒI =\91\1dÓ\90ÝM^õÅÐÍ>àÀ2ûrx\9aÜFkµ\991³ç\9f·M\ f,î¯Øl\e\1d\e\8a.8h\96\fJè¯\83Dxè5KáU½\ 4í³a­Ú£\90ó4¿¿¡\84\83zÜL9\ 6ß\ 4\83oJAÆÅ ç¢\12\f<\ 1t]P<d\1fµ÷d\1f¼+R\ 6¨{\1dPáþ\9esÖ"$eß\97\85Î\8fc@ªs£\83y\1c\12\ fR\9ebÄH<Î\1c\83ÏB@\97©\90\81\8dFlj4cR5\8dF¬jG#Qö¾Yð5\92\91göË®g»úå
+\15_iß\14\8bM\8bÉä ½\83Âjú\ eî]ì\e\96t\83RA·¤ .¨w\aÎ\ 5/Âl÷}»z\11Ý ÞR3\83JÍÞh\a\88<Óôº÷vV¿K=°¢t\8b\93{\92n<6¥á&Åí\0#\7fT\1ff\r¤?\9dà×\9fÙ\84´%\89è2ònÀx1 \8e/ Üâ\9eÁÝË=õwÀÀ_\ 4\85¢Å·ro\95»\1dun\9fd`½)\18Y\ 3á\83\a     ·)Y´fú\83xù]½37\98Ý\eÜ\8f\888\82u¤gtö\ eß\1c   ÌkÚ\rëáïû¼pk\18ºU}ZU}bÙx9ý\83v\8f²;zE\7f\7f(*Ô¡.ÈÈÕë\8dÿj\9ba1\18|CX\97\8d\94\ 4\8båá³ÅÒK\15\16(SÆîô^\e\80\7f\e×,>>\96\b¿\85¾ëÆ\10Êø¨,\86m\1c=)\1cK\91\8e×ѾÜ\ f\88\b\1f¦\1c÷\aðóîËr0Hþ©\eÞ"FûtHÞ÷\91#\7fÓòO#{ÃÈßïE\16¼\8e/\13#\8bز8Ç^³¿\91Çóû\a\91ÇãÁàÇ>/#b<\8e:\ f$dq\8e\19\1c^jý\vq\91Å×·cVæHÞðdo±)\eÞ+غØ|M\88Hßòuw\9f\1cò7½bFøå¤oê}B\91½áäoz\99\eúp\91R\8e\14\8dïW\91½àn³×¹"\91¿Ù    \eÉæ\8a1\eû\88ív²s>|Q\83Þø;[ëâ9\ 4᳦FÏé\ eÎdû:Tlþ`ìÔ>Î\91\e=xìæÏ³êQ³µ\1d\9cñö}B6uc³Í\1f\e:]¨Ø\87w#Ã\1ey;ç\ 6øøãµ÷Ìb£Éi7ÎGÔ/äß*Erè(\ 3F
+z@ÚEnïo\7fB8RKÀº|{Ú\1fY<+? q]\ 1v\8e\15¼aʬÊ\83·¸A]\fý¥\95\96\ 2¯Ýñ¡ªô\8bpØÉñðUwIUûÆHUâQiÜbÂS\9d\ e\80pú+I\9bº?sD½+\92ÿ\16ã\1d¬òúò³xy\8dK·Üz\ 5s\ e¸çbË\rl,?êü;çw\1f\99ÝÇ\14±\1fEù©:7îtcg\97\ei@\90\80\81ðÈk\8f\19Ô\87\8aë!Â+ÎÛ«\8f¸6Ú\ 1±ÈÜoÇ\b\84\8d5\976Ó·\1fmÖ@|ërÖ5Ö³\81\ 1¸Äoª;\fÞ\n\1dd.\87Ö\8c£Ãuj\8c[XË{xN|ë\17ö=<ÖèMå´oÎ\97.òîï¼Sm\98=X~Vú\16\17íÇ­\81êàÌ\92\ 5Öé\90ö1«pHí\8f\82·ÛÓ0\8b[´/Ò+\eY.7u¾ªeÕÇ\19ê¿olÚ÷´.²D\ e\96³\1fáÏí[\ f©\7f&ï-ÃÈn\99¨ëY|8K\17\1c@Q\1f\ 5Ô\eaÄuÝîÌIÑTbþ4\17=ËÁ\83ÝÀõ\r-ùû\12.ÕÕ®d\18\96\ 6\ر\1a©\19\82Àë6­­e5¾X°tâé÷\87\9fÕúí,ñcXO\a\85\18¬v¯qì\15\1e á\ 6º\8dͯ 8w\b¸\8e{}u«Ü_k\83\82É\ 2X[u4È6\8f\98]eÞÛå½qà\êï\e\ fAÏ÷.\81wìýØÃ\8a\154\9a\1eÚP\99Ãïg\ 1\9chö²\96¬3J{öiFä\19©\1d\1aÂfèf\94cO\0\99§Ú\95C4\94½½/\ 5\ 1¶ýó³IB¡ÖåYäÇÍ\96÷ÅÓá\ 4\84­\8d¯Êß\8d¤q¬\96-\aî5\82D\1cmøÚx\14¶ük8\19k~7\\9aùNx±\ 1ÀfÂtßûç¼R¯\ fÒÁ\82Øou\9a\1e\17ä2ÛÚE^ñ^êî[\ e\f±UuÅáo\17Ý;û\ 2S;é\ 3jG\bñÚ¯GËÓAF¹l®øºÑ\9b¼\8f\8eXBc\91Þ«\a²üCiÀ\1a\ 4¿9´\8c\10F\15j\ 6ô·á9¶A]ð#pQ\ 4\84+mð!:\ e\1d5úö\fmX*ï\86\9fDé¸?\8aPºãä$ÓC¦´<9t&®\ 1·\17\ 6ÒñSöÉ\råîsÙÀÅ\13ô8£¨\94÷\94õ^¿\8a.Ý$wn\80è\1dª\ 5\b»4Ø»6&\13³z\89°5ðÔ\84è\9c9rj\1c6ç!\88\a»Q¼\1f\v\80û·°\ faï·õßÀìmý}<    \9b\7f_®q­ù\85ánî\ eô.\v \16Êçã\1cwÑÂM,ï\90îNÏk"×Ç;ÈïVwgy\1f     .\94®}\87\11\82î;Ø\882@kþ\ 3^\1cê®\ e­\9dUW|I\$\86\ e\14Ú\97ì\85ñ
+íZ0mú8<\14{°ÌtEÂ\ 1÷\9e«Ç\1cQçÞÌúé±w¸×l\93ÕZG\ 6í'éÏ9É«WÁ5\11îc\ 3`;\1dìµ÷Ý\14\90\98*ZbèÐvù®\86\ 3\82îx£Ñ9\87\17ï\9c<Áð×éù
+jïz$nã\87\8f{\9bã\84¸+áNË\12\8e\98Ò8\98\aC\ 6.¤Ò\13]
+Î4;Úÿ\88\84\99tøø<û?xÃG\9e51ׯÇ\18\v>@à¾\ 6àÙÁÄKê÷ªÑÂÁ\ 5ì|+þòß\95\82ãw¸q\97{\ 6ñG®;½ê\8fYÁ-h*f÷Ö­BOõ3p\|«\9f\ 4®\97ø\1d[\9eõ\8b4>5-\17±_¸ï\82,[õxÃØbë8\83T\ fÖ\9f\15k¶­$n¸m=_»\91º\e3'\8b{¢6\ 6\19\94÷\ e\91îý\97?\K\85ðøî\1frX°ÌÎ'ÆcÆ÷:®\ 6È÷Â\ 3ÛD¼7\1döûò\8b\\120U¾ôw\1cÃ\97Oún|þç³\e¤Ä¾çÍg\vÚ#WÛÍ\1axÔ0°6\92\9d¸\98û¾½\ 5м½\96\1e\11L\99aKQ\ 5N\ 1\83\15æFá\\8btî|60\vÚCu<\8dºúï\80i\83F\90\ 4LQ\99\8d\9e\ 5vÏÚC\8e\ 4\94×)\\99ÓU\82çh
+x\93(\9d\0i¿"éÿZ\v­Y\17P¸m_:\b\9b22\ fö\ 4À_\17Ø´»\ 2&[j\ 2óF\eU\rRm8mëÈÄB\89S!\13»¶ü\14\16Õ\16SÔ#»î)½4']_ö\89
+~\88\10õÄO\8aìA?bm(&ôK(º#i\11£¨\ 5\1fJ\v\1cè)ºSWr\14z q\ùª¡hèM\99\aÃ\9dB\ 4Æëí»\ eÂÙ%Âíf¾¡¦ÍÕ\ 6½I²a¦¡º\12ù\16ßh\f\w´À¦äâ3󻸰\9d19ÍZÅÁå@JéÐV´DÈðÎ\86Æ \8av-i8¼\0B¨O;d\ e\87l\1auÅ·¦'CPÝ1{{»\10Wb\11l\15²±üì\19½\1c'w1ð\92ª¶ºK·ºpVq\97\ 5.x\8aÍ>       \8c\87\15Þt¿\8f·ýô\88ö¢ºS=7`²ß \882\8fµç×\ 3\8dÍ\ 3\17Õ\17ÉÜ\84\82ÝÕ\86ö\8c\16[\bEÆUt=)\14þzRpqQ_\82ß4\vÍx rËhäá;x\97\1cÚô"×Ûûò\85\8cÐ:èîtŹze\8a\9a\12
+\82MqC\f\7ftàùtääv\90¡\7fL
\11\17\81´þ¥\r=1+õHs<°E\16¨\1a\8ei\vºvó\915Ñí¶`ÌrÀó´ÀÀ_!·¿&\ e`~\11{s\93C¹²}ÜÐ6¼¬'\1dc\7fN
+\1d\ 3\86\85\14<\ 2v\91iùRùKÃÙ\91+#\12V_l\87\a¬'\83~¶Ìí\9e¬\12p\16\8d\1dH9:äÓ$uë\ 3~v\ fj\87ÁÊ\84\91ö·ï\9a`qzà\8d\7f6\ e§×\16ö¿\90\8bË\9a\80Ý\184\95Þ´ÿ´\0²é\11\ 4ü¨AÕ(óíÔ\aM¯&Si\11\a\85÷\93Y\9fÕ¬ä)sÖ\1d\rñ§Â\ 23klR\97\17o\9f\85/ý)\17D\95ÉNãàpýJ\1a\8e/ÏI\12\14â\8fË\ 2G2 \e\ 2\8b~X¥5°\a1É¢Vý)B.¸!\13VOOÊD\8c\83y4G-u\7f.\v¾a\1aóèûKc\9a"¹ú)qtó\92Ô\13³qrºÄ;úvï
+R÷a±¤\b\ 2ô6ã\03¡E7\95\a[\19?S\vü\9a\b    \1f5\ eÃ÷òPô Þj\ 1s¶"\b\17ïVx4¨8;\96$\1fx    ¼ø(sh\97laÇ5      ÀôÈ\94þ´½Þ¦°7¹e¤\ 5\18_\89\19\90ÇêÊ|×ëK\ f\15g^<ô /\8cî\141Ì\\ 4ð\ e]¨Âe\11ÛØ\ 4­v\b\97\8cóü\9cªn¦Lz Póæ©å\95í6CyN\85¯Ódê\9fÔé\95ÖõYx0>oc^Ûeõ\7f8\94\8cC|\9e«í«âù¾ÇÖÐv\7f\99×î·ò¼Ü\96»Çè9<\1fÿ\a)ÒqçóÿÊï¾\9aîü9ýoñGç¨ß)Nî\11Â\a³­«Ôi+ëT´®ÓXUÀµ³­R³O[YÖ©¥«®¯­\7f;\80\87®°ÔÕ××-¸§µÒW×V)ÖÖÛCÜõ!°ÒWØ\82\91§«´Ó®¦¯·]paj_\7f\rhF\f\91\96aù×µ\19ú\ö~§\ 1¸A#z\97í\97e\89\ 3àmÌPãëÊBþ\12©+\82\12Ðöí\10n$#ÍÊÛ¶FÜzX½\9a07×\ 5\18\eô±\84ÃÇ^Ê&¿Á\85®'\94\1fUËeÉGÔÄ×§\85®Ü\8f'\ 4cxzì³\8b\13W\r´5þº
+çÒúêD×lf\1c\9fÆ\86èrÌ1ñýâ\7fü\84i\8b\84âb½}i\1ei\89\95\8b\19f?\99\82(.Vç\15ý\1eë\vF\89&j*]æ²ý\1cú\95/]æ\a\14 \10µçó\19\9bý|º\11ô3Ý\1ee\84zuÒ\8fNºQóóÔ9¦\11é×J=:éGåç§èXG§](ôë\9fÝ­Ù_\7fwãOsóÑícg$ÙÆc#LÒa¿ö-æ\9eËÏI5\8fÑö\8fYV³i\18È\165?­_4÷¾a>Ì\13ÃÿËôW\8fÿ\aÿÿ\16¿ÿ¸\aÿ\9b?ÿ\98GáþÿxÇáþÿi#ðÿaË\1f\87û\ fö\1cñøsÇáþÃý\87Ã\1f\87û\ fö\1fïõã\8f\8b=\97'\95È\8e\8c\7f#\8f(±1Ö\ 3.\81ýZvð\84Ì¡\fd!h¸× \88\e\8aÚ>f'x\82\15¯ç²9z{\1fuÎóÙ\86\98\rË5˨û\18:ÿçiÌ"À\9eëútÒ6ÿÓ§5g5ÐÍY®vV\16!«rMM%w\1fs\1dd×G\eNÒy\94{3Gðcl\9a\16\12pÄåúÕ\9b\ 3\bQéûÄG\9b\11C\8c6!\94Á¤ï\eܬ_\1cÒi\19Ä¥ýìc'\99K¶4½T\81¥èCî}\18GÃ÷KßúV96\86\93\ 4¼\9dD\86\8eÿ        Tqp\95ïEíµ2Â?\1c\90\96(ûŰ\8fÇ*ØÒ»\19.$\8dä$:ØHo\946+c\v \rø\f\8e@JgÚ\v\19\9cÁ± \93ÆÐË\e\e\84L\bÄí¡²\973\8e$\95ä\8eö\12Ç'\1ci6X\93/\84CÑ«\17\8d4}\14-t\94Ó8¸ECcí\8c\96\11\1fäLÞ¡µ\971êä£M$\v»[(Ý\eD®zHK\9e\ 6\11¿ù\85ø\8fôá\e\r¹Ün.\11eÒwJîâ\1dÒ¹\89\ 3L\ 2Nb~\19ÜQ_\b\91n!á\12,\8c¬\1c¡¥¨dÍ-±A\95\83\95\8f4®Ü\9f/{~êøOnP\8f\92\bG\84\10üdV\13Û\19¼ú\17òu3ëû\98G\ 3\1c%'Ý´\9e¿\84zØJ\eq\83\84¡²^å\81{\944¾Ù\vÛ\81+\1aúc8e£2Çu>a¨8¼Á¦.å,\9chäéÎw^ñÆÅ\ 3áà\1dײ/år&Å¿\12d¿\1elX0|]F"ä¡\aC\88\1c"Ûñ%/$÷©\8d\rû\8b\91\11\8b 6>ª|Øú\1c¹±ì²\90È\8cYoú\10ßÎ\86ÿ,\eþ\82\1eý1ã#\0÷\894«)eÌ\ 3Øá\1c¯m\13\båqJ\80úÑçj\11çni;428æf\8eþ\16vDøäþmá\99wu\9eO\97\ 3þKÕâZ     ÞÏ\18;Ïs0\9eG¤äa\1dm\8c'\95é?N\13×ù8I\8f'\9f\92\a\9fn\ f>\ fN\r\1f\17gËÂqÙaBo"\10\ 4\ fùð\81ú\86ƲÇ\18\88ÒÛ\ 4Ð\9e©\ 4Ð\9eü¨¯¢\ fø\18H\e\8f4ÀKG\ eH\94´y\18qçÂ"oxRÓòe³çD¿õa./Ý-&ëaG\1fÿ\ 6ª¬ð+Ä\9acm\12\ 5e\199Xq\93æa3m (rb¡Ù\1e\16\93»D,ÊD8õäC\128OC\946-\96@Ðã\ 3     ÈÆ\1cûtC\9eR8&§Æ\9aQ\94É\8eôü³\a_5"iª\17&\9ae\8c6;\89\8d¼Æofnq6X\8d\1cÀªã\84¯û¸Qo\93di6\1eLg\9bZ\1cmÂGy\ 38³Ij\8b\94åIg\88flE\14­\94¤÷,ñ+û°\ fÂÂbßêÂk9N\8f\8aÁ\9d\1f\v    Ld\9f\91\93É\9eq²y4ÍG±keÌ\9d\9d*YMfÜØéø\93Yÿë       ÈqY\99H.\ 2\13\93âê\9b    \1eg,)®à8\1e\14\93ÃÆ\v¿à¸Y(íÁG\91\b·È\ e\14G×<\88l\15Z¼$<Yôâ¹|p\9d\80Y£-÷-\1cigù\80\96Þ\84Ò̧Í"3\17â£Í\8a\7fÔ\e\15Tø&Ïz\13\98¦G$\à"ò\80\8b\9b:.*\9fîý\8f\15ØM>~\151Ór}8®\ eZò¡¯(g\17a®<#`»É\ 2î%Zw\ 1ßÇ
+Mý\9f'
+Mü·\7f\13Ëǹ\917=\ 2ÿ  ¾dN|YK5\ 6Ï.\r\9eXÒÞ\94\8f7      ÷ôI\9dîx'{        ßèBwðcü£ËO\13
+yn\1a\ 3;\963\8f\93\89²\949Se\ 1Âò<N~ó\1f½ç®}å\963G\8b§öÙþ\14\9fd¥¿\ 5/EÿÅ,\9e\7f\1d êó0\9e¯Ü\87ÚøW\ac\8c\ fݵÿ:~ö$³\1e\ 2:\84p\11ÿÖKûò4÷DþÑÛ\1aþDjN?ºç\86ìö­q¶põEj5Q\a\ 3\ eÈÓ«Ù3#G©â3q"\9b&Ò0\96Aðî«|,wÝÒÓ|ö»¬\8c\95F²i$\ä|Ùûù¾¯\8dIó¾Tefsùû_å\1f6^úÏãi¾\Í'\1döF\9fåmµ\8ezîÎ\aÉê\7f\7f·ú\19Þ.7CÙxÿ¹Ýü_Ã%éÑw.uOß:è»|\f!Ó²n&\1dÞA8K\9b½Å²¿<\8bìoÙ2\ 6W\8f\9b\18KÍä!ã#\ 4\8d%2ent\1e\ 6ý\91|\9a\1a\17\ 5\ f\19\8fg-!\13        \87|æ.s\11BÎN\Ì\1e\86ÖÌ\993\90\985OO\ 6óÀõ®å{vç,\80\90\95\f\ 5?\1a?,ÿb\92Û\18Êüò¯Ï#_\bÄÁ§\7fO\8c\86îñ¬£ÎHsPÈÇ]\87r·÷\87GöÞò\1a\88£¥\8c\fOÙî©ßg´Òæõ2Sλé?§ï»\9e\87Á[      ÷^\ f\e/ãSmîåu¾\99\9e\17Káfþ\94Ï\83¡ôõ>D¯\7fç\1c­¯è8R´ÛÏ\ fÈ\95û2H,¥ÿ7÷\eµÚ\ 6ÿ\8c}x®A[£î¿\ e/½ñå{|±õän¾\8fżø\1a\9aO\91û}\ fs6ÛW\9dòv\98\8f¡ç«ãu\eKMï=æül¶¹&\12ræÁ\a1}\14(\eôë¢\85ÏÏNº\1dÁÍ\8a5Ñ{l\98F¼b\14ýU\92\ e_ú5ö©×B¿x\9dt+üTë¡_n\8c)\1f³B¿\8d
+Ò]
+uÑiè²Nº        \11:p¤þÍ\ 4½\1fj\9dtzRNU\18R\97f\8b¥V\9d:èïmp\13®\9f\16\14\846þÑ-¾Ñ\1aèkÿ}:ìâ#Ð×üûE\8aìù~ö\11¯\1a\85\ 3ëüt\9a]h\1c£\97>ÄjÒzï\19\9a\7f<ß¹kÓw]Og®\8fÅ|½oÁð#\fâ!\89)\b»JF\19D\1cøèâ=\v
+GF\8c,T\8e\8e\14\12\91ÍDéÿ¸\91d'5ØÍÙ\19Ä\8b374\91\9b¿\94ç\9a2QÄ\8bSJ\9aX6JsÍ/¯¤c\195dGZE\93Vhû\8dGÛRû\92\8cì\8dÙ\9bVmaµ¦T¥Ããî>.²\aÖÔ<Ù>êþã¹ßÞÍùp4\7fÉÇ­õsßg\9fËN~\ f\91ûµ\1d¶(Yn\94\18m\80\ eÉ%\8f\15\1aÿ\18v`"~%ö`=¸\ fp\ 2>\83ÏÞ\0ô\80ï½X\ f¨\ 3&\ eód\ 2=Â?r\ 3Á\ 1\1f$\a\9b\a\81£\13\ 3Ý\0ï\0\vÓ\80ì\80wà31Æ6p\ 6\8c\ 4K\81\ 4K\7f/\98\ 3\8d  _³\80"\87`<p\1c\80A\16\8c\a\\ 3\ 1ò\84ï\e\ 4«Ù\90\1d\10\ ft\ 3º\ 1\8c\b\80"VÓ»Ð\1fP\ 6xLÈX\ fp\ 3ä\80âd\8eVþv\807`=XBGd\ 3v\ 3(\ f©P\ 3׸\13Îr\r,}UT\ab\ 3¼\ 1\1eÑnÖT!Ú\ 3¡\ 1Õ\0í\0|\0\1e\b\ f\10\aØ\95,)ê\9a`\a\1c\ 36\ 3>\ 28      ç£\ 1§\ 1êÀ_\80×Ë\ f\ 5\1c\aX\ 3Ú\80ì@v`=À\ eÐ\aøÀv ;`\1eü\ar\ 2%QóÊ\ 1àË\1e\98\99°\fÈ\ f@\ 3Ò\80Ó\0éÀv #\80¬ß¾\ 2%WL&\ 13\90\1eè\av\ 3\19\88\b\98\80ä\0s\80:\10\1e¼\ad\ 3ß\80ïÀxà.q âà#æ1z@\17ø\921è¦Ü\80ð@d\ 2
+¹@\1a@\e\fQ\8aëw¦EÞ7Ljò9#ºr¸ÆÙ\95ËÄnâôè¼!àÝß`\15̾Էu@\97®+Ä\r¡^'X5\ 1j\e®\rÝy^1Fë\af\8dèÝâÆñ\96);d]Au\v]èk",iÛ¦ñ#\LÍCY\13+9\86§´EÕ¦½e\857zûU\9a*ì¤ÿ)`v$]ÊÒÌOsï\eÁ;ó|2»LÀB6Æ%á\85u\ 6¾"Ö¡´¥Ã\1eº\ 6²þóË\r»\9bÛ¼ÝÿS®\8dÕ§­%¦Ø\17\9bU\99zWþj¾æ\e§°®à¼\8dq/çºdÚB»pÚ"ëg\J\1a^¦¤®\82µÈ\83\9a÷¹\95\r 'y¯+ÌM±^        lVg|Ô<íû7<,õ\ 5£\\82Ûþ¾ö\1c\18t«"êËTèõ\10õ¯ïî\83¬,5hD\9eôªÆî¤\1aMa$Rs\16T6X\90täì'\80H®:\82`v%u\1fP\9fîÐ\94\13Ý~i\16\80ù"^oòeu=P¯sxQ1å*g`¹óu(¼G¥ôR³\8c
+m°\16ü%4Å\17»dk¥\87þ¶\ fS~\8f­+Ôí\89^3Oy\ 3´ÀQkJ&6%»2/iödæ:E\9dõ\88Ý\98¯\85ôÆÏ`EF¹\v-\81Cî°\9d\1f\9b\10|ü%NС\9bbR^éI\8aÃnü¦\13i\12ø\8fîªk¨¯ïÒ±U7ew\17S\96Ê×ߦübí\17α»wÕßÉÇf\8bèØ»n¥bân0é´(\8dÚ{k+ÄI\13\ 2$\8b0п\ 1i\ ft\84\87Ô\95ð&¸\98ùØ-\82/ú+·ñ\99}\89WØV׿ð¥²ó]\85t\1cêÎ\17\r\eV\88\87óT\18m\97\9c\89\86Ìâ¢Wfõ(¿C®Õi\96p\1f~N:yÔaÀo\ 5ÉNê:r¾\16×\13å®­¤³Ï¨\8e\81SÎVjÉ\ 3bWʸ\ 5\ 26\168\bRrÅ\1aX\v>  Ô\9cê!'b\88\eÿ\Lë"&âÃ\96*¶7º\e$06/7ê_Ïâ~\fµá\93\15e\7f~\99;ÿ±ÐpÒè,^©Ô¿½N°û|§Ù\86\9bMë%áN\eÖþÄøÞ¼rȽyþ´ØÊ\v\12´@\95÷þÚW\ 5ýEå\7f½æÓÐÛâ¯'\9857õ3Éæ\99\8b\7fµ\84\8aÖý
+ø°\93¼xßÿÏÁ«¤&G[\13\82Å~3Ö6¹Ò\8b}:\rÇÚ\85~qµ\ 5\1d\b¯*Lô÷ó\9a"àí´-\9dIF¦ÊÿgN\82íë\ 1\11Ͱ'\aª'«Ô\14Þc\1aôßnÿT¦ê\15õ\15<6«ð¦þ´ËÔ0ÚþD\8e¼©\8bÎöv\90\8c\15Úe]\86\9dç0\1c%\ 5Ú$çbW\9a¨\92n\98\9e\ 4òá\8fC\7f\9e[\84w2lÀ\7f \ 1\8bÅÓ\95B\1cTz²\84ê\85~g\1e3\9a²y|¬Dû\b\94 Òæiä1?\fÙ¿í1-7"a{Rd'â+?!®\17   K\12©§\89eÿ-ÏÇ£\81Õ£\87%\87o£&bx\94Ô,ã6\vE¥Ü.\8aÒÄägá\1d®%­1½\8b¿L\93üضòP±aö¤(~ÅE¦/*-\17¼\14\1ac\12¢ÑwÁA±\18\\1dêcnÂ\83\97\ fù\83O£¢Yæ\rÑ\ 4\bϧ@lѨQ§\977F²\ f£Y\ 3Ñ-³¡\ 4ZR©ÞϬ\9d:\14ê>im\14¦×[Ó¹Ì#î\80\14\13²\13­¹\82d'dâ\97\1d\99\8b¢ÄÓ#\9c¤eQÔ\97\1aÙ\81Ä_\97Bñ¥'×ëIÃì\8aeÚÒÞØBû\17Ó<\96.Ñ!\8dy\1a        º \88Í\8a:\ eÿÂ\85ÑqÇ¢óü%º/K\1a¿\b\11t\81%ÍJÛuú1{\1d\1fþ¦ÿ\9dϧD\825eÑâÆ\ 560¹\vX\96ý\88\95±\10\13Á\85~\93«\9dö¨\ 6ìaN~xz¦g×èè·§\99äMɽ\91p6ÙàrHÅä«ù<úò÷ÿÓ\9fåPM±\1eü©+ôÀØóÀâ+òû±B_V\8eA\98©Z\90jéH\8c\90õÅ\1d¼)qiJ\ 16±9\9dÅ[¶Àæw\8b\9e\92\ 2h\93ßÅo¬p§ÖÂ3\15bÿµÄív<\8dÙú ¿\N¿ÉMáq2§\8b\9ffR¶¦KX¨|úÈ\\1dÛ\ e\1fÊuYÜ\ e\90z¥ûQ_¢S¦F[(\88ÝO´\8d§.\8aJ2ÇôèèT\94¨\92ÎÄ\17\8f\9céH#:Q÷\9f-\19âÛæ\81#\98F¨È\8eý\ eN<yâÅ^\97GÃQ\1c\9d\8bLcO\7fD\92yµØ\96%\8e@Ú[þ\7f:\92\96´ñ\eKAPºQ\bÄ\9dúÑo­\89Ò\98FDZ¢\91%~\15³\14\82tX\1cAëÿæ½\8aè\1aù\9eu<}¿.\9e,Iã/z\ 3FÌÆøb}h\9a\18ÙP\11ï\98~\90\ f¨\ 3-\1acN\80è@u"^Ü£J·´Ã\8böz\86¦7Î\ 1ã\0õqÆ6Ú8äç'Ò\ 1rØÆ\13\ f\9f\0\ab\8ax;Ð\1ahñîÉ \97\ 1ñ@}(ó\93h^°\a´\ 1ú <\10\16Ò ¯\80Ù\80ý\10\1f0\ 5Ët\14©Ð\1f¾\ 3,=\96à\a³\ 1Û\80·\13¤À\ 3ñ\80\12$f\1a`=ø\ f\1c\ 5Ì 6ð\1f \ 6ZT\18ø\b\9d`}\88\ eØ\a~\ 2Ñ\14ít\80?\f\aä"\9d\fiÎûÑ7\82 ;À\1f \a\808 ©\ 1\12×Ùì\0µ\97\11N\86 \fØ\bø\9c.i\14éï\a²¯\89\18Ä\ 1§\ 1ª\ 1ë\11NÇd\ 3Ø\0ö\80#ÙaÇÀ¦{Ð\1dÈ\rØ\ f\9c\ 3Æ\ 1\98\98\ 5,\aJ\ 3®\ 1íÀ~ \ eô\aßâ\ 4\92Á\ 3\17\ 1¼E;\9cÎ$\1d|\ 6¨\ 6È\af\ 3Þ\80ùX\93Ö\8bN\80æ@z\Q\1aj\13j\80v\80>\0\ f\98\ 2Ô ³6\ 3ÔL\98©%êÑNþ2vù¥4=§þiäOÉGZ\%ç¤/á`S\e\9e\9e\12¨Õ\956\v\14\8bw¨ C².1Û>Dµvh ?LζhRÏÄ\8a½2_\b5øH\9c\9a\8dq!kÉu^\9e\8eµ\fÔzuú\8bR\8c×\9b%\12\9ewâ"\99þ°¦»µ$mZÔôõ±'\ 5]i¯\84´°ÕùMÜç\ 2îÔ\964ϯg     Q=\ f\19õ¤¦ÿC»êIw´C\8fÖ\94ø'wóº^
\97O¢) O'½'!ØR\87Ò,\87ä½\9dY!ÓÉ\ 3\83O{[ÿê{úôqÜ®â.ÑOzÃè\8f\1fÿ\b\9eVР\9az{±á\8dá\15\ 4Tðä\8azz²\81\r\82Îߨ\ 4. ¡³fZëÓå¯\ 6;DQ´\8bÀ¦\9fMúÕFø*\eÿj\12g\9d.¬6¼$Aÿ$\r?:\\8d5\ 5Ó\98OÊÞ1\13:~Õ\13j\9d\87°ÁTÿ»K1Av\ 1CFÑ\fWÿ¬½490ÒökT\r\9f§%Ö¢.6\8bT\b\9e#6\9cÆo\83\fFß¡\89ð\91Ì\9f\87Pw\87Pw\87Pw\87Pw\87Pw\87Pw\87Pw\87Pw\87Pw\87Pw\87Pw\87Pwÿ\15\apèubÐ\95ä¹u\ 6õ\b¨9¬\89C\8fj\87\8f¨7c\9c\14ô²õÄÁkÑÊ\8ez\82Ñ\90ÿ%\12B\1c\1a\ fx|Ûö\0\91\1e\9d\84zÕ¨\87kЮó¨¯pê\1aðê\1aÿÒ¡¯]î[þõ =¨\bãføL\v¾Æ\15À,q³Ù>Ì$³f~\88zÕ¡\8c%$¤L\9e0\91#ß(\aô49ØÍé@{0\1eä\an\ 2Ô{}@\ fj\ 3½\ 1\94\8e      \88@zP\e!/\ 1\88\14Sp\0f\e\1f%·=»c\99GßÐ\ 2&Àÿ¥\8f\85\1a\87»°\1e0\fì\81\8dT\ 28\9f3\1fc©ã\0ÏÈ\82¦\ 3Ý\80ùà3mÌn°\ad\ 3â\80É\89Í\r\ 1Ù\80ï\0DâKö ;À\11=~=@\r\93\83\98ë%\0\e\80\1d¸\ f\0\ 4MÖ;\99P\848\f\0\1d\98\ fÔ\ 1ò¥GÕ)ÌoRTýyP|W\97\12'V\ 4\a(\ 2$:«¥\1f\e\17\ 1¨\ 1Ñríÿ÷\0\ eÊ%À\ fç"£\fmÿû \e´[ÿø¨·ÿ\8dEØû\1d\1edrB\1d{îê\8cÝ?ß»]ïn®÷·aP(°\80\8c\8e\85H»N\83\fÀ\18\89@\84\95%\80:\85u0\fÈ1\96\0a\85\90 J
+\80BH\ 5\83\19ù\93\b3\0]ùóïß¿»Bï\99\99ÿÏ<ÿç\9bçýß^·w\87¼\1dàï\eÎ>úõ¾·\85¼MÞ\1eñ·\8f¾Áû¾Å\1fý\83¿OÞ\9aÛl·MÕ \8dÌ#\ 4\11\90\bÊ\84g\82\8bS\81Ç9\84uN\ 5<\ 3}\ 1\1fPF®â\1a>\11¼\ 4aÂ9à\8eà#:\11ý\ 2.nA"ôß?ÿ\ 2j\88½ùª"Å\e\12ÖÂ"g\7f
+6§\1e8c¹Ï\85\95\92í\9c\84Gçù£óüÑùþhüÿ4~\7f\9a4öèÓÛ£On\8d=º4öèÓÛ£On\8d=º4öèÓÛ£On\8d=º??Í\1f\9fæ\8d<:4ðÿ½<>{ûÓÃÆþÔïè|ÿý FÒÖ\e\94Õ­\14\84¡\f\11\1eé.\98\b\88\8b·èJT\ e²ú\11\11¶pB\92ù \88õi¸ö\92.\80#<\11\1eÓ4z\b¾¶\bTêqÙð\8f\10\b\89¹Æ(\a/T#uHGÐ\11\12I\9dô#\9a\bíB3á\1a@\8d\99´ã¯¡\1dXG\84\11¤\1fÃË©\f¦\11\94\bÑ\84lj\8e;
+\11\92\bó\8dóÿð!\1dHG\96\11ø\9b\8a\96ÎE]\97ªX\e¬\8aÕ9X(»ô¿?ï
+\11Ï\84f\82=\90\8bUDã¬\ 1\eØF0#©\b\8a\ 6\84\1f\80{xF®\11v\b\8fYK½\ 4_Mô\bþ \8c\10G\10\11\87\bÆT\8av\1cçMô\ eô\9f·ááö¢\95-©¾\82\ù¾\82\ 41'\13Ü\ 2\8d°#\ 2\11Ã\eè    î\824\ 6ú\ 1\ e8D\9e]XG\88\11¤\1fÎ\978\84¯\84^\82\8cHG@\11\10-¦x#è\13²µÈ$\#ñ\ 4~7"\9d\92:\91\ 1\1e¸E8l«^\14\9c\\11Å\fCorÓÃýð\96<>ª@{\ fÕ\1ax´iâѧ\8bF\9e-\1ax´iâѧ\8bF\9e-\1ax´iâѧ\8bF\9e-\1ax´iâѧ\8bF\9e-\1ax´iâѧ\8bF\9e-\1ax¿Ö\9e-\1fÏ\87£ùðÿýþ|?\12nHp\ 4ó\86%S\ e5\1fÏ\87£O\1e\8d<z4ñèÓÇ£O\1e\8d<z4ñèÓÇ£O\1e\8d<z4ñèÓÇ£O\1e\8d<z4ñèÓÇ£O\1e\8d<z4ñèÓÇ£O\1e\8d<\7fÿiãò\ 4æN\872üj?¶\9fF\9e=\1axôiãѧ\8fF\9e=\1axôiãѧ\8fF\9e=\1axôiãѧ\8fF\9e=\1axôiãѧ\8fF\9e=\1axôiãѧ\8fþÔñùÿïO\1f\93þ\7f\86§\1ay=¨\91p­g\1d}\bø\82"\ 5ìãMøjq§\93\14nCê\b×\84ä\13L'ðéÇkB3\81\15\8b\bDN¼éð\8b\93aÇ[\ 2\18°\8e\81°CH#\8e\13ûV® /b`\18\84f\82>¡<¯j\ 1\85\84sa\19@\8d\ 5@½v\8a?¶¯¿\84\1e#izï%è#\16\11\13okÄ\11÷Õ\10Â];N\11\9e\b¸+8ï\8c\bÎ\8fç\8fÛ\83EÂ3¡\16å\81\18µ\82\9dbCRÂ8`\8e\80#8\11í\84RÔN:Ä\11ø\82\1dPG~\11¡\b÷Â"Få§©\1cuH"*]\ 6¼\11x\bÛ\ 4â\90\b\8a)'¾\84p¦ý¶¼@F4#\99¦üñ\7fÌ\11Ó\84G½;õa\1dxFP"'\14Ç\b{í #@\11¡\bÒ\eöÝîA\17`\8d´ß¶×\85\bè\ 2"\ 5PôÂ=á§·p8êØGZ\11\9a7á©Æ\9eLR|\8d±Ä¿¶·\8b\bè\82\8cøGÔ4õîA"á\eé¿\rN4òz \88©A:\10\8a\80ÙVÀ\11\14Z\1f\f\11C\86Ûù½\18(üñÔiãQ§\8dF\9e5\1axÔiãQ§\8dF\9e5\1axÔiãQ§\8dF\9e5\1axÔiãQ§\8dF\9e5\1axÔiãQ§\8dF\9e5\1axßéO\eó\7fzxÜ×íÑĺ°\88\82\94\97\9eÅ'ë\84}\reW\ 3qa\19À\8f\1cA\85D¥ês±èã\115-Äë÷Ú\ 4gB.   ÃlÐ\8e\9c\bÖMùãQ\fd2¡\19 \8f,#Þ\bÖÔ\ 5ì#±\bòÂ)j\a\1d`\14\86\ 2\11Ï\84D\1d©¡\b¨m8ëhG
+\11Ú\ 4y&èã\91t\7fùP\8eô")yvÒ¨ã¡\82:³tqË\9a°Öð\8e½Y\14\9dÙ\11\9c#@\11\14ÃS}7G\1c·7\86¥\84a\822A\19Ð\8fx"ª¢\1c£Â?\18G2\11×\84x\86ý­ïè\11\ 67þÿÏ\1aþôñ(|ñ\9fe</×Mùã^\157G@Ð\9b£ F\9e%¸ßµ½±\9b£\9a\97\19 \8cÀG²\11ò\ fíy\\ e\11Ú\ 4ya\15\ e'\1cÚ\11°\ 4G½$~0\8eT#§\bð\8dÑÉ©\\83\13¦§\89Ä\ 4DÿÅ×\84E«ì\9e\11o\r\95^\ 2\1c\81Ã\9bß\8e\86×±FèÍ\9c\819\98£O*\8d<ª4ò¨ÓÊ£O*\8d<ª4ò¨ÓÊ£O*\8d<ª4ò¨ÓÊ£O*\8d<ª4ò¨ÓÊ£O*\8d<ª4ò¨ÓÊ£O+úÓÊ\9dý\92XÜ1ºøÿ¹±àÛÝ/8\v¦Ë\aéz¯,s¯å\8ecOÝ\ 3C×Çùc\9a\92åÎtJ\90\ 1æÔ\1ey\90óJ\1el\ 3Í@yæ\83ͼ<ã\83ÍÔ<Ø\87\9bÙ:ø-\ 5U89½§_\ 3Æ\9d\95§Ih#\9bãC\e8\99¼sXä8s±ä\9ax¬l'÷a²èßÿÿ\7fgünÃÿ¼¡ngz\16ÍZ0|Èw\8ay¿®\94¨\90¼\9d\82O]C¼qÌ\8c`ÜÐîísv\17\b¾ø\82D*7`ïßPI´fì\1fûò   5\8cÝñæ\81¿L Öø\ 4\11\9c\1aT;×üÙ\1cÝ\83þ\87v\9fXÍØ7ÿ\1f»O\8eA\83Rfé\92pØÿcMç\84÷jñ;¿,½â¦_è:t\95\87\86§Iàp\94ì'Þ\16\9d%uáéû\1a\7f\11OÀ_\13N\93ÂñTé?\ f\17O\9fá©ò~2\9f'ãiòz\1dÜýþ;\12ÿ?u\83oLçȹï\95_ýs\96\1d\8cäá¸'ýÐvJ×\ 2\92në©âï]Üü\1a\9c\ 6KÛØ_á0é\12\87\1f7Dµ\92v\14ýh8¶º%­\a    õ\879\86Â\7f3ùq\ 4÷G6ï\98êH³cÑ\8dj`\ 3\91\95h\ ekS\ 2t\bÙhI\90G\8e\99xpÿ¦AN«J\91"àäÐ*b+ùäÕlÍù\8cËQu>nÕ[ÃOZ,\8fì!*T<\9f\14mn³O©ú4ÃØoauRàuh9\ 3ªp&\84,Râw¼ulåN&¶PN^ê\94\12Ù¬0Ê\98ç=\11¯µ\13¬gY\ 6±Íb\9a\90s$²\8fI\f\16ò\90\9eÊÕU2kPæ!¹E\aù;\10U¨êáΦ^G±\b+§W\8e\16IN¯\8d\92Rd'D®DÆÇCý¸Úc¬\aXNT\98áìDÛ\10â Âɰçq²l&&9x¼|\a±\16+¡fÖK1Ì\ 3ɱ:ª\83RJøZ$8\97qÔgDµ\12Y\8e£º%©\e±#,\1eìöÜuÀ?Õ7\e±(¬A\84§%\98ççD­\85Ë.áhl²2}íÈ5\0ÞEäåU\0²m:Öu°åM¡d¤å§[NT¤,ª\87[\8e·\9cª¨Lxm\1d\12\96Ϊ\eíº%ª\92ÍQ5\81Q,Õ\92ÍY,ÇGÝ\12\97G\96\a2·@\94\81³o&Ímä³\1d\ 1tKP%\98è\13¢VÒY\8e\81º%RK:±Öp³«\12ήu ,ê䳬\1di\v:Á,Üε\ 5\9b\99\ ez\v7Jm¢Z$ʵvÌ\ 6·á÷Ú×ý\9a\9aüöeMã*Ñ&     ø\7f\ f¡ããËràw\1a\9bÕcïúô¾\ 3¥\7f5òØ\8drýWzVßp¼5iÚ'!6\89ÉOÞ§a\fí\18D»F\11\ f¼³I}UÝ¥/\ 3v\89.\8ef\9eß}\95\87²ÕàiX>;D\99\ 6Ñ&\95óú/ýLÅ eûApö\8c$_\1d̮識,øcúÚ0\82v\88»\9eá\ eç\8f\8eá7Ý5\92\96\9e÷\ 2ÚDzÑ\17sîçãx®)¶/\7fG½ð¹|\11×kS½sìÍÛ9ø\e\9f\a\ 6ùjS²²öZ$Ù?÷'8;{ÏÕ÷î>ï\86ëË¢´pü\15;=ÆÝ{íøí\1cÏ\ 4\89wîYÛÁ=dãï+´\ 6Âv \9fûXq\11}%-\88ý\0_zw/µÏá'ª;þ\89{)Ý¡Íåkîî`¹\8b+ï»Ö\18¹yì\ 4ÇkñÅQÖ;Ø \18\1d,\N¢¡ñY\1e\1avj~¦v[%Õ­Ý2új\8f\97\aÕÌý\1a+\1dç\vÄ\83ËÝs?lηªý\97ûÚvjûK|oZ5Ó§*¦é+ôÀr\1f|\90\7f\13\9fç~\1a\19I4ÒO\9aJ8\9dÜ·\16÷~h\89µÚ\1d\16i*WË\14,\aèþÇ7㬾xì­ÿá\86+ÿÝ\85\83ÿñK+³ïu\7fý$ö¶\89B\8fü%\ 4¸·å/y\87\89ú\8esò.»Ùâµ]l.FJç\9epüãª\9aúïÖÑ'í´J.w>Ívճɾ>éu\9aè.\a\92\ 6\19¢QS¸gsv\1a\1cìêë¦e×\85½eÖÚ}+á[±R0oÿ/åÈÂpâë\96E;\r\1f&¿ÞâÀ1³Ôôu\9aIþΡlç\eðÌEÝu\984ìf9\1f>Õ¢P˰}×\1dUÖoÈû\9eTº£\87\81ªnZ%\ f\87\95\eC­m¢\fsh\94*êzÜìì;mQ÷{ðéí»¬\væÝ\ 6!\16ÕüØ»\eU7oÙ4»³U/\8d\9eä²gZ¦õ\ 3¥ýîé=ÉhïþZ\1eÓ¾\8bç<%ìÑyCyè\rç\18o8#y®7\9b¯\87õìÔ\7f\99á³#cÂ7w÷·\9a\86\9a­ÄÆ6|¾LT=£]\aÝÖipÚ«6w¨Ý­\96êä«=Þ\85\ ew¥ÎùÝ×îª\1c\f\9fÛ\95l²K~\1a\17N\ e\83\fß»tñ:Êb\97\9e>»ä¾k)=Ó«ÑvúØËÎæ{É7\1dÏañICTæ68¼4o\9f\vëïq¡$.ø\14\8e\1d(dðpvå\9e\8fÍZ\89\19Ç\jß\8d¿\12¿¶ù\ 5Ð\88Çáõ|ÞÛ]µþy-Ó×\1c¯\9d\8bܶë½\e\1dÍ¢\1aJUö\7f\8d¾ê=ù÷ûNÔ5\ 5\9a+\ 3عs\15ÏõoÖînÏhñÒ¯[\ eëÞr÷\9e\8cã\96\12w\83¹òn=êç\13oñi´»ÞbÍw\ 2[U,Õ`Q\9dM\83\95é*\9avî©ûs\99<u\96¢¿\11}Ùºa&mÖH]Ö\81ó«\16\9f\1fÔI¿uçIX\9bú\1e\bøï·\1fZÜî\93ë»|\1f¥æzXý_\19²2Ïç9f\7fcPùª²Mßvù^+-d·c\14|ðØm
+L\f\1fsÉyÅâð¸Hg:\a\88Hë±Ø_\17å¥O\ròk\92V&|\8a37Î"ÏÎk¥)      xîîê_\8c´»\1c\9ewyêì:u°°\16N\9b\8f\8f'ÏÏB/\9eôßp\92·^]çsl\89;\7f¬ì¼o§\9f\88\1e\8e\96\82Ý\8câsu¾\9f$ÿ?\15ÝÄÜ}],m\9eç\9dÃý\93²Ð]<\85\91+÷ÞèÖó\83^Ûõñ²júÖÜzkÇÖøÕ_ooS/\9buUÆ®îq\17ͼv9Ö¡=\v¼ú{xN[w\9f¯ñÉqºV\1aÜ\94ì¦ãcÑ\9bª[¶÷ì½Ǿ·\ 3ÀÝý\90ÛÙ\87V\12ß\96ëoÁÓªìî\9aôüï¶&ÖÿÐüvÙ\1ewÐã^ê%`åÕÈT\94Áö³KpÚK~+\18¯c\7fÅF©æ7vþ\86U\r\1d\7fjsoÛªlÊ?hÖQóµ\8a3\98\8f\12JÍ'     >'\ 5|Âùy\18xL¾>Ó\r\13âñ±u\89êJ\17~|}þ7¦ßÉ\81ëañÝ\8dç\9fÏà\97ÏÜe÷uN\86~R\býdüþWGÍú¸\9c*\a¯\83ÅØ»øpûîn\1eù¿×õ\93în\17KLªî\9bºº\ 5õ\86Ý·é\ 2×i\82\8dJùÃðAv>\1eÆ\1fcàÏã\7f\86J_\13sÏmð\9c\8a»\b\9f;\1d]´öq\1f\ 6\97\92Öþ§}¼rj­Ùkɾ\19u»Þ-\81O\ 2WE\7fÜ;¥Åmð;\ 6]\1e\17ðæNîXêºV7M¯_\ 1)ÂÃj+Þ(>ö§Y\8a\8amÑã\1a¶Iê\1a\9b\85¥º\8a;\ eÙ\11\1c\9b3\ 3ÁÒ¸FËvv®ÿoÈõXÝ*ÔgùÚ%rý\ f¿wàêäýîÇQL÷;\9f\9b}ìÏx|Û~¶#\1açZå9Kæ0\15íçé÷de1Ù\17ýÝW¹\7fQ\9d\87Å,eÇZ\9e\17\ 2¥%E\96ª\13åÄíp¾n{,^\12åÌ\86r\8cì¶É÷ùÊú7¶     nÜ-»]¯  ^Ãì<®PS·WüL\aS#\8d·Àâ¹»^­þ\7f¥
+§°÷F¶\82ÕzÚïö\]Vû¯\96æJ¿÷Yn^\1cü\\ e\ 4\87\v{ÇxÑíïZýfáÙ5¦w{£OÑåXo\9d\a\ fÒ®{ñ°»yh\1c'\11ª±\88Ái\1dñÖ+Tº\9dÇÕ\9fUìv\13_ä|\rVI?ÌÌUßô3\18·7\9c¡¼äü¦c\ fþc1Z\7f9\98³¿¤Ø¿¬Étî\90ÌY=¨½¨/&\9c¾pM¥ó\877\9eu·þ×}\ 1´ÿ.o8syÁ\eÎðo7³y¼\eÍÕ\rw7\99Æó£ò\19O\97\9bÏ\ fܨb£¶¸}ôG\8f\em¶~w}v[àn¼ç±       µ\e>\93
+Õ[\95C\80QÆßøÇ\ 3[°ãæ\87\awói)\a\vðÚ]0c\87ós=ϰq:Ô5½Üq|_\ 1óÒ8ÞKÞÊÔÇ\1f\92²È>è_­Xþg¦cs®ên{¸\ e\17ÅkðÔ|7ínfá¢è|n{9/­²\81&\ 1\85J^;ø;pò\8a¾\18\9c\14¼E'Û×Ëì\13õu\11>\1dDÌÎ'QÛÍ¿Ëø&¾\89\95\9c\9f©S¶:Çݲ}y¨\98\1e®ÊS\ 3ÓÎùâþ\v;K\195ü63\95ö¹I¼µû\83ãSC4ÿ¡Øt/0|tø{\r\85Â9·w_z÷«\1eÿ«\19cºÔÕ½^¯y\ 6ØMón*/ßãp³\11Ö8\8d\17Ô\7f\aWt\85«ìaØÝ8ZËÌ4ÝXý\175Ù>\9a~:ÐÝä\87\93Å7¹LëjÊ!­U\95ù\15ÕýÎþRÏ·Tçk\81úè.×~>§\ 1ãÇ{ø\8eþgå\89ÇAë£\1c#'3J\1a¦óÞ\86
+(kƷˬóËø£1óU½­\83¢2\aÊ\84ðW\ 6Aì«n½á\90½ÿR?02\1eõ¹]ã\19\13«N¦Ý\f\8bê.õm°ÈÝW1\8cé\8c\8f¾µ5ë\ 6HåñÐ÷!\92|ô¯nì2WÙÜ2è\f\97ã£þO\10É\9fÛó9-\197´T¦ë£'zJö'\982\7fÎ\81ðê\86PûUÛ»ÐÊ>ç¡\9eb2\97  ©ÚdFSâ\9a\9dïÃ*l;zühʼ÷¥ó\802·¹½TX\f¯ìû\10½ñ\966û6âÈ2Ïp÷½2C-}¶ï\ 4¸Ë\7f\våØÛ\86\ë»\ 6Ý\18˾;2×B2÷\ f\8dnm\19\7fõYy×1\98\1a½\81\19\87ü¬\KøÌ_co¥ú\ 6cúð{f#2{\19\\8d´f_¹µü\9fÆfÖÚ3.\ 33øf¿
\9a4\8f\ f»ñ\9a}\ fÏæ\9d\19«x\97½§\19¯ªü\1e       ñ\9b\94'Â3obuÇß\ 6nå¹»ë0Íüäï:Xg\ eõ³|¼\8cã騳ý\81\9c½\8aíGÜ3\9f\a\7fãqFtù\12\ f\9d¡\9d|\87j\ f"3·¬\96\95\9f\19ßõJø0C<pVZ¥Äg\9e#gGõ\fõ÷­xj¸Ï}\82³\a\\19óîð3=q\9fw\1c\94Ô¨ÏÛ½ê#´3ÿ©ÂW¿\1e]¾¿ÇláL{ÓrÙ¾mf\8a\87\95?\94éþ1\9cÜo\7f-wÊ~{ÜuR#ëÃѧ×ÉNjø¹H6ݪ¿<ºY+\85F°þçS´)ÇÖ3YDµÏÏ#Ô°hݦÞþM\9f\1eÍ¿\97ã8¶Ëê­«Õ·êx\98wK\8eéößÈ\97\9e⯱ea=Z\9b\ eZýÞôOÛ6xîF\ e©}\7f\81ÏU\9f¡©\99\1e\93?K#ß¹\91õ#ü\8fò?Èÿ#ü\8fò?Èÿ#ü\8fò?Èÿ\7fù2õ¤'Ý\97xÙy¶Bª\9dE{ÅÉ\91U8ÿÑU,\8f{:\ fÉe÷/}Ô\17¹Ü\9eÛc¶\94ÛKm¦6Ó\9biݵ\ 6Ú\87l~Ú\8cª±~\8d!AW95\12mòuY7Y;\ 4\9bÄ\9bÔ\9bÜ\9aé;Ä\9döN
+O\11'\ f'\19'\97\93ÎÉè$ä¤Ñ\9f\7fú >÷\17Ó}\9aV\8ak§¿\94l{\87Þ\1dæ¾ï?\92
+ß;Aê[¯ÿ$\95ÞÒ³u­©¥gÿì\92À\7fâ\96\ 1ZVÛµµq¹Uî\ 6\8aNÅsÎFß÷_g-uI­©£(3\1eéºÍK\1dþ¨\10®
+\1cã ®T¨^ßþ\b\10¯/-ÿ\95ñ'C»ÿÅ\b\1a\b\10¬uÌ\8bâN\1fý\10!\3aÇ:ä
+\92ËÝr\1fÕ\ 2\15åÅ ýÆÒùÿD\bV=>¢ë¬2\v\7fU\13ÿW\14ÐDz\f\fÞ\7fÑ\ 2\15É\9aJÐóþ\88\10¬Â\aÛ\8elÍÇ}\99m%xu\90+má)²\17r\16Ý\1a{®à\8e\ev¨/2~)°÷\0¶¢ðS\17¤TÍ1?XVÒú\98þÜ õ\ 1ß"8â\eªlÍ\95¾A.Û\88ïa?ïN\92\13|Á~ε4[Ïk³\1e\81\18\9er6\95Ò)µ?9
+¥¸ª\8aûZYاOb\18mam\9d\92¢×Ç¥\9d§|$\\96\8eÞ\9e\17ê9\7f6\90¢Þ+\8dÃ\1c%\8d\15\vbÍÜÂÍÚWÔ\16ôÇù¸\1fúÎòHCÖG]¹\861a\rÆVáų¼Ö\84Pçö\94'ìHç\ e×È¦Óæ\88\eHìó>Ä\92®¯5\9a \95@a      þ=\Nj\95¦ \983ã÷/\9d¡\11·î¢.D.\12\0èùIPÐ<1È\13ml\9c\8fÕJ ?¤;ðÇF4ð¨\e?±í\82#Ô±\9cÅó°ÇÉB\91!ó~¦\91\ fòjîæ\b\85ï\ 5Ð2\1fa$mpt\aÜaHXØ/w\9c\11ùF­½L`\8c\ 5Þ\14§MZß6@B\8c¬*\ f^#©\97ö½x\85\ 5\152\14\14¢Nb\9b·£@dò\96)¶>®Ù\97(Ã\RÉÑù\8cÖôV\9a¸\8bcOqñ.ÏÅ
+.°P¦\14³Pv\96w\8fÔ\90+cè6\9b\88û¢{\18@\92b\99hBr\82ö\ f\16\94®Ì\89x>2\10Éi\1e3\fA\16'¢|,#74jÿ\bÌÅ|¶\85\94\8dóé)k¾{ì"\ 2á`¤\ 3¿a pQ\1d\9e@¡ýYE:\19\99B¾wwWÌÇj\8d\9f3\1e\9a\14æ\12c¨Ó\98I\8e\87N\90èªîó¾F¸\a(&è\90\90 \13\89Eq\ eÐúW1\9d-ëé\94h)«ºï-\82<  `\ 2~FP\7f
\12á¼\1d¼\ fÄÊ\11\18òÈêj\f\88 Ñ³\12\9bÌÓ\80Æd¤n\96\a7pâU\97\15y&+A"\96±ú\89Sî´¦Æ\0\9b\8b:\ fQG\18'£/}ª\ 2;;2\fîýHËqp96d7\84\12 <\8eYôpd\1d­Þ\90I\8a"\86Ó\9e\8cô\ 3JÕª[?fÚSì
+ªÊõ\85\9a\10\81xðàßF~oldضÈO¹Õnú3\b;'éJ}pä½\81+%¼¥Ù' É`ßï@e§!\8c\7f`?Vg\9ekÊ"Aî!\1e«ÇÓ­>ã\ 6mÕ?g\92VÐT++¨6\r¢.Ô\82ÞN\96\93éE1¡ wW\ 6gJ{&UÌÃíR¸¥\17%\13dô4Î{\eË:º;\84²8\89\9dÆ:eduX\89\ ed\88g±ß¯\13j\1f\v \90M\ 2õQ¨\92ÄÔ×f=>b7¡\8a27\198´´N$&Íè\9b\88G¥Ñ6@1ý(\9a\85\bØðG¯7¨\97\90\80]Ç5\15Âd\OÀ6{\14\ 3\847,ýAS_áøv¡\9c\16¯s\9fl(×\8bÑ\88Û\13(\10ÞÔ[Ñ\8ap\13q¨¦ È\90øyã\16\8asçóð\85â·Ï¨\17\1e\929\ 3ö\15\8céóøD\f8¡s¿eÅ\ fÙ~øNÒ\97        ö\rñ\7fHñÃ~QK\88\1e\17\922<z\9b\f\ fßZ;êP2¦VgPI.\85\9aÏÊ)Áç©Ý~)-;\13äBðÂÝÓùN9<G±ÓC        ÞoÁ\1fXSòßÂ.µ#wH\7f3hG¯ÝB§ ¡\84ÛSâßTGu\9eYcÊ?\92 \8dûJ*´Ìx»6À\ 2E)rϺ\86\98\10+_0å<M¬¹GôÈ&üº`\ 3?¯k\13\87¥:Ìæ¬¢Ó\vÙÑX\12º\85\83á`\8b-\90ª=Ùb`[ß\99\86Ø\13û£|I´÷Is¿\14NJ£èªC¨j\7f}Cå\1eßþÌ«£PR\99Ð\82       \82C<\8cgz(©\91\1cÞäNfm.Ü>Or\98\9f\1c×JX#?\15®m \97ùÄ\8dÃ)\82"$\82ì\84Ñ\ 6¤\ e\1f±    \97ûZ±Ú\b  x\81é=íÙìü©\9dÆ%¼¼,<\ 6u¦öR\99@[C[:\97\85áNH\13ßpf(ÊÄk\ f\9d#Ýkf.%\99¸çÓ\1d:¾#%\1fÚR ¾íì*\vÌ iW°Æ-l\8aë    ÉsìÁ\fÅ«\17!\ eE\vЭX¼.6ò\9f\8f\1fVx²'\18<Ï|\98¾ŸÖj³$ÅL\91â\9c\93\88\eí¶"\95¬ÐdyÆi¼\84&ïÕî}Òâ³:\95¨Åh)yaúöF}Çt¼°æ\a\95\8dc|!¤H¶t=\90\9c!bâ2y\v\94Î\9fåÙ\15½¹\86V\90PWtNÅ5\e\12g(òç-îJ\9f9
+\ 5\9d>x\8aHÑ^3<aóÐúã ç\91:"   -W·?n\8bÂ{4^àÉb\1cÒjûá-ÀDL_\17Þ\15È\ eht\83\8eÁ\17E\99F\91!í^0'÷\\8a\9cÁË£,\89\9d\1ahÉ]#úº\1cð£øò\ 5¯\ e\9bøÑAñ\97O\84ÿK\89
\8d¡mð\87ÔËo©-½Xõ\84\1d3Å·À\1f¨!åîé\93\8d\12S¾é\ 5r\90¸àß$/_\18^ðGà*E,`ä\v$åÐÝ\e,\93\8bwc#¦%qÏdP3ä\93á\88L
+`\v9ïÙã\9a\13\ 2\99)\ 4\13\9e)\13\1e\84¸MÏó"
+Ak\8c*cÉ+Ð-\91Á3ÙîþÞal ­ÏÓø\8cùk¤]:8°á²¤\81^­ÓÌ\7f\9f`^o\b<\89ÿÇx*     þÉ.ɰ\ 2ðîó>R    ½µ ÆÆÜH\9f\0Æ&\1ac\1fíq¡çÕu¥:øá\84n³&ÙÇË2\f´\1c0+\93§ü\9b\ 27£Û5.\8e)\14éè|\1eÂ\99ä\9e\ 6cq\9c\f\ 48§Ý\ 2î@ÓÝ\8f\98F\)\18p\91gMÀ^ù½öSHc\95âã\8e¤\e\ 4\7f\16\f\92E»0\9b¤\f#P8G\81\94Ú\18G¯^\86\10\ËÊÿ"\89±\86°È]¼þоÈ\ 2IFñ\v\15ÕÖ^2·áq:\15\9aò/\8bñQT\ 4Á´LðecC2;kGëËìLîî\v\85\97Ø\9füX'sÂ\ 4¬'n\ 1\89â|Gú\b\19
+«äâÄÒwH¾ÖÕ\10­ñ\8bâWÉ\14³\v\82ÑK)¨\ 6\13*\98R)\88¡1\ 2^\16~Ó<ô\87\1cÐ\9aDx²\9e\94Vw·Ö+åR±\99\80µ¶Dª}k_*¡\94Ø\96׿\90xDñ2\11¤u}ÏÌ|\ f\93?{[ë\17éU\v­w#¢\1fß\ 4@\82ã\9f9~\10û7 DB
+¹M\19ò×â\979PëÔÐ\89\8b\12\9a\ f\8a \98Ã)µÖ\e\91IJ\80HØøÃÖ÷\11µ'ª\98È\99°3\86AJæ\19\80®\12\b~h\   \13\15ZsîÚàÜ\97Ë=\ 1\â.RA´¨I\ 2   \9cPl\1cªHõºä\ 5¿HÏk\ 2%¥R}\7fÅòA\8eÒ\98ß#&D\99v4g÷õ¤ÞM\96l\8aCÈüáN|Y\82\9bÒ\99ÔÝLP\97\1eº\12\9b$;áô\rGÛµ\81\82-ñÅÅ®Ì2\1c\1f!\8c\91º$?_­C\9b\8f!ö?\ 3\9f£Ö\8f®Õ"êâl b01él§åõ¤áÇ\MwÎ\17ÔI\MuÎ\10\81\8f~²¨>\b\93>ç    ì\ e}\9a~²¹¤\ÂmÖ\ 6=}\96\8d\87\r©o^"Cû>"\9c\17\rx\94\9a\0kYÂ=573¢\®¬[ÄQ\97\81\91^ÞÉzÞ\96E0¥\ e\16÷Á\väæ\1d_\ 5H{O³o9t¼\fÌó2:Cígñ_\vAEZ1ÇÉÙ¾
+[\1c=®úÏÚý¿¾\ fª\8c\9dóõr$t­g\1fÎ~Ü\8c\14  6¤h=&{I\9eyÌy\93IZÎ?\1e\e²ÈÝÒ<ó\8fÃ\85\8b%w\ 1~Wr¨\14ô´¥\v_öu\16dv\1d×¢bN4bY#×9á¾\92\9e\89î:Â;ŦR7T\84\84,ÀÂjÿ\15'ú5b5Ú\7fWÕR³uÍÍq¢n,?\14\91/"AµW\ 6ƦÃÐ\92$¨¥\81\ f°~\16H)Ô¾\e0ØÐêQ±èl\90ù¶t¾Úq>6È|TÜ\84{Y©Ýcêa3Qv\9b¼\8aõ\ 15)"\16\118O5¤\12-é¬0\ 5ëj\ 4r\ 5¥¹ÎD9\94Àíz\17â×Ì÷&\83\95\1c0ɯ3\14^?kêÛfûÏà$n4en\8b"\19Ñ\ 5¨°mQVÞ\ 4\17RÉÍ&9\ 6ÜLTË@·\99\91\89\10ùIßÎG°¼\eèHàjª\18\v\93\17±\17\1d-t\11½Cße\0·Â½eÇ\96¹­H¢\99\ 5"-°
+ó-è\b°¿zó\12Φ#X\0\8d\fxËë\82@\890¡¡^¤I\14Ï\95\81I\92&\1c7¢q\96Õ~â¾»ßòm\ fìÄW\16Ø\ 6$H³Ò8\14\8c\8a&§/\11¬&\18ÆÊbñz\ 2ìz\väm\1ev\ 3ÍG\18\9cCêé\9a\14×F*\9e.\8c_\9e\ 4QPPÊæõ\f©rÈá 9\9fÞ¡\9e\1cÊ\80¢\17\96g\b@ü-é,Ì\90{¿ZÝ\10Þ¹o?"¤7°T¹!\f&qÈÍââ\13¯\8b­mÁ6\8b\18\10Ü\9dµ·.XúܹoL¸bå\8füñÚêÖÜ.A{\84+Ó¼\Q+dR\87Æ\(\ 6S4IÃJn£Êk\84º=¸×èöÊ+H\93\84\f=)b\93\b®bê½oXh!¼Éb\Ku\12^y´n¸QJ±Ø"äçå½\ 5\99\96â\13\19^±$\86W.\91´*`$\r˼Kk\16áß²\0w\r     Þ\11\16FiÔ\8eh;îö ¥\9ag"á\82Áð×ÇÙh¨i\9c!tÿöqMb%\96\vÇ\1e\17#,<\11Ī\87\fÒïA\15á\91½$\11\eZ&ô_g\8cJ\ 4\b@\98ñ.ÿ\98ûx0\83\86p×;ÑÅxVúr*&®G$c7D\9c<Îþ'EÀ\9cþhq\13f+\8dºþÜØ¡Î?¡ç¥{ºÞb\91A͹\86e\8déTØ)\9bC\ e]\ f\9bá\92
+ø"è±:~\92¤H\18ÁÕ#Å\15¡\ÄFQ^í\ eÃ&¥Ôè\9b\1aö/ÊD±0SU\Æö¤6öT¤\9bwW8¥ÛÇèË\93o\12d2\11àü7¨\ 5¾\88\8dødY\euWðdË\810D'\ 4·\ 2 \1a,M¥s\rúÛÀY'\8aw^Ç<µv\9c\83Ö\8a׳>ÀHx\ 6<æiO\18\8eKì¹d}\1cëzÑ\e·\9e£<\95og\92¢^d3ı!|ÏþyX\94zÿg¦\9f)m\88öLÿG\91oòr6\88^às½Ï<Ì      WÙ¢ú\ 4Z7!\97\ e#\9f\9eËYúûÉg\87Wè3Óåe\14\99{\1a\1a+`\92E6\86eé\:ñm\84\93Eob¶ÀÎLsO3\82U\961Ü<ñ\ 4¬\1aY¶â¯k£\17\92ï÷\9aô%óÛ_\99s\ fZ\88\8f\945¹Rìǧ4Aä;\18gÜ3úå\8f¸\86J!\8e\1d\82\ fü&'®èò¦~\ 4ÓTÎ¼í§¡~E]\86\fJÙ½1\91\81_'LO]m\9få'¯Û\1f\8d\11î\1c~\9eæðìù\a±WßT,{í$(¼\ 5ùÁz Ë\85\v\83ÇÀø\88IùL(\10à4DJØø\1f$Påή\14Þ¢¬Î\99\9a\92\8f¦W\7fÇìh\86P\nYR+\9b;~\14ÃüÙ\9b\9f¨\98¿"xV8×p¨\14ã¬UÕ²¥¥P\99ìª]\1e¯}\8cgèÛ-(\19\1cf\1f\ 3P#?0¥\7fUîα\ eÅ\1736:\82\ fO¥aªK¹ý¥Ì¹\ 2\1fú×EÌ_Ñ8.ß\ f\9aÂ\1f$"
+¼¬)J\11\8bÊ åU¨È!º:aFá\ \89¹\1f´ò2e\98¤\1fJt[Îbi\97­\93.\b¡ÕQõã\ f³?P\87¥-Zå<1\17\80çO¼\ 5Í\84ÛQ=z\9dSä¼\85ô\fûUâY\11T9P»aÙa\e[äEý\rÒ\18¹\82ý\9b|\9dá\ 3oÏÎOoØÐ\1ed\97\96\19Ì\ 3ö\9cY¦·ÁLx}R\15Ò+
+äÉ\b\98\øtP&*l´Å Þòf k2\0×Xex\0$Uk\15\8duB\vÉq÷´\8de ¡~v{\e\9aÀ¸µ 3Æ~´åm\1d4ÿÃ\932\81\909Î"$\ð\89ÜBc§Ü\8e\9f§\ 4¡tÝɼ\89\96?(\1c\1e\1cz%C¼uPòß\14k9ø\e×HÝ]Y©\80\0ÀöåÀÉ@ÎÇàª\85úÄÎý\1f\15g?o%L\1d,=ÇÜ\9e\8c\90G\8f¦)ãĹ\18$\8bXd\89ï@ÀdË o\8d\ 6ô(¦lÉ\88{\86 K;ÛioÏMd!\1d»ÿ!\8f« ¾µ\11ïó
+&F~bú¡{\11\ f(\83\9d\0îR×0ü$ÞL{hî\8cý\1f\ 2 .!ºj~\1f±\ 2)ôÌwá\15áq\9fËùÊQ°\90£x\82|Y»k%Q`sR\83\9c=¬n;¾¶fS\10Ôo\15-\nÔ\11\13c\9fàª\9b\ 4)ü8\9an4ã\88"*\99       ¸z\10Bn\b7ßLFñw0jKT\ea0×àÓ`\95ö¡F8£È\ 35\eì\1f\9d\8aFESàXFx\10\8aíX\82\19_P¯\91ì\1dR3Bkb(\87\13\82~v¼Òèë\1f\9d° ¯È\17G¿\91\7f¦:\86¨\93\14\85\8fXº>âK\9d\80.o!(j}Æù¹\9cU\7f´»OÄ!F?\8c»\8d\18þ(\86\vÛ)Ýò\8bº\ 4x\bn\7f¬© ý0\vÍ[Q\929\ 3È\12\957\96\98\8dyq¯\12\8c;1,\81 ¬Vß\14\1c\11\Ix|z]\98\99\94»\12â¦4\999~J\98\95\8aòä\89³Qãå\1f}#¥3É\10Ê\96\9a{H\86cMÎ\1d\0.F|\91¿
+¿sõ\11\83ñ®xC\ 1\94.\ 3%v1(ªTß47\9f\98·\9d]ØÉ¿\ 4Åæ&\ e\15\ 1|ÓÖWio/\18S_\1c\ 1\14½{å~%¹Ï\80µrlΩ\1a\ 2\91\e\f\c£\10NC\b\enO\7fճݼ>H\1e÷ .¿\16å!÷/\91\98Í+ï       u_\9c^5¦y7ga\16\80\1db\96[V\14\8dÃËäݽä¹\a\ 2^\82ä>«;ju\91Â\97¾·\92dyFäC¿´\ 2"\r\a\17\7f\1dB\890yQT\ 4ó#%¦[\85L¹v*ñ\97\13\8bÂ*\0\99b!ôDT\95\85ãòB\8dê¹AD¬¼}ÉÍ]M\0»îÓ`\1d\8fv\0ê\\0üî\94£~a4:\10-\ fÒi\7fW4Éî3FÐ\1eJéL¾Ó\18Ù\19k¡d\1dídJÂy§\8a±\86\95=,\8a®\970z4\84>2\ 6®Õ!*íF\91Ä·¡J+M\ 6å2PÈ\ 4¹\13\99 K> 09\f      P÷rïa«¢\9c3Æ_Ò×\17qB\93KC¤\13Ö\18]\19êÍéîD<FÓÅV\ 5
+\v¬\8ap*6½,\80Ì\92X(Ü\83\94'IJ6e³\18IÞ©«)êÚB\1du\969\93ÜÈ=\863o~åÔJ¾\90Ó²9Mµ
+)Ò=ÄÖx\1f飥ÀÏg\81þ!uBUÈæ\7fÊâqY\90ìÕ \93\ eltI\88 \17û$®\95ÝS yö\8eÒ¾\18\ 3LjxªÉkF~M\18\8b\87îL(R\bÍ
+²)¸fq« Ýf)\19\167J¤W\88D\1f¿Ê\8bòCUÓ\bõÆM3\11ê\ 4³dM2µhÍG>\\ e³K\81Î$C\ 3©\8e\ 6ÏUï_óÕw¬Ð\8f\8dT²ÿ¦Ñ\11\10CXòñ*ÅÀ\1aØÛ²   \8f®|¦(¥\10¨¯\13\84ñ¼]c®ú\ 4Ä=5\98E¼ô       \95\810°þè&i\8bìÇ\87Ö\9acÜp\99³9*\85\11]tVf\9d\90ôÖ\rNÅH4\19\89\85éÛí1\99¸~Qq\160<\7fèDI­ÚnXÀAäÍà\9b'gúô%D\9dK\98Ñä\e\970ã²Þ|\83\e°¸."=h7é\18O+\1ekâÞLJ¶=\81\1cÉ\96ò\96\ 4ã\ 4{¶uò\15¥\9b®@ã2*¤GÐþ~ãB UÈ^b;\84ÈP£\8c8
+vgy"¤S\85\1e+¯vɸ\97g»g\96\19?\98óÎ\fp\8dùÿ#¡"TH{¶RDw       \84\ e;\15X{z\86v¾Å<\89\97¦;¤¿\8djâ½QÊ\ e¢q\1c±Wß;\96ñïèFJ!½×»³i;uRYe)K     @*AJ5Z\ 5\10\16\85\ 4´\80²[({BRÐ*
+&\ 5À\\1e9\10¶A\15\1cÚKBËë2¹s\87*ól¯0î.W*\ 2\ 6u\80¥ "\r2àÂ\8d\ 5sèÄÈ¢ \0ÙûÿïßÞû% áW/\9dïyÏáç;ð\aß;ü\1dóÎü\v÷à\93´ð\1dl¶Ûd¾K\16ÁÝÉîsÑ÷cS°\99\8eGXÉ´\ e\16JsÐìÈn½\ fû\8ex7ÖM£\96\86G\10\e\11?x\91\91âgþ\1c-\1cËÅ~25A\89Ñ\84ü\11ÜÀW}Ý\17g>»\fOø}á?\81Gª¬î¯Þ¹\1c§9\12pÔzô¦l
+±¦E\15Òúl u\fÛ×x\ 4.\96vR­ë¶d*\19ÈÍOã¤[éÈ\93\91Ç\ 2ÔÛnßijo\ 3Ç#\16.øÉÿ:9¨î5ĸoã
+`_/\17w\12ü®:ù;h¤\v\19À$:\1a\ 4\8bÜ<VÅ¥ØÑ¯PrÆ\81Êfïhú"w]ÓI\e\bÃîQV\96EØt.g@\14\99\8f\95\96Û0\93þ\14\81¥Û\89[\17Qc¾\88ソp«\96¾WZ>ô\93\99\9a=z´³8-¬\ e\fãï1\e\89â§>xm\1fþØ|\19     ÛJí£ë½\1a°Þ+\r L<\̤Òé¨\95»#I\94\90\9dÞh\81¡\18DÜ`tÖp\9d´i(Mä\â\eÄÄ9Ê)ùÇ÷gjº\91_G\ 4Æ\81\91\98\8f\92T¥s±o\0\19½15\9e£      WL¨(k\8bYí}½\v&Zþ¨Êì~×D%uÿ\82SÀÊ­vD\878[g4K\9b\bÌ\eC\8eúÓ?¥{¦I\9e­î¹\8eé\15½\7fë4/\1f\ 2-3x\1e+(ÄB´\r%ð7ì;'\98¹\90\1cíD\93\ f\9c®
+-TUê?  \9eù[¨¹°~§\ 2\1d\16{B]\90"
+¾,î\12M\9b'¤£ÑÐÆ|Òï`ß.C¦_5q\93\80\8d\94\10\84\1aè
+0\83\ 1½fµÐèMßýÏ>¥QY1<æó\ f2iq\9fÇ4öU±7\82Ú\bSo\ 3±#õýê³\13ä\87\97¬±ð&¯£$ú2Ò\a\15H\7fÙ¢\8aÊÉ
+
+þ­qoEB\19,fhÕª\9bHÄ9ÌíÃ\9dÞ»3à\ 5ÎëJ(5*Ü0\92¥\1cî_»^\89Ñòu\97\14N\89\13¢tJ¯Dèäè\17êP\83¥\9a\vÞ¬I\91ÎD\98·ÏýËü
+Íp\8c\999Ù?îõÁ{ß½\84Û\ 3Ö              \9d\99Q@LÈ\8bÍ;F¬Ú\13\7fÍævës_a\nJîÄå¶«\ 6\84Êh%\9b¢\eô{.I\13f\86UxAn¹^ÞÂq;ê4      \19\1dÛc)À\8f¦?ÀÛ.`~6\94§]\0Mµh\11â?J\11]~PL1³\rø&ìiTNMÚ¶4naÔðb7
+¾|:\87\85lU\95\87\94\84×pNÁ\r³¬»&U\83\85ÃACa\14Ã3êüкdÁn\12]ðù±'²ð\85³!ÑRé?\ 1\7fZ\7fOÞEÊK\r\911\9f\85\18\93G\85R\16 :üòÝ+lßWy¶\8b\94\9b\1f¤nònjßl\8b\81!\ 1,f\15\11
+\9dÇÔ[
+[ª7¹Ø³Ó\16=\80âãú  otùè³\7f\85\8ek\11ë`¥\rÈ#=º]A\vÈ\92
+Vl\8c\9d3Ý-¥øÈl\97>\93oäOsa®{°\8fÒ{{\12\13þY^\eR¯x[óØ\18\8bå §\17wÎØô-q\9d\80>éñ=\81(\14\99ÎÁ\92î=op·=ñý.l]=4y;\ 3\91\a½Õ]ÇNMìñ\8a1e\r\83(çJÙ\8frôÎ\83ÃßøÖÀàãªõ«\83rí]ÚÙÀæÙà\1923$ýíY\92O-ßÐVrG%·ø©Ý¢ÚX¤äסKÕ%ó\ 6N\e\93ºPÏu\ 32Û"åe£Î-È\19ÏÌÃÜ_
+¬«¤F
+ÂÅ`êÆ\97¿\12­.úðG\ 6Æ2~Ï\14\1c\89ºõþ\ 3M!6ÿJá¨þ¾AH_\9c\95¨/Åñ\ e=\9b6¿\17^\13­<\16¢{_fÖÔZ¬\ f½9é\8f]\16o³+ãQð\f\8fËÆµå<`¾;\9e\98ñ\84\8aòb`Q\96=¼c­â^ªÛîË\14qíÌ\93À\16<\94ËüL:~]     oËnc'°:ë«Ç\ 6¨Ûx~ü\9b»§\18v\ 53\7f"ß]ñ77vL,®¨åó4\949`H\92æ3ã\9a¬Ü
+~äK¢ ·\88\8dUù!ÿg\ 6o¤ô\88Ñg¡(\94\ 6©­bN\1f¢ÝÁóB)³\83¯\1eZui:\ 1Â\83À\16q\9f!\90EÂ`¶yâïMñ\86\7fÊ\93§øË\1a\81\87WÏÔ\13ú0_\18#\1eô[ÁE`h\1f\93¼©\eZ-tLCr·åÔ\eÄ\16\92o«¡\9c\82\ 6×\ e\89%Üæ`\9c§\a4\887uaÇ<ä£Ôss~³Ä\ 2¦Ktk~±R±f]­oÚ­\12\ 28Rx\94Ã\88
+6\12¬TX\84¹ ¬\ 1ëϯÑY[E\1d²\92C³â#VÀ\16´\82W®X\9dÇ\1a\98×dÍ\97\f\95ç×\O\8b\12ð\97dÒÁ¦D\ f%ÏG<\9a_\eÕvбüg\90¨8©P72ÊV4'[ÏXäwwÕk>\94F®8ßöùåÇ\7f1'ª\92S       ~\84}²Ó^Á>mÉ5¬­
+ÂYm¨E¼½\ 10Äì\86\92¢\r\ e\8dmP¸à\91q*Pì\18\0ç6s\r½,80\b\85\epCO\ f\9b\rü$Ì\11\ 4\8a¾²\1fÊàÀ.\84ü\11Á6\v\97[\10I\89\9a-ª®Oc°4Ìë\88\9c\v\99i£lµn\99\1c3`{%H¡Ù\97í\9c~YÕ5ñ«95\83¾TÜöp7Ä\87Ü\9b\ 5\ 6\eæW\12ÎôH\86V\a±Ö\8b@ö)\13\81jÖÁ¯\81f*¥* *  hÉ\18\92ºÞI\ e°=´\91¼p=¢@ÿ8\94gú]²¼\0cA\8fÑ(¡\88%Ò»\a_ç$O\1d9Þ)ÈÎ{í/\13DHR;)       ·ix\9b
++ýN\9bx\94õ-üÅ5y¤4¸½SP\7f$\85 n\97\råÝ$Í\88 ñ¶n\9c\14\97ù!\8c©\7f\96\95'.ñ\8eÕ¬J¿aÿ\11\9aou\a~Ï/&\ 3O5Ö±Ó{-ø\93¿l\1eà\98½Á¿\7fÑI\ fQ\9cbe¥Et\92Íõ\97¤@Á³3\17c\a½I/\15¡EÚê¤-0ÿÎ!e[4\ 1\9aÛZD@Iø«nÍë\90J0\85¥\9aCR\17\83vò31\98z`AOyÒÇ\84B9Bï\ 6=.    àê\f±J½PQ%\16¨Íáf8\91\8cbS\¾   eII\9f\1a+\9b\±å®\bYÞ°\9d\19»+Ê(Nø Í\93§?\80F> \99\15¿²\11¦Ò\8cÌ\93GuP |£>Tñ\99ÓêíQr¡aÞ·[pIÖ(ÎÝ\0\bKúyÓ)ÿ\vF\ 4ó\ 3y%M\12ÉÉóbIB\15?\991/\95\88\95\99Ä\92H,<`\98óî\18)\O\ 1\ e\1f©Î}y"rÉró©Ãܦ0ö|ðó\8elJÕ%EÑ\90ÿ9Táéÿ³\ f\1e®eÿ\9epâR,×ÃÒ\87\87¦XÙ{\8f\9ba\ 5K\13ª3·¤ì\92#\ftE\16C±ð!$Êá\15N\84eÁ³;ý©\17]D¡à\97\19MD\ 1Þ·Í>Åö\13ñ:¦lí®O`1ßF7dìsl\1cËmºü\972\8fÈ\ 6\8dV\8bÛ\ 24\8eèJ%3ä"§ð¦¡î\11oaü\0Ïk\87\17\85Öó÷>u\1eoO6¹½\86O\16\9eVè²jNÀ;¢Ù\1dݯ\84Wy\8c¨§\84©&\11D\9a1\8c\15pä¬\15`8\95\a!ß¾N?Ê«6¹^>«l\ 6lH      º\93×1Ȧ\99\1a7#L~\16>@Þ\1fÄÛ3|\ 5[¢@\0Ͱå\1e£\937N\93ù\ 3"\9c´\8d\ 5DU\1aE$\ 6\8dâqJJ\99\97lRÞ_AMïµ¶ë\87]~AìP42Tð\11\94ócÿ_\v©\ 62\98\8a\93\ f°/Ó£'\9e¨ë!\9d\1a\1e\14\8bSר[ìn>\ 3­ÑÂZì\ e\16Ê0r\8fñ\96Ùr\18\97"E\96."©Åâ(ßÊÙ1Oq_\9ahMZnC×ôU­\11ez\81î³Ò9Ø\95Ë\fw)\9a82f<·"ïrRÉ\91èì\ eÉa%¨½\83-Hçjû+I\ 6ì\9cï\ 3\ 2$ý3\8d\1d\bAïsÔÒï¥`l\19\892\16¯¦b^X³¼¼\9eïY\81«mü¥\1cPaíìE9ö.ÅJÈe³û\9ag\1563©-\8a÷´b\9a\11hIØ;lOgï ê\8e~Nªê2q\81m/d\ f\90\82çòn\rç`R9Û7­ý&\83*i\15ØÒgìg\bfI­\96µ$m\9aîE\99'`Ö´]p ·uRïî´SÞ\f°ÉgÒ4Uý\\8b¸\e        bÊ÷ål\109YkKlõÉ\12Þ\rûØnàÑÉ\8c"8\10QAêå\9dÁw*-Å\ 2:\8e\v·\14h³dvs"Ì\11\90z¹ä[Íó\12pyºrðø\85\86\7fU(¡âGÝE\1dg\18`*®\9a\8e\a\1eåU8¦~Ð\8d×ð\89Ðd\91ùjüvü«ÞÈ\12¼\ 2ÚGÛ\15·Íõ\v-ÌI¹\84%¶·ï'Å*Ö\87­\11ª5i\9c\ 4üÄçÖÑßQ³Éh\95Rur¡[É"âz\9bÚÔðQÍf0ö6¹Z·ñ®\84ß|\90íæº¤¢Ð\8d\19\12íK\93\ 6\7f»"¹Úµøðì\1fe\88ÛsÑ*ã{ûâ7
+¹f\92É   \1eÂÓ\8b©s\\aîÐ0Jó1çs\91É\8bòþ¦Q»Õ3\0¥9ðÌd\8e²`Ðû>\17àn¼Þ\7f\9dû?´gW\7f¶[¿\9cû÷äôx\86d=£ ý
+m\93$£v´srtJÙ$z"\88\18¦cà%\81¯\1328M8\ e\ 3y¯¿\99'\85âá%ík0iË5´8\0CEh±\82£×\9d\ 4\f\«.a\8dw-njõ\8er>\ 2!\96
+7[\92²î\85þ\13lv9\1am¿\95P\a\11ÚæMÃÛºS?\14Çu_\a\13ÇNlªSt~F$ÐÏg\8b\89á¦ïWÚ%\10±\198\ 5àâxɼeÊ!¶²­ÄÍ'Ê\9f­OÚ\1agWõ×Ç\9b\h©'\90´»\8c¶ü\vü\ 4dgþtãÎ\9d|yuí
+MÛ§Y\92n\12\9d¡À\17Å\9c.Í8³§\18°\8f\7f³aZØrÑy÷¨¤,\94Ú\90!Ópv\9d\99PaØ$è˲k÷ö\854\96\96\93\89$¥ù\91hsrwßÓÚF\9aN¸/ðû\9cÁ¬\87·GIe\85\8fô\88\7f¿§1ì\br¦/\80\\81ð\b¦e&Ç«Dr\11¹tÕ?ô@\9b3Ì/Òû\9fÞ§@m    ;R\97\16Ý4²\8aBÊi* ã¤Ûë(dÑouE\981Tn¹\827EÓÏîË\1d8R5%×Û\a\1d\87U2\91b\93Ý\a\1d<¶Âc\98 yÿÌäý26\16Îf\rÖ9+Áy\ 6·ò\86jSD­¬}\88\93¨JÛGú%³\9aK}z\92¸êÌ\8aw.½2v.\94\1c`h~S@\98ШyE'VjHmoöÂ0pé6ý¸áѹéë\82ÊÏ)8`N°\1db$\eæÌÖõp\81\b«-Äì\91¹¿\8aX´Ýä\87dÅb\95\86\Þ>\ 4s\17t\eÌI±á·§Ù$D~O\7f¤\ 5\94Fbjf°ok\16,[m\96\18'.w\8aÓÖÌ»o®àsõ=\1d\16\1aÄ\1cÕÔJíaÚ´°³wºà»°\875ÃÅ̾è\9dÕñÝ>\974*\ f#S¼¶ØÕò$jl]â·µ>\ 6\192h\9e[8\9f?ù{ïd\8bð3|5èä\ 3%UÛ+ÃZGHÇkh\9aiÈ£1¦¡üRα\\97Ü5ûníQ\9dÄX\fOþ9©\9d\1dÉoIò4+!a²u\8aã>Û\1auß²ïø¼|\\83éMxô{X¹\16øßj»|;B~Ò\89/ì¡Qâ:âC-¾\89uk¯¯\8f!:øÛ­ØèÁX>Z\83\ 3F_\0øOé\14U´ÙF\1a躴ÉÿÁ?\81LRëámt;å9"i\88=Ò訫nµ÷Go­MºÜö\8fî%\88\86_\1d5Ä5Ûr\8cL
+ß1£\9c\1fÙ\97`àWÝ­sô\8e²u8)#\96½\19ÖУ!
+\8fü<\9bù\8e««4P\9d¿R~©Æ\8f\1cO±7Í.m\18%!l0\d\97k\9f\81øÐ\8e
+i(>w¬~\7f\ 1&Ø´`\1es«7bgYé\9f0ú§\15;\ fúTÒA\12{NØÄö¾Í\90ÁH\9b\ 2\1dí*\95¿|O÷¶\92ö¤\1eÚYH/äÖþ¯\80ÏlÈùa\13+-\8fË\ 6hÎ÷úî©\92]àà!M·\18\14Äd\8b ]\1c°cÄM×Yý¥$[lGTsÝ\99'
+\aQ\ 4õZ«dÖC\9aIFC)\ 2~Aõê\ 4ûGÅð\1f`¿M¦Æ§\80tëc®é¶áe\91¼Ååñu\89ïòÅSÂn³®\ 1>\]ù|\10³¶Úå\93GQäUFGl\7f^­Û~¬²]\vÈ£\ f½ríÃx\12\ 5\8d{òé\8a\80\8e°\9f\85/\ 1\94ú{\91­9;R\9b\93xɽvå4\85Ze«\8b\95\9bl~Y\7f\82"\e"¡t\1eÕí§rÇSÉ\81úü¶K å[R îÁ§\91Jál\85P\1f\ fß\11Qv\1f\aC\\96TK2²\8dÐ*\88%¼\8bÿR\aâxw+ÅQx\ 3>¤ Ò<ªï\13wZe\9df¥4L\rXÐÔ\1dQÌý¶Õ\16\8a\1aüeð\fr[¾\rÞ£\f¢²\9fôþÂ\18­¯\8f\81\11Ê÷\9fI}«2îÃv÷\9aÉ\86\9e\9d[¶ý\95%+Fá\9bzÙé\bÎ\80}geO¥m%\95$uäÆ\8aÛ|ÝIÈÍg\91sKÎ\1eÆoú\91Üç£\90R\7f²piÌt\ f?\84²bxT\8aûÊ9Ö\16ðy\88\e\ e\94¸\1a?éÔ\8b¨2×óÁéWè$³Ñ\e2F\83ç\14\11oODT\1fdr\1fÆVu%ÏÑ#\9e¬KÈ|\13\8dÉ\14\8cÎõ$\81©dí÷´ì\9cTªõ/\19\18\r¨¹à\8eí\ 6MyI#4ay\18³E\ 1:ÃÙ|ÎÌïÀC<Û¤cu{g\82Ê\83DIUmöDd<\b²/òÂ\8f^$GâÕùd¹~ßa
+HíoÄ\9e\82kêèåëÕ\10\þÐmKeZ]£\ 3\96L\fëÆQ.ô\89:\88öënQ\16NqøTæ\8b\1d\f\19\86ßMNoVÜéàú\8f-\92è0\19m\86\88\8ed
+¡*\13çe9{N+\8c\ 2Åÿ\ 4ÞÙ\13\m:VBá\9e/ðu§#\1cפ§_i·°uIA       @ñÿ¯Ô¥\vè6§ae§#^±r\86\89\Ëõ\ 6¿ümQ!÷\12\e¿{\93\e\1ck¼| «õ\13\99\s\94qSo´î0´  Þ\16Æè\80lgxQ·óp5w?ؼ\14NI&
+\90¢ã\99Öi\ e\88J&­\1c
+\ 6\9a\84J5EÊ\12ȹî=òâZµÏ\82&5Iè\9b£\85ïDnþ\96·æ       èï¯\ 5\1díØ³\9bpê¼ ì\ 6­2\81e»ç²@¼+É\95\90t2ü ò\96¥\8a\99 Û~\1eR´,\909nfÖ»ö!ÍÔ­D\8c\1c\8f×\86´X§\90÷D\97L\ e}=.mEp\9eI<¨¯ã©\8dÎÍì/\14·\f\ 3X\8e¿@9P\96á\ 2ÛÐÐ\1f;?u\18±öLnÙC¥waë£QE,\8bí\1edeòc\83ý\1c\1f7RÊ=\172=A\aí1éæ:\1c\9aiZ\9b\1a+\v\9a¬\82\8eJZ}õ\0\eÄu§<1fîÃÖNU-×üÆô\92ÆÐ\13¤ñ\ 4;\8e\7f\94Ér#\1dEÕ</Øó\aíþ\aþØN¹ëÐÝÀÐ9Ç\1d.NÕYn\17ö\ 3tíª7f\91\9dùâ\ 5¨éÛä\8d\12\95Ð+çoÇlÍ\ 2¾FýáH§o\93×(´ñ?8ß\15ÉöF¢À\95Õª?eÁ꾵ϠÊòG6¤\8cv\9c\8d9\ fß\1cøfj\f~«ZAë\9bQSNÔ\rÈè\15Áþ¤psqeZå~³\8b*Ý`ëk/\0['\ 3Å+D»ôbê"\ f+áÉ \9c\9a×"@em×`¿Q\85UàKÊ\82pô([äßÑ­®ÿ$\99\9ak×fW½\9eº,V\16cp¢6Zô\ 58àäé<¢¼\84äIç­|÷âÅ\83ä9µgoÖÂrî©\93ë·;3\7f%*_[¸\97\18\85\8a
+\1fÑÓ\9a\ 5-³IXcbÊÝfâ0T²¦QVd»NÃøÞTÐcôí\88'©Ç:®É2´$v-%
+ļ]\1c\88í ½\9ax\aA\9aÚ\ 6i\8a(T%ÛÙ£\8e'¬¨\87\81\1f>ìf¹þ\9e9õòê?Àø_\8ewþº\94è"ÚDqâï\8c¾ÉW\10ö\94\13\90S¶©\1f\86)\83Ä\8ck¨)
+.âwr\99kWVó\ 2\81\11ôh\8d\9c\ 2\9d\a¡\9b}_q:+¾]ÿ\15\eK;o«Û\ 3p\ Ò²¥Yºp§\17ã\9d´£âðëëgZ\9f5\1dÖE/7'd|rQ\92ºb.á\1eM=_@\11Fx½\ 5`\86\9aøD#)è|S³
+ô ¡\91é\88\9a¹N\90\91Ç\räXcFÎÜÙ·Óm\ 5\10¼ôä'ûÊ(èDÿY\9cÿ9\1c\8ae\96\8dla*JQ.     ;óN\ 4\92ýÞ~ÉñÜèr&_þun4x    Õß\r\8cw]a\1f\99Í\99dWSæî\94sÕ¸\b\90\82³Rº\ 3î{
+\bÛð\88(ÑÔ­\1d\ 2(5ò±i\95\8e$\8d\1e\13Ý\9f\9fHCìÌú\8e4x\816ö#P1r\f\9f^\1dÙV²_uÐ_\95Ò\e«w\ 3Ó\8aòSª8©Ý(­~¥#V´ð1w\@ØW\96ï\8aBlã¦\13Hýí\8aÚ\8e:H^\8eé(\80Çêvêc©ã\ 1Hi\ fGD\8d\8eHº5á#\8c.\ 4ú\ 6üÃè\eõÌt\1c\9apµü|\11Ý+¥\9axvÓYóK¯$n$À\8b"g]\b\91ÿz<`é>@GÝiÉ\88c\8dñÞé\a$O5êz©ÓÐ>\8eZ,Ì¿U¥½­±Ï\1d\85\969áw}\7f"\9c¨\97íÞ§ª£L|êÿ1\13y=Ø1Q\91¹kÂQ\86ïXè\97    Ý¢]ëÔ\9f\12×\11,ÉIs¶é^òû9\91\9fúi\ 2è1:p\94ý`Àä¨Léò\fsóJ\94\1f\1dÃ\9fÜ靨\9c\87/¸q\8a°·Ô\90\99\ 6<\1cÃmD÷.c¶\85\1c¡¼\f\81l3\v¼\1c6V¤à\ f\80D~Is¨õ\89Fz\15Ý\1c\ e`\ 2½1nþX®~é\Ö
+\a¿\96õtãлÁ¨g\90O\88öä-7\10· Äd\v²êÿ\90b\9d\82Ó\148\ 1    \88;ØC\0\15âž@\94úp²\91+- ìûã\92\17\92FÝJÑË-ÊõK\aá
+æÛØÇ\9d\ fì¦ù×â§\ f\1e7`¯\eÁjÄ\1aÉÓ\83ì\8bkÜÏ\8f\ 4\f\11ùZ.õêK£Výî<ç%É
+#Ð\a1òg\8aÒ2³®\9f3_o\1e~\ 5\86½AFNz0\12\97´XåË\ 1\8a\8f\1cñ\ÁçI\8d+\98@ ³Es\e@a\8aæ\ eñ©b¹äÑc}+\98È\9eTð¹\83Ä>P®w0U\89\95Ìu~üôbæ%>¿\99\Á[ÍÀ+\98Y*ö%s\19Ïê\95ÌK«y\ 5\ 5N¼®bb\aRW<ÀCdtc`\8aõ\ 1\80\93¦+¨£s÷E          \13\83@W<Èðýås\13\11yr¹æ\81üVW0\ÖãJæ*\a4ås
+>S\fW< 3\fÊæ\10÷ßMF\
+<®\98µ¯¤z\8d\v\92\1c|kØ(J\13ÇH¹Ø\ 11+FZÉ£\83T6\1c¶P\92\1dIð{mýÔ\bò¯\8böü\ f£\1f\80¿´)\96\90\84ÄÎ\16ÔÝÖø¶Ï\fý\81\17\9fà£\12\1eôs\8b\v§\13ó¨Zܹ-°'¯?1\v÷E¿\9f¬VïÎÝ¢Û\9dÉ[çT'Téa\94n·Mº+\8ePà7U±ç\ 1\f¨z\8aÃ!x¢°¡»¢\ fvEîYiMÀø/Ãá\15\12µ\7fÂFo\87HtP|yNí6âtÁ(\99¸d)÷\16¿ÈSî,Ý1O¸\9c8\1f¿\8eO\ 1U°¤pM¶ö1ÅE°ø\84±ÓLåÁ<¾\1fR/¸C¶\90ÞN\r`\9b$\85\8f\90bCÖ<\86\fç³\1e^×Üq÷ËÚÉû%75\9dë\8bV?\87\1c8Ïн\8bf¤û^Á\19\ 3SïGS\ fé\98˦ó\19­sö\8d$\89ôÉ©\1dÛ\97LUk\98+¼¾\8eM'<<\a«\7f(é$£öH,\1fÊ\14\8aöº÷VôU\19àBüÈm\13]×¶MP*y*o\11\97\1aU5^Û\1ahd®\88uæÐ}\ 1\10ÃͱðN\9eX
+usîÓ^\95¿+<Wñ´\9c/@ç\10÷\vcWÄýó6L\e    AàÜ5Ã\13õHg®\f\84Ín¡Áh\86{\1a\9aÛM\18í).ÒDö\8e\8c\92\92øæx\9d\ 1[ØS\14âu¦\ eiÁ¿Á¹%Ìr)\8e\1d\12ç{c\9eÕÅSÿD\92\14ÆÂûÊ.^\úêiQµf\14\8b¸=t\8a|uuZÚËÑu
+_Nª\93Þß\&N\vôzäaGßg\13w\96Mß·']c1WD\9e\95-\99ò®í\T÷JB\80\9a;XðDõkô8øÏ\ 6{öb¨Û(^\1d\ f\vÁL\8cürRúMkB\1db\81\12­\10\ f'àIgqý\18ª\15   ®+L @líÏaÅ\ 1ò\96CÏSkL*O4ßè~\18K´'Ô^Öt\90êÄ¿\90_¦Þ\13ÅÞ^\9crÇê\99>\18 Ëų«\95µäЮéAÍü\v#\14h^\1fÁ/^\17\99?\ 3\G\9e\9f \8dìºeÝ1¤û8èÞ6\14¿Ïì\82\13UIe\83?+Jôé\9eMU×\9cµ,¾ï0¦\8f\ 6\v\1eqsõÎ\14¾\9f~sø¨Ý­¥é8Çú¤ÃÓÏ"?Q¿=\13'L!\97\84\8a¡ã8ê«\80Ñ\95\ 3Y²yÏ8\8eì©"rÿ\9ap³7{@E,U\10E\ 2ÇA#må¢\ f³vÔYxÅ\83wv\19)"ñ§þÁô\93\93Ð\83\9dÄ«('ªòÁÕÎÂ\9aL\8aMp:Fú«{äT·Ìu§\7fw³¡\95\19\r\92\853e¼&çк9Mc\ 6\ru*ÌSR§Î¬Ê\9aãåU\ 2R\a\90\91¹MÏ4½Í¯S@Ycm@És\92PªõFÿ¶×\97çãf\8a\8a\995\8eÎè\1f¿p\8b\1c\1e\7fA\9d£\7fuE\8cÞ\81öwñ\93ª#\90Ãs]\81\9aO\ fÁÅ\ 2{\9c`\9a&\15;ùæúÐZ(¾k­u%pm±ÎÚz
+\94ØNhlI\v\1eÍnÑ\16'sî\91b\96\85{fR¯?¶ð\95(Çë\15\18\8b\83K\9a\15Ôæ\82\91ÍÖ§WáIá»\85\ 4¼C½\f-\ 4\81ø¥q#1Q\a±Î-sÍ/FJ-õ9\19\96L\88õï"©é\163-ëE\18z\16dɰBíhG\r\11Lÿ\8b\ e¢\f\82\8d=r\9d,þç\81\ 2lÁ[ÏÌ\9eíæTÔ\ 3gM¾­ .{`³Q¦Üª+ü#\87\ 6\ 3\9e49/èÓ\97\ e\88\88qUA¦]Xz¯Û[Co«\86\8bw\8e¦_q\eê÷\88µ%jY\82$$öO\ 5^\9f0éîn\1a\90©d)\1aX\9fp\83½~\14\88.\ríE\ 4\1c>kgrg\12æT¸J\888ìâåÄ\174\94Ã\1cþý²\1e¸J\9däý®µ£(ôÃó7\87\7fá·¸­\91\91\98\7fÊ4\81ÆáoÝø\18I­Iä¤*Þ+^¯'UÙ¦\92\13an\9f¨î¯\92ÝõÝ\1f\9eqôª?7§ÒHüß\1f\8a\1e~'¥\13ÐYÁð0\er* DM\13\9dÂ,\81\1a7\12£[è\eÌV"\9bÚ&XU\11)\82\8déI#
+òiB±¬ã\81\ 3©é\12 `½p¹àH±òÉàGÀq\9bFmÙ(Þ\87r\88»}\®\99ã\98o\9c:\90öêù7j\9f\85%°S\bÃh o4ÌâD*&TOt\ eÚï&¤Þ£\8d\7fPo|Üè\1f\17áþeÖ\ 5\9b:\b\e        \ 3 ÎлW½.ÝúëGØx\1c\89\r\1e\0|    \1cô09\12o¦ r&_8¬ä\11;\97&i\8b    ü´\v^D\v9\b\97H\16¼\98\16m"4\81grlDRTùw\e¿jß\µÏdß]ùì½K       {)³K\88¶1\1c;Ån_8¶±o«³R\15æ\8cyj\84^ì/=Ý_"+ÿs\89²21Ì\9fø¹\12lÒô8"©O_\bãp\86ìÍæä¼\91ÿ­ìU®éË¡P]Ë\88u¡R9ª\1eA¦¶¨\83,£M\99n'ð=\85\ 4Ùö\16ùHXL\ 22\b(èÕnÇ9Í\86z®ùÝ\86Õj\11\19Q#GW¥®g\15óvú·µÂ¹]]!PÍçs*î\1fÁ&I©cÖzÓÕ-õÿçù¦N\ f\9aSá.z\98ü\95\ eÚn* ¶íp!áÉ\8eQ>õâ:¿¡·-جIýÆ\8d\ 4\19\85\¯H\8c¸÷¹öúaðR\12êÁ`^\ 6ÂÄy~"8/·ÕíÁ\19Q¿iºø\11\9a:+bÍ\17°°ôt\15{\r\1e\1aa½láÈ©nM\r}|sl#     ñK­\eÑP7Õ÷\1a¿Õ\0¹H¼e°Âà;òS\1eÅû¨\83\90\94¨\83C&ò\ fk+@ßY[«ý\90\ 5Ò\86X\87ÃÊ\82_©Í¥ðfV#­|\fé\12\84\98½ÿ6\18\8c:\98\7f½\82L?áú
+\1eÐõ\87\9b»\8fÀ§TúDM<^SPÍ\ 6ç¾´Ú\17\10ÿg¤XE\10Oô<
+Ü@¼B§\99Ø¢\0\99\ f\9e\ 3\93\11\8d\e\98\19  gAðÁÜa®¼ò\0Î7&Ô\97\17ºS½Ü\8b\1cK\1e\17mÑÜ@°g\ 2\93)MêÝ^ª\0hXc&Ú\A\9a\9c\1aæ\987\8aÄ\eÙèíàÛîR3\9c©e42¡\11
+\96¤àZÜ\98\80\1eÇ@ã?±\11\95¼\92\ 1ß'K\87ZF\ e~ÛBýöý|²4I2\8bÜ¡ë­\16¡\83\98¨úöFH\9aÚNmÔ\96CM'!²Ä¤Cþ'D¦\17?OÐ\7f\ 3&\19âAa£¦#g#I\82÷Ëi\84\97ÕY\834\9d´8¦L\17\11\vÔ\15¿ÄÆ?Ó¿üî\0÷ÿÀ}»ÿË}¯Ê\1fB\97ýZ[«z\88Ý[\ f\7f_uaÿîÍ\84N\eoº´"-\11\1aígØ\95³\9c¸\95³ó'Íu÷ß¿ÆãÈÚNU¾²Ißñ\92cg½Ò6¨ëÆÙ<ö\ 4\eW\1dµÖ\89[%\82\98$Nß\8dõ\98Ù1       ^\ròÍ\92!{\1a]ãÛ1·\93©ïÉ,û¨\a<oÃ\8a/\82ùÛ»Ö\r        \83ê&÷qIT¥õ       4>ÂPíse¥\94\ÚÊ\89+P®5õB|¨\12w\18Ó\8dø½\e¹"\1eðC\9d-\xÎDògF\986jm\88\0(4Ñ\95B\86Éã\92\13âÊé(¡cBÀ\10\96\19\9c\10èXÛ¨\87áí­÷\1a5ÀHÙ¼lä¼Û1¸º¤ï$O\18ð°\f@~HÛ\89\12\ 3B\19\166"        àMèà#oþ\88YðCÓ\99\81\80X?Â\18>\16\82J\88Þf\ f\86p{¡c]K\18ײ\8d\8d\ 1&\9få§ðX\80õ1 9s\80¶2\99
+YR£°\9e\1f\83CyD/\ 3\80  uÌà·RÀþ+\18\1d´l\ fw8\f¹@uQ²Ë࿯\83\8bà×liÑ]9\16Z\8d=#\8d\1c\1fb*#;~Q`@\84Å,4âY¢¼¯\7fê0\1c*\88¤R6î\88¨wD\17\9d(/´Ä\16®þ\94\8d\7f\9c\a\9e(\ eù\88\ ef4\a6p\13iym|bL#ý÷¶Fì®7\87q°6\ 6þÆÆ½!Å&\v8ýÖ4\vr¿± YR\9f\0k¿\11×Õ0Öy\8am_|t\88k2¢\8bÔE¦\9bF\bnrñ\18»}\ 3ë¯Â{\e\92X èÄ!\13\1f\1dïÿ1\91^ -\19 ÕJ¢=@\88Áà\10À¯Ä{NqëÂcß\85}¿ãG³\85\1eíD{\1a\vó\19\89\8e8÷9\19Z+\14\ 6füƲoÇ\ 1½2b\9b<P\ei¦ -   \18:5{\88ep^Öh\7fì\82   \17\91ï)«xc\7f\8aë\1d'iõuiÐ\92\92c%j  \98\9a¦\a%#\15,ë¦ìú¢}É;¦íoÑ\93?.Ë\83U®«\ e<Ñ~íü£\99\8eü\14ßý\14FîÂ\96\86Ù?½¼\831a\87NcÁ\98íKÂ65Òáãyá\85ÒÓ\19Hïo\ 2T\a'jþÈüºF\91\89\v\8b9\90\19\0\89\vR©¬3¹GvÙ¥/£¡\19\93LÒ!Áx\99#¯éhF[õ¯OÉ\92\83\8eµ`\81÷èà½\ f\7f&urK¥\98\9a\14R28\0\82ÛÓ"\9bwm\ 5­\89\89\8fã:NÕ\98Ý}"²ÿ¼\90ç¥<Ö\91õ̪ì\9b`Ó0      \ 4Z\ e©ú²yñL\9fdcÔú3\19(Õ>\8eÊç³kT 10qê~8¬\92t¸*Ô!\1d»qw¢²\83\90\9d\15\93ª)Ôø\16v)0å'ÿ\7fÉ&gÄ|\11ð)\ri\98\16¼\90®\8f"5\80ök\16_\a.³ÇY?"ô}\9e\9düÆ|\1f<\10[³»N\b9ýþ\92}ýÕ\80'b6mw!ß1Ƭo-Ð\12 c\98\15ýÁ77\83¸ø(V_Íur£Ö\ f\84\96\92"\10pÀàÈß>\9có\19¬I+3ë\8bç¢òâó±b`Ñ­Æßt=×2\1f\1c©¼cá\ 2àõ\161ó+\8f\ 5\91¹¥:FDÛ»\18\8d]Õû\8cÞWÌg0Ë\9c«¾¢bù2\8bàcÅõ,EêýÇNþrÔö\13\f5=\80b:U¬qè<V°D7TÍýØx9"¸\8aÀwoK\1d\1e÷Õã>!ݲúdý\ 6ÏWJ+gclÓ­\9dî°£\rmð·\12\ eç\86úCÃw­Pzú\10,äİ\81^9ðøLe\91v\95ô8èåGü.«w4¿T\7fûäJ?1a¹«àIÕò\19\8c\vkÅc\ 2ï2'\81_1\81héY2ú\9e«Û¢"âQ±]ü;û¥°\11Kàð\ e\14½ô«`O£VÑ6É1\8dAÂI\94\96u=\88ùç\11\9f\18§X«g×U¦\8d©"Ì\ f\ 1\17*¶Tíi\7fß\ 1#a³GÝï\8aMâºßgk\88Dm\86\13æ\8b\86W\87\91ç¿ô¤-\v`µR%¥i\11â¦jø\ e\86\88$Âj­EÎA\8d\12yÁ-:ó§gá\88Ä\8cm:s¹\18û\aÛâ¾¥\8cW×±\8aß\17£Båâ²¹ý\fbµ#â¼1b¸Ú\9aýô\8cb¶&ÜÊ\8cþ¹[Y;´F©vmk:Qª EÉÎüèÔ\ 5WJ\7f\ 6ó\8cW3·§PÛk\97(?\e\95\eK\9ew+ïÒâ`;_¾\ 2\8cSs\18¤WF8qõaîýú°àç\8aKÚÙ÷BeßîD¼vãÃì,]\13\16Ë\8fG\1f\11Àñ\12ìaBÀ\90¥ì>\9c2[\17sJÝßý\1d\føkEÎÞ¢¡6ÈnTõ¸/øá¤íØÕìb¿ãq\13ç$\7før}Ûÿ}t­qäCð\85ð\13²í^2¿ :!-\1f\83\1d\13\9fÂ\1a±\83*q\93\9eåÎö\84[fÛ\b=Fu¥Ç\88\16½%\rªm\812Oì%\ 3e;\8bwû)Y\9fs××\1e\7fÿ\ 6uUeZþ\8c\1cs^H\9d¶úW\98ë^Û\ 6¾ Ï[½~/ø:Êÿ×\9denu\95âpl¾ã¬¯\99\80ühØ\ förð\1f\13\ 5ÿ|\a6·¹!\18ñ{öðFg¹\84\8a½ºg\e\8aÿÔhg¯à»i\964ýèHh1l\89\16\ 5 º`ó[\84ÚWswa±wÐì\83\ f\9e\ fê1ØO§\92³M+ä\8bÊ\14\82\9bz\9dÙ\13\97\ eú\1d°¯&ô\ eÕ´\87ðH»èwU÷ª¾<\93æ®ñ[gò©\8bpå6&S\89L\89VØ-\ 5î]Ü?\82ò^rÒ¡çD\15\16\ eæ¡ä\eÇÛL\9eÿû\f¿ì?üÃ/áà\7fÝ;\vï\17NÂú\9c\ fÿS°¹ú»ü\96\aÿk.m¾\aþV\Þþn2´\9b\9b\8c­&æÿò\9d ØimûGø$`ÏP_b\16õ÷ÞѤìÿffffd    'Ð\84\81\81D "³ÖSl¨zû\v\ 6³\ 1\81ö&EÀ\80\91J$¾\ 6\12ø-#      !\ 4ð±$\15\860rª·Õ[µEj#T\11­Qª8\11\0\11R(µ\0mb\94\15¢Õ\0\ 43ÿþÿÿ\7f}öd\86b¢£kçÏ6ûxïCz\eÏsÝ?tw§½_tw¥»ÍÝç7³½Íü\1fÞ¶ó\9bø\ 1½Mëoà\1eS\87KµvÝmqC¸%¬×¨DíüKZ1à#¨zË      \96b·ç\vÕjLðëó4Å¢ÇÊ\16VRÚeïõ\9c³ûÂ'y1¿k:}Vý}\18\80\r\9fu\13§£\9bï\9f@\17\96ç£\ fGx½T\r~m\8cpPÏ'PSÌ0¦:ʱÉ
+=(Ù'}KÊ@n¼ê(\18\88G.\13,Þu4$ Ú\83Á\128\11+¼êv<\eöQ»W\97\91\8fV\ f¬Z\1cÝ\16\9ftvUq=lPÕ ×\80\15?¯;-uj\8a\89ÜJ0OÃ\9fñ\ ed¢7ì\ 4\fo>¿ÓkcæU©¡qÔ9}\13`}jS]oú\85    \ 3Úµ\9c\ 3Õzþy\16CR\96=N\92\8b~¦eÂ\9d#\9538\97Jt\98§E\1cÁG0Q»(Ý\94s\85\1cáG:QÎ\94\1cùFð£x|2u\86º\85X\9b
+ÎýLÉ\ìÙ!íª¦`¸²røP\0?a®l&OÎÝcÕ\8b>Â3®$rÞÝó]â±<§ÍwêÄÙ\9f \8a\9dyEá[ÛäùðH±²V\9fë\9cü7\ fü'0ï\8bÜ\efËMGbÒ$L«+\83BkþÁ\82G\886|L\vôTLH.e\97ñ\ f&r%\86\8eæW´Ý2S\bæ4²±Ë\15¼«%:»­OÈkåäK=û\12Ä'plEÓ+ð÷·L¯xI\96W½EâÙ\89c;¸5Úk\9aü¿ñ\963|"\82Z8ã\88\19\7f\86X\1aí~Id«ã^µÄâ¿\18\88\91\9c°EÆ6\8bü©\89Ãßá,pç,Í÷a,¶|Yfo¹Ä\18\96X;ª%\8a^çÇ\8d\88¾>\ 4ôkË\aºe«]q\86\aÇ\96 û\99\8d\7fÓü²/ù|û\8f~rÓW-ñ\10\12?\94Ø\85\9c±\8bÍ\97·\9a\8bÈÀ\1dÂg"YkþSg6º.rÌ\ f.fè|ñ\aóËC\1f\18ØÇÈ@¦%\92ß   É²\99g\80eu\87)Rê\9a4¶ßñ¥\8fm\7fn2ÿåc\e,¼jæÍ\1eèW>Q\94Ï+ü\b\12ú1¾Y\7fåeË\eòÈ\10\94}\Ü>)³;\8f-\ 6\7f$´Å¹ù\8dÖÿ\1aåüæÏOûe\9cÞç3ÿ\8aZ{ØÉ\ eV,µ÷ÝA;±\99d\8c\18¯\939`\9c\95ÿ{\ 5|siƾ\aÆ\1eú»\8d\ fg\99ý7É\98YË5\9dí\95ç\1dzeyÂ;D¶ÁÔÈ\96±»¯\174þ9·\83, ýá\f\9fs-Y÷\96WÌuá\95ó       6\83x\7fm\1aYè×ÒÿÕü\ 5/\9eD³qñͰ_\1e?\9fß\89n\8fÊÆÒ\17ÆÈ^AL\83\91~øÞÏýÒ×\87Æ\96Èù\18ß\8d-Uÿ(ìç_÷ìH\80\1f\9aH\87\87Â&7é\8e¡1Õ¦>É"\1e\9f\fê)Ik¸e\ fàGï$t±íùØöõ\11íþä{\7fê\8fo\97\8fo\98\8fo÷cÛýèöù\98öñ\1a|ê\81\9c\83^I\1eݬ{vÑíÛÇ·q\1eÝÌ{wQíå#ÛÝ#ÛÝcÛÊÇ·\96\8fo/\1eÝHöñq~Í8»t}è\81\18·º\1d\9a1g*}\14$ñ_^\8b4b®XìÏ\14õè³F(åÎÌñ?^\8b4bmC³<K×¢Í\9fò\10\ 6çò7êöh\8f°ÓG·Ùü\9e\9eGìS*lõÃ,Û\11I\8b+\8b}A²çÿM-\ eªí
+Jöøs\993\96Fm1xòÁ>¼Ì\8e\89\96\8fÆ\9cÌ\eâ\92ÔVýĵR5>óMoÅ\99 ?½ðÜUå¤ÿ3s3
+?3Lr_³Í>M\ 2÷\12ð\ 4Ö1°ßl\95åºZ+·      \9eáÇI\99\ 4\9e\87ÿ*\9fùdÿ˧þa?÷dÿ̧ýyx\93»0^\ 2éZÈfÅä°'ò\7fIýÿ?Ûf}v\1f\15û=º\1e\9b;Y±û\1c\87\7fÍ~T\9b±¼rMØße\88K-6\93w6ó\12\9d\7fé7f{\ 4\9bµ¾Ù6øvZ\ 3i¹á3\9bi8×±2\9fôÍDHúë]:\1d\8b\91¬L>
+.Càã¨F®1«^ëß#UøÕg/¨F©»Æ§ß×>\93l¾zÞÇ0èw=¢5¥\8d\85îî\85vî½ù\þý7<®Ø$tÁ¤\1en»V:êb-\9dÑÓ\1a:ÙÊ£Ç\16mp\f\9a/£í¯"ɳ\95ìù$5\fÇgüÇ'\10\afÏêN\eO\9ew\1e}\16bï´Â×±¥\r¥\ 5{\1aTÚa\91-sÇfö7£ÃÆññ\11P6\9cÂ%ª8ìè\99:bÍVGÁµ\1d\9bæC¼£!\ f¦\98\8a\87ÓºaWg\96\8a±³¨\9cbÍ¥tk¿\9c¯dº®Ó¢dÍ\8b<ë&\8cYÿ\\        ´ÏEÀ\9bN\90åI\ 1\16uñ½~~5ǰ\8dãØÆ¸ú\b×\1f¦\8c½ôñ}\e/\80Ù¶Ì|6èÙ0È\1aHlÿ%CoçÖðñ=ÎKôw_\87é^z\9f¹íú\e\1f\e¸-N{tjsÿÃC\97ÿ\96\8e.CI\17 o\84Èh\ä4Çt}t+¿]·å0ýdíV\7fYyÛé.½\86#'µ¢Ïâ{ooy\90Ëã0\8fs\e\99ßßùù\1e»\99Ðbù_K®Ây5\9f;IW!\87î\90Òͱñ\9fþá\95÷!¥s\90ÑÙÿ\9bH§!¤³ÿ{HÇ!§\83Îß´Þ§/îíñ:IÞ×ód;l>\7f³·ö½-Nû\93æzi˼Íÿ+ôáHiÌáf_ß²ú}ªº6~\16ëÙòsÜä\86 \8eC\11³ãõ>/\91í3ÉQêt»?\ 1ü¿­tgC\95Õy¿·½WO×Áìñ^\1fEûdë/\93úOé?¤þ\93úOé?¤þ\93úOé?¤þ\93úOé?¤þ\93úOé?¤þ\93úOé?¤þ\93úOé?¤þ\93úOé?¿ÿù[)od2;Kp\8dÍ\9d\84·ï2èK\bÈk»B\8fre\91\16\12Û\87#\858\84¶ÑÈá)!-²r8²HKZ9\1dçz\12õXº(ûç ²|B[ºr8³\bKv®G\16a\bÚ\10¹R\8f¬r8³\bKAr8³\bKX9\1chÔ%³®G\16q      lÓ\91Å\92B[.äqg\10\96Ê9\1cYÄ#hXæ\8a:G!ÿI\84¶-È\9b¶¸Kb\1c\89\84µ\0\94\8f\ 6\8a9á \eÅ\1f"Qý"\8fé        \18~(îå\1f QÝ\\89¼K\84³W!Ä\f\84·\bÅ\9eá/å\1dü/î\ 4Þ\8d\92þà\17´ò_Ü\ 2pøKû\81ÐÇI\7fp   Ú!/å\1f(\17÷\0\89Ö\12þàN \81\a\1a}\bçñÞx/î\ 4ß|\12þQà\82þàN"Á/î\ 4ß\86\12þà\11\17B_Ü\a`\80\97÷\ 3\8dz%üO»8_Ü\abR\11\90×\7fç\vû\80ì\18\12þà;\ 6\84¿¸\ eÁÁ/î\ 3± KùGö\ 2þQÐ\ 5ýÀ\16\9d\84¿¸\14\1f0\12þQý\90¿¸\13\86øKù\93\95B_Àª¨\vø\94\90`¿·\1cÄa/â@\9a\82þ\ 1®\b\8d\ 5\ 5ý¸ã\97   \7f\f?¨_À¿ï\vùGÌ\85ý¸t\ e       \7f\ fXà_Û\87T\80\97öáØä\84c\0\7f\9b\vûpêl\12þÜ:.\10\8e~\1añ¡\7fn\1d\16\ 2\87E`\97öã\8e4%ý¸tR \7fn\1d\14\ 2_ļ×\ 5ý¸tL  \7fn\1d\12\82\87D\80\97öáÑ\18%ý¸tD    \7fn\1d\10\82\87D\0\97öÂi\7f \7fl\1d\ f\ 2\a\97öÁÐà%ý°t6    \7fl8ð(F:ËéÂþØ:\18\ 4¿\89\vû`èX\12þØ:\15\ 4¿¶\ e\85\ 4#1\95y\80¿¶\ e\84\81/â@ô\82þØ:\10\ 4¿\89\er\vùGÐ\85ý°\9bòr_Û \19r%ü\ 2   \80¿\89ð\8f\vø{!\ 2þØ\11¹¢_Û\ e>\88\97ò\8f8\17ò\8f¢\vùG\9d\vûa7æä¿\94yà¿\94}\18_Ê>\90/㪻\85ü£éBþQçÂþ:\9c\10_Ê;\10¿\89ù\99\vûPé\18\12þQôá\7fj9\ 1â_Ç~÷\vø\12\v\ 1\7f\13¯d\17ò\8f©\vùGf\17ò\8fD\17ò\8fª\vûP_ÿI\7f(þø_Ê>¬/å\1fX\17ö¡í´%ü£ë\82þÔ:X\ 4¿\94\7f\80/íC\93<KûQ7ùä¿\94}\80_Ê>Ä/í@î\94%ý¨¢E<\97ò\8fý!\7f(ÿ\18_ÃÛè\17ò\8f´\vø{\80\ 2þQö¡\7f\ fp`_Ê>Ü/å\1fä\vùGÜ\ 5üK\1fP_Ê>ä/å\1e\94\1ft\17ñ)\90A\7f(û°¿\89\ 5æ\vû@y+É\7f\12;\f\17ò\8f½\vø\1d\ 6¡\7f(ûà¿\89\vùGß\85ü=Ó\ 1\7f\0¿´\1dïü\97ó\0m\ 4¿\80!\1c\17ò\8fô\ 5ü£ðÂþQø\81\7fh\b\ 5Ñ/à\v»\85üMG\0\89¿\97%ü£Ö\ 5üOMX_Ê?\18\1e´/ã¾­\ 5üè\14\11\985\ e\84¿\94{\10¿\94~8_Ê=\90_À/9\vû18\1fä¿\94~P_Ù\89Á/%ý\98\1f2\ 4¿\94~X_Ê?0/å\1eÐ/ìÁ],%ü£ó\82þQþ\90¿\94~x_Ê=¨_Ê=°_Ê=¸_Ê=À_Ê?@/å\1fê\vùGúÂþQú!\7f9©ð%üÝ^r_Ê?L/å\1eä/ã\96D\vùGº\vùGê\ 5ü£ý¡\7f6_Ä\97ñÖV\ 2þ
+¶ _ÇK_\vùÍR¡/å\1f®\17ò\8fØ\vø¢O /æ-+   \7f\12\98ì\17ò\8fÚ\vø\a\\ 1\7f\ 6\r /æâ\8f\92þ\ 5l`_Ê=ð_ÄÌ\\ 5ü£à\ 5ü£à\85ü    ª°¿\89\97Ø\vø\17m\81\7f\ 3\96 /çÆ1Âà«ÓÊàTð%,8\13\99©E;Yo\ fÈ\89\12ªV&\13\ 2\19\8cãgZ\a@Q{\90{Î=ǽÇ=¤{\8d{\8c{\ 2\ 4JÇXÚH\95\93ñ+\19s\99\ 5Tð(\9e@\10Î@W©Ú\97ü2ÿ¶/õ +eFê%cµl=i\85\19ÊàQ\e\9eS¨Ëa\0 \86W2w\98Rr\1c\ 5'-\95\96\1cw\ 2\98\vb´Ú\97ý¨éÌð\ fÌ¿ïÅ\9a\9c\8eýKþñ\16;Å/åèïö¥ÿ°/ò¾\9d\80×ßî©Þ9\88(\ 3\10£\1d\8b-Ñö\1a\ 6Û\ 5n§?È>héPñ\r\8e£à\8e\80\1fmNò\\ 6\7fÆ\81ñ\väa\97þÀ¿íKÿj=\ 1G¿¥S\ 1\r\16x\ 2ñð\eRÿ¶¥æ\vÄꨧGF\89ê¨\9dÒÒÒ«¢\86_û^ª\8asª¢x\8e\80ïÕQOäyîv\95í+Þuï<÷"÷í=É=çÞäÕ\83ºÉ\17\9d0®Îß\88¬\11Û\9c÷ \ 3\12«\ 6\8ar#²°\83E;\11ÚÀ\128+âÚ¤ó#¨Îò£;ôI\88\96¶üA\89\93î[\eêD\88Èw½
+#\ 6\19\8aÙQ:·uø²Q9.T¼\8fÅ\925\83f0³a°¡$Îа\96¨a\85}\110 l\8bÂ\86¤ ó Ú«É\ 6I ½\19\96\15`ë-\11b¿²ücÖ`=+Oß
+ÒÓ\83i´¤>µ²\8a\12ø4zµ¯v\16Ü¿\12\1c~\82\1c^îÑL\ 6¬\\92\8fl\9b£hª\9e'\96ª\9dÕ­¢\9fZÑô\ellO,¡{\0£ÁÃêv\16\9e\8cîÖ\9eMAEzâÜúx+u;\r\16×E\ fEk\83\87¢¶Ñ-N\89Ñ6ÑÓêíÝÓô»\91Ç\86j°Ò´ö\18fUnôî·»\9dU\f«]å>¼æl\8e\9eË0Û\83íÛûº¬$­<\19­SÂ\86WU9+Oþ\85\19Íj¾\99Ç|+ª\17
+{\r\832[©òÞª\19\7f\ 5Û*}\16Ö\9fE\ e\9fEmNWÛEjX5SÂY¸Á\86\ 3m\aÚ\ 3ÃF\1a\9c¨ï\12*O\95Á+\vñ\\14\\a\85p'ظ\16ªàö0x\9d.¼v˼´\19_DYÌ\v4\880}÷¤<\17HðoÇÝ>­¼]ã+n&Z\v\9eH0¯\92Á\85wËY9ñ`5G\88\18UéaÈf\ f\12\9açÄ%ä¼At\1d¯x´\10êÚDµ\18 WÁ¯üÉs§\0\r½zèÅz\16½ìÆe\11»Ô¢1D\860\8etNÞÁbU¾í\07ßÓG¹Q\9c²(
+Õ1ô\84­\93CÇ~\9e'Ḻ\fÛ÷·ÞÚiÙtÌí Rc1¼æC\1eö\ 1hDÆ\96\84ÅÇ\1dº3ü\80d-ç\83Ù(Ï\12Z      9«Ú¶Tî´ñ7\9d3\84ÜOs]\89fÌ­\87\86å\7f\ fC\93/    Í\7f      \9dRÊ3È\17·ÉÞÕ\83\96÷½»N?·iT·â<ó\v\15\99E\9d7<Y×Rä²|ÿ=Îäi~YÓ=öí\14\94´QÕ¥!Ï,¶­M\1a:$\13Û&Ol©[=²UÓÛ(\12¹\eE9Uu~\9câ·]e¡\9aC>\fâ\93÷\13©D\8cå\83k\1e:*µd¸ÎN\19çCLH½¢-\97Î\ eÓ²¥Foèé\85\8ahýëÛþMÖÝJ 1Ö\9fKàéaév\1a[].×J\r\93¾£»Öwa\96Y\13\8fa\ fG°ÑÚèöº;m\1aÚ=æ\8f\7f£\ 4@\10s"u}¯\97ÛÿÜ}\8bÍÑ\92H\8e\8a\94\82¤W\98ï\9cÐã\9c2ßá\9c|MË{\8fÛív÷\8e3rÞ\b!ßÿ
+E?Æ1\15Ú \8fû\9f§kô\10C6ÿõ \86mÿè1\15ÀË6ìÓÍö|£\11_   ô\14\8azï ²\17ª¹IãøË!}ÀÄW\18\ 3\9cL\7f\17\15©Ô\88\ eÂ[c\f}¯u,ãu¶î\81¢zQ9\84/gh\11H
\16o\99¿\ 3\f\81¿Úg\17¥\18\9d\aÄþeÉdX¿´`\82@}´vÇCêóbwPQÕ(\11Õ\80àíô\1ee]åaDaÞ\1ab¯|¶ Ù~
+½ð\9dØ\8dÜRj\7f\8bÍE rå\0\87\89¾­\r\v!¼¶v1\ 1\8f\97\1c³\90\1cûDÓÁj&Vá#¸lõ(ö\98$     Ç\8f®\8fw\93f\9eÏ4»
+\ 6¬NÍViì\9dsxÈ£\92Ï\9a\8a9,ñh\1c\96héAXqÒÿ\1f"æ4\8c\84\ eÒÛA\ f=~\r©xó|(´%±k\1f)E°VÊZï\18\r\17\99\9bf\80\96\vGA´¹ \fë\93`\13ºÏ¿L÷^)àyg=×ï øàFR=\892\8a\1e­¾\rO\få\1a2\94Æ·ù\8c\80]ÇCÿÏÇ=\10iè\ë¼Br9eù\1aE¿ôEïÆkvÝ·Å\99þ\ 4µ\1fÜ>:tfô_¡û\9dÌ\9bÜ\92\89ô\95\90U}ZèÜÐÍN2ßû·ï\8bR¿;}í³3£R¼\83θÓ\ 5ÕõþßÕ¼øx¾ÒÞ^ß­ì°\9d3W]µûÿŪ~Úô\87üÜÞG·_Aj\9f¿\7fìµOùפ\93J»×ÌZ§ÀÇÿ¦¾ lSÓ_>b\15G\ f\90LÝEò\1f1IGìï¨èÕ\1d\9d÷ý¥ª~?s\1fÎ@Dü\80\ 1c\9ct=þØ\9d      *Ô\95ÏàØ#¼üâé\95\9e¤©\7f=`büï½h«ZJ\87íuëy3(íô<\90,zÊ\18²\ eCK\95ö\8c°\81'ÞÒ\ 3RíJǽl=ÏX%xû\94á|!1~æ\84\ 28/ \17²æ,e.t¤Ñ«=\ 5\1dã!\8bÆüÈ þ.\95g\93,\ 3{\95ÃKÈî¡ø\88
+ÙÒ\12Ó²¯\9cá-µJqùn\91è\19\10þ#°\8d\1d\9dÞQ\8a (V0\86%ê­ÕM°\19vX\r\14µÙØ\1a\17:FjX\891XÒ4RÄKÀ&\91µc¥l5ð\15²ÎÀ\kó+\a|\81%ÕßB@¢\90\ 6.|\ 2\ 1fÌPª¢së\93\89\80­\ 1öï\1aÓ\ 1á{¤,ÕÝ2{\92\ f\92\8a\12çã\91ZNÁ­Î       \ f\11\16m\9c=ïY\9d\ 3Úç׿\80ýÁ¯å8\9aìS6`\94_k±M]ë±M\92Ò_®0\18 "\85o F:uø£?%\88\ 3àÐwÊÙb¥\0\93Á@+\92\ 6\91g\9b»?²Ì¼\7feÒP\85e4@\9e\83@\80\95\8cP\9d$(s7æfâ\85¶0\ 1ªp~½»\84úÔ&OàÒR\84Ú\8c\93#\ 4\9c\ f\84ú÷e@$è@/)Gz\ 5ü-?¿ØÕ\9f±\0\ f\80ý¦Y£\14\10"\1a\19÷PÔH½S­ñ\95\89­\ 4\ 3*è­\87\r¢\99ôPûÚßÄv¹)Ê\ 2Ï\ eÆTþ\11\98¹õ´\13K\88àë\9eËe\7fI®í\9f\ 1¦Ð\1a³yD0\93;¡<pýÙ÷v,ÓÊÜ0¢Pp&l\ 2\92ðjO²òM8Jv\84Ø1\10oÚåR(UóO*¼góÙz\97êi²ô4mxqA|\9by§q[«Ñ@ÉE\9c¯Õ]\8bD\ 3÷ÓÊ[hÀ\Ú¬­\8d@¦ì\19½½å\ 3ѰÂ6\16í\ 2\9e7ÉE à\ 1,ìBX\ 4¬}ÂYÌ\18!\ 5>æW\95\95ÝîR\8d\86ï\9f:\bB\18Î7­¢ÁþÀ)îp¹G\95´)À\r\0j\ f¹rM6<\0æ\18À
+\19Ûçís\ 5\8dx\9e\f£Ê¨h 5tçÖ[Î\0\90è°×ĺ Aa\19gÛnJ¥vlû}Òrÿ\83¯¢Ðù    Ñ\1cý­\82\ 2\83üº3MÆWò\9c6(2\ eó\12Ǹa\95³Å@E\11zÉ¡Þ"Ë\11\ 1oìº#¾¿\9dåüw\82¼·Ô\ 6´ðÀ õW\86L\b\86ð$\96\ 1\ 3×\0Ü\93Î:\10\8c\ få(~PÖ×\19\9ao¦[Ï\0T#û'\ 4\82¾Ì\9b ¯ô×(ú»\ f   \1dÚWjÃX¼t%ÿ\e#\f®½®'\1d\90\97X\8a\13¤Ý¿®\b!.\9dq)}\ 6Á\rà6R\ 3\ 1\870PL\ 6KB«m&OÉ\1d\84#)8ÊÝ\ 5¥\82¿8ÕJËÅ\86ri\98Ú¶=\9cE\bR\8fE\bs\13\85åËÇòçSåÏ®\ 5c¿<Ó(¡\87ç·F\88¬çn\91\r\80Ú\ 2}ɾlþ}>lÓ+\80\82¥a\94\14\8a*Al< $\10ì³UÇE#ê(_\17íW d¬w\9dy¶W\ 2\96$\0R\112\8a+\84\16\ 5Á}Üf\80µ\1a\89\15\18H\14½9\17oË(Ê\rº\99þís|\8bg*Ñý\ 6Ù\ 6è\95\8b\8fe\88¥SÀÃÏ«\85ÃÎVôoìðï\17¸O@@ýrö¹³*¿º\8a&j𮪱ô@\17.AÖ*×Xþ\83kU-DÖ\ 3h\9a·´\ e«}[|,M\88 ¨ø\8aä\ 1N#Óø\1a\15e4Ú°â<Ú\ 6ÊzypR*\9da\b½c«T[è\98h%0´\93ªgóç¥éé¦À       4æªã&a«\9c{>û
+ör·%GfõåÂXý\84³\fô\92À\95¦úaq\13µRÏXLwA\81¢ÄOÄØ\9d\ 5½u\0Õ諾öJÊ\84P\84Hh\9fq\16\85ü<\91éA%r{\10t\1eÕYb*s\8dÑE2.\175\¥\8d\8a4\92TUôc8¾N]\14/¿-E(\8a  yÐÀCØu\11AÅÁ\843ñðµ¤?\85rrÓ_á\fÖ\92¡òh\8f\94F b¹|\aGðì\0\95Yo¶å\1f\ 1,öù\0:\1f¿\96FRx¸ºöX\ 4ó@\1fÅ\98\88ioÜ\1fÁ!\19­A<Ö£f¦W\87\94\94\ 4À¾ßNüè%EoØo\90Í.¾6J\83+2\80ý/v¸$ìšק\1f\v\16\83ûÖM*ÑE)Y÷\96\ 5|UÑ-í\13&\95\99B\85µ^J¿<Í\9df*¿<Ѩ\11I\14r\87Ùß\90Q£Ïâ\1cÀH\ e\ 5b\ 1"\1aW÷{\8b\84×\15lè #F»44)[áC\96\18\0^;¶Ç¬\a¬F\83\8cD\ 5\95øf\91\ab(\87\ 1ú1\ 4«[^õ\9bùèk`\ f®A\0Æ%²[\ e\80 h.&¿wâ\9b`1»ðL0ÆovÔW½\8d¼¶\85¡õ\9aÍcß±«@\1c¿ö#\b\10ô\ 2^¸í¢#ø=\fù\8b\96\1d«à\0Bø+\ 2\8b¾a5'~þ\r\11\0s6Ñ\0¬ö~å£óÞ\83`Y\85¬y[öU\83Dt\18
\1d\1d\97ÔëEL`ºKfƬ\944|ôñufV<ªÖ`áÐþvtz\rí]Þ¿\fðPyp(\16Þ×U{VíE\13ÐÑ5 ]7ÝßXpÚ"\86ps
+£h\11£ó}\14Ã\ 4¤Å\8c\94Ë×*§0\1aº\b-ùäùìQF_ï7l¯Å
\10q\94Û½Âô\17G·ä¦\11Ø\ flæûå\f&X!\81\97`8_\99OqÀ\19oc@F¯\1dÓÇx¢h\14\90öhÑA>ÆmK\9d+\8bµ¥Ñ~I\1ds%èdu¨­è\93A<k~åF()e=*ßZä·Ä¾Fù\87-\99z\ 6L]¡\8dÞ öj¥ÏPèn_\8aÖ¶U:\ 6ê3W«\7fÄ\81V­¸1\89ÇÅ\16Ü\18E"\95\12èÁ\99v\85\ 4\19KX£ú\aµ"\89Ê×µÙ° Ø\17(çüp5W?F\9a\e×}S\0\16;\15,s¬â\8e8gô\1fn}\14\12)\86\1e#ð]\18ø\9dÜ|ü±È\b9\ fØ¡\19j\81~óM4Í\fX'°®\17.ò·\18tO\ 6"\82\98\19¯ª¸#F/\12\99û\r\11Ô4\89¡¹ÕÄÐÞàþ\14ÿ\95>© Ïx
+ü|»Ê­0ì\0\ 5vó¯+y\97顦\19\8bÇÌÿ\vÆ\90^\158\8a\e¡\17»\83\ fù×\95Z£¡ÃèÁ-FA\1fE:\15:Ý{è\9aðÏ÷ßßР\ 2ñæ¯1A£^c\ 3\88\90\ 5K$)eþe\94;ßF5\r\16,\ej^N.\8c Âß±ë¾
+\16\93ª}öØ+åúÑ\963wçCÏJ(r£Ù.Ç\1cë\ f1n\84þ`>[¯\86\8aÍ\ eå:       ÖW\v\9by[Ë\8a\18cßÁÈS0\1e\81$Ò¸ùͯò\99?\9fõw.>S\14Ç £6ò«VüP0\7f¯CS¼Á\19PE\12÷ßu\80¤×\9c¾+âFÀE,«&\ 1\ 4Ìæ&7\83ï`j¢ä\80¤F86©eÅ÷\ 2\87Ô¿¨Y\84OÖrqh\97ì\1a\11\ e\8að<e2Û\93¡.°
+3m¬\8a\a\15¸ z\8fø\º\94\ºU¿\aú®_Â\0\ 5ÜÀa3\8eƪ\82¥\a¼\91\89\9fè<ä3uÃ\10\ fàôçö\e\9eÍÔ\8a\vÕ_XC\9a|X\90\1fm.YrG\1eaó#×\7f\aÔW\v\99->#\18ªÁÈT\1e4O½/5\ e
+\92\9ah¿VDh Í\8d>4Ç\9b\16d´ø«\a'BùM7ëU¯ãGÁ'õ\8cøDü_×âæ\9a¥\ e+½\(/Û\bsÞõ¢Ú\84ö"[ø\ 6\8b\88\17£4puµôÓ\4¸\88\9dº\ 4\82\81d\ 1ú#d\ 1\90ºEÌ&ÐPþ"Þ\89\8f\aá½,ÖU\9f¿°ïº\vêW³\88\8eÐú\9c\89ãP\Ò¾ß.\87zöi\99\80¯ÎV\1d½b\0ãu\0 cBb\19ìaÕîÃVß(À\f\aG|ZÚ0Ï`i\13å\ 15µá6\8c2ß[\89\12½¯\7f\81Â5OÏÁþ\ 6pûäÂå\83\9f#0\v\a\9dl5û;½Ë/_Í\9dØ\9bÓº\8bÝ4x\b¾µüÜÓUuø§vÈqú¹3õ\1cÜǼ\80KJ\18\80n\98^\82p$ß\8d\ eNhöN\8fk÷<Gµû&\988|ÇP^\17\16\8a²wÖYuÙ\99\8a\17º\1d°\15\87¥¬\9eØ\904w[Ä7øå­#Õ£²Ê[\ 3gxXé¨Ð\96I[Û[¥¦\ fq½µê\f\19\v$<å¼`\ 4Ú"\8a$$\ 4\91¹Ø¥O}\8f<ü£ô\85u4%\95CÀÛ_õº·Í}\v\1d\88
+_ü&\95ZK\8f\94\84lmа\ e6Þª­\849Íë&Õ\9c\8bô0÷\ 1ÊÃ\9eéP:\95uy»¸øÜ\16U\10\vÑUû\vÑdñ7\15Ò*\91¹»ûèÔ\83À\7fA¬Í\OÇ\ f:;\9b{\93ùyÆiO\9bõg\9e&AUò/Ù/\91~B\0tm¯ûÖ\8cë/\9bÖ\8d\8cS\0t\ 6MÐñs\88¢\96Úà\19\18ÏÜ÷©øÌq\1a°@¿Óo<å\b c\ 6\12Årñ\891ÞÙ,f»\84±.¼V¸Î¬P¡þ®\17&ò¶\89:{éX\10z´¢\86d\84iïj\7fCº¸Û\b\93\ f\7fíGoõ\ 1*\9b&òª\1aD\12\86N¸³¨ê\13C\92¤öN¥U4Ù:\e\8d\a{C¡Ú\f\ 6\9f³Dú¾ª\15Îkvy\ 3¢\ ft\1c\1ctheËO\8f\83ýå£\1aGç.67oð0\11C\ 2\84]\8b/ª;AJÆ­a®5e0­T\+Qv,\95ØeZæ"ªÞ1\83Z\1f\11\1a0<c¢rßf·eÀM\ 4¨\bØ~ö\8dÙ2Î`\80;\9eÆ.MÝâ\95­ë\16ìhÒ\8b¢\83\14~^Íkv(e<®À\95ÛH¢r\0i\9f\80»¡%\15Q\rxAìS~³{\8a+\95\ 6ÉÞ}\8c­\e¶n\97\15bÊçë<{7X=\8a=%ÏØ¤öÉ\86+ô¼si="ý\8cãéeÂ'l¢µ\97º½\ 4h°Z+<\9d\8aT5öµõWE\9e%Ñ-ÖFa£ÿãA\b|\16óm¿\97\92^   ÿ»µ³ìZ}\ 3\85üp\fÿð\1c/øö\91J\9fûH¥Oý§ø\17\82\7f\97²yÜÐ5¾§\16s\ 3ϲ¥Ì\ 3\\96\99Ìçøû<|\89ÏÓ>È/.Êû\8dã\1aòò¼xér½rÜS^_"rèÌ×M˲¼\17§¼ccNG\9aý\89îáC9Í×\97ew/Wwªø'O/\8dÙ\19äve¿ò/!ò\1f\9d¼\14¦ëôê5õJ驸pýN\a?]g=ìÄëë`¿ît\1c¦)ÎG\9b\81#«?Ùt8þ_¼³ï(»>ú{ðøý\17qÙÈß\e\7f\99*c\93Êwÿ\89׳Ä\9c\84l¿9\bE_\80\17æ¶ÿc©oõô\98}.{\9a}c¿ý\eï×\93sCáÎ2ßöÓ\9f\17\0/E£Äý\9a\91À\vÈë\b\r9éN¯ú%77×úVz\ fs ç¯>ËV\99¯\ 1îêíú¥pú~OÑü?^\93\7fâµiÚ~
+\8eߤî\19blw\18\r>\91\9f\a°jÓúê*\7f\9b©û{ª?\a\81\98¬­ô4\9c³V\922Ijé´çÿI\ e8\9a¾XiØ"Æ&Ý\7fÛÀ+\9eýóþE¦\7fþÜ\ 2¾½&\17\1eÚoæ$8á\876¡v\8e\1f\9e\85ßñ-3àÆ\ 3\8e\ 2\8d1ñø\ 5\7fváû,¿|d\87\1d\7f­>føÇÎ\rç\847Si\f¢\94É¢4ù?k\ah\ fõ¾  î¯{\19\94¶¿â\89W{,\8b¥èyT\98[ _É/\1a\95$ËY\14L\8e<VÍ\e\9aë$\84¤Ó\b(xÅSaÎÀM\80\b »5\81\84C\8b°\89\8fôKãm\95é\91¿Ø\14G}\e>R(^«\8aÎ-fO\7f¡\9av\0ÆJ\19ÓîqÛè.\15\9e¤xúÎU\9a´\1e=Îþº\84ýwÞ¡E\b\ 1¦\bgU|¦\9b×|×÷>k»YäÇ¿À\19K\1f²èÓÀ\19{\8d\19
+\r\âð\ 6]\1c\ 3ú(h\90Óä½\80­\ 1°Sµ¼É²$ic:{¨·\17L\9b\8bÜ\7f}ÅS§ûǶ£Ä»\1dä^ÎhÀ\ fW\12ê\9d\8av7âà\b\ 4?²é%\v\ 1È¢\f\80p\17ìp\0\19j\11ãÁýÈßþw\87C²´\ 6\ 2\ e\94\e[5\7f8úãÞÐ\1a\9eà\16\15á\8d\10qa[¿6 l\16-ôp\ 2\98\93\r\87Lst\89Q`äV1»°A*\82\r=ü_eÎ;â\89ý\81ÀfQÁÖ¤%
\99\ 6\133\96½\16\86\86$Ñ@\eVÂÌ/À\aë_D×QXúõ\97\1cF\8agÓBÓ­eé\82áýPd\82_\ 4\8f®¦Hü~r}\f+\92îÙÓÐ"[\10®£\80\19=±.1²\1ay¨h
+Z+\854µ¸\r\91\91\14²îÞ®ïh\7fK\1dÓùì£Åü7ì\ 5(îµ!\fÝ\93æ¾BܰÛÉÁ§\1fr\ f1ÜQa\86Â\ 1\9cÆ\ïüûÇq]Éx\98Ú\81¿ø1\1c\83\1aò!\8cåóÏ\97ï6ò\8b¢âïóµ,oÌ0IMï\8c;\9d0[Ñ»K04ÿ\ 3>\96~\91\v+ÕþÊfç·l\96ì\9cÜ;¾Cæ»2^êºÐýç\9fE¡Ö«=פ%¿*×\9cvµ26ÓUݹïì\86ù÷d¬\1a\88\ 6-1\14ÓcÞ*×\1fBù¯\9e·¬Ñ8d\ 5\10³\10ì\\880'U\9eF\84\86°\1d\8cñÅ\røª'wW˹\f4Ùî\93\89\1eÀß\10Y\8b¶;Â=z}×\9c· 8n>\81\97\bp\ 4
+Ùb`'\81ñGÛ\1fd¶ÅÃ\ 1;p)àµK×]ÉOÁ÷¾°(¬ï'\81ýß±sÀ\f°2î~1#\16l\92\1a\ 3j\97\9a\96úÙ\96\ 1Çl·C3\1d\92\11±\ 3í&b¶Mù+´\7fGà oÌS2\|\1d7Æ£y3\ 6ð¸¡HE\ eøÉe4'@Í£A$áf\8bÞ\8cájQï1÷\86IdµÎ\84]ë>k\\80\9bh\ 6ÍR3\bÅErN?JßÕ+\14\9bäèîÀ²\17µ¤\1c\ 5º\ 3p\83u/\a¾Ô\9cbòÝ\18%¡( è\ 2Óxt_ÿ\18Ý[\83\88¥3\9f*\96dÛ"\80\98Ú^\14úDµiÞ\84\85¢Ñ\91f.¥ó\\ëë,[Ä\rÔ;Òç!c¶]ÊU$TÆE=\9c߸g2\ 1T\88\191÷Ï\0±ù-\1f­DÜRp \82v\19s°0\r©¿!ve\18\80\19\14§&\v\fµË       Vñ~\80vîßÖ6k¢o=0\9e\ 4Áñk)\8aîaúwH¡\15\80Ù)o!Z\fcÊ©`\17CU:-ëÑ»\ 1ø\1aç9ñèÃc\ 1Àb\89O\95p´¯+qF\10   ,æ§\8f~®ø\bÎÃ\13\96\bß°bg\vV\\ 3e¡Zù¬\13¿1Þ+ËÚ5\0Ŭl\8e)^UjP\8bRñD"\l\ 6úC¿s½v\8dÁñfkCQ»¥0\93\14¿\87:^\1d\98Ky©1ð\1cÎ÷®Ï]\8f´Yü\r\1e\1e\91»\88>\926\82(cEüåòmü§¹Ü\v\v´å\14ö}#}/\19B\ 1ãøV@È7|×ô\9btÓ¸®¨\18\84\80\8a"\1e\86ÍûÁâ/²÷M\12n\188t>\0\e3c|\1aé\eàÕE\10äã|\1a\ 4\95\98¸Tµ\eÕt奱íÝ\1aY#o\7fb\1e÷õEÅ-]úî\9d\9f\1d\12j7\14DCÇ\ 4ME\97\86\e\rJ)Ñ\1d\1e¥\8e1/\fáè² ÌÏ© åÑ\9d\aæ\99c{yç/ñµ\91ð\97¾ é\f"\85\80\fÒôFÆú\a\84ê8<3Ý\95ãÎ\87Ë»9«ë\ 2\1c\95;Çc°" *i²\14*µ\M\92±Cà\99\8c\rf¼P°t¾í\aº=ÖÃô:H\8b     e¿ë¹äºK\86\10\ 3lÐT0\14ëm\v]U\8eâ²òþ\81\146ùFßÁ¼F»mUÙs\17a\ 2 
+¤¿\7fy5\82M\v̱·2¶Q½§¿ºÚ\9d÷Á\13_\176v\ 4&\9c\87\93'¯5Õ븹X?\83L2Èwv1\9c¬\9c
+/:qAß»ôd[\90\ e\874x¯2^\rü\14\93ìÔn\14\1eN\8bª>\1dÆ»¡ëÚ (¹þI\86\9eöO³ìQ+\96m­cÓ\bð\ 39Äï\11\90\18·\96\18\b\85\9eûÚ4¤\9fë»úþ»¹$²ìIa    \b\11É\aD\82ìÔ\15!\0oâ\\8dÛ$ÄPPTq\1c\ 6\ 2\89È\8dÀ\ 4w\v\8c\fÉ.Ûquw1s3ys\s\1eÍÜÌÈ\99\81\ 3s7.A@\ 1\120ÍPEQ@_\86ñåÆ(@\ 5\9fÿ¿~ÿûï®îK\84\8c 
+\vÙÝ\89ÙÙ½¹ÝAÔ½Þ÷nÐwQm?g\9dê>¥êN¬ê\1e÷º\93©:\83©:£½î÷»©ú£6\93¿\81\85<=ÚÝ­¶HâyE\84\1a\1dÏ\ 6¾Ä\11ány¹v\17À¦\9d\8b}¦,=ºñÚ\9bû\92 \r\86CªRs°Ã\87ÓàãðR\89åTåiP:3¸Ð\8dã~®\84zââ:\87\9a\1cä\81@\13\bu\ 1ê\19©¯\94Kî°\fºôxºì1½µÜ]\e\ 4]\8a¾ÁJ0\80y\f\11i/²:Îk\7f\8d±_RÚ6\92\ 2N\\8bÈØ>\94zØÍïaï\1fIw»\17{E\12.ö>¡â'\ 3î4Ò\11\13I\13Å\8fÄ\8b\10R,­?\19\9d¬X\82lØò"ÃÔ\91#\84\86´\10BJ6\89\831\86\81\89RGeUÁ\bæ\1dóʼÆÌü\84¸1b\ 2\f'N0\8fçI\Ê\1006+$Å\10¢ÿ9á\ 5ðª\ 4µÒZ\9e\ f\91´<X\86y·w\mfñ"Ä\ f"\fñ¿Û\16\16£\15f\81\8a\90{A\8aíú1"mSìF'#¾/]ÇL\94A©Øû¬\f;ý8É\9e\89&\7f·è\1a\93R'Åå¢\82í¥@ëÇùââÒ(¸D÷(ÛE¾\r\ 6.¤[Ýô"Þå\ 2-í²Ñn\89È!u\16æ²Õ®;Þv²gM\1a~QJq\8fÍ\8beq½âJ\85\9dh\e$ûu%¡b)GìÕÞc°7¤\9bu\8f\9bTu¶òsªÃ»C$Y\9b!è       >+·<XÚb\14ø`ô¸Ð\91ML\9e,iÜ\fàq2ÜÉ(*²ày1ygJZÅ\93Nî»ÕRcÀ\e½ûÅ~\1a ÷\16t@\86\9e\8ay\90mÈÉ\1f\83ÏËÆß\8f?$²\fw\f\a"\ 6^J*\f\99±O\80\9cø\91Ì®X}´\89\ fðc4\9bî\14\ e¯;ô\94^\80+V 3¬;^é\86D\85G*y*\87E\8dw9Ü\94S½~5ÜøìI\9båD*åû\8a­{n"\ 1\14\rzs~ÚÀÝ `tÁ_\15\81´\10üx      áã\90O\v§Ò©ÖÚ\ 2¾K\82 m¥\93\96HX\83é1\9f\ eÍ|(\108@\ 4³°$àW&ÑÖ\17X
+ø¾Í-ç\91\85\85CVÒ<\8a­¡Ëþ\e¨\1e@\81ÊÝaÙZD\96\8e½ï($é\88\93\12ü\1e³eèº\92×\ 3\0\1e¾y)(\11*èAJyצ\fo\ 6\8d¨Û`;)\ 4!szi\8aæ0Ø!\b@°Îê\ 6±? LÅI
+"ß\19Vǽyi©x@ß\9f7ü±CÅZÇ>_hÂ#\ fm?¥  7ÿ w߸bßYIþÓðNÌÅ\98\e3\8ew»7pe\ 3«áì\80²A \ 3a GS±:Op¨yQ8Y\ 4¢\ eýö*2\ fàzhÏ\1d| b\bá\1fJW\81\r\15;»p\fHeRª1z\96\ f#k1p\1a\13wVãÏ@\90Z\10\ 4 µmv\88\1e,\80\ 6ôR:B\ 5\1d\0Ì\ 5qAiÂ\88\87Q\ 5§\80\8fÚ#,\85óK$Þ0¶îõ:\14\1a,D\8f&-5ãf_\ 3,Mà®9\a\86 Z~\8fX\82«\+\8fªry¾¬£«¬Pi\0sÈ(\89\14\83'6 ¸Ë0\8b)\11Ū\1a½rà¡\ 3§Õ\9cÁÐN\8b\16ù  \90?\9eiÅ×\12¬\81é8^Ûa\13·\95T\99\8dV CΠ       y\92\88Ä\bvK\96\19·ÿ\9d\87\95\1fÇ@$ðÎ\17_|;hÀ8µúú·×\8f$´[}Ýòa\81\1f\9fÆ\\11ùû\9fCR¾£¹ÅÅù\18ÆGµZ2<qr\11/Á>+\rHÏ|Üño¢½D\10oݾ®y\v\84\ 5\1c½±Ë\e\88ÂÅA¿'èñ3¿\ 4a?ú«\19ÿ\82Æ4ÿUe\8f\9d\9cöúêîóaÐ}}ëþî{ÎmY®iõjR¢\96¡ýé\8f¥\8cý½Æb^<T|x«\1eLb?'û\93ýÉþäÿ\7fËû\949B#Ì®)\ 6*\80Õ¶9\95­¨Î³rööºÏ%{º\90_ålaìU4«÷¿ÙC\8f\81\89óÉ\9e@¯¢eùèqð¹Å\9eÿõÈ\15ï\7f\19KSdr1ï3'Æ¡ÇÂ\14þ\15à\97õxW\8e$\81]4H´¥\89\v{mÅ_ýÂ\87\17p^\9f\93qÄ¡ÇïÇÐ\1cÉÿ|\8a\1c|ô4Ù\ 4ÃÈÌãàN\v\e\86\84F£Héø \8dW
+\9cBêy\87Þ\82ýÞÒ#-²\14\86\1fÝ}\1246\90Z\9dU籤\9ej\17>s\9cÈ;üK\95b\90\8b\99\90f\9b|þ®\9f\99¥\81\91iI=-\9bÀ\83*2\1d×m¤Þ!©\ 5É\ f\9dv4@!¼]\94\88\ 4EºYÍ}"\124\88\b_ËJúI÷\1asxszMÝsG²ô¢ÊÈz¹\18mMèÍÞ\ 1\vg`2Û\9bV(Nö\85ÞÏ\1dn\83RbÒû\15ýñ\8f±\81bÛD\17qzû\15æ\8aè\ f£\ 4\9et\82\b\ 42<¨÷\88o°M»^\9cEVFSf\fr5\96\18pjà[Ï\ 4¾Û\82\8c\ e\ 4¾/yì\b4sØj\18·n\83ª®aü\911e\8c\ 2\83ÿ\86\93\1cð¦¸<Þ\1cL8g\9c÷\95ü@ÃtX\14\e9­Y´D\v ÷®\vv\85¦93²tÿplÏ\7f",|ÆödDÀ\8eÁ£Û'¹AVZñzÎà8þ\10USH{
+Ô×Ê\84Ïc\ 4B\12έ¹ÙLÛ_2"\ 3,Ø,â¸,\10\82ss`²\8aà§N!=ÜcUÁeÓó\v\ 5\8aW\ 5\93;-°Ü`ÕÁ;\16m;\80Ú+W\ 5\91\14\9f<Ø&*౩÷\ 5\82ü­\8f\82õ\1f\1d\8cyn<å0Uù¤úâÁkÕÁg\93"\94vÔ#\85Ó\97,wÞl"S®{®Ëç3\81\ 4k\8c\ 1=è%¬\1e\f¢        ù"V;\1e\82(s\ 1±%º)\ 2\8eÅ*Þ{\9d\ 5O\9b 2µEÀ\f?\99¼CÚ\14Kn\7f×Íú\80Î`1\86¥K4ðG\9cl«tü²\w(\ 3áèz®êu2®çúì¾o¶SMº\82ÇÍDú\17Ø,\13vËh;»%    \r\90=÷u8\1cl\88ÑÓàÇ\95È\8c \13â\93p\19Ò[¿"L\88É\94Ë\81\ré\84\13\18O1ü\ 3\1e\r@\12³Gå\1e#?"°ì2(ý½\8aÂ/Ó\ e"\8b\1f\92\1f\16juº\1c\8e¨\93¤ºÒ)sTà½ÌÕ÷\99\13\8f[20\a\16\ 2c+\ 4l\97L\11¦\1dûdU\96\9c«3/jôL,ö¶!K´¶¡8ÿD\e\7fÕ\90ÿÄ\e~ý§\ e\r¾\92\ 2M\a \ræò\11ÊÎ\93Ê\8d°ªô£ÄB\13¹û\fØ®|@ÎLÂ(\9bq\18¨#2\ 3Y\96\ 6õÜôÇ}&     Ü\97\98tö÷"\b¹îH\ 6¨¾ø\92\9e\9c\88\9eÿ·s\96TÓÈS´\81A\89v\86¤'\99z\92=óm´\7fÂ\14bÚ§¾Nucß'{X÷ÉÉ,{äÛ@\13b{I\ 4H\1d\ 46p\1d½¤\83\8dÏ\ 3\17{>n@U\ 6þ\8f\ 4£5ÓÒC£Â\0\88×n0i=\b¯\fØÐ ¹\80@\80ßÇ,é\98ÐÀå^AëZ<CiH\87í  ;,¦#ÔD\aß\88\8fQ\1a\9bB?\8cSñÏ\1c\84òÂòf?yxjÏá{Ô\97\9fì\8f\9eÍ\93ÙªBcAg\8e\140f¹EÄï\8a\9d\97KÖ§¨·\1a\13\v\19åæã\ 4\ 1§Á\81GC\ 39\91z8稳\e\ 1\80\v-ä5Kd¬aá\ 1l\126\1af\99\rT;Э\84\ e\8dæ¼\91êGH\16Â\15\ 5íâ ÷a¶íX\8c?\ 6¼
+N¿j&Z Yb<Ù:Ä\14P/Ô\aà\1fb!r\18¦\ f\12Q7FÈã(§ \15\ e\80\12IT\1a\fè7jPz\9b4T\15\12\15h7Á\91Ø¢\14|¿A\ 3\1f\99\98\fÜd4\ e7Ä/Eü\ 1ýcïM\15Í}\ 2Ä?µÍZ\163Ä,ff×\192XϰXÌm®3\ 4XÇå\8cÂÚã'K\19\99,eì1\90K\18K\18ö<¾<\83\8b\1d\e&'\9f+\ 6\1c^í±,Ùº¹´Àè(Üxª7ï\84\83£ìJM\9f÷È\84ñ{\8aú$U:_T\88\ 6\16Åöëø\88¯ü-\8d¦Éö+ë\ 4d#Õ\15÷¾ ½S&l!1`ú\v\8f¨Äó¯0Ó\16Y\89\12\1c\8eT8ßÄÄ#Ì\97Á¹ø¸9bÁÞ\96ÁÔàhGÕjp<Û\15\ 1L¶©\10º\9f\11\1f·:#2\11Î\1f\15ê!lc"?)1ì\97Ø@ó\19(-D©\95Õ¢\9a\90Ï\10\x¥\81ú\b\ 2¾ \12\96\aùèêJ\19Çê\143\8eÁ\84k\bíù¥\8c\fÁØ\a¤\14\7f|<-©6!\rt×.Y\9d\B¥\9c×´,ÄRG3f0QÂ\9f1\88\9bÉ\ 5\94\10bØ+ZR\86ÉU7\9d\809y¹k{$Tź!\18¶zñ\fk`Ì\1f\1eÜ\15«þ\92\ 3\8d£\ e
+CFÕVa\11\8aC2QýøX\5Äÿíqæix\1e\ 1ÄN¾\8bú¦i|Rlÿ\16\17½êõ×\17ú\1eHϼXe¸ðÃb\ 1\9cä×7æ¢#>þýÿ\99´øQcõ>?\1eýèóM\8fdjgý¾¶ýþ¦"ÝÇB\81ãÃ\ fÇ3÷ÊCcǤ\85ã¡\fñÐ\81y}_ÖÇT}üÒ]Î\92\rogG\92¢\8f2ßþ´"_\93\ 3ßÉþäÿr\7f¹?ßñ+\13y¯¹\9e\16\aæÜÍÍú3Úsÿ[\12\97O\8ek\ 4õÝã7)³]gaÂ$>ýeç·²\1a]>9\1aƸ#X¹V\7fú-ØwPÑà}\9a\14%Øà\7fD\7fÃK\9f\845ûï÷CG¹gñÓµùT\ ep²ÐãRçî¸Ä\87~5;^\ 4\87]õÑ!ßµ%Øçôý·\1c\91\ 3\86\80æn\8b\12Þ0N\ fp«ûíD°\15\8b4ýNi\8e\v®t\11\10\17Ý0\i\90%LåPr6®x\8f\98=w\r` £/`Î7c4H*-{â\16\14·Ø®è\93\8b­¤b\1eåòãØ­@P2\1d\9a\11\8aþ't>Ã$îÑ\1a´\ e\91È\ fÅæ]@\97u\85\98Í D[\v\0,\91\97ÅúAÈrüFtIðe\9bÕ\ 2:J\82«V\\ 3¬ý\1fbÔ°&\ 5W\1evMTy!$\82\86C52\vµõm\93±^pâ\b\8eà\93à/¾=\99ó ~þ\1aù\f\16ÎSûÑso¦*\8b\82!q\e \10\aýË\96\9c&\ 3¹O\10«\19\ 65Hа\1eìx\bô\84<.¾K\ 5\ 51ý¦MÌU¨îà°]¬C3éb\90Ìó÷y\12\8dÔ\8f´Tõ
+Pzfô\90f/\85Û\19¢\18"²QR\95Q  #­"\91\95\96´:\8d\8dÛb\13<òÉõ\ 5\93\80¢¤\83\8e³7²Z\9b­`T\94 Ñû"Ë\ 3°\81\8b\e\17lmI®\83\8e\ 1 Ý\8dO, Ï(6\8e\ 1Q´9~SF\80½w¶\10\81\1eÕ©0\16}\90­\ 1]áÕ\19\8c\11é÷j±RÞyB§Ï¬\97\1e\90ÉR\13áe§î2aï\110ïwVã`±"\7f×,H\9fõk¾\12\88¯J»\1eº\80Q\8f\9a\ 4\90¾Azé\vt\8d\ eá$7\88\92ûñØ\8e\88<_ï.sPØJl¯=¾t»Kã±\ f¯ÿ¶=\8e»'õø\86¸Þ\94ôù+Ñý\85£ÁÐFµf±\0ÖVÆÏ§<Á\9b\9ci¹óáø\ù÷\e^o\1e5,|rÃÈ\15,\7fÿÉOxrï\84 \ 5»äT²ÿØJ{À\95'þ¸ç~Èõ,{î=K/ð\1aÞõ9ó\82\98t\15+|Êÿv¥o\8ck\8fß\1c\94÷¾âóçn}\ 1Ì\9f÷ù\89µ~\1dTðÃVrÏ\9a\82\9670\9fRJ\82.q\ 2-\ eÒ&åmòÆU0nB\88ç\959#Nõ
++hbF£ðæäÝ\97\87(îyÀ[À\8d<Ìe¡#\14\15\96òèå¡å±\16\87\90W÷Ç\9duxR\82@Èè\94Q\1e}®=#|R^ƧÑ`o`ÈÜ\96\82?\17\82Z\bÓåí\94å?AyÔå0.µ§3nhýf\aS\1c&5\ 4È­ð\16>\9e\15Þú'*Ý\ 1ùy\95Kqà\97"Ê&\11bÉb{]:\9eÖ\80\87\M\9arj²\81\82w\86Ì2zH\ e0,.ShûBæDÐ\8b?´òþ
+m\1fê¯ÿJm\1em2w+TÌýºÕ3<\ 2©\99ÿ×.Wà\93\fÿ\97\11)\1f¸Jaýíûø\f-R\91u\18¸ç\1e\10\9e;\12 ÿçh\ 3qå]ÿöï/Éø9\7f\a5qV\8eÌ\9b\9a¾@mL<-\9fõѹ§å£\16}\18æì\9e\aTÍÌË\15Öm\18ÝsOÇõý7¬©1/CöIkßDbó½oÄOyá!ý\84Ä\9d\ f\8f¼\7f¯9>Ó|»\8dÌÜ&b`\13ÀæOû÷\8d«¸Tôj~îù\9b\87\16÷Çô÷ÈqÉ\899ò~ý\ fÑ%¯\ 6J\94pd«ÇN¼ç\v\92Ù\ fÛt{\12\8c\94\86c@q\8d¨D¾|j¾Sq{Ì­Ø\7f×-Ø\7f\96â\9b?~\14¾þ9._ýlOC\18\ 5¿\ 2ëßïã)Çë\ fl\9d%kR¸áµ¯r´ØØç\15\1f\11zfævAu\9c¯\bº¯é49\9f§\ 1ÿÿ\17R»«)Ï\13p®~µýb\1f\13\b\98Ú|fÏ?ýåÔ¬>æ
+{ú\9f»¾\ 4á9ñïÙ\9c\9a§³ã\19 ó¥äVæj\9295Or|\9dËN1³Ï||\9dóN%\94çò\vª\98\13ê\ fä%\9bPBiÞ§e¶Kw³¥\97±\0»I5änòSx*YxT³UÁ@\82ÿxIçF½îp?\14)OëÞÆ.dA"\12Q\91\88Ó¢s2\ 2\ eäë¨õ"ð\1e\8aÈBy8"\83Þv\9fÎ!6\9f£±{¡"Î<Y}Þ]¶\87\91\f¯\1c9Yì8\1ef\9b\87ë\90ða\96àG-~YeU߬­Iû\9b\87ÁèEF³E!\16ıV¥a\8cIÒ)`XRÇg\r\90\ 6ø\äR\86W\ 5.\ 1\ 4©Z\9b4)[QX\ 6\9b6[g\99HO\e}Ê÷p]7´w>êo\ 5\9dñ\92\ 6vÎe5\8f&\84@\9eªÁI\13³\87º$\19¸\85\107\90\9ft\80\9dÏ\0¾ \ 2Ä\90\99\11» \95\fì°\87\1c\81f±¸¨t» È\82  þ\1f:\94\1a\ e\ 1¾%\9d\93W"]\ fjl%\98a\e\ e\10ì»å_\ fU\1clúÛ\91í¿\7fâ\7f\8cã¯Ç§\1f\89Ì\r\ 1æ§ÄÆ\8aw\1f\8b\ 1bç[âÍ\87%Wà;5>3&®zº\1c\8b\81=NúLiðb±·p,31aXþÙ/àD$¡R\ 3U\82\14Òå -³~â\85\7f¹·lU1ν(4+ͬ\90\1a\95$\rÈ|\90ÚãÜ\9bÊñµ\17ª\94þÁî<,\ 4W\9b\ 3h\95Ýý6ÓxéæE\81¯[\1a´\1d¡æ¼CÙy?íçS\87\85\fM\ 1bi¢â½8r¡\8a\96,UT\Ó\8c\1c\8dÿÑ ?¹ÃÐ\e\7fmm\ 1ÕÿF\80úHº\ 3\80:\ 5ëÄ\84\92lbè\ f\fÛL8§Qñ^\9c;ëm(⥭ñ\]\ 2\\13êû°R?v\aóøXxü£ò§.´vgý÷\a\ 3\9b}Ùá;ãÈ}þ3ÅÖ¥uL¥u4µu]ëjxýtþ\13O    ¿\85+á\×Eå]\15¼\14ý.9ÌÙÐ÷ìÜà\9b.³oÂ3eù'<¿Î»®\8büKÇìí_\ ewûd?ÊRÑÆdGÿºM\9dÉÊYû\9e9KGñ\89\8d\8eãYËí¸¦-\f7<\85$·îï¤Ü,\feËRéHr×\89ÒoõÎ\9c1B¸c\1d\ 3\9e/\QF\13\94¼\9cP\92:H\1dFEÜ\14H\96>P\ 5\19\8cÅ\85Ã\ 2\97XIH«        (r_R~Õ¸Ô X«\95?ÊÄåÐîv\b\f\f\90âî\9dù\92ÖPáiåZZ%Q¯  \0\99/\a\16º\ 6Σn!å\91\14ÀÆ-§z\92Q\9eÃãè\ 4»õ\ 4­\8d¶£¯\9b\9dko\8aóÀ@'íM\9eè¤FÃ\f°áJ\v\8d\85t[Ðdñ*\1cpYoÕ[=Õ±uOÂ-\12\9fÞ\83 \89\1eA ï\ 5\85Uà4õ1\96\96\18]¬þý¶\88
+*l\1az\89Ïq¶\88(\0\90e\8f\7f\84\16Y[g&¹v¡Õ\98L)6)\80\83Õ    \19º\ 1\1afçEâÓµs"\15\8f\ 4ÀµÛê\1c\9f\90\8dÓ\14+o\vb\1a      \11¹ûG\84N¸2eÅb\97ðDÀ\0u\fC\954\rªe+«×µ\0¨G\ 2ÀD
+\1eè\10mÇ:f)\85.Q\88Ô¶Ñ\9c\85\10ý\86\8bX\rÿP&2ò¨¬±1A&A©í/G\15\8fýÚ¦î£\e3[Þ÷ª\r\90\f\9doÚó\8aÌ\99\81m'È\ 5êi\17 ½\9cPt\9fس\8béø\93Òjfμ7\ad9j\96) ×VÊ.Uy8\932W*oM<öo&÷¦;%»J;£0È\89«Z+\ fÆ\95\99#{ýÑ\95\98jiäÄ?\1dÃGHÁÎ\99\93ý\97òoJ§\1fL%\83â$Yõâ\85\7f\88u:%~vUä\fÄ[\ eϸ²\9aó}½\9fÃ.+à2¶\97\15Í\11N«Ü2¹\97\15²,f­\94yq_ªRæ\1f¶Êæ\W`XÎå\95̸¯HXǬ®eÅ\7f\99\ 6W2â¼ùc1\f£Ë\8aòl­¥Åe.ÿ?ʱ\85\9b Ê<¸¯\97eu.+Ú"Cf=\95Ô¸¬(Y\ f~\V5øtyqXl\1e¤¸¯ÂF$¸®\ 2+K\8aú¨\98\84z2ø6b.\ f\16X>u\18\92â¾Å\12\97\15õh­.+\vyÑ÷¥Åw\84n¥ÅwôU\97\15Π    \83\10FQ\15eÅzrÀ\85\17\1fªD\10äeé\91Çÿ\13\ 6çI\ 5\18CÛV×ÐB4¸¯ì\960LÞ¸Ë\8aë\98Ä\97\15öÅ\99ÿ\ 2\11%ÅuLm¥Åy\ 66òâ¾Ñ\8a²â¾\99\8cyq_T>\811*ÇôK\8aߣÀPñéáÖ\97\r\80ë+ArådVª\r\17ôw'\f}@Ë5J@h\10áé\ 1\ 5\94ó3}\9fÝÈåm\99T\8e\8aò]t{à\f\fk\vêA¡FÎ\16¢\8f\94Áv½<ù.0¥Q\82        xÛ¹ô¼êÌ\86/&\18\8f\eÓ#z]$\bP5\89ãVɼe2k\8fsåÔɸRñýË\ f\88Úßþ\ 6\1fð6·ÿä\v'~ë\1ek¢s\15\15nøºù\8f½®¾a\9c.¾/å    E[ý2ò¿\81Dë       \ f~0ò\1eø¾\7f\88¢'ǵÐ8ìeËR]ÿ\1d7\9fýT*?ýåçþ\97\ 3µÁé`bÒÓáóát|Å\97&UÇÈþ\ 4&\1fÿ(P}Å\0Ìâ\81u2éè\96Û¦6ËwlvÜg\1e³rêþºÏ \7fºï'ì\eíþÈ\94hxéÕ\ 3\ f\ eÜÆÛÇÜ,-        oÄ\98þÞô»ÚÈA}\87#½.cÿ\9déx3Ðcno|nô°§\böÒ¥ Í·\16¢³î\ ea&ûû£ F¯zX°\81.ü}._¸ñ\10s\a\88\83\98ý\1dé`53ÍòmÕi\19\85Ý\80\11Z£®\ f\1cèÖ\r\88ýðñ\89©óµ\9f\93з&\17S\9b Ô\ 4¬\ 4\84\8bÜ\16µ2¡e&rjØâ§Zî\a>
+£¤\ 2W"©/\8a\19L\ 1ÂÔ\r6\14\a\a¬|ß0¼Ø#ù´\ 5æ
+L3E*©>\rZÈê\14\94ÈlÈ\9b(\8a\ 3ÿmgÈö¢|/]yµ7¯\81|Eñ\ 4ø_ñ^x\86ößçÛg^\ 5ä{g\8b=XO\85öÑ\99\88'YÍ&\1fC¬æ\9fìÓ\ 2±ÈÿeYÍ9\7ff4\84Û\97Ö\97×¼¡¿"ÑW{±=péÿDÄ\1a\10ÀÿËI÷£¡J\146nªº&;ºö-´~Q\16ù\15ï+\93b\93øP¶Ì1\90d×%\v\86µ,\1e²\84\ 4&bL$\ 3\1c
+ÅâUkøY*        0xÀ}\16©ã\v¬\8e¼Ù\12\aÈ\90áz2)0×\1f"»ø{#z2'ÈѸÈÍ\8edlS-Ý{
+~T\16\11\86é?I\8e&O²\94c&\95RLaɤû>ÆN\9d\10°ðåÉ\ 3-Û"Ò\88u\8dNÈæ¼ÿ@î·`¢·Ë¼Û\88}\ f\12â×\ f\94
+G"Tl6\916"Ï\1aÍ}d\88³©\1fE\v=·7 ký²dÑ\13M\11RB2+jmJ\15\9dÓm2ô Bïj}\14\0­Ö¡9_O\8bKN\ 3ïä\ 3\8e&ñ0.\:êíÖ\ 1\ f#1c\95u?_O0¦\1d\93ÖØ\87\0sb\80feÛ\1c\ 63Øî\80ØâX\13\81J\95t\19ñ¶²\fa,zUwd\9aGAMý\1a\89«EÑ\8e.\18\94Ar¥ðü\81\97S<ÕÐwó\ 2Ia{4\17ÁJÑå]\1fxò®\83î\835\1d\ 2Ìï\0\90%\9b\aá\eÿZ-\1f(\ 6\8f\9bÕÑí\8dÿõó|Â@a®\92\11\94ß>ëÆ\95Ðß\9foXSÞ\82Íò}Bd\7f\v0õ{öuEÈj£Äª\e\88g§Ö\ f fÝOH¾\87\v¸saë\ 4H\ 3ýs\9f\91¿¤\81´§\99\eiv¸\994\9bc<ÌK\Û<$\98kâ@\ 5hS\13kÖM¶\9a@Gë*_\87-MMM¼Ý\0\8166\9cE[°À:\ 2²õâ\9bäzíæè\87ì^ù\81õ\17I\94¯Iþ±\86µÓ
\16\10¨XWºªd\93m4\94Ré"mWÎk\8d¹L\92[ºãnÃ\f\8c\ 4ѽD2F\aÉ\1f×°\85\ 6M¹¶°a$mÖ\12\ 1À^lÍ\vl\99ÞS\þ¹\84&\1aÃaÃ+£`\95U\18\8d\ f\7f&@Ù2\ 1\931÷òcn\85F\16E\1dF\8c\\98ØØ\9fg\fs!ûe\ 1d´5T\bÇõ\ 1ôÓnêoþ#\81O"\96#Ìz\8aO¨Ø\8cc\13r0°`ËJÀ[\1c°@\1fk\8f1¯­°\18!\r¥4òüÞV´\ eØÙ¼9Þ\9dúL1+óxìL\9ew¡O@;«=¢} c|ι} F\7f;\88} e?\9dÃTh\1aZk~\94þvr¶Ñ\98°¢ÚMíî·&\f:n7\8b´qZ\16\1e-\f\8eî\82ñÀP7\9c0µÞ#\86ÏËóÚ:\9ci\8dÓR\1eP©÷RK\88¤=\8aÑ\8e~G`Ï%ôê\ 6\98òÔ\8dhëY$\9dx/î\1aÓq¸Ó\9bÁXª\89\90\93{zÆ5TH§à\87\85\9dU\13\14þ\98xZUQ \9fr\1e\19
+ª&\ 2¿ÕÖa\84áÒ:«¿§\86¼\eÔ9Êjº)1@`À¾xõTW\84æ@\9c9lC+æ\82´þ\90O¡7\8eoC\r\14è\84nÒX;®õ\18¿×Bô\18:\82Æó\b\1aPg°6³]`ëÝ0\e\ e\1a¦ÌBÊÓ/d\9e¬«\95\14ò\9eç\ 6Ñ=eAYö¼êÅ\82Pº¾}\8bï_|ÃUÏ´]vÄ\1c\v[2#U¡Ñ\96ºK\11\r\1d»R¾\10ö\17+\¦·=5«\7f\97ËH©¦Ì\8eùk5$Ò\96\98:»3}æIþÍö½óý\92\7f\87:!\ac\13`\0pM¿ÇÍòØ]jy\8b1ñ`k\18'\93/\14Ýc\14úBñMV3O /\17Ȭh\9f<^)\9aÉ\ 4ðÖ`·Ècæð\95\98dÂVØl73YÎ'Ö\ 5\8b¸älÎÌTCs¢Ùï\r\99X?7½Íè_z/¤l!±6TäØ\90"ëï¶ú\13|\97d\9f¥¼&Y\8f\ 4ÏMR±\1e¨\8aÿW¼Ì\121\11¨ê\8f|¾õFx3w
+3Ásç\1d\9f©ÞÓE4aûG­\8b¯\81´Ð\17É8\82­T\11äói\ 2\11¬\93\ e\84ûÞðC\94\83ý\$Ñ\9b^\95S\19·¹\1aÅâ%\97ë\10\r®} ð¢\e\ f\ f>\e\òæÛ¾²\886¹À\a\87\9d\r®\\a\87$®×=\98y¾Pír\14UÙ¶´\87û\95\8duTL\97\91\8aäþ\98z{I¾x=\1fçîÔÜ\a\11\b\82>\8a\9e:|Ð3\ 1`\10>õ6íê÷gÛ·#»þ}»v\8cËnÙ\8dèòt\9d6¿ïfô\13|\ 1ÎïVÆ\9c\a\vÄ"é\13Ö\eÓ1\80Ã\18\90è_±K\a`«¥@3¹å\17È\90)<°¡¢ûn¼\19-ñÔ®ø\99³õn\86©\88ìí´+<F\ 1æ§\88ؽìBÑÁâîl,ò]72ßÀv\7f\99î\15\11\eÀÊß\81\rËâ"\8b'i\9dOKÓäM´\875\87 aOÐ\9bÁ\85ÃРõ¨\8c\ 4-+§ë©ç\8a¼¥Ww!:Òà!öÙ)²\ eçvLÿ\88¿»üLã\1d      \ 5\96j\7f\0·\89ò½\98»Äû~È,Æ~³ÞÀñ/ÆöcayÒÝ_\9c6ÊÀ.¤Íâæë\10OÈ/\16\1a±\14õEâÂÖsâm\8aÍâæ«(\93\ 2Íîo\14íg:\9fªÐ\98\89¬É'Ó\16C\8b¬ùI\81§\v\99\86\83í¿\9e¦íbø0´y4U\1a`V­\0¾smdàñ&Øc6ÀÆ©6Àé\ 4\84fôbH\1eí\ 4\9bôþò*\14ý\ eØìò]¾\85¤8¢÷\946\82v\16\99½ûû\ 4÷fñx|µd\8a~¨àÓðÍú\1d,\e\90\93ÿi]ç6)¼F6ó\98b°;ú\9b!äjêo\96O=d<\8d\9dMàSÌÙ\ f#wSsiü»!äpêni<\85\90înêoä'Ie\13\91Ð/\9aÛÆeÈñÔÞ\11<ë3ñi\7f²\ 1\1f,\9f\9el±>ÞÉmÔ¯\16GÝI\e/wu"Ý<5   3\17uD,+BÔDÂ\18nd\ 6öt\88óÛ\10ç\o¼iý\80ûü\9b\0dà_°\@úV*\ e \9f\1cÏ?ÏVùj|qÜ\ f(s¡ç´mArÁøÀ\87âl?\13B-\ 5ð\86ðü\85æüs+\85\9c\rþí¥¯©\f£ôd~\18¬¹¹\eh¬¼ ó\13D\17*~\fV]\11c   \9b\7fñb²ù\82Ä\ 5ømðb²Û\963O!s\15\97dFä\7fêH\Åeù%\8cÐÈ\ÅeéË\18\bz}¬V_\7f!m\15\97ÏHD\8aËíK6\9c\90\8f\15\97ÖÈ]Ee¯$\ 2\a \90º\8aË
+3³ß\8aËõÚ\Eeÿ\eE¢²Ói\12+/HÑh¬¿\9d\13\10\8ffE¬\vº\8b\83¦,\1fTÒ$V_rF«\83\ 3PÑh¬¾\95§\1a+/\9ciu\15\97\8bh¬V]èM[\9a8f\8aÅeÞF\8eúD/ËßT\88¥\87Iù%;¡lF«Y6dfÝÙF\8a˱!Ã:\19\81Eeú\fâEeýâÌôl¢Eeë\19ÛEeèYÛÅe\85`fx¬¾õ\9cx¬½\bú\ 4Ã\96\7fÏD{à\9f\ 3\90\ 4i Dà\rµò>Ê»ÖA÷\8dó%J <©aö\8c\86À\fVY}ߢ\17\8a6\1e¦,Æä\16WÎ^b4á^á\98\7fs)êÊÌÊÂzï\bcQd\82\19¤\1di@Ýnê½Ö\9aÑf ï\83(uÚ\ 31\ 5S«,ô\10¤¾Õ\95±\9eʺ\8b7ôÄ\8e®«\16\8b\13Û¯à\95ëyS\9dm\80ï\83\v\19ô\\9c\8115ÏEß\11W0´w[WT_Çh\90 \10¾\80\80\bñ\ f4\8eårPs"\80\14L\9fù°º×\93\9ejaVY¹~nLÎ_zmÀIÕ»\8d\91\83\8fz\18ÿI¸       I\97`¶ÚímrI5ä¸\99»Iöݸ              'ib,\9e\85\97¥Söâ³£©\1cf{\136\8cRòº\98ìûï\8d\17f\14i_ø\96\98p\ 4Ë?Ó\17gýLAg(Õ¾Å\8fø#_éXñc_ÿÎt\7fÀ\a\84\f\v÷c\89\b\8f¡G\89\b\8f\94¶Î²Èû§GüL1<[*Ç\v\bÜw/ö!Ð9]·h2Æ0ç\84\86¦ìnõ¶ÓyfÎ\93\v-\87¦®\86ÐÞ\86\1dÏ\8aû'Qh«\rvíÆ½\9bm*Rb\82£þj\8dOà        mqÖx±
+u÷\92
+rþ"+\9c=b¹ÆU\ 5Àmà\ 5\93Û\7f\bKw\91\r A'oßdÔÛUÒ\98ù5Ò\98i#\9f\83¸ò§\7fÍ\eo\8c¸4\ 6qãkÕYCÅcã°U\93\87wa\1f\1fÞG»ø_\17»¨äã²\ eþ=\7f6¬ûÏú#lÿ®6Oà\8e\ 3ä \ 4|\9fïúÛ\18;s\96\8cgY¥DûÇ?\vµ)³sÀ\9a]g¸\9aá %õ=\86\9ch\9fxêÊ\ 5Äq®\8akûc\8cåJíæ\7fLµýô×Ç\1cfækã=Pÿ·*xã9^4q\98$ô{ie¿wqÆ`²ó¾À\1d\80Èx\ e$o\18  ¥\80±\94¼\99ÿwt\10¾\fú\ 3r\7fß"u¾V\14\ e]íò¸\ 1ì\83ååJZß0F\80^ÿÁ\9dcÝÚ\148\ fà\\vûðÐ\e@+h\82\80ÝNð²\1fò¬6\a\15-\7f$}\91ë4Á\e)\87èj\91g\7f\ eÚ|\19ì¥&%\ 1¢V\1c\19\\89"\9b¿\84õe?Ü7\93T\8d\8cÀ\8f\ 3u×"·¢%¡\r\Ó²mÐU'ê\ 6\8fÞ§\93]oN\81\r,f³\13XÄÐ
+¶Óyi\85\9fR\a\9e \85Û\97åB)Ý\93\80\8fóKÄ ©ÝÕ¸ñeÎjÜâ16¾ëµo¾@\99\80\f\v\9d¼Çù»Vú´\14eø²=\ 4Å¿jÜb¯g1ðÀ¿÷\17ëh\17ÿLP4ts×ë\98\17ýqc:\8bôx\17úÂÄc/×0/ýÙc07ë\98\17üéc\1a_®`_úrÆC\97¹\81\7fÅ\16\97\8f\ 2ÿ7~¶\81\7fþ)x\90\8b6ú2ñà_ýY{¨\17üÈ\90ä\a\1e<½Ô\vþZ_\8f\ 2ÿ\8f\97¸\81\7f\95\97Z\ 5ÿ¯\97\89\ 2ÿ\80\97Z\ 5þÊZ$\v_¥,D9^.\ eİzùh\90/üܹ@¿àeÖ\81\7f¯\96ã@¿\82ô\ fs\ 2ÿèË+\ 2ÿi*0-»9e`_éDÓN£òe\82\ 2\eª\ faOØ-\954\82züQÇË\14°^V4\vþ,±\80OåÊ\ 5ÿG-\12\ 5þd³:\89X\90\92ÖÐ/ðï¶ð/îe\95\81\7f\98\96\8f\ 2ÿ4>\811üwßÓ,Kî/¡\ 2\80\87ùürÞ\7f\ 1\1f\ 6ûÆï\9b¬S¾o´¾ÿ±y#\1a\88\1eûïK,ù\ 6¶~Ö´\97ò\14\16´\1fã§¾íÚ\14\ e\10\9fÕ)\ 3¥öæ\86ÒOò/·´\7fÕhÛ=ÐLSÖ,uô²±\8fM& JCú£µ¤\86\8e@Ç@Ëê\b°\99Ú\10Ï[\9dy«C\18éÞ9Eõ¯\ 5\1c\8a+⻫Ùʬ\18Æ~L~\váÇä\8déÜó\8f\9e\17\1a\17Ã\92o\8a\1f,R\ 3I\8fß\16w|jl͸\98X¬x\90\8009õ"=ü\13\ 6\90vÃÏ»¨Å\ 2ó6\14íïîæÓ\9a"3\95¢¾D¤#jlð\0\82\91
+ëÅ\ 3\90\99\16¢\ f\9dzÁ \ f\8bn\ 5\12ªk\81¾\138f\ 4´I\9b\86Ã\81h\ 4Â>à T\0Îd-\89¾\10¼=°ZjÏ\ 6\82V\19¶sÞ¬Î\968ÌÁwq«½\92%9£±ÐÅ\84\9dÔï¥>`IrH©«\830ôûa@ÚèÚ&{bÿ\v×­wh×G{Q\1a \87Ê\81æ\11\11Ã?\93W5éG%×\e\82®J÷meãqç\8du\1f\90lËb\ 6ôFú+¨\1e\82y\923\86 h?I\89÷X~c\99\ 6*=è½.;G\91ÀvKÆFj÷£aOÓ5yv 0Bà»\93\ 6\9eÍ·Y\9a¼LA!
+\91\e\11\80~\bâ(´ \8e\r\1dø\1a?¨Ø\8a_/å\ 6 \1eý%ËXs\1f\94\9eºD¦Æ\13*\8bÝQ®\94h\ 1\81Þ\98\8f\14-\fHI\9fþÁÖ\1f\ 6ö]ÝF÷V'Ó\95\95\8dälQÙÕ&-Ö\1f   y§Ü\89 º\vV\9a¤rxô:9ÑIPSÖ\ 3\13½\ 2¢µ ¿ÃåkD´¡Osì3\8cC\0\fÉ#¿»\83\90\94\f¹<YDnóÂ\94a5\vª[\1aLp&\8eå¤[V\98ÝÛ¯»g\90\17Ì\ 2J\ eE\0ú«\98±\ 2 7Û\932g,ÄzAt2°\17¶ÓtWð²'#s\816\9aZ\10\97t\87|\ 1\8b¨\1aÈmR\11\8b¼\13Ìvζ\ 4Ò$®Wv\93Fôì\8dù\99zàÜ\8d5\82ÀÆ\16µ\81l%úÉ\0\18öáHïÊ\b\8d×Á\1e½qG0H/wÞ½(5TM¥±\1dµõ8¬\ 4 ÕD¹[H¶X±ªFfPëä\fkC\e\9c\94\1e>\e\82=·t÷¥¹C§[¿Q\9e\87ë \1a=p\8e*ê¶¾5è\99íV\ 5hc$ ßù!Oæ"ûÊ\ 3_³z&¢÷§Ò\1ccdÔïå3~i¹LÕÞ\948q%`reÊsÀ½Z\9c8\98ÆÒ.ìåOÜ\ f0;©ü¾i¶\95\9biz  "\1d3ZH\1aÖÚW\82'\0\e\ 1 oÆ|\18\1f\7fØ\84\94Û­b\ 2[`yzdOS\vú\86È:) _\7f\1dÒÀÛ\ 4\9fºF\86\ 4\81ÆÈ6Hã3ÄßQÀ\8b>q?\18³-\8dQ\99ý\86bV-û\9a\8b³;»MdV]­Ü´$Þ+\15\9f\90\ 6\1a!g¾ö\8d7\1fûíÝÝ[©-Fê\12@\86ÀzØ\87\14h\ 1\0\86$h\ ftZ\83tz\9bL\10Á·Ä`Øk\ 6Ð\92in°\0`7¨\8dióÙ'N}$¶É\19#\8e¹\1cé#g£ciÉÑ \ 4 \ 6\986Ûi±¶\ e\r·ò5±\80\0 \80\1f~ýûÿï¾ÝKt\0\10\1dÖ9g¯uô\97°mÄì\eë××\ 2ö\rõÀ·Ýp{\ 2â\«ë\9br­¸×2÷®g\K\87p¯ð\1dÓ\80ë-¶Ý$m½ÈX\v\e\r°\94\95\10M/7Gú\8f('\99²ªÑ\8dÄ©\8a¼ÐÁ¥âPAëÚAë= ¹k_Õ¬\15\e¿c0÷\ 4\8fúVa÷@è\b{{[*\991KËD{iÈ\17'¶ÊÅ4zb@Y\80\83j\ 4ÞÀýc\7fÍ<$6\92\9b|éþ 2\99Y\87ü\vÞ\7f\ 4öúÞkÎ{0ÿk öä\ 5oþD\b¿ÞyÓû\ 6\10½\17@EvµîÏd,ÌCÕ:\ 2Ô\ f
+r¿\94\v]ÉsÏu­ÚúYéGü\aoW?àR>Ä£\16Î\17\7fC#§n+\80Ì\8e¶ \83\8c\8f\r`ËK¦ê`±\80ñ¸¥\80;·:ðc 5Dp±\90ßdéÿº¬\19ùª\8eûY\81+\85GgXÌ\a\ 2\1fïòl¾\88¬Ý©(|ÎþòE0\91þÿ\18Ê«ò\8e\ 6=ïpÿ\7f\92\ 5\ 2%ìÙhG*Ò\82I\°\1e\ 3YðI£\14\80D½ä\ 5g25\8eç±Ö\88úÏÇZB¹\ 2¼£ßC¾Î&\99>\1aq+´JÛàô϶\90¥\87\8fÛAbüd\ fÜJ5Ó]]G¶,e2\rå"{Æ    -ù½­G\98d\ 20ã­     1Ù\8d\f\ 4w!\1d\1fáZá\1fº¼º\v\0ª9ã\89ê9\86ľˣ«òäªÛ\8b\1d?Ó«Ke\11è\82Q÷°)dä~Áþ×´eT,VÎÚȲª\8f\1c\ 5Fb\97
+<¾ì\ 1§~µY`\97T\80ìsÛ0ô\96\9e¼\9b\8eãkÍùÆ×\9b\9að\95âÁyq-\1d0\8f\972ñè\81a\8a(\81\ 1@Ñ\«\ eÔgC·Ù³%\94\98Û+Kºxó3g<\93·]g\12Ï»O\93\12]dxrcLnLuv\90¥C\93\13O Qä\ e\9fG\8f\15¬´²aÑb<\98\93\bîª\1f%\ 4£ìma5r]T9\82\8ep\14+@
+\8aA\8a\89¢ÙúÁ \f%\14 ¹\16åe\92<\86oå431rÈ\94¹­è|\9bÉ1U$;\81\94x\ 1+0ËCMÁ$£'2×§ô ´^´y\vV+\1a¹ØZ[4\12\93\8e\9a$æi̺i¢NDî@m¤pOÒ4}sÙ\85vj\19M®k¬\18¬`E}\91\8aW\16) E?\18¥\91\80Zhò£\14¶,V°"¨F)tX¯ª\11BºKõ\91Ñb©\ 2(AÑzÅñb\9b\84W\ 4C{f\11b®A\14*­³Y\1f\16+hÀ\14\1f¬b¤"Å\ 1`\80³\104v²F,P\ 1\10vb\ 6\8dÖ1\8b\15Ù\ 4\83½d\94\10E\vAB«.\11b\80\8a\88\13WXÊ,PO\9dÙ\894½¬g\16\b¡X\8d*É8±@%¿\8b\14µ\1cÒ\8a\vy\ eÏÎ\18©H±X\10\8a\1e¢!\87\1fE\15 \11BÅA\8aÉh±^â<¥.Ôk.Pâ\81@ªÿ"1Hûô¬¹Å\87\ 3È\9b\v\16æ²^,= CàÜ\85\8b\10\18Ô\11ÂÎ\ 3`.rÁ\8c\v\94\a
+êä\bç@c\ 2f\9d\82ùPïÖ¾f\ 4G\1dq(\10\98\ 37S ®ðF\8a
+l>ØJûÕ\87ÃöOM¡såIÖ\ 5\ 3ø\96\9c\1a\19ÝrÔ;MÈÒëåÏ\9f\95\ 2\ fÄ +\19\0\13Öï"æ\ 2ÿ\85\8d\96i\10´ÿóÎéñ\94;\1c\96ð@Zmb\19Ó.´\ e\14>/½À\14ÚïÆD\7f\99¯\f      ~ÒìÈn\õ=\10\0SM¨\81\856\b\1d\9fvùÒ\ 6\19ú$Ô\94ß\14\8c\19(Âí\12\91b寮\r!Ôï¦\ 2ôÍ\87ój»¹k­¨÷Þ@zí \ 5\eTF\¥A#õÁ+ÛX\16À2\18ýð\93ê\1dÁ\14õWA±2\94(ìHØ\14£jä\19JLÁ'<CuÒ$hütÔ?\0W\18T
+\1f\1f÷]\1f¸o\ 6\82ìe\ 6\rj\13Ø`\94\14\f±;pP
+\15ÎZí\83ç*\r0{\ eßÇÄ;ý\9b&ZU­Ý\ 1\18®\14ó\11AÈ´wkR
+\82ì×Rú¼B,¶ÕV\8fWy\ 1ðHm½Õ*}{\r\13\v   \87è\ 5HP\ 5\ 5VºÔ¹Y¶yºûð\99\92y\7f\ 2£¦\1em\93O/ÿlÌ×NÔ¼ \81z\98·ú\15\7fÙ='ú\7f\7fåOIÿÒ\9e\93ø
+ÙР\13\80\v\9bZ\v\14\ 1¼Ý\7f\88\ 3\8fóÍi?\81¦aÅ\8a Ó\9aÞïÊeéª3M(**)ª"XÐÉ$\84\rí4\93%\8d\82         V\97ÿ\8d\ 3Ïÿ\9dj\92By3¯±pg\ 4Ò&´N\17\ 6\9e
+V\81=(×\92é\ 4Ó\94¨m¯ðÉGÒ¾¤¤iRö£-KÚa\87sñæÝr4\11¸ì\95E*1M0ï\9e<ÊT4£¦¦i\8cËä©)\13\19£ñÕ\19g¹HlÁ(J\1dÆR\93)\12!(|m(5Pò\95¦&\935O\95\14\8f˦{MÙÓR\17\18N:\8f\11GD\96\18Ú\96óô6¸íû*j\87¹L\99Íé*2\99,\9ei\1dÁÉ\ e?ULõ<14Dyl¾Q¥3äÒdÓª¦i\97ÉSÓ£°Iãâò\954ôÔµ$B\83Û\8aGé#¶Ô¹aÐ!£ñ\14Ï©riô\ f\93Ëd\9avy\\95/hhö\83\ 4\9aK        ÓR>GXâ\1f\e\84\9f¦¨¨}N\8eÂõo\9e´¦x\1aÎ\99õB:©>#\8f\ fÃ\80¹NÌ6íÆP\19\84°¦ø\86ÃâÃzRF\92;~GáòY4¹W\8cËfò\87cij_SÓÓ'À÷D\92\18-(²U\19,º<\99I&G]Ó#\9cCâúLÃ"¶ Óür\12\ fñPÐþJ\11Ù¨Xÿ\r\80\8fò\10O¾A\ 4ËJ\86\16+N\ 6Øî\86\8f¨;¡\9cÃ\1dЪÁ\9c\9a\8b/\eá£l=ª6ÛÊ\9d/G(t¼åÄé\7f4Ô;;Ã\13¯\19;¡×\8a9s¯\13\97\e\98lÀ{\8c\8e\ 3ü\92\rn¸ë¢¯¸q#XªHØn\8e\9f£\93GS³:_I\10\85\91Å\7f\96Ê¥:Ó[\88ú\83\7fì\rÿݬM\19 É\86aqhj|»Á¿þ\96\bÿ/yùæzÏþVè»»7úü\8eSÙÃøþ}ï}×ì»^\9a5\ 5\eå¡qü¿¹kÙO³ðÔ0Ë?Ì»\9büf
+'¤\ 27ì¯\9bê\9a\96<
+\ f£\ 2\ 3þó¢\8fí3²ËÛXG\1diâ[\89\8b¤ïÜ\eE¾0÷Ð\v9\7f\1dý·o8[3í?c\vñÆìÓÿzÄMÿÂåÿþ\ 3\¿u¼æ\17ã\80\97.Ø×/ûeÜÛ·\9cBL³\7fþ+j|ã\¿çs®_öƹ\7fÛqî_òMy²¨uQ\15ó'~+æ»\81\15\82\90¾«Ç!\e\98\*=er;î-W\8d)I79Ô\80ÿ}\rh\ 5\9f
+.zØ1$¹)\8cíB¸k\9e·:¢ç­ÛTþÄ\95²ð-Z6ÆúX\93Àî\ 2ìÑ\83Qú¯¾q\16R\8ckúµ·\18àW\8aì.@\ 5\83]ÙY\92½¸]\9f\88,H¡)2¬ð\8eG%èª\18\1f§âkQÒ\1e®\87\1a+[óQÉõZ
+;\88p¶¾f¼W5ÉT.¬JI\8f\JIé\1c\96\96nÿÀ\r\ 6\96¥\91åjZ\94õ-zïIQ\89îo2\9bgk½\9a\ e\ 6\88Ϥ\1aGgÉhF´i«}*+Ë>*\8f0»·.T=w Â¾\12\89\1eÏH©\1d²Ò\ eA$\ 2Ã}\ 1ýÐn°\14\99öýÖÍQÀ\97s6\15Örl¿\15\80×Ê7ÞÅvÕrÏ5¼\8e¿\ 1±o\ 3÷C+æ\18\191jéÙÜ~KÉ %2ò\ 2ï`Í\1e\98¹\87$ãßÕÍ££\98B^ÿF\18\eîNÿËjT¸;ôÊ\\1dÿ\9bøî\ eþJ:\8fÿ\82\9a\8f.o\8dû\13|oüC\7fãy®\8ci8ÿ깫~\r_\83ô¼\1eS\f%Ò6×´\82\8a±ùQ²Dc0\8aç¿ì\17¶öz\ 3­5Ý\a+Ö>£Æîõ\9fÔ\15ûÆ\ 4bV0\98è?ü&+\82u\9cdR²Rî\1f«ÙxQ4ô\1fú²RðR\85·í¥9¾ËÂ`\1e¶X®.úß\85\82³âÐ\[\99\97Ô\9eçð{/\15ÉÛº\15±ÎÚéü\82\87V÷£ò<<hØ[/®gõ\8cB}r\vµm\1c÷[ð¨Àæ\16Z\91Úwg×!`Uk\ 1gÑ»sÛ1n{\90.
+àÒ\ 1ö\91&¤è\ fr\8c[f\14'ëܬÖP\ 4s£üÔ7\97\ 3\ 4>õ¶å\8b¬(ÓP{v\88w£@¸\15%\9cÆ\90¥XßA\9cW\9f{\1c\8f÷<úô-aù\ 4Ú'd IåÔ+©\96b\ 3ë\82pqX\81<iÑ\\12iI\ 1úØ_\8aÖ_z)FϵL\84õßBXÅÈûÓv\ 5c8\14rX­r\1a\19Bj×<\993\7fl-\88ì`\ 3-\98Ùc\ 3\b$\ e®\84åÇ\1c"\ 6ʦ¼\1eYVþ'\11\rEÁ&\18\89\95³\17N8òÒrÆ     Õ\1d\9f\8a¢v
+dx~,\89\19\8b»U^O\9d5\a¾ZÊU0\9e\82 ÞRoMò\93oÈJº/ï\85\v@Vô¤%ßw\ eVzÃkûÁ¡Þ\90<R-YÞÔ2ï}\ 4\93þ\f\7f9\ 5W\ 2\ ec²"\98\99V a¿<9 \13D3ÌÁ«ügù\90\84\1dYÓ \82dCE\89W\84Ͼº\8a
+aTÍl\80\9e\99fB\85β\13\95\9b¨S\98Lóá¢\ f\ 3DI\ 2Ç\ e¼FË:\99!OÉ׫kñ
+óèæHç\ e\8fá\0\16=~6eô\ 50îÄ$d±2ës\82\80i\8a{6\938\87ÙPûNÁJ^å¾Ì¢AYÿ0\99\1fó\13\1a\rvZPË\81¾\8e\95ÊË\98'\8a\83ܳ\ 5TÇ{*鯡k`\8c0\12°å\99f}\ 2У7,ÔÐÀ\99u\ 1³\ 43|\11\\fæUAz¥\84jÍK\96\8c»À\b¼Ë\86\14\eãÙðg\ 1¸S{ú6#E90\10¦\7f\96ñÃ[à\14²úð\17\93ø\95ÈãL¾Ý¸\82â=Z9\88¦\88Óù\12]\ 6îÁÌ\ 6®*û`fÃ&u\1e4;\1d/Ô%¥õr%E\91Àü\9aNúm&¼4\82:\m²ó*÷Aö\16b©;§¬\86©þÛë(ª\9fóÊKÙ¾S\e\94ö1iÀÀµaù®µëà\10;iÝ£\83Û\ 2á¡\1a\8dÖ        |\18×t÷²\vkO ~y\8b\99îäê\8c\10(9­8R\bìPÂG\95µáÓ\8a\bMAªs\ 6\8e\1e¸Q®Úí\ 1\9eÔË[À[0\ 13
+sÜ\82Óß½?ÄÐeó2\a\15±©íü\81\13\e" x\r¿ \ 1BkL\14<\90+d\0\18\9eº2ª÷JÛ>eU´09A:6Ú:\8cò´vDÑÔDz g.!ú×\8dr\ 20.êMË\86²ï·\81ËlT\17\13­\1cáGÎ\8eÁ¹ú\99\88ì"×¶\ e\1aÂzž÷RµïåGú©î\95Ø[¨ \9cÿ(IJª»,\16        J\8a^Wçs@Ç\82v.\91ÕÝ(`°IW¸¨OÕb Ñ´h\85ظ\8c*©æ\17Óð%Û\ 2½\12=`=Z\8fM\989\8e\18Ü|*\8cR¨L²\f\ 6\v\9bîÌÍ8Òìú&dª\94\8cÄ2\8aÝ\17Öë\84!xû\99wPA6\82,A<ØlP¤1|\94\f
+8X=;à\10>5\80\a
+\9b&ÌÖ(X^\80\95\ 6\a\99 Ò\9feY\15\ 6\19\90  [\89P\bìP
+\12Û\7f(=\84Ð@¥Zò\82\ 5ݽ_ÎYðqEÐ/Íùþ\83\83À´\19\14V\ f\fT\17x\ 6\88ðU\r\e\ 5\1a§ÚéDÝ\11\80\vV#\ 3\15\ 6\91©\89Ísx\1f9\85\ 5W¾Kª\8aìù =np{Ûá\17\8bvòí\­î1\ 3I9&\91ø¡|à(Ò0¬\99f[\13y\89\9b\fÂ\v\eàfq\f\14o\9fOg\ 1±\1eB´!1Z^\84ð¼þ\ 6w\86V:\84\17\1e\83L\0Êâ~¦\85\1dæ,\85ú\r\12ûjÒ\88¨R\ 1/ûiqì¦&o­"k9\8a¸\18Oàô@\1fUt³d\82\eáø\eô`\12ÿÔ\82­\19\83\raÅAºaØ\8bJÉ:\b\e\87\9dá®A\87Ö\1eH\93×\8d¢ZÍ\1d\94V\93O\84æÕ©¯38°X¦\19áéæ"¶ ´Ñ+\1cþc\84§N^\1c\91n\1c
+3QòEë\86d\ 2ýëù*fÈ\ 1Ñ\80²ztÐâÀ(%ë\91ìs;\86 \90¢&­\ 5\14íÑ+O®è\9aÖrÛZü\r
+©å2%ê\1ar\9b\98¼Ú\0$\8fó\ 1rV5\86
\85-\8f\92V§.\14\81X\96\ 2L¾|E±-+\1a9\8c®\836²EïJ\96\89\95Õ'\95æ¼ò\v¹t;\1cÎ\ 1þnVÙc\8b&\8c\9by\9airRe$7k\f^\8f\ 1_Ñ`tQ\99Ë\v\91\8aÖä»a+­\9a\82W_\ 6F\18\95Ö\ 1\f\9c¤\878Jëï\93\12ºéÉU\16Âã+ñ¤RO³\92\12ºü¸ø\81\ eË\92XV\9e(\95×(\98\95×\1eåc¦\91\ 4®jz\9b´/¶\92ºm\1eÆÐ\1aè¯\14Jêo"t4ý\b\12º­U_MÓö\1cAiâø\13åàT?S*/Ϧ\87®\90[aÝ\97F»i\ 4Ô\96ð\82,µÖ»\8fØ\99V\14=%\15Ñ­Ø,\86³_P\18y2\ra\9a[&å­\96bö"\87\e[\ eâ`h\0sØ©Ú\8e\81Áø| '÷¸1õ.Ê£¤p³\ f\84âW5ÅN÷\e[`¦\815W©!Cz\80äsq\144\9cÍznfº \11å.ð½\1dsc(ú(&KT¹w{~\90P2ã°\8a\11äþ2\f¯è\81AC\8aI\83Ã+\17      d\85¨e\7fÞ\94d\14c?1\17&\19+8ð2\98_\84T\13\eT\91P[/!«\85\84 ç\96³Õ¯!Ei0Ê\14\8aQRï¼W*\a÷W\92ñ:¶\ 2PPÌÙ\15صwÏ,\8b>"\7fÔ°Q[õGTåÁ\\98×vÆ`Î8Ú»\v²\ 5\94\13µs:\92\81\9dß%jö®\9e(\1e\80 A¨¢"(3\8dòzè¾®³\bô'\Ñ%í\90\97n\18$\12a\9fé\182u\10\92ÛÒ\11²íÉòÛ6      +©\82Jðr\85åYÉ,\90¢ï\14¬g\8f·\1ck"ì5\15¨¡f\v\183õÅH\ 4«¥Ðþðüpä»ÑÖ\8e\91éÁ»\970@°ôº\97\16¬ë¤\12j\9a\9c~\95`?\9e\9d\96ÿù\10®ë\8eÿh\85wý!BÿÄ£o\7f¦¨÷þ\9a6|@\9bL)\ 4\16¡6\9dbaM4Z©?ÚJ#þaI?Ó]ð\85\97\7f(RNIáOüÁI:õÑ\ 2\92uK¢\ 5\ 1\\86\17¥¦
+IÀr×P)'ô
+ãòî\v\96r\82\92|rÞxRO\ 5j\81I?t³\96\14\93ö\8bm\82\92|JÏÚ\14\93\8aóÕü\81I?*°Oë,æÖ    ×$£\8dÿ\8dgô4©ß\9bE÷å\12{¸Ä«.\19'Ëå\92\87\7f\8d#løé)^:\1eån\14ñ\99$Tã\b¾q\92]\¨U|ÒOïûB\95ÿðÜxé¶\1c\9e,¸¬\87aäüí\ e¾_\15ö[ý\ fËáwóv\1cð¢¿\9fb±Æ\11}ãXÇ\7fÏbÁ¥Bÿÿ¸T\ f\1a\86¿Ï±ÊÒÝ~}\ f\1få Ç\7fZß/\90L/Æ&O¡A¯\8cÃÛ?¤á{lì±Ö\99;v%¿ÝXÖOÿC\12ßÿñ4þÈ\8f0YÇZ\81ÔÿÄĸ\7fì\9a\7f\0\87Xf\9fÙsf\9fÀ\a\87­\932ÿ\19Éü3Oê\88òã¶7ÿâ\19µÆ´°¨ßÿ×4þC[ßr\fKW?\ f6EØô\14Z\b«\a^æT°Ë<Úf©#õ\83\95·\9b\18ÏàX¡A\87IS8À\9bÙ\82\v\ e£\91»\83ÖL»\83×4IA¦\89CÓBF¼\95\91\93\1d84WÞ%ð¡¢LÂg£²þÓ4ö\Í]\ÚG'¬\13¯\a\82ë\a\95\85@$ÙÓZ\80ÞsgËxFT      mÑ}`~±c\15\9e\7f²`¡m'\ 6ªÛ!\7f``\8c*\f\97¸JeÓ\8f&\11\867d7"s\93FoF\80ú\ 5h\98q\97\95È\7f\8f61\aîõfQ+R_¹g      M\1a\12\84\ 3B\86\9dȳ\ e¶¾Üg\ 1Ü\9f°\10\80:d¾ÒL\1a\1f\87b\1f\13Ç>\95>\89\88\97=ú9\ 6\80¶O >m\95\8b©\14&»u\ 3\e\91ÑT'Ç\82{'\83\13\v\9fÖ³\vîú\ 4ý\83¨ \9dÓ ª\7fô#pÀÏëÑÔ×à\99<¶d\86\80¨³@1.\82\93Õ\ 4óx\ 6C.³4ÉT\fK\asÏ}V\84¤CC2º\8e(Ì¢mÙw\81I?4æìsì\96\83<¯>û°\1aöX*Qôv÷\10µkÞ¥å\ 4ôäÁ\94éf\ fZÌ>ÀX3d7ÖçØ¼ k90õ\905ËI)\90¹´æBúÑW+\90\80·à=XKJøå\ÌõE\91Çz\1eÙ6¿¤«eÝá\ 5\92\90ø(ÒbVŵQF§^éÜÀÁUö2ãò\88ù&?óa1þø&?éÝ\92£¥6²\13\1f¶f\8aá~\84¦A3\fA¤ýÕ\18"29Èåí\8dÂEá:UçB`-8Í£\9d\11\v[®Nd\13\13Ç\99\ 4\93 \96õ@4\86\9aq\99
\1591Jd*\115_!\95Wç&«Þ\92ïH#ºþA\84\1dº®\12\9bºdàO     ~\1fÊqZ\8db×>©\9f$wq¼õÖaèÏ\18Ê\ 2­Ë\97]v\8e\9aðªE¨ç÷FÚ\rê§½»£×¸?*µÌ\1cË7k\10y<Éõx\7f\19ôz;ò\90\ 4\e\rÁéÞÈïq+V\8e\82\1f\98`\rsûÌ\ 3X\ f\9a
\88ë\90¼\8c\8f^9\9aj\ f¨\84¤y,¯¤n\1cÛË\0\1daNÛÆ÷+\ 4Ìg\8a¬ôþÍ\b09ßnSJâ¢hü"dà\87FÊ«tJ(rÊ«ja ÔF\87h3þB\13\81W]ò\94\9a_´   \9d\11Zj½Y+¶
+=\7fe\0!wNd=ÃV\8f·f\9ab\99Ji\8aÄúñ\9aa¯Cê\85¯Ù\83Ô=\91n×vö9¶ö½kß\15\ eî4"§¿^\84\1að\v\84\15\1d¾Ý²ªÀ
+÷'pG«\81ã>w
+~%\88N8M#Èç«\81d\ 2Óê\95%\19D\ 6\98HßW\9bv\82\8bx<´[ í\15ðþ=¹p~ߪ\83\93\99h;\11rQEz;ä\95\84&\88\10É\85·á¨Ñ\vT\84\91Wg\9cz¶ðX­nS.ÞE«]÷\1c\9e\8f\ 6î§:Y¨I`é\95\89\95i/-Ðz\96o ,\81R¶¾}^~¾}aΠT°\ 2\9bJ\86Î8\85\96B\1aI\90ØG(3\15\1ai\8fR\80Veèt<L̪;ÉÂ\85pG\86\bzÚh2*ø_\ 3HÂy­A\15å´\9f\9d!\85ÄlO§³á÷\18Ã\0YÅ=½®_kl¼ßÏ®\1e\7f4Cë.\194ÅÛÝ:×·\144E\8b3¡Ø½\98ÞéÁ o|Ö\9aC\ 6G bôZ\r5\96,\16Ì\0gOt\vNVý\ 6a-\16\18å\86\r-\a\ e G!\10¢\86¦pÞ6Õ¾é\857\81±LQõ¬Í£µ\9a½\ 6m\1e\87£\80Ͷª¹\8e`\r\19\ 38i®ÀVÙö°ÊW]"\8c\ 4׬`\91\80\84\e\12\1a°>\1eI)¢ °Ú\ f:*B\88Øg\16À\ fqÈ.1\83©\ 5[¼Õ,      À6ú¥\93\1dn3\18M?/l´\94\13Å\1c:öÌ:ó`GðÇ\ 1ä\f¨ð\ 1´\f«\e[\93>Öëûw\ 5u0\OU\85:[s
+Èüè\97u\8b\14b\9a05\8fÏdf\88ØÉ\\aá!Ö4BìJ¬ûÃM\82\9f¹\99³\17\\96\b*NÇJÍtÈäco}\9f\ fú<FÆé*ò\83ð\97\8b\ f£ÐìVZ´Þü,\87\81x°â\17yüw͸"}Í­\9a×\8c^\9dó\9fƳZúr\8cÙqo\9b{±DWòo\9bs\8a3ïro\9b}¡_(Ýï&ù·¯(ÊnMóo÷\8a3\17žmþ\94kæÞû\12ù·¨,Û¡âß6ýu½óo¸+äs\ao|ÛÂçß6û>Eóoõáß6öQ/\9b\7f\ 2\1dóo\98\89|Ñö¥°ÏâAõ¥\aÕľmû£_6ý¼;æß\11ξmú[{æÞø¥óoÛ\15óK0¥ón2§ð\17y£|Ûí\ 6ù·V]\8bñ
+T¶È¥Kz5¶¶k^\98£6\89ß6û\b\97Í¿Ü,ÏÖ\89|Ûù\11¯\9bzn5óoÞ©|ÛÀâß6ôÅ|ÛÍ­ý¶÷\\92ÞE½ÖÐu\ 4\95\98\85\e\9bU\89ÛÝl
+\1f\8bouØ\rô\aý3\12ÿ®aïý\93\ fýüi\87ÿï\9dËN\83t\9a\81\97ξrïi0\16\7fÈWþ¢\8f>¤È:äÊó?ì\ füíX\vG\12Ûoä\13é4«\12âP}Ù\1dvÉÜ\ e»QÉ\1dv\9cG\1e Å\aß\97,×ñ%Dx³å.Læ\94lÎh\8c[J\88u\8cþ]¹·GÎgâ\9f>Ü«ø«#ñA\ 1ô¥1ã\ 4\82)_ó[\88\7f(RoÿùWú\ 3²ç>·\95\7f\8cÅ\ f<MRöÎ×\1di9nÄ·{\ f°|ÄÏ"®_Æ7\81,5\v\7fµ\82}z5JS¬2*ÿP¸\1e\0\v\1fö/î¸\0Ò!½z5\Ñp>tÞ+\eqØaéÅ\ 5\81Ö©ÿøÁÓódú\ 5¿\v\ 4úÓ`6Ø\94ñ°\bûÔbòD\95\8a¨³Ê\1e\8aF£¾\e\ 4ú\8fUXb¾\88£\ 3\88\8c¥Ü\13¨Y\12Ó\83x&RÕqRI2\a\10úD\983ñe\11\81Ìy«é\85U1`Ï;²Ñ\ 4\9f\ 4Û\82ùJôÊ\93aÀÝ\16<U\ f̨yã±C<ö ÕÒF\7f\94ÊÙ+t6\90
+7_´¢¹3)WØl£\ e\ fýã¿\9c§\9dýó¿IO;îT«\aæÔ«\aæ\14«\a\84Ïßd%\ 5.¤O\89y\1fl\Ñ®Iøl\ 3÷ã°g,l\1f\80ß\1d\97=¿Ñú\1aw\9e\ e\95\8fS\18í]ÿ[\12¹Ò\0\9e\\88.
+\91ï#\ 3Ýãmº"Ó\88¸¬RSú\9b5í¨Ø\9di\84·]\92ùÞ¿¶\9f¹r\ 2§p\ 5Ëä\7fúÅ\fuê0¤ßõùGÙÈÿìaWéÌ1\1f¶ç0dÌ)@¡w)èÍÿø¦µÁ\83*m\95rX2¶\9cÖ¸[àz  \15?ñ¦µí@Úò`©XÌÃ\89p[\80\f\16\81\1caj\8e\94\a :¿
\8b\99nûe¿\ 2õ\aµ\ 5/ÞÈ\8c@\9fMH\7fæÓVÜK7/í/Ì»Ìò¤\85º°[*¯4\15\8d\89ï\bãñ\12·\90#A8P!)Lªºâ\bmð&½\13ý1\93\80\95cÉY:\9b©-A\9dE{\93è\ eeY\91\95gSÙ\8b\b\83ê­\96 Nî¨\8dÕ\959IJåEkf¹2¸\9b\ 1?\87 \82Ü\ 2\86ëär@_ÈÝ;j
+ôé5á(lêá"þa*\95ù\f¶lÛ\14\85ô\94vüª¨¡é@üD¼Ö!\9b\83öcD9\ 25.jGÞT+pÙÐPzÃ×U/"\0 ±F\12 ôká±\99«2*í\f\93\ 1\15\88\1a\1ec9c@¾\1d.¬ËR\80ø\98\ 6szJ\98\87ѯ $EK\86ºL*æ¾ü-¥°æV¢ÖÃò\8bùØó\ 1;:mÚ\Æû      +\8e÷|\92¸ï\1erM\1cÐÁÐ\9f\93õ\8e
+\8bt>j=¥\ 5Y£5ÃøÀ\982M\1eÜ\vå\1a<Ò½\19\\1eëÓ½]ñè      ò\8b\ 1`ïf\8f8º4:²\1e{¢JØÌ\ 51\ 4¯\94\18KßüÃ\88\19Jã¬\9cM\15­éF\98,\b\ 6ÌgT\1d¥Çj\84\8bÐqo-ýjïâ\93ó§\8c\1dëýR¦ cù!Þ¾l£\1añC½|\91Dt\9c\90ï]ÁF.ä\87zÿ0£\ 1\ 1\89øÒ~r\ 5\19­[È\93ó÷\88³õþ\15±¤üüõ±düÏ\88\1dëøå\9bf8¡Þ¿Ø[Ê\93ó¡ h\97=n\1dëâyáÞ¼ç ;×\ 6\1d¹¥'çu\88\1dëñ\16)'çç,\87'¿^6
+\10\8a;éÁé
+\ fï¬\87'çí\11oC¼ú\v\14\93óûk9²~}ݸw¯ôÔ\ eõÿ0\84Þ«ªÔ\ eõïd\1dëß\ 6Kë¨\10ï^â^\ 3{2°}'
+Áô}l\1dëÝÊ3æ&\1dëàb\a\16g~\88\1dëðUÅ\93ó\ 24¿\16\8e\ 4èÉù\92\95dD\93óó\95\90[>¯ùn\15úu|\906¯¨Wj\18Kÿ\96ào\r\13\81çI\81ý¤¤ÀØÿ¬;ïÿ \19_\8b"§²-
\e+îHéz66ÀÊ_ú\ 3½¾@w¿\19\9eCiI/Æ\ 3%þY$\7føþé\ 4\v\ f\89Ò\1c`Û4¾\8añ\98½3ßû+ÛVç\ e´û¹ËpÛ?}éËäó\9fü²/èN9¤×ì²/ó\9fÕd_Ö\81\92QÿslfÀÁ\\r\91\7fCÍ£\87íú\13\8emDR~\r¨¾\ f¡¸\14¬\86Ô\88ñ\1cßþ_ÐÜ\109\7f"ôÄQmïÁd_\83\0pC\80z3\7føöEû\94=ÆÉý\f\9fÞz   Õ×z\98\82à        q\19\\vYÆ  ®\81pWp\ 4·îË~*a\84\9b(I1.T\12W\12Êo\ 5       ß5\ 6( îQÐ\8e(\9cu¨ÃÊ\14<¨¬qòé"ÅðË\15yb¸Â\8e*¢ÅÍ\96\16³\8e.C\ 4\8a/øgG\17\88QyV\83\8bé\96.\fZ¼&»Î,]E:m_8]EL\9a\9fF.ü\94ê\ 6ò iíÓú\90¹åÌç\85²\84\1fXη
+\95Ù\9aæ\fàÛµ\96\98c1X\95éTw Êá\9e?Á̾Ü\85f½Éþ°2Äèý4&o\1fïþh4¤B´-ã Tߦ¾[èO'¦^\82×çt*ÐöE¯ÚÚ\97µ\8f ^±üƧ       ª\15\15NÊ{Ò<\9efZDU;gp\8e\0©×¤G\80\95\19®éa\99\83\9c\ 2y'P5Ó\b¸tñ»ûKëÙ`ÿ^\9eÜ\ 3ý2õx\7f¾h²µ½\1d"ye\9e\88¬Ó^±\1dBÍìãÇó· \áiÛè\e®McÛÂ8S/\979âWB\8fG\væ\83S\905fÙ\ 6\0«\8b\9f¼\19\9båÕêÕB\8fqWq\1d\ eÀÌ\fAVèÛI^¬âTüw´\0¹Ð¯\98\85¾²ðñTý\9d±¢f\91\89\9b\89x\rHg\94\99\r\94\9eǾ\1a¥ª:¨\8b:\1e dÝ\81E\83EA\ 4\85R\13\99\85S\bÌL\8aC-\84㪦y\ eþúąÇî\84e2ç\168Ñ!\81Â\1am]\90\86Á\18èRC¶rBÌlÓÁT\11+\9f{À$\7f\8b\ 3Ò\ 5\97\fõÏ]·\14ø°uå\7fp¿]\ 1h\9d^7\9aÓ#\9dÇæ/\8e\9aës\17·ÌB\11\18\8b³ý\10ä\ e\ 1\96\98,`\ fICqK£¢ßj\aw\81\8eÌ\9c» \1d\1d\9b"\ 5ïA\80÷\94ÙíR;<¼\18$"ûÞt\7f½
\a\11¯\1d{\81#\9bò\7f\96\86w\b\9a\9c\96\rS\84\1a±6ËKb\15iX4\8aµì´¸#3\1c\8fxûL£_Ö]@½LqZþµ®H×ÅΡwá\8b\80z\85°z¼@v¸K\89E£íUY\1fLG!¨\ 4÷ñ91\84Á:´s\1c¡f7\ 4ÁvXÆùü¬^\vÕÄ,\eb5R\10»\86Ì´·29\15\98´|[\85\ fÎ?D\8e-o°´/¿\10V\19\9d\13\19½\a±·\90vMK¥\11\19±X,\ 1«\19°ûu©C\16!\85Ý2òF¢\84KÃj7)ºa\ 5¦J\11\98É´¸\99\8d j¼º\8aò\ 6K\11ûu\9fxý­ì\95é<FïriȸRÕ\16zÄ^ù 
+\93Jéа\9e*¨&f×:}Ø\8eQÕÇ\19`\ e\b¾¨\8eh\87Ô6c\88¶Ìoe\98°\ 6Î\8e#¥Ã\8fo\1fç\18^ßJ»\15\ e,êä ãV\89\ 2\87¶]ÔN5\10k\8c\1dõ\81Ñ\ 3Àlk/\869\81¸ñ¬õX!ê\82ªS­2\82/-¨Ù[¨æÿ\17CàÍ¡Ù\9bCΠ     x\1c×Õ¸ìU\ 3\14ݪå{\13+ï½G\9fÈR¹²i#x\19\91w)]\89®XV^\85a\86Ì\9fk³`ªÌ~/\0\14\ fê\ 1\80;²Ñk\10\8fÁ&³Røq¤þØÕâV¡\82á&¿áOf\eUâWCj úg\18ý#?A16Z\9f­-5éé\15\82×åÚ!øztÖ\97ÇÜ\ e
+O­5\8c5\14ËcÛ6\e\8eÛnÕ©·v\88o7éâ \82\eñÕ¾è+§¨nÃe5nk\82f\9d\1c\9fåÀ\9fZ,\10¿+#zÅ\r\17\ 4\9azÚÚ!ÐCål{\96  \98²Dv9Æ\8bó\8eÈ\83j\172æØvÁ°ù\1dù¬\95\17î\9c/:æú-s\90P¹í\87¾â\ e&U\ f»\81/
+Ðh\96\86ÍøÄØã9S4®\v¦6Ǥضµ\f\7f\11n\91QQ;\1e9þ{Aà/«¤\\sÁàSà-J=$@ãñÎ+U\9fã\80\13\9bÕoÄ\bIêU£üX\8fýi\r"\ fý\8e\89½w°¹»ý\9fD8[9\a5Û6t\v,\1c,Õ¸Gû\ 1\94O\ 3\9fðÖ\90ú\7f¿\16Ølô\8a¼Ua¶\10'\bfø7\a\84\89\93\1fæ!ã\98PÍl-T\ 6\89¸<½V~äµn¿}m¨&QÔ\15ÞØI\ 6wV:öãp²@§Z\867\99¨5Úíu`WËìþ\98ñî±h\xÿ<°Â¢{g\9b6\18\ 4Qt¦ÃGÇ­\9fd\«ãt\86\98ßX\9f\ 4¦\8c­!ÔAÒ\rÝLMº\12jbZ µ,GhÄï·©âlÐÚ\89\ f\ 6°\ 5¦9ò°\ 6l\ f=\92\1e áX¼Yd\87\83\80\ 6   º8\82ád¢=òÞ0\16½BZ\13OV\98\87b>é*Ôr\ e7äjy°\1ej<r\84ž\8a\f\15S§õèúø\9e¹>ÛU\85ů
+H\1aðrh\9dHDãN}î§\14¶`ÑZ\85eu\8bû¦\94à!µ5\1c\9f\8e¡;ÿ\1f\7fûØ\9dÿï\13IJA\râ}»ù7òÞ¶Á½S·òì\ 4\ 4$\87z±¢¤èê\84+
+ع\83C&â\ 6A\83\8a¼\838R&Þp`­+Ç\13×rk\eaW\17\UÝ\fØsÖÎ*úåPÇ\93ñ0\86Jw FOÉ\1e\9cV!äß\92\:ûÑ\1cD´:\84¶ÕÙúô/ñ7
+ò8\92ÞØ­)V°7\86ñ\7f\1f£P¶¸\8fCZË÷ëªú¡    V¤oê@.\ eVýC\18·i×\901\11Ñ\95ÈK\9dè?ðîáñOínÍá\ 1_\8a°6·\7f6\9f\84\vøê;\17\81å\ f¥I²ï\bâÇq{/çwÿ»\89ßþí/6À 1zÄ \ e¯±\7f\91ZM´ÇG[û{Ô¼×ù\88z\9bÓk~6³æy\13±Ý\ e¢öt\8bCt­\10éKt¢j)\1dâfØûõ{CÍî¡ðÏ/º7´5ÅÃ=Mõ>\19ð÷\85í\r\1e\19\86Ûª°a|í¶«æmÝÇtnGG\16Ýöªi¯\ 3yÊó\9fnØâr\99#Koë7)øV²CðnaøpÑîSð¬\82\1f½¹\87á\8fçîGbÖé#ÃbÐC×¾'ð*¹ï\bÑÏ\85\99y\ 3\12µ\r\90\99wÙ/g$\92¿|Ѥ\bî$¬\12ÐqÒáT\v\90\1cã\1c5>\8e\18ô/\8e\99\ f\9c\ eåC\86º\9cÈ\80\97\84¤æDÛø\92\1aE\96}}¡\95Æ\1ed¯1=$\82=¹Ð_\ 4À\9e.¼äDÀ\9e\ 5:õO\9aü<\9eìl\9eK\9d\93ï/e\93ï;\1enOå\9b'õ¸¹?ÇÒ]ópnÀ¤\v£ï\9e\86Yx\98\96[\10Ò\12¢h\eì\87I Êø3zíuO£õSòªÊí>\83-ZܾEû{ØË·\ 1\10\9e\81\9c\95ø;+iÇ9þdb\1a\ve~¶Üº\aÈ\86É\1e¦%¢\19å1,\90íÒÄ\ fRY4âBñóC\e\13\1a\9d\fB\99R\bOmÀÊãé\9d\9fi\80­\røx\8c\1c\eÒ^þåÑé¼7âk\1en$¡ì#Óã¢é\87ÌCÏ%$\817Ur×¶åë\98\14!÷¦Cß½\19\81Nó%¤\86/ËCÓ½\15\9a\ f\14 @ö{\90\ 1´öl\1e?°V\8e½\ 5T;lUDßÀl­kÇþY\98b1\ 6[FØ\ e´\9c8\96\86Ty        jP\89ÍC\89lèÿ1à(EìÊ\1c3\eU\8cÈlܨչ£)gXô\87,\97Hp&\8b¤=^Cü}!ívÐü©úÛaéC\7f¤\91\ e\94,\90ÀÍ'ÝE.àX}εÙõä¡\f8\99\84<}ÄO\9eä6¨!\10\93\16\91¨ï\ f\97\ 1jÎçl\97˼MÀÅ*xÈê¼\92\98\96\88Q\96Ä{\9aF(ì@\ 2*\88x}2KÇ\10>^vèxÅÌ/§Ô\15g2ÿ4<¼\83-Ûõ\ 2t)\9aéÑõÆò\aT>\7f%\84ºô\92\936Q\ 4W|-ñ {÷´i¸ÿßj[¨Ñ     =Ð\r\12@\80Ô\0=I$\96\800H\ 1½Ót\rÑê\ 4Ó\1ciÆÜ`Ûj\ 3c\81CTdM¶õònD\96Í\90\93\9c\90qô¬\93\9cµÞq"7N\12\8e\1d"\ 1±°\ 6Â\11¹ÀÛq\83ckäh\9b\r\ e\f_\7f\7f\7fÿ\7fý÷Û»º\90\98\b\11\erËÑöK3ºÜ¹rå½Ùzöe¹|våðß\rÎÌ·/\82ú/\96úï\8aþ
\1dü\ 5¹\7f\ 3
+}÷º[l¶ÝcNÆ«1~GJ\13\91Wò$\92þó\84D\8c\93QË~ö_ÿ\15¤<¿®´W/þÍ¢¹\7fÝÚ\ e_ÛørgËýüÊ\99\7f\80\f¿Ê\9b/÷<ù²ÿK4Y\7fásðòüjØ\97I5ÆËù¤}Ï`rÿ\12\97÷\17\17/ù\\8fæÌ\9fÍÀW\91çÕR%ª;³Ä\r·;n\ 1L?8mȸ\91ÌVY^}>\87\ f\892nþ\1dèY\9bY\ 4\8f\87\19Êe)Ï\92\9bTp½\1fÝNæ^f¬\9d¥©oç´\1a\14\89\88ûA\1a\9b7&'åÍjl×½Å\18»\ eY\83k`8kiÖì\9c_W%ý·\83.\97æ>\ e\ 5/ÊÈ,Rü­\83"\97æ8\emË}\f\9bû\19SzµI\82Æ+ª\9c_\85§äÏ\8aм­\12\e'\17å\90r Ô಴úÍ\14´Ç\ 3`\8bÙe
+Óå´2}ÏÙ¾Þñ\1fkãê\80®\9eÝrµÂ¢³dÁ52«9\ 6(Z^\14\7f\86Á\1fD\búƺpí2tn\bSVÙ\1cü\15f\13:\94GÙ0D!`Ö§ðö{9h&çÍõm\0éÉÖ8YU\99^û³\8eAì¡ð"8b¸¶%qG\9eÓU\99½£\1d\ 4\88Ñ\8a[ÿÅR\82y4Á½¿ë\f=ªPä\fÓ\vôÕR5VfDµÑ\84`-Ã¥\1e\ 6và(\99þHÍ¿÷\85±\9czVTlvM\98¡²m}Y²m~X\8a<[Ë\8e8n?\17\99\8dǪæ\r\ 3\9cË\8eô7\1d/2ã^7\1e?\99qÞÆãc̸äFãà{·\97\1dðn?#\99\83q÷üË\8fÏ\e\8d÷2ãÞ\rÇÔs.>*W\1a_»úÁPÚÿ¦ç\8e7¼sønxôwÜH\97?3dßJ\8a»RsH«¨¶U\15vZµD¹®w\88Ëb\92Þ\bÇÂ\8f\15\18\96û\12\9f\17OÞß\9f\91âA\1aÝùiê\96Èß³¿\1ej)\17oü±ä\94û8\93!\97\8b\9dt9\9c\83õÖEÒ§¾\9b\82\98ç ßÿ/J\9e'
+1ä\12\92É^6|½\92¼kT\16JóåÍ©\12Ù\1c-\92½\0Ëí\92¼skDªðmBJüÌ@      ÙÀæãð£ÑÎâ\f¬\16àQß\80´4Ö_*¤D\87\8dlc\82°úZ\82ØF\8eGMff©\18\87      M^e\8a?Dc²ÓÐ\17\99hÛÓ7\7fè#áb\ræ\1e\81Ô\81\97\8dé\8ci¾Ñï\ fg¦©Ú\87¹¨Æ\18Ól£Ü\15\9d}\80R_Êkæè<\98¾DÖ¾¹K[\13Ú÷y\11èNÓUõR\båñ\aR")ñò\ 6ÌÓì¯\88ħ9X\UæäÌO\8a¯\81ê+Å#èú\8añ\nT\88\8a>7¨\9f\14\ 6ñ\e\ fPg×\8bá¬ð\84Û¸1çÂI3d*9õ,\8axþM\9fH\1f ¾\8c[(D\9a$KeñÍ\9c[,ËD\11í°æÜß0\rv\92Ì̬Jȱ\15È\82¹ÄZrt\9e\1c\84Ç\19K\14\8d»+Ó\1c\¦Á|Ç%|Ç#ûã|±A3¤è¸U8:Xø\8a3\0ïuûie\1dVfdÓ¡¶G`:\13t£àWõ¶FÜ\ 1¤\85ÊbªÚ\8f¼è¯ý­ò¼ÚÿS|¯U~«|\\94±Þ\12Ð\95\9dã4õ%\96²\87Õ_ÈY)Õ_\9a²¼ê¯\81\8a«[gõwñ     ·x|Þþ\12XwÃKF»\18úÍ£\98\vPGûLÍãYD¶çn\91Ö³\8dó|9|ÿþ\98åÊ>\1aàË\9bdqlÕé\bî\91ÇY\óýÝà¿Ü>\v½\e\ 5ù¸hx.ËÕý\98/ |\17 l\17ô"`¾÷Õþn\84\9f«é+È\a»ô\8b\ e/6\1cÆa¡õUþ\9f¨~\9f\8eÝ\1f\9bê]ôTÿ\97g?_é+Ô¦ê}%vYÑúEÁb\8a3\18dëZ\8c\ eÕj[.ïmë<Æõ\9bt{¼(ê©ÒcSÑH\1a­\96\vWR\ 5:ÀkP`\17\80^Ái¾ÿ|\ 6_2xÜ9˰Ãà#@Ô2Õé\96Á\ e^êBµ\ 3U¤ÆÔb^1Ó\ 1¡óÇ\1aÕ·NÔ*\9a£\9f\ fq\7f\8c5«Y\85S\bvkA«7̾a^½âw¬\813T\9bn\8cÆøY»>´($\14\19\10ê\1c;\8fò]Çð©\9cÐâéí\ÕL\vUsý3j\ 2}\9béôË©b±M¯áÖnCz®±Ü=à¨}Ô¶ú        C´\932ËÃôůo6¦'Ó^\1dù-ÃT8Døøý\9déep\9eôÔ²ÿz\18Aÿ\16
\ 31\ 53n;Øv»ØZÙS]uÃùMsë´\12e\vä\99\CÓ\ 1´rúBÖÒ|!¾\ 1p\1c\11Äc\99\98À2\86]ÎçÝ \80\1cý?%ä\fU\13 ù?¸  \814\87~\89¼ãò[\96§\84À9íAµ<yª\1d\14Âú\7f8.\r±RWÃ*{tÑ!\1c\1cX\98\bç `#¼g¿\90\9b
+\94Ëãç\13\94\8e í?CVD¢ª\983õë\85\12©îÝ\86\9bÁö%\9bÝ\80Ôù:%¨Ø\89êûÚì\90íÀ׿\81¯ÌsU \1e\8e|ЮHT³äT¡Þ\1a\11\9aß\12©\8e\ 4ñkä\ ew[   ¡ò\14\ 3\9eè\ 1­Õoý\a\943¹T ½\9cKnÒR9\8c\16©\ f\89\91ZD.Þëð\95\ 3ø4\90fètXÅàN`vèø%ç1\8cÕSß@uÿeI\9b)\aDÆñÿ-\9b@\8bï+§ü\174\1a,M\e×&5IV§Ðá)>¶6j¬>j£ôM\83VæÊã1s\beíQ&\89sT3xU?\95<Úî§\f\81\9cvÔH(Th Î\9al\7f*ñÏÓ5\ 2\19µïè\8f¥âXJÏ\enz\10d\9a\1aÞ\85Ø;ã\98\1as\9cÚß(U\9e/(ÄÿÞ\9eÈ\8f6\9fÂb\7fÖá.\8cOÿ¸*\9a3à1?êbOë1?û/ØE\9cî\8cb\1eR^äÆ!ãÃ1y&1\ e\1fÖc\10öX?|Æ!èp±\fb\1aå\fb\1df\fLb\1fæ\95LÆ!£*©\8cCó¥~#\18\87ìJÃ1\88|ÿB\87\18Æ!Ã1hÿ»:\82\16x[xF-\1fT\16+å¼3\16\8e\ 6\19|\fZXWðùÔÚ§ÅQ\ 4\ 1òÖ~8W9V\1aÙ\1c\98\1a5\95;ÞÝÓÿe¼Ú[\1a¹ÑõÜ}\94sy¿)î\10*,$\92[J\O\837w\aærâ\80йٯ4<Dø6\91ónù\15¼\8d\ 3¯\f¨Ã;7\1e\ f\9d,-xl\ 3föËÓKy5\9ePÞ¾!\81[þú¶ÿ\ 4-òæ·Ûº5¿½VߨO\1e\81"Àeë\95¿³VÞ\rm\93³5n\92eÒå\8doéÊß\97\7f\98ÀTï#ò~;Ömæü`a¥\9a[\ 6,\rU#/ódaÈ}\99¢0ä"Üʸ\f¼IÓh~
+büN\14BV>p°Ät±5å\17Ñ2\97\10\9axÿ6ÌÈ6Á\95$éUÓ1^AâoÀþSF\15þí5M\93\0jÎk+Ø+\99Kø3\9bmíú\98
+``e÷\9e=h\8d¬\1afÜ/\18\15L×Ï\1e\9dÂïá\v3\f¸\13¼Ï§4\1eû¿Æ\ 69JüéÁË¡PØð\19\ 4ŵ\83Yûþi®6/\ 2ò>Aîø\86èÔ\83\0IJb§\ 1\93\füA1\16ì+ü`ëû¥av\96ÀÁlÀ[\94¤°&¾l%¼Õq»W\996{_%M)à\8aªü\10\93}\1aZ\0}Y° \ eY\88ò1\8d\9ai°#\1e\8bÌ\84^Ýu\88¥jKb\12.ªm0\bç\ 5\13Múïq\81æ\1aÍÖ!G&k\19\8cXß>\18æ`­3\1cA`]c¬\9fº&,n8¬Ò<N[9×\93m*Ù\18\97\7f¨\96lÙî\86\82­ð\1a\ 5\8cÆ3\9cÌî\90nþÇ^\8b\1c¨wÔ^çò¡ß@{E\95\ eú\9bÚ\1c¨wÜ\9eⲡß\85{}\ 3\1a@ìÆ4bp&ó¢rc\19kn\96\1d\83\8d(\9b\90\89\8a(\9fl"J\94M$à³}PÑ\1c\ 4¾æ\0׺1rmmïaaÇþx­e£\155JåþÌI\85Á7mÉvý+«Ä\ 4[¸ï_fÅ\1eüWc×\9cÿc¯\83#¯Eq\8d§\88-¤j\9fO\f\96߬5Nñ/ÖÄ/\7fí¥{ÔØ¶\12v`æ\aB&\9d¿n:\ e\8a ß -º\º\16Öò\a\fOÐ6OËl\1f\ 6Ì
+=Þj\ 3Öb©\ 1)0\ 6jèA\96¬¶\89ªÁm}[üä\91¾2Ø)!¶ï²\98\94)çßv¨!O3SÛ¯B\9f\10©n#\80ËëN\16§@\8ag°þâZ»ý²+ý=ͣݠ5\R\9eH4X\80ˤ\9c\14(:W¼øJ\ f³Ã··\f&\95ÝO$\1f\vm-\8cå/\ 1ã\15\99aæAL\87\8dÉ${\904üô¦Ï\82\82¡\7fm¦Á¯ðf-\ f\99\91R)\94\ 2\82¾!å>\8e\8cÔ¼\96\86\9f\86f¬Íé?E\ eoL\8ciërÁBGrÀNmC´\1aéÿ°\1f!òùbåû\85µ(¯
+gG\ 3(\1d\10\9fÂ\1a¥ÛÇ#)Ã\1f\80j,éKÄ\ 1\96$a^\96´ÁX²LÚZ¿)\1e\b®þ\1d\8aÑQ"ûàFtüén²\88×öo$;\97\82ÕV°k3\18\18ÆÉ\ 2Äèø`Ü'\ 6àcøÂÊ\96\86\9dàª\15\96U\ 3ú\93þþ(·.Ñ\11\8fóJáÕ\99»lÔ        \)Yv\bèí\9427ð\8czßd\e\12é-¢\98ÿ>à,¹@¥èF\8e\18¾ÎrÚ)\8fóýð²àm\93篸Wz~kª\9d\84\8e:ÑÉ\98O\80\vwS\86\rÝJ2.ÿ\12 m·é¨tZ^(\18·ªû\11[ÞàÙW«A¡ì[\8aj¹Í#
\ 1Bªú\10-\9d\80Íìb2\asfæ\1c39úý¾J»ÎO|ý(eWaí¨Æ%ó\9e>6\1aÐjAæî§Ü½öõ\ ftOö\81Ø\9cé\83ð\b$±îD\v§þ, ²\16\aì\1a\88=²øó\ 5Q\9a\ 3·Þ\10å\r\ e !ß\r\ fæ\8431\8bÕ\95dÁ0¿à\fxxC²48é\82'ÄA\8däXw;3³{μì\82°ûbq4ü¡V,âµaxk@êP²lÍ+çì\89\1fzâÓº¬ÌÞò\8b\9a\83R;|s b9s\81<y\95©îkìxIkh\17\96R8wuÎ\86«\9f\8f)\1e1\ 1\9bAÐvL5¹ËÜ[ôÄÃ\81â\8a\7fSãM\eo^\15,\1d\a¤\ f\86\9eû\fF?_óa\88Çëȳ5×ìðDÈ\12q°Ù¨\8aØ\1e£¹\93]^?\ 4û\90\8e¸Ðè\fcÝÃ\9aR\9bºËH\ e£C¶rp5\1aúÀ±ypI\99# ð\róGákìø1\8c¥\9c°h\rÖð\7fÌd\8bÖ\86/çx1\8c\91|\99ºÄ\ 2±\9bÎd\8bÒÑÛ.
+\98?_5Ê2F\80Ã\e~?\95Ë39õ\ 3ÊÕ7}l²\9eq-0ÀÉ'Ò*d\93űzÐ\19of\85±\87\96\bê\12Á\96`ȼ7Õ\17å\80d\9eïI\7fd\18kj\170ÖéV°ÖÑ\ 5÷D\17Þ]yQ\16N Ç<õÓ¡nNT\ 5Òb}/ÙvÓFâ\a\b¬\1cî)\81\9bÔi[gðãÁÛ¸K\0_\1e\1c\99\8f5\878\I\93}²u¾Ñ5|?\90csTõ³÷\1f\ 1ÐÄÉU,ºÂ¥\97XD²ê]\86·¯Á¥\96½^ /Ç_,\97ãJ\14:Ö¢P9iÒ\91Ã\14ø¤¤G\10\94\8d\ 51ª¤Ã\86~Ì%\0\15P\95D\1dk¶I~\e`\ e\85]\1eU\924Ü«ê\f\84\81䵪\96\eÙ'h\ 2FóÌ5­Å¬\ f¯\96\1c\94É\89k\9c\ 5×h-Ë5#\10Xe.d\13ÎñFÇx\83býìü±`UTÒıÏDÍ/ÇM\86\1c\88\ 3׿ÌßGÜ4ò`ç_MSPÐK [3!ac\13\0\95Ð\19\9b\89},ØÃ\85\98Ì-)\fè¤\98\bíNÕ1E\86,\82Ô\ 60YÉg+ÿ!/Õü.1* \9aÖ÷à\86ÄÐï®\88ª2%\f[\83t\81¡°\bvÆa\87w8\10íM\ eLë=¬)>        Ö|RPï\87YôADæ\ 2\1eàÐïgj\8crP×\84;\13\ 4;\ 2a\8a\v0S¾c·\bø
+\b°K\85\ 1\95Ð\91z¼S²\1d×¹M|'´X£p²\13,GgFx\89\96NãNtIÄ\ 2á«V\vÈ<\v\9f°Ï'Ã;\1e\a;\ ev&}\83\12´­B\84íÎà¶s\81Ù\ 6\1e\903KÉhÑå\99\91B×Ë\a$6:dû(wv¤e\80.LÊ\18\19^Ïd\8c¯fPkÖv0\7f8±üàÇòÄL¯bæÕúx2í«ú82\8d«è ß\9bWç É¶¯ËÁ^Ú¿7\ 6=µzfWÌ9\18¾XpµçÁt\93\ 6äz0\8bÑ¥\16³0©\95ë\1e\18ü­©\19^¹)\922½scðì\99\ 2¤ïK(<pÛ]+j<\ 2\7f\a¹B\84Yào4?\9c\18\16\180X\86a¹wZÐ\8c°\183\81<L°\1e¡¡n+ìÚ\16â¾½¢¦X\rN\11Zÿ\wÙòv\93\89 \ 2\r¿,GÛ\1cå\80\9aYo\9a\19\80z\80Ù×ý?®\1c¼\9d²[\85ç~Æ\10È;\9c\7fXªö\83C(£\84±áyo\18eüd^\vXñ×uØA´¯3k.ÆÓ\8dJÒnÖ\8fulc+¾\r\95°2Òë\1aA\9e\95¦\9c9¨s\8d\fÎ\94°_\1aþ°}\ 4þØLÌ\101      p\1aò\86Ñ=þã\86Üòé\11½\9e»ÖTËÿµ\12\88\8fI2è\18|\8aái¸*'D˳íÀÉcm\ 3É\v´
+0\1e\95ë\a\1a\1e¥@\188?.jcF\12É\80\12×e'\k\13\ 6\8að RzÁÃÓб\15â\r\ 1\97ãçSÝjoº/g\8cõ\8b\8al6¹\86\9bc¡7N\18¿\ 2\18¾XæpÜ\vp[Céº\1f\b\9cÈË¥·J×g¾´LË­Ð\84\7f-HãoñbÇÖ\ 4wù©'\86ß\87\97\v\1eªÒàÎ;\8b>A³K[ÖZ¹\ 5ñ\89î7      !éÇòð\7f9QüÏ\ fç\fܨ\89rïî\aI\1f&\1aÕ\98\9c\91aBJò\0\92Ïå\88ËØ÷x22ö1ø\12èGÈ`K¡\1fá\r\1fº\1cöò¹Óp`H\eà¾6}ÅXc2o\83
+7WÀ\ 3{\92\1c*!ÁCàáÁ±\91ü\ e5mz\ 3/ß³Jð³±\1f\87`ËC\84\fÿà{Ü\15í\84àx\19Q\bºÉù4ç'x!LÄè\13U ìÔ2ÿï\ 4ËåùXô\10{\95¬¾:\1eV\e\ 4¢¾Þöù)&4÷ºÇ,V\ 1Vz¿\82\0\9f1\97ÕuC¢b\ 6_WÑ¢\8fó³OÜù¡×F\ 2¬>¸Xb\1a\18yÍfÝÈ5^+ñÛî\vØE¥dè`gpbeãÄ¢q¿9ÓVTËÀ]/4\eÎ\98{`£¬µ\96¢·\14\83®è9Úc\9f\»çän³´&/\85f-Ò°üxã\1f\ fÛ\931Åà\11ç\8a¡\9d\ 3\82\1cìLÇ\13Q3\1cMNf8¶\ 3R!·\81×MjFc\8bríÿQù\17»#1ÅÑ\97¸øh\96L\ 2Äï]\90â\98ÌrÌ\e;A\9f*ý£®,à\99\8f_Èr\84h\8f\9f¿NPÄ¿!rÌÇÛ\93uÊ~ÖA\ 4Ï\87Ýĵßwðå­Ì)låùï\8d·úÌhÜ3\19׫\8ac:ñ\12\1eý"\8f9\8cë\95
+Ó¤\a\9f\1e\ 5\89L\15\13\86mÓý¤\1fh<,ç®\8f\8cùy\14Æ|Ø®Lã×\81\8cùíLo«~#\19ó\eéy¥\91WðÈ ?ì[ð?Û²Á\91Z\ 11¯÷2\1a\14S\99²\98ÿö\18Ñ\832+m\96ß\1e\87\8c^Iy\9að\15¢LÆ\1e½\ f°\19Ô\99\fe\9aIAh\89\8c\92ÉH\ 4\92w«SÊLsÈ\ e\ 4åF%ø£\8e\ 3\94à \ 5\9dÎ<J"Ë®³fêù´\ 4\80I\1fä'ر÷ÛyßÿC\17¾\ 5l\8fú\f^ÿû\1aó\8f\15o\9f°¯Ý6¬÷\eV{\ 1÷\bV\88\bÂÂ\81Åôµ&W§_j©c\82\94Ô6ªkUK\1eÚ«N²ço\7fÿ\f`]Õ\13»\81\967Û=^û~Öªû÷Vl`e¿
+V\ 5Ý\92çÛü\8c\eH\19nøñzX>\8e6ÅZV6ñÿ\9a\965b@ \85³°_\87\e\90jÅ÷÷\8a\9b\99ý!0½;\ 1¶¸a_\80£Gè\9a\80\8eoÁ{r|·`Ø\87\8b¼\9c{º¸ÿ\97      \ eügÀå\96%q;Î@yÑqRÄ\97Ó|\97ЪSíøV+)ä\0ÛñÁd\14[À>×ý\0T\e«\1dâ×ÛÖ\12>BVA@ÿ6fû`\94\14Y=\86\97\>Ãaå]þ
+×u8\8b\84\9a?ÿ\145·Ç®\82w\94\9c\9fõ²p-ÛTü\88\9eaª~DMÃUR\9fºéÖ¿ÕägàÏ¡ûL¥\7fß\9f\99J÷óè|&R¿þ{¸ú\v\7fó\99<þ¹MÚ¿\1e.í]üC'\9fýÙä?Þdóêø¿é2yò³È\7f9\93Ïÿ½$\ fî¥øÔ\90?\ 1ÿjH\1fÚò) \7f]ý4\90>Wÿ´\90<ZÔl=Ù\11¤\81ù\83Ò@ÿ¯sI\ 3æ£R@óy\11\11¤\81ý~\ fü´\90>ÇÞ¤\81ÿÁ\ e\92\a\89D\94^mÂëW\7f¢\91öCÁ\1d÷\e\ 4N\9f\ 4byX"ö¥$5\192
+HkbT\90³°\ fÆ\ 4i!\8ef\15$1ó¿¦\91ö}écR>ËKªGÙåË\7fÊ\91öwܪGÙaþ:GÙôÿÉHû\ eÉ?8´\8f¿ÚæR>þ\16
\91÷\850ïäR>ýN
\91÷ö8+ºGß\96Á]Ò>ö\18+ºGß¾\96»¤}á<ü\8aGßô%®é\1fx|\1a¾E#ïk-wHûÃáÕò)\1f\7f\9b+wHûÁ³Îü\8a\15\91Hûúi[ºGß=+wHûãåné\1f~êRî\91÷ÖÊ]Ò>ÿÜ\94»¤}ýT¥Ý#ïÇÊqé\1fx+g+ªGß¾Àä}ÿÅ\81\87HûÂ\97\87«Hûôx\18t\8f½¶\ 4ÔN_\ 2¥#ïÆIri\1f\7fû©\12\1e\9b\15wH\90ç8<ÚD\87yH\90ð^×6\91!ü4\89\r_\e\8dÑÃ'\16!\B2Â\10¡ó\88S%ÿR­ßæ\10ùj\84æ\93GB)5{P\9b\19Ñ!\97AÊdÆÞ11Ût\82\8c#rÐ\88H¹0J;@\94þ>\85Rt\ 6bcçÒ\88XåëS\8f\9d ­r`\957D!6¼Ã\947®!Éâö\1dþì|îh\ 4ú½(àu\ 2Ùy­ð\82@.`C\94¿b!7çK\17Éù©\91æ\ eWz$ÂÖ©ð>\84BOÿÊ\1f>\1e`§[\v\13¨\12     âfú\8ca}pA5®%¼(ïë\88détÖwI×[sG¢"k\8e`\99\9f¥T.\f\9aßFT\8c}D\ 2¾y\1fìb\85ÄSá÷e5p²\1dÂc\96çF\98C#5½¸\84Ú½\rÆo¨M\98T³çÓe\80Ú\84×Ï!pM\80Ô@qíÅ\ 1Ç\84Ôõb\17ChÕe\82èi\8eÜt·>\170T\11ì\93'\eq Æ\98\ 5ªzaôZf\8fñ\92\8e`\99KF!TïM\16ïRß\12Î\15\ 2\84\96\9d\f]?ôÄ\11#a\13g¾¬\82\8bz\84Ülá#ì#\9c\9bÞÆ&þq Á\Bq6¢®\a0L\97\89\1cÄÕ\ f>:\ 3\98l\98è¢É­É9ÃèD%ý¨\12ÏPä\13\3\13ª:DÂÀ\89ñ¼bt§\12KÔ'G°\82R}\11\13»\1e¹\_F(\105L\836/¹'*q\89ÌY®iõ½MS«\8e\96\16Åi\88tþé
+cács2³mB{6\82º/çKf{R     êùÑ\91\1d\18ÈÏÉ)\17=\1e»Ð¦MþÜ\8dw\eÆÃ'       aû2
+{\88N\ 4P\14\fëF2~é+-\18\84ò\Ú{Ga\ 4üóË="_Ðem\e\82T³ôc\81ÌMûã\ 4Ôû\92n¦rxÖÔi<\98\13\80óÁ\99¸\98v\91mw\93\8fs\84tQa\9b\ 1Ý\13¡9Î1<{B)<{¹Ø\ eÐp\8cl¡S!B\1câ´¡¼äïLÿ\94\13Ö¾ê\7fá\ eÛt\v\ 5ÂþÂ\99øÚ\vÝ]&Ù^Ó\91#s\90òÝ\ e^Ív\8a\93Éx[7À\9fõÐ\14\89¡ËÙÎ{\865¾%\9e\16Îs^'ÙÃÐ\\13ä8\93\ 2¡=kjT§Ö\83\8d£-ÎÇv\97\1aCñöcƹálϺҾ\16Ì{«|M\9a÷7\ f(\9f\1dĺ@\9dì©ýÓ\15\8e\95]·êm§i\ fHu'ä)U\1c/ÌÉio2Tªüÿ¹ÎF\ fºÄùþ5\9fI\17 O\86ͬYò>&[·\10í2Ò-¶è\9f\99Ä\91\9eI?+\8cOÆÏ\81ãKú\84üÏ\8f²Æ\11?+¼Øîî\19?-
+Në\90\86PEM¾_\95´^'\14½ÕÏ
+\ e\1cd'\ f\f\9fÉ\9b\8b\9e6pü\18&4\87Æá_ø¯ùÎ6\9fh~Þ5ö\9f³'î¸ßÿÅ\7fü\sÿ§ ¨P,ÿ\92Dï.ù\95J\a\1ckæ6d\9b\8aý¥Ê\ 2¯÷Ê\a\ä]fn®9\91Ý>è¸\ e\7f\93\vÌÅãwiqKær_ù°ÆÏ\7fýdÜÍÄßÿîOæUàÏ\8dÈþÒ\1eæ?\93wÃC\ei¯ó\941³ï\a\9c"\86O9qÅß9qÌ\1eÐq\7f[qÁîÓ\91|éJ¶2éD+nõªñ\8b\9f\8cÿ,<g§Þ"§A¼ûÃxüTèCâ?ãîCP¡µÂÖ¦'\a?*ç4¼ñíýj|Ep\8a\eßêãQº»æU(òjtkâ\14bPèç°Âè÷³Âé\v´O ÔÇæé\1f´W\81&\17I]¤^\rÓ\14;ô?ýM\eù´Ñ\9f\9bM\19Õ¦\8cü\96º·\81#g\85Dhù4E®î\88u¯S\ 5\83 Bó I\ 6ä\ 1\12\92J>*æ­V¶ë\89 \ f%\7fÎ-s#U\8bJøÜ\ 6\91d¢ô%3²(JcïhJcI\8bRp¯8jüÎ.\e\8d\1f\a"\86\ f;$\86\ f\1f|C\a\8dU\8b\wXßàÁw\99\8fyk\16¹\ 3É¡.\96CË¥\90òô\8aµÝ\8eñ]\81ÆÂgK\1a÷Jî¾êï\ 2Tfj%ÎÖ\1c;©_º±Â$´\7føýü\1a\ 3Þ5Û\f      DÞ?\9cA\95$*(¿Æ\9f8hõ\9d\7É\87\1aXï2\ eë\17òUõ\18£çy408ù(\88ùßâ$Gp\89RYýø?\1d¡;f÷Üðé¿[\14$w'@²üjo_É%\1d÷d¶]T|Ïx¯\9eÞßP\96ëX¡-\9d`j,\1fá¥\92ó\17Ä&1øÔ&\164B"[\95WßóÆÈþe9W\8bë:ýæ¹SÅXj÷\94\0\7fâ%I\7f¨\94%þ¥\84\12\8c¿ð\92­?õS\98?æ§+ñ¹\9fþÇ×w\91\9fÎÕ¼Õbùï7\0Ï»ßk=\ f\9då¿Cw}Õùè1©·ÚQ#\9d&v\1d\93\B÷E\1fÅ(ö\ 5\1d\895ÄïÀ(ó\84×\14=IG (õE\1ftQôå\1fÀ\92%~~Qõ\85\1e\8c£Ø\94\1flQÙ\9f\a\94v%\1f|QÐ>O\9d¡\89}\19eùGD£è      \15\7fî\8a>è£ù\ 5\1dã\12Èr\8fûÅ\1eÀ£¯¾\90O[(ùÒ\8f¨(ùBgm\9e\9c£º(ùâ\8f¤(í\8a>¤£µ(ö%\1d\89GD£¯(ú{ù\ 4îºB§aì\8aç(ó\85\1ftQõE\1fÈ(ùâek½\81GfL­?Õ\14w²Å7å\1f»(ú\ 2\8f`QéJ?\9e\14t0ENçÊ>$£¯(î\8a=·DMfÓ(ûÂ\8f¨(ö%\1fXQü\ 2\8fº(õE\1f\88\85\1d\9e\f²<£¹(ìÏ\8bÊ=©5¼\8f»(ûÂ\8f®(û\83µ½\ e\²<£Ø\14}aGhLî{ð
+9Ú\10w¨(çhT[â\8eð£éÊ>¤£è
+>ø£Ò\94v¤ÐÁº2\8fª(í\8a<\96#\8eHÖÎIFÿy¤BJ7¬i\10\92\8dù\r"\12Q»V\91   (Ú3q    (ݱã\96\ fÄÎ\94rÁïg¢\12Sµ³ñ     )Þ\82~!%;}?\10\92\9d÷sñ )ÙÚî\87\1e_\12ë\xåñ+ó­b\12\ 3X\84\95o\ 1\8d\88IVú\8clBJ·¢ÆÄ$«~Ö6!%[G\1d\10\92­ø¹\b\84\95o\89\90\88IVÏ'ñåñFeè"\12\ 5\fBJת¡\88IZÏ\7f\9c\92­ð(b\12W¿<ñËÝiq\ f\1c³~H\9að\96´¾6\14¾J!%\9bk\92\88IfÖäøú\1fæÿ\aÌ\8f\90þ>ÕÇÝÈÚXO×é{ó\92\82\f^s\1f_f¹\87\8f¹ÍVu\÷£\8eqÁ³çû\97øÞâ\91Ö£mÒ`³y®Þ_r\8f\7f\ 6\96\83\80ßíw\18¼Ï\89õsÛ\8bÄ7Oý\ 1m¯à§ïñ\95˼`¿'ð\ 5÷>m\ 6¯æÿ¹¿îoû\9bþæÿ®Zèhj=6\rA3Ò}Í?Ü}þ\ 6 \9c±­\95­gZÒµ­m\ 5kj×U´u´µ¹êÝ\ 5n\92·OZú¶ª·Q[©­Õ~¶ ­¶®u]G]K]\9e®ÐWi+´õÏ«ª«µ\15Ú\98­AsÝWo+\91®µ®¶\86Ô\17Öºº\r[m[­]\1e®\97W\9eÕè5gF8|À\94«¤ Ù.A)Oý¬ô­þÆloÂï>Ñ\8fy§A\15\96&¨!\19\9bÀ4²×¦Ó\994-°\19>?»¿ªññê!ó|\97ÿÂH<ê\8c\9f÷â^¿Z\1f\7f`I\ag\92\88Ø&¿ø{½~\8et\82H<ï¾Ô\19°EMmMQ\1aÙµå±\85\1c\14L\7f<j\1d\18\1f¾O»×
+\8a\1eÏ"lf\1f¾J\15ÿ\fU¼¡&i\83Ðò\90ù¿à)+±/ß&´S»\ fº0M6*vÿro\9f\ 1f\ 4\0<Íñ\832\1eSÊüüpÔ1\8a\92õ¢\8aÉ/W\95kºÌpý´÷u<9\1eË\18\bQÿ\1c\1ekenÌ[h\0\17|¸¶Þ¾5ó\9b«[³\8ai\v\8fYðÍö#[ÞèéAxz\ 2\7fì«uG¦\Þ¥×P\r¿ª÷1¡A¡V\98¾Å\193\81G\93{ÖGÐ"\eÝò89\8blpļE3\89RM\ f\ e\ eà\83\a\r
+\91d\98ê!\85#         $ê<áÑÔ4`ú\93\9có{}Á\93'¨±nd|á@øã·\ 6`¹ð4ØPT(\10ý\9a÷\ 4À\ fQP\9f\ 6].ÍNºWh H\ 2¸tHDµÃa\0\15/\88¹\14(\8b\15Á¶\f\92Qï IÐã\ 3ë\98\9c\11\ 1#ô&\85\87\81\ fe\ 17\96¼à\95\11\96Ó\18zĸù7¸\8bXÞ\v{_  \9dÉ\1a 1\93f8Ø\8dÁ¼º_t\4IV\r«\9dnÐÍÙ\nÔÔÕ!½\ 1\9b³\bÝÑ\98J\86ݳ¸\ 2\81C÷@É??úÈÏ\1fÁ\17å}\ 6£U´;«w½\83ª\1e\95xPi\1fl\e\91ÅÝ[Óúáeé\1d?ѱ\ 4ÇB\ 6²Ý¨È\888¦ÿ©^j\1f\95\85Æ(¡ê \85v\eÝ\8a\99&áSÞÝU®î\1a\8a\83
+\0\91\92»\82Õ\ 4Ø\ 3/ð·KÒ\18\1ek\9bj£K¸A\84.bÃT b=Ñ1\11T+D»Rm\bé\8fè}\r*ó8\aL¬Tö\81ø\ 5ÿ%£j\82\8cDp¥M\88\8e\ faT\ 1·¤\11\ 2\ 5\86õc£\98\80\výdùÎ\e­\qY×j\86ƺYª ÅU\9c\f×´l+Oü\aa\8ck\12Db\ e\8e\88Æh\v½\8f\95÷nÆæ¾G²ç§î\99.\17
+\99¬H£ü"Ì{k\80\98_"fð»Oûª\84C²a\r«ÿÄ\b\83°Î#\e
+jÕ´D\19?¦%³Ã\87|í=WP\17xÓÃå\r'§Çë\ 4ø*²\96g\1d>YÊ(º`(:\1eOcÚs¯\1fÉà\86AdßÏ&\ 3lÁ½/­íú*USr!\81+Yýt»¥ý!Ø08\a\15è[q\98\8fÍçMBuç\89\r\81\9aß\14Ѥ9\9f\96\91²§\15#<dQ¯Ö     ã\10-O`I\8f¨§)q\bþ\a\14ì ¼4~üÑå@\14x>ASó\1e«
+\82\e\ fßV\9dáÎ\15\1333|Ö|ÆÀÁëadZ¡7ÄæÆ\9c\98Që@\14ÚDþ9\91rÉäÏÒ\\96ìi\94Yègö1[\97Î\9dMïÒ[·\86Kz\1ea\98\99¤Ù\86¶ÜSj#\9e#¸ÿ<Íï\99ï¡7\9eà\0\r7{:HX\9c³\1c\139\9eP\ fY\1ax\Ôé(X\1cù   \944@»CþDì0c\9c-¶®
+f~\95\98K Ó4\84\f×\9e@\e׺ï\10\84Ú6é5æM:à½uüt5Üâ\96´ÛY\ e\9dÕê[\1e`\93±HpÊaT±dxgA´«¬g\14a×0æ)òü¬@\9bSLÉy\ 5ßRr$\82ñ§7K\16q\8f\ 5\827=Iç\ 3:¬Í6\9c÷§\0×\8c·D¡.ru.\81Cg§\9b\1alì¦âåkõÞ\Ú¬¥q2\ 2\85Ó\93m¬ú\9d\8a9#\1aP»0ݾ²ØÌÎ/¸1gggéбC\9bëÏ\eÈ|\1d\85=6(&\80LWh&Ód\98\99\e}ñò\1e\88ü\95o5\18\96LU\13\95\9b¡\11ÈÊÇ©Þ[\15µæ%\9d\87¯ø+\7f+£2I\ 5\9a\9eF\84¢j
+\92Ñ\9cÓ1³3\82\83Ò°±NÃ\87+
+ôì,JÂ\82v\1e)\80\18\0Ã\16(hø\93\ e\9d§øØó3×ìiÝxïH\0Bï©-uYÂò@cs\7f\1c\8dwqâÛ\1d\90cq¥\ 4\9bÈ\94\1c\Ô)A3\ f¿\8eâÂ4ôµgb¯"\92\8f \10W\15úå\87ôJ\9a\92÷\16XT\93ÝÏ»\1aOA\96jg\93Ýg»s'º¯v4\9e§\97\90¤÷¼\8e\8b'·T mº­÷sál\16C>\rä\9aÐ\81sW\88\1aR\1a\86£\ 35âñ¶ôà\16\18"ÓP\15\12êûÚéëîÐ?¯*å\eì£\9d\eÃ2Û\81wE\1e\92\16\a±\fs"\9fº\ 1\96âaÿÆÍOe²AÑ7â7f{®âû\95+î        ¯»5/±Q3\94\ 1J)\83ÆI\99Ƽ~ J\8b\f¾ÑL\1d÷ùy\14î\16\ enfJ¨ÀnØs(çÉ\9d,\ 5o\ f\ 1l\90ôÑôxP۬㠠  \10ÜÂg!\98P\8aGÙ'Báa\ f iSÞìÍ:«}P²Á\80\98)\97Õ\11Úã\ 3u\87Õ\11óÌ;®ì`­¾\98ùñ>¨]´7\9fn}Q!®§¨}Qz\9e§zú¡}ö\9få>¨½í)ô\ fª$]Sõoª/\96\0Û)õ×â2Qô\ eªv\12\9aÇ6\9e\80ÚúkøÔ\95ͪ=P\84Ú¼\18¯ñZ7\91î\1d;\81ÑÛ\ f\9a\87¿¼«ïE\87Ê\16·¢JL¯*úwPY\8b\aÃ¥÷Áå\1e¶cåH\1cP\ e\0t±Ã¯ÐÙòsûô
+¹>\98X«óÜ\r/\92´oø\ 3UÇ0;\10dW¿\ 5å\b³~Ýþí»\f¿\ 4\vÉK§þ몲nô«wUz\1e¡(¦×9êÅõ\9aüOA\94Éiº±JKì¬ðÁX@:\a\e\aY?0\fáFÖßråÿNÙ¾â\ e_¹ô\1eÉ\87\86\17ØÀÍH£Õ{ \82;x!¸ìÊU¾\85«ÖIZÄ&p\19¸æ9@dJ¥g\ 5ÏsØu\ f~\9c\19\82\a\epÁí\90\7f\f\82ݪç{LRg{§ÇP!wí¶Îý½ÀÐ\82ðýÀl³c\9a\80¶8é§o\84\83g· ñõÏö\e\16é~ºÍ\81èÛ»wB\80.÷!pß\89:\82     z¦ÙË\87\92Ü˰Õí\1dõ\9aø\86à~îóû   ÞmßüÌÜ\17ðç#JA5íàf\96\ eu£Aì\ eîÖ\87Ê9Düþ#£7\ 6E\1aIq\ 6L\9b\ eñ¿·î:Ôþ¬'¾µø0\9eHp\983XÓbßÛön|\1f\18a<\03\9dÙÑa/¤l%\82S\ 4\97\81)Ö`ÏA®TCéü\8c\aEÉÀc\1c\10Û×ßv\8d''û33$Ì!\aì      "B\0\91\b¤\ 1\83¬\b\15Ï\83ì\ f±2,j
+îÑ©il«móYC1\ 1EprJI\9fv;uÛàÞîêô\86ÝÚm¶ÚUi\ 4u  \b\84\81\0"\15 µZ\b£ô~@\11X\0\ 1?\7f¿ÿ¿}\99\92I\0\ 6\95EÖù»Z÷y½¾^ß;Îó½.ó|ïc|ß_|îïàfÿ\ 3ûÜïà?{]íw{ö\9e\1e½l\92\8d¿»tÁ¾Â\14Sl\1f^Q®|úÙ\87·ëkÃÖ½\11\12\97òæ\82xO\93ZÅ=®å;\83¤ëåq~@âÝ'\12ÄÝ    v«Ü\1f\ 4\7f'\8bþXì¿\ e4\80_%©,L\96ù-Qõækkä\1dgÛåmSjä(r8¥\976]rWëÉ>\86¹\15[HÂß\980\94\8aÃ\9d
+k\95\9cWÏä^\0\89ȼT\1e6\85NEXùá\9d\18­¼ÌáϳQ4´Ï\9a\92\eÞ\1c\8c\81\90\ 1cÈ@«µ»c¹
+\1c2\91\85ÚS\rkè¯\9b\0§¡S+^Åñn½á0ðý\16æaÕ©\97²'B,*\8eI\1d±Í\9a\a\v\ 4\15Ã\92³\8aB\8e¢\15¤YÃ\96'\r"c·\ 4\8dé~Ôê\1cÎTÝ,Rj\96\9a\94\97\8aîvU\93ÿ{.ïâeä\12Æ\19ÙÏ]\fà·÷ÆÈÌÞ\ 5\0?8½\8b`\94Ýúͺã6:%X\ e=úóË´Lèzê\Ö$\bÐÇÔ6y¹Õh|¬Ôª±t\15§9%\1eâúÿ\10\9d*µ$\84\85'ÑAÄoè*\8bÀ¨¥g§dpå\8b:ÿ®TZ\8b\12\94Úìõõ8\8f\1eVÚIâ«´\8dBQµ2\r\9fT¼U\8bâZ\9c\83Qh_\95Ãÿ¯}Rª³ñ²\88:õàã¤!ØÛ\12'llé+­%i\r\17t\8dõÉj\82$k÷\ fRÕXÒ'Á³S\bH\90¸       Â\82H%3\12»pÜÒÃñ\8aà9zÞÆ\92\9eº\ 3\83pþe$~\94\91È}üA\18ÅÍ&\83\83g'\895V\95nÆ      mªþ\ f \ 4\a¹fÞ/P\bº\85\ e\1am\99\v÷´¥rñj1ÄF\ 2\16+äï¬\92Ñù»l\11\90\93}\ 4¢¼½öû!;V)\15ÕÝÂ\bÚÄ\9eW\83\aØÇ\84ÏÎO/5}A\ 3\97\10\8añ\fÄßd(¬b\10Á\90´æm ^Ï\88\92!ëÊú.q}e\f\16±Â.\9bÐ\83kc§r\8eÏHÖ\b<\12WLL\9c-ÿÛjÔ¨tGÄ\86h6´toÒA"Q\96R_³+ãÝúÛ}#x2A\123øW¡*\86¦ÛÕ\1eÕò\832\9dwªìÝú\9b\rÁ'9l\8eÆ\923\10|:Æ\84ì\17\10ÿÏ3ÎÒ9\83$üÎ\1f\bô\ 1ú\v2´tË,É\ 1øÞ¢¦\87"#?øìO0é=æÈö\9aõËõqÙ5jh\18èõ'@×ñ\ fÞ\82N¼ývúl÷,Võ«õ¬@]DfÜm|r;^åÜÂ~üÓÁÃóÇ\9a\8dÏ\9a\7fé\93[\83ɯ\11Æ\91&¹åð\1cb\93^-\0Õî>\bë=®ö¾W\8cxÒo\ 5ÂÍ\18Ê® Ê\1c¾8ô±4rÉR,é\84\92Ó*n\87¤\89\v»*Fö*%Yå#\aïÐ\9b\8dçpéVW\19å'yÕòS ÿÃ_ÐâÇ\86µ\85»ºh¼!<\12wr¢Ûqìã@CèÌè·4Q\ 4fµv\eêÃùó\12ÓQµ\1f,5B,Î|ô?U´\ eij\89>\85\e+Ô>#X?Edè*SÌ\ 1\1f\15×P\11\ 1·\94½Æ\10\90ÌØ\97Í;\17*ÕÂ\13ñH»ß`è\ 6Ì\9e:{\88ì\97   \ 2Óc\19\rö\\90)5\\10\9eÛ÷\97·<Ãf0\8aØ'@:^1|GX¨D\9e7ué×Glß{<\11Çz/"gZ¼\89:¤OQ8^\93È\12Ç;W<G\14(ÕlXê\8b±&\10RA¦lò\17§Zò\17\1dä\1e\84"UD:^ç\86\0î~´!Õ²Å\8a\ 3náA\98gv\11\8c\16\87ù\9b\160&ÝV¥OøOñ$\16ûÁ>ùÑ¥¼-ìH)\92\14Ô?\84±½\1d\84äô\17$=\9aX\9aÇ;\1f\95±bÜ\ 3t\95Ô\ e\90Øé°GÍ\ 3-é>Âk\99îc\94/Ý-P\ fñä\16Å¥ëÞBõ' Ê/ç\f\18-Pé\8c3ÈVÎàÞM?Zåþ°ºÏf@\1e\85\83(iè¯Z?wTFüy\1c\8d\1dhóÎ\9f­\91åì]î'}Kx\84þ㪿\8d\ e}©¡ÎyH\9e\9d¼9Ö\b\91\ eu\86\87=Ù¡Ï\90xs Z)&\14
+Á²©j«X\9e\14\19vwaCkfݸWë±Ð\9bs[\a¯gr\143þmË¡ñã¿7B\ 1éÚò×Xê\rð
+\12\ e\98\1föé ÑýK\8aö/£ô¹\84\85ú\814F½×.\ 4/»¿Õ\ 2\1cø\ f\81H\93o"Rµ4üCö3\94ÏL<µÖº\81;\17\7f\v\85\1a\ 6\13µò^@Ç¡ë<¦µÏt\8bÂ\17\124Á ËBôî&YÚ/³µ\ 4\82\9c¸\83\92D\97\92Z­a\1cz\89xð?nâ¼1}\ 3ã¨^Óí\96nÍh/6\0á Éõ\95.,\98v\88\14êÛËÙ\16|{\12q<\89¿RvSÊ>mZB\13p\81\83\12ú\80å}IÈÂc\11jyÜ\87Ñ·bò0_!a`´Õ\rI\9d9qÓ\ 6pÛR\10'f\89\86\87u&\95ÒZªðñ\91íÂDXeû%@^^\11ÿD£§\8b ) 
+áËô§rÿÇí~\97/­y\ 3\17Ês¹¢$êºÞk\9dÑ\bµÅr¹=\90\9dhäÞ\9b\93\9f\19\1c\9c×\v\98Bôß\f1þý©<²B!ÿ5å¡£9\17µ\8f\80¤L²À¹Ûá\9f\19:0è0ÁÜt\ 6ý¬\9f7±GGÞHwså}[è\86\89ÓÃFó=ÑÛ¹Ï#Ú'9\87\8cç\16ß±(\b\96¶ÝÍ\vÇZ\ 6$\80Ïù9ÑÍ`\ 1"        \9b PÂý\ 3Ð\9cÒ\9a\ f\13\18"ã$m¾É\8cRùò»T\9b¸¹ä\14¸ä+D\ eÌ\ eÓIjµª·±Dl\a·ú\14\81\16ÏqqðV+\8cO;\ 6Lݫڰ¦\91¬\bý¤\8bÐw\81¹BtÈl\97í\ eã\1d\1fö!E-\8e3õÒ\1d\ 6Û\9d=Ö?\ f\19Ä#ѧ¡\98\1d°\82\8c°VöI=¥8
\fx\14ÖòÇD§+åý\92\86\rpÀî\86\8f\84ÿ\13\80wËß\95Zíë\88{·#\83é\ f(M\99 G\82PÓ(¿\89Á:\bÅo\85        âEâY\1f\95û|\a\ 4\10w\9c=ÏT\F`\1e+\87`\84K%µ\81ñÆ\8cP¸í¤\82\82\ 5\e\15\v\10"\83eV¹5mÉM¬ÜfsjÃÓjÏì\18øæÕÞë\18êM©\89àÏ\91þWôCD¸Ñ(\19ÿåLÛß\b\8d\16#F¼Ú ÿ¡X}kƬDþ\94â\ 1\88D$©\16ðÔ\88!\ 2y?ÄÙ8\9e±»ó»\81|N/`Ù~\90\10ô¿â<ÊÛ½[Ð\b¡ç.¬\a\86K\ 5)·0(cAÆÔº\ 3à×î\8e\9d\b@\89ïðD¯\86è«Ô/Ö\82%\94\85¬p®fÍ\8c\9eÐ:y¦<ôñ»Ø\ewëX\ e·/\17²üÖÖÏ£&óM\8c\8aó^¹r\83·]\98$Sr\87\134]¼;N\9e\aÎ\8dw\81Q\r\1dP\81\eÈNd¶Ý#\8a\f\9fn\1dö ~Ü5ëUä\92+(æs\9aö(Õ¡ósá\1f(\94>o{ý\fd\r©\8e¤5Ý1\±Ä\9c\13!¢ðHñ\9e6óÀ7þÅ\Íz´:¶,\11¯Z}iSçJÛq4E²qA~è\9cï?p»e"p\14\89@;\85\8e\85õ\10\ 2-w»sw\10¶)f\88Lr¿\7fë\94³x»é\12ÍQ`\8aYýÙ¢1\81\82ì\ fÛaVý0í°\9cN\ e{\fò\16ìèIë²4¶¶å\83ªWc¤_å\f!\95\8dàÀ\92W2»\1d\b&/¡ÄA\95FÏxÃe·\89Ãô\9cÂù³\94nºµ¥÷Dw;/\r½\94_À&\16Í\89Åæc°¶lL\ee{7\ 3\19\84Ú\19\84Ú\1d\13ê=TTíað¥³Lü"\ f\ fò'Yùöÿ"s\1d\9açño]É\1få\10\ 6ðÉÛek´¯(3ó\94p&Ã\84\f¿¢ÿ\80<rÍÓ<°T\9b\1d\aWRãt\eÙ,\85N\7ftâ=ý\8a#ñV¹EQ\80ï,9#þ¼{áý®\ 1ýðÆf$À\eª\88=@-®à\1d\ 6Ï   f¦\12´\91øª\96×Õ\ 1\9d\17!\16WW\9bmÁó.T\f\873ÉAÆ\1a\15Êo\14\88/\93\18\8aµ\8b\ 4Ójä\ f\1eH^§UP\ 2\ 5\94NBvºÚÓ\90»Ðò\98\7f9ÿ\1cQÀ¼9¿\19Îãç\e\ eÐÚg`Ð=4\83/\87\15´þpθµ\92\87·)DÈ\81л\97\8fάnaX\ 5\17
+§âº$ÞU\14ðu\aÈ9\95ëå¼ë\93Ø\8e\19£hÌĹÙ\81}\ 3§Y&\ f\a¥\96ió,Õ\97 \99§\ fÍ#\9cXäú\13ò{íèäÜ\ f*\1e[\90ò\86\r^mÈ~\96©s<l\f\ f¤m=\1c
+Ciè v\ 6Ó\83\81Fm8(\ f\r§       \ 3\1aP\14Wêø\80\ 4©º\93þ3©StçüqP/E\ 2\8egõÖ\85{\10ø³ÀåLXÀ'â¸
+I!¶bø¤MÙ%\81­\87Iø­uD\8a/`  \8cä}q~I"ek8¯{M®H\13\14\98!\88M\81\bÉÑ>¿¦4dB' úp}\fWè|9ÓáÀ\0ó»ÂºQçP\8c\r\93\b\8b\86tPo¬\97        »~/ØÓY¤\e\ e³y\1fÛ\1eY\1eØú\84"qS^^Ùd\80\9c{%úBÁ\943¬O>\8bô¤\9a\14\89Ú×RÁÁQSï;ɤÆA`\97L\ 6å>õ\ 22\14°j¸ó"6Ïè\96337m°òMÛOØ\ f\f}=!\0\81!\96¸7L\8e\1cì\1c±æÀ¿È4\89ØU\1f§\f]e\94*\1fôû#ôý¾yÁ\e7\8fÔ\8f\0¦\98ÍsÊ\89Ö%\8d\1fIT}¡ðiá8ælU©Ç{      Üy\8d\93½+?hî¹S\92<TÐ\19\v\1afÏ"w-SÒÂ\ 4\ 1Rò&-ÒtÜ(\13q2\8f\b\11÷Éâ¬mk\9aÀ$S>\92,\ 5r*\91ë·Z¶y\ 3,¥3h=\19ú.\9céß«×íüË\89\99Ac¡ai}ñþ#\ 6°%cøZ1®yk`î\aó\ 6\81ózö;£Nò\99´\f\f\³bñ\8b/\e}w\14ºÄf·§ð\1e7XO=\btĦáÀ¼\9fÚ\86¹U\8dÖ\10qòϳ'òæò×T®§\aLI\8b¤í¾Ä<«Ö áÁÃ]h.\83\82o/G{µÃÑ\90'm\87(¯<\13_ÿÇÙ¿&Çõ{7àØ?³{ñìß\8b/fù\86wzþ!ý\9bßækX¿\17³\87XÎë(~XÝ\1d«cû3Ï|\1eÌû\1fZßÕVïÙ¯îm¿ÃÙ­mä^ì½\9a¥\8bÙ«¥[lHa¯yY&ϳF:ãÙ !\e¾ïÙ¢ûpäØË¯H\ eɤ{3¸/f|Ï»ìÍ\91´æ{3$û3\eÙ\97Ècõ{2ó{;Ï\1fé3${K\ f\ 5iá Cà@عÆÃ­wN·ä.\8a×¥ï\ 2\1dôÒ\80RúÌ\88®4¶·¼"\96×\82À\96Òï4Òg\91äÜ\19ôzâQ\1fíD\9a)d\8b×ßZ>\ 5EbõÜ%jVB\16«\15©\96,\19öM5ð¾\1e"#\1a\1a\9eéR\0\99\ 6\94Éõ\85Ö\ 3\1d^Mæ\0ð\ 2«}²óe\83Yè4\8e`^\85æ\a\9d\130\ 4¹Z$\9b,/êh\1e!æFR2cª-\95è¾&Fûe[õê±~µÈåÝ@v\12¼L\8aK5)Â\ 3VÙúÍÀ\8aÐ4n\84\13¿.ûrÉõMÂæ\92å¶ÃÃki\8fµ\ 4!ç´´ê\ 6²%\ e\9e'UÜ\1c7w\1eæøäì×\8f³\97\91ó\86á+\8f\8c¿ÏÂp«ã\10aÚ5\8c¼\ 6\ eåàéWL\98\8e\9f\16\ 5ZN}RÐ\8fÓ?ý/¸<D\1eO»üG\99ES2JEû\1cß\9aGïiîó`\8b;=\83óvOñ\1eU\10¡ãs\82¬X<À¾PU\8bû\87\ 42\1f\87Ï»\93å\ 5X¼ó\9fû\ 5X¼{\98×?Þ5Ìk\9fì
+eùû\8c\84m°ÿ\10«/J\8aò~u\1aá#]C5çtküw»\94Øi²\92½*5û(×@\8añ{ÄkU\1aèѯ>\8dzDküh×ç#_¥,Ío¼\91S\14Òu\15Öüþ\19\15êtW\93ö\bM\8f[ÄW'þÏëÖÊlÊç¿§]\aëýþ-\7f\a/\95é\7fë¯é!\1cå\e|EÍm}\9dúìÄ|º"½\15ä~É\15ßÿK\aðë»mã\ 4\99ô1ö(¯G®\88·ØaÑ"ôW±È_\vð$d:{Ëf\97\9e\ 3\89ïrÃ[º N»²\ 1g\96\93i-\8bI¤·\80V8Í\e[ûf\97ö¸&\8dom\9a^ƾe\91\97ï\9boùÃj¿ÁcÓüZþ,û§ï\ 5ÿ\7fÎ\9bn;\83kcø,F7>å\88ÆÎ2gý\86×ÇýfÙ\aϱ;ùèñ\93ç\9bV¿8\81ïË"×Ȳ\ù\99o<¬Kþ\83á7\1a¿ØýÉ\9bwÊ \96¿t-uñö\1e¯Ûî¸\17×úgpuø.\9f\8bò.ÓLÇ+ûÙl.;·âd</³ü\9a\8c®;Íé?Ì-gÿè-cþßïÛýÿïì·^\bE Q}½\15H_keA\14S©8ìT"æ@a¾ôþOg^|`ÕZ⾿\96\0\86\v \19ü\ 5\v\aUU¤ªÒÕVÕXÕYÕmê·\15KÕoê¸UM*ÝU»«\99«\9b«\9d«\9e« «yV­]\1d_eW\98«íjéjóµl¥ôÖª¯IW¥«ÓÕÖÕØ\92_Pw\15kÕïêÚhÝhÝèætsz9Ý\1cö\8e\83FóF®\8e\8c\92`GK£Îèáhê4\7f  Bi½ió#\ 2<{´\8c\8féþ£\97\9d4ãN\14¼ç·[/\9fììþo¥\84ÿâ_2ý¼n\ e\ 1\14;!±\8fâ\ 4\8c\ 2ôx\ 4\81ø¿ò­\97ìf\8e\bé÷\13^ø#¯\b/\82\ 1\ 5\8em·4 µÇILûc\8c`<Â5ó«eååÙ\83\8f¯\9d\8dÁò\b\80<Â5û¥\b\1f\89ø²Wãà\14?G\0Hºr=ÿË\8f\98g/\19ݧ®\9cQMK(o'
+\81µÂ&Þ<âÅåo\1aã\9a¥N±þab¾£\1e6""
+
+\16Ìò\86>çè\83OÖN\810Öâ1ú­E\98\9aè\91u\88ìí¾¬Ë9$½\ 2»7¼G&Éò»êK\ 6¢ìÃ\ 4î2\e¢OÊݨXC    ?ZÃÜsd©þA^X\17NHä9ú3|Ø#ý;é4Ù!\82¢òø\13¡\98\8c8Ù¸ù!êäñ\95î³IÝÆ[\8b¶db\98ð
+íI°\83Þ?%\17\aÉxdÌ\8c\ 3µA\81 s \86\80\1f¾      ÒØû%ü!\16 \aͯ³\rð(OËîÊG\ eüª+Ó\1f>G\ f÷0\fðéÛx\bâ\15IøK\9d\11\1dM¨A»"Ûã8\83¢o\84\0\frçEý´®ù\91\81C\ 3\0u\1926Fsóf\15\83kàÆ':Á\81Å_ŽdɳOµ\b\14Õ\18.<°\14*nÙÀ¶\ 1\97\8c\8d\12<\0¨+Q¡\10Öc\1fä}¼\0o¥w̼\ 2Âèq\9f,j­$Ç|[wÙÖoÔÙ\8f§\80\8f¿\e\1a\1fÍÝ·R'\ 4\90«Q¼K¾\15\aÖ\9f#"8`\8e\19×\ßËæÈ\93l\ 2e\19\7fd
+\1cNIñÃr\90b\1e|rNT\8eÛt\15½¿B\98\82\ 5ßýUôS\1cÑrÅó
\9aB\84ÇÅ*¢í\83NÛ7òûhé\ e>8Ã^8Ã\94àF¿u  \1cÎ\10ïìá{ëA\11\vI\9d!\18ël\ 5 õl\93\88ÇÏ\861\1fF*TÚ'Ú\10¥Êù\92èCoùÔÌØ\94\80sÃø\1aG?\9c&z\ 3\ 4¸\ 3\811Ý-\7f#Ý\Î\9a\v»S\82?\1d\ 4ÑÀü\12$\1c¬t& }\ 1^o¢DòÝH\ e?{+\84\87ÃLu³E\8ahY\9d        =¾±\rÂÒUsGlN¢\vû×\ 2ü\\9dæj4 (Î0\15ã)\85x\10ð9ë\98ô\93R\ 5Ñ?èQF)Ò\16þrY)ú·Hiad8f¼d\1d\ 6=èÅߥ\90  \1fmg\18\93\88ñ×â$â7`\93\87\85L·.AÃÌ\81Ëÿd¾N\â\ 5\`C\82K@éÄ+ò·ã\92s¼n\94¹vf\9cûú$'x'=x\19\9fD|®Çür\18AÓªZ;\bÚå\84@ÀÁ3\ 18n\81\7f$¹rPÉU\99\11ǵ\93=\ 1ÖÖÚcNÍõ1\99¸Çþ\99\ 2dóïwvÍ\931\93\ 4æ_\903;Ç\99\8cÎæ¦P¤qØí\ 4\97¡\1f}\99\8d¾<òm3çÀ\Þ<Ìu,và¦n~OÒ@&\9aº\82"x]8Ïðl£X\1cè\85Í\18pÜ$<R-+Z%¶\1a\80AC\8c\9efö±#Õò\90~VA\ f\9c\87CçªÂÿ\85Ô8.(à§»ýI\1c\99I\8bÅ\94èF\11\8c\88Ý\ 3\8a\84»t\86ÂÇ\15\82\10'M@\84AáFH\89QéPQÐ\ 5oå²\ f\8bþëN[6\84i ÓF?\92ùë\8dÑ\vVe$\ 6\ 4ª\1aè\1dA\14\ edzÓl3\9f¦«*09ì\81áÇEU¶ %4üî\v¥è9MÊ\87Nê¥\e®[\92P\14\18ôìmÄXî@\9fÝO\9bÈgçæÓÇA\84)æ¦1\95ìÆö\\88\87MüY/X\ 2\1c_ä@I\e·Ï\8eñ¬\1dr'åªy\83 Z0\83qfvõ \8a\0î    Jß¡\8d`\1dÅ\98õeΤ^ôôý¬z´ÕOu\98¹£ÖÆÌ9ù·ojr(ÂUq~\9eü\1dqhPFð<÷$$ÉÜø)\13è \88\97ñÏÖÑBeA\7f\ 4~\87H<å\8dzz[`'áröâô\97=)ã\ 4§n\9dB\84|¿\ 1/îpû¦¿ðpó·.\1fìr=Ç\ e\13¸¾\8cÎ:\9d(Dxj\8bkÀG¤3\1eu!ÞXdW#{Ö£e\94H좧e\ 2\86Åä\81\8c\80\11]\1d\r"|ãÖsÏÎf\1e¬ºkZ)\12ÁC¨ñb\96Ù\94û¥v\80íÜ\89\v\8bI\8c1üX\17üÛek·ÎÓ#Ñw7(tïS\9bk\8aJ³?9ÚÆÛaѶ¿ÒWo\9dFÚËÛ[\8b÷ïsëô·°càcÁ+j_\8b
+\83-%\83\99I\9b\82\£½\16ÐbN\f¤ÙÑ­óÅ\96\90Fe\97(/k\ 2\8fµ.â&\9bFOgOç&½ñ{"­´N\1f
\96\87
+\\1e"{þ7âäçþr[Ð\81Ás\82Rè|FÐ\1dPùgEäjq^q£\80 RRêJy\82\0méd½¤áî\e¦\14Üö\13ÀP0wTkêõ30\90d\93¡ÕÀ¼)CåÁêhu\90gÔ[\ 4ö\87÷\9df°é­b¶°\ 6"[\14ÖNUT¿\ 6Ë«\8aþü\ fo»¸è\8b\81tm&Ûä¼Ð*d  \83÷Ä\8aú\ eU\88>èQ\13d\ 4\81Ïp\9c\9bÅðê1\ 6\12Þe>Ðé2\8e\87Ä\95J))ok\88Üê?o%\ 3\rh\vð¼ÀÏÃâ88¾\96Ϲ6â\89.³Î3þ£[\89\1e¬R *\1f¨\88\ 5ì\1fF\80\0      \90ç\93'ܶÍ5¼\98ϸ}{\8a²û¾1p.\8d¦V\89,\96®;î3ç}\1aº'D\ 2r£å«Xê\1f­\96¥d\15\9dË"ôùÝÌ\87\bì\93ÿA6fOss?_ÿà¾fæ\vÿ\17\ fþ\90\fke\19m\89\88;\#ÙLå\1aQ\1aýº¢[ΧÚg{ÃB?w\9e4!À\80h&\81Û\88\ 6\83¶`×Ð<\1aÑ\fi®P] \ 6¼c\11\ 5=² §[w\ 58b\82\9e ¸\13AOm*ý,\95\14Þ­óAв\9dsÁM\94ö\9eAÏÐ\80Îz\0sݸsß@9ï\9c\1cöbC\9eÙ>Yí\19\ 6}\a\8e\82\v#N{rØ\94èi]f±\ 4\17Ø\19r\8f\ 3\94\19\16C\12NRt¸#9JPå6£=å&°>\f\8dS\rß­µ¢§Ú\b·Õ±ÔQ\1a-Φ\ 1e¶$\84\8aR\18\ 4$\19ùm\8d\16ï.bß\8fÁ\90\82ðÏw\ 6W|\18¢\1dà\11òÞ»Ø\9bðPÔzâÍ[_~@Íù,ÕÅö\1aGEa¨\11­\84\8cEVS\14\18þ\87\8a\14d|{ëÅý\v\103Oª{0IWùÎÙH½{U"W\920'bjê\14\9cÄöo\ 5ÚÜRÙâ^ÄÕ©Q\95\9c\9e\ 4¦\12h\13â\1fj\8eC\e_\a·N\17!À%\96îC\9cæ\ 5:n\ 4       \97\96ºÞ\82\rðm³x³~nË4ÐÍÀÅò³A÷¶F\89#\93\83´.O`T¼'%JÉcT5j\15$UÇJ¶\0)|\\19ÿS\80D\97\10Úã)GxGCg¯\9b&\85\rn×Á\96TϾG´\98\v\82¡\15\95âÈÔzt<ò\ fÀd5â&õB¿vß\1c4)Û \99©\97\95¢ Y\10Þ2\89\1fbõ|r=áZ xÀC<§Ê\9fÁ>\84\89ç\ 2\80\rÄ\19\8aã¨\8e@½ï\b[n\ 5"Zvm     0Ët<P\9eW)/
+Tÿ\ 6A¥Û\95\9c\99\ 2º²m\95,s\90\ 4Ó\b\ 6ó\ 5-\ú¥ÉÑ\8búÃwÕ7Ú\ 3D9\14\89¿Þ\ 1§Ò&õ8^\98F¿z\98ÚóC\8c-\9b¦\1c\eK\84µ\e·Y±ø»(K\1f\8bÄÒ¬rGÛK\88\a\96O\8czÓ¸pY¤\18E\95ê\91h-\1e­\85      \8d\84c\ 6\9aÎU7î¢Û\8e\90\ e\83÷Ø\8e\ 2~W¬\9e\83Ò¶ïZ4Ró¸WÊÞ\97)+¥\94N°{¾bo,Ji\7f\1au\810\8d\98\9fÈHÐ\13Þ>[\ò\16ÅÂÖb\ 4\94\89¬_´µBy³ý\92<\97ÒÇÍô§¤ùlWÈ3¼Û\12{\8aò¢Mv\ 3q\86gq©ã\97Å\93­\b\9d\ 4¹\ 56\85
+ßÿ¶ðTý÷íENÙF­Hñ\a\rÌõ¬ó#6ö\8b\ eT\85 vÅ}·µoâyiIǹSX9!\88¯\86õm¸IßàÊÌ\9dû*\1f\8e§?\84Ó\88\12`HÁÁÏ+ÁRs²\19ÿ\96à\ 1n}"Sp\88\91ððrv,êð \\96¹²G\1dµ\1d>Ðê\18r\18±\19@EÄkIh\8a\99\87`\98\r\8cºøÃ01\9f)}*\14Jó.\8b9u»\1e¿4î\8e£\12kÞNP\81\1aaxà[ô\95ùþÅ¿\8c×*´î\84CF\9d\1f\8bqzÉÕj~TÚµ8Áf\87\9c\0®h\89#µû'¼\93ñ4\8c\89^\84)Úì!\>ÚB}D\8e+T)õÀô)\902\11ò\83ÜÖ\râèh\83ö\ 4\0\1fYâ{ÈüM\rß\13Ó\16]äg\89ÊÇâZÝñ<ºÛ_$=#Þ9¡é\1cá\e\8dÑÀ\f\a\98ë\96\1e\91Ý\7f}\12ï\9f\89ÍÔ\ 3\9c\9c\86Ƶ£Õ·
+-ê®3\95XCTÒÛñ\83ç=\86¼Ô|ý\84\18èS\15\89'Z8_°Ý\93ßö$ÅG\f\18ÉÒº\8eLm`ø\ 2\93\a\90\98t\12S¯æ\9f\bå·uÊÁb\9eî%
+ÿ¾\f\93Î5ýxMßû0d\9e\r­Æ\13i\96sþ82N¹§ü°\9aR0d\9d4\9f»\83\83²þ\\9f÷àì¼\14\9föàì½ô\97öàì½T\97éÁÙ\7fà
+Gæ\1eÉF¤\ 3ä$£R\ 1ú©(é\19\1foY\ 2\9dìå\13*'òù#éØì!cB\80Q1\1aòÁ¢úôâ5ÈP8¼AÅ>"\89Û}\ f\88ß4Ãå\8b,Çâ'õÁ\ eî\ e/ÐzrÈ©ü6ù­ñ\0`\82>ß\1Ò=ãhÜÌ\84\1f\ eGA\80¦\16÷lxü\913r\80¬g.t\83\vÒb,i\13©hoú­\9fETc$Î2þyb\92\f\8c¹ýày\81å|¯Ë\99´\1dÎ\8cß&Ù\a    \136¹º\82ä\ 2'¾yËu\95Ü\17,Òÿ\8b¾4¿ør.à²9.{ëGmo\91ÎK\9f\98\ 6\1aÊëû·"¬;¯Ü%$Oä:\9e÷\92ê7n\bôÀÆ\ f\80àÎý»KÎU³G I×󮬾vß\9fuUÜf©t®sT¿2\8bçï\1c\98½Õ×ÏýwbßÁuMü\17W\e"S\r\ e\1e2EyÐ
+\17þ²\b£ßÖoï§8\rt]Fî\11u\aÕ`nuÂÀþtªáèZ¶\86ÝÆ\82JLgZ¶\9eJÚÛ\1a\9d~Â&ËômÙÍ%é\Ý9ùÔ6í\11u\17çïw4±ÿ®\84»IÖ¢\95\9fL\8b¤_Ö½{éV[ÿ2\1f\1fó¼\r'ÍùyoÝ{àXg¿×Æ\99\9fË)äz=åV>>iλ!èþM\18¾è±6Ù\83û´æÍõ¾\ 53\9d\17£\1cv\97â3\9d˽Ï\96oß$\84\88¿Ý~÷tq\7fÛD\17ÿØ#ß\0Å,öþü{\7fdP¥\0¥cæQ%ÿ`¨g|E¦û\1cð\fÅ\10¾í'§¼kG/'§\9ap¦g½º!\7fEª¯Ðú_\eÿ¢'¾·\v\1c\11Qÿº\88Oñ¿ò ­þ3F\93?åD'ñ0§wõ¸_~\88N\ 1\11¦c\ e\84\9c+áýÊ!8\eÒõ]1òÖýWMï\84}ql{æ\11¯\9dD'ýÄ@\eÄkþ¡\13ßwD/ÃaÎ\86þ¼4\8a!~³\ 4Í\10¾>L\9be\ eI\ fÂ\16öÖâ\0¹¼H\9ak´$\93\1eTöUªÔÑ\849\9aÞÏ\8cÿæ°è\14\95\97?y\ 1\19úÛHÙµ\v©?ÓCùpä\93\82\ 1íѸÃ]Ðêä¼\82ÞÑN²\85\89¯¼X²'f|*=\1a\88X>íß²L§¢Ê(.FaÄV\8fA\8c\a*ÛpTF¾\13)\8a\13B#9~N\1d\91°      §\96E\a\ e7\18\82SGñ\e©A\97\9c\9e\83H\ fïK \83Ú\ 3çO\9f\16\97ö)\14GÙh9Et\19ùÊ\v\1d[V\99Ç\91\14\9cO\91c\8eq\9cýÑ\87.¢§ÅO\e_\9cÃ\8f\8bß \9fál\ 3ó\92xÚìåø"F\96Iî6¾\ 2P­$ÓÆë³\86ý+ 6\16á4Æ·\r\1a\ 5<yÖ`R7ßM\19\12rÓ·\bcú÷\90Í^¨ùº×B@\8b~y3Û\90\88y¹Ô'ý\87×¹DIYèlà\93)Ð"Ìd\9a\9fï}òz1ð\10o        \1ekÓxhôKiyÞL]µ\91¾\92ºß\12\8b8'ÿ)\ e\bÍáÐ2\96 ©Þv=\13'Ðf\89\93æámè\991èÄ\f©\10d\ 2cråå}\ 3µ¤zËñf;ì*%\ e\87\1d\9a'\ 4÷0\19´)Â\ e-ë»+TÒb\93
\ 3\83þ©Ð\1fè_\15wPN\19i\8a\ 6\´z\18ò\ 2\ e\ eÍ\1d§4N\92dÉzuV¢\8c\9c\8c*(\1JØÒ\86q³ê¹6\94\84Æê{lð\1c/@÷à@¤Kà\9d\10\r\90n\83A/¿D×\87\9etJ\ 4Á¼GA\\e\8a\8c«©[gέ\93q\ f<áÜ\17\10þ[\82«\1d\e\8bvýjë\9e9¬Gî¥j%\13¶xé;`9z\8dÈ&t\95\8f ô\18É4Pl¨=\94÷\e¡[Ø
+7­\1fX¤CÚe\b\ 4ù÷u\997³ö¬\92\9co®ö&ø!\7fâ\95J\ fÃç\115ª©\8cÓ}Ò¤2}jèz\91@çv\955Ig³ný\92\81é¥$\15ó½Æì à¢\10\17èïÉ\15oÁJ\8fq¹!\9eÚXñ$|âà\bA¥YüG¢Ë\9144&Bù¸¾çÿ \8a\176\83\961»©,q\19¢?\15ß\9d\130ºÅÛ\1d\ 4\ 2?Q\95\ 2ZgbmÕ9'n\14\ 2B²l£}aVRìgö\81?\9cd\8f\94(\99À\93aÓ[(á\90¯8\­Ã\17\vuÇP\0[B
+Ô»2ûñ\90ÁG\80ÿ&åÉ¡ß\ 5\1a\rÄÛ§Ma\ 3¨{\8dÝÁ\9eG\1e\95\1cf2R\81Y¯8\82\85Âw$Õ5¶obz\87ëº\ 2jE­|ÚT×°\99    Æ`è^;Q .Å·2\ 2íx÷P\17*B\9c>lÏ\ e \80§Ô8ë¯Ù²=p\1f-½´v@§7\8aö&íånùÊxÞD\19{ZöÐRyMçÁ\94µ¯u\ 6JÖ½Ü\a¡Ù\9f£vÿ\bp1µ¨  x¨B\15\8aÉ\e\84©êH l<ô©Ç¨é¹Ä©ó\85ø;:($\10ïàdyNï\etîég9\12\1dÝ/)Ýܰ@\9a-\ 28\9eÞDá\ e9\96¡ï)¨ò\88¦O´VñÖ\9c¥\81äHPJ3l1LÕ\9cçÑ2f4\12\ 6l       Ç\90­¯d\e\b% Ì©Q©ã\92\8dÙ\86<N¨Ó\17æq\80\9d\eÛÛbÇ9hæÒ¦\ 4ÊÔoÓ\90R\ 5êB
+·u"B.\92Ðáù1\98\89"t¡\1d\82û}$ØDÖw*S\97\12\96Ö\99ÚK      KÔjCCiù\1aݲb\bE\14Ì@õ¥b\11h\a\84A<\8e\9e`O\9bï\95\87Ç\92Î`îÜi[.\7f_\8aP½¤w\ 3XÃw±7¥`\ 3cî:\0=8f ¥æ:ê\8cª\1d\90Ä\92G\19ê3,Ï\80ðC¡i\1a\b`Pc>ø\81ÜÔ÷ê\7f\7f\99\80\11\15\ 6åÌ\ 3ØÿþÇ0\89\1fÁëPç.\98îÏþlw2^ù\ e%Ôìç8þüìÞãw°/\86è=\ 2ôÏAª~ç\8bϯ\ f\\f­t#\97\153\94­\7f\rì^Ô(\8d\b(6oP\12ù®\9b!.²\1døáñÞl²\1cbE6öT\8d\80C\99
++Ò>«8d\85\8e¢\18\95\ 1!9C\81\9cïS\87\89m\8caÁ?s4Û¦ Ð\añÏ\97G\ e12ÆJN\9cß\9c
\94\ 1æ\158Þ¾!\9f\84x\ 3\89\97\8dµ¸åán¹\b\90ÞÆ\7fh\98³O\v­\86c\98ï\9b¯a»m·Gîq\ eµÇ¶Ûó\e3w5\87Zæ;lfÈWí3\ 5Çv b\0-\90À(·VáE²\ eÅ©\19\13!.fvtêG\9at\84\15a\84   \f\ f¶k7\82EÐU7 \102\1d4\9a\992bÝ\84\15¬\e\8c\95WS\eÁë/u\10%\ e\90¬\9c\88\ 1
+\ 1ü',\1a\81\ 1b ªk\ 5½\8bRDå1`H   \80/B:Í)iñKk§FÔ\v\89\ 3ÆÎm\19\f\96\ fìÐ8ùîÑß\9c±ÑAÎ\84NÀ¨\96\98è\1e@\9fµÓ\84[º'¨$ÐaPþBQËÿ\ròJm\14¡Ö¨\92\95êPì\94\bí\18¡µ\8b\92toÇØ\bhu:\a\9e\8f÷\81\9bg¸¡Þ\85\r\86\115\9d(Âp¸ÒIS\ 1W&oÆM*b\15zQr\e%qú#4ih@}*\8bÖe\15¡ò³n¢õ\98£¨\1d^\1f\13ø\12ï\88¡ÄJÇ\1c6îP\13\87ûBAñ6\9fD\83ëñï\87ÅÐH\8a\9f\16ÍÏu§ì\9b#n0ô/\8c@\82\80Û|Î\9dÑ\ 6'\e<×ðxÄ\e`M³ëtä4\8e\8d³ýÿ\18\16ì\0ÙÐéÁnÍ\r\9e\ 5»h6x]<.\90û<W\8c\vt$lå´à·PÆÏ¢\0:×rѦnHÒUaÛê\1d @b\ e\83\ 42\ 1Þ¼zRCá$\96\85RĦ©Ûcí·\1eÔ\92Z\1ca~Ù#nÜ%¡é\8bôRs\8b\8en\96\84\8e+Чùô´2ÈÜq1ͳ\97\80=!i\86@*®Ü¸d\99¨A&\15\99Ó\92\9a²ÈtX\1c§Õ 7Q»
+\ 4\a2\81>D\9f\aX>\19$©Î\8fûi\8f\ f\0\85\10ª\15\11P§Ä>\8d\8e\16\9c1I\97ÝZ\9f\aÚfqµË¸\8c\80Þz\ fj<ã\87\8e\15\9a\108\9e\84\13´Â²\84\82\84\98\1d\18ê?Ø\84R%r§1qÊ£\92\b@\83öøôë·\8e\99äÙáP\18\93O×$\f§¡àBiÌL¦¶È"tï\11±\81\89\1a'\ 6\8bèÑ(\11ÕpgE@Åþ\16ë}
+Êu\89h[­\9c+'L^@iH²\99\ 1¥BÁ:\1dä\a=ã¨VN\aíÅ\8cà¢y,¸\14ðìù9lqUáóÏí'\eâ«ê\19RËÞ\862Oe¦OÐTè Îe'&D\93Ql\9d\ 1]\bY:\ 6T9Ì2o.N\80Y.*
+H\81p\12嫵À+\8cìs°g\14 ûD\80I+úZb\ 2\11\ 1NàI\eó\12ë\19!\1cäâ\ e\14\96\aØ\84!DR©P\z\95\15\9a\ 2       Ë_\83¾,À\9f0qíTJgw\8fÒ\8b·Ðj¬ÐSG\80x\85X¯Ò\95'Êb\1cÔ\8c\91 ¬_\aËE\91ïãË¢\9eâ\10-/ò\99¨@õ¼%hv@\ 2õIe
\8b\93\ 4̳FTöm\8a\11m¾n£S\ 4     Ùf'J¢\r³?KV1@tã\8evQ       @·\f\85On\ 5\ 2\95µøü@H\12MÙAvÝ#Ø\ 2å\ 3+sÅPÏàêøÉ[[\UfÐ\90Ç\8fæ¿30»¾Ïã\0\10·½Ö4¤\9fꪪ©(\85IT\ 4\8b\vQD"±Fð\10\11\90\85Û^\85\ 5\16A\0VÑX¨S\11\14\10ª\b¢,2A%W\8f\8b·nÚ6ÝØÛ\85Ú]\80Ûd\0\0I,\0\ 4D\ 1\15  _¡@\11T\0`Éï¾ûÿÿzªI$\b"\16-¹»y\99\9b\99ÍÝæõ¶ùÍègCz;ÎgCz\9bÍínõó\9bÌêoKz{ØßÂ]ü\14Êx{µ²Yl\92\942\12ªRgà­­¥Ëë\ 4\9d\aòây¸2\9bþ&\9d\8böMØñ4ì\95ý2q£÷\9bä\197r\ 5\90\8d-\90\14ç¼à>\80\ 4\9a\98\9e\btCp®eÏsà¢=ÀÚE\88\108\8d\1f½\1e\eΰ\92
+*Õ\8d¼èCÖZÖ+²'à¸\89\11\8eH\14Û\e\13ù|j²\0§k\8a3\ f\e\84¨\96ò/\a¹\8a÷ëksn_³ pç7q\ fÕÇ6è?N\80:ä¸ÑÝclw\81Ée\17PÝX\86ÎÇ6È?L\95`Ãno?¤\1e\10\8fÒ@QwsxWk Ò\ fj°(÷\9b©)Ù.à:\ÊÚVÓúMbÛÀ\ 5\95Öòk!\13.ÒÕ³æ\ eßs©\8f\U\17Í\f\15\17Ó/õ\ 6L¿z@GÀ\ 1phø­\80H\17è\rêNÙoR\7fªæ¸6KçÊ\ 4Þ?B¼   \88[9ªF_¥"zãx\98\93Ì\94,0Ûà\1a.\10eÛ<\15R\97Ê¡¢%@\8eB\83õ\vü\7f(ð#Ø\8b\159\0D}@\19ZÜ_=ª\rLt=@\95\8eH)T^·R\85m"¯\ 5\ 4©\1d\88ît\98\8d3S\8fòáǽ\83Ô£¤\øÄ¤½Þ\80\90\11IÓóÇp\9f.A_w\817\r=÷²÷!áw ³Ò,\b¨\1c\981FFx]\ 2ü\rx\9fØ\15.-Ï)\80á\10lÔ¼=éº\97\89}\81ò¾)\1dèð\17¼ë{G¨\ 6èn\8e\926(¦\1e\ 2s{ëò8Õw\15´ï\19êMy¼ì!˼K±.\1cîL¤Nä\9aï䫸z«\87yA¨\8eSQÁ%2\9cöcBÙx\9fòyb\7f\12·×t\0\8c\87ýÚTªñ7\1fç\ 6æ§\97Á\1a|ZR^l\91Ç\92\81¸\89Ëó«\ 4AëÆÃ׫ú_\8fêè=k/<;²Ò&\9eùäMÍ\94\81æ£\14àð,½¸\9dB\14NÚÍ\87\95\a\9fÎD\10D-ù\vÎZ»Ø´\18\7fG\80¿¤Ýã\81\87\91X!K\8e\1ee.4\1eâ¬k\89¯p»ÈÆ\897¡Má¬ýç\81\8eììܵó\f.T\980¦á\v\ 6.`\ 3L\94ÙS&±\92\93\90\96Ê<7c\86\93u\84\ 2à\7f×Õ\9d\ 5MêÛç\90o³æEz>äQ?¦ñ;ìø!\8d\8eæ(_Wä[\8d(w5xà\1f#\95\81ºä \9fnäP+¹ò\14¶^1yl½JêiªÊZ\81\ 3Ã\99olãxhÑÿ\ 4}['<\0\11¸Ñÿ\0K\87Õ\91EÚ¤vÀè ºñ\ 4{òky-2[S3ù6d\81è\¶Ô@£o\fb\93Þ\95Y®bÜT}©Óä|N®ÚdxêJ\93\fã1õ\99\15Þý:\a×\1c®\83ÈÉ,\86¿\14æÜñ\196\81lxÏ^"õÜ\12,\9bSÛ±3¢E6ï\f\83Ã\97 Kq\8d\15q\0\9b\95ò¯vuN3\12k\8dÀñ\91Ð){\95\92Fx(\9aÖ\ 3û\8d!ôg\84\96\ 3û³Ê\99D²0\8e\82¶2õ6\10\1e¦\90Dú4\84\86S\95\f\9704P\10µô\ 3%Äm^3÷gæ\19\91N¶OäØÈ\14\9b\80e\ 50Èç\86\98\b\93\80     #\16\fz\11\98\ 1\80}\90\8f d\93\8bXF^(µX\9d,\9c\89\91\952\17J`\ 2ÀTÐ-\8e4{ç\10Õì\97¾\90\82}±ÙÐο\ 6ùÓ\89E{èI\0\94 \824¿½l"nÌÞD)\v±½<Â\89Z
+ S,£n(\85zÒ96;xÁ·0\17ðÔ\91ò,E\1aL^¡\8aB)«»bÕÔ'\8e\9f\1djÒé}BúÞ\8aÃZ\ 1d¿¬E,\1681Ûxx\89|nLá\84*<)ã\92=\1c7uãà´ÉH-5Zb¹\1aÎ`ò´\ elJt´}ÑuèÁË\9d\aÌî\9eÁÎ\95ßñ~\9e\10ið¤Ð\8cúܹHr«Ð\rÔØ\13ëØ\ 3IKà \9f4ÿ{å²\ 3w\14\8d\9f\97J\82ÜÀýüÑ\9b\14\ 2g Ø\15C\8cî_¬d\b\94¤U¬Ò\ 2cbÁ(\1cä\a\10\82\95ÎjÁîh©\fêf¾1\ 6\99Ð%¢FáÁ\87Å9ÓaW\920õÉ7\1d\82`\ 50QYMH(\7f\10s<\eº,ï¶_ \925\83\97Î\ fä\92\94R×Åà\92\95ù{!j¸Ñgwf@\ªº\1fK\86:\1f\90´!\9d\90 ñ\aCXZ\10ÎÌ\ 1\92\ÞÁƶw\a\ f¸Ft½Ãó´\85ú$Ö\aߥ\81«\10óe\8dr\8ay)·©ÿ9#\0\ 6üé\1a\86+\1f\89¦Ë´1EÃÓ
+\95ÈF£AM4 |\19\18\97\13ød\ 6\9cz\ 3éïǰ\8d\84Ó\8d\apÌbÎXõcn´[ dÕ\8bTt\b\16Qfï\r\16n\9c\ 2Ð\98\a?z\1aGø$¯²(§ö·\8bD\8e\ e\ÊY\95ÉHD\1e\13\90ú\92\9d¸Èz\ e¥i(Î\94}%ä)GÒJÝJ(p `dO\8cì\94¢W\94Ù_Ôw®  ¤é\ 2W\ 2§SÕ +ëo\16w\ 5\8e[Ñ«xoF©¶Æ´\83ïÀ\ 4\9f~\bó^\8e\9e>9\84\v\ 6\18© \e\98\94|×è:\86\14×ì(¤=^\rû´q \1f7÷p|yÈ7ìJ¿_$J-Êu_\8fó\ fÇ\18JX\92\ e\881áÑ\ 6B\9a08û\ e1_Û¢®Ö\80×Â\8f\ 3}\15\ f\ en ð\8eÑ\82d\aF÷Q ¾\86ÔÃò'kRCß}¬È\83\1a\15]ѧ\8bä\90nd\92¬\97dTX\96^\8d2S\ai\ 6ær¿6<3\16AF\b E`Õäî\13\129ïZÍÙ\18Ö\ fmMg ³|\18V£þõ¬õ¨üÈ#î[\84Æ  #\15\ e\8ai°%}\e-H\8bÃ=J>nÖq`!ä7\8bÙ\ 3\v(²"\r\93\ 1­<yÃùë\89\94ÃðET©Õ\vi>r\85Ññ\16 æØ É¬\8a°\8e\aGÉx\91\ 1ûÔ»euRJG\r\86Y}hõ<»c\0¾\8b\8bà*4Äãç\e\16.c\99SFÅq\80E7ÜÚ]%ç§[í\18XÓ­ÿ-¬\94\87'\1dýôëyËZÔæ?Ñ\1dϧ[Þ\97ÚrqÜúu»uö\94#¹ôëy-´rÔ­½\9crÔ­¿b;ÿÔ­¾r\13\1f~·#\96\9dü!ñJÖ\92$ÄE!\82\1dÈ÷\1dök\80B\88(\87]ôÐe©Ô\ 6k\17«\7fºUêàA\0'@\88§µ^«\18\ eÄÿji\1e\ 3º\86\8aR\0\ eù\95î¶ñêLUeß ¯lÀMÉê»]Ê\ 5Ð\8fÅ\9d\9e?\81\10\ 2\1cU\10#\91\17ΫDâ\84\ 45<?º\15ØÀ%¨\9a0'CQUF§^@Ó²Ä0\89\95z\17 x\18âHÔöñ¨\9bÓ<ÒÔ4=O\7fdH¸\9e\10.öÌ\14IÅVL2Mxí\96\f<\7f\91à\ 3µ)\7f\ 1\80ãé¥~8Ì\v\b\1c4S{j\vèDH~í^ã5a\96\97\82¤Î×Ö\1dé½Xo\7f¡^\8eõnCñ&\1c\ 47\82îe±¤\:KDM\96|Á÷>À\9fØÕ\85íü=sz×÷¡Ï§-H±\15Ü\14\90ãcÏçÿ\11\9aÓ¨øõ ¢OO°`\b$\84kllÂ"/\8c9EDÇgQ§áÚZÌtÅk1íJÖcê£lê4ÿ¦7üª4î\19\1a}übÕ\1a}\13+*\8d?\ 63é¨Óêã?ùQ§Â\7fÖ£OXº£O·kþ\15\1a\7f;þ5\1aw­yµ\1a\7f¤3ý¤Ö=¯ûª8mví?ÛQ\83ô\9a}5\18?ïB\7f?úª\18vòQ\92\94\8a×\87¿ý­\99sÔCëËë\96¾¢*\15\11>^ι}\82ÜÌ_X«TNÄ{G¹\8bk\99Îsê'ëa¿\7f\96ÔÛ\10î? ÂÛy\8famÇ\98;\8f\81ä\85÷|\93É\vX;ï\9a£oh\92è¿\94{ÁóÛõ\86Ûy7÷\0¨MôL.\fm¬+ÆÝí\89.\8b\98\19\17ó* g¨EÿYã\11ÿâ¢gaQ\1fýØmüõ\13ýa°Éý\vO\9e¢~\89­²üI¿t=]\7fîs«åÔ)ìj\ 1þOÐ^\7f\7fáO÷ÿ\11c¿þ\7fßýþ¸\958¼°\87ZøC\97û\92ûîU\ 2úüm\93b\96Ô\9f¾î5×YBÃ\8d#C˨\17Õú\1f\87ðîè?þ6#ñë¤j¿û*\ 4ô\1f÷¨\13ÎPY  U/úT    ú\1cy\86Ä~?ç¨\13\80\83\ f¤~¿ïæ\1f\1cà0\91òf\ 6tù>m@\9f\10\13\9a\1e9\82r¿\8fͨ\13ø&à\1cù¿\7fÚ\1dÿì­Eÿ\f­Eùè\95\ 2ü\1cì[Q|È)ó:!ìé\1fÞ\10\9f\96g\ 3¤B~y\8b\18\1d\fÒÖ\9dª\1a]Ëgvºt(8í«§·´\ 3$`\15\ 6\92¯óÖ\1a!ãõ²(QI\1c±ðÌ\ eåÆG\19u\15\13\86pò¼\ 1\ 4\ 3\98¬·»ì\9aÖvfºz¾ÎÌ     þ|\9aö|øg£O4\8ayqd=\10/g\9fÌj_\82\15I~¢ìv6É\8e¥>]\16:
+uÈ\17K\8a§\1eìæ\91Ø
+5ï³S\9f (¦Õtmf\81\ 3ËÐ\ 2\17\16\r4\9fÇ\ 2|])Ú±ÓR»\94\99\ 4\ 5\83k(\13\81SE\88X
+þ I]`¥L\85!a(yc¢\98ÿc\92\8bh\f½ý¶\85×ò\9aÓ±3+*fTó?3ܶ$e°F\9e`Ô*<\99\ 3LA\13\f\eû¨B<·öÞ\19ǹ±ê9½\9eH%6±\86Ë\94«± ©\8d1U:/\ 4s]\97n()À¿÷ÇDÞ@`°f\fkæ.\ 5  wñ÷¬\89S>\ 13o&+5ð\85-úv¹ëÍø`åÇ\99?\8b"0ÌZ\ 2½w\86±Qâ\9bnNKs\0Âï\92mb\15\964\80to\86i\8d¨\85\ f\1fðÏ\eF³]¹\9eY®}^×-±zËìW:ý\88fFæ×D\9f%\9cÈßñÏY\15²IB|\90¨\7fs\80TKTY×\r}\ 2    &z\83¤?d\ 6\1eÞ\84\81`=:\0=\1d§\96!'ã\13¢3µÂ>ÊèÌæ\ f\\béáá.\90JxZ?wà\1exÀè\14×\14Jö½\94v\185%<4\83\84uTJý@¯\81»WWzÙ¨\7tXÉD&®û´!p!÷\118)øòKÁø\1eH\14æ\9f.\ 5® õæ'\8eôXTÕ|\84\9f\85Ô/\19£¸O\9a»\85Å   ß$\10\85¿6~\a*&°i/ \89v\87J|nWà\9exÊ~\95\b'ïr\ 5\ 4ðLðÊÔ¬\1e>)e\1d\1câ%&H\e \18\85è&¡\12"°f¡\ 2\ 1\12õw\15=;\82ìÞ\14\b\P§håó\11§\ 3\r¡\12÷p©WB>±\85\fÓ£tî¡lÌ\b\95@\8c§L\11\89¼ÆdO\8f\980½e\81#\93Il\10êõ*°è]=\97\1a
+I\8f\lÒ\87\ fT<à\91Ù¢´\924d
+Åâè\85\b«\82\8cFù¨[÷w½ã\8c¸\ 1\84\9a\95ësÈvãAÄNøl\1eè\17®ZmãFÌE¡V\ 3\8e(@R\ 4«ñ\99qC·d[ 'O\14mA     ûã\16\ 5GÆÑ\bsG\9fÅ\r&ÝVËk\80M¥ù\189\9dEAÂ\f?Þ)ç_Ë\0É(_c\10¬6Á´\14\10\1cÁ Î\17»Ûªf}÷wßbC
+]»\83ùÇ\ 4^\ñQTìvâ\87\ 2ÉtHÞµÃÀa\11\ e.b\91\8eTãØ\82§    \85\14ùãºÌ¸£òñ\ 1\ 1þÅÅ\1d\ e"\10äX\17&Õ \9by\17ÐC\a_\ fØE^Ë=Sá£\81\96\85\99ô1\87д>\85±´)ßÚ«õ\8e\18¯Õ¹¾·\8fÖú\83M\1aú\fÜ\81´\1a0M\ 3  þÐî        ôÓ=@}í¦û\80ý½òô³@XqHÈ\99\1aö\89\119\11Py\8b¤ÍÀJ\96¬
+\18g\10E\ 3â\19\88\83\8be¹w\82$i¦D²Úî&éÒ\1c¦À'#~wE(*NTF\95Üsbª½ë\8amm\9bóZ\99\ 6B\18ÂsweË\ e®xeºh\8aÔ\96\ 4\8e\85çÉ\19\92\1e\99\91µd%ú¥
+\837\10¦gUÛ=AÒg\véú\ 6§8)Ť\ eáÚ\ 1©\81÷B÷\8e§ßlR)y[\ 3Rg\18\b%\15\ f\10îLU/A{¢¼M¦\bè\94\86\9a\85©ìh±2m\ 6\85\rI@*ÿ\86lhQ¹u\vSJí\91\11\ 2\1aúñTÄ\9c\88'2[\7f\81gÈw{à8ò8\82\91ÕEz ;\84þQ\ 1\8ea\90S\bË\86\85ï\88ãÈé\86¤p¯F`³/\80^WT\80Ë <W|a\19U:\r@_S¨z¢\8a7Äï(½OÔøª\ fË\89ÿ\161°TuF>Ñ\8d\15\8f·X|\1ev#Ò,l \ 5z\ fí\ eSY\91ìÌ     \80áPÊv\82£nn\91\v\96 \bl)\8eE\93vÔE¥\85°Bï6Ñ\v\96Êï¦6\85\ 1\b¡2S´ 9r¦\e¤)Ã.\84Äç\99«¥v«\81P\ e\ 3¾§Ñe^Ó *p}\14¡Gª×\1d\85nèìì$z;½:\17-eÜ3jñ´\8a|W\ 3'\18P\83é\ 3²+A±\9fÛI\1e\8dXO\87\8a\9f\19égóì+µcÏ\ 4\12¤ Ò¶\ 4ì\85Z¿\8c¦)\12\r\93F\ 3\fÅ\93\17\8cÁ\ 2ÐÐ8\83\99_\15tNX\10¯\ f\8aè®+º)\e7E\830\81\r¢ã\ fr\91r$ëi]xç C\v\8bI\19\18\8e:gÆæ8¾&Ö\88H
+{¡\92X\13Ö\v*¯0á"Þ\88A\vPè!#\19YúÕû÷Ë}û\85~¸°\ 6³êóÖ )ð<`\10S\97â\e´¨3RÇ*\8aÍôjÃö¨Ä>>\9döp\0a2½<µÞ\ 2àY\97tE´Ãéx\v \9dÉ­×\1co\1e\0·\v\8dàbe$ü©0\0ùB\83Ô\10ófÉûZ\ e38\11æD¾\96­JQµW\ 2ÜK\ 5\97\83¥\8d¸§±Æ¯ä\ 1\87ð\ f;\1c1¨W¦,Í+¾\90\14m\98D\1d¦\9c~'\18\10&\95°ºTx}Á\rÊñaüÒKQsZ¡\1f§\9a²Âä1Fd\82\15\9a\97\94\14 Tl\ 3\e/Fº6N«)\83¼_\91\8bä\17\7f>Ш\ 3Q«¡5åo\1d~\8b\1ad|\9aÔâÊñ\a´®\8f¼K\8d\90§\9d¦ô&F¼\9dG\82d\8a\ 3\822\8dp\98È\95Ñá\82×`Åu>º\15\b\9f\e߬D\82F­¿\1dýå;r!Iÿ\ 5jàý»\18jÚÊÖû\8b\w\82¿\18q>\ 4AÄtdRȵÁx''Åt䯧Ø\fD+7\8f\ 5aøZ\8aÐ> ëI}:ZÚÚþnüy9\97ï×\81\9dYA\e\13ß\9b1]b\17­¦T\15%})-§\80½w4(á\1d\9f~H¥\8aZ\ 4$\8c¢²AØÞ¢\1fT\90\91\ 4â^QR\ 6ð\15IÈÍ\9e\ 3\99
+P,A\fä\81íÿ{:è\84Pÿ?ÚÕ\12\ 3?\ 4\90\rÝ¥æú\83g|Õ²\7fÓ\80» \fÄåVÒº¶ê$<\ 6
+Ë'\0Áª0ùO£±K\88\7f+6«ªÔ\9eÎxÕ¥¾S1`×^E®þ+&ºôkYÏ^õ*Q¾6\fYDý\90``þ^¯ëuü¥1¬Ý­0\f]\93\97ø£?\83\97ë°¼×/¢æ9u\86ë9aJ\1a       iÁ\ 2ß`>\82V\aé\0\85\99<\1cè\90Í}q\14\99Ü^¥\1fæ\ 1m\12hg\fTyÆEþ\1c\ eV~_3G\95\96`ÈÁs
+ͦÇrÚn·¿?\82\14V\98¾õöb\E+z\ 6\12¥d\92\ fP\83\\97\eð\ 2îqU!¨I\ 1A9k3n^ÁÇIàB\92ñrbR\1f\0\8a\13î\19/`ªæ±d\8bG9Ó\j²fFÈé\16\80ø&;D@Ïr¼\17\10O<\0¥g\1d\8bZ\94\ 4²-,ú1+¢ýqR\81\ 3\92k}Å\91\ 3\93\9b\9f\18\8c"µÇöï5È\ 6j\87\ 4\8e\r\9cv-zþ÷qÞØ\\9b\895\87ß/®ÆÙëµ\915×k\rrÉAq±T\86\1fçbñ.
+¼/Èû\8a³<\ 6\ 6 \15O\vã\vM\7f\ 5\10p÷Ý\12\1aøácýÔ/~ì\r\ 4Hdg\ fD[îß\1e\88·8¯Æ§qÚ×\89\ 4¸W^øÊk\97\8f¸    tKê\9e%µ±¹¹µx£P·ODLÆ\86\1f\7f\fÍiÕ+¹ÃÀ\85\7f\9etBÄ\8eÛ\14º0ï°Ï¾k\88\16Á\f\12IcBSò¦\ 5õÊð>KÑÅ\15!s«íkÑ©\82((Ã"$LÊ\8a*Qv/ ¹q ¡¶\r @rËö\14\15MiÕ\0é*\92\9cÅ\1a\896\ 4\f.
+s\18Èv£ ¿DrÚo\1còG¥:.RµD«H\93[Í¢%ÊÖ
+úD]\8fÈÅV\ e;\9b\14\8fíݰ        õ\8c
+Ä5
+_\1eÄ\11kçGñ\8d\84ÿ\86b>£Ø\10F\ 5\90Ùé\13aÛ*·N\0øÌ\81Àw½X(\98\ 6<-\81\13B¡ÝI>ôØ\ 4\93Øxt\8f/\85\1f\9f½\8aB÷v"y\1eí\10!\19\85¾¦gÌ6ú\8a¯\97\99\e4\91¥í¾\v\80#\93º\11\130g\80S°(a,Ø[¯7\81÷À, #p?Lø8\1e ¬\1d≯\1eñ/|ü\ f
+g;áÏÆÆB\9d\11X\86¤ÊÙº1u\8aëL\85¦±!àÜ0w\92\9d}ûø\1cSÝxãsÄeoJÁåtÂ*MêîË\ 3-eyã{CEÆ\ 4U(ç\98Í'\83\85ܤ¼\vuò1û\8d\15P¢oª×¢â3V ½0ªÚ*\87\13©\bí
+\1a\ 3ä.~º¿ýSè6çÀ\aÆ à\19   Kà\8a\14*_\õ\EX NÃãH\12*±ît8ácï±\9a\10\1a\11pî@Vï ÈtàQ\8fH\0bî3 ¬8ð\91\8f\831\85A\ 2´ºÀGX\ 1Ác"²r."ÛÛ\1a¡ÀEÔ\8dÄ\15F\98\8dÒA\fÃX|bÚ>é\89örk£Ë\8b¼7µ\83\198£Â½\ 4¶};{r^@­;û\18\92\ 5IßÙD\90&NþÎ$\81\12\9fÕ =a 9] .\80fB(.­²úB¹-è       \1a2\1e]3è3Ò'viyZ\13; u²\8f Ìô\15ø\8böñIJÖ\8bº\15c¨O\87ê\89­·\12\ 5\16\9d ?\98ÜHáC5üUûí\88\8eeE\84ÙHQO8»£   ²`\0\1dDU¿É}¡­©QÍÈ)çÕÖÖæè\9fö2\99\10ShÅ\86ÀÉO\186\ 6\80"z\9aÿ?xÁ\86\8b¤Z¦YA§­\7fm\87éD \0«j½\\9bÙ\95nE\99p'ÿ½Ó¹S\8bñý\ e\9fgñ¬éë{¿ñtò
+`\82À1§\9fÜÑOñÛs\9dlªî·\aÊu¿\8bû\1dn³Yü8¯çñÿ{¯\fô6g_ø;¯ý:ù\ 58B¥j`F\0[Y;7\11\19\ fYó·\9fÃ\85y\ 5Û¼Ìçþ[¹\ 58¼Rå= \15Ã÷7\94à\alÍÊ~?sþPW¿\7fK¯¸®ëÞ\7fÉ×\82\98\e\90hVÓ½ºl^¦ñ\8a\1eº\8aõ\86\85\7f\92\14LP¢om$\9aMiY\10B\15øtâ*\84ÀJJ¯\86çà\9dQ5`U\ 1>§pj\81.iÉHä%q\89­ûkkn,W\92ï>¶ymnÀ¤Ë\12§\89­û+kiÍ­\9633\1e¥èU§Ðy#²\96>4\87½ÌÛ±\11pùô±ëieb9î/nA\rª\835*bª!ÞvëRÄùb·\1côÓ÷P¾\ 4?J\83'\ fRñ/fj\15@SÀ&y\ 6ï'\94\8b\9ab·m÷e,NeGf+Î\16èOÓÖ\0ª\ 3\11TNðØ \8f\90\13HuB\16\16Ý5\vP\e\8a\9bñÂ\1f¾lMJ\0¤\và·ø}uõAfà\ 1\184\ 6\17A%?Oú\95úÉÐÖF\1fY÷+õ\98àÖ6>³Ä¯ÖO\ 6²8úÎÞÑÇH;\85J¤É\11w\86\8dÏR\18,j³<ý\98\10r\aGVtmA\8c¥"Eá%\83\90;!Ö\ 6\f±Ñ\1f®ô£\eã\14\;ãüéåó°J\83;§p¦Xº\85¢Î\f§ÍR¿õ\15ÿÔ0\84\19þ1Õ'ì\ 5&`;eMéù(¥ïÑ
+ ¤Âʦ\14+ÊK
+\16'\85\17o\10©½:P\ 1ñ@\16ÁÇeà®\95Ó¸¡®\8ciIdU¹EãB(VªV<\93?\15\91\9bÇ,AWWKÄ5¿DtE£{QÃ!Ê9|u^´îVñ¯G \ 4\9cNI\92yÑ~âþ%å©\ f\17Áò\18ï8ëY\9e «tq\r}\80\8bï\18\9e\9fÆÚ§ÞÊ#\18;a¶r
+jUûdª®.'\8cáù»ÅÛÍ}JD'ê*\90\9f¤ª\ 2\92\82Da-\86øO\9fÎ~\81\9aÆE}\a·\ 4\10o$£´·NÀ(\1aU×bÊÞØÉ\9d,
+\95\8b\r\8dU9ì\8dèq7YY«\b6w/;Æ\81$(¶\1cq/+\ 2Öê[\1cÒ\ 3Yi¶¯úÑÍ\1e`\8a[Uw\~Ò¼(ÞZ\fÀÔSiÛ*ÎiC\16°Aq\ fiÊ(þpTc!Ër^©\ 1§\84©\89\12³Ýؼ\98Óx·§²øYK\8eFêôK\17a4[Kø\h\16é\7f\ f\91\ 2B^ß\ 28Qhi.\83gÿUdTå+·cýª÷9ɧ~+\1c¬\ 2r=\92\10\9eì\e\96&\18\9d\ f\9cxaÕ¨z½e\98Ç\830\92c+·d=\7f¾üÔ-È\96êø+Qì\15§ß\9bÀ§}Ï<O\b\0¨\ 4Qò|h{p\ 3¨\8d\80e£·\99'¿!Ö&\1fl\84/mÝì\95\18×\92À;\142÷ae\1d\12^p\ 1(Ý$¨Ò\89Z ´_øÆ\fOBC\92sd\97Ñù\8d\17ê\9f\1f1\eTef\9e÷\99\16+#ú\ 4¶J>L\8fß:\e\99\82\13\9aX\1cHÈðô\1d«\87ht)\80ð°\v\15C¨Ï\e6G¦\90DÊÆ\19»íŰ\85«\16¯-\18üS\ 3ã,\ eÉÑ'¤íÜD]K¬SéÊ30Ð\8c·\84õ}Ø+qÁ9\1a\9br-W\9d\8dChÚÀ*VG\93\1a\9c\8fÞ2x\90\bc~ÊÙ$ö\7fèÂ{yRê¤E\1c\83\ 5nÂyê¥#D­\ 2Úá@¯{=\K\ 3\10\91
+=çÄð%\1e­c\83\82ÕÐ\fï\9ez¡^©\8dÍ®w        E=Q-\1c\19+WfL'ó|¬"\19ïåSÉWjÑÔ\18\bt¿á\9d\83(\97\17ÂlZEcçÝ\12¦\ 2ÿ6\1f\9eçÚ)Ú®çÕs\91\86aamTu]¨lmC¥]¯Q]©\8e[ST£uu3õl`t`Zq=\bZOÖÚ\1aH\12´W\v~\1c=}<@T0Ué^ÍÒ0$o\90à9Ï1¢k[\86\rLàjc!  _\0Ð\82\ ekÒkñ\ 2-5n?ar»Ï¯|µBùrbâ\9aÓá¾\87Ë\90à|¯\97ìð9O\95Ü*\85\1dp9o\95Wÿ]©\90\8aÿÂÀ\8d\85µ\ e\ 1tÎï~ò¼\a¡à\17\ 1å!jîô\94QîEöøA/\17Ò:\9fù$`7W\81°àFgØÂÒè\85\1fU\85\ 3pbÁö@:\f7xQ³\9c\80FTÐþ·\14!aß:Ð:wCî¸Ë{C\99mx.2À]{rÍ@®®\1ce\83µUñ\8böô­\7f\18o5!=Þ\97ÚÍ\9c}p¦öÔÇØÝ!C³qCæ\9a\7f´\88®òÃ\8b\eÁó´¹\vãk\8dÂ×\a©°°\89ì¼÷ú\10Á\9f´4°\10Í\8e~\ f²ó(âÃ\1f2\80*K»\88\91Gm{\*Þeõºz
+»¾BÕ\ f5J×\84¬\ 1ØÒµý\98B0\ 3¿¥KWt\eôa2w\v*$1«±¢ÂÊK\ 5×0¯þWÓá\a\8dÚ\19öcà=¯]XÞ\16\17>Øa|\r³©nº\ 2­\94\vz\9bÒU~~R/V1Vbïê_°>¾_ó\83_\ 1ò»³¥w`\13&:µ~~j½Ã u
+$6Y¸PÁ\88¯Ïn\7fXÿ\7f\16óJÖ\0T
+¡Ý\14\8f[K\94é\ 6|\8cf\84éÜh\1a\8a6&&5Î04´MQWç@20Ì`vª´[\ 5\bÃ-\ 6ºè\ruÍN\8c\9aì¥ø\18Z;âÍ]Ö\95¨\9f¬T>\99OÀZ\¤ l[þ\89m\89»ª.¸TôW1®Ê\bpñ \rðÖ<0ïõ5ôJ\1e¡Õ\16\1cm\\9b\>ð0\95\8e@±µ¢mH\f¹à'\a\e]&Öwz8´ó\81\82,W¨\ 5hïÙ\1c\85e\ e\8d}-è\95\8a{¡SO}öx\10Zþ%bµÛc\8eGw)µ«\1d\88KÇ4;-Øa/³*qol4:\9fÀ8Óp\ 5
+\ 6Z\8bÑ\18¢}¡\85f\86\9cb\86Å\14óz¡Ð`X\12O\ fC\f«©Â\ 2ß-¬¥\1cÑ'kã+\19v\98ÿq\1c¨â[\8c\8fd\18äÖ\98\bÀ
+pU´Î\9c\95\15Í]A\8b\rJû'Jé¡¿`Uõáû\8d-\85Ór\99ö\f\8c\9fÌ\f\1a"\è纬ü\95\9eÎÅýÁ\1a\r\1c®\97v4\ 3Á»t4¾ø'Æá»\16\11\15uÇaåæ1¥ð\83\b\ 5,\10\8f¥:~!\82\11ù\90ß\ f\13·¢ò\99ÁæR\86z1I*\91è\19ÝÍ×XÎ6~\8b \e\9bE\b\vaHÿ\r°=\17KlÑÉ\95-­M\17\ 4U\fé\136Åi\9e-ë ñúuË\84\a\17ÀgÃ>\ fRßi\14\1a\18'¾*¥\93\fÙ@8U|Þ$kzòà\86nà¯ÍɨT2\99Áïfk>p½z\1a\ f¯GÕ\ 47k¥\99\94Zs.0'XÃϰP]uÄ&n{ÐB~³\84\ 1ÝÐÈvò3\14\86y\98ôï\ 5Qÿ\9fV(«\8a\9d\88Ö4|7·>\9cUF\9aWÊ"Þ¾-\ f³©è\19\ ez\93\83\9b\85Tî¦L\12\80LC\16{U0KheL\89=¿­2N$\99\1d8våx±\7f\b\1e\93;`³°\ fd\80½Ìºï\97Y\1c\1eÅ2k8±Âv>Ê\an\\99ÅéÐ]¹\8aÛ\ f·09­\9e÷ænôêh·¿3wL¦gåÖHM*æ<pI\8dâ\[Åj>¿\ 4q8;þëF£2\ 1\13\99£ª\7fÇ\86(\89]Ö)½:\98ø÷b\v\82Út S\0±\80\97\8f2\ 2Çê£r\18[ÙøtâgW\81O\19Û\82;±1þx1^o"¹M˼¤\1eN\7fÂ\16ÿ\86\1d\9c-æ?®\16ð\ 4\ræ\f(û#*¬SCóÂ\8eû¼þ\88Qô»Î|(Øo+¡Gú{\v\18Qú]\85\8c(ÿÓØsáGù·|èQù;¾t(ßîë¡GÖö\160£é{\ f¢\14w}ß:\14r[¾t(øÞ÷:\14{\7f{\9b
+:Óª¤\1eÕXP£\99:µH8ßÝ
+:\8f{\93
+>/\1fú!GÉÃHn¡o\85Ï*þvÄ\88\14a,b;\18LU1[ÈÙÜ,¾r»Ç½y3mÆê¶·FD\0S¯SFeQ¡h«ü\90\15åàùãþ}Òå\8f¿\91Ó±Oÿ\18B/ÊÝ\ 4\96M\8f\9e» ääòûÐÃ&l!\82m\90·Ì:ûàt\93\9b4\9bÐì*Kî\8c\v\9d *¬á'Æ ìfÇЭÜ*E#í\1c,`8PÄtgOÉz\99úæ\ 5´F\ 4\0ë9±o.­HC³}ÊçéÙ6\r\9bÐÜ\99\ 6\7f\ 25Êù[4plÙMÉ\90h¶)ü\83®m#¢6\98\87ísH\86\1e»\8d_½õ\97³8JSõE¶dQ7\9dJ×ï//\1fïü¨WOw\và\1e}M8£Ü\89dlÔ©I½³\82@£Ñ%,±rg,PHNÊ     \1fn¡h$kTð¿bÐH{):QïB`Á)Íe:\0ÝVÐ\9aÊâRà:\14ÍÁææiÐ\8eÔ\87\bo5\ 1\ 2\1f;B»\80\18/MBÔ)o_U\16VÜvE9\e\8aíaåmËY¸Ür\99\99¨´Õ\ fL¯Çiª\1e\89\9fÈH¿¹Ûö6\\9aæ!_\93\9cH=ä\89«\0T\903\ 2\ fXâGÏ5#\8ct\10K^\82x\89F3S\1c\87÷\8b¦­ýÍ_ü\90!ök\16D},\17³\rñ\r\a]\ eäo\8e¨\10è\ fU\a\10\1f>\9e\erøSúÄ\8c.LîrËÙ\94|\96'õµ\81I$¤Þ4
+\8d¼²\99ßw\95\15ÖóJÂSË÷C\r£yã*û1í\827cÏ\1eùÎ\80P¸öX\85\82l>m!õ  \ 4¬·­\18³j\12±i ÙïyP\bÁè-©4\e«ñLQ\80a«_\1d»åÖ¸e\8aÓé\109@t<\1aÖÍÝ\85,½Hi\18\18_e\ 2µÑß!kÓÄÜ_\16ER\16 Èyl\ 2V_\98ß8ò\ 2Ù\8d@ÊÝñàãÜ£tà\88-c"Bu\87kqG­\ 4\15®u~\10Mö)\95þE)ÖïF©^ã;R\8aZ¢",ðLºª:^\ 3\94BÜæ\ fL#\17GÌEU3çÝ\99\1ah\ f\84ÉÔ©!\10+0AÎ\fHn   ªnÏT\8aÒî\9b­@\99$`i¦ì\13Þº*\ 5_\ 5wúH<N\80C\fØ[)°Ü!ÄÓ³\7fnx\9dõ¦\8b\90%â¼)cÆ\9d\86Ô\80{Áp\ 4èòa\ 4`)"JdE0TÉ\14@P­ÆÒ,qÁ\bIn3\19\96\8b\86T1´\ 3\90\10Ãî\bâ\9d\fv§tØ#/\85\94\9cÈÝ\1f!\ 6m¤Ñ#\9e\8aqë=R7MPd|\90Ù\83\1cüÁ
+[¢»dÆ«%쫲\8a\1c\99\eUw§D\ 5\eD³®\ 3í\19\13\9f¢\1f±Ù\18¯\10
+\97ÿ*¬&üâß5à\12\16¡TèJ\87ÒX\ e3 qw1Vý»¹\8f\91øb_\e·\16\eY÷²\97fÇf@\11×\9d\eÐG¢\10سÂ
+²ÄBM\85£©«ä´fcA\99\8c:TÀí\19$(+Y¿º\83\92êΪ\e\82¨J-\81«±Â\89¯ýy"oô\ 3ø\1c9_õí4\9cS*°)Æcî²^&Üç¼whÛ\10Y\v\1c6zù\8dŸ\râÊMþ\90\93÷\0\18\17ê\92\1a\93â³ÚûFzÏ¡Ã\95<mµmm\ e\9c/ÂT\1cMp3q\90:0¶¶\0\8fÛ<Ä+º¡ Ï\7f\ fî\9f\0\a;\85\8c     h\82ê/\9bdã-õÄaÍLT¸¡¼±Yõ\91\13´\12>\0¹<y\0\84DDî¢%Ù\ 1ç\9c²l'\8aÒ \9båK\18SíL |OÄ\92U\e¾\¼ï­8¨\10j¬çÁpÂ\ e\13¹\93A+ësªae\16&Dë«\8cî\94\15I\ 4¡%\108Ý(7Î2øz»\1f\19T3Ì\86\98\96-"Ñ\ f¼¼\0YA«[©\91\\92¸IkÅ \91(\bð±¼bü.æ½/é\8b/ö¿v¹ÎÃ÷ò\1f÷<¨\94 \0-°<?1\95ç0PîQ!\92]\9d«û3\81\18-hmV\84$\13ÍO\9f§5\1d\12û£Ï\83ñÂËØ þ\ f{÷,üagØÄ\9eþ\8b8\9f\17Æ\15Üp\11\8b%¯h\16Õ¨H\8f²\80äÓâ{\82d§¿)¾úÿh¾þs©úÞ\10"
+\86ºr\88ÞÐ\1am\98ÔÁVñ9]±h§£³³\9eðZ|6\ eÎÎ{ÁiðÜd]a\91\83+\16|AîÏå\9f\10¦S­Ù\88)[õø\1f¨}i±\ 6y\9fgnoY=a\0×5<íùË\1a4kYÍ>º½¬CÖ\93äFéY^ú\95éÂ>´TÊ}PC\9cs>.\ 59O\15\19\8e\1e?Ð37Yµ&Jÿh[\14ÿ»\1a\85òù¾g_]ÍþôÉÿ \ 5K1í\8b\93{\9fêç\7fEì­@úã\133=è\9bî¦Ô¾ÿo\99ÌmÆË\9dÌm6Ë\9dÌoŲùù\8d\96Ù|ÜÆÅì­9\8dåm\8dË]á¹\8d³ß\eA²ÿg1²;+NcuûBd¨7ß·\98ßµ\13\17â\8e\16\ 6À\97¡\85S?[ÿ\19\ 1x   m\1d\82\12Kuú]ô\98{e!¥©s?ºpòcq\8fµM]Ãç\8b\ e1Ü/aò_\vÄ»\190CËK \9fö\96I\16á\\94»\ 6\ 4§\95¢\ 1\93\8fz\86|\ 4\ e3ºÇiT»\ 2\15\f×\12_4ÁN\ 2.(õÈ3ä\ 1\voÝ6Ð(¢¤\ e»\92\eË?öòîÖO/cÈÿ\9bË\e}\1c\9e9aZú\90xøC¡ØÊ4±hs7À\0Gf¤ÜQëÐÏÊ;Jp\14&"ø\80Ò0*}\89Æws4\18ÍOZ¥äÒ\1f¶Ç\14{AS&^ù\16~ú7Oj\aåúPº¯Ìræ\v\1e?K\97¼\93\97ö_,\89r8\8e_\v\ eÁËü\b³©ú\¹ýüÊ­Y£\f¦ÒVï\18\81Áº<¨L¹>¹é´ab3
+¶À_E\1f\9a|L¯ (2ÁN?cy\f^\8eå³(\ e\v\aÿ\ 6Eש\ 1ù(EkU\7fê\ 3®7£\9c,'\f\vwÝ£IéþÌÌ\99$\ 2I\99\ 2\0`\10\ 1\ 6\8cTFC"\ô\99\ 3Ø\10X(\884R\b\0\b¢0Ì\b\vG!\b\93'®-T-­­ùoÕÛjº¨-A\b\ 5\90 $\b\80\ 2Õ\ 4E\0\1c\e\0P'¿¿~ÿÿß}Ì\92\0@"
+¶ÛöòóyËvý¿oOw¡÷7\9bÍëo9¼æïGyÍêïGw£½=ð%½mð\ 1÷\81\1dð
+Óá÷»[m¶ØÛRz°ðÿz´\1eú\d4{d)=¸o;D\8a[\19z-hø\80¤U\9a?§na¾ÌOÀ»\ 1=\7f\9aÛrÂ\93w\f·\88\82^!°rñè÷À\87<\9bÓ¢Ù\85\1e©åð\97\83o>\0\88\17}Ò÷ÿGë©|\86ý/}Å-\1f\ 45=:¦ì\98\93F\88\9fÛ\85ó\aFët\9eób       \7fç\13«xÚWVòWNÍL\82\8e:@¶©òþ×\97\89^\89å×NÉO\96\ 2zv-\8fAA\9dÿ³}Þ\98ªÒ˹\bý\9eºø²£x¿\9f/5\ 4\83¹Ö\91»r\8bB7:K*}µÔ\81\147ÂW$Ã\92:Mä2ù&Ã\ eI\8f\921K'_pk+8\11\10Îå\r¹\15l¬¡£\88ó¿X"\81
+nA_#Ó[`\8f\8f}\88Zm\ 3¾\1aýq\16\1cªEõ\18Ç\96u\9bÜ\ 66ü,\87ü\19i\9d\16x[©óÁL\ 1óüRÚÇXA¾K:\14,ömnÜ\9b!\17!ïõöãÚép3­t½^n\97\ 2\84²Y½`@.\ex\1f\84\1fBÿN«,ú?\92\f³ÙÓ®\8fuØ \8aG\86\ 6B#J(\95^\12º\aÕ}\93Р     ^\99PÓ­ÁF£\98\8aG\83¿\99Kl\83\89@¡°báTo4\eWp`ýKð\ f¸û\9ah1pnv\12Ü>ä\9e\11Â\ró:\f\13÷L+&\ 3ò|\82H6\9fá1ÌE?F²b\83^@ï¶\7Lð\80ÇC@\83\83\1e[\1eÑû\ 4V´'ñ\96àG§ï\a0:¿LQF\84P\13ß\9c\ 6\89ß\fõ\18#\84BE÷°\cEp"äWdNÃ"\15\a\1a\81È\86%¸T>\94¨%\83,\89Ô áÄ,\89ýÎNDçÇ\1fe\9bæ\7f!±õOËÄA)aÇØ\92Ç×\89\e\1el1Ù\99\ 5ÿ\ 2A\8eÖóý-Cé$ù_|8ó\13\a\1e\9cìy\85"\19åÔ·\19\10Ͼíy\1c3\7f}\87ñò t\15C\19ø"ÊäȪ¨'hëøÕýqîóv\8bY5[B²|\ e?\ f#$ñºúÊÏÊÈ)¯x¥K/.EÊ:h\98D\16\93s¥ú\13¹w4_\ e¥\`ý     âv\9c¯-\93ÀþìbÑëÌ\v  õIß¶¶\1e["\1a-\baØ&ÓlÐÑt\89÷zõ|ª44_®\ f\95M\8f\84iýÁ+â G@xv4¨\9c.ø9¼%acÎ\13QG©0\9eÔüc\85ìuö\1cPhh¢S÷uÀ {Æïwë¶\\87²º\bª4\7fH\14&&\ ef
+*\8c4\9fà\ 4\89;\8d¥t\ 2Kx\ 3\1e\15U\ 3\14ó\0÷Sç÷mA\8bÛö \9aFtä\9dkpټ½ÍÅ]Þ`Ð!¢\15\81\7f¢¿ÅJ¶\9cq+\e\98\89\95\8ew\r+$ó£@\86\87f\ 5Ô>¸gq²°î÷Ò·×\96¤\bhÌ F=Íű
\b\a\1d\fF\81Ó\9dà\r§n©\1fAZ)hD$\81ÙÈÐÊļì\15òÁf\9b\ 5q\91\a8âü4\1aé[\15\ 1ú\9bj\95r\90=\e\12\92¡W°\18Po/B\83ß\92\9f\\9em®R\90aâNðèm\9es\14渤^t0rè0iÎ\11\8a\9c¨\884QtÛZ\18Á\8f°þ-n\85U¡ò\89óÇÄÿǪWPoU=\8d\10½¯£O\92Ñ'KQaç\1a!¢b\9f\89aõD¡¢ã'=aõYAÌ\82ä*9\9aMxÉàê\ 3S1N\19¶e\84³½I2\8f\83a0193á\e\86Îi\93½Bð~\11<\86\88kì<9ñV\ 6ä9Aì\96U7¸\ 4&ÁÂv~\84\1d\aýèh^Ȭ"[³Ð½ã×µ¢ñk{\8b-\9eÕ\a\93{\f\9ez\9eðT\1d¸\8c\9d\82®\9bß\14OAÓ\8dËÉ\15{\ 18\8bH ÅV50\ fêloÀ\0ø\84\1d?Gï\18ÀúÀ
+¶Ô\1aþ?`Ù\1cnÙú\16\87°dy\11\90_©(2=\82·G(¨^aì\15I\17`¨{\ 4EØ.ØÁì\ fò-Y9\97\1eã^óH-å¿d\82^´ºU\14µq4¾ód)Sn]\99ÁR\93\82«\12\9d\ eÁ\ 3ì4\8b°(dÛ0\15`åçt×KM\0\14Z?Û2\97¸\ 47\91BêG\11\90\ 6lË3#\86Sóëð±C\86\91ëC\95d\ 4\96æjîê\87º\91ë\92ËE\14k˾0\85QI\82#\8e×Í\12Ç\9dE\1a_ÔÙ\17ø\ 5û\fÀ\rB\85Øg
+»ò`UsZc¹\ 3\1c9 ~¿¢TH°?G\1f°¹'0ý×ìþþÂäÙv\17&×ì.m\8d\98L\92½\850êmj\98­^®\10¸é\84\94\10\9a!\19\95\11\v\9by?av\91nÂê#Ø]ÂÃK\82®\10\1e|[=Z½\85ÚAn·â\11ûªö\17X\86{FBeBCHP\1a»Fî\Yª~Ðêá\81Ò,J\95{\f\ 4\14\96Ëu=É\94±\17Q
+\ fSéÝoSè£ß¨k!#\97À}oZ"Âë\19\18\87ªÂ\ f·ßcu¡Ïu\8aÇ\83×¥+¬p¡BOá?\81gêÁì\ 3üØ&|Bs\12\8dk;\97zënªø$8Óª\bò¦\83è£\84q_\r\ e»ÀÖC¼\9b@SÌJ\ e\ 3°\ f\82?\e¡\85×÷®»(\94\1fçl\ f\944\19ðy·]ß\98\14L>è¿VMh\ 2\1cLA\ 2
+A\8f\1eꫤQ®Õv-´\8aèVÔ\9a·­;\92çv        \7f´
+OV»,ç04zþºÄ,º½ñÆÄã~ý\ e1mðh\1d\83\ 4\94ØÆ1\940¦Á\1a\14í\89Uy\1d\91#²P6ZçÞXö\v½JH]\82é!Ówb®Ï\85û\ 5Ýw#(\b\87\1c_Õ1W?Ã\85@,r\e?\97T(Z\9fÌ\19\9ajAÓ¯\91\90\9ef\8fí2Woá\9a\17\8b\9c
+\vÿ\97tù×\0\14×Õ·:\ eÍÑè\19\80Ç'L¥®5\0cÎì!'˪Æ~\85\13\9e\=@Ó3Ä\99s\a\8c\bUA\9b\86 \8bJ\ fPl\86\ 5V\90\9dÜå6Ý´åwý£\13OSÊßweOg©\1f=Tx\1e´\9bewÁMD\83Ö´óÖû\1d%ú¥ï;çPl6άÛ\80 0v\90\ 1ý¹÷aà\12neÚßà \96æ]*`,-¸\84ü\8dHòâùÚªÊÉv~â!â\96ºqîµÎ\83's\v\ 4Z\ eão\89\7f\12Ê#WÈã¹\e\17ïz\9c\8e¯G$·\96ù¨íYø\8bP\a\84Íê\8b\1e_Û§÷©M\93[C\1fãÄg?©°â3\ e\90\9eKScÄg\84ÔØñ\19ô¶\1fSd4VTíZ\9b\1e$î&¡^$éâÄ      Ü?;\899\88ç\15¥²G\99Ä\9c>ªj\1a6.\81Ñ4ú\8aÑ\0Ç\19Q\7fðGÅì2×z¤þykµj,r×Ä£±Ë^î\8eÇ-tôv9kò¨ìr×ö¨ÕË]5'ïË^\86\8c½?û\97?-c\ 5¢ð²×ðü\9f»-|\96YF\vI{]$ñQ\ 1\1e¸\ e·Xpÿ\8bI\«7¹,\14\1fó=ª´²Å¦äq\89\9d\8a\8213©jF@®\14ÜD\ 1"ñ{³\8f\9fX\ 1#V!\7f&4%ÆÀwÉ\86¨        øg1=ôk\19ð0,\9a\81P$¸\8eËã?Qg\18h\87\ e£_ç\ 1F\9e\17Fq\11Ìtg\1c\96YG     ôgÍ\1a\16û;\8aÃl{·!-k\0\9f\16>)K\O&\ 5\11F¡?½e~»±}eÒ\85bA\84\97"å夬\0ê½]\1d?êø\83ML@n·Ës\17»êé-\92¢Í*%9\1a®@~á\9d úÀ´:ã\84×=\97\95:£¹Ï~¸Á¿Þ)DY°\1dçv\1eº60)uIµcFs³WñÆ\9d\95\13T\9fз"}m\ 2ÊÅ\18ÑÜÇ\85³\8eVÏÈ+øäGñ\v4hG\18]Wö'ê¿Ä\9f\ 1Ø<¶\83ß{\91g*ÍåäÖiz%B\1eäT\82ù\9fÇã[¤© `Tµ\9fN\18\ 5{Vü_\15üz\8ev\1eJ£X\8bp±/¡nÊ+i¸æá±ºÅÕ`\93[\96\ 4+Ðï\8c\82ûún¬\r\=;4\84Èë>w\17>5_.ü¹Â\83Ű`(
\ 5eTP\84ÛI\ 5Nn\ 1»¤§AÃU\85-¬=C\0\10U\ 6\f3-2        |\90\1a\11\14\ 3Ó\8d\7f®¦ÀO×J\9cLº^àêl\0àø\10\8b\87M.×Íý4©¶\97\rVîä\ e\94F\a\a@Y:\11  Pj\8c\80\83\18þ¨t\1eSâê=\1a\eA3ké\83¥l\12&-\81\98ô\12ô\90gñ"ά\ 1VÆó·kA\8f¬&p#ò¸¶^;MÓY\fTi\rp\1a\9c\81Q
+zW`ÒÁ\8bÊ\94»~\9bj\921CÄåÁß¾8Pnî\84µ\e    \9d\9dKµÒï\92Ö)\90i\87\1c\\82\re·À\r±Jä,\ 2Úw\8a9\bàÌ\8f8çL\96°2#xt×Íß\9e\8c¡S"RélK"\14À\ e7y\ 1\ 6\0àq\ 4a«ÀdD24\9fxl\84Û\90Kb\83?i\16{ðñðo<3\90ýa\82=9Y.ZsËtNá\8f\91\16ólZá×m\11\12ãA\f\82_\98\1f\8dîm7ÑPFeB!rºc\1d¥Sj\88/ZÛ
+2¼\13õ\9eÒi÷­ÊÕ¨Ô¨¾ñjXB\85\13¨]k÷&Ùõ\91·\e\aý~F\11\10\9a\9f\9a\10évCÚ\ 6Zûð8
\8c¢ÜÈ5Fë¢Ã\81nû@eɾð¡\93\8dÉ\9e«øè$\11ØÑ·^\19àJ\8aºÔ\83\17\82§\87    \16;|%\ 3&\vgo`­(\91Ò\1a«?\f{NHÞ\8b/±1yâ\a¼\8b\863}qO?ï\aHÔ7\88ÐR;ÅËÞu®Û\87ñ$§ðALâ\1f­ú]Ƶå5oh\15z9lBÑ&ó¾wì\82^¯ma\ 4\894SSb»¦2\ 1      \9aÒÍÀDÇ^g\15Âÿ%\/\9e6H\1a\ 6\11{ka\10Ã\87½ZøJ\80àØ6'±ü\18\97àîÖ\1fÅ\9a\\1cmx&\9bð=\13ßo»ÇÚ²|\aw$}°÷edu\13û=ãkÊ0ª\14\16H\11\ füÜD\bbí¡`Û\82G\ f(ÅÛ7T7Pý\94Û\83v\93B!Ý\94\7fq¾F±z)D"«þbHýå\10o_ôQaZ_pÒ7GjlîÏmZèi\1f1Sï{~\12ä\89i»µªZZ`Î\15\ 2^\9ep\89T\99\ 1URáÑ"Рê®+\8f\aU}g\e\90ÍVÖR5ûY\12\12\13£<n\ f~\17j\936gjr\1c\9eùSiß6"X4@ÅFI\88ÅÖ¶\85`\8féíd\9aE«B°SÕ\91s­àǵɭK¸\8aG\83À\ eÞX+\94_Zº\85\9eà·­¡g\96íöo\87©£Ð\90¶e\14+S\94:\ 1×vÅ\86·qq\9an×>:\80\81WÓ¢\11ø¡\9f\ 4Ô5~àÚ4\e\ 6´\0Ú\97MÚøV\eîÝÚSé\v@LÕ¡}\8c\9dºw\90RqÂIPZÐ\v\94£\90\10\91\84\14v$\ 1Ý~ Á\1cåú\11<\90\15\ 6í¹\16çÖÆ¯Ï*\11v\ e8C×ã\84_îR©ùüÖg(Ç\aD-f\8e5\8f-è¤ø\93pJ¡z\83Z\e\1eï\16@z\92\19¹\97\eØYø\19\vîq\0\9d\15d\81\87d\bE\10\98\86À\8a\7f\ 5\18`¥ßï×»ñý=¨³þW}\14©\85ê\b\ 4\ 6\7f©\90\ 1\15M.ç\1c\9e!£Î\93\93p\9a|6\988D¾\80c\1fwÎ$\9eg$ÔÀ\97\93ª\\18\80ÏÜJ¦\18úIH\ 4 býÎL8Ë)\9fÛyh\19%Y0áÊ\9f°gá\ 4\9c¯Þ)ô\9aÐ
+ºÜ\ eMÔdfE\1e\17/²-\ 3¢åa\9dú»\fâþpìoç\17lYH¢Þ\8cݸ"ð,é=ØdûÖ\82Ü\1cÈ=Á«Ê\96\847Ò¹\1dõAüI!£ü+ø;\95AñÝÉJ®§õD=Æ\85
+Т\8fW¿Ò·\13\a\17\819\95Ö\97\81\ 1\80á\15®\ e\f\97¬\8fV\898\1cÓyAøÀ\ eå­HÓl£Ät÷võï\rë]\ 5\90,ýI\82q\93wÐ;ëgøm\1dÚËÀÀ\1f?EdÞ:|þ\ 6\81°\ 5ð.¸\rÜÐä\9a\17\1c^IºühÇãY\0\8d\81\96nûÊüß5 \15        èò/Ï\87-|pÄ©ú\9aÔ¶ ¤·yõÖ*\v%4ÆÊÇ-\8cb\9cµö1ÊÑAã¦÷\94]8\1f(\93\85£ô\ 6    \19¤Mbÿ{¦Ï±®.ò<t\9dÏoh \92Û\8dÿ\85qwÞÚ\15®\19ôq¿5qwÙ­dæc~jâîMk'©\8dç×\17\7fö­\1cöL¿çZ9æÙB­\1cú»?ü«G;[/öÖ\8et\91¿éfUæ­Íÿ\ 4o*·7\fïÌ¿hô \ 2t!ß~¾·7ÇÆÿê·7Ú\0§s+[\9bçØXÖæý«Ukszf\9czÜßû\e~êÜß¹mý+sr­kåÛ\7f\8aNæÍ·ôIÜý6¿ÒµïüM\7f{6?}\1eñªÃF.Õa£\17kõW\89\7fü¯\12þÿ\16Áî¯ò+Ľ\_6¼KÖ\85­¯\12ô1\7fʼK\1f\rx\97ØEý5â\\9c_ý+ĽÔW*¼K×Ås«Ä¿.+\9f^%ó\19Ó\9fÿ\9d\7fþáÄ_\vfùÜ\ eÜñß\1aÝÞÍÿ\17)¿ü+¤>\9e¾ºCÿË®¯å\85(\9eîÈÂÄ)Dÿ\803\9d¬\f*s\ 305 Ã3ú32­Y¡øëYn¿k\b\1a\16ùö¿÷%\81bêöì«\ 1êØ±d¾Ñ\85Å\8cß!\8b%ò«¯¿¤\11\1cìX·\7f%*»\10E»jÂÕ{\8caj\9c¯\ 4[³1qñ\ 3ÂxÖ\15¥ &w\a\97fYÁå\9c¤¼â\98°\8açØà\95\93ík£`_ø\81ø¿û¿8ÆL#:[/Ê\96y\88Î\9bÙ\986S\1cĤÝùP<7Í\81àþV[Á-ÃÇZ\98[pÖ\96\16ÛÜ{\voÃü\15 ¾k\187úJF\9e
+§g\ 4\ fPñÕÀz\87ÏúìXÇß$\ fÙÇJûr\9aWÇr4¯þª\93ø×§öv\16ì4k\vuí³\vw\83^5güϯýP?6Yß\8b`ÙM,Ûx1T\9f4m\93ót\97çæ\1f\9a\97M××­ã\93»z\99;³ò2wÏÐoú¥íü¦4^8\17\18Á­î,±Ï\9eæ\8aÅ\8eáÙÁÍ)óaj^µ\8d¡\8d~¦Ô\81!~pÌpOý\8a¨xá¼b\98o\16@\8d?àó\8a[où±®?ð¯¸þ\94¿¿ùWì\7fÖ6jÍ®]º£\1dÞHýÝÞ\ 3Oòe¨->\8cÏçÀÒNþ\9b\8dÇi\82Îß,\91\ eq\9e+C×ãû£&
+û«GÏ_\8f»3\18çûFþæ^VÿmÞrëñóýû®`\1dQ\9e8aú̶÷ðíÞãú¯Åj¿}î»[~×W×èõòçç^\97«÷\7f\8f¥õ=\88ì\1a>}\1f×eàg¼+¶÷¿Ðv^\9d×пù¶¬c,ûwûï'\aÁ\89¾{Ût47\e\8fäk\9f\9c\8fÏÕ[)}\f\ fæðr=\97\9bù37o¦\ÈÿÊ¿·ÿ\17eÿõº\9aL3<OÉ\84¡Òüy\8bæ©\9eÒK/ Ãâ±\19g^GcM\8aë<X\18\1fò\97\ 3·W<#ú\ 4?EÿüÝÎO\13Õ4ò_ýH\ 2wÕþú¿ßWûÿ¿ãE y\12²\9aĬ\9a\ 4¬\93ÿ\88\98\16sçZ\9a\8f\8b=<\84C\9d\a\85Ýwü´\10¿u\85ð»\ fo¾ÿú±\1fãf\8ar\99\7f\9a\b\7fß\7fÜ]Aûã=x?ú \87ú\1cÑ\90R¼×Î\82\1f\84\ 41¹î\8a\1f\91Ü÷_*\b\7f &Y\12·÷c\ 6ãàö
+èTÿÍýóPCþøÙ\ 3ñ\8dýØ«\11õÒ\82\8e\9fé\9dVTöN\82 NÏ\13\9e5mb²¢å\9b\9c/K\92m?´/ØÒèNþ<<\9a\8av\8fsÀ屺ö\8a£>Ü·~>gìeH²\bûÒ öM\8bËy \8f\90\8cÉ\ 4|\10\94Å\18Vuæ \8f\9f\8e~
+\ 5Òº,~ó;ÍA\1eÝÎ\98±tZdçÕA
+0\19ÞB\bï>²\bî\15\vÍ£;ÍU\17\ 2ê\Å\16¦\ fAÝk©»\9e­º\90©×\e\b\rSõ³§\94@U2ýàçIþßÏB\1aaÿÍ\9d\1c»ÃO\94\ e\17ñJľB±*\93ï®G\87¿-\ 3O{:\ e9n樥©\ f¹{1jäÃ|_3±Æ^\1dé¢JáÅ3ÌY\95\95\8e\87:ueb"z
+²°\93F¹Ó\19\9d\ 3øÿaíz9)°O,Ûæ
+½P­\ f~%/Fcq0\94\v@\ 2M\9ckC\9ad\1aÌîLay{Ä/»\97\9e\8aþ\19ß\99Ìhíy`©\\93\11\92£}\88üª\7fþ\8a\9fþ\89\10­n\92i\8e\9e\ f:v­Õ\16ð\a½]èÑtMt»÷4_"°T°Eeñ6"\88]E¦ðË\18º)å^U¤_å{\ 4y\82u\8d\8cãc¢1âúPTò\f:/\fOÙ?\10\95CëR\ 2O\8c\16·\84pÌî
+ÕÝéëHÊ]ã5Q\1612ÿzÒñ\ e1W\19´ûïN"è@Ä)ÀºòÖ\94Gà¤"{\97§\85ÊzÛ¡Ýy§\10^<KÓ\92jÐ{
+Ðn\b\8a¡ì\86ÞÞª\82¥"\7f\8e@¾4\ 4Pz\ 4\85¸¡d\10qð¼Å\1e\1c\ e¥0°À"\95´®o¹&O,ί³`@Ì\17Û»¶à\8b\85¿\86\as\8b5\fów\bQð黳ø#4}Ù½BC1\18 J  ôU\8e¯©¼Ãº¾î\9ea\©øÌ\9eD5ZéP\ 2WÌÕ»èDG\f˵\99´È8ø\ 1ºC¸ÁC\88µÿà\9fÇRä\ 5µ\998Õ¼ÞÁ¾Êe\ 2\ 6t\9d1°\¼(X[Wwåî].AL[·)rÑ\87y\1e8 ÔqBȦ(5Ï\ 4\84\9b\8dà\86RðM\rº\ 2·$Ó\83\9c`¨­¼\ 5\9c]\88\rÔ>[ii\bø3\83ÿ\93\18Ç\17Û\eã24\9d\14\93ÐãÓ\97»÷v0¤
+±3\ 5BO\8du/\845\89\1fjE=ñ¾\10èn\ri@\9f®o\84\13²\91i¢ÉÔÝL«ä²:­hhn\99ëEäûÐ\ 4[\19j\82Mp\86LUB\86\1e÷c\96\13\9f߸6e\bxY\ 2\9bæ\8dqk\1a\9f\ f\D¤jPE\83ì|xäÝ\V²\8eXkbØÊ\19\ eÞÑ \94Sè9\96%!¬AÅß\8eC\95b:\91É\ 5\828Û¶æX3a`\8e>é$\féá\86 B\8d\efG¯TO\14\14\13jï$¸É\12°(VZ(¢û¿"ç\ fÙ'ÙÚ\8d\10*"\1aVNQÌ\ 3ÕRRÀ\11\99ÒVïÖTÌJ9\92ËÅ)õÉ\1fä'P\10\1e¼\e%dÒð\84ÁMpÊö ¥ïµ/\85G/]\84¾\ 4î\17\ 3=\1f¦Kh:\9d\92ào]Àú\ e§Á·\9fÖu6\83©û\96ö\v\ 6:àh:\9f§o ô\1c\8f\12öZdEï"i;Ê\ f[O½/\90ÝÔ\8e\1fri1®à\ 4°NAÑ\14´<\r\v\ 1\88\ e\18\95Ã*\93ø
+RnóY\15öyykâjn.\8bâ\15êè¶\9biÜn\8b\9cuÑm4S\88º\17\94\0ÈøµI
+\10\9b y>QÛf\8aÏñÌ\82e\87
+\9aæu\92BÈî\9cæPÈ\01¥u=ü\\86\08\11T\ 1'pÕy3j¬&\b÷k_Tr\11ùSêaèF­©\80÷b\14Õ»fT©\fÐ\88 ¦Ìù,*ßxâ\95å³d¸\926«JøÂ\fì±C\17MK{\8e\83\16AW\fsíÌ\8cûN\8cCeÚ
+\f3\\9aç½4\9aÅÍ\18Iä«\87¶ßtd|×$¨«¡\9eGð)\19._
+\ 2\84á-©Sø:\92énG\15\8e\véNo?p\9c4¹ô¤\ 4\1a\816w\93éBz|\8b\7fxWÙ\174\93&ûW\85C'\94Á©K°¼/\92si\ fÜ\19\f\rãìÈÏvÜböý\87EÏfä¾\8b\9bK\92ú.knKè¹¥¹/¢ç\92§é§\886{ºKQ\88J46Î\b\9f'Â,½pc.½i\boßÝ\1cæðè½t_Ð\87\94<\ 1\8cò\87¢/t\8a\87D\b&\8az\11®\88¼ÑA\17Ë\8e\a\1cPîFö\1e\80\8bdå:\90¥QM)\19Ùal!z     \14 \119{Òèl\88ª\93]&àX\11ø
+[(H8s=É\7f[a\96\8a5>\1a\11kR\9aÈ©XiÌÁ¤ßX\8b¢¹a%\ 58\8cj\17\88\12\e­@8\1cU±È{\92@K\9bÄW\e\ 1\12ñ7·m\90ÙÀ\b\13&\93\ 1¢\88Ëøð\e£\94÷â\ 3\ 2Ãä\92E\9an¨|N\8bDj^¥Í\17\89#RiM\1f\9ct2\rêh\18Å*uî\8bgER\9c?\ 1S\ 38§iÚæB§\93\8a\93\8bÇæCÍ4\18Rz\94\99\91E¯z\11yΦ.ç${²\19 v´\13\ 6ÑÂ\90Òqu4± \8d\16P\v'·Ä\r¥F\0^\1d×Rû2>ܨ*\80¢"#¢caþ«¤ªhª\8a\97¾xj°øK;\89®\96.âì*©_O0\19vÖ)\97\90õr2\16j\90Ë1.ÃÛ`Çð\bÝ\eØæ\15-\80
+\91¢A²`×UÞ\87\9f.Þe*\94¶u\9ds\90\90¢½v\âħ{È!?¬d§ßl$¿\97`4.­ìÂ\ f\ 6\87¶0g\91\8cªrG÷ÙsW\8e\1cf\ 3\96×\18\f[Ë]C\17zSõ\93\8b»f\ 4½\98\ 3;GgV       §ñ³\12\89®\115[fÍt\81È\ 2×J2\0Ê\8f÷âðchÄÄZ\98²¦\13\9eî)£Å±}\11Ö\10\84×!\ 2­9Ã
+\85Ã\17\99\1d[$C)\80nÄ+Lq\9ch¶WTO­\83JÆO\ 5_¯Eà\a-ân#\8c_qPr@n0I¢\95sp0\ 1sàß/\ 5ÔÕêûÃy\11ÀSE÷®ã\8d\92°«õ\9eÖD5ï2\A\94iw/xÝ\ 6fÚo²®k\89     ì#\14\wê\15\r£ì@\88À¼\81\90VÙ³T\1a¼\12`C\ 2\e½o\8bK\90ÖÆN\1es²k¤6hD{d4ÇÐÐä\eØÏÚ-xvâ\19Ç\83¢dPáÁ¢h~Z("Ï\10ñg\83pɯ¨Ðò*\ 3^û§&0.½üy<\8deF\99\83\ 5B]Ä\f«~~¢ \ 6¦ü\96_\19²\94\84\8aèlA\9eÖ\86Ï#\88m9ÐFù\ 5Kv_´AW8[T\9d\r\97\ 2ôR8osTucÀ´\1fEz®\9a\8a6´µfj~ß~Ìq
+1>Ý÷zµWÕO·\1a«\10TªMò·|¢\f©n\ 6ÏÀx\8e\ 4L^¤\99Ìe\f\ 4²ÿ¨0³jL\9cÀ,pÒ$#Ç'\16¶IÜl)M1\ fs<       j<ÑEd<ð\90Ñe\ 3ðâZÖýJ¦a-²\18¿\83E.ü¨&ë"}\15¢¿\12\9aç±õ\8b\fçt\19 \ f\ 5P¾p%\0_\1a¼·\ 3\8fÏà\18\Yôá÷Z×û½*òãWF{VB&        J\b
+â~ø\97ÌW\8bºãÃS\ 2ìRíôÒûØ\eN\1e¸t©^¸\8aøû\83 \92?\aqÇWö¡!\0z`¾Ð:`\8bÉ aµb_N#\\82'\82ìÌë\ 2\1f¤
+·8\96ø\99ÿ<©\9cƽÔl7tµµÐ!èǺPw ýÁ\9bj\a\9bÜ\11v\16Ç¢ÿÃ\185h\94\96\89v%ó\93A®yí/¥xÑ\87\89ú\98Ã%Eåëz'Ä'9©»\82!\88cîh.\8b\15\b\8f\8c*!ú3)U¬!ùá\a\81\98>{C)7Óõ*­\ 3Ó/ñ \85ÿl\8aY\1aÿ/nK@\81E1\91оf´>+\15¢©Ê_¦×yÀ\87}S\97ìÁ<\1a&\16dZyð\1f\81P×iùâ\1c·Ò4[¿Y\8dA~)¤\eÓJ1ò\9f`\17@&×\8dRk\ eV\87\97i«Ä\86\16\94\9a\9bÂþÈ5&'}{Ú1Jp@$uzØ\9ayñ}t\0\94\97\ e\87'+J\1aÍØÌC\18\16\98&å'\99Gc¶.N_\ 2\9e:\9b\0\83ëú`\v
+\8bM@¡\88³æ\r²¯Ç\95,\88®\8a\94\ f¬MÔ\1cÍ­#ûÞÝ\©)\94\8eó*P=\97\95_)\bVx$\83\9cS\84O0\80Y\89Åä{^B\1a\r,WàÆ      ,\12Ïþ²Ò²R_\15T\9eGà#\18¢\89&P\1f\9e|\eñk\18\94Ô\13\0×%\92Ï­<By\83cßÊ\10Óã%VtÅD ¯°Ê¦~T^7h7\ fmGlºV0Ö\87¥6²\99g´b\82\84\13røóöÅ%vé·Å\8e¦7\84R¿@\90\aû ¦)ýÌA\8b\14³.\7fFØZõ\912líÀ¦çþ\1fë4\8bj\ 3Ü\1f\142\15¦\v(KQ?ld!\bÝ=\a´v²\88,Éò\11LX»a!\8c\1f°PÓý\8b¾\94îÈìÆ\0\10Hdǹڬ\86Hîûez©Á\99\b\rÕZªj+~\93#\17 \9cþùc\80±zNÑ^N\18ùÁ¾\e\ 5³~º\12{Q\ 21\19üo   LË\8eIV\93\ 4g'PGÎÈ\87Õ\12±\97(¿Î¦P\15R\8aDcKã'\B#ú\ e\13k\9e\18\fÍ\7fè\ 6ÀÀëbJÑw\81Àª\84\9b\96\8dh7\ 3"\88öÂýá\9aÐU QîðÇ44\ 2\9d\12~þ`e\13\17ÜC\1ck\11Ý\98\85\ 4á?Ãò\17¹ÆôÞÖM´\e9­¤ÖpA3ãTAò\ 2>\86ªãD"ÿ¾\1dµ÷NÄsäF.ß2\96ÈÂ\83\ 6<Ññ¤>ÛÅËv\ f\87\88$góí\9cKÔÀ6ÊÐ\9eÝ0\18 ï²\v\0CbAk\a,iW9í\8aNûÎ\99|ÉUÕ\83£\896"¶6\1e{\7f\1a¥Åõþuq\ 6Ü\1a\94Z\8f\881\8aâ\v­\83\ e0\8d0"É\9e{\92LóöÆ\15\12û(\8a\89pzq¹ÃãU÷\14\88>5\18·ÿ\85²VÝxËcPc0bj\9a ÿ,m\r\r-+¡<õÏ\80bv\fCÿò\97\e1v'ïo¬^[\85µ\89\83wQ\0­\9c¿ÂìkAB\92\1c\81y\11å\0.\80ÔÔ~?("\0&\12#=á\16é\99À/uS\87î ûHÛ\14帤`\18\14\e\87\95K§whÁ\94p1\94\88\82¡Ý\13·&2\176Éx\ fPSU@öao\ 5ÖÚÂö\8c\ e.C´\83c¯SZ!PÏ-\8dÉöæE«1\11\a7\ 1G\8eRs\95\1a(eL]³"¬!\16Gû¹.z\16\9c\14\9d\87±\93\9f\9e\r\ 4\10\oü>Á\82µ\ 5\88Eôñ¤Ñ\13ËÉ\96¿å(ï\99\9f\96ï\128\rI\9a²§Õpk+*ȨÊå\1eMòQOëË\1fñø¯ç´ç©Aöe'³Ä­ð\ f?\17çĬÇ\9c\ 5\94Õ´ÉäÇe£øù¼\99\19Èüj2\94\88\8dI~\82\91æô\14º\ 6\93C,]@Âñê\rµßCIòÁí\9bý\1alLø\94®\ 1¯¤ C¶\8dí\17ôc s\8e(\18\10\ f~9véñ&và\ 4\15Åþa¥à \rP"\9fæ\80B\1e?\v\98p¸©zºà/Ê\19£p«½Ó\ 4\17½³y ÷M¼\1f{\16Ô÷L3A^ò1)᦭|\86ì!\82\84d\9e÷EEû\95bòÊEÕ\16A\8dím\81åB/\88êî#²t\ fæb[u¬®\8dLðE\8a\e\ f_ç멨·\184SqR\rÉ\8f:4~;÷ÓC\ 2?#\9cÄ\85\13\eBP\7f¥0\12Ül\ 4\88Â%d\81¨\82>þ`\87/ÿn8èrÿ\8d\8e]\ e_]mKr»¸Ë).ß\ 1Û\86
+T\1e¬\13ÌÇñ}\1e<e¨,\94¼&,\83ܹ¡Å\1c8\8c³\98s"{£íôì+:àìò\ 4\9aÊ\18\80\1d\8a\81\esE\96\8c\196\ 4w#7E5\18\9eÛß%­ÕÀ²?\8c\90ÐÇ\81Ð%uy\ 1\97~ê$i\13\1c\13\eS2úbêm«Û\0-\918L±\17è1msè¾<T\17\b\18°Ñs\16~6_o\ e:(G\14E_\96\80Ó)S'¢\1dO'òF~\9a÷d\SfnPlDü\9bê¢û\12_\ 6ç¨(yKSe\ f\89Ìu\1e°M|\ eH\9eeOY\12eÀR\94Ï\90\ 5\97xÅÜDú@¦V6\ fÕ\91ÿXbþ°\xd3®Õ?ÈL\8cSI.Ä\ 3-\9dÆä\1fe\ 1c\7fí*ôZÞ|4Ô\ e3¤8Î\ 4¸Ü\1a_D\1f\1e\ 2\1e\8ej\11k\81á\ 6)ú<y=ª¯.·²Å=¼\ e\80\83g\9b`h\10\a2 ²\8cR-Oê¡æ,75?¨­/\b²%áú¾\81ßÃT\99\18ÁGíá\80ý\99\94JYô»\87=-ba=\98nt\806Xðîh½\974\a|Få\17°\91\ eY{.^ì\99\0\96\8ey\90¾(eL¸kíÂùâJ\83\95Rág!|í\80ƽp"ß\f\7fb9N\ 5éMî,\93è:û\ 5Ö\8b\ 1\13Pmò^\94ÀÜiï&l\97\ eîtìè²\ fºÖ4òÌÔÿÚ1\98K\0¦à¿±zEôµÕOÌ\19\90\ 5¤\12\119\ 2´\19;èP\vE\ 5-!\83[:\1c\eL#éhy\84¥Á\99()iKÉLOë/@¸\ 5\ 4\18L»¼VÙÊ^(r³ð&³ð*Ùå(³âÃK/<ËÈ\f\94\94mP¤aV¼Í¹·\99\13`²!\82ÊbHbÊ\96NiK\11\8c\vïç\927C/q×*\90Mg\8a%\87\ 3'\1eGf\7fgDÔV\8b:*ykÖj\9e[£`±38·åB\80-xòG\99»\84
+`\83SX\8bæBkºÌ@Ë\a\1f3{)E2\96ÕçØ\17Q\91?\9anÁæ\0\ 6B\f\f\87´\18ò\¡3>6P\14¶å$\1e\bVC\87Äí¢\97\ 4\16\83`/\17§0~pY\92\ 1¹/©t/Os_\1d\13¿ S[5Ç÷\8dd\e>C¦à\17BJã\96n\8c§O\18¦9;ëAÐf\90\83Éþ<eq\88\aöÓl+CÝY]P\1d\1d\1e5\16A\94\1c"´¸Ãi\ 5êÖ6T=]íþV0¡\85*Î]41³}R6\ 2\9eU3\1f`\82?\8f\86º;¤¥è·Bc4!ÉÏÃ\ 1dM
+âWo\84\7f,\ e^ãÆ\19H¦Ø)\82jòù\0\92ç-Â1\aÂõ#\1e@\9fÝ\10µÅ\82K\94÷tc\14ißÜF\12Ó»\98\92S,Ú\ 4\ f\84\ 6å\fa¥¤\10\123¾Ì+ \ir{\ 33ý79=QèI
+\92¥&    \99\ 3º\aé\1aI%·¬Baç¡\9b,\8aÛ\95´¦\v\85½\89$ÿ!IÁDÂ\8b\0jñ³w'øÿñ
+?×\17ÆÅ,.üÚ~Ê
+t\ 6ªL¾]}.\84Èö\98{C\16±\94­z\Äx\b\8b\98\18\88ê\92 \1e\97\153\90\r%\9eÚ&08!%\ 65!NñG¯){\e\8cXøf\1cLY2W\88é\87\11T\8eý\85L\92¦\7f\84Û/\18\rÏyôU"/£ü¼\\16h¯$÷©üX² Ê^YSÇ\83\84ÿÚ
+\8dOÀ!)¿2­¼Ü±rã\8a[\8bãsØó¸¾\1aФÁiN\÷¾Â²ö\94\1amUvCŵÝv0r;\ 6Ý      7å\15\1f\88\9c¸¯´\86¢\15ï\85û{^Ñ~×bý´\1eòè4\9a)âME°Y)ÚSv\\95Ñ­gí¿Ü\b\851\vÜ+اð\84\9cù¥p\98
+J\96\16î\8c§_%\99úÏ-3*m2\99¹àd\81½Ø å\e\9e¬%Ã\82<bdz«\89OgÕ\11\890\80¯\9dk¿Ð\9b»È   w       ïÑ\7f\9bn\15nÛT_âx@\93GC¥\80túYÒræ\96\ð0\8estþï\1d\8fÚØ±Á`o\ 1n5îñS/ÂSV\18@è&RFï\84Ki3sÚ»\89Â^uø'øk+\11 Éæaïq     }\9e{\13)LILÜõàùÐÐ\92\98¼\83³½dÄC\14'
+\88J&\b)9»¢á      [5P\92(\9d\a\19/C\v×ÛÏæ\9d1y\10\9et=Ø\fwûïÂ2\98TrðÃ~ÆÆä_ê×<\9f`gå{½6!\81ªÍ±\11Vü×V¨¬8àÕIaQÅ\r<u\88-ËÄ¡\8d`Û©\97¡x/lòØÙÌlËìmÝ\17ÙDQ}\97\92}-\86sCܹ§\96\9a`\9f\873\ 4AÂù\85\9c\1eªV÷\97).­E\9e    M\8dwû¸J\84\eb\\8bßζB\87\1e\ 5\99Úe.ñ¢]ë áº ×5ï½\ 2q:9Ç\82[©ÿ\90Òy¾=*-\91ÙÛû¦ºLó+ð\85ɤ´Kü8\11G"u\9dxÄü:/ðý\ 2}`\9a)f\rÊ\9fR¬îÊ\97\8b½c~TOÎÒØ½¥\17\12Ü\ e\11b\94\82N\ 5Å[²Bb4\96ÄÝ\86=\91¢Íü;\9f¿aÉ\ 6ð`p\ eÏë,\93\14»Õ7\8dÃY«¤~æK\17
+!TÏ\919üØsÚúís×VF¦»e'0Æ\13'¤¯å\92ð\12#yÐK/Û\9b%TW÷!&+\1dàFȤ«&¹à\8a\fyS       ~?E\f#g¥ë\e:N\9fà.jaµ*m\86,D\86)\91\9fË6\17p\85ÛîѤåÿffL\93$\84>\80\12\10\80B6D \85\18@\10$\ 2æ\ 6\ 3\14\ 6ÒÚRÖ2«T\13ì\bT\16\ eH\133\f+zÞ¶¼®êîÙx¶Ûn£K\ 1\8bm\92\14\80\10      \0ª\88´±V¯Ã\80\10U\80\0\19÷ïß¿ÿûìÉ&I$\ 2ÔjóuïyÞòóo;Îò÷Âï;Îo9¼Ýñ®ó\9bào\83»¾\ eó|MçyÍò»è#}\15÷ÐkO\ fv²Ûm²ÆÑ²B0\17¿!\15 ½*\90\£ç\12CJ\99Q\ 1\9b½\14yã*B½i^l§O\86S\98õ@Â8KÔ\8aaNð\8a\ 6Ì\81ò*áK¦5\14Ë.\17D"uóÇ\89áùñ>\a°YÛ\9f\1f3{*>A)l4DåÑ\9a9t{ò\b`\85v\0\80ð\87\rTÂàÂ\97¾cúr\ f\19±ÇFm\9fe07W\ 6¯µ\97\ 5ÀnXpÔSz@Þ£ÛÏ\91\81»eÝ\85\ 4eb¥ÎÁ)\106Dí.c]\80W\9da\18¤\80\88TeÃE0Ñ\9a¤È\80\9e\91]\e\1a OÂÑ\ 1
+\8cÉ­\19\và¢\ 1#&\16b\16;M\16-èn\99Ý\ 6\8fÀ±\13\1c\ 4X?õ>°9þº\9b\a\94\e_·ôO\1d+Ï»¡DÒ#È.lªA{h\15þp\ 4\9c¡\8eÍ´ºLH^E\83²¸fÈ:\95\13="bׯ\88\ 5î\1f\\9dUø[&¦uåY\86\aàý¹ï<h\G×±1\83èº;)³\88¨\97Ú¹\98<'\88;\0¯\ 3«\92O¥D¹%\05@×$³\9a\89Ü1:\1fe\9b*\8c\fiE_&\10û«\92wòÛlâ\83g\ 2uýM»\14*\123s{ºS1jmËb
+\1e      \1e;\8c\87Y0\ 5¿Y\18;\8dv._\98I¢êÀ\84ÍB\ 5\v­R\ 4Ü(ÓÈ\8fRsòé,]@¯P Sæ\81\ 5\93pT~3\9fss\90áS7p¬\6\82Ç}¥\92\rù£½\8d>\ eXj\19TÃX9ô\1aF³\H\ 1jg4·\82ô¯N£,9n¬þs]\872\97\93õêEÂXÞïM^\ 4A\15áe 6w ²\11\14ëâìÚ\vn\1e'\92ä\1a\9eÍØ'Ùñ\80\ 1Âxu¬\e
+ÊVÜ\80]\14Ì+'è"ò\93\17rSÉ©\v\14:\8c¦\8dB\1c\96û\91â°Þ6*çz\1e2{Óã\99w´Ø'\1fÆ\r\1c\19Ê÷0`¿\89h)+@»\85\10ÈgDø!S·´Ý\86­T;Î5¦ñKuî] \99\10Í\14xz¹ eëPS\11`\ f1\81û\11ì!Ü%19¸B\97°`[\93³\8fºõ6\87ÎâÉ­Ã\95Ø\1eúw\1cü\911é2¶ÃÝÂ\99\12é ÀKeq¨\80¾a\13B\9c/'$f7ºÎÏt61g!lb\1a\0\87\ eõüH1¥o(Þ\ 5a#ï óÊBð\82¦ì·\a\87:î[1X\84}\ 3Ï*ì2f'åÚ÷7\98\19¹\96¾L\ eb\9bIGß\a\87Ô|ÀÃ¥×\18    'ûp\12Söà%è°\13\9a\14vפÎËÏ¿@°\1cS×ü^t½áìý¬P÷am²\ 2\90F«"Ël¬DgCmIìïr­\82\14¥\94Xµ/ä ª\87©¸d1ª\16á|ç»À»\9cø7\ e\ep\97¸\18ÕêkEà\b\8a÷ÞxÄ\95ï~GJ\85$âóÒÓ\8c\8bÂ\17\99V!RÏ1(½Ìá\ 5"\0Æ\10r\15È\90\9fÌ\r2\ 6\11Ð\91O·öÆ\82Ã
+!ã\ eS?D\8bÉ\ 2&UÏfó*Ë#\12\bÿ°×\ eµu½ÃW^\89\82V\7f¢Ä¶d<­Æ\8a}>tPv$û"\89\ 2·\ fèBø4sóÊøb\r\eK°¹\8b\8c¯ëÉö\8c\1f\9coñ*^¹£Ãð×0ñ\96&=4<*\92ªu\ 2M°Û\1cKÆ*dê\96ºà}PM°ñ^qù\84]d¢:Â!*ç^@¸²C\96I¡+ú¼s:Ù¯âÍmIsª¸{ë\83T       >þ9\91\10ª&`\17¢¾¡RÀ45\9fÌLK\80\80;\ eú௠    ½\83®;$± O\ 3ã/°7@M\88\90QLÇ»\91ëd~\1f\ 5\14:+q\ 4W\1fµ~ÉÆ!G³çAG84\1eÉf3-Î\81\8el2\9eÈèXÿâs c.%\94\18\18í\9eÌqAÓAZsAÞÙåZQÀ\89C¼   ¾%&ÕÌUn¤6¾/èåë\9c8\ 2öz\81ë.\11si\92\e°H\\9a¤\85       à\9c¥ù9Õ/Í\9e¨!2®o"_a"+øø\95\ 6Ìnjkò¶hô¥\ e(\93\9b\94×qIÞ²§Å¨ïvéÙYZ(ÍPu\98ÅM\90× ±\10ç#¼|ÂëR\1cAùH¾ìä\87­Ý<)"1ög\8eò\98\b\8ay¯JF\8f\90\rM*æ(Lº½ÿJ\9fj\b\9a®PRE0\ fG\7fÓ\80w^ \14xó^\9e{ÙTÓh>ÿ¼\88\94´^ê\vbQ{\8b?`¤¡ $wx½Ø\8a\ f)9î\eüÝ\1f\9eª\8e\89\8a÷1.\1e£\84\7f\94Sæ¹ÎE\17TJl!/3\9e¥¡¦\11þ\19O\9cH\18x¤þ\11þ\b\1cÈ\9eÝ\9cÂ?\8c\er\9bóçð\88ºªÄ¼gGÈÒ¹þPjn¦ó\95i^[áêÔý·C-V\8b°jx.¤¹ð\eáÁ¶_Ô³U    \91ô\86Ó!uìP.¤úÄPËV\12H.\1a\ 2\9aÕ\10\1d<õ"[\15?jD¶$\8bA\ 6\16ºÀµÖ7\ 6Ù¸\b»TL\80æÄt-4À,Þ{\1d¾ÞåJß\95%Û2\aù{å\19\ 4±&áö »5\1cP\v~Wf\ fÉ\11jÆÚO\98ÀÆ\17ô2WÖEÙ§Ü\8d'oÚ"­k{ Íàü\9c£:·\8aݺt)vëÍ®\83]k\ 1 \13h\14Äðu`ü\CDM\ 1bT\ 2õ\ 2k5\85u«ïí Ñ\10 Í\15×Û·¶\83@\85\ 6E]\88hÛA\99B\83O«¶g¤â\10æ\r¢d\88\9cg\8c\1c\99Vc'\9c5|³\r\98\1dï4î\88à
+êÞ\92©#v¶O.H
+,®\rZ8Ë7\98\853\9f\ 5\ 4ûüE\10@ÓU\9dÂv<\13Bðù\88$I0=4ý\f\18X6\8c\82zãÂÈX]Ì+Ã#Þ×\9d\83\v\1fWÓLx^ó/
+\94\ 6\ 2¥í¿Á\85\8bf§gO\vñ2ë\ea\1d®vØ\a\98îú\86 ¼C \8aº\a\15\17<\85`#ï\96×+¢Å(¢róÕäãn\8bK\ 5or|\9e2Ðb¥ËÃæ¥\82DÑâòJHÅípKÍ[px%Ó¡õ8%Ýíô80Këþ¼~\9b¥®Uµçñ\r#\ 5ðÏÔ¥ÐB 3gBemI\93þ,\8f*üõY\8c\9dì)T@\14-ðzoÀ\16\8e1³ò\14±\aÄ\15,nl\Øß\bq?¯K\ 2J\138\9a\9d\1cFI\d     ù¼}ÁpuÚ  0\17\f1#׿\91ë̬ù"kZ_\17
+\8e#ï©\9b\9ew\92g\13Lµ>Ù\14ë¦ÆN\ 1´\²×G\83VÐÇ\94É
+\8eIÃ)§B#Æ©\9e\8d_f\83\93zx\8cI´x óAØØïE×Wú©@¬\15J@\84Ø\847¨¾eÞÎ\9b±\9f¹43\1e&\ 1hh\19ZJ_i\9a\99\14\1f¹ui\ e¾/N\89ØÚh\1a\84\18\13\ e"uÞ\ 6\${@Pa\99áOÌÀG`\9ck±YH\82\9cùÍ\9cʦ\1aVáÚ;Õ6\ 1øÑ\ru«Â\88å~B\19Q\ f»Ô¬Æ*èkïÁA³u¬\14\82\92Á¦#[E\ 5Z\ 6¤kZ¼ÖqÑ/»\94   |¤\8a°Ò\85\12§#e\9aêO\8b\13¯<\19\7fT}hñK\9b\12\91\ 1Ó,J<\87;E³°bý\9f \ 2b\9e¦Ý-\ 1¯&M[É&W:*Ó      :õÃ}2g¾\81DNx¸%p\88£¡\81\9e\86\b0\8aýk\r\ 4Ljÿ\96U\8e\ 5º<\1an\1eùÚÕâ\1a¤ô\9b¢\1d\ 205\17\9b:Æ      2n\85\17gY\10_\18Ë:ÉT¢\eºÛD5³ª\88\1f\8b\ 5>,Çã\81\16\8an\ eä;\12>é.\94*\ 6¢\9fpªoÊG½&z \83±W U7V\94ÞE\82]B\96\0\91\eÍÕ¹\8ek\8fz\12#\97!\bÏdF¡3y%"J¾©ñ)\12\b\96¹'ã\ 1n]®Iç}ó2\9c\1c\8fëQµ      -;ym³woBÀþ)H\ 2æ\aQ¬xñB åKÂ*+\16õ·\8b\89\98t¾ã\04¼AT \ 1/\b¡7á¹£}´\8c\91üÈ\9a\81\aúìm¬²WòÁ\96JùX¥d \15×M¹\ e¨¸÷\8d\e)*Þû\90\ 1\9a\95\\ 3\ 6±¨#l\ 4)\e;ï¦Ìâ°ÙD\14i¿¹à\0Ö\9aì0§"41\91\v¿ãàN¬É\ 5\99ÜÕB(r©¾å\9c\ 4P¦G\93Ò¹:þa¬º\0²Ñ\fÿÒ¹?#\98j!þ];5U%ÆK\0\14ïÛÕ\eÅ÷\13*{?\079 Û\9a\b\16ì)þ£Tg=°7|-`ä\12ý\ 2\11\93\13\15\93Ç\89M°¤ªV\93|\94£\ 5\ 3B\17òDÙ¦}\87?\90UFø;Iu\9bIº×:h=(¬g\8e2·H\93\17¤\`2<«%0\8düKG\9cÖºØ\8554©£]\ 5R´êƲ1|\95ÏñA!öÅ\e3U$æyj@\ 2à37Rb$º\92    ç$Í!ëß\8f·\87T\\92\11\80bò7çU\ 6\91)gîO5+Ò\9f\9ebQª~yaÞò½\ 2/q\8bÅð\91\81VûO\11gV\80Qø_5?8&\ 2Lx\8agSÅA.\1a.¹\Ð\9f\9dzKÒê\ 3Û¡áë\ 1CJò¹\81e«ubÅ)P6hö5á+$årÜ\82\ 3#}J-öVð\ 3e\8a\14:cËOIÔ\18ŪâyþT\16ßk\9ehÍh\82\rk\fù\19Q\9f\96\fÿÁ³½\ 4ª\9fýê}\97 \863¯â¢û-\16B\0ýê²pï])0C\15¨.\9a¨Ò\9bîÊdÇï\8c\92à\ 3ãr\93\.\87\976d¥¯\ 6\16°EÉÚpi½H\1cj°ð­i_e¶Û:L\1e<ιyÆÝ>j½úÖ5ãc\81V\ 2=îî\93\ 6=mðŪL\18ºÖnC\6',Û;×\f<\88\93V\82-µ6»\ 6\1e\89Y½_¨ÉÃ\1fM\19jÀx£ñ2ÔÓÀªEá°T´\14\b\96\r¤w\1e!(ãÝQA\82@\8c\8d\82¬¬£Mô\12è«Sa¦Ê ¥k\12Õ\86k\97ZèXd\1c#E\86¢\8e\8aÄPÜÂdà\f\1fàÕæåíkYË4¢yµ{¤Üò]m
+\8awï,Bwï\ed\9d>0\1eL­¼\D¹    {GÔ\ 5\1ak¹Æ°F\ 5SùxX?\11\v\aÄ\81*¶Ã\95\9e\8ePï³Îñ\92êg(l§Ç\98!þªúv!b0\vùWa\9d6g\82Ï$£àû°Sl\966O$\15\84\15´¾\ 2yè©X\952' L=\9d\83ï\8b¯øÅjÀ­j
+µe\99Ç\85\93\ 6\14;\fÞ¼í%l½$\e*йk¸_Ko\v\ 2\94)^\16¬)6î!áªÙðç³­vú{»·\8a»ÀyÈx\91vÇ]ÐDj\9eåá\ 2àäï%¿\9c\ e\1c\94\8b\ 6ð\ 5\83a,ߢ6P4y2Ê\0d¬ÈkR×"\86²i\95²an¡8{¨OOu       ÅÝBq×P\9f\7f!PºçùÞp»\9f\88\8dÛµxq 0ò2G§³ËK/Z¼ó Ë03¥,ÀïrF\ f\84û\89f\0\87t\19f$©\83\98$\90áa5éJ.ü[\ 5\92\82\a\87´=@Ð\95iM°\925`Ô\95¦ú×õ~TÒgù:ðãÅ­ó²Id\8f\14\ fI7MÈ<\ 2\8f\8e¾\rÛ\Â\ fÑ\9a¿JÚ<4\1f\9cÄ\1f\9eu\82ÁòVËÅÈ\8cÖ\93{\ 6±*\ 5*7ÐÈ\9fã\85?Äþ²oG\91&à °\rçf\96pðñ\a\82\1aYÃùàØ\ 6XÁ·Ä\1f        9ʨ|Fw#t\vKí}\1d\13\10\ fÏ·UX\94]¯£Çé\¿\84<\9e\94»´¢\90×£y w\18efhÀ=ð-\ 3WlÂWÂo¾\11O¼Y\88\86\v>¦g\=\8eÚcÂ\83CÙG\9e\80\94·f4ÞiÚ! ï×\9c&Ao\9b]i%@ò/°E¢Jòy£\15\82ïÖí¤ç7^\97\ f\7f\90j\ f\9e/\84Ùö\9e)³Âê­uÒó-\9eng^l\9b½Û\94ð\85.)tÊ4ï\eKäÇ\82\8b\84\1f \98\7fkÈ5G\89üáÌþ\1c\93×%iL\14)ØhÍX5\ 6¸\8ab\89¹´ÎØ|ê\p\82\9cT^B\1aÐ\12\84u\9a\98\ 2\ f\ 4ë\ 1ª\r \rA5\80\86¥\12x\11t`l\82u\ 4\86§\1ao`\93 \1eêy\90\88\9f¦ss¦·çW*;\88z\15\ 24\97À\ 5?ì% â¾ÛBc#Õ"÷Y´3¡\ 1ûv@ïv:)°\1fòFºØ\8a\9cqx/Àîó\ f@k\99\1e\8ag8p\ e\80¨v÷Æ\96[qåô|\ 5©w\82V­q?\a«<\15öó@S\87\95pSÈå\1dKÅ¡HA\9f\9eôø%\9f²\a¡ûý\0\97µÊi!*¸ø2\18\0ÐÇ\9e\85¢Tø$Ý\b\r|a69®¬þ\8cÞ¼\15õ\90¤\b±cJ&ϳü 4_xÑVA5éø\96p\r \a\9f\ 6»\18      \ 2¹¨\9aì¬\fØ\8f\9cC(þ \9bY\16ÖÖ\89)MÉ\986\92çj\b©\e}-½¥\11gP TÅÒ\13´\9e\82Qm¢üHñå\14\83öÍ_`^¦\852éýÞ!¤ÀЬÓ\ 4hYá%ÿ(¤Iã¬\vôÐ1W±õ\95wÐCÎ÷I\7f\8c­BdËAîD,Äôê°¯r]²/~\91ó\vè\ 5*¿É\ 2Àþçf\16¸C²LÙ\85ÕÁÌ-r{S\91&ípæ\14\8dÆ\1e¹;=\84\b\e7A\85¹UÐQ!\9d¼\83ÎÔw0Ü=\90Æ\88³/\8a\»â\87¦\95\ e\86¯a\8e\19A\f\9e8\9aA\7f\1a»õ\f«¬Y"@ë!)Q-d@ø
+\1dLI*£­e\89«Vîø«ånôÃê©C\ 4Z\ 3
+´bm\9aÀ½\90É+!M¯2äo¡£\9cÒ¡Ià\bì!¼$K¬\8bÞæP\e\81WP>a\89ÌH+lîÉ\92. Dè³íç9zO\92&X­bÉ\17ßvdð\10Ä6¦\ 2@\ 3ƶ|Ö%üI%FS2ï\9f\7f}7¡Ò{\99\91\11-üÃ
+Ißù\18@\94ïÄ8\ 4)j\ f)a²\ 3\17     ÑøáÚÁ\f\13¥í`\1cf\1e\9e²éú\83È\0\e\90v]û£ºÖ®Ä|¥ä¦£Cà`±Y\16\ 1¡Èh^ç\0\9fÞ\ 5³3\92\ 3bJ\11gðÆ\84¼{Î\ 4\87í\87O¶$\96Fÿ¤<9;.PC/G\863\17\96[\1f\ 2éçÚ\90h\10hEÆ\14»¿ä\8eüT½*<\96û\1a)ÊõçSy\ ek"¨\869³3¹½wÄVP¢\1e\9cùÁt·<ô\98·w\80¹\9a¯ÂK´å׿'\81­\a|\19i5\0\a +XyðäȪ^=\90Ó\ 1¶Ç¤§ÏÈÉFñÃ\82X ç\80\9a\1f\ 5Ë2\1e ñç\9aÑæà¼\12\8c·à1\80W\8a<6£æJ 3\94ÆÏ+\87Á>yp»bݦð\94¾\12¢\9e\8c,?\b\16\89°`\ 1\99\8aN\8b8}Ö     DdX9Ë\9cÃpD§\86\15\11ÿéP\9b\8c\1ax\19\7f\81\9aha\89\ 6ܦßÓ\81\ 1áÙß\9freG\16E&\94>\ 3^\93Ïs{\1dÑèTyàØ\8fÌ\86ËÍØÍïPÔ\88ÀÖ\ f\81\1fSt~ó\9bÎ\127\83½\1eX¤@Z\ 3\8b\ f\1d\12{\r±:Á¸\87ôXP'qTÓQßjej\83\7fØÍ~¤Qa9[§¾Zp\v\1aµ®\9d»"\ 5±\ eÏ]\12\90Õ\87¤m\ 38¾¯Oïm\15\10º,Á4\19¹{ECp'§Â1\82Ha\ 4\85t@hþõŲ\97\J£4ÉJ\1e¹>Ö¨æÍ\8df\14-)Óiz,J£\ 5ÙB©(\84}\91Bȵ©:\84ô@¶ô$l|\8e'\7f,tI<\9bÙa\10#amÖ¢[ Cí\86tØEX\8b\12â\84)\97ªcì&\89\96öæ\89t\81»7ïç\9b÷¡\9a/ å\9f\9a-£ó6»GátÖ¾8Vèù¥s\e×\1d\88~\88\94Î\ 6\99=²ÃÍ*3W7\80j²&3F5\18É1V±\ 5÷¶õp\f-ÞWÎèÜÅø\bä0_\87\14¹v\8f¦\r\ e#«1FlÐ\97\17\96iþ"d\89ü)<ØDz3\98'ª[»\8dï@©þi`\ 3Á}`üeïÿD\13KK#swV`µ\85:O=ñâCÃb&-Woj0\85óÕÐi[ÂÓo¿·\ 1j"á,n
+ü^ì]L\9dk\81\97T=\12Â?ãÀ\82Ã.èT:¿\96è7EÉMß\bº­\82¶+\1amÞÆ©KL\9aóX\85\89\88½\ 6\16UGð\8ef\vuQÑM\0üÔ°K\ 4#ó`\94\89§'î\83´*\12\89'n³\8c\ eíp\97\98\17lb2a"[.UÎ.¶eæ§Õ\1c6üd¬XwRýØ\98ÁP&g@\18\1c\8c\8aô*\ 6z¦Ùó}ª\r·HÕúÌÑcÇRÈ<­çúÖ>ë6Ãô\ 4{)Çn!廳\19UödvU¸?\19ØÊñ6cÚ\ 38\8bH\8b§ÍQtÁà\1e\ 6\84\84KU¥|\ 3?~ãX\ 2\\9cÔÉ\b¼6fa\83å5Ïë\97g^¦4Óg\81;IµKº\14\12ø|\ 2\14Èn¦÷HðÀS\8br\94\ e¼\12\9as®T¾\8fzÕîÈÒKÙè÷[Eàű\13¨TV\8fwÕa(ðëÑkã/jC8¾/\b\86´¤ôýZ­À³î;üºÜ,¤'|\15i÷l\8cn"C\1eý>\\ 5¤¥ô!}\8f\82Ë9§L\9aê_%»\r§\93z
+[8·\17ªó\19Õ!RO!è]\85RO<ÿì\16]£ui\8fcG\9eg\91×ý±\15±t¤\0ÌÎ\ 4w¶?1y\ 5\1e\ 6\18\16VI«Ï̦ñI(öÏ\eIHS\17\90-«ôbèôÒWÖ-\8dT¬Ð¥\ 6ê\81Ôw1\1c\8bbàIk]w,ãR\8d\ fÕá
+]Ù     l R\8f
+MfEK\82á\8bö¨Tp[=â\80o
+6ÃÙPd4W\84:\9e\18þ©LîiY_\8a³Õ\8bõx\85Ð\84\r_fa\98´\84í\98Ë\vÌÐ\8bÒ¯\965Gß\86"5¸\86¬(»ñÆ    M\94©\85\9aOò¡IÒ/TH÷Óá`Ö\19æx\95ðD\8fÜF³X%\8bs/`\9a-8 \12q\18mraú1lq[Ëc6¢(\vH\84×\b<\9fþ ê³ØDyo\82\85/Þ/nbÌ=¤:«N\fi\12ãÚÙãIì\82·/â\bi\9d6\84#¬Úm(V\95üBÓâ òÎö\ 6µü\93\9bƪdÀ[ú¢`\86Ï\bª\90 ×¢&Ï>\90ë¦óT´ö|¼\866¨õb¶aæ¨5á\1e\1e´\87ÝBòÁ&\88z\81­3ÂÏù;\9d\13\aµb3¬jl\84³-\ 1èÜ\8a\0ùÙ\1f\87yõÆ\97Qlî\ 5æ6ÔÓÔÏF×ÔÒø¥ë\\ 2 \ eÄ^R\86ÊMlÊ\15\1c\87Ù\8c|¿vÔ\17(\a°f\80÷k7³Eï³Z`î¦A²\90)7d+\15\89á%\15D\ 1\1f\0-ªä,ÞL¥\ fãÔF\ 4õ\96÷¦>h\9fîg^W©\9dAã²Ü\r\ 2\87\9d\85MIEÝ¡ñ{¹×»%5°\93Y¼Æd\9aù#ª\8cè0aä\88Ñ\85fÌSm7Ê1WQ±²\7f\9e3\r\10\vÅsN\87\13¬\91«ù4ë\10¹²@\82\8bÞr\8a»¼\86£\ f;\vé:\90ic=1\8c\17Ŭ\82\1aöñêj\8ev"-ù Rü-\98ð,ËïF\ f#=²k\87­\ 6\8bÄE\ eð\15\eV<¥¹\ eo\829*,*ìbÁ'ëNqQC-Å\ 5t#\99\ eõ_)³Þj~¶\ 4\90\ 3\9a\99\eé\1e}C\r#\16Ô]Z7p\9e¤9\98?$"G\1d\1c\87Î\86\97\ 4\81\85\fÝ[Êb_ç·\8e\81\v{¼|];A\8b¶xø´\93¥\1d$Ýþ\12âûþ/\15Yò¡\9d>\ 4\1e\83î\13Ð*ý{Òá\96D-r\12XeÐEÕ\9fg\a\8bB~\19£kÛ      \9f\Î.©«ÎCW\800?Aßälû<,Ï#B\ 3ãê\96([µY
+\8a£õ\9c÷"\9bCóS Î\ 3\83"\16Ð\a\r\ 3¸ÇùJ\0ì\80\80ÅË*\bÝ\8bûÀ\ f\93ã\98ê\ e\82X|i\r\vöT\ 3J\10Co\83d*6JÝCÈ\ 59æ»OpÝabÜû:\80£.Ñæh³'\9e\90MÈ¡s\95x\ 3Õ¤fR£ZM«\9d9vò\1a¾ë×\82LX\97
\ f\1e¦ÆÙºÇ7ñ\90mN¾\9d¾\eÆC)¿\0RU[qñº\8dAY³.\83hÆ?\99£ôycâR\81\ 35\88\95Þ\82bhÌ
+*Û4\1cyS\9aÍíÒÄPUð\19Ñò>6\92º×~mÜâ¸y\9a\84c\10¢B-L\86.©þïnáö \8a|Áp*s: á \14Ø\89\89\ 3\8a\9e\19ÒÀ\8d{ZÞ¾\18 ¢6\15\96\87\rà\ 4\1f¶³,-Âó\7føC¢ØsÕ7\9e\17KmU\ 5\9c\11ÊMío÷\1cc¸¢3,7¡ÕÄ\ 3\93êíô`Î{)âoÆñ+U®°Åâf\11h-i\81kæÿß2\1fyxìRôÒ©xÝM\ 35\ 6ñ(yIu\91rQw\93<\19\vGVS\16ä\17\1f0y!£\96:.Cð×\\91Ë\9c\10ï¿ä
+À7\8dCUå\r\ e}\8bué1£ò\a­Ê÷l>Cå,ðSì@\1côÌ»æÌà"&¡\89ÜBÑ\88:E5$Å\ 4\e\95[Ш{\7f\1e%\1eøuÎ\0ç_cºRÉ&·ÔÁÎè\8b»óü¤;¾\ f
+Qá\9b\8d1H©\?D\ 5^tÜgæú\87é»\1dª.кMõpç\83ú(,ªWT\8bí-\91\18ä°xk'¾À\9b÷\aé7<¬Û\87¿Tý\88\ 1\14J±nb2ìü\12        A1ÅIécª@\8aö\ 3{wX².\97µëÍþÛÿØÿÞÿ´Vÿ³5ÿÝs9÷ýn¡8'@çÝ\85\93®K\r&|:ÿ¿$:þYÅj½ßT2hP´6zè{óHTØ¡¢b\15Ì<ªÊÃ\85\95ù86Úí`¯iþ9`<Hà=p\87\ f\9dÙ¥\16\ùöõ2\ 6sPo\11FoW\15"M\8a\9c¾]Á\98üB£®àÚûÜm\8dº%\86Ì\ 63BÄ0\91³\83\7f\wËeT\84\aeT\16%\9e·Ä\8a5\8dÄ~æ\8e{Ãú\e|;iÑûxþ\82Þ>ºæ>)\98ÌiÙJ!\9a|¨g\ 3&3Hðûc\14ØT.ì\84\9aî1MüN\89\8c\11A\9dØ]E\8fÈ\aÜÝÔ`ü¡\88Î6Ý«¤â\92\98\ 5{\1cæl$xµv,\9eêÙã×\91\8b\80ôÀbà=(\15\15\8c«®C'ò0à,\12f       \930Å:Wm«¹éæ\eSËrç\9feY·\163x\19\1au·C\ 3.R¨.S\0\9a{ùÈÆïÁ\84r÷èñ·\80òaÏv(âêÁÞ¤Ç'ê±\10À׫\83ûèoÀ\8b¿\b¤\93¿­ïzùãìO\0v\8aqg§6no³Ó\95ö\94\fÎXC\8b*'¸\86iÃêC\12c<ï\1f<\ 2`#Ë)Âo°;O\80uh\9b\89ËQ²m\90ò°Ó\ 3Р\9d\ 5_óÁ\9eí8X\96ï§\98'¦¾\1a»'Z» }AÅEÉ\97Æ\95   ÙÏ_iàè\84\86L\eZÅæÃ\ eNÅ<½¹äC\8f[LÙ"ï*\ 2\89.\15@ð\´\98\92óHÙY\15>BðÚ\93\9b>飮;\ eë\1cë\8eÅ)p\90¹à\ 2a(Ì\11G6\16\9b*ɵ7rÅ\1d\9eV$;´ ·¶ÙD\9eÂ\e|Aom±^\7f\ 6k;Mܯ\13JÞ÷ýÃØø\85½@ù¬G¯\ 6LÙ9V.Úy(ó¼\f\8d\ fkѲn÷h\ 5C%º\rË\19º\8bUe>K\ 1\89à$ÐV®¹\11ºM ;N\0tqè\9a©\9a\1d\15\vW\9b±lÒúJ¤³¦ô4`os/\9aòÑ{8¦6\13¿\94¡\96¬\ 1[)S1Û°+\98/I\1f\9bX\e¢\88Í[E]\98²ËÎjä\83%Z)\ 6à7Eaa{\10
+¡î)\17q¯õ\9eîçv`\1cxäLÊï*\82\88\1dil\87{`«`gÙ\89P\1f¢\82Z'ÎÁ¼\1e+ÞX\ 1\8fû\8fY\1cÒ[;ME»'\¦=Ú¦Á\1emÄÆm\93¥I%YêÃ\ 1ÒE_ð\14ìê\vjICØÒK¥\9eå\86d\85^h]b?$·#±CU«\85\88ñJâ=t\1cGêù·\18\8f\9f[\10»ïúâ\17\9b\a\10£íöÖo,î÷:\9e\85øAFÔgÄy\988\8f\e¤Ð\8c\8d\905[|s(òÀF \aD\9ao9\97\18\89\96\83¹B\85Át\e\14ßM¹1´iA:\12\ 3ð\13W'ÓYô\rE.\ fu«úð¿}Ëýø_*®\17³6\17ý\1foü0¾*Ó\vúoýa|žWöÞ×úá\7fÑå~ü/\99·Êü\9fÿ0½m\89ûñEÕ\11\ 4ï\98ι,\88\89Â]rbJ\86ï
+5\19©"µ\80B\93Z?\b³\18öß&0\92Ò\b\s2ÂB@\82V.t[¯\1c{î¹7\18÷Ú<ë\8aUÍBØôj[`tÓÚ2 &æp6JåMi\ 5Á²H5¥<ÔnY\e}\93\9c\8fbïdåÜ\82\13ØÞ<Äh¦;\9a\12ñæÔn~Yüy¶i9]j£\12\13\10C\v¾+V\9f±\16{;K\84o\ fÊ\8eCT2Àn¤ÄÓhRìu½        ÿ\12\ 4\v5-\12©`ÝsX9×ÚÔO\b\\80\8e¹¬Rô_÷ï\a°+\8f\1e\9b\8f\f¥\91Îܺï³X&Ï7%vÓÏ
+nn\12\ 4[\95à|±7\9fæ\ e~½dgÙ©CHL1Ã\bñ\ 2\11ú8\1dB«Í\ e\1a\vû\11\1aQ\ 4u.¦\85@<\11\9báZ¯}Òñ\13¯= tèu\9bv\ 2\8dÑ;©WÝ´@#\96°hè'\0$\1a¿\80¨÷ IEø\ 4#üñEá\15eªÂG\9bÓ)k\19\ 2Ô·\84KV®;Â$yÛR\ 5\1càª\ 5è³\89\83ÊÿÎlP¥\90\11à#×\8e\84í;á\8a[E66ð3EX\ fÆYð\ 2±\83-Y@Ùï\f\ 4»\8d(ÔP©ôïhw\9eaw\11\8bïzC¼"\1e£Ø\8a\18ËF[d¬\1fïÛAÀGõÞj\87¡ü)­R_»\ 1:1Ì\83\10ÜuHñ¶!äQ\92À\ 1_1È\86\ 6òHÈK\12\8b\11¬é\14\85¥ÆØ\81Lõ%\9d\b\1dõ©7¦\17wÌ1\90è
+ÉG\12Â|\7f8¤&<.lXÒXÀÃÆ´\9bô¢¨#w\ 1ó=Ç\ 4ÂuÂSè\12¬Ð¶m\86Ø\ 3\94«¢\88 \9d\8dâ"'\aÐ\1f.\1a"9YJD#x@k«\83ÂsÊ\1dM[ê=h\1cqFj­@aa\8c\ 1\84=S]k\14ãÂ¥Ù\82y¤ m9¿Jü=\89ü\99\15õáµ\9aáðN59QcÆd#9*\8c|ð#)o0ôA÷zÿ\1cÙæá:Î\r¥ÍRÅ\ eæøasxÛÄzO\b¨dÆý\19Íþ\9dmsðÄn/oôCyz°ìð\81õN\84\8dálRë\ 2\ 2¥È\ 2*\9e-\18\14\85±\a±:(t\14\80sZ\8a\ e\ 1.Õ¿Á)¥µ¥Qμ)\92Á¬[\ e×û\89^ôéùÞuå\83\857X\83\11\87öÅÎ.§Çç  \ 5¾UزÊd<\19 äé´F>sáXÆ8\8dÅ~Þ5x=3f\8fW¢q¯\ 5\98\ 1}\19T]Ë@Öâáaº´9®å¿Q=Ï\10w!\1eI\rúõ}\1f\10\82>\10ï×\14\8eéaÜhA·ÁÑvËÛ\1f=dc\90qÀÅ-ã¯\8a\95WGn\ 6´\ 3Gz£Èó!^>\99ö!ØUý\10N\rç¡\ñÕ\17żñýMðÄ\9cù!Þ\8b0áà¼\vá\1a`\9e\b>áP\9es\ f¯\1fò\ 6ÌÒw.\12§Jæm)\92®\ 6wØ®½S6®½\9b¹lÚºHÜðR\b\8dÇm]+ï\9aÁÝ´¿\95ÃÖQÃ\87\1fjÀîñ\9c\1cà\14\7f\8e\ 5# ö\94\9c\1aá´k79¢ìtcÛFǹ˼Õ_Ëçzs\93.Ç"\9f;ØO\96o±¡Î¯z\r\ 2öÀL\80\ 3©@¬\88\81î\18Ýê\8c7=\11ªep\90Wàz\18Ý\8cÃyË+w¾<¶|°³\8e\16\b/¨ã3Ê\ fOëÜoBéÇÊ8"4\95R¥y©ûLù¤Ùù\88ðB\88î\rÆ\a\ 33\ 4jjùáÜ_ú¨s~nÞ\877ú$I©\97¿ì¡ÍÿRô­\ e\eâÇû´9¿³Z\13¯\8f÷hs{E¡:xÿü£^;ÕÝ\r\ 3~K3ÛÚ&\8d²ëãî(h\1f\9d\1fþÔ4\f\19ì=j\1a\ 6M¹WwC@ö\17\95hh\e\98\8bz\1a\a{þz\1a\aÄCúhh\1eßû\91\9d\7fö\8aÅ»\81\8b\83ÛaÆ8v͸\99\9f\10Z\8b\ 6\8aÿ\9d\10\83éÿ¾\88Aï­Q´þVóü(\84\1e\95\7fþè\84\1eº;£D ä\1fG,L2ñË\13\f¼wüPåòì\9dù×\8fê¡ü\7fVñû¨\7f\1fexýÔ?\8f\1d\85\8cGΡ\9e\7fÁcçÿE\v³Ýr¡#kµ{Tbãpo\87Ô\ eÇ^cnÜn\ f·\8dç8Ü\1en6\e\8dÁÎÆ«¶\8dY0v ª\1e\87\92v¿\9cþ\97\e\86=\vW÷hZ\1c*\fç\r\96\0Ë#è*\ 6qv\12~¹ga'ÁD®Á/Å® Ê\1f¾LªÜ\1ewisOÞgçµLwl\e+n>ÔÆLÁØïÁ¿Qû\83\18 ü\8c\1cb\0cAdß¼pÑÁ¼6ýg÷è7Ü:\ eV\ 1\95ÏÖÁ\f®{EG÷\12J\8fï¢ÏÝçľ\8b\1cC\9e\83\8f\8d  s\82©ßí\b\aþ9b\ 1ÿ\86Öìÿ\ 5
+ÿ÷Ý\8d.\15\vÏëo\10h^û2û\8bN\9fÈ®¿uÒ\v¯ØËêÍ:\7fÿBO_·¡-ö*\98³\ÿ¸\19\8a\8a\9eæßt@Yý\ 6#\97I\8aèÏ\9c\8e\86wÕÒ;¾~\86`\1a-sG\r<ûͨiçôp®éRCÃ\r/ùFk¥\14ËÜ¢\99{\94R\a)5' »lßsâú\997\90ë\805?Ù\82¦ó÷¨Uýµ      ³9\8eA\8a¦\83\91 Ñ£ÝÞì\96\f\9bûlw\fù¤©\90¥Õ\PÜ»\92\ 4\8b\87pÇYûâëÞìÚÏÂv\97þ\82`ÿø(a9ôë\1d%ÔÒ\8dM\8bc¤¸ÐþøÓ\86\9b\1d\8cu\82\98\aÐ\r:qA[÷À¡dw!\9f/\ej\1a\r^ú!\96\8fhG\12öØO\ fïîÐü¿z\87ñ\8dË\r\8ba?ÀÇ\9cv\91ø\85¨}¼/\9f¾\8fAÿñ÷\86Ð}}\ 4\17¾|íû®Ð7sBüúß÷G\9bpÛEÿþÆ6·rä_çekù\93 º}\87¼\82ëÎ\e\0\8b:s&Xz£~óÚk_ÛM7ìG\8côÔ&Löÿ<ÎÍ/Ù\99So\9bö\97heJßÚ\9b\ 5óæ¡¡æýþcÙþi\91빿v&ýçLc[~    ¿~\81¿|³\ 6Iܹ\8c\19Üs°\9e\1a=\aB\83>\97âÀï\91ûׯ§¡Òß\1d`\7fûC\13èúß6+óa~|÷{a\9aÊúXÿÀ×ãûrÏþm\15f]öKþ}\8e7~ÅÏãÆQ×ÐöOgµù\r\86oÂüuoo?oÊßxÙo\15¶;a#õðþ¼6'\16\87C{á\98U\:\eß\f¥6á±ú?ð¡µðØ\8d>\eÿMü$z\9fðÿ|?ß\ f÷Ãýðÿ|?ßþþ£5\fǧgO\1f\9d\1ayú|å>z\9e\8e\9e\9a\9f½§úÔþ\1d?\8bOãSì)ê©ö\94ö\14ûÚ{\1atéì©øôë¾Ë?³þ\98=0.Y¾v`·%\8a:]*¸_1\ 1\f»êõV\11¼0\14kµWe`\ 4¯?\14@|.êë\84o\14­\ f\97ú\1dþÞo\17¬­\9d×ssýÆcq!ö¼Û\18¦\99î±w\1d\1e³\9dCåðøZ_\95#tÌ$à\ 5`ýgÿÕ\e80eý\19©vÐ3µ\1fÀ¨ÙÀ\ 4¥?Ĺ@çÿÉ óýƦ'u¶¿±Q³\83\13!Ѷ3\1a¸6÷   \12¬\19\9fí\12lâ:4\7f]\ f§\16È'\9e+çáÏ~ƪ\eÏO\98~\ 5çÿZ£g\9f6JóÆýô(~yëð\9b\97\1aÙ\91JHÉæ8\18K|é\ 3æ}\15Ð\870GjÁaæúú\19u}S ²y\f\85¬(È7\97©Ë¬ÖþòÈÛ1\8b\17Ñ`«~t\8f¤õëeSÂÍ\9a¢\1a¬Éé-\8c\8b\8c-Y=\1d\a`\98Êx\18æ\v1\8e\17\93\ eïÉ\9dOb\1e\ 3à#\ 5Â\ 1ÅkÃ\9d0ÔA|yZEMF\14Ó\8cgMÖ\15~@9\1a´WC\1e^]i>\17\7fHi­®@Ï:ù©}\ 4\81­·Û®\17À\85½}ï´i;?Ù\93&I$$\99\0 â\0\98¦\v\0A\12
+ÀÈ.}3!3!\91 \ 1h¥hPIá£ê\bf(P|äp\16f}rÒ«}K¶¼£xÞW\8f·Õ|U\b\1c
+I\05\10x¨«V\14\19Z\8d\ 4\ 1D\9f\7f¿¿¿ÿ}öI\92\0%UKo9»ËíÝßnòów¡½-ç=лÐÞ¦ô÷¥»ø\ 1½-ëïà\8e÷}ø\v¿\82­8\ eÖÛmÚÆÚ¹\1a®\8fv\9aâ\14\150k\fÊ\ eµwÚÝWD\93ç\8fáLíñ\rLû@Õð\f;¤¡¶ïÖ\9c\7fj\1dª\963+Çö\1a)q­Cv'\1fe+\18\88\1aø¯\98É49Ò\1f\8b@+çª4\13¦|m\17ÿ!ÈÐ\ f\84Éa¬ñ<ùNN|\89³·BjZY󼥸Ï\9a\94\ f=Uua÷\1a\8aç³Ú_\9d\v\e\ e´\86\81Ú\12ù¦ö3¼<j\9c3\ 4p(U)*\9dl²!\ 1Ù\æ\98*vÍ\8d\13\1c\16r\ 6\8cÏMs\9eçL\ 6fvwOÒ<t\fø#\9a,_­LÂ\1fO\9f¥\93÷²f\91!.\8b\f±3\82Lü!t\97H\98wXô¾ú\9c¥"\11\1cåÆ]ÝKý\11½·³bÓ,é\96\85\80\1fîf§_ƹ~p\¡+£Ck×\90ÅÞ¯\Æ.õ$\81Û±\8c×D¿|<\81ÕÃw\f\13»èRò\9b\a\15f\1eAfת¹Ç\8ba\1eüT\198¾,\8f_\14Ù\ 5Ùr7\ 5ç!£\1fádad\ eÙ§ëx¾\16ä´`í,\14 \94nîw¡`Õ+\18k\b\1aZ\ 5u$é\9c.p0,ª9b"\e»À\155\0(\v\84tÍìu\1e\8d{êUò\97êr2\97\12É\e®È\8e¦é´S\83´vÞ.21\18B@n\1fÇy¼$\ 6Ë\19JÃm!\1d½G¥Iñ"\83ÃI\1a\13ÑW\1dë\17¨ã3cIÍm\r\85ÕÖóá¤3½_6´\94\97\r¡²Öö\8ai3J¤eßJ
+ÔBs×:S \13bW     ¿Í\94*\96êæ\19cjqK^+\ f\80\1eoÈf\86vl´2Ú½\8fLР17r­Ý\ e\ 3\9cܼ\91êÆ+\82\ 2;·b<\12ðÅdÎ\11\ fó\ e\ e\86ûç\0ñ|D\1a\0ÐØ\94\10É\9e&\9d_\8a¼\92\f¸Q¿)ÁsG\92ñ|÷û©r\11Z/\r\8bo]ȶÙr\93â¹\ f\9c\9c\91L\1d\vÃE0Vlß]BRQL|\93ÅÑL~3¹;(\99«ª_e~\14\14\ 2\91\92Õëm\115\8aJèM\8c]Î8¥3ü\8eí¦$H"\ 6\96qx®:ý\1d;\10Htã3Í«ñÎ\16\ e\11ÐgaÑ_\93\ 5Éé>ÃúdånÂq\9cÛ_NUô\81'òÖÒ\94;X\19Ýëøóx\ 5(­×|\9a\8e\98\fá\8f°\96\v\8c)¾ç\14ñæðk3¬?-L\87N\892æ%HV\8b§ø\13*NLÚ%®y
+e\1e¼;§¡v3\87¾)\85\14H.@\92\18\ 2¸\89ý0)ôÒ¡\bp+»ð=\ 1)\ f\8eÞAß\9f\9fºG\9e\16ü\9fá'¡Ê`,\7f\ 1r\19ïM÷\89\9b§yµ®mAtÁ\ 1õ\97\ 2\7f$Õ,y¨=z£\15Ô\1c\7fK\8f]ýFf8\8f\83`\19\9a\ 4\0Æph\W¬Ô\fn\81Ãd-0 `3f\119*s£W\12¯¢öB³ñ¯v}Þ\9c"D
\8còr\9f\83ïÝ­Ýø&ÔRVD+\94¡³\81ÄÎçÙ\11êv¢èÓȺ>Ä\9b£DM5\1dÚÇ\b(®ßî×KéJi]Gp\8fbø¦±´¦Ü-3\1dç\812\17ö¾ª\1313¯´}Ã\99¤¹Û\93\8eO\99\93\1eÛøÿh=@È]\89«F%%\0b1\ 45Foß¾YÀ´òÙT ¢\8cd>ÄH7g\88w\97\86w\90^å@\9fó5ÖõKhLï?\ fªºÐ=·â\ 2\ e\13\8eÌ#ÖkÁ¡A­(\91å\1cÁ\98"vX\ 3\bùdÐz( EÐ8wY Ã;¬ÒaßÅÀ9ù\11\89\88       ÎRº3§~¿?\8e\97\11ö5ó\88W\8a*\9c4)g´NððJ¾gÞÐÉ\83\vuä2l'*¦p\7f[µÚjGN^²\8c\7fI\8e\vÌýÆ\97Hq»<?{àÒï|]\80æ#ºêE   ÓÜ\17\1aÚÕ\893Qi#vkÞu$Â6D\ e.!d "Û\9dÆ\12¸l§õbÖ\18    A1¨ÁP\e\b§$\È]\9f3\ 3ÌN°¥åH¬÷\88q\7f\8cä;öëlqÓõ'J#\84J¨C#¹Á\12\9dô\87>εòÃ5\8b\8a*'\8atqÑ~áN\9c£ÒìTÐüÍE¾xýô^xç8Ù<\ e\ 3\1ag\ 1¯\91#®w*tÿöZÿ\99\a7\0Üè¶\16\834A§\8f\9c.\8f\ 63r\aìÿ
+]Dö\aG\8f*âÈTa\19\17kn;ÚãÇ«Ó+*9|óú\adp\81\rÒ·ÊçÕò\910D,9Òk©ÓJX{Ç6·øó\1f¹Z\82£\99\13kC\8f=\9f%JýVÉ4Á«\90¾\90'z2\ 6[\80l2ö2_\926O\®\84|\v[åÿ\98@¹ç       d=\85cðÀ  l*.\93ó\ fu\1d\99\1en¢>yÀã\17¾\1c\13=2Vz="ïÁ\7f,44ßjñ\0S¼5y\10o\1eº\97¹Vz¼^R}§ß v\82¦Y¼\8aø\7f{ÑHnÂ\90ûf¥×<ͱA¹ºÐ·mÜçM<ñÃÛ¾uL¯\98>\8bTé¤'ßÞI¡¿â¨Ö\9f¿\89îq¶ê
+´      \ 2¿Jõ;'^¦\91 \12Oÿ²\860Äáש£¾$\99û±Z{M¼+'Í7ø\7fPHUʺbÚs\C6ã\9a A\92}]».<²t\9f¾Y[%8?úJa
+Ù)'È)CÒ\85\1dKysAiÿq'Ä\13×:PïyZP\8alc6ïG\ 6\9f\15}Y)ñV\82é>*%\0à9¿gñê<\ 5=\ et´uÓ\15`\13æ\8b\14\8d\1dý£c?ú\
+º;¼¤\9d-\eæ\9c2ÑÂ\8bèâË\9b£\84G/^ÄI\92\ 32ª»l.gB\9f£\fP
+æC\81¯\8f\93Éø\v±>%)\84\ f\9f×Y4Ͳº$s5Ø\9e¾ðØ\9e¼\9c\ 3­]\89Þ¨Õ\18\ 5\94¥À§éÈbvíµõb \7f7JE\94G\8a%£41<B¥\86Ì\97u9"ÅæTü}}h¬\99[l?b\94\8e²"Ç#Kq°OH\81T^Ñ\1d:ÅÖb\ 5\ 3ÿ\92ÅRâýS<\ 4\7fF'\16c¶þ\91\3G\1f\0\9a¼\14²E\0M\eã(R(8À­\17ô\ 5\0\dÕ/Sú*
+²A=\ fG\ 1=\v\88\8aá\87fK»JÚ\15Â\82Ö\16\8eߢ¢^$ 7vëm\ 3èý]jQ¼Õ5óaüÏ\16\16\991ïÒ\18\7f\1c?\85\ 3\7f×\9a¾/\0§Oe[õñϸ+\eO\1fSê0«1\85\ 4\17ó§¡ W#\9b\938\ 3@³DF©\94Síó\88Fo¢XJCÇkafN\ 5\83
+\e\0rD«@æ\8dK\91J3À¾ú\8fûU\7fùÅ\7fòÊÿóªÿÄW\97uêÿæ\95ÿç\95ÿÍ\81>\88Wÿ8B}\ eõÎ\8apDú°\80.\7f¬ä\9bz\89#*ªLtf⾨v±-=h\96mK´CÕ{0gøTÝ,1ɼõ\\9b·¯\9bxJ,:\ôÓÁh\84Y\18\96Yÿ=ö%U9Q-Føè\85}÷"\95u\\\ eѦ\8e±\12w#Ô>\8a\1a\90\8bcuÏ*òb\9dbi\1d\ 4Ò\87Ð×[_\17ÅȾòóæÆ\83ÛþÑa
+\ 5îî8   }W¢\19\8f\88{ߪ©]mà\84z ýL,ëäç8X³ì·à\vD.uüwu¡E¶\85Ҷפ
+\8eEÝMQDô%Dz\9aØ\18Ü\9bxMÎÐtÖYr÷\96\13\96X!\\16fÛÅm¯wÐ[Yü$\80Ì·¢OP\ 6¸ëÐ1\1fÐC\0­m°\9eò\107\8e~p/\ egY<¢
+\bu9Ì¢2\8f°\16ÈN_ÇHò\8f«,\8a\84\1f\82.\f*ðùJ¢ÞBÛ/Q\1f¬W+ºÆð°Ë\|ùÜn¬\ 4ämÞK\89D\foZÞ\14Ëm} ¸\ f05\82\0f­¼O\8cÝÃ&\a®:{áP³ß§j\1f²{m\81ü+rcª\8bBÛadé+M']U\13Þ\9eÒ|ó\93\ 2²&\f\9eȨ\9bn®¸\98\92ðXÔB\9e\85(G \9a\11b6°Ïª}\a=
+\9d\90î\83Ø8D!TsÈS»¹0Ø{v Ó\11vCõ\83á÷Ë\ fR6H\ f2\8bB\18GÛÔ\1e\93\96 IÆ\9a\8d^^Ýo8\87\98ûuq\15\0\90]Å(\bÎ\11|\93wA§n\a\ f{]\ 4ÅÔU{\8b*4L¦\eÜ^%ÊWÑCa9¶\87K@)£½s'Tþ\1e\9a\80¤Ç>ã\98ª\19\13=ÿ\18\88SËC´\97Ü-7@ß\8dqWÍZOóiÛ¾\ 4\86Ðó\r\12ºR¾Ò\\9d\13Øù\81\1aS·7f%Ní\14¡hv\Ôø¥¼\8að»§¢[É=\e#\86/\1dcão\ 4Q²8zÇØU\87¾7>´`UЮìù\8a\eg âØ\84\15\96×5Cw<¶²\1dJ\1aÙçqÚ\9a\a[\9efà&ýºÔ³Õû\17t\82AOÈcYmxصÛÄid?êéEÚ\8f\95\83ÔŰ\91\b]6£»\99\19ëw\19"&`\15þ/Ðýö\87u+FÎ\15öƬ¢\r\82Ä\96\15æU\95b\8fæ¶À\1d\95\99ÙY\91à\ 1¶ûUÇm\ 2\1f²ÒÅ«ñ\10ëqßDú@\7fy{î!üê\9dñ°\18\ 1R\18\9b¨¸\8eT\8f\11Î'qN\13\80õâÕ¡\810\16ÊqjÏ\8b+Yµ|¶5\7f\8cÑ\82*³ùß\b\99\ 2ìjü4Y\ fä\8a\8eú.ÊXÚ\ 4Q:\90WÖLǶ\85\9bè¾ôÚ
+lþ/¤\915\ fên\f\80ùûÀ\8f\81(+O\8bª7gUÞ\9a¹x×Å;!\8d\85ûRs¦ñã\98ºäê\8e;\18j\ 5\7f¥K\87m¯Ëá\88ðDþÿ¼t\9a cêz£\9cX¶¿Ù\89?]`\9c©\7fS\12Â%{\87(,\8d\9fô\8e\93Øorßm
+\ 6\böÜcp\1e\18Ч°\fW\ 19äOßÏ]¢\8d\9e\9e)\86~ñàâW¨2N\8c¡\÷·\16\9384\ e&[·ñ3»õr¦¬ò¤¨ºòwg\91òa\82\ 1~ÌBÇ\97\ 4×¶Å-P\9c\86Yá¼W2gË-§ùìJî\0´¡\7f½ÞfÖ_ßaΠ     ¢\883«4\83\9døi/h(3Â.MmA\13.ÒYõ|S%ñäûªùtJùS$\11\87\94dAwðe6òhا~­\82È\96ªùK\9d\87\9e\97cq?ß\16\99VÙ!Ñ{\8f\8bbÁHñµü\84þ7ëè\104È8U\85ÌD$©ß<©0;é\1c\14$yô\90(íÃ\83 µ]@Ë»^À\9dÎ"K\rØ\9e\e\12RyÁ«dËá\16\16´\91Ûæ
+W\88WΩҲÁغ²\83\89&\ f\96§?ìÛÛ\89N¤RJ\9d\97Ȧ\17\15æSë\89ÓCm¯°W\88\0\8c=\ 2\13G»3\17æ,³7       G¤w°fõµ-v§w¦\95J\1d\9c5­x _ù®¶ÐE\91\9f\ eÀª\94\11\88TH\83\1a¸6\ 2uçÅbF\13oð\ 2´ý\ 6ê\88ìI¹|\ 2é'\ 1\9bzûYÞ\1eê&õ\9b­±P\13½\18\90\85\ 2´\ f\ 4Mï´\94TxÊQOUñ¥±à³Aõë\9a4Þ#\12h¬kcêäcæBPï\eÄÛO%\15\1e2ÆÊàVMÞ§akö\17\1a\14;\9c¿\ 4rÆ­Ö\9c       Fü:ñ\97Å\93\18ÁU$^ÆD\vAäç\1e*<G\8fÎ\0´%\15İÃ\0·ãü\91\9eF(¤Ñ­e\16Æ\A\8c\9e§\ 2\8b\ 1ìU¼      ½\97\9e;
+<\ 5\ f®\ 1TÓ*oE\91Í!\10ïä>â\14¦ep\1e\1eÄÿêùè\91ç¢G\9d»m\96öý¤½\17\96\f¹\8b#ófÛ/×\80E½Ç
+¾²\ fLÛe\9dpßI\89\164\vp\87\ 4ª¶)rR\9f\15ÎÁßà\9f\91\97D8\7f£\10\8fýãÉ\89µf./\88À\8a·\ 5ª\92Û\1d0¿ó¤®Lû\18(§âÙ\1a\16 ì¼\8fo\16\ fb\8f\13ò6t¨\95ò¶¾W\1aá¹g\9e\94\9cõm'=þ:NöÉÖ\97f[Ò'\ 3\ 4RN°y\81ÑìB¨LFëæ-¤ý2\97¸\9eǤàÄÞïÒ%VÈ]\8bhB\80¦®<\95\8d"`çjv\96«a׸"x76Jäµ½½ÔQ£\ 6,~B \94\ 2bæ80IØ<{OÝWI/¬­\97Òq\82Ѷ\90DY.«ûM©ïÎ~\8e\80'wªï\1d@ÄïÛÄý\r¢{\r\ 4ó\87±\1c\1a\7fµÐÅ\96\96x£O*àòs³Õ       Ú\83\8dö\8d¼\81\9d´~\9c     ¹\85>÷<Sê¬\84@LI\ 6§hî\94,(tÌÍ»Ò\17·ßfå°Y0\9bkÎP\82"Z6¯´\9b\ 4Q.v)Rì\9f<]úöa(yæ{ô¦)Y áZÎ\9aAÈóË$®z­Ü\1cJ¼À\918\9d\8abÖ´\ 5\83­âp0\rÃÂidЧÔ\90@b\bõ4Ó\ e\vR­Èܲ8Åæ\8a¯\98\1dNnqgy¢þ?Û\ 6Ñf\1cÎ\8d\7f±}ª\8b\95\94(_Ì}\1e9T\84[!Ð\87Ô:°Ò^êÁL\95[\86®%\84\17\84Ë;ij¹\91ám²Âà E\7fÁ¨i¶\14\94¥F\1eÀ¦ß£l¼\9e4\94?9àY2«èC°óE\15\813,ú/Ô\98\7f\13hì§äʯhZ\ f\89³p\96ëõ¶Õzw\15î\7f,ïð\7f{{\1f©XõíB]4\87\ 4\1fP\ 5MÏÉ(\b\8câ\9a\8e/uR;íY±)\0K\vÙ0\81\a\82\7fR\fT\8bË\1cè\80\e¡­¡2ÑtP¡_\88\84à¯fv%=É\10÷(C¢\1c®\9f\83-\82¥¡õA\1d¥Ðû5ûÙr\81×¥\80 £-A0¯.í8ø 0Åðr\95\ f]\1e\9dÝ)R³åº\99\124\12\96 \93K|b$έ\eøÿ_ï\8f¯ê·Úï÷¾æNÿ2Ð}9x}³íÕ«æ\9bc`z\80\98Þ\13Ú½Oz¯ \9a åy\ 4Òö\e\80\00ÙÒÇU\1a\ fW\16\rä\9a\9dÁât«B\e x·0X´p\116il\81ë\87úcdúRp\93
+ïûAE\13mn¦!\89 \17È éOå ¤[<\1f#\11\ 1:
\1a\8a3bëÁ\1dÃY{[\92\9d\ 3\8d\94R\9c±3\91ý\94iEàs´\aâÒ\94
\9cäp\ f\9d\92u\16\95`Rñ¶wc´7tn\1d\\95¬\1c\96¸\ 4\1dÁÂÿ\15\99ÊQ7d¯\ 6ªâ©¡Mt\1d¯Ø\9aè;$ç\92G¿C\84Sc\18Î
+\9c\977ÈXSJ\1a\12زe\92°\v\9bÆåMü²ßfø\92Zô]\10uéVú\17WAÆÓ¼¸\80\96ù§á$Ti\98Å%\19å-\1eJ\fý\1f\ 6\15å(z|\87F\a\9d\ 5\8fH?-kïXß4ùõ\855\91\13Ìe\ f\ 1ÉDq´+\8eA7A\0е\ 1\r3\93\ 6ÅX"W76*ºÐ·àõÖ\9d¤Ý\86\fA\8e}úC\15Pp²g¬G\ 3ÎS\8eyÇçy\fUBñË«\b×w·b¹\97\1e\838ÛøôÒ\84\98}¥±\fQ\bq\89­)&WΨRV@®ÅÎTü\88;8Í\1c\8e\8bÝìk\14Fâo\\85Íç,9Bë\99¦­âT½\9d^ôzv\87'\8bå³nò¿\8f^^îSèÌ\9c).Ùt\82\11\\1a\ 2\10Ø\95´X,}OjW{w\10]u$ë\86ùs´>\b;sÏ¡·_\9fçì[\9fâeÎv.MÂo¦âä\¢\vÞøçCÇ»\80\9f®÷\9f̹z\9bÇ1tô\ fG¬0ÐG¶êðJW\828åÖ9pû­!N+h\8f\1a¨\81x´·y@\96é@(\94A\0\94&º¹é\10ÆÃ¸~¸ÆøU\90ò\87Â\99~­·¹ñË\88(vT\95,Êî\ 4Høër\8biÏJhw!H¶ý\8b\8bon\84Ô\82}]íö:Ìq¥â$oân¸}©JT7Ó*p"Ë\e§ mÜ\124©¹W4Ê{åÅh)\1d\97\17<=«æ\99\1cQz¦\82¨\0\ 6¼È\95\97\90òr%f\87¦ªþ \84uáz§OÑs)\15\1e!bm²Þß.î    [\8b\80¬[ßÓ"Ä^\8c\85y\95p\15ØGj+=H¨±«k¾\17©GP\7fõ|åèÎVÞ\bþ=&Úû7Y\1a\ 6ݾ-
+Ù;¸Ü1)¦ªø[l­pQ_J«\9d½\9dR~r)\97/.Ñ;5sÑö\ eÍþ«q\ 6\92=!ú-\14<5AA\13zØR²\rÏÙÝ\8b´0\0Z«·\1cP4\97»må»Î\8d^.eÃÃnB¼\1esà³æºÊÐhþ÷%\88Îr'nrH¥=\9fC\17í\86\,\86q³²\86\88@%ØO¬-1NÍ\9aW\8boD¯ü"\0\8aÿÇÁç+bo\ 6pYè¾´R\1cü\83z\bú\ es{\1fXª?§¸?<F\ f\9a y\92¥\ 2øÀ®è\91,Ú¬Rß«-Óã)'\1c\12tse^Ý«UÖÑ\15¤ÊSÉ?\8d\10%qY²\8cY2"\ 3~@ª´î7\10ôÓ,áK\12¾í³\8c\94ó\99N\16òÿ\Br>\ 3ú¥\96Îæ$!Ö\9dÅÅ\ 5\ 1?\ f\1d\8bN\88\13Åd\8fU\86È\1dh\vm\85}V\ eÀCååS«\bWÊСFÕ`ìëEmYTêÏÃg\ 6\94Ù°*2uË10y=\b\19\90ý.5iÀÿ×L\12NÎÛ^òkîD´gCa\87°4Æ»;f¤ýõmF\8ez\93sU\9a\97=É!swÉ'é:Ã<üvz\7f{\19åâ6Vio\9eÝ(\9bïXÆû­]+!d¯\94¸\1ff\95\86*ô ïÃK}â\15ð\(Éd¶=9û~G¬l\96\ 6ô|\8b!©¿ÀfáL6üÐ\ 4Ï)\81}¯Í]\8agy\vî"|Q\ 3«<­   ù(ZÏ\890s\ 39\ e\ 5ZãÄs\10ÅM\ 4\12\87gÖY;\15¬2ÿnNʪ¿õÌW©=_í7@ C\13>\1d\17²eÿ3\0\ 59WoÿN\8aß'xäèº&ݯâ³ÑF\81sÞ÷ÒÍ\13\8adR\17¤¹´Á×2ä
\1dÅ^\7f\8fÑò\96\16:ûT\96\15-Bde\9eÂ\ f\13\90\10Æ*>Õ\ 2gÂ¥ÔK¾¬Rjô{·h\86X\f«\19'¢{E\9d\99Xø\\1e\11§\81\89*6a-\19\10½#Ây=(·ÕY\a=®Â)j\eHÆ¥Ï\14Τÿí\9e\94\90¿áN\9bÊ~¢¶\ fë;\a¼M\87\82Ø3uMaØJ\99"¬ûÎ{Ó¾>áÙ}óò\8e\81\96Û¦×Y\91>«ü¸\92N!rÚjÎ\1eÕØÖ\97x\8di
+É&°ï\9blÒÙ\7f®Ö\93º\9b\91õ¯
+ÓE\18\10\ 1d?Î#\11\ 4g\e<>µÔd8­\1c3ãëe!XI«\80çD>µ\12\15\9eü\8b\98Ï&FÃͼ-Ï\vx\89H\16GÕÛ\7fÝÜì¨h\94õà\8e¼Fïë0#\b\10|¼ß@«³Z\98À\84´Ûþb\1f¯7ñ8Ít}ÝØàæùW&×\7f¾\93Ç\1f±CÉw\900\9d¼½\8fû\85¶?íVØü9YÒâ7p®¾\98¸w¥ðlUPÎã\84
+\9aÆÈãÀ¼âÞ\9eÏ4£dâÜE]\92úe;ßtµÍjzæîXÞv1\90­\99ì\97Ü\1d\82Ù\8d\92ë\ eÃú\91²\s¾"\9d\97Ù?,cÙ/l_s¿Ë\89\19\e%êQ²_Ö=\92û\96Rx\10+¯euÞ·\ 1Uµ±w­RåVÍ~'\fqKS1íÝkoð]ën»\99­»³m\7f>\ 3\b\81t\91«Þ¹\1a½mªÊ\99\ 2\94V\1eݲ\93¦\8a\võ^Eè«\fÞ;H8PìK\83«£Â6Õt'<
+åÎËÈ(;\12¿       T\8cò3eM÷\ 3¹+\e\81õöÒ´>Í\r»\e©\92F\80¦í\10\8e\ e\8f¿\aíÎ#\83\924>\J\93Ú+É_ðÊ\94\1d[\16Þ7í¬\9dÇ5\ 6NCNø[¨{ÙE´\8a¶éU\84\84óÞ\18\v\86)ûצ÷äëj\86cÂë\87JU\98}ϼ W]ÛãÖÍ¡Mò¾\1e1ú!ë2"Õú\vÃ\85Wý/\ e\18zÑ«\1e9Väý%wa\15ðúÅáèc\19\82ôV<è\9fÝ\90&\82ûÁ]ÇD=Â*>}\17\14=8Ô\9f\92\8eµ¯ne\81v³%\8c\10\88g·S\ 4µ\88z¼£<Źm
+j\89å\1c&´O1ðt4r\90°ðôôxáÕ4ãÙAΫ翯çg\a\9eð^r»\9eÑËB\9bWÍ@\8b¹Ú¶áç\95EÝF­¾y_>\14%;øöMµ?Bæ"×í±t5ÖØ\99\1d\19÷@ÇFè\12\99ùnaáw8Ìü§7&\9fdNü·a:Cÿv\89ÆJW\89æ§¡\83\8cJ·¸B^\9c\18\vJ\9e¯\fOu\93×-\17°\83\ f#\90\95ßv\ 6\89\fgg\8c\88!¥ì\9e96\ 1öM\83\9c\11{\7f_~läfõ\ 1\8b^R\8d=5lÆAÞÙ\16á%]\ 1!\ fZluYåú\ e\11Ý\16\9ed%xyPD\14\14\ fC\10\86«°*°|5xú¨\99\19éKké\\93Âp£\ 5ÉP\9fæSÆ\9aA\8a%\94I\8e¤i¹N¦«éÁêÛl>¹U¥;\rЩ´ª\92ÁùUX=µS¯:\ e\98-S\ e¼ÎÎn©¦Ò«uì\bOÆÑûUN¿Ð,\1eýQ\18\82\97¾,\1cM&Iè^\14¢m]ÛtͶ\1d\ fS\11àªê¬\1d\9dPöúU:Ú"öQkÛs¤\fÎ\ar­ìàÛOéé\19>\10\9dË-\ 4Ì,/
+Y Ñ±\15hÌig-\ 1S4ʽ\8b p]F¨ÒyFpcÊ\ fð\16\994rh\8c\94Å\ f\b«Y^*»;Êë»ëi \86{\8dâuß©\7fN\1fÝà­Î=Áû\11Ç\16Æjf&QÈþãÑc\9b¹àX\9d3籩¯\11¾|Ðè\8f\ 2kd´Ü\10òx¿²åñ\7fÞ[/é\92Ä\ 4{s\ 6_\12:ýZ¶\95¼>ÚbR\14æ¸Oï\ 2\9dÊß\1d\8f£¦À\15(\ 1ÇkÚ^Î5\16?ÎL\ 3÷ÑmXcgó»"Êúî\æ"|gÖFî\1e\9b
+\e\19I,³¶F6\9eñþÏ\80³ÎÛWhç
+dæ\ ev,\9c!o'ßÈú»ÝoÎ\ 4(\18Ü¡[\14&ä´Ú(ËvP\15^\e\93OgãÚ\91¸¾~V 3wÜ\85\7f\7f\10Ù;*¼ì\10B\8f© \89¸Ù?ñç\17oU\1c(Y\ 2Çúì!Âqz#c(tqé[\9bk+Z÷fI,ØOÖQ\ 4i\82\18(Þ¥\14Ú\16"I\9fÿ\1aõÏG\v\ e\94c¼è\9e¹ÂBÀ¿ZP@1¡çBN¤\81\9aa\0\16\8f\a®\80\9cþ\1eöbñÒBñB\13\bq>b\95\ 2\8f\89´hÃñ\8f.\ 2W!´¶í®qWA'\ e^ÒA\12,\91\87*\90´ßd\9f«ü§=2äÌð®´Ý\12Q²ÎpÄãm\14\8fúC\a\91Ät¬ÔþÏ(u\ 5cA¬ÊqMí¦\89\80\7f©Ý­gSÛâòÌ^\15Ù y&\95\89\80e¥4¬OP¯\86ÔKÍßÉØ?ÔÙ;ò\8f²ì©³)ð@
++ l]Üåé\ ev\86r\94Ë\1a{Çmp£Ç/[¾\ 6\ 5\9b_\a¦\10\8eð!~ÊЩ`\16·\93¼ã6ºìt\98ù2\v¯xuí\b\ e\13&Á^\82|´k÷ï2\13G\ 1ÐÅÕ-\8dè\10çÂ6R\11\ 2©\1d¡ß\ 1ó¯;³¿\92\14\86\19Z¼¿  \94ÃæÔ¼2ehÃäIµ\10k¯yC\9eþáö¥©¡;\b8\92Ë\19ÌÔÛ\ 3ê\8d³\9d]2\86ºl¢Á\81Ü\88J¦¶#èpwP\9c\95òÒ}\91\17¤\15#\7fÀäpI\84:/\1c\b gÈdý·@T\92%:\82\85bX¯rØ\ 2óc\16gIt\1a;@\85 \9c  ß\93IV\9c\rjÞ 1]\82¤ËËå\ fSñJIgK\7fý\81ìÿð¥-ü\990=\83ݶÿ\8d)oüZþÞ4â\ 3\9bG9üé\8aÿÕ:½0·\93\9cæÓ\15ö\f]<äç6\98¯Ö1tþy¿Ü×öóÌ\15 ~q\82¤\ fÍNüË\1c\7fÿ\168ÿFSûÚþÞºoâXãå9\r\7foU7þÅ\8e>Ré¯íÓÍÿ\ 5\8e>\82oþK\1c|\98vSÚ­Ldÿ:g\7fÿË\1aþ\9bÿe\99?5û\965ÿYrÌ\9f\9aÿ´GI±L       \9d1×îLÿ&¼ÿ³\99ÿ\851WÝÌÿÕ¯?þÕ\8dïÖ\98\fD\7fû¡ä]"\80Z\7f\8dcmbß̦\ 4sßS\10F\ fi%bO\91L\rÜ\bõYRLs¦%\19ýÔß2\90ÛÿQµ³ü4¿,IZÿ\92Â\17wJ\11\93^\13Á²À³¿rZð\98¤æàÜMë\9dÒ¾gòÅ\9d\\96½þyV)U½\1aÂO\1f/þÙ¾Sþ\14\92ý˴ߺ¤òÉ_\83¼²Àõó̰9fÊç\ë,\ ft\85\80\1f\9amÛàI^Å&÷2t\9c¿.nÿÈHEú$Mã\e\93\12\11{\8c\97! »¿2\9cfÜÄ\82ì®ûú·}ù[½¹ÝâNÒòÎ\19\9có+òº\837#
\9d[\1e3\0­\9d»\16\14ðL¹Åm|æ3\ 2Ë\9cVó¹¦\14þ\1d\8eÊ÷À+{ßÕ½ïÊÞíÎ÷-\9açUÙ®qjZ\8eÑ\88\92gåMæ=ÂËOIýæäoþ¶Àoÿ9W×ùaÓ¿>±µ]¬äGæYsDw\8cw$ßåEo\ e·Cæ¢ø®fê½\ fÝ]Ê?õÏdÿõ¯y\94ª:Öø\7f¶ßþ+\12\15¦ÿ|I÷ÝÒ\9aÿÊ$ÿ×2ä¿ý,Wÿâ±\1fãÈg\1fÏʼÕîçx8\9fÇ\8es¿õñø\19y\8c\95'\83Ø^\7f\ fWÎ÷ú\e¸\95ïþ\v\13\7f-a¯ÿ%\89ÿæýó~ù¿\7fÜ\ fþÝ\9d\1e_\ fÀ¬ð5~\ 4?\ 6³ÁÕø:Ï\aZS
+{üù?Î\91D­çÑ\ 3\99]\96\91Þ¢\8a\81Ö²âjúÞe"¿\94÷sÒ\98ï\82,¡ýý\ eg[áw4\9d_ÚÚç(5ô|\ e\a*,¡ÄKéõ¿ÿ,~·tì\15(>2õüi\17·\1doþi\17·}b\1fø_þ"_.\9d\ 4\84/OûäPl\9a\82Z\e(\9dGÇH½\82"CÍäÎC
+óy?\92B¸Ã^ýË\9c\8cÁ»Ëüt\8bÝ\12\ 1\93ÑÝÀ2~r©\17½Â4Wh\8fÿð\8dس.&qH§g2\84\9eá¨L)wß\7fdòxÒ(MX\82\89 G\7fÏãåf\f\89\13üÀô¹C êbgå\17\1ady\12\1a)e¨gÚ\8b¿\vÒQ\8fÿ>^@Ôñ­sîrå\ 4\90w@;v¥w.ëü\99pw\9dW8Oðòn\7f=¶ÂeLÔ\9c,½­9\95)îp*1\7f_ÉÀír \ 2úý\1a-`ûx¡u\15[\1e½\92\97¼½Â\1eGFCV\9f\93\rpü\b\90áç2dÂF|÷Ñu\83ä_\15\8fAx.Ý2<\9a)\ fÆË\7f¾\8aC\8f\96\93E!ö¹nm\14\86\9bZ²!mmY\93­\ fo¬d¹\8e®¾N\7f<V¾Ü§¼ÌWÙ·¨{!1®\80é8\8dåm\87çÈe\0\eRSùîÊnB
+ÖGd.C\1foZ,à\0FS\86I^Ê\12L'\16Í,Y³¸N÷Úûa;·²\86Wz;Ä<\90Ò-äc\8b\êÇ_v×jÅÏ(Ébë\e\fÃ\ f\1dèVè\89)æÆ\12G/p\88_×Â@½÷ùwÄ\1f%+ØîÙÜ+\0zVÛ    \ \98\b:ûIX\95Ø·ÚË\10G¢Ír¼\8c\9dI\8c\9dSh´-}@M®\17$rz6@"\8b9\99\13ê\8fW]¢(zü}o­vÏ\97öC®\94\15\9fÏî\12\91\a^d\b¹ýåRg\91\81¨ª\15s
+:\r\9eØ\85\94r©Õ~\92øÛa\î7\9d^#Ò\ 1­ô\86Xª°ew\7fÕÈÓçN¦?ß»Ð6!\ 2åÇ{8Y\84#û^\1dáÕ\92Ú\ 6\10°\91\ f\14@\1c\88EF«\94$ü¬JíA#ëÖú²µüM\1e\1d\ 3\ 6oÕ±>Ø \83áî\bÑx\8b\93\8c¡G«"Ý]\8fÏ\a\1dÕé®üêNScÚù\80\7f\ eá\96Ð[?\82\ fþÑ>\ 4V\0¢ÕÊ~(B\8e;jOlÃ\\ 6o\9cÈ/Ä}j\14
+ð·ÞH\1e\94¢(\12ñ:ü\18j§¦\97\8aÏÿ@\9d¼+ÑÊ\15Y\r\18¾Æê\b   öã\ 5¥\8dÅ\1c\1c\8c¦\99\99þ$Û_0$d«¶\14)Ç=\13\8b¨@Ê\17\ 1\96Öö\11Z­~z\13\84w\ 2wÝ-ac!ºí\8d°\ e\1c)\13\81\ 2\8e\14\87÷O\9az\ 2\93MôaéYµ\85æF}*\95\13é[nº\8d´/£UK\8dÑJÁ\97ª¥túV\15HòËAÈ+å©\96¶ÇÒÑf\19£W\f\89û\90ø0«Ú&ð½G¢æóÑ\85aMÆ|Õ_\ 3XM\1f´à?iï0§]Ù¡N»³\80Ò¼Kç\13mUîÞäɬ.âi§èÈ\ 44;o?÷\1d1ùj\86s\8aSðÓÅ\87±\1aÞB\8fÕ\ 5Àû\0&\ 2\ 5XgìV\846X\9cÁ\ 16-\aÕuà\90\14\92\18 \f»\13£!{Â!bÎ\9b/N»óÆ20\12å\8fÝHVÁ"uîhÙ0Gÿä\ 1\ fL+\82Ïc祠!È\83Ò§ù\8fc-/\8c¹\10!f#Ô.ýË/Ù\14R\95¾k\ 3\81\85Ý\1cW\8af\ew\ 3¡7\8f×qÖ\97ö\1fe\8c\9f\a»ãæÈ¦)ó'D¦9£:ÑË\90®Qâ\97=\8bñ<§¥Ð¶RÜ?sÉå%zT`£~i\93\9aÊu©x\94hÏç¤\85<\bÀC19¿x\9f­\18\1e  \91\95\9d¿Î:Z\81ô\84¿©`=j\10q¿k¦1ðH\1e\91º\10Fý¨ÂáÈ\7f\ 4GEKÂKV\ 5©ï\1fcsóдäÃÝ5«\14Öàaøtä\82çú°\13ÕÑM\93\91\aß@\8e±\111\9a\aG¯ó¿C(J\8a&OýK\13;vT1w\8b5<wk<\ 5V\85C\9b%@\8cѨ)\ 4\ 48ßE\aS³   \8b\8aäç#¿\e5ùkh"¨\8fJ\1a\17ô\9c«s\9c\1fª;nD»\14/VÚ\98\86à%þr)\92z\92T+Ë,WÊSÄ\842\e¡\9e)vã¨ê~Ï2á\14\1d«æ\v7¦,Å©Ån/\bÆa]î;|ÛT}\ f\ 5ñ$3Ï£ÕÌ4YTZFR}\9e¨Ó\86]JÏ\ 5\b\99ùz¹\12Q56úxÈ,\9bî¢\9ak\98G\ envO\1eé¢\83p×q¸\ 3ª\82Ü©KÕ\1c@\8d\95\fhç¥:Hliñ|zpF;¥ê\90\96\a'9\94|\86\1d:ïR®_\94¬º/Ò\88]\ e\19_/·ÿÿ¡Û¹òƹí\ e\80E¯à¦5Aj<ø¦\ 4Øß¤t½¶\12\b\99§êÓ-\16!GN\ fR\]ºR>\9cº\ 4\1c\93\19^\ fÉ.Ô{òEeí\ 20\8b\89
+\93æ\96*àZFC\1d\95GÔÈ\8aË7\12"²Í  \ajÈ©ÆYþ¥\14\86!Ê+ %í ÿÓ¥¾T\92¨èküÜ\ 4Úì\ 5\ e¶òS(±Î©å\18\1f\13\ 2¦Ù\8aËk\81)H\95­nd\8eK¿.Îæ\e\18\86í¶¨-A\88\ 2D\ 4\8e  !8Û©âtl*[p\ 2_e\13ZX\1eÔÕôYú,\84\83ã\16\1fe7t-Ê\15\89\805A\ 6²µ\9cÈ\e\83\1c \81\1cEêþ¬\9cÓ\1ayGÈ*¨ÁìI7|y#¤M'á^H÷Ï\12úgÓæ\94d\9a%\e&qm\f    \89Qd\1e¢²¥¢Ù\11\19\89N±hlÅ¢óX\94ó\16\8bË\16\89úį\8cZ'ÖñX»½[­\99\ 1\91a\952\Yt3\14eòùs¦rÅÑ·Sng\87´Þ\94\9b\8bÑèϼ¹éIÚñ\9e¡µé@\8bXz\8e<NôDN¤K\ajzâc
+s\8aê³6ǵU9ý ½³\ 6\0\14¥¦ÌÙâ¯í[\a?O»,\1c0\10\vº\9bl\12»\10^\86ÁB\ e\82  Êý²\10|R\ ed·W\98\94XÍ<ßǬ%\97\f3ð5w÷Í+¿¿Zô¹¶\15\9b\16éxYnhéf<º\9f\96\86\90Á]\8eCüB&[\ eéu°\0rA(y}k:Sô\93[0[TwvÒð\ e~tÒ±\86Y5kÚ\12\ 6ö\89â§6'\83\98Sûx\ 5\ f]9\86F41K\81^     10KC\8b3/\15áÇ\ 6z\7f\ 5*àH\9bù'RÊêpéûµ\9d\92\1aÒÂ\f%b\8dã&\b\86\80tì´t\97\1c\ 5A"Xõ¯\10²Ö@N\1f\12d»¹\9a\90\a1p\1aW\12\85
+|yN\ f¾ßÅw<ü¨\1eê÷ÀèáIÑ|ó¯\b\0\99¸\87\1fiçL¥®¯\18;ÌÈ\8biu\9a\8f\9fK\1cq:wHÅ@\98)Û;\9a\81\96]\1fé\\ 1\99\ 5;ðiËrº-!¥\9aÚ¨ÿ\10\8bÃë\9cNr\8b\8cBí{Ý£IÙþ\932`d\92a\98\ 4\89(\0\11@(\12\ 3\ 6`H\9f`d\b \8c¯E±\12ĵªË$ñW­\91\90lÉó\8d:ÖÚ+mÒ²ÝÒ½·h´ \v
+\ 2\88\80"X%\14\v½®C9j
+êÄ\11Ï¿¿ÿÿ~ûì\99$\0\ 1{ZíÝ×¼ï]ï7\9c¼Ýæï7ÀÝç7Èï\83¾Vú ßB»¾\80÷Äß7|ËO\ fv¶Ûl¶FÔ\f²Q\13VÒ9ÿ]Ù\84@Ã¥\19)\ 3VoúD`eÿ×\15\8a¼ô\9cØ\9fçN²Î¼l   î\132í¶Ë\1d\8bPU¬\8cì_,ìZ¢­)çb¿\9d\88xL\10¬\8eÅ#\96ce\ fÄv/iáÒ\9fÑbð\ eÅú\8eÄ\e(\1e\17Ô;\16äì@±\1d¡T\9d\8bÈxÄ \9e¶të?¹¥æÖ\8c\9e\1dgö]D\ 4ö\8bX ÷\rÊ Ã>\82ÓÅã0ÿ\99H~D\11¢B3#X+\92\ 5\8c»ýä\84\99\93ä;>cÈÂXw\81\9bq¢ß¸\9b\8b÷\ fq~ån/ØNîoÒh¬\94_°{\80ÉIÿ\8b\8cÃ\0Æì\1d¥ÿS  ÿgÍ\1c-\1c¸·÷\1dÅ!Û´6\19w\ ez1S\92ÿL\84l\99Õzñ\9fò\87«<\99c\fh\8f\fPs0Ç\7fq\86'Né¿;]5\06»ån&   ÂàÏ
+Ô.CO\99\17 í8Ѳ\ f}\95¹È?LÓ\9c\9d\9eW\97\90\7f\7f)\e õ\8c×9ý¿Ñ  ·Ji®¯*ÄÇÑKq\92\b#ú5mÀ$}ÀóÇgè\ 2\e8$Û]Zén(|\87ªí\8azû©nß\ð\80{\r\9d¥k\98àP\12-\1eeW\7fí³ÚË!\18f\14\f\88\ 1\1eU>\1dª\8aÀ+iÒf¹f©´wº³w¾\92ôKÅ\0\1d9ª¬Ø\8bA¸î\1fªJ%Ù¦ó(ns§\94.\82§ëÉ\97APáC¦:\8bmZ\0'Ò©êµ\82Ôö²ÍÜ¥¼Á\r-Þe\11\12\8f½\16\856\11Î>þò\11{'d\8c°\9bvE\87¥¿AS\9cz¸Õmó2\84\ 39åÈ\8eͬ/¡\90,Xd!\86Òg(½[\8e\83-óQ2\95¨öà©\a¶è46{KS¦¾­?nM\82§1é2W<5ýT\8c@\10 ÚÙkið× °\1az\191[óËÅ\bi´É\9bÀ¥äÍ¿Íç\8bA\94\97N½QþCk¦¯\0îÎØîÎìîÍ%ÕÙN\87m\83ɱGÈs³×7\1en>*q\ 6Q)ç\13Jlö¶EW#É6\97\8bI\15À\1c\11ï\95\93O\1a\8a\8b\90{\17çHÎ$xd\89we½\82\17-e%\ eÈ\1aéÜ\87\82>[\7f<\80\bÇÙ\93·\9d\82\9eNĵH­ñFUwrÚµí\15h´xghû+Ú5&¡Z¡\19UÝËw\13Ã\13\ fN6½\92iá,'çkÑ/zj\11\83t'hz½£T\8bF\í\18Õí\1aôZ:C´_\17´Z"Ðj"ßd¹\ 4× aRyï\rV¸Âç°@s\86Érª´ò\1d\13ºp\88\18\16©DÝó\1e5\1938|Úínaèl        u{J\9b\81L¦ö\18\1eeк5õ\18óRõn\92À=\84\91L\11\ 6=$««\88\fãXrCTsû¼-ä%¸fH\97\rwæ8(G\ 4lïH\0\ 1ì°n\98\86T\94°¾Tº\96ëÖ×Hí'\96î¨Æ¢/6³\88P>1£\17èØÅí\ f\17ìrLaîm\1a\8f)%Y·Ú-ä»òÕJ9Ì\81g(®²\7fNO\e\87\8eB{K»\98ì#9˸\1e\9d³o\9d\929!1\17\96Pï,ªÖ\9cÐ\97\84üÚ\18`?
\17D±Ý\0µ°!4N\e#\9f\9cúåÅ'³ã\11       ÷£«s"¢µcâÁø¬¯sù\96÷<\92nz&\17Å\0o\r7%\ 5Í­×ZN     ßg
+\ 1Ò\91\9f\ e7ågØ\15\9dþ\150'o\98Ô\9dÍ[Lû\91Ô\80½\17W²Óõ°\97\84z\ 4,v\08\8dÉ×\90\ 4aU\15õß¶%É\1fçÄômO×Cïö¬\98\82\15á\91Ἷ(®>j        (ètNå\14sM.þì£\9a©\8a\9a`\ 3\ 4\86)\11{X\9dí"\0\10\8cLøZ°Õ\ 2s¦Ö\106\ 40Gá¡ÿ\9b\99l5Í\11~¾~Â\1cöÚ½\1a\90ev&actòê@í@\ 6î\91¢[£\fã¾_(\ 6©.]N>áÐ2ÕmòçN\9ajÁïí\191\aCu\8cMbØÛBã\15O\r\96»N\9f\ 1\ 2ª°ÅAÎÊ\93Î\96Ï\N\95;(\95û²;öú ÿ­i\87ø\ 3x\ 1ô§AN\ 3J,\80\a\8fæ\80R\7f(\v\ 5ÖÀ\1fT©xw\7f¯dÄ)9ÌaôW>ÊT\99þ1\1a\97,\8dÐô©Ói]Ù\ 3Èߢ!\7f\8c\8dר­\19\1f¨ÏT\1fḭ̀öÂß>ý\1cY]óÅ%QâÓ%Ð
+ÇtIÜì±\17¹\91OEȯ-Þ-}hz\99\12ݯ\9b\9bëö£ü|\8a+]\8a\1d¦\1e®\89\ 5\980Q¬Î\84â ÛëdX\86\9fØb×\8b\8d<y(k\ fÊý\82`k©       LJ6êâÞ²%\93\15?\90¨`ÔþDÛܯ"P\ 6Â\949V\0r&°\9eóèùI\8dÞ*!£\93È\99\ fUHâ.\99ÜÓñL\7f®&\bò\13D´"\ 1I\81äMáQ¢{~¦ûXS7õú¹kú
+q\ f¦\8dø²\fe\7fÌÅ\1fXdÖ\95\8bNôZ\9a\13\91\87\87\93ªÄÅ\84óór\a\fL\863\9cÛ»ú­0¡?Ê\82U7È[º\1cL¶/ \85;®5\94(¯ci³\82-*PR\vAHmi\12TÄ!\83FLh
+«b8\15~\16Z\1cá*EQV¿Úz\93\86\98u´ÛþнUL\81ÍÄp)\11\19x\90Ü\91|)\86*ÚÎ1ÕÏ8£ø\96+@:\19«éß2F\7f_z\7f¨Tú-mÂa2cEÀ\0:Å>\9e'\85\9f{\89G\e·s
+VN¿¨ÑhÃ(\1f\81§\8e\91&\ 5*ul\bÄÕ¶Rq;Õ\96\ 2¾#\ 16\ 3¢®    )vÄ\9a¼\16³éÛ\f\ 3\16\91U· ÙühÜ­§§6\92ÃrOk,QHxË\10\9fa0À*Ûn¡HßW\92Ù\97¡|ÏQYxi\8bIªR\93»z\97À\ fè\9bnÖm5ð©\11\96\9c\91\ 2Òò\b~`\9a\11)yÄ«\97\94þòÄ'\1a_#Éo\19f@\18èÎ6X}5´ílÉ\88Ù\1f\93£-û\89wYz\ 5-ÞÚ7×;\973Ù-sP|ã·¸ôé\9c¯?Æw\9e<\1eM~<\95\84\18gž\8c÷É)\0·;~DÏ\@ v/Ø\95ÿ\16a\97C-§bL(Q¹÷ôÛ£|®¢ÚE\räuV\1f\87²\85ÖûK?¯JÙ0À=\12¢\v­Õ>\19ë5\1c\ 5Q\11\7f{\89¢\97{\03³Æ!ê¥k\91\ 2\ 2o\10?î?Ít     \83¤ë¿pe\19=\81%\ fcç{éÇ\9c3\82\94\r#Xs)Ú\vO4¿\r®¶j/\r§f
+\81pqÌmàä­í»\pÚÓË©ò\10©Èàì\ 6\98è üì\12tÜâh®\13(¾±Ç'\12W̳²\81ÁmJçI.\16Í\ f\81lQ'Tpú\ fs\1cQm}\17θ\1a]\18?Ï·2'\9eÃàÚ\85\9f£BÏÊ¡uèT)\ f\87B\b^E×£S\93\15Ó©Ö\92ûQ{¡\8f¼·×f/¡\9c\8b\ 5
+Iuµ§ý\8a \82ÁlqÞb\17\1a\85\91'\f·æ)d\e\90·>»cH.°»ÜAeiuìÁÜ3Ú\98ò\11¶ \f[T\80A\f\88h\ fö\98æý46±I\98-<ma\ 5GÎ¥ÉPÅù&é\19ùÜj@\9b@ôD\9d\ fq°èÐ÷×F\87¥1\a¡yñ¡\8d\v}r\97×Ðzf¥ÖN\85¤<?ÛêLìrsmT\80LÇù}#Äaé\9cB\93Ä\ f\7f_8·ß¢\84©*M\83ϯ­\87_>\82ÖwzÏÙ\19ì«be!²æzY\19ßaØÏЮ(íOµ\96Û¾ùkëh@\v\91N]vÈ\0óÜé¤.zZÚ©t$Üõ¸éÑ¡\85\ 1Ý\91   ¦\7f
+Ú±     \9b\12H\1d×%<\92\8có.\vâ¶¶¼·¬÷\82\97\87Á!þ\8dIJQ\9e`\9aäÐ6rÙ2\94Àùz4®»;íF\81ê½ù\81gÉaÞ\ 2\8bl_\8f\ fârå¨l¯ìË\81ð[
+p\16Â\8f\9doê: ;\8f\ 5\85\1e³\14\89Õl%ãã !N_h@\ 6\10Ù5\14RãÃ|ëÏ©ì\13\193z:çÿ\94©;Ûnó\19\17«\96v.Û\18Æâ8,1u\914\98Â\ 3\ e\8bb\80\90Íñ°¨fx¥µÚóÒ\ 5Y4ÜðöÝr\ e±\8cj\8fÖ\99_T{\9e\88ö\97Uµ÷\19\eT\0\95ÍÓª\b\81\9bÉ)\8f¸\99ìbØÕ\ 2.­DÊ5:Ù\1a\9dü\93+êu\9a@\8aö\8dm&Kkqké\ foB¯\80Z¡Wb7}t8:9Î-ªBàê>+i?n[¿íª0\10ø%Cºñ1ÉÕ"0,¶\8c°\8eaÂø7nø\ 1\0µêùÕ\99êx|\ 6\ e-yíª/£SÙ\95µ=$\ f\8aøh{8E¿Å\ 1\86À\ 2\8c×\90Ñ­#EþN\15}\17êe\93¢þ&*6\8böXV4_¸\fÚBr­kM\96(ã7\16ùÛpÚð"RK³á4)\8f-mbøB\97\92@þ¦8ú©û\80{n4¤\16:âø£Ü\9câ¡-\8e³æÐ¦Ðv\15ì\98ë\ 4ûxCrõ$\80\93Ýí\føÐë\8a\18`í´Æ)0ÎϬn\8b´ÕÙ{fA\9aü?*\8a\80 1ÚÂÖa\ f¹ ì\81onTÚç\ 4\ 1®Y\80\94\89¤~oªg\9d«.}1\9aÂD¬\10×¢ðþ&$ô\84\8c\16.\ f\90û"ÓY³¯2\9a\8b\85ôp\86¢Ù\1cé&\90|ym\9fâceVl¯º\9dØMZDÖjbÜçP:-õ%KN\94[p:¦Qi\83@ªïL'kz8DzéWÆ]£íyCÙ#Ïk~»DS_Ááøî!iÈô\90\1fÿ0˽^\r9vàQv\12§Î:\93·º\87»QÎ$?÷Î\14È\92\®­éÒú\aw³ú\16\91ó\ 4ÑÅ\1a\a\a¤p¿\È\97\b¯Ã\ 6api­°;\88YrÀ óPdþ\ 1ö[^\94!£ª\15¾6\19\11íJ©²ö®9pêu¬0¡%\18\88ÅÇèÒI¬Èì&l&\11`|®Ñ
\vq\v\83þ\93ª\8aà\11\15\84²ê\12k/\9cV6\9b\ 2\7f\96½}QUfI5 \16©¦ì¡Ñ#Th\1cÚÕÉ\9c\8cu{\0#p²\7f3ʵm¢^È\96Å\ 4\94\8ba\88\7f\8e\12\8cDtòÏ\b\9a\92Ø\18úd\96¸Ïzá\9f*íô':\8d Ò·å¢¦KÃÝ\r\bZÍ&z\84GESU\82E\82ßB\e\8fdô!;\17B\ 2«ñ\82è{\fÈåZC¤Z¶\84\1eÀðjצ¿r¼î\8bú²ÏÉþe»\9a³Ì±\8dmt\\98¬Û\8f\15!_¢\96OZ \83\rT\11d{ÛÇúá»
+[~\9aâÔ"b3\9ab\e±F÷Ø¢[cPû\89¯ ©¾\85Äö"°\97Ç,l|×\95zȯºÂ9\1fÁß^àè\94ýò@ÅÛ\ 3êCñ\13\1e÷0g¥\15Ò\8d\1fõø\13áVæ\99Ãò)RU[Sb#Gë{\81^<F\81kL=\81#5RMüÐg¸\rS\11Ùw|\1d\82Û\97·gÝaD\86õfG}
+à$F&¬Ù\1eMí¡zhQu`ô*\ã\8e¡ë¨¡\9ab\bî$¶ßaÓ\ fð²X(½ºë*\9f( JÀ9\r>6\1cj:Vf\ el\9cÙ^\ 6\9c\81!\97VT\87²[íá´.e>\ f\81|ú¿°¾Ç¯Ê¯\98\Â_\94èS\129\84Sp³Q­®pmôÇUx\88\ 3dß9ûº\92ñÚ»£N]\ f\15¬>³\94äÓ×^È\ 6TM\ 3W®·\957`il¯ó\8dõÙ\85)\ôÊ? [ã\99\99~éksù³?ÆðÛBY\85¸\13ôÓ\ 65²{RJ÷Ýd¸\84n\ 6µÈ6ðh­gmµ¸bQ,*Vùkaßeü
+\0:\8dýéT üCÿ\94¼X{\7f\17óKoÐVw\ 6\9dØâ»æÉ¤tß\98Ö\15
+PQ³Ä¼G\89<[Ï]\7fD\a#軹ú\ e\ 4ê5¢\9a©\a\84!"·ÅÀ®\ e\9b`â´\81ÚPf\11VEÀ\bJ5Ã1Ò\7fó¯ËÀ¹Ù\8f}\12Û\8a\8b\9cï\82\ 2\95ÿô\XÉ~  îx§OôÀ,\948|æaü\83Òb\ 2\96ßÕ2`\9dL\99&é8£5~&¿ö\7fôÎYKÒ_\91o|:\8cwgÎi&\8a>\8fÑ\99\8d¸\1d\ 2/W¢\1füÈê/RϹ\99/*GK\90×\97\95\bäüª
+\8c:|³zÛ&a!þê,\1aŰÉm\8aÇ^×ã\81\17Ë#ópã!øT\ fÉ©tïÁVÍ£(Áz\r\93\81¸zhéá\9dO#´[4åÐÃ\97`\87Ùkr\91â\96ë´°Â\8dWj\86ÒÃ<Krâ«ol¡¸"!\9aï\10y×ÊÈy£Ë\19\86N¨ÜH*\f\99«»<\88\ fÌ\8fê\801pöJ\90Æv\ 50ôBùG\19àIüж\83·´¶;#e²\9a|ç¤\vüþ\17\97ë\19ætªÛ\91\84\8d¾èe\95±W¡e\801\11á\ 3\13b[ö\12îõÑð÷ ö]ð\9c®¦\1d2/9â\e¢4\1fº½mS\81V\9fÜé&\82\8c«lg·Þ¾µû\14^C\86çi\84\1d\ 4 >(ç­|\8dƵñ\1f¿Zõ|.J5±sRÄÉè1¥c:\16çö\8cà:Ù!\v\ 6uÏ1\10c\rë\11Û\118_\9d\88ª\ 5Í\9bzï¸\8dxx2èã\97ØM?©S£ì'T\ 3o\15ôþzß¡â:Ô-Ìs®\97
+\84À1%¦^t0g\ fm0\8aÈ\ fÈöD磼\9bó"oTW!ØàãB)è\8cô¡Z(ëÛ\12!þÌ\ eB\1dì«#ÆÍÿ°I5\8d\18åV\93e\ 4¯ÔQ¡e\0eS]\14NYô\96E\ 5ð½\ eÊå\87q®G\1c½\vªû\7f0\84¥É7í)\1e]\8aâ\9c\9a1ûðº\89\9dmj$gàõ·u\15µ\86\b\8bY\13\ 1£o½0`\¤N\0\1c\80\19+¬¯G\ 1Jdék"g¥\19Ô\15\85\9f¾!\bMP\1dÊñ¼ÿ¨<\9aö¯Ù½\93\88¥eTÑ\12M\ 4\82\95»\86@òYæ#C3¾ß\17æ]\88\ fÁzKhHÒ'Ù\17Ñ5pu\1dA\86      \1a9/Åò\9a\ efb\15\15Ùzýñn:¨\1eJU\1ey\95\ 4\ f\98p:vP·PÏ\8954ü\1c¾T«;úl\0\183Öân.OÃ\fø\91Ó$x\84\12\aÞÏPÄ­4Ï\91\ 2R\98æÙb°Ó%²Á)§Qð¤\ e²\83\9eÁ&d\eFwÞ\8a7\ e\ 1Ö\bÞ\1fÁÏä\10\82\e×\103v+à\9cAĪôð\ 1¤ \7f\97çÜ\99ã;?Ï=uïTõ\8f\7f2ò+]tJ\9bõ\ 4\1cÛT\ eìÂ×\85!,\8bײ~²\95¾¯¼UÐ;\ 2ó`t\99R5ÄÕJÝ»%®>H\1cWbÃ\97e$ýb\91m¼²w\15\1f-½wf\87\8f\f\80C¡ÎÛéû±"Pá}Zßëdõ_h¥I\8a\17_¬Üñn¨SºÃ \18úB@\9ehg\11\11\r\b$\9e\aÆÎ\83\84°\95Q@\8eçW\1d§\j\bK¬ªzpñ,ú" G<PjÿÝMÖ\1d\8e\7f\9c¤9ç§\99\89"áóÅ\978\88\fâÉò½\8aÛáþ\f\ 1o\87¨Aæ\84\87\v\1f\95C<°[\ e NhÜTÊBì%I²\99\9fß¡ð\108Zþxû3$   g*}\ 5\91Õÿ7\12y¡$k\86Q\16\81íïZ\87pg\12}°L\ 4\9d.\ 1\88Ã×tD\80-\8eÇ\98\93
\9a\17\8bf\892C\9a®`Í\85\9bý$0\14¿¸õ\9eå\9eë`\1cüÞ\10ß÷M¿©Ä\11°¿\8e´\9fG°÷E\9c3´t\v¼;ñýu3\ 42°på\ fíZ·Ú¾ïï§ù~v'¨åbuo\87\83>`ß.üß\\8f¶L}¥,\11õ\rÁ\97ËÄéf\90ím\90\93Ò=È=õc\80ÀKE\8a\ 3<\0\9d÷ÈÁ\11\ e$\9aK±g´ \1f\7fá{ªÈ\8f9\aTΦõ¦ß÷\17\83(_\ e\ fº¨Vhó\95¾«0\7fYcAw¡\94x\83=]\17ÓØØ\rMF\fQ7×-õ¥\80ÔÈ\95v\8aÁoª`9\´Ð[\19GÇz®ú6QÒà\93\94}N\b\8añ\94;\86ÄGØ[GÁ¡"}
\e:\9c\10¥\11\ 3+\85ocÆé¢w\17\80\93 "åWêf®ãM\10Ùèªô*Uò2±¬\a×üjùX\ 6cío²2±­zßCó¯Ë\ e   ð3v¶\82\16à\8aÿ\9e\85`üVk\9cÐ\8a£\1eùÙ\9fö0)Ìÿ©\81I\ eÞáléYì\96Ê\f]o¬\19\88ú${üxa\80Ú\
+*ý\8c\bøx1` M\82\96\ 1\1aÎÞÖ\16\196\1aøÿ\81Ayóò\1eð¾CÄÀ'Jä\ 1\\96\80ÚÀCB4\8c\8c¾\f\8cÈ\1dnòo®Û*â\16÷\0n\16þ\8b\bH\96\ 1\8f*\12,V\ e!}|\a)í¦>\19©ÝFþ7\ f\ 1B\87-̵üâ\9dÄTJ¨ëÏ\8cEÆá·Åa\7f\9fÔ\15@|Dæ²\v\81éò¸b]³zkj\9e\88¤Ë(X 6%u¼\18úÀl]YQHÆ\7f4ÉDo[\94\18\ 2Õ¥ õ\18\8fÙ,ø2/km£ß+¿ÍÁÖL   ê\ f^hÞV\1a\8dçø¹¥k¼ á\8djYÚ´|OWÆ<ÀK>#AUÅ       3Îav¤ÅÑ{ y\aý5\84ö5G^Ã~èN\1dU\82Y\85&Îežu¿\7f\f¥è'Ã9½\8a\9f\82¬Wûî\89m\8ejÈøH¶!'ĺóæûaC\ fÕÖð®ïäÊ\9aÏ\9e\13B{\1fy]´0dZ{\13dOc\88CÒ²`@t¶\1d¼\9c\1d\ 4e\92­1àQ\82Üë,\87Ú\9d®f\aÚ/\8d\b¦Ê\+»Û0Û´\9eb\8e½\r.\1f9\ 6VmExèÄêD³x\ 1u\1fÜjþì\13ê\80ÛëÖ*\ 5\83|\8e\8eÎA\94ß
+Óå\99W»³\11dÞÙð\9a=gæ=\81C\1d
+d;¯\1e\17Ó\8aGi=     ªüeýh\9fn\9f3$ÑÅ¿¡\83\9d\88Nða½§\91|\bQ\a\90\94n/íoÜ\86ÐD+Æñpzѽ÷>¥W÷\9c\ 2èºMß\ 4\ 4e\1d?Êz­høxÄZ\fÄÜ;µ\r\ 3T\81É\9aP?(9ùÅ{í±f\8a¶o æ0G°ß\a\83\99\83¬\97\e\f=uéSç\86±\9eÁ\90\ 5í\91üý3ÜO¤ô4\11Ð\ 5\98¥vY¨\1fkl4Á[ú®ãW$:F*A\95\ f,ªh=\96&ËwÁƲ\rL\ 4\1a©ëc7¿%\b\1dÁ\85ëþ\9f\81\84öî&sõæk\15üW\82<\99\1dÍFh,<\88é(êy\12ø8\8e§\12\92V<»;:p\1aaKZ\1diÀ]ÂÓ­´\96\9e\12l<Qð.\86ý ®\ 2«r¦\87Õ=*·B\8e\8a5ZPu\1cn\92\ 6\89è\16Ëõà\8feQ\aÑ\86\8e\ 6\b\8f>-[°m(ÔRÐÞ¾]s    \rºèkÆ®,x\81_\0ã߸|CxÝ\9d!\9b%VPÉó´t\Jh\97÷®\ 1\15\8b<´B+\ 2\1f¬~AÅþZ::\ fÏ\90òT)Tù¦\1aXü¬½¿1é×\8c\98ó\e\1aÂ[ý\10ºÃWh{ùR¬'¾:h\17ë¹ø9i\889\92Z NÐ\ 1\9c^2[{°\ 6\99Yì¹\ 2¿_"\8e\84ü)SÁ0%IðRß+E¤¡\14\ e|Ê0B\8e\99H9\fÜ©ÆlÄï^jÜ
\18c\9e$óÞ@ç\89|ÐØøüLÑ(\14\91PéSðO«l§NPx\1c¬Þ:ó\ e·ò\ 6\8bÓ*]øÐ\ 1\16øjÚ©GÎ\9d­¾B\8e¨\9cTán%    Ê\9f\9f\ f\80ôTÊ­\8c½\v¯J£ù\89s"\93V7­Ë\90)\v®1u¨\85*\97¯\e"\14òt¶\85Ê\97lW\8d\93krQúPJ5{Sº&\96³B>\ feKÖÙægV°ñL|\82¾õí\8e×J\92QzuDé\v\9c4¼µwÎ÷\97\9a\94¥¾\95í \ 3Om\vº7\12«Ì\16(mG{D¤'\80\ 1Ø®JE\9a\82ö\844 lH\10~ê*Ú±\92#Ê}¦]9Ö'V\12Âï0bí¯²_V\1dtg\96\8a\98¸Y[ì9\7fºÜ¸Je¾o®âs\ 1ñ`§¿ê#N\eש$P²°\91Ú\18C*\ 6\95;ÅkéØkäÓU\1f\17\ 1_\1cçnÁÒt:qT&3â|"ÐD½óܼSþ\19?ÕEÉúy\1f\8f\19ñ%ò\88H\10yÛ¿÷e\17;(΢êsò\873\17(ENïAûívë¨%~V\8ejO%«\ 6KI\f\96Ï\91\11\88ô2G¡\91ÿÙ£+|\90"Öó,\8b\8c\ 3j\91tX\8aìÒCÆ$2BLh\8b§,\95ø4Et\fõobÌ\97Ѳ*\82.E\ 4H\1fòhl¶Ukq¡h Ú9ËÇà\8f2¾,\7f9wÿ\r\ 5\16ÆR% ¯Ý\8fî¶Çã\ 3u?_Ìa·È\8eÂ.D\aØ·\14\1eèD\89\94\11"A\1d[Ñ2\87(Z\83\86бúïk\96\8dT\1eñöå°©\14wÿ³¬ØÛr%óü6×ù2ÏÛiÿ\8c³\8fÿ~Y§È\ 3)\9c½\8c³zëÎ\8d\96oÎ`¼,³\ f±nñ×é¹ËJNä²Ò\92°²Ò\92­>½6Á\92ã麻CR\ 4/UJ*ÑÚv¢"s£!äÜÑ\f½Ñ\9cùÇ|ç½\80¹´3^îëJÝ %ÂÝ|q§kM\8d,\9eåDÓöã=\b)ó>8\9cw\1d\fýÛÌ==ð:º\82f_\r+zd \17
+\17Q ¸\1ann"u%í&uÖ\13ó3\98ýýu\95N,½ÇâCeñ:\95,\1fLôâÞÑÞKÏ©\94\17 ªÑU\17\88{áó\87 -ù+HÔ·$O\e3äI\0b­þ2:Ó;áòymN\8e½?ç
+\fË^\ fÂL9îêG\8c\ 3§o­!ä\14Ð\11\14\a=D\8c\f\87=×àÐÀË\84\9b,zm?]Üø\92]\8dÞ>TÙ/\85ð\85\85Þ\93\9e\16
+[,°¨Kg\f_"}ï¡\81\9a´
+\*ð1búËG²êJ\ e±\18\\rÉ\11\81}Çüò³î\96ñkáUÌ¥ÜFÐ[\fÍù\89ÂÓð^2_
+\96#N\16[ÿhX\99_4ðÐÂø2ã1ÏÂô\vjTðØ¢¤åvÒÏ\84 Í±>KÔ\ 4\ 5r\89Ì\ 4bQ\8fÆ)<uo\8b\98Ä\97\19wòhW5io¦\15ô*ÊëMi˳Ë\14eÞvD\1ex    åñóÇc/Ê´Ê\93EâÏ\8c³Ë \98\16\87©a\ 3=Ác[B\8aUÜì_o\8aþêø®=\8cV\154gý±B\11ç\1fû\123ßü©«\7f\85ÐÂOÿ\v<Ùÿ\8biÑÅ\97'ðÌ\ 1\8aÜ·VÕy|Ϫj¼¾gÔµC´\8dÿÅ´ÄÒ/jþú:Ïþ\1f\7f~Ïð\8bêÿð¥óüöÓ[àþóÇ\ 3÷ÀG_Å\8akÌb\97-ÎJ\90¼/\95\f¬o£\96\8e¾gåc¯\93\97¸ëç¯þ \11§øå\97¿à\8e\9fãK@m\93L\9eâÒóÿÝ}Ý}ãK\ 6i\ 1\e\970óL³Wü\0U=¯Aå\13î\80S~Jà\ 5.ýüwüEå_    %\1d\84\8f¼Ç]\vÕoÄ\8f\99îý\ f\9f2ïøe°\7f\8f9Ó·úR\ 1Þ>Ý\83éî\É_þ¶; \19[ºûÿ~\aæË\8cq\99^>æïHÃ}ÿÓ÷Ðvf»¡yÿ¬ÓRõ\e\1f«|Ì}fò\16rÿ_?9\83ñv\99\8e\93ÊÝÞ{Τå|½tæ.[[¬Ãæ¾Ë|\ eË}öä«\92\ 1\97|\14\90\ 1\9a\96\1eõHýÍP#î\8fÞ\85\0\19Öá\0\19Çç#÷*\83BwÚ£÷0õ\v­í\1f½Ê?}Ú\ f!þi\1fº+\93È\97îÑ,\99þ\94\9eBþQ\12É\9a\ f!ÿ\1a\86QSÔ#÷\1cæà\ 3ZêPÊ\1c~îJà\ 5pñHýÏ#÷Gr\ 2¹uhýéÑûü(ý΢\97õê\91ûò\91ûâ£÷>\85w\878\86\15c\9cC*!èQû«E\9eA\f.G¬Gï\14\83ÉwÕ¡\94|ø¨Wxie7:ä_ú\84²¥\9aYRm\17þ\8d\f¦÷µC\vYÏc\91\7f¡\85vëлTå\11L\1côh\97"Òi\9béq\15»D~çï7\ 5ªî\93Égâ£÷¬C\v9¸D¹\97üBÄ^è$\9dn¥C|w\ eõ\a¯Ùî³\9a\8f^eïù½_\17úî¥F\9b§P"ÿ»c=Ý66_ñ\96¶÷\oÅØùÛÇ\ f|~˹ñ95q2wRÖ\9fdßÙ½ÙÑTf¼N\1feO»¿êó?ÊW3þ_ßËûÿÿÔªÙ÷\\1d\91\r¢¯û\9d\92¹¼\8eÊ->4)__\9eÂu¶ß\ 3       ×ÒEa;\1d?\85¨ðµ>\16«ÂÕøZÿ\v\94ûïö-l\XËØÌXÍXãlglAÈ£ÑXÑØÒXé,i¬j\88äTôö:\8b\1dM\8eªÇWc¯±²±ÚØîlm,\7fÅîJÒÍÚé4;{£,Ñ\8fÏ]ÝèÛÇ[>è;+?\9aó5ê\15,\aº\82\18)`;\7fþ¶»¼\9b\ f\ 3Ïød¿¹î3ÿø`\15óhm\83wr\7fímwvÈmwvß\11Q÷»¼1ûø[]ßSxc÷ûÌ þ+\12\82´äI¯W/aOÁ§Í¡ºiæ\b}V"Êp+÷B¤Ù/é\ 5ÕQ¦º\ 5~Rë<<\9a@>G\9biôõ.Ñö9\15kÉ)íf\9es\1f¿2^ \83ÙÄ\9dÀ\9b\15ä\94\8e\ 4\9e©I]µ¦ª\90;i\96`\91\88ª\96ùv¥\83k¬»Iå+{Wd\rí£¢      \96v¹L\13U  /P\eßqQi¨\ f$,2×jð\9bç\84ü\90\0®\ f\10\96\80\95ÒrÝz×Ú\91¯µ:\17ÛÆ\\f\96\ 5¿rL\15|1Ñ\90G©`\96õÞ\99P\rï¡DH\92A\0ϧ÷\10àOó\b\93Yp2+\94\ 4³K        $y"\8dA}>ÄÓÌ\1c\8e½Q$\8b\88\8a\ eïn\9b9Þz\ 3t\8c\99¢{\1a=Åů$v·|Û^\ 4íjsml\8e×Gok*íD\1f6o«\8e7©Ð\98åR\8e\8a\aÝÓRÅpñ\8aø\93eà߯kvö\11\ 6\13O«"\87%³{FrÉ\82¾\94M=³\14t%tj\e÷Èn¡\19 \19\1d¶B\öÓ\0\97\15WùÝÃ\90[ò |lb\9eAµþ\85\ e\89Ç·£\99¦³â]\90Ön{uv6\1a\ 6HMó\1eW2¬\0e=¡ÙJ©\99[\ 2\ 4+=\9bd\1f\f\1eÓD}vÔUîÈw±u8\8b<%7 ´\8a_A´|¢8GOn\9d=\83f\9faªh§Å\e»\ e\99Q\1aXÙê$ò\91_\82ïdÛ`\83Ñ9¤*#\91â\14°Û\97Ç\9aÜö>Écã/,m\18º®;i;T°<ý ë`u±\aj\7fD?\14§Ù7pJhzÛ·ë\ 2\16eAM¸Í"\84Z\ 4"êM\10Ä\1fa\v\99 Á^Qrê\eDB-u~ë\97h¿nûIt\8fàⱺù\ 1d껢\ß\a²\8bå~lÐk0\11ß\93úÓL\91`G°\99\16Äo6 M\80µçÛÝ0G\aK\9b
+\9c«\r\e\16\1ed\87RÃØ\aÛ¦|×\9b0Õ½À\92D»J9û
+`8pÇ'æ\82\9eyj=L\85Òï\fM90б¾\86$söÄ\9bM\1ey\1a\96â¾\89\96\¼ò\ 5\12\1c\9bý\84½\18PMëÿH°nj\8d\8f\82Ùµ\95Sb\90úÀõ/ÜÒö\ 3íaA`%±¯,7¤ú{á\ 1ñ ÉU\e\16\8f\ 5\16{*UÉ\8dö\8e\87в©Î>W<Ʊ\8eÊ5ß@\ 1æ!}À:1äe:ËÑTÉ\90ùS¿\94ÓY?j·\15     éæOçN\7fÅjo\9fÙ\10\ f\ 2bÛY÷!«\85¢\a)AÚE\bn¸É\9c\88:\94\8c\17µÛ½èz\97ô\81\14ß\1f©eî<W\8c\82µÍ\14À<½JW´d\v¿<K~        ,\1f\b\81ër\88\ f\97Ù)ò·\ 6·wç\95\15±\82w¨Ïe²þÝ£Ë
+\bñÜ]w}ó,¡4¯ÐÌôÞÖê¾~f\82¯\85V\16\14\10Ô\ 6`\9cõ\¾ µ=B§MÌ\97¾Ã\98>\10¿zdÁx\96
+       ¶\8bh}Íì\11Ò\rÃTÂé?úÒ{ÝÅ|ÕÓ:,^\12\98ïhäö\86U7\9aßz=ü¡Ðð_Â\18½#¢Eªë\84:dGüâì(Õ\\84t\1e+]:\10Äé>kn6\17^\11X\82$ü·\86\98\7fÜ!R\13¸«2\ e\8d\8e\7f \ 2\17°ÕÉU'9Q­\¤4° \9cÐÉ\8dm?<W\95÷\82Ú½\9föWl$8Øïô3]\94\f\8bs##ë¤\ fïPoÈ´z\ e-\ 3Ö{Á̵\8b-¹êÏ\0Í\9e+¿\9b\849\a\82\aÙÇQ ¼Ü×e\r\8d\8eåð9)e\r¦\9c\83qÊÊ.:YCe¥©Øt\1c\85ÙCcÖ.\ 6-·,£:ó:ódzzó3\ 1Ö\9aä½iK\83ôº-o)\a\bÛ¢\86IûfÕ°\1dc.[\85Î\e\v<\98KèMÄ\83ÙÇ\91C.\80cÞ:jU¢epásWÖ\1eµÑ\14%H»eµs´U2\8a\ 6«ÖZý¨\91\86\80Z\1aÕ\87i0ÊÝ\ 6/K\1d~\14\8fç@\8fýG'\84o#Ò§¢Ôb\ 4£M\99µ8ö¸½
+/,»ø\8bÚÐi£ö<Ë]Ä\ 2Ê+v\ 5\bÿÏlÏ\0ÃÁYßXx+;ä\7fÉÛ3\8cÍî}:\ 6\Esæ#¹zÛuÒ¦½¿^þäe\85ç/"¦/Ü\fÖÙvpïqÒùûÔtºÖõÙ´ìªk\1cTªOÌë³»\8dNðc£³ÚÿÇaxäPæ|O\16³Æ®Æo½Û¨Îßúz|ó\8eÇ\96\p6Ç$+£<'ÅX]Ý×8\8e¶ú.9ñÙü^ÿ1]ïÇg\99qÿãS7\94\8e^q¬\rûgý®\ 3~ãÿoÑ/!(\83S7\94ø\9bj¿R\88âú\9e\84qûrÀ\1f'\ 2\vGïá\8eßdÝ\8fßÈà7üé\8dmxñÜtrïv)        vÔL,\90\87aXuyä P\12ô{\13T&ø÷²1\95\18,\ eÚ\8d\bP\91§w(Äy «xò\ 5n>Mä\vù0~\91G\90.Ñþ\ 4è£\91¸ \r¼xÏ\fãÆafYÏ2~<N\f!`\83\8f\17Ú\1c\94\88eéw\8eÒe\96<èñk^ã\0WYUhJ\92\ 3\16¾úóB\95\a{)\ f\ f<Íû\90ªWg\ f,+{J"\8ffó²Zç¢MÏD`¤\95ÏÄo\19z\82=\9e4£Ùö\82=\99>,±RG\8aèò_D¿±ü\99a\96õÜd\94DqÓ&Yn\9aMuK\ 3\ eEp\8dB#\11\ fæs*\98\93EÄQî¢Çf eWZÙã¡éïf\8d\8d\85®.\ e\1añïùv½\9añïùv¿\fít\Û_x¼}¶-e±´Ý\95\f\vüÌ9\9eT}m  t\1f·WQöz\a6ÇÖ\15Y\157S7Px Ö¡îY×ûø\91ö²¼\94\8f\a;\86\11ÔÈoºü\18]\
+ð×#`Æú×\98ñ\e&¤£â<o­\84Jr«\80<~\9d+Ïo\84¯¯gûC/Løå¨|â"\8e\80\96\87Î\88o,\10òV|üÉ@\8a\8f\12e\81äú¾3Së\90ï\99#\97[Ð#V\1c\15\9cpþXÛ]Í\9foàó\91«\17(çðù\8fÖ^\9fE¯Ü\f&W]\8a)\86\9cÉð¼Pc}6ì!\81®µÜ9\ 5¿*\16\ 3\8cæö½³\8b\93\1dà _áw\98æd\99\88\87¯\9de\18'Í9\86B¨'¦wÓ2\ 6<>\92
+:´ÒÞ\15³/w4¼\94\bm\ e\93\11­¡\91AéY.¾«f\9e\ 6#0$êßæ¾A)°\88\8f\b8«9ÊÞÞf©À÷£Pè\9brÏ@ò<òY·î\8a\98°ôx\11B\ 2>q)\ 3ýð\Ñ4"ÊÌ0
+\ e%l_k\943\91òªdÿx¢¹\89ª\0\8c\8dÙ$(¢\11[Ìó\94b2ÌJ)Øz¸±}o# \fTsìú\10×\f\ 1\89ð7û]Óì\95¼¢=AOØR2>\90w\f¶9\12#)ºÊ\9d¾\93ê_#¤wG\1c»ZêÍ+³Cã\ 5\r\10\18¨\85»ÛF\94\93ýýUUIRI%Q!\0\0      \bHH\0\r\12\bT\92\vU%BT
+\81\ 4\0\ 1\11\8a,@\e\12¨\ 1\ 5*]BÊ\95E\0\ 2¢ñ\\v\»[µ¼Ko\11T¶È
+È  *áh
\e»Z\8c\12Âí±\88«_ûï¿}ÿõR¤  *·\8dåæmç3svú;ÔÞo/9ÌÞnõ7y»ÔÝÍíîõ÷¥¾\ 2w­¾\0÷À\ eïS<\ 6]0ÖÛm¶Ù\e\14\14ÍR\99<ré\85Ä\89÷`pÕ\8c\1d\8d¶\ð­Ò\vÏ+Ò\8c¯\87\88+ôD%â
+çx¾ü2Ø\ fñÄA]ÇHÔ×oÌ\8b° ÷\eìãJ\1anÂî.\rÓ3\91\1fÄ:á'\ fI\1agsÝ¿Ý\12óBÌ\99\8e¾\9f?\87º\9fúü=Ôüï\ fw4>k\85áçqÿ\8f\ f=7îðüó\81Öq\ 2?\0
+®föÁÔÂ;ØoC»Êðt#þØ b\1f¤ôîVÕHãr2\11\90N±&:®ºÒS ß4J\8a\12Æüß,>ob/yS\1f\r±\80\8fdçI\84Vâ(eUæø+\19\90ÝWF\ e\95¿yÍî\88ÿ\8d\9eó\9c\85\86Ðv6âðÄ\ 2Ë\7fÕôV*\91Ê\8el\87l\90üf\9b\9e}¸"ÀG08ÁæOÕrOÛ©¥\7f/}íqrø\98V\981\11\ fÅæ»OB]Ë \80F\87ïÃã\8f~\e\b=øzbÀÿ\88¼\ 6Þ\90¤ßìpMU"éCÕ\9bb:«\1e       ,¼Ûïz\ 4\ 3\18VáïÓû\ 5ߦ\ 5æ\9d±wéêÅ]ÔFcÀªTw\9d       ¬Ñ\8c²¡Y2Ö­`\1cô\96@ãÉ\ 5\82á­\82Àù\95P\IPX# \9e\bÄ\9fÀ\8e8.\94Ny´p¸\1f­!\vÍô\97%JAnh¨¢1gÜ¡]\91V\97g\9a¦\13!ÐÒ\97Ü\16pm|\b¹e     :»J°\93Ø0Þ\ 4QY8wÔà\97\18ZQo\88¦ò\1f\81"eAʪ\9cÜ\aÚ\11ð$1ÐeO\14׫HDí/\ 2Då¯\81 \99\ 4ô       L\e\14Ö®8\ 4R\109\«\ 1ßvì\98à\80¾\17#¤©µ&w\ 3Â8l\1d\17ƲiL"9!$¨µ´\12
+ÖØê\17Ô$ðàý\18²Dó\ 45\9eº\82\ 3\95Ã|ÔºT÷\85à~òD\80¿Q¶#\8fæV£:ó\1f¼\1f\ 3\ 5h\9bOãZv\ 5iíí­=\91Zt\1c»JJI\91L\k\7fÜ\82±ÿG\81¿è\85Åô\1f\12Ç^\f@gZ\84\86\rq\1e2óø\fþwúåóWh\8cì=ïÏDsÏ\14\a®\r®\8fG\vÇk\89\ 5;\7fûàgþß\ 4=\b§Â9ü\10ö¯L\9dÁ/\89e²Â¡dï\vÎðCæ\7f\91G¥ÐðC´Âÿ\92ÌûßPBPÈÞ¾\ 5´\8fú\8aÜû,/ø\95¹ðg4\aý\10@\1fI}2É_ß\7fQ[\9f\14o\ f27ÁÊ`>dë7XH"7(j}\ f\ 48\14@QI|\ 5&§Ï+sìM 6F§û]\87Îu+ã\14b\9c8\90e:"A\94¸ \ 6K\9c^\ 4­\97³\15tXH¡,Æ\ 2¸ûhÖª³  ÿ¼\84ÊÙ¾÷\ 5Ì+fà\19:wl-N\97©\94múÁ&¤t\99\86\10\87éBåf\añÇE\82NkyÞ_á\15©\11¸®Â6iÍðß\83DGS\e!ê«\ 6yæz²s\ 4\90\8b\9dpañ¡ m£\147Í/礠      ã¿Â\8b{cçvíWQp`ÏDà\8dÕøþz\18G\80\12p)Ýu=/u'®x>¡\94\a\91\8cë\1f\10 \88^ êºnÛ\9b\ 1\95éNSÇ\ e9:è¦R®\19$xÎ-iu¸c\ 3",\891#{PÍæn}\90.¾Ç¬\82o@]?\87ì\fx\9eì\89\ 4"¦n}õ@å\94Ó\18ôÃ!qÓ?åPõM[6fðÀQ\ f\86\ 2\8c\19/mêç¾ð¯Â\17×\83$á¿õ\92C2ý\16\91<\15%ìÝDæ\11\1d\13EÛJJ2qp\10N\ eO1\94)\92Íó©#s$³df£ã£\81!\a\96(\92@àê(-\15\ fm¹&:ÑJBðw\96\83GJP;cø;ÓBîî£\9cà\19q(ªóØ\89\96ð¢ô\996¯r\88é}à  F¼Rï!î¯f\95b9¡\8b£y\91¡\ 2PëY      ¾\r³& ]ëÃݺ9\11¯0Ko\ 3_¿\86á¥\f\94\18ä\9aG\8cí\9b\ 3%{6`UK&o\86uö2ÒËf\15\ 3»\8e(ÄÔÅS\17\1c¬µ0\98\16P\96\84ßbdÊa\12ÃàR\98D½1\98D\81ãañÌ\8cÄìat)\97\9c÷\80ÿ\87&c¼\9a/\14\198  \1d{ëô\arâ\¥«\83\90lêvàQ"àkòP-»8\ 1~\117\18\ 4Ïûuu\b
+\8fnkhY9 =\17ì\8a6\9aÊs
+
\1eÙñ\116ZÚ)qøúæ\9fxâE\9eØø@\1eö¸¿\9aV0ß  \12\83\13Y\17\10EC\ 5«½F¸Î!`\v(¹ Ö¯8¦¢¯\ 2óa®H\92Ųv8\1dû\98ó_¦(Á\88`  Ê\84í_l=Ä\98ð:f0àê=Ãd\85n¢ÈÞ6¯>þ\92¹\8dÆÂcÂ0xv%Qʰ\ 6ÿ\eÞ_3\81PêÊ硹#a\10\91Ú \1dë\13\1a4âáÒ¦µ5È\18\91\aO\8b»Ø*'(_¸ÀÔNb}§\13/hx³Þcx\89æ\92ÒÎ.¯(xá/\96DN\8b\84\1f\ 6i.\81\8d²\ 6M\8bJ\99o\19öÜÖTÅÚ\ fþb¯|@Éj\9bHåop\1abäº\1cÝo\8cä©rݳ·@8³;u«\1a:ÁDç\95\râkFÌ£\92¥HUêÊ­XUë\bPVÝ¿ñ\17\80Uû&\11¿>ä0\8d±»HúY\ 2>e\15Ý\14/ø%\14ý\10\8f/~tü5\119Iö\8cCöÉíóyÅÞ,\85Dæ1û\89\90.Êu\13\8cý§\17\87¬ø ¦`sÔ*ÜH<gÇ       A2v\85hJ3\fì\9bÞÀ§ÏOo\9cn\84\87\15¿~\92g\1d¸¸Á\91\88ï?^#\9b­\8e\'\e,ßW¢\ 3u¼2±\83Õ\9bëéÄ\a¸+Ö\15\90\14ÞPÉ\11%eû¤\988\15¢\1d\96ÂOîÖÏrËF\vAÞþÖ?\9b[2`nÑ\1c¨\81\8fùSå\8c1òé\90\ 5\1dòB~ØÇ¾\93\13Ïü¶¯\81\15
+\ 5å\e\19/M¬æ\91h&sW5å\e\a\96Ì\1fbf_ç       WFÊc/Ä\82W\ 4¿\96MígD\1cý¬ñ/\89Îm àÁëaE^0\896Ö¦ø\98¢¯_-ò\91 ­\19\85\11Ñ1¹F\801S â\82ÐQcó\89\8c\9cµ\12ܱE\8fß)\9aãDwK \9b¾~ÆP\87®wË8\ 4\8e+7\11\97\81Klàk<e\1c³ªïÌ\98ÂÎBüÀQN®e³09\95ß\89\13§åß
+\vE\v©\90æ!ô\8bÙøcHDÄY£\14\16\ e\8büTÉÅ\18\19û1D\vn\9b\163\eÜNá&\ 6\1eí]VñÎ'CáÑÚg8\8f$Ïâ9\r d
+À«Ú\97\bu\ fX³ô\8eS⥠      CÒ=\91­\1270\8d\81³ï´!±X©s\8bÝãü}Ðe'Ì\0°\ 5YöOÓ~Úè]ûó        \91}Ýãþ\88nVü#cã#¥Ð<ɸTÚþÈÎ\92{\b>\15\eÌ\85\b\93\f\14ù±\9c\178X\ 4àW0\96uÍ^í:xฺ}\1d\84\7f@L*ï¿\88§,\f\87­ÖñØ¢;Û"\10Ïñ\11   \1em\b¨\11ê¶G/÷ \8e»Þ\9dÜ¥Ü1çÁÚ\99Î(\90;]ú\84åݨ\1d¬È±©@¼\9d9      \91¸      ázù\ 6    Ö       ¼\ 1=£¶Ù\9f\ 4\95®¸á\9eoA\7fÙ-\8a
+\9f\1dç\b=$ã¤r,5ý׺N\8e§Þ²\9dþw\12¯²*\ 1\8e<*\14\18\1aÞ)«ù¸ ñ\9f~\1dq.\ 6¼£õѰ\94
+ÐÖ\9e\85³\97\0ìÊH\96O\8e\0\v\ f)\93\1f¾<çå\8d ¤îßòFa!­Òà\80¬.»'6B\84«\93\93¨«Ð£Î_
+ó_®9\88Îݲv7ù\9b×ý\95ç#Å\1c£\9f#\\82N\ f\ 3qz9VÐ~ò4Á\96 \19
+RÅsu\86\14D\96K\98\85\7f\93\1e}XsXØ\97\8fMÏT\10zõù\10ÕÙÆë\r]\9cNÉ3å\9e\8f÷Ë¢qw\\17\ 1D\9bÕ^­\ fZH£¶\9a\7ft\8cìP&ú¹À;\ fJN׳Ýsºs\16\91&LöËÌUl¬\93!V{ë7\18\89%Ø¡~XPd»(N§\19Goóå\83é.$©)q?0¢\9e\1f\1cïÕÂuXÈ074Äê]\9cÌ+3 (Fç°\0£ª \b¢óøßÒD¾\8c¬ª\8deäû\84\8eeéa0ìÓ;\9dÂ{¡» ök4\84ç®êóvm\81\8c\ eÍ¿ÇËìÛ²7fÝy;ä/\99Ù¶ÍOª\1d\9b\9e\ 3\vª½\83;z\9c¯hà_\81±5¡\85Ïˬ=©\1eD­þ\14ÑÝP×o·ð\14\19é±³\88a\13t\8f\99Ê\e³À
+Bü©\94\ 4\18´\9dS\ f\17\v+«ßIr\ 4@þ3+\ 6Ò¶z>àÙk!Ùp\ 5uïáYjõ\9e\9d\9dÉ%¼\11
+ÃXwT\89Ù\130l\1f÷f+\95\1eð\13\84\1eÑË\94ò×\8fy³Ë_¶¦\ eÉ0x²R>rS϶\eQ(<U;{ÉvÜ%<þ÷×\92òçÊ\17\9cÁù\ 6ìká\9eɼ\11rýÒ^S\9d\81t2\90ç\8c¼k\9c6$\15£ì\bã\10\a\89\1e0<Mq£¼\ 6\16ò\f|\97¬â+g4µÏ\11{6\ 4z¹^/¬õѱ/sëÊ#E\9bµåe\v¢ktç\88ÊktÍÚÓèø\19        @ùªø+¿Û\8e\86êÜØ¸á\97¹ùýÛ\89º\0îÍx\fW¨OR \96\95â­*QÞÈ«\14®Ëd\82\10·\9b\92\94\93\19Ü|W\9dSøä\92OxÓ§]¢X\1c§R!\928Vz\8b\10@íþé\bF\96å0r\88·Z\15ûÕJ\ fâ\9eíÌ À3<È0\a\887\bD\7f>[eNã¿%\1ezù-û;K|Ýe\87\94\82g\9a\91=\92X%Âdû%ÂØ÷3&D@ÞL\9d\98·x>Ç\94ÐÝ_\6÷µ{\93¨¿òV\8bàÚ)\ 3£.\1c\ 4²\ e\89G\89öÊ\1f\12.Bh\8c«½»Û\1eúHnzåê ±½ÜÉÄ9·0\ 5*\ 6Fr]S\88ý\9a\86-%¯n"\11£0Üìw^sÊU¡\8cN!%å> ø'û<ÿ\19Ï+³Ð)WúEÍ3WpD)ñK\8b¨ÖT+¶\8aî`$Ö4c­     |­¼º6\16\970XJ6J]Y3ÏJ:²Êhn­\1dëD0qw­ã +¿\e\91\88ß\ 3Ý\fÁ\1e\94Ô:²ê³ÑèÑìt+K\ 4ØÈT\ 6\a·T\ 6\b\85|9ö²nyQz\eº8\ 3V3Ü©²        ÄEE\15\15\80ü<\10K\7fúe."É.à\81\ fÛ\ 6F\86cR2ØÜKª°ïEZƧ\8b\ 6¹[\1a\9b\b\8cj}¸5ËØÔûPk\94±©ã\ e3\8a©÷\a\f\0aÊájï#í\85tK\1a\9fÍ\ 6ìdƧ\8f
\8e8äB¯\8acS­\1c\18´Do&5:±¿\1cÕÙ\16)ÖA®V\91©cò\1a\1878\9c\ 5\9a/yÓÐ\87w'OA
+sw<¿F,²\94Vê²y¯nå\8e=p7ê!\a<ªõΣ\84:\1cî\b
+~Ü\ 2Ä\86\ 2\ 2÷s´xÒ§óØÍ¹\178\80 6lɬߢÆìä\ß~.×\9f¹\84µÞ\16nE\8aÀ¥ÇfæË"\fwS²É8VÍÍf\ 4ù      7Ã\1c\83é\1aöë¼Uð@Õý¿®\8d\96|,«Uyà\8d¶>\807½Ù»\86\80ð-¹ÚÇ\18\17\8d-ÀTzp\8cê·\râÙ\9b\1d7¸÷ê[¬\1c±ïÕ·º36T
+apª¤UÂx®Ü\8dæÂÇÉ>)\ 4\ø¬VÏÑõÈåß\9eÌö,,±\9b¡\81yU­Ir\80ÓM}6©&¾\8c \80\ 5?ÃãI^I²à\84´=]\99\97Wè×m(h\1e6¡Pï\16 j£h|n#¥Ý#µË¶\98\9a\b\epXrEI,@]æýº\9b¬w\89 å¦¾\9b®+\17\83°³Íi\13\84?<Î\88\93ûÂ\98\94ò»õ5\91{\87\83¸\12\90®\8bÜy\17\12\rN\99VW©\9aS,½\82\90B`zÎ"ɨ·<II¨·qd\98Xk&¶ò̦\84ðº2v¦\91í\ 3\ 6o:iÑ\81YR=ÄL\88¤ðJmA¬A'\17Â\ 4\90~ñ\¸b '¿ú\7f\a\9b\90x\ 5L®æuàí{(\15ë\ 6¼v¿^\15ñ\ 3^[ô\1eïv7x<\ 1\12 o
+À±ýa\f£\1e\13\98\97·Oþ\18B6Ý\9að©èØ\e¶È\1f9\8a\e\7fa\ 5;S±-_þQ\81W\13îª\98\8dÉ\ 3#21Q^ÈJ"ó B\bE\ 3â\16\14í#L5g\ 2\83\e:{ñ\84\f\8e`\1cC\82Á¼q¬¢$´çR¬\1f\ 3\16ÁÉ\9cC¶JÍ\ f÷õ%IñRÕ\15-YRÖ\15-iR~T¬
+\97´T¬J\97\14©{eK\8cT¿1Rã\95.@\9b«±-;O{C¸Í\85üÜ"å    \ 5M9ùÓ\99\9etQÜô<\9cí\1dßAÄÍtO¨\9a\ 1I,~\11u4öÙ]U\9a)Ì!BL«{\r5zÂ\84@ä½#Ä\19½\80\86ª\19½Sï\aX&\9b<߬ua\87o\8dua&Þ\81Õ\86\91¾\r\9dûxÞìÎ{x»Oî\v\83;<\v\ 1ä1à\ 6\8bÅ/\18\91«.E~\0hîÃzV Ñ]\8fX\8d@¾ÊËÇ+ h\ 6Ãî\95XhÜE¤*\91\16ô\81\ 6°·\8dïABHqo×+\984\84&^m\1a°Òå\8dR5\ 3ÊST\8dA\ 6Þ~\0k\bB\93åÛOÀY\9b\0\\8b\9f¾]«ò\876Å4¹\85\ f\8e]XN.ª\14A7°\8e$!è\fe\9cF\82ê©\11\15\eä]XH7Ã\86\a^#'0\e\ 2\1e,@˸\98hÄqc{Â5\ f\84Àã\ 1dg¸ \93ª\10Â\ 3\aM\98dï¤\9b¬\15\r\80hìYL\92!pËF\1dî¬T@\9d\1a\8diÄã\7f|ÊÓð\8dÐ:\1eÕ\15Ð\1a¡±õ\91²\ e\921µ#\14ÀoP\19Y\92
+\18\80¡Ñ\85  \80¡ :3\ 34\14\8dä\1a3±¤F£Û,.\19Qc8\8d@èÞø\8dAhß½Ô\8b}\9aQ¨±\15idF 5¹c¼F µ¥Þê\92H\14Dvk7\149x\9b=\9a\13\ 3\13³¿,P½| \1c¯F,\96*\1f8\10,E\ fç\81°\14\85¦\1f\16\88=[®P\9d\87O\a\93¡\812g \bf}¢\rí\9a\96³È\bÏ}\8f>R\83¸ÓDµøçÇ\8e+8\1eS?vÅ>8 A\993ÈñÆi~á\ 3\1c×­É-\ 1KêV¢\8eLk¶\8f\80=\11\eñ\93¶ô´\86°;ÊÒµ5W3\90\9b'\9c\ao\9e\98\ 38ad\8e¶ü\12%ïµ Ë:úðF>ï\8a¿=\14óR·D\13¿äKÍMMf  \ 46n]\94X«râJ«\86â*/rk\ 1r<±ÉÎî\]ù<2\18:@?\94ÏÀÔ¬¯ñkþá\93V\1eÅ\8b\9fz¥ÅÇ\93Ã\v[\9d4\ 5\9cNïÌ@ö»²<ÛU9âi\91Â^9\ 6\8aáf¯4h Î\83\95\9bó`l2Fõ7\18\94ÚÂ\0v\12Rö÷\9aà.ÃÕ^\82<õÈ¢=^ÄÌ#ôì\fá\88\aÂYMÙ¾¤\ 4,.­\12\84\13å\eÆõ¯r\9b\ad9\8erï§¥{¢aH÷%2&\84³Û'N_\ 2\15\0þQrEÀ\19»\938ÿ(\r     á¶+\a\8c\83xF)2Ì\80\88O\a"\8dóþ\b\9câ­Y ú7\85¯#µêÞ=\eÕØ\93\81aA+\86\\9aÕ-×<ÈÐ\98\11Íݳ\81\91¦
+àMè\83ù¿wfp\fÿ^f8r£rl\r\fy³A£M\98øãõ\ 6DÕà\99ò\8eçò*äØ=r\8dö\1a\ 3±®\17\8cÖ\82Ü\11R\86`g\8eTT\99¼þf\8f°ñ+¶\9bª\a\8aðLj§;Aêod§\80Îw\7f\9e~\8d\ 5ÕTBK©¯m\1exDâÆû¾\8cWQùûÅM\1e#ÎKÌ¢\95òÚNÖ7\8cy\8d\1d\ 4ê\ 4\16Ýò\94µ¿q\9cz\8d\9f\rè!Àm#î¡KGÝj\97\92.yJ´\18O¼¥vÓo@æ}\82­\ 4E\ 4í½\83yfJw¬çw\99çåæ@\17\r\87¼Ô\ 6\92\98ªq\13Z5"À>$pÆÕ\93\11Ó OýZ¾üÅ¥°úmky$\14&9DK}\96R9\0Xã¥>8\99,q2ß\0|p'é\97|+\1f\16æ{\1a\ 5\8e\8dS\99éÊ%ÛH\r\17QYCÈ\1f\r¡\9c\9c\0'\19e\9bÈ\86ʹ,ÝÑ ÙW\19µûØ\ 6\86É¥± ³HmQr\ fdóÂ\rë\85\81¾'Ü)«ì[Q\11ÉÃ\98ç\8e\b
+\99u`Ù¼Û«\v\8b|\v«\ eɽØ\ 1bذ¡  \83^Ò«\86\ 2¦N x¶áMX<Xo¨îÿ{s¶.¹\e»\9d°\84k\82òâN\ 2ôù\1c\82\ f\1ev\83\8c\ 4¸\9aï\9fîùCì´x<ërР Å·[1;:ß\91»&¯¶$Bãc\ 3\87ÓhN\88\9b\ 2=\e\8c59±\8a\vNU-\9f\9a;ïµè\1f~\9d\97=}]Ä\82+ôÓ+¶\94\ 1à®ÄQ\8a¦Í¼é¨AFhÇÅ`&Â\19E\99\16\8f\16\1eº<á®\185æöÃH®Ð÷\9b\89\1a^\ 4\81ù³\81\ e~\ 3\8cCWHè\88Îd\b|\0Þ®Ê>\10k\90CgzÇ#z,%E\8f\92ÊGÃ\rmì{\88\11à\15%òÄÛ\18´ÅNé¸ÿ\98¬\94\92
+\0Ó\9c÷¯xBâý7:ÃNH\9dº¨~\9eßÚfÂíH]?\9b\1fÍ!týìxøÛ|\12]x\ f»\1dlBéõ±ÿ÷!tàf\1dÓ!tû_\94ÌUçc\92!týE±\98«ÝG~²\17OßG\7f¤ÌUÿªUç \19\8f\r\1dûÈGß¿û\88GÞï÷\10\8f¾çö\10\8f¿í\r\90écIÔÊq\9fà\e!\88!\ 4\7f\93\19ô\ 6È|\ 4ÐWÕÔgÐ\e!ø)Ý4\91\9f¨6CѦ÷ç½\ 2o~{ÏÆ\7f\0Ù\ fÿ!²\19.èÿì\r\90ë~D\16\1f\11W.\18l\87ÜE\7f`l\87¯ø-\fÎ\9eZ+é\r\90ÁT4ÿæftÿ'Æ\82Ãûß\9d\ 5\87þ÷Ð\82ÃðãÜ~9å¡\7fØC#é-LÂ\1fúÁ\9dÿöË\\7f4}Üᢹ1\9d¬\905'.f\8b\17\83\7f\bú   \88/зÚ\86\96üµDgH\86\ fÄÁD=³7a¯én¬½\99\ 6\1f´\96ZÿcÖ\85í¥\97¸MÝ£\91\8e\90\83·C2¯\7f\1c´.·\9c\96^÷ \fºï\b\\94\\10·q×oÉ,\82y\8b\14æyi.\12WóÚ\90\88ûU©\ 3\19\ 2ÎI\v\96\8e#\91\86\96\0ø9$å¶t\83C¸²nàß\87Ìc\92¿Ö´c\90\9fü\f¡\9fûÐN¾Ò\çæÃ\85ô]OS²ûë\97Òë5\9e
+¼å\8e\96\7fó`;\r>¿\15\9b¥í7·o\8a\8dGIöN·îÿ\80È\87ÿÇ\8cýD\1e\9f\97\11\99¡ÕÐ!\97¡C¬h\87[D\85F\1d\ eº\8d\fÃT34\88\bfñ(uí\90ú\94¨g1Hv\18´3´È}\b\19î\99\fþ5\ 6øä\1ccÐÐd\10ÐäPÑd\90ÑäÐìr\88`¯(M2Bnô\86\ eY\ e\8e]\f&Y\f\ 67Ô'&Pa|B:8^­üµ\b¨ }¶¦\ 3©C\r~C§Ò!ÔvHet¡úzu       \89T)û4/óè`zD:.\94\82¤\18Ñ\92\1ecÎÆÂ;pÈ<Ò%(¨C^oQaûà>¯áh\94m¨± \93\95¦ûB¤\10èº$/·Ô0\18\ 4/×är>#\ 5\82S55\1776¯\a\83C£èÕa0\8b0¸U\fXÅNND°`·\ 3\81\f\95/°ØlÀ´5«4-\rPëÅ¡¦ÙÁhhæt\18y"\1c\ 3\81ãNA\87\84\1fÙò\8aõÿ\91O\12Sò«õÙ{\v\7f\e\9f\8fÌ\11û\ 2\8fÀà`é\ 4~¼£ôª?^\91úâ\8fÒÈý.\8f×´~\9a\12?\\91úæ\8fËÑúE\1f¤ÑúÞ\8f×\ 4\91úÜ\8fØ\ 4~\92Gëú?)S¢AR­\1a¥jû\14\16,Ò!\11\11¥B&'²\89Z·³GSºd"âêP\8c\8cúÈ]\91ùB?G£òåßg´\9cGèØß­\e\1d\1cé\v¢?]Qúü\8fÙ\ 4~\98\98\98Bffe\våòø\84ÜÜÚ\18\9fF\84ê?Oc³\19iü~g©Ãd3Tý&G7Õt¹.¿«e\93ú\99vyLçYAÓö\1dm\ eW;PÓ¨ú½vGPö¯$ïRñË\979ì:?T£÷¡èw\9aêêí\86\87Íó{\8a¯GÑïuûíöÅÇ\9fçý\8d\a\9dçwm÷{¾ç?¿ßìµ»\9dÏnú\89\1f¼O\13øû\.\17\vÛb1\18\8dV+\15\8aÖw]×Úî±x½\8b\8ajm\96·\19\8cû\1a\fN'¹Ï¶l\86®\96\97»oGG°ÐµkÛ¾¤¤î*ºn\9b¼×cq½î¼3/ÕGë½õ\8f\ f»ÂxÞ§¤gÏUñÍNS\ 1\ e\9eK\ 1Î\r-漸¹Z\e¿å¤ï±m»¿µØú\1c°Ñß\81\98è¯Þ\84nù¦©î×¼\8cºôî-Z\15ç\93×r)~¯©\87¥ü<\8e\8fIâh¼»\97þ\8cµ\7fï\r+Ï¡{V\83ñÿ        \Ïø}ýÿ04V<R\9dÝ9_'û\98nN]Ax\91M\a\e\15ø\9b(\96S÷´,¥¯|õÊG\88\7f³ü\92ÿþAuða{¹×_¯\7f\15ûL\98ü¿ý\91\1e\1e_übïýMØÏ\b'»~¨»ÿ\15D\10âbOæRîðî\85¼\99r\8eï?Ð\88ðòÆDxyoèDxys"<<¿ùÐ]~\f\84wÊèN\ eÆ\9b^\82xãH\9f5ÓZͪ\ 66¿e!\1d\92áÞS\84ÔIÕ|E>þHÂ\90p­d\1c7]VI
+Öt¨ÿÅ#ÿ\16\8fúa^ÔW,BOkß\b\0«Èò\0ð\80\8f£ñsO<Çîg/º#nG¶\13\8b\8e÷zÿj\92     ¡hØY³(\ 5¿ÔLQe
+à6¬Ú\ 2P]r>gV"ÎÃÎÀÎ\8b(LÙ=£uÞ!     ¼àË\9e¸&ôÇÓqokS\8ú¦\ 5~½Z\a\erQñÞY\92\83\82
+eòdÉÄÎá\bßyÂ\14\a\19Áb©Â\14\8bdÌ¢¨\9e|\9a~JYNf\16ùÕ\8c\12z×Äñ×¥;Ù=á
+ÄÔ\84B\95³×íô ;®hYÏee\987\8dkµHRzÎ\0\9a¦ýþ>E(º\86U\9bÖÒÓá!\ 2V\89´z¬      ¨ù\eÉ#hG<ÕóI\98\14\80NÃ42ããl\1c\ 6÷ù\9fÍÛÒÔ\9dÃÃ\ 2\98Bÿ\91ñ\v.Ýö©\8e\1f\8b\ 5A_É\ f\86 \94ôD\80Ñ\7fÖ\90\vë>ØÄnl\ f\9dt¯kìó§­\fé§jú\95ûý4\82\93{Kóæ\9cî!óIH\r\9aèl     \ 3·ß\ 3ô\81½'ú\9b\16ZçÛf\95ÇúóI5ç÷\85îÃüä#Ä7\9f\18ØdÁFÃ\ 2}D¦278\ 3\88ë]r£\1cF³xÉlúÖò3ðÐæ\8bx\99\ 3HÕÝÐ\82ïh\99%·t\903¹}¡\80I\17x\9e\14E«)wLMô­:6¥§\e\11\9c8~²jî\9a4Ä`n\96ÐáÛÔ$i\19IÓ4¬\8fnVQr\1c|$\9cÏþts9lü\ 3»»\15\9e\11\ 3<\ïrFã\13\1f\ 1ÅðJ¾öhÎ\9a\8e#&"\12\16\96\8d½<\8a\91\18\83\1aøÐFé¬Ù'\87\96Vçm)\9cè²èä\90\ 5ö¥*a\ 3\b8È'\ fÂÝ\92`)hÈ]2w8AAA;\82EâÖ(ä0\ 3­\95Íg\8b\0gÕØù#$\eû·XIGرýÕ$\ fMën¶¨\15\bEùh\1fþÀ¢}Õæ@ÿÁ`f)Dû\9dÝN\89\v¬\14\vÅ\1d\rG\96³\ 3\e\9e2XcÐ\1d\üPò\8c\8b\96Öu³ØæwQ`H\10\ 5¥ûÛ¡\0d\90       \80¦¦Ó1¤\86\e\9dÕ4\vZín\90ó=³Ý\8eÌÃ1Ï\\0\98\8b2\8dI\8aå^\83\b\8bѱè\806\10Ä\1cÂx\11(\14\fjwm\99\8a7      
+ȯ\81\ 5çº&7ðzfUÔ5\9d¸äî¬È3ø
+\8dÎ6\ 3{7IA%½ð\92Åô÷s:\1cÎè\92!Mül\v¼7²þÒ+·õIdf¨.0Pz>®B
+\ fG¯µRVò\12¦\9eð|=1\88\16Ä®âwqô\90-\8fTH\16À8ñó\92\8då\12kËLAye²v\99\85åñ\v\86ú\9f[äÌ\17S@H.¦ì®p\99\ 5VÙ0\872ÂÁæçì$ \85Õ\f \85Õ\ 6\E\17â÷\94ôÒaÇ\98\94Pÿ"|á\8c:\ 5"\r Ùï¼\ 5\ f\19(\96\99\9d8¶Q-\11\89p\14KXËè\81ønD\83rTOª\17\9fÛt\0\ 3[BOýN\H\9c\97¿5f \bSeå¹9°¨V×îJ\18lü$\0¼_\ f¶Á\1d¤O%\9e­eâ(°ûjà\94´:x|0ß+\82\15ºÁu\9f¹­ÀÕ(\14xSu°\1c_ÅÖ\7f}àûþ\8eS\16L§·\9dsüÊäòÀ\91\ f\88]± Ë![ûqY\13¹/\ eßÍ\95øÁxÉC8\9a¶¼\94^\0¤z\14á˳\84bB4\14çasözâ\90:V<12\96ø\1#IJB³x\10â>¸\1cØÃñ\a\fQ!{W\80rAïhmI\19ß|\8eI\98Q\vIBÙ\85'/ÎÂæ@\15ï:Â\92\82 \
+#ò.kݼÿ)\8c\9eêD%t\1ato\ f\93UüòÎ1uDm\89}¦¼k\84.ZÑÚÛ\85\9fºì
\ 2|\8es¦VÙÅ\8e®\ 6(\90\84^       kIÍÞ\889\9c\ 5\13Uqt\ 57¶ÎÅç¤\v\8f\11\9cÝ\82ÿ\81î\v\99,\80}&á\91\ 2»ò×\18\16Öò\8a\12%\\86??ÕâRÍGÚ+\91Ý£èÁ«ªÆ­jÚîA\rÄ)+\85\8a\84Îú\90\1d\138¿¤\8b~¡!¸¶\10\9e´\80\ 6\14vâ12\ 1Cnúòª3°ù\ 5\rpL2ì»ë³-jö$\1a"\17\r!C\87\11\ 2M\ 6\b\fq7\8f\10ë\9bÊ<ÕUcyyõ\8dï3ñ-îóñë´á$}ØÈÙõ\8a.Ó»(Ê\b\1dO%\99"a±\95\85¼¢cÙ!\eâ7ÉIJ@íØýJN_\15\15\18\1c\ 1éfp\1dkM:\13Ì4ð\97¹\90tÿF\eL\ eµ¿\ 4"8éU\89Þ)\13\ ev~((òZ1-ô\14\87<\ 1>kÕ\15\90ý\8e\13x~úH\11Ì<\9cÑyg\13\99ø\fCs¶$Ë\9d\91Nå«î\8cç\b\ 3\94\84\86\1d\1d\10\1d\99\86o¨Ú¤\950/¨ói30±ñ0°xÉù¶\8dqØ'\10Q6ã\1dW\83\8f\8avOº\99?KM¾àW\81>\ 3yG\99wU,L\19®Ô\13°É·$p\ 5[ÄÒUù$\9f\9a\ 5´\ 3e^Ã`Gtêõß\
+>\88¹-ý>ËàAõ`ÔóN0u0¤=Ï\19Þu{9\13òÏ\05hñ'ãq*×Ȥ\84:Kä`Ä\8b@[\8c\ 4\17\83ÏȤ<Ø\1aó}%ìÈ$<Ú$6mR\92\88\ 1\91)\8e~\98è\7fËOÐsNrLü·\91 ÷\8aÕÎÍbêü\0JVW»½½\82ñFpàq\f\86í\9eßñ¯3\88_\1f­g\19»\ 2\13\7ff\94Åí\1eî\1eî\ 1'\9cêkÂåi\19X\8dw´X\ 4$b8ÁRÐæ ]¿E\9d\15\81\84;\12\e\9dºm\12\87m\1dÖ2a\1cSËÈZ\9ct´ÙDCG s\98í i\vë0Zå\ e\8aêÀ*\94BÊå\9f5ÛIfi:§_g\1a\90\19`\ 5§}\85en\0c.r\ 6<&¡¹\9bI\ 3\13\a\85äÏÜ0C\8c\80\19\b3ø]§ã\18åXtΫ×\ 3\98Â|ò@ý\8böÜ\89ýûnߪtýSzdj%Äo\15M\10\88\a\88îÔã"û¼^,QYé\1eQùY\94îUÚp\18õÁ%fRî\ 2w\91Å£¿
+hÙ\e\9bxÒ[+>­½ê~!¼\8cüë\8e\9d®Ö5+ª\96Ųx2Çó#uu\13»vêçà\ 4®Â±p-æ=dÄR9\ f\10\94Å\84=îW\ 4ì!¶ÊøCz:S\ e¶wçueØ\95nüÎtè\97\1cÐÎ9;\ 4m\96xL\19\8f\16uÛº3è\7f@µ3\ 3(2Ï)ÔS\8a<\ 4  \ 1I)\14í'1Ö\ 1u$`Ð
+Ø7¤Ñ(¯³8\18õâ§ï\0É]ZÍ\1e\ 4å\91\1d¯\8f\1d\ 5\1dZ.bU\98`)ϯ±ÓÁ\91r`¢ª\aôº _\86¸ÛCðm6\87yC\99¢\9bᣳiöL\15
+\15¢}\89RL¹\8a\19NÔ6\81\ 30âÈÌ®§(\89õ2Ht\86\937\b\9bô10qÿ\s\9d%,e\15\9büId\10cÄ"°Èröõ       \9btr\bˬ´ÊA$Bìhÿ\b\92y'h»\17\83#¦½<®¹\92\96\93)\13\ ei\eV2º\87\1c\1e4:Çñ.èAë\12[¸øLÜ\ f\185kÓ¹«ö\9e\e\16lcÒaíèÊöðÜÊKñ¸Î­.\0â¹7ñÿ.\85(cÏ¡E¦Q¢Xz\14\rHó4)O\ fB\92æGuóLc¸pÁ]`ÂeÅ\9eÄ\9824ÎT4ª\1fø ä­}&8R\8c«§§¤©÷ö"ª0hÔ\ 3\0\83\EÖÐæû@(DÙ»ÁÌ\14ðÌ\1f\1d\98\822|\17:(\88\84\9dCdæ9$ý\vd\e.%\9b}tr       »ø!#¡9úób Ð\8ds9\90 \95Ðà-\1d\aJ\1c6Õ¿éI)\1f\a¼Q\1dmõc­LX\b3#´\9aJ¼NGN¬:|?\10\8c³\19©õ\8dãçâ[\8a\14»\82+\97\82\91\ 1æ\ 2\1c:\e\ e­3)GÒ
+d\9cé\e ic\8cû+É\ 3A[Ì\8a{ØÂ_Ì\97\1a\ 3lrÑó P¸ n¤[þ\8cÖ¼ k½êÌ´jN¬e¬åè\12\b\a\}t\13\r&\93Ýè4\vu\fûPþ\84Ò¬à\82Ë\1d·Â\96ðüá\ f¬\9c\82x×raÞéöA«ÿ\fe>\¶\88;ÙÞfâ\ 5\9d÷t\9eJg\1cdHiúÆ8zQg\89ë\897=\9ei\1d\1a²sðÄ8#\ 5\9eJc&N6Ã\11\8dp\9dXT÷\14Ô\1d£=(Éç_-0\fâ½½#©©pÀ÷FLs\98·\16ñ9o\98|s\88Ã\1c¶ì=;|cæj\0\ed\ 5\ 1ÿ\ 5Ò>\ 2äÄ/:\1f\0mõ#\96\98ç³¥\82r\eÁ\83³M'*\1a¦5qÒ.¢õC\11\14ÕÎ\98À\ 4\9a·ÍAu\81½¡P¿löÁí&:n°XtÛé´{Ê3?ù\86G{\ 2\18<,!'k=ëT. ý\ 2\9eñY½ø\17xV\19\98\f£\95 ÍÏe\98Pâ"¦¸8^\a\ fø¾nálÞQfCqê\ 4uÀÍïâ\rg\0ÙjÌÌ>×X\v9n\8e\1cõ\93\8a\826\96£¨g·ò\96\94Cð]$%¬O£¥öÄ\ 2¿\16\84\854EÀa\1d\8b)\1eùÇq\8d\1c£û©\8c%mÔ\1cmYð6\ 3 \e½k~à\99\84\80DD)>B\9eãÎ*=`ö¢_\93E|Km\15ñ\99½öÙ½ø`è¯K-g¢Ê8®v\8b\1aKZè¶ú:-\14p'z±|Wû4ZbÄÀ\1a0Þ'£\ f\83£\ f\86ÛF\12\7fF\8c\ 3\87ôvØG"»x>\18A¤óMº\96÷\0\fD°Áßï\9eöa<\83ͦÝ[7f\12\1d\aª\89<:\f\10\85\Q"\8aÐÇ­ÿS\97\ràÁÙü\95?\e(çàÂØÉö\8cð¡l~<IC£â\7fÂ\16Ç×Ä¥\v\ f\9c\89ú!lt    Ý0">\88[\1dÉ;§Ì\88ù¡l{Ïù*³øBsÿ½\eqò?Ò\8d¸ÿñOÜz¹.
+hÚ×ÀM\e\1fý£k_B\12×\94¤¦B\93\17KEFÎ\1c$üéßs)h\9d÷\7f »ÿóË
+ÿ½¿Âv \1d\98\93\15¸Ô$pq\89\93\15»4ÜÏ:IÛ\996]ÄÞ÷ßм¨\95ç&Á?,\9b\8a\11÷ó°Ñ\1cê°o\1c­\bì\1c\82\11ß\9cð\9b¸äÛÿ?®\82Éo;aq\1e
+\1eOó    \91ÿBÏô¸\ 2_\9b       \ 34'_\9e\7f¢YÏ\998¸^dm'§3%\91íÜÿv\a\19Qé¨Ì\93á\13âTS\r5\12\85\91W©ê\82\9cR»ú\ 5L¥¦\99e~ Ìë¿}\Ã@³íU\92j\bîÌýúMêµ#wð\95¨\19¢û\84­\ 1x¨o Z \85q!ì+'ïþû\ 6¹ý\85qf¦ r\1d²ÉT
+\9dènvË%\8dN\ÔïæT)ü)©áÍO\10jd\9dhzC\11)½!\93K\ 3H±xá~åb\83S`jx#S\9a5:q§±X \rJ\9a\8d6\86ïvF\98mL\86¾ ²ÿ_\10¨ÔÖ\1a\9cA©Ä\9a\99fýÊ%I©\95ßS\12Z\a©5\9e¤ÏÜ\94×--\ 3ñV\96Wòc0r\ 5MPÙþæ=I©\9e¼­ÿs\1e¯fTÐðÍ^jq#O~`\b\ f\8atÖç\93\87M|\9f:\ eÿôÁÛíEÁ\7fß\ 6ßþ\0\aßÿ\10ö<\92H\959÷Ïû\95#¿éOh°\95§­_T³ÞÍIJÌJ¡eM+Î\83\1fñ\7f\93ÞÇü\93î|¯ÿغÏtM} ü\ewù Êá¨\ fú¯¾x¹\ 4-ßu\8d'oû33!2\ 4\1cÀ\ 10\10\b\12T\12(@"2\10S9&      ÌY\16\ 2Ñ\80µbÖ\8c\1d\f\83\80\9528     38b\r\16\8d\96·U-[hÛÕ@*3     HÀ*@\ 4\11\ 5¬\82Õäqª«@\11Vs÷ïßÿÿç3$\84\b\ 5«Û]vú÷W]ïµ{°ö½ëë´öµvþØ{kÝ]ïvýø#ß\82~Ùwàí§\87»Km²Øão\ 1ýhÊà¶\ 1ìÿµ$\81À¸Tiï\86\7fÄÅo}A\98­\8fUÇb¶|\8a2½,±\98®\8f-û(ÊõF}\0½V\ 3øÑ\95øÁ­·2\ 3[oSS(.©¦ÃCÈÌ\90k\a\8a\1a¾ÑÇ\r}y\9a²\r}þàÖ[¤\ 6²òÎA\84ï\90ò\18\13Û\b°÷òä©\11pä`gf9|\f\8a\19ës\ 6L\ 4³}Ò\13\11]-ã\1e\81«\15´\83B\81ÁCé0#\96éNI\1e<# bΠ  \ 6\ 3\7fTárI\93\10|]\13XÆy\87&\fSf\8e\18ÇN\ f~"_ýQírµ\19\8d\\9d\ 3ó §u\96J\98\83f×óZ_õ³Æ\Ã\989UÇEѦPG}VÀL\91Bª"¾\9d
+»¾Lè\80\1dt\1d*8rãÉ?\86ZjÙØ\98êkÉT³ìо®\0\vÓ£\9f=i\80V\8dÃ\91-JÕoàæ\9f^ºYoüÂßü\e*Ì}\e.+\9cÎà
+×'2#o/Ë\13       óÎ\b\ 3`9Nëä\ eSºã\a\eÛ\ 1Ê}Õï\8c\1c§\9c½Z\a\r\1c×\ e\8bßî\ e\1f³ÿè çö\97\10s߯|Zö8!\9amâôÀ_<\9cu\8e½±èÍܨg·d\8c\1dѼ\ 1ùwÆ\17\vÞ\974ÍÕn­\84 \80Äj\9f\ 6ô¸\84\13¦uÄ\10\82b\91f\v§\ 2\89ÅZÀ9¯\9dj,ù4ç\99ÓÉ­úÆ´}f0!ÈÞ\90\ eÖé\9d[\88\1f³?Ö\18ïvTP\ 4!§è\9bÆá¢\80\v?ÁÄ1ß$é\8aÿ?\15Ò\a\9831\eX=\82:·H¢Ëm/'¯ý§\ 6³Tz&VUi\17{GH\f\1c´\10ÁÏL%ùÏÅè°ÐòS"è\81\ 21\1f\82£DèvBÀ\9d@ñЮ\8a\90B\ 3\9d¸ÉÕ¦0c´Y\94ß\13\9f\0­OKy6\98i\ e*\ 4Ð\18\8cG¯£²×\9bRPIÛ\99¢¿/¤\95«º\10`De=Ó\1c0Q¦\90\18\0_³Z`Á8\ 1\ 5o£¦>\86eÝÁ¾ÿÃÕ§4p\83ë\bå­Fì\8cØ-ä\82\11!m`yvb,\8fÁ4!\19¥\\87/ÿ°k Þ©Léê\99t(\80V8XgcB¦ú˺\9c\12\ 2Ñú
\ 1 \v~Ð@Ê\91\8c|\r\83G×H}$Ê  ^\82Ó#|º2\bø-\r\1eÍÇ\9c\v\19¢6\96\ 2õ\14{X}µÀÓæc\1aYÀ´Uk\81h¬»¡\ 2ÐÖ\88Ð\e\ÈÍ\13\8b\12EN\fÇ`jû\15X(G\80Î\1c\9cÃ:\9a\aË~\9aTÐS¸×cÙ³ ¦[ôÑ\9d\aÏ{\aßjã¶\1fp\96»\1eÕ\9d\ 6^7e\ f\1eÎ\e\88}3H\16\rx\eÃ\10\e\16õ=È\90>z\92%ÒYú¬ÝÆ\ 6ÅÉþ»púË\eëY\9f\98ïY0       \r=\13\fAó¸°µûP,Zð<ß\r\9d\17-T\ fT̲î\97\ 3çq\r_ÑÄ2ñ2z£\83e\8d·\9cy-²\89 \8b" vÄË[ÙH»ëà\ 4\erãÆ\9fæ\87 PÀA¹\95¤j÷þ\ fÚ\ 4\e´\f\99ä¸Îþýÿ É\9eÆîHp;È\f\99\81Q§â¢#êZíK\14K
+Ã"(}ÝpÉÎ\12ímK\eúíN\8b\86\96a\93\1c2g\97kh\18î\ 4\eF\16\16\92®Ì1ÞèáYeÞÕ
\9f°ú4üPË\9eîìZàt\ eö´£\9e\ 2¬I\95´oµ\f\88vs\ 2{L\96ãSÈC\aÁ¿\98dg~\ 1\91\9e\91\9ehC#8a\f\8cú\0\19\19à8Ïôí\17ØR®8\bW\11\9béá\10\ fáhÍ]\98\1a\91¬\vI\ 1\8a\9epHU\84\97sÁ:¼Þ¢&t\83)Hx#i  ´D\9f­µZS\86( Ö9\91\12C´.\ 1\8c1l\ 6%6\f×\ff\ 2Â[\920(v÷Há\86\98¶o°\ e\8fA´í\98\v!\87ºõ \86¦\9aðH\88º\eJ\15á\8aDÛÐsXç\1e/C\86H$Ñ]^ÑP\17ø$?\9a:K>ú¬¤\ 5þ>a\ 1}º.RÜ/ñ¦r¸_ãÈ\94FÿE%\91c\85þWT;\13\ fÏ\ f\14/åYû\ 2þN~0¿\93¯û\85ü±5CnY\97Ô¹/qË\1cyÄ&\10+\85\1ecZ½\85T)Ö·¹¾ºÌ/\1c\8eIõ.Q;Q\ 2\11Ð\17x7#\81çVN\ er\91\90\16\93©*\81Î=\ 1O°Æ¥Ù\8e@ìÂö\1dIÂö\1fÌS¦&õe\91©*\v\8aw56\9d\98\vÈ©Íñ\ 5;.X\14ìºG̤>`SÑ- SÑ\8e\87óf\ 1ìY\80)\93ÝÿäSÖïÄgÅç×á«K\17çf<1\ e¶@\8e)ë½ûh¤nÓ°)ë\ 6xK\90§¬&C{\86\8e\e\ e\99\14õâÑ«è\eÖ»!OBâ\9flìÂh\14òü«aO(oÚäm°[\8a\82F=iS#©yEÄ\8cr·?þ    \18üÒµLßNW\88$cð\eþÑ#\1fDJGi¡!¨E\ f\ 3\90$c&\89ÿëÂÕ#ìA\8bæÓÕy໪#.ä¡^/\88qh\9aìê\95i0Õ*\97maŪ\ 5áwvÛ\18à\a?zü¨=\98µlb\ f ¦v±i.¥\16Ã\ 1ë¬ICf·ÅìÎØ0°ê#\9eÛg~Ý\14 Y¬h¤Àð\v\ 6¹T¡\a\80«m\8e©£h\92\9b'\93Û\87Ýp^5Ì0~'Ò\ 4\18`\ 3\8e\ 5x@\83Ãl\18C\8d\17P$©á\9aP\9d·ZZæÁNà×\89\93%«ÎÜÖÎËg\0\87f\ 6P_^}\1aÖ¤
+6\1elI ZêX§\f\ 4Z\1c\9e~\80\14· SETÞ\ 5ah²À\97\9f\ fÐ-\18¼Ê\83:¬Êá\86\82G½Ë\83Úf¾ù\93\1a¯±\83ÃfãA§!÷Þ\ 4.&¨³\92\8b[3²}{[þà\v?«e71® =\93\8d*\15\1ci É\ 2\98\9eò\80\16ƳÝgO\94w9à\87Oëì\85N\97½\10\9d\1dÔéD\86úN\ 38Ðæ\0\93¾ÐÌ`C\17¼\87âä\0æ[è\16\8e`Ì/\v0­úÆJSÉÖ\v̬Ù\9fW\ 13Çø\ 6s`H#-°)¦ü8!\9b0\90C0ü5U4\13Z¬ð³ #\19
+\82oT\bJ\ 1
+\81Ü*    Ëc\94\80ÇÒ7½\\17vì½êàºëv?\89§ï\ 6íêÊYë \82\9b.zÉN@7m\9dÇ\8a\rÛó\8aë¥h      #áÿ4§ø\83vþé:æë¤\94\\e·ãJ|`Ý»ì\80\0Û\10\aas~\89\97Ïr\ 4øßý+\0öàà\7fvÝ#ä÷\ 4¼ï\9eq$|\9fÁÅHù8²\9fîVkä\ 3\81üfߨ\1c\ fTÝpp=±Y¯áÿ\8aGÉù\9fê\91òp¯\1fY{FGÞ/hÈôÍÿ°0Oþ\ 1\82zoà@\95ý[\87$\18'\ 2Ø\81+ø÷\ fà\f\13 µ Jä»\a\7f\180L_ Oÿà`\9b{\87\18\18'íÉ|@Á=Ì\97ù\83\ 4÷ìþJ%^ôH\9füz%]9+ä\a/%ý(\95x9$Q\15䤿Â\89V,%o,$\15¨\9fâ¢Uùká=Ão\8a\89\81 épíÊ̸®Á\9fñ BxßõF  7\r¿ª\90qÿ¡\ 1÷ù\ 1«ôFoá¿ÎekD\17ú(k\11}©Z\eã\83Iåm\1cE\7fÆeæÛ\0Ô»SÄ'òPàò<\82³§\1e\86\1e\14AxàÐ:ö\ 1 |`o|pd\19Á¢våk\9fù\ 3)ÿö\foäÐüþ*\1fß'Ù¿âd\99ó\12]}WAªe\90Á|¿½wæ5\ 6´inN\92\ fò\7fÄ\19\1fµ2]\ fúÆýéï\96\7f½­óÿT\1eý\ e\8bC\87§¹nn\9dçGf\b\8fÿø%_û\7f\7fÊH+\92x9®\9e\r?èÃmäP\9dãÊ\93jüÊÿ\ 3²\93w_Ö²áVõ¼z\13>× º§äÐ\99óýoý+[~\9f$»Óäÿ\82µ·Àë\7f­\90¿\as\8c\7fµ        \7fM\923\ 6\8aò_²È_ã\ 1;ãòd¶\85rÙ?×B_\ 1Á\r/Rj\11¿SñP\97Á\81çýQ_°:®«õÐ\97òFØ\1d)¿|EkoµA§ñ%G\9döD\97\9d/¨_Ò½èôö¾\95é\ 3l?   \1ed\9e%\98\ríËÀ}öW6öw>Ó¨³¯%L\9aª"ýY\\8a=/F1i@ok_³}¥
+ñËùLÊ\96\9e9^ÌM·´\95ß§7»IrU[\80È0í\93·cï­5\87\99øýÝùs÷ã\87»\8fÙ0ßMR\eé\8a5côæx\92ýâw§³\eé¿ë¬Ù\ 1P\b¶ßfó\1a\12ò\89\a¾®~T}õi5\1f}[¹kO}^k§G¾¯q\94·÷ÕÛwû         Fc)\0ì¨\18~¨"\83P)æ)\9e\0íå<\84üè æàZ%õxÒe,̧\9açë§æ\90ÆoÔÊ0\8fMa@þôòfÉYÙ\bôØaÄÉ{õ¿\ ePõÏ\88\97\8c.P\89¦t\1aÄz\ 1ª\9fé\82ò\rå\17EJ\1eã&k1I¤d½\ eÿè\8dI\97·¥B"ag\83\82\b?n\94½_ݵ1Þf´½
+Vp\12Û=\99ÒH\7fn\83\94nâ¤\ fúä\rv`mmÞ\v\11½\9cï\82ö\ 2毤Y[Ⱥ\13\17­\ e\8fá«Å\8cfcÑ\15«û3¼`ðÜÁ\9d  \ f\84/ß©\83/ßGÌ\10ïXXFs\90jH¾ÂH\1côüú\90\vÝ)¬¹\1cÇu\8dã\8bï©\8d@\1c­\120âj+\91µK·+\17(V$,°\98\83DZbƸ£ H±®\87à     \ 1§«¸\90ð8Ðäûèx\9fP½-û>&)5È\87\87£\91\ e\ 2\10zEÀÕ¶]5\99ÝÔaß\r\96ÆY7þËZF\8bsÇ4\83TR\1e\83^¨<\999B8\92Q2Ð\ 1\99¦\ 6;\ 3\9eR¿\82|÷Tù\ 3\90\bÓ£å\871Ñ+ò\95ÑO\95¡\8f[\8a½àX\ 6\83I\87\152`Ñôy\86u-c\X`ÀÍ ýô\9d\ 2°\82\93\9e)"­\93\80\ 6µ4EU\9c&\9d¥ô\vå\¤\1e\13s#\17\1aò¥{Çh09\e1\81tOßa\8eE\1ce\1cÎn\bÞè\8a\ 3C\92\1cå\ 5\rWX@Ú\8d\9a¿g\9fF%u\8eëT\ 19âx\82ý÷Ô\ 5ÌWÜ\eÐvo§÷)¥1LAVêdB$\84\9a\82`±Öå6wJ\1ev¼ÕùH"u\9dlµðk÷ÐkZB&\8d0O\fnc|/%ËÇ\ e\9f\83À\95U\94\97T\82Ë     \13\97è¾é·\0à\9dÎ\9dhGßlÖ7\1c\bÛdlÂq3p\14ÑøBnp_\ 1\89ú"ü¨´\8fz7çX7\92;ãBíÕ\10\98êqÎbLTÈ\9e78Bë\ 6Æ\11þíÝ\9f|²8\v\v\93ý9\15Y^\ eÖ\r{0|±<^%Èçahà\89j4V\9c\9f±\80Ib\1eyÈW÷9\ 6ùB\85$\14\89\10¹.ràõ2\87\v\80\0\b\8d\92Ø\eSHWâ¼\11ë7\88\13b\ 2\9f\ 5ïKüG´E\81&þÑ^QÝ·\ 3ÚS3x¼°$\80Ç\a «Èå] \1a³\97±ê
+ýi;\12ð\95½\8dÕ\ 1\81;Ê1\96<LiÞvwdH\r¸|\9b\96M­>\ 1u\ 3F$p\81'Ýx`\7f%Õw\8b}&á=Ú\15WR;\ 3A\8e\8atõ1ذXeIÞ'\8b\84P©î\81\ 2ó±J\1dQ/ÖïC§a~´u+\7fê\9eOX\ 1\81ú÷ÅÚ±\1eûGØ\18àâ\8a³<6@æ.ì0\10hOA\9d\94£=b    yÐd\13\80\9d¹>¾F×±\16ûÄ\8f\17¨Nt½¡O»à\1fÁ\13¥Y=§ÝÀ\en ~\1aãëôm\0þÁømN_9[ò´û\84çW\°\94\8e\ 2¾A_Óý\0Z\0!\80Û\9a\ 2Q¢èÂ@\a\15<\11\81àÎù`e!å<\983'}\96Õ\94t\81µ\1c\97ù¦M¹\1d\81ÝÓæ\10ÆAVé£$\19\ao\93vkD\96=&^\9e\10¸G¼y7\ 2Fw\84p\9bHf;6p\8c\85>¢HG\ e)v\16\ 6\8d\ 1\8aÏ\ 1`bäd¹Hå"\ 4ÌWÿ\ 1Ì¿r`1\80\9bÃ\9e\8e\ 1®*\eV\15)\ 2í;ÉÉ_a\93\a\89ÍÚ¼¿.k¯²;      \80FRÏ7uµÔÐacy\ 1\9fÈÖÿ.ͳ\82Z©ÂÙ\7fáf¯S4\8aKÅør\94\92D¼+ãô¾\ fÐ\12 K
+Ý|ëé\9b@ÇS\15ý3\11ôG\9e\ 5[~SB©Ö Ì\9fÊhÄ\r1@Ø\8b±\9d\83\11÷ùÖL¸\9b\8cÂ\1c\81Ë\8a\ e弩\13¸\1fjÆB³$\vXòv\94;\14á'¨[ÿ©[ÿª[ÿTö&z\0<\ 5\1cumMÇSdz´@Òà%  Ó       \81ÆÎ\1c8õæ@\9b6\95\10æà\ 6\17\14\16hûàfúì\1c     \8b\ 4\86ñv4ó/`ûîóSv|¼\9cØHÚ)Q\92ØëJyGµ\1eøºB×ò\84±\1fp×õÏÌ5àÙñÍ÷òYÇw\96\r\1eèò(M\r®\8eê¾í#È\7f\8cÄÜ#\1c%K\8c\12\1e»\81µ\ 5õ4;Â\a\8b\90\0s\87T~@\v\86epL4I(÷W Æ7õ\1d{\13\80\ 1s@:*0s\0ñP&A³\e\81äñOë\ f\rw!0y\11øð;¯&\ 6ü\96\11«§ÂNrr'ygÇdìº\ f-\8dr½Ì¿'\8eº#ºê\92Ó\8eµ¶@6\9ax«½¯¹¨ö5\9e¹[ç<{ý     \¬ß=iÇ8BYK£C+\95å0,hVLB¾\9a\13£0Ý!¸Òö\f­Ø¸Iî/\1a \9eh\96};kØ\8bpX\12z\110Ëhè\ 1"\98ÿ\ 6,\f_p\1d\9fÎãÅÛåR\858·ýûH\97~éáîã\1a¿¦pË\ 1Õ[ô£Ïºü9÷Ô-ÆNV\rÉ\983\81\89oÛ@HÅ5¿m\81#\v\16ý·\ 6\92\88fCâåo\8c®e¹&ÆL¥Ùo­Ì>­Ïõ¸\89ª\vÌI\vK^\16\82\ 1ÉVV\ f\9e¡¹|\1aj%\8bàß\8dÐ\8eÞ=\83SÍÀIMÞ/L=\8f\91õÇÝ!Ñ\99\82aÕÑ&ô\ f\ 4à)«u\9cGEû\85õ\84md`=ÌÌ\952Æ37Ý\985    c\9c\ 6¡+Þ ûÒTÿhQ2\ 1iò7)8Ö+s\8d\9b\81äf\19¡\11cdFJ\81D§®VS\18<\ 3    &a\9d\9e\8eÜÓùW+\89çMÉãót\14\86=¶HZ\1e\ 1}\91\93¤ã\×û\838\91wBLbA0@ó\9cä\85\87E\ 5áAN(ú^×s\88\94[aY\7fɳ¹6|\8d\9dî±Vû;ó\ 6×_9Ïg\1fe\83g90ü=\r\9fb\83gܨlûì\16¡TWî}\v+!7\8c\bÙÿÕFÏÖ\8d\ 4Úx¦GÔ\ 2ØYCëçu\e£FÉã<?ËÌH\14à³\9b\83\1aèú\3¿D\1f\8b\88*>#Ë\1ea\8d­oÖÁå\97ÚO\9e·Ù»\eI\9aÅ\7f\9eÒWX6u¹Q)B©æ#´¢Ýhew\12ò\fÔ§\ 6A\9aT\90\9dRën\1957\90|\8f \9b+Fq¡z\ 6\1d6\91Ó/4\84%{\v\ fg\15~¹w\1f\8390\11Ý\aõÏ\84Hîæ>\12WxhýÍ\11\ 5\ 3;ÕÜÏ\8aút-\82É\ eã¼Õ¡\84Õ\9bë§ÊL\94àìÚ­\ 6(ÙK÷gÌp{ª6aã%\ eâÙÃ\9b\95ºåkDÓ\91ûÀ\8cO I\98ôu&ðD^\r§æ
+\8aAð*Y²·ºòñÈùö®i\9a\1fe\9e\0\ 6\ 4\82ÝËÔ\1dåÐ\93ESI\11¸  Å7@¦|\9a#\90¦Ð/¬Ìä\10Ój{ ^(¹P\aQIÖ\f\v>!\8c)´§é\8a¤Ó %¬1¾\ 5\v#\10:\88ñM\ f\84VCÝû3ö\99\9a\r\e}\18¤¼vÇd\14rQ>_Ã\8ek°[nú¦V¸1\8e¹\9fËø(\94>\ 1Á\au\7f²\93[\91à%ù¡Û!,åÄ\1cyªÀ´Ðâ¼qãXL\1\97\aÜÆV\ eÆà\8c\83\95\17\926\1f\82±Ë Æ±\8d%Qí£¢Du-eq$\ eð~\94\1fx)¤BesjÍ\18
+ê¶ó?óæ\1f¾\9fN'à9îFö\9d¡\1cýæC²ÒÀJÍ\16\8c»\92\82ñ}tCq\85\81\91\15Åk*ýÀ7W;\90òG5\1c\914l\91¨´É\1dßùd\88ú}E\88>\9fp*äÜh\ 1\1c9²¯'ºÙ\8agØ!¹g\16\9b\ 2\1d\8fQ\vD¶CuõQ÷_¦´Áòën\94¯\98µ\97ÓÕ295C\ 3\a\95ö\17÷âÕHÅ\9ck=\eîbü\1f«ög§\14F\99Õ\83#\8c\84\9f\18\12\1a;Nñm\8c»6Æ{|j63Í\ 6Æ{Lj62E\ad¶;ÄØÞá\15q$Z;ø1rö7/\Å\17}o\9f~ÇλØ_æ\r\13\ 3EÉë¦C«ç\96\8a+\91 dE¨\12\91 f6\1a\8büô\88\95\9c\92\82\1e\19ì×\10¨+LPK#\94\11`PGu^ûB
+h¦5É+~\8b½ÚY\9fÙ\12#\88*       \8czWùó-k\19\96¨Ù\95\8d\15ªcEuPËE*M\9f\9a\85Z\8at¥~Gõg×þ\ 2úÿàðWùïx\tå\97B¼vdà\15       R\ e·Â/*\7f«"Z÷ìÑâa^òÛ<\89×·{hB÷\91ÕEÏ¢\9d&kÑ\ 6ì\8d\7fÑ®ÿ\9b±w\81\99\13ø\11+X\1c®&ÉØU\v¹Tâ
+
+8*\9f:n¤\91³Î\86xŶ\7f×\ 3\90
+ Ë\85\82>\0\9c\1aæ¢\9bª.\80ËY\8bÓKÑ\15Q\RåY\18àëÄR¤Z5_:È\b\8e¬B\84\9f¸w\8dÈ\9dÆj³$WH\ e\9f©m1H¼Ä½é4Ý\10)çõ\834¹Zxò\865æ$z6\8a\9f\11\8c\11\r\91£\88ÐÕA/,ï\94k\fú¶Ã[\13²©\1a[\13Í\9b6\9e­ÚöûÛ:Þ«He=«\9c3\1aU8FKÕrîðûS\12ÆìÞ\16\84%oA\12º!Rwf>[`|µôæ>\z@\9f+\17¸2þ\81C­WȽ\8díÞ\8fâ´«lAVÿYìïÌdûÓ:\7fËCd=ÄÕtþX ­¶!5°\1d\90.\14¦Á TÙ+\83Ø6Méõo1~àü\9dö_}hf\94üËÚ\8b \169æ¥Á\90ë'i\0?¼-R[Ñ\ 5ö\1dÌÜcgÑ\10´¦½\96\1c»\88p\ 4±Ãʨo½Ñ³\r!n\89ÒÌtªýèÃi·ú[?
+-Á±\ 5ã'\8e\14L¢'Ee\9f¸\9e\98¯     V\ eAËRV)\8fr·gbLL\ 5ÐÈä~\92=£!\91P\b\ 1Ã4\ 2vC\18µ4+B\\ 1Q\14ØãuÉøøÆ\90ÖîÄo\fÈ\16q:<°oYÓ2ðÅW\97u)û\94éDä\82×\19åz \83¢Ãj\14F².¡:¦m(rcÝ_&b\ 6s¥¢\r\ 5\v&\1f\fÊÊ\r\97[bÃOÙ\16\8bòW\f\90#Ý;¢%qãÍÞÃ\8b+\87\13º\8bv»­ÉÂèÇ\ 5\97§\1a¼\86És\90 gî"y,¾u7ÍêÌ\19O"¢õIXíÓ\93`¢{\86Ó\9a\ 4¢3\141ÉB      Ý£\ 3¥*¢8\87\e4b\8dÐ\90©e\95ÝÎ\ fN\8bÅø\ 2Ð\93À\eä²#yhkµ\88¬\1a«_Ã]\80¾«÷G\89¸£±õ\10}?\8b.\ 5¢åWK8kÜ\17ÌÛU\15@ÚòkMÚ \17l±Æ!\18\1dÖ9\9cÐB\13Æó÷\830-O\999\95ö.§\¡\11\ 4×þH\90#|)<»Ô>qH\84+¿\86\eUÐm\rTlr\85\9a\10G~é\92\89&¸C:ÊýKí\9f~ï=\85_¿w%\85³ïÝ¥0øß´¼#yUÊóWV4Õû\96\13?À=r\88ë\vC±®\fb#\11Ç\11êr\ 1´À²úäï\9ea\8eÕÑ£¯ú3óWðÆ#ZsÖS±\1a\98a­h'×<®\94\8f"\0K\8ffÄ®´\86\8e\1f\83\vÀ\16i\÷ ÉuÊå~þ\10¥k¸Zø \râ©ýHS\ 4n\84÷àèõØ1}\97\93\85â\15\ 1
+át(QBé=\94àØÀ?C&í\8e\86NLÿÚ\92ÅëE\8251(\13%\fÑ2\9f.Âé5#?[\81C~åÓ2!\81\1aªµÄê°7èºNïש¶\97D8®\12ú¢Ô\ïüt?±Ò+©\91Ñ\ 1\9c÷OÑ\0Â?\7f®õI{Zª\80US[\9eª\9bs\v\19\8fAq\ 3NÐU¡cY¸^×\19f\99é\eÉëzÐ9X\86\bò\8fe\8dW9£B>nc\81í\89 \8f\9c\1eY\8dçT|;{p]B-\90\8b£oìÝ¡÷Ls5«%ëO.B@+ã\90sYêÌè¨cÄâZêÓ¬ò\r¥iul\vBu\v\aÆoì¬\8ddÎ×P±ÌNüöâð¾ømùíÅÑ}æwç\\14Âûà·ç\\16âûç\8bï8\7f¿Mð\1d\8a»Å÷õ\11Yi/¸¢~8Öc\vïø7Ç[4³}Ë'Ò\9fïà\97Þ\98ÿ\7f\0¾ùsýû=ð*7å0\87Åf\96øg\f\1e\1e©\80¹­\10¹ðÇ2\195\86J
+ÿé\f\16\91\88/\b »¶ ¿?ç\18-;\10W\e\11\82Ô1\ 5ì\15\93\11Ô±\ 5ýñ\98²j\ 5\ 5÷£1dÓJ\vµ\15UÑ©­b\vÁý\fY5Ò\82¯\14\97{©3´
+}\7f^ÊÈúÇ^Æ\vÞ\15\93¬U\88\8c{,AzÞÀÁ\1e±P\ fIOÓ²;Oàò°µ-\17iü~¦\95\1f1\9c£,a (\94erP¾Óµ\12z\98\8d\ 2p[\ 2\12Að˧\12TÅd("¡T¿f\82ßbZwL\866|TE\1e·o­\87^\0zÙ´L@\ fZçfÄ\0N\18¯_\87B\86¨IV\13Ä­qó\85[~'\90ɰÇ`\v^`çÚ¯\8dÃ,oKÎGÆì`~¬nÁ¡È¬\96\8a]\11²qÞ\rz\99Þ%²zÉ9Ò­ÝàKB®ÃÐ:."/\95:ãâÐÎ}¢\9eL;©¨Ë³^\ev%d7±<        \1f¯ì¶\ 4»Ô\v\97$¢ÆlW÷hZ¶]\81óÞT÷y\84:ïÃ\9dµÂÁó¢û8U>\120\18׳\e\ 3N°ÄTJh|Ê*à¤í¶\rà\9f\15\ 2/6,0F¾á\r\ 3\86R|%kZp/aÛÅ*\v2B?~è+ÕáÝòþ\19äW©¾Ó0ãO\98\7f\ eZ\86%@³í?\11}¶Á¹CàÊnGk×\15ö¼\8dÊ×\9d4ÐÒ\9cÔ\86Ä\1f\1fæ[æ47ÿ\94ö Èa\ fpT81Eª1Ã]´óÒÅ÷cåÎÞ½R\0ô\16\93×´ðlÐ!U¼B\12\b\93sÞa\89ü\røb!\93!¥Ú>dæN]{Ì£H\81\fa¦w¸â\8agpVuþlq°ë"ã$'ø\7}Û\88\82E¸#¦Õ\99È'pm!áßh|®Èï³ÛUùØöÀ¯®Ù\1alD\14\f·\1fóaǺ¦¢\8f\9f\ 4ì,ðONlöT\10îÌÚ\ 6I\14¦§j]/Dz\99\ 6Õ\99®m\b\ 4\97\12m\8aêy\172òä\92Jíy5\8eÑ{\12\14\ 3\8b+UØû\ 5fn\8d\92}9´d\9cÌÝ\9aB¤ìæÌñª#¼W#y\891® ü¬<w¸xÕÞ\19¡\ 6\13¯\80\8dÎýÄ-)Â\92]´Û)\ f\1f\12ú\98\94       ¨V\9d\11ñ\88Þ\bìKtîs±t\r:A\85¢Ú\8f\88Æ{uNw\8bÞÜþ\9dàöÀUäÁ\8ej\9c\81ò
+éK NP\8dõÎn½®©<A_\ e]\82ö¹i¯\9e\bÎ\ 3Hk\90\96û\12É\87f´¡÷:Kqäb$\9aEÍÜ\1e\9aI±x\ 4ð&\ f«\ 1mm>gxM\11\18\9a\124\80ÅÈ\1e6F¨×\97\90¹\8d\0\8f\19\ 3õF\b·Yl\ 4»õ6     Ç·\17èǦ¾8Ç\7f\1ce\1f\12\82\95ù¤aë~\a±\aü<9ëL|,8:¼ë\aûÒoO;\879¢,Îb9      7§ØáÿZMéè\a:@¯5\13|\12Þ>ÕøOb\b¦1\1dÒ÷Uó¯\86õWwFôÖ\92µù¥\ 6µÛÁPeÏ`0\ 6\1d{Ùè\99ÚImw\83z\83,ªÊ^\83Ñ\11tF´LÏG%¥Àª\96\ 4cR.Î\ 2MXâ\92Ëz\9d\96Ì-ßÜRÁà××\9f!\a§<³Ð&î\9c\86\ fQñOW½AO\85æ\97\0½½ïÙ2C»\v÷fhÅp{\96\9dº)\9c\k)\9b8)jb¢\8bh\11\10SrÌÝ\ 3.ÍË4($ê=*»ShçÜi\19¡\18;ïfÐcg\92\140÷úFl\1cÈ¥ñ~ïäÅû¾>/§ââô\91ñ}<\8c_\8c¢$ah)\ 6óA\92Þà¾æ\15Ý_\84\84\9a\02 K\83\8eW\96<ÚþCI\f\17V/\1d9Q\8c\199[l\84Ñ3.í\ 6gÁs\\89\9c\82\974Å|/¥.\8f#`¾ã\89Ê4ÙpqÝ\ 1\99\f\88¶Â\11\1a¢éï]z;\ 5e\9d\1d\83ñ\1e\8eÁ\ 4¥ódÑ\82\1cbtXgaa\8bÏÁH\9fªÑÐ$ì\84 \11ÉF:°4\8c¤«ü\82@4Ç\1e\1e\18\0\12Üü\8f\ f¬~\19³r¯W\9dw\1e\9a\97`ê¤\ 3\81oQÖ6\81\85QÖ7\vßGQ`\f\16:\8b\r{[\90¾\80X
+Ñm\83aùì ×ç\84¹#Jt\r\9ck:ö÷ëKï\86n"\ 4\80\ 1¯ÁÑõ"=§\1f\ 3\9d\1f\ f\84dy"\ 2ô_\f\18óä'ÊÜÚ\á}.±\80e\1d\96\1e=ÚÖ;\ 4ü\97j\1c\93ò\80þ8\ 6°l7ÀTÝ[\83è]@Ýô\8cW,/ã\9c\ 4G3I°Y®\97\0"*\9a\ 4>T[\8a,B`ú\15yöqkï8\94\82þ9ÀÆáÂÅb-\bÒ-{\92\83Ï2(8i:©\ 3Ç\9b\1c\81M\9eÈ×\88     \1f¨#¾&j(-\17Ão¨p­u\r éF^ÓPÖÍüM0Rì'¸}I÷Ql/î5\9eÍþå[\v t\82·\eüµ0\8f\86ºØÿ7hDÆ\rêÁÊ;\8fÎ\ 2\9b\80\9bèòq\92h3\ 5%Ãl\9cõkë¡\r\8d6Þª`Æ<Þ\18?¬mi\8a6Ö/t\15¯\81        õde©\1fa\ 1T?"«$\92\8f[\ 3P-ad\13\83a~\8b_%r­\83a𥠠     ëj%\1e»\ 2ϯçû\95iÂÈQ¦¤úbZXÄ·þ\81aÀ×§\ 5û°èA£§\b\1a\90
+ªu@¶­%\ 6\96ï~J
+wvpkÖâ\83e\ 6¼Ùe7<\19öá`¼iåR\80ÿ.     ³]\ 17LíB9u\ 5)ߺ   ¸ª/ò\97\18\r^øMy¸]\f­\b°\91\ 6^(P\0\9eBd_pCpZà\90\ 1mëé\82\ 1Qa;y¹{b\87ÑÖ       «·+O)\92\17\93\9fïQA¤¸ß#ã(G\7f\81µW8KÙ×yZ¹\¥êG\8cph\aµkÔN8­YÇ6­\92\ 2\ 3IdSxxAý-7VûX\17:´Ú¸¯X$\19\96»É\15/ÁVmÕ³\ 2\89oÈÓq`:þ®ëk@ÍãPÑܸÖf\e8\81\9c\ 2êMõH#;±§n\9f\93?LeQ¡\9d¨\10!h´3\9b\\e|\9fRV\ eª¾È\9dFw/[C\13&\9d\14íØ&n\9f¦Nu*lÓ\90¼æª\\82\10[OT\ f\14ñϱ)Âè\13\97Ú)¯\97¬ZBàÝUÄ\0>·        øM Æ\93z¶Â\81ïömg騧\87=foQ´BYÉ\96ߢ\8cÀÍ\bä\13\97ÝAÙ4\ 3Ãls¯Ö>=>áÓ8úg\9aèè\14mÚ¥­-+ؽ\97«}4\aa¢T^ZÆì.\9bÀ)\ 2uSëØqÊÝF\94\10\9bv Æ\10¹ôÞÂI5\1a%       \98h=     h>cÃ÷\ e{oöúÛ"\ 4¸Ëî\12¨ß\ 3\19¼\9eDéÙ¼¹mÞBÈJ\8alCíå÷\13;*\10D@§\92àÄ\ 54\96úÌÅ\ 3n¯T"Nñ`\18&\ 3\13\13·KX\19\r)}zMjÃó(\92Ñ\ f\ÑOU½\89\0X΢ã\1fµ\ euò«bwt¥Á\93\9c©5Ù§\13µ,_d\94£ÛºØ\8dÝìöâ\85Æ<3\13éå°§KE\e ­\87\16\ eé%2\ e±;\1a 7¤øúÐ\90&è¶\13|J_n\ f¨\9f[ó)\90¾"Ï3ÕXÉ\8bÜYÈ\90w\8a°nù¯TÝ­¡4 \ 62\9b\ 6\ 2M¸]6Òìt'LF\8aÆV\ 3é\83¢À](p\b$YK|£uÇ\8f[uâÕá-\89\8aÐYcA\19ß|gõ25¡1!Ä0³Ïé\92à»mJtÔ*Á\84k\99\86\88cÓ"Íè\8asÝ®ooê\v6\85\1c\8a\96íäD\9b\91\1d¤^yØè~>>¡F¨\96\9b\90|ºþ©\9e5^\13¥)³w\ fÛW?\7f\19\15ÞP¨Ô\1fC ö%\1f\b_Ú)>\98\15\18»ãÅ\13ZW=\8c\e\fó¼^Ò\9eô
+!|\94\e\a\ f1uÑ®<\am³ÀDUú÷o¯\80\86=u|\94b®S_\eÓ¶";jäì\8e\86xÒ=\8f:\ 3{\ 19ûµ·¦ 
+z¤\7fLGlêÛÓ\10Hð»Ï\93ÑÊÂ\94'c\7f\81`Ì-0ÆI1#\7f\93ô¼\15akïÕ\88+\ 6\1c> UsbA¨Ã¼6VUha©Õi½\96\ 2\13â~ `ø\ 3]:\8c4\92*\ 3µKÜ\897púy³7\95ñ\1e°Ç²\v¿#\8a¼,\83vÜ]\97\8f\16\85\19\16\8d&¦F\8d^ôe>4êY$ãõ¥©\92\9a\8fé\7fMN\8apñ:\13Õ\fhí¨®y)kj+\9eêÞ\8aç\92ÁÈ¢¹ñGæ\\8e¥¾â\ 3\97°^8^\1dçÚR\ 2Bwä\9f\15\115´fÞË\9bé{s\8eA\18ú\8b£\15-ïÄ#n<2q\ 1?;»\ 1¶,ª\93\ 3§Ãd{1Ýö·\86}\99­³\ e¼Aû\9dì\8d\98"ªè\8d\98ÁµÙ\8c\1e6Ì{Þ.Ì{Û}\98÷¶û1\9eö\1ch'Í¿\f\ró\92ÓIq\132E\aÔ\96\v¿$ª:·VC×\fö\8e\ fW+\7f\ e\89\9d»¼©È:[÷|[ÿ0\90Ë\8có\ 1\93\96[ÿ\83[ÿÌ­\e-\ 6¾üô9\9b_¢º6EiLç\12¨êåFT\95\12Æ%/V¦É(Y µ¥ªZ_\ 4\9bÔX\ 2!Õ|«-\e(\ 2\8aoàéAvÜ\1d®&(´6\v\13\14\1a\8aN\94$\9b¥X\93x\ 3Ò±=²§û\9eç ²[Щ\94\13a\81\83\10S\b#ÀZ^\e: Mê}ë\8cÿ\8a(\8fQ>Þ\ 3æÉAnÍ(síõ\ eßbu\13\80\98Ó­Ú\ 4T°Å6\ f\93\91ù7\ f\93wÜ¢AÒò\ 4ÐX!\ 2øÌô\17\14\94é&ËOR\85Ðͤ¤ûy\9d·Ê\ e\99Ñuù\v橳»\v+\ e\14h\814âéAìæÙf¤\80ks˽\89\bÅ\98\ 1£$èTt¶\95\84Ý{p¾ûº\ e\8c^Ç}\8eÄlVÈìéð\16\99\1eéÀçÝ;}r\ 4ÇX\ eÔ!zyµ²q®¤3CZ\11\9aõÙH×Ü¡\94é\ 3i\ 5\vúx\ e¢aûÜ\ 5ê\8aÕ\1fÌÞ\ 3é\0ìE\91£¶\ fA\1fÏ=´âúòX\vù\1d}A>m\89\159s«#\89\7f~àI³\ 5Z\1a!¸Þ¯\18\8f\ 5\0¢\1f\9d¿¾å\98éþb§\8a\ 6G¡ô\ 5\12
+Q:^S\91\175Õ¯E¼]\91\81üy\ 3À
\aiO\9b\1e4¹è\80ý-éq\83*\9bSHDh¾\11\10b\1f,O¿\ 6(í`3\ 4\ 5\91*!\13®>61\7f\8d|m»ì(âcèÞô\9d[âc\17RlOü\15²îBÆ\83w\86¬\7f+Dè¤Â+\ 2Ñ<G³¬\82|\11;.\15
+\9fA0@3d?ñ$mé\b=³(\19dv\f \1f\9f\ 4V\ 1Û­\ 5\b\8cÐ\99\0"G39|v\83Ò§l\16Ï|k\85áï¯Ç\ 1Óæò\81\\ 2º\99§¼\1dï-Tò^¼OÑ\ fÐn¯\8fy9\a\óéÁx,\82\8f3q\ek÷VùÔoj\ahéÈ_¹¡¤L\ 2²ÞªÿÞ#\90ç\9fF1èS\8aÒRO\ 2Á+\ e0\ 4\1eWé2\ 5´JÐ_,\8eT\88£¬g$t      \9bíi\8eë0±é\ 1áÙi&\851÷î/¯ÄFà\ f5\16Î\1e\90P,¼Éc\99Ö\82^i\1e¯ÒD\16(ÖÝßF\8b¯(T\90Ý7\bìs<\8d\80\ 5É\85Â1\81\12ùX¯\81\eÓ\14-a\v»í£IËþÌ\99$\99$\81\98@\8b\0B@\90PJ\ 4Xm°"»\98Ì\94û\ 2\1aÀ­ij­\8d]\94/\ 5e\f\8b\85\97\ 1fO¬RÕU»¼Ý¯5»´¼ÒÚ[­\18\v[\98\11\80"\92Yh¢6ÖD­~\86*AB\0 gßÿÿ÷ß~ûìÌÉ\b2"\8a½ë{×½ç{½ÛÎø=ðw\9bß\a½æîóy»Íç7\9b¾\1dÞs|ýç7\9b¿\89Ûâï7ð\b§\87»[m»Z£n¾^ººÕ\99â{Ô³]á\9d\0\ 3¯@¶|P\8bëùÅÕ\98üíL^¤¾\827pßA6lo£é¨m¡÷]ÚÒßì´\14¦¾n²¤e¢Þ§/Ê\aAi"®Å.¼\9aϼ0[s\ e\86B\14àJq\ 4föê\17·8Üé\9d\b\8bHk^OÐ7\84\91³Ô\8dj×ÂvÓ\\8c&4\88\16Ñ@\9fSpÁ\13%¿\e¬\vc6C\96\8b       Â3\13\99\8f\98\9d>\ 60F`uí¢8Ø\82óT\e\15a8I\81à¢Rð\88±V\13\ùí£×ê\ 2\13ñ6Ò;-)\8d\8d«3x%yað\1f\89¾\90}îÎÓ$ýÚ8\9bìMR\9c¸.æ\ex[\82õmçñ¸/_Mi¸à\ 2\80\93³qTÔ\18þ\ e©¹+\rðK}\ 1
+ð¶\83Ág\1e\f¢¾H7\13\87Êö\95µ\12\8fm\v\16ZáSçæâpd\1eÿ÷\83!ÈOÛæâ\11ègÞ\8d;{ô\87\83AL\9f\86     \90²²\96¾å\87)\91\0\ 2     V;\12\90nHa\9d\82\8c¨xÕýÑ\ 2Ý.\ 5¦Å[Ô5\87é²dú]\9bìÔ\8b;½³\94ì±;,p{ÍÁ·\93}qÄ}\ 5£ë\86\84È»õ\10mç ÜKKÒ5Ç+yÖKìA\98¬\9fæ\9a×R5m­Ñµl\17\1dSëusõ´­#WÛ\9c\92y¦¯1ï·<ãÌ;î\vÕ}#QÅ»\85H¯¿ø%l9\96ÚÝÜ«mmËXJà-Ú¿û\99Up\80t\808ÃÂ\97\13\0^sߣ\98\1cÇ­Ü\ fÅ\ 5þzòXSÆpõ5ÐjX\ e§?qtf\83#¬4¯Ç~ÖJÍÆÙ\92\9d¯\11fzÓ\8buº¯ñ\ 2î\12C\ 1ºº\95®¯jëfQwgZ»gÅ\83Ùúý¿ó·ÝE\8a»oÀu_éPÝæì\ 3£×µw\8cÑÀWÿ±\19ÉíÜÐÃSàC:n#[m:ó4µ.¨ª\10ë\9f½Ä&÷p(:á;OæOÔ¥¯Úc\86)rIíL\97Á\1c\ 3c+\v\93\9d\v"0VÜ\aÉ\;mJÀ \14@\85\99\99\v=\9bù4ͳ\1c\ 4\81\r\18l
+\15Ëúh\ f]\ 3\ 5\eK\e²\93â\aKP\156
+M'ÿ¬áõÅ»ë|Xü­\81\13ï+p¹¬Þ3Í´Ý;Èùm´À\ 46Y>\a\9cì\1fÚÒ\0´2·m\8dÁÉv\80
+¶Â¢¹Ö^éËgVUö¢þìæá\85O°ÔL\ 2±Ì9ã Í\94\83ÉÍB\19î \ 4°¤érûʼ\12\17;\9e\94Îî°(i»Há÷\9c9Y¿s=\røÄ¦î\9cÙ\89o\8b\1f\9bÛ\99ëGø2Íá\8a1å8^ÙÇ\ f¼Á½­\Ïy\ fð\8bE2(})Y\99ÙOõüvG³ã¶ ]8;m\b{\1cÜ\8c_\0¸\ e«ø#À*q±&n®~\94Ý-}з\9d(L¿\ fã\b\94^Å·e´\1dsÙS'º\1dr$RÔu-i#Y\1c\ e¶J\99;\98MÝQ\17LD\13aËtÚ\96ìªg}}£²ï\14¨\81´\81(\r°A\14\v\83èâè½A`\95·tp\ 4þ+Â\1aTn]zð ½Î\84¥ÖÈ\90s\14\1f\95-\ 6\85\94[¸ùM_b\8cÌM\86å\8d×5-.ý\84³m<×y\1e\em76/\ e¯\ fAVLDg÷Â\j8á\7f&\16\96a4\1dMâ¹    Öá\92\1e\83\83í\®º.\11.ØÖ¤µÑ¢j\1a3|9\1dº¶\11²J¸mæÄ^\8cÜ\11R/\84\85"\9f_hik\9a\82bq\ 5í¬¶\87\ 6Waçj.\9e¶"\a\b\17¨Ñ2ÅOϯÐå\1a\98\1d\ 2¼¿
+§7§2è\ 6)­GºMþ x \1fBúòh7\91æ¾â3\15Ï)d\17ßß\ 5yǬ\85\7f\94\1f°úZ\86dÙ6zñ\84\91;m\¹â¢\vy       "~\ 1§\17¦\v\82?Yæ\0\84#ÑPÛ)\93ED{[¹Â£t\ê!\83Þ\1d\\98vßð¤C¸O\1f\89\11và¢ÞP|nÜ\15\8e1ë¤õÂÎ\91\17>¡'\83÷IÖ\82f:\12  {\9f;\89\15á«çkË\9c\8c\8fÀSèñ/ro,<ÝÐ\8b\12k\91\8b\12h\0\97\9að´.o\18®Å?s&Aê¶Äõ'\9f£¹é¸\88F´ó¦Ð¸
+\ 5áx¸ûß:<Ûjöjãöå ¼_¯\8cXP®ká¾ÿ\8bT´ò\fa»}Ña½w\ eû\rÅæå¯\85þ?\ fÛË9ÒÂÿ+\87ú2ͧ¹\96~Ya¼\1fñe\9fðp½¼³\90,/«á~\8c³è=Ì6Ì°ßÆ÷0Ú"ÆÞT'$\1cO\f)ø¸LÊA\11\1fWX\13ü[O<\81:0f¸\18\8b\1d\99\\7fi\17\eoZã°EÇ1ë\z\ 3d\\ 5$W¸ãwxiðWè]\13Ý\83H\ 6/-öI$¡ì\ 2k"¦ÐÎÑI¯PUæ-\14\80"\ fÎÊó¡mòÒ\87h\b6oÆa²#o\1eL\93\8aö=þæA\86<\ 6\1dYËëêù\18çÈ\8b\8ep8¤ÿ£\1dö\ 3\8eÞ\7f\96;\bB9ÿ\9e{ÔpÿÓ=àp¿Ó=Ýp¿ÿ\9eëñã\9fk5%L.î\8b\87\10TÕ \91\9aÔ"ä\11¬Õ\ fß\13*\7f\83¤~òp\13\9c w\93º¡åCÃn(F7±(]g:MñwK\1d±»vÓð\13\92\ 5t\14Çu \1c¤      9^Â}(MSØo­q\81\r\ 1\ fÏ~\ fÌ¡¶·ÎÁhúSqéÍ{±x/Á\96\fPÔ8\1d\897\85&\1c\13à¨9ÞÕï\ 1\97±Q$È\91ºË\7f{îMJ\8eED²Ë\19\ 1\1c÷\ eb·Î\ f\9aiM^pio"\9d\8dß\e×kóÒÁýÕå,\1fýOél#õ%½æÂ?ð¥½æÂ?íå¿êØGñGFüf\8bV\817k6\12¿ÁY°\95é9-\84¯þ¤\ 4e\flÿù\90\11÷-p\b\bÅý=â\90\11è?ìØJý\ 3\ 4y?q°\95æ?½°\95Æ\aEw\84\ 4\7f¹)ë\90\11ÖÊr\e   _ú¦*V\ 4¹ò\9fÆ>_åÉÿ\10ù\7fÙ\93÷UÏ\7f"µÝ\9c{\9cãÚá\11=Üú#\93\9fÔ\8co\90úÃ*b?a\91\eþ\1a#\90"¶      Ï\9aK\87~¨ø:ãØqÕ\9d\1f{v\®U°2\1f\19\ f¾ú\96\1fß t´+QóR¾¼;VX{i« d!vÕX:\8c\15\ 3<T³,VW\95\ 4\ e6¼îk[SÞàv¼ZX\87\19Öîï¨\12\9czXÞxB\19çW\1f\83\ 4\b/®2\ 4\1fó\19_ j2qs9ùvSù\S)ös,±WX\9b|=¯+\ 2\rQ\85§^û?ï\ e
+ß¿\10Ë\ e­×3o\80×óþÔ\ 5GâRÚøÎ/Çî¸Âx«B9\1fUŦã g³«\81ö\eÂ\7fDº¶{÷PAýò\a¯¾o øµº\8fÙuá{íW°®×Ø@éñáq\8f\81Aið\100¿±(Æ´Rî>+"/Ç\81ÈÜx<yûÐ:[öÿ~ó\8cÉñ·/\94ÿ\ f=ý/Óöè/ÿÿ\b\98ã&":ã W8\ 6@ªn¤V\1d\8f÷H\85ã |¿»m¥ \7f½¸Ív\97\9f\8f_\89Ø\9dÇcÔ7îwâÅýçþ-ú¶o\8c\81tê~\8b]ïy\88øNû­·E\94¯ÑýÌ?/\9dyÏM÷zº_ÝÔù\1e6\r?Ýðc\913òh!¿'û\93ýÉþÿ\8fêr"¿'UOYÕO\7f\9b\ f`ÅÆQÖK÷ü\1c\9e³)o\93û\19¯ÜÕ¼êfzl^úßâÊ8\81\9ce¿Ô_«\11÷<*Îw\0\93\7f©Î\7fµe'      ³±ÖJÿêv¹ùÏð¬¤ùÏÒIÞ\11J\9e\18\1e\83Òû4\1d<*­½¾`\89'íó\1e»ðï\85\1f*¦[÷\80Iß¡\0\93ÌÙ\9b\14¿7Ç$ï¦6\80ê"G\14\83Þ¬¤ç$ÿè\9c\95\1aç̬IÿÞ»ä\12\7fýN9'ù¦\88o\9d̯Jqó1I?ç\90Iÿdã\0\93þ1'½\v²4OJð\93Þãõ\7f´\93ß¶vrO}Ú_ÎIîÊ1'¾MÚ  =ÓKÿd\9eý\12Íí~j    '»4'^\82+¶UZ¢«³Ò[\ 2V\184IDbоÔÕóý(ªµ\8f\1a\91¯èÍ\8cb\17\97HW\97\\94U[\99Ùæ8÷\96BA\89\83\7fIs\85\91__0,ÞÒ\roh\10²ýB\9bÑÅ
+±2ìÍFÛ;¬Ã\14\12\919(b\95Ã;2êªæ°\91m½¯v\82S6\8eDR\88»¶\14û7«qòÎJg@Ͷ\9b¬f·eFbSa{þ>hÍE­ô9\82T8£2\80M\ 2ä\9c©íH\93¢ÑLÎL{\ 2W¦¡I!\15ú£uìG²Øv·E×\8f\11&Äk#Ö,\83ب1ØI='±Øâ\ 4\1d>¢Y\15ºÞ\9a\ 1¨Ñìä©\ f¯líoìíïìð\b>ºòÏk\7fg·¿³ÝD³\82òçYX\8d÷t±Ù\ fÂ5^\15Ü^=\8aÛ\b¤^ÃåÝG¬C>þÎ@§£x0\14Q\17È»\ 6~\10)ÁÄÑÁy!Ähûa ú\1e\e\ejÚ$ÿ²®g\80\91+ð  `ÍÇ\9f\9cÍ\9b¶vy4®3Iô\1d;´íB{ £32øð¸\8b×û\98?\1a\18?\14\18>l0}l\19ÑOuÅ\84¡ñ/°\94~,»\8en\18Í~«é\ 2]\92\aO\eÎ\14û1\93Ù¸ïÙ©\85æÍÖ#\82ªâSL \ fÏ\9e³DZÖ1ìØ·þð\83v~ÓÓ\92µ\86¯Ù\9a¦Dûñ_§'Ãjky£_
+âUpÜ\82\99\vûïK\ e&ªñ\ 2ÎGfz}\8ctù~Á+#û)\1c\rny¼m}õ©X}¦âQà0\19S\ 5j\7fÙ\16ó\1d¦\9d\ 4¤eA\90à#\96D\1cô¶õrO¹\86P²¥ÏaÝe\10æ\89\82è«¡3\f;½{W\8dM]-°@>¿\ 2
+\92@JM(¿)¡Ç\16ºÉ\99\18\86\1a°\13Ü\93£\aÆ$·\ eV`ÃMÐf§ì\1d\88x¯YävÏ2åM\a¤\18\98\12©K¸ã¹2õ\vï\92°°\f÷¡¶P\1d].¥öÄ\1e\8an\ 4.¸Öu>é$æ\1f\9eµÏ/\94\18»^P2W8*æ\1cØÖ\8d\1eb\97\81
+\90\15}-Þ½½_)RûfÝ\17\984×â\9c¨¤JM0u¯Fjp²\8b[G\9c\88\1f[+bÍlL¦L+¯1¼ã±z\96\19E×/\1e\85}\19\81(b(\15\19Ó\rØO\80Ã~ÌU%7of4Á§XÜ\@Z\93P\ 1µÇ\82ÿªYb\bÄ
+\1a\8bß\15\ 2þ£ºy.ë/tòpI&ù¨\9bƱ4oQ·L\89%ÔÀ\92]\ 4\9cUÚ>ðD\19R@à\7fusAMf,@Q\14CºrÔ¬\9eMBÔ\ 55¼ïbY;\81\1e\e$\9e\9d\86\1fUÜ[\9dSo\92A\0:Úü\18ÇÊ­5JÕ&¸k\90õ±ñotbP\b\fLjt{v\8fÙÆ`\12a¤´X\0\ eÝ\ 6\88\13êpj¡Ü$BZ¥Ød\91\18\8eôÎ\²¼fàÚHݦ\98¦¥GªX\88 :\8f
+%æÚèo\8c\19¦<\7fÍ\1dyÍUÞ\90ïi\86§\10]\82Q\86û!ÏQ\ 4ÑeöJ\81\12Ú\86Ü\1dÆQgT)\1cJ*.PS\ 4\9f\86hlà-4±Mþ5\ 2>"\98\1f5D\93¸pb#ʳub\8b\17-\14ë
\ 4'Óå\16ø\11\f/\ 2Ì#¦\8b\ e\1d\ 4Wâ?T\92\ e¨;Kâ"y¹7¤`4¶ýÒ     !¨ø\r´½4\81\vJ\11;mÁ6NC¼´Äûm(\9dù\1dT\90\fß±Eo»¶m¥ÈH,-¢æ¾P\18þG/\ 5\9a\91².¢O\86\13\ 1s}Ãnñº¿\90/a}ÃpÛMè\99\8d¶>\9f¾\89´\9eÐv\93ø ë+Í#m'fÍ\82yO\19\fByE¶\93ý±÷Û    ¾\12å\1c×ÙÝÚ¹±'Vg   À£êí`îe\1föæ\98ðÂ\81Ö£\8d|¬m\98\80 \1d;D\8e¶Ëª#Í´Ñ\89û)o\8bBõÜ®;\ 3&Sº¯*\ eï^y«Ô~Q\18ÆÚ\vfz$OR\95Ø11\eÂÁ\7fPv\8d\ 5ì\81W2YêïÁa!\8fv\86ÙñLNIj\11¨\18N\88UX­1n\87hPÝ\84_±-ì'O\94oEð\1c\11ÓT\8bmnE©°¨@tãj+ÙDa»\81·\14\8d\1ff:\83ìÆ\ 5\e\19\10H$m\ 1\8fàèËIux³Lc\15Õy/j2Ó88\ 3\ 6\98\e;\16\9b!\94\85&lÏNÊ<\ 5\99v7ów\9fNÈÛañQà\90zhÑ\19O{\90JW|a\94O¨h¼µêMB\1f\8f9\ f½Ù½f¨vA>VÃ\13½÷\81·Å\9b\86º\0|¦R%\93Ëý÷\9d%5\1e\95\1dËÉ '\82\b_\16¸ë¥²ð^\ 4\ 6\rÚõ«»\16µÎìJ\8bó\10ÒçA·\97:ï6\97K\ 3In®æ\8f< ÜÁæÖ0Ëì\1a±ªQ¿p\92uÌìOWÞ\93\1f\13n>êA\14à\ 3h§y¾\11\92Ê\88»n¼\90XbøºB \9a¥i$Ùð\18À4¸÷ïFNס\1f\ 3|T¤\92KÜË¿\ e°Þ¼´0\eiZ²¼\18à®\1a\13¿#>P@|WMÄäBö\89.§¯Q1WK,\9a\ 6I\97!oV²\96¯ÿfôûØ\87o\ 3\14f\ 5µwHf5ëª\18µ\83\13$û©UÌ¡îËtÙȽm\164p`½ïFdï`åt¥&P¶\17,¨PÒõ\a\aW\6t\84ÀùÒ®5-\18n̽vè\ 6\eòöG\86Ü~\84û­c\16\17ÈÒ\rW/æ       3¦9m­ê\995\85úêþ¤fëåÃG¦Ñvxï[]Y»feö\82\15³ÜZ\18áù´\9a\ 3\ 4\850þé\ 6QMo\ 6\97-`õÓYYô{\82ô¦Ì9¬\81\97øÅ¢\98\8c\824\9c\19\9c@\16å¾ 1-W\8f¬\9d\9d02î\11}?¢\85×\82\ 2NíH'ËÇS·Ä\19\91À/\91Þ\1cF5g7I\86\1d\87ml\11ø\89Qí¢üÃ\ 1QyÑÖ\87Ó{F \14\16:~Ñ_ý$\85\87C2ÝI|pQ\9d\88¥\ 1\82\12TN¥Zú^DIø*tÚáò·)®s«kiS+\85Ö\11@<½é?¦\ 3£ó\99\8d\8f^7®\ 5.\vF?W\8d\13\19\15GK´°Ð²n\9eÕM\ 4ø\98\1a6ïöÏ\1d\ 1\81äãíÔ\81¦R\rG¿yγ±Þ\8a:aÛ
+=á\85\89/\9dÝ\føB\ 1Þ¯\16µ°\9f\1fÒ\14Áì5/¶c?µÒÖ\8eb\7f×jD¸ì)\96\8c¾Û%GÙ×\11;\92Þ\95]\91\14W\ 1;kÅs\aÇSêÏ\18\f\e#ä¼èUÿ»°Î3ÈíÞQ\81:\8d\a2\8er;g\93ªÚ0jÿèÕÿü
+?%å\f-N³\86dvtæ^\ 4)íføÞY}t.SY½á\82=\18ÖowA\17ß\91\98¦ê¶ ùö\12æÚ{=~ÕÔh&ï-\8b\fÉ\9dü³\11FÏ5©G\· \9bÚ+\1c\81\92\16¸¢ÃP/ñ5\8cMÄ÷\8aMÄ÷\8cMÄ÷Õ&â\1a7%å)¨\1f\9a°vY¢º[ädÃ\e\19ÃÓ\95\15Í\8a\16­ì,\95\13£Ê \9c ¸p^\ 2ÇñÖ±¶\ 2oüºÄßá\10:w>\ 4àöZ\1eP\93\80ÍÈ,N\ 2õ\82p\19¹\ 6^¬<©Ú¬ÃQa2©& ¿\90<(\ 6&\82uEõh úØÏ¢ÞÔÿiìð°\8a°Ì?\18ßi¼óvÚ_\90\86&Q\ 4¤w\8c$Z¾\14pv\ 2\8e0®Ñ%¦ïíÍññýì\99Ûé`       i¼e;\81áV\17uÌJµj1-4 a[ݪ0¯\9b:lW¨iW§JÃìÝ\18\93\93\19\93\14\8f^dÒLÛ¿üE\15{¥¸lõ\vC\7f\18R\11ïJ\8cêí\ e\84úsÊç)\89s,F£L¶\ fF\ 5q[Îÿ\91v\fÞµ@6È\1e£\8e¥öá´.Τ\11\8dè°ó_}\92A+èLúèN2»Ì\92ùèD¯£óù\8cK\ 1øP\8dÈ\16\11Þ\1dÅêB+\9aøj\90\8aæÆ\r]ÈÆ  §\9a_D¸1Ñ£híâ\9aßsOº\1eØà|wKøÝpVñí\97ñéÅ]\98 \96ü\9bSôQtQÇWuF\8c,Iݨ£\8cK~l\1dì\12ãw7F%Æ7s\9eö\96\87Ê\ 5ç'\96Ïcâ{\1fU\1ctµÈO\0\90°º(\9d\r\89\9d\8f`\9e\94¡vNõ6T\19-z88êlIÓ\e ¿ôY$bt\17\9f¯Öô\8c:¸l\90\ 2«ûo\1e¢d\íµf\80L[þ\90ìC¦aæº\¾ÌÊ÷\18Ó{V\ 6¦v/\7f£\ f"¿\18¿T\1a\1c\ 6¨d÷ó$>°ùãÖÁº4\ 4\ egT¸ÞqÇ ~\97*aè\13\8f>lXɪR`\10<úÓ#>\89¢QÈdhjÅl¹¢_\pP¼Ôµ\vkM% !?HÁ8Y¶\9fÂ\ eÓòàN\ 6§\9d\v\8d´à\93\8f\83K\1d\9c\9c¬;æ\7fñ(7Çz1J\rÏ2Y\0z±­\10}
+\9eh\7f ¡(Å\aÀ÷Sw\85\bN®¯8¨Oo\b\10AÏò¢\10s\96ÿØAÔ÷ÒãìÑA4\82\ e ô\87z\f\ 1±\19\ea®Aô;:\9a\1d&æHÜæÛûb~è}\89\8cÜ#gø\9b>EÙáúúA,\92Ùnѽ:»\1fõÛÕ¶K\97\¦?_w\18¦\r\80^sq§\ 1\8b´É)ä\8f\1a\ 5Õ\86\89¨¸~ ±\rJÈHâ?Ô׫Y½È{ã ò\1cûs#øê\89³2®Q\14·ÔF)oç\92°L>\bªv\1cÂ8Ó\89X
+üs$\91à(}Ðà\90\a¬\80A\82>ð¤\93¢mÁÍ/\9e%2ãðW¡æ\ eHBø\1c\8eçÃ\91\e\17¦×µ6`¦RnAr\99\11L\82Ô¦¬·Ñ
+e,\8cS)ñL\93îª\ f\96bS)dÁL£ÓåHÑ\90ï\15rAåïI°\9fè5éL¡¹H¼\82\99N4:©¢FÛo~}k+¾¦d\14¯ûÊ!üä\12\1a) hræ\17'ÿf\9bx;\99'Þc4º\8be:\f`ÈT
+\16\80Öád\ 3YÑB\83,¡t ¤\r±©'Û7)´\1a\8b ?\86ðê=\16»>ïE\86\ e¡d\95Ö0Ü \11Å:k\88'=G\86&×8D)|\94ÐpãA®\89vJW`î\16#q\\91\1e\ e\87\16ôìW}-@¬­n«"µ"½ù|Ìt\19\0·Ü­6«Î\90¦ÀÔs\12Æ$b\8fÅ6»\ 2\90^¢3µEv\87\1eÐ\ fïQ\15k-\86ì\1a\r\93O$h\b\85ZÉ/\87I\81ÅØs>z\ eg\8aÜ\f\bO\0ÄæX\97\8dÂM\e0>¬¢"Ôòdá\93\9e\8b6C\9as\92!:Zwó×\95ÞÅï×G£Í\86\vöîÖ®ÌF±knÖvÛsX¿\86ìä\84h±ZÝ\9c\90\99\16,\96øä\85(±}\8dñÉ\v\11bÌoÎH^\8b\16\eò\9c\90É\16,\17åZ\8eá\1aÅû\e\83\92\1c"ÅÌ]\9c\90í\16)Û³\92\1f\87»9"
+ÙǸ\ 3\ e·õ\bøl\87\93æ-ë"bDÄ]å\ 2g3\12'¢Ëï·ë\92)"Ë\8dß®Hª\8b,ÞýrE\84Y~VýrE´Y|ýúä\8bȲ\897úÕÞÈÖ\~â%w²<ØÉ÷\v\923¢Ë±àD®ù\ 6²ø\\ 5\89\eV²÷Åe·\8be¶ó\aFýâ\8bÙ\83Ϲbæ9$\ 2/]·\98¹$\1aÛ\r\96Q²g\12Êè\89dÚŲü\82%\96o\16˼ó\86Ë7\16Ëûû\91²ÎŲ¸"Q¬|[/¿+-\ 4[,\ 2²ÑE²õdJ\92â-\96~èl©E²äÊËO\16Ë¡-kç¸×]D[,è¢\ 63\12\9a\8a¨Þ}\12þ}\83*±%´<ãüE-4¹j`\85ð%Å1-¦xä¶\95\ 4KhlhD¶úu¡¥>\8dg½f¼ä\12k`\87A.§u9\12Æ>û\ f¢ØÇÞ\8f¬\8bc\1f\8d{\19s$ø\13+Xhm\87\9dýRµJ\877ª©\95\91\14^°»\8eÈÞµ¿¿!y\82:_o\ 4\v09ÇÁ\1d,\84O\ö¸âõÏð\9b¬\9c§fº9ó·R\12ô\8d\80Ó\91õ\18\7f\9b\9bÉaÑ6\ 1Á\ 2¨µgÔô\97Ü\9f**\7f\85ýS4Ú.\84wvÈ\81\ª÷¯bW«%ïX¤×F½²qod\8aöéç\97½\8bæ¥y|ø¬\98\9d®F\v¹Å\94i\8dñcH\93»¶f¤0F\9d¡E\ 4ð\92_\fp¼é±'\19OXvsâ-u£I~\fò        ?]\95ü1i\ 1yÆnwßBô\93ço\13 ¤º©æ=õæ\81öáÕÂE:c\8d<[«\9f\8bux\18ؤ\9fè¹ñ\11nwÀ\901\1aY\9f¤å6¸w²\fNPÞÑ$þsØ\84¢&Îݦ5\ 4\98ù\1cmíyÚï\16å\r\99Ï"Wß\ 2\80ßOc\91ö£
+i\16Â\92xØÍÓïbf±´­\12m|\e\13\94\ 4(¾I\930ÜA\b«\97Ëãgç\85 \1cI\9b\1a\ 3Ww\80ù»\a\8f-(\97ËJÒ\1e\9e\82B5Ð\eG\95Ç\8fbã>\87\ e\9cÅ\bÐ.ÍbPs9×\ 5\89ëá×\8aµ$%b÷#\98\v(\94\91\9d\8bz>\87wöö¾Õ½¿±o9'\\ 6fZEÖ\9e®\ 4µö­öþÕ¾ê5¾çñpÖp\v?\12\9bû\15|79®Wó\92\93\87$ßÌÎß\92oýiÎ9&ÿÃ\1ciY\a%o\1f\94\88I¿Ñ^\91\95̤\9d\90ø\9fp~Ø9l\ 5\v %n&èúº"\92\97öÚ¦|{]\8f­kA\1c'{¨7ïToÚó\14h}e:\88\8eMPì\8f\a\eÕ\86­\16\8b.\1d\ 2\ 6æÁ\99ÎéÇê\8a\ 3ÿ\92Á\19>ì&o-\84y0°Ý4!dñj\83\rÑçóoð\94ÏÎ\96\e[Âø'¶S'ô\1e®7APCt\ fV\e \19·Á\89ÚÓKѹÒ\e\7f>\9cÊ7*\9e\a¤®õ¹\84äS¦O;7ct)RÊ\ 5\ eË6\11\94\80n2ô\8eØ\84e|\1då\9cMõÞ\98MfR\84-O\ 1\18\80µeW\83\ 5ïØ\13þ\9d\10\ 4õÓÚð\8b\1a\b\b$Ò?\91N\14\98VÎ0\1d²ÌÍ»(\1fNèñ0¾\80Ì-<%ùb\9b'oéÚ¿\90\9eü\0ÅîoÛ\9cs\90\e\95y9\1a×:ÀÈ÷sÐ\\8a¾G\88<TÖðx«\9f\7f#Z#ÅB¾"\ e<U6\11\93ù\b\8føý\8fO_â«êô\ 2Ú\80ê°Yµu,BA \82ç\ 3\9a¹væN±ãGR³*ø\ 1Ã襤\15ð\ 3\87ÙKH«à\a\ fÂ\96\81¨x\e«à\91\ f\ 3\85|\12\0$IÌÊ\ 42³¹ÇI¹\91¥i®s[n\ 4\85\95\9aF¹'\8d3lÂ5B8öUs*ùô\15c\ 3úø*M\ 4ÖºÛ\ 2Å\ 3¥g\85¹\0²Àk
+ZýuôÔ¹âºÁ¿|d3ql\92{wXÎPéÿó7\8cnfÖ\8d\9emauÑw]\90\81ñ\e´÷)o¼À\98x|\1fBIÛï\r\9bÇn«þ¢\11mµVlÝl.ÌC¼T\b\ 3`>ç\99<ø×rlÞb\1d\97A¸À»Hº'ö\8aÈ\14H-P]\1cÒ\13·N%]¨%\12O£n3!çòª÷\8ey\9f\10\16\15cJÏ\80Îõªµ\96T¼±\9c=(Ì\15O\9c 
+J\7f\9c¢¥æöA1áòT\e\ f&\9d
+Á(pÝÌ\e\9c+\9aË\80Y\81up\9dW;\17úíVàåܶÖÕ5VÔ\94\9dc\9aÍØ0k¼\11\11|¹\95\b q8\17\83\83¹¡ð\82\19_sÿX:5\97\98 i/Ì\100\81\10L\ e\11<ëz»µvR\82¦\16}\9ds\9c}ï|§ä\82\aÕ+Ü\rXG\b\81\87&!±$ÿ\eÿ\10IÔ|     dpÆÂâ\89ÎMø\8e\ e7rVî\81$\rÜ\9f¬\86¨`nåé¡ñnÀÝÉî\88£w&ºsÑyo\89\8fÍÇ%\869\19a1\93)pY\8d86§ÝëY\ 6_ònd0\r).±[v,\95\b;%\ 4 öt£\0»\89p\9aØÂIÊ\83sKÌ8¢{7W2â\8b?\87\ 6\9b\ 4¸ß\96ª\9dy(
+÷;Èä1ÚYÒWÊ\9f1\14:Z"J£w^à&²\rD¨÷ègò£Ïô\97á\1a\86ú\fåá\82\87Ù\99¼Lê\9dW\82 N\ ea\vªéµ2+ÌP~;KQ\89/Ñ})Ã\8b·Ý@7C`ûrÕOLiH\7fj:Qò¦GJ?\8fØ    \97òMôÜ\11¢aúrýù\94iðFm\88`H­oË\bþ\11\19ä\1f§_{êÝ¥õ\a\998Ï&Ì_\ 1,oQú\9aõ^­ê6¼tÌA¡¥¹Ì\80Èyë\8d\aÀ7½Æ÷\bj\15ƸÐyM×üÑÆ\bù*ëËõDh,*?²¾\86ú\12Ô©\98\87l\13W\87 :\9bë\ 1Ç}²Ú\19üûÉ\8dò¾ÞC»ç^\b\92\8fª\ 5\8cê\1eØF\9eF\8bÑë\9b\87\85!³wa¡\9fj¥V\11a IèÃ@\98X[°×\8dQ5\19ç\8aOx\ 6\r\89\7f\84÷F\7fÍ/lR 6¨K­gÕ÷Î{î\fý½¾\19ûç\0\16nh:ã?tÉý9ÑL\92Òð°`3Ò\1cïÀùz\14)£è\16\19Ó¿A\97åð\86Aj$b½ó7\11\1e,æ±\ 1\82\95ûxàÌ\rÃ\e)\195Ý((>\1f\ 3\12\904XCâ\ 4£\992§Alɼ«\a¨È´*ú:\96[ÀÕ\vßÈ÷Æ\9d²ÈÁ3½1½Áý\82áÏk\8c[DWñZC\80\8a\9av+X'¼C\14ï'ª3P\97ǹlX¹MnzÕ\18W¼Eº`¥íu[\fX\\8bò\eÕ\ 4å\8c]·xm°û\81\83\87XLù÷f§Í\ e\8c¯\1e:\12÷\90\9eã"K\92ÓÆäÜQ\v¡\8cÇc\80a54\16.Gävt\a K Ã:I\ f\ 5|O\8f\8®5\ 2[®K\ e{\83>e\9f\98àóª\1eI\1eW§9`p\83Ì#\1c\98¸CÁx\18ä\89qE\ 29#q^vm!ÏÐ\1e\81\e\1dâ\ fì53\835|\14WÑï(\95\83åý\87Â\r\rþ¡ \1a\0L/\19\ f¶Ï3\88£\8e\ 6\8a"\ e\b\13æßÇ\82Z\81'\9b\91uOM\16\81B\1f\91Þàë]>=\ 2\87\9e¦\8f@¡ýe\83®·Î\8c\1e!cþ ¡w°`¾@æº\9b }Û\1d\v\1e\92©M\rÐGR\81DÎ6 §\8d\82mÐ)ozù;å5ÉÐ\85âøöXµ2àÓÄÑ´.SYÚ ø×ø;9íNûð'äTÏ\ 4Ä\19ï°\12Pø¯¡\9fé       \91\ e}\99\1a\ 3\8ah|¤·ß\99,\8f¤\97ßôA®f`ú2I>³fó"\8e\88¿î+î+¨\9d
+«@>\97\v\87\17\19ö(v±eølDZú»¯ùãñ¿'dÌùA\82¨\8f\ 4¤\15¬àÓg:\89´2ð=æ\9bH§(¦\8f´57¡©ÌÕ\1cØg8*ê\r}<ñc\18ö¶õ>I°\81\a\169ð`\1dѸG\91ü
+R\7fjaï JpÀ\1aÑ%S/i
+T\15°ÖúÔ\16\ 1¼?-k±_9½\17\13ÚÔ¾Ù
+Q˨\ 6àyf~\8bM\ek¦~\900±!¨RmÛ©ú\86õr\8e+¿\808\ebË$?$ÿ\1f\0Äd\89,I\15[\16\ 1NÑÕ~À2\93l`à\89J\99^Â~¢\14±£PdMç@\8c\ 1LM\89\90{ø×Ùçsç\19\87·@·;8Ýõ½Ó÷2%Î\9féÛ²Ø9\91fub\17¦¶yEx-ð\8e\98p>}+ôÄ\17\85áË\19ù\95á·Aó]a¾a' \86\81X\182ÃíY°2\970\ f\13\89\16kU»\9cñ\8f\9b\ eñnô\bcKª\bÔ¥>µë\aÚÕ\86Ê\12]M        QÁù¦\9c«\88âÅñ\ 1Ï·N}­R\83ìÿ]@ݺ\9f\b×Tka\8d*$Ï\ 3\ e¢I\132\9c¶ÌmÜ×Ý\v¼iÓ\ 4\86\9f¦\8b\90-Öõ\0>qø\9cÖ\84K\9c\19M\88û\ 3\9b:I:Ç-µº9\1cE\102÷çq\ 1È\ f@+í\9cúá\98-¾ý\80¼ïs\97ý|Ä\e|C·ýxNé\ 3£\9ds+I"\9e¾\r¼\85ù\94¼ \8fEg Ü5s+\9ajæº\91«»ÖT\9a¼CZâ\86        ë©â@º\9a\9e\94\13R\rÅ-}вήíÚpݧºQ3ÁÂ\8f`ÛJ        {l\88\ 5?\15jC\9b\81¯<ê$\a/ÓØ9ËÚR¶Õú\ 3\17Ó\8eâ\ 1³\90sà3\99÷\9bØÐÛ+\9c.`ù­i\9fõ\13jæøÆFµ?\ f\1d\ e\1càó>Ý`\81NOÊ«îáa\98kLi¾\90\ 4_´uLìé\1a\84ÆS\9cSQð[v]¹¨A\99:,\9f\82~˦¸ºÂ@d(*\ 1\9as\8f\8bLÛ1©7IÝ\0{\a§\86@oªJñ\18ÕàÓÜÊ=ý\¨(\9e\97ô\8d  êZúgý*»\9fï\1fld_Ò\81\ 1»\83g~m§\9b\95g\9bÈðݧ\b2E¶\9bH4D\ 5\¾±Ð\1f±¶¨{K\97Þ\ 3\92é¨è^\1dÜi\99Þ¸\9c·¶÷I\ eSÍ5\ 2\18|Ai(=¬+n!²ßÃrÿáL\ 6Á\ eeügoþ\10¬æµ!\83.¸Î¹\7f\9akK]Ô5J\8f\82ò{Y¼\1fbN½º{        è!\95í\r\97Åå¥e      °Ø:3æx)\80ÐeûÑYÄ\80Õ7áW x Ì{CÜÉ[ú\87\98·u?¬\8bÌ\8aa\12A\17K*ëÈ%§¸<ß·(|ª\eºZþ\0®
+\bfjh\8399Ùõ~cí³Örjd÷ÊêÐ\96r(uÏá\0CQÖw\8a\10r\9d®ì\ fU\ 2\1dð\912  ® GRd\80Ô\e\14K\8a̽\11öЦ\15Îêgý3pÏ):ʶLï¸Ó­±fm§æw\91â;OÓm¦«;§Å¢\9foÄGÊáÕ@K\9ad?:á\9béT/Â\82\11{7\17LÌBß \19ª,\1e¢¼\8c_'Ã(¥\v]\98ÅÛq=¼_\9f\83ýA¬\ 4Za\ fN=\99É!\8b\81 ÎIëí­ÆÕwk\8dµ7­06å¼==Òý]ùR\rµ»Êñ¼~ÛG&(:¼M\ 5\7fô\13·É\12\ 3\ 3Ú\7fùÑ+íÖtE¿¯ìº%~­k§Gìº%\7fÏZéËJÿÜNßX¸\9d»\99T ÛóÒ¨\13·\aE'ä\89Ûÿ\98\9d¿kï      Ûö\92\98\ 2vïoDíúyOxNÞ\8e8\9d¿/)í\89ÛÈÊ\7fp\9d¾§\8dLöû\99?\NßI'ü\82\81:<WñÕv1\81\88\ 4èü  /ä\13£\8e'>Oy\ euóZN%+î\89ÐÞ\89Ïü?å\13\9f\99eÊåp\91\97\80\1e\82&\a\ 2þ\85püð`\98¿¶4Ê6\ 4½TµD­;S       ÛáÙb­£  Û\85\9d\9e\11\94xw*ÿæZÑü\86\b[jL\ fgÍ®ÁRì=\8e\9b\ 2xà Ç\1f÷}sÇ»ð"\15þÀ\9aø%¸ð`À»eÅEïDöê/\182¼âkèq@¼\13.[+1\15Å\ 2ï³ßÖKal4ªýø\8b\98SK¼ë[Y8\ 6`Ç6\ 4Ìã\88Ýß#\15´:1»6Rß#\ 3cÿj[IwÒß[\14·G/\15[\83°)_î´­ÜäÃ)Χ
+Êq]Áç2­ÙN}\15\92Ü©mFÜ\1d\18î.Ôg\13ï¼Ð?ø\89Súð·$²Fd°7Ò\7f(\95üq*û|Ä_Þ=.H\95\7f\93ýÉþþ¿ç\ 4\1f\1eãR\96¦\9d\89þ\91\eÿ\86¸\8dÿ\7f\19ÚÁî\9cJ8²Î²ßês·ôÚ\7f§\7fÕúÂ7ùß÷v±úR\91uùä&ùùÄqó¿¤G\1eß9ú]¬\7f^a\eû\7fhG\1c\11ï\98°\15¼\8f\19\80¯Öqlð\ 2\1d¦57÷õÄqÁb-\83èT[\9b÷\80#\8fRm\ 1Ö\e÷\81_ÛÆ´ãÖp\1aS'·uaOt\ fâ[KÍ\8bñ4ä(`\ 4ÑZBcn3|Þɶ®\vn÷]£å\Èl«8\rtWT£
+t\98\ eèõÚ/ÇÍÀ×\84*\ 4AÕÿ-®>\vY\80\8eZT\v    \188\11íWòTà\90\90ÿÕÍ"ªçà´k\89\ f\9e\8bQ­÷ï¯fz7\84°\90ð?h>h¦\81\85TSB6%úä51>\ 3%èS;o\9e\16/1\v·Ý£IÙþÌÌ\99$     !\90      \0P\81\1aB\90\ 5¬\0S$\80\19\932Iö\ 6@\80
+Eª\93­{,´zÜdÌ\0A\18\18\ 3\93>2õV¨;[R©]-½·E½°\ 1VÈA\84\11B\0 \ 2Ñ\15\15ú1\10V (2\7fýû÷ÿÿ}\9fd\90\11´ª×[ÛÎîó\9b»Înó¼Þsw|\rç7ÁÞs|íó·\9cßE[æo\99¾\80wÐ=§      Û[n\96ÈÛ}I?\ 6[zì,OJr\13\rz÷õ/P;5ôù\14\16HQi|\fñÝÔ´¯\95\90#*VY\ 6UÚÃ\\0¯\93Ú \9b[]9\15+F\98\87gC\8bci?\1d(¢W\9a¶C(>Ü\9cq4\19ý¼ìR~\ 1Ü\9cm\ fÈ\r2×ñ%\14\17>6\ 1 Í\82µ\17ä\ f\8d\b\1em$&a\81ZT\98½ù\8f \822Êv×\vmâ{ägl1Ù\ 4\19Û\ 5Iôî\19\19X\19ÛâDÏþä§cDnK÷4\9b\15üj1´Ó÷ 
+ýºJ.ðÖ\16\ f`»øÄ\92\90\1dºK\89%>JÀ\92U\83ñ;Èz¤X\90DfHZcÝ«Lax\95½ Fñ9g\ eÕ~¾Ë\97«Z:T¬PÈp¦\96É-U\0
+a\ 6º\83åIH»\ 5\92R.Å%s¶\96\83\9c\92\91w-\8a/9²\13I\17Üx\83âi¤÷`\90Ðs{\95ûTäËÖÐïä\ 1\96¦W¡\99ó¬B\18\8aÐ\16aÞ97Ívð½\956Ã_Á\96\ 4\ 4W\e5ü¶\06zåeÖ|\ e\8dŨÙ\14\8eáÑ\e\ fóÔÀ\16\1f&\91ÓÌÙl<\ 2L¬«{]ƲMûG\13\96¹Ë\10TLeìéQCîÈxßÀ,\1a\bµ¦\9eÒÆcß^¨!:ÇÆ#.\ 3\b\19\83¾\ 1\95\15ß^\81lÞ         Ô¦®\84ö\82\8aIѽ¶î¦PúqÔbº~\90ø«{]½0=\1ePÙû\8f\9cïÁò¶\93¢\88c\8cݧ\fPô7<É\9bù\90n\ 5« <\19ø\ 6\16ÖÕr\ 1bHÆ\85ñ¿W!°\ 3sÍM¥®\e%\9aJ)XÙç\1e\90Í\13ò(\ e?`\bù\ 2\93Ó\8b~\18\9bcní[P¥\9a\ 5\ 2v\964\aT'\17\89·záQoÿ:,\ 2¸N\82 ·ÿ¡\ f \19\19p\16ÿNÐ͹.åÕÀ·ýícF×3Î\80óð\0\v\7f@fn1Ô\v\19\9b\8cE\ 1Óî=jGÖÑbä\80¿_¿`R\17p!w$þÖ\9eÝWæ°\ 2L\17Í$\9bpVWé23`\84\87}6\fØ)]64x&v\fíËÿ \ f)\16»%8\ 4\19¯ç\8e\93\e\ 2²ìv\9bïû1gNä~Ã\17Ã\ eùd\9b\\ 2ËÃs\9f\0ß¼6y\ 4\89!\8cÒÆ´nÌA\87yª#\9a\1a+°¶\91\13\e¸À@"\99\11û\13\ 3\16°ý\13¼SÖ\9cV |òùË\ eÎÓ1\v\94í\9fI\90\ 4\82¥|çÎ?E}+\e\16Ó¿ts³¹ð    {\166\8d\92\8a 
+\83û\85A4hR`\98\827p`Óã\88tL\80\1f
+B$Ñ\ 4¬ç¡oCÌR¯çtÖ²\84Ò®}Ç¢\7f\a\ fêOâxn\9b}\9av¢Ðz Ë²\80rÖ"LÒz\19OP\ 6\90\1d\ fH\ 3Rm\16ËTpwNãÖ­¹õ\8e/¿\11×dW\10\r\14¢gë\ 1\8d%\ 1éóG\9d¶ÿ\ 4È\9dæ\90l~¹ÉÊëÆä6zBâaéQù\81m\14ÉüÊì F\e\93à\14«ù\1e\89\85\93\81nROÏÚZá|\86p?Ô\9e\16$\9dÇ\9fwX\9dª-k­ìM\a>xÔ*1\1a\96nÔVÜyìPßp\1e~\80\9c8\v
\1dÂ#\fÒ/\\87ßÏÂá**Ñ<\ 6ÎR\9c\a¯QX9Át#\\8dÁ\88w\81Niÿ³F\9cpIB\0"ÔøÑz¼Ñ\fñ\10=\108\ 1õ>z4/\997!ü\9f
+n#£zt\0>¬Ð\85ù\94\94`{\ eÅ\14®Ý\91\ 2õ\ e\aÊ´=\99Ø\1eÛ\9cæ=Ãa|×+é\96íªY¾\99\ 3l\1d\ e\81«\86µ\9et9\10EÓËf{Ýß\vwêr,\9c`kd,ªòÑá\83¿ºOC\8cÁÁs\1a\fù7\19)a%\e\a#\e  Ë `"s@3»ÿXþÍVu\93'íaI¸\85Ûù\ 2\8eSr8;K¤*8ÈI4\84Þ:\ eZ2\ e\171Âô+þJ\18Bþw­NêJÄqrö«¾\11ªr\ e«ÉY¶íï*õ¢i]lÄ\838fãɳ\9bø\8e\eÈy©\16í³ì\90yO\91DE\16HO5u·Ø°:\12~§·°sy:\9a\eu\ 4l/H¯O÷\82\87F̽\87\15\¶u\1fÞ4W\10b\85<ÐyßáV\17\90\99\ 6\9aõáZíT\15\1f\ eõØm~Ì\98\7fZ
+-²\12ý·o &J\ 1æÉu\v\84!¥:À¬G\98Iö%ÞL±\88Ñ\8d\93n\0\13\82\13µÅ\14 \18³çHóçN \93\88\7f®\v\1a\ 2ÐmBÙ֨;ëØkYdß\8f½\9e\97Ðt2öaF\81\1aÄû¨8\12˪¢ªyß\11&6ws\99\11H\1cö'~9\13¥v\19õ.5£=É]d\ 5¬ï\a\ 1U°·\8dàçØ\898 ã*\89¤\v,\82\17Ø\ 2\9c\8b\ 5'úSÚ\9d\97\19l\1a\19\7f\89°\81Y·r    \95sÙK\8d\13M\13"6c+ºÃ\95ªýõ~\ 1\ 1^Êï\ e®\9f\96\7f( 0\91//\8anf\83L!%+\aîêNønñ¢N6JPÒÌS\9bùCfê\ ehÓÖi\8bã_\86\\b\87HîíÓëÀ÷»<ÑP\98p¶¢\ 4\91ñò\1dNqZé\85'ì!Ô\93èË\94ï}ó½\89°¾f§\91\9a\85\94\956\96A\1a$Øý¼o\a\r\88ù\e        \16#Ñ=ÊeÄ\1d\92\91Y\ 5Å@¤Sß\15CêÔ*\ 3\13\86\84ÿX"ë!Ï=\82§e¡m0¼\9fL1ÇÁ\87LYr\ 1F!\1cN{íty+bmr&ÙN\17$\89̸pSRsÌTX\e´\812¼;\91\9fæ\10,N¹\90¶âï3\8d\17v\83[\16\1c\16\8fA#!\9c[e\100ª÷q\15Øhåö\8b"\82\96¾*lnx'<Ý7\92\1d\9eW½,>ãZÈ\0\ f\92\82ÑO®Q\9b\8d\81\ fìlI\80\82°Ú<=\9a_2²\8d\eå¯\96\9aâ}\86®\97j\15#jʯ\1c\80\93Í\88\9em\ 6bÞ*õ \11¡NÄíTÊG\&6\8f8ö#è\8awn1÷\e\9d¥\ 6ܹ\ 1\9c*\ 1\93Ä\10ÚÞ0\1e\9a=C&C·
+\ 4;`0ÂxÃñ¸[ñî7qã\85\9f\12k÷évoî\94Ú_)\ 6\rD24dA}\ 6æÚ\92&o\98´ßNóxòÓÌ\9f\ev\9eÚ\16ì\13I¬6¾\ 6þ\8bòÎ\9f\91\96ç\r\94¹Ã{ÀÐ\11Ö\83è\ 3zab\88\98\80\9eÃiSæÁ®\8c\9fÌì-¹D\18·\84\91'M\8aÖ\98éÕó1c¦Õí)ÆL<\a?B¤¢hRFÙç\1epì²h[g\85\84I¯¦v\98\93\e}\995\83µ#:M­\9c?,zÙ¸\15\SXÈ8õ\ 3\18»ÄÝ\914n¶ÔoÁ©âP
+:\13ç\b¸\10¤ÊØ\ 57BÅ!ÈØ´ËÛ\86\r) û\1fÝA\8c\8c`Sñç\bÂÆ\ 2\84b|&\97ti\97¦\97\7f\13nIw\1c\99|¼|º\9f|\8cð6ÁìB\8b\9a»ú§>Ç\1eà\0\vJ\ 6Á\v`±ãM\9e\96O\9dzúúð\9b\82L\ 6\80\17Õ÷\88í3\ezåÂ;\ 3Æ\11©Ô0Dà\9f\ 4ònpD÷e+9ü«¾VW«ãÄac}Ã\f\19û>HQ\94ìBÐ÷¶&\ 6ü-d\90v\89&J¡\0\9fè\1e\ 6\1eô¥\bÑ\15\97QZ\1c¢QÊv`\ 3\9aÇZì\94|\rÕS¬ëD\11W\1eE¦ºíÛx=«\ 5'zF\f õ¢w#\17\90úü\12\85\ 1¦\8bç¦þw7\90Ê#E,Î\99W\80aöݽ'Ý     áWõ}Õ\886 +Ö{\9cé\10kÑ5^gT[Ì\88\84Æò¸¡ÿd^ª\92\82s®@\86§
+\a;\92\86\9fÒïc\16±\ f\82ðºeëo  aÛ\X¤\84±X\8d\19\17®<F(7}gh¿ªz¨£\189¾.»¥SÂ\130qÝ\9eÌþtÛ«§ÍôO!Ï=w7|}xkY\90§\ 5ýØ\13Di¿¨´´\8dÈ@ì8\ fb«ÙnW\16r\1a\9d¶S»\ 2\rRuZ¿\9dÅ\96\83*ýðdÚL\8e\90dM¬\8d      ÷:é\9c\84ðoqBXlË\ 5e\8bU^ë\80Ie\ 3T\16°\93\ay_<ïºt\10Ü\82\f¾Í\96a\8b\0\8e\99d\0dÛ)ñ   ,\99À°æ4Wþ]V\8bÀ\91æ-êG@3Áö\vðtèMÀtÞ\8bPÅÞ\93îu»Ò°ö(dá^W~@¨³¹&\91¾#\88ݶj\9d®\9bØ"_\17å$\9e\82½èÒ7\84\88Lþ²\eT\v¡\1cS\83ê9³\83äÑ884\97\7fP²dÆ\12E|·)\94\9e\80ʶÛ\\13\fúRo\v®\9f\87ª©\7f'\9e\9epr\105~\90¢ÐH\1f    \19ÁÃ\81ê#¢vOÄm\ e½¥\ eK\ 4\ 6Ъ\e=褴]à4\1aÛ½á\1c\14Øñ\89há¼£i¥{Ód¿)¼áµ\9b\rTôr< 0þ\1cjEUæß\81dK©N}Ðò\91Wl·I\ 45̶\92¦[(I¯1¤\výLOh\bèõH"_­éR'ÝÄѵ×hö#KýØ\8a-\ f¶ü¾8 ¹\96J0_¾ÉVA2xi{_
+¹¬\ 2\94\ 3 «qE£Ë\140\19\85O'¡:À=\ 1áù\ e\8a\84õ0U;¸\82¨Îþ\90\1a\ eÆ\80\13sì&³\r"Í^ð\14\9a8í&¶\87-\8cÄ\1côÝSir<·×\97P\99\92-Q©\98¾£\f\81^M\96âý\88_)0Fk¹\0\9c\8a<\9eáè \19î±\94\11®\92\98ú\18ÝO_\ 6v        KèY\9eÞß\12\86K\1a\8a{$²³ÆÊ:~   RÉ·\ f¤\89¢Ïõ~9z)Éyâ\13\ 2\b\97\ f\ e|9\85\98÷í\a1ïÛ\8d\ 2\v\a\9a\ fçöAu0\ fk.ì\83\98óî\ 6\fö0=~ÌÒ\10\88\ÝO\ 4û0b!b\84\96\84P\11uÁ \95¢E¦{\82µ\17\ 1ö]½:Õ;÷\9cC§2\0\ f¥Ú£Õ©}&ºs²\ fǧ9³\7f&.̤ôfÉGGÜ7/õÙ*4\1a\16ïl\e\83\11\12IU\8f\13 ·å"²q¶ê=öN¢\rø"Ez\92~vÈ[\1eò\a\ 3Ø\191´é\ e ¹Q=FV\97Í\80v\91\ 2×§ä
+)¯$\f%ßf\ f\8c\f\9b*r\13üKÄÉ$Ò'w¢·\9ez\fA/²©´ÑMo´/\8bs[Y\12«òKæv\98¹ÆÙ\8eS\ 3í\98Ϋài\9cé\15¸aëV{ý\9eÝO\10èè\14\90ïV¬·«iy -ýY®GÜ4Ù\93\8b¯ ¦É®\90\9389§\fna\8dÈí ýNbÑ\12ø%f\ 42\19»lõ96þa\v\ 4^+-¬\9fY\\ 1\82\ f\83\87\80?<\15ëÏ\ 3\ 6(ôØp8\a\85Ç\9f$\ÐuàgØ;\91ûázx'uT\9fÉx<}ýÆøü¹^µôjËõ!Ì\ e#hÃ\151\a?\13ù\97\80Áÿ}/\1dõô\9fbø4ç\9a\e\14\0½áïÿ«\8f³3ï/ÇØ\86;\1c\ eÔ\81C\9c\8d®º;ű"í®¼¾E\9c\ e88U\ 62lþ\81\917Mã\93ÑÅ °:NÛ¯õ¨SIÞÌ\r\80W\98ºÁݼ\8aÁ¾Ê7\82l\93òÓQ\e¢F\ 1\9b\816\80Ç:%%ª[¦\9a\v\f\9f4ôK\8eg\8cv$+ñ\bk2\ 24\1fÒ\87¼\f)úYX\1dî½/=X\1dó½\89ú¢HGEmQr\17kFȪ!¼!%_îA\8b\17\9a\9fòBÀ\884þß\84fJÀ\83m+ÞMêì\ 3a kñ\8bÂÁÅ­{©ÁÀª\ 6L\1dIØ8b
+À4\0àý\99ËO\8d\ 1ô½Wú)ô\7f2\r\8bÅä²²:g\9b6Xn&dî\ 6Ï\92\1a\94 \ eÏë\ 1ÎS\ 5vG&\v\ 3¬¤Ã§×\v\9dbk¥\14m\10\86\ 4\95\13çUD"{\b uuK\926|lD\85Q8hgYý#°é¡JC\ 4ôö\88\9dfì¦ÌM8F®ÑiÕG
+¨óÇ3/Á;9õ\8e\83ÕBóp\86\0\91\89\8d\93B¢8ÏÜ#¡4~6[ôN6ZNf
+~6e|Ï\8d'\19Xû»Ç\b)=¾vÁ&
+àAæ+\0\94å&ãÏ=eHJN;±m[3%ýýº\9f[Ù*ê\ f\82\95 ÚE\12ºûæ°ÜÄ\1d\vê\16÷zþ\8eá\ 6\8ckn\13̫շ´\9fî'ÿÔ­?ú\1c       \82\80ÈÌü\0t\846)\ 1ùiQ  Å8\ 6Ká¶\8c¾ØÒ\13\13wdÐø2\92\9f¬_Z©§\98à\r\91±M;åµÒ\v\1d½§~\11!Ñ Á\98û\89÷^'õÕÈNÂÀä\v¸µ½2e\90Îk·%\92¯?\984\8d:MÒlÑ\9c¨ÕÃ\91?Æù
+&¬\13ü]¸å\97\8d?Ø1(¥Héugûì\87\83\10®\10Õ=\8c\ 1çþÇ¡£\81ËOýiÃZ\7fë\15\16\1aÿ\9a^²ë[Éo0ÊÏü\ 1Ü0O÷\94     þò£?ÞX?\9d@&\866\Þ\9fR\13þf\ 2\7fÊA\9fóªDÿ\94jH\13îV á\88\ f&\15\80\8f\8b?¯e\86\8b\81ë\Oê$)\93»!Ä\ exØ_\8côýÅt\82\eò\ 5»>\r`¦Î àZ}æ\94ÿcÆ\rq?ÏÛöÊ©O²k§\ 6%4\9c8ÏDÿÃ?\8c^\0;\89ÿ¥¹óÿ\ e2v\ 6â\1d\82\17\ 2\81hTÚ]9ü¾¡ìÄ|*¡|ÞÙyÝ\93.\9e8ÕPÚé;æH\ f<\83¸\8d\97Y\89E\17l*\12©~\1c®Ç\ 6¹\17Ç>ªæY"×: úò\81`\1ap\eeæ)óyfµ\9be\9eóñ**Ìn\98\r\ 1\85ñëZw\17õ\9f^?FÚ«´d\ 2dJyQ\ eÊû3©c%-­|çY1OQùÎ\17ká    \ 6<ølVÔqúl¯\bNè:ZM*0\8bp\84ø~­Ï\bL\ f\ e\v\ 3ÔùÒTã[\8a2Ì©]ëÄàï\0I\91\1f26]¬íÇ\ 6áÈ~<v\13÷pn@ÕðIaÝ[\v/0¾\16ÙJvºi\83ðo\8eßø\8bðpÖÌ¡XU¢ðp\83\1ajæbppÈq¿ÙÁÂ\b\8a\ e\ 5SÕ~\ e,\9dÜ\8d\96ApqNûÿ'\a\17»îÿ»\83\8bAìÿ.\ e+¹ø8\87\83F\11]K¶\9d\ 2ò\15©kÆ^Bd>$\14Ò¥\87\b\f\12Ä\91Â\13£\14|Ú'ú+¡¥1qZVLµé\87²\13v\84\1f\ f1¸1'\85\12h\ e\946s\v oAÊc:Ü|§#FýÁÇ?Ýb\16 ¸öàÙ[9\1aJ×ÙPcDð\1c4\1f\91\174\1cE\8b\83oO\eÂ\11CG¶zH\94:4\1d©øoæ]\97u\9fP\8eò§e\12×\1eôXÄÈ©É~\10È8AÉ\80m\14Íö¶n\87;ÚþbûÂ@é2P91õ=ð\9bÓ\8b²SwwßuÛ=\98´7\8f×J¯ïm*­ÅQ¾Õ\8a¨Ëù+9\82\89CeÚ0\7f×\92\9dL¶u\ 6\95\bEP'þ!!\aµÛ,àäF\8a`\8aõé\ 4\ 3÷øÇY{ªÍÄÐiä\13\ 6ò{#Ú6Z\92\ e8#ù\96\8d\7fé$\bØqä"Y\ 6áÞQÔ,\829«Z1´ÊØRM\90\1d¹¶_µ¹õ7ç°\83à²IVþ\r\11}.\ 4\80\8aþßEPX¬íËÑ\14¨AóVÌ%Ô<>º4åLDpz\ 49]YÊ\7fâÖ\8a9ö)»\98\8fá`bÚ\19¹p.ÞÛtu$\95Ä<\15±\fÍÍ¢¦\ 3ÅÒ×\82ä%P¡K\13µ\83\ 3ÇEòbê\ f\84\f\rRÍ&ôÊß\14õ¸'n\1f\86à\9a º\8f_Íà\8a\8a@ÕEj\86yÔØ\93\88\ 22OQ\1apy¿Âઢ\95g\1e\ 1d¯ßPæRJ\94CÍP\a³\992J®\91ê,=ñ\11Ü\12d\7f\87)\17Á\80\7f\16NJúp\81XB\11\972hUóñø@îNÛPV­h¨\7f?eÇ#N
+ØéImD\984Ç;lF²Ú\eL\98©\ 5\97\96µ\9cÅ\95\16E\94¶+rÆÛP\8b\ eõ°Z\1c\80\81]À>\ 6\z\8dâz\80\1cçÂó\94Î\83rmý\v8\ 3Ê\8eGÎ?¢TùÇ\83\a9~ÇAÍX¾ôåX\92.¶G\9e\90£\ 3e\1fg¼¾s\83!û{¿h¤Õ\9fÄÛO\80Ü£Æ:\13yNñb\95¼Q`\ f\9a{\r\9abÈ~j\e³ù\18Y;ÉÐ\10¢Ò1­e\rä\12\8b\85çØá?\9dª\9cdÿ§¦u7Ú2\7fÒªøÅÈy.J\98/D.\9d>.\83 ª%\1c¡c\16\8b8v  ¸¶\eÃÍ'¶Ãh\84<O3Jê\15\v ÛÙÔtf\84lG:8W³¾\e\8f±Y÷ÈgG\14öÊÜ)d\89UsK_8`Ô5°­\84ÕÑ\ 2¬\v\83\10ò\9fô5S¬\9fÊ\9bKóì\9fÝ¡e£
+½ô§&T\94ó_¢F\87\15\8eÓ´AEbþ\fnãY\8b\1fçæózñ?È(\0å²¢\ 4nöu\vÔ\8bµÐ)\99\98ƹÎ"G¼ÜCçÿ\b>\ 4Ð*Õ\8b7ÖP\9bÊ\89qöÚ7\85¡
+ÊÝã¢\ e1\1eºô\aøP­1DlÆ\89\96~\15\10ìÅÀ*ñ\82\1fx¤"l\1a©#[HÁÜ9øÁ6\r~Z·
\92·
+¼Kw!»Áa\10ú÷"ñîN¥\964q¼áh3é\10(6£l¥Õä¤ÎI\98\81\80\10\89ÉR\88¨¡\94{mÝk\15\91]ìI\15þbß¶ôvsD\9f$vx\ 5Xá}\9fúGÙø]ûä\81m\aÙüj­Y.FÏÙ\86ÏÆµ7ºÀ\ 6ÏúÛÒIþ½IÐ\ e\v\9bñã&;F\85{\ f\8c´âþ\ 4\90Ù\91$yÌD\ 6#\89qD\9fiÍÒ\88§ï\r\8eûô\9d\ 2ß!&\87f\85\9d\vf\85\ 3Zç$ºl\ 5ÆÊ\97øçó\15\85{\92ûf;7³\9f\85Â\98í\86\8bkg\17fà T\ 6ÍÛÂÞ\r\9bn\84uÊ}è#e\9b¥IQ\7fçÔÅØã¨V\0£¯X\80j\96D. \84\97\0a\9e\12N±B\95¤t     a#©+mo3'iÚµ×f/@û\10ÀFGÈ(`äLù¶ÓDÈ\99\12L\8b\99\8f±EÇæ­·\83E\18t\1dâ\1e\0\8e°¶Å\137¶Võô"ø\86\ 4Ê\eH\ f·\0cp|·ïÚÔ¿4¤\98ÿ¦û/#ä¶¿ns¤\0ä\84\97 Õ\84[>zP\97\1f\96ðr\v³\8d¼®\95îÿ»%áùù,\15¨¸ï}WH\9c\fا\12ñ\13'ÿ\ 5Ñ\ 3©äIª\8c\85ñ4j\1d\1c\9a2vÙO\ 6ñ\14\805®õ68\\v\93åäê«\94×9ÅR\9bãÊØD\93£\97\9c¤\94©´Òz\ f£ê«í\92\v¨s²¼!ü\17\e\81\7fà¿Ð\853å@E\16ïÌ\ 5~\84\ 6!\16í³M\9f\88Á\eÅ\aGÝ9lÄ9\12ðICs8\fPì¿\1d\85ë@Äí\vjêi¼+ÿÚ\95\m2\11\8e\9f+\7f3ø¬ÒØØ¾\81õ0Lûu\9cüæÑö^\98\1f%]\92<ãAÖÿ\1e\ 5ׯ]6í\87I7
+\ 3*±ì([1\aÊ\80`\8d3\1fm8úþ×]C8â\16âÑ­4í\83æÄÜ¢äÝPÎS\ 2­      Z[¥ð\1f̳#è~ÚÍQ\ec1 çµ×o\10\9d·¥ÒÀêR\fóù\80\91¹Õ\125UE(\94=ø>Ò\82\81d_ù\'\9cª\ e?ª¥\93åü\93Ô\0\ex\92¥\130s\0¿S{2ªÌ\v\vMÀ!3q\v{Ѳ}|µ±J\1dK$\93åY(\rÈñ\ 5Ø\ eeº¦÷¿\18\19´ÇUxËà\1a¡°\7fï±S¹p\84UK¨\93òÅ/îº0Xß8rÀ²ñà)KGÓ9\9bËß\r\95\1dÛW\13\83vY\ 3áh¯\82\84
+\9c\18®\10ë¾.a~ýƵ\9c\ 5\8cþ\90\86H¾>\vB,\12\ 5mçÊ*JR©\ 4Íñ®gñÎÏV\92PHú?\b\10\80\17.][kÔZ\84+u\98\17=ü+g·\rk7Â\98¦ä\96®\94\8bf\aB¸öÀ«P\81\9f\8fr>íÖ3¡8\13\9a\ eÞ°\r\an\82c/ÿ,÷)ÿLöÇùgµ\9eêì\9f\ 2!3\12üRhÛ])m¯ú\83m}y\18s¨bøg0&cjèiöô$\9d\14       \99\ 6¨\92-î÷Ì&chmßïÁ\17{Êaäþ\9db˯¬û\85µ\9e]mg,Ýná   ;}­\9fY)\15ø§°jª»\1f\87\1f»\85ÕFº\84\93%U\94ªiÅU\9b2|\16\17\1f~®Øi¯µ¢¨\82]dÇ]M\ 2·
+,E<\ 5\9aè\ fMÔÇX/²\91t\83cwÍÛÌ^ý½\19ÞÀ°ÜPd9OªÕZ\bæJ<¬æà\19\ 1\ 5E\ 1\12\r\ 1Ç×¶êá¢÷n0\95p\r\bÔòIþÈ:o\1cz >Vnþ\ fÐi6\ 4
+\ 3\13"+\1a`>Ðö?7À\1fk\ fo\89®º\8eô×\\94 ´eÜ\ e\fH\12\92îªôTE\10
+\81çÚ\aE«íV\914£±.ò9Ù <lþ6µ8\16~\1e W%mÔÅF±\880¾W%\1f\89Ý)ñ|@¸%¡é²} \1e\9f\8aÄ_ß\16\0\15þy\1dÐÓÊ>N       é¬¤f¤­Ø÷ÇIïº\ 47í7%\1f\14Äà\ 5ïY`R\7fK\9bþ\16ed\8d5_~*\97À"\8a\1d5_÷
+\ 4Ê\87ÿL$9\94[ÂÜÈ\88?\91É,\9d\1d¹Ñ\97U½<ÇA\7Ä÷Wñiþ\ ea !;×Gøãm³êÎW\8bð²q\rºÉ\89\8cßF}Èäãání³\14`U\19§§ô\9e\86x\r\15ë\9cc7×üeå÷B=JY\8a\8f;\11[r\ 3¯\89
+.u\ 4Sà3ZÄ\12
+#ûB\98ä\aæK\98\92\9emk\ 1\83E@\90m\81P¸÷\92\9dÝÔe'Í!£ZÊðV\1eÇR\eá\¿\13zLE.ø\1cH\ 2ãl8\9d¯|è\10\18\f^\9aÒêr¿9~qUÉeQz\ 5Î
+\9dÙg.Éa¬\9e3±xÎÉ)ÝåO\91n!\89DI1:ò]½ª¹3OWÃù±w¥À\14\8aqO\89t\16\9d¬ïI\eÄ \8bÜ}ɨÉg¿\9e\86\97\18\b·Î\\1cÀx3÷\8a\ 4Ý\ 6Ô\8f³(\96\e\94\ 5\ 5\85Ñ(\1c[ ó'\85ç÷F"\97\94\91ïèÃÜXÀáÃu\8ej\90uwaä$×ëм;%i
+ýú\1d\1a\8c\9c\12êBµY\ 6[\9b\9eÖØ¤&J³]\a ­1\89\ 5bľ\8d\93A\9aº\v%kªË?;\81³º)À\90AÖ5\ 2V\11\86´w\ 3\89tqU¡\94`×LJÅ\90Ó\92v\9fµ¶\r\1d:\r\17aÑ]%Ϫõ\b¡$\93~$s\8dkB|i\99i/\rT\ 6zÏG\bh\1e\17j¸ j\15\11øoò\10å0$u;áæ£\82ò ìIñ{M\87±©È%k,\97S"$\ 1¶[°¼+Òzrô\89\1d«\88izh«å\ 2Y)5¬ \94\a\10uëÊDw\98n#Æ~±\1cC   Ýó]\19>ÌT½à k"Ål\ eÀ\1a¨)è\13\88IF\87\93\97Sz ùt·\1aî¨\92\19Ì^³A\ e\93s\10¿ÄËy«à@J\ 6 l\89Áæ£ï³´K\rñ$Ïß\1f\82 ÇÞ}\1f+â]ì\9a¼ð¯) ;ãü\8ejâý\8f2Ó»7\11oÆä\93\95H0Ù¡Ãg\89¸\aN\16¾Ò;¸\9c1ýº-xyuH\8e«I\ 1Ô\1f´ôf\8dÎ\83ú3äè\85¬=®x@\8fú¸\9dÐSôv\8e\10\83f\12'ÿp¯Xèò\ eÜ\9eÊ3Hä¦1\93î\18Ó&ÚÖX\91\13ÌÔ\1dø²\91Mþ½YÉ[1î-uKíҹŠ       \ 5¦\18Åà-\1d1j5e)u\1d-4B*r\e~\f(¡¤Ê\ 2\8c»ì6ËsÉ\ 4\17C\9dÝ\83J\r²S\81V1©½\81\ 4^\17¯u\82\9e;\92­ýNð*=P=\ 5ÎÓ²,\98±'Í\9aU-ðù\8bpÇî   °\8e&Lk´ß\88~CÙ=\r\97\aÄ\8fU·],×MZ¸¯ù\9d\87\90¾+¯-tàÁ\95\92§Áê&b×\0\v\82¯Æ$.­­\93\9fk®å\85`AÁ\1a\7f\ eR¥£Ý®»{m{\1c\99\87FA\ñ\15\9ar\9a{ÂJõ\98\83\a\ 3²\1e¾t\14²B6\VòÁ:Àûºk®óC/\16Ü\8b1êÎ\0ºçG]õ\91Ë\1e\11³¾f«ÊSÀøPáSsn\8aþ%µ\11\1da$a>i÷]B\90}ÈÑÇ|~Ù>qÿ^ؾçmVênçF©\9aê\e\8bQ\15}5\ 5UC \96\16´¤ð\9aèÁ\8cÑ\0\8c\9e*äø\84)\80³¬@À*Ò*\ e\1d\ 6\[K¢\92þ\88¤´:Ý^¾ÊáCzò\e¹z -¦A[ü\95\v\8d&ëD\98£_¿·i\18ðK7óM|\92\1a\95\92,(ÈIë\8bl¤ÏÆ\97ä{ñÚîT\9e¨\9c½-\12LíM\8ckYG*)Sßò\ 4\7fÿ½,oÚM\8e~þ©wiã&\1e'NT\92\8dè\95t.Y4\9e\91(yÉp}D\1cï¶ûBò\eój\86:\8avÕö\1dÚx\0\1aV,FÕtÞì%× wïW w¼O\94îw\82ÿp\ 1\9eð\81.m
+\82\a4Â%\ 5\13Ï_\11v\9eðw¢­\ 4@oµM\18¥üÞáBPh½èîY\\7f{oAa¸ÇÈ\9c(a-¹¬8ä\8am\9fª½6"\1d°#þ5s¡PÂ:¬ó\11;(Îæ\83pÇJN¹WP´}È«ïã{ÁíðºçþéØBþê\17\96Ig¦OáD\v\18ÀdÙ)Eð¥\93\ 4®~\15\91$\9e\18\103¢Þ\98/\1dX\84Ä?ýæ¾\ f¿gÿ\ 3_\ 6Óø\9aø?\92Ò\8bÁó      7þÔ­(¿\87þö\94^\81`\97¿\7fôZQyU°\9f\ 3è´¢æVÂ\7f®éÿ¢MÿW+øÖ´°ü\15­,?\ 3ÿ\96\96\1a\bE|\7f8\84\89f\10Äï\7fÃ\92é¹Ä"¿ÿk0\87¢\8a\8c\aÊU­ù+,Â\1f\98B+ýØïäB+÷\11ßä\9dìkZ\9dr¬b7;\r\ 1.¿ýII>>;ù\95i¿ò*ç\7fÌ\82µ\89/ÿÿÁRsÿ\89¬ÛC\97òþT^Ï9(¿ù\e\88\87pÛå5P\rï÷­Ñ_8Õçó\10\17\94MüéË\ fôÙÿ÷Û£\vï\83\12t\b %ù¸ \97üä\ 5\97þ-ÄS¸ÑõÚ\80Î$\16­«      \1a\83ÚCò±¬%XÝØ+iE\8aË\99ÝØ_qRl/½ÔE\973\1c\1eò¶\ e\ 1%ßt(¶®³\e¦Çj÷¦\17켫\vö*Rݸ\aá\87î¹Øz\e\80ßq\87Å*Rq\11\81\7f\9e·¬\7f\1fó«7:ÿ\rê$?Ãι+'æ<ÁÎ&\ e;k»Ü7\ fÎ"-{Ü¢óÿϳô5\bï*s\bgô·\17o\98kLÿÖÉ\8e¿\90Ö[üÅM¿þeO\7fýªÍ¯æ\\10\9bG?\9còi¹3\94¡ä=8Jðv\88\r^Oí¡æ\99rÇcòÿ@rVx\fÙ®»ý\9cþ*\93\87bç½éýÊ\9e>§ôá\14=¤ßØ`οîç\\ eþx:ǯ9«Só\8fÿÕ%oÿªKèE·þYñ~ÄåC\7f\84\87Õ¡p\8dÎjÞÝ\1fÿF\7fÿ~\7fÿ´\7fûc¯òüÉ×ù_X\7f>¤éÑoÛÕKÿ\89\a¿þ\8aÏOý?\7fOßÿ´§ÅnáÅ~\81Ö_ \1f\95~~ÿòf\8d×NSùk\fþ«¾ÜçÝ÷ý\86ÿ/èø=\87q\90åG7¥tÃ\92\93¯ÝicÌXº\9ayò "=ͯrÍ\94ã\1d«Zv\9f\93#÷ô;ZþãÃ¥ûüä\ 4YÙ¹ÿó!¢ÀÄ !ÌöàÍy?ñd4[\9fþ²\ 5\ fàÅ\9fOÛ}\ 6§,\18øIK8L\86\9cùm.0$\93z¬qÉa\1e;æNW0µ\10Û\93G7õMþfCE\8dɧ|t\9f\ 1\8f\17\9c¢Ë9̺\83)1`ÞÎ\8aÁ¿²hÚdì\eûX{\ 6üLM\83\7fnnÁ¿\17\14
+\93\7fEÚFb¦ñ8wøÌEn'kkZlRîÖ²ÅÔ)I\19ý&éÿ¶4µj¾®=Õ\ô\8d\1d 7Uy   =¤ð;æ5\85\80&\82ÕÀ\13û|¯ó5àæ\9c\1a\12\8f¢´]\93F\fÚC\9bc\9c\92\87£
+.\fÛ\12\1a®\eM\9\ fø15°ò\17äø\14Â\1fW&t-_l\9d\901|KgÐ\ 5\9c%.£åýhõ?8úÓ
+u \85ªÖ0hdt_fFØ\90¾Ð.ß;+¦ND\98â[¤\1c"eLRøü\98\9dUqg«\19/\16Í3ª¼\ 5\85\v
+\16w{\94È#\1eÖï\8aÅ=ú\9c;ñ)e     ¼®*¬kB÷µ\r1ÊKEg\ e?ð0\94`\8eÖMñ\16Ρþ"}Zç\98§\80\f\17\12\96ÝA½Ý÷U\0äÍ·µÚ\ 3K(j\0¸BÝj7Ãã_«á{\85_]i\e1\8f\83>Ã^\f~|¦Àï\83¿s\7fþf\10>âëCOÜ\81]N\85)\12øE\vLÝ'{u\89²p(wºÂ/Y\9f)\82åà\ 1\ 1^\9fÈ­¼[Ld
+Þ[¨t \95ïÉØÕ³\9dÙfå\13q\19Ȳ\9bbÿf\a°Î\ 5t|íæ£Ú\87÷t\84ºì\0É{\89ö
+TÞ~\90PÎ% ÆD¡    $ìÛâ8ã_°q¯$2÷a\18Ã\8c@ä`Sò\89¿Ò\0PÖ:¬  *\ f©     O â"M¸8\88\92¬.K]Ì \97\ 4\8fÔ
+\869ç0;D(B\8bÁ\9b\95?r¸,.=\16|~\95ÅB\9e\9f\fn~rXE]nå(\15²\9b\1f\97'ª}äc¨\1a±\9e\8a\98º°N=:×x\10}ýL\11¦$=M\93\8c\rn7ð\80ô7á\v\88\18\96õ F1`ÿî\9f0eö<1^ç4ez\94\ 3\v-uÑâ\87\1a\9c°]\98\9a·\93\1d
+tL\14«\ 4Jç7þZÿûÏS
+ôf°ï½À\9b\8c\bªô\9aAPÑ|Fè\12ê\16ØÒ
+\12\85C¸NM6@U¯«q¢=;Ý\1c1Â8\80Â>Ó>\9b*å/\93\18öÔ2ï­\1aì~¥î£Öqâ±\9f\83y\85<Îc\1eâ\v\96\99\ f\81\98a7`$\ fîc\r­{G1ñä\85×\13\11Ø\8f@Þ£G\10\ré&É­fÙÅ[¤äM\9c\8f\99-kê¹Lêné²Ö1} 9µÃg,\9fn\ 3P\1aéi\v\89/a\10S;\ eÿMº@'\8bÜå\a·\9a\b\8að\b\8aç10²\8aO  +ô@Ïx`g¼¨3Þ¼\19ï|hàÀ\ f\124p\80øc\90|,x>\15è\1f\ eb\f÷\854zP[%\80Q\ 6PQ\bcD\1f\v\10\ f\86\8fÅ\84\84æ\8cÙ£8hÎ\82\82\1a8ãG\1e\ 4þdÑ\9e4\\9a!"¼ù£@hÐ\82¦ù\9a\1c\80>\fÜ\1f\ 6NhÑ\1a9#G&\14dÀQÿ£G,h\82\90       õ\ 6\8fR
+@6\0ÎY£Õ\1a=Y£õÍ\1e°ÑëM\1e¸ÑÌ\85\14p\10·ä\10·´\10·\84\11%\f\1f\ f¢\b\b\92~hý£Gí\9a9 °'Áðú@ø|Ð|>@v\ e0¡E/\ru\aÄ\ 3öf\8dA£Rh¾4_\9a9³G8\v,¤hç\8d\1eÐÑÏ\9a:\ 3Gµ4t&\8fm\rì\8b\8b\a:\9c\11¾\ 4\8fù\8d\1f¾â\rN´ßþüÑü\ 6\8fá4|\ 3GThþ#GÁ4|#GVhþ3GÃ4\7fÎl\89¬À\9bÁù\r\1fÊhþcGû\8d\1fÎhþ\83\ 6\8f\88hø¦\8fé4\7f¼ÑýF\8da£®69¯êÍàØ\eÁ±ho\a\8chøæ\8f\90hù&\8fë7±Z\17~Mq£²4kÍ\1d\99£å\1a6\ 6\8eÐØ\ 5\8dôÞ\r©£å\9a;cz\1ec\13x<ÓGnhî\r\e#Grhî\8d\1dÙ£ç\1a>y£¼4w¦\8eøÑß\9a<\ 3D>\8dz&\8fì4x&\8f¤hð\8d\1fLÑõ\r\1fTÑá\9a>±£ë\9a>Á¢¡£fhû&\8d¡£í\1a<CGÛ4x¦\8f\18Ñ÷\r\1ftÑ÷\8d\1fÚhûæ\8f\1cÑä\ 5úµ Y\9fø\ 2\a\9fv\8dPãÔ-¤\98\8a½^\98\1fRN\14\1aB\18Ý\90\ 3\ 6\16ØC¦µ\9b¢\10\t^[
+¡D8'\1að:\8bn+½F\8e¤,\82þ\18\ 4\97ô7\99\9b©\v"K2\8aïR<Þ5\91_¡Ð¸jÃ,B\92Q%\90Þ¿\97"\86c\15\1d¿\1aÙi\94ÎÞ\89*w\a@Á{\92]6tÀ\ 2\14­óp\15\85\8e¼F§>>'u?\v×YýÒ:P\17o\eë\98¸\85Çq\vÛUöu\83\r\10Û¯½ö\8d''ûì\932HI2f\0D\82\ 2B\92\12;\ 1b@@ nçÒdL\89"E\ 1GUäjl­«wFL\85
+\95²8\1e9\93ã)zùzí½Ï\96\9a­º®Þ¼¦Ô\ 25S\180\82\82\80h1
\ 4Û~\86\bÁ\ 4\19÷ûûûÿö}\99$\82\bª)^o\9b×ÐßK»ÑïC½\ e󼾦û[Þyß\85]ø5Þ\9f~
+e0îÖënÖÆÚî\1c×í\11\1c\ eO\87¡Ä\99\ 3;yE\94bp ·'Û\10Gùë\86O\95°p÷¼\8fpö®9ÃÞå\93\97´\ 3\9c\82\11\15yW\96\1c¾åo&GCøÑ\eó\9a\1fÀq=%/¡~Ç\17\15I\94ýT­²öQUq4
+!d\18;=\9eÏZ\95«d«²Y\9cs©¢\aÓ\ 6î²É[¶J«\83\8e×ØÔ¼ÑI$ï\8c`\81ï\14úàóÈ\9a\1dú:\ 1À\0[\ 1fÛ     FiQÍÜxqÛÕ7A\14í0ÚúQ\aæ¹?(yµ*\9bÊê\12ó\9c\ 1h)]t^u\ 4 \ f       :ê\1a\90\ 5 BÖ (å!é9ð\ 3%«â1?\8f[+\ 1P@\94±K\r\9b\94*\89\81\13%Ì«>\91ºïB\80N\9e³\18C5°\ e\90\99\13
+7\95]\15\12L\9adáÉB\13\96ÚΪY¶³¯\95B¾7fê!ÜîÉ ¾Zë\8aOw`~¶q÷\ 2\ 3a*_w\92K«$ëàHxò\ 5\81&ëdö7Ã
+\17\r{;½h¹!\1e; Á¸Þ¹\12Yº`hÜÿÆ7\ eÛªÐ\14Vg\ 5mµÔ\95\ ec\ 4ë½á´2ÐÑ8Õ\9a£&£_õc¢µ6Oº\86`/XÓ\\95¬²JÉb\92Iço*D\f×÷Ð@Ìd§kâ\93R\ 3\8cw\18LÄqdJz\ 3\94BÿÃê9Z7ìÙ>£\92m«ÌtI\96§Zm\93¶á\93\86M!!\ 6F\83e\ 6=5=\ 5\94MA  Mb'@غ\9c¸\ 3÷úux\94ÎT#xêf\9b©éªÉ©|ÌûLKm]$Êp=\99\ f*I\1cG\994ÞIKB\8c/\ fÊQÑ\84\1a\81xhÈ$Ë)°Ò¬0\98Â8FïIY¹Bt[N\92¤R\9ak\1c\98Í,\81DÀ±rVî\1fvhä±\Ç\9d<\81´^3}Î(§<l\1f¿   ]2«¢°o²Q\eƽóFdæ¹þ¸qzØTT\ eQq\ 3\94ê\19"\\1dçK\94ç\80\16\ 1NÑyQ¦\15ï\11AwENN\8c¹e\85þbvÌÈâèù\10¡yc8\8bc~\97^\84Å¥µ&7êÏ\9cg]9Sh®Ùu±;nÀË\1fvÓ1>P\88±¾^Çã1cò\17±ýâÐ_h¼-\99zeY¾î\11Bëi\ek3\f\83v´¿\88\90¥ÄÅ\88ÈÞ]稠ì\95ûZ\95È úÊ\8f¦n¯\9c×ß}\ 5ó\95ù|UÛågÜ=£éÕÍß¹¤\16'Ît\10÷¨¶\9aç\177l¥ú\92¿z\81hö~h´é"ûô\e}p\7f\87\ 4ÿ\ 5É|ú¤Äº\7f\9c\99\93,mÎ7+\1e\9ei~lúeVÜH\8d2Éçè9Üè@*Ò\81î/6gØ\bé\9cøöa.>Êù\92   ^x2\ ebcÎâ -ô!X\91Ù®Ì\ 2Bbl¿\8a\94KµhõºmáB@ûµðÞ\80ä÷Á_"R\1c\ 2¾î\95ü¨\82»)ò\väB\84L\94*\99ú6\81»òÊ\9f\8fÐÝUþx:ñóÍï8lcæ\ eìA~\82:tÊ$\17µ8»?\8d¨©\7f\98\8cá=\94_c\19h¾Æ /mlÛk\13\92#s!\93*\ 6\r]\87¼B\99\9d\14^ç©\9dn[7\8d2\ f\93û\8b\7fë;b\8b:¼«*Ê\12§6ßê*\f#a'ñ¨\80\84r§l,ßÿ8\8bÙ\87/ûýI\7f\89#µ(\87\1f8;ó\7f.\1cª³þü_\9aä»\89d_KgJ\ f\9e\15£c
+\ 1Å^¢ee¤õ¹ÏÆ\11ß¡õ\97Ö\veo{Ó7m«êºwOåAÄ\v~\82\98Ç®äu¹¯Æ\0î©l©ØBy\vÛ®\80DI[Áf\7fSNCSø/ÔS?ïæY¡®\8az\8e\97\ f$>J$fþG[Ö\8f\ 5\9a5ÝC\eß\ f\1d}\90x_æºU¿Ïµ\13åAU~1íyßãÙßK\\16vðå*õÓÌ/DÚkÄ[ßE5\fìb\9c/D9èyPà\ 2þ\7f\94¸ûÈNüü/\1auü:t\vh\1fª­\89\ 6\ 2ã¼B¿¨\90TNñ»\97ïFëuoé
+\80X¤KÛAÀ\90d.lS\92KD¶`v2)h%\8eFhßvó\ e\1eÕâ\95¦Cÿ\9fìïÆ\95n\ 6æ\8e'²÷1$HåZ\92\8aÜ­§H[\12w
+ðZ\88\r/\84Q]£Kæ/¥\93\97ÿa\92×7û¸P\88\89Ð: ø\9e/æF9¿OdP\7fÂ\192{\9aÿHÑ¥"\83ý0Π c\90qVÚ<`§eñ +\13ðÕù\8cU(ö\d\87­n·\83q\82Úø\9bj>8\89É:¯½Í\8b«I\9f~N\8bô\88\93\8fñ   ·õßÀn\1eß»\ 5é±·¤ÇkÞËçÉü7P¤ï¢O\95¯åyÃåÌö_2VL­\8aU\9c\ 5\7f\90£NeÞ\f\8f[MÊÚv=\eÃU´\eÆ\0Y£¿¦zhìZa\ 44Çé%\8a\ 3È3ÅÃ\9f\9f\ 1ú:9ËÃkü_ÀH\9bXÅ oTà\8a\1cZÏ-cZÄ(j©õ½\ 5\84X\v\f\f[Aé»>\95\14aêÚ{'Æs§nSö¼\87*¯.&·\ e\95ý6\9eUÍyÄÉ\98ù8\v´°Ùw#a¤]H7\ f\9b¼âCo°8öÇÖþ\r±P%\8e\86Ýx{¿Sk{ÊSä¯ü\ 1Ã\eçÅ\r\96"\1f\934O]p\1fÑfoô\86¼=à\8a\e@[{\ f\9bо÷vZñÆ'-ûf®\9bè-£®h¢ìô;\88eSE~\89\9d4~lqJý"\1aÉ\ë\bÐïóN^Ç·¥ÊQ\1aï$1\90ä\99^'ü{¤j¼\86¼\0P\8bÁöz3\94¤ýg\14\94ñÆ\8aîÈBan\9biÿ©\89Ì\ 4^\19ªÂ\aK\142\93§Íù\e\93¶K\9c\88F"u\ e ®¾pKã§W\80C¥sGät\1f7«õ \1f¶\83\87W¤ÑÒ\1c®Kö¼"¡¡ê*\ 3éiFGÀþ\7f«a}4¯k¸\88ð\14|gIU
+,\ 4Â\8frÙxÇÍ@\8eå\8a\aeüáûó:r\ 3\ 2£6»\vÞ~éÀú®ûâ=·Ú
+s\bå¨\11Å\84s\11WJ½Þá\80Óµæ Bbp\11Êq´.\f\14\82.Ä«\93P|±]*\19ûAP\8bµÛ!ö6\0ÂØ\12\10U\85ö>\94³)þ\18yk#\0+À äÉ©ÔÙÍò\1795¢û\1e\1a\ 40¼S¶\94sþôíµr\ 2-\8c=@Ëç\14ôZ\ f²1B\81\12ñyH\16[ü:.ËÃ\9e\ 1]\ 1°\85\9an\ 5Ç]q\ 2GÅ£âLP[î2\80\18þ9d5\94*\8a\8aö\ 3S\fMi\1aè\85\90áz\9d<\80àøc>m¿TÈ­ö\f[ÖÎ>\14gG¢\1c@=ýÔöÚ½\9c\9a\ 2\ 65VU\9eç\13\9f\aNb_MÊ£1\ 3\9cöäLÂ>æ±­JjyðeKà\95\ 5¦¶\8cþ\849\10õùøzoißJéNM\ 6ðàji²ÞùKz\8ae6\15\92\89ÇúÆÁÕj·ô³Ü\975öµ\9bºYïv³Òùk\93µ 6Õí +%\ 3}$·©d\7f\9c¦Ú\ 5´Ä\vQ&_b/ÌS\8f×\94ÿ\8a\a¦¶\1c\v
+[TC\1c²Ô\8aG\102%-|\8d\81i] å:D\99\9a-áäB\8c\16qûe»I­g#\86Çf\9bÈ\10«,¯!bJ\90_ð7Ó\ f.YÕ-®Á&_T0\1dã`p\16ñò#\15hC\99øÁ\99%b³sCè\ 6¤Ë,À    \ 2^ÂÇ\15Ø} \91ͯ?¨\92SdQ:v\ 3/\82ì\92\98þ0m_24ià^ÂZ¸åµ5¤â^hl\©½\ 4       \87Ã\ 4mȶ\96\99XúÃA½\94ô\bL\vÞlaVoâ1ÚAË\18¢\f\ 1¶câD\ fSZ\90*mñä\rUø'Qüt \a\9a\82\9fù;\18U\9c\11ãP\15Ã\0gÄ[Ò\8c\8fÂ<\7f\8e\18M0ïS\837^\\112`á\1dyL\98[\9ah`\83³t¦\9afT\v\9fÍ\1aï ä3\82æmx&3͵\97òã\8e\83\8ea\81ÈOqm\ 1YW4\16an\bN\81lïH\97õ¢ßÕ¯«J\94Ç+\@Í\17_\1c\93k\88wÒ'[pÑÝýoì³¼\ 4MÔ!\83\81\99\9d\85\1d;ôäª_&ÉÓþ·¤8ÅjN¼\1e³óØâj=$q;/iq±\ 4ø\8ef\eZl¨9\99¯ò\8a4wßÑÀ©rû²d%¹Ûá\93\8bs\84\bñï@\ eÚì¢Ü\1cFa%@#©\8e\ fÀ3Âä+\12fHpJänaÀ5¥ç\13¿!Â/\82óUzU½\95_ýò#|¶\9ePøÎ/}\94¢é\92\88»Ò àöG\1c\ 2=\996Nær²U`\8elª9G`¬öò²UKfRQ\8d8¤Ï úÞQËðs!\v\83K\7fä+è£Þ§\1f_DÍèv®Í\1e¦Ó\9a|\ 5n+øn\9fÿ\1fNT|Êÿr-»¹g\19*\0\fV9\8d²¾\ 1znØÔ/KÆü\13F\16ÂuEy\bá\e3\8bÊ\98êÞò\12U\8d«hR(é£Hâ_\89Óü×(Ü/é°\ 1_0Èk\17ñL®ø\80       ò`\975.\0BN»I4àn\92Ýê\84\0/Ìãý2¸\85K~ÝZ\11sÎ%q
+\13½8\7fkó+\89^Ô3Ê   *\97\9d\    ùV<QØ\8f\16·àïnUp\ 16\ 2̳\ 4\9f\r46\81öÙHp7A\92ø#\ 4\8d\8fBôÁÖ\ 1-è#A\bo\r~\9dÁ\1cî27\86\8c\8bé?\b÷\86lèy5_¥}á\8c5Xç\ 1\ f\932\96»¿ù\83\89½ß\1fßh§\ e¶å¶\86/ ×LÛW·\7f®\e¯÷\9bæÊzm¬8\12+zÅ«ø\ 3;éÖ\87G\ e¦è,ýð×\18m\1c]á³aD³­t\82\8fæ\9cÓÍÛío÷¯¼í1\13×+{ ×@G\9f¼ô\1c\19ÐÇ\0È7\7f¨à\95THX    ê+ý$¯a2ùUr4\v
+ÿªO\8fâº\0\14\1ceBF>ýO\r\92\1f qEÌ\eõ6\10ûþ9w÷ðûú\9e3\ f\99û\9d½kòØñÕ7*è\ 5ÿö´äB½ðûO-[)µW8]ÿ\fîwEÜ
\ 2½Ü>ÑÜøØ·<Ë\17=-íÎлû\ 3¹î=ÑÜ"\16gÄñ\97í\1dÏë\15«~w>Ô»\81¹\9c«ïCí\1dÏäû¿\19(róÝ\1d\1aÚ_\17&uÀWÅ\13ñò\18²\91,\85MC»¦[Å{TYj,\a\12ð­@\8e\99\95´ÞhA\16\8e\9a\1a\fý\86¼0KL|K©\9aEI·\8b\83~I\ 4l\86\81%p(°Ú\9e\9e³)*É\16\12\8a{q°\ 2WÛâ\9d\87K\ eÂ\ 1\97]Lãtɯûmx±|\bl`<·I\vv=_#\8b\13ÌËÈ\7f\11\vÉ\ 6J¼æê騱\fÆ\9dX,®\85\8b.̬¥Lfç\98²ðJÊLý?«â\9e4ÉX\ 2¥OV\85\1ej6×Ö\14  Gé\8bØ-|\85G$\88\9d[ç¿L¦4ë=\888ÇÕwüA¦Xß\83\88T®Ý\17vI\1dÛ2î·GvÀ»³\bîþRî\94\80ë\8e\16\ 1_\ 3\89ÐÔ\rÑ\ 2ÁHq\8cdÙr       Æ°)Ã(Î\97]\b~      ¥?z?\9dÈþe^       \ 3×\19³®ÅB\85b\90\11¹\99Y\91º-ÎÐ9\9a¨[Háþ\enÍaFD5\1c±1eå»\12°zñy\r¸2×a^ø\ f\86ò\83\85;¤\\99\7f¡Hù¸P¸\92@\8eã\9fG±á÷árñ$\9fU³@E\98O0·í{ð\19\9fy\v·g\8e\8dµb6üÀA¯pǾ\7f\ fe\86Íî
+s\80*\1eo¤LèIwÒ«a$¦ÕoU\19(\eæwì\eË«÷Ùì\9d\88V\©yt˽þ!,\18­\9e]G÷½\83˦\9dìûË©\1f³O¥Þ;Î\101ÞÌ&\13\ 2a\8e<J\97ôK\a\84ugð\8f§L\vVðqÅ\8eï²ìÂ9æû/%\a`§¢òÚMÙ\ 3
+æ´B\8b\16F-\10ÄG¬\97\97\95,¢¶Öm Zààod(\ 3\12\ 3­J\82\8bme\94¥\9c\rë{öe\9f>\16÷þJ-¯<\1en}3ÿ¢â\99ÿ\8dµaÕçÑT!\1f}\14qO\ e\91¶°\82T\19\e\8e:\1fP-w\97\80%l\18У\8f%\94\18÷\1eKCiz\89¿\ fÐ_p¯ë\ 4g\90¦\1aj$\82¤"W{\83óïâIT¦ûI5*\9bk\b8G\15û\91\19Ê+XpÓHNýFé\87\12(\9fÑFéäªC,¼:28o\0c\88ã±ÜÃZ_³b\84\0\8d¼Ò\16ênÄ©\9daKãÎ\97(R¯ îÝ©|U\96º
+w\9e
+í¥Srÿ1n!d\9e\1dÚ#"¹Ieàd¡ËüÇ\19Ëú>BjnOi+VÝ\13Â̤²ôiòÖü3\91ª\9a\19,ÎÖXî,k\94\11°Ððãº\81\ 4ß·\16\ 1L\15r
+\0è=\87M©®¯g}\8b\98\86\8e\92°\f\15'(B\17À®Ø\86H\8a3r\1d¯í²t>­ßÇ\b\ 3§\8a\bÙäÂ12\87dí¨ÝNo)+ýê\90\89ë\19ù¤AAÖ"     sê\ 4eB4\9e´ybÌJh «<6©"\10\96²N\9f\92QÈ]Á
+¹­Ý?ñÉ<\ 4       ÔyÕ'\ eKaVø\8feP\87êPCÙ\ÊoÝ[\92*¤íp\8aèut|å6tèP\9c\91\12\ eàà|\9fº\10\93\14¶tHôÝ\15\99\aK\ 1¼0¥¥xoäÝ\96¸ó\95ÖJÖ5MIY¢\8duñ¦[\8cw\18\89©N\92fG«¨¦RÈþ\ 3L0Ôå¡­äÍNZuú¾¡YÛs\8c3ý4-\1c³\8aÞT\9dV¸p\96\e´G\14\88ÒbI>ê|D\10Â\82"\8b-(×L N\16ú=E°ÕÔ\84M,»+¢ *ÊþPÆ\83Ál\15æ\vJ\9e\v}Ãt±ÿc\b\1c­\8eHôD¬Î\8e\1ab¯®\83æ\1dúÉ\f4ÂÐã\10\93\ 2¯Õ\966\13\ 5?\936KÿXMÊ«@\ 3|\11ó0qÝɼ²gJó`Î\87×vKn\16zÛWÊ:\ 3ª\1c¶îOü\ eø\ fä\93W|òîIÄsì\9c\89¤×\8d©«'\16x\a¹Ý\93×[7¹ßAîwÑ{\9dÚ=ÎúOs¾\9bÜîÕîwl÷;·{\9dÜ8¯º\1f<Xá®û\81CÖd\89²\95.\ eT\95\14¥Íe\80dp\f\96Ü÷\90\86ÓÀ=¿RùÄ6Uß\bþ½t<O°ß]4sýC'Uù\ 4"ÜK\9c8>\94lݱ\1e&\97³Å\9bË\95\f\99\9bÏY8µ\8e¥\aI½êÙ8VnÉŲVN8\v~Á[÷\82·ï´·ï oßm\12ç\rÃ[÷Ü[÷\88\927çftooÌôÎ\9c9\7fHÌ·ì\86\9f\83é&\98s\8aÆ\1a\ eá¡\93¡\83vv%?z\18Psa/»^¤o\8e²ùKÙ\81\8aÏ\7fÊ\17\9fÝ)ØÌ9D_×\ 6\9bõ]bUçÎÊ\91M³éGÙ\86c|±H¦õm,©ñ5/³\rë»väü2ì;\96ø\85»ý\12k{>9|\ 2\ 3»Üs)fQ¢û`\89~\ 3Á-k1\80\0rû1$<\0xb×x\ 5>wÕxbö¥}\98(\ 1§ÓûP¡\14\7fĦ§¤¬÷\bQ
+\14\93%¾Ù©\eígÀN=ý:\972\96\94\1a÷ùÐ\13»½¬uH&\89í½w´=\93)ú7ô~ñR\81¯ÿ        Í[©\1e^\90ö&\86\v\99å
+ôKkK {ÄSÐË\89p[¼ó\ e\88»E\ðNR×=\83\84z,\82\1cÒ§¤A\14f=n1Fé\87\96ÐÜ\ 4`= â«Àmºv\93ä\e\8b\89¾¤Ç1Oð|0K¤l\ 2ÍMÙ°»È\ f6P«·ÃãX\8a\86~8z\8d-û5Y ·÷\18\1fÒ\ 3¥²rà\96´¼bÙ>\eVM`9\13±ÁÒ\9d\ 4\ e((qI!\14ÔHïdC÷QßB\85[q\ 3z\18)®É¼\rî\ 6\87QqH6°ááDÖ[[aJ\18\q\aAA\bZ\ 3@\ f\80L«u\ 5\11¤\17¢D\84õ\8f\9b\119ßó        '\15å\8e\17Ûà#äÀã²±ç\83bÝEzómiØÌR>£Uså\99\1c<*ôtÑ@·ñhx\14O\97½½¥I1\90\17Ù\8b\14\1c@¢X¯¾\98Ü+ùÇ\ 3^\8aÓ-l\14\8fW\88xf|\b\19\16\87BXXäªK\81
+ôÌ\84£ûQ1ô\13\8aá \9aàF@?aGï#C\87*R\88Ã| É¦uïè~µ¦@¸\10\ 64Aò8Æ{        Ý"0,%Dî<\ 1\ 2)ðJÑLÚ\9aÔ\0'o>\12ra¢bû\17\ 5\1f\93\e\17\ 4%ù{\17\13\ 4HaïÜL/Ű7\8eJÜý\82ä.\17]\10Q}¹S«\18sE?}à\8dÑà\8dÓx\88ê¹WeÇ\\eÊÿé}à\91\1a\87|x\80ÞÎsÓ5Ì  .ò\93¦\ 5-\81Ó\9bW\1cÝ¢;ÒSPëÝýjE'\©\94\ fýEOuKO4}àCÅ\86?\90ýD\92¾\87ê\14_VÅÍ\ f·õ\99\8d¸±\ 4\93Üsmf¾\91mpÙ¹\9eUk\ 62ioOHû\80Eñ.h} M\16úI­\ 5\ f¬\1f\9b\86\86X"\8e^\91\12ÔvFÙo\7f\ e\9a\83^a·\9f\1dz0vÓ7\83M×Ë%ô|ñ'5\84\87Á\19/¨ û`\837qÿ[T\98>Ø \12\\0ÄOob\r\15\89°\ e\f\15_v\8a\9b\13^\83¨FD\14¬ºkxÄLD\82_ÄQ.Î.\8dñk~Î0Ë.§×\8f,$üvç\1e6\9c³í\9aÎs/B\99aEä8}úñ]ñe\15Ô}naµ\10\1d\1a\ 4÷\0¨ÜöÝõ9\12\89áØ¨m*Û\98bвæGè§0\1d+=\9f\9e¼WSÜÓmËnÈ[\epu\97\16Í\9cÛºò\97\ 5ÂÕw[õ½\87Q·jðVÐ\7f¹ãgÄn)ïÀ\ 4Å/\rêÀ\91¥T¸ªé\ 3+Ç«Á\16еÿW\b\8f\82\94'wè;J\ràá½½wôìÏd?[¿\12\91eY\85[¼P\99\91Ca\13\ 3À\94¸tÚ\8bÕmaúå*Ú\a\8eæ.W\8b\³X\80æµ²·÷r9\\ 2Öq^¯üä\9e7Ë'\11x¸Ú§\r\8cglæáX>Ë\18Õ¬þÕ±ª\16}ogÛöþ,¾ \fj<\1dµ\93ªc\1a\9eÿin!\1dÉ\fjÓB¬Â-|m}\9bìXtÚ\8fÕø\16Ån\86hôÛu.K\rVÂBøä[ÅÃ\95°\96\93\13\8e\b\ eR\8do3"H#pY\8bê@OiÜ_Ý­üÀ;èáánï~x[68\98Gx\886O9,«$ßÓÎ)¹WÌß\8at\ 6\8b¿ë\11\9bA*\82hž.ûßź/UkFó|p i\131Ã6Ò\17n   Nï3|½Ý:jZW\\8dð\ 3¹Êë\91¿ôw\88®¹\14Q\e¼\1duÈ«ÿÝßJ³\93üeü£·f\82\15\ f°¦Ñ³\9bEsk`2\9cp\10N\94\86|¢à\v\17\ fGÈò:·ýÊ`\8cåÖÉz\9bDãýÕ~\82ÖJ\1e%Wö-û\80+¾UÖµ|±AÒ)ÇG\83Ê#ÁÆÉÿÊÞÃðw°ü\1f\87àò\ 5\98\9dj/\994_#q«\ÅóÖ"ùä«©\17ÍÒ×ÍÕT\98»Ûwß^\13  Ò÷øÃÛ|>\v­K\8aA<í÷0=¶chÝ   µØe3\a\ 5é]\0¤=\ 3\16\0\vk\8c§®Xï\8f- 4=®NêÕ\ eª%Mª\96jêwdzr\17´+\15}¥­\8f.¤ê¬\87ða£fÝñ\1cË\8f®Y*\89áC%ê]øVró¼\18¾\14y9Ë\97\83IÅða\93Ç7~\r-yàÝ\94_\ 6À\15ý\179\1dBr\90\97ÚI©ê+ï{\b\901åü\ 557JìË\81\ 1\11X£nëç\84¾N~â\8eÐOP\82\9bè\10Y©Ãyt[{(|A§ðØ\14\10Eh+Å^`nt\93\89Ê~\93Û-\ e%oØ\ef{SÛ?ãÎ`-Ñ>[½\ eSlÓj\9bo\16èÀ\12\ f\9d\15Cw\94+~åpiù^2WòXqE­Ý\85\9a\9e\94ÂÍL\8cd¼È-\v# D\16\84\94\842\v\10¢zÙ4\ 5v4      9\17Ýi\107\1e\97\10¤ÒbA\1fb\96\80Æ_ÖÅ/D\82ÌêØ\9aY\93^\ 38\81fuí4\fwÄ\81®>kë4]\8a\8bÅ~6ÿCá\8a/¿Ý\13\9eÿ\13ð\87\14\12þm\14\r^\ 6E,\ e\7f\10\96\a\1fÒ%\81e\86JWA\11\15{ahKa\16;* ÍºRÚ¤PNk\9b\8e\7fܽzÞ|ÔT\\esÞn},&?§K\bÊu&\11b\9bçâïð\9b\7fÿË\13×e\14\11ðâ\8c?^fæVÝ)]¼Cs+\XXþTU?â\13ûÿÚ\0\e\7f\13\98\aþáaËù@\ 4\7fö\108\7fí \82\7f\8eK ùø_þ\0\90îY\97\97[2ø/}j\a\9a\93Jk?\84Jk\1fÑ%5î0¶\ 2üËQÙ\ 2bÛc\8a4ýT¯B\132îÈ)\7f\9b     vÿ
+ÕvH·[Xr_G\r\16ë-\1fÛ­£ûf\rÅO÷Pù\7f-×óI}?æ¿Å\9a>{\98«¾ç±ï\85\b\ eù÷{ÿ\93îw¾(\18\9e«ýầ\18-~ãu\e¨Ý\7fð8\12ó(EÈX\ 6Q?ãì:ìâ]ïmOáx||Ý_[ùÿ\ eîæEÆ\82\8d+\8cí\1f:\84_ü_u¾\1f¾\14"ýð}\8fG_?DØþXeu\7fØ¡´c¯\88\0\fBG\7f\87Eÿä^Oá\89§¹\84\92\99\9cD\95ñ6þøHÿÔÑ\7f ®\8d¸¢ÿH\9a{ñæ\11\13Os\1d\bHÿ    \91\95n\14Úq\1dn\17\9eÓ\92ñI%j\a\1f-\1fÿ\99Ë\81¸C\97\ 3qòBGøå§õ)¡ïÁ§òBGÿT\8c\95ç\91ÿ¾EîþV\15oL§\87\f\fóí\11Y¦¡NϨ¥ãì\a\bËæ\1cp\8c\7f²Ê\94\r\1c­±O\870Ißî]GÛ\97Ýh3+±´\a\95õ\ì6\8aJ\86T\1e¥\92\96p\8d`8\86ùmQ\ 6©\8c,\ 2d4       \97µP²0F\9cö\9fS´¨å\15³æ\85ð\1d\80`\95nwP\90°5kZDrÙx\ 5ëâ#:£\8eÕ\0\ 5\9bØÖ\9eùí"\9d× â\83GöÑ#Lq\1e=\8e\0é´$6¶IÔ3ö§G\97¼\9cI\1ea\ 6U\116\Ó\89C\ eª¨Ï~ÐÝ[«$=Ývl\84C\ e j\83ëú;X{la,B\95ô%K\19\18yVí]?\97}väõ ýEÑ\89\ eØ]\10\8b\9dßî:°\a/\fVë]|7'\98l+\91v_$·\93\ e;\1d¢s\8e\ 5¶ºÝCiºz95ãu\92³N)]¼¤Q½uÒ¡\A]¢\84\13\ f¨]a¥]S¥B 'Hd\84$Áü\9eúpêÁ\8f\11zØþî\9dA=Æ\9fPp\85Wõò\8cM\1adASÔo\17m\8eÒ\9c\98Ïl¿Y\83(ÙA\95\10"ÃMÒ¹\8e[Jzaüs\1c«¨û1\96+ñs½æ$8j4è°e\19⤤\142Ͳ·^A\87òG»pü'\12\15Ø\90Û§2}\9c×ЬÀ6Ö4¿\83?¸(f\ 6)\0¿ »#]7OÚ§\93I(RóÙ2\8d²¬fM\81\ 5ç8@߯\ 3:\85êéuâ%-riVtN\84ï= O¸À\94[6Òý¢¬Xs\12E\1f+rý\1eLà¿Û\18É}RÐ\94\b\19\88çéü\89Øz¦Q·]\86)Dm)Í+¦\ e°nÑ#\97\1d.f]\11\85(eûi\127^4¨$I\1c)\89\11 ¡o\1eek\85l\80`k\91 tòâF«\82_Ø»CÓ\92C*6æKzG$«å,g\ 4\9d¼?êù\vÏ©ðÀ-\10ç¾J}P\9axRæð\18×Ff©\8a´\ 62p¿Ñ+6Øæ\96Î\£²Ø¢c\vADúTH\18\7f×\97\86~\85\98\91
+ëÖü̹ò¯é\ 1_çu\b8\85\10ôD\1a0©F\8aðy¯q\83c'3\17`\84e2Sµ7{Dæç\97\84Ôúܶ\9b"\95ìAØw`#=Ê\12{eòa\b\1c|Ó(a}\8b\85ȯ!IÏ\9aôçb\10\13/Ç­:l\88\97\8c©\10ï§¹@ö-ö\80
+ò¢s\91\94\e\7f#8µë»\16ºã\81\11¢B\12â\1eÝø©Bʧɿ\92\16\\81¥\9aÑãÂ\ 3·\826I\95=\ 1Ô\v\88çT2\9f[\ 43wW,YÕ\92y5\\974Q\r\ f\19Â\10Åy\8côëc;ÒC«åúÒ#ô\96\99A\82ð9\10ñ\f»â\19\84ù\98\87Ñ\v_\97)\r\97\11üi¥üû\12\12\rSÈå\93b'tm¡0FÊ\10\92 DÐ\b\18\ 45\fpÙMQp\9aÿMº;\1dÜÁö\1evÓ)/Ù\9d]ùýµ\ 6Y\1eDß0¯\16T\89\93\11å{\b\96¿\1d_¯~WÉ\13»\9f\16\13üØ\819f\9eN\0\1e%\v¨YìöÍ}\12òy\vì±÷Ke\8c\b\18ûé~\16<´JöÌ\8b3ö¥Ýkl\ 2\19\1e¢è²à3óÛ\10×\9d´Û\95\a}/b#ºQ¯\92Pg\13\9eæf\b!\ 5\ e\ 4\85ûü|B$Gi\84*\98\81p\87<ÿãï°o®[\ 6ö¨Ïùà®Px\84\v\92Àà\8c\93íïæIíe\80=Ç3\0oâð8\13íhÓ\1fvëj»ˡ¹åç¿\ e\88äE\8b\18xg\18\ 5w\90¢¶¦Ã5\r ¦(ê\9f:\ fJ\7f\1e¹3Ùuø\eÅÈ\8e\1a´\9f[¢d\90\fïÆ¬ïæólÛ\92\9c`ÑÕs\96Vé%Ê"Kë&sE/¾+Vù¢\8e\8fs'nú\8f\1f\ 5\9bÌÀ=ô\ 6\96T\11\8dû\\1dàÕÆèçX(Z]\8d\1cù¥&Y\ 3fX\ 2!¡gAåý9{0\e\96\1a\9b\92Â\16ë\fVïÐ\85¾7]W; \84ú\8e|Jqò÷º9\1cÅÔ¬"\1a\89÷\\1cÙ]W\92Ó=ÙNÑ=g\88\10D\9c\1cßMÅW\9a\e3ÙC­\b\ 4Y¹~8\9c×8Ve\8d´ÑÊ­î\9d\aòé>3\89\9a'Ø"\9a\9e¬ÄÍ,+:%\1c×3Ƥc\18\11\+)¯Ô.5´\97Õ\17®\14¸\94ȵ$\84"8RÏS7\10F(7I´¯©\9bÛ\882Ï?^q\r\9dg\97lúÙv
+;V\ 5t\e\7fç&áúe-\88\8aªÂÒ\16§¸¯» \8e\17\97Ï\£q·²\ 2¤÷T\8fÒv»I\90T¨Wï«A¼¡\83¡úDQQ\80N\8eÀr\86\112ªÓ)kW<\ 2\89\82@)\7f;ò÷V\14÷fÖ\97\15³¥¡¦È* ì\1a\9b!nê\16ÈCì\94¤+\17\9b\18ê\1f\r\aZê»|\91\80kM\93ý>\14ªi\19Mª½Ô\87ÆNm\fJ ¥\93@·m2b\14éêú\88\84\8ew\12SåEYj_\15ÍÂ8\ 2xV#F.\ 6ª;ÈÎ\14QÛÅ\98ñ¶\98Þ¡\87ã]/\9en\95à¨\ eÄ\10éCø\81\93á_\0ö\87Y\10\11Qm§ï\ 4\9dT;K¹õÓñ$.°\8d\e¯\bYç5±­[\97\ 3\14%bì
+~º´òPÓé?\82      \v\9epK\9cîûGé?õ§×\17F\r§NUú»\ 2èÌ%ë\12\e3\ e\b¥'\80¸\7f\8eÑOÅ$Ëf¹©bA\ 4\1f\1eEáñðóæô¶Ì¢\90u\12ÑWh{ÂLñ&ô"UAÑ¡0Å^O´õºs©ç\rÏÙ´²\95&7LI\90R\15\ 5\85\1ay\12·d\9anN\8c¥\ 1ÿ"¥Õ,\ 1-{\1e\ 2\15ã¬;ò\838½àk&ñu´\84Ý\ e~\b§`\13Ù¦Q®| Íå§ûå\98\ e\83\81%w'0\18\945)¾(\1fzN~\9c.ÎîHïØ\91óZ9\ 3çi\880G"7mF×­\95\8b\8f¹\bâmñyn!{Òå¿L¢ä\yá\1c'U\89\ 1\8b\ 4ñÓ\99¦ñ$\8e@\8a\ fUÍ)\ 6y¶Ï¦\e¾uµ`rÛWoJ£\9c\8aªA\ ehR\ 2³/²ùTÖ°[¾í\ñí\1feÜ9\11¼´\9f\96JØóúvD=;\90õxéFü$\b\8b"5y\1cͶ*Ím]²'«¶E}]±Ð¼ôÞyñÉÐðªµÇ¡\ 2\9cAã4ã\96        ·3ú\16wÓB²L\ 4\ f\1a©X4\ fôøÓ\82;'Ù\9a\85}A¯¶\9f\1aȬ\ 5\r^Pp\ fô½I\143þ^¢\f\83Ü=È è¼ØlõàsÞ~ej\e\8b\19Iou\10Vlúð\8e\8e5\ 6˶­aO\eëI6¬f\88\82Ê\10³Fÿùtư ?\9b\ 1v\9e&íÜ¡\a\15¬¤¡qièj}\1e_\fÖø¯\12!H\1e+­4\1as¶2-aêÊ¥©káIÝÉÄ[\92¶5Ã\9dLÏ÷¤Ø¢ " *òäÿ@ÔjØN{§\8f \Íù\9fí³÷11O°$wÃ\80U5^\1c>ß7/ú¯¶$#,>gñAm×9\8f·<ÎÓG\8cöǪC d×b\a\19\1fê\1c\e\9bì£\97û§\7fZ\14R;fJÕ/Zp5ÄnÛ\ f®\15\8bÀI\95\v\14[u¯\1dM+ú0°\17d\96¼3'xw\ax.°¨ª\91Þ\ 4$÷oÞ!_F\ 1¤öb\8c\ e@\8e\16éð      <v\95\92\97\9a\9b\8f¡\ 4øÌ/\8eApbÔTÞlf\17#ne\rÆUe[]ì\91ËÔ\10Îú¿Ë\8d\8e\1aÌhzF5µÜ#æúqRNZÛo\96ÖØÛkÛOÈsßÍé\93oO\a¹\7fËÌÕ¢¿^åyÿ\98¾FµâôÙ\93 <ìc\7fvCÎÝ3ic§³±ÓÚ_
+Ó'\0\85i\91\96\11k\86ÕkÃz/\ e'Û±âØ©ç[¹mä\ 1\80øó­é\87c4¤
+\8e¹·\82*u\88ôß_»\1ff82±ë5¿Äè\172Kv/ùÞÈ@'\1f:]ÅíµÎ.        "\8f!k\11Rã[pKAÝÃþÖ|TÆ \ 6\15<I\9aƯ,ñ"\bÃvªýD\ 1¾æ»úÊ`©Ï»¹×j\88/ÎÇ\a\87\99Ç\9c>\18äÊ­\92ôJ\81ã[þòÎ8V(<À\9cx\988yJ`îNøV'ÿ!<ÄAÜ¥\80Ag½®Î;7O¥Ù®Fú!QAh\ 3«.\99óP§\98+\80â 2(\ 3ÿ\17kÁ*\9c\1d§¬s©}é\18£\0\84}f\14¿\8a\ 6Øõ¾©\92ÞïçSy´üR1\1cÝ\99\8c\1f|ê%¾L>\9d3r!{é\b\91&\15|"Ãóª\1c\13l\b\8fñ(¦\ 3($w"EàÀ0(R\9f½¸½ÿ\83\fïç\ 6\9fü  Þ\847aúÑë\91u\1cïþ¡»\ f F5òr7db×=;ò\11\8b\Tç¯\899ÿ\10Øcûó\97¡°Çæ\98&ÿVÎsCa\8fÁ;go9|\e\fo\8eÑÕÎsCa\8fº;f6s\9a\e\fy\93¶7\9cæ\86Ã\1e\81\bs÷Ãa\8e\9b¬]ðl1ò1w¡°Çýx¸\81°ÇëâÍ\7f»Åß\ 6Ã\1f\9f\8bç\ 6Ã\1da½ ¿É\8bç\ 6Ã\1fóbÿ`l1öx¾`l1ÌâØ\r\8678¸\81°Ç9\8b`6\18î¦â\ 6Â\7f\bÐ\86)\18\97cMÙØ÷\13q\ 3a\8d®,ã½?\936Àl1ú\13}\0Øcñ¦ùÁ°Ça7\f6\18õ\86\1d\8aþ<Ü0ØcÎ\1cw¤uócâYô\87\90\90T\7f\84§l\9eÚÛNÎlɶ\ eð;\15ú£¶ff×\r\86>Òn l1Î\9dçÒÅáJ&¦ïCa\8cAå}èl1ÌMÃ\r\86?vjø6\18î\89ì aÿ<×ø\86Ã\1fî\1cj¾[¸;ùx-<\1c\89Æ8\9c\ f¾aðëÀ¶\9fÅ\ 2òÿ\14\v\83óXg\8\14Óf\94«+ú@æÏ~n
+o\9bàÿE\10ß\1fàó\ 6«Ïå\86èõÅ\93\ e©ÿ£ýâʦ¾Wÿ£3öx8=W"\8búxñÒ´m76\19Y\ e\85Ngÿ\8e¸U^×ÙÐ2Á:ûú/\12êc?ì\7fìÜyp5ÿ\87Æu[õ;®\9aÁ®Â\93ìv\9e\7f\81
\rGú0T\1dgæü\8d'±¼\97\8f²·ùî³Q\97\93ó`Ìø}\1dFgYýXÞMS\8f\v\13èr*¿\9f½¹îüº\9b=\1e\93\87\98ñhd;\97\8du\1fí\9d\92¼\81,õQSÁé\11ß\9fC\93\8bw'xÛðëe9Øïãáú\19\ f¾ß6ßo¬¿Ë\84\a¾ßC¯Áë¯Õöúçüø;ÿó\r¥»íûß4¯ÿãu\e¨ÝFê7Qº\8dÔn£u\e¨ÝFê7Qº\8dÔn£u\e¨ÝFê7Qº\8dÔn£u\e¨ÝFê7Qº\8dÔn£u\e¯ûõÿÑ\87cnt\ 6=¿å¾\b\1d\14¿7ï\83\16ó Ýè\89ÝB\87"s}¡íÿ\92Eî¥+\89þ§\9dA·î(\7f5`\b\fù\10\10\19ù\ fÿ\8bJ<ã\14\15@6\7f\1fî{<ù\ fýËh>Cä=ÌoüÐ\s\88\ 2\16w\1f°\b[Â<î\0\80\9eÕ\1fÿ\8a\82ã\ 6D\9a\ 1âÿR\8fÿÄ\83É\8aAW=@ÇÿâV\9dþê2\a©Gÿþ®Î?<£A\füc\8d\9aÔ!\16§*â\16?-Ù\94aJ4§é\8e\19\0÷Ì\9eeh\10OðS%\18ß*ù¦M9¾ÁHüʬõÀ!tEzI\8c\19\0\85½}ï´i;?Ù\933é2\130ÌB@\85$\f \ 1\88)g\89\ 6\83\11fF\ 1\988,\b\0\14´Kiq\19GÊÂ`\96Ò¤\86\ 2\98}0
+Ñ|ûSÞSÃm\11}ê_-@\10        $\19$\0X\ 3[\ 4µ±\14
+QJ\84$)\9f\7f¿¿¿ÿfI 
+*5|ùå÷¯«îm÷9¼æï/9¼Þsy¼Þ\8f·\9bÔÞ®ûwwz»ÝÝ¿\82Þü\ 1ÞÞõ÷µ½ÝÞ¡O}ö¶Ûw]cm\ 4åHB\1aø\9d\ eF\86ÉñX\1dÅ®µ\8c³\98\r\ 48w¾®j*
+ÔØË+\8d\94!Í©Õ\10\10÷\0ks³\90\9f~\8a\81jw¨Bi]øãÓ>üq¢k8Ù\10¶åJ÷×¶«Ðf[»~æRZÔ/\8cÚëZ}Âd¬ô²å
+¸º¦ô\1f\11\9c\8dä\0\ûߥ´ñ\89ûê(æò'm\83p\98\17.Å'J\15y·À ±
+¤íj'F\8dïW7¡\91ìÀj!vnÓ\8e\99$ô3\13)\8aNi»¤ñ\91î\93ĶS¯&Iá4Êí¡ÂÍ
+âÙè\15b+àíÌ\eX|¢\f\187)Èá\8aE¤0½P\86\12\8dx#\87\16&ÇY\v\82|,±\88Í2D\ 6\9fz\1eã\18³B@\ 6¡0zõ\81ñ\9d-\81CL£I.\92Û´Ëð\8aù#\1cD»1\91&×¾x?\93(°ãÂ4¡&1\0\95\11uªî1*ìã¸9®!\0ô U\8eãËþåá/\15\89cO\1dÃt«/\13éM`\11\fÃ\10\12ëK¿¼^\ 5\9b<\ 6\9eÎ6æb\14\ f\80AB/·ÍK\90\11\8bG\9aFàí7w`Ô\90îþ[»2Q#Ã\84\88*g"µ°Í·\9fòÃ\ 2\16òN\13×Òàtb0p%B·Ù\1dºè˼D\8bQ\9cl(r¯\8e60·\8c'\8e\ 3Ú³D\98\16\9cè,ôÒ\b,\1f\11SKM°¤\81ÖY\19ø\1c\18㪧¼Or\179\94P+ÍÇê:j\ 4ÚåóiÒ?Jl\ 6~üÀî}!ÆY,Å-\ 1B¾Kz[ä\9a·æa\87IßËÚ5Å_'ý4hÄênå$\97÷À\1aàË\8b³ÞQ\92
+J~s_b\868jý&=4)>Â\86T1ëUòé\86ª7d
\8cúü½Uà\8a\97E@Uö\9eëð\aW\13W\ f^\18\a­Å\rwPñN
+·[Uû,\89}>Ó6agï§ÞôÒðR\10¥\96]«h\8c7B\ 6ÛðN¡UþÒ]¿hQ!ýAcø")ù°à¬Â>42\\11
\8dÄ©È\10¤Çß\81ZÑÅHgêÊd\0>õùlÌmGï|÷ÌöXèú\1c\85\9f\90\82\94Ìú\926ÅC§%J\9eÞ\97Ñ\8f\7f¡\ 2Ú}RPÙ*\15øæ»\ f\ 4Y3\9fã{@ç\86}̯ïH\86=\1ca¦°¥ÒDÊ\94\9eð\13\r`-Ít8^\8cW)\8fzMx\85\rÝM{C\10\8f\8f\0W)üY\ 1ØC°¿\1d+9§¿ £\13Ôß\0\18/Ô#òÊûÌ\89PŲ#ð\19Q\r23Ëz,¦
+ÁO[ j\ f³B\87\7få±¥;ØY\11®Ã\89\18EE1 *ÚavWqû@\ eI?7\9b=\ 2ð\89¨¿! E\97q>¤Ì\85¦ªô°²÷Ê´ËÊ\16^ù c\81ð¸.\90É­\r\8fH\8d$R:@Ä\81ߤF¿¨Äµâà0¥+®ö\9a PÉ\8fk\ f\12ÇJ\ 3þñй¥ôbܰiy\93\1c\a\1c\95˨µÀBqÁÞ!§Y\99º¡\84Ó"{Ï»°Â1B\87°\9d\b\86ÏÇå\0biç¹%gÉ.Ú\9b<I½Óú#zryè\83µ       *yíP\8bÄz-QYø¥gâ\95\9e°¬õ\85\95\9f\8eVzâ³×\15\9eĬö%g§,ßHV{R»\95\9eª+:¢³¬+=ÁYü³¬+<±Yù¥g\98+:Ò³ +2\8bàÜöp¬Ê\98\91ÏgÊ̪ñÜõ\19Y¨Vzb³*c\v=ZV|B³P¬Ê1Ë3ÜB³±+;\12³äÛ#½ð\12Ý\17¹\8dÑn\e~®á£»ëß³¸j¡¸j[MÃ\b\11\179\9d7WmËÏmÌ\ fmÇj6ê®À\83\r\9d¢ù\85\95\9eX¬ëJÏ0V\7f\84¬è
+θ¬ó\85\95\9e|¬Ô+:2³á\15\9e\98¬ø\85gZV\7f\98¬ÔakB}û/m­/\9cZßë'¥bÄå\8c8Fd´ª\ 1z>TÁz=.¦úUé÷Ö½  \13à:Ó\82G7z)\94\99Ìõ£ñ\7f\87[ñ~\9aM\8bµ¨Wñ\87\an\7f\8b§²a$4ör´\ 4°ÊþÐ4LØ(êÌÿ\19´ªþV7JÜÓð\ eq\0ô\84$£`\19¼·\8a\0¼ðWó1é\8fÎõRv*vAüÒèºo\1eøpT\97rS¾\ 3\13w\88³6Ã-Ö\8bNäÅ®\13;|6åp]âr¹·n`/øOî\8c\13þ½ðvÍLîêo\rÜé\93{³¨K$]©\90\90ýº\84±WÅÈ­\83É­ÿ\8eîVýdo8Þ¡\ e4_Ï\11\87øZ\ e
+>¼ã9\fD\ 39E{ª\\998M*\1dfÛÍSB´N¾Û¸\86ÿh¤0ÒÙ\12{Iè£tb\ 5ÛvÅ´ûp\89\9dM.òLäi\ 4n ¿DÍ\80\10¬èºm$\99Τ\9e\83ò\13ÿ£\8fC\fÌQM15î\a½\e¤ÿ   ly6\98É0áw##ô\e·½\12\9f\82\97Î6¾\84 ´W\ 3&(òÃSư\183РÃÉ\räD\907ëìî\bb<ã$»W\ 2«{,A¾¶L\9cþ¨?\91Æ\9c)+LËfd!\8e¤RÙ\94![[1BqÉBÈ"½ç\11\87\8e#*ù\ 3Ëð\97Û$ÿ9[ú\9eÀ\12d×eß\86Hýy"\12\86ûÌz\973,¯z\19(ZbxmI1©É\1c¼\927ïä\9bÚóS·'\b\93#9\v nÏ\bêÎáw\8f°\9d/Gþ%д\9f\9d¸\bÓqêÀ\e\90Ú2+7q\8d îÕÈ\96W´fß*è]ò\17«{FTP   ë\9cÞ\88®\ 2\86Ó½\919?½ï\ fx\1d\16Æ\16\e\9cm§uÇ\e\92ú\9bÚÚY|\11mT¯¨\0¦Ç@½­±\9dò¾¯Ô¹\1eÆ{xX_#\8dÎ\8cAfö\84\ f®Þ\14o)Ê\9c³_\8e%\98\ elÀÎKV\11þ¥¡¼p\ 2Í"òãÍ?[\95t\9eùÕ\159\ 6\9e\93ò\89\ 4}ºñA\88\93u:\81\9e1D¼¤69F ÈåÓø\87E\ fÚ;aúÕ\v£e\15[âïÕH\99Áʺ\ eßÃ\85Õ`\ 4"{E\9b\96¯²\ f\17è\93\97ù\88ïįíÏ2õ[\r¶\ 1\8fÉ\94\aO\8f@3z'l$\ 4\92Ì\82\8agyz2Ô\97Szl(<Q÷\98Â\80ðZ\ 6\f\8bgî_ç\186Slpâkò\96õg\87p\84ð»­s\0\97\94\94O,\86\1cÚ(Ü\90%¢¨\15òþÀ,¹\90 ß«t{~?Ë\18B@¾ñK¬\99\96e¦´\ 1,bo\8aõHö½\ e
+.Ì1\9bÛ±I8\8aU\13qR\vÔÓ\88Í\1c    \85\83\94SãõJ}sÈ/L7\13\15È\87ùì§{\14§\ 3\90SSwÜ\19;ÀN·\14\12\14T\82¿\9aX¨ý\ 1úäÁ£ðÊ\81¥\aKä·[ô\v « º©Ô\9e[»[èí¿,\9dBQ\8dÇw\ fP\93\ 6æ\10¡~Í\v\1c|1\8eÓß©Srµ-T\81RÏÄRhR   ò=\84UBY\ 1Èç\868cô1\1dj¼^J\8f\93\88P\v\85<+È£Ê=;ÀbæàÆU/¤©ë%Oò\v
+huükô¿\1dÌ\83\90m\9a=w"/\8a c\92p\9eç\14\0p\90é\rb\90\90õ\80½ÖZ\b\87~«ÉP©¦  W<w8L/d®YÍ}QDj\9cÌ vDî\9ee]\1cL\12kR^\11f\16zâ#\14ßG\ eqÂ(E¨à÷ûÜ&ÇÆ6\f\ 2\92ë0\8b¤&q\89¾X\1a¸îLJ\89c\ 6>0\1dtá;\ 44Ii.gð¹¹\98ÁpÕßôþ\81_JYÑFQ\10\93\9fÑWò\ 5\fàµ\1fFÓê\8d\84_J\8eÇé»BbÐÝá
+=sühlÚ xEÌ,æQËü\ªr ÆÄ\ñü¡È`$ì\ f1&\1c\9b~nb¥í\88RcKóWØ\0\1dtÚ     ÷3u%S7\9féiÞ£\b\11æ\ f\14î¶eD««\91\17\83Å\9dIz
+\b_çý\18\99\ 6\1f¢0\9b\92r\19.?\19\8f\16\84
+Y!Õv¡Æ\9c\99NI)X\80\88[X\81Â\93\14J\8b7OØíó=\16Ã;ùJNøG\1d´P¹\1c\17Û³u\16Çné\86ä\ 2.\90r\7f\15kRT\ e¤ª\1dF+¿6<Utw\8aöß^\95ÑÞ*
+0¸´tLÝ_¹¨úò\1f\9bØ\18*\91ÊGzgNåó:u\7fWÿ\8eg\a\85ÓÈ\8a\ f\ e\ 2eÄg\BjRÇÐkä%\9f\0­6\eÕ\95lþüË9\9e\9c謻\99<\ e4¶²\ 1´æ3.|\96\b\14¢\16>\82\98A¾¬&\17\87u&û\ e=4§\1a*ª~ò@W\16ã\8aÍËøÛ\12\ ef\-]Ô7Øp\9a\13\98l£öÆùô~}Þ\18££B\10êÙNt\93\95Â\alvÎïô¡\90$A\ 3\1f¦ÍÜÅ müA\r¹¿ùâV}.\80 Á/æX\92\f7B\85\rS¶¹\9f7,K\90 \ 5\94<ä     ú\9fWó Ì§N+Ý\b\1e2b7\95\8f¬\92 \8d}e\13mS½\12iç®[ç\ fW;[TËõ%Ià]\95üOf\ 5n\99ô\85i£Lç\8eEY\10%\ 5a§&è\8aO\16\ 4p-(7l)ì"ÜÌmóRBN\15\87
+ï®(Qq\fÈqF\1fÞðÓî\ 1\ 3Ëm\87¤W,)]LROùÀT\89?\bL5÷n_mʾãº\e£\97º\1f\1a}ùÞ\11Ãiþ\88\89»\88g\11$LÓ\14âqCÝ2°ô      \ f\85Ý\91\91G~\80ëcrúÆ\v\ÿKÍ\8d(\9bX!×N,%âwýã\9a_U\9b\99\89ÖÙ\9eo\1aø¤·\83_"\8d \93~\81\1a¯ ¹ÖÊStHW$i}ñÇc2¯7¶W\1fó®S\91Ù\927s\82(Éw\98ô\ 49\ 5\8eDzD \94ñ\ 5Ñ©\86¿K1\r\14½¾È y²cË\f\16Í\9cÌTöþ\13\97áÝ2\8eÿ\9dN«¢\85+\83´\f\94\8fDK\1f«\93\vÑK(<èvÑ8²W¢-([ñ̯©f\0\19\93\9d`Y¯gÈÁ)yx°)þ\1añ\9b\18\8cg\80\98ßvêZ@\8fü(d£1õF}È\89{y1\8a¢s7\ 3\11f¯á·çþxM\89\ráóÖ\ 5®^_·ßQ\88\9cG`!\94í\8b\8dNHYÑ\94\9c+¨Ù
+ Ë\96ÊM6E\19\8f\ fÀ÷¯^aÐ\7fõa%\86@RBÊ\8dmòÜî¥\16\13\16eèqætÍ\88\88AÎÕ\85ÈåÎ7A¾ÍÈë\90×§\8a\f$ÞÆ.³\99ÖD\13\9f¿Ç.Z\18ÍmUÛõ}Ý\89¡.\8d\19\11j\9b\11\85\vªàêôÚZ\90\86Ð\18\94\8cú+!ðÌf\9d¹ãÓ\r¿m\17,Ë6fZ÷\95%êA\85\90\83ia\ f,\18\bL\11ø\156ðPõéx,Ü¿Á\96\8e\ 4\9b\96u\869\±Õ«\8dDͧL®qæñ­\94£öh7}Äf\19\85#\985xm\ 5&wØ! aÐSP0       zéO\90æ   \10È~Ü\98   !ÃÜ\145s\8cåvL2¸è\18\95ø<[!úÛ\rõ9_eó\14ÃÙzðÅË\86¬áÎSBÃx¢·ÀÕÀ\83\15 ¶¹¹+¤2»\15&¼ÖI¹[¨\130}Ì=_U:
+^eÝö\12g3or\9bMx\19ÊË{¦¸l*Â%\\86®ÂÕ¿g}\89½
+¿\8bH\18±+\11\16N`%÷.\85Hm+ê>©N;HJ!\vïE\81\8dÆ*\ 1TB\99Ê\ 6ã2­Ü\95R\ 6ã%Ü\95"¿\93NÑÅÿmAÔ\88Ú`å\8dÆ\aº7\11nÐ7\ 6;¿Ô7\11|¼7ú\ 6â/\99\96aHoÜ«\84Uå®\93Þ««\13iùî7\9b÷\ 3Ð\87|®Ü^ɾ²aÛÞI2n9&7&Öbà Ö½ºõ\9f\8aÿ<\85\1c·Ñ\8c·{%H\88\9eU~ñ\13n\11\ f/w~Þ^÷\85¿îµÐ\87ùpg\96V\9eÞÿÈ`¤·\9dá>ß°:±Çm¼®\83T'\9fB\9dïà7\15\17¼à+³\8cXckr\81\8d­Ò\8a-Cè\1a|\ 3\7fâ\8a+\1c8awìo\ 1Á\86\11:(Øa\86\ 53k\81\ 1 \97yi\81ØX^\86\a!k\81õÀÏ\82í27õWËÿ«Xÿ\87ãÖ9Ë}cùëhâq¤\eE¾s\13p~\a¬sg-\85Öø\17\89m\81\120*\e\\vßHDù«7Y±Æ\røHnàcD\89hov\910\96\88\9a\0ÎØýe Y[Og©*b`>¦ãV\97Ô\19ºÁN\8d©ôl¡CH\19×\91\ 6øHÓ©¯£\87\8c!Y¢w\ 1\88ú\96ï¥É\88´ÂØ;9íI,«Åp×´c'ÖÀg\939O\9dâµÎ±ª\85\90Ê\95¹\13î<\97§r\14N\13º¸E\r\8c\99RG\90_j¡<²\1d\95\91¤\1e¢PP5\8b¹lJ\ 1hl,æI;»§ß@~y\8bdPQ²¤JªntkÐb\86\9c+[\89èD#\1f\ 4¤cÅ\ræù,9S\ 5ßÁ¬\84\f"\10$3Ni}&\16\85\99ÑÝ\e\v\11'^ñæÃ¯]ßý\ 3.Gt\80Uôuð\18äíf\e_Ho³õ\8eh§³ô\82\16-\17E+9\b\18\ 5\ 1  ±¾\ 6³ÚkȾô\97\89\94Õ\8fz&3\8b¤<IÿÂ4O5( Xûø\10Ï¡\0;³=d\89mf\10u\93åG¹\98-;\9fóË\89\11õ\9c\17¥\17\81w2grõ\ e\8d\9cÔ\ 1åϰ{iÅ\19Ù\f\ f$\85J§Í0\91\e\93Ao¨\88ktf\81þT\996Ú_Ë×\99\ 1=¾ûÖÄ"\gê\10ß\93»§ó{áNp-E\8a_y^ÿÄ]¸k­Kr®¥¿_R\17\84õÈø\8fÇ7\97\91
+\13]¹H#õ,\85
+<",¢_°{ð\8at°É²×ñ\16g\ 4oúË\86\8b¬¸8Ð\89ÕF\15áÔvq\90\94\95§ÕÍW±¸qºÈÕïZk Áí`¸½u\8cÕÿãZëZdNjh\99;\7f ½\C\fÈà£|\v©{\e\875ÂGïVcÞ¯Y\87\96\19\92[.w\84pÊ~Úî®_     ³~\13­m\99¹òîàN\97 àìd\eT\15¶,tò¤b\9d!'cñ\86\9e\94\19d[·É××\10\1eyn¸Cá\17\14\81\88¤\11\90Kµ£çý;j>\7fgmGÏ\8féÉåÕãê\b\9c\9e^L)\1erz \80µ~ry\818¼ÙÉæ5õ¥æ\91\99Éè\9aú¢ó\8a\82\9edO\bÙ\\8f\16L)\1ezàD9q¸\9e\8c'Og¸\9ef_\9bÍÄóB^\89w\13×\12àðW\ fj\c\13\93Í«Ãy¡\9eè«ûc»Ü«È/#ç®uùRó\8d¯È\97\9cu|áyÝ+Ü\97\9dÖ¾d¼ãëðeçv\14ÀZ¾\7f D\1f\1a¾wzò2zYé\ 2¤`ç'¤kÛ\17\9dà\17\19\9a¾w\9aò_\8bñxÅ\88à\15Ì"\9aÔWeuÎ`$\ e\8a6\fmQVÁ¨#x\9f\97\92È\99\1d\96\86Á\9e)<\9d|Ì!©\94\8e\v\ 6è\ftJþÉvÀ©S\9e?\9bÛD\8b\ 5|Ù>¥å=ßÓþêL\8eÛÖ\93!_G\17¨0Û£imIú¿Úúu×\9a\8dè$Ê\9eì)\17à\887ópcCLÊ\10!Õ¿Ã\16\10\7fw;\96F\88\fo5y2+\1foE
+8øõ­0M\v¢ydR^Ö\94Öi%ܵ;/z®\bÙl\10\ 4ü}þ\9e\95\1a°\9bD\r¢x=äý\1a\1c\ 6£\a\0þ)æ\ 3Q+g\80xÿ\11\10\bíÂêð¾\ 2F·º×\9aì¼I\11ïÞ\ 3Qq³À?Är\9e`\13ê¬y]\8bÈ\1d×ÒWÕ\90Äl\9e\11\1d²¼òd\85ri\81¡Ü/k*Ö÷NóÕµé\1c;\18\1e\0øè^'Ö6ÑÖ«ã\e£2<(O¬¹hë\1cìa¥\83¬äÜë\98¢\17ÊÕÒÚØ5\8duz¥Ç¥ö\8eâ¦âð\8a¡\11äòç\9a{&º¦¾\fMáæUáJ\9d\98o+lµËä÷1ÖY\98Á*vQ>\9fvÎ#Ôîèë\15Ó\ÀA\18?\7fÍO)bò\96¹\8bÆ
+-­5Ã]ò\1c7\88\12ÔU¯t\8aì7GXð´\95æßNIªÍås\ 4C\ 2Ì\12§Þô{½\1f\9f£¦Ñïô~ª2\15ìd_O\946\17ÀÑùÏ;¯I\1acó{\184\12}D\f;9ͼô~\ 3I\87ò\15Ú\1eSb3îSvóç^b\9aê\1aøo?\89]*ËI±y·¶\99Ò®ÿH~\7fao?1v:w\1f\90qG縣§qGºkàµÕ\0\90/k­Ãôé÷\fû\1703»W\1fJ\91²\7f\8ezâÂÇ%Åû018ôé\9foÄqX@Æ\\1e'Mâ5^ãVÕz¾ÆZ·¤~âBùÊ\r\9b-¿\ 1ÿIEÀ \13\91O\89=\1fòÚ¯Åôú=Þ\9e\ 6\ eJWø\9a¯\ 4 A\86ªkáµÔ8Ñî\9chéÜhüþÃ)\93ù¼ÄðOòZBf_Ý\86\9f\1dÿ44øïÄ\8b\a\9f\80ÙûAÖ»ÿ{b?ýQ\85ïþtï¯\9b3áýÿ\99\v{\9fÑ¿Îÿî.w\8d\9c\9d\9b\9du\88Ê®\88\Åv\rty\7f\897ü¶\a«ø]@z\ 1é_â/+ºD&æý\,F
+õØ\ ff\8f\97ÐÐÛÛÜ×Þ×qWhÈÆ.δ;j¹¬½Ä\1fD\9d½koÌ\9al\7fz\ 3>Øþ\98h\8fþØhïå§\84|øgÿçÍ\1c\8b\81\99ï\9aè¸\96éÞïõH¨\1f?Pù\90Ï7j\9e\ 1è\ fàl0~õrOËORù\92.oñl/ö\14\ 4Ý¥Y÷;\8a\9d#\e~\8b]ðµyÿ5\10Êg̤dÝ¡à¿ê\91æÅ\14\90\1a\926áv\7f\9fD3\ 1ô¨\ 5%ý:\ 1I\7f\1aÛöÒhy´'Pëyèy~\7fõ¤ÎáèN\fæb\93¡oÿë{Íðý7ÿÿÏùb8·­7ïÝñ\19ý\8fÝrºg¨\91èvl}\ fî\87÷Cûý\ f¦\1c\16?køþÞ\ fW3«\9cÕæõyí]\1e­Oh.\0VO~J@ñ\7fÊ`5æ\ f\85zïd\1f\v\7f\\8a\v\9flf´3Ñ\99\94÷ö°\87iìØÑ_3\81¾ëòâ¦z\96ˬdýØXOñ5\1d\8bx]²;_þ±\fð<\aë\ f\0ÜÏë \ 2ñÑ%\7fÉôóµÿ\98ÏÏÐ#Yèb~\1eÙ\|\86\12r¨óçöÊáQ\v\15?\9drPÛ\1f\1f;¶WÆ®2\0OÊ®öÈ\ 1^\17l¯tFÀÛû\90°ßo"qðû\17°\ 3\1f\7féì^ÐÀTÂ_(]hd\8f\ 4\84\8f\ 4u\ 5àqÐ\9f¥b,²%eå\v.Ь·\ 2ÉÐ]õ_¥^XÊ_d¯\0\f}L\87O\80\8el%R0pJµû!\ eZHKƾú#Îû¬@ØÉLì\17rX\ e»\90a\80S±Çϯº4¹DâÅ'r¥Õ%\99ðA$ ¢°\f\9c'¤IV§(3Y\0\ 4£A-ßh\ 6ÈìV\ f\12Ûê\82nWË\82e.itö
+÷É\83\aAV$¸K?,\ 5\ 3\86nb¶\82ý¢ªSV\18\ 2Þ~ZÄÀðóØ×ý«ªõÄ:\850ò±   ë¼\1apöÅëgö\82±ú¨KùÂ\10
+§×\88\e "       _ÿ5ÒÂ˸CÒ*\ 6n!e·»ôÒÅ$\88\89¼­\9fóPW7+\89/\0W`jJ­\ fÍ\8b&ò{\95$P9\80³,mc\8d÷ÒÊCHÍåSH2j\94ð¡éµ§",ÜÒúMÜÒðO³Us\19b\9a\12ì·AqÇF(\rnóTÈ9kïÀ}\99    \97Þîðû(®â"\1eÚÎ%á±!'HS¼\88\9dN8\ eLùm\96®l\96RÁS'!ðg\8f¯\f\159ÄZÛahS\ 2\7f\9fõIíÆâ`iâÆÃ4L\ 3\1dÇÕ\17S|c\ 4Ê\e\r\8büª·Äâ\9f±¾X«½\87­\fSðÕ¶\18\1d\ e\14\ eWòç½jwQè\8cæv¥"\1c±ñÐEÑS\14Bå°ªQB\1e³q\81¿8a\8eÌ\9c\1a\eÎ:o¿ÊS     \9c¾Ã\f\16Éó"\ 1
+\f$\1aË\f\10Å1§\18bN\13£-\ eW1Å\16cß±FC\1d\f\16|¢p\10²5²ýÑ
\e\ 6ê[ã\1c\16     3\85.¥¡\8c?\9bT\90Z¤`gÛN\88cANµ\15SÍkÂ\10«]º\83³\fab,A\19ÍßêZì+®³üO\85V\aæUZ}÷·Ui¯æUZkíª­5öÕV\9aûZ«Mz*­5ÿ\15U¦0\ fü}\18ä5\9ek|õ½\8bÆ«É\10\ 4\87ójû\7f6{ÏVî\8a\8ex\\88\94îk´jhë\1cÀ¾\ 1ÎçÖAâé{\94½BUêÞþe>\8f$v9¾qO\ fF­æÈ²þ\ 2ÿ\80±å<\83Àj»qÿ\ f®\1fûÕJó"!òù\9cïÑ0¾g>\8e'\9b
+YöÅ$·\8d£]r\97MuÉ~\85q!wv¿\1cZÕ/ßë)Sø@Ë>\88!7Z\bOö¼º\97o*\8a\94\ efáû~*ÿûüQý\ fî\87÷Cû¡ýÐþýÄaöºçª¡ðô>\1e\97Ãð|=W\87î!>xÂ\ e\9d\ 6\8e\ 6°ª_ó?;ý^n&g¹hºÅ_ØMÜ|\ 4sm?õC5»_n=\e\95Ë¢/Q\8bâÈ\95\18ªp\10Ö$)éç\ 1\ 6\r¡ü\ 2væi^\ao¾gú~\ 1?îø\0Ù®]\96ÿ\8fÀ\a­Hô¾\91(zomð\ 1¬þpØ\9e½Ò1÷\a\98Ín{<²4Î\85\1e\7f\1c\ fùÏ.\9e»¨\aá\e%\92\v&\13\12/q\ 4\97\10,\8dÇ¿rÚ¤¹í\13eÇ¥\1dÆsÞ5>9>\15\17\b\aøìî?gÚ²\Û ÿ\ 5\94\89\89\8e\8f\8b\11\rÎú\9c\bQ\ 6¤\fsJ\83³åy©î\15²©\ 3³PÚp]\ 4N\83cÞj~ ³\1c\9d\13Ͷc\9er\ 6\e\85\8f\9c"e\83Ë\8e\1a\ e\15\9c\189qÍ+8\Ðmu©y#!eüU|qê\
+\10\8fçg`a¹3\93³ËÔ\ 4¯m¨\1fi-/gÉ\8f}µêe èds
+Ûa22¹¬\1e£*ÈM.K\1c\e_"«     \8aäÐHN)eÊ\83\a%¢î³jÞ3ô\94\1cl¹s¹\85¥O$Y\17\111\9b\95\9fª\9d\9eÇT$2*õ'\8be\89´\17ÉjL&JW5|M¡åfkÆS¸h´%\93*ÞðO\ 5\99\98q+?¾´ÔÉÂÔÕ\0\1a¡O6W[§1êM\88ÌkÚÇö\19L\9d\16.w\1fkªa\88ê\rN-\11NfUöÖ6[\8d1N×¹\10\v>þñgÜ<Ç\12\7f\84Iö¾\8b¹=TjR\87EE\85[\9bsQ\97W"Àc¬M\93ö\83\9b\95ìZx¹wñÃ\ 4Á\96Ì\1eã\13\13O¤6×\90Å\92A\86¦q0\ 1ÜiwÊß§\14ÒÄCÜae4Øë\18T\96å§\b\99`ÕÕ\ 5\ 5\0#PZ\10¿°°êÓu\1f1· Á¿»\ 1ãæ<fÓ(­\91\12\19²qIRÈLÔ\1d\8b\96\87øÆB\e\1d\1d+Þ§Âf®\117&Å7-õ'±9Gí\ 6\e\v'îà}\15\0Á\1a¯]N^b\8c\89\87ËÐ\13d\ 6¸\1atñ²`¬zY\15´©á\vãÑ\88W\17/\9f\17JXa`ªá¼F¿w¢§üÔóªî\9d<36¿É\8bO\14Ørô§\8a\8d\1c½)â£ý(\8d"¶²\ 3\97¹\\ 6¬¹|hëiñùrçMù ®å\87:\\ eÕ\96=N9\ 2Ƥ\9bl\96K\1eDÊa\7f\9b\93g\92ðǼ\97¼<¥>? x\98z­      ñ(½BÅ»\89\\82\83ãÕÉdµMÞ³}Uz\9cÈ)æ.?xjä\99̹s\93}\94-\18\11³\99rç(\f>ry»ê\89|yYd\14\ 2­Àúª!\pBtCí¬\9fa\94§ø9¤áóCg"I±ÎÛsB@¾x*îPù Å\89sA\84)Π­¹ÜÐo\15Úk\10\8aùh\95Úç\fì\82ÝàÈ¢\0\v\1a{tü¥¸Ö\84\eFYr\89â \92èåÊ'\8a\87u\96¯¢EºHÅw&ûkc\8fÈ\ 2cözÍ?¬É:\86\14³\159«¢u*ùÔf® ©kv\ 4À6ÈÃPù\v\90вÐTµqdT\9e\18\8c=\87\0:$H\9a\9býR¾aõ½bÿÚT³ïªfARν×\99R;ä1\9fj
+\96iõ{\17Õ\fARËð\95Ñ\1a \12ÐL>"Ã×aëuÌ9\1d\9e\8cuÝ}\87¯Øe*éú\1cÈ}\ fî\87÷Cûÿ\7fÃ\8aïë`sø\1d\1e\a¾Àÿ&\aùp>6\a[\81§Àñ°<\9c\rÖZû-+,ê[æËf%¾¤·u-ÞËx2ß\96Y){ľ
+_\ f/\90\97ùòù©wÒïåþÄ¿Û\97ÙKÕKùrþ¬¿\1e]\86 \9e\v¢Áfºz>\9f½éþÏOú`\1eÌ\1a¸/d»ôrÄÑø¿O9\98Êazí\87iM\95áç.¸\ eþz*f\8eèºÆ\83Ý!Þu/;¿_\9f&0ÿü!ßqF\¬,\19\7f\1c2ÃÿØ\87}ÿè­ÙðV\1eºv¿Ò?ïëÌãAfQçÏûqÅ\ 2NBï\8f\11úEß>¹\ 2ï\9f]\eðÉ\8bø#î¹\94yüc·7mH\19\94\14N^Á/.lXk\1a\9cºg@Ó0¤9LÖSLsB*\18ÿÏç.ÕûLÀ \eJ\ 5\19a°tÌ+\r\94sEf"\ 2R\7fYo,qf\18\8a\92èO\16Ê\rgµ5õnÓ\91ð
+S\96y\12Ô\98¨\1fcXqótà-\93·b\81&:a\18×9`Ï\94bá \8f°$(PÇ\83_é·Ç\0í   dK#n\9c¿£­¬;\8e\1cßì=hÕ\15=c]rA¯Ð¸¨Ïï\86h\11¿A{F\a¬jh\9dã[o«\92¡zîr\81\1e\10~2C\ 4d\1fºO\89C\9c­lh\19G 4¶¬mlh\12Ôltd-\9f\8d\vëe\ e2\87~ãci\9f~Úÿ£n\18\ 4vùÌÈv\\93\8b\84ò,\9c¾³Ëfd\90\ 64éíÔD1\8cÐc\8e\1c\94òÓþ\98TæÛ\1c\11\9edYf­0®\99\18UøRuí\90½{äYOþ/Ñ¡ÄÒ\82¹ñ½vÜ0\ 5¢\8fEkÐe¶Uû=-ðÐM\84\85\aýC\9c`Ùu\0CòXF\8f¹¶`þð1E\9føML\94ÒS\9b\8c\95\8dÅÈ\ 3³»OJ;!\16*ô¾\93\ 1Aº`\90Wä[r1h±\eµmVK¢(©´·Ã\v\b\82ÐOÄQnëÔÉó¥úé¿Ã"[k=\9eà.â(\9ard¬î+j<{\9c&a\84¨eCêêp¢°s\ 4K,\8fpE¦âC\10ON¶ß¨¸ÂB\r¶r\9d5´H0þ\11ê
+ãaåûq\91\86`¸¯dî\ 6-°op_\a²\1f¦=\90Í¿\9bÞ\85òÇ«¸­#\8d\8fP\89¥Ó\1e\8dP¾ãtäA£\82¸¨\9bß\aQB$¯46^\16\91F¾4ïE\ 3ë½\14²_\18Æ6"¶Ti\18D\948\r   \17'­)³ûðlýÚ\v|\97K¸íy?ϧP&¥hsuÁ\88ÛÌ\bc\v\98\99± \90&\84kH¯¾{,´þþÚ\_e\ 2\18{ݤé:¼SötÊaK1Xz\9f\ 4ªë´\9chTFÒ|@\9bÜ\ 5w\96j\879\18®î/¸\99\8cÄd«ÛÎ&\ 660·p`¶\96ÐG6øzï8\99\8a\bÉJ\ efñ©¿³xÐ\18í\15Ùý+eË\12U\1f·*­ÿy\9a\10\8e
+,Kí\8cPb\16\8b¨.ø\98\14qZÂRù~ùJ³:¾\93òNÑ\1f\1dá\añ\83\8a\bXÎ'öÒÛçP(I\88u\87`/vX
+I\87¿\v_@*þ"3ù;¡®£\ e\82\9b\8a}\18}\81ưGJT¹[<\9b\97þ=U$¢åß\18Yy£ñ\11ù#\r\8c³zçìyöÅ\825\1c¿C\88Ô|lJ\10\8bÀbçÂM#©ãÏjç¨ÿ\12\11\7f\ 1\9euÊtkhê¾\9c+I\16\17\17ç\1fu-Vê\ 5\16\8d\83G\92å1HÙËîE¶Á©Î\85\'í\96Â\90t8\18§új\\89\83ÈÇFL\fx:¸²#Dt#^È"A4¢Ê\11~]@Ò\96\e\84¸\fÇHT!°öÙõ\92
\84ð©\ 6\ eºÐ\0\8d\16ë)k`dî\0X¿ã\84G_\94s\8e}\ 6ðÂõÿ÷\fL=Êáï\8cL?±\17û\ 6&\1e¦/ûF&\1dg\0§\8eBiQH\11Þ\11$/ÑßQnÚXßð\19M¡sNò)\ 3\13\r\96\8b\84\89H\84k÷ÒajcðÖ\90[)\ e7Þ`G`âÖSÏhN  \8d\17\18b\93
+q¾.\ec¹í¢­ 4$Ø\8b\87æe\ eHÅC#\9eêb¡Áe\9aÆ;\92\8b\99@ĺ¹\87'Eyørô÷k'EÉ¥àZ\ f\93ÿ\89\13Ë\8dF\9b\8b\ 5\93Wd¸\9b\92\1a\ f\0?¿õüx\88zÒãdØ\91sF\80u6Ö£\11!\16ÿ@hÞ\8d\1d\92ê\99÷Ôá\15\eÜ\96\14Ðô°\11\96û'$âv\80é\1eQR.\96CE\8ciwd\86ò\8aü\ÔñÍ\117ö"¡¢ó\84ÛaË\f£ZÝH\ 6\88#z\ 4\86Ë`\98\14¹Q¾],\88Û\90¨.\ 2hAA[ø\f\ eó\9b¡\14\ fðâ\91C¶9\7f¬dL\81y.ö*ÓyÏó\ 1º0Ю\96\861h\80¶õ§Ì\17)CØSuRÃ3ÙÏÐ\ 4'n(ãLüãO7¯<\vbo6I±Ý:\83ºv\86Ú1\e\9dÒøwOæ;¤¡Ý\e\1dÓ\vì\eh\b\99\8f\9b|ÙÝ\fT\ e\8b£\8f\ 3\17þwI\93ºn\8eé»<úäî\9b\13º\12pöÿC8wO¶wJÃϹ\13ºwgt|m\9f³*wO¬wNR\e@   Ý2çt)ìc\7f¡íNé:wMQôÒ$,\96ï¼\1cÞ\ 4ýwtç\ 3Ý\15448\13ä\93\1c_ñ#©ÂÏàMpK\ en>$âµÔ¤\97\85£\b\98P¾FPûíEJ6\9e§Ì:O8Èìÿxê\8a\9cöËæ;\7f"     S}DD\86\a\95jÛ@K"\87VíØ¡¸«!²\iMþ\1aj\16é¬Ñ\98á!ûeÃe\95(\a1þéà³ÿwIo\r\f\92+\9c\98çÔ1\84\98çË\10ê\ 6´Ø±\84\98ç¸`i\8e{f'N\19zÖ¤nâÑ\81ÃÙfq\8aÉ\8e~y\8d¢c\9fÀ8z\9báÚ\8b(V-\8dºc\9eá\8d«Æw·îûÿ\12ëJhMÙ\8f\92xj \14\94\r\90\14\81å\1aE\9a.cS\17·\15\8756f4\0Â{3µ,!Ì©\1dVÀäßæP¡ç^­\82??«\11â\8a ÌÜA2Á ÊæWÜ\83²å¶¿I1Ta\83â߯c`ÇY\11ãD\91b\9d\bH«ÎÏx¦\92×[w\1fë#zÿëLCþ8 søÓ\12¿\8aU:þ>é\ f\9aç\1eí0ñ\ f-\7fÏ\17X³ü\89÷»¢¿wºûø>\11þd|\vÿ\99\vÃø¢|ÏüH\85\1f\88÷/cv»ð]ý¦\9eV«ªá±óy\89[ïCå÷èG¸?>=ÁþE§H/Î\16røíüÄ\ e7\9d\96\9aÙý©H®¯îõ\1e®®ñð\90\v¼\r/\91cÏù£ÿØ@.ÿâ\96Ñ\8e\88\92\12Ú0@0ÿà\96Ñ\8f\87\b;\9e\85\ 4\16ÿBËáKhÉ\9b\ 6Æ"ªG\8cý\1f\91©Ð.\95~
+<ùÿ2~m\ 5s\9dB\8f?\81-£\\88\8d\10\f:Ý&ÝÅ\e+oîDj|Òξîdº@²F\94ÎhýÂ9Fhí\87Î\843\96(     Áv\97\87¤Nª\ 4âK`õ)~vGK±\93w\r\8eâ²X¸\9eDy9\92ÁT\97\ 4\e3\80ûF\ 5Î,ÓÅ1\8eBûæÀ\9f»Ö\Î)aD\1f¦â5ÚtÀ\12ã\9b?\9ab\9b\89GóL\93qÒ¿\9af\9b\86\9b\9bù¨ÔÜ2\7f5\1e\9a÷óR\ru®/o\1fÍ7WÎA_;Ú¾`\11F¤Õó¾«ç}WÎð¯\9cº¾mÕóéÜÀÅǺ\80æPÙ¯\r\13\bÕóíf\88\9b\rÍ)¡\1e\ 6Z\13"«ñ&\18§ha bû$\86ý\8cK\86êä\0X\88]\aì$\ e#C_R/\84â/\9b\9d)¬V\19É9H\9cȦøã"áL\8dÁI\97\1d)Di*k\9f±Ñ\b<'\14\9a¥     (ú(\ 6¸p×eÊá\ 5r\1c\93¹\11\94\19QÒn\13\1dEèÁ@-\vÊ¡»\13¡¬\99ÂÖ2\85W~v±éýýc-\v,\9fEW        ío#0\7f«_ÙB\99$B\8f\a²{\\12\89±Ï?^5üR\9bÉ\ 4t\r\12`;\b\17ªÊ­\8eD\9a\89ðV@!Í\7f8ìß\0Y\84\18¤©
+²I\rIÙÈó{A\ 4÷î5Æ1\19ábÃQ\14v\ fj       ,R\12\96?ÿ\9f\88ü\82\88¯\9fñ\1fì¢\7f\7f¤\89ý£7\8f×ÄÚ\8cÞ;¨\9bQ\9bÇ\92>pýªHø\90\0ÃóÃ\19¼y\13OÓxÆ\9f\9b\fTBß~í\1aR¿÷Ù\99\9fI      $\9fI!\13$$\b$F,A\89\ f>\90Å\ú\19\ 3ì\f\8b\14\8aÅUÓ|,EuÔG CDÒ\ 6\ 3fO\8f\9f:Ý÷¨êªkªêù|鯵\92\0ï\99$&I\14B
\b!\17Dp#¢\v¨H\ 13ïÿÿß¾ûì\99&@\ 2\ 6\87\90y¾µ}»¾»»ËyoBôoBônô-¼åè^\85¼¼½\vؼå½?ròôíþ\ 2^§¹ËÝÞmìÞ^¦ï/Fó\97³{Å<=µ·mÖÛ\1a]±¼%\9bÇÕ\eÈY¼\7f\96o\1e\1aÍãý£nVo\1f`Çó¬Þ<é¿*Íãÿ\9b\84ßð4íy\9fxc\9ez]d§6y\ 6\1a[\9f¼\11iôýÅRú(ð;\17\80\ f05\ e`\ 2\1c³Þo\9d=\1d³\9d\92â\18êÿ\fj\8e\8b\19@B©ôtç§r#ë¼"èbÌ©ÇÁì\9eM\11\ 3æFñíÊ9SÉ\1d\12«øJx¨Lä÷Qg¹³Þ \8dcV\15\84(âÃ#5\1d\1eź&òÅ'µþÍ»ä¡ÑÙÆÝî\9eÚS¼ÅÕ§y\97¥xXxð½Å\1a\1e;>w\90~w\~v¸ü;À\1ab§Ttüê\13\ fAj»\9c×è:\86Ý¥dR\f-{8\9e§áñº´\8d\0\9cÃågl(|¤k(|£\97\14ÒïP!å\1d'T\8eÙ>\9b?(8_Í\ 6gd\1c/Ѳ;¦À\ f\924x\80Õ
+\7f\9bV0\86\1cº8\15ÔÿÒS\86j;S\86jIÙÊiÎålý$&*³¶UvlXi\e\87\f\1a ?»×\1fÝ×\1fÝêG\86\10+R\8dº¾¶·»ÕP£÷°\87.¿}\ 3\14á\9d.t\90\9d\8e嬤Jã\1c.ð"r\18P\ fÆ]\8bß¡(N\96#ÃwÔá»Ûª\1eÄåÓò\8d({\10DÑû½Ûp,¨\vE\ f'|Ì\93\86Ê«X»ü\95ÿ5bïºÕ\85Ü\8fÐ\92/»ó\9aÕÎ9ѬL(=ô\88¿ tÖ¥\1f£\83ÜÛ\ 3\80"íIaË\vj\í\9c\94Õz05\9d\ fò[ò\\ 5\9eoÍ>ë\1dÚ.$È_6â\ 3{ÞE\809\18c$\c\f\91ëñfH϶2G\f\81\92+±&GUoÛ).ë>o\87\94\1f\8d\9d\9f\7f\13Ãsfÿwv¯\80À\19ð(Ú\9fýÖu\7f\87Ãcï\86YÃÿ¶\8eÖòyÐ\1fé`\16pÜ4¶ÞVëËá\80¯òg\97\83¿EÑ\vb\86\90)3Èg\9cÄv¸\8f©\9b«þ,n\8e÷\87gü0m3ðÆZÒÃp³Éá¹\7fOb9äð4X\ 1²ÛþÕ\82¯ Ñ\ 4£\12\9büË\ 5_'ÿ\95\82¯ÜÁ\16\0±ñÖ
+½¡]¨ý£çjGà\95suÄX,ù5Ü\15\82×~Å£à\9f\81\16OÁ7ë\ 5\97 È<~MÀB>Z¹ø;¬§\9cJ̼¿4Lª¯P\94£ëá\83UjçÑ4\12*XcÚ:]>È\80\ 5ù\17o\9bïÁr«\ eò\89 Ó\8aéÜ­RÄÏ6\13r¶­Ë­XÖ\9d\13Á\9a\b"N=ÕJ´æ\85\1d^f7£\9c\9d+/"*˹!K'¼\ 5)æ2JÎ\80ä£\95\a*çÅ7I³%\99w\9c ¦\98¬\ eýÓ.ê\8er¶¤ZcÌ\89á0\8b²q×\85Yw¼Zb½F]ìØ>ÕMÇm\rST|\9f\83îsé\ 1¼\1fÀ¼&Çi\87\9aãÏ2'w@½A'¶\1dÞô\9dÙrw\\13»2NïNNëBwfIÝ@\9dÙ\ 2wg\89Ý\1eg\bêz(\9dÝy;²¤î\8a16º-««U#8C»\83'w\1c\88\1e±\14Jz@ÁÀ%\11\0î¹¶F­Ì#ÒÙÒ\88\1e\ 6ÞúÜ+d.(C\1e4ûo\e\15\10È\v÷Ycð¯W'1U¡Q\r\9f¤Ça$K¤\1ew7ÊÔ\98ÑS´û)R¹¡.<\10²ÿ¸r/\13rF\97\f\825\9c7ê¾Y쫯\15\94 öõ\92\94nÚX\18í¥\89®Úz+\9d´ô\98»i¥O¯ÓO¿¦O¯O\ 4í¥\92}z\887m=EîÚz©Ûýdúýtíú\94úõIÛõiõë\13·û\f\1d´Ö§o×'×ì§o×§×°Nßf\9f\9d¿ÛO¯ïB;i±\86vÓÜNçÙ'×î§s¼O¯f\9dÏ´O®Ñ;\9fÞO¯ï§síSë÷ïAé±\aÕåy\84\97¡F\82ØÃ¥\8b×\a\1f\98¸ó\98\89Ü¥M}ô÷VA¯\8e\1c}m?\93\92\1fõwÿÖ)Aãÿêµ\86ûEü]\ 3\7f¦¿òè\eü5ÿàÐ7üå÷\1a\ 6þ¥}Æ\81¾`\82\9fööQ­Àl²û\8d\ 3~\f\91\b\97' »\85 o$óðãh\eýÅËh\eû%Ü=\ 3\7f ºç@ßÍ®üú\ 6þµw̵\86ü\85«¯%M7Ç.OÑ\8bßK\15.=}ìT¿Ìµ[ýÕ'Ö\8az¹r§â\7f¿ýöyý\8c\94\84í#iþW¾ú~?©\ 3'[úÖ¨\7fúó\11ð\8fªF\18))^4ªA6£¼0À\82áþO31\ 4ײ¡ßjãw³\ïikÌaàÚo"LµØÄð²çêtÒRò¼\18\1ao\ 1ÚeXBfâ\7f÷\ 3DÀh
+)\95Wï|¬ß^\ 2@ïõeÓùÅó\9dÇ\9eø\19\94®,\9eö^¾!ò\87\MümN¾\1e]8~OìÊ-Ëìâ8Ë'>¥y¿\9c\94äÇ©è\10i\80ë\ 5_úYì\1csm\81`\18Ùëh¡èf§\97¸ÁÐÍQ\84Éü{Vx\rl\81\14j æ~mQd\17u\11aF±JoÄ㨽\ 2åN\98YA·\1c\9cÃÚI§¤®Ù\81\ f\e¶íN§\82:\9f\12¸\90­¶®Ì\ 5\a#
+¡ý}§ÜsU\1eE` \0ÛÎ\172wuùW\a÷ \b\17}hÝR\ 4º\81»`Úaþ\84£L\94\18uOdï¢ç¥xlµ'@ö\8b¼Â¾<0ýwZ\a:\vßPÑ]\81\9a6   >\8c\19  ä\84tÛv\16¢2\96Ã3A;\ 3\v\12èà\966\96/\ 1êNÉ\1eGî!-o\8c\96%_\13É\91&%ìE\ 5\ 3Â\15\f\ eQ\8eDL¹\18\ek29rr\16`m­@÷b5«\98±
+ëðCpNóΠ       \v<Íë\8f\ 6Ñ¥&\axu8³ú\ 5\ 3
+ò·ãQMÙ¼\19#\ 6í\ 3\8c(JåÔ\84u/V¤Öer\97\ fÑ\1c\fe\16\8eäÏü\81¢ª\98ª´ü
+\80Î6M] ¤L]:\9ffu?À\9f \96¨û#,xÒ\9eÕ§ë\9b\rxtl\13èK\19\12\80\e\7fK\17\87A\93ЬÂX\8ehuoàQ\18\0Ì\8aý¸\82\1ewV\94ÅG>´­ÔCiÀ:æ©5dÄ´ëåE»/ äqÚ\16\9f\8bdV[­ôt\9bã=\83\11æB\12\0\e\ 4.$uG\9fOÿä4¥£Oæ½\1e\1fyBê\8d\92\7fù7TyÒ\9f\1di5d\eê   u\f?\91?\91\9eý)+Q[Ùê\ 3ª7#Z\95É$\rÙéÜ2iLì\1c¼Î*\9aÈU±<"\16\96p±l\v\9ba8\8eôôþ\vLn\ 2³\81sÉÙ>\16\94Öó\8c\ 3G\86´$Õì¡\13²û«\ 5}° fL6GÕìF·\89C      <µOÓý8ñ\1aêrÍ`Äý9\85FÀ+\18Ü"·Ë¦å\8f\8bS\16"\12\99FFÆg®/j\12ÓâBP\8aÓá«hB£Ü\05ÄÐ\82\8b%\841\9a\9a\fi ÿÁªx\ 45.íf|òª\959dêyÔû\ 6§bµs\94Û°¾"x7À0Ö»AJH¢Ô3@
+¼CAÃ\8e\9cxz:K\89ì,ÑPl\8aÑæ¹\89<Ò½@^¿\ 2àÑ\96yá \ 1i\84C\19]FuYY\v\86yÏnÄÓ-¸Á\84ݯÃN°Øã\11kg\b\11\85\9fÇ Wç V4vnòÿº8\13\14\8b{66\97áEuãÜÛ=¢\8d\0\ 1K¡«ö¢\9aÃX)|\fÜ7\1d{[Eö­0ûÓ» 
+=ëõmK\ erZ§øãç\9aSmi7wó»£EÌX\9cJKÓx\ 5­¯¶\86\90g\r\81¼Ì­
+zq/BÏlwuãoKYb.ÌöúÆ\17þxjE\bµ:\98S\852/\ 5}Y5w\9a&;àjîPª\ 3<UY0\0\9c\ eM©¯.kå¼å£úAÏUÖÕàÄvÌU,ó4}qH\ f©¿¼LM\88}k\9bR¢2\9b\97 ¤rÂ\11hÀ¹sUIHøíj\8c  \9c1A,¢Ö\82\8e\10®\87®°8÷ÿ\9ej\9fEÆf+>súY\8aÍ\87øY\8aεû1Yý×ìÅg^M¬\16\91Fb³û/Ù\8aÏê\10Rúýb\\92×\8bs\17\96ù\19\8aͳæb³õø\8cÅg\81ºf+>ÿô3\15\9eÝ\7fè[\98¿Ù_¼Ú\84)\v\88ø\14\9b\ 1\8dÑôg\15¯Ù¦=UU\v\9f]nîn²×í\9fYJý³\ 3kçP\94©\8f%˽-ÉrÔ/ûà_}Ä¿    Ä¬`lãoFFÖ\1d\88³\86²~        òßò^>.¯\8fñUÞ?ýg_Ðy9h.û/%\89ðaó½3\8f%ÏWÿú¯¦
+\[\8d\12ä\e×§×\93*\9få\86Ó\8fÕéÿ\97Ö\88\8fÖâ{Ý/CÖ¸ï'}\8eÚ\8a\r£(S-L\85ág\7fât\r-Uc\88û×ÿE²ø%®ÝWæd{pÎ'ýBÙ\7f°4±ºLß\8c\12Ï·+\1a\1fã¸Lh\8eÿ;¼\12W\8d\1ewxs':Bê¹÷üxÿð\8beö}$®Iÿ;4«öÍÜ5\85\ 6WñZ\ 6\19VÔø@"\ 24\r)\8c\ 4o\e\87>\16«Äð\88H\1c\f©ðSìS\19äE\ 1e\1en\9dñi^\16ï\ 4¶ä\11O\ 6 æÏï\8b\9e\85:O¸ìü\ 2â­¶\9d\8f\82¾\8bj>\ 5O\154q\r\ eÓ\8bà
+éOBï\1fÛ§\8fã\a\1f·F \17+ÞbÆ\9b\9d\8eNU\ 4\89Çh³4ê{\19ºf¦ \7f+X~\1e°ó\9aú'¯\ 2­Þ
+\95\97°>\95\f\ 18\ 1\1c\ f\1aRep\ 6?ñxy\14|XO\b;>Muß\8d³êx\85Í\84R¾-[\80A\97'w©\95\19À\8dº\1a\14\195 ü±IÇ\83\9e!\92\162I\12>ªªi.]\P*'ðbýû\bt\92¤Ö\ 1Ú¾Ä2\ 4Ò\81)²·\ 48
\9aªÈõ{ÂqÇ\9d     \ 5\7f?2Åb6\ 6 ²a\f´Ï\10W\bê¼Ð\ 1\9c\9dÇkÚüô\1dI\ 3\8aÏw\96\1aËÄÜ\ 4\98Ò®büwT]Ø:\808ð¬ÑX¬oÕP\8b®MGäú\96é\ eê>Ý(í\91\19VÓÝ\eË\9f
+\1cRÞZż¶¡¼¶°yòtµ²\bÍÚ\85\ 3çtÆ,\ 2­\9b¦1\84\92ÌLcAW+PtÆø\1cϺ²L$®wªÝ\18í\88à£~ Ë×tFm\ ft,\93î\9d\90\15í\8c\1a\9bü\96LY,\8fF\ 6\7fGi        D\8ayòY1dt\7f\vá\12\14.\96K\9d\ 6\ 4\92ç  |`\a+\17½\1a S¿2\99»ã3?Éh¨~96\ fæ>f\8a\873ô´T?\9c°¯\9fóV\15óÿiwèh¨\7fæÝ©Ç\98\rÞ\961]ÿâh\98õ?¹\ 3O.\ 5A«ä°J\1fçþd®¤¼ò½\fù\15 \97»Ç9ÀÙ;è:,âS\9b\ f/÷1\1e¿³ÎÁ´õ°&Zù÷\8c\ fÏ÷\1a[Ãáø.Ñï¾bbø\ 6\13Ì+\r;\\ fìÙ6ó÷Õ¸Â>n\eû\9a\930`hÿÔ4\ 4Ò¾\958ýï¿\1e¤Ìd÷¡B\90Ù\97ï\8dw8ê¯åã\15|TäKæ\8a\9c\88m/\13\91-¥Ð#ò\9c\ e\b3l&|d
+\93`¨=¿.§c\95\1eÂå~>\8eÍÁ\92Âá\90JÉìØÊ4¥´\e³CûâíÞ\f\8dåÁZvG£ï¶IĤË\9f¦É\80 9\84H\ fåà?yã¦#gï¸\8f
\1e\vȹ]~\1dò\8c"?'(Ý\17\81\1d|MûccÇ'cnsw\8e¾\8d«w]\ 3w_N\11«¯¦È
+.\8b¹W;Ó{\9f±:\8c¤¤ë=\95\17\971jï\15l¹²5Û?´2\88kÝk3\95µ;7\9e\1d~\87dðZ\1eI°O\80\ 5"\aX      \1a\1eiy\1aßßl\82Ytÿe\9b\96ßuN      .+~PÖk¡;6FQ»ÅZ·G0\a*ØdøYg\86å\83ÎX\bGs×c'E\a\ 4\0Ëç\r\9buÎ0\aw}é\ 2\9bv'~û¡\97ç\11×\b] Ùͺ¬¦3Ð\ 5\rľÕ(Q¢D"{±%\ e+\1aÁ\0A'§-_\81«g\tÝqù\97©üI\89:l\15ÓOD@¢B¢\8bI]$l\88\ frp      =å\12~íf\8aÆ¡\ÚѺ\µ2\aE"µë\82\92Q\94ùÅU\14Èç$öÒ*¦úr-T\44\94+\8aÊ\8a!\9f\82D§óÜ6cy2\84ý~ź6`/óØ·u\98\ 2\8b{]"°\91\1c\v\9f \15\888ßíH\8f¢ÑIàÙÛíQvc×ø\9b\ 2ïD½÷\97\12bj\ 2bnæö¥Zÿ¯\83%V$Å'ñH¸êô\18è'¼ûÐ)\1aµò£í\93\9bsNÎÅÛ­\10\7fHÑ5\17_
\9aÁàg\9aKLkZ\­´ÅU¦1?\8c\16Î\19·H÷\8d\91\84\b;?ª\aNiu=j\ 6xje»ª4þVѲ\ e\12nçu\ 5Üû¨#zlÎÂ\8bV§Ê \87/\10W\13\15véZ¦êÞ\16\1e9Ë·ExA \8bóvm
+l\7f\81fçß²\a\8dX@\15U\r\8fuÁnÏ\9d\18y\16L\18\149ææ\90ؾD\89°$«F,]\14ßäßU¼\1a½n¦\0åwØ\ 2îq}#RH¬\19\9e$g¸6ÊAõ^Ó\97K\17ë\0Pt\b¸s\97¸®\86U$Ý­%¶\ 1\ 6IÌve5\v¤\17;hÁ},ó\1aYãPu=\ 4\83ª8\94úùDÿ÷àá+N¨0NÚa2´³ÜÙd¢|\14ÅPÌaí(ùîXúI\9aa
+{l\17\8c{\9dÂeh¿\17¡í\91B%²3À»\0p©üU°Ê}ä\19\8c¬\9eÉ{\rÙÒ\a\94ò\9a\85%hC¡\8d=uô\8c\8aM¿\9f$\1f{ñÔ®\ 4<=OR£À\87\8c\880Ú®\ fU1±AH.o¨3ÖoýTº\ e¹\89c'\86±DÍs\ 1C#ÊE\8ev\80\ 1;Y×dçPí*°\8f\9c\94¥*0\1a\17øÑ
+\90º¡@Ø\8açþ¸x\ 19\0ãÖ\ 2\ 4*\86´Q\ 1¾ÇÔË\16\89C9ô^Î%A\1czT\7f\12\0hP1óõ³À\11н¢³<(Hì\81\8dP\ 1\ 4\93zQé\93\1e\98¡ 9YÏ8c\8açS\ 5i\12}/dhöoM\9de`\8fvy©ô.¦¡\9ctzäíl\13ÿ±lë²\89OÿÊNºé/Éõà­2·w\10``À\ 3\1cú\9cí\18\ 5ÜÙÑñ(\10±l¹³·Oº\aq\8f!i2µøìö\v\94¿@­í\râ[öîùh\9f^       ³\9a¼!!ê\99§f\81\rgSÁ\99TïåϾ6Ï\8e\9b\7f\91ñJ\ 1µ\87¸uò=|]˯\91é¢Å×Èýøµ]|\8fA\16W_#ÖÅï\9d|\8dôI_,yG\10­¯~\ f
+\aÏñÐEG\89\14\1eÂ'Þq¹¤\99ʸæ84a\0\ÞDkâÕhü\96\85Säµ¥\90`\93³\9e\89\ fYg(\ 4µeëÖóYH¬¥:\b\9cÙ\9e\9b¸ó\13ô ¦tþø\ 5¯\15\9d\95\17~u?G÷ÁyR\84°ãÒ\168¢ ë\1a\85~ £\rÏ\10Ò\97¢µ\ 3Âe\98ÛI\9d\9c\1a)¢$S2\16\931ïÁ\1d\9b\ 2 F\1d\90½è¡ëÆ,ý®$g \ 2óÊë\e\91¯Ä       
+^w\89µ\\18\11¥\14\88]áuí\94ºákÄì|\12\81\90Wá)3\eJc³d@Bñj>\9e\bi·Ç\14|"y1JÂ\18/\1ck\fÿ?ðÇ\f\95G
+*ô&\92\8d,\1cx\85&\f\1e\14\84\1d_ïE\91\ 4\89bþ©B\8d)xW\979\1c-\18)Ød\bÕVáqâÑÎË\ 6O*\92Ïh\97LGB\14x]¤ª¼%Ø"u\83NarÜ&\14\92Îð·mu²ÒÎð¶-Õ²ÒÎð¶+îéigx[\15\96éigx[\17×Þ­,ï\vbÁnÖ\96w\85±0Þ­,ï3ë\1cî%Z<ÇT>\8c\8cCD\84YH\8bÕ\90\17"¯Í!·Prç\18ûÌ{\16óX裻 <\7f]\12^\µ\80\88\13ï\89¸h7ÍÎ^Ö\ f\rÚ)7Çñ}Z½\14#\159?Wp¹\1fÞV]Â#©$I¡nê¤kàwBú¯6¨\1fªB\93T\b.\13H\80Zü%Z3Ϊ\1d\8a%b»lç\1eÉV\90Kn\90\8flöÉ\f«tl\92\f§Q¤¤\¶Dþ¤\94f\94\ 4\16\ 3\18µ_lWÒÒBóæO01+z\16Ùî\91³\9aø¦Î]˶\18ø8\9f¢ù­À¨\9aV\ e´eÒÍ|¹#'mt¸\9cF§/eÎÍe    Z\9bû1\1eÛQE\1e/çÔ\86óÔJª\15=\1a£-à0\ e?#¶\ró\ fA\12\15Y\8d\95\b9\98í\99\ 2´U\95\14\14MñëÓ\82_ãûc\96V\14u\0ÂV\91K6òÕ\81EbM0\98<p\0(\15¢Þ©\eëÆ]-\91?\r¤\ 3¸ë\ 2Çç\96\ 5\14\0à\10¾p½*¼¾\81±£ó\15\ 4\80è:£ÕÎ\84 Þ
+4ä\1f\19<\12«\v~\ 6¸\rñ\16DJ\93c¥bF\10-\95\98HS8Å\89Zò3Ð\8f:xrF\8d"Ç;\8d[\86\r\98kÓÿ8ç\80\9a\r}F\1e\13=\15:\12íî¸R)ñ\ 5\ 2Ò\8b"\8c6\ 5\84[Kkè´\9f\85ÍC¾3I1þ\9f\7f\1f£xx»\9fFððÜ_Fâ"øþ\8dÊÿ£Ñ»\87r/$Eù"om\8bU\80\81°êè\9b³?ÈÉ \94Þð\86ÔA\1a÷6¡
+D@Ú\8c\83$ (mDqbèQ\fñ\15Y@C\85<\R¬"\rZ\bû\8e1\95\89ìUá¹öãø\1e|<\ fÑ\8f\81Û~O\ 3\84\83$¬;\81àyèN9º\7f\89¨É\82c!«\ 1\15\1cSðU\ 2>\88ý.\1a(ó©-\14yo\8fÕ·g\8aÐd\99§â\10\153V¬\ecÀòLé\81\19\17\85\15æ\90g\8a°î$gs\9a± «Òªxd\8e\8aV    .oò\e\f?÷ø\\ 4ô\9bÿ\v²þß\85ø\10    \8d¡\ 1á[P#ã\16Ãõ:\9c©{\ 6£\ 2A(Ò\12*\96MpO9L~Ù;\8b&)\89\90wÚ®A\85hQË(´\12\9c{9\85Ü \b\9b\ 4ÃV
+\v\89\b¿\1dç>@Ôöâ\v$\e)3B$·ªQ\16k\8b\8a¾ââÍ\16âæH\89`l5è0·´\82\ 3\v -n14GÜÉx{>\8dø;>ã®zFùÌ\17ÈÒk"\14}H·'Â.Ûç\94\98Ö\ 278fË\e\93r\ 3\14¶pàá\94\94\13gSý\8c\10Â\8aëÓâ\ 1tÂÁ\0\9f\88à/fÄg¨íÔ6z\85
+üàýb¥R¯`F¾¥\14«Ï+z
\89³P\ f«\91جÃQ\84é\91Rätâ\ 1\9d¸=\rê%¬\8dj#\½       (\9fç\85\13¿\14\81f\93Q\ 6º\ 1\8c1çRBL%v\12X½è\98\84ÐáÅ\89\97C©4½Á\10\a9p\17Ê6\9d(2>p#³MùF\92ÿÖÃ\10¿ô\95Ë×dÖܱg\84\9a>:\89´}µ½ÚE·à-ÂÅÛ\98A\§g\9cÛ\9c:äñ¶\1d\8a©ÙñØCoÓ³à\89j\17p\9d\9f\1d\ 44\ 4\r\1dQÓ2Á8üò\804yµ\a£s-(z\82Q½ÛªÙrDPABj\e\0>¬4\rÚ\99\16êsØ\85Q\e.\892#«4*$z*\83k\1e\81õlî\ e\0æDãÙAî:\\88\1f^\15\8b\*ýú}\174h\82\14(¯ Ó\rñÐ\8e\ax\16b}M\ 6'\bfï©Wäoª_\82îí/üÅÜ Ïê\ 6\bq\90\ 3ÅaÖ\rf=\1a2  ü­\17_ÈF\9aݨpýº\82V¥côfR\14\8dC;\13ßvÒà÷Ö\92³@\a\15n}}<\12EÖëÃÏÛ¬\81ë×r¥\80\14#í,ÍI\1cV\1dºR@úÞ'\81\e_\ 2³ f1ÓXø\91\89|¨Â\v»pã\1dOÇò\81`\vHç\6sU*Û3l
+Si\92w:êAMâ½n<>\eÀ=ÔRËÙ\9e\ 4å>Ì?/´Û§6Ì\1fìØ~q#Õpm_%e5#ý[0ý`§`µ\9cFÈ#\9aU\9cáØ\9fT\ foý;YLª}ºÐ£ô\98ñ\86~\1fJ®Ìä3È\10TÏeªìï`\ 6ɱàã\86ÝÊ\f5\80ã\9e¬E\9e\89\14\17\96\8c5m\99ü![\80\88!:§\11y8\8fÀL\84u¿%!\ e\83g0û·\ 6½é¤í\18\996a½l\9fä       ÎÕqú1®å~\9f\ 1\ f³eî`£:³7¬3Î\ 3õ\r\1e°ü4R\12ã\88}¿»t\8aoç¾üÕÏ3\+î\ 5([
+â¬!
+iÑþ@µÇ\0yÀý\0/d¢}uM\85®\9eO°l\ep\81ùñ^q÷GÔ\84\\8br(\ 3d 17\1d\b`"0Ó¤-G\8dºÊ¹¶\82î}Ä\12ÆY\11\8fk\9e\92Y>\87ÇÃ\10¯Ä<\r¡É>½°ó¥÷Z<ð`z÷!ô\83 \17Q\ 3\88\10I}0*j*\91½\97Ä:ökô\19\\85I#{\81Z^è\8f\16\b¤úa#vd;\15¤Gç\9c\80ñuÁGç_\88\9d \10¬\99¡\90y\0¡¦\86å\aîx\16×\13I÷h\vjñ½¸ç`\ 3`x\9a¼\86\1fl\197ã£'k\1c\vfG»)\89òHÛ\1dÙLNRFÖnÕGéß\7fv´j Hß\exú4ö\8c\aßV\9aÎó$á\rÅâô~\ 5Ç\bnßÂ<?\90<-ÿy]\ 2ÿ\9dÆCß°¯~üRs\90\95ÅØû\12m¢À2\97Åy Õ­âw,[\8fÅ×ÛÄ\eòëíö,\7f˯·ï\98«¯·þ\16*ëíÄ\9a\9a~G\15;!­\83¢&Åÿ\84cÁ5°bm     ÷æ¶\ f¡c\0ÖÁàØÿ\9cÖÁÜ«\16^ yHOÐ+Øq\8c    kóaöжe\93ÎøåóÜ)<×À\89¸êQ\17;³UÇfH\98'\1d¾\13òüh\97\1fƵðÐ×.\ 1©Ûà§,\9dâ\1a\87ñ\9c\82(`Ë\ 2\93Å96âL\93\9f\882O\f\9fo¥|\9c\9bp Mÿå5IüSO\ f\16ju¯]\ ee\91äT\98\15\15"\9f\80àaK8ª­Î   ¦\96ü¥;\9a\9aXÎ,\9eçàݰ_ÓvÿCÃÛ\93\rþKµ\7fãó(+7,\ 3NG\ 3ar\80à&p6Õ¸\10\r¾\ 6ÃC\ 2\ 4?òM5\1fþ(e\94q\fþJ\92\99\ 6å[[Å8ñþ\ e\93\9cí'Üâ\7f\8f%«û}¥~«®7Ò\83iàB\99k\9b¼Û{÷hGß8K¡\1f¾Øñe!\7fhó×\82Xr3ʱùxDü/ëØððeá\13í ¾=\8f\fY\9aþ\11n¾$\9cï-\f?¤áPÄwü^ß>[\9f\80¹sëP\9e}\a\7f£\84£Ô[ÌXø\81Ô?\94\96       eA\15y\9a\16rPiß6\99\1cø\88
+ãêaÓºüHrÞ\aÓ\18"$E[ÁK´\ 2ð¾\82\98\80»b9\17\12\90»by\17h\ 2Î}\ 4"~6½«ãfã7\8d\14ºUñ\9e|¸^P0¼§#\vä\83\v±>¦ô\17\91v\84ðoÏ©à\18jõ|\18}Mì}TNø\eµ[ì\97°.ÒÆ~0·XS\1eCêc ì$bØÆãÉÊbÿY\81\97T(_\8cίk\ 6ñIË\90Þ(:ÇÖ«ÕÖDs\83Å\9aÉ©äÙ±[\85Sÿ\ 3ýå\90Ý3\15vÚñeWù\8di\11î\8a\81fXÍå\8añ ÀRL1«ÅoÚª\8b\19\aS¶Á\8cf= âmPs9ú£ÎÑ.YÔ+|\83\13a\10î\81Qd¶èî§\11«\bgס$\16ÎR9O\8e\84IØ!\10iT\ 4\15åª÷È\f¦\82Øo\7f\aNåÇlã¸'N¡\ 11r4Lê\8e\8b\f\85_¶Èf*\9d[\0\8eº5~Ð;\9fÔ#\rCd\82»ºiÚ°"\10Ñ\84Ö\9a\18m\99ÔL\831\f\83\96v\84 \91\109\90\f\f'\ f\99"${y#\ 5@z´í\86\ 6î(ÃL\1d°"×\99\a\9b\9b~"ÊmÝIã}\19#ä~Üê\8dØh£á(Qê\93ÿý(Q\85\ 4S\80\80ó»¤zò\19b\19^iY\9a\ 4'\8bü\19k\90aC§XG]?     Ø~\14¿\1eêê­·à$ºq3\88ü§ÙÄu\ 4àÝÙ\ 1B«~;\15I\938Oµù¶Ü¶¿§m˶[mËÜ-¶åü+¿¿\9c\91uZû®\13k\8dÔ^6¸ß\87vÚãi.ü9Âkÿ£8MQo\1f\1dÏ®ÿVs\1eù§\11ï3iø\15ÉO\87\17Hÿ\16iZ\99¦p2Q¹\19m\7fð]Xÿ÷\7fH
+¦çÑ\99Ø\19:4Z\95³åxo\f©ÿ!\8dg§­ø·\r~ë¶¿Gk?ÎvÝ\9eZ\r§­\7f2×ϼmz}\a±\85÷ºî\ eÜï¾yuÔ/Ý\14\1e\173õñYÞk¡½ÿ\1fÖ¡×0ß¼¼\9dÜTý\ e\7fý­nÿÊ\12\8a×\8b\ 5\ f\9bòåkßÿ^V½\91b®]\9f)ñåk\85\13g\ 6\v'S¯\87\95®\1a·Üt\92Ý\7fÌÁo÷â\95\8e;õâë\13\90\14r~ ¦Æqß\11\8cÌù\9bëù\v.*\8c.\86O´SVÇÜ_nMI6îA`eº%6Ì\82\ eéñÕ\a²Ñ\ 1àµ\rÖ\16j.\8aKB\ 1ç\b\1aD\96\8a2\92\8e Ê(zJ8\93( ©(Î`â@y»\92x«%ü\ fç\0¤¸ðg-Ç\ 5ÏÄÃ\92)}ÑÄ\bë=\ 2a¼%\14X\a\9d\ 6IÚhfªX§Ô\1cáÃLð%íÀ[YÝ[h¹\90°H'Ù\16\90Ã`\8c&gg)ÓÍÏï\99²8\10\91«\ 2g!%\1fî\8f\0\1a\93È\86¤\95\ 4\80\12BÐ)x`rþà\ 5ºíN¨Ú\ 2öw\a\8f[ö4\1c\12èh±\r\f\11\96\8bO\17»\11\92­O\ f{ÒE\1d
+¯åè/Ôm[#¯qÏеtHù\buC~´­¡º\92\87\84ª¨\80êÌ\8c\ 3Ë¥yNi       /Ä!f\17Ín\84Âðî\ 4\1em\rVq\91\ 3Ë}\1dP\v        ¢')Ì\14¦QYâ\862ò,²`=\18î\9a=òoú¶g¯Ë\82Qô4\8fV[ÝÝ\89\81Luä\8b7S\84³ª\9bØûu2Õû;\80þøú?~\15ß\81\e\90\99\89\ 1\G\820\88\80\99ËJ±\19\042ZÅ(ïÀ\fbÉPF\96î\82s\96\9f   2\a\9c{G\bANoq\19í\94á\1f\ 3À¼\ e¨ÆõDâ\b\e\9cZq+\90y½b¡Ò{Hܬic\8d\ 6\98xRú\7f/|ý+ñÔ6¦ÑÐa«!\1dðæ2éÈR\8f¢\99-\ 1ëºËãüÆ\ f\8aø\13 ØaØù·¦D£\aЪråÃuCQub6×Ë\94¾\91\12^6\89ºÀ\82\1c\bÃ:=¿×\ 1fÎ;Ú\90SÈîü\9cËkë\12üþB
+\16_<6W\ 1\93B
+SG¹ \9c\8ag\83M\81"h?¥M{KÙ'£ÌE%ð»B\9e(kß\f\96D\13z\843àO¯Ä\ f6\ 3\rÄL/\1a@£cÄ(\13¦ã\ 6Á{`"Ò\'ã\1e\1cl\0QpºòX9\80\82%n©dIáëèaHúa±_\89b\aòÙÐÌ}Q±I\97\99Ï\82o1·ð\86ÅÊ\92Åí\85\8a\87È\e\14¡,@\10çô9\8f4lX"X¼ð±wÞxØ¥J\97ßábó]\8d\8b\99%\88\16\10ÿC¥²\e\11\12è E
\87Üö\ 6Å\84(ëï\v\13Ý\88Ø¥Ø+ÄÑ¡
+ÖÚçSô\9d`óQ\9120]à34ÛÉ"±\86×RZy
+o4\9dÑM\8bèéP\99¦\ 2¢¬l\8f(\12\13új\9b\17Ò\15­³éP\bÔ\1ahÜÝ-*\fÓö\1c²\v\7fQ\1c?\85\89¶E¨\90ex-su\91Ã>íª@+í}\8dá~\0Ðýw\85ìµKç®å­ó\ 1ÅÀW\82AÞè\9e\1d\14¶T\85Þ\89\8a\1aï¥\rc@ç¹g\ 3\89èèÂé=\16\ 1==t·W2x@ú\97\86\15\86#\1e\11±*Íæc\96\893^=îâ(\81´¤:ÏCnô\8b\14\ 4\8dC\81«:¢Õ,W^\86?Wp?èdÊ\ f\ f+K\ 2°\14\1fíC\1cp¨Zà<\v«¤O\ 3\ e\94\9aìg³Ì\92ÅJ\81êÊèC\82Ù\8eâOÓÖ-u\89û\96°#\ 5ײS\fµKçsK\M±úÕpq<\ 3Cz,1z»ñ!.\85\ 2'ð~\80eJaÐ'\83îk2
+\1f-tj«Ä!bªû\8c>\8a%ª~Gÿ\1ekùµq¿ã\8d\88ß\925sðÖN, \96\j¹Èüìj¹Èó\11°\e\94ÿ\9c#\19ùh£89Äq±¼,â=Üd\fâ=\9cgù3tøëìF\bó\1d^ÒÀa\94¢M\ 3c{ê\81\103*-\83\9fù¥\10\b\11SÞt9õ>ÕY^¶vwF¨BTR<\e\90\82V,\16\93\17?ù²X\v¨\11Ð<\87\88A\9b¼¸}ø÷¢Ö\97Û\81\83yåpk\8f7\8b\7fRe ¢\10FÝÆ1\ 4±\10T\93&ä¥é&a2gRLĸÇÒLÇäð\14\9329I\16\93./ð®#\8e§k\7f\85:¡½ü\15\15W<\837\88\1d6ñ;#80x\9b¤\9aßÓÀ1\14Z\10\86p@\85§Aµé§á\\9fî\93Âô'ºí_A\96M\99H\ 3äÀÐ%éûü"«í$Y \9bã\91ThÆqÃ\ 6æ"§\8a¨ÃÅD\95M@\8c@[3DÑÎ\91oÎ9sÙ騧7\roðë\82s\9dOßáqiCô\ 1Æ=ľÖ\15käm0#ä@·²lÃOi°\1eõ3[ùÓt¬f­\r:¡Åþ\12ïÊýé<\80 ~ÏYÐ.¸Ëî\1d\0Æq\9aB½ØEÏïÔ\8aa§b)\98¯\ e\1d\13\16\12Ë\99íe\fØ\17¼ðiØÍ\93ö,âNÎâ~Mä\89&§`\92óFz\9c\9c\8d\f×Üj\16ç\11\94ÙÑìRò*\10vlDÆC\87\ f_¥Ã2\80c"ø\v\e\97\10\7fôY)~Â\17\92ÆÔÿücj|]ëþÌmOî\eýLmO\9bcÿ&6§ÉÁñXÚ\9fêAòXÚ\9dU\92·\ 4Üç¼Y+peS»Å\92·\ e\14Ïx²Vá\1d\16\16\13\88²Vú¨>"É[ùp|E\92·\bé\8fx²Vý<\1f\11d­Á\9c\9fï\16JÜ8kÅâÉ[úp\E\92·\ 6\ f×¼Y+|¤\17\11d­ÛÁq\16\ 1\ 5ÄY+pæ\13÷\8b%n\vË¿x²VàO7o\16\ 3Ý=âÉ[âÍâ,\95¸qM{Å\92·Þ1á,\95¸\a¶þ\ 2É[ùl_¬\95¾q\8bõ\92·ë\98¿Y+pN\ 2wË%o\bN~elÁe\92·#Tuÿ±d­ÁÀÑï\16JÜJÈ÷%d­ø\8b%o\84U\10\ey+%oÆcO¿\9bk¿\81§\7få\8a¯Ä-\81ÖN1Y/\9f\91ÈvXþâugÕ¿ä±§?%`\1fÿü°\ füjzö35þ4Ëæ\1a0Ëç\9aúf¿Üq\7fñ\1f\92ñA@ËÇ\8böü\84\9eÍP=\ fÃÛ\16ÀÀ=ý\93#0Þ9\91\8b¼R\18\aµ\15ëoþ*ö/\ 1Ë\7fàkjàkj`kwnÚ\v^ë[\8f\ 3\ 3k#Ø{5Þ\9f\83îûÇù:\ eðm\11¡õy
\ fÉþàq\86vÆv&uâü\1d=(·¼\8a\88Ñî\1aý}Ïîb¾u¶»zÒ\96\81\7f\98ù¿'WêA´ü\18\ 3-uØ\ e\16¿_Úñzìg]ÁÚ\9dîÙXÝ\7fUöZPuù¬Ôï\93Q\v{9·\8dó÷ü9\87}áC\879à?f¿\\ 60\9a\9c^îÖ÷òðç<\aë×ëÎH\97\9a\1dÈüzýp×ÃÕ\17_\ fUÅáÎv\ 5o\8c;3>52¿\15\93&¿¢\92O\81¯×éËM%A\a\13Ñ¥Ã\ 53\8b7D\9f\8b\aEïyJÚ\9a¢o\85$YKH\11w,\11\ 4ƨ-    eW%Û¯*\14 iÑÔ\89K+j\8c\96D\8ac\8ez#\15kÑ46\b4u9\9b\10æÕ\8e©Icn8{Å\19Ä\9aoCq\87\93Ã\9e)\b¨pê\80w2\ 3\84äAB\17    9;Ñ4âb\ 4üZ\8e¥Õ),`=\88Ñ\1eÚxCk#s\84<\87ØCÇ&\10ô¤C\bwì°Âò©\11Y)´M³\91#¼péÒï\ 2\81®Sf½¡Ôâ\ fS\9b\ 3©G°K(íP\93Ë!R\ 3Éé\ 1Àña\81óϰ<WæÀð\84Àñ\81\81ç\9f`y?Í\81ê£Ç\ 3Æ\86\a\84}\81åÿ6\a£\ 3xêo\842ce?x\91¥\91\bSÞhq\14èm;¢÷s\ 1\1c»KÛ\r\87ÍÍ\8cJ\96®¼mAJ§\916\82ú1)¢5Ñ{è+kOÛ&wÛ\9fl\82̧¶@¸Óiûd\fª¦\9fÀ2a\88kèò\1a\14ð\8a\98ªÚAo\ 2ýù\ 1 cO^éÁ?ÈÔ¸uO®\10ZF>à&+½ìbXdi.0P®Y\14\1f]\1e û#³\8e\93\v\81\ 6d\97\ 5ñLKÛ¾µö\ 4µß\94µôÏ­m¤\v\12ÝËß\9a}kÁ\8d¯o\14[\tá\a¼·+ 5wJ\90ã7\r\181A*aPUÚÊ\14WQAòÛ±Ié\976\fh@\88ø.OÞ\ 53\9d(\ 6IG\ fÀ"\96´W\99ñv\91é*èñÖó¢ä12~ÂùÂ(\184ê ñ\88{\10>\0$æéyÙß
+Éð¢\81\90çSÕ\86øL\ 3\ e\12°»áå\81#\0Ü:\19ào²PåQ6iØX\98\8d\97>ôkY0\0\8e±B\b»4k\e\9b¦\870ü=\8b\8bÚSk\83¼u<9\88ê3v ôÓ5 «ßê BÙd~uHk{ΨeSnJnävl(\8d`η\7f@63bF\15ç®0ÇTV·GÓ\1d°h%½A5¶j\ 6"\13Eð!6½îÑ¥$ÿ]ÝÝÉrK¹õ\80\ 1\12\10`Hêf"äH\18\81\0oé.ÆD\82ÁEÇs\Æ!\8dá¸ææM\84\8a(¸ØÜ\1c¹\7f\8aæk\9b\99\8e..î«®¸¢¤\15s\19\ 1\0 f¡\81\8aÀT Þ:\19\8e!\ 4\ 2~þÿÿý÷ß\\90°\0\15U^­ÍîÊ®ªÞð7«ªº»ÁͪÞðvº«¼^ð³¼Þô\ fÕç÷Wz\ 4êï@=]àõVú\rÊp\1d¬\97\91µêÍ.\ 1[w:¬çY?\9aßÊ4iWhû\11säT\r±ò\9a4{l¯\96\1d\15\95\bÂ\80&Yò¢H\15t»^OS³F¥\87\8bB<  àÑ××\17@%ü\ 1t\8cçE,4\ e+ªÈÙ\15;\10T\8d¸ñ\97\0Ôþ >»øÿä\1d"d³\9c~\16\8cf\15Ç?\8fð\ÜÑhÔú¶D­R+\81þ=\176\1a\85\815êò#\14GA¯=B\96\aÿ\ 1@àüÓ\88j^yì}þêøoJÑ´}\17QoÑïÆdO0\88¬\8dJõm\\1a5\9dá\15\9eG\89Ãa\80EZ£n]áQ¸îð¡(±Õ)]ûÅâ|]\95Õ\16À/_\12²\19\87§Éz;\16Zø§\91ß\8a\1fÖ\ 21f®Dq\1eÕ£Z5\9cN§1\93)\Eá\15j)±©±ìãe\e.\ 5ïd\9dõû«F\84pç­      éQÿá¾_\1aýy¾A\80CÆù\14éý\9båYôx»Ü       L}_%ÐÞá\8eÁ«yO\1f \8e\ 1Q´ó\ 3a¡Ú>FÌ\97I\8d\15·\96Æ\8a\8e¼ø\17|Û|\'\18\16Fx\9bä®Õn\91)Èô2\80\1d嫸\1d\90ÜÎÌ/\1a\11\98\16¢\81ünèsÛ\e81
+dJ\89°óRá7çÆðÚw*4ä·\85ã\91á´Ü#±¿@,\11\82Mýiy«¸v\8dÆ\8búZ\e[?:'[\rÎ\10\80VBk        ¤yuúavX\91\14DÚ¿\8cK\90±ú<öWI\86Ô\ 5AâM\89\96,«5Tò<\11sv^\97èN+\17°&Âfµ\81\18º\1c\97®Ñ4!\9d\vB\98\f;GKè\16\13!ËÓ    \97\85óÙȯÐ\9bD/ò\19»ä¯\rDÏù\18\98\92\95ÖÉé\96g=\82\131Áèz!\a\fsê_KÈ\97ͽ46\0mG\87\10ïl½\18Q\13ÄÁÝÜç\1fñ\91¬Ð(0µ®L\87\81\1eôý
+?lp"¶¹\11mê÷:=¿Fq<àÕi!\8cÚÒù£NÁ\10Ϧ¼Ä4g´§\11øç\11çN"/nyg-Þ¢#\8f^"4wQ\e\8bÑDg\ e"\16\87-\86ÈL/\11\9a+]KTÆäÙ\9cF9>j²¶dÀ\8fz4D6\17Ãìh×ÓÀÍ2"\eÛ\9c\ eÞb¬ô¼\9f<#\84õ}C¬\89\11éù\fý«âf÷¸\967üãyÃ\8dÐ\14n±3,À©ÓÄ=\1dH\7f9´ôÆtçÎl\89éÙKB\89eUå\9a\ 6%\96Ç,òwÀÕ;3²;\8dh~¨ù\9bâýÆ\99T?\93\aý½(\9f¯{'w½\ e¢\94ñùå­2\97\ 6\80\80(`á½ÉÃAneÁG\ 5®\80ð+¹°'\9c³Õ#ÎRUPN%\91\ 6\99\12'Ý^D\1ds\8fÔ\9c\7f:\98ý)Gú\9bÙyèÊ¢3Jq\90\Lè\8b\8e©n\1a À\ 1 ,Y\9c~\ 1Î(ìúd¤\1cQY\97zá"D\892r\1e\11yöe\89÷fHÄÎrVö]¼ó\85\1a\ 1È\16ÎÞD\89Î\1cwÒ½&;Î1\1dï\ e;jV`ZØ\92ôÅùG\1d\1e\93?`=rËG(äÇ\12~\99®åy\buØá\9fæ\8cH/\94xnäf\ 2\ 6
+7I\96]:1n_5\85Y(\8fëªÜÅ\r\8fv>\15b£ wn\13Ñ~Ê/?ç/EϤu$G\1dVòè\8bNÂb-\v\83\16À&,êDYêg2\8evlG;>\fs`ôã\92Ò#\93µ\8eäÈ]Ë\12\17\90¿\8d2\14ºò\14ZV»\9b\8anl§k%÷6Ok\1cîl\93#øLHþ\17\ 6GçS#Ì3±MÛ\ 6PÇÓ1»$=\92tëNO½%g\8c_CUvm­lÀ«vW± oZ \÷'×ÛL\97·\15áP¶õKDí\91ä\³\9dú\84r|}é]\9b¨ò\ 4§OR¼µèï«ÏPÕ        ÚU\82ÎrÄiÀ'\8c\17~]9=:\æ\81Dø²CÊ\89VÑ#\88î\8e\1cî\11Â\93Ú½bZÊ\9cµ×É\96²·RÓ×\86´ÁÔ!\17\8dt-k2³Æ9MUgH¨V¸ÐÏéCpT\ 2è°Î\8e¾L³ÿCj\90\ e\8dw\b\b­êR²Ü;ª:Êõ\7f\1eýÙ5>_fO`%I.ãmÚ{\92\8a\8cÉ\92\88\93%#Òñ¤\99þgâ\92o\81=¢Ä4¯Bþ&n]\9aB\ 6F\¼,×ö\84\f\88\90¨2àWc\9aVr\10V'\ 12G>À\ 6\8bµ»9\8f6\ry8\fÚ­¶ôÐì[\ 6\81¨«Ô,ç\ñ<\ 6Í\17\8cX%º¹\83íZ½: O ç®Gv=ëÆVXòZüXü\9cq-\19îãå\1e(\19\88ð¸\83ÄVt>\e±nT\89\9d-Rx¬ZLB\99ûYöØæË9ë\1e\ 4¤\8b¥G\90áë"Dï¡\17\ 3Ùw\8cÒ\81
+e\1as\98\81bËÛó[p&\rý\1cû¡{fÕÍ\9a0ïZ&ô\ f6\83\9døJ°#Ý\1e}m»´ï9û\99í\8b Ô~dr]¶\97_Ü÷§w#Ü÷å»fÝ\98O\16ÇåÕ;#z>\91©å\80XBêîi1\ e+1ÃÒÑß\97×î\7fú\eYÿd»®w.=/\1dû "OwIá·\r?n¬^¸£Eþ¡µ\87hô£JÄ-\ 2uÜX÷¨OM%9.ì©^\90ûòø?·³\aãûa\10úÿ\94\14¨4IóÝÿFc\8d»ó÷[¾\vÝ\1d\9eØ:E\9c÷Ó        í\14ü\88\7f\92`ýêW\9eCÈç\¦\94ù\15Vñæ\9cMÔÓ?,xGs\8a\ 2q|G×\85ݲ\v'¡õá©Y\ 5\93ö+oý\8c«\ 3ös_\8f\9b\ 4h·Vx\86ÛË,)\16æàÑ\95ïKx\8c¯~ó%\8bpó¡¼Õ}S\8bÕ\1c_\90¼Ö}\ 3Öv§¬Ç^k2rì\9e\0\99Óæ\ 3\97×ð\1aÀ\ f
+¹àcÓ\9a·tjl\93÷ܲ\90\89å\ e\9f&Õð        Â\ eæ{C^ç\14\89|-\98\8d\ 5ôh*dh0\ 3A\98\91 Ù£`;­Ä%\18Ð\ 22k\83ÝR§B¥\85¤ö\96½ç\8a\11\9a0\13\1ax=Ö\17puÔîH©«Z\ 1Ö¡µ\83ݯ¦Uf\87ì"I|=3ð+Ò\90q¡Î}r#.vª¬¶ô{&ɨ\8eéËÑ98\8ei\vD\13°ÚÅÓ\1e\92yd©îQí\94\1e¶MÄË\1f\ fï±(À2R\ 5\10\83Ô6»ë|\86i\8bücÈ\8bÿus¿Í\94ÿýs¿Ú"9~\1dsåÜ\15º»ÙW4\15ò»b \14\8c\eèÏÄ'\86q§[Fm\13ÆuÍ@í,wUÏÜ\9f¨\88\ 10æ=Ô\17A&\v´âA{I0]¯\12\vôdÁmø\90\\8c\98\89\ 5\9dßûc®êúBÕÓ¼a?ð8ê\1eYön\ 5æýK\rÐ\ 4Ö\Ð]®\ 2¼jö
+Õw±vÿ\9dxç¬*ñÎ\r\9cªU\87\í¿ò\93­\8aùâ%\9b\9a\82¶g\ 2Q%\7f\ e\1dtÍ!\ 24\1f\»q&O}ó  ÖóN5ô$F°è\8drÐM2;u\82Ô²neÕðQi\11?\93"':\88\9e\16ê&Û\8d\13m"'\8bDO\e'ufäÄCw\1f¯\11Ã""D\94á\9a\85+8»®Æj\17\ 2p0#¸\rL6\10õ\8cìcøÜܨ\ 4tëÉ_5½7\89éÍ\18¢8\94\8e]º$9á÷\8cÎÓè\9d¿rïj\15\8dû³\87µ\ 1yñ1)Ïïnnn§|\97¦¸1ïÈ\82\ï8\10OS\87\ 4ØI\82m8pO\eyx\139\17\91p"óX±)\98ÄçíÌðuͪÁºÒ¾is\9a!\87\10Å4L\9dy¾©z\81¾\93¬êJ¬Í\e©lf\fäV\11©^\v=Êk/\15Tô^\8deùU,2XÒùÛ\14°¤Å\81qi´\8eçÇì!UU\8d%~K\ f!\89²\16r\v\18¾6K\ eº\81ö1\16N   ö\&\19û0©8^Ý\9e%G\ 6ÀÇæ\8eúb#¤´ÿM\81\8f¾ýV\ 6?âÿ+\ 3\1e½\92ù\eì\19/\91¸m¿Û`câ\8eÁ¹ô8Ö\ 69ÒgøU*;\9e\r\81\8fë\7fÎÀÇû\9fô°1ذ3î¨Dj\15\81\96\90ÿmaýñúþ\eûãÝ6-ßé°>ý¢\1dû%ÝÆõ¥ÿ\132\1c¿}\95ÝÇtÿ\16\7fß`\93±`\17ð,\ fù?~Ì\9a\0oÅ`¯É \15þÚ\r¿ùX9ôÜ[\a?ºñ¹&üÄ·;Íè>ÿåæa\7f_O\8aÒRʾ×Ï4¸±ãÞ\bñ:|\ 6\8c¯\ 4y=ôpè<²_Õ/üo\ 4\7fü1Ú\18\16.?¹\8eÐß\7fÔU&ÚO~ģϫ\9bJé{\9bøKclU§pg\89\ 6á{Ô\1d°FPs¦\83¶çg~\12ù3¦Ò\8e÷ERo\10\9eÀß'ÿý¬v\87Á<óUýïu+ûÞún|\95­Ùz\ 6\98÷½ø\18\eÀ|>WÉiÜ©l\12üùÐiéëç5\18;¯s}*ÚÐ\rÅñ\9cäE\aâ\1eË~\921êyààÎ\99ïö&¸Íf®½\¬ñ\10ö?äàÙqDÏÜ\r¢÷\83/|´é°«
\9c\f\ 5\9bâ\15\80\v\8f¸\16\18\91\a\ f·7f«ÕÉ\87Ã8~¼¡ã\v\19mLUmm\ e\1fõ¤Ãùó÷ÿ\93³£¬DÜÓ´7\1aIûó\9c\ 6\16ì
+
+_g\82â\88\ 6#%èäç58Âç»ñ°\\17æùùs\8c\8a\82ÂXU_®÷%+\ 5Ô\19ûøÜå\ 5Óô¸w²\1f¥ÀM\94ë\8a\87\b\Ég\9f\87pÇ+uN\92Ö>\1f8ÿà\11ðcR5\7f\8b\7f?\92­¨Ð\1d\86¦þ}õhRò|Ù-C\90á\91o<\80&rðh´µ¸x\vkñÒ\88ÐY'A|\1a\a\15®ô\1a\12ÐZ@&f\98³\80KúVíî.¡I|)\84µ\ f\1ew¶a\8f;×l\f¾`ËðÌ9\16\9e\a\80ÖZàãtÁ\a\9fÃÍ:k[;¹}2â³\ 2»r£\92\82,H_\ 3ý°\83¤¦ØÑ\90\98D\`K<ê°\ 5e>iØ¡\98Åæ4¸Ú?\8f6ÇwÛL\f\9eï\88¾\84Mg\8a}iµß³\1eE\9d\17\8dÊrù\99\85ILò+fÕ¶\89[;«ÏGE§\7f\8dW\97»¿KóºÌÓ¨~̧\ÞðöãxXì,K5!ZÐæ~X¸õ±à\11\16TÏëÒûðñ\9cfÆ>\ 6\0K)\e±t\92Ã|ÛàX°v£}¼Ø(ã¥lßÐÜ5\8f}\14\1eå3àbIÚÜY×e\ 6«ý\a/\14UU1°¸ÂØZ\11°¼²d\8a\ 5\81\83õ       oåjò}=\8e\1e\9a5;§Ê\95B\97\8arý>à,s©\9f\95p+ð\¯YÙØ\ 5b`ú»ø~\81­%\85,<t\86'ÎÂ7Crú»Ù\82ýH\1ah-ö\10u{x \82\80ÿ/\96g\ 6éE¨¬\94\82ý¾ª8¨\86Z)`Eß¼Uâ\ 4jôËh ª¥\1d\94\18{¼×S-\ 6\8b_\ 5J=\14~Y_\1fÅ0}\0µ\1aK\84i4\91ù\ 5|}Ä\8d\1aK8á6tèrt[
\9e&& Ñjs7W\a\9d$\1a+*¹H<¦\96\b\aÇ\v:¾L*\9e\bü -\9c\1cf"¯ñ\ 1Ò£tÂ\14G¢³ÌÌ\18\aÝ+^ôKUô\17\8a\81N\19Óé÷*ý\a\15·Jp\99\e°\96\83«\ fº\8c\8dÒÙr5\8e ÜØ£¯[qME«¬ÀA\7f\8c\97'\126u\1fF\89é\e4³h76\90Rü0ì\1e«ÚÄS\98ð\16Ê`\9fEöQÛ³àS]\91uq\9f´|IËZ\81¶°X3ë9Ï\ 1épm®RÀ³½\17y4\95ÜPM$h¥\81!4\8eÊhúù¤uù°\82òÓש~³ì©)ÃlÀ\14ö\1a°\ 2\93~\83õ3úR«n-fªÖ°u¢\87\83,_\1aSh:Ý\9a {\ 2yÉäE_£´Z×ü§\9dY\96\1fÎt\7f2#ù@þ\8bλÏà\9d92º©\11ÊÅ®¶Ø7
+m\99I¶ÂX©\8fJ\8d0\14¾Tj
+'\1f\9c\7fÄ\9d \18\18û[¾­\8a\917^j6Q\1a82ÅcD¹ûØ\ 3n\18\9cI`Øì\10ìS²À\18$\88Fp@¥g\98^\8b\1d¦¾%N\9aÐ+¹Ñ8/*/\9c,P\85\9c\14tÔêWD1-®K\0¹Ò©­©[Φ!&\12\12\1fÕ¾\1aÙX  _§\939\9c!KãW¨\19 ñÈ\8bÍ¿0У\9bl\ 2gJ\91-sh\96·\17ôÑî\85\r\fåÎlâ_\1eøÅ\8a\86IAÑ\11\fª"\1e]ýu{C\89* Î¥\11\1cªmK{ÝáêxñD\91-K\f"\99ý±¹É\84gü«è*Ù~U\1fEüôùq{]ô¡\ 3ÿáv sÎ\ 3\9bZs×ôðxþ/DüÓ\96¨K\a5JãuÕª\16\e¹\fxL\Iæ\97R\9a\84¤ÒV
+´ÿ\9fÞ¿\8dÓû*Ñj\94ì\ 2Ý
+\8d\9bÞ\1f8@{\8cº\80¶ÅüòêiTÎ÷\a\97_u%À¾Ö\ e·Ò\82©pÙ¤\0Rîþ{E\ 3\eµ­\97\82®ëY\ 6\ 4ö\868\ 1u\1d     Î\81F\9d`4\17;rcÆû\1d\0ôÖ\8d\91Û\ f\9bem@S\8aºÍ\94\f.\99XV³\em1'\98A3*¶¹<@¢eW[ê"%¡\f\17L®ëú\88anÖÐ\8d\    í\18\9då\86¤pî9!±%Ö\87 ¹ü\8bÎ\ fRÇ¥7åµ
+­d\89WYlÿ\v¯\81/°.ÉÿߺwÍ\ 5Ϭ¼Ä\16UÈ`ÛÛÍÏ\96      èRª?Ï=ÏÒ\14Ês\10Ý\ 4LHÜ\11.+=°-×\e½=ç\8c¾Ò\18öa\89¢õ ¹Ó\9cÐz8÷ônAwJ¼ÙøËrC³?ßW¡&@¯p8\1dÄ\9d\ f\\19\ e+4\82\ez·§@c¾\9e\13Wª(\93ø\9d\13ôqxÚú\9f¢ª\87X\8e-\92|"j½d{\18\92\ 6#~ÑÐM³tÙ\87Ò65\91¢\8f0Õ!ë\8b  Û\6R\1e¡|\1a»æ\10\97<\8a\0\15DÉa\13O0\99nº6&\8c\1e½XÅG:\92B\84Ý>ç\ fO\e¼Æn\v0ßv4cÎ\1a\17Y\8c¸iv`\8b\84P\Ïò\ 3\a:d\1f\96\12§\0h«¬¥\ eÙ\9b§·òn\18\f\8a\81\8f\f\8b¾Þ¾\95Äw\0óâ\11\17\f{;\90èÑ
+(­4÷\9aR\118}yz\8b\1a}4q¬\10f´Y¦\9c{¤×\80ïf|@TÓ.ÈO\ 6Öþbì\863\1d\90ÃKö\ 2ýDxöìÑØ½¾J5wL{ìêâñ³UúeHå\96\94§Y\Y\81Ê\85¿ÊÝ\91\ 1 \ 6|mÈâòQ\9fôÄ\aböVÒÅ\85\12ú2|ü
+\ 2I½]i8gøa«|ÜÕà\fºÌñÈ\89\9b\8aW\r\86×|Hó|CY%.2Éfír7\85\9b´Ãa­~ýêðCA~³Þ3Cq\ f_v4ì¥ß\93z\19\97bY\85Ò!ýL°"       á\1eCy%w3+çâ\15Æ[í\8b0(ßÖ\85]#pfi\f-\ eÜÃ,&ß\19æSØdf\ f\87_¥ö\19\19\83á×ê¤4i\bëï¤4i\bëì·¬´i\bëúÛæZ4\85ñ^ªX¶\89z\1c\8b7ØÆËÒ\94ر®M£z(!cù\87«°\86\8d\19×\9aûËùÈ\12%¹Y£|Ö8¤y$ÄþÈ÷£j\18P)QiÔ>ÆèÅØ¾bJQ[Õ)aJã@\18ÚôR\9e\91Æá0\87©\1d¢9õ\91É\ 2<\ 4\88\ 5²ã\11ïE3æ±Ë\1a[:\ 1F\86]øé\r¾&\91\ e±Q\7f/à_Aó÷T±ÍØ\12\14!R\ f\8a\96)\ 6\92U\83\88iþz\16Ëz\9e\8cH\86·3\9cæT?¿lÎÆÚ\9b9bÍ\0£À\98]ÚÌ2\a\89My5\19ycêI\9bÅ)Ã\ 6\95"MÄ^\e\9bUÞp9p8\bÈ]¹-\e\11\1cµ#2~º_û§fE]hµ¹ê\91<ã3\ e½ïk¨\15Õ9>×^½åçµ×å\99r\90h\9d²Ù\ 5×eLïÌHäë\96\99\15ûÏ.Ö\96ü\8fl<´Ë\ 6\97Ò\12\v:\\96\8c\1f\82íu£\ 6\14Á\9eØ\ 3ãÙa\8d{÷×v\9bE\9c\9a½aÈ\83í\81)s²Îeãé<Õ\16G½c½+\17\84Áï\ f\87y¡Æ\93×ï(PÛÏ\81wÉï\1e7TÕz\9aõ¿ iIr\89á{­\1aV\87\9d\0>\1eÒË    \14.Æyp¶Ò\1cµs\1d¼-\90Æ·½
+f\91n~ÒË"b7Å\8b.RË\8a¹dÞ\14g-òo\ 5 c\bþú«\ 2CÖ7ÑCe×\1f\1d\93\1aeøô\ f='컺ãÑ6ì^0Ò\9dç t)ºJ2 \f\91ô(\8f\87Ág:0§å\19\91èéÍð0Ù\91èÎGüÇ\92V~Âh\fäÌ÷\92WV$¨v­Ó%Ä8\e\9c¼\89;9cÚ1ÈgÝ:\10p:\ ©\14\9fYÂ,o¬\88\8f.í~ÄÅD\81-\93\96½\16k0qg\89\8balá\ 5\85\eÿ1u\16¡Ö"1ü̦%3\8byƲ\16\1ff\8em\a<       ¢áE\99c(ïdÈïwî¦-\85¡µfo\8b\1d`I\9btG\16Ì&-\10æØ\88\8at\13\1eîíö%\92p§9y\84Õk\88ì\86\96´5¤\1cç\ 2T>ýf³c±ÎZÞïssbɤ¯ Ï³D¯¾\97\v9cÞ4\91CÝI\1ekìeÏc;\13ØÎÅ\11KI\7fw~®JÔ¾\9cï%ø»\19\1a\lg\7fs¬Ög-{ö\97»ÝÞÆU{\9b\18\92<×ç%×\f÷ØIl»ò.\9b?oc*ÓAýd\19O8\88R¬²7\1c±\vÕâÁM\10¹Ú\8a\16\96è{ºÑ0v\85E¦Ý-·\0\82ï\eçµ\1eC0R¼*àWNÖr`xiUS?j¶\85Yï3[m1¸\rßBÛWn¬÷â\1a\r\98÷'n&=X\r´â\8f\86\18Ô²¬$ø®¼\92®aZ\1d\ 4û8\ eB\99\13\87j\90þ²s\97\96 ÇV\e\ 3ÑK2\ f¶PR\16ùCaW¡¬\0¯çUniÜ;mè§ÝóNæ,ÎÑÏV¿\9av5\14Ëz<[G\14\1a)<\ 5\85>\86\16Þ²Tt0QÜ£ýëà\89Cãr·%hí\82»\98\85:伸4P+ù\15V\95âÉíË\a´íÍÊß\9f)\9fÝ\ 4ÿ¥r¶¥m\b.¤[3~+\ 1­pÐ.ÿ\fa\b\82ÿ\91ò0H\93èmS(\90HB±i!\8b\10÷i\98>ñZ®S\83\1c-ÒE\7f\1dr¥w®QD·\81æ~Å_
+ç&·<úÊÜÁ\9e*3\80\ 6^6VÀc\87\97\95éÛ¼xéuèF»û\r\85¬¤8·3\1c\9c\ eFç8ïìÃÙò1\9d\87²äyM) Ä]\b÷üa\19\1e÷³Wëu\ f\8e\1e\89Ñ\13b'.\fß÷%X\bÆ5ÔÀ \ 2§@¼HÆ,õµ8ú;`\14K´HËÈv,Èn\7fvU~ÙÂY\a²ÚJÆì\a¨\9f#\1a» ^¢ü½¥\1aÎ1\9c\95ÍζåY\8f2\8e½Æ0uèmc\7f\v^\15§9NºÈÊ\12[æÛúvÿÖ\14Þâ\9dy\93\ 5¹\15Õ\19|\0\83\89Á\87\1dÅé4\ 1\93ì\9e\v\19\82²CÄmÏ\87(TóWiñÃ\1e\1fä\82\a×ñÑúÒ\9c>1\8fÇi~2t'\8aW±|#\a\1fâ¬\12zN
+Á'xe^Ýó\7fâØov,¶\eÞ?àl7¿°Ì%»\9f}`\93ý\16a6®>&\13³YÎ=Ïø8ª[\8fÒFÁz\86o\0½+7\80^\91Çþ\80}¬¨4|©Þ\ fÿÌß\8bA£S\8fx?î\9bÉ Ñú\8dÿÀÎaØ Ïý\96ÿãAïà\8a­\18\1c\8fÙ"HÖaScï0\8e\9f?ïÀçXûÖø\82I¿y\86öÁÀÏß\1a^ñ7³8\19òO>rÄ\80Ìý»¿¿\88Ìk÷T\1c?|I\15ø\8eÖ?Ã\ 1½õ\1c´Q¬ÓGUWH\vÍ&ÿ\16\10\18¾[\86\80Åÿ½¹ýþ*\12\9eóaQÙf|I\87ýÆÏ-\9fé³ó\99\97É`ó=ê\Bn¡ÏÀø\82z\ e\0¿Éî0w\9fý\ 6\ f\8d\8dôW×Âãëäвä\85\ 4Ü\94þ\17gçýjò.M\ 6
+KàÅÉ ¿þÚ\1aßýï\0\81R\16<øöȪ\ 4\8cøãú\9b\99\rqÑwö¼+~n7­ö)óX\8c\9f\81\90Ú`òÿÏÜf;\182¯´÷ö\97\1e/\1f/Gí9oã\94%tß&Å\88áØ¹ü$ì\1fÎÊu?\eì\7fG}Îç`nüÆÙKn¹»¯×\97°ÿòg®oYÈåý\9fê%i»ÿÿ0óß\98\97U\9b¶{ðaç±k\80
+×<ê\7fþÕ\ f\9c\9b×îúxµ\ e\15÷à¡ó\82W×"V\9b¿\7fq\9e¹¯Pör\1c\12lɦ¯A:Ü_ä\15\ 1ÀZ\1eÆù@´\15¤-úp\ f{¡£6ü\97\b\82«\9c˽ßÜ\99|AÞÓ\94\18eUôESð\1f\18 A¹\98\bVZ[¬\1aÆ §xrH\98\ 2_ÓÙ\96^a¤0\8f\rò_"iKËÿê\994DÌZïu¾-Ñ:h~\96ìõ´ó\1e\89\84¢S3%Ô¸\ eúÎô\90Ñ\8eH\98w±AH\90§®ýú¢\9dG\ e¨§\95P\19È1`\12l~
\14=¹¦\9bë\12h\:xÏ\80'a\9aÓ\83!;#b¨\ 3®zË0\13wonê\83\9eSÖn:þÞFªÞ\90î0ñ¯¦Ò7ªÌÿ\ 6X\97G\99\15Évë¥'Mk<\92Þ3Ï\9d\97ªÜ±Êû\98Æc\ 4c×å×\9e»ZÑr»ÈsTz\13\13¥buÔÏ\9az\1eí«\bÊF\9cô>³UÉ^½Î4ô&Ú5dv;8cÐí\9bÝ1Z)Ió/GÍ\13U.ÅÅn[\13p¡±ç)¦\7fOT\90üÝ\94!WÄË\15p¹æ¸ó\ 3\ f\84_4r£
+°|Å\12SÔ6N\99.\Þ\ 1Øs\84\ e­\9d\86\87Xüc±u²\87\98'cÒÈàO\fÈ\89téôäÄnÉ\90:?v@¨\91 P^1Jzø\0\ e\9dg8\12ÛÏÏC¬'¤¡¡Ø«ºªÅ\84AQ¼ê(\87\1ec*        ÍD\94ï\7f\8a´\89\ eNd}Èãº\9d\14Ë\ 1\9f\1a.sÿG2ñ\12^¤|Üö¿      9ñåSxKªX\ 1îß\ 3½\H¼×¸z\8f\eE<ÎLÝ'w\98¤ßõÀ\1fê     \8c\1a§x\ eJ?Å÷\8dÅØ[\85ëÄNe¤³Î\\17å\85\0cA|0ÃÐ\1c\80\90t;|\84ÊùR®Ü3´ßÂwnë9\aîv¦~\96¤\81Ü]ÎÄ\9c\8f\96Ç1LÈ\ 1ÛÉÅoöüÁ¢\88o    à!«\83ú\rÁ\903¤l/þÈÓ_Wú\13\9eEx\90ÒÎ7\95´\84UwÛhA§yæ5öä'\1ck<é\9e1Ä"C\92\15¹\9er÷Ô¥[×\87´ë\96\80ö\1d·\.\15ñp\98\ 3µãÏ`\ eaÏ_ÔÏ\84Qß<\]ZYm]\ 1OÊDàý¿£M\97ÖÁÆt\ 1ê\99\16Ó\0\87}YæùÙå \94ñßÚ\1f [WrgÜéæ\1cX\89\v¥µ|&©Þ\89Þ6+îd"ñþÓµÊZ\ 6È|..{9vSy+\aa5Ð\99æö\98º\0aÆÿ\96\ f(y\90    ¸Ü9TÝyE½±´}ºgÝ68\80O\ 4\92@\ 5S4ov\18i­Ýá\13h\1c?\1f³Ië\VÏ[Ñ¥\97\87ÅÓ»øXÀÚò>Ô\9e`\9fÝÔü<\82ð\13¡&\bçÌÎÒ׿ðùN\]`O;¹\86|\11§¥®ÙHRHp-þ4y%só]ëêË¥FéÈ\13\ 2ã÷­k\1d\ 3-\98ççcúOâØ£ÿ$Zgý³7»\[¹ \eÍ\98­»³®H¼\r\a\89\11\9e\8ewÖ¬yN\93üF\0\13i\80ºCù\8dÍ\96!J¿¥P¿Ä{\Ý|!t  gï4LpñC±|Ûs\ 3\11s\ 3\11é¾\85©j¬=ü£6à\ 2\9d\97pÀ©\94*¶¦\ 29\9aË\v\8b\7få\8fæ8\7f\bf\82L\ 1 ôÄå\96\10\1ag\9c\93¥&ξßêY\92U°u\1ed\11cB4£À\90\f¸\94>µ£ZUÝ\97yJ=\81\qH×Âa|\1fé/\17~1\ 5\13ª"­\95°vQ\ 3-\80\1dL=´©Üo\85±³ \ 1É3¢Î4VÁì|{ù\e$\99ý)ñLOêØ_TëïI\95çTú£\1dø«â¶\8fF\89\89\10¤n{\ô¡Ç.·l¶\16B}©R\8f^7%²ëÕ¬^\93\vî0svm;P\1d\fÏ\ e9\9el_ù¤v×-[\8aG;þ\ 2Såo¦\17R\84úçü5\ 2+\8c>zTâT×>fN\8bÔ
\vÀH\viÙç\9c\1e¨RÀgCó£\8e¢°´\8f³Í\8d°\19ÆÓFÊÏá\v¥\86   í»¡6\ 5YÂw®\14Î\82ç\ 5ï]\18N\1a\17hN\ eà¯
+ØÊø?\9c¹\8cß\1eí- \80\9eÁf\97\17\17\ 5bsMcÕ+áB&\85>D×\1fé\17c\901\1e² ªg÷\vöË\8c­i\99\8cÖ<ò7\80\1aò
+wnj\92#\8cq`ÉÍ¢7|\12ß«\1d«\ 2\ e¦Â\86*-\9cb&å=\9dD\95f\r¹Fé:NRm¢×ÖuªøN\8c(ÕÙ[=_*tò\19¥Ê~âèw\ró=\ 2ü\90.\1e\85{` 
+Ã|+¢o®\89o\96?)\9evs´û]ξF\12¿\9bØÃô¯´­ÈÇV\17çñ!µ\9c]Æ#Å¥Úx;¡±_¿Ù\ e©\aA$\ 1ïÉàlé\96çÞ\85º¼u\95\12jøñ\89ö¡ìöAn¶\13þ~izZm%$ÒUD\aDÔÑ '}¼J\97/H\0ÓÔ\93ñ\91óã\14\f\ 2ÁÔ´6\r\87\91%ØÀ\8c®ðI\85\1f\12\8dè\84
+\7fxº'@K"'§\bð^\8d²\11\83\9cZ\f\13mIK\ ez\14L\96\ 1\1duIa¤DÉ_Æx¾£\fnÂãv\83_\92¾\90\95òÈÒsHÒ\12Ý«ÈÈÒS\ 57æ4\94²4\99$i&F\93\9b\91¤ÉÙ[=F\9dØÓó\96['G¥§²¶\9a>\8f:\7fê\8a]]¸V\9a\92ÍãËÓHf\f\r\11§ÎÔ²\8d¼Z<\ 5:Úµ¹°\11\19O¢ÑßÍn¨\85\83%\16\8eü;\1e\v\ 6dÅTþ\92-\1dð,\19ø´w°°h¢ÑÞ\82Á¥\8bFô,\1a\88´aÿ6)bÑÌ\85\83]\16\8c\0T\ f7\16\8c\0T\86HgLI °nQÐÛ\ 5]{\11\eqL¶\94,\1c\88´byçb¶\1dú6±.æ4\94\80±±\ 6ÂT\ eî\8b¾Ò& ²x23-ØC*\18reH\95Ì\15ß\11b\19\ 1\8a-£üZµ=G%N\ 5éçg×\19\82µ;|ªÏôÙ\84ypSÑyµ\9f9]ý\94\fnJ¦¯g\ 2/j=iᨼñ¾oQÉäÖûGëGÐ\8f0¨Ø!\8c©l\85\9eM4\e\17ã\95\96¯ÕD­O\19åÉ\89E% ×Ë\ 6á\exg\9d\15~«Ù³êcuv6\9fxXt°åÛ\91ÎV
+\8a0·dï\84ÒTæ\12H!±ñ)@ÁÜPÚ\ 2\17<¡´¥¯\980\b\8c«ó¯\18àÎ\81\8cÕÓù¸ä4f@'\96K\99é\91R\12!JÔ¥Qþ\8e?ð)\9f\18\v\9a\9fY¦Ì%\16  ÙïMsAó\91eDçY\7fÜóX\ 2O\90\98\ 1\86âF\v\v\16f£Ôá¹\99ô®k\1ea=\7f\0×2\ f[*=:ï#·ßÒTÂÍÔôõ\7f_ÚDºìá׿G\89¸pºª\9e\9d\80­\ 5«ºÃµ]B\99õS·\95\89ÛÏ:ßë§\1dGë¢ÀIù<DÈà\14°\81/\ 6¿#{GýÒ?ïQÿp
+ÿ\1c)é¤\7fæQÿv\8fýö, \98\99\eúÐ\1aWä]\18
+\9b¢IQ\e\82´¥\f©zEeh}À\93Ó÷pT\18b©rncÊÁߨxUó[\ribª¶ß¯ê7صý?Q¿ô³~\17÷ìß\85ÿÏý\8e³7Á¾Êåo\0ÆÍvz\9fàæ\b·\f­\84~+=íËq\80Â\1d\81Ú?àf\ 3¿hÍ"×R\16\91óÎ(\18b\98û·)×÷P;_û\1f\83ù³\89GRîæ^ÍT}-\ eãóþ\8dÍdz½\16\1eO­C÷=<~S\13\91ÏöÿO ïëpS\7f\16\aoý¿9¿ì\1c£¶kSfJea¶¦éä\14@IÖ©û>ÂûÔÒ}LÎGïø8\9e\7f\ fçÑÒäú¹WÞl»K\8d\a\1f\ 3\8b«ÝöÝN7\8bnOð\94\ 5FT\8aÕ<¿ùü×í\19\ 2\1dP?Óó_\8c¹ÿÿ¿\9aÿô/\8d\88þ\1cjv2|\1c$\97M\)_\81h\9f\835\17\17\97ç\9aP\9d\1d·úñ©Ü\86@k;r\8epe²0×M\1f\81«\fµ^çRJ\ 5gw\ fEA\e jX\96ªÐ²cn\1a\1d<ûì%Ù­4\83k#8"÷¯Êÿ5+\0½»
+RAð}­h\13äÁaxeÖ\19zô`C\18­3\\e\ ei%\13FÌü7F¶7\8a^\85ü\89\1cb¢F\84ÐÓB\1f|\94\90ÙÐ\ 4&ñr\84\11\9d\8añÄ\92Àà(|ëDÃç\ 1µ\8dª\8dà)\8c\ 3ß"bÚÔШ\93{\ flS¾\8d®å¿\ 5ÉKtë\84\9e\1a%"O£äj­é\94\17¡ä\8aªzìd~3h)°¥\1f\f´>\8bçQdòYàWZÖüb ´\ f\12æ;Á\84Í&é\83P¥_¢àL\ 3\ 1Æ\ 4À\8b¦·øü,*¶\95\ 4O]¬»FË\8eLë9Ó\84Àø\ 5ìofÛ=gF×Ä\90M¶ìÙ/ïÌÃ\ eÇ\ 4\9e\\8e     ;ç\aHJ\87bá8úï\rK\e\1562\ eår;â­æhv(\8c\87;\e[¶¡¶+óªº\84\86ý=½u\r¼«=êT¸3Î\88 "ý,ã\13\ fy\9a«Ñ\14{\1c\97G\1eªtqìæcØN\1cz¦¯D´ãG\vð\85)#\84 a\81hïÜþ\8f\94¨Òl1µÃ\9d×|Zb\13@\8fIÒ°ôØHÝ\ eôÌÒ~\9c\ 2y¯z\ 2\14ñ0°\97$}2kÆÃ²Ñ¯,ðË,½<Áð\19hàý\84\17m|\v\95»kàRúLÞ²îÊaññÎÅôêd>!­¸ÄTåïÆ&Î\87\8cGÈË\92\99\18\8aÇ\91c°1\9aìØ\10\1aøÎuÍ\97ºÁ\80\ 5;3\ 6ÒH\83g9 \85\e!\\92yWóÍ_\9e¹ç\8f\e6\9e\aC¿[\19\7fÙ\1e[;sÕ\9bxäv§\8d\9d>Ùé3»ä¾:Ó\9eÔê#>+bÌ_à Ù\7f\7f\13\99ËÒ×ãòͤS\9a-ê·Ì1ØD\87\17\892T[/Æ_Î}362¾Y\9b\19_¤mÂB7d¦Óä\81âyz»êx)ßÞK\1a\99\95\rNôJu\1fÛõ\9fñÃ\1aͯ\1cç=x\8fÄGu\aÃp0\99{fIm\ fß\9fñ|}>7\81²í\98\1fv¾6\9f\13À\9f俤¹>\90¯û75\1c\94íÏ$\ e¾ÿûb½²\87\80ï\aøG!ý\1a<WW`î\ 4L­ûí|\87\98\8få½b¥_f1Í.*1ÜoV\7fm¶Ñô<l\9d¯Á Æºôè¿üü\baK\r÷)À¸q%¿Ô:¤ô_³4Ï¢ás\7fÿ/U\9dTÚsLüßÁ\9agË&Mà̽\16ß{¶*Ø\ 5Ͱåëp\93ÿ÷\86gÞ§\18ÏÿÞÍ3öÉ\1db»lo¹\9a\14öWR\9fÿö\97ÿ:Îs¿$Ȧ\1c\9f\10\88°ï÷\rc\bT/÷O\9cO(q0\ e[\1eäO¢ºû´ØGüÑ\9e\ 6\b\9b7TÞíÒö\1dà\8d\1fÍ%\vaáù=¹\bDl¥.37\98\17\92SÌɽ\8bݼp@ë\1aY\1e\9c.\0\96\95û\83\1a\97¶§\8c@ócËâ\92öâfÅ
\9cÅ\15Ð\18³Ða\8c¤pn×£ìÛ/\róU\98NZôn@0ÔD6å\8a¸,<\9c\18*\94)5\9câëgöunvá,À[\97æ®)[Øúê}:ë:\8eM:ß]Nº\12í\89\93;¤hþ\8f\9e¤D@\9d2\17~Õ$H\95å/ÐæWè8_¡Ú\99\127V@/¦gé\13Ú\9fåÝ)ØsÍWx^¨Ï9\9c"Y0;¸¿°ð¿úb\ 2r(\ 5\97\ 1f\91í\97^jó¯ñ\99j¥;\10én0úº¦ªvNÏ\a\8ançS"ôF\90\97\85ð!o_{í\1aNÏöff}&I&L\92\12\f\0\81\ 4\91E\88\ 5`¶a\ 5s#\80f\ 6@\11\17Ëhx*´¥<­\18f\0\88Ô\97!lÉ\97.¾òÛå·ÕÒÖÐ5ómFÔ\aË[ !$\ 1X\83Q\10@\ 6ß?\17\12¢´\18\03ï÷÷÷ÿï³2I\0\0\ 5V7yU¾ènãÍèo¯7¡»ÓÞ{¦û¥¼Ýæó\9eÞïº{ÓÞîþ\ 2ïoz[ø      î\9eó\9bø\ 5½F\9e\1e뤶ݬ\8d§wEoR\8búÙÄ\19\8b\1f\ 6mI#±_i$\ eñEI#\98k\vNv¸k¾VHksYáÉ\89h\1fuji(]Î8SYÇLu®¡vþ^p%9­        X8\19ÓRTdð\19\9dÅQ>¸ü\âÇ+)øSk^®p\ 3@kI-ÂP¦Æ!\93\ eçe]ToI³\86°       üî      «\14\9bÒ²l²²o\nJÅøH·¼¢G\12Ýó«9B')¤ü£\16\ 1êº\rÍéÔÐL\87gùTÃ{\9bÒ?Í=aÙè\94\9bû«Ê&þ   Ø5߬&ò#Õe£\15cQ}¥HfQua\963VÚÍèå\11w_é wuK=Ý\94'S\8f\e\8dó@ÇÏ¿\ eAPVÖF¯\136D/Ç\ 2\88ëÓ³7\87ÿÜ_løÏt\97ÂR\80\9dS­/âGð­b\9b0{·1i[\84Ò¸$\7f0(!a\94Ã:ytÚ³@I\9aBiÞÞ\ e»ñ\9f8OÛ¼#\7f­Òw\89£'^J\9aǺ¤àIr\19úÿ\8eOgñ\eBü»W\17õáf\8d\90N)?êô%õ\8d\8fÇR*?³¿\97\81\86Ö\87ã°\1e\16d\94Õ\8b\8dOGµ\1f\8d²æüîåÌ,\8fÍ&Íãy\v\9eÞÎ\99"%¸¹\e\8a裠       \v7?öÊÔj<6'°¦¡ô\13x\86³v\83c\ f\ 4ê\16ZÉÔ,Lâ{C@\ 3\8ax\1d8#ºôÍÿíütpïæ\8aSzÍ0+\98àYJ\89Y&'2~7õ\12FmrÛÄÏ,í\1e\90ºp\ 2¥{\93ÜáÃW>\92\7fH\91å\1e»pjl{\11.i\ f[\ 2f¥ÃóPk\88\8e\88\ eöQâ,¬ì]BérfìÂ\ 4\rã\81\92\1a:<\9a\1f=@\a'\ 6\89Ô8f\8b\89w\15uÇp\86Ïg+>\97"å±q\9f,\89S Ñ\96¸¹\95sübâfMLí\98u\92}:¥³\b\ 5XÊcÝ÷\r\85\9d\8aaFí©\9f\ 4à\94\0¯3Óî\8cÓÍ\ 5Ì\99I?\1a)wv¬\7f·\96ªÛ\8cÝêW÷\98f\1e:7}Ð\86§á/r 4[spÄ0zêM/æÁö÷õ\96n>`SU\1dø¾\ e\ 6èté~£K:ßÈ^ØÊó}^ůél&\9apD\a@éKSÔEu?\14/+þ\90\1e\95ÅDé­³ê÷T\93\ feÎÛÝ\vn<Î\9fõ\8a%<î´\84BTK°5\1c\80÷i³\ 17ؾ èª\17\19Wa"e8Ì\8fy;³\1cô\ 2{SS»¿l\1d\97kÛZt\9eèm\n{øïÆì,\ fÝ3;LS\bß\11\8c\84¯\1a·7è\ 3 ÷\aw\19N}<o¥u[\9dFUZ«â\1e(ùÕÈ> \ e\10\8c\86×F.ªðGûêl\90ÙÏ\8eÏ.\93¨
+~\9d/ç<q\7f:î§Ï*xå^æ$«u$\8d\82÷ð:\7fÐ\aj\1e]\97í      ì@t¹âªàBY\8a\ f\84v\12Ò\15FõwäñY=£\18\198\12Oo\83\ 2Æfäöä03Ô\1cÃîqÓú\bBD\87Ëä\82K[¾Ô\ 4¸?s*aª\1a^      ÛÀ¶\9dhc4yAoLéÃ\19\83÷yäQÅÉ\81\89C\ 4JÊÐ\16!y\9a%\9bþ\80\1dðræ¿L,*]/ÞR\13V:Gæ×ÑP·©;\0\13×zèOý\83\0˦Ê`mÙ\ 4\ 5Ô¦\a\8b$¹õ\1c­cªä¥¯¨\br^jW8¦0#\ e²\10;»ª\9a/®KuÎ*\10üjbyüá^Qrfj52\17îýårs(}¢\13Q\93_`ðØ\8c0\89½K-7cg×,­\1aØ\84\99} l\1e\v`x;ix£\19¨\ 1¡sÝ\89\1dÄ\98\0\9a\a\ 6¿&!\8d­§j§\89\98\93;â¨ÂÙþ\9a÷\1f\8b\82°\ f\99¼\83ªNøw\1d:ûv.\9dÝ\9a9ìBe\0=\82HZ\1a\8clSó\1a!\11We\8e6\8dk3­ÜI?Û/\81&HX\8d\83`\8eúb\1f­Ü:\14\a³è±\8eö·±ÐþSÛ<^,\9a\81\1dؤ^-pd>¥ö1Dé°Á\17\82\97Þ\8d')#\98·S«ê·G«\9c\9a¿Ï«d¸\98Ôn÷Zõ±\13ícÞo \17\89µíÛ \17\10µì­%këÙ²\80Ä;µq\ fpü;\95q\ fq¼9CkéØlE\91\91,\93[5ÌôÇô\ 4µ¥\9a\0å·Oó\9d/güÃ\ fùPÃÍüÙeg­Í¢ë4!î\85\1d\13UoO
+{\90\81l[È;kw^pÛ\ elÚÆI»D7R\9f\12\1c\9frpï³Í¬{:±t\f}m8Ò\98øÿ\Ôí\ 3Ùï%\928\97Î&\19\1e\b¢v£Ï\ 2\17f¤1XáR.CÑØ\7f P¹I\15¢§¬26½h\1c\1e]49^ö\0È|ïb\10\ 1â\82\87\15-ÑVJÀæ\1cAoé8mKd\ 4\8b¥¿¬í³\a×*f;\a`Z\88\1fÖ)ÿß°§×\e\92û£9-º\1e²(Ixwj¯\91ê\a\10\\1c\97vS\89\11Is4Ì|Ã\92ëg)\82)p\12U`\ 2,\v\93!Êÿ¢Øà´ïHA\92\83\1a¡©\86Ãñ¯«Óÿ¥\83\10÷\ 6WüA\15\98Tã×=eSXùØ|ü\8eÍ\9bþ\88\ 3mÀm\87s²;üè`Að\82\r\ 1¡¤íÊ\a\ fç\1c\ eYX\1d\96e\ fl\ 1ÿ\8dT\15;Wíµ4\9f¦ê\17\9aÃ\85ý%\9bÙ3nÔ:uL\8c8$iU8òâhß¶³{#߯LØvó\94\95\ fí$³bê^bÖK·\18ûwõ«K|\ 6\88¼IôbJ¹\9eKlP³°2ÆYQ¿³Ù.=³A\18ð¹à\93Sè¬ÜiLó\0É\89{}34½\80Ðx\95×3\a×\ 50¬úú}\83úû8l9L§\ 5Â6Ù²f\ 5ðo\87pe3¶\ fp¢Á}õÁÊ\81(k^ó*\7fîª\7fÚ)À\10\12\ 4\8cÜà\10\99\91d¥Çºy°\1a1þXÂÝJnL`\ 21ÞÑ\ 2\15·¼\vp\fþÉ\8fÑ\96\7fdÉõà\vküâ\b­\10=ôú«u?ÈAoáÚ ù¼\93þÅ¿X\bó\15Ü\8bÖ\83\13$ù¢\98\83×½ø\f\97\13êÎæ_×O£\8bFh­æX\f»8\85Ïþ@Oj.gY\ 3\aãLE\ 2 Oj\96\0Ôzx±ñæÀyÉaOÙ-#@\86u\9d\84\97¢LÕ\ 6Ów2\86\84\97©rC; ÂKóO¡µ\82á%ÞÜ\90ÚÁP\92îgÐÚÁ0\8aǯ\90ñÇÂK,~.x\ 1<yÉ\81Qx\aÌûG_\19\10\ 2\ 4ò_q¼J\90Ò\8a°5}ÃM\95\ 4aB\8bKQ@\(\rÛÍÐÖ\0Ö¿\ 4R\9c)0\aÄ»¹8_ÙSô>¬U訶ÑÄ%XYpÍS\86B\15(\13u{-ÿ\96qÜu\ 5§\19£\ 3ðWMÏ\8b^\ 1n3WÓ\86ß\915°EÅÜtܬgThhã3g>PÕÔ\bSÛ¨\94^ _\ 6Ñ+\væÑb\9b~^º*N_"öW8î\9a\7fÚÐ\e%xí\ 3Ë\9f\ 1,Ài\rZ\8eÔÐ\82É\96®àÉ\12\85ò\97\86\1fJ\15\ e¬ÒÀ¸p\9d2Ezº<PZ¸¸`7\9d\18©:\10}\a\9fÄ\bÊ\9b Íî:\87Vöü,0÷dâ·o*â·lÕÅnÖh\17\1dk¢Z¸ª~JÞ\18ºc¦¥\8359\ f\19û¡\rt\8aBo\9eô'G59W\8a\98×yàq\9d³ºh}\80Ê\89r\ 3&\92±^\17°\Q\98¢cäÖâ  «\16e     àÍ\15\7fä\86^ÈÁòBÙ\9f×\aÐö\1d\98~>ö\8dM9b\90]\8co\15[ O    øB¢N\ 1cÉ}}5^\9aÞÑõÚ¼¸Ø¨\176\rtnæ\ 5\aX×Gúµß¤\85\f§­bë«Ý
+?¨/áBuêÏ(¨ÿ=c\ïha\ e×.×GÒ\8d;ôrjyÊ~ñ\ 3O\1d+7¯C¯\ fR\ 3ÚþÎ\86R,SJ
+iSjÖ·n\ 59ùÄ\e\aL@ì#±¯F\8a\ 5\ 3\ f1{ÔÊj)`2\98%v=ûb9%bY"\89\86\8dw\10´E¸±8S@vñu4µr³7²e\91éJúZ©Y\92·%c0\8dS\86\10\10\86ýT_ƼZ<|C7\97½\99Y ÷\92\9eq3ßê\7f<\15ø¦lh\bgTÀü#U{й58\ eHõÞ ¥¢½"Í$©ª¿Áz\8b½!]±\12\ 53\9c5ýè\ 3å\8aU*Å\ 4ì¬AIè¢e?\96õ\'<\82nG\86ê]¦]è르I\18?
\81\ad\8fLf¬²
\1d?\83T\ fh\12\q\95÷¥S8²Óú\90ÝqðPÙ\1dUççO\1c\ f\ 2\8fKú,j\8a%Qö!\9c\1fÀSõPò\7f\ 3¿í\11)¸ð¯P\90\14Ê<)|p\82Í\9c_³åKè\83ãN\ fÓO*ö êåZ\90Ì\14\¯ç\ e\ f}\9eT1\92\8e\ 5\81·ÊöG\aJySä\9f8;\98Ó¹gýäóþò³\aÛ\14\1f¬·\83þC\83ø\17\95Z"|àù+H:\90\ eÞòZ £{\93^wL\9cÑ\9bB\99\88K-\13JVZp\8b\94,R¹º_¬n3\941\ 5\89¼\97Üf¤¶z\15èNu转\9d\10{\99Áù`\ 3ãa\97\93\96Ê#eö52\9dX`ZÈù\10\82k|ò\ 2\95\84¿Eág³7\89§\f\94YkÂ8?\87xX\9e\92\ fN
+ÛÏÁ±\0\83öÇ\aíÑ\a[N\vAÄú\9a[Ô^\1eGY\ 4?½x(Á4þ\9d\92\9f\89.\fQ=lÿ£×Åñz£\7fü!\17ùßi\b¿ÝÿÔ\84_îÿí¼/\7f\1að½Ô]ã^\17²-Tsø\vÊð½ô·x×\85ï¦4·\ 5~8'\91vãÞ\17¶·\7fv𽴻ļ/}\8dÛ\93x^ý\vµ­á{è®ß\rá{Îݾ\vÂ÷ýî[ßÿ1i§÷z\11µz\ 66\fù6ÐO\91ÕÁ3å:kqõ\ fi{ò~\ 6Ú\1fÊ\93ÙG\93Ù{æ[\9fGm \7fv_Á\\1dùÊÒzøòzû\89=\84y=\85Ä\9eÆ<\9eÆâOe\1eOeq'¥\1eOJâO\90\8f'È\Iò1äù\e\89=\9cy=\9dÄ\9f%\1eO\92¸\93äãÉòw\12|¤y>RâO\95\8f'ÊÜIí#Éí.$ùhò|µÄ\9eÖ<\9eÖØÇ¹øª{¿\92\f³öý\92\óEÓÏn\8b§ºÉÅÓØÞYtö\ 6æºy|ÊãxÃÛ`óG\8c\84\92â\14RþG\94\93HÕ*\ f¿\84\82­ù'\91×ÉX\86üd'Î\82è\eµe¿;e@6\8eÎ_\8aó±ò,WHý&9R«yþ\víoý\9d)þ3\15\8d\8d\8e«ÙÉù\9c\85@æ¬=|x{\ eD>Ï\91\ f\87Ëò!ì£äzQáò\1c\88\7f}ð >Üò\ 6\83\82\v\11\8fÛ´÷ãø4Añhýõ\88G\83ùåQá>z\83\98´\88XÌÚÐé98\16¼b\7f'\8bķÅ\92µôkíÙZãö\f-1û\8c\17¹é\a[Ò¿-\1fÒ¿-q'ÈG\93ä8ùN¯VÆËàôWß-¡ü©=\94y=\95Ä\9f+\1eO\95¸\93å£ÉòÜy=mGÌÇÔ|ÍÆ·ØÇ\93ØÜIó\11äù\8e\1dÀë^½M\91'EÀñ·ñWñ¼V\1co\15\8f\eÅ\91\9d\8dpRx\99\7fðz\vúËoHÿ+_ò\91õÿÈô\8f°\8fé¿]ûò}\9c|\9fgq'¥\1eOKݸYqöOkq´ÿíù\1f\8aOcñIëýù=nRÜ\8fa?Yqï\ fäÉùNGº\9f%\1eOWmý\92\1dm\91zþFOû¿\ 5|¤}\8bå.6Ïi\1f\97\12zèòzï\8bqù{\8d\1fÿÃ\92ÿÃ\93þî[ür\7føÉë­»L;\7fzÿÿ³¾Kâ\93ÙüR|\8fÅ'È|{\8fÿçgþGÏÏÜlÎÃf³¸\93Öæl\88}²C\9e\89ð#ÿ   =\87\1eOªþ\12zþ?\9f\9cþ\12\7f÷ó/G<ûu©·Ðó²\9a\87ݯ7\8aï~¶·©ÊKçu\99ïJKI\9fÃ8Äx?"gÑô4?¯§à1Õ\7fGtòé\87ûR\e\9eË\rö¶}5F!îÖåõüg\7fWõn'ÿ\8f*ÛÍ·|@?\13\19À\9aÙ/ëi\7f\97ðýÜ\1fCËɧÿ´+?ñÿ|\7fßúBÑóÇóé³ÏËçèóíóù<þW?ÜgóÙúüý\8e~Ë>»A|Ð`4\14z\f\8e\83' Êè3:\fö\83C ï´\1a]\aúès¸\949¯]ÈKK«\97kê¾E\7fÊ¡ÛSA\9eÌ~\9f¤çúñßaü\8b\7fÙ6ºËeÈ+Eÿ#²­ï¸ýã=¿       \16,êfÿÊç'µ\88dñáC(ûÈ-\1eoÿ\88-\1f\99Cás·kîZ9þ\ 2ä#Éû\84yN\1a\18\94\aø\9có\b\81þ7Åï\19Å;ÉY5\13÷í\e×¹[ÿÃX£eÚ\8dy\8baEe\84í¤²Îd\aÉv4}ê®Æ\8fï;\18§\ 4\9a!\12\ eÌÝ\8d\1fÞv7£\ 6e8)v\87nlé8\16îÆt]\85çÌ\98U¿v¢ômO\ e\98ò!\98Çw       â\91¨Ý\1d\87°Ì\95ö\82åFÜѧ¾ùW2o4u¿°u\ 1-ÌFõî\82\96Ö^#\9b\8bE\8f\f\80l\ 6ê\16\ 6Àn¡sî¥VúÜÿDºÏS^]\19îöZ24ÊÈ¡¦x1\93ÉæQÑ\9c\ 6ïl\9d¿Fm\ e\95\14\85\11ß\r£¼\99\8fÃ-\e£Â7¬Ï\9d6H¿×\93\b³u\1dBwé\1f\8fÄ\vR\ 38Ô«EçÔVÐÀ?ª\84Nè½¶\19\9bß:¯OU;£\16\14MØ'§xRº\81a+\96²F\8e/~+\1aôÁb-À'[\ fЯ{Jä]Óà¤\ 1%ÜTm\8aÉ\14Tmx\ 5\9a|Á%\86\ 1¿\80\97\9fí¢p?äã\1añdaØÖºêü\90\9c\ 5®Õi\v/áëÖU\10\1a¨`Ù5\7f\97Tt¯\84H'óñÜûÒW\98'3µÑ´\ 5¢p9Döú¡p\94\8aÛ\ 3P\8a±t\9a^^\ 4ß`§ê\ 3O"YP\11ò\81;\<\19Ðâ^\8bfZ\926¨µô¦jBúµõ#»!\a\17ÿ\1a\0\17 "\9es\98U%ç\8aÎY'²ÅV\81
+µ©\ 34~;\93\8cX\7fÄZ©Ð\8f\17ÜÐÖ)\9e\ 3 Ày\83i*iG\ 3W4\95\8fZzêi\7f¦\bô\17\7f#Oç©øEq\96\ 6\9eëkÀ!þ\1a­\7f\ 2WB\8d¥B&\9bm@Á\9b\f\16.z\87a\e+\µÑÎï\8fÊ¢°ÂÂeç\b±SÚDð;ö\99\9db\1e\18&^upZx\r\f\1a @mÑcଧ´\89Ó:`-\1e4\85\ 2¡ý\80\87\98\ e Bç°Ær+$vßc»\99\16á\19l¢ð¥ï\ 1JiúáC\91ÒªaØKy¨ò\0É\9dÖ§8\1aê\rÌüý§\9bU85FÌÊx@SÛ©ÿD\82½Öø\9d;£K;}\89\18z\ eI·K/\98¼µÒtrít\98\89\90>\16\1ajJÿ£-\a£\9a ÊIÀz\18÷´\88h<ÃQ\18\80?Älc\9dtO¼\90YDîdP\9cÁr&\9cµõÐÿÌ`¨\94\8e÷ÈuS\ 4&^\11\rä[\8aA*çOà?̲biì!Ô\1fRÒðÝ\87\ 3Lçl\1e\86³·.ç.© /8ò\f\8cí%N\10l\91\92pÙ»\a²ÍØxÕM$\82PÒÞÈÓí\14üe´\8a@\85\11\87è\9ffØûåá        ù\10J·¡\r'ãXÀ»\15`\r{\95\8a¶²º\0EgÁ\94\89E<ndÐ\83ª\8a\9dkÉ@\94·hÛà\9409ÚÃn:Ú¤¾¤¡V&ü>\ 5\15Êm@\1e\11®\ 2A\8dÿÛÔê\f\81g:WÖî\ 3±H\8e\ 5u\ecàTC1^þµ\94\ 6\8d¥\b\9c\7fXÓôäQdmt\97#\ f]¶5\94°\9eI\82\ 2\ e¤¯í0A÷9(l\1òyÛ
\83¢ù\816ºR×E\14\96/Y©¢Q¡ôê\9a\ 2Ñ\ f\18Wz´¼¡Þo°ÔU%«\93>\r£» Ü\ 6åA\85\87³«&×\18\12óý·\0¬«¬§\8d\ 1¥PïêúóÈö.\9fÐ\ 5\95\84º\87Æy    ¤\81Ù\80\91oÀTAM\87\9aK(º\9bàe\ eJ©Â\vä6¤\8e\96\fÖs\bmrx\r(\90\8b]eÚèæÛ\9f\90OÑ£\ 2§ó\8e\1a­tzjâE¨{ \8c)8\\ 1\82<W=2\8b$/iÀ\eÕ?)^\0\94V\aÀ\18\ 1©¼jé\94\1aYDn\1d\81®\f`Íýs\8e+ÄGºck\ 4þsó\885^bñ\14ÈIE­[\82\1e\a«K®\92=.Ö\9dÕ\ 3       è]\ fËæÓ©%\96È\ 3\ 5ÛúèÜå.JH«ÆGxÜ`QoÁç¸ýV¿A\88(J1Rd\10zõÀÊ\80 b\9c\92E\ 2ðüØç\11\99\0²ÉÐ&\17\9e(\1f\10â-ñ\19\ 2~-\19£¾C.\9fD±[øûK\15¾þ\83^}ß\9cÝ\89£­r*\1ax\13¡=\a§Ø\9d\93\9cÙ\98Ì\0z\a\0ím\fB1/&F3·èO\17}¨ø ó-\f\8cG«Kðä-9ø\9a s"´o\8a\f
+_RB7¡Ç'\13ÐãN\87ÿN\8bèqKåHðúº¤
+\18B]    ¢\10¾\8a2!\vº\9ea÷g\98|\vKƶ^\8a~¸Ö5\7f4z\rJêT+*DeÒð\92Î\e¢\13M\99\88àÜâ\99t|)¼©Þ./L\91Ùå\85r[!Hæâ±¸´vË\10\9a\ 4\9fx²~Jê"\1fõúµ\8d\1fÍ;Çã\97K\8dXÑá¤8õ\8d\1dþBÞ±£\9d\90þë&\8ew\8f\8d\1dz\\99Ó,Ë,¬4'\8d²ëËØDc\1cµºòù\85¡à\7f¦:BY]PM\91\8e\15Ǥ²\ 6³iØ\15è\8a\9b§\88ë]ß@üÑ\11\811\aMiG5«ýÿ\12^\8b\84èÃ\ 6\8c\80þÊ]|U-Wì?Ä:¯Ê¢@\7f\19/?\90\1fÜdÕ\ 3û\84ÓÇ\990{_8\0\9f\8cÞ®Y\93:oD×\16%}Õ{õÈiü\rqB\ 5    -þuË\fmÿ%w>¢\9aÇvª\11\94B#\1a\9eé«ÍS¨£ö\17\aÉ+\ 2\1f¸®³¶fa3R\bË\ 2\ 5\9c² -\1d^\9dÞÙ¦\85\10²ø\8aFð͹÷Éf÷¤\ 3°ÂL(\9f\9dâlã,Ö:O'/:\8bÍ9Ïñ/4ä;ÖZó\89\85*¿\13
+h¯YÜË»=S»;\ 1æ8!r¨}úÑy¯ùZ\7fè\1c\95H¥Ë\95\97<#\1cÛm\90Éåïbã-á\80\82Õ6O\16¹\0\16\14\9cãªL\86N\9fið$wL6T\92\17\95ä-Å´Ë¡Ø\9eÝüdyÿ·³@nËy\89ëÊ\9d ó\a\89f\9d\81l\a\8a"\8e)ü¨òU[Ý<RcϦ>þlXv}Ày\8e¾WÄNÉs5Òë§\977\15öPJÊk§×^×rë½ö3gEi^W\96~MtßY\14#èã\e¤_\r×\12÷Q\rwNRÐÜíí,²?´\8f/ý«r\7fð#Ò1ÏF\17?²ê7Ý\96c\13ý>\1c·4â\16÷\ 1ð¡
+{\7f\8bÖÞ³sý¯·wme·þ:EÏãþÿ\90\89×\82KS§"L]Xr\ 3ý_\ 3cMzñ\x\9dßÜð2\94¾l\16¼ä\8b{\e¢ë--Ó\8fòûóߢ\8e\83\94]\80÷Oòx  y\98\85É¿ý\8d¥ßtÿ²¦¯º\7f\82pWy2\87\80\97\99÷,½Y%½ ´|µ\1eÉro\8a\1dè\17'ýc\ e1r\83ÚÛ\98yÄ[\98yÏbËÕÏ#@sÜrå\a¥ýÉJ<¾bxf%ªl®QDNÑ>¨Ð\ 5þf\88VDsq+'Ý\9c×
+ÓJK¡\rDkÓû\8c¸f[eÂw´su#Ô\ eCR,«\94ñQÿ^\9d£.r\v\15W5\15´\9bÕ.9\8cÒ\1d8\ÁJÛdëò¬]k¸&\ f²A\96\14\1fdP\1ffXru\7f\b5®%+\1fÙJ¾wQ\9ad:¨\17Íܶê\99¾Á;êë\r\1cÏ\ 6òj!¸bÁ/}>R\râÐ\1f8\82\91Ï\95sGÕ\0RyÍ%y\1dÖ_\9cò\fÞRifZÿô.VÃ\8f\86î\93d\ 1xWQ¸Õ£Ú\7f5\10 :\90éå\1dÝË\92\10(%\9cÿ̹a\ 5\92\97\b\ eäÍ\81é=CøÚL¸ûób¬=À©\93\ 4ʰ¿$\ 4\aì\83ì\ 1\ 4\aê÷m\ì°yÇܹ²4        §\br\0߬sT)\\14öh/Ø\98)v÷%³U}Ë\88\10!\8a\8f>\15¸äMÅq þ\17¼Ç`³<Øê\ÏõÓÃÞ[\94C§ª#ºh¼\14Õ\88¾+u+OÝ}\9c\99äØÊÎÆÜ1bPqºÞ\ÊŶl/Ã\ e+½B\ 5%+12\14Ðwb`õ¤\80\7f\9c¼ÌƱ:ú[FÅÑ\88sñºø\963k\16î¹\8b\9e\8f\16ñ\17ßÈ\92ZY»Äj\1cen\ 3\8cZ}"®5.ò\14é¡)v\94æ\9c  A\98;¼ \fx7\1aµVÆp\84\99/\ÅZÕÄñý&*Ö´§\8f\r\8a¨\bpñèd\17,ãã\98´\19ö\9a¶5\84céÌÜ\ 1\1d+~?¼)\84!=èÏW\12¨\80\8b\96\84¦û\89\85\82\ 2Ù"°Xr¤¦ós\11\ 4a4PU\91\17øí¬\9fó+åtçɵ\93Õº^ëY\95üa JÓwMt. 7\88\95YÂà\ 3\88^ê^ @ßËð¬×\1e´¨é\Vê-\99\1e\8c\18\96W\9fÿ¾\1a¥¸®¯ÿû¥~úGî²\Ö"\16ËE\9bj^Hð¥\82ª4ãÁðù\93DqVÖh\ 5cr\ 3Ø\91\0ר<\81u¦¤Ó\80¶*\9cwI«u
+uñ<×\9e­ë\98)e\aÑê§\99\ e¹Â\93\ 4\9c\177VN\e8död\80'd\ 5Ù\9b(,®¢ü\ 6í\11\8cé\8e¹Ëk«Û«¸\ 2\ 6%¦®\98Ø:\84ËVå´ãÒ\ f\7fÄ5f\9a×ìm\1c \8aí^Ê\17À\16\e\b©<µ\ 3\89ú\8c\12\9c|ؽÇ\ fÚöO[\17í'¼Èýˤö\~ÙH=\95¨ÁwtÒû§×Ý\13\0\10\9f\81nÝúøwGù¦K\9fCÑ1\87¹\1e\14\87~¾¯U\r\90gA\ 28ʵT¨ø\822Ñ%\ e¿E!\ fÅ\8ba{Ý\19ÓâÁ×\15\13¾ò1t\13;õ­Ã\1ewYÃs\10xÕ»_PÎ\8bxâ¢\8cfkz¿]­H´\ 3\85\8e½\93Z\9e\99lD\90=\13#\11Lß¹\96\ 2\99Á\80S\0g\v\îÐ1®]\13Z\93s6ít\191LBüÁs~¾u^1\9e\89\816\8bÜ?\96 Fl\17\9a¸3\ 2é@Þ\ 1\f
+5
+M*v­Û4Å&o\ eä0C\13\7f\86¡ñS\v\ e³\11My\ 6¥\91õm¾CêÍÇZ¼Åµ\11Is½à+\ 1×£`\86Üë\è\ 2ȲeD÷\r²¬\9fa\ 4÷G\1a{\98\0Ì\ 1ËUô\8côKÓË\86\94\ 2Û\82¦&?\81Ä\9c5dçiBDõWEÎ9\81\9c|±ç\1fÈD\88X\93\9cL\93RDÑ¢D0v\80FD\903E\16{^8\v\8f\17!|\88y\92ÌÜ\13\15²Ü(ü\84Hÿ­¿ãGèÔ\8càx\91\91t\9aÑ\19Ôq£<Kñ¸{I\9eá®*üÇ¿A\e\88tèÜB\8aÛq      \94n!óôL*v/y\957\v Sö¦ßCqäÃìµÃÄ\96Þû@ß\1d±·\17\vºR\8a,/f<\ e_D\90ð»ñákS   E¯E!\17À§ßF\7fÿ\8bz\96¬d\90¼\ 1\1dKv¹ß4\83þ0T\87Î<\146\14\ 6ê\16az+:ÝXa7¦à,û¬ú[áZ²²lMg\1e\r\8cAOzT6c\8fÏs\v\15*p>G\9aÏ\8dæ ÙQüµYÿù_<S\17Õ\96ÐMm¼\10²\92ÒgqàùH^`\)¦\16\19O6PòúÚ÷Fß8y!%û¦¹>LÖ\1e
+\15ý\9b\1c¼\17P}r\9dü¿ß;ÿ¿8âÎøëc\15àÜQoxí\86\8eªY\19óâ¥]¿ÌÎÕá\1d±nàå\89XT\85)NM;c¹rÚú\eê½­N\14¾^Þ\83½+­IÁ\ fVòî\ eÒ¢\90ø§\87Üv,4\8c´\90Æ\1a\9b\8eM\ fÚ\9b\8et\95\14\87Å,}]ú&\ ehúö§uú\831!\82\18÷Sö§\ 5p÷2æOsô\9e\8d\8c%\ eÉ­N\80ż¼Êëÿ¿³*výI
+ü÷\9aqW¬O~qå78Ç\88õ\1f_\7fz\92\9e9n\94Ô=E\0¼EJa\87Y\8f (¢çÉ*\fùÎ[Pµ©ì\16\9aX.[KÓ1Ù@`0f©`9lË\ e¦\fæ\1dL\12\v\1d Qøp¦\9b9m;Öî/ìARÓÕê\93\9f
\96\93PúïW\89¹C\99\87ú¨µªfhU\aú+2UZø\98.z&tÐ|l#kãZ\9f²`J\ 6åµé÷J×GÓË\8b´\83\82\1c\8aè\1cRyOeë\9c3\17À\1e¹Ä¨MÖððc\1d\89ã\8a\9cS\1d3Çô\89$\v\fs\87\87ÝÅ\87*ý³'Ò-txY\88\ e\19Ó1Ö\15-\1d¶dí\8a\93\874ú¬\8a,eN\b\ eÊÿK©\94·ÍäM\ 6õl?·A çA0­ºÞ\89\93\íÌ\9a¹£X¦¡äÌ_0F¸¶;³×\13\14ü\1dØÐkÁ ÝA4þ·Õ33üWA²\85 ×\14>T]\ 6ÅÏÜ\1d¶~ó\96Ú-åh6T´\eâ\8aið´\e`z\r\96+\n\9d!0ëÂ\99=uÝÄÐoL¿ût\er& ©ëï'÷É\r¨å\ f\16\97ö\16³¶º\a{\8dF\80ïÊh\ exh\ emLþ|3{2yÝ\9aW]\99\93ÍìÕ¦o^¸¹½ø\9aèñ<¸³èsâ\8e2º¸¤Ö)É\8d\8c9Å5ëÞ\ 32¯ÄÞÓû\ 1²¬¥UÜ»·\0$ÜÇÑ66ôÓËæSÃÅ\81\88\8c¹õýUt6\0\88\9a\17\1aTÎê÷ö\8fû¨l¥\14±Ì\85ÿ\ 1A[ù<&¤\1fà\9f¹\ 3ë1÷l\83\13v\fVúþ5,Vª\8dôìmï\18}iû¦ó\{\1d\8eKµ+\89ö\91Á\89c±ÿj\1fG¹É.¹ãnë®x\e²ë\9aû\9aãºA¢ª\83dl\10ïOÄ
+p»aâ\ fáPO|\9b\1a\8fo#Ú\9co\1d°TsðìqºÉ\9cM\8d©ª;ÙH{\965\r^ÃÜm\8c6Ãel\9dRù0ñÀ\16Í\8cH{/v\1e\18²û\e\88xVUÞ´Y~B,_¤ö{ õcýR;£»|\97cî¼êüWÝgë"Ç×Ç\87òj\88;\17\12\84ª<hãÕ\9e^G-\13\1c\97\1aÚØþåþ\95·\1e\7f\9f[ültݽ\8e\8bÿù\82ûÖ}úÿ¿c÷òz\fÎ\82«Ao\7f\86ÌliÕ&$\e[$\87õû\-â¿ÒÃ8þ}\8d6OIÌíö´»\19\16ý¾5u\96o\eÇúsüÝý?Ûäý9óøßþ\84ï>rÿ\10Ê\16ô2ÿ\0&5ã\7f¬'\ 1@\ 1ú?êW¤ù\8bú*Â{ÿ¹V\13\85n\12\13\ 2þÕ\1f¾P&5òÊhO\9fR\ e\8fß'é× 4:Ä Ù>ñ>ÅXO©2PK+\7f\r=Ò{)W\1d\81è®y\1f¿lKmãU\0ó`\11NüFJª\99\18>:\ f,\9em\86 Ó3\17ÊfÛ\ 5\97¤A\7f.'ß
+\95[ þ·f¾Øá\0\18\ 6ñÊ¥kk¤\fç77¬Ã\9ajO\85\8e+\0!IeN\80\1f6ñÓC´Í÷\98sêù       ²\12á4í°ü*z\83\e9OÁ`ð\9c\87æÒ×Q\9a\f?y¦f\1aom«°\88®4\80!\ 5\9e/tûÓvI\15ïÛ~9°Ç»uhk}ñn\85\90×þ°l\88¸\8d \17È\8eô\87eÌÝ=è1\ü\93\88.\19\ 4"\1a\15)À¹ÃD\ eq{\0\837)=Jt\9dRz´í@»ÎÁ×\0Ú9\fíY«S8`¦ê\87T\18§L}YÌl\80?FM\ 4qvlý\fóS8ê\13&®àH\87ÉH\9b\8dä_\ fÈe>le\97\9d¬\r£ba\90\80i·*\87fB\e!ï!TT?\ f$TXÖ\1a˾#\ fß\9a\12üTèßÕ°\82ý©´:\8få\m£0d\83"æ­[
+®m\ 1R,\16.\12«ù,i e«Ê©\85¦\84,&=\816§      ¾´\ 3JNr)\1ema*üd\17\16\14ï®kؼx»ÊW¤4\90íb\ 6\ 4\81*\16\8aMöc\ 6V\bø\1ecG\93\96\98¡×ºñ\15¼\9c\ 1­[\98\95ð¿x°zø1tÇ_E`\9d=ÈÄnBØ·þPÃê`\rÿ;,\ 4F\1fOãö^{\r\12óh%:+4äî\80\fàͯä\89ë!ðÄÓ\18åc\ f,\96|\8eÜtâ\r\7fd\9b\1a#ÓÈ3\7f\8f\f\86}\83ÆdÈ=Úû¼4c\9d|Ý'øæV2º\96xd/\a\99à\8aùD£\9f+\97l@[\16\9f\95\87µW?:\9e\13E¡Ú7P>÷D½>\94\9f\11\9e\83\99ÃZ¹¬:¬\a\13FH¹\98\1c\10y#·dS»\eü)õ7øP°_Êøà\8e\95\9fÞwc\99£\167\0\8eË
\1dYõ%À½-V\10\98¨Í¸D®\15\96nÖ!\99\ 4Z\82\9e1NIðì\18øÓ gd:-Ê`T~Óíæ\16Ó¦áI\82\151éÑ5@ Í?BæmzúznIÎ\15\1anÅäKMØ\1c\92\8eC\f\82æam7w8H\8f1
+I¾R\8c®e\1as¢wÉ;á¸ìj®R\9dl1\ 6ñ/»¨Ü\83¾Fä\1a\15ZBݽy!pO4öø\ 1ìõ?¿B§%Îf[\95«^kj.\ f[\14\1e\10B­Ñà\81\7fH¸ÃÁD\86\ 6 ÛL´\9cç\9d\16\9buP)NvLðö\8eƯ|°te\99Ò>\9b\88Ë+¼\17ÙC1â7Swùæµ4öj«       jOS1\88=Ýä\vwu7küÊîïC©-ÝÊö·ª\1c{ØÔ\ 2:\9b¦"¼-O¼;\bØé««+`Ê\16\8a       \15¶ûÃD¦DÂ\19WEªmß\10æÇì\13ÝochÎ7\ 2\9c\8a¯sú\9e³{\173^ì\85®\18Auw¡£\8eÉU\8e£DΣ;]Æ©\ f\14)4°~\ 3 >×ú\9e
+¥O`\84³Ø\86E\7f      -\8f\90Ö°\ 2Åû\1a\1e¥o\80oU\93íTØ\8a©Óü\8epÞ|¯t\8eµ4í<\88êVS¦<Úô§\b\1e\82M\89¦Ð\86Õ¯\88\87ðSÀ\86Áî«ñ\88\8eèÉ\89\9f@\ f\88<\80m\8d\98\1e\9bµ\92ª¸òQ\1dß\e¸Xõà6Ë9\97\90²öné6y\8b\99Ë(g«Âi\16\9b=<?Òñ\fK¼î\93w\97ùæ+l+"\88\15\99\8a5^¸\97Ë[g·ÖVvxx.løY®éd8\\8c\8cÈoUÍD\r?\11¼jZ\18\b]\17:¸³IÝ\ e¥g\99¦S\7fA{æõ\8eÅ\8bü>K\857E\961\9c\b¢=ín+{K^¹sf®¯4%\8e¸\1e±ý\88ôn ±ÂAt÷ú\8aê\86A°½é\9fí¾^\12¦Ã±\9as{Õ9¢¯´3\1aÌNòµ{é}\v+JÅ9¶òµ\83æJx\90ÅÏÂe¡\9e{·ÞVË\8c\aÛ\råkw̪k36.*2/Ck68\92nõÄ\15?èû+/\96Ìj^¦à\1d±Y!Y¾´\9a\8f\17\11d]\b\9b\90Îo~^ñW8\8b\16\ f\ 5å|á§TnH¹\a·\88êãpw Ò\14¯MdmÌò\94«\88\97î\16 \8fø ?Oû½ç\15\99[[ä-\9aÝ|²¼Ç7¾oÃo\e+êëÓæw\8b\11 )3ê\ew¤Þ\ 5¼Z\9e̺Hÿ´U\98ZOJGÅ\ eÔõI\16/uoò}x\8e¢\ 6-Ù|T\9dþ\80ù\11\19ËÓ\1e\9b\9ev\15òù\19\eÜîÖ­\ 2óa(Þ\83Ï\0׺\7fgf÷(M!L:ùlícÜ\9b¦:aV\9edJ¯Ò\82\ 3ÞNÍ÷\9e\1aæÿ£\17¦\9b&>\85e7{æ\93Ü\9b¶sjz#\99Ë*µéÞ÷ê\88\99\80d@ßÖ½ö¼\99%\9e\r \9a_i¢\87À¼]\90!ë?n®ûI5µv;¯¼_E\10ZS\90Ù\98uË[W\9c6÷ÛÕß·3òÖ³:}\ f³3öÛ¿÷Lÿ\88º2\9am*&|çµ3å·ÞÄÏÇ\ eÚókz2\17Â\98\1cØk×Ú®h$!ò}@\86à'l\13ÚI¬:å\11\91¸©µ+é\0è<ߢL~É\8aÀ' \920)Å&)æÌ\82·¸\15\92øL+Ð\8fÉ\ e\8a\b\0µ\0\ 1>\84\86s3òW¾èª37Ì\86\17§tû\9ftÿ3=föþ×Hë\08\1dó\anJ¿;ÛöI\8c¹±=I\14_#\865ù'\ 2ó\10·ß{V\94\8fýïO{é \93Ç \84'\89\b\1e\ 2\ 4\90\90\ fI$\8c\b\vï\a ú\ 4\83åDfe\c\89fEÅI°\90`"°Á\1d\92\v¹\9b\8e.:\8e,\ 2\12f³3Q\ 1qP\f`*¨*«\01\ 5U>2fi\ 4t&8\92}û÷ïÿ¾ûÞ\9e\9e\90\92@$\ 4Ê
+n廬w\99n7\977¡w\9c·\9bÎ[Ðv¹ví·\99ËËËÎ[н[Ö\9c½\eÕ½\1dî[мåç//jÿ\0ïSz\97«{¥<=µ¶]·W\eR\1eWT\0îuèMÝÀt®\94\91&\bz'\93\15\9d\9e× h·b1I&ò©«.YßsºJJ \9eÞ\92ywk\ fÁ\83\85\14{ '[ \9b\83\99?©.R\9bèb\81jS.\ 5=éë\80"\997ÉÂ\8câ\97\83Eh\ 2\9bß\10ø\8aôÍ\7f f\196ôÆ\1eÛªyR¿Wr\14óoktÌX\aØh=q*Ô$ s\15"@{·²¬ ú\1d\18ìÞ(\9e\80(äÁàâ\16«\93m\ 4\14\1d\93\93n­îJ\83«\19Ö\ fÅ\ 5¸ð`\94uú5Ü=*F\1c\f\04\v¿\13Á_Ê6\r\eôCò6ï\1e\8a\1c/ĦÞãü\vò0\1f×\95CØû*\86ír¨zyeXSó,T\9fê\e\9d(CØ\8d\f.sY\1f(Ú±²¦@\ 5\95Â/#-½\90íö\1d± Ip`\a-¿Ôx\0\8cCDÍ\ 2\ 1ÿ\97\84\b\10·E)\9by\ 1n\90\9cçJêeÕ\13Ik«\94o\9d\fÔ\84µ\0\ 1ø*©+U»ÐÝ\13Ð\ 5=¿Îµ\b\89\87©áj<ÛcU\85\93tT{eC\r¥\1d(Éq\1eòC,­²¥¸Ì²°dÉrjªÊ gB2¸Y\a,v¡\9c\7f|6Åø\18ÜiÕ\83\ 2\18à6º~\80[·i\10¹Í\87Ê{d ¥e\19PâzpM\e"\19õ<ѽÜ@\f>äè:àöJÄ!¡<\19Ôâu'Î-ß\97\14>ÝûÍÀ\13z0\80+[iû\18\94gSqµÕ\9b|oxk9#\9a\0õ\87FR\92\8a85cÈ\14ö\v\83þ\86­J|\ eE«+ä\8a\1fu'\91díÂ'Ì\9ab¶WZ<BVuH\86|\82ý\ 6\8c\a\871\rÈ&%rØ\e¬¼A\9aÙ\157~«À¤\ 6Í\86\ 4\v<@ÚÐA\ 2\90ö\85ËBÔ\94£C\98ª¦r\0US3\80æ\1dc1\ e\ 4\91à&\a¾\93\ 2\9b\ 4¿%!­ß\10M!&t¢\1a\81»ôþ\ 4b\19U\81.wMò\92\88&±,\90\1a\18ý\92À¤  =Ú\99\93\ÁD\82XÄ¢\12yn\98,ùFië\83å³Ï÷\vÍ\93q\9e»\ 6Ç>\90VufãÂÂì\82Æe/.\eÈñ³îàJ.kÊÿ\ fð\ 6\e\9c~VÁ\ 1(¹kø\ 1$\93à9§ð\ 4û@\99>ú¡\84\fÂ÷ Ý\ðOÝØ¼U Z)ê\93\ e,öë:[øX[\15EoÝÀÕå\96é¼ÙFÚ¶\81\b õ¹{ÈC\8eß\98|¾1VI\96Á\r<\fðãÚ\97Þì\82\ fÁAâöËÐs\7fnsÆ4\95C\9c\13\eëb]±ú.[ò@ ¿\93\1d_\0&ùb\ 4Î\1eú:Ê\0Mòe\8cú±Îà\ 4Ü\86Öìî¶:Ê\0\96\8e²\80\13uE\8cg\1de\0&þÉ\ 2 L$u\94\0\9b\90À7\8c\b\80\13zhêø\ 17ÛÆ¸\80\13~гo:5Ü\0\9bæ#­ \ 4Þ\8e4¦T~:Ò\0MÂ&Ô8p\ 2oÚÆïà\ 4ß%\1a\9c\0\9bÕÆ¸\80\13\7fìF§\0&øw\18\83°\ 5\1càîÅ\83z\8dq\0&ýÔisPý\9cjp\ 2oY\19Ä\80\13\7fN2Ò\0Mò1©@       ¾\ 4\8bG\91\9cjfÎ\8eP ×C\18\ f>Û·\rBy  Ëq×â\ 4O<üa\10,½tìõ,Ì\8c\9f\81\9cª5\18\ 17ÝF8\80\13~\80³?©~pÝ$*#+à\ 4Þ\12\0Méc\12\80\13z8Çp\ 2o\9e\1d\ 1\ 4|_÷\vfoÉ\8b\ 5\8d\8d   ÚÁë1ºíÇ\9a\15\r&=õÕ\82kÁYdh\83\15\9a 3?üÍØÿà¹î|f>^Øî\86/\89t\13û4Kh¾2/üåÚgÜ?\9b\9b>ÿË@\8bë+\fݯ?\9d E§À]û\11%0+ðV|\ 5Þ¶&Ó\80»ïb]ó»á(ßÿâçwÒ
+dô¢\93(\ 2JXÁ\ 3ÙíS\9dDÀF\8d\7f¸`i"=\9b+\1e³Ë\92Ë2\9dR,4%\8e^\1e
\ 1ÆpÙ^ÐG¡¥¬£kæÑ\93k«*Þt&5g1\993\fÉc5´<åF\96b±÷àæ\89ÐyNãËJǸҸSr\16^[F×\9a\8aÞq©¸qå{3\a6\18À¼J:_Îv\11í\bÛ÷a¢t\ fTçz\18q\13*`\ 47qÒÏ\95\r(\16Ó\9dâ\ 6\1a§o]qÖצï¼\ 2\97\ 4=ýJ¾\89ü[\80vÙ7é\15\85!k\97èZ7ÂßEÀ\13³ß\10Ýtd·Ã  !@t4ÐÂï\1a\12ÀK\1e¹Ö\ 2`÷§X     \93÷\9bÒ    \ 5ù\fÔ\eY®ì¶A\83x4':7J\13\92àK\ 5\9aëJ\82ôÆ\83-\97Ê\8aÞnt\86U¼#$^ó³\1a\rö7¤ïw\a%\86\r7ëð\93\aÎØá&Oé\f\1fÕÈm\91¨B\86\90þ/¼\8eöº\vËåS¸\1clèNÊ\81XÞÏ©°ýxìhwZ\86\82ö:ÂÇgTg=jÆý[âÝ6¼þ®(Ò:°·À>ô\17²\96ªôÛ`\18\8c¼P[¯­dx:\1d\1c\9b\8c\91ôrGÐÉ<\83ù¸«&J2äÓ¾ÄLþõ\e@×]\bÄ¡%__³\9b\81c=¯S=\8bÖ\vÛ\96\84<\eê\1d9Ú\(x\v½±\9eÛÖObôxQý\88\aô\83\8aí°¤\1f\8aÅ¡ö.Í\15ûº}öÍw\12B÷þê\8få\ 2\155ÕÐ)©º\80áFÝ5ªR\a\93ºø\89_\18U®ðÍ Aâ\ 1\1ejg\13\11Üw\ f\¼b©=ÎNðï'Ü\ 1ÿó\8fÊ\ïÅ\ e\90\9a\13çÀª\86\1e\8f\ 5\bí\84x0´Ö\81s\13&íô\º?ú\1d\91\9d\ fþæüÛÒ?Ø`\e\90Ûª\17{\e.«_\iù¡iGÒ\84>sf¢I\13Ýèæ¾²9©\8c\ 5\93.Àͯ\9e¹Ñ1ç\18\18\f\80Åt\97ѰJÛE¾\84xÐ6س\8f\82\8d\88\a\ 38nTô.\84º\1eÌà\15bW\980`\8eZ53\81b\5Ã\14/ÁÉÞxc{ê\1f\1eÐÎÃbës±\86{ ð @\ 5@\8dÌí\87-hð\11\ fYªÛ\ 4\9b'êA¨\80\aáß\81\eo\9a\fë\ 6pÙ \9aŶ«l¯7êg«M\92üÔò^hÙ.oÔ\b÷þe¼ØÀês\9ba\17\99\vsd°Éd¡{³w\88z`\ 6L¬re\89äÏ  dÕ¾ äÍ\ 2tÞØ\9bZúð  e\e\18\ 2Ê\fD#ånÉ\9e\10®\ f\1c\8eÓ@\10\16ÎP>\16É\95Î=\8f[Üߪ\1f©\9e\ 1\1d\97\11Ùq±Ö\16\83\ 5öÔK\9dØH­ïõÈü\1e\19\81
+£w¢\v%\ 1b\8aù\81¼5\81-ÑlºýTÜd|\10GäØFáÊËô\0!Ò»<!¡\ 4æ}\93Û*eAÆ\12\ayx\99\1e{cº\9c!\1eKȽ\9eìYGæºÏbö\19ÏÌ\ 2Wvס\9b\ 1&\83o\84\f¼<Ѽ´\98\91°\ro\92\121~6¨÷\86TÏ1~l\18\127ç!   ÁöÏØ É\ 3÷\91zs^P¼hT6ç\84\14o¯-\1f\ 5äÃ\v\86\92l³«\1dSû°Á{`Ô§HR\84\rÕ#ú`Û\1d­\86
+M7Ï6ÅùPÄ\v c\9ci¡«é\16^-±Ý¼3ª<ôê\8f=\8d\1eì!\93£Ü\ 3DM°c\9eìÛ\1d\8f\fßÁG\9e/\ 2¸\v\ 1\v\93÷\19ov\12x\1dSe\90\81
+³J\86\80OÉ<\83ðÃe±ëzÞm³òÐΤ µÐª\14MF\85îÙ\ 1%\ 5\90Y°C¿Õ`\86\bµ\14£È\1a\90ÆÉ©? 5\9f¶À¶~ó\ 1íéêÄCmÀ®\86úí(É\9dÐþË\9f\1dÄwá&Ò¬xF\97?\8bÍ\89T\8c\89\8eÞx T¥^ãE_\89¤\86.\14(øM]eù
+:pB§ßUÓ'\1fA?8D\ 5\8aê
+B\89Áheû0\96\82\8dÌ\9c\95\và\17SE\19NÊtûD7\96ð7rÑÆó;\13~p¨\10\8c´0\ 3?MÜÖ¹\11\1aØ×\8dÞ\1fá\9a]ò0&\177v\9eÅÏÂ\10\8elìwn\16Öáéæ\92)Ä×\8b¸åâS游AzNt\ 2Äqæð:\80ÉSýÔÀóÁ\8ey\ fË»\81ñÄ)\13Còk'\1aìóØ¿\98\12  à       ´äW±?cr\ ef\v\98\84!;£\1c­Ü\7fG×2\0}\8b¢$²dä\89,\92=}\ 3¦\ 5éã>Ó\9c\10!\14\eJ k*ÈBm$éD1T\rz\ 6KtÃ?\9e\¸ÜÉv\99\88ñW\97\7f$\b®ñ¹£úÒ8N43Ð\8b(ÝWßV\9eâ§½WªÏ\1cÿt\7f@³÷ï\ 4\11Vc\1eä\15W3\12¾\99\9cyÝ&\f'y\8fA´M\17\89Î!\81Á\ 3\bKºê¾ÆÑ+«\1ah\9b»YxÁ\8d²*\10H÷ö\82\18CïBöñp^i\0^6\vï\8c)ÏøÂàÎ}!|`+5Ø'\aëÏ­\1763\L1oÀöÝÆ$1yÊã\bm\83\18§4~èðF\99aý[é÷rÁdRÁ.>°K8ÙúC\ 4h@o\196G\82\88Á\r\98~07\838pwmß\80²:Ë{ÚÂÊÂ;\19Âé¡!\96×@ÿ»öö\ eÎ\8bö#\14ó\8fÛ\184è¾`°TðiÑyr¢ÿ¸i\vá)6ß\82ï ÷ô^Ûëg\16\\969\8f$FK\11\1e·°õH°ñT¢|9þY÷[¡¿\179=~\85\98\94ÚA\82\8b\99'³þé@Á]ìp¼ðDÆ \1ebWí\96\15Pát\ 1\94\ 6\17µ{\eU\81\a$P¨ò\ 6;¦M|Jê\87\98Z\17\94=\ 4\a½CP\7f¹í\ 6\ 3\13Q6ý%\9b¬æµ\8a\14e¢¥\15oPí\84XÊMlSµ8\80[\11qï3\90\92J«d\95oe\15mÚHu\8a2×íÆ(b\e\9déÁ\90;I¶©©ó\rدý\90à È\16\ 1FoÃÙ¼¢\7fnÝÓ6ýr\1e\90[T6}\97\9aeLÄÕp9@°µ\83\86ïw\ 3pg¦MÝÏ\ fè\15Üï\1e\1fË`7A\8aê_\15á¦o|\16¼Nk×7c-w\92\1a³¹\0»Ï\9aýª\9b°\ 5Ñ\ 2qm¶Ê\99¬\90LO\9f\96~$®\10    »±\ fV ßÈì\91tl¸n¾y0[\b\91À\ 4Ph\86ï"÷\88\9b~¥H8£o4QÅ«!0\ e7ãè\14\10#6Yw\1c,ñoÇÐ?BX_Ç\7f\1f\ 6háHÀtÖ{\17úí\ 3\99\1fÑϬ40\84\ 4\10\1eP\83\ 5p¬4R\86¡àT\ 1\1d=\f\1c\e\1cM@\17\18_X¢²mð\1e²¶n´<\veÜÚ¸\Ýhlô\80Áen6¨ú:§P\9e\10\1f®AÁl§2èx\bÅ7\e\ f\8d¿Ùì?V? \81cûª\9bJXU7úí\87\94Bu¬©_]°ùâÂú\vë´\ fLs\9d\87ô\aXì?Ïܧ°÷\946\1d[]°í\8d¶Ã»mÏ\17\1d\85Åþ\16TËÇÇ·P5ûX3È»°\92+\ eߥVo\1cãÝÑ\ fëúßPßKÇ$\1eä-\9eÜè\97\1d\94×­aIGÆ\88gÈR\93ÏÊ\vÚGöT(ª­\ 1\89YoÙ\ 3\1dG\ro\90Vãì¼dl\19\16Þ,z;Ñà        \159=C    Î\80\11¼ù7\88GÐøE-\97\a¨Íá\88Ù\89éZ\87\f\ 5²\10>`c¥`\86\19\14\18Å2n½¦n°2YÇ£À\10\18ªN<RMAÌ<Ô©\9cÚq\89¤ÚÃ\80«\97κ´\11\8bÑ¢\8fÃ'µb"%zÑ\v      pÔU6B®n\94 ñ\80,eOßQ\ 6\82Ä<=\ f\86¿Dò\ 6ªu\9dEõ/\fá\85x,/>8\ùX\8e¯DǤ\96±\90áj\8agpG\12·L¸\85ÑÜ\eˤ¼>Õ6<õ/½Ù\96ä\12\ 4\83G@\85~\14X,\99ùµ)<\9d\1e¼\92hÞ¤\11½/2\ 5\87[¦½\9fÒ\83\14Y\87Ú¥¥«Ø÷\1f
\83Úßw^ï\85SópUÕíä°¿F
+º½\9a\ 4\82\13ì+ß\9c§òײH\ 5ï\8cFl\81?       óÑê'2ÂòÁÚ7;±\82\1f\92\90>\ 2z\98t@\1c\83_|\ 6\8c%ì²­æÐõ°Yª¾\1a"èÈ:KÛ\1dM|\18uz\b\1f[\aÐ\1fÏsÕFº\1fg\vè~Òa*\91\ 1mÀi\9fz\85
+>åi\r¤utL÷\8bÛwsDùÔh\99âÓyNæÊ\89\95Þ/;\1a4Oxj'\e|4\9bk\9fÛ\90Ú\1aÁ¥Dà\vY\95\13w¬Îàl\1f¼-gì@¹Ø?¥\ 2ç`àVie°xBÖzx\14u\9fíÀºØ80\ 2·;\aì S¢n¶\ e~Ïn\9c-­¹0Pýaõç\88ÇóÒH ÿM\80[ã¸ÐûH<?µ\0bqG×¾¨½å\fP¥}¡\85°ÎÉ îî5¨ø0{ÿÊ¡£îèh÷Ð(W²Ñî[ê\1c\a\ 1\f\\ 4Ó¨\1a\ 3³$\bû!k\17à\ 1}ü  Ê ~{üÍêYù­å(\1aO¯Îÿ\7f\a\ò)Ü\84OÝÕCüeñCú\9bÊ\87e   ;ýÓ\7fË·µ¨ÿ¿\10\91³\16\15ÇtP²(Ì+\8d àS{Qx\8aµ\8d\89>;É÷\rå0æAù[PÞëwzEø\vÉ{w\91·Î[\ 1¡}¾Æÿ\8e\ f¾ö\1f\16\1f\8a¼\8f·Û_\1e5æ÷ýi\14Ð>O\19\8d%^úë4w;µ·*ã.±å\8d×0øév\9fç\99vOÓÝ\9d\10áºK°õ®×{þí\9aSSc\92ý\8c̼{<ß\97uÞ?Ôgö¨ó+!ÃGÇ\1aÕµ\856caÊÐ}ÞF\8fYg£ö\16\1a?kg£Ý\9eCz<Ñ˽\1eð\94ØpÚfîÏ"\9eÀù?ûOÙöðïÿs!ÝTݪ~\9f×\8cì\1dµ·~+\90Çv\94·v¬\ fÿ\99²Åü\8dp\9dß5\1f»\93uá¿Äù¨xIçyÜ\97\ f\97Ã\8cÄIã\980\8femÌñ©2^.¨Ñ\rÏ*g\9e·2g\98¿6g¤³Ø\9a!µúsD<?\89QÆ×ñx\8c\9e9\84{\ 5\1cm\7fVb\85ÏÉaø\9aýY»ô\14¨vä²9)\19;{\ e   \15\1eÂ)\96\9d%}FÔJuæ×þÙ«ûáºéa\9dký¢5þYB\85_\ 6ßã\19[^öÕ\1f\9foýÇR\86¿k)\8d÷µþ:M\r\7f\92ámþ{ã×û(Ä5ÿ?%\91âïý\84c\fsV_æ¯á)S\8a½í¿(\8da\8e\93çР,¿µ_î7þú`6s}0\eEçÑï\98\r´óæë}Å\e¿\88uæýy¯Ìj?ÝÊ÷\85!fÀó^ÓË]:G\ 5=<\97®\1eå\8bú\87¤6ß\8cæ²,ø5¿\9f\8a\8dæã£8|î\9bÙ«~\80Ï3^ Ä\98\9fTb\8a_¥4í÷Ï\e\1fí\9b¯l\8dG³¤ëì\12Æ\9b\9bÊ\85\aqé|Lv3'mKÞ?=/\9fź¥ýj\14¿ºI\ 1\9fbs¬\9e#\1e7\9cø¨Ô<çÆ[úg¥á>â\97Çòÿ\r/gùi{/\96\97\9fkKï\88îáÝ/\9eã{\17\8d/\8faÇö¯¸¥ý©\80éMÏ\96\7fµoKð]\97\1e\97\8f¶þ3å¥í\18Ûí~ÇË\7f\88\87§\19Þý/CË\87Ëå¾®Æ\97¨·ð\1f¹¼!à?\8dè?+mð>ý\e_ѲKÀx¡bó^Ó\92\82?±òß~\ f-ì¦ú\8fìôü=¯³CË|Oéô\1f\95ÆXx¿y£DÑ­÷û_¿H¡µÿ~\97ÇÄþ\9f-ïxÛz_câþý\8eCÅÿä¥ñÌñÑ1Ñ?§À~\9eÆ\97¨áûo°~÷ý·åbc¸~/þ?-ó\fþ\1a^Ææ\97®\91±õ\7fÓ¹A¼ØRûÒ\87\9e?Àþ.+\87KÕþz_®\91´Úÿ\ 2\97êסKå%d±¾÷¶ü\S\bßÓKçqßÅKï\91(Rù\1ek#ï{\17ã­ö½ú)|/3cè?¨¶ñ\7f«^\87\8bùIÞ\97¤÷¶¿\13\1cÂ5\97Ëâþ£á¥÷È\94)\7f\eköþ[¿\93åþÒÞ\97¾ïé}åB¾5/·÷\8eý\1e¯ñò_ÅKõkÐ¥üo\ 1ñì8\9e[þ:^z4¿fð¡\1f\1a\97ÔÂn!\1f¯|ò\14¿\8bö¯\94\8a\8dk#ð~\12ÿ\8båþ`Es¤ô\93ð\1e\9fÆ~ÇáßÜu¼oÀ¾\86×ò\7fèú\87´ÈWþUó}sê\8dë/ 7§{Sy\97¦6=y¾:òÆúO¾\9bçï©7\Ë\14\91Ñäó9Í£óè\84ü9¼\9b¾\9beôÆïË\e}óÆøÃ°7À¿Rl\9eg!Ér®¼\9fîO÷'ûÿN\9e\7fÿg5\ e\16A\80-73]\f®\86Xl\14ìî\86{C\9fШ£\96£\98£\99£\9d£\a\99\1f¶£>\8eª\8e®\8dF\91ïI-¤\98ÒLé't\80\13î{m!úJ­%^\91E#Ý$µ$Å$Í$í$õ$ù\86\ 2®®\91E+Ý/\b¥l]\14¬{¢\95qtRªn\8aTÔ>nÀûb\1d=Û·OvuÑ,Öº\ 4^\17@\8b\86è\11iXw\91î\ 3ÉuÈy"¾Ñgè»Z-\ 5\16\8e\8a\9a\8bOE©¢c¡i¡OfµC`ó^ôOº%Ú%éX<}N\8b]¢Øh\9aèåtrÚ9\8d\1cÎ\8ewG=£QF÷FûFº\8d}\1c-\e
+:j==\1e¦\8f]G°£¨Cl®v·\9fÒ>Ò.¤_I\v\92>\91\8d\93\à`\81Ãk/´«©WÒÂÒ°¥\8f¥(ï\87\95ßí·ùLF_\1c£ªQ\8c3Àéú5î>¥\1e=³Ü\8eØÍøU\11xîþS)\aáy¸¸>Þ¥é\8eÓ\14¢¯îÚÜ\fyþΧW\89ä\1a\9d=\81©Ê\85Ë\97Å\7fùÕE\89Í«\9aàuÒ«ø\12\98lq_ì\85\82ô7qçÿ­)\87·Fàqß8\89L0\8be\90e\ 3\1cFPF¸\ f{>þW\8dÝ}´÷\99\87\ f\1e\0OÞ¼ÝvéL0¸!{e\16w\ 4M$¦\18\ 6/Èl¬F\81\13\13m4Ôh¤
+\82ØçÂ\ 3·hð\ÂGP£|É!¶      \rm\0¤8\ 6\12:¡Ê\14\e¯1\86\8eñ,;ÊEÚÑzC\ eù\18\8aCL\ea@\92\a\8a[Ò1¡;Â5\9dy&Û\10\9b\8a\13â#\92\17\16\1dyÿ\85äÓ˵=\8b£\8b\17\81Ö\86 !¯¿ÒHL\9aÑG£4\báÃ\99à\93Ö:i\11¢O\bì\8f\89zL\r\8fëÓÕ\fKTI\96¨ò\ 2ïCÅ\99%)O&Ø\1a4礠   (\92\ 1   Ý\9f\98\8d³«Î\ es\9c\83\8f+Ü<]BZ Fòú\9e³òb\8d¬Ú\b\85à§\1ehÚð$\99\99ZÖXµoZó`>öí¼}Æ\9cxÓtºä\9bl7\1aS\91\97\9c²m\83\ 2ÑÛJ4L>i_©-ÜJmLG\9f¾X¸Çj\84Í%sÇ1\eM\90m®ÀEW\1a\81\ 1ë×CßOÃ1¤®=Å\ 5Ìõ#I\§EÎÐÏ\90Gfþ\b\94Í%p9\91ºç;G\94-\17®\89\ ek@\f!h90Ï·\12F\92s/óÀ\b\82ÊO\84
\87è\v\9e°\86ß$\b\16Ý\91`t[ä\81\ 2Û4X\1fÞß$i)]1`z*Ä\8d%ºT°?j±\16à.v8Ú\1e±#Ýâ\8c,\ fqX\8bp\15Y\80\893GA£÷S\8b¤Ìò\82\0{8\94æö\91ûp,\15\10\85\1cJU\17;°Ny\v.\14=\87\ 1Ï!\14[ ¿j\18%p'\87x­©ÏÇ(MÏ a\18\14\8eåÀ$®\8b\8e\8a1[º¡Ð2MOÒ*t'3?;Yò¹¶>\95ÿþ\8em\8f\95ÃÛÚÉ<7ðÚÉ<7çµ\92xjëY'\86sk$ü\1c)\1dwÝí\eY'\86®µ\92eoÒ;"É0÷»KY'\95ÂþKY'\86NÖIìWpmd\9e\15Õ¬\93îW\ZÉ?b#\91k$ø¨\1d:X\81@é÷\91\ 6@éʼ9@é¼W tý8\1eB\aOp¥Ê\aM³År\aNmãý(\1d=¤=\9a\aN\9e\1d\14\ e\9eã¹ ¥OÜk\v­\9d    Ú@\16M:²ð\ f81/¡ã   xËP\1dô\1fÓ¾yûô\ 5¿O^\80·ñ0Ö¨\vq\8f5ã -ûl5ª\ 2ßêa¿¶\80·Õ;@[û8B@[\84\råÓ\8c\95\1a¤\80·ò0\84\80·Ñ\ e+ÂÂ9@[âÔÿR\ 2ÜÆ¹v\87¦×Ø\vyÛ«\ 2\8e\1aýMì*U²\12\92òÕ¹(êÿ0ùÒw\8d£`^ÚÙ 5\ 3~yÄ\90!ùØ[D\b}ÿ\8a\81\ f\ e|n\18ȹ~"\ 4\88¶@\8dýh\8bT\bÞz"É\ 27\93\88²@\8dô\91\ eP#l¢7è\11¸(g\b\11¹eÖ\88\11\8b\91çû9uÎ\10#`R¯i FÀkXÉ\ 27\0»\80\81\eP¹$\ 3ø4ø;T\bÞÉý,\97^ÿÁ@\8d÷Éä´oü$\bÛtòo¤ÿn\81\eÊ'\94|Çô\90#a\f\19é Fê¡\f\81\eå\9fíÐ#w·ôv\µÿýH\11¼ô"H\11¹XC FÂ\ 3VèNÌBpÐ#`\10Oi Fåa
\ 3\8e\12Õ\ 27\80\84ã FÖBX Fþþ\r\14\bß}\832\ 4oñ¿\ 6©\bNøâ FûÜ\1a(\11½.\f\8cçLs\80\84ï«\ 4\bÞs\aÆ@\8dõ8?ï FÀ
+bí\90#kp|$\bÞôa8\9e\b!9ÝÊ\ 4oO\82÷Ð#acñ?\99\ 27Òà­\90#a=ß© FÀO\98ìP#a    ÖÖ¨\11¸kÏûÐ#s0f@\8dû|\84\bßëÁ\92\ 4l\ 3zjÑ\ 263W\8fj\81\ee\ 6\8a\ 4l\ 4\84,¹óËèÀ×ä$\1ah\11ºu$÷\ e8\v\8a?\8d\ 2_çò¦@\97æp.Ð%à»ãp\81/\ 1!\vr\81/í¹T\90%ùîWß@\97\9eH\12ð\86\vûD   \7f-\81v\81/ÁàmÐ%û|\ 2H\12ø\8dØ KÆ\ 6\98 \ 2\83 ëðð        KÀºªÐêúø\ fy\ 2^\12U§d\80\97\14X\93òÌ\ 3\84\ 4¹`½Ëû\84\ 4¸\81x\ 3öÞþd\ 4¸Ç4l\15Eÿ\82\81/ñoèïÊ\1c²¾úÿj\81/îïöt_Û\18ôw~ÎßÓ¢þ¡`¦\9cQ\7f,\81@g¢5\17ñ ã\805¿ÿ¹\ 2_³_d\81/ñWÙ KûÕÿ\ 2\ 4¿½v\81/ý­ßÿÐ%ÿgú\90\ 4þ|$    \7f\9d}²@\97øWÛ$      ~\8aûd\81/ìï¿
+\ 4¾\7fuýô |¦ëùP%áÎéð\90%úÈ+$        \7fÙ\82²@\97ýX+$      ~n\vá@\97ÎÕ|h\12þ^«þH\12ýw%\ 2_ÿ\14        x#\80íP%÷¸\e$      z¨\e$    x3ß\7fò Kè -\10%íà?È\81/i\ 1Á@\97á`,\90%ïð\16H\12õ0\1fã@\97ÑÞíP\ 4ò¤r\82\ 1\ e\ 4é    Á\1c\ 6\9a\0\9c\1c\90\ 4ý\11 KÀ\ 1
\0N\13½vå\0N\bà7(\ 2x«Ý²\ 4¾
+÷j\81/ï¯cDÀ\9bÊÓ@\97\84ïa¦\81\17"\81/ò     \ 1v\ 4ßVTN\9d\ 4¿í.µØ<Ék>Ís\9d\83ç\179Ø<âäv\ fÏ\96³Ê%¬Âw²Üì\1f\1e¹ÖÁñ+¸(\12ýiö\88\12ýÛ´  \7fÎÿj\ 4¿âyÇnÐ\1cvòÖ\ai\vKrßÀkyîùû?ÍÏÏòyúÿûsõî\7f¸¦ºçÿ\87H'Ê\98°\88þNvo(h
+sòM\ 1K~¹ )¬óNaZ\8bë¡­;ù9Ù´J\e\8f]\ 3Ä×ó·\9fèçfêÍ_æ+ÁÅ\9d}éÖ¿kyþ\8evnãoÿ';7q¯þNvnã_ü\9cìÝÆÿê°\ e\81Ë>g\ 2ë\8es\99¯\ 1\8d¹\9c\aýyÙ´`DÏ@n¶¦\80ã·Ã@¤^ØÝy#cõ8+\9evnâ\97Ì`îyÙ»\8a\12ç\9d\9b¸¥úèK\9evnâ\97ÎÂÜó³w\14¾\16\1aç\9d\9b¸¥õ\10×<ìÝÅ/\9fÂ\ó³w\14¾>\1eç\9d\9b¸¥çÃÜó³w\14¿µ\88¹çfî){L-Ï;7qKêð·<ìÝÅ/Ñá®yÙ»\8a_+\87¹çfî){Û\v\9evnâ\97éØ\ó³\7f\17Ëþ&ç\9d\9bø¾_ñW<ìßÅòÿ\8a¹çfþ/\97ü]Ï;7ñ|¿ã+à\7f,ßgý\81½eÑ-^¶\ 6ó/\9fD¦,Íñ×bo¤ýQºô\ 6ùÿµ7Ê\9e\98Ù:úôp^ØÚ>¨ÛßÏ\9bÊ;\13\8dð×}7À¿@m«µ\8c´>*¿é\892þO5\17ÉþäÿryÏ¿çç>×\80\89\f\84yƹ\b\1f\97!\ 3Êä tQ\b\eÝ·v\7fv\9f8C1\%Î,h\9aQ5¢\95¢#ôu\9d¢#\8eí\ e\80ÛÿÔyÃ\1d\84÷\1cá\8e\7fEÚ¸ç\fXèÚhÓç\fj´un9Ã\10\80¡TùÃ\16ºIW\1cìhs°ió\86\9aw\1cá\8b®pUÔ\r\8aº-/\97E¥¶è´¯k\8bJ}\81\83lξ\ 6É]\14¹« \83it\10in\82\f¶«»«îÈKö×w\8bëÄ¿5×;
\89}\14-\13
+(ú+\1d¶ÿ\18\97Ù\95Á5âs\9c!Îoöÿ{è^â4Ð¸ÞÆ{Ï¥÷s\9bê½\84\1f®ô¢¯¯µ?ÕÿÅ\8fí1È»×öo_ýµfûg\aú\8f÷9\10£Î\ 6³ïú\9a\17\e×år\8b\7f\9b\9c\9bÚ\19¡åí½ãýG\c\97\17_hrãõÎõß@r}væÀ\ f©1Ë£êm\8e]\1f\0m\81±7_ðZ³vç\bÙ
+kFåÔ\18W!\a\8d\7f\19Å\a;×TBP\ 4Ö`\9d\ 413Èç»\býc;ÁT\88O\90^\94\9b\8bG\ 1æTjÅ+P¦Ð\9e¯ÿh@WÜ92d²+*\105*N\84\8b|\84=:\8a\12\95ñ\86üèE\9ecB\9a.}@\88½\9b\15O\ 6ÉñªYÏÊ«(Ú\ e\9f\958¤ \8e\82\8f\8fc\ 6\8a\ 1w\87       \vÕ6\9dOL¡\9f*G°¬Ò\18vÕæ×L´ i\836\ 5\8dëü\1af\9d\89Ï?ɦX×é\9dý*Ö±Á\91\95\8cÚéLÂ9Â\96øÏ[~\eåæ\92» u_âè¸Áëf%m\93\ eñT¦ÍË\197k
\9b\96´n³¹ß\võ[ædùãJSûwìÒ\94ç\10È2,þùÓ7\10¥K\9c6.gØN\18\90\ 2|³Û·Òb\ 5\9b\11;ĦÄNùdØ\89ß\16
+±ì.À½òÎì\vÙá^,ðª¬ðªìð§_\1d¨Qô\ 6e\ehõ÷õý~M\7f_«_×W_×vyuÖìOëÿàÉ»\94\83¢\86o\9fÐñØ*\1an\ÎlÅû/ô\12B?êõ\eOwõó\e^f\8fEáâü\ esÐ|õ½W¦+\96(«P²ÓÞ\7fË\81úܰÙ\91wvj@"r-óúØ\7f\98\84}íÅ÷uñâr\róÿ\8c?ÎHÕ\9e\88Ãüê9\aàÎ/~^ê\9f_\ 6awÌõ\19ç­^£\7f \1eãÍ\1f¤\800\90anáïò«Ðÿ\873?\94º&>\ 3»\80d\bnba \ 2ݨ#.?^ò\90Ïbã\12\88x»¡\9fÙi¬x©\10.@I;\90-\8dî\89 LÉÀÜlÌé¾Þ¸\11+\19ie\9cÂÞyÍ\8cÔñe\82\16\85f¡[ý\15-ù×¹ìUõDØ\8bïT\86ÊkÚD"!Ò\82\ 5ã\ 1\ 2®mí)\ 3hM\0/#\15³\11î\92\9b\81¡[\89\93V\1cÉ^Í\9aÖ\7fxMð£Y5ø\ 2\13\88US½~í\8a»¿\7f%»a \17å|ÈlHZ\9c¤£¢¬Ò!X"\13\10,`\1f0½BÜïV\89ÏåM<\13 ¿\96RRóP# ô Sã[\17³B´³\8fÊ^áfÉÆ\ fl¦·F*÷ô\9e}ù[\17\86çu/)V­y\1déÔ+ÉY\86&%+ç¸W¤C?#Ö\e$\94{Fó ß¯DÕ\aC\97M\888l̤÷0rÜèB£\ 4÷\¥JÜï\80F$\ fO=\9az»*\9c»¡Ôµòs\94§-,uMÖ\85\9bÕæ}\1d\97[oDü=a\1aej\efèèK\1d\8cij¾ÂÍò\83\ 4\80{9­Ð\0|\ e8C5\99y;s\ 1\9bu\88t<PcDl}p\92\8d¶ÒMòQpÕ7i6Þ°vae!ýa·×Bn´äÀvÑu=\9f\12\bI\8bü-1\14¢\ 5  Ë{\ f¼fl.жG\8fEðÇ¡]\9f&\v\aWl\95é\1d£\1fá\18\1e\1c\9bÊ\86ÉbÄ\13\9c\0bFÆ\102j'¤\ e\9cè\82C;'>`lvM¿X¦{4¨¶B©ÞÈUYl\85a\1anxY®«Ò{!¾/\9b\89Cd2\92\eD7Ô`)d \ 1³\1004\ ed\bÕpcööR\83¬\ 1m1\a
+Jl³²9Áms\ 4ÿ3\13ÒWò\9d2AÊù{ùjWâ5E\89\93\17ð\ eZ­¡¤0^M¿K°\ 2\91}\92m("ØèQ%m"¸\ 3\98Ð\9aΠ       \9b\a#:\1dÚ2\$ѶîNCÈ[Ø`D\e\11\93@\e\vfxë\91ãò\e\16\9bÔh~Ê¢\7f¡\87à\88H0¿dréW\94À­\87È<\9a²Ø        zT\9aÖu\87\84\8fèÏb\97\1c\0\17º¹\rÔÝ
\fìêN\13¡\91       to\9a+(M!¬\9b¿\fk\r\86wÅ3\87IÈm\81\82\bc\94\85\90¯©Ç%\88\85\92Î{ªg0\12iDør&ø5¯\12:\80\ 6±\rì\89\98ÑÉÈ\14\96X´ZÏv,\87±¿UÊ    Q]      ºÈ#9\bBÏÆ\8d\12D"9/«~\90\ fdàN°\ 5á(\94\85\90Û!¡?\18rÖÒMù\95 R<³\8aäÐî\95\8cx¦µ\ 4îô\91\15ç\9aJif\95'n)ùwoJQ\13Vìc¨'ÝÑ:ö~ÉE\98Ö0P\13â\96ÆsMr«tÂL\85í\eý^Ø\9dÆËêÞÿ\99Ì\8b7Q Æ®C·Õ\98X\8bD/\83Eé3¢Ó<r\f\ 5È\ 3\82\10½¹ßL\98
+ßÖ!]ÐD\1e\ 1Ó\89\14ô\8a\89\ f½xLÎ\80µ¶\ 4i\1c\8f ÇAþ\16:ß̼~g\16ßü&=Æ\0\9fÑÏÑOèçç"\10÷vAÄÎ\88ÃÙ\15\8b7\10Å\93n³6D}à\ 3êò\8cMR\ 3\ 2é¼\13
+SDÿVCÞ\81öѯ^Y8:üÒ1dykò\8bÆ\18ÁîQ/ã5\16¦\13®½)H¿çFê&ôæb\16ü!à[²\ 1î<"\8bú\95ö =ÇÃ8Ï»gþ§e®ÌÞÄÑþvÞ\8dû\999{·Lߤæsß\87Èèõ\99|\ e\15ßÏÛ²ì0»_v*ªO²ú5»\1e\86ñ\8dØ\7fÝ\8e\99£¼0o9(\8f\15ë³p[wYú\19ç¦=öa]_×Ì+´º¾ÿOCÖbl\8d¾\1dáÙ»´ªxÞs\1f:]Ééç\8b\99\83Ì+þ²ç£\ fÌÇæ\17,e÷o\1c\8b\98\83ÊýFa_ê\7f\83mh\8c\ôt\D\8c\7fà\a¤\7f£(<\f\1e»_©ß)¬T¡\7fÚC#7_\ 5\89=\83\99Ó\9bV\97]¼  ]êgU\97å\e\9dWÁHÇ®6Ê×\9b®Ø«&Äfñ½¸LxHe\84.\95\ e\88`z\15xLB\1d\10üÚ\1d\11\0\15Ç\98P#\81ì0\ 1¥¶\1f\17\17æéÔmMò×'Õå\8c\94\1f¬È¾¯P\91é?ÖV \ 6d\0!sÎeY\a1YÞÒ\1d\93#˶ã\84\ fÅÕ÷\90ìÐ5f\16JÌpa\7fm<aìÉ\ 3@'\fËZÅ\7fÜ&\ f\13M2¬M.\0\ 1ÒLr0\91\a~Üt°\90"\1e|»@\8f\97h\11êy\92í\ 4-ÆeC´\ 6Ç&¬¿\1aûwï³Ô«P\9b¾ýp\f6à»{,·\94\ e¦ïÙΤ3@v@2On\0Y\84¤bÙcðåf\1fùàHP\84­\16ç32j&À\ eÙ5¹PÆãÙ\88\1a>Án\aºwÛCªH§ÎI\r&A \1e³ÊʹÐìkô?]]¡û¢Ðý5v\87 \7fùY\9d,^E\ e¤]²$.²ºc"Í'1í\8eù¨di\14/¬»:\bÞlsºazIí´arý\ 4ç3\86ØU\ 1\ 5\97ÐíäÑxï`Y.\1amÌ¥\ 6Yr\1fùúÜ\9cÃ\89è]mVÈ\ 5\0Ô&(~\10\98Ùd\8b|ª´]óÙüÿlVeÊ\99\12:2ô\f\18\r$\ 3\9aS\12ìñ\1dT\1a!\ f\1aý¥Co¨`r¸0#àߤG\94B"'H\ 2\8a¤\12fBªo¨\97Ät\\1csÄÞF{3%ÊHÐû9i\15½þ>Hn²ê 
+é_\1f$\ 1\95N\86\9eB\80­ïÙI\ 1;
+*ÔÐ^A\86\ 1\86C\ 6\86\ 2N\82oT\e-\88C\ 4Í@\ e-ñÛ®¡Y@M¯|h\9f¨i.ÉVå\1a¦\86\8eD\1e\e3CT\ 4\80\11\b\ 1\10N\1eVM²[J3m×\19§[ê\ 3vëäq>ÊÜï\96I,\ fÜ\1dZvh:\9b¬;§V\r\f\fHC]!\80\8c§Í\a\8eú\142\16sús5{¡ËÛvµh\86\1asØY\92Ðó\1dÒu\ 1àÛÓg?Ll§\9c\1cÜ. \1aÎe\ eÕ\v)&XMlø\ 4`\89ܱb\83Í\84@v¨&Y\80qÓõ\ 6Øè0»eZ\96ÊõT\bµ¨\9e¾¸\96\1fLÝi
+F\92FÒ{2¡ô¤\92l¡â6\87\83\18;ÉéÑ §j\87µ3xC\7fÝøv£æ®ä&ê\88y\ 1\ 6à/*\1d\18°jsC/1Ë{üd\92\eÚhÊ\1f[!®ë®í\e²8h¨¼\846õîÖ4\9d\97<É9ÂÅL2'X\ 2©\b\8c#\ 2\ 2A\10d &d\99  \92\19\0\b\81"\80E\ 3\10AQ\92A\80\8bHÈ,ÉÃ*4h\95«W»¶Ý^õª·µd\0j\91\f\ 1@\ 2¶ÕmzÕ[kÈJÔVª \ 4ûÿ÷ï¾ç30\18
+­{{è÷ÍÝÛçww|ßG}­ô÷ø-´\ 3»[,²ËdjÙ:*úËL\12\98»C¢=@ ÔàC&þ·\98³\9f-j\9f\7fq+Ƥ\7f\96Ä\1e\18\9däöζìúÊ©ýÂÏ\9ci\86ë\18=\11\98M^>º>\85ؾ·"\88\87²ªx\15\aèY\97\7f\eB4Ü\9e,\ 6/\a @½\8a5\9bñ£\10-bAá\8eA\81U0¯»¡\ f#@ñKøÐ¾­\18\ 4 PuóæS\87\91¾~^*t\80\vÂú8fXõ\ 41O\8a\19}\86Ùcªî\ 3É?ã\10É\0ø\83*tn,\89Á0û¿\10ûÑ\88\ 4>øñ\ f¼\ 1\ f½(\87ß !÷Èã(áSK(LòLcô\17÷:Õ\9c(h\10\94\98éíÉk§\93a!\v­\ f      \9bé\ 4(x\8bZ\ 1þÆdçÖ+hý\ 2b\9b©\9e#=lñq%\v_y\88YÂv\1c\14\8aë¾u\148\93Áõw¿¯M*åY²çCª»Dy[!qyk\16\10\96\13Y³²\7fZÐè(ZòíåÇ\al+]DRç¢Q\13\884\93\15èÕÇÐè\97M\86̺§ûåUÈ\eEÆ¥þ-\ 2ª>Õ>\1cÝ\90å7\9dao9|ûéµïb¢ï\91\84Ñ\ 4.¦øÍ?Ü\8c:5\961ÀúóÁÐ,«\ e\ru²ïÍÔ\ eR¿¥ä:\92\8b\14N{£Ä\13\9eÔt\91Ü÷5w\8aç¢óÐÿÝÏm¬²M¹î\9b\96\8c\8b¬«ðóë6æ     ÒÇ}ú\8dó\99Zö)RÞ}f´ÁQE¥:\80ói¿/\7fª\91ý\88\ 1\8dWB\89vì¡è䯿b\935ä\90gÃïJ7®ôhA\9d<4)%,\8bO¦J\88  çÇ\93\12Wê_}l2\1e¾{\86V¿ùÕ\96 \95ã´Áîê\13ÛøµL b\14\v;\7fu"ivõbUî¡\98Íòs\19sÌu½\12Fhy\19\8eÂq¼Ç\8dÖ]f3'\98\82\8f\8f·`ó\17øÓÌD\98\93\98Ì\1ecö¦\1c8\b7x¼,;yw\7fÉ˰G\971*jü\90½'Fyp£n\9d\7f'.Á\9e\97\97<\89\8e\98\85\13_X ¿¾\9c\8bi)gmݧ\ 3\ fɯ%3ök\87ûéâD.!/éÄ\92Î\ 3í\97\95\ 2\84¿è\82³\8f\94aI\88³\82\88S@xÝÑø\99ñ\92B¯Q=)\8f¬î¸}k7\rR\ 1±cG^7z\12±Ï\98h\98\a\85Rc\1e\1a\8cÅ©X\8e®
+ijaP!k\93Q\9brPV%\96\87'\1f\81
+ qUbà\96úR\99ÑÅ\12â\9b=?T\88âú\18%\1c_\ 3\97q©»­³Â£\1fö  \9au½Ï\16w¸Î\16M&äξ\eºNS\1c«O\9bWû¼|\94{ö{˦H£ò\86¬¯\0\8f]$\95sÃêhá\95#?û¹áÁyyN\9bÁ\9eÉßÀ\8dÁäåë&Qý\99\v\8c\15¨\92R¯v䤮/\88ÂÌV]ÑýÁV]\91ýÁ\9d\9d_SI\15ËÁ±{\14j[Ã>#\1cÜbuOTK*\88Õ¸\98J#ó\89\85ª]PQ'\12Xߪ\87\98Ò\16ÁuJ\12&\ f¢&$\7f+p$\94ÀÚÌêÍ*l¿ØÎ,ÚUC\92\9ag\1aîà1è3\9dâ¥M7÷)O\83\818\r\8aLù¼Y2\aðÂ\ 61ÕøB@\91Ê}Ãã
+\13<\ÚÍUÐÏ6x¡?æð¤öÙOïU#À\ 6ÔæòÊx\99\òSÆ]\1a:÷_² À¼¢»@5ðàJ¾\91¯ëç\16RrÇ\9c"÷írb8¾û\83\b\80lèáP5jùZÞ¨\9b!\93³ÛI6p>]¯T³Q
+Ùç\v#ö»È§\ 4\94I´ÞZ/ºIÐ\89\93tZèè)ccö\ e¤ÈÃ\9fÁÀ\87\94Á@\87ÔL¦ûE)& C\9f\973\98²°¶¿\9akb\v'\13g\8a
+\122Dr²\87w+\95j\80Ã÷\86©,C\82£\81ÕÆà¨V¡þr6?\87T\1dà@ rµ%\99OK«Y­Jÿ#ÇbÚÓåqõ\85"'\1e9\7f«ZéBëêb\90ÿÚQÏ.Ö\97XÒz\1aÔ\9c\ f¬\1d0õöPÐ+\9a\ 3,\863\ fî\18î'fü*\90\17b\13!:?°8\81\ 4¥P\82>\10\82> A\1fÍ\b#þ!\ 4\7f\10&\9bóWbÿµÓ®Ï½ï\1a\98üqxIQ¨Å+\80\80\9c\a\8coçÍ!±üÆ\81hKß<\ 1\821\9c'I±Þ³Ä-6\94÷:£ÛU\e\ 5Ùò¢¬ûýSqV/\86\9dY¼ÿe¬?\17\7fÊ\8b²S4yúM@æ{á+_§§       ¡ì\87\15\94Ñ\966ÌÅ\ 4º\92dij­%u1.LÀ\ 4U\97^¦mh©ÓªdôbcEÙØN#ô\91\98\92©­Pl
+\96³\90À\92ï\19ß\1d"ñÝ\87ì\1c×ìyä¤oy\19À\e­s\ fçt\10\rXªË\1fFøÔò§Â/®FpÊ\1e1\11ûä^qòîâ>]¥<¹áåÃC»Ê\95\88ü°iÓ\aRO/1\9c?\ 1&£W)BY\9eò2\87\ 5|ÀSVË\9dRT^9\96\18ùÔ:oBQ\ 2Ö\ 4lîö8J\ 4i¡x(\ 1\vÖ¢QI¹\0\8dRÏWüÓV6\88L3×ÛfîdD\83\86«4·Ê¯Ä$'Îß\836­ \ 5¸\a#u/\87\11î\91%ò^IÉ6W/sÏ#{ç46a9ãí\9eñ­\85_\ 6\87b\7Oó\9bÛW\ f7Ügv\97p¬C·j9­½\e\9eX\aôV£\84µVò2rg´§½ëäóaÑ}ð\9eÑ\8cZÉ$¬äÑ\83+:H*Po¯P©2×\15$nuîæ\96nÝâ\8c¼Íý5LAj\7ff\96î<Q\9e°\Ø\93\aä9%\ fÄUÁä×$^\v¦T§Ç\eË\9c¸M\13-/[\1aæ¼-«|¡æ5ɬI.v0½Z\9b¶ôd´S0w\f?]\15. Ò/W\ eNܪ\7fKM+k\f\8e:\ 1|«wã\1e\87Û\r\9a\10{\1a\89õë\92ãþæd9\9d¹\89¼\ 4:\ 3\ f­\14G\80ÌQ \91\88{°ÛfVlxç+¢Ïþ\vu\13ò\1c¶³\98ªr\19\92Òµ\r\v)8¶\97\8eâÀ½éô9\95¢¥Ùrù\854¥J,ã8µqÓ46\9cZ3\88Gi\b\88Nâ²¶ó\89rZï¨P³þ\8e<4Úþ4äG\96®b<×ÈDy°\91\88ób¼G\9b/äj\7fiï4x\ 4\8b\87OvH% Üê'\9d)T(üäÝ\1eU8©\7f\ 4\9bâý\b±&,¯ÄúývsY\90\17GTµ\1c;¿H@Eö¿S\98W\ f\1dÆ\1c]\1dÙ\15lµø\1am\95úòþGwqê£6å\9cÖ^ÝÚ>¿HDZmÍÅÝ\ eá\9d,\9fE~X]\1eÓ\92º=¥¯Âèöl\ 2¦ú\92\9c\87\85/¤ê\rI)~>¤C3ö»Õ\12´y\94­LQ\8aâ\9c\8dÏF\1c\r*74<»/øT,«0¡´&\1dÔάé\17\8eÚ\82ù"\99Ö\8dO\9b]Ù7M<Â\0©Ô7À\13¨<ÛÔîbó\rW&©\ e\1d\8e¥\8f\96î\ eÆ^°\89#4\83ê"ðqXyÃaü>æ/\ 2\8a\92ñ\97ûtr\7fϨ[ýº9=\ foÉèäö=Bß_G'­ê\16ÿßG&Ýä\9d\8e¨±¢\ eÝ      ÃÖ)àëË0&G¢ót!º\7fN9È*EU"Âu\vF\19<Ý=\1d«\89ûk\9aùÉwÔ´u½\1e½d}\0"\fÏ\\81'\8cÃÖ\85MCr+hL\85È\19ºº   \12±Ul¡d\82\9ev~¯¤&¡\8d@|Æa\f(GþsnÍ>¥)yh]\11?\ 6\fõ4\8d]ñß\95\1f\95Òó]è\86X)[Ìöö©\988èRôIX&ÑlÙ\ eí6©!Ä\92\90\96\15\8e?  ñV´0r¥àÞg¨lÅô½Vs´¬yâÖ:xÞh±bÚAç^\9eÙ­Ë\v£Jd¼õ\ 3è\Ôúzл^çx)0Úãbò%8\19\1a\85\8d\1ds(ø\9a¡\8c'bé\9fÿ\12wxNEÏÿ\92w{hÖ¦ªZÆñ\9e\v       S\86½?@\b\82ÂsIÏ$    ÙüÙ7ó·ÊÉSBw\946\88Å\84%7\91\8e\97\9a"ì¢~`T{Mo\92;øö\94ï²¥¼\1e#Tw®³
+¦I\9aþ!\9d\0ðôÁ¸Ù\ 1é\9b¦¬\ fbxW`3ñò\8fE\8c§¿bð\87Åæ\9e\95->Û\ 5j\»\r\89\9e7s¿Ïþ?l/\v\84,¨«\18EѹcrëE[ÉØ¶m¹-\19A$â«ÝYÝ\8f\13\1eû>\1flc\93g\96\1a[M\89$þ-I!9¤_jE¸\ 6»´ó\9fN_\88\0\97lÀ>Dz5\97Ë76\Ì\10RÐVOE.\ 4\ 4\10¸ús\9b­õÀ©\14±¼#V;\1d\ 1\1eYg\1f\99Å]\1d08å)½;\85@\89¤\1a\1e\a;¶Ú\8c\1aGN?æLI´Ç\87×#0D,ûÙ\14\8dºÃ\1e\12d\13%òÃmïdÇ.UÖ·§\10\v=\ 5BÒ×DíÆJÐ\ e)N°õÇeº§OÚ\ 5Ø\1d¡òháåQ±ßsÿ\a
+Rd\96¤\ev\87\8dCé÷?\8b\91\8d£b\86¥\ euK\9fjOÿ*!\1aÂWÓ\16Ã]\1d\98¹þýÂF#l,vAXÀÙdy\83\80DröûP\95N\8b\13&ö8\ 3rÙU\92\9e¨F4\8b®¿\f%CÖÞQNͦ\bÕ"/*rzF\14"1\1fµN\9dÆI\12EÇ)7¶½®:b?ß ý\ 4~       Ga\9c×
+¸,÷mAã\89\ 3´A\83\ 6ø\14\ f\87ÉGó_\94
+\aÅ:\8fæÇ&\8fæËû\91üüÜÊ?\9ef0¤\1cÅ\9b2~R\90h¥c\80>\9e\8e)e§\b( pãÿéÊ[WV©\e£\9aµ"QØ~\99\ fÂL(øn¼¼¢Î\eSôEú"~xÝ\14s»-\12AR£?FÇDK&õ©ý\81\1aK\17\90FV\17ìðS/\88y\1dújÔk\vïÃÓ1ÌqêÒ÷:\14\1d\8c\10À\84\ f
\99f\83÷£[\94n'd?ÐõIoXÛX3\86wb        ¦\1aÁ\97.ì}¹\ 4ü?\ 2¾\ eÕð+.\8a\1f\a¤\ 2\11\1cʪ¦ºÿi\r\19\ 2©ñ-\ 4 õ        \86±¹°Ô_Sy\81Ä«\93Á´¤Ò\1eGDØ    ÓUÈ©0¸\aT\ 3?"á¯R>¾$iØ­\17)X¹=A\ 4¨9Ìë\0.êÁ¶Ð¾;\1eì5§>+¦I$&ËÌ53Ó\94\7f\ 1ìVÿ\ 3êk÷,Öü\ 5fîj¶c`ªBðßKçZ¸\8fW·9Y(6\1ayx.«gÒ&\9aM&4\ 6×·\8a=`9òR\9bp\90kïJdØ(8c\94«À\16ìÉ9Ý\8e    '\9c\82ø\8c¡@án\16¿óaùU¡7\1eü}    .©ëèÐ\97z\9b²VrEÞ\1a1d\9cðKAâ<)\13ç\19E\95#\0îÓ)0Ï\10    Zy\ 6þ\17äSc¥ÿ»cݤ\ 4\137\ 5M[x$\84§ú\8f,\91zr¶jÌ\95@\9c¼Õ¹\ 2\82¤\88\13\ 3\195\8cû\9f_¿ \11
+àK°ñÔÞðýïìÞ\80x\ݳÿ,3B»|I\8fg\\8dØ\81¬\8cn­ü3¦?7\845ïm\7f?ý¶|é\0\vlõØx\8aÑ\1d\aË¢<\ f¯DYðJ\9bjs¥®\88\80_\1fxH\9dò\806[·½\89l\rÃ3`q\8d|%3Ü¿û³ÜÒ7Ó+lD\83 ìVa~\1eEd\9aö±\89jÞóâPà÷\85\ 3×;\81m{\ f$äê\15\9bI\94%z\10#   \1e-\8eF3É%A7ø\1fM5\91þ¼*ëÿ~D·ìö\12¥\aÞ\11\14}\97èÓ)M½cË¥\16Çv\19à\98TA\10®èk´\ 11V<\ 3ôEÏéDM\14²F)y?\9b\82jwe
+\84^\91$¹_\ 3Ý\b\8aYÎEd\85\v\ 1¯d\13\1c\ 6\98ï\83Ð8Í,\94G\9c°èx\\85Ú\bwhW_@\98ê ¾\85\9e\99FÉ¢Ü\996\19\ 6ø!"\7fKm6ù\87MN-\98-\v¼.#a~:ß\ÂýÞ@rªõ6°\18ñΠ+r\88}ݦ:¹\11\fíÑ\v\9d´\ 3\94\1f©£c\1d£:®è\bìO\1d\9f¥cØ
+a\14>}j>\1a!ðÑ\1aÎy.ë ³\88©ù¿§Y»c¾\13%0«¥¬\8c\15ÑÁÕ6\0\9aÿõPépô<à\rç&?M+\eD\9csÝ*Ä´¤q­µz\95\8ez^\1d\ 3\97¥eÅ\ 1iÃFö\1dý+q\12v0\e\88\90t,Ö\1c\S»\11Õ+Xqg\9dØð\89S/¿\15\87\ 4z\9býj3nÊ\92\ 3\1a\89b\ 5V½(\99ÓêÞÙ<\ 3?O¦\ fº\ 3þÁ8Í20â¸@õaªV\13³F\13³eÝ87Øù\17\ e"ïtjû\93»\eÜ"*\9dµ\19¦iriÑ\88*\9at8Ä\ 1(ERÔGÃÔã\1a^¹/Å\80q\1c\12ϨG\88õñ×(Æ¢=óy\11\1eéÓ\11í*®!\85¨\8fGW6\ 3¬9«N\vz\ 4ÓÁÅ\87\v%U\87°áSö]\13»M\14½L:O"{uWо\87?ã¡Ï2Úr\11w\1dÑÔ\10¼}\ 1\\9d¯ª\v´íx"È\8eÐÇ\92°4Ïoª±Uü!iïõ}\1c>Ø)]lò6\1a«\98}\ f¶xwaé­í\8fÓS´Æq§Úc\18ÈIWü\83\83½\f'Éã\e     _Õ\e     \9f«\98\19é\88U\1d}JW§õL&¾;       j:$     í½WK_ò\ 4Cã«ÂïÉ\9b\v¢«è\ 6¦ö¨`²\\86\v\ 5\ 4]\81\9d\93!%\0äÉ\17èߦZ\85ݧ¢.Ê\13(C\14 îÑó\8bËä5s ¨¯ó\9bx\13Û\8a»è»'\9c ²C\9d\9f²Y\f\85æko#»\9f\9e\81!%Ux\83#ëAUØ\82Ü\7f\90¦gní.óæ\80öÊcæ¶ô,lÑ«çn\98q\9e­\ fK¤¿\13Ð"\a\1c\90¨Ó÷¤=\f÷\9d¤vOJ\vÅc(O"\97\8eÒ_«øCª «½\9bÀ£)t§\85\19f\0\9c®¿\84\1d×I9=½«Ä¡ê\83®¾FS2§q;ÿС³Ü´å¯Þ¸q±>   ßNâf{{¤\95F\85s\95öÄiYe\96Ïz:@)\10Äí×\eCÁ£^*ë\91±Z\9dOÖÇ       ?ä¸\ eÏØ_\1c\8dÞ\1cÞ^£M¹\97¤F\1aûq¬+½\ 4\ 5ì\8fª3ùË\8dÒ3$h_%Íæ·¦Øwy\v\15\13Q1t\1fä\82\9d\19Ö[4¦t¿Ò\a\89-w\93v\14cF½F·ÉÉ\8b7Ö®g>Úÿ\85ÊKQ\17#\ 6û´\0\ eïü\9b\ 1ì\ fFð{íýÅÚ\b\19\9eñ"S\87£jxê\ 4*\81_Dùöð0adÑ    l£²lý\aì\15g8gWKõ\97\89:ycÿÍøÌ}íyÓT£\8b\v\99¬j]æ4XZÓ.ó%E\85?Øv\ 2,/T\93\ 5\1eSS\8eX\95P\98âÂ>\r\7f5%*ßä\15ìQÑ\a\14é\9f¬ÙË£á\9f¬\90UɽE"\16³\13ï²\ eôgÒøe\ 3(J"Ò\8a§\1eðavS(\8b1ݦí\9dW\eæ\13U\f\92¬Ü\7f\94µÑ\14l\15A\9b!X§ë\87NoàÐÙUÉ4\v«l/¸CËR\80íºJÌÚë¢ÂjSª W±\80¬p\v{\ 1¥\9eÝ\95?õΣ4{\ fµç)XÙÆä\9c¥¢\8b\13ǤÜO
\9e5¬9\1c ½\ 5\12ÍWñ\8f\8e\86?$÷Æ\\93Ñ,\19é]ØàUÉ<F\90ãÁrd¶j\vK\fgìnÄDqb=Þ¤+üË\87â\8dUáþzþß#®±ªíæH릮G\1d¦9bZú£·\1c\bÑ\1c\14IÑb8ÞÇ\88â\ 3Q\1cP\95ònñâ;~.¿[â\15\ 4¸\96Ô\ 2ö\ 3¦øuH\93\18ãr`Uü°ºIqÒ¶r\96²Ça\81.<\9dÓ>wðärX³\e\93þY Ah/ÃâJ\r\86È\84÷}ÕoQ\ 1\8a\a\85\88`¡å¿}\1c-\1c«:PK5­k1,%¦Ý]Ho¦}\1dü\eáÞ\ 1Ý\vS\83L_\7f\15   O#\r\86"<¨\18ìé`GjyoÎ\18£ð¼Rj\96Ò\98\8b\86L\90\ f\94Ç\9b+½¨\ 6ÝÖ\1c<\95.ä¯\88\8dì<°$Òv}bTË
+g\8faé&È©~*¥kp\88Óq\8b¶,[«õ\béè\7f*ST³ºIj4¾²ª¨·1\ 1þÇÎ?°ÒÊÉ\80÷\82\0\ fC.²\ 3\14Èc©1iÑ'° C\9f\98\8fl
+²tsÑ\0\83\99P<\7fæs\8d\1d\18Cà¿\15óP9>²ìj-ÈO­ÐÐËV»FÁÓ\b\83\86a\99\0=»;"«]£J¯hÒ¨\86\9a¾®O§{Ð6ÂD{Pä\80ÖËtÏ¡£3µ\ fÀ)ã\9fY©5¯Ma\92Ðòfò\1f¤î~\8fß Y g!_÷Ð)ߨØã\ eQK~ðÅMÞséx_!5þC׿~W\85¬D\129n\iÖ`\82\1d#\1f8\1e\ 5üïc*\8c\1a\1e\12\87\84eçîoc\86Þ
+\98\91à½\8aD;_c&\91ª¾\85U+n84\fý;$¿tg\ eF_a¦\95\1dD\99\82öãö'Éé\8c?¤à\ 5\90RC×(×\ RÃ{1JÅ\1e.=°í\93×h\ 3×\15Úy\91'±#m\9f\ 3Ú42°©omíÛ[n#Q\8dÒá\18}¹þ©ö¶Ï}e£¨¸èF\8bK\ eÙ\l\82\97ØÀö\b}\8f¶Û\1c\88\9eíß`j(Yb\ 3\8aYOnodW#Ä\1a\9f\18½.m÷E>×ZZús±§\vg\8aö\9eß   ÆùMÔ­z  ò\8csrðúA4Ã\b\9bó9_áz!- \9bnÝÏïoì3\80%Õs\8f\15^Ìö·ÎQ\0¯Ç6]eýaÓ.\8b\93oýp\18Ô\1c\81?\9eN\8a÷Q]Nâ±s{0\9dIgeÝ\ 1O\ 2Øà\92\95É^ÁRls\10ãä1}ûOZt}EuC\80,ÞëÒ=VÔéyÿ@\93©ü0üÂ\93>è3\ 4È\13\16\8e?+§­íÉòÖ<ï\9cWßÝÚ[\9cùþ?DÐPÊF\8f\14½òÝ\84\15G\8bM\9eÎ\bñoDk82\9egL±)ÜYÇ\8b\88ߦ<P\vikøÅ|\11@=´W®x¨ñQ®_x\89     ý|ëÁ¯;\19&\85_Ä\\8fNJõ\1e=<w*=6¯\902\f.¾fç/\7wþ|_®=4 \86[s\9bÕ%|:4¬L\99#\19\91:\ eû\0Þø\92\8f¬\8bùøß¢Pßòc\7fë(og\8dZ*\8aIºêze¢ÖQ{ï|\18U*fi¿Êjo¤\ 1v©y,\1c\ 2XÒp\0\12Lí9Æãv\8e.zÈÒ\9e¥¨Þi1¼©>·Å¾´XÝuÜ\88ÝtMr×m#\13°     Fä¤<9nD\13Êé¹R \8d\ 4HkJ(7õ   ó\98§T}1O¼&CïÁ.#\8fOAóìåÞqörÉv\1d\90ÙËþ$o)Ò\901q¶r¶öãläFý\86{9/Ó7³\93®\ e3\8fÄps \91vhÈ\10"\115³@O-ÒÙ¬lÆÐP\85W4   \86¿Õ=\ 5âÔи<\84ûÚ;¾À©µpetX;\ 3|Ðéµ    !#¿DñËlÆ\98Áì\ f\9eOA\8c\e\95v\82AO¯¾\0t|Fd\91ÀÔ)r³Zß
+áSÅ\ 5á\8frøÁÖ\82ç\ 4\86\906\1e\ 1@ÖH-ÐÃ\9c1x-^ý
+ÚúU½¯®ÏÀ~(/¹Å·!¡àÏ7µÑKR\92×l\ eF\ f\\\r¾~Ã\7f\8cwcêªïË|e|:âøH;±v_\f\8a¯ª2þîÅ*\98iÞbÖ"± +\8bKW\13à#\17bâtL£lKÛkvë\9e\90\8d-Ô]v_>dï\806\ fäíúÂGû\99;\7f!\9aú$*¢?jåx\87\13r5bÜV®IÏ\ 3î\90\ 3æDî\ 20à¹\89ÜgOý\9e\13ÿu\87þÏ\98\r\ 3¯l\87-\88B\95Àæßî9iNovÈÙ\1d\9cNX\ eÈùÞ\1ft\82EÞ;xÈ7Fqh<½aY¤¬  z\96\8bö"R\1eOCp¾ÃB\9e\119\1fUFïÉ\99\1dG\91KÎ0JÅ#n¹Ù²U0HÝA\9cßâQtëÄ¢ÊóQ(²Ò\11(²ò\17\12hÀÝ\91\81æÑ\81\91F\ 6EìJ)g$   <\13\99¼\9b½HG·«,ÞRË7Mòå      \14óHºcÛÒ\15\ 1\1eÎì:ÔèÎ\83ö\17\12ÄLQö#ÝÒ¹<æR#SYØt\92\11j¬)¨Ñ\12ýf)\cegϵ oÅ.ä\93\91|¼J'`i\88h¹r³\9c\8d5\195ô{\r\ 2Zÿ\93õ\93_\96\1dz\ 2\94²\99\ fΡ¬&Ê;_ñΩ¯Ôiѹð\83_â(5ýbÄ^
+Wr`\97¦\ 1¾{\ f¡?ïÚç¯ôgK\9e½*åÞ\95v\17.\ 1;9ù×¶Z\81ÍüÍÿ<\90Ì]_¾F\Ï\80CÆÃ)®\9dOC\ 6\îÃ\9e\0½ùf\ 3\ f\16Ú¼}«\9d­\9f\13;óó²~\1e?;#Üî\90BWÙ\11¾<ÊKt±¹Ù5¾ÌnvL\97\r®vORr/;&æsý¹Ù\a:p°R¹Àð\86$1\11ùÝ¢ñ6\17;\9eݾw?õ\ 4î²µ+ð±\8c\ 6(\92¡%.1\84ÑÛ\8esØn¼|O&oôúY*Õ]\1eÁ\# °i%\91\9c=Ù&<`\82Ö[ñ\a±B\13oÒª<\88°\84ò£ÈÙô«5p/¿s\13\1e\10¯mí\87\13\16 m\9d_n2\80;~±ùÒµq¦PÚçJà^[\8fOÄh\ 2cQ½ïÙj=\r/KóÍÞncÇ\9f«äJ¿V7*üý¢ª\8eLyáf\92¡g\87LØ|\11¦ké\9bÝå«ei\8b\1f¦Ï\13È\8fÓý\ 2Z»s\ 5G_Æ8É»\8cJÊT/dÛj®W\10´{\82½Å\vz'Ĭ\91¶K*±©J©\13÷4§-Ë\16Îâ"\89\13¾1ñ«bÑM"þEðû\86|\83\82\ e\7f\12}R¢\1f\89=[W¦Ï¿\96R²B\8aÎðÿý\17Æ]<\14Ü\G&K\7f\rÕ\7fÎK~\97ª)\9a.'¬[½~\1c<mÞ¹ßÛ\ew§<V·zÍb"îõ\93Ä\7föK~³úÉo\91½F¶\ 5\16öÅ÷\9d x\9f|½Ó}sÅ^J=\13ö\85mÖeþs$vÎT8\bü\14eÅx_\84\0uGjÒ»ïp\8c\b»ùï?Ix\87?,\14\8c"l\1cå§Áþ0atþ&(\8f\ 3ÞH,½ÅÌK\89\11ÿ:\15\7f¾dm\18\ 1×cÝ\91
+\9e\90W\a4`\1aQ 8\88wÖâ\86ãMn\9fØ[È3«Í*\85r\ 4MH,ð\v\8c\83ùî\ e\93jE»\89\ 2\1e3i\9f0Uâ\fǦ\ 1Ù\92çÐ\0÷\8c/\ 2~¯®C\1c÷^,ø\94\ 6\1f<Öíü<\9f\14ªô~i6\98.xÇûíù\86 8¼\12Ë\9f=\9eoêÇCéú;\96xy\93ªÖ\93)Õ=°ñ*{æA¾OìÕ ¾²o\ 4Å\1aW¾÷C6\8d\f~þk\8a\8d²0      8\ 1\\8f\19\9f#2\90Ä\90N\18Úxp0DoæºÌËV\9bNMfÍ-?\84Z©|;?VÃ\v\a¨ÂÈ3\a2Õ¦t\87ÀßoÑ\94½×\8a\ 2¦5N\1c        \99\0ÍXoäYÅ·\94\8bà\94C·ï·ïuäA0(wQ¬%\94¡ßo<\8c§~MÅÝ,\9cÖé,\89e\7fÃ0t \\95\ 4l[në\eÄ8+?µ/\80m:!ç^ûÖ\1a\88<
\8b5·gÅÌ*ÒGq¥á\19hØç¿\89:"\1e."6U\99¹gï]0~¤\16\95ü±\f\16\870ÒÑõì\9b\16þV­ù\9fåð\92a\a\18½~'"óKâ¯ÒÙ\ 4ò 6Nú\e,\ e£LêDq\17×\1a\0Ã\84\ fP"­ìð\1c6QM\10!a:ì0\84\a³\95\aAxÒ" Üh\86
+l$_m\ 3æ\80¹\ 6¹\896ç(¶ào\1cö±Æ\93P[kt\aåt\93Vé¸\93êgÆ!U Û\7f\17ç0Ë4uËÐ\18ê_RÎèdë,Û¯\84M\81\ et%ÿTÚÎ\ 1\e¡/ºGÀÒ.ªkjcOÀ_\r¾\1fz@ÈÃêÔ\847j\1c¦¥\19{4ù\93+  K\14\8bøÎölû¤Äë\9e\94¾ÅÙª<²ðÅÙcY¯\9cÂ,áæ+á;\14\ e\16Ëö\8d"_\\8c¢\1d+º3á.}9\9f§­½#S%l×é\v\8f\12\b½TÚÎ\13\91<FDïRd\1az2gHÉ\88AB|³÷+ôSmwð£*­ç\9fí§åJñCç0\9eÆ\r\10èê{³Ê%[Ê\ 3l@c^\1añr"²\bŤ\1fÙÕ¢õ
+Ñ~û\ 6Þ\8bþ¼,m\17¨w©\9ckEëpiÑsCw'^6\166\8bÔGÑz2Ñ~!û ®ß\v\e\f\ 6X8~íý#86l#\8c*ɶäp\80\90øVåV§4\14õ\97d\7fj\ 1ñ\94á=Ù¥\9c*üù^\8bÖû$ßk\85Ö\ 3#9÷:"\8a^a®\ f\90µ`iÁ³.\0âkmE+,\90§\93è\9b|üWÃ[Ë%õ.*\91ð\1d%ýÆ\81]Ôj\eM4Ñx\1f©Y´­~ß\1f;\9c|yØð?íâ_\e\ e)ÛßDÖ¦\10øD%\88¸û
+ȶËÞú%\8bÈ÷[ßÊG¶\92M\9f¸@qÁ\97\93\b\6\8d\84\19Ïu\ 5´7¾\8f\9d¸Vò÷¶X\e\7f\87\88\8fd\9búY4êíÂnð\81¯Ç>7\1e};2\12.9[Ç\98.)eL¬ßêÓnw¹ø\ 4"$\9b\96ÆÁ~1\ 4&\ 3ç!ûxE¢\9f9\vò+\a\r!@«Ú¢\0l\ 1î\91\96\98fóÔ'tZ\8e$qT\94\80MN9÷\1d¨Ç@\8eÓÀc4[ð\y±¯Õ\9e\86ÄдP'J\11Ö7F7Ϭµ\ 1ÎJPÍó»Kat´Ï\88­fç\1aë\8cþª\ 5\ 6 sIál\1d\14Óÿ®îÓÔgµÝ\Üì/\aÉ`\ e0§¯\1fy\ 5\fæ·EÃ\ra\83X\90-½ü\89«ßÈí\8dJ\8axäÓÚ.\82\ 3³Á¬Ò\10?ãæ\96\8dܳDwª4\12g^}9 ¯\v\97©¥£\80à,£G½Pü\87u=ÈD\99uÈÝ3èç@\ 5Gêº÷-*Mg Ï\9d¹=\81O\83¹\94h\ fï\9aYR\8eà1å¯M\1cf\91\81«kK\8føÙJ\ 6\82\ 5z\13D2i½\16Ö\88\14\87ys{2M¾°ìäÁb90\9eÆÔÊØ\91î¾ô\99_È £K)\ 6ie"{©vç³Cx\89[¯ì³\17¯­\9e\9dÿ£=ö.\99àG¿Î\80\1fY²ì     ¾!\10OS½OÀ\9bÜãÉ\ eH\ 1b\eäQ\11{\ 3º\88A7\e\ e\93\0rñ»\83J\19_\17\ 4²|\7f\95Ç\1a"ýÈAp`\93»\9dº>\ e~U\f\7fú/U\r«NSÖ\13\14\99z`\0~õÒ²u\99S\9amy\ 1ø\17\83\88 h:+þfàwq¹Kâ"ãyFQ­t4b4tf4¬cñiO\ 1ú\b\14°è&#ÌxI\10²<\7fá\9f\9cÿÓ>Ò\19 Ç\ 3\89ù³\ fà\ 6>CT\86Á`\18|´MA
+¦ÅÄÑo\\7fW\11\vz\87\r\8bEV\88\9dë®i§
+`õRþ±\13_'Ú\97õ1Õ£\7f\1c|\ exá·\16~EQ~\83\ 2]3ïU0\bhv\16\87z\9f\fbaz&G\ e$:[£Y\88֭вÞDü\a¯\85\18\18kv÷2j)Çý\8e`ªî~×´é\897wÖ"\9c\98ð\93à:rJÉ[\87»ñ¨³\94âÎ\vh)È\99\ f©¦Vl¼C\98ôUÚ\84\940\9d\dRùDCrn\eû\80Ï\10\98\ 4,þ-´\a/Ug7zù¼\19\89\99ô\añCgÅ)Í8\13\92\19\8a)µ \84szÈ5\7f\12\ 6«Ï¡?\ 5þ@°\16þê,;n\866ªT$\8e¬Wìú\1f«UÅbú\14l*£¡Or\9c}\90El\87ÿ5°Ál\86>´¿=i\81\ 4WÀiÄè\9e\ 3tLæ\81\ e\róQk\e÷\ 4Öm\ 2²íK;\9f\93í9\80³?/ Nè$ôâÞY¼y\86á¶±ÀFìâ6ºr\Çêq°ó\92ì¸
+\8b\99\eX}WQö\9a¬eæì\94¡"\8d«\87+»L\8cÃ=yV\89\8bìôÂÍ=Óë.ü\97+M\18è¤3Õ;O'[XSclïâ\17:Àê/Nr¸ü\995Y¥A\1cÜÃ]íãë/ ;=ó³\1c®\aû´Ä}¤\ajO\80ã¾oùµ;#¤\88\19ÈlÅlïâ\1aRîëð\ 59d\eh\84.õnB-ý\93\1eSîQ'éÜ«Ï\1dC\18\89\9b[η¢u\}\ 1¸æÌ]ä\84³V_\ 1È\9f\11\11D\ 1  îÂ&\ 4C\9a'¡whW\+»\89©,åW\1d\9a©È\ 1Ñçˬ×\95Ô\8a\ e±5<\92E\93H\8fùz¥\98\86Ú\11ÞÀÝ4Ã;ïdY\0\b\17\9d_I\9d.\17\91EfÛ>x~:\97ÿóièÕáã\97.²a\1fËøSn!àÊ+\10ÓÒ«µF\ e_ùPÃíEì®íì-ñÔ6]\9f>®ö­>+±\8f`w`¶.Å\80\e\97\83¢:þ.V»ÒVï\1a(\94àºÉÉÆ\vÅ1`ìì5&««\85Ö»ß[\1e\9c\ 5÷}\ 2¤¼ BÃÛ\8ePÒë"Ä\8aÇÙÚr:Ȧ\87`\11®µøºÈÍ\91\ 4        k§z\9d\1c\89>áÁû\1cÊ ­\9f¼[Ò\ f,\7f±>¸&öÖ\86\9dn\13\ 3ïåÖ\92éb³/çÜÜì<T·÷>w'­
+ÿVü\89\1e²Ä\90@¶²^L\96\89\83£g\87\8d:;\ f\7fY©9Ê~~6ùq\1dê¿;\96\80\17\uã\ e½»ü_\19Ê\97ôÉL3êúæcÐ\83¸§±\96>Ô_.\ 4F\9c\89d\8d\98\13µ\92ï\ 5óÐÊvE\9fäjH\8fÇ»
+\93Ú¿|Ì\18TY÷ÖUzT~é\91ûÙ£÷´Gî\9d\1f¿dXëØÍa±ÞÅV´hÝÍ \15Á   \11N_\bbâ¢<\11¿\8bq"×\820\90á\8eÌ\ 5×ì÷äZðF\1dÏÉ"Wl·îH\91R=ÿ\19\16Î,Q\92$\f×\^}c¶µ\9eF¶K³W\8b?\0\91piÃ\1dø9þ?\­]·¹¹·M\92YÙr1y\8d¹-V\1a¹ô;"ëÏ\83éÍ[\7fçe:Ùfs;S\ 5òÓñ\90AtS«¯
+@Ùc ÕÜÇ>©\8e»\8b½\9aÿ\ 2\1eZÊÂÅ ¦ÁÕüêc§uW\væöÏ=1Ùû\85a9.Û\96ø]\9eÌ\ 3Uöåxd$?}öüß\81Äî¥\86ÈßÛÈJE\1cÙ\13\\13Õëå\9a\97o)&\1f\1eøÙ`u:Õtæ!ÕLÿvÔЯ\96\1e®Å$é³\81Æ\15\87ú)`\96
+ÃSÝ-,\97È\ 2q½é'¶ó\82úv\ e|­f«L«%½ÜßKkp(H\8cÚí   D¤±ÙôgûKðtl\85M(OhMé÷äéí\86¼;ó}x\87N/ Û!\82*9ß_\82\93\84\89@\ 1\90\89~Òü]\95½Æ«\95ÜqG\rNþT$uÿÄ#\8a¼.1QÉ\1eO\87¾S¾l©\8a{6gÉ+^\83_É?¶\a(Ka*¿\8a\7fl\14é\ 3\1a¢÷´h¯ôy\88
+w\85üÙSñ\8f\83}{éMð\15ò\98EðºÚ­òQk\13\\9f6©àȵàÐß\91~q\9e\ 1×áÊ\ 4\82ôó\92°È¤\ f¯["Å\81\19\ 2<øV\86\97\96\17\r²%àÆ²RÏëí\89GÙÞO8qnVIâ§üô\19ÁÏ$eZÍd\16¥¬È\1f\81ÞÙj¥ûxìCùk:ýJV\1a7Su\89üiÄþ;¬O\8a\9cO\8bu\89ñ\13\89ñ.±>2q>5Ö'ÉN'ɺÄùIÄùWX\9bDâm.±6©ÄÚÝbuéÄëî±;\ 4âv\17X\9d\8aq;\e¬NÉ8\9d\95Ö'ËN'˺ÄþnBÃü·\89ó\13\89ó.±*X\82ß6ë\13³N'gu\89¶N&Úë\13ç'\13ç]bv\89Äí.±;Tâv·X\98\89ÄĺÄí\93\89Û]bF4!¶½î±¤ìÿLÎfI\84\99\ e`\92\ 4U[+EU\9d+\e\15¹\86\14f\ 6Bg       Ì\11\11QP(иÄEédÌ\8c\12\11\89 vdáÎÕµíU½Û®÷mµí·|ÖÛÞ¹\16¶¢\81\0\12\0\88*\80¡R\8dÈJ\88­@\0$ýýÿÿû\9cÌ\823­«½ómîß/\9b|½ô7Íßg|ó}]ßKwßß\81\9bð\8f~\17ö\80wkd¶[%\8dkS\89ÖàâuÉÄë°q:ôâuø8\9f98\9f;\a\13°N'a\83\89»N&ï\a\13±N'c\83\89Ù'\13²ÁÄìÓ\89Ùàâ|ôâ|ü\1cNÑ8\9d¦\ e'ÐN'ÐÁÄíS\89Úü\18\98U¡OùH\88Ô\8a\a\ 2,f@\rÛNèù\87MÑæ\8dNðôéd\9dðùq\10YRÁT¥ÔøÍ¸\99\ 1¥Å¶*\84§z\95\82"\8bxZ>Kba\15Óo
\95\85T°½ÛxP\87 ã\11D-_jÞÛ\rß\19iW<®õVc#\9b\99\bÍ\1ec\12Q7³\93:A\18%¾Lº\9fÊ~÷|R\81ÄÂ.­°\ 2±èРYÖ«l'\1e¢GûZD8\11ù\9d\90Ë-ûD{§^ÒºoÊ\9b\81\80ñJ\18]\ 1MIJ\98úµe=Ï\9a õ\1fSmÝüP\17Y\ 2b\ f\14'\94>Ba\ 3èjñ\ e\8f%I-+ð"3\12v]eTäæ@0±¡IÉðÌJ\9b\91òÈñe­\f\80^.u`'÷BI\93ßÒ:\9a\85/\81-Y![ÙñÇ7ý!F\ 2Aº5tùp`O§bH\19Ñíü\91ÚõHöWÅÎK÷Bȹ3\9a\ 68´¯\8f:]\ e\8fë'¨U\19\19\90®pWø\r\1e­aw&\foU\95:,MgåÄc®\9d5´_ó¥½\86\94_\88Q"\91ô\88ôï\82\8cMhÇ¿\97]dQ\1cÊ\1cRÖ¿¥Ä\8d@öÍ\90:\91ÞûUk\9f\1eD\rà\13¤7?\a\91_òÃoϬ=Éõ\8d°\r~\97ÊÊ\85Ç\98Ë\8f\19\81\16É ¾\ 2\a\91Ü\8a\ 6\17G\89\1cÁy1ï&ø²\9f\ 6\90=\98üÊÌ\91Ë»vX\99\9döP¨\ 4\9eÉ%ä#¸x\97M\9c¼k¿\9aL*e\97]\1e%©eÔ!Àô\15\89þ{\9d\99¶x¼Ã­\18Û7\95¶PÃÙr¶È\18>ì¶ÆwµÄ:Hêc§\88 Ê¼[)Ê*ño\8b\82\9d7BNþ°\87\1ffݪ9Äø"º:ÄÑÎ'Á\15ò\8fì¶VL'ÅĨÝ\1cÔÝ\1d9YÕµJ\7fw\18\82à¨Á£\9d\9bê\1c;æ±\ 5ÁF)\ 4\8a\14\8b\14ðè¾ÕÓtJõLÕO$\87|áR\9ay¯PÐä¦RxÞ¥\18Ú§/\1a\1c\ eÚ´ï>\11v4YµeWÖ\98bO±²\97\95\85û\16®Ñb\94âÓ¥H\a´\ f"±½Z\ f¼®\9b\bT[{[Åö\9c\9dâëòIÞ,/u\1c»Î¦dÏ\9a\ 6\1d­âú\ f$Õä¢\9dvkgD\86óÉ\854ÎXÇw\bp±zf¯§6\1dhZÀ°;Þu&:°¢\87«ëËvª\1e\r\13¤\94þ\94£v\88Å\1eê\89Òj/5\98õb³\1f\178 ~\f\7f\9a^OTm¿:k\14\ 3ø(\85*ytå*ñ\ 6Õ\ 2SáÑ:irÌ\r\ÄWPÔ\8aÜ·õ\17\r$eÂô\13æ¾\88¨û\f¿,P\81ÉXÊ}\94èåÔÐ\eg³îÏü@ØOöøÙº²·È\80\vÛ
+\r\97n;\16ñ<ÏÐB5Ñáõ'.\80±\88Îc\16\93²ô½I\85¨\ e\80\8a\81~xHAðå&\ eÀ%ªo+\ e7\17T\89\8a\957æä\ eSÖ¨#k\84\eÛ\fìV5$\7fA5LÖ8FÇ5×Ò"+)\1a"U\1a7tð\1dï³\18Q\ 1\15\0ø++\1e \87\ 4\10\8c\86\93\1e\88OaÐ<?\9e\14|ßFªq\14{\97k\95\8aØ\85<ÚE©¯$x¿óS\97óQݼ\e\8b\ 2wüØwI\17;\95ØH:\9c{\8b1] \86ÿ³Ð«¥ë\145ã`+\89\ e\7fÙè¤YÕ!ÑØ¬Ç\1e+\e\b°uV\1dÂìâÿµTnÄ\8f\9fb¸÷Ã\ fN\10¤®Äá¢á×G  ý¶\10sÏÈé²LCèé"±¹ÉÀÎôo,9à/\82Ã@æ"`áù÷p\86\83/Èy=²ps\1d\vÊíÒÁ[ý\87\8c7}ð­ÃðuµÞ\15¦\87ºp}\19\ 6\80õ<ýÿh¦'D¼\e4\8d ×\82p-\ f\15õ`J\81/3vK2\84w°oó\8fpaÑ-F3¨N#A-\92ÄPúøgI\90é\ f\18\17»]\8dÚ{@\88ÅÝ'\16[\r\ 5ÔÏï\93¯\81ÙJîWnÁ25K3Ö¼Z\9b\8e»\e\8a\8dp÷á\18¨Ñû×à  \bðdð¦\8du4\8bAØ×oï@b\ 3\ 2Ï\981\8e\ 2\87væ4\9c\7f\14|'\11ð\12Y\v³²¥èwd«\88C`\92÷1\ 1¢O°\aõï\82j?B\ 4Rçªeîb+0õo\17Os\Ü\ e]\ e\ 6\8b¯K\81}Êp0B¡\14Å\9cK\82pN\b\95\96Æ\14\9a\94¸t|MÄ\15\8d\ 4\15³\eI©à\ e\ e8>\8dw\84GÍÚ.ÃÝó¦\88qy¡F¿o\85jÈè¯wÎ\8drµöÑ\1a*D\85\99³¿#E\93M\v\fÎeá"S\85\1fõÕ\vÍ7Ƥá\90\fpÊi\ 1\19\19nÎ~\16\99î"Ìãc¯MÁCÀ\16¸\85ò\10ÐuLÃê/\84ª\91 \1a\9bu`\8c\15\87!fs\1a±   \1e¬©\9fuJ\87\a¤ÀJ¤\82÷®3°i\1c\93\b>\e²UÓaì$Ø\ 1\9f\15\140Rý$¶\8b@vaêýý\85]6t8.ûåZ\8ebbÆ\15\94\82ÜRÄsAEÎfôöÁж[®ò¿2{3ÂÌ\8aSB¢ÒTj\ 5Ãì\ 19³>®1 þ\93V\ 2\14»8ÞÈú¾\15\8cCâ<\98/n\13\ah\8c(\19#JG~!ÖmoÞÙ£æá\92V%q\1e\82jôÀ/V\84+\93\1dmÔ÷/\ eß»rÎ=Kz±F´³\8fpIKO&­ÕÔ÷;uVât_Ö\91]\1c¬­Le\130jµÖN\95\8f²Y4¤ýÁ|Ãűo8\15\ 3*Êq®§©\11\9d¹#ÂAqTö÷¤\ 6I©cúØ©\8c\18ñ\ 1B`Ñ\9f´0Í^Bj\10\9eê\9e OµrÐö\90\10öü6¯\9e
+\1dƹ={#\ 5\93κÆm×û¥^4þ\14&g\14ÉùÃ%Uÿp%\9e\9dÕN\11ͼJ\bÒUº©\9fRê¥îýY^¬¸\ 4¡:£\8a\aW\1a\ fI_V,ÊYY[k\85ÝS«+Í\ 5^×>è\84Ò\17\1f\8czò=\ 4kÿ4.éuvð.Oê4\7fçF¿ÔÆ\93E\10\97u\ fä\99R7A\9e®ò9+ÝM5      ­æQq\9b­\87ül\f\9c\ 4ij6\13¼F³ë\19_·2\1a\0ãï¡Ï߯&Åô»Gâ\ 4ÕñaÞ˯%\91ãª\ 3)åÈT\81#\825­þu[\Éu+õ\8b²ì\85\1a\1c«\ 2\14\fêÕ\f\98D\9aBÙäçÝ$³o«\7f\0à|à\12ݱP\98\83\89`\9eY\1aó\a\9a~&_ç ?ÞÄ\12\9eåk\ 4õ\96\1cF\7f\98)R6ùÌÎÖv\18±\11¤½"µD×\15)o\85;\7f#¼8Ðݾz\\117\83É\ 3\13\ 4J\9cc\15+«N¥Ü\8c\8c'ÿ=À\13\ eiÖk\10ÄsRåÚ\9b
+\11      U(WÇxøØ­]\ 1±O¡³\90\86²\89c\91¤qU}#m\90ºÀ¸Ôi2uy6RÇMK¿ ta0\85\122\9c`.¨Êé5\r\8fI\17ëêº\91g\11·\ 1ìÊRÃeﬣ9\9d\9b¼Þ\ e/4\13×\10\99\19sU#YÁ\1d\8b\80J×õ\aa\a¼8bý© Þ+¦>1ñd=w\93Î\92\88\87¾Am
+\8d\ e×Ö\1a«/(ò>\r¡K?È\16â±æo\1d\83\80\93\9e\9e£ªc1AI\18!\ 2í~vª£Ù&\18\870äG\96ÆYãȰvÖ\10\f\9b\8b®ÆÃ9\14C\f´j¨\v\82è\9358Ã\86,èPxs\8a\ 5\a_]·\17ÜF\86\89;w¡\9e®û$\85\85êÊËH\9c+\15ó:\ 3>}öJL9÷\86ï\98ô\8cuSá¼x\94±I¤CÅ\99\ eÊ\18Ó"­àO§á\14ÊçZ\7fÃ\8eOIÃMÓ{á0&å\abÈX\1c+\ 5Gÿ!®C¢þÙÔït¬¥Þ> ZV¢©\11¡\bÓ=\ 1~:\80\86â!ú\ 2m[²y3Lxûøo\1f^|\8bù§+\8eÚâÇ\88Ç»ì ãOÎ<\1fÇÍvóÚ\15§\ 5ev\ 3ÌÙspÄ\8aÿ\995\1fðcÝ\1c\ fÝ\12g\14:\94Æsô1 'éÎ3\9e\vÔFs}]»ù\98!\8eUã8\bñ®\9a/îªÞ²\96` !µÖs5\8aö+\f¦ß.$\7f\ eA\16\16)«Öx'Ö¥îe¶çS7¦\85½Ô\8a\16\91\1a\ f° í8\ 6\9bÿn<è+¨.¯]UÇ\12^Ö¡µÁåÔÔm%êê&(\13Áà\7f\15Bd´.\13~i\8eúWn§*\81EºC\7fÖèL\9b\94\11ñÑ\1f\974#B÷Ë1·\8a\16ü¿ pÚÀÒï\91\80°ê.4ôÞ\19\95Ì\93¬òat\9c\8f?\15Kذ}ªëËÜCx\84l\8b8'ù[\92¹_ø>Ò¶ÙRïgíäTËÉ\15hÑ´\14\8cF%\r¿u#\9f*\19 \87_\98§ùW²\v\f©á\8d\12isw¤%  \19»ÞÁaÆÏæ¡\8a°}\11Oî* ©e\0èeWp\bò4ÒÍQ\93\aÎ¥\83º"^\95½6¾\85¼"\9aÀ/¨®±Àü|\87\7f\ 1£\e\94\eb÷G3Ë)¸\1d\1dõ
+\8d\12òÁAÝ+¤½MMcZW½P\8dG\84H\8e±>\ 5}¡Qð»xÒ{ò­\88CYd¼\19r>C4AM%\89Ok\88ªü\93\8f!{q_8;í\99\e1\94F\8c¦°C\86@wíÍLz_$\9dí2t[\98CÏçfÙÙÍ\99\17h\8a2   ôd\19¤=íж¢MÔf\r¦CroY\rÔV7\86×\90?\ e\86Ë\16\87\90\86ÿ2\96\13\b3Ï(ï\81 Ês\9d"s\9elÞª2NKÓPÞ\9a²¸+Áº¯É\95\1e÷\90\17áä\8cïO\91¶H+Ñ#c­J1õÛÛÞ\88±\91XõãBc¿,|e=&\9c\89bâ0ezâ¸\9eo\90\11\b\91GSöÂ\10\ 2w\ 5ysñ*5\10ñ\9c\83\83° ±¿×F%-Ì5B!\8fÌB\b\a \ e>Á|Èá¨_29\8d\99ËÚÛ\8bn\93Ã0Ê\89é<"½Fòÿ^¬89M\8aÔ\1a\99`Mb\97Ì\8eùä2b¡æ\\93!9{ÍÍb¾¹±EþÓ\96\163\16\98LSiÇ\9b\ 3Úý£L6lÙîñ¬\éଦ\b«Ù¿nÙab4ª
+C/l¢²ßÔ_¯\aô+l
+W\1d\9a·\0\9dgHu\9f\85üV\1d\86Ä\v\ 3GÒã\82\ 6\9ekÈòMûG\ 1fÔðõ/ô}Ô\8e`¶R\85\ 6d&ø°SÂ\85îÏÞ\97\9eôAá+¦!,\95ï5e`\83æ©Æ\90xV\1d¨¹\8bã!@\ 6z}Äã¡·[ªÁ¿þG\18ê\9e<úÊl"AØ¢\ 1\8a\92Ä.BM\80\88¶!ÓÒd YS¼°èJëô\a\1cR\82ëöÇ6|>´ØU\94Ú\9f6\8aôï+·+)úbÓmd\7fA\11ÁD/(Á\83St'yt\84¡2ô=º7¡2rñ/n.á·Ìå\9d ü÷\8aǧ\1aª\ eFµ[_\0¬± \17_?Îè§\a\ 16µh<\v\fð\8dqp\985^gæwÕ1\96\80ò°Xé\1cX;;
+º²×\1aO=ºr>\1a"\9bcåøÚWoÁgÈóç`EËAôì0Ù\v\8a(\ fè\9fÇå\93]M{¹\v\87P\ 1åÏ)êÄRìh3ë\15\16Ôº\9e¨IÕnñ¨f\b1\8c"Aõ«×K\90\87\11\9fê$dÄJ^O\e<~ûüþ=\1aÀI\84õ5Þåŵ    \ 4\r˨+)·YMzÊm\rE\ 1ÃU®\1eu\8e
+øI\96|6Ã\88+\ 3\96\ 1û\9eLûRõÙh¸\9d\0Ú\8b¨\8aW¢Ä\99úõ,¿Èa/BåÌÎí3¿yÃ]T\13á\91Ð\1dq/Jãø\93\8f¹\9f\94¡Xe·¨»<÷\83|¤á\výTV\93Y²(½J_H¬ÿXpMÚçi^\10U\ 3å\82÷9E\1dÌR\1egH6\9a\1c*\92(í4*½(\8d\8f\81\eJî÷\fßÙ_\1dÕ(Uá\ 2\87üØûøt¯\v¤\1a\13%gñ7\86\81\9f¥y`ï%%\1fãé\19ï\9c\1d\93ç  \1d:\1d\18p9\95ÐàVc\96\15$\ 5\91ÒßÇéÄ_ù2Ûü\9aÈp1ôR\0if»\91\8a/ëÛNë
+C=«Ñg\1a\1ebðvUÞpèeI¡¶C.vì\ 1zâGÜ\1a\8f+£LÊF\rÜEjîÇ
+aXh½\ f\\8c·âUÓü\ e\9d¸áóÐ,ij\b\84\85Ò±°^xêxvå\1c'\ 5\e\82ü®B\82¬ÿªf3\85 ß+¦4\9d!\ex\9cxïÎÞÍ@ê]ýòY\1c\9dÙPL,´\81%\82\89îÉ0¼
+D\95»m\1f¯~ \17Á¶Ø<\9c\9cëúC¢\8d\88Ô7wUÞ!5\ 6;OZµØÝ5§\88Ù\191ß¾Z\ f\ 5R\19\e¨¬Å|]1¬"Àv@tÄ®]èÑþ(µÏÎM×;÷w´³zÆÜâyø\1a׳ò×°âVx\1dhâù\80û$\8dùi
\1f\95\95\vÜ\15x\0\82&\17\0%¶ÂÌB\10ÄkÞ\12\11`Ã×¾\98è\gPèE»ÒSmUÒ\8a3HlC\16\9b\97¨:4]\e\96Pù|tiL<o¨a\95Æ\8deaÖ\83èÇÐ\85\8b\14\83}aÔ\a\ 5U8\9d\8a^\82:\ fÉ\16Å<Gr:ÒþàlS\90\8a¦¨S\eZñ`%Ìõ\9c\ 4ôK\8d/*ó\1cq#s%\91Ôío\94L\8f
+3\148ÔaãBS`\87\eÒ\8c\88\10Ìõ7êWK]û\ 5\ 5JÒÉ\17\82\1fFI\1dÌMâÈðS.\7fâ\81,G\93 ´0\7føwÌ¡½]\8f\10ùG»Ó¨\9fe¬jñÆW\890\15[ÚÆ)\8eæ\82ø¬òVK\8d¢§Ï\86TY~´,ÙP\976\8a$®Å´Êo¯à\ 3FF\80\86\16À\r\ eê?å<\1e\97Ì\91Ñ$J5ûp\ 4Ý!\11\8bå\99\95á¤2à³e`1\8cÑÔñT\9c\15í¿²bo7q\85\11\86\9fq\8fB\1a\1e\91|c×o¯c\9d\ 5F"p\80½\7f¡I¬]³GÈâ\14\93\ 3ÂÎ\85ALH\8b¢õð§Ä£I]û\93\ 2£\99OB'õ¿-\99ÄåC\fæbü"`T0\85I\vl\80\83\9dóÂ\8cð\81\eâ4\9c³÷&\905\80ë54Á¶ï/Èé<t\90
+\b\1f) ¦\ 5\9d\13ð@´\ fi\ 6;\95Ø\11Ù\95\86~\1d\85Æù\ e\1a¬\1c\9b[N,I,ÉdìF\84×]YJ\90¡x\12\96Cþä\90rëÏ}\91\vö8\8dZgÇIåµû\1a×\10þ\87¨\88Χ\89N\0³é)¿Æ\82\13 #Q\999\18£ÍÞôí¯ßÄB\12¶Ë#\97æ¿J\ 6\95\92\86ýÃ1\ó¶\96Jp¨t\93ÏÕã(Ø'Ð\14\90ÒgP\96ıI\8a'¶/¢{yy¢ú'¨dk%=ʽÖO|\8d\1dùGP^Cîx\8d_^[ö:;~ÆÊß±îâIðÓv²u\1c`(§?\î\16\0¹iQõ¤$ÛÈúô©]\17K\18Ð3UªÛ}Ò¹$â©\10\96fÔc"²ÃKëIУ\ 5I~r~\83¼6ÕÓÓk\97eÇJ¨5\12R\17±\91
+çá\e<;ÔðÏ\98$\95\85·#\9f5÷Ö\17m6h\ 3ñ\9d1'µÊKS\9fj\94\9b$W±ý\ôßµl½î\aÛ7,\8e\80üækû<\ 3T0\159v\81ìi=«Ò\9e¥£ëÙ½\v1t`\Ù¿]\8däi9'«Á÷l2d¦ÏH\89/Òà¨l̰\9b\82ã\95\ 3´\ 3\16\9f&Ûa¨5æ\b.~¸\ f\ 1\\ e\84-ïô
+j\9c\95ü\8c´\98
+jÄ\8c\82\1a\8c)&"m³x\81bW\18Rõ\7f\90-\1a©|\eÛ\ 3"ßѼ\ 6\ 6\89l\8b-¶Ø\183mm«·A`¯;ÒÑl\1fv;«ª»'\ 3¾Wb\v²î\ré\84YkHeQXˬéJüN\8düÕ\8b\1cÕx\91ò\1c=îß\80V\ f.¯É2Rr6C\91ä\97Ii($V\a\82¥ÌÞ«@\14@sê´_ê\96S\8cÓ\8d\1a\vïZÐZC\80Xx\8baÒÈ\r¡z\12\e+\10\92\9fyFÞ,\1dHx\9a7\ 6¿Ë¬\18|\ 2y._4\8aÙ©Gñô­Ã`SãñNLS\95ã\ ft*ÊÔ\15\ e\9eR¾½\87á\11\7f&~\99÷¥\97W\81- []\14f?cHTÀ'%¹îÜ&\8c\159\11\ f\93?O5¹$AD¹ñ¿É¹Àmºl\ 6Ùv8Èm3Ve©\7f)0y#fN\9e»õ(Û\86\12\14K$ÒGY(\19\8aw\91Þ][@\eÔ¸\1dá\9b)\8d*Ìk\87\1eÛ{\f%HH\va\96\9c\bæ¡\87ÒÑ\17/A|¹bS·ÊÆ!ô¯:¦\17éi\12\8b\83Ý\fï5dÖ¾V¿Ö\vîûÍ\1f6·!©\fGÙMf\98[/\9d\8d\83\fÇÁ%2pÂS\98WS\0gKÂÂò<FôJW\98&д\17\1d\11\9eÞÄÜ\9d\19Æ\93ö&)\rß\13ØÀÕ\8c3Å,Í\9bÏÊ\~\90>AT\1eõ|\15\1aA%B·ý­û\89\1f\9d\eà\16.\9b\82¢z­\ 2Î.Ë(h\85S\1dª\9fµiý§\13ö0J=wíûÊL\90¢Ñ\16/Ýn¯\84ì+kâ,Í\90EË@\99\9aFId\9eZ3\11\9d¥ËxÞónY\87~\80ú\12 |Ò7N\19ãëbAàW~AL-\8c¾Ð\9b\ 2êï£\7f\9f\94\95f}z&\vßD\98­9k\8c¼\15ø\8f¥CÕ\15\97ùâ[\eâV\1dÀN\aÁn³\90\17X\91ñ\9d\BQ\9c.7ÃwßÂ\99ÌæÐÅ\90#Í&\84«ZM}¢?{Ô~ø(ý·\8d
+\ 6\82´Ö\98ñfr\1e\fVk-"³\90·LA\19\ eõ%ôÏÁHñ_\9dUðïX\8dº\8ao\ fà\9fP7Æ9i­`¸ÝQ\10¦s>¬­\16y\1f\r\13GXúpÛ\1864Æ\83±\8e¥¿Z\8d©²\16B,ÈÒZ¤¡Åj[\a~\ryâ8LPÍê1¿}+ìD+/\9dð뿤 *ª\8a¥cj\88<\85\7f×?\8cá \ 4\94º¤^\9bz\16Dy>\f²\16Ì\1a3@ÙÏQÁC¹\8d\ 6ù§\ 5f¬«ö\9c\fH7À×M\ 1ßÿÃ`Û\93\9e\9a\13\9b¸\94Ü\8eSwQÁVUªoC#\8f\82Õå?öÕ¤J'a¡ñ:\87oU£Cw¤L\14Ã\9d\f\1a\1f\81¬Ùæ\ 3\89È\84Fox\90\8eïÀo5\9fɼ¨à\8aÝ\8d\1a½WM·K[\97\ 1\e7í(        Û\8f\82H\15\1aÜ"\11Þ"\11\bvöÝ\17Ô=
+:Å\v\12\84Óä-\93wÈ;6°ÇËÖ»ÊFþ±±ðrÏ\1e\91\19мg<â#<ß\17~7@\9eþ\ eͶ\ e"\9eðß\19\10¤Ò<\eày\89¡«\räÂi\1eÚ\7fÙ¿\1cßZ§1i¥«¥\80Ô\9b\f\9b%Q«\b
\9ay\r\9fçâ\ eö\92W<ÎËÛ8\10\8b\93_\91#z9?ýµ&Iv³\1eÚ\93Hi\99ÜTý\8c\86\92\ 5öä7\ 5/jPR\92\ 4Ñ 6\8b\97KE1´\9ek\ 2ï\16\8f\8aÄ\9c\8e\1eü\14¼0\92\r\8e÷\\ 5&I}-uV<®'¸^3\9f\99´\86\8d\89$R£û?#\9c¸\84ùü*\bï.!a\9fÂ\1e\15\15
+}ÅÔ%g?\v\81\8f¯ÅÜBT^²\vÛM\vå$NÝB qzé\1fÕ\13\84Ã:\18\f#×G\96\134\8cm\ 3\81\8d|X×Î\1a½&#\f/3Z\16\18_\9eÒ\96ð¹k\8f7àD\1aº D)\83ÔNj­Þ.Ç\9a\91ÿ9óê®=HW\1ec5×áp\14\a\86Ç\12³­Ãõ\91öt¬;¥Ô\b
+\19#תÆz\92:\bXÏ2=]Kÿ¥?"~\eõ\95\90\1d"\88øÏÈéÑ\85VE0p\17¼ò2i\14¼¬\99ÑdØRÉ\83§/½\85,;\88Oa\yàKQq\8e\9fÇ\9f©sèÚq\×{@¥õ=\18\ 3?°æî:¼0²v|e\13øô\10ÜìJñ\r÷å\91TÛÔr\96-Ì×\9d³\94­\91h\7fq\18ÛÕ\ 5]fÜ\rºxhÜ\1d\1a\ 6¸uÌ\aâ\17÷\v\1a ðèlk¤\7fn˨,\87\v»\1e\1d\eÐ\ 4ÛT«¸\85>(\rÄ<þÁ/Ù\1agéj_ö­¿AsÇt³2f\9f²2iòÉ\8dú# ¨/8á\9d\e\1a\97\14T\98έì\87c\ 5\88Æuxap¯Ê\80ä¾SV\13\19¶¿\r{´©·é/Tº\9estê\92r\18óÏ®J¶<4½\vmÜkÙp7·2¤\0\ 1§Á©Ï:VW¸J\87gy\1f$\88(m\v\87<\1aå¥þ¡o>X½PmT~\95]6ØÖ{ÁK\ eq\1f×v\18h\8d\91\1a\1dÉ\ 4Ñ®\1c®S\16õéZç\rë»\9f¶Ñ\1f\9f++f&u\9f[é¥v\8c5\\91\ 6z´h$Î%\84Eû:°vç\1aP\O\12\ 4sÁØ\ 4\a\83¨e\92¾1Íc4S\91\98\fD\8dñI\19\b\89¥#ddçjÝ\ 4\121«rkF\8cTR\8dÑÍë:Ñ7¬§öfó#ü¯eI³{\9c\14\z¹ì\93\ 6±1aVlè\92|\90\89Á\17\9d\11þ\9b\9cÉ:§\bÒÊÎyA1'1g\1dÝïJjWÄMÇúxÉ¥U\7fÖ0¬ÐëwÊN\19ENeÛR'±Ì-\8cii
+\9a \16eù -c\94À2\94¼¥9fSÎS¤Ô£\1cS=³\89~®%«É\ 2\7f\ eã×
+\æ`mOêÅa´c^\v·µÛn*¢\1aÚáÀËNÑ«l(úk\8c\8c\fg\9b\1eÌ\ 3¡Kÿ¬\16ÃJ=q\1a2K=0¬u¸O\89\82 «Þ¦\1alï    òu\9d\e\12Ø]\ 2p\9c\8e\9a÷   òV|ë?Âp³+ÎÑ÷Åp¥÷=úE:|\98óTÓ      vwÇK¦eÒ\roÆi\ 3`¾rh\e\19ø62Ô\13¬/@æ\e\1aÙ\85\f\8bc[çýFÖ\98+ìÌUú\11ÓG_dNÈK\16¹ÓvEkq\84'Y6¹ÝcNïîâ\eL÷J%\90î½'Í\85ï1\10=ÝÔ=\93\97\r²Èm6X\1f\VÈÂOL>9~\aÕJgª\13ä    ¡(ÐÛ²¡ÅËþ¢]¿èWÚÈWÚ²\19AíMRÝåÑ'+\15§!ʺ@a*-#\19\ 3D\85}ª[¼ÖQº>EX\90­8î\95ÒS\9f~O)¾Q±\15käøt\ 6\83ü<@íçÆU7Ã\8c½\f1T¬çRzø§>æâ\90±vËïShê6%ÚÃH\v¼j#\vÉA5N®;Ï\18\b\16\86\rPtËØ*UámÏ»ý
+|\05\1c<8ç¼>E|¬KÌ[¬\ 2QÚLùjµ½¼lL\16Ä9!~\91ì¨ÝÁî\97\86\8d÷ÂãMYÈ94*%\bC>®\9a:\8du
+\19«È\85\89Î;\1e\aOn\10'W£^\ 1"uT\ 3\86¾=«\7f\1f\96ßÇ\80ÞOøZD¦K\12þã\8fÄË|4\82Ï3ÿ'½>\17m\82êjåø7\rÙc\15°Kkk\93¨Æ4\1cä6kio;6ó?§73ÎÍÌÇ\8a=\90H¢7\99âÛÌÿ¦ngO73\bà\81sfy\9f4\8cÏ\9cI>\18\fÍ\99¹\9f\1eLÌÌ_îUÎ\8f\ 33Õ·\99éææzÙ¹\98ñÂ\v\9b#Ìù\84f|Õç|ÞfÄÜÏ¿\9b\99\8f\10ø¹ÑMÌïsg\98\MÌ3\93s\ 1Öï¹î\8f0¤FaÌ^ô\87\98I\9b\98|ɹ\80¨â®t3s\ 4ª\84˾¯ô\r£h»$Ce\9fÙ\8b×\13©F\ 2ÒËfåÄ\8câ¾?5³WDzÙ\8f[\0  ©3±º=³ÜKòðí\8f£0«\97Ô»;¯²   Ò\`§h\ 2É«µ×Q\97\8aBëB&Õѧ«úf§Þ:¦wSÎ\ 5\ féçK³þ\94«K²#º\ 2{1G\840ÇL\97ØaÚÑÅ\19K\82ueTãvVíø\88\15"mp\ 6\9cïi§3ì7\16\934z\83\f\\19tXr_ù#\15@¢ï#_ë\ 4£ht\97ÔÛ\bÄ2\89©\97B÷U;åý\89\9cií]\1e¯\1ay]6ñ¢Öx\89\9d/O($\19LM\0ó\97>xí'÷ñÎ\9d\98k¦¥-$¥\8f\9bFðv\9eYÏh×~FG\9b \00\88Òl\885\eB\80Éfjð¥\r»9'ÅI\7f:\8cUì¾ ®:8_ö\ 2j\95²¾ÄÒ\8f sÂö\9bÙ\9d\b\9dOí±þ\1f~\9cã¡ëË7!º\ 5ËpÊ\80\85\99Ù\11NO\84æóÞ\9a\\9cS·P5Ò¸\9bdýÿ\14þ\1cr\17ïJ\13\eÀ?«\89¦g\ 1gÂTn\ 2³7˼Ó\9a¦½\94+ݶ¹X\8c{²Ö(V¸m\ e\0[]XòY\9c²\85ÜQ\ 28§Ø\vïg,Ö\90\ 1\8e4h\1c¹«b\F~|ø\94«»ëÿ:\8d\ 5úmL$Õx\87vômJõ\1a ¼Z\ 6v¤Ü\95yZ\vÁu\1ev\15W\1aÔÒ!yüVD)fg\88\9f\ 5\16\87kÁn\9aç>Ø.Ñhx¿.\94qô¯ª\ 2°M_]d\1c½O\ e\ eAF×\ 2Ö×X¦I\97¶',\99T\1e~\9aA17?\8a\89iÕ=\13.\9e÷x£o¼O\7f\v¦ÎÎg
+¹ß\86"ßn\e0¾×áq\11±KÙ\96,AL\1açx\ eÞ\93½ÈÔõR£I\8aôÈ\94Y4\9eASOô\7f/x}\82ñIë;ù;ɽ\84\9a-äÎ\98¶§üg½-Ê\8aÛ
+\8c\ 1súÌå)JÆ\86)eß\\12³åÇ WÇ\9e\1c\rùøÜ\19\813V\93\ 4%"Ø,wâzívò\ eÈ\8e\84\bô÷\10ó\19¸\97ú\9bx|×^´\1f\81\11>´«\9cÝ\94h\7f§\112fá[ë©2¸ÈCÝÊzê`Qh3kß\9f\8cHÂýµÊhÐ:·6\ʾ\'*ùp)¼Ø\99ÍluYÆùj_\83\91ï^¹¨¿1b,ïÊõF̵tμü\97ç\98Ì\väñ)<µr¶)^sö\13À¾\0\8aËÌS\93\93àe\ 6P\ 4¬ \9b\a\83¹\11.\9a\87\0\1eÏv\ 53>à\10R\8d\8e\96\ 1UƾY¡>·²³\e¨øÒ\96_\1aôä½Í$ûq\9a\ 1emD¿\9d\86\ 5\8eø\80¼+p´\ 2Ï\13Ô2Õ6\84úµ2ÿ¹ï)       õh³F¥µJʺM\97\14Ì
+Zl Ed`\88û»}Û]MUÙæú°\9cjâ×f\1dêwx\10ªø³\12ZköLãÛô\91ÿPëe\8fr_>VYÙèMÓw\ e_Ð;Ø\ 3ö\92\rpE¢râ[\93\8eø\15\8fOü+m¶\99\8b±l\aÒ°äÌpÈ|¾Íj\9e£iBÞ\ 5ù\9cWQ\15ò}Ê |\13\19É+Z1Ë©.Yýtin\7f\ 3ß\8d¹ÿ\92&\rûmk¸    Oʲ·Òêh\ eÊn\99ÍácI­z\Ä\eû\ e\98\95\95×£õR"ó½qª·Á\91µ @"2VeÀ¬Ys±TÞ\14ß×g
+æy¸\8c\aD5ÿ\K¤ÇºRmp\11ð_§|Â\ fÜÀ#Ú?\86oF\14Ýgîaç;³B\17\e\9f÷Ü\9f\84\bgîvEML{céÜ\\82\98\ eCÚ%\9e̹\ 3\ 1°;Í\16\8e|`sW:\1dÉMé4\1ft}¬®yÓ\9bçý/\0}¬ê­ëþì&r<õS6mP\83T>¦å@'£\9a+B0<$cH\82É\97\9fF\1a¿LÍ\8eæ2oXÛ'ë(t\12\15~q\1fÈà1Ù¤~t\7f,4èþw?q\ e#/øò\7fL+i\16\8a|$SáßAt\7f3\97ÈþgV\16À"\16\83ò0FóÎÓÀ\15µ\8d ­¬|![X\8aÚ\8bñð\85mcóÑüü\9b\91[[i\ 5mmþ¡~\8d\19\a\ 5¼\ 4V.\9a©#sé¨Kåîù\r\89\87\90©\1cÄ*\89§\14\ 6à\e\bM/f¢Lð8\\81´ºt\98\15Vv×E\96RFh\96hÔ\\89Ö]tÞØ9Ù7¦Ä\86\86L¨N\15Ò¬'1¦\9b\8a\90\1dêÓQû´A~îù\8fUFÂ\88\11°c&+,]\1eÊì \13\rß_\ e\ 5~ZGW\11\9aÌ»B§\Jq\87s;ÿf»ïn~&».MuQµÇGf\87Ü®\94\83 ò\1c\ eÛ*­·\80\7f/½â¶c\ 3Cij÷*N5jsd·L%dàjÊú¾,Ð¥ÑI+Æó³ü\90¢ðð\ 5Ð\11{\ f&;\bEêw\r<ï}ß\129\95\94â\\9e>óqñ<{\12xú:\ 3Ѷn\1c\r\16ZGb\87i_\95\91Ört{Øñ\8eÌÍÍ·yþm¿m¸ýº?v\96ß<\e\11\8aÌÙ\81å}5f^]\r\ 4ÁUj\84\bϲÓ\8b\80àp\9fæào6ÿµÀÚϧX!\14z\v\19\f±¦"º²«2«1È+7\r8Þ`¼\8fB²#h\16cc}]À\0³-\80ì{)þS±Ø\90\82ûºîÚtêÊ^\1aø\e6\8e¿iíá±h\83\94  Ùôþû³+7\1f\8b\a{e@¼\fþ)úº_£Çjb×ñÎ\8e°nXÿ6F\15í©¸ßE\16«\8bÄ$\1c&Y\8fÕ£å\87|S\16!À[\85ê3 ÚÆ\92â¦Ózñµ\9c\ 1\9fJÝlÜa\vÇÖ\17\17Ô¾\99ª\9d®¢\9d(73SiÈy#\9eÀ¯vý\81L\96²÷+\12\ f·!î\ 2\râE\83°\91ý\81\f \r\a\9a&k& Û¬²Bô\80« a\ 6ß0mWë÷-\81}P\1fü\8e\ 1¥0²ÌzѪ\80ÂçôeÝ Ï_¬Î\87\86\88iiê\99ë U3\9aè       \b«(Jgå\8eç£âÑý\9f\91\89Y\ e\18\90\94^\87\92\84¢â~è\9f\91x)lPB8{\10~\ 5`\8bé`úQáY»\85\aig\8e\1e-\87Xh\1a}kxø×º,¨¹«³<Þ¨ùË[Ǧk\94\81:3ª \b¨¯~ÒÖºÚVÙ3BNb¤ÅÉ       9=$¡''æ\apO{ý\ 3ÃB"\8bS\1a*lg\13\15Z¿8\91Ú,hê\94Á@À¼4¨"ÊÄ~\\8fF°!\15\956¤­\9bþ"\9e\9c/ÇÐ\1fk\rÌ/&\ 1ÁGÔ\19\15=äÒ\11MGÌòi-¯\81\b¦\9aBIÂpë±=Q´\97¦\v\8c\98JnF\8cZ²§¯5wÇó]\9el^üzð>jêÕ\ 3ùÜR1Y\87%q\0Ú:5\12hHÚzc\bHu{¸ýë9\17Ä\84^¨²H=\85±5\85ô\97ý\8eStæ\1c\ 4\84ò\²³Vò=+\ 3$³àh\ 1`\1d\9e\82éò\10\10\v}ã«AÅ\98ÜZæÞweòÎe\1e\9d      U\9eÈÚ\ eú+\eð\ 55Þ_\0\91ð\96r÷äy$\ 3@ÂÛ\88     uÓ¨ãIuÑ\15 L=êc0ë¥%«)Ü.Î*Í\eAtبëd\99Ëvä\99YèÒ\9e\8ep\85\83i\r-þ±v\0Õ3#$Æâ¤N\86öô/w³Éé®\102h\81\a¥F¨©äi\1ab\f\93\16_z3{k
+z*6UÀ?å=>Ø|>\1f\8ef?4ïÇÛ   Af¸¼\184SÝvºëóð`¯>_óÌ=\8cò\9cëÌÍÊÊÙ\9dè¶Á2_r\ 1\14<ªHϱ1Íæ\1f¯ÈDún?ðB\9að\14ÿxV\90¦Ò\84!M£Ñ%(\86héyx\8cm\0X\1f<º¾>e\e6hçU\95!Ô6"\92\81ce$\91\e¼o\95ñúÙø¬nÀã\9dá$\95\ 2\17µ\86ÐßD\81÷c$)«»\12@\92âªêïþ\13ÔFÀB\9aoܪ\85ì;ÑíTÿÇ\91\97ÁC\ 3ü/\ 2~\844çä]óçò\1eEß<\8f\95F£SÿÏSSÿùá]ÿé       \b÷\9b5?à\84\84yßôBB?Ü\84\84y_ôBB?â\84\84\7fÉ8;ÿ\8a\12#ÿÕ\fzõû%&!\8f]ÝÚ\9f½\fzñÜoû¡\8f^cd§%\f\1c_ÿ!\8f]ÖÅOÞ\86=\7fíØ©ÿÔ1ëùÈi\7fò\86=~ÝÚ\9fôC\1e¿|øpÓâúüH\8c½»:fGngø6T\99Ãñg\9a¢fµË\9f\86è\17±¶O¥?CÍ;¦ÚñyòV?÷ñ¤Ä"÷0­\8d')¿
\11¾º©\96¥ÕMå\ 4;x\9c\ 2Væ2¤ÁD\vÀEü:{±Õ* åxu®\r£EÔÚq\Ø`,{\9eÖriî¥0ï\7f°\12 z½{ÝѶßûë²é\9brI%q·\eqÖúFä\8dºß4¹sMŤ\9a6\93MÇRmT¹¶í\8eM\12]Í®mråWrN7¡J2\90\86&£!HR\94~\bQ\90¥)3!\8ab\94¤ÔÚ\8f2\f\85!\bB\98\84)\8a2\94d)\bB\1fßÿÿ\7fþýûû÷~ïÝË\975[Q7\eÌ\92Ù\aJbkàÖí®-0L\eÁ·\93llo\ e7\93x7\8b\17÷\8by7ÀNø\ fÞ½ð\ri÷ÏÝd\92HåÖN\80³î­\9f=EÃ\ eÓ\85ֳΣ+Íf\89}\95ô³\8a¹Õä\8eÂÕײÝ\86}\1cëõrE×§ûtò\1d\1fí\88)XúIæ-6j¢m\18¼æê½°Äã¯mÊ*Â×Y\82¼¾\1a:Z\93¸d\8b\92ZµæÉáô\rÓZÓ÷rD]Hí<ß(¼i§Ãè\17\87U\aõS\84÷¤¥í:vü>ÍÛ\1a\9c\1fêëOçúÿ½Ðs6\8bo\7fýb~ÅÛ-0»f&\87;X'ò\8b\1dË~U*ííÜç\8e]û~UgrhRàÚ\1e\88åkù¯ûÿ\9bÿ¹zí¶IáĦ\ f\95\ fO7\95ù=?­Mí\9fú×·¸Ë/\95\81á\1fÊ¿e\9e\88ñ7é¦\1d
+÷¶\1d\92÷¡RÝäù\97þV\8f\8bòµ·Û½F\17Îù[ÙX\93»cùºx\97½[ÆüÝn!ïm\9a£ÓÑ\97Uê`¤/ýpS§K'\ 5e\87ñ\7f\a\ f\ fâåá¼¾üð
+7Ä<\9bùÃáÖwü9¿\99è\15\99Õe¯ÝÇMÁ¿ñ±Ì÷CJ}þ\8dÙ¢3©­I>wôU\9dºê¸\99\9f\9eòþÍT$ê|²\f\ 1/w\9b¾Ïå\9cÿkU\ 5w÷9G\91\93WQ\1f%Èðê\1d\r\11¹úp¥ôÁKéU\98ïÑKÎtJÎGÎ+9\90ʪ\fѾòWüïH¬ì\9e©YÙ\19¥gcæU\9dÈe\14ï\ enÃé\91:.>^V\83È{\85Bø´þ½\8eþ¿¢øj9êL\7f\95VS\82öWßñrº\1f\9eé\15\9e\f¿<\19~z>aYàËÝ\82\8dØ|®\8eöiMñtö\ f/LáÛô<v¿\92\r\7f4M~\ fru³\ 5(u4H«d9Ï>\94ù\80êýHu|º³¼l=*\87Û\84\8atq³p~¢\a\a¡å\86òË\ 5^R\9eX*Î\a}$\1aÿé\96X*ãà+3\90Ü*\ 4i|½ß¢v\89Upòù\7f_\1f-êníèü¾¿3\91g\rÚ%óÔù\80\86/(¬×\7fGÄ1poU¾¸\\9eç\9aoaâ\9c±Ñ\86\7f0K\8a®¯!\9f§ó\ 4²÷4¼ÿÐQ|\82S-# VZ?¶^'Áñ\9ay꣯ÔSÕG\õ­[¬W¹Èh)ëZ·\9bÉ+7æ9Cé»\9e\96Û¤d\96ïæ\93Þ\1c±S\9c\83m\8bÚä\ef
+Øüz>ç«,OëÇÍ«6#\8f\ 3´Ãå§þ<\ 3ÏØ\9ey3\93n®§<yeeø4R|¼XSãaeO\1a       çéÏqÇ\8fî
+\1aëôç¾6i\84ñ\9e¿©È+©?hcä\15Ó]z\98-\a©ó#¿c\ 5\9dþ\9e\vfòÝ\ 1\8eÿ§~avæ\99­~ÑW©Cÿ?qªÙo»/oðk\7fa\7fM\17þ\f\ 2°¢\17\9eÌþ \1e2|öe\9f¿Ø\ 3\e"¥[äKVpµ+|\ 4¾Û7Ã\ 3õ@\97\9eûK\ 2ǽ \12Ìw\ fÅ\ 2Z²æq@\96¬X\ 5éy\92ÅÌ\9eo&y=\91\12Ít_¾É\96=/T¯\84\ 4°+æ^\94¡,1ºí@î:#Ü÷Å^\10\1e\b\1e \1e0\1c×F¥\1f½ðÀ\96\e\19ï@\96Ì]e\95\1aÒÒê$µ¼\84/A\bèºb»ù)_'§,½j)[ΡJ-§¼K\ 3è¥\86Åü\9eUJì@ï@\96\10®ûL²\95x\a~\ 4¾ç×õÀ\96\bîo@ü\80?`\ f¤\a¡êT¬à\1eÌ\rè\12Â+\9f£\98\1c\95Ó\81Í\ 1Ï\81\8a\ 6À\r\98\12ʼ\7fÇ\ 3â\81Éæ\83\85\81Í\ 1¯\ 3ØõJQd\ f\9c·ÍûÀ\ 3¼\ 3½\ 2^7ãý\90>(\12ÑÖ\8fÊ\ 3ö\0ú9³Çe
+¾h\1e\11\7fyÀïåê²¼êðTúY\9c~ÍD\ e\1e\a\9eáͪ½\ 3\85Õ\9eí6*Ì\16\1e=@÷\80Kjò?8     }Å;hY\f%\ 2Z\ eZý`13áèÀü >8\18\9dj\95|\aæ\81ÉõÁ\1e\ 4¼f\99ç\ 1ëºñû\96Ø\8eÀKÍ]Å\98\98ø\9a\0\9f\ 3ð\80ü°>H\1e.\81{à#h\80È\ 3y¡=Ú¡UÀ\ 3Ä\ 3æ\81óÀõ\85ר´KÜè6~\88þ´j¯\0\ fÊ\ 2Y\13\0ùÀrþèþ³B­¯º/(¡\87Û\ 2[õxð\0ùz@øeë¤x¡ãÀø\91Kæ0Â\16`|\90>\88\1f\99¥\rl\ f\17J\7fU\19V|\f`%¤ôÝé})t\ f\0\ f\8fX\7fP¡WGZ\1dl      x\0\0o\95\8c\1aX\e\0%\8b\8fÿ\0\ f\86\a¿®\10³\ 3\93\8e\11àt@uà{°=v\99J,¨öÆ\ 3¨Ó/#!:Ð6Àv\80{\90\1aðËÀý\r8tð2u\ 2\17à|k\ 1\0p>oé\1f\87 UÝ\81ß\ 1ù\0\9dÃ\ 3\97ì\84\1fÀï@ø ~\80\1f\1c\ f\94\a¡ìû\81ý`?L\ fCúa£\81\8e\a\b\ fÄ\ 3ô\80çûBÒíôDü´j\7f\ 3\95Ô©Zà;RÒ~d\ fÊ\ 3åêW\8e2N%\88aàK_(\1fH\ ebÈFl\ eà\ fò-;\9d\843Àø |Ð9[1\13û2È\ eX\87x\12Ïv\1eô\ fyfVÜ \93\ 3ß\81ð\0ü`;ð%¥+\9f\0\ fÉ\ 3òÀð@\96Ë\eóõ\82+zÂÐw\ 44ð;þÔ?_jz«T«\8a\a\r/\½i¾v { ?\10\ f\0\ fÌ\ 3Â\ 3å\81ô@æ=Øbào\0ï\80üÐ?D\ f\18\ eºÐ2p?T        oåÿgj N\a´×\87\9b\ 3®Ø\b=\81´\13\81óm\8f_¬Ug\0ê½âôH\9dîÀüà?L\ e~Ü"Àæî\ 4\ 4Àë\80ñ@ô2\ 4Fö!ÎÀø@x`bl\82Î\a¾\ 3óÀÙlÄ\8a`~p\1e\10\e­ rð</z 6\aàûàç`r=°\83X\eð=à\1f$\ f
+X\1eè\ fÑ\ 3ç\81·íÃK\ 3¸\ 3\84\az\aá\81øÀx\0x ~p\1e\10\1f \ f\18\91ýÀrp?\0´­Qý@\97\ 3Â\ 3õ\0\97\98 t}Éi×R#v\aê\81ÈÜ\88\81\81î@ß\96\16\83\ 5 wå©oÉm\13:\aÈ\ 3µ\13`÷`x\0\7frè½Í8&?»\11K/\9a\9e\81\8e\a±\ 3®\ 3 \ fv\aÆ»_\986¶ {à<`9ÂÛæ\84\ e\10\1f\ 4\ f\f\ f\9e\a\11¯\ 3¸\ 3ñ\80ð\80ú\0{M¸\80~ܰ6Ò"\97x"\ 6\a/,?8\1eô       h\16\ 1ßn\ 2\9e\aÆ\ 3Å\ 3\94Ü\85<      lç\a<\ eô\ f\9e\a/z&ë\ 3ß\ 1à\81ÐL\1f¸\1d@\1eжs<\ 3l\ah\a¹\ 3x\ 6|ÂÐ\LE\1c\ eÚø~à~°\1f@\ fu4EÜ\ f\98\aë\81Ü_\88\9d\81ô@äýøbà|0=(\9f\ 3¸\ 3Þ\81ò\80ÊB\13z³þïOÑó÷\89¾=\ e\ 1üæÖ*«\15\?\9añýÅUiàÓF°ø¥ÇÔ+X­2~µ£õ\92uÿuæA\85~òk\9c\ 1\9fä¡\ 1Þw>Èȱ¯|ZÿÍÍä3<~[´\ 5cq#ýY\91Cº4þ\95="*ÏÞ&\1aF PpOE\97×m<\ eµ¯vdgõ§¾\ 5üG\89IÄ=òÇe\9bèÏ?\9d¶ÔGì¨kÿ¾²4ð0Ù4Yl\93Öëw\ 4É\13«\9eá{\ 3Yv       ¾Mé;.Ø+$H\16zh\r\9a¿zQ¯\93,ô¹c\93@\9b\ElÎ\137ÈH¶Á¼ÙíØ\ 2^Y½¬ÃÓv\1d{\0[\96ô}rÏ÷\9c\1d\f±ÙÏ)8óM\1f|{âfà7|\81¸\88M\87\ 5      Ï\94Cwc\8bvlµz\ãîÏKJ\1c\ 3T÷i¾Vlƪs\r?¶¢ö¥à½êõGi0²\8a^¡¿¬cÁÁ+?][~}×\10ÉÍ­\8eß\e\1d¶¢OÎÁ\19\1c³uûcö~\v1\v\v\19\ 1\91ß\9fÔ\8bî(2Öky?p|Ö;kè\17÷Ê\e\81\ fbe<o\rÃmÄ\ 5mO\1ds3QüàL\92«°=ô\13mGþ!ú\82¦\ e\rkÅFð[¦Ã=Âo\9f\95\9e\8b\17\ f\93B    1\ f|TwÔx\88ö¤T¾èÚ;\14\9aq\15\8bIÀd7\17\e\ 4uÿ,QVSü¡;¶Gow%\90%(gÊ=ðEb\9c^\W\a\ 1\19l¦ªûc|\19\86äì\82\8cc\96\14\99\8e¼÷Ì/Õ\9eùOeµ\ e-¹ï£O±\1c]XçØ\ 1÷C\8b¤6\93÷\99\8cÃ\82. ¿ÿó3]2»\ fóf³\9eß"GýÙ¬\105²n4ÝþûÁ¯Úq7\9fÆÒëZÒÊF2Lè\ 31À>~\ 1Å\ 6ðÜÇrÙMwG1méÄ\86QÅM{çQÄ8¡®Eµè\18\9eæ;¥=ñì÷cûÝ\9eù\v«Vf\9f·Èe\9cƬ\93å\8dÞäÔ\15ï\8fç\10÷Óa\9eo{\82{忝qôyFÚô?å\ 3Y).¿âv:ãß\15\aÿ]\8fü]\85ÌÏø\9d\8e1ÒY~PZÁ\19¾ÃÿÝ´·Í\9dÂ{F7Wl8Ï\8dµ@û©\19ã!aåÊ7wrn
+*s\8d\87Û'¿¢oÓÓw+\9f\97ï,¬\80Ýþ"\9f%íëiÖ»¯j\8aÜu¦­\ 2v&nñ=þ\13r\93\16Þ7Q\ eÙ'\r}Éþ,:{\10é\9fߤ'a¥¦¾\1e- Ø§¾\8bÛ7Ø-ûîW\84òvv\eɳ7õ>º²ç!b}\90¯&\ fxo&µ·\1dY\86\141=dìJ\1fH\19\9c\90ñ±Mª£d=T~ÌäC\9eó\8aÃíª\9a®wQM\9d\88§Àë+\93¦ÔéH\97÷\19¿» fÎ=\88\8d[7Ö-Z\96ýR×FÆàü5C<LRP\95·W¼:x«®Ã\80Ú´p£cúhÛSw\9c\14\89»\10ó\9e\88K\1d¤¤ù[\1dd\93ûtßN%u\18å\1a¾µîr/pF&\9c©·t\9dÎJ!WBÞìé}±;tlEÕOm\8féA±\e¹:\8b\9d\9crëË
+¹H>Íó\ 5É\92è^\95\95u?e\9eûtk]Ù\fû\93\84|³¨\ 2ÊéëQW\19û´p{£¨c5\14ö7·Û\8aäy'S®oã\1d¿\8e\99¿\8e\9d¿\8f`߯´êo³ó­2\ 48"@ö}\7f\ e    +ç&å\b\92_HöÁíw-§
+¹ÕaQ}ñŬ ç0ê}¿\15×êøÀµã%nM\ 3f%q²:ç¸\a ²M\91ú§&Í?¶~ø»\94\82êxò9À\8f¿y\1eº³ì¢K6\84\82ë\9cW¶¢B_·7\r\9bÊ\91\87¶¡\18ÞÝ4\16çeu<d»\bqöí±séD\95÷\r\86¼Ó\84¼ì8\83¿(üC\9dNå!æµ\ e!Êk%!*D\17k\82¿¨:ÿëþë\82â¿Ý\7fÜD­N²\ 1¸\a-LôãÙ\1eúRk\95Ü£\9b|qýSxõ¯~q\9eüë\9b¾\82®\ 2EVKÏ\87Uïé£Üø\7fü÷ë!\1eDbõç\84\9b{AøØQ\97\8dÒ=­\eV\83lTzÕÉÞµ&ÈÔ¸IþóTÕ\92\89¾l±oËæÆ.¹Ó÷\89M\9d{ï2ìD\82»\ 3]Xãë\93Î}*'/¦VÔd\9a\ fï4zjO"\8cK\92v"TÝ9þ;\13[v\ 2'v¦H¿Vd\8b\7f·Ã\97å\907_Ô!ç\9bQ¶4\8b#NPÝÒPTú´©÷)éÙ÷I)\$\96]>\1eÀ÷Òã\8béÊRå?ÙbøªÞ«ùÕ¸)¼Ã\80\90\ 5\93B\19«\9d¦jP\11cîÛ7\ 1T=q¹;?\ju³\8d\99ê\83©È\13?\92Ó)èÁÿRι¸lpæ#\&ç4³\9cFïÁRê\875p\16ëQItô+o.×HÝýt\90]¿\1fNØÊ·Ê¥Yt \ 6ÿï\13\94\9d¹BóúðÀkN\94\8cê\1fhS\88\bà\16\82öÂþwé\87\81\18Îè9Ö&\83Îïý\84\a\1cÇ_9E¨\87­þ\85¶·\11\80×8\19\vÿþbF·\9e\91\8dÏH×sÒ1ùé\1d7=#_ÏHéùé\1aÄ4fè`Ýò\88\15òÞ¯úTØÞÒ\9b]í)±ý¥7Mí)µþÒ\9b§ö\94ßÏ\1fÿú\8fþ©»\ fSÚ¥)ÿ¸\89Ø¡ä7\13Ï«Ãüëßû/}\8d\e\ 3\9fftߨV\16Àë\91Æ\v\f´¡\93¥:\9aª{î$®]l\r6²]s\95¶J1ïólÓ~¨Ø\86Pµ{õçÞ\9d\1c\e\97«°­«é\ 2ó]Ê@×\9eý 8È\16\vl\e>°øë.\17=â%rÕ¼JCzÃ#\17¤£&\fehéX\85kL\80®=\108Rk\92ni\93q|ø¬\17>½bzvæð×ÙÔ¥M]O¹Ü{\fK\fÞ¸Û¼£ ^Â\bî°¶ÀÛí\92¤¾¤à.ìxeÉð.Ô/ÿrg*ðRÀJ¶ÆÅNç\94©¾gwð8»\8a\9a®±<\;\16 ?lÓ°0Ä8Oܽ\0y\88r\86©¥wÊ·Ö\9d\88ßÕkë0z¸KöMOÁÃÔ'\ e\b\87\16E\bQÄã»üä@±ÞÜ\9b]\98Ïû]\8d\965wìj«üÊÍ_\1f\r©Û\1c\83«©ÞÉ\19ì>Ì\15_FãX\95ý\98 ¸½êâ\8aèfß\99q9§üËiaÙÏYGY\17\15Ù\19Ë~#¸á¹Ö\19\90\aìüZÃäסÕ\97rkNî&Wu\9d8æê(òã\1agºDûü½[k7Öýª°p"ö>²gcÇLÆõ\931¨&k½dÍu\ 4Ì\7fY3\1dãtïÞe`\89ª\9eж,\91k'JìU¦¸Ý\\aHXr\ 5×\98X¦ór\8cÏ\1dÙÁUÊ\8e*\87tÓ¿,'\17sA{ZÇdePÕ\88®ÂÏÜÜßF«ò0\15ïÙã\80Þk·òe}óÖV®ª%rºÞ\99PvN\12Ã,û3mòLÌ\9b5\ 5Í[\8b®4¬d:Óß\9e=\91åb\8f\16\91PÜv\ eÂ\99p˶¶ãlmÆAÂmmíÕ5J17\86Ô÷aE½KEl\ 4ëJb5\9f_\95@ûÜ*\1dÛÊ\e\8d´°ÛìZ\e\1erìR\0¶ÆL\95\9f»9ö\89$Íò@}\96\a·ó\99fþv<³×0\17«~\81ûö~õ½®\vL\rÉ¡j?¦|æ\9d\8a\9eU&/wÉ0¿6\91ë\9aã\91f¼ãר\1d\1fõÊ^£ßºN°ÿ¾ÀÐq\8eV\15\1fó¨:O«=N¹¢lN¯¼.\83²z\88û¿5Ú·oRÉ\82\9eÃÞq~ÌòxO'ápRߥ¤¥Õ´\f\14¿\1dIÏVë\1dÊÒ8)\ fÙmµ­®\92»\1a<\87¥?t\1eì\12\93OdÖË\ 5>=\19óë( éÛ#arúïùrúïìrý1×\vì\9aÙê¹\8bîg]ê9\9d¹ïí>RjÇJQ»\90§¯ dú®[\8f\124Ö7컫a*M³ ìQ\8fö¨t\95\9c7V?~ÌþÊ\8b2ÒÆNë2}6o³2ݱ\8e°»%»_\ fh\17\98§Q|\8d\13èέnÙ&W¼¥cñ\86©:Î(ÌN\82s\10é¶Ý¥\90\1do\93}\88ÒXÍ`ª\ f\15í\8bÞ]I\1faBÅ\93öê³¾óqZjåÌ\1e\b\99ìö³\e¦ÌFÃ\aòZ­ÁK\9eÜ8\r\91ïÛ\92ã\96ë¨ç{Aq\86Ä{-0I\v-\1eßx\90Ñ\84àK)w®]yT\ e»Ý\1a\83;\r]e\91õqq^     Rc¦ÿÖ¥]ÎBA¥ß­Å\13*:ÔÀNÜD³z®\19ó\edë(\7fá6Üþé¸bR3\16\a\r\ 5\15ÁÞ\18è¿p©\82°N\8dç\13s5\9f\88ø÷IP´\8d\11ðfý\9b(|ZV
+x,\13ðÒ¥\82¹\1dÍ\14[­9s\9b\12ßeÒÊKr8¯XßýãÜ:Ü>\1cl>\1dsÜ=JUW]\9f]vSõÜ\bf<¿Ê;\ f\1dóÛüýÓ\80ùZoìðøøò\8aêPà|öÜRnÎÉ×-+Ò²\82ý\9b\\85õ­Ö\99Ù\aF\7fnpå|\98Êݾ\14z¨Ó\81]FuQ°bêR¼Ë¨ÐÎm\ e\1e[W¿8ÑÃdK\9a\96\UñXþ°GNyÎW8Û+\b*º¶kö\82\1e[\ 3\94ÒVl®oQQ\9a\92o±Æm\9e³IºnXRê2\1dw¨±â¹ÊÎâÛú\90\ 5\81\1fRë»Ua]\81O\9c¯­\e\8a®²è·Réû\ fHS\¿lºkß$À+\93ÎslÂ1\13\7f¡|\16Ú(×M\15\84ßå\1dX\97\13õºB·òÒ£\8b.íª£`\9b\9c\v\9e\92\9eßP$¾ë[\)Wêµ¾Û×([\ fý®å×*\92w\ 1'\89¹HÖã-$¡ß\9b!¨ç,\82ª©8ë\ fÛ°ûÛ.µvÔºN\8b¬\9e¶Ô\95øL\93Ïl\92¿qW\80\83M£Oÿ¨ð!Ë1(·\95Ù§`Ú+·´9/Ò÷\9dJÇCv\96iý»mázô\9aM˽\82\14»tÁncð\10\v[áãÞ@b\9dµæPtX\8dfv\14[?5G\88Ò©;¦Âß\ 6\85\1a:\8dÝ\85kê·Û4é_6\a¿ÜÞî\8dC<g9\QIêoè0:¯ã\f#Yn\8f\81Åa~55\8fª\85Å\85\96Î|\16Ì#ëÈ\87]FC^Øìêò\ eP>Ý\b\91Q\9a\84\85\8c\ 4w`º¸º\88\rÊXâñã2µ\8eýº \93±\8dÔ#\7fü\8b\ 5íÐÈ<ÞUîµ\91ÉäGåfÎ\k¿\16X7ì\95rRÓË
+\92Ä\rª\e  \94\96¿~Z?R\8e\vê¢yË\fOÂ=­*¶ø\ fZÉvôI\85ÂõðÔ\85½Kù:Ì´²\86½9b]X%q»Û\9c\99÷/L÷x\92\8a²é\13v\97'ÖMû\80q£±I\97ð9P\ 1´kþ¹âa³Gþf\96æGÿ\8cu\90\9fd       æQ\84ü,¿òÀ¯ò³ò\90\ fÝ\9cÍ»ª\14\ 1ñlV|\8b:N/.7'\97]ÉåÇäòôÜ\9e]\7f'\97§N\4Ô`\83*ÐpJ;\11\v&º?µ(È¿`\17\88\9d\ 3.
+\14r\92\ fê¥^å\90É~³\1f!\vÚ\9d=÷Ñ0\93µÅTy\bzj\9b§Q«u«¶\10?§uMY"öRÛwAK»¢a_  ½\10\8f\ 5\f¬­O¿HSÌKrÎ\ 3o\aðÖ    ~\7f\1a\95ã\7f\ 3\v©YÕË\ÌE­ÄÙn=C\83/£kU¥4\9aî·2\8e\8cë÷<\15\v¨lÚ\9d¯ÆÉ®G1\fWΠwÅû\r<ôPï¨PQ©T.\ 6Û-¤böÔ\r®ºÝWËxxn\1e;¦´Õн~\9d\9b\8a\81­ýi·\92\87méÿ·\ 5c\11ÿG      d\8dk.\13-:<Oü8\Ç\98\9aë\91ß=ÑÁá±ãÎãÝte¡@µµ7^U]ru\85Âî\ eî¢î~ë\ f\9f£2Z{´è+{¶Ð\1fµ{ \96®\8f=\98\û¦³\19ic[Z6R\1f}ݶÿþ®RªÎ~­äÍ\92&bqÚ[ý\10Ö'¦­\91Ýò\94ÞÛ\f¢l%\92ßEè\1erÒ3ï¥\1fÌs-¯Ù¡³Ý\vUÒ<s³\13\96\17#àYc<¯±qÐ\9cë1С̷\8aá°\9c=C7ï\9dA\86\ÙÉ\bµ\94'Û¤És(]\16å¶Ê_\ 1¹\16M\a\84jLöô_ùé}AYs\19m0æüMå#?c7qª{\93VcÐ\97N+Ö\83\95îÄ\83#\94{6 \ eu\87ª{[®/7¨f´¨\rí\9ei,½Ýß+¯Ä³\0ë\15²\ f\17£Iêà­7\82Ò]°T÷\9a\89\9c§\ 5\90\87kf7£à¿iã\9fFÉ'-,G2Ð\9eì\178ö<\8cú*\9c3ÜÝ\99A\e³ë¬³Þ\91\16\ 2ȬSj2\15\9aI\9a\9d       \96\v9ü    Ö:\9b¬³÷¾¢¦Ëïßdt®k\15Ö¥ÌU\858Ya7eøUh\9a¯¾»">·\10Ó\9e=\ 6ýj\17å+á        =:ê\17ÉlÆû\14£c´2\0¶'f-t:ç¡\7f\97á\ 35,%p\97˧Ò\8fV©Ýâ*p_ÀjHÃìÀæ\eúÚ°ô¦\87Ç¿¿ØRnvÔYlöÛ\ 6eÑè{3h\9dÏ\96Ù*iô@·í0ð±\15Ý\93Ùcë)\11u\7f\85\8aÌC§³\ eü\e\ 5ø¥l5k,SYÈÁÌ\83\ 2çQùéºýªXØå¤IÙ\aYIÐAq¢rÉ
\a
+¿~qágAq\\96º\13demÇÒ\1c;ð(t\vv^4mÄѤw\ 4®ÿyã¢\8eÊãw<v\8f\f\8es\90Ö{9¸    Ð¨ô\a\8bBV#b!L9A\8bèÞ°ñÀ¿ÔèÊì³é\95\97írÞÝ\eS\93Çjk\87ü\a³tm²AºÔf¹¯o\90÷+\v¨¿Ñ&é±×Q¡À2ÐsÛ{\r²\11¯¾9ÒרE­\9aYçî\12\17·g.\9dõ+º?Ü\90§\15c³l\0Ýc¥¦»è\eÓ£Ê\ 3ú\14\9aL¢ÿtmUÓGó!\97Q/R\11.\89\f\ f"ã^º\1a=\12n¹-\97r1$\9fæÖ1ÅPVô²\ eÄ«\aDGÕÑ\94\8eÈè0ºÂ\83N1w\14\ 5\ 3WÖ{\14°ÀÝQ³qã¯ø©Zk<,^BEõuÿe¶\e°Paq9\9cYþqTz´\84T\92^º"+1þ³ýó\12u\97P9¦¿²\81ÜüD{ö2ÖPuª¸¨í²ñ\15á\9d\93æ9Ô+_ç¦{\8f¦{\8f\1e½î>\9dî>\9dî>¡î>¡î?`÷\1dÝ)%ÄÈ×\90º5$\98\9aÜéö\8a÷a\17±V¼äo´:tk\8fk©=¯³$ßг\95¸Î{¥V¿ÙÙß°\êZmîw\1cÝK)ìîR\ 1·i`W¹Iìaêps\92\9f\9c¶Ù\11Vµ²µ,GªR¹§¯ ~à<wÕÔ·ÙR.ù:\98Ì\16RÖXlêW\95\8aÖï)/ölnöT¯èóiY@gRg¬¡K!&Kt\9f1NÇrT\19ßéQîÃK;.F®ÂPë\19{\91ä\85Ú\19\12]SÍViÀ\ fR~µVç3V(÷X\8a<Z\1a\ 5@þ'\11Z²Å=Ë\8d>\98Îù=\18zJ\1c7 º«+=r*¹wô­ýëO÷Õ%\92\ 6¯\ 5i7~ñÛû¾VÝe¤Ù(.-\8f\eï[jo\13\83I¦â£ö\14+ÒÃÒ b6Æ^û!õSê¡dÑe\93\rþÔæî|\172ºjNµíW¬Xf­×\16µ\1e#Üt§t\7f²\10å*&v´P6g#9NG»£ÉeÃ<\8a\99B½JSYÕ\1d\99\8c\9cü¬ñû0ªÛ\96ñ\81§ÇÙ\1fXée%¹Énû\96\96\11)¸>\95bÈU¾b\86u\ 4<\ 4òçP°Nß%»\8eå)  »§EÝÐSÖk½\88X\f\86ìÒ\98<Ô=\86æWqö\95w0=Õ\15\16\12*0Éöæ¾·µ»GÅün\1f\v\v\9dAÚq\9c\8eÐõ`ÿ\92ô/æ7wA\17î\ eó¾ê.\ 5eþÚÛ\8e«ã¢a}<uW\9c\89\8aÙrîÞ­s\ 3Åãóß¹\17Ãrù·lu_9\ 3ë£ã{\búïa\1f\1f\ eæ\8f\r\f\9eb\8f\aU3¨³²Ü\ f       ½8zy}W3ÅOÿ\83¾ÖâuB\1a½(\ e\1a)7)ok§Y?×\7fø\8aø\ 6ôñ\7f¾\a1°Û_÷Aî»ùW\18üô}EÅ\86\17æ%^\e´°\92îé\10»+e\r±Î£t\94ÇÝe_À3¡®êàõ
+#Ë£2>å,\1a\ e\19É×âb¥´5k]¢«)Wudg`b«D¯¦\bÓo®³\83êÍ\7f~®MD+\14\92\8f\9dE\94Öÿ\v'­m¾=\89Ú©zo¯\ 5»mò\89¼Ã\9au:²Í7ý}\89Ä:\836' M^©ã\v\1fÙ\190¹íê\95ðu\v\18\94\94\98K\80±ÅܼéRé\8fj\97Ñ\98H\1cóW\1d\ 2)z\16ÓÃ_B+Û%¾Uu«Ù©þ®\80×\1d\r%Îq\90_±:uò\rO_÷\19?ºäþã§÷¦Oî½?½:5½\88\82Ý¿%Ðö'Zþ\1e´³\10úw?¿H\91ÏOÝÆQ×CÇ\9aëvin¿Å_à§\vf\98SÝ_v\v\9fÙ_uþÂÿ¯9\18t\9fÖÁì~ë\ 5±¡j÷~ýÏøØL\83è\91ø¬&Äã?~k\8býWå×HÙ\ 6D\8f\19º­i¸;\90®®\8c¤5WX-ao»\8b.Wµ^?\9aÜn\ eØ'ùXO.\ 4<æ#cù\18\7f6\ 5|Ö&»\19½^¬+Ìd¼\84﮾Ü'P«å¬÷\rçó\15½kYÚú|_1eÅHó\16÷úÙú\95a¼Æî\å öìtî\åã\18^û"XKøR\8bÌ\13¿¾\aÑ\ 3\97É)U\85ë\83¬\92`×ä\ f\9aX,ø\ 3é\ 1érjV`\ e\8b&xA¹V¹;\97\12÷\85¯\88\ 6?D¼uðï\80\96ñtå\86¡\1f¨\ 4°ÍvX×C-\89õËf\81ÒÃ;9|7d³|¯ä\96O\8f@î:E+¼\ 3\1f¥\v¸\1f\ 3¦R\8b
+v9¢ö\1c.QJ-u°}¾UJ,ZLì\80\96\9fÄü09\8c²\94Z\ 6\92\96-\98KM±=±y\9dÈ\ f\8a\aÎ/\89\au!\87\81ø K\13\10¾\10\12Û(\17Ì\ 2X¸Í/4½\96:LËA\ 6\9f\18      k\ e\83æ\ 1â\81óÀû|Ò\95\95Í\1eWÉUá\81ÈõA.\ 4±4;¨\ 2ZÉq\96ãoþ\b\12Ì áo9\16X\8c\91ò\0\96:>ý 9?r\1d|\rx\12ß;\9f¼\ 2X\1e\ 2X2w¿\ 2X\1fµéÓ¹i÷àp:Å(µæ\rèóÁ\7f\ 3\9c,\119\ 1ùå²\12À\1aüú\95Ü\ 1/R\ 2ù\0\8f%¡ö½è\1dø\1e \1f\aO\ 3½\ 3Ä\ 3\9cëÏÒ\11ª,¼¨ät\ 1ÑÀ\96\88-¾@\1c\8e\84'ÀÞ\81ß§r·/TÁÇ\ 3Ü'r«ß\81ñ\0ý0%ê­\1cà\12Ò¦§¸\ 2Z"LïÀø\80KQ$òÙU\878\ 4¼\ 6ë­\ 2^kK½\ 2Z\0\9bø@\7f\96X\1fH\ f\13Ú\81ø K1\16\1e6\95J.ô#\9a¬-`I\ 3É\81úÀ}\0%ç'}\10\1fA;\95\P:âõu$bɸ¸~p?,\ f\94Y*þ\ 3\95®\v\18\1dx\12×à§½®<ø +
+8\88X\1f\8e\a\82\aÏ\ 3\94Ó\a\87¯\11\v\ 3Þ\81ø | %ë}ß@\ f\8b§R¾\88\1f\18\ fÒ\ 3å\81ó@\89èAÁ{Þզ߿ßY,\ 6@    ,Ò»)e§¥\97\ 3³1\80\12Ê\ e\16\7fÀ\bB\12\1e\80Â\ e7\e~ól\ 60\9eó÷£\8e\ 1\e?ÄV8X8Z0Æ\11.\9a"ë \854±M4B\96©¥\92«%º£H#\14\86)©)â\8a\10®$'¿?~ýþþûûß?\8f\9f\8f\ exp¦a]\9aSK,QE\16Õ-\14·T¶âª-ÁUÛ\83-Á¸2[\87-Á¸2Ë-\92Ü\99eVY,·=[på²[\8bse\92Ü;«-Å\96âËpnmÁ\97¨<ý¬\96[$W­Ú\85Ü\ 5ñ}ªþr\ 1VÁà\ 3¾\17;.²Ý \\ f2²ÎÂö\9eØ@ø^÷\9a\10¿ÿá\95ákBé\ 2\97¥åÞä)y\15\9b»\85ê\82\97î6ÿ\92\17n\17t\17\96Á\b+
+ô/Å\vâ\85äpc@ü\1aÿ zWïCGf\16ÿ\84/*vë-Û\85ñBÊaDS\85ÊáWó\92z¶Ã
+]¾h¬¶\e\9c3&ºÐ¶\ 1KÐm>¤/\8c\16é\87\10®^³6\86Ò\8f¿A\93Ù\19;ßÂÕ\ 5ì\82ö\81{bðÊÜ\17¸\vÝ Éïâ\85Õ\ 5Õ\85Ö\85×\85Ø\85ðBí\ 2øAvá{\1e}e·!t}\0uñ" ÂñîVZT¹9\89\ 6Puat\81{P½ð]°Y)\85\96äÂßBáBäBæÂéÂêÂøÁyi\91¦\98Z0½¸[¤ÐËpµÁu¡|`·I±¬XWX¥\96©A\95\1d@_\1a!\94û°µÁtÅíl\94,\94àÑ,,\0¸lh\88ðµAy<pÌ0º>\84f¸]¸^O\1e\1cð¾è.À/#:²ØÐ¹\10º ºùÓ2\9b#(ý|ðØW>\19azð¼\99z×U\v\9a\v£\vµ\vu#$°º0»\10·Ô\19\82ëÂí\ 2îPd·t\vu\vw.\9fèBóH2_©\v¯¢.ÚØ\ 6s\85Ý;\10æðd\98\Ø]8]`YZ0Ó\vÙ\85Õ\ 5ä©\ 4)\85\97\v\88\vÐ\85¥\v\0.`/b\15í(Ю\94»\80^\19×\90\f°¸Ð¥ë\82¦\9d\ 6Nuát¡u\ 1w!`dCL/©É\r(Âü\90¼\91{r¼\v\96\v§\và\85q\93\e\11ÂçB\97®i]¨^L½s\15\ 5Ï\85ãr\81ï\v¹\v\8c\9b\v¢\v­A\92_@\17b\17\1f¸\19^h+°¹Ðº@½Ð^ø.!ðm\85Ì\85×¾/G¾B7ÂæB×\ 5Ï\85Ñ\85ëBõá{ ½°^è,»ñ \98^Ô/t\17\9b/o¶\81~\18]X^_¥\e\ 6ÂêB÷¡\Ô\88Ï
+^àNø®\98A8Z\80º\90ºÐ²µK zÝeì\10å¿×å/X>ûê\19tÌ p\15«£|\14\19'ù8ÖL\9b\7f{\17\1f\18\9fÙ2×qÂ2Ù E\87'Ë2ß\82¼ uP\96½Þ\0\f½ò\f¸ø0'Á2ßjqº³\15ò(j_®üº\ eM#\ 3\86ø$e\rB(ÁÕCj\9b6Úo¬oX\ 4Q*76\5\ 6\13ªâ~ù\1594Ë^\ 3.\89\1a\8a¸E¬$ÁS^0êżï\9d@\1e1{,\f\ 6)©Þ¢ÖóPÀQéÍ\ fÙ¢¼\85&b¹K\18ó?%©>q\98ÛØ\82yu\fgÚnä¯\18\11\v}\12\ffQf\97¢^À[@\8b\97zk\1eݰÕ+\ 5\f\14\ e}¼EìÖ¡\8b \1aY3q3}Ã\1e\aÒìÙx\90çä×±\11½²m¼±3M{\10Í=¶ª\8c×Þ}#58Æj,Ãû\88\96TµA\9cP¶·h»r²ê¸@j)SìÁbè\ 3\1cÍu67\17Ûè\ 5¼1E\8a\97M65ÓÒÅêáÉ´Ìe\9dáx38§\96b\91\Ýõ\ 4
+\98\11\vè\99\82V0½\84C5r"içW­ÕUòUE³üòÿ\16Ëh|ü­dÍ\7fÏÊô\99MþÖWÍÄ3YýܱÂĶ+ý]
+OT\97ßG1o\88ÌU\19£ã\11\8a\vo\ei:nd­\12~¦ôRúÊØ¦wûÚv\1fôå\9dél\8a"\96ô\8dµghÇp\86z¯Ï-Ùá`¢¤ïÙþÞ\86©Ê¿>\1aTf\9b"\1am¡¦\81\ 2N>T2¨ÍGadf\9fÿ\90ÞÍ\92æ\ fÍö6î\9a_>\v\ f\ 4\80±\9f\94Æöؤ¾ç¿täϧyë´VW´Ý\96ád\8c\16\fÏÏãÒ \e.ÍõLJ¶*ó\95\rÜ®ùɵÈ\14\93[ÚHS³'kx\8d3^ îµ£6Wlh\87DıtáNÀgÒ B\85ÜK\8cÛ2â_"ï·N\81\ 1¸ò¤ms}ÜKH\f\15æ\ 6ÚBÊ¥ºµ\1a°\18nÚ½©³3ð\1e4éþö&º1Úñs%£9Õ·\86p*bù\8e;\8b-QìÌñÒ-æw¬=\9a6\15²ù\96\83û\88\95R®?@Î%¹º|C8¸?DÎ.
+ÿ\91ÒL &\81\16iôéB\9a\867\9c#::t\ 1\ 3¿\88g3\90\89³æÔÎ}½±jÓF
+\fÅÞ/]\9eÕåäåÔÑ1\\7f\1cÎe0§(½ÒM¹\84¯\17Û\ 2­µ¬\99ÏÁ±Ü\17\93ß\99È»GB\83gtAM\ 1\9d\ 24W¨þ3:Væ\95\94óz\84\ f]»_|=2õVy6\18'~[~\89÷*µ\8f«~ko{s¢m\fêx\197À3ßf!TgÊÿÈ3åU\8c\ 5Ý\89\9e+Íù\9fK3\92Ù.é\8aß:\ 6×ö4!'>¤Ì\8c^XÐÔÁ\Ç54/¼=\95\9b\0M·ÁÚû\1a\86?\82d\96û}\10i\8f»SA\9b3@ôÃ:»§ÅóM\aÎÀ&ö%ùïé\9a\11ÌØ\8ac¤Ï÷(½kKÏ¡\1f±\9bv\91ûhh\83þÚ\aÿÁ£MæÄÑ¥4\9b±\8d\19S\98-Çl¾÷\v\1dÇ\8b)¯*¿Æ¡\12\9d^Ùfjb¾\r\8c\9at\99\98¤f­ÆôÑNY\14Í/ؾòÕ1»\8eÏm\1f(¼xÞ\18\90\1e\ 5y  .\11F6R\1cúk\1a4¿õ4WáÌSz\8arøº\0»ßh\ 3PÀ?Ê®\8c~Y\9fëÆ\ 1\95\8dú7Bà¿Uç¶4eu¼\9fÛ\1ai=´ºØÚ\87»G\94HÖf§áQQ\aþæ\91íF\8dë}T\1f Ò^A\84¼\83Iy\ 6\92ò\r%äkÿüÆ\92ðwøY\ fÿñ?ø\1dä\84ß(Ò\9dDÀô(\ 1\rk
\15ým\1a\7fQ¥n\15\17\a\1ax\966¾    ¥¾SzioäÉ\99m¶{0ݯE\87ç\18º¦jë»!\17W¶$êñlbì\93ÞÁ²4¹I).A\8e\ba9¡'IÊa\10$<\8f\açØdÓÂ\ 1´\11,2i UòÞ\95SKùÐS\ 1\9a\1aÔÐ6ð,\94n\17\ 2ß*2TÝ'Ü"øfÍ@+æ)¿Î}*\84ÐìêýÒ@&tÚi4ùòà'ê\9a~ÆÓÎ0\11Ë4Á®ì\9aiÒæ)¨Ï§\15?`ÔV6\95­\1a\8f«![²\fú\1aԾ߿¯Ñ]R\9dlݱA\ 2Í\«uز\rJ~Ñ©M¦\8b¬\9a'ÑD´\98Ç57\82\80Ds\13       ©ò\r?U\Wè\9a¢»^Ï[@\8b        +\86\a\96Ë#vldnÃû\rRZß\1f/¾51M\14\1ak\bâÝgÕUÛjjª\92*[CU8²\ 3åøOëÆ\0ÿâîAT{ÿ\81«+6\94WKÁÙŽ­\8b\1cà\84áÝÿÏ\90úÞÔ\17þ=HÊ\8d]r\eÉ+,Ú\8fÕ z\82qãX!x\ 6¯ì\9aÖ¨\0\9aÁã,dõµ\f*4WN?"\80Tö«wã\9a\f´\16R\96Ú\82T\83ä¦;Ýù\ 6µµ\b«c\80½Aê´á³4oÊ-ù[ÓY\96jÉã\9aË·O7fk3ý°\8b\90\8aÙ­|hG\8ak[k  <3Zþ$\1fÅ\9aÇ\1a¥5M³|Ý tÕC\18§*×Í5¿Â0g.©ªï¢q\ezm\166y\8eÉ®)¸ì\9aá\9dcIØ\9dåQ(6/\fÙ·hÓP\9a\r4C]\17kÌEH\18ÊE\17ݰ(nsQÔG?\14×}\9bK\9ag\11Ë#mª\89\97Û5ÝàÎ\8d+\13\9eB W\9bö\vnS¡Ì¶ü×\95VAÚ\ 5è\1c^±¾lêdY\976£]8湪s[5Ç|\8d:^#o[&·ª5¯gN×Ì9ùH\93·YÏÖìùþ\81®}\ 3\1cE§úæº-Ö\18Ñ \1d]æúwÌ®ü×=\98±È¢²F\v\15\7fH×=S¨Ö±¶ \9d\93M¶ËsØ]¢ÈsÿF»üJ*4\9aߪÉïhkÞp×L¾¯çs\aÁ¢U«¶\ 2\b\96\ 2\99\8bé¶0·f3à2ìÄ\8bx\ 6¿-l_I­O\ e\0í\8d\98Kú¦ºìï <éuc+F(GZm¨ø++\13;f½>NaÆ5ñÊo/\1eñÞ´\9aùù\8fJ\8d\92\r~ÿ¤×îÒñj[]R?Æù\14öê íi¯\95\88×-\88±æÍùÆÃnQ¦­\ 2ûxÏe      Ðc¾ò/Wª4I;\1dn"$\9c\96åÁ²l\83\aDzШQ¦
+,\8b´\117N§#åÑNÃ\ 5\14Ç9\ 4Q\17ÙÀ^Á\8a\19\88\97ÚØW-¼Í<bû
+cÑ9Û:)âP|\9aóÍrh¹\93³sCg|¯\ 6\9c\96Î\rßD²Ë\96\8a²ñ,\9cmDz¢\ai½rv\88\83¼«\1a\8cÓ"ÝÇçé\92SìbÂKZ ­\13-\7fpÚ.-¶Ýõ\8cä¼\9f\8f¬:Ö;Ìe÷\97\8btÓÎ\99[\1d\ 2/*ª²ÇÔ/N\ 6óç<êÈöM°SD'\1a\8c¾
+(ðþÎGªbº­áìê\17ÿáþ\99·«Ä_ùâÍC´Ò¬Í¢üãp»7\9dZ¯ñ\1f\19\ 6ä~i­Ên¡*\9bSi\rv\9b«ä\e È7Aç\91¸¾\9d{­?ý\9b¡Æ\98~²üV:õ\8dTTn\97G¼ÃÆ7OnÅ\82ÖÙX?èn«\82±ºô­½7GÜ02.Íä]4 /·æÙ{\868\11\8f\82n\9a£nø?\9en¶­¤±dtÿ     »»2Oï[Ù\18±ÍÞùÆ\ 6\9bÙ¦«ZÊ\9aõìI'v\86Ð*¿¯ÑXÞKޢ¢Õ0\1d2\v"ãJ5jKzi\86N\93\8d6ðôÒ\98¿E÷f+\8fg\18lÁZk\ 6^ÙSÖÓDáB\9a$S²¤¤½öòN;Ö8\9cæÒ\fí\8dð\7fÆ\ fÏ5þ´!È7ïâ\e÷ÞwµL/\98ª\813\7f\99\94TNâ\18£Í:gÜJ\0\91SzÇ3\7f¸63CRË9\0)²¬äX\v7[\84î©\83\84±pÒÏâ\1c\ 4Û=2\ e\ 4\7fÌàG\87u\973\83?¶p.©:í\17¼ò\ 3 ãÖa¼\89KûAcS^\9dÀm\eÿ¦Ä\1aÑÁ*uÏnK\8bf\7f&ǵ7áM\» R¯âC_ô\1c\16ðN\ 3Üp¤¢­cJ>ò!¿:N\ eè\98£\85hßþ\89\8a[\18áåíVð¼_\8eÕ[\7fÞ\7fyÁÛíñ¸ûy\83\14ËþA¿Ü\83\7f¹\ 6ÿr\rþÿÈßî-ÍÅV¿XÍÖ¬\ 6\ 5´Ú\v\19òMô[\17\11ò\8e\ 1Õ_ê£\80\13©\1d\83½7¹~\8a\8avÁðï\fp\93Í3\ 6þ6bõ4ÖG\0®÷Ç\ 6þ[úñ\8a\81_+$ÿ\90áo\ e¾°§c[dªÆ0¿¹ðºÌ[ILs\86TÍw\80\8b(ÉÕòª\99µ\97åô@û[S\86y\96)7j\18¬ùØxõ·îÑ¿¥6e\17¶G\ e¯\91\1dï\91¤[5c/,®\ 4é\13%y\12Õ\86réi\18¡éh\b\ 5å\8d«\r5vðltMmãPr\vaà1Π^"¼Ý4n§=}ª8\97vVFVlõ?°q\ f\85Þ¿© 7QÄ\9d¶c¥ÑwÂtc\9cNþt\16¥Ý´¹)¼\89\1cêlÿYÅ\8c\1fÌ8±IÄÊ\81%âÁKN=¥½=£\8cÖÃêÒð´q7\1dõy¾8å\83ú.ºÈ8é{c¼E«>\k>\1cwÝ«¹m£\7f ß      «Ù\83\ 3¶Ë\8cr\8aÙÉËwYÞ\19Éé
+ÌͯÉ"x¸\87'gH6õ\12Wf\91?æ¡\15.m}ÜDà    uPhäâK?\9b_j|\ 4höõ\13£ìÜxây1i¢j\18Ü\ e˳\14|\1e\8b}\92¿Îs\1f\16\ 3Y¦#M\95Ö\85\e\9bâÜ_M\93\16ÕÃèÃ;æ7'ý8kp\80½ZV8\84åîôãÝ£\9cWëó0ïÖiÚ\9cËù¬ù¿\1e\ 1ü\93¢¿A³èG¿ Õ\90ts èæAÑÌ\83£\99\aG2\ e\8ed\1d\1cÈ:9\90ts èæAÑÌ\83£\9fî:9/[ö¶\87G>\10Rôð;.\17\10\14½<-ÓÉ\1fê­¼ù~«Ï\92.ÏòVX¿\17\15\97¤Ù2ð÷GË\85\99G6\98\97rÁ´«úRXYlÅÀ¼ÓI\86¸]\18]0RñÜ\8a^{\ 4\82Iu½¶^y\81®\88æÕ\19P·ð®PtË\0)zOñ/\ 6¾¥æ\8fÄ»÷ó.·øö¡wDu3qYn\84)uÁs¢
+^\9aT\8bÂÙ_±¹\87,/4]qÅ\ 5\9d¹\99Ón`-xRéº_V\17h\14ºnó.ê×åBá®\8bô\1e\96¿6ºå\82æ\82é\ 2êPuCrã\96
+^¬|úкp¥Ó\86¡uÊßÞ\85Ö\17T_\ 1n\yú's.ûa\\85èxòîñ¼Aß\1e}h÷÷¡{àºà¥ø4\7fn_²ÕýP\84°®\ 2Ê\85.ÕÝKÇì\1dP]@_\84\17pL>@CX]8Y/¸\19v\17á\85.ËêË©ùÝÒ\ eÍo¨æàß\8a\17\91\89t»;Ù\85ð}YþïÇÄ\ 5Ë\ 5ÔI\9fg\ 3|\87¬Yn\8c. ¹¸$)~Ô9Ñ\ 5ðBòþ´7Â\97íPÿ\ 4/%u\18ð¹`¥Ø¦nÀ¹¸7×\1f7\ 2Ñ£\9b\7fK¡Y\92èW\1fb\8emñ/,\8b<¸Yà¥Õ<      t-\82]\vwëB\97bê<R\ eÍ}\90\\b\PWeß\96X]\10Rìa\ 4½2Ê\97læþÈ,ÈZ`¥Ôƹx\ 1\86.nA×\16\ eì²Õ%å\82,-xRêh\7fX\17ov/\rIË-(]M?\85//=4áK©°rô\fÿ¦p_°\ 5Æ\9aáv¡wHæç\9bê\ eèzн\90_\85Ê\1fï<˨_\14\95\19¯Ê¯×Ì:ÅÑ\9bÞT.`. /f\17¶AÞ)xÍsøÁu\85á%­\az¥ßÕþ|/d\17\ 3÷#Op¥àÆ$º!\12\92»\8cç
+^c(óá{\10½È]`RöÚ¦±x3/\vB\17´\v«\vó\ 2Û¥\ 6I\85\97\v¤\vÛ\85ä\10\87G7VõáKÃÒ<\97,²ÞÀ)tKÓ\9b\v× ïǽ\v«
+_º;÷AKÀ\1a/±û¥ý!\e­È\ 5/M\88|°[øRñ\a{=*|Ýb_º¹ËÀ;\1eÌ.è-Êòg}·ð¥éÛL¼\ 2×\97\83\9d<9~Q\ 5Aà)x~YÆ\85\9d
+^¡KËÓo\1d\7f\12Ûåúý]bó\14ïR\14¼n\83\97\91É¿\84\17j\17\92\ej%\82\97\93\ 5\1a\90ºP¥û¨\eVG\8a!KÓ~Ë\80¥ë/G
+\17\19z/\19\13ïGÍæ»\10¥ø\9dw\98\vÍ\85\9d\vV\17ª\v§
+^\9c\bæó\1a\10¥ã\1e7`\16Ý}\19f\16\99\1cÞ[Ö\85Ó\85øÁuÁKÖ\8b­ô¿x¯\ 5Îß\97ý\7fαyp\1dÚ\ 5ñoËþ¿ïZy\a\90<o´\19F\17\98
+è-0\è]7´?\ 19{ ²ÜÀ\8b𺠻P¥éãþ -\80^¸.¨/\8c\83È\9el¼He\85/PquázнÀ^ø/\8a\16K\06   \85p\14¼#ëßð\ 5ùyLd\98Yд¸\ 2òüø^uãÄ\13\85øÁu¸\ 3ðqs,G\9b!]\85\80\14½>cö¡|\10¿2]\7fSÌk_Â\97ç z ¥á(\17F\17®\v¨\vÚ\97VÇauA|ds\7fϲ\v}\v\83\v2\15ØW¡z ¶\ 1}Ø^¼/n\17Â\vê}°xËò\18¡xÞ\v\v`\17P\8ep\1d×\ 5Û\85ãy¡ øY@¸\80´ÁKÔ\v)z\81\8bÖ\ 5.\8f\85Ø\85/8\90ÅÑïìÈZ ¥ùì<½Fhë\82øAn¸ ÷\85\9e\v\9b\va\82?\ÿz ¥Î¢ranáq\ 5á3<.X¼Ä\16\85/2Ã~è.\93\ 6¿\84ù5´á{0º\90½è_S\84\11\ e\17\10\16t-\80]0]xRõÅ»ì0«-{G8>æ\ 2\97 eÞô/\1a7à¸\v\83
+^¸âó!l\ 2ö\81L\b­e¡C¼¹öï=#¢øPùjLæ?À­ÛCè·ÿwó2´÷·__\ 2§\9d¯\9fÙ9Å\85\ fÄËj'öÐÔs\82 þ»G\8fÙt],Ñä\1aqésaCý\95¤,[\85Ûó³2\8fÍ\93?\8bOÇiYߺ?\8eߢ\8d\99°¡õ:\ 3ÿõÈÿúɾó\1d\81\99?\9fQ1(ÿ\8c«ÑãýïP\7frÈú>§\11\8aÛC\97]ñã4^\14\ 2ÁÞ½Ï]\\87åÍò»\8b¤ºNî+:9\8cÔ\ f\13-ÒeùÇ\9aK\ 2ÅùG\150¡ßóÏ&»¬~¦¥//2ç$þ\87Bnþ/7n¨¥Æ\14\ 2\8c¹\9cã§Ó\ 3=&^õ7\82Éçè®Õúiå`ù*îÒ\83¾Ñ«\aòçõsg\83?¿¶Ì\1f×ñ:³û\9f×UE»È\13Ã{Z.\ eø¾\ fK\²3¾¦¿»w¶\87\83\"^l}ü(\18\97E\ 6¹¨
+a\96DàèýÊ!\7f\aFy{\9a\81p¤Ã¼ÀÌ÷==ÎsK>oyaÿ&°¾fnÆLûs«fy\9b\18\93?UÓy\8còÉÝ\93˵!äì\95$víò#uF»0¡ì³%\15÷77~\9c±<\ ef\17\85\ f\v\97\92\1a\1dÊ®äÛçxºBÒuüÍëÜí¡Ë/o\ 3\ ekËgýF\9dþ\9bÿQ=\1dÿQ *¢\8d\93@\9fO"oµýRú\9b¦o\89êú\9dlçò*ú\97Æù_]^M¶¾ìý|
+Ú~ Ø)2aeÑ-1Ë`ü¤áh\1fƹÍ@,ÃS'ÞQs\ e©q\99ÜU5OYS-U=¢K×\94ÑKôÊq}ýuCÅ`Y°û²õ\93\14\9dÕbù\1c÷½uS_Æh\8f\1f\ 2\8f\9d{\85Ë©\9eP\12¬\19êâÕ\87.\14:Q³6ô?þ\99íã£8Á,±=£~\91\88­\9d+\98Õ¥}\82l\98\89\8dÆsXy®7$Ô[\9b\1f\97ñØð¡óô=û£\86ÔãK8îînn|        \8e{©,KNYFO\17I²rLYÙ\83\84ÓÑ'a\8cí²­3É\97áÍîêöý\17aZP{\9bsáÍû7E²\7f»Î×Ó§@ÿ²`\1a\9d£íaÏKÿ\80÷\9f ,ÿ2÷¸PùL\8eÕÙ貦»8¿ÇêºÊ\99:\12ÑüØ%÷\9fÈ\9f̰©ùç§½c­\84á@.     \8dCS\83Á#y-Ê\1e~\9aáHX\9e*ö[ÊîPï\8fËOr}S£½\9f1DÂ\87\89\98æç\v\1fl\ÆR@\7f\ 5â\Ô\8f\87\9b_YÛbäñ½\97/'\8eÖåö\13\87\9bêËùѹ\9d9~{êO4Kb]É}ºêÕ\ f²Ëø~áR\ 6É\9eX\13×U.I»%þ«\16M6K
+ÆÏ½\ e\1dâ\9dszÏeì­>Ï/©©ü'\9ctú\½\ÝnM:ÃÂ\86Z8ôUµ\95E£©@/y]ñ:¾ÅáÇOÿs\ 1jv¯ª8JGÛ\86>g¶ÅLS\83þeÍfq,}¤ÙF¿2æ;.W§Î¹i\97Êd£²ò\13\eZYdÉõµù   «\8cÌfju{&û[£Ó\85Nº29~¾AX¼\82qy\ 5
+Åä\15\8bÈ×þG/×È~í¹~¾\14\17R¼Ë\94\95\83\94ÆÜ$ÑÎ\e\8dËö%4d¨ÀÎ\8c\9fßLßóÊûþùW® nup\15Ø¥^°¡Þ1ÜtëE\ 3ç:\8fm\f\8a¹aCë\1dnêöÐÌ«uyÄø³\9f¯®Ðg4\14\93[:ù9Ê\19ògæ \e\9d´ç\9d\1d\8ai\aS==\96éÑÐ\9b\1c²DéuärîÏ\ 4£\ e<"\95\ fyèëü\ 5\ 2ç2¦N\84§8í¡ð
+\ 1Údð   ýã²b\93óÇdÅ'×\8eÉåâP\96\9d\19\9c(|æ\8f¿tSÓJ\16Z&ß\85\ eRs/\8aù.z\aô:\1cn?W7¶\86ý\7f\15Ógª[\85½ôÏI\97S\8f(6)áQM?qs\15\9esmYiú$éð¡øs{'%CÇ\9dÅ\13ÚÓþy\9bÿ¼¹\16dÚð¡ì':ùþÆ áìèHË\12X},ÿßWÜfJ6ýôϨ¯îó¿vñ\9aDûRnXPñùII¨o\92®ÁѦ\81Os=\7f\98\1f\ 3«¹Î§\ 2T®å£¹TûÉЪ§ÅT¸\7f\\98\94ò|ê\98SK\83
+\1d\85&j\ 1aN\82\f´3I\1e\99Rîü\8aÒÊ5\9cÜfp34cJxĹ0¡\95=iÒ\85´J÷fK"Ubu\9d1nE³%\89ôò¦ýùyS~ßeMûæåKD\9d0¡èñyôUeàf~\bþ½Q\96A«/Km\8b\85\95²\fª6ÍÃ*v~\82·m\f\9c\98PîïÍÇà\92S¦Cù=þ´ifU\81ÿ\ 6d G¥_Oûêô½¹ÜR~õ+ÒæÜ\\95JÙ5RC\8fycâ§E\96\8e³G\87y»«ê\î\\96\9a\9b\8a'\v\14\81²|Î@:\9bôµ¸\1aS©O÷n¥'\19ϲÄÞ\\9eVî§4\13ÅK\92\9aGÕ7Ó \±§\14²9]VG+ªÈåu_ÖåuS¯ëºã¹L\91X\10N¿Ïõ\bGÊ¡§] \9fÈ\95Clþ/¿tU#'°\17¼®'ü¥\17¤s&\14<¶c;\98N7âutýC,ÞÛ*ï$TÛ*°P\96\1f9\8f¥E\86\87ïz{uG\19V¬IïM?»\84KE-êölr\92WÕX;\9d<\1dÂ\92\98tU°òëÓÙÜ)\13\81-\92»º¾Â·\0ò»©Nè[\9b\9dÝYÉÙ&mgMC\927Nç:Í\82t\9f¼Ô\ 3cË" /wWÖäl3\86×ÝÕßkÊ\ 3Úhá¦/Tdï\93ßâ9ÅÌ&@Êõ®ó[:óm»°Í¹,×ù\18¢Îþ}Ì\9e8·o\94 ²kÀ\9aÕ¹e¶µ\8böÖw³Ê©°¡\96\83)¬+=\vî\ eZн±è\93¬_'ePÂ[¼eÖYyR¼]%fqQ\82u,rë\16|Ô×ê1mcS\16,ÆO\13\95\11ÕR\16Ó\9aX\1eeË8\1en\86áI\15\8e\9c*Y~\90åùiWàVÉÐ\94H©éã)ÝØ5\9bñrO\91r_ífræçi6R6ç7\95=v¬4¹y¨\ 5\99fÉét\1aiå´7\8cv¥âÎU
+ò9FnG(ÍÚ:p¡ø\96\ 5`³U\8cuA\ 5j°÷\94¨\9f¼sÛeOîË\a5\ 2÷\97M\89\8c\9c\92ÙZÛE8u2Û\19k-\89ea¯M\14©Ø\1ac\f®Â\87AÒ¸éU²ì¥F\9dÈ<¬\ 2é\96Ã
+\1c\ 5ì\ f{ººú~´:4E,¼æö\96Ù\13ÈýÅfî¬\9a%,\ f-\ 2ìü¬È§aóª¦\e\93èµsx¹\89\82´²dö®\9bÚØÃ¿\94üÞWeú/ìa{ÛWÿ\95¯½º;\rin   P»Y:0ô<7Ü¥û\93¾Où\8b\98Â\87²s²y'C%I'CÝ»©¯)ã$ÅK\ 5S:É\93%I²x\9f\9eÉ\8b\rͨµ+M\92\99>v8VE\81ââR-\ 6á\8bM= ´\1f\11ÕdYÝ\97fú»³~\88ì²,ï
+\1eÆÃ©Ð*ÑK\ 1ùN\19Â/8,ñ7(nòE@VZ\92\96ÝÒ\9c®z¾\96©¿\8b\8dÈU\14\85µ8?.|ëýÏ\93yw\96kÜ]½ÕÙ{5|(|ìÎg\1c§&æäó5"±c\1eêß:P;ouñè¸ú\13Ķ*Û
+\1faO¦\9eTè²Üâï$S\86mó§L\86\97|\98ÿ\91\ 3ÞQ\16/5\0¾¥\99û\8c÷\87î6uöåôEP¥Ê\99¥\v±E)aC¾WÝ©\13\8b\14\97\85\ eë\8e¿Òþ\1cúmXª¤\ f)\10w\v·/qªT¡\1d´2\14EM8\9bL¶ñm\89Þ³\räð\9bã\9fÐSõ\ 5³\87àtþ¢&É}.7Ú¯\1dm\87Ï\96B\96Àö]\92Ø&ã\1do̶Ï;F\8f=\9eøôG/\ 5¡<\16ò6+ªM\92ÖE,õ©8éÔå\ fÛ\13\95\85\ fñ¬=RûO[\13\7f-RËRó\88\12ÑFíA+O|ÇuÕ×*¸¬øPøºN´©~\-\99Çi)
+\vy×Rxí\9d~\7f¡ï\1c\95*¹bã5ýýuÙ\16\9f\1eýÑA¾\19\14¿¥©»z\1eÇ`û±¬ªµEV\86éÃÊ-ȹ[CY\9c8Ãf%øb5­è\ 6\9d\84\8aLEöÏM:\97\98\99\84ªu\rK?\99\9eoG\9b<Y89ú+\8dSVLUl7=\85dÁ×éO\1f\89°ætE±l°ñ\9a%\8fçܵ±ä\98ÿËÉ\19p¡ÉVli\8f/KFÓÚW\18A6\14?\911?\9b·ÎÎÌÐä\95"uMÒ\9a®\9d¾÷jõ}Kã\83£ÁM_+\9a¸\ú\8e\95ãòÚâqbs\92Ýä¼9¿]Oê\8bm\8eG\9b¡[B­Éu´ÚÍ*\9d2ÐÞN\84£6Rsu5ã>*¨þ}Î%ÕÍÉUEñµÙN\8cØýo·ÅÏ\16F\9c\9aÿ4<¤òîö¼¤4\87\8c§h\8e5}\94\9e4§ºîêäèJI[vϵeßQ0_2·\1f¦¦t¾åS
+Ûu\9bfêi)Oâ{\86þÀtJ­Îãl\e\99\Ë5Cj£±<YeÊ­¶§Mê¬-»E\89\98\93¡)tìàU ©Z\ 6mÚ,ôò°%\0¬ÛEÊqzª§ù颵ñ«îV¿õ}nµò\8fÊQ¹Ü\81SR_ær3ØÛS5ÿôkúR<Õñ»¹¾ÍcqçBÞ\9c\1amkü\8aø²Ývä8§ÅP¥°½43«Ì­Cw\r1sr§fÕº\96iÑ@\9b\92y\eÜÒÓõ\11ò6ææ³9ÃÉ\e\86yäÒÔ\8f¦3P\19¹÷Å©\9b´¬â«¢³Z«;b³báM\9aÖe«ëh\10×
+\1e\ 2\94­¡·Î\13\ 6ûÂ`߸L\13­\999ɼ\16
+\7fâA=ñ\8dײÌ[\1d\8bV»|ï+_ÌO\1eú\9bXká\85\12ñ"^û\13\7f\187ï åòÿ;@Ödc\94Ésܺ zßù    3NvÆ\97¯\1c$Ç       dÑ9Ó*\83\93\b\1dM
+úhZSa+L\87<~ojìî'÷Æ\1aw¤V`Üç\QÚÖ+úA\af\10oÃÑDçdÖg0tÙ¨\1aüeó\1a\9a×TÞipȨoà8ça\9fìñ\9f\13«*nøÎ+\9f\9eã¥É\9eÐð\1c¼'æ¹?2\ 6»Ahã\908O\rÇÎãê\1e\15n{mô\83\8f³¡^\ 2\96Ócùo\1fNkÆrÜ®çùnj \9e3\9f\84úY6PW\1dÏU$IQ­¦è[\17\vÁk¯¿÷|ÛN&+\7fð:Nú\87UDÓe¬\em6\81pÞÓð\ 1p˪ãÒó  «\81@.\19z\8a\85ª.¸A\82èÐ\v\8e_\8c¾{\82ôW\19pYit\ 2ÝР\16ì»´\97.Òlzà¥à\8a\ 4¿\1e\98÷\17\ 3ôH×´Gã0\99`³ÈüeóR\80Z¾Ä)~½.Õ\ 5Ú#ñ\98IvKÓ,_\93\ 3\ 2ÐÜWðáf·r\14»&½ Y2îi\1c½vò\17\88(\92íL\9cº¡\ 1Úúµ\96Ü\85\92\93Yi0·°¸2íòü+кÀ¾\10[¿¬YkøYàµÈ\ 4»Õ\85\94ä\83L-ü,È\¨])xú±ä¬øÿçr\17\8aº¬µÐ)y %ï\90     f¿\84:À¥ÚÙ]2\ 1\ 2ÞÂßÂóeÒß\1f¯>ßAòÞ¼Laî\vÞíZmÿ¾\82\88RÌR\94S
+S\1aW$4¬\96F~,$Rú\94Ò\14\84\81\180l\ 1\83\ 1¿6üÛól÷\9dm\84+²¹$R\88\8eHQ;)DQ
+WM1\8bd\97Ia,,ÖÚc\10¥´Ä+\bQ\12i\r!¬,²\8eÑ4)L?ïÿß¿~û÷¾÷Þñóóñá\8e\90¤)\r±¦\96X®5¹]\92ÚÝ\95»\83(²º­¯\ 6[\8aª·%Yex'&àÜ\e\83pEx²ÜÙ+UâË-Á\96àÜÙn]¹7&æÜ\9b\83ê\ f?v²Ë$\8e;Oê\13\9d\8e§ðÑ׺\99#-\9c'\18![\ 3qó¬1vI\12/¼ó¨ìî\f\88\8eåîÀnÄ\88\8e|h{~5\bËG\9c\ 3.]\11Ó%\19jݸðæéFZ¤D?·]Ø/E¸l\17D®¥êÆ/L\ 4¼\1fý\97\\8f\ 1\9f­\ 3µ/\b\rü\80ûÀ\97\9d\ 6Ûß\9ea\8e\8c\ e \rºL~àh\0\97\87\8b½0\1d¨\19KÀ×ËË3 \1fh\aÛ¤\88F^/\94\88v°%å\_\18\a¤\ 3\96\ 3\99\ 3¢\ 3ß\81.º²Xóè"\15\97\84j¿@IË]9\0\98\rjr\ 1\ eØ {\ e¡¬\ 3\9f\ 2^\12i± hÀÖ\ 1/aÓ:\0: :t\90òå    KÔ\ 1\9d\ 3V\a4\ 4¼±oפ\87\8fq\11-]\895\94\81Ä\81èÀåÒCÃÖ\922ý½\12Wña\82ódæ]\19öÜùF\18ä\8bµt«ØfÀ\97\9bF\1cÀ\1e¬\ e\98   têwvåX`ºv=\93"\1c\1aHtwÐ8\0%Ó¯\ e$\rX\e°\8a\98ºw\87.\9dÝnB*©Òñ\12&\aÞú\10ø`uï\ 3N\92\18\9eX\rqd\ 1\90:`<Uñ\82ô^¨ÇB\92\17^\88\ e \ e°\r\88\19\9fF5p:p6 x{ë\f\17¬=ú\ 2ó\9eæ\aG}B2ù\9f\ 2J çX\92\16\9bÂQ+\0`' ,÷)È
+%ë \87
+\a\18\ 6|\rYx\91\13\ 3¦\ 3Þ\ 1¦N@EÚ$\85\ 6]\a°õ@u\80uÉÈ       =åüºît\ fî\ad\af\ah\ 4½e\9b\913S\87æ\8bÛq\13\f\9¤d\a^+\9a?I+ìað\ 3\9bð7Nlp\17Í\97]èc\81p=h\1d0\1d\878^âíÃn\ 4½\94\82\97¬þ\1ap5\80z°>Ü\ e¸\r\88\e\9ar\ 4Ìî\b»zxF@\99,\81\123)çC\9b\81Ñ\81¯\ 3r\95\ f\86\a<\aX\a\e\83\10Y\81Õ\81ð\0ò\18AÆØ\17\80qàyð9\90:Ð>\b\1ebY\86(\80òøPçéÈ\f<F\18p6\ 6\9a\pÖ\a¯\ 3¥\ 3ÅÌ\r\1c\ fH\aÚ\81¾aá\81Ð\ 1Ñ\ 1Æb\ 6×\81ÑbCv\a'\8a\ f?\8a9ªá\8b¸\1a 5`u\0vÓ(È\f4À}È\1d\90\1c\1608¸\19Ð0\0Õ\ 1Ê\ 1­\ 3\9c\ 3\9f\ 3 \ 3¢\ 3§\ 3±->hs¶\ 6\ 1\ e4mx\1d\b\1dF4º-Ã\eg\8e\1a\18\1a$ä \9d\18\1e'\1e\ 3É\ 1¾\ 1\95\ 3\8cJ3-¦\ 3\95\ 3¨Ç\97|@B$9±Ê\98\eà\1c8\1ch\1a09@9`9 9Ð= \1f\0\f\94àv0=H\1d*Q\9aÍÁèx08p92ï)|»±/\ 3£\ 3³.þóçGÖ^ê^@é\80ß§\87\ 3\f~|=\98\12÷>Ǩ\ 3s|>°= \e­\ 22\ 6¬È\1c\90\1cØ\1d\18\1að;`7
+\10á`z :\107J!¸`zð:\10: :`:\90:Ð:ð;\10?\14\ eØ\r;ðõ`v@vÀrta·\ 3\1c÷\97£(°5@v`xq\1dÖP\ fR\ 4½Ó`¼\ 3\99\ 3ì\92\8cÊnb=Yø\ 5Ö|ý2lt=ëîJ\879X¨ÿÿd\8b\8fFlQ\96EmoõÇúÛ³ÿ\a\rô¿u3m~?Ð\8c\94ì,½±¿,ÚSW\ f÷·6ÀÛSi\rì\r±?ú\8a±=þ?wEP.(Ôf¿\99uB¸³tÉý{\89i\99¥þ¹Ó|cvaµÚ\9bá\e\88\81ÐDßû\v,øûÕøê\93øùÊ<Ä\ 5JǵFImî\7fÁ¥óOUrq\984\ 3z,\8cï­\80b´üÖ\9bÕúÌF^xÓf»ái\fL¹lí\12Z²Òû!´:CwF\956v³\e\97­7=ÔL\e\16i\81¢Ê\9aüjÃU\8f×Å#\16íª$ñP\rÛ\ 6\rû÷f­3ì7®\97Å\1a\80ÒÆ\9c6 îv\8d­îÍ\9deÀûs|3\16êö#eV@uVÏê\aÿ\0Ë#\e«çîͯ\ f\8e¿¦T÷:>°ß\9e\18\9eÈÝë-M\16\19\1aOg4De\97\89¹f§ã\rÉ:iN¿\91ôú\ 4Ù\8aج.^döèÇ\96ðzKUYhÚyÞ\90Û\1e\8aÃ\1cò³¬|O/Bj,«ÏLO
+LMiÞO\14wc·\19½Ù¿Pz$ÏsC§\97ïZn\18Å^âñ$hW\87#.ÐÄadÒFÓxÁ\98«9\1aÞñ\12ïK¿þ¾1\85=[N @ó}\f\9d\1e\b\87 \1fæO5ÖúwmÚ\9a.ÁÉ1ô?\94ÝßòßNõki[gl,¾\9bk\17\84\1fZoþ4Â9Y¤7ÇôÚ©vÞçÈzt}¤ôäGÿ¼~Ó\96ºõ?]êH\93\8bûoRëÓøÏN¨Bû×ÚÌ#Or_¹=Ê    c·\94\92©o'%\16Æ{²Ñ^1z\ fwz=\8e÷ï½ßúòÏã=i}¨zÞQ%é·^·î=l\8eyäÒM·xÉ6\8e­\92lÝá×­ýîVê+\rê$\13£yî£U\b\8fû«\f^\94Ð\ f¹µ¦DÉôVôÑaô>ªn\8e\8b\12½,¾\1eÔÚ\83gD/5¬Ì1µ'Rª\1a\1aC53·\10n\9c>\vdêþÀ}úS|1÷÷Æ¢7æ\9e`Ïjo`5>¹2ükM\93Ëç'[\98N\8d§F\8fÛ\9b¿\r*Û¶¾Z3?\f)K[ü̬\ e\82\90ÕÞ°¶Ý\eã+\95¿Âs\97     ßëømµ~
+4S+¸ÿW\8f£7º<À\14L\rC¿\93æ¹bMÒ\a\rÕ\877G,ót\7f£ÐÀ7¾\9fÆË!·ÿ\ 4h/ad¹¤î\13ÞÕbc\8d¦Þ÷:lr|\1ert \15q\89W\162§á\ 5ù°F¬2'w\97\11=1çfÖ\9b¸\96Íæ      ÷z0ñt"\ 5ôNÝ\9a\ fÃ04rføc7\90\ eì,½\89ø©ÙYq\16V\16EaÃ&\ 6÷3ÄaüË\1cJN\1a°Xó\ 3ë\80oNl\0Ø\15\93ûK\8a\14l¾T5=\19¹Ì5!\88\9aãZjyzÃLMÐ\e¥>ÎÍ\9b¢\e\1f\8bM\ 4\93þQ\0\82\ 1\9c'ö¯\94>J\87¶7å\18¹\9b\80diô\82\1f´Aæ\88!uÉ\9f\87\15\85/¿AN­'\9d{Hx\16yÑÌ>\0\7fµ°¡;àÂg4Í\bn;Ä\84Ý[Î[o½ÚòÚ|S/ëäD{4Í\rÎ;ùv}P:¨¢ß\9e\e½\10tíMÙ\eô\ eõª¡#F@ë\fkº~\97\12eû« ¥¸Â¢\17\15QXðQ¨ÙCó±5p\82ϸ<K¨³~¡³Ï\88<ÔÏ®$\19&.§\93»Æú^Î_eexO\10ª£K\93=Ù½_IQÐè\0£\8496l\137\869¨xú¶ÂÊV\13\8f\ fÀ\1aÏfe\91hËã®\1ca÷çù|´iWae?Ô\11IO¸Luq\9d\ eëd\82ª:\1c-äB\90/`5\9eÔB\e×\au-\ 6\84ÅJþZ½¸Èw75\15Ç#Z}\r\1cá£\87\9fûÇùªt\e­\93xýÏvèh²ÄÇÜuq«$ÃÆ\1c\9d\95\ 589SXÕq\18r\91ò©\ e=F\1a,\90´iî£<\17Q\9e\v¨Ï\ 5Ò \8b¥\ 1\17J\82.\95\ 4]*\b»Ïÿü\95\ 4cXF]iøM=ñ\99Èh)Ý¢y\ f\ 1\19µØYkÓCÒ\8aþ\9d~[\86˵ðùe;ÞÄÙÓhSDsã#64O\81¤=\14ï©Ãr¾§Ù\9b¾6¨ÞÀó?û6hÔà\ f\8f×\9bã\ f\8d\13ôÖeù­2\1d¶ò\99\9fô\86TøvÊ\7f½6\13\a/O/16\8b\vj\8a\80\8c©º        l\ 1\9bÕ`\1eÃrº
+ûs6/UcÏr yoS*>60\9f\a.T©ò¦ìSART\82%@æTxk±pª\98o~TqÄ2b7÷ãmsé±B­âÕbÙGÏÎ\9b¥6®cÖÍ¡Çcëp\fÅ\ f\9eÅ¡\81U8:'\ 4·¢£A\82Í\1d\1a¿\97\7f#\93b\õ,j*\84Éíðv\9bX"Õ´J\13\18\99ÃxM8ÉpKÃ\eU/\8d\96äð\90\r\nÜï\96\8a\17\1fÉf\89F\90Úé¹\93P\r\1d\ 6jôk~c\17t\98j\8b
+ ;¾\11Ñe\9dí\8dï\8dð¡ÑF»\8fL~â2[°²÷b\ 1\81î\ 1ù\ 5D/sQ,ï8íÕ+iYµK\9f\1aÓ#QùÔ½sPìûûº^Öª\90öÓZé´På£kQISBe_\18d¡T\f£ihM\83\r\1e\ 37Kû¿Ç«6\16]ù½\90åÿjeß0û\16ieÿýÏÝFl?æ\8cØDgó¼¬Úê©Uú®\9cV\90Fwª7ä\but¦EGʪ\fÈ®Rªî¼\9e_$oªW1*ç= Ø~Èr[w\88V\8f\80n\80Å\\93ÇåÊ\ 3\9bºJÒë+Hª·¶\ 1¤\15ÍJ,²¯G÷c]j¦\8dº:¥xÈ+§¢\9a^A]7ÉÜ^SÄÜX¸ñ\96.ã¸Wo\8f¹6Øñ]ªö\18û\9a¢»9HÝé\8cEvr\93VU¡5\98ø\11%nïJïn£\1e7Q\8f\e¨Ç\8dÔcÆéj7ë\16£l,\95\8e\84J@:(\1dW@ÖéiýÔcªî;ÙýÜw²WK\1e°Ýì+¸\8a\8bg2y\15ÝqÚ¢qb\15\8e\966\87\1d\81\9fmk\ f[\8dßaµõÆë\8dí\83\9bà\1eÒf_^\170S
+Þ'ñE©ü­-e'Ü@c\8bÙÐ\14â4]²ÐGQ½V|I\84S\1c¼\84Í\95\9eýËÂ\vw]\1aFv\ 4 \83\80\19ÿA\98ÂCfû\ e\97ñúRnQI?¼còf\80Ë#\ 4Ųå·åµr¦AnÅ\17|²Ü\Zm\19°L\8dÏ*\rµ6º£¸kÆ]嫼\fþbX1þ\98Ô\ 6\80\97\17&6TÍ8«\10öån«ö\11\8a\ 5D4²³²É0×\vl30\9dä#.J%ïúìÅ$+Ã\9c\ 3Þ\1cëM~¥è¡¼Ê¬¡1oB+½\aÒ\rg¦ðØÙ\1c\80ð8ãs\8dôQ|êÆó\98û¢Ý´\8e     í]}qé¯×d'C\89·¬¹±²\9f3\1d     ïY_\ex\7f«\1d\11·°êµkÖ\9b´=\95\7f×úuSSÅ\82·\85jÃUJʯmn^\85ÔÉ\97\ fkµ»©¹WÚ¾\1dÈ\91\ 4ÕöÛ\8fAïÃ3Aî\8du_imÿHlp`uxH\ 6T;ªûK\8etT\8a\95\19é\1f#i\rFÏÛY\ f\85¶Ùôr\e\95È{i\84RO»\8e\9e]ÇO$KU¸ÐG\80/ÿ\f\ 4íÓªµ$m\10Õ¸âç*\82\88µâýç\8bdG#!Ò[\93C¯fK_û\98\10ûdÁê»\99»f\ 2^Z_×ͨ\81\9e\8e|¤`Á\89¢À\11\8cÕ\9b\12\ 6\8cAWß\e»\f\9f¸\10á\96»\8ad\81\8b÷Ñ\8dú¤wÞa[\18ä\186û1ÀîÔD£ In\95XJ\ 5T\9båIª\87G\92aW[x\ 6)-2¦+\8b\9d\f+\9aß\8a\8c\10Êã\aY\8fÎ\9bà\1eÙ×*\1a\9c\18\8ao×f \1e¸¾´ÕPä\9bï0\99\8f\8fµþB0÷ñv̬C½¨oö#x}\99¢ìü}\9dnâCHoÆ\9eÍz\84L\99C\17*\967\15hÛÛ\8c©6äa\11E4¹[¤ÖÚ\95æ¥\15\1fzzNõô\ 3x8\9cÔÑ_´èOO'»ÕÐÀ\96¯À0¨º\8c\0]F\0\0\17Q\80\fc\19ßr Ý÷Fì\ f3EäO\86µ\9b\eêï\ 2mY5Ê\b\14\18Ì}ùæ\8a\94Èõ0¹á\b¯hy\1då       ÏÇLð<òk\1c~9\97¨ï\9aWQ~먿uÜoÂî7áw\eðº\8b÷]Eû®¢ýß \8b÷P@_U\ 4ï\9dË«õàÚTÔP\ 1Ò\1c\8aCZn7\9f}\91E´Gç\10\9d¥î×gè\13M7êýei¾\1f=)VÙ\1a\a®6tôXº´Ú\9aX=2ÏXv\r\14T%:%\1fj/\9f(\9dZ\8aûöؾùõý6î\9fy\8bè\93_³¿4\ eØY{ãÊ\r*$>¸Ý\88ÿu\ 6U\97\15\ fR£@j>T\10çÔhQÝìëDaÕØ)\µB¡\99ÞïOü"ú\123ñòøô:\ fvoxyuª4<ç'Wõ®Ók\0Ê"ñ Ñ\ fk÷´H¹÷\ 1ØÊ¤\9eß\99£Èµó®åBÞªÝYº&\0ï\11yÉV=\95,\9d\0+Ö~r/7°²EKêpÓ\1f¨Ê'ñ*^R#EÌÍ\17+ò>uQ(µYKZ}5V/\7fíÆ®ªÛûÞOGE#uæ\8d\8c5'\87»$pk\7f\97£\85ká+QÿYYÐ\e´õ]\ féh>Ä:\ f¸\r?ÕÐÛ+ôï´5¸ý·Æî45w\1a\1a»\8d\r\86®ãCWq¡«¸ÐÕÜhjî45w\1a\1a»\8d\r\86¿{\1a\1aær{åB®^pÞò@si7,\97c\13W\14ãB\19p4Åá~5*\85\90Ê\963õ.ý\8d^'\19úÌ\81.îAúp9 9à>Õ&äß\0\91sùw)\ 2\a\bð\9a\13à\ 1»Ü\ 6¾\ 6p        zÙ\11/\ 6L5à~-Á\1d\97\ 4Ý\0ÝÀ\97rߥܸÌÍÄmzQsyuÛO/ra\83ûg\1dócmÀ\97\8a\108+\9b\fU\81Ñ\ËÇ9£\f\17\80Þ\9d8\e\9f\14Ã\1c¸\1a$¢é=\81c6ßÁ\e\ 6\ 6ü\a\ 4\ 6t\ eT t\ 2\89ð@\97¦a^D\rí*\85¿\9c\ 3.\93u©w\8dçT^n\88\0\97}\ 1$n­\99\ 2]L"\97b:º$\9b¨v`v©EÓ÷\0'ï¦Ì     w\943\8d\ 3D]kè$Ýs®\ 3Ô¥\17Q\91º4»¨'ã¸Ä"è½h\1d \12òÍG³\ 3\94\92a\8c²q\98\ e\90\vĪ\16¾Ð\ eÀ\r÷\8e?P\ f¬W\ 1¯\ 3oãÆÿ\81£\ 3\9b\ 3§.êÂnã÷\ 3í@Ûÿ\10p\ e\ 6¸\ eÈ\r÷\90\1aø\1aà5àK­T~\\r\18\1cØ\1d:q\95¯\1d\1c°\1c\14\99ú¿Qc8\a¯\ 3¤\ 3²\ 2^u\ fÈÝC~J.³Ì'\19b\91º\97V\ 4ºØ&áù\14\eªpàh\12\8b°óàtàvÀe<û\fq$nm$]\1fÉ\8f\9c\ e¼\rÄD¥\\a­N2=ÒJ\17\9e\8eQÅ:MË;P<Y\83ß\81/\1dñåïJï§\ 3¥\ 2^<\fîw ü`q©T)ýX\1að5\89EÓd¨Rô\80KÑ´\ f \ 6ç{\1c\19\81.¸ÿó@sàtàmܨÕÀëS\8c~v\0|\06 vÀmü°Ú°%ïc\13\18\93s\ e}8ÇfwÐ\87ëô(ê\9aÆ\8c\fç£\fØ\e\85ôlØ\12ô{B]á\13ã@çÒn57â\8e Ò¨Jë\80çÀë\80ây\86\18Éó\ 5ÔÙÑw\80^\18>dmzU ~x\ eÐ\97zµøpf\aN\ 6áé\10\8b\9fËÜ\98\9fF\a­\ 3«\ 3o¿\86Ü\ eo\0\1e\9c\ e \ e´\ eÌ\ f\87K\ 3\9f«\f\16+Òmù6\ 4ýXd±Õ\ 1Ö$ÛÛÝ\ 1ï0'êËDê\84/d\af\ah\ak\81>k\9a\9f\\92.«¸`\8fÕ\88Ë\1cQ*\10p4`s\80oÜèaÀõR£\8ap5àv@n\186\18\93\ 3\7f/i\ 5 yð9\90\97Îà\1d`\1d\88\1e'\b\ e4\ eP\ fZ\93\88\e¼°æ¬½¢;\12.\9f\84½:\9diË×\89®\18s\86\a/.Ã\1a`9©\80Ý\81èpãC\ 3¥\ 3b\ 6ë\88\ e\86\a\9f\ 3\9c\ 3°\ 3qİÇr\94]\a\r<\rx\1f\ 2d:Þ,qÎ\ 6¨\ f\82\a\90Æ\ e\ 3Àè@ܦ\87)àk\0æ\0ÊcCó\81Ìc\86Åã\90\9d\ 3^\ai\8fA¶Öd\ e\90\ eÚm\bº\ f,\a¹\ 3Ľ\1c5\81 \ 3N\ 6¬\r`\1cÀ\1aà=h\1d\b\1d \1dH\1eåéýÓø\9dP}Ö\81Ð\ 1ÔO\a¯/sN3ã\9b°5 zð;P7\17Ã\8009`5àv\0l@Ûè\10¨8äÀòÉEÒð\0ìÀ\99\1f*\a>\aF\aÞ\81Ö\81·Ñ\ 6L\rÔ\f\98\1a =ø\1e1øüÀéÀñÔc\8e05\80tÀx\9aA\fx\1cÐ\1d\10\1d\88\e¨\8bÛ\ 4\ 6¨\ e|\ eÊ\95
+\83l\8d¶8x\ 3\90°:@6 yx#ë\ 3\9f\ 3ÌS\ 6,\rX\1cØ\1d\10\1d\88\1f\ 4\rßÒ\8e\aÀç\80é\0÷@o\94áâÀë\0÷TèU\18; ;B \8fT\ e4ÀÜ\80ñ`nàs s n\95\ 3\9cJ.\93\93È\97©Ü\10ë`z 7\\90\88\8c\ f²\ 3¡\ 3ÌsÃ\8dð>Ü\ e¤\rÔG£Ë\81¬É°\9cÙ®Umµ,\95É`}\15\ 3n\8b\1e\fFøº
\16\vW©ßïÑm·wyöÿ¢¡\87^o'F䯸ä"êýû\8d¯\a¢Á=¬Ö\99/\ 3\aö\15\r) ¡5gE÷\87>lÁO\9a\85yö'\ fdÝQZ\1dë\15Lç¨TaÇt$ß\14*\1aµXú`²\88\17ÜT65)Íþ8\14Û\92`§95ÁN §Tãµf\ 5Ôe\ 5YÔØ÷Ð\93\87ê\99±àÓ³yýVL¡\8eØÁýT]b»\ e\8bÖl
+.\£jY¢=}¸EÕ¨Ï>/ϸè±ÙƱ\8f¡\ 1O«Ã\8fú\eYÈJ\87µ·\15\8f¥ä\19&n ·\e\17S\8c¨\7fpq5:\9f\98\8b«_²p\e^Sã\8aó¨ÉÇô°´µ8\T\bÚ·³Vh'ȧ+\ 6½NV©Þ* ¹dâAø»ÿÌ¥\05Ô$\8f\13T\9e\17Ö]gÈ%éQéìÝ\ 4S2²ù£½­6\88\99ðYس'/l´\8b¥T\8a4e\8e\8a3ð'E\19øÃ\9c\96\88£O\81²ëEÑ/ÿ[gZEº?[gZEÎÿggïð¸\e|\9bBï    ýò      ¹|ïöîô\9d»V8\8dúî·B\9c¬\83\0ò!ø;:¬qWõöuI¼ÿìòb\8cßGTÌaî\1a\8a\8eÕ\16\ 4µ¢«.ѯ?¦­\11\97Ïî58ñ\8bª3XÌ\8c§ÉØzfQn\9a½1W½ù:\9eE6õ\14D\12ã\ 3Eh\88þÛ`â¢Á·#a¥Ü\98©T_ß\=u)\8bÎ\956hö¡ñ]¬¾2\9fÉ\8c\81\7fä\99©\93\90[¼Þ\1c\94+*NïIµ}\7fÓ`íQ_+\9a+j\7f>ÛO\8c\8b\ 4[áÝý¡m¥¾:ZäýW®÷ð\9bÕ¾ü\14\91¶Qs\9dz{¢
+³KÚ\88¼õ «ÿ¢\87\98Î~\92,\11jYÍ=\9e[OG\1e6¨°§\7f§Þáiñxÿ|ÍâýRzVk§\80\99\9bô0Ñ`\1dC%Îõ_)g"sB´X&ª´\9c\92o\992\113»ÔÂj¬\17R¾Sæ\12ÓÏÚ"ÀÙ8\84XuM©¼2\8aý_\1d\15ú«\80\95 \95\9avP\ 3jÑÈ­-\9eåª\15ßçEz±`\91D¾×¬ð?9\v\ e\v\9cdWn©r/\99Enm?}Ry\r\90Ü£U\8d©©\15ض\8aëé\8eF\99§I0§v\8aíÞÄÎ6ò\11]¼X\8dmµÕKE\80\98â`Ä\80Ö*\9dño\974)߷ɰ³ÀÜqFÖÆÍYós\1d\14ß·\16-L)~ûäSo\15åí¶Uf®´\\81È\9d¿T\92yëxõ\9f\84\8að_Z"¼7©¹\1f¾ñ\rg->Kh®\1d\19Ô~4D4öy¾>F¿\17\80µ\\94ÿû\81\17U\ 1\7fû*\ 2ö\91V}Jw½¸­å\19C\8aô,ý¼\9eã\82×U\ 1«¦Ç7\r\8ex\18s\ 1éþTÍýÜ ê ¥\8f5\1e}\93`
+%"«\8b\1a\14ÏCÿ#e»R6VFa\8e\8aúâÄGyÜÅ\a\8c¼}&õü{\ 2é³}Ófû¦Í÷M\9bî\9b7ÝÈ\1e\a_/ x¹\1eÍö\15\10KRqüuA_\83³¢\89D Ô\114j\19§\8bÈ3_Sþ(°n*++ÄB£ÿYµÅr¹T\8b\ax2Rb°jE\84±é\1cèSq\83EHëR®à&\í:H^µ;ª|÷ɨOE\83\9dë$ízVU£:\90ðlû$\ 5ø;\85Aâ¥?rÝ1«Uë»ÊñÕ uÚ\9d¿\bqköi¢6u0¨uW^OJ\96]tÃë\99GÍÄsöÑNê+bjY«÷Vè¼K\92Ï2\87êç¼*\80¸¶\eÔTÚÀe\12
\ 3¾¹2¥u\13(ÒÕ\9b [p\95\958\8boÏR}ËòQa»y\r\9e;æÏÙêªw×2\eÞýî÷okã\9b\9ai¡];USÓ\16\10×\9f&°EÆ\15[\9b\açîk\9cáÒ³M·\16¦u\ eª\IÎZ*\177¬óÏå"Ãß\16\11\el\88\8bâ±6Ù\11\97\84Ĺ\91!xLK\99\12\97\84ÄÞ÷\U¶¨qã\9b\97\1c\18;zõ\95VÖðU\ e\vÔÞNr_"¾ÍLËíº+ÿ\83÷U\ ek\9c\ 2øÆç\15X\98w¨±÷~nmàìk\91A½ÿ¥C¯Q\13 oïjKmbñÞXÂßÚ* 6«Ei\93Kþ¢lª*ç^²\8a\14Ôjk¨\84¨}Zo`ü»\b?ÚT@°Y\91Ö\8b
+nB\15Ví3(\89\1dÄV{\1e7\96åUƲÌÛ"Ç\1c\931Ѫ;·°­xh\8e\8dy\17¶|ú\8bëDX÷\16Ù»¼TC1m¡\7f5Q\10ý·Kå>£¥¸\8b d:mª¢5ݺ}±ÀÖbÍÎã¸Kh²N.ÑÞw;\1a\ 62¢YC\8cðQd«SØØJ8«¨\89'\8c¢\e\9c\87h}{ápNÚ,©\8a\8b)ð)6;Ô²mõUw\99Y\ 4à¥\ 1ÿų[¹*\85H²­òlß­Ìÿ|r\ 2\9bæmÊu0ç
+ª¾­í£\84´äèßµYýß²ãò\96u|/YX\ 5-\9c4\\9e\ 2ûÛ\80ªø5\8b\eü¢a'\8bÈêöÿ$\9b
+\9a­\19y\14£´\9a\9bI\82­"ϲ '[\ fJÉÃÍöÝ\95AVƪ\11æª\17-¯á\16HÛ¸!¿\86ÄÀfáºÜçWé\90\92ÙÃ\95²Ý¼\18\1d£\87¼m%êe
+ҳźÍc-Xmi\991h®ÿÃôÎ\1dq Õ^á¶ì*¶\ 2©ïU°õ\10ìÕ«\81W}c\9d\8f\18k\10­\8erIÞU°/÷T(ª \80­Ê÷îÏä\9c\7f\15R\1e\95\80\ 6\ 4JIú\14¿ÛV\9d\15Ìc\8cÆ àúÇË£\93YÃÅ\16¶Ø§\11ÖíJ´°Ñh\8c±ÞMó6\19\96y\95\1eÒ½>sÂÕd"Ñ÷7-õ¤®ô\1cZüg\17\9e\ eâ\1eZdÐ:Ô\9e\83v
+\>J\1d\ 4«æbÁò\8e-ír\ fQ\ eì\1a\8a\8e.(ãþ¡7g÷\1cV2-kອ\ 6Þ\98\a|ÈÆE®ÿIµhãÊéÆ\97í"×÷éq×É\8eu\86M¶ða;]E\9a-\1d}¸ÒÛ´&üÕG\ 3\16\88~\957\fµÒ}­£i\15\8d½MO\9cyPïáLk\7f\r\16³½e-*ÁKg\ 16Ëv¥\1dÆ@³2\91-4qh\95^3!\1d\rvêÖ\9c¥T¸k\865sß^øj\8f]\18©~~\15?LW\ 1ygEæ÷ÃT}4Ì¡\0Uj¹\ 4ÈkmÓàCTGr\1d\15\1a\8cêa¿~\9bAÛó¸J\1c¿Ò¦à\aP}\ e¢\eO\ 52«`\9eGþñçÐÞÏ2\8d\9b`µßÅ\81=wm\98ÜuÊ&ô\1flëîq\13ö\ e\ësö7\16ù´K)¦³å¦5\1dÛû;¿\es;UWW9\ e¦-W¼·,ñr\1dÕêJzm!Ñ\1då"ÏÙÙÕS@ý\ 5I#0ÊJÏ\9ef1\e\9f\1aÒ\1aæÌð\91l¼fv¤ðD´\8c£w­\7f\94\8be[á\86\r\9f?{·ÙA\90\96\95\93Ljí\r1wß\11\12&\97NS®\9c§f\13^W\ 4óØß²B_ÿÜ¥\7f\16^Úìu趤ÉD\83Æ\ fëå,\98Ôoõ\eyUï>ê-\1f]\92\9f8× ÷±/¯ë1ê®\96\1aÜöÞ\91ÝTg+9$ÅE§(øÐÌÊ'Ôþ\et\1e±§´© \98ÈÜÿ)\16\93¹:f\7fsÅìs\97ÊïÑîP<Ó¦Ã{Qº\92Û!\15ÿ½L¿\98´:j\98{\1a\9a6<\8e×Éä=di9&k»×d\7f\8aùxSÛìV@g]ì]ú}PÝÉYÔ.Ên·\9fz\8b<ü½óFU/ßo¼{\ 2ºìa¼\ 4Y\83üÎ\ f\9f\1d\16^®o\8d-\9dã\ e-ë6¡&£\14@\8f\vÛ2äëUQ¼¯ÏÖy+:\88\96\88tk\9bg\83\9aÝw|\14\91©h\19EÞê{\98'¾Ç¿\88È©e\89­¯æí\1aõ\110ÑJÿ\19\87\92J\93³[c\1e\95\8d\ eC%áµ.S7¬êC»ûx\aQ9\f\1aò´>óAà5.\9dE÷¤B_¼\8b\93J¸=g\92\91Y\82\8eFP]3V\rcR-\ 3j(Y\ 4Qx1\1aØ0îÿm\1dOàîN\9c®\1d5[cã\1d9g\8föÒ³\7få|ÍÑo$Χ¾:wƬ­ñêJwÊ\94\rZ[h³\15\ f_2r\bÌj\7fVáMµ\92\8b\fÖ36·\93\8cM\93\92=\80\ e3\85ÏYÉ\85äÏ`Ãþ\1e\14c4x3ÑgÒ¦\1föïÝ1´øÎ\7f\1d\83àïK§TWN¨®\9dQ]:¢ù\aTXÄ\9cþgs\r«\95³j$x¯\8f\97Öq\8b´S»¥\85%-­\89\9e\86u1n·ýË%\9c}¥¨³\84¶;+)ò"\19¦gÅ{[r\fß°)¾<\83\18\91ù'XùsÙÉò0ö^1ÕmïÑ:Åà\13ϯö\1d`dOM\82\99y0Y(i¨\95ß1¸\9f7ÉxGYU"¾\15S-ª¨.stÕó6\85       ¸ó¯P\97åQhõ\8a\8b\95¶¨áµ\17Í:\98K®õW_8ÔyoÙ ü½f¸Æ\97rPý.\v_¦´\8e}\99«y\18DÓUU\8a´LùB<ã|\99å*²à®\80½\1f\fg\r\8eT\15\94ñ\1cöD­\9bÎê\v\\86æô\16¤¬\97\ 5ÕK»ò\95.ìb|:Ê\v\7flìw\14¨öÒ,½}á¢Òø\10ôù\ 5G\7fëT½ñ¬ò°YT~/·Vz8å\17xüѵu      þ\95L3+   ACË&w^\fùÈÖþzhYsÚ¸ù¨h³¶\950\81¢v,ó)4M¯Õ»Çý­pMµÌþ;"Ý\9e½ÊXvïehª\91jæ_\17bÖ×ÿr,å\8eê;ë£\9bèué-U\ 3ÿ\13\13\14Úì)n]<êa*g?äÔín©°\7fs_Áî8Yà°²\9fQ\87\8da/o\8dú$Í_ßèî\9e%Ý<Kºx\97tñ.éâ]ÓÄ»§\89wO\12î\9e%Ý<Kºx\97tñ/÷\8f\12ó\95{ãľ\15\14\9589{¥{Ò\81.\8cáø\7f\ 5í~ܼiB\97\9aN\¼EN\ eY\9b\96è\93Å\1dí'\8a<8\12ö\9e\93J\a.\94Y"^Ô\12ú¤ªoòð¡O¥\ 3\ 2^è¥ËÝ?\89y,ýö`K¿x½\80\12ìAh¼\19/ñ~dý\9dÚ±Ú\17\80ö{\88eüÓ\f\1aä\83Ä\9f\19æØcb\aÜÜØcR\ 6Ææ\84WÚ^!oz0:\906 }§\14Ã\1aèJ\9c\¼·#õ`x{£\fb@ãÒ©ÈËÐn\16P  t\86Ö^\ 6TKÜS\1d»Î0ÅÀ\rл\8a\1d\ 3ÈùÄ"¾\92î(\96T v\ 2»¦IáÜ»\ 1\9d\9c\9f*\aSøL0^\10~n@x°2@KÀþN\ 1\86\8c\ eHDáêuïk#mÿ¼1\fCª«+ª²D8®·PÇ\14îæªJ;_I[\9dϹ(\9aI
+%Ñ7\14\89Çîí÷ojííÞ{»©%ÕÆA\90d\10Ä1\bc\18È:Æ!\fb\18\88!\8c\82\18ÆBT1\88µ\90c\18¤HC\1cblM¤!\88B?¾÷ßÿ}÷¾÷·Ûî÷jÕ«W.]SëÍDJ\86\18ã\8cc¬q\90\90&\ 5!\ 2Ü        \89plÀ¤!\bRØP´¸\12\85À¥Â\98T¤&\1dü\ 2¥Â¸\17\1aãÜÝ \ fÞël\92\98\ fT\ 4ÛBËÝ{1ÑÀüls\f\eîIO´-\fïçÀë\80âù\86\18¬\ 3\8aæXb¸\ fj\a\\ 4ß$\92¦ØW¿Kú¬1Ø\ 1Þ\99pÿ\8f\1fì\ fz\a|\a"XVsª7Êä8\1f(\ eC\9aa\8d(\1f\90\a\18XVKÛ\817Ô¿¾g\9b\1cù¾¦\1d\0ï\80ä} ýàu@~Ahfï K\84\ e¤\ e¬\ eÊ~\15\86\9aónèý©þ\1d?M\94á\7f$\ f\92\a\93¬\1e\a$\aÜ\96S\85É\ 3Ø\16\15\90÷ÀM½?ÜaaX©°«\84ßt\:zãÞl^d°ªG@YMöeÂþ8²\9c\ f6\ 6Ë$\18<    ¾4\8eõD¸_Ø\ 1ò[ù\86$\r\86\ 6ÄÙMÞ\ 4ß\b\a\13|µåù93Þn\9cq^lS^l\18 {P=ç¶>\15\8d¡\9a2Â¥ß\86\aå~¹¾ËáØcj\aÄ\ 2o¬   }ÑaRN#\9e\1cyaRo/Ï\eG\9bL1×W\9f{Ö¦¼Ú¼ø\1f\ 4\ f%û!±ú\0ï¾\81½\94\14  ¾ë M¯o«+\16ödrÄ\8b\13j\ 1©¿·\0\163$¸K6\14\88ö\80{`>(\eÃ.\12Êó8Ö\16\14\80Û\81Ö\81Ù\ 1岦ÒDÁô2\9f·\ 3\90Ë\ 6{\ 3Ö\ 1ì\80þîXû>.±\ 3¥\ 3Éæ\ 3¬À×\81²\ 3Ò\99p>\a\\ag\98>SOÍ\ 3«%À>$Ú\19\1f\ 3Õ\12à\ fN\aP\aR\a®\ 3Ø\ 1ø {0:°=©.       õÀuà{\90;\0\1e\9b\1fÄ6Scç\ 3ÍýØsy¯2h\1e°\ e°\ fyîÏô\1d³½7Ó\r\8et6¹he¯¥Îªó:öd¸WÜ\ 1Æç\87­\81\92\a©\ 2m=£ãm\ 3-\81ð\r§Ã 6Fû¿l6\86dóá¶ÀãzAÝÀç}èô09\r\ 1ï3\ fL\a±%Â\7f\80YM¯Ï\96\86_õ Mõ\8b\0öÀsz\13|\87Ô\9eó\ 4±ð\a\91\81ê\0ø M÷\9bcj\ 4ß7 [P;®\98ùM\9fpÉöôu\91\ 3po\93UP8è£ØÀêÀìIp7Í\81Ô\81Ø\81Ä\eQæÀu\80vànã\ eÎK\80}Q^\^Ø´1þeÀ\9eÈ\ f\84Z\19\vÝ\ 1Ç\96SUë\8aòêëã\88\0Àóº!ïú#Þ[ß\8a\av\a\13r;¸\1eÜ\ eì\ e&Aò\9a\8f\9b\ 3^mO>\ 1Ï\81éJòêâ\8bC"w\80{P=ée5y¯.Ï%$s`b\ 1¬2à¼\f\90>\b\1cQ.\ eû 8Û°Ïe¡\90ÿ\8c\aÇ\ 3\90éÃ-\81ë\0ë\8b)³ùYa¹ÀË\ 3Ü\ 1ÈÌ\r^\a\97\9a\18|\ e \ eÀÒ\15§\ fÖ\ 6\ã}ú*\1dp'\95\ 3\14\ e\9c\ e¸\ fv\an\ax\ 6ïH9°:À8\8d(ï`{ :À=¸\1eãJmh
+\889Àì\80ø\0~`\1d¾\94ùM\8f \ eÌ\ eÜ\r½àîàw\0w t\1f´=\9c\ eÔ\ f\92\ 6oP\1d~\a\13ðC)\81êÀö\0v¦Ò8h\8fW;Ô°[©}:×\8d\92Æy\7fWC=ï-\96Ùl¦oCæ~Õå4\9fáý´¼Æ§éüË\85øäM\8eºè³úJ±ª>jTDôW\vø,+\ eS\88\9d\9bT¸[\8eåzÙÎ\97ç%vJ\8cJMh§ò\9dn\16Ë\98²\86¾æo×¹o\1a¸MË\9b\91ñ\9b i\90Ù\96)ñÍ&qqñKñ´\94±ÜÔ\9c Épåþ!\18gÊrÝAÊI(Ì\a\98²\8a\92\96rPÚjV±ËIäûõl,ÐÐÑ\9a      Âî\88Æç\90¸qË·=~ZL\vÕO\8azI\9f \91$öÉ¢\19§\94ãê\7¯\15ûÏ\89ªñ[`×\97\bqI\rò\8c\96É\9cæ&dç¸+\87·¹w×       ´yó߯Uâ\94\9a*]ßçÕ\94çxk\88¶¯W\11vÉiµ®"Zqq\12Ë\8c¦µ,\1aÝö\84¶¬R?çA
+L\8e\ eS\9aÇ"Sù\\ 6\výÄ»\15¢Å\asø~\98z\1cT»vYp2' \eW\90Ê·\ e.-s$\88%d\9dW£châ4\1d§\f%Y*\1d\99nå0\e>f\86¯^ZËúþ\9a¥ÇL¯©ê8Z\1a#û>£\9emU\ 38\8dOþ÷©åJÝ¥³üî\95ºNK·ú\1eÚúå§î¶\fQ\14Û?SÒй\97û¾\96È\897Ót*°ÊM\99ùM3ÇõU\92¨Åß­ÕÑ \9e¢ç-\\1a¬åí\15^Êñú¶+¤¢5ÜNú\85ÊÏÍà®fÚrCú²\84\95\ 6\1eú2ý7t:\¢ªÁ©à0e.
+âÝ;zË(\1aä&>ÕEª\85o^\99<lÙò\vNI\ f8\90Ü»\94â\98«êÉs\94ÐÊ\9e\92ùDd-&Ñ?ÂR÷SØj.XVË,¸Øïheç\ 5\91iå-ÌG\10íoc¨L¯ßÊ[õv\18W4êj\9a\99
+klë:Á\94·lÏy}ué\ f\8a±Ð.Ô\976¶ÓÐF>2T5+Éøßª¹»Î;2V\ò\81\17¥\1c¡b;\14\88\8cιm3\ 6äÜ\95\8a\8atÿ7¢å(t\˪\ 4Ûiìë"zçÍþÃ%:\eß}s÷x\93Òµ9.\8c\0oC#-Ï-W\81«)\90ÌÖ{Kç\17ÅpÖ\9d\1d6Q9·r\94W¬´ø\9c\82o\13\96\89!\16¼\85_\81t\83O)\90P|S\1c\97H²\}\f´£¸fP\845YLf\82\13ù®<_\ 1\8d\7fs)\93à\85\95§'K¡\8eìË\164ã7 ®´§\7f´FòïÇGMu*\8e\9a\85ÔÛð      \9aÀ\8dç8s8ð9Ô.ªe:º©¨º\9f\9cSõePÆÅ\9b\ e\14)w|.f\ 5Ä{)=W\&']QåïhAeð´1:§\83ûê\10Ièx|\8c4\1c+]LÝ\aÉÍ(îè®$ß\81\8e\9a\1eN\8b\83vWü5\17\97\9fÒÊgYÎ@GIug\86º±[o­tæh£ô\\bòapì<íW\10Àâ\1fý¼Õïh¿%h8½¢dW­&r¥ºlRÊÒø´\17\99\8eË\97\11ü¢âS¼â\\19gïå5º\90\93°¶\1d%Õ=³\8b¹s\91°®23M=ý²'\8d>WOèËý¢5Z.-\8aYµ£9³[ÙUWY{õÖ[î\ 5\8f|àUÈ¿yÀí;$\9d\v9=3\94)/.\9fk\892\97bÜB5óå\8a³ü½¯\8aºÑ69¶è\9cw[ò\1cä\12\10\86þ\ f\19    È1Z3\99l¯g\13ÿÚêî͹;f¹bvîãJê\922o7_9¿\81ÏÑì4\97OÿkÇp»\r\9d\9d\9d\9dWÿÕ]yÕ];þ\15×\9er\81\10Ï>í\13?\9cºé\94\93âÕ\90<\9c\80\aDÜ6\7fèºÝ´*®\9f"\82ç&Êú\91½w¡DóßNºÝÂ\92\95¿+çÖºÙ¥ÝQ1?,Ý/­ºj\87^[\92¬\82&ݹzêIÏ´G\16o\11©ÀºåBë\8d¤Õ¾Ã\94â¯\10è«CV*¥÷\97ä\8d¶M9\rù\11\9c=n-í:\9f¤Æó'äøÉÏ\1fv\85\12L\1aò4Çd\91ì­&`½J\95·ª
+îÈ\91\95\1a\1a\1d6[\19«FÖrheA\1e\v
+¢¹TÓ\98ý5×[Ï\1d\89¦ÿ\9aç\16¬n\95¥\94â¿i­}+ÒÊxCëøtþ/èq\1e\89 o¬ý\18h\94p_º\85S,yõ\13*Q5«ÆÕH\9fýk±<(Qê.Âðº\r\1f# Àºûät\1f[)Ü`®+\94YFÇl\94¡«ÕÖp.¼m\1c²Ï,¹h\95Þ)G²à\10c¢,\95.°`]\8d¯\ fêL\85]h¬ÿ
+¡YR\1aOMCÁ×\98É4¼\ 5þþ\8c>ï¿ï?\89vjýCªò\9eíöã´v¶ÝU\85jër\9d¬eÌ\91\ 6
+\99%¢MÐ\9c\83OMAv\8eÿqydw]}NzÉy®\17\8eàF\1a×ü®Üz\14å\7f»Õ\ 6óoJ\82Þ®?\90\95ÑÜÝý\9d«S\81Ù#³¸å \16\9c\97\9a$e4\8a¸eOÊ\818©$©\[ó\92\8d\83yÌôªå^Ê\7fÓÉÿ\99>)zu]~\8aî\97?>W<B^{ÑgTpp.öÞé4W  (`z9Mû\ 4\84ÕË\83Á'·¢»Éi9&\175 ¶\9c\94\93h\92@7ýv*sH\8e\ 5Þ\9c\ 6
+4o[\9d3  ?U\9er\7fàÏ9?°Ï/¯\0i³Û÷°\9e\9b>ò2¢?\90˼yß±\\89¾mìK¹ä\92ÎÌMh\9f\19x\1f\ 1\97\f±\14\14\rí\1c´\90÷þεà^\9a\82ð.Ñ+\ 2?\9a\1ezµà\{ã-\95\9bgIvT¼\vµ$£:4\96G\1d6}ÆÙÕ\e\8bN]=ùNWH©wï2\84üÔY\8fÙÉìè*\ 5\7f*1å\12ãýFmø\13\1aÔÆ/Ƚ\90ébÜÚ\ f\a_\99\9cÌ\9eJd¨¨\9b¥\ 6^r\13;­è¡Ö»ùj}ìÙ]ìïWQ<Z¶Î.ýYK×ôÎF^¼¨÷~j|Ê\ f¡Q6*;L\9e\11¥Ê×\82v\ 5#ÖS\92¨i/\ 4å9otÕ(.   
+ö      \88\9aµ\9a\b\9af\96q   !¶¨3é/\ eß®ËQ¬\9dJ\11\1aÇ,Ê\eî\19Rñ5MjÉ\1a\8aÆ'\ 3Ö¹\v,Çag\80«\1e»\88J\9añ*-\18\8d̪{d\95Áë\99\eG¨Ý_Q\99Ò\943ê¶\r\16¿ú÷¶­N¯R±¾S\9e\9aòò¿Æuþ°e\12Ú¨ `xJ\17||X\9aß^TªC\8bëË\17ÚµYS\8aÏ\97{m_!/±u-\83\80¼\99\80\87õ\92N×éh/'VìÓ¯)xñº\9a\ 5{[â\9fÔw<"á\14\ 4\88«Rµ\9fûW\97h\8a\ f/¿\8dõæARó6ÙÅækñ_¼ËÂg·éúoú<{ìª7ô{MUå¯áÊ£XĽÓ=G;\eó¼x¼\r\ f\ 2Ôäd_\1e·¬Ó?\91ÛkÜÊ£\99\ eÅ\ 2ý\eûýÝk¥\18¤»\1f\86Ä'¢Jª§iÌ\9e¼áT\95tQ\aÉp¥ek¹X©)#\7f\11\93e'*\94ÚvÕ¥ªUþ\a¨ÄL24©ÉÞ>Ãxï¼èûU\1a\98Ñ^qÙÞø_\9fÝUF\8e¨&Õÿåp\19îJW\95m'!ph³]u\ 4m\¢Ë¼\13\9e\96ôå\91\912ïW ø\1d\10\8cÊ\9fD\17Iß°»\r\1a!%¨Ï°:¿î/@_cûø\ 4^2A£L3g|±{S\82Ï*ohNÑi,\9b/\86Ìl¤à=éR2\1c´y·ô¿¿gÆ^\9e\13\90QG2¥çûæÂ°È\19ãBo\f.pCÎ\851º«\85b»k{xÐÒùËÓ÷½>Ð\94\15èáw\1f¼½ABôסL\ 5­p\9c7\\97ìÝ»ÅüöϪ½=ª½=1\17¬bÑ@\1fÿ/LèÃ\82|¨í\96\98db\12«ÞYL©F'ü¡ó'\90\9b\86½/\94îU2½    ïû¯Jß\8e}úÇ\17Ð\19¯dª)ªå&±¥ôG\8cÇ\ e\aQÕYv÷·ÌLï}¢W¥2\9dÍÕ\14+:êP¸Ñ\90Þª\8f8'÷þ\fªeÂ\9e/K*\9a`;«Ï71·ÈJ+]u\14\83¨¼;Q       \9a%<¡<ï%'²ðY;ö¯YÎ\8aí4Î+Ú\154;)¥\ 1\88\9d\e)® ÝKÆöx\94\87ëö¸®Õu¢bLÇhâ|÷#\9e¼^»\86ÌxkÚº¬ß\84Íõ¤l\eM\9cl\e© Bâ\9d\ 51;\92^Íþ6}\9cW\17\7fs=|~´\80J\8aQpO\9dÕÛf:N·\\95~ËÍo\84u\16¬«)ôú\1dc\95^6SØï4\95n{õ\b(,\a\8a\95%J¥rç8]5\7f½|¬B\8eÆ\1fMi)Ûx\11\9d\89|Ñà§óZøÞ§íÃ^æÒèj_\eàp5WÆþ\82øÝh\8b_ʾ5\94âÙU\92¢!\91<\95&"s`EìÈyz\8e-v\v=p\9b½\95^m__6zkâø³ËÖi\97>Ñí7S×Ë1gß6ºKç\97\90áj_T¼¾\8b\rU¬¶®åå:\17Õüeô\8c5å|j±V\8a\ 2ú=\14HvÔ\17ÒoQ*\9d}2ûvÊß\91ʾ\87_O}}\ 2ýq*\17àï°\ fBÜ}k eô\9dS\ fQ\83ñÁ3\9e\14O\8d\91ª¾iª¾iª¾iûËæ\98Qϰ\10½Äq3{¹Mò\7f\822÷¯\9dëËåø(]üåó\1f\9f|õl/KxO\97*²SDÛhîZ\ 3Ìw=ËYlÁ=ú\849       \87_\a£Èw¤¬\86e\14_9öÊ`ôd\85O\85   âˤ\88ð¯\9e^ñõMå\93{$^\8aúõ^[£MÉ\vZ\13\ 5ôm\8c\14x?ؾ­GÊ1^\8a\85\vKéÈØ¥M\9f\1dÙÞo\96\9eW2\1e\13\19ÕÅ\f\vìù\8e·\19ë\1aÔ\86\15\87ÆW\95z*%3Î\8efí)ë7ÉGa®ñd²\91VBh4Vs\170¤£\9c«½\92¥e\91}¢C\ËrQÐt«1ÃF5/¤×ë/V\8b©}#  \88Z\8d\ 5é/\9fhå^\1d\19Wr§µ\8a\8b«_^®´å\aëôî¨Ê½¿Y|úù7Ê\17ȧfôbå\9f\9dê5:­\15ô\8f¤Çlùi{X·ÞN£oÿõ¾\9e¯¦YøÙWϼ ¾\83x£÷ñ/«Ñ¢H¹.\95¯ÂS_Q,\8f~w\82·8ÑL\94¼\8aÿ²J+ÿ\ 5}s\ f\94)ìð\17×ùÒÅå\9b6Ón¶\ftLXOÑ&\9c²\9b\93\9e)
+2Óþã;\ f+Õ{(§ý¸%\19|«îV?\b¥åú^S\9cîÜ%G\ 2tËLÇI\aå\7f\9eUµá±}\91\18À\9fM\96þ«\18Ì+?Þ¦9Y\18m&?èK\ 6¤g'ÅíÜRyÄc÷\93\95\9fÏô8þ\9f\81Ǩ»æcr_î\9b\95\92×Òæl\1d\e\99®ú|Þ\13uápµWËõWËõWËõWËõWËõWËõWËõWËõWËõWËõWËõWËÿ\95|¿'\84¾_Ý\ 1ÈâXc¤,«!ìËD¬~\19ja/ \a6XÊ¢o\81­½\88\13}#\95\9bç\82¼Ú²\eÉ\eV\ e\1c£\7f.\1a-ã*\ fb\ 4ß\11T&ùR\89ïË*¹y¯Îa\8dX\13|:|âqL1Ëb\8f}¼úbÔÁ\9fÄ\ 3°\ 2mÇP\eâË\96»óÏòÓ+\9d\ 2o\87\90ün-\83|_Ê\9bâç\r\8d\ f\ 3ÂÍ\95S¿¢:ø\13}>álÍó=ûúCÃÀõ¦ÚLH\1cn0øË\13\8dý3êaOTWÛ<ØË#\94\ 3×\81ð@\9bãsOÅ\ 2o\95×£|%\7fä\80Ú\81Ô\81Þ{\16\18Ä{&\18Å\9b*\8c@ó k\0\9bí\7f\r¡h\96\1fÄöG¾Ùfû\82\ 3Õ\817ÍF\96H\rx\e\10=\10\1cé/\95̾SÔ\16\89a̾[ïÍóX\9co\84-Ð8\8fÔa\8eT\ eø\f\88\87ú\89ý2ù_²\ 3°æ\ f©\82ýac*®<\rp\1f~XʳÉãÇ\9d\81Ó\81Ù\ 16´ò\80mÀõàv%\8c«5ÜÐgð:Ð&ùÜi6TÂ\9bçu\14ßNGfÆU\9e¨    ·\9bsÉ{AÿÀÛ\81ëÀì@ïM}±ËS\ 2zrÊ\96Ý\91c*   µ0\ fîKS\0úP=\98\1e÷Ú··\10Öò¥äØÊcÒ\ 1\9a\a­,e9×\9br\11à|2Ê\96ÜqeK-¨\1e¬\ fmZ}L!ìCÓ\r¹c¾»"9sncTµ0\16l¨Ñ7Óî_Å\ 3Ú\81Ø\81ï\8bD¨ü\96Ltð5æ×\a`\19 z :Ð?\1cß*Q@wfÑ+^P9\8c ·µ\ 3©\ 3pXÊ+¨\ 3Ú\ 1ñ@â9Ñï`yw\17Ëz ;\0;\83h\95\ 3\90Àù@wÀy>x8Ü\ f,\a\1c\a\9a\ 3 6TJ×\863\ 3³öáÑe©\83}Y±\94÷ \1f\9cËæ2Ê{\1dH\1dX\1eä´Joµ\ 3î\v)èM\94ð&ú\82³Åô#ÃÀãÀè\0ø\0w\80söL1Ö\ 1ì\0÷vGÆL\\90\eÀ&ßf^7*Ã\19ÂÔ¾ÿr\ap\a\93Ë\ 6\9f\ 3\9d\ 3©\ 3Ý\1aûoôC«\81»-\12\9fê\8bD£æÆJ\13jâ#?\99\r\8e\a¼\ 3º\ 3\8f\ 6kìÿØ\81ì\80ö\80u\80{`=¹_i~à\ fÇ\ 3Ý\ 1ï\0ü\90\1d\90\1eü\97ÕfÆM\1d\ 1/¨ù²_3\9bD¤xÜã\fs s dç\r÷¹v\18\9c\ fv\af\aÇ\ 3¾\ 3\8c,dÝ6¥üî\0ê\0÷\ 4¾\8f\1c\ eD\f\90; 8\9cðpÙc'\8f\84\ax\a\19ï\ 4\aà}þ|AFm\12©ôcÔÀôÝ ÿà{@?$\ eÜ\ e\87W\81Ô\ 1ù\80q$¾sÚ\81äýð÷p=ù¶\13ÚZ\97ÛíÍ¢S°9^\94<\9c\ f\8a\a\9aø\ 3ÉÀÞ\ 1Ú\9622õ}0xø\1f\1d\91îö£¹\81î@Ö\1aûE\92ùÏ\m\12\99Å\r\16\a^\a|\ 6)/\9cü¢_9û\0<¹_h¼¡µ.ÆKèsc"¬S/¡Àõ\0{Cc#lcê^\ eÜÚ%#¸>¥àù¸â  ó}ËO\81Õ\ 1Û\81Äè\83ÒÀö |0>Q/\9cý\88\1c\88\1e|\ ed\r \1f\86\a\94\11Gs t@u {\90;2Ñ)>è\ e:è0\18\1et\ eT\ e\9c\ e"Hÿå¢R¿\b\ fI(@¦\an\aÝ]\8f\e\ 3\89éÄ$àzà=Ð\1dÁh\94¯8\aá\16\89Hùù\81ºÀä&\87)\81ì@÷ qs\87ë\ 3ð\80òÚ1ìàm\0Ë\ 3×\81î\80ì\89\89Ò\ 6\ f\ 3Ø\81×\81åJû?ë@ëÀì\0ü\80\1f\94\af\aÃ\ 3ã\81Þ\ 1\93¦\r¶Kå½á´JgxmÇ\18\ 6¯\ 3Ê\12ùoF\apmbr\92ùo­\ 3Ë|\10À`u@u\80w\0q}Iì1ÌbR\8cå\92@;ê_oSÙ785,ª\8aÚ\9d\ fÑáÏ>f)j8çüx\1c\1fOÂàÿ2úg<D,§I¬\9a\84\86ä\90Ã1Ò\93o\82\84Ü÷\10%\8f¤Å6e\9d\r6\ 4{Z«\9cF\8cÃ+B.U¢ÌÙS\92ÏØ\95\9b\8d\9aÞ\eq¿\9f!ou×ùÙ\8cV§NÂ3\93©\8d:\]¹i\80\95YίnD\fí\16\80^b6O\82}0F\9c\97,øJ\7fx\9cÉ]\92\99     ¸§§DÊ©5Bo¹¿MÙY\ 2\13\96·Ü\11öZæ»Þ'6èf\8e6Yy\1a.-Ìâú \8bGa㯮ÎÞ3\93f³f\17Ý\ 4Ù¼GH\9aWÔfïì´\93Ì×§<únÓ[')¶\93A4MiaªKÚ\95­­p\9b¥¢a]"n/ÜfîS
++\ 4\9cÇ6;\9a%µÀçT¾\9d­M÷3Ë\11\ f­Óe
+ïu\1c%õ>y¹´ê_{Ù\11åË3Ù\16'ð;>c~\ f-Ëï¾{\ 1\7f¤cl?ùÐÝõ\89\1526Í¥>⻢\91·\9fÖw\vé\13sÛÑkdQn©ÖËw\89c;"ê1Ó\9eê1Ótjä\12 ®Ý\8dês÷=\17GnqvY)y\9dsmC½"´\14f;]\89\1c½\ 6:sâDô  y\12*?\98âû\17@Ù%ɯ'^iµÔi¯6j¿ü\17ÙG\91çù§4LGëùê\17Ö?oÏMQÃr\96\7fûþ~·)Å"{{¯¢Ò²\8aølú>§úÎz\9a\17Ð\7fm¤í\e\84\8f×ót/\9bþß\9bôM\90QËú~r¥òÊ\9f\92¥òï\1fÐò¥\13ìdÃÓ-9\9ab¼Ê¹Ìpµ*k9µ\8dÛ-ÂrxÌêqïþµI\ 5=\84\ 1iÆK\83­ÌßÃÊÑ&C_Ô¾¬vß{êømÝ\ e¶¹\ e'\98G¶I¯Ú\17Éu\18/£r(5öö\9c_fÖ\97A}h\96\8d:ÃÅIÃ>\98­ÂÊ´3»\95*\9d´#¨NÚò
+KIìÑíÉ\15\ 3\9a15Æ\ f\1f\83$®=ô§\14\11ÄÅ\9f©\82\9fY\9fÕÔoÜ\ 6\84ú\7f¬èTtÿx\94Gi\99OzܱôK3}}\ fS½ß½Ö\ 5ö­o\a¦\9a[zí5:\18\rüd\15D\93Y-ß\ 4\93·½ÑK5:úm¢<\ fG¨ú\97â~\19\9d(=\85ÁÑ%¾Ø¥z½Çå8|zôIFõø\8f°)>ì¶÷7×Óhv\1c\94ÍY¬L73\1c>==àu<à{Ç_ï\10\8bgOuqÏØîo\9cιEu\8dÊ7h­¦»ëåüÂt\10\e%ºä\9d!L79nNÙÝL'¡Õú2½ÔûÑì6¥i\1fä\94\98y©8\95Ѧåâ\9fÕ×è÷\85¢\rY¥âóKÈÐT\7fö\97Êôa\15Í·á÷\8d»6a!©ä\14±\93Ö\8cåÛ·Y:\aS4j\8e\fý\96µÄFk%<\ëß\1aÞ\ e¦\1déx\9dNe\92<©Røö*QT§ü(ïô±\8dµs:O\8a1gkõAî\8bñûÇ\836dþ»'\89×Ôí|û³<ÐÏ(õwà\87:ñÅT\1fçãô%;õ\16<\9f1ÃÑ\17\1c\10!èJI\eÔ\14y\8f/Rè/P¯­}+b\9b\86®Óna{Iòy\8f\9d¢OÙnhÔ¶Ô\95uj\83ÿÔÆG<Çð¯ òîß\8e\99¼&ñÂro\1f¨Õqþ\ 3\8fÿñ}_\9am\173\97n½_Ý%}{&\82ø\9f¡q}:Íó2ÁL\9f\ÇdÜo6m\93,Ù¶IÿiÁìte Þ\15\89\7f],ù£±d£az\88\9eÕÍ      ØÇ(Àßo;§caÌ8¾×¹$\90í\8ax\18\8eÑ@©ë3\vû\92Ü\99\14x/0äç\15/¬g\14r*\9c6ýùy\86\8a\9f\ eüÆýo?âß\9a_­ÜÞ\9b
+úûÅêyº÷#%RùNq)ªß¿'4\¦§&£ÎìË\91õ:ì0fáã0üÙñøÇ"xØ'\10Òïµ!!\çÔh\ 3\87þ±\99\14Ïõùi¸Ü³J\b´h v\ 6\97ç'¹v'ñõº¸ÌÓUu+U}+U}+U}+Uÿÿо\19Y
+í?×WÂÿ'\85û\8bé\11jÑ.N\1dù¿º-\v\10ÌoôøD\8c\9fA\ 4ê*bÞá\7f\1aûDË¥\1dÛrVÞ]pª\93·$Ý,\ eT¾Y'ÞÆqw¤àó\84A\ 6ó-®Z[Ý\rKì¹\93ïÌ*5\ 2z\8bëÇJ©\1ea\ÞÙ)Ië®]¼\82LÚ \8cÕ\1d\83\ fÞ¶ìsÓc¼F#\12\85IëT4MÃhT¾ïzþz\81\11  é\90î\1c\9e\9fN«N:WÚ2\Î\91ù\97Ôͨîïvú5TñS[\ e¶_\85\97^§«~x¼\97HoÌÅö\fgXÍ·Z\9b\96nmîY¶Y\8e\9a=·ªQ×@st\1cç\18\91å7   ìèÐ\11J(ÃQ~gá÷û«æo\92á/¬ëÚ¨ÕU\80ú\vîu¼Î'\r³ÕŪ\82\ e\ 5÷9ÜOXãVßµ­Ù\1e\0ñZÞoòeê=7[£GÕê_\88­Ðl§@1ï\92\19ò\1d\1fjå$\8bõCðÀ\ 3\15(}\14`\95L\92¢\v©X[nì\ 6ï\12\82ÕÆ\90\9fòÆ\90\9a.\91Etm¡\11\11Ú¸R{2ù}\87\96.&Þ\7fIDG(ê6d\93\9dh\91+rJÏw­}^xkxº&M\Xñ\b\87\r¤Ò«Û¸A\83\1a\7f\8f­|.\88\95\7fÚüêÁ V\eò\92õn^dBo15 h¬¥À¿:ó¸\98Ð\93\ 5&\9d?\a\Vtq ö\9cLÿñ~xo\12S\ 2ýùçDs3\MÛý\ 2;\18ÿ8ªEuÁhæmgÕGÚ¦î\87Ý6V\96ÑgæM"/u\935Çp«\961+1n
+Al\9e\1cCò§ÕÁ££ÿ5ú\ f[Nôi\99\93ѸC"\8db9ïh_vÛòT\15t7Éâh¯\8cr³ã\1d¬\9f\1ez«*ßÑ)Ê«:ã6TK:öR©Èze^¯\94_\98¯7~¾Q\8cây\8cìK\7f~\87~û,äÿ©\96__\18Óe·×Æ8\fºúø¥\14ô²|ÆS°¡á|ã½Å\¬\1d\8dR×øëà\19ÉÓvëIÕ\ 3º\9a-\ 5K(ó8Î\15E®)5/|ç^ãTYÉVQ[R\8aù{wJHaÂ\9a´\10òèÊî¾ß× Ý\16\89ÃÑ þjsü®JIPäßcUìâL\88Ë\9f<]齿1]ÞÐ\92\98µ¯\84ðgÊÃ=\8cëðõ\19^³}W\9b\11&\1e/ãWê\9e\12\89\83hÏéÙ;ù\90h_\ 2©ÛqÊbÿ·s\85\90ÙM\1a°t=xÖ\ 2«Ú\9eö\89ÅÖôµ\15DÇ)
+hFAܦ'8\1f
+ÒkvfO&]\83\1aÁPÉñ\93u\ 6d\16\15ßÒÆ±Ú\855~éº.[\82Ðì\ÇI\90Ï*&1Z\8d\97\90b´ú\9e\ 5úGèÒ鸮¾%ú\ 4\18\18\96\ 2\82yn/XÞ_
+¾âXäðÚEA1      66\8a\aó\94\18ÂOÖ¬Ûo\8eI÷õ\92q«Keè\9c\9b55ëk ½|\94mâîw\8b.\7f\89¨æ}\85î­Ëº\18SÃÆ¸4M­¦ètcW­ÿ\a\rrËäVj^Ó\9e$ÛÂ^éÜð1®\8e¹Îÿ {-á\14\10ª\98Þ*[\14Ü­mï+æè\9eF\8c\ 3tÎIà÷\94CObÚ!\8fv\1c÷ráf*ÈÅÐA¾¬]\83³#\179)*O·I\87Ï\17Dýü_\1fó\97¸¶\rÏ\95³vB:\19\16\19\80~Î!ÈxÕ¡\82{\vêj¸oÑ®\13\98hã`}Ï\r\84a¿P<~Þö6\ fÜÕÆÁÿî¿O'\87Fá'\1a¨ª\1fÒ;¥ÿWθà<Y­½àðº]\19,'·e2\¦\1d\96EÂ1\8aÙ&Û\91\87\f¹üF19Öð´{Ç\9b)a¶³ÿZäð\9f¬¼x®h\12öÉîðF\8e¢«wüN¼\95Ϋó{Çx\15\1eOÑ:\8d¨K6©8ú2kxîy-s\9eã`PÍ\9eXý}\ f'W\82´Ý\88É4¸\9bTÉãäx».*=cñ\19uu\1fx,Ó\9f"ssè¦Õ¤ÈW~¦eé¡ï\94ýÆ+ó;tQôªY\9e\e©p<¥\8dû=°UÔ'4\1dÛ\14\1f\7fq{*\86=b÷ÔTb\9fÅ1\8f§J:ñ²\8dªJxÏ1N\ eî\8acUco^\814\em;+\1eÕ.\ 5\82\94/\91Ýaë/Nmº"Ò;Â\9b·QÞ(:\e\99A]vw\14Ü\14\87Ü\18IéVâª,X!§E\8dm\8eFÊ÷\93ù<>Çæ¯^Ô\80÷ó»_ô¯]PZ×\ 3\84a!yh\97hh\82åOñQq>\ 3gÈn >Ù.\ 3°LÜz%ts'¡\15ê¯@jêzgë¯B_C]¿ÿìÊó\9c½ùVïÜ\15çü0T\98êO4é"ßå^~ÇN¦eÎ\85§\8c\99ä<S¿³¬\99á;\93U.;òJæ9ÆÉL\9e\99\8eà
+ËÝ\7f9CDñ+Ñ;ËÓÉàõ}#±öþ\vôs\859F\8e§¸ODÊiÿw\8e\9d\1c\9fD\9e\99T\87üÑ[æ5RCªV        Ø\9d\12ËÚL«ÓFWòÛ5ϸL¤»r¤ÍzBz«\12Ö\87\9b\83D©õSà¢\96\r¤Öã©)\9b~×q8\13íÎ\80#[\ 1ÁFöªx³É¿®à±¼\vÌ\7fÈÈgó\1fïdu_«ZßÿÑ;»Ç\ 2§\94\9fE\88ÞÑ<\7fÏåë
+A\t¡\99ÖQV¤9¬Éõøçþ÷mÆ»!([´:~1\1c\9dÆLòÕL½E%\1e\88¡§\15 \84¾ý­i9ßï¿ý=é\ fH\ 4\84\ 2\ 2 1\ 1Qj\14a\0\0A Â\b\0\ 2\ 5U\ 5\12\ 4\82E\92xd\81ET
+Z\ 4±j\14Ej­\15Q\16µEZWT×Z\ 2ÓMVÚ-m®\95ª\88TE\ 1´Aª¢_ÿ¾ûï»Þ÷Ý÷g§g½'\8f_\ 2%\83OÏáu®­Ô«\97w7.n\nÜÍÇ\1c¹\9b\99x\eÀ¼\vμ\v\97\87¹\97\81¹\9b\99x\9b\99¼=á\Þ\16ÿ\ 1w\85x\9bÀÞ\16ñ7\89¼OSÞ\9d¬\92Ie\8eI8¢r~à]¢\89TÎÒ\açÛ~\9eÍ#\z\99\83-g\ 6d\9fú­¿ÇÙNaÛ\80O¯n\ 1<oÚ¢\0Ú\89\aý-ÀFikG\91j|¶\9a\99¼;\92ÀØ{Ù»Ù\87p®°\9bμéåH\8a\938N5Núz\ 5(A\99\87pé½BX\1dâg\1eP¼j\9fß\ f\b«áíVQ\1e%yØ\1f\90'\1e)¼Ú#[Ü` V\14í¬,\14\10ËùÝ@©Á?ܱ§)פ3Y &æQCÔ½3Ì("à³HÆÏ¨=\9b¾ô        Ý-×ZÂ\95-x\86\9a\12ßL§\97\8f\ 5\83vî£\9eG\90'4\89\1f\19\14;ýyPuÝRÒ\8bN\ f+ðâuè\aÒ´¬ßMåÔ\1eá7ì:ó\96\1d\ e¼å\87^rúuç.ßÀWh{\15j1\16kθPÐ\9dBÝÖ¯)æ\96\91Í\9f§ñ\80i\95\1c\ 4'\rGë<ÀS0zAW·
+t¢0"eV(_I\ fgÌ«OPKé\809U-\ 6~e\15Miè¾\96«Ðr)C\0\9d\13²R\99q
+(ÕýKWÉ+å'û-Ä^þ\87#ñk\0ÈójH(\91o\19ö}Ý2\97\ 3ÆgM¸\88â\1dÈËÓ\ fvükº\13f\99I\92\97Ä1M\14\18Þ×\88¯¦3\7fÐ?\9ee{ç\96ª='Ï­ß\9e¯\89\86ö\94³×¡SϢǡU¤\94d^ygé²\1c´\98ç\9d±*{õ÷×\92Z8dMM\9e\8aWm_(eZaÕy\18S¶_  \0\1e\98        ê\18öüïÌatµ:ÞõÀ­0ÌÂ\9d\9d0<¹ùõ=B´×©*û\83\7fÚ=ç´¨O姦½Uô\17\7f\9e\8a¯J+ûlÆ­=\9f8·ª\86×\8f3ż¥\99Õ\8cM\8aK}\9f\ 2\8f\812ÊVZ+Ìqúx¡ïM(\92õ\81Ï.\8b¯ÿ\1aõu¥G@\8f$ìõëÌêÞN¬\16×}JkÔRùtÕê;Ó:GÃù\9d\8a\17L>\b\961\9b\91¼Ç[ú/O\ eü¥¹\7fà\ 5Î÷7\96æ\ 3\97I¦R¶eßrÙú\17Î\ 1\99³H\vö\8a\1fWõ;ð\8f\109ZI\7f:oUý\83Ú²ÿ7TvÏÓ&lÔ\1a3¿ç^ħÀ¹VC>yOCWpÊ?}\92]")}£)«GÂË­Ö\ 2Æ(\9föþºÚ¡gêV/âBnëz\8fly¬ëö\ fÿÚ6õà¿\9d#|ãüU\e¹ý\ 3L:ù¶\1d\ e¾m\87_6ï\9ba×Í°ëæØuól:ù¶\1d\ e¾m\87_6þêù·\95ÄÁ¯\9buâ[Z+æÜX\94º\ 2\1f\97\9dØ\94º\88MÖÖÁLYs¥\97Ó#\ 5,úô`¥\9e9\15ó©pRÏq@ù\8b
+YË\82\96>ÜJ]^\87r«b\8fG8ó\14z¸J\99³«®N½\16êÒ\91óF%\18)cè\v\82\97º©\vµ8q>\ 4h\9aÄ·\14`£¿\1fV!\v£=¿\%Ñ\89d#ÈBì\1eóB%.\80ð7
\b]N\ 1r"\Ð\97EW>½9\9c0\974%ë\84¥Ü\143@%.\90Ì-«$%¤KÆ {©\ 1á\97aØdWѺôd[\96=\19\16é\93F)\ 4tU¥o\90nâ%ÁVÏ\82\8d¾\9cKÖî\87Å î}\ 3çÉpQ×°FE»d\ 4\ 4à£Ü»v®\17\ 5\1d详K|\81娤\137^=ñ÷\97MO¾ÜK\99Ý\85/\12Ü$Es\89o\82\`\97X\\14Cîâ\81îæÜBÜ×Ç÷b°      ìKB%Π  u6\ 3â\90\14»\11\15ãÑ_P×ìD$Ø\978\8cR\0\97e\97\9cÀ\97\1f\ 5\ 5\96\84K\9cF
+\bË\8a@\eâ/\8fï¨F
+\bõ(¾@=õ\18¤\11\9bE}cÔ#\14\83:\94W×;è\97\84Eº¶ãÑ_`\97"Ü%Ø¢\1f¹\12ëD±;à¬q-Ù\18(C-ò\aö»áï\8f¬µõÍvÈ,6\8c\13ù\96øöö\ 2\89j@K`.j\87\11\82z;\18\96ä%Á      y\ 1-\b\976%Ï\89uh·X\e\1a\aÑ\ \97\10\91n°<\92\12íÞ\8b×\89v\ 5\1fKd\8f_\Ü\ 4¥Þ`§2%ë\91_XÖÑ|{eÑfçL%ðĺÁ/\94\8bu\81.    ããÑ\91m\eå¤Z¼K\95µ
+÷µ\1f\ 4ëxq)vø¿ÑÛO\82l2à\9aïµ\12÷¢]`\96&ÞBW\ 4¸¡.XK°\12Ø\v©¹h\96ú%À       yTdZÆÒ%Ê\89{$dZ·È\12Ü\v³\9b8\970%Ö\97,ÈR\82Âb^¼K¦\12×.D%\94£é(\97\ e\v\91k\9b\91ï\8e\ eª\8c\13\rï\82YQ.DK\95\12ôâ_\ 6XXNèm £É\8b\12ôÂ]\18\96?\82\16\8f\12×\ 4µñ)wZÍÞD»à\96Ê%\92\12ÚD¶Ñ-Á\ 3éì²1HSz\12ßD¹\11.pK«\12ò¥ËiEØ\84àqè·WÜâ+ï\92â\90\ 6«w\14lK,Zü\ 4K\86\12òWréä\98*M\19\16©Õ\89kw\83î»ß6\8c\8bXõbXäWä%¯»{ËÉï\8e¿\86-ñÛÞÆ\f±.-\15ön?\83\16?\12Øï¢\93\89xÁ/,%é\84º\ 1,]ø]¾\8aú×\9e¿\1c}!Å    rè\1fHpB\ß\b)8\96?\85\15þ\8aú÷:\8bã§µ\89qâ\°\97^%©pã\ 2Ø\97\9f"Õ²b^É\15õ¬²1Gû\9aFEªk¼H«4_\e>´K\7fÁ\10\94H·X\96å\1fLK\8a@\91-\8cK&[u\8d@ú¢[u¡\98\12â\10>®åÑ\91j\19\ 1-\94K_\97\15N%È¢Ýft%Îb8\96×\84\16«\12æ\84º\1c!ñHK"%³  n(¯ÂpBY±-\0\97\9e.x>æ\ 5¶Ñ\91h^ÈK©\12ÔæF\18¡)s(Kk\12ÜD·¡/\f%Ë   v\ 2[6\18Nb]\ e\18ø¤5\9eEºÐé\84µü8®±-\10\976%ïKnµ3Bå4b\90¤¸¤!Ó    x\8e0P>0¹?¼\16Ï\12ç\11n²;èÆEÄ   râY4WܳÂ\ \97®\12÷¢]\áÇÖ\9däKÏ        s\82^èKft]SSųĽÐ\97¼\12é\91_\84ëDºñ+|A\r´\17\9dlKÊ£\14\89%Å"-lK\95\12åĵÙáiq.DK\96\12ÕgÅk\89z\ 1.hK'@+\8d\18¤!Ð"¿!ßD¸ÌJm\8bmQ7\1f\12\80Q¶}\ 3¿ÿ³_:évCå½G>b\9c|\7fý<ø
\17/ýëä³ùNsFñÆç©\ 3¯ý ù³³bt\85âófòÇeÔðÔY·S<I4\8a\ 3»/DñS\83\85öê\84\13¶ÓLË«vâ«áÜ¥\80\9enuk11>0¬ô®Á佨ù\8e¨ù\8aéAÉ]qó\rqò§N\87\90\9e¦Iz9Õú¸£ãO\8c\87\87Rªý^Üô}AòÖ~\9c|³_\11ªï\82²] ù\7f2ðZ\8dñ¶Cæ\rFEÑüe­Wßj>]ê©G˵ìºT³~º¥\87Ëw¶êW1Kbðé\16\12Ðáb\8f¦\ 3\1eÜÔ\12\bðôeÔv\8b#\86úãä\9c¢\ 2'ü*\ 3ØvG\86\9dE8ù\ 2½¹\ fÊ;Äñ\1e\0Õ§ºµÏ~áNÞ^\ f\8c~\9a¡jÝ-}¥Bô|3üê\8d\8buSö\\ay'\86\80d\ fn®à۪ϴËòª\rþ\9a\9bjÝUý¥7(¥º¨íÔÜ\ 1î?ÐT©\vvtû\11î=1!À\1eãRa_\19C-\ 5\14l\84\88¯P\99ý\92\81h{\91`('t \9f\96\7f\ 5þlÀì?¤=ÁéÔéed{\81bÏ{ß^§ZáC\v6Ï¿ªRÙ÷ØóíÚ\1eÕçv1ÖÁV©
+zõJy\r²\8b
+\143Ï9{4\1d!\14;(\1eÖÝ3XBZ\1eÉôä×;q\1eá\ 3\91\19ttÖ§ÈCºÑÕë>î\8f\12®,b\f\9e\98M#õkÄ\16\ 3ȶ\82ÊsÊãË#Æ?\97§¯\ fÓÑzÑÎOÍ9ÂȤjZ\96u\1f¶2(ÿ" ÀÚ»Ô^\85QiQ¬
+9ì
+c)\1e!äT\1e®WmÜR\8f\19\97Øâ\83¯\¶(;fiǪ½*\10yôWøª\86W;Qê¿T\8c2w´=Wª¼Ùa?n¼GO«ó\85£\19\82%¡ê\84ötçá¨/\80Ù\14í\a\98yØ*ù+\80=Q°ù4\8fT>y¾Y@\8c\9e\15jÞ}èõG\89Û[ª-ú\8cz£f
+ölé®ý²\1e¦Õ\178S\ 5\e\18\9eéÄ"Õ\83t\88\13\94(Yϵ\ 6.\ 4ÕN«ÓÎÒ\18V;©`Û©\8cÊ"o\9bS$r/\91ºl\19<ÜÖò·ôæ3úöêGø\a¦Õ[\85\8f\14¥\96\9b¹ßhÝp\ f\7füß?ûn¡©\90ûÂ\98@U\9a\10²=\1cÈ\9b§>üjpÔ¾Ó/\b\96æ\81á\ 5\96ÿU\13}Óû´·O\9cB\928oG¥³É\94¥Å/mÔ\ 5Ò,í\8d¨³l¨ð@l\94hyíÓæö·@.\18Òpo\86\8eVk·ò\13vopo(ÞÜÞÐÞL~2MìÍîCó·7¼7··»·¶7\91'\0<{\88ñX®ßk\83Å··\95\13M­½´y¶W\96é\86ÂÏ\83\ eÎÍmú\88­ËÍEauô³)\97LâÓ\85F.¾î(&×\1e\8aa\ fM3H\84\að¥0+¸Õìê.r\90T\9duH\17ȵa1ü\v÷\9e½\v×o«v\9eÿÈôÃ\7fG\8fî~´\1e\r\1eè½\ 2)¯µ\\86¾"\85×âÈúÈÜ:î>\1do\1f\ e»\8f\87]Çîãá¿ÿü+\9e¹ta\89¥®,4ÿõ'ûý\1fQϤ=\19ºv4γ\8a\11Y¥¨È×_ê=\13Π5³^¸G\94y'ƽv¾~ô´Û¨\ eצ\8eYÜü®ü·X»2«¬\ eÇmbvM¡§\1eyA"]ZKÅyÿ\96\87 ¾1k\12[jÝ;f\14 £gV\91]{=îú{\15{téÙÏÀ¾LX\1e\84]zÌZ|\95<ª8h§\14#sJ\f    ò\86\ enS7S³\1eyôªw\93Ì,\ 3öºXQ}©\93(\95ñB\ 3µ]¿\88yÛK´diå\8dè\1d\9aY\1e\1ev\7f\13>úµ×,ÖÈyÇam°qjC\7fï½Ý\99\ 2v\9eú×\88\a.òÝ,Ò÷¸uÕoîȰ\9a­æúÝ\16^Ï?ª2¶«j`ª\8f\18ó\94öèÇ0±¥zêE©î5ÄH¹\14Nx¥+NN>\7fÊÝ\15Î,YÏ-7Ã¥D\92\9d¯\üªq\97Xy;fx\9dT-\81ÇÅ\8aÃO:°Øw<¥\9f§±]G\9e:û-,\9e\9d2\99e?\81\11<Ê/.·þ-ÑÇÃZÉ}ei\ 5\8fÙí\97\83¢\9bG\ 5\9dPX\ 3?\86v¼Æ+ª[?)Ä¿\1e;^\8f\1a3+[ÕZó)*¸UìÏ\8ai\fÖ\14Ü\e\eËK\89}ÌPuºS\ré<](îï.\80B¾]axÎ\0îNÄdï\87r7ÕÒ\9b\ 3?Ìò\82Ù\1a£?<ãºé>ëH\b\1e\7f\9cÆÆÝ\17Y|,Å=º-þ¶=³ÿ{\1e½·E\17Ì\7fM\8a\rxL\83ç\8f     {V=¨í\1f\ f\93Ps\1d\9eE\v\8f\ f\ 6w·}2z\8a\8e\99_·B\94\8f\ 3¥Ã .ú·\8fÆÀð\ 6Ç{\9b\11Q³n\84n\96òùg¨ín\15Õ*ÝWÈ\13W·.]æ(3SãUí\a\80x=Çì6\r\95åw?u¥\99qWÄ\aÄ;\1dDÕëE\wÙu²Å\ 6\9e\92\96ù-ÕwJ¾?ûC¾¬ó±ß\êm>!+C½üãºæÎËæß%Ú±é\91üa*øhøª1×\8d\1e\9b\13ôì$©T01AÒ¼ã¾Üw­bÝ*æ¶M«0\81¼ÅQAþÈ\85/\aÇ\83jù<Ùð\9cäi'aÓÐ3.ðx\ 1\99£=®;γçðÿsMþ[t#z=\0µn\840\ 6$tÀÚ¨\86+/N\8d«n\86»XiÕ¾Tyz<P©Â\1däÕé%{|ª·5±?¿@\81Þ\8d\99ãú\8båY\94x«åÑH»½®nuÊ_(^Õ{˼¾W\96!ÏbÜýSä¾Ï­ÏhwYkË\ 5j|\9d[t¿¨j\eÊ\96\ 1w@ðLCV¹©\9dw\8fpzaݽ(Zó÷¿|w_Ü,\16k\9a\98;AÝwp\93±\Í¥%\87\Ëþ¡Ým>nÙ\1dúÌê\8e\833Hîc_\9aÇ\8ebJW¦ÂCoHó\0fßÈÛµã̾\1dÉe\1dõ-íÇqÕm\94î}J¸÷\12\88\14Óâðß\94\8d­\8bs麣É}\98S\14-lw{ª1\15³$GL+Ä®È*\8eßô
+u\v¥pÛhاj\88µ` ò*\ fðo\87mV$Uá1?\ 2\8aÆ%Ò\98¸ó\97S\17\1eoGlÖ|y\15ÐõeõU\1d³Ø\88\ e\v\95Õ\1d®Þ±Ïé\1d¬ÒäF¥fª\84\833ªykìÉxÞé\ 5+ÔËòâ\11Wy¦Ú\13ç\96²3ù×ve\e\83©«bgô\14~ÄÊã´\8d4\9c\1f¸¤Xí\83J\1eÐí\a3K\1dëß2më\89ß@\9b*\8eÛõüù6-ÎÅ\98HZóAW7¥³}qÙ¶]LP\9fÌ(;ÈÁH\7fHìº\9eìÜJ*kY\8aV÷"%êøµ¹¬4ÛªF\9b¿¼i[ú\9dñ°<\8aøuÆ\8fæ®4eTó¾çQ\94æ¹¥\ 5ðÿú®5Y Qoï=<V G"Ï\11Ú×\1alÀÖÇ\83§þÙ\17m^b´\9b\1f`\1cõ-ëßlnæ´ÃJô\ fK>mLâ%\18Y\1d\ fº:á±ÐºÊÅ\82:áþªã\16£µïÏ\1dpeP¢æ\94Ç@\8aòÂé\9bCÿÌ\8bÛÓ/ú\81Õm#\9eÚz®pÈ©xÞôw«w2¯\æÏKZ²Ðêû\f²êJÊ®³Ý-à\8cª±ê$²W\98±hu\viäkË«´Ç®\91Xú®:\8fº§\1dGÿ~(\0åÞ0\99ë\83½¡\85qÒÝw\ e\9e\82\vOKúýz'Å\0\e\ fÝ DIªö÷Ì"à]l´c¥[     
+¼Ûý\1a\a*\84\ fо\80\v\ 6¼¿]ú\8e\7fGû/ \1fj\92î\0\7f¬t»b64\8e\97ïe\17ÿmp\ 3¨wmaêÎz²5\9f§â­¸D±ëL¦nM\86\r¦\1d#ð´}'´\ f\14J°¤±[¸°e\85ä³²:U±fÚò4«÷i}\ 3s+bïýQÒõ\8aßoÃS\13ï8¥1ÏÒÎ'û×|ýGG\7f«\91\82|+º\a-\99\8d·HÆU\1d4Å{ÜP\ f³!_\88¤¢ß^ÐW­/?AÌ,¢-=\85êk(\8cL¹ÎÿIÝ¥\83\ e·\87\87[ÃíááÖðÿ\84tmcÁk\98¤­ÖY\8a\9d\91ÑV\14Iò+\ e\97¯|®UGC]='\96s¸=í!å_ßK\9dx4¦ÜÍ2&~ê]*#S]{Ï¿¢ëi\90¹\9d\92\1aÐèòöùþW\98Ó¨\1d\1aÓ4²Çu\\11Ñ\8d~\9f¹\9a\7f¼-J@þÊÝ´ã\9e\1f\8c¥¹BßQ/¶­¹y½ò\14]RÖç©\1d\12];\99w\97\98]-"6ÂkeþaÐÆ\9aÄÈÕp{\ 3¡¼º\9e\9eÚ¸\9fû\99£\90íTu3Â)iDg\9a\94¢ÎÒ¶N\f\98\9eÝPç\94ôÒÚ\1d\fçÖ\9dÛ|:\eº¥\1d\ri\98\1dõ    \v\89£éo_Ð\v\9cv:     «ØKùmÊm{(\91W\13ý;EföܧYBab\7f\87nÂjª\17¶å>÷ÑYb¶\99b\8d7%\1d\1a\8eÐèÛî\ e|¸U%äg½lOåªÖp1?\83úÇ>9Ïç\1cøæv>Êû'Úc\f    ¼úc\8bìOý6Ë#\19ظ´Swp\a\9a:CO\85%UÇ>ÜKÁϽQϵ6\9f\0_>%\ 1\9då¤ÿº7h\9aþ\e*ç·Ö\ 4¶Õ¹@â\14BUñÛÏb¨óëx(iOÿhçã4ðTQe\8cåTóuÓåêË»g\9fI\8cçÖ\ 3¥w\fwÀ©oK)èÙ}\89ï\95|¹¹¥\87<_pîôsQ\99ö\ f7Çl+ù\8e»vëÛ\9aaÖ±pëX¸u¬\:Ö.\1dk\17\ eµ\8b\87ZÅíbáÖ±pëX¸u¬\:Ö/÷V±oµ!      ¿\e\8a­\88¹à/'}r¼ü\9bí³\83«¶«[÷u´<e.\16\16Á\12\ 4ÝÈÙ¼q7H\82X\aè\ 4\88\8c\8e$iô<È­¶£äØ\ f§@A~V\13éÏ\ 6_\95\88ú(<Ò\e÷\83ê3qIÉÞM³Â\11+Íâ£\8fͯ7\bä\19câ²\ 5Ò´¦>+"]Fqë-·ZÆ}±=Òu ë­\19^nµ\8eм;!øväpô\ 5áÙWá×+\1d\8bak\93h¿Å¢\8a³Ô\80\9a8ªåc²/\ eÌv\b©\89\        \9f:^\1eü~\1eì]kóЭ£\eU\18f8§ì¿Ò\83L¿Ò\83õ«\11\19ñ\83¦\13\93}øR\81çÖ#\rÏ.\8cµk\18þ8tå1Ý\ 4Ç\11\19Ô\87P_¤\91)ÍÝPf\8a\8b\81Õ\97å&tuê{ò\ 3­/>Ðdgä\86l¿KI"Å\19ªd\v¨Þøµ9\e\9càBH6+Z\17ý¹[9Û  ç\9b¾`ü\95+\aä\92Áí,\a\ eq\84
+\99*\84ræ<çW.jÇÑy\8a8y\93Ä
+\10ø ^a¸eæ\18Ê^dù\ 2\889Ds\ 1\1eh\b\1c°dÁC\82\88\14sjv|pç\8b eC\97\13®X㺣\97<À!\eæO¥~VÄý\16_\9dì¦×\ e\f |0ij\9dÌ\866c
+x\8d\8c¶¸ç\ eÇ5³ xÓm=_\19fqͧ\8d\18,\93mqU\17Üó\90Y6¼ÝÍ\9a"$­hs\95\98Ç,¼&\80äH\1cèsª\8b\9c\18\11U\С\8dð,*®D©\f|W$w\rÆÆ[\9c|WjÍ\1cüªyûó\8e\85®\7f.\9e|\93\8e}®~Y<û;\8e\81®\7f0\9e|\9b\8e\8d®\7f2\9e}¡ÇD×?\9aO>Òã0×?â'\9fjqÒ5ÏæÓϵ¸Ì³Ï"Zê@Z".Ìv\82·\19 ¾,&µ"\r\92F6sð\8d\8d\90\98ÙÐB6D Ù¿\18ÙÐÂ6\ 2\r\96³\e30\8d\95$\e$Ìlèá\e\e Ùh1³¢\84lp\83e¤ÆÌÄ#dJ\r\96£\e:HFÈ«3È2Oý×D¾\83>âî\f÷\b\83>âd\8e62âI@¹\eAŸÉBp!*m|G\9fCòáÍ\11\ 2æ\12À¤\14JAhX*ùB\ 5Ð8'üÎx\ 2ê\17güÎT\81w\vÃþg ^Bô¼ WÀD(··pf2«\8b\10\91\8d\8b\96 p`ò8¬\99xo#\8aÊ\17\86î8ªtr3á\1fKQ\80$Ucá\90/¡K\1c(DÜHVÔ\94
+vVä\00\ 1\81¥_ôÉä|P\9d\ 5³\ò \1c@q+°÷\ 2î"\1a\19=\91\972§éKrææH\8d\8a\89pç¥\0Á\a\14(\1d^\8e+êC\8c|W(\ 6\81\99\80`Â_n½\9c\80a\ 3
+¹Æ[bq\8f\8aɪ\96e\0&\ 2\98è@/Á\7fóÔJ\11xøª\13£ÇH>\b\a¼\ e\13Ñ@Îz¢\0áC\86\13Õm*o\87\r±ë*\ 1\86\ e-újWRF\8b?76n?\8bÒ-Jʸð\f8M@èdzq÷à\1c`q¾Êkð\0&Âqúk¶@ò\0\13 ëÐW9\10\f@qÞ\83\9cù\90     à\9fõ×\|W8w\16ó+¸·\9a\0 \fKõrxfHß\14\1eõ0Ç\16\ 4rêf\1aØx\94ð#ò`\18°ãÅ\14ä\ 2Æw\ 6r'\83\9eH$\8fðäÂÔ\7f\8607óü1¡(\7f\868%\8fð÷Áw?Ã\1e\17Ãü=ø{ê_\80\18\ 4ªR©)CAµÀÀRXÐ\f\80d_±ë\11bqOû'Û»\8aýº"¿n\14}³n\ 2-=»Q!\18¯n\ 5G`Ý4<\86\ eÅZµ(î\88\8d¢\82Æ\ríD\bÀOIÚ\e·©:6áÎ`\81\1c\15cu\9e6O_ªî8zqÈ\17oó·"q\8b\ 4\1cc\ f©E\83\9751s\12î¥1Î¥\1d\99#hò¨\8bZê#4^YVÞö^Ñ»b{=ü\e\væ_³\91®\81û9\ eè]ÜÔ¹iº\aì\ 6×"àß+    -\87Ôî\ e63x\18É·óü·\92\9a;XØÍè\9c\ 1ôX5\8d\8c±\98e\997ÊÌNÄ\r\9cÄ\93*\7f\84\eñ; ùGè\81\92&t3ÇùYÉ\9f\ eÌ\14ì6\913\9a$àtM6 ]        u!b\87.\8eUÃð»\15­Kð»\8b^\eáx\15ºo\85ä\91Gø^\88äÿ\vÙ"Ïð¾\120¿\ 2Ä*./à¿\1a$x\vö½ÔÁ\13»\99xZ /
+\91\ 3\83%ôS
+Ò^³ Ä\12õ        =\80É=ª\ 2O\16@áIÃ"=vöò\1e>\93|
\87\16ø=/ñ\91ié".Ë
+áÃ\8b\9a\9c¹âR\84`R\84q\ 5Ú0Ø¿\f\0µ\99\91\17\ ejd\f\11\8dÆgKz\19Ñ   sØ]Ü9\8d aI0\85\8dT7\84ª#UU\11Ôª¡Å\1a¨nuQV]T8J¨óÒèø¨ô¿øUw\14d#\ 6\9e\98YtÀs\84\16\9dª<\12\ 1|\19h\11)R\9d\ 2àËéhh*þ£\91¬&r5²\ 3\91­$  ÂN\93ît\8fZH§G\1d°\80Z+¥Ë\9e9*\8az ônÀ\ea\rÒ\97Z\14#N@/\84]¶è.a\b\8f\8a2\10T\e \17\18.\7f\81\ 6Ô\10=é1{\16¯Q\92å\8fß*\85\1d\16\8e\13b Û\8f'¾"½\94\97\9b¡Í;ón@\98õ\8d<\13ÓO\ 4sL\93nD\9eýcMÕé¦êsM\9d·$m\8c\96Ri»=4Ý\8ei\93\93 ±¦îôÓw9¦ÐÛ\18m£íRi¼=4Þ\ ei´¶Æ\93$±¦òôÓy9¦ÔÛ\1cmaoK(di%zów\11ÅpåX[MÁ\9c\16x\11""~     (\87óÊ\13\95\1fÏÂ',?\9c\992\83ù­\86è\11\115ÀÝGó]
+ðþká»\ fæD7qüØ\ 2Â?\9b\10o\ 3ùÞCz\ 4I[¶+Äøø\ f\13¸\10:#?®\97\9ekìLµî\a\93\9eà\b\1d\19\8fíviÜH\19\8a~d¡\ 3¤a9̦\a>\9509ôÄGC߯>\98\96\90{\94.\ 5S\85\80S£6\8f\8bFùf\15ùt\84øhgáú[C\977\1cÍ\12i\1dS1?!\ 1\89î_y\89îGb~\ 6\v\13ÊÁb{\9fäb{\96Í\89ò«±>Y\86'\923\13ò0Ü\9ef'æ\17b~i\86\99\89ù(lNf'æWb\7f\88Ã\13É\99\89ù5X\9f"xPLÑ\a\8f\8f¤'6¯j9ÐNu\84\12Ðd\13\19     \ 4ç\19A9æ\10KI\90Ll$\13â²\82sì \96£ \98èH&]\94\13 a\ 4Þ\rÑ\8fn$\17\ 2â\8eà]I\ 3§3e×\92Ý\15ô¶^ì0¡ì¤ï±D4\9dö¨\81ñÉÔ\13q'ô\83Þ¬\80\8c\9c¹ê\92 :½¡ï\12~\92<IÞ%\8a;\r\97©÷Å u\84ëE\ 4ù\1fm\ 4'ÛA\1c¹Í\91¶ÍØ\8a¡¡¶C\¹ù'y"d!÷\935µ¾\ 3ü¯d\ eÔ\9d±?ý#ﬠvDù^\8b\ eá¯\18\81\9d&{Ô=ÇÅxÉì\ eÖ\903äì÷($|V´\88\92rpç\@í       òýU\9dõÈ\1d\89\8c\7f#\88\11\99û\80!ú­k\82]ÔK]\80ÑÞ9\ 3æ\93ç
+#¢K®»\8d\93G_\b\1dÉ\9eÛô        "w\ 5ý\13È09sô\8f±q³\97=ÙóYPåÏò\9fHC\a.tgÑn\99Ë\9f¦}pT\¹ï      ä<\9cÀ£îHàÈ\1f<\9dÑ\ f+\1câà\88\87\9bÜ )Îl\ 3·'ÌD=MúÔ÷Aõ¾\8fj%\8có\ 5\10\18Û\86 }Bw´½\86N\1cðä\ eø»Ù*Ró0\ 4\r!<\añJàH\1aRi\9fó8\82\aÕ'\83ÿ÷\1cV
+t*táÏ\12\93Â\13î¡*ÇÃL$\9e"_\97©Uù{v+ÞÌÅz¨\f\b\1a²x¨Võd¯\18èNðû\aw\87\92@úÄúârÖ%ZøÛ)e\7f(\81­&»ÑK|£¥¾A\ 3Ç'Ø\13ß\92\93ß\91÷\ f~Y\ 3Ê'\96\84Þ9)½[í\9eõä\ry<ÇêÌÝ\98\ 6f7ì¿æ\10:àÎz3V\9e\97 \1f84KË~Õö\93V\9eaàÓr\b\84~h\ 3¸\ eäPO\9e\9f\ 3\97ºLàÇÐL©ÿÑL©ÿÒ3øK\ 1\19»|\v\ 1\18\ 20\8aÛ+h\81\7f0|ÏQyGÅD%[F\80|Ðí\ 5\ 4úàöEÃj\82GÅF\82\91\91V@>Xh\17R_Æ\96\ 4Ð¥\81?\90"\12üÍÔ\ 3µ\ eÛÕkMè\ 3é\87x\ f _²\0}@ï_ó,à\1dðwïù\96À\r x\ fù\9c\0\ 6\944Ïù\97p\ fª\1e\vþg\ 6\ 1§\ f ÿ3\85\0Ô\a\86ÿ\99s\0ñ\ 3Rÿ\99Ä\80j\83W\ 6\9b\ 3tc0ïÉ\al\93\85\0ñCëlf\94ª!\ 2,¹ÇÚk:Óh\88Ìà\7f\0\7f\f\19ìe\14®À\82jÎmæÓ\17tÆÁ=\16\91{\97ìì\ fú\8b\ 5:-8ÏÐþ-\81Ø\11¾åüHWíÕWñÛ\97õ®\86ÇÅG%þEE¤7\ fô®ÿCý\16m\8b\1c\17þÙ`¿öN\vÿm°_ûq\82ÿÛÄ\17þß`¿÷\86\82ÿÙh/ýÁ{\ fýC\98¦>ëÿPÑåoê8\ 1\8b6iç@\r×í \ 6û$\13\07ÙK\8bc70\ 3}\93þ£\15z7\eú \ 6û'`G\e\98\ 1\90¯Ü*¯êÛ\98\ 1\97CcâªËÀ\rZÜ@\r^ÜÀ\f£lop`\ 6÷p`\ 6´A\80\1aÝ\ 6\0iH0\ 3^`À\r~\83\07\ f\ 6\0\18\ 1¸¯b\0d9\8agò@\f\ f:\0nÃm\00«.Ãï@\fDõuÔ÷0\ 3\10îñ©ªôi¿Ñ\01\ fã\90Dî`\ 6B¿\89U_Çî`\ 6]\r\8f\8a\8f^\0jÞâ\0jþæ\0e\ec|\83\05\9a\f\0Ö\980\ 3oð`\ 6¹A\80\1aõ\ 6\0\18\ 1°\10`\ 6à À\r\83ö \ 6C\98°ß\8e\0j¢Úª\808'DóL\ fÚ\128³/¨Ñ\1f\9f\83 Y\97Õ]\8f\9f\ 6uU-_g\12X\83k\8e2¿ö \91\16eõ5ËèÞsñÄn·>$\99\87\9cü¡²\95J©·¤yÏø\84\8a[\9f«&eç?\16lÞÐÓhæ·p³ô?W7¤÷\97\9f\9bâZ;?\16¯'À³¯p\1d¾ÿ¦ñ­\1f\9b´v\97¿\ 6N󯿳­HþÏ^Ü6uîC\8céy~ßzÔü»¯)'Wåëû\ f£àhåw«f\1f¾·^9\9e7Y\e\etìl=õ\94\9a\9dEg/uêzË\7f#ÖowMv÷\81ñï|ßVêí×hò\19O\a      =\92\98ªÕ§;\ e¦BW\94¾ê<¼ö+?Uu\8d\94mz'/u÷Ö\8e·\1fïº|$k:9\99³®fß\8f\99½v2ÛÞ\9eó\97ºèð8Éé\9f(ÚKå¿ÔqÍ<vu\1dcPÞ\fz¶*\eÁ\8dG"÷gúÄ;©Ç\ 65\1d\93ô\94|?è\7fÐÿ¡ÿCþö¶u\93.ËB\ 5Ò\8b\ eÅÐØú\16¹Õõ6Kë/¹bÈNî}!³÷ÎãU\96çe1²¹i>vÝ\88ÅÛ"&û(«\8dþºO#\7f®¿Ú¨>CËÀ>×Î\1d\9d\1er")4yÉ{°\9aûZèÙæ7_߬byu9\ 3Ç#CB=nÛg^þ\81mbáý½\1etð{¯æ×F®ó\1e\8d\1etãöZe±£ZÖ¼\eýk\Ó£Î\9düº×}\97\12ÝhýÓhó¦]\bÏûýÑ\1aC¯î\90µ\8cOÎ×\ f¥\14þv¹\ 3L¶;\1a\18®â\8fß\9d¬bysºgÌH)²\0¿Âq¡>±Fû¼\82\9aCB-¶o\83Ýí\94Ï¡­ÉsÚ¨}ô»õÞ\17mUSU\b¾¬úã\92Ú$\1dî.\0PϵmQÀkR\ 4SD`\ eÚ°Æ¥ºfÔã\a\ 6]D\82\8b\8dùpS\17¤FzppfÞ  Jð|öW_%;\13j\12?¾)¨Ð\ 1tlP½#v\84\1c\1f\85ß\9bZ\8dÎìú\84D÷w\8bwÔ \8cÃJÛ,8\9d\10ü\8b¨\9f\1d\ 5\8b\ fETÑ\17qú7\1a\11ü¶¢É\17\99,ñô\15ÊÍÜl\1d\9c\96\86\86©Õ\17K÷~hº-\90\9eM\83ç¶îbû\8a\1aÏ8^&Hº\0.g{ø\89\8a¥%¢¡¬ä\v°y¥\16H»!\1fã¼\a\ eÎS;ß·\95\8bÏÑVfËÉ¡q0c¯¿1Õ°\9d[\94ë|7\13¥7\12&K?)`í\vÅ.
+¥h²y\13!XÜî\92*/µ¡ªo&4ü\ 3*3©ºÁ¸9\ 2\99w\8a\90üö\r³²Yë\13bò¼\93j\94a\93.ðz~ë¶ ¯\17\vwmA\13)\8eïùÿ\12µ)\8eÐàüJ°üûë\9c_iâT\87áò\87\85"\9dùRÅUv\vls`]×\1e¬\9dU`¹×y²f\8fúé+\ 6×\14ä¸+GÐ8ù\ 3ù÷Z\a\1dHþ¥´\ e:Qý]4\ e:\12êw³ qÎ\97m\10\8d\ 3\8e`\7fWm\ 3\8c\98þ®ú\a\1f\ 4\7fYO\vø\8a\egZÏ ÔTn@» ÓQd\8b¢\91¥\15d»îHQU8±üÉgåh\9c{±ø
\16\15°\97\91\92Æ\9d\90%$³¶&ò²YÑU¥ØÚú\8aég\15û\9f\15ú&\8f(¸,\18º_(\H\98ãB³\19Ç\e\82]\90ö\15bÍyMÙ*$4ÆxZ`x\9asq\v?IETøñÎÛ§\9d7(º\9a<\8bp\8f\128¼L\89¸\9aÓq\1c\ f\12D¼N8ÜMq\18mÜ       ¸¥Ñ"¸­»ßÅEçè\]\vÃ\96©%S[\v¯N¤°ÉÄ-ïu\8d)'ú½U^\92¤¢§ª\ 4¢à¤H\12 \ 3\ 5`\0\92H\8b^
+\83P`±°Tµm"\85Ð\8a¨d\95@
+Ûr5\0\95\rÚª-âÚ«\8a-ÝØ¹yd\927k!\ 4\92"\8c\ 6ÛQU`·vú1TQ \b\ 4ÿ÷ß\7f÷ªªIB\0\97©\99}\1c¾fnó7\9bÐÞ\8eô3£¼æï7z\99ÍÞ\8eô÷\9dýëï{{\9b×Þþþ\ 5çàkOïïÝd²Ûmßz\96\9b5aÒ\9A9ß-H\\1e\ 3vh\ 6\81\0Ìð\es@7\b\rÂE\ 1nh    p\80÷\ f\0\14,Ð6Å\ 3O¶ûÎiälE\b\99Õ#å\1a\12®;\rd\96¶Ù*Äu\89\1dþÌ[=\82à<áAR;f®\1aÈ\bÕQ£{cÆ»khõÜ\16ÁþprêsAË¿ä\r\92·\ 2Í\1aT\8bw\14ئ\ 65Ì%ñA-o7;\ 5\125î|ôè\17ê éΪõ>ð\83Ṵ̈yÃ7¶5r§Û3ÆØ\9dÿ\12\91Æ\85\14Ô\a¼óXk'®æ-AÖð½ \ 4À '1y\16\83\1fp1æ§\ fYm\1e¦×f\9d\80X..d\82\17\a\v0l2½Ncfj\82ô\ ebòf§p[Y\8c\86ä÷\0¢ZùÆ\88ò$¢>\86\83h¯H½ï1è\83ÕÖ*¿Åâ\88\96p7ø    \80åR= ÙöCg\97,\b4\7f\1fO3ê\9aäoÞ\b\84\8f\9f$>ÿ÷û-Ö\0¯ð\91òDØ}#\86\92]ý%#å\97½Ùvi0\\189~\13±Ó\8cÒÀÁÂFHê\1fmo|<«\9b¬`hÕ\92\ 5¸â\84|:\81\13=`s\97â\1f]Dh=\87¾\95\15íVp\9dÂuª\94G@Ü\83\eÊ\8b\11\ fíð[s\rÅ\9dÖ\92B\9aìhÎU)Ť«Þ\86Ì2\r\8bÊ#4Ü\8a\ 3øÓg\1e\82\84%\14\19\8fNÖBUQ\ 1Îñýáv÷o\ e`|6zf!¤ ä½>\99¡Ò5ñ,\9d?m^\8d¤A\ e\0­!Z§\vI\9d\10P\91ê+δ] ÔrÍ\16c&J¹h\a\9a\83ñ\11M\1cW\93\Áð\0\1eÅá{ãO\14\ eá\8b\86S\85F©&\1a¯ÄÜ\8e\86Ü¿ê\13%t\ 4\¦É566*ÊXûí,n\eÓû\89Xm\99±¶\bj\8fwn\90§|ð÷\95\ 6]ÊXÛDê.@Kp\90\18'N\ 5Ëtªy\ 5ìD\15¶ÀÞ·}\90u=é¿ÄÓï0/æ+½\ 1iÐå\86\1e\93swvæ<s\9dí2ÀþWn1D\b\95®\0      G\94«\bR©½È\83m\9bÉjp¨Ù\97¾=<\99²\16®û\a\ 6\1fÿ
+Gq¦!\81\90z4uÚ¢\bßÐ=Ü"¡¡\16¿\95<g¼"3/Ñ\ 3c7ûDèÅr()l§ª­\9cqñ FÄ$Þx \99À\ 5\90\ 5Da\17¾d}÷Í{Deï(\8e¨nÖìh¢¡\9b( ¬«\9d\ 1ëù\ F^g\9fÔå±n\ 4\v>IâMûî÷[Ç\99ÍÝÍ\8bß\ 1\85\11\v\18p\11Êÿ4L\16\87ñÙ\89Ýõྪ\82­G_\0\94L\ 1!\1c³\80I6\0\14ô\95¸:^ítY$ó»ò÷ó@\80µ3Ø=s\11\r*æÑQÉ^\ 3´^\17¾P\7f%q\0ÅA\1atZ!6jÖ@\ e\0,U\9b\0©³cq8ç\9a\0UóO¶Â;ªH\1a\9cÕé)k\0\9f ¸Ì'\ 2\98\þDÙük\81\e»ÜãÓ®`ë]w\97\9f±¦\9c\18@"ì\9cªp4\92ì\1fÈP§\16­_\1e\9a\8e\81\9aaBiBO\14c\ 2p\194\94\9b"\19\87W\8aI4}Þê\82Å8,!<\1f|.1)Á\90\12Skçù÷\0\19«\80f-Ü\9f÷ñ±Z\8d\9d\1a¿\91ì»czø\bâ%Ùñ\ 4ʾ©\14ÃL¹\0\11EÀÏ'>\ 1y\e'~¡\84òþ\9d\9b ó\9f\9c\ 4Ͳ{\aS\88+Ñï\8fï\83ª~S\86#ï» \ 4\91@ÿ?W\ f}ßp'F\9böÂT\90²\98\97®çs\9c¹ÞÖ
+\88õía\95 ÞºF(\81K×¥¦Ù\17½ÈyN\\11ªyÔk}$3\9cê b\88@sí%Ý\1cá\1dQ\15¥Øe¥Ç÷¹Ðf\ 1C\9a\14Ϥo}8\19\ 1ç¼§ë\8e\ 1¹\15    tÙK\88\11\13;Ùf7\87,\b\8czÅ;\ed®}\ e\ 5óïJÚ\9c½F\19\81\95ÏÈÃ\ fùÛÃ\93ü\10\rN»Ëç\b¦wB\ 4¥\eJ~¿\9eAû(\rP\81\80ÕºZÜ´\82\8c m\99Lá8\0UI\91ki\ 5­^O9S`ý¤\r¶þ\ 5«;\99\10\0*°6ÛÐ|\98ÍiëþAu?`ðÂd\ f¸ß[|SÞÍ\86\89\ 1(c,hlÇy\0F\iÄjÙÓ\96Ò<°ûÔâÛÈ\90#?ö%Q¹\11÷¨N\13\8e\19ÿ²9\9f½l\87Ò¬ýÀí½ÿ\91\8b;ÿñ\15ûÉ\7fé+C\81\1f¯ã\91z?\19cÏæ\1eòI\7fÐóùõ±ë\88í¾ª=q\1d·\9e\8f/x÷ÎF3ÿÃÞ\81¸¤\ 1?ù{ÐçÁ1\10õh\r\80\117¿\vK~ 0\8cm]\10.\18\93[Y\ f|:i\84ÄA³\10©AÍîÒ¬Ì1;2þóâ{êÄ\0\14`#¦#Â@h¶¼Þø\8aÚ$D\ 3ÍwкwS\9eÜ\91<ØZæQBç·Ä      Ü¥ÕòP>k°ïN\83|µèë\17¸\ fºõ£Äåÿ\90?=\a\ 3\9fsÓŤ]Må"\95\1d\18üJEÔ®\ 5\90\r'\97\eÃ+ãԬ!·\112W\16öÜ\vâs\997\r´¿\9c\8c\ 4U¦®¸¨áïF\8f\14\8c;æÑ\8cF\1dÁ4oñ\88û/÷\9e\99ýû?ú¡É2¹ÿ\97ê¹èÿ\91éïíP\rn\1f\85\8a\ 2\88aûT96n\18˲\0\97ÕÚ\9f\9a¦Që[åOÿ×Aµãôxñ¼o\ f`¿Ô\8c¯îö\98\158¼Ë\86\ e\8c\1c|¿I9ûá£\87>9\0\ fã4%>\1f¼§ÿîKF|BùÿÆP \7fJ8·\1e+¿\83áø\91y tø\eÑZf\86öí"ÿ=\ 5"ù       \1füy\9c²ý\86#þ|Uu¸Ë?4\95õ\ fX§{\9c\80\7fÑß\17Åvç \1fý)ÿx³þñçý¬_\aݬ@IÐ\1epÕç6ù\8dñ¦\a\ fÚÑ\93ç\16Ïù\83\96ß½9ù¿k    Ç\84Pb´9È´\85òs \16:ó¦·ã     0\bÜÿ¿µø>L¿ó{\19\¿\97òd;\ fѤ×ÊÆä\eÆzûñ\8e1\v¿Õîv]þJ\1f"º7"&7#:1\0\ f\8c@;ÿÌ\80\ f»\98ËÂÓ'éäÿ§°Ïý®u\1f\1e\17äà~?g9ñâè53¿\ fÞüÞ®\1f¦\8c\83¿ã1Ø?¬Ù\19ýe°¿þ\vó\ fµñ%üYÏ\15×\8bGâæ\97-\83¿à\83÷ÈÙ¥Æñ\99\8aþ\17=ào÷ÚÎó+YåcÿO³\96°îavÑî±qÌ7r\91ßI<?\8f÷}¾0£'×£þ\82\8c\9dÓ\18zYA2Mÿ$Ю\8fÿÅ\19>,õ\9dÓ\1fí\14dâ%ZÙÃýñÅ\198|Ñ\1d'\b¡\1aF6ct\87\93Ò#þÁFN°^+×,ý;\88\1e\95\12ÃdqÓEMé\8fÚ\9c©aå7pÅFâÓôöï\14¡Ý»\ 3\e½;QV\89\156\ fïó\99IWÍ v\186:(û<¦\r\8b\b®\r\1e\18\85#\ 17\86'\80U\\8a\1cA
+G\9e;7\a\94"»a¹½Oµ:T^@ÏJ\80\ ed\87<\1cmi\81\ 4\bÈ\b\851\84\8f@>þoáXYÇÑçó¿p\82j:6\84\15\16û´/\ 4ëlN\0\2o®E\9d®¬Dãø\80\88p÷Ò\ 6¨\8b\13m
+\17\8dÂDZ\9e\1dÆ\b\ 29_]¸*\91³\8fN¶ü*\ 6Ù¸J$ÝOo_ß\92¯Î¹êd\0
+ûå=¡áîUÅ\ 1
+K\fê´?ânÐØ\7f#v\86Â\19»Ca\fÝ¡°þ\ 6í\ f\82\90éø)\94\9d©>Gð(¹|3tç|PÏã\vp¿     ïc\91÷µ*óºjß\93Áìú\1eú\7fÿ\85\vÿ\ 6"¥^÷QM    þò\8c\87#Mºðs_6^\r?CAéwÛ,×YßGº°Ê°Ýêò¼]Eö¨zÙqhÉñ\96\8eÇ 
+õô\1dí߯Y\aÖÊþ¯o=÷rV\ ee\99pGpc&6}\ f\8fèxí.(?\9f-?®î=56|'\15¦Æ6Ì\98tU\7f\83ý
+\16Øx\8eÒèåàÍÚ?ÞkÀè?òkÀè?Ôl¸ÿåªoc\90*\7fo\90þÞ\8aÌ\11\82Ï~\1e})\9f÷ÆÕ6\ 2ż\r\80ºß¿à³BâÓLý\16Ú\7fÄ×\81»9¯\ 3wüMx\1d\ 1Íx\1d\aÔP¶ÔG\ 5Ì\10\ fû»¤£â·®7\8ar\99\ ed\9b\12\96Ò\89N÷µ *¯eä \ 2\88â\7f×KN'íML\82¼À\ 3§Îcd¦ 
+KJ\9d¯\86\ 3\8c»\\83èð\ e«¶*·«Ô\0ÖC¡»±r\86\1aÓ/?±¥ÚOlH©F¥XãY>E°\12\16Y\98'®Mx\95L\8e\8d\9bûñ¡2Â\1auèÁx]ìD<i=\ 5×1ØUØÓï ?|òÆá \e¤oÎ<:«\17\90²âiF^_pÚº\0\ 45ýnH\ 1\14î¨\81Û·X]\19N
+}p¥ªâfpæàÎÉgo¸\8cöHç8èf´»+\8c\81\ 5¾°h¥õhO#Ô\1a<\ 2¾z;0\80¡p\ 1x\19\1f·\92\1eF\eÍ\1d\10\87IÔ[\88'i\ f{MÁ{%Ï\0G\18än\ 3\9e\13<\8e\18.\0\89ÔsCn\84¥:¥R \84vw5\9a:\99\12\11Ñ\18\12y\1dÁ°Ìü\12¼H8ÖóHé\12©ü\v\ 4\rcÏ"\1e\\93\bn\85æ\17ºo´!ÅØ}Õ\17¿\8f\17=$ò?\90$\80!ý¾Á\\8d\b;¬@xN×<Ìò=ªÑ\9f<èÆi\1fM\8cf\92ç\v<\8bà\8c\0)\87ì\8cf¨/£á9©\aØ múÍ\11U\82\ 5ZÞÚ¸<ý"ö\11ã7ÀRgùë\ 1\7f`\fÆÆü[\8bzuÇ\13\ 4<y=\14Sô¶\9d\9c½gx¶\87
+\v\16\vª\94zr\ 4!\f\0ç2£#=\ræT|Y\eâ×â!\99\1ev\19\ e\93\82»#\14µøº\86\v¥Ã T5\15T\98Úp\95I\8dŵå\1dqóOD-~Ú9Øg <\1edÚææ\8fâ$h;ÑNÃOzá¢B/Kw\9a\1e\80ò\84M\8b«g¹\ 3\8eÄß\84nò!ü¬\1f\ eT"6\89å\b\14   &Ï\96\94Ï\8e\(\87ö¥JØB\11\15\942\94\15\ 1\86®\8c\97Øm´ä>\99       ÎBó¦]ý\ 3\14\8fï\17\9crÛ=ËÅFýÓ6dSÞÛX\ 3Dõç  }¸ÿ^D\0\9bß\94A\9ajIä$}á\14ù"\82å\95Ï\a >\809\ 5Õ¸å\8e
+^À·ª¥<@,&©\82åRyÅ\10ûÿKhFz\15¹rÆ\89X\12¬ñ\9aa\vù8vç\1a,\v\0Ó,P !\83\85\r\9b·8ö+\ 5\81¢>8\80(\11ò#̶\96Å\ 52Í`\ 3Ïóô\ eÐÄÔm»\ 6\89\9bvL\13ð\80®çIdGÍÏ X\1fû8\9d%£9¹È\9cÎM\b2W«Ú\91¨Oû Km\1d\0\14Ñ$\ fdlòé÷¬N¯}ôà\85mi÷¬ÒÔ5\1d!(ù+\0CmG5\12Jz\84\\90ÿ,á\1a<Ûº:3Ju\19\12nl\94\8cBNy\91J*g"\19÷\ 1¾ º}\ eMZóÓ\87N]I\83\ 6ÀXιeó\96Byd@Ï
+Uô \14D\11ÃäV4\aÒ>Ü\v\ 1\15ØRâÒ\7f±ÛK\9a#GÇ}T©\8då*ö\ e<ùi\13ò·÷g£Jz\8f]ázW4\80h\ 2ÆeèäH°\96\91\9eKJ±·\88\1aZÛ(TH\0x2üy\15\9dþ\16\8cý¹S#aCEÉ\9aôSrç\16\ exí¡©\8d\12Ç[¨nþ\83\12\rA}>D±f\99æ4\8b\9a,\80\ fö¾\88â¹a\16Õ7\9bûk¥\80µ6µÁº\1c¬\80\13¶L\0ÙÔ{\9cÐ\ 5\1dÙ\9b    se:ÖÙPô\aÆùÚçÃå¹%Y\93h¹=¢\9f´¥\8bÌ7é\9eÁ\96\ f|\85^2õÒ¬¢õ°5ë=¢ùÅvbîO(½©G\8dlN§\96 è\rÏÖÕ\13j^\11\ 2}~åÂÜâ\87\84^0\17\14\8e\8dد¿ èCU\9e\9e&\7f/'KñÄ\e]b\18ÒUä\87\8b¼\83\ 2\fk@k2e'¢*\ 4ëÐöæ\eÁ\18ï^é\vq7×\1d\ 4¹1ÖåRø\81C@x£~\18zØcÀ\f\0\ 4ÙjÝÂêÐ#E3è\ e4.£éÓüìÃ8\ 4u\18àÿZXpù\92\7f\9d\95Ô}\81\0'ÇÒ7D\ 3k\9b¾eAWí'O½\ 4ü\89¸M'wIÏ]h±\86»Ùì|5^Âk¬'Ó°\ 21B\9f°²\ fÍä\17Ê\88Ó$´ÂQ\8a*ydª|aI\1a8\86©@\ f\8e¦,wr\13¤éà\96\v/\8a"\1e\82M\9fa3D\r\15\19Q\a\ 3~kÀ\ eà\196\89Íy´YËK¾èòÍÀV¦_\vÉýXì#[\16\1d<ÙÅðè!¦ü¯\11î\9e\1c\r®ß\0îÿ#Ó\5/ø×·'ÖW_É\0ïQÙ+Ö\eGB³à8ËB¦|\v\13ÊcS      #\118uË\b¡µh\e+\ 3ImÁ|¾ÍÕÔ¹\ f\93èsí\87\1c×qPöúèç´\0\11Àhf½
+\10^ésû\1d\18:\9bX]8t\13Ü\95í0\9a\14r~\18\0\a ºpée4\81¯õ\8f\85Ϧzÿ\91^¿Ñ(ãÑÇ\13C3\9dï\vf\83*\\ 3ÌÖüø\ 3õ\13»ü\ 4\1d\ 2Üxcu÷ô3â\a·iv·1æ\84Ôã\8a½éÀ\a\7f»©Èg\81ÅñÔ\93\ayG£\a\9eK\v,è²\b>@p¢
+\0\14îþÍ\1aÁ\9c\18Ú}CÐjPG\7fÒ¯&\8e(YÒ¯ùe@³t\b\9f\96ç°l\18D\96üØÒ$\1aaü¼@\1e\84åù\9dß}˰\87Â,õ\15Ä\f½·éÆ\88\1d\97\0¼Î\ 2\1fQ\90ð\8b\ex\85=\ 2j¶ò~Î\96QäÕ\98/Ò(-¡\14Gs\8c\11ò­Õ\90X³Õãaäî\19\11æwÇÀÿ¤¾Dzli׿\91mZzÂ$Bâ\82\81\97f\80\ fùÊ´tb=øöº´\1f_\83¼~\b,é µn\9fH¥_\8a\93«D       \97o\92ƦÅö6¡®Üz¤@þÝj5¾\eVÑõú¡¨}i=Z3e\a%«n\13y©*´Cý\81»W.=\12k{¤AW\90³\eL\ 5Ò,±¢*\Mi+t\8dÐ4pÇÍ\95ÈK\ f\10¼\8dÒ!èB\858Ú`×Ò\96\1a$ÅÂqÕ\86\88Áq4ÉW«"K¿\83\13p\1fËë°Ë³\9dÐ<\ 6½«ì\98üõ\rË\80ÎZ\89K;»@Î`M¯ \86ÇÔz!\11+î18²
+ÕSõ£\83M\99Ú9°Ê*Ѩ\1c
+MB-ÅrSÀd\aó=\8eTW\82¹Ú{Ñ \9a°
\7fÔM>\f\0vÓÈ¥Õ\9d}\83±\16à"j@áh\108%eX¥J­Õ6÷\¬F\8cP#Ör\18§î\9f\a\94\7fQ=\95O)Fÿ˺di\87\9c\ 3îi\1d¨z\13d\ 1ë:Aì\1e¨B\ 3Njé\91+³ï.l\83ÕCé*ÙÒ\11-]AãéßH«ì`\8e\1d¬%0i\ 1ä\93,qÏùU\8bï lG\9c{«æ\96\ 5Oc¬ 
+\848\8f\8aqVj:è,M\9bö\14 \9b¤\1c\9b3YJ\15\94rZÔP+&\8eç\e\ 3Ð_Ñe(¡8\r 4Ò¬µ\13ú\10\98/¥Þ}\a\8c\89Ágl\0ûÿ-\83\0{mlÌlÛ\8d\98\\9aÎX\82$å.¿pun\17\a\94"Îþ£¦`\ fZY\ 1>îKQüâZ©Z?þj\8e½\fÆaÞeþmDy£J`äÀK¿ä9A?OðrØ%\11Æ\f(nÌb\16\85å\14F`a@4Áà\96\85MD\\f(uuMV\85è\r\8dhkÏ\94Êónß_Â\84\aE\10È\ 4¢åÀ\ 1"\14ÁS¬Ç\1cyë¸\ 3ðà¦M\9bÀ\a­vÚ>z\9ezQü\85G^Ë7G\94̾DÓ\8b\95M¦Ñ\0-rv;fp-ÒebyS\9ayîÍúTý{6á0\8f\ f\91G)\87¸l6tDÑE#â+~=ª¡ïå{Ø(óf£Êø\83\8eÖÓX¢\18%DÝe\11Á\9b\e
+\81üÿ§\16&ìÆ\94\ 4Ùa<¯=\8a¸C½Ê¼Y#-1aïͽh®&éC\87P¿Oæ\16É\17ý\8f\9b\7f%a4<\0\1f\1ahD\9cZ\99¶b\1eó.\1e2öÓ®ù\83ÈíøO\9c ÷«øp¯`y¬\81ÃQj7\ 3¨cF\85?4Ýü¥GdÏ7GösoÚÔvM2\94}\ 4Ý\12Nÿ}?4Ñ-0\bwZ\8eg1G\98Ì\eE\17\9bö\96\9bÇ\10*3óß©º*®\86=*Ï@\0µZs\16¯M\84ðS       \10-YÑMY¼\85Ü\83S£z\ 5tÞ _ï\vÐë¯ùÔ@\19Ü2ôUè\9c\04¦q»5q­Ô\90AKöS\9a²yªy5êÐUì\8d\94\96¢x@­\ 6\9dÕ\ 3\ 6/¨('¶@\12,ѲÄ\f¾\8f\ e\98\1dE¬#+\ 4îµÎ\9f2M\96À6»À\9b%k-\ 4\a\12î¶Ö>û\1a
+\9d¦\95\8eÏß\85\93@\10\ 3è\aQ\b\18\81:\8d\19\ 3u\88ÌÚGpî?MôÜtÁLä¢è®\10\96\84T«(\98´N\vÄK\ 5\ fñ!vÓ³u"\1fèp\8aXØÛ´å\ 3Yû`ùå4àº\94\84\9dÙ¿X+\9e`$gaM{|8íL1\8e\ 1\11dÌKoy®\8c¡Ú\13ÿÑ\13\824ìKîy°\86\1ee§Ð1Ù\0-9¡\81a\85{?®KOç\ 3\1c|вàP²º\fyiÀÁØ\80K`\ 3\\10(\ 4\81#bÜß»Fb¼`ZØ©±\0¡<\aÈ;C\8a\ 3\ 59\ 5á´\11WýÆ\12´Á\9dgJ$Ñ\1aËG7]\9b5f§\9chþýQ¤@2\13\vÄ)ô\97r\8fïÓ¯\10\7f\1f\fÑ¡¨Yl\ 1\81\14z\7fŦä\86׿BNätUÐ\80\15=ájý@lru#\99~Ôí_\9eÖõç¦\b&Q\9d5ÍKO¨\; (\8fI\8a\86Û§\ 1\ 2 öØ\85ø\11¦ÔUÔ°\81á\90}Ô\ø4\1dçÕSL¯Ø_®\9bÅ\17NÄw\89\v\95áÏ¡\17\9f\99#\93½üÒ]\9e\94\84Û.×\12ÁpjÜjK\85ì\ÑÜr\bD>Gp\9cGL\96íBàñ­?#\ 4¹ø{£¾½2«\15M/Lõ\9a\8dånSBþ\8cKæÚ\9cûshÂ-·\11\86\9bÊS>`0P\96\82Æ\1e  óò\90Ð\9eÙáF­m6Q¹\93ÛJ\94\9fý\97\90[j1\0\11XÍa¢\v\aF°Ë\85\86D;\173X]2AôÐhßç7¤(\9fsÀYÝ\8dV\erá&\ 2\84\ f3\88\13iQ\ 5¶/\10[\a\84\1fï@(ç\82§\96J¾bTz\9ft jN@IððÅl~:Ô\87\9b\ 6\93\10~T«\8d\86\1e\18%Yvm?jïË·ÚèH{\9aø¸s\81½\92\90Âì·¦¿!è\97\8a\9cû0`;Ù¼!!À2h¶¸PÉ}LÃ8w¸¯&~5äÕ\15äù\b{{å¯o \v\80\98\ 5y\15ßòCxyR¼>f\1f\8bxR\8dxyr¼:\92¼!ã\ao\ 6ðúó%x\7f    ^\1fÖL_7íý7\87ôLß^\1fÖG\93+\94+ÃÜðï\r\fè1!Ð\ f<A\8dþL\ 1$üÌ6¢I\10æìã\ 4ÚS\8f2\aÈBî\8d¦é\90ñM\82cÊñf$m*áÌA4ÏÌ\90í\ fr°7õP >\ 5à:ò\80ô\97\80Ï\94\ 6ÑÊï\82ï\9a\93hæòú\9aô\80()=û\80æ&Ì6\1c®\17tW\bÙBà麳\\rK\9e%6yôSoÜ75·L½À\95¦
+ïÐñn\ 4\7fÑp<2¸\13+Õ_vas\9dÖÜNlïM\15~\ 5Æ\1eÕðÏ@\86nôô\blUÊ\93éa»íµK\8b\14·jr$/é`ô\8cÕÆî        Í>Í»Âò!\8e\1cH\98brNÇ\ e:\ 2a®`=¾e¨eÈý\8e4{\ 5\1c\90q\1c|\83NO\8eL8p#qs\ 3±\ f\8c"lº\ 2\9bØ\1aéA\16\a\9b\11pPc\7f¥Í\81æôÄ*o1&³\93¦lkÓs\84=\1d\9b4\16\0ñÓ\80ä\7f\11´Ã0a\ 5ç*\17\13ÐÞ\11\7f\8a\1d\91ÌÎà\8bõ¸\ 3¤q6ªh÷ÂR¨[k0±x¾rÂR¶Àã¶£§\98\8bÁsÿÙ\ 3o\ fîÈ?à@Ûû\8c\906üö\eýd\r¾ \9e/qa\858BuW¦\17\1f-,\187\1eײí$ê7¶\11È0\7f\12:®Jõ¬ \93z\vºECK\814,\86ó\ e*R­\10\0è.Ræ\10Ñ\ 5¼­D\80\v\86E\10Qµ \7f¸GÚéZ\81\8a)d£n|\18¬; ß+J¿lÐ\11vZ²pY\17jc¹Ã\9f\81\9fM\1dQ1À»ßÝ\85¦\0-.î÷×e½p\f[\8d\8d¾\ 47¯oàUQµçqéDÖ\rÕPöÒâ\15-\95ìpâ¥ã§    ðÔâP\1dñW
+;s\8b\rç+\e\86p6É\ 2>\8a¥iPÔ\15í¥Ì\80£êvP\1a·)\ 3H\92\0\1cü\90ä\12à¿S [¤\0×,#ié\a´\83\12\ 2ðkÉ\1e\95~:@7à\97oN"¿\ fëð²t¸2ª\f\ 6ÁR÷s1r§\87Å7*ÿ2´º\ 5 
\ 5CùÀö¸6æ\15Ö­b\18\15p\11aæ­\98æÇ\83)\ fo\16C(\12\1eÒfó\8aÖ¿\0\7fª\99\89À\1f\1a+ÔD¢·ÔO$\1a\8að\0é{\990}\1e\13\19;\96©Wü¸\0ªRpp\ 6\9f\14£\92\99¾\12+g7ÂrÀÆÒ\85÷£¥YÎnÕ\r\ 4\fÜ7\10,mïðF\ 4<Yßu\ e\rÀ2µ®VëÕø\93°¬`#·\15Ó\9aN6#Æ\ fJ½ó\99Â\12Hjè\9cíd<0À\81Ý\8cÓ\9f¼\9a@¢s9¡)\9eNúfRì5ì»:æsRRì\ 3\9e\13Ìÿ>\13þ\19\88\98|n\18|ýË@«³\8b\168µ\98\1crJÒò>P_#i'ü¡¨÷b»\eñÕÌpqÆUþc\83\9e¿Ìpê_C}/ë\17\97åbËïJå]\14\1aIs«\13ÊÌ\90z:î\95fC§\96\10]\a¶J°\ 1\86\8f«D¦ÑìÖÂó·:\93\1e#¬¶.Xw{¶/]Í6\ fGoß{\ 6µÛ\90¹ô6¨Í\8as^\8ajl;½Öñ*ËGj*k7©Ìz=Ù¥×\ fh'þ\a´ dþ\0\b/»­ãµ,\1e§?eJÑí\ 4×¶ö\81K A\8d3ö/\94Q\10\ fh\19Y½N\ fFÌ\Ri¬zðAÅ\996\89ÁcZ\ 6%\118#Á,èå\ 2+\ 2oÆNT×\82ÏEÕ\a=ÐÕ\ fj\95g´ñ\95\86^\15\16º8\82Ç®ÈÒLbpSùæ¶)\82\ fje¹¡\0Gó¬±ÏÚé\r¢O»OuÀzÉ\10â\83\9aP\9c\92\96"æè
+\18\18"rwòí;\1d²°\vÓ£ñ\8b09pép1 
+¼&È\1f]\88#xâ\ 2á\7f\90P /Ïwû\aà\8cnoäVÙÅþbS\9cöè(\8fx\1em4\9f\89ÏípÓd\94\\7fáceôбýÍ\84@\ 4¼uqËX\8eDAÕ¯c\e0$\1c38R¾G\vÁz\bû0\ fWaß\ 3ÎÝß\10\ 3²\8bùÂ.[\8b\17\96\ e\1cX°.\84jþî\a\12,\1c·Ú¶±¢ñÖª§¾[>\9cô¿\a.ãè\1e\ 6+\8dº~\b]7ü[ß­\b¿µÅ\8bÙ\ 4^K\8b\16\ f×Í\/\16\b´o"øü"º\ 1\b\ e\1f 
+\85³\8f\90×s´­\12ÓI\bG\ 2ç~º, |"Ç5Wh\9e\eÏK[jö\v\82.\8bpÚÀ)öØAo\15\ 3\ e\0\97\96®\ fð\165@ç\8f\1a%½6\12¬;À6\86\9e\94\98\aº¸|\ 5L\16ÝX\ frnôD¹9¥Å(s\844©ÚZÕMÿvÏ]Áå2Ø!ç#L\80\10\17w8ùÍ#ùSgÜ"8 ýÊ_\7f½"¯YÓ\12W3J±°\162q\aÜæÎâí'°s\r\1dÁ¦n\ e\1dÐ\90m\ eq\9896C\7fÜ\bç\90\1dÛEnh{·\1erRÏ).pºo\9croÇW\874n&\ 6#yÃàZ\9c,\8bDw®ã\88?h1\a\8b\888lF>mâ\98Ä«4­\12¬ÏÈ\96\9bÜ\a%\13Mèì\\ 3\1f}J¿\97\90®\17WQ¸\96\8b±nA(CÌ\ 4téÒ¹Å\80ú«\1c¦`{©+çK\1dÅsSç\ÑîÞ@Þ \95g·K&¥\90k|6sTlÂws \16H\12cj̹£,¶5RÇãP\95ó\82ko3Ý&NQM,,/d\9f\9a\b\85\81t¡§\8aÒK\106\99Ú\ 6dCS\9d\86\9cúü<\88Ì)\89Æv\84ê¿\ eÔmy\ 3Ú¶QÛ\9cÍ4xm\ 1\1aÀÐ\12AhÄ-
+\8b\96ÈIÙ)­$VJL³\ eר Ä\847h+µ\1a\b\89Í)VG~!\1d*X?\9e\88Í¥\9cxyo3\96\89ÝY:\16"¹^\a˹[t\16ïö\804Ô+µ\1dK£ß\83ì\ e\ e\9aðå9\ 4\ féAn\12t\14\17\ fZkã¿ö\ 6u\7f\7fç\89\8eóÑò\1f¾ÊmF\8b\ 5\1fW@(\8fÁ´¸\83\83\7fI^\95i¤Úà{ý*ü,­6\11ä\17\8a½\83\ f\81\9d\ 1vv\ f8\91Ü\17_(±ú{\99s\90\98õ\92Ðçz ¢dJ½=àÁþÿºÈûö\9cqVGßÄáu\91÷dàL¹ÇípºÈûçå       d}÷î    d}Ô8\8a²>ûa\a\8f\bøn\16Y\1f~;\88\8b#íû\82Y^x\b\85Q«Jâõd}çÜEY\1fqS\98yû¯?ì\ 4`qGÓøn9^\ f§ÿq²ì\89¾ô\88ÑÚ­\10\1c\86Ǿ\ 2Ç7\84\11\86D3\9bÞ\11j#ï\9a¿xK\1a+%\11¹\vj\95í\80黸UKÛ\ 3°Gð»Eí\83ýú\17ÂíW¶¬\vnÝ{`F¹~\16©{nô-¿ öÁ~ëBú¨Â
+9àFÁµ'´\ 3\bG[T{@ÄÝoh{LÈZv§´\ 4¯7[Û\9eÐ?\9fgëuG´\99\vOè=¦$XñJõ}z²½S^¦¯Qר+Óµé¨\96,ÿ  \84J\87\fãÓ\8a+²\ f\82\1c\93\87\87        \9f¼\1dó¦\18\ôÕM«ÿßZ\ 1Íà9VÔÞ¿\1f\12¥ð\ 3ñ~\rU´ýü\ 1=\94\19¦±\90\8bQ\10þ~«\81\81
+!ýú/e\r­\9d¨I^î\a~\f\93ý\85Ð\98>f\80µ³\91Á\ 4=\9d82L0\8a¸«X[\9f\96ôC\13j\84¨Î¹\97\rõP?\1cà\8b\91õÝöȶNØ\r¬\1eÐAöí\82»É\12\vØ`Æï%òVàß\93º|\96Ü?]\1eJ\929\ 6\ f³\19 ß\9a}E\92Ð\87ê\8069ÂêI\95Ô«+©\94½º\9e\19î \a¥>¦þ½0\13\1fþ\ 5\ 3d@Ï\0ÜbË\8d\87@"6z«:È\84«/@\eß/\9b\9eh\1a¦\a©KQ¶Ì<vÔ±fû\ 1\ 3\82ÚÊLpCÛ²9Ð|^Z\1d\rø±\84Í&\91\83î´ýH?ÜQ·à\19ô»æÇ\95\89ÑWË\824\8eZ\ 4v®'àZ³\82ÛîD»¡Á?\ f\8a\8fx\1dK\bqcê\9bw\83\1dZO®\82B\1fR\96ZF\94m\87*T\ 2fq\17²kà\ 5\ 1cú*8Ì\aÅ»\v'ͰU\9b\94ª\91äÛ­\0\16²À\7fQëÂÖíú0-]\²\81¶ó ¶Ù\8dUðV¢rRpò"XW\ 1¨\8fän\bé    \b(\81ûSÕ³\16Czæþ³_GõêºS\88Ýï+ó\9cå5\90)\16\ 1$\91dEd°<x7à\1cÁ=º\87!9Ä\12\açMG\9a¹ÊêÚ\v.\8f\ 4n>\ 4Ny~\8da\1d\191Øê£\83\91{Þ®|po\ f«\9f¶-]ëS°ø\7f\88\16ü\b(ûÉ/Nú\99?ñ§sßÝNùãS¾qá(>xtîu*Ä}!ø­§\1e{RSZ\81Ð=\0ÉG9\9d)Z¢zmï*%\9c1\1d¾\e×`
+ Õï\0λ¬
+#fÁ±g\8f@\16+<\ eãQ(Yó\9eW×^Êó®fþ8r¾\90ejkÀ[\1d\ 6\81\98\14\8dÀG}´\1eÐö\15\ezàè\12UÔG.ê¼\97ï¯y²\eäÞB\e\aY\1as\87Å\8cÞ\99ÙpñGªE\87ÉýGÜm\13\8d\92\¶)<\86   ¼ÍVî\91Ë\9a)\9aê
+~.zýÀ\94/r\rß/¤\8bá
\1a¤ÁÎ\93dXÑÈ\9f³¯_ \r¨\87âêE\94È\1a×\99\19¨²\9eg\84Êu@\87'\87\8f]\14á¡a\aÄy¾Ë\ 6\80\97@ìUg\ 2Ý\a\83\8a4\ 6å\16\843gþÚ\1ecPÛjX\19¡0,=¸\14Ô°?6\16ÁÓæ \95d\9bm@ÂêW\a6 -e¢jX\9f\9b\11`\1cØ\80\r\ f1|ã^\ 2¢Í¼qAÈ     ´xÈ\1e\82ó»\18äÔ¶\81îa\19m\ ftµÆºZpºJX¥¬ó¯®g@µÌ=-\14$ßgN\f«Oî\9c+#¶\8b\9eÐt\ró¤~\8e@Ï9\90?\86.\8cx´¹OØSu´\10¨Ò¡\81bÍ5\19ßÓ\82\98\a@TEêßVt¬c\96Úª\1dªr®\0\ eæï¹Î¾¹s\9d@^\91ùÀG\9d\ 2N\ 1´?\\ 1kQ |H×\82\1c\8bq"\88~\ 2ôl\86`?ß\ fL0\93q8\88{VRúV©\1d {Vk¥pÁôx\9fY{\94UÀ®\f[I\88i\8a\81ç±·\95,`:\13¿\1fT\19\ 5×\ 2Ê+W¢\93\12$\\1dR0\7fC\14¼J¿V\11\8dîy\ 3N¹2ÔüÔ\b³µ»w\9a§\92\ 4Êõ\91ü­E|þà5n\87Sï¾'í¤n«3¨,÷\95\ 3l\1f\0\17s\94KZ\8e°\8fãõ\83RHW\v\£D÷%\13â\fKEâ@,;ĺ»\80î\91Ç5\f¨\80·Èè¡Æ l4~"BÜT\82g\91\a#òË\aFÞ÷,\1ei¬\°A    7\9b!0Æð²K¥\11Â5ú2Ó9F³\1c\ 6\16S@¿\86\0\1fÁ>Ç\8fç\10?\9e@\7f-\87\8c\87\89\v\10þ§sÈ+F\f\9bS\0¬°Zß\95ê\bèËh÷QH*\1cäM\86\ f\ 1#ünL>=Ð#@Pr¥È÷\ 3\82ö\979Ãh\ 2\a\\86(Æ&\v\f·§`\8e\96Nz\89Dzá\ 6]Ìí\94ªÝ\8a>¨ûáÙ=&¦¸9\82×y&\f\83øäîµÈ?û\ 6Ô}w®5Ár%¢Ûï\8fQ(ÚæÊ\85Kõ±¡d\84drW\ 6Q\1d\9d\ ec\9b~\8a¿\ 40h=\ f\89Æ©\v\bDu\90ÖÌKjhûμ\83·\18¤}\92Yp~\HÂ!\}\8fÎm\ eÂD\0\0ÂÛ\89ø\8dW©&Zcã4\87ñ \83ϧ\8cë@\7fLGZ\ 3Ù\9f¦_\8d#ÛîaÈéþ\99\1d¼I\1e\98dwYFh(\88zi\86þB\ 5¤¼\14EXÓ\87\16e\e¦H\ 4\e¨(÷­"÷Så\91\7fô\93Îñö\8a·|q×\9c«ûF\8br¯ö\r/9Wå;Ï\94ï,S¾Ú$î(¿/á
+øº\ 50¢É)\15\17!ê+\86å\16\90Ö¯O¤=\818|9#{Þ\9c½ \r\83wvS¸§þ\83½6!õ§\1d\ e!ãl\0Í
+§T\80mÙ5b\80\87 \8f}\aû\9b¯TÐ\91\8aFOý\8eL\1e:Âq\aÍBúÝØ\0x«Üî,¿ÚB\0ò\9a\r\ e\96\97?\9eê_Kâs\98©|lÜÞ2\R«°%3Ý\ e\82\97§}\9fÐuÜI>C\8b'â8\87¶¬\985BP~\90}ta\aG\13ºï\8cB\19ã\10eù6\8c$éo\81Nÿ\11\ 6í\9cÌïðï\1f\1d±Û\84ïi\1d¡F\93\85uøÇÚ\rnî¾\97êl\8d|>ï?û\88G\1f\19km\80)3×ǰÁ>\8ea\82΢Ã\ 5\8ffG\12þÛêOó\7føýñð\9f\18\16\v\ 5Nq\88J\1aÀ\9aß\8eÄ\7fú\8e\11Åwà\90 ´\18\1fßPø÷¿é\ 5\94üs\ 2·\eá`åÎL¢û¯ÝÈà|Û\8f^\87óQëú\8fÇ\99ø½hÆp\ e7xoÆïfÿ¬ä\1e\9fvqê\9f¯?í\81È'>\fÿ¹Ãþó'ý¹<\9f}\84½ £úµ®9ííÏûß\1f÷*qëï\8f\99â\93/ºÓ\8f_\7f\8a7Ð+ßK;Ëë~îúßݾ\9fþÛë\7frúßǾ\9fÆú\8a\ ew\e½©ÿ2\14
+¿¾ï\91ã\1f}\98ÝôWÿVÐY|`ß̾\eY2úþ\1e×ëÿß_þ\19\18\85¾ýÚ4\9d\9fï³3>\93&LÉ\99$\99\f\88@À$R\80¬\84-¤".d\98\ 6@\ 1\89"£FÐH\12\8b\1fzÄ3\0\10)\91\81\\99\97+\ 1j·ÊÛ\ 1=Uñ¾T\16\84\eU\90\8d\b\0jÁV°\16·æÇ\9e\ 5®¤\0\fýÿÿû÷ßffdÀ\ 4\ 5®­­¶»¼¾õÝÞo7}Îo¹în÷7\9cÞ\87·¡¼÷7£½-ç\7fw¿¿À\ fv÷£¿Àßu7¥¼ïýJ\ 6²ImÖ9²O  á<\7fñ\19\978T }Þ·\98&\93h\89°MÇûDÒ\96hP×hÚÁ~Wë1ØÞ 7½ò\96¿\82Hë»e\aL\ 5Q\88*ìª|
+OâÉæª\ eF\9dÂ\15O\8a<\956Bõ&{F4<×SÏ\ 5K\b*W²Ø¹\8cµ\15-1ÕóõÚ ª\e®\14\8af§EHÞ\8aqk\13µ\92\97õ*%&UÉË-\93ì\17\1d¥\88QAÊ\16÷R(*¯k\1eWÒ×gji:|\9d.²S$zµª¥/\9c·ª\82= ÂJ\ 3ú%ê´[\16©Q#î(\8aÛ/\ 5µRÙõ¹\9aöñõÚ\94c\12ùµ;þQ£(q¤\99#Lz²ÅM   \15tJ\96©þȧY(Ð\9aTø_çdU\97Y`5\
+d ë,*\ f\87CÖ[z\18:ËY\96¤¤¢:Y¼xUpίèK©e\a\ e³\14\12[áTûÑ\97¼É   Ú\16eO_\19Ú\13cÂI\92Z`*\çW¯F+
+\97V°*|K\ 3ÂS£fºQ¤pl¸ïßðMÁÿ\87\ 2Ì\92z\94ÿÛ\82YÁäÝ\11¹Õô*áq\8a¯\9bÔ\ eêr',9&e$Þyz\89E§­<ã\96ñV©\87\9dÃ\fåÊ%$\r\9c\1e×N\11¹\rïÃ\90Þþ\ f\ 4úhÜ\13èfaðO¦\ e        ù\18ìµ%5\11Õÿ<¼\85\15ÿg\ 4\85j\ eb®7\ 4\88\8c\8b)©ihå\1aÇ,      \9b\99\ e!G\1d)"zܤ\8d\96°\1c¼|\8fô)9l\90åôR=r\90ü;\86\19xbq[9jáËæäsäË\918 i\85¼\13\96­\1c¥ët\87-\90\18\97#ïÄ·ØQ-ò\14KÍB\89\89eàIJÐbYA\89q\87Ktqùj`â7E\1d\ 6\1c¬ ñ+ª\ f\1c½Wc\97ê³ÝUUcÊÇ\99\9aîÌU\1d\9eû4ý\88h\1e«A\9fÌ9Z°\0Ê´\ 6ª®«2G(3Ó\91Ð\8efD3\1dSÕ@\bj¾I-Q\83PxQ\85\96÷\1d}\85eMKäµö5nh\9aûÉ\1e\96¾çe\9b\1fÌô\vÎþï@¾³©çÕ#²HÁ^i¤8Vü\94õÐd?\e\96\9e=l)\ f.<µ"A\84`\96Ã\8f.?á´HAdÓÄX.\96\96Z\80»»\17v\89ßêÝ£6i¦\1f'c©ðàÍ>6êý\14\19¤mÕ¥ÇuX²2\9a\88\8cÔÑ¥\19\18-\rè\ f\ 1×      R½(\9ck\1a\91}\ 1ë:\93\96\ 3¦R\88õËÁýGKLÐè<\19A\8ew\90Ç9EÈsÞ1¬GBÎÖu!À.\ eTé²\89\1cd\ ec\8fi\v\82#\8a9̱Ë\1cQ\13Æ[\1aN      Mè\94\9d\93ÅôÔ¯skUÒÑý\f]Wc\9bËÕ9Ë\93n>«++\9bZ×?Õ\13*\9b\17\91¤YKMK9'\1e´x\19gC0\19s\19n\8e\96\8aNUk\19\7f»\9fj»æxØß·âÜUe:éúP\84Â\ fÌKc\99\83\8d\93\81èö¥jº&Ô\93\84\8d¨èÛÎ\ 4lO9Òy¬'\9e\18\9ek\89ç<³¥#g&\17z\r\abÁô\19+UâÁú9K1a\0\ eRâeOWüÝMuwf\11(;\83"t\1d\82Å\86\aXdO\ 3¦©lsÀ\93\87\1d¬©¯\93Ôö}Z\8a¥«RaÒ\ eøàz\1d:S\82]\ 6m{\83ÍéЯÉ+®\87¼·f]ýd      ÃkS¢\rA(;H>Aá\95vMvÎ\1dXð6\15Po5ªNÊ´\ 6pÔí}\19a\85»î42Xa\99Å\85\88õÒ\17̰Å\14\18alz9\v    \f\83@kÇYRÇ$Ò\16ß.(çG`¹ß÷l\17;\ f`¹ß\97\8c=\82çM°\ïëØ.w\99°\ê[\ 5ÎÁØ.v\ eÁs¿×°\ï\e`¹Ô¶\v\9dK`¹Ðͯǥ°[cøû\ 5ÎÂØ,\9ckK«F)l\e:\8eªÕ£\90yv\ e\9d\rP|{\aNÁØ9¡¡\96\89l\1c\94\1c\89\12ì\1d:\1aôÖT\82Uÿí\9d÷sÿÇ'\91Æ}\8b¿\v&¢¿\ 1éíéãÚÜ3:îÅ\9f)*ÿ{wëê?£÷\14°?íJ¿ñÅ\ e60æ@ªS\18s\14ù)Z8Ä"×È9À^:áÏ\8e9\rjcvpÁ+צ½\7f\89%%\87õ9tSl~oÊ`¥àPÊ\7fý0RðYï\ 4çhÇä0RðüPÚÔÞ|įX\ 4<\80|W&ìÞ|įXTl\80rpÑóæ.'Á_u_.blw\97ù\f\14¾\r^\fh\9d¬¥\8dD÷q7\96\1a{\95¸\9a´)k(÷r¨ÖQ×±$Ä\1aA8\ 2nÁi
+hz²¢\1aì\8e~gßî\14\r^BÐ)\84\9dðzoÜ\9e\15\1f\96\0÷v\15z0<\10\99XuyäLÙ~lÔ¢)Ä?<\924f&ú`-$\99"6\810¡ëÔ¡w%\18}ÃÆYa½\14\0äðÌ`@\ f®,\ 4dÁô÷\0\ e\10\97\ eq,6\ 3J%£²ºcerx\16\9b\9bf\e\vo´ÚÞë\7fÀm\89Üç\14ñlD­Ö\18l-1;6\18ÛV\e\rÓlM£f\147\ f\15>¼ãÝÔ*$?á\94\83D\87
\e\10\11\9a«©2£\7fö\92\86G\ 4Ý0Ù\ 5ªí@\ eW\8crD\19Ä\1eu3Xá¤\82!ÞJA\13F¨ ®&]Ké
+@\ 4]ëG+
+W1×]>\9aÇBL±¦\1eã¸c!\9d&pÓ\ eº\ 1©\99\86¡   9\10¡\94\10{ϳ&\9d\e?qÅqeù\96Vo4´\16¿U\80VðÁ\b¹Ys¥ ´ÑÇmcÕ\9dÆ+Q6&"%p\ 6C\9ah\9b\15\aâ´ð\bÖ·añF\91\90\88Ú{'Qþé5ZÅÊà\87\1fysZ\\1d£É\17§\81ÌÕµÃ@È?\9b½\93'\10«9*öT\ eç¹\87\8c\0´RÖ\87\13-\7fÎïQØÞºM\18<[¥\9a¾ÚPàÛà\14PàÜà\14\81ï\11\ 1ë¶Î\96\958\a¶Fìáë\1f ³ vè6höØ\12\ 4édÑ£à¶\93Km=)¶ÓÄIÄ3áø§\83Íäê§\15\\96 ßiW»\80M)\94Ò\9d\9cÊM\9dÁâÀ&Ù\12\1dÚ.\11¡æ$ï#|\b\vÀw$â8!\f\8d\98  F\98\838\87`TlÆ\11\81M8LÔ¿ì\12'\9f_OÃ\84\91\84\0ZÓ1\83 \19\18Ð\ 2\87d°L"VË\b\85)Q+w2Q ®x\vì\1c\vÄ2^ßyôu\968T¡\r|\94HCp\88 ×N(Cò\94\89\96·\1aK\94i^`£\8djd¢S!@0*4\12FÒîÑßj!\82N\7fI$\88\9cNÁ¯Ç»Åbd\8bT<s%=¶Cî\ 5YH\r\19íâ§²%@uý~\1a&\90'Y7¹\ e¿½dݺó\15¬úð\rSòé\ 4\b\9aÎ\r4ÿ\a\90~~´A\97Á\7f\87Ã\8b*\83õ5\8c)UçVb´\81\aiWÖb´\ 3\90¯\rct§ÁQ\11'\ 6U
+;£\ fæ\83¥Ø\89\9d8R¬\84¯§\12×Á5\81Èר\ 3¾\9aø¨÷mºI       d¤®\r|MCú\ f\97\87ý]\10<$Ü\r\ 5³¥\98\89\96@       \17\80a\b\9b]åØlýð\13\bºÿ\18®×RHX\94pów@sTX¾Ã,\ 3\ee-\850äØRܧ'·3Ããì)Ý.\8b°£åùb0ÏÌô¤ñt®\82ÙÊä2e¤8çWE\9b;^:AB\91tM7ú\ 4×.«\87xidI\ 6
+\9d\ 1\88öÕC½\a\86\9a\C$[\9d\96s.O\eë\r8$u¶\87\88ÒAû\0\8b%w\8a\ fÆ\ 2g\0¡Ö\89\13\ 4rTNB¼¡½Iø¤cl'çH\94´Öø\91v\13\12Aw\85°\9b\82Ò\8cÇLÜ2Î\9aØ\90Xn«Ù\16\vô\85¿s\13H\1dLX?pPà\9díJ\16h]\14H'\ 4\883\92h.âÉ6q`;\84=K°\13¾ "\91å\17@\82ûß­\8d$x\85&\rÜw"HÚ­¼\92/\8fó\0\8fX\9aó§CAm´ûÿÌ:bï\bÖ \9c\99¦aË3\85Ï\8e\0SWÏx+¶9\90"}÷«Àþ\9a^\1eR ø?H2e»É\90þ1\96ðI\87\v\11Û\80b\88¹\97ÄÛ:\94y3\8c\ 6y\9cpøÑ\ 1\14\ fóà&Ï\8bùðýUqfé^&ÙÎ\8bÄ\ eIø;|Nß<Áã üdc´<>5mP%þø\1fª¹]ØvÁÕ\ 1\1fÀ(äHð\83ñ\93\17Ý/\vOFB\ eÒá¯\7fÆW\13ËÎ\16Þ\1c\84]{½^\a)jôðZ=¼^\1f××^\1fª\16\1eèrûY\b5x\ 1N=Ö{5ER\9dn\901H>õ\12\10OU·#x5â"\1d¯8\83&ànÖ\196®S\94³=¤\84\ e Ö\ 5¡QªFGßÂn\87ÆËíÊ\ f\93G\87ÆÓm\9f[Uî÷Ì\18\13A\9d©On\87T §\8b.F6Õ| ª¡gï\95|\ 1ª¡ËUð\ 6ª\88º¯\80\15\1awPH\9d\864\18\ 6\13ÙS__Ȳ\12q×4V?¬\93\1a\18ôW*5\15§çÊ@ú%!u\ 5òk"S3pe¥ÑlGi+@\b\88çÛ\94\88\1f\9cRX6\b\9e
+\90\8c\8d \85W\ 6\89c\1fXɸ\ 2\88|ÆÕ¼Õ2I¸\f\83é\99p%\rg\7f\7f¶,ùÕ\98s}E\ 1\8b\8a\ fKùNÙ`\vÖ\8\89mJ\8cõ*ò"fÔC»¾\93(\90zè¿eôÊ9\16¬O24\a©0a\9f\0spí\ fíãÄR\eµ%ò\ 2A\889\r±BÉ\97éGÁ\ fh\92kp\ 1»®öbõ\87V\90w\9d¢\1c7?åF\9d\9bU\95ÿÐûÅ÷ÿ     {eê?¨½²éÿ¬½²ð1\vÛ.f!{eïʳíðQ/l½ì3¶\19?Ú)m\87Z\95É\95å\97¶^·õ\17¶_}\b½²Ï÷ËÛ.²ð½²í¿Ö^Ùwÿé/l±ªÇ\87âÓ\ 4<C*\87V¿qQ¯À    \8e±BM±\87¦ âº5\10Ý\14\88\ 2ì(­\1a\ 34^\88Ð\85øäQ\ 5Y\81\ f\95ñ$Æ   ©Í5\8b\9d\94@Àû2q»\81\80:.\ 1\83Ç÷ª\1d`6L\ 4OÒÌ\83@\ 3ä\9dP\b3\9e1\ e;ÎD\ 6ü8°\ìp\8a)é º\7fß\ 5\82\1a.>\bæ\11þ\83£_ò\80Ó>\15\ 2\8e\19©\95\81\1fol\80¡ÖÐ\ 2\1dzqÕÀ¨\13.\19}hâÁ\97\7f\8dÝõòÝþ4\ 3\9e;   Áq·Þ\80¢GÙoc\9c?s~'\vþ)2ÙÕúà;êWL\8b\ 1\0E\7f>´ ³Ïªq\ 3Ì\11RâuëÐ{Yéz\rÖ~Qöè®<i\{ìÿæã¡\1a£VþÌfQàºxô\ 1?AOh\80~I¸\ 4@´2\ 5ÓFg\91ÐÙõÃW¼\10$xÐ%\15\1f-\0þ<p\ 1\96\9c{U»[¨æ¾ï\9e×\ 1µz îîÌî9\ 3Q¢i\1aïLe§âe©ñ\a\86\>W\99Æ\8dæÅÌ\rÇÍé\92ü\9en\8dÊã÷éÜhÓdøÅ^\97 s,É<ðñàUév1\ 5ã/áU{Æk\ 2%·Ü+ù\vj¯á\13\81ÿ\84|Ûù\83açò\97µ\98ÑBï-ËÚÎå\8e\81^®å·\84¾O+ÅïuµÑ³ðÇOOáq-g\9b}\fNW1\8c§Ìõ\19\9cÏU\99ä\b9\7fø   ¹\1cn¨¼jx\9atr´èõ\7f¦\8fWÿ\e!çÏ
+ÑÞ\1då\ f\8bó\ 2,;Ê\92\18ùëv\7fk\ 6¯y\8cwîzÊt¾\8d§Ô§õ£ÚÝÕ\9dwsWÊìk÷Z-W¡Ø|¢¸_û;\14<~ÂÏ\1f±gÉ\15Çyª¿ÿ
+ã¸\ 2Ã\8b^ ºÛ\ fh\9fí\10®z¿ïW/åÝ\99h\8fýÝ\875Se\97í&þ%røY";\9ep¾Î\9b\9esàì9×\a×Ï83\8e¯7\9f3°F\ 1\92èïFQ Sw£ø;\ eabï²úR­¤òú_\81\¿Þ\9bEv&óä\988\18Wýô1\vC<NÎ<£-¶"\9a\a\96Ð\80?ËGÏm\90÷/e\18Z=   C\14\15\rWô:\10\15F²¢ÉðÁ\97éßG/\9bТ\89\rb\87\9d{\16)]      \8fÛ\f½\86\816Åb3pô\ 6\15)ëi\94¬=\9a\13Í\ 5¬?\1dÐ\82{ÉaÑÇ      õû\91\8fÉ3\e:BE¾\10\14\14°6Å\7f\86Fz»Pt\85\8c\98à ¶¹ê´\bËß\9cY{àh\r/B1)_×\91õ¡Ð\0ªï\89\fò2Òh\ 6\ 6-<\8a(Y¸\83\ 4«»û¸\85\a±P\1f^èÁ®\98\1c\8f@\89Ì\8127Ã]9\9eÜl½T]$\8b·ùð\10Dvc\97t\19}¨¢©×ÀÏ¥¦Öf®r"TÏiE\9c.¿ã\8b0\f63=© \82Æ>Ï^!}[,t\82°~N½.ÈhõÎÞd\11êÃí\97¤\11\f,\vî\rÆçù]sÿ¹$`\9eH7GÂý\9f¼ë\9f\88\8bÇèX\18:\8bL\r[<\f÷*\ré\18E\83vùîL\eØ\96\r\ 2mÕ?ÀåÁ4÷\90Ocy\ 4½\b#×ZX#\9e\1cÜÝüHØÖq\ f1\99²;\ 4XvKc\b\14üSß\ fD?\f|dv-ñJ)áÍZ8­\9c¨­Í©Ú5?îÏ@\81nMr\9f\9e\v\1aÌ\ 2BR\86Àº÷üî\8c!}þz\ f&\vÖ[t\89\ 4Ð\8a²\93,¡»üh\90Mh!?-\80í\10\17¢\ fúGÿ:.²8úä\95\86$sOn\ 4\9bÁ\ 5W[\è6*³}¹@\bw\ fÁËêý£\15\14È\83üy7&áq @{l\86úT¢\95\8eé-\9fJ\1a\9f\ e
+­ºëf°À\9a\bï [Ä\ fÁØ\81\ 1æÑÂBÁ}ã\9b@¬ÜV\81w\f\86\81\16æÞÛ\88ä\ fn\88\ 3¸m\ e\rèd\1et±â¸1à\8f/º'R%£)Ô\89wÐ-øéW=r\84'À@j<\82¨ÌuÎ@V`É6HÏ2XW¿s\17\80\ 3\81D¿¥×\17)\v\1d\97¬P    »ø]6\1c\86\ e !]e!5   ú6\18ý\1aXD?F\90)\9d2\9dmÿ\18ý\12\ 4ø¬\0#\r/ôE\b®¸Î\15\89#\1fÌ\8a\1fÁEá\a\ 4T\8fµPÅHø\93\87ÉÎÅ\9c,`÷{õ\19Ð\14\riaÙ·N\19s\93\10Å\89\9aÁ\13¸¡k\ 6\12\b\87X0»\9cè\86±\90\17JHÂí Âóá\ 5þ\ 1&\12åüèeÜ3ý\90¿ò\8c/|¼\85ðQE6üÖ\1fò\91Åc\86\90\f\ e\a\e|áHb/\0bí4~\90?\14Â\ 6üs\ 4Ñ3ö^\11SvX[éTþ\ 1ù"\94è\fXl\\99eÕ=\0M\83\97\0~xzè¬4*\eàn_m_ôñÕ\rè?+ïÆÃìØ\8a¨U¾p\ 2\9b"ÉÿF \f\83\ 5=w>FK+¥Àé\10\ 3aéF\aUê?Çp²\14öbaÄ%b\10\8en}ø\90\12ñq1ëMR\16ÃÅÞ\1fà\1f\83\14m:Q"Æîõ!ß\9bÕ\88wöQ¿¢&êà\10$H\85áÉIçÔÅJ\96!\87sZ\ 1´/[á\98+ûÌ\19õÀ\19ÆÈU\15\ f\7f\9a\11\99\ 3kû0GAÛB\fàö\1f\ 5ïr!ÐM~D2¬\89¦`\14Ó÷ù \byÁ³\15~Ç<Q«]eÎB\f­\vhPC\15i\ e\82\ 1çuÅÚÎØ\9aÌ\ 6¿p½~=\91N\9aïqU\a®FWz\15E\16\86Ø\0\1ev%yÿ/7\ 4\1d\ 2Hâú­!ö\ 6»\93\ 6TT\15\9cø~Áã\1e§®\9cbCê9¸\8b9ò Å:ê 
+ó¸E\9eÓQZ~,®ÿ\9c2\89\7flÒ*ÓÅÝâ˼:\9eºÑ
+RÛA\bûÆ&:qôx(cZE\1e\97\a     \ 6
+¤_Iî¤\84\ 6Áp\92B\15Eqèx\10\uü·\1fÑàÁqê¹n?½        Çêó ~\1c\17\1dÏ-Ç\8báAq¢«b=a§\90\a\93+õô)\r/p\8ad&È\16\81­ßã½¶ïè}¤<¦H\85¡ÑBç\18ÁÐäý\95qL}ßjV      ¢ÃOær \94a<hJ*¢<«Q\ e\8aÁZ\932^Y¿\0\98\13w\80,»USP{I\9dÍö.¢§\12\80ê×g
+þD\95¸É¬É¢ÏÙÇùeQ\1d>AP·aØ\8f\84å\88â\9d÷Rq\12\10\9aP\96\92¢¹º\181\9a¸±\9cG7Ô\82æ?ô9»\9f\0È>\99\ f\92\9fÛb< \a\e#\f5®h;\7f\1c'n`®ÐRú\80d6\19ÛÛÂvþ\ 4]¨j×\0jGí\0Yiÿ\88\v3\1f\90;\8a\1cà}\93½HÉã%\80\f0x\9f9!Í?íX#e¾<\18ÄÙ¡äó\ 6\9aß\82ÃcºñCéò\aÞV½B\0\9f2nÃaØ\87q\86ÃéÔTT?t¡¶ý\v.
+\90%\92ë$/Ê­ß«ÔØï\15ª±o\84±l¦Ý\0þøbGÒ¤?$xÙÂ\9eÉ\17ÎÿØ\a¬W\9e\12ÑNÝ÷\96\87\88W\99èk\8aóû\1f­çõ\8aó\91CH\19\1eZ\18Áò\Ñíº\151æ=\13¡ôü[!Ù\ 1\94køïÄB\r±\ 4y¯B\8e<³[P\8cPûË4Õ÷¦\9f5\1fÇ\e\9e\18CÜ'ÊLÝØ3÷6üV¯}\86ï\9aOX÷lÌ,;úm³ &\89 ûCV\8e|ç.1l6\ e\89àÐ\994\98
+\17êä\e*Ù¹æì·rÅ!\8emâç\14ûz:{*:{P!\8e9\82\90Ç\eÕË\e<p°K/V³\10\f\83æWb*\16\93<\ 1       \u Hæò¹\10ï¤Yà\8b\9cQ\17\18l\ 1qqsFûè1£}×\87mY×\×aÃ$\81¡\90²¹`!\í°¡ZR\8fST9\8b,®e\84¼\8b\0<ëß[\ 13   QÙ{
+hÄ\86\10;*5^Uj¹;©\87\1d»\87Û\90\bÀ'\16_\99H\e9ú¯ÂùrÊÕݰ\ f}CW{N\18zp@³\1f{K£\12¼Î\13ÔF5\bw\9d\0®ÇØ+ 4h2\ 6\9eÑ\18ü\v@\82\9eÝìy"×\84\8bp¢Y\88\80\15~\16ñ\9d\8e\15mÊR\ 4¸çêðdÑ3Æ\ e mD*\9eu\19
+       \9fI\999°1£¬Ù´6\84ôþß\14\ 2»f\1e\89´þ¡¬~c0ô BNÛ¶}ä%¬yë\12¦\93ù\82¼6Õï\ 2\r\99´ïúÑM\ 4\ 1\97Q>³ÀÙPY9\9a\14ëh\1dì\8c\90\r·Ø\7fó1×u¢\11=uýil¡Þl­×ÇËûðmÆõ¢£ìÕæÁ;+|\9báÀZR#ïÔ\ 3d×Z\ 1\92Õ\1c\e\8a\v\87\18\13Ð3Þ\8dDÿÍÜ\80Ï`b\?çmE1\15\bo.~\16\e\15\81\rÈѾ\96ô\90\9f\bÞA\0ü\99\93GZ¯Ò\ e8oÀ+Ûçç\1dyþúmFp§ØWðOùøSþ§õOðü\9b+®©,ÿ©,ÿúiOý 6ãjF\7f\87ó9X\93ü\1cèMTó'üº3üm\10ÄÝïéò'ýIgýOû'øtsçÊw\bB7Ý\92!\ fÖo8¨zÝa!L2\e\9e°f`~Æ¥ïV9À\14Ò×|n±\13}Û­?yP\ 2µ¾W/\7fQ\19\18NHmÏGî\9e\1fý`\149¿\14ß\8e\83ÜÐ\ 4\82çuP\89Ü_:ë
+vÐõ\ 5\11\1aËÙb\8c±Yzj\84MùW%ÖEQ\ f¾_Ð\89J¸é\8a\98¢:\1fÓ\ 1¶ü\9f¯\a\99\8d\9c\94ø\14\99riêT]]AVº2\84\7fLÍ@7\89`ÿ·|\7f´!äx¼?c×\80F\93³\13h"<H\9a\9dòÿ4JUXù\8bá\8eô\11û,\91MÔ`÷
+\97Ùæ\81'~R_7Øæ\84Ý9°L¢\9bõ[½\ eV)4\89àJc\ e5]Y%Mî\19¿\94æú°³~ò0´\99Ê?SÒ£1Ä\91Êêý\9dñDa\8b_{\12´\1c(zWmh\98þ\ 5% µ\80{n    þÞ?DZ\ 3hA
+\v\99H³!¬\9c\15ºH*\80ª¯e ¨¬\13N\87ÓM\14ßÂ{\99®ð¤¿       \94pdt>\b¯å\10\9fÙG\15~@HxDº¶¾\8f4\92J£a&Û   næÿYÁÃ\892Çs\99¡&\17¼ú\18\92¥ÿoÙ¡\17\14\v¯\9c!\ 1°\ 1yÑ?Ò\ 18\9eV¶[t΢}²×Qõ\rÃ0-%y3dj+zE \1a\92=ÔCÓXPÍõÙ\9f\94ÄüÞA?\85}&e\13øWä¼ò\90S\9dÿ\18ªëÿæ\84·°\98ý\14%¿µ1ý4%º\99\8fôP\96þ#µïÜJÄ;^ùY\8f\90í{Â\85Gê³\87B£ôÙáQìJFpw\12¦öÖ\80yYÁ¡Që\8anÀ¯Jä¬\95åP¨êYþ\9a\15\1f\ f¶·\9d\95æP¨è\99Å¡Q\81H«ü\14*9\8eE
+\8fwzÿI\8c·ÿq\85½üÎ$\10\87
+7L\rîè\ 2BPä\ 2Ãb\8eN¾Ñ\ffhÙh\b\aeó_X\84âL½b,°\87c¬?\9ddÞ/×âЧý<Ì:\17_eý´.½Ff\1d\v®\8bøPºõÚd5Â\13Ú÷\r«=U\r\86 ý\82³øèYaüîãþ\14,»ª\7f\92\85\97µ§ø(Yij¼h\8f c;C\93¯v\87kN\8d\12L,ÏXÑ ^îPv\93/ñ¢ÊZoÅ-8ö]Äð\89A9Ð6e.å»úEZºc\14YH\17î¼\0\8apõb(/«\ f\1cý_4Ýêµ\88¶6«¹á       \1a\93\8b\8c\ 3\13°\ré.³ó(EÖñZÇ_{Á\81«\ؾ©\8d_×6E|±\93æµ\96\8aõhå¢'èæ\98¶¬µ\81=¸n÷lÞ}\90\ 5fk\9c^AüÏ\ 1\81\83ÓNgÀ\12»\95³ñÀDö\80(Úd_,lù[:Õs÷R\ f\8e\10Úµ[7\106`\10ì¶W*qïÕ³o>Å×\9b\ 4ÁÏa\99¼}ä_\93F/\0\99\8b,_¥\974^ïþq~¥\81¢úÔ¦ÿÔF/®þؽ\1d\8cÐ\ 3\1c\93{l'ñ¾O'P!\ eäÄj)\1dz$_\9f5ÅÓm\9d)\¡"/àåÑGßpk,g\rE\1e|°´Qår;[¥{ÿ?\ 3µ(NIèÖrÈ®ÿ\93\ 5«4\17Ñr ¹ÏÙ\ 5ûM\84\ 1Þ\ 5µ\1e4[\1a\82@ñÕ\eÿ>£\ 3µa±\18+o\1fÇ\92Ü©ÆH,\ 3 Ä²cSðB:^L#äü\1a\1a\12¥\8f÷§[xÿߣ|) ¸þT\17w\1dûà¼9 °8Ô\1eD\17þND\16Õ\13þ{ñ\ 3§HN5hsDÙ·Ä\v5\ e\8as3ÌB?\8cÄ[K\7f½â^\ f\93¸\1aÉÒÄ\1a
+aèG{\9d\0>\f\89è\ fòÍE34N\1c\0f
+ow%l\1aV\98-ÿ +ÎzZû\11\1dÞ$7\83\11ÝÅCÎ.X\ 4\16§Þ\ 6ê7\926\8a\89ÇvqÖ%R"1&C\8aÅ\85\1fHº×0y?ëàl\82Î2¡Ø\9e\ 3¹È_eÀ\18/\98ûuQ\9a~pN\90)×ò°\13~\90\8cÁ¥&\82ßãq/¼à¤Cc\ 6\96\112\1f2T6\e\0\94Ø=e T\ 6J\8a[\93\ 4É¢/\19 â¹(n1\ 2V\9f\84pDã\17EÄ'\19Ðè+¢ë\1e1\ e\ 44\84\8dT#\1d\1ctµÉ&¦È¦\19(\ 3Êdå¨\84×­\85É\1a
+HÌ`¬æ\91²$´¨îÁ¤{\88 Fkbâ\83­Þ¨¾\85ò\84ø\9e,\9c7\98lwXº\vW2M\80E©¤\9b        ü\ 5]G\a\9a\82C;\8a\17êÿ\b\ fÉóm\91Ö;~)%l\vVÌ66u\9bÎ\ej»Q'\8b\1cel´\84\8d¸:@~qÈ㬵Q=cBFX\9e\81»\0)\92!µ¹E#Y\10ô\14]\92\v×\93C§ªÚ\86\98·!ìì\81gQYÂW\9cü\9c\93~G'\12\1eh\11\1fW\0\14\84ôö\8eg\98lYSÒ\85CüN*õ\93ªPëYeq\14töÈvakïÙ\ 2\95Ä\8c\84\az¢ë\9fC8>ÕSð\94 }ª8\80\8e²åaùâÂ4§`\13\87êå8Â\b.\8eúîñARZ\80Õï´\1d\ 29\9f\18jPX®ÚPzÞ\ 2kh\84\81\80]\8d¤\1f^\90\ 2Áíº\8f@\a\7f\82¶<¶\90)[º\b\ 5ä\1f\18'[À\92\eöÛ+p#C¹\97¬\82´&\80X\8e׬¯aY>\ 3\Ì@
+\89*êö\80  \9eذ<?\8a\ 1\ 2gFððÿ\1f¹ËN\ 3\84¸'*Üð\98Òn¾L8\15}\11\86\80¦Õ\1fýU\0­o\ 1\7f¿\12X\1dB\842@C(\90\0ëè\ 2xx&P\ 5$Ñ_8\11\12e\bÝÀ´(\ 2K\13HH¤öP\93ØIçKÇ¿\98#\82\0­nüR\9cz'\94ðÿ\1f¤\ 3\87\93\0³5\0ÑÄx\7f<\13+hlÿ(UsoóâqW\9dðee¿$×\11r\87\81x"\ 5Y3Ú\ f²öéC¯më' \ fH¼B@ à\ 3si@-w\83Ö^\8b\12\9aè\ 5R\8e7V5-;ä\1f²\98\93\12êÞ&ÝsÛ\8c\8e\13fN\7f¸çë¥\ 3\9eúǪ\e\13zRn6Mõà\r³\ 3~UjqÙÏN\11/\r\93\9e¶©\1e\9f)\1f\9dë\17TÆô#ϲþu\86ô"k\16#èD\ 2¡s/¢Ñ}Ïûý\b\96\15Õì.^±ÕM\18"~Ýï,[¾±wÁjë\bHM\93ãùÀõ!Ö\80¹ñ\ 5\våãU×R\80©×b\fÏZ®x\7f\8cÁ\15I\9a[³°-\ 1Þ¨¾_x¾Yî\1c1å/\r©Û\91Õä\ 5\80{#k\90<Ì_Ï\ 5a3Ȧ­\98Ý\8eÌkT\91\8djÿ{ñ\117\9d\10ý\a\16\1f\ e\80\97å\a\1f©È\b¨ÿÚ\9aß
+l\9c\92³¤°ñçIa\96Õ\14ù\9e×\1d%\9c\86\10tñÂa\bÿ©8ÿ\f\9aÿé\98\1d+\87\92:WR`\85ë\13ç\ 3\98#\e3¥TK\94ùÀù\85a~æ8ëÖdó¯TÊνaÕ\1cP\83¿å\8b+ÿú\85\96]\19f)ç?¤Tó\9cdߺ'Í\87ɧ%Ä"\13{Êr\9fùÓ¹ÿ   ¸!¹\84J\8dü\9c¾e:?þÙå§³ñÅ\9f\8f3\12\9f\1fû\8dÁ¿á-\ e¾Lëä\8b1ütx}Ø\10r\98õ«¥%f¦ð_3 \85\8cdkãÏà¤\9f9£0È\89ÞSàïg`Îí\14w
+.TÅ\1f©\8aL%âs_\960Énô&sß>7?^\8b\9dGÄçÏ¢çSñ9ô\b¹ÿ\82mánWeô´öìñßm·Øñ{Ϲ9i\1a \97úL.\8e2\15®1ó\83ƦbÆB\8eƦ`Ʀ\83ÿ\85C.×ëøþO¶£èäv_Íælr\12AþdåLB\1c\7f\ 3õ\8a\12\12¸\qÀi
+væ\ 1:\1fYqm\ 4{sZ\ 4ð³\14óJKoh%\8dù³T;;\80C·a_Ó\vbfÄÀ'\83`oó"`"Ññ\88O.XÛA41\r\97áLDêý\ 1¢ºBüÖ¼4¹pµ\8f \15;`\eÚ@\1d'!e\10\0*\89¯\8a ÂóF\80é\rhGÀ©«Gi%E"\ f\84xéÄwTÃh ?ò0\f\97O\ eH²/(b\1d_ß"QßjJA¬èÃù:Zn\95Å\1e;\1ez¼Å=v£SÙö\9fgµî\95^Lø\89üs
+°~_\f\95¨c÷¯âS¹èÍñT\0\ eÌÿ½\9c\ 1\15w|S|U2tÊ\89\953*¦cï§_\8e¿)¿*1\11f3ÂÎañ\10!\10´\9bHZ\1f¢¡lջܿU\98§Ìæú¾²¦»Qo·Ün|ßÅqs»Þzµú­^³Z¬øè÷u}\85e\86ËÄûâC\vr\vXÉÊJË2\97½3\98æ¯wÉ\9bíù¥ÿ\ 1\81æùÌ/;Ïsø~\82¸t\ 5Ûy\vÚ¶¡¢nã\1d\8f¦ézcÀbÒú\0\8e\8f=_\91cd\ 6´a\85è\15ðø\9cTd»Qo\ 6â5\92\1fè\1a\95\ f\b¼b0k\9a\9bæùÎ\86\93¤<Ì뺠    YI67©vR×;³ÕÀ¡¢$QÓÜn½\ fFðj\86áÜz@Ó¹\85_]¡\85«\9d!\98º¿\17\85=q\9bòæoHQ¥\8d¤ä\fßnfô\88\95¨×\84þÐÍ÷<fõ\11\eü\1f\9b\19½LFû\1e3z¨°ù\9bÒ!­©\92Ö-®\11\93æoHS¥\8doëýÃ7ï\8cß+
\94\194\8eQK\v\8d?ÍÈ_\ 4\1e3z\88\8dçq\9bÔÄoßq\9bÕDocy£ôê¬iá<'\84ð\9e\13ÂxO     á<'\84ð\9e\13ÂxO      á<'\84ð\9e\13ÂxO      á<'\84ð\9e\13ÂxO      á<'\84ð\9e\13ÂxO      á<'\84ð\9e\13ÂxO      á<'\84ð\9e\13ÂxO      á<'\84ð\9e\13ÂxO      á<'\84ð\9e\13ÂxO      á<'\84ñÿL\ 1äS¨\v\ 1Ò6\ 3"FÈ,\ 6Wÿì
+X$\9a\ 1\ 3C\9e×[\9bÖ×kl5·:Ð\1dð\9b¾ý\9f\80[=\86'\9c\17_\94\12À1\ 1¡}\ 3¼\9f\ 1Þý\ 3¼\97cªgª\ 1¡\87\ 1¡\83\ 1ß\a\ 1ß\ 3ðuV\1a«}UÁF\867þæ½\96\1fmzñï´\1eÃ5¢ÑRz³í»/Z£§ÎnpxÞ\8dd{^öúuÝu÷\95`}ð\vÜ\17á-\7f×`}ÿ]\81ÁS\18oDÂÀ髾ÿ\8d\9a?\ 4\8a\82&»§¬Uû¬Ñø$^ÿëf\8fìf\7f¼hi÷È\92f¼¯Åf\8fÀi\7fÂä&57\9fù¯\81\1f?\84Õ6Ýß\v\a»¾|\ 3CO\836\80Ú\9bÏôü%o\8b\ f\80\8f6ôt\e\16xúµ´p6mÕZ\ 1\8d{o¨\9f«\ 2WWd\ 3\89FSëH\9b\ 4°T\8d\95hæYÄ9ñ±\1c\16¢W\9d¹\97Dõ«Àpîèß;\e\1e¸\8aþB¯d\ 2°è+Í®yÀì(6ölöå¹¶tt\15Å_£m\ 4û*¡\9f\80\8bv\e
+½¸ÜjlWb*´\9f=\86ÁH\1c\91\v\ 1PG\ 1Ìwp¤s\97WX
+:˹WR/«|Ñ\16º92\8a\91Ú«\18\14À\1e\88ëý\11"þ²:u\85\88··]À\94V\ 1\8bT8\ 4Z·F[´Ï'z\83ðE\87â\96¼V\0ÿ!É\e×»óY:rü'Û\9dg\fÚlsÅ\10;gçõ¥V$¿\96\82m2¿A\r\89Iy\13@bJû&H«Xåà®\ e\9fÅ\8dô\1cÚKwÖ\88®E³ÐmðÎ\vz+~ôHmt×@n~%ÏkÓí\82î\9aA1q{G7²\87MRBõÚÝû[ë\8a\vVÌ1v6v\ 1\bÙòÆQÝÅf]\ 3\8a.ͯ¸/wM\9dð0Yèk
+.\85ß
+\ 3\90¾\12\1e£$\87søÄÁÎ\1aC£ÑÍ4\ 2\8d\1epýp\12éÆà?\9f\13ß\14VèÔ(­ëT\1fÇ\1d\1c\aB/\ 6y\17ÖíÞÚ\94^\ e[½²u\86ñ
+/\a\96®çà9\9bo\88P\ 4\9cïF\ 2ðy¡S\ 1Íù\86Ų¡(ò!\17\83ËP\17~hBðyf"Ó±·Å¿l}Cz\ 6ʳ³\ 1¸BÀ\ f\19ÖÕªòbü\81³\v\85mùj1u«²p\8dPm\11(\rìeÍcæç >yì¨1y#!\82)|bõbBTÝDz6pÖ\82·D±«Í\12ä\0hi\1e*@\12Æ\9bJ%2Ï(\94XtÂBR´R$ÝÌ>\15ç\0ìI\9c|öÝ\12Á¡«Ý\82f*FÒ´ÌG±\12\13_\e ^óÍ0°\95\8fÁ³\b\96·à\aý]h\8eÿ(\Y²fYW\86`\YÏ$Wa\8c¼¢»Á|\83 öá\e~ýx}'g÷\8c\8a\81Áñ÷oì\98`e\99     \14\8eQ5\11UÈÌ\8aºS\14¼¤¢\ 1¡\94|É Üw\1c{W
+¼ô\14\8e\82lõçë\94!\89)VWèdß2Pcã\1a#\84
+ºÝ\ f\1cWq\f±\ 3%-\vÁÎËv²n\ 4)îH¯6b@<\9c¼º}à*Àag»\f3\9f\80`%o«½\91$Eà¸\90¯\14\88¼"{
+\1doDf\8bâÜð°\10Ò\9f\1c\ f Ät\94Q\8b\a|x|+'â    \82pc¾²"À0"àÚ"\14\82\ 5\81l$c\86O-È®ÊìÄH\ 6\0È\81å\vz\8a«\91²\9e¦%\1fo)&Gù        «ûà\ fC\ 3ÀFÈ\9eÐÀ\12Â;»Y       î%&\17\9bCy\11\94Â_óY³Å\94\90ü¥²¸ú      BÞϧpÎm\97A<ôÆ\fU°-òÅ\11\19Ø\86º÷»F\93³ýöffI\86\98I$ 0\18\ 4\0H\ 5\0\16È`,ø2\ 6a2\ 4\10D\15µ;Fâ4ZÎÉ\98\0¨²\18©2|emkmmÛ|[×µ[{{R/T\0\82B\ 1j@*QZ\8a\16¶ü8\8f\b
+\19ûûÿ÷ï³3 D\1aÑvÖÖï|½Ýß7w|Þ\ eîï\13x=ãw\81¾y¼\rï\ 3}\ 3ï mó\9f»ÀÞ\ax\9bæï -âw\85¾\81ÊpÛkm·[dãǶ\8d²H\87\8eéÖÜP\\e\rü+@?\91,O\81ß\897\1c¾¸     \8d->\1aêéP¶
+æÏZN¯\9fÔT <\11XWPÌø\ ew^É\WÈ;í\bÝ\9dcGÒZ¢\ e"Õôò\8ab{l\9cÚÅ,\95C¿%\92~Sh#'쾸j\80\9f;ÕY\82\ 5I\1föÀ\9d\84=iÌ\1e´ûEw}zÖ)        Cáû:9ûZ\96 º>±ü\v¤AúË¢áö\82\ fZ ÿ=6*4\85~ö{\12Sìªs\f\9aÍK!b\14ÕѺªÑÌþøÒ\13E\9eæ:Û|VG©lJÄãs\1a©À\83æ§À*Ð\\9f­â\95\9eý\v\83\90\93/̨\f\15"\ 2%\84¢ï\8bóÛøß5\18öéË\93
+;¤°¼©³s¸\7f\86\11\16x5F\13g\12×H;Ö\9bH³Å\ 4îȯBÛE»+>\ eã\87\ 4ؤ\aâ®jøt@'¯åÁ76þ6q\9b¢\8cO\e7\91=F±?\e\14ë÷¢\ 4\b»aæ½a¶§\12\16n#&E>*ÏÉ\8c"¬:\8d\14\89\7fòâ*âÿjæÛEò)ì\17&¢òç@÷ûQÊ\91\ 3V|Rh-wÆ7ûZýê\\b˨í¢o\1a°Ù§   ã wD\1fÞÔ\9b§\v¤\8e\1dC\85-7
+\88\8fvo\1cþãÔ(ð¬\9dªweÑY\ eà\8a~Ú'Ç\ e\91]\88$\9f@\93u,DÜS\8euÐÀöOD\1f»"\e\7fü~«Äe!v\ e<l\83<\8a\18¯=]Ê\1c}\995\8dC©nQ\ 6Î\82TÚ¯â\ 5\8f¾ß¸ï
+\f[}\ 2\1f\9eÍ;L«ñ\9dR\9a\8f\90Ýq\ 6ë\837Z\13u\9f7W\ 6êÍÎÖ\ 6\86Êj.\8eÊï\15ý\93HµvMbõ¶N"çì\9bÅê¬\9bEÎÙ0\8bÔböQsvSqs0wÓ\ féMJbM×\9e7[éºÞdÔ\8c5\94Ä_\89dÆ-\1d5\8eÖ.\ 6É\9c\94¼[å\95Ú-êÊf,õ\92ø³VS\91fkø\9cr\90ý+)Ø«ì¥\9d)\90Á©Ñк±Ú+\8bBâ{Æ-oÙF²-ú\99\7f¢®æ\öÿ        \90-û6;B\81xöQ\95âðÖ_\\9eâ2\83e\ 4rx(Ôº±\84Ô\våÎ\ fêéøe\83>¤ \ 5þ¾.qlÈl­[ ÉÂî#U\ 5¯³Ð·\8f\91\97¦û\1c\ 6ð'\1dÃ)W»OR¸æ)ýK\88²ö°G¤DìÃ
+zµÒ\15ZØþ\93;ïÁ)\18\12\1e\10*\ 5ý^ \1f
+ºÕè\90\12%wRy¥ ¾U<\93B\ eæØ|K\99\üK\8a9\86Çcæ.¡Ó1\8fñ.\1f\14\9dy2Ùí~.S)ëù3+eB®Ò^Ü?\97Ö\ e=\17\16ÿ_KDï\15\96\81=_¤cE\9aþ*È\r«ô\8cè³?#­\80!\ 6K]a,\bîÃôF\8d©]"0ÿ²¾\9eÓôÇ\84\0½9H\9aS¸Ô2\94Æ:½±Ï\ 4Ô¯\8ch.\93û²[ò\13¹6²\96\9a²~ø?4²¼äÎúNB>4è\1dÃ\ 6\1d·(à²ÍH,2ÓH\90\13Öò®/º\81. Ó\94,±F3\7f\e\8eW\95û¾º\15\8d\87%\9dûòNôº¿\84è\9bæQP½9Eçe\86\113\8cö?©+\1féDw¿Éß\1dÃëèG+\ eÇúåLÏ\ 3µ~\92¹a[äsY·KAüù\18F\ 5L\1cè\8a®nUÂÆ,kr\89\13½,ôF³Î'\18¬ñ|\8b\17îº$\7f½©Ü\8c¹àýöÕ\9c\7f\9eî\90\10\98}\13T#\bSP^!àë&8\99Õ¨Ï4|\1c\ 4SÃÔõGEÁæÁr\81ã\9b\8dY߯\82ó`=\9a§èß±|ëÛTP÷$9oNy\11É\93óÕÚ?ÂhpnáãðäÀ\b²lT¼Xå\869\8aã?AÑ*P\1e·\ eoyS{Õ\9e\8dÌ\81íò\ f\e\18Í·õæ\11ÎÂÓÕñ\16U\9d²9ÖÈ\84>rÒ\f&f*ÏÞ\89\15\7f\bý{\8a\²\D\90»\15ý­\9c\ fÎo,4ù)\95¿û\1e.ÿéEVw\9b·Á"aõ+H\98\7f\ 1\9föH\98\7fð\1fdÿöç\81s,ÿÇÏ\ 2ø2ÿèç\81\7föÁæx2ò¹Þ\1e\96^W;ÃêN\9aPûÙds¼1"\88ò9Þ\1e\饣\14z\12¢[Ýçxsrÿ»\9dáÝ¥äs¼?cÞ\83Ìÿ\8e[\91ÎðÄ\88÷\7fª\ f\96þ¾w\87ÿ\89\16×¼ñ¿æ\8b4ÂokUsùÑ\19¬p\91ÏB\ 3a\rIâÝãùÛëx\ 1\85Ü4ï\96ô5ÿ\v£gÓ](ó>H÷\8bæ![yPqïot÷Zù#Ò¾W.;ê¥,*¶\7f¾&'ÊQÿ~å\8fó\136¿1
+Óü.P/ß\918ùZDu\90\9bºÜ§      Ã~B\8f\7fÝ Ù\17¬\9dôµh6EëBõ¬ü¿#\93Ñÿ,¿"\17©P]\8fç[J\95ޣζ\94ÉÒ\14v½ád\99>ÕnTf\83©fÆ=\8f\89_\9e\12 t\ eTÐå0)\11·NA·\ 3`t'\90ØQ\16\91\87¤¼\90\9cP\1d\9d\89gMà¡\12'÷\o\ 5tt(\8aÆJ\90\95ºQ-ݹr´l     àÖLy\14][Î%]ì\ f\7fù\ e¼º\99?Ï÷>ú\88ɺÔdÝj1î¹sÝ×.\vºBz÷HQ\1eêDÑÿ¶%iÿlKsZÓÿëË¢ù­Â\9f\9bû\9bûÿ)E\\88Ä\a\7fqß³ð'ü\f\1f\81Ià;ð3~\a)(°ûÔôëÄOs\88\84Á\1d\9fuâËf#iiû¿\1faüÛ\1d\17\e¦¼}Yzlv\15+\8a,/»®§¯¾Zå\89@\97îþÎCæþ+ý&Sèû=\86îÞ»/ò\97éõ\1a|L   \8f2ïõ2Ë\1a²_*\8fÿÊ\ 4¾ºôyã?,üó?Á@\97\88ø¿ÿ¶I\9fÖÞ\8fgõׯ\81@\97\89;\91\f\8d\1düÍs?\0C\9dûáù»'{|÷õÌäæ\11ð\888\ 6øNZ\81/\90âoÂÒ?"Ö½Ä{\ e\9a\85ì/²\89\ 3\16ß`\88°o÷¦ëà\9b®¤Ýufêáè1¼
+2Û\94xçx5\97^\8d\12ßR0X!¨\166[#\9e½\1cµ¦vLÝÆA`õQ·ÎÁ\1dÙ;à\90K\97\85D[I\89âÜÔ\93ëIdÔiÙ\ 6Í6ÐH\1ei\12\82Ökz\8f\1cù\97$ Z\88ð43\9eÁ\1dìrù\fd\90À Nò\81\10\999bÜâ®\90XwÞÂÁ½¥9¨`     óÉb\8dö¸\8dF\87[\11\9c\86ÒȱWõh4\1d\8c6NÃðæX±\1aFH\11Q\Cüw" »Øº\88\82åÅÝG&§¸\8eeB\92ÚÈãÁ\94èY:§qÜOÄïI\7f\90Gr\93ÀÊ\8f\94o\10g!Y\14\94\96û\ 2Ô\88\8bùvû+\96Ô@Êc\ 2´]\aQ¨(Õ,/òo\ 2U\aOȤ<ì\ 4t\85ÂT\85¥û\91Hv]4\9a3ùð\12\88£;kª3\r&\8c®ÀG\83K%F;äÑ\9aR)\92nPÑ_tß\14ð8Ã)\80\91cÀ¨w9ô\ 3s2$\8b\ 1°\81\89\92X¬ÔËU\ 2Æ\96
+BÔñãÓ\9bØ]}Qõ&\19øò
\v\1c°\90Ö2\82þù<Þ´cxX\14=S¸:BÅÓ\9fX\17Ò\94\vʤ9ðÊû\a\86H>IR¬¼\ 2$/\9bTA\8b²[\8cdd\84*\96º\95Yìè£Ï\1a\8dõ§Xô¢#\9cFªÍ¢ÚÄ`èëè\90Ñv*÷Ý    R:\7f\ 6UzA`\84Ó\9e\r\\9eÇaéä/l½ÑA\ 3Íð\8e\17r5O|å\12\e}-Ø ã­ERË×)|xóüI\ fýJ\82&z\v5òÈ=÷v\8eþõ\1däkð-Iüh\9a²ÚÁ²I+\98Ö7^D=@æQÿ\ 6E=D\9fÆ#ÈIXüáEØÂ;ud´ß\ 2\16§!n!]8ågªpu\82\11\91!\0\ 4ë\897%zÀÈJÂíÖ\90\7fñ\ 1gáøYÔ\13¹\1c\e"+\17\9d¿\86\8cð´LÉÀF\1c\8fñ\9c²\17,n\17!óø{Àd_FôNT3Ão      úÞ\18\80®\9d{gPûFoTüÎ\81\17otçc\ 1°kõs¥%c\12Ñt@¡};x¦V\91_\8a\a#ãÆö\eê§\9e©º\83êb_å`ú\8c\1fô0x«\9fà_R»^þi¾ª\99{èY\10Q\16r+ß0\89\16\80@Hdz\f\9fC\18o>¯\9f9\10@\8b4ùÔ.Ç\8enÇ1eßBÐqßB£&Ú\89íLV\9b!ÍD²½\93Y\18\80½\85 \9eoª³\8dfL\99efñ>î\15DÉìr\rª÷a[E{S\rôØ8Ç$®ÖÈ$­Ô+\yäm\88'L\16ÄHÜã2­jò\1d:ðn(\1d§fî¿`EA\14\11\ 4\88=m\16\rq]1¿m÷xç-|\16e~NÏ>PYµä-    °dî\ 1ºÓTC\80·\90óYó\9f\1fÓ]Ctl.Ȱ@CzÁs¸y&\8f!eHÌiÓ\1aûE"na_\r\9aë´Æ¥\8e\94=\95·:÷,©¾¤\91$\8c\8dO\ 6JÄiFæÅûÁ\1aíXÛ7q¶G.bê\85ÊÞ3pz\ 6÷\14\10úhåÏc¬óÏ\1e¬\1a\9b/6eɳQl\95Þ\16Á\92<\86õ^Ãë\8a\ 1¯Æ\v\80ç0T½\0>¥pxÌ«%\8e\ç ¹c½SØ\ 4k#AÂ\98¨\87A\815\17ÎÍ\93à¬dl>\9cÏÇ©Êö·s§ûpÛ±\ 5\80*tÜ\16j\f¡!þ/\84k\89\92W6èݨÄö&j\99ç\16À\1aÖXÖ¢réð®:î{\ 4\ f\ 4ÎE\ fáÇ¡í\11\14i]µxç\87\11\81\8c\fs¾Û\7f\ 2_Z\v¤\14\lªz¶Uf¢\14ð\8d\1aåY¾Q˦¼\\90¦æõ¸R.\9cm\84>ÏTI®\14\¤ª\8fG*£\80'ú¬5ª=ù=f0²ÖH£Iâó\9eÍ\15ù%C\8c&<P\92ÅTß\8aøßMNxz©Ó\9aýºÒu1Ò\rp\a-Çß|\ 5\v\8c¾\e\8dÇñGùÊyöúmI\13µDômà÷åáyVßMõKÃ
+º<\81\ 6\87\82\ 6l>\94\8aö\95\98Ùª6\ eÙ\1c\87\9b\9b\0¯Tv·\82r.)ì\ 2x=Öp\8b\12\16\1eõ2³êú\fÖöY8ÛG\99í£×<
+ÆnØD7~\85°'\9e\90mhE¼V[\95¿A>Äõì\ 2ø^.\98l\15Þ0ý\rõMjÁ\90$9\e»Å7ív\b,êÄgüi;Á\93\95þEê\8c¿\90¡F|ï|]ÝÁÍræÉQþÉzî'å"\85¡\87\9a}\ 6ãø«e\8dÛØh±\94\9dàÊNÿ
+û £¬;\88´B\85?\8d\1eÈ£S*7¦ÑK\17³4        KÀ)\18\9cí\81Wx¿)\15þyÜ+Þ\10\95g\95ï\9c7r=Ù×p°Ó\82\v'ÂÀ2\b´\v\13Ò¦±î\vÝ\9a=f\ 6\19WNR\1f\88\12\82\1fq`±\9dæó\ e\93#õÑÙâ\8a\9añ&,\93¾ñ\9c¬å\9f>3\92\968:Lè\92ø\98\12\88\8cÙ\14\8eå\136JÄôoT\b\1a\14\9a¯QÙ¼£Û»\87A°<eËL.ziò'Å\89³w ÛÍ×èØ\84¹\93\ 2v¿FÌG\ø\ru\83\9fÖ\912E\8b/«B\86:S©
+ÊiäMâ÷\91¶b
+\87\12¾\ 15Késµ&¨\8fX[©\10\92l~R\eÛ;\82h\vÄTì\1e¬P~ÃW1x\rT\18\90\fiÜéA\8bL¶ubO5:y\ eÇ+\95ûf \ 2å#ë\91¨\ 1¹4û\12\r@7¸iø\965\902\8d?:µí\8d\9b\84\8e
+·Å-sóc°¼6Ü\12\82\9e´ÎÄ#¦¸D\15z\11\98MÅÌp\8aï
+\93Ë;\1f\15@\9a1\14·\ 6\9døÙ\1dýxѶ2ù\87õ}r\vÜ×FJ\fg,á\ 6\98\8fÄá Ó\vB\vú)\97à9÷\15úÓåó
+\12oàÓÚX½ì       8\11jF\11ü¾8X\9eq$¤I\a¢Ë
\8d®\ 2sõ:\r\94ÛÐ\96\99§_Ø\1eù\93\86ð\9eù­
+ù°Óõ£ß,\8b\9aqMSã\b\95Ç%\95+\89¿iM¢C\8bDùb  \19\92Ãôò°ÚÄ>½¬ h¼^s(\8fC\11*üA}#H¿,\1f+7Ì\8cæuKY¸0\97f³s\94\90¿~Ïræ³Ô(\8cGpùÿ\1c\89\9aV\eú\ f\aPJ   \8aÑúï(âÔÑþ7¦ºy¼à\97N\87Ï\88r\93ø\9d\8eEw
+ß!`Æøo\fn\15ºv\vÓ±a\91µc@o!luV\fhÞA×±-pÆØ¡\19\86Â=Ér\90Ø´\8fqã[¶ú=ȤÛý÷²¢¡u\ f\15\92\9fÁ'ë9\87\1f¼Î\99ò\18ò[µ=G\90ó
+\890M$\14a\1dÊ{7íµ§\87\92T.¬s4X`U·p¢\1eÞQR²î§\82\ 2òuK{î\a\82øê\91·Ì\1e       ×T\93£ûÁB\ 3Wzèì\147GôÓÕÆí\ 2\87É·ai\12à@õ\84Ô×ý0 qdúNáLÙ.u\8dÙ@mHØ\7fëê·ú\16v\12à\9b¬"FE1»aìóÅìİfod¾\86JO¬Yëa¶\8d:´G6Z\f³È\83ÖZþKs\ f÷Hâ\1e\15I\9bµJ\9e\95J\87KýûëZmÒJ²ã\1c\98\1f\11¦\8e«$ñ«¹;\eÏ?ÒÿÓ(z\8euܪ=\85t|cìÙ\b?' üG\89\12\16=¥JLieOÃ\\9e7g\ 1¹®oK:Vè\9d\82D\80ÙÒ°m\82\16\9f\8dÛ\97»@·º¸{«\92°\9di;rß\96ýØøoT$Ë\91â\94Î\1e)W>ò\8cØZU³\12\1c¿\1aÕì<bÙggÊNãô\1c\8a+_¤,C\9e©½\817_¤F"\1f\10êM\88\81\19UA°\a²\9a,\1c·5*yG5\10\rü-˸\9bÕå!\16u$i¯\9e)9Dî6Ê¥MÛÈ\9f\8c\13\81\r\8d        w\98Èy\b\17?".êÌ6\87-\9frqúACùûé\82ð_ÊÃ;±¤\92\97\ 1½É;/¦\11\ 5     ¿\80\rA@%\örñÌíÆê<q®÷ÍMV\93+È4Ë\0̵^ç¥4Íj¥S\97I+\93TÁÊ«2*\91I\90©\18CãæiZDÃÛê®à©;7ÕZ\ 2H"ÿ\13O\ f(½=Y'v$ÜÛÖΦv\18bo\18$\86l"E`ú5\9bÆ\e\1d£}n=\7fqç=\89öý?×Ì\125zî"è\13@ש\17È\r\ 6½^+\81ò\f\1c¾B.ô\1e\90x±r\96\e¾_Î\r)ou¶}ûrh¦Y[H¦\88D>VÍî/oS ³\9b[+{Á \1c<H\13Qòº³\87\94ª\87\90èb³A\19\9c\9c\91\f \8b\8d"ÑÑð\95Óv\fH\96°Ê4!|Ú0X\90^\10¬[L\1e%5Ò=¢¬\81?bØ\7f;k\9bÇW\ 1­\8boé?\8føßà\89mWl\b¨dmO\8eUè¶´    \1eª¿ÏÄ9"?ª:Ê\80ä\12kßÒL£ÄBÜ\8a[\8cßÚ>\8a\8fÃðP¿ÞÝ©Å\ 6¦Iâ\99\adUÉMl¹ê¦'.öZ* ]µ©píû\7f\9eE6Eó\80Rô® úK\81«t\1a\v<µ3Å((\8fc\84°zÞÃï,\8f ¼ÔÈb¼¨\94\ 4 ¤í\813ÇiÅ>ÑÑ\89vÀú9Wl\1fÑb7ÓEó~\ 4ܱ\99\14iLu\11mC\a(í¡\ 6Øi1DY»ü§\15.píôßÇ\1aQ{è¹1§RH÷£Å2sëHdG\92r]×\9b\9f\19DhçÉ\80\87\9e:X\bú\9fý\ 4û®2Óç'NÔwq· ê\18\9ff\867\8a\14\7fxÞlå\b\94yÆqÍîFij\96\17?&¥Ó;£
+,:Ù^\8aEL%¶_\99¢ª\12\ 6¡À®Þ.6!mû¨\95ÛÕõÜUö\ 5s\93y¬;\82yL]¶ÿ´c\8bß\87\10æ\8d+{\95k\18»\87\9f5иFöxGöNRBx\ 3Ù«\8cî\97ÂïNnÛ)uB\92\e,yï[u¢T"fgá\1c£?ê¼\15´(êÕ\92»dß\ 4\1f\ 3&  ?\89$ró\9e©¸|\9d,ûüsÈ1.!ö8
+\97;\8aÜA½\1a\aÉÁ¤i\ 1\ 4£S!    \8e]ä`fqãøÞ\12Z\11¥\9f\81´($ÁQ\rÔÒóPô\19\83»k\8dzÅPEÎÅþÎ\rÆaûH7\19ç÷\987\15°5Å\eêá²û\83\1a\8a[ËÆôë¢Ï\ fLÔrè¿X\1a\80AX\81#\9d\b#MÎâ\a«\17¸¹p&k<çw\12V\9bX\85\ e«\96\87^_~ba&oo\8eb5,ÜHOæÏ\163ÖBF|ÖRÕ'£ÏF|ôQ\99Û\9a0\89@ÉG\10\19D e\bL×`\ fè\99-ÞÿÔJ\ 6ÿ"~A\7fÚ_©í<SÕ6A8·äõ|\13å\86\7f\80"~\rÎ\9eO\96#l_Bj½Ü9Â0{õ@Øy\84¶ó\ 3\1e3¢|ê\96\8aYþm\f*\ 4\12\82\1a)cù!ÎgÈ\93ó\r-\19ª\13ª\,±ì,\12\83?x\94\17\1c\9f\15W_\ 3ç­UãÔÖZvéJ(n:6éI)\ 6}Dy\ 2ý¹(ëÿ¤\94\15ô\rÒæ\12\82¾wö\92\82°ôÛîIA_­Æ\8eJ
+ÿrrÇCV\a\99ÿ\8bV\a\99þ©,ÃËÌÇ\92Ì<¬Ìy,è\99AÊWåH\ 4\9fù\89\1d\1fù     \vy 7Oõ\92\16ÿsVD±\1fOX\8f¯­=nÿ¬\8fI®o.\93{N[\9d'\e,\1dêì\95êÓ\90Fcf1\1f¶N!å\11á;¤v/ü\8bG\ 6¾Y\1dGý$woõ\11Óò\8e1wt¯f¨÷³T{Ùª=ï¹Dq\8b-\97\1d²S\99\96©Nc&\ e\8eúî \9fÙIÈ»\84¦±\8dÒ\9aîQ'"äFhç9Df\8eT\13¿"8÷0\bؼ\821WtFGýÍ\99\8eI\18³ý\8a¿<ò×d\94²Ré3Jì\93\12Ĥ&&&e&é8Jî\94ÒSiN%:\96))䯠   O¥yJôP?æö\90\81ýbe\7fï©_\92¿¥Dl\0ð)`\92Á¥Ï%\8cK\bS\17n?\9bz~$uX\17Ϥy\ae^QÃG\85&\a\80­ç\11ßLHB@\89Õ£Fz\eìØ'í¢(\ e\aç¦"u®TÝBò8øãm\937P`§Bz³\10f\JbX\91£Q\12ð\82\8f+\1a@\90^}<eÇ@\f¢\r\ 1\884.\ en8dÓ\7f\94Ý}cu\12C(\16Ç`H2a7H\84ò[|7P\94ÙðæëÐ\e¨+i\19#uÊ\87ÑBn¢L\9cß\e¯Ë7PËeÃö\98±7_¢n \97\15ýÅþþÌ\8e&\8fÇ\9e\11¡):ÃÅ\12\8f±H®\9b\7f)¤g¡(${Ï\93K\ 1H¦ágã\94Ò\eÐ\96ÍV'Pï\bSHGBPJ¤óËz\92?\983Ò)\91\8d?{¤wÓ£¿$\8eü\9a;Ý£½â;ò\88ï¨G{Øä\89ÄýùTwå\91ßT\8eüº;ú4wæ\11ß\99G\7fH\8eüÒ;úTwæÑß\9cG\7fL]ùÒ\99\93\14\8au\92z\92\82|ÁDýÅÐ¥Ø\91#\19¡(ú¦å\13µë\827}ø \9bm   A:Ñ4\81##ODnÿ\88"\ 6É»û+\99Ä\1fI\1fÔH+\7fW\93çÊ|\9aߢæg\99W5¿¾vÏ9\ 6¾?ìÂå\9a  8\82\80c_V$\81ô"\v±ô*-³üÝAÓÀ\1a\94\11¦T\1afQ\a\ eÄX¯\eH@\93:1\1c\83D\92H\88æÞ\véPÓh\8f¢pØ\12Ä\9a\ 1\8då¸nçÂB!Æâø\10\17ÝÂé\10P]ÂóÁF0\875ðkÎäéé\11&¼nÍÔ8­\8cÚ\1dÎxjn`¾ªèÑ&¿ú\83u\ eJL\1a×\0í·î\85\ f.z<Ï.óp»þü.ü?Ù\85ß\1fÿ¹^tÆëó\rÔ\18
+\90þµn\81S?7\v\1fïÂÇ\99\90æ\9cj<\8e\83¼õ]w>\ f\7f\8bí+ô\9d¿\v\18Ö\82»qÅO½ycoÖÞ\9f}«­°\9eëg¦ºÙén¥\ 2\1e\8fq\9c\87ÒZï²\9fâ\9düùÆ?O      \91º\96\ 6;©A\17æí1ÜßÜßßÿeéò! }J'\ 5ÖB)\ f;®Ä}[äÞSé_*û\ e³}\9b\7f¥\97¦ú³i\v³~îØ\7fÏ;Ãzß\1fýè¤?\95µy\,,IØ\9c×øp®qý\1cº²­¯ÿ*\97Çô¦¿ù\19IŹ\92\97Çkðp®\7f)#Â\ f¿I\1dþó\v\8b\1fDvèzvíÿj\97Ç»¡KãÝþ   ;\13¦\9aCÔ/\9aýñ\94\9eë\84ñê\ f\17;ûi\99\1c'\8f\9emÉÞ\88läp\9e?\11\ fz\ò°oÒÌÜ¢qå\95aàá<ïO\18l=\ 6²8O?d$±\8cûý\99éöÞ\13[\97gnÊ3i\1c'Ç^Öæ$\11þBö\99oÏÀ/>\8b^\BI\8fÂ\82U:¤f-£)ÕÏ
+       <ª\râöúÀSÄ\95´\99¹ØXa\eÌ\7f`D·=m
+%V*Å¢ÐÝM\b\80Ï8Ä:\9aý`\96$µF\91Å_\ 4hôõ\8b\1e\7f
+=yÔ\8cÔ\95#.}XÛÛ¢©)BR\ f\83¼\1aºH\9fÒÑê\9c\14ν\9bøq\ 2\85Ù\ eM\ f\8d\a\1e#\b´h\1a\ 5\19\ 6\88\8e\f5~\9b~{\88ùÈ|Ó^̨Á{\9c-¢JÖTK\98\f\15\93å£\f¸\85m8¨È,^¡°¢\94\9ajѶ\1c\vþ&ñ¤_\8c£*1I9\88
+\1dáF\11ÿn³~~?·Yª9u\9biÇEf\13/8£oÐ6\8c\ 6\1eYl\92Û\95\97ù.\9c¤4"±kSGµ¨Ç\8c\vü\894\rìÖ®r$Ð7ðÌr$Ð4W>\95jçn}¤\91\97Ë&\84¥ëT©Ç|E\90¹7;ªÞÐîSðð½R\97ãP?b\9a\9d%
+\9e¤MûN\1d¡îø\9b\ fXî<M:Zv°\e¨Ø\7füV¦¥<û~úÚ²øè\13Å=¨Ô'\85»NùÒ\8c¥ÃB\92ØDô\9a=aq\13Óh¦Áë\ 5I\94ü\ 2v 6@ñ^lë5\0°QçOp T%úÒÙ\95ÿ3Dõ1\9e°\8dSGÃ\15Z\1fÑ\1fRuh\19¬Ë\9ef$ìµ¹û\9d\96\8fãüo}\93eÇß21q¼\93ÉÐ~\9e»\81Ñ\ 2Ò\14Ð/sL\84\1d\1d\ 2V®±ÀÑ\14nß°S7Bï\87¯\16ù\ 2YÜH­"Ë\8eӾɥÚ\10P\84q×Ðy\9f¼5Å\17Îݰöb³\14ìcà×\15\9dí\8b¬-\b+$ÎáöÑë9«\13ûÊ\95t1g1Ñ `Qìù$u\ 1\8dï\ 6\rÎÅä*t\81åè7\83\19D{o\9døY7\ f¸ä£Ö×uøâç¾AJÄ¢\9eZ6pF2èE\9aË!»>­\b\800\13|\8f\ 2í\1fo8ó
+BÎ:¡©J\9f:w\82Q\95\82Þñå\16\8ca\ 3\96äb\94M\8e\0o`Oåñã8.\85Ä\17\93ë«ï£á__v\13\12Aj\9b\15Ò¤Â-¾¨\1e÷\ e#\8aÉè5\ 6¢f\ 4ÃYÉß\9bú´e\v\12=i>0Ö\95!y0\1a¢\93îIw\87ë'y~×Ô7µá7ÕTP7Õdg\10\9eQ\rS"o\18°¶Wó²\1c\8aë©G«oªË\87±á8k\1f\89½bÂÝÒ\9b8=\85\ 2P%Ë\12ج\14èèS\83¤\9c\ß¶\R¸kJo\ f\f±\8f´\1cE\f95eäz.\13\994ÈÙ7ý~Ûdýº,TÙ¬·Öå# ¡u\8d§J\9bXþ×tokÅ)\16\9c\e\rZj&1m­Þ\85\ 6\9dJËH8\1d\12R.Q£Ò]ÚÍ\93\88ð¿\17Bµ½üóY_\Kopl\1d\91=&*ì\86ªCY1˹8¢ñr2àÊö¾\91\17úñ"\81hô>pÚd-K\80s\fg'
+üwa1:×Ké»õ\94N¼E>/\845»»Êx}\98)¥~²jp\8d\85ÓªLz\92Ë5:\94áæ\9e\85\1a¾y\ØVe\8aÜ2 2Álx\8c\15åÂ(ÊGÿ7åÁ7úÓÉÎú\9b¤ëý8Ý\14fðm£<\89\16\85Ô,4        `«ÆëC×K\89\16j\14ï],Kç&]Ô+ÞhÞ*Ywý\9b¥'o\12Äm0\9d9ÚVõé\94\9f!:¥Ñ\e(ã¥2f«\16Ñ7Í\13áÙ­\94{j¦N}Ó~ûu[\86uK×µ\e0_JÇC}t§JÅ\86ÙÔ&Â/sº\84È7µxS¼p\86éáN\84ê®Ã\82\ eå\88\7fÍ\r\1d)lò\1e9\8c\1e\8a4\rA²5>\85\86\bp\9e\8fvÃq
+÷ã\95/jÉie\9aæ9\1a\9b\9e\12÷µ*8ê«\93»\12#׫\8cuOÆu&V\fo\7f¢}¯½õ{\9c\85¼\r!")Í`ÈR®XذAÏOñÛøÙ\16*TO¾\84åÎÅû\91ÀVð£²÷\ 6à0Å\1d\90À\v·5\8dTO\88¡\a´W\10$G£\12<<q"rØ!á\11¦¾-íô.ÅÄ\1a\87\ e69\16\9c«Í\8eE\9dU=SÝ\8eEªîL¥#\7fÞ \7fÖ~·xÇÒ\7f¥Þ1à¿Üï\18ÿ5˼cÞ\»Æ=qÌ|£Õ\9dã\1f\89\18üS¯À¿\98z\13\86¿õ"å?\85Þ1õÒ]ã\1f×÷\9dã\1eO\92ï\18ú¿ö;Æ?M\7fùÞM¼}t]Ì\8f\87õwR>\1fßÊ\88\10\10:ñüi'¤*ç\82\1dÊ\90èr'\em\82\17¿ä\13\8d¾f·ßú\9c\7f\99p99\94¨3-\92 Æ\eÇÑÝk¦î\95[¿ð\8c*ÿ¯÷îBþwR\1a\17û¸\11?5a\aó\7f\7fê0cß\8b\7fÇ\1aÜÜJ\ù\7f
+\18ç\919bëOÎÉôsý\aÚç>ô[¿Þ§ú\9f\8a\aÉÞÖýº¸¸9ziûêW ~¦ÉÏ\95sÑg\1eÿÃG?ÊÑÆö´?á£\8b³\bí­\1c?\87íÿ_\1es\r\8e_û´qa\83$ÏÿÓG\17â!ÿQÙÏ|\1a8°m:B¬?®G\7f¼°NØ\9c&QУ¿\99£;-±Û\9dC³Oç}þ<ç\87EÀé\91ßðñç5-Ý)ç\14\9dèñ'42\99è M\85d¸ÎÙn¯E\13rà2oª¶\8aÐ\8ac5³}S\1c\83½\ 6È\1d\18¶+²Pº\85ËòP³+¥±vy(OW4A÷wÍJâ½u\81G\bpI½ù\83AîtH\91­9kJÝ\9dÖ%åȤÝ×i\186\7fBnÙ¨\ eTËàÝ(ò\85¾«héKEC¢-}\18\1cwh ðê\89r\v¯¤ÉÕesOæ\83\9c\95\84Ë+\1fÑ\81\81zçwÙ_Và\12~\9dâG\15XWu8Qb\90Õ\eKó#ñTU¤¢Þ¨ò\95¦Q[\1c£È\18ûÍÞdi\ 4û\eÇ)\1dÝ®(éEV\91ÔûH\93\94{Éi';;ÍÎ\92\91¤*eüףū{Ä}#ó{\raéÏ\9bz+»\12üã\86Û\8b=&\81úG Gù\18»¸8\ f\97zJç¾ùy?\7fCzJK\8fc\9eäü\9e\168.dá\ 2\ 1ÅÍÁ\91»\1f\83\8cà·31òZË\84Zî{ý?§\91\12áÀ
+\8dvÃn
+P\ 6t\91\7fËÕ\19~[Ìv¥6Ø\0«\9a\96\16j÷.$Ĺu\8eÍ:+¨f\86u\93òk©ÑÜð®=<ü\8aãÑ\1e¸\92$wä×\1c\r\7f\ 1«\8dR+\8d    ë\8f\12ð\83]ª}ª'Ô¼H\8b1\1e\ï2,Ä   N\9dÔ.\8f¥³¦É¢+Öî\95Å\1e:\82û'R\12ó\17\93\9dî¶'¼æ>u\17\9c.\ 1\ 3UÓëõzcÄ\8dÇJm\84\8f\93\89¼c\91\86Ŧ¼K'ùp\vqýM&é\81øè_
\855-\ 3«\ 3\8d\19ÿC\11^r\ e÷ÒOYpRJg>ÂÐCü\eDïöÑ\15\9aNÿ\11\85²\97~×o£\98LEa»±½\b¼ñ½Ü]¦\ 24nu(¸x\8aÎ'\7f·Ö\bq¸j.ÑG\ 6¢ïeE´¿Ä-Ó\8dG\b£Ç\18\1e·\8aÙM\9a\98jÛ]\12X½²\96\92#±þNx´\96ÀÎùy®\94®.6ÛóG"+Qæ\15[ð^Q\96Ï\94ËË\rȲ\ f¥pú\rÅT   °¼PÄ\94~ïeãN[¾tlh¥\93×i\8f%ã|ä\85Q\96¤Fú­\94EG\169\11u»Ð\12èq*°\93\90\1fRDo\9b\12FNv~kKbZXjb:ñ\9ab\94¥(s\89=\85;ôÆéC]­\e)\ eN\ 3WÉ×ëFÊQá¤\1fñ\14G\87kåNÜ\95;Y°)H§êçcú/ðtêXêHÛ\fi\85³¦§sø\8bºÅR-\91gâç\9bØì.\80o\12aפõ9\8a\9e¤¾Õ.m\1fóÚ±©n6GëÁqü\8bjQ\1eì\81×,Ç\8e\10çYùIÐ\932\1fÅB(ÜÈßA¥\e\CÕ6Ĥ\89\15\9c<©V\ 2®6\11\95­¹p\11æÛb\8bùUSÌ*§Éä¼¼\e\9b¨*^\ 2+³ðÆÝîõÎη r¥]Jñ~\8b
\93Õ-¢\82Õá[,*|VHy×4bM\ 3Ú=\850\fRÐ@¾ñA\7fNLo\7fËâÝ\91BBiÈâ§,ùq#,æ\a\ 6ÇÍívW2Ê­J%\14dJ(h,\98RêùâI
+5ñ\8a\\15\e»\86érã¢\84\9fK\85çÉÒ\1f\9fQ?u\12\15ãÉ\ f\18j êT3VÔ±\7f\9d\eáã«\1c\85ñÕ\82JT5WR\7f\1d¡\ 4ä(\rs£zî\15îË×m\f£\ 5v]\9bèN\14¨\9c'Q\16£`ÁAá3R¢}ZÃнYèYãP²¢,¼\86/s2\8b\ 3È
+~¡¨\96ò/\8bÆ9{ÃX¯[íM\99\19\\bã  $È\1d/\124\9cO\14Ú\14Sû|¦¾+-\\19\1dÔdS¡)(\ 3×\11\el\84!¹X\13b\1f\aî\9e?$î!å\97\9f'û{\ f!\19p]\9cʧ+ZÐñ{AÞ¸r7´ö,\a#\8cò\a#b\ao\ 6\8c\1d»h\17\91¤\87`"L\10Rþ «\95pZ\ 3\ eëØ°9ÛÏÝ\ 2Æ
+4\0Ãü§O\9\1eÊ4ѧã\82\88\19S¼I£Ê­k»\9fxµgÀ§°j&£ÉC@\96Ú?E骬©]#dú\17C!AÊÐÉ4f÷L\81Üú¨\8c\dÉ\16íÓÃÒ°"·\ 3æ½\85V8F\15\98zR\80è\ f>'q£\vGCä\8b\96ÇF~é<k\1a(\18{\1c\8aêL\92è\18\1aîÌÖþ2kðîä|'É\9dÖ\97%²¯´^\\92°I\1f;}VI\83æ
+»aÀ|\9b\9fZ³Æoª¨hEu$æPT\15\1f'\8c6/\1cÚèo\8bJ¤"½\a\1d\a\9a\eò\14¢¦ý´\19\17<Àà±zk¼\850\80ñ\87áAîÐÎ\95\1cF\82þÄJ)aù\11ý\82ãY]ªkãX&º¹Ë#^E£ûãè6f¹jl,]9q`ê\94½RÕnÜh}X¸§É\83\14j\9b\aÎ\9cè\1aVßÁØÖ\86\9b'°ê\1c'bl\85^eK\ f¾\9d\80S\-*A\86\9b·¬TrSÕ\8c\8fj\ f\13ùIQ;\88ü\98BÚ¾Ð_àµ\v\8e$\1eí¢ß«VÞ\f½³'\1fÊ6¼ÿ\90¹0Ð0\90\90ºª*³òaÁ\1f§%õcE¹\17 s\1d\95J\9bM\16(÷æ|ê\97¬i¡ÀWcf\1fô\15ØÖ¯ñ#'\82>\13lZÒ+XRksåiq:¾Õ%´²2M¬­\8bÉ4z´ç£;-ÅvEs\10yAË\91z}ç\8e\7f\ 6\86üêŸg à²\1ecZ»\80Ñ;\17N×RdW?f%7ÍÎαWa{6e㬧¥zs°Z6ú\8cxÍ÷;LÜûÞ¶\8c\8c-\8an\7f\ad$³Vô\86|ÉVl¯3ÆÎ4Q\91;J(¬öÙkþ\1a»\89\ 3\8bRw\8d2[бQ\ f\18uÁe\10ÓO»Ïq\ 2\9b\8d£öMU4¿ f«&N~l¸\1eaT'Ü=¹©\ 4ÆaR­Tc\e\vÉV=¹ªó}S/å)sMe\fô®ÀªÛî\1d¹³¶¦$¬\9a\8e#¼õÁV\92¬Ät­ËU\1f¸:\8dï\18\17\83\ eÖQ<¼\99´mAIÅ\8dY)rM\89Ò:z\93½ú$±:¬Ø
+\9a\93éÚ(Ú\8c\96P? ù5<¬\84<Íæ4)вtÎî!ù1+¯\1a¸_t¥\ 1\ f\1c¾\ 63\1cÎ\ 6\1d#G\ 6Àx_j.       _Pra.\106T3ÒlKj¯BLÝ\ 2ÔÙS¡òã«ü\8cª|\8dG.ü¸I[dÊöÜW\8a{\ f\14ß\82ö\va\9f\9f\ 6¸"\84ÝuaSùÃ\80¹ã\9f¾0 \ 6\e\_?%\8dk\90\80Ó!bë |\b*XZ½s\12±Sv@hV\a¾ç\bá\1cL\14Xéu\ f°ã\85\ 1:?-ÿ@\9b\9f,æã=Ó\7f\e<¹L\8aõ*%¸vïX~gªZ_í\89\9aBÌ4¿äW\96¥D\9açe\f^°p\85#]ÖY¿\8d \17¸vÀ\e®G×ûbã3hä¼Ï¯ôãâ­Ø´)K\16>4Q~%\8eE}\88¥ëWp\8dKpêTµ¿[X\9e\94\19+/ÒÆ¤«Z4¶°A\96Ñ6B¥wìc¬N­ (Õ\9d\83}E\11\99°¤o°\89ÑîB¨öÜÀÅ¡±¿\1dù@}è·Â7iëJ\8b÷ß\8b2\ e $~Mßå«Ý1#§+°\19\10\86¾ýÖ4\9d\9fìÌÌÌÌ\92I;$\92I\81 \10\b\ 4P\12\ 4\ 5\90È\ 6t\99\131"\81\ 1ÑhTlðª\88\84\85
+¢E\80Ü\99×»UÕõ[æê*
+ý|¨Uv\ 3\88\80\ 2\95¾\ 4\eb\8d¯G\ 5\ 1\1a1­Iûÿÿ÷î÷3¹3\ 1\1c\82­\ 5¾ß_^\ 5öÝöð6ïÛöïßnð½íÞ\15àoÛÁß¾÷\vx\9bÃÞvò·\97¼]ÞFð7íæ_àëO\87ݤ¶Ù-uù]\19\12ô?UçÐ6&¨\11w\1e%U&(´\8d\1eBN¾RµÇæêÚ\88ûbÀB\8bu\0ó¼­¥\16éÆÊ¹\96\ac\0\e\16×F^\86\17¡\8eñ
+l\raìY9\90\88qº®9Onù2\ 6b¶!%\86\12¨zFròAí¨u¶?\9acéÕ\1dª%\br[Ù\ 3\1e¿\8a\1d\9dn6\92E±Ý¨r?E\99³¼qµÏ^Þ        G\16Ú\87?P$TÔ\93\r«\8e­¸\ 6\ohõÇ\97\9cÞá­5\95¶KÁ@\9e6¼Ý¶MwåTjøò3ôdßæL\aR¼F:´}³»Ô\ 2ª\8e°pÃ=\86\9d\9f\96\95ç+a\1fÆ\ eNtùþ8î?<¬7\\fß~I_·º\ 6·\98è\ 6\89m\15½[\9db\a³\83Ü\8bðC%º?h©Ï·'j\89»\ 2`06nSõ\ 5ªyúàR\85-Fż\fª<Ü\8ax¯h\1a`\b\f.:Wíhôv_\89\ e\97u&\ 3\aÅ}a[dÙ\1enQ;±$c\0Ð`&\13l\10\b¼¾ÇÖÜkÀ\90\83°§Kæ\84ÚFö"µ\9bÅ:æ\89èc§¦v«\9el\e\ ey<#r,\8eÕmÇG`Á~)
+uÑ\0/I\86ʪ!UÕ\13a\ 1\16n2jy\1c\8bf\8e\91tÚ>\ 1Ç¿l\b\8d\ eî5\80y{\ e6Õûâd}¬.iZª\b\1d\83CÙ!\aÔ/ËÜ\ 5\850aÞý\12\96²\8cýH\v\8aÊ;§\89L\83\ 1\ 3zM\ 6Ô¢ò^<ò«\a\8fGsNL9¤ók¦¸ª¯Q\9dS\ 4²¥\17\ fÀù¨1\1eßVQûT.5ð}xl\ 5Ôß\18«\ 1\r1\8aú\89Ê\8dÇ.\©ImPÁ³\10\8cËc\1f»u\1c\9cÄõ\ fõ4¯[ìÃÒº`dÏ\ 2Ág\8d¥ @\19\17\8a\10¨\87v'³-¬\86Â\99Õäýû±y?xµL\ 5¦éCÆ\ 4\17]ò(xíTPñÏ\7fj\87\8fû¹O\7f\ 3,\13¹åG\9eÄÙùÿ¥\12¾Çä`\17þ\ fõ°\vý\17î`\17øÈl\ 2þ\92\e\0¿3\ 2\ 3\0¿¾Ã?x¹"\9dxç°V\ 1\7f¿e\e\9aÇ´ù\98\ 5þ¶\13\0¿)Öóñù¬}ÌF\ 1\7f\96þÆ\ 1\7fNÏçQ+þÆò_ý\f½\9e\12\86¬¼Ù¾Ïß#c5\14Aìá
+­¿#Ô\ fÔPû\8f¨ã¶\1f\1eî\{ºó\97Ms±;ºþ8¬\ fü\ 2«\1f\9dñÔKpÉà\9e: <\13ñò\8fàeéwDï÷ýª%¾)--\19C÷©7íB#\ fà\19DÆÜÄG_`hzS\11\97?hb2o\81øs½%¦c\ïO÷ûM¥´¡ÛȾ\9e\7fòóºâó¶þU\a\9a\9cï¿\9dA÷ó¨>þ\7f÷Ïþÿâ\83Ì9Ùë\12ü(\11\10\ fì,Ã5\17ôù£\v\e.\ 2Û\9eçµ?s\eMöª¾¶w\817âèû=\8bW.c\97[ÐGFèEõ\e\93ÿ_io\15Mk\e´·Ñ¶þ\aÛ>\1e¤\8dln¯3?úË\89]·ÿË\89_\9a1ØÇ¹eÉP\93\82\15Äùs~þ\12]Ó7©$O/ø\b\83\9e\evW\9e\7fÏ6ä\9flùQó"6&\ 2Ø}\ 4YØkl©\ 4lLÃè\ 3\85C\9df¹wÜû¬\15,\98&\81ïK\ 6 \1eJ0 \1eJ@ \1eLH\rÜ£\80\e\9fºP\e\15|P\v:Î,\ 6Å_\19\8a\ 4<.P¼~Í\vn¶C,.\b%[\83ÕiÖ\96åìã8-²\1eá\8a\9c+þ|¬>£.©ÑÓÐ\98ù±Är\9f\80^²å,d2Â\89Àrûªlu\9bài¢ÑÕM\94ìf\Â$M1¹\96=¨ª6AÌÑ­ëi\1cå«Ù§ÀâC9^¸}¬y\97\1a?I\94\1eÖ?©\8aB\91\9ff\ fk\1ea\97(\9a\1e¸ng\9ad²ýÏ@§k\17BS\16\98Áí[z\0ã]\94äå£Ë\eî°\83\1a     \ e\9dã\18=\v½Ã\ f\93µn\92¸\82¿x´/>éSJ[ÿÉûGDZøï¹úÿÖ~ÑþWî?hý\14\8fÐC?hü\81\ 6\1d\8fª\86~ÑïJ~Ñ÷òÉ?\15ÑûGµaòßsfÂ\r÷;/\84ý£ÿ\14\8fÇÿaûGè\7f¸ý£áû\0Ú\86Ûgò\16·\7fí/þxµ\94ü·:þsö¯ÿ\91
\94ýª`õK´Æ|     }       \85²\?Ò}Çåõª<\8cIÿc{è÷==ß³Ðîï­\ûOW[îÞÆ²\7fi\88£«\15Q¼WEÉÆsrm´o\7fûd\1e7TG¥\ 1aq7l/Ñ\7f\9dØ=þöþ¿hñrîÓþ\96Aû|ArÿK\88ä·õð4\10)ê2IÍûäY\as&Pr\9bS÷Ȳ\ e=½®8Ì+_\1dñuD~\19´\ahoÜ_\b\972Fl\13¬ÂAënÒ¦L­\95P9ÚAüÊKz\95U°*\19ê
+¨­w¯¦\0ó½]qØêMM÷ñ\ 5;õ*U\8e\873÷éÖ¦éÔ\14Ë^~\v\0\vϪ8\974&iW\84\95]\8ayÿ\16:
+\ 6UìÓ\12\b\8a\ 2^8]_°*u¬Ä¼®å1?\16òÌ\19õõ
+7d\ 4¤±Ã\8em\17Dd]nSò0¥\18\13º\886:¹\8axV\1a\12\92Ë\ 1\*t\85\93QT\18Ñ ÀÞÖ\12\13!@\1fq\83)ÂÆ\14©\9c\83\1fd\f:Ëà4^%Lì¨B\oLÑ\94·\ 6 '      \9bju\12düîl\14"ÍÌo£AÕZ\a\9a^\94O¾¡)Z\ 5eVkïà0\f\9e\85  GP,p%Q\86[í*x-¨\0X8\1d\15¥\e; þfnÞÄk\83ô$ùchäXWL\80Å㣵\ 4Ù\8e6ë`½uztV\80W\95\8e¬\17©ÒýÏDï\8b\9d# d\1d\17®ë\ 3\1e\v\97þó»\1d\7f\ 2Ç@òP\ 6\1cK6v\93`\1eÕûIÑÕ\9d£òKñçNÑø£Ú¢~4\12gØó@3í3½\10\rù[¡R°²A,;\10ç\19y\14%\1ddJ§\89bº>hTÌâY_\0T\8eÚ2W,z5\19\1cm#§\12\95×ÀQ¸%3£tl\16L    \8eK\ eà%\99òË5\824e`/1rW\91Æ8pÆ9\ 1Æ?\91\92\fx!+x\`v\92d[Ø·\99cÖJ^\9d¥Q\94@çIØìn\ 3¢»Ì¼FýÐ\bßѳ\ fækØ\9d\8bb\9bZ(\fÂ\ 5¸%Hçj;ÊòÜZÖ\9cómcÖ7\195}@åúUMÓõ0\83\92}\b\rKM]m%5\ 5~L>\é>\½{ÂI\9b\92M\82OÈ,\99Àk$\ 6ûg\ 2þ\9dt\ eX\98=yÚLë\ 3h<0\7fhYD²¸>\a\8cþ¢b\8d}sp>\a±ÙÕ&}õ1\86°\13$W#çõÇïé\9d¤\ eºd}×=9\1c"½f\16\8eX\a\99u_\8fx\8c\90\ f¡?\94\1a\ 6àyûF\1fîãµ_B¬2È\1c\9aÅ\0æ0eåm\9500r\89ja^,\15=òé/âàÀÈ\95Çá:¤­o^\ 6\1cË\9dö4(6êçÎ\f<¬¸pÊ\8a\93\9e\pð%ãñ£\90£¢\15e@¦Ã\8f\7fÍÌ&\ 3­\87\ 1©Ötëìm\18YS9\ 1\96\8aë±"q¾×\16»ØãØÿ5¯¥\1deUJ\9dï\98\15\ 3\9dwc`&\87Yó`r ¶oW>maÖL\1c\ 3^\rgQѱ´_LåýP\19\16\eÖ\ f\90^VÔ7L\81F\9d\85\ 6\0{\9e        ä\84\99\8b\0Æ\r$±$Ê]{\1c\87OÐçSÉàÃ¥Úüð\1a\17>\11¨\9d¢õÜkkè\9e\12|\8ddñ1\ 3\95øä¤q z\fßTÈ\ 4=Ñá\9c\922\84Î\8c£Õ3\92\a>{\8f0\aéþ¢\81\a\1aÚì¡'\8fI´à\ fãè6U\b\14v6ì\0¯\ 4Ë\1dIE÷ \ 1æzWмF²\81ã\8f<Mu\9e¡\85:<Û"M\90u\81Ø\v\a\82>ãï\ 3\9aÔ\8f\13Ñ\11Þ\83rÐs\89÷«\84Ð\15»¯t½\ 2c7\87®\841$¹øÝÿ\J\ 5è·Z»\8e kó\82R\ eíE\98\7fqçÀb7ô@1\1a¬\9fsóõÄÿëÐG\84\1cû\9cÈ\10\87\9f:\f\95\9dÈ\eRåè\94Kk\84­¹ÿ\9c­¡Ä§×ƨ½\ 2^\8aÁÿ|A\91I\0<\83\93m\1e×\r\vfÀB\1f¹\ 6à\1eÜ­\7fmÆÊ»\10-@_\ 3¯íúßL:Ï\10PñÈ\9e\1eà8\17\ 53"KÂ$Ñeã\9br'cd\eLS\ e\1fÅtÎD\85m~\93\90A@ûÆ4\ľ\9d»Ä«jÝ£\82\9fvã}]мK§·\16\r\12{÷³¯R§¡v\96Jy7qÆ;=¾\9c¬<(Fe\r\1c\93wáP{\1aÄ\1f0\11¦ç­µM³ìjôîø\12ëÿ\18¹AïEq¾¯Ó\93\1dïDoÚ1\84ÇÕú@k\1cxÀÜW(\rùÓ¹/È\e\93\ah_\93`n\17xÁX\9d\16ücĦ{q&³ìá)¡ÙQÞ\12'Ò»\14ñ\1de5\1f?(À/#T ýµ5\1c\89)IzÇhõ\ePöá\0\8c_]5\ 3Ð\82£5Þ\80ãCÔ¾êß\81¶Æ_Ã\16º_\9f\9d\ 6¡g\8c\ e\98j¡Íjóæ\81§Ùã
+ÔN©*\1cç\9b\f8\99M̰d\8e\92¼£Z\91êâÀkòZ\14~°çGbB`Ý\0f\90\aÄ       >ypÁV\83óqô[g\8e\83\82$\83û\94.=ê9L`\9aÈH-\ 4ù£Á½zã\15Öý\17Þ.¸JÞ\17:üYOGT\1aÑ"z\eê\1e<\13\99é1c²FC\16¢\9dÓzb\ 2Ì<\ e1H\98\88Hv¼\ 5æ±\1cWÐÅ\87~üé\10pñÙ7&£i\1cµ\18jy\8f\b\14\836aª±eYÙ°\1f¯å6\94à\ 3\80\88\7fº}\94\99&/Þb\97\15¾\96\1dgÎ3\80ÕÓ       ÕîÉ´\83\8f/9í\1fÃÝ:}Ï\ 3\aDòqAüÒ\87dIw\8b\8a1\ 5\ 3s\8cÐq·ÏHA\97~^\1eé÷<\1c\ 4\8eÈ\a6Ì:Ömj\9dH\84÷¾2üf"I\9bC:LÁÛÿ\14\80X\80äE¾ÇO\1fÃÖ5\87à\ ee8>\82\8f\r,üò\fqèVº\ 1Åëg}Å(@z"mîsË\vҪǰÿ\13Ü\8cÑêiAº·xK\85c,\98\93<_\19Ħó\b"\rÖÈ-9xô¢@)ªéSùi`Øï²ê\90²éi~#D\13ä\17A}\17\fðC|Û   ¢j\1eVU*wÕ*Ì\9cð\1e\94úµçÜlOqë}<òý\ 3\94Oràú\ô²ek\eü\ 1ð\8aÎ[ªs\ 3"\19\ e\ 3èè\ 3Ë­\91l\ 3\13©$\aX¶ó\ 3´xãa\9e»\87W\19\9eù\80T|îãbM!3%pû\1f§ù\ 3\85¾àÇ[£æ¨7þ\19T\ f]Õ/\88X\80ß º}þ!\7f\93Í\88Ã4oI[¥£Ë,Þ¤\ 6§x:7lÓ\83\1dÊ\9a6Ç¥Y(±\16Æä\1cAìʹ¬Jë\91ÒÌì\94ìÌá\f\8a\99\97~R\9e\13&íÆ¾¹e­ï@c¹¨\13ÿZû7ó\ e/¦º»v##\95\v\ 5\9b\ 4\12\9fa' -\86$V{°<3µFXg£ÃCm¿®æ\84cþÜ\9dª\91ΫÅ\1f\16&ͨ¿ª~GÏpIõ7õNæÐ\b¦Ë9æ\93ñ]§\15+\80\8c§à~*ÎÕLgU\1dèrdV\ f¼\1d¢@ËQÊw7ý1\96~\1aò\8c\ f±x·e\1a³ûq\e\11\eiràZ\18JWA#k\13`S\ e¶Àà\8dv\847áßRA­\7fi½9L2\1d\b\86Û{]v@\15µM\84eØís\9eÈuÎ\ 1ÔÜ×Tñ\1dÙR\83s^ði.Nů7ý\abÖ¯\12­n½\84\f÷#Ù<z\7f\9fp\15ÞD®iÇ \1dC¡è\1eút\ f\91\17*n\1d\16m1"\9f÷\ 5\9d
\9d\9cG\86Ô\ 6ÉáÒ:'.\81¾ÏôÓô\15´\9d\ 2ã´lÆ+Z\1d\95\1aÚÚFõþÓ§\10\ eÑ\82\90\aõ¾ð¡¨\8e\82i\9b¢=Ư\11©Aê?\84\16\9a\8ev\86»ERu\9c\88\11\80-ZôvïXíOHû\87\0jò/NuéÑÝ«ÙÑóËë¯\8e6µí^8Þ<9פ\ 3øîÕ\a\1c$\ euÁ${\0XÿÚÀóݸØç¥Aºå8µ¯\8e$u{$\12êW\80Ô2Þ     õ®nz>f\a\¾¥ÈÙ£&ZRT¹Î±²©ré\7f\1a\97.*is×`ë!h=ÑÐ[Äx\1a\19GVZ'%?H ë\82ÀmT\84á\19÷\87\92%8á\1d£/VE\93@\95!9\ eÌ\9f\1a\ 3\90àè\99\ 6Ô\vÜ\1c0ù"\ 1´\ 5^\1d¤ònáÚY\19K\88\11ï×\87PZ\v0\ 4\1cló¼\18\14\ eÒe6z>r\ e8\19ÙÔ0;<rS\17·í\1f\0ô0\ 2È\84K!»\83\9c\80I\e¶?Í\ 2Mý:ãß2\9f\15\84Þµ\83Ç\1e\96\81Р\8e<L\91$:õÖ6®ÑØ\13CÍCGÍK¢>\ 3²QhM\17¸Û×´¸Ç¹\fzHY\12`²øPq0Hkn¿Ø}v|\ 3²aR\85\85\1c\85t\85\85\1c\8dsN'\97\8d|\ 4\17>ÎG\9a\83ÛÀ\13m@\1c\98\ 3·IÀæW*2ï:Ë\94*¶~)ë\80|­âßÌ\17\ 4q\88ò9\91>\ 6Q\18Ú/YÓÿIÛ\8e \10\88îXnͺ£\9e¯\9f@TÝÞzy[àÝ8\98;UQ(7aãÉñ\96\v°À;ö¸ÂN+õá=\94Rî¨\11.ÓÛ\97D!ÉnÑß\1a¯OÒ§~\98\8eö\10ué¢g\ 1\e\87¨ù\87¿ó\93\98¸P±¼3÷Ç\88ÉyØ\81\1dmSVØõ\ 2ÖÂk¯ð:\9f\19\ 154{Ú¤[òµf\95\83\87µë²\1d?M\9a;U®²¦né÷J\16XóâàZª§®U\93\89a¨J4\11j\8e3Énk=«NÊx£Ô\ 5ñ"ÀÃÝíÁÅKnO±÷\19C&\11®\9e´ôe)ÅnV}\8am\ 3¬[@\94ßÓé-:Épî\ e­m\98V±+¨Å¸Ø@nw\95±â°ö¡\1c\r\12L y`\85\89Ù\92\14\98Õ µ\8b\98m£l\ e3¢.FcÏ~å\86
+=þÀTÓÛ{o\19q\88\88u\07¦yZÛTÚ  ÞÇVÈZÖ\94l¬ÙÓáÅ­é\97\17c£bï\87\17Ñ\1eý\ 1Sl\15T)a½\94&4\85\83\96Ô\l'\v\16r*ÚN´\8eýÚI¯ó\9d\93m³ßL\18¯,Ï\ 32>vJ&ö$ ²:\8a#\9f\9b\83Êß\17\aä.\14Ër\96i\83¤vdÝ;J*©J\96   V1\16é\e²Oü%\81d\95cC@õ`;Ѩå\9a\ f\ 3Q\16|\10p"ûh\ 5\18NÞ·yopÔ\19\80ó@'\9e\90ësÔ#\aª\99\1a\81\ 2\94\80Í%\8a=Ï*JçòrÇñ*£\8d\82{ì0³\ 5\98÷\88ëTÛ4aþ¶\18GÍ®î\ 3dy\16/:\ 4òQ_ï\12:h\91ÒЭ)\fvD³ >Ø©x±te\8b¾\12.b,\ébï¤\8b\99\8b\16¸±sä\8b\9a¹\8bK'~$$ؤ\13\99îp°w\94\86\10üh\ e\ ff\86mGn     ]ÊU\81¨äåÀ\9a±Ò¦WQ\9b\96\ 4\9a\8cdh\1dø¬å©\9a%XÌÐ>\88ø¢F<H<Ï
+]ýÝ%Q&R*\1a.G\fe!c\e\920\ f±Yº\9a¨¦\9dJ²lØ/².\1d¼¥XÜÐ:/mRf¾\87ïÒw$ß\ 6¶ËE̺\9fn.Ë\18\8fmM\96\19\1a\ 6úX\15s/d\9c©`[AÙòã\8601éV64\ f®,VLu3Z$ó\8f\93\916iG\174\9fÔÊ\r¸WÔÀ¼$ë\84\9e4ñó   VG\1f©b¨îrMþbí$þ¦\82\bâ\f\92e'ðº\8f>6«ó\1c55^¦§yÎ\1a\9a¯SS¸Î\1a\9a¯hh\1c\1f\r]W÷¸E       \94ô)¬±µg\v\90i\ 4Î\ fò\12!\9b\91bú2ÅÊ\17t\e\98·¥\8b\98$\\84X¼)bÛ\92.F,\ÉbçI¥\ 6$\8f\926\94\9e#\96\r\ eÊ\84\9dý4ûãå\8bñ ||½\8fU@ººðé\1a¬\10\1aÒtãµ\15T\0?Ì     VL\ 6wâ½\9f\83d\15»Cò¶³rì~z\ã\ 4ã\87Å\9fò\ 4Ôë'ØÖf/¸\1a\96\ e\92Ç\ 1òÒ§ë\ 1n³Ô¶6¹Z\86Á¯êdG¼\87|{h\9b·Ü\9e:_\17j\8fñûJì\9d\12\85¼ÕÀ\ ej        u\19sCÕ¸ñ\v2m\vGmÌ^ì±qä\8bk\16.бc¼\8cX½1bå¢k\80\16..±\ 6/¦,\èj\92,]YbÀûé\8e\8b\8bðå\8b½\0êÏB\8bø\18\b\aÆ^ôç\94f\1d\83ÆÏ\1c¯\11ËJààuý¾\aËÛ[¼Ì[<q¼Ïb\92ÈÎ3.µ\85ÄfìÓæxW\17\1c:vKÝ?è\18\ 3³ãÙX@d\fñÔ8Y(\k\1d>\9dj#0Ðãw\9cÖqï\96ÁgR\11\ fÑ\1cjþà\85`*\16T~\b»%\8f*\0\e\eØ×|\êÃn¨É±&z|ë=b\8d¶³fñ'U+Ò¦fu\9eÕ>Ä\9bVq5\98\92\9b¸,ìF\12Ê~åÌÕ\94y\ 2] ~Ûz\ 3Dtéð\93ú\ 6Ó\ 2U\99\97\1f\1d¡\9e¾ÂÇ{G\892¨6:\99S\1d \ 3iùú7/A\1eq\ 1Ïoqö5\90cðå\7f\864J­\80QBM¯\16Ç\ 5\1ah\ 2Q\bMÏýpÞKípbøÿ\8fÇ®¶k°&#pWh\135G_  e¸\881\ 5µâ£±Î\82/C!~ø\95½\rc\ 2îGs\17«,["î\ fs\17ÜrãÈl÷\80vR\ 2\8d\b\7ñ\8fêË;\ 1\940\90\8b\17\97,[bÑ¡¯\87\16è±r%Û¾æ.\80±aJ\ 4Ä<&ñ\19)\12ÅÊ\85\80ð·Ä ë\13\8cfüJß\9e°7´\9a\83\18þ¢T#øy©bH\80®\19ÀØvR¬\97\ 5¾e\8d¬Ü,\ 5\a\r\15 Ý\85\14\86"ÅõR:á&·\8f\90}IH9>M\87nsÚB`\8cq*\9f\85FÖ³\7f\16¸?·¿\8b\\1fs¿\8b\\1a[øµÁõ[òÒDþ¦=ñêY¼õ¨\15£V>-\10;2ÅÊC©\88\98NX\9a\896\13À\ 1X@TÌ\1a\9c#\8d8íK8\99.«®p¦\82\81[;RËaK±5\12l)÷½\80Â\93\86Â\93&\9c9,à*Ô\r¥æ¡Ñé\14\9fiá­¾ÚP\eÁi\ 3o\95\17\ e\84¡F\10âÈ\8e!ü8\ 2W\8eS6%ÉÈį\1cd\1eF\ 1]\165\8b\17Ý`\15Ñg\16 -&\ 1Z\87\96¨
+2ÜÝT¥þ?\0¶[\14ͯ\82\88½MÂ\9cBaÃ\94\18\ 5j_hµ\ 5Æ\8e\8eÀ+¨¶¾üw¬<:Á·
+ؼñ¸qÛ+ú¶ðänHi>\1f\924CË\7f¯\7f[-ÄצI\96©U´\87\96ÝMü·\rT[Õ\ê+ \n\142H\14dbãcqêVÇv7\88ù¡»1Úª±Ý®|ë\ fO\81\86Ú\85\`\7fCANã÷-     »\90núìw}jì´¹z·á¥Ê<«Ú\97lv\177\81x§7\96ÎÎüS\8bÔ\1càÜ-²y\87\ 4\87É)\9c!­p\v\89\ 2-À-ô\b·\0½\ 2À¶\83i\93`X\18ñ»\ 606e\81\91RÚFÑ=1`dÒ¬\8e4\ fg\ 1[SR\17åm.ñm\12ïÄÎ\ 6²\12Å»?s\17·\16úík((MoÀ ú¬3üâàg*¨  Kqú\99Å\17+éö^¸Ãì\16q1\ eqÅ9Ì_\912\16{öîÑ«_N\1d` /\9fÀ\83\7f\9e\9e\8eÐüOâÏK\83Cô:Ì<\98\86öÇ`=@×\ 5#ÚÙT¹/9¢âÔ9ÌøúTüa@1¦\ 3«à·2ÿ\ 2¼¼@"ò3·×Õ\ e\8b5^\f>æú]\ 2\U\92\92\87(Yu\b`\98\1fà}N¼ÙÏáßK¯5&ýA*QÍ/BÇZÌ\99Jw_ü£ÊZ\ eT\9d\95õF\eR°ì\1a\81² \81\9d\8bß\ 4\18\1e\15\97©¤Úo\£dv\ e\v­,\94Ò    =b¶÷\ 4Û\8bð=J\9enÇË\8eVÃú}Îô\a\ eâÏ \17}Þ.\f\93%v>Æ\ 32O\19½Ìk\14çë\92@îÇ[{­§cÂvÆ\0\f¤ùÚL \1fÊ\17º¿8\1e\16E»¾.0Ü\9f\ 1ÿ\95°ù\8f¬b
+a^5À\ 6ÛÕmÊõ·Å\ 6ïúêܾ^ø1lxöåÝ\16-\93¤©Àg(ÚÃ\8cÀ_\15·¡\1d\16q X¶±8\13ê&\1aÕ¨ÌhG\1a\ 3w7°Ð\16Ô¶}~\ e\13?¿r<õ\v¥±Õ#º\ìÐÖÿê\18Ù×\81\90°ÒuT¹ÏXÙ%\9f½\9bA\ 6\98["\f~PLß±|=\11¥¡^ð\95\92%\ 5aÐ:§áz¡¿­C$²M\r\ 3Üzªé®d¸    §\1eåP\9a]ùlÁAÑi0Kd²QÆÁ<ì\1c\13²,¶<\9ax\1abáà¯\b\ 2t\95*s\89 9ZM\8d\17Ù\96qz$xkFz\1ceyc/¦\8c\9f[\99[ï÷È<\8e\rØ\1d\81áà4VÈ#ÁέÃôuIÑÒçfBå\83=â¼],%&j\94\b\8a\9b\9b\1e\17ø¸£\1diÚ®y\84!Ûæú\0Heu§ÙeXYf\9cü\9c¾Ø®Ú\9d[y{\91·\96\1fG!{Ðß&ϱ­\r³\0\ 4ó¹*n\91\v\9bc\\9b(G¥l<5ÉCõÔÒ\ 2º\96.Ð:ç2*j=À\9a\97ôa×\vußíÇ^\96®4|FÔ8o\06e¿Ï\16Å?£yV·^-\8f»RŶ7\10\92\1c^\9eò­\93>-ók+ʶEä"Åô÷\95l]qoqs\85\8bn^ \17\12×\92Ôãó\1fä-D^JN\9d\1f9=\a¨[i$û\9dN^&\9di`\99\12
+dÐY\ 2Á4$\14Ñ \9c\96   ± ¦Í\ 5\83,\14\9b\9a
\eù%\88j&p%\8f\91$K\ 3õ2\8a\17\94Ê}(n­c¢£]_,\1aÛ×9iÄ/í­Ä\v±&\13Å5\a­L²³\1aH;ÄcE¿&dðá¾\93Ø\9a*¿\96/\99\15bñôe\19ú\10tF\ epÜ2\93ô¸\8fÙ\88ô¡èb\83 KÏJ\ 1Àt\83wdN\0)?\9fûWàðYÁ\93×\1c\a\19·\1eV\99ÈV\85j8¾ÎuC\fR±µ\91\8b\91\9d¸ÆdÜ\85\85XWc\86/BX·A®ø±\7fD±h\ 5Áx±tå\8bx\e\ 5ÅÅü±bêËw\8aæ.H±`5@Ó\90°\9f>°Ò\9bЭVZ\96x½Çh¶0Ô\8bn\13Ûµ5\91cykΪqB\ 5É\1a\88áÛ3,Õ=*\93"\90/\81fàw\14|klÃa7¢\1c%\90\ e\9c;t\89\85)\ 5U('\91\82;'\1aÁ4ïã-ÿØ\86\80\9f\ 4\84v÷0s\12Ý96¦Ð©²3Ù»¨\öã\94@\8aS\83h\ 4-@§»h§\1cz\16aø÷ræ\1a²Ñê%±\13\ 3\94\98ùCõ2ªíyÕ\8eä\18ùñò¡#õ2êÄf=@»½F4v\a\99a\1eøLÿi\aõ4\8f\8f\95\129²øùh\\{«élÖ¾\97c¾£%B\8bÅ} ¶\87P\8e$ó¬ÃËFÙ%"ä\böc1µHöNÑÇ \f£}ùó\0Å\ 1\80\8e*îÁ\95\92ª\ fØbv{Å\17Öÿ\1f\13\9e÷l\19¢À8\9dCO\90q<X\8d>#´7_vV\95f«XS\7fRÐ׸ã\8b\9e­_\1f\1e_\8bcqAd9\ 3d\7fC\12§\ 1©h     ê\8c\95-2-KPøG\8fêY\9b\15´\7fR8¹ñæâ¸É>\ e\97d¼Oöðo\80ÉñïdøíÖ§7\¦\e\96W\8fR8F]*ÂaI2l1îÍ\97\8fl\1dG~¥¡µþ$(\99\8f \13Ë\f\bU6\18ÇzjÑÝ\90.'¥\rünoZñN¤BæÔ\18íî\96~Pû\1fr|í!G¿}Ú\a¥Ñþ\12`«¸!\88îÖ\1a\ 5ë\85¾\1dû\13k\8a:×^|+Ó66³·2]\84i-ææKÝÄ\92ÖØè¥\97×µÕÝÄó\97ki:\89b}'Dpc\82)\8d|þ®òVbrúh¦ÀI©jb&(Ù\1dªÚ§\8bô¢\e\ 5\9aÊ\86\bÏ\a,ñ6Ý\9e\ 1|\ 1\88:\82y9¸'_V©\8deÔ <4\84\9e7\ e\9aÖ\ 4Ô[ \1c^\ 4§ùy kÿÛÍ\ 3°ØØ\e\9a\rsÀÿ&M\828\93p\83\1d\ 2
+\r      ÉG\7fd½?Ìáûh\ e¨¯GØï'\9daoH\95áN1´\ 3j\9dsDÕbâ\18\14\96ô\19¯°ÕôÄô
+b
\95ó\99\8dÎKäKõ\7f¶^û\93/a\16_\94ý²ú\ f~_ÉdÆös\10Ù1¿«1ñ²cxF×\8fò\9a\fý\94Ïk0¯\81¥ös
\1a\98\84^Ålô\13\1fîð=~jcæð=\7fó\8d;_ù\86\9d>Î^\11ì\9döòß1ì\9dó\17\1fì\1atô%îOdîÛÿ\a²v\1e.?Ê\1atÿ­-ÿSÙ;奿â{'~\8c¯ë=\93³v´jx\12È\7f\0-d;¸\8dÛ_8±ûG\83¾\138<©näg;Æ\1eG\8d\ e·\82\9fü%\83\17ï\98\8c_Ì3½gFS\8fü\8dÛ\8f\90§\93ä1¨ÿ\84°\97â±\998§ïÿtOô\7f³?â\9fÈ\18»E6«¥   ¡ñ\1a\r>)\9e§þ\93\12Ïý\197ð±±8§ñ\97\97¹3×~K\1aOäg\9fË¢°c\98}\14\8aé|<\80\r\15~ÖJÒC7\ fËKâ\8d!\9f\1cÏ\9eøú¯ÈÿV¯ÿcyoäx:?Æ4\ 2ÿ't\ e áµ×¨&^\e\96tõÞYnñ\96î½rûÂõÌ  B#\16äÏ|\12õÀ|T\8d$×.k2½si\ 5Ë£¥×\8b\ 3 V\91'ÿ$\r\ 1\14\ 6|\ 6Uzé[ÊõÒ×eë¥Éó\98$¾f9ré©Õ˦Î\ºp<\9c\8eizëñ ïòË×`      7 \92\16ê\0õ¿ß\13    ð#×.àß\97\e±ç\ 1¼\93Ôjö\8f>××a\98¥õ;\ eù|BúóSËuü\ 3"ìâËØD\97Ër¥ìbKÔòéw\92\91¥ì¢KÚò¥ìâKç¹Rö\91%ê!\10»\8c4i{X\92õ;Ï\9e\9aj4½´I{NT¾:$½EËÓ*(Òù8\92öü¬>tI}Û\95/\94\89/eÊÒ|©¤kâ\17ë^\9b\v\1a_-\13\ fÌr¶?\97\89/½ò²>í\12^¡Õ\vl.´\9fw\89/\9fP¿¯î¥ó\91\e+R\84ã×\16_;\12\9fþe.¥÷\88\92õ\fß=õÔ¾ó\12_|\89¡ð\1c\v­\ 6îùUaÛÊûymß]öVÝMf3·K3\1a^Â$½¯*^Æ$½Uã\94Ôi{(\92ö\¬¿g\12\0Ï7E\1a^Ò$¾K\95/k\12_)\13rø²öÑ%ò¼©|tI|·*_\1f\12\ fï\rælà8;^7DÏ\9bþFï8\8eïµ`7V*å\9aÊ«)î^4½\8c,³Z_ßàcKã¡e\9aÒÿ\ 2ë\ f²\85æ\8bkK÷Ø8Òöp¨\13\87\87ù\88Òö\90·\83Z_Øa#KÚÝKõ7RöЩÃZ_#C\1a_?\vTpò<Òø§ªÞÃß3úµ\9eH<Y{\e¦?\9d0Þ4½\92Æ\80\ 6±;EÝKÙ§\1di\7f\99v\8d/i
+´5¥óó\91¥íaPæ´¿Gu/m      \8eßÃÈùØÒøèT      ­/çï\11¥ñð½4=i~âê_!
+\845¥ù\eÌi|\94*@áìßu/:\17\9bµ°¹Wuü\12ùHVlÖ\97ôWRùX^oV´¿Å½Æ\97ÌÂó|µ¥ê\14@\Y}Þ\15\985¥ô\17ØÒûÄ*ÄÖ\97én¥÷\92\85Ó\97\16^Ê~4¾ù
+´5¥ùKôi}ô£R©Æ¤ÿ\ 1\1a_z\84Y}ÐöÏå£Kð\868ñø²ôî°ø\82úß\1f\bÒðj\bÚ/~_;Ëÿ¤­Ýð¸?³\ 1ö\ fo+ö&\8a\97S\8a\88Ö\8a\88ÕõºN\ 4æû*\96;µÏW\7f$uf\ e\86-\8aøµoöx.s¡ó3\16\ fzï·k¦Ýº°üqs>/ß5èýKÇ¡áÈUx}˽\967ÚÌVE¥ÿ÷¥úþ\7f\f\aùÿß?ûæÿP\94Ñ\0ûo\ 3aà[ø\14\1e\ eSÁ}àêü\14ü\16þ\12\1e\16\7fÂïü-Ç\84ÛQG¨Ìê;mFÀ   á\94QN\81礴\1a\95ö\97W¥OJߺCºÏ÷]ÿu¸î\9bwt}Þg»í»½\87woÝÐw\99Nñ÷y«ï\13ï\eé\90ÓgôÝþ\9bq¦m§£Óætý¶\9fa§·ÓÐw¹Nõ÷{«ïSï[÷ÈwÙþû¿ï·\1dónþ\8f¿Ì÷ÿè26|\84/é1\8a\8b\84ÿ7Éß[\7f\8bíó\94ÚgÜÏ{\92öp\9dÎ\ f\bÕÍ+eÖóí£#}ú.\a\9cÏõ\93\e>ûq\80èq\9fK\11ÍÙößsøõU\9a\8bо\98¶¿Á.&\1e\17o\972\O.Ãõ%ÄàÓÿ÷\9c\1dùæKýÛ1ý)q7&K\89¹øÒâv\86K\99ÚFK\9dª\8e\v\ f\13\9bË\98\9e\bòíy)q3%\ 4ÕFÇe×' 1\1fjeÓÂ
+.êgÌd£Ý\9bJe¹Rµ½j\9eF\ 1¸\82Ñ\1d!ù5`\1dÃ^\8d\92ܤ|ºvÊ\9ddõ|á\92Ì`\87ñ\84?·;Þö\11.        =\85\8d»¢ø
+D{%I7øË\85\90L¯§´^¯¤ï\98\95eÔ&ÊäÔ[xfT\1fQ-¸,r1Æ7 *\10góx\15GgJ\85ÒU-TÇÛ2\90cf\0¸ç±/\9aî!«6Øk%\ f¿{\92wÿÚ\8fÿ§ÿ»Ý/¿r\8f\14\8fr¢ ì\eÿgü\vÓM\16\7fäÿ{ÎãÎÿIÅ\13ÓÁ&Ç|l\12lwÆ/ýG\8b\1fÅR\8fþ\95\1f\1fú\8e%þ*\8d~-±¿Þ¢_¡ó÷V\ f5R¸þÁ\89ý\7fÒÈPaV\ 5\83Õ¿\90^ÿöK\19©ü³Uù2,,\1fú»9½þ\86ÿïUwy<wIâ{\1aNËîýF®w\13\8b­í'#X?öä÷þN'õ%\8døÍåì<$âsø%\92í¦.M\ 6¯úN#\1esûÒÉsÓ\9fó°Þ¥\83ð_U\89ÏÃÌrRÉ`¶\80\0Í#\16Ào7ñX?\1f \ 3nk/íù)õ0~2yxÏÆmT²\é´\a<oß\1c¯?ÔòðÖg7\82\9eïÊ\8aûã\ê~­GOR(\99Å\1f_¨Vú\98¯í&~\8cÙ]öùº8\0\1d\8bÅê\92±qÖ]¡\96\815np×\0|\15ç\8a³\1d.Áv\94ý³WN\91âxm4;op£º\8bE\ 4Ágòö>\96\88[zJ\14[\93+ÐÃÖ\ 5\80êöó\9fl¦qm\1c)ÙÌ5¤\f(\9dV\1a\ 6ya;\18\ 3\8b.Q\aHF¨îÄ?\1e²ê
+~F\17¬oÕD\1d¥7,L;_\92O\7f8\ f±¥\88.·]£Ö\81\89Ì\1e\97\99åV\14\1e\ 3çûG­\ 3\13¦\ 3".²rÙ*\96\ f\81ëE ¡+J¥\8bÛ/\13¿\aSúH\e¸À²tú¸\1aÜÎ\8e~t~ìÀ\8fÍ;f%\1d\8a\8f\1f%ü:,® !$2:¿x?\94^Ö_v~`}KÓÅ\9f\9a)\1aZe\0\97\91\98Hë   ñÿ\ 68\9f\8c¯HOÇ?â\ 1¼h{\ 4ü}\r!?\19nÉ>\94¦\1e³? ù\7fv0\97î¥ógÆ\82ºDMÜN\92o\88S\ 2óNf
+^5ÕËóUó¦J¹T«*^rjæ7PS}1ËÌ\99ç\13±Q±~\17Í\90¼\83\12õ?m.©\9dNyÉî¥K\8b\1d(gê¢<ÂCë\84\8còÓ*Z¼\1fT\ 5K _Â;¨&¢Ì<ÝéS\9c
+\ 6ðLÜð\8eÑ\14ø!     \14       ííYz[\81n1&õ½[#\10Ô§\18íñ\92\99)\96­ìÇÄ}üQ'\90À];\a\10N˸\9f\ e\12ý\91[\93\ 1?]¡\7f@\99E×èçû\83&m\ 2\98}\ e\8aÖ\87É¥°\1cñNÁ g)\0ÏÚÒz×\13k]w¥\90®\8e$\93p$ \bf²Ì\14\ 3Àæ\rô\97\12OJ¯\9c?Êè\8co\99nõÅ!yÙ`óå\0QÆRÈ\ 4\9a;ê96ÊJG\a\8a\9cR:u1\ 2k\97]>RºédȤÚ\8aÿ\88\82^,ûa4hË=\7fÜ\1f\ 2Dz\17À\85¾ûÚ4\9d\9fï¾ÌÌ\92HI2\10\90a\10\b\ 4\e\10\ 4\81"¹&\ 3~É2/Р\11`\84\8aúç\85EK\1cÁ\85F\91d\17&a\95o\92Ô]}i­VÄjÚ è\15\b\98\b5Emð\94[n\fE\v\1e\16EI\9f~ýûÿÿï¾Ì\92\ 2 +V¶ù»ïs\9e¾ß>æô·}¾æûyÍç7ww\9cÞ\8eîòô÷\9bü\ 2Þ\96ó\9eèïSyÍîowzûÏww{;ïànÓÃÝ­¶Ûl\8dÅÏ\*K¹Ö§%Üäa\0i\82¤Ã\80\9e*Ð'åzè2\89±ó\14Þ\99\95X\12×ï\87~'\9d\ 2b-\8aä¯Äq/÷ãLf\9a±´\11\826\87dMÙ6Hº\96þü¶XάV\15\9eò9*ßÄ\8d³\16ï}C\90®\0?\fðÝ\1d¸N\8dM, \80èZ\ 5\9cÜ\19\14à­=÷Då\89¼Ðym \82Õ7¡Ý´ÑóBBÈÛç\rH\86Psùæ\96YÙ´\85af}ä\83sIHÔ\0\18\91\96ä\8eý\1a\v\1dxBä'LòG\12X\8e\81ËoA+^\90ê9)éH\f(
+\95µ\9a\99£¡ãÀxÀ\12¡-EUö\80\8a
+Ò¶¹hÿÅ\12\18ô²\13\ e\83"6\ e\97i*C²È\e\92N"bp¯\9b\9d-Ñ~l©\125Øh©\<ÓI¨'EéQ*\13ìcp7BË[énÏ8\8a·\85Hcb\1e\ 5\11\91&Ü0ß\91*Z\ 6\8f\PïZu èO\ 6&H;©8°Ò\ eØfÝD`öAº\9e.ót§\ fú¶\aÝ$\9bô[òÞ\1fNWA·z±\89»\ 3ù\7fÉ(©6Â\19öE\1d¯\89\8b\aÒ\eÔï°%\81-\88\95\eñnÀaå5\94       Ò~àe\\90ë\91-ÿNO\95å<\11Ã\19æ\aç"CæÃÛ¢n\ 1b\7f?à=I¦x7\ 1
+Ý?\ 2Ų<ïEW\966T\0éýêÄ\82\16\0x²H¡OÈ}¨Âϧ7\ 1pR\19áÊ8\8e.\ 1\8ecõs\7fPß± ú\ 5,û#é|1\96Qm/¿¤\93>\8e+ɦü\0ÿ:\83=\13\b\1e\0é´>}5?¤DÚ'\9b,        Ø\97ëé\17ë´_MÊp#    \98NEçl$Fȶq\83ó\83úË,/ HÑ1²\88,B=Þ»CÊß\86$\10÷\84C&I^\10É\90\11ÔÈ:Wõ2Ó~¾Ùtj_Ïù~.Ù]ÓN\1eÙ_¿®\rç«ó@Ñ·ô£\85\eÐíZWäÀ{`ÈÑ!\12¡Û´Ñ\98{A¾SC\12Ã\ 6Ü2ÈaGA\9aA{Oo)\9bp3üÖIû/\90\8bÀø3Ä\ 3HÆIW\13{Ø»ú>µ\ 3\12\1e\aF:\13Û¨½|1\910áÕ÷Á\ f#$s{÷$ÖÝ\8c\ f\81ìÄØÊ[¶
+r\aà\190pRäÏ
++cO\9eVSÐú\92k=S\10iuuè\1c¢aËv\92ÕÒ
+í´ý=òû\r\ eÙ\1d±ùn\88ê41ß&ÿ\16;l        ?qk+ñs\ 5+\eêñrȬv\94Á¨/Þ\14õõ\10±}\83X´Çß8,\90\fbøõA³£ÒÈÝ!·\86\v³¾)Y[W7(\89¾\ 2ö>\14ýë\8aìò\rív7+yR#¹\84\9aøC©¶\95÷âðÞ\ 3IX\85\85\aJ\ 4ýÔÚN\1eùõ¼¶\88¡æ\ eÚR0ó\14Î\8bJ*Ý\fÒZ'[ç¬ñ\82éÝöàväö'\91Y$µ¿\96\1c6ô6\8eïÃu½q4\95\13Zøþ|\rö\ 3¨¥cä\ 2&\17gøYQ=¯\8f\ eµ\1c\847Yëo \fn¿L'­|áîÁÅ\ eѧ]õ¸\0£E¢\e-W\81ì{\ 1Ï\f\ 4¤Õj\a\94\8eÆÎ\89ë)¦µò!È\19¥&ÝÃ\r}%\r\9d^ÛwV;J$ð³Sv)øÓ\1d²\99ÏJûKµÎ\ 2\16¤\ry½Ëz\ e­\ay\11\1fsçù»\97\ fú\9f\95ü6\12\80'ÎK³1[ÖüøÓ=z¦\ 4G\98\98\91NXíÓÅ{\ eÄ|*óÂG\82\8e\ 3uâëV\aâ´n\87Jc?\15u4¤\a\ 5\ e$\94w\18h®p\ fß\8emÃüÿ\ 1Ã÷7M,¸å±ÎÈØå\95æ9ûQ\84ò\17q[÷{CcGÝÄÙH !¯ß¦\82­\88\83H?A~NËä\1d¼q`\8040\7f¸ZûÜ)\90;ÐȪX¹\ 4|üë#.ò\v\19\18
+x«x¹ø\1c \9a\8eÎO\8bg°È\1eÔÉã\89´\1fÚ¯ ð\98Kæã\ 3,üRÜÝÄÜ\9bp$(hÆ\9e\aØ\9b\ 6|a\1aä\r.¨·2"\12\11\11\7f±Þ&ûWéÌ\bï\9e\aH*h\97Oð6[Á?/l     \9a\99x¿\\0\98wüÂ8«WRí­]H\ 6EnE@\95ÖÍ    ÀºëAö:[3Ö\93ô\10\84_§X\8cß)ü¸B0aI³6\98\9e\9a&¼ôÑ5çü\9b\rÝÜÿN%ÏôýÛ\9fµ\89sÄÒÙ¢oß\98ùÐvÇÚe#`ü\9eÃ\97-z¯b\92'ZÇâ&úØ]ÂcצùM®Å±+*\80V\9b\89Âñ¾ænDÑë©\19\ 6ÅÇYùÒ`¼\83_I\1f\17\8aÂÑX\0OWÖá\ 5¬½èÓ\89ÍôÃÚõ.Þ8µXðó.\11ej\96\1d)~´Çèô÷ú;×ã\98\1d\ 4\8f\84_£´º>Õèðð\87\8f\bó\99S\92#k\86\9aNrà89\14Dù¿Û\89\83Û¿K|¯\18\98\8a\eúxÓåè\90      \ 3\ 2éÕ\11ò×6tØiG\1e¹m°vÍ'»\0\9f\94­EM*í?5É\1ee\92\97{\ 1>?a8Å+\98÷RÕ×2N\9aW\´u \18T4\13m,åñ|\·     N\94¾`àë¥\ 4ó³\9c¯dð¦Þ\ 4·\9e¥¤e>u­-<\ eâl\13\ eøþ¢EL\v\0öjý(Ù]_\1cß5DZ\80ñû6ß©\96\15¶<d°aH\93˳5ÔÑ\eÊ\98Ïò  0ö!wæìåÞ\1f\81ùõ.=î\ 6Ø\v\ 1\17R\8dþã%ÞÚÍ\fa\89pöÔ8ö\8aJ¦§ï³»ëåi¤\ 2\r\95.u\8dßòü\0ÔÍ\91\87¿\9fÆ73\8dY¿v±;¥Çà4\0ûk¤6Ó\9b£\õ\86TN*G±{I7öâua\96\07\v\80¶ø\ 6êU#\80\12:L>a\vò;\ e¦¢ðçNÃn§!#õ\82\8f?\8c \10rå|Ý\92ýb¡\97_9\eÍ«4(\9dÚüZÄêùíÍÖ\13«\1e\98M\Þ´zÂC±ÍÃÒí\9e\ 2^ ëÀ¯¤Ô±îô\ 6ø\r±7ÛÝßKn$\9dß\119_^+\1fð¬b\7f÷\1e\ 3~qM\8eø£Àn
+p\9fýG\80ܽ%bs?ÿÕé+óØü^\92½JÆ\Wß,eÅ}á\8c¸¯ø\93°úÏéNÃòjÒF¬©+¦µ$UÏU
+óµ\ 5~|i¡ZzfĬ\8cZôÄT$Kú\ eÖ\aÐð£ÆþXÕÈïÊ\r\133ÖoÉea\9d½\9c"Äu5þj\18$s\9c!Ô×ã\ e\98¿ô§Hg¢-\ 6\98ÆYV\86ÌÐé³}ÑË\1a\106\7f¾\98Þÿó}ïM#;T0s2¤\95ºÐ¡Sýù£\19n¯Le~­á\92§ÞãÞWíù±¦«\89è\9fOw£\93üñÃ\8bÂ\9a-ù3RÀ-o­Ý¯\1f\17ë=î&U¿Ù\ 6ó½õ\aü0z;ß]¿ÃA:ûØ\15\7fþ=rÿ²{_\ e\8e\8cå\8de\8bË\1d5\8f\f¶Fâo7P4ôyZ\89ícD#¾ÒGÕòu8\84´¬üN\8f0Ós¹æyØÔ¦9D.\14ÑÇ·ë׫¦Üâ¹ïn\b/{ª^\1d\ 3mxGw#Á:NXá­Éïÿ\9fXÚS+z¯ü_ã-\93:®OþT\rÏ\81>±¶\89ÿÃØ\16\19æ\1d×\87ýñ½\81aÒÚ\r8_N\8aÍ8\7f\87ì\vûRÄ®?À\96ýJä=Tñ\8eï\8ey\ f|¡èëgÊ\bç[?î·Ë¾¸Ú+Ó\9b÷ÆG(Ì\7fDæö\1e\f·^\13   ¹\16¶f³\92¼\9e\1dõEÛ3ò@\83Ñü j&êõ®\81\18V>Ù\89\ 5\93Ö­<·DT\90³å}\85\ 6`<BêÐ3à\97\ 1ú\vIeÙ\8e_ÏÆ\99\e=4ÔpØÓ8´å3ã\93Lè£`ö ¼;Ö\fãØ%\1e7ÏD[èn\ 5´\9biq¨D(\ 2\10E\fÁñ\fë\ 4\98\ 6\e\1eûXy\2Ñàökë\1d\10þÎm}GT«\14\ eÑ\ f\95¿pdRfF¤Ó\92áw}ÂF\ç
+vþK^\ fr4\ 3®\8e¾\ 3¾ \w.â¯YLüOþí7òýÖ0ïGµ\ e8\90Ç\99ÁQ³¶'#}q\91á\aË¿àòJ½`ã\14     ¯v{\v?«É\1fGååð19\12 \13\e\1d\14\9be\9a\ 1é\11¶Øl¯h\1f.oi|\ f\98¬õ1i1þ\8aÏS\f\eÖO<©ÑÒä\89\1dÏãÀµ~ÌOV¤î\8ft\18°Ù4=¬æó\9aåå\vÈüèH5\81ÔßÊ_f\9dá§H\ 6¨EU!Ȥ\b\19ýÌbÍé\92W\17ÃÚ\91Ké$\1dkÃÀ¨$\9e1-À4\9fi¥,\ 3¡Æ-4Ã\0uOÏm§¡\98\94L\82L3ñ!\9auAçÊhg{øÓ\7fY\e\8f\80\ f\90Õü·`åÅ\ 3+ë¸×\r]_X:¾©õÈ_]r­ØAoC°ê1¶Þv?lÒËÆMû.ÁÍvA\16ep"êþÝ\87\96Þ\87oWè[H\9aÜáã¤X\ 1JÕc\19\83Ò\ 2ë·äC\0Ïä·øPEN?\eºL~Å¥\95\9d3ö]x\1cX\8a\ eh¨%¤ÝÉ\891è1SèâN9ÐA«6î°-ØlÛÐí:\89km =Óu0Ýn\84(t²$7ã\92\7fÎɲ\83^$-¤\85sd\1du`­¡&ú _:h\93çMJ\96\1fd\aå\10$ºüY$\11RO¯ÊÍW\16Ñî\1f*EQ´rÁ\bZèß1Sk\8fXe\98y~\ 6$\b\83"PÞ\15^\vÛ$jMÔ\ 1ü\96\b%\186> *ù)¶Æ4\ 6Å­Öß\85²\9d\83\81\14\91d=\ 3\91Gu£MfOÙ\ f\16\19É貨 \b^@j{ìVøE\9aλqÈï\98Y\1dÓ|Y\1díáZ\89ko®dS\8c\1e\9ea\12K\13¯0Î\9dà-&a>Úç\ 2m¡Çb\96(\1a=~\86¤4§Y\v¸"}Ôý\84ëé\8aø\89×ÐÍø ÄëÝ¿\ 6Áñ\88\941:÷\f¤íð\93¯u\15\86,\89׸\8fr¸ÇÛ\8e\13\95¤ëàÏ7\89<(Åó:\8cJÅ.\95»¬#\9c3âw¯Ó\98\95B\9ak7ÔÏ·CÞÙ$îpV1°%Qé\fLI³³^ÓID\8aËÞä'W&EFqcé_ÊS\95\ 2ê©GÝÅ\97\ 3Ó\97Òªù±N¨¾¤º£#9JûÆ9,\8dÓ§â,»gì\f@7ñaf¹@{T|\8cHYªP·\0l#ÆÄª\93Ù\99±BÓc\897ÇsùÉ\ 1`¨Ðõc<\80\89
+xm}'\í+í}nB\8f\92u$æ\1d\98B\98\ekªý[n]¦³jßíN½¦¨`ß\13jöÎ\ 6å\83\vV\e\16ï$fÞ¸¨dÂ;&\0MI*\\11Ñ.\a\99D\14·È\r½à*m<\ 59\8f@\9c\7f½åX\11T\81¯°\9c7\7f\1f\9a\ e\114·Ñn(ãû~±±m3\15\80(ÖÐ"\ 4\1d\9e\8cq\98\ 2\8cßÀÀ\14I\13Ú\1d \9c¶æXõ\17笤\14Ùíã\8b÷®7Â\97nòz\ 5·\98g\99g\ 2\95÷\9b@Á×F\f\v\ 1ÜàU9®¹ÇE]îêZ³ïÀµd(\bÓ uQ\9a\9dô' I¤ÁLpd5Qª}³#ö\ e\8c}T\82\9f\90rÎ]X\18\9b\8c\16(ÛG¼gV\ f\1dõ÷\bë\b\ 5µÕ\83ß? \f\83\9f¦mjë\1a¦AáÝDIfÚ³Ç\ 6AHÁ\19n\1d\16ðQFÑã<\11a^\12í6(¯þdæ\93 \ 6HS½:\ 3\17ù\ 4\88_¶-+÷\ 2?/\178h«¿È\11Ò\9dnG_È\r\ 50{ÓÀÐ\9b¼ä[´²\rã6Ã-ºmÆ\16\10ÿ(Å'\98ÎÔ,=&Û\919E\97ý\13C^Ú¿¤åSé!áS°É£\ 5\18È-Ñ\8f·iÓ³\ 3\13\as`ß\8esaÑJ©ÿ\96·i¢\ eUWöi±¹\7f\fn¡;\r\ 6\ 2\v|,l\16ød<\0~X¡{bJöS\9dÏ1(\17\96\1dKîyOÿ'\ 5¿*ÍÈIEíèm¯\90Ee\18@\15j\9e)eõ%xj<qÑ    â¾
+R\9a()_aÁJU\90l1»'Üb\ar\8d@Á¥|¨«Ëð\1a\8fÂÔ\9fWB\9aB\8c\8b¤  ¨ÓVuáÍ\ fG¶@ÄAPû\ 4\15Iµ®¸\95i^\bÆýuij®¦ºâþ뢮¸\98uÎW\LºÊW\`]|\9aë\8c\e¬uuÄÐ\1da\80#öWñ]ÿ²ÂsëéÓ>\81\ f²)F½K]·?Lÿ\11éM)Ì;"§À%vûiõ>\16\ 2ݺëÃá\86Sàä>\18\ 5>\14\81ðS\97Æ#ÅÂ\ 2¹à§Ã²Â\ f¾^\10¼Sõ10\92÷¹± Yû1s\b\1aÀ-QêèXe5\8bH\80í\9dÝMðöÎö\8f{ÇeÂMÌÁT§}6$@zÓYr\ f¾DÄ\9dWåá\97xQ\ 4᩹cq\95\12\89\eÜ[\999d\9c\bØÎ\8c\1eø»þ\85\12\ 2%û{\ fÜ"¦¿\v¤\89ã)\9e\ 6mwè´\9cZ    æ\8f\1c½2\a<E\ 23G\95\89\9c\89jnÕ3Ͻ\8f\99í0è,P\ f\ 1\8d\ f\8b\vo\96\7fg\ fþ¼X\13¶MÆ\87 ¶\r\12zæS\1d:\98¦}iDõ\93p&Öµ8ÕN\ 12kÓ)ÇrÙ;\0\9e
+1Xsu¾ì\173L¥¨(ñÄt\13uØT\12ÇïÓ®ÈÈá\152ØLþ|:C1\1f\7f\ 6FQùE]\90\9a\18\11\9f    ¡ \1a0*\1cbnbz8\15\94Ä´\8b±ó-±\99WÎ&£\87ª\86\89ì²5ûgq´Mrè¢ê=åúê\0\99\9d|\10! [K¥.(       £\1a\95Ô\11\82\936gØ©\8aªû%HÆÿ\83,\88-Ã}gò^rærô\87\87W\9er&`òÏëÇ.\1dXH»Óë\87\87WàÂ\8f\ e®Øx\e$\88\1eâ_©\85\ 4\8c=\82«H\1f\92º\ ffrdOg±Â\99"ö;\9d¶Î,ýv@\8cp»ChO\9b\96\a³\fÿ*Ê\v&"®\1fáMvS?£D½\90\88ü²ÁðcA¼\81ôxPÝà\ e\9d)\10\9dE\14á²\ fd\9b\8bÃfìËÖç@ï&ø\\93æo9'þ)¢ä\9e\a'¶~IûY¯s\92|S1
\85\ 4¯\ 3MPO¦¯\fü\97µe¦©(ºjîÇM]h\92\92®\8cÄ\9b¼\vi}+ôÀýÌ|p\95Ïö°\9b¼H      t÷§\9a#à;À­+N\98\94\92\8eá\83Äå\ 1Áz\ f\13\92ñ\13f\9f40\9euha=dkÕ/g\9c¼kænÀÄ\r\99±\fè®\81t\8chs\93SJ \1f0¼](Å\1f2\10.#<\15(\98\82\9eØ\10¥\9e\90"y®A¿$óêgL\84]+Öä\7f|0«º\ 59\97ù/ÜJÝ7D\1e\1d(4\95À¸Ï\0õ6\ 1õV DqGé"îÚ\v\10Ú\84\f\97ç\16Éx¼öx\92ð\9d \92þÅ#Øà>²\8d\ 5+o9Ó§!íO\89Ñ\83\9dpÖ^AL*ï&\ f©±û\88û¥2V\87ÆÏΦÿ"\ 1ö?Jÿ<\88\9fÞ\94n¦øäHÖ25îfê\17X/\8cº\v\ 16ò0 v\9dÄ\16a\ó\ 1èÔ\90pò^È\r­ýåûâ-5m\94ô
+\ 6\17\9bIFÞm%\9cÁ\96ÒY¼\1aÛIeð|-¤¶KôÝ\86Ý\1a\0®\83¦ó§r\ 4\ 2\15\13>¿u«9PÂÉ·\1e¢\1dS-K\18]Ø@÷\85ê$ê£\14ûv£ö\94.\9c¶0\9f\ fØ$\12-Tr\9fm\b\14a#?\1f\ 4·N^»\ 5ùúrýü\9be{\93}N\b²n8²m\84)!DZâKôJ}®·Áö\90,ªa\vÕ\1fµð²©\84-Îø2o\1e¾Mü\8f\7f&âO\83býÃ\83|=±÷ÃØ\9f|1$dáÒ\10Å\9eâo\93öG|\901BÄ\b\9bR\14ËDaT\8eK2,´F\15(ý±Å\96\88¡\1f³2ËDab·Ä\85ØÍBÝÛ\8f\127s.\ 1)\ 3-éÊ\80£YsÏ\8bDÂ65X\ 5/{}è``\87µê¦Tû\ 1\8cÑÁ\13ðøDÛçâ°>÷\12\eÂ\85;1Bóï)@\9d\en`¥)\ e
+P\94ÿîáÓ>×ÁKÒ\87A\89i^$\8b\90\ 6\9e\v\ 4H\87ßÇ.\1cÎAêlÄÐ\98z°Rk\8c\ 3\14\1e$3ÏZ\ 6|¶æÃ¤\99Sÿ\81\ 5±gZ\1eR%8pÒÃ\81b\8b­û\97\16\14r\80Âî\vD\8el(äáKïI".\14Äõ1.¹¨X]ð÷Û;\93\ 3ÍãyG\86\ 3Çk\ 2OäRá\13[\17ÂÂ\ 3ïµ\ eý\80¸p¯(æÔýa\9eQâ ³\b\8cÊ BN²       <\15\9f\19»ÎGÞé­SC\7fà \9e\1c¾ÆecK§\99XÒéæbJ¯}ìÏõû\81úI\9fÕî\aÿ*\1f\9füÒ¬>ã\0¼«\ f\8e\98ý2¬>\eú¥XqL>×\95aþ÷ý¥X\7f:côʰäßtÿç*Ãó3\1fì\95aÙÌ!þáü×\13¨\8fÿ\10þk­=\1f¬\92×\91ö(\92FXßà   /ûU^Ý÷\8e\1eQþeã\89º\88_X\ fÉÕÿÌD
+\16ûe\vé\ 3\7fA}ãê´bhpêXg¶ÐºÃXúè]J¶>\94Ö>¾\17\8f4k\1f[\v,V=T¤*I\80\9c \83\fü\81;1×R7V\8d,­2!\ 6nÐÂïÑ\ 2d¥æ_Ô\ 6I      Ù\9f\85ÓÀã\90BêÑà$\99Õ¾Ã*¿Ã©E¥\96Õë\89j|\84í^C!AÔµÅÎÝY¼Sï[rʯÑ{M7N¯\89i\852\99«\94\a'-ÍD±ÔO@y&\1e\13(Ïn{\8d]&;$ÛmZFc\95=\fné/\1e\12¹üb\17ʵÏþ|\1eoþ_\b\86\ 2\7f\ 6\86\ 1\19\82\1fNqO}A¸ÉÆ!~\9f\91BýVCíûî+\8a÷©ðøÊ\96k¼÷µGè\rs\17G\14ù\9eú\84¬ü¢Ãê\7fÃsûqh+×\10µÙÖ\1fH¿nU\8böÝ\09¥~uNíÞ8\8dAÏùåPx£ê>ªAw\1f\14Æ8øÞÍp\1fLV\b\ 1°T\ 1\ 5¦\1c²\18O÷¡]Y9çL¬\98×®«0ê\8c¬\88È)ÀÄ\11J\9cé\95·û%?û¥?ñ\8as\f\93bF\95[8§þ}Oø\1fpðP\1f¤\1e£\0"\11¹ÑQ\11ÐCBÄ\90ø×ª\7fÀô+»u?þ06ÙV$ih»¥?þ\9b\10~\18(!ì©ÿ\ 2®c\a\v\1f¨;;Y\86jdú\9fûU?û\85?þ²\9fùØÄ\10\ 2¼\1eíTÿú\8a\7fÀÝ\7fþ\9a\9fÿÀa\83\aÄ\98B1~\80\15\9dJ\9fÿË\1cCëÇò\8c!\15 !\14¼h\16\98R\9b\fÑ©\99çJ4kù»`L¼(\rê\ 6¨\99Î\iAóP5N[Az\80ÅæÅPáè\rH\94>&\15Z\94\80´B2+%Ia\9bÚk\18ñ.[º[ËåMV¼\93\8c¥\ f\ eñnj|\8aº\8bPi~\1dÒUe+8"\8c­Ji»±Ã\ 3\89p\9e\8djnU®\83=\QE¿Zé½ÍÛÛ\7fçÍ{Û¯\87\9a9!`\87¥QO\1d\0Ñý<õ)ßÉ\r+\1dP\8a©<ä\87Y5
+Ò)Ôú[Î\9a\8f£¹%5ó>½\1f)rCJÌ\9b¿»X¿vªì2T¡\19*y¿\952¶B\9d:ñ4ÏNjWéóæ\b­3Ó=×$*þý\18Ô\90\84>¼¡¨ä·\92Sg³üZ©\96\97Þ\88ßz\ 3|j\17X\8añËÔg÷,¨\e¶¬@&eP     <òôt\e÷u£\13\vãÿn\17\9eý¸^\7föá~Oý¸_,½ ­ú\85hóO²ãÿÌÁÑqÃN­p +<hÝxãS^×\89±©á(¸ã\ e)/ú61ÿV\13\9eÿ~\13\9fÿN\13jj[ñò¨S
\17Ì\1a\90áç¤\84\ 2³Ó\19·¦¼«ºyQÖfî\8e u\86á\16z:\ 6ôJÓ9>ï\8b\1d     ¨îs44Õ'\9dþkůô^<¨ìûñÞ?áÄ|§ô^<\9fòÞ<ÚµV#è\95­\18ÏN=^9Þ\ fÔ0ý9©\ 56Nª\1eiwU\vÓ*@òì8§,oÈD5\8eóKyóF\85å\99ïl+o\9dÇ]\96ã[#PzMSYß4­ÿ^ihÝ\98ÃO×8ÅyÛ²Ý+\8d¼Ãç1¯~ÚYfé'\12W\vñq·eº· ½\ fEÆT\7f4³ßRk|\91¥VsÛóØÛ²Í»hfè.®\7fãnå3ù\93`3Ûæ\r\87ã\8d\7fá\r\9cg·Í\1aÿôM-kÆ
+Á>µ¿ÈÅ]Ð\80¼öóÊxqؾ%¼ò½]g\16Þym?íqmç\96*áqmç\93'¦±\9cKyäÆê\9e-¼òÀßcÅ·\9e\eê\95æ?Ã\1aÖ}\ fÀ6\87Ù\1aZ÷Ã\9b\r£y-Wëo\85ûÇ\1aV'=¾¤ú_¼·\9fKõ·\96ù\85e·4\8dW\9c².\bÜwCÒ6ÔùYo¡Þ¾ïû/[¹ú(sL
+\18§ysýîç¹¾ô\ e0Խ滵íöý¼wF\823e*ûr¨hÆ\1e57\9bÊTQæó\14\9cÖGð3áÃ\95eM-\9a´^Xoø¿¥\8d,\1e´\88ÝõÿY\83\váÕaèÿ²\87\14÷óK    ²¿Ï\v?\98\13ñÞó&\96#~;ß\ 2hXçÇ{àÌ£À_8J<Wè,1¼*²Ì¼?å½ø%\89o\845\85\8dÙ\92Îû·:?®ç*#õþ«\9c\8e~_Þ¹Ìs¢üC\9dqC\8as®hqNuÕ\ fpç]ø8\1f Ä³ Ä²ô\7f1«e¿Xu;ÿQÍ\85\a\12\10¾á§\82\9d,Jÿcx§1®Áv$¾S$Ü8aðÓ\8c²ÈÉ\1aÌÄü©Q\16\r\81®xà¯W¢¼MÙ¡<§\149õ,ü\9a\9c+ùEÍ\85¿\12¥\9f\14¥\9f\16¥\9f\18§,þHxųUê\85÷&ßå~\«\9cû\9fÈ\e|w¹oÄpmèÅ·ò\1c\e{\b¶ùÁãByx5\90þû¥Îv\8f\91àÛÙE·\9dnU?A\OÿèpD߯øëv\18Ñá,Üûïbfè\9bFü;8-á¸å4â\1a¿\9f\95¬Ìv=ç\8f¸õu\1e\b\18Vò8þ\97дÒõ½\9eNÇ3åNv\1e\87-8Àz×Ö\89$)Ï\eMìdز½9C\eÔÊNö&÷{\11õ½bhÿÙ\14KøhO\1fðÅ
+ÿ®Oó½Yõïb\95ix\11\9cÏ×Íoò}\9f³õ÷\17÷\7fw®V\85lþ§Öo\99é_7ì>\85£\9eçY#\93ÿü³-ÿª!±Í\14M<\vL\96¶Åå\8e\9eÆÆÆ\ 5\8d­\8eæÆ\10\96\99x\18zê]Ú}ÝP\98\85ø\16\99¸\16\99\98\18\868\18\86\1cÖ¢sP\96¡1-3Ð0ö½>¢ÇQ\ 3Qj&!\9e       \8a(\16\9a\1a]â}çù6\15Á\8cXl© êQa~\86,X_ÐMöy\94=\9d\13ÿ\ 3\97ÙôTû~÷¢ÚƤêø\85Ç;|âE\85ü>÷Óª\9b¾\7fu       ÛÆX³`µ\vT?Yø¥ß?¶\84íÿTÙϧ\8cø%\1c0\91
+Áà_îMûãEmÅ3Å\904ÄÇ!îÅmÂ\r\8a\ f       _NoßòP\9d½ê4ϵÔ϶4,\1d1ÇÀ\ 6_Ùäj\91o]®`Þ»×GçñÍ,¼j'¬\88ð¶·7Zà*¸FÚí\ eì\8e\1e4\92x²CO.!eLi9\98bTv(\10\8a¦\1a\83î`ÎF ¹]ÔÞ_âïf!v\87P\12\16e¼áí        ¹       b"\81\96iÔy,Cò\ 2Y/S\ 3#3Ô0\8arp¢ð\8dI\87мãÂ\ eÇm&õ£É\19Dáë\98y¤Y+ Xâa\10\83ßù7V\8f02\8b\9c\9bï\ 6\7fë9Re\9f)B}­\ 2\89X\12kÊÐçFúI«X¹Õ\981Ç»\91\8aüc×23(Í3+;ë\87ß³.\a\1f\16\9fÛ4¦\93Z\95\ eÁ6\8e.HØ_\ 5\84\17ò±\8bÃØ\17\84\8añ\b·¼Q'",­Ý³¯\92     \82%      ±÷ÙºW"}\91\92J\0\99¦<\81&àr~{\9b6hE*u\9fÐ}Ýñ'\94>Èo¯8)êî\81\11×bOò^\11á&DM2LúfqKI95\8a°Y*gø-X)¬Â\91m\94U'CuvZGb\8c\99®ZK~*¥¤\96J\8eXA\1f¬+'\fëè \ 1W^ÓÔfLTØõMK\13ÁI%hA\vç\8c¸ÓJ\b\13KX¥\8d¨       M.¸êóQ\8b\eZ@ÄìNÆì¤9ϵÜöÄ_\85¼öÅ6Öi´¦µ\88q/g¸Ìó<øw0»R>\90        NïP\ eD\17c\ eò\80\ 3b¢ç\9c\8foiç\85ä\ 2y¯òØúgÛ¤\9eú n¥³¦(\85÷\13t\ f\1c\v\16z\16\8c\12\16ì\9câf\91\8a$Hâ\9f[m\1dc     \96S,\8eéÊ\14\9a´E\80ýk\b;\ 1­ÚtøÀfÊöÜr\96\8e¨Ö\8fÈRaÆ3ªbb{òT\97ËB\7fÞ·i¢Î­@Ë>¼ò\ eX\912»m\84SZ­ú¦x(9        \ e§vÒËÌ;\ 5Ï\17+,\107:!\97^R®´`áï\9eÛÏùý\00]`yÎMî­\1e¸\91\9dxÊ@Ö\e@Fy[ZhwIPú®\9b     Zº\ 4\88*t\ 142$      Ó\be\f\10È L\98½\11\92\84\ 4¥ÁSñ\16Fú%öC\9cÛ;¸\96\áâÀ\ 5\ eлݽ yº8ó\11\8aü¹P°\95õ\1cà\16i`,8\11\ f\9c\14?Ç13\87}T\vHà~\8fc¦ \93Z:ãZ&Az_\8c\1d(N×ÀvÍLÒ¶\92SE\9f\94\ 1%z;SK¢f!ähÓ°HwG+¨Ò#f\b¤}Ìèì\17ðWåû     \7f)iqÏl´¸ç´<¸çðH£f\82õö\9fç\97Gó?¦]\1f\8bH½~\1dl\1eiÐêM!¹­s\9c
+ÛÏkâ2<¸ÛÂù\97\8dýS¼_\1ax\8fV\ 3¦ºûæ©\r\ 5\9a\ 3\97Wþ:*eùì>\8e\8b´Ý¥ÌV÷Z¦:9\/Uäí-ô\9b¯2w+]\ f[ÓÈóX\9e{ÿ½\8aäÏ\1eÃ[|*\98¿\87{\8d¾\15\87\ 3\ 1ø±\14º¸Æµ>\r\eNC\9cÁÆ¥\97\93Bã!'Äëwú\9b\v< ÐËþ÷O\0¸§É\7fòe\83\8fY÷é\83\15\87ø¦X=Ì\97ö̰gÎ}Ì\7fÁ2Á\84¥Â\ fêÎ\ 1¿~ý\f»ä\96ýñºßë\bÎÈÇ®\9eªKÞ\99\96íÿ    ¢\17\ 4îvv!A\87¹\b\8cp5Z"\1fÝ¡m]Ô\81\14#\13\8c;çù-\90õ\7f\e\8b¬è¦A\95S¤®=8}\93\9ap%ÿ\ 241ð£\9c¦°Jj\1dø\88ÎÞÀ\18l6U©¨f\86]+³¦@\97l*g\v¬\98      HÙK\8b+;L\8f.Ô!n\93%\82ì\14úØró¶Ø0êkÅ&ú8%1·íçS\ 5b¾Øç\f·;\16'\96e.µ\9fá\8f\18S\Ù©|¯qN¿\15X/\99j(Ñ÷\9a\9då\ fy@\9bâ;\bóÇá¬÷L×\89ÙVt  ¾ê\0ò=(:¦¹þ`#\81:=ø\156\ f/8Rµ\ 3üÄqJEâRá\86$;öaÕa\91\8fZP\0ÏÎ\8b¯Ì×Í&ÛªkWá\15Π    <õ\85"
+\9c-\8f´§i{y\9e©\18=×h\1a $VÁ\bJ  %¥~¸JWÁ\8b¹@KhßyP½K¨p÷dNØ\rÀç¹B\1fN\12¿ÛjxçlF\81±É\ 3;Îwêª\9d³¿L\10W\ e´¨\94\0Qu¡u¨Ã ¬òo´S¤a¾Y D¾tpÝQ6éã\9dϦû\98>\83³*è;\98#\87ç\14\99¡ó0¢R\99´\e\ e\r-vÂh0X\18o÷Û+\96ÁØ:ì3-éq#Äõ+°è;µ'Àbj\e\17X\80&\93\r·S\83\19\ 1\15\ 3xçr\14¯\92\8eN\81¼ \1fÜ=,èlçü+³ÃJ[\bõY²üS\7f_Ì^iUÃÐ\85\9f\13ÎäRÍ:\81\11ºP;*\18\9d_ÏÊ"\ 4ëÓ&"Ú¦\85wD©cPf\9aÕíËEüòo\80\92\12ò\93¦(\82}\84.XÇóÞÍ7ÛÛi²8\91ç ·ýS>§\9c\12oëñ\84¡Q4`Å9¥\13h\9eõ0Ѩ9æ¾ýM ô\11\ f¡æOÜѲ©3RÑ{\7fúg~VëâÎùOøç}â¥\96lñ¥}p\ 4\91~\19ãûËg\8f^i\88\7f8$×n¿\\ fUM@Ý­_©=¿\fûª\89\9bà\9f¼Âé¸\væÿ ]ÒâQD\80m~\81\9c?x³\86`s\86\8cÙÃi40ÜíOñg\ f·À\84ÌTl¢r¯èå\a´Ë×1\\9b\83©º1\¦\81g\81/Èh;Õß s\19V§ÏçS}\96\rÉÝ`M\18p\96ó\13 ¾\85\ 1µ\8bsïÊ\1f\8c\89F\91\1f3èY\1d?\89}"\14\17Øãâ©Ú÷ó\e\95xÛö\8a`¯:\16~åsZ\ 4Òª}=e@EñP°i¬3s\91\18§j±þÿÌÅbs¡\aGF¶'Í\9bÁ\9aÏï\14³qü\ 3à\87ɤµ\ 1\9b\0¥<\0Ùæ[\85\ ex\ 1\19\13Ô14kc&9ª\ 4 +Ù±:`6\fù\16Á\8aÐý;¸¬\98vÕBÇ\93$]èT¹|
+£HÁÕOò]Áü\15Qåo£b±ÎZz¬/\ e\92\9b9Lÿ\ 5\83\86>
+Ó0ÖçòWñ*ãØãýº\11)\82DÕûÑû+x/\ 4Øa×.1\80\9b:|\11\97\ 2ÍÎÆ¨Q¬º©£\92È\99¼\17\95\12©§¨qFj&2Ô¥Lj\10`ý!N
+éR7\83\14Åy³¢`³\r\90Ýã\91)\1f\ 4(\e\0ô\1d.É&ý\8dÓ\14&,ýå\14Æ6\16Á8ç\9f\92§ÓAÇ\95\ 3µ\9fËà\ 5B=³\12Ïx\1dMÛvÄ\9dw?\92Ü\f\8a\10\14%\8bæ\93\87ØØ­B\15¡\92P§©\9fIzÈ«~)\82¶b\97\ 6ý\12dr\12þb*§aã$¯\ e÷¯ù\90>\ 2©Á8;uðeg~\ewf§3ù2(    æ\7fÞEUT\9cvǨ\8a¡\15ñÆ%\8b±·©\84Cl\8eõ\"\efæ§*ÿ\80#IäZ
+SFÛ,\ f~¶i\ 5h2ú1O~Enò¾Anò¼?\10ýqÕA6ï{\95øÊ\7fXÃÛä\90ÀåÔýÏß.æº{³\80\13ܪp\ 2|k?\e\11\8b¢\97\8e\17üwzÿÛø,Â^ñNsøû§ÿóÜ\9e\8eï¹&\8dZªKçU¡Ù?yÊù>Ï\93©¸Êý#9þ½¯Ô\8dK\ 3F\85Ã*>'r¿7¼J\ 1˰\7fÅ¢þïN¸\1f?9ß%üÿñúuÁ;Ûÿß§_¥lY\7fZÛàôë\84Ë\ 2\f\1c\93ro߸ù/ý­"î/Ü¥î÷+\84LF©¹N©uMÿÆ\\8dë£Z\7f|Q¬ÏI6ßv/PÁPý{æÜ\ 1\e-6·w*æÂe\7f\90\9eý`\96\16\90< ËG~°\12\98È\11âÃk:¿\96\1d©.@äH\ 3Ë\7fË\1d8(\19\8d\fݨr\84Ðt[[º¡\19a\95ó9\9eX\92Xßjë\1eÖõ.E2\1f˶\90OÁ<a½È\13Ýe£\90c\9a?\9d\e8\8bÖWÍ\94sÌ   \19çÆ\12£   #\8f¨op\ 4ð5\ 1¥\7f"DÀb\98\ 5\ e\93\82/w\ 1Þðc£òFäÆ
+Bl,ù\97\81µ9OuI¡\9f¾\v\151\7fα©¶\ 3\ f+¸-\0mü6FhÈ4ùC\13áå¹Éÿ\82Û\b$þlÎk#\16áT\8cô\98\87b:\98óÍ\12¿\14\85»å\17¹\84\8dý\19þ<\82è\9bMp\9f!îph\ f\17ãä\f\8eÇ\82yJº1IH\80\9d*A"u¶!r1òÊ:°tK\88\8a\90Iþ@$Ðûu²Tè\9emu¤`âw}¯
+8\86½\13\9dþYÙîü§\ 6C\9fÝ\91Wåm\87O\84P]\8aéó\D¶ËOÃÓçt\82ú|¹cÆÓå\18iòÛ"ûª\8c(õ¸#Þ\ fä[B®å
+uò\ 5\ 2¨(yÞbM(e\10\9e#Dö¦)XýúæÈ;û\96Óé¿Ðá\ 1!$\84FØÞ\ f2q\ 6\10º\ eLÇìq·-B  SA¶Y\13ѽЪw²\1c\90K\89v×à%dÞ8|ê\80Ox\16l)aÚ\97\9d^Íߢ\vP]§\ 4¦ÐÒ\84Ð\8d³«{Bf\¤TZK\ f\11)ÔCnö\84ê$hö\r\91\ 3/\871=/\18\96·;âNXW\940\ 2\8d\96$ïk³\13ê|s7Ê \9að¡;Séá\91ëKT±Mþ·Ó\87.\1e£\80 ×w\ 1OÇOtáçI\rÃÌhLåt#×so@\e÷_\8dBbóÌ&y\11¶e\80µ\f6Ãpr\v\15Ö\80{å8±\90\95»ª]\83)´ú.\8a\9e\94\1d\8c[\87\9döaL\88\ 2f\8e\ 6\90b2ñ\rº÷µ\8d'gû99\99&\10\92s\10\84 \ 2\12\8e\v\ 4\12Ä\82Y\93"³       \98\1càs\0V)\14\ 1\95h*¡\98*\82\93¶H\93'\1e-·¶ÕíUë{­Vù×½»­º\r\0@\8a(\bP\1a\1dDhÛ¹\8e*ÄTd\11sïïÿ¾ç2d\90\ 1{ZÛwwmÞÛåóßßO}\8dó}}ßÁ\9dü=ßÀÝ ÷»[$\92É\1c\8c\1a6\eDõáÍ@#Ñ\95\91S\82\ 6BmX¼­YuHFä~=\9bt²4¸~\ f\ 3nB6        ô¸¿ø§ÏÊ\1a\\91à\ 1\98¤\8c¡\8eˬÏÄ\7f\98\10ÏÈ+\87>\8f°\9dw\9cÁþfy£­Æ8ÿ>¸ß5)\8fó\18Ih\rz\1e±\1a ý\929\10ºÍ\19\93%\92;\1f\19Qe\97Rpçû\1eâXt0\11\1dhíh¯iÔõ\ 1Ðr\b\91Æ\8f!Ñw\ 4LÂPS\9e§~ìg{¥\9b8\1e
+\1dë¼\82Î\82YÂÖ\12\9b\ 1\18\ 1\ e,Fྤ\ 2\bÁ\87¬\83Ez\82\9dÄÂ4\1a\93\87;\91\93\82ÁÏɤgói\91¡C¬Ã\93 \85¥v\8aÙ\19\14 =\v=\88\92dÏU"Ê\8a9¸³&\1a\ e\8b\964:TD2\12*\92j§pÒH\ 14z«±\a\f{T\99\ eÞ+d\9d$¦>Sbf7e$ò\ 2\89\10-\94Y{Åo¤9$\93\böBÔ\9e\1a=\v\ 6LMg®9\91\18Öh&2,#"\10&)Û\16né×gÌúW\95\94Qp
+j á:US·¶\83\84ÏÖPÆö%\bµtGÑÛî\13@H+uèc $z®Æt\8ePdT­Ô\8eË Vª·Q+>«\18\9a\9f4ÈÏíEèÿZ.Ò\19\8e$2*\81\96çXÊÐ\1a sá\1eæ W\98ãwß!\9aûê
+Ò®×µ\83\ 6ÝÅå\ f|f¾³\9bjÖá£dl~uÅ\99Ѽ(\r\86¢ás22ñÑh=\0\87|`\1f$r\ f\83;\1eH#2i\8fÆ8Î|\ 6¾\14\84ÎjqwÓ¦ebõúá1ê*Î\95âì\ 35̬æ\ 6\8b~\7fçFªY\8b©U3\ 6ÕÅ\98óa±ê\90¼¾\fã¦þF\95ÊÖ^Í"éè\9eÕ&Õ\aF\v<úJ§ë\830ï,ÿ\1f£þõÐf±øãCÝè5ó\10\874³û\91¤"c\9dØÅwÙGh6\ 2Ìȯ¿«Ìñ8¦j8\ 6?ò³øPh\11æ»\88½%\8e¢v\89f-â¨f¿RxÍ\7fc§};E\18P 3d\1c¨×¾vÔ\10w¡Ë\8f\1eGQP|ÕD«ÖF¿C\ 2=O^FF´¹\8dÙ\ 5\87ÿóM\9a¿VÂ\ 3=\8e:i Ô=¼\89Ðè,ô»¸à:\849¦à´Òá3]B/8ú"\10dó¢ó\95{\10³H\90\94\10¹\15
+ÉsdݦÆÍè\117(K\11¼nbòd\10¯\9cÊ\0²\ 6\88¢Äï«¶×Ó\1d;ÜÖ]\95ñgpnÔáSÿS \1c´ì»9\a6çkêë\98Ã;Béd?G&=q\9eíÐ\\838\90;\8bÊ~JRÒüþ<°\84ÀIp\ 1«\9eè\8e:\9cþÞ7¼°\94-c9rM»\12\ 4zITe¢ÃH\ fçtsÑ\13×\1cÏî8@4_.ù(Ü\ 39
+uxýA §êóDd\14\80k·wûbòwó\88Ï#ÐÜÍh2R\18Ñae¯\1e¹äA\89ÇæuDzê\0)©è\8d     #ýþ\94w}Áû»\ 3\99\1f\8d¾ì\9dÆXH§¿'hú        \9c=û­]\9e±âÌg\80Ödä\8c\931pÑüÉ»âøNE¦#J öäfa<Å\18;Âç\8f\8f#\8e·\83a\aù\ 4\1a\95ÑVuJjz¢ÒúÈ2Þ©\9c41"í1£¶Æ{\9bgY2»q|÷M]¸¦ú\8eÏê©e\92\17X§mÌ\1cG*\ 5Aï.¢\15V¤F~¥\9d³\89¨#}øñ\89ª®¢S¶ö'\10\14¢WNµlL \e÷f\8cKøv¹    \86\941³A\9b\8c3\93 gaË3ÛÕ\ 4Xg=¸-ø\ 34x\93Ù+ÈëµUÔG3?\r\10Â*þþN ¤¨;\9fË.\aÈ¢t½9(WTE£±>\82ùF|ê\ 4\ 2\9fú¨\1fî\ f\93\v%'ß+WÈÐ-* Z»\1cv6r<\v\93é\83\84y\86Xó(2Ì\82éúfk\93<\1a¦Á\ fÓ\10G\19\11\93ø\8eù\84\a(ó¼a\15ut\ 6\91,\\ 3?\ 1S)dFº\ 2gM>B\1d;¬G2{Crí\9e\1as°´  Ðm\17\8b\9a\82´×ÈÕ\8a\8fQêLÑ\9fÕ\8cõø¯^ÆÅ\81\rÅ\1dw\9a-ÐÔ\1f¢cv®\87ͤY=«H\98ñ.&\14¤3
+\1fF\8f«\9c(quöj\1a\ f\80×\ 6X#\9c\9aóÃ4é\19ù\92\9dK/È{¤\94èS9\1eu¥|ª{\148ëC¬2©¯¥\1eMüåEØ\8cÍÞ´¨\ 6ÇNáèw¸âYùv~Óÿ^^
+ñº\90µ*\89$\80FE\91\ 6{Êi\18iÁ&àc\83\81}rò\9cuèý\19\8e*\16\8dØö\9f¹Sësí.2\82¼ðk\16\19ªì\1d®ÿ\95SëV\16[IÉàÌ<Í\7f\18ý>c\ eØÁ\99\87é¢?ÜÅÃ*ÇFgUû É\ e½\ 3±9éî\9a\v§\8a¿ôã{_ó³@\81¢\14ÊÝÿ#FY>énc9V?[rG÷¿\ 1\14ÖPY`SÿE\14\91Ù^O\9fûD\10ø\19¶Ì\9dD³ý¥ç\87·vp¶ìÈgUpFÑ)òH\95\11ìmà³\9cJ$\aØzø³Ñ!\eõ\198@סë½T\84ß\98,ê.`³Öû\90\9fTFúQ+\87OG\13*_¥\98×CÆîHs\b\95úK\87\1aþ²{\98\91ßB\8fK*\8cÑ;>7Ú\ 4zQ\84Æ\940\9fRÆw
+Û|nt¡\98þ¯¡[zpª÷ÑA\93k(+ä\95OÐ3rs+G¿)fF»\8eÕ@\9c\94\füHæ¼6©\9c©N\e\8cúi`³§\1e\90ër\9b\ 2\11b\10<\az0\87k\r\8d HEÒP³\eø«ON\99\99«'låHiú\ eÒ\a%­²ºÀÆ\95\fÜÑwÙÓÎJ\84³$epU\99û¥ç\17¡\97\8eU?\89V\18\a±¿ÉÛASÙ\19\95\1eH\e´\8c\82´\81úf@ñÐ&©\109¾îÂ\97´Ñ\ 1òÆ\ 2{\936\r\10ýÌòÔ\88-9\90g5¶4M\ e\18\80ÙßmN\87r\ fy¶¹\19þjÓo\16½\1a+¼Î\9eÔ'­]OÃê*ÏH\99\9e!ãñ\ 6\16s\1cÏ\13ßAV8%?u·ßÙ¦\ fÑD¤-b²õ¢ù<ö\9cªÿk£ý\0Éâiî\ 6aâFóï\8cÎBÞ\98|þAÅNµf)aT˱«¡^?cLoù\99\9fà-\f\ 3ð×cÕRÌæÆ.õì{G\14JY\8c»Ø7Åê\96\99\93æ±\9f4Gðw˹o\15­\ f\ 1VÈþ¤\13³C\11iòÑç\f^r\8d¿]\ 67W°©\1cËÕ\10Æ\ 4©Ü\1e/\9dÖ4\8fn3\87\98\8f9k
+¢»Ôz¤¡\1dñKG§\15üæ\0Ê7\v|lë\7f®\b>\8aÎ\9atsÁ¡Y&ø \83Y¶}!iËhMÒfYÎá¿1\90
+KÔ¿\8c\96s¡,²ðPk\15Ôf±åô\83ÝÙ¸\99\9e\ 4ý$\1a\13É\17\84+k%¤Q\16ã±\97aÌëQP¯Á®#¿4b­ ã)60ré8µs\97\96@2\8f£ [·\9bà¿Ðw\ eÆüª\ f&麻4\9eÁO\84ïbãV\16üÖ,ôÊæ\8f\1e(05§d±ô\9c"Ñ­÷°2±C\rùùv\8f\81Û4ñ9»µZ6}\ 2ga¸\12à½åLäy9#ͳaù\7fèá\8fs\18w\fb¿Êrï\16a\88ñ\95{\ eC\86\8fHÚuäã\ eá¨#\ eÂ\9b\1c¯8î\18þ¼aÜ1Hn £Çªk\94¸Ãé-¨\9dUuÖc/\r\ f]\95Æ]\9f\ 5·\9f$\ 3/\85i$\ 6\8få^¤\98òèô's
+ Ñ÷÷\82\87\9c¬Ó\ 6PMê½j~C\94WEüeÆrΪ\9fø¹e××§9ÿYÈ5ÉËáàx÷\89\8e\8e\9ec:6ãc:\1e\9eùÇOýH¸èo\9f\89\0\16Í\9duÂz\8d!Kì8Î;\ 2Vî&\9ef\93\1d\ 1\9aDÞµy°|®=47&|H\90RÇs\86\81\92\85KMI\ eÿ9ç\11z1çÿË\7fG(ÿo-w\8bhÍ0s]N\1el\95N\1dhùç\1f1âè\7fm\ f|\\1a¼\11h\15]\16\1aþzª¿ó¯#ªò\9c\9eB\87ÉÀ\15Ê       ®\89\1d\aéb9ú¾ ³]íÉ9\99ÔßðF\9cú_ö\ eÔ´à\12¨úF\89oYmç\11²ù\95\7fÁAäÄØÊf\95O(R¢uJ¾è\95\14n\e\1e×?Bhg\10k¤Fr\99ñh
+VØÕ=\8dÖ\r\13\85\9cMFÇèøÞ?B\ f\y\fNÔëYJ¤)F\1c³+ØaÁñB9thðìÎðÇØ¢[²\9eö\1a\93\964%h3\13\94\vks5Ù\90ôÁ¬\9e1æP\94'3å`3³ö\82§oWçE¿\86k\ 6ʧ+\8bûPñWü5-%ügmí.\ 4\9a\16e íÚ\9e\1fßH\8ef\11Ð\9e\a\1d«~åºÒ\ e[s#\r©»\8c]ï¼\9aÆ\8e\ 2äJ\923¨À,ÿÙRÏ \99^ÿ\83MIL\ 3D\93ú\91!?÷Ô´-!HÂ\ 6X?tZ?ë\ 1ôa\91\eØ\865x\83\93\ 4q;"Õh>Ë+\8f\9f9\95Íê\8b\11#æø{\1c¯\12^Ç+ñK#Cp\ 3l
+'\ 6>1\8d\967_\1e»\10»î±\rLd\7f>\8b\8fçfW\ e\8c\8e½\ 6f>Ð\1f«¤}]\88\8cæ\f}\b·>}W¤zÄà\15²Ø6\15\9fj©ú¼)¹y¨oö
+vÇ4ÞþP Ï&nj\811E÷ÞÌ\97ùÏæ\8aé5\82\9es\v\ 6>s\ 1)ܺî]\82´K\98uÚ=D\94\eX.êQ\12¾2\9a\8dùå}@¢\rÿ¤\98\96iz;䢳ù¥\14\7fµ(\1e\95Ò¨L\94aG\92køÎÆjvuo\ 3\ZC\14qبje5s¡¨¢\11¥$5Å\9c\ 4\97­YvÓHÏE½8¹\9bò­´ÿñi-÷\vçi,Ç)üÚKòñÚK\ 1Ê\7f&)#\99»üÍ%Õò\1aK¡¾J?\ 6+ù%\1fÕû\92\80¼p§\94têHP
+ä      ¹³\ 2Ö1mP\9a\ f\99´X\9cH\99þ\95?\11þiØÍǪÓ6vº7¹Å\1dxÑêmJ-­N\ 1
+iÏõÚ]á\9f\8d\92Yú]\86\8a+ÿ8[áÂ\85\90q!ÐX73+«\13\ 6\8dÀe+Ä4\f\19ûdë(bð+\12\19©$úºr-ùMUp4ÖT¯Ô>\ 1\17ó\88Í6k?áÅÖJä\9b\84/8\r"x²{Û\17ä\7f0\11ä\1d\9dú\r\ 5Åq½)VÜp¼­\90j\89þ\1a¬é0êÇèݪÎX      B*j\92\16ßõ²En\0KÖÙë#{
+jòcÊNtæpe®Â þ2÷¾\ 4;I\0ªÚl׸\9c\8fÐR)«ÊѲ»Ì;\1aè÷ó±j{\1e5V~ó\ 6ÿÅPèfßrPÏ.bÊ÷ïÌ-KMHÍp¦kÞÒT\91©\9eØÛ)ª\9f\18\b7m>F\96f\97®­«Ú\8a^k Uj\12\91x\90MSp\ 5Ù\19FÞp\94#M^\bÄ\8a\rÈ¢wòe\88\91g\86\9a¡Áÿ\8d\ 1ÛvÎxc\9c\18Ρ¶}c\89Ð\875éÛFü¡ò¦\99£(©\95èñ\8aàbo<b¼¬LÏ\18¤q\ 5ÎÔVýSê¦\85\9cþݳTáÓ\9dM f">\f¿ª×\89óËË\9euKB´¥\9f\1eû\ 2\1dy\9cB0K\ 2\97ït\8bêÆå³Úzwm\0`¥r
+Mª\95Õ\14*^\84\8d)\99òO¤FÛ`ÅÆ¿DcM9'^{mßN÷\0¥¦¬½¾LÜ\1eèµÇ\88ÜBT¥(§ß þ\98\8eAñl\0~»+³\f¿\1av\r\9e\86ý)Ï
+ºü\90ºÖ\rËCJl\¤\94­\b\9a¼À7\10\16QÊ©¢«vSÑÿ\\83\90\8e\81\ 1á%\8bûônm´Ft"3©Fmå[ù\88!»!åþ;Ô!íÉÁ$G\ 1\954|Ø\93âIÏ1\88\1eí\99±¿ÌÍ\7f3MQ\88\fI×7\0ÒI\87\80ê ð\1dl\84\aS\9föÄ%µXªYü¸¾\89¢\ 3Ϭǩlh\8a·r°õ\8fc(gÀÑ©ªË$\ 1+Vpê\9f\ 1·¶ÖÓ\95\941·ë³\8bÈaOr\88y\183\99x1\95pr\ ef\8f»\83E)¨ÅE¯­±Ø`ö.\1e\9b\93I[kÔ¤0\ f²Õ#\99ä¤\ f{\1e\19w2DÀå\1cÍm\98¼\8a~$\18ý®\0Ï×Å\17\8düHùJ5\9fú\97\98\9a7Lsá+ÈüÔ\885\9cvýV6ÆOûZ8¸ôa÷eð\8cÞTÚ\13\97\8bJ Þñp\v\18æ·0\98å!§À^?PâÇ\9d¡U\8fR.NÅûØÜÊ\ f.\95Î5ÝkÑÝ~F» e\8d¶/ë'³Z=\ 3ÑïàÛmÆü«Ç«\13¬ý[\89?Y³e-¼ "Ð\8cªMÅ<Ä\ 5\15µÐÅò.LP\99ÃcôNÆ\v    é^\0\ 4\ 6Äô!èÒoN\ 6\19kÈów]\8eT\½U\0UÍôA\96dDö?ä°/4\9e\86\81vzº!@Â\7f¸ÒòD*î\837Í'¬+\85¿Û\18uªÉ\89Þ¤íäjH\vó¹\æ¢G§X\8cäsg¦@ؾîÀ[§¾>~h¦Z\ 6 \8cør\19\e\96óð\14ªáà \85\19õå0   \95)\80J\13\99É\ 6ÊéE-+\8f\12ADuô0ÍDu\11ö\92r-'\1a&i5\87\ 5ï"\15_\10òû\0Ñ\9e_¦#øT\1a\e=b°Ùíl\17#9¹[áHA\81\82õ#áâKb\f\9euêGó\9f\86W#S¯í'i\1eÛ\96\99Ñ)«\85@´½\89\92 â\97÷\1a?\14J\9fS\83;\17\1f\ e\95zº$7é\94Ù\1a®ÜÊ®\e\1eÁ\9d\vÔPi+M\18äWö/ù8¹"\8d1\9e\89U\99ÌX+\8c\14>¼~\16ö_L\96\99Òý\804\8c\1a=`Gåb Õu\ e\ 1\9c<!$¬zêITFûß\81äå¡O\9a\ 3w\ 3\bÛ$Ý\86µ$\87\84Ù?\85¨\1ezÔbVý\8a\851\ fÂý\9dà¦\1f\96qa\9e¡êýfhðÍû\17õ¥nÌQ\16'@äªu\92zo\8bå\963\9aîÂ\95¤÷
+cw×âÊÓ\9cÑc½Pk,\16\11¬ñ\À¢z{}\ 3ñ¤\83K,1\89\89\94}\17<\8a~L\ f,aÐÓ
+\f\7f´\8a÷È,?°}_  ÄWq ¾ÓÂq\1a|ÿ¸
+}¿0°|\17üÐiË\9c\16b\94¯\1c\90\95 =\ 6·,ÊôéÊÀ WSÐgrÌöôþ̼\13\89\v`N\0zá%Ï03AÈKÊ\99\1c´\17\90G%¡Þã¥]Á/*{C½¤\8f\88þ\16ê'í\13\rî\9b7\1c\ fÀFÐ(õ\95`W\ 5`ÕrÑgÇ\89D*§µQ¸G|\89`\8eÜÁ\1f\ 5o\95ÆìHÍé12vT\14´Ñ Y_é\96#RGÉJ4¨,À\9d(G¶²4x\ 2ÓÇ\9c\97N»Ì\eRíÙe\98â\r<\99NÅÆ\15½,s7×\1e\15>lý Ñ|¦É5Y\83¦\9d7SM\18Q\ºL\evýoú\9f\19I\9c¼ì­K@\90¸Ã¬¾($6Ñ\99\9fF\9e\1eÃpó\ 2/p\ 6¦\11¸\15l\b\85\1fIõÍÿûC7Ó_Ö\94Ä-i\eBrâö\13o\1f\90g\80\83çIûÈU\7f\1cYæ+h
+s}þê.ºf\b\8dÈî7ÈÓßX\ eN
+ð}\86Æ\875\rö\91]-üp²Ìè©l%9Y\9d\r\80¢3\16jÒj\9e5¥þ$àf\88<*ewyÙ\1c³\e5|\92\rOY \17m\89ëðÜò­wêÇÍ+#FÚ\ 6Ç=\9a7~ò\91\83\9e\8d\99q\88\17Ïö:R?Ô¹^ئ\81bË\\8f>Ãáï\ 4¡$\a±.gBRxï[\ fãÌ ^\96\ 6\84ú\12#|GÒ\0\96]\15qòñ­Ü\9b®\9d\1e¤:\9c\14Ú8½2é\ 3:\v&<À:´j\16"\98øG¼\8e\91ôW´Ñ­Q\82|±©.Ð\9e\f\9bôîÄì\a\±Ôð\10-aYË\8d\80»\94n     \85T¢:Y¥ct2\1a¢°³1°^Ökwó\994 â3ç½\r\17o\88\94\1a/¦Iø\94­\8e¹\9d:\10q!&\r\17sS·\1aDÄÁ«á\81\b\89\ 6\93´\0¡Ä\aúã\83¡\83OoX\92:\12L\14ºyÜùØlß\13£Rà¡\16T0|6?D'ûÅ;o´\91À\98kh ÐþsË¿ßÆ\15 \b4gb\87¼\8a;SÕÓôÈÌ7Ù:§8\91v\vAÄ¥\16tXrr½\96Ü\944\16.¶ÈX%rׯûj£\14;\97NA\1eU\91EßúºZд\1f\89ßü\ fú%\84jH32\9aZ'¥\88L¯o¥<Á¥\92î"¿,jAaרi\ 5\9bß鯠 oÁzõÏÍßÜÅ\a\ 4¾\ 5±\8djñ@\96$a\863\83\8dν¬F7ç\8e\87\0Ò\95hÏ,4\a±wgØ\ 2m\ 4iÈÜ,\ 3N\90=}DÍ\1aåYb* .ôëÜÀ#£\0\11æQû\12Ä9èÔ\96Àöòu{Å,ÿà\8cpOÀ5J\94˳_áq\10ñ\9d\85ÛJ\89}Æ`ãx\90\18ôX×    GÜ¥U\ 3\88׿ri\ f\84WVZéÉ_¨ß\83\19s\81>\98:+ޠѽÅCÀ:­W\ 1w*Æ4zfºZ#àG\9d1R\94Û\1d-]b0\aiÒB\ fÌhJ¶©Û\99·bº\12ru\84iS¬Ë9\1f vz¢nØ\19Ϧs`¹]m7$k`\1dâ\96\9e|ÌW\96D     Ìs\7fäGÙfκq#\rA0øp\ 5 U³\97Ý4jβs\80Ùò\8f\92Õ.Ò\99T\8e*\réù$R}w-Ï\86fYÃä`1¶&#{\94ªsJ\86#sJ\86#i\127ÐtR<\ 4cN\ 51\9f\90ÏA#ÔÛA\ eÕîÚ\ 5§r\86»\95\99̳@d\9fnÒOFí        =\e¶Òq£¦\8dtãUªÀR+qÕ\96\15\12z3^Þ\1f`5\a\1cÏ9;\15Óß­eí¤\fÑâõKO\19\ 6\7fqÐ5\10É8ÞÍ\ 6`þÛ ÖE»Â®9î\ 6'?Á8Ç\92ÛxfÞLo\r\9c\8f÷\9b¨òøÌ\91\8a;YìäjgÐÃ\v±²C\bÐ\1f5ÙÛp$§D\85\19Ág÷Ã3\13VcD$ZLË.o\18y§UQݺ©\12WÛ#ô\86lC/\80.#\96\84\ 2æL|wC\e½¼\9e Æöüntð\15\ eÖ
+E¤\93\99\8a1gûÎÂÔg²\9a\847Bd[¦ñÓ/wMÁ©\97*­ºáø\ 4\92\1a\87æ ô\93\12è\14\91\8d\11)ïQGàÜ/5ñTÈv6â\vÿR7ãi\99}Ê&¨:ó%׫V}¦WK\83<qùÚ[\ 1'Ô»:*\8b\ 28pzÌç,$ loüTM\9cJ+`µÛà»Ê$_5\e\85\9a]-hðì÷\8eæÂlÑ\17WúÐP}\9eñG£¨k\992\144Î}Ï
+\9a.C\15\8cV\81Ï\97«AJ\9aæ\8fFú¨°\91\83Ü\9cÒT§Å¦<åÌGÚgdzcAà\8aî#ì»°5jg\1e\ e<k\89B\82s¶¡n\82·\1e¦§Y'á)Z\9f\9eéç>\924ÁñómÈÏ`þà=7.Ëj(àRÖ\12S\1e\92\9d¾¬ø[\9b\92Yü¸Äo_ª\85\98\97\12\vçÈ\1aÝ\98ñQ#å­4gy#\8d,êµ\8eZ\13iì(\91òhÚÔ\10mtägm=;ÞpòÊÒ½óÕ¥j\vÉ\84S\9d\1cöD\11¹øcO\98\b4\b³\bÒF¶í¤\ 4â1×áo»#it[Ð\1f\16ÉNj\ 6Í\7fìó\8dãç¼\98¿\15÷ç\12m\ 1¨ª\8f¤\9eèú
+h\91ú\9aY\1fá´:KT«\1eüGØÈ½!\ 1jaxfÑ\8eXU\17«Á¡Ïx\9c\90slçí`Ú\83\99\8e®½ïy¤RËb\99\97\9f_\11õ<oÀ(ßô\ e\1a7y1ÆBãÕã\e½\94ïMàÖÑê¶D\82ߪM®ÿg\16\0\eJ\19Ó'[ªIXý\8d¹ñ3d\ f¿gÄuÂÏ\97>
+>5\97rÑØâ¨@?×Í\92SjõDA¸¢¸\13+\94\ f©b\99\9d\1e\15m,T(º-ÁÏ\\Cp1Än'û\88Å\9fÊPZ7§\b%ÑûU\97\1cQô"\19Rí°\9b\89þ¿´u[mîÊÉ\ 6S\82Q±©ª\ 3,THó\8b'º*ãg´\ 6V\17[éôS_¦³Â*OD2R¾éU\15\12@"Åiê\8a¥C²°\88þTl£\e1@;\93í\1d÷Å£Ò (l\aZ·à*M,WUÚ{Y\15Ü\108\e{±r\ 1Os\a½yDÁ.q
+
+ £½G¬\8bã#q¼3,23\8e\ 1\9ddÿ+D¥\97ø\96\97\13\r$\86Fµ"ö©ÂO·á¸F¼\89@"üX%\9a0Æ-\8d¤\811H\ e(\1fô\ 1¥ÿ\13øÚèá\9cë \92ö\12;ãô\11¿CG\bc2ïæ'\16\ 3Te Ù\17úÃ\9aQ\18ôG\b5|\ 1EÉ-B\87Ì8\8cA(R½\85¯\12-¢¬|2*Рû"\1d5+ÞäOÊ\91\8aG\1f(\8a{qq(QÄæG\12±\1cK\94ÏÄ\12×Âçõ.6êeSÆ^Ê\1a\7f¨iuîñ;\91­?m\1aØ\ fÄç8Éßi5O´öí?;96ªHX£àƾHÁ¬tÆ
+4T\14ÎÃ\13ÆB½¶µ\1anƶË[H®6å\8di`\94³ùÎÃ\97\1e\17§b¡'C\1epó*ñ]Ýû¸\1a\15¿`«\99Ó\97\9bÎ#r\7fsj®y \ao\19ò\rÔþ¼Y\95Wq\89ëNPpÅÛ?´\97ÏT\ 3ìRhõÂF{\a¿µ;Ø\bÒþ'\14ú-6ñº\16ào\15æVg¦=\83Z|p\80Û¹»7Â\12\96¿E\14õÓ\9f1f\13\ 6tq'è\19ìbf
+\1e7`\87±ösß$\e\87¯sMªAÒµV\0gMI+
+Æ^tö\81b{9\ eý³Ø
\0ö>Þ\90ª2z²¹ó<!\8a\rJ\9a¹Ñ¤Ç\90o\98\1aOh\9dór$)þ©ôïmØe\bÞ\87iL7\9c\80Ò¥\83û}\1d\1cÃA\ fnä:<×fxu|ÊG3v\ 4ɯL¢ØßN%\95gKL$O\8f\8cc\10\19\83É\9a\10)Ñ{F¿×èðS4·\8c*\9c29í\9c¹r¿Æ$|$¯\1f\8e{)¦ñB'<ѯ_ÿ×\12ÙË\1eÀÿïf\13ûn¿\88\8f\1fÿ£9/ÿà\12\ 3ÿÈXV\ e-NæaÅ©ÜÌ8µ;\9fä\15\17ò1Z,áp\8e\82C\84\ea#ó®\r\ 5Âë\12\bn.\7fa¾¾¢Í±áòãL+õ\ 3\84Ö\19kJª\a²\12\1a{¥ÚÈ÷
+Àõ3ø\13jò¾iô¸f±DÜ\8dÔ\11QÅ4lßî=\ûV \99ìP\ 3\99Ê\82F\aãlû1NÈ\e@\15|l4ä\8eóâF\rñ[\83;ìú\ 5õ#¦\88R|g\1d\1a\86\e\92 é¤{ÓÚsÝ\8ah6¿±í1^F+íÓ^\bõw\9a×£¾3g]î¹<ó7{cß½ÙÀ\Û\9e\8c÷?_\1f«â\99´\8fö\b¶÷º\85£Û\15\80Gòj\19\f°C^\88iìN`\90?7PÆù        ¶\ 2ýà\8fO¿\98fw|\17\1cÌîÿ%á?\86 q\864J\98n\9e\1a¾uÆ\e"é¾ß\8cfw2Á\14·\8e)4wØ"\96Ø\90ÏDã\ f\91¡ùð¾\1f\8b\8d\b¡äy'\18/³w\86\ 1ÿ¸-'ÄϸÄ\9b¯ÄèïVÏï¼Hþf\8bÄO¸Ädpn1\e{Ó4tþô-³5\ 3\95å\16{Èüg\1f\9d}\e\8c\1eG\ 2ã\aãLÃ\r\9bìNwÛ^j\1e?\8c#ßü\87\8a¯\9fþ\97\8eYhøï¡ã\7fr8\}C/ÿÓTÉ\7fÿ·Qÿûh»\8d\8f·õMí
+/é¶C.qa\8fà^}\9cÏ_\99Ñ/å\Àï1¶8L\82¿ì\9e­ò¼d®|\1f\19/\96Ã\1fÅ÷[ß_§ñ\92ÿöFËóÉ8Ö"Ó\81íù_æ}§\7f\19\1fi߯Kÿg\1aKõ³HWüò_¿\vÈÆ¥*ü\ e\81#ÚR}\ 2_>!W\82bbç\8c\85£÷óXbãC\8etßà\93\8ad~þ`ºÎ\95\f\aL\8fßóÕ\ 2~çÃ\18<\fêwð$G\f³7Öìõ`7\1e"N&\1f\8d®=\ eÿÄ\99\9f\9e©\9eË\9b°\ 2Zän´Ý\86£Ã\1d\aeNG¬EZ\9cú}`~»\ e·C\90\8d\ 3©#Ä?8IÊïl\ 6\9fU\80]ÿ{\80­\94È>½ãª\93ª\1f\b\ e \93~\9aÓUÌÓ;q\9cÒÿðolãPp`²5\1a~°à\88À5\1f÷Õ7ã¯z+©l×¼\13ö[\80\8c1u \9019ër%]kØLª³\ 3ö¥ \ 2JQÕø~\104
+\1eÂì|X\13A_`ÜU\80×¼n«\1dÇçhÑÎ\9e\a´®o\9dcλ\8bLÒAVXDÑ^B²=q.\12¾þ©F\ f\vÎwv1\7f1\8dmµúG,@¡\96yáý\ 2 ¿é©\86\16Àç*\16\7féF¸)QU5Y\9aµ5yZ¥5}\ 3Ôõ¯öݤó.E\ 1Uêï\93\8a¼\1a®Â®6\19MY\1aD{u÷Ã*æk\15N`¸\e\ 6«­«\8d\ 5V\13SW\99ª8BV¦ª½$\94Õ9J$\ 5?\ f¢\ 5i!MÆ\95:Lä\17\1fpH9Yey\9aÈsEæ;º÷\eRJ?Á¬Á¾rÁÁ0VzMevÕ¸¿¾MZ\89's5{r\ 3üf¬áø)8½æÂ\ 3\88ª\19\9büü\12_5wÍY°ðo\e/c}Îð¼\eÆËâóµ(çP\e½\83Ççu(çQ\e\9d\94ãó\96G9á¹Êñ\96¾X+\91\8a\9aµÏÞ@¶\83\86¿=yk\95êP\17õX<¼pØ´   n$ýâpÞn®        Ü9\97{\ 1\97/\1fÛéÝÀf¶qý¿i\82³ÛÆ\9f\89\ 1=¤Hùw²\8cãNH8ÐzmÅç¬u\15i6ã_\ 3ý·n5iD\a+dÿ\8b\8dIÄÀÖ\96Y¼°\97WB\15\ e\97ò8ÌÏ\ 5±}\7f\8b\903Á [8¬¡\8bOY\85\8b~¬ÃEu\12\ä§1,§\13*($H)\81Ü8\ 2xnàXÕ_ãz&çü\82Ï\eá©»"79÷FªG® O\ 3fíÿr@*nEÁ\80Õ·W\1fLîðÑÿM\9b\8b\8e\ 2\8a±Ù<U\8fªìi\81U\9c¢K³ôéWc\86°5òó\eáE      \ 6½¬ Uó4_\9e|´ N\r\19Ôð~)\8b\88füö\16\8f¡µ\1eÅ\16\12\ 1Æ¡á¾\8aõÙÍ̦F®ä,d\ 4ôÖcã\95~+"·ÒU\82\bê8*±\0±\ 3\84\a¬\1c\91\1a\17v¹Ý\8dbT ×\ 3+¥`\83Woºß}ä\8f,ø+Ðc\1aðö\8aè|Þ¸ÝEþ7 0Eÿï$Bü\11\f׿\19iKoÅ.\11\1a@&?Ò\95>¼}#µãÔ\99@\83W\83Úhe\9e\9cg`eË\r\9f¨\rC\ 5Â%\95Y\rôgq°B·{¬>2PuÒ0YS;\9e<'k?ö£R\1d §2©4i@Z\85£å]\8aàáÍùYCRdáa\8c\9f\1a\1d¸8tª\1a\9d¡\89\ 1\8d\88 ë\9c<DRÏDA}\8fãGoÿ\16ªxPÝ®§\97p)\15pô<.º\ 5«\9a#1ë±
+Îh\8d+Q_:ôp\ 1­>gi\87\e\9f\8a\81l»Ô­Pj\80U5T\ fl®¨Ôî\7f¬±       $h\89\96Êê}NägGb\96cD£\8cäÒ\16\ 2'\0BcÜ}ã\84¸êw\1eùQÆÝ)f,Z\e+©Õ,Áü»ì®§\94³\8a\§g7­]\95Õú7Z\13¸\16ÀÞü~jÌÑÎÃcÌ\91\92åα\81±ä'Cû\95\14Ê\19æ«\91\9bÞºÖ\rÿ\9c\1dº¬®\98®t%à5\12\f63Îòf\80o\9czó'k\a\rÔ\94\9eª\a·¢cQ\èÕ4\16\83\     ÷µ5{¢5±9\9aév^Õ\95\8c\11\1cí\19\ 2Ʊí
+\96\80àCÁ¸Õé\8b      ý6\82©î§\97®Y\8e\85Ú©ím\92\87¡Ö\ 6fx\14\92Ã\f³J+a§3ò\ 5ù\16cÏ­µí\rÍÍ»­ªìÞ\1d\85¼\92Ï\87        \9fb>é(Ô³\ 4Z\0\89\b\96\9fP©f0\9bê\19\92p\8fWXÖ;¿©ipVË\ 5øg¢\ 4\9e\19\ 5\9dÃ`\ 5o@~9\9d\15Ôcà\f>ìæª¹Û|\12å\91ú\9bF!\90\e«ý}B\ e6×Ñ]
+PÖyÞ]\9a<@\fÈÌÒ¡£¼:w\ e$øâ§bû6ò6\18ú\8d<ÉÁ\ eÒʼ'7\fC}£¢\95´C\0NÊÖÙI¿©gÍ&Z\99éRÌ\1fS\14¤\8f1¶ñw°1¶ç6Bxýù\ 4oâ¥-:\82Ç\ 6~3\82\10á[aÞ\95:\86\r¨5\8c\93ª>üC\17\ e\8eú³ÕñwÅ\12[Ð5[RMå\85£]m\a\11Wk\v\1c¦­×4nú$xXq¥j¾üïh\1axý¢Ì4Âfq   ¹ôí\e¿\84ß>]wÑ\8cï\ 2Ñ\18ØÀ\81!\8f%Rvó\87gëåcÙòÓ\15\8b¤+\1f§ß\12±¥¾V9t+\19Î*Í\9a¬NëS@³\ e\90ÊDZï\9bW\9d_}ò+À®@q\ 6JÃâs5X}\87\aV\ 4\99\ 3Of\83´
+ì»Ö\9er\80«\1e\1e\ 2"N¹##b\ 3òê­a\ 5\87ß\9b¨\9a¨ÛzhSThSó\14\18P\ 3#\9a@\rÙ¤º>5`TI{5\90nß5'ªâ\1d¿\890@\fÔeB<-±mª\16º
+AÊ\12øóä¤ÝÍ8TQt\18\81Ð\ f7\19=âN&\8c@-t\14à\15®+\7f×Ðb\87@(\80¾\1fyz½\8d\f\14\17¸\80j$\80\1c
+@ v\hiygÙ\97\91\9f\9e\14wÆî´¿Dï&Ã@ã<\99§«\16\9cÏÄH2s\7f  ×ê\1c\8d+Ó3+C\f\81C\ 1\9cÃÉ\1fßZQ\1e\99Ù\ 4\ 3pQ÷\895¡»R\9fßêR>JDÿ¹ ²0\ 53Dk'½^ÄÐ\13§nFí\12kPû=7\9a\81ýéï"¡Ò\1d#w6\12©#%`9\ eâ\ 2\88O\15ò\9a\8f»ò¾S©û³\1f)\85â»\88é.]\888\8b\0pZ3¥+ÎÕÚÃÇ4îû_ºww\87t\eíÙ\ f±;¾N\ fâ\97.Êê\99NåÁ\ 5`¼ØÀï\8b¬\12\9d¾\1f\868ø5;\81\9dÞ6WTªYá\v\95\84RÎÜ¢rÂ\9a\8a£\r\17!eu\87RÓ׺:åýУÚðM
+?«Ãm©¿å
+=\17¼\0ÍI\8c\90=*1\ 4·\99°\96\rj\13:ô©AÛâñ
+\93¢E³\f_Lê\14j\9a®õ\a&\óf¥
+jýØ\89\9a*\98\87\ 52÷aD\1d4þÀ\ 6»ôÅd·\88Î\½4T\\15\19`å|6sé
+0a£;4U\17ö£\ 1U3¸¤\1cQ\91â@ä@½5»oÅ\82\9e¾ ¡ÍÌ[\ 1Å+&h\1c\8dÊ\91\8c÷B¨:Tdzpú_Ï\14\ 16\92Q\8e  å=e1\14¼bv\90é\eî\btj,FÅ5KÕ%\12
+F\8e\1a"~á¸ÖÙÚ¤­Z¡\1a\86"\19&ÞU\18\98O\ eîô\9dh;´\9cL\82!\10\805\ 3ÿ»ï5\ 3þ ¦\ 6Ú\84CÞø\eAåk\97|ë¼îÆ\8b\827¿\ 1ÍÇ·Ý$AqÑ \f)ô5á\ 3\8f\1e\ 5Ñ      yG´\1e\ 5\11ô\17«Æè@Å?Ý\ f4¬üàÓ_?ö%0Ú@-C\88ú\87R\12;4\83ü\rÝ9\14c¦ht}ÚEGWî\92\9b9\17'®â\11®& ½rÕ\8f\82\r\ 3*cê\vë{Ý\a¹Ð++_eu\8a\8d\95×(g\85\97Áê\rìãu\8b9øá쮹X¹¶`~{+\94ÔÔð¸M¯¡áÇËE¢\1fªx³ÄÈ\92¯Þ?ÆT\14HMC°ê_ܼ|EÇÜmñ\1dÏúGs£>\97Fþ¡º\83û]".\93àR-ß§ã¨?pð\11¹\1cËy¼É5Ü/\95\e¤:7\7fû\89^¢·Ø\1a       Þ¡ØñûÒE¤ûþú<0¨\8f\fÞ¡ûPÍ\87þf^\ 4zL÷Áü \rìý©rÅ\87\8aX
+\17'¿÷þUI×âfBJå\10\92ô\7foåð\bÉý¿×à\11'ã(iòtq+\9fAw\91\8cG÷¬\89   ,ë\8c\84HIî$í\89:óâ>é)"×Ãaw®Ç\92\bò=\8b
+óÈäg\82\ekÞë\1aNÏördä$\90\870\18\ 4"@\bà\ 2ÁH ®dÌK2N`s\13\81H\82\16Z\ e"\0\0\1cÈ\8a\0ÊL\8b38â­­m½»Û¶Ývõíò÷ŽoH\82Õ\0\10\80\80\0¨*¯Ph¯0Å\11G £V~þÿýû\99\99"
+½ëwmîîùçwÖß=ýß<ß7Ößk~\ 3o§¿\0·á\96ü\vÚ\ 1Ý­\92Id\91Æ\ eO|^F²LÙ\95wï¡\ e\1e\12\80nÕcvµfíhaøë1|/++^»ü\10&÷yÁç\8eÓÛtË|Ù\aÀ\85ûô\9b\16k¯º\ f\81\17ßËà\amÐöåþOÂð
+KkMÖ   3]§È\80á·³4\a\9dö\14áÜ[ïá@\fc>£;i»ô\89\fØÞ\10r¥«M³£èqó\9f\83\13 \eÊ ú\86¤æ\8b¹\89\9fÌì>\ 6ûø\f\82]aö\9b\14Uö:^1¹\12\83\8d_\f³]£X\7fr×eÚå~l?\9c\ 2\ 6?äûé]ä°N\81Ú_Pq±B@Â}\ f~4\ 6\98\ 3\ e¥d\92L÷8Óù¿Æ×Óª@ \90\ 3ö\1c\8fÜïð
\8dæV\1eÄY\8e²\18\1e¡¹VY\ eR\9aGôj[åÍû]IÊS·TÐ~ð\01îUÞ\11zH&w\1c\13úx\83y\\1f\rH³ø!\10\12£(E\8f\89\8bv\1fDí2\ f§§U(ùåwW\84ß$çËw\ 6ÔÕlÏ\1fä\94\ e\b¸Ò\80!\11¾\1fFZ\85\vÆnY\9dð?Ü\rýÁ¿     þshÜ{Û\ 3\9a{c\96\8a×1\9b\96ÿ+>GV\1aKá­yìÃÑ£\13¸Ìƹ­j\96\8b<=Ú&b{vTµA»\8d®;ä¥\1a\88Ñ\0ð3¬êÒmõ!RÎ[¶d4T\96h\9c\9e¥p\rMø«\13Mxk\99ð\95¬\ 3\ 3\93òQT¤Ö¬)·§Äì\17\9fé\fyÿ÷É\1cA\93r\14î\91¨/ø.u&YkGí'\14ü\0\99òqkhàE\86áõ³ü\r\9e:\84Ë×ÙR Á©\ 5 f²59RÍ÷ \ 6\ 4\9a9^%\9b»Ò\96µ\ 4ðL\9e\12\12¬v·Á©CG\9c%ñÏ\85Ýs\8b|\ 2\83Ý\11\aA´í9©Ãê`Åê|\13(i Ô}t<\8eø/¢\b°]àâ`¶éÂïRl\94\91\93&4Ø(w­ºyq÷Z-÷Iß\ 5±¦4\16\r`t\a4\1aû\8c\1d¼+³ê\92#}ãw\887ÁìTò?y! ä\\1a\96÷Ðs\92\13è8\ 2¤¨\8d©Þ>ñ@/\89\1d\14Ñt^\®\8aþ~\8b\8dÞ\97D\98è¦Ë¢ý\12º/\80çýÉv~\8b×7\1fÂ\9d\86g~ß{y]\17\0ý\16\b%\ 4mDou%-H#A*}Y\ 2òÕ\8f\97\14\1f\1dµ\9bÚ\8a\15-\7fPy{øºÊE¾°qì%¿ûÀ¿hyµe/C îÊa*\ fxy5F\8fÁÿ,ã§s£B|\86ê5ÝÚM\1ctï/Þ\17g©t\92\ e:vâaÇNÜ\8ctïU
+-\vã-qó|o\9fV\8f\9dY¾}/z\91æ\ 3e\81Äv'\85ÈN\ 2$ÏÁÝ\9e\eâ\96X\84\ 3\94lñ;jÿ ÔvÞ
+\rjC \8fà\11ù\96AÎÜÆ\15\ e3\8c\ 5h~7¥\ 5L\87¼@\r\92BÑh[\13Íþ%\8eitbÿ×\8aê¿pÉQÉ}åúõ\9eH_*sR4_ñ©\f\16qh Ö¬YbÑ9\98c1fu\UTú˦V\95\f\14\a0æ}ÿ\8d\0þ?\d7`FÏUóq\89\11³âä×\9d\13Úã\ e\89§d\18*Z/ý_Í\17þ\83"çC¢c\12+£\®°-ù>q\96pe\9f>³N$âÔ·¬¦\84\95c\91\8e\ 4±¼\96ê[Ü3\92Æ\a\8fäMÚ·f¬\94\85déK6<õ\85\96óZG\19Ó\8e\93B\1f\10\81'Foº\953|Æhøæz\vÎJú:Ö=\92
+\89¹ÃÜ\9d\0\13~꺡ìÖYÐ\r\85è¡\ eqgy\1a\85ï§8\8b\ep\96Ö\95cÅç£'i     ÞD{b7\8e\17\9d\ 4\ 68K\80\8b!YL\8f\ 3Âб\81¾îdò     *lÝ\15x;ì÷v\16Ee1å\1f^yÈÔ!Àu-¦Ñ\18\9d·P\91jÁ&$éïd\9f8\92\0Þ¯\95\võ¨\8bÊ\82\14ZÀ¡5½Ò%WÓ_º\95*\94|-Ù\7fê%1°\bVU\fÎu\r1Ý÷·\f\FÞ¸Mévô\v1×4\ 2¥Ø¥±\8e$"+&­\93ÞÇ\102ÿ  \18y£âzçU¯<åúZ×tÃP\15&ap~¥,ã\89Z\85=¨++_m,ÝÒ÷É8béò2ºpÕ»ö\ f7%P\83~\7f\1f#*\8c\95\1eX_æë\16õ©kù\e S Ë^¶Ì4½u¬s\97®\17§ç/W\1d9׬«8\ 3¤\81iRÙw(WÒì\a"«ËÝ«¬,¥u3\ f\97Ñ0x\ eå+o\98æsÜÖÒ\9c±M\8d\94å\8fv¡&\8fí\81\87\10\99\a'\9f\1cOJ\19>I\ 1jæªæ¿JA\ 4ÂÑ\ 6ñ\19ª\80óv\ f v\ f» úv\13ÊúA.·<n,>D\9bû\v_\95`MF%\81\83\10ys\81\8aX×Û\8c\93Tüf\13ÊÆ\94Å!Ðo\80<MèÌöµRÕ    ¯ÍU3>Î,ìu\ 1¾ø=«\87\8bI\18\86\10Î\1d'\e&â0\9a\11\96\a\r\e\12&/}\9aõ¤yål4ñ\8f8Eê)kAò\1c׺÷\b°r\r\15&7Úh
\81\ ev\r\8f\94P`\1e^ËQ\87\8c\83SñndT|wb{þê¶>ß\9ep_\8b¸\88Ñ\vzØOñ\85Ψ\5|X\f3mJ\9cT\81Uu\8dýV7¾Î_\8aM'Po°>÷´z\1c\94ò<Ç6\r/äé\92\ 1a¤95?´ns1ºb\83ÒM\1a±¥\9b×o½A¸AO\ 3Õ\ f
+Ø¢²P\9dà\9fÃ\18=Û'Uå\1e`Ç­YlæNm«¬!­] ¼óWì\96\9d\rÁºõ5Þññ̽\1aÎÓÜ\17\ 3\88TÌyõ;\8e\19|*Ü\1e×HZ\9e}g\9bå;\82¦sS\99û\96\9f\réNãÅ=\93µ\962\88V8\14\rô9øÒý¼({\10ØRÍDCOC\ 4p9\9c\1c{kïFð\aêg%ýÀ\9búÈ8¿ßìI\97\ 4\1fîo®ÌÅËn\13þó\7f\94*Ó¥.úØ2¬Re¾\88¿ºÓpvéÙ[\17\85ý/¬n\1dTo\8c.:ÈÕsKG\8c/Úëdû#qÝ`!ô\v}Ý¡\1a\93[\99º=Ñ\9fl:í\8f\10²2§Æ5 /®9±EÓð\rØI\9c¶¥é¢\97\84\15¿r\1aZ\94c;ÈQiw'úÔ\86ÜRßXØçC\0b\8cþG\19\1eå\10\1emMÑëGUkéÃâ\83¹%÷$Þd\ f¬KO´Å7"î\97Nd\1e\1dìî\ 4ð1Goø©J>Å2±¤\95 }\ 5æÖ\1cø:\1a9\a¤!9}Åî\12\95¨\7fv\82z_\97k.)\83\84ïøóRϱäûû\92\82Ð\8e\ e\14½wѸHôÖ#\8b a\19ý\ÃÚ°n Åêz@®Ð\82\0áKf{<\8d²ø\0t<; \ 4aP}¿]\91
\16dáË\1fõ3òS\9el\12ÒÆ©³U1\12\11poëÙ¾å\80`·ËLCT$6y`l\81\18e\10þöµ\8d»èÄw{\1d§\|\99RÑÑ\v­vKÎÆ¡¶2\99\9d\7f\13Ü_\1a\ 3\0¾,B÷P!{Ã@´í\9c6_\ 5\0÷_ÓFÓzÛ©o_TÕÝä'\18Ïc/\vSÀ^1vÂ\9b\82\10Ùã!§ó\86Æzn\8fbz\8d\16+\9eÁNINäæù'Oó\86w\aö­9»#7FQ®¬0$kv/\96ÔAÇ{8'\1dV¦Jø2QG8àkµ©\8fq\92´ÔÓ7R \89åÕ/©\10IO÷\85óß\17Í\18\95ÖjÕ$X°Lâ2ÅMO#^ñ3H4A·S%K^1ô\84\11éDI\15ÂPìAmI6B \9c³Ô¤\91\1fzknN*\18Ò_\19²\91ý7vêÌ\84i\ 1\aïËA¢\¯èI\ 6αíâJP^\ eVb\82ü$oè\9a[\ 3s¶7\8b¹\ 1³qjâ%ó\1càÉÝÒ \93à\8aê½ÚV\15\ 6\1aR A«ö¿\8d\9f\7f2ûÏen\90\9f;èÚ\ f3|4õ©õ:ÂîÕ)`ÂgÏ×%v,\ 5î± \98½ÕÏäï\83èÒmÏ8\17×Ü*\83¾¥ÂÑì\0$ElWqª\8bn\e\9a}\12Ñú\9fõ\96\7f\13#e·XZ\17\9f·_®HæÕçkE^}      ¡\93ò:¢ôM­7,¥R Å¥
\9dý9Hcï-
+\e\9fÒLgºk\1aÖ\89ê\86ö\92ä%Óåë\92F[ý\aý7\1fC\9bY\9b}+(\9f\9eyÿìâIDâ=2\ 4ÊÎ\82\90\8e³\83+JèFV\91t´p"Ï\ 1Jÿ©EºÔ°\8a2÷Û´\7fÀ\94û¶\91¤"\8eHÛ_x\92\82R¬+o<\80\8f\9apµÉ4
+[\02@ñý 
+C2s¿8)l\1e\1a5:ãÇÐ:\8f\0\91ú\1eóî\88)|&Ò¨kR¯ÎíßþMQ\87\92
+ûÿæ¨Ãÿéª0÷xt¿ÐÕ\18|\1fý\9a£\ ftg\1fÿèÕ\18{§)4j\8c?)Ê_þ5F\1e'Z\94³Taô:Ô¿êj\8c=î±/ô5F\19õ\ 3Ç~Ä$ÚGì\18Ú@jjN=\rè}ÿ8ûÿ\88\80·Ôk\12ù\84\ 5¾
+R :\béíÌì\19\e1ß¿RÜp?pàx\85z:ý\ 6©\ 3)-¿þ\1a¤\ f\r\87\86©\ 3#\94¢5ªú·\ 3\14ÅÅ/\18ìQ\ev\80\en£ÆE#+\bÍ\8d1F\9c\ ejLÝf\16¨Z-\ 2Ö\9f\13h~w?\1aý\1cå\91Ó1WXÔ\1fé]\88o\86\87-m\90\9cb\96þ\99\1fu\8f
+\7f\11.ÿ\15#\85\8b\10.,ïgózßê\92\82ni\823NYÈíβjóË1Ç\7f\8cã\19\89ªªT·ªt¨6\86­]\82\96õùúÜã CÁ\15\1aÞ\ 4\99Ã\12
+Þ!ð+ï@XõFàZSnl¯°X¡®Õ$y\19\81\0\80ðÚ©ÕKõ\ f\87c'¦zá\7f°õ5ðOg\ ek\aû,\ 3ÙÛ-kÙåòïp\16T/p6Zw½\140m+\ f¸è\@L?°\12Y:\rÈÌ\1f      F\9a{A\f\e\e[\8dÛK÷|\95v_Ex.¿\87<ê§o.¯\1c\92ÿµkM£Þ¶=ç\10ÕÅ|\9fèí¥Rè?\bIDñrU#ß¡è9\ 1\8b¥\9bï¤ú\ 3\90Ñ®¡ò©c¥r<¯\18µ9:òãQÓ\96.§7÷\b¾\18ßÜJø3\7fz5ð\ 6þâ×è\rýì\17¡#g \9b­]»UmBÄôk}&ËÁYø¶a\86¢\rS\9féR#\8a\1c±?[\1do\94Ð\93Á9ÔG½"\0\180\18ãÀ\0\b\7f\e\9a­³Br\87tUÂÝ¿j\91Í\84nWú9ºÀ\8aE¢s°\10\85\12ºV?^\90±t\ 5\86L\ e\9b\11T\1eÙw7ÇÍ2¸yÀ^õ\b\bµ"±¼\e\8bÃ\8dçÅe¬Rßtȶ:\ 1·\81s Û\8f9¹¦}Ô}ò&î¼Åß¾ò\10"æ÷k»7÷thË\ 2%\84\84\ fóEH³ÎV¢\8dk\9f2\13æ(³a\rý\87ïaúBÏNO­\8fØP\11¸A®M\ fO4\95Y+R: Ø\8f#$\83gh~#å\17\88ïÒ\81Ìÿ\ 4YâN \1a6ÙØ\17;r\11¦\10#Ø%\ 1\8d¹_ì\ 2IíO\ fËYO\fX\ f?§R\90Õ*)\ 4ÉQ|¦®\ el'®=»Ó\eR\94³\8fÏJÆe¥a\16åC$zp\18ÚÖ±&\ 3\1c¥cr`0o´\96\8d æq\ e\e\ 1\8f\8c2\8e\98/CÜì\0FM\11Ôõ<"8\10Î\16\13Ì«\9c$9ð~   "\13Ì.\a\ 1Èf\9d\913NÊ\0Ô×U\81Á\83º`&n®\19\17È[ê\9dªú°ÆzÃ}6\ 1,\1c\1d j¼üw×&jåþâ¬p\15c\88-g£:=ûͲø8/9\1a\8aXOØWMü\16¹Þ­s¾$>¤è|?<Üæ\99<\97\10ñNí\81Ç$?1Ī1ò½ÒÍù\90\12f/7*}Ä\bôO¡ZTá\17é\1fÔüká\ eñ\asZ{ñ\1c\82ý\80"\03Å+Á\1e\ ezjNtÜ\198ÁÔáÑÔÕÍiú\12ê£ä.Ok&]uøÖ¸Çá^sÌÿkó\9cÃB§\94=\95K\89\8b\a\1a\9fÂ\1e\80^\ e¿\bÏv~\8c\9a¸XÄ\87\13ù[Wñ¹Dr:\8c\9fʳy\12
\1c\a\8e\11Ü\1c*\0Óó\f²´Ä²\9d\ 5A\86\94²\89O\99Æ^\89 V\9b°B\9c°\9a\v+$×(ÉÝ\84\9fpvø\89kc\ 3+\9a\16Åßx2f\ eÒhrÃ\99\rÞõát³ç*{%LW\17\96ç\e.\8fù[¶õK1﩯àV±Å´æ¨\ er\11Þ\0ÅØzóiÎD0ú\9fÏR \10)¥ðë\1aøx¤q{vç6\17!p{v¾\ 5K%§ó×ÍÚqæ×Uð\ 5äÿ\94úTqÒC\1e\ 1uôÀYO\9bäüÏ{\95)Y\94\86\91Z\85\b\7f\0NÀyzÿ°Y\9c6\14Z[Ô2\92= 7úFHè~\fè|Ò.\12\8c\96*ë)sÍ\1d\10\9b7\1dì»\19Ö7Ú\9c\0Jõ[lÞ8Ü\8a£r\bÛðã\1d÷®Had\19½(\94\89òÀ1ÌÒÊCÿ´Üø\\fë\9d,}\0µ3ʯÒÝ&\1dòä\98P\92\ 12¡ø\9e¥®äݶ?çí³\ 5Ûdª~nA\95\ 3æáT>³ýàZ$U\eæ\r°\8bÑ®\94̧ \0R´|\97\aG'Ѫ§­±øà\7fÖ\12ø9qm\8fÏ\0/\10\90¨3\92ôbà\89ö5\ 4»&ÿÅ\8en5     5jÚÔA\99RÇ¥cPTE\fÞ~Ï·J\81K[\83æ\r/Æ~¸Ì¯\92é®\95üé\94ÜõÓ4\4 \ 3Y\84ÒTi\7fgP\94º\15\r+\96\92i\10\8e\90õz\8f\99¹ñ·J¶\93Q)¹ñWj·ÕÓ¡\ 6Æzd
+­0     \80g\1dy#xõÑ\86B¡õ´å ¹G\81Hú±\98ÜK7î\1c\ 3\9cVU>ÿNz\1e\99R?\1c¸\19\12\905@÷ìüúv\95¤\81aÛ´ËQ´ÿÉVh\891ËÏ!\84¥Ù
\7f¥b\v%_O)\96ê.Ùl2¼\80#Þ-8÷Å"rå>Ð\9f\ 3à4ûq\87Qm8óªD\ 2\14\8aÓ\8f8ú>\89%"\ 1\ 5\ e9¿µ\ f¨ì\89ô|ÓËDù\9abtv|\8e3§1Dø§ãèCÔ®¸ÿ\93\8b(t:i\8e\98\16HÙ-
+\1e¼Üi\e³Ì«h¾´w--\ 5ÃÝ ¡±ïºblz[ØAò¤y»Pu\9bø\90
+îl3J\ 4ù\13sØkùIÝC¤\0pr\ 2,\98fT?\15H\97â\12c\b:Ë¢pXâIòE®      \89_\0z'æºü\91\ 5´¢Ö)éPTF?\86\94\84"i\90Y\ 1^\ e\96_\94ª\7f\87J\91(\9a`\ 4Þ®\96¶µ\1c\89\8a\89§ÛW_\99\ 6Ûq=îç?~)/¢½t£d/Òoªkî\ 2§Ä\8c\88\8fUZßË}\19WWãFÙí\17\14ç\13^3#\ 1 Þ)ýWí*Wy_\8esJLÍ7ó¦Ì''HÔ\r×J¨ÐL\1d¬(\90pó´öºCÀCw        ò \15ÆÈÛ\1fK\1e_\97Iÿ\bLõºOøÂg\9aÒ}p\99«¤þp\99áô\9fó\84ÌB_"üuSðhÿ\93åxz2P©\99QuPeÕýr]Q\91\19±ªPËlÝK0¨\92#\8f£cì$ôk1\8f°#\87i\v\1frºð<\ fŸ¯£JQ¸-\fÀ°\9f7õI\83¡<ÍõZ}ÛRÅ\19ÿæ¢k~¥\12\14(PF\82:{F#\ 4ÇçÍò\9a\85ÓÖ\0è\82m"\ fn\91\ fá¢\95\ e^7êD<m\11Ñ\ 6­lÿ¬å\90G\a¥öß9×b´ O=¿\a\92\8c-WǼÜYO\8b^$\ 3º±bÁ§¬Ñ%tpô7\15¬{¤m¢\96¼Å¾Ñf"j¥-ò\99ñ2\13Âä\8a>ÍaÁQ\1a\96ü\98O\1fÓYN,Þ\1cì\9348¹,\13§\96\88×\99\11¼Ö±Ì+1z \8d\9cV\8bÛ­\a¢Î¹Ð¥+V¯ ÙG\9eÖ\81)Géë= \ 3\ 1\85\16\88x:\12ôó­ÂâÀZ¤\9e³yÑ)j\ 25pQêkò5-î\14·~ååÅ\97@{2]\9f`\95f¡ÐS\10X®±,\15\8fÀ\93Ñ=\9e\87\80åÕã¦ÄÆ\89ÄòXª©ÁK\1d6-¦Û\9d\90Á\8c\86ä
+¦Aí×w\10÷jkÓÌàÌ\9f\8dIά§\87\r¦§\87½3\9f\19÷/fsǹ°zWÏ\9dâ\14YÑ­\97\82¦{D­/G,\86yö¿¢\19a\b\8dè0ë\19\ e\9dMzÕ,ÿuì/ÚàpJ\9e^\80{¬kßT\9e׿\82Ã-{°õ\85ït+_ú\ 4\8aà8ñ.\80\86ä\135\0\9b¿7-ú\9aúÊ\90xú0ê\16¹â\99\82I¤f­(\9f5\ 6î\ 6ß\ 5\ fJ\14ÙÒ       \872\r9ÈRäá\1aáµ\83`Ñp,ø\92\85\96Ic\9f%;£àKMèD±!\12\80\ fÚ\fum\81ÐL\86\1dM\ 2HÌmÒiÄÎ9ש\95´sÙ\94ÒÖ W\e#Þ°u\95\ºÌv\11~\81\1dNF­®¶NL¦ù\aºvî\bÕÔ\91Ô®}ºD\ fÖboÎl  Ç.¡<ÞCêê\9dh2g\ 2cÆø×\9fV=áU\95\96\84\15â\15\86\83?+ÀÔæÁ/Ë׳YÂE»\ 3è2ö\91«Aà§$x\f¬}Z2\83r(\16µÈ\99\e\8dÁ+\Ù\9e$\83\9bðë\1dC\ f\91õ%M³ó\18o\95Ùµ2\1e\8eËÇ\93|\f \1dõÃìÒ\98oiSÓ\ 6>\83\fçn\93æ6_\8eÓ×nßiiÄoO´\87\8e}°ÁÚÉÉ\8b¾\ 4hÿi67[9\18\r\a\a:5v\8b\1eð\80_SÙðF[w7)Nÿeµ\95\9f\ 2O²Û\9e*Wþï·è\15\ 2\v\9aÒ5Ë¡?²©ôzä »íê¬\8c¯²\15KSìÅH\1a\1f0S?û4¦_
+õî\1fF÷E \83\9ejì£\ 6Òi\19\19\9c6\\11\vGOq|\13\8fÙLü É´,zCÜ[l¼öÏ\ 4ÓFß\v\10N¾x«\9ak+Ä\ 6ë¹4\14\10\e\83\972ä3Ĩtb\bíI|´¡:!\ 4Þë¢\82\81S\82Ò\8d\87H«¬qI\ fÕ)¯÷\14~È8\15Ú\14н\15óÒ\96\ eÆ Þ**¦\17\e­eòËìçe.zûõ£2ÒÖ\96\¶,\9bÄó|Tp¶{#Èî\95\9aq\g¦¿\1aA\172ݪ\82suÑÂvøÐyP?R¯\9bi!1\99ë\87¾
+ÿaõ>éH\834<\17ÀP\15
+\14#i"ø¤OöN#\83«\9aGãHõ\8e+P2\90ÃØ\14·Èº*ÜÊ®D)x\ 4\1c¯·ñÉ<)h7a\19\99&     
+D\8c\85\83YÖÄ\83çÑëS\8e\ 5±\14\83üê1\97°³{?=\ eü¬M\þ9{Ì\ 1Òì´ªÎêÜc 7ã\84\ 6µ¾Ò\ 3\17\rwpÍ\16S]ÙØ\88нúØ\ 4\9b>o´D/\8d\83Ê\94ðÑ\b\81Ð^J\88\8d\9bâFöüV)¡hðK3\©\13õß\11\f-¿DWñꪺx¥®±ÀF\8d\f?Ky\95\f>\8e\15Ü0ëJ\86\1eGtá¦\1fÊ:o¿C\ fïÑ\13\9e×\8ev\1f\f2e_\8b\16\15\85q\9c\12ÎÞ\81"yA\94ò®¼\84)£å1\9c\8e=\9f
+\81#áÏ\1dø£êTÉ\ e\rÜAc\93«\82P\1c±CNNMá5\ 1ÞÛ±JUìÉ\91\14\12ß\14Ü\b\rï.O 3VªÄl¦9ðº\9eüD\99ÞãÎ(\8bû\16¦#à1·\91ÐÑ\11¿f\95uÖjèÒme\988\1eC\ fG\80ÜH\86ÑjUuR+\92\8fÈäR Ùç\8c&´´ï^\9a£Ì\90¯n-=Ä\9aAjO_G[°ûG;\8e\ 1\e¢ÍXº\99¦¨\1cr<.\82ê;9Nii\92qr%²H¯ÿç~h\v\9a¾\8eøÇU%qB\1eÖY;£\8b\ 5íð
+µ·fõ·C\ eÿ[\1eòÙôw÷0-6b<çÖnú\15ùRS<Ztû¥­6mÈè\15\10\1eo\14îgÊàjÝ®åj{\85ï\8b\86ø3ôe\9eÛAs\9b\93\8d\97ôÍ\0ùÔ×Ó°+üéÞtóË\96\0aëÑ\95\1a\vbZ1DO    \7f»puQ\9cÊͼñ\9d¤|\r\bWáÅu\89\1c×ÏèX. ·Ù\ 3ùZ@oÃ}fèÊóçV¹RvþÌ+\8a8\14û\83=\91æâ\1d\18©¹æÆSRTʱ1þì
+Ôj\96ñv¨dä*\19\18j\86U¾*§0¸ \16\87\8b\7f\epÊ\\84\1c7\8fÛ½\9e\90\95TK\96\10¿B\93W8g\98\9f[*ØI8\0\ fC8>â:ïÜ×\]HÒXÃͲø ¨\14
+\83\ 24~yl\15\1dñ\1f\1cÔ\99Ô|FSnãýÄ2sHô\8d\rì\9atæÕ\87\81O¾>µe`\ 3­Fdïm\9a Õy\8aÇ«À2¯Nz±\ 3\9cÙC9\8cà³®â\1f!ö,È\19£ç\82Ø\98\ 5°áTõ¤lÍAñY\ 6ÌçÈb\88\e\96\eá4s\97û\91ºè\8f£ý°
+yoLüu\b°wj\88Qùp$ìsG\13Ò\19[\vÉ\1c\92Ø\8e\95\90\ 1{4\15¯R:IÆ\8fAzePþ>§\8cG\9eó¨B«Í4ªø^³J¯w{ÿ²¥\9dg-P\8d!\91ݪ£*X6\13\9cõK;""fës%.ÿ   ôZ\ 2S}\81Ô{ÙJg¨½ÿÝ\91`7Þ3¯Å¡OHöfÿÎ\ 1Ûß±w\0ï\93cþP\ eîZ\80wâjÜ?<\ 3¢Ñð\11@pM\13TÕ$:H1ï3M@84\8eçfî\91~PÀãÇ\80~\ 5=ÇÌö\91­ê0l\1a\8c8\80~\88@>ü@
+¥ºÏ@gO°\93ÕK\80S2=¡\9aúf$\8aR\8dþÆê\ 2\12¦\95)Ýx\17¯ã\ 5í$;ð\82ôê*T\17Ô\9fL\0=uè gñ¯\97p3ú\1flÐ3×&\18\8b\82x\19       ð\9bE"\0\17ÌøXú\14û5"I*I¶ÍK[È\rhλò\80u~À6\ 5\81à\19;ZJÊ~\ 5è>h\b2\8bCMXÛ9-Ñ\80m}      \r\8fMÿÕàÐÿr8\93Tâµ?\12ý\88\8d\85\1cWÏI\e4iXØQk\1e\8f`ÙÛi¹ñ÷/\9cjβÙYò?ÝÉ?L\9f¡¨éI×\8a\9f\ 16\87\92~ÏQ§E\0%\v \8fM»/*p0\9fõæÐͦ\80íc:r7Ê\1aSÙ;¬ßÇí&\9a]jDØ\15g  W9\93»(\1c#"bß®
+\94ÐLæ\ 1Å\9b¯\8fªvëн\9e^yí\a\8cY-\812\ 3ÚæèñêºÐ¹ÌC¥$Ñ\9d\1fÀS^Þ5)ú<
+:2b¾üùÀ\91\10½Ë\85à[p\1fy\96\99\14\9e\9a!\ e2\96\9ctz?içTùÌ\98Ó\e\9b©3#\867j\ 6>\e/1H\81s2Ó\eö¾\9bLo¤¡º}æ#ê}áf[c\83ʱª\89ÿò\81w\99Ngß\fac#ú~>sB9Í]´"\96¢ox\9a\94æ­\b\89\8ej;=Þ\8f¦\93\84«±!¡/\ 1¡\vͬç\1fR\96è\96l}¦\98Æ\99¦1Ì\1dÎÊDÝsØ´\98¤1\90m\ 2b×ç\83¬\1e±à\94CLO\93ô\9abp3Iÿñ\aP=x\891_>\18\9bÍ\87>\18\81{\18ùÆ}ó?½ºM¤\rKsݲÖç3Îe¬,¦Zú|òh\11
+\ eøÐàc=Á!Dw}_çÑå\ 3\87HS8µ\93k1ÉV&«\1cw4\f\r¢X:\82/K\9fÌ\8fh@tIZãB\8fUF}+ÛE}F¬~Å"ÍG\80Uÿ>\8dç\ 6\94Ä\96r^g\ få\10r\92Ç\9e¬tã2\93X\96\18¡§\rg#Y\7f\99\91T\9e2\ e­¥½\91©\9e8¦.¨=Ü\bdQ\ f\1eÄ\8b\bÎ÷ÉlÚO  f<ô\1d\95\ 5æ\83\1f¨Á\8a\ 4˪Öón_:Å8R×f\7f,\8c|\ 6ü1\95Úxò\96S  ÷9\82öGÇÝ(É\89q\1c\86*bűòQ!ÏöÊ«\0ïU×C \8c\16¦õ\9d\9eèªÙ°\Ó3±¹9Óf\838S\1cæy²\85:\1f\96\83\8bl;Ä\9e¬Å\0\83Ñè·¤àGA¹\80±2ï ;\81(\10âDk¶\7f\97\ 3ᣨ=õiÍ©¤\85=³ýÈSÛB\97ÃÞËT,Ó\158#z=-\15;\ 5Ñ9góÜ¡I\ 1\1d\8b"9åþ5}zE'-\89% {|¹\82;*iò×òÈôf\83×¢FÌz5Ì\92g.f-®aÁ»\1c»î@æØz\a@æw\ 1ÝdêøÃ±*\18\1a\87ðæ\12 SiPûax=ùc\0ç! jû\9eÊN\91Ü«xv\ 2K\9c3i*¦±3_\9eÑÓKÅ\91ÿ`ÕdnG\8aYË£çxC^    [\7fRïÖËWAw\19ßú\8c¤\99è>Rôj(\a\8bÙX\1eÂm¯3ß\fôz\fá¢$}â%&¸½Æ]e*Eå59    åf?´¨S_z\84ó"®\9f\10\7f\bå]h\a\ f Üçi|\14\8b×\95\8aéç\8dÚBQ]\9c\99³r\8a\17ú¦ ççùÌ\a}éýty¯æ§\11%\82Å\rë1wì9ýYt¦I¥\94 Ì\80!ØcVT£\ 5[çÒ©ÚCPê\7f\1fÚN\ 5K¨¢\ 1½ÐÑ9\9f\87JJæþn\993,ù-á18\7fCå-öBNôIge:Ù\92Y½F^dá\1eg­,\14\ 3UZ,\ 2£Â\9d5çµ
+qô\84>\88\b\98D\8f\83\85ËV>3!\ 5?\9a\Z%¾xF¤\7fcoóò(gÒ»mßË=vÛ¾I\9cJÏSü\1a\1aºñï½\9biS\8cFnvF­Ôñ\9b\97GÎßKÞatú§±«\1eÕSn-§\10ozLhÇl11ÐÆz\8b\18/Ì´\84.h\8fðFû¸lSb\19\97£«gûÓ\94o}\91­âÆF,Û\90\ 3;\eLqñe\8f\ e:¼ù]n&Z\®¶*Âd®´\ 6=´gBï5\ 6ǨªUÓÀv)Ì\86x\8ee\88Rº*¹\ò¢;ý»Y\89ÊM)q\9aÌOæLÈæçäo8}º\1c­¢jW1áås\16\97+\99]\96\99)aW\96jA U©\13Æe¥Jæe\«u+\92dÂ\®3\89\92¸Æéäõíg
+¡+\8d¼(8Ps\83¿Ñî
+\17îÙH\90Û\9c\1cá^O7púµ]g2jZæ\85`¥Ör¼ç\ f\ 2\99-\94Yb\8bz/%|¬©\º\86è\95Ëí6R¥rô¨;±¶\94à\0³é\95Ëíº\91;oC2÷³f\83ÎE\83\8b\8f=X|f¥vê¦<5ÎVc\15_ò²¥vÕbgsú¤\r {\94\94ozS\ 5\1aÒ©gvV'\98\9aõ\ 5\98ofõ»\85"i\v\9f´¥\1e\98ËØc76oi'\94µ\aa\89u\ 5Îxõ&5j}èwÈÊÒ=\f\rO]cWl®\16ä\ríݲÔù\v\10\13\14û\91B\1f9ÉI\9em\17¥t|õ¤\ e\9b\0wËhJÒ2г\85C,\83q\7fã70©òö0¢×¹\bþ\94*\10Ê&|Õ\1e)\9c'\94| ÒÖ\12L2\ eYb6Ú!#,ú\13\10¸á:BI\ 6Êj\\ 1a4Ð\9b\87úÏE¨âõÍ1¬\8f`ç$A±\82Åu\81ìÇÖþ`ÑûÔPó]\a\ 4X?\13î\17é\80EÊ2à¬S^®\12äf@y÷£Næ\99\v\ ew]föiÄ?FQÈÊÉdnZ\94\80R×ì\\91Ðk·JN\88ë\8c¥-Há\a¸¦q¾HÀ\ 5PN\0m\90¼$ì\ eàX!\9d\ f\fC.¾\14yK\92C\13jBÝQ(\99Z<rø\ 2cPo
+Ò±ªUY\19êðe8\87¨Rc\ 5\ eLp\r©g\97ô_\15¯¼\82dw\9e\88¹¿NçÕf9÷ôäåÊ\ e\85{æ3fG\18\12­AØ/\19\80\97ÌÎÙÓ3·R\8daÞ0\9fe\93I³FúÏô9øBX"5º\ e0µkàÍâ\99Ä|ÈÇ%´Ä`ê\95\b÷    \ 3\10¿&Ój\8bT¿Ñ#®tnÿåyǶ\1e\13\88Âk\8cë9d\ 3\85v5é5¯\11~Mk\19\8a£\87v\8cHÒº\89ñ1¡ñ\97«ÂËÊþ¤\17\9eÇi~kT\ 3[æp¾j1\12'«d5J\85£¯Hâð·\87,ìn£ÃC6I\1e÷ý÷\9a1\ 5®3\9c\ eR\12®Ò\ 6ýà\1f     ·Ðùh\16\98\9b|g\v>\9a\91þÞd³\9d\r\90°ß*uÀÁaez\1cy\86\8c®MýöÅ\ 2½Ã\82½\14'\9ejê@oµ­\13\9bTO¡<áÃâBw\81|\ 2Ë^Ö\13·¯\97\9ck\ 6ÂíG\1c;I­!§äc«=5+*/\91×\87ùö\15\eGOÕÓW\89Tå-ƶï?\14\18¶?\88]-Vføw¦ý\17c5\85rG9\ 5í\ f\v$\91CQï\vAáRm\8a³áY       ZíÃÖ^\a\855\88\ 2yzô\9a:.QÍÑ\84g\8b¬è\1cä^:c`\9e\rkÍÌhï£b\9c¹ÆDù  %+J\81ÂYÄ&ã\11\7f×\9e2\94\f &­M\1cæ\9dyÅm³\9ay3å¦\826{ÚYZI\e\8b±\14¤ÆUu\86Ê\19\ 2\87<o\86\0s¥ê\1eÔß\ 2\16¿pX|ÐÀ\11Xú_\9aÞ3\95Epðxr¤h\86\84·í=À®\89\9a"\89\fñwåæke\\8aólrñÞÃ8É
\ 5\9a3Wæ¥\ 15¼È/\8eFÔTjĽP«{t¿\rkUd\9f\19æ\97*Leæ3ç|\8d\1dK\88\84\ 1\91N\b2\802wØïÑÊ\82Â}fI$\boËM\9f-\9c\89Ô¯\13$*:8oºJ1º5Þµ\13÷\92¢±¨R'£ô)ñ\99Á\85\8d\91\7f:¦gDU\80ª_\ 3$S\16jkõNÎp\99H\ f.Tî\ e\1f\8bGÒ\\8dcÏ\\80¹¬¦¾±ÐË\ 4\17\82\16ëòT#\9c-\8f\ 4\18z\v;Þµ&×go|MÓJó$³\8e\85È.Æí\9eä®uZ\    ràà\9d\16{-?Ë\ 2\9f\90#¡´ä8­\8f\9d\9bHÊ#´`zé\1cÜ\v<c.þøÉ\ 1j©/óAKç\18=B\8fÿ\ 5)GH/û3°\18öìêh\ f5\9e¤KãsáVnKdj±\9bË\7f\el­·\82tz7¶!ý\7f\eâUÕ\13\80\13î\15q\8d>\99\1c\18\b«Í\9d\94ì
+}¢ÌuPþ\12½Ì<±ØY½q>½äßÜ\ 2\96¡\a\92Ýüo^\ 3~;øÜÑr/
+w\93}Ôd\9eßWpöü½åïF¼ëÞ\91y··øsÂljÓg¥\93Å\80\ e\8a\82Ǫ"\ 5,:j(%*[äò@÷Ô{\97õ<Sà\ræ7«Ñ³¦ã\1cé(\b7\v\99\7f\e\8b&øÏ_ÆGßel~`_Ç_\ 6D©,Ýß\17êìÝÓ/ÔY»è\17élÝÑ/\89³w\7f_¢³w}_\ 5fîü¾\ 2ÍÞ!z+7x\95Ô³wѯ?fï¤];7t²Õ7\8f\ 1¿5kK\99¥5É\\9cÞ\ 5\9bó´´Å|þ§l½á[l«zù)«m\9do^þ§Û^ö:\ 3E½=\f¹Y0\1e<ñó£\9d\93\80ÆH_HùÚ\a\91¦è\1eÒ\19\87z\15-AÇç\rÜ©kF\9209P± h1CÂ\85\9fè×\8b)k%:Fë®n3p\8b>×NC\18
+uK~Iì×wjÐ9²LÍ}@æ^³[Hçq\eælº\81\1c\10ÒdïÛ\15\13XýªH95Ýç Ìç¾{åê|*\18J¥«n% ^õ©J\16\8f\ô8\84Ú;4ÝAC\9f\87ûE2Ç~Ù¥j]¨\10\r\aµú¹P
+71\82\1cjëHèæË\84\1ca]Æ7\877cöøBê\83\7fîÑॷb'\85\1f7÷Ì­\aGT\86Un\aGþu¾:\1adÎã\8aS®{Äxuѯ<&Ð-~ÉAÙ¿\96ëj\ 5-y\0>çÚ\1e\87\v`G'oÂ
+x1Î\aý\11\a\ 3vïÎp=¸Û¦}¸'º\868\9fYÆý~\83t\ 5\8c6Iu\81b\1dÆ|î Ç\ 47\v»³i;gwÙ,-\0§µ@J\81V\89D\16\83ªP\19ID\90%\ fbH#²©¹Á\ 3q[ª\v\9a\84\94ª\99åYjÛc2ªì½Ù{\952(ce]±@\11m\0)J\0P\ 2\82à\13.ϰ\80\ 2\89@\0'ÿ¿¿\7föIB\82\ e\÷wyݼç\9esÎü\ eüÎÐ\ eíe\92Kc\8eºÇ»ÙË:a\87É`ø\v,v?Áß\12Ù¬\900õðwagO
+\1dÊ\8c*¡ðGóSa¯ø'§ù"¼¯,.\ 4\14ë\vø×Î\8a\94ÿG`¤\85¥IÎ̵a»\99X-\9f\ 3A\15[6p+EÿY\9dxø@Ý\95ÿ\8b\98]È»«\1dãÆ\7f\12Ïðªº\ 5ß~\9bª¶\17\8dBÝ_\8cWÄK\927N\8b¿\8b|Dر|GÈÐ\91\7flX\17öÃ,T\88øÉ=j\8fì\9a´ÃÎÿ´|UV\9b×?\8f\8dbо7z;\9a\84Tæz\9bÒ´õm\rÛã\92\ 2pw2Ýä\15¹+?Òr\9d?¬ä\10\b¨TïçÙ\82ú¼ß  ÁZ\ e\v\7fÀ\18\11\f\88¹\14ì¿j°¨¨Æ×\r=E\8eú½>×\1d6õ»Yg³Êç\9adxÉòåÕÜ\16\94<\ 2X|ê6÷\11Æ\83ʼ\91\v+\ 1\ 4|Q×i}\15$\ 4î\r¯\ 2¾$F¹\1f\0\vË\92[\9f\82Ú0kÖ j? \ 3P\82ò8;ªóW«èYO\95ï\14¡-rìk\91\/a\1fUѺ;MX¸\1aò\ 3^ÿ\1fY£Z6³\925\92¥¬OgÔåÛvE\173Ê"\84+\ 3å\95±Xê~70W%á\98íü¢ñ¢}§qÀ\900om 7¢ûæZ\ 3|3º\92òÂzÚ\8d\8f\v<§ù\88 ×/\1f\9d%xI\88eiüsq[LHàØÁ\7f¾üünŧýç\117\W>"v|HÑ\13¸ß}Q\13¿\9fæÄJ\9a\94Á[\11\bç\15Ì\88O\8aº4&zsç«N\ 6\18ÓÇÕAÅEÕ
+ë3\95Å\08lQZå¡÷#ÌDg½ò\1d$ÜWI\ 2S²FÎ7IÇ\eG¸Ô¯\96®\1d9\96\96øìL\ e)\86' ¼caÔ/\8c6'ôá\90q{ÝNÄ\ f|\9a"D|\95úªëG®-)ø\94¿¤@íf÷\9f\18G\17_6 \9dÆã\12]\f8F´\89¹}Ë\95\12\ 5\bM#A\15\87@@-\ 2\8b\ 5îïJÖÃÉ>\18x]3.ty":\8a<\91\1dÏ\f¸\b\9cxôÜ\121tpp^\ 6ô¦ßý\1c\89·éRµQ9þ|rïìãG/\13yõG-µÏ69nú\8bXåÈOó#\97\8d§\8d\19Z\1cG.9w1õ^¼ÿ.9tÑõ]\99ê¹)Õfôö°ÿ\98\9f\8d\ fí÷\9fÚ\1fûòYx\1c¥\1a\1c\1c/\v\95jíqØ\85"µÃµr[\93\15\92#|¬\8a¨*®\12´¼Y'Ó4\13¸ùU\85£\10ÜÒ\98\8e]\aw\145aõÔ¼[ÓÜ\ 2vëA\eàæïÃc\91¥\e\90ÜÂ\1a\11\ÞÏMΠêôú{\96èu¸~d+úºhÐC÷S«%x\1aj\17ñôÄúo\ eJd\¹^w\9ac¾ìd\8fÆ\89L¤³¨\19i\87P<#Íc\84\96;]øÄÓ ÞëëÅ®ñh\1d\eî\1f\ 5\ f-ÁWþdfA\eMx´\f\9b\90ä\8cßJÑRµQ÷Ð\16\82øîfM\1azYÒòÉ,,\81\16\89\f\12Öº\80A35jÜÉà]6¬{uFÒd[E`\10%§Ø>­&ó̦Àsõ¹·`BÈ\e\88qð9þ­×ê\ 3Æ\f\8b\ 1    RÇ\84\9fú\18\1d«\e9\10\96®x\ 6Q\b¡\ 4\96E\91\b\96æd1\0æ\ 5\1a¾\19y¿H¿½é\1aÅZæÈ3½ç\7f\8f¹\a@ÑÀÂl\0\890\1a»\1d¯\8d\ f\8e»ÚN\vEX\18\95!t\9c\1c\ 1\8f$ÖWßÒ¥_+MÈÆue"QTH¢\0'Æt¼s%2B\ 2@\1f¨Qÿ\16åP\90.\17\93d]}z\13\ fñ«äà\ví½\1c\1c\rµ*þJ5\12 (̰ (\ 4x\80\84\ 5\19\92\0\1aI=í@\80\92\9dáâ\8e\996\0ÑA^7KA¸I0®"GP6gÃ\86¿ $5Û\90V\faãc\ 5þ¯½¯<\fP\ep\8cÒ,¢\0\r\M¿×e\1aÓþWwùù\9b<`\1diÊõý$lø^Ì\83\ eS[ý\9c~9\ e>\1f¼±\86\8b\b\ 1=s\92_"N5ä\99vld\8aÄ}\81\ 1\92²Y(\81\1cn¤B=¿¯\99\95qPæßC\ f°\81bn©þîÜ­7bV\86{\15i»B¹tH½É¸\9aØ+L
+ý¸+äýM®ëàêMàPbjs\1d>1Á¬\b\ 6r²¨â\82\82&\94\96Ö`Ï\80Ä\82\ 1J\18 ]\8e2\fÏVb\ fjaâfä.\19s\9e\81\vUÎJ\17\b\1a-\9e-á_'®!\10\ fà/µÍZaÔHðó$\ev\9e`6Ûè\18mµïvÿ\8bw}ã¥Ï\7f\88uÚz       \1d\1c\9b¯\18A\7f¦&Ä\1eÀb,0­ø9)\90AMÇ\ 3\ 4)²½r\90.é©`´@T[\ fsZn'\10p=5\ 3\ 4>õ+"O\8c°ó\9eãÐLI\80Ù\80\fº«ï\9d«\ 4\ 5òb\ 5à\aZ\ 6ÌÌk\96\89ÔbF\1ck\8e\e0ôÒ\e0\8a®<¡$ª ñ\87¸G4Ò&\8e\F¼/>×vÆ\94X\ 1\bÇÝ 6w\1fm\1c\11ãÌ6f6zùÏ<uNN/\10ôlñ
\9dõ\8a1.Ã\84\ 49\10iH¾\ 3\9e£\ fT\87g
+@¼Ö\16.Niö|X[´Æù\ 6\1fÞ\12ò?d\82Ç6ÿlôn»©ëZ\rP/*þlõ¨\80)\13ý\91\12lÃÔ9éð\8c;1
\80eri ¯1%\8c\84ô\83\9dB´ØÂø^\9eã\9fñoonì\ 6¥r       qifö)ûG\96µà«\96iÑOG\füúv¡\9f\98W\14µÿÍ\ 6¾ç\9c\0r(\9c,+.<YÍj\11G\96Ç\ fU#}\1dmã°j\95\1dL¦yk:\13è,ØÎWéY\13\9eH±|£À\13"Çz\býô¾\16\fèb\80¾Ã¸\10Ñ\17\9c\17!_Ö\8d´´v×SU\85rPá\82\1dÿ,´ïN¨Y(L\81-+Âw\1d,öiÛhoº\97p(G\97\8c@B;$ÙF\a\85Ñð\8dÊJs\90:°ºW-FjØ\80,\9cÔN\99Ö\ 3ï\95ô&ªÙ\\b,½ °\99£t¾üîÀí$\96_1\ 3\13CJÕW­(\1cÀðè\85Ð\ 5\832·åN\8eÿs|\9b¡\99¬Ø\8ev\80¶ÕÚ\ 3\12¼\0Pµ;Ü![\ 2À?\9a\16-\99â/Ö<sØ\9b\1c\1e\e-\18¢\8b!BâÏ\11×Ü\1eÜS\80H$ÁÍË\86ÑgýÒ\='â\90{lÔ7üR\10ú\80\v\9cNHYò\18,Íã¿ÀEÆ)\7f#8X\ 1Î\86\81ý#yÇ×E©þ\1a\81í¨àÅ{LGYé¶ß1\8fagQ\10{tC¶±Zoö\ 3Î\ f¾\8a\9c\0\9aV©ÅÂy¢¾(ç­\9e\92\18ñ\96zð­0!Û³×£À\ 4\15§Ï\9fV\11À5øM\15«tÈ\85\91#\11,\b<\93}-f߯\91\ 2\84\83ÝEÙk\85ü\8b¬L³Tö\17Hzä\0\9cíçD\16]<¶ÊGY\8d|V°ttùÒ¹>\15\85FÁwwhÌ(GÔDÄСÄJ¤\ 5<³XûsãkÍÚ´ß~â®y¦Q\11B¬þ\96¡§ü#áfââÉ\1a>\1cêt{éÒÑÈ\8b\1a6Ç£\93F\8f\fÃo\ 6m¹TT\9e¬þ\9e¡§R#Ù8ºo&Õ î\ eÄ\14ä\9a¥'­áj²V3Ý\1eVõ=u£·Ou\ fm\97ëäó<½Ò\82w'\8c\ 3\96Ü'ÖÔIÏ+\8c s5ÁvÏJ)ëDª\91\99\0³\81\1a#º5H\ 6Â_\10\ 3\7f\9b\81ì«\av'\19\8d`&\94\83¥ç\8fì\17X\9eT4ª     ¥ \ 4     püæ\12£Û\97d\e(ÔKsµ"=zÔüþA®\8eIŨb¬\9cð\14W\12éKØ\1d\81\1f\18k\ebðºå"­{\8c,Ã17?5jñx\12ïÏ\9cè\8b\87¬
+{Ö¿1çVÁh\8eè­ÁW¾\92àª\16#@âMØ9Ф¼0¦\93\ 3mG)ý\89Y_§9]E\1fë¤7\89¥ð'd\1eï\87\8fwh}Ëû;Ðdè\9bµËNÑõkAð\96\18\96c\93Ûq\15«ìy\vùÞ¨\ 6\7f®\91F¯ü\16^qãè\87°;\1fø5$=ù\83°\14w\8dT\8d\8b\8d\bCe\82éPù\9fR;\81)B\8f\80[\10ßxâ\97Àf¢¹ë¥ò\11Ze¯0\86\17+d\8aݾ\aÎ\80Gýêq\9aBp&Írù\ f\85\8d\f\r\8aýýIù\7f6\8d\9aæ£\ 5£Á!ø|\ 4X¡åä\91¢\9f¨Ë3\84\ e
+.¡§¨\8dR\85Û\1c_»øR²3çg\93uuL\15Ì%ÝMj\9d6¯£êÝ@¯w\ 2³>KNù\88\fÜ\97-\9f¤xδu°\ejr¿Äº`.çe\1c`Ç5$ÂqÝrÀ\e~9HÇK-w\84µð¢´_\f\93èKtÕàAqlm©V\f#\15Âê\9cUnà¸f45§C¯ô\v\ 2¥usÛu¦\87\8eU:BX6Ù\19d\9d.\b\0ì¶!bª\94\ e\11\b\9e
+µwK\96\f\Mý60"¤ÖÙh\1cG¸a\8fñ\9eÞA±\95\8c\1e'\9bù\18ÀwV+\8e\95à\ 3\81w\1a¯Ékª±\85\ fã\ 4:j\ 6É~\9e¬ì\9eø\16,\85ñ\9es~V\9c;÷õ¬Ðêtâ×G\88\89\12#~V >wõ¶Á\9e\a\86\96ë\11+\b6r×\ 5Â\9cD\81%\11ð\86\ 3-Ä*!åÁ­\11\ 6\94þ4Á«\v\bl\1e7¤¬È\98\ 3µ\10½\9fò\89\10Îã\93rëdë\17¾£þKOð_¬Ï$û»ûäw\1f\ 6Cp\00RóDY\7fÁ\9eL\ 1\8f¼Jñ¢Æg\8dη/\1cr°è¨ÏkG«&\9b\8cù-@]þ\91\92ýRw5oðFæ\an\91zïàkÅ;\9cc²YÎ\ 4\9bsN\93÷=n­ôK?\94ïÑ\v1\rf\16Πq\a\ 6ÙÍFJMÍEï\\8d¸~L\9b\9e\ 4\8cÇ\99#|nÆK{#\9fr\9c\f§Ã\17\9c[èô/pdÈ\1c\91\91^\ 3\1c\7f7·&ÓèLu\82V\93ì\ 4Ëj|qV\17Ø\0¿×r#ã_B´ã>\9eB\90c¸r<}\98Ä\12ß/±°ð\v\ e\ 4\82(èÀ\90\e\80®%Ã\8d\ 5ö\fV4Lw£;KWÃlÇ\9cÀwظ\15M¹»ãw8T;\98xPÕ}l¥¤üJ>ü¨hbè¢\96Ú©³k\19\e¶¾¦Õ¯³\8aÞÈ\15\97!\11\bq\16ñx\16n ;\Ê/\89ã¦\ 5\1cP\12pX\90×m¤
+o7L@£Ûs¹Ü\969Z{2è¿imV¬1\e'1\85\8a§Óì\ 5î\v\8aà\88\8dv¨+Á>\ 6`Ìý\1fÿq²\\19Nÿ\0¤\84*-±`0F\83çÜí£\92à9\8d\ 2V\99^¿¥´5Á-\90iæI|NØñ\95òÐ%õÝi\f7\11\14¡i\0\b\82ÛªV'  AS\87¢\v\85FD_-R\f\12N"\90}ªpô(\8dÄHY\ epd\ 1GþRq\1aÕKM\926Rü\1d©\80ÿæÇ\14v/\89\15ná©Ï\ 4æ\1e§\87.\8dóÚu§Ý\96­6\8e&;F\f£Q²ÿNÔ±\98ÆÇ\9dçÝØ°`\12ËH´û1ÅÉJ\9cZ\1f] û»ï{ÄTkÆ\ 1¢\82/\13\91V\81>eßcu6¤sbO\v\8a½\969\81g\80\97¼¥ÉßÍÉû\84\1apŤÒ<þ¯¹hèlѲ\97äÙ\13¡Óòó¼\1f\9fËþÔ5g,ÌëJ¶Ü\19\0U\16_rÛA`Êñû·À5¤\ 3{\98òÀ¡¡h\v\ 3\82Ë_§HmÑ`²\14\7fp\82Q³³\v@Ô>+\bÓùç\13\ flÝÀÔC\95%¼¤\9fTÖ%bÃÌaÁ`âÚ>ùQ¨À\85´¯n\80hÄg\86\18\9eQã )zî±\8eù\82ÄY5Ã\96î\ 1\99ÁZZ\97@K\90r|\8f\81¬\1f½R\12ÁÒEð\ 4  4»ýäC>.U{É,»Z^\8c\83PvV\82\9e%Ü?Úp\r\19\87øV\9dÁy(Ý\ f{Ô|2\b\84w½È\ 1û¡°\14ÞxÇy\89Ô\ 6ë-ÜR\ 5ñß_Hý¨\11|í·íG\80F
+.ÿÚ\0ñHf³¡VG¼ù}é³\82òâ~\87\7fRC\96¶?«E¦\aɱà\ 4Ûsô>̰4¦°\85\14ã"×W\99\7f\91e\9f\16\1a\92ò\7f\\84¸I\fs\9aÍF¼{ú\8c-\r\92»Be·\83²Ç$Âz]2wóµÆ5!$PZ\11gݤ\87\7f"?ÝØ°×\89\8d¤\1dI\1c\Jï\12 óJ\8b*\17µ7ÖßÒ\10ö\1a·ÚÕ¯&8s»FjQ\ 2\14ý\92QZr¿5hº6\ 2Ñ~ÚN¶ù\13:\bv\v{ìjVN
\8f\80çì/ÜǰÓC~Nß7\93\9f\vÐ\1f+`[\93óÔ¿$Ç\9e%þ]ùDù*rÉ'R6n/\80xT\9d)¹§Ý\15.\16NþRõܽh¿Àa\91\1eÚý\1dá\fS§ÜÄ<!SCö,\e~Ô¬Ií´\aè«§ÌD        §\8c¾\86Å\8f9C_ä\80\e&\17ÈõAR³Ñçùx\83\ 2 {½Z§\1d7ASH\8a;h\82êXRuÿèqÈý¡èbý\98]nÊ5\91\8fëpp\89l¦<eðv%å\1aï7t¢¨\12\0|m\15«ì&M|¤R\9f(\rxÔãhI|£õ4C\7fd\91®À!ØQ\8aãÁ\ 32óoÄ\a\88ÄQUañ£Ï\1dg\15\18\8aB¹×\r#ß©ÖSlSOÿÖWÅÇwÜ\83 [².\84\83È\89Ç\81d|âË:Ý\13½Ï£XV&{IßËì/ïÉ\91dí·ÃF\8aëü.QY\84Ik\eá^Ùv0Ë\84êÁh/[(´\f\11·5ÉYþý\90ñÍn\ fm\11Ü\17¿qEÕý\83\82{(È\11\8aË£¸\1fÌÏ(\96o;\12!¬ìC+¾>\19o?::ø\99\15\1e"\83\17ð\8aÆ}Ý\ 2¼å&:\ 5·\11rB\7fñr\87l^\8eìGt\80ð_\15\84[\ejì¶Ã\v}?\9e\99\98}xEJj-\aµ\88\96L^Ñþãj\96\1c\83ï¯bû»R\15ª/èí\8b\80×Y4vm\0µ\97;#âùZ%jý^t¨öÿ\9e«\9d\a\ e=ÓZÖ\15\94ø³\83X/+\9d\ fû\19\10¾ÖK¨>À*\93\8aPc\ 5¿\16êA#NÖ"x\92\90ÐÜþ°_pN        _þ²#@\88\83¤A)-kKÿE}R\17iúÒuýþÅ\9d\7fëÀZ\86\ 5ÿ\8aR\v\97dA¥\95\9b»\9a¿îF\86j]rÔq\9d\89¯W\93×\aop\v÷\9e6ÛÑȼ\82ø,àcÜ&fä\12+é­h\90RVµèþ\11HRÆ\13¸=ÈóÀɧþ:²\1f\823\10\9f\8b\83Þ`Tw\a\92Ðpºb\9d®½<64Kçs\82\ 1\1eÌ¢D|,²*WÜhK\95v\ 6¹|\ 6q\8bBöV\19\1er±¤\97Î\18åò\88M\8e%pí\ 6±\17Ç\1akðö\87iá>\ 2\85m]\90\92óG\16&µ±²\8c÷sBæ\9bü\91\18\8e¬w£  ð¨½ç8Q±\9a¾s£aÜ\eýÁ\rÍ\13\9b\86ÀÀ£o i×ßfÄp¼\88äZ\1eF\ f2_øæÒè\1c\96.>í\99\10^7V¾\98\1f\10ä1ìsqß\14Êt\98BÚx©\11lb\7fÒ¨xJ\Ã\9dUÌÎb\9d¼\83\12À\v\rñ\1a8ÒÄáìÉö\ f\a\7f1CZàjîsbÅ\14ÚAïáÅÁÇà~\85 ö\8cL\813\ 1)\91ève\0Y\9e§\9f\0M\a¨\15Î\ eã\8eb¾n\a°O÷\94\ e\1a\9e¸jûtàÌ\e/`צ\86ÆÆ\8f]9B\18\ eyë£ÂRù¯`\9d§¯®!´DCÔ/å{\11æa\¯\8aÎ"dV\88\8fÌk\83ßí¢\19ê\ 2L2d}\81\85åø>¹\ 40@\vy·       \10¼Äй¦\9bö\16«×\8b\83ºþ¹\9dùײ\99Þ\8eøS;Ô_"Ìï3|)\9dço\9fõ3º;çýÌï·¾}s;¨Öó&wEëý\93;³ÍsæwºÍ\7fògz-\8f:g~VÈ¢e¦·\9d3¼×S\1eg\7fÏ4R8ÉÌô&w¯Öt&wîf¹³;ôó_Ögu\19®|ÎîY®|Îù^·ÿæw¢Ø\13ì\96Ös&w'\9aÿ©\9dø{\ 2\80/ÃzèLïY«µ\99ßïõ¢ÌïÛÕÚLïôzÅ3¹\8b×Û3º]]¤Îòd³)F\99M_.g}\9f­öÌí¾¯\9f3»×­\1agu\7f«þæwù?WÒDlÈMïÍ\9a\17\14м\12\ e\K¿\99\8b4,\94ÉM\v»-GÎE}\ e\87\ 4\11M      Ô\1fÆ&\858LÍÁ+ÿ³]ýæ\85v\e\82\vÔM
+\ fy<¢&tòÁ8ÑtKÙä\1cÆ\r\92ø\ fÕöL÷?\99çÌ÷3\99\ 3à¬b\8f\ 2ê,\rp\8c1dnÿ^}%j$ÌÓýìK¤"#ßTD$-\15ó\14\93\ 1(GiÞ¢6\8eë\ 4¢\8bçs%#^¶óÎ\91«\11Ûæj\88à¨ä]±õkøY\92\8eìÂt©\8f\9cÉx gÝj\85¼7\17vF©\91¾Åû\fͬÏCÍÙú¶³=\1aJÏT@\8e$æ{*X\9cc ÍÙ,¸\ 4d\19Ø\1d{¢Y\1c\1e¹\7f\v_Ìá\92°<:«Ë\81>û\&i\86\98}.SJ9\9a\13",Ì]\9b\b¸cú\e
+üVÌmr÷\r{\10\9dá×\94'\11ç;Ø\9c&ôýDxMÈz¥   ¿\1fOôñjAº¯\8a|\1dK\14\90\8a<oþ©Ñ\bzsó\94}ydÀä\1cAÌí\93\13;\8d3DÂÞûÔ\8d3O\17Ô0¹\90Y«]¤Í>ÂúA\v²õ\0y?\9e¶8<\r\9c`ïÿC^<Ô\1fþúþó\91þ5ú¾\ f0<¿Í/Eu_\ 2µwNº`\85ý\1a  BµNp\17\7fT,J×I\84\aåeZë÷Áb¤Ï÷æE3Þå\aÉëe¼H\83ÀÝ\97Ô\14¸\H&Ô\ fUqí)U±<Æ_\ 4\16£l/\18-\ 6ÁìùéËÍ<á\86\16¡àE§ý\1a¦Oz±ã¹WGKñ©¨i­F\81I9|ú?ÐîZ\86\9eømC·#^¯åiòË\90\97s\91.¤l´ù\ 1¦ô¾ÚÎ\82Ð\fJäÕý°\93\99\97}ôôê\1af\8bcj\88c3ð\9e\ 2¿\ 1\ fùx·U\ 2\12þÀ\92\9cÞ\8c  1¿ ï9   \88~wp{ébY\85éó\16\16\ 4¿\9c³\f^     àKâb\81hLüçÈ0/OXX\12ÚúX\12Ù\83ì\15|\97OC\ f\17&WLM1Û\15\94·\85\93-\8fO3â\8b\9d)ìÞ\8eëµ\99\ 5xX[n\18Y2â5/©MsHªC5¦O\96úá\0·ù3~ù\8b­l\0©ÿv´îFU\11\89\ 3#*\ 4C\98\89±\99IMØ\1eZ\94\19\14w˼ZtÈ\1fÞ#\8bwhï\11Åàí(GÕ\ efâ2ãA9:  ²?DÅtµ'5ùA\87¯&6ô-­\9c]?¹$Éî\8cý(k\8fÏSð¹½_Ê]Uùp|eFXÌì\96\80Îr$|\f\1e\98PióÝí\1c\1fÈ>´ñ\ 6\1e[U6Ï\88®\ 4²Ùb6\ 4¿ÜFÓ\87ì\8cr®M¹I.\996Ò[ß"\ÉÅ#DhWò<\82ó\8f+¢C¯^\94þsè×®ôþ~Ú\e\8bÐ\9fÏö\r><þu£ç\8d?\9fn>nOçÖ\8d\8eÔþpF\9eü\9d¾>s\aóüciÜÏæè|äÏçN\18|\88\ 5ó¼\8d\8fÀ?\9eô|þCùú\81\9fµ?\9d8ÓêÏç÷Çΰþ\7fÀ|ÿyüû Ïö\ fç{\1a\7fDþc¯â¿\94\7f=½Ù\1f:cù\89?¯H\7f<(a÷\87óÝ\ 6\1eI;||û3ùØ\8f\9aÑÙóÇóîÇÎlþz0Ã\99K\8f\1f9d½pø%÷ÝÔ\90ú|\ eE1\ 6$%ê\87\96$q×'\82v\7f\8f\91h\1cbº°\ 1\86\95\1d´ìÿØ`\ fH\97ê.ã\80\9eÿw»\8eÀþÝZmáQ±\96\8c¸\9a\91è\14Wk\93_¨ô\8dbL&\ f\14üMVg}³Äõó\ fze\8d\aæ¹\93\ 1\13Û÷¸W·Qén\15Þ\1f®C}±Ù\a5\89ô«W÷\96_\aO\16ö\81÷+Îû¥öÞÐ'xÇ\93D\bZq¯ô\13{:#s4áÿ\1eQ÷Æ/\9fòÅ|9Äá\16\83ÚáÖ\8f\88\7f>)n]ìÚ3WöEòÇ}¬pê7×\90ÌégY\9f¥èϺ¥jÝu\94\ 3!\9f¯ßÓEx\9dea\vË2Ç»\rs8Ô¸fOo\94¸e^õ\ 3\ 6ÿËÒá¯\ fe©p×\97·*\34@Ón\10ƵM\16°Dû&ÑOÇIÒ\8b\7fÆy£[\0¶÷µsÒ\93hø3Ô£C{°\1e\93Ñ)l\86\86|¤µ\81\e\¯µ|}\7f^2o ­øÅ·t\0\8a\84Br×\v\9bº© öúæ£\véÝGM× `É#ã& ¹\ 2%já\85¡¥Ä¬wÜ|O\19ü\83\80\ 3\ 5£#\17~,i¾ê*\vDdO\8e½d£Û¹Ü\93Ûp^ôT\fþqd\g%@ÿ1?!(ûv½×ß+\986_\14ÃIv\84\ 3äÖ\9e!®pÏV·qb³1\84#²÷¨¬=×¼Y?\v\94µ\8c4I;r÷¢sQ{ù:DQ{&77iA\ 3pè-\17\ fJΰ\8cj\0Z\7f\19e&\r¿I\1c\0©ð\81\19\ey8¹\87²ir}hð@uj\99(\7f\11m«Á\93^V{Q\88z\12î&\1f|\83Vûó¢
+öðüâÃ\9c\83\ 6$P@Ò­,dWõ®Bý¸Y̬\rØ\19{Tâ&\0\9c\9dÜ
+ð¹rÀ¶}\0\1eTå6«ü9ÓÅ\94T\8f\ 4â,\8eTí¦\1d@Ó¾·\8eÇ«\87óØ\89\87¼'P6`£¡ÔÜ>ñúWx\f7°³qÜ1\ 4zNÿ\98%\9b\1fy\ö\væÔ°·g\96\ 2\8d\ 3\ 4÷\12Æ1
+ð.\86n\9cdº6=+Êä\99\96¢!\ 2ì\e\83\85ñú2#É/e\82ÍûÑZôûT\83è$\81\89Ø©\9f\1dpÊk¤n\at1\87\9d\1fNó_ºNî}è§ÒÆþ_O\1dádë4å\ 1\ fý\98Àù·p>qeK5¦¹n\8b«\8d¶%®LÄ\v\96ß\18\93éÐ\ 2j\16CÑÔ®WGÇ\ 3\e\9cCJÈt\8aùé\a.¢Ó\\11x\83%\8cH\85¥\12\8bëÚ¾?\9e\9f©­(Τ²i^\17l\87Ä/¿ÓåÝÒë\9d6þ/¥\9dÁiÊÑ\8e\v\1ciZÅÿ\9fæ\11z@X·\8a!\81³Ñ\96©}gæ%ÚÔ\1dä \990ÿ1¬hñ\12\b¸bWáh\88#H1¡óÆ¥Æç#Ó,Ú¶\8e\1f\búµÆH=­´ã\8a\aÎN7«`Ü\15\ 1\83[6\1fU<ÌN\82Ü}¹¸ë\1f\99\b\87êû,i\97Îj\13"ikðHÁ\11¼\96v@zîÒl\8fÁ\1d\ 4B\µÜÚÉ[Í¡Ú\13VO\92|Üü9¼}ß·p\19\ 2p\8e\8d®ß$î\ 5\93È\1a\9aV·`oT®ï±\85\8d\f©&_t\87v\81\v9{\89\ 3\8c\90Ò½à9Ân^ô¦'\8em©ËK­5Za§¶òo¬áÜBÔ»­£\18\8a¼\81 û\86+´\9b¨\1aM/8Éñø\9bįÙ\17QÑ© e%Þ\ 3\91\b\9b˼\18ÔÃ~2rÑ\13\19\10±§k¦\ eæ¤\80[hmW\86\\7f\17Âû_\b·è¯Fz;\91hï©\13,P¯\91=7"ä4ÝQbÄÅñ~\19\9a\15\12ó» \e©ÄT_\a\15s\1cõí¶«+\87Ú£âî\fÍÜs\12´\ f>ä^\v\94\9dß\94Öæn]³uz0\eÄ÷}\1f\811û}\vs¢Iº÷Å\16=\12î1²1;i`\86\a\94ñ\1dªäbM-©\ 6\88\aQúÈ\ 5£Ít ÇØå!\a      dTø4\9c¨w¶\16bP\89^ÝtGÑ\8bU+*Ó,\94þl£_ò½d\88çÀ\9a°.\83Ën%\1e\95k\1dÚ\1aÿ.\84LXú\12[¶KëüÓîãÌ\1eÃ%¹'¡\8b\ 13P¿\ 6   \14­Ét-È\9b2\95\95\ 5û<%n\81\u ¹\96d&\0Û\88©-\82ôñ\88¹lôl\9c¹nô­Î @\10Þ¿íæ¥Ú!\81ÚèKT\96\18`i\19/;\1d\81\82µ`:g²_¥aÄ\97P\93JktZ\96\ f\9f\b©&Û¡\16­,ô\ 4Þt0üjVæ¦\1c\15\97\98\99ñ¥ü.oãS +-\f³#\7fEc*Îù\8cC\13\11\15\12\eÂ\83F9ꬣCRþ\1a\0Ü\eè\12î\89\8d\ 5ÝÙ\90\8b,\7f\99Î\8b!èxô\16\98°ÎCÂÌ\9b\98±Ý\9e,ÖF½\9d\92b\189¥îÿÕÝÜ"»°Î'uóy\7fLo\101m\ e´x\0g\9f
+ÁÒ¬gd½o\97õm\9fs?i¶Hÿúùüݲ\866(ßpÛh¥\15÷\96<\88\8dPz\ 2n)©\7f¾Qït?\9dSþR\83\19\v\85·\0@ß;I@\ e\87à\80À=Br\980¨þ\1eZ6ßFÜþYó[²ú\1c\80é­Ø/tòÏ»9\8da°b7\90\15½O\búÎâùAs\9dNG#\yq*ƺ6\9b~Æ:
+\ 3i½0Z{#%¸\7f3\8cñúÑî\95°\84Q\1aìáp\ 5\ 4ÝËRc¡Ék\8a\86¿\1d·       èä:\7fÉS+G\8b\82\ 5"\9eêk¼Þ»\ 3ÿ\8f\8bÞf\9c`jo]ä\ 5bÃ'ÍV"\eJ³=§a\ 5Üß)|\17\94\16\84\13]&ñ\9fÐYbν\88\18\92ί@§_R\95\9ew\1d\a-*%\12\8e·\7f8»Å\15\80ò)\ fy\91>yiàÕ\95\98\8d\9b¥}\9dY\bP\13,|ñ,Å\ eèÚP\87ë\ 6¿,±²©N\98\ 5\15¦áE%\a\f,´L\ f\17õ;!\bØM!\ f£U§Ì\10Ï\8f\89uV\9b*Á,Æ9x³\ 3ú¼\93í\19/ÍÈ,³\8fþ"¬³ßHk1ÿQ÷¦\0{^׺Ä\9a\89nÈ]\84\e\9fà\ 2\15¦¶"y$¹Ãì­Ä\1cA\99ÑÂ\83âöÊ\1dµKÀç5½OîÖ¬\8e¸;Uð¬6ñpn}Ë\v\91ì\88â\88Mi]?]\93³jò\ 6
+`gX{\røÍgiË"üHypîþ\8d\17ÿ\9dßèM¸;G¢ÿ.í_\16\94±#:[Oò¨ú\94ö\85ùjoQLqK9°\8d\15ÿ¤Ãé\88\ fôåUño1ööW9\v£\e|¦Áÿ\92Ü3\9b
+\8f\18æ<À6Õ=\92\ 4~\ f\15\ ex\85´ô\r«_[Ö\7f\11J;ò*\e\87|<rT\rö\93¦Ü\90.7®\87r\12\15}(æ«çFÈ9¥q\9cá>uióga\8d­·$\ 3¼KAØæK,¤\85\ 6\8b\94Us6àeûÔ\9cL\1255Ñk#àþä­êKhĵ7^@¹ÄÝ2ú2µØwÈÿAvÈq\ 6kÿt^«Çq^2È\ 5_\90t\84ßGT¼S\ 3\\8dÏGé\1aç\8f ]/Öæ\0\ 1å\9eLeÓö¡?µÅ?e\8fí\12ÚÅ\89\96@\87ö\943!ãâi¨¹«<\13oj\1fvJ×N¿\85´Yl\ 2ÖËXò\96\r¸þ,k|\ 3à%ix\18¥\8c\98\\9f\ 3\rÖa½VøÖø\11á[@GÛÃ,\1cê\17ìM\18\92I6E4\ e\85ùe¶ùZfæ)é§·\ 6m\ 2\80\8d\ 1Û[µö\85ÿ¹ð\ 48àmªE%Ú\ 1u³³\9b\a\15[ÈËsì¿E%\8bØÙ0F\97ºruè¥ÎwÚ\Ç\90Ð)XZ\1d\9bT9´oÊ;\81]<¹. kJÐáä\11;É_E\9f0SE\8c7M·.\95ÃîG\fj+Ãh³mm\1c©\81þ`\83D\18\/Ã*'É\8e\17Ǿ\8f\83Í[çrm\9f']Ï%h\95\83\85\1cº\19\8d6\1eÙð¢jª\8e»9·Lù\ 6ÊtÏM\15oV±¸Pë\8a\9a\9c.gÛc\85\r\85½ËTÕ\1cù\93»yk{\96°tÏdÂÞå?\ 4f<U¾¦qÝMr!ä"ðp°·¹x\1aåç\18rÜždë\9dMl\97ºý\9a¶{%øõ)ܤó\8ft\16OUO   \17\9b\e\89Ls\14ØÂ%¾qñ2Ø´:ÈÜ\1aA×ûu)વ[ç\19ðdy©ÖÍ¥éi\ 6ï(;\87\9c!Óó¾\967\v\93\9a\96&¤pH¹?9f85\8e   \97ëêz\10\95xL%ME\84®\93êÙ³1vi2WàTZ:'i\92é­ô4zaOí\1f\10pàOÓ¡\95?UÈ\15ªß@\r\1fÉ\92òC\91Õ\8eñk\1dò\19÷\9fh#Ããã<^\8c¿\9bPkSëܬfü\8d'"Ä\8e\vüÊê\ 5\84,a+\95§¯,\ 31¿2AÊÝ®bfa÷l-|½L¢´ð\13X\9bR³j¹\83\87\943Y\9a(ÿh¤e¿Ý\11ý³\8b\83­óM\ eú\ 4UËì\8còMB`ç853\92u\ 1\87\10\92hOÔ\8fäÉ7å(\1a(k\9dPpÝ;\85;aç?l\ 1\99Sn:´û\82(\93âÛ%ÔÀÕ6²<·:þ\14\9bÜ\ 1\ e×ëJö9"÷§5¨\7fº\82îð)Xmì\9añº\7f\ f\8e\bx×5Q!âÇ\98|\1f´ñ\\ 3mÈÎ/zµñ(`CÀ-\12À\9b+õÞ8íh\/\0ÅáÁiÂ\fÆÛ\9c¸[\f\8f\9aòÞ8è\1cÔæ\ 2×ö·\19U\93       Å\90,\11°\87#¹íçPs\17\82ò@\93åñ\89xí(\83Z       ú\9cyd(ì\94\8a\87ÞêM\ 5Mg"9ÂDV\9f¬0©S\84k\89uô6\94%Ý&¤O\84=\8c\0,-ü\r¬\9eÛÆ|\v\12ÞMeH\1a\9f,¥¨5<?\7fOWRA\89W36ê\aøI\aÒT\ fü\16R\ fzJ
+z÷­('mÐä@ÉÙí´r>CÛà\bK6Ű,\17qTT\85¢>û\86\95\7fx.¶\ 1ÿ\10¯µ8×Í âìá´\18_êX\1aCȹº&0\97\eRx\9bÌúE¦ò'Ré\1c×\7f\82£³\99¼\96\v6ÁvÈ\90iT\8b\1e§\ 1N{\9a­ð(#$Q\93-* \0\92{\93\10~\96J\f\aW9°sQ\9d&oÛQEòÖ¢\8b­¥E\11÷{|&áìÂ͹O¤\83\98¼Ã¹ÐNõÃ#¥b\99Ppö·jþ¢Â¡ÜÈ:vôÌ\8f\ 4\9d§ÁC\18\14\84\1aK\1cð§Ï\ 4~\9eGNþò(®Eé\vOÝ eA\94X0;a\8b\1e\80\ e\f\ f§\91\19\8bçm«\an\bú\ 2k\16"\99m´£ë\16g°s\ 5k\81U".r  \90T\\92ÇäýÒ(üe¤M½UÙ-\83\9c\14&\7fFìXÄùì\8eUcÄw\82\9açP8d¸7X«\83jÀÅÊ\9dFR\vZ\ 3o:ÂàÛO\83jÙLÅ&ö\8b\83mPUm¤<¯\99\ 6÷»ÎF\\ejëMCZ&±5
+/Ë\\en\9a*àÛu\8bþ×ñj\ 2\8bSF\98tKMpm¾OÙ®\83Ùà\14_¿~v2æ*!®\16\82ëEÁ¶¡Âï\96\7f½dn¬.\r·L\1cbȬY\8a¢vd¸6Ûãøµw²\8d¹Î¨\9d\9aö×ñj4-ÙZ\9dÏÌ\\ej\88gôì\97þ>,^|ò\14íóW\ 6Û,ȳ&"*±÷#2]ó«Ö'ÂL\94CíE«&Õpm¶ Ú$ËÇ\93.麠ÒF\1d\85ªÇ·Já
+<\89\90}ÖŪ\8c£í\92ï½x£\8b\865i\\1aMË6uÔÍjW\93ñLr\9b6kȲy;=3\95\91yS#2â­B\14µ25ÓÊNÓL\91¢\85ñ¤T0Ó¬\82W\9còÝ\91ó!\99\9fkhî!\81=2@W\v*Æ4»`--pß­\ 3\vÕD\ 1>üÐûÜ÷éí\ f\1e>åtÚý2K¯Bär¤$44\î\19\vH&2k\ 54)æÃû\a\v,ökõÃ\ e\10 ]Ýͤí\96Ym\85\801ÿ@.*\05\ 1Zµ2*\8b%\88k\ 2@\92\92¥PTÙUvV¦Co\ 5$
+ -[+¬\90\99r\8a\8eUWeUËÜ»ª\85\ 5RÐRÚ\8aÐ\ 4\0\0\10\ 2\84\84\0(\82P¢Ïß>ýýûü\94\10\1d¶Ûw\9dç¹Þû\9b\9eç¹ÞsÔ\ 3»K$\92I\1c\93¿%$÷þÙDÆ~Ô\9fº\ 5@e{çì©ü¶>ª\95°{ü:r¥M\80JÿÀè\8bE\9b\10Nc\12ÃE\97I9* ÿ\ 42*¼±xù:ÆÂ\9d\ 60\9aèÌ\92©\ 5\96\94Oe2°Ü2\8e}\9cJÏo\7f£ÿ\f\9c®1ºvîgâ=í\0\88\103#W\9eo\ e\82ì/Ãç\14\95\11Ù¾\1d¦)\19ºÕÅú\83\9e\80@\aÏ%ê\18ê¤Ûã¥ó\ag ¸Ì\97\8eê{ãs\ 6ÐvIÔK\94\85Ùö\98\r\19 Æf0\9e\8c\aÏ\ 3\99ÃG\17îqìè>¾3æÎ'êâ\v\82\89 \97´\93\166TaKkë± Ü\9c\92\84>En\8dÛ-\9dÓTn\98=êGòçQÅ\9a|æÛÛh\11ì¡1Xh#ú¼lN\ 2Ü\18ã\1aö*ÐÑ®¢ù;vÚ±ó%y\ 2ÿ\87A}\13mûÛz\1f»\1d³µ÷²®gí\16©üÉìÆµ ±(.!LíÊ\ 1ÑXçøÒ\9c·á±gÜ6\8c.(i$7\1d+\ 2t\97¨äºKÀô¹.\92ìûÕâëW[:Eñ\93ö\95|\97í\15Ú\95¸£\17\8eÔ®ê¹]©]k\ f\ 6·\90éÇkÕ´\10x\8f SS¼\81W@@        ÅZ{^Âû-HHi\19³·km«$ãE.aáç\b>\0c©µ*Óî÷ì\ 1\1aãË\11:¤}Ï
+\9f\90¸\19\1feÆ+\8bi\83¸_MµÙ\95³OüûÁ4÷Ë\12Ä\ÁÜ\ 1\1f3"     ÊÕµN+ß8ªÁXZ\97ûÄã\1f«N\9ft¬ß´\7fÙ\16$ÖeïÔ¡Ä\vD\96d\12Xz\1a;±{ypÓ¤+F7\80\fV¹Y×K9o:5Sׯ<>ïµ_\14\8e\8egm\ f¿'@\98x-\1d¨©ås!ÇéÓбTÄlS\86\98/\ f\8a\87äðhøx#á\81\ 5µ\1d­\90+È&\9b\9f \87Tk8Ѻ\12¼³Ï³Á\ 2»|#s²MIuyèòø\80jëT\ 5\8aaô1
+\ 2;Þh9ú]¥³ÔWJ\832\8d=±"\90¤Ë6~ô¸¶\ 1Ë\14Ùa_à\12Õ³¾Z\9e+=d\am\1fIÄãAÿ%©\80\90ð\1a\ 1ö\91\8d\13òþá\84Öö0\13\7f3Ï×\b&s_O\14¤à­\1d'µÉÇ\8dsåÝ\v\9fä+\85»ôJ7\96°\85[\ 32¼¦Qö\93óà\17ta¿H\ f릾\ e XÝ^NvÛÑW\94¯e¶\86\97\11\84ÆÃ\8ah¢¬ïø\ 5í\9d\16\96Ô\9d*\a0t}6\9f=\1cµñ\8f®\ f2âïÔΠùdà)Zhz\80\ 6tCnÍȳÝ\99ÒñEà³h·\85éóâÅ\86Ù\81d*¢=¹o\vd5{Zÿ©\9a%\ 1r;Æ»\9c\18¹\96\ 2V\8b;¢~\ 3±¦Âøb%\93ðò\ eÇ\97«N´\92\82>{\88tÜG\8dq4\19;¨¼\1d\9dÏV:\85x}h¦l\81Á^Ðñ8\84Ç#ñÛ\91qÝóûó®îÒpÔ)Þ\8eèÒ;\82Öxò\17\ 6+\88çL\óÓ-\f\1fm\8bÑ\93ǾZ^-9½²îx!¹eD\9b\99ýi÷«~æ~Íõ½ÌþÑgã²µG\8dXÄ´    Ã°Mè6¶uÖ\0\83\9a.`èÉÞo\980ùX­Ê½'nrÙ4ÁöÍ\9aq8XbY½ywWaúPþ\ eS*/\94\ f×\98\0U\aVÀN?KUbF\8cx¼®\1f/BÝèjÖ:Ðrì£\vdµOò=\fçq\vµ\83ÁgC\9dü©\9cg\92þ\ 6Ô\92´r\96öt\84\ fÖôe\87óSM}       \ 4q\1eyÅ]Ö½a$ú\ f\16öuô0ù\8cdK§¨Rj<÷ð,¢ÈÓD\9eù\84\9a\0¶ÂÏÈ¥þ.\ 1¥\vIC\ eë<íofÁä9r\ 6³Ë\16ñg¬"w¹Q(ͱ\15x\9f\0eH\f]±Xë©í23áJ,Ñúßå\16f|ù(³ÎóM\16xÞ·Þ\8b)=2E\99_YH³çÿ\b³§\9e\11\8f~ô_óÓ\ eñ¶ð;¾\12\19\11С\fô>±J%ß½byÆ«Î\12\8aL\18*\15æ©\a\ 4Lr=#Éôim\90Âýß\ 2x\ 5\88\ 5GÃÚð¤âÅF§\84p\1aöjÄ:ãml\96·<Of®®DóçÜÊ¢lÓ\986`S\vÈ9\83´\1fü\8cQ\8d=Màýgt\87¤ªÍãSÃ\8e%\9fî\8e\15Â,©\15\19N\8f9&Û\1c\92|\93::\12·²\19ð¸C\90\ 1Á«½1g_Ôq#\89ø\ 3\ 4\18\16Îáñîª+­\17Å4\ 1£.dâ\90Ù4¾\1eVav­Ù\8cÖ\10ªgéð\8dðÌ\ 2A\1eB\85Ê­\8d\ f/Ü9\84\11ì\94o\82}²;5\9aÙp\8dÊ\95¼jÚzÜ\82ÙÍ2õ«_-VI=\13d#^\1dµØ7\8e°È8hñ\85\18´«\98ö\\10ô\9fYMÇ­y/î&é]°q\ e\83iHݬ³ë\83¹jô|%ñ\ f~¶ð«c]é\eÀºáW\11KSeV\8dZ\aפq|\0"\b\ 1S´Ï¾\81£äÜ)P (¡\17fþ61.{4÷sú\19cµôËBß3o\v\0Æ\17í£\98
+ýúsíE|\85úxV'\95á\11\1fl\89C\7fwÕ)mÚ\ 6JXD>±}\82r{h®ærðø×\r\1d\98*Ùliºv\92¯¹Ò\876ñ«<×\ 4]W§.Ý   \8e\eê\94ä[8vÈÓ³úH÷¾}JX\g\aú¬(ze\8d¯\ 3\96äûÈW­¿\0¬\80<\ 2ôä²²ÆWï#µ\9f£Á\f\ 1ï\17b(»cqHbÓÐ\1eÿСà\8b\88ð\1aÜ\ 5\8bg%\9f\9c\97iä±Ý¾\80St     äs² ¢\80±Df\80_\aîv\81±LV4dû ¶a\9fÖá\86\ eT¯Mö\187Ë.00¡©ô±³\ràØ\17Ãô\93¹ö½\99Z\v\11²\9a\rhÁóQ¯úÿ(êèZÏ%"Nî\84w\18ÕØvÅt´ã´ù\b..\18?VUõÉÜ+\17õ¯\86Ã\8e©XF\16\8a¬Ye§vvÍB\8fÔ\14\1d\82îþM\92\97\87Æ¡s\16\7fÐ\13g\1dQ­R\ 2ðFóè|ûð\1c\ït+w\fW\f1Öfµ\97{
+}¥5=lÂÙÍk²ÆI4¬Æ"ÌÜ\a5\98ì'\ eLe\ 5\1då\99=/\1auã\\r'\0l®mÝv\14¬BXÌ\87Ç ZCöËN¾\97\e,\ e¢\85x¢m²}¨\1dѼÎ\15\9b\1fÕ°ÿMãÊ~£î\ 4Ô\87"a^\9b\10'\92Ø\7f\9fú¶\1fGÿ\8d\87Õ\1e¨£\17fkÀ\ 6ÿÀéð±?VÀl>\8b9zì¿\7fól/d\9eÏ\95ÊÙízBJHl\17\ 3\z²\8bßñÛ\ 4'\9dH\b\ f»\ 1SîçÈiï7°>ÑhK1K\8d\93¨`Ö\b.Ë[\93Ö5\16\8c^ÜÝ5ë\19=\98C\ 1\90ζ-ÛhßO!ç\f¶ù
+ç|3\12U\ fºF\ 26_\99¾6£Hjáh<\9f}Ëk\99èhý\83\88?X\938ÈF\99\18«H]£\90`\eè-Ü~íßÿá©ñqL?ûä»\85\mqji\91\1a\14\96Ç\96Wh\9céd6x-øª\17Z@<`õ&Ò9\9f³Yÿ¶3cJ\12{¤tL;\97\90¸c\rF\ 5ò\1aQ(\19é÷ÅþµÞ\96\85ó\8bew¥\r\11\9e\80)\97Fñ=îm¡ú¾ûÐ'êò\9e\81öÓÀ«\e\9a\88²¬Ñ\84wp´\91\8b\13\89²£\8f¶¾Z\16\ eã×ȱwZù\85\83¾\1aÓËñÎò\86\9f­{\86CâÚ½àËpR\84\96â\ fq~ȼOnìÆ¬*R%6Õ4b`§¤\9cbü#»7F¬æP\92\ 6Á¡\99ÌoO[ âÖL\85Í\e»\8e ^·åz¼ë_l]C½Kï\8fD\0\1d\16\96B\ f\vEè!Na÷2Ρ÷²\1f\8a¶s\97«pÑ£ïÄ;ÌÓò    `ºÑÞ2æ\vÆ;Aqµkë÷-ÏË\93\87ýÂ\1cü¸9\83Â\1d§~RÆË&\ 3e,l\899ñ+ø×sáÃF¯§ÐnÚøç\82xûlÒîzsß{\9e\976ïþ'Ì×6.%ÝêÏ\ 1N||;µ9ðV\89ýë\99Þ®ç«Û\90sÅõÄ_vîgøMÖs¼u\v¨\19b)RÁ]­\99&K«Ï;ñºÒH\93?E\vv\ 1¨ºÄ\82¸TÉÕ[\83ýì¹ÁU\88\9a\0¡ã@^a
+\93\94\9bu\ 3\138\86"t¾q8ĺ­æÆ\87\9ePÀ?\100\ f\9b\ 3\97st)Æ>t<Ñi¼&Säw\87\8b$&è·[/Ë~k\9dû­ii/Óî÷vÏÓù±¾çÕÕÝ<ö\90¤Ëìb\7f-Y\ 5#-Xû\9b³íÝ\86\13\1eî7!úÛ2wûT~ÿ!Ùà=ü®ìñØ~úÎýV½\1e$­z0\1c\ 3õL¥\96©\ 1ªÿÖá\96\ e\89ÈpÑã*4\8c!ð¯X8ÆË\1e¡¼:,\ 4OGÃ5T'\80F\v \16\ 3[bgO\ 1«±%¡­ÂÀj¨\fX£Ø\8cÝÔ)aR\e0ÝVµ÷\bÁ\82\8ecK\7fÉ\92\17m0\18\f\ f_Ó,üûÝ<äÂ\14\ 1  Æ\1ft\87Oé¹7\12Æk\97\bV\8fiHÖUôÓÆ\1d\82åîå¾JF²ô/c\1c\10\90\940Ó'¸\91\89m
+<D½.àvðÍHå     WèG\96;s0ì1´ó÷w¶úyûÂÕ?¾OqÉî¡PN!·\8f)\1aд:WÚ\15bÊ)ªÇRj%Cá\7fùV}x¿åVe¼/ÿªÈ§\80yfÓ\ 3c÷ÞùñÞHÇp\96&\95\15o)\8eÒ$\87ÏH\114Úò!c\18ð;¬K?â\9e\91éâ\7fx\7f\1d®4\9eS\ eÊ4\965A\16w'á\ ey\9fzÞDåN3\16V      ÿg\11\14[ÍbëØ\98r}_\95%'\18nøõ9ºEb®Ò    \83E¢éÒÖw\91R\ eô±\95þÈ\88[¶û\9e>_~\13&\14ã^\1d¢r\85Mµ`»¹3)\93\95HÆo=ZCdDÓ8§\8c\f`½ÊN\1e_\ 6î\96©êÆ_°ô¨EãHÓQ9Îì³zî7¨\85¢õ³µ\1d\85¹¬ªcæ\ fª{R\8e\88QØæ³û\99"uÄ&~±x,\7fqzÎY\18㻥ª\9añw%\9b°­\99øq\ 6·ªÀ[w-X¡ù­´WÖQ®\bò×Ùª\16e8×9`õgP\vE}\90f¨÷'²\96&,w%\8cã\ f\9a\16//Èk¨\ 4ϾO$\9f»Ðù&й´×L\89õs¶õ%«ÝÃ룻\86ñ\90\9eqcá\8dt}ãJ²Ë\98A§ðȸeOHõb\b\oÊDÈb\8fíB\ 2z6#¯Ön
+=\84\93õ\a«Â?\18á¼\93\94Q\11÷\86\87\8eü"¢\15·ÏtJ³Y\1fãI[\14\87\10ð[@m\8eîP¸V_Õ-ïsd\96÷\19¹      l]\11\róÞ*\92¹¥>\93Â\1a¿÷4§ëY\1cöÊõ£xÝb\126£p\94\8d\ 6ËïHÕ$s±ï³f\91°\12\126¯õ¥#tæ\91¾È\9f\atI\18 `\7f¨=J\ 5V\19å7\ 5\8c7üÅ\13k5\9fÿ\rØ­\88ý¯\13\8c\8c©\82(~Ì_¢1Õ+
+Õ'áë\1cÞ#·¨Üþ\ 6å\83äÛ%IãÅÜ}hA0­\10\97B\9f\9dê¶\85UßÙ  \aÄÂJd¼]¤>µª²/\ 3\0<\fãrÇ\b\96wÛ"Æ,lÉûwP¤ÞS\85\10U3\96A\ 4h()µÛ ¦òAuò   ·\82çd\87Mj\9f"/rY\89ÂÏÆ²\1aL+̪\ f¢ÏçP\88¢Þ¾±$$Ï\18\ fi\99(^.næG§\9e\r«\91\eJ3ûÒÉD&nA\9eòI\9f¬áG\8f\ 5\8f\85¶Cé\89Q^2\14\16³\84j`VÚ\92Ss$(ÆÃn\14cæN0uãXIÅeq³\91\a\9e5QZ\13²Ý\ eÙVÓsx:C\9aÊ.î\91
+\7f\82\1abJW\19\9d\1eOl\9b)\98?*/
+f®U\8dQ9»` ê­p ëi>zΤ¨:\8eÍÐFðg;·-\97
+M¸i\ 4»\942\7f¿½\8d\8b\\15\97°µNÚöZ\ 5\94Wz.Æ\81A\ 3ùÞm|¦pmXû\ 2+_ûQ\v\92\99\83\98\15C\aa ìÇÿ"Ü\80Ñÿ»½\93(³;¨ñÊ>Ñ_ ·\92\bûXöûR»ëy&\v\91\95óü\9eö\Ó!<PÈ4Ïyçm¸\82I\ f        ÛA\99§â\8a\89_\16ð\ 6\1eY\10\14gî¬\1eÍ)¤±¯        \90výü\ 3\14\93ϵ\0Ã,SF(¡WE\8dõ\v\8f\17j\9c\1a#Ù¨Á~Ý©(ï6]°-Ö\9e¹Ü\ 5\9eò³÷ç4%ù¶\83I×^>l:Ô\ 4ïÆ#9\b\b\1a\84îf'£í\9d\1d:®ç#HøKTøi\8bï\80Pz\ 4à²çA\92ÙÖym¨\97§¬CÎ\10ñ\138êÎãÉoôä\ eyR6vIÍí-\87@=úòo\ f\9aâ&^Ü˶Èbíáà³\9c\8c0B\13\eº\92øÙ"L\ 67\14\9e]RªuÈØßÓiàu\8c\85å{vtÖ\8eeíÉä*ÜÿÛ\1d[\18%\8fG2F$*Ѷ'´ q 
+F}~Ì©¹)P\8am\9c\95\bò¿Ý\f\ 4<ÂkÖ!\ 2æ\82\92gÔ¢\81ø\96Úå\9f\9fw\ f,F¬§\89\8f>BZ\9f\8cÓ$"AôMã\9d\15*\11²\1dâ©@gø¶\85ë\8aË×ùôÈ\ 4KØý2\aA\14\80L|0\81ó×5ó\ 3Àa\rÍi2Óº,Ë®vÌcNð¾\8dË]\vÙ¿ðb#ÚÌsNaåmÜ©\8dL\85\9a\14\19\9aq\9d<\19!3^%\92\12$\8f¤"ïV\ 1½Å¸Å\aò\10M-/ë?Ý\97ïYþ ¾\1d¢ÏóÅðɬþ´©½\ 6Þ\80®Ö{206\8f­íÀbååï\85©æW\ɨ\ 3æ^¬ªÏêwÇu?\9b\83ÌÊ\98\a÷èA8Ñ\9e\1a<ã¼Â\85Ç5ÿÇ£=VJ\9a*\1d®ç¬ÿ#e\1e<<dÃ\86\8c\87p\9f\8e¡fWÆ·\1cb].õXqóØ\983\13\18`\12ø\912\8c³Èw«ÎÀÇ\96üaP?ôÎáâ\ 6fQ}´\8dMO_s%ÜRûSuéíΡ­Í\ f\80ïE8leK\83(Útöù\0\9f=j\98{ÑT\87?=\rÇ\97Ô-R\ 3{\9aJ\8bK£ÛÈí¬*ì\8f\95Åíɼ'\1a\89u<k\8cÞ\87\9a\15\18ê\87\9a­%\13\1dªÝì\93"\8c\87\88êöCÍkd3 ¶I\998\8fyMÈ"\r\1e\8d\ 5qOÊ\88ì·w³ôí/\1fé_Ô¯¸àzTø\9b¤ÓÄ)\1c%<½b\91\89°Ñz\eóÄÙH\94\bC,Æ\8eq\8bb{\84ò\ 67$\87×òŠɬ\17\91±C J;ÞÝ\ÏëE1<!ûpí\8b\19Õ\18\99OL\ 3¯ÚAj\e\1cÆÃúLj¼\85zíö\1c\99h\ 3\92\8b\82TMv\97\8eelxþ\0\r$¿\16ÊB\9e\1d\87±¨\8b0³ñÄøÑN^uªøaNs8\94q;d|\9e¯zÑ»aÞ\19í\ 6Ä)Uye\11\e;\8eÄ\vø6\8eÄJßãµ\vÝoYÿ¤EuµÍËh\9aÂý#g¶ØHñü\15\83ñÜ@n.\12ZÂe\9b¡!)\7fØÊ\10\98\bÇØØ\b\a4\12¤\ 2B¯¶lM \b
+"lûB@06\ 6¹¾ÑÅ\16\14\18<\19[N×1:\8a¸Á8ò\ 4Ö\1f^6>È]înศùʹ\1dÝP³Ö\15µÊÏóì\bE\97Ú\14\13\8e6¼k\99\ e¡P:\1fte<a\ f+0\95?ÿ\88K\11}M¡A^3>ø\91ê?^\97f\86
+\8d\1dõÎâ«!*í\ f:\fÇÔ\1dñ´ÖëÎßÿ×\eìÒ\12s¹´$µ$p\15\ fù\1añ\ 6\99\92ÏñR\»>Å-\9d\9aú\10U\9e\19\13\9eÃ\7f\0*­»\98\0\89Öê\8dã}t\88»þZtw3`\13\84e\ 4ÚæÐ´)]û^\1cáK\88\9cÂ\b2Zôãz\1d\14-\1fôQB\81M\17ÅÙÈoÙ©3\98;õ@¼\8d£C}t(@\8f{é        7\10\84\9bn]&ã\1cÿÚM\7f©:X>¶L\9bçõH½¦ºBEZ§¸+Èm\9f­®RÌ\8cx#\7fK4\91]ÂÆ%¯Â¬íQZ§±\9a\91\1dm\11ºªÍ'qàÈEÇÅ7#DA\ 4²à2Ô\83\9c¾È\99q¥Ö®í\98\8cÜÌ\I¬\8a\ 3yÕ*1ºA Xß.ÏE­^Y¿Z\86Óý&r*h\a\997£Ý`ÐòD²¦W;¡\90\ 2í.ë?í\váx;\9bÙ\1e´Ø¿/\88~\8b\83³¨\8a°\8d¿®5°È©Î\ f÷`öy¸Æ·1cÂ=ºªMÄÕÃ-úcÇ\8dÐ'¶EÁ\9e53)ù\95Vð:(¯>'\aó\9fx\94"\19DÄ´\8eè\vE³EÒ­\9cc\9a\82NoM\90)\93\12ïù\ f¸Ý=_÷\9c*;ùGú6\bÆG6~V°kßf\83\ 6¼[U\9c×+¿<\92lGî+v\ e\83\1a\1dÙ\b\8a\9d¢ËTè\13\fÚtð j#\ f\81|ïKæ¿\9aöÅïw'\b\ 4³'7Î+5±\9df¬èT\13^\16°§\97\9e\8c-\11u\ 3¿ã\8e¯°\ eA\9eªkòjÊ~"6¬¶G¿ \82ô-\81²\ fæ¬\1fnʹ\87\vä\80p²ã]e¾EPÈ!J+ÌxÖQöä{Ë\90º¨¬d       w`\ 2ÿÕ.3Ý+\1cnú»lº1~¸C     ÊTñb\e\85\85jÉÄ<G\19Ä</Ù\ f
+\87n?VÄYf7þ #±\99$¾ú¯Ë\1eØO¥Ad©fZ§\97¶F\ 56Ï·\95ùQõ·¦ü\8e½ó\bhb®;\95\bgáÛª\8dM´9³×wÅÐ:\1f\9b\86qÔû¨}\95ÆUã^\85õO\1ebÚ/Ùh R!\$¦p\1d\8bêÓ\10ºD@+ΦØ\15Öo\ 6\rÌ%\14SÖËÕulÍ\13õs?Ù\13l>\89\14mÔ¾åùv\ 2vyL\1fM\ 33Q¸)\ 1!\15ëð¥ÄßöÏ®Å4Åbå1W\ 1dOBe5"ÕcË\8b×ìGkìnFÃtíºG<\vk2ÿÙn
+aá\9f\8c-½¹úÓzñ»\ 5\9fÜõè?!åmÑyÍñ÷<×ô\14XÌÆ¨Í¦G\1aï'2TJ;x¢Q\99%#\85C\ 5\9d/\91;ÿz¨:=\95ÍõÑ3F)¢aEØY&\1dsS {Ú§Êd÷®\e*\8b\11\8e]y¨¶kû\1e\ 1÷\84\9b±ú
+q\9bT?Í\8bh\87Mûa?þÈ\asM¾GÛáü¸\9d\13B..ÈHÜ\8c&\1cðtÈiL½É3xO\98¸\85\97¹\16^\8f:ïø\85\9fÝ{X¼ý\91ÈL\14q\88V\8e\9aºCèô,$m&Q¼\1aõ;\87\13ÄÐ\eÖ¦Øöxp\83\943¬²\12>Ù¹I\1eÇòa\13óh\ 6\95OZf\93\vÀë_\98\1d\v\ 13óqiGFúÜZ0÷üëµÒ\e;=@mû¦O»\19\1e5ÇLå9Ç\8dh\99\0\9dcô2q\ 6ÌPÂy4z
+©¯wNg\1c\1a<\18\ 49iý¹\ f³Å±Ö\96Ú;ü=AQ\95\ 5]ÂmÔõk¶ß\1d-¹ÓlLÞMÒ¦öh\99\a .¨sT\83É\14\832\8d\ 3ݰKºSQb¤\1aÄïK¹\85\14Ñõ\17£Î¡è"\81ö,ÇI\ fOz:Ä\8bÌ\9c\87\aС\8ap\81íè¦Ã®Â\98\ fJ\ 1¯\9e ?\88DaÍí¸ð÷\8eI\16/\80\82Q·J\89G\b~\93Âh;_¯\7fÚ\96\84¥,j"ó+?ÄÛ\93\v\vºb\9f\87_*p¯pãù}\93G\9b¦Ó\87ÿe5\84ÿﯧ(\ 3\9d0©¸\8b?îJ³®M³âg       ¶eÝjB[\9dvIVË8¼\ 1Ç÷òѳv*f\89­\fé\87\O\17Á\16íkÚ\1a Ã·\ f\17\85V[l\8détå/ãB\90ðþ\14¬\8eé®ÐÍ\1fs*@\8c\90Ð\9d\81\81\10\84\ 4:tï\17ºb\888×ýeâʹ#\1a£C.¾BÁédä+â½0\91Ïh\1eÌú±kß&\13X`\rõ0ÏþÑk\ 4ÛC?\93íÑ     ¨¿\18ûëÄÉé¹       \87§$ÃøI'!\a»\85ÖÎ\9d\ 2\19t¥E\ f    2$U¤$¾uHáÜ*\15wZ0Ƥ­h®¶fOlxOÔ\80\1eB£À)\1a\ 4\19SÞG>â"Ls´g\95Ò\9aLÀ¥&t\9c´\99zë´¦7¡Ub\80«Õ\87\1fT6\91ÅPîD\13\ f\8d\17\1e\r¼7L"`= mö \89¹\ 2Ö\8e¥b^PG\17$!\9d%¿=5\82\18e\13¹÷¤\f®èY;¾\94¨~\v?,ä9\85pVÊq\1dCüv\8axx3¬\18   pÄ`V.\14§\899\80áTÃ\82p¬OyüÖ$èCî\98ÛÌ\ 35ÿ\1fÙ:\13Âuì6ÉOüqã\91\9c åk~wÕWz°e`T*JãQ\13Æ;\99ÖÝóýÐ\+\1e@T¬@ï\17ÿ°hÞ\1d\ 3\ 1Ú¦â\1cJÉÜ\1dËhha¼e\1c\ e\9c¼Ä©öÙ
+Ú¿)6·\81\1aÖDx«x\84åS­A\vtæ<ß]iDÛçÊ_h\9b\97°\90¥
\17\17\11¢ÐøD\944Q\7f\8aZ|wÞÖ\11¦"\1c¿4íµbÞ\ 1\88a\83¹\a+\0 \84 ÎS\90îå´\92)\8dô-\ 2¯\ 3li\1eëôr©\9b\85ì ×B2Ëà\1eÜ\ 5¥ôÚ¿1©\8d\7fÿ\9f2z´´ÁH\7fñl:Ão\1c\ 3L>\8f\1aÒ´ÉÜÀv\rÎ\r¢Õ'\ 6;@&ÅË4\1e$µã\#GÜÔ]ÏÚ¡-3î=Ò·\84ëÚ\92|\Ï\16E/\8b\8f\10\811<Cýdì\ 5÷QÿNÀ_ÉØ\ e\80\9c\92ì\ 4\97Ä"@«C<©õ\1c\89\18\a\10饢ÝÀ\93Ä/%!cw*\9b%©U\ 1\15Ü/\8dãh¹JY\r\17ÁJüÁ¢óïz\92¯Î8\83¹\18k\13\91q\a\86Xk"Tt48ò¨>\12Øv\92)3\15¹<ìn}Ü:kG\8bÓ\7f5*jS\986jò
+\94f-ùÔ\8a\8f\ 3ÿ¥\94ãÂÓÌ|¶Ô;_-\ f\ 1C¦à©îª\b613yÑQ\1c±>ð)\93Dþ¢\87DÀ@2\16¾æ\9d\ e<Òå\9e\f+\83\87\82èþQWh®{\859~Ä"\ 1\83L\13Ý\83G\10vb\ 2;\88;ú¢ï6­z\vë³í«^±=¿àéN\7f\8f%ìÆ¾:\860f>'$´U\88\93íò(qÅCbTC\16~\96\90Mh·fI[\9eÓ\e\94I~ú'Å\9c\ 1ï2\97Z'»\9c>àÒÔ\ eû\1fo-uÖ\92\19\ 4g|Z­1=è\87Ç\7f\8fÈQÇ\0dúO}í}\95áe3T\93D_\8f^\98\0PÝL8\87AÁ^Tÿ0!\9b\90\1fòêmÃH\1e i\reW)\ 35S\ 1âôÄ\ 6\91M\4\8a\ eB;,\ fýÇûªøÏf,v\1fÞC&èê\16É}3\1f/RRgîØ[H\ 4ê\ f»u¾¤\935\82Ïî%\f;Z÷\9f9\1a&;\8aÿú\91\9bµ°9Z4Óî}\8aàs:\ f2í,\15ÚÌá¼Î)ü¬sUçµ\9e\85\ 4\8bÇ\0´Á     ?È@\84\9e-Xþ'où\0~§-ò\1c[\1fiZ;r[:êøê\11ÀM¶\80sÞdAÜ\90iì \1f¡öÐÿßTÂA\82á>é@GKïvúòbTþD§Wå×~
+6\85P6\9f\9fôçÉÿNqx\12PØö¶\1ft\r(½¡?E\9a\82P\acA¶\7f\15ÿð8
+WÛ\ eD\ 5\8dÞ¡x&\82\ 2r`\1eÉ\80ËË\80À -_Õ꫽în\\ 6\8bÍqÀhÿÜ\ 6.îL\ 6#\84}Q\82«®\13\/ø\11\8c(÷Ѥ\eéäS\rý\8d\1aj\18\ 2\82  Ö\ 5(\ 6\14ÑÞ´ÕÃ9\1f\85­þ\8f\ e\1d\12Ç\9fØP´|}xNÑãZ\e¼ËTÆMF`®Èß\9a\r\1e\ e'\8bêràNwÞ¡Äß\11m\1ac/%Þ¹\ f*MÂ/[»L¯ìÑç\1d¸\865\92\1fÊB\86e\941a­î\16L2Ú\1aâÆ\9aï\94\9c\v \97Å1M\v!»aÐ]"\ e+ÂTQ\13AÏ¡À®ð´\18\88'Ä6ú1îÝ·Hy\1a³VF\14Z½Xr{0\87;v@ÑS¼©lÙC\81<*R'\1a²\9e¹¸\b\87¶JN\1ch¾r.\88»ëÔc\1fã8èt       \ 3\16\ 4\ e\93°\17kÐlÇ£È\1eÜrÖÌê\92îi\81Buã\ 2V0¢?
+â,     ßjä"Â×¾Ý
+<a\82³X\82Ðd\9fÄEGl \82\rY\10;d}Þ\8e\8eâÈp·ÊFý\ 6\16ü\r`\ 5\a\90¶u½ò\91\83\9d\911}ÚM!~[\11\1dùÜ·Ë\13\ 4¢d2ЬårÍþr:?I\9f6Ù¾\89ØüR\12\8e¿Ú(W%Sª\f\1a¦ô¤@!JÿtÖ\1c©J9ÝTxä#4N<\9eÚ\10\8cÖî£wy\ ep\9d\ØÓô^1gr\v0\9fâbqç!\1cZ\r¥Õ|E²üÂ\ 3\9a\ 6Ó w\1a"C|?\88JF=»¤>Ý\1e¹JP@uÓôÕ\91|T¸þT\ 1¤º\1e\84Ñ\L-TÑkÙ\88\93^,xñ¬RÏ\17p¾p\95½\ fG\96Ï\18~\8c\86x\8asãJ;Éw\88Æ0 \9804æKJÍÃ_»J8Y¥vÐ\15\13\b\85):      t&8m\12obJ«Ö\8bDP\1c@\90¢\91\11\84\ e\ 3\87\80\88Çw/\ 3Zûé\87øØ)\1a_äfíÝ\8cL÷ì\91Ýz{z®Æ\96&³Ä%F`\15\18\94\8d\8b¢ù\9f\15®\144®³B6\97Ä,:\86\84ñ\0_BªZ\8a\ f\8fCBV\12Øï\94ÝT²f.t'*¥\11;6't\0\1f)y\13G¼î\84Jå/4w@4\93\84©Q\97\90/^n\84\80qÝg*´\9c\9di\95\9f|LÃ`\8eá\1dý\1d\1eú\11\83´çó\87¢\17?YüÇufñ=£ùï+QóôOæ\16>&lþ\7f`ùæOæÀyôòLw§óü \9f\1a\7f?\80\13öGón>tgóô\81¾àþu£æÐþ~0ùôI1ÇÎpþ~`öî§ój\röIAãÃãt\85óâ\ 2}ùüÿØ\13íÏçû\ 1>°þ}Èùü§ó­\1f:ÃùöcÏ÷\ fçÒ\ 2\7fTþ| Oå\9fÎ-`\ 3\82Ïç4\10{óùÿ!áÓ\1fÍ\88ùãÏçä\8f?¶?\9e\ 4\1ax³ùó\83æé>xùõGóë\a·\80?\9b1ó¿t\85\ 5C<\8f\99h\92:%Ç¢"\ fT\10~\ 3\11Þ^\83\ 3ê\9e"\7f\ eµ;2\11\ 4àü×\99=5j[\8e6öN\r\8d\11\93öÀ\9eòdâÆ3\89ë\99; Oz2}¾\81\ 4þ)\93à\ 1\96³\1f \18ùc'\9b\ 4ç·mV;\0\99< '½§Ï\ 6> Éâ ëÏsfO\8b\1e\7fLdúPNy\f¬Æò\10}àÉêä\93ãÇ\9f,dþx'd\94N<øÝ        \13\8d\15°g­æOÕ\ 3ßPdù\0\99;ÀOï\19>0\13Ï\19\13þó' \ 4ý\12QÿÂ\0\87ó'\19ë+\9e\18c.\10~HÉæA=ÄÉó@ÇìL\9eÓ@­ÀK$÷Âô"õ\1d2\f-ak^x\94~xüúý\ 4\84ß·\a½ÐÉý­\ 2µË'\ 1\8f¾<û^\80\89óz\ 5ô§ÔÅø'Û\19=8'ç$«þ\90Éñ \9eødýÀ7ý³'£\ 4÷Ó'è\87\9få\19;@O7%\aÔ\19\93ßåø\ 6\ 1m\99;-\ 2¶¿µ\ 1\8eì\18ø£'ßü*×7ì\ 69pc¶2}`'<\12¶cñ\ 3\1eúdõ\80\9d\8a\13ÜL\9fÕ\ 4÷$±¼\18ÿTé³ü\13ÜÒ£à\9f^dôÀ\9eè\95\97\ 4ú#'\0ì9JI\ 5\1f\ 6ÿ¯:B\99/\87ðI×9\1c\8cAß<\9f­ò½ùEmüü\0\ 4ìï¾ý¶Ù+ÛJ=\9b,næ\96_;ür³\0R\84ÑÌrûÖGe'=Ü\92;\1fÞ²äoYÅ.üT!e§NF2Yj\91D\1aúè\ 5\19kGÊ\8eQgæ$|â\19\10ðÿà\1c­A\a\93É·v-âÝØ,4M²÷\97ÒÉ!
+2\1f6~QpÄgµÆ¨\ 5\84ÅP\1e\ 3\93\96\ 6°Ç£\1a\f\7fô}ã\94¬¶\12,\8a\8f.\9bËâÓ\ 4\1f\80¼\v\88Z¥äy9±ÀêJgå
+mX*\9f\80\1f7ÿ\aà!\ 1ìé\9e\ 5\11Ê)e\ e¨½öè3¬(3\83jíÝ'¼\9bë2@IË\98ÁUë¦\ 4Õ-û¯Gï\C\ 4=\s!ÅÒ'\1e×ø\99òû\90O`;sûÅ\r6)õ¬#ÑÎP4{~ëÞÜè £ý\13\fU\9eÏ\9a'vtXº\8cúªS/n\89\ 6a
+\8a¦4Ý   q-\865~ÌùàÔ¤\8a(    \r¥\99\8eÕä)¨~ø\90QÓ½_KbvÝß\94\90øé\80\93Þ\ 1,Ý9Ø(L\1eþjs°W\18-Sp\18\8eE§¤\81\8a\95 \83Å\87\84»\ 1\1då\fim¡Z§}ö\9dóÞvPqJéÙ½\96¢\81n¢m´\1a+îºß¨ ÿ\81>6G°ò\131m5¸\835ªÇ\96Ãl4¸ô\83\974\r0[Ä%ר\91\88Ï¢ú³w-ZW2hÐ\81$û¸n~Áa¾ô\83\ 5#ÍI Õm
+Ìt±|Æ\1e\1d\84k\83\aÌ\88QdB6¤q\ 3\11+\14fxê\r\7f\8f<;},þf¿Fì\0|è5Æ\15Þ½å\1aô\90\eF÷A¯í\10\94Ù\eÓ9\1fñeAae[ÁâEᯤ~y8(\1c0d\10¯1ãÁü\7fm\82k[%\81WL|Ú³·4\7f\ 4\95á\1dñÛ!¤\10&\b{\1dö*å\13zª©y\10_DÛc\98ëè\9bY\fã\92TÐ4\8dz\9c©w¾UûÖ\1e\9bNÃRØ=çÓÞ¹û\aÝý]Øèz¿ú\95¢\85±¤\81\ eÅ\ 6»Û\94^áS0H!\1dÓ¦»m¼\17\1c©b\ 6]\10î\8a \0T\85¥¶nf\r°\97çG÷
+-ü¼\f\83¤¨kvy\vjBô\ f\1f\ 4]H\1c9¨Êʳ}ºv-Pm¸Ûd]YtÑ*÷X¶s*ÖN\97+ªc\8eò©7Ϋl¥Ð\81º\ 6\91;þè»ân\16ÇëmÅ-Â\86\e\8bÜw\8d¶t³nª7\85µ\ 6Ú\18ool\ 4éó0­ä&\90øÃ\e\8bþÛ\17P01\87ƪ\98,m=X\ exë¨:sµ4t_ù\9dD|\9d¥éï\ 2j g\î³ýá_uX¶
+LÜ\ 1Þ\ 6\ e³ôål4³ù³£ll}©vé¼\0vf>þu|þd\1a\13?\9c\16â\80°}8d߯\878L7UÆp\82g\90ð#\101\1d\8aÒ        cÈ\97·wy\v\15\8cy\v\11F\eÑ\8e°Èa\9acíôgÝ'6\18wçSOi*bvXÚ²ÛÆÝ¼Êsñ4a5¿~t\0\ e\94g8Å3¨Q\91æ^\1eÝ\9cÏè\9eÜÑò\981nÆ\93\f×\1fot÷¾\1dÌ7\80\v\8b\87\87\84i/p\177Î"p­âÆÛúV¨øJÆü(öÅÔë\84ûEU\13\fÒòÈgH\9e\16px7ak\8d\8cN¸?±çM.ÿ&ìdm$+ÀJ5= ÅD/\85îÕ´¤³\8b$°-¥§j4h\14\10R\88$\14\ 2\94Ùl Ø\12Ó½        R\88
+ &\ e\8bpw\ 1ʤ\94¨ÐjÛD·¯PEöhªï\9c|â8£\9aã«Es4P\14\0\ 2\80*\0ª\1aë\8aö\11\14@\ 2\82¶}ÿû÷Ý\92Z\ 2\vÏfûsÙ¼öóy¼þÿP\ eíl\96KcnCº    \86£Õk7´ð\ 5V\8a\922=Ïø\È\1e³¢\90\1f\16Þ\1f»ÌIªzK\11\99Fh®"TöÂ\87@ô³²\9cs\9d=XÔ#KTô³²\9esÙX\96týãJGL\9d\ fyDÃÙ-\1e$³¾\13-_F\ fÀ¥Õº\ 5-t\ e~LN\8e¶SÂ/\14^ÄXË!ÌÑì¯}sRt\ 6·'ýAèzܬãe\14\ráÆõN¹\8fê5ä(èãz\9fË<\9aåÜø¾¡xßÞôå¬\93ü\96º·9e5¿]Í\85\88óPò\87\991Öµ\13Ï· ZÞF]º\967>´³ÎîT\büß~p#áná];÷\9b\8cì\8d#\14¢i\\91pUÏ^ þ¾éû¯j-iMjÆmË\ 1j®ZB!\1ci\19Ûsñ\9fõ_öÄ\89\ fªRÆ[\8bLU\19\1e\151P«qý\970\ 4\80\11\17\f\91h\ 6þ¢É£A\83ÛõZÎ&\fî¢_{\ 6\9fÿªL\1c·e\14\bõEö\8cñgI\80CM¢&¶[CLv\1adUæ÷¹×ô\16S\8fû\93³ë/S$²è\95\e5.ü °Ë\9f°\8e7zýQ\ 4[öìÉÞA\87\ 1\18î"¬d\9c\ 4\ 3\86\ 1Ó\9bÖiçL\11ÿéÅGäc§\87\17\91ºV©\9dÇJ;Uò8\17(x\ f²ÅBalüĶ\13§½kbïGc8       ^çWýVûö×ú\8e\1aû\84LcÙ¡áöÈ\87\ 5ÔÑô\K \85ËV¬á8fK&WjF;\1a\\ 2\ 2\85~\19sH$½\16zÎÌ\81\92wïLÁ\92i¬Â\9fKå¡\10nC9hW_h;á\98ÇD0±\12ËûÄ\10\ 4Ãç2¦\89\ 2WØ3\94Â\97rnC*Bÿ\16\ 4~<\91w\ eþr%¨·\0\10\ 5\fßÏo½§oþ\ 3oº'oýÓ\87eÐF*¦Û,ëéV \17B6ÊÆ\17#\90Ç-\99Â\17ÉBÊ[iì\99ÜN\18Æ\f\a\186\ 4ð\83¹U\8e«ÙÊ\13ÍCÊÕ\80«Ú\1e\11\11p\86\82gÂݼýS\84äô\99CrwÔ}\98Тp\9d²ûÆnÁɱ\92û\9f\15\94p\83\7f\9a=·³NÛÊÂD\88\1c\ 6Ù\9f¯\b]~y¿M«yîjîä´\9aî\19R ¿\10ÂýåÃC£\99Y³y\9c(
+ê}&\92sZ7Ì\bß\1e\12\99\7f»\93qhTr­\89¨\82Æ~\9c!n]Õ®å÷~ônT\ 5oBSÜ¢[n^¹nW:?HÓ\92©[˪z.ÿÍ\11ÞÇκs\9c\829âÅ\ f¯9\eVº{'\ 3N"«\8b(ßï\9f1\9eÒ­Y       À#\11\8bk,ü\19rªòë¿Åªµ¦ñ y°ô\99\\11É©¾ÄêÎ\a\ 5ð\b\17\94'\:þ®\0 ÊÔ\ f½Æ~Ì\19j%˲4\18ð®¬\8c!Ò5\9eö\r­Ôk8.\vYtN³TZÁcE[E\9dkߢo\87¡\889\18\a5\ 1\8dú\88?i\12ÂFÔ\10\87\8dÃ5\r0\ 1MÀëÀaÛÙ6\ 3\ 1jÀY3ÖÅ`0­0\16DÀN\9b\ 1töK¡ùÖÂ\1ePÑeÅÁ¡
+tÀZ²LÜpd¹Ê%ÏJ  \10ô®=\ e>\bõ\ 1ï\r1=æé{ÛÜ\11³\81\ 3îÖ2à9ï×þööþËþW\12\9b\1edþZÄ$înAÔgÒMÀ-\95\eÿb:«"z)\0ìë{\14y)´Æ1\ 1Ãxõyè`çU¾E¼ÏÎ\87\ 4Ô¾½ÏÑÏYÖ\91ON2@ÝLb½£OТà9a\ 4«ú$µÄ\8b\83ôy\10ý\ 2\87\92¿3ë#õ*\ 1C·ôR\8a\1a\1e\99Ý¥\14~\96æïè\999ûøõÀ¸.¸\eÿ£Îíf.¸\1f\8b@+\1c÷Ïñ=û ¬^¸\bÖþ\rÁ'Ö\95âECÔ´·D\9b'í :k®L×¾k]q¹\96ô\8büTÕî\1eØ}ÈhàtEÙl\9e¸ß¸v4\85òQ*×¹Dúä8Ç× \86ºâ;]Óp1>Ë+ý&ߥ>\85^   Æ[ì\15­Oâ\92\87-ý~cbËì¨\82`Eæ\ 1\7f\18\yÅ
+=ðõ×Dë©\ 5äq
\93V\86EÂ9Ê\94\9cº/D{\93\9fÍË3½\99-\ 4\14è.bGOnd¨õ{/@ë\91Ã\93jZ×$úñ\9fäÀ\rV\89\90±}XÛ\ fE\13f\ 3\ 2\13¥¡s¦ô#ILæ»ÐjsÁáÿKX£9Coy:\93ÐL\86ö\8ef+ ü\83\90@\85â\96\13Ä|]U«Tk\9fG\μ´®ov­wIj×x©gz&aô\87ãÿN\82ê\1aíçIÐk¯!®Îs\9aëÈk»\ 3k½O>;]¨óãµ×ô³½\e5F×]S \9a\rvkñk\9e\ 6ºÓ\ 1Ík\9e\ 6¹\9c\ 1û¿íZçqZäK?{óÒ½Õڭ¡±Ôz\ 6ØÜYå\ÉÁ~¤è:@à¾k\9fAÁ9\ e\v»ç8'!Áv¦àµ¿¶;\82õ\7flwâí,ì»6\ 6×_S º\ 6º£ñk\88\90\8b\95ç5Òá®ä:&»!j×QÚµÛ/<ÙÛ\933F×zÉÐ]\83]oüZëàk¼\97\Öºø\1aîüÚïåçGk·\9etv»(\96va\9dLÁ5Ë'Aw\rv\9ec ×u\84/çç5Ý`k®\86×Aµk³QZäçÌÕ»\a\12ÿ\r\9fZ\91&\ fØ\f,àlùâºÐ\930\8a\7fJ_ÉB\ fó\fÝw-¼â\v½\11­\9dÄ¢cC"~ç\ 2\9bêEþv«K\9d#õÚÏC\13vFçþÇPb\0ØÃ\12«\88΢ֻwmàØ\19òÎ/¶eÐ÷@ÏëÔ®"W\86³A!2gÔú|\82ÈÚ\13hM½³÷\9b\b8Q"\17\92\1a\94SÀ%@Ò¹ç}:ù\8cZ\8aì\e7\8ffÜÇÕí¡tâÑ5ó<3ð,\9a|f\8bà­·IƧz,\0<7EWiP¢;fÅù¼V³Â}ây¥Dg\8a\83vv2M=\92ìà÷|Ô\82PðÊj²Më9rÊV\8a\ 3cÒô\ 4=\14\r\85mÅR)nô]©\ 1å¸\1f\87¬-¿y¬S¿ùÏܺ,\ 2\91ø\14\ 1Ùi#=ª\9bµ°\ 3X/><\ 1TÃ7ÀÊg®·fZ2×ä[\ ft\8eMúø¬ÂI\1eK    \89'y\19-(\99§\e~UÆÜ³üj«åÝ\8d\12\97¬Å        wã»\98\92R»Í\90IÖY\9fOJØ\14^d\85Ä\1a»KôH\89\13ÿýo\98ííѹ\86bãÁu\982&^3âÞ\16hqúð/\92;¸g*^\vÌV`\8b£43²ê\8b\18§\92Ö\90ØÓ8ÙS=p.Úl.¿\9c\8dPm#8$7ÖXáEúÛ3þ·Ð\11kúÁ\a\0GO7fÔ\f4JµhØÞÿ\9c\9d´\18ÍÏÕòHê\97æ¹ü÷æ%\19F^?\87=V£úº¡\ 1\82)F\9c\1d\11\9c\9d½d, »wéö \95»àv\8cæÞ\1eyPkä3\ 3\91éM_U(¬-1X\98Ô\f\8e\ f5>R!Y-\83'C[·R´X÷ù\1fiX2|\8dcu+{Cûtbµ\ e\8dnHþÓ\ 3[$¥m\19ý\94R»½\8f\ 3³å2IáH\17*°¤±¥Q\ 3È%\9bè;pF\15´GJ]\1a¡s×\849\9d:ëÍ:qù»\109\ e\92»@\98Göj\ 5Å\1fÛ|\1c0D\1aòJ\8f\eús¡;]£çkdoá\f6\1fù~ƪ\82\94ÓåÀWóÓ¼?0­\11\fç\98ÐP»Â¢\ e½ã\98 wè\ eH¿\8f\92¡i\b¬µwõw¢Í²¨{\85Wìâõ\aïM\1a\8faáç\9dDDÆ_¸±\17\88M{ö\12¿LÆvËÞ\ 5ÙÉð\85MVB\94É\9e¼nM\9eÞÂÖ\96nà¬}/\8aG\ 51ø%^o*.!\ f¨¶V¾[íó
+ìÎ#;W§?_\98r\18oIQ@aó\1e\9a\7f       \16\91SøK~ÊWe#òAë\14ü_çÈúOéÈÿ\1fÌÿ\8eGΧ\91ýWÿ9\1f_;\92ó\1aävñÛ\\8eìÿô9\1dn\91üy\1c\11±:y\1dó8ÿ®Gv\97Èü\8e\9fÿ¾G.ã¡Èî\ 6\8f\9bÈåO\91óÝÖ
+¢EWOpJºØB©#ÔZÈx\ÿò\mÈì[Á·\8aä6Æ\aDö²«c#rJA\8a\87þ\85\\93\98\8a\ 22]þÆF¾J\14±\9a\14ù_.BA2j
+D/ï*D,Éç\9b\81B\89£ëAm!@\8e\ 3üeEnÅdùÜ\ 6'ýÚÍÇ\7fÛ¯ÿ?ê«Ã/:#§\ eúÉÏ\9c®r\19r^\15àÂ\1e\0,&\94l"Ñõ\r\bfø®·ñ\8b5³öñ¹rR!1\9eoù@\87\14\98\10¼D\ 2\1fùeÂýÈD\9fuø|G\96pÈü lp/Ôa\9a\81~\f\ 3\9f+MKàó ^\ 5·)\81\7fªÛþ _\85½Æá\86­ÑðÀp©\8a5)§ ·\80á\8a9r·Ò\fZê¹\fнÈð>~Û¡\ 3ï+E\1a§\9c\88å\ 6,\14o#»¤\0P\11\ 4\80t\9dú¼2ëY\bìbBÚÛWu"O½ü\93hVâ¨÷ó"ô,\11I\15#Câü íåÕ       \10\ 4Ñ\85\rÉ`\88é±\88\81&&\95©ïáÿ`äX¸RL]âã\1fx®þ{ÄЯ\ eâd\8e /Fxdi\85;]\13x(oË\9bê'\9bàø_\82ÜgÇ\88\9eÝ\1aE\ 6\12Ïç:ýþ\ 5Ð\91;Cå[\ 1óË>É(È\9a7\9egÞþI],\eá?Âõ\16Ò?«û㪷\r\8a\9c\144ؤñ:\9b¾*5á:j|\82´\98òÅ\9f\9e_        ó\19ÐgÀêZ:\ 4õ3i°¹¢ÞIúÕ.Ñì\1dâwoLMßì\88\ 5\13\90òcV3£÷í£\83F1B\ 3ÿ§8o$P\10\125Qµ\97\ 1\gÓ\16z\9f\fGuÜ÷\1eÎW\12a\99þ.8üßøâëÔpØ\ e\93Iøêþ\91\r\90\7fëd¤\80ýÅh\9eÑ+UAÞÍ«Æ\9d\81ùü\904e3î?º\9e\16       ?Ñ\1ezH<\ 5E½Ýõ\9f,\8a\96/]\85\ e\1a\92Â\9aYe÷o\9dõ1\8b
+N×ÈæÒ\96\1cøaÿ¯\92\97ëW|á¢Â\8fåéI®©-Sû\83¶z\87ãÃ7·\ 6Ûè\18aCh°£ûê$Å\8e\bÀoF¸\8a^\91G`ç¡»¶\88\1fäo\19\99\9aÆ\b,òO\98\80\8fÀe\9a\97¨\84?\96\\93áµQ\0De\1dÁPY:^\8cÂ+s\88\80§ð#¦F{²=MÎ\8c¼\97\fÝqG·@¹\8dT\ 1ªø(\8fUi\893(\9c\9eà/ú¯\1aQòtç¸/õã?ä\95\8eÑ£\a\85§¼s\ 69éR¬U(\ 5\ 4\9b0Euý­Å\ 1óM\1a=!*áýþ,\81
+\10p`O~V\«GÑðþ`\9a'äÁ\83g\8f£HÍ\8a\95Æé\ÎÍ\9eú\86×SfzLàÇNB\8b\11"V\ f²"\97ÑSU\9f¢e\10\146{£ÉJ½×ÑK8SU\92þæ­+zÌ¢9\89`jÌKFúmÛp¤\7f\91)L¼^\83\15Í+\99¬,XN\15[¢³Ôòð.È`Ê\82ë\93"4Ðè.¦è\97\ 5¾<TÒzýçÈ\86@©ÐÊ>Ö?yó\82ß\9aªâ\1fx\ 6\16hßÍ»\87zWüíÑvï\99JÙÛx®MÇr\82\960a&,W,\84\8e±lú  ÆñEÉñÖ(CËøÇ\9fiO\94\7ffÞ1¡\9b\vx$\ 1ÆÍ£=<\9f\90d'Ït>Ï\19Ï"PYn?\8e(ÿe¯f/\8c±w:"\fHáô\9e9g1¾­g¹*yõÝ\90àé\87Í\9bÅÎÆòzw®CE\a¨Nv\80:÷d\\8bm\8c\93â\17]»ñSz\83¦~®é\1coò    þ\1d=¦yÌÈÞ¥(g÷ðEÛ&p³jÖaÜx¢¡Häþ˹÷ôé\13\13s)½»ý8 }À5cqå4\80\90\9f©E½ \90kF{}S¶ïÜ|Ïëï\1f»Nc"Ú\92± \9bõø¥å÷aýß\8c\95c?ÓM\0,\96üZpC;\97\0áôn\10þ\ 4ºà\943üc\151_Pô¿^\9e\17s\9cÓÈF-®oLÊ!ñÂéOÛ  ×iÒªÉ\ fU·©F©ÂB\8f
+<ÅIªÑ\81s\99\13În\97
+\ 6¦?¤\ 6\1eÂh\9b\1d&\15ßå f\92v\1aYJíA!ã­x?ïÚ³ïnÄ     \88sJwÄ\96®\86v×êwþy|\8fÊ\92¥w\90}3\1e7\8a\9bµ9Æ\17*5L\1d\7f7\82\85T{(å»V5°~jÃ@\8d+Âô8\85w½¸;´³x\14n\1ar¤+- ñZöC¾°×\94sȹ£\86ä\9e8î{Ã\ 2`aÓ\83Á\96\98\90:w\86^\ 5åyO]l\94­\99$\ 6\ 3"¥s¤\85ÚÀ:NÃ-7\83ä=ÄH©Z\148«Ý\1d\14­\80\84tÑÉU+¹bËÌþÓÖúȱÃ$y\19¯\81Õ\14m/¨\90¿\9b\eF\99\96\9eBlШ
+¤ªý\ 4¼.9ç§q\85\9b\10\19 /d!]9L\86nöªçà\18UÆÜY\ 2*}V&$é±+ÈôèÖ\8cê\ 5\81¤Àö¾\ 6:Ñe÷\90ðÃr\9b~itGv\90\17û\8b\v4£É\8cîóÚÞ\vcÜ"Tµm\ 4ÍÙ¼:xXÔ¥\83\85\90îM}O\97¡Ñ\13±\83D\10\ eÖ\18\94eXÎõ_X\18,\97hÕÀ\84\8bJ\1e\1c W¥Xtiá÷d4\92g\ 6\8f\9bL\9c?Î7\u\11Ö5L1ì¶h\11fâW¨\9b4Jî­gÉh«Íf{\ e\ 5ÖØbV)@ézêÓ\9e\8cöÕ&JT  ¼K7¼:S\²\e!\14W&ØJáÍ §ø\9f\8c\12\11>\12\ 4\e çéñ\b\8e×j6\ 4S«ææbÆÐ/ÏG>w\88g¡å+f\88ß"\16ï9ô¼HÑm\14\eÖ`¾\8c\emU\8c\97\19#\96Ã.XÑ'ÿê1@û\8d\8a\1eh2¢e\9fø\85À*\18\9d\83² ÎßG#\11o\89ñ ð
+\95XÍwHD¬R®8\fÜFÌ\12\17¦÷¹\ 4'M¿ÄçÔ®ãYÍU<Ç­9ÃÄ|J±\aò}±J\8f¤E\9b\v2¥mì\l¢Ã_£=¦\1f¼\88\9a÷ÿðùY\10ù\11S\95\9b»\9f¿\9eîQx+ÃÒÇ1ï÷\10\86ÀÍ-Ê\19ûH\18\15^nê\967z[\7fzÜõ\17wí¥®¾\18¯3\15ÀV\ fq\87ñF\92#\ 6\15\8fx{ÈÚ8z`\1c\15\ 4aÆ®)á¸3á~\8d\93Wa\19B\83/ßLb24Ê\8a^®æf÷\80\16\86RS|â\9fߦ\17\11\94âû\9d1Î}Ù\9fÛ[¦\8d\826e\8fO³ñ\ ff\9fÄ\95\93Ô\8a\14hÙêK^W!ð!\7fÞBU\9fÝñ\97¸\9aó¦\8dî&¹Ü\8bé·?£\9d1ù·\87ÓÜ\85ùÓ\9d[%\ 28\\92\ 1¾üS*¨ÇÐ\9b\18\11é\8atߨ¿Ît\9e\eH\89Vz\ 4ÞN\r½\9fO¹Dq¦\19ô;\93\11\83øQ¯\v0s¤[p*뻵àS\9cÿ\85!\e;XÌç\85!\e;UüÇ\84×\9e\ eÁ>oMØ\ fRON÷\9aaÝc¨J\9d\11\12ºï\r£Ci\9d&\18úòÅ\96\1fA¥üù=ye\9e¡IN$:õ\13g\f½_ú¢q\8cªH\1dÿ\b\9f7$¿Îtúf§<Ýw\aÙÛ\19âd}ûg\89êéc¼O;K\1dâxú[W\89\v\82\92\ 2       Q'é^<-\12¹`Á\ fÿ¥\8fʺm,~Uö:Y\bã\9bM|/\Í©~w\15µ¾õ³\91½Ú¹\1e\92ÕÈÉéc&*ôq3 á\fÃ\1eãñ"OM\17\89\14s§Ä\8e\ 6\91¼ÄÿN$Aù-\8f\9f[\9bÑgÐ\8f}\9e\9fá¶³\95Ï@ÁÑÿj\1eÚ\96<B¦\9dY3':JùÅ\8bæ\0%~\ 1,\8f¾HÔWjT\84ß\8e£§~T$êEõÏÝ{¢r\99Jg³\8d­s®¥à«\13[HÄ®E\13Qõ þwrßHuò(èÛäKÏà¤Â\84ÿé\82ãµ¶\1a_óÍ©C«&Nì\v\8eÛâDPs¾\9e\94^\1fòöôQt\99~\16tw(\10¡ÂFÌ(þ;\128\96yW,cÛAíT±ÆO²1à\93    À_ÁM\ 2\ 3b^î\v4\944èäË¢\13\7fÂ\e\95
+\961\1e©EË,ú\96V^\11\9bÞg\9dÝ\eçw\b\17u\9cp_;\95u\a\92+\7f\1aSU\a\8aj\9d'oËæ)\17£É\92ìã%hqR        \ f\8c\9a\1dm"ÿ ùf\87\88S\18Ĭ\85\83j     s«\9f>4\97}Á \93P{sÐÒ­\8f\82\9a¥°\ fgùD²$\94}­YÆè\99*\e\v4:È\ f\86{Y i\95ú7Të8ÜUÏË\81)j&úÖ\ 3-s\17h3Â" \81\8d\9d¶É\aè\872</`Å\ 5l\vÖþ¾\95\9e§\95h<X¢q/\9f
+Fb°F²\9bVwØS\18\89¯s\9a\18ÝqgÆÓRU\85¬{b}n>\ 1Î\92Aiû\12zµØBë\1f
+MH¯jà¹ð\9c¬:\18=^þ\ 2W¦\RYqZÍs\90P½,f
+ÎMz\19 @Ç\97B\v\19VïÞoê$Õc/hyÖÄ/sÕø&SËTªë\8a\ f;0@o\9a\12Î\ 3UdÞ7yW\13º/\ 4û´\8f y÷JÞ.w¿Ë¹\178\92V³Úû_\9càô/Ýn©\1d{¯Óh¤Ñ^®½\fó\r\1d\10Ó\1dÆá¦W\18À4´\86á\ eò8þ²8\ 2/&\9cì\83ÌJjµ-µ)­»*Cä³F\1aùvïØÄ¶\15×Ï!(¥\9bå+Ê\7f? ½bC\7f°»YD\9f§¢
+\9d\11oÐå  \19à\13Û\0S\eÉ ^jb/@\86z\vNSX\1cÒ\99\94\9c¯èáSÒ/\80\883Ðv%AX\87E\93« êdÍR½,½F`\ 6`\bÆ\8b¸K\9d,=MSë\85\0Vü¹·ï>p~º9À®]3=J©ÎÈ­ï­O\1d\a\9dåÅ        \1eUqÓ\8f14³\12®º\1aî\15\81Y÷ºi¤\1fók±\eÌ\ e`¬1÷\19Æ\92G»iæCp³¯´Ñá\9aµ\9eå?®yäPÙ©ß^"\19j­§Nw*ʽHë\88XñT%eè¨÷y&åÙ\12µ&\8f ýð)b½3ØO\ e´Y[äS\19s\83*&\97£n\88{çzð4I«;%ÌÑN\7f/dQ=\81\81Å2«\12½Z¬b¢\ e¥\ 1a7\9f\16\85\fqL¾À\1d´Ý\82\18\14"²(6Ô\9c\109£(\19\9cSÓP\8d\97a\9d£U\8d\ 1Ú\90¡'B´j!M\939\19RAù1¨\87X©QÖQñ\86{v\96d\98¯¼q1Uøc>\rõ\98ÀH¤À\0I]r\8esCNyZù¤\95ú<\95+\ 2g2\128\v\9f\8b\11\84)ªÄà "0:\1cÁ%>`Q\1dîD\8aC£eWBï¤O\8aE,J$R\v\ 3Ê×dD\8a]0\eþ\11c²þK\0\ 4\ e\7f\b½\12.mxÖ\87ëçË\ 41aµV&Ñ\9e÷\ 4]3\95\v#\8a\93Lçz²\96x^T\b\87\92»Ö\8a?I\ eAXy¹¬÷Hÿ¿G\16H6.}ôâi-ß++\8b§Ö"0à¸\1f'Âï-oÇÁ\92D\83\90¬OëJC«¼r7ÿbéÎë·ð\13\19\12²þnâP¨ó·Á´ó       {Ø}º\1fænÞ*c6ý\1c_"ì\1a\ fc¬ <ÏàÄè\8d\89ø{ÿÁ\89h\86\8b\87wI4ËøoxÉBê\0Ôwñ\85Ç@\82\96qÅ.t\ 4tsÌç\ 5wR*T'b&²\88     Äy¢\87T©A6éC\ 5C\9fDî]\10ëøó¹\17Ç\9egg      0åùº\10åþ6°åî$ÿ¬9C0dDÎ.L½Ý\92ßn\8c\ 1å\8c.h:\89À1\14Ô@êU\16n\18aërÏR,«ÖîÑ=ü\1cBÄY`9\83Ó,S¢¢môJ¬¦«Àmé4#*!Út\945        \16<\97¥.\86\86\9a½°\96\ f\v\1aø)I´z¨8ïÇ\86\a\85³J    r \ e/\1f2\1c\8aþÓ3p¶fB\9e\14µsÉE¢½ñ\\97!\8a+A\9eÏ\1f\94\9dj\9dþ[\97\eÕ.C\94\ 5\9en\14ï¨ËkÅÄUæàöiÑ uâ$âÞ£Ì\15PtºÚ%[\9c*\83Ö~Ù\ eêàZôéÞ±×r\132Nmµ\0 `\923ÏVse\ eûL\89Þ1\10ú2Î`5\1a©o+¿\ 5»\ËN!¦\89MV´\ 4\ 5È]\9c²\95¹Ù\18Ô\15í`\ eW\9cÌ\15\96d\8c]T®ý\9c¤\92\8b\r£LûVîözÍ\1f(\88ímÌ\eý#Ï\96¢ì\aKâj¨2Ô\8e¾R\9bØ\8cQÄjàæSÒí\ f(ý"P\82\9e\87\1aÄ\8cÂÏ5\99î\94¸<Öý.\89u\81æ­V\9e\81jQ³>+!A°°\19\7f\15¥.è\94±Ý>Qöáó
\aÂK±Â\91ÐäÓ¦Y\8b¼\8bRÿk­zV OÐ^Ðú\98îÉÞ@\ 51øÏ\80K¶ \81\80\bÜ\93\99¶A÷ZcâÏc9²\85àÙ\9cKô­\93\ 1\84\8cbbÞSDÕÏ¢S¬©Ý\11\15µj!\93ÛSµ9dS§ôs8u6\91\8få03\9e\11\157Ov³\9b9V¶³\999Ts©Wðr\8fÅ1C\1f2Sü³É\89\11\87­±ÓØ\ e\ 4        gå|;¾ç\89
\1aS¨ÿÏ>\9bÄ\ao\ 5GàbEë\90!ß!\12\1c²ÀË     \16!çóQ¢Æ¯#ÀYy]á?\95«äw\98Úù^\ 1ÏBöÀ]õ×\ 5\vm\1dÅ\81÷\eÍf\86ä^G\87\9aÝ\rÉè7! 7>\11
+\12
+#½ÿ0-ɵ\ 2ÜsP-U¨\16«ÿ0-RÄ\102Ñ5\89Û\8b\92J>ÜèâÀ\8b/\1e\ 4S\11`DEùGZÄ\8dÐ"\r$N-úù\0\9fO¥§\13\83Ö¦<"AVb¡\8cÄI:   I|b8uß\ 2ï\96­Ü\9c    DI?\ 3\1fVî^\1c¨6`3Xø6ä\7fi`b\ 1caXÍ<?\81P,R_[9È\8b·]\86Ý)Bî\9c¶ÊzP \9c\b¿Å\87ñ5-e5\14öj\82\ 5è©JÚÚ~s¬\80í\10\92È\8e\8f¡×sWAu\93\83q£D\84wZ\0­Kn´0åÄöCCv-\rØó÷\19*Æ$ha\9f6'6GÁ\b^\87\1e48©'°0.*¼ÛgC\99¤\9eÀmàñ\12\87\88\a3ú1YjÙÁsH¾\ 6\1dæ\91|ÞÞÌgAÄ*\9e\eu"ø\r¼7#K$iß\11\rÄ?\19©\14\91"T\10\99
+³÷¡éZϨ@¢E\e=%\91jùcïí\15Q¸¹åP\ f<ï÷Õ\8f\ 3Q\1dÐQí\eç\f\b\88j¿-S÷\96eFl¦\8aÉÆïPW½öÝóÀ6íZºìY'\92ϼ s¹g9\8a\ 4
+JõÆ(Çï"çÞ\9e\9aÔÍê¾á\f9þOy\1cA\ 1\8c\9fÿï\12JLb£Ø²\13Ë\8btå2\vÿÿ·w¹ûô¸T8N\15\ýì*Cà\89Ì;R¬¥Þ«Ï<Ø\889¢îÙw|0ª\8c¹\95Â0{ÄÚ\e3`gcòk"^\11\9c¼\9d(\16¢Vü/T¢úh§"%\88hx"ùÞ"\ 5æ\91ÇÜö®\83û$ ò\1aÓ\0¹%i3Êj®\8aX\95\86*\ 59ÿ      ÈI¯\ eϪJ¼+=\98~G\fÀAÙ\85\9eÑH\85F0\1f\81R\95|©s\18ó\fñ7CeWÊ\934\f}W\9fÇÈAÐ)ªÆ`(«y\ 1g\17=Qö¸G²Ã\87E[\12\ 3ã\11¶Z÷paÈøÔ.î
+(ÝÜ\eNww\aI\e»\80\85AËpm\ fÖ4ç!¡i&\18\9c7\83µ.È}ÚX\ 3uå`¥À<1Ibu\91«/iÝ\15Y\11ØRc:59\8bQ R\9a¯ »~\12e¥Vî\94­\88Lî{19¤\19ñ±ðÓÑ\81 Rý|àÓz¤^«\85 ZÃ2l±Ù4Gg¦G\ 6òEÌßÓ\98Y~:¿£\91OWAqG\10LÑå}q \a+­5#Î<\ eÌWMô\ 5Q\14é\92\8d\94©íN×á2ög@R\81ÎcX\95½ô5Ï\8b~\95éR }9Ý´¡ÉÒ8\87jáëªSÛJa\ 6tBEg\10é\1cqV¬öéÂ\14Ýïº\81\ 3à1\9cu`Õï0Gµ¯Ne\r\8c¹YP¼µÃ\90{ELêSëAÏÓ`ب\8b\9e;c\12\9d\92a¼"j`KWf\a\ føÄ¬³\9b%§» F><ÙçF{\b+Oe¶Ò\10~À«Io@º\82è\81NäHæ\19gPáR\ 2\8d)|¶ÚÎ\11õ\85 1u£Ò\8c\8dÐ\90C øÉBðË:Xï\84\ 5ßññ\13,rÎ=¨ÒéP»ÁC\94«©D0mÀ\0-\ 2Mg^ñKÿñS=\9eìh ä\92kh·\93\83\9bÄ\8b¼·\94³\rèR\8e\83ñí¿í\94\1cÄäÊ@~3Ù çp\9e\ 6y<o\85¿*úcQ\v\87o\ej&M«\9f\93\81ÆLD²Í¶¡Ã¶ÜCÃÅt
+Våbsw\87HÞ86ÛÁÃ\81\1f
+Òåø²¯º©3\90Z\97\8f\91\9f9xä\13/\19\14¸\11Ñþ¶ï>ÒÓ§\8d"µ5}Ð\88\19¿Á3\9bÿîÍÍç|Õgëáÿ}Q{·=\82ÿq\ 5\ 6vÝaü! u\87ñ\8bO¾!$\93+|ö\91\ 1~:%\13¦I\0(Ë»ø~y\ÐGÇÓï×á±DH\858"\9aº5·?S\8d\90¬Òo/&p«\95\97ï>Çêb~Å\98ë[¬ón
+µ|õ¢"³\86gÒ+\ 5VK\ê\8amAãJ\ 43Wæå\95G9«\99M\ 2 \7f\82)¹ä)\8d\1e$\8f`Î×K&¬\rKówmg¥ÞÖæÑp¦ìüè>\91\87zXî\9aâB&j©î\93ëx¶A[ÿÛÝ\0F\15"ø¦\8bMz\e
+\99\8a\14\9a:OH\11§\9b\v\ 4Í¡&J[Æ\a\9eÄ\152¿     9\11êúçÀ³1\19ßé±\8e\92\81R;\17+µ)\ 5
+ý7ãõÄ\18cu`_W=|AGÛùÑì>\1a\98ÉF¥ÈÃì\1cû¶\ 6\7f´u"ç\öûgyû\ 6>7\86\11\89\8c     \84\9cö¡tåIl·S<Ø\ 5\15  ·\1e\b@\8f±¤oåí³^G\b\10©§ÓM_UIh\94"Ùɼ¤é,Â\10\1aÊ\9a{\11\a«¦|ó}\0\94J\16\11 \90å\93<º2­TÆÑm\99ú\11¢\87JHõÿ\9a÷\87´ôYd\88¬\9cR\96d\81_\89<\86\93cá*©¼3?Uäú\r°¡\91ù
+Á¨@±o1\93\1eÕ\9cÍ\19\93\1d*\82\18ÆFh\11\13\8c­Ë´+\8e/ÿâú:íqÖ\85ì|ÖTL\8d\1f{}\8aH\9cºà\ 4\13âYï·\92Ë~îÛ3\99¾§ÙUg\9d¿\81§ë\17|¹gL\ fd-\ fPô&¾b´Í\86¹»3Ñv\91a\9eô«E*S-±\18ȸ"$\92\9dYy\86\91\ 2¡`_ú©¼\14ÊC\7f˹
+\1c\e \ fÂ\85P\9b\14ò,¿vFî\ 3\19g\rÙÚu\ 5ë}ÚÔ%\1e  ­BET\9e\81g\80r\88\88B§;,¨ï\85Ï·|\82¦_Km³ÍX'°ÂX\9bÔÒ\96#Diw=Æxâ´e\9aID\96ð\15ªÉ3\86çMÈ\89\12\9azªo\b\11õ3\9c\85DxC\8c_\vâÂ\1f\aQ!ÐAÄÓU\1f\8c"b+=\87{\9e\1e³Ý\12|\fÂ\8a\e3RU\15ûÓ=|Ñú{þ»ñz{þ\8bô_O~Ð\8có­ÉßEñ}\82 ¾\1c\fw)ûàÇr\9eD\1fÅÊh ô\1c¤~®&\8fE¾÷Û«æ\9ax\ f×ø¨´a6ÝþI¶ÝUû\8b£õûkñ\11(\8d¢ú]
\96Lfh\152R\7f&T\14"ðC*,çõ_\8d«¤_\94\vaûÕ\14þ²\ 2¯ç¥¯\95\ 5i\80UÜüP\b~ÿÞZÀ\89\876W\94\8c8¶Ìày6\91\16\89î\ 1³;ɨ\12­&x°\9aèR\891HÙs48áL¼·¡P]л\91á\1aÂ\12=&P¬¦\ 4\ 4õúJ\82¯\98\97=]q\80µ\94lk\991n*JTLcäh\98ìF}@ä-Zá\12»8\922bh¼%\9f \19\81vn\8eõöD+\11ôR´<        \ fîÖçÉ2Æ:÷i«9ryí\0Ï\93Ë¿\ 2»:ÏkqHó\95\ 2X\1a\1aìHû*±@õ\11\95ÌÙ\83\90\92Ã!\88DXô7c\16ÀX\15óM$òQ"c\17ªû³P¸\8e\12\94jUlÏ\17"^30MA=¯Ä,\bÞqÂ<ez6\84hh&Ù{È.\16Â\19ñ\96!\97µd¬Q¾B
+5z­à\r\9aR»l\f\96ÕöeÊ\9c!p\94\\96½\ fãÁÿ!©D³¾\bQ®Ã¿\ fÁ+â\8c\ 2g\17\82\\ 1¡R»HH~î½Ìô\12ã\8d¹£Zz¾Fm\ fYTj²
\19ßñ\87Êø\96\9fµ)$9\1cU\18úi1V\84HáPM\87\99    å¡\8a\8f\88Ó\81\16j\0\95\8dþÐø\10\13õ\bÙÌ!HÙ\96r     ò4"\ 5¾\0\0±ïÝ¿uf göñ­"B\0×\e\a\ 6l'@\91 ·Á\14Û\17>\ 4\bü­®Úýä\891-Äí\ 2\ 6â\82\843õ¬¸ºØ\93µÌò\90êô\17õ5]Ý\1c\15d¼Ø\96|[¡\r½*\rÛ\14<âÙt2(Ù_\13ÑTÁ5Û\ 2;Õñ\fý\7f]¤C]\84ß7M\12!N\82¦¨\13ÿ;þâÚ\84F93D!ÍB\fOYÝÈX\83Åz\ 3\82\97¢D\99¹!S§ñæ\8eÓ¡¬Ü\90ú\11!ÿ\9c\15æÛ\8e0\ 2\16ï\84aáõó\9c%k"I1\ 5¸ZÌ
+RpÁUÍ<(f|2c`¶3 \r\10ÿ\f~6hê\83Úî* zãê\15\ 3Qâ8ëêS×\ç\ 1ÜsåÓRį8&\87Az~½%øÐN\e\19\16Í\85\95?//}c,\94·`:Éúø¢bÊKõ\84·\16ö\ 3@\1d³c\8dÅ\13\19L\ 2Ï9p_\ 4)L:}[Á\a     ¬Üø%\e\9d\8bâ\96\89ÌQϬK¡\1d\89ö*JȪ´\ 4?\87w\ eð#\93?L\12\8a»¸xa¼PGУ\81Vè3Q\99\9e¼\98¶1}KL(nS>¬ñõ:AÂ\a\9a¥\8eÈ\96×p\ 4\89I\17\95¬\8d\ fYómXÅá\0Á\85Ã\18²\ 5tP%\ e¬\14\96¿·\89i\11¤\18\93\12R\ fHý¦^U\8cvA\9cj5¨\98\1eÌ\aß'\8f¬\15Jì/ÚBý®É\9e©\1aÐ\18\1a\15\17ë©Ï:ÝLÁ\9d`i7 ö\ 4nA\99òHTmk&zn-¤DÚ>\97\1aìÌ\95Í\17é\90\8aÒXG\14â\80tOtÑv\90\91"\95pWÒ§ì?Lt°â\ e\c´\99 ê^~\ 2`¦uѤ\81¨àÛÓ\9dãã\84\93\80oÁMº¥o\18ÒÈ}+<\7f\82ÐÊ\97»6~®\95'@\99\9fÀ1J¤\r¼R©\ 2Ï\1c   wÎ;ßã,\99ËðL×ýDuÂö\88\9e`\88à~ܨ<\14V\1c\90\1fI\9fãÀßFMô>£Cs\9a\0w\1e\9aq½KÞIÕN\1eõOo\18àKG\0¦ãp±\eÂx\ 41üݶDà\11¨-\0\r3;ÛÈH[\1f\94\12M£Ø5\8f¡ÙIüï-ÞwD£¬Ä\ e\8b\88\14/×s´Î\17«\bfWÒ:5Çø\eÍ\r\ 2\ 2êñþ\ 3\ 2Cõ%·K1\9cI\10NI#&Eâµ÷\8cþr-ôÛÜÔg\ eÔ­_\9b\8c\83½\9cÓç\1aµ.ÒPw\8c{\bBÄp\87     Ö\r\82{£înJº¹ºÎ&Øv{¦HÐÓ\8frTµbI\8b\ 6\9d.+±\v}ûti9\7fß²d$É&C0\b\ 6\ 1\ 5Èz"¨\90ÄF0&\10\90 \10\11\84\80\v\ 2\ 6\ 2\11\18\86A\9a£\ 3Õ\83¡
+5¢¾®îºV«­[[k[VÔ[lÐXÛB¡U\ 6R\16°\15\19,\16À\8a"²Ìûÿïÿÿ¾û÷ìÌÃ\bB.\89^{ÞÚÞ^sÛëîzúô7\9e÷9î\86îô·§¼æô·\9b½]æïKzûy¼ÞÞõ7¡½ëÔÞ\96÷·¡{[ü\vÊo_u\96Ée¶Æ®\\9fN\9aF²]\ 4eçEb¢î\11^nÃ\1d¬h(H\16è)^\ e\8aêGà°sü»ÔùOf\80ývÀËEõ\8cÒàwÃ\Àçáñú֦Юèzõ\8aw\7f÷/\8bF\8aY/?\81\8ej¨ÁòÉ\8a\8agZf\8f?KQâ(MÃé\ 3áí£z¼ä«\84\86U¤åM\86,i![xu(\1a\ 3Á&\92{ u* y\85礩s³u\1e\9d+\80öÂ\99:\­\8bgw§·§qá¹NË´©Å7wt¥ôìZ\1aé\7f5Òü\9aÍhG_AÖlë÷\a\9f5|\ 6[\8a]ų\aè\1d\82Ì*\14­¶.°\19\ f\9bj^¾\1e¯\fý\98\14
+à51±¨µc\9c¾?\12Ü=2j\ 2N\91\85    \17¡sI\ 5\89­Ð7?X&\ e,/o\8e\16\87\83\1f;?Wgß\9e\ eu\83E\11OÒøW\98\9eÖ6¯ø¢\95\1açô*X¹TuÁ¦Z\14P÷    7W¢\ 1*Á[-\9a\1eoʯÉ)'\14SE\10¢¹\8c\153\8dÝÞ^ߪ*\9eòNïÏZ»º\9b^ÕØÚö¤©d*g&ÝÝÞÆ»¼=gßÅ\a\8c\9aÁ¤æ³òm\82¨ Ç¢íÊÌv°+q\94(cÙ\98rK³Ç æ\8c\86²Ã\17\ fRðy8\1dêåì«©Ù\8aFíª7g\9dFÏÃ\1a5\16\8a.»Ñ$ÛÂÏó/'C¯l\aª»\f\ 2\8fû\r$\9bP\1fÛþ§\8fIèD\93|õõ\9e\98k\0¾\1e}\89±G=x\ e£½Ì\r\11ïYx>\9d¨úÔ\81ém¸Pãêf¼\11´e\95\8b0¦<­]B5Æ÷}2O\bZ`\19²jf¼ÖaA\9a\vui¨\16+ÉÒîê#\983Ú˳o\v\1eÜ}øÁ\14ì\8d¯Gá\9bGáÎ#ðd\8fÃÑ?\8dûH=½uÖ\17\176B\94\8bÚ\9f\fè\93I`TPW\89\92Cçð7¡\99ÇvY°q2Iq\1f³_Ôï\81£\ fÇ\e\87&h5\16,44"~þ©\98ü\ 5ÏOâ\91YÚ,\8bÇr®_/><D\9d\92{\rú=\9c\8d\e$¶o5\94Î'\82º 5lõ\14ÍùzY\17\98QÛ.\9d\8d\17¹U\8fMàÛ&á±)þ²^ÐqóUÓ\98\ f\0®L\8f®_É5Ö¿\83ì\9b\e{JÖr§p\1cûáÐÖCÀeaRL­Ç²\96VÌYOcA'Â*ét&hؼçõ\9b\83@ÃG{Ò\eX^=ËÌ\Ë)ÆÝ\9f\8c\18E³o£\8f½ã\9flyö{<\84ÏÚÑú\13\95>e\8f\15\ 3\13[\89NiG\ 2U4¶ø»\e\eéó8\7fnËb\143¹T\14ÃIä\19\90Û³Ø\86\1fÍãÃGã0\86\93Ûª`\e`z\8a\19ë\99í\97T3¤Öt
+¨ø\8d\1e¨\86TDg=\afç\=\82"o\b\14"¯û¹\ 2ê{SÌ\8fÂÈ\9e\84¹ÇÅë\a\84ÔÈ\ 2P´ýr¢¾ZIÚ\9b\10Ýý\86þ\80ë\16g\90Ö_|\17\87F\15êS­0\1d\ 6ÀO\91\ 2ëûáÙD\8d\16\v\87\99FLì©cpuV\eÙ\ 2\ 2\86à$\b\16/[\93:2\vçÎ\8bøè=87\81@£y\89YyÙ\8a\ ef\960ÑèàX³\9cÖYÏksíçj|ùÚ\9fjv¦Î`){ó®\90<2r2S\83æ\r8°à"~`ø\12\ 1ø\19      \82\927L\8a-ds_ìXZ\84Ú\1c\8dàÌ>a\f3ÐâðÑ\98XC[o`1ߦ
+Nñ\94(ØÙ1\1dñ¥l\1f¯\9dLw3ðYO5\8ae\a«zkÅ\94\12¼åÅÀ\a,ÁÀA\10\9eºïbðÛá\82.P¶¨§?`\8a\8fmQ\92\1a\8eí7ö\eTH£ðûh #l¡ýg\ 3ì6ÔÝOÝà|\87Z\8d;{Í,n.§x\1f¤ìÇDà\9dÊÂaQë\93dî[Ú¡ËRä¨Ñɶ¯]Ê\12ä\a¢\1c\0r?\9d^NF\8aRÑÙ½¾¼\9c
+á)\84ä½Îr\ 3\92ß\8eÆ\8fy¬æ\8e~\9a\96-\17rn¨Yeí\ 1\9e\16Dt~^Y\16vÆ£ððÏä\19W6Ú\96â\8cÕøÙ$t\8cãhÏ¿o-O\ 5Z\10Í\84ªa!´gü\7f\1e\9fê\8f0\0Ì\rc"Ч¤\86\9f7*\r\f\ 4\9c=\89q\95!¹mÜQ*\95»§°´r´/N\84\83\böÞ JopL³\7\9eö<7÷î\9bv\9b\e\16\83øö{\1a÷\1c\17Ϭt¡\95÷°â¯ævZ^n{Y\8dr\1e¢Ô\r)\a\98P\93DÛ´ñìc\8bòìüp¢\1dË\90_Zc\99ùAT\13¿fr§oc~\ f\97\ ft¨Æ¸ãbÑæk?sÖFe\1föÞúÅÍVÎÔ××ý³~\81\87¤&êvøm\93mO=\1a
+j»`
+m\ 37SG+\84\9bÃX\87RôÚ×Êð\83´\r\85\ 2¹a'\rs\95TMÉ\12v(\ 3̨¹\84\1e¦Í\83XÑyRÎVÝ\7f¨\7fthȹ\ 3Á\89\f\9e,Øm©Û\9eº\0| ¦dcfÕu\87\8f\19\v\1d÷\9e»\18ííCÌ.Pù½aû|6WZý\94Ú£à\1e\95\1a±®\ f\8c¬vz ?\ eæÓ\19\80<\8e/\96\7f\12Ö?¨ý£±¢ãn¯5l¬\ fT/?Ë\14}W£îÅ\1f¦ô\7f\1cQòù¯É\14|\16kÿ1GúÑPâ\8f¹û¼h£å}\ f~(îýk\88£\81\ 5ßÿ\fQöÜ\ fî\8a>g\80þ(úþ\ 2ñGø\9c\ 3Å\1e\96>§Ë4Qª"ÏÊ
+íì-\ f¦þòÚ£þhvé¤~\r\ f&ª9ï8\14×\85\1c}8\1d\ 4\(g|ÏUü3µ!´2°\ 5¢#\80Æýx\fj\8e\96ÐûH7ï\94ÛîZ¾N±\bO¥_«Þ{ï\9fF\8aÏmÀ3SålºD¡Jï¼ùé|\ 6Ûð\90I·°°\ 4\98 \bÈT
+Ðr\83­b\8d{Ãl\83²h\ f*<5ß\17ªé¨*k,eE\84ç~\12|ëÃE\9e Ù\12\1d Àû\1a\1eÌ6\8a5\93Ú˾\v¤J6MOTì¬4\fÆ:\90c\8ehñÞ)náxÅÔû!u\vûØ·\83z»¢õÀ\81zÿÄ\7fjw~ì\7ft;´G÷Åb?¾¬8þæs0ãûêñ£ûÍfm£úyq!\aÊä~\1f%\11ý\94âG÷u¹ãG÷/]ïÀ¶k~Ä\7f~\12ñýìs\1f\92\ 5½¦Æ¿wê\1a\10£i@[ò.L<\0«Ä\1a     \1d\8a-I½§\8f<ÏËÇ`>Å.û\9b­\bë]\97\8e²00Àë´õ\1fÇ\1fqê/\1c\7f¯ê\ 4Vì§pÞÓ×\ 1\1cøÀ\8e{ÖaÚ±\ eÌÊ\87\80îa¬ÞÞ\83B[C]¦ðÖt±U>XßfO}ö©n¦aRÈÎ!©*k±{\7f\19 \9a2~Â
+\a\95AV{[ÔA\95º\7fa¹        Eö\ e\11®Ò¿\95>Pð­¢=Ð\aNÿË¢\1eÔ\13Á]lT¡ï\1fëÜÊ-HF¾êúÏLw£×'ÙeØ\83\14×¼à%k,ôî\e\ 1`ìþÓ\ 5r¬]\8daËz£Ç\84Ò\ fL5ñrÃ\aJ\9f\1c7W\9c°\9fZ\8dt3Û\83÷é`o§Ë\7fþ\96\ 6ð\19oãAú¿æ¥z}^U4¯O×åSJôývUúQûþcÇ\87ÿåu!Ìô~Ýu!Ò\7f\85u!ÿ±æ\rñQ°}\b\85\8e
+\11×Ú~ú\11m\87\7f \ 5Í{\8a\9eÕ\87ªNÝ6_\8a²\9dë­?\91)wÔ\94¼ôEn\93\8ax±p©c_\8e\94¿ð\92\98ÏúÏ\12o\ 2G\8a¦ä\94Õo/ÅÍø\19Ï\97\99~\94ÝîKÿÄ\15rw¡)½Ø<e¾Pào\1e\8fýÊPKî\ 1¼ û\86ïʪ¨«·<i>8ì\8eÛ4ùó\84²èV\19l¹ÁâÌk\at\12\b®Xé\ 4_\97\@\18s+q\10|nN=\8aY\vM,TûwxT²Æ\a\8c\ f±â\1e0;ôÍ\v\91\81K\ fç¥\939\15¯YÆ«^²\80x\ ffýô|D!'9á7ÜÖ½ä \9e\13|%\98ó¾Ç­}ÂI-}ð\ 5ftnÕ@xO­¨\19JG­)\84n´¦\8eûe|®½m¯5WzI*\eµ\a\ eªjÿ¼ð8Àñ/ðq\90+.ÝýMëª\96\95(\7f\ 6á*Pî\86ÈöæÈöÐ)iL1¾\12ô\18¾ÉU8s\1e.6Êù\ 4ðáÛ:÷P\88M  QvsÃÇ\933~ë\fðñá>\19ð}ÐØ=¹°{c`û\9aׯ\0\94ú\ eüfyß\8eí\fñ\14Ïw»­{ð Ýø§\85¯wZúg[¾\99Öï¦u»ï\94T¸¾z[O\92Zìl?vò\8a\96ÍÁ\e\89Þ²[\8a§±~Ú\9eÏ®\84YgB?ù\15\9f\99ýpn|t#³öÏ\16_\8dwrÕg9ÆË96\vrl\16ç$£ÇAL\eî?ûd%KãRà{)\18Õ¤sqÛeVz/\19    \11øñ\ f>\e¹°y*ëÅ\ f\8cáöÔ¹f\87·¼È-yÂK­ye,´\ 4\f\9b3-\97ü\96\91²\90®c-Rûç¥ë~v\1d/[ò\91ër\8c¦V䬤ë¯{g\15W\8a\f\95\ 5Ù×\16\97\84\96è^Z0¥õy(g\88îz_cn³}r÷;\88­ûË>¿p\84¦~ê\13Ùþô\1aáª\10\9dw\ e*ò1\8b\97Z\ 3;\83ÉÏ\7f¡î\r/g\9e¨-ä\96¼\1a\8f\ 1z ·üº\1eÎöü¬7·BiýÜS\ 4xjÃ6\8f¹>\ 4\18\9f\85\99\9f\0òØÚÃT\18¸è¥£°w.B8Á\8501ø×5®æq;¹\9cL)\81­\95å¢×\9c B\9e=kÎHuF²½È-{Ê_M£NMkÛ+ÂÊ\8exV ä\82Ò¸NQiVRk@ÕSÆBk»\8aóëâW\9e¼®G\13\93[¤e¨åoÎ1áÂ\1fZìºÊ\87¾\1fO;Ùã²ÛyÉoØJ08ï{Ï«5}è2ü÷{ÒûS\17öÒiV±_#\9d¿g<Îs\ 3\8dë³·Zí§\ 3«B\117-»¢Àò\7fN×Èçûo\1fa\80\93ûý²d¹Orð+\1cß\a"\15\80Ò\1cTÀ/ j+Ó\95\1f¾l\92¬\97¸$«\ 5
+¤=?»û\1aÚ\88¡¯³/P\12 å\9aËP\1aÞ\84«G|<0\0:[ppÃ\0\82AqAZ4áÕ\84\rnX\15#\94Ö÷ÑaOáB¨\r¶F´\ fs¶`Öæ\rhP¬\ 6¨\12b|Ö\82¦!\85\ 5\19ðMmþ1e¹\93Z\15ó_\89\r±\91­ø&·Æ\8c\ 5CT
+ý©635 ¾¯þ\81­\96\8e\8dRîX\88\99\1f^\15Æ\90\b\ 1.\vôE k\99­î\rma\ 5\86\8f\ 4\86\9c\ 2ÃW\99\876\8eŪ\r\82Ã\97¾5»CZ  ;\ 6ÐÎ\83u\91÷+H¿\18·4¶\1cá\91æ\81\r×\11\vý£=]%ã\16Á\9aú\81e¥P2.Ð$»;`\12\85þ\1e\b\1fççR\1dD¢s\88¢\14\16`\v\ e\9dz\ 4\83\ 3à[\80=ÿ\9f!ïs¶\1491(\18µ\8b\ 4ò\193©¯]ÛjÀ\8bP?\9e°Kßj\ e§\9d\85IQ\ 2""ã4zÓ)Ï&²ÍñI;q\90­\1a:eÇ\935\12Úô\9cC¶ÁPm=æ\92       ^ì\a
\8fñ\87\ 3µE`0ñó\85L2aZ9½   Ð\9cTP\9c^\ 3}\82ó\a\10èc¥"]½\86\r5ºOtð\fà^çÈQmh\88\13\12à\ 2o^}!\89S\9b\1a ÙÚD+   ág¾gÿaU\9a&\ 5û,A\9fKÎ.\b°ð\ 3\1e¦ÜÚCî\19¹5Ï\ 3­cÅ\15\8bî9!Ù®¨\90áà\92ð8Ö\0Ú\8d¨×\18hIáßæL2ì\9bÆ\1em~\1dpű@$9°m\1fáX\ f<\88Ü¡\87ï\e4;\9fý\eB> éZ#\954zçÎ\84#¹SÁçó\eL¯â6\8b\\89\ 6C*\ 1ç.\8cøÌosä
+Îÿ\8a%0Ç\93Wñ¶tDq>~ö\ 1PHú\884Êÿß\0åΠ¼ú%Îç\r\1ahs+\8c¡¯¹\ fõ\a\80[\92\ 5\vðJåã\99 M,\1c\12£ O@PµÑ\9cV\8bØ\rýµ\9f\86@\ f+øNÈ\15@¾ÇJü\12ÐP
+àý2Aæ\ 5\ 1매~I\ 6\83½}\1aá¸öÀæxôÄ\1e\ 50\83\81\1eØàÑ\ñ\ f\13·\90x\97ª:$6\ 3\11çI\ 4:õQ¡]á\1d¹í)\ f4\e\ 6Õ\12À<êÂ\b\18Å\ 4"r$?\83¥\'é\7fËø5\9fä\ fM\99¯N\96\0â;\9aùã\86Í\9c×áÒ¢ìúùŪ\8dxðÚjÒÏ\b\96Rà1Ô\bÓoW&FV4¾»>\97ù¢­¢\ÒkjnßLX³ÃL\ÒthÛé\8dvp\9e\8fÅ\1d\8eÆ\905mFÇ\ 4Í\1c\13\8dó¤2Æp¢»q \ f\96\1ÊØsþ\\86x\fI\9e\r\82,\8d\10\8d\91È\1f\ 1½}\fÔj%\17\7f\1fì
+ãØþ\8dIöÍ9Ô\82w¸´çÒ_TjÔ÷\8c\%|ÖNd£÷ø\92\9d\94£\9e\18,_ã\93\14Ô1ñ\86×\92\ 5\10«/Ä\1eA~\85üKáÂW\18y?®`È«\86
+\8dhÖNå$­j\87¿EDZ\94×q2µ@³FårVïz\93\12\ 5\80ÍØr\90¡\e\v+y£¥¥zß½\ 6qd\827\ 4û\93LA\1ax~\v!M\88ðEõ\0^Èüy%¿Xp=²LÅy¹Ám3·\ 6·tU½Ãè\1aЧl\10H[\9e\8c¦\90ëÍo\92SHB\9aWðf·,kAq ~\15ÈzËÆô\16h*0j·Þ`ÖÓ\1aÝ4`¡£\7fxkk\roÝ5»ã[ê\9aßdÖ\84æ\8f\92kd\9a\bÝ\84\82ÙLæ#\96[\80k]\91\19¬\82ÄÒ;5ºb\vÞÿ0¦\8cϵ5Ì\86êçzG©2\ 4f¢Ô\8b\9d\7f\fkA"\80ôf·\A{ïà\1aÝ\81­Ü\82w8\81\19¾\99Ð\Üøæµ£m4Îq4âßÿÙ¦v\v\97ÀÏ*\99§6\ 54]\13Nôg\bbU\19'®sÝ/\99´MQü­_Ï\8aíæ²é\1f\99\91'\88V£J½`Ê'î&º\8dp\ 5\88´¾°+ 9§æ°\ e ÈW`¾ät\89\9d'\14ÆÖôI\1eø\98\ 6\80\Q\13W{@ÓCÒ?\ fãQ\9bW\92~\14>(\99Z5·¿Ê¤\7f­`\ 3\9cÿ¨R)sE)UB¥jÃ\8eÄ\9bom6ß\14G\81û¤);¾ôÛ\98LõF6\ 4Ù9eÅ \97FYþ¢MÃzZ×a4Ö#F±\0ð%éàÍÍ\9d\."ôi\87L±Ç¡-\1a\9b^¯7\#ê ·K,\92ý\ 3ê`\97ìî,§É\80ùÖáÓ\99h\84½\11\ 3\18xx%ôJÀæ¢Ë\14Þ\18Eù2¢ü\13Χ#Ð\10Ò¡\90c7\8f"\99¼y\1fñ\9bÇîE\97¦âE\95êã\9cïnd\f¿\9f\aè\88˵PdzÿÃ\87àN)\86_°ÿ\93\14Ä\9c\7f\12qüIÇñ'\1fÿÄãõK}\858þÁþ½{\ 3ËaRØ\ eÀ\9c\7fÏ®:\8b0\f\13Î\11±ÖÀ\9c~\ 6\f\86ƽüáÿ|Òw\aê×\ e\84Á¥\81¯-S\8fì8{\8bÞ\9d3\83U!þYkvh¾ÞÃ\94ÉñdD¢qÿ\1eBèH\vêãøó\8fúEëµ·¸.ÐU´$Æ{\ f\ 1\93\95$ÆSÏ\92c!Ó\96î'¯5ºø¡ìÛ>a­
+®Q\ 5ôq
+¡P\9d*íqÔ\14çpìâÞ)N{
+A\99k\163\9eïáD²\85»¥È\1aÜá­ÒÅ\9d<\fÖ
+¼zì\rh$ÂßxkB´ek\rnø'YÜ\8cì` ¶æ·\96\ 4\1a\125 °£À\9eî\80\ 1\e½±
+X®0«µÇé\11ñ¬É\90¥\86Í\1aÜ`\0iÜp,*Ù³ÜÖ\82Ëbí\r\8f\8d¤\vØ^H\83\81\aÆ»Ä*\911\9cs¿}XêÅ×\9aE)¯\83\9fÉn]Z:úDPÅp'\ fïß\ 15´ü,¸\92\85ª§\ 3ïßJР    sç¢o\1eýô|ý1Ên<.hbÈ/s¶\9b>\ 5)R$Ë\92\ 4 §&ûÃu¹9JRòG)=<9\12\99\9bgÞ~¯8EwÖ¢koÈ:k\94Z~\ 1LX\89:|¨³HÐM\99ª)³\91\10&p0Í\91+I\96&pïß~¾w¢ËÒgr\ e¾~µ\8c+ùæ]À%+ús\93&\98\92¹/ôÌ£\84J\81bPFl_À\94ò@\99ÅìÓ{Ã\9c\9a`û£\92\94*.ln\8fÅâÅÐ|\17[\87ä©¶3\eÁÖPJA§-[\17S9¼«¤AõÑØ0\89O\85\e ¸\10\87UÔ H|JÝ]eɨ<       LÌp\r¾ç¿\90J\89ên¢^îýò1\1c     {,A½\10/ß¾ïó½\11 \97myUÏ[Ð"ë\97\85D^s/ʤL
+\1aÍ\ 54×Ìç²y\11&r°*¡°&q\1cû®}Ö\87\8aMåbMä`첤W\96ú\17]\97KDgY\12UçîÝ|\831tN»÷½wG\0ªSägè´:\ 3\92\9cHÝzS\94?\9e\84ÑGA*Aë\9d(§ËÀ\9cÂt\ 6\89þ\80\89Í\85\82\88\eQU\92ÀdÑ/\84Ù:\ 2«»Q_#¨\95\12{#FO\12l"ÉÕ¹*ñë\8f\85a\94¯_ùÊ+ìe0Kk¥\10T1âNi¨\89\1e¹ÔnJ¥Óç\93Ë\92Îëµ¾!\9a=\94\16\8a     Ä\84J\83|
+u\97é\9c¡èá\15\aL\r5,`\16#6\ 5V·®9OÿÀm\8c¢Ö\1a¨*Ö\15\9e\vDe\17°Ó\12£\19CU\ f~ËÛ\85x\92¶|,Å\19KìaxD®7ü\18DeG±\83Õ\17Ù\93\97\9cÿ,¹W\b\89M¬Ãr8r\9dQ\84PQwèÐ\82¢££S\ 5\89O;÷ã\\\rM\10*5^CF¨ÑųN\93ö      »Õ\1a\12ÜÄÜ\ÿ\1eâæ\7fôp½~I+2¨+ñ(S²\96\1emè²Úó[Ü\1aÝán3CÓÝî«ð»à\97\93ý!­\ eý]¯5 \9d\99`\ 2Ýsf·Ì\8d\12ºÅ
+ærÇÇ\rj2ÞÈÞ¥Á0íÂ\97       7\84WN9\820\ 1_¨kA0¢b\9a\88éÅÞÈ\93
+Àû\ô¤oS}¹­ù\84I\86ÿX\8dêo\82ÔI0Ì\ 5U-\ 3\99\a\8b/Ç~GDï\13\85ë\89ÂõÄÜ\19ÿ?\v×,BÛ\83\9d\\89\8aÑ_g¡Á`Àe¬t\1féÍð÷\ 4¶Áw2\8d¾z\84ä\8d\12ðq¤1àè\b\9c\7fÖH=\96ôÉ!ÂÚ$î\ 6T\11\86j\11_\9e¡û\1d\81fñÍA\18ßÞ¡<0.!qj\8fP´qç äZ\e2Ÿ#ɦ`¾N'\f\ f\13\86\a\89·Ç\89·Ç\89·Ç\89·Çü;|yÅÇ4fÞjm¾¶¸SST2\96ú> kÄÜMMc\\f·\13[Ü      ©¬k     ¸\9a\9b,\9d¾\ f²¾1T\81\97<Q¨        \1cµTÕu`\16&¦ûÒ\0t\1f¢jhTÚ/\0\16ýü\10\13¶ä '¦\15¢#Ý\1aÞðÖ\82\1dç\ 2-\82Æ\ 6Þ\1dy¨:3[Õ\97\f>\bÔûhkf£M\8eÍm\91­ëËo.ð\83\90\8e\*\e\80Ö\85ptî\rm¬x×p\9d1\v\14\ eäÖ\82˵òD\7fW2æ·¡.LÄ92ÞØÖø¤<\1c»¢WD8²äÌ@\ 3×ñò*\15·\19Ò4\e´
+È<I©±&¦Ä\9a\9bü³Sqoôé¨M\ 2sK\89 N,¤Ä\88\8eÑáøaø·ïrix\1e\18{(õI\12\7fv95XAëÊ!\92ã\9bá\87ÐøÍ9Ë\1eN\r)$à
+.³\90C×¶Ü=z\ðÃéÝ\80ø¥¶È\95\b\ 1l\f>3Zqé\9aÓ\8f\895¦$Ö\98\93ZbMi\895¦$Ö\98\9c\9b\8föî­ûhî<Ö\9c±'^oì\92uÖï\99
+tfÎ\9aÝ1'Z®ô\13£\84:\94\9f$\12\87èK\85\rïÉ\ 4\9bÂ\99\97Û\97
+\13\845³åÂ\80½5µ&·þ\855ä8O\90ª^{R\9aú\1eü2   nC<]\ 2ì\10J/«.\81\86\1c\9d/fSe|"A*=É­¼\ 4×S[ 5µ\ 6´\16yl:¿øWÌ\8f`k{³Z      ²\ 3XE«r\vtO.E«k\9f"Õµ
+ìW×\9aÞøÖî\båpíMkR\1eëûù­\9b!pk
+POø1ÐÓ¦\86\18\93X\7fÖk\b\98«Î\ 6§E§A\8aÅñøb\10.0t\17\16l\ e\18l/(1L\9c9~âX40øa\14\17\1f}\ 6\\vÊM\8e\18,\v\85ÕE®®\18\ 4\v\85}\ 5ĶÇ\vú´û.Õ\8b\9föt\ 1Ö\v\8cíEJº\19G#\ 4¸Óö\14É,CÒá\8b÷ï°O\aÿ¿å\18/Zµ\17\95\bþýþu\8b\8eÂ\9b[RÅÄ8*\1d\ fIÞä\94\Â`_F(|\9c\13É
+\ fF|\vëþ\14¼õ\18»Íüå̦£\15Ç\v¸\17T½þ\7fmEûY\11/3Pcø\995g\b1öY:lèðÂ{
+j\8d-6uÝ\0\14§»<ô§S·£\b\ eá\96Qq¡·íp5.Í\91 _oýïKñ²\7féÂÆû\92¡àC~ÞS¼\byÂáZÂ÷xÍôU\0^±*\87º¸UU9\.\14ì Ã\7fIr¬±Â~\85Í\8c\12<&\1c8\vÇQ\ 1\80LÛp\93ª.Zña±'\8¹ÔE~\15ý\19ê\1c]j\18p¸Fÿ\93RÁJf«n>Ã\93Ã\92êÆÜlLU4 ¿È)\82\96$Öïß!Ñm\98ð$Õ£?áÉ«\1c£\ 2é¿\ 3\15{síÉ¥\ 68\17ÃxÉ¡\r\1a0Úp¤ÐÀ}\16\18\8e¨ÀFÄ8¢ôõØâ@ðxò@ñ;É{\10\94\81#W»R¯}h²­"4#eýÙtn\9fj¤`+ }\15\eÝÜ\99èFü9\12ÆmË\ 5È\16\vjXÎ<\99wBüî¤Ã»\13\ e\eBË;\99e\9bbÌûÁa»á`93õ=|\17\17k\9bØuø\1f\ae\90ì4/¾Þfí\8aÛBª¶xUW\ f\b\14|ÿ*\1f\11Â\ 5\e<%.¿îfú®×\19ð¤½mMç»å>L Qc\84
+0p\93Åþ%U¿Äú'Ñ>\89ôO¢}\13ïr¬`\ 6¬3ê>]\97˸¯]ü\89 1j6\ 68\93ïóú¤\9b¾¨U\95þnÃïo5Þ7u\90øü\9dïMâ\£ç<I¨Ù¼#U¸Rmmë×\7fáßþ\ 5é\15ë¿èH\7fº0µ\9e½ É\ 6ê5\1eø\e\8b×\7fR\aÓ\82h¿ÿEY[Ò#:ÖäW®{RAuw+AAkÈ5en \83\9e\b\8fþ⬭Ã\a\85d\v¹/þ⬭îdànKÿ¶\\1f:ühú\86\ fn+(f>3\9eÑ\00\8b\90ÖÈõCã\\15M\v³\83Á\ 4_O¤4àfÈ»%\7fzÑ=\92¿»h\9eÉ_Ü´â××>wE\9e÷S¢þm\9f\19\1c\9bÙª
+ðþ${Ýp_\eðYHõ§GGFÃ,\91ïf^^_Nk_\15ôQîýÅ=mee3¾Jù|­§p¤wñy¸Ýn«)ï\933:\17\8b)\1d\1dæ\fÚ\98¤­­òv½bÊGE×\ e\1f£\19\88£¢\1ccW\ e\1d\eç\ e\1a\9fÆø\ e\8e\854.\9c5k\18o\9aµpê\85]\88­Åm;ºzÔà\\ 2\90síÃ\87ÈÃÐ\80Í~\86\85ÌÚë,¢qþ\85]qäà²Ô\83W-M\8f\ f\93t#u\1e³äíæÈ¾xp\84\87\1fÓ8OË\12\ fÃ\9d\96Í\9c`f\15QÐrÃ\9bMÖ2N1\9b2À"\88øQ\97>J^]ãʺ·Ñ\91\88P\7f\15\96µªªªÝovIeË£\0\85Õ9\aÎ\8a\f\96\9b\15Æ\ eZ\1f æ\13\95ï\ f\96\82˯\98¹é\94a|2î\92¯ög\87uhÜQ´lPnbN\92ª\92L»â&\1dû¯¡Ø\93_5ÕÓ\176w9\8aáý1\ 2ÆÙl\81Ç\13     2¯\9b'o6~i¾Ü}Ê#·
+¾h\1c;vñãÊpËU\94\84\ 2v¡û\8fø+A*\97\1e\ f\8b\r\19­*Éíêí\ 5\v·EÍ\ 1\90\ eÊ/C\8c\85u>\86\jø_j\97I\9e\e©ð\9bí\922g\1d\ 2-äñd\97\89Ñ\85õ]\1cÀ¢\87èà\1a½¥e\95fÒ®¬p       %â\95R~|=\92\14±o¤ú·d\9c[>W_?ϳ³­­Úí|\83Ýr+@\85På}\ 2î\ fWh\8cÛè 2ët@´­\87E\ 2\952Ã&\96.Bl\9c\1e\90ÐÀ,.UxÀú\ 6\ 5Ütÿ\1e\ 2]
+®¦|çnÅ\97Ñ\rÖ´~§5åd,áx2ÌÈpgý\1cñʱuN-)\aO\91\16ás1ë¦NÝ+çgP61AèàÐæm\fÍF-ã٩ݵWÀËé\17\83êé      C\ fK3ä®K»§\ fõ²(\10³\9d¼\8c\9a6m\1e\1a¹´¿\1d¥Yþ<$ÕÙôôÕ`óõg\\8e\9câ`wN,ºqH\8cU2êíPË,¤¹¸qN»Å«´5\8e\ 1§\8c\ 6n~\16A\87z):\95ì\8c|\18\ 1kjj²\zabL\1cðÀ&\86\ 5pC\bú\95\ 1éÔ\12Edüë\12)D\92\99rïU\90}C\19\1fi\96B\vÛ\94%\85ÌÂ\18=L\1cÛ6n\a\16F\9b®\8a\9a\92\86\84´àé\17\19\86±\83\v÷©Êòs3ù\9a5*Yo\aã½¾\957SÂ\0¡\7fÕ&ê\88`!\ 3\96\10ª4ME{\r¡`\17\8aq£ö\9ca\82t!\vë\ 5Ý\ f\92\8e\8fþµ\11\87\ 4â:ÿZP|;\14Z/õuu5½\84\18Y|¬\ 6+\ 5]ò¤2=\9e;ãl3ôñ\9d÷ñJ\v\f\9fsÜÌw6èJ\8eµÞ\17_YâL7Äõ~<lÛÖ«p³\1ci\86îVÕéQ0ÞU¯ê\98n\84\1a»üs\rܵþ¤\ 2\akúf\e÷\850¾«þÓ\rë\8a`}wá\98n\fÇ<DÎXãÌ7\92\8e\870Þ¾âa¾iüÃ\7f´©\86þJ¦\eìíæ\e¼Ñæ¿ý0ß··StÞ. ~á\b\19Oµ­¬¬³³§\r0}ÊtªPÚºuIYZ}:ÝÒ´tÓ\9eMÙÿ?ÜN\95OIÛ·ÈÂýÚú4ÖN-ù
+ÓYFò^L´×÷\88\99vÿ+ûÔ2ë}{;;?^´YaÝj);ZjÊÊgú>R´+²ôu\94råæ]êÒ\ 1j2iOù«b$Âè;|Äâß7Í5\85$'æ®\90\ 506\13s\14tpS\1a\87çA\99pù(³\7f\éÕ\rU\93\f¿\9e\v§UÌ]B\97ØLÉ\83\8b|\15õ/\87Þ\95h=\ f\84Z\978&ûK.\1f\aíô`Ëß·S3·S\ri\85y×èk\91­%\1f\ 5'\12RVVV@¬m\8f\11)\aäg\3±\ féâ\93üïhèé´³Z]/\9c}}\7fM{­?7Dóh\b\8cà·Ô.Îe/Fîc\82\96_Õb\12n¨h\86a\b8\fÄ\99®A&\913\bB\87ìäæ!]C¿HÉ˺\87ù3¢\85\8f
+hWPR\879©y¨7Z²ZF×nèèú\8d6Ói´Ú\9f³ìÂ\99\1cà$\9a\87\88ORLB\98óõÇ+àÝ~Áàw
+ë³\1c\99\83uÚ!ÁßÈ\17û(pw÷_$p¼\e®Õ\19âþê@\9dϦyEEEí\1a×\87\88@yê\16\97u
+cÏ\949\a\ 6\969\a\ 6ëæ\ eAÁºíÅâàÝw\ 3\930n¾kù,%%\81b\83v\1f=WµÙÖùvt[ÓÁãí\8bºÁ\99\1f¹\1c\99\83\1c\99\83\ eAÁºýÄ`\11\93\98Ng÷`K[´\19­~r¥jn\82\99ØÅ\1dC¹²¦\10îÉ\vY&\1fÝw\88د¿º\90\ 4R\9dÍ\95\11¥¥ý×Ñ-\17\86.»ÔºN\96¶ùÖyŧ\aÒ\8528ð¿¯$1Þ\98\7f1æÁ9^Å×ï'+غاN\v\17]ò\\1d\88>úiÂì]H\ 2\1c¥]~úsÅ\8b©iJßLo\8aj\ 1ñi$0 ¡\84ÄÇ\9e\ 3\19\96]\9b\19\9b¯ªÆm¦ëë'\v±uà±\9e)ºúêÒøùZ`øI\0\8d:}®Ö¶´µ±û      qÖ&Gû)É\96.¾Ò\u\8b­¢\u\8b¯àN\ 1bd}¬\19Ãv\87Ø\16¾N\ 1a\96ªÈzÑVÖùÕ\85\ 3¿ç\98¿ù¦;\82AGã\12<¤9ô¡bÎW·À×Ý·\9dÎ3äb¥;®_§ï¾\84\94¬lÝcµ¸UNíæ;ïkù¯a\13\1dê\1dþ©\8eú\8c/ðLw\ 2þ×þ\89\8eô.ÿLÇp47ð\98Þç\vÿY\8eàR9®KÿãÖ[=    1è]ò&;÷\vÌw\ 3\851Þ{\vÆ\98ï\8fdÄÇ~k
+\99\8eòØTÌwÀax³\1dô\14\9a/ßP\16þ\1cÇòý÷\ 3·P|;_vQMG÷i*Þ¹Ë\99¹½C
+\ 2Éh\9eâßC\r\r\f\9aZ@]ãðeÅÆEÅÅÆÅ\8fÏ÷`´,nIü\83á|Cu\96ÓÊ2e\15\15\16;»8¼M|\,,¶Ø²\r£V\8dÛ¹\9bNO\e,&Ü·hÑ\8cOÝ'+Ó\9aã\ f÷\0Ù/\8açá\95ÿ\10t6ô\8a\8bp\99l.l\81\98l8á\boçL\1e\ 4Ç\91åðM\enùYL\13\99\aÃ\1dt\13ºm\8d«\9bG6«7h\8d7\9aüÙ±y¾´o$áÖÚétºä\87s\93iPo­;~ß±6YÆ\13\8düÐÈ8¦qQ±m\r\94\v2\8cLÀöü#gbùÚmzn\89ÁOò¢(åÓ\92úm,ë3²æÝ\1f0\19c\1fÍ\ 3hÝþ\16[¸;/N\bi\0Éw\8b3ø\80È        möïng1áÀ8ã>\1a\8a\8b\8bhѾ\9dÌ\14þñoÂh\94ÜõðNË3\8c>\1cÚd\8f6t\9b\9b\9e´\9b\9b\7f      ]Ú\1f]«6@öè\a\9fðps2*¨]+b˳C,ïȳ\19\ 6æÊ\f\17L\ 3Å\13&OòÃQTh\e·D\82%¶âËC OnOlÃ\9b÷®\91ÄçrqÁ\95¬ÕY÷Z\8eÇ\84þ\12KX\88Vô2º^®\86úRRsP {\19\b\8f´n¥ß5ÀÔ\9b<Ü7µ[­\8aÓ\1a\11\13³ºlYõ\10pµZ­T`\7f´\ eh5E\ 6\8fÙË\83ïb\1cÍòl\83\frü¦(\90Ù\16Ö-¥\92\93\85S%×î²\90ÐVÿQ6éª\91\93nd;à:Ø\87.Mc\93D^S\13\90?\0%¨´\8b\8b´6kÚ\84Qnc\90yRÐî´dsF\80\ fìÑQbë:«H\11\98       {¹\10<\82[­û\a\86\15¿JòÂí&\81\93N\14Ý­u\r\aG?:[«\8e\8cÙ¶Î+O\17\17 á»®\8b±\b½\f\0\r¢{\84g\8cµ\b\8dvâÌè\9d\ e\80Ä|Ò\12¤¶7r\9còx\88\8b\849âââ\93©jÑ/\ 6å\e\ 2ìOZ\11ó\94åñþ«w<÷    l¦S(w¯Ôj8M;\1a\1a\1eÖ~UÉ\9cÜ¡,\ 4=Ò|,\9f®G{{G\10\97\84Ea¡\bnßi\1a\87Ù«\12X\86\98³u 4!\1aÍÅ\80´\19\12²6âÜÝx\ f\12\b-HÔã\91ÈÖ¶\ 3cnG\a+± i­Á=nh1·¢d¬¶Î\8d3\95\80\16K\vÓ¼\9dÒWÎ&áÎ\9ew[cçm±õékTª[;ºY\14tîºÃ\fß¿ÿûï³7P\ 4\9d\ 6íîòù׿'y<ïÁ?Gz\vï@}è\8f½\aõ;·¾öÖ4Û¾úâ|\0õ \r°N¡.\97º\:iØ0g\14\1cTlß\14\8eo\18þ?s-ä6Ü\81Ëz°\1aǵŰ\858\0\85+\r\8a\9aiô@\82Ëá\ 2\1dÔM\8dk\rX©l¹S°Î\9d<ÌÍ\93\0N\9d£2å\a9ôä\9e\95¼;xpíì«áW£µ\17.K\97\96âwXn×üA+Z¢çÕ\8b\9e¿Ó\85\bp\1dÌB¦[QãÒV>Â\828\9a3øáÏÛ|MåÞÆ$K\85ùw\v\97à\ 2#-70\11¨z[\eÅòö\83\8bu\ 3\16mÃ9-Ð\ 1â4\19\81úY\87ý&¤>(1\97\89mg\ 1%HQ3èz>\7f³Û({8\916]"\87ü\ 1ÚÅE\16\ f\80\ ft\87\8\bì0ëgl \1d²÷êCÃ4\8eMn\ 5Æ6áëD[a $
+¥o\b\ 2±.\83çQ¨\7f«~dc\9e\f×B`¦\8f\87C¾FÜ\ 5özöÕ\0\1a{Íî\9c\7fc;¹e\9cAFZ4Q£\1eMðg\12A\9c%\ 4ª\88V÷G\16\83\17^/Y\86ò­\91õmã\ 6mç¨lÐQ5T\9c\2×Vã\8bÚÌ&hOe\9c\16Y½/\98^¶Qö>\96s\13O-\86\18Ëa\19Æ\89°\1f\92\1fÂofÿ·w Àì\90á\92\89Ø _éä\95;\8cQ\88\87Áò\aø14æ{"ùÛs/¾Jç¡ÆX\ f8Pâ-²;X{N\¦\9c\94Ó±³¶c_¯Ø{çËà\8eep¨Ð/\96¾Â\96øAÝK,äKkke\14\80¸2zgt>Ó¡¢E¦(\8bEUG\ 4Ë\ e\0\94\14\8cry\eóç'm ìnÔ\98¬Hp\ 6yu\bLß%Çß\87'\98,5\8a\ 4gt0ä-;£ÀË\8at(QDDüag,¢¨¦v\1e«ºR¨\94f\17QµÙ"5\87ñ\86\ 3Ü&îÏÝ+\eoúÚAøÅÈî\ 4Â\8bÁ\97Ð\17Üù%ýFT3¨É\7f"Vc¼£X´\11`>\1fP\8bèzß\8c\8bÿjD\f\1f\ 6q×Uj\90æfÿ\8c}\84 :kÄV±Ý\98\ 2sNïíu\e+$V2õÝ&Êÿ\ÌϦ\9cö\ 1\19ÕµY\9cÝ\\r_G\ 3cÿ^\ 6}ÃÝLK¤Ï¾<îD\faê1A\9b\8dn£Hö\93[¨a\86°7È>r\9fC´JL4\8e¾¾¿ø\1dÝ^\a÷ú<\ f\98³#û\9e%ÿA\84\9d\0:¬wÅé±ßôë6®ÿå[\ 1©Á«}Ù\86®ºº¾¾Ê\1e§ÒI$,ãÎ2\rÀ}ø\ 5SizfñúéØàÀ\8fZaZ 4:îNTé\8dìù\87\ 3\12\13¿\1d\ 3±Ñ/.^.-
+\r¾ÎÖL\80\1a\80\0\89\b20ÿ\8f'[¥>W»KÝ\90
+âÜÚ\ 6T³L=\19º3
+\1a~Ì(FL
+]ù|Âå\84ül\fö{HÇ%«»É\8c\98Â\9c\ 4êÜ\\85×;\r\ 6\ 3\8av¶ÑU\91¹\99J\f_Ê1\ 2®Â1\e\ 4;]\99Pé5,\83ö£@³\8e\13\fÃÇ\92w¢÷\aC°ù]`§A\8cDj©Ó·à\19\94\81\85K\15­ß
+Bf8ÎRÀL&ý.øá÷(\ 3îòþúCé'\84p\9b\83\9e \1f0=JUôQ¦yÊ­;\86\a\19¤b9\8cn\93ÅïØa\92\8c\9d|ö°#:W]7òò\8a¶°d_ÙöÍ\8cÎ\18t\r\8fç\98\9esd%u\99=ÃeâA v\82À½bx\11ý\80\1e9\1e   |+\9a½Â×9\97\vÜGÕ~Þ\84PAÜ\8c\87LÆ?&<\8e×Ê2Kø¡FXµÄe¹ËF/Ï}\94ÈÿZæegT¤è±çN\964C\7fT\1fèðEB,Êû\9f:±h\8cºPU\18²\87\1aQÔ]7\9c*\a\85=-]?Ú÷È0Sµ©Q
+\82\1f\f%h1\1eö@\894ñÁéÝ\9a\8f¡Ô\85\13Ô\ 6Yåv»$a¦´º¶\\0_\9cº×1»\f½\r\85\95\81\9b\82\ f¥À\97x,5@ìû©4_BQU½\82£<\f¹¸ÊÑ}ç0̺!\97?ó{m=\86¯ô\9a{ð¼\92øÚ\8ab(£Ê7³m¶ø¾q p!Ç(PÃ~)§ðß\95|p\8a@SîËõIêZf\rLñ~<¹¾K\97¾6[ÞÈD\ 2TÔN¯8\ 5nd¸ø\95¡`CùïQ$\87jê´r'\14£\11ü\8eùÄ%ò¼\84%þÒAøF²Hâ^úÍf>Ü\92\ 3÷CÞ\97
+Úóbv\1aݤÏ5Xq-\87\ 2^¤ï\a\82é
+\8d\8bGÒðÍ ¿¤Pw\8d\ f²^Ò%¯sp¹\9aÛ\14gy\97Kõçð\10&\9cï\80ráºL$·P°\8b\86{ þw.\\au`\r:Eø\84\92$ñÕ±h~ÓVÓP$\8b\80\84Ü®Ç9Ua}\ f,¹ÆÌ\82\81\8eQ\9d\91í~Yàì²Î>9B\18\1ek>\83N\ f\17\8a\a\1eS\ 6*ÄKô\9cC\8bïà\ 3\87\9c6\1fù\86\ 4\8dQ;h\f\0Å\7f\17Ù¦ÊØû\95jðH\8fJ2\1d¦f£+t\8a¿ Ï¾4jÔĽ\ayTMäÔ«ß¾\89\81.\14 \81­\9b\0\98ÏúQuÇÉnÆü\15¦ÕUz¦¬Km\f8G*7Z\1f\94(>äQ*w@\97÷EL\v\82¨¡Ô]UpÕzC~?1\È\14\qòÄþ\91&õÉ©!dpJ\860£Á$YEN¸\7fǨÒ(\r\1aHVþ\98%\87üwÞ¯g²¯®éVfÀ%\15ãÏé+ªÃ\1f\9eïù\90Õ;Ë2%¾\9anÒ@Â}ð¥\942õ£¬\v4ÿS\9b\1eè=K\82ÕÏ="Gm6\948\8a«\f.\80\99à¤Å½U±(Q\98þ\82v\1f¢,úÚ]ÝÞÝ\97«lÏdù»\94\ e\ 1\v\80Î\9f\1c»\90þêW>\12rXbäz\1d¥\17\87#y#Ñ\1d¯qD0\1eJE>ºë\v=w*Ë8qEt\ f¬\94\1f\81TN¿t~\12I
+0pÊ/ûÿGLÞ6R\8a\81â§¿@¾/â\17\v\83¬=\1cä\8d\fTí|\97\0éR\89\10êá\1fà\81ÇO\a\ 6´\12&RT«þú]2˵\8cØ\99'\8a\9fh¢º\8eË6-9P<§\95Z*\8eýø;ä\9e\99Þ\19\82\ eøø»M\1d\83ÿ®P\1f\95ª\8dÏKt\1fK\8c[»ÄÇÐ\97\89\80è\9f\836o\835  \81àíÁ/ç©u§ºÑéç\84#±&\85\96Äk\8b\1dXþ£ à!á\e\87µ>\8ddh\16\1cú!è\87fº¤\16ÿA/Ç÷²gHÍLK!h\8c¹Éh¥¼~U¤\ f\90<Afp:\1dæâ}PY»5'Ä\86´»\âyËUÙ9\8c\89\8d\12 \10\1dáà*hê?\ eòt[
+ª&\880îAÄ\93OX=®E\99\9cW®­\19h¹Og"´\16ûH\ 1´Æ$dØ\85Ò-±\9c\83½.&Fã\89y>ð½67\87ÑÐ\ 4¯\9a¥'\8cúa\90\8fl\1fòpJ{Þ\a\ f\89Â¥æú¼<Z\14\87\7fÙ_¼\ f\vãÒßÐ@Õ\84h8pùðáç´:¯UWß\90\ 3\b/W\8eó© ­\8bDgÈ[xÑ¡ÁÂka ÞäÀÐO\93 T\æ\17\a   æ\95L-ü\vØ\9dÿº\8a\ 39qõÿb\ fG\13y\14hPù´*\9f=¸a\99\15T=+î\90\14A\ 3HÛCc¾\97K\81Þ¤Êwp\93\8a\87ä^;é\ fÂb'Á\81EÈh!\ 6\r:\9a\99Eí5\88Ä=ªMT»ÓèêhúÖÔ©\13[g«ÉD!ÌB\82Dxê«\1fft;\1ez\eÄ<ÃÒײÊË=pläC\1côê\94woæ\83\e á\9f«§\922U\92Ä;eAù\99k´}à¥c¶ºímõ÷\ 2\18    2¢­ó(â\14ð
+³á\17LÞ/;\f+\ 6\9d¤Æ7ä²\19E\ f%GägCʱE\129%TkuMô1Æ\9bmÓ(\7f\ 2¢\87Ói\87ôt\1d¿ªa\80\ eë\ 4y\17ÿGüu½$\96ì3l\99\96~K\82 Ô^\9a\ 1?]¶È¹axËF_PgoÞd©ÜëEíÛ\9e°ú^\1eÕ/µ\89m\rå\84\944u¡Á7\14Ϫ\ 3²k\¤äËí,hÞ\94©rÚíE\ e\9eW\1d\9eFtZ®@\19ñÏ¥óÖ\19>\15Ð>2Û¹"/°?§üèr-9 ÀÌ\ fM\19Æ\15«A>Ó\99ìy({+Ué#¶Ó\0§\ 6Á\9f\87/õ>I\82Bf
+ªê¯¸\11"[E\fiÇ¥Â¢ãØøë,¬\10ñ6!íWúÆ Åþº_J\94vÅ\8YT\1d#\85üha\93\83\10îõýÀ\156\17¸\"eê5Û\95\8cwoÆëVFã\92\8e\vA¶!^\10
+!=\11J`-÷z,¤ýN¤\99µ(Lm\9e\94\99¾1Q\9d9àlDº)\eYá)¦\14¿\ 2't\93\e\93²\ eK~gÌ!µ]e®JwW'  \f6\8bô!÷\97ëì¤`\ 4·þÎ6¤\95Ü»\82öÝJÆ\96þå2¥\99\e\ 2|Î>ïÆ\17ݬ\mµmVÊ\19\13\ 6oAá\80WXÙ-\v\8béIQ:\84·\89\ eÜ\9a\83\ 6\83«2ðÄÎ.³[\1f\17ò\ 2K|>zIaWa\12x6®&n'Ð\ 6Äó8ô¬Ï%¿â
+uÙZÄÖ̤\8c~0\93<àB¾ ô
+3ý{Ã1\86¥¯¿\14AHä~éu\16\9a¯°æiè{²\12ÏÀVÕØz¯}\81}J\185\ e\0m\94³Å\ 1ÒýYÕ\96@;ð\83Ú¿\aQSG§å'\9c\9e¥´EÎÀ\92«\ e\86\9cdíÃ\17Ù.\13Øå±rT=F/\83ÇÔèѧ\8eT\9b\9f\19>k¯©\aÈʹ\12\ 3Ä\18ë\8f\ 3\8cYA%Ï&AÓ\ 3\96eC\93\12\14\82¢V\96úyoht?p!\9e\ 6M&QJ"\ 6\ fÜfF\8e\99\9b\88C\aÿTG^{^N\85\91öJ»ö\86B\87\9a\91\16\9323¹eÏl£\b\7fÙà\0Õ\17é*\f\1dÛsc\0\87\91p0?\17âO\93|>.\ 5Ço\9aö@0Ö\fuÕ{#ç\ 3¬úÅ\9dK\b\9e\19\ 1\94}Ñ­ Ê\81EÃ'\89Y¯ú\12\ 3Åäj#gâñyE+XH\ 1ç\1cÌ)bÑ­S\8fÿ\ràà=¿Iµ\87\ eÒ\95fÖ?\ fÅ=®´\94N\ 34\1dø4\99\ e5Ýx¼.«©nÓÂKvÞż+±çÐT©l¦ÃmJ,\8eU\9bó\17~\88zÜÔµ·Àí\1a\9f²í06Í5<Æl\12\ 3Í B    \ 1ÿïDá3\91Mv\8dø*Ý9Ø\9f\9d³\12³\93\18ålû\97
+:1n)Õ\81¯Ïí\ 6@~\f©R¯K×\ 5\93¸\10èH\ eO-¦\18æ>\\12ÆÇçÃm»Ü&ï[»Â=±\18¯i\99D¥I\r\12v\ 6\96§=Uçélô:ÏP£Xs5È`¿22ØM:\a\a{\v÷áEùÃ\10ØÃì\f¹È\8a(ÈüÅ¢zÀç\1eb°ùðõ}|Ù ¾Âç\19{\f|\85×Yuêͽüòø»\1aÖ$´\9cðrí\86.G\9cú\84Ó`º\a\90ÆA~PF\81ÿ^ÐcÛT\a\r5-Ñ}:\8eÃ\ 5:Øo÷6ç3qCx%}\1eW¥i_DõÃß\88\16ÍUndMÆ\87\ e\1a\1agTòpU¥\ 4\9cb(Rß±=\ eÍ\8c\ e/f\1fÅs\15«Úü\1eÜ9ÒÃ.\19^\82\11@Øaä^\ 4áGÃïô
+\92q¢«Ï&\18Y¯x\8d\14%GË·ó\ 4\13\ f6ðÞ1 ÓXô\97\7f\86\1ck¾zX\18\18\a\9d\86èb\0þ\f!\8eÿæ5\f\1d«Ñ3ú-_¬SbÏv£Gì\7f\10*bQ ñÙË÷¡l­º²²²ÝJìÃò²»ëa¡áb\80Ã-GV*\19÷Ü\ f©5\10?ù VÖ$KUßb_.\85\ e`J¤\82U\1fÖòÃÌ\ 3\9fãBá\148q-£önAD\10\10  p\95@;\87=\8d\ 5B\1fù{ÏÑù\18þ~¦2ç\9dàËmÍ¿Ä\98ÛÌqq´û\ 3,\1eã´\ 37^è¤Qa\17(¿â½Ñ¨¢\9aÃUGJ/NÑ(Ø\9f\85\9bÃÅÓfVÌ\16å\11\7f¢°ÄTEö~
+ßÞD¤³|µìUèÑ\1aÕs\93¼~e\9a\9dU\9c\95Â\ f\ 6L\11\98\86¶æ\88\ 2_\Å\9f½×§>¹55ßê\17ÝÇ"\9d)\1a\92\8c\ f¼pþ`{\92\9f\97ëRïe`Ê\96×j-\8c;@¿Xk,«óClÁñ\7feD=\90LuLѳ÷R\10\9fîD9Âu\9cõÿPga\92ÑKB\82\95é@\9d\97à*\14¬\9d\1c¹?\8búF\fð'óQqÅþê.>{\80á\ 3\12êK6\9bK\97\83¾ËrÖÃ\f\85ü\99k`wÝÿwlTë\8d\1a\9dÂú}dî 3Iô\194Tòz\19\19\1e\83/Nõ[E\ 6¦\9c¦\17 \8bj¾³¹âi´\8cF¸b8qä\14UB\ 6³\1ej=<ÀklÑ»Û\ 37  ±\91£t\1fû39¡\9eÒå\9e\11Å\87\b\92æÁñª\ fÁß\ 6Õ\ 3£gý?\81zBYY« [[\7f\7fÀ\0\1f8&d²éäû,ü
+»É\ 3\ 2¨¾\7f_agm¶\82zDZ\10¡\ 1pÕ./\9a\ fcøws>\fí¥æÇ½Ú3zg?\19uJF &¦,Ô\ fkÅ<9y%\10\vxU\98@\ 4eW\94\ 3$\88÷
+u8Z\9c\84\ 1\z\1eÕ\13\e*\86ylÿ°·Mù\8a¿<1T=©tJVlá2:©§
\9c\90nuÉë\8f\1c]\e\ 5\9f$&ô\9bÊ_T_Ûß\83Tùå7'vBÜÔÐ.<ÂÓ<®a\9d\92E
+¿É\ 2\87N{rT\92¤òI\ 3;1YÐ1Y°Ä\11\1cö\98#\13\84ªÉ$аä\9e\91¯\85K\1dÃP\94¾ð¾ôÚ_\\\1a\87\9f\bñ\15ÏÓ×täÍï\ 6tºW:m_s\7fÁßÑàÎ'FZ¥^×öÏ\96õ%Â]y~¶øí\8b\0\ eÓ\199Q`>\8e*\1eo\86hF\8bt"½fÒÑû\12\ fΧØó©ÿ®±J\b÷\a\81\bL\94#Gô¾ôÝ¢d±\84\1f\8ekÙ9O´BB\7f'SKÀIó:Z_¢©[ÐÛóûý\rÀcx\0Pòoñ¢O\89\12%BGc¹ôÌ®\r¶Øõ%\16\97\15ÿoöÍ»Uµº3nÿp(Îñ!B\96Q\f³Ï򨃿¹}\ 2Z/\8aÌZ
+_¢}Q\82^J\90¡W\1e\88ÐùJãÇ``§Ö|Ì\874\14ÂH;"\fJ0\83{
+\18@\8aõZ\86\v\9a*zU!DÑDaª*CY\ 2þó3\eka-\94N\18Ï\87ª.:\96\90áÆ¿ßYÁ\f F\8aDv\17^¬(ÿã9óëý¨kl]&\ 6\ 5ù»Y£@­óÿÏÈ\8f\1fK\90`\1fýÑKô\81§Ô¬t=ÅWèË\9c9$\9d\16­\1e\8fò¾ÿÙRe,ßH.\9a\b\1eÈåùA\96ï*ö5L`hü\ 3ú±-²Ý\v¯è>/¥H\84\97\1a5\89      ø\ 6\9a¨î\9d\97²S\a\9d\8a¾î\ 50çÒ"Ý |\86IJ8ÎK\v\1dÈc9,2¾ü\82ê-«Àý\1f\88\97\89¯\ 6\1c(½EgF©ÉÚ\rÈå\19øÏ­\ 6­\8b¨GX\818ÑÕ\96V~sï\8d|h\15e(°a\9eBÕ³\92\83L[[&ø&{ß\18\1fÏL¨#©Óêc\97©³Ag£°òÙ\1a\\8e-%xè\8a\9fÈ\825xUe"5|{b\1a5}h\9f^}Z\99\91\9b\91\8füò\ 1Ã:\81\18f^¶F\81V$X^¯Up×îÒ5&<Kb­$\98È\12r\9cãM7ëµ.\¿\86Ò      o÷ú\8c\8d\80RtÙ\eóJ*vº+\8bÏ![Y\ 1.¨è\1e%ZDE¥C`\1dÛï7\84\rÛ\8b®]t(\1eo#¡S.yÇĹøG\8eeQ(G¥¢f       Y®\1a\84\fì\8dþÊ\19s·¶\a!+a¢\8eô Ã\13íà\9a¦^2˯§/Åå\19\\ 1|\9c\9cÊ\89Ä\89¢A\9bö¾åH\99© 3Yù¡ò\81EÖÃ×ëö\ 1TâT\92dÏb\81,\15\ f6Ì?L¤LþÐî\9dÈ\99H&m\9dÅ÷\1c£¿ár2\82\91
+\80;\e\97ÿ\8e0ðì··÷ùþµ~Zë¯p¹¦o¬¶\e\^\14ŤL¢|\a\ frÇpg \1d\a\16\±%\91÷ô\15Íý!÷ts4+¶Á\80E´²\9c­%\10\\vDß'»a\9bbG\93M¸êÇ`õ\ f\80×\eÊQopØ\7f\89õså
+u\94Î\13Nº¿\859·é\1c\13õ\83o'Åñþ\1c\ fz}Ï\b\\8b\92ÃT'©g\9c\87\rù]8m\1fæ\1a*²ùg\85wBlÝ\ 6\91\8c¶#ÇÕiM\18­â¥½5)\ 5Rið\1fT\10£Õx\89b\ 6À\85\1aÀ\ 6\8d;      Õ\9ftäëµø6\86 #èT\87\86ÞõR\89¾(Ú2ßé\97µ¯\ eÊ{82çßö÷ý¾Óç\7f\90\8aá\ 3²\18\9c¦Ûâ«KP|\1c\ frݵU\87Ï\89­×Mø<\ 3L5EW¼Å½{
+ÏNSùGyr.·W\7f2
+º|غn\9bÅî\ 6\14}ÊÕп\9c!2,qS\aóé¶_ þº\ 5O}Û\9e²\ri"\1a,70éÖ4\1fÙ8ô¨øô\ e;^\7f\86\1eØw·Ûä§²f]\fÖ¡pÅRç¸8\15\ 4Ù\v\ 1ô\r\95"y·\v­q®É?\17ߣ\1a°#W»\ 4Dz÷\ easÉ]c£Ë±\aÉE\ f>ò«<ãó\ 2Íh\1e\r\7fó±¼Î\1f\ fÌßo¸øØ¸¸¾.*(V\14¦à\1dâ¨\ 1ýXv¼6ö\93'Lnî_\96Ól\9e&X>\9ajnÓåÆÌRM9ð¡T*ý2ã\92¤\9ewfPÔI\8dRAÑçé\84§u¤·QXóò$°_£ÈehE|ä´\ f\8eÝæøÄ·Ä/k\9eÙU¥¹æ\rsW¸¬µÖà\1c)\15vDÅÍ×ø1\87\ 5qßê\97Váxs{Nóo\7f²o¾\99-®ÖP\82\91ÂUOù\83\973\ei£i\84¿\8cz½8Ðì«ì¡÷\a\8d\82§üR®\15XëÄÞ\aý\ 3" AV\92Âu\14Î\84½óRÑ\84\8eå\ 2'þL\83Íúø²\ f_Ý]g>5W\17Ù      C\87\99°áÚPþ-\98S?Ä\88¿ÉúG¢N¸=3û]¾YUökrå\9e\98\98\9fµ´D\80ð\99s`¢¯Ó\82ºDNB¦\7fÒæ|£Lß\14\8c\14\93~0\0¤`Ìã?\8b÷\ 6¦'   È\16\90mcUöÎ\84¸\ f!\ f¥³zÓX-6ÜÈ\1fKLºaÌ\0y9óç{£\84põ|\96ê¬Ô\f  ÷¡&nM\95|úî¯Uì\r` ª\1d2*ÃÌ­\15åjÐj\7ffÐñQIP¥n¢8e(\18FdCOÇ~\8f®Á\16 «çÊfW?__^\9aaé5@FgQMæ\ 6WÜv.¹'`ü½®\12úÍ¿ÌÐê{\81ªuÔ\9c:?\96$H\9e°tÑ\7f\ 2 \av\83\15í"\1e\9c\ 5\99\16\8f\9f6QU \\ 3@ÖnÌ/õÔ[\98®\81cQs\98·Æ¥µç2`­aým¨Ñ\ 3óÕÐ[E\91ìCµU[í*)~ÀîË\81\19S\ fWQú\82Ö\9dÂÚúv«¶é&à_b¦\80Ï#Ð\82\8e\ 2?Þï\85Ã5¯w¶VU
+)ïÚ¼
+\a\8b\rO!\86¾hÅ#\95+\ 6T£Ö\99ÏüU¦gw³ÐêU\91§\11Ezud|é\10z!ðôÜàÍ«y!9 *r[ñ\9f¥y¨1\86\19Ĥ¡\8b\86klúg\81\ 1ì\8e\97\82G\a@I#éx¤p¤\8bHÒÿ´%f%\12å¸RÒ\99qéÒ\8bIg\93S(&õ!ñøØc \7f\e'\1eRi´\fÒ\93\86RiÒÿn;!\8bÚãqþ\85>7ìq¸ÞÖôÑ \8aEjR\9d2\8d\85höÿÕá\ 5>ò×S\ 2|Rº\16\18gÅDW\90A
+j'F\8cì߼Ä\bAw\12îÿ\r¯[âW¥\81\81ó\125E»É\94\1cðÅVðϳE4T\84·\89b\9fô\8d\15³\a¶O§Jp\16ùzn& ·õÅ-ø}Yp\17ËRÐ[µ\8c:`\16@iýÐ\92Þù\0\95\ eëPLUµ\e=fÆn[ëp\86Pd8Ñ·]ç\eM¦ëôì\ f¦ÿ\900tÄu\9d*\81,û.|\9dÀ-Ôôí\b\14êä\9e\95\86¸ï!+MÊORÌqì\9eG\94c»ï\a\ e­\85piõm\97\94¤éLÛ\99mÌNÍ\1a¶ãé'®n\8d-ÉKåþ\12Ý¢±¥Ô\ 4Ð¥"æ\7föó^?·y¯\9f!3×\87ôícïßõRo!:;%=\9egÒ±gü³IOæÍê^ký\7f/E\8a\8bÍ}´ßÿÞkξÿÕæ¼é¿ü¼×foÿ¯5ó&\1eó>ûÿ\17\9aëM>Öß\9bý÷\9aì\9f³³7ÿ7\9aÿ\12ûñ^kȾöï5ÿ\876ó_C|ýæ¾~ùûÍ{[ïÉy¯µÜ\7fîó_òó/g\1fÜý\80\856°À\r\18>ôÇ´\ 1
+FØ]\vT\7fúz\ e5ôv>$\8fûq\88Ü&Àý¬[ï""ÐQgã\16êº|73¥\ 1Æ#áû^­\1e.j\1aØI©i[ÅÍ\a\0ñ¬5\8fè\19÷#~n\81²\11È\9fÐ88\9còJ·\8a\v\18Æ£;Ìe\16©\1eôõeI\84\81\fß\17Ì#ñÂ\8fâÿ\9eùV\87\80ù@ñ\0Ø\95ª\7f\17ë\9fñr"¡±\1e.¯H¸5Ð`:uÉÖ´\1552«+A:hö·v"ÈÍ\88?éc[\fçcÕí}\7fK7ÿë\9crªá\94$ËãÊë ËpFBêê\9d\8fæíg\81½n\9b÷í¶õlSÕ3\81\19_\9bµöPa\99ä\98#\fþéìþ\88ÿk×ÿo\8b\85îÀÇ[5Ï\8c\eW\7fòv²\12 Òuv®J_\8b\87\15Ü\9e\9auþ^Ö}«\939i\11ã°Âñ£,\89\ 56jE\8f\1d°\9e´¦\8fóv»×ðÌðÏêª\1a¦m­ôë¿éà:8 ÀÌ\ eÏ\98
+0ü\9ct$\99áÉ+\17@þÁ\11\8a\8f\178çU\83²\8d\ 3v\83ø\ e|·>ÕßѨ4PÁ\7f\86\8d\85É®\1avq\88èt¦>Õß5\ 3\88ö·òÝSÅÒQ\12à6õv\13Iµv»6Ï\9c#k!\ eÿ/kÜ\1f\9f\19\87Ày:Ü<\ 6\9c\99_\eÜ@÷?\10\93÷õlÛ¿ïâÿ"¶\97ôn\18L  ð\0ÿ\82úã%b\95`¢«\19E\19o»«éÛT\98\88\1d\f¡\1aÄ\rY¶wÞ\8fkþ.\ f\v\85ÁÞbt\9d\92Íooó\8f[\17>T©SåVÐDÞ«/ùú´ð\9e8©êÓ\9f\97\8a\9bÆ©wrsõâüá\8b_=5$¥a\16JAi2\8fB\ fòö\85\95¦\ræ#gÕ\83ùñ\17¼ß[­ò1ôÅøzÝeUÇôy!2ËmÂ\8eÑé\9fÛ\r¬p¥ÝÝß\89*VêîîóeGª~¸½Ôè\ 4­\17ã\99ê;³êÝ}}}\91®\r+G\ 6)ÜAph\14Qc)â6\b^UÁ\80ê;\9bL\9e\8a.1\81ZzW\94G\8a\vdÜÎ\8d\17\18ѳ\9a\95ÒMk¬\93[<ô(Ú4æÒñª\e=®có7\93­°H\ 3k~Ì4w       ÜF\ 5ìS@~\ 3aÃ=\8c\ 3¯ÎÃ\ f\929ݰ\9fËÛ1im\96ÿk\85éßßúÃÓÓż?\e@\92\ 4\1e'ª¼©á_\9c¥¥3jÜ,X\91"cc\17ð\89\8b\9cDá0Û7ÉIZ\*\89©\16Â\v¯GSPe}³\ 6ÀËþAÿ黵â'\86Õ\ 4ªYE\8fûÑOWø4;\84u\vVÑÕ¶Ó\vØt³m´ÆÛP\8c­Z]Q5\ 1µà\96bêú\8c\94¤Æ\93]Õø\ 6íl´ðlCp´Ç~C=[à¿ÇÃÔÿBø3ª\98<?`7GbÛ{\eËÍ\8b\9f@èPæ\17¥µ·1õ\1c\b\86\81.Yz\1e= þ\94/f\²ô\97g\ 5\1dù#.ÅÏ7Ir·\85Ç_H}\85^Û~®\es]iæ£«ÇØA[\16I![\16\95¾\81Púh}ôÍ[\17êª_¶Ç|\7f\7f³­·nkk\ 3÷h\8fë\ 5\96Î\vðù5»XÏ?\19éoö¿÷\en\bT\18.\ fÁ\85\1eÂ?¥ØÕ\ 2>\bø¼ðkîHÏå=\vAüXÅè\7f\18ø÷Ã?Þ¸*X\9359½l\88       Y¶h\9b%]³=uZu:-\7fÕÒ\83Ïúï¯\91]°:\0ÿ\8b\84»á_:»\ 3ãâìÍ&Ôð¹à2@\8bªo\8fÑ\87ÊÚ\11ùp       tF³£°\11\87\948\9d&\15v\12An¯\84\8e\10\82s¥üJ\14h¿\97\r\8aÞ\15I\f¹$Û\15Ã_â¾/ÀeêÕ«Ôû\86Û UlÃjtöJú0?¾#ò¿-\14¨\9d\99Ü\8a[1l ú1`N0\1a\9eè\8fÌ\88\81\8ce\12ø\85m\ 3ÒÍ2\18W\ 5uÕZ¯`Y¹Ñl!V¹¿ø\93\ 4q4\vmxw\vjcë\16Z1ÿ·s\r×\89\1e\85Ìe\9c\9aµøæ¢¯\1a\9fIH\96þê-G`\85y\82\ezé<îä¥g=\9c\eëëì\17\ fm:òb\92\81c\ 1êAVF\14{&ØÏ2jì\ 4\98<e\10ðÂè\\90°êÝ\fT9C«èÄ?ÅÏÆ¨o³ñN§\ 1TØ?$Õª\9e\ f\11\84\8bà¢}·À}»ÿ\89y\89\7fÛË\97\0\ f¯/ÙÓóq½\9c\eúƸëç.Ä®wÀ
+£\87ÚË=/ gç:²3´û\14^àÛ\14\97.¸ðO\0ÂGcê¶\83
+\1d\8a.L^â1<^å{UþÁBA£\83¼ÆG\0ªÄ\1c\v\17ò륺ÝÞC\ 1[m\eK\1d\ 2¦k\18\a\1f­¶\1a+r*´÷\18b{\f1SL\83¨*IÒ¤í*\\17\95ßµ\ 6Ç«"\9dTH\9aÉ\13<á¨èV\f\89\ f\1c\99²ØK8/¥µ2\1dº­¬Y\1fj$8g5\0ìÍ»\9b±\ e\89½7kUÛ\ÿºÕþùNU\1d­¼6F{ÃOÓ\13\13°Ù\9aÓ\fU\12MUCüaø2\87È\15nò@¸l\11\13-A\98¶%Âý¯ÈNï
+'\9f\eÇD\90\83´\9d@\19F\ e\fU (xÆÛòÉ{P¡&JpO\9fq¯£cvFøQ÷\82¸à\ eu7\9e\7f\ 3\8dþ\9dæñÈ\17\9dèR׿ßBAÇùÛC*\1aú\98åú³Mã$ÿk\1c\ar\96ý\e\1c\9fý\7f\bøg¤¹a\8b½7¾×øÇ3v\¢\9bÐ\89Z\97ﱪ¸ë\87ÝKù\16á¯y)¨\81\86      \9bä
+xZ\89ZE\8f{E\15\90jå,ÓÇØ¾è\ 1ð²\ 3"\93Ê[Õ!v*TÎ:¡±}a¼Ó\98Ø\18dNþ­\94\ 4É0Á\1aù\8cBlY\1e­¶XA\19ú¥-UÖLóm´0ÏZ¼CQ\0\80\8f\94\8awa\8fÆ\92^×ëý\ e->7\1fè¢?\18vÅqÙÇW:ì\0?r\12\15U\89\13¶í&ðbÚÀ\1f\8fTÙ.\b¡Ò\10\8d\94µ8ÜÞ/;\8fÎ_\9cºë\99\96\rÍ\14ù¤äÍþ\ 2ýjm\186=XÒ4õ6=XÔ>¡\ 3õ!ý¿éi\9eA)Ü-íFãx\11½£e½\1a/\ 5\82Q®ÞS\82Ê\1c%2\93t\96è\98[\16î÷{$Rý\85+ËM=IK\ 3´GÝ\aý|¶?ß\8fSuw»N}\8d\8d¡àÛ3\89\røî;\95\94\8aFâ^\ 1\ 1\8dR8ÒLÁ@NfÊ\ 5­¤g\1dy½8\15\8fxQîÿ       ¶\a°vd^\14;E\e\ 6¬o   Í>|Í\96Öl¯1\15È\ 4èY\85«%*Öa\8e\8cÓ\ 53[³\1d\9f'bÕÊ|Í\a\87 \8d\7f\9dú\19\1e\82Ëz
+º_¯ìù?ØÀ4íª1~\8a4£gߢ\8f\12\ fè:áâø­^ÛeܵÉ\vÅY¾Yö\14\ 3«#¢;w\94\13çòø<NNG\9dK\81æð~ÖGË q×ôVáÝ8C`\\16[æº\11\a,­+Yo\99Ë,¨\ fË\9e>\92T,4ô,3J6hÜ[@\r¡ã\98aA¯\8b\8aw\80\83bI\93³ÖøÛ}'W\9eÒe±¦Ó\9dÖw\8d\91,-ÅùèØ\92Dåþ\90Õ\94/\81w\81\8dÞvì\9a\ f\8c|\8cB\8f\19\1e\8eFG¢·¹w\9fS¥S2þE\9b\8bqù)"áuH« \8b\8agC\8c\9f\7f\8dËÞÇØÙøIAqnUÃc\94\98Z¹¾³~\86\11\8cÚâ_:óbÝæîñöCÍN\a\v\8fÇãÂ;p}ð¯\9d¼ô­íÒ¨;\17 ø¿\98ê¹\99\84xX÷v­ñ¹*BN{MveúÑÛ\0\83`<\9aׯø\1e9¶+|ð²\86o\a½¡\9cð\11Z¼Pt&a0\9bò\90\81ãDfR\ 2\8d\1a\19hú¬¦Oè\ 4¬ñ¯WV«k>\15øè¯È\85g!ã×ã\83IÔÖUâ\94\eÏ×ãù\ 3¹ê§Ä\89R$K\89AokPû&Ì*ÿ\ 2|˯ä]¦\vî\15Ý\ 5¨Æäø¼æ=!¶veeâ \96Æ×Ü\8cë\15çD_²]Xz¶þ[îß\85á:üV\17Z­¯¸ÚüI^ámK\vÊñÏ\b\92\83ǵ÷\9cäî³ó@'ð<AS\ eÊ\8d\97^x¼^2èÐ6h;\bÛ
+¼þ/©\16FñÿOÅóÿOy¼ñ·¿³Àà\e\ 1ÞÇ\14\ fÍY¹C¹¾\99ë\95Þw7*D\89Ü¡ñò\95\8b\8a¨êc³5\8eêþ6ÔÓ>ns\16¹\91\95r´n\19\98Ü/\9düãôE\ 2q"\99Àw\86ÊÍúWaKèP\9eÅ\b1O¬ßÔî\a\8e\17\ 5þ\97#\89\91Äbåm6\98칺¡\87UÖXÎ"Ƭ?åÕØW\7f\v¼çøØ[\1c+½ÕÝ\13G\9d\98ìÒý öú'Õ¿øà\98ùûi³)[\8b.qNJô]\1a
+z°\15\ 1<;\89~G³qy͸âñøë¢§¹\86¿rn·dé21¨\1fKÂܬÎ\19\82 Û\8dÎCî\19\95P}\Á¹È5§xÎD-ïµ\8d§\1f\8f\13^ÄÓkÙ\8b\18\93\0\17³Ë\18±0\ 6\93l\ 6\f\8d{1boÉ6\v\12\10`\90Û\10PÛa\ 1²&4ÒÆ\9a\90\83\1a\11\ 2HQ¡Å61\11î½\92sK$$\18Æ\ 3a 0\92H@ "\ fdDvJ\9b\1f!\8d<=\9f\7fÿ÷ÿ½ìI6]ÞMÙ¼\97wyË»oGnö¯B÷//btïBó\97ðþþ\ 5Z{»½®ÖFÛÑÑ\ 6~}I4
+fºOÁ@ùö¨\886\b>\8bêâjÛª\1fÂ\ e\8dà\e¥î\7f§$bsí|\18\9d\86øLeF\95ÕÒ]ù®ß\ 1Z@Vt\ fFk^"\²7t\¶¯^*;\0¯_\8fu\99«\90\1e*ǹoÏ\ fF\9eQ­ÉUü\1cúºÜ\aê\93\ 4ý\9añjàÇdU\1c\eh»¤k,eä(ë\e¢¦\88k\bEQ©¤Ð~-À\8d\8f-Ð3Ä¥¶Lü6
+\1e\0\1a\r_ðÿ\11Ñ-~e\94\14è,\9f­\9d\80¬À\1aÊ\93\ 5¥\9d[No\16G\83#\17q"û\8b!\ 3\0Ê\9fd%9wí\90«\,ÏÒ¯\8eB­ÏæXß\11i80SÒ\15dùê\1cë\0ÁOoff¿\93\17\1d\82\9eÇb'çå\9a½¦±¦\ 5\r\f\ f0«6­µÈ\8b%\ 5\84.)ïÄ\8d\9d´\8a\10M67Å\19?k\9b¢LX£]ZëÃ*3åÂÌùw\e\8b\8f+q#q´Üm÷\eB®;\9e3Ün3Þ3\9e3\9cd
\1c\åÒ~þ\15óáe5Ñ¢¸æñÅþ°6sj¾ö\98\8b    ekÚd#X\83>\ 1       ÒBÁ$OõÀÇ+N
+õé:ÌZ&Ê|ç3\ 4\vè»G\96÷_ǹV\ 4 \80Ù\7f\99>ú ÚúË[\8aí\92Á³£\8avêØ\91W·ñ\10¯µþ\85\1cî\aÎ\96ó\80\11¼`AÁ\85ÊgÝÓ~\ 3ç¶B\16\9d\14\1a¨ô\14ÕÒ\1aU\1a^%¶\a)d9 ÷ÜzJ+
\90ñý_!ÿ\8dãxÔ\8d\8e\94\81éKqiØ!  _Ó\ 2\10ͬE\82÷\ fç;\0\81
+*\93`íðM\8a½5¢iì\98«\ 5£2¥üH;Æ#\82SÒhB\9fÊvBc¦\81Yt¹º\86ÓÅ\92Þ«ÂM\98,I\98\9e-ÿbº\7f°îä\8eB\8fár\1d»ºÔ\12R:Ióxj«£\14²f\88\81èkOEJ\r\ 5\87\82ùõ\ 3æ¶fjË¡'É\ 3\8f¿Fc±\96Äαèç3\9cü\12ísY5Ã%\80yÔx\1ceFÁÆ×IGï½£­¥ x±\ 4\9e\ 1<\eé\97¦³ö\98´°c\ f\9e³i§>
+Ú´\rÖl\84\8fhH¿¦{¬é8ô«h,¾\89¼\95ü«\96â\99s\ 1IԱķ\ 5¦óYoQ\ 2 ¤\8csÙ²±\91Ë\9bàG,¾¾¸¸hfþòÀx\a°Z\ 14\1a\1eo8\15\18l\941Ö.\9aµûø\8e\fú§\ 6\7fLuÅ\11Ò       .\9dvÈ)î\aKøgÞ?øÝ\8e\r$\b\1f\18\9e¡\80¦\11h\91­\81í·\ñZ\1c+Üé'Îb\9d{£n£Å\ f\12HiâÌ^è\98½Î\92\97Ö\f©¡°¾5¢Ðt\97\r\18¾\14\8eË\99PI[I/.Ðn/\93I
+\1e¿ñ×WØkÉâ\ 4\9f\85\80Êuø>Jj`îY\86Û\1c\9d*\95±\9c\8fË»»¼c\92$ee±\96\1e\87\19­\99\83\1c\9d#\92aè+*\ 1\88${3×ÞÛ1À\82§@j`4\fÿ·Þ¤\85%ÆEIqCÞ\16kG+ïÆÄ\981.\b[ÿ\92!«ÛÂ7Å´ÿ\ 2Úywå&\06Ê*kvwÖÐÙð°wÓ\19\16bWæ[\87\94ð¶\88\13\8cª&ª\93\v°>ï²<\ 6Ê)Ö£ç¥Ñß__\17\96üa&\7fP\82R\19ÜXDìÿV\ 3!x@2¼\90D\r´ù´\85>\15       ñ\ 2Rp({2û½/nK\8d¼»>Å(q
+\93-²nÁ\85^&Q\1dNè7óY\84\9adݺ\ 6\1fE3DÄö#Úñu\16±|\1a\1aoÆñ»>ÍSè\83¶öìû\ 5\96\14\7fØx¯é9å *ü\95÷\ 4\88\ e#?ÇwÛI\8a©p\v=`E¿8ãù
+¨çÛ\0\83ì\80\97x\b$\1crV£ù^>lW»N\ e\17Ú¯ö\8ds\88ü+jú£³$Afò\ 3à9Í-\fÎ9BÖ\86²m9\9e¬\aÏ©W\92\97\97\1c\8b«¨òo\ e\95í\17ã\81\b\10    E¤\88ñb\a\85Ù zú\ 4\1ak//»I¶ \81®\0V\99\8eð«^\f*ðáÐ(÷=aá)\8f·\80ò»L+\ 29+ñÒBS¤8s\f\1e\ 1Å\9e9*  \1fq÷´Ân\92¨rêx×ÉF¥\88Ó1ÆI«:\9bÖ\­|@K\8a\85\18\15{¢ÉP£tÒ\85"i£vþ<t\8e ðï£ë<\a\80ÅB\9f@\86fÞ(l\11³\85ýßT\83!\84LÝË\86¬\1få¸\ 4éB\9dn&íM¸9ÜÆeô\b\85i;«\97B²Ë\83\82Ø>þxØ\1djâÕ"\eЩ\7f\19\97°bq\8e\9bpH\88IoDæù¯\ 2Ù&\9d£\ 2s\80ô\ f`C+\16\rëé»\ 3\89HA=%\ 2!ËÛ¯i\ eØÿ\84®kÊð¾û¯#\fõ«Â\ 6ÉÂðö\8d¦\16*½Ì¨ò\1aòÝ\0ùnÝE(\9f¿¯»mQ¨|¶p´\9aòÞ\18Z.ü\1a?`PcCú\17lºè*¹\1c>\12é:\91¡ÚjPSWß=xð+\96\93K\85\ 2eý«¡\92_Tzð<\ 4Í\87\93üç\16\14Ú\ 1sV\ 6\8cçÜ \16\9a\1c
\92Üýß\83\v\93\1aX~¥Æ=EÜù*à}À`\92@Áߺ¹m-=-¢êå8ÓëT¬õê\ 6Ç\95\14Ô\10\ f\80Ý8.×ÔH\eÉ&ñA\9b¯\bÕ\99+îÍS\88ÄJíÒ4¾ã¯9Iç\8eÝ Ñ\v@5(®I¢\11Þ\92\93ê°\9d\ 54Å-á3\8cé\93ÕQ\14¿æÀ\8c>T¨nñ²Qà\a8ýÌí§ý ö¼\93±|¹¦\8a{Çf9ÆAf,t\13ï\15%´¶uuuÕuUU_ê®\85
+\13[·NHTYD02\85\94~vR\ 5\10\81\0¡­ò\89\18\fvQÿäù¢J>Ûéhà\eäó\97\ eN«p«\12\98µ\ f\98q\9ak\ e¼°9\99»p\12*&\95°M\ 2Â\18\9c0"ºÕ\19ýÿ\ 4i\7fP\98Yè}\87"Õ5NYg\15 ´í\ 6ö;z¹uvæ½\9a\86\
+\e6ċtq#
+ÿ¤½}pÑ\9e}î3Þeîz¿¿zô\9bO\1a\16V\94¯Q)y9Í?Ï'ÌÇ\;·¤\85¸\7f[Á­«­\85¥\84t=\15üD°ùÓ²!·î\89ÖI´î\8f\91Å^É´\12´\99\87\ 1x\0Ééh\ eÿDH\13¼\94âÓ(v{>ư\8b\83\80\17g£:6\ f÷¶ç&\7f-ÁÊPT\11\1dõ0ɾu%¶5\1eðâÉ\8bv²Þr\95\88î˱'{i\8cY²6O¨\98%º@p¹|\93\ f»æ\86¢úU}õ(שYe³åT5ÎÃ\b\14ñdx\ f·\18Ñ\88ßQ¹ã-\f,"°"¯bÙ\ 2í·X\18ì\88uF³p\9fã)H»óWÖ\9d¢Lr\82½g-²ZZ\84ù ¨UQpv/´h\95ܨ×1\18¦WY}8WYÐ\ 5Ðï-ìd\ 5\rg\9b\10ÍFxϱRÃJLÁ\fìÎ\Ï\92\ 4\14R´a\8d1\10S\0;\94Å\ 2LR?J*\87î\ 5\ 3×£Æ\9c\9f[´úÐU~ª¤({(g\9d·å½1Í;\89÷@A(bm³óè\18ñ\16~n+ÏaÊ\94\ 6°$Ö|¡Êx\v!\f\8b\10=ÔD\ 2\8fS\@åËtë\1c\ 6±2&G°\90{\ fë \9cz%{ $Á\9dW:±\10Ä\ 6j¿\1e$¨`\ 3R\ 5
+\ eܸôÊõ
+Ô'D­dãE^­\13´\13\9c\12¡Ø.?¤¬ü§\e!i\13´{¾?{\1cÛÞ\ f¨ý²\19Ñ{@   í;dù¾\7f\81DkK\9d¼~G7åYo:\b\0HÉ£ÒÉqö\82 î¢µL½RÕE9Þ.\90\85g^H_Ñ1AØVÇÒ#óÇKz²Ç>$(ÕHÒÃ\9c¬iÏå»Í\ 3\fþ¦\92ï¦\7fë "^ÍÁ¾F\8d¸\8d´¸¹ð\8fF\81è®7<k\83\7f\13`©.È7\17\95Ê\ 2*X\81Ý\91f{«\98\9a\aÍÞn\v\8fé)9.\1aÐ\0\91ÓA\7f¯lme\88\90áë,\18E¡ÜÀ^\17\89¥\85\8e¢¿Qb¹Éµ²\ 4\9cãz\15\9e\83D@õ\80D\ eÜ/3\96Na\82à.>j\fºà(´9\8b\87 ÜÏJ[\8bzë§\85bj\17\13Ùz\f\17ñ±4\89áüÛ¡²\8fá\9a\9f¬\ 1\1f\1e=B\1f\8b\16+M\82¾úè\9a×'\í\83\126Q£Nçb\1c1YvZX-\v¤ñãÙo´:
+êÿ\a\99{>÷÷\e\7fî@½¸)òî\14¢9\99ò4>¨\eÓÅK\1c ÝWÏ\15\93¼`ù9ò>F\14äþ°¼¶\ 6r\7f^\16\17ën­áÈ\ fU-§`ýÅÆº\8d˵0Õ£(Ïô\94\aÄÏà\844\89ûpõ\11Âzjj}5Ó¼Õ+\17IÅ£*uî\99RT¥\ 1vÛ¶ï[^\vK,ö}m4z
+k\eç\88¿\9c¶±\90{\ f:<\13Ç\ 1\18\8faa\ eõ²\93ä\8e¸\86\87\9f\1cJ§Ð=äPPô¾ \ 5§Ö\11p~\ 3\11eFd\1cÉ(oó%Öü\91G¸ÍÍí5\99´¨ yæ½\98äÊß>û\8e\93ù¹\ 6\9dÓ9jðt\14\1cµ\82\vW\82S[*d\aÝùBè}\fK\84\8f¾[ë
+\16RÈe
+LÒòáV÷Ú\9e\92ZK>:2­»K¦\16Æûb\vh\ f|ư\8cH¹¨Ym\1a³v\84\95?\15\83Y\9aÃ\11bªµz*ߢ\11óõ\1a¸µß\vÊíMÓµ\1fÃå\9c[\90\8b¬þ`nÝÍ»\88t\8f\16­q0\14yID\8e£\1c<ph¾\10ݺsÏV\88è8\83\ eWE\90K\ 1\12\82ó\10ñMÍò\1a)\7fíA ºjí¼þg4ÑjøÀV\8dq[¢h\14~ÈM\alâD\89³\15\93È\1aÄ\10\7f\89s~\98\9d\95\8f¤"
+}Ýiè\1eíå/\9aà\11Á|·\r¤µÅï\ 5½ÈÒÙ\ fd%âè\14 \96µF\8dm\1fæ'D\ e(#\102\94\99\13\ 4ãî\ fâú\ 5)¬d\rËí\1eÃ\94!ÕJ\98H.\15q5£mà\rËM\r\8e\ e¹(ñò\ 6ǧ$O7\1dÒ[$¦\17\8b\8d\1aW-y\89.\bú\ 5ÊÞ%_[V\1fÖ\17ð&ÈPù\12\84ìl¨ñ\10\9c\1fÙ\8f \ 4¯+èýI÷Ôþ£Å\1e!\89\ 1*þRLÃãW\9bâ\19.ög)>½×\1a\ 5Ly4xX^9ê.\ 2\9aæ\1dI$?\16ØEi\1c\14Ra\16\97)\84XÑA±\1dÝêÔzì\18-¹ê\92l\9b:íÛÕâ\89Tú(5Ce+aS¯k!6\ðÅxݦ
+\7fZDðòÊ\ eã\94xÙ<9 (bí1E\92×jÅ\9dÇo\ eÆÂÂÆµ\8aÖ;äÚ\ 5\1c\eÀ¸ö}ôÝ\89XÌíÞ1·I\1fyååKÅ÷ 9\f\8b%[\10\1eì/»\7f[#ô1.oê\7f*tK8>ô\13õ`IzÎ÷´ý)bÆEÀzÎÔ÷\9b¼kúZ\³½\bª6ç´8îì©OÖx\ f\e¸¼P?ý\9b\v\ fe(ñì\b\9e¾\90è\8dêR\ 3\16d>$Z6Äåä\9d\1eÏ, "!(\fÕÖ\84\a-ĶÖtÔ\9e\9dsÊ)\9f¯¾5Ë\13\b\9f\ 1\86\18à4ë\12;dÏ\16F\a\8b¾úR$x8w\17$\86Î(q\9f°*/§\88\8dÅû\96\ 2Jí9ä\ f\9e@\9a\vP\1aJ\ fb$Ó\e<\ 6Û¢~ÿY}8Ú \88ojÊ+\ 2ÆùE\ eû\9aáÒê\ 5\1eÉ9i øÚªÉ\14{H\f\bçâ>ÁÔ{\9eÔx\82\8d\15Ç]\8b^\0"ê´¼Ä\96\85êÅÛíûÿ\ 3o·Ûñvèo\ 1à\ 2Õd¡úF\97\1aðâE¥²rM*½2\ 4\8b\92Íy®ÝÁÕè%\15\8f\13GLWW)\eäª\bÊu$\8c¦\v\95k\90\91¨     ?Ñî\89\15ÜI`º\996ØÇ\1c\85uã5¾0h»¤\9b©n\93¨zë5¬Êæ\89;]ÍÆø\esFúrÐ.\7f@éCbÝÔ\94¸/Ð[£`ö¢\93z®+H%tÂxýü+®+ò1~ý£îhh\f"ð¾À}\beïÈðvüS}wò$|\12\b²»\12¢Å7Ô\96èÐ8\93@\97&îìÿWx×\8e[¥é·jk\80Ú\12/\9eØ\1dª²%N¢Ó)\ 4\88Ù¤¤X¶Ò\0\133n(¶\11|\17±³\ 6\v8XX_ɾÚ\80N\ 4
+<«\99JHdtâÒí{\91\9b\87\86)º(w\1a5tn\­Í\93Q\8f¢RMý÷\86)N¤ûx¢\14\ f÷\8f*\0/ÏïG\ 3î\9a9\ e©©äóÜAµ?ê<\7fâ\91Þ|g\94*gÁ\8b\94@n'\8b\rgJ\89{d\bäv\1d¸\f\89ð>¤\89H®v\9bOµjèp[üÇkÓË\ 1þßÛÒJ Íùöé˨¨Té-z?WðWú¼Íü¥Y\ 3#͸\ÍS\aêèÁ¯\9f\ 2\r:\ ef\12e|H\97-#ÃéDPú\aÐ\ 1#\9cWW\ ez]×ܹ¹òRµ¹\83ºR\ f\9c^[¸$rðn\8b\83--òËò\8cu6c¯Jrgࢠ?O\96òÛOC\1fç.g\v\ 4ÌÛõ¤Ñç3ÚÝÎuWû\93¢Ñ\89OX\98/¢3\80Õý\1e8ŬöyíÆµl²\94\80¿g\9d$àö7T \12\885\ 3KfzîÔõ\17:ñ¡¿$\9f\8e67[d¦mû¡C·2ãËÚ\eì\e\7f°%\95\8eú5W\ fxjÉ\16cùÂ{\ 2`QªVÆz´5\9eÏ­dN=´\999\8f\97,¹h5\8fø^\9d\14æ«Ik\15ç]\16\14¼\akrw\93\90!`\128\1eXæqø¯>\154=\1c]¹6+\8e)̤\9dI\98:R^Ðñ\ 5§·«ízâK¤Ôß *wÜé·F"§\11\8e½×\84Nâ¸P«jêëaB$¹)±\88\9ax\90`âNg?9\bå¥\10\9eÂ\8bƺ
+\977K]¶%ÆøàS1Õ´\aÐ\10Ã\ 6\12gòn»ü\ f\16ú=åß«ôH©ìhÒhp÷\9dTC\94ø\98úKÐÄ\89¡ÿ\18§ã\ 1\97\93Ù\8b`\90>ªîÔC}\81Õ¡®áìÍq\9d~\el\804\97¦ u¿¤ÌæuÈd\ 1
+\ 2|F$¦¤\80nj\95/ü3\9e?\ 4\8e%\8b\a\8fÀ\87ë¦[%\1c\97¸A\11«­À£V\8d\f\96 \9cgã[þ\1f&\13ï±îÎ\89\11Érç\19h}Ôäåö¸\89\9fª$Ð\125\ e«\bPþ(!³üÍu+\8eîÉYµ\1fï´ì\13MiËäô\82\97þÃI\7fÿ*ÄHî\eã©füf`X\1fo\171ä`\ºÄ¾Üܧ!\bÕ~é'ã\90\bðk·Á\13!uÕzõ\16¿\83\95\9c\b?²jàïf\ 3>\ 4Ú@2\r\88àçw#3}·\8coÛô!\87³\14o
+I\90DôI§;ºW\1aìíÿe\ 2\82\a\9f
+[nVp¼2Jò¦$\e¸\v\8bÀ\87ÖRv£\80L©óî2w]\19\bà¥ÑsC{\1d\96u;ÎÏ\9f\9cÎVz5\8cEh\94\7f  N\15}}\7fà¬!LÒxr\1aîШt\82¯`\1cÄêY.²eõ\87;v¸\9bz]xHM¶æðã\²FQ\10F \§n-êöÙ££\84\12\96ù¼¦´Jc£\84\16ç\92Ú\85\99ôjü
+ÑÁéxaC²Ý!%½Ã\94,>RDCÖ\8a\r~w\91IÐh8ae7Ó$3µ\19P\10\81Çì¨Ï7­\12\ 4ï>\17\8f¨iýC\7f\8açí¨ür\92½ò¢t.ªÂÃR\7fë\b\9bo\89)Î䴽ءEèØÛ),æQI\9dI\12ÚBj\92\82r+çÐøD^\90âÕ1\16S\8eYãö\11Úû\ 1â\1d\8c®ªéÆ5#þCýßo\9b\92^[µ|ËëU-f_w\969§w3?¦\12¸Éw¶;:w\þ3å9ªn\13Å\14"\ fëªË\98\8b\9bw\r±\92\85½fvõ Ó¡¡±Ò\92¬C¤r66?$è\{\19ÆSæù\98,]!\v\8dph\1dÙHÑÃßÁiµ'\9e®\17\ 1úþ\9aõ¡ð\1cïÈòÛ×ÖÊÛnDïù\1e\92mÃAE1Øé\86©4Ö\e3\8e\fC³x½Ëª\87rÝÏ8·51Ð\92\93V{\r9M\ 5þï¾\12üiËNZ\18ÉgA\17\80m#\0\1a\15\96K_\96\96äãM¼i\1e!\ 45Ý6B¥\ 4\84Î?!9õv)»\8f¨V/xO³¹P\19:\ 2Zª´ã¯Ø\9co7o3]\1e¤Zß
+ Ã99ÈÛi\8biNR|Þ\LSLè\9b\14Þ2ð\19P\v,#À~ "\8f EÙi´\8a>{kqGÀ§!V\17\9f¾¨\88
+\14¹YywÙ¿:t¤(n\ 6\f\v\9eðOx¡]^À|\anæißKå»\ 2\122Q¨Ëé:;m\1cº*`&~çc¦b·c¦êBè\8b£°\vMOEÙNRÒM¹\ 5¿\ 1Zÿ¨h¼_)çX\85_F×mí@eåªo1§ÖÓcQøø^>\11\13?Ï{8L¤É~\89  ~ØA\e\92µMÐ\87^³FEÍl\ 1«\8c\e\1fàÕ\1d\13Í9bö\9a·E\97\8a«\ 2Û\ 6\ 6»ë\83Ì6ä®\ 3î\84\95½õ)5³ï^Ñ×]\9c\7fµÅ\9c_'\10\ 5¾A÷:~°á\95Ñ\1aÕ!3\8eÑerA-\98g\1fTtÊñs"  &\16\8b+ÊtÆ\1cl\83\80\91zÒ/n\85e\ 2ÒÄÀo)YBô\929ÜZ%±siYYX\86õ¨:®A\ 5G\as\1d\r\11ü"Oó9x±q=\9fµü+\97 e\ 2ÂaZqeå¤Ò\vcJPít3\1d\93ý\0£)©£Ïg\16ec~\16¬=ªiÚ°Çv\94¨\8cAR\9bÒ-\83ö¡T5-¥\9bê\8a\88\1ef\ 4Z\f×»AN\87\17\85\8a\93f³ç\b×ÚV\99$\8dÎô´\1fÅÝÙ\0\7fò@¾\93\94\9b'.Fÿ\14Å\98N_\846\93\85Åù¥:^\11®/'úÙï^\ 5;¾¡\\ 2%wô\0\ e÷¯VÎë7+T*³OÄ2lÚ\83þɤ1\1f´u\80qr\86¹\12cs\ 5:tw_\8a.\87ó5\ 2\89H\fÍPÒ\ 4zBÑ!¬ä\fÐ\1dâzI\r$\e¶ñóÊr\97¸É\84µ½å<qΰ\r\90F\1cãs\9c\8cB(Ø Þ\17³u\ 5ä¼ÈiJW-û\94_ük\11KÿªÛ¼\ 4.j3YyÏ\16\96G\16\13\91\15PõW'DÇ\146\84è Ö\92\91\99O\15T\ fúD£û4n.\9f¦ë?\ f\80ñäûÉ\9b\8b\ 3um\95#\ e3\9dé\ 3É.\ 5%-?eâ¿[\ 4ô\ fç}\a\1f \9a~\94\1d\ eê!\·5³:è\1dH\13,\94÷CaߨÚ\7f®J\ 1\10
+Å"ï\8aþ®M\1eëÆÂBZyÏäÀÝo À'\8a\12_T4¹õ¡Ýñ\96¬Æ[\v\v\b\9b.ì¹»¯ÆYlk\8b\86Ñséö\ 4i,ëè\13\ f\8d¡}\ 1°%Á²¾\r\88IbÀÈ7\8e\1a\7fÚ!&U²¬[;\ 2a\14çw©L½8T\80±\ 5ÿiÀÞ!\ 6Ã\87Õ4¤_½¢m
+EâýwC:ãO°h@w \8a<\87\86áÄ\a\8de\17ªlü6\10§\1dÐ@Õ_æÁócKKNü\87Ï\80ʨwòºmê\16w¨e\1f%j7ý?\r\87\ 4V\98\1eT&Ó77û¯8\82c<Ý×\11ÒE\8dbQoñÕ¬H\8cuy&¾Ü
+\9b\1f`¬Ü\95)\17UãÚb<&\9a\98\ 2\0\11«\v|\9f8OûÕÒç\13\97CÍç\eH\8f\13\f&úfcôÎ\83PK\84Ö§\+\9dÐoP8üKnQÓ}0\88\ eý^Kõµû¡\7f(\95PÍx\1ar®ä\80ßXÈ
+\9c<Æ÷[\ fe\vc\ e©s_rOyþo~ëÙ\ 4î{\96[G^Õj\bÏ\9d»\11,A\9f3        v¨\1d*\ 4N83æQi>\90à  Ý\1cµ]¸\¼@        Ç;hJ`\8c\11µ\87\b\8eR\93üÍ?¨¡4\e\8e\8d®¼\94ÔR`Âú\88â\1c\1d\87ß\1a\11\9f×è°ÒçD/Ýs^\ 3ùãÃ~ó)Ç\91àßßø\17û\8c\b­´B­µdÿ4\ 4¦w@ÿ°À£
+       \9báÏ\8d\81uuN\93*ÒL¾6¨àå\8aåKº\7f\8a\84_Î+\95\8e\eJ\88þ\a^W±ç`Á7Õf¬\90\13ͳ>ØQ \17^\ 3ïº^\91ÁùD\11\1aÕb@\9a$D*¹ÚàÀ×@Ði;·1""//5\87K#\92ª´¹îÇt«ýaÎ\ 1Ç\14lñi=´F\1fÚ\14myq£n\0\e\88Òã5_\ 47>ÑQz~­°%íμÒI2ðáé×¶
+uXk\vÀaÆ\8bÜ\ eO[ØÄ·®±7Ï)¥g¶UÑâ0\ 6ÉwDÀ\e\ 6¹\1a-SÔ×mÚ4î$KùV;\83TL.³\7f\9avàZ¢d\ 3ZªJN\87\ 3!\84¬.è2wBu\ 3ùM¥\8e;Pú\88Ûº\b^Ig^»\17\92bm\ 26\vXØ`åÆm³o¦
+ã÷ÌMâÐ@ÒÜéUC®\\ 6\11ø\89÷\83\8bü\`\14\90:[/¦©®\ 3]¤O/'\aÉ^V\1c\a§DsId$:õ\9d¦èôg\82È\93þ¦²Q\8cçvD\82ù\9e°FóN\876æwå9\9dÏ8Ì\13\16Ð}\ f\8b\1eV;jÿCÙ¢¨}6¦ÂCÎa\b©ac\9csZ\0Ä\86×ðüË\13¤\19\esðE@zncà\90}\ 4:£F|úA²\8d8ñî®®ãÉ\ 5\ 4¬Á\127¹dÝ,\t\r9ØÍ«=\9fû!Yì\7f\90;¸s\88\83Iý' \r¨GÕ+\\8b\94 \8c®ÌÍ\99ø\81I5\9f«I+7\ 2\93CîÃÊ\11Âú\19\18\12¢XD\95\8f}صZÓ\94ï-&>×\1as,\9c}B/7NR«òkØÊ¾jõ\82:\?¥B¯     M\1c<\1a\12cÌ*».NPvíË\92\12.¬VÇù*ò<o\e\91ºñä¿\92B<\ 2\1e\ 4¥\81
+.9_\9d\81^pc\ 1[LWàÑåÌ\86ØÁ(Õ\9eþz\98ø´lr\16ú\9b­Ò\rÕÃ\94À#Ûc¦+Ç"g÷=\9a®Þ?\ 2ÛTÈY;\8f#{\90T\89/[Ä"\8e@QÆÞkSa·*¡\88Î\ 6þ\8aÞíêÎ\97þ    \ 19.ViÐH É¹oüÌùÿ¬\15Fà>\96¢bªÞ\bW\84,\9b***­íÜ·|Ú\9f8©óDc\1dO\9c\96ß\15·Þ\8b@\1fÀß\9d\86j«`\1f\88\ 1í×ÏÓíN\88\86½\13×\92Þ¼V¡®\eË\82\ 6\b\1fú\92\8a¢\83Û¼ë\1cOÍø¥¦Ã\85\98C/Õ··\81+×ïH\8c=É0J:¾\19í\14WG\168½#\16ÐA@Ó}i,³\82sM\1a«g:(~TÅ\96sRåv-\1a\8d\ 3ßÔÝûè\a.\ 10HÙrÊLáa\ 1\95 |ìǬ~S)\90àk\16évöc8ÓjÕ\9fi\85pÓj¾\80÷I[(Â\926Uó\v¬à@\97\ 3J\95¼-À[Tá¥\fÿHW£Ú ýÿÆ¥ÿïj[\87§\81êK\8a\9b\8fc2\17?â}Þãêç??³\vÃÝý¿¯GaÖzÒû\99µñ3       Iá\7f\W;ý¿æ®è`ÿÒE\aÓ×f?ÿ1\89\8b¡p@îÿ(]'Ì%ü!t\9f1ü&1,8=\8f\8cÆ%»þé\8cK¿DÐ\ 1\97ïû\1a\9cü"\8aèü?ï\8aév\11\15úeûÿ\93S\9f0\93^ôqÿ\b]'Ïðx\9cÀKÊí\bbH8Ï=\90ðR' {r»     \bR÷Mл\18ùGö*®þÿ\13MÔè¼Í}m\9eÖOE¯ê,Â99:CÇãf\8bËî(\8f1\ 3¿~q$¿c§\aáS\aüáí´ðáL\14ï\897\vÎqc\vê\8e\b\1fKà7\81ÃÞfÃêB»ßL\85\86²Ïoª»Ú\9f÷gåõ7ºmå[ý\95    pÈ\1cê\8f\13\87AÁô¶öµÈú¬\19¨©Jú\ 3\89\96¡\82&R\ f\89±jÎ7\1d²\7fïw\8f!N§á\8e·Ü\14!\91\ e©ÝÖe\ 6$Pr\9a\8c8TQ±öó\131$\900À¯ÔvÜæcV^Nû\81\1dëæè\87\12\8ak\19èóyL~\19\r\bàË\19\97¼M¸jÑ\b®ç\1c"\füHË%Á\86ão48m\ f#;\9d\11Ã\16ßÎ\19Ã\ 1¼\9aë]\9e\ f\8c~Ypç/\1e|da\86ìñ\1dH>\9e¡\99Þ\ eSGr"\ 4"\91\90§!\b-7\9e¶'Þ?\ fkl\9c"o\83§¼Ìâ§\91Ù\ 1\8e\96S; ü\16ª=`ÍCí\93\85¶àëúF§5jöwD8n!_C\89\9aÊ·\90\ 3\a´µyOm\8d\17äíþù¿\13×\1dþDæÈM\a\ e\81\10\1aú\16¡\a¹\e\b\1eúêMÖ^åéfÇ\84/\96\8bò\86[\88\1feÁ  ·íl¦\9d<\8d\94\87½®G"\17|4iUa\8aëW¹~\ eU½Èü#3`á\a×\aÚ§ôM¤Övo7Á\9a\88 Ò\1fL\12Ã\85\17¯\98.\ f«çÇ\81 \89]ý®úq\11U\vA2s¶~Ñø(:0\13\95\ 6 êæì£iæÓ®\8f\165Öw][¤i¦Ò\11Ò1\95\99Ò=GI2sÂtã\ e\bª\19ññ\8bÐ\89\93½ÖâA¹©Îí\9eò+\ 2\11\8ca\9b²+Ó\b\93ÄêF$êtî\ 35\9e\83ÞümÀ\ eE1óÉã¥\9ajb\rÏ\8a{\7f\14y\1c\84?}ý\8c©ç8\03\8f{\\19\89Ñè\8e,SùƱa¸jCÉáï?\15\11ß\14Ö=áâxáíþoÙÉ(ñU>,¥Íuè\97Î\7f²      &XòÚñ\91,\r'Ó)ò­ÅäàéíÇ=ªùÿV®÷j|µ\87ç\1f\8eýæ\96\f\1cË7Häøó\ e\19\17-\1dðfº 1ác¾\r©\84ÎEùÎ\945W±»\0\83(\në¹¢ci\8c9a²ìßà=6À\19\9dmp\98á>L\9c¯Ëè\870\19 u\98a\17Õ\97\93A\14\9e\91ß\ 6nP\ 6;ñF\9dP?×ò\ fúp\8e  È¦ñ/q;§¼ç\ 3\82\95\9f½Ü\87\ 5`\89 \e\9c0\96`Ö2q]\fõç\ 6\ f·\8f\ 54=ôiÔÂ\r|\12\1cé\16ÑM\1dµ@À6¨;ÓË~\7f¶P\1f@ÆKj\82\9cÓÞz\16p¾×`\95\9c/²ª\N\94xi\16óþa­ÉÍ|·Fÿ!\97­
+\fà'Ìé=[=\17¡°yV8\95 \13x5xîÏmÁØoÍ¥<ø´£t\89ü]¨n\82{Èô\ f\82u\9cJ\ 3x\16ö\17\94]n×ËVÎêp`È42þÿÝ\1c\14\ f-\ fp\8d\ fÞþ\9d\ föáH\1f®\1e?\f6wâÕÞÚ9¼ß\ 6\1fº÷#\86\e§ó\9ei-¬\9cáø2emdÔ\14)\99ÉëBX\9d²Èñ´-\16øýè\8f.\17AúU³\f\ fOeg·¾ðd¹5\9fMÏëøæª\8fÞ\18`z³Úò:í\7fô\eóÐì5³ÞDðf©\7fã\1e\8fÔ6\85\94\9eò'ìê\8dÙ\95HìÈXýß5g\b\vEêvô\83¤£EÈÑ/aa\84%Myvz.\17s\]§\12ó\83\93âOìÔuôVw\83\aÓVa\9eËá     ¢\Np|=@ßO°ýa\83°<üõÏ44Ïó\1cñ9ðó\1f\f$<M°eÌ\9fOæì*\ 3­7V\19¨>mª\8e×ç¼\8a\0ìqÛ®Úü0Â0Ý\95\7fûe\ e«xã\89ú?õ\82õgÁ\88ºW?øÁ\88¿ÑþR3ßö\e\8aäÿçn+\93þ³\8fýÈ\ 6\1e?¬ïÒ(ÛcÖ\8cn\ föÙ\18\8fö\8eCg=ÇõCs¸p®K¾\1c\ f]o\ 3\85ÿÆ_§ÿç \ f}âe\1auå/Íj\17ï@_¼\a'ýð\v÷dQ¤/MO\9eÏè:>\93¥ÐôÚ¾\8aǯ\81\8f7Ït;-\9c\1a\84\98e¿ÞÛs\9f\e\8fê¼ùó¿¶F°ù~Á\17ÿë\8cÿÿ?ÂÆÝݧ»SwC»Ww\awM»É\91¬½Ir\vë>øjZåÈ2Ükì¤\97Î÷þíw·[©ê°zßr\8eOSUÚm>\8cÚÿ^})>\1fõÍw¿}\94{Óë§ÿý;aÿÛ5ÑöN¿Òk£ì§ÿ\80ÖêÏÿ  ùwªÿ¬×GýB\8dsMë\8fî\9aèðöyÈN\e¼býþþ!\8aá5Ëø\7f¶k\99ò'åÜ6\ 6¹~ÿÀk\7fé\8añü\88tÿà     Ít±<×\1aÁ\18\7f\9e>W\82\15¯1!¦\89ø\ e\999Ga\87$ùrÆ=¯ÆYëú®%\ 2|¨g´^Ç#=îÊ}òüõñO\8b\96qC\10½?8Á$ß®0ý%V{}³?!\13\84ÉèË\91BP\90íXR$\17§¼­.\11¡£\87j\81\ 1f*5Â$é­41p\9f¼\1d7K\ 4sx³ñ\ ff*Ô ldÏk\14ÈA??\81f«s\ 5\14\85Þ¸w\v¤p½\91k>\ f\9bî¬ÑOy:%ÝøýlW\193\9f¦ß\a\85ºlÿ±§\fõ\8b½Ìërã\17Îô'ØèððÏÃË\97\9ey\1c¸vyØ\ 6@_ý\8c¹q\a¨É\8f\98@yÜF¦gÄ!õÚo.ض7\88íOL¡õÈ0Ìãý\99vñX\88"\98kVÔú\ 5¢\10|ùs\97æÔ¥\ 2]ñF&x\7f\13\1fzxz\94>2\86gÿS\17LzÇ\91§Á\8eÏCð\90g\bR9×õÃ\143ì^p\83\ f\96¢\9e\8a»\ e`%$02\88ÃÛ\9dn1p8\9aPÎMþu\83ã½/\ 4ó#'÷'J[\1e\8f\ eÓ!\11\14>;Z\9f\13¼\rG*\11\1f1Äò¿|^Çþé¬Û¦?\r\8fèCÂß´"\ 4\92É\83\10ÃA@\89<Í)÷À<2ËÍà]·ê×óÀ*ëóäf¦\7fØ\1e\vûç"_°¦nZã\86&ý\7â\9eÀbå¦\17ó8\1e\f\9e|!\84»?\97,Ö,×í½\8bN\9d\8bÎsïå\8f\85ùV").gA\96Dw\10\8esÎð\ f\18ßÚ\80ÅGO\17\87{oøá\96
+857\84f|µM!Â-ývY®\1cùy\99\13\85\95N\85MÙï\9cyïkÓÞåÿ\fàz\ f
+PäÔ7ä\ f÷\0p~\1c°×pªo¾\1c\ eÕÌe\8f\ 1ÙÎZá\81\98XÌu³\18\7f\ 3GoÇò\91\81\890ã2ý\1ah(\97³`çÝ\1aÝx4ó+Á=\1fæ#\16YC\e\92±\15<ùB;.\17za\8cé\a\97\97\aû$ÙF~VÞåâ\9c\8dF'\1cñz
+\ 3\9f\87$@¾dñ[w{\99ð\9d·#«`\81\95ÄÍ\14\ 6ÓÔ\84*\eú\ 3\ fé<\16¬O<ûð\1f=ÏÆ+\1eõY\e\11ä\1fb!î\1e´lDÚ&!plÝ\ e \93ÿhømv×\97)\9c7±O5Ûvz\ 6Å:ç\7fÛ±I-ìR¶\ e&XóåÖ\14\80\8c2#¡\99÷\13hnÖü·ïoRn]\92\82M\97b^y\98\9eĦöYÚ\97GçÌèô¥5¦_X¦¿\8c2Có\9a?rZä÷&{Ø."Q%¬ü'\87Í\9cM\8cÍdþ\17Ìç¿n²8\8eV[\rò\13\86Ól\13ÉÜ*)ÝñJc¸Ã\94\ 5ç®3$\7fs½Ø|²&~ÝÉ(\9bLÿEºXd\\9bT\8f\1dÒÍ#\ eh±>Ï%½\86k\eé¾\8cÎ\9b>ßMÞrO\9elsmb©\85ØË"\Õk}\r¡ú\1e\85¾\86Ï\90|\92\8f\9bkÎqO6,m]\98\19i\1eß[\ fâëuxò\93¦\18\99îò§Ç\85\9bÙ I\ f÷ºRâ\14×\8f>q|¸^Ç)S\86Ä\1c\92µ½ê ±uתÅÐa®õ(Ä\ 1\86\19\8eàôª¾(\ 2þj\16üÏ\9a\bá\1a       ^$²%o\18±F\1a(G²Ø]L2\9a7z0¯1ö2¸ü>\ 3͸\1f\8e2E6\8d'ê·¤Ûòô\9e\80b÷á\1aLvô\9a®^\92ç\1f\84oßýãÅ|e\9c\8f\82\1aø_\ f\99\18`\85î½Þ±¤ìÿfLÌ&\ 3#\98\8c\83\ 4\ 5\82Á`\0±\ 1\10gY$;\81Ø\0 "Ò °g\92ÑXá\99\bÔ
+G\b&\1d1µ[m[}ëFµkxûÈ\88ÕEµd\ 4\90\80\80"\94\0kbU\\84D\81J( g\7f¿~ÿïs2I\ 2\0A­}o6íõæíöü½ç7àoËÞsyÍø;¿E\eôK¿B»O\87ÞºÉ%²^jCÑ\9bâ}½2\90\9cC;®ß\ 6¹~
+\86ÜÜ\96\89Ø~` jÍÃî\v½\8b\1e(yBIB\e\1c<)&à&lÞX%\8bÁN/\84\98\1fî}\8cç\ 3èu;aòÕõlÙ¨\r\80\8c\7f±VÙR6\8cº¸âI{\944>ã;23û»Çòa\1d\94µ
+,      gèõ5]%åý\8b       G\1ev\19\87\ 5\867\ 5ÀÐH¥Ð\12Ì\92Ü!v\1eV'}¸\1aÈÑ\90Ðd\99Õá\99¬û¹\92GLyü\92Î\9bi\9cùb?¸\12ë¦ç-\98ýzpy\97\96Σÿ\b£=(¢\ 1ß\v\14@;»j\8a\v|\88\f\1a[S\0É\8f\91\83»jÏ\87é\84RY\8fÎ`Ù>Æ'}Õ\85U^®­-\ 1\8dE\1c\0:\ 6ÀA\19pZ=°      ¹\1c\f\84Ì\rn\81­Êm­Õýü\92\8b×\ 1£ÝØ\18ÂO\0Ñ\80°½\84¸\82\9c
\8b2\ füÈÃÝAËÈ\15.l=+14\18ÞÐØ×÷­\18Ãu\88ºóÑCÏ9\1e\87\9c\94`ýØùRuÍ\17\10c\1cS\ 6Þc:wçÁ\89Ìw ¼cÔ\97Å×?ÙSX4òeû\b\9e)\b(Å}\9e\7f¾>ó\1fg³dY1úËm\9e0\ 5¶bû\96ß\15÷XøÎ¬±ú/9\ f\ 3xØ}\9b\92\ 3Á\1eâcÁ\1e:$«\8e0\1aÉ\ fKɲ\96ÆÉ2\96Ás\16\86½®Ó\10i6
+0\9c\80\99¹jm{\für\8c\97ldsíðb/µ×m\1cùûòIg9z*t\1f2}ò?½\rÆÌù«Úÿ¡£gdßúíú$\1f3\7fÐ\8fïTâÏûÎ8äþ\8e\7f\80õn]\ 4íãÞyùqJ\7f\97\8fõö.ï½Æ\97ØÆl½\9ekïÐ\1d\16}þÓ^ýi¯kEßj7[ê³\ f¦ë2±uôö\9aþOM¢\96\9dóyÚ\1f\1a¦JãÑsß\8b¹Åx\19Ù\1f»¸Y\9fxlý÷1õÜû\91ÛûM\7fÿþ\99}j{·êtZ­\16À°\råeâKø\93%\80o<ç\89ýCüùÏG\93\88 ¿ÃíwÓ\9d¶¿3\86ñ¼\8f7;\89Ân)ÿ\ eòFsÍÉ2ù?Ç%É£·ð2½\17;\94É\7fú\8eß8\9b&S\88(J\9c,\aûQÛä¿÷Go\93ì\7fóùªºôvù\84Íßç\13ú(íÆ\19?²ø\83ýó\96_\11ü\b\91ûsö1\15-âû\19\ e=\1d¸\1e«5=\81\98Nz\9eÃæ£·Ü"\0È\97aö?ó£·² RsGE*\14!C¹W\98¦Vx=ÕdVù\1a¬ìßX- 0m³}¸E\16\87\95×Gî6G|y/MÁÓù\1e\8cß;×\10§Ù:3}\9d¥\19¼å\9d\19¸ì¯Ç\85l:ASñ·~4Ô=9U\98jùÃÓº\8f\9f\ 4zw\81¦Do\ eÛ\11\98:ÉË\17\e 3\84\0,ìÂ\ 5\9fyµ~=
+U§eeG\ 4\ 4Ø>»\1feH7²Gnkt'A¨Ý¹ "\vè\97Ûb\98L\98ý¿±vþ@ÀÝä\b¤ðîä"Òkáqè Ê¥\84ý    Rn\12h\14&¿\81\826Ùq\8f^\92³[\1e\92°+ûüwð¤Æ¶À\b»\8dØÇ \ 2¾¸¢c±MÆ\8caôW.\9c\e\90Z\vðò³¼\82ù7\7f%\1d\8c:\83©±ÖEòk\98]{¿dñÇc\88\82îØ\11\8dÆê\7fà§\b\ 2®]ªÎ\117IL½çÔ\84\94Ñá\99\1d\8e@m\ 5\8eÜ\12\80\17\vÝq8=N©8\93¢W\1f¿\1aj=\9a&.\9aÏ\a\90\ 3\19ls$¥fkie^\ 5ï\ eéËîqá%Ëæê;­{»\8c4Q\89Sîó\8f\15Nk\ e¬õk|<\16«@¤äÉ#L]PÃä\9fÝy\119\9bB®^³¿ïÍ\1c\ f!áR\13¦7\85àq9/
+\90\80`é¼ 3i°\16ï    \ f\ e\923æÿ\8bæ\8eðé,Þ\1d%³Ã4­êo\ e\9c^üÞô
+B§\14EÆòu\>3É»&ª¦\91\15\12¹<ø\161°ùè\8d\10ðlWWÓµ´²Ï\15Î\16ãü\9eMáâ¥Ee\19æg,H\Y®óý·\913ö1°©\e\8eôòqÞ\98§o'¦\15Ù)½=÷\v\92ôÎ\9ej\ 1\12jãzx¶|\97¦k^\19\87¦[\8fôzch\8eôÃ\ ffôͱú\17¬\9a\8aþcX²þ\19Ñë Q\19ï\1eU{Ò\vN÷õ\8b\91Õ\12m4V¸YÄ£¾\87¨+*øÄ\15´\14\ 5hU \96)Ji»á¾Ä¦¯á5\8ed\13Õ´\83®ß'\9bé\14\13;Uï\85MËÝã\10¯Î¶l   ;\88\9a\9a\16\9eõ\vN#¾ß'\99ý`
+[ã8£ußè=\öËñ]5z´È\9dÚíS¢\9b\ f²\ fu\93ÍÞÔ\85\0Õ;Ï\82R§ \9f¹.½\93Ô~S¼ïÒ\1fGØ%\aa¥â#èÏ\11\15È%ñ­»¨\89\9bÉ`b'D\12x¹àä.ÕF\84ÊPÂMºQ1Äp\9d¹à»\85.«HD\9aØ\13\0ó\86£O)6Üj21\91Xç«\83\82Ñ(ÓÅ\11*\0¯¦é\9bÿ\17\8fÆ\19\ 1hÒ4Fíþ\88ç\ 1 \80\1a·\f<,\15RJ¸I_¨È\97Zs½zjüX\98X-\\15&)3y:\10\9bAj\9eU{²      ÕW\12°[¦J\ 6\16#ùD\9dæ\99?m\ 3Y\12Á®jB&±(\8e,:0¾\10B\87Éó±K¦{¨Ê\1f1mä#®Ç\8d>\18\95\8f\1ao\94ibï\81\99ÒÅ^û\89\10´\ 2È¡æÆ     Às\96\81iªmiR\1c¥´\87*ºôÕ¨4®\13ÝdÑÀV\86\16\93Ê)\10\13ÎWG­\82<w®¥\97\8e;ïÈiñþ*\8d³B{!¢ö\0_\7f\89\8fB\9bä¹\80+%\95J\rßÍ\ 1\91&\ e\86E7HY\14
+ÕfÉ1ØçÑj\14]hÈ\1ak\8d\0{h\18`tè®I´­¡u\8dÖ7\7fp¡u%¬}s\ 1dµ¦Á7fç3W%¢¹Æ\8e­f\93:ñZ\ 34²î]Ë8Ðä\89bÄOå\141TâdSëÙ\12[ %ï,\80½«h\98o¸ðg*3OmQVÝ\96\1cZÚ°\15´"­\ 12WDRw\82ú¯\18\9\ 4\19\179Ú×ø,\rH\17\14·W\8aÝ^;È\ 3\f\9dýL»Çz\87¿\15\84\86\91\99#¸j¥µö/v\ 1Qðñ\ f çö¦0\91ì½(\99\8fy2N\16\15cú¢¿ÿ\814½8ýÕ\91Ep\95ï\10I¶NÔ»±xG\86\85D*ß\96\93ªø   H»à]°P9#Ú\16ô\fתQ\ 6a°¸:®0óм;\13[\82Ø«ÒÞàØ¬\15õ\ fqsCfWúgð;p\1a\12{åP ·M;«ëX\13\90c\85\ 5\10ÂMØ.ïõÓFVZ¥½
\95\ 2R¨µd{µ(\99-±<u\96¬(í\94¬\11Ú\0ÄJnÏuÍsV\e~®±¨Kù\8c«\1aýæqÚõ£å¦º\85ßµ\99ûa·9#6Ïa\89A\ 3\v\97\89ä\ 3\8eß)\13n?a\84\9a\9b"·(\b\18A\9a\8bã,ÐÃ{o/@VÕ\89UKjm\96L\98\9fs\fÀ°D\f\8c\82¶Í uâ^\1e\9få\f\86]\84ìpÆÂRá\8c)[â"ªÒVÚ¼Dn1¼YD\97\b;`\13\87\8b%÷ù\fÆ8\93Ç{7ò\94&[wØ!>d\85,UÓ\1d«Z±\ 3\14\eLx\94üV\84\93r\ f [À\8e3 Ç5­õ\90%C¨2%!ÕË*Þ\v\82þÓk\a\14Ô[-\0¤\ fÄ2@páë\e\90\1f\ f\16\85«þä\86Ê¡)\r\8c\81æx-9p´@F\98\13&ɹ\a\88ú\1d1\f\96JëRÝ)öNݲ3À\9d[\9f¦\89uª?â\9d¯\92\81f\97w<êmÆ{ÛBGî!P\16\84 It\0\13cCB\84ùO\87;_Jh5\91\1e´P³o\87B\92Ë¡iï\94@¬åÛ\90\ e\95¯{þuãÙ©\ 5øÍ%R\9aÒ\89\87ë\96 \8f¶!\99$\8f~\9a¾IÛ¯«§\9duN3Û¤9`\95I]L¸Ïj\19GrÉ!Ë\97./Î\81­×6¬ûWI5~ÝYöî\92nC\18J±â\12\1a\82&¥Vê;¯Ë÷v\1epIÖçô Â=MлßeåÖ`\12u:ÕýÄ\ 2_૨qo j&\ 2CÁ[ïö\9e\85\9c\97JðUyL\1aRÉaþ%\ 2b`¶´þ\ 6¦±.\120ßàxð\97\v2\ 29#È\1e¬Â²!-\15ÀÔÌ(\13\89\ 5Ù
+µí\16ì^uå\9cMéP\7f\12ho¾ú~\87Ùý³}ðÿ\9e|~é\ 2\1ej­Ëh<ådä\91µ@\ 1Ú¶Û&mpR\bëð7\88r\8cR\ e\90~IJßü¼òÎ\11]\9aÒÔ¥ê\ e\9c<\f7¨*\9bÏ«\8ck<ë\19Â\7f$\92©7tÍÆw¶8¸\18~¥ë\80A×÷\fo\7f­£\83C\ f\80C\ 67ú~ë\84GÃrJ\9dÖ@\95ÑS»MûÛ-ú\85ÞìÄ\v\ 2\aBJ\86\9b\84¼\88ÊÎu~\a \fûI\16~G\85­\19®¨h3l(q\92\13ÊUpRjr\ 36\f\95c\0\ 5ËËÁ\ 1ý^\11}Rñà4-»|2\0îRðø\84Ø)Xñ߯ùgs\0Ó£6ì´ü²?h~\81\1f$ØX\8aev\15\98f¡&ðDðLg·Vf¦SV\ 1Ü3q\14Ø\1d\8d\1eÇÄ|u\93\84{\1e\8fl"tál              \85y(\f¬5þ\11WÑiëõñ\8fM?(4\ 1é6\8b\83?êòHAEQ¸ìº!^õ
+B\81\}GC\Ãe\b
+µc½·«\1dEÙÝñ¨Ýõµð        »Ò\8d\97/«  \80@a\1a`ÑS\\99\9dÓ\91\a\fÇnt\19\15)Z´¥\99Ø]ãpe,\ 5f}"?åà\r\9b\83Û\1eVQ
+\8dûû\94;\91-\84\ 6ÐýP\ 2,â@$Ç·ð\8c\ 5\11òù@Ê6\0\17s\99$ïî]X½x\10t\84Ƴ\0\8e¢#ç1¾¹\96L¬:*\8dý5Õ\8dåü¾O5r\1ffÂúXy¹BÄ9[\90ß[4\08\7fñë\8dþ\0ì/ó\1a\86
\1aâ\f÷a?\ 4|A'{ç\1a\1e\84»?úç/¤âk\80Þì[äÍnÅ\85©¶2|t4Õ§\v®\97,#\99ØO-±5ª:ÿ\ 6âHê\92tïuÑ\96\99%\8a°É\1aµ-øBÉ`\80i§ÇÅ\rõdîLÏt\83#%ðçÜë± #\198Ü* øx^\94\94\8e\11\13\9a5|\1f\91\v\91\\83\b\11÷ZÕn\1aÇ1\7f\9eQýL\99£\88ÿ¤qÇâ\9fUï\X
+%ö\1f¹\v\84°\94+~\94 !ßÅK0\12\ 1¿½d?\97|ÄdD«N\8a¬\86ÿ£½KÚèr¤ dý[Q¾\ró\17\ e¾@\ 4KÛàwó\80oòp*éü²¢Mu×ËRÞBL\ 3\9cÐl\94\89%Úò\1c\ eÎ\13Ú\11\8bþÌK\f\ 4Õâ©é\1dG\e\v\99\15~-þ\80\fìÑÁú²\14po\80\e\9dºÊÌÒÞ\96â74\80D\×hºÛÑw©\a  \1ed\94Яc2÷ofC'-@R\ 6 \Ä ­Å·Qa]ëh\e\960åçãá[\a\8f\15Þt\1d1/\96ü]\91»Fê@oavjë=±\99\89Ï\88\94A\9c\9c\8e\10\83\85\ f]Ô¯\80âò^\87ÚØ4eVÛü\9d\91\18=ÈYàþæ·\1a\v\1cá`;J1\rka>QXIUÓ\91(b19ïȯ\9bÎz=«5ÈÐÎñþ;9è\96àX\85\18\ f\ 3b1\10ä$ÆÙõæifÊ\8aÉY \97Õè    Ó¼r`j\8e\98\ré¼\ fV\81]  ÚÕÀ\f#2\0e}ÜËÝU¾\10õü¹      ç\11!9¢\90\9cßÍ!9¯á!;|%\12Ì\ 4\ 5\97P'³e\15\18Éé¿\10$\8fwøYìÿ\88\1c\15\1cô\1eÌ\ 6IN\81â»å\1dvSBG\93³h\15I\88qø¶ï\0pm\87\9aé      Èåæ­dyl©        ¦\88¾ï6\90I\8c\a\84\fwã0\9fo56\1a\9e5&þôÀdµ\93²¾\10ß;\9a¥\0\ 3úl\96¤\9aòÓ#{ÕÌ\14´2SOk¿Ø\eí®©\93Ì\Ê ¥Ì\8eÛP¿\16H\8d»eY \8b,\9a[ìî¦\99f\ 2¦hÈ\92\ 2Çâä\16\17ó³À\ 6\95ÒPßÌ\83-\81Fé-ËþyT¾\1a\8a\97Í\9dÐ5\7fsÐ%c\9d[O\a@ÝýÁG]ÏÈ\ 2¨Ñ,2\8aÓ\f\14\1f\9eþÅ-\9c´nQ\eã\1aWµÏ ³°Ï\81ÇÒ·,¦\90ÈÁ\93ÁÃ7>Ú¶-\12\866¾«$q¹^··R\ e`\83\95¿TA\82JYr\9c\89ú\97\9eê\8e»Iª^\90\0^3\14¸¸\95e+\87Dö&\14\95q\87a)t\ 1Î\19â»lv\93E\85ÁÎ\10\99    ]s³#í\91ìÎ+r'\ 1Ñg\98\18\88\86ýòÄ\1d\e\86\ fÔ\1\11b\9b¯LÍÀ®JU÷xXªd÷QÊ-¸|\83\19cl[øÐ\aµ¬¤^\14ò
+¤6ç¥nîâÚó5ìZJ\88ÎtE§³Z[8ù Â\v\1f\95é8@»\7f\93N\16C`\9b®íËâW1.ê\80Í'´1«o\97-Í \ 6²l@Èu 
+´íºÒ¡[\81ü§\ 5tóøX\10à\8e\ 5\19±3\98X\89¨y+ñ¬Çü"\15²ä)^ç\a\16ÑM\8bf­ù(;ý8EàïK\84\8e¿\15\11\83y_iv\ f\8e\fiR\15éúÿ\81ß\90é\81
+ã[\r\93ù¸4d\a\ 6\8dG(\8d\83\7f!p^AÎÃ\81=7¤Ø\1aû¡c\8d\ 5\7fÀK\85\7f¹¤y\15F_AÀ)\ 5ëu¿÷3Ð^Ë\11¼çø\96\99\ 6AÆ{Ï\1dW¾¤TÐÅ\86ɯÂ*\e\1c"ªÜhs(\16J\8f\1dþð\19\9e8\9eߨë1.&Ï\98\9b\18\8b]\ 5À6×r;\9cÔuÓ\14ߥ\9fu¡P¨\99ܪ¾ÝAv\0\87òß#\9fQ©;éõ¦K\98W\Y\81\92\86gÞcX\9dõÌ1\88\as£e|5â~³_2M¬ãîÞ͵îN~²ï±àúÊ!¶\aÖ[\159\ e\ 5\93o÷/\8b\80N\9b\16Þ\1fe\1d¸Èß\fl»7Y³\9a&å7Ù\8bFåÉ73/²K73+·!n¸§\ eãdÜÝ\90ÜÍr\e\97\vÜfçq{6åÍ\84\8bÇu\8bC\97Æ]ä\1dÆAÇxx`EÕÿ1r\8fóó\97ìs\9e\8bvkó\97ÕàÏ\9c»ÁÎ_Ñ\1d@´¸Uê/O\9cï\91\83âó\9dû\988¼çK­ä¦éé\15I&\9f\95\84s\1d¬Îç\17ç?¤f\8bíí\94Ï\93ù¦}9óLûçå\ eX\99«FQ\13{e¹Å­ÎMªßûyìÿg$·ÿ&*
+\82\7f\7føTuâ\12ä\84Ï\ fÕû^zqfNA¸\7f\8d2¯UÆ\87ó\17\¿\rh®áOMå&/Ï\9aÕÎÉ3\1aWñ¥&ÌKÀ\ 6ø¾\85v\15i\ 1¨\ fÿã©wÎ\15Ï\10\87jÑéü4¾9¶m\15\ 2Ù9m¯¢âíy6ï¹¥sÓlm\94ÍÙε%ÝÒñ¶ç/¹ÕsÓ\91vç,ç[\89+Õ¬ê8\85%\7f(\9fOy/\13\8c\ 2\9cÅý\9f2\8b\80+\aó\u\11ÓÕ\ 3X]Êê&ª.¢jN'\14:9òå\1fTÇQ>\ en<£Ã\99)G¡ê GËMñe\1eÚn,£ê\98ê-ô\8a«\83ùÊ=p+VU &;\vSu¤\1f®hÒôá]BÔl\vôYé¹fO¥TVzmÊZ\r\93\12\95QÂuÆ\v³eÓwùÆè÷Z\9a¸ä©Xë\eÀÜ8\89\8e\99N\15\r\8e\ac\ e¦òË\8a\ 4\9a\r\80\1dÏQG\80\87ú\99N4\93:GT\ao\17\1e}À*
+¨_Xa#\\ 3Î0\ eìS\94p>D\ eÿå >\8dVcå\7f¹xïÛ\1cÎõÐÁ/¿!\85\8e\ 3J.Zaqy\8e\13?ØÏ^\84'\b\1e".I^uÔÓ¶øäoùÇn\15\ 6eÝZ\8aâM©\ f¦¥\9f]\16\81Q\87\87ÎÎ/#\85\1c)\r\18\ 3\81(ïÆ\e³ßX7£\10Yl\87Q\15E²qº´H\ 3/EÃìOæ3ub¯\bs      ^*ú\80\1c ;Ó\8a¹e¢¬9Yg%PØ\1cª8!C(¬Ô-\15\9eyEg­\e\11wâîj\14
+ùcµ\8f\96!\89~ºtü\11\86r¶c\18!éÛ\9cÓÄTÑ\ e\837\ f\15 g¶\9aÓ\8aN\8aR\9dmb¡Ci±ZU{\ 1{`GÀª\9b\ 6ï ÜF\14\86Ëo4­\b\91ÝF:+<º\ 5²\8e³pvX\16ß<Àî\8bÂ.þh²©\81\1aU)\89T°¸P\98\95N¤åSä\9cª`åò\b ö·\17ÑÜ~\8fx]}\88\87äÝ\17\7fm.\0\9bªæ\e«\9aÜöCu«\89ÖMG\87\96âô±\bD\9fç£\bÛiÅö\88Ðýó\8a¼°àÊÄ5¸Pè'Ó¢\9dÊ\vbc\84ÕV\19Ä\888©ðW Ùð\85G«¹J¬¿d£¹ê¦ù~ÀOµ\87\84êÑá]TUI·&\7fÚ×   \8eÅ\b6¯&µsÿ\1f¬\87Û\16\ 6\91ÖÎÓ\95ÖÏþ³ã\8f\v\93Ú\rÂîs¨´s\97Dp\84D¶'90Çë\10W\9dÖCÜKYC5´¸ø£*M,\9a\90©Î\90/¿:Ê\1d­bYC\\v)d\ e\90gYí\1d\80¢=Aé\ eÏc®yEt9×@~/is>AMëÙÑKÇ¢ªb\8a\97»®"ê\ 6Nâé\9e\ 3 [íú\93\bX\v~ñ''\ 5MP \8a\SØàS7dã;õNà\15\ e¤÷Ý\12âÉ\ 4\r\9e\98\12ëÒ®¢\97ÓLt®à\11\80ÁM©\10\ 2ÕP´Èü¾\99\v\vy\15,\9f\83í"\96½ä\1eíÊ\e!\85v&NY\93\ e\0\87|\99}5\8c\8f¥Äõ'#Rÿ&ek\96Ê\83\ e0ñã      ±wÆ\99%\98#\rHRcÌr¼\83;\\9c\89£¼û\12iÚàC±Ú\9d\ 5y£6èQe\9b\8be\8e;Æ0üÙÝqáMª\9a@¾Û_¶<\87\8e)\1a­ù\90»IÎ4i¹¤\0gÉ9aòÑm×è\14_\12\9dp\1f>\eL°J]$ÀÛW@[õ\17\8bÞÃk\19\86\18~Ýúý\18X\1a\7f®.\1e6h`êº8¬\1dâjÉ\83ºZ°p\83\a\91ö¢°q\93XZðf\95ð ÎÅf;Ûé\18\83<¿Ke\ 6`\14Ç\80so©q¡õ\10\13\9c\989ó:X°sÏt±àä%×A¸¦0\13Ñl2y'c{p¦µ}ýïJwwþÕq\ eG[ÒFa\140\0@\8b:@      ´Bîî\ 6±òÌ\15cmmìýÚ \85)¨}\1c8\91!c\80Í\18í/f¤»\ f\10Ë=G\1aøq\1cz\15­\ 2\7fPàN]h\13Û\10æ°\9d±\v"|àz\1c?+f\8b\10\ 4&\12ìt);Íñ~ñúÆÏï\86ááþO\80\81\10\­ñu2®bÄê|8z\8d½5
+p0\957ÁO\ 21\15\ fî    ôÉ×^ÈAð\ eôߨF¥¬\ 2ÌfÝbÚ@èm\f\f\15úC_Wý Ä@RIHI9\89ö²\11nj3\91Ëúº\15\17N@!¬\8a"XEU V\9a\86Ý%µäà'|/fÿÇ\97\98\1eRx0¢5t\88\93\87\88\83Z*\99äá_¢×R3¿ÅÂÅ`W.tû;I\93ØÌ\v\1eÓ\8b2péÅ\aH\97g³0ÁXÍ\93Ñ_¬¥Ùï~¨Ìx\ 5¶Z ÇèöÑD\ 1ý£\17\9f\8cÅû¶l_\87jÅãC\17öv¼\86/ªY\8b\92èâ±~Eö+ôêoË©>:\vVHb\1aW\ eÇß´ÃÖ\ eix\951yìÛöÆf2Q\99\8fÛ}]\98Ýl\8d\98Ê.Ì\ f-\r\ fï{ëøRªl@_bã\908\a    í\86_Tkq_L°ý\13=<Y\a\8aûó\12OøÌÔ\9d|\97Ûi'¡AÔZ\13ôw\f\ 2u\89\90Ô\10¿ÈtCÆÓöíç¡R\90Âv¤\17תñ/ä\15sÔÉ1aäf\1eÑ\80\99£tø\1aî+Ú\15ǼÁ\92çy\82Në>j\92ÆmÄ~\90\88o"ê`\1dþì¶ÁðÝ\8d0\9f9\15#Pz\7fÓ0\17\14ý¹<Y>²ô¸Éò\14ô3\99þ\9fx\1cÿ¨Å\ fg j\9dßõ¿ìPà\7f)©ßw¤\9d¡~üR|-­ ¯}L\13\10Ç×!8ç.4º\b\7f\1a} ,\vj3èÔ\e|>ìjD\93\99\1d\818Òg_ЬÕ{opÀjC\91\8fWù1Y|\19\92\8bèR²\88ysÄÁʳF·Nk\9eÃqÐ\94\ 5\7f\8cñ@TFÛ\10ñ\9dñ\1cBüVIê/s ß]þ\8eÐ>\bé&GX£\8e÷H\83OBíË\88Cöا]nQýÊ\1a_¾$Jó¯4>¡\13³I\9f\8d\1e½HX,ún¼\92ébúaVö#¥\8aá,Éóµ¸Í\\1câ(¥<séc\1d\ 2¥Ò!\ 3©æBñ\97~Ý8\19\9ee¹.\1a<o2\8e®º\1a\8dÓÇ î\98ìö*¹W¿\95\15\91Z~l¹º#«\93çê%â\9a#ûEv\ 6\aùùÛ\bM;v\858_ìqºcH±\17Â\81è\19¹\9ahBC\1eµ~S¾É\13\99=\99`5\8a\8fNCm\93éËúg\89=Ën\83ß\15°úÄZP?Râ%yHS´ÉÂGF>¾\1f«±9âw©Â\9d\18ZÓü>ñn«´Ý±4ß«Lu\88+O\91R\1d\1cÚr+\81'DÆx\19\1f\95ï/b\8e\80à\f(\a\8aMÃn\9bt\86J\ 1¨=ø\1e\18\v!g×Ì\8fÛr\r R\17à\9a+\14ÑÐ\17Â2n\16\15w\1fà\99,5ß×h\88\95\99Â\81.`\11ß±ÝÙ;_?£³v¶\94ÐvX[Õ\80\87+¿\18\99Û\98)Y\1c[Öú5K\7fõ"Ü\83\ 6wÐG\84\13Ð]\10K\ 1¡\17\ 1&×+Òá\88ú\13lLÅ\97\84\17|¸;dǯ¹õç¹üS\11w?G¡äî}\ 2û\99\90\7f¶Û\18Û\9dÓ\94Ó\96%\csÞ\19\89êó£nw>Vç诹þ\93Yc[\90\12èô\84\9a\ 4ªó8\14\19Uu¸þx\a\ 3\e{Éá\9cîx\f2jo,`\14îW\ 3c¨à\93ñï\ 1\91¨VY\98Ñ"à­\90\1fÀ\1dî\7fJôÂ\83Ml©\rHËÆvñ\17\14Ä\84É©\93÷/QqLHÝ\10ÓH\95ÂÅÄn!·\98n\ 6\17\94\9fqx;Íú#ûн/\8ab@yC\ 3Ò\ fÂx\8b帼0#,t$Èä\a?ê®|a>\7f½C´]R«#\ 1\ 48M\9eÌEqØò&\92·\8fÅÏÅqÐ\v\ 1å©?Ñ1\15ÇC%\ 4Ã+¦\98\8bÕ\19z7iØóç\88\15\8d\93\9cfns«&P\ 3as2©ðr\ 3Ê*{«i\fDLÕ\93Û\1e\ey\8bNc\87W\96ÀÙ\9fÉ®vÛÌ\9a\1a¼wgSä8³A\90¡w§}5?\9fr\15Ù\ 1-`½X­ZJ]GN_Ê(ë\16Ýÿ2GCTZ[½wµå\80\91»06häaݽÁ\86´\14\?*þe}~/è'lᨭ\ 4ÕF´\13U\1a\90¢  R\96w3\97ëó\9dÔáR<slV¸\8f\ 4^\f§ \84ÆT*Õ\ 5hû\B[H\88\16×L¤\1e\892ðQ\8an\82\97\ f\ 1m\ fÖ"s\15\14Ç\ 1ý\ 4Ò£\8d`\8bã     åݪ¼\1d7\8a\92\97±í\ 2C\0\11GtÍ_Ý4\fóµ/\9càÚÞ\86\1d\97EÒkõ\8eª"\\88\e\91ÕEôÆNhTW/2¤)\88\93ª©ã·3V\0ãF§\8eÔ¬ãç\8az<ì½­©ZîiðéG_[&ã=û\10\11\92§{TÕÁL\96\1dë\16s\8düó©ªZ5Äôòê\93½"\11}\88³\9dkÑØ9HºÙ\8cêÕ\9eüegD¹\r\16,èÃ>À6,èÕbÎ\8d¼ËÉ\10\91x£?¥\f¨6¼\ 1\15
+\80\1d\e¡reL·\ 2M'¢Ã+=ã·\9dW\eãµKLj\15KV\15þwRJ\e\8c\88\19HÜÞ
+,mJÜØ\96{ÝçB]ýØ\89h=ÓQý\10\99½U' `\aÞO¿\ 3\ f
+Sñ¡=:ÕÎÎ\15¦;\96v¬Ì\16kÁâ\87»\19Ê\15}yñDá¶Q^\ 2D\12\98K\13\9d5ð y
+/Õ¤\81ÙkªW&¤ÛÖf¨¾HRDT{¯äTWà+tR´ç@Æ\9bqgHU&é@á³qQP\8bl)+eT-¾î÷ý       HzµÁ\85\91uÞè£-kÁoÿªø\ 5Ã[ÕxCÞå{8Î
+\9dâ½éÙ½õbédñ¦¬\(S\85~\12òÚË®2ÚS\\98À<i¾\18\95\b\0z\15í׺G\97\16$ì·
+Jê\a~Ï{2Î*æ³YÆM\93\8cæÐ¸ÿ\89tj@á´\7fvQÞº\96è\14\89¼'Üð\f5f9¶\hõaJïêÑð3'&n\85ãMR\8aïÉ̸Ñï@Dðq£ß\v}H\11\a\r7¯>=¢\881Cï>=ª\85Ä\82«ß\90.ñiú\8dÓùc\1d\1aÝ\92\83=\b\876s½{Ýå\86! 6¦.8\88R\9fuãObÃ\98^\ 3áJ\0æ9³çÑ\0:ÑnÜ\8a·øW[\10KªuÂ\0i\ 5\89\85\14ºøjæ\8cIö!\80;ÂÒÄ-ÐE´¬^4Þ\b91c\8bkÀÿ\92%\14\9b]{bÒá\1f±\8c\bpáw9ú\18=ÞÀÍëb\17>\14\19Ú\96\16È2ºãègBèRV½mo-\8c        \99\15®
+ùµEw°îÀ&\94zgW^®ÑÅEÔºÃ\93\10ëbÏH£\120,ñYyU\94\91\13\91ú¬8Ó
+9úÖ\17¢á+\13Áã)\90½\17ü´\ e_#MÔH\91Q¬ºI\96\15Hr\16]\8b\94\10T]¥\85É(\1c&n3¦¢\9dÐÜãfË\80e\1fÿ\e«\80n\9ftìS\89\9c\ 3w\9f,P\86ñ\8båÖ°­\1cþÜSÐ6;¥)ÎÛÓ´,Mä6¤EVÉn\8f\9dª\9bW>ªmR\1f     [\82\88\1fäÇÀaf>\ 3\86¢\bF\ 4\85µ`·\ 2\15¸\10\ f\98áè\85l\fmåâ¾\ f\84Å\85°\84\87c\93<Îä\a&ÏÅ`xf\12\v¼3UfÛÍ\ 5\ 2Ü\82 \9d\14
+\v:c8A\1aws¿Ú\ 1û\\13Ì\1cýÚ·\ 3\10uúS%ñíM@ÿA\18\vgĪ! \1fF-²$\19¾áa\9b\92k\85̺Íå\9f¹V\82\91Ýfnã\13U=\a\1f\96\83AH®?,ïfã¾\rTM[½\9aß#\8eû\98*zìM"tZw\83\ 1\f¦\9a¤·óÊð³\8e3»ÂÂØj 6
+I8óö\10h2úùÖi\90À\95}\9d\1c\1ehê³v\14n\9d\96Ö£\83ÝHWþ\83W ·#S?¡ÀU\1aÏæ
+zÜ\ f\96evËp\aðHE\v\8aþ\95¸\9a)\17Î\0cLg§\98apÄ»óx\88W{²p±©\v®wùÝ\99E\15o*\15)pº\ 4\r\99Bæ%
+REh'w³¥¼­\1cD\12£hÒ\82íZ\ eÔ\ 5\182\19\ 5mHl1WàJ\95\eµ°s\12¥h\17°¸¬ì¤ßÉAÍå\83í¯á\95Îß\1e´   Ðe\96\81M\8am6\13Î\96\82È[#O×\80\88r\1f½B\92ªs[Z¤æmF\90\7f\99ß\11\1aRf¿ô\bF\18\96#Q\9dÀ\11\94+m¯¨Õ Ë%
+I\9aÍ\1d"m4é;ÕæîåÍ\92\8e\f\94êÎÄb!Æ\94\16¾
+q4ñ(2Ö\ f\ 2ÿ\f\1f8øÒ\18\84*\\1cz62#\11Ø5¶w\1e\8bï\ 5©mÏ(\88Ù\ 1\87\13\96\18\13k;ª\9e\ 13SíÕ$fÈx\9eN\87¨\1e\8c9m\12\91þdP\1c|\1cáøÚ¾´\ 2¬ÕgÙO\18d\93%+úJ¨\98\86©\81¨ØÊÇ\15\1fs\86\81Tm6wBX8Å\98´©\b\85óçñ\8f\91\85\87}\9f;l\82tIe\949u\8a\9eò\9a\r\12T\88Ä\8b\8d5Rígô\1eò\15\12.\81\15Ùg×_÷ôâf\94.õ´¸\ 5\15§5!õ­\ 3\94ÁgÂêe÷:j_ÆAncÏ~#êí\90\v\83\rµ\86Ñ/5\98\ 4\88\b [ê\88\16\ 4\9dµmWÒ.Tu~\91\7f"£¬´\8bwÁKÃ\8e\91\19À§jî\ 5¥5\16®\8c¨\ fýTÕòH
+è+¥9âifL
+ï_ä\vµ\ 5C\ e\16Bkî\ 6¼zL´±\9aÙZ\80@\14M^   \bí£\10B\1aÑÔtW\95\7f\91ø\17\90xÞß\88\ 4\86\8b½Ë\8cñNj\13\ÚÏ\85Ë\8cî丳IzeçÇ\bIä¡\7fðô\137ý\1a<Ù²[ö¾\9e\89\ 2)\11p·/è\r\18@¢h6D
+ÛVint*î\14\9f&¥Õ\ ey©×WÁ\9dÞ¢\bÊ\85ä°FIQÔ¥ÀAF6àÝó·\94^¼eÿÙ.j\D¼ú|Úk\8d\99ä+R¦\0\ 4ÒÏÎʺ\1cèd>ñVï¨XW\86\ 1½p:h=\ 4b`îï\86`\90\89x$\85=\7f\90Q¦ð\c\9a\13\11\ e\ 3y\17\19í)+\99½Ê\1eÕ+Ó\1eÿ\ 2¹)J/È\8eS<\e8ÿ\94(ÿÆ­\1f÷ã?¾±1ó$;ÍϬzo@¿\9fU)\f°ñí$1ä°î\15\95mÎ.¨RN¼û!kwOãÖãÀàÈ
+4\8f\fx\ 6üÌq¼ðb\ 5\17Á;v\9e\96¸ð"jV¬rÓº\91\11¹\98\97÷\83\98\14¸<¤\1f\ 4\b\8cì¼
+¯Y\81ÝA+|¨Ý¾\95]\ 4³1°óÁC\19Ôl@¦\89Ç·\16ú\90\19\8b}¬¡ÿ§Èa
+t\8a{Y¾*Ú\88\81vyk!Þ£aůlnóéÎc0fHk\94ã\ 6*Ñî»ñ\15t¸B\ÒÅ;Ú[ÊD­î     8ÝÁ\96\9f\82\9bS=fe°=ý\88\9e2nË|{¨\81Ùe\99@ì©\19U¤ù\9cSf\ fh\14\82TX\15\15¡:ÂÀEsÞ\9eyV´ö\r\0×j¢©\ 5\1c]3½¡¦­"ÏBl\:¥\ 5ÂJ˸xé.\85\99\8dR\10m]nQ8>\91\ e\95\0\91``BÜJµ\13\14Í4\bn}©z\ 6\12¢Êµð\12bà͹!·\9a¬Ê-øn4|Eï\12Z#Þ&Ox|\ 1óÔ?/\89\1a\1a#øÌòñàø\9b\9aþ<\1c\b\eºüÃRñàçOþ@ÀãN\82ð\86Ä\81T;ÅWi)mS><«\97ä"Û\1d[\16¦\7fP\82\19e+¸æ\8c0÷ÜÍC¦s\rXÁ(Sþ\r\7fïæùM|Ç-¯Ð\e_Í¡¯ü\r?»_Qn×ÏrÚü\ 1µú\832}0ï¿î×ÊÛµùÛ\9d»_¶<W¤2èkÌ\87'ÿf¿Æ¹ò\9aùN[_Þ\e_С¯ÄEkÑçÑñ\97?ûyôw\17\fþÿè\9d\85ÿÜÌIÿ×\ 1»þW\92[Ù²µòK|3Å{\87¾sÿ\7f$¶X³i\9f\92\aí\9cÿ\1f\9e\8b´à\ÿ\1f\91\8b´£\v¼¾W\92[\83+{s\14\87§¹\8aCÓÜÿ÷È#Åý\82Ì\91\rÜ_V\904øÙ¤\f®\8a]lÑ\87\9c}ÞÔ\9d®Ú£L\9b<j_ìѬ\ f\1f\7fµñû§ä\ 6WÇoW\8d¿Û¸t\8b#7Uó`\11í,³2½í-\9c_\19ãåXEr?Ë{þ\8f\1dälw&øï\16×oëQ\97\1c»èÍ\9c\7f!£Úv÷üq{\86¦\13\9e:\13\89ß\1ch\8bñð\1e7þÆ^®ßOù§1»dæïóî|ÕÅ\975ÙÚ§.\12ön\\9f\9c\93¢\1dÌ'\1a»4â\aó´véÆ\1føà\89¯m\82+½¿\91£å\99\88»l-*ù      ×¿\94\9cÊíS\98ÿ-:Uò\86\8bÿôtäßɬ߭ýãAe\8fYÃõ\96\98\88ÝÚ»;xçùÞ]¼Aÿx\9b·mÿ±\9a§/'·re$õ½%\91\99K\1fݯ\94#\8få\ 1íp\ 2ûìí\fÌ\|-×É:\11ɲº`¤\81åC\8a\9d\bÿ¼s\97\94\9fpcSOÌ\92¤²À\10O\91\ 5h3§}e¢u³!§få\97\8e4ìîkL¯\9aZenY]ü\bÒ3\óKÜ[2¸öv\93\8füvÓ\8fãÅ?\1fÊqÇÄN®ßûå§iûo*^\8f*\ fkþÆåzÛ$\1a=L\82w\9f´ç?©\8e?РÉ+ØËYíþZ\f\91û\9eu\ 4î\9eíÿC\1d\1fb\83#Þ¹\91Çÿ\97ù\9f+ûþ¿ëò\f\8a?
+ónÛ\8ctBÞýí\1aR¿öfLÉ2C!\98\f\83\80\b`\137a°  <\ e®FM\1cø\99\84ú3 `A\b$C\12\ 4`²ë5$\18xÆh2\ 6Ì>qª\9aí\17Wi É#»»©«¾A\14Y\0r\ 2B"
+\10U6
+iÌ\18èÅòÂ\ 29>þþÿÿûï³&f\0\0ðò\8f¶ï¯-öÞq¶Ûyz7£}Î[ËÕ÷Jòô¶Û׿\80×ð\ 6òþ\ 5^\95í^\85½;ø\1aÓ½í¥\92Ùt\91·ÏwÓýIy\8cÿ¿ì¯m\a\8cÿ4§%o>S\92_¢)É\e½/\9b\82\99ô;r\9c\90ûÒùÑ\15"´lþ¿=+Áü«J\9c¨²[SÕ\97W\96úx·C\84ß`¨³C×L\16\ fôÿë9\1c\7f«eÿòýïb»m6§#ÚÎ}ûL\13é\94øêÌ©rZ¼¹NM¾\8f\15 \16\90p¿K\97OnPòOG\89éiæ\97Oº.\9eÃèwÜ\17\16\aì>\8d>\8cº~¨¦~\1e³\17ÒÓãJüÜ5.\9f\90,»í\8b09YÜô\19ýÞ\83<üÏ=\9eÎ\13:\1ezæÜþWÐo¤ú\eå>\86û\89¾\93}\7fÐßEÐo\92ú-ºøvÞ~£ùöYÏWÛÄÍx\v0õ×?o³ÅùÞÆO\85øÿ\ 6"f³Òí|<MÜÏÉ\81¿Ñv\1fÞü9I\9f\a!íö\9d\8f\8d\8fý=×q'ðâÓß[x9i®<Â\9e6\16\1a\bEáÛ}çb1:®Gø3`˸ü\94_ÝØJÃA
+¿öÛ\81ðÐC\ f\f\18\eýS_ý_¾¯ßü\ 5wä·=×k\17ë\19ë\rÖOk\1c   Êùêõ\8bµ«õ¶Þ+ß\16ãźñSV+¬]X¾±\85\8dë'«;ÚÍUf®±ujúÖ\15²5²\95¬«YÖ\9bZÞ¶\9e·I[W[a[¶­ÝV³®6¹¸¥\8d_I]«®¯®×Wn«­k­«\93W«¯]^ʽ\9dyµíëç«ÀÏ\18i+éÄÏ\19{ÚýP\99ãNº¿a_º¯µ¯¸¯º¯]ã/ñ¥<f^3\7f\1a{Æÿ\89\93âã\87ñT\94Ð]Ön,ä&Ï\96\7f°$£ühئnqi®³¸¾}¿om}äWHbÿýy·ß\13&a\80úo6ö\18¿ãoÛÛb¿\8aWDçï\85¼Ûï\9d+~ß©(8\9cgÏH7ú6ý¾«§"¬Nueóùmûp\ 3/öØ\92[ñöØ\9e\8d¿nÌ»\ 3CÏúíûr\9fcº4Qgj\8c\8e\aÇ\16óe\11BæD\83Q\e´æÛááV\13¼·\95ù\ 5·Âuø\82Zí®ãØâ\vd\90\97ê¶
+\89Â\14ÄrÙ£ÃoÛ*ªÄ\12§\9f"[\9f\87ÒA%Ú£ZÍí\8d©ÑÜ\1f\ 5\88§\eô\83ê\95\8fÉ\93R\ 5Ô\a\99\87Û,\ 4e$«¬#1Ò!N\-½M\8e\ 3ÇÕ×\96¢\0T\97Ë_F\r\1dt\89¹\0'!\86ú½\1f\85¾¸\91d\ f\85¤¹8ì
+Ú¸K ohC\r´S"\89òË+å\17\ 1J¯ÄT¥/\1a~Ùÿ!5\rãô¥q¿,\81°°\1f7ç7\e\ 3bvD\95¼P\1dß\ 4>E\8bd\92è.~\92\bC\87 \\16»\ 5â\ 4\10À®¹\0 kÚn(¦\9d\ 1U+n)&\83\ 2
+\92¾3aK¼*VqÒ6\80À}>åÁ§gî\9bP\1f\ 6åò\81\ 3#ãß\85¤¿\ 3ïBxJeW\1e\88(\fqFÊåxô\9a\ed\ f\1c¿?»p\81¿L^\e-x\9b<­HÛbà\8døáJ1\80\1dÂ3Yj\ 5 C\84
+¾ï×I\a\18öùÒ#¢ÚtMÑÿëÁÝX\93b *ZÁMe«-5\94ï¿ñ÷¢f2*@À±Â\9a\0\e\0®5HNJ§n\1a:p¦îu\90\10º`;cDæp\89g\8b\85!\84îïã\13sýªøû´Hw\8b\9fHD\ 4\8fÖah[#\9b,ºßR\82\92\1e©\15H\90mé8ÑÜ\95+òcÀ¯`WºT\96Ð\957\WÞT\96\98õ7XZG·J\ 3>\13ÄúÜ\96\ 3uë¸\91aF\ 3+\94~ÅF\9cÔAòäB}è
+o=ß^¯\89ì|ö\96^\97Ý×\r³ìa\ e1[~Õ\91±Ëj\84\95Ö\8fà\9ej\81º\901èã\ ef°ÇyðH@¦R,Rüÿcm\10\7f\ f\1e\9eÔ¹«¾Ë¦m\11G¸z%\8d8\1cJö¶\1d0·\;î^¶\88ý[\8d!p »!¦7\b£\14!
+Uûâ68\ 6õ±\9c;r\ 3¢öÐ6Ç\14D\1fR.!wøu\1dõÐU\wg\1a     Eæ
+N=QÔ\97á\18 \9e\1e\0\10(d8\14ól6|~óÚ3M¼\ 2\86Á\ 2 ÐþF\9dÝ\18\r\94Ik.ßõ¶\88ô\83ì³ÒñõD£\ 5\ 4E\18\89sîdSܹ£\90\91m\85\ 2\96§
+Q(ÞÉ:k\9eT\17\11H`\ 5d-aѲ\ e!_\ eìÆ½¢[\91H\92¢ñƬ@ê\92ØùVÀT0ç   XñÚaàÖÚ4AR\88ÈH\12º¶D¦É!]M«&\94J\9fôÿ2ô U{\90\97
+éÖ\9f\9f¨\92X@\1eÝÞÎ\1d\eÇ?°ÃÁ¼sÞðy\ 4°\1fDɧÈDÜê¿::!ú\8a¼8Ta\0£1ðÉK6ñ#¿\9d\95Ð\15\14|¢Ìô\ 2:P\19\95Âö\8fòØ
+\ 4\v=æÎ©ö\aÿõÏD\13\99\8d±\89yQ£ü\ 2~}4\94Aµo0jî\8e©\1c$^6\8a¢ÀW¸\80¯\9fw\1e\15\13ò\13\8bÒ7¥ÐZÈ\7fi³ª\85\1dö\18\9a\8bgy\0³:\18sµQ/\8bm¸`Pݰ\9b\96\19\18\0\83M^Ý\95\r\90®Í\8cz\19\99=ÜÜ`ÍétéYKh.eI»\riؽ\8bÝaس]ä£\rã{`\8eu*\17Yx\90\19±âaÂ1à\19&KQn\ f½úÈ       µªDoY\bÙÁJU\ 6\9c\82Ò.\ 6\ 5ëU\81Ã?¶äïxgã\9fÙ>\19\13\84M\8döp°\rÎP\90ëä)ÏK·óÐ7{ÓDoqï\90\9e¨EL×¥KÓ\1c`\fÈYC\8cXZHí¿L)1\8aP$]Î\f\16ÿ¬\82±¶\9bþÙHìÇî\81Mª´\95e¡Ð\83R"\8b\92xÓ¶Çz rj\81\ 1\9cͤP\8d§(
+\98Ü¡Øõ fÕ\12-%tK)U\1fà\ 3~c ­
+E9K,\bb\e¿ÄSõ/¡SAW\11ï\ 5\99·-\88íõ\ 1í0á÷\ 1}+éÈEt}\18\12Ô]\9d.\89HE\8alV\97D¬"µ4\82P\1eÿÐ\80ýΠ§\8e_
+\ 1è06ýà\Úäiây\85G Û\ 2¡Vcõ¹\vqÕY4²\eiB\1eð\13\1aAn`\rE\1a\ 3\12´\bW\1c¬§gÔÛ\88¨â\12öu\12B6\10¸0îk\ 4\14ÂöGÿú\93Ü\15Ä û\8d°Ù\f\83\f¿\90\19M%´2ئ\eb\90È6(ß@\\87\ 5`\87j\ 2\90ÅnÃqÚÈøæya²N7\ 6KÑôø\8d\1d©\8c
+\8fyÖ&
+Ml.\80Z¬÷^\10ÛrwWõ½Ð\f.\87]æ¬\84d\ e$<çú\ 6ÚDÓ\8aO-\860ï´¶ \90°\ 2\13ù\80\vÆ\17]çz\99\17ÇKbÄ)KBÌ5\ 1:\9b¬go6C;?ݺÓî ;"\8eì}?¨Wd\8e±5\9b\b\ e\87]ÉA\98H7à\ 5\16é\ 6\83\99\9b\va0G\92\96ß@ÓÃæ¥·z\ 6£Òüí¡ó\88ÄmÂÇ\12\88\ 2Tô)\1f%ZU\90\85±-5d8\9a\9bA8¥?Íh=\ 6\ e¥Þ\ 6\84N\83Hn!¶UBâ7!\13E\v\91\7fþ\97\8b\98c«ñ®ò+ñ»·±W(I ä.¦õx1< ð¿}iº\82
+Ãò\8e1´/\91ËSø|îr(J\ 38"ÕÅW§Ô\13°¡Ü|\98zej\15\8c»\97Þ¡ÿ[Çç\14|¶w\8b\90¶6\15x}BdK\boiò\8fߨGªg¿\12=d\vn\1eõb\15¾B\17§JHè\ 1\ e\80p/ÂõáFÿ\93ã\14÷,\8eÜ\18ëF­î\13\8d    !µ/Ï\17ݸ\987¡0K¡Ù;\83h1ê[    \90*\ 1]z³;\1e¬-\ 5k\e +6 @4ÜH¥\ 1Ô:\18T÷B]\ 3À4!\ eªÜ\ fK'w¸«¼ê.m\85\v\v\87
+\15MÌ(SQôÛºX²\96U\18t\14\15
+\12wH\96\1f\12À¬d
+\ 5"ÞÑÜ\92¿aDC}£oÎ<\1f¿\80§\93Äm\ 1\82x\7f®ã\99\89.:Òï(´\1d[if\9bÊM\ 4¤·ÜYM\18ÒXÅÃaC
+Uw\97\¿Øö\80\aÚa®©×=ãüWwvþ¼\1aùUå*a$\v\rÚ|I8/&#\93=Ù|OѰ\98JUüJ7Î8\1a¥\7f\13ãO˾qö\16\0\7f¢ùÓÖ§\87Gwìp$$ |\aû¨îë°(ÑÈ÷8\ f\9e\8eïÃÀ#¤êp\1f=\1dßÍKIÌ`>j;¹)3nÿ°ÚçæÿyµÏÀ½Üð8\ f¦÷s·¿ô¯w2R\10öWôi\b{\eú4\84=}ÿÿ7Ä_ø0NØ\8bB\7fôà\9d¹\97ê\92Ó E:pð(ã0èàý\9a\87Í£}Ã\13ª`m'þCñ2\87\84\8dM\84Îæ\93a2½\8al'S>\9b\b\9f,\9a\ 1Þ\98\92\87\ 6°\88
+ x\89»øîX\9b¿åQÉãH\84]ÿñ$!\ f\9e\93\8b¾e\1dÝ\vßß¡\82\9bû=\ 5/mÍø­Ù\15\r\vç\9d/\9d\11|ëËæÌ·½\7f\86_6å5Þ}Òî\7f×ï\15\vïën\80\14ßþ\1f:4\fÑoÿ_Ѽϸ\aT_\rQ}\1a¢û5Gÿå%%  \97Ý®Ð8¿{±þ\ 3Y>»»ç\0\aAf`[äþ\·Ë~éGJùGº.×ã\8a\80§¹Hè>i£¹û\7fù\82\ 3úùt\ 1\0\80ÿGGG#Ì\b\ fç³>/ý\10\80þ½{\97\8f\0\1cÙ¼xåzA\ 1ýãÅ\82\10\ fÜ8 -¿&"\89§>j\9a}\ f°\b\10°Ð¢\10\1fÊ\ eDya\ 1ü\80ä´\ 2\ 3\82\96ÁÃ\82\ 3Ã\a\ 4\ 6l   !\90ú\8d\93æT|À\80ÿP\883B\83òõ û@ùv*>\×NW\ eL Õ\8d\b¶@`{(P^\94ñãÍîôÿ\ 2\ 3E\12\84\aöH\84\b
+\84¸Ãrð\ 2
+\10\ 3Ðý\9bä³[(²Ë\88>\86r\96kOÁ`\80\19]Ù¾X±f\ e\b@\7f°ä¥¥\94 ?¸D\17\f9K5\86¾#Ú¾\b@\7f\10]Þå-.U&Z\81\b<4üÀ\80þ]\83ËCe\94@ëfÈ\10\8e\ f\8b\0\ 6 âa\ 4\a÷àb\17\1c\80\ 2E\r\18u\ 4³\16+\92px½4\10\80þ\10k\81Àà{\16\16\15   f°Õ÷gÈ\83\ 2raãÞH\ 2ôW"\vÒù)f«Yz\1d\99\ 1ý¾Î\0@\7fº£(/u¡£ºK5Z¾¡Î8¢§¢pã9Bù,Õ>\f¹×9Ð\ 6­\97   \ 4\aò:ü\ 3à\f\0\80þ0Iò@Ã\ 4 /í }åÉH ?àÐ\a·vvté\ 4\aþ\1d\r\1d\1d=%=\19ð\83\86\90@\7f¸p_Å\83$¿\19\9eqx¯\9foR{I\95­\9epînnx\16\96\882ä \ 3Û´wòÝ-\99йF-äàé{Ýë\9c\15í\vä8\9b_J\fΣ¥\84\811%uÉ\9a\9cù<\9fÔ\84q§H ?¼\85\0òÐYhÈ\ 6üòïÙw»ÝëâHï<\83-\1d\e*:4"Ù\ 2\ 3ø T2\9d'·°/ :u\84å¹ãä\82\ 3þ\r j\9c<¬Ï\94\1a\r\ 4\8cC#³ð\80ÿp\96íÇc¹¤8|\82x¤)¹ iÁÀæàhxuÅ \80ÿN±c\94%\11&3Ò\0o\9cN/\88\rtþ`\80ÿ\82\0\82#F1ß÷\ 4\aü\1e46.\96ÇR\b\ fú\12 Y\19ÊÃø\80¢J\ 1èF\ 1ðà\84\aöDÙ\9cºA\ 1üø\ 40\1c\7f\1f'÷j\83\83B^08if·¶ImÖ^\b@\7f÷x¯·¡ú\10@\7f/3¿Ô\10\1fË¥¹\ e0¾ç.-\9f*\anÿKp\8f\1dz\b\e_r\84ªt¥Êú'óT;2ê°PB\ 3ùPcí¡\82\10\1fìËÄ\14\10\80þ<`>âÑÁ\b\ fçñÎ<`Á\b\ fï\10\b%ë.\9fæ¿÷Úqã\ 5òA\ 1þö\90@~½¤\ eÁ×ó\82\ 3ý°\84\88ÖÉMÓ¡\84\8d¿\7f\98\1e\ eÿàÁø<q       ÿÈ\r \85\97ZYÂÏ\94\8cd¨áòQ\a\8e Þð³:¿\a\8e \11\e\8f\9e\92¢\b<q,>\82\ f\1cOz\9c\ 4½ôl\96\13t$\a\8e/!r²Z\ 6S\9eëÂÖk5\9e\17t\861!-"\12\8e\8e\8f\1c\94ý     \1aé0\83Ç\14ÐÁã\89\ 1ã\92h@ñÆ\0\14ÿý\b=¾Gäü\87ÿ\8a÷xüìÔÛ®@$Â2æ\ 3Ç\14z+*\11\a\8e!2ÚÅøÊ\88 ñÄ\ 4¤,¼LK\98 ñÄ\ 2\14|§@\1e8УȽ\81\8fÝ\0\86\1f£À\8fè ñÆ\ 6"\e\87\85'W\8f\96^\8d\949ÁH\1e\12\98R\a²^bgàñÉ\0xàPxââÛ9CF¾R\86ÓÂëGl[(\f®=\83øïÇ"\ f\1cm¥3\9dWºÿKóÑÎk£Ó\ eY\ 2l\ 4%PÃè\13±\ 5ã&8\86˳\19oá²í    È¤&]¨L±yÐØPxâÈø×        \94¼Fã\82Y'Á U¤\0\97D\b)3×l0½\1e\86ÂÏ£·\18_\r\97Ñ\17þ\e\90f\13-\99\ 1\v\ 4¼\19Zw$^:¤&[B:ð\99}":ð\99wIt\98Ü¥Òcé\93fo8|;\9b\9e\0ô6\94\1e8\84\ 3s\ 6~}á \1c&_P\90\ e\13/ªG^\13\90f\13.ø÷\ 6F\ 4ªoÁã\8b\9bKN\0L¯sÃá¹f@xâ\10f\17D\ f¬H3     \97×$\19\84Ëì\12\ 1ÂeöHà\8f-rèìÏ\80J\eµÁgÑrI\9c\7fZ=¡ö`\12\98\1e<³@\0Ñ\9fÆyü        @è\13 <q\ e\ 4 2ûHu\7fÞ2ûh\83®X\f¼"Í3\a¡¯ö\16HÖW\8c©\ 3Ç\1fwªêª-mm`\83Ç\14\81ã\95"\0ñÄ!\7f,\1e8\84\91¼°xâ»\9c\ f\1cC\83\1eX<q\a^\aC_íE×\80ËÅ/v=\rã/¼\80;\10¼e&6$êWâV\b=a¡']{ðxâÿ¡¯à\81\16á\ 3Ç\10Ü_,\1e8®ÿ <q,q\86\ f\1cFrj\84e\81H\15\83¹?\8c+\9e\194¾:0f\aD\ f!\183\ 1\94\80ñÆR\9eÎñ\97\92\8f\ 1ð\19~Dv¿\ 3¢\ 5÷+ªD:M.Ñ\88©ité\1eCuäßj\18ÞtJ\17òÇú^\11\16UÏÙn\91e\8e~à¤\ e\19\97¿eKe8(\1aZ>\99\b\1aZ>\9cL\b^\8b/RÿKJ"ËÀeGÒÝ\8aYÅá-/&Å7UËý\94b\94oJ\fο\80}j:^U\16^¶S«E\97¯b\96ÆÒ\88¹gî\vät¼»\14º0®Qe\9eF"á\1fí'0þ\17õ©\ 2õôYz¹D\99s(¸7Oöë>ýÁK¤o±E\96æ%&\Ô\b\ 6\8cEÍ¿pR\8e.\1fÀ4\99{(\10\r\17\a8ýÁJ8Ð?\80i2ç`nÝ\17\a=\ 3\80ôtº\17ú_\19\16\18\a\ 3\7f4Oà\1aL¹ôYxÏô¾Ñ'\ 5ÿ
+=¬\a\ 5\1fM\e÷\ 5(\aV(\95-\87û¾b\9b\rWÊþØ\96"Ø[\]>º¸¶&/¬Ú\95\96\83Ç>Ç`ïdêêò\10\8e+\992råñwuæ Êùó\97,\90\ 5r½ö\14\92¿Ô@ìt\10\97d]A;\f\91\ 5\1c8|ùÂ\0\9ay\0S\ e­bÇÏ\96,Wû«\14ð±\ 5¿ùª8ððp?ûj:ððs<0ÃßõSÁ¿Õ\83\8bÂ\97-=Xâ²\8a²\92²\9e³IYV4ñp§}ÚÖÝV¦®W\º¹}wDÔ=áýD|ÓP÷\8d÷Ýyê¼\8c\94Ïàöÿ\97\7fW\8b\15¬ÈE3¸¿&ºµ¿séÏý\9d\163¬ñoßÿÆ\15à\87Ð6
\9at>®ýÿ<\1c\7f~þ8¿x\bßm{éS¡ÂÊd\ 4(\17³OÏB\81º&\e® \895ÏÕ¨ç$×^Á3ð\ 5Òà¦ó0â?£N\87\90.ÀÙ\97Ï÷\98n¼:sýü\96MB\85ÏéÏñ÷¨4çø\14çt±\r9i&*¤ï¤Á°.ããï\90®Hà¡s®¾\96\92Jî=Uñ\fC\88\96!A\9f\83\83Uáb\ 6ràÔ~U;Í\aïɾ ýùk ¿h\1c¼A\r\v鳸Ú!Ð2\14à6l6*\13D\14 \1e³\17¢\16«ýð\88\9b?\Qì=¸HÖ`\0À¶æï\88Ò`Y®åa¶üRM·Þ[jÑv\805\89\9bÍÄM\b\ e|³)ÈsB\87­\92ѧg'اF\13y\11\85@IaÀ\½\9b\87ôê\v¹Ð¶ÇéÈ\97?éH   `\8b\1au*\ 5dØ$ÔÔ{½w:¼¨Qø\985±Ó¢c\80\fÃ\0{\81-ç       tïXðUÔíØ\ 2^âW\ 6\1a\11?Zt8Ç
+n\88Õ¾8¡6>i[MA\8c\ 4\9a\86R"*T)½ws¬\91ÃßæÔò>ïq\186ê«upná+2\ZNziª\96    ¦ªp© SÑ4Ûº[ñúÚzojh\97Z$Õ\90§\8aBÞö\97¾ÿÌÁ\80aOJ\v\828÷^\ 5\12¯§-;È\13\a\9eëF¤\96áX\9d¼Ýæ\rw\11¼Ö\89rÉJ\11\ e«¨`Þ¶Ç\1a¹¦¡\9e\16iÜØ\1ab=À[Çþ\8cÕ\94ÃÔä¶ï\ 3\aQ\9f§~\12P»Í^~\97\86)\12G\9aBãX!F|\93N\9d\91Ht­­×íü°éû\1c\87±\12\18¹\ 1Ã=\19å\80^    \ 2t¥úËuê¿\19\11&áá,!\93\fF\80ëì¥\&\9d¸7\87þÎ\9böã,6\80r`jµ\ 6\e{\12'PdA\95i\926êqÅØ~°\13nûGf\ 1\ 5¤æô,CÚÂ\86§\8e®\97\0''\9b\1c'){{ ú^Í\93\10¢F\ 5«ÝBa׫wû·Qxmtoè\89\1c\8a­Ùû3\1e\13\84\8ej@ùòn\1a\9cÍH\97Ú­øÍuíè\12\9aå¢\9aÉã]ÍÜ[Ç\19®\89\16X«w¦k\80ÖÀn\1eç\91CQÊ\14G&utñÜá®Füü\89ÖùV«|¯\80ÿ.;c¶\9b\12\14\11²ß\1eÉ´CÉ«\17ªÅ\a\8d¡I\9f'rÎçÞhíLO8¥\8bø_"8J]ù\12\1c\9av`Ñ9\9b£vÆÐ\ 2^\8fY\85\10\9aï.¼¥ìcÝŨ ãû0
\17\82\80\10øá¯Û    \85éy     Èa\83âd1§í¼\87\81ÒR Çkí\9eûB\i{Zl\1aß*%o\95~>A\1e´\10\e¶[3éÕ\94\93r"µ\ 4ô\1d6­±Ùz@*\rã²ôB\97ï\94          &\82aa´\13k\84´¯D\94-u\18ö\ 2`bøõ{\12S\15V\1aj8Ê\90¶ÒÂ\Ve\17\97\ 2\e4;2²ïlÒZÕÍôù:®âÉLÆË«â\bÉnw0\9f\89Â\1a\ 2Î'\ 1\ 4Çw;2îVaq)6Ä$=|½!·{sù\1e`8\15¹\f        \86·Ç\ 2\96.\9av¤´¥çE/{à:\ 4¡$G#à;3à\ 1ñ\90\v\b\ 6L\91-Í<½!\96>Ø!ô%­ëÙ\ 2i\88B3\98vÐù1\1a^­P ¥°³>\9a\83óÍ\8e\ 1hl\ f\16#\1cA5~³k®öÀb\1fNÌNêau¼iÓ\v\ fÞuB«½³£ö£Rñ@\16$ðo\83\ 3ÓF\82aqü\ 5¬l\89\0ðä®\1eæ\89kêó\fß¹\13Ã\eÐ/\81%èa9Så©\9cw6Àq iÞýÞXe±ûCn×MKqô\18\806\bSt\18`\99P¦AcÆ\12>\9aÍ\1a|\9bÂ\81.Ãø¬%»W\11\a\0Í^\e\89¹dèoÊLÓ?bLpQ¡\8b¼ÆóNP&ÉòN\9e)4G     ©\14£5$iM\84N\88¦I®\86\fF\9d\17\17\ 2Ñc\83\89(ðÊ\12Õø1ijàdYv*ú8\93oÜ.\ 3Ç)³|S\8abf_Õ?\ 2\9bÞ{^\8aD·v âZ\9aH\18\90\8dýBÃÄ-Ýø\13Ãl{ÔÐ1¨\ 58ÈO5e\11\96\992a\12\84ö¢%ã6\89B\82:2\9c\84zHBµØ«Ò\17\e\1d\ 1&\80t÷I\e\aø{ÿ/Æ\91°\7f\87¿7ÈHÜs\ 3ß,M=\9a\1eÿ$\9eöH{üò\e    ù¨{ôd×Û¡ïþù4ù\14=ûâ{å     \v\9d\98à/.¡\86Ë|£p㢺5Â0úPø}V\94>5pÛ\10ö¨ o¦\9cQ/\ 2¹\14\rìSý¡eò\13\91\94¥;óOõÊP\98Ê\96\13\12æG\94É\13(\82\904\8d3¢Ý\ 4R+Fú\ 4Äqû\18\93øQ\ 1Æ`̧à6\8dÙÈÝ\1aW_n\8d\90)]z5\1fÃ\12YÉò±%\9f÷       \89,ÿ\aûñ%\9b\b¤iQtÝ,Igr\96$\89\96ébK;4´\94ÿ>$³æ"k}±Ñþ ¢\12#~a×@\96+`MA\b\13ÙçpD\1a\b\83Fíü\14\9a\84Ó\9f&4~z%\14Ô'¥Ò\96D\13Ô\81\11ºÙ\1d½G\ 5O_yØaëç¿+Ú\0à}\f$äw\11©ÖÍ\ e÷\1e\85È\16îz8Ð)â­ÃÝ\a=3ÎyPHï\98ã\95¡Hã\rü¸¡\1e\90§L\16\15\9eõIc\98ÝËS¶¦\ 2\1c°-\bT\91\f\8bSG\bÝzº\ 6\v\88\85ø*\18\8fÝRX\8fÝRX\8fÝWþ)md⼨\ e鵡\92Û\ 1\9fÿ5DÓ³T´vÏ\92÷D3TÌGC¦\91æ?ÂvÙ\7fìÄä\7fðAÄÜ\143\97¦\99*\96ãÒP\10Ï;\11å¡Kó\e>~,\96|ü<G\9f\ eÎW\81KG¾(M|ÊFý6\8eX\f\94ð\19)}ü\ 4\1a¥\83æ\ 3\14N(§Ön )~ý\1a^ÿ6Ó\8bù­\17µ_½ ¢ð\ 2\89yiLÿ\98¸\8e=\v%\9dwøéaìv¸¥\f|\97+\18úÒk\98ùóñÌl'×±ßÉà\98í\1cÈ1ýNq,vr]K\e\19)v>\84\93v;\9cVM\8eÅÎQ\8f«':Ç{'\95\93ëØì'òÌuóùv>düó\1fR\7f0Çy?Ø1ÛOæXùÒsìvR}\8b\1f6O4Åã\9cÛ\e'.\18Ù¹ì\98ÿ3\9cã\1f\ 3\1f-Îu\8f§%\9e\92¡c¸\92ìØúRTLwRYö>\8c\97hÆÖKµc¾\92£ci%VÇ×û\1dó\1dt\97\90Ç\a\9aر]\8eóXá4;V7É~÷\v//ßaWæ»ü.;\1d©ÂßÑ¡ÙgJq0úBùø·È>zKç>\96¯\9fø}\8d¾Ö»Õ¾}ïY4N!®ÓË\93ì4\16_\15_toè ä~nìí?\93\r4+ÿôù¡á ÖoH»Óïûi¯\ 2sΨ\88¥«e%\19\90ïò>\14ïª|/ö\89\vü\bü¿­àÎ97ºsõ°Ý\9fs\8d\8a¾ì¶rØ¿Î{\7f²FÿoÃû?\97ÉðWþ\8d·\89ào5Ý¿\aðÊþ\¶·kö}o³äÿ-×¹ø\8eêµ»*¬Æ5Sß    \9eÂëwQi\9bãVý_5·ö ÌnÃY¶Önµ\9b­m®¶ÛZ÷[q­þ\a\15N\9a?,"9®    ÛçÖãsÍþ·\r3_Ó\92éõ>\1dï2ã    ¿\8ag÷צºsÐJl|û®5;EÿýD\9fxX\89ößå=»6kÿônÅà\87óa\8cñÝ#v/õ\vó3ÛsþfûÃv/gÓ¥çòüÜáÚÌ\16,\9e¬¾pþnrt_½ð\ 1)\87BA\8d¶÷Òá¥\0*\84\19ÙÓ\1a½Â­%ìðr®1ðóE}@Ð#\11ÈgxÄ\0ä\ 1Å4\92Í|w(\ e@i¬4A\8d        ÿ\98ö\9b\7f:\19·\9b°\ 3s¥©±Ý\a~5òhëYÍ6î¢<:-ǦÆô\ 4\91\9e%ê¶æÜ      ©;ì\ 3K\13Në¥\va\98+;\1e¸Jû\v(¼î¹KÜýô©\88\1a\85\90õ
+\94\15\91\ 3\13\rq\9bvÎÀ\8a³7óGn\9aÕÆ4P$fò\ 6\8b\99s¿=\84\vèÇ\19·\ 2©Å«\8c\16 ¾þç\7fW\18\18d´ÇfÈ\aÅ+\8cÝ\99V¹Bá×8\80ßë\1fï\f\8b\87\8cÝ\9ch|VñgûêÒõÌÑ\18t´Le\80èÓr \8aºGf\1f¢&楺Ñ4#t«K     ;\9dð\rËD\ 6°ÝSÃP\17\90¼Úó¦%\1d\19 w¹Sû\14ÓF\ìÕÓ*¹Ù®\ e¡Ù¶\ 5Â
+\0Þ8Ap1 ÉFá\97 n\16ë\19\b\ 6\15\97\900ê \1e\rºB¦\80 4»Aá\10J»·G}E\ 5dÄÄ]Qè\95¯ãÁÀ\eIôß¶\99c;\90Ã\85gø®¥Åi<ÁOk\98\ e!uZb9\v\80\9b+à9\14ú÷\95!¢§DÝþ`á1"_¾añjÂÃnã[vf?\15ϾØïpÍzw»\913´:e-NÏ\ 6\1d \1aJY\9cg\97bÌño\80  ¤çX($)i\11³*Q}&d[\ 2"\99NUÂ\1f§s%"ï&¬Í/' dÄí4C¼\9cY0)\8e\8a\ 6\ fýÉ\8d\80Í\92\91²\8ajfU°\91\7fîHpÀ½òð}\89Ô\90£¶I\89ЦY\ewSV\99#L\ f\f\1a\14\7f\1e\ e»\85ä{[­ªðÄ\9dknJþ­ªÏ
+Q\99ù-'Zeie\ 10V\14\8bj°J\88\fÔ</       \rjå-Õ\87\b¾\88\14\9eÔ¶ö\9bùø\80&]\8eySl 
\aA<·MR%©5½2§ÚR,N\16é©\ 5\8aÑ®\1fr\83\ ehX^\19Sl¹\ 6 ¸ê\9aê\1f\ 6\bG\95))\9b°5ÔÀ\99\17ì\8b£$A\8d\b\13\98>\ 4ãa@\90ãF!©þ\98ƲÖ\94Ê\9a\9eãÐ\1f©²+\8eà\1c| ¸âD\rl\88L\9e'*\9e\\81\f´il{±®ç¢^by\96\ 6\1d6¦iÜì[J¼e¼Y\8a"\r»\12¿U=ãø.mjÔ\17ed5\9f/£eo" l­\9aÝ6\n\83\9bC*x$ÙY«tÍ\ 5\8b\ fê Â$ßaiSÁ&Ê[\94³= ²\9e°þ9\90ÙK0"¡\1cC¬|\801\9f\ e\ 12#­\9dö\ 5ÙP\15\9c0aôùg\88ìªÒ\9aö\e/\8b\ 4&\ fUI\90\96§\18\ 1[¶Ä\9eæ··R(*¦:t\r\16\rmRÑ\1e¼V\94«\ e\98n/\19ú\f`WKÇÖl\r¨Ä­Kj5_èÚ\8f\10\10óúsƸ˰ÙLQµ:9Cä\1fhuÉ\95<5#ïd\9a\99\83C¸¦TþÅh{×4;\86eO      u+!÷Ò\81\1erÔ^ÈK÷\81Éø\14</\98\92\1aR#ó\97´°PnÓ\89½=ñ\1c\eD\18\16À\9c\9cä\98
+       Rý\ 3]M\92My¹C¦'\87\83ðÛ\88 ã\8dWP6`~Î1$\fÚ\15°0ù¢d\9b  -é\16ðÇÇâk?Â\8b\8a@â¥Ù\10è\ 6\1f0K£\17µÓ\Óc\ fæ\9d¬·\16\9b\14Ö[\87M"Ô0\ 1!8s!|\85BáÌp¦(\91b)ò\13º\9b\11Ûá£?Y&î\f\7f»\839[¸\ 4§k\96DNnï\83J?\93Îg(qѽ\ ePíâJç\9fÂ2\ 4\93\9e±-\9a@Ø»"\92lÞÙg?fè7×\91¼vgyÂÈká³c÷h&ü{:I¢\ eU¡~èÞ9Ãð§ÿC\9d"]Âñ\ e>jÞT\8d\84@Ps¹º' \84È6w/\14\ 3HºÀ\871ÇNÓ\8dð:Ó¾\r²¯©f¥I·s\14çèªi¯FU|A5³ÅÔ¹`Ô2a}\ f6:§HRVZ\ 4HßÈ\1eâcÝ4î¤\ 6Ìç\r­\v\84{,á\vÛd6íâ^\9f ,æEª~Ô÷\8e¥\ 1ä\ ej6\ fS\8e\8a\e\86ûö\ 4~ôS±J\ 2\89ß\95û\1a\1eÚqÞ~BqÛ\89\0*+\10-½Ö7¢§!\¨\122;Õ\9c;âHÐ\7f§\80\9cæ.@¢Ñ\80\18\12*J©\90¦Z\89¿\ 5NKfØRÔ\ e\10\ 4\93"%\1e¦ªvªDª°e¤û\7f\ 4ì\8a\9ce\81®òÑuj  Ñ·\128/ z6íA\8f×¥Â\1f"\10hs¨èdÁΨèwk_â\8e^i¾ñ¶:(¦|NC\1eÅ\92\ 2ª;J÷\98©È)ä\8c\87\10\83\89¿3Æ\11\ 6\10Ã¥Z\1f¥\14ïzªf\14Ýq\ 54«©_\96\15\ìR\86\87BTÑÆ°k\8dáieBw°¿\eù\1aäôªô²¡;í4A\9a\8d¨´·[å=1kOtK«\90\ 3\09\81cXØáöuéébªx/\8ctjôX\94Rá*x? ±u\9eí/LØr\80dé  ÀÒÑè\16ÑaÙ\15æ\ e\ 1¹?O²\ 4¿()\ 2,겦S^º\97®\f#\89\12      \82ùȯ?G\r\ 4ö aã$Â~\8e{\a¼{\0<]8ýA\83Äæ¥\ 4(µV\ fÛ%\90a¥dN\86@\ 3¼#ë\9d!uÎiY\ 4a[¦\f\8aÌÎæÉ@e\15Ù\89FΨ'\80\8d\83q\r\1d8,ü»TdÏa\ 2t?P¼¼\1f­\8c<»[TBµ\9d\98d{\88àK[c\ 4'±d.@Y\81`%\ 6Ë$¡\b§¡\ f¨ô&\89Ú¥4N\1aòh\9b:o\80I\"ò\123B\12H\7f\bH´øIM\18\1dT$$^!ê«\89=Ì>uãü@ÊòÙ\ 3­\9f\10ÊÊ(a\95Wùá\90qño\84\18f\ eä À\eÐ@\12u\91\83#!A\97øIðàqõæXù\9br#8ë¼\8a·¾é     ÿ\95¬RV4µçÐz\89\84\90ã\18Û;\9a¢\9c\f\88L\9eÞ5³¶wS\92­Ù\ 1-Ñ  :\13qa'"ñï¹É\13\8cbØ¿C|à\99\95\19Ö6ü\ e\91`½Ê\ 6+s¤ÆÝµ\ 4\13]\8e\eÒwã\a\1a
+U7Ö6[}xj\18\9dA\aG\0\973¿Ãwwo\99\9c\ 2âD\96\f$¸aÞ\9d\11\10÷-eÜÀì\\9c\ 2¨ã4ï\10I\8etë1q\bC°zj´\ fP1îø0\13k¡ÐíÕ=ø\84\91umRq\eK~³â­×1\ 4Õ|¬)¥g\ 4ÜLß\98\9bfp"7\£«QT`\1d\8b\93¢ß\89Â\83~³]x䱨þñ1\1e\82¬oÀC<*\9e=\8a½1PaLï¯VBoº9Wl?Lç \ 4\ 4A#\ f\ 2Ú\8a\1aÜIg=*\99@ϳ÷\e\11Ä\81åÅBù±ÄÿFÔí#¼ä:\b[\9eʸÐÄÐÁÙ/\9b^\7fª\94×s\14§úØ\eæe'Z0o\95Ê0\14\9c¨(Ô"<çR@k0bap\17¬®ê\1f6wök\86ð\8b±\8b%é&\89\ 5/\89Ùº·1äÂÑÔÎ\99>y\10èGÕ©&1©\17î\ 3¬$Å\9e§\9cå®EËP\1aAóL\8b\96\b#iydÎ8\98?\9c!nIqH\90\1d\1c\98$\84\89 ¤\b¯\9fã=\9f
+üîÑókÂ9åLu\81\ 2[¨>#Y3RWIyñE\9d]\12±'qC\95p\89\1a\91è\8d\16OJ »U\9aór³FdrL\180*\a\10\b\878$""ý\90eìS,¦\17¨+¹çtÉ\93'uE\82+ì(/]\99^m\94È¥z\1d\ e\83\83à\10\11e,Ë\ 4 ³\a\8cÀÚ\12G¹E¼8&)W¿\ e¿Wyµ\b C¸\bà\ e\f\r\vÜMü\v\17\94`K\ 2@f\ 6Ù
+\r\97\1fÀ\99\e$ÓÇì\9c}(À©\12À à«ÐQ
+\ 5\ 3&¹BH\11uåÀi\17ð\f
+\vô\90\ eD\90\ eE<ò\97¬¸©t\87\97\ 4ý0DñNÒú׿¿³(³Å(úl\88\7f¦È\83®OýVD\1e\89\8f¡K(ãè\10Ê8ÿ×y!ó¾Iù¬\8eU«f\1cÄÝgónÕñ»tÖrÐÝ×xp\v\7fºîk¸¼=!ÿ\9bë[\81uÑã\12;\13\9fé±àï\ 1p\14#øWû\8fhªýþ\16òø\173xeñh~øidÛÿÙ\9e¯ ¢Ã\98\1d\13\9f¿Èõu ûÎ.Kï|\12«0ï"w>½b\86k³É®®\93&¿\87O×Â"QÎk#;\98hÕ¾\7fíç²½½\1cà\91`\94îC*\ 5\80B\95Y¢,k¦º¿Æ\91Ó\ 6!\9b\r\ 3ZäPgP\9c@:îy7\12 \99\87â4D¤å`\ 3Úui\93ñÖAN8ßý¿4$w\9dgûî\80?\97ô¹î\19­ÚåY\f¥\9d\1d\9d§ÖiË\98·wO\90\r\88ÎOÖÌo50 L+çÛ½³äå<ô\82y\94"\9a«\88 \ fAV¤B½2qÌ\93\84°.TF!\98C\8fô\85\18µ4ja\fî   Ô\86jBN|s¿ÎLd&eþ\88o\ 2Þ¦\81XpÁvI¯áØ,¼\ 2\9d¾F\ 4;ì³éÓ$\96ÓüÎ\91¾S+(\9e3I\18§3¥½\a¯¦nÊPÖ\11Ó\91mÙO\ezÕôú\9a\9dÎ\8cöF\8b\ 6ɮϦ\ f\ 3©¢N\838Y;É´Yð@Fxµàµ4Q\8a\11l
+°±í\8b\9f¶D$Ùv\98\e\17\95²8öÅ%lL\83Ô§SÚ&ÕÆê{Dô\81î\b=\99ÒNcòSÉ\96\ 1¡8\ f\86gK\8f\eX\83¢îѸãuï°¢\92ù|IH£§uëmîêm÷6ßGÜÎf\12µm\8dƳ30\92Z$\9cg1%ºÏ\ 6IÝ×uké\#[¼ÛhlkTë­Þë%q®ê(\16ø1P|\12\0ü\fpáD\14p\1cÀ³ÐøZ, O\ 5\80\9e\b\ 4á|2xo/ÿ¾ÌÂV§«{[\%\16\81o\83\86ø¯\8a\8bà¢\81=/ËÞ\8bO÷÷æÜ\8dÉmûýÞÞÒQ:ÕeN@X\ 1p
\14\804@9 \1aG³]­Cú5\9dpíZ°ÁÚbµ \aH\16\e 6ÀPÉÚd(d(d(d\94SªóakGi µ µ µ¨jÄKaCaCi8\94WuõO]RP@t\80J+«
+\85\8f]`¡`¡`¡hT.zë\85\v\85\v\85\v\86\ 5¶Ú kºzµ,\12\80\v\15\9b¬v=\1aì\1d\8d\1eŦì\1e³n4w\9eq³ºÃO\9dâÂ\81Ø%'¬\ 1\\1dYºý\ 3»a÷H\ 5t;a\9b\0â\ 3Á\eÁ\e̤äÙô\0\15\0X\ 1p
\14\804@9§«[U\93×Õeã»_ ùÜmª\87yº}\ 2\ 3äÈ7mÒ\ 3UÁ)9ÃÓijä\ 5À\1e¢r˵\83Õu÷\80\18;\96\18xúÕ\18´w­S¦}F]'\81â\ 6«Ì²w5\9f++ Ë\87qúí\1cµ)Ö;î\94+ Z\0h\ 2Á\ 1 Mt\82Þ\87 Í§Ïè8Ëçt\12Þ³Ä÷¹R\99í=Ðzk6¬P;6]|õìØ|öY~Ñì°Ëg²à\ 5r\ 3tÙ~m\97^vmv,Ô>«\ 1ÑÕuâ²\9c(ؽ²%\87\95\0\úú\8eØ \13+¯¨õ#Õµ«l¥\95\97\8eó\8d\15\1eÕ;\ 2ãÖÓ\92WCzr^wYÙ®Úw^n«Ä
\90\1eb« \14Îö³´Ï«l\ 2úçzÂTXH)\9dÝrÁ\11\ 1\90\ 6\80\e\0p\ 1+j\0U\0¬\ 1ç\80j\0W\0°\ 1d\ 2Ð\ 3 \1e\80\ 5°\a\80\1f\0Õ =¬\ 1®\ 1Ï\0è\0\14\0\15\0X\ 1p
\14\8f©míj§(fR®ÑBGhU+\91`
+\15\89\82X\ 1Ê\85\ 5V¦Xi¨Qù·ÊÕ)JùõV ©õUU X\ 1p\ 2¶´¨\14Qaêgç»nÑÈ\86Oa\97ùã\12\ 6õÜ=·h\0*\0°\ 2à\14@)\14\1d XduP\ 5\80\17\0¢\ 1H\ 2\86±D¥@\16\0\\ 2\88\ 5 
+\f0+l
\ 2¶À­°+d
+\15Ê\a*\0°\ 2à\14@)\0P®¨Z¨Z¨Z¨Z¨Z@ àe@\16\0\\ 2\88\ 5 
+\ 5\84gU\0X\ 1p
\14\80(S'YP\ 5\80\17\0¢\ 1H\ 2\85\92Àj \v\0.\ 1D\ 2\90\ 5\ 6\85l\ 1`\ 5À(\80R\0 Z'\12×Â×Â×Â×ÂÒ\ 5\aK\v
+\80,\0¸\ 5\10
+@\14\1e\17¸\ 2À\v\80Q\0¤\ 1Aë!m\90¶È[d-²\16Ù\vD\85\0X\ 1p
\14\80(\16XÊ÷°/{\ 2÷°/{\ 2÷ Uv\80\ 2 \v\0.\ 1D\0\1f ø¶@\16\0\\ 2\88\ 5"\ 3v+0@)\96Û\ 5,\9b®X\84,Q\14Úaà\ 11«ÐI!@È;\1aÎ\9e³Å[~Ý\82ÓVÍ«$I\ 2Ï<´\ 3u«vÎÕ\17,\90\17l´ß,l\96-j\96\8ao2wõKW\aÞ}òZ»\1c´\ 6Õ\0lTKH®yKÍb\@"^¤Zâ´ñjTå\91¢K\8dQ=R¤\ 3´B\82º,\16Üå\94$\80\9d\17ªØ;\9cö\9b\a>v­Ö\1aJ\15     Ö,\96X\1d\ 5
+\0
+\80,\0¸\ 5\10
+@\1a \ 5¯Cå©¥\87\15\8aYÔ¢YÎÖÓñ[\ 1ZæÕ\9dg\9fàÞ\92¯ "\9aõ\8aÅ:-\96¬\ 4\ 5NͲÖýúäÅV¨Z/×-Ñf\93näÛ \ 5¼]y®¤\ 5¿î\85zÉÒ\b´6gY\8aú\ 4íS\ f%3Ô~\9d\r"\ 2ÚE\9f\v\ 1ÚT\ 1`\ 2»]±OBËdô\97ýW@\80°\ 2à\14@)h3gVÁÙ\18\15¼0Ê@x´J®Î\85fJQVu\82\ 3úÔÀ\vpçJ\85Y\9aà\ 5\81úÏ\ 3¨Ðç\1eµ \r\10\ eh\ 3­\15\ f\1eµ2Ñò®³E²_<\98b\ 2À\v\80Q\0¤\ 1¢\ 1Í\0ÒШP°ú\8fkPР*z«5@\ 1\0¼Ò\ 5\1d\r-=\ 2\ e\8e\9e\85Í«\fV®¤£e¢EÎÄÔ\99b³|óØl·M¹ÙÐ\ 6\ 2Ô4ÖX,Q\98ä&Îm<\9aº\96m\1eæÓ\96-<¢:ɯ$¶\85y¨kÍI\ 6´\9aþ\9d&Ú'`\80©W´õÊc(Íwꩯ®Å\95\19)¬¦½{@\92\ 6»\ 4\a¨Ó¨¡ì\96Fç-6e\ 3LTÓ\164ÅÍ2\89¦R4Í\13\9af\91¦s\8d1\83LdÓ\1a4ÆÍ1ÃL¦iôJ¯nF\r\8bØ&\e©\83«ÓÿW\87÷zfÙ¼\8cáòô¦-KæèúÝ\1e§K\aK©íÞD\9bßg§\87©sjÕK/pb'Í\bfÚ¨Xæ *\0°\ 2à\14@)\0h\80s@4\80\ 5h\14\1e'ÉXàòK \16@ì<Ù,x¥\92\88ûê\ìJIEÿBgl2ÁI)(Ú¹Øñ\92`ÿùT2\1e,ñ(k\12Ì¥G\iCY\9a\9a¬ò\86ʹµQÞ\7f<ªy(ó®v<¤\98j¹U\1d ?\9b\12\ 6ȨêÜÒª­¤?µ\9bee¨e\1auË*\e&æÕkW_*ÉÑ6çcÃI\86\87çÔ2k帠       O\ e×þM9µ%M:\ eMªL*0mmµm\93K\1f&\9c²\8d§s°ÖHAÆ0ùßgÚ\1fÚÑ\19\12*\96 r\r\92B\1fÎI|Ã(Y$mG\92\v\f¶£\1e\8b\ 4\ ew5µ\f\82¾\9bP·|\0\\ 2\8bj\1eëÔ.Î\87ò\9c$\1c}ÁÂZ\11¯vqäÃòôðFÑI¹Cð&1\eI&å ~>\80q«VLv\9fè:c¶ñ?¥«3í¢DÞpùy\91¹ûR\87ËÌ ÿú\vE\13Òb²7Ì[#|Åä¤ÄüÁ(>ò\9d\80\r\91\19\f\0       æ\82y°yC\93 r\92"J\1e4d)\ 4ÿ|jÔ5s~Û\ e¥\8cåÁÌ\1c\9b\ 5\81ýtyÈ󢥿\1dQõ0\9a|à´±°0\93\83ª0\95>¿"î»\1a\8a@ÆXº¾kb\7fd|½\9b¼Í×Z­AÎ{ª©Û@·
+\ 5øPQR&\17ùcc¿\96+ÆOÿï\1fæ\8eñþe k+àÜ\1aíý\7f/&:UwZºãWn\96\8aN`üéÅJ\ f\0lo\81O¯åÉ\8e\85hz\97d¯³õþ°DDÝF×vÂw_UÒÂ>F\13MÓ¡t³\ 1\ 2éo¸k\9e":p9\95¿i\a®«­=\a÷»i\aËÁ\17\ 5ù\1aN\18Rnå\156\7f\rÊ·Ír¬V\82Ü5ô¤á\8fÝË\95o\9eå_æ¹W+A~\1aúRpÍ>åÊ¿ÏrÑù®Z%hQᯥ'\ e
+8®YüÂ\94\98ja\80ÃJ\819ßôn¿VÝ\84mOä\92õÍÚ³5j´ª$%E\1e\15\v\97\ 2\82ÒÖ¹(Ñ%\1a&\83Çíán£Ï9ÜDÕmܼ
+\rnçÚ\92U~q¸p\ 2\89\1c2·¸\85\1a13ìðYήµØ\945Âè¯\12\86þV\ 1ªµ¢Pç\rD®3Ôv³F\9f.é        L\e\0Ù¾{b*ÜûUòéÙOä;Éþ5×\9f`Ðr\86®¸{¹P¦õz\ 5¦gÓ»jÍÓAË\14a:~z8¢Ó§\1d\14ß\9e\8b\15ú¯zýW½~«ú/Õb¿Vï_«w¯Õ¿Eú´Wêýëõ~õú¿è¿W\8aý£Þ¿h÷¯Ú?¢ý£soæÅ\9a\a»V³rØù%Ê=ÝZÍ\96ÿ®Û¡;)A\89\bhJöèJoÐ\95¹·â\15   nÝ\b±Û\8e\86´45øhy\eô5á¡Ñá¡Éߡѹþ/?<i\ 3>\95×ì:x> Þº\fÿ\83ï\ eH±É\15\80\11x´$\ 6^ÃÖ\95ð£Ø¼>oypÊ¡\9b=\17Xj\81ñ\14©\15åLIK\11_Ï-%.EA   TH¯\85\aºÅt°       \85lWV\12Õ\ 5­        k\ 2×\84µÁta.\89Xν¬V7½6zÄUsÁÊ\1cº8gr$cù\82ÐÇó\ 1\9c>aÙwþcRQu«o\95wïæ\96\86¯4îf\r\81Ã\f\8d[\0\96FI çQÓ\9eÄ\9a\8e>îd\bÜÙØFa>[ÐL\84¤\15\85ö²=½\9d\89FÈ#/$\9a\ 6D»ø}\84rýtfu¯\ f=\96~eFì0l(\9f?\98VSù\91­Ùöö\a¬\91\90b³SØÃ\9eÞQP)Ê9HRÃ4½\8e¸!@\b3ö}Aó\ 3¨\vD\84¡\99Õ\84Ù8\97èD½5ø'lú\92\8d§\12) 8@'ù¯\13\9f*\ 3ýÝ\84~L(>ïÕ\83ÇÙê\95·\ 4ß\7fà$~Ên\8c2\94ñ`ÎJ\ fÁ³ê(\ fðËþÍ\9fÍx\9cÌÈ\ e\14Ϥ\19\80\8e^\14H\85\17Õ\8d\17\99\89\17£\84q\12ùez¿*\ f§\rÕ\9dÚº\91*\fÝû¥\19\98Q&\7fÔ\1c7\bÁÕ\1cîPrw6\a\ e\1e\ e¨ç\12\87s\8c ¬!lßñþâv⹷໯m\9c\961ů;*B9H\93so9êîãY\9bsoO,p®âC2}¬\91ÂÞl\ 3\86jõÏ\17Òô¼¹=¬í¸Õ\8e~öô\1e\1asù°pé^ÁxV®xÿ5g\rë\9bl÷í[«¯\rãá\7fI\94\9fß5Uís\9f]ê­\166G8\9e\10\ÿ&\9e½fÎvëk«0ßé\1cä\bó\81\81\r\82ð\82Ê\93n\1aM¸©:"\93lRmÃI¶)6Ê\93V;N\844\9a\ 6\ 45a´è\vN¬þc5¬Ó9éÙ¬ÌìÜ\81Ïp9íÇ=¶\10\8e{\92\8bv;G=ªÎÔ\9cÒ%N\97%C#Æ\99f´\fF"B\8aDdÉ%\8d\94x\91\e\9b&Q\8a\93\99\8cå\bäc:@ù\8a\15ÆvA\1d3\19ÂåÍÆvI\1d\9d\8cì¡ó\13×\8cì²;À\84ì!¨\9fÇj­\9dc\9fZÉF¹*#Ò  \1dkªÓ¬åH\9dJb\9bÛÃñ,\9a:héÌw­Õÿ\ 5þ·´i\8a§üÛ\89¦W­û\1e©¦Uôý\8f×ôý\7f_ê»\7f¥ö/õºf\9dG\82ªÿZÿÙôÿ_ÿ\15B¼Þ~w&B\7f\eÑJ\9bñJÿ\9e\9eùG²Û/v\8f\ e£:{\92I©§\99\83·\85 \93\1e\16åé\7fôÞÞÞÃ:tÃBÈ\8eÜÀÿÆÝF\1fÚ÷\83ϰWÕ6^R~\93/¼þf\0eø%\ 1`2CÜ·\1e\7fbýä×\88\93\Û«\96Ë\ fãÛi\10ío?õS»'s"\85TaKÐx>àpï\e\ 5à<\17¯\96\84;\97ÑÌÀkøo\16°,Ö¦l!È\1c8\85S\ 6\10K7ÍW,LC\9d½L¦
+ÑMó1\86\9d¬RU~
+\14úÒK`\9bf\82\8fÏ\9a\ 6\1ayñÓ}î(,e¶6ÚQ?2b \176ýÚÉ¡Fó çºÔ$\96ël7lÓô®Ö³XÐx÷']´õkÐO\ 2\99_«êÿ\87Ù6       _Ñ\90;1[¹\98%~<¸Éù\12\140\1f0Õ×,\7f\1aÿ×Ìð´ÿͯë±ñù¿ÅýñÙ\80tt\ 3­×4úÙ\83æ\1c&^\ f±{íÞ3Më«öï"I\rb\19ÈkÁW+s`YX\ 2QZ\ 4.+» \12Çõ¸\9c\11\ 26¶E\80>_2\14\82\86±ë\83Óc+\a#àÜ\8e¯
+i 8\ 1á>\eÛ¹°§\17ê¸o\1eë,Ù5ͪ¬ê½!\1ahøîv*å\832\r§ä\1aK¶(U\90i\ eØV¼"\84Õ¡5hM^\13W\84Ú0\9bF\13iBm(MÑ\84Ý\10i²ê¹dt\9ee\9aKöµ[\96vuiÐÏÔåÊþu=ìÓEø#Gz\1fõ\14^ï$ÊKÅù\19¯úãü\11Ú\aQOì\97ý\92Ô>ý
+fÿ÷Ï´\7f\98\1e%F\8eº\81ñÈ«\8fû\82½ÚU,ÛÞt¼^¸'iQ4{Þç\12­¢Uø¸\95|c½MĨ\9a-ï:g\15ÖJ½Î%[D«ñq*øÆ\84¼J\8d\9aW^o\15ÖJ½Î%[D«ñq*øÉV÷\12£g\12¬ì\7fê\96{J\84\94ü_\97µó\1c)§õnµmãÁÈ\18_ûb\7f#iª\15ìà0\f\1dþàN§í\85\12½\9c\86¨[×
+m릡V\1a\87ú\1a¢\9a\85\18ê\15b¨;%ª)¨Q\86 ´W\ fúÚÒMCJ*\82ÑÜ>FKZI¨iEP\8aáüm4\9a\83QÔ#¸M\94ÓI¨5\rAx®\1fém.\eq¸kÇpÿÇ)´¸`0wÃ&)¨\16ÛM¥Än7\11xî/\8b-´¸\80"£F\e\8aW\88£iq[\8dÅ£\1dÇï\1d´¸ )¨Åqùª6\97\19¸Üj1Üw³\eK\8c\ 2*4¢¸ùê8\97\1dÈÜzQÜzHq.;\918ô¢¸ýe\1cK\8eän=(î9²\9cK\8eäN>\8cW\1fî(â\w#qôc¸ÿ¢S\89\89ÇÑ\8aãýõ\1cK\8eän>\8cw\1fÇ-ĸîDãÐ\8a£ü*SK\8fN7\1e\84u\1fó̦\97\1c\ 6\1a\94°­\8b0\97ü@¾|%ÿÈ\8b¯gÚ\1aS¢x¡u½p°\12dªÂ(ÓÜåÝvÛæ\82´íÄô0ðε\9f\9b;\8d&^ðølTô¾°Ú\8a½\9dF\r
+?\aº\8fÂùÑ©\89\e&\9d>\14h\91\89#XÒdbHÜUÞWvÑåwm\1eWÍhò¾kG\97Ý´y\7f\94|Îí\1f\99ÁGÝjQB4fÎ\95\14#2&Â_\83¾_\85ÀZ\86F|éqÀ3"v#2\f\8e44^VýG\95¿Qåvª<®ÕG\97¿QåÃQ\95\13\87\89?1)îm¹\9a:^ià8\1f´\83\r?\989&\r\ 6vàðVÔÂ9(¥"NéðÎÉ"M=¹Pà_O.<\vÓÊÉ\860\1c¡\1e( á§N\93+{{}\158\91)\8d\15A\12\89\11JìHêÆ\8f#µfîþ®\19ÚY0·\89ýx\a>vbmó#\8f     #æU\ er!³L\8eú"\8a\vO¹·þ\
+\vv7\9f\98aâÑ[¡!\17\87\8b\ 2Ìíkl\1c\80È\ 3@     í0[¶¬\84lGFTQ\9c\v)\80T\0«\r\19i\bÚOjì\16\9b®r\ 1,Û©,`×\17\14Ît\S<\98z?ÒöEò\8d¡Ì»»'
+%OϺÝg\8d×\850\f÷$\8d\97\8d\ f\ 2¾b2¼U\rÉö\8d÷\ 1ÊV·èkã±0\1aöì\9c
+^ö¯B\878Ázs¦9\9cÞMwø9e]\9f@~-÷Sîl&ÁÛ\0½\ 6wÁ¸\b\1d¿Ïr÷Ù½»\95×¼\8d«Ø/\v.æÝPä3Ûr\13ÔþÆä³Ää²\97%\9eó\92ÏqÉgèrY\89Ék\85ÉÈàrZârZK\92×yÉk¸äµô9-Dä·ÂäÉàr[âr[K\92ßyÉo¸ä·ô9-Ää¹Âääð9.q9.%És¼ä¹Ür\ú\1c\97"rið¹9\\ eM>'&\9a\\9a}ç&\9fqɧô94ârjp¹9|\ eMN'&¢\\9a\9dç&§qÉ©ô95"rjð¹'àrjñ95RäÕï95{\8eM_¡É«soO9î\83Öñ92\ e\19\ÿ>b?áQK<\8b<\85$TRù¯\99E*(<ðà1øf¬\ fà7À\91ýó}ó
+8ý¶¸\ f\1fµ\9c\0Çì±à3e\e)Iµ\14\9b\957)'\9cÇIç\9au\ fP}\1d\8aÉSj ú9½ÉSL\87\96lµ$vs\13æÕ\8fð»sR_Çøÿ(å\8dIz{åí\11sb/ßß,y¹\18\8bþD\97í\1aæß\9aÝ\861kY Ð¾\1eB\aô%Ðs©èTS°nÁ\94Ϩ¦á·\f¤Ê\8a|føÉ?Ô\9a ¯7\93mö±uSeE0&!\11AóûID®|ÔL\8d\17\88b­Oð!åÕ\97¸<³e\13/÷r\80\95¹·NPóÀãµTÈ\86Õï\91?ÄPÅ]ìæEç|IO1\a\97\ e\19»ÿ\83ï\ e\8bT¯Ç\97\ 2\11\9d»\91\84Û¹°'Ë\9b,<\83\87Ìþ2o­I0Ñ¡å\8fAP¨A\9e\110¦ f\9bò~T¡\9c\94(\90H´>TY\ 4\8a\84(\92ß\Ûq\ eÖ\8a\ 6Êcä\86\98\8fÛ¨ ý\8c20)ô\8dô\92? ÞBGå\eÊHÇ÷q\\ e\89¨¤zFÒHüÃy\89\1c\ 6\81#Âl)\1fï\e÷\92?\84ß
+Gñ\eâHÿ\ 1¿\ 2\ 3àM¼\87øMøR?\92OÉ%I\1e$\94Ï?§MÝ\}p\190´é\94\ 3ð¤ª\8ax\86Ð\14m<§ëXÅ\90Å"\9b|tN¨¦\99aéI5\14\9al\98ç\1f%\1c~\15E,\13ó;®\98à\84ÈQbÅ9üjzõbÝ\7féÿ¼ñaó=\19°Î\ 1øø[i-\86\9fû\\8f¨
+\e\1cȸy|h´3§NÜ,·D~´\a,©'îÒ\°É\84*¸ ëÄ\1aæÓ\8dS[ È޹ث \vÏ6\9d\ 1ò\9f; å:\95t+yú\95ô=\12ÿí\ 6Zj¹ë7Q馫\95M\8b/\1cÒ^®ëòY²ój\19\87\7fæÜ~\9a\83°\f¥}}G\12\88ª@\87l9uG\99Ö\1e!¶½µ\18n³r+´þ²\8c°û²Y)\ 4YÚeç+\96{ë²­Ó×ek§e¶®Í -5\9a`\9a`\91\96&JÎ%ºÁn±#yû \ 4KVî\80\116ÅFب´       i$ë*\0\92W\0£6?\15d«Ï\ 2\a\8e\9cÛ\ f\84.\8b}ÔÛöE¿ehi6)Ý\1e+É1]\vº\ 4\ 5¹6\9a\90-\80\ f&¦Ã£µ\0°ó\9dJ\155bì\96\9a\1e.\a\9e<`|»DØÉ×­g\9a<_Ó¾ëî¨û,Û-CÞ«©tì7jÉQjÚrÌ\9a¥K\92L£ãÆ\1cË1Úd\9eÂ\ 2Ó]{ZéÚ¶øci\8f\1et´~×Q\8dG:
+Wq·\944±Ý\8bPw\83\80\16\0T\ 2\81\15   K\0\ 6Ê`°\ 2yúy7m¹RD\15dûãIJ\1f3{
+CÞ\vô½/KëGáÊà\8fùìÃáÌ'Ã\85ÉFGdu¦ÑµÙ\1dqÂKfÑieQ×\11È\9fRJMìãî>£hxt]¤\1d\8f\95\ 2¼4\15QØ-I=
+\14MsÅ\8bµ \92\19»\9e84´õô(h\9b¶ÅAÇeöí¢DL\94\ 6.\7f8©úPÓò\94ÁQ\96\1d¼\93$¢D\19¼\15_\94îÄÿ\b«<è®\95;t¹óÉc\ 6\8a\f`F¨ô»\83lªÜM±*Z\97öª]\7fúª§ýª¹¿\9eÐãÝô)Ð7f9\94Ût\16\94ªöÒöOf£4Ѽ\ 4ù\b§»¨Ë8ì\1e¨w¬1lvo\98t\83e\9bJ\1eËm2aèª*\8cÀ%\94¸£/\96\8c\83´°üîIæjú¿cÕý\8fcÕ4Ë=[\15M2¿Tv\84çÖÊÕu\86ÏsÅ\14Âk\18ÉÙ\17J\86H\91\94\ 3\v0){\ 1¯Üñ%\19LNÖzq24L½\80h\9b~\17\9b\ 5àÓ`¾\1amܸkÓó\8aÊxâíÂ\16\91îÖn\13Å\1e{\19c\0\9el,\f\88\98\9c\9clN+û57ðÒð@¨o¸îÿûÑ0\82§êe'\b8\rz;Ó¯°.[û7Ñ\96\b\82\P04°q£d:âLõ@ Ð\85\1c\93A/àÜ\86T\94'\14\aÅ\ 1øX¼7§ø£\14c¿w°YÏ\12ËvX0Ø\f\fÂ\ 1\1dªlÁH\8b\11\9d~\fÍ\9bÅFG2þ\eóÜ(Fóȹäì^À<¼[ÈÉézÝ)\9a\ 6éû}Tf^ë^\95ørïÜòoƶO¦Iòo'ËÜßM#£ëtú"±å\9b§³Õ+kó«õº~\9fK\ fJ~¦z{~>Ò\9b\1d\90gn\ 6§¨\8cì)íõÇ\ fp\b%z\17Ê\fÍÍ\9bÝAþÞ¿\0î#ÇÛ·\8e3\887ÔÇ\b1Jʹi\95»\ 3hL\ 3fëØ/{Ñ÷\r\14\85\r\9eñ \92obðÈ\ 5ÿg­}\1d##§Òèàèã]\92Q\13ÍÆvQW\8be\vØ\ 6ÌñâÜEÛ×ø*ÈÄÚl\87{k¨`(¦¹§ùóÇp\89\18àß.87\80yr\ 5\ab~£\85Q=\fv\9e\83\rÊ=èû\9bÉvÝÖßA\90h<mÍ\91º¼£m\18¿ï\\16?°¾\9bÑÂ\11GPÛ¼\92Æw^ð[ò¨\89á\eÒ^)\803\18¦Èÿ
+ÿ½zöîfÊYÛ× ïöo)\89ñÁÔ\1a+E\9fìva\87ÍNÁQ W÷~÷JW¾§ÝéJé÷éù¨\8f\8eìôàÏýß½é\85^\98U+Û\99ÒÝ\93\83Óév¢SðħñD®egë²R\93\13Ó\a\ 4Ì\1c\10Ø/\ e\byö?Pª\95±èù©ä\8a,\1e\7f\91²3¸R\ 4Æ\8a'ÎÌÈ2?[?!\1f¬&òbÅáýí\ 46\ fl\1c\83\9a$%\85\11\86H\8d\11ÛÛ\aã \14x\8eM$é"\83o\82\82XW\1c!\11\9d\94($~ý\a,¨-c°Î(-pXy\86À8\14/ú÷å|(¿ìßB:=,\1d(Ö ª\1d-úl¬X\1dIÒÅ\9eGïÐf\vÆÝÛðroÁÇÙ\1c*\88Ó7[jù\94-6åoo_Á~:ViWoïÖ³±eY'ML3à·3ÆN_z3§
+\b¸qÐxÂþÖV3§¥ðÖW~\83ÇM\ 5hÎäCA[~\83ß&\82¼gra ¯¿AïÓA£\19Þ\ 44\1a\1f\ 4×8Ñ\15ü\88Ú,÷ZNxF}Æ}R\82cÍÖ5ø'n\ e%\ 4<GÖ°í{F¿»È\82|),`\99bÓö­Ú®Àù¦b\86Ñ\95yOcÝ\10á\9b\fYÁ|\aw3\0ë\9bå\1aôDÌ-\96|xü7=-FqóKddCȳߣ\91QKÃè\94eJ\8a\ fá7\9a\8a\13Í\19\98\9ed,(ι·çXµ«\17L§+÷ûã'À\ 2\9d\9f\91.×Öå\98\80i\ 5hgq¡´\aA¨Ó{v\ 3\19#˽\8f®\1fÊ6/\12?!\12nmj¼Í¹\bþ\11è¶\ 2\8d«mÇ\8f?\95u×µÔ\8bj0\8a        Ck´d\ 2â´\96\86ÒSµiIþëIxm)\1d«J_÷ZTa´²;V\96oÿ­!æ\ 2Ãieö­)\9fý´¬N\1efÌr{Â\1d\8aåZ\1e\ 6¨ájìT\92\r1´Îi5õ\eUCjIa\97Hr\a\9eD\91<BòmÖmY®¼J]t.³æ\e\96<ÞÅ\1d°@¹·=Þ{ÊÅá\1a\9eí»\1ażàf\87h\ 6`õ¯SÙÿÌÅÙÿÌ4ö³!ìÿêdÇÙÿc&Os³ÔÇæìõ3Ýìõ5Ýìõ6mß/\fï*N.ÎôÜ]\9dìü}\9déØû;Üh¡v,=&\17\v\96ß\85ËE\v\96\86\17B'\96\86\17\ e[ÂRP¹n(\·é\85Ìþh\×v\17\85ÌpÂìüPºv8]ÆÇ\v¦Å\v±eY0¹~\b\¾ü.^(\¼0º\11<¼0¹q\v\97\10¹~(\¿é\85Í~h\ßv\17\85ÌðÂ騡w\e\1c.\9b\8e\17\v±hd\98]G\82\17\85Ôb\85Ôa\85Ð\89ê0Âê"\17Q\10º\8f\14.£úas\7f\9a\17\85Ì÷as\0»\8d\8a\17\v³ñÂé×6ü±èòÇ¥×\83ÁÞQ°Ü=å\1c\9cN&I®mÙþ7\98}\88ñ\1c;³o0Ô~.\15L fC¶ë?5ç\1a\rgä¼\0nKÝ\v-I4·\9b~\84\83\ f\9aäåa\12Ð\89y\ 6fMf­Ð\0T\ 1`\ 5À(\80R\92\15\86\1dÖ\90S\97ÑtyUÐÇö³®Ô~Á\8eë:´ÇWKçþîø\85\86vµª        %\12[°ÄE\1c\92«       RÉ,EM§]\8a\98\a\9bb\1cÑXÀ<×ÑV\82\16ö\0\95(>¶È¢\ f4\92     û\89-\1eù\91µ\82WÚÈ\16æîh²\1f\101'eàÞ\ 3\8eÐV\eATÚ
+\82E:\9eÈ\86
+\19")p-PÉá\fôýO&ëÏØÈû{\10º{\11:\e\11\119[\10¸ðSÏÜ÷z²\8d"\16\9fòi\81Clf\80à0\92»">£4\ 4\14ªJT\14ºJ\\15I%Rû\9dTtuèó¨\10ýMzK\81þξ\8aGµ¯£D\ fâ×ÒÒ\ 3ÿf¿9z\1d\12v\80 åûû!\95\1d\ 1±a\8f\9b7ä¯D\80\14\94<å ì\8blYé«é䦮>l:\84\1aKrôRP8\10NûÀ¤rúá­P\ 24^`E@"   T\12¬\ eq÷=ßS\14\16Îó\80°\18Jx`äÌPqX`äÌprf893\1c\1c\98\989ê&\ e*C\10p\fAÀ1\a\0Ä\1c\ 3\10qX`æ\9fË\a\ e\988®89 \95Õäºl)K\ eiMÆû¢{£òCJM\93»áÂdÔº£Ï5\14 Ç\86\f<\909\fPD\98b\8a$v¢\92¡ö\83\8c!ú±E$HLS\89\1c1M(á\8a\89)[\9bu&»uº\11fwÏ\19\9d¦Y\9d¬Í\ 1×\89O\8f\97\aõD/ò\ 4Ū£t\12J\ eÙ\15\ 6\9eT9D\90h8Ñe<z$¸\v\e¤»u\898\10\80\16]âôMa1>\89ÇZõþ\8c\12÷\11\91ÑÀ\89B\94\fÉ#%¦Á\1e](HÔ\98²Ë\80|ØkPF\99\93\7fùI\9cJ\15ú\99졺Á2$%frg¡T\90à?v\7f_×Ù\16b2Óáòh\ 4\98C\99sn\98\81\10ðÙ©>¶8\10®(\11ñ\7fTB\ fò¡\94U$¦\ 4'æÇÎ\19÷\8e\ 4'E\84À\85w|ζÈ\98å®_·        \12Ã\ 5y/]è^µw{äÀ{ÐÀuwO\f;V(\ 6¬\15$Ç£\12`"°ÀE`òáÇ9H9ðãòB`2©\80Å¥\9c\91\14\aV8\ e®ü\aT@rÀ\83\17K`Öã\80ùðë\÷ýµ®{\16µÏcÖ¹ìz×=\8fZç¾]k\86ÎÿùÖ¸Q#Ö¸\17ók\÷þõ®,¤Â3\98ZÉÕïélî\vçz\16\14¡w²\96y\13Áø\11\90\9du\ 3\89=ÏÔÿÖº\8eN\8b]D¹¿\93L
+\eöV--Ö\86]JÇ¥¼¬z[ÊÇ¥¼¯þk¨\9bâNÐ\17Ï® ÍD%õ÷Ý£iÇþûíÝÔµ}º\96¤\9am¦ÛmèÚ`ÛM\8d=I6\98\9b\8f~[º·tz\93Öõ6Ø0\83@\9a\1a\91¶¶'ºø\ 6ÀLL\82KE8\83\1d´\94½Úç.\92Û%À²Îb\1fN\910\82L`pÀ#$'q\19@\rB\ 2\ 1:pØ\11¯ßïÿïßn¤\96¦ÜèGÙpË'\86f\ë\99e¹Þ\eÝs:ä\9dn^¥ð^Îð[\99råð\¶xÏ%ò_\rþ    _à\85þ\rÚxzÉ]\92uÖFÊ\16\97\r\16\9dBÝõ\18tê(Ã\16\9dV硹juTa&\88%©Ö':(ØÝÀáFa\1ayåÍ%ø$Fq\8eE<eÅ\8dtÃQ jE<rò ®\8cðW/&
+åäÁ\¼\98+\97þ:xÈ|ã\12
+ð©ã(+lOØ4ñ¢U\ 4í"\9e\88\12jxÉ¡~-¼ªxÇ2
+Rðéãe\8bO\1d\1cªxÙs)ãe&\184\12a\81\91éîÓÍÁ\93OuZ(å\83ø)î\83"\9eè8t÷\1eE%G)2÷iî<\a"\9eã´þ*{\96£©\81èênµ=裩\84\8a:\98aÓâ\8a:\98{ÔùAE>PytùAü\14ùA\91O\94\1c:|\8f ©0\19*\9f(+Så\aù©òdx\a£\95O\93)\10\ eËïÓäËÞ§Ê    Säù ñéE!Fx\18\13ÕjtÐ]:M\93Ê\8d]\14â\8aK¢È2vaºO*(¨\89\8afc &*.3&çd¼Ì¨ÎÉ\81\99R\1d\93\132¥;)c2ÐÆ¨a¼ì¶F\9fD]\92\9dÆ·Dj)vJ~¦·E£¢\8d\9bí\ 3e\18Fm¼Ü\a\ 1õHá)6\ 6°\88\84§Û\0(@\1a<:,ó2\8b{\90ÌÒß\1c\94\8e\85\80ù\85\98\\98ÞW&77&7.LnnLn\\98Ürcvçda{z3²7&7¤;#rczS²7&7årctrcsòcy\1c\98ÞG&7?&7?&7.Ln<@n\ f&7×ö\1d\8aI\8eå\1a߯\91¹6o¦u¨\82\9c-ÆÈÑ*<!ôó¬¹\9c]\ eÖӧΣc{]áµ?HÔ\19:~<AÐÿ\93«§íä:·\1fô:ÑÈu£\1fô:ÒHu¤\1fô:ÒÈu¥\1føÙ­à\1a&;þú        ÕéàBëZ\ f£ \ 6iZ\87D\92\1fióA\eJ[B\8b\8bà\10ΰ]\81ÊÚ\9b\9a\ 6$97;\92e¾·\8cå\89÷åã~£\9db  üË\17\7f£åïãñõ\90åFw!ö\9e\ 6±õRH&À\ 4é'e\98`s\ 2\94\9c°¥',)H_\8cbÎt\88s^B\8aHÕRý´\91E,ì»\1c\ f¾)¥å\8aiyb\9a^`¦\94vMd9Ò¡Í\81\ fingX\8f\ f\85¯ì\1cË:uE \9eÉ\89\8b2\8d1¼!ÅÊ{æw;\83\9aÏ5é\9d9\82\95Ë\97\87\0Ýá\9bÕ¬ß-Ó:\83\ 58ÓûÍÆÉ¡Y\e\bx¯Q⿵ý\86¡\98ï¦Oe\ e$Sx\\95r¢é"Vé\e\80\80\96Kë=ò\8b\f\9bÊ\197ÿ\18Ê{/ÓT9~\95ÌîE¢\95Ê@QE'\94Ê©\9a\9aE*LߣRº{*m\8a©8ØþÓµÞì\92\1fqºº\16Èx¼\15_UÖ'²4Ûª5.R¹\ e:þÁÐ\82Z<>@£7\11/\93È\14x°MG+\8cèÿ\1c\13+.a-&\18\96\90ÂV\12\98\90MI\89\ 4Ô\92\86T\9f\90eK\862¥0Q\8c\91\95. Ê\97\10eK(eKø¢f®XPR\9cA/³QZÍ«T¶\1di'
+\10\82¢\93arLMDÄ\864r\18ÒHcK!\8e\86C\1d\14\864Æb;Ã#ÊYÁ\1dòÁã_Î/¹S,Mß·\94Þ\8eSzIMée7ÐÊo¢\94Þ\9aC{\952\93ʲ«.
+\9aÞUÉà¢lêG\ 4¡µ\1e#jLFÔ¸\8d´8\8d´X\8d\96à0¥\8aú\ f\87ðÇÚÇ×ÙÕ9{\ 1\1d>ɰÌaéõb°j\94\1e.­óÇK>;b\1a\16{\8d¦ñö±Òi.y«ªUxS\17ëʪ\9a´ÒÉ$â¥X/ݲJ|xd´Í¢¢iä\17pB\81\87Z9u¬~>.¬ûú\88\ eY%Dm¦\vb\10Õ$<tk4\9bk÷Or\ 4Þ\vç\95n\19\ 4àý6Ôk\1dê\9bA6\87\13zÁ¥\93ÂÒ<¸ÃgUZ\87M\92q\ 1Ö©×D\13\81?\ 5³\97zÊÃ8¨$tØHÔh£\1a)\ 6\8aQ£B4h\86\8afÎ`\egs\0Û9´Q\8d\14\83E(Ñ¡\1a4CA¶uFΨÙÕ\e:£gTlê\8d\9d\9a\bÍl#\f\1a)\ 6\8aQ£B4h\86\8afÆç\b\r«\1f:×648ºl>2\ 3g.\9céÛA×AÖ¶7"\e\92ªõ\15\8dªÇ,¤ã+\ 5ËãB{º\97,\1ekª\¯xî\rK$¦à+ªªlè\ 2\92qÖ*6£\ 5ܶ¬rõÛe_Á|ØÔ|@m\ 2¥õcg5\ fõ\81µS\89ç0*j\9b;\1a ?ÕÖ8Ì\99\8dCg&\89æÐ\1cÔ\88=ϼÖ:ÐY¤Ò\ 3×n\9bT:tåÅ\9b'U\15\95\13­ñ©).¥3;³T_4¦\99\9dêlåæ\99ñÓgM4Îíª-Å\&rð\99ÓBgwñ\99¥×\1an.k'yæ3²ë\94ó\99¸LkòÙÕIÖ1\86]f\8c êܹM\95^±øü\ 1\\8e\88Ó\ 6UnuU\8aKOt:\81â"ÙO=ʼ\1ebº6Gx \fÂήX@,$\83k\90\0CÒp\99¸]\8aôñ\81=¨Ãp\1eGÁ¬ûa\815êí-G2\ f"&;ì\81Ë­\r\ 3\fP?C,p;\18\97\16Ô@!äRÔd[Ý\90ÐÌxã\85\9f\aÈ\1c@bÉ\ 3äÒÁÞê\1f*¤òX¢¬ñÅ2Ð\87\91¢ÁÛk5\95\ 3\17ms.}º^\10\9d\10}ëÆ\8c\1e\ 5<ê¤7fy" (êª
+\93\87|êÇÂ=\11z<\8eÊBw\83à\11È\80Ää\8có\87\19)\b\9fcM\8f$dAµ\17âðöXûS8CÈþ\13àò@\12\1fѵ\bù\9eÓç`Ô9¨dj\8f\ f\1d\1c®j\9fDs\13\91ß\8eñ\908\91\7f\87\8f-çD´?\94\89\aÐI4CÂë\ e×Ö\1f    üDW/wv\895K\9a\aêP\84ù6\11²{\83ÕÀ\96à7Q¨ÒðßòùH\7f\87\85ÙrÞh\ eó0~\bÀ\12©åì\95,Q\13kl¦\95lnsqÖ\13VI)\80\96\v1+͸Ð\879ãO°JS\96\16t\80³3í)¤\98ò\80q²H\9a¨µû(\ 1̤£Q%]ôÚ\1c'\10áÍæ©¾[Îtï3\90\8f4.\×ð¤,ù\10ï;\e\9dÜ\1f\87#Mï\16âhI\89No\9a`É£}/  éÍá\fg6\1eç\91!!åŹ[&\17      Îo\ 57F\93¸¢ìS\80³\8c´!.@â6ãi/\1aÒff¬ú\12B\9fK\94§²\ 2­ñò3\85\Úü¸¨êä\99Ïe \1a¯4£Mv¯µ\17!ïxMWÏT1xj\90\97F\97\eýÊp¶B±ÈJ/\ fѳ½¦ðTò\96òÁ(Óÿ'¶/¢)Ä\97\1câËüqø\rXo¥þ8ý\96,\vJ\96fà¬cÇ® \98\12*¹¹\ 1ÔÒ\9e\9e\12½\ 1Ój'5\17\aCU\98\1d\r¨î\8c\a$*~HW\a\92\ 3\86t~m+£Mv»\81Uá|c\9b\94ÍÇ*\8e9\8cá óï\91\9eL
+®·\ 3B\8dv\e\87e®´Ó_Ø'\1agqZ>/B\92®Ýö<\9b\8e\86«"n:$¦Ö6¥%¥=ã£3ÜV¦\91ö\11ÑX\96\91µ2Ãz\9f\94$d°\ 5§^5).4õ£AO\840\84£\ 1\\8eú¡\84lÐøKýWéX\1anjW$\90®g­\1a\vk\f!(¸¶¼q¥_²J\15\80¯\ 2\12dä¼Ñz\90üM\8d\10XóHV\ 1£ÏµÞ\ fÄe+\9eÔytË\94ºÀ\9d!·ï\9cíÓü\1e\85l=Êô+\7fÿþÿwöu$²\15\1a\8dEfkÝôZë\7fŨ\93íÜ]÷:9\9e\95ÇÓ©ÝØ²ïò:\ f\97pëP\97\1f;¨ü\1eö\9f²Êÿ\82!#G\7f\17Ó\1crÐj\82»\15\0p|Äåe²¹«ÿòl\89ýÛ\86çB\92Q\91f à1ü\96S®¯þ¶S¯þÞø\ fWB\8b\86çCïYN°G"bÖ\826c˵¡\98\f&®-µ\19×å\82Ú\8fø}ð\18Ft\1eÁùÏÖ\8f`ÿÞG+\98µW\91¥d}¿+\11\94³X½Æ\10iMÇ'xÇ\rýGÑy\ fí¶\13ã\ fI"ýsû#'±}\88yÞðz¦[×
+\ fTázã&=6=}³Ù§½âÓ\89½p0Ý]3ؼ67oq\14<>ó\ 4½Ñn\10\82\8d\9ai&\\9c±\99^H·ZoV,[\82²P׫Ç\86ijëú\95Ñ%¯W\91]\85E\9a\8a\9exRê×wÞ\9b\8e³Þ©\1c­ÈÃ÷\fó\1f_\90Ðåd\8a.#Âø}n{\938\9apëí#µ\87W¥û¾à·!á\1e\12ö}\7fH\84 yo\98!#ÏñF\16\98ô»¯3rI1H\17\9b£õ\96z\ f\ 6\1a\9d>\a\89«\9d"ëZ\93\87× ð$ï\9cHr\8fÝË\8c3ù"{¦Öõ*Ðù\10ôcÙìã/\15\17¦\8eZõÃ\ 1áãï\87\17\99Éq\9c­6\14\18/$á=÷¯\85¡¡½TûgøR\90\1dÒ\9cõMº2Á\95|o\83R{r;v\96"\147\b\9eD,úýzQ\19:¶Ì_|´¤ðlá{FwVµ¬¯Ô¼U\92ûö\ 6Ò8\1a/TÁíÆ»:õ\7f\1eÿ¢³§J%SÔ!\18±ÁbõK\ 4¯\1c¯K
++ H';ø¼'\rwÿY\ 4ú5;g¹ ¬J\e\aVÝC\0\85/kW+Õ]é ñ\ 6\1eÓý \9f&C\97\98Ìp\81ºP\Æ\9e9\1f\13\¹JJF!ßÉFh¹Ð¦.=Ê\981W\17¼ä&ÏyÈt\1aâE\9dÙÎÖè`Ú5Ç\¸äµù!\ 6Áë"ΰ®\19µÃθ\91gi\86\9aé¾R,ï\81dÇid¢Îø&ºû^\84\e\1axq÷ÇB\96\88)\99µ­ô×Çu\84\8a¢0N\81Ì\ e¢\ 3\9fØw'\12   \95u)\ 6¿\99Ô\e\98\e¹(RÞÏbìl\88\973{U\8f¼ÔCyιË\8b\1f±Æ­\83\8a½VÍ\16?     \18\8a\9d\b\1f( 3^õ\8a¯\fû\97\86\ f>\e·s\8e\82\85\93»2Ú\85\92\90\7föZé*\fÒ:3s\90\90w\81íþ®Ke=ðÝÚ¡\13Ô¯Eñc\8f¬\9c\92\84\131Ùï¥ßí:\92\83\84ÿ3\9d\90\82\98\88_H\8fÁ("\85[¸ ôJø ß§\r¢£\a«\19«q¸Ê_±ú\93K(Bv/\93\1f9\8d=ô«î(6\12P\9c\18W½2û1\8d\90\9bds§ÿÏåÔÊPÄ<\7f\95S)A\fãßþd\9d\1eË\!D:ÞED¨xý²µ3S\1cnIÓG\97¬©9g_\84\19«\ 2Ï-¸\ 6a¹à\82g6³=Å:\82VB´\19h§9ù\e\8dJk#<H\89Â\r\bå½\89Õo°=u\93\9fë,ÎëÖK\8dÉÝ6\b\9fükÀÍ2º\80¼6ÀÖòp7L\85¯ÎºØ\1d°\9c+\10[\9c\18\89\98³´d\9c\7fÞäà`HI\e\15§        Ä\84\91®È³\ e«\1f\97z¶î:\91\88£±Åë\96\b7öÒ.\ 5â\aÞ\91¿Z\99Þ8I\95\9dú\87\96\90F\9a½\9eã£9ù6Ã\97kÀÙB\97\ 6ÿ 
+\14½»\9e¤Ûë\r\9aô"¦\8dc\85\fé\15ÁA}¯\8d\88\83mª$BHR\15     Ð¯ñ\ 2l!]\88å\16«\11\99Ô\8a\13Î=Ú_±¯´{´\±ø¹`à\ fþ\11OÎ]$HPF\ 4µÊGHT
+|\ e¡\b¢Û¸st\11lfâO\ 6\ 2Ùþ\8c²\90\9c\9eJ;d\19î¯\80Gm¯\1d\\rLØ<\9b\92¾\_M\b;K}\17Ë\87¥$$z\7flæÙ\97Ò¤\8c<BX»\1cîãí±Ë{D8¾\11&Õ­\b¢z"°(ï\8f~ÕA;¸Gý¹¤\16f!\15{\84»^î³¥)½:(\9bÝ,{z\ 5q\9c\85Àù
+'\13­W\a\ eö\1fSù}nBB*hÚá\9e3H³\10K\1a&_,\9a\89D\81Î\83\83\v®Â\19_\ 1\921OÑHÆvëä\91\98LùzcÒ´1!ëÒp\84\1d\89f\82\ 3\8bÁ7Xþ¨NUçÊ6\86ÿÞ6\8a7&ÑH\10\ fGK\936\8d\ e¸Ú4[¥\8aÿRº\82\12\14*`W®Å
+\15%+ì¯!&FD\85\91½Æi\83ؼx\81\15|\ 5í\9cóQú)\92Ä\8aékMÅbèy`\86\ 3\ 1\7f`\f\ f\89ôpl®     á³^Fo\ 1²kÝÁèÎr¥\96\9c\19ô\1d\9e8*\91C¤:¼èØäé\8aâWÀ$Ì$\85\f« ÷ÔñTBo\ 2êkö\10rÅüb5a[©²4Õ[àÐ"ÞwÇÓ\f#°sý\81\87dzdA\v\8f#Ïö®\ 5\ 3\7fÖ6\87Þ\81´t>Á´iûÓh\7f^m\15\3h«\14\1fj7õVÛfÆÿ²7þ~Jl¢Û+qRĹýôZz¨¿\14XXè_   $­\9e9¯¶x¥Òe\94\81Ï\19]\ f\ 3\a\8cx'\8b×\9a#56¡í\8bÌé¦9°\8e¼\96¼xÝuãǵ×\8f\1fV^¼Ç\vf\ 1\8aw\8f\17é\15·ÝÐ\vSçjó¥$\9a«\82¥°ÖÈÁôaqßíþ\12\ f^ú?tÐïú"² \96û§ì\8d»öBõ\ÛîªÉ\9d©3ª&}\91L{u\0\90\99\9bÙ[\1fÝ\ 6«\16ñ\8d\9a\|\ 5løø\rwá'Z×jµuÅµí©¢\91\7f±ñaÍ+É ­g»Ò\91i^\1a\83\1fÓ\ 6\16í\1e\0¿ØCÝ\ 4zÀÎ|7WÃÉ\11[\83Í»áZöÚ?\ 53ïs\ 3{³ã¸\18'ýÒÐ\15öÌÝS\8fKp×vÐ\99ë*õ\90aê·TãÔ*áÝS\8eÇIË-8\8f\8f~t§R×w÷\8aá¢}"02ÿ"ûÑG¿ÊÝ,ýå\93ó3¢ãBû\84\87î\9dgï©\85\84±È TäÂÉö¦Ê\10\ 5\93Áìût°\92m\bdzÒá¤s\1d\81\16(Ù$s(mÛ\9dª×Õ\11\18KLs=çF\10
+ÀÒ ¡ãpKÂâI\9eñºÁy=÷¬»a~H\8e\1c\bÝc\ 6Ês8t\17\19 ®/ÿºtÿßÅvÁèF¡G×kñî\8f\82\89«x¦úG>t,@rÑà\916ê,à&iÐ_\9bn-ý\80\8d«\88¼0¤\80Ûé·q}«¿1\82¼\1f¶Èæz"îâÀÒ\10ôZº·ý×K¸æÚ]ç>¿\ 6;\ 5møîÚïûê\ 6ªÛþã~\16\93r\1fAJ¾öxÀÆ
+E5\1c\8f\f\b\8d\9dçÅ~Õç\ e\8fÆ}ìúïÈô#Q~¶Í#{\87j;µ­dþ\9fÖVÖÂa[WÊ\e\95:+\vj\97ýÚ«iÂ-qo\8cΨ\Ü\ f<æzA~oÿ\9eá®ü\146\97Ù\ 5,\9eø"$u¯v13;ê×»¶ÔòkÚ÷-(+èx!"Áîâ÷Æsè\97:¡½V)¥\8fÜ÷ý¿³íÜ4¢\18¥ÓØøÐåëÈÏy¦\vñ\\8aÈ'9\94Ò\96ä\f¯8\87Iºä\12or3¨NrÅ\ 2¶x\12Ñ%ÍX\86»\1d\ f\1eîÂï´£I.ò=)\17OQ\82¡#Lùðrøà×\ 2\13íý\90RË>\e£\r"÷ÆiÞq¾p4yÛ°u\87èÐ×¹à¾À\aÒ\«\0wJUTüV½\85\1e\ 6\15\82\9e\9bå\9a\0\1fð\eø\19Ê\ eØê\13a£Ò¬¡6\1c+\9f\16\10\12§u\rsh>\ 2.@9à©ö(4hJ\8b®\12\18ººù\88cSt¢h6m\8dóÔ{Iö#½®÷1Á+\13w\14\N³C6åÓ\88ÿÙÒ\1e\92\88
+Å¿w\17Í\16s3Ôd¯\aÓ\9bW\83~À#sîÏÍkû1\89'\0þ{Unüæ\11|\17\v£»oæÇÝ\11ù\90\ 2\8fÛ\81\99\18\8d\1c\14H©7¥\ 4\17\1aIÖáô§\82\86\9at\88ROtx:DeÐ"\f\8aix!L-þ\98\90\ 6¼EëIàºËú±Áß½\96
\91è²\99Ë÷ãùAË4\84\ 6\e\98y\97äǽ+6¹3\eF\8fu5ë=¸Ê|í\19ЯF6+?CL\82À\18#ós\92\9bþ\11"\ 6»¾­9  ¿î9ÕÙ!7þMw}1s?Þ\96\88¢¶~æ9®ïQ\82S\80Ñüö2K\98\8cæ©Áê+ô\84¼Ü\1a\1a°QÇû\7fÒ,-¿ïßÜLëÍȵY\822\81Ú½\e\ 6Q2\15\14Û\96L¢NÔSCe1\11\9dC]û¦J\ 3\1fb\99Uw\94\13±õOÞí´wàÐ\v|
+aû1xâͧÓ\16)ZB9DA¾_âÉ=z8\12\ f\vøæÅê`\vú~õ¯aÃ+\ 6%\99\1cߥ$ÿ6ç"ðUÌ}]/\14gÇÞU®hçâñ× ü\14\81\9e¥ Î\11h¯úÂ\0\1cìox.-tµ¡F@Ö´ºòQ[\8b\1d=1м\97xLW\ 5\10²\9dÆò¾Û<0Q¼&\86f\98\8d\ 4w¿¯um\8dÏ\9dË8w#l\8cyÃ2¿Ï\1f\80\8e\83\99\87ô\10\8b\80!:·ñ\ 5Z\96ÿX_²\fÑ\18\7fCÚY\bDHRn§á7¡ï\b`6\18·\1d\8cï\13R×R\98,&¼©`6¹\9cÚ^&\13^
+gE÷ó\17\89´&LU¶\91fSù\88ó[)¸>\8b|©MÐ\8bÖܦÞhdò\83\¹MÍ÷\aÍ^t\8c\14ü±\95ª"o¼éMôÒ\91Èh\90iDø\93\84}\98à­7úçM\89\v\89®÷wpòf¡÷s\92h­ÄJã<ù5î\9a÷<K\8a\99ú÷Kø\97ù
+÷qk2SuêÅû¤ï^í}fJhͽ«Äço\15\\14%°g÷÷\ f\93"¼dà\83\1aØò      \1a\8däó:\r\8e¬\13ËYµ\82pVðNÈÏ~1 ±Õ®mÕ­\82qx@Ù\a{¥¶_&?ë\8bEyT\94«\ 3î®sÀVÖc\r\11í\92\94\ 1îú\9aJpÖR<ÝÊ\81@\86>©ÃPZ\fR¹ªD\82î&¿×»Â;T<$\87/\91È\98Ñ\9cæ\r\8b\r\9d\r!\9d\92´×]br°ÙåHýÁÒ"\vÕ³½/sÝ|=Ф~¤¿u\89¦»üopGì©3eJ/Ùñ`f\9fÅñª\17êX\15Ô¿\8bå:·\1f¥\0º\910)d¤9Û\ 4áÏ\81=«RÒ\9dC³ç?ô%°¦\e-K õ*Æ\1a¶¿¶Ç*m\8dòþõý?\11­¤B¡g {YRò&1[>±\8bH\8d(îÝîý@\91^«j\89c=\92\89j\18U\tì\15
+%»Q]×XJ!»\17Ô\16XÕ2EzÀ\1eº\8d?\8b\7fÝ[±ò   E\8a\9f\12[H¿n¢¶¤ FÙ\8böFc.f,\9bý\9al§Ð6÷#Yù"Þ~ñßEáÇÇ¡"Û».O|þ/\93Ðe>A¶0T\8a>#Ú\1f\ eÖ©+=.äÎ\vöóvü\1a\ 6­\1c\ 5\f¸ÚÕ'jí%o\172Vö¡0\9eõUo*\18ÎÛ±\82\\ 1Ñû¼\0Ῠâ\9b=\9f\1c\ 5Ï\1d\16¸\1dÒn\ 6\vòpãï=Äp\e\8eO~n\ 4qÐg\99\ e\ 5û\11|J\1f\ 6Õ\9d\9e\97\91F8     ®\ f\ 1iÓµ^­\ f¸âÞö/\89@Ô94p­«ú\0\9a\0r½ó\8dwì{â)\8eÙ¥÷iªÀ\19h¤³ª\1cs«h\f$â,\94\94\87\8bÉPB\1f\fÑiÀó0\10 q×¹\8e#ÛN\e(ÿN\97\ 5\13\84w©Ò¬\9dÓq\9d\9ftrs³î\8eNv}Ѭ\9a8ïò)&lö\ 6Nù¿óX\19?\9aßñX\19?Ã|äÿú\86ïÿîr\7fä\8d/ÿáCwû½\a¼\86ïüip\98¿\bz\ fö¡»ÿò\13dÚ:\f{\ 3ô5D¸}uº\83\12:þbí±çðÐ\r|\84&d|©\b\ 6Áq·ëÖÄ\8d\ e\9e\88÷Y̰NY§Ø,9l>\ 2\1eë5b\9fZ¡ú3ÇFÚÔ\84ìKCF   Ðæ°KØåì\8b¤À\84&¥CQ\b\ 6Ôp\12\81~Æ>\7f\ 4©     
\83l    D(²­5[\82@ ûâ´ÓÞÀ»q'2ª.\18ÁI@~ã\83\ 5#n1¿p°Kÿì+Ýd\a\ f\13®3«!©KÄçäa\87\12ë\1cÛb\8fÔué9FPFS¯à\91̼á(È>J\89Åm:\8b¡£\884p\92./ÝhÇeBëÛùgÁ\7f \85¤üÆW"t5\ 2ÞÔ\1d\r\ 4\86\9f\v­_\9cMº,xm]t2D8!¨\10!5o_¶\bj\ 4â\ 45\ 2|\80ú:\1d\9f\ fè\ 3ösÊ\ 3BKù¶\e\1fÝ3M\90q°à\eGÄôÍ£âùFѳÝ\9bFÓç\9bF×é\eE\8fn­ã\96F§5ÌúM{\19\93ÕoÔóåÑk\18ºó=\88\84þî«[$ª\8eV.¯ëCà*<áZÛ·÷\ eh\16À\8e\89%\\ 2®\ 6¨\8bë\9eÍ\ 5$?\95\91\80½MhîË\16^p_bi0OÐ8IN;T\ f>2·]Áa]`)\9a*ä!7Ìø+·q§B'\15Ö\fÄù\92\fQõéúªþ\ 2,¸µ
+·[ô\ 1\\11f£õYé\bB3\8bw$Ô¥zr±Ü\98=/\88HÀ´»ON~ñ\85\ 2w\8e/\99^8ô\92¼q~\9bÛ×\1e\99Éü-1Õ¯P\16_ýÃ
+\aÀ»Jê!\8c\ 4\91¶¨Ü\99òð±¼oÛ)\17Ï\92,\ 1ïP\86I@\9c\9a»Ç\19ÔÌÅÕ«\8cñõm\ f«j7\97\f\93½¨a\r\15<s\12?\96\10\ e_ÆH¬:ÐÁz#\9eAið\1aÑ\8e÷:\82Ç`¾ª¸ÓÇ\18&7CÊ@V<tZv¨\ 5\839\1e\13\f¼D~\9a\ 2Å\97?ÎÉId @?UÍ\ e\1d©\9d>\ 2\92\ 3\90\94K"Þ\MY\aÇ˹[\ 3¥\8b¯YÕêù\9b¡Í(\87Ä\90_h6«\17\95\14²ýdP\8asRÁ$\8b¬÷â\95Ø\ 2\94¯\18¤x\1c©þ¾ØZ¨ow\17²y\86µ\b\13\86;u¯³#\80\918\1aø^\15¶¤ÔÈ:¶U\9fåAå¾F\87\ 5\a\96þ~oñ òß\8fü¨<·#ð[ÂA忳ÿÄ\1e[ã³\9f\89\a\96ÿs7ÿt\1e[Üfÿ¡\a\96êæÿÊ\83Ëy6Âoué\8f\81j;¬\1eÑ[\1d./\0vJ\1cÛ°\
+Z^p±\97\14!>\95ÕfT%B\13ÐB\10$;:\ 1ðF\fï\ e±´|\99𪴺\85ôü]¾N¿Gô]F$óð[ödÂÕ¤ù\16\89'{eç\ fÜ\8c\f\ZÒOâ§\18\ fï\9cÆ<\f\ fÆs\18ë\1cÆ\14Ð9\8c)\97ñ|\ 6»÷Í
+ÊÔªg   \83hêÁ«Íüaû=X0~E"\1aEQ\11lH\10Æô\8d°jY\91­_ÕEã;05Gqf\10\7fÛ\84`£;\93\9cÆZ\88,e\1f\r\18%\92,\84\95#\ 3ü\ e\ eiÌhb!1\æ\v-\ 2o\17¦®V¤\1fØ\18"\aâú¤Zp×ÃðG\8båW»\18\v/\18¬p_C\99ª¸Úà;¸èÛ\j|ò9Á@\86²Zõtm(!è\8dªz\82&EõÅI\1cìüæ\19ÎÏ\82©b9Hùà¸_S\97xǽª\8bÃWêhË«%cì\82Ïg\ 6\e\15Aiígºý\14<ú´><:\vOIHxàcL\8cÅ\9eÀë\9fZp\99_ñM¥uÿ\11ùbÿ[+ûÓ6a\7fÁ6\94ïÿd#\98×\1f×k\15§òzìe§´ü\1dqfÎ#Ã=Íßþ­S>ùT\e\'\rÝÄ\19\800Xçt\15\8b=@±Îéxè9Ý/´úÓÓ\:´Fçb)óðZ\12Ô\ 2\ 2-9\15Í\7fL»åDR<Dv\95T\ 5l\91 µÝþÑ0×CÛÚr+aäm9\1dAÊ4¤\1eá\19¸¸ \1aûÜXç\82.1ª\163\86pßèõ¼w­]ëx÷øãBþÛ>\10\95\10i~­\ 6\98\1c\euÀåÐ<ÛüiC÷\9ar\9eáé\16}}OàYz\ 4T-Ã\99N[y(9à3àM\eغÞ9Ëú)\ eÃ\ 2\0\8c-^m\aì\16ùìO °i¹µî´a:(\ 5\8cN\ 4\1c¨p    6À+p¡¤A\8c\89æ_\ 2*\80\8bâÚz]K]Þh\8e\99Ð\9d&h°9Á/\88¾×Ú{L\1aîÎsÉ/Îsõ­\89(øh\1enØrÇ\9c\84\90\92æ\8f\ e\92ç\84³\ 6\ 1¬#1k¿\80¼#\ 5\ 5\83¦½Üø6æõÄ\7fæ¤\92±Ä|@s\99|\1e\86\ÿ\ 3h\8aÀFã¤_\80t\81£\102d%\10Íô^õ\111¨ãßÏ\b\98¡# \14?ì_ß\11§Y\1d$\90\1emüà~«Á\89K·Ôü\e/H$\ 4\8d©Â@çúbÞGî\12>+W\93¨9\9cì\84\87­ï¶G <\ f\84\94å{ñ\17è¢ï.°É\11|Î=¡õ\84àAôà;4ÝZö6%\8aþ\b-\85\84\1d\0åd\83 \1c. >)Ð\ e}ú:ü\8fo\r\1a±ù§ÑnÎ\81\8d\1fÜLõÌ\92H\8aLÑï\ 2JA\b8dõ\ 4=~¡=.\94ô\11®\17}hOKå=}Ññ,vDôÂSÐO.\9dñ\1c\ 1\8c§ \88Ò\9bâ@\99\9f\ 2ZSÖÌ=\12\e°ø\12ò\9e\86*éß\f\82
+{Àe)ë\1c\1e¼Âz\98\94ô\12 ¹}xOJJz\18^       }ó\89é\9c§«\80ôEEKÀi)ë§\ fQ     êfSÐA*\9dñ\16&\8f\ 2jSкswÚbzk)ëÌ\18ÎÃ@OSr\9e\81\16³ßL\13Ô䧨¡ëÕK\bÀ¶Vz\ 4v~HSr{ÀÆJz¥\ fE(\8c\15\1dèX\10\ 3\9d;~\r\97â;×¢Ád\83Lp1Ø/S\ 3\ 6 Â\8b(þ#Þ\ 6>S¸%5»ýSÞ\ 4ü§}\9b\ 2I\93`Àá\90ÙØmB\14;ªM\86I¼ßäů &Á\ 2¼wáBÓl"\ 4,¬p\8e\900\8eð\94¶jè\8cÏõÏ\84±\ 3¦è\fá\9c\15ÙÏð(\99ÿý$ù·÷2ÜÒ|Û¢û\7fûC8ú\14K¿\85y\95HÎd8å\84\0n2\87=K`^OK\17à\10:K×í^q\9fS\9a\fÁÆñ:F\a\»¸z\9f[\96\9e\e\1e]ï³ö\88°'=pVi\v\e\10\ 3g\16ÿ=\1f\vR\89\b\a\r\98}OûÍm;<\14\9d¦\1d\14ö±|Hù_Ub¸ë.\8d÷\1dc\»ª_|\12\18\8cù\7f®\88GW÷ïYCr\10\fnòIÓn>ö|ðd°ý\ 4xs\86¤ÏTF\8eÕÂ\ 5éBÌ\153£MSú{è\8dp\8e\9bÈÀð\80vBF+\ 1Òl©»ãÄa^èvÕÎ\93®ç{¾DL±¸¿m\91,\11Òò\bØZ¨x£¥\1c¿Ø"×¾ÉÁ(\81\1c±\904\ f     S\88 ^H\ 6\ e\18!\´Oú#\17\9b/\beõvÙ\ 2-?k\82J«Ë2GdHÚ\8d²þä\83c\8ctE\8dÁy\8bx\86ýÓÕÓÌí¿ðO\99k\13é\9b\92ÏÊcH\85m6¬ëÐHcøÉöl\9fö±6{6ÛhvV\e^¤äû_®@¼÷V\1f[[eµ3Ój\88\95õû\e\966- í+d\90vRÏúÛ+\b{\16Õ5¶\e8\96[\1c\17w[\1d\9eÇ  ágtyÛöÏ6}\!æ`àYXñê,vm\9dÙYXÙ$\95eMd\ 5\99\95\97\vsU\86Ý^\9eÆÊ\1eƹ%vv[\1aÚî¬Ü\83ZMêìaÈf|\0ËÚl[XÄ\87!\ 6Dv-¶\95°¡X#\1a>\83}VÇm
+Çk¶>\ 3F«Ôu\e\1d¶ØÜmµ° \b\aÔØÄÚ­      õ[\1aë
+ÖÝFÊ·kÔ¡ý±9H¶pv;8\86\18ÔÄD\11\9b\e+(\90\8dÀº\88\90ÛX×\81\9d\8cK#
+¤B9Aø\80]\8fP8íÖÇoaÔldó\88à}Pæ\95³í\ fÝ\88ú\8aÚ墮\r\87Y±KWµÛD\85
+ÆD\a¾Úíëvv\15Í VÙVí\r\13+]_wö&Þ0a~\fB\80\84\93\9e\97Jy9Ô\82'sÔØL@dX\ 5\8f.\94å&Í)ÄöI\1eÙäÊE\ 4\9e«\ 5BùdzÕxıô\93¸\87­V\140§dÂ\12ý\81¶3ãR\1e"\86\0ÝÚ%\95\9d\95\80nùf\89e«²     e«'ÒËRcÒË{\18¶c?ÝE\ 2\19`$û#à$Þ\12IWÿÄ\9e\8dÿó"\14ür\9fÐG)âÞ\ fµ }dô»\8b·\97Zð»Í\98\ eÔÀy OF~ö\ 3GÎË¥;]óR\9d¤ù\89N§r\90OJ\ fâ'äüÃD³\ 6\83<Á Ï1I\8eK1ìs   ðo\r\1dQüÂxG,\ 5\1fÇr\89ëO\94¦\12´~E\14³µÒà\87\84çR\8dÙ¦\96l|\9b®µrASß\e\r ó\17m\12»éX%\8fID\9bU±JpX£ß\85,\93\92ãsÿÅôoÖ\17çZ\ 2\mÎ\90\\1e\9fH\v\82\17y\ 1\7f\7fé\17¬/nBöè\17æÿæ/ù+\væk\815Æ¥2\97i±M\1cÎ\12\99\ 6ëÐ7`\96CòÁÿ4^Ð\11Ä:Ü¿\9dG/æ\bN¿ó   äg³ZÂù£òø\90ÿý9\7fµø!?µÿÔ'åY\89OåM5\1e7>\99\83æ£ç\9e\iÂË$ã-ïÊ~@½C\8bÔý\ 2ù\83\8bæ?ò/Æ2\ 6P\91\8c0\9f]\92LÃYd­q\9fÕõ£ûd\vè§\ 5'ôF¤g\89»M,ò)?Ì¢\93öȤÿ \8aOçQIüßå\92<\81|Ø$\9a\9a"\13\89O\818\94ø\13\8f4p\ 4ì\12\9e!;\1fô        ùBö§\17µJ\8a åó\8bóH\17¶@¿!ý\ 2ò¡~\89\14\91>üÊ'ß\94Dûæÿ×8y\ 2ù\93\8bÏBþ}\ 2üÚ\ 5üçüEùY\91"ü©\85âaâµö\19µÆ\83öif³\vÍ\16ê\1a\r\83Jüò/®È\1eEð±ÿÆ/h"ÿ*a9ÅìÊoâQç\17Ì ^È\85ÿç\13ò\85ìÄ'­F~PÂ|\9ed\vÀ\9dyJ_]\92\82|Q~0\85øÃ\vÄûçL/®È.4ãf\rÈëËÖénq¬?5\0ò\ 5ê
+\87ñ\86\13\9c^\ 4ë\8bñ\17ÜãWÿ¾\86ù\ 2ò¤üò\ f\1e\ 5ÿÓF¾÷à£?{ðQ\9f½ø(ÏÞü\14gï~
+3÷¿\ 5\19ë\vùâåþy\1c¿ÎÊ\84üÇôòÿ*\93þ>pô\9fÍóǤÿ5\98='î2ßËIþ÷\9b\16\9fÙæOIÿ\11·ç¤ÿ{'ò\ fa'ò\ fÊ\17'®)\7f¿Ê/üÂ|Q\7f覿{ͦ¿âOâS_\19¯ü9\7f\9bM|f¿ÕM\7fèü»Ö\17è'\ 4Ãô\ 6\8b\1f£Ó   ¿Í%\81§\j\15Ú%ö~\12ô²&\86~ï@y\87öÔ\1f\9eaú    ³\8bæÈ^)¯q©\\95\ 1\85þ\15\98þº\91\82\vüìÏó\8bÚ\9c\85ùó\vþ~´R~Ñ/í<\14\9f¨\97ÈÑ073²K¯ç¿\9c^U\ fè\f'õµi¥Ï\98O\ 2¤ÿ¶ÿu¡^iË\8fÔ¿ß\9f}     R\7fBjOÀ¼rºê£Ò\7fÏS\9e\93ý>oó\8bø\8be1¼È\9bÿ:a{-Re^¾Eòâ\84}6\88ô/ÿ³ðÇñV\17Î\88¿çDÞL/Ì\98C~ôý,ÿ\ fL¼¥OÝhX%\960ÿy\9e<_ë²_ê\17Î\bOçE
+&\17Ð\18O\95r¹,¹\84ùÝ\19ÿ\ 4ú|û\ fä\13ò\85óg\17Í£\97æ\92\9fx\7fÄ¿5¤<§é´\1eø¿\1d2!?\1ch¿\9bç\934ÙÙ¥Ý\9a¡ñ^º\99uåG?Ã5Qâ\8e\7fïå\7f<'´*kÚ\18?k\8cLÂÙ\84¾Dêã55   ó\9eý5þ2Ð\9eÓ±^\91~\bâõ\10·ß{F\93³ýöfgÒd\92G0        \81\10!0@¬\ 1+\80\rd0G2L\89ô\86HG¨ÚÕ\8a¬à\82¨\86`\80
+\81\90Y\93\ f\9aÛWÉo¼Ú6­jÖÚÑ(@\1a2\ 2\10\18 \0T\0U\82ªäbª©B \84û÷ïßÿÿ}\99\90È!\0[Fß_z\97\9eÝÝÛÎoGyÏsw\97Üå÷7\9cÞ\95éoKy}{\9eìïOyÍþ\ 4ï9½MèoSy¾Þæô}Ïu.ô·­îãN\1d¶²Ûm²6\8b)õ5\7fà\97\8f\a\9fýØ?âÅöâÊ~Ül\8bÚ!ØóA\91z\99OàËm~æ¦\85û\9a\97ß SBýÁK\87dÛý±\7f\170ÿ\9aè³\ fe6Äv¡þlÏöEö\99\87ýyÂÌ>\89ÁhÏ\98¼±þ¨\9eÒ/´Ì=\92E\98{%0\9f0\13Þ\95ëöEñ¤¦Xà¿\1aJ\97\8d%eheïÓUØk\85\15Gªé¿;êzÕ\7f\94\13\9aÿy:µÆ¦\16q¤¶\98Ä×÷\18rÛù\9a~Îó]O­K\v\97m¤ÐÙy~\ få¬H\7f\95\91$þ?ß\1fïò\12\12»¤:h§ÀNB¥M\15ùy_O\91ØÓRÐ÷8mïoãtÜÞ¿¸©\8fr¦¸\8b\18\62¿Ût^~âg\84 \ 1ö\84\ 2âÊ\9aOÿ²y\1fÀ Úç`\90^\9d\1e;\13?Ãc/\7fü\87ÿz|pN×xf4\13¤ø\81;\S\94Ü\82Þ\7f\90?ûäÍ\aÉÿ0\1a\7fÆ'R2A\9cãW¨ÑÄ\91\bidYoä í¹\93\1dx(\a¾Þ\18?Â-Ü\81#|\90áwpÄØ      Ôâõ\8c\81)RÂêÌÕ&"\90\8eòNæù`    O¼}\1aIËè£\88\9b\ 2Æ­\aáì]T\8b\84\18.\17R_åØ\14\81ßH\95\96\9dÓùÖ&\ 3ÁÇúYk'.`£Õ\13VVK\ 3^+ø\8a\87³KrI\1a\8e´\f¬ÂA£Â\ª\12r"\10gXRf"¾hÌE\vÎÿ\ 3\1eÏ1\9a\19\1ay\1fâdaíN©çNõ\11\8dì\8c\8bÀ\fô8"á±\1da\89¨@;:KpÈ\1fèÊ\9eÝ5\85\8a0"q 5ÄÑ\8bað%J\12\ e5+§þ{\aBJ5 *3  \93\11<]¦\8f4\f=\9ca\89­h\ 5ô+Ý\93'\13³\0\ f\81Í\8a\7fáG»\8fV\9f\95\81"./ZçÛ\84o°$\8a\r\8e+1è\ f*\17Ow£ö\f¡eÌ?ë°ìÀ¼Îh¬Ì"°ÉAìU¼À\85\ e\ 6§|\89Y\80Êên\99è}ÉG\83OÀrÕ¨\Êâ\14³ÂÛ\0\0\1fÚ)0¸"Zá«n¨íÂAæÐõWz2¶O\15\8cL6\90Ù°ÅQ3\80$W`(#»ñçí\11\ 6¦o\ eû\9a\ÁðÒ
+\ f4\1då\8cCá§z\1d³\81\84Ý\80B\}6´QÐÈK\rÑ\ð³\98¸$\84\1d\11ñò|\18â\9eA­>\17¥JÌjb\89ÖÈ:Ñk,\8aÍ\12lw\16Û]\89i\85ÿìÑX!Ow\f\aÉÌY"\9c\9aâ,\aäA¼yÄ\aÆ\8cdÎÿì\12Åÿù\88\10þ¿ñ\89w¿ßÿ@\97\8c\7fÞ=þÿq\84PÉ¿åXþ\81ï÷²\8a%çþìQ/?Ø\10V«çN%çõ±D¼ÿÈ.°Ûì\15\89Ѱµ\10&~Óó   yþb\18\97\9fÈ0â\b\13?G¿\12óýbÿÔ=þûßè\12óþ
+%×\8cOPq\13ùÙÑQß\1cxRø:ëù÷n¹Çpå\94òñlØôò\8c%\¦Ë Vá
+\82;#\12@!ÖX/!\15z\87\ 5Ù ¾#\e¤\r\9eº×çDß>7\7fó\807Ðð~q]í«¤\97âwô÷\1eC/kóÈïìóËDrY{_\9cÌYL¿\15\15x} \85³/kóÛwöyÁzþÝ\97µùÅ\89ª\19 ¸ê\a\9f\9d5\1f1\ 5  9\13ç=\1fI\8d¿\87\em\17ã\10>\7f×ú&è\1f>;  Æh®Å\97PE\ 1öÕø\98|6\91äîs·íuû\1dTµ'u×G¹íä\90±ÊpÁn\9f\97ÔÖ¯:öowü\ 1\18u\1e¨Ý£\9e
+?\8e\15®\7fÞ\v\8f¹\9f\1fÆÜ×\15í? ·\9f\15?\93\98\16éê¾ [¯\ 4\ 5éT`[ת\91ý@\83¯ï¼\92\ewfm\89ðC\16[p}3qOÆ~¤ò}\8aP2\154°2\1e"\9fú74ù\0\12TÚµ?ô\8a\7féTÿñ\94ÿÓ)ÿ§Sþ²\10\82Îx'\1f\fQk\99¿\88\9cùtcZ%q\89á\98\99óøÜVv\1c\88¾@4 \ 6?X}ñ\9düÏ\8aÎe:©\8c³Ý0Ê]ñ\95&O\b\13"òl1õ)\rk8ì\98§\88Ô\ 3\86\85\84¬Ç\1c\19\10\ 6N\88|%ÎØjÀè\ 1\aúàu³3åZ!p\8e\89á\1e»2\80[\8b\89\88\88zÓO§E2ê±\83¼oQÓ\12D\14\ 1&H/BBìÀXÉó\f?«(]QKp\93\ 6\1fò\eþ=\15ûýÆ#TU(ÀVȬ&ÒÌbæ^·0°\fa[Â\0vA¦ª|Ð=\80  ù¾PûÅèVöäßw­\ 3¿A\a\ e\9fi
+H\1dÈq\ 4\84î\86\f°µ\9a\9f\a\9a\9c\a\1dÆÔ\83ïÙºh\96b\8eeï®òo\10åë\1am³ß@+\82\9bÈ:Û    \13ý\8f\89øÞõ/½{\bô Ñ¹\16÷\9fèIÚþ5_\0\90\19ßöÀ\9dAëÉHÿ§\8bf\15\977$ñ>n\8c\1c\82\90\1f\99­\92Iâ,R\9bÂË\ 5Z½@*à\ f®\12\rå\98&¼v  AÅ·Jo\ 2\0\99\ 1\93\99'dAÌY=ågÏ/\b\ 2\80\9e\85o3ý\93¹\16úe\81\83\ 4~\83\10\ 2\979r³\84PcaW\82A\98\10¶^ªz\11xTðèâ(`õ!\99\14 dæF«¬Ìþ0Q\9câ¤éõ/¸CÕÔõN\8bÔ\84\8b\ 5k<lI\ 4\92\\17\99\8af6Õ\88;Äó]9ûßÑ\ 5-\84\99»Ù¥\ 3£\ 4Ò6õ«´Á°ÍÑó\87k\8f\r4|\92Å0\8fÇ\ 2i-IL&õ%\84ÐJ°^¸$°=KÐ\96\0H':ɶÇÏÜ Ør¥\94=Ñy\83\ e®\16q\§Z\13iæ¾`fаÄð\12\v/\0!ÖÉ=À¦éLr\a\9eAK\90çÏ\8dê¥.BÊ6&&\12L\ 5t¶¶\16h\9f/\11\94)\83\1f:Ñ?#\12¡¯`IJ÷\ 1¼'uß\12R-Gr_'Z\ e\8fá
+µr\93î\95O\9fÒ/\9f\f5>1\1aâö\88\93Ö@Gj\ efüOÑ#(\eK°»¢õøëÌA\10¦)t´DC»Ó\17åö\ 1+RÈȤþð-s\ f`Ô%¡¡\94\16\84¤{ÒÁ¶\fje\15ã\9e çe\94çÈ¢\1fP$¯æé|JÕbg{\eý\ 1\ 2\87þd|®ÿ¤d¥Át\8d\10\v2#§\7f\91h$Oó'\f\15N\ 1Õý\13\g!Â\96\13Á|ë(u\7f.¿Å3ÖùÙO\84Ã\85Ò\13y.²\12\rù4\97ÿCý`·\97%ùÔ÷Ü@¡\8b\80×\±CíêÖ(}ºß\80¡öÇo¼P¢;>\ 3Y\ 1\9e³÷ñ\ 14\ fùÃKo\88=öpëGünZ\9fÇÉ\13ý_¥D\86\95É\9a\bR\16k­.D¼v\1f\9bñõh_\9cö\94VÌÿ;e\89¥ùì#ÜøH¡c\9aF×n_¸±æ\1eÛø!r^ÈY¬wü+,ýt1\81èyÇ\11\86pfÂßýVYð\11\ 5¼õÜjË>\14¢\80\ 4b-±¼ÿ\18\82\9fÃ?\9f\13n|8ó¢\ 1Kh-_~â\8bÌ|iPn
+9eä\95\ ff4Ä)\97O&ñ4dýæÏ\ 4 ¤\ 2­è\83³\89\9a©´ROÁÕ\ 3\8d\83²\11vC\85\94Ç\14\95â\9b_¨¸\93Úp\94Ò»¬\ e\98\0Û\81à=d÷\½&\1eÕ+¹¾²ç\8fæ\92N\88\14Õ(/\r\88C.j©c\85_\94\ 5Þ
+dÃ\96    \86`ÎÊÛ\88ed\r\81r\15b4+µÁ\9bÈ\e\9f\99x-\7f\0\9fCd²`ëZR¦4Ư\bÂ\ e\89-­A$³²õtP·\95Ì\13qou\83\86À\1e\88\88¢±\1aÒ\ 6h;GåÒæ\0\ eËÉ»\r©\17\1d(v»O\v¼1.=*!è A\ fD
+oò\80Qòd!èjÌ^üp\88ÃòÖÔçµ[S\9eË\81©Ï\85Ý\17\9bºß\1cßëßëi:\8fBs=±¾n¾_\9b\8a½\7fulWýú¡ÛZi§Ã\89\90`\92D\95A\f\1fY'سÔk°\95\e^v\7fäg3Þ\1e\8fsöfP±í¦mt×ÔKúÒ\8aðQæ\7fÿÎ'\ 6Aý¤7H§ÛËñø)ó?ûà§áæ
+ïé&8Ü\14ðg3Zë©S@\1aë¯Â#ÂàCòwb`|ºë·Ä'æ|\99\91\88\7f'ùùÄê\83\84+ÃÝ\1aÒ¾fÅ\87tÐÎ\91¤)ª·\19sUM4t*hÜÚrG\10\90÷IÑÌ\9a]Ô¬`î\7f«\aù×o\0\ 1nÌ+K\109ù*\1a\9a\9fòê\7fÝ\14ÿ\98B\13;\9aÕl\9d¹Ñ\1cº\9a7»p\94\b$"׫;G\9f3Æ6Uµ¯\ 1\10\88°ü¾IP¿\1f§íÏ_\1eÅ.6\95_\10      Xè      ¶\ 3(Á²÷Ø\92u%\8f©r'\94\8bÌ\0HPV!8ê\86xÀCÃ+$\94\0rúñös\92@\8aÅ\e+íh§¶d\9d\98|/\86\vÆ\f\92\(\9aá$Å\13TB¾Ü\8e\ 5x\80\94\8c4³I8÷q¹Xh\8cÔîIêµvÔô"I¦ñjí p±\96¾lr\99\129ûë\8f}2k\8fÏhÛ
+zyöÏ)\17ßì´cZ\84\93ÇM:ñh¹Ê\19çùFm\81´Å\8aRifÒ|õ½ú>~íT¯±\80%¹"\ 4ÂE,@\96\8e\12\9aN4øösïÉÙ]P;zÍêátW\13àý\9d19r\8cѹKr¬Ï\83ðzêfjàü}­4î[¡§s}@øGÄ\e\bñêa\1eS@ nÉ\99\17\85\v\91VRÿç\ 4\16¬AÆH\1cmYåï\80ä\85ÔÞ±%u?|\13ÍìêÛªX½²\973\82\92\ 4Ë1Ù\94\97~íLj0\10G"~.ÿ¨\98!Yf\814\814\vÚ\7fÈ\93\7fU\ 5í\v\9d\86©{@N3\ 1\ 1\8f\1a\ 6\12l\12q_\8f¶ÐAv¦?ïu\94\f\18°J\ 4ã`àºc\e\13Úà
+"¬xÁ¦\9erev\9erò¥øP6VöäÖ½±¸Æ2@à£ÒÆöï\92\97ÇbÏ.I·È>uÈý)\81P\1c\96Ñ\95H\95àÃ\vÇV\0XÕË\1eíÞíÇ\11Á\85ÐÇSBMµÊ]¤
+\ 3âaHu\82\90¢\98óÇL\ f\vÅ=µ'éI\ 1Þ\12\0_c(\eX)|\18\ 53\12Æð/]\vK×ÀK\1eõüSò\88¡ß
+\98o\ 6ùnW\r\17\19c&ëá*{ÒÃ)a\0±ë$ÐðÂ\99\1a®\1c\8cS£d\19\1e­¸\1e(S\ 5±"\1eÐ\8a\90Io\87\eÜWþ\ 5@Ön2\ 2+Ó£½\97 a;.\ 2¥õ$þñMþ\184 ò áùzÈTc\15\8a)§Ã\13ÎÙoIÕ97ϼÄ\93ÑB4\9c)\ 5½\87  ã\8abàd^Ëò\81ó\0ýd\9fäÚ ôR\9f\\0\97Ä\9fÞ5Òæ\99Õ\11÷£
+\93\12!Xª9 \83`#áË\8bk\ 4Ø\83\957\8a\aiøGïÝ8¡ç\8a©\b©\94Π\1a\86@\96Y¥<ÁÿW¾Ê\9e¾ÙO]M
+sµÊzéÔÍûP³vúÒ\88Yµ¹SÅá*{*AlYYÙbàÐN\8bõU\v\89Á{\8cû)Ðzø|. 8\8cåb·5\8a\Yh\13®M3êÀ\ 4
+äd¿\83\ 2w\18¬â\ró8IÎ\f\\9eSfg\99\82pîïG\8f\89ÅM¡\17\13\95)±ú\ 2\91¦X\91³\ eZÅb3ã\19ºW´/\82ß?d\ 3:\ 1?ºÖ\86ÚeÛJ\ eS\15\10\1c >\14ùO\15\1a\1föϬ\94\ eÌ¢Öæ\8bB¶~
+vkR-\18©¤1\ 1\16³\a\ f\a\ 43°®\ 1B¤­7R¦sk]\98VNØ\9cWÂ|SL-\e¨:ãL\8d\93xT±ü\8c\15Π0p¦\9eݸºÎøW+Æ.0é\ 3\8eà\r\966-Ä,YÖ!chlìoHy&@3Ë\1973î+ç\99ç¶óÐTòwç)l7gÙ\8b¯z\96^O/{¤ ý\11Rsðp\18\8a±Q~\ 4R\87ô\r\0Cg\19¤Â\82Zx%%§\1eÔó9Í (½ Q\8a\1elð7àþe\ 5EH·Ù\ 1\81\94Á<A,\d\ e`\1e¸["R\91\99\ eÄ^\86!Ýß\13=Mè=¶%\ 1\95\85²\1f\10\ e\91)¶@\ 5Töò\80Jm\82\a£×\17\8a\1dÒ(ò\93@ßÁ\80\fjÑóØ\1d»ÔR\81\1d`\8aSqϳ³À÷\8b5\8c\9d¸Å·g\97ä\87H\1a\9f\ 6õ{<½\86ú-aÕá\ 1ÿ\85¬o\9d\11U\0f°Í\ 1¤Í È
+Ã9kY¢ùâ"påtA©ªÎ\98A\85\9bÖv\9béW3]l©6°ÙlaÇ[\8bfT7Úî%)з;çú¯\0¢8¼Ë\ 6Ëô«\r<ëU4ýâÁìï@\ e\10e:àER5\93¦@qøVÊC\r\ 1\ 1ëË\12\ 1\84\11s"|©=P¯\97m\12´ó·\8d\87¸¸\15\86ÂÎÃÐ\14èo£T%\15\88\14¾:[iî\8dîHn|\82²\9aSî\
\89þoÑ$\18\18\17fø~\8c\¨Ý[<þ\19¥,\f-¼bx\ñD_2Yie³\99\f\11f<õqAÂP\88\9d\14M\96ݧ¿'G\88\9e\9a§ô¶gRVVçLóú`uÿìdõG¢"´\92\90?[ÅÐP>KåÎæ±W\0w\ 3s
+Ó(W`G\e\aÕâã$C*#\ 2½Ïa©\85\81\19\1a\8eé¢çs´@ÁYìU\8d«3p\14ò«\rDN8y\a|\ 5\r
+-·\86îk­¸=é\1e'öÈ\ 2|\9f \râ\9dDfðò\9eiC\ 6\8aZ\86\b8\9b\ f\80\9fQY\7f\98:\86¾\8d¢\99¿ú\14³Ð&(`ü väáéÅ\1d³\9eóÔ\81\9fhÒOº%\16\ e\12·\8f¾y7ÚÈ8\87¢bí8:¡àBiÁ\1d\ frFt\1eE~Ã>qÈ}\8eéùlí¼ó¦)\93 »~\18\8bͶ\19t\8fl2Ì&\90:\8dÜÆ½ìëÄþy?\ví´%¡ùÆ\94®\81\1a4µu\ 6@%¥é\10\94bYYN\ì\18YNK\b\8cµëßlÝ\ 3ú\10U²u\aK>â¨\12òj.mê«ÇÄÿ\90 ù+\f2PpáÍ\84w7;\89Çó/òL\97\1fàBWã\ fUÕþ\ 5\9e\9dÔªáF\9a²Øö:wMK×s\ f]½s ®Þ\9aI7n'q8Ú±æ%V¾ðB\18ÂD\869u Õï®êC\ f\99\14\13×Û\87â¶\ 4A&´!p\8b\bjM\bgC`>¼\8a\18&\eÒÁa¿0\1d³©¨¯©l*F¿j ¬®\ f\7f"\92x+Õ\12x\ 5ö\1c\94øÖ\87}2ÃH6\e\87$æB\9b Mù R\1a{ìnзysÀ+ð\92¨\181\15\94Íâ\8dz\99Ô\80W\91\86s\1eU¸È\1fÍ\16\88\8büÓ©\9d\v\96!¹dH\16¦§\903\7f\89ù\10¹\86e7·ÞÀ¡Åà£à\ 5yt½\83Ù¯O¦ò\Õ§³úCûÝP¦¢ Rô\85Ëëö¢ô3¾rO÷Ö]z\99Íy P\87¢\ 6îï ö\85Êòî|(\80¢ñ\87|(ð\81Ç¥\8dòR\7fÙ4\17\7fýÂ4XiªA½çØÊ­<f9³!wl\85¸òúZ®\v&"ÁÃð\ 5/\9c1D\1f¿í¨\13å\17\96ÁØ\88ð\\ 1\0rÍí\931+Ì\80o­÷ó\v£]Øs2÷Ò\84\ 5¦ªjøîFõ\81ßü®÷áyG\9cRPH^ `óâ\ 5ð\18Ç\84÷`@þ\9aµ\1a\81Ôúî¡\8d±Pk·\9a\11\15Â\85\94t]>¦ÁÅn<¹ÿµ\8c@\8bë\10\1f\9aËH\93\8dv4Tô®0\15U^²\16\106¨XgÆq·qø«Á=3\96§º\892\ 2Ù¨\9a6\ 1\e\9e\8b\9a\96©\91®®Øl\91\99\v\9c\1f\8e¢ÐwÀãj1vZ{)í\81·¶¦ª\a\83\10Y)\ 1?\80¥XædTFð\e§('Ç®\94o×åîp\92Ë\81Uuá\1a\183[\852[\v¾\7f¸Òå/¡x®+^ÞU½½\9aåooJ\v\ 4ö%íâÉѲZ\1d¼l­\ 5\15\92Ì Mô\ 5·Ï1`\ e\ 3\8e\9d¢sN\11\11õ\8c+a®!Á^\84*L\86\2\ 4õâ\17`ÓÉ\9f\06î%\14×"/OÙæ¾ÐZ)߸³\12Üü\f\99\803l\13Ùm\f\1d¹L­Â\8f%Æ<\ 5!ÏB\9e\14\1d\86\ f»\1að½)PJÏb~²wÙ0R\ 5\10¤Òò\80!y\ f¾B _Ø$\86\96\1fG:·ÅÍ\10\8c\ 2÷$m\87p\18£a^øò\v\13\9eî\80÷´VÀß\ 5\rÛT \ 6\1d\14\8b\92ø`\1a(¨9ç¶:\7f\ 1\81w\ 5-ΠjI\ 4´Ùû0  3ûÖ?31\1e/:s"¬\14æt9\f\89Zõ§\ 4x.\9dázÇz\ f5 [«\9a\82\10>+ãE§\9aî\81\9eý\ 4s\98\1cé\8c¡\84\91\Ñn¶:_\7f\18\1fA'Z\16î\87,\11\1egÛ²²\83;м\83ó)\19ýÐqÅ
\90?\90\9d\ eün¢\17\93\94ü\98PåmÐF¿D\0ÓÚ+0\9aÞCVÝô¡@O¯dëÖB\9fvì/
+_\86l×áa,o`q¦\80\9d\8bÍìÊ\8döè}hÛÉLÖ\0ð
+ø'\99
+IÎ\0\9f\93£\ 2
+\15\16$ð\9d\18o4s"W·Í[30\ 2`ÀFxIÖÌ.s    ¹\9dS7Ëz\9e,A1oN6%/s[\v¢\16ãÑ\v
+î6\14\80XO\98\97\17ËÈ\aÊI\8b¶?Ü>ÍM \97ÕÚ8Ô{u\Ö\86z\9eò\1a{\94ȵiªÝÜÕòs\90\a\bY·²MË?Là\80&\ e\90kË̤\ 1\9e¿'\e<a9,        ·­ø\94\1cd\1d\11K\f\8cY\83²lÇ\ 27ʽû¥¬\a;\1em\18%¢è4X\ 2\94-` Ù\ fz\18áÕú:/ÃWô\19K¸àË .Í\ 6-à!÷cÉÓù\19Ói\85»/%\97³¦É\97d³¨\15nË:Ð\93\b)\8c\ 2+¦ç\86}yÃìÞÏMbo¬é°Ejý0©Itm\84,e/Ë\95p41ÚA­\85Þ\13×Ú÷DN¿4²\86¿%16\1c\186\98Tد\a³dÁ»\9aÅ7{4§\8dõíùâb \96\aÍ4µÂ\90ö\8c\16>ÛÂåcË\85z:§Äß^@¾\Hk¤nÃäÑ$Ë#\b\rm£ª\7f\9b½\wx5kéI«\91Ì\90¾îâ\91§0\11£î\ù\19\ 4¶G&g¯\15\bçuì\1a9'"öGë\81#ç¹¾®RósRgÂUü°\94¸\9c\16\ 42`'
+a(R´"\12
+ê@zÄõ-Zù\11M\ 3\8ee«Áö(Â\ 3{\81\1c§0\ 3\94çÉ1$\e©\83\8c\10¡UZ§jaÄ\1d<|\83,Ið8\8cX4¹I\81\12"h\9e\8ca÷Rîoí\ 6.\80\1cÐQÝ\8d\96×y$j\ 5yZ\10\18[-@þ\80a8 \17\95\8bøx\16\rIÏän\86ÿ{\ 6a\99rÍÛÄ\b\16|\899\155L\99\84 Á3¼\99v²DS;"(ÊD\9e\r×#×\fT\7fl\191\9eýþH¬\84í\b#¦àyÉ>®Ò
+\9dZ
+0nR\98\13µ÷éêÞ!@Ó\91HD)\9c\84<øK\85Çx\17T}j\0o?\95É7AìæW%}Aî    l~\12\84ÓW\7f\81\ 6\90»_\È=?Ý75|I!\92ú\1d#ÿÔ\917\f«\eb}\f|ÊIøq¸t~    )¹§R6¼:53q&Ü\98 wä´áØ\97mf·\ eÅ=\11O^Ó  A¿\83¦ñÖÂÂ\94A\:\99Ìö6þ`Ùþkï4+º|\82ÅF\87;gÛ®änæ\16nð"G³+m\1a8\94\13.\1fbkI\f qízyòáî<O¤§Ð
+ro-°ç\1aìlµ\0çÑW\8f\89]©J{ûDIÝì\93è}iÅ^wÜUäÆE51¦Æ÷@\ e\9fÒ⯯æ\89ìý\81Ôj        @æ%â\9f\90^\96\8d^Ad\1a´®Õ\82\b\10Ýò\v\ 1ê>¨Dbî¼&@"n²_~Ú|Ü\90¦ià\17Í\92½\8bÑ0\80©¨ì!n7*\85qâ·;\ 5\1c{!nö±®\84\98\83     »uýH\8b ¹õéà¾\82z°uÄT\ fp8]õì
\ 6]\b]Ù¡%å;\öÊ\91l¬gÅ\0Y\1e¹ä\8b\1e\1eÁ\ 1º\vvF#\9b±éÈåÀ\rÕÍ]d\13\97\95\8e8\81ð)£]O^\89É:+Ï\82=Á|¸\10µÙ&\88ðï¶©S\ 4\89)UuGùö¦p]<ÅSÚ\14ðµwº·²j\7fü\95\ e*ÞàR¬\11H?\r}\90%\1c\0´
+`«\ 4\1e¤ÉÈ\85åÂçì//ï\ 2Ê\13êY\973Y\96\r\12æOl\85`¬º²o@\9bÇQ\1eUßC\14"2é(5è>\ 2"¯gÓG«±\14ýÝ"K'»Ã/\93Þ.¢¾øVOØ/\93\9f1'JÀGº'ù\80\ 6´\89R3Þ)å\84\9e¡ç\15Y(gL\9f\7fçéÿÉ·Çÿ¬\rÎïqߢº\95ð\10\99Ü\87            \9dí\88\92\11}R\14xYï}    \9dë\91ýhLìÃ\ 6\ fûV?=+ù°mÚµ\95K»<ó©8\vâ\11\rÿ\b¯ëØñ§7÷Ê\95ý{\1fø\a\13ù\11'Øï¾&ׯ å\84
+çN\ròÞy\98ó\8fÑyÝVVö÷E\95½½É\8cYدö¡(òk\910Y\v+\18þlP\85w\1eÜ\1eA`ý7\19x®P\9bT\8eýnöm\95Æ\97\8aø2ëX\90Ä}´\88b?\8a\98\83»ÜP6/ã¶·øË\9em8   \88NÒ^#ᶺ¸¶â\1c\8d\98³'ðE þÐ?\8bø\8dº\ f µç\8dw\7fä\10·à%,Ó\19\1cbv#¹É!s{p³mËu0nÖ«\8dÕqð\90\9b_²sø?\82¡öwª~ÿg\9f°ûÆéð¸\ eR\7fèý¿µõ3³tl\7f»¥_\8d#\8dû^\9ftߢìµt\19ßåÃܽ\1f\ 3¸ö%´=\ 3-\97a²¢û=«Oåé¾~OËÉrÿ5í>\839\84ûß;E¨\94ÓRæ¾ö«Cò':Ý\8d³ÄôË¥\9fü¡ÊW\19   Sþ¹\1e.0¤AÆBjÿ\1fY\ fñþÿçé\91EYçj\93pÔÓf\19ê½A\8cÙ^ý~ÐNèþîÆÙø\19\96\1eþ=ζI\v\1a\9e\1fs߸ºm-´Ò_â\96SáÈ·\7f¥\15cåd¿µ\15cÉ~äU\8f\87\8e5\15Û\8eãQ]±îmä\r×\0|=ÎøN. ¶ðÜ\9bÏ\8aVÌfÁ\85'¿\83\88\88«\1eâl\ 1¶7\9fõ%\94ù²\eWuñðÑV~¹\89ÑV}\98\87a\8d        [2\8fs{~u\95\9abú]Ð\80®õ¾y\9e\ 5?׺«®dîJ©Óû\eÔP¶ôõ\16QóÁº\ fh®QÂ|ݼGÄER\7f\81\1fL*\14W¾?\16DÉD\7f¢YbÛXGZ"¤g1ök\1fÒ¦9U\8d?\19fv¸Ó=Í\86Ù¬ùÆØü¡NÏ\81
+\14N(®s\11\1dñ"¹Ë1\ f\16\86,\18d¤¨A\15ÐëL\8aèu\v\11\eepêj¹\8dÒ&r\16M\944G\85\iëê\90Å©9òÃ9Ü\8b\10K\ 5\ fyu\95Ó\92·a\81\8eVH\99Ù,\8aéVı+\1e\1a)\9f\15¢¥©ê\9bP\10\12ò\9e½ÖÁ\1aØ\8d\15\ 3V¦$±\aÝ×RÞ<\8aå\87\8dn\10J\93òa\86\8e\16½ê$®Ç\81dW¢|\\19-\8e\99\ 3ÏâU$eO\84L§èÆnÉ &#\1a\ 3_м\82\b<\11\17c
+\83Å.é\ 4\11#u*à>ô?LðGYö&qãÝaÕÜìe\ 3ÉgAçïûgYÕÁ\97È\ 3Ä·\9c\fÌü\17\9e\:\e¶Öq\8cDKm\94\8a\89_¶&B\7fF\1cFW\89ã!\13¾(÷\fD     w|³ÜÉ"as\´ü\1e϶A]üñP=!Ð^\1dÂÇÁ\10;ϧD\1cb\1d;\ 4\ e3RJAj@ÿ\84VÔ±9f0â\a\96\82Öìk¾Y]ï¼Yf/v¥Ý\e©\89\0» Vþ\bû\82\0¾TM (\8fz,\ e䦴9\8b,\8b    ë÷ TK%\9e\\ 5\9c\1az\9bÐg\98\10\98<X\ 69~¶øÏÌ~\b\92/É^tI\16\r\8c\a_v]ý(\92/\80\9d¸ú\ 2\b\80­ÚÿØ\89"äØ*\89\rö\8bÿ"$\8bó\97«dýUÿ\91\12EÔ­dõ\vøÉÛ\8f0½]÷<ºõwÜû%ÿöNÜh\19¨\14É´Kb5\ 6êÈ\89>dL»ä\ e\v\1f\b¥\97Î\vM\97õF4\1eüi\8cëNó\19\11\10½1\15wyE\88¤üwÓíÖ©Å_ýIÃ\1cè\87>æd\9b?Î#ÆD9í\8c7\1eø#y¥!gæ\84\85ª ï\99Ç^ªæ,uöÍ\ e\15\fÞ§\a©pëס_éßö\16Îë©A\95f[Üú·_\99Eü}\aN¶ë¿]Íà5rZ\15=øoø¢\ eÿü-\89ð
+\1c]o\7fì÷ö"\148í<\b\7f[^\ 6Ph!ÓÜ\9dùÛ\8eÇ|ëÃúù\9f\ 3²M½Â\9d\84{\9dÃ$,|®\18}Ëû=|\1eo¼eü\17:{\13v^è\13sbÿE!³eû¶õÁ¤Aÿä\1ee`3¹â\8d\92Øñ¶õÜüAö6ªe'0~?æÍçÄÛ×\ 4\1a\96å\91\85ÍÍ\97Á·¯m;I  \9bÏó#iÿç-vþ\fò^\±!}\84\0{\1dS>Â\b:T%ävpwaFÆØ\93Õ¨WªY\ 2\8có<òõC\9dÐ\80(3Àbu\ 5\8a\8f°}\8b\ÑÛçZèR\b¿\92ÅbK9\ 5¦>Æ)d4³Ìî\97,í;)ä×\95 \9d\82¸És3d`\1f£q¥Êa\8eßDtÇ\93¿RÅëæ\96Zøq:U\8f\ 5gãê0¿\ 3\82a\9fÅÕM\10\13å\9eF!À±\883\92\82µÿD\b\13F\8f¬»'\95Ó0w\a\9bº\7fÆ\11\18<\8aº\11\ 5 Ù\ 1t\mC r\88\e\85
+¢È>¼\våWÌ>\97\ 5Ïë\89}o©b¸\9c\86ìFÐÉK\87¯ö\85\90\9d^¾¾T\87)\94~§×X\83e\9c×4 P,éJ{þLB\ 5\eÈYòÜN®8    èµ\8d\ 1sã_!Ü\1aÈ\972\vMÇF]µöò\96o\1aÜ
+d¸\13,8;\1cÓp¸\19 }\15\97Wàõ`\0i\13Ý4HÎú4\ e_\ 6é±=_ÏÈH6ÚÁͳ_\\9e\v¨¹ç9\18]¡±ô\9cé\9fMÕÈ\vdx¹AÜÕ,ÛÖ\8dß\7f\18í\ 1£¤^`\86[Z\83n«ÌdàObCÈÛúæzÑñL¶²\8b\8aC]¸\94\86»Ó\19\aí\89(!\16Ï\87\v¦\e\19ϧ:¦\ 6a,VA\17áÚ\93Û¹¨õ\ 1Ë\9d\b¬\83¼ÅÑJÈ8\839\86¼Á\15§6\ 5~ÿÙç\95+\13\ 52ÿZV\ 4\12²\17ú«\ 4\82Ø\ 6l¿²Ï3ª6.\9d\809L«Gy`\91[ÞÏ\90\ 6*\ 3ÄK\0\984èæ#ì0îr»ÞEî\ 5[j\84\9dd4hCÂFCNäúSSê©\90\87g\1a|ýA\16]?a\f¬\91¨\a\13\8dpg¢°!\92È}0ûa\80\91 \96}&î\eê*\87C\9e\84LÏôö\1eGú{Òû\94\92\17.\9eY\v\979pBå\80·¡r]mAT°\17\15\b)Ú·\9cÙ×\ e\7f\82o:\93yøÆóÊÿ\16Ê?cÉõ4=¶·\9e\9dó¦¼7Q\91R<iy®4¼WÿB˧\16\14Ý3SßZ\96]¿MÂ\96îDQÃ/uz-\1eûxó-\1cÛ¾s¥Åt}îR=ϼÉ\v\1fC\87±ïu¢qpý{\1eÿ÷¥Va ÷\9eN·À\7f×cÿ÷÷¬íͱîçâØÿ       P.¸Â\b×]ð\88#Xk\98\ e\e=Q¼ÿ'\13\¶þ\83.0p\ fÒ\ed\9e\91\97Á\a\98­ôÌY\12$\ 62`\9b9\95vÛV\0\8dÓÆ\0\0Í\80+G\82\96Ù\9aY6í«Âý\98!\ 2$\9b øígÙ\81\8f\97§\93\`_\1dGð1\87\8a\87\98Ä\a#\9d\0é\ 4;\90Z\17R\bª\9f\1dnëE\99·\8b\895©`¾\a½\b»ô·§¶ä\81wJ\1a1~\v\fÖÃç\1c\ 4q\ 1÷\7fjdÖ\ 5¨Ò\88GPÅaX+¹\94\19\8c²Ð´x\91©Y1\9dÄh\83êÚ\1eÅi^Y\ 1{\ 4\9eÐèà\9f a\10²Pæ¯ûh¨Ê7\95s\81¬|ÍÌÖIsé\f®I\e\9aPv¯n\\14eB*QþÃJ4 \aXI\92ËZa³\16ÖU×2\83äÉ\17À§¬à\84u\9e\9db\ e\8cú\9f\18\ 3{\11¯ì=Ä¥ö\9fÕKBܪ)        g\ 6Y꽺!-ny þ»®aà5âlu\ 1\83:ëþ¥H
+N\1c"\lÀDnïûÂ,¦åc±²Ù\f\1fŸ,rèe\90\9eEj8;\10àN\9aÄHã_dIzÞtËoþ\1d\16ç\ e9\1c.½Q$\18\85\998Þï       s©¤     ¦8\0\97î\13MøÄ²q¥\95øåñe\95ù\85ÿ\f²¾×ÝY\f3îVC\fþâèa\9aî%¿ÖJ\7f\8eSB»\84[ý{\ 5Ö¥¿×¢]\18·úûõß\ 1o¥¯ÿYoÍô\v¿aoõñ$ÀùDP\94]*\81\14Ã\8f\ e\7fË\8c#¾ÿ\9c·¥Õ\9fDãsÍ÷û\ eÿ´D\eã\13î¯ÿ\82ÏÝf£¯à\16¥©Í\e¼6?ÙNxù\1eïEôè)¹í¿¥\8aË%E¸ñ#Üê¤P±ÎÈÚì\7fý,URc&\ fÆ\9aQ\19       Ô7ÿ\877|\vj¬ëå_Äý+å^GûWʼ\8fî/o\7f\10Û=õHñ¶Añ\86Ø\87ÊÚìGÅ\93\aÁ©B꡵(\9f  ks\90ç\85\97\b¾C\8c ¦a\806Æóý<ÝõIC|7\86\ 4\91[êϨ·i\1c$¶¸¸ÝÆ\9aʯüw\8dìì¿·\12Ëh±(\9fE\17y=£<þì]´\1e£a
+\98(\81­]\83!$p\ 5=àãZÂH\8a.j6CH/éjý\86BH\87"éë\8a÷5O,­\ 5çìêùoR÷\93"GN\ 5®.1;<öÎ\96¯Ïe\v       d/?׳¥w%¶\12îKÌY)e\89"Sò\87\8dÏeܬì¹\8fæ$\98·5\e·x\14p@Ú¾ØM\1fvEçkòQ\12Y·Õ\80á\15ÑYg-\95\e1Z\96õ\rZ\97Ð\vÊ\9e\ e¯8¾\16\v¡c\87Ц\ 2AÚ¿Å\8ey\ày\80f\fW®ÜÓó\1e[\11$OÐ}\ e\ 2\11r0\88s+Ág\ f\87ϬÎ1\85z/Bá+9ø:Å!\10Yäb\12ðnj<\91\Óðuaé]¾â
+(8\v&Û<ú/DR³\97\8d\1d\97SÝÞ\88¼¿@\ 5\82ð>þl½ë\89ìaÁR:)òe\18ªÊ\fG\81Â\92\97ÞX\90S\aI\b¥\95@\1ed\18Àî\85NË¢\8b\13½ñPQÓ\12°ï¬PY\19k\9f¼Ó\aÅ\ap"\1f\ e\0¢ì\19\8d{îm$Ú¯.ªð\1f~\96\16Ôd\fË rcæt°%>Ð\926å,\19O¬ÀÓ\16¨/I¨\ 2\14\85aóµ\ 6½'\7f\8b\90\0¬ÿ÷\80\92F¾j\90¯\84S\11OR\10­0$bÝ\118ß­Ö_\9e\18-X\8e\1e\ 6Î#Å\9e#éTôV#*r¬?îc\ 4nYlç¿Ý³ëæ\1fîãû)\1a\84a\ 3qué,\14ôù£éå\19\12\8a\e§oýY\90´Þ\ 3\9c­\82Ò¿\r\8d¦»\93¼\9eý.¹\9e\7fQKº×\ 1\83\93\89
+2-\ 5\85ÕK%­°aKv×\ 1dÊ©tÀ\13Éð°Þõ¢¢\808Z\1d\84G40ßÓ\8b\rÊ\ 2\ 1|2ÝkinÚÕ0\ eà^?\91¨9°\14+-å¬\1eby\9f\ 5AØSI\89q\89\ 3\9eûw\891\91dbH\92|©¦\88f\8b\16(: þ\ 2é>oÛ;¥Nô7~ªÿTî\9eäTsP÷wu\7f»e\94\93\1cÁs\8d¡G\0 ½\86lu\1aè[½ß
\ eMJýy\89ê<¥\bÝ1m}õ\96bÍ@*Ê_è\r\83)`\ý\\11Y\1dBíÿ6ü\ 6oÄ]OsÂÆg10³\9bÁuÎ\9c Ñd¡\1dI1qÃuI$m¯,¶Ü\9dùm¹>U`¤\13T\91Eø¢Q×Ç\12\9føÔ*\8cô)\ fâ\19$=\89\91õþtÜÏÿxÞnÍÍ\aneÅ_Ho?\18Þr¦æ\7fåcÖ\ f[3ù\87üiÉÎ6Êôm±ÿà\f$h\0_O\82\825\0¾£\ 5\ 4rÛ¿Xi\13â\1a\7fY\ 6kLÚ³|?·¼å$\99\9ewÔ=\ 3Ú\8f«ôYݾ\84{\94#\90±\85Ã\95»üÏ\13\ 1¬<¢\7fÞ\7f\8c­¾\eßgæcâxò¶þoûåmÿTò¶ºþ4­¾ÜÒµ{\9bYZÝ]«ðïOóf\95·ól~!\183DÐ\7f\12\10    7v\9fÐA\rÅ\94\1f\1eq6+òÛt*\94ÖÙWêr\ e5\18î´\1ejR\\ 4\12×Å\12ß!O\10§ÓaÈ:²Ò\82¤U{*\ 4 6ô\ 4\f\7f^î¢\9aãá\ 5\167\93?·6;;T×\10Ùâu¾ÒTIÍ)ò\a73s­»\ 3÷TÕIj'ÁT¾\1a§\93\9a\18 \85½ö±¥$ÿzªª¤¨B\1e\90  \18\bÂ\90\83c ¬H)!\0ºñ*\ 5RT\bÚ***]«,U¶Ä%(Ú.PÔ\e\95^º¶Õm·m¼l´nðm\\e\97v\ 2ªµD       
+H\82\8cUË` ¾\84\0\14\bÄBWßÿÿûïz¤\84D\15½[nós7wsy\9d\fç7z{ÐÜÞsz\eÎþs3·¼ÞÞõw§½­íoG\7f\ 2³§½Lü\rÊ{ïºÛ­¶Ù#i÷ç_¢"B¸rã\86J¢K\83\vØÍ\8deL\9f\96ÅFá«©ò½\8d,\14\99âÞÁÐ!cG\ 3~6\a±¿ö\87\94 Sql\95Ùc¥\ f\88®¤¢Í\99ã¢æ\ e\8c¥ë|á+\18¯²EëgÓ\94¼ïÔ\15Ó\1eBÇ~JöE±+.¦ßT\9e\12XNL½gmK\96\ 5s`¤\94ÿR\93%\94w\a\1d@¸©)]AK\83Ä\87ç±éÇÖ±éÇ®ù\8b\95\1eåÃwþU+g\1e'\9fÄ\9a¹ËüÒy¤ð0\9eX~Ñþ\ fëË~ã¸î{\9eëºîû¿¿÷ûÎð\18A&ð\92JÿýÈnk\87Çÿê\1d½[оÕÿW}\9bØ÷\7f£®Éøñ=k-\87«ø<]\aQ"楲VýgÉÇýí¯¡\9c\98â\94\808\ f§{oñeðxòç;\9fö\88¯Ú_à]tâߢ\7fÜËàì\8eËàì¾\89\ 4ró,qxb\a\1f\10U/¸<Ø\98á¯Ñ\ 2ÏÑ\1f\92¾\89¯Ñ\ 2ϳ?ÛÙñ0|\85k2/Ò:Öi)Z\96\f\ 2\92U\8c*D;'ü\ 6÷Eºù>/é\e)R=v.\80|~B\1c\9eÉ\7f\ 5p\f\8ebX4\14 -\ 3ü/ñ/O¹E \1f\a\e\ f\93äç£ü\98\96ÁÙË\92\84;4A\1eþ#æ\89Íco<!ü^<ì\13\8d\1f;vN4cÇ\9e\98äê\ 6RçFÐï1\9e\95Ôº1ë\95ññvB÷\85\81éPì\ 2(îg7\e7l\91ÆÏò1ÆÏ¿c\8d\9f}ññ³^\8b½É2JKëq\ 2ù\9dùýèõGý÷§ýî\10À'ÿWëtÀIs\98î\83_ËÂ\95èÝøµyïw\aÉÓù\97\9c\e¿ò\92\0\92qàáü\19ï\ 6\83Á¼½â\97\19Âpl¹W\836úÜñ\7fâ\9aT¨uÃÎÓö9m¯T³ÏÍåý\8d®\9b\r Áò\99\99\179|:Vî~Is\1dëKï8×\ fÿÿ1û\89¦=¿\7fî\8a\ f\84V#û¼Çñ>\97÷Å\aïÇ\1f±w\13_½/s\87\99\8dÁ\rÛ\1cG\1f0¸ß´$ð4\8fßËÅÜ&\13w<\91qïsÉ}\ 3\1a\ 3r\7fßü¢\83à\1e\84à9üî#Å\aùI\9b¸ û\ 1\89¶Û\19\85(\95ð(ÖR|\84iîG\87:ËhÎ\13\97ø[¸\91Õ¸\82ÛÍ\83\11\98\89æ{®\17ùóx®B\9bA@\ 1©^û\98\81\9ej\93îXª"\ eh\12Ç¡ê!ÐS\ 4ØêÏxª8pSÓLÔg׫\91ðém÷p\8bÄ¡»'\17q ¶$¹&\ 3\14\f\9f\7f¸\v ¹Nª|\8a9¨¹\11¯L\88×ó\94ü+T¼$ì\80\90\ 3l\16ýfà}¤d\ fq8*\e\^\17$\9d\8e>\ 5dÑÉ\92ËÓaéú\ 4        §\83ìÅç   Ð\97GCëÈ\9a*%CÆEL\1e2)«Å}1ÄZ¶âÿ;ÇÈp\97\ 4t\8cÁk\8c¶í¹\1fèÈ~KçÈp§\áQ³c®î\vÁD\ fº.ÊùÿXV\8f\ fÆ»¯X"C\87ȯ\81ÅÞEWMh#|9\15Í\82\8dE6\84²=g\e"ºÂ¨ë\ 6ù\87\85ó\0¹ðü\a\1f.qÚþ[ÉT\e/u£ÿ\94&êÞ«/åàÉÿ\97E÷J\834aÊ~p¹Cí\19RBר­³ÅkihrÓmßK: ¨nÝõéËþ\17\0\9d}*\91\9d\80\16Ú\90*àǪßÂ\9f½¾ôT\7fï·Î\81m´Ü)\8cÝ(\9b¨Ê\ 3ï¸ùËh\ 3ÍUS\!OÓê`þLÈÙ\ 3Ì\1dº\9b\0Z¼tNÁ;\99'\90\ 2       õ´¶\9fs\v?7\99\ 1oÏ¿+Z\ f5óßÇÒ³?Þ\12ô\b\a­¿B\9dÕ\f\10K\97\ fºP±\ 4í û\9dt¨¬Â KÕÙÙ6\16\8fõb°l\89Ѷ!eéàö»SÙô&³ö\88E\7f`\8aÏ1\81nã9"ê\f+"\11\ 48ÐEg\93\8fPÝ8\0?$\80»²\8d`¹â0\b\96¾¢Ìîw\97ʧ§mmÇ\8d*|¯\ 5lñQÈ=\87)¶ãÁ0\ 3ØÔL\10~bS¨«]\0«i]¹¬¢V\15ÉÖ\81\99äkº½ðE\16¬N»:Â\9dîa\14Ô\ 5S¾«à\ 4\91\8fï\1eYKöÂÐ\18@ÏI\10\18\88>ïâ\14ph\1cåfÓÓG\172!\81\aX\ei(Y>µê¹9[oR®aâºÊL\bSþ÷XJå."\aTß"@\8cå\1aX\vQ\11É\ru¼*>´nµs\16ÖA$Èàu\8ep\96\ 4ù¤uñ¥a^ðÜq\ 1\ 5\ ebo\91t\15\aà%+ü07\1cD>\7f|\ 5\89Ǡߺ½\88\8a\89=©ÖÔH¿T.\fÜÔØ"Í\92\9eP½|-O\9dQ,¤(\93lñ¬Í³×\ 2HU\8di±!º2Ʋ5ÓÑ\92î\82ém\15\9dD\8c\ 5\9d´VH³d£û>\vý\9eõÕQd\1dQòz\84T\96\8ew\14¬\ e     Å¸\1e\ 6y{7°>Ôb\1fañ¸\9b\f\ fÖrF\ 6\8f\82r\95Ô[\ 4t\81èàòÒh°\1fv|în\13\98º^\rb\0R\¤~Âò\ 4\81\8eÆÉiËézwÁÓ\rûÌ\13
+1?\³{èÎl{+ÂÓù\17tu£s\8b\1fÑ\83"Ç£\ 5VÏpGYÚ\86Öít\ 3µ\82+úØ\1e\89ra¯8§\ 3\9b\12êk\8f\94\8cME±ºH%\85%5¶Û\8a\85ýêkÑ*²\80Ð\9dÇì ×qìd\ 5\845\9cü\1d°t]_æÚAù\02\94+àËH)é¾\f%~2½7VöÒ\fê\1a¹\7f`ÎÚA\90Ø2«Ü\84¥ +1\1e\8a³³½»òWÎn\91\8d¼õ·\1c\ 2\94¼}\81öãyë~"Ä3ö\178%qðO `·ã\84\8b£5Â\9auUüw±~µË\9epÒò<yÕ¥k\8b\91õÀ»\95\87þu\8fÿ?\18^#\80¥|Ý\9b°\97Tn\ 6V¹°N¤Be\18\14mñ?;»nû\ 2\f/\97*\0còNºÄ\0\87ü+¡KΨÆ\a¯\8a\87\9bX\1f\9a\ 6\8c\96ò®\rU7\14\r¨¨Ú¾¿BSxç\18kLe\18­¦\ e¦Ü\16¼h\82Å\ 6³Ç
+\87ö´Ä©)\bZ*çÓ\f   \ 6H-Ñu,Ä\17\182îë\92é¾·W\9a\11å[\865Lfô!)Ç{º\bèx|ö\1c@m\8ce\18\99u\88i
+=ù\82z<\ 2\93AT\8dÜ\93þ\12ô\8dÞ\8aîh\97\8b\80\8c¸ Ð~þ¥»»Å\92qÃi\11÷Ã\eiK\9e÷à|k,¹d\7fS1Å[¼W1ÕJÌø,ñ\ eO\0ÆÔ.á÷\96G\1eTµV      Ð«®²wCÚ7¨Å\9doÏn®¢\1f\e¹\93\8b`C\8f\94\ 24\12µ1\13õ¼QÃr\81Lkõò÷\8bwI¶\8ee      \14æ×òüL\16\9fûSIy\r\ f%7c1x\9aKý#¾K|Éuc\82\98ùãÂA\89þD:ÖZ\180\12Sf!#º\ e^\a/10¸\8f\ f\87\81Óvp\94*,Ã8¾\99z¼rýVuÒÿ\fzxGgøW©(/S?å\e\96H`\?\8c¯Øpµ\87Ûï\ 5ØuÈ\ fö \b\93OelþDÒçò\85g8ø:HyãÙÝ\8aÖKn_\8e
+\91\1d\14ä\fsv$êªrüuÎÂyP[¾Ë~OxCÚï³\ 5ò}¿\12lí×\a\1f&\16övÄz\ eûy\ 1ö®þ\ 1\89¤AÒ\9fõ ,8+çÔ`\11Ð/P\98t\e\ 1t«ÎÓÁɳµ½­úÁÕ/ õlÁâÐ`vLÔÎ_\ 3õÐö\120?\909^pUûbô½ªë Ñµ\85öÃ\855U\ezáº\ f\1d\aa®^`xè;\87§%w\ f\8fµæ\ 2\96$Pä\97àq\92\ e\a\19\16­\1c\ e2Fàq«?\ 3\80Ö\8f?nRü+êß\94V\16îÇJ\8dɹaY\9b\7fQë4Éfͱ¯|yqc\13ëy\0`Á@\1fðÁÛ3U\98\9bÍ­»\19S;¥Í\92dvë\91.A%*É\919{Þ¼¥I¾Þ]\8dBÕø¢À¥¶ke7ÈY\87\ 2;¹µX-À÷C²è\1d\ e}«`µô\83æK±µ«þP¶L±ìôP´Ö\80}MyaÈ÷HÕ:\9f¤\ 4ÏL\ fV\10¶Ü±<÷â=Oî°[Î÷Jã
+\11³\ 2¯ù\0Åeáo\ÄÝ6sm²rÿÚd¶\9fzxí\90<´ÐåbÞ
+.A-°UæDZ\97Ñr\0&\e\7fìîÍs\7f®úð¶+o½ÓÍ\1fÎγ\17\1a[\ 5@ý ½Ö\7f\8eéÂ\98ÁTcW\8aõÃ\94\0\0õ­lôG÷J\ 4\9b\0µ³äß\98
+\8d`ôù÷ÄYÞ\9d\8fÓ\12hK\19clr\ 3Ì\12{ªÕ\871\v\ 5´ÈÉm!î¿\9cUËz.¡\ 4J«Þ\ 5Ê\95\18÷ñ\ãÝ\820\8e¤0\81W5shÂ9ë\9c#(\8c  \89AÕ©`·Áî\1eåÊ\á\18da\1cq\ 4'°¹\99\9e\92"z\10&Øê¿\f.9\14}\b0^òï\89ý¸E×ö\1aêZñä=ÔNú     Õ\ 2ù\ 2\16\ ew«Ò\vâs\85é}\91\8acɬ \8et¿_\8eé`®#\8d\11\93\ 1udm¹\vkßÓ*\84Û²m¯KÀù*mG\16\90|\ 4få1e\1d_:\17W`\réþÉL\0hª»~©Jy0"Ù­Ë\95\ 56ÞÚ\1dõuÎIà    Z\98å\16\1eºF\ féI7Û\8f\rC|\91økÃç,Ͱ?½½ \9f\8f¶D¢é¿\9eÀgÛ\v©ë?Rµ¦\8cóÊÙ\fSÝÙK«\e)«Ö\85À`j\13ãÓ¡úk³\1e|{\rÎ\88j\19øL
+\19 \8b\ 4<Ͻòw]DÞ\f³\12Ý&\8aæô\12Â\16¹´v\1f5U¶zX¹gÃìåQ·¯F\9a$@÷±äS4þçpI2[#,\1ewþ¡ª\14«B\8aùÞA+Æ\a.Î=aEB$[`¥\98\ 1\ 2\80\95\ 6Ç\ 5:I¥'\9a\1ay\Ó!\93È:aæ\83\10Ãò\ eÛ£\18<¸¨¤­ÍÀá¡2¹\8fµù\v¦\82\ 5î[¾\12\13?\19`°és4ð]æ\98¶éÍmÕ"ØÖ}d|stmpV¹ëY"å\aIo\1c{\87`é87V©2\8eóYâ\9a!\97ø\89+\84&\8a\95îCÄ<SDb÷)=øÜ²ñîYka¹fWÏ]\ 4YQ-±±\914y\ fÐ\9aQÝå¤àÞ\14\ 1(cÈ\0¥úsPZúÙ
+×^³vK7\11i\9d\94\ 1B3\ 6\e[\93"ôGsUÖV7w\ 3ßo\9d\11î¤\83)õSaÞE\ 2_?N>£!ËöAU\ 6 DÍ¡å;~áÌm]°\8108-) ZI¬£\84\85ºb½âÈA©N=¼Ëè\835=h«;¯\86ôÎTe°ÔvlV\82ëâ½;á-\18~'Ã;´uwðÙ\9dáþ\18V\0\91Ƕ\90¾\17¸_áM\91\9d\7f6@ÜÓmzÖ6YmÔß\10\ 5°JÁ\157\95¨ÑvÌ\85áÛ¨µyúÕÖCôüO5¢@ÿ\83\9cð\15\19\18\ 5\86h@\rB\ÞÌH1·\b1\0æL\0̵Áó\a\10»Î=C\94¬\93?R\v¼ÙññM:ë\0ÎqÚ}t?\ 1\10Í\17¾\12W/Q:KÊè\0\13x@cÛ
+c5J&ë×\ eú¶\8fõÃßNoÛ$fÍ^åobÔº\nyõJG\ 1<\9f4»t\81à\9a÷Û\82\11\0ÿI\17³sSÑ\16=\9f\8a\8b\99°\8a¾\ 2ÚÃáC\ 1ws  p)3,â
+­û\10{²Á9\ fÕË\8aßM\96\r¡éCÅlô\1d*'§i¬\86ê¾Aß{l\93\90J<\8cc2Lc3\fc7ë`îf¨½¯\84\9bzeö¹\15>\17\ e\14¨Fä"\9f\1e\850x\8d\83\ 1ÉÍA}\a\12Aôyáécî\94î\87©\9e\17\14­.«Éã\94^iïnÆ÷\8e+Û»\9bÙ÷¥ç·l=\98˺\1f\b\10(\r\1dêö¾Ë78©ÀS\94
+\95\94]±ü\aÉ\93\v\1f\8d&ÆM~Àh\97,&\921»;£\1e<\\ 3\89JG{ÆI"G{ \ 1ÄÙðÚÿ¾G{éZÞHït²dc\95ò_õ\91ÞÒ\93^G'ìä¿t\8e÷²½/\84ÑÉ~é\1dïÄc \92\92ýÒ;ßü\1cÕìé:^õÿD\9d/zþye¯ÿµ3¬\1e\95\87ÿ\153¯ËýãHOѳ<²×Ý·ÿ±\8c\8dñ¥¯ºVüYkïé\11RÍO\11\ 4){\92\1cIkî]¿ýÓq¿åºMÆóü$\v4OÂ\9b\8dÿT\82é¸ß\1dÄMÆùI\1fçMÆó²?Ø\9b\8dýÉ\ 5à\17û©\ 5à\17ö²\1füMÆÿÓ?#ÿBn[¥øSrßþÓqz\1c1'¢\ïÏy\91\1d_ûÀþ\99ý«\ 4þæKÓ¼\ e\ e\7f­ñ
\1f\19_ÅðËKoç     \1dtI}â ewÄ¥úuÜÅ~'\19Íiø²Ûÿί\90ø²×\9dâo\17âË`c-é§v\12g|TÞn\88\ 5ºX\1c´Á)°¿tîd\17ýjkOû)Ô¿üÓy¿ðJ-h\93YñGS,õR\8c\aÐÿô«\92ôm\1f\92      Ì\14(¥ªRI\ 1­
+Ò¤ÐÛOÈ%L\934¹´¯I}D¤Mµkt¨\92\93K\1a\95í,rR\89cÒ¾%ôÒM')J¤¢RÆÛNú\95\1a\9d%\7fKB\94º]²L&\9a\8cùÕó¿z\7fÝ»\8b¿ÜG\1fìMÙ÷\8aÚ~ðÆKï\fcþðÎFâþôÝßü)\1d\1föÉÃÿÛ.+ÿé7§ÉRI÷\9cþb\ eKÊæ.&¼ßs)¯ÿ9l?üÿ¿ãA8\ 2P\7f\ 5lïãhõ\1a8\9a\1d\8e\8fúá»ù\ 3¸Z_\10AsMÁ\7f\9d°äßiº<¯oËj>Ö>ÂǦór².sxô­òøÿ\8e\10¯\87ñzoÅ7\8fÿ)B\9fE\8abF\83þ¥k\9f\8fÿ\ 5k\9f\8eþøBü\fQó¯\15ôB\17ÃÓ2ç\16q£SÅüÑ=ðøº\12\12\81=\15\ fúa\vá4Ï\ 3dÿeÆl\98õá\vô\aÐ\e\93þÿ\84z}\81\9a/vò\aL²CU\7fÝÃmëâÈ·àù\92\1e½\b4vKnyRí\17\b'_GBJ\9d\1f\17Ã\9b\0Nf²®ë\ fH4Âo;#)yqW*U°ë\91\ f\11\83\88\0¡,èæP7W\95r¡y
\82à\aãÊmz@%wT¼ÎÁx^Å\ 5Ì#('0¿Ë\8bø\86\8b\8d\ 6\1eÖ®S\ eJ¾Ý\80VHÐâÈÍ\ e³\a\ 1ýv!\19ß\aÁpùÏu\85ÌÎ\87\8dê\88y?\12ä\85Á³Òð\9dMäñ­*$êb>\92\7f\9f\9bæ\99>f\ fæ\1d/\8c _Ä\11ÇbÑ\bÃ^[J¹ñ\ 6\Õ4Á ¼Áç|`\1fxàê\ e½1\ 3ÄïµÅ\9dU\84«ãGºë׺é#Ýu\vÝtQî¾\ 2÷Zô\97Z¡Í¾àèCº\1a±t\12\84OtKÔç`7Á0ß´+SéáN\16\ 4¾\7f\1d®¿d\1e£å[d1d\9a½Éí\1f\9d£\0\9dF\ 1\93\\ 39¦WÈ\94-Y\81 0uî¿z>Zî9\94{ʶ\9cÊóé\85á\87\11ܪ­¼LB\ 2\ 2¶k\8d¬nþ¦%@:¶\97h^\97\9fÂ\ 6\0\ 2ä\84\80JÅsAÙaSÐð\85ê\86»)´ô;Ò±Ã'¡´ Ç­ä\9dCé[¿¢d\9dI>«ç8ÉGü\ 6D\ 4\96\ e\93ÓI\83ÔöS©\ 2.\ e\85:\91vm\r\97ýPN£\14Áø\9c§¤V(EÒï\86½¬ÌBWù¤KY@µj6±lÚ\ 1zúZ½\bñyÆ($\ 2\a7зQX\91\81{\b)\16Í\9d¬èÇ\94"Ú3§V+ \7f/'M"ÚÌS¨¨]\1a°òÃ.\80¦\83\1fí0ba\ 2¯õ8Ð\ 2cXwðv8¨\8d,U®\83\96ó\1a\8d\aÚf1yá\ 4Ð;^\85=5\18\82¸F\18*qè\18\18¬\1a\83SÄi\1aDu'\10×Ü*&\ 5\eh\8cª0\0\1a\81×\ 28S%óÒM=\ 2ùÅ=\ 5\9e@\8b !\95UèÁÇ\8bÕÙ|2\ f_\14~\95ßö9䣮eàï'\18FQ²SC>\82¨~:\81_\15âMÙ\ 2í\91a]\ fþrØýpç8&+Ï\16\ 2ÆÐ\9c~.(°ùÐzx@¬V\1eA×4d>jÌë\9a\1fì;®\90\16\vnBlh\91\80\15ØQ7 ¹¥èÕu_3?°\82£P±Á\1aì*\r\r\9e\82¥ìØnö\8d?²ê¿\14\13ªÔ­\1azwUìÍ\7f6¸(ýê\8aù¸*8ù\ 4_\16ê\ 3ÁóÁWó!@Ö4bRæ\9bH|ßæ
+3Us\ 1î\8aO'\ f\89ÅÒ¹{ð\82\8bÇÑfZ¾¾
+æÞo\8cf\9dOt8Z¥*§þ\97â\16K¸Ýª7|û3èÞK½\8f¼\97A?ÅÞ¢\8c÷X\1a:£Â   \82±m§§Ë\3@\9c\99\92sz!-\1e\ e5s%+FIO\88ëYâ\182ìó\892x«Z`\ 4Ùl\15Æw\9d\\81ÂUme\89\1f\8dïF¹þåÙ®®\89ëÆ\ 5\10Öày\ e\9e\86\ 1\80jcׯ\95\ 5Ï\97I\v\ 2¤<\87BêªfÑ\98ò²&K·\1c¦8i\97§¥Ë\`\8dóßz:º\81      \ 2?PÏ*\1e«\a'\9dÕ\85\8eÔ\1aÜ)\ e\9a\8a\9c\15\82ò¨­e`Å¿\1cÎ%yÕÍ^ú¼cyÛÁ,7¦¨É·X[$ôð\17­ká\94ÃJP\1eÜådüF2¼]°/*\14Hb\ 1÷\v\ 6\9encp\82÷ÅuØ{\97cb\17}\8dFmø\1cºëÞHs\89\14\ 6\9e\8cÛf\82ºÝ'\98evÜ\14fAì\95uq2,\e$½¶\bvì^ضð+` î\97\ 1·¢\92¦ÛÌ>Ë'2m½=ê\8b\89°z H!;p\9b\18®s*I\9b\1c\13\8eÓ«\86åî%+@\12`7\15´yä\98®b\7f(\14\9e\8d\ 2ÿø×@Z:\v¼'çß²\91U\9d     \83"©¼:h«\15È\17\93\87\8aØ"Uïß·'\90ÿÓºß\92ãÅ5Ên*Í\ 4%à [µÎ½zpÒz\0xv¢ß\ 4ì\14NéWKEÁ\ 5ÿ¨N½Ì«Ýþ\b\0ïߤý "3?\91{      L\9c6¼¹¯³!:mÑ]®h\v\1f\8dÛ\ ey¨m@8e;\r\83³½É»Æ\95¶¾SÚ\1f\ 4]\94\8c\0\96\9e´\98\Æ¥\ 1§/\13\96\8f\ 5Ä
+\a¦>É\9e\9aÈ\97!}\16á:\9c\88Gi`nMÊß¡h\8b\1c\90°\87È.\8dР     \7f#fr}²Í\89s·Ù\1d\83·\83ïIoɬ,\ 6;^\8cÝ¥OKê\881ç+b\10L\8cÊ\1f\ eiêz[Ws¾\98\8dj\93º+~ÂIä<V5ÛM\95­ùäî«\9a\87\96 \ 2"l\e*\8a\bË\87]4ó´ô¶&ÿÁ\8f\957ܪ@@8ü«Æ\9b\11\±T­+Þ4±z\ f\e*»Öb\ 2\85ñ£@á5}8ö\1dï¿6\8c9QM¯o@qÊ\9d´ÔÃçn\ f1ÉëÈR\91¹é\90}\8cÑ¡à\83,ÇÞÙ;\86ÖX\82\ eÁ\8dJÝW\95\99\95ß¼\95S¾#±\ 1ÔPm=\eUKEí§Ú\83ø]Ú~¦¬=ݱ²ã\18\ fÆ%\ 3ñµ,\\9f\9d\9b»8C¼\1c5R\13Òú\83¥\ 1uôlÖPÛ\10\e\ 6ÑÕ ®\ f±xJ¡u~p«
\f-æÄk\89~\ f´²zÑa\ 2çÝÐP\8c\ 6\9eÁµ       X\15¨lú´{;­6\83~ð«ÇÂ^Pg\13å·¢\10_H\v\7f\1cÈ\r\ 6\84
\807Ó²\9f¸çb½
+©[ÂOLë\7fËB{¿åD0"\80'\1f@%\0\ 2ïÉálCõ:¦ÆÌØ\ e\1fc´7æqÔ\9e¤pFE|å\ 6ë\88+­þo
+\14¥ºk\94\ 5z\96ñ[\ 3]Pï¯î ¢Si:åñ\ 4åÂõ¤g\820N}yßk\ 5\9f'(Ñð°Ó\ 2\90ûA]\95\87/Aàk}\17´Q³\93Ô¡)Ï×\ 3·þNì@\ 2\0U¯ÉªÖôí§¦ò\v'­,\r¡© \ 6}-º>aå\17§\9dä)@\a¹7¦ØRüöwaG       ­ñ\ e©×·\17Të>\8fÃë)Z,ñ¡´Ýd\ 4\17\ f\1a[OC£\0T\18ðÙ\8eÀ\1fL\1f\0\82\a\8d|1\98È\rt\91`fÐMßùHx\8e_\87¬'pðU@ÂW\89éu/E\8bÞ\9ajiUÔ\9baÓ¿\8c\13H\8fgl\1d«ðR\844«ÏÎô\94ªí\9eÎìÔVb\95§¼wÆW\rM\ 1\14\ 1a\r«
\930Ôií¹J©\10Õ\88Z\80\92\f\9aã;U\92á\ 6»6;|&[\7fË<\81¸eUÏÆ}ã#,À\18\9aÚzÂTa*Úk\191\9a\81\89º\1d\8a\8d¯­üé×Ùµ\91²\9fñ\1f;\16=y\1eÌ\1fl\0ÛXt|F3 \ 5FîÐÛ+\aìÛ\1c\87é\99l­8; aͱP|×&7¶kì¨\17>S\vc±Ú\1aÍ\e!\e\8cÇ_\8f\r\86(\ 5\80À[ig\181îQ\ 1ï#°\8e\r+N\10\f&\8bï]\1cq\ f\96Â\ f\85y&\Ô<GÓ\a\86\99è\8e\0Ó\83?óo\ 5\86jxFÌ/yà\f(\9f¸\1c\88Ó§\85\9c8X÷lW]¶nÚ{À\174`\10|c>E\97"\14rF\ 5É\92]K¬h¤\ 2 ¥=.è\ 2ÝÇ2\1f\87nçw~ks±¨Õ\16ï9\86¥*\10Ò®ÅìícÙÝsÅZÊ\8b\17\1c\80\ 6#<7\f\90{;-¸l\e\83¥WZ Äï\7f\936\ eöv*\90\9aË\bád\90Ã\83\87ι\16\1dë\ 5ßûUÉ®:=Î'âZf½ò\a¯2\8b¯E\1a\1e÷\16͸)C'\92v#!¹\1c8"\96\160
+SÇ\ 1[r\ 1\8al\12%\95 ã0\19ZñZB¬ËOU÷T\87\94(8\r¢Ý¸\96BëÉÛ\80R]MNóÐ\1fhd=P¡=\ 6Ög_\88\1c6¸· azBÿ\86\18p\98\87\80ûÝÀ­¦\1cÓõ\ 4§\1aë\81\ 1·»\ 2\94Jð¿o³\8c\8c\r\19ê»\ 3s\9e\7f\ 3i"\11\91vâ&f¤ò\8d\1a×°åç·\11£dSÓTßlèF=!RÊ¡£¹;\10Wk\1a\b¥ô¶ò¹Å\94V§¹Þ\ 5t)\ 5Áp\9e\9aX\0à¼\ 3%\85ã%!k!j_ìüÛ\15¯UêB\88馦ÆÒoñÒ4\8b\89hÙM\ 5¸xw{F\8fõ\8dáE»\ 4ç°\84/\84\1d§\88\r\93¦å/Ðo\14GFÎ\80\80P\83ßÊÃk°æ\95ËDn\ eôå\11\9b¸«4"\ 3\ e?Gº\1f\89[.nf¹Þ\81wç%ÐÛ\03=\1dþ³ô1\80=Öû\87çÚ¶Í&\1f\98\7f «ÝN
+\a      \93ç(yúWeÑ¿|6Ïܸ_G£\83\13wÑÁ\13â\ 6\97caøðÆ='\90Ýs    Zê\81s\95Û\9dx¦õ_h\17\8c(>\1eùè&\9eÛ\92»èÚÌ\80\ eµ\ 2\ 1\17\eά\9dO\86Ìö\16±\v'¡     ±ÑKjé\12W«Ê[jäIí ÜÛVÈ\93¿\88  \9fâ+®%í¦\8cÒ$\ 3E6ýä]ÛG\91w-\rȾ\84Ù\1e×'\ f\11¦\0¼\80\8b¶jk\97&\ 1¦\r\17tÐW\92ϪÔ\9dön\99ìîØÙµ\888-;\93ÉI\ejáS
+áâå\8d\e\9cr+Ç(Ü\ 6vV\9a\ 5ö\0\89¤µ,7¸¸ÆÞÚ\vȶ\8d\ 1y\83\86°"í\1a\8b·\18ؽ\9d\151\9b\97¥i^ö\eVbñÓÁïÚW\82nNüøÍªú°\96×í#F\81g#\vîJ\86Ö\ 3X\ 4j\8665\90\17´ÅäPYU:ão\ 4Ñkï\ 4\9fê\rØgTþ°Û\84é\85s\87\8dyÀ7(ö\8b!þõG:w\82ÉdÝsq\ 45ÁØÙ\ fC\p\99µi^\f\rb\ 3Ë\98
+TA\vÄ8\19\17\96ï\9e¶ÐBwô»\9c jÀ\82³\80\8dÍ\1eÑl\81\86¤¼£\83k¶|\ 1d\vm?¹¤OLK¥Û\·T!\95\95¸
+»ÉÑ\a\18\88b        ~\1e{\1c\ 2ÝÇS\13àAYªþ:¡ëåk\83ù°i\9aV\97\ f#jÞÑ\g<Qûe,D\1aÕܾ\93SNýämPÚ \0>>ÅÓèä\8d\15ß?\1df\81¯³í\86ºò\17\8d\15}\1dA\17\95h°OµÕ# \8dé,(ò|Íq׸kÍÜ7¾*KëãfÔuÀ\15Î\9eë_FåE\7f\1a\feÜp\18\83b<\8b¸fm=\e\8aBzZ×\8d5oaÞô\ 3« \a\8ddz£º\90\13\93\16      É7ÄNäáßè\82\eGn\ 19Ü4:%«Ú/Ù\9cÚ¯À65e+O8\100~¨C\85ض)\86÷\986°õj@ÛH\8eTC\97½û`\ eôÞ$½\88¶þ\ f¹\ 3g"ê\17\89-eB\ 1¶Ù7¦\rÉÃt\13n{JÓhîwx\eí\a\93\82\98MÍ&'råÿ
+3ég\91¼çq«\âw(¿(\17`O\9a\97}¬_Èlª=!\17\0f³áU:\9bQg¾ýÖÚ\98à\0\1a\11Nï U\83ÙÃq\85Õ\9fdl(\84ë\96à8rôGx´Á\ 3\83ß\9fd¸y\89µ\ 6²\82\96\vðì\8añ¦àyö~°Ø\fw\ 6\81p˯é\14 \9c7/¹ð­Â\17\11ÖM²\ f»£cîûAûõ#ýú\87wµ¢®\a¨ù¿Q\8e\842ú0®\95}=#\19´ì>\81¦ø>z\94ù¥¯ÿ^ikø¹¤\ 4\ fÝL<)ÿH1ê\7f"½:\82\ e\82<7\ 1\ 41·Mñ\ 1ã¶|ܾp ÃÄ·BZT\1ee_¤*tNÐܯõ\1f\1f p?WÑ\r\9b\0¿»V\8f\87~\96? ô\9e¹\e¢¬¼\ 3\95³ÐG\11\ 3\84:\90\ 2RÄ¿êÁ\8cÑÂ\ 6{\84\0\ 4Ì(\vØbÌù×\11Øòð([\19øo@¬\ 5\99_θ)Ƶ\84\16\85\16\v.×±[§nñÂ\a\aºÍ\11üu«øåfÏ&\ 3¸^s\ 5Ù\89\8aîëÆ\87û\89kwy"Ò¶u\1fU\v  Ä\98\9eê\1d\1d2\17êDZ4r8*\82\13%\ 6í\r\98\83HD\18\19{]4þàþ\f\e\f~9\ 2i\13\94\88iÕ¶\7f\ 6L*àö\1d\18SÑ,4ÑÖ\1e}3\13¡¦$3ÿ\ 6\8cÿ)Ø\9c\ 3H\ÙaÅbéÅk­A\ 2\ 3\§Z#Óù\97\1d\\8e³º\0ÕÞ\=?Ù\84\97¿\ f¨lL\80\11m\9f´\8a÷Xy¢7\8a\11(r¼Go>Ôf¹âx)\1cJ<s:\8a¼¨ÍiAN\9fú\8e\17¡ä\82
+e\ 2\13x¡ÿ@ ¨àAL\18PAL\ 1\92¸ß¾\ 3|?×\ 2
+`û@\82\98\ 4a\ók5\98&R3®\1f\1dØ%:\17¥CoAN\8e2PB{eSpÞðË»J\
\8c\ 3\1dÀ\82='<ôâ\83ª
+}¸Të&\90aaí¥6ã'\rî\96
+8\85ÓP\r\1a\8d\0\86n\86Úü\144HhÔ¬\ 2ïÀÑ\93ö\1a\fsl\88ø\ 4×2ḇaÜ\13\Ù.\82xIxjÁ*\15Ö\0M¾Â       êü3'\95yÈVØ\14ó\aÉD\19&@\85o#OC\91\9c Ç\9e\10\f\ e¡Èâ\13Ð×\15® Ö¼©Qø³Zò¦µ\9eB\9d\1fm\8c\1a7Ê­\89âJ  
+\88¬ß\97\91µY\aª÷Âðaàñdê\90\r÷dZÓ\8f\91\90m\95ÈÈA\0Íê=¥ê
+\97¥r7ÃÛÁRø\ 3Kø{Sb·Ö>\12þkkúø¼Ä\10\1aîCÚ``©\81^Òj
+\93V\84    MM»|\12á×V\ 6\92±<»\ f«õø%ó\rO$\15ÒÏ\96\92\13ÕW¤@Ã@\88\99\1f}byÞ\95Ê\95Í9ì\85&$\98?\8cÛnÅY­:\98Q¢ë\99\84ôð,O´&X¼¥æÛè@òc+Qr\11ÏDZ\ fc\85øüõ'8¥\vwÛ:z\1cÓ\ç­\ 6ø{½$-òzwfÑ\96Q©î*»\90\83\94\90^Òõ\a)z^Òù\a(\8c`\19I\bØ­õ\8bchÈ\ 3«HøTÄ\1c¤Âö\98\189L
\93Pr\93A°|\13l\1e\e\ 4Á6Á!°\1c\13l\ 6\1aý\83\91     \93;!Çñt\98^jÒ\ 47àõuù2ùT\16\89þ\16(yÁàõ\93n\91¢;4\r\95ôR K\88í\ 6\91\1a5R\17\ 4\ 1a\94\9d©\1fVL\f\87g\1e»,­gì\82 yÕ§¡\15?ëUâ\ e\14§\96H3ò\8dÛ¨=XHã\7fw\ 2"\809R
+0|\10.>¨X!\ 3Ð*\83Ä4i}^è¼\7fy7l\ 5\92\ 4\1e¬X,\9cF3$\1e½&ó\1f"Ð@mËÝcùuñðyûaZ\8e²® ôÎAAm\9b÷L
+\ fn\93\19¾¨\90{\ e\9f     k4ư@5k4ñ^EÜ^ÔÐmw\81ÁÂL9@ìp\ 4ʾÔ\f\98\9e\89¥;`\13\r­\85$þå\88fn\ 4àE;RpôsçB»\12\94ôè5Á\88\96\9c"WÀã\12\93û\91,@ò~ä}\ e¥:\9dyE\89º\8c\aǹHÑ.¥<\90\14ã\12ÕÀü\99ý$\ 1î\15Ä`\ eX\8cKúC¬¯=!ÎWô\87Y\îFAÞ\15\1fr\94ô8±íe\1c\19Kd\9b§R\ e|òk\19TêpEbý:\9bëQ*\r\\ 66e>Ô\13d\ 6\7fnàL  $\ 1ß\86D\ 1ß\86FwR\9e\87n\1dÇ´.péÔ\80Kl\ 3á\a¨\ 3³º\f«¼æþzl\ê\e×xÙý`RI\8f$쯭Ý\8dÛ\9b\89½Dª\8d5 ÇþTZÜæòÓð´(§@lÅ\89Ö\15\1eÍSɳ&\1f\ 1·v¦¾©E,û\99\1f R\89F¤³7\1f\vZ\1d\84âôR\93Tê*l\1co"ò\80ò\94ô\949{ý¯¨W!AITôV/¹\rBE\\93\1cßßK\eà)*m\9fI\1e¹\19äp\8eËD\9eC\81\e\9cÚkëì\10¨*\ 3Y|XlÙðÚwT.ï¢ïn9\7f\8b\ 5ä\8d¢\17ÍÁ\8bb?Azí¾ ¿U>¬P\86a2.פA\10¢Ón5\15¬«à÷jÐCpÙ\97^38øÇ»{­\12L=5\vØt\9a\84yóî \15ÛÙ\82`)"zcÒ\7fV/\1c\8aÌ5Ôæ û\8f \1dõ\80AÌ \12þ\1dîK\86Ø<\eôç\90{¬'xº§³\96kÚó*+©ØY©9©ªu9³^ëDl\ fj½®2>\a¶^ëBl\ fh½­\ 4|\ fÙ^ë\8e6\aí/k\8d\16\ f\ 6\ 6WÔ»É\17\17Y#\83ãd\8cÝÖHáxÙ#\84ºÉ\1eG\8d\92<\95ÖHá£à~Ü#}~63îf\80Ø{éã~vϧ\1fçç,Ò}|7ëhÝô\8c\ e\9eqd­y\ 3ZíR}0WDÝAËN-jÞ¹ÔâÂúº&̳n¾\1e[iÍ¡µ?¸OLo\8f\em©­·\81\eohÖÛà¶öö6f²·>Jªì#YS\91\17å8æúF\f l\ e½\1aÛ6ó\86ÀìX¶¿\9aÛÑE¶\99Þ\0Ù\1dd\12È\81®Þºà\19FTZ\11\8e\1aÈâüA· \ 3·¢\vú=?\824o,\82»\93jn0Ϲ:x=hu\95T_Ê|\90Í\83ÝeH£¤ï¤M\1d\cQ@2K\86\9c\85-\16à\ 5\94ÎFå|\19\0@ëßÎ\82\19ÍÈÂ\82\1f5ë¯È³?\9av4\8a\9chݸÀ"DfX\ 6\ 1\14|\a"m¿        ÞF@C\ 19X=kU½\8f`G{l×ÞÏ4ñ]ñ¾Ð\18<+&á]\92Ú¦/T¢DP{üæØ\ 1É£j}×\82EV\r×»»ñýø\84¢UF\a¦\8bÞy\17¶Ýmú<\ fN»çvâ\9e*\95\ew\r·!û#F:    `÷\ 3Û¸\ 6 ßì\ 4²` *FÐ\9aÓS\bŤ\10\8dO6\ 5\ 1FZ\1cDzûÛ\1e´@b$¦ÞÍôú 6\87\ 1e\9cÇÁJ½\ 2äh\ 4E®ÇÞÀ\86\15ÛmâßC\10ò£á\9dÚ#\93Âú( ùÐ\ 4!ªÅÅÄ\ 6ð\9c}\915Á<
+^\8f\1cÈ&\10¾\ 6(\ 5%IÞ
+(      Ås\9c\15\9a\ 3O¹Ë\8cjKÙÍ·bÎy£\11ÐîØì_K@v\16m[\8eý\88\8b;v&Éÿ»sÃû},\85§ËÄ\82¹Ù"öÛ^1ÛÜ¥\ 1Â?»\8cH_¿ê1\81ôP\e0Bö@¤½~\99è\r\9enY\14\ 6Ï(\85]5ñ±Ý'\r\89'\81ðÇ\95ö\805ú=\1cª®¶É\1d\vÉõ;ÈÑ\85\ 6ÎQV¨\9bÛ\83\82\0wó)\8c¸}âG\92q|\ f\9a\ 5öS\82ðTihnB>·¯\95E~\9aSÌ)\10³dp\8eÕÙ\80\a´\b\8c\18TL#¿º!b\9d\92(\97î`\ 2ìì\ 3Ûÿ\9dgJxÉ©\0\fôn~xäT-:¸\ 6\94I>2¥äß\84pGÎ<ó\1dLê«ITB.CÕ\83æ¹ñÏóó}S ¢ö&½Ö¿\16\93Ñ\vÞ5 \ 3ùWY7Õ>¿\aë©}{¹ÀPX«¿\9bd\1e+M\90RÞ.z\94g\8eêo\1d\90Ç\ 4-ëï}£IÙþÌÌÌ\86\12I2! @B¸¬\14X¯¥\ 1¬\84\ 5ϤÌ\fÀÌ\b (
+\89\82\19\91\10\15\91Á\fú|å«Ëj§\85E®´mÛUk|\91
+\8c\92$\80 "5Q  WmpEQ´\0\ 4\fûýýýÿûï³$"-këo\1e__t.ó\9eç/C{[¼æï9½Íèo=ÜÞ\96þ\1aï7·½=ü\15õ<=ÖÝm¶ÈãEÛó\98pQ\9b'ñëå\19E{\7f-ÉGd\16ÏÜ2Ù(\193\8fà:\rëË[\11&,#è\93ñVeâagâʳ±\95gä.¿ò¢©Úª\95Ü\9f0\10\85µ­*ÈB\81Ñi\9cõV´:\0º\92\8b:ùV}´«4åd~Z\85\1fQ\9c\9e1·Â½îÖ
+\1cJ}_gHò\94\88\99J\1cÌ\88¿\1c«½\vÈß\816Ký¡\17\91ab\8aáåA\8f\9a   \942ø¨ï\10?ZÝ?ªFy\13\16usZ\ 1²]\8d\82`\ eq\16L\vnp7Þ*áCN¹@\92ªt\867\17\v\1e}\ 4{\99ToI\12iN\8c\ 3\rèWjÿê\80/k:[Ã`\1cø-üwΠ©\´}\1e\94Èr~;v\85R\844\e©¶<5þäáûîG\87\1d¬âÌ\1dø\82-Éê\ fF*AÀ\98r\8b\ 1?\87\ fÇëA£\9bca\ f\12\96ÔVÓ!c\1cÁ\a\7fº\84<2)\ f\ fe,Ù¦Õ·5«\81ì\86/\8c\1a\81Éú¦¼\9a\9eÅ6¿Êx\84\96ð\85\ 5\vXcÇ\91!\134\95æqi'\1dfRG9\ 2â?6l£î|k{3ï\8fýslJ\93!\ 5\ fÕM\7f\8c©2\8caâ+Y\1em\84\8c\9aã\8f\80-þSø/\89ÒÁMy\9a⻣GÅq$r\88Û\ 1Ù?\1d.9¢V47d)«9Äq¸åÖǵ\17vMY\9fÁÊà(\13î³x.\92\17\rY`\8f$]¤\1e»éC\8cº³\fóñ²<äVaA]rª-Äc¿%oé"}¨Ö#l1\ 2¼Ù\95O-\1eQvS%ÂÌ\82PÊP\10j\12BH\80\19g\9fá#\94¶Ó²é\90*_\19\1f\93%\1a#D\92IN\7f\95¢F·:$#\10#D4>í3s*é¢u¨µ\96)\e\9d2Òrø\8f\8dåW\8f\8d\87ZgÜù_é\1f\eê¾Høß\84u\'²ÿ´|o Ä{\1fÉúcã|Ë\18OcôÇÆÙ1\84áîÿòª²?NïóG:ÿÞf\1e©ùMS3 »ñã\9dz;¿þ£\9d\7f^â9×¢eþ5VG³p¼s¯\1c×ä\8e\9c\7f\94s¯Çqý£\9dh\19\87w\1fô\19\87w\1fÚ£µîÎ?µGkú÷oéQÚÿùe\1f¾\82\19/Ý3\1c:1âe \ fÆ!ËOǧ÷y ß\8b\1c31Ä\8c¡&~\ 2\87°æ8aîW½Þ*Ñï@Ä{³\9f´\91É\b\14\9c3Ge\17xÉK\7fâ\a\0ç8\83ùu\rA\ 2AÜO"ÑlÛHM\8f \ 1\86\94®       ëÝ2\8c%³>ÖÙ&rm\92hÚÙ&¤\8fÙr'?Ìåæ8û%Jf ¼;\11ò<+\11ò>zcÿµZ·Au\1eÿÿÂ4Ïò\10¡»%¢ò·%g×Ç\8f\14{¾YÞ°þê­/\ 32ïÛ"a_
+\8cÝâa\95ã/yexÂ^\19^?`B°Ú\ 1â7¤ùê´\1fæ\8e»ÞY_ò÷\86\87 Êÿ\84\9e\ eíFq×rwi»ë.Oöq\97\8f5«f\1fç\8eÙ\93»o\93¸wá(Yr\9b+\97r±_,ïWvW¬\85\v\12öÊôÎðÉwpg's;À2½³¿|®æwòÔ\93\8f\9fº\9c\1f"ÉÖ^úÉÖBøÉÒ¹\1eé\9cû#¾¬V\9cü\83+ʹçyü\8ev$\8díÿÞ«zÿâ\SÿAY¡ÝVÑ\1fñ\8f}¬Øhü4W¸¿p\8a÷W¢ýûGÉíz\ eIÍÙ«:áX\8c\>,\92ju&×%^Ñü«e\1c4\1a<\95\7fóÒUý«ÿ\r\bg»Wÿ<\8aÙGt×$Ó\f_\9aVUÍ6ìñeù|_\9a\92üá\99lZw,òEùÄ\bÊÃlY\12,1þq\ 5ùÃ\17ç£W7jÚbËãOò¯Ã¶\840\96NÐ';ý*?}Ç=sûÉsß<|ÿñ<¤ç4º'/û̶§mãæzz¯çUÃ÷H\1d½Ô|þêp_º\8f\9fÝ\10Á=Ñ\f#ÝV(?ûUrÿû\7f\7fìbËÄyÜ  \86\ f\91ø;Ò\13
+\9f#ðØþ\1fôCÌ×\8f;Ë<>Ú\1fѪåèükJ\9f\1f5\ fîÑ%í`yÚ»³¼3v\
+/ß6'ºò?¾Ð\96\1d{£[Ðiu»\8bW\1e{oÿ       (»6\eBí·õ\9c\99ì\9b\7fòrgÛÿU%\1dÇõRQÝý3\94\90w£ãþi±}\82a\ fÚ\19n.)éÀ§²{aèÀs\89²\fìhý+\ 6\84gäü[8Í\85\13
+Y¼\8d~\9ey\e¥\9ef\96ú¡£8m­\9b\1d\93Hm«¦ç\9a\v&ÅdÙ*àÎ\ fv\80\8d<\9b\8cm_\85\18÷\1aÈ~ðbbMm\80\füßg·m\16Ê\9eº\97#\12죶é´Ý5&]×8õ\18\7f.2\ 6\961\15\1c\90Ý\ 2è\86\84\ 4*åAÑXi\8e'\12èxϬÉaf:\8e\87ÃÜtºÃM\81Y\fn\8f\8f¡\94+J\9e\1aï\88\14\18\¿P\10w)\1e¯\14\9e/ÖüYOæ2"\ f_öÛ+\8b\89y&-­:VÍr l\97\0}3âÚ«`\ 5cWXµ\170±WºãÇl\99Ê´\90aæ¡!\1a\87"?ø`G®½ã\958'\96\11æÅ\9ecJ\902\TµD\ 5Ø\8f»ÐdØ\9b+ú&&ÊüyÌ\7f¿@\8e\8a£î*|\b6ûÊ\8eâm÷!Õb¯\7fáuÂ[þ¤7¿rz-ç!Ú­;Çô¾\17)ñMYä ý§Ùmæï­ôÿ\1ddÕÙÝ\17\82Ë\817àüüOù\9b;[ÝXâ\7fu9T4º\9bPZ´ðò_[9X\97&óïhö÷{·}7ùZ´º\9eQZ´ºI\17Ú´ºI\10Z¸Ëé\7fþo5öYµxO¢¸Öÿ?õ.\89¼¶\97ýE¯\7f\7f«6«ùÙ³Ëû,ßÒ-{õBqí>-uÕ¿Ã\8c}mý\³Î«\81£÷ôH\82ûQ<3÷¦#\93ùn÷ø!wá\93\f\1dé\r\96qÝé?\80µïçÑ¢ºä~ÿ\9c\88\92\rûyâò:\92\14êK\1f^ Ã\ 3l\93©\15\9f§"kùy.òÏ¢áɱ¼\89\0}6M²à\88\9b\9a\17æK1ó\17\1d¸ªyüòÌ[\12aÙ|\88ëË\9d>\8bÛ(\ 1?y¸B;Z·\9c\99-LÂ(yÎ\91`%þ"åCÂ\ 6-x¥\ f1\9b\86\91\ f°íÐ\8fÆ\10\100\99}ÙýÃÆºÕ\9eé\b  \97ßS­\80\9cæd=l`\95-¹Þ¨\9e¶[£Ì\112\8c\98\94 \9a#sÇ¡¢Ï\9dD;Ù\85\9a\1c\9e¶ïrs\1f³ú}\9dfV\ 2\94\13\84]\ 5M¯°Zì_ÓÚv8¿ã¡\Vu\86$FôWdèuðÓÌt?ÔIÈ\12.~\91[þ×J$«»\87³7ÿ\84\bîü\87ÅG\12ãa\1fO²0-Ç"éØER=\9f¥Ï\13\9f\8f߬\10\9bGC´\ 5eH½\ fó8@ %-F/î\97bo\12\a      E5\8f«õa¹ÌÅy\19yî{\8e\ 2#n£Ö\8bª\v Ø£ 9æ@5N»ÏÀu»DÙ\95\1d \ 1\97å-SÑx\87T\9eÐÉ\r¿ON*³Ll\85Gß,öNÔ\1d\91L¾ÄÊ6¨\91\ 6\94Òø\88\9d\ 5ó\92Þ½±q
+\89º\0ªCÀ
+\18\1cië#Õ5òg\9eØm_©¼\ fÔÙ\14\ fp»X\9cí};üCÚ(\94A\fþ|§íJÃ\\18ïÊ\9fg\9brÒh\9eùÛgY¾K\v®\88Õí\87²\v\9b\18\ 1ÌͰ¡\0M\ 6ü\92\ 5}?\92p¯©²\83·è½óµ\9d\80\9e\9bZPt\80\ 4\96ÊäÆ\8b¿(Û.\98\95zxýíqQ\fÜa¤GÍÃx_+\87ú¥\fYÓvà\vn#i¾Ñ\a\94\94\94þÑ\ 3T$m0fÔE~\13Ù:©H\e¨Û\91¼k\ e¦\8bm\11=M¥¶\88U`NFÛD%\9ah6Ú/ \9a\93\8dFöAë-ø\8e\98\84\ 1ßþÿb²Ôº§¤ñ<¬ü\8dÍé\fpo<\7f»¹\a\8e\88"\ e\94\8c¹ò\12"è²8e$;Ãñ Ô\17>§´Uü\1f\ 1;ø.«»\1fÈEÀø(Ñl,ò\7f­[\95\9eä\12ïù1ô/¯Z æ\®Â¹õèH":ÂzɯV¹õìZê+J\ 3ÿ6\82ê»\84\9ebdö±@\19\9bð«eÑ\81\94ãXrý\89«2¬Ãxeò`A\ 6'\8a\14(*ÁòʶX\8c        -       <-¾2C\83gJ8\ e\12¨a\8d\9b³\90Ø\91g\ 2~.e¡\87ðÄÞµ:çOÑMÈæ¦\8a\ fP®3q\f8  éU\8d\8cì·ÿÚû\85\14\8b\ fA¸qt=\16\81wÖ·!p\ݰ0\92\83\1aÛ\8e(\99$\ 6\93Q\ 4¦\80\85ÒeÈBª\12Õ-ÄäŽ\8b$¾L\8c¼c.dh&O\1céI÷CÈ\87\ eSÆr\85YñX\8e\0W·3\7f÷DY\94¡ã÷\9bÙB,W\88\9e\97À\8d27Ér\1d?\868\17+u9®I]R#\81ÊÞÕô\fKz\9e±p&Ïß\14ZA#"9¬M,`\87Ã\9dÇ\13\râ7²S¼=ú\0ì%\97^\86\95\12R`®QgÕö¾î9\10í\17¨\81\86\r\10'ßûî\900öéè\8fqÍ(Ý6߷ܺ79Ý8ZXæ\ 5jõý\1e®'ÂUôÿ#¯Ì\96ÀZhå»f\88nõÆ.¤ó.µ×\8b\17ZöRNÇ\8dWn_CÙá\99"»Ø³òP$/\1809ås\7f\92úçO¶0"(\ 3uN\11$ëð\9b\19Ä \0~\87ÉÄ\9d¯ÏÑsUU/ÝBrð\83Û1¾\9b6K\12\1c;ÝvrôÖ\1f p§ LUV!^\96\ f\81IpH\9f(¢V6&rZ¿\94ºH¨K¸y+j\9bþLoK}\7f\1e¦\85\ 6·2pù|ÙnÅÞö\87§\0\13=+\ e"Âæùßy«>OI\9b\10±Èñó\ 6÷\ 6ù²öwz}¡`\9cçaq1ºsÇ|üÇ|gs|¾\9dóLwÏÏWq|âV\18\9dóMs|Û\9dó³;åöUñú\9b_4O\1dÚ£\83%·Êv\8b'\f\88\90\96È\fië?S\15ÿøbD\1dÑuì@n¬\fºÖºN­p(\85\0\11ëÖ \14 |üÿ8\ 1µ¤\88ñ"\8bR9}\88YßgÇúa9I²gY¸\ 4\8b\96Ý
+¾q1\9d#|?fle\ f0LD\8c\9b~tíõNÐÆ.\8dù£¸y\99\0\84°IϲePÿ\e\8f\r\ 2fw|\99Q=6\1f¢ìÉ\0×rwGdεMîçkð:+V§kù\8e×\89\9f3vß&8po¿;]©LlÍþ#µ!\v«M¾èíwg\84þ¬û\13\1eP{UdQ\8a\1c|_\b¦qY\1f_zd¡?Ø-\11±\11KüÂ:\15Ñ\84\88ó@Y\7fäa\ f\f¿ö\f?\1cñoÇ\Âr6\1f+\88¨ £Ö\ 2ºR×zléÀ!\12~åZ\18\a\14Ã\ eöçéUÄÚj\ 6½Æ+¯ÞK\ fpÖþ2¸Ç\9dî÷h$W»)L´§\7fw\9f@Â(ÀRÉ=   î$õ=õ#\1f\14õ¼¦²F{xH\1dsUï\ 6\f*\ 6\81\96åw\86A)A((¨«¸Í¦\ 6êu¯\11ð\9dr¦YV~ev_£Ï\ 2Ú³hÇÔyÃ4\84\99¼Í"\87\98ÉùC ñ?+Á,\95\ e0Ý#yûOêohb¾[x±\8dÅßY'\17@]\r3\9e\9et?óþõ\ 4\13\1dï\1eâÂm¿ê\992Y\93f=\19\1a\¹¿WLÑ\17}\85>Ú³ÙÝQ\906\96Wûl\88\10ÅÞ\15öRJdø0\D\7fg"nEY±ÆG³\9d*çfh7m\9dG\1cw\8a\13A\ e°ü/_qË\81Úý\84­ù"/?\1a\vÖy\92;\ 6H# P\8b\rg¯£}<éó+À¢%:AJ\1aA7â\1eÙÍñòòî\8dø&(\9e\12æ;Ô\ f«\ 3ÒR§®cÂð\1eµ½ÿS´_\91Èâ¿×\eo'¨²~¨ºB    ÈgL"\9eÆ_,Äæ×ì\a\82J\0o\9f¨ðK¯/Ôx\9dÿóÅ*\1fo\1e\13^7È\ 2²\82×V$à[=Äô&¶ \b-\99nÕºÍk   \8a\ 3\9b>¯á\ 5¨v°\ 1ØþÈ\8bØ\avP\8dntu}·ñ      ··'\1d\19{\16¾.\88ü\ 5ã²\ 4\11\81h+2ß4Tfô ëC¥\7f­\I9#Îns\86Çß`»=ÕÀºí\12'\9bEÁÚú®RÎ\1e~ç²\90{\rO>A¦i\89\98\1f­G\10\88ø®#Èõ\12M+\91Ïu¨ho\ 2ݶ\92]hnR<O\91\7f\1dB£å¨ñY\10\92ðM?\8b4Õô]cWɳ\7fnWH²Ó¼5»¯ô}úï^?\990\ 3\13Ö¾)JlCS\84Ì\8d©\1dÊ\12\96\80ö\9fié*'\90\97\ 5Z\9d\155ÙÈ\9e}g¹\vFth¯\ 1\9d\ e\14î4X\ 5g\8d\9e\1a\ 2K\9a\8báó\82R\93±è\ foxIÅÁ\ 3\82º\8a__g¹l\9c\$ð«I\12\88tÅæ\80cþÒ&°\8fcÑÙ\1aám×u\97SXÛ©tYÇò\ 5æzYÇênÝØ\12[(¯\f¤O\ fªÞ;þé\e¿Pw\ 2.9B®|U+¥¼\a­Ï\87±o:7Rõ§\1a`\95ß¼2Ó\e}îix\e¤} ÂH\07àQí '¤¢2\15ÊÙf\8bµR\ 2\99\1cã\ 4\13\97è\10\ 2D­µw`\a ¿Ô%Ìê.2\84,éZR\0y\8f·UHÃ×/ì\16î±é³\87\ 6VfP»!ÝZ2\1f­Í!îãÝ\13-}Ü3Fx3\¦\19\8a½\86jgã\bdP\ exN\ 3\9d8\9d(J4âZ\14~\1e¶)Ô\15?-\17t\85`\8b\87`Z\18x¦ÐÀ»BÏÛ\9e-\ e\96\85 õ?\1c     ¤H\94ªè\81ü}PâA\ f\99E]ÿ\14Þ\97k\0ÁM?\7f³}\1f\f\18ö\83Éêî\19Oõ¿\84-âü4\8bé½vT\1a\80¦Ø´¿\ 6\8fÚ\82\9f\80\8d/Öue¥ø+>\80­Î\98 ©l4ßé%'Ö\97¦\10\0÷k|ÿ®Ä\8dDYq\ fê\f®\1dq\97¾­\v_`e,µÖ¹\91=a£êR'¿EA\ 4fns<mA\98¶¹-§ï\95\96eмå¿Sglì\97\9cÑ%ôýìÈ\88ÉüD\93px\1d\1a{°$& Q>\7f\9cÎ\\974¯9\fO_\ 1\1a\90\81v4\17¼Pg×\9eI\83{\88`\11Å0"}\95Ì<\8dÈî¹\e\ 6±®\rîµ\8c\12\93å\146v\ 5"ÿi\1f<skùNg\1c¹¢\98ãÐ;o       &»H²yÊÍÄ+\88{Ò+\1fïÌ\92\82\14}#\84\8bW\8d\13\9d\15\9eåÀ}Ão%\9c\8fk\8aµûû\88\ 5é\bÄG\174\8a7RÇÀüðiÒGsd}ðÉ»Ùz*Jæ.ªüor¿ÆÐ\15ÀR\10\1dt\8cê÷[Ò÷V\84NÎp\14Òwå(ÊÅû\94\85^Ùû¶µ\93\1dB:9ÃÝNÙÈ\99\ 3®Ì\a«ñâ\17|\82¢(\ 5\89\7f\95¤;\85å\17
+R¢(¥n\r\17¸}S¸\0ö?*8;ã\90­Ý\83l\0ª:\90N\86ª{\13n\1d¹òýr¬d\8f\14\ 2\1cµ#\97¤ù\r¾-\94;µw Ú6@ò*\94\96¢\ 5~_F±
\92\9fò­Â2÷       \95óÇ\96"\16Cc<{ürùâB\8f\ 1ý3Ç\ 5Äãg\8f'Äãg\8c÷\13\8d\9e2A\88ëþÎ"\ 1ê\r\83\12\ 3Z\ f÷áÂGS\89E·Û\ e\97~\1dÝp¯¾o Zü²S\94j\83¯\98aJtÛ\0\19ß\ 6:N\92Ôö­\ eà\eµjÆËJLdi\80¾¶; õ2Ø\82øf\84\v³öò\8b¨\13¨û\16\85_\91\93ɯ`\a°îH»×\1d¸u,Yì\1d\90\0?4?©½\7f~tV\ e\91eª¼S+\87\ 5øI(\1eæ\8c\b\89µwæ¤?\92h\8bý\92-Û"ßÏE¼Ád9\ 2)57r>\12\eE6"Ì|\ 46 :ÖU´²\97iç­h>\1fX\8f\87p\8f\97×¢Þe\16û$[Í\97Ó»?§ÖKøí|»M\92Ö\96\15áÞ\vZ6ÀD'a@/ÒV\15ÛAÊ\9b\vhM&d®\86{\96Àd\8bdë!Yíæ\ 5\1fæ5Ø\9e\9a\ 5´¦\8aD\rm\80Ï¢éÚ\16NùuÁ¿\vNW³´\84\1a5}3Ü\1e[6wå\84ü\89{'TOÀ\ 4®®ÃôQp\12®Ûý§ÊpfIéJ)#"ñhG\1f»e`z°ÁZ  ÷æör¢P\9b¾*©0Gy\8c\7f ¥\87åØ\v"Ãò\8fÊó\94\a°FH¦è³ó\92\ 3\9ds§ª\9b[Îw#¾Cøç\eüÚe\8a\14÷ÛëaòQx7jÙð\18\807x¼\19\98\93ÑÒáZ\94\85çjRMz       Ï£é\12Qð³Áz\ 4ù°=\9b2X\ 6È%ä\94à½Áo\9f©¶}GÄ\81O%Ì_\80¤sÜz¼Þót°TêäAS\94\11pü3õ*\1cAR£v\92\9d\ f\ 1%1\7é\8b1Y\99\15
+ÛÔO½°ßÁO¨\91\ 5>f  \1a\7f\8dG\r\15o¸©ý×dX=5G\ 2'^0\95lxq>À\8bìå\87Ê?¦¨ÝÄè\9f\82Q\1e\8bÔ8d\94^¢x~'À  Äfù²gÑÝ\80\ 5_\85\12à>M-¹\17ßµ\9d\vñ)\86¥±Q-ÚilÔKx\9a[X\9bWô{gñ}Ú\17Ñ~
+\184~\93ú9$$\93Ö\8aÜ-¨@;\97\90 k½Ðo¡Í¿kð¿§Ü¹í¸\85;\1a[\87½Ê\8abT9\93\80ReøS±©ý\fÞ-û^\85Óö¸§
+ÚVóð)íaâAÄ«ó\84\ 5,\98ªQ\våÿ<\99,\8eÛAkn28cî·ZL\vÎßÅ¢µW=òö£>2ö³Åù\9f\1c¶Jñ\v%qô*êN\95]#\r\85t\884\87Ó@S(¯?\1a\89\ 4Ç¡´ó1 
+ß¿+Dñ[±ô¼Ü\11ê\ 2ô ÑìøÙI\ 6\8fmóe \7fJ\8a\11¤%r\ 1\1fYÖ#ë2äÍèU\12\ 5%vÔ8|5i\8e)²pjÐjÌjËþ\7f\88\ 11h#D\8e{i¤-/\17BLBýK9BLIÇ\ eõ|à£\88\98\ 2\92w\7f\ 6öTW\eE\96\1d@|,\1eø$é\ 6\10éQñt8=\91¥§¹²­Í?9\8a+ð·\88\0ÏÛ¡ËJ\10²\84$åR¨\f\a\ 6\8bñ¤Õ}ò\1f´G¸Cáô¼:9\80ز]iÜ¥&IV"a\17 ßôìJ Ä\96Pí¡ý\95¤m³\vN\ 4â2Z\ 2úþ<JX1þû=»d\93È«ºÎF|\86\80lxDmÞ\9as\1dGfý8.\15ÿЬþ¥ÏÓzéy6"?4Õ\[\9a\7f\90»ô\81ÆÕ´W\1dlE´z­éãèøkà}U\8e¼1\88@\b\93j\97\15½\ 2\1f¬ÃÔJÄ\95\10ï3\1e²wj\8b\87\8b\8fYJë  >á\¾î=\87õ±|×\82ú\9f\89Yã¾j\bc²h>«·ÂÄ\9c6\89\1f%\\9a0]÷\14\18ë\85ÿ\9aºÄW\16ORæ.\8d\12Ç!Qf\9c\8f7 Uð\89<K#j\95.1QæÆõµ\9f`R\1cÔÔ\bêỹ/\93ǸRjG\9a\0lñK*lC\81ç!\98|¦0P\ 3\82¹·\8fq\11À\ 3Ödæ\ 2\9c_Rà\96Yµx\14§\88à@Oê<O\10âß\10\820%\98\11À
\93h¸É¶\80Hß¶hÊÎÛ¦@#É\92·\13\1fÆÞ       \eò¬?½Ù\8dm\r¦P\a\91Úº\173\86\18Õ/\9bƯb.\1e\13"pÚ\87Ö¾\8f7ÚÁ\8eó^à\ fq\97C\179BÎ\1cÐ\b¬9\85l\9b\80´\rªt\1aS¥]\0Öá\ 6\88\15á!\16È\ 2Õ³ôê¸\ f\94}\81JÝÛ\83hdG\ f\9aú\0ãNMë"ö\11\15Øø\ 5\90\95\8dhOO©ß>\8fѳ\12\91\17\9cR^_Ù\1d\11   ×÷$û\12\88´\ eQ\9c\92z\1c\8cÉ\87:@f\ 3gé¹Eú/\84:~Y\13òA«\9d5\Wõùñé\ e\9eeYÉ\0z,g\ ea*kõ\14KÂ0ð\1d\7f\1c\ 6\14\7f\17Ï¡*Ò\16×"ö¡]\95Ü\8f´\99·+!⬸½§^:ÖK\98örè\13BË¥\râ\95Ã+\84Þ_\84\81\1d6åá䨾¯³8$¢[·é\83}\ 5K\80¯ï\80|&\8d¦égÊV\9böD¥vrÐKF\14 \83(\199\17È\ 6º\83ô«\89ÃÏz¸\9c\v'¤4¹K\818|4­øÍ±7Õ\94\ 3\8b·ûúIc\16ÎI[÷Ç\93\96\95¿\e\v\18O,\99Ä\ 4xÜæ3õ\92¸\v\b\14Tã¶+\v\8a\9a¸QsØ£»^wAe\ f¥ÐkbL%]ñ³\87Ð\82Vtnó\vìC}]Á\98\89B­Ñ´G
+à@b=yÑ\81Dl­­\187\1cl'$uÊÙ\1c\vLvÄÁä±ñR^G¨h\8a\ 5\ 6        èjÀÍÏFq+ê´\14\ 5ù0Mý+ø½K\812\82Ï\15\1f
\10\ 2\rzB\14\95\10Ud¥¦O¥YwáyË*VÉÁÉ+/(\86w1\9aÉ\94\ 5¶Rå2\80\9dÉK *\fòÊ\ 1µU}0\16\1a\18\9dZØ¿ÙYëC&ø#Ð\95<ÃG\17\1dÿ®Ê        D\93Ñ\17òð°Iî\#\ 2åÖÀ±yEè\fl¾ë©\97÷]\95\18\13L\9eª\96\1f,µ£ËÜ\81½pÖ\bØ÷$I©Eð¯\9cRäÛÃiå+¥\1a\ f\83&ÂeOakºõ\88¼*Ô³\8cÒ»Ì\14\8a\ 56vúÃ,\9dk*\1a6!ð\8a1õ²¬ÝÆhl4\86±\155Ò@SZ]äï@ì²àÈylÃð\13¯ð\90\1c½\ fw\ 1´6G\19\13\13nTLNàÞ:1Ó     \19=÷½O'ÖBI<w\\ 4\9d\82\92ñ\1f\80\93nJµ"\ 6¼\9f\1eÑ_ý\92JY+\84¥\ eÎ@}\10ä« Sú\91>±IôÈZòu°\92äëÊ\91y°$\12LÁlMßþ\88V\7f¥Ä$¦»®)¾IY~øåæ\96\8f"yËnUö£Þ»¾jê\18f¬:   \0\82;÷ÍDò-\1d@3½\92   \8f2+íh   CÛøY¬]A\7fÑ\97ÉÜéøP\83å\14ûêð¼Ù\86P½È²1IKÝÀO1³JÃß\91áAW\85Zôf0Aiwd°1\94\84\99B]´%2m\ 3ß»Þ\90û\ fä\9bA<\ 6ÒF°ù5\ eÐü\b}\11?Q^/\1cÈ"l\vF\8féõ¹¾Æ\156M§cØDå\83\1f¨LBS(Ð=\9d\ f´ò\97\98~åàBýx\81}1I\98£\15\12\7fÊ\8fCuøGTå8\7f#NT^k©i3mÃÜNÐ%`\ 1³k\89\ f\90WVÜX\84ÿ\9a\89Ì?kèî¶\10¨À\97¿ú!òPÌS%Z\80\97{ÿ(¾\e\0¨\7fT\82_\86\91ã\18\byóÝ\18âÚ\86pô6\8fÌ]ðÖù\81ÂW\ 3\19å\10\12\82ÉÞ\8dt\ 2\18k+ÌÞÉrÈ>Ûï,T\f\86æXè¤RËd\r\9b\ 1O¯VùO3Ä5\8aP>\9eaÒÈt_\8d«\9d\15¹ûþÃ-¡¡.ä+ZK\809í[ÑÜ·N\ 1*\92¨¤\10éú'Ó_\95\0\N°ßÒt_4\93B¸ad9Óöç\ 5\fû»\85¨05\80óÁ \89
+@G`/\ 5\1av\8aÌ\15À\9f£\9c½\1f\aYzÞ/ºO\8c\91ÖQ;\87õ\ 5\19áL¾\8bÅjç·¿Ü­z\e\94\a\1a\ 3ˬËCèù¼¢ê\f0Õi\17\14×qÀëÈgy-\a\1eÌ<)\ 4f      
+dt<Q\ 4f?h_\r     <O>_R­\83½Õ"×<*×<0&\9e²Î8\14]AÀ"±¸%\9fëS\13õ\80\b\f×»\85c\ 5\80»#Ý\1fYIb¨gÛ\7fÜÉ\91\ 3\9eä·Æ£ùE7\8cÓ\b582d\95\1f<\14\8cÛ\19¾\ f\1cO\95\1c¯*¾´«´¨2\ f\85\1eêðï\vm\12fÄ©]q6»¦°\93£2%\7fx\9fS>ò7S:\9dKDêf\13©\99w\e\99\81\7f PT°<
+Z.ý\1e¾¢\81ï!\95Åê¤hú\ 5¤      \18¶S\10TÚ¥\1f¢zö?DÔ\r\ej\8eøx¸ósO³Zש¼¾4IFJþ¦\ 1·¾¼\8d\97¾N\8fÃ\91\ 1ð¾^\95»Ì«ÀV­Ä>\9a\r>Â'÷%¾wÂÂC\ 2V}Í_E\9b¨\8eGé±?Î\86Bû?ºÂÂN\1a¿¬\1c%p\r×6/zÃï\82ÍÙáÎ\ f\ e¾O\86<\f\86¯é²¸uò\v]t
+}\82:¬«í\b\1aûOëì\8b\89\95\7f\b(´®{l4\99g"},Öìz|ªÍH®ú¿Þ>\8b2ã>¯3/|"R¹\87éÔÙ«¡¾Àm\r\11]þû\10*8:}èô Èí\1e\18\82ð\11È\92Í+\98\95Y\98>Ëèÿly\ 1#Ám`Ð\99ÝSÓ¨\8còýÕ@§ö+>\ 5o~\85 %EÒ\9e2m\eÆy7Õ>\8bÁ»V{ö\11}\8a\81\9aû^%!?¥g_`Ô!\11sxg0Ûa§b6W\f«.ehä1Áh\1fH¸@¸ÑÃW$ùb"\82vb\ 1&Ps²öw ;\9e\9d\f\9fSÕ¨°\81~Ì;ÂëáßVJ\13áMnÊ8W\85\9bª\88ÞÙåS>),e¹
+'Õ»"\95ÿ~9ªÛdA
+\96\fbåè,e\1f\16ÿÖ*YÆ\85Ê '\12\18Â\vçÑ\ 4h²@Ð\ 3ù\v\12åx\823£~\99A\11/áã\8f\87j%T_{\18},ha¿\r1zÞ)P2!yÒfýoÄ[ÈÖä\18}Aöù\s\ 4á\82:¥>þ1\8e©B\109QÕób}B«RÖj:¤hQÔ4LÂßø\98\11\13Ã\9fû\9bã\99.\15º1\894t`Þ´ãä÷\84m-|±úÐaRË/µÿ\9b×\17*f\9d\ 4ÝÓØo
+\13½à\13ì\81'\9ep\ 3fYMOÝÇ\17\83Ï@P'\9fNépü½P\949\8c\1e\9eË®J\f|\`a\vøÂ\80\88eºBeÄG\0KÊÖ\e¸:¤Oët«\99\1c\a\18I¢5K\84ÁÓÈÍí±¦&\86x"\92\ 1×'!\8bµR Æ7=LÁrÁÏÑRVz¯ãÖ« ,D?8wÎ\9c\19háJÈ\90\9eè-²\86³\ 1û¦\86iéñ·\1eø'Ëûà´?   r,îýþ7\91ý\f\19 \1eÔ¥$1î\8e\18È\83\9b@\85ÊÙ¿7ÕúËÈ\9f \93XÊÃ~DÍ\98¶B\94+l\9fR1õÄ\1cºÎY9­SúE®«î5i%V{\1aÀË2sP\18õHê\8d \19mâ>@:\19 \ 2ôg\88Q\9fÒ®öÇeóH\9cËð\0¾@j0\89)\80ÎIk\12\96n%ßQÃ.9Õ_\13è¶O_Ñë"{p)þ\18s&É(\ 1õ\8a Sû\90Ü>\8fR\91«ÛHMÙ\95Éûº\91\81\9a3|®"¯\11¸\8c¿Î\94¯¸ðºóðò;\f ËG\8cD\8aÿ9\93ÅñÌ6@\bÊ
+\99§\02#\8f×ò\16ÔÆ¢aj\1c\99\ eM@\16¹#gâ\\11q+ÕwE\ 2¶òÌ\ 1É¡U¾¯·\ec$Bc\87\89J\b\ 6áUº\1c\87$ÞÔB]±ðL\1d\ 3[\85\8f¶¥ò\98Ê´\ 5¾#è\v?Xlz¦eJwdÉÌË\80àaæ\fýâ\0ÖÝlÓ\f\9f%\81\ 128ñM    wÀwz9P}\1a\11ÃDÂøÿ\19¼\91Ø\92ɧ\7fóà        HÞ¦ö\f\14J]øÐj\7f³â"\17¤$ä\95\12å S\91C_À\1dã^K%ú\*Øép±[¤ú¬m/V:U\8eQ\1cØ!meÐø\88\f\v\1etÂÒ\1fC¸  eYÂ{\f-:Ä\bø Ge\89¼O%Ê#$Q\92  ¤!)9ú*¸\98¥¾]i;Ò?w¹)=THü)@[¢ÏuÊ(ÿ\94Eíos\ f\81\12\96Cü¤Î\13\8aS\17\91\91HéMÏ04@Oî\8c\9fNá`\²\rR\8eø,K]\9fTB\3®|\0{]"]Õ\947õhO\12Ú
\1f)\91luÈ:ò\97\12!\ 3¹õô$\8d2ôm\94|\11\a+\f[\ 1¤¨®¤6Î\8e\1d\7fq­¤oÛ'\1fB®²®ø³\13\85yc4\89w,W\88DÙl­\84\ fÔ\8b\ 5\ 1Ðm-A\ 2áx~\ e\ 6ü¾-zÖ> ûeL¶S\8dªJ·\9cÛÀDÈÀ$þ\85á\ f\98ÍãÅ5r\1fýdd×\ fâ0\96\f¥§1ì\17Å0\83g\15\ 5\\0 Lüg9\13÷Ä5êïs[L2ºØ\17\7f\19\16Äû\15Ö:ýv»]\99Ö\89¶×\7f¸\1f5gîµN\7f\0(+\1e\ 4yþyå¨(w]\88\87n\8cýSC\8d\99_\9a®Y]ÀjÐù~ÀÂ\9e\vsèw\ 1zP®J ÊS\bG"Sð\ 6<7T\9e\ e\9bü]¢[Ýû\88\7f¼Ý\81¢\15\9c\9f\ 5wÎP\14\9d\ 2]Ʀj¯qɯõ_7 !c­ë\87a%\88
+\b\10\0ËTÝ\86¦#uwôÌêB        ;\f      G\17Õ\14|f\9f\1e]9Öe\8e\ f\16\95¸ß\rlåG%FÇ\ 2\1024TOÆÒ\93\9c\81´\13\96T\9a".\82ö\1a\a\88ù\9d\89\9cÊP\9cS\97\81\8aÿî>X\09ÆÄíàÓíbsâ\98\98Ý,Ï\85\1e\95n\0øÒSdYC\9dW(ºÖ@\0±@~/M\95s\1aêÞ\81O'Ú\0D;Ð{§*\83ýçÅ)E«ÆS\eL9uç~)%0\ fì$H\ f\82¢GPÍKªÑN\80P¼A%!ú_\12â)kç\8d\8eüÕád±Ì-Ï\92ÕW \14è\1d,6)\0\ féí´\14B\80\92\85\97·êÉ\9f\89úï ×\12ò\vç69§\9fo_w¸^Y{\ 3$\8c0r\82ç\98\8f]eÕáF\b×3` Øpá,\b\a\ 5Â3Wµ.Þ"!\ 1Æ\87\9cÿß\89_\82¾ùÝí\9aÞ~h\94"d,G\9f`\ 1\93ªx©÷ÉÔ_·W¯\92ïB\17¥Ò{ÑÕ¸VêÏ\85\ e\97\12Ç\bü®bçmå\97Õ¡»G.@\r'\7fu\89=`]à\80ïðijcE+hþëF89;\11Ô\ 6+ç3\14<{r0øräë\9f\14\9f\85ɬB^g\ f­¼1l'gf¸\94A9\vgì®q/"­]à¿#\84¤Þ|Ò\83ÃÇÐôdþHÚð»G2\1e%jm\b5ÖH\8e\14ÐãÕý\93ß\87¶*\1au¯à\94\1dãÖþy]\84-p'\88ù¹0qµº^ÕD\fÛ¦Á~d¥L\845r$\90\1eO\95 \8aèzs²\1a\81ê\8eÊy[.¼ì¨m´#ja\ 4/ó^\9f9Pü¯\10Û\1fw]Ûø¿¸W\1d\88\99ôfŶ¸\ eÙê\a­rݾ]êËÚgì\91\96\fü^¡uv\eê\1c¹@×ZÎý\ 1<ÎKÚ¤it\97\14_NSPª:»Ä0®òô{Á\95úÝóÃY    ¨\99Æ ÷\1e\r\88ÛÉ/ÔáCð\13æÙ\94?\1fGÝ,\12\8c<\b
+na=S\7f\12ù¾´i\12\7f}hÚâuVèZ\1f#\ 6ïéþ\18~æÇÝ®ý,æv#\82\ fØ
+«»Ä\r鿣W+ÖàM\ 6åBo×\®Æþºq|,r\14ºû\b\14Y(Å*=Õ»\8d\9chñO\fh5å6§ºÇ\bÀ2¼0,xd7\15\96\90\93f¤^è\9c""Íè\98Õ¿X$ó|Ù\ 5\1a%\|l\9aíÃ8Ï\99Ø\9b@\ïÀ\8fO\10[r\ e\8a§¯\v\15nÀ_\81+\97\9c¢\ 2Ü\81¿.ñhFâ¼_{yo«®\ 6MãTl>.oÎ\10ÏÊ\19\0¢\85\90Ê7÷êIù\97\1e\88Vì|CÀü\9eÙ­\93×í\7f\92] Â#ô]¬\1cÖÑì,JyþV\84ó     â\9bçÙ«' **]_Q\9a¢Þ¡<\83©û\ 4|ðÐ\97\8cù´¬\ 3\10\9e\19Õ\81\ 6\ 6_\18\r±3c¹\99Ö;Ðl\rø\ 4xÙ=\8c,\9e\92ôe\13øóøer}+\17²¡8\85\93×Y7ûòb\1f\1f&\1aÜb\18Ewnç}(%\a\r¶n\12\95¶îãsº\98!\16°ÿ\ 5\7f7w\91°þ<\12ß\9b\ fø`\903\11x\90C5\97ï%3\9e\7fî\16\15Ð\8aMà)*\rl¨¦¨"M\19ú\95\ 5¶'+P\ 1\8c×y)~\13B\1c>#¼8Ê\84\13~\1aÓéE\ 6AÙFWåR\9bvÕe2ÖU7é¯M>«(\96\ 3RsÞHÃ\88÷·ÖÃçÐ\ 4«\ 5\14 \80^T\86ù\11Ô[MUÀ\89È@¦q\12n\ 5\8c¬\0L_\9b\1e\11ÁCò´þÅg²¯âáB\8eé\ 3\ 27¾B@\ f\8b\8eÛ¤|ÖÊÁå¦\ 65ØM\14²®<Äi\81\b¤\9dEÅG\96\8e\88>H\11êÃ\ 1iÚÅê\88ͯ\ f\8cÌ&¿º4öî.\1eq\Ý¡JÀäózÉju\82(r,\1f1jÚF\9cè%úp!(ßbD%¯ÍÁÄ£ØÐ\18\9fÅæ¾\85^Mzñ\b,׸¸Ò\9e¼å\11\83\f\10×ßzÆ\93³ý\99\99\99&L\99'`\12\ 4\ 2\ 1\0Á!@I@\e!\80ÜèdNàdY\0V4\14/\97ÝF£ï\f3\ 4i-$$\ 33:`\16Òú¶ÒÔ»ï_VèïÈÝh@¥¬\84H@,\b¥b4­@[ï°"´\1a¢\ 2¤ïïß¿ÿûÜÌ\86\10E_y×ë¿}»¼MÝæ{\87»ÀÞ\a¾Þ7¸\9bÌÞFÿ\10·ø))½îÖÛn¶G\1aS\ 5÷\1d\8eìºLÔG\19äC¤\7f¿y\v\ 4\0\ fO    ý¬ü*«W0sö´\10^Zâ¾A\1dFXWÄÚè\1d¯C¥½ÿb|¡%ÌÛN±Â\8f\99\9b:\ f®:\83
+Y\99d|ä¨`7\@g\·Ä·Ëè\96\ er`f1 h\9ewÔi\ e¸C\844\19\89\11]p¥4\ 4\7fd:ázëöÔúR+\8b\aNWZp\ f\1e\84 ?\17z\e\8bgµ®\9b!¸è¡¸æ¡ª)\8e\90õÑý #Nï\81\9aG¨þr\1a¼\90õ³B\80~lRÅ\80\çÍN½£f\86¨\82&Á¥éÝ\16\8an\ 6\95:=;H\1e\ 2·\8d4£üÖä+gù7]\b\17ÝÍëh,²ÙæÀ\97Ü\81ì\80'F\94£ü]^\9dÃ:\97iÑè\9b\ 2\93d\99Ú\7\10æ \16PW\0Ø\16VóÞÀõ®0%/<ºæÔ¶\vÓK\8e¸\94\eó\12ùN\a9Üå\\vè5®Õ\8f\1eX\19Ë\1aØr¸\19òUó«P\ 2Kÿ42à\80\15ñ&|\ 47\b\95Øö\137η¯ïÕ~\1a¸Q«ØT\17\ e\0\84ÈÍk4éà­Á{\ 29k\9e©m\r\17\0N¼ÌÑ\82+b\92AkÀ\85ùS{L(QÈ/ÙÔ\99ï\15¾î\19«\83®Å\8b\ 2h>ÌD\84ÉçÄ\eÇÑ96ëç§ûS\1c\f\98"\ 4ÜjQ \17\11\18\93? Þò\81\139 °*÷OÓ\93²\90.\ 2\9a?È;ÇÂÑà\1aÏ0~\18ñ·9R\80®\9a\9aBöÙXÑ\94\92(G/Îê2\9f3U©ø\93È­\8c\84ò*®©Ë©H\19Å\7fY6\90\1fQgÜÑÀì\95û\18\9fÒ»J%#gÑ)9éDíy\92/Áih\80ÛÁ]Þ^\87gÁ(4\97¥}y\90\10[(4\97±\80¨ïh\fP\9dÃ\98z¡TMáesYa\80ì±CY¯3ú\7fDÉ}\0\ 4&¨UÖsõÁ÷O`\a\15\rÌ|\ 16\12®èýø\8b=Þ]\8bÕ-\1f:ßii\9eCÙãÁ¶\8a_D×cñZ\90\8e\0ßÀNL5ß¼oÈ[>\10~à`\91\86\8b\1a*ì{-H\ f\9b\84\9b\1a64\0Ì(@½½Ð\ 5yå:ÞT\86©3ùEôİmw\9e"îh\8b\98\83"îuÍ\ 6\98\ e\12À_¶\10$Xw¬A`D\ 65zuhþþ$ä\ 1c4ùÒ·<tF*ARaÉ7~7Ê\b@?;¥SçÃ\99\19_\94\ 3¸$'Ë࡬N](\0Ì·%õ\eYTCaBTË\9aôw`ü\91\ 1\9b\ f¢8«\ 3\92ßÝ\81\1cDíë­\ 3E\ f]o\ 2-V­\8a§R6FEdð¾¥.®æ\ 6!ôL\95\ 1¨Ì8){E?»\85\17ë\87ïÇás\a÷åp¹ÿ\¡4ÙÁ9mù\85\v\rë·áogb\ 1·Ø+|CZ\9dØÎ{»!Æ\95¼\86\ 6eM\95 \·\12ªÛ³\9b°\9bÆ,\1f:jõ_\92\1d-ükªý\r¾ñ\r¾ýl
+7¬\19\92eªÐ\ f>\93\9b½;èX±\15®ÚP\12Ìõ\8dÞÓâ¥q}\b´OÁÆ|\19OD¢ý´¡]Z\7fÀ¤\10\aÿ\ 4\7f¨_d¯j\11ß\18U¥B±M{L\98̽8ë©ýDìÈ\12¯Æ½iu[þ×®3UÇrÕ(\99¢\84é\18\17\13_\88\9a=çÅùùtnr\85\14ßòxEÒ È\8c\82*nØ\88\943ô$¾pÆô¨`bMa!\ 5û\85¤ëÍïQ _77\14kצÆ_àÌÆÃ \92<\83µ\1a\85\88ý]\8fĪ?ud\b³vwËîÓ¢\12³t>9P[\va®Ö=ùEÚÊ| Î6F\1fë\ 1\e\13\ 2:Ù5<d\87bÿ\89Ç)Á\119cNZ¥v\8fDZ\88Á\14¬SìiàÈ\ 6\97\89ô\89\14\ fÌÁ|µ\ 6³{NFQD\91t«ì9\fÑòÃ\8f=\93ç4P`ÙÓ\8fßë³^°k7Á`¤\97[ßh>öë{÷ãŰX\8a\92Z\rg\ 2\9c5\80\ 1º^8x\rì\ 18P|Ðãa®ð% uï(¼\ 6á]W\83\84xzί\82­¶d÷\84(<5}Û\90z\{\83å#È;N    ay«¬/Ã+,Øû\82\95q\8aï 
\85\ 6Ôrp¯\a\94{`ÈRIüC(OO\ fÃ}³à\ 4Âã\aÑ^ð\bß8\90\89ç\887¶â¼­mT\13\95§²d\9d\94b\16Ñ8Þ\9eñÇ\ eñ\8cÌ\8e\93é,\f56D«úÜÓM'ZRìÛCÝò.\93\ 6\95z\19Õð\9f§þW7ýp\9f:\92\f ê'°>¢t\83¨\9e gRú\89ô\17ÐvçL1_\88>z¶+\8eÅ}K\8dã¸ígWÔ¿ \9c-\8f VYèöQ\ eã-\8f\9eZE¤ì#?müI\8e¿# \86\b*»ã_\ 2r\87èn\a\çÍ\9aÛ\19[­-wv'\ 1\e\7fÂkÍ\15~\12}\ 1\bIÚÛ      S\ eGïSB\87\90P\a\14ya¿?è\ eÑsÈ;oÖ¾{\ 4\ eÛö\r\83²~!W9hD\8d\84[yÉí\11ÖX\86ëåÙ9\1eÐõ\8a\ f\83õ»¾J'fà\ e+¬ AG\b»nðwÎ\8a\ 2ó:\1d¢±\8c°\0§\86\84°½\9clnß\15Ô\1e\8dê\8dªú,@u½Á\1f\82·È\94Ù\8c\ 6\1cw\93\12\1d\15À\K«ù\94II\8dÐZÙØ½\84ÁFÕ\9c§4ßÕMîz2I$æË«\vûI#ÄR®F\99\1eu\ee\7fóªÿÕú5ÔxÔ\90u\r\94ñ\v\9cçl\1d\ 2\ 1\964Tå\87\11\12\9cÔwbÏ\10\9dÜP\9eä\1f3åÒºß?î\0Ê\1d\fÁo\93¯bg6À\10\18\90²þ"¿\14g\9c\ 3³­\131.¸2CÜöô'\ 2\12\94\91;ÖW\17±\80\17        ¼\ 6\8f"hZ\1d\8f¤\88Ãv¹")z»â\9c\v\802a»ýý%+>\11á\ 5©ÒBúsd"\v(Âbq\0h\84\8b#!jÊú¥\ 5°9i!xwÕ}\8dá£{F
+30Ѿ+ú@8È\82\v>\ 2-ùaDFþ]\83\0íÈ\b#\ 3]©¬\97µ}~)½x\0ã<\0\8e\14~à=Ó¢\1f/`ÿ\17\ 6Ë}\e-y\8dü\1c=\93oG¢¥jþ}ë«_\v\ 2|á.­û\ 3g\fBj\1d\8b#\92\13\0t\ 5\1c\1fäÎ\10êp\95\rÉ y7ñ/\1f{CC\12\vqÞX\90\1d\81$\87-~ÐõùÁ±\17?\11@
+^©Ð^\ fo\1et9÷\8cúü>Ù$®\9ayd«eÙ\8b\a_\94ïH¤2\9cËõ^!§\88\ai\1cpâõ{ð¢Ëiv&¥ÏH\84-\96!Ƶ\19\84ÃèO2y\v÷\91\7f@P?f\85\11\ 59\19\92\84ïS>*_n34ê[G\7fSçg\87)\99øqÎ\93\f\f\ 6²¶]\91¡\14ÌÃ"¥R­´h<ùÆûZÕØ?f\ 2Û\14\bå2à4½(\1d\ 2S\vòà\ f½\91æ(¿\88/\81NÈncݬÒ\bzôg9\8aÿâ\853ñ«ûâÅÏ\92\84<\92èT<ùÅ¿\r±*׳Fd:N\91SF~;\1dÓ¦O\8f\ e?'íªÔÒ\12\92\1aÏ!\82Ô]þS©\rði¡-ÀB\94¶Är|«\1c§\9cd\97\f\88  û½6\87ié«2b\9b­JVýV\8c\1f·KË]/¤)\8c#ôãO
+(\f1ÛÐÇH\1e5w:|\19è¹G+B~þO£\1f¿\92TÒr\92\1a¢$\93\86·Ú\15ºßfK\1dj\17\ f\92³\1c}\9aJ\0\19\ 1\0\163"d«¥¬._h\14\1f>yD(ôîe\80\92\9cC0w~8Â\ 4j1ï2\7fÔ±\98ÓgãsVîeV¯"~*HRXò¿±\8c\81U\8e®0¢×-\ 2J¨Ç\12°Å\18ж},\\85\b$R@'\ 2³\16¸\8cts,\9b\9bóÄrc;6K0{ãUmþ\1cÑúLàÇ«\98ã?Pÿ\89"\9e\ 6ÌÎ\ 2KW·Jí\8f\8e\áY\9aÕw\f\ 4B_¯^H-(\ 3göõò\11
+\ f\1f\19 \*\8c        \9b\83Pr=ecB0\ fH\14Æîi\0¿Nf·´ =<)Yë@Y]ï·óúñ\e)\ 3µÔ[c2\rJ\8dgzù\1cÈ`.aÎJö\fºèãO{\eVÁ|r§Ï\19Ë1ÆV|§\8f'ÍwE\8dü8Þ\99¿.\88¨Ñ\14$4Â+¯»(\ f¦\8cÒ?3È8\8eøi¥\93,0P%¤>õ\96²\ 4\91\10\85YCqï\98se\88nw\9a½Æ°\8e\1dª7p\91\18ü ¦\ekC\ 6ö.tð\91µá!ÔÇ\99HÆt¬*\80-*dRû¶&\ 2flé¹;
+\8dEÞ3\ 6|\82y
+£&{4-\10\86þ\ 6t9OêW\840ç\¤xB÷öc\17í\84}ÿ$øå_¬\f¾P\1f«_&\1dºÄ@#zJe¬\f{\81±\16\16\91¤4Ñgï\1fDâVikP\1cÛ¹:6-\19Ä\ 6\90¤M×¾ý\97ù\1e\17\ 1vt-\87¢J<\02F¡£ô+p5Ь;\ 3Z\13Lïä\97,\18¡Y\83°úG-v(_M\14qi\vü¸®¤B9]¿\90Öp\18,HäM|\f\mÍJ\vçS\8a\91MI£Ñ¥£Ý\98\rL=$ûß\1a%©¯wO\e$E²  ß\aÍè    ´Y¸+Ö¥Õ8è \8aÑðZ\17\86ßyá\80#\108\89ão\1eÀh­Î\9d\91·\91/\96Ú\145]\85ÉØUKbº\17÷ ²\92\11\95d\9a'îDrÉTòH\17u{ê £I,È$úJvuA\ 6F]\92\r¼C'´\941ÀlWO\1c7\ 3ûY÷t_¨9ÖÁû\95×lÆ\93É×\10X,K\ 2Fiú\8a\7fâAlÙLel­j\84\89\92Ë}ù\a+?$a\b\9a4Y\9d¦\1a\8d7¥º¶ ÄumþÄx{\81\90\13ÿ\88$£aDÇãrz\bk\ 3¹¬¸\12-Uå{ÌPqLßO\10ÜÛ\85ÏFÓ\94\86®µ\9aë\1fu@´\16~V\11}´ò\8f5\16w\18\98ð\80Çg\89OlÍ\ 4\\93\12¡\e\90`p~bÒi\82úÊ*8åWY¤\84Ê\10\8c\ 2$~\13R\83§ÄvÍò\96\80\ 1A\96\1e\9a\1aà[®a×9÷Ŷ^Ä\ 1d\0"±ë\81eq\ 1Ìw÷\85
+<ò\99]T,ýCé\12\ 5\v³ÂY\8b©\80¸ß\16\ 4ïºpÉMÑtµÆ\0^ójþ[Ö\19\1dÚ\0\85é\8eÅ\8aâ¡\82nÁpÐcÁ®¼\17¬@~ëPn¿áÅC¨\80\18h>¶×\15\12V2\1awb\80h¹£ù1 ÏZ\v\1eÈ×\18µ'0Û¿c\15¦ãÊ¢\12
+*óí^B²`¤ÜPå¶<\9b\86\10\bm×´B(7\10\9a¯vç\82@e M\ 3\11ÙÕ\1a\fS¡<S,¦²º¢Eöô'\15 ãå+cs\\1e\9fûÞ\94F\80\83\83\83\14j(\94¬}ÞÄãCÄ£±Qö'|§¦\vB\1e\87M\9e2\1cX\r$^\\12y\9a7\1cQí|>W~ý\rO2à~f\181]
+\8d.ë¬\\1e\ 5}\19\18m$\rs\80\115úã\ 2H6\9fר Ð¬<¡E6a\90\ 3ì\9b6Ìÿ8UÆ\0Ͻ\90\83,Pôµwï@Jge«}J\13M¥àQ5Æ¿7QïTø\9c\93]²Û#\80fúØ'ܶ\eí<)\ 3/!2ZhoÀ\f\ 1CËCU\9b\14¸\96s\85\88\8c³c\88HÌ%v\ 1\0K±   \1c\97îü.\9co8\96¯L\99T $\1aHb+p`ÏÍHÃç\v\aãB\1f\8d\10\8aZÌP%Ùð\93óh#J2aP3\86\82`Ò úÌ\10¡h\ 6\90¡û÷\86\9d4\ 2\9e\93\ 4\9a\9aKÜò\8b$\ 2¹á\0IJû½\18ÌiZ\ 1\ 3x\11Ý\10\18\99u]Ë45U£=f\8còÍ­ÙL°aS\0ã\9c\96\0ÄÞ4\16\19îY\14\95cd\13r\ 2\1fl$\957\0\83TiÂ\ 6b\v\aZ\8d\7f\b\94à\1d\ 1\11JZýÈ\fT©Ú£_a\9e0 8\9e?H\1c¹Â\1cIN­*i.8*}Á¸\r\8e«Øsînk7\80\b\85  aí\8dxÄq\80$()Õ¦\97ï\8cf-Ã\0`\7fÏÞþ!\8aTw1Öë/¾S@üV£a\83<<RÈÒ<\17/\ e¸7}\99°\11ì\8f>pc\ 6A+Co°      PÔ\91\98ôYEE\9d \85ðÅ¢\11 ûýµ±\ f\19\9fPe\10\v6\89\õl¯\12cðÙ\99|6fg³Cû\9b\e«b,­ çRiwz»\83£Iª1\1dÖ;\83ä\ 4©ü\9b\11¸]ÃÞ¹ÔÁÖ\86\ 5\1a\14G¦ý¬_4`·§\87È\1c\8a¦O\a^°%¯\84`ÿ\v\9a1\1e±\19\ f\14!h\8as"²\13;å?.e(\11C\8f¤R\f\f¸éR-\b\9e\10y\hAiÀ\17¬Ð\84Mbð\851\84!RwÜm¸°['¨¼!\0\18u\8f@OÌ/C\86&
+(D7\ 1°É+\9câ\83\1fÒºö\1f÷À\8bË®Ézó\93\93å#õ¯\ fSD\boÐak%ö8o±*cPÑ×0Ü-¦    \8cÝ$n\82¾\90Á¸ûÃ\8a\0\1a\1eò\ eJØaè;\ 1ø¿k\18v\1d\95Ôß\92ÀÒdøwWÓ\85YƧZÌkÄ'¢¥m\1e\95:Ò·QSÄ J¾Ð útë]\10ÕȨ5\9c\85îxjåE\87!\9bp\81ÃÁäÆº+\ 3££\ 6³Ô\b\12\8e·Ï_\15B¬õiÍÎ>THØ®#\ f\80TÐËZ\e    «\8c¢¯\82R¬±\f°\0mK!Ý2\ e¡Ö\1fxõ×8ã£çU\8c   j\98¹!þç®Ti@ác7Ã;;\1fOÅÉ~{\9b\9b\89a\83\13ì×É\ 3\ 1\aÈåNLrÕø\ 6,Ô!õ<\831áb\f\ 5J{1ã\ 4ò£nè¦Àe~Èd;E\80É\0¡\0\8cxË{\ 5¥=ÕÆk^\86\vÊv=kN\89[K.µ¦¡[K>­§Z\e±+k>ñ\ f \8d\866ñï ¼Iªo\18ì
\0ûJÛ¤ÊÇ\91,\ 6m\9f
+l*\15Ý\9e\97®I×\13JM\90B\96\84³f ·ÊÖ\9b\bdþìG\11¤\ 3\9c\ 3±Â\1fabù\8cz¥¸?S\15\8dÃ\84\99ñ\a\87Ï1Tî\1eD~-O\17D\1döBrè_}Ò\\14ÝÕû\15a%À\0KïbD\ 3ò@    ;\9a\97ÑÀWý!\0Y\81w&@)\9d\0Ñ_ÍÛÂÖþ\ 3LA\84*"\ 5ÕÙ\r½^Pp¾\f¬â\8c1\82f;ùßÉÛ/mÞOÛ1Õ­|\1a\7f÷U®àî6\12~O_\8e«|°·R(Ð\bã=ÛÈv ;{CPmú¡i&\ 3ý/È\85é¶8êc\13\83W\88?f`6ò&\85EWÞî
+ã»\1c\10\9fnQ\88à\13
+h[\ 3ý~N\94ù;mð?V8¶6=ß\ 3:JV~1k\15ÚQL_I\82rÞCö\11\83¥m\13ú\98»¢ÒfÌ,v!ñ +V\8cIÉL
\1d'&xzFK¶Ôb\9eÀ\ 4\988p\17鿬ô\81Súg\8b\86Xº|\84T·ø\bðDª%©â\95r=P?3\9cë\1e\99`Ké\ 5ûaRC1£\1aFj\b\ 5Xbê\9f°õLÆ\8bõu"q\96ã'\17x¿\8cÜÒÐ{üØ\ål\ eË=¸Q\12\7f9\ì{\v°\1a\1f¬ü\ 5\vñm\1f-"N^°\12\17DÛ45ÔÌWéÃÝÀkD%lV\80ÖÅÖ_\f\ 6X\1c\93´X\9f\1aææ\19\ eÒEX\ 1\9a|-h/ÚE\8d©À\87
+#\87;\90\82\ 3¦\8d\1c±\ 3\15\88G\7f'wUb£¢\±\10\r |Ø\ 1[lv\8aM\18[,À
+t¹ì
\19¦Ïzû»±z\ 1W¯a÷QÃùÌ÷\88á÷\98½ãØ\9d¿´­ÜRËÒ\8b\8f\1dºI\1a!R³@gP­<Ѭ\18\90o\96hý1¡´ýô\w¶\0P\v\92ý +Á \87¸\e6Uù`ûä\ 6w0\1a\84^*[(Î\ 4ó¼\9f
+\ 5ù\r»]\80 ÏÔ[\8aP\96ÊÞo`µÔ\88¬çæ4\87\1e\ 3Ä\96øy|´õ3h\1c\v-\8c\ 4·\16cFÏÓ\9f\91_\8dêªC`\98\19D\9dt_â\9eÄí=¥t\89\8cÀ\0"³òÅ¢?>¶\1aèàôï\9c¡\r°¨>E(ï\87\8d`Zà\8býÞ\894Q#£ï\ 6øÏêêøú\18[\87غ9êç¸\1a.ü](\83øï+±bsBÛ\89\`r\e|\Ù'é
+\8c,0\015òí\15_Âÿ\ 2ÊHý\8e!\ 2\1aØ~9\ 4\99\81BµUøÁ¸Ä\88\85\11:á?ý\81°]fP+÷û7\ 2T\0Ï\96h\bðm\16V<ya3ÈÒØ\ e6ŽM\87é!Ú«°ÿúl2eÿÐBå\86\17YȾ3mßÊ\a_r\13\fÒN²¼°\eÃùUµ\v\92ú³¥ñ\97?òüe\9a5¦RîÈuãù£$\fúá×\8e\1e\19Áu¡m\8c\f\10p¡=ýà$i\92\ 35áÑ&*¯\1a\18ÉÞã!\e\81IËåöë£Ó½C]\94f¸H\1d\ 4ÄÌë{¦ì\ 4\ 3\9fæ\8ezØ*\ 6h\ e­²§Ù¸Á\81Ä4\80\ 1PB\eÄr&\13\8be¯Ð\161 ê\7fß\8báÄ7}ZH³4ý\89¹e\1f\16úA\90:Ïð7]ðÊ+gnkø¹\7fǨ+\9f\9c\8f"O\ f/bÜúûn·Gü:¿^Qº÷TE±\8bLòùh-±\8f7Å7U/F·Ui~\85ÀueXú¤\9d¹äWÉ×\1e\8c\Õ¹'{ø8Ùgý§Q¨\z+H}GÎSSô\86\0{\16e\9e#F\8a1»@Ë`|õ÷©\9fz\19¿\8f
+Íz\99ñWTçPÌ\bÕ\93ÒCW×G\1c\eJhðÁÃb\11\8e<\ fÔ[â\fQ\ 3pi$\91ßúZ~-TÁ\89\ 6¯\8b#TÊè#-ç\8e\82\10\89ú\8dÙE_Ke"YMþÓ|\17vn\17,\13ÕºÞd\b\bb\18¿\9b߬Ü#2>\1aN­`?\ 4õIç:Å\94   \93ïP\9c,e@#þuÆ\1ef\8b¾¬¢º¤½\1eí\18\8f:p\9cT\1eÀpãì¨>\ 1y\13,ÌÀ\ e×À\91#,\8dN$ê´e!3ðæË;è\8eÊ\97À×J»©µô\bfTƬó9ç\8e\80\v\9b¶ÌÈ\0b\17!ê½\85\97Ø\86üjïÁ±{\v5V¯ïlE=:,¸\9f£rÅ]ý6\85>ú"§\9fK\v»ñ\1e©ë\1dªªF¡cïõ]È?³ø4ó\9b\\84Ü\9eÛÐ#òók\82þ¢Ý\9d·Êh*\96\ 10\9a\ 5\rH±;Ó%dÃ\ 195C\1cH\1f\0\9e\0¨³\13\80êIÁÖ!y\a\eã_\ f\1dÌ|@E5í<\83â\84¢Ä\11<}`>S\8a+\ 5\91h}òè«¥øóKí\9eM¨!ûÂY\1e\0\10îðä²^û}|^Gy\vîºô¸+\ 4\b\9f(ß*ù:\9a¾\8e¥_\97\9a½C\e\97ÿD\fÆT\174²4,L»'Òö\14¬ì\91Éùð'©(»ö0\0\98\ 3\9cêUû½\98F\e¶!FôrÙKÛö´ªqn?3Õ.\1e\82F½ôÅýæ6ô\8dF\1eJ\8c\86ß\82\97}¿\b¶óÇO/R\90\e«lh¯¥»öȲôªý×\15!øBº\81\92Æ\92ò¹ÞÍ­Õì$H¤*°¤Ò\14ªÉ\ 2\80vC,y2ÈmýÐD´\98\vC÷4\95\1eyú^ød\12Ph»óT(\8b\82K\ e\r\ 6*\918\1e@:ó\ 3®²2¹O\fÙ\\9bÉlc\e\8c\10\ 5\86\b\94ÕÍ\14\81ç8öùi¶'\ 6:#¤fá\9e`2Låp½RÁ\11\12Üt\82\ 5TÎÅ7\9a·ÓS\88Wc\18ÆÎªõÇ\98\93¼ríá¦\1c°\82\17H¨vÀÖ\86¢ô9ï^²"Ü
+.8!(°>\82ºhInU%\99il`\8eÊé\94\ 3­o\ 1Wî·©ãG\8ab\ e\81<\93ö\ 4á\81Ït<£&\8e\b\80ò¯ Ö\ 6\bàuI7*Z\eï¼ãhc(ÊãP\13\9bâ¸k\2\9a¸î>\\ 6­ÂÚãè\ 6\ 3<\89\f!\90Ç&æ\96pÊâõH\ 1\9f\f­ãz\9f
+\9baqzv\ 5U¼è\ 3\9b\8fTFÏþa'¨nqYÇ'úuHö<¼ÒãCX\bì\fn«úÈÿ\1a¿\v\81%|\ 4\ 3Ï\v\97æ=\13@¤Í\0   Y\88À\ 4/Eë\19°\96\8c\12a¦Ì\9bX\ 5\10qèL\18\rý\1aú\b\1fv@\1f\ 6< ¦\ 6\84¬\a;^ ìnµóC|\9fGiª1)Ùô\17\88¶ø³\12;z_Àð*¿Ð`l©\8dS\94\80\0
+ýcÑ\ 3ý\82\88\95MeÄ\1ci\97m\1còLø&á\17\15«>¡åw\1a\ 6\\8f%w8®MåÐ\93u\19¡±(F\80"\8aã¾\16/<¢J8\1d\1eu\93H\ 2¯*h·E0ápcå\1e\e\ 5\15À/øÅ\13-\80,L´¢ärJ7^HSIò\9f\88Ó4w\833\18t_qAFK\95ñ¥ðìðvEE\96\8fÑ\89PÉ~eRê)\ 4\90\8f\eæÜ\99\99xí|ÔÖý2C¥T¤´x\11$EÍ4ðÂè\1d\98\97_\88{Ô*%®\ f£E ,\99"\1a5\93\81º\ e²øÉz\ 2N\b\17üÄfdÞ)2wÛo#]>li­E%*)\85xÌÝ\8eoåÛ\vR\f"£`i¢\8dþ¯~ÿè=RØ\12öKø~/ËQ[@\v\99\80  pw,\1a\9c³Ù\ 4\97%A;;׬í\94o«ßÀýu\8e­\91`Õû\80ý±jB×![¨hÍ\rnÈìÌ@THãë\9c\17\1d\16Ì\1faÂà²$\19\82}¬:ñÌj\ 3è\1d¹N\88Te\ 3\ e\ 3½^ì\9b)\9a\ 3¶ÐM\18UÚàÕ´:FÈÙ×k\88\ 5\à×k·B\ 55\ 5xT\81¦\84V¸\fYG,Z?l9bÒ\ 5\12¹ZËÂÇ\84\14\9b\1a\rns@¦q b%v\12Ù\f³\17   ãy¥q\ 4\17\8dïh«û³xÞm\82¾Ëà_í% \7fH_:\10¾sÀPê\1d´là\98p¹[N\86§ñ\11õ?§Æ\ 6%\fÂsè\e0 ×9   \e`1*=*ç#,\91+c\aw\95W7\9c\84±ÆMSäm\84µ^¹\b\8c\97_Jçø¥Jëâ\8fþoøÿÜËÿ\9a\ag\81\97ÿ\8a\agÿ¶Ó\8bù\143ý[\7f\99C?ðX\99C?\ 3\\ 3ÿÁî-Þ\9b­:ûÌ·Zu÷\97oÔ*\rÿ\99{\13\ 3\94\93\8c½\89ÙK|Ô¨çv\83cþ^²\r\8f¨$\e\1f\H6>IµÚ\r\8fàÿ\9a\r\8fÔ¡åu\11p%\130iMcþJ\12\9fþ\8a\f¾\1a4dM«6\ fñÙ=ä    j½È²UKü5{\b¨0¬¢\12Ú\ 5\991;Z\84Þ\15ë\ 4\96mM{ÇØYCÞ     f\8dÑ#.\ 3®ðÜ\ 3]'Ã\96\90å"¹XÁËǹÊlßiKòÐï;\ 3?\r   Ö7¼°Üz6\1dâÇ\9d\13\1a\87\1fþ
+{\ 3ø\10\1ap¡Ï63\8c$¿ÒÌ\82¢\13\160g\9ca{ó£1\83<\96\15?øé |(yÿ¼q\1e\87\9fÈ\86±úÔ«_ò\9b+\9b\9añ̰où¥>aTû\aû7äõ_ìÜå\91¯,Ì\9a\ 1>\87â3s¿æ\81\8f\82\b\86\ fï\7fÉé´\ 3ÿÆ2ÉaAóloL:\87,GòÓì\18ê\8f\ 3wª9((Øà9\85p\1a¿¼\8bv\18LzïëRWZ
+Ýs,\10üÒÿ\vûý\9e\9f\97ç%\98N?jÂs¼hÂs:Í\84æE\93\ 19[ñ¡\ 5\13>q¶\ 3ùNW¯ã§Ï1Ì»ÕÞe\86©õ]]S\8d\ fµßØOw\93¬'³·æ\13Ù\eë       æ3eCí`\82á¬Ænrë´\18\99Î\\9f¬{¿m\15Ð\1dí\82\1eËb§×ö8«·øÇ\11éÿðÁ1À]\8fOøg\9e\vú¶»¡W=6\87Øá\17ÖØSü\1f\9d\91\9cñÙ\7fü4Ö\e\1dêº{\1dü\94@vÛá¥\8b¾ª\ e'ñÏ%\ 3K\13\9fy\ 2ýý\9d\81½ü2ýý®\1dÕÏöMgûÞBÌ\93ô³\v³ï»Íc\9f\13\91Ùn½Ý&®û^ûËcñ \92òh|¿ù\90'\\92\11\17ÿ»\fgÉA9äÏ\9dòh"¾Lø?%DgÔÿ~?ö~é¼Ò_ïý\1fE\97Ø®ûX\9fSa²î¸\9dwçËy\17ï¦Ë[;\13ÖÿnkÜmØrý\14\17\vù\10ÖÕîêg5¼\1c\ 5\8fçÌy_g½î¼\8fÉábd >²gÌY3å\8c\99óNLú\r%v\17ê-Hý4\17\1eM       \93ÿ5\14\9eLú;%E7ÿJ\ 1\97ÿò\vÏxM5w\9e^yyåç\97\9e^yyåç\97\9e^yyåç\97\9e^yyåç\97\9e^yyåç\97\9e^yyåç\97\9e^yyåç\9fùòÕ·\ fck,¯ýº¿ùu\7fî\15ÿÌ+ÿ\99\87\ fb\8d?mN!)\9eÖÜdUv\98\8cx¡0m{#{\86¨R\19Ø%¹ÒlÉ 1{¹þ\ 6ô¾ÅïÁMïgÍ\85\92\0`Ï{¹äþ\ e¥¢tm\13\9f\87©h\1a©j¯H×\8a\18MsbËtÚ\ 5ìJä02F\7fqÝ#Ü=Q[\83÷\fJ¦b\90¿@äË)d,\13×qA\ eú\v\1e»\8e\ 6à
+>\98 \87\95\ f¦Ñ\\v¿\1c\e!D_óÏ\99ÖDÍÚ\ba    Æ\82\13Ùô{~ÛµÎ\1eH]{\vi<(Ys\ 4¼½Qòa\9eù/,÷òA?sô\18@\9b³wsk\ 6jÍÛ\1d\8d\9b¶JÿÙìn%\15±ýèM\82üÜí\ f\8eã_<1R\80ù\978¤'ì\10Ýs0\88\ 2\1d¿`\86=_kd(n\18Dq\88\ 4+e\9f      \ 6\ 6ê\ 5l\ eFÀ¥ý_V<Ö»Òzø©ëøéëì\13×ñS×Û)ê!?ÇW\ 1µC\rÇå\95\13\&®#N·\8fÒL*\15£R\9a¸¨\1fÈ\1c(Lû_m¯âû©Ô'\9eO¸Oé'Ý' OðJ÷=Î\11\ fÄ\87åO¹O¹µ\aRÞOµWù5"¡ã!´ÁÓSJ'³O·O¶O6\9d:yÅm9\v\9aö.mg4­\93 ×¨\97«÷\98?\94Lgß\8e\8fè`Âû\84M\ 67âÈ+F!\8f+çØ&\ fùDÂu\80åTPÊ¡GkÐÃqVÐ$Ut\b:\e\8a\1a\e¸aÞòå\8dF\a\8b3¶ g\95²¹ë\1eÅÇ\8fì\8aµ%E\ 4°.\ e¸ê\9e¿ÍIOï\9e\14(\97\9a\1cd;tÍ\bÔ¿ Æh=­Ïí\9dÈX ÂÙ%7Ç\9f%3ÝÏt®\88ì\95ØÈî\91NÃce±A\8d``\ 4\18Â\eä6\97¶J\15`c\ 4'ÕÚ\86°1OU+ËØ\92\ fk²Úÿ»kgµôö¾ÎÕ÷\8fÜxêxàF\f>w\8fÿ¼\aº\84\11\80¿µrû\9f\83§´F¿\15OâÓæý§\9c\8bì«·ß=\87?#óþ\14\80\9fè¹ÕTü.7ïv\8fïù\94?ÿ Åw+µ\12\ 2Wïú,~à\83ÚÿªÇî\b\94Wú»\86¼³\93Pb»\9f\99\0\ 1k°ë\89%\9f°ë¿Å\1fß\ 5\94ßi@¿ïå »ú¼q\8e\83¿\1dþ+\1f»\83h\ e|ß¿û8i¿R«4B\8d\1f<`\ e\92Ä7\1c´|¶\ 5Jò^\9e$fkÁ+mL>*ê³çÈWÚð\91«>\7fm\1a³çùç¬ùý´\9aÏ\9fÊ\f\89\98BÕÊã@µgÏ\19\8b\91ÂÆ"^û\8c\1dÕgÏy\8fHM[R\8b\85Â\14bàÕ\9f\15BôA\14²o@\91ãV=ZÏ\9ck¡ ^\81\9bJO·3Kç]\8aÞ\99Ù®ÿH\92\95\9c­µÂÐ\1c#Æ@üøñ2!Ñ\ fåFF\19\0á|˶(¹\80S8EËÈ\99\90«n×\9cð\17c\ ez@ª§XÅf4UмË&a;\9c\ 5\ 3àb£e,7êì b\84\fÅ\9f\80ü\1eø\1d+@¦(¡\99\9a³M¡¼è2r\86\99\93Oy[0DºlOFD3K¤\fwSZ\1aã\97\1eY\9fO\893MºÌ{\82p/T\98ÿV\93\1f\19FAþ\83'\15U\r\9eQwíß´y\ f»qW¨@+Xî\1f\7fz\b\9f\9fÓ:w\rû¦@¿5P#\93ö\9fáÑÉû`á\9d\82\17æ\81X¾äJÈoåÁ²cúá«\84äF$\1fõ§êw²)r\ eM<ïÈ=U\7f\ 4"Ì¿\8b®3yª\95)T\7f³\11 \80\9câciÆ\83±\9abÌ/r\vQb\11\ 2ç#7\98¶Ç¡I¡¢Îç\98²U·«l/ä\e3\8f¨ô\13Z`W\r!¼ÅÎÑ1\815Wá¡s\ 1¸V¹%\9a(0\b\94\r\90²/\ 3­\ 4ÕO\18[j¬Æù;\b3·^vÏ6\90z\99ÿ tñ\9a¶w\90Üb\89>ÖØ\80»O\80|\9bÃå\ 3l1D\98©rToéÍY\1aoÚb\16@óx±\86ñ\1c\17\94 \1aay\ 3x\8fr\ 1¡¢N=Á\14\84Îù\8aÈ7:\8d{hÅÔ¦\11ã\14Üõ¥\12 ¬®~¤x¸\13êìñ\ 2¾86ú\17Ò\0\9f>:µtBÃ$xî2ÇÍ®5¤\894\ 2w\8bÇ\13ϰ}FýÍ\f\ 6à7¿uNhYÀt¼¼fã\8a"\ 2@\98\8b¹`\1c^\8c$\ 2´TÃ×T¯¡Àz>º¾\89\94Þ1ì\ 1½2À\1a´\1d\0\18\98\8aXËú®WAô\86µ±·\188Ôm¶ëÒ\8c§(.Ó-hRoºm2Þ\bl\19§Ûö¸\97$;$cÅcSí
+\1fÎb\ fík.ää\ eiÛ8\90@\864AW¿\7f\7f\9b>2\ 2K1¸\81e,³E³Á@{ÓGtÙ\82{¦,\11Ü\83\99Ð\ 4½j\88¤\18Ào-Ò\89¢\ 4\8b!\e\ eTð ¦\93\80·\95±
+8\1a     (=\19\85v\93Ì ôë\15Ó-^È®\99të^˲\8dw\ 2\8cÝ\9a7Ô£]ÓUí
+î½§-àÞã]·à»p6hà½ø×mú½\89]·ôå©ïñ®Ü\18]¸`ºlÑsÑ5Û\83¯lWlúo%©çÏw\14ûCÝYI Úp¡\aÞ\8a*[\ 3O\1c\83nÏÏ+òÄÒÜ%u\9e\93p\10\9a®\90\bS\93î\94Ê¿\8e\82¿\19\8d:Jì\an\15t7Ò\r\88­Û\87¤6 ·p\1e\90Ø\86Þd=3"6#\89B\9e·\1a\1ehN\13ëp\9f\9b3êÞ/!gmÀ\1e½\9f[\8cËy5v\8b¡\9a\ 2º¿Adb¨){       ±qêý»\0e\8bÓ
+Ò§C²\88ðe\96.\90ªe¡X%í¢f}ÁF0):i+ÊȪ7\9d\85\91=\8aS\7fÁ\ 1¸\8f=\8e'[`\84\89b~Ô\84ààª2gµ\1dÍó£,LT¼8P\1d\0.Åú\19h\99þ*\ 6&\ 3úßS\99\1d$Â="k»`»O\1fÑ\1e4 -) ;îXÅ\9a\15.ññV\81\96|¾±Tµ\ 3Ù^    ,ØBR e7\1eר\938p\0Á§.sm\97\96\19»ùõ~ª¨    >\aYk\ fù\ 5´\8c\1cWl\9c\ 4ð%Ù\9d\90Ð¥\18P\8f>f|¾Iú\0áì+-\81ø\15\85J\94\ 3\8f\0lÄñ\8c«\92\röaKLbý\8e\81\ 2\90ÈF\13ò³â\b/ÝÜÑçÀ\7f{\ 6-\8b{æ2\0L\82±õZ/Q\9c#3\va\82çÂÆK\83\87\ 4=P\ 2PoC(`áVl#ÿú\8bhy×8Sج9,Ùg\á Ó\8d/ÌÐ\bµð\83{\ 3o\ 5\94ê§WeÊ®0Z ý,!\83\92P¥MP^í®\1a\9aÈ\14üïHBÏla>:\14í4C×|:\ 3Í\96e®mð¼õßÌ-¿QÅ©\1eí§TÝ\96 öÁ>\97á\ f¨;|\14\84\84cÜÁ°5#\8f\9f\8f\aÓ[küs\8d\8d\11"ªÒ5>Sõ¹¦\8bZU;¹ ­v4aàÄXc¼\13\aM\18Ï,¡4ì´Ç\ 4\88£«Í\f\94%·y\8eb4³­\94\1aßáà¥\11§h\93;L´<þ)\95\85_ºÓLήËÞY/É\9f5\0\8b\ 5\v\18O»Ç󫬠   l\ 3Cop\12ÿ¿²\12UOÔãâÀá`\9föu{¿©ÈÅ\8c\80Q\90°¢×e\81\ eA\81~«Ýå\82\97ßn`b¬ë\86Ýr2\ 3Z¶aC\98@\r\16ÕÖW>V¦ÖâV        ^\83îúY\v\at^Pßp\e\9eí\80{·K\90¸ä<\87\6[:âÄ&ØêÒ\1f\10YÁT(K\19_Õu\84\f¨H\üÛ\9b\97|ëq\ 5\97Eo\81Ë9\17Áòw©\80#\87apðIA\95F\ e\f~Ö«}f(jþïHòÕ§XX`ÈuÃÚà\97 moË=tt\80`4\11\rªôÿÒ\14¹ø£^4òê\1cÏ\8b=u\19ÍÂ,¡o,ÔUdO¼9\v\ fÍ~#\8f\89$\1dÌüBíbO-[c¡>^wX\18á5X"Â>'FâaÏû1?AèdVÖ½BÕµ¯\80*Ú×\1f \86Ûî±&ìÿ\7fç33\99\86\18\19\88`\ 2)\982\ el\91Qc\8b Åb\12f\ 2È1À"\0\11\ 5´9\92¶I%\1ebKÚÆa1c\98q\vÛmí½¥e£\en«/e#\18ÑNÅÁÆ\ 2¤\960\9d\92\8cge\12I'\vÆT\90`\ 2   \9fÿ\7fç3\ 1XÉ/míïnîÛ»ç\9bß7ÍÝÞú[¾\8eo©¿\ 1\1f}\rø\r¿\ 1w×ßc~\rÊw½d\929-ÒÊã·9@êZxÏìÍ­\9dY;ò\e"ðëÎBÍ­\9a(Yµ³(LÚÙû\1f\ 2xm6\83¨ÈDéQ\v\99\9aÐï˲Èi\v\8d\95É\rHgo\94\84Z,¿'â?çød-)ÿ\ 2\19ØÄ®0\83â´D²\89dÿ\98\98ëO\84\85\19\1d¸æ\92)\96tsÑLÁ̧ÅF\81\8a\9bû(ÄË1£¥Q\84Bð_§n£ÉêB1ec!\94T\13\1dµ8~9`\83æ&m\94\vå3\88\9c/A\89Ò"PBt\ 6\97\94\fÐù\ 1ÿ%\91·1\80K7d1\89\0      ,\82\ 5«\90y\88WK\13£©Ó±\ 6 Ñ\8dS\12ÿHä³\90´,\ 2ù,y*Tdú9ÉP\9d¶J\1d\91®Ö@\f\fÈ\97\9aÑ$¶\ 3)        ÙcxÓ\12ùû 2\9c:fÊ\82ö4µÙ¯å%\95¢»1\8foN¤Ø'\9aÂZ´2Ù$¼Õ»ïæ%ÎÌd\80\90\92'\1ddº~k¹&O\9b\82\e­ã\8b\91æ¹+\89\14IØz\ e\12Üi\ f\17ÖÃ1Îä[BÆ.\94¼ ~%\99ÛöRÆ\15oS'\91\99\95ÀPol¯\b=\ 2·\aå\82ý\9d
+[Y6Y<|?Ñ\1c\86ñ2ül\9e8\12\9d\91øòMÈ\9d\0ÓÅÞ0\vE÷éÛ\ e u\10\18é\9e/3£\99\16^\7fëÞ#Ç-&j^|H_'Õ\9a\9c\99ÇÚ»)\9cǨ=Vkö_^\11UιE$H¤òÀ¤\17\1e!,e\8fS¥äë\84ø\14É?A\97\ 3\1c\r\9d£\ eà$®Ñú\9cÂ\13ë\9e_À'\9c<\9e\84áöÛÌ\9a\ 1\81aábÏ×\ 1.=\83«B\ 2õÙµ»Q9 ü\12îÆÈuètó&\vÀþâ@\10²-       o\ 3ÈcØVº©\14û\e+\9d
+Ñ´%\8a\8dÄÇÁ.í\82 ÁDu\13\87ßéÃÎÆÌ¼L|" xiÏÅ\1c\ 49\ eð[}\91\99\&B<\14B~\96\ fû\91ý\e\ 4Û·OeM<bvÙCÀo\ 4¬ñm5wÙÒr:Ü\8b\9d\ fK\8fæàzy\9c¯\v\e?CÆbB\14H\ 3\899¡åë\96Þì Â±\82@\8aû>Ö¢»aÞ\8bMkî¨Óè?\ 6\90<áå_³Nåà©\90Ç#§\11\b
+\ 4\90\ 4\8fÓèyÁåJ9;-á\90l!\13»\8e   æ¼l\0-cUïÚÆH¯È<\84É\85Áu\b§
+]Ñ
+[C@\96f\92w\84è^X­¼hyIw\15\8e]D4-!¤®îCÇV\9dI3\96n=;\1a²\17\9aHm'\1fCî¸IÇÒ\81\828\9ceÿ\95úW\18ßÏã\aJ\f\1e«ð\13\ 4¢2Y\e¬>rd\96X|Ð\98-ÎÕýê\1d\ 4\89\84\14\97K!èþ\91;mmtÄæ\83ñú,:à\ 1\9eo@\92uôC\ f·G&üäR[Å)@l´.\96á\9c}ÖÞ\81øÝüþ\99(0ÒñÓE®\ 3Í.}Eu1Kÿ/æ{E\9e\v?]Y­\8fí\94¢bgä°à%\8cÓoøXÄ*çÝɺ     sº´³\91ÜÖÚ        \13¤&m:\10\91Ä\9b¡YV``1j\8b\80èaÍ.cÓuè\90\8cÿvÛ\1a'\98J69×\98F\1d\9aÑ\93\19ofÈ[ò0sÝ0\97¢\8bu\13/D¼\ f\ fQÑn^#\96ÇbÅ\ajì±ê0½°70p\12\1a\90\8a£ª)¼àÕ@¦º³\11Øý°£Î\8délèåã\92ÁRß\ 6\1erÉôN2ÀN\98)Øg¡u\9b\8aU\86\13¬á'\ fÉ\ 5¢,\96c!'K®q"»i¥ç«J\16\98?ØQ!¬|bË'f\8b¼Ëñä\12½\ f»rz4ù\15ÄHÇ\8dàkc°ô\9e\1c\89U}DýÏ\17\90\81i*go¡c\ f%\8aJ\19ü0Ȫ^üi\1cv\9am@cÄúJä0y\9bé=ÚMÔ°V\1dUñ<â\aUá$\94\85#G|ª­,yT`Å>\92\v\90zx4\9e\9f\a\94I`|Ï´\a\17Tø1ü¥\0!áÆÇ;&·3\99\9f\94d¸mÚà&\14IâÔ\82^w¡ÂÀÏù\95\90\89\ 1\9cÛ-P\a\192®§!=\84ñ\15\88Y\8bõû"{\95\97\7fÒ­i"ï«§y^\ 4¥·\8eü£\1e\85\9fESï&\7f@\82^[zu\1cªßOÊ3¸®ÙzàÅ#\aµ\84ÁnO6L\15¥d\b%-»\8e\ 2\v\85\8e²wëûñ/ë\12¸/HbÈ\ 4Ð,%\85?\98¸ut1Z``À>Ï\94vX\84»\ eû)\91\96n\ 6\94ô¼cÛ'@\95,\9cÌ@\ 3\16Èì¥C;­ôï\97Î>\91½b­3\16\85v\ f\1f\8a-nkn      \vþÇ3ã\8a\1d(£ôº\8c\1dâ\9f\89\83¨øØ&|L\1c×3¢\ 5CѾFÒù|,\90ç;ص÷\82\0Çdiõ¢¥ñ6"báYì   Y*Än\81\9cVm\98LèQªºkÆ\99%õ_3f\1e\83\84K\8eÍjD¼ÛÒã:\90à\ 6\12\e\9b `pyòÔ ój¯ÀÀl\7f,\93Ñ\e\87p\ 5Ýö\ 6¾{O³À;ªm¡÷\0\90Ô)       \ 6çñ\ fõPÚþ¨Gõõ?Ü\1c\98\94_Ìèoê®R}§+£\83ƽtÄç\1e\10\9c\8192}Æ\9dô\86\95ô?*¸ÞÉó\80üh3:\ 4³=l;Ù\96_î{¤áõ\90\92)s©zfâ@h\97\8eÑÉ\8d*ïÆ\97Záb\90\89ì\84(ÙÓõû&J\89\1f\17ìËLó     l\12)Ù4,Lìó!Ù\8e=+aü\86?ðÕÌäbKÖ\95>ûÃy°\95¢\12ý¨rt\93À³¡²\17ì¿\94¼\83 fLNC#\1fü3Excܯ$\13àÖùËöAϱ³áã§\vò\90Ø\8f¿×\10\92#1\1f\94<7\ 3\ e\17£í¦ed$3))Ì>Úg\16BBÝ%7\ f\99å\90\90é\97%[Q   \r@\1dh\r´\ f\92\ eÒt\bl¯ÝJý\aYªÖÒºÝ\11\87eôJNËY\92õæÚvk\ 3ÔpgÛ@öù~Ï\0\97¢vÓ²\fgZÍ\87\bGÀIÌ\97X\97\9c      \89\8f\0da§o\a½#\89\80ÚWè)u\9cMâë\ 6ñJÙ\92ô¿ÚO\84\1c\eH3ï\ eÍ+ÒÇi¨\fl¯Ò§Ö\86~
+O.\9drI¶\18ï(1¡¼ ãÞ±%ÅcX\0å]\98¼@×´\v\80¾l´\81´\82\94ÁdÙ\89\ 3\94ÁLÚÔ\81\835?\100\9b\8cL\16\81³\11\88\veS\89YQÄ©\14\81\18°ã"¦     æØ"Ó\1c\12MÅôÁ\fÛ\bPâm\8a@o¦\1f\92\ 3a\87q@\ 6Ã\15ô!\ 1¼º\98Aù01Õ©øÀÀ0á\81\8eµN<Ç   ;$§JØ\84w\9c`ßCì¯ñ\ 3'ÿÉ\99tP¦¡|WÉ5\r-e¸\ 2\8f\8ajöÅC\9a¿\90V9íéò&¯ª]ÿI«é\8aéÍ_@Wû¦®9\9bû`{/FÑ\15\87\98\1eæ\19)\ 2b¤<ÑIBaò´\87\975$ã\90\1a\9e\9cʰq\b\|+pä\14þé\93á\8d\88\13'¿\1e¸S'ø@\9a½½\19\93ßâ'Ѳ¸â \18pÅ@8\89H/§%ÂH,r@&tÿ¥ Yµ©Iq)\ 1%È×Ç\1fókaÉr,b×®Yüd\ 1×¥\90Dr´W¿\90¯\8a½úßM¯\18\9ez\0¦Un #D4¹3O\14.\95_\ 3ÛøªÞkså(\85VòL-<&\13o\8b¤\8d\9b\13Ï\974º"ñ.ó;L\8a\8a\88%\9b\96¾\14\90¤ºVq\97\85\f«b¿\15¼NKº#Õ\86r-_\a¹NéæPë¶\1a\1e93f:`hxÄCØ\7f\84\93\ 3\94³/T«J\7fb\1cÑ<Ù\ 1µ»\ 6Ú\1a\80»_\89Ó\9e\8fT\10N]RV~RW\90\f\91éÍ4ÂG\18\95\88\84{Qm´;ÄeâAXGd\9d¤\16\ 3¢\13úÕ¤º\fßgÃÓ§p%£vjA.çÜ`Bë]+\85\94\b×\0\1coÐÚ\12ÇÞºÇ14÷ûó\7f¿ù¢?ïg{ÏÄ\7f¯7ûþR$\8dÿË\14rÿRÏ\93\14røêÿã\8a9~BÎ\9f\1e¯ÿ\98£\97ÏWÿ\8cQËß+ùqG/î+\87gÓý¥pìú\7f°­;>\9fþ\19´¿@¯#6\97ðÕ\7f\1cÚ_Þt?í\9b\19ÓÍ¥ú\8e\87þói~xÏã\9bKù³?Ë6\97øÊ¿ó\9b\12¯ñ3dÿÇÙ\9bÚnû]ôê*t¹ÝD¥\ 5MV»èwýô¤>Ó\97K´àS³\9cÿY¼CÉgµÆ$DR{\95ßÜD\8f~¦6s\93Êȹ!3îrbg\9e\91\132£:~VEãÙäú¿\8c´\8c`D9º\88ìrÑ©ü\1fÞD¨ÿíó@>\19áÂÓ?)^¯å?,<\84@Þy!¼ù1¼ò"\90*<D\83dÅï9\ 1e{\98ÿ\90\89Jäpâ±ðMn\1f\9a\18àak½Èà¿â\16\1e\99\85®ÿ]\9b'ûÈ\92'þ&j÷~\9f\99\e\8eÛß;íåt¾g¿ôí|ÏÒ\86Þ'÷y\94CÒ;þ×Çì\8bOQ~\1f±î?µ|¸f\ 5\8bê\ 5û<d£eò\983\7fü¿kóuÝ¿»Éõæ¼Ï{\9bÍû:ÿÉÛ\7f\ f\19(ÛÿRÜ÷4Ï\7fµ}öñ}_\ f\87±æÿ\ 6{N&c¿y]!¨àæ~\8b;\8fJqØu\81\8c·\93s\96âw\e¯µâðûϽÈú߽ÿÞÍÇVö|ÝEg\17;_êÍù\12_Áïþ%¥ÏÿU\9c\8fÔÉK~¦+Ûõ,å\7fág\eÿèÀ¥ýK>\9f©gëõ\rqçó}\17ÿ\9b÷Íûæýÿì\157'Î;ý¦agë¿oÑ?þܸ\8fêTÿwô\8b\98{¬+\vÀÖ~ÂÕ#ÿ<Ö·\83Üë
+ɶ¡ù\1d,ÆI\9d\9f1ÄKóºÝÖxG)Þ;E^ë\8a\9bÊÉm»\ 1X:µ\15õv      
\10ï\86]e¬r\94\95ÒÑÀ2~y\94ë\8eìWÌüîÏ\83\9fõjûö¼jÞ;¾Zó\95\97¼Äh|Ü[æì\aª1ó|ðõ0|Þ1¥lÛ\17­ãìÄ'Íä\9eêc¬\8azÞBÈO[È\82\1c\9bÖìì²O[²4lâÞ·Ê\86³\ 3\ 3ëZ(\9bZõ¼\9d\13\82BK+\14K²²zÝ\8d\16ël#³\ f4òS\ 6O\9aâº\9e;tÄN\94Ö@\11clQ[7ìJÑÊJ\1c¤h\ 4m\15*´EFÎ\92\95XáÝ\ 5\83\1f`WÏ¥¹
+x¬D+\va¤ÚÀ\89å:Wa´ìÅ|\8fêÅájÃÑ\7fF¯ï÷l\82\a\18÷îÔ_îÙ¡,±«ÿ\1cáxúñxõb³º\8bÜy)\82\93\f\ 5-µ20UÓqÒÛ\86!é"<ëCÕî\84íÔüKýÖ(\8e\9cq,ù\93\ 1»)°h\82(Æ8ywØ ë\19\rÎ5\11\93è}AR«\ 6¨Ä<\9b\8c½À\90¥ÆB¼\16e¶ìCèö\ 3]
+\ 1±\ 3©­¨ï<d5ªÐX­\ 5BãSR«¸Õ\98H\9fÂ4    \96#Êß°\13CÕ4}&ó\9aXÇ)n;KÎjKú±DÜ\9c´þ;Oª1`]æ\103Uë -¹;ê\10\ eØJO
\82Âká}M\8bµ\9aÆ{AÌÆ1Ð\99kDγ³\9c\17{4s\e>ökhdà·\ 2*ÌWÛC;\81n\v+\89M\8aÑ~ú\9e=æ$Xä\17\88½ÖMæ"Ê¥O wh¨y\ 1e¯²]º¼äÕ¼Ùc\v\16Ó^ð\90\89\13½\8f¼1¯\8d\16èP\19\19;<Gþ¶\83\98dø9gÍÉn¦\a\eNT\84ò\84V\r]\ e­N¸Á¶\9d¢Ñ\ f¼b\1eZ\81©¥\v\9døe\88ì\92\19\81!\1a$b\ fÄß° ÄCÁ2\92\8d[8\eõãMÁ`\ 6÷A\9a¼çà]4{6Î\ 3#\O\9b:lñ\94\18cqÃëf¿´\16ÂÌ 9\80^ø[k\ eöhWËüFEpE°iYý8Åjwköl
+¬¶à\95¿R&\95ªtNÎ˼¶ayÎ\e\ 2\12«½\10\9d,iZÙHk\ 5Ïz÷úÄk[\93Zñ¨\ 6òqX\bVóXÁ£\14B5¤\13\96\eDké¬+y¬\0\vco5ð\1447Ì\ 4\7f\9cñ\ 6\ e)£ÙÙ\8b´J\ 6ñ¼È<\11lS\81\8e£\86ö¢é{JÍ\84\94\11U\8eG3\92ZdT´­\9cUL·\8cs\97\r\ flc˽$Kú#©\13\12\83Sæ×\ekv\13«\88i[C\13¾\1cUïËÆô%ý\ 3º×xp]\17åcy\82\997\ 6ð"\ 6\ f¾n\8c\13ba¤ìj¦\8f\95´{¨/
+\99\86ÑÒ\9b\ 6¯\9f\8b¿\11A3zö^/\9b,\7f`ÄWÿ\87\13XÕþ\15Æ­\91\9cñÉ\e\16\87kk_É\e\11\95\ 5\ fI\8ez\96\8f\95<¶,%#\7fOLÎ\9f\ 5¿Î\11gE\ 4\81Þj$\984w¨c0\84¨\8fo¯Àâ\a\80l%U©²)\15À¾ön@\18jp\91\16"¶zÈ\146\1dlø¯\81À(2Pï\ 5¾µI3\9c>Êk\agd)\81\1c°5\8aa×ydÜ\10ÊBQ\94uIdØ\10°\84¢ÁÖ\96˵\ 4+!(¬uØYv\80\85L%\15.¥l¦A    p\94Ku\19e0\bJ\11Ý\89\14J;6\87Ð\125\ 3\81cbê¬\97`ìÀÂ`\8e\96ÙD\82\11±ôà)Y!Å\12\1aA#ÙYuX-ö#xÕ\8fPÞ)K,°Ð\16\9arÝ0²\94\1a\0>[p'\ 3þ\17­\12*\91ûøh\95\85O\ 1\93\82M$`sr±ÔHÁ\ 4\88\ 2\ 2Ñ\88\1a,\98"(\ 5k#+9\82,lM¯"½ý}Ñø¸¿(\98Å¿ü#\11Ç\8cBøJDë±LGÌ\10G\9fÎymØ\1f\88òÞPtwÿG\8bÄò/9çâ\9f³¯\10èpT6\ fc0\85V5R\8c$JÃûõ\9cA\17÷\80N\9a:)ÂO\88s
+\1c\90\871sø¨\\14\ 5\80ÍTÒÚmE\8a\19²Ç  T\8fÿ\16\84X"-\ fç(z¢tK5àê,X9ö(±u\1d>Iê5ÀÈ\9e\9aúUf\83ÂÈͯ篷? ó\9aÁß\1dÞw\ 2\19ä(Äó\88e&Ôq¥ß\85\16'J0ÑíP£,\90.µºàxk[Å\ 3ôiíÖ4}7\10\f\a­q {Q÷Ór\83WR\b%]øKÊt\10/6V\12¶c|x¬K\10â»$"\v­ RGI*N@,\9fЬæ±-\f\Uþ&èt\ 5?h{rÀá;~'Ý\16\8e\ e\91×Îh\94º©\1a\ 4\ 5À©0Ùâ\ 1O;^a¤ï\9e!¾g·ðM|¦Ù²ñ\1aá¦\b\12¶µIÒ\83AøÁ\ 4\80×ö|PëîàAç\85Í"\f¢\87BÂS¶\e³§\ï\ fIW\98w\86USF\95½é\8eú\f*äÝô
\91\eÌ÷¼\ör(me\95¼9_\rNiëh´dÆý\82Óh·­\97=lEÐxFí½l½\ f|LÆ\1axÐ'í"Dað \1cT]\ e«µt°'Ìøè\\1a©¤¥©\ e\\e\røÙc¡tåFúh"ÐÓî\86õ!æA$,öM'\98\89ß\1d\r\81C\11´°'P®\86ßt¦¶Õ\12ý;º1ÀE"½ð`êÚ¿¯»Þ;#ø}ø\ e{\fϰ\15\rvn\84#»>\15\90a¯µCîÍIU\eS\f*ÿðcpÿ±\96\9c'é²äA\97$6^²\ 4üé\8c¨      Z\bÖ­5c­w±Je\ fçÞ\ e\9eÅM\ 3!F\1e@.óܦf®\8e\96\ 1\19ŞçFÎ&Ét\7f\ 6|\1aϤ\1epåÁ\8fðÑÒ³¤\81\0`Y¯\e\f¬\84m\1cÌ\0\1f·;Á96¡õ\ 1{É2k3x¬\9aÖ¹¨·3\1a\bôÍ\ e¤pÕ\1e%A«*    m¦¥\ 6    à\e©?\99C@:åkßð¯®Ú[*\95´\15ðÃ\11ð\ 6#GK.©xå\86Þ6Î\ 6üz¢¬ÿ0jÉ9\ 2¤ld0ò\80Ã\93\1cªß70\7fø\91ÿâ\1a[7X#\19ÐÓ5ã\ e¦&¯ÿ\19ww\98\98\1e»Gµ!ôi©©ÏöÍÕ\ e¼Su&Ð\eB\9fÝÞ¬öÃâÅ2 C»\83LÎÈ\ fPi\ 1?¼WNm1º¡×2\87\9f\ 6àÚ\16Kìkî÷¥X!÷Å|æ \btÆ&°kýÞ\10áͯºÀ\94fh\8au\19bÀ[Ò¶\C\8bÞÌ-âxì\ 4\8b=\11n\8c\r\89´c\96ûG*án·h¨áNîÀ\16èÃæ\að½[\12#\fÁi_·fm8Þ±\86\b\11ê°æ\ fA±$ú\14&\84\8f\8fä\ fRa\94my¢É¤ÂiZ\ 1\8a-@i^¹ÈÔ\18C\10/¦¤CFUÍCÙ©Aè ê\9cÔVÍÄ\ 2\9b\17\ e\83«T\14\82XÀK1   +!¥W    $\91§Û¤\8eÙ]\98Ô&Ê\1a\19µ\1f§j\1d\85èÂÎÅh@AÑ8Ò\ eÒöS´5å³sk-Ãà\V^»\12ý\9cÔ\11\858\e\90\9bD!\ 4àþe \85^\89ó]P\äy ¡ÛeXSÂ\13\bÔ«80x\ 4\95\11ö§ñͤ?Ò\ 1+ª        ´¯Ýx×\ 6\9f5*iôÝaô\19\93Aº¥\13Q¹yx \ e\18ó\9e\9e\1d×$â£í8\9eBܺA¹FÚÞ°?ÒGÓ\1a\87`§!C\865\ fÂY§òPf¤Ý\ f'\»!oñ\r\18äö\8b\ 3ý4l1L?Öyì¨y\88 \12íyUè\84\ 6B$²(þT¶í¸S%\12\10\ eUàÍR5³£\r_ý<Sm\ 3t¨ßOÙ7\aÓDÃm\ 3\93\86ªÂ\1a«E\9a\f\8bEB\1fqA§ëÆà{\83\81¾ý^±\a\ 5\ 4e£G:\84\12º++Pì\b²Z2(Tô\9ay¤2¤YË\9a\7fæ4ú\ e°ÙñÉPÚ2@¨qj-0@\ 62Ýà\bJð¯lñ\87\13åPÐ\946C¡Ô»\84m¯5\81ÿ\9eôìd\98W¿G\18À`Ã\8cí\ fÏ\9aÓBéfº]ɵ'\981ö¸        ÖØZ7¦¼ýK\8dp\12³6¥ñ\81¢iI4¬6\89\11&øÞå1¬÷z\9e\ 6ïR®÷%\8cK\ 5íÁ6½º\8eú\9dv\90\1dù¥$x\ 3\88ï\83\9eÈÕ\1c\90×LGv\81e¡B#\10 ­Yh­\1d\ 5Î\96"¢Ð;\16\94)ª¢\v\b.\ 1\84\940Þ£ùá<`)1\1d¸\13¼áÀkêÃÕ+Á\r    Ë\88­\0\15)MÌ]\e¡¿«`:\86lÊJ\9f\91ÊY\\v1d$0rè\b\927p×\98\90NÑ|\80³­$LY
+&\1dz\903¼´\ f/\1d\17î\93\8bG\98\8a¡ÄÔRvÇ\r\95§\ e'ún\98\15*Ô2Hã>       Û°\1cE#Í\94\a\11\92O(ÇÇé\eÊ0#ì\81··=\81ÄÀ,\ 1Ê\80\97\e\98\80\rD\9cµÐ\9bä\84ÔÊa¸\17¦Ö\aÁ\ e\16ºìmº¢Ñä\8c&\ ecn\11ä\r\ 3M\vuÇ-\a5\80Á2+\92BÓ1ª\8\80àsúÈwZò\818<Y¿Üñ5¹C*Xã¾\86Ö­I³£x¨ÆÓp:\90G5±Îª\99i§÷\11\86ènªºãt7\15Q£w´ë¡Kd\16\91í\ 6Ä\8b\85;¡¨­G873_ê\8d\85bÑÉ\90\ 1CR\e\90\10ßN¹\18\9dPì/êTÆïï\ fúB\aù\18@þW\1c\15j½ÒFNZB#Ö\ 1\11ê&"\14\90D1é\b\86?ÀDU~Ñ\10Å!\11#\fDH\80\88\11\fzB#9û\9e.\ 1BCë\8b\1cDú?ì\11,\7fê"XôDHC\8d;\1fÞ"I6rv\92\19ÿ\0Ú1Ã\8fú\95\9aí\10D妼á\8e\88îMZ&¼Ã\11ÞÛÌa:\89\f\92`üèÄ&\8a«Ï71pn\87\8a0\91Ã4ûT|ÑÎN\v¥\ 1µÄM\9d´\87Áº³;±_+ájù{ö\ 2Åο¿Ý«7Yq@Ê~vz»°\98åíxµ÷MyM_\8d\81|>Öó\ f\ 2éëe´\94t¬é®\ 3oÙ}\8aýÉ87\ f;?\81\ 2\99º\ 1\ 6\87§òûÒ\9böâÁå\9a¢ø+è\1a\8fÕ½\94Ú\86\11      ©
+`C\83/2j\8c+\ 5¢â#þ\96¢\16\98\80\9aæ`µû¥ûpÜ\15\1d\15ð\10ú\10n!XÉ£®9\95\ 5\vJÙ³\1a\8bÑů_²ò\ 5,¿|fÊ4\rw<ñù6\89¸^u·\ 2,X7\8a0\9a\10¾Ø+\ fäXfmɶ\9cÅóu©¥\rÄjÕdÛ^­\9b*Öí`d®`\17´íP;ï[®\1e¨·­â\87\rn¡>+÷×Ï-\96<ÆaT¡å¶®×Ü\1c\95X\83âkíJ\94 7¥v«¿·\ f%\ f/\8dµ¼`|v´C\c,ìkE#&Öæ¿Ö\e>\88\9b\11Ùɧ&î\ 3\87«×'È[\12*\a"\0Þ+\1cÇÏá\9bI\ 1\b\987\16\1a\f×\11\18\16\19°Òc([C#\96ÎØÖ°Mk\81,\7fgöã«íÆ\8d¥º 1/(õ·S\9eÐ5ëì
+\eO\83y\99îø\88³ß¬\16-\rÿâ§uHIý!äÁ>ø7gkî\9f6ÊØ*Í\10Y7X\87Ú\82ù´`,>lÀ\94Ò!²\1a\8czJ,IHÂ\15CQ\92IFD\93¡zÙ\97\8d\84\89~6\19´Pö¦\99«\81=>e\v&T(w¼âlû®&ϸ©Ù×7d\9eÏ^Ö\99\91íÊ&Ï á"¶\96<¼ËLc9y\90Ú\ 5ê\9a=Uµ~M\9dz\1e\15Ï^\7f\ fÒ»\ 1¢\96Ñ];:ut´\80M\89\9dË#(Bk\8e\11c\88º1r5í¥·\1fn9\v\9c
+\16¸ÛÁ9©?F\1d#\97\ 1\bv\82Íg\84T\11\1d\1a=XÂ9r\14\10P´¿\1d\93ãËw\18Ü7|õ\8e½\7f\18tQQÒÓ«f¿t:,\ÔíÃ+\83\9c»Ñ\86\14\97A\f%R\1a2y\8f\8etÒhJ;X\9a\12ÎÖ¦\85IÊ/~¨\9c\93âî±sã¥\8dXµ÷Vc\ e! jþÈcü6Ú\11Ôÿs\13éh¡13\9aÙ\86v,\ 5¹(â×L.(6ðdÜÔ×É\84\1dM¾í&øÙ\ 1·­Ñq­3£q\83o Ú+\8d°\ 3\9a\ 1É\19\ f\e¡\ e.µÀ³\98\15\96.\84âµJçoTÑc?iãôÜ_WE\rÅ¥¦\0\ e\83\81È\1e­J[!ûWêëÐ
+üê_gÇÿt°ÚËmX\10½ÌhÔ\86\81É\19EZÀC"o\ 4;hl\11\ e§»hHØkD¬t\8b\8dº\e*][\91ËD\98ä\96\b&\94ÃBLi/
\91õZ¿\1cÕ×î\92£Ö¤µSaÀÎ\1aZ\97­Ì7Y\ 1\rT:\11>oß7ï\9b÷ÍûæýÿÿÆ\a
+:v~ZØÈ\81\14\87¼Rßhè§x¥¯Ùm\8a\1a\9aÁ©þ#\1cÔ`«\82\ 4ü\14*ÐBÁ\80P\9d,\ 5)Q:\8a\rzQ­P\15hP¥°\ 1 t\91\18KAjPG.G\94\bf\ 4¿g×\95:kWòï/Ê/\ 3\96¢\ 3˵òÞ:¡Q\9aÖæ\1f\vÄù²áð½Ï\9b2\1f\vôùµ©pÀçP`T³èó\ 4æ¡ï}\16=\1dÂú4ø`Óéð°2⾯º\ e\ 6Ñ\8ek©ã\91Ë\ 6\91¿\e[¢mµ¨\80i,ëãÂ
+ÖǪ\ 3ÙN× \ ec\12Å\82¬NÎVD\8a\ 4\87lZ\1d¹T¤àsW*\ f-tI²\8dµ@\9b+îjm\88§fæ§p\1d\96\1e  Ã\17þapÎwÊ\9c\9b\f±H'\ fm.\1d\fÖX\9b4²Ö*\84þíK\9a\88\99¦ ¡Õ\9b2\1c5\9eÕæ!küO¯\8d-\8c\ 4\fò¨RtIµ\96áôÌo{ìl:T¶[Í£¤6\9d]Â|\18\0\a\86\86;þr\12\a\96·j"RD¶'\91?Bk^Qþ·  h¬â<¯BJ\9e\94Ú(\13³ÆÐ!k\ 6³\rIG)Þ\89\1a\83Hdtî\9eâ³\9a\80ôþ¡Nô¤[\83\96A3 \9b-×^D¦\11)\8eº²%ZD«]G\r©±b è\875\15\9b\16.Ä6ñh\87\bÙº6FÓRQÀ\ e\ 3\9aìøxH5?¿Z#æØø·u/\94¼\80[Ëbï/©F·2E¶#[ì:kfÓO¹®\93Í\10Bí{èÁ\88:f\ 3P\99M@6Çi²´£\ 3p+xr«÷ªð=©e\ 6\14(\ 6ÄܺÒ\e£\ 3Ö4ÕÈÖb      M\S¼6\15k\1dô4\95j0\91\86\91\1cµ¤ 0\9d³\16¾?Ë\98\1a\11i\ 5¯]å»\ 4;\11kËòà\86ê1®\ f\81\81í\1a\18­÷Dn\87Ò×DÃä\17ëä\12ä\17\81Ôõ\17r=\97@Т6\91\1e\86Ò\1fp}Ö\1c\ 3usÓã\8f\95/@Ä\10Â\96Û\8eYU;\85D\87\83\ 6\85\9d\12\12?\ e¤\ 2-\1f
+\12"\90ðD\87 º©\975/¤òD\93\eÐ>    Hk\8abMo¤ã\93W\90M^D\9b=5 Aa0Öú8\85\0Gq½)\ f\9e#hµÒ\9e\bãk²y\ e\94Rn\96i\89=ÑȦ¥¤7Y\0Ç\13ºÙ\85\ 4S˵/Ð.·\8fsvMª\96\8b\f䨣¢W\ 1Å      \93«ìUµ~â\9f\7f\94\16-ÿ\91\9e\8a\ 2û\17\12Ûu\ 2¯»\ eJ÷*\bÄÖh<'^¢Cü幨­ËçÉÇ\11Â\1d\ e\ 5\9eq[ðo\ 4\87q\8c9¿ÔË\93ÍB\ 1йRïFOµºqh­\rÅuõe£Êâ¤\80¿s@ÈÇ\9cÆ\e_V¿Ø?\9c\83ø6ÊX9©\ 3W¹ kó´\ f[\164¹r\19\9fh\fHÚØ8\93\e|²]D\0±.V¢î\ 5\88¬ÅÚz\11µKvÔYx"qãAî\94¼â0VÎ\99~ëÑ_¹1}\88p\1d\820^Ö\rW\82\104\9eî`:êÚò«àZJl,:\15¡É±Ò=uJi÷\ 6Ú\a\e\98¸Þ\96\82\880\99¢t¯m\16\87q\ 5\19xJ%:\90°ùãl\0ÚK\1då.l${Á_#\1f`Ç!Yß\ 1ج(F®N8nÝXà¤òýË!\85ChkÐ\ e\0g\b7\14\13äMÂ\ 5E\1dóÉÀ}s\82ªù\0í.¶n»Íèc\98µUL8"v¦\1c
+:>\12"Îë¡Æ\ 3´\eÁBät*ÞÌ;ã\94NGXJÄ\9edx5­\8ft'|wp\94 ÈþeÂ~¥\15\1c,²¡Ò\93{\92\84µ\8fÉ\a \89\87É\a6\9e\89\9aýÕ%Àè¤>\85rßs\rÖf¶úxÓæü\11Ô\17\83´'1V4Óö\9cQ\1a\7fÛóÆü»\8a\v\1d\98£õ\ 5\9fÉ£Â\81;Bc)üV¯Ù+\9f§¿ÝÒ³WOG\ 1\91\ 5\80P±C¿ì\0åQ#
+í<á_\aÂ{FU\v\88$䯥P ê\ 3\1d?rÛ\80-k¢»[Õ*-e·
+\a\ 5ɾú0ÚÎ\0\ 4H\ e'\99!ðÁ±C\80|\7f¹Àgú½Ïz\92\8a\ 2\17°n\bó¯ß{\aÚø·où\869©_¾\ fB\ 2\85\83x\1c\v`¶)\ 3\1csxc©¨rw\1aÙ
+\a!\83y[é\1aòóH\1d¸\ 3¥\a\99>d\8aò¹aÑ\9a=i®,Åìz\ e\8esn²\81Ì\95Hþm\83\85+\8fâÙ\985³O\aM>dRs\B³\16\14ÖGUb®´\98Ìàæ¢ÙQ&\89D\1cFz\0\85鳨\90\9dÅè±á6RgÁZü\f\ e¨æ£ÇË&ªO6SP\8a\83;åxnj%â\81Z\8d~ÒèXòpËC\9d0v\83î<\99b\a\1eÔ*$Ý\ f\ eZ\90VB\ 6Ë]\1a),tYBPá\80¨\83yÖ\\11\12\8f§RFà\87\97MWλÐd\9aòíxÙ¤5\19\84Jm©2B'qDÇ{@¯}.\1aXÁ©
+\ e=\ 1\ f½\8c99n3\ 4\9b\13\9a\9aÐ?¶ ­o\ 6Ú±Ë\13Í\a\1c\eÇ5\e\8cÚUæG\a\aÀ'\ 12m0ë\1cp1ÇC\f\1aå1?¼\1a»Ø\ 1\97M;2¼¯\ e^pµûLùU£¢\ 3â\b\7fá\0\9dè\98/ñ9ÀS(ÕÆî\89\83Ï[?s \10\rP\85\bÜÙúBDu|xì±ÂK4\8ae\88³ö       \9d¿í\138_ó\13\13=ÇûDÉí\94\87¢\85\96¿¥qµ\97\81\83[IÌ\81G\r\f\XB\84\81ê\9cÑÍ\80Ç\13ó¹\ fbU4ØòT;¼_[ÇòʹövWN\89ðthéGSÔöô£Øïûa<çöÚè¿)\93Î{-r¿*Iç>Jª,Í[%gã\a\17\vX¯z'x¥|4\90-Û2þ¾\r³iLÉ¡à\9a¸wx-»n°-ÒñëÌ\87\93\14\91DÄ1\99ÁÓa·
+b\=¨Î?ACÖÝ}\14¨ôçm\9b5\83A\9dö\97ï§%\1e[2':\ e\9b\ 3×{Q¦\80\1c\19!\9dÃÔù¾<N8\86Qæû±2Ý\91¢:-ç\9c¢³¡&º«ßÞ\95\86\8a\99h4\ 5jµ³\fí\83Û\15\1dr\97­\ e\16#5aż\fÍ\14Ë.+µ\^\9dr\8e
+å1ñJ¤×,ùñQ\12k\97\8aË.aÀ\8aÉI®cëÅG\17\17\93\93]\97\98\8b\99­\8bí,bû]Ä[o&.nMv\97Ê\8bíô\8bá¸\8az-é4ÛÃmÇÉ®è·\92jïE\85\ 1\v\1c@\95É2\9c\ fz$>\1e|*ìVûI\aÈ\ 1ÃH8DeÎcUk]â\96éZ\1f[\12«V\8a¤ bÕQÂoC ¤·LAL6',A\0lNõ\88ÉÂSËãÉ®"\12\9f\14o×ò|\8fÓ¼U\ 3zòø\95S\83zèqj\9bÂzÊ\86õ\9d×Âpóÿ+¯Ç\e¯Õ~·]HÝ\7fC\9fU27^\ e%We        \9fÚ|®\1cÄ'б¹\9e¦\1fÆæ2N¹zÒl©Öûøß\99ÍIàu¿\81i´Þ/ ÿ\96:\8dlB¡u¼V¯ÝóÝë²\8eùâu%å°À1\80\1fk\17\87\8dÃKà ÛóQR\15·µ~0ÖÎ\ 2
+ùð\9f\85#~;¯\91øCÛÃ\84ÁT6\ fe\r\82õ¥v;\17\1eSÑPö\0·¥:ê¡C\ 4àî\a.\1c5Áå\9fÇ?\91½Q\9d~1åY\rã3奿\14õ\a®ÝVm?\1e\ eG\ 2ü\9c/\8e\16ïJ¬ÄÝê].´Ôî÷ê\85f,á\15ow}\r\11\17¬q· \96§\18ö(1Å_â;\13åÏ0ÙUE\1c¡\ 6¸£\9d\98t©¤\16¼`ÙÞOk\94ô¶¹C\8eþû¹cnÙL\1d%³e\8c-\9b\ 6ßþ`Ý\18¦9\82«êÇ=Ô¶Ëësém\97ÖÇH\90Ì>Ê^\9c±ïr¹ß\18·Ó\85µ~0\10Á<\85Gm"\95\bÃ\86\90äпgÈ\ 2fÓ¼ã\8a}Ų\98Ö¯Þ¶Pù°ÙkFð\10\99&Ï[0L&?ö\8c[ÄzÛ$4Ѥ:âëÖÑ\96Jqö`sÖY\14Ò\7f\9b\1fh¿À²#Þ\ e\12ó\97Ù\17       $aÅÙ\ e\89\12²6·\14Ù¿W\rô(N£ÓÛ\b\89~ê$\8bg\81\97¢Ç\19\97>î¢Þ÷%ÑR\8eJË_º]\vq¤D\9eà\95¡ôyÈ}Ü\18C\95Z\17brÑß\86e\91ÒD×Ì\1c \r|Ó´D×î\9d\9e\1a\1d'"«B\1a¿E^y\r\18ª³hçL\9f4ÿ`ÐêÒ°îþ1
\ 1þÂ\1eoB\95]Tb1Ã\90§ÜÀ\1da¹ô¶îUaÙ\14\89\98VBBÜP\r&B¯\11Ó:P5\7fQÙ0Õê\1d\18\1a½WLÜ\9aÑ~ûPQ¶¼¸\80Ú\ϧ'7ÑY²\12Ø\1c\18·'G\ 6«£¢ÃW$åa«Öu\187âS\ 3\v\1dù\1ctpå¥j±ÕzMÓ`åj¯\bhËN²`F¡:ÉÁ\1a\98U\94\r\1a¤ë\ 6\ 4f\r\1c\816_Ü\rãREW£w\0\8d\9e\0\88\1dË\15\e¸C\1a¾\ 2\84É-\0F7rÅbhÆî\a\11\19\94P?ûÂo~§»D×\13ì\8c\9e ÛsÐû¡ñ¹x\ 2\14·\9dØ\7f$b\1aAm_ÄÀ;®v¸§ÝÑIrCZ`\19×\88¥g\18ítõÒ\8d0&û\108\ 5\92çh¨w+ú;@ù\9c\16þ55"¶t¦Ñ\8\9d\9e\9a2àϳ³\97\11ü|\1eZ\8b¦\983rS\ 2;¬5¥g\87)¦ï\8e©u\18\b³=ä¤äû¨ÀùD®Ñ^\92æ£NÜå!»»IGE\0ÉùÔ¾;u¥\88¥¸\83\84\ 4æû4z¥£æÅ4\1cùÚ>î\94\8e\0<\80¢òö\9a\8e\95\
+¸Ý\8cnÎ7k\eö#l#vñ»\98ßÉ\e¾\8dócx\91·\11·1¼\98Û¸ÐÛâ\12.G¨¡#«\1e¢Ä\8d\18õ(\123ÃÔ¤HöãÔ¨H¶\1e£\ 4\8e\8cz\95\89\1eÀz\96     \1cØõD    \1e°z\96\89\1c°õD\89\19!ê\$AÚ\8a\ 3W%¸³\8b\12*\87©x\83ä\16\85P|\16\ 2Á÷ \10\14_4­îT\12) ÔC\vL\8a\94tÃâå\87©\85ÊöO\85{ßG\87\99\9a±\86\ 3\\e<c-\µ{-\84e¡:¤\86¾\ 2_:Çm\16\84\81küOPM+8I|ê\8fÄ,\ 52\81\87ò\88J\94½æÐHr\ 4¿Äú¬\81Á(\99ÏX9¶h\9d\9d\93y\ 1\85ç8ÿX\8a\13aó­\15\82\8dú=Ú\16 ¢«\18\98\1fF6WHõ²°ß»\1aE\8eåxYÜ\ e\ 3±|p\13ë\95U¦CË\15S`ó\1eýP\ef#²"\90\86ï~Ù´¤\9fï~\92O¤¶Ûd\0\88\8c\90\1aDP"\16\ 5\ 4\81m\ 1ÅIl
+JT bO¢¸¸¹/ß\ 3\9dª¿R Û!\82»\9e\9a\19\94*æUs\1d¹\99s2Öî$\ f\86Ð\ 4A79ÑÁÌÊR£ì>\10©B\92ÙK=ÿ÷é(\v\8e¯ooyÛ½ÝÝÞo\9ewwãîó÷÷æïä§~KKïY$\929\1dë«X:\99ºË¤EY\80\88\8fË\ fá\13éRPê"yRQ>"y2BT%-è\8d¡·¢\Dó\12\11\12\8cjQÌ\ 5"IøP\8e-\91\987¾¦¹\98\122;IÕ(DÒ\97ºÐ"y¤Ú\ 5îd\87Ý\ 5-O¤n¤
+ Üî\1aÁ\Ü<\88ã5Ï\98\84 \170ß5#°\98\834\96¦£X¹*M\ 6\9c¹Ót»\8c\19vg7¾9¼ooÑ\98%     \80³rvÕX¿\11áùÍQ\14ÁB\98\8a\17¿\89\ 5\9b\98\89­´\8c-ÍùI$Ù¤ÂÅ\96¦\9c¤?\94§S\ 4\80c\82@( ÅjÿÊÆ        \fùÄÞÐG·O\15!I|u&\84Ý\8e ØöMk< /ÊÅ\ 6w!%¸\9b±ä\97è÷EÀ\84\91ÝV°3t\84\9d¬Ò¬¤Ò¼¤Ò̤Òß\7f²_ðöRÆÍLe1ó4¸ù­_g¡ÊMh²\93ZMptMa\93\v\15+\98k\ fYsÂÑÔõì=fvjøJ\85}¾E   4pqÏ\96\85±C\9d[h&[#A\18ý3l÷lIÀIZw\95#ò¤\9fgÀ̼zuå¦\95¹º\0ô¤\1dJJcû\8bã\80¡\19þX¦\10Xº"x¥Ê\18ã5Ð
+ r|³/ø)ËT\95NÌÊÒ*ß\91ü#õL?ö¬?\15·\99Ó\8aðñ\ f\82°õ¶\82\ fzh°¥!j\92\ 6è\0
+\9bSN?e`Þ-«Z\8cTOÍ\92^©G©Z7FÙ~í½\e¡^?ß.çíïI\ 2ª\10\99ç\12©\1d\94uS9Ö4(JتAU×½g\99¿\86åPÚ-\1e@ÑëV0Ù÷*\87ùMµTG*UhÉ\10l>ð¯\ 3Åo³Ë\83o\ 5\94\13À\89\8a\8fj]ú\13Ù\15[¸QYYì\v¿Dzâ«w" ÿ°E´¹yaÒ\v·lA\ fDV\9e`\9eVO\88ÄEV±æèFN]¼°\89õ*Âya|Jö¼°À\8f)öÆíü *\98\8f\16\89\14P\99ÛÛ¹\15â
+>Ë\ fc·è\11\90|\95F\95\86Î~4=y\8f÷ê\9eA\9f»\13È3¤Ù¶7\9a¤(¡}2ólË\9c
+Üð½2°
+\19ÆÇm\vé\80\8f;sDföæIFýq\19¯\f6ìPy\11ß\fi_\0ó\81ý·ù
+\83æ\12r[tÊ\8b÷\vo\96$ßåy\10x\1eü8ðÐX8\11å\ 1z\92\80\86½C<ò\bñ\1a\95È,½ñScKLWWUP\1eRË|[«È¡\90a¶tò\v,\91\8f/\97\9f\97$Tç©\13Ú£åM¢\86A­Å\19\ 4\92\ 4D\ 5ë¾Â\94ÊAk[z9±'ÝÇ\99Õ\1f=\12\1d×aËiÖrÓÆõÜ`à-ÀÞE\91\9a\1a+4Ìô\0©\9bfdg\8fçÃáG\ eÏàꦽ幷D\11ک˵.,\ f\9bÊû¡Uk5@'\92ÔA¼(÷\1d\7fU\ e\17¼£ù\aLfÒ\1c.Q¸\Dx--\98Ç\86G\9a\17\14ScùÌ-ÆÓÕao¥×o2\18öð¢3Kû\15dÕbû8Þ%ó\ 5úk5QÚ\1d¥\9a·.­(ElÐ]N\wkXgS\96\17\ 4ª]ÄJ\96\99Éi\18 ¦\ fEMÝ%7_)º"\9b\83²ÖêQ£ÕV¥\1a\ 2§Hdpêi'\bü}\8bD\15'.<p£Ê\12\99RîÌÛôÖ;\9c»\89ª¨\f-GTÃ÷Ì\1f\11Q_l\9fþ\9f\10>e~\ 2\7f\90ï\vCè<\ 2¿ÿ,\1eFÓø\9d½å±*\ f~\eøj¾[®©ÐRR\ 3\\aÆs È\bX'ØÐKÐ*Uâ|h%øU\ 6\11Ó´²°¢%Ö§Ã\98\v\1ccݾïãÊF\9c\83\9aÇ\8a¹a\ 3µ]DªA\8aùL6è\83\90hãN¦ÿt³\94\94;\8ct\1dõI\ 3\ f]DÆÐJ«¨±Ïíñç\12DR -\94\9f\80\ 6ã;ð3Xy\1avðDÙÑ\r\9d Ù|\e"\ 6Ì\ 1\14\ f?Î!í\8cÿÜÚô\f-`ÏWP\9b9\15nRÃ-àx÷\r½ñ\94\bQ뮿\ 4p¦aÁ\89\9ey\1c\92l\88\e/\83gH6tCeà\80ÎmÍ*\93J\13(\9e\bKe8Îäu\15\éµn\15\1fNXz¯ç\87¸¿ò\87½i÷\b@|\99Cíl\1fp\19\94\ 6wYC¾\8fA/|;\84IË¡+å©5ÿ;%\ 4¦\94ø7¾,\1c\19Ø+\xö\81ú      \94è\19¦oòKµ\8fîXAä6Ï2ôûO-h8Ë\9b@ó¼îÒ\ f Ò\92       ½kZ\ª\ 5Ð9qÅ'P\16ñQbÐÈÿj\89óðR#÷Z;\9fWôG.ø±Ë\17þ³`<øºñÁqbúsjFØéfpãW.QJ\80Ýu@×\0\90oÃÅí×\92KRðæÔß\1c:]Ã*\7f\9c:\8bÎya\82#»XH,x\8b
+\16ð Q*y`#*\99¤\14ÜoÉy_ò     ä\ 6¼Á#w
+\178Öü\17\90%æÌêr\9e@e\f0
+É¿&aħd\ 6Daòè\ 3\e\83HZ\96"|©wР°çð\9a}/@\ 3ô\1e\94\931/\fJBJP\12tò"|¬\82\94\\95Z¡%\ 5\814?ÃÕÜH\98êð\98Ø\173\90\97nRÀrê\99\91º\97\9b²:5­yd\14\e"
+"¶_\98M\8d\89\ f«fFM\93°Äój\ 2ÜÚ\84\7f(© ²feuV n:m\8d\84é\9eÖ\93\v\f\16\96°4kåT±b\8b]\80¡/7`*ý\80¦ú­`êq|ö¨½Æï5\8b\99êª]ÅJ\9f\ eÇÆ\83­cá´\1d\89\95,\98X¨v*Z¿å\85\eàtI+å\89\18³\b\eRÃÖgT\916õ«ü\9aÚ\9bC6\97èà\8a©,1A#R\860\7f$T\18\r,  \10\81\825%\11¹\89\1a\ 6\84E¸BÖùa\87\9a×;§VzືÐo}P¸\95\95§Ô\9aÈ\7fß\1aRøù\9e½°¢Ü\aÁ½õ"'+gm\87\0oÙ®ÖU\12\88'kMlþ~\83$#Ø\93|ñ7¯m\19\94öJ\1fT]\82²\13Gèt!óD\18\ e^a\81q\ 4~\117{Ò0\e²*`7\a\93\18Õ0\1c\0ªÑL\a ÆÕ\87ê©\80BÃe¸*\ fâÃÎûâ\1fDL6[U\16\10\96S\ 1\1c~ȪüÄü\850\ 4ö\ 5ÀNÃZûâ«×§«.\ 2Þ\1a\9f\98*·)éTÀhÅõð\1a\ad*¼ây\850\15\e)\80©Û\17\ 1\89²\1f\90A\rGpg\85W.\9aá\9c\93ë`lhD\ 5\8a\akI]ã­\8al²^X\ 1Î\9bDù+«ó¾Â\1d\0¬\ 1N\11\aÈ\8cû\15ò½k\\19ç*\87Â\8cù[Û®\81V­W\b\ 6X\18
+\9a\13´wWÊ3ìc>b¢È`esúë;b9/ZÁ7 W%\1c7$×QÍʵ,bT\92z$'\81£ÆÍÙJrP2þ¥qp\1f¿\96\ 3\91§::\9c\92)úö+\0Ê,/\99\ f`eZÑ÷Æ'\90\19ÜÖH²gT´åw¯ZÛÒ\1a\ 4IÙÜ\92 [°¸\91øÐ(£+\1câQSFÙ\19üîHÃè;\rH4\8bÛXwY A&\ 6'Ù&Ö\19ü\95£Æ\84\91
+I]¯\07K\8d\88\87¬\10öâ+ºaeiÉΩBê[#Jæ\9aS\17¾à\b{®c\94°Üm¿\8e\15ùÁê`Ú\89e冀\84\1f¡MY\ 3¦¹\98]M¨:¤\1e\16'\ 52
+äR\18W'¶\a\1fÃ0ï\ e1ÎH\a~l£ùwûù\1Ð\ 6bÁ\`nâË/ Ý\ e\9b\7f\83\e²¾\1a¯ø7S\ 3\86å
+h+©1Än\91\ 4\1aLñÓÚÊ*M2\18Ð\90¹öÖ\13Ù# Û©\99\83A\92\90ðUc\81\96±¹ÓÅü´\9fLsô\98\95bUº\98d\ 4\9fã§©4½æ\9cùRP\15\89Ïá±B\1a}±HbB/÷Ë@\89\15ª£N¤º\88I§¨p$>\ 3\9bW\12hâ&®ý1\ 5\vü:\15Íl%Ä×·e\8c\12ä\8dÖ¨qkp_\9ccd\9d-â+mfÅ9\vS{ëë-:½»Zê5ö\9bôɺO\¸ëTC\8bôÛiô´s\7fö*N\ em*´jÍO\16\1f\90ò­\1fª¹5áð{MXü\85ÅnO^[\1eµ´fÛɳY\1d­8¿\9d\895\7f=*ûBýÆ9ôõ\92¦D¤ü\14\0êK½^J\a\8e¬Â\fñ\13ªµ\8bªûG÷\v\ eaúãG\94}· çüÆ\ 3Ç        I}\83Î:º\93 p_æ\7f\10Î\9f P\8añÖs¸Eób;ÎzuÅ\e\15&\9aâ\8f\1a§ÜèOp\82£Ë=:º\8db\88èA\1aðF¶\ 1Y5Ôr§Aé\92^I4õÈ\11BvàÓ;Z7 \82\91ew±Äè\15
+ü/\8bÚþ\92¡\95Øiç\18\95\v\eÎW\1c\94    \83÷®\83ó­4Õ\1dJlÊâ'ò\97\92«K\91;Fpx¢·[9
+õï®\ 4©\87\83$\95    ÷îN÷øÿ>Ö\1c\ 3\98p\82\8bÓA³F°çk\8e¨9_\0\8e\89ÁÕ-ZPuåG0¨s\ 62\99fD¡
+àùK\ e/äõ\97¯NõY\9c_i A\81MN£=`û³\ 2\8c\v\8b\97Ñr´íï7³\91\9e\0\0[\fï5{Ò2ur ¡\90ds\ e\1cuÍ`(×k\18\95\1aò£+\ fX°<U9oyl\8e\ f \9b2\9f¸« ¿\ 5\99Q,\r«\8ajbþÝaÚPôKH\10±`@ñ)\v\vO2´\94{\bÏ\ 6Y'íí×,\8d¢5%ã.ëÆ_ØYà\8eÛü¤\92·§{\ fnºLάß\95d\94\11\0¾P\88àèI¸\94¡ê xh§úEg5\83ßÏÜ\84]n\92\898\1d\84\90\94H\19û\84\98ÝêlÎ\94IFµrÉð\83w_\90\0b\188{Þz£\9fác6-A³£Y\87#ÐtÒ§v¼\82öH£zt§ ë_êû»-R\7fd\8c¾Ûb¼ë]Ò\7f\ fÛO:D¹ý\8e[ëlÁ¼;µ½\ 6Ïkð\9d
+ßø¿·³óÓÉ\1dkðo~Ï\b'7ü\1a\a7øT7RHµ\aoÁ9¿$\92[ú}â\98¿AÔ1ã\8e\7f}°Æ\9d\95ß\1d\a\80J\9cо$\10/r\83¤\8e/p\9aNÊü/yr\87+è½8Îõ\8dëßPè<7¼¹¥%ýx98Øë\98Ð\,¶¿åP\1f,JoÐ\9dÔøCÎ\ 3eX}\8aN¡IA \94FÂ?½PGÈ\0\8f·E"amaÁÅ\ fº\13æv\8aÅÄb4\ 4?\18Q%ü\15½»hÓ¹ü\916wY.\19\a-/\10æÛ®\ e(\8db\97È\90ucõ
+9ù\ 5ñ[a®y\ 6}\13\1e@£1Â(3y\ 1\a\ 2?\18sÈ4k'ºt\88\14ÇnxW\88KDNQýÃG\88ùFa!Å¿Kô       "JsX\12ÁùÃr\86\97Aû\Ù&â \90÷\f_Ýax\94/°i1{8Gö\85ËOsáª\8e"\ 3\aÖrR\bü\ 4²Q*}n\ 1DW\8e89`gú6ÑÁ1óM\8d\1d\99\967\88Pk`\aR@ÿºåKÇòD\ e;=u\98\93íµ®m%¥ø\8cm$ɱÛ\98CX@\8e;\1e4^Þ¯¸mù\ 3&¤x±'Ó×\ 6Xw\f\92#%°T±rÌÅ\99\19©g\8b\8eÉâ4ï<'¾  û\17\81µ¥?{Þ´û>7\8c{CµÞ\17\88ó^ÚZMÏ\88ó]Vñ§\81ã}³õÞ\ 1í>ï\8c\83æ\95\7fv¬÷\9e+Mv¿Åð¾ß\85V{íqþ3æÅ\vØ|É\83Á5ÐZ6öý\v\93 Ñ5*(\1f²¹aÕ hJè\94=n\ 2È\83öäÈ\f\96ü\93½§:\ eõÑÅîY\r£Añ&\1fg    IÔ'\ 3Øúkì°b{11\ 6g)À\95f\8al¤§ï\17/¤Ô\11\96\7f\89W.t§%\ fÔ\1f±Û4%zø\87U\11Þ¤\97zA\1cfËÐ\15Ýï2Lì­áÊøGVo\8aGT_nµd\12¦\ 1Õ\97\ 5ý´ò²áE\7f\90ªõ%\84Õ$§J\9f\ e\99È \87D«]v\88\80ñ®«%Qk¿\98\95\93\7fØÇ\10g¯C\98?ïÓ&é03Þ6Ñ)·';Ü`=;ÎZ\1d÷\81ö÷\93`\ 3\8dÉÕ$ujåA\86vód\1fQ<ßÜ0\7fò^\12\14~®ùa v\ 2\15N J\99½·¤ZGÙÿ|¹iÐp\88Ç\97{n»\1eöãFeå´åÙ$ü\b\ eª¾ø\9eÖ\9cµþý¤\1eqO÷\v\98\82KY®\88øAW\870\1f;      ÖßñÛ\8að³&Jq\12\v«{\ 1É\ 47\aÈÅ\9d©\bL@      M\94Hþ¡Ú³µ\0¢ÄêCû3»ãÈ)     ð\13>\8c\95ïÓ\1f$q|è\8a\11\8e\f0\ e¯\91.¥µ\83µ*7*0\0\97Cl=·\18ïí\ 2w¨ªXZ;P\16\aÝw½î\9b2ߺÍ)\94 ö¿ã$â=\831Ë&æ|ýRCæFá\8cÁpÛX\7f\1c²J0·Aê¢5\9f\rÔ\1eCþ[\ 3²e"¨ÞÜÊÁJ¤¤¾m¶Í\88Ê\1fR7\rË\v\11ÞF\90hjÃÖ)+\19ou\81©\0f\1eí®\ 1\bf\11Á¸Ú¤Ab,9_ çi2§)³ÉÅñÐ\18\1e<  Ñ1\1fÞÃ6J:±Ä"ûL*ÛþïÞ+Ë«Äñ°\16\12¯3jÈ\a\ 3\+=ReÏ3)±(__S\80p\91ÎË\16ĵ\14©Ò\90\8fÅG¸«\9fIñ¥àZ7§\Q\a\90\9c±[ÑLj­è±¢\1f7\b¯\ 2>LǪzË«Ôå\11òq¡e·Y\18®ê\9c\ 4|!c 5¹\8d\9bb_¹¾/ æñjg±\179@0­Á\1a\9f\99¦,zò¼:\15×[E2EGóÅùýÔ|áQ\97çôñíA\99ÛÇ)\82\ 4yu\11Ê\8ev3æG?òeD\87I9\82\r%î(¥TûÏ'\19ð\82 \928\1a\a@îGèa\ 3\9cd\18p\ 3\81\13d\9e¼Ý\ 6r\ 6Òä\89;c\83Æ3\81IÞl2qËc(
+V\83\97\ 2¸\9a\9d\ e>\93éqç;\ e>p\8e>cëqÕ\ fãÂ\8eã\92};\14:Z\89\80\ei\ eô>©6rc\12\ 3Ü-ËÇí\99ø9\85\907mmèñ¸â<L\7fÆ\15\9fvcü1\87÷:²1ÌÚ\90O\1ec\8f\1cù'\1fpõ§;¿NX\8e\1c\a\8a\91»`\1c\16Û±\15ü~®\e楪7\8a\13\\16U¾öÏÐ\17Öù\bl0¾\89\1dî:¿ÊGt=\89\1dÑÿ£ÅGCþ/\ fåêý\ f\ f\ 3\aþN#\9fñq<\19\ e!ióh\16¡ú\9cµ*õÚ\14¥\98µl+a\9a\84Ùd¤Õ\82\86óÀÙ%5©©T¦Æ\19½¡\es\ 5Ï\7fy\ 4;t\ 2*bð²à®\84\1dîÓ\7f\v\9cl\ eþ\80â¼µ;Ô×\86\15\ 3~L\ eþ|\8aS\9f*<ª\f ²\1d\aá\8eú\96LC/WTJXº\f@\8eáÐ\1fïMº¶T$Ù:¶V$ñÁÁ\8c\13ź¶Z$å][\1a$Íul¸I\89\91¬,u#ûñFÒ3×óÅðÿ¨\84\98ï\98íøó/åÓÆÇSVE6ë¶øS\ 4S\10p\ 2æu<?\a3öó'æ\7fÙ\99G3´Ìís?Ï\995\96¤\0Õj¿ë9¿\91\eÔ9Çb¡Î<\96v\8cÄ\16gf\ f^þáÍÕÝúlðÌL\95Ü}r\9d\10\80\86¨Ö\10>X\ 3åà\11LQË¡\15)¼²\90Mñåcjµz\9bûI5\15órªo\9e\ e[\13\15%/¹ÈÌc ¢uq>u8#9Ü\1fpí]úQb0±däu±¬\95\8f²\8cí÷d=º·ØÝ@ê°?d£rN¡hK*-Zjìó7ìØzÜ%B);ä«ÿq[d|±F>I>}\ehÔâ#\ 4Ëô\85Û·UZÝ\ëuëóRÝ»y\8cóy\99öú\1f\ 3\1e·\ e\fq\1f1¸òW}+5`I_\11+3oÈ\1f&T½c­[u¥ùöîMåë eC3\9d\81\98ð<\81¿bàÃÍv\19\9cRnÆ\1eÕé]\8eÚ2Gj$fÖ©\81`=Ýü\83±T%H\87»\8e\8f\1eK\ 4w\18\8a@ðË8Ï\11JòÐY\9bø\7f»\v\fêöC]y /vP"\87\96!\13\18?Ýá\ fìu\9dhq×\85\ fða$9Ë÷°e\8bãÓ\1c¹DÏ`v\81÷·êO\86ö\ 6l:É]\85ïa\9dÍvj\13\98@³q¶,è7\85ú\18ÄO\19ú\18þ£?:¯Ó¦rRk'{Ë\8e\84Oª-kb\8dn\bùX\ 1\f$Ô*éCî\94ªÂ=MK\8cvJ$\97Û\1cË~=°\97ÈÈ÷)\85æ]B­õ\81VÎD\8a4\80G\1e¨aÃ\1cÏr@X\99H\91\89ÈOwaÖR§»°øL¼ÌmCÛ\ 3§T\93\13\ fsÕI\1c
+÷ØÛu\98Ëz#(mè\95WÛÑ+\ 2\8d0%\ 34\a
+\7f\94°\9a3ïáí\ 5 X\80øçä\13>fc\81\1c"$§\ 4ú\80!1¥9Îßϯ\ 2\80Ë\82\96\17\99×\10?X Kã\98Ò\17ÓÂ\8e2ýó!åÁB³/\9f\8eº\ 5ÓnÎ\7f¾2ë×\88\9aò¥³\90:ú¢Ù\9e\ 1Ö\ 4rfß\92ß\8eI¹/Y\88O\99oÁ{\ 2X\11\87\12\9fºÀ{ZT\80íÏHvÐhFtÿ]\9c\bë7ÑÙÀ\90±\ 5L\12¸7 ô\ 4¿k\ 1\ 1}`ªZ\89~W\86\1fDoï}]K×\9ey~Ø      \85Ûèô\ 3dm>¤~åö\1c¡KaÓq\DåÇE~>\ 4BSX¶7õ\95D\0lp\ 4\85§8î\10ö\98màñ_\ e h\ 3\ 3¶8m`{\909@_\19\ 3´/\9dAΧ.@9 \7f\0\fÒ\94ÙQYF\7fÃ#!´\81\92Ér\1eÖö\93ÊQASÓ\95\94M²)1\1e¸¹8ÂWÈuÔIY!£ô\96oST\14\85        Ð©\7fËWúÖw\11\15½­,£&\ 5Ò\1d\8a\9c8ôá\91\aC\10Æå\8c\88)\a{\86$0(zÝH¦Ã×\8aË*R(q\1cq\7fåRXòxY\7fdn\1d\ 5)\84ÞYE)\1aCÓ¬\ 255\83¦^Ö\ e¦NÐÅE2Ü\17\92\ 3ÖE|ô\b¸ZÖy\94:\8f]\aE"æ\94~\93\1aȼó6\1f2}Ü\87iB:\87»¾éDfÍÐ=Ýç\8aëhÍ)\89\15\vÕ*D£ôª8J\fM|\80\99\12|\9dÇ\85±é\87\1d\96g^\eg#ïî\8aáÜ-Ï\97·ßVShà«>JË\16\8e
+£ÕY0Qú\90HS\1e0\15ßtÉ\85}1Ô½\89\11Î\8b¯#6ªÄ\15£Sà*H!_\1c³\ 6à¾\ 4.±EBl~\93Îù$\9c\85JyoÅ}\91\90\11\0±\f_Mq\88Ð\0mä¶þíp¯\ 3\1fþëñC\970\92Ë£$²ézÒË\863\8e³×ô\8cé@t\ fû¯Øl½Ñ}o9\81æt@\r!H.$\9aVE\17\9aûæ\87»\15<\e×öí\1a¢ãÐ=\816ú'ÉVa\vË|\9dRy6_Ê?¬úe\89\9dR\7f\a¦#\82$;Ì6hqq§¶\1a%\10¯{aF¢\19\1a8óì÷w¥úåW\rÕNX\vXV\8fÂꦬx¼%ÇTj\98n\99Ô¤;n¡\a\99Þu\18\ 3\aétzáoÎ)^Ýá\9f\ÔÒ\84¢ñíqBÿä¥VĨ}\8aú¦\87Ù\87©úæ\84×CWÑ\1e¢%Jæ\e\84PR\²Æ}2å\8f3þ2ämR\86Åa*wl\ 2U¿\9b¯*Þb§µÓÚ(õ\85{],¤¬jdÞ×L\7fâVB@\8br(\90}\99!\8f\87|;\ e C\1d\98°#\9bn·ãûUâ\8bÍ\vå\ 10¹ús\9c\8eæ,\8b¸0o        Râ\87q\19´NwTSh¢ä\96{A;Z\83\eÂr̦ÑÑ\13\9c\ 6Ó¬\1f©µn°E6Ù+^$vÁM¶øcätÉ<^\17Mó±þ\9bϦx\ fÑ=\82Xþö   cÛØ%\8eïkÂ9ÊFA^ò\12íµÃ~I"Ç£Ó\1f
+ú¥sìWÑ\15\8duÃá*\ e  \99Näz\8bÁý®\9d\92¡àô\9d¾Åj?c9é\16\85%\ 5« \97j¿ÖÐ\9d\94Óʼ õwSë5Ô\v\97þj    n\85\ 4ÇJ\82\fÕ4ö\83×Ðh}\99í\12sÔM§ô\94\941\84S\10\83NtÊ\9c\8fl\9a\97\edX«Rî\a\9b­b\8f\r\97óØúëÙ\12ªfuJïªÊWôF\8e\1f÷VÂUØ"\1c\ 6¾\ -¼a²¾\14;Á}MÇq\94\12Ñ[å²Ïþ÷\v\90G
+pÈyc>§
+b7Ïv³ç»\8c?oæ}å'ä\7f\83S¬0   8G÷ãØôJ<\ e?Ð.9\82ÙÓW¾Ã²>XSô\fãè\85øp»\95Ð|jf%\ eÎöÍd4¯\7fèÿDù¿üÿzñßìÝí\9a¸t_æÿGq\89\ 1r\83\7f\9c£ì/\14ty}\18}.\8eâ\9d\93\v\1e½ë#pø3D\ e2è4T:M$\ 1äįz5P;Éù>\ 4\ 3è0½à \1ao\vs\11$\91»%'XX\9aè\ 4lW    &ü\96¨ù\9a\11\aÏ;À-\80³T\ 5\88@3     ÐÉÁ\e\10â2\96\1e¾²Z\87T´Ôä\88\93\97g«³Fýs=eVª¢§V\92.1ï¼PÄ\14P\930|\9et\81Þ.\v30\88æÐ\94\93x8Q^\8e\829ÛÙ\11O\94\93°¤\9fxÒ¾g)ÂK´yà$ÔpʬÛ\85\98òV,xÁ7\85\ 5b»ÀÄ~\9c»\88\ 4\9d\17é\11\80Ãeñ\94|\1dN1\e8÷î\1a0Ù~Ñ\14×mû\8c\8b\r\97\0@kÄýÆI\86Ëö\11\16DOÜM°Ù~r0rB"<£\r\97â\14\83`\aî3\f6^\98\ 6!|\83`wî\ 3ËQP\94\84\81ø'Nj\9eÑ_æ:Õ\88¥DÞû\89\8fª\0âck|\9cÄ\b¨ü\91!t\15£Ë][äæk{ùÇî4\8f´\85á)\8bDc\96\1e±$)àqh\9aê,è Æ\91\ 3\87î4¯¦î(´\81\ 3{·Øöð\9bòißÛ²µÊ\8a\ 6AZT\97WõWÜ`,øÒ¤<\ 3\12\ 3ë\ 5<\ 6\8fôL&\82?Lâ¼µ;bB¶\8ef4~?B\eÍP\10Ò(VH\87e\1a\8a\82Þ\8a~\80àö        \1c\9c É¡\83E:§\17 ®¢¡ªf@4\ 5º^Ã`\18\13ÂY\14[\ 5£õ£'¥¶\f\95\97ûÏgA\18ùã\9bgüïgA°Zý%éóKTÎ\vô\966\82EOú½i\88\7fÜ´ô\94±.\ f-3*qù\9cÙ\17Q\0\ f2>ÿ\15ÿÎê\88\10Âp\93a²ö\14¹xA\1fdy²\ 3\1d\1cº\98\94ßÙÖ\88uq\83ȵoþK¦\9d\8e,8ñ@\83¦5ýÕ\ 5n\9e|è<%#\ 3X\1a\95¨àFAWçÂÂßVéè\ e\ eA;Øã\97û\büaH\92\12J6\97è\8eŽ\16\84Q\13X?+
+%S2Ýæ-^/ã\9a\8eÉí"Ùæ,\83ÈñìD±8%\86&±5\89¬Mbk\13X\9aÄÖ&±5\89¬Mbk\13X\9aÄÖ&±5\89¬Mbk\13X\9aÄÖ&±5\89¬Mbk\13X\9aÄÖ&±5\89¬Mbk\13X\9aÄÖ&±5\89¯þëEãxÿuñx,ÆSEÛ´Ì÷]Öw/9\98Ìf\9a)øÀsG^1ÇìuÏ\8bñ\943Çl/ßZê¡ÓM\16\9a\9a\8cY¶Íó-¨´âÌÎw9\89Þç1\9b\11~nó·\84\95úQ\12\8aËZ:¿Í\80\8cø\8c2Ü;g¡\14ú«A*oÇâM_oût5\17ÛôOr=8\9f}\8b6\1cF09Öjéx\8cj)\9bñìÕq\18Ù¯â1p$\15Y4\ 6\ eC\v}\9dæ¡òa[ÎqÇÚ\89ô¶zwt//\90\ e \93Z\e£j\81©®gÅ*Dï\9c\91Æ\9c»²\93Qê`DRÊ"Y\13Tí+ò\7fÜÓRÚÉ\87ÚË+²¬\1e¶êô¼K¨\8b]\93\19¼\93LÃo\11äç\87áx/NÈý¯\17ÙÀdn´\7f\8aÈtÒ×zÛã}!*=\8eóM\97µÆ ¶uk\ f5ªÝ\1dÕõý\9e\9b\890Áþ=lPõµ)\8c\ 1\ 5èËúbc\r\18J#i\ e\17 \8fÒ\16.\1fIc\8eR\88ñPư\1ddO×\86ê\141®=\85\16haðV#;é
\1eô»è\lÐ\96\ 5\86**û\v\1ch\10Ê\ 24Jª\ræ\87Í#/4&\96M9\8d\aé\15¬Ð\7f\82V\1f\9c°\7f½dXh¬\97]\83\ 3\91¼ü\8dæüËU\82èû!ícð\1aæ0Ùë\966\81F®ù$PÊ©\19\96X«C\18¼Ù¡XÊ\9f\92åäÝ\ ep9oÚóqÂ\87\94#\fõÅ[@v2¨If£4#B\e\15\8eTh/\ 5\ fHIÉ\11¢\b±Â¯Ç
+\15Ê©2*MÊ¢ÖhW ð»p½\86Ï\92­\19ðõgoæñÕ×öB\9c»­kÙ
+\1e½\\ 4\9ciÐÈ_\11´±\86Ïõ«F\\88-\85³\1c²È°RâLCü\8aÜ~Ð\83äV>]ÇëBM\16¸áE¶3f\9fÅb\8a\19pX^{W\14\9cg\8f\90ùG\14ÈKß\11õ^\82àܰõàÒêCÕ+*©þB\8a­\9c:C¸rÛux7÷*ßÄVí\87\9b\9dW\81pkáf±cø´%ü\13\ 3¶V89±ò%!²VG²\82\ f#óI_r Ä\82\93\9d?Ìaù7\ e\8fÈ©#øö°6u\1f\b\11 \17i\7f4\9d÷*¡UÆì\91\8b\96ªÜÒGx|\ 1(ûå\9cR!\94\ 6\9b\18ò´\7fÅ\81noÜ\12;¤Ea\8f\15\86@C÷dâñ;6ð¡Ò*$W\93Q¬î\1f\9c¤å)\17\16\1f£+\86\87á,\80\87\92\93¥ãòäÇÇU\16\fÏ\80\v0â{\9bå\95ï\ 5Ïsw¯\9bȸȠ¬{IGei!Î\e¹8}Ú§\19Ä\eG\97éåJAy%"\94\92s\0õ+>\~b¨¼E¨µô\85\83\ f³TJ1\16\8bûË6ý\1fe\ry(¦ÃgúDH¬£]\86ÎðƨùJÚ!\8aR\\v\eL?#\rÔ`Wb\84Ò\8aìT\89\12\1a»ÂµQRmZ!÷        D¦¾m\19"\14:ó $\9e¹¬\9d\1a½Ù\14ÉLg\b\9f5_4&³\84Q\9a\11j\eZ`ÿ¢J\1f\96`7%PÇ©\10eÔr\8aô+Aj3³BD\8e\89ï\13½\a1J\CÏ\99b\88t\92]¶xß\83¦ÁþXÅ'­´\ 2OJ\90½hp;ª5! }Ø\bOº±1\ 66*\90É©$ݰp?,\9a\8f\94\92\8aXÔÓQ\ 5ÚeQ¡#éñÛ\18%'ã\1fY\e\ 4H.m\aÎþþ\9azªÈß¼Ä2$IsÓO½Rb%«#t\fBX\8apúi÷U\91ºJ¶\ 1Èp»U |ª\91\92bÒ4dò
+:2M ÖSüÖW)Ç[zTïâF?W\81\ 5\96@N´Z,û-\90\90Y\ 5\92"ϲÇ\88ùªâ+T×.\1eàQ-\15z<I\82Ï*sµ1ê4\1e\9d\9eÎï\æU_3]eú¹\9a+,·3Cd·\99¡´é\18>÷ØÒ!\80ï\99®+Pu\ 2×.gÅÜkI3S~<!¬\80×Ó\127k³»óó¨\91\14Eæúd\8f>\99$\17/\a\8c\ 1\1f%qwÙ|£É\8a\ eøm\ 4>*ë5­«î½¦Ðfn}®x5÷\9aíÊX\ 5\9eOй-Æ´\14º\10.G \ù\8c[]y]\16(-\1fõú÷]"2\\9a?7Øk|n|Q\90T\9bݦÿ'\18T´ì\87¾õÔ\98\95hû¦u\ 2O÷6þê D°;suî¬fß\82×\7f\94aËIü§ås£>Qýº½\ 2\ fd\9f5¬æ¼=â\95e=\80àÑÒ:s\0ÖHÚ\11\1cs´³½§q:\1dpCÏRSQбE¢5\9b-\9f¡èÍí\1fùµ¾ut-îûµÍe#ÿes]Îk5\9aïó[|Ñ\99ºÜßãÍ\8ewìç|Lï·?=ý_Ô\81µ\91\7f/ð?8\8e\ f\9c\1eI\96\91Á®\ f\1fëÑaí\#\83è\9fÙ#\83è\1f\8cÚ\¹Ú\ø?ÚßÁb(~\a­g´¿MdY˸\9c%Bâ\92\81\W\ 4§HùÙ\84ùî\15\11\aÁ\98O\98\1e\98Ö\87c\98³\12|\92\rçÞ\1f®\b¸Ì\87ý\9eµñµáË.\19§m\81µe·\15Á¿Ò*ñRÓ\ f^!¯YYÍã+\7fð\87\13¡òWy\9càáË¿&ª¢Ü\8d\113OÑp#ò$uß²r?\aÖÀ*­\9c¤\røõZY½àô\9aX®ÙÃñ#2\1fy\1dâXÎ\1e¦6\ 6Ôݸ«\99\7fHx¼\0g\ f½\8d]/ø\ 5]3¸\13\9c\v¼\8cÜ^fFïu7\85ÌÝYÐ\8e÷Hì\1d\13"¥ïóPÈî)½£\15sµSw\9b\97Êáã£~\85ãb*n2uq";©¨ÕC64<\f,\ 1åDä\8cnxó\ 2åä\ 6ÈZ¬ÿ\e³ãoy«\11æ\19\16\99×è`E±Ì
+§T\93¶ütþ[!s4Wt0.nèv\97):¦µ\12®w\9a\91ó7zé¶9¦0.i[ðA\16w\7fs\12¢ëãÕT¤?IÄXuøQ£yù¶\12?lÞûê|E*\17\9c!9Ö\9aÊ\ f9ÿ¹1\81\82Ge\e\85a\9dîjå,\95\95"¸|Q\ fCc\Õè¶³>\10\8d\15u\13Zê)zê&ÖôSl+¨\83Ë<kBò¤ì¥½\16_ïÛÑdÿ¯kÈ\83ð\ f\90*ÞþVº\8aOkÆoÇ\1f\f\892ÕÔ]Ãf\ 62ïó\8c\fÓ¯o|Þ5\92\1eÐÁ02ó\9b9:ÐV\99Am¸Ö\8cE¶äZc\85\85K)ÁAWéGß\86z»Ó½Z³=Z\8b½u\8c#ñMã7¾½õl\8c,\1f0w\1f\8c\8e¤Ï\9f\9b´^FÆÚ\13\ 6\90¦ð\83ô·Ï6tW\80÷~\1cÙ"¿\8e?/ñí\89\ fà\92#\8cæÕl R
+N\12\väFVkµÎÃ\8ey.\1c ¯ÉHÒO(RSPæ\ f:\r$\9b\9d˽ZVJ\8aÊT\9f¡\ 3âÞܬ\84\9aÅ{ä\7f¸I`\ eIµY¶\8a£CÏõi½¦\82³X>ø^Õx¬Õm"\8e\88[Hº \93Kz)ïë·¢pI/ÏWQO\92L³­BAI³¿c\1e@³yÌê\92\ 5Rÿ~³ÃÌ: \ 4äY4ÛBáÙb¹ú\18\17\1cø\eþ}\91\9cû(Üô\84gÙÎ0\17\18\92f\13\85ÿýöb\97]lÐp÷\91Y\ fðú³\97{ceÄþ|:i¼JÙz\91YÃüQ\Ó~}\17ê\8c\15ÇE\fYj/r\82Ì/y\ e\94\v\9c.\12\1f\1e©ÚQaÔg\19\ f\8dV\ 28&!\90\1d1\87±Ü\ edÀü\1däÑû¢Ü§ÎÜ\8f;\9c\ eK\18\1cÁ\ 1y\ 4B>ß8Ï\8a\ak\92Ãü\82\1ab\ 1RtÓ\86\1c¿Ï"áj\1d\9a1\95ìfQ\8aÏc\8au
+ál\9fñ²½#»\ 1!õoêSI\1c\15¨w4ú\9c\b\ 1A\9dÈ
+\92\93?:QkN\90ZÓ¸ñ ¶-\91\89ÉWKW\11r,ä-eR~z8,P^:\11\ e¬Iì\91ÁÅ\11øö\ 4zÝÀü\ 1naë£#\83\8bA\95~8Sk!p\15À ³Ñ»\95\93¹\ 5
+²n\9a\11\ 1^\8f;\17\ fG\19Ñ\ 6\93\8f Ï2\ 2C\1aA\99z\1cI\8e²\82¸©ôp ®ì\r\96¸\8bqjR/éÍn/\10UÜB";\94\18¸\96Ae\9eA<£\893âYæÓh\8e\ f\9b°Z\ 3Ê\99qr\84\903¥§!'$F\92Ð\92_\8d*|\b$\8b9òE\b+\ fÅî\r\1eçÔj\8cüÉ\86.=X×ßîbÕ$A\8aó\85~\86D{£\1fd où\9aþ§¸¼?\18¬¹\15ùò·z×6¨\99Ìùn°]ÄJËö\8e\90I\ fÛ$\14\1d©\1aRdfëGý\82B,D­XöÊZ-%ri,.¯oÒ»Ö\8fÀ°\88\96¢\96Õh©[ü¯ø\8bÇêF¨«UuѨեJä{\11;¿A_3_\12¡+/Æ?\962VV#ù   ·ò\8f\94M¾Èù1\92r?\823±ýèÉn\b<¡ð£\ fóF}5KjÐWXU\ elµ£´\8cîNã$\11\aÂ\8d¹JÛ´ù\9bu4j\97\89    \80Þa$0t\ 2«^ãº=s\83\14á\aÃö,\12 iõö*®p\14@g+\ 1 ÜA{Yîîºiu=Á,$ù\1a*¸£óÄE®0êå.õ®=súV(¡y~\95§¿\18t\11\87Ô²Â\1er7I>­Á¡ÝÀ;\83C\96éYª\19\9b´\15\ 5Ê\9fLP®ÖVµ\9a\14.rÁ\98I7Cv<\8caâã]ëlþQÚa\ 4\88}ü(ö;\87c\84\15\9fHuøC÷p\872\1dH\19ìXÒ ºïù\99\12C\14Å¥>X!yë.õ©üÅáQ\8e@3È*wÅ(u\95\v\88Ç\89\8bÞÜ\9b\93\15äð«ö
\ 5^Þûmü\1c\8ekw\83j$\7f)Y¸«®¦×\93X\90\98»Ï¤\7fg¶ä§s½NUÕ8qa&TáÁ\v*\87s?TÍ6
+%ðp9uCâ\91C¤ä\81Ô¼²i̯æ4wÄUÅr\b¸\92\82S\98Òí¥\8bGiç8¸\ elÖ':M«ÓÌ\13k\14û\82mE9²«Ï\95_:UyÂm¡O,UÖ¤Û\199\8b¼\8c\9eý\90ô\9b¯48³r
\99\10³\8aÈyÍÕk_´&nø·{ _Ê\11~1W÷A\0SýÑa\98Ý\90ñ[­Ó\113âÅ\87Ô\9cd5\9b­Ö0\89\rt?Ǻ¶Ì    ­òåDm\11îûû¬IK}lýÎs3\99\80a\99\82\v+V`±dÕi¬\fëH¨\90\8cÒ¶\0Á\80l\vAÁÝÝÚ·\ epm¶§\85\94£Ì&·wÝí»tv    Ú×kÝìm\e@\94¸< X\99VÛvWv\84\18\7f\11J\10\f3\9f¿ÿ³\ 1m·w»ßïï\9e÷Ï}/}.ûç¾{ì{ü!õ\au\92I$\96·­):Ì?Ï\152eLî¼{\\95ôcw\ f\85cw\ f"3~ìUÆè\9bf"©W\8e\80\14÷\ fOt\9f]ÎY\83¤Û7"Äü«÷\12\1c°£Ù¢¤V}Û\8a\ eVqa4$B\ 1i\8dÑü3'´õÛýÏ\14Áö¢%.ÇO`\9bVâ`Kì\1f\12\18A®L\7f~\10÷ð\94¼Oß5Ø(kÇI àö°©\¼¤TS²©é\7f\9e\90\94Ûµ8C\90\15Tzp¦y8cÍ.\91¶gbÑ\ 5Vh!Y®\ 3O¯²=\8c\84Æ2,æ!¥\9d$¼É\82®jcÔK.§Æ=\'­T\ 1\8eë9nV%\12\96ô@\ eÂ[\r\as´6¢3zPP\13\146Ì_]0½ú)¨\80)B}      \1dßöô,Z\88£³~ \92¼øfndDJ6îZ\80 Îäñ\bÇ\94TÀJ\9dp\97»Æ
+
+Ør¬7MÑ`\13Mʱ\94ç_Øã¼%èæ\9cÁ\89칺^ßM±ÓXi½ý0ôÙy\9d\94Ë\81ûPÑ\95v=O =D0Ë®Ü\a}Ä|¶ÿ\eÁõâw±ýZ]\8b1Aô?KÀ\85Ñ \ f4\8f\fYÌÀ^|>à×\83\8e\10\d\83æ²Ânª\ f\9dK\v\9c­\99¸«|\95ç»\9f\1d\7f¡mÛ ÕË!Z~þ\80÷\18ãÅÇ%w1\91èÌ\1c\93\ 2+\1d\96áQü+\8d\844³)®eY«o¬Øá\9f×   <Tclþ\9eÃ\96>øÁþµÖó\a{\90\91Ã4KyS®çí¿\98\86ó\1e\90tÐÇòdOÛ|¦Õ\1dm\91&ìsxï)\ 2W\aþy
+ÆÉg¦\1dÓïÇêd%\9cMsêÎ\83\9e\10äL{\96\9fv¥Õ·èÓJÿ\1d¥å&ÑZA®!ͯ\a±\~>BRD»T\8c½\1aöc\1f,OX©Ë%³p[.>ø\8e=\9f@\7f\b\9eæçmL\15\99\83Î\11ʽÅSK\9e\10\ fò$LÄyE\ 6þ\19\125tzô×g³\94\9f\eµé*\99¦ë®\15¦*Ùiø|$øS8À\9b\11\9e\97®%ΰ\7ft8<(cc\90\94Âk\9aGã}\ eΠ   \eͬïÉ!Ĩ\1f,{\ 1Aóa\8e\90Otä¤%\99Ãõ\ 4öR÷\17\19G\19á(ׯ\12\99\8eÀXä¥\82-1=\81~Ñzâ³ÚA×Ã\83ÞÃ\1dWôSÕ\92\fÁÔÃÆÛ8Î\8a¸ùA&Ô\92ÈJFcÁ\96\87\8cJ4íñl\93³d4DñØëq^=fì\96|L¼F0xxØø¶gQ+\8eI~¢V~uÜ¿\0zèIfì\1d\vu&\94\8eêfÌ\96áî\9bÙ\9c\91··äd¬tZqÒ\ 3\9cCß×\91\97(ËEyãG÷IsÇÇÇI\88Q?¤Ç¯Æ\93tèLÏt-¡³îö«ËH1óqÒ¤\b\f\8b\14Úº\14È>)£ªÝL\87Â\13;¦í¼¯ò\b\ 3&\14SI\9dÉ\e\10_\b\95~d\bà-á\86¯5oÃ/ÈQá'|Ë\95¯­Ôç¡\91Q2=½\15\9e}k\16\1dp¥ L@KO/ÀP$s\92ËEÆE\97oZF\12ß`=\8f²Õ\9djÀ     ÆnB\9a\9có¾Þ÷\16^\ 1\13ö7nïr\ 1è\17¹\9d\12ä\95Ç×\fâ[b\19Ú¬Ì\r«\9a¿$×±5´\9aüS]Go³íàûÿc\1dÄüôí\r\0ø\7fèû\18í\94¬ûþ:\9ew\8a)l7øÖü³x\97Ïüá\v¬âÒ#\97N\13\1d\93wj\Kr¸\97\9bÇSG`¼\95^J\96\9a\8a\8e\91Ï      öù\8f1KËþh        \1f\15}¾adf\ 3íñ¾Ä\98ä\fª\8cæ4L\ 4ê\vH¾ùÌö\f\1c1=æó%\1c)xûçcÌ%ø Î8¬ìøïETÈ\8cí¥ÂÒ\0Ì\93\1f\10OyÜÂ26\97\18
+©¿}¾:QËDð\14ãV_^
+\0\ 1\15ý\ e¿\96ûç5K¬\ 23ÔT\8e1Ê[Ê9"Se \ 2\98ûõÕ "®ðñ\aÛy­\1fóß_²;\ e\9f\942\ 5áéß\19\ 2øØÕS\0§\9bFaÔ\ 2\e\92¯\ fMi&\9eAÞ9¿¸èßuÙ\1fR:oîI\ 2\b꿹ÀxGS¦óB\87J¬ñ"TÁ\95Y\8eb\9f\1fx\19wÚÖ !/,¼e(\ 5\1dÉ\ahÇñC%´Óö\9d\91\93Ý\1e]\eýûÅ/9\9eMÂLÇ\1fçÞá\86ÙÙB)\12ØþÎnJn2n\ e\87²Çq\10`Õ/ç\84Îg\1fñÂd\19\92d\ 2cÍéL\7f\ 3·É\98ð$\9cøS[KÎd¦&\83¸Ú^+<¥äÔÕ\93<\a\80ôÿ@l`,\9a`)qF>2êÏ`;\9aæn\93KìÏâZCóx9zN"Êz\1e\18­ï\8d\ 2\8a§®\ 5©!þ\1fÑ{\87Ý%\82G?UD¥â\96ôkHÍYG×ã`;¿æ¼\94\87\81¸yF\18j\5r\õ\1e\97\8e\vò¸\9a\16÷\99\90\1f\a­A\92ªgÔ«3Þ;\9e"2"²\12\15\9c\14Ä\86ì\9fø\bt}ÔÄ\8e(z÷Ünû!ªGÙ\99djÌÃ\171Á$Ôh?\eÄ\1fû½íÝ\90\81ªF¦\ 1ZXϾm\9a\ f²\0K\1cüh\11º\87ü7\90£É\v\1c\98À\1aê\9a\12Ý¢\ 1õ7\13\11ê\84·`\80w-NTNP\ eåÐX\8f¼\ f]\9a\80é1\1f\80%£?â\wFâ«hi\96ÚÇo¹.q2Tlçò\91Woí·\13v³"Þ\aÍ8ÆtÕ\90¶ö&Ä*î\ 6ì\ 4I`\aµ"óþfÚ\80ÜN\9b¯\88¬k{f\16ÆL\9bx\9f¿ê\17ÁùF~d\ 3\1e_\93;-áEùÜ\8fÍ\11/²°«\13F\17\1e<'Oû̶\0ø^t¦>\ 5®üCçyæ\8e\ 1¢ó\87xããy×'íļK      m\ 5ù189w\81\84æt\7f®9Ò\9dÞ]>Ki~@õÿ\9dÒ\8e8ÇqVÃTÀ\16RR2W\ f|\9a>&:p§R<}ßt\µZw±ÉÂÕl\8f\1fë\11\13ϸ<\7f\8fÎN\17ZI,ä4[T\19zÙËÀÚ\1e\88\96\98N\132+hã\16\96N\16]îkdÄ\7fr1gNÇ+×\81H\13\18\ 1\ 3Þ\8e4ìñF|\1c\13x\14tJ:D£¶\86Ni\16>¿ÏÙúÂÁ\r\81\81*Õq\ eæquÈé\81\15K\97\ eÊ\\93HêÚ\ 5Â\11\81
+Ñ<¾KB½?\1duÑ9J\ 5÷\1c\b\90Í\17)Âî\11\99N\16¡\19\ 4áN"Ð\91     \16IÂÖ¶ò¾\ 3\0\eìî|ñÿ¤h\ e\v\9b\89\95#À"<ñU(\1e\ 3\ f¦\a\80\9e\9dN÷f81Ú/z\8a\8dë\v6Xª¿`û\13\8a\0«2Óæu       óÝ\8ev5ãìG\ fMÛ0º\9b\14F\95oÉnMe%¤tÅ\ 4\ 4Z®^©uõl   01È6öx\ 4\88ØEF\ 4¾¶¤       ^z\19GXz\9f²bY߬¥2\8aÔèòr\9a}\1eNHóì\a\9dÌâ\ f;ªØ>§7"êo2#@\16½ \10©\94R|\1c¡\8a\92\82ÔýÑW@ÛMõOÕ}\ 1¾H-[öôÁjÞ\97H\16­çô\81jÞgL\16¬ûê\ 5«=«\0\9f\93é\82Õ\1eì"\82Ô\9d)©ê«K««\88\82\19FU³e\ 5 hÉw\1d\0\12âhè\90Û0\ 1(Æ%(\ 2Í:Ë\99¾ã¦\v3òÑÿ\0³82\8b§0ÝïR\ 4\1cª9²iN©±'fÝ\9eLì¥\18\18\94\8eij\12³ô\a¸pÊ\82\90vßô\8bH\rXºt\80\96\91QzÝѽ\86°ïå¬aÅÕ±þZÆx\1dÜg\17W\eØk#¿\96±¡úÈÿ[ºoùµr\1c]\\97ëÕåóÎæ»\rgoüµ\93|]^¤ýbö\9aªÚ\ e`W;PPÒ
+Ñ)Ûd%¨\93\85\1e\8e|\96ì=\92%íµq©Â\8dzM\11Û&8vúdxÁ\90óæ<{óÂ\94mÑìA­&´¥\ 6óðj¥{iDs\12©Ì.\8b\17×'-\82ì\7f7ZJ¤$h\10Iúã)UÆ\9e\ 2¡Tú\11ÁüÉÂ\9a{V\9c)º¶)ÂÔ¥÷Ã@\11pç'Êlÿ~R«¢s\9fZ\87D¡RiФø÷\f«g:\15¨a\08\ 6¶sèRâQ³¨ÝL\92hcÃ-\1f\91\90­C\12·[\8b[àc'­Ç2)SGDþÞ\99\95\8af\0ûÑ2\83ò\bsäªÃ\14s©Â\8cK8éM\94t?\81;ò9{)$ï÷µµ\7fII\81ÙÎ|\e0\ 5­5\a|\89bLú=ñB\a\13ÈP)ü\10¬½)G\1aÿ ÿ\1e _Â(_\95>QÎ\94ïM\0ì©×$BÔ\88zA}\ fé\11\0>C\eQ%Z\87ÒPâe"\ f\16ÓVëz    ¡ÐÓm Àæ\9e\9fÌs¹ò@Xçüaâ\9f}\1dðßh®^±ì0{uº/îé\1eVëp«|\ f \92:Æ·[\82\11\ 2$=gõ\8bô"\14­\85\17ë[tu
+\Jÿ\1aÙÌ2H¢\ f\1cÑã\92Å\89Ùén@lkº\99ï\Q,\9f£\v\11w,´^ógÛ±Y\81\12\9cîÉ\98ÿ\1c³ÆÞW¨"-©ôO\ eZ\18ó\98Ãä0\1eñ\82\9ad\18]f\fE\9d\1f°Æ\1eú\váQÏYÆ\ e>\18íX\ e½\82UCµ\ 5\19\ 1ãä\ fõ°\1a\8c\12Ø\12Ùú9ãçÇî\813+ÔR2\98\93aϹ\9cù\1e\11ãêØ%f=#\14½b±,\ 1\89\99    \844
+¯9MÖ½\192³0N#C\9cìvç\8dc\91\ f\8e¸Ù1x\1fYÛQÖ¸DTtT\8f\15w;<¤çÒ=Áï·Çà\ f\8eÀ\a¨.ç\8bOqÖ\9f\80ä\98xg%"?\10ð\88þ\8f\96\1e\8f\90\18\96\9bTeo\r\91ã~r]húæ      I\8fº`¤æ\1cÇäG1)\8312\8by\89¢T/J\88¦b4\84\ eðø\v\83[°>ÕqO'¾eÌ£Ý3F6vÔFsor(¯y\85aõxµL±\vWrÌ5    ãLвÓHa/ñ\ f¯k\e\8f·5\18áöf\12¨\7f\88\91¢L}ë\11ø¬F#\92û¯ñÇç\9c\97~;¦ 3\8d\1ei\82A\9cã\ es\fÔ£Çé±ÑNsê\8eRs\9e Çû\98\94pïº%ÐÜH8H~\ 5\8dÂü\18àÈE´ðù'Q¤à\96hÂÆÂûøöQ\eç\r\ 69éÎ{ÓR¯¹\9cç\88t\87\89)\ 4\84§\8f\90co#ó\88=íë´\1f¦$\8e\82üD\83yñÛ°\1dã\ 1Ó\9a\97\8a\12W²Úü\91J¬è°O-õA<ç×\ 4ü\12A?\a\1c|O0°ZD}ÑÉv\83æ°$7\89\ 6¼\fqÿ©©gGÄ5.¯\fúá3G1\95
+÷l"B¿È\10­þ\13\92A\rþ\1cæ8}\a©9\87Ö¬Ü\9a}ì¤ý¢Â\1cð\9eöcí\84?\e0÷ì\8eÈÄ¥,\8cQ\f4áoÂ÷nµ\13l\84\ 3Ñ\1a\94\80ý|ÂM\1dËÀx´s¶\86<Y\88ßf\16úI!d\90«\80\17ïºÛj[²£#è|@\9aÄõ\ 6\1a¦%á\80ª.!\bí]nK×X uØÿ\0\90u¶m/\0\92    ¼\10¦\13J:Êgx#z7ïðl¦wdAzvþ©Ð\13ÅYÎÆÜ\ 5 N®u,\84ùVaçðÑ
+Ëp\b'\ 3\82uÊÍ\ eø*\99ö<ó®eðÖø²YI\86ÎF\96(m\8d\92£û\1e\f\a\85@:a-O\11néöÏ@$c\e\19|úøÇØF\17\10®QÐ\11\1cìýºÌ+­Î»ÛÛÒ>¾lîÑ1\16dδٰí§9û(ç¬4_ʨ´è\8cyD¬ùòð\ 2ÂÔ\8eÑ{ÕN\a\88c§íµQ\ 3ö\ e£{¶¤µxØ\7f\0\ etq\16efÈ<»Øb\81\10\98R¤$\8d\8b5]píÂÚâ3;³e¹RÜÐ*/ÌÓôy åt\88]\95\88ô\87\9e
+ßD­ÒUo4b,¢\ûÚ\8fýL\fH\ 2Ì9 ,òHyu}\12Pà~©¯·ÆÂð&¯ayux6¬\895\84P0ª\12ð)GßyttE®ïÄ$K\14S
+ãD­ÿ-{²Xðîtu$i\1e\12>\ 3'|\1c  «XÑs&6hÈ\12îhòRù¦êM&#â×^üñ\ 6Ó\94\8c¨Õ\1dÂ÷x\96\82óx9{$Þæ±í]ª\9e\97n\ 2sÁú\95׿E\92k1\96\81èíÄH\93\e\ 1Q÷!@pQ\ 4É} ¦ñx\13\1aá0G¯\b+ ¶t|\93"Ù1jÌ\ 2³ì8c¼\85µãJ©úàê6¼`\95\12Ã\95lðmFrÒ$Õ'­Y¥\9avºÿ\9df6lɪ|\7f¤À°£@óɼE\88ó\84\81\ e\a°®ôk\84\9e\86¸O3·\8a\#ÖKð0î\13JGO\87q&\94y4̤È\9a[\92cv·rªmz\1a\8d­Ù!,À\8061ù\97»\1fù\93þÀ\9fÿäI,vú÷g4?n¸¥Oë(è\b\9dÜ£\18ùSk1üqUó_ür 6\84xI\1cýëÝÐ\9f?;\8c\13\9dʱ·¼gÊÎ\ 6AæÞγ0ÛØ\ eÑö\9e\9b)\8f´¸¿±'þr\8a\91\952¨;>~xuëýX\97å°ÉQ\b\81+<è\15óß\rèuNO²e\ eÝ\ e Öù¿jàVijuYÝæÄjÎ\ 2ª9¨\8a9Lº¶db\15~\8e\91\92\ 4\9f/9{·sÃûÂ%Ñ9\84ü|94\8f%\85w\vF\91\1e} °ßÝ%Á\85¢üÆRô¢Ùò¯\ 2=\ 2Ò\84GpT}zÙ\92#÷J\8fµY¡\11Ì\95\1cÒÂUJ\ ebw§*<5îâUä·\7fª}\fL¤­é\89[\8ey\16òS\81\ 1ÒE9òSF&á\90ñ\12Ï{PÚò¸\1féQF©      Ê¨\14âÚ@½\191 ÛÚä\1fJR\9e ì-øx¿\85¦Bß\96ÀèWS\98 X¤c\86\8c\81\12ÛUù\8d\89;\85¸\12ð1\15û\94õ\12\93&lVÿï\ fs¯pxÛ(=
+ä£=\93<\vZq\ e1Aþ,\80\1d\9e\ f\92J\11\ f©"Ó\ efÒâh\9fà@d\reîÜ ì|xþ\99\a©ôÎe\13Ð\8eJ»m¶©L¿zw\99ÿf/ÿ\88\14\eÉ\18\84%·v\99Ø#ê¶Î\93ñM]\17¤Ô`\91\94\rF#.\1a\8dFh50J\83§\ erÿyoª7_írJ\0\ e®¤¤NvI   áSè·/iSu0Ë\1f:m&\95\91cÝ+\94\1e]çõÂ\16·\\8e»[®üdÿò    ÿ¶'ÿ\9aOÿ8\9fÿ¤\9fþ\91?ÿêOÿ`\9fû²\7fÛ\93ÿ~Oþ\11?ÿ\81?ÿ\9e¸¤\12f÷ð÷\96­Å§öSp?.=\v£ê²Ñ\ 5]§¢T\ eIm}Kóßb.\1eHGk·õ L/\ 1.\94\93×sÖ\8dÅØÛÛ7\17FùÀ\14Rw\ e<L±ß\e\97Xl\8c£x\8e\99Àæ#ÔÌ#\96\86G)Éãó«rHs£\93÷\93u[Bs²·ø\97\85n[PÈ\9dñ¿s]ñ¹\a\89âÙ\87\ 3Èh¦b¨\8dꬳ\99Wýé«\1d*ÿ«©ÛRæjb\15\8cjN5\981.¤\9aÛ\13\\8cH*}Mm\ 4\9aÄÓW'\ eä  }÷×L5M¼­\12ñ\b     i÷t.\aé4¶Â\90s*¦¥\94Àlk\9dôÉ\98«\94%tz\93\90x\94q\17\8c¨­Ô\e\88±à\18QâbÓ<\rèá\890\98\ 2ÝÝr\8dÔ\95q?i"!ë¿\ 5·Ó9£øÒad%¶
+SµRm¶\91¡Áîu] \aôT\9bÎ\83\92´æ\1cÞpäc\9d©7& Þ-Ú)6\11  ¹\19äÕ\19\15]g\ 3¡^«5\11Ç\eõæ\17I\9b\81àÇX\ eAÈ/¸\9f\96å\ e¿h£\86âÃT\b\12»\8aB+Ô\12\16Ô\1d[O \b ¯ßB \ 6¿\15\17Z\82\8b-\10]\1eÑ
+\8f3Q\99"\ eÔ\10uT\8eIb5|u\87.AËDÈê\84k:¶oAýáë"CÖ\89­Ú¸\1f\81\15\9b\12\1aKD\86\9d\8dg\8b\9b\15åQï\89©'\ f¼RL\14q"9]2M\8cX¥P\9c{\ 5£Æ\9c:¦j\Ä[\b\7fæ\13*\84÷÷\829\95)ó©ûö\0é\929\1aà\7f\14m\84\19\a+M¸\1dÙP©xIh7ê\96\8e½MsPù\ 5?2¦¹°kn¥<\9fMÂZ0\7f6EQQdÈQ\1dÓ      !Á      jþña-¦hCûÅE%þð\9c\ 5ÓǶ°\ 1Ô\1c\ 4Bo\1a²ü¤\92ļ\a\ 3[É%yÛX\ fìFÓú7²\16     
+\9fÑäÈ6±sì
+¢·«Ro9(\14\8c`GÙ6Ö\ 5)Öiìubp<XÄ7<    \ 2\12\e\9e$\83\96Ö.5î\a}\19c}!·\80ÿKóH9´]{b\95©ív>e\12èæ×G3w°%[úï(£B×ór@C¼J8\1fÜ\b\ 2=Ôgl}ì\83\94¤\\rç\92H\f?8\8a\1c\92(H-­\1fÙÈp=¬d3ÉF\98?\94\8fî\84¬\14£;\0`¶öwã°\15Sw\ 3§\8c°äÈ\ f5äú$º\ro¼?ÜF¬é\1a¤ ì;\97×Rw¿\eît\9aÓèO\12L\9c\ fíF ÿ0Hr7\9fu
+2\95¨\7f`\8b2$YêÁg\80E\9d,U\96ÞW\8a½EΠÀÐhh9u\9a\ f\1c\8e÷A\9c3É;!#\ e\aó3BÄ$L\96\86¡cÄ\ 4\14âr\85(\13\12\8e@OÁ\11ÝÞ³\8aîÞ}Ä# $ÄqÂz_T\19å"Jb\15°ãîÄ\ 3\82
+\ 4)\9c\ fÌ#?Co \83ö¾é\1a\9a\12ýäo\99)`©õN\8c¼\vÛìU²Èhá£|\1eF\ f\80aÃÇ\v\15°Ê\91L¤ç\92\11ÓgÅ×\1a©óþÁ\84²\9a$ñ¶Ní:\9c9ÌànsnæV   þ\ 1\ 2«ùÌÙDîà50
+1\80Ïf!`ÊÄ\13´\ 4ùî\92p\eNNJt\93\92É\18´º
+a\1dSs9 \1ì\11Ï\92Ò&$\8\1fû2OK\18#\1c£Ô;$\fë%\eL\1cK9Éjd\92b\1d"ëg\83ìd\197\ 3Ú\11\8fóÈ      ÊRV\99ýuN\8es2\94q-÷ÑÎfÀ¶ j<ÆEKí,  =#äñ\0lr\a\86(þÛ'\ 3\12\8c\12\9aR]\83ry.¼% ÷>GLmbIØ\86àyæW$¡A\18#\r\10d,\v.®Gøqeø±'xöE\982«Ý\1e\1e\881nOÀ\90\15Ñáï\ 4\19É.\8cÒ.-\91)}ò\1f£"ë\9a²Z9ð\9f¹"\17Ø\90\92\8dp;\93Ók\81 a\13d\ 2oh©\8d"h`\9btTÌ\1c\84ìÞúî\aùÏé= î\12?\91×ç\12¢\11ã\81\rë0\e \849+?åp=\89ö<é\ 5ÈÀ+ø÷xàt\aá\9e\ fz=\83\81÷?ÕÍ\b%\1e?\ fû8ÿ3\81É\95ªÀ­Y/îÕ\86F¬×øjüìAªiZ¿#\1fìÕÈ#U§øjÙ±OJInr\8ca#û\18mG!\10ò\8f\ 1ÎÌíCý
+fZÉ\8a¡?\14ÈhÇTvÚã\11fúæN÷\ 3\15g¨T>ñX   \1f¦¼»dz\8b£ûR\98¼ ¬\1dá8ÚiÄ:\14\10¨Üö¦!Pÿ]\99\ 4ÿm\0cé2\98ýP1ç\ 4\f}!XýP'Р\15\88ÜT)®4\8ah\81P\93¡ìÌÄ¢%Q;ÇsáÃÅe«úÑ\eIY|¾DwÇ?¸¤yÞª]»\8c&Û§uøÜ¬â\97\9c«\1dÆÚr\13ÃÇ£L\b¼\9aü\9d¼VY8N¿®Þ?p9\15ê²Á²ñê\13Æ\10y¡äL\a$\14\15ív74µ\vÊöfb­ª¯ØÌ\89·ì¨_BÔ\v\10ÒÇ\17Ú^Ô\v¥"B\1cÇj`Eï\1a \154\99*\9aC\ 2%ìj\ 2%ô¶ü\ eëßÎBÆ¿±Râÿ9¸xÛö\ f²\6þt\r¬\0u\99·¼§±Ì\89ô\ 6¯ðiß°\ 1Q^t-¢êéìsb\7f\82\81\14ô\92\8eÒ)rÙ¤ð\1d¢^\15°06¶±¥\ 1«\19{@É\ 1\18¥ë4+\vä¤\11\aÛâYy¾Ýâ4C\9d»\86Ó\9aK£@®\17p;c·¸R\ egJ^ý)¨d[\v_]3½Â¢W\8bMñÓ|\94ܪo\9e\9b\ 6\9b\ e\9a\151ºözöºù-~o_'¯u¯ìµåƸð¸Öç\8b\8dkV\k3\85Ʊ2\jý±q«h\v\8dVT¸Õ3ÅÆ§\9d.5.¨¸Ôs\ 5ƠܸÓãK\8d9\80cM.Õ>\84\94}\vÍGÂñ«¹\e{ê뽺¤±\10°É     |=½ý«1ty'b\0üÔçJ1Ý0J4\b¿ÍÑ©f\96í?© I"\99,r1f\80PúÐvA}_ïïÊ\8c\96\91\92\vò7Ýø\BRËH6®ï.ÜP\94\1dÀ\ f½\ 5\87w\ e:\0|bæ>Y.=¬6%ÌaqyncÛMöHXðJ\83<\85\8fÄT\19÷$xº3\857GÑ\ 2âAö·HeË\10Û!3%±\ 5Ù\fKÀ®¼)k$\ 2ßD6Ú\83\83cHé=K3+·äp³t.\a\975·³¥çÈ9ârå_ù^½1\15s4×:\86Tu½á\80KÄI!Ou6^âÔÉ®HÁ\ 6\14¼êxÖ\15R@\9cÑe/'\1e\80¦q\11\1aà~á\89\9fÏ\902\1eù3Ö%\93ú Æ\e\8aKÙ$\80sñELR\1c@\ 5\12\8d"\ 6P\ 6p#<\11Ê2\ 4\94©*aùY\14õ³m­ÆÌ\9a\9aÓÝ0\86¹\1e\9cÀ\98\96\89þâÑ;ÒjnOþ©W\ eÇ\8døþ¹¢xåP\98L÷|àr\86\ 6\rKLÈ\87\9bï\90Üðd\ 2k\9b÷Á\83~ÒdC<\88~)\0«\-\82\e\9e4\80U\83 D?Î@1Y\8cDqK~ÈÙ\ 6Þ`)¦Ü³O\94¯ÇØ!æ\1eW|\8c~\f\80þ]\87ÔÇÏe+úàÇ+ú\\14#ö¿£\1f²ÊWP\18å\83dcüR\ 3ó?£\1f?\94¯ß\ 3\1c°ä\89øÒ\ 3©ÉcÇe)i\81\84X¤DÿÎ@s}&\16J\97T\f \8da\94T46±Uµ\83\83Ð××ã\ fÒñ\1c6±§±\91\15;ö­E·ã[\18.ÅZx\9c(m9xPàãL\e{-'mù1°°¿U\11·u.«KÕ\16#­±/\84\84Iòµ\11\98Hz»\846\f\89p)}Õ äö"ÛèSÿÿû\18\ 6hÜ?oçïàõ¾'3¿Êâ<Ñk-\ 3Û_¿\83¯je:,Ö?\95NJÑ\0¢?oðûb\15\93\19©nPq\ 4¶nì´#åæ³·\16z\11ñsNÛ\19\f\13Ä\9a\a\ec»ïÃ\8dÑ\81Óuc% \ e=ª21]\bâ\92O¼ßp\96DOÙ6\1d\86iLD×\8cª8zó¬Û\11\95Y\9aMxê³}¡}Ñu\1eØ\98\ fÈüJ|²Ëðï\96\8dåkÃ\87Æ^V¤CìE/\86ÿ\0h~*Í(r¦éF>à\9a\1cª\10\85g\edèzLÕ\9cu\91£Ðæ¬\9a\ fM\9a²á\8f\8bñ\ f]ü9Zû}û4ýól¸\83\1fÅiú?E·úü\9c\1c¾ï\15¥\91¸\16^\9e\ 2ÐÂè_ÊÐÛÿ˸y\88©RJdEI\15\19\11br¿.èÒZ\8a\90|äö\ 5\10$\fEP.Ù\1a\83ç\ 2
+&{\99\7fÍ\94ÃÀ¿æ§¾4\88\9a2\ 2\87U=ó\f¡\ñ,5ç_óq\19Q\80Éô­\8e¬­\8b!Ej\15¤]´S¹áµ\ fJÜL\9a1"\94¼
+7\8aÏ\9e<\b Î\97\81\15\9cÊ\906\9f¶²Â\1dêû£Òi;j3\86ËýǢ½æ\97rF\ f\16ì­8\17\87\11¨ÐÌ\97\7f$Ç5\r©ïÚ/\1a\10
+&åbt÷\144\e\17ÍYO9\7f\83.½¼\13gp\90ô¨§\99\14´J%\1c)i\9c²\ ecl¬q^2jæ]z\1dåý@\16Y8^\9d29§Ëà\85Ó­Ö\83]\ 3H+IJÀZ{Ë®·\1c\aßµÛç÷K1\97â\92ð°r\15\9dål?·'Ïkô\18:\8d\95î?+a(ÒÿaD®üF\886\1c.\ f\ 3\ 1¼F×pÃ\902\7fòÚ\18ní0%ix217¶²ü\ 5:Þ/¾mÄ;tù,µ=½f8\8dzIpr\e\ 3.\ 2°¥×ÛÝoz¡\ 6Æ\1a\ 3{KY\84=ZÅï\f{\89½Ì\8aÓÈ"]ëHºô\ 2´«&·ÿÃ{2 ½ÿxrä½çÒõoa:º<;rp\e!?è\ f\93Vª®(\ f\85/\ 3o\0¬l({Ù0Úñ\ 3$\12X\19\92\93¬_{\ 3% 3·¢\15¤úþ­vÿÕÞ°ÊBß)\rá\84B\10ys\89\a\932Õ¨\18¾^®öHV\9aè\8c\16b´Vô\10²¥s-\ 3\v\ 2\eÍ\12X\8aÉÈg\19ç\18g\fÎ/a!cáX\9bbe\8aòð/ùûÝõM¬h¥Tc©\7fÃ\r8\17¸J\8eî­ÐcÒ\ 2\b%Ôc\9da±Î£\18\19~ð    4*º%ÏåØ\8fJ\94\8bSEèëÙ\ 6\b]8úüx¹YzYTÃ\80­]\18Òæ¨9#C\82æúòº^ÿ5³à_Å0<sÑ\1f\8fbO\ eøìBä[\9d\1f\95\83EýÚ>­\13\9a\19ê\0\17÷'{\82\18zúàFè1u:..}8jL7Örks]Vë\8cus¨15»\0'½:ßêËËÄÙñýl±RÑÓ\ 1.\9d<;\11\ eÙ(\92\1e`\83\ 5>u\18í;ìVû)âHzØ\ e\80\83©\86\8e¢atf\14áÊ`º­Ô\18û\9d&ëFF\83Üð.©y)a1`\89ä\94C\12Ì)ÐNÿ\ 5>V\ e\8bèJ4\17\ 6\8dï¿\92['Ñ\87\ 6\7f<HDhü\a\14uF­\9c<z4\9d'¥88ö\16K  Àë\8dsÑ=»\0\86n\a,k\95G\9bIÔ\|Ñ"\94\93¥\18n\8dD\fys\9d\98\18ûþeG\84\8fÖÆÍDcGÊd\ 14ËÓeÞ+î     0¤\91\ 4\a\90ï\8eÆ\89´§\95±Â\86\86æLXãý\86\8fr\89d]ÕÉì\ 3Òs$2çãÁ\10ýÌ\80Ø\ 3à\14¦ÿ\89´ÝÛýíæ¼D½8¢Ù²QMtº\90 Â¤\84\94\88kf\ 5Ê        5´\12G\ fu\90\ 3çÃ&\fK`à \14F\ 21\91\v±\rÉ\1cr²b(4\r«9\1d\13WJB!\ 6¹\11]\80g´r\14¨      J\88]LG@F5®Ç÷ýÒí\ 4®ø9\98=Òñ\18\ 4\9c\15ÑÐL'U'Ó\86Z\8c\98e\14d°=ø\96o\92\8e\98\rä0q\ f^W¢~\bÉ\10¤bñÛ\14×Ô£ÃmJæ^\a\a0><!í!\91\8dòÃÆ\97ÃÛÜ\91Ó\8aï\92¹N¶Ì"¤è}Ä\1d\12$ZTÒ\94\86\1a´ÙúÄÖ#               í\ 4Ø\97Í\89º\r½®V9&V\r?ÿ\1c\8føp:Èn\ f\97àmíÇË\16\12\8bãBÒ¾Ë×\10q(]nô\ 6\8eZCÞÉÂ\ 2i\ 1û\1c/Y\1c¾HËôv\86KñqÇ´2ó\80°\83\8d\90³^îÔÐáÉC\8b°ë}tÇí\89ë\81ö\ 2{'dÌy\9c°ýÑ\r\¡ \97®\9e8û£/x\9bÊûå\8eÞ~ÛåG¾^íÜí\ 5f\96\1f\8dÞz\89\85&¶Ó\ 2\rq\18ÀÔ\9a&¥¥\ 2@Ymá|Å¡¿òEâèÉþ\93 +f>\95³¹-\16\1d&\8cu\91\85hî¢ò3ÀH\fÎÐÂ\f"òä\8bX^­0q{³Òð\ 3\84­\89Td\8d³\8fàÈÑ\97\8bÉ<\97\1fKaÚ\99\925åàÈ\81\89´«\81÷xq6&ÈÌ î\84´öÊÜZ\ 1z6Á.¥Ö\19,bJH(\9dB?\10A]jbØ\94´nQ\ fOûé\89\7f-|Q\8d]
+\ 5ûâ9\vbù§§µ\ eöæ\90Þ\80ÔÀ|zT"|\85fS°á\ 2ôèä\86öÓÆ\ f2\8c4¥*\8d©\10y¸        ~óû\89K\85\9dÙC\1eÄO    =\85\1a·ïBÍ\9f\18\96\ ft\9f~q,Ë\1fÑáEY\86\8c\83­\17xbGºO­ÈY\88Y\8e2Xë_\8cît\ 6mÎ|,®x\rÃ"F\903\88
+^L¹¦¢#ë=*ÿ1ô\f\19\81F¬ý·\9a!Æ0¤T\7fBáî\8b\9cà!\10[*\1c=\1f\93á\12Á\93\89i¢zSIeão+`\16¡NÙ\18\ 3tN.HçßTæ\89ë!Íõ%\e\89ÞÁÒe\rÄì\8cÊ\1d\r9mäu±Fáb\ e\97sÿ°Ü-\9fþ\ 6ámÏ\1e?\82{\96A\ 2\98RÁç\12Ô\ f\93Á\ 2\85»Ñd`p\92\9b\96f9\8a8|\ f.)©Â`\8e\8d¶×Ù\10í<\10³\Àk\93Di\86Ý\1f\1c\8e\7f½\18ó\vÂh¡¹jd\1fÈGu<\96¹#¦RË\9c\91×\8cX§d`ݸ{;Ó\1dvê?°ë·@à}§\83\10uÓèÆ\99\10uÌG³¤:ãÜÇ\16\ e\e\e\10"}\1câ-\96<m|\18²ê\10\15vX®i\15$Å÷^\0Í\90óü|µÂÖ¡Õ\91\18ÄáëyÒY\83DD}\9b\80»=($®\85¡\99>-\ 5\ 1\f\1dCn\14\18\13ø0{>,\1fÕ¿V\r×Â\9c+d\98\ fïÒp\93\85ûQ:\ eDr\15ÿPÑé\ eñ\aÜÃGÙ\9a\80}~\11ÞýD\v)\14Xp ûñÈ[\vÂjS8\8bwQá\ 57{\92ôö3vW!ßõs\1fó\13÷æGzg÷r\99¡¸»N\15jL\87­\16$\1d²©ÂîÒ\16\90Á\91C¹"\87\86®\92Li\1e?\80P\7f\ 2ºI®\19\11y-`÷ÄcO¥#0\9a,&$vQÒ¯´µ¾à\89\11\7fÓáXø=°f\95\82á[,Èóqê^Yu\ 3\91\8fU\a\92\90èi\ 3¡\91:¶¨}\80Ö\1eÛ\bí\851ù¢\98É?
+®('Ð\95±õï>²Ï\8fy\9e\ 2Í+¢3\92Îï3â\95Ñè}\9bʯ´\85f\8a!\13êûÃnbYä\ e\99fúç2·&"ögë^\8c\88½$·$\8f\94m!HxJ\a\bVc\ 1\14ÖÛÊò\v(¥~8}'â;\90\91¯øõÐ#®\91ï\8aE>ý½\1f\1dëÉ[\15=÷Ú?\8f\7f\85*s\8aïp\96@?Ô·\95\8aþö\8f\8c\1d\10\ 3\ 2{\90S\ 6"_\90¾}×\98`\16`x¹\9a¦/±ä\96c+£#Y.X\16\ ft\8eC\86Û\7f¾ÄT\10b\81
+;+b\9f¸\85"¶Mz*¦$Mh\9bDïü.WáÝ@E­eöÍzÅ]òåTÔà¬ÍEb,«\93\95Î'\8b\87rOQx  È¦J\14¦Îa²L`öLD)\86¤A³\ f±]#È\80\14L4"\rÉÅöLþÆ\ e\88\10F\91\ 5ØytÄ\8c"\0êÊÒa\99\10\a\91/I\83È\80>LW\ ezF\bt\f@\1cô\8c\10#\88&\f"\ 2\90\837:\8e®²\btr=»ÕI\81\ 4     »wÛÔ¡¶ï\e\91cª2¦ëQ\99\11Ã÷\98ÔÖê$ªS¨ÏC\82\1d'm>Æ](Ðl¾\83­\ e\89\b8ÀMå?ãû"\ 33;àÞ\81\13\1aKÔûV bÃNôn\9b        ) Æ\15Ô\91Y ó¬@­o$\94´Ô¿º\98gã1\83Ã$u¬å\89xw)ÃsV«û¡Ñ1Ñ\UGø²\13üOdP}eâB\8d¤\1f\94¾\85\89ú¨>\98yµVºNýÌ\vó\93¿Ä\8dÁ©­K3S[Q\9a\82\1eõ¸\90,\14f\ 58Rë¯ý`Ï À¦\14\94q`×e\a´)\14\7fë³\1eÕ\82\ 5íÔ\94!¾¬«\8d\8b\f¼\16\1fÚ\19{_Ò\19z\84\86^\9b\ fé\f¿Ï*\19v](eêÿÞ\19\a^>*])x:b8Õq±&T<¤­\8f^Áé$\84ì\99©ù\b\87£t$Ñë\87Ü0ªÎ\92qn\81\8bVÁ(­@ùÄ\84uì*ku\92P\7fDFbè±\82\1eÍ\ ePw<\81\85.\83  \93û¥/¥!\17j¸ÿø¾½:³}        £û~`OU\1a\ f ý²·\ 3\e\\1a~\93éð\9cWÐ<\9dÎ\8çÐ<pè\ fL§lGÒP\88ë\17\86*²S\ fÿO§6§m\11ôå\87r\93Ä\8a$}9ÆÅ}3Ã¥:«¬#è\1e\87\vKè\1egïGzq)ZGÔ=è7\0\ f4\8f¯²_q6j+(Ê\ 2Ç)\84§.³\96¸£¿\88ÿa J\rÉ\17«`â»\1d\9d\8eÀxð        \1c¾S±â\ 2oDè4et×\aO¾7þbN\0D\á¹Ru×ô\9eÏÎi^ÀêØ\84w&ä½\81Ñ\8c\88õ\87A\ faê1dÛé3þ^Îp=\81Ñ\1fTY2öÌÊ{;\18\8f`ya\1e\1d\16SØ^¶\vq\r/¥¹8²[ZgÿÒZúö\10ÿQ\90CàÕt(bÙ=Ë\v'\9dÐ!h\1e\97òêP~Ü8ÃP§;ù£ß\ eN¥×jÊ\95ãÚ#С©)\9eDF² K\95ÜlÍCx[¾\8eè úæN\vR\95+à¬üª\14\15\93ßA\93¥\85\85ú\90¦dî\83)ÑÛ\11ÑB\9a_\90_4s\1fÝ\"¦Ø¾l£bEà?\9f\13Èmã±/\99Pt×\10\14ND½_ËÐù·\84\85õyê\92\99wo\ 2\f\12\ 1\ 4ÝÎ亶­ÅÑç\92åwü:Z'\952½µ)\88È\14\97¿îK·j¢\83ó\925¾¹5<X׺´ñcöZ\99ÔàÆÚ\1c,>IØ4U2ª\ 1\1dhÞ²S\b\95Ý\81\80w¯0§\ 6[\9aîxr¢RÝ\aûú7\83v**G\83ñ\8b\f\ 4[TV\90\ 4u«1\r[Z\94õ\99ã\15\9e%\84\11¸%Þ³\87\82\8b-\0\94Åý\89¹\11\84Ñ\ em\1fþÙoíÐçQª?oºUKÉå.\14ù½\9c\88\8a©'gf\14èÙ\e\88­bânõ\84ºäUá  <Uz\813üM¾¿\8c\15ÿ7\99\94\ 3\80B\80     "YWèëP\8eÃB\95Z\10½\ 2\90\96¼´#¦Ú;å y\88½X\1f".`¡\1d\85L\17\99Ð\1e\1cжÔ
+¼&£ß   \90\13U±Uí\97\1f\82EwíGê\7fE}É\15ÄmïºÆ\93·¸\9f¹Îs32dÉ\99\8c\0\ 4\a$\12\18µK\88IiJ\91\84\ 2\10B¨àD\92H$\8b|L\1aÑ\12äç\ 1¶ªprÑ\93\98\95íºi\ 2\ 1F\89^ÞÄ1¤\81Ô\99&\ 6@@\0\16©Vµ\18D¿eà\16 0É$3?}ýÌ\90\ 6­½¶êêÿÿÝkÚ×½²î½´öÏÛom=³÷Âï¨;¬²I&²-¬p¢0Y¡°k~]±ÂpEuÍ\83íü»wÑÁÐ\86\87\e\a\89òíéc\83c\ 6\a{}¸xå´³yqî\ 1\16\85ÒÎ×â~Ý\8f\17\0ÿ¶]³S\8dèr¸às\9dl\ ej[î\10I\ 5P¢ÞH\ 2¨¶\96þëw\1duºÄ_\8a\84\1cë\96T9ð\98\12Æ^äyXÉ\9f¹d\1d©3ì¡\85¬~\15\bõƽ"HÏäÖêS\r²¾
+\e¢q\1c_[/ à+\8e\14æ¶\11\90\94Ô$&\94¿þa\7fýº\15ú\18\97þ1\7fèi\87é\ eiwåÿó\vÿí\97ÿöÓ/ÑsN1\7fèt¾\9eÜ\84Ú\97ÿÐÛ\8fn Òÿ\96¯\1cîÖGÿ _üé ·Ûÿ\8f÷\99¸\13Ñ\83èÇ\ 6D\eS\8fð\e8_\87é\9eW{¨â\11ǦZ\91Û¿â\1dª÷\83wõß¶ã\90í_½é\92\CÍ\90"Àåjo\1fó%¬¹\87\96E_\8b\1eÉòRò\17\rð¹{ejxò\11Ö\81À²ød\84RÊÎÀáúé"´¯óâ\94îr»¨÷ø\18ÿ\18Ø\18ÿ >u¨/Å9°¦;û¨\16ÕXqÙ\7f\vN¦ü\8e\a±Ñ\96¯ß{âj½ùhvý\1e\95ààdøìåt\9a\96§]\87Äs_6b3K82aÄ:        \15\88\11\ e\82z¶Abt\14\85yÓ6Á°:\97\8c8\19¼Ðxg]Ô \1fpè,\95³\ryÐY\95\1c¥Ò\95'úÒðd\8a·ó\8e\832Uº\82·zuáVìS ®\93»\ fºuæØ~ó\9eïàs hÑÎÖ]@\ 1Áz[\19\91íÎ\82À«\ÉÐP+\a\95:  Åf&Î\83.\1d©Ëàûw\97ë\88¦\)zÉ6âËâ\8e\98§+½nrÞøà\84\1d¸\7f±*O[ñÝ×"\fÎT+\8f\ 3\8eW\81\@»"·\15ÒaÒ$ÁÊñÖ®\10'\13°ü\ 4oæý\98÷uÓ!ï\10ªÉ ö\88¯\ 2CÏ®d\11\b¯\1e¹\98X\95uoå\8f;%<\0xD©Bßê\15f7mµxöõ\11Æå\85*\13Ä\17\93LH,U³»\r9\r\82Qa\1c\83ÿ\ eî\ 6\ fDH\r´d­Ò\12 ü\1d¾\1c\12øá±øh|;³l*Ê «*\82[\8dáì^]Øvä®h\19\91¾)´\bÔö½\1aË­\8aÈVEØì<Aäj\9b\92A,CrH0¤¬£\1c\fbL0ä\98û­7Å\80\96\ 4¬\86§\rMNû\9b¤æó˧í\eÇyÍçÛ}¨t\e¢,Î\80z\9eQPn\8f×Ý«ÊW|\1cÁè°¢\9a-!¬áHç&ÆçÙía¬Â³ïCY\10ÝǬÏC Þ`¼Å\9aPo0ÞbÈÐo%¼Ç\90uqý\9a\8d×jÃk\1e°x\10\90ua«\8fGY\rà\85ú4ÍèÞL\Më4̨ò\1c½2\11aÑÝCö\9c\90Þ9®\80\151Õå×j\83E\1fµßLxiw»iÔ±¯\ 2\9e\9fPï^N:\ fÜì\bM3\9aù90úÑæ2Aõc\9b
+\1f \80çñ\93\93\88ÉLõ\19d\8f)E\9c\99\84/^ó\89\99¥§»[Ò]*÷\8b©j>5ã\91ä\89\8eÇDW¹\1d\8e\8c\9a\89Í\11+\87Ç\9f9£&\159I¨[M\116\9a2F\85³Ò\11Èb­¤p\8aÐ\fÓ»zû\8e& Øa½-%\1c·\19î¼×ªø\eç¯á5zÿ\9d\8d0w~¯-\8cÕBÐÕå±\ 3i\82Ë9Õq˦_UÊ.\9e×UË.\99\8dP\17K¢ª3â\17ÀïÙ\8f\92pBø¾^\ 4C»¢\e\10òñ\8f_ÿ\ 2ï1ð\19\v\1f\85\149{ÑEÛ\99\14QD<A\rW\1d{Hfýì\v\87p0~îíÝoìݽ\81ïô402Ø\8d\"éíu|¢é\98ÕòË¥Ö¬\ 4:\8e!q\ eüÁ³!²U\vk\ 17\ 6\v°ß6ð\fÙU\88^\fÍ\8d\902Ä2(¯iÞ¿ßc^ѽϽ¬\86à\9e*Ŧá˽û\9f\ 1K\f\ 1hÇ=pøCÚ¶Oá£k\16Xxq\85\877b1YùÆ+\13_Ìb±\95\9eO´\b±\86ë\fV$Ì\8b¾ ú8äïÆ,r\ 6ATZû°òã®2\v±PFAÞ\ 2\85\93\99\86AÍâ"u_\84\80DϺ«úoí\ fÊ?\89\80µµ¬§\90\87xV\ 5È^xK\84i\ 3tÔÀý5/~²mä]ô°G\ 5Ë\v{Â2b¾À»´³\ 3b©d¥î\15¿\9dî\90nôX\91»Éb\a\84\87\86R÷(7×Vi}\15/pihÔ½Á%â[Á%½\81\ 3Ø*¯(\9b\10õηüä\ f®u¾Ô\81úH\1f\89\85¾¼²gÒøPH7\ 2yn\r- `óî 6\93:úãNÚPçJãÚ\1d\e\8b#\90w-\9eK\ eä2¾\10Ün%\96\9c*Ê   ÑVÐ\ e¶7Kx[\97\ eAÑw\8e\ 6Ø'\93Rï&\94¥Í\9eM4w\ 4Y\8eàå\8fù\82-ë;\b¹åï\f¸\ 1`£ñí  ¶\f9\86Ú\1c.C\95\9eëÞÕËK%ÛÊ
+',uV\81¢ð\98ËlíH"o\91\13|\b\9bÜDÞÂ&õ\117¥\çï$\a,\ 4MÐk\82øÝº\15˳r\1evy¯Íw\ 6\96\ 5\94µ8\89´\8b"ù®I¤b«`#ÿ\85¾O)"F8~´\85\1cu¤(LÄ\9f\ 4x\88\99\a÷n4¾Õô\88\9aëmB!Q Ág\82Ç<Å¿¦\1eëPÈÉTàæû´°Ó}ºRS\7fA&\1dâ#}ÍÏ´ZÔ;ô\ 3³=c®\84*4kù@ø4úâà\18lCÉÏ:¹b\81È2M\ 2ÆO]£oZå¾È=JP¡\16¢ô4\8dSòÃ\8cÌÍZ_Å«øä\96åè\14\9bp÷A\ 2y\99\82\b\95\15NeN\10\82\13Ú\84\18¶8Â\8b)¨Z\ 5g\8fù\82\a5\15nHw\ mQU9\808Xtj6\96Æ       jÔm?y\ 2\80áx».ÃÇþN¨êPüô£\ 2x\88é2\v)1ù¾\8a\ eYÔáfû±*ü\7f\17e9$·¸.È}ôñ3¶ëº!\14¦\7f'\ 5\99°ÁI'Ü\83        0ÍðÁâ\ 1ÁÃ\ 4\97\11<0n8²\ 5TG­(\11¸i³\rG\e¼!Õ,i-xvê\92ü`*"ï@½á&\80\1d\81\ f\ 4£$\85\81\11\aÜS]§ ~°Ìq¹\0>\14ÙУ\8c\9fi\91åT\9f\ 2\1c\ e\a\8fÜ\89\1f\19/ 4öÖpË Õ¹\97ÛÁÙ*;$ñ=)
+cÖµ¼¨\8eØ\87'­r\vQ\84\97\feß-ü¡\ 6£eûÈò£el]\rÿK\eR<3ãÇ3Oè\ 6% xü ð\ f\ f\8b³\f_\r<(qx\92\ 6 r\81\88\17ñâÈ|<[\7fsæ|8a|=N\10½\9fÇľ\18BJ\9c\8en¡VÒ§Lóì¾\16p>0Oª\9b\ e}¯UfÅx<\ e\10\8c\1fÿÈ\9cû^\8dEQTt\9dÏ\17zC\8c/÷97%_à
+¿Á÷<S!9&²\10\9e\91ýÏ\141\9dS\f2Z\95\87P¬:y\7f\1e×§!uÛÈ]KÌóÊÝà\ e+r\1d[ÕÛqW¼\15~\13\9e*÷eW·ûó±Ü\85}\10{~ÀÁu\18\8aÂ(Æ@´c %Âx\99Ç,C+FÆXÓ5J¦ü&ý[û\88"½Ñ\f\92¹h"¼\89\ 2½u\Ê.\97¬+Õ4ȯæBi\90\1aO\95¶¿8Mcæ\98èÌqnä­\96ÎTí\9e\0â«Ë*ªÛqÀ\97\82ú¿rú¹¤\16LÁD\ 3Xp\18\86®\89~GzzRëµ!É6t<\80¥øñä[Ã\88\8e\ 1Õk#ª§\8etV.ªx÷¦#\1a     \18ìß^t\9a\10\8e¶LΫ\9eki<بëFÝSÙ:­\938Gx\ e\1dV´2      QõnJy°\85\90\ 1\eÇW9|\v\84\91*S\99QÃͼ¨\80YK¿º\97|kBë
+ò3ê|/\ 3´ÂQÒCñcG\f\ e\12\1f\8aFa\92ÂCñ¥A\91\ 1ØA\17ã\ 4:\10ø\987ó}#\8cðÛýúÃ\8dÈÌÿ~M¾µ\85\ 1ª:¥\85­µ¾\97ýù6ºB°ôÝnM­\aòäÚäÿþäÚ£L\17\au\82\17ãè\14\ 2\98±èÄ\98\97Öoç38jÒE?©ÿ\8eLÞpyêSì)C0¿'J-¿\f\97ûÏçÉ\9dÜ"ßÍ­'ò
+Fµ¿äÏÛù¤]Âý#ra?ïɨ3\82\86\8d(y\842x«fWäÕ@Ó\9f|àG\93϶A#Ñ\1ckøB\10¢\10\90\18NÄ£ó\84!B70ËãIbèn²&\ 5\ 6®#²³ØÜj}\93¥4ì1É´\11eñ×Ãúÿ×\1f\84Z\9eC\9bàõì n²=B«\ 6ÂF]\b(éJ\83ö+5us<6\14GQ'\8e\8e6\11ßd\11ðFÛöqhÜ\86\16\11øO(X\86ðÃÌß0ä\16     ¸±\84[
+f\1c»xÅ\97\9a¥ÿS@]ÕTò\ 2ÉÚ\a«î2¦£\86\e\88æ\1d§±ÎëØ\86gÁc,Ê\80qÛZ©Í¢\11\18Ö ]\e$\ eÙþRëÚ q\84¬£\8eàÕ:Ù¡\9e°Å\ f:ç0¼\96\14K\ eX\ 5Ö%&]:ÔÖ\ eôå\9a\ 6TçÌ\ 4SÃû$sè}\9ee0x7\14ÒÎCÙ Rp¬\84²h×c\96@3\ 3Ñy¸´\10þT8\8e+3ì¥\8dz6Ð\95ÌÐg\15+\89UÎÍ\ 5qû$7\aW\90qä<\ 5qÜG\11¢U\17d.¡HØEùÎ\83eM Íç?N+¸øÔ\89\8d\82N&\ eo\1dåE\9bû\9a~\9eBãNZ¯\95ýªC\97\9bñ<¯\8b!ÊÓü*ñà´¾g\ 6ÉlàÊùBÔ¿ì+f¿\8c ª¤\1f\84¼\ e\ 6£á\8eGöøÒÈ<¯´ÓO;'kÓ¤_\82\11\9d\80³ýü§aÓ«\83­AK4Lë+ñD\9dîl\9fÂÆÁhf\965\99±ðf\95Îø\8e\14³>ÂT\8b¼å#b\92\94ë=1yÙõïÅ\ 5\92)ÄO\1cä6\19ÈÅ\88Yaæ\9eæÌÚ#a\87\1eÄbÙúGØ\ 3Z;Jç\ 3E\1dó\1eöÖàWå¢E¾Ø\1fï\83øD^­áè\v¼8M)\86LH\96®æáèZ[Õ\10\16ø8\11\ 4 Ü\15\1a·m\89ÿ#7 ÿ9P¬\95\ f\7f|\93\0ËÚ-\91\ ftP÷\96\8bc\82\8eÐÃ'>Ü4q\18Ñ\ f\8eK\ 6ÈLåx\1e\97\8emCbG\1c\ayÒ½ç\ 6\9d\95ÒÈMB\8aßÓ\eâ1\\7f\ e\18d$;d¼k÷i\9aù\9d\ fñ\19\90Ì\7fwCv\17\9d\90dEËíb-\88\f\80¡ü\91\16\95\ fÓ\10Î\86H8{ù\ 312¸
+8züØÞ\to-o)+!ç\1eXU`\ 3óïÄg9ô\8e+\8ef\1e\vË^\83þ9Ã{\82åÇá/än5\8a\12jä=\1fÔ¤çÛ\95$²M\81N\9d\0lcg\83Ô\8e\18\7f\93\82\18\8cY Y¿å·ärÃ\94ñÞ­ÎmMê\84BáÓù²%\82u\ 3éX` byÊ¢ê©\84þ^ר1\95 b×üW\9f\93ç^vn M\95y½<³ïF¨´ "B°\1d\ 1@Ç­~¿Â¯~¿ì\84f\9aþ+=+0\8a$$\ 3¢Ý2,\9dÂN\18!\1d¿ßø\ 4eÿ}àýPÃ\e0î¬Ã\9ffßïï\88\1f\ 1uzä  ¸A§öÛùµÃd\8e\1f»\83A½ ²»²Ö\ 1jð3N\ 3«d\1eK\82Ó¿sí¹\f\7f\81\11\8aH\92X=;4ôáYf\9fܨ\81\83!××¼\f\v}ß-\17ÒP=\8b/Þz\1eÂßMýÚ5,\v3µ»\97÷lªGæf*Ø\97÷n*G¡¬\1aØG÷xR¡dE¥\1fÝö\85\8b!a$Ló «ÍZÞ\aN\1dðët)½°\9aöË\1f\1fëd\9c\90IûfÀ!\99\ 1þØà\11\ 2ó6Åo¾¤Äè\9a\11\9eH\1dÑÿQÛ¯XvÓó\8e×D¢ÝQÔclBÎË\r}\v\1d\91¼O_é\1a\916\11fm\96B×£uI\ fþFòA
+\10q:\81\90n\1eM\94\ 4]\8fôÀDé,G\0Ñ\16Ûznû\e\1fûÀ@Ù_` \9fþ\bJi½\1f\7fèÕú?\83Ñô=\13\9eì\18\83??a\82Þì0v{\f$M\86\17ØØKñv\11ëó\ e;\7f?²´óåÿw\9f\89ýÞ~6ïÏ\9dÇk\9edõÞ\1dÆ»Içk£Ûkxû-w&ã]ìÜk½«\8dw*ã]úî5Þì1Û¸$^È\9cér]bIu\8d:êtû§\88]xhÝ\ e\11S\82¿Â(ûHWøE\19°§Á ùæm\8d\12æ¼RÒ35
+ÀM¢;zvT\94`ôú+\1f+Zï»`\94\9bµ;Èå§\9aÐFÆ\91ó§,\85Ô\13©ø#!<ØÛ\17÷§\bh(7¶+áH\98ÁóÓW\13 6ÇGöll\117\8cï\9d\99µ\8aoIØ\eõÊ$«wÆU©!V3dç
+°Uo?Æê\91í\95\935x\ fl¸#èÜK3\13
+
\9aF´£\85\86\r¬:
+&!\8a\ 41v"Ïjç\98Àò\91°!×½/\1e+*rͯ©<o¤ÍI°\vÒ\19é\8dx®XÐ\87<\8f±aü7¢µ\1c&ùÖ®\9d\88\97Pl\b}ïKF\r÷¡_&¿\85z\99\91¸WnCxGÌÃõfb1Ù\91\80\85\1eܱ\v\83ÖR+K\8d\r\81\1f;
+ßîÇBõÃìI¦Ð?\16f3m\99"\99Ä2\96++Ecè\96\1f»É\10ý%\7f\ fÔðÍ\82á÷¤+ÚÌï{\ fh¬~\8a+#Y¶\8a í\88û\12\1fCz¼\1f£Î\9bð\12k\94çM٤Ƽâ´Âg¯\8a±\v\ 5ãÁJr\18\ɰ7ðÅïCêXç\v\16êÏü\9d\f¥\85|\9f:b\14ÜêR\81êæ-zt¦ÀØ\96ÊÒå\15\9f¸è\17GÇÐ_\ 3­Î\15\1cQØ]\ e\8b¾\80¨:"\8b¤::c£ä\1d\17=\0ãÿ²ðv>\16Ðò\1a\1cCXT¹Bd\86\81Â\r\1f¯7\89K\a7¤O\ e4\80©{ÉNWm\1d&Õÿ\18ÚÎ\8e$\8c)z\ 5\94Ü»îöo\13¦\9e0è¿7\ 3¾kÿ\9c)\94²4\81d´ÑZÜ+Û.\ 1Zßi4
\8d¸\96$ÿKÀ\89?Ó³Íúµ³n\13?Õå¯å~AN\v\8a¬×ÉHU\97d+*§·\v«nk\96\9c±Ü\1ag2SqÒ\99\18¸è»V â¨K¨ú§·+¸\8c,Þ7ËÀ͸I\8cÜ¿\96?>h§î{e\87\ 2¤ú\9fñ\85\0ö\ 4X\ 6Â\7f\eÖ\88ܲ\ 6êèÖ¬òÕbî#\1d\99½\ e\81W70ÐK0T\fMàÆ\9e \9aà\95&i\az¶"pÿs÷½på\106\84Ïht\15\9d\ e\83U\9aÃ;­Öë\1e5­1a!Üb±\14a¥\±\1eµ-Ì4RÎH`Ñë°\7f\84Fä˰z®\ 1\8b\16\9fÍ\85¯wù\17,j\9aÕs¼\89¯\81\fÅ\97)\85\90\83\1eê\91î¢'¤nÿ¹?~~;Úfû!ñAPo3ºÞG-\ e\ 5¬dI}³ãØ]F9\90±¿BÐÈDÅ\86m-˧Q\9aÁ\91\80ð²×\10Ón¹òð,·\99a\14å!p5(u\9d×Z\rì|ýbðn>oÇq\18\16\11rÇG.\891BÒ;Ú\15ß¹áé\15¡T¯Z«,q\8eã\82)\ 51béë¡,\á\97,\\8aF)Ê.X¸\14\8d\12\7fgcíxïi­ò§=¦Ðè\14\13\97\1e\0ÚÎI\vwb8ÇÖk+\96bmu´\1få\97Á@å:¹ó¿(äY®Ô\94\961\8eÚ¦(Ï,8õ'ä\94!·*;W:s\97´"u\821Õf\ 5ÀÜHÞÚOÅ_\ 2\ 3\9f½\91îO¾®\11­Y$ò\9eÕÏôâOôN\89?pàp\97\92Ë \95î3zðñ¿CéSM5Ý^Xó\v~\8a\81\8f\ 5í4³\7f6\ 1d\19rÄáëj 1ÈÖ´°\ eа!©\1f[\98
+\8c\10\rÕ¬\80V\86»á\eíÆh¥pd¿\82B\        \92ë¤%Â\99\90\97\10d¿\92B^Ð1Ä.¬Kº¤ñNê³³\ eí2ز\1e`Î<\89\e¿´í\8d&bÈÿ'\19ÜfÚÝd0ôHÝÿ KöÈP\7f\99\9aÕÌþP.\ 4b\92bÍ{ìd\82̤´\82Ì\94¬\82Ì\83\v\f\94u¥l2J-)a\92\9dY\9d\86J]d,2N\ 6áã\ 3Ü5¹e]ýÏÂ#W\1a7½N\97xDt¸\85:±ÒÀÍ{Êûü~`úK¤\92*¬·\eÖ\8e·
\88Àä.h 1VqÍ\vÑ'-È\82Ó9á\82\81\8c\ 1*«9\81ò?è8ÁË     Üùí]\ríy±Nÿï\16ã\1f¢wG\ fÑêK   Q\83\82!È_æþübKoIå\16¢\95q\19\89þï\10\9b        û[¥¼Ãl\8e\81\88Ì?\88~G\10½µ¿¨¶\84\11é¶è½_p\8d­ÊÙ¢î xX\ 1"i4{\ 3Â\971©;êÀð°¯ï2Zlt\ eû\r¨º\8eM7nªÅ\81x\16\9ba\rÐ\96¶ï\8e\91|\1f¹ô\80Õ\14\ eF§¢jÑe\8cVr0³9É\85\99ØS\v3¥L,Îjafs\13\v3\89Dõà\96N\87\ 5\8cå\9a\1dyãg«ûbÏ\8cK\8a\1a\10Ùm\90M\8eÙ\14þ\92Ô.C!\95þ\98,ß_\ 5\92\89¯\91\82ÉW\8eLÕ1×Ü\96\8b\95ð]ÿ\9d\8e\9f=Âzaþõ\r\17\8cF^)<ªq%ã\16¸\7fÎXi*jn´Z¿\84àÇK¤\n+C {»\96\a%/_¤Íï    Ê\18¼×\87OnûÆ2\7futöÛwÔ¥R\9e\97\82e]        ·|u÷|\r»éÊ\1dDO(çód¦K";­G´¾ëý6ï±]\85UfÝö\0ª¯ºr\85U>g½g¯\ e\11\16q½ÆkÂ\19\16g½ïõá¼,,ï~ö¼7$\e\86 ÔÀ7iþ\17{â>ÐKÏ}\8a\9f²]\1e&\87GäT¥ö?éS/#æ \8bÔôNÚJ\13û(ä|ÕæÄüª\r\a\91QS/£\1f\9a²ëüÔ\89\97KŨ\97}Qö\93û\ fª4\12ú\ e²øYw\8f\87æ«÷\89£ûrÿf£íË¥äH\1aï¾ò<y}\1dG\92\94¾\80ß5EÌ© ¡\82ز:v¨à¹\8c8\8e'ÖéÓ\ f\ 3\08(Q\9b\88\99¹\1c\8føCô*^£¥î\14½É\8cÆÔ½ÌiXÝA:ßhG´A¶4Ð\0ó\9eÓ·~ü\83·ª\1d¾°Ûq°{5ws\96\93p\93\ 1Ç\ 3)ÞÐ\86¨gI\8b6$~l\19£-\81{G¥dö\9aê
++d\9e»*ÁÈÏ&útuSý\11\9d3Ú½,[êbªéºz©û\91ôÇÿt3éS\87\v\8d·\ 4g}N³bÇþÙfa`o\14Ê:÷\81\87B\8e³Ø<¯¸´-û¥ªµNcr˼n§E}\97Ã:ÞÆ%©óâZNÕÏâ\97Ä´\8a\86cåÄ´\86\90Ëá\9cÍý¶HÂCbÏ|à    8\1e\vW¯ù%¦4MÀîàwø\17¹\1f\ 3LÀMº\ 5¨xnsGO3ì\12ò¡Ðï|Mhâ\8a\12\14\8a(\ e(\8ao\17\r47!µÉ ,\1aZ,: íã\9a\17©Óa3lo\18\12\1f) ¦\88\19G\11piZ|J ®úa\b\¶.Õïæ\14ørM8\ eÕO\15¸:\9eÇS°lÊ,8'Å\86"\1cÑÿ\82Öê\1d{\82E+Y\90ÉlÒ ß\1cû¬\91¹7\10è ~ÌàwÐf¡e:\ 5ý\94ÇÀË£ÐW|(««z\14¹ë2ÃVtp\v\86\81É\8fF8ÄH¬pÅXÆ*ÌË\7fèµñ¥Ci\1dq®PÐ0\163\8bâTÝÞà;\9e\82}\98~½Ëû2\ 5\ eI\8cµ
+äm[Þ\97\91Lo%Ð\90êá\87\ 1sHoaÿ
+9)\bÉ\96Ú\9d\96Ú\9f\98Ú¡iµG?é0þ\1e\93?\8bóJ}\8fO\ 5ö}<\1fäôð\99\17géËóý<\9c®ß)çmr½\97¥=µô»Ùý·ÖÅíǨEW[$\ fæóéa\87B?
+ü¹¯a©pbæ¨zÓ\ 2zÞ{5\1dm#ÚMEÑ\19¾BÀ\8cÞæÇà\81wó.qóA\82\84w´ÔlM`e\93\8e\96Dl\1dß\0\96~\8bV\82\ 3áâdõü3\ fE­yË\98\92*Ù.uë6\96ol¿\82.êç\1fìzåÒ\ e\10\98Ìö\Ð0ÓÄØjHbç\1dDcÝ\1cl\bI½þ\ 4\1aÁÕV\ fº9\94={\10FqÒ\93\85P$ÁÒ£³¬\Ã>ÌÆ\19ýFÆ\1ew׬Ø\88\9e]<@\96R^\a.8Ô\84íþÆ\8efØK%\82Y\1aZRøOf\9fµ\ 4ë¬øä@Ò\ e\8fÛI\ 2T=¢=\83\a½E ÷uÀ\12ݬ\83\1d(\89®ö\8dd(\9cH\1a.H\11&®X\95?CQªÅ\88ÌÊ
+\ 1ãÆ75Ï;ÿ\r\12ëü]òüï÷m5F\82\97¯áaºíõ£\a\12=Í[ë¶7\9d__\fGµò¤\9d\93{Pn\93`l6)\96¸ù"V\89Q\85ÅðÃÕî\80Ì6}ì\81Ãÿý\ò\ 2\80`jW®éä9ѱBÿ\87@8dÉ\\9dDIóÈÿ\7f+¨êêH\97D®§7ÕÐÔ+\8bì×+çP
+\86æ|øéf\f ÊÔ+>xñ\93G#u\83·Zjm\92ru
+y\8d{b¦Ai\89¶)öb\9b·NWC S¼7Ë%\94Ð\rth,Ve\axV\9d\rEQ\99ç´bY\803©L´\1dß6¦¸s|¥ø\8d\ 3\7fÒ?gvÿ©~ wn?ú_\88¢¾wç§Ýht\v\8e\80K6lP\8aÈ\ f\n~V÷"Ã\ 2a\87Ã×V\99s\13\8f]D8\94ðÍ\f\84ì
+\0\11ì$g×\12t|òƨÙö$r\1d\18×ð\8e\96\ 4Q\e¸Ë \97{4\b\19»3\87\]f%\98i5Æcb`\9ffh2ÐßL:¯\ 5*¾!Á\rì×'UföÊÕ\11.Ör£_HgÿNÔ®\7f\95Ü\7fþ^\1f¨¿l\8c+\15ÿãß5OÍ!%\8e\1c\19ä4±¯¦OÛßÌx²âÑÝ\84´aÁ\9b:òé, `ï\ 1[Û¨fÇ\18W_ó¿²ýÝØ|\1d_ê¿Ì\95~V÷¼¾z\832T.\8d\85§\85¿Vù\8cî/\9c`Ð3ðÝ\7fV$\97Î'ú±t\11¿«\17è\7ff.\rá\9c®D˯¯~á»®µ#WÔ
+HaûÿìÃè¯$95Ø\9e\98\94\13Ú\95\89ëGÁ¸¢¥\9f\9e¢ÔÞÐ#ê=\82W\11\99\86_\18eÆÆ¦FKã7\827È;\14\84"(\a /      \9b¤ù\e\91Pµþ\94Ü~óKýý\9e\1aüÎ\85~îZõê4¿\96y·½¬\8fª¥ã\84\1eÉÎ\8b¿\15|\91\1f\92È5¦b\9c®ýäâ½¥þO×\19wu\rÈ:Çèt\e#uÆ\ 2¾\97yÉÌ\ 6¼î±x\8eÇïìzÌâ\16\8eåÃfK0\e2\9dø°D³ì\94pbóIPý>ÈÃ}iaÀÅÇ\0        Ì¾a_\99\98ä\15\9e©fã\90e°¯Ã\ fu*Á\15¶Õ£~Ý¥\83´\9e<ò|Å\vE¦A¡ÅÜ1\1f6c}Ó    [ñðáiqaÙ_\8f|E+\89\ 3ß2¥Ù_\97i\97\16\ 3ßNÈÂÀ\1c\ f\97|]Þ\7f6å*\93d\10¥ØËã\17\1f\ e_\98o3´\19\81|ºñ¦!³ÚO})\ 6\97\86»M\90Ð\9b\ fÔ29µÛ!\16MÏUÏw¹º+\fa F\7fhæj\10\9c¾¯\ 4ï¥\98§¤\18"\8b\ f­\ f=\94\13úÓ`ÁÆá­+\ 5\ 2ÓÞ¼\84´\10%\ 6ä}\16\18y\1d@ÑÅþ2²[»\82ÕN¯\80\9cÖ\87ATh\8a1|a¬\8f\96²\ 5\8c5.¤\86Ôg#h%Á\82ÆSfC\90Ìõåú\9e\f+G®·×^<kÐ*\88f'|**\92ÔÞW\93\12l\8a¢lú\97M!'&%Ü3T\8e\0m#R²\a\1dÕ^  ò\a\1d¥hþSJw\8b\84&\95\a[,2âê\99\914¨:Ùa~SJ\83­\96\ 6Dmÿ\83JO\1aøÒ\8b\82¹\1f@WB[ä\90i:\r§ÁÖ4\99j>\11õÞΠ   àO\92G /Sh\18ÒmâÇ[\f\1cY©³\93h\18¯\82k\92\1fª\12ÒAÈý£~ßÂYH4\8cq\87\9eÕ÷\9cÎ\18\81\82GÔw(ˤÉN¯ÐÓ\1fÇø²\1a$RËÕh\91\82Ü;3\9f`Õµ       S\9f7Wâ   3\9f3\b\87>@.\ e׫?xWÈæfÛv\bu-M\8d\85êx\98*\99M}⹫É\9exiæmo++\rÏs\f)*Z\18ªØ\r\88úNf<BÀ{2·\82U\ 2\82ÈKO-ÊÒú\83ÈlÐ\8b=­:\94\fä\ fbî·$I\8e4+4ZY«Cz¯G\8fj\7f·sɪÁÎ\93ïC×´\87³.÷$Ö\14(HÀ¡G¡¨è¨JåõV^$À\16Ç,ÍFÓ¤\8e80\ 5\1d\vÑkúºÎ&    ÷ÑV~ô®øzÓ1îûÐ\8dÀJKQgÞ\83þAËtºÏ\1aô¯\1a¿\1cW\8cg\8b\9c\r\14püxè\14$çm\94¥+¹õ§fx0(O\ eaÉà=e=Xáî\96\1cµ<¼§@\1fc\87\1cTQ\98\93õÊòGx*\8dÙÉ·çm§RiÍçå9ÁßõÔ\90è\98¹ec\94\83"fÃ\8b\1e¥
+E\9bmó<í³\84Ê\85
+K_ß\15\95<:)\9bjÜ¡&!%/1bY\90Ë­\81°\92$ÔzÜ©\1d«µçú\9c~[ä2ö½1d)á£.á\9cº(\1f/xñÈ`1Ãm¹Q´á\14\8b^v·\89\82\96£ãE¼,\ 6×\9c0\18âÁÇmyrÄ»ÔÛ\ 6Ë\e\90åVb£©Âiâ\8f\v0k\1dö\03±ß6UÖP\8a[xj^øi\ eNòÛ&IÛ¡\8c\94BÞ3æ\85\8c\9b\8cNæ=(åçAú£\15b÷¢\1c\98ª÷¤\eøÐÔ\9c\9d!\12ú\11\8b\13iâ«\91ÝôPè_æ\ 4lH\8aHîß!ÐÏD+\91"\8e²D¸\86\1aÈϲê½\94RØè[ãÚ=j\1axϱê½n\1a\9d\97p\1eDgÎ\95zØ41\9f9UïÈ\14ñ\8b+\97·!Df÷¨\1e\ 1\9bØ¡\97\8d\f\9fw_+\193!iÜHZv¦Z]\ 6\18ËK°\95\8d\ e\81ä\ f×`\bs¦a\8fØm û½Õ¯O'±\99\87°W\95F¬<ô3\8f@å;\87\9aC˯\]h"Á\ 3ðþ\ e\91\12ëÁ\17[\ 6'!âb\9ei\18\97ZEÖÉ\9c\9c\97\9dÜ<Ö3.¿Ä]rM\19I2Ãèµ\8d\v¯\b]rme\f\9d©u\8ayFÒRV\98w\9aÆÅ×î\17]÷¬¿\87|\ 3çCî#¼¹n϶PóÅ3|<\7f\ 6åº>\ 1\112i,PïQí§X¡ÖV#à(Í\1eÇ\9e,\8d\11\ 6k¦ï\88Õ\80ïf0æf|\bM\98|\17ê³-\bûÕ÷}^o«ñú¤ÜIî2uÙ:í¡´ÿOÙÍÏæÜð79H,Cê÷N®X»\1c\18\ 4øÖw\8es´4E\94\13ÂÒ\86Î\a9ÿ9±k\11\ f°îF!òrFÌ8\8eO\ ejíÓÀ©æI³I±tà\92f¹rAnà?Ñ\82\9e
+\94bOÞ°\19\14éÕ\9f\93\99\7f\17\v¥`\ f\b´\97"\14\b®ãú\1dÿú\95o\84\16G&Hé8\ e\99h\85*¦cOøàPµ[\8f¯\16Trè\92ÑB²"ÍV@ø¼ý\8býó=\87\9eÊ\94²ý§¦Ï\8ebt¬ûEÛ\91ctÃèí\9aÈ\a|Ho\f˧\93V`qé,z´-k\88\19\16\ 1êúðQ\9b9&\8a\9b6zV{NJrj:ü\ 4¸f]\v5\14Máo\91\14 Z¥(á¼V\7f§³\9d\13\18\bàX\86Á¯7øÿ&E\8f¥°\96
+ö¡NÆ®}\88÷º \9fDÚO\7f        
+¹òD\9f\8c8é½tIþ©7ºÁ2c´ä¤Ã{­'#\98l\vÎ\18¾Z\9aAug'\9cRs&F)Ê\95Õ\86\v\14²pT4)ýQߨ\9cÈïÜ%Ü\8e¤R\98¹EÂr×3ÇÜ\ eEºV\1d\82g× \14h\9bd\84U°AôØ\r\9c<wI2\89<y\ 2a\85Ô2Óݯ\1a\12Z\17ü1Që!Ý\9a\85\ 2Ó§\v\80\8cÇI«1¦Õå²\94f\87£O½ª=\vÀú÷\8f±AÈB\f'\81©¼£-\1esj%'\90å¦Ú6ùKÛ--¸~kÉ\9baË,THø2÷F/;\16'\ 2\14h°è¨lgÞ\86D\94Ť¾\84²\17gc\99Ë\ 61tÖ9G¡\892%÷\1dø{Ç\8b\9f\8aLת\81Ñi;\rùæH;fãÜ\9e´°\b\95¡Y\90«\82R43R\\92\ 1\8c\8f\ 2Ð1çÔ°¯$\92Ù\0û§Ô²\fuØæ·p-\14½ïÒj\19\96 æì´×v`þñ÷L>õÙTr\97pTY\981»-%.®ÌÊÇ\e/S\99\93Ró&\94 û\83Ü\8eä\8b\9c±û\93Ë\155TÍcYä=Ý3HÞÀgw\8d!&êê$ûw\91'ÛJÄ\9f\948ÇÉËIùR\r×¶\92\v!\8cÿT륨÷\9e×èwݲ\1e%\86H\89q\1fÃnµÄ͵\û\87jåÚÕO·.¦\15\85\82Õf\99¿\86u]4¨á \19±\93îúsÉ#ih\1d#Iê\90pÍi¨BÌ\a\83Õ\8b\fd{ÃÝ\8e\ 1#^CÖ\9bT~Æ\ 2\98e\8cB       Å­s\19\ 4õ»}´t\99Ì2,ì\8f[\10X³Â\86»v¾
+Á      \19\86C\98|)z\83ãæ¡/\ f±ïLÊAbf*Ro\\94\90jbÁb¾prV×öÞ\8f\14\ 4±\13\e\80? E\r\fX$K\17¨ã\11\89W\1e±á\8bê\16»YrÓá\15&ð- ¨\89ñ\11ñ\v)\14ÖÈ@´\9b\8c\9c\9cDuÅLúf\12Ý´Ütäæa\15.\96")-\85\9b:BoÇ\11\1fÄ´\95öç\ 4fçAz>#5<Ƨi²AîX\19ðãË\v03M\8b\v\89µwÝù\rSbï»ð\18%(Xb\18kO\9b\ 5ªÒ®Õж\a§ßÂÔ\87\93\81+\1fw\9b¢æµ\19\7fódÕzÒf\17#\81\ 3\90®käöa\ f¯¨1y¬-\94W}Ía»pH\13ãd|\9fpÿ\92Nj"°Ô﹨êwÞ|Ã~n¡\ fr¸þkJzKÃDw\ 2ä´i\15É\87is\ e\883=D°\81Wz02\80\82W0X×\1e\e\11¢àò˦\82\8akÞVxý³tÙ\85H\9bà&\e«Ë\ eäçjå\91\98\84£¨\ 4\9a\ 1gZÆ\ 5    :\ 18Bî\18\1a\7fâ\a\ 1cU?Ô-(Ól\r¯í\14m\92"\97\91Ó,£¯0*£0Ý&e£à´ÎÞ7\99¶§ÏCx\1dáÉ9\83*\16W0T3[7(úN\võsMk\91äòÚrÃmr\14Ç\r\9da]\ 1êþÅ9\97
+[7NP=Â\15;KdííõD+#Ü\85P\8f8\98\ 5\89\16öÔYÅIû\92\r\82\b´¶vc`\91v®}\93âË^¡\ 5¤\87}õK4o¦¥ì\9bîÍKÖºfAÏ"màÊ){(ù\98~qÂëi\b\18ñdZXø_ W\8eÕÅ\8c\ 1U"¥ç\1fJÌ<â¨ÔZ]KÊ⤮]#NeV\80üõ\1c2¬JèÆéôÛLáßw\8bJPÖ-qŰ\96¸\9a\8f\ e\81ä×¼\1f\9btY\16¶ÝIM¡RÏttÙÕ'î\90£W÷\16\ 4h\83ß\8eÒÙ,AX`ÜÇ0öÜ®     ¥C"³¥x\bÕL,Êf\15R5SÇÓ\9b\10÷¿ð\93Î\91)A\8f\1f­º\9ba±S§;°6"»D\1e<uÝÔ\86\10«^¿\85lá¼R<\ ett°\85\85\13[¥¤Ç-Dk¦\1eÏ\13Â^y£¬\1cçoWÛ\ f&9Nf\9f\91Ìu\ 3ÎÃ\ eO\16ñý\99õÈô\ 3ÖtþÍ
\a@=GUÅ\90\9f¤ê¹\97@+L\8fÑu]øz\ 1ø]s\83\8e\e\90åþuï\b\9ex0>\85ÈcûgV\8cpÇ\ ]X\82êÎnî\10\ fË\1e\95ÈA2¬éd\9b\9bu¤.ëH\80UÇ¥\fá%©\93Çu\aÀ\fD°OÝ8%\8böÎ\bp[ºt£gg\1c·t;HÁ\90ý%\86\SöØ"N\86!|\ 6ÐGa½KCÅ\ 3B f(\a\b\1dοç3à6!/C©\8b\99\84\r\1dXI\92Æp\9d-¹hç±Ö\17\13\83\fÙf*\ fÐ4Î\fÔy\9b`åzÂsé÷\88=\8b        l\vW\15,RËdâÔ\94Z® \10\99ÊãÆdª6\80W7bJ\ái@â`))K\eÍ\8b_ÃGücÇ&Y·ôI\9cÍ\84¿J\81_vf<O;XBg\83ò\92©\1aJ\¥¯¨     zÊð6ZÂjy\7f©À÷øp$\ f\8f!f\91 D\rÑ\15¼V̲}\81Å»¯ü$    ÍýäÅ\96Ø´Xí¡$Õÿ\19\12Ò¸ÂË\96|möBõ$
+\9f\12& °-9\1cÐXÓÞI¥Í\98ú3ÚT³¹É\9eN÷X@S«¸;{­ y=Qv\9c
+=µÇ\aÐ7\83ÛÐÏÃ\b\18·\99ÍÞ$\9cé\8b\11¡Ã¡KG\ f6ZVb|o\9b\ 4¯Nå\8eP\83\9d]\9e22\1c2-[/TõyFôøý\aÈÌ\5<µñZóé3Ðæ}í³t\8f\8d\ fmp:a¼®p\1enù^Y²Ê\14fÞ&Øl\99I5\9bD¿ì\12g]<²*ï\9a¢ä6~\9aò\11\8b\88.\ 2w}F#ñöû®s×\9aõ»Ca*Æô\1a@oAmÏ\848.´é\13\12Å\ f<Öo\a´4VÊ<\1fDHßÞ<oæ¬G÷\94Müî\99\1d¿\9c÷÷dLµ\87N|\e±Ë       ~\12.Xc<¬\9e\båe\8f\17õ<ìKW\87=£NsB>\86\ 4?ç1\e×;s²Æ+î\1eoD^¦"½B,\8bÕ\86<Jð\rýNS1+X\9b\\b¯_ï\98õ¯d)ã\fëÈ\12!.û¬iºÿß»ÝÝÝÕ«Vî¤$\84\81\e½\ 14õ 4Ð@4\ 6\82HB@6\ 1¢CI!1\b\0ê\eh\18д\ 6Ø\ 6\86¡±- Èä\8fÍ\8cpHCl\8dË<FÛ  \80\90\86\90ØHÁ¿zA¶1 n#¨Ñ¶\9b\1c\ 4   \v\7fþÿÞî¤\0Ù\1c\92Hߤ\9e·×2äõÏf[3×,̹%¾Ì³-Ë\99rÞ-¼\v\99î\rá^\a¸\972ðo&ü\ 3¼ëð\ eò/ÀË\98éïu\92I$ÖÉ#\1fl`\8b\9aó\87\ 2\82\99/;×=×µl³Õ^w\19£¸\7fcpÒ\9bÙÜ{ºÝn´}ª\90GÚrw¼TZ¾'(4T\90àK øô> ÑQ§å7ï\86¸×Ðò\82ÛÊ.ð\ 4\90\82©Z\13î´\8aäh\93\ e\17´~èzl3ø'¸\ 6\98ü{«e.>\16\8f\7f\8b\11D\8av\84Õ\83\9buY\1a×÷õù@¢!W\8e\bÜ\913\13\bIû-ö±^\8eÖ\1dû\90\1fû°\18\ 3\1a(C\ 1-«õ\1c\89äåK\9a\97¯G\ 4ÁEÙµ~\8eÚýRîÊ\7fY\94a«ìÍ#\96ÚÏÒvVÑÕSûÜ¢ØÊEDä¬yWJsÇ\126'ér\9cþ\17µ¶ñ*Kâ©\8d\11;ywd4¥©PïU\15*íV\r>\81@àÅ\82©÷²\9c÷\83\96ï¥Á/´\975dSlèÂ\7f\99\91@±Ó\84û\9d#\ 4Ô]Ð\98\r'ãÜ\15\89¾aB\8c
+¿J¨\92\95púKû\82©\8e\87X/¶Z¿GYë;[?¬\94]>ïH¶b×\97²\9d*ZÙWÆ\99\1a&1YO«U=\9fw)fVCQSsó½OÅÿ¶Ô\ 24ó}³«=;\85\8c^õãÆ\98ea¡j5     B­wurt¹åØ@J «]¡\85!89wd\Z;ØEîi'm§\1eÌ[\r\16afðo*ß;Ðßà·>\8f\17Y¹áyþMosWæï\7f\8e·Ñâ\9f\r\87ÖT\87ØÙëµë\1d.×nîn\97)C;wo¶Í¼\1c\14u¨Ä\84Ò¦\9bÖ<\94\v\82\90Ì5uCIQ&CùLb\87\86uj\9ap\8bK\ 2Õz\81\a%K\ 2ýЯ\81\1f\eF1Þ+\rS\10\95\18ÔHWÂ\83JF:½Ï3ÚiQK¹\9c>i¦¬|mºF4{\96(Rx§Æ=û^áÇ÷ÊjàÄ\95\88\92óàËJä\ 5\15ìñò\ eã½\rg\1aH´®9oü]\12\91À\12ׯd\9ds\87\ e\93\86ÿªr\17Ó\9f6ÉJ\e\13\94¯§#Æâ£\98 ÓÅØò`Ù\10\9e\ 1¦ÇØÃmÎKÕ\\1fH<\91û²B@Ô#\13\ 4\ eL|c­ß8á˼\ 2\90\19\96q\7f{\¬ÇK\90\97û:ºýg\ fX\82\1a\9f\13ð¡fxrþÞZ\97\87´[a\96¥¬\8b_a\96\9cC\80j\ e|£ÚT9#]òvOý÷\7f\8a\13,\91ðø"ä\18¡­ÙRÆ!\ 6ȵÇ_\98ao\98ÊÓQðügé\86©\8ab\86sd58\ 4þÄ á'cqáöÏÎ\96\94L×o\19ï^tp3®~1Ö\15[\8e¶~3OÝ\9a\ e\1\9f\8cw&\9d¥G?\12Ò£Ï'î«s?\19K&¥¦ÇáÄ´Øîq#v\90\8b\81äÝï¾I08cB\99\9f\ 3믣»\98\båT §ÍúÀæ\89Z\15\ fxþý\8a¡Á6·\17\96\10é3J\8f[p*\89­6<MÁãxì=q\85MÁý{ãþ:'õ#\vÛ\83û\aÇè"\7fá\8d\b\91\15n\7fì>?öJ\7fcÝ=uf\9f¢\80±|\80x\8a\ 2lpc\10N\9d\8b+R78¹åÐWa$hõ÷X\14\92q\16#nñX¢úÊ£:H¹\17ȼ3\90è¢Ä\89é½k\1f\86Øòà×)!3oH\rî\ eã\11îiTÏ´Õ\1a~ ù^?-##Ú;ÄD\12\rìE\f\87>ÑÞN\1d5c½ôäÕI¡-\1dé¡í¦É»ßjøzÊñ\98]\90ú\12«\vßoiHkÌóú\7fK£}\97ÚRb"\b£ö\10ûB)Ú¬Bqá\fEû3ªT|¬\9f\1fð\1eïÖ\eÁÿ·`\ 2\8051òd\89k*\1f\87\99Ã*'hIɽm¸$tyNùh\9d§·¤5WÓÖkª¡\1d.¬$\82t{\92øF\ 3\1e¤¯s}j\91°ìzé+ÆõàÔL£KµÑÐ\1aIg\18¡åÓÔ{Pe¤²þü\e/nï\17maw\1fRxqX\8a\7f3±F\e½õ>Ç\8cHç¥\11\r\8f\1e\r.þÛ$1TÊe×fû\1däcÝ
+~Õ3ú\80GÇ5Ï<nÀ\1dØ\92,s      "¡?\9c\9c §7\e..l,¦Þ]ËUî\rÝ\rrÉÂâ _\1d)F¨¶b\845;¼?µ\a¬®-Q\9d¿\9cTFAа»\8c\96Ð\ 5¹8ã\82\fº\18\ 1¼"\11\8bö¸¥o°\10\1d\8a\1cJjÕ/ ÈÈy\e\ 46:òÓ\v\9a\824\9f>\98÷X\7f@jl\17\fPÛ       O¶%3d\8fø\94á       IÆ(}Q)ü¢S\1eÅ\ f¢%=Q)$Å
+1)ì    L\ 5½CÀ¾\8e\18Ágì\9dáî\80ïI\ e82F\98Ä#v\ 2ã\8aë\ 4êd\8cñ      Í\83\14$ß°\1d\v\140O×EìPë\9f\14w\82\1a\19m\8aV5\r\93\923x*gõ\13PÔ@càª\rDCqQD|U\13ùôþ©H`O§ö
+C\ 6\8dCÔñÀ¾÷\f\8f\96Å\ fµ°-SáDt][\14<\8d\85,9
+9ãÕÆï\e\19 MT\82\95û]öà{õºòIÊI\7fö\ 5ª\83\18¡¥Ø>ª}\87±½éëØ¡A°I¤Ñ@n)\87ÌõCÎ×¼XÅ\f\96Á\17\87,\14Ø¡)°¦\18$\96
+ôÖðG\19EX Ï`¿jÅä\e.\8c\ 5Ôk\9c\92\16\8f¯\89´d9\80ª:ª²]}5]y£\835¾Ó¾\19ù\97j\97ÓÎ\12<s\ 44wd>d¥y\e\8c,éj\11ä8OFî¦%y+\bd|½N¶½¥.*XùÁ¿¸\ 2󪣽xÄÙX\82M\0\97\827ö¨h\16\eTpeYÂj\94Ã|¶­\r\1d\vqW©BÆ&1Þ\v\12
+\9aW)\8dóÆã[;â¡ô\ 1åÕ×<Í\ f\14j\10î\1eëgÆ)å{×|RHdÌ\vïùg×jøcwß\16ºz\99§\9eZ4ݬ\ 3\91÷úë\10Õ\8f\8bQÎ¥\8bsjôl>ÃL.
+7ÏÏßþ¼}{\85X\8c/\v?syîGzcºGõôI¶Ì\ 1Õ\85\92k'|W\9e\93ºÇæ^Õ\92n\1d\9deHøM|çUkÝq¬\9a:#\ 4aÐÂûô2\97¯}Õ°PáÔ¡z\89#'ÐFä[\91èø\\9e\17\18}xràÌ¿À4m¿\v°\8eªw[yÞ\10Âjn\89?7Ó¼ü\11\94\82Û\1d\8fH
+Ôªã}§A\f\16Îi\8a\1a/\12µOs\bc.|ò\187\eN\17\99ÐC\89E´z\87Ù¢ËZ ³`\86|9ý*hü\92\8eZîÝ.Û\83\v×¥WÆ6¯\90\9f\96\7f\92>\15\90ùz\1c\11ùÙ\8f\9a\88\81né7\ fYUöâKF\ 2Óq\9fQ\80¼\9c}j²Ñ\81      S\8b\ fèÄcë_Xþ\eJÄdÁ´ç¡_¡C*á 
+$\14hG\8a÷\16\88\10ØÜùãb¥m\vî\ 2SxéÛbÜ(-\8a¢-kFZz_"\84åÏT»ø\82«\8c\9fTºæ\13l¶ß\8b\16\93\7f³øhñ\18!öcöiè\94EÏ-OîÖ!É$¶Íå\9a\95\89ì\0\9eÙìÓ¸\8c!\8aÎ\91\8c)&«Q´NZ;\17ʶ÷,öjÜ\19Î\1a²÷»®Ó×wµßB»éWxUÓ;¿>µäTÎïÔ­y\ f3»ãV¼a3»÷«^,\99Ýô+^'\99ÝÀ×!­{EÛ\1eÝ\8c²\aÃ\8aê\87hôV¤2ïJ¯°E_µ÷\1dWÛ@ÕQ)wÁ\1fb §Q\1f\88è¶\ 6Ù¥.inÐç6ªèM·°7ù6GÍe}%(y0ä\9e%¡p\88\ 2aóJ²«öjPú\90åªiWfð;ìÓÖ\98\13\17ýoH¡\ eºX]¡úU¥à_ø@b$äG(*\ e¸&­ú7·~G<ü\8eP¤G¿cB\16ä\8c~I\1dì¨\16ôÆ)c2Ò\9fÅß7#ú×·U\1cö;Ð$Ì7côö\98Ìl¦J\8a\10D>\ f$ê¹\83§¶N,6ï^¼ã\ e\f\ f§>\91\8fÕ\ 4iæ4Ü2\14ñ\81\1c\1aäc±\ 1Á§JF?\yÂR1ò\ 2ÍãBøàb³\17àT ·|\ e \8a\ 5A\12õ\e\10®\10<F'®Sä\17ÆNç\rF8_,
+_n
+êM\ 4\82\9fc5Óø4#ä ø»â+5\1e>újr°\93½ì·Æ\bbíO\9e×\8f\94\1aA)\7fÚìåKw\1e\88G\13\8b\16`\\1e*x5KËu(\9fë+\11=\1a@³ÁG¾´\8bÆKɸ\89)\8atLrMñÑn\15*\1f/±â²ò±ñ@®|¨pZÃn>Aqèù=$\8f\ 5÷a±Ónùc\7fX\86þ°ë=tn\82\feF¸º\12²¶\9f\8c­P8dÑV$2\ f\88\ eËÍï\ 2@i4¸Q 8\9e\12S¡Þ~Já 9à\99*\85Ö\bl¶ÖK\1d\90\96\15Pt\ 3\ 4\9e\8e°\eÇÓ\r#\88m\fBr        S/\10jÎ&èxKI\ fÔ\9e5¸ÝÄcÊ?ØcÔb7Âò\9a\91­;©\v\aÎ\93Ù\14n%µ\1f@O~\89\a¤{©G\ 1\92 \ f\14(Ö·\96\15vkh\9c÷púà\e\ fHË'4\85Ûþ\8bÚµ£\b\98\bÀ$\ 49p#\8c\b^àôp:7?À¬{\f\1c\1d
+y«\17`FN|w1Î\1c\8eeE\9bCÖZØ\ 4z\9dbý²mä\9c\12
+9\93\ 49½ÏMl\99}\1f\r3dëèýÄÍ\94/£¼'\11T\15w\89Û*_FIVÕ¯£Á©lå}\e\95\vèýå-\9d\9d\8d}\1fÛTÛR¾\8fÉWæw\87ÒJÚ¼\87\e1\1dw\ 2\93X$âJO§wZG h\8f¯¶="É\97Ψ\8b\92ñâ*2ÄL±Í\v\8ei\ 1\1d\94dáôär\1f_Wë\96\1en«2ÕÊq\81\10\14\90ý\88\9dã\871x2$KöB\97\9b\14¾Pºnºb«w\8c\r×ò\a\99S´0ú\91oe½    ~\9a\1ffØüª£çRõÍF«(EÐ\eª\1c*\9bµI\17I:I³±ÿ\ f\9agÙ4úL\7fÂC\9b!ð¡\8a7Ö*I^Q    àÔxżh\ 5ðø%P\1a²~2\9fb\89ú
+¬Mz\93\83\96«\97£0iT\ 1\11ÛQ$\8dui\10¿SBb8<-Í«\1cÝà\1cÑ\8b\e\14\8a¼tzå¬õOw\8d\ e¤l\18`.\ fF\10\8e\f\ f\13\9cÒIêEÒE;\85!\19@d\8c\99£Sª¡ð«_¨\1a\1c\15~\0Ç|²«ï\13ë=}d­\81îô¼­´P\ e\15DW\1a8IöNjR¥¸\ 5Û\92¼\89^ÍÃ\ 6c~\17\97\7f
+\8c\87Ü\e\98åì§_9Þï³0\86\97R"VðØ\11\10.¿\88¥ãöÄS\96­\f\1c        \1dY\8b\8c\13õòø\b´²á.!¨S)¡¹k'HØô\1c£ÑºBÉQÌR¶¶=§@^a8<÷ú/Aè\82/A¼\16øW£\84_¨óAÓÂõ%#0¹E\83\7f\99D\98á\12sú§\ 2¹ÕR²A^1Ü\15»\93\8bc¤]H\ 2ß\9d\91Ú\ 5 Ì\v
+MZ|éQ\98áó>Óº±¸~1oT\8b¾\88\e¹}Ì>z¢Ö¬7\81¿·mÅW"¢Ý\93¼J¾ózE0¶\1fä·\886u\91[6¢Õ\16¼ÅûÅl~ "u?knÞ\3\16îâð\86qE\rÛ¤æ[eaH\9clÑ)·\ ey{覲\ 5Mc
+å¬\1cI#9\93«Dî0W\10\86Î)¡ëR\84#\8e³«\b"ûÌ[+\85\87Ñ´ê¼ó\88R­+\8a´À\ f¬`\99ò;ôE¥ºz\ e [©\9a\1f\97À\8b@zÝÖeúR\1e\12\vøde\92®S\9aD\85$>\fx\12G\85þ\899\92+4\8cd\84þP²$\1fI\82$\90\19\13Ñ\11é¥"í ÖÁó\8c¿\fJ\90Ó¨_¨³\añrøBá·¿\85Vzá\8dõT>¤Yf\v\15\8b&±B\1c4ô-\v\16Kïå\8b&\155
\81\95Ãß@óß=ñ^±C\8c1é6ØÊYDû\15i\92ø{(,ûd\88µ\90Ô\8aV;\86\94Ï7\1eèã:¤ÕÂ\99ºç?\80\9d£'ü'hØ'BÅ5
+´W\91½\12â¾Is¿"è\7fEtYûWHÔèQ|k§\ 2Ïò.\99ïàºy©\90zoĺLÙÆ9\eÙ2¨y\18ã+ù\18\15\1fE\81@ÿ\9d\81<üª÷}ü\15àC\84j\17_\8d±çù¨Þ³\82ÕCž ¥ÓSá Ýùb\95ð\ 5Ã\ f]û]ÆLÔ>\81\9f\13\rûüÂÄv(qi5\19JßHg{1\19ó_|\ 5¢\8cGé,é\ 3(n\87Çzt¾£\9e:óÓpWê\r$û{Äp>×\9a\bá1#ô'     ò\13Ø\aèOLP\9d\94BýG§ng\\ fä\8bÂÃýpd¿½óA\ f°j\15F¿7ë\88nõO\90\13\12èÉ\8e6\19\11ß,·fü\8c["8\bê?\v*¹·\eîùñ\95§{âK£\95\eæ]5:É\13ßT§¾ú8Jý2¥¥?\8f¾ÖU[Ê\rN\8fÔÝ\91z\b\7fzÕ½*yQ¿\r§â¸ÿ\82jãàÿ\87ñ\85Ùiü\81Âøì­\9a\19\83k\11\97ìlÃ1rùo\9cóÜR\8c¬ÈL\r]H¤iØdúzͨ:¬Y·b9>ùf6B\81%ݰ8Å\1eì\93º\ eóxèqGÓùŽOåÁ\10§\ 3ÖÓ×\97°\ 4`x\8e\1aÓíC¼Þá· àãéöÅCawÄ\9aX¯«fò\12ÿí¤\8a\eî¨2\7fó\99V\1f1nÎÝà¼\0e´1
+p\1fw»ã8L\86«ñ\9c\1a\87n'\eDèO\8d"6Ç«
+wUDs»ÀW)\10\9f´×)VFw\#bü
+Õ+A}j\98 ðëDu\8aU£»a\9aå,
+\7f\bSøQá\f\1fJµL8wÕ£g\1c\ 6\9d\90.\13*©ç¿a+ÌS\18\vÌ\878\19#ÝàZd_²¾ñT|×%\97\r\1e\8e\82]\1f\12\9e\97£¤C¼/\f´ðÚGSJO\97Ⱦ\99 ~ÐEû$RïÜñ\8b8òìÞ\9b\87/.8*\90\18í\91¾¬»tjè  ­ù'kUpÂáã\ 1\95 á\16JúzÆûCl;ùªÏ\91\94¤Ñ~&aÁùY\87+¦Ì\12\8bÕb\17bGc\97»$\14k\96\1f\13Ì2>®µ8ß}\ f¬\bK&¬\97-ôÖ®Qà\98ûÔ£!M\7fD ÔP\ 3}QÊPBó87Õ\18¥\ 6¦§\eêBR\83\8bØÃ}I\8aPtö\16\8d÷¿!A¨«\91¾øD(;@)Fûâ\90 åª"7ß \85\a^\15ã}òöò#\81\171\95½êã\ 2O\8fÍ<h`ñ¿0ó%Â\8c\18Ú\91Ï 8ÍQ\ f\96zVq*êÒEÂ\94!E1ÇãOÆR]\85 \8f×*nr±\eõç-13·`9ú.îÛ"\95\ f§\19K©\f+\8fðÍ\9f\19IG½0h\ 1ßll¤t\88ú\1e\1eðÙ%ÝI\r}á»°¾&ôÃã«\1d\17\ 4Õ¿&\7f
+ªÝB¬Û¨\15\98\87\94tf   ¶Ð¦ÞöÞ\14M\87êæ"\ 1|>®©A`­æ\16û\13F^nÛdH;\86ó\v\96\8c¾\98\9aC\rH:|\ f¬\8d÷¡L sTì\9cÈ´\94±jA¬1Uï\1cUæÿ\99^\8e|¯G]\8a©~5<_q\ fp\ 5\8a\9fMþ&]Ñee4Ûu\r?"à0@CFUÃê
+áeûÚ\0Â\r\vÚM\ 3¤ðÉ\88ðÂñ\94erÛ\1c¬éù4z\g·\15ËÎE\¨ªG\9d:KeBFôþb,I\88\99¤vVL%Êv2\11Ô \8dd¾Fbf|\8càa\ 2Xb9\93ui\1f »\92\14\ 4¡ªóàC7ÐéE¦¤qx6>á\0=$IRßPr\10Å>!\8b|C\18bWç
+ìPßZUïá\87\0Ñ;\ 3:f\90BiØõ\r\14  ¦7¦iX\98M\a4\1e\10ô­zL`\8e\8dRWFïhÌ\8cÕJ&\1a*¶0kÅ\ 4y\98\8f1³ä£N\86}ì¬ìÙz\14U\83\8bXZù\9c\8bu6®ñæ»Ò§w*¥r¯\83ì8\80w*o
+¾õV\9aÍ æ¾ùª¦¦ò¾'¡¼N\f\ 5;rûÜ}\88T  \r\7f<zkb\14\b\ 4<\90-`\85Ê{¿DÐwŶ\87\80SA0CR\89ÿÀøü}eä4\ 54ÍÈ\8c ¶h\9cäP\9c\ e=¤ÚFê\8ao¿³öòÍÇ¿K4=úJÊZý§}a\9e¥ÞØw\bV=-âI©\ 5ã]"°·ëÿñQëÿ¾®\8bÏÛqj¦u¶9\8d\12e½V»æ\14¼\1d«ß\8eÒür\86\89cwÁ¬ä\8dø~×y\ 3Ý?\16?¬b¸\ 6°\93ß\8b\14\8c\eL\9dX\87-îü¶ÈáÞú\97\82\9c»Þ%T'n-V¹ã&7\85Ê\1a\82Åg\9fîüÈ:R\1f\16\9b\16×óÐòÞø\88Ó<²þX!böp|\97þ'\98\bq^ÎM?ByO\90\82`|µ/\12\97Ý¥ßm\\96ò*p\8fê«õ\9eéè£íÀÜ\81=³[\98Ù­ËìÖöû·ð³!\1c±\b£ø\0Â{¤\Àé\97{ûÿ\9b6ÈKb¥ðøp\1dÕ\9a\9d\8cÄcº\9a|ã}»F FÙè\0\1cóø\87\ 2=ÅÌ\rø«þ¯áÐg\fÀ\83¨<%¼\0²ûÞpYY?      ByÕëÂ\ f÷ì\ f\86A¾u»\v¿Æm\8f¢\8bÔ~L\98\8fý\1fÒ\11×ü®;<¿ónº\12-¾;\1cc\0ÙqBËù\98¹pn/Ãrþ¨wÖ¥üÈ\1cñ¿ý´È\l¦*JNlá\83æ&Rc\19')ò¢üäÚ$Ú.¨Q\81,oSw\0ØÁ\b%\90K\eÉKc2SgJKKd%\8e\92É\1d\8dÈIÉd±\99\fyÝf\b Ã\84$33T4Gb;~Þ\8aøZ\1a¿-\9dÌ\9d\9eèÐÐÐCód\95 íóÙîäìÈ OË8 ¢:ù|;´E6\8eÆÔ\8bCTæ\7f:\83\8fF\86ÌËeè3IPØ×
+\17êN\16\87NI|\eù×Ô4*{?\9aÌQvô$TJÃÊ\81\82Y/\9a !±Òx\9bä¶C\1cVÊvK¹Ïf\8eÂ\1dq¦ r!Ãÿt?¯Ïýóÿ\7f¿úÇ 2ô¶m\88\92nI½\8b\84[uÞöv÷kdI\87\90»{ý-p\1aÙ¦³FG\e\9apLäÊ \9e\ 6¡\10\v\99\93a|1 Hå\f\9d{\9eî\83»z\18c0å\bÇÙ\8eMêcÃ\1aµ}Mþ@÷\9fÀ\12׿åþø¦¿øç\1f\97Æ·é\8dU¾ÔÇùG¸\16:\ 6ÿ¥\1eõïþ\9f´r\93ÏÊ\ 3:SÏ9¸\ 1\r,^BS\1c\1f07Ŀ렠N\1c\9fÏ\19\7f\9fûÿ²³^~{ØÁóÿ\7fþ\1fºýÏý\96û\8a\ 2\9f/ýÚ(Ûâþ\8fû\1eÿMþ\85z=\9dñc%11FªR\Óâî\eäúEÄÿL§3\9e4ÄKå\9bË/\89S\13\12l\14
+Ô¾\18\83ì\93H³fݸþÞÙß:èÖ\8czän$i~\0\18\ 6\8dZ\93ð/×âÜHÛðG5¿`\839\9a\1f\ 2&J\ 4ÏÍ\8b\97¿øº\ 6\96æ\97S\aþÈÀ¿\ew5ëÐÑ\ 5ý4\8a`L\1dÈG'¼\8e\8fu» À(\8bPB\1dØ`Tõ\8aHCF\18%Sª\98ª\r uêã\15\90ÇJ\11ð\11°\ 4\f\1aÆk\bAÈ5\81ë\87o\zp¾-Ê­d´5\ 1\86\82½A\10ÅÐ+\­v\99u\92à\80^\vÃé\87\8aopÃ" ¿Y`n\86\ ef\ eç\ 6\10fæ¡%!\14B\ 4!´7)k\94%È.FÑBä¡aaB\14Þæ\1an\1a&\18!\8dq\ fÙCÃC\849½¥Ï\19s\80¹\85ÌÞÞ#!\10¾ "\rÏD·\89a\12\11!9tîî\97\95Ð2\97]%Öíu²º\84\14T\14RÈ«(¤ï¾Lfå\98É11\8817>Ê]\95É\90272v$äç\ 1Æ\9fw\95»©»\85ÜÙûÆ*ðªð\17\83sw\9c]å]ä/&ö±}\84ZȰ\8b7¶ë;\1e²\a¬\ e°Ú\bÌlbØÀ\8c\f/[\84ë^½²ëC­gxfB\fÂ{®ÒõÄ!×?]\ 3³½hïQW«+ѽÕï'{º^Âön\8aù5|\88¾\ 5ðÜÃI6\89\9a\ 3Ct\17Ù\8bì=ô/¦åÚâ\1a\9aÔ\1a\9b\9d¿cï˯ÄzÜåÿ\1d\7f\82\11·ÍÞã\9bG\11Y\8e\ 6\98\f>\0\840\ 1}ÀÈ`HC\ 3nµÆõñ½xPÙuöæ'`Ñÿ¸Ê©\8c(d\82t@\ 4 !Y#Ê\88\0\90ðÁ0\13Â\0#l9v\ 1\r5\1f4\19q×ñ$\88M\86`ud\v$\19\8e¦\ f1\ 18\8e\8aüäó\ 3ÇTÛ\18\90Ê\ 4øw\ f×Gä\f\fW_\8a\r\b\b»\0£ñaô\ 3Á01\98<`Q\87\84\17ÎÂùØ\ 6²Ë°0;\1c\ab\19ððÌ\fn\a\1a\1dð¥qØ,pQ\a\88\17¬}ë\1e\1aÛ,y\81\90¿\b\r\146\ 6\ 3{ûpú#µ«\1c\8cvD4\ 1N`K5\96\ eüBÜï.Ò\>\90T'êý\14»9\8d\1cÂ-ïR\1dèR\ 3±ú|j\82\94?\bîÓº­\17å!òÈYý\b?øÿ\7f\9f\fÿù\18\7fUPù\16- i?\1a²ä «à«ÖW\87\8c\17Úûíx}@Ù#
+?\ 2˯ùç\9aùÿ¿áðéÝâmÉø×\ 4ûÿ\9f\7f?÷Ëý¥Óøº}Ï\85§Òé^úïk9\ f\16ÖÖÚ8ö\0Â?F^qú8ñ0ѰDÃFP\aÍ\88\1eò\ 4)\8boA±ø\8c\81íg\85¹ÜøU\8fWª_¤\10\ 446H\0è\12\11Ò\rZ笫ôÙ\8d6c1?aUádÛr9\r²~\13\9aû;k:÷ jì=¶\1dq¨ïî§JÚ!\10\0t\1e \ 6        \10\ 3\ 3\86\1f\ 6\97D\ 1\8fú].\94¨r!\9e¥¿½\90\7f¿¼x\85¶Ëb
+\14.+b\84\97\14B~\9885\81\16{ÑÈq±L=Fþ¨>ßß²@\0\83Ñ\b\ 1k_\85Ch@ \8e \vÐk£ªÑ-\11\9cÿVð"\1a\9f\ 2\8fÐq8\1a\0H\ 1ü\ 2\0\r\19á\0\a\óR\85      l\0öÏ[\1eP\ 1\94Z¿\aÊÃR\84\81®×¢\ f\97T@\1cªä4u¿s\8b̰Ñ\83\ò \rtÑp\16ÇÏp\11æ 
\8a\ f\b\16µVkD¼|õU\98\806\1a×\80´@\12\ 3£\1fÁç£Z \ 2ô|\ f\9d\14\7fg\92\0wb+õª!Q"(\0êÅ>\ 2\00>/\17\8b\10\0Áð-x\1c\ 1\0\8c@\1d,Øò9¹\1f\ 5M ³\vl¾oE\9bËÛ#Îzȧÿpü8é\a0\89n\0>\0\14\80\1cM`}\ 6\88@\16±d\90\ 3\82«Q\0p\0\80\8a \ 5\82(\ 1ªè#Ê·\88\0lD\0\8d|M\14QK\8a_EÀ¯ÏE\v\11UÑË\99;WÀ\rA(\ 2¬m½Ò)å\0*\85h"\0Õ}\10[Vêâ/ä[ôE\0\89 \aá\1a\b\80C\9f\04Qí¸\ 3>tKtd}zò\80       #\88P\ 2\v¿\94\0\8fz\ 2\97µ#\93ÇÐ\b\ 2\8el\91\0\8dm\9d\ 6\80@\19\ 4Ô3Ådå
+gI\18]x\801r\82À¦¨\803;\80.\0=kñi\ f\80\88\ 3\ 5J\0WR©ì@8\9a\ 3ʯ\96\ f\0Á®\8d«Q×\96p>\0\18\ 5ß\11¿ÛP"\0e\12µ"\801\ eÌ\8fÉàµÌÚ\84SVµíZ\94("eý\12\82\0µÇà\vS(\ 2\ 5í\82ÇÅÒ\7f\Ìs.\7fÝ#ç\8bmÞØºmHÛ¾m m3ï}FÙ«,u\9c\95\9cß+\aÈ\9b³h\87§ïK½ø,3¶ÒïeÞ쬫½à\ f§¥Î6ðÛS¶ñÛN¶þóo-·êWý+\19\vçýåYäÎWô»Í?\88»û¦çj\ 3µÍUÞk\fo\81aðo\ fôwûYM\99²1àe\98Ð\95?&0ô«¬\85N\ 6Dö^C\9b\1a\9fRà*\16\8d[Ýì{C½É\10¯XÕ¨ø\bó\18©#¤û|æ{-EÚ\ fsôtL\ 6ÐäÓ\81Û\ar\ eê\87\b\16{Ç#\9eke\94Y3ð\92Zý4Ý=;g¸¸É\ eK e\13~=;v¾\ 6\8dïHÓ3\10\f\98¼\8dZ^IÚ\97\92\9a¬ÌJ'q(\9dÝ-ù\11\ 5t·A\10¬J%n\88¤.¶ü\88\90º¢\82\8aDÒ)\13\9a\15/\17vDîìS¿»\0çZu}Ù\82¹ëÂ=¡x\8cz×;ã«áX0\91KÀÙ\88`¹ÍP ããß\18Ó/8/ÓQG3r\96o\851\98¹       \8c\e¤\83\86:ͬÓ#\8e|£±ÌÄ\84\8c\90F5\88Õ$\0ܨ\8aÆ t\90\1cÕ\84óä\1f&,F\9cºÌ\92Ý>1k\1a\1e\ eD#dZç\9f\18ùØ\ 4LXk_\18÷\98`ªÈ\83Y\19\1agÆ8¹    \16¹}¥þFF©ñ\8dÓ!ñ\18øÓ\7f\11\8enqÎÎ\86\99³w<\14\8cb\93Ñ9à\89\8e¶½ñ\8bU}y\89¯êó\86)À+¨2\ 2=_ªbü"µæÂ6W(l4\93\ e¼Äòl3\86*\94aPbÌc\ f\1d\8b\ 5æÜ±Ì%\r\87nw^b\89\86\1dPd\fÑÞ©\90y3\97\9b\vÙ\9d(mÎy\´ e\98\13\86\âpÌ+ \84\fË\ 2\1cN\a«ï!\ 2}\818fÎ'\ eÑ]4 v¬   Ã¶8\9c(\15î!\ 3\9c\13\87n¯ù!\ 3\9c;\83\89Áí³ß¸#q\ 4´z\10ÂÿªÞ\90Çza\86¯L       ×\10ð|"ãJ7\bµ\0¥B¥ì\fé#\16\98\88?\90\80B\1aÄ\9d9\80 Õ\0¬\86\8a\8dU+ÛÐ\9d) ËP8$Uû|éÝ\96\7f4vC;AÜ´\82X\fâ\15\82¸\ 4ÀnbùÖ³ÖÞ©·l\82¹\1e\98\8e¿YßB²ð6õ\ f_\T¦\10p\97(Xh{\9a·À¡³`¸\1eÿ¥>Ü\89ö\ 6
+\7f+\90o¨ì´ý$û?íO\8b?\91·gîH\9f«H\19?$gáàmö/Bå\rs5=º}ö\15\99\ 3UÿØ\9f\16\7f"a\80¤¬ÿ%ÓO³"\7fxô.}?ë~äÄ\10§×\ 3\ 2@U7\8cý¿ã\91ê`ºÔå\19Áf7\ 4oêÒ\aÍ<Càª\ 2¾\a¢ÚÀ~ã\8aà\16\82\¼Çà£\90P½#ÈUQø<&\15\e\ f!Ó<\1cg¿ícca¡¤   ù! 
+ â\95À³]\11|¿\9d\17\1f \11°Ò\ 5\91\ 6\12\ 1\r\e!\1aN\ 4%\e!ÓIõ\8cÍUu9|+;ÚØ>²6\15\8dÿ\ 4¾åÖÞî§`0j`YEÜ¢/m` ®ñ\90×F\91×+\9dé«(¸ü5ºÆ\bþ¨W\ 2º\ e\16"(è¶wËù\rØ2¾È2ëo½|\85òý\82ÂH\ 2¥ÐÑK á¢"¡aâ.\91@\9d
+Ö-\À\8dÉ\7fîÑëÈ¿ùÐ\vÈ÷ïßþ«¤ÿþ×Ç\aþ\93¢¢ÿëú/ÿUÒ\7fÿÒ\9fÿÎ\9f\ 4ç"Ïö/Ùú[Õv\18?¯Ìn\bÏÕ¤\ 1¨\84rrÌ _ã\8c\82\85\ f_§ê?:\7fæ\84+2'Ë#ýCù\1fíáÿ
+Ȱÿê'ú\91ÿýÉòÅüd\7f¨ù"ÿý©öq\f       \1dò/óïÙþ@µ\0_Å+ýº}køÿ\95\7f`Y\ fÍ\9f~ÏíÓìÿ¥>\7fÈ\9f^TÿÍ#û{³\0¦\17ÿö\91\7fø\1c;çÿäêý\96aÈOXô$:\7f×\ fþg÷ÓÿÏ\ 3òFü\89õÖñ\7f\92·\8bü\8fFc÷Ò\91I>_äz\91\7f\8b\98Äd\8eo\8cÇÊLc%&R\ 6*Fd\1a\87\90|\9a\1f\96öW\13%\92\92Êâ1¹  >ÄíhC\86]u·$CWRa¦_°wûñp\93-\9d\ f\;q`\98í3Z\12ù\1e\83´Gº\fÕ\ eZ\8b5\99:\~fB¤A,Ä8í(3'cÜg2ùª\1c\9d"4ëö\ 1¤v\0ã¯Ío·þ¾û\7f\ 6q×ûþ\11®\ f      ~k\ 4³\13)'\90Ç7ÆcQò:2\12Çbq\92òRòò\98ìF6láÞ\82¾3\11\8cÉJb`\96\7f=ßÅ"²Ônþ,rXJü[¿vt\95\ 5\ 1ÒÃwúsã´L\9cÕ\ e\80¸Jø*uReeØà²\80T:\9aʶ81)Ô§\80\80XjÔé\8cP¢      D       \8a\94C(\94P¹<ª|j|\\89¾AC\fáwV\17\86\ 1\8d\95oqóÆMÕ\ 1\rAßàÆé¿ù \a     X\13Å\ 3\ 3\ 5\1f\84m#\88ÄÊâû\fkyl\94ÄÖO³s§Ô:£º\ 5·kÔI®0àd©\88mÓ3\v\ 4Æ\85\92hð¿'ß\ 6\99KPò\94Ä\aÛ'ê\ 4ýx©XZ*\84\b%p\80È\9f·â~Ê«X\rÉû\93'îd\9f½Á?{²~êIûß\13õK\83-^\9a:B\16\10'5'K\99A\84îc\90\91H¾%.p³È\83ö\v\16\91|j\â\127~Þ\93¢87§)\0\92\89Ê@Ü\fs\ 6^f9»¥\9aaP¥æç^\91þ¾\rSüwzÓ\1aÉ2rsïM¹¦VN}ñ¾ñ«IÏÙ1i£²üîA\89Í\85';\13\1e\19\14S}1 Á$»\ 4\92ì\12K°I.Á$»\ 4\92ì\11KðÎ"âb\94Â9¬ÁØ 3R3q\ 1_¢´Yû\95l\11æ,¼ Ë;\83R\11\1a²G¢\rIt\8f\e<\97?×ã\9c*T\16Ï~äA\b«Ã\ 1\1e\ 5\84(\8b\19\9c\f\85EÄB!.eû\ 6\ 2dÇ$^-\1483H»×«7öøòkoÙâÿá\18\1aà»\8fÅá1ß§(hÿr\ 2{ýJ ß©\0\f;\ 1Òh\82¶ÎV¾Øþ¬\12\ 2ÅÐ\0e\92\8c\98cTß\ 1\80Yÿ/\8c,\ 2\8fêÕ\88å\18Ïfav@êH~\ eÈ\1f\93\8c¨éÕþ\81¿£~d\97ù\8e íÖèE½/%¶äp/ý8öë\võAJZ\1f¹Uùºkßø9\87\e¯\\99Sì£hKìeF¸\ 2ç\8b\ e¯E\9d\1e\8a\e[\8e\8a\1eÎû¢¯ÈÝ#$f¼\1fÏÑ1\88f\18-2d\ín\vL\96R\88\90\89\9aÔÉ\11R\8fK¡lK0\89\ ey?âCZcà»\92o\87Âã/ýìËr#­Uàf¸\8f_\9f\ 1\ 6°B Þuë¾\88&\95\80gE\ 1        Þ@,ÖÀ3Ý@Bp`\16\fÕ¬\84º,Y\16±\9c²ÈLÊÅ\99Õ\8cõë!>ÂÅ\9be\8cì\16BY¬Xl\v6°0\98\88\15\98Ø\16\f\ 5g\81\ 2Ï{\ 3  ÷`VWÀ³\¶\10å«#V³\9a[        Ú­YDµ\9eÅl'\98µfék>RØKe«\15Á3ÁABbà\96KA3s\ 5      ßÁ,×Á3ô`¡8\90K#i\93\8e\94\8c³   \82E\"\90àª\9a5iyü&0'5\vúÐjNy±\ 5â\13ß»\0æ\98êûã\ 6\13É\ 2za\89\1c­'?\1d(bþµ'«Ó`Ái\8dI߯A\ e\9a\93­1\15&wð©=X\ 6\vé¦\7fæØ
+\92Ûü,O«\ 4A\80\9a\7fëRtGdn\8c$X\)&kT~Å'«\faRTþÅ'«\ fá\86ê¤T\95\1f\13¸üÊOÖº\ 53pXթѯÔ\94ÚÕoõ%YúØ\9e\8d¦¶\9azèÆE©Ø'êJ}l\aìk¬Û9¦Ïm/2=\16&£Z³òA?æR~8'\8b]GIÑ?ëRVÿµI\82IîÎþ\95'\92/vuֲͪw\ fv\90X²Ô\7f\8e8*b\ 3=\91\9a\86:=ÍÊá\89¯ý\8fw×H\88@^.SÌ\12\aÃJ*IzK+oY`S\8fß\0My\bñì.    ÿ³\8dî\18?£3mF¯ÚÐ\88­&p#\85D¡K\9bP\99Y¯ÌwW\92\98©4uAÕ_>C\16\97\84\90o\8ci¼ÇÈ2Ó¥\9cBâ®ôÉîýòÝ0C(»i\83Ûî¨âPÜ&q\ 2Ó\98¦æµ=\12mÖÎ'j¹\ f>QÂ\87\9bQÃCdçÒJûdæ5\8e\f¨ÒOcXçJ Ò\97\12·U+Î'(-T­\999.ÕJÚ\93\92ýT­¡90ÕJó   Ê\fl,dÔëÌ1õҾس²så\a¯t\1eh\v\95µS[+h\9a¶W\9dK[+g\9b­\95æ+­\95ü\ 6mT\1f§¶\91\82L\1a\13\ 6©ã<qá\97­\0¥ÇÚRçléf?\ 2ý¯?#,¿k[Íä;³<u\16aͰÉÍ\9f\85\95A\7f\ 2såP¸>bfYÝw3\8cxèÝ}Ù\1a*ý¯@þo pÃ\9e\92W\886\aÚ¤¸b»Íö\8fw;Ä!¶Lþo\fõ\ 2f4       c«0Ó&\13\1c\96\92çªÇô5YÞ{¿gU;Í-\12fïKÄ>\93\12ph5\M±\87ºÒÙ\ 5\14[\9dá\98I\8ebþòuë\9f<Ì&w\9c¿¼È½sVf\13\1fj¿Q\89zçKle\11\1a'Ct`z\96\a\88Ç\8d\18s%^\99Er_µ\95æý¥ÜÎnìÀ¥ß[z\1e§!à\88ê/ËX~\9fK^.\15 Q»\ 3\ 2\86æréwÍ\8dÚ\ 5
+Ç6&\97\re lþÐRÎóܼ5ß,÷|W~\91îæ+ïõEµx\93NþþPµ¯ ã ßâ\90/º:[y^å\fÚbÜ\17\16\10&c\8c.~¶\86ø5!ã\84öÚîgÙz\84\85û>µÝ\½O\ 1\82\ f\8f.[k&\b\8e\19~çªÆâý÷¿\82êңߺî \ 3\9bÇÛ¬\eI\ 6\8e£0V\r\13¶¼\18\87A®}CJEÜ»®Z±[\ 4Ä\9dáZѽô\13\13\83ÝäàÐå\ 5\168\8e$\84\96\ 5Äj\18Ã\17í~\ 45\v9\9bÃh¢¦7SqGéùÕ÷\83C@\9fOZ¤këX¢U\88{ß~úD\94ºÛ\99\99\9b»¦è\e 
+\8a\88\0\96ª«\92\82¨À±2\93U.\81Èè\8c+ueîîºúí3\16êªÂÕPÌï=uÝÝÞït÷ÕU÷\9eª÷j¬À¾áÝ4A\97\99\ 5ºá[¤\ 1[øqA¦´\0]ßÿöf\8bÝÝùï~\87ß\9f¿÷øcõ\a½¬\92Hä±ËÇ«á\1dV³-éA\95ì\92Z\8cB4°éÅ5\ü5\8d\17ÿß\17\13\88×kä¸uòAè\14\8erÊÎ_\87Ç\97^_\ 6##\1a`\fì¸òü?\96\5å#\1f½,8\9d\84+Wß\86"1ÌÝÓÓTQJlÛkC\ eT>Ù­\82ÓÁ÷ó\bXë|Uô¶Ö<M\16ØÙÖ#\87PôìËJM\v\1f\1f,Rè\9a\8e:½pã\eÈ\1f£\8fK$\82·\a¸àkÎ\12$\9cõ<öG©¯fG°ÑhçÖ±Ô8)s\16Ê!LG \9cϤhh
+$¯yHA¼\96\1c\bÿ]\19òÂB¡Ú\16C_¤$t]Á[\1d![\11Ó\97¬\89ÓÆxÅû\86qKAÙ\1f\9fýe8vyBB\1dvÔÂ\9e·N!D|ÖyN\1d®Q\ 27ús\ 4¾¸\1f*L\a^Îõí\9e¢B\19Pཻ=O¸Y\13\15\82\80ù\1d\97\83v%a·\14\7fS\ 6\80ö3ıÌì4q\119
+\95´\rþ4\8e­øÉ%añ\ 1\99á$ͤ^V­\10­ø×Òæ:QÃ^O¡\91O"I\\18ü\8fc0IPUv\98\84*\ 3Ä\88\80Ôw\89v\96¹2\88¤«\8c@B\8d\87\7f\8bñ\e\ eõå\97Q­BÈâ\at\1cèD\1cAú¤ø\7f¦`:3È\9a8Fu\94¹Í
+\ f·@\87ï_ôp\bÈ\ e\9f\1cÏ+°I#\ f\85^\10\97#1\8a\ fÑA\1abmà\84Ö^²d\8cM\90Ø,\87\v@8B\89Bd<¶¦\ e«@þ\94zêÆk\94Ó\ eHÁè  4DâþpB\80X¸!*\83àr\82ÿ\88¹P¦ \19¾\ 6\8e\81\8cM\15s\13jÈ^\10jg\91g\1a\94\ 3\84\1c\8eqóú³áþº\10¨ì\7fyÎC\838\8b)\ 2¨ÖÌS)p\1dá\e©¥Û¦±¥o\97_íÊ,¡Á-,\9c\81[\15±ë§\9c\189áDӢê£\1cãÿbTxyÑCG\9faÆcC§ãì%1ë\11ö\8c\b\14Ñ!d6MjA
\13ò\83q\96Ýv¡ü\7f\1ajSÿ?\9båyÞ¿\9dðù×\1es\9f?eçõ\93 }þ︻kM¿\8f¸\8e®µ®É×Å\7fÁßz\\ e¬ßoú\8fâÈXx0Kûól¼üó\9fÇ7%íÍä³þ<¾ömÖ³ÇË­C\98\8e¢Öu¦öM³~6:q\r¤\1f#ñe\7fÓæ\9b\8b\8bØþø©.°N±ÓÕÐÜù{\9f¡>ÆR±Â½h Öâëõ\1f\17ôKM-åé\ eÕ¤Ù<A6æw4«l´\9eÎÀt¨ð¥µ¡Éîbè{ó´\86jÒk¸èÚÒ\17\17\15\8bfCHn­\19='±°FCI\8eÕ¢ÕØpg}\9eüç\82XH4\98\r=,ÊÍ\93ì\11\8a\98\f¡S/\a\1c\e4\89áKÜÌ´ÿ\ 5\86§&ËW4úÔÕÈ1¼qýÑÉ}{ø¢A\8e\8aÅ\93ý\85}&J\16ÆÂXMî\9e.\83eëH\84äRs\14Nk\1d\ 6Ë\92AmcóÓÚ<öü¥\8cß\97\b>¹Â   \83\1e\12\a®\14\11Ô!\987¤û«\91\ e\8ep\9fM\82xò}3ß\95\b\93\99²Ç\8c©-ô\ 4åBÈo\97\84£Äh¤ \7f>³q(ñÛ\añ\9f®¤ÇÆg)Ç\1eºäcª\84¤\92\8e­Åü­\126¿U&%~(\ækª\b¦\84VZp¿\ 2pÍdá©Î\1d¿\9cd´ãVyXíFUµ.V.ü¥-¬°æÃ5\9b\1dq93\7f\16\10zç¤áX!??a-5¾ó\03ë5\ f%\9bÖ\81W\1d\8cô?ør¼r4¤fáÂ1\16¡è\9cNU\99\81ÂÝ\9e¤ÅÛ\91\b\ fù\8bøôïK®«\17\fIwT\1d=ÎÚñ\97ò¤OkÓ_Ê\92"%\ e^\8eÈ5}ÒÍÂ\8f\14@Øß\8e\83\fòx¥½îSÅ;i\99\bæ\80Ì\8ef~\0~Éë   m\89\1cΫ>³\80¤:²D\90íÇdõ¢ë%Ý\0­¥\ 5m"\1c¦kì\r³\fq\12\97\9aóTsTávkn|8Mj\91_"tg\83\ 5©HÊ¿)1Ç\96£ÚïH\ 6\89A\88\9aløK²zv3úüæ\87ªewiÎK\vK(H\1f\ fâmcvÜ\80J2a\15hYN\v\ 1Þg\94ÂBÊLx´9çs´\ 3¬h·/'hà\ 36×5ëÀÒÿ¹\f\96\86Æz\ 3\rùÂpT\91Ã'\86?E§Ù\1f£\15¹²ý¹Sè\ eI\99\ 4¼ZÍÈ\1d\9eÖU.¢Þ#\0]\8c\ 6\96\ 1'íÏÆ\ 4\8fí'\0Ú²\aª<\ eIÁ_?\ eز\0\87v¹mËë\90(Æ¡¸Á± gwYÒp\ 6¶|\9f\82_yÓÿ\0À$lå\87\ f¹a\92îçÀüó²\ 1VK<\1e¾yà6ÏFo]O­'\e\8b'\8cßÉÏ\92Eì1\98Ì\18¸ÜYàéç]\90\8cèkÈÁÚçc;\8bÉá`×âþ\93Ñ\95\9f\e\90!14l»\999\19\92\rÕI\1cä\9c÷WàÛÝPÙÝaÌÔ¢\8d\r¾`é\16¤\e\16¥[ôë\1a[\83ÖU+kíÂóê×X\98IÔÒóӣ8I\a\96\96H8Eó8\81\1c9c\ 5\1a-añ(Ç8´ÌÔó\92"=\9câS)ÞDFH<Í\13Üqêiòs¦¢vÖ\121Ñ!mþkÍâä:ÝZùË\b\91NBGGïK#;\92\8f-\17#\90ßx\19aÈ3ÍO\90^ôÀèè\92r:ÒR\89\8d¸Ø0\8c\1f¾\9d½â_L85ÈÈ\aãj\9fG\ 4J¿tù\rCÕÐ\ 6ÔÂ3+\86¶7E\ 6?\93e\12Í,æe\1cä¹£3¬¨Å³ UTæpK\12ûzÊ\17pÄ3\1fðmy¨ê\88áî\¦@\89\89Õö\85\80ï\84
+ÇÔ;¥ø\99\88M#\83Üн\96$\94\\8e\14§Ëî\ fø(0\91ey\84&é6ßé©yVöAµ´mCA¶:%­½åç²§È\86Á\87&\86Å\81ÈØ\18?\9b\86\10Ìg\80Ì0þ\13U\8c\83ï\9c³XpoÆ\87\|h     n¿\95¢Aèe\93»\88¥ÀæärÁ-3OL¥ÏÄX|z=uSø¡\ 2\88\93ãót\91\99^ÌQeyyЩ\8eK\1c\85\90Üu\86\1eqqñòAþt>há\90p\8e\1c\ 3\99\9c\83\0È\1cS\b\ 4\8c#\8d¿ AÎ+sþP\7f\86qKpüÙ\94LSå] \90\7f­²ü\92Q8çªq ,È\7fHÎ%¡\ 4\boYkàßE§=O\bÉî¨\82|õcÈ\8e¬Cp\9bsé]\8dU!ÄU\9c\8e¿¡¶´ \84ñ\13¯/³]`û{*ó*{ú\1c\14\8cÍu\8fVW\ 6Í«Td\1d\87û³¢,\8a*ÛÌ\1c\1eÚÞ\9c)bÐój\91ûã\90Jøëê +\14+£ó\8bЮLq\84\94±ÐídFQ\92)i\9b|ÓÐáÙµDÍ¿Öî\9d[51r°ª¨lÞ%\98Á³8e\91lr.I\ e·nKJ`\9f\97.=Ý:\9cõlØT"׿q¶ñbÔ­\94$ÒÕã\aïË¢×\84\9a`\94ªÆ\87îì\12Y/~\85xÕKì\1e\95\8c\9a\15
\81\0È<S#Cfk¹b\ eii\93Å3fÈ|7ÃÒî9\83\91ñ2\aÑ\esãG¤x\9cIÍ)ÔÃ\ f\93¾ª\18\924\9cp Ç\8c\9bÉ)ãCòP\92J\7fjäíbó@Ø\90+N7\1f9D\94Õ\f\bm|\85\b@d\ 4!­B\9ab°Ûî\19Bë8²\83\8d
+?,R\1a?\15!$Û¸Í\90   \ÌÈrg\a^\19)Ãý\8aW\98\e\89ÐëvCu\88#a^?ü£Á,ÛºR-\ 4?¡M\9b\fÿeNDH\14Eìúµ/\ 3M\9b\ e\9eQìðRæÝ«\87¾+\ 6Ø\81\8f\95 ás9°ú²A\94\98
+É ¼î\ 3¥\98\83\80Ö \88+gó¼       \fÚÑñ¢Û\91\98
+<ÛÈÒ°\81\98 H;ìËþøõ\1dd$\ 2\ eUp\16ì¡lC_ÙíA4\80Á3P§\9dNö"9"O\13z]) u½\81Å\aàî\88À\7fÆ\8eÞò¦ñbK¸Mñø[Ö\91\85Bÿ8@\ f<\84\1f,³Ýph2\95\9dÊ\15\ 1ÞJé
+d \ 28·¬U
+\9aK\1a\91Á\ 4Rw{\19Ó&EÛ=j\e\ 2\1f\17>|TdP«>/ÜsV;Wx×xPnta5£\ ¬\19|\87ñì'y\¾f\11ø\99\87©\93\ e$½fX3y¥\ 23!âfWü\167\8eÀ9å(8\89xö      \98\eçI\eÂõ\vc\f¸(\91Xb2aI zÈ çë%\17D0\83ýü³Q©ÃQ°e¼c:?\9f\ 3g\87a\14"¸à\!þ]:\15l9µê\e\84îb2ÏæÌ13RH:\16X\1af¿°Ç\8a\rOØ8á\8awwèÉ.×\97\ e\ fòb\9a±Ë\90v\92¿t<ÇQ©³ÍFd5¹º\91\ 6[ º\99\ eOp\8b\88ØÈ¯\ 5\7fC\ 60zö\ 27Q¼°à\94\98w\19¿ñ^;Jé,\850mqCÊÏë«$#Th\ÌM$'uÃÎËöª&\fÒ\83=\8bJ\9f\a\89ô6\96ý\ 6Ý@Ñb¶çÓ§{]\ 1c^Ní-î\9b\©ÇBË*.[¡\97\9fånà"kî1oåI%Ü\8c\87\výZ\ 6Ælf\8e\85\"¥3eþ\9cÛ.\ 6m\9d¶m§;6×§\9b\8eýyȪ[Y}\99  \9c\85\1a\84·þòû¶¶Ô\98òÊKð¯YùtE2û´Ä\ eU\f5/°â¤ä\12Ë÷\ e\1eKz\9aM÷´k4ÞÀ\1fÝp; ?4\19\8cÀÐ\ 4\8fÌ\a­\89\ eι\19A\1ev³,\858q{(U\11'¿Ë<\19­¢I\92ý9p\94\8b\1a\8az\11\99àÉåç`@\ 6v÷I\18¿î麾\92O~8«Hj\v{\1d¿*$
+êL|j;fí#É8\8f`\8067\1a\8c¯|Y\13\81±mF\98¼ ûÅ\9fÝkͬ qõæ©       ÿ~H\18\98\90$²õ3U\8e\8fNw\17\ 6       \85       +I\1ev\f\11×
+âp\98Dx\8b5'       dáì\9f\f\81Dfþ.f\12\97*B=IÔú\ 6\89X?¦\12¿{¿wQ\1ao^>[w5Vñ,ÙêK©\8b\ 3\ 1\9a\ 4\8aCÔDàöè+&ÝØ\98\96Þèõ4ì\95Â\ fOF\1fsFò\9f\85ö9\ f/3U\19Ý\92s\9e&E4d\95\83 Rtü(nB§´\96\86Ä.2Ѭ^¥Ø\ 2[h1\85÷¿$º«\88\80\82¶a»Ì1©G,\ 1·\95:¾-u\1a\16,ÝN\98Nr\vu\9eõ¨p\8f{\90ÿ3Al\85[¥5\ e'\4 y»ke]NÍ@\ 6YòØ­\98\1a\9e]\80þ´Û\ eíY\ 5f\87Q5\9dÙbK\1fëï%'\oÙÃè\eÖ\10Þ\85ô^Ü9ü³\1fþ\875\ eS\8a$ÈJZ#Õ×\96\7f±õd× å0zëý\ e«\8buß]DVæ<µÌOÒE\12F+\b\8eÇî\r\81\97«\7f\15x·1ùKÃ#|ÅPÐ\1cÖðª%c:/\0\8e\8aç`ò\16Å\9bú2:\f¤\86óX\13ó\15\8d\88(×ÀYþÎòR\7fã=I\1dä¡éºÈGß\1eãÚ\91±\94¬fzr9\ 2:Òrð±¹N\1e\8dÊäü\16{éJ2\91òdZpüg\96\18í^ø|z7 \a}i\10gõ>ÂÕ¥L EW®úÛB\1eä\89õç\1f_¯1Ò\9e$\92\ f¯Y§×f\84\eÙD\ f\8e×µ}j}\8c\98\98ÛG×\1dIß^C}\81GbÛüs\8e°EQ\95×÷\96\1cú-^º\a¾ñ\9aÂB\9dwl1OðÊ!ËX\9fâ\0\8e©;³Qh!o\94{\90\88¦O\í\1a\9f\98QÏY\91sá5¢i²bÉÍxõý3¢xå1d"ñxù\1cZ`qdû/PdÖ'\91\93\16\f³ëcWÔË^\9aú¢`ò\1564\8e÷¦\ 6S,AI.*|ùd\ 1\ 6öj3>Ë,¸ª\97±Õ®\8b\8dGB4´o\1d\ 3R=7HF²\8a#\1dµ\19\9d\v\95\vÓ[a\8b¾ÊÎÀEØg±é3ÝѤÍmFí4{ÀÊC\10?hÃÈ>²P:Ò¨R\87Û\9a\1a,hTóÚ%6\1fÔP¯3K\97X\10\90¡â¡S³\8fÞ\1a\vc\913xv\1aÆï\fÂ\1aZÌKÔ\8e\ 4\7f7\ e\ 1]\95Cmf\96\163\98#Ö°_S6\18âä{ÂÆ\88\82¢Å\8deq\98u\18:en3Åþ|ó\15Ù\92Ï\ 5¤¼ Ò\17Û¬\9b\9a)ëjú¼\7fnµÍ,÷ÇOo\80õ¨\9f\99Q ­öU)\87S\v5AEI©ðu\84\a§ÜÇ=ðþ\14ÂQ»Ú@\91ÇVf\ 1\94¡ê¢a\0¾ÒË\83\9e\12qsº9\17\17\17t\95± ç\92úçþ9þrÒêó\16Ç\a\84SÙG\1c\ eM(v>Å:aâ7©qÀç°{.¬s°ý\12\8bÕP¢\94Ùå\ 3È\95V#Üx\7f      ZÅó¿Èà\92\9c>\91¸_Ú§\13´5 ¤\9bÝq\ 2Àsö\90ïx\7f\94£p\8fS(6pe\9e§\86Èõ?\v\ 3ª{ÓaG99Äå\ 5=-\8bR§¢\8d\ eC"[[­yöÔÐaU=2z\ 2\9djW\1c\ f\93¼R\17Ä\9d½µ¸Vb^aTá 9ß\86µ\98)6\e\b»æa¸n\ 6M\89@.Å_¢@^¦Uí"\97aY\15ïvD%;\ 18/eóm¨Ò»G5AÏFuÙ\11\8a\7f5-¹WA_:ñK ÷dè-\12n\10úðìÆ¤Ïí\8bý\9eª\96éÞz[\158Ïè\b\ 1¹Y\0Èä¶Aò3qé÷%©Í$:î£\9czs¥¡däæ\83\8e{\84ôé\ 5¯ê÷$\17G\934\1e\14\9b\15ë\84¾I7[\83½%\10É'ÐM©8\94³\e&<ì¨M\98\ 5Î+nî\98/f³®Û\94\8cï®D\95Z\ 5Ù\81:X\1cÈ\82\r\94\93\13\973Y×\b²KÕ\16ÞæõÏ\ 2®Qì{î±t6iY\90=þäØxr\95\9dÀRe\12p\85\94±\1c~öEù\81ÿ\19U¾ôj\15Ú©\90ôg\ 2Êma¥\ 4[B·\87\a¹\94E©9$\89ÈÔ#ò\89IF\\98ÚáH!ø2«g\ 3Æ\9bv\1co­\XÔ»Û\92\19{©°ÅÉ\ 4Y\8eÕ.n\8bÀu6\ f\a\1aN°××W1\84ëóÌ\12\ 3~ìËø¡é\1e\1ar;§óä\84Y9\ 5\ 1ÁÉ\96\851ëb[3\8f.áOÉ#"^ëY¹«\1f\95¨\91WfÙ_(îF\9bį¤ÉL\905\8e8\11BÔ¢Nð©'JM÷ÃfàÒ\82é%ô\1e¼\92\13\86Ïpriißi|#\8aGH\132oY\ay'Y\9f\v\87*[Ø\95F@\80|þ]\84ÓDñ\1a#,NO£Ë\fY'²#­lìöm\b\81Íòþ\14÷0§âõýèZÏYãî¡Êõ\ 2~Oxnôµ\1dmN\89i=\0\1fÊÔS©\8b=Î?Øæù{\98\13ð\b;­&:\83ú=obR}\7fxÎng\11kú¨+GÔ·ãÏs\8dãÞµ¸æuýë\8b\8e¿»=\ 2º\90ÊêCCä\92}hw\89\vZzz[Ï,´fm4»³\9cp9Ðá&@Ç^úN­=\a.­2?\92Ù¾+\a\82ÎÂ\166 Ã±fGGsåîapãËá\)E#³\91¢\94
+ãÕ¢s³7\85që«\vÖÄ\139WuÃvq&¢&s§³â\9díj\89\f\8e(\9am1ÊáQ3\7fÝ\90`yße\ 3\8fSmû´\1eÏ\8epLI\12EÞ£\99î\83¯\7fÚð\ euïû;R|{[c\9d|\1e×\84sëW\ e¾\r½§µ±9nä>¬P9«¨z\89$Ñ2âö\b\1aE|\15\8eðk¦6§[3Û\1cä«f~\11Ã\8fZ\ f\8cÝ\ 4\11êxº\12´z#±t,±t,ñt-9ú\19\f]\f\8e.\85Ç?BçG¢\92Ñè¤ôz)O#E\17b\1f±Íg\7f\r\9dyÍRðø6¦¿\8b\7fëbpx¦¿£¿Ó?îì`\15\7f\7f\7fy\8bº\ 6®(\8dÚHO@\15Jh¹\8fMhò\ 2]«ù@Ì9D½M\93Í\bz\19\ 5\9b\87\87 \9e\eRO\výJ\r\11{(SüíávTÌÃv^\f&\85%\82\9e,Ò8\14\89âѽê\11,XÆhä·\8d\86A¶,=2ßZµ\87       Ê_X¨zkd¸w쬾FZÚ\80²*¯`\16%
+_Ô)}.Òõ¶ó»²\93f\1dñl+~±*\15µ¡¹+`;ø\10˾ï\88\83y\81ý\95®E«È\96´{\fØè\1a\ 6È¢"ë\99\81¥Ù}öv1ÅRðûÿVÀ|[\839Ý:\9c××­\ fRiNl\ 5\89\17\19u>\83ÔkT\1eå0>\99xm¼8F¥Í¸À\1df\16ä§vÎÞï\97u\83\b\93\ 33\ 6æ·\10£\92²}jʦóþaR\89\ 3è¬|>%\1a1ÂQ\b\91\8aü%\85\1cÍ% °=\17×í{á߬>a\1fýL/\8aW| )ج¬b%©f)ÇfP\14ºuÄÚ9\1dU\9eoÎFT\91D¥¥þ\9aÄÒ½ûûÎÄKO\ 3ÁK\ 2¨L\8f\85ÔÍ]+«:÷ \18RäR,E\14KK϶%¤nI\97J4m\ 1\19]ÚoæReìm\8e\89ÅW\1f÷NRéü®\0\95VóÝR:éÕ?\92\9d@ýÓ\14\957\9fP\95QÁàH¸}þÅ|M÷ÍBÿ\16°O\ 2fÎÈÓ\18é]iÎ\95Ú\ e´\b\91\99ÛóÓ½î÷0\1f¹\f¿\98ò øöu©$µ\96\95\9eç?-ö\97lt\8a\98ôÁ/\v¼Ï\89¦ûn\1eÆ-c×N8\r4d\962_éb?ª^¢1Æ\91\8eeÛc\89?þfÑù¡áäÓèJ)\8b\ 6ôË\7f¦¶ö>i·=µèXe\16Î\91\8a\8f
+\8cẔ\1eض\ 4_\163IW¾#\13°dzºRNúØ\93¾$éÕ\85ïn\87:k±dQ¿U\81DB\ 4²\8e\94\9d¤£¼\86AMå\ 6["@\90}ÖéÄ5&v\a3\r\17î\1a¼¢\96Ü\e3o÷\\1dù£h\13ÁùM¯$\1c\a~I[äA\\9d\8c©OÊ^-\11kDãfÞ\8aI\16\97îÝ(uûÊ:KÎ\95üô\vðÿ\9c\9bñý-\1e\11®\fIr"Ã\1cæáÚ\96a# á÷ü\14"¤ë\8b\ 4Z>\0ñöS\91rtÒn\9c\9d\80\9bªãºÉÈ×\1d\1cÄá\ev\90\1a\88UÙ'\88á/!9\1dÁÆv\92\e\8aõÊÔ¶Ìþéß)¾»\93§y4YÔqÝ¥sq\rÁ\88¸\9eå-\9c_\89#\89Å8*íù¢Å5µgµ:X@Ã"P\a\88\17£Û\88FÞBjc\83\9c²\96g4ÌiG\8d~zXå.,¸=Ñ!Xÿ\82\82Þë\11\ e8\16\88AºÉ\ eÃ@F°E\r4¨?ÇÆ¯\8eZõê½\0ü²è/\8f\8d¼\85±\f¼ Ê2Ç"HJ$\12`\12\b°\97Ùb\10ë7¬ÐÙL\1a\168øÖ×\e\8c\8aö    ÔhDZ_d42áÿ¬\90?YN0>À\r\13pûå\ 6>"Û(Õ\85ü<\8eíÊ9IÜ\02\3ò¢Zy+Å\ f\90s\93KäÓ!\ f'\18u\19ÎÛ24ÁxaóäÂÓ%e\9d4(±àía8ÐM\ f\18yíCvÜ"D\18Ã\98¨g­§gÂ8 ÝaÌ£\1eú×*®)\ 1\17×÷)=º­\83\98@ü§²AI\1c7(¨WÔHïÊø\8bXíùsÑk½\1c\84%9ãm\1fÉ)ït¤*$ö\83}\19ú#\83\r³ÜÊ\97!%\1c\1e~9#\97±ëúZOuE\82\ fz:\9cL´Û×5H/q`½*¡µ1f\9e*jB#\ 1O\1c\1e\8bjÌèf[\1e\8b\99¥\ f\vãOÚøLêQ\97=Myx0JM&co,±¡´éÎsh9l\15\r-\18´]§¥]BÐ'\ 2²9céüé«Çª\v\89a°WßËR§ÑL2eT½\91S\9e§!;¿I{:\9e\96\13ÏX?\¶é\8bwf/\17j5¬ÃÅ\8a÷ÊR\14>"h²\ 6ý58ÃgÇ®¢\e ßu¨8l÷UJ\14?mKß\0tA»Pì*Ú\86æM
+\e7\8fh\aÄÉ\89 ¾û\ 3¢S\17Û[9Àü\12©M!q}\e\9eMiAÉóâ#\1dñ\14H0\94ʱ³\fm6\1d«ÃÁ*lª)Õåíï\83Ûf\1eS[.ñÅlHç(ùç¾\13Îìý\19É~\ 3ß   Ñ¤Ìý\1e¼ÄªÏOÏ8y(<#\92¥'#!äÚ¢É\1d9ðôí\vGIJ§"\aTæ×Éô\@è\98~×ÉiR\8e^\1f\11ª=Éï´³Mü\87¹aTM#*î\94%zѵ_Xý¶\9d­KÄ\89!ö×Þ\8cZ¥10\96\8f'Éê"Ê\1fÍ9\13\ e­\82ö\10\93P_Ù\8eaÕâæQ´þÄj]:SÇ:\aPçJj\ft§ Ò\ 6\ 18¼FQ²Fê\80âE\e^öA)tHÏâsȦ\92$¼ô»¶¨÷O®\99Àº3\83,\9d0nB\1d\99zäc\98³\1c\ 6ù\10\87&\96Dg\17\9d+?\15\aÂ}\10ÝI\r)b&õר\8d2pbI¢um©NCÍ\8bÚ¡\13©ðI(1rlj\97©¦\91Ðxn\17ð¶\8cØ,UÎ\ f^Xx®Ü¡\9a\83PúÔàõ%ªÝ)ø[Àê³"­©°]±Êr}\13H\81\1cÂÝá\15MCÇ\96«ª#:Ñ\86u\9e3mt»Lçü4ÄWÇ\86\82Z¯ûµnBw\19«1\86\eã±\98[¸ÍÔd\98\17g\7f\94Ìg\r*\1fFB¬6Ñ5+\9d°\98ÏçÁüï­eÂÓ!\18\11\7fÖI\88\1c\13Võu\12ùÜL\ 5í"î\8a\ fùÈ\a\b\90¡ê\16ШÐ\89Óe©ðcVï\83\ 1ÈyÙ\ 5õ\83\80\91ÃÀ£L¯n\8eh®ü³\8aü#ùHA,ª?h²\9aü%\94\94Xú{yDXäq^\f\19Ck"\8f¦9\94Q}%Ð\7f2è>Òè?
+è6Ë ó\17AYt\1eÊè#×&QE\13*\aÁ\8b>` ê\17AÖ®\83Å£'\19ÜÒ|ÏJvúÁüoÂlû\96öûù¯S<ç9äÆüz\87K\97\94)í-¼Ä×\95\97Ö\15\9b\82 ÿÕ1\10l2úÊ8È%\9aqÌ£\9c¯Ó\93ÃØ×ìâWú=\8e\14\9d\19ú=\10\96¢\aVâÏQ½úÖpz»\ 3\1d+¨Êí¡"môÙjú1\ 1§gµ\ f\15ô\98\95õx\)ê3ètB\63­ÅöèÒúï»\ 5\1e§|uu&\v\ 4s\945}\1eÃëgD\f\v§\1c\ 6O LÁº5Z¼J\18Ii\b\80\91u½(\ 5A¿e[kÔ£=Ç\ 2_\ 6ôzBBðzêÕá\11G\91$\9dKO¡Ý§iD\9fb\88O©ß\ 4O\7f\9db-\a\
\ 5´*u,\88àU¢\ fÃØí9\95j1(lÒ\93
+\87\9a\93sû¯$\93\89¯ôb-°}jζ'·F÷\92»\93Ы³\89bqGªs­\e$\9d+I\88Áj³è\1c\91»\95V\93\b\1a{äA1iwÖÒw\9c\80þ}\ 4ï/Ãòd·¥ ë\15\15\18â\v)(ÖC;"2ÃÓ@»§W\9eú\17\92F\9dÕn\92Ò9ìx|GVF\95¼q\18j\1c]\9fIhË2\a\8b\8bGÍ£§¨        <£ÙÎ\15n\98õtA°\881\1aen.ÛL\96\ 2Ç+\11aÔF¸Å}à×ê¨Y©>\ 3í1K\96\16\87«çÊ\8ed°Ó\87íÑ·\8a·v¤%yáïEzÉ>Ikg\95Å\fùÕ\8c¬½º5¤ÕÁ\ eã\ 1îV¶.\88\83?"·q\82EO[²¬D[\11\8a\93R,ªª°\967`Ó\fJhñ\11Âú\87§¨Ê÷\1eç\82\8fsc4T\eã  \ f/¯Îu¶Ó\99w\82\8eMÒ¹ýÆ\bt±;Q\fFW\96ƤF«\82Ä\7fiÝR     È¿ b@´6{<Òç!ë\9aR%ëÝVÞ\92A+2­\84¼\82\`Ý÷«ý}B£³sSIyüI\15ªà\8c(>Ò\rèß\9bÛjÈŵÆkF(¿ª±\a%\88é¹W\9a44\ 4¥H¦RÜ2%§\10Ýpè@©~óòýÔïzÐ\16\84\8d(dÍ{\8e\ f  Ç\14&ëç`\83\9d·¾å\84\10\13º\85\99\rÉ{è¤ön7\83ú\10$\8e\ fÞSÓ\8fSÂ,K¡
+Â×=ÏÔâ\87ÉÕ\ e\86\1aöÀw\0íH!g\15ä÷W¼$\15\90G/ ws°\17=²¡\10D>é\95\8e\1fÊ\ 6\v\88ÔfÍY°\7f\ 6È\b[tNP«_*õ¦¢\94Ú Û\95@ì)\vx\1f²/oRWøÍà#\1dÚ-$\ 3ªÙ{gIþRû)HI*\10U\7fTN*ûCüÅ\96'$«/¼aô\a\r\11\16CÑÜ¥õ±Hü\83\14ß     Ê\19\9cô:#vyª&\88å¢ZÑ3ÙÍð\r#ðÉð\19\11øc¸\ 6\87Û\11<3\91o\12Õ<6¨\9d\12Ö%«\ 6%:\97iâ¦Avy%\rÀpZ\7fD ß6¥\1e\18\8f"A\81|d;»\80#´?ØO"\84\10i¾m\ f®|7R1êñq²f ý\91\18\82
+Á»Á½vƨþ<"¹¸çõÌ~;      6\82O\12\ eî\1c.¶¨õûó\86ø \7f\1eÈ@k\84\ f¡gMËAâR¨YL\r#ÎSqé\9dfG\8b\9d#;é\rÉw\1a\9bnlºÍ0È7ö\94éO\19¹!ú\8c\90üéO>I?¤Ë|\aJkåûÔñ%^´O\12gheÂÃsYâHô-âMI!\ 5ú\9fmrÙ0¼Yì\88CÁíJ\rf Ù} »\eá6\8bÜ\16\r\98`\7f¤\8aäBÓF5\1d\83ó\8dÓÄnîÔ{÷!ûÈd%¥\89÷\91\8dÝâÉIä²rëŦJ-\14¦Î@4\91\1eé\ 6Ó&E¢Ú\rm\97¡IDÓi*5\1eÜ¥!d\95#\15!M²ü4\9b      î\81½cÔ;\7fG\ f¡Oi¡Ý\9cêÒ]^½PÜ;Ñl^´¢ü[EÜì*`\8e\88\9cCµÐ\9d\92\10\87ÀÝM\98þ\86³Í\8d ðpUcWìÃîÈ\vóbG¿\9a!%\15\19AOëU  ÷e)³5>>¢\9ftI/Óp~C_¹Q\ 2ð\1fÉ(\81\98\ 2}ZÓ¿\92        ¹
\f~ä2$û-?äXz\8e*·L[oÚ4^]Që\93Ü\84\ 2(\18äu\98\0(d\ 3  Ã\e\ 4ʽ¹\93q\1e£VÌ\ e²\ 5Ó=í\18}\ e\17·&]8c£{é\a\1dÄhè³\14¸LyóIYN\96«µe\89åEót
\ 1#\15ë§vÓ|\9f)k\ 2½}ÍÉ\1dÄ÷Ç`q¸
+fç\16\87ýn Äþ_\8f®IÛæ¢\8d\95\15u&J\10f\8c]R£E¯¯¼\1eî\10E\89Y²K_¬Vç\19\9a\94\8a¬/\88¯7ÃW\98 \ 4©\84d§à`X\16ã\0\8dE\83Tù]L\ 5Ø\ 6Ý_3\1cÕ¢\9d\1c\ 6¤E\8b\80E\1cH\18
+q\16\9b°6[\ 1N\8cô\ 1H4¬\ 5®ï»Ý)"\17|Zëg\95Í\ 3u\11{3\0ÚÄ{'¿6ù¥\b\1eµ'\ fï\94)bë\15å©\85\8cã¶±\14¶W\9bæ÷\eù©è¶]]MCµo\87\82\94°ý%«\12®ûúP\91Kà0É>ê6W©_ª)}LÆv-\84\v\13\1d\9dN\1cR«êÙ\87\8aE\95P}\18\9a\9e]Õ}!\9eÆØåmêaÝ\9f¹\98Órø\9a\18òÍëWú'Tki\88\1dõ'i-þU!=1Kj\1fDêÆa@Q\12ýÛÎ\99¾\89\9e\ 2_F»aW\17TR._[5"5:¤fÙ\97T´%õ4Ë\7f úÐ\8e 7ý\96\1fF\ÈAúû+¾-¦\8aûñh\88ø±\9e÷¹Ù²åwõ\1ekr=\1fHMÛ+êJ\ 5ݱ\1d\98è`¤\99
+V%÷±@E_\8eÃ\1cî\96\99^µoJ)JZCu¶$³aâ©Ëx¦\87ltO\92\9e\86m\9b°ìa«rðJø\aÜ¡è<Òi\ 6ðÅy«d@ìNð\82\ f\9eêÓ+\ 4O²uyºâp^\er5\a\97n\1cp0n:Jí]\9c\1fª, ßá\8f\96¾w\86Á#\ e­Îß\9a\13emù° ¬j¤i?^\1a¶ï\ 5x\9f\17\86\114ÑMvã\81\b'\1aã\ë/[æ}´kú(ö\r!@¼\8f\ e3uæ1±àü£h=²\84=é¯ÿûÊX±j,·þ\0Y3«\84í
+PèâÖcÃ{%[\87\0ײ\ 3t\91[\86S'¬h0p\88n\9d\98ìðGþ^¨§èd\8dKJO¬\9féDs|l\9fèK;ÛR\10\ 1Îlw\ 5\a§µ«{\91ýæ\18\8c©ï¼c-\ f\18[§Þ;[GO¼6¥\8eµV\ eÃõ\87-\9d\18tYÆ»6\81\1c¾Íé±né\80Öw,\88êÉ(Ý@7¹\ fèÍ\a\8bô/îH\18\89pô#\83ål\85\94\ 1UZvÕRª÷ÿʪ\98\83ïlÅÁX~ƬDÈù·¡Ç8=6oÊ       èàôc\98¸>\ fÇýÓÚ\87\8aÌ\82>\93\8e
+¸ç\80Þ9xÀ_¾\92\8a\ 6\8b÷ÑÂàW¼K²ò|+\16E|E \7fÁP¹\r=  
\82­I\98\88éi\ 2s
+±"\ f´%·yd\99¬ÓkÏ\1e\98É\9d¿ÓWyÅbñ©
+\87t¬tf¼\13
+GÊ\8dYrñ¢å\7f\9c\90~²<§$C~×zÔ=FÁüZnÚ¤:¶\§Ì"t¨ð{­;\82\8d\9fåi
+5&\89º¯;\rg1,ô\85\18NY\1aó\99¬dK0ö9\89ôb'\88:45È,0¹µ#x8\9f`½þÁ&Ü\8csì-\83\ 2V$Sê°¨¥\1eB¥¨\1d\9a,«©\85N{\8e\ 4Á\85\8e¬eÂ\8b\15\1a\18UCÓ\97Ï\8fSÈÅ\95-\1aý^òüSE\ 1\871eZ\9cn\89ÕzºSAÎ\8e^ÇÑ\rm\Î=¢¸zÛ\18òºþÛëV^Û¡*b\1d\f+aW3
\9e\7f\9c:Ï=!E²óÙÑy»C'yýíåú¼zª¸×\96\88X\ flx'Ë\nR±º+T8#ëºPzfãuË¡äGF¼Á\1d\11º5Ü÷@\82íß&\1c¶µO!>¿7\e­\en¿Z6¹`ndü1§cÂhVþE}h&\12\8f\15·)oª­\ 3ëh\973\88¦¦,
+°ÜÜÚ³,¨ëVf\95\1f\91M­Y´*DvJ\rÄÊçJÇCdïÖÄ\8f/¥²X¡4ÒIò復'Ë.\96\9b\83\16.éúb\87Ð"
+\97]\r6ÞÒ\86Í[w½;ÀyÒÙ       Ó       L\e\16\93üì@Õ5àÙ\9bÔ×\ f­.§û\18Z¡Ïê\8e?ÚÂÕ/Î×V¾\7fuNÿÅ\ fµ\94éª\Ø\14`\93\95\rì
+-<Q?ã\13*¨ÿi®­\8eÃ%\80Xsp^æ\90á/ØaÔ\98H³_ð´9\1afH2^ie\89·LÍ\89\93/]\88:§nË\84:ïîä?[.à¬%çR%´\80æH£³\9f\ e#ØèW\10\82³b5Y«\94ï`Fì\16\82Z2$D1й\18\94r\14ák\15\ fι¬?a&ä;ÖO®ºÝ¶L485\8d\97Õ\1f\ 1!\9a\16\17D\98s\ 6î\8d:\a¾ÒâjÇÄÎÓý\8cMZÎ,*Ü\81Ì\97]\9fíbjØ+B©\90á~ÏÝ¡)\8df<;:}qÏüaì\91°zÿ+fYÜîÞèñ \1f×+MÄ\89VÇ»å¡Õ@úöZåÈQ\93·ma|¿5¿ÉÊ´¶âìUêVñ%\8a²ò\1dس+\80iêJ©H]ý'\87yöïxªÒ\14Û \89\9e\ 6¦ÿefÔªÞ£R£+H\91_I\84+6¬,ú\95Ô\85\8aÌzoN\ fò7©zPÑy\7f,\e³Sè\ fäð\99ä*\8dht[½\95 \ 3ê9g#\1e5\88Ï\87¨\95M\8d^Nc[T\17ë!É\vëñ¯Ö'ü&öú\95oíÐ\80~\83gZÑ5\147aé}\94NRjþL4\ 6§Øü¯!E==/yK\15\16\8bý\95\bt\16Ïâ4ÿg¼¥¢)pIÆë\96ÜF¶\ 4Ô®Åãt)TÁéÿ0¥\91¬\1d\a\83ã\17®\8c0\95éìæ\r\8dOe\8e\83\8dÛ\1d\7f¸57vrë\9a\80ï¿\98\16ÝësáéòsKÛ\9c\v\ 6=\v  '÷\18½,J`\9cþiÞWFÐÓ¢\ 1\98ÿ\81N*çâ_æ)ö\17cg\97?ßRß\80jx\9f*G\r·±ï¨°ë9Çü   áöQ7\ 1n±êKÒ\aÔrßI\14àºe\91\ 3H\82¸CÔª8?ßO\ f°\8eqKsýý½\9aÚ\ 4û%¥"+¾Â9\15mÏø=U§\10c\99°ÔË"ßÕYÊ\e\8c\1aTù      \86!Õ$â[Þ\1e¹büáâõÈ\fñ¦{zZ\9f;÷!ó\97\ 3¨r\9d\81Ö\96×tîÔº"O~sÈ\1d\ 3\9f¹ßu\83È:«\e¡u\1dqÅ$\f¥.\1fA\83¢bAq\8bSþ:v­áËj£       A\18ìa%5C\82;\rì³8Ý@$ü\0¯;ÿ\14£®bç\aî,*\8eXkRK\87ªXjÎÆéæñ\9bÿûZ\ fëÍÝ\86zhió°ÐÆtÍBlàî\8c\8dC\82QvÔ¸Ì\0\80\8d)\80Í\96AY\8eãf/ãp\0\7fSWnñå\87,ÕÜ9ÂR'Û\e\19Ã\87\86V3\8b^Ð6\89}rµ\8f+\18\8f\8eA\7f      _\ 3÷\9a\16å\91£\1e¼ÄZËQîÃV¼ÿ/2~\aý\88){EÿC² Á\15ÌhT×ö\9bÎ$_íÖLV\15ÚêX¶#­\aõaë\97\bd²úÍ\9fR\152ÒTÃȳaªt±ÔÜ\eCoÄÜ\1aõ±\ 3ù\15\7fÕ\vb£æ¯çyáÃ+tº+¾\r°è\89î\9bMÔR먠u\14â÷ºå,È\97\85/ÂRÍi~\12Ö6\97á\1eÛuÙ\0óárÐVÕN,ïa\f\ 2\88\btîÍ\81vj\1c°CÕAâ\96\18¶T\9fE¢h\966bTÅï
+['Kb>\997\93åÊΠ   òZÑÔ»ÂÖ8Q\88ÌÃ\82\9a&)Ñ\1cÚ\1dÇÅ\ 1@#>ÆÑn/\9b\bôMmüú¬3£ØÌ+f&=ß\a\9aoS{Áêo`0\e\91\ 1ÈôîlUß\19åÀº3zp41\8e\93ö2 e¢Î\89\98°ENÆz\ 2Æì_Í\ 6ò-ø|\11G°àßÍ,sºyî\83ñÑ2\1f¼[\1a\12Ê¿]Î1Is\8a1I:H¤~fôÀø\v±¢(?¤Eæ)ÿXU;³.þ¦ÿ\1f¬\93Uú$ö©DÝ!VÁàáJ½7ñ`¿Jì\11D`\85wëÄî"Ì«r»\ 1çaT\87¨<ô0®º_öÃv\8d¾\98¢6P*\7fã\11³\8fLmy\87\1e\83\0\ 1/\a\9a\9a%àóY\ 1/\a\9a´X§h\11àØ\89\1c\84#kf<NÊ\98?s1så\8c\8a¦I#\84\eühäíð+%G¥\ 4êmay\17X\8b,?wx\8b^¯×\10!Rò«ûÔFêvW\94\ e\88w{÷X\92\96ÿ¹Îs\99\868àf\0
+"ÈL%S9:/X\97&f\91\95ªÀhDi\95§\95*Êæf\ 3ZKÁ&S\9cµÝÝÛkw{TÞÚݵ+bZQ[DÃ\ 4\ 5\15\80iÒIPÁ\83ö<@\10P\ 4\fÏßÿ¹Ì\ 1[kn÷Þ÷wç½ó¿GÞú\9eú\1eùïå¿©ï¾ÖÉ#\92É'7+\ 5ê¿LÑV>$(ß\88\85\1aH`ÿྴõ)-\ 5·}íKÿº!®\81\eá4¿Ç^Üò1Ö\vì­trÊ&CÞ\140¢F\92Ñ\1e\15¢.­;ïh\94lÉE\ 2\80\11>¹7°®Ô\90\eÉ\8e\11\99?\99\ 4ñ\83ù\9bO\10?\9d\98á\19\0Ð^x\ 6\89Ç\80ih\ 3f\15ÒåuÃX+.AêÂZ¦Ö*\f\1f\10¿1Æ\1c4\11ð\ 3\að\ 3Ƹ6±Á*uD\1cþÊ¡]ªÍú\ 5\142\88h\aÚ\ 3\14\8f\92lb\901\ 54aç(\ 1ÖnüjÍ~ÉÉ\9bÂ\92â\1eÕ@÷w\82\1e§Ë\rÃ9     Vv_Z¹\87\8aÎꫲu\87\ fË[sm\13.ÖXb\ 6L(\12Ëêeÿû|\94\96\ 5ô6RT\v\8aªJë®ÌÈ=_ãùªÂ§»\emfÇgé\94,ïA¶ÈSVmÍ @Ìø{Y\83óo\83@¯¬.ÒéA¦ZQò¡\88koº\99ws\1dÉò­Rv-Íü¾C\91UÏ   §9
+5=<AøäÄ8\8cý{ò}}\1dI@ó>Ë\9f\90£\14åøÄaÒaâ\84\80\98\1feÕ;"DÛæß\93Þ(®{óÒÒÉ?2\96IñÔ²WèO\98.wS»+på\94ý\90\9dõ>\ 3\9cA3\9b\8fæ²\7ftÎéo5\91K\83Aî/×RÉ_2Rl\88\16JWõ\ f\98Á\9c\8f\8eÉÏ\86Í/\14ÉÇ\99pü¶\18Ã#%}D}ñÉåg:\98g,Y¡\1f\16Âý\19'ôG¿9<s;®üÂ\1dàw©\ e\b\97ÔG¾96\13\9dLs\95èÉ_Ñ\1f~s=±Ó\94½\8cÛäØ9þ\1dóÏj\86I\83:aÆnÌ\99N}V$â0}5Äé²£ (Þ¼ùåÇé4Ê×Ïô#x3º\rûE4\1flS\97*;Q0H@m*\90Ýûó^\1f¤Ì÷u&L©®/Á\9b|\ 2c$¨iXû\ 3\1c4\1c\97M·ú\12·o+È-ÄSVhøðìÑïá¤Å\8e)\1f¯E,Þ$(¾Ë\82r'\18äðèq\8bCí½LÑüi%ôdÈ Ò\9a\15¾4çB).\87«U·t\95þ÷q¾\8a\81\98Ì\84æ\1d¾8qñ\ 6\8fˬ\rvq§\¦nãÃÇ£áDNREy\17\89¬\ f«¸/$ù|\eó`\18\16÷p\f1Lù\8a\1a\17]ÚC·Æ\1fÝ\82\98æ \95 b\85\13\ e\7fv\14½\a*è·    <Ï\1aU¢ÙضÐ"ì_#ÐüE¥\15½~\ f¢\1f\94Û-\97tÛ*|\9czK\ 2À\e¯\1c\ 6î«Ù%N..
+\17®îAàòÑ+ïí\f$K&6æ6Ê\86\ 3eüðÍâð\9b,&\veQÝ¥ôd¦0«S)5\a\8f\99¥\95ÒË3\91\88s\ 4Îrj\10§0c\ 1Vy|®\9eY·=I`\0êá@
+á¿m\9b
+¿T:\9e£áDØ©ZcJ¡>Ø*ûK\8fßn\16!\ 4\9faøxq\ 3\aç\93Em|(l\ f\7f\bG\ f+\93­Q~\ 5åÂÁj\8a\ 2üç\9f
+\vRþpUF´2¢Î¿þô÷\16\aé\1c\86\r*uÒy2ÎË\v;\80À³·N\ fx2Ð\9f!'Cû¼\80õÜÈã\1c\85\87f౿\1d\96º ×\14\ fÁ\94fØ|\b{3\95Ð^Ó\83g)×\ 6\85
+\9aáÌ8¡8b§|Û\ e0\ 6d-Ëõf\1c\0;i@NHÏâ?\11!TXÛ}\81D2\8eî\1ab\9c\18Ò.Y\CHKý+m$ü*÷ë\83\ eL\1a÷×\0\a'\FA£<n¨Ù\vvÉ¡\8efC\15\8f\b*1ïÀ©­§º¨\f\94\94?\92"½2"\82\99\7f\80¡\vò²F\9d
+úéÊèÆ ±Á¡y\99s\f\8eÅø²\85'\1c\85æ\94qøJ\94\9c\°(\ 6Ôæ\81KËò\ 3åÂðS\13ù%\88\ 1\0\1a\0=ÉS\8cE@ÐC\ 4:\1cv\12Ï\ eËE\1d²ÑÈݸZó\96À´Ãðm\ 2\ 2\1cÞª\1d6*S¾\8fîÀ±±\10=¡nÚ\802 ól--ûhϽæ\8f\8fºÍ°\v|\95I²áQc\18cÊî\8d\16íóu\8aû:eÆú\8aUhÜb\85^ý´G\a¹,^u\93cE¦«SÙ\82IÙpJV/IA*¹éG4hÐ*ïÒ\92¨<]¼92\85;m\86g"á\92\83\945T}\91\86ø©¯\94òWé\ 3Gº/\83\12(mè¨X²àù\8c8\14T\81B\87)Çäg;ãÂ~ \ eâ\b\90¬&ÈQ    Í¿M\83vR»îÄ0x     \0\83êdÛçgL·K,\10­ÓË&À\\vÍ0gH½\ 5ðk\1cHx¶Ø\80¾/\14õë\1d\9eô§¿!R\89r\11£\16\8bí
+4D×Ï,\83â¥ÜÆ}ð\17\aãp)6\92)\ 2\9e PSô \85±á·n\9b\80\85\vÃoæ'æ\8b9bß¹àûÙ\90­Î°\14=\8b|©=Fn;\8c\19\9aÊUtB¡\80IE¿¢åI\99ce+ª°=ð\9fíW\ 1r¸?\1a \14Êõ\aéI\ eøX\11ÛçÉ\9a*\eá\82$â¾AA\8aVÿËV\0×,×°f\97~dåv\"Ì)\93\95ÊE¨ç\1c\ 6d\13ì?\b\ 2»à¯¡æ\19¯íÓî¿\ eäxw;\18H$º\80\11$\b~\ fQ³&s³Q\ 3H³B\12W\90vÿ\9d,¨×1Úz\ fŦ¼\14\8f\144\9cA\ f¶èYÚRTÀV\86Í\86áAg\1a-íèzìb\9aõ×,@ÁEÕrÓnð Îú\12º\81\ 6\80m\ e»Y\%\17\1c-y\14X¿¹E\88\1a\8aæ\1f®£ñ°¡\16Uçt'Ð\84\1f'ðB\ f ¯¦wh^\993#!Îß\96I\84\18püejí}JïRÝ2\9aÊ\1eêº0÷O#\ 5ÆéKËmn\83­\81Òßô\95ÙÄ%goé]W.\17±nÖ|¦¢ô-À\8b)Ki\17ոϫ\11üPY%\98°Û³a}¼ñ¾e§<(¹Ù\14×\a\q.\16/Zñ¶4!3Bõk\80­k·d-_P\9es\95'\89gzAVÍ1ÎâXX«pðf\ 4\85\8aD¡ÄBï@JE\15ãhðéî\90\14#öøavýIÊSDwH(¦°m\ 3\vSÐä¤Uop\15ÝÇcë8ì\95¬b\97Ô\15Ý\9e\ 5\87Ï¿\7f²Ú¿\17ö¸U®I\8afÛ@E±Ç+F&nÀFã\ 4ÛTæ\10T\ 56\89O\15&/íÅÑ7aré\90Ä\9déM×&R\15ö¢õzg\87áÝ*\ 3e\11\ 3\149q÷/®[\19\1d²\ 4\8e±{\96·z(\15\94¿ÑvÙ\9fóbS\98\86|åÞ:Xne\13\11×~øa\85D       #Äó\19\ 4æT~¹ü«4cñprbª\16\89ºÔ]\93MøK>\86 è"\82¼\ e\\90¬-Ô\9c ~\94Xî+|x»Êñ8xI`ø\14K*\10ôÌ
+\96ÝO\ f=Úa\9e­o=\95|-\14!f\ 2\v\81n\18\8eë\95\14W\95Ô\e#\ 5Ýô ZuϦ°B®ð3íF¤\84\9d\ f\12y\bª|\96²á\14\8e^\8eb\11%e\9f\vÈ·V¤ O×úé1P\98\e|[\ 5;á«HöÑ;+ÏÔ\17ìê\f\99Ô\eü5\ f¹\9d
+\85îFe\824Ô>\ 6 V\ 2ùJlJÅ5\84\16ô¡{\81a\12¬\98\85JÜ]é­â\85ì\1aÞ\1d.Hûcy\8ffrðé\93\8f\9dØ­ö\81\1a.è¼\ 4\I­àŪ5ºå\11yâÃÌYsG\1aávdúªså%å\8f¡\8d\93\ fÈÑ.\8d\ 5ñyzy\83\92§MzN\82ÀÂ6\f¥\ 3\1e\f£\0\89\12\83û:\f`\8c\1cØq¨ÎV\82\84\8dr4¤\9e\90\1aZ«ãJ\ 5jâ¬Ùvþ   1`p¾³\ 5üËþa¶0Bä\9aÏ-\8dïX9fÍ\fÄ+\ 2\9cÇ\91â³ÈÒ\8br`ÒË\85²6\S@\8c\1c\1dt«aG\1a!¢÷T\94\9f¤&Ê\94\80'îÀË×s&nË\14\83ö\ 5\8bZe\86\\89ÌÐÓ\9dá\13\8cÅÙ\16\ 3ï\86>zqéÓ\v\13\f\8dN\rIxÑ\ 6\vý\r\97Mpøs"bl½âg\v0mÙ&[+à\ e\9d\8d\8aD\98DrÓeòtB\862\f¤(WI\8bemy\ 1\86Jèl\18\9e\950i*ða\99¥\82º,^ÛárË#\ fÝ\19./\8c aù\e\bQ°vÌ\ 3a\8b\81\rRZ|¼\16\1düL\80Ã\900\8c;ã2ì*á:7zR0á¯\9f°3á\98\83j\8b\1c÷ÂpPbç\8eàÍ\14\98\11G\99¢Ý\86<´ßá\8a\1fCæ,lßE»d-±\82\88\ 4áô!E2`\8d{\9e\f.ÝX\r\ 3L1\11`\ fõÒè\ f\84àáç\87
+àá­è;\ 2\1a]¬:     n\19v\1d|\e\ 60\8dt\aʾ¨\f]\9b\f\85êé\9cR¾'¯\84\9b)ACcæoJ\fV\8c¹01\9dIáE\b\15¬CX\96±MqMq\8d{\ 6±­{\16±Íqí{F½«^Ý®E®\81\vÈÙ\98Sòw4=\9f\9aÇyõ\82w$\ fÔ80\9e\1cá\96O\86)Kñ~\92\88ä{2åɵLèÝ\»dàÂ5Ve\8b\80ý\1a\99
+!XÚ\v\1fÐ\90­ø\19#FK\18HX±
+(H¾&Õ\12\a³«õ¿\9fX*+A¢¸\16\81#ªWy®Þ\98\85ì\e\8c\88NY$PKYÈøðá\92¯T\95]ÏN%\9a.!·§!{Ø8\82\18Ë\86¿\9b©#íW,ô­\ 3ErC\85½¤\aJó­\1d©NXÐ\86rsh±ÎÈ4¨cÑ\ f'\\9c¦èácßË\93a@wQ:\98)CåÇ\1fÏ\ 4qP¿1Ã$\1f\9cçÆà\9cU˸×!øøZ/rý¾ou\v©\ª\eÑ(_\9aý¾N|¡ôðÃé\8e#CfaÃ\12\15\bWÒÍâÃ9l\ 1,dì\8f\95\1aÏý_\ f\8c!K \9dy*S©\83Új)×Ó寳\v\18\bSöqÏ\85=f\13s\93±yzz\99p\ 4ù]ñLEu\7fÙQåèÜ\18ó§\87á¸\b1p»u·û@ìÝ`öU¯Ç +\aÊׯ9O\88öÕ\ fð!ÅUíа,K\ 6ÀÂÅü1\82Ñd\ 1\82\8bα\11ö"ò¬T\87\17î¶9¿~¦\17âÔÃq50õú\98\8e~¦%ö§\10v©øµ\9fcsE\18\9a.èuÚ\91\ 2\8bMÜû\1d´\96"\80Âçd¡²tS²P\81¤3rlÑ\1c\ ebï/ÀM:\8f´D\ 3»wß)DÏÃ*w1×âþ×èñ\85W~N´¢\1cFB0©|\ eù\97èò\85Ü¿'r}\90 \8av0J/\ 5\y|\8d\97ò\ fçt\90\84B\159%ªÚNj¶Ìus±:¿Íßêÿ?±«ÚØj¿OÍ«~6]\1dª\12Ë\ar\15¢ó9M     D\197@/k\80\93½\18c\81»\9a\18k\95¯\9exO~\bÐç;àÌ\87Ó%)æÎÃJØ;ti\84\7f\ 1\7f\8e\16\v\1c%\}ò7õV\0í&¡q
+\ 4B\9c5\v¨Q¤Síä,ê^·\82\ fÌãW²\1c1-ûIdÌþçªY3>\1aiáÇ
+uOÎÜ2\131\83Wè{\8c;?\88X\82\91\10þ\98\94\8d8SÿÉ\87Ã\81Ôäò9,\92=\0ÓÈc8Z'hóEñøÎŹæ\92±n¬±ìM\96ÿ\8e\18\9bîÔ=ml< ©@À°°ï¬IeHþ\80õXl\ 4y?5Þ\9cw'д\ e\87\98>\81 ±\9dÚ\8e9 èJ\88ÿÖ|Ý\85óøÂ\8f¡Ê\aG¿\11øòs\ 1ÔÏÅ^ô4Y` q;Ãfq\bºhc|5MvPÁo]\8dÄ©\1dÀ²rBÃØBð·\1d¢yñmé\11tI>jÇøI¡4<ñ3²\16=è­? ´ô\89ö"ói\ 5Ðþ\82ÇÙ\7f\84_êç\8b¼¤"²hãÝ\8fÖ\17\9eÖ\19ùõ\90[\8d`>û-`±õá\eFû2V\86àùï$ú   \Öo¸>z\82I¬ôûýÉ)*;]È8(Ðk\94\97\vöZ¶É%TM½\vu<\95\1cõ\ 2§\8f \ 2\95ä\9f<,SÀÛÞéál\9e\12Ëó4|p\1aÈÀ/\f«\82\r\88\18N\84Z¾Èh;"X!¨×\fD\86\834Ôâ$^¹a!gU^ä¾ôRT)­Uü\8aÌyåë<÷è^²lp½Ûçb\83úÆ+ü\e-\ 4þm\9a1ñ0bñy²í<\970a ­\9dÊ\95Ƥû\8f\94m¼[B\91äo7\eÐÒÈÁ]]\ 4Tp\92\9a\ 1\89\87í\fáÙiÔÑËÐòu\82\87®\17»v)\8b'dðØÀð×y\ 5û;£²|=æà_\1dØÆßÚ\r     p\9d\92Ä\ 6\e\13$°)?»Ãì\r\91     V¹îHìËdver\ 6F\85D¬,¸\f>è67\8dÆ-\1f©<H²4\bý¡dc~\7f=\9fÃé×Wõ7EØ\18\8dH\96\14OF)<o¤±\96B¦=\ 4AÌO\f.m\9b`´\¡ÂwÐ*=оb\9ce4(Ýn\96\vѺò[ö³\97\9b)\8eÄøùµ<`!\9b§}#\89âûc>Ty6ãá}\12´\1cÂD\19È\e\8d#u Þ\94/ís£oåh%\11¶G\95½8UW\92ú6þ\10¿{öÞ\ 2¾?UêÎ\1d1<¨µäHûãHþL\ 4\8f¸        \1cX¹×BÐ\13»µ\1fv\1cZ'þÈ»ë¯i¾\195ÞȲ×^Ò°ú\852/'V\97\10\14^\1dÓa»Jf¡Ã\a6wÓÖßërºéù!¾Þ"\f[\ eXßi`@S\88ù_\84ÓÆ)\\ 5\18\16ªÇ@Íÿ­ÂÖèÝ\8c\ f\191\18\13\r\8fæ\98\1cà\rÁÞ1øÏÐ6\8eM`»Â\9bv\aÐ\85Â\19º\82\1c\12¾m\94ÿ\805^*\fQ¼¶Å@¯Q-+m¤Ä\8dA'\81ì\11b×s£ ½BY)ºQÅ5bþG\9aãÎ\9f      ýn13ë\801YO\9c\11\8eá§Ø\ e\ 6LøgÐ\961~Ý0#\ 5,c ü¶ÆO°\15Í\88LñSÙ\86\18ú\18\96`\92´(òQ\84lp\98÷\ eÄ&\7f©.wL1¾kág{ô#y^\891F\8cùT\ 5Q\15\17÷ܶ\19ÆÚmw\9a\183÷¾ó|íwZåº\81\95\83r\98ë[\12í¡+ü¨ºß=Ãmn¬j\190lA5\14\9e\ 6î\9ed\99ä\8aÒ\97¦/N_\94_\96^ ³Ëó\vóKó\8bÔ\97ª/V^°¿<½izâõå´/Â/Ç/,^|¹rà\8b\8b/\16ZÂñ%Å\17\f\Aq Yñ"á@\84jÙ,\91²\12\v2\99H)\19\1c¶[,Ñ£H^÷½\88ï»ìNo7\17\9dÎçóùÿ\vÂð¡\9aµ\89\94\94\8añ|\\´´¼¼¿\8fãøú].\97M¦Óiôú\7f+Êò¼¿/ËÔj5\a\9e\7f\99æy\9eo\9bæùÞw\9d©ÔêuZ­>¯W«Ök5\9e\7f\9fçëuºÝv»]¯×ëß\95ªl\£s8\ e\rƹ;³r³»r·:æ\vêr»\951\86í¦pþç¢Ê£[\vØk";½TO/Xþ\86)·üZ#^ Z#\\fÜ\84~CÈ0p¤92ª¼oªHJô#\85C7 ïG
+\81FÏ+\8có¹ÚãÂ\9dM9Lm\ 6Û^{QArÃ@sÃ@rÏ\93\9c¼e1\94\17\83ò\85\99GÜ ñð²\1cõ(ð\19\95³1\94\e}{\88º\ f[^\14xæð´\1f¼8\ e\83q¯LÚ\ fã¯?D|ðá\8eòpõ®eI\89\ 6\99%L° ÂäYµ¹\1a Ì[Ù¸D¹³\94Ñ\ 1\ eªNÇÚY\94\1c5ë!\83ã\1e?\8chm\v^gÕãíù\94>^¿}\9e*ãÞJön\98¢èyÚíò\ 3å\8c$WAº\14¥¤êrî\1d\8f©*X½u¬v~!qÛ ³\16j°¢I \8b\ 2ÁL¹[9]k9Nq,\ 4Ƽ6;8ÒØ\16,¢ÐÐ\19ùê\b \88Ô.\0\ 3Çö\16|\90Ü\9fÈôB»Ò\8d\18¦êg\81@\fï7°Z\9aÁýEU\85ir\81s!¹ðV\8eÌ\9f;r>¶R¥\17_)cF\e2¥b¨´iO\9eN\10\8d()3µ#ï\ 5\1a\ 6ñ\8blQô\v\17¬Xâ\15\vÈ¡ñaÖ¬\fG\94¹\92åÃ`lw\83A«e\1a.\8a>zB\8br-²Ç\1aÉ9Aw\15¡G·\ 5\14ùì\9d\14ô¾\88j¿7è\ 5w!R\8dtð´Ë\1c\92Â:î\87Ñþ\1fGÿ\96Ãè\10Ú|Ðx1\95Þ\8dÚ7e¤ìYE\8d¥\1fÌEí¤¢Ú\85\84;àÐÁy:9oÏ%\17\1d²Ë-Î\9cç*)
+¶Øiò®i³#uVW4Á\96\93\97)3Ïu\14/Qà~Ø\8eA\8aïäAå£\95\82È\86O,V\ esÎRM\1a4w.\97\a\8fZ|X\9f\a\ 2é\84\161b÷î\r\9d\95\84v\86c:t<Ã\80²"5N\ 2̪\99Î8\8eK¢(Ó2ý\19\9d\12U\97V7]\13hÉQ\vË»\986pY\90 % íP¤LR8\10¶¯Å\8cå)AòR\8a½;%\b\9e(j$I\89RÝWÝ\aêÜ\17\99J\9d?ä.\19iðÇ\fb\91ø\1aì¹\86\93\ 5ÌKLz\93\1f\9a\98#\vcêtÊBöq\8eÖÐ\7fH7\82Bõk\1d«ÁDZ²c¼wU]CLäÛfoã\8fIÐQ¶ûiD\9d\v\92Y*65B\e
\16à¹{§\8dO\ 2\8d\87\12¡$m(¾\ 3^û! \ e"Ûs^þ²\85±-*Á|E\91\93¥F\f\82vJ\1a\96K\12Rs'Ð\85а\7f\aÓ
+8>fµÃ\ 1ô!IÐ\85\9d_^zA\98\82D]zyÚi(bÊO4­\1cÚ\16·\ 2\8eZK0\14\92vL\17>¹8ÕP6¼®²\ 4¥P4õØ\ e$c±v\1ct\1f-q\9bQæ3
+JË\ f\ 2N2gò`¥Y\ e*%ÄË\9b\83â\16Ö¸[®XÚ\ 2Р\1e²(2\ eî%r²\86®]ì\9c0\ 4ÿj7ã\98ÎL÷¸Ôh÷ôæÚ-\8cJë4\7fÄ\15t[Aü.Sáå\9cbx± )\8d´Íf\82\ 6\92fP\85~'\9eYá2\89@¨è\vÈã¥P,mfü¢î\9e\12ÛY
+ÚÑ\82ÍV\1e0.0aÉÝ\14éé®\16äêîº7Uâ^V\92]Ø¿§\14&\µ\94\ 3y-ñ\90|ss]&fü®\9e\r\0\ f\97Ñ\fÿ\96ì]Ï\15óª\97µ5ò\16a¹ût$yIï¬\1d\f\8f\1cÔ_?Øz\9a\ eT®ãÞè\9dÊ\ 6P3Î\9d)C=¯\buÃF¥\16\8fäÇ=\10£0C\8b?ö#Å\9c¯b\15¡\1cÛ\ 10-\8eÐ\9b\91\93\9b\83S)ܲà2ìî®8\vÊÀ©Ý3Ëâ\10Å1Úó
+\17­Z$¹g¥ÄÞ\f\12½ñ~\9aÕ}Úq\7fZ\95\ eØô\96\12±Ô,ç\eÀÏ\89ç0\95\9bJÞ`z´\16ø\18U\96Ê~f\90\95\96:"v\8eR²<\96\0\95\9b­É:«àuWx\ 4¬¤úÜÍ ­¸¤êgÿ\¨{¹v|Í"´N/ßYÕ¬¡0þõ\94-W0[
+εe\vùqzÕ\94)\1eb¾»çjP¯Q§&|a\83­C\9c\85\17
+òäkÜÄ!ö°¢ûN    ©1Ýâþ\10MKÉÑF;\90~\8e7:r¾\18l}oÀ¹Î\19\17bü¼fÐÉÁ\8aaöô¶hã\ 5\ 6\81ú3;\8d©ÑÈ/»RKÙ\12\1d.WÀÈ\9e\10¡x\ f\99\86\92\8a©eô\91ù©?´\aæ\17±Ë
+#ò5ã{Ö\1c±£Zãß\968©%¦\19\86ë_ã\95~\90\8f\a³R\97\80\8f~Xh\14
+áð\18>¬,¨§¸\9aFËÆÓ×Ò\ 6[ó.óHï\80Ц\9d\93\88^\ 4\81M1Î\17ð2\ 54ì\\eÀÅ\15\94îLRïÜ÷+ë\³\17\81P\1e»{d¨×¿s\88=ªTâ\90ú\82=L¸ÁÕ»\11c+\13X"ë\12© ñ
+Mu\a\88Xã¯ñ\rÑT\ 54K&|ÝàCñ3Û\ 5¹G\93«?\80¥¹\8dp0²\17ð÷\Ã\85\17\1d^\98\15\86r ©ØM)Á`*®ræç\85\1aáfø¬jz è\16ç˺u]\çH.\9dC}\14\8bÖð\8bøn$Ñz\8c&ÐçÜ4ó\88ãv\87#zú¢Fñ»)\eöì$~·\191òòÜd_\ 4é\99\88ôxG\19#NÞ\15\vó&NF¡8\94j\11µ©³N\r\að\8d\8c}QÛ=14j  aj}³ëíQ¯}Ej\12@\91¦c¼¬ª°\9dö\1a\9d"·Ns\98ÝÆxë\9b\13(ÐúJK\eá\9dT\99µ\93ð\84KYZ£`4£¿S\9b üÚÔ\86\90Hm4q\12\84Mdj\8e\18ñ³Cä\ e\90â>\1a¸\13[bÝÈs£ \92»ÿ¦\9cë¨ÿ\ 4,`\ 4«\a\ 2ëH)\8c;Hy\8c25Â\91¨leR`±Ï°\80²ÕY%û\1a\9c÷^\1a\bl\15&ÉÙ"§t\86\ 4B\1c\94\90\9f¸a3\8f\ e\b)\8dSÞA\80u6;°©*g\86²í\ e6íÕ\91©rRtõé¨Ç\8e\f¿§\88\93¦ù§?Tå!Îúê\86Ó\88Û³QG\8dQWY2µëS\1eí\14L\7f¨&\16¹³\ 4Â\Kô­\82Â2É4ÉP\15>àÏ\96\83oD\95/mSÛt\91\92\eêTlCJäûjá¼\15,\879¨»N nU\8a5\88ð\81\8c\98è\1dW07Uµ6í\17clwIcFíÖ\rj«ª¬\10Ø\96µÁ×U\97U¬w\9cCm\81ÈÌm\8a\ 3\8bS\ 3®\1câ\10Y¾C\8bÙÎy\9b\8dAÑ×V\81º±ÒÒùxLñÎbR¬EÕÍ\8a\1eúU\13ñ¨\9emÄò}\9aû\97\10Òr©S\ f©w¤Ñ\epmëî;\9bBw¤ô!¢\1aCèq\1cô\87\0Æg\90¢Ù\f\11\v\7fXhÖ{A·kâHH\e\1a©¯©x\95¸4É\ ew\a2]Õ\96\ 3O\ 6\9b!Îß\8f¦ñ.K^\ 3R»nR\1cÒ\91óÍ\eS\82þ¥F¸Ö£ÄJèÛiiy9\v0g\ 3c}Å\15\88Ýø3\86\ 5Ç¿UUqïd.ò\16ÆôÍ¿Âèôò\17ê³jÀÓ©ÚJ'\86%ÑK\8e4\89,\8c\\83á£pyoÈÓë\88ÌAÑn¹stÖѪ3²ó\9f\83\0ËTØÔبÀ[\97ïX-ðüK\8f~K8m±·p\186\17[   \85ñúì-¹{\9b\ 3¼K\89ì᪰ì\ e\82¬G\94F#~\95\1aVé]\87\95\14Ò\1cíÂ\82.mÚC\1e,ÿº>Å\80øù)ö?ò\8eää*\9fR¾£\18<õÁÕ*t­è\16\17¿ã\9bk@c\10¤'$éª\80Î
+ ~'²\91ç\81æÜ\90\eÁÆRt0uP\13²\8a\ 2r\88ÂUV6õ\97\1eòU\ 1ãrXU¨Àþ@\95s\10Ýã û#_Üm\a\ 1´ á-
+¹NÞ\8b\ f\r'CJÓ\83\9aç\9cÜ\10\19´\9fÝBK\92      w\89Täè\92èÜnM½K\8f\9e\ 6u\ 1Wÿ«\9bõ\°cÕ9L·ñpóXï)Z\8d=\82ß9.«\8c\18¶ýÎ\06ô \ e\91¿Çõ[ûªó 8\10Åq\19#Q®¸\9e#\19u`hû\9fîÝýü\ 6ï. ¯¨ÙH\9e\eh\9e\11G\11Å\12\18\80\81¶ï\84Ú\19\vè)\884/¡Üd[\1a÷gN÷\84W»÷@ä\b¡¡[±BøÙ\98ÐÓz\15\89¯{\18XªK\8fIcµ\a\ 6ÜTe\8b\19õ|N÷\12g\ 3\9b¤7'3pÔé\ epÆ´\8a\ 2×\ 6UY\10\96¥t\ 2+¾8§\11\vFönÐÈÑI\177Ký#4\ f,Ócð£]7h\oÃ7KñÆ5yÑK¤\19¨WÕ§ÛÑpj\91\f|\15\92-Ì[=ºÜ×">\9314Q4A\1dxuâ\8bpaÈNR.\81W¡¦ª®JØ*ôx5\80u_NØ}Â\ 6Õ¶à,\97ðë\9bm@±p\0jC\8c\18\1f\17¾\8f\e\b¹úZ÷ù\v\87\9d \ 4\94ºR\14J®øÖ\ 5\8e\1f\eÐE\e\7f\8b\85æ\8c\b\92·}Då?\95a£X\1dÀ¬N~\11\14à.\ 1`\88\80\86b\aÄðÙÊ5À¦î×\ 5\99\1cо\9dOÒú¡ÏLkå»Äÿô¼\rÚÁxÝ.\90­ø½JJªï@»Ê\9eEPbH\v\87is|d©Rµ\e¹\\7f$¯ÃE]\97%m\9er\9f\90ï!{ò\eȵJ\99\7f\ fÈw&\8a\86\8f^{¾    ÕBº°J¦ªÁ/q©Á\1d-\91´c\8e%ØÝBí'Z%\ 1\ 3zí´h\ 2\ 6,\ 1\ 2\1c`\81¤á\ 6¥\17-BÁ\ 4*;ǹRÞ¦Z8\86G ó$\87S%¿\0QÞPmèÀ\13a@\13[\80\10\10\12\ 1g>\8bÑ~/¦®yçQE\87Æw\84\14_ Ö\ezG£\87¯üªq\98J\9aávï÷9Ç\83\ fXçâØÕ\8f\8añÚU?à(\82i@Ây\1a2V¸\17Ñz\v£¶\,¬ÑI\9c\15®É\ epÞ¤Ûa¡\1cæ7G/­Øbþ-ÌÝ3øÄi73v¿$`Ý\82Ön×¼.rÑsÊç\7f\14~IdÝ1Q±ù,|ݬøw,àw\1d»\r\87\1a5'»Ã\85Ú\977Lú0XâæíwQ\81\19TÝ®`\10\9e\13\97\8eÆ\16Op\83\ 2í- Ã\0\90J\ 3Äs\94\ 4\88\ 1\7fv\8f"\0WçÒ¥
+×>\15n\91\17\92\14JA¿sôÚ\86\99²\18\9ft8hÇ\rM¬®\85*¯zqùN\16\9b\r3\r½\14ß\1ar\88á~\9e3Ë$¸\9eN\939á9­ 4 Odè­s6®Â¹_\84\9c\8fEg¼më˵Q}\ 4êÒz¬8>ïøeã\ f\82W\11zÕÄOï\@ܼéÍÓH\97\9er)\7f'!n\ 6ô³sö\f42|?\86¦±¹\8bþ\87\3\03\83f!\ 6ðÆO;\8fü\81\8e\ 6\1d\94TÞ`,³ Õ^°\944o\e4MBÕî\85\10é¶M\1cÁç!eÍBÀ(XÿDnØ\9cÌ\97ÞÍÔ\16`¾s\85â\94\851\81\9b1m¿úÍÜ\1eu ÁôhNup=\84bû-°ùQ\92ÄG.©®BÊ  }Þî\14^\99Û¶B\8b([º&Ã\17\ 198Pe#\8d\1aRÂ7äYV\9a{Fº\15¬îV¼×\16ç\12\16\87D}'¤q ©Ã\ 4\8bѽµ6ä(\87S0©]\8e\ 5.ÿ\91@\123Íuìn]½ýn\90¾9·d1&q\8dBùs|\88\1e`,´i*éîjqÎêë\86Þ £ñØõô\9b\97c\ 6Äú\8a\ 6Û\861$oý6¿Z5\ e\935}\9b\9eå\11\ 4V\8f\r¬ÿ5é¼gß^\9bvn7Á9÷\19ÍÚ|\1fï^¢åLÄ\f\17p\19bWh¬
+ù[ݵ\103\1cH3\18`f8ÁK\15\8d\91Õô6Ç©\13h2\ eP2\ f\9d.\8b«CW¿sÛ¨Ç-\95¯Ë\91Xÿjü¾ÛÃ\8bvnWÁ\r\vë»O\88\15\92Ê)þÒåçÀ7çYY\186\bêæ¤\92^[.ª{ò¾\8e\82MoË}S]\1cµÓÓ\r¼F\9e®\91Û\88f\8bÜg\1a.pŤ\13\9eÐ_1Ow%HU½Ù\94û\89è\1a÷Û)?A\18M9Ò\16i^\ e\0\98\1aÒ\ ec\89(\1eé)\8bÒ\ 5\84»ê<°á¨rÖB­õ.[+é\9d1$û\8f(¾­ÂäG\ 2d\8bÆÐ\9a\ 6;Ìn\9cê«
+]«S\8aÑ\8býnÈ\97Fø_¢\85±\92\ fÑ\1a\11\11¦r|:\ 2Ö\8bÖ¸QWÜiÎ_Dç°\9dÄ)\v:\93CQVh:³AQ»\13»tîÂ\94®«/ï»ó\ 4÷\84\15\9dÒZ´qûQ\85j\ 1-b\1e`ÑVüëé\ 6òãS¶ÒX±«ûi,HÄ\8aFt¼¬é\9däé²Ó°^\94êïË;\86ôçY{s°ßÂv\1dÔìOFw\12úv*\15\1cTR1xäq}ò/Ú\1aÜ6f\8d\80²Ô\8d \9caÅEý\-¡çí\85\13Âv\ 1þ8ûïÝï\99\15!Z\95¼z-\ 5Ð\7f$ùÛÎ\98qs_\85ª)3ØPF®\ fÆ\95\84\asW-Ô\0\98´-\v+¥÷ÂÍ\96
+#2ÂÍzQDê
+4±\88 Ô;\91öb\ 3\8dÚ6/bK\14\17\15+t¯#þ$z\b×\ e9*q\7f"\85´ãx\8elÅqPí'cUlCN0Ø¡e²_Î\ 1â@}\ 4âPç1¹¦AÈfÄj.q\9b¸\81¼OÐS±o
\1eÇmçÃí¼8giu\12è\8bØâ\ 6\88±Ï"ësá¹·w¿¥
+\96h}t\ 3+£â\1dîâ\ 5µ)\1f¡
+ö#Z="·e\82¨³vU\13Ó\11¼\9dÒb\1d\8b̨\1a\8b\16$¬ø¬ø¾\e\9b\87º:\83ãö\99ø\88E-/NÿA(ÕÐ\97Gw\8cî£å\91\94jÇyÂ'\1c¹8Ý\13\8fÇGFk½\1c?!O\93h¡êÖ\14\84åYRȼG\88\8f<5Uf×\86íª.ÅWÃFúYØh\8b\15ØT;ó<_Ç=7\7fÎ\10\9ahÒ)ý\94SBsÚ\10°¿?üÂ\13K\98/^»alTTD^!³ÈLc/\16FÒGÅdWá\84&¥â¥Æ¬aa  Â\13ec1ÀU\14U\vD@¦\10\9a"\1fb\1fp0\84Ô¿þ0\84Öiþj8\84\8cÎP\91\99\8a\1fÌF\82\17h¾(­Z¥T\b\81\84&\99MTÍb/\82¡\9bðÖeu<R¤|\19\1d\87\1f\8bè\95\92T§¥\1fûÂ\13DF_u\7f1ELT\93Þ3A\84&lf\95%\ 1&Ä        @\ 1\8c×R¾\ f\80I¨8\18Bið\12\7f¤|óT IýÉ¢\9f\84\88\0ëª]Ã\9c\91X_û(ÐÂ\10ê\17sÕBïüýøBkgíÿ\1fm\ 2\92ר\18BiRLèªIá+ï¿\bM\r\1fEÇ¥Ø\94©%½\95$±+Oûá ­\9d-§[\bM@%\ 3¬\f!4\1cü\9edÒÕ\17û\15 7\b>þÆ^\\8a¼\ 2I\93À$ðÊ\98BgfBJõ\ 6\ f\9aP\92­í?û\84\vpAÕÂ\13SJ\12S\90\1dÿ\ 3\bMMR¾¢\1f>W%°S\b5\13\b%l a   ¥       )LBæ\8aã\ 3 !ÀÂ\13R8\ 4\94yâ¾P\93\9aÿb¤\94]\9aT\92~ð0\84ÔÒ¸Bk\991¥W\bMM-\9a)\90\ 27[\bM@$øÈ\12q3þ0\84Ô!     8-      ÕÂ\13Q_\8e\10\9a\aç\ 2JäqUWá\19(Ùæ¶r$pþ,\a\17d§ØÛÙ>Á\8fÑ\r/5³Q\1f\8f×*\9f=W\ f\1a\8eOºæJ}\91\ e\18JjEO¸FO´»\r(\f\84Ô6ƧbVÆ\9e\9dõ=?\1c UÈýê¹8*ä\ e}\9a\8c\9e¹\92\9f|U[º¤\9cU*\94¥>⦹5<\99¨¥0\92U¿ØR¤\9c`*ï\8bwIÅæqVÂbâ\86\ 5õ\9aèEZ¼"¬~\11U\9e\11U|ÿÚ£×\9fûH\17\ 5H°i\94\ 1G\91T\93\Y!ÀЩ%oÕ.¢AWÌ\0ÂÛTõ/¤½\h}ô<z\16\ 5E\10ºÕqX$\9ccT\93ap        #7\0óÈU³5¶\81ÿõI*Mw\84I.h\ 4\92Ø\80I>\88\ 4\94\ 6ë\92Kh:ð    'ä¡$Ý \12NSªI;+¼"J§uI)Ðÿ\b\92§P?gò0I)ä¡$ì0I'E\0\92\83\10    )I\0\92[Р &P¡$í \12Tr\ 1$¯ \12\ 4\92d\8a\12N\13ªI7nð\8b¼\ 2JRF`0þó\b\92c]RI\9c\12Y+«\87\12\ 3\8eÙ_æ*ÿ`áÄ\a\1cZ\7f²`­\81 3\aöf_iÕ%\0\89\9b\1e\86¯Wà\ e\ eñ\89¾\9c\1cçcSOO®TaîÐ\1f=dTS"¤YMry3C\89P\90\83\92\14z]_ihSLtTÒ\98QèÿÝû\80{\96Í{vóTD\13{°6?lÒ¤\9cY|Oò¤\9d÷Ø\94Hg\86\v\ 4\86Ø\7fp\98¼^\b\ 4\ 1vrà\12`ncìT\93\94²?yv\89üÅ\83\ 6\1d\r[A\832\98]®Û%\0»VÍ\aýÿ\9c1DI\ 1
+r¿­~I\ 1ÊþÎâÚ>Â\8cØ\91¤Àå\18nK¿\7f.©'\83IÚ´ñYHõc^ÁÅq
+H2UàU\90p¯mY\aÄ{\9cl$\\84\f+\80\bu$$Å(IBuë×®]°»SSqb¢!¢ñ\r­ôð\98ÒcC¿Õ5«¥ÕÍ~¥J°\15DI\fJ\95\ f\ 4Ť\90ЩRªÆÉù,¹0\1a\1a¤\99øT¼\89¸\ 4\9f\1eP\94B}rP:¨IP%I*+\80¢¾ÀåÀ*ÄA8y8.fI\13Ð"rdI\14\982!U\91T®    \8aVE\87àIXN¹%_>ïÌÓ\ 6\8a\8aQ¨c±ÝRdv\ 4\8d\15IJ\80\ 5U±äòuØÀ\vÀaÚ_ÕëêÙjêÕ+\8b8Aº\ 4©£\98Á/BÎ\ e\ 4-P\94HJ\97\95$\vÔ\18\ 5è×\81\ 4\8fïÀ\95/X\18f[\0²£/¿ìYP\83 a\9b\85\1dè$\91+\v\1e\ 1*S60       R\\b\95    K¢BT\9e4\80J;\92\98)$éBT\98\81*K/°  RRH½o \12mÜ       R8£TÀ%6\14Ö\aniBT\85à?®      *$°yTqåªÉj[ø\17¥¤¬\ 2Tq`\12£s\ 1èÆ\e\19¯kßø·\8a\97\91ÊÀ%\ 29$¾Í@%F       $¹Ñ@%\a:²f`vß\1eI4
+\12\7fí^UII²¢_\8e©y¦Ê¥ê\92\82§\0\93û­0\89Q    \0\HJ\87È\ 4¥¹T\95\ e\90\16\15d窢ú\8aÉÖ¥ë\12 Ã\ 5\93Íip\98Z²zp;p        P\82R\84¬E\80\97Øìeð\98ÏX\93ì¥u\89PBF¢¤ Õ9usR3J\92\95\ 4\9f\88i\80J\80\9c¨\17´Â/CÀ@N¬¢®±z\e\1a~$§ãêþÓq\ e O»\ 39l J1)YIª\92\9f\ 6\0<*ÐÔ\94³\ 1\12¬¦\b\1d¼ª\84§¢ØuIM~BSÌ\11S    NJ¹\9c\ 2SÅ´\80^\80<f\và¨JwÀ\95\vÕ%;¦\ 4?\9d\0\95!K×%9¿X\94ës]^ÜÔ\aÁ  U
+\12\9d!B§\88Ì`>Ù\1a\1e»\18ª]\92\84§3ÊEu\89N+1\84Jn\1d^\f\18J\12§k¬Jq:^©)ÂÈIèb\0\88\ e÷íZK]þó\9cÜ6Æ1\8c\0\8b*\8e(I\99´BúÍ:ae)»L\ 1"\ 1"2¼©\9a\9eã\99KßY±\f¡³3J³RÒÓv¥o`Ac%è\ 1\84FZR.ÓMÛ¢\v^6Ve U\r¼ÿó\9cæØ\0{OÞ÷ðw¿\8fïÁ÷ñÏïáÙKïim¶GÖ9\1a=ÂÕ%\1cz(¦üÑ&\8ao\91=\18\19\14³6\ 6\3ýdSr$\17åãÕW«Ñ\15\13â\ f¸\9dJÕïû*\b\9fA\7fݾ\15ÓZ¹Åï\9a\958ö¯ô\97½÷\rÂ\b ¥\7fÞ\9aú÷íCb¿Í\9e{þí½E\ 6ë$ô\97­R'z]¢÷ü~S\1eý©9\b\90\ 6OO&ûtChÖz¨î\1c\8e\82ÂÂâÂÃæú\13Ü:[§±¿j\8f\f¦Õê(\12ÞóÛþí××\89ê(\ 3\1e\8bÐ]],ËÝÂ\11Aq\12\89üI\13¾\80\1dZ<ö\92*\ 4Q-#¸H\87l\8b«Wa\12OPp'\8bh;Fû­`Õ÷IQíú{¼\1a¿âw¨¡ëEÃá\ 6\13°\ f\84@\1f\1e\87\1cú\eÆ@\8a"=5Ñ@¯\1cô?7¨¯\88¼EAjH¦ÅÏOGN}ûÄQM\86\1f¿s\91Zµê*R\93EJ=ê*\1e®\91NQ\v\94ºþ¼]Swüi.¿°_Î:7lÒkx\89ñûÄP\1aÞ"\81\89ó;±\18oQ@®ý\13ü7\88 \ 5ê¢\80¦ñ\14;/ÑC£ÕE\v\8dê{¯\1f"\87\14L=TPÉ¿E\ 2¿U\14    ÷\88 Ë¼E
+íâ'ço\11?Úý\14\ f÷\88¡í¼Dü\9dâ(\ 3ú¨ \a~\8a\ 6Þª(\19\85ïª\8a\19÷è¢1ê¢\88¥ú(     ú¨ K¼E\18ËôQ´õ\8bq\ 4²\9cë¼B]ãø*|\82)ßÂu4Sg\14T\84S©"\88©¯¢\1f\9a\14Qb8î¶r;\ 5\1d9Zö    p\15\82ÃEw\11oE4¬s\80­\89\ 6lQ\@W'±T;»\ 6µ\11\1e\1f\8b\1c\ 2Âp§\9f'\84\v\8d£~\9b_=/Ñõþ:T\92·
+Êr¯£V\9dÅ\ et¯ÓÞæ\9a\9dÞ\ 5¤ñ0¿@\1d\1dOñµé\92\82\97    |ø×Éç\8c(½o\82GH\Áu\93Ñ\e|\99ã´Ãj\84(\14\1c½\v,*0\19]'ØÃE±\8e\9c»ï®\94¸ÿñMH\ 3\0¦\99£ÔÆ\ 3\10\81¯F\b¾\18\181øÁÉ9ÁèÂ\ f\ 5x0\929÷Ã
+?\18U>ë2>èa\84Æ\19La¤\86\e\86\88Ø,ÖðaëÑ\87ï\86!L\÷Âá\1fx13ôV£\vþÆ)º\18±þÏ~1ëô¹\99\18ÊøcOú\18Úôc\8bÑ\8e¯\86<ÿÑ\8f\9f"à97NÞ\8c\87|22C#ãÞ\8c\90Q\92pQÏFJ(ÉqÏFL¾\195èÉïSç4\90Ê7H®É¼\19S¬2µØË\1fÀËOÞ\8bv2é`Aº\19\81ò-ë´Âº\19\8e­ðEè¢Þ\85=<£3¾\19  \ 6¿\19©èÍi·\ 4[Å?\19¹èÍï´ûÑ\9c®ÑnìýºcÊß\fñx3ÕðÏ\81Íên\86~(Ïï\86\80\15â+²\9f\r\ 6\90Í   \ 6^ôhg£C§\9f(Ïo\86\8aM»á\ f\92\1a5!£\9f\r\1e\96ïe\82¼\12¡1¤Ó\7f\7fâyDÔLP\ 4Ñn\18÷wú\15é¢Ü\18OF\9bvøiÇÈ®5ºã÷ÃP'\ fâcQ%\9f}»ß"ë¬WcS§Åõ÷»~ñ\16ÙÉ\rvøjäF¯|5\80¯\11\t\98Ös\95©¹ý\94uØÖ×Ã\>O¹3!\7fè×o\7f.Âþ©*e<ù\15ÁO\86Ã|6#ßÔ9v6;á;\11En;Üþ:é\16ÍÏÑk\ez6z}_z\8beÖB»\eNømTôü~
+øm\84FÙ|6Òh­Ó½E±Î\96÷?x7\ fTn7Ãr\16\1e7°ï$7;ñº\ 5½è}}àÝ\85\eµøÝÅý:O{þõÆW\83\ 4¡1½R\eØO\91jJ+±¾R\eëª7ÛÔYa\8aùùå\1c\ 1èà)wý!PÞ÷=èà©÷¿\85xÝèá)7\8eLp»·\ fÕ¦8rc:¾qz#\19½n\90Ï/³é\8e*\93\87ß"¿Õ\90®Ç\19E»ñÆëÅx8íx\9e\8e>ÿñ\9d"9\v?i1È\8a9\1f èä\8f\87%¼â÷­Þ\8eRÿ¥÷]Oz9j}?z8­èæ(ëï\873zæð\1cÕðæÉ\8en\98ç\ fÑn\98+±ÎÒ\1cñðç·£\9f¿ï}×SÞ\8e\86\96ÿz:*|~ù\16&b¼\1d%\1dßz:gTtä\87O«º|z(¾Ú\17Y\16ð3\96\vñÕ\92nøu\84\91qHüu«á×.Ñm\ fx:ýðì7ñÿ\91Ùo\ag»Et\8dò+¢ï\91_G|\8aü\9fü\1dÇü\8eëv\8aõ\9bäW¿õ\87\1dõú,TzÃÀß\ f\ 6ý\16*·È±éþ\a\89»E\7f\1fð<mðñ÷ÃÈß\ f'|<­Ú,\ 5ï\91c\ f|\8aòûäWÖÿ\ 3ÏÝ¢À?¬=\eôX\90ÿ\ 3ÓÝ¢Ço¬=[ôWêõ\87¯Áu{^÷gÿ\93\e!î[\9dÎÿÁîúÃÞ\88H}ö\16\ 1ûA.\87ÁL|'£á¾\8bý\11ñR\1f\191ñêß\ f\90\88ù/\87ÊJ\ e÷£æ">jbh">{Ñô/\87Òz>\9aCê=\1fW\84ø\ 4ûÑö\14¢\8bR\9d+Ðø®ÇÜ|\10\ 5â0¤Ýß\b¼\9b\90ï\aä¾\1f\9bù\1f\9eì~®¨ý\97\7f#÷ÿ)°\12|\9cJt\87õH\7fdG÷~\9f\96í\16Ç\ 5z?ÒCýÿ\91ÿ\17R\19\11Hk
+E\18ºC±´\8bä)!rÔ\90Òô\91\1e5#\r\1d$^²\93¯ßRv\1fU$e­$sºG\8dôg5µîÛ»©±£\1fu³rÞÜ\7fÐÇ56>¨ãLù\17\ f²\ 6m\87\833äV<1\8ehÔ6µ\1f\aÞ&Oh5&|\8bÇ\ 2`j*\f\1db:§ê"j\9f°\87ºGW´\115~H\87î\98]JÈDÔ¾±\ f\\1a®«~_;?eÓ\8d¢ÇiB\93\86´ÂÙ¹\83Áb¯3+L&eq\9b6½C\99\9bJ¡ß̳\8c\84\v¾\f{Æ-½oJ\92\89w¢u\fN\9cç%Ô        À\1a®\e\85Âu¾I³b6V'[Ä\9bm\bÙx\9d{ö>­\8bk\1d]\8eÐ?\9a¼U¤d\úÇ\8d\15F×EiDë\ 6ï\86VKLu\bï\86¹SbúÐ,[û|úJ)³µE\9aC(¤a¶\9as¨dW9\¨\15\826`QTÌ\95\ fs¶§9PÿØ\9f&\8fØÛSÀ\13\9b¶ÔêN\1e¯l8¡KïX\v\15öZ¨\1a¡*Ã\8f ,ã\998Mç\ f¡¶QÓ\98´ýÜÊ\87¢(Çk\94²ÕÕµµUWÁ7\89Æ\9dPÕÊþ%«kXú¶ý\18\ 5\v`\by§4æ¨\1c\817*\81÷;`"BØ\93\1e$\9b­b^hQ´Ë\87\82Û9Ö\19ÿ\7fÖ\ 2°\14Ù\93i3¡Èú'Bo"²Ç\14ö@ãî\87÷kgS\9b\e*&ÌJll¨°\10-»¾Ü&\94;\ fsNsº¶ë»ó¬xñü\8b~<\0\8c÷|\ 2Ì(­£I\9eá\17Öçh¢\8e#ô£\81æäùq\96rK,èà{ÿÒ]·-·       ßÎÖán\8céþQ\86\a±MF±·'ôwVÛ\8fúm\ 3j\a\9d\8d?Ô°        \ 4¢Ï¾mgG\f[´¿vÔß}7:\9a\vw\19»\90ÝØnÚº^\86\18>$       ð\12^:\9d$\1c\e\1c\1c3\17\9eþæ\95Ëf4'\ 4î+     WÌ\ f`çi©;\888Ã(dp!í ùõc\80¡\91\89\ f2ú(¾\@Oñ1\ 2ü7z¥Ñ"ÙáÜçi¦é¦)§i½*j\1aor\9bgMòSn©¸TÛúfFé#\11öU0Ð\9bÎ-eª\86ý\ 6ÑZ\92=\14Ý¥\11Ñ\86,\ 3Þ\ 1æÓ®¦'\ 3      ÈLåíBgB}=\1e+þr\90NA¿\9fy\94\81þr\89é$ØkúºMÞR       Ë#4\9dÝ\18J\vÊÃS·V¦\88àÉÃQ\88\9bt¢V åãSîÍ\ 5\ fà\13\8b   \9a^\Ñ¡§\\97NO1n]\8e`Ob.Õ\93\9f\Ìîæ7r\9b½\86ì4\ 6J4\90¥öuÉ×l~ì\1c\84K\92ý´èÓµ\86¥þ\9f>M\1c¯æß¦:\85e{\85U1\95*Ì÷½ê¥fSµ`\12\ e\8eôr4jy¡Ûäu´>X¥1Mùã\87\80㨫2¦\985\1ak­Er:\898\8e\rµ\9d_"\0³\0Ï\85µG\8eK\³\12\16TfcÔ\8a\ 1¡®¿·¸(\ 2ÔJæ\ 6\91åµq\8d<kjí¢\1e-µv%¦hµ\13\ 1ÂlÄ\8e~ß%Q0Íù{Ç\8e¢\91¢©¡+ù׬«-DÆcÄ\12\87äcºÜ\7fÌÒÒ\8d`ñ%o\11G\ 6\83\15\81ç\10ãù­+ãø\rù3%רW
+\ 39\87áÊGò\ 2\9d!¦m«±\b\1dHñÕ\9b\9bS\99\98å·å¨Èø§Jü\ 6\ 5\9fJ~ð§.\89#¥ \fÛ|¼3yeÒm´Ø\16ÿ0ë+\9bØêäM\8dܲ\83Ñ´o7\13m#\835\ 3£[ade¥3\ 1çTè8EvFi/:©\9fp\15\14X_:«µ\94¼ó§(ÖS.Ù.\1f¡äL»ú\1dCK\15£O"\13y7\81G}ÍÌZ6&Þ1¡\93$ßcïk¦\83\87ܲT\85\93%hpÙ,C\82Ê\r\rÿ*yá:'\89\1cà\90Â,à!\80KÚ­AP\12ôÊ\9d\17èÝGÏE\97\89'upn]Ø4Çn\9e\ 3¸ó§q\11­¡#ù\96¥\91\14\ eo#\13ÏøÐ\L\91[j+¹ÿ\eC·P\98«\1a\18\96Ç\17ZRáàk\ e|éØ\8d£c£{\95S«B\9cÿ\ 2ù\92ÜèÖêè:O\159M
+W@Ræ\9bzS¨¯/È_¥\90F\ 1dîa\86$\97\ 4ò¦Ì<Ç\96e'Ø\95\1a¬\10É-Ý\8a\v\8c\84\ 1\\82O\8c%:ªpsk\88ATå\8eè{Å\82\87nH\81w\ 3ñ\9e\a
+ê+·    yï|­Spá\86üV-õ<\1f\92ÅÖá\8bmOCäÛÒ¨\fü*\19fPÈecøÌ¡ÐîÙ\1cÎ\19\92\9d\1f\ 5\9aÆK´}­)\8c\97èû*SQ\85Í\85)\88ÏÂ\18\16Ä~\81h\a-B\10Mn PRNÂ\9b\1fÆlço½®Q+Ë\92£P?\93Ù\90\97æ·s4\144Ím\¼ R½¹\19­«\19¶ÕÌ
+Ø~\9eÎ\95xþ[\16ÛøÅuvf¶#øÉµ\96Y\84!\86\9d\8d^²»o\8c«ÜmÉ\90$#q\8a6ñüÄý,\19\9aè¯\80'ü³£`»Õ!"\ 3\1aR\ 1\v½X\r\ 3\8d\17\14\93\9b\8d®Í¯-\1cSb\ 2°Â\89\96Z\19eú«\bÜ\87zp2`\ 4     12å\91\13Ìm¾U·q\ 6ZK½rT\10ÜìX<yð\13ÿLOþØ\9fú2\7fÏ\92\93\96©Õ¸p\12ÿqìa*²\86\81àq\8d\1eûf\12Ü¡Á]M\88Éór\92eô  CÐ$Îìæ-?T©¶ \99\1dE\98ų\90´ýÑ\93ø¾ 9õ-ÀûÂ\9b)+\99Í   \\80\99FüóØÁ\1cLÐNñ\1e13½çyAZu§!̦è×J%7F\16lòø\9d\1a\1ad\9a:;oÌ&|üVÎ`4ÛOÀ)\86#\ e9_d%\Å1¤ØÞ   ¥º\854k}!£ïEmXqY\9c\ 4û¶V\8a\ 6\8c
+ÑXý h¼­\16\ e[ßJi\10Á{\14\16\ 6\ féÙ\ eçØÃ¹\ 4\ 1­jêã@\80\98áîcU©^uVXâ:\87¡ïUiΤUÐÛU|\a\1fïUD\b\9f\b\aÆ\94>\16\98\7f¼¨´\9cº=×±½¯Q¹æËHÈã8ÀKqV;ÞØ(\9bøµ\15Á \85¨ïÝØsG¯ö\ 2L\92\93Þý
+$h׸\81\10÷nÛe-¹³\ eO\ 2!·28\8d\193\°\9b\ 2ª\82\7fÁ\r\aÝv}P)¼Ø\9d©\1f¬î[tÖ>­)Ï-\86È~\ f®\7fÂ\1f±\15§î}N\ 6p,k\e\1fV5{$´B\92Þ~Èñ/ôL"z%¯³7Q»©p\14\97&ðs®Â\9a\eÔ\81+¢<a\19É\ 33\84>Ä2ëÑËá\ 3.\fÔ\ 5\8e\13^ÑLýx\8e\12_`9ãr3®²ß\ 29n=ÍE\8dI5dw\18Ô»¨û*\b\8aØ\9cAorN_9PWm þ@g\10\8b\19ÄF*.ïöîj;:¢p\86÷\19T\1c]ïÜÔzÕ$ìÈ3§&\8cÖ-\1e\8fO\Ôzu F"\13/´¹¨Ô¦Ï]r|Ô¹:±Í?6\a\ 5k\97o+\8eRíçÐ\ 5Ë\b%\8d¾NYLµO¹ò\8e?_6_]²©ÛÊ
\98nÿ¡E\19ÔÇb¸ÿ¤kÏéFm2ÿ§\96<7±¹\8d¡\80´ü£[@R\1d\8cÞ',p>Äo§\ 1iû*\9b\83\1aßÃ\90\ 2\r\12RZ\82¾\0\9b\16\8cÀ Æ¹>¸\10q\91­\8e      \ e\82Dcó\80\83`ÅlJA°> Ô\7fr\90j>&Ä\9dù)\ 4X?\83×\ 2\rFng\ eZ)\8cÊ\1dÍ$\14[\9elÎç\9aN\eÜów#\1f¬ÚÎ3Ïæ\87±\12 |oY\1a\11µ\96\1e\ 3Ö\7féÀ¤E¥É\8eÇa¨®$\18\88¾ÎP}w¬~à¤j×ï2ä\8f\8c7t`K)ÿ\98>£õØ\1f70WÌî\bù\9dÁ\1f\vÈr[\f\81\8e\9fÕEðÔ]ØÚ$øj/<Ñöé>\1a\8bÏ8~ \87ãú©>&\8bÏR<êo\89¢óÕ\8f¯1'ÄÑyë\a\81Û9\93,\[z\94\9e×R\8bÚêAíu öº\90{]H=®¤\1e×0\13\18 z\89[|\9f3q\8cãT\91Ëë^\ 4²\8a\ fTåíÑz¬;É\87;\16\1f\ 3\r£
+f\14ÑuquÑtqmXqXm"öÑ|H¶½\80£11\91Ñ\98øÉ\bã\15Æ-\ 4.\12Î\1d8¾s)9!9\119àNwÓ\98)ó\82ñNñUø«üQBÈBÎB«\14p¨DÔZqk\ 5®\16Ä[!+_`*±W\v\88/¨\Q}âje        \9aÃ5ÆlLÙ\19§1¬-\f\17Y\v®\85ØÂéáZÅÐÅê¢õ\91zè½\8c\9c\aõEéâÅ\11\84Ã\90À.¸(TÏ7\14·:-eÆ\94\8c{N\0ª\94à
\1d\9fR\9c\ 1R\ eÓ}õ°ònÑ\91»ÁôØ\923M÷ØWh̺\ 1\97^\19t\9f|s±Éz\84}>ü¯§©M÷ÜË\91ån²É>ûëM÷ÈÈê\7fïr\93ï\91\9awkîQ\9efÁö[\9b\94Io0g´#4ß}®I÷ÁÅ{\a¯»¶\ebhi¾ïDõ÷vÃfõ÷vÃ>är½$ß}6WßJÉ\91à|½¸
+-ËÛ\97¾±ü\8bmöÑ\ 5tq\83çëZò\1a\8eË]Ë$o;ß\98\99¢iTaJ\85ãyp\129      uZ0W\ 1Xù·\ 4{Ý(\83ÕÿÖ¶®\ f\\97ö\a÷\97­?MÆ×:vâ\8cáüzÙ*e#ì¶\ 5\80$~ζJ@{\ 2d\85úH\ fVO¸\0÷\7fÂ\ 2
+3¿J>¼h\ 6È´ý%Ñþ\1f?^\12¯Y¦¨\83\11·Ú\ 3±ûp\95\85\86®L+Å\bô+Ä CÖx\82Ù(âË\87®\ 3\81¬û\7fÇ\87½dn\92&\7f\8eª\8c \7fó\98¼×ek:5ò8<+¨\ e\91AJKõnV\18æ°     VÍ\15`ø:§4\86\8f+é´ÇQà\87ËõZò'\9aÜIR\18\87b\94Ø_\17­      }"\ 5µ\862¬x\rk¥á;\97ÒkiðRT³Ã?_H*\10\97\1fÜ¢ONâ\1aõ\144íÇ΢zNÂ¥(\97RëÒ'Höúú5\eÕ\ 2\95¨ú\97\8f\ 1°\9a'Ü(àö       \92\8a©þö\9c\96S)\96Ëã#´µ¢r­ÏdæAÍ\e\93\1aìÅtÍvn»=]\92Ëx!zLÁx²EF¥l\80\15³ò\e \98Åü:ÙÊÜýj7ú§z[6\8bÀ\96Ê\ 2tDa\96Ã/\86\8e\86ÆÃ5\85:\eÃ\86ÑC|\10Ó\90È\94>\92CÔhX¶\89¤\87b®'»­\1e\7fBž\ 5\8d\14L\85k\16ù\93HÃ'[+@å\8b\16ê\8b3+'%&QDå+f\8bÌ1ÃÐyt\ eN\1eÌÁúþIôà÷æ3ù\1f×  `\8da«N\16\ f\94eám¶¸ùz\88qGò\11\9a7\17\8e­\8fä\16I/)#Iºõ\0åù,­nÑEBñPpT\ 6\96å\8eAL\85n\91S\1c\84VN·F¤&\v0®×§'ÊfO\96RÖÑS^\99\9a?\r¯N\ 1\ f\b\92{\e\11\ 6¦\a\9d\977Ê   ;¯¦iføÆ¡ZÉe·C*R³æ\ 3]26~I9\81r¦ýJC¥7JÇÚzó,Ö\ f\17´¨0IÌ#Ãö¼¥GÍ\84¨
+\1d2-o7©dv\8f®uÜ%R\f(ÜT=\1eA­Öº\8aNLà\7f\96ÜkRp\86CÊOk\a@\88ú\fÊ3oê\91T\1f\bA\12\8eçXX\91¿`ç¬Ùe\95Ãå¢\87ØyHèá&y#¥\9fñK\ 6\9dÝk@\1f®|\7f#\ eYs¬6Ý÷ÀM\99²Ú\9fÀö?\10PF\1cxN\9d¬@(]O@ù÷`UÞ´À¢}×þ¸MîxVö\96# .\95\ÈJ\b¾©ón«Â_~?ª\96p\84Ý_£ßRo·ûì5\7fï_Ôßòl2Ö\ 2\13.\ 6\b\15ÛÜGW\9büX¸Îè²Ùÿî\87ÿR \7f{\9fòóìü\8cë\ 4¯ûÛÛ_d#Èñùhx(yøyÈ|4;x}\ 4?k\ f¯\87B\1f%\ fíÃ\96z\1e,ÅÎ<\7f¦|ßÀr\11\b~b\96}pøp\ 3\9a\83\1f\8e´rÐ#ó\95\ fÞQAÁ^\9fl3j\9cÕY×\ e\96\ 5\ 5\15Go\97*O.\16\ 2þ\1f!äk|Ò\90<«°çÊ\8fØQI
+>Ýc\8eÌÁü«\ f\9ag\ 5\18¸*]¿\8aúc·  ¶\829@\165E1f \ 2ìcK\89÷Ä4\r$6ª±ç)ÌÉ\ 5\8e:\ 4-\ e$\8d\89&G"pÍ8$¸\96ÿqO\99Ï\85ãÅBB>MÅ\ 1£\94Y152\15\92x\ 4\91LÿPJ4yà\93ÒÂÄ]³á\95\80Ò\7f\1d\9d£¯\0úÁÃ\81ú±\87-lÑÁ\9f\ 4æjfNZ¦ç|\11,1ô@\9e©î<3\99Â1î<E,àfæ\1d`è+ÕÚrHÃ\1e=\8a´\16Æä2«ô\9d¤nC5\r¤ìS\93®
+UKI8Ã\18\fÃ5ù\v\ 6kK0æXi\ e\7fÔ0£\91©)Pé\9d\e°\9eå\ri\8b î7$Ó\10O¬)\8d"©fwb\1f\92¡j¸ÇcúT\ fÚ65¿\9cp\1f\ 26<qÎêIÓ©©qÏ« å¯oÂ\1c\1a´\16\ fÇv<1°\9e\86ÀCÐê\aé@\85u5Ò\ 1\ f\97\ 6Ô´dæ[\10£ÐåaB\9f%äó. \ 5F*\rúÞ\86ß70\ 5KÇÖ\12yxñÚóæYË\ f\e²\1e\85`Üû#¨T\84H×»F|4Zã¹4\7f²·\19\ 3GÍVMå$;k\94
+\8f\1cà\11ã\95Åã\9aCc-Ö\98<\12\89t`CTH4\83\9e\9brýº
+åþÓnHQÏ\b       \8aN\80ÿ{\9f\81~È,¬\96Ð×v\r¬(ÌúlÂSxÙ´
+pc\80\1f¸©Ö\ 4{\ 5\82\85\ fÜbÌ\1f\98¬zµN\94\ fÐTýÉ%\9e       \88áÌÍ9\82\r\13¿VϾ\8do\ 6\12Ë|0J\ 2\81K»ÄtÖ1]\ 6ýe§â\ 3=£Îy=qfK8Ýxò\1a§³Ý7;V>ËÒ>\cÕ\8f\93«,\1e¡·À¥\rÄ\9bÙ\eâ\9b\9d5\89½©©ß\98è/ÌmÜ\9b\9043ì\f\8b3\ 4lI½q¸\13BW8\873\0`\18³Dæ\81èT¡\ 3QðØ8Z!ìT\8e\\1aîì\1cD\bm\94Ôp,\1caD9òØ\8bsq\1fÈ\b<$å\eY8\ 5Jûªg\r\8fâ35µhS\1d\835LÓ\9aèÉ\11Û¤Ù\96v\8a\93>T\90\88\ fÂTG¶Aú.j\ 2\84h\1aðR£\ f\19w#\98\11\1c\88h\13êÁÒµ9\91ãn\aö@\13¬]H\ 4
+£e,â\aÅ\80B\ 4\ 4\ e-\88ú{\fª\97G\ 4¡ï\9bT[\11\1f*NïrÔ\93q*\ 2"u\1a]>s$\13â¦V\12\82Î\13º8S°u
+EmkU7¾D\97\9c'\ e\19\v\16o_\r\1f\93\94ñ}V}\863¼ÎΨy\9eAß72ï\9b¨Ø\7f¶ò¿ì¹æf~Áôx¼¦Ù\8f÷þ¼©g\f\ 5SÉà\14úÆ\81 ¯`â\f
+¢óìF\82©\eN\8d\19\80Nd\9cYðòVY·\11Çh]1\18¡q\9cf8ø\840r'ØÚ\9fcg:¤òÚ6À
+b\94³Å HK)´JÀÙdf_Aã\9b\ 1\ví&\8d5G\91Ïe!³\8f¬æ¯\ 5\89»ú¬[i@\9d±\85  \87\ 4ù±ç}\99Ð\9b\ 4wX\0§j\1fdùvü6Õ\9b!Ãì¶sª\13°!\81b®$\brcø^\12\00§Ý\15a\12\r§-*ÌGFo\fþ7}'©{»ú\1eÄêÒnòhÝ\1dÖ\0\7f_³²\1f¿ìÝî´¦õ¢îÿ|\9b¼¶\ 4ñ&êýQÝH\94¡xϦÝÉ\86\13º\94\1f\18£\a\8a    [\9a²Ìè. \13þAp\0®ÜCÀ@3T\r\97\95]\9c£S\0ÏÄ$\ 6x4\8eç<"_xT¾ðQ´9®ºÝÈTì`j\92\ 1`øqH"Ñ©Z0E \84À\8d\17¦Ñyñ°9\85©\14MHØ}Ô³\92\ f¬t'¡\0`KþÓö¾\7f\9e\aü*O£öµ\89Lý, PìR\9a­s\f¡Ð\93eסþ¬\8b\9bw&\9b  §ß\8a~ÔбUC¯\1aÝË&A{ÔÙûVL\82\9b\11\1c­Z\80\15Æ\86Û¹^¼\18\9a\90±hq2jÊW\ 1/\13®Ø:F\13^Üýª\85\ 4ã#\10\83$C®Ç¾4\9a?@Ã(8\10ΠíÜÈH!7?k!!AÀëÂðSáÏl\ 5H´|{\84z|ÀB¤î\ad\8b\bRÞ´$
+Ô0´\98Áü©h\84ë\9d'l?î\9bSBYûÌ+\8d¢Í\16¾¶Q#ìåËb{Qö\86\85ìB\8aO\fóá©3\ 3ë\9a\94\9e\19ï\98û\9d\bgG1Út!£Uåa%³#\9e¸cl¥D:´2ÿÁ;Ý\81\95\ 2\1a\16\1f\85q-\99 ¯Ç\ 4\ 1Î!\80ýXÍÍ\86AX\13ºMû¢·q  \9c°\vFz\8díÃI\1e\9f\87\9b
+5\90cE\9a\86oöÆ\941\ 3å\1f\86%\98\88>d\90\ 4.èC1k\1at?\f        èÈ\ 4Ièá×ñ8ì[Å)\87²uAj ¹û\86\8e\87\ 2ÀqIÐñ\9dÛ\16úS¦Èú7\rM\ebE\97b&;E\10å'ûÜN\9a=!®;CGþ¤ÌS\8a?\80ÛôkÉQ   ¼â,ýØä0\1a5\f\eVµü®\16;     Æ\8e¯\86\16+3wXפs?¬µ×gù«kø¨md÷KFÛjÓö\85°ÄøP*ÝÃÃà¾ç\1d©£^k9\8a\9e¤0\16\92 U41o\85q\8e\10úf3ï    Õáڡ\14ãLhÿ3\19ã\18ãÔþÐÚEEãÿÚ\19Æ<Cú\8cg\86bÚ+õ\86\1c\87M\8eÖÞ\19\1ae\rýá\9ccD:s\11¤\r¤]è\88\193\ 2C!H)0\86××2`\91\85û\96Á\v\8a¬Ø
+ê¯á^\8d\1d\17\8f\1c§Pkº\87ú\87ê~ç\1d\91£Ð\98ÍEÝ\18\9a\96\8d?×ÊÔ\11Ø\8b%j\18\b)DáX¤\89\ f\1c\95´o£\9aW\9bT\13Äì£Ø½¿ÓÒb×J¼À\rô\9b×\17lYÀ:@´úä\ 4\95l\9b\16ð\92£Raíø3L×I1oÞ\9b¸\97
+       Ä¬?q0\a\93\87àzg\9e0\13Î=\89fi\ 3\aJóy\10\82¡ì\1e nèÐ\1f&¸ZzÒ\9e0Üù\99\80±\15´¬\9c\90è\0\85ïd\13Õ)"5\ 1Ú}±M[Ùv\ e\80õÂ\1f¨$v̤­*¡Æõ&\99é\89\ fÝ*\81á:\8cÐ¥VÚ°uÝ6~Në=K\ 2?\a¦Û\9cÎq\91Í\17I\84\aÙ­4ÿ\99§äë.Ûè\ 2\81g½kÒP\86L       \90,D\919\8b-û¢\ 5\ 2³&\82Ðú­B\ 1Vn]Ö\18>>:X1÷ý6p§ÉRÂ\8f%Ó)\ 1l\8fXÑ£-°%\ 1T!\1aO\93\1a-\1dWF\92\14~#Æl\1dDc*Çò»AHö®Ð2B\91xä^3X^A\e'\8e \11ä²Ñ÷_\14CÐ;C ã\12hþ'\81Z\85\83\89é6³\1f\9bÒÇÙ¡\ e<\ 6\8d\9aáâúO{ÂÙã\8cá\1eâM\98\11Ã8Î\9a\84xÔ£[HGu¡4öö\bÌ{5\ 1T\87Öý\ 6ö\ 3öP)h\84N\84ð\1a\16lªt¦5¼\18øz\19\92Ë\165\8e0f\ f\1añ\9c£\8c!\83żgß\87*¸Â\986\ f\11\8cL8¥\9e4u÷(aB¢®p#ô\1aN\96e¥¨*
+s\89ÂvÎù^@S28X¯à(\ 6Ú\8bÁV\10Z-\1e\10CËèw\82\1fKý(Ìmó;à}6n"Ì\1eýÚ3\85\10\143\80~]¸\88#\88]³^\89ø"\14\ 4\bã\0a:n\99ðRGV{½\0$ûs
+sj\80\bíC¶zCä\81ã\9aWg·û¥\19äÂspS?Ó\12\86\8c\ føA;$(b7G\ e\8eo\90\1f¥¦g\16\84\ 5\ 5¨P\91\85©£¹¸B\1a\82Í\93E\14êÅØqa?Ã\9cg\1a\13pæe\12\84<|û\84 Æ¢ä#\97ü×\84ñ¶|¹ý\85iät\18L\9cÎÓ=©\80ð\ 5\\95JI\97\90âM\1férÍ\93îC\94\95n\896Aëlþ\99ªËE°_tÈûä'b\11 \85Âe.\80Æ©kkÒYÅ\99\97q\814t\97%\8e´\1d\1asH t6ݦ\ 4\ 3:5¢ú\nìCÑÛÆ~KaGÿ\16î°¨ºË\0\88kë©sDÎË\80\96î\84Z\82uzyÿí9Èøk_\81ß\85ï \17áù\88g4,\10\ 4\ 6d\1fæ3,Ľ%áJø}Ë\ 10\95Ïç|Ï/=: 8«ã\85\ 6³øÒ¼\8f/ÈCÈÎh|\8fê\89 FÉ\87m\1cÃÁò4:\1f!-m\84\1aÁlºs\8ab\89\ e\93ºx\85ãï§è,ú,}ß\ 2Ê\82¬æ>î^Ê\9eC¢<hdè*Õ±÷d¬ª³6C\98ÒÐr͸F}aå\8e\báãÔ\ fìP\94ÉX l\r\1c\91©5\10M\8f_\18Q\18yìÇþ\99þ\99 .\1d\99\94}±#\f\85\83\1aï6ªjÈk4£É\18>ýAg'u\rù4\15ÆáÕg6|\10$hÿ¬£mö $è\88\83~,'ËÐ\84¥èAq\90íêb\96±nº.\ eÇ\94\ 4\99\19\eKp\9aé<\ 3\81\e¨å\ 1W\90óÆ\9d\83¤1\8e×þWâ\ 5\82@ÚEa6E\ 4Ù\86\97\80âÛ#Ds_ÈÅ\9fò\1f\8e³Sºú½ÆÇ\ 4ve*<ðpu\1e\9a¡èg§Vµã\9bÄå6¬Æ\98:       ¡ýºA÷Úª<i4\f,\18òóÓ°E*ú\ 3>\11åÄ­-\eRîªÒ\99Ü|\9fB\8fú\13J\87\83\1fa=;#²\92\ e
+øD­¤\1d½cP+\81«\15Ïñü÷\92û8þ`  Õ\88H°7`\ 5¬\86\11µ\88ô²z\8eT\7f0³&øN\82|\ 3:ÿ\98\9d_ü]\871\1c\13Må)\83ìeYó\ 2ÅõäÑbV«C/S\8c\82\1fÏ=SôA\ f\7f<Å®G\17\ 4í¢ê\9f5@ÜO\ e<N(ñΰeÒtHF1lº%m\a\1fEYÊ:\9cj-øä\82\17ì\9e\1fBoäF¶o¶K\87îwäwmNnÈzYãØíf¬\8fcÙ©ÌÙ#;X!\vSèY\ e\8erz§Í²\1cÌó¥546C\94\9e
+?k$jPkJMÿ\aí\8d   \8d\ 5P\8aMìüëÇè\ 4\ 6Ry\95+\95\\967³@üV\81\ 2Ü=¿E¿\f´\19      ñÐoð4\1f\979\8d\16FFÊáVm\10RªtÐcÓ\7fj\9b\9eþÕ"\84\e\14ªOA\95D\89\93\1fôÓA\85$\ 2\187MIÐÐ0\7f\8e)ËÞÀQÀD\87\81\ e\8b9G(?+M\88ç
+*°g7°É.ÃÔúß_Åir\91\ e\11\11\87=\8f»ßY\16¼BÂ\13\929\80\8dXû²\96I~Ä\ fY©!µ[\96\ 3øp?\13PÖÏ\16\97£;:ÂËßg\95\0[\ 4×dÇùOb\ 5fYþ¸¶Ï\v\1flÔ¥\97¨_ã,V\9f¬Ã\99&;H5£i¢\97s½­QGØsQ'7\8bû"ÊN\97oÔêN\9c\81¯'N¡G\0%jhNs\1fÈpi»ß¹B$ç\82\8dîõGÓ\Û}Í\94)\11\1d\198²Ï\89Ì\9dæt[Wq,#9Îb\98í\17­YV\86H\9c\85#dÞ²³\95\ 3ð¼1\ 32Më\18\8a^¶Û ³\90\81د¼Þ\v\1a\15Æ\85©º£øØËf% \ 1ÅØ}ɼ[N¥·\19\8d\fV\ 4Xw;Úe\14ð\99\8fÐ\7fT÷1­Æa¦\1a\9d\98_\rQÙIÙÂwd\8e)\9eï\8aNñ#ã$Ô\v\9c\1e\14®\7f\9c<Pµ\\1a©\0\88ð⪦0}p·ê~\ 3¦\ 5ª]·:©i\94ö-\86¤UZQSØêä\82dz\97¿;\v\7f\8bü_âÿ\17ø¿Åþ/ñ\7f\8bü_âÿ\17ø¿Åþ/ñ\7f\8bü_âÿ\17ø¿Åþ/ñ\7f\8bü_âÿ\17ø¿Åþ/ñ\7f\8bü_âÿ\17øÿþ/¬Ñ_ôá\8d\ 5Â\19ti\85ÿËI\87Ã}ú¥\1añ\v®ÌmýGG#Fùò«¼|`\8f\97¨ðÄ8\10°Û<\0\82\99"\ 2Ãq\9d3ã^vàm\11u\ 2¬E»©\fÙl??\0!\98.\19þ\19ù\82Óå\84JëËJ¿\a\935\12\8d\17?B|\9fyi\8b\1c,\9c·OV/Ëu{i]l>\ 5;Jëx\8eR\97Ö½\8d\ fmà}¿\1e3/ý÷\11µÛmÍ]¿;\12l\86>¬@\9b\1c~·'Á~¾\16Üê°äü\10ðX\8e\rLr\8bÃÁ¦@S\82Á\18ÈÌÆ_)\96\89ö\ 2Á\80¹\85¢WG®a×\85\0|¿>\Ë@ î׫\86Â\81O²là Eå+ã\1czYèÁ\ 5º\85ËB\ fÖEMí(¾P\92h\8a\90\8c*2\9d@\90k:µ«\ 3Û\81ëwÜbØ\7f׸õ\ 6³,\9f\9c2\b;\8fD\90\99\94ì\91¡â\1c\97\8d\9fòÐa#\95a£Æ±\8fc\1d\1eÃ'\9fC9ÚvÂËdòA\95\95Ð\93C      gx\99øøèñIKåXG±í\98"{TÇcñÌ19\93ü\12d£»(5\82ÖJIx\11w\96\95ÝÉËå%ò²¹L·\87+\92\910\ÿÄ\â¨\90¢XÑ\eá\ 5;\8b¬«@=ñ\8ac>x\90%\0Qm\ 5V\ 5!)ó\8d¤N¨T\ 5\ePXp\üæ³4\14ÆøÀv\8f\1cè Ç÷¼Ð,\1fØð4\99)X­ôÙÍ\82©ë @\85Ú¬yÞ:ýpóRùªÓ\82®ýd\89±ã!\ e\8e\ 5\87\19d\87î<\97\r\92\96f®¬é!ñ^\17êÅöe¼\89Ú\8b9!ý¯\ 3æÉî\
+¶9\13\80\89Á\92&üGï\86ðô÷UÖz\9dæ\83¹\1e9-\ fp\96\87+\15Q -_\19:ÉÙC\11\90T\84)k'UHVN«¯Ì\13N\9fÉoÅ\95\ e\8eMd\1c´¶ÃÍt\9cáæº%è\8c¬\9cQ8ÇW6\16W]Vß.·Æ
+B~´éaæ\ f\9a\8fäf«V\v0|²\9a\98áv\7f\8b~^^¼Ñ4é\85\87\9bþþ\96\85\ 5 WÑH\9a\8d7\9e\1dBz­ü\88»QWÈÀk}-
+ú)c@¥\v¡\96:\87\18\938ñâ9Ì\15\14Ù R\8dÐÍ\9dC¦T\f^ç)µ=\1f\9f\ 1²ÍPWGf6j\8f\9bÍ\ 5(e\85\8a¨Üë.¦;f\ 2\83Âä\bð\9db¾&nK¸âfØÛ©\ 5\1eö´í\18µÈ÷Acârd1dÈ!\85>q\8bx¬I\81S¶Ë)>|\e^\ 1\95Q§\83# ó¿ÒÕ±     jØdõh\84µcñ\9c\aúp.\ 3\9aåw\8fò\88|B}5\10ø\17#¨¹/¹\a,\8d\81\91P$ \8b¶d\ 4\14\99¹½\15^¯î\9fÈ\85E\1c!=AZÁ\98zYÜæn\92ÒÂÙ\a«¼x³\87¥¹êSj\1cw@\86fO\9c\16M?Êê\11îdyOi\95ï;nå\86O9;\9fí3¾f{>À(\86[-\94\ 4\1fÁ4ΠÑ\9e}\86\938\8d\10\9c\1e\b>vb)÷/\f\9fµ\13¹÷B6±ÑÊ,\99ëÝP¶\8a4$;\18M?\9cò²Ö\ 6\13ÐѼ\95?@\16\1f\90T§^}ã|\8cHQ©Z\15Y\ e¤íAóýÔfO¼\8c\vf"PtT³ød´\ 2Ì\86\9fþ\ 3O5ׯªã\ 5\1e$£ÍÑOy»è&ÂçBPoÄ\ 4¶àl\18OF \9c¼ÀL^c\98\98O\88àøÅ\87Æ(>1&h\ 4Þº&Iw\8f\80\80S\1añ¢Î\r\ 5\14\15Ë\92¨¼Ð)ö\14\ eZâ\\9b\85\8a\81+BJ\83£
+\82Ê\ e\8cs9\1a\ e\8cäîIw\8f\97\80\1e\95§v\1d*ðc²½Ë  Lú\füÐ\82\8fËÏ¡¤ó\19£D]\99\ 4¨\8c\8f++Þ\ 5\11\17çs\9e^w?¡
+\ 2ø]ãÙ,\18®       ×®Ð[Úºÿ\9f\0\8d#åÍ£íê\ 4\99å\13\8b\10})b ¸ý 1\8ezÆEBl{â±\9f­-ÉÓ+?5\88Ø,i¾:\1c]\9f>7RO¨£å \13DnÔµGm«â\97Ø\8d
\88>\89Qýú\10´\ eNiû#Ye:¾63\8cèaaÖ      \9c9j\1eY{zà÷'Ø·'\ 5tþR?çêÇ7\8d&Çä)ÕýMí:\85õ4\ 3×ÅÌ\9f\98Ð\v@#Ëþ\94\96oËÞ\93\8do\12M.ÑH\15{\17\f\931ÔYSXíqAös\1d®,>Ô±ÚÇ\aÚ¶;V!ö°¼§\8b-£ýÂ\8f\9f\94q(¥\96§Î/òk\93ç·¹<u\16aj}.ºÊ.\89Ì®\1er\0)5\7f\1cß0¼ú)e` \8c\ e\99 ®\89-#\®2\9f\83¦Á\f5?\94ª\7f§^\ 5P\9eÀ\8c,\ 2©JøÄaÀ\ 5l¶(]$<¿O\95\8bP\93Çãã»\92\92è\f3óÈgü¼ö\7f<ÃÊÏù^c?5\86t\91o0Ï\82\10D\98½z^;¹`\11«°Ï3 ð\85ï~Ö4\9d\9fï»Üîw2I\f\9d!$\92       rb\90\80\0ö\8c\8b\11       0\82\10\12¬\\92\ 1$\e\18@\93¤\ 6\10\97'z\r-\17%ÁS\ e\90¶ÚÛåi\14Â\rÔo­ ª1\ 5ñ#\83!\11\1a\8bxÑU\18\ 3[ö8\10\0@\92I3>ÿû¹\92B
+¥åo·\9aûy»¼öóÞÝç=¼æþ\rüûüªiÞõ\92I#²êåÓj©Û´Ój)t´í4Õ\90\89(.\ 3#)\95\80ª>ª´\11¡\84ä\16³u\94ú]A\ 6\13\80âvYV\84pû}\ 6GÿÎ1\0E\9a\%;\ 6U\1d{\11÷7O{#a;\12Ä\8eY\9f¤\ 1}(\90\91(^ÕpL[>Ì\94\9cö\92\8aóû¦@L½\91U\96iw   ë\9e\10\87ê]\8f\ fwY\9c\1fËvÊ¢½\88înv\eæÃÈÝ=ö\fÿÜ­´i\98í\1a\92¼\8a²ì×qÙÁ~\b÷DÁ{»8/w\91tßÂ\1e¾ï}ªb\94¤\1c\ f­$\196T\94\ 2Â\ e\e/¤AÙ\82\8b" í     ÿm      Wî\ 6\89àìms\88\b\9d\ 1ä\ 4LµÔ¦;4¿}ª9R³¤\15+\8f\8a\ 6\e\18L8 aÃ9äDÿê\9f\1aq\12\10J@û¨\ 6\19J\1cï¡ÊR\18ÿÈNy\ 6«zEÕ0\97D\1f\ 1g"\1eÿ<£\19鿤\89]îÒÃ\10)'Y±Z\86(\7f§¡5czmZ kU9»9M1v\1d\95Î4³\19ý§\83\9b\16G6,~lÙ.äô§ô\14\fÕÍ\94\ 5Ài\ 1\19IWKÜ\81§ßؼ\ e³y):\16\94\f\ 6      \1eUg\9e\ ey=\9cH\8aN\8c\10Þ\b[;´\9d\11V¾J\900YÛè\ 1¢¼\f\15ò\au.÷)PÝ«n\\ 6\17\81Ü|ùYÕ\81_\ 4\13¶K|>^ð¹&&\r´Â\ 2uËÒ\ 2\83î'\14\1dƪ÷cg[f@TY¾øh\96l: 8^çnÖ\f&o*Òo¼Ó'\7f´O\83´H\ 1rÙÌ´\1al«Ñ\80\8cH¹_åûKäOa\18\ 4\87U\90ÁպݹæQÿ  G\1aÔ\fN\185\1a\9eE÷à\83\82R*Àíà\17h\b  û&¬0ºr¼:¾q\8d`sT\13a\85þÉå\99\1a¿¸^\9d]\148«&°ZMú¢\93iåáËJ\ 2\89\80Ó/5¿BúBýÍR =ð\99\94¾=\ 2øA4\8f\7f\a\ 3£-eÀ\1dÑ4ÿ\ 1ó\89¤\95\9eÜ\10_Ì      \12r\86>£}\97ÃC\87\84Qp\8eàJ/K\1dV\ 3\ 4"S\b\94\94ÛÔäsÀ(\92
+­¥.\96\97MTQEû1\ 3O\9eØ}\87>\85;¦ÃÅóæ#\14]BûóP¾|\93b\8d\90N\14ÄÁضN 6c
+Mzß.\eÅà'ú\18;<   \ 1§\ 1õ;£ÀË4ì³\912Р \v\15d\88¸Ooyß³e\9ce-\0\89²b\ e\8fZ*¿\1f±
+ÚJ®#H~\14\ 2i%\18i!Vö^\ro|>\80þ.}f\18®³A\ eË ÷½0\92\ 5\93\ 2\81ÖUOPO\9eà8ý´\ 2\81î\\0÷\ 5Ñ\84\aì¤\17Gôsë! ¹Ï¿xõ=\ 2#$\1c)2M­\98\0¾§\18æÑ\ 4rÒù17ä\15\91¿\ f  ¦å\03\9b\9a\16ü8UçÆóæ\ 4§ªF\v­Z\e\1cä\¦Ç4\1føâ\ 1\91\8bAJl{hBÏ \b%6>Á4´\84\ 5\8e°\90_8\08ÇBQÈ\ 2\88\ 1G'(\18\11-\82«*\1a2¸@\80òþP\ 4\ 6\143\0ö'\88ù¡\9d°\9fh
+       W79&þä&ê\7f)!\97\0°Ê3c\9c\8e$.\89'ÿ @K\ 4%"|ôb¥\83\r\15,\r\93Â\ 6ĸ?pÖ"\11\1c\a9pÁJ©\82a$·Ã[Ñð\f\17\ 1àRAF\84סdb\90ø\eKrÁËÓ\1a\ 5H9°\9f6Fµ\90QUneU\e\ 6ÅÁ¥\82Zq2#ÉÂç#\8e=\80\15$>b\v\94Ælwèå\8fÈ\18\9e(\v¦0`Fi\1d\91\13\12\89[\ 4M\14­°a¬\85\84\94ý\f\12\87^·ÀT\a\97\ 5>ªÛÑ\80\eðvòàOÕÓÓÓ}ºe*êiûÆ\81ÓØ     j[é
+K*\96ø   6{À(Èáñ£U¹zIùÊDÃ\ 2\9c׿à\1e³®W¹º?UÊ\9dÓ\8a|6¥q¼é\81'\87ÌBM!Î.Õ'°ã¾<Ý[\16úW\1dó\ 5ÍéRW9 ^Ê\1e W¸Å\ 1Lb÷§@\99]9º\15\12\92\0]òP\16­\93e°0\8bB\18JQ|kì\96\95ÆPIâ³ [R"·T&\ 15ÐrE\13\92\9a\f\94¡¾âiz\13X\83\13Æ\¾ÅØ\87Z\1aÖÌ\86ûº\84\96i[)CLÌÊehשÐ\87²±\7f\ 13.¤¯þ\ 5\19cb\1aÏz+}\97Â\18SZ\93R=ÃS\ 4ÙD\ 2ng\14\86\ f\b}\13\80jF³\8a|       \17Èá]Ô\92ÆÃ\10       Ì^èõâm\ao\ f\1fÍ%\12½Ä\9c\87¨²DøI*É\80®_{K|+BT\16&nV7Å\9c\1cHn§þ\ 6U\1aô\ 6Ë\98_\86K/Â9A\1fVO±Ê\94\83+\14}ÚJZ\9a\9c"[\1fO\7f²59\93Íe~\80ë\86ÃÎ\135¦¦¨\81\ 4"­[}H\12á\10Ù\835\1dy(\92·ÃÌÅmJfd`-\84»Û\96 áÒ\99\ 2\17\ 6\9c1Iä\18¦\80ÓÊîP\1d?-îz\ 2Û¸b[
+\86\81Þ\f\14\99f\84¤bË\ 6à,eßw̪)pãG\96÷í@\85\16:墯\82\9eª\9bRܤ¼Â\ fÆ\97çsU\8d)µ%\8cÚ\8a\95\1dY\ 3\ 5¶Ã\8f\99Ê\r\90i>[ßuü'\v¯Ê­á+µ xL>\0ð\ 3¡¤ÔÕ%¦Ò¨µ\89\vJʺ]%:$ª»,Ø\96\82èAÞt$\17ÿ\96ìâü§ù¾[\15×wê¿\94>n·\94ã\8bËI_råî¡úß\bI@­!з¬\eÄ\83\1d\82JÙÉòß\aQKRA(Ó¸6#øø¼z\19Ù>¹   T%\90ëÐì\10\97C±C(\87d\86U\f²\13\bL Õ\ 6ÈN¡<\84ú\19ä3èh\10 B\89
+d)ÐI\r*\15\bi\90Ó¡Ý¡ïã\7f*\1f\99\ fÎ\87\84\87èAú\14Rtr``|ç\89_¬¸\83?ÿ\eó\ 3©;å¬\9f\ 2^çÓBï\90øAý\12âád\10SÞy.\14öw+îþ)§Â\ fýæS|\9f7anþÙNCþ
+\96Ͻ-\9bh.¢\91\ 4q\88Õ\93ï\88àèhkÞNÐK[+f<\98\8aQ\9e3\ 4\9e\1dû6÷\12ÖÄ\8et\v°T¹Ó;½Ú\8bÀµ\8c¼¤¢\88²ºy³»\1cü    ùÚ\r\ 2¼>D\9f6$Û\8b\15¾S\17ß\12¯\b&Ï]\98ý\902óCÇ\187\10\ 3ä\16\80\9be\8d¡\1aSàÑòÈÑEß°Ì\8c¯Y\98tW>PË\15¾R[õ_¸\1f\94Cí@¶\8båÇÕ\19b¼«\9díúâb¡\ f\94ÐÔ\10\10ÀÃf>\88\91wìÁsè\ 4=À¥¬\86|\0}Üï\83¾Tßs\ 3ã\axB\95²¿;ý\eåxjÜôÓôxk­fEVÝënG\92Æ\85Hi\91@oðy°\ 3ä\80\8bò#Ô
+ðüä2\ f|\ e\ fµÇð82¼\9eD\9dç\vÚ¬6$ë\8dé\82\ 3\15e\8d$q\17\19í |T× ¸u    áqÇ\16.@tn\e\9e\ 1\83\88\17\1aáW\84rbL|t\9b÷ ¸ÞÃ\864{i\1e6äIÝ\\ fã\80\0½Ý!AÓ\83=$¤\84¯2Ö­ù\14\81×\12\14\1c\89?Fà:±÷Õ\80IT¤y¢\1eîû\92æß\9aç~o)"û7.$Í\ f5\ 3\93¼0\901Îý\8b\9b{ÎU\ 6ö\98Cñ R\ fU\0\1c\9d»\11&\1f\1f\8agáø\b*-û1Í@\1dT\ 1Ú_\aRµ4C«\16\ 12Ji?\ 4\99\15çj\88#­BÖ\95\r¨3\10HWãE¾¿\8f­\vG\89ÌÆe¦b\9a\98»/\9d",òÐS\8bngߨg~ßpµ¥^vzt\88\1agç;5\97\16&ܹ¢¤û\7fF\8c\vNAfêit«<¹_ë£.)útÔ«i9OT  \936æä\80\89Ó¬LåªàøPÚF\12楽0oTÕ4ÕÔi´\95\10I\9fÑA\81XQ\9b}å)Ûé\803ðYúº\8a\bÑ.Ó$ûMA#\98mAÒÕÕÓÒ· <\14\ f
+7\9f7Áô_·*\96\93­J@M\a\8bð~     êZjétÉ\97á\b`º_S\85\98©©ÔêþÝ6\9a²\94\10\10*Õ]m\ 6\98\81sÕÖ4 \94\88ã©XH\rMKV\9d;xQËWKÝÓ\92C4\94µtº=5N\99\88³À#mMYB©QKXÓGOOTÒ§S¤îÈ%P\ræ\92\96¨\ 3c£§\85áE\\1a\90\80\90Ê­KMIcî\92£RY!\bl\9e\ 3¢\88»x6BÅÛ\9e\85áI\1cEKÜ\ 4´\8a\90ñi£"ö¢­<\19°i@\12\14\1e\14\89EÛSéit\9f|"Í\ 2Ñ\ e\r#EîÇòcå$\16 H\9dÔ\86®<âæQJCÝ\8f[ÁA\87U#]\1fÕ\82\96"C\93\1e³\17M#áÇÎ\82\94¤\84\121¦.ÖGÊ\8fÙ\ 2\97»\1f\88\90\84ÅÞÇð\81H,%±Í\9bÓ\96\814ô4úE\v%suZ­3}MPX\1dcÄ.ÊB\8eC<JlB³\ 5KLÞ±<\90nL\16S)jV°r¬\101:J\18L\98-Ñt\9c\9dMUOßiÔýô¹=FH\80\8b:\97a\89iTÀ\97~\93\13G!àÈ\7f\8c\87
+BV\15!E-~\87°¿C\93¿C\8b\91ëd{\19\1cÄ\89«\97\90\ 3õ\80MÌé\857T]m\ 5A#¢\91ÃCà;Ó\13u\9aF¸)§Àw=%     º¢R\87\ 5A¤Æo¯k     ÁÌ\96Ðí¦d´{¬\ 5\ 2¡i ¥©R\9c¬\1eÜ  ´\1fpµ0\1a4\9f¥Õ\ 1îÃÁØ*/§àÑ6\9f\9d?><8\99°±\16!Vwr<\14\aÎÃçÛK[5ØfÅ1\86Õ\1d7\98}òÐѼ\9eÏùb\1e@V-!Á\91è6\11\19cöàp\9eè|¼vC\84?2\ 3Ékmßq!b#ö\rAÈ m,DjΠ|îÏ\9b\ fÁ@;3Fx\7fÎ\ 3aÿO\8fBþÓ\8dÎ\ 2Å\ 3<?ã\ 2¢ØCþ?\1e\86xÞ{ÿ\~¤
+\8dø\87ê\ 2n\13ÿT{¨\15\eÁ\ fu\ 51X6\10\ 2Ü
+ÃãÐÑNÏ?ôÇá@pôÙ^Nã\82?\ e\ 2ÊEbëoÕ«VV´\1e\9e\ 3\8eI²¶ÖoXî7co\ 5T¯+n\92Í\b\16î{\11\18H\8b= Ï«¨eº\8cÚ]ȶ´>îF<|÷ô;[¹\1d\82\98}\86~-U\ f]ÐWQ\ eºáªµB\1fî\7fGÝh^N¶U¯\ e<{è
+Ìå\88\81N}\r\13Ê      Üû\8bC\zf\82ÔðøÏÕÔ\ 1nðש\87qéâõùø²Hl\16o\1a\8e\8a\91à=?x\7f\8a\ 3é`0\1cÎ/qAà\ 1]Åë`Ãw\9b\8bÞÒ+]\99&®Ê+]\9d&¦±Zîü\9a\8c\8a×x\84ÔÑN
+Z(\12÷r áIn\99W#ØÆ\8f³~Xu\Î\965ܸ\87³5ÞPCý&×3ï#Rv\80\87ú\rw\18!¹7u\15\\8e\824x\87îáÅ\ÏÅ\8d\esRw\12DUÑ£LݦX\88l#G 7c¿[vA¹Áe\95\ÏÊ\8d\1fhné
+ä|\bÑûwÕÌüø×y¡\ f°72ï6!¢M]\ 6\93UË!´73´Ê\88qdv.\ 4\95\87µ\eºÃ×#¸\8d\1f\8e\125ÜÌXß\99\99v\8aáôI«$\ 5Ê[2ï&¸oLÌ£´æ!°\94ÌÅÙ|GCÊ?d?lÍÃ`°\868JDî;d\8bp\ e¡»\8cö×£\eº\8b®G\87\1a>Öûñ\92;%J÷ÐZ?\8f®~¬ÊÒµ\8d~÷m\ 5S\14ý]i¯\87\\8fk\1eSg\9f\ eà¸7\11®FB?u\18³\bÛâµV\9f1ã/\9eÔ?Vlù¬´Û\1dPu\7flÙãþWÏsÏÂvÕøKdly\17ÝM\9cIÓøT¸\1f\98rÆL\1d\9b)+\11\14Ê\1e^H\97ê\16õò\8fÈ\81w\ 5\aL¯dkx°<zÛa4\1eºø~]ír>\88·F\8fÁ"\v í\98îö÷v(ÑíïIW\92SG÷Þ²¨ÔH\8fÕãÚ\9fÆ%r·\ 6VµÌE\88Ôñ¥Öby2ë98òë\\9cS\86¹\98³\14\91µ?\9e\fámo£íOê¤z\12\16§ó£ÃÂèP\n1)Î\99¾\8f0\12\1cT\9f"É0\96P*Iy\ 3<èbP\19©\1eØ \8f.\9aâ$-fÍÄHyÌwf¯ÜöÃ\93½&±\9d|\1a~B£Æßm\1fÈ\92§\83ö¯\15$p\1fê½\ f|X·\92K\19<yÝɯ\98x\16ó»\93¼\vt¢·ï\8f&\89ÝË\14¬ì\8eØ\ eN*&\rçº.2ýj\86æs(ëØfv\1e£ûe8\81ó:P\ 4\1e'á,\8e\989\17-wìæ\94Å£j\7fªÏ."jõ\99Ã\ 6¯]\99á«Øg\930\9a½\96qA߯3³Ô\18[¥-û\0ÜíÉ\86è\82.\99DÁÝF\8c\82¹ \v\98\85xN8רº\8e\87\13\9fM\90ö|û\97ÑLª;©!Ìq\99TFJ\ f°ã]R\17¶â\7fû»s\ 6\a¬ìÒP\ fQάhÊ£ö\88|^+*\8fVH~ï\14¯\ fµÅÀ±Kù\9e¾Ã*Ó=QNÓ¶Ìvð¶9±µ\9f3צ\ 5\ 2øYÜ\rò6åØà[c6\9e«\r\ f\7f²¢\e\1a\83ø\1f\90\1a\88­Vd×\ f¬8}X\9bâGÆ4u¦\92Z2\12\ 6)\12[Ë"\960n
+ä]õѯ(\19\90K\19ô]ïÙð­ò6ñÒJÞ\8f\19\ 2±sß\14ÀÃÞ\0b\ 6\85\83\10(I\ 6\1cïQ°\97"xÄl2K\95\9bÑ£`\8aì`¬¦E4\9e.ÖoF)¢MR+\89ªÐù¸³\1cëtBR"ÖoDÐ
\86j,ÅfôHØLÅ«Ãsn¹\1c±*\16\1d»Ú\17\16\99B\00,¤H\8b\14`""­\85¼z6\1cHð+\9aÒ\16c\\8d\878\89ù\84O\8c²\15\98ÏFÂFA\e\bù\ 2'\11\96cb\8d\81äNqS\9bf8bB\12'ÈH"ì!\13\01(K:Ù\88¹\92T\13\1f2J¿³\85\eA =\1d\91è\98\8a­rf\ f÷òXwT\8dÀÅ\95æB\1aSL\9bÙ§\86µ\9b¦7³"\96n,ÇÈ\12©D\89é\85\99©#B\95Aw0\8a¨ú¬ø_Í«¥Ä \99%7\8c¸\r\87Æ[ÝS£èn÷y\1dûWQ\10¨V³uHk\1c\98\95£Ñ\rß2\v\8d\r\11CF?È
+\19²¨J\91B\98}÷1\17~«0,Ç
\8d¿2çÇ%AHðñ×qüj2V2J\91à\15{Éùï\9aqèï\89..mäÑ\88?\89\1eF\972>Ï\8eº!á\10ÇÈYñÏ*\13\88\85\89\b\86\1a!㩽\17üDØ1\17ÞåàÂ?_\96´\b]oGD\ 4\19\9c\90\84\f3\ 2\ 1ì2\v\91X\1e
+C\12\85ýtkA>\99YEt\15\14\ 4û"T\190´L$Â'\8a,>GaàËFù&&\f\9cì\9bÿ\r\e\ eº4¿M\17 \9eH\8e\81Àù¨\17ê\12æ\ 6\13¡½!\16ø(ÒO!k77Ä%e\f\eRjº\10û\1e!WA\91á_²$\88§2\ 1\97\8eEYrQ\97aþ3ò!Ùòl\bÒÅ\8cî&\12ª\90ö8\89!×ñ+3ï\9b`,i椯!9Ì¡9Ëôè\8fgðnq\e\bê\91\ 3\88ßíeH\8d>i\ 2/ò?à©ëiðÃü\1f\ 1\ 4f=\97ÁƼ|¸z«­    zì\97\ 2à\f»¢Ôá´Ü[\83,\1dá\94´K\a}L}\8b\1dÊÁ\bâ\88\81\ 5-\91ÄhY\1c âØË\18\8c\15´©^|Nö\16ÿ\17V\8eÁ\96XOìý¡ÖE\96uy1\16\ 2Êy-d\97)ä.\ 4O\8a";$tP\aF!Ç\16Ių\829ëp#E`Ì,ÁG^G;{\92X0À\19\9e\83 7ÑAfæä\90
+$\9aÀß2AeeD\8b¼Ø¦qñi³\99¡A9\19\9a$\13\8c\99\86\8bºO"J·L\14­Ö\92+¾Å8ºbÞ%d\84Ó2\1d÷\1f\10ZÒåÀðR3lRÅ\9dc÷39cÛ\8a\86IC=m8«oDv¯\10Ûcì\ 1UÍR\1dÎø\bd\a¢/Ã\9f \1a\ 1\8eáw\8e1\e\ 2\7fÝ3È\ 6\1ahrDÐ@\ 1\0\ 6\0RM\ 3x¨H\85*E\89ys\16³q®gp!®º±ã     \1c\98\9a\ f&\8f\ 4ðõ\82°   \84       ¶\8c\ 4\8fB8\9a%O`)\88    ê\99T{ØÁÚ{Å\10\9e÷ÞÁ\10\9b×\ 3\84!    p\10\81\ 3å\a\b
+\7fABä\ 1EÁÞé\9eî'+\11\11D\7f\83\a{¬0\81A¦ªP\82¤\1e\8aüRC\1f¤ô"-Û í
+~ô\92\91\90\15ßþPÃZ\82JÞiÃ\ 6¢.\0¥Ix%òçµ2\17Ö
+aÊ \18¬¬\ eÕì\98\ eÀæsj\87\e\86F\80\18y\1aF\ feLÁ¶\12ÿH\7f98\8c\e\81öø¨7\ 3áà}a\95\94\1f\95î\96Fì=×±wðo]í\94«jp\vt\10á©!¨{ÍcJyl$F\ 5Í#a\17\b·m´áx'w\83\84\89p-y}s*\8cÞ4s¡ô@¥·\11\97\86\98\83á\82\8erq¢JUi\v)ËXc¢R³x¤£*\8f¿\8d\84Ó}\9e\91\94\16\14\9aE\87)\a\80#fI5$\ 2\fRL¿3ÒÔ>I·ú\ 5ËXa\1e\83\94sp5\1dgIiRtt{ë\80ú)*@+\86H\98ÎUt.\fDðLÕpüûÖñãÙ^\8eZåÍÎL2Aºæå\ 4á\83Φg[tö\8bãfWRÔý\10·Q\10¶õ\94.Þµ\86\8cRHÁÚN\95}D³! :\ 2\bØe\fµ>\98^\8fÎÑJý¢¦<\81\9aq( ¯   Pmapî¹N\19^¡$©Ôh\8bs³Ñ÷\vN7Ë·\8d
+½& [hU¿x\16ñ\82\85\12PÃ.XÜ?Øü¨\0âö¦\8aåï\8böy)\90û?}\9f¾Ïßgï³÷Ùûÿþ?§ó´9\1c¦NU\19o«ÇôX\16Ź'7\91©â@\83\81F¹¼54\1cÞF'\10}\ 4û!üa\88¼~\ 1z«y|¥ªõÁ\90¸þ\aä~nñw»\9a» r\87\8b_B¿Ï_p¿¬=Éû\86\1c¦\12,d\98ýÖ7\aÍ0ñ\98¤»÷.®Û\17§G ê\ e\rÂ\87±À$\9e!\9c\15~üΧ\94\87ŲÓC\aÏÁ£N³§­´\1cÓ0û\14\9d=e¸¶íô\19\13\rÉt~\8cý¼Ò,×ÜxUdqúyØ\18\ 2ì\9cÍ-\11ñ[Esl\ÜÇ\a@\1e\8b}Þëà<>ô\ 3ü:ñ0¤±.\14^\ 4\9c14\9c^\f8¬k\fÁ\91NØ%Kù\1dæ\f\92J\8f\80\8b\96£\f[~\91¼I4Ñ    ÷¶\88aa!\95EX\92\81ª\87lÊ¡Àq\92ã\16\9c\\a;èwÛ²\97\91e\9fòº\0^.4»ík'7\91Ú¦\v8L ÀFëÖ-¿\1fÙúK\81ör\15?ñÈT¹k:`\93<\92ŧ\13Å»\99}Y³l*\96ãc9ka\r¦ÂlËþ\1c\11%þÂØOt½\11óá÷5;Ê\81\17
+A¨Ø
+       Ç\96®?\84Çgv\1cF\85\7frÂÔùÓ\f\11^s!<é6\fIîÁì!"²û#ê\ 4¤\8a\11\89XT
+¾I*\12ÀÀn\88O §:\f"w:`\160\1e\9b¨U\91î×\81dñ<xÃÛ\98òQÒþ£\ráô\v*/±Ó\89ô\98ì£\87ts|E¡ó\ 6\19HÂýö4O)\18\a×\93Ï
+\84\8aÐ\£SÃ\ 6¥ØN\89ô\16\87Õ\87V¨G\ eã\148¨aùQÃ\8f^?é\ fH¹C\8f\8aw(¬àp\12\8d\1f\168z8è.WIÃYÁëã\86\94xþÔLµ\90öðãßÄ\ 4\14\16\f¡\eóÍQÖ\13&\12'²Ë\99\1e³\83Í\8d\1eÉ\88ññÃý'\r\ 6+@\04M\ 3æÆ\ fE\1c\94W\9f\1dV--tñ\9c\8c\ 4W\ 3àF\83йg£§\18,M\11\1ew2\99s9K<»\18Ñ\9d\8a\1e1\88ì£GÖ\9c;è`êß\91\ fóÆ\ f¿\8d\83'\98N.àÏ\0úÃ!ì\94ìÀæ\17®Õõêü%7ó÷cJ6ð¸\8e\94r×l#5q\aÏ\8eÓ\13ܰK:¥ÂTCôä\ac\89´#dCëcB\ 5T\89ð\ 6\18ÿë   :'åÌ@\94ñYHlãºr÷ÑÄ\ e\9e7§(\8b4a%®\97LK}v\93¢ýlˬÑËP¿¦õEn¦ÍÛÜÀ*z\9e\9bô\13\18ñ°öÑ´*³\990\89\0Ô¤<W~ç\8a{\9e9òÞâq'Ð\ e\93\11\93½Q\88\1fw\18?j0yèÅ«\b§J%»«\10S\87hÜ3\15ÈD$\813gûä\8fSlL\11\9e$\9dÓ\17±7ñNê\ 2¡­\12v\99x´¸\97}à6Ðw®\rY'}¨.äÝçCR=G¨;©<Òh`iq\1eæM\10ÂU\9dQ\e\94q\ eë\81Ã\ïñ\86¥ûMx\1cµ\88wn\81.\19Ú¡ª+¨èÐWkMÒ×\14¨Ûú\b\a`V^ó\92ò)\12/··§-u\82\87L;\96k\8bÏ\ e1;?\16\18c\e\8eê½ð÷§\9b\89\14\ e'\92×8t$\fa /\1d\93Ó{÷\r\87ãÅ×Kã\84Wá%C\8aD)¡$\93/bý\11\ 68\10C\91\ 6\8c    Ô\85Û+-ÅXè\83éä«\9aã\83Ú¼õë6\1cä¿cÂ\8f»§?\8e\1a\90\ 4js ÐÝñ[Û;»B\ 1¬ËCþñ\86_Õ9w"$Û\8aþ£Ø\1fM¶h\1ca.ú\ 4\ 2KQàt<\18\ 4º1î\8b/$Ñ\ e\1a"\bÉ\86£cýf¼\8e\0vÅAì%\ eo\r"\ fD\10."\ 6ѯ.^læ[h\14ÅW3ö\ 4É\85\8f\ e0ªôUå>×\87¹HOèÿ\85y\ 6öh\ e\0Fp\16®\7f£\87[_\9b\87\eX¡Ï\1e8\96\876GDChz\99\95\97\áàÆ\ 4«§\8d\f1Þá\92ô\ 3\93\89ã?"E9Ø W\93½Á\ 2ÉM6ÙÖ:A]^<\ 3ÊïÑ>dÃ\84\99Ñ&>\88\ 4f\81\84\9aõ\8dyh}H\89(úÑ1´?½\r\15\80\11nøGÚ\1f¨\ 4Þ\10\9aZ\1eà\14ëCGâ\r\15â\80\ 5ö°\81#íLbM9ÒLÅs!\1aé\94á\92ÞÍ\8e\8a\8b·îl×9âÞºeÜ\19c\18E,é\14\9d\98\1d\86g=>?å\86\96©Ä\8bµ\ 6y&\10Q*ïÒ\88õSÃ¥`\98\9dG\ 6i¯®C\fq´O,t¢º}òô¶NB¥{ØÁy»\9dÄ9x\86à,º¤zÜÝ^Åk½ 8îÁõåÎ\99U\8b{0\fF0X\9b\19\82#\8b¨\ 1î\15×^ɸ·§\ 3\ 6\1a\v\ 5À\9c[0"x\92+-Ädjw²\18\ f:\94©:e®\f¤LߺªvúöZðÉ,\8dû\8a¤Ã¦UÁæö\97\ 1G é\97ã\vfl\ 5\19\0-¥»ÔpTOtÉQ\¼±§XÌ»\81ÛË\85\87³2ZÙ*æ®\fVÌz1~ÌÃ\96¹S&\80÷¯Í>\89­"1\12\93u·B1¿Â\1cB©Y:UÌ\12Î%\9cÿ\9b+\88\1cClAO\ f@aýæåâȬj       \03óô\1a\ 4§px\87U¸n1·\12¯\16t\18¤_ks\8f\99AtÏIo\ 5Ô­\80¯\9a\ fj$¨»ªNæ\8däüèý\92V»¥Ã«×«só(Bâ\ 3Ç\83Ä\aûëq\ 1áÄ\a\7fÓ\88\rÍ\81\8b\87\1e4\g¿ïÄ\ 6\17\88\vd(<@Pà\rêÜ@WÏ      x\7fL%\ e =èq\ 1и\80ÛPâ\ 3^h¾\9e ';Ôâ\ 2|X\14\83ûð\a¬Ââ\ 2]3Ê\98\ 1ÕÀ¥xQÇ÷±êµýbW¿h}\87ë\14\ 6[bV¢ÃÊ\f        \ 1K@î%¬¦\9e\04]5ò\85\0ý±{D\99.Ð0º\10SÌå´%4¦ÙZMÅ    æ\82\81´ôê­g\fU\97jc¦[RT7l -   ªÿ)åz%Ùo\9b4SU¾\9eH÷_¡¡î³çZ\87\9d0QþØ\0íçS\87uç z½\15nß{T.\89\ 2È0â° «\\86º-\r\r'tñR3Ýí\83\0\19Ðùcö¢M\8a¾\93CÕµ\9a\b^û¢?\86\ 2x\95k\88£6k\9bv\0_×Î~Ë\86!ö0\15º}Å îrx\81\9f\ 2\86+¿å
+\f\156ks\1d°GZ+/æt:=è\9dN1Ø2p)^K©È}\83/Ä-\825¢qÁpêr&ZÛrc\8bc\[ âÙ adÍŰaÂÛ\82c\8e       î§\19K[8ká\88ÄÍÜ\98êq\ 2%\ 6QÎ-\98\91\9aâØ\8e¼^Á\97|\ 5äÈ\1d¨ÍÏ7`8~C\8e\v\17\1c\19¢µÈ\11ðyc\80æ\85ÍJ¬Ýå¸kã\88ÔÚ\ 6£\13\8dó\9c8k^!)\16á®ÐF©\10FÓãüá>7βu9\89µ\9bÅe×¶\1eê\18\94Ñ\1e}øæß\92q\aÛ?\1cÃõ¦Ú \89¥bÆÅú\98ø1èÉ Ù\10 òØ\9eÍ\85ê^G\90Â\90z¨e!Ç\1cüg\91¼ù\88â_\8eöø\8d\96ë\15
+\98¦Ãñ"\a\0\954\8b\ eùq¡\1fî~£\11ù+b=ÝcÌ+õ\88ô\a\8d±\ 2Ð*¯@y\18r÷¡m¢Í\19â\ 1Üä¹Z\12j7q5p±§³\84        \ 5®Û¾z\98\9a\98YÌ©»n:Ö¿\8cXøµ\188k¯\13\16úL\18%¸Ñ\}p\81R2\1cú}VÎïèzù\1eI©È}O\87\1e¼±÷\ 2\16­ì"\8f\95¼\8c\17ûÃ4¹)9ß\895ݪ\9e±\ÆË|
+\92²õb®Ï \94\83\ 6JÎÞ4\18«\12#Ü0¿2\¤§¿Õáå\b\8f\ e\84\8f\18wZº       Û$\ͯ\ 1åo[àcè^\ 5ÍF/\ e ?ghÚ\1f\8bÃ\98\96\88\83«0P`\0\ 2lÃQ\89Ç\86¦\91Zí!\85¤xaÈP\aJ`üs\80À!\ 3\Ãý     ¡l¬Âì\83\rR^brþ a\8bË\b\94\91\90\r¹\9f\11\96\1aÃ\1d\87n@ \9e1Þ°Í»A)ö\80³aT­ìq\100´î\kîþ´²6nn{\96þ3\r¹ÀF}3Æ=4Í¥x¶ºs\ 2     \88q\a'Ü8kR\ 6í³Ì\16ÓNfÖ¼\90\81\ fó\826ÿÝbÔD\82\89í\84\17\14®¢\8b\87ß\1c³Ñ`wÔÙ®þî\92\12\e)\1c³\97\149c\96vÇ 9í\b\1c«\97Òö\87øb,Jih\7f\8c#,aÈÔ\16ÓÇ\14Á©°Ü\19µÚ   òýÁ¤Õh\7fá\14\ 4­Oñ\16±ë¥è\9f¬.Ì\b\r¦Æ\94\aÉKba\ 2\944[\ 2çcðN¢\f"M ¨ÖZ\ 5\9dAÝ%\8f\91àã\97\0)\ fQ¯N%GÂ\89[x\18a\1cç~@T»\0ea\84a~º£¢µ*\8a\8f\94?\1e\ 1'$±\14\f,*ðBnÜZ%\90\9c\e\86Ð\ 3Û\12\0\ 3´IâÃT\ 4ñPAöá¯\8c\18\14«\ 6%2\86¾¨´?»\r¹\r \8cêTm\88ä`\15\92\9cE©úÁC\8b\19\ 3á|H(Ó\19\ 3\95\8c\80ýÃR6Ôc\86\11\\ 3z\90§\9eü%8Ǿ!)ÂJ\15©\89X/\ 5\96E\9fU\9dw½á\81\ 6vHA\ 2ð<¡@\81\80\82éÉYð ÞµþÜ/oÈ,bÓ\¸RýÂd\9d \93>ÿ\19o$Û¦¸¾\12ä¸.'OE\8b³³\1aòÁ\82\ f\99LæÝ\ 1\85\15:½¸p,](YÀ\11c|\14¾\90¯Öé\84÷÷á%w\80É"_ÎX¤zz\ 2¼«7\8aÛ}¬*\8fN\10!
+\10~\8bà\80,Vg¾=g0\ e]\13\ 2»\8f¦Vpåð%S¦äHÂr;kí¸b\8d\93¦ä\0y(\90S!ZÕмá)ÖVµTXvA5:ñ ¦#¤åYwx\93\87Ö_\144}J\15òol?\ f÷\ 4?
\95¢\88\98\9cQ&·\16D\ 5<6är Õ3  ¬l&·\8b{óMªèK./Ví\18òQ\9f\97\ 1+\ f\10ILÛ\97>öá^s\9fJ¥3ä\9aÙrÉ\97¾Å\951\8b&`ú1)\914\17ÝY1á\81³\9f\fF¼þÂ\1c8y;Õ\88PH\13&1þ¡-ܨýF^2\ 5àÎé2õ%eÿgXÑû\97\90p\ 2+è{\f\váO        l\0;%;ô
+$\18aÌ`ñ\9f¥EýE+?\fßßJ\8b\8dê<þíµßæÛss!\ 5¶xl'\85\ 4 @´<\801\1f]Îo>\93·\ 6%aLc½q\96\15\ 6m6\ 6I° U@¹lÛ\90\ fx¤åBqzÜ`±Vc\87soy·\\17\ 3÷&¦¼\ fKÒë\1a`\v\19\19XÁ!f8\976Fm|q0Áå\8a\ f Ð\a\ 2ö\e\19\12Ý\ 1èÌ\0\8bA\1fáÉr\9cü\9föØg¿g\e¸>âZ˺¤`]¶\7fößz\ 3\9b7'ðÄ´Áß\80\84\8a/\91äÙ'\98WÎ@úÚc`o\5þD      ïÚúÝ\8bCÿ\90\8cÁ\82-.\1fu\981>+ϵK\94\f1`°ÐÿH¿Ñ^@ð]ôá\8f3ûØ\1dýnI*Òç~cÄ\9dÍ\98R\\84ºÑ)oeàñ\ 6\ f\7f§\94>·å\1f@-{\99\81ù>É9ºcª]è1\15sV&J:Ãqúªíi {\ 4C\9e\99\ 3\8e\14\16\87¾+SøÃ®\97bb±5É\9a;A\ f\12Ãgv;\8em|\1d±\85ÓV¡à\ 2®w@¯*»[\ fÇ\87îí\8fjë·c{ÎÛ+|<óñô9¤g|\Úþê\88\83\v×¶§­ákïgv{o®'ÐàJ%Ã
\9cµ#]?\9f        \80ÓͰl\99dßÜPè^a)D\98
+N\1aÕ\90)\90ÏÙU\86Ä7«\ 1ãóêÌ\ 5@MëÀÁ¥}\ 4ë¾àÅYgLVä7a\8b¹ò\91#\b|[\9d¬Û!\1e]Üë@ö#Ò­ªøËý×Üê\9e»¦¶\82#r\12\8dlá¢qEI\ 6ÕX,6Ê{sC<$\14
+\91\94®´à\9f¸®þ´D®\9fþi\9fõQ\88\94\18ÿ]­Ç70ÅÚÜ¿¨\ 4\9cÄÂ
+<¯$%ÿ¬\ 1ùß\13®+ÞA\88\8e=$\0Ú¹p\ 4ªý¸f\82\7fÈ\11N\92>ð[\7fÉ\86\f+Ð+9\13\81\97su0\ 6Ãj¶ëä_\15àøÂèM b\94\ 1eÞ¼»b¾x\82Ðܲ°evµ\ 6a\87¸\b\9f\ 3}2&*Hy\80x
+£ÏS\17(ç[+\0¸x\8c\95\ f\93'±Pï0×Ñ\13=\83\82 \øß0V,\85rñY´1sqx¹¸É¥"Aâ<Iõ¾y\8f«Ö{\93êüó_~\)\ 4b\18{\0\15ÓÁο.½à\9c\16.¨s¯ºm©|\r°\ 4úë\89\1fjíÔ½ ºº3o\1eÞ¿>\83
+µI¢µ ×à¾ÂVb\7fÆ\18i8¿RÚ|b¸\ eú\80=nrZ\rË0ZÕÜ\92\95UAµ¾²\89)\ 4qONFÌ\83Ù´<\8b7\9d*\1dÒ'*}\0õOÕèì}:F\rñ\97íEÄs'       \)ÀÅ2\v\19GJC\87Þ Ê:£dù\124[\9bHÁÃ_p\95NÃ_´\8d\13ì@ñkL-ú Z)Õ\18+±úW¥Â\9a\14\v\97\98+¿4¢\ 6(ö¢¯®Ö\90:kÛË\9f¤Äv\ f:¹¾nì\7fºâñLèEÙ \7fÖ±\1d\1f\0N\1aûb1MaC\14¦Nü3_H]\8b\89Þ\r\95Å\8dHb´-å\89åÕ\82Ï#\8dwÿÀäÞ\ 3§ÿ\86ÏýÃÞW'>|û:\ 2á½¢ZØ) |\93    nIq^UHã¾ Ñ"\96°i [@-/£"¼ÝYß8_Ò\94\83q\8a|¢×\18Ðäp\f\ 3;PÅó""4\88\8fbAÂö\ e<\rð\vzL\84ºûÔÕ±\0ÿÞ«\13\11l\9a\v\9eì}Õm=B\ 6î Ý\97º¯-_º|G¼\9fY\\9b\15{cC\ 3ao¯ØG\ff\ 3      Í£\1eÕN+\9bé\8aÈ\9fB`Y\1e\b\9f¥0*I.å\85o\ 4N\1dj"@=h+6|DÛ\18\89¸u"É  \89       \1dê\89¥\89!Hb|²ú\8c)n\r:;\18\10.\89+$£{½°\8be\13¬\v°\15\ 2ì\ 6¬t<\94Ò\85e\ 4¸\ fߨYDç\8a\ 4Äç6àuyÜ\80\14\ 3\82\17¯$\0Æ2\a|P Ko\ 3.ÅaÐ>nZ\81è\85:\ 33\8cÙÝ\80hÜ+8pêy
+ÝWÁ}\14ñm\bù      ãl\10\ eÆÑo\f\16\ 3\ 6óíí\16ðÜ\15MÁU<§ç¦g@\9fðîù\96¾\10\9fÖ\1cüÿ\bOi -
+l\a\86ä>ïóå9é¸;\f\ e\13m-Éúö{p\99\98¿ªÃÏ×\9bs}LßÏ\1fÜä\12¬>kòà\14º\8c(Å;-É[\16\9cú\8c¥7Ô\8ce\17}¹E{\83É?,«\81.¤Öñ\ e^1ãsëo¾Eú¥Ë}þ{
+7\8d\9cÝ\1cß\14\97\90åéÊÚ¹·\^Õ(ß«gf3S^\97\91Ú)xç\8a¹3¶ÙÕ/~\8fºë[¦Ý\8c\16\8e§»¬\ f\11\97Oû~Ï\8bfn°^Ù¿\80OÍÇ       \9aìh¦\97J  %ØÁw«¤Åå®  ×u\82·]Õ\89\89ÛAI\9d\87\17ht¨³Çe\84\91Ó\ 2üGK\8bht°¬\8eì\ 5üNÊ\vã;²\11«çE&¾xM\97Ï\8bò/Ñ\vÊ_£\17¬¿H.\82úaH\1fN,©é   #ô¢üÇÔ\bx"\17ÞûVÒ\96S~ì²I-\96ÙJ\96\88\ 1\1a\ 5"4`\96Q      \0´\14§m\15+
+\ 5\ 5ÃÑ\0\bʵ\ 3-ì¢(Ò\8c\vIzQ\9aç<ªæc\85jûË\8f¼`\98é\913<7Á}h+\8f\94\W\17\13\fpÇ~\8c¨\98¢\15¬;ßß¾û²[@\a\1cöç7\9b\9bïàÝç7\9b¾þ=ÿ\ 4m>ûÖÉ#nIºÛýÌjÉÀc\97'ìc\9a'-\8e \93L¶$ɲØ\13·e^K\16I\13ü\19w¤ã2î\89\1d\91ü°Ê\1fó-\8e\8fÉD\ epCY\<q%«®~,\15\95zÞï%\92É\139Úg³µ\1a#ç~)ijræã\85¢Ø(2\11\9côñ\aÈ\1dÀñÃZbZ\96\9f8ó$-yÊʽfµ,¿a[ª~lífO.8Ó#ídÉ~á\91\ eç\9e\ fà*Á\12h{;ø&C+Ê\9e×KÛ\1fp7oÚf%©»\r\16wIØ\19¬\99úYâ\ f¡ÿ\8d\1d(´ö\10\12×8®6v+.¶iÀ\19GÅ÷\8cö\87;R>2gÖ\83ò\ 4'Xh\%ÿÚô?¦\7f"O\7fÿü>b\8f\RO\13>>#Ü\16øA\r\11\ 6H\9bÄ|\f\8f\11ìÃâ>\7f½Ø\9ay\ f\12{\87àÚõuz³c¾«u\9aúÃqÆÌxã¸\ 2ä~\10 Øä¼¦N\84{8.8`\9eÕk V\1dàlm.²{P9¾ÁøÎ3q(þ´\99úºêá\1dæ\91+2\0\1c\9eÔ\1f?ÊNÇ=¡\9eÔê5c\91\­Øà|i\16©þ³UÝ×@ï\bg\ fs¬Jzº¯¹Öê\ fñ§×ÿ\0\8e·ÄÙ\1dÊú·Y¬\91ñ\9f\18,âý6v\13]©î\87>y¨\80\93ýul\8fÀÎÍ\14Ï>¬Ôw2\1e\82ó®\7f\ 1-Xø\90ÊÀcèþ\ 6é\82Ò?\14}×j«u\9a°\98àâ?\1d\ eþÉCW­KYÜÖÕ¥±\91\1a¬×Q\81ò k|\87®³W=©7\1cÎ\0     ë»°AgaRðß\82\ 1\8f\89\ fc\ 4Ív¿Y­è0\9f.\82ây\10\8cgª$|uçA­o\12!UUzêÃç9deݵZʺð\8d\rÇ9ì\ 1Xwì\ 5¼HìkµãñßGc\1c½OB?["\fi1ª×kuºÃcù9ífz\1a#Àp\ f\1dQ\fP¡"5òJK\>$;ë§¶\ 3ð\ 6r$ð\13Ïû¸'§¤Á\9fìÿ¨\91ÇHp\ 4\9aÝGy~×'Ä\8a)¾?§°y\9eéd)\88sO\912¯ó\0³Õ\19ìá¾\ 3\a¼\81X\95^«Q\\92ÁW`üDM^
+BG(~\ eâ\7fáÂò\9f¶è8dfE\85³¡\98ª¥7]HßÑ×Ñ+3uÔç"s\8a]$\1c<\86<îtyè\8b~oØ0½v±$\8fðJ   k\ fâKàÀ9-pø\93}Öìgµãä.Ϲ\1f\12_¦g\1dã\1d¿}\83ò\1e+x\93kHP¦øüvbëV0ÝPü\0A*;\17\82î\18WSWÜ\8a \9fU\88l9ïjG§@\83\9f\19¼I\8a\88tY\fZººíV¸
+Çc!\fÀ¦´\89ÒrÉ\14X\ eù\0\13¤ë\1f\81Áï\aà\93\81WÝqÊo¼×¥\82\87òg:I\0[\8eöf3©!T\15ò\90\89pEö¶A±\892\99Un/Üò>\10\10M\90~>\ fáý¼oØBuÎ4Û"\12ý;s\12Ú\1cÿ]K\9f\80ä\15%tö·X\b\7f\1e\13¸Ñ\82Í;\80tÊÈÿ,ý\98?¯Ã»¦;©R>\83\90\a\v­Äõa\86ä¹ 4¹z͸ùÕ\8f\8d\16\1c\1aJG$\1e\85fËß\7fe½#\96ÏýIÂ×é\9a\%\93M\16.'\89[í8\94%~\12\9e\9d)\87\r     [þ\83ºÒ7\ 2\19\8b¦=k²\17µÏÝ1Ó¹$o<\1dñ}±ÄÜK\974\84$TM\15\ 6'\84É¥Àø>ö\83`¢ñäêPk`×m®V,ê\0ëfZ%Ѹ°Í²É\84n\19öv\vÂ!6Ïád\10KK\88\12Í\9fíÝ\ e\16\7f-¦»E@\976Çoѱ3z^\18Ë\81oÃi£Y\19§Õc\e\90w\1fÂÆ.¹Slö¬£{\acúÙFº>Ï Î7è>Ï5\9cméöqÒ±hÎñô¥bÑ+GBD¾\1d\87^\06\8eh\8d\ 5e.>öI_ï|\84?\88\91ÇÇåz\1eù1\ 1ýû?óèQýÒ\ 4ýWaÔ8rD¼ªt¼ç\14cò«jÅË+\rÅpma\95§§kµ»P4rT\8b\8cV\1d\15Ç\13Õ\1f\aq&êîLF\12\17lGÀCÅ\8d&íÑ\12d##\82¼\85ÞgÍ\89í·ó]]1ÞºgvÆó\16ÎqõÛ\11÷\0pª­\9fùMK-Sn¹Ü)ÕîËâKæÇ¼Ð2íû      v\r\9fó\b_ñÐ\97\80;½ãgðåKúû0Úª-/lÙûd\vÿ- ¹\81Ý\1aoy<]\8e\857±í,ÁÇù4*£\1fuÀuAÈv\8czÞE·\rÑvµ\0öê\8bê\8c\11Ô\97ðf\8cGÙnÜE\81i1§\13T%ë{1uþ*\82Áì\8b\ 1\0\ f)ºG\88d-w\99Ôê\94.ñãgù4\v\89Ð\81\19\fÛµFúuá{J\ 3\8f«\87hß@ü÷Lwn\90-I-Èî6î\1e\8d\80é\9b\1a@'Á½§\ 2\8bI\9aÀr\19}.ȳ½\90ƽe@ò\ØB\v\ 2\f\ 6Kb;¹z<£(\r\83:ø{¢\12¨Kÿ·\ 1Á\91âÚ{v\9cz\v\81ýR\0\7f°\91\8f
+©KTys¯-l«U\1d:ðÒ_:~\127°ª¯\9a{\10\18Q\=âp­l\92\ 6w7\ 3úì5f\94û H7©\83Ô½þ\96\r&\14\aÿSm\85s\83\10Ûºs
+w.æ7XÙû7/»¢,öî\89\10\99ß\1fò _w&<\1aí\ 1¨èÞ\Ø\8b     ÓëgNS\a\93à\10UÍ7\99ÝþÄ\85û½¬^ý[¦:·"o\91Ï\ 1­\b6\7fÁt®W\1aí\¬ð\7fQr®WJæ!6^=\17À]\ 3´ùM9I2OÜÞgc~p@:\94(\ f\83ðÕ¢\fy#Ê\ 4mÔqlnGõXhVU\8aÂñ5ª\8c\15\93õKîÓ\9a\9eéi$Ï~Z`      Ë\aH\ 5G\1döD \87Ï9òbOñ0\86\13\b`$\8f¦èd\8b]µ`\eÖùøè\1d\9c«£K\12ë%\80\82åBxãI\15¢°ËãÕ
+\ 4\8bê\ 4fýQ\93Û\80\81n|\9aÅM\88\1d\1eáS\1eU~\9cEm\ 5\1dET\f|/'V®à\10/r\1aÇ\93ÚÙ\0\98zuK¨Ò\84I§U_%øðcØ\ 6(ûiC\12\1dN\99s\84     ZÁÂâWÈ7\16õt˯\17°{\87\ 2\13Ü=Q¼\1d\9aò@ \1cD\15âñyÁÙ\82YèÃS\12\81\85LÌ'é\89²\99\8cls}¦Ì\1d\84\97\88ôú\96Åö\80E þP´]\18\14)ÊE\9aÇÛ\ 2DvrÞe\13\12¶è\17\98náÎ\80\9fÓLZ
+k\96Þk©8\8f×ÖÞk¦\13Ä|"]\99\vû4f`§\92Áê\9d\837%\83~v\a\92X<í\18Â\ft4\ 3Í.eå¬Ð\ eó|\853\ 3kN\9b'  \eãs*\962ø(ÞÍ&\8dé\9a\1dÓeZÙxD|\9dEëèU\11ßh\e?Ê ?Òüú"ÿn\8c\ 6\ f²mÞF\8aåìz\ f\95½§jÏ1ðÿ&:\eOó ä\15\8e\82\ 6ò\8aày§·
+\99±õb\8f«\10}]IõN\9fV\14ý        O\84÷\1emɦ\1e¯ÞÖ\96\8cËù\9e\vvB\9aUñÄ0õ\ 1¸¸P'9Ù\ ev
+#\ 3 ¬\ fëgU\98cHå®Ú\1a\92\ 4
\90<\1fOp=iö7Ú\ eµÞ\ 38\99£¼ÿàNþLèO_p\13T\9dS\16\v\89R8ýÆ\fV×,¶½Àk\b¼x@ÓghG?\ 1~\1e´z  1\15°¡&!4^dní2\85\1eÔÙ|®µØo\f«þR<\1d¸\8få#ÅF\8c\a\98d7å\0Zw0\85ukÏ\8bN\ 2ºqÎ\1f|)\14ð&¢;<ï\89×\9fZgs¦^pQ \13\8d\ 4Ïø\ 2\7f~\94@\99¤
+¿\9bÁ%­2æ/-B|\ e\9dÉ´øa¤\1aüB\ 6\8f\18ty\ 3£ð\10\0ý\90hñvä\ 4\18nr\87NI\8eÅj\ 5\18C"\85¼+?\ 4\8b\f°1[3þ}2²\97¡ÿÔ\18ÿI[òç?Ü`\8al3¤/ïÐÑqA6\98Ü\88\ 4Òñ\9c\97¯¥\90\v\99
+¼àM\f\9a9C\84ë\8d3\fÛwvv\92\1d\116xj7$ð%\87 P}R£\1eÈ\96n2¤Kè§§Kæ\8bÙ«!_°$«¿úË÷\ 3/ÿQTË>¶¸\9c\90`ãFÑ\ 5\81\rø\vèAgÝ2×âu''\9dFp    ÛNäÁ\15\8fþB)\9f&\90¿Â¤xJqU\1c¿²§"\8dö&ª;N,
+\8a6\ 4®Ï,\16d\ 5\19uµ®À\f+\15dÐð)z\9ad»<¹è-~S\94dÊÓ\1eINÌŬTÃ\96Úó\16\ e\9fþÊS§\1eXBÌã2ÍÔ\8fã¯\94ÒÖ÷\98»ù\ 1kLÄ
+\80JÄß\96ú§¤\99\95\0Á.\ 3\0\1d\a\91\8dkÃlngâò1Gæ~má¿\1d\ 6ÈÜ\e\89\8b0\91(ó8PÜ\9aÍ\84\8dìD'Ëõç\9fwHZ£È\9dxZ\8aq%t\15mã3\83s/AÈ\84\8fÅ\10\93åýyè6\1f\11\12\98\ 5\83ã\b]\854EUâp\93Gäh\89Rf\f\98᧦\aÇË}o»1\ eð¡\8f,\ 2B;å\9b\92¯\16Û±ânüq\8b7'\8b9a\16~êa\8b%0"Ï\9cbÊÀ\8b>r%2x²Xñ`\ 6\88Þ\9a-\9f$bÃZ%\9b\9by\7f\12\9aid\ f\12ò\82%ïÍ\12±À\89y#\12±\b\97\93&%òÑ\91\12ó\1a#Ë4K\8f\18\95ô\e\bãî\9bÌbÀ\f|!\8bÂ\ eèÆ!>~I\13\7fwO&9@ÑÊî\94s¸§Á\8eh>Èå¾\ 4ßÅ\7f´ß§¿\89~ú#\12Ë`D¼\81\89[\84\93\12Üçzq/Vi¾4n\91(@Ú$G\85¸{ÎÒ$ñ!#ñäx¹\8a¯\92¶c`Ã0\89kئ\89A\8d4~1á\9c\fÛ\90z^6\7f:ä³È¦÷ãöc\17¾í\ 1]CMKö¨imÃÆ¬     Méǽ`JST8\1e\8fW\91Fâw"2æ(¤Ñ÷Ì\11@¬Gç\82äóIü'>\9e\98Ó\9f\8e\12\83òçFs°À\9cüa\9cô\94Ðl8ÄJhó\9föR\8cçàË\90EÏ \90?\89Æ\ 1Ñc.+u\1dZJ«¶*P\9b´KíïT_\18W.ÆÙJ\17½Ç
+åµõ\bó{7\15\Ô!\f\81
+\9d\ 4yáCY{è\17ݧ\96¸\81ñD\86Í9Ûê\14ÛG¡l=\94\1c¶e¹ø\1f\e´ä/¡÷\99æuVÞC6\8c|fioË[\1e\9e\ 5¹j¹Ôé\ fÅÂFñ\8b\91R\9e\aÒ_Ú\fÛ\80\8fíÍ\e\19\ 6µ/\v\9d\ 6\\98ÖË\1aÀ¡ý^\ 5ê\98"óüT\14îyñÂ\ 45Yñ©\8c²?åÈy¦0\ e\86¥åPO\ 5äJ\95§\15,ÛO\82\ 3\97§@½îG\8bͯ¾Oç\82¤µk\vZ\´iKZ\\98!uZ\85íöì\81½:\8bàq\7f\10\10À2\95¨\8e\b\19÷Ã\964.\0É\18úú-ÃÕ\e?Ú¹sq¿#\12ý}\9dÓ\1d«\947Z\97>VÙÎë\80ëʲrÙþéÈÕÙ\894BÇìß[\11Ëë}»\9b`%\9cÎ~ßpå4yTéN\ 2\93ð\8e\ 2Rh\9cJ\11-\e\89b$ðp£{\97\90\98ãM#Uàèu\\ 1H¼v÷DëÑ>´\113ùÈÖ¸â à\7f%ÛýH\ 4\ 4×kr\80@\83â¿V6.\1dÛ\1dÃ\91 :ÌÙ\7f{xncyðä?àØr¥ c\ fºåhUz+:Í\1dB\1eHg\83\99\93\91\ 3¸2ȯæI\90GÖ¹mr\98\10 ë`¶¶+kh¶¹uµÌ-­ªÚæ\96×\84[\ÚÚçV×\86[^)my\ 5µõ\8bk [^E\1e\84Ô¢[^Umyuµæ\16×\99[_b¶¼âÚìV×´[_\82¶¸+kÚ­¯l¶»%µÙ¢\9dÕ\ 2<Å8a½(÷\98\ 4¤vw|ð_vE÷\90n\97\0Å0µòÈa\87øHâ`\89NÆÄ¬\14¢é\14>Ë(¹õ9¨òÕÙÀïìi%\87Æ8uÐòZí³üÊ\ 5}\9c/妷߳\85\19§ÁhÇ~Í&­\9fæÐ.\7f8ù\®ý\99ZÒ¶\7fN\81i3\8f ÒoÙ\91,\91á=GD8\11\11§K)tùá\9eÂVÙÜðàÙÀ\80 d"ûhCè\ 4\81\1d\vú\ 4[\17P©Úÿ²Lì)½¾\aö]\91ª\17\ fä)§h{Ñ#P$Ñ©z7\84Ö\94Ò£Rk\90ßn }¾Ágfn²õÇ\83Ñ=\11w=&]6~ñ\0M±S§;\v\ e \8f\9e'w¿\96'ç`Bÿ\ f­f\P²£|,Ò\84/¯!\9bª35êÌß\9bë\83u<\13÷
+×mî\93\0\97\13Q\11æa9Øi\91±\1e¹l\12êð&zhüòg]¢<°\96F\94ö(0\8cã\0É$¹­\1f}8ñâ$ö{\9e ,Pbk\ 1(\19ü\ 38ÝM¹¸ã®\bEy\9c`\rîѾ!#c\13{|?\9e\ 4ÙιOÅê\\97Ú§<\16Þ\13ÅÊ£|\ 2nÚmË´o¶^éàÅM$TXõÁ:¼N\v2o2E\98ì\1f\8bX\ f\82U\ 6Â\9d\97Ö·å\99vëÁ\18W\13\82\8fW\80\1ar\ eâ\139¿\9f\T\9c6\7fÙ6\16h\97\8bË5MÂ\e\95T\À"\ 1QI"ö(#\17ï\8fX³CI\9eRèÈf\85M\995¨-\9eÜ\88\12.»¦Û\9b\8dÇ\87Òc¥\8dëtØéãDé±ö\91¼¾\9b\eËø´û6\83\eóIÒsè£{\9d\967\a¦Ç¦\8d»é±éãy\1d67ÿln,w=ÃñZøòûxü»\e5­e\9eà\91µ](\ fW\17ÚR\8d\89­1öxz6\ 4Øv\vZ\80NÌÎMÎdç)g4³\95\93\94b\9f\9eí]\9f\90l7T\14\8e\8aUca\1cK\91/9Æ`\19Þªâ!\12\9cXMæÇï´§)Ýz\8dlûU\1e\89\ 3\19p ®[ñ\7fG\94\a¿h\83_\vv\83AïÓ8\7f,I\ 5\è̦¯ÀG\r\88>3\85bþ@\1c¾\92\ 6´¸\8bè\18\98\1dL_\r\b\1c\11ºÓÕ\³\1e¾-b\10Óán8&r\9b\9cZð´\8cNè_\82èïbç\10Às²\a2ã9º¬\17*Qqx.Zi sMÅ\95èI\99óÃÓâ"¥kq§X\r4ù«Ð¶\7fZ\84IR\17Â\1aå¬\8fmìz\ e\88©AÈ8¯²\1e¼lùòÔ?ºI`lbn[;³4\14(ÂZ\89¯î\8f\17lL\17~\14\1dó±«z\0\7f­ZDõ¬\rù8Õ6Èò\9f­<\bxèh\123Oën\9fâ±#{\9f\ 3dÝÖ¡X\14\ 2Ö¯\85bHÓÐÜuà&`\r¶Ï\82£\81#ùE@\86Òñ\1c~\80ÛѩҠ8ílÚ(hÜlÒ\92Ä\ e¹ò@\9bo\aÓ²\1f\82&n\98\19ñ§\91Ð`'Î5l\aßsã\13Õw5\ evîé\97Àù\9f7Úzw\84\1a\17ð?xó­¸}\18\97½kM\8abðh\8c\1aÛ ¨\r\12ÕÑ\86ÍÜIàC\1d,*øð«ï¡WÞ\9aveª»©h\9bâs[\8djQë\ 3\8eû\9bõ-ûçQhÝ\96±Ø×³þò\17?\97\89º!}\f¸Úç"¡­s_\ f×\ 4Q\<-ÞD\v\ 3Ûlþá©{\15Ck\89Wuß0\94cxDçy!\v\8b\ f´ìpYØ^/©y!\82¥áq\13\15jwÌ.[^\11¼\1fK^À\89LÝ£zsÓU\94lD1m\ 6\9aÖ\ 3\8eïF8ò{²\18&\99\ 2"0%\1d\97|=s\84\1a¹>XiÉ@c\ 6Ày]ä\9dÒÁTq\89c°nk¤\1a¼ÍbÕâuá®$¡\93+÷~\91K\81­\98d¦"7V{\15Ød%Ý\96½RR¾ÿ¸3\95tWN\84\19ø\84.\1dØ\83?\ 1Ù­Àµêô\ 1§\87@\0§Ú04\98\1aþ\9c3ÛÄ\19\82f]ô\e\vB%èܽ´\1c\1f{\b\1f\8döÒÃ\8caÕº\ 2Ðã\1a\81#ºjÈ\1e\18nüCµ¯\81fÙþW\1d 5ñóbæ\15,>\1e\82\99$X©\9c\94Gá<\1f\99°gùº"«4ÿå­?ïÚ\1aùâ\ 1>6æ$\90\0\7fÖ~´Ë\17/\96\ 2zH¸·C>ö\8e\8c\f\881_Ø\0¼.°'¿®6êN   J\93\a\r{\98\17\ 6\9fñã\83Güð\0\87:XàBÙðÕ\8c\81ä6\7f\8dÈH\9d_Nii´µ\9dÞäz\0¨¢æFA\18*.ð\1eU\84=Ñ'R\91\96xJïÔ\91\1aãr\ 5³\96=\ 2¶&²ç\eƳ\\88\8b\7f\ fϹ-j\8f\1auåª?\14èô1n!2\7fèX&\1d\90ä\9bøqæ¹W\13\93©yTd{FÂÕ×É/¨\95ì       \ 1£xÏËv\8a\8dm|Õø- c\10>!ýôFö\127É£Ì\8bì {\8e8\13\ 6s\ 3\8b½\a\17¦c\19\8bÅC\ 5ö&uýÒ\1c©\ e.\1fz\84oíè¸`mOvG(ª1Í £ø\19*ºøæy\89Ê\96FàJt¾     1Ôy1ÕØ<\9aíhÕ1ÞÅyÒ\90-vØÕM\19\ 2A¢?\19    6¯N1\98çÆ&\84\1c+\16*\9d8/ÜS¦ûÄ\7f9Z\13º\aÀ0FÛ\80H»¥!àÁ&\ 1[\83Ã\8dÓ±î\987ibý\83]®ÅI\0°'\^ý^\9c{¥û#Þ¿úG©|\ 6ÜZz¥úp\ 24\v\83¿\1aí½E"¯R\1d\94³úùÇ¡\eËmîbªqtí¶M²xµ1{Ü^\f\85Ö\84\13F'íV\88K¹N\13\17\82b\1c\8cÌ\97\18+®ÇJÀP\f°sNÇNÀP\1an¯Ác;\87Ð¥\b´\f\ 6\1cÅá\7fUñ÷¹æG{|7ÞÝÇ;\9f\10é\80\eCz\10¾õ\98\14\90×>ì\10\1d9\84)ÒcN\96\86+ä$\8f.Rò$ÞL\8cå\1eÞÐá\9eçÆå/\15Ã\\15p+\v½Ê&\8a\85ÉÇ\14¥û \84\ 6.ÜÜoú\92\17ãÌEãÇ\86pñ5\ eý\9f×ÌI\10­m|B\18\99¢_\16        \ 4þ¯ÿHè´Ra\1c\a¼~\8bÞ?MïèQ&\8crÕýb\r´
+­'ö­£\8a§GógÓ£'+\8e\11q\91Ì[\0A\9dôYÅó    \ eI\17\7fò*F\8aü\86Ó±ù×\81cr\97¥â\7fên´¢\8bÞ+\ 6À{9Ü\19!V\8c|\14n\f\9bð²÷áFHñ·ß3\85;\11\99Ò1\fÈØ5¹ýKÃÛP\80¥kç\9aª^ó$VYA²:U&F²A\810#\v87ûä¥\8d\87\1dm|ý¥\83\12qëY\ e®Uk\ 3>\f£\94WμMíóG·±0¤N«\98^'Ë´\ 5ñç 0±\99ܹ±\92\96as#\1c\95\9e=µY\94#/\7fdª¦»ÞþªÄG'\17Æ@nÏûj\11V\1fùP\994¿m\ f\8f_\1a#[»@n\96ÁX,\81X-vÚd\f«'\ÁkíP«F÷í¢\19\9awÏh=\10Ù\f m\r\ 1>׫\ 6û\9f\eDÁj\9a\830\88\9a<\9e\8bcºa÷\862\r\1f9r\99~\8bZ}ªüuD|Ç\fy`¼ko\8d\81;\1a\91GkÆ\ 3\91Ç30<Þ0\1a}ÃÄgòþçp\91åªæ\1e¸x#\9eøõ¼k§\0²O\uÝ\9cë\98\1f\e¿\17©s\ 3\8evľá¸È\97Nw¢øj\8aªyBõpg\92ë\9aõõv\ 1\15§Â\19J\9f½¹\1etQ&\125âã\9aþci¦a\ 3\86w¢S
+£z`3GeßWJ\97ßÉ\b\82ÇïF\8e\82òCª.¯,ÙþÉ\ 2ú\14"E¥\å³ýº\ 5·\rÕîKË¡}\ 6\93|Ìz \90\ 3]|í\8eù\9aX\96Ïü4\và\83\83z̾ÐjòP*A«|Î3FÏÿÁ\ 2÷'j\88/¶.È>ÔÜ\13ã\ f@£ð}1Þ¡NëÒ\94 Úg´âÀdÙüD\v×Ðï'\8b?B>\84ï\970bí³Â÷âÃ7B\8c\15\18ÖðM\82    ÂP½\ 3\1f\9e\1a\f~öP\96\8d¸\ e¨\15|\9d\9eâUõ¹\1c¾¶f  \8bÈ;9\8c\8d\80\18#\7f\17\93\95\90\9a½ó1KI¨*wS\ 6±ÉW¸\1fµó\1c\14óäÏrý\e\1e7#fù\88¬L\11ñYk\ 2UZ\8bÛ¶#ÆKk`ÐÅy=\90/Ó5l4\ 6?\9e̺\1f\98Ø*+Tcμ/\ fè\b>\83ì\89Ms
\12¥æ\83Õ\v\ f(Ëç\8dæC\13x@\85ÇóZ\ f2sÍ\v³\17\v[\\9a\ 6§!Ý\1cäbh\ 6§?\bÎùB\17é\ 3&\81ì\0ç°Ä\v
\17÷\8b\ f\0w\17\90¾àîz\ 3¸À\85â\ eç\96\81abBþaaðÇp\7f@\b1¸Ï+\eh\f\ 3\83]\99Z1©<cv\8f\1fBJ.deÐÑw_\1eÃ\19Шß\ 3äÀ¨ÃÆ\a^\8c\80å\81Bj\88Ù\13ROþOT¥ïÞ°$½R¡«¿XöÑeÀ\1d0»C­þFî\98Ë5.c\9cyT\9a<q\95EÈó¤]»\1a\\8fÇ\82«^Ì\b#rBÿ\f¡©þ\8f\86Ó\13R\93\8d)\ eE\87\86·×\1az\9c¡§w\1e\7f\9e°¤I³{\9eã
\99L¹r]D\97GZ.\8cÙ
\ 1Ñ\8c\90è@|\rp¬è¬\17E\89\v×üѳ0Öuì\89\ 3&jÕ{:À6\ 1®ü\ e\7fÙ7\85¤°\92ø/\12\8aþºé¬\1df\96¯%X´\15¯$      ¥\9a°²,.VjêI&Ç4×à'±OÜ\90\87¤ýFl?òYY\14îf\\17ô¨br\e\96\85êò4W\1e8Üa\84\8eäܽ\97\1f\8f\9c\ 4\95\1eû\ f\ 2\9f\7f\8a£ël®Aõ¸\1c\0\12´ÒhÃh\8eå,Qª±\v$\e\rÙ¬x÷r\12?\18p\95]ù#~\10\10>=¿\ 5Ô)Û\97@åÞ\90záMÞ\8b\94¾fPÂ~ß\1aì\1a7ÀE÷/wÆhÜe\ 6gÛÏ;M\1fÐÑ\1dü  [¶(\8e[\9bª\0·¿\14ö\8fBä¶\94Ë£J\9aÂqq~æR\83\91n\8b\94Ѹh\8f\0\9aQw6¹{Àû]®\ 5Û¥\19\92\ 3@\8a7\8e­ó.cbB\1d÷Í\1fËå\ 3\8bÊ­\107\83¯Á"Xk\97¾\bÂ\v L\19ÏÈ¢·Â¹\8cÊ\1dÛ\1c+\91¿ÎùÏd8\ 1%:®Q®¼ÏS,â-\84\1dç\1e¸ÙÌ\86ÈÒðÖCxúÙ\93\14\v¯ØO\89\8f1:«Òÿ¯4×PÕ\±ß{z]\0ÔØ\1a°ç¢Aå\9c\9a\11@ù\­á\ 5g\8b\9c­F\1fÓ\1a#\83eÛfµ\rÆ÷?\8b\ 6\86½\15\ 2hß        \17       
\7fp¨V9«07èHÇÿ´©n7\97á&h¸¥oÍ\1c.°íQ|\ 5óÅ\1c¾Éê²jÍ\88Û\b\8f\87:n\83çM~\ fË=øTtÞ\94Uáø¦åM\81ÊùÀ\95Ù\8dß\80ªààÅ}\8dGÑb<lW2×ï-¦e]£y]Øsß   ½¼6ç\ 1\9bwl ~»ýã\8eÀ\8aÎÄ
+Dà3a(<µ\få\8aààO\9f\vëRÝ¥3İÀz¯\ 4õW¥.\ 5o°!fr\11~ê \91~J\ 4Y
+o\a£}5\9cË\86ð3\927\81\9c\92\f\13sÜh\8dh\147©¥ùºæÏî\90.d\14Gz
+/ÜP\1d´C\90\1cA)°æ2f@/=ºxbÿ¯:\12\ 3ì\83Óà±ÅÎ\ 1fK\98z\8b\17Î;\95®Úð\9fÒO¡\83\8f<\17G\14D] I\7fQ\ 2ù}gþä~ii\1eßúÈü9ܰ\1e\9cU\r\r[ÃP ¼®Ï\17\91\92lÿ×@´=bhÞ\ 2ÿå\11å§UÌ©x^÷¬XUWòß7W'ü¡n\f\9e\83ÓØ`\9eA\82{ô5/\1fiØÚX_Z=b\9dC;Jøö\95Jz=E¢+îu²ß¦hzâ\12àË
+AP!©lHÂX\10\96¶O\8c\8d\f®8·_U­\97¼¢ÈÝô¾«_%ò£Î¾\9a®fV\ f§·\1eÙ÷­|\9fyN{\f©ìÉ\82A\98\8fÙAàjU"_%ËÞZÁ÷¨\90\1f\ e(<\r\12¤\81ë]±\99\957,w\87Ù³4\87HùÖ,\92I06+3è\87é?+È´FrP\83³\©¢);ÄKà\93½´7ªjÞ=~\11f\11Ä7\93\95°][\10ì\v\rüÚÑ\ 6\94\15\ e\fºQF\13*éøØ|\a*      zÒ\°?Î&Ái\f\ 2_¿ß\9eÆV\8c_)ÓiA=\1d¼¢*0\DÛLÊ\80Í\84\ 6É\vŸf¨OcúTëÔoi\9b_AÈ\1a\84@pÉæh=²Æa\156\1e\82Ì+oµÛX*´e¦"FW6\9c@ÚX\0oNn\7f\18ï\9d0î°­øA9z\99XH©\1a¢\19å\ e\98%\vÙ\12\87RyC7+\vÅÂÊ­¼d"\9b0mºÀa:\ eÏ+Uc©Zei¯å\8d±ØtíÝw&êÿõ³þ*\ 5Ï·¢æ\¶\90ýÌ]WÌ\ 4ø\94-\ 3t`¨\8doð5.~±¹è²ÁQ\8d\ 53x\1f)\8e\ 1\18åö¯³cïwÆ\9d.¬¾nE³ò _§\1e\ 5c\90*-Åé÷0i¶T&¤lìNö@\17Áj¢Në#wÒ§\13çã÷\93Åò1ø\14â\7f\88°íñæ§\13piCg\8f\8b9Î6Ï\81\8f+|\89Ç\86,\vÍLõwX´ö\83Â\940Ö!søõd\r\r9Àõ8\81ÿf@\1f\0´¬\ 6\86\83²Xø¿x\90îì½Å\faR^+¡Y{j>»²ö\14¬&l\97V^²\93m\9fÇ@ªO¹¸*möö^¢\81±l\e\1c5\13\aQa\0\ f"âñ§ËÜ7\ 4\ fø\ 5Ô7\85et¥\1e}ÊXí\86iÆ%\ 4¦\9c\17­I£\8et¢Sn&      \e±\87#\11c\17/\1cÒ\ 5\ 2\ 4\87K°--\ 1«z\9asEÍ¡\rÇxå/\85ÇÞj\97¼à\98t½§\ 4\96\1d\1cCL>ê}0\8aKçO¶~½qtÓñ¢ZYzê\ù>Â\8dÝ2kµï\15ÁÆt\ e>F ô\v\19ÁhËn\ e»@\9bên}e%®\a«\93\81\99êî}±ÄcfËé\ e8QqXÏÝÙ\\88#¿$ ß¯\9dO}r¡\89Cõã\95\ 6\b<\v\90%_|Ò[ÚÇEôùÃ\ 5úL\f< ß!\88¸æ{Ëæöá\16Ú\0@´ñ8j\0Ï\8bÀQ³öË\8bo\8e<D\9bÕ9åâh£\e~Ê#\9cÑ©\v«À\8d8i£zì]L\93\r ¯\ 3HJ\8cp\10U¶¤\17F¥o\8f\ 5\eÙ`\16¾´ý\a#"ÄNNúHáµàV©À\9f\1e\8a\ 6®\ fÕ<ÏÐûÌòÓ{\1f\9f"Dh6\7f^¹óýy\18\10\149U})U\1c~­$x\89~g`/FnTW¢ñ]õÒ\8f\87É\f\f\970ß¾{`\9e\1aÕ\ 6ÃÚ÷"\10k\81ûÛ\f\a"~MÒ\90xL(®\vçý@nð\82dÆÉZ\ 11¬3RÆ}£/\9b\84\922À(þÜp\13ÿª_Ý\8e£\94É%\87kgò\92\8c\8dRÅ5³õÈ%\fÉÇË.\94ÌozI>þ\18ðÍ\85\13ºV¢8\88\87ÏÙ\1e\97*JU_\1aobþ¤ü\9b\95?\9cße~è\19Áô^ÿ9Á%Ë\7f8x\97±vj\ 4ä\11\15Fª£{Bª1â÷ê\8c\8dkµÊ\9eÙ\9a/v®\v\8eyP\19\94ã˱]
+®%Z¥é¸Ba®×sÎ6  \ 2Ï\9d\14\8aÑ\93³\e\86\11Äó´·N8ó    ~G\ 4@qõn \9fKÂpEÉnÁ\81-´_mAÄI\8e\14\8e\r".I\ 1\88ÓÑ\9f%\8d&¬û\9e\8b¢.\1dÃ\15·\95têÆ\93u*D±\1cÄy+ aKºnf¼MÇ7Þa²\\bµýó×/f\8f\84d\99r|§\f­·bÙ9ÚVÑ¥®^\8f5GA?\v­ãº\85:£«¶;W#ñP73\8b\1f8Þb\19\17Éñ¶övN@»Å\18\95ìÛØº$\ f\887\9f]\836»T\96²
+*/\rñÞH\81¸¸k=ïÝm,/       \9d\81\9d>\17¾\90FöÓ4EÖ\ 3k,ÂÉËg\8d\9fË\90¸\86æÕ\e\1f\9b@ÙQ£4\9f\19p[æ\87c\b.Äl\843Rr>7ð\16\14\85÷qæÕæ\9e\ 2z¥ÐH|\9a²v\88¬\98\10Á"bÚó\16^׫Í\97³êÀ報ߺ]vÅë\91 ÿÛ\86\9bd\Ûé\9cà:§ÁÕ=ÕÛÞbÌÆ\94ªY\v\1aMó¢%\8c\eCPL\e¦Ïæ\¦\8dâs»÷EU£Aì\83ÍÑ"°_\fâ}¡\84û\ræH¨õVÚg%Èb\86ÐSÍ<\1c<úzÁ4\13Ú\v~i\9b\7f\92pl"ö\84}m¼jùÛ\19\970+Ç\19L\e^\8bX\19p\92îØïÚÀ¡<      ¶õ\a\ e\82^ùº|«mûRÖ·Ìr¶\1e@ì¿\16\10\98zpakeå\926Õõ·\ 5ÑàFöØ×c\ 2%ùãb~É\ 5\94<\82\81ä\97ñâFDöJ\9e\7fbM? an\98ï\9d pV ÝUc3\86\eÈ1Ó9¶\ràb£^zçîH_úbb9$_¡t5¥véH4\9d»\95ÍvÞ*\86"@3\ 5\ 6\98¶v-\92\90í¢5·zæÚá©\7f\1e<pïúêzt¥iÚí{t"ÿ¢\8b\ 5<\80\90|\fkgþ
+âÇÅî¸MK@Ù³ûEÅù±m\9fܵ)qfKgî\0ÉÂj\84\ 613\ 4\8a\92áÜ]\ 1\94LÉ"÷#"øMYÀ\95\89FG¼N\fÑ!ÄÊ\9f`ÄÕ\94|c\ f\1f\17\8bÏöà9w+¢L\10¾®;\ 4yÛ=s¿Â\10²òÑ)\16|\98\8d0ÖÜ\16¥ù§ò i4éK\1c\96¢´R\1aÀþübÍH\18¬®\98Ý:B7¶/\8dôý½Ìå·É8àx'\1e¥·¢è\14QaÚm,\14Þ0°Â\0\10¾>"&iifxM\94\1aIqÌV        \95z.£6>»¶2æ-FîÕÍ6\7fy88\91&e.5d'\ 1\ f\1eÈ~Dó\818c©\e\99É\aV×s¡ç\1d~|£b«Àñûi'\8fÚ\89ÂpZ¬xù¶@E\99\93muXÙ\a\96-¥×²£Þ0ÙÍ\18t$ÆÞáÔkHa'­\11ùm\1f^QçH>\v\9b"׫\fÁßO\7f
+\ 1éF\eI,ù¶½Lg>\14×2[,GüÅ>;\eü\85\9cY¥aÉ\80v&\84\ 44® \ 6?\ 1¬\96\9eã Ò×p½[m«\98Hó-¬\9c\8e04Ñ\88ø¾\bèÄkÈR\r\84­¾Ô\10\1dË·²s\16r<3\8aqÁÝ\89úïp÷ll\9d\ f\18\ 3\86\ 2\ 1Þ\ e[°D\b×Ëù'\17ì»bï±§±\1e9\ 1[Ù:h=XQ\98=M\8d\87ATÆúW-^h-¬\9d\173\8c±¤º\ 4DÎôdI\91\13\ 1\95Û\1f\90\13\96\ e\81°[:7 ÒR\8a0­©DíÍc'¦\ 50
+%|<0Éù¼9ÉGAö C\1d,d\b$úý\12?rü²Ú,YcÕÓEú\18²ë!\8a7]\f\0¡qx0\97±*xK¨\bE9ÝëSB\8c]ÎÍ9KLZ,0¡Ú­SK!Ìd]\e#\168ÓÆd\82\12Þo¢\86\85Ùá¢s\95=\8d\ 45lF\10\9bV7çÚR\5$£]´º§\aíDÞ(ñ\86;\16»aÜ\b^ïºF\94\93ýWwuWw%ÉRI$!\bY\12\ 4\14\8ad,pnÈ\ 1,\96T¸0\84@`¨¡\8b\8e[\11t\\85Ü\86\98dll\12\86EìÝpq^#3\|àºa\86Æ\ 6*É É  È\ 6æÀ\1c@\13\ 6¡b\110ÈF\10ºÿû÷ú«\80\8b\8fo9Þíöîï½Þîï¡nù;ñ»Þï\81Þ÷}/wÐ.S\87k$\92K%µ¼\be\80\11îãÕ\9dN,®\1aAþoy&°ý\8f½\fgs}m\ e¹2//±\90ë\95©(!赦[W\ 62\86\91[÷0².\1c%\96V¸6\90¡.Éò ì¹²phá¾ä0ݬ3\83ÉØÚ¼\90.
+\ 4\92\92\v  ùÂ\r£i¦ä\94}EÊ(aM\86Ä\136³Á\8e\95-ÔS¾\8f×u\12IY\8d¼Ì mE!\81RÄCÚê\16\9e»²C\ 2\17u\[nZ\86EcÖ!\80F(\92¹]gº#\1fÈúØéÔ05xÿõQ\91²×Õ`L¬¨4\8d\ÊÂL8¹      =\1e\8a\90»\18\ 5ÌÈMÙ»$ð)\14wG}l=\82\rU{\vÿä\9bÝ\17cAæ\88mcC¢\97\1d\17c¦Õ²Z\88Ø»?ÂÂËÀ2êÖ\Àk\96\16\90¤P\f\95\8d\86=¸Uv!覆ê¤w{\8d\84\ 2&íÍ\ fs­ç®\ e$\9fÉ-5­Ý\8f¼ªÝ\91ð©rIÐ$ä$\89ÿ\1cOùQ¸ôE\ 69n\ 3^*Y|\ 2äâ2Á\94\9e\9aí\r3\ÃÇ4\93Ϫ\96,\96äR\9c=/Z4Z\ 1kánk\87)£.epÜ¡\12di]tÅ\84ü9\ 2ÓbÀrÎ\92êO\ eL®\k\86
+OK­µ·m\8f#\1d\93å%ñI)°¿\95X¥H\9fçPµä¸`¨\8fÙû¦\ 5Û\ e$¥0±%(~ÇÔ1Ùþá#\10qt®µ&\16%\83Ë c\12\88\92S\10Ñâm\17\Èñ Qó iïÆV\18U1È¡.\8d+IÞ%<eJùÛ\9a\86\16Y\81y?É\8d]\12\170\bÈOm&ío0Q½E\ e\82\14¶òÃ\98£\98\16\ 2¸®\80;Nl®Ù\89\1d¢d\8e¿/Â\ 5èAç\ 4\9a\ 1îU\12iØP¢ë\87\a\16À\e;  ¦àèH¯y\9fE\ 5éRáØ9k\v9\G.\847k\ 37:\19sFèK\9fäöéý\8e>bX-\18õI¨òÖ!Ð-
+qEpGì>Ò\94'E¨Õ\1fäãa\96LC\11   d£\ 2×ò\lìéZ\1dKîÔ1%lPr\13P@ ¯; \ 5d&/°ûÊ\95Ï·\93\19\97\14çf{Ê\95«æ\10\9fÌqÞpôì1Ŷ\fbeq4ƼÖ&\\92©ÊUrT\90±µÓPLÉò\91£ÃFòÓ\90µvõuÒëNÒpÂP²6\12«Ão\94:1\ 2H\9f3\80\vø­\9bÔ{êÚ$\92\822äYN\vÇRÛMá\ 5\91äತaö\88Ñá#§Ã\ 2\e\95\91â\8fþþG\8c?v\92<\12å·zíL§U©²ËYí\15±\99\1c\92Yu\ 2àN\95Pû~\8eÉ\11\85\85\9a"~Ó¥U\87V\80\ 2ý@áTÞc`¡\82¾qFj¬»}XD}[N\97Ï\ 2\97\b\ 3\ 1ÓC\fiQö\94\8eâ\14ð½\90Þ´$Á\1a\1c\97¿\8biLí©tìñvç;j²Üêf¤\9d\ f\86\11]©j¶z¾yªR8Ë\ f\15­¹Þ;Y+s¾ûXû\83©Æj\1eKQ§®4p²ä¨ÂÃ\Ô\92}°ªj\8d©¬LKöËX>jU(Ô±a½l¦>¥Ý\86ýµ¹Ü\16Ñõï\9aØp\9b\ 2ëö6\ 5Õë`Aâ\12v_\b\f.\82u\fëZoH\93~\95   ö\1eKR°Ï\1aÄaµ\8dH¯Iä±²F%ª\96°Ôµ+\9a#³Lâ;}4±\1d½ÁÚ¢!V´¦ke\14b_$m\85;Q}\ 5·\1eÎ\a\93¼   ô\9bÖVçxMV_^\99]4û9ǧÇ\93ç\9fS.Ò\99ÓU7\8d\921\98V\9f¸0p7\81v6\1c\rAäQnܳ\86\8e }:\85áF_å\8f%&Ð)pkIò\83\1aÊXªõä®Tæ³'YÉÌÊZÉ\8eï\89áÜ¡S1«ÚÌåÎk;r÷íÎô\1eå\7f\8a¡\8fÖ¨fEC\15y7ìG\0p7\90\96\9d£\aj\93s\86è\úÊ4Áí\19_©j\95\ e,6Øì\86u\1eVAb\99\ 5`,ý\86=1\80Óö\18´È¦í$\83!öùÞ\16\b`kÃS \10\9d0I%á\ 49áJÄ\875a\83Ê\8c$0\ 4\95B\83ÐpèÒá?æ1²\971.;!¯o\v´ba+zD&«Ñ\85¡%kv\89.}ïÌ%¶\95°Õ5Q\99ÚýlÏgõ3#\82ÙÂJ\ 2\8c±\195\88tIE,Ú\18S¨tj}2³)w%e\88\8dÑ\ 6e\ f­\99à3þ.Ï¡7KÑ#?
+F¹DvbØË\91±¿K\14\r\8e\9c·y VÎ2ÐH\19\9bÎ\84\ 4/à!θA <\96\96m\ 6\86<Ï¥ÑÅNÊ:iNâ¤éÓ\90iPÝ.\99¯ó{bP+4\97\ f\15\ 6\99?äg&ø¡R#ûL»þ        \90#Pi\ 1£¦\97\am\9b\ f\9c\11î\b¶/§×½#Ò\82Æ.ÍëGõI&òA-¦*m\ e\862\97£\17Àznj(Ê\8fÚ\14­\a»ò½#ֽƩ³\9fì\9e÷Ý׿ýSÌX÷Ú\16\vú\97\12·ÐQ¬{¶¯õÏ\fþ   Þ¹á\ 1ÿ\98ð\80ûX¹Ô0\9eùv\1e¹å§'°ÚîOÈ_æxïebmt¼\8cw¯Íî@\96Ô«\0\9bÀ¯³~±\e
+-­\91ù\13Ìtó\1cè\ 4\81¾"°ý\8b\94Çd\ 1\ 6\96\ef×ݲ}UÞM4¸R\9fL\ 2d/°Cx÷Ö><\ f|HI³I\12\94\1dæ\9eH³¯fî¿r{¹¦ì\ fØü°ëýSÒy)iÇ]\ 1\ ehiÓJdL\98\80\870`~,1åÍÐæ\9f°Þ\ 5ªQ¤Òy\8eSwÏq\f\14Gì}\ 3+ýCÃ2\14\f ÒkÍ0ý\8fÈ[\bbQd(䢿kë\1fép[Wû'\85\16\16G\92\8b\0ÞO½\14\1e#jÿlû\ f\85³ú®a\8f{A\84à¢ü\95ÛÌf\93L0gvg\91N\97½&I}\ 5\1a)kb\89\f'ì{Hdq±Æ<o¼ÓÇ\vÛÉ\91\94#Ùy\8f\19 ßFC#\9cn\82GìWC\17\108p­2wÝ\1e¥p*CÏ®A\ 3\91`\980@(,Å\anz\97÷\ 5¢\9d\91\1dª\9b­$qSÀâ\89*ÁvLEúl<ã+ý3Ò\9a\93\19ô`\82\eÞÅ\149mп?eéõ\1fê°G1þ\ f0,^öò)c$Â^4½\18Y\1açú®k\14Pæ®C\ 6u\ eYû*\9e ä\11\10æ\86BòÈUï¤Iò±\ e\ 1s\8fØåz\95ÿ\v\15æB
+û`h\95§ÓHÈ`\97\850]á\fY\uBà¾+\88âïÒÈ\11\9b¿       |)\99µ-Äî^¸i;\1ao<M<96û(x×­\eù¦4{+â!\ eLÞv5¥!s:Xir$\aaM4!\87\b\9fÕç\ 1`ûÜZÐÇ»¿â«þé\ 1B\86T"?|$½)\0X[ì\96´X,;Jb,)\974²Î\12\91)\ 6\94Ý£EW\9aÂjæ\9a*·ÔÈ[\9cáE\98ã\98~&Á\q\89eH\91ñ6[nw\19±'î\93lL\85OlF\ 3 ÙÙsâ.é
+\89\8f\90ÚýÖ°f¼\ 6\1c\99÷å\12´>Kf&[\9dû\9b/¸;\96ØÅ¥¬÷\9cÙ\\12\f\16À×\86\1e\9a\82(êBQ¹´K2½\Ó  x\1e¦cè\84<\12Â\1e<a\ e\\1e\8f\88\86      `l®\eòÇ\96ÿ`\90\8eI `¯ÕÅ\82а\8fc\88÷4\91ñ\1eâλÜï#ñ\1d2\99¢ü\16ßìö\96+²lÈÅ\1e\80e\8d\7fBä¸L\a\eï\86\95{\ 4®Ã\8dìd/\1d\86ó   #§4¸Ç»ý¾x,Jòã\11µJï·W\ 5\80Þ\ 3\12RZÉ,Zâ-7\84¤¹\92×¾Ñ)Gdb׿Üî¿pÈ]\vv\ f}BÊ+l£Âóc\95Î\15A\94#ÓÀ\ eô\94ðº\80Ïc\98_q¡©¹Kêõva³ÑÖç\12\98Ës¿1ùës¿°ó.\ eôÏ\1d\97¡ØÆüqö\1e¡÷\az§Ï\11ùí\81NJ[\vM\88ÒÅ`J\ 6\ 6\r6çÛ\9dd|\85ÁÛ¸\89^ÉàÅ\99\16è\18ºÖ\96G\83\95â\ea»=Z}7Æ\92\9eðrcq­\94n\14\ 5ËG帠      vKCÌ{â\85\19MãdºKC\81¯´¦Í·²ã\80û«¥Ë\ 1\aÅ^\0\80Ü
+`HKæ   é\ 6\ f³À1.\19о:ä¾Xãd\f\7fÀ0\95\ 2À%aé\92­Üµ\99s¬ã\8a&Ô¬ú0ó"\ 2\9d#\8b#º¶ÄQ­ë¨×uø\ 6Èósd:\ 4S®ë©ãßÕt\13\fû\19+ÙK>£3\88Ê\9bö2µa\9féòµ©\87!r¸òª\93\f\ 1N±2+Îÿ½i\19çÃÂAG5\8dU\eZ\85pë/\ro\1a\98Õrßú0í\95??\v\95=\ 6÷\95=èAÁ\1d.94¼®<íê7º¾x{ÁðkÔ§\0\e\86þ\ 5yì>Ç>\e\1eHoÈ\9eϯ\89\ 3\9c\82\85ï¥í\92\97/Ùaà5E\ e\15\85\91\16\17-\86\98Ä8\92\8aOwÚ\8cS\81¯«\93\19\aB6tmV\17
+_kP²\80\86Ö²\97Ò¸CÑ\\ 2\ 2¬\87äË\86\13ù\99«IRÆí\14#`!쿪ó\8c\f¶_¶\a©-'ÒÃ-гX\8a\1et\ 4-C\80G#J\1e\89
+Þ"\86Ö\ 2\edPô !ë\85Î\f\16\15hzeÂÞÆÛ¡ùÖ\12=DC/À\17\18\7f9\84¤N\ 2\1e \10   \ 5\ fT­â\1e\8at~\89!S5Z\87æ#øc×\81\8c\9fýáz\16é^\ 1V\18\15$\ 49°)yÕ¨s\bÈGõá&P°c\7f(\0ª \95k?¦\vÕ\13ŪÆ\95\9a\enéßâ9 vàßq¢în\ ej à\89Ú\98´\93|jf¦Ky\9b\ 6\ 6\:\82\7f\9bíL\÷ï\a¿\94Ök¼\0ú]S¦ÞfÚ\19_<§·\85\11\8dle~`É»\94o= \19[Ű#eÌF7.D\15×Í)}ܾdÅ×áîù\8ctï3W"\96<z\84\8eH¬¹#b\17
+¾\ÎøA\vH\ 6\ 1³gÊÒ\9d\88æ\17}na\86¢Û      N§b\ eö^¬Ð¿ÍܶMæ~àìx­\0G\87ZScÁi\89\ 4 Ú±¯È\18Q\0µi_rÚ\rÞÞ`\b\9c\0¿wµ3\9d»\983\9cï¿®/R÷ü\19Gùºí  \8f2>~Q6\9b=\ eï°1\16\97-\9ftØÓ®Ý×\99\ 5¤±\9cÜ\ e\ eÂÙá¡ìà\9et+\8eà:\ f§g¡1ëo?
+\91þ\v
+\93_Ù±\84¹ý\9d\1dh\82
+B7¶ZzI­\93\f¥\86ÏCYs5² [\94°®Ð°Ó%á\99è\aL]÷aF'\9f£î\ e\0\ 2\8cFä;¢lY\17\88\83\1dl\fuµ0cdÔç\11úz@¨\11à\b
+K\ eïMè\\1cH\ 2NÙÞR¿g¡\1c\r\1då.\ eÙèJ\1f\ fP¸t\9dÆ\88\8ceC\17ð\98\91âÂ\\ f\7fÈ`\ 1Í\81\81Á«#ÕóËÓ9\19OKÌÐ\91ëú\ 3åy¯òZe1í<Í
+\8b\15áb¸\8fïFç-ÅÁõ¤oy=7ü\13:\\14m´ýò\89 \10\1dü\\1aERû¶\9eíBôo//\8a­\84a\10ßòV<c¶kÊ]z¢ó\1c¢÷J>û(Ý\88*ví\92bg'\vQ§ï\91¶¶\ f=ánL¼øï8\17|&¼{¿\87VÇ_д_¯ýþÆ6í.J]ݱ\8f³~##\1eÉÛ\9dâ2%Xº\90â\1a\0L\ \ 3ëúà¨,3µépÓ\v\9cêfA·x*K«d¿LU\87\82Ê\ 4£¶@\80\14e¥ú\93¯¦el8\94\94¿8e¡\8bÁ\84_fÈ\9e÷¢\93è¢ðû   ³¼\16XÂ-ËÃé\1d×ø,\87\87\98H©Ã£\89¬nÜÉS\14àÆXnÈÓ\11\97\9bà7¥Â©ÆS\9aÝ\f\1a\90óh/dGNªxU!\.\1e\15epY<è©\vwGÞ%\1aÅ¥3F)i\96ÁC\ 5*\12|á$ýhÝÓ:[p\84<\99\90²#cæ8\14\96û,é ,ºm\13ö\1c\98\94ÊлÄ\84xZ\8c§F\e\96\\ 6\94Ù\ 6)E­RªÚJRµ=²[VUhCÚó\fl\847\9d\94\14!ú\Ã\vÁÅÿ^d\ 4\v«:Ä\89y\ 3®ÒÉò\91¿\82b^ÒÍ»\14¬\96\8d\19\9bà\12\92%x\86ÄOô\17\92¹Åx^]"RÁ±í\90J]t):à¬ß\r)\ 4Õâk\7f­\8dÕ°`2~@Á¨rK\ý&\96\95MÕ¯8Âà\ füÃ\15à\97\04ôJ`rª\97Í"²i\1eálÉËÚÌÊ\1cÕ\18ÕíQhsY\98Û99\96\96²s¶\8fngx/w\8af#ÎÕîúØPùb°Ê0b\93\ 3dsx\1ek\16ÿS@)\93¤L{e:Dç»\8bï\19:å,ÚÂмwGQ`ì\1c@nü«´à:ó¨a¼ðË\93vg^ste\18·\1dÿ\b\8eV\89L\ 2À´­Á¥9¹\1aW\9d©oò\83l¿\11+|      On\ 5q"(È\91\19\1f5FR¹F,u>km\1f\93§4\ 1´d\ 1!\90;Â.\93F\0*HÀzXÔsq§E ½æF\14°YU²\ e*&é\8a_¹8L+\89Y\ 2Wi¦\82òçCÌ{ñ)\9a»\10˧òX\92EIk\89\17£Ï\9d·\84Y\82\a\188D8düÃ\83? ¼\8c\19+ìÌ\ 6R\ab\9fY\v$\bTÿB\14\90!j\13S;\82Á%ø\92A%\f#\86e\ fz\93\82BQ\ 1\e\80
+p¶ÊgmHµÓ\8er\18\9aE4V¥\9fSErSÉíæ\12éÃ.²ô²ª$\1a\96H\129*$\1c\94ª\89\f\12\8d\ 4\8b¥\12\18¤\9a\9a,\92þ\10È\91·SZ).Z\9a1i|*h³K\80¦\8cbW*hÆ¥í©¢z[\91á°\8aô\ 1E³^VúP;á\10\ 1<!7¬°C¿NõkZ§¹]¾\8e\ f\1a
+\17º ¾ÄëUS©4Q\12;Îê\93E¹[\ 6ÿ}\1dÞwDK    SÒ\a¦CaFWD\87S\ 6×É:<"P?Ì\82¯\ eÉ^\18a\9c,©pí\8b­\82ͦôd\ 1 \8cDcV\92\92\10Ëù\87\ 3Ö"WG«§\bs\ 1xsgaen­\83\1f\97_~dóÃ\9d:\ e\8f³&\9d²W\87\\1dâ\92\9aÛ\rS(²h<i¼iâ\80$ßÐJ»°ñÙ\13î^ >\98Ø<e\v´®Kôý*ÿ\11U{\15\15ìȯ¸9ã#'®\ e\ f-\88ô\89¦\9aç\8cëÞ2\ fC§o\17\91\88ËY¥  }§\1cäc^2´¾_7ipG@FO\ f+_Pɹ\16ÅÈsÈ;\7f\9bñÉOÄkJm\13\14¸¸d\99½\81\1d\9d\92dQ\80tp;¯ñÙ;°Ö²\85\e\\95ä9¾\ 2õ¬£å5Ì\9d§\97Ö²¯ÃÊÍð?\8d"\ 4jCÍXm\1e\84\97\95Ý~\80¤÷DIh³K\8a\17]²d\81\8b«gù»ó                \84uVáM\9c!áV0X\12\99§°¡~Ñ·×JàÔnæî Qá\85×\rãÓ\82à\ eêØx5\90pæg\9cò}3\8e©KWË\1eü+GJÎó\99y{Öÿ\9a\83¡\8a\7fÈ>\ 5\18\92\88fd\90\88\b\1c3\ 5\8aphvõ1µ\ 1½\15\82Ò\99ã\10æøú\93Hãx\80¥o@ÁåáÁçÛÆ        z½H«7»ÀáKô¸C\98}\ f1+wi\92²¸»·\92Í)ª\99#K\fÖA\98Ä\8e1-êË*¦U\9cB)É\fÐnÒ\86>î|\f\90åµr¼.fV\9f\9e+`Ée±2\15¸dÞâ\b,ÃC\91÷\91â*\ 4CT«ÿýÖX9k1ë,6¶o÷\93\91\0\85ô\ 4108\118ú\IÞ\96ËCvïõÏètT\8e÷Yç:\1d\aX\18óILfIÞ¾\18&=hï^\98\93w\9ak\96qBò1ÞkµË¸¡\1fxj\88,\f\8fpAj\vét\vf\94Úæ)h0­¢q\9cRÙcG\86\1a\93Р   ¾|Êq\1dÀ\91^&çæ\1a6±h1y\8d*ÒR%\0\ 4ª¡4\18ÍU°$ds\vÃy\95²?\fÍ\99+\ 1\82DJ8x\7f¿Õ/\ 1·Ré´)óÒÒ´ÞU1\r\9e°OüØâµ\85à<êW\8a.¢"\97\ f\ f÷úxç\8cÈ\88\9azÃFÿ \8e±N\ 4Cö,`¯Bj\ eF\833ßÓ\8f\9a\99»9\87Ø}ø]èëjW>æÌf8õ,iãy<KèÓ+\85\8e¾4ÁgqØ\8c¸cóZyáÕ°\bC\81A\1a\18\98z\bè\aÀÒ­\81ä/\81Rue\ 3\1aÏ
+*³Æf\1eh\10 \90­A\8c
+       *Í,¢(-\81A+Y¡\96üT\12û\96\8dlÖ°\9f\87ï½ùÃÆ×p\18c´Ùk0\8f-6\9b\1c×\81ºhb=5²t\1c\9e\9c\1e\86\aì\9d\93x³æDð®ÏÈ^\8dIÛ:\ 6;?
++fF\7fÆ\90Â?qáI'S.\9dL²u2¾î¢7àó\ 3ÊË\85¦n´p\eÕ\94¡ÂÇòvsPrCŲ\96EÚ][\aB°ÛM"w\8adÒ2\9a£-\94ê\98
+Ge\13\aY\9b×s7 F}   \9c\17s7îæRw3Ç\ eê@8«uÇH\995a"\0ÒÕY{l""k£Ë&\15üYþ\18ú\ 2M\1f¥{Òâ?½2\ 2\a@¥$\13E(\8eÆ"<T
+P¸)\93F\8d\89\16Áä"Àß\89^O®\f&ÄÒ"5)Ä@¼\85
+\17âø¯z$L¿é;\8aòÀ\ 1b9k¯)ÙÎÒ\9d\9céÔ\17Ô,£Ëp?¯Bõ\87K\89Ò½\7fÄ3M§ÔwÊðA³\91£\8a\8b¹#"\1eÜÞ_Òä\ 2F\8f¥È+^î)pýò\17ptÊ,i\ 3¡ÁêÐ\87\99oP½ò\10Ø\ 6Ä\1e3¤J\14tzRõRê7º=\14\1e\80uV\1aÌÁ¯sô\ 1íÄ\ eóD}\8fÅ\81n\ 21­ñ\9e\8e;\ 2Þyèy\8b\8b\978\1e\9cß\8f}\ e9äSès\ f\17Z|ko>;Ï\8c\93í\84²\9d\10ºB\17s»Åõ\97°\99w\9dÕg\16}ï¢\ 2g      \8eÔi­¬M}¿}¸_eØê!l\ 3ª²ìOÜ\ee\97Ô_T'¨s ¡ÔX\9cDçÛùÂ({}E÷~\98uR\15\8b\11C\9eÜ0²Ôj/´  ê4}Þ\8e\85Π'ÃI\17gä0RÓü¶îg\97i\a\8e\89g\93ð©hÈ\9d\1e\v˰\9eH\0E\85Â\9b6pX~@ÅCÜ\86\84Ý£Î(­ÿ\9fEÉÿ?ßÏ÷óýüÿ\7fóð\145C§é\gkqS\9a»½\9eã\eÚè\16Ïp\8c3\aÙþ]\82\ fEO\9d·Ú¨]~à\13A\11ðÕn@=ÂÎã*bÿ°¿Gü='ü5´Ëóîuûø¼\fUíw\19_p6j\10¥t\9eÍ4Ý\19úh±\vôõ\89ß\8fºKö~6§×¬qù÷ù\9dn»ü(ìèøKg¤{C0z}\99\8b*ÿ     \18^gfa\81¡/Øìµ]=Ï\86ß9ñ'ïûþ\rpfy@¡º½Ï+÷Qî7|Þ&Ãmìí;¼ZÙëò={ßäõñ³\1dÎ\16ì\8f\\1c\1d\8a\9e±lë\13J&rsKCFçC¥ÑÌ,ÿ°\95Áÿõø\98gõÚå¹ôX\b\97öºÍ§\8fÙì>ÖQ\84ñ\99S0R\9cû\1f\7fê÷=­¿ØMÑýMÇÞºiþ\ eèÿAÖó1\9a-\86Es\1d\84çÿÉ\ 3\1e\ 6zÞ³SÃ\13·ò_ù$³?û\8a¯\7fÜÿqUï\8bÉ(*½ù/ô\15^ð÷D]\9fdD\ 5>ÿè*½áä¨é\89µ\bÏ×7ÿQUï\0Û¨\98ûE#y¼ÇÚÿS\81Ϩ*½ÿsü\85W¼¤b7Í~>ȦFDxäE2mA7cpé\18ÏÁÙ\14\96wù1\1a½Ñ%ÇÞÆÍä\91L\1cp\ 2\84c<ééÎÛÒgÞJ\89þ¨66ox¿AD4]\ 5ÑGIAO/TT±úÃÛà&9t\0Þ¨P{|#1\80\11@5k©ÝÄ%.F\8c\\8cá\!E9äO\b\9b\0¢ª\1a\bù0\14\15\aJ\9fÄq?6åaFL\87Ô(Ò\9eW\bÒ\9e*E\e¹Üø\1fëû\10o\18\80Sº4"Q\ 6\8b¼B?\90ýcé\96\ 6\12\89FMßb¨å\8ae\93s\0H\1dO\16\ 3Øéí*1\86ÈÕ\87ªËí9\vÑá\9fì8\92\11Ââ¿>Å\b§H³µtßúX\9f°þÑ\19ï\92 Á\9fY\a¸¢Èc¬ù&Å]ÕèÖ\1fb\ 4\1d\9b51\15W\16w4HýùSì{yYß\81áàD£c\nVÂbæ\ fÉ  vz\ f\1dôïbàFG¤ý\8fð\ 2\13º6ªb~Ä\bíÜúª-iû\1eü\vNE>µÊ>#5J<\8c¡\84É\8fö'Ø;\88|/#{\8c\9fT¼«\ erx\83\8d8R\a\98¹EQ\93      Y\9eØq\8fØ 1ªëh!¸´\ 2\81µ)\11j\rÍѹ0\1a\12a ÷ú\8c\81J\1eö Õ\1a(Èw¥\15\80\8b%        0\9aÙÌ\r2ÕJ        $î\ 4û\ 4håHèå<;0"vx        »P\rhQ\8cU&ÌQö>û\8d»:\1123»\84éc\84i\88\92\80\8fÅ¿²¡yÌ\0\82z.T\1c¼'\15ºU\82C\91`\eF)»À\14j\9fPz\17szìüíæx\117®í9,\9c\0Ì\ 6@üj8r©
+F+\8bW\bÞ\ 1A=×]¥!3\89\ 2j»Lòî3\87ÿ\1e\1d\12ä\82  @h\89Ê\9a«Or\7f\94RD»\eÊìKïø@\83Àh\95=\88¬÷^\r}®Çþpkº\ 1=§ëAj°\8c\10j\b~¢°¤%ÁfZ%î­\b,$\14\81H\8eÕ\8a\90<¨AþÅ\9f\87t0À\ 4ÂÌ\12ßCoÄN=ºÐ¤\ 2À©\12\14¾E\98\8fMX\ 1\ 1×F\99ø\1fñðÕ\82ð\1a\a%\1cá 9X
+v\ 4]Úüê\9f\12\8büdsïd¾©\1cî²_û\91ÌgYó\18 ©¯\14ÃP\9báïKU&Z\8d(H2Í(ÞÀ=Ã\84\83ý&¹Ñ\9aêÍsä\9aþ3\\ 1¨G,\99\99¸\9b¶nV\ e£±Ä=È·ê\9aÄ)\101f¨¬=\ 3ûG·f\ f¿è\81<Gø\8cür\8f˪3\ eq\1fÚ)\0Ê\8c̨ýÞc\9c\9dzÍCû\82:\9dç½dªI¢>ësÕ\7f\83\17õ\98RgÿDßS\ 1\8aÒP\9bê{ÿö&ú\9e«#ü\89¾§\97Ä&úg÷¤\ 4Æ£û    ¾\96RYð%\9cÇ\7f\997Ðè«uþÚÂ\97ÅÚíöaóÃ@\89\8c\91\82*0 Z\8eÜ\15ô÷Áò=\vV\7f±\1e^\8b\92o$ÅìP\98R0:\11\ 2ü>^q\9c\b\93\11\0Ó\9eÝУh\f\»à\e\e\96\14 Ków6\85\1d@øà([-? En´\ fÒÿê     \f\1d\97YõÈ;©÷%\1d    øVxb4á\80M.ff*;=\89~\86\86\19\a·¢\82ç âÏ\90h\f\8b\99\99\ftUÎ[\8bWE\90péR[-O8Ý*H^æÂ^ôý\83C:Ãú\18\14\1eï\80\86'àF\99R\8f`\88\16¢ë¡2\ 5\ 2\94\8b*À"\ eû\rÁFÔè\ac&\9fÑt\8dÀ
+\ 1h\ e Õ¢L@S\9aÝ\ 3\83\ 1ÙDr\ 3OëiÏ\95\ 1ï\17\ 5\1et\88sàL$â\8f\ 3\93ÿ·\96¨©4b:\85\ 53¼])\8c³J9 \1cª\95\ 5=\87¹P£~\8aº~À\95Ùçâ:\7f1WN\ 6NL+£°P\8c/L:¢\9c]Iõ\10¡\vüF2\1c\90ã\9dF\89k\1c·Ë\ 3·\92ÎÁrµc¤z\0EM¾ÅÞu\17+V»\9d÷^\9bd\ 4¬i%3R¢zÆ\83½Âûû\9e~Zø\bÈÚ"Èe\99^~Ä£üI?\14\ 4\11\92F1p\8aµ\830\e\8aö*\11\81p\ 6\84\85|2\8cÑ\87\81d#=ÚßÊ\ 1Ü`{¤\ 1ª\aï\84z­.À\93µNQíä vòã&VÎ\8dxqö.\8d]ðUöñðg\8eÈY\9fb\ 4wrΰv\0\9fM\17ríwÀ"ÉTî\ao â\ et\ 3ü\9e~8:Í\ 2\13q\ e1ëyøòUG?!\9d\89jÉ¿\81ä\91?â§~\a±ÖóñÙ\bQDù\90\84¼\9f'Ú}Ù%¶óñkJA\17ß°ÊóÿQìUDm^M\92\13Õ\a\8a\86Ç>\8ff\ 3\80\1fw=[á,\12Ôï¦âox~Ãv'\97*&\80\11Ý\90K\89\1fî\14Qü?\1f`\15ïTÌ8öÌPP\0'\ 6\8e/ØQBZ\12÷F\81   \\97(z2öúÉW\85\196úÚ_\9b@\8eüL¤J¡\93®¶¢2¥ø$\90z¥~f}C:\99õ\9aE\ 6¹\ eqÖí_\19\ 1\86ØtÍ«­Ù\80\bó\99U\86       û%»1Ørïè\14\1a@½üCÕ\P£ÂJ\7f\r\8d\91Æ®P\82\95³\8f³\v\ fØÿ\ 1!\7f\87Ù\98ê·\924K­ô\13¶ôÿ0ë\1f±½\ ek??\16Æ\86¶zb\14\9c\16qÎ3\1f\ 3Égß=sÃß|þ[ȧK­èH®å\81k\87\97  E\13÷\7f¹\8e®[@\8d¾èA\91ÿÁ\96Qª$
+ß}å¥!x¤\ f».\96\ 2\87\82\90\ 3NN2\89\13h¦1\14î\13®
+å/»Õ\ fl\8cI`_R\14h|²3\0:\9cÊ\17æ\16qC\1fwïúðÖ&*·$5ÐûjÂ(î9A\95/\br\ 1S\19R\1d&úe\87EÔ(ÃF}\9b\95\fùàãs\9c\ 1 \ 1­\93øñ\84®hßÚO\9d[\12R<Ý~ö\9f\ 4\91+\ 5Îõx\91¹\80v9jÊ+S xþÓý\8e\1a»*çÖe\ 3aÅA¢\1eòa\89
+\ 31\82)\93;Ô²XBL2ÍÑOd+\82\14³÷¹è>\11ΠÔ\9a\8có\17\ f¹YÅ+ô\9eÌ|ÏM\9e\83óB]=\f\ f\97@à[(\91¸Sßax8J\93\rì`\ f°P\86!S\8eܨ,HN\11ÎåÀóD\89\99»AÆ\90Ç\ 2C\8d\e¡\bî©ÛR&h\8fs¾"$í«ÕÏ®\96¸Ì]<ñt\13¿;ߺI\879GåÏ7ÖÌ=`ì\9fR/&]¸\7f­\95ÎTã
+;~.\eçeªOÏAð%\A§\96w\9e\8b\85\17=\ 5AW¤Üç'±ûì\ e\19C«û\19fï#ÊL\ 3É\88(\94Pl«a\1e\vr4ÅzÈÜ\0ÚO1\81>\ 3¸\8cJfõqîjôÑyìÇÈôÒE\f,~[\80Go¼$ëmÀxK@¹\ 5ý+ñòôI&\ 3Aj\14\17    -ÛÍé\89|k\84\97;ø«&û?\8dµ»\88µ¶î#Öô»öv\9cÅÎàw\12
+\8c®\b\9eÙRãë\e²\ 1\19âR\8b\ eØn´×ãJGWye\ 5\8fåþ×\84¡\bqv@+J×Oö¼Õ5ü\81nìÕ\15¤3\8b+¿\ f\e\10iÖ¤ý        e\ fìD\9dtÂØ\86qÀ5\0!dݧÆÀE\1a\8c%ºû¬Ne\83ÇwqA\9cAॠÅ\b¡\87¦\aÈ,¤?ÊÚ¬T\99°n\89WRàÝÇí\86o\9d\9døL5Óýd©\8f#Q)\b\88I,\98\14K\99\82F¿XÌC\8d\1cE|¸\95\90.b¹]\16K¯«\ 4v\b\97\98\ 6C\91ÏJ\86`°×Í\96
+\88HED\v\11 ø«ªÞã¤\vA=EËæÍ\ 5\f÷;Úº%Â5ð\8e\8f±s#\1dZÍõ§ Ø\14R,áe\94\14q\8d \14å\ 1s\15ªk3\\95\19JQª©\88ᨲ\ e\80p£*ÜŲPRtû\99Å\aæf¶\89tÂIÉ\94VpE#?[E\8c\9e*j\¾ªC`HtQC!K}ÕH\9e\ 4\8f¸R0è%¹\88\90\9dÆvÝÎ38 £Þ¿\84ø\8e\8f\8d\r'0#M°\10óäÕÃ)!\9b@ͪ\9aâPQiò0\81dQ²N7ÅÆ  /Æ]@«æ¬Tµs\ 1³«\10\94\94êIvNt¤,\9e¢oä\88ËÅÏ\88±O\88Þ\8dP\81\10\ 1àFcÈ }º\v\ 2N£Øçh\9b¢\95
+áõà$\89\ f%èS³¡×Ú\r#\13¢ÀS\81\11\8cùD¾"¹¬l¨\81\9e\víÐ\fÅÁ§ìm\ 6¿-xj\80¥·\89F»ÒXSúi\13Açb\1f\12â\84$¶dÁXR\1cL$\ 2\97ï|üO«¯ÏM8ZäuáS\1a>X        &8\90ÞP\ 6¥a\1dx?Ä@   \ 6\1c\0è£^\92\9e@3Ý$g\84¨¬\94\r7\ 3°Àá?,¥Ì÷ïCz\vPINF7"\96\ 6Ð\1fD)wU¾Xh#\ 2ȶ\1aÉv¸ 
+\10©wøj\92"íAYó\11S\87\ 2#<%G$R.wâñ      }#Ï\94úEwVARå´}\ 3Ql\ 6)¤|¡\11pÿ\18\ 5\8cË\92¤\92þó¥:äéæ>¯ßY\88\1e\ e\7f]\8eöSè\19£
\91\f£ø#yá¢\98J«÷\94\87\1aå\16H\9bÕFÛ\14\ 5Cq\1e   IÔ\ 5\10e\83\r7\17\10\95)\ fM\9dõ\12ÌA\¢ødþ\87Äõ¤AJt«T\972X\ 5²±XöR\16íAgË\7fÇê?¹_\ 1Q·Y(Í\12~\99^©;g+\ 4V\f\84V¤£-ä¾\98Hºê\8fJº¦u\ 5È\89~\1a\80RWIH\98\r¬¡¿ñ)O2)¥b\18Ä_\10\84   c,r4<a\15\96\99:!ú\8cý°\89UH`õ\fKTgÒ@V§ <ê³à8\z\190\1e¯\1e©\ 1Z\80uCåbV7['\81\8a\r\99ÞéaHL6Za\83®ß\\81ð´+dñRj\90\98Ùj¢ÒÆ©$ìÕ\1dcê*ØÎÀK}\9b&\ 5]6  q((ÿÆÊ\ 3Çü\96å |¾)Q`HP\7f\eQ7ðb¢\10ïòµÒÀ\1cÉüV%=¦÷ßRk<DÒ\8aX\99E,ÿíÄf:¤
+9\1aFv\91"ʾÀ\8aÏÞȤ\81Íõe
+*\90Z\801¤¼¤B1E(B\ eÚÁ\1aXct\ 3\91\16 \12¤jÆdnks¥\19ôýb&Ç\89\e\171²Ò\8a\10Ì:2T\9a(\9b\ eL\aXÌ'4o>L[\1c\11#d\81¿¸º½   5^\1cB\ 5ÁøÒ\9dcñ.n\8ag7u+\1eÖ\14R[
+:7ÓJL\8d\7f\11\9d#I\1c\e\1d¯ò\93\11x\ fä\8d/(¬Ô-9\v\8b_?\¹+ïó[y0\97`\11\9eÔ]8·^\b·I(K x@\ ,ì\98\14ÐQRDùÄ\15|ø@\7f\94º \1evÏÓ&¡û\8e\94\19Ó\97ð³)m\ 4\8eáo~\1dºÂ\8f
+\83[8X\1eû\93ìMáH    .«·Ò
+\8d\87ìù*õ\95:\85\e·V\9c\96.\97]çë\Ë1u\ 1d\164\ 6QJ\9d>ù̪ÔÃ\93.\89þ\ 2?,\81Fîø\b¾½öß|ù0óñǰñ\8c\13\ 3\8c%\ 1\13I&íO±¹#Sâ\91\a:û]\8bcÇ=Í­Y½ð\8b\0;Þã-u ËZOÁ#g>Ù̪÷±T+®\80{òo¡eÁ\94\16\b\8biV<w\98±ûä\12\9c\9eæéÄ\eÈGA\93§$¹çêô\92«\Õ\9ap\96ÿÏ#Q$#ê\1a\7f°n\82<\ 1ðöP\ 6\96:Üß¶O§\0S.y ²v6,\ 2\ 6\0ÞL\88\8f¼Á¸©(\82°\9eý\88\v^7\10t@VÈîÇD,OÀ¶\1d×\ 2\ 4ed\91ý±Ed\8fz_¯zD¤h\87\ 5\Ä0\1d\9dñÑã\ 5¸Ýi¾l\89FnÖ\ 1¿\94ªï<ªç±\15Þ!UÀAýg\84­{\Mh&éä@\8fÓ 7³á éf\ 1´ò%#m\1f{"\ 4c^}1Ô\ 1±\9f\ 49\80\84к\99\88Q\8f\85\93í\85 \ flj\ 2(Ói|Åøl|ÉÌH\94ýóà3¾À3\94ò j\b <¼ú&õ\ 2\10'M\86\8e\8f±t\ 2Îùu R\9c½\9bÇ\90\r£a!_\0ÈÜlk`
+y\16{Ò}=\ 2\ 5
+\80\e£\95éù²
\10Ë\8e   ¶2\ 1\11Þ¸|\80Û}Á´p\a®ñDlz£<ðm$\ 3Å\1d$\92'5ã\13ìn¯\91\1dÚ+\e\9b ñÐ\9cíÉÿ\8bp¨ù\8d\1f°ôDMD9c¦\ 2¼i7½y®\ 3Îë\85¤y4çIÿ\94\7f|µæ5ÿδ£]Ôç\1fhI\12v¤i÷A\18wÍDÉÇñ\93 b]°#~£ì\88\18\94\85È>Æ1\9c\80\9eÛè$¢R\8e¡r\0i³bÂY \10uÂ]TÒ|kî\85\89HAú\97ûÈ\91\1d
+ÁöGß&\87>\17\9cú0\fIÛ=\vË×ß\0\ 5§¼×\v¹#\97û\84ÿ¤'üñ?ò >ú±[ ñ\88 \94­ôH\1fߺÂõ@ÿÍá¼çW\18ü%\89\91ÖÇ\81§s*ã>øÊÛú        óàÂþ\97Ù\1eü\9a\1ckà$\90³èÎä\f\181|\ 6JÖ#æÏ\8a\9c\bÕ\1f¾\ 1í*\1a\9aÂÄ\84ò0ù8ð\83àw\ f#_üñoZ\11g+\1e\ 4åý\83\18\ 5Ú $N5³È.ksW\18\ 4     w\181\17~\97fG,û"\ 4\99Úò\ 6\93\88\94\9böÀ¶á\96\8b\9f2%\170I¬\1e\7fX5öô=\1f\1dÉ     Y\0\8bt
+\8a¯H\15\12ßĤ;ê&\9b\eüÖÐ6À \80ôõ\94ÿPñî }°1\eúP>tÓJT\ fD!°\86\16\ 3`Fh\10\b,\ 5\99¬FØ\ 6ÇÞ²èªí'n|\8aR\8d­\8e¼F¼\15äq!êjo~ñ\89\9dÞ½ÐUã~cÃÝ4X\91\ 5ú\1c\19}ç¨}Or%n¹Â[¤\80\80w«`1«\8c\ f\14íª×ß\7f\ 16\r\99\18ý\eûæ/3Ó»×\8c\ 63¡x\ 4\9fÏ yLv¶\11 \13÷\12\18t\89ðBlø{º4\9cïöîìÐÑ\92\ 1\ 2\ 2\82¢V\8d\10l\0\eºÍ\19²ÈQ´\µµå*^\15VÔGt\ 6\82:2\17$ÝF×\9aåmë\97\9b\ e·\1e(õH\98Ûi\16 5h ZÐ¥h+Eû;mP\11\10\10§Ïÿÿ\9fwd\90
+\8fâ¿­zÞs³³³»3³¼^ò»ÆïE\1dès¼>ô     Þ\83\7f¨\7f}Û­¶í§ïto}XYÇ'rU×/Gm+\ fÖ8\9c\1d$í,Ò\rWópnó¾²m·,¿Z\89Þa:´y6uiWr.ÿC>\85¾\96\ 2Ê#KY\v\9a[\9b\81[åÞ\9d\ 6í¿`ÙÐÎÎáßBÏ÷±gû\99±·ÀÈÈ$H*±LÙ*OÞmoF+m\1eÚÞ\15\8eß\ 6Î:Ò\ 6\84ñ\19Ú-úé\e\ 3mxìéï)\1eà\1an\ eËk"\1d\9dVá?AVf\19¥_\99`éCåOä=ÛÒ]WÞº_\8cí\ 37?6$ª4¿yܦf·}.\ 2jwØg[´\9bÌ3\0Hê[¬\ fJzÊDº×\7f]H»¸±ÂzÉzwúDåÞ\82ô°t§¤YîÕt©÷ì­[ä¬ëé'z+\10\fÛ<à»$\97Irú%kØ\84\91Å®Oä"\8dàQ<\87ÚÈP)\1eìRXNÙ,êÎ\12Q\14\96_5z\11\12æ\88\8d#;co\ 6Ffvнû?Ú&\7f®$é-V\12\e\1e-¾uaê\13        '\ 6¿ªèÛàÕûM\80M\7f~Ø9Dvôs·ÏeFÝóÑö©\ft\9b|\92@\ 1Ó\ f\9c£NpüÕìCI¯ga-ü©üBî·[§Ö÷ä»\11\8f+Föò­á&/GÏ'ñÝ5\82\9cö\8b~\9a\7f#?¢ß¦¦Èê|\ f%urE{dÆ;¢ß¥üÔô8Ý\16ý?±\93Hæ´[ôõTd`´[ôâ\9eOZ\9e\1fôÓÄ\87Ò/}HÞcæôr°þ[:ûk:­\9a~\96ÈH{»'¥Bº\ 12\1d¿kÂ]\13\19Û¤%À%aôôIÅ\1e p\b\96\    \17\97~»9¢\9b\7f\ 1S3}{&ÎØÅ?j\1eX§uÌøk\83ÜÂW-¾\10´\9c\8eãù{\ 5îOó\19Ó{Â\10º/É7ùBöÆ|I\8b^ÄóW8\9a\9fU\97ºÄÖÝÑÿJã\13´ë§_o\8e\94'xТýÔ\8a\0Ô_¹\91\ 6¼¹hýÜIiâÝÁÑ6úÒö\90\92Ç\91QÖÄg¹¼¼{\1c:Øñ1 t_zz
+©Éfý>éa\85G\92ÚP¯þ\1cÎ\95oÂm6¢>\8f\87¡O;Å\r\13×¼\ 1O\r\1dv'\84î÷Ô_\r\16ÚÝ [G¨áº\93Ä\86·ì\e\8aàRí«]¿`ß\1c\87\8b\8cý¶ã;YøDvá\1an6\11Üú\8b\b\19\94\87á\1fl\96=\ eXJ.Ф\0A^\9d\8d~r\85ïH­>\9avÝïcaº\1aW4~«×²\ fLS        ÆÅ"ñ±E\84\r\84_&lY^s5ãÁX:@u©.úé<¬Mï\89¹sG¦l\15\16. 8©\8bH6\8533¤9F%Â\8aÌ/Q¥ÇÛI÷,Ù÷ÐKä²ÉäÙ\8c^dôîù|&ÃsV\17¨Ø:n¤Þiµ\8b\fL½4Øù\1d4\98Òá%\80\12êá/¤EØË\84\97aÅ«\85é³ã%8#°\\9b\7fÔi\9dî^É>\ eñ¹&ú¹%!ú¾Í\ 1ûë\8a¤'
+äâ¥Âµ^ªC/\ 1'q-\vß­és(ù%ºÌzßf\8aÇ\ e\92\7f¶}n²N\8dÉJ¼­É£"jv,Ü\86N$­Ã:[)\1e\9c¸Zä\9bË</åX\b\16;#ÍlLÓó¬Ïöÿ9ë·\9eöý»×©\ f½qws´ôÛ»\98\92õîí8-Ó\97ë§2:iÜ*ôi|°þ61Þ7\18Û3^ú\14ý\1eM&¢$¯×²\92\9ez;KÒ{=\ e\13®\87;é¶íö\9d\fYt.ÿO\ 5·æ\99¸\8eUJ]S\97Û\84\11ºA)}\9b~X\7f8¬¡\ 17q%î£i3ë\14¸o\80\91âÿXî#C\80ô\8bð\16LÅлäºú\961\9d¨ÕÍ\869\17Ô\86ØGë¬\1a\95!U·ª\9fÇ~\9dÃ3^\1d\98·À5\84\92\80G\8cæ§Ï\8b\8b3ÇÙn\17ù[´K.kù\12ëñë\1c\8aô\86\94}\r\9d\1aE\16âÞ\99¼§`×m|7§®\8f\ f\8bå.ô².õ\9b¶mkÃ\93³\9f\85ì\9e»®ÿ\1f\vç·m\84\15×äÔi]ç\99Ø¿¨ï]÷iòÂ;ͳå÷\93öxryføz\14ð\90Óñò\a\v\ 2FÖÃ\1d\92ïS\86D¿*'éz\1fìYw»1]_^»A\86ˤ<°V%\86q%ÕIJáIåÙ®Ñfkv;}F^'%­\89/|î©\9dì+p\ fwvÉvëÉ~C»V}\16qåÞ'Ëû\1dùü\ 4½ÊÎK \90ÎÕM\96˧Å^Rc¡2j®ù\93ÇÇîêá¹ó|(\e\v:zE\9dÚ_«'\9f\95\92HMª¾\93ÌÝá\²s}¹\93OÇçNîK5þzÁ\ 5¾ü·¾\11É|5\84Ú\97ê\91îÙ»íz@\0ÎÛÎ\87\16]â+\9a\9b\fu\ 6R\ f«]\aƳ\8d\8e\87\93} ÇPE\97\19\9f\f|luâF;)\a[\94Èx\99¿Äæ¦\12]\83\12V\82®\ 3é=DK<mé \rÛe½\93îbÊàmäs1fm\99Ðó\17X\9c\8d´\9bS\17\99ÕÅæu±Y\95(.`^1ÑËü©\14\11\8b>\96®\ 4\~Û9RÌ­l\94@\9du\96­aU\1aämu\9d\1e\9doo¥
+þØ\80\ 6êÒ !\97Q\ 2^\85Ï6\17e)\ 1\11\89Sá­\8bíB\11\9bþaÿ>Ø;­Èä¬&x\æÅ°k[z\13\9dÄv¦þMÄv¦ó°§Â\94n,½^NËW&òíª@¹5ÉÙ\1a_\92\97ZT\9dèé̶XN\81­ÛÔ\9b\ 5ߤ½a\1f"\14\8dóàÕï       ó\98ÊwÎ?½¾\87u
+Î4½0ÿÔãÞ\98\7fØ\87î\9aÁª\8e\95õï\18âGdm·¥÷ö Xn\97¦çíi·.mèü\9a\1d]ë5\ f/yèo   \94Öë ô/¨±|xc%¥Ö
+ûè\1f²\13Dÿ²\18¾þÏ_\8d\ft>6GH\15çüfk_DÏ\9e-tgøA®ÿøÂj¾|{ÿø´³_ð·\85J[Á.êÞ\15:-\1eg£ð¾]þ·¹r\82Ú£ºè±\9f\12GÃÁ7çÀ}¼\7fèÀv\rÄ\80üpï±\ f¹§Ø·ÜëìzÎ2F½`\Kñ\96Eà=\9bí\eîé÷Ö}ß¾×>Ú>u\98í#üSü£üÛÿ\98ÿ¾\7fù\9fï\1fñ¯KoÿPýw)êà\ føº¬þkìg¾Ç³\ 6«|³ï\8eÏù'TóÔ]Þ¾\9dd\r\8bð¾F;ËØïr\7f)ÚnïG\9dÐ~}/Iy\89\97¾ßGÂò*\1fý´Ï\99ÂäT?÷>\86Jªó\ f+Ïý~®\9bêûê\9fêëàÃý\18\88     ü¬\ 3çÛw»\96lª?Îi¨øOü\88pº_\11éa1o\80þ\10\98·Kßs¾ªz\13ûõ_º¡î·ÒäÁ6+¢q0_ÆD\15ø7¤A_\83ÿX\80\9fÜB0.e\1eÏ\ 2ùòÅ7­Ý{nã!­[½-üGë|\84hZ¥\88]ý}:À¬K×\84q\edÁÞ\92\1a{Z4zEJïÅ\8f3\80Ø©!dÒ      \1e       ï÷Ë\81c¿~·âﳬH\9cCH÷®öW÷¡ùAgY\80IáÒõw÷§ÁÛgYɧ].ìÞ¾üE\9deRuë¯ïA\18\12γ\ 4\9d|uý:X9¼Ë¸®.IÁñrK\8cëá\9c\87Y\81\97x³¬ÂËè\1fÍÉ3ë.\ 2êA$\9eë\eó¯Ï_\8e]ìoe~\á.òÌÔÌe1ödNQ};\15ÕÝ\ei\13Õ,Õøö\90\1cÔ×à$t1í¼Èi\ 3\91\eNI\9fg\93\8e\97\86\91¡¶oݪgÛ¨\9döòØ&ÄL\87a\1eÒþÌ'\ 6Ì'\98\8fCá$Uɵ5øT»¢Ó>¯)7¨ºÉùfdÿ6\96~'\81±Û¸ÌZ¢nµr\ 2æ<\17ïÃð     \86OÌ|£Ù\8f
+ÛNñ$\ 1|ßzòl\7f¸\87\8b¾f3×~Ìø-\80*<^r¹.ÍÛ´Z\8eFù߬\90\91ÖÔ@\8dW\95\83&\8fYY\7fï5\95\95       'ø¹±'y\8a¥å_³\v\85´O+\aw.\97cýÉúM6êû\9c+\bÞzÛËù\17\86cøy·\96|uÑu\ fEi\99°$òX-\ 4?w²ObZ¿\ 2̵_\88lD Ò\97\1diY\89´ìR\11Ù00\v\b*\9aY\95é\1fH=åJõV\ 2îõ)\1eò¬Sd¡ÏùªV\1dÊéçdØ/KÝ'¶Ú\9f¹ßc$\ eµ\9cÔü\17ö\13(õ57\12"Àz\12\92O_wc\8bJûl\9bLå¿l7¬V
+¤ûL\8aA\939nùä\9e¿ºPaí#á\12\11öË\ f\8f\8f\15Ý\13\9f\80ϳiÕ{\84\84[ýÆ\84d\9b£Ô3b­î+}Ë:Òy{\ 6ê>\16¥(ÃQ\13Qo×\18\8d\vÚ¡5Æ|SÜJàT6\ehîZÖb\e²&ÓÀ\12yÿL×ú\86ì\95 \11oRµ\10èØh\r\83\1435ßîÔO×}\1e¯²fäq¯æò­Ô¹\14é\15óÚVÅvÅnð\88êA©\ 5\98\17"PP³à\85¯\84ãD\16½ÍOQK3¤Ä¤%\1d­3I\ 4ëd\92\8et/ç[¾ÅU¥à\8b!Êù0`6\1dÁI~\87)0¢ËÞÍ¡\8deÖ^b9Ýk"Àõ'Âû^Rú\91ºøË|ÓN\93Ö[ûvãê\16\7f\91\89$©ÌOáÑåq-¾
+\13Ðä8\9f\896\ 5Xýv\e4\90D\9bÂ;TõÛ­³Y7-w\99D¾KR^&&+\9a}b_\96\99o\8b;\ 2t\9f\97\16\92Bý°Þ\1a\98GX\ fWxkÚ\95\ e\8b@\97ܯÏdñ;\87-m¬ ùË\1f\1c\ 5¿æÚÇZ?3c¿\81\9cÌflmà]è\92_\96\17\17n\88Ìà=¢-ÐGRíl«¢\8b\15»¬»Ð\93ÕÍ®\r]\aËmúÀ#¿²\9f}\8b\1fß®8\9e\ 3×Ý\85\9f2niÿ;5ß)\98YQ8¤\9f\95\1cµñÖú)v\13<g4úå¿6jÞ*w\81Ál\ 3Ãìÿ\84:{ÓÔ%J\10<Ë?\ 2æ¬\ 3Î=ØqñÛ)-O}~Z\9bÛÜS½Ä¾:üô<~\99Çýùèo    Ì\85\98¿q9¢¾_§qTÍùÞ\16ï\°w± ZHo\16´     ÄĬþ5ô\84\8a¤+¼&Â6ÛóÓ­I\8bâ=\9c,\12úé³!k©×8-Q\9e\9e~pÝÓñ3\87Ô§õù\eOb*Zýx{ذ-\1cîµvu\98Û¸\89Yò)åp»ÕÅ\13\9d\9eëd{ùû#uÚæé\9aÅ\80\9f{+³K¾\ 43qÒz'-r¸\87¶UHÝ9L\1a\r:T¤³I\ e\fÚ¶éÎM\9asѦ\9c»}¹ÙVÖû?eI¥Õ¸Û\7f!ûd£rÎV{É÷Çw\8f\ e%\9fa\ 5\8e´\14ÉùÇèßW8§cGq}\9f\9cR\8b\ fu\9cs\97Û\8eÓú>­z\94ÛÞ}w9Z\9b\9c\89g\9dÆ­ÛJ²Ë\a\ 4¼î5Í\1a~¿\18z\9a\7fã;ά!W× \9cl\97\83 ÖD]\1eäï³´¶
+hõ\14þµéeQ/|»ÒßFøô¦×&Bó\92\83µ\13\98na\85øï\8b¨Ô\ f_\1dÝîÔ¾\1dó\89¨Ú{äýFÈk;;úiÚE7\8eù?~\16é\15IYu\900ÎI½Ä«ìh¤Ñ3ãG&ð\9a¿7äê wØôö9jòÔI>5^Æ\8eES:Ø5ëJÏÑ¿\91Hε*u¨jëÙ\8a®Æãdo\12i¥gè¹\894+\92á3tSqLÂ/lú\94\12h\93\18\+ëÍ©{
+ÄNÂ\9díÙØ$ϵ\84ý°o#ºæo\93¾{<Íì=Fw³ö\90`Io\1ci}èÏ­{¸\92|zðP\97\8duî/osxݵö·¹ü\fçosùEI#«Ýr\8bÒÞîyEÏ}$\813½ïüy?¸\84ä<,ÚáéÑøW¿gP©\1eÔ$\86\87}3x f¦Å\81ôÒ,ÂÐ?Jé¬È^M4ýUn¡}äú\v<ÙH_j\9açÀi¥¦\9fÁoѦ\9fÁnÂ\9b\89«Z*n?yäi\95\98¥ðHùNÚ,\12e*¾\1d5ß0\13µ¾æ\13\8e\17{§I#oò5\93\11¼f²gïéxD;Â]í'¬M\17JØö\89\89\18´»z?4\97pG¥Yæ\91I®M\bXF(ÂOÕK\8b«Éà\7f[2ÝÄæá,\92\15û8\97¼'}í-ÎÁ»Æàô\13ü\r_.\96~ùì©xý¹:z^&Èzz[­\90§m\13û®ÒÏû«+ÝÇçþuÜ\84fux\96ßÎ\89/âKa¤\89P´²½Õ\85¦z\1aÞO½*5­\82Ê\ 6{Lï\8b»lÿa\e\ 5\84|«ý'e\ 3)3y¤é Ør¾«ÒPéz~+\16kX\88X2\ 2\C!\96u.%±Q*w>Ì\9b\93\99\94ÃÅð\1fCz+ÚúöÀ\ 1ï«õ\1e¿bÂÏ\v\9e¯BÎÔËúÔ.z<<Ï\19b»£Êë\µm÷öÒ\b\96\99\rþeÎ\7fÈ®¶óïY\9cNý.I¡]\aÊr×i\1d\18ï\9dzX
+ÚÁM1®±ý\1c\18ðf³L¦ÃÌÌ{ ä=g>RX¡­í4\9f¦        \ 6L\19ÚhØ8öëRü¯Égê\a¥\b¨í®ë\87ÃX\ f\EðR·p\90-_\8bÊí\µJÜZ]Í{´Z\1349\91h8zí\1fA\89l>â#LJ\96"EyêÂ\ f¨\97Ë\eÌk\9cµð« ë#Áü)\ 6sÈñlvü\19Ùæ*CÞ7^¾Bø¶Ûä¿\13í\94ù-\ 3®\81c\19 ZL¶\81t\17\8brØÓå\9a\0å¯åÊ%T«_]3ñ¬v\ 1Sk\94K'â?\r\1cÍ\8fï\9dðÓÜÆÀ¬     Aÿ\ f\17\vÛ¯º·¾Iò\98Y÷M¿u\vw\1cÚüÆ·3cèAf\95â^\81\97Ì\1d»6·\99\8b\90áÈëgß\82\1a\92\f\93\8dßôí\9e¥â\9e\92î±üÛ¹­Ï³ÀWL°*]Öè0       \9däßS\80$þ»ì\95\81Fg÷V &÷\1e\e¨\9fþ¾¿\9dÜ\1d\96Ó·óuEÈðPîehYÜI\13ÁçV '^\91\10îw³z>ýõoGê\97ºOçÔûíêvÆã_9£ú¯jó~÷\90îq°\87\u$Á^¹7@°Õ¤X     4¥j¥'1³.¶¢4¾\9eþÍ~åeÖÕGÒeiÙÒÃË­äÙ\803£ËK­À$\ 4\9a¹Ftñ\12ëjYòæeÖ§WÜK­Â³åÍ:íât9Â\19\8eXLñ\16EBò\93ÿ1n\8d°&=v\91(\98´/u2i¼k\8bË
+]Þ\1fÛ×î\8fÚVL°\87\r!Ý{_\85¬\97\1a\e;9ö8g$âs5\93#CH¥ì¬\7fêgÖ>°é\an\bw\88Öyj\ 6uyu\87°´úÇËh\ 3»\ 4\86Wn©»Úü\r¬võ\8bx8´\92\89»\9d²{\96\97U\8fD¶:+oÆ\ 1öÖz\17{5\80¥î\89cü?\85´¯Äzõ\8fËåÍcò²æ±ù\99´¯¦\8b\9dþÔ\10\12±÷}\9bνX÷¾%cÞ\9a±ÍM\847ö>c\9cJÇÕõk\1fWÕ¬}_\\89g\9f ¶Ìa`k+)`qáG\9fí]ä\1d\92\ 6`íòcÜp庸îôNÿõ ÏTK­\82°^¯ô\16\1e\8d^\ 3ÒZ;ø\9b7jÙÂ\8cL_êÉâÿCoÚS\9eì¢ýÕÙ¤lwö­h««O\13<½û`\97QÎD\97Õ^#KËÂ\89+qï"Êॵ¶ äàn&t0Ù\96çå\97¡ò/è®Ù²\9a=®{\r?'`%d&ɧ\97_\80²ñdR$=ß\ÔÛJßðã9Ðmâo|Oy"ðÏ\8e®L\16h\96²¶\96\ 2Â_%=A¤¿\ eúÕ\90|x\96}}ö5\9fS|sO®\99[\ fÕÝ,               r\16ÎVÛfm+i­Ò\1f\18\ ehÖMW\9a_M9.Æ­¨$\92ý\80        Á[4\9d`ôë\1d+
+\r«\15;ÎN\87[\13`¿ã\ 6>ª}f¿\95\8fª¸¬Ö['ôó\16mË­­fF_3N½<½«\91=\1fÕs\ 4ý8Õx\999÷¤U\95+#Sg"\95!&%\94Èxù½ÊõäôÌÕèuÚH«Y\9c¨fÃ*R³7J\95\99º\16É\84ÿïæüöpS[AA+´  \93{ZÓ\86ɵ\99Î¥/î¹\84lG|\92\ fν~!ÞÛ\82\9d\87ij\ f»N\9f\ f6\825\9fÈÆûqàü\9d\1eü:>]o\91ë]\8eî\16©\85Ï-K7DõS  ô{J4\95E[j\98\\ 4º×>©*\97}óä¿ý\a\84\90­+KŦä\17\eÍëV©{è%û\8bû\8f\ 1üú¥e·\9b\ f~\1aU'}òÕ%\e\ 5ÔÞ\7f\9c\8d2Óñ/þ\ 4Ö\8auR'1³N\1c>âRw³ô\r\93°Î\992t;Jô¯\1eöÉw¥\9dM}\ 5¥\9aÕ\1a2\8eì\93²K \95\8f\81\9cÈÊÇÁ\91ÍÊÇÐHÃJÇÂ\91Q+\1e\96ÂÍǧèHý\8a\7f
+ïäHñC`\1dÀ§Êøí£;¸¦Ñ;\9bÜ­Rg\97àO\9eÙ¥ÄG¬Öú}.óm®\19n\9e\86Û\ 2Eb\vñ»¼Ðâ]ñ\89#þJÛè\116)üP­¯\17\11oÛïá]ÃD%\9c\8bh:\95¼[êßÚá·ê\fgfrÞW\1d·|>L
+7î¾L\85ëTÛ÷f¶V·ÝSoìä\95!\96ä\18v\13\13El\1c°ÙØd6µÎXmmÞÿÄH¾6\83w\8c¸\89\ eJiäèn6$Sâ=Ócùí»l4o)Wï½\ 10ÿF\15ÅVswÆ\86\8eãÔÂ-ÛaÔ\ 1µl:\80>\8dÆEÐhVå\12M\8f|N\93%ùVïÖP¶M¼EÿÍX<\ry\16\13-\92ú'ÉãEþhOzïºO{¯Ið}®\1d\92Hþo¤DéÙ\93±KU\85\9f\12 t\82\96÷2´lÏÀ\97ç\ 5æ8\vx Kß\1a\1e¯3¤c§Ä¡\19üyÕ<\v¨®møÿû\12\7fµ\12#ú¯ö\89\11ÿ¥\aý"D\7fw\12\1f}=ÜH}ÿ®î$>ó\e\vú\8e\96tH}û\9b¸\90ûöm\89\ f¿LÜ\12óûbCïï=¸\90ûãnbCîØ13û\11!÷s\8b\12\1f|ï÷Ä\87ßâñâCïßÿ\94H}Ö\aÞ|\8a"\9fÿäQ\8fR\97Ê\9b¡\9d\ e§öÏ\ 1\1fãrO©ú+Óêv}:\7f\81LØð»ã)\92\1d>|K¾\9bÝD\89\ fØ¢\1fÝ}þ4#áî¾Üì¿\9bâåõÊw¶e:fìOcKëä\7f\8f÷w̯¹\92p??ûh¢þÔH¸ÿÞ\88\1fÆ÷¡~\9fÎ꾯i¥}ÐYmyO³¦\7fÀú\1ckä[ö6±w\14Þ]\17?öym·ÏçrÛï½As3t7¬\r2D\86|{p\8c\17m\ 5~*ÄDï\8dA_á\80\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\18ð\0\0\0\0\0þ\80\0\82Ä\0\87ü\90KH\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿMario.03.60.1120.0038G5.0018d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÙT\93zh\ 4JD\81Î\vö\17Ø\90ß\0\0\ 1\0\0\0\0\0_FVHÿ\8eÿÿH\0±L\0\0\0\ 1\ 1\0\0\0\0\0\ 1\0\0\0\0\0\0\0\0\0Ç\bôm»ý\8cA 3´\91ÅGx\vU{\ 1@|\92\0øa\92\0\ 1\10\0 \0\ 1P\92\0\0\10\0 \0\13X\83Âûïm\12o¿ÇÊÔ\10¨\88#V¨-j¶ªÖ¢´EEÊQ«klHªÕ\15\15\eKVµm¹J¢áª´\15GðÕ@E\ 4\ 4A©ÝÁÀw\0\0\0\0\0p\0\0\a\1c\aww\1dÝÝÁÀww\1dßwwÝÝñÿ÷¿ÿ\1fÝ}oÍç÷[õ}_àõ¾þýö½1cq/mó}¯ÒôÄÖë%Ñ\91\98¸±ÒɤdÞ\16\99\90\93¶vdd»I¬\96m%\91\92øV_\v\9aLÍ6\96M&¾\ 5\9aM&\9aÈxúo\ 2Ë\19-\93F[¼\e\7f¥à½×I$\96W*\14«~×VÞ·½óÔU÷ÚÆýÂl´ÚS\9fèN3¯±{=\8bÖVúL\8d9¯ Íu°ôªU¾w\8fÊz®;\87ÒÿóK¥áé_\9fÄ\17ìÐø­\11õ÷®j¯[°t5î\e¦®{ZÞÓÍÃ^¶<FÁÁûi\9a\9cÇ\1f3SØ\1fò\edÝ[ô.\9e¯¯æ{nWe¶äúm¶\95°R¬}\1dCkßæj{]k×Uæjs¬\r\\8f¥#·ì4ªW\1f°(ÍíFÍ\17>£N¥N\9d7õÐ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ð\86_£èô¾ûú>ÿ\7f\ eÌ\0\0ûaþ£Q\99Ñh\91@´-®×CÍò\84}úünbbBC7Öõ¯Û&ÉäAX\0\ 1ó\86>Á`\94Íf¥!!
+{S\93\13\19ÛU¨;0\0\ 3í\8b¯\9fóú\1cV*q³b X¨\1fËt]\15\ f\10½\8fbtiÍJÊ\93¡\86ìû?"
\0\ f\10\8eà¦Ýzô~\8c;0\0\ 3üĦk5¥Òéh¹¿ËÓ\85©T\9bHÈÍJÊùPV\0\1fDaø\8e#A\84ÂMJJ\14ã
+]Z((,\871Ì>l\e\ 1óp|\1f\a Áàç&&&女ø\f\ 6
+³Y>>\939\9cqÕãÐh\1fit¸nϳ?ÚO1\98C3|Ý·hëåð\996ószLÞo;i´ß7MÐùWýï{Ðap³\9333ròú\1c^-´\94\91ôgï»ÆðÃ\95Y\99`aku²e¢®\97IþS§Þt\ 6Äöݱ9"æç;\ eÂV\16\14\98Bw\87ð\15ëA\eË¿o;Ë·\1f\9fÁ`\95û\12Y\®ZÅb(UaÙ¯öÖ\82·Í\8bbÊsÜñS\ eÞrp¢ ¿\b\8e×µÀÖ+\ 5Ê\91ÈäMÇã½\87°?Ã#í=¡ÑG£Èd\17z)\8dòrQoÏÓ:=\19q\1aÅEf:N\90Ú)xøù,¦Q-¾7\93äô­Ûé}ÿôuîöĤÖûoa%1ú¼»S,õ¥&Ì\9d|Vf\8a\9fÙÍÄûJïÛ&É£ÇãÏöm''w©ÔÞÇêhsïc\ 5£IXhm/ÀþU\99y?´Ðæs\17ÂV«Dí¤²Ùb\84kï¦ôÎl(ºæ½\8f×\94À\94\18ÆÀ@\14kMµk\11q¸µ\8b\8bVDzí»Êg×\80Ò\18
+½\\9cÄ\86\e\f,
+\81óF6½^)o\15\ 6\91°00½\97dR\9f*C\v\83\8bã¸ã¡Àé\ 3\8a|| _\81R[\85õ^¨¹ECÉÖ?\94çyÒ¡\87\rÃpÇûcý\8f±\9e\9f\ 4$!Q¡\17\95]%<\86óSH£­¬ddãfÅ5ø\9b\9dÎ[=\9e9âç:þ¾ñµík¹T³,\b˽ÜÛ\1c\ eý¿9´Ôé÷\90\89¹\\8béh±¸Økm¶^64Ø\1c¯?Ï\9f6\ f¨ê\ e\97X^DZ!\9bëz×ú\8dGSul§¯\r\15 Ò\90pjuÍ­¶Ö\1d\9aÿoáÁ[F\86ôJ\9d(~Ó´\88¸\
\ 2\7fÅX±s`¹nX¹E\1aeD)þ\ 5S\11µxî_\97]è­\e÷êµX©Ï<2YFá\7f®+%\92\92\84³Y±þËÙ%·*î3¶«QC        ý#\86Ø.S\94bRk}¿\95   :\88ýL»R̦RlÉ×Z̼\93ªg÷\90æy\97\11¿a°\93\ f\8e¯×ÏöËt]\13æÅ±=\8fÔÐæ\98Á*\ 1\ e     h\19\96\9a\1cÏí\95\14\10Po\82à8\ 69¯cö\8a\98\12\9c\ 2\9dÁ6íão7\98«¥Òrb`ÜÂ>\ 2[vi\9fL\ 6\98ÂV«DæÊ \85\81\80>h\96\88\88*\rÕ¸ôù°ì8\9e+\8a»lÛ1~ry|¹I¿\ 1ê=B-ï\17í#\93ÉÐu\gú°\ 5Í*FÑû\15\11híoKÇÇ͵k~ôþ\9dFÇMzeÛ\95K3ßß³à¸"ûÅI<Ô¤¦\87\15\8a*j\11ÊÓ¾ùÚ>®´êqâLæ3ù÷/½çZ\b©¨Åñüy~\ f´º\\ eá¸c¹~]K¯8\9cK\ eÍ\7f¶ê
\eîú\¬í¢Ð«\euÙvWêm5\1f\94Wð¡|\vFüeâð_\9e7\92ä§­òr\\92\1a*\16Ý_¤ê \9d;
+\ f¶ò\12W\8fÔ˵,Êe&Ì\9du¬Ë2uLþÓ\eìÇê[uã\ 5fe\99ý¦\873\80Ø{}¾ïS©\94!\9fX\1dÏFÅ×5ì~ÑS\ 3\9eíûunÐ`«5\976WÒÛ³Lú`5\xc\9eÁÀ\0| Þjh¨XW\82û±ìw\8f\1dsN\88Z\e+î¨mÊs¼éÍfV\1e\1ecA s6T¹Z*1Ü\ 6\8d4XÜlÔ¤¡M\97)a°\93i\8aã8Å\9b}KïyTyR¯\11Úö­b¢\91unK)\94¿UªÌ;=?Ûï ¯'íý¾\97ÿ¿Ú<~>\8eÊúÑ¿'\98Ì\17æýL¦#æ?l\9b'Ó²¾ò\12W¨]2íK2\99I³']k2Ì\9dS?½m\95ô¶ëÆ\vÊ%Ó'V\1f\ 5Ú\9fOE\ 5\12ñ±®h¯uÍ{\1f´TÀÉer®g÷-\13\13CJ+4Ϧ\ 3@\ 3è\r\1e;\1cRuÂÖësÙ\1dË]®nZXð\ eªL9[\9c\9eÜô¯ïûæør®k\17\16Þrsôg\ 6ѦC\98æ% àÛÍÍÌè´S\933*Í\95.U\9b+ø®7\8dS°¡Ðô'xÂV\16\14\81R\91=?íCï^Êþ^Çc;¨t"C\ f\87Rþ¥¦Ó\8f°X0Ü?\ fzÜ·,ÇKÒâý\7f¯aÙ§í­WL\17\1e\13ÉL\9e\è<\16\feÞî\88d\95\87\87(©/ÁJb\9a4<Æ3»Xî£~&çsS
+«í}ª\1cNK\9cç\1cÙ_a·ZÊúÒ\93[í¼\84\9eþ?{év¦e)\94\9b2uÖ³,ÉÕ3û7$â\ 3Z4\96Ïg\8aL\1a¸ýÓÐç¨\8c\17\94K¦N¬X3Áþwç8³Uè½\11\16MSÍ{\1f´TÀ\9e\ 3\93\15ÅñgÄ¿UªÅ9ê\1aQY¦}0\1a\0\1f@`ø>\f¤ÌTQÆÀÀÃ[-\92\18l1ÝC|ض"æá½_«)\7fÎLLE>¾Å>>\17à_'\rÃpÇâeϾ{6Õ©Vc\9fÀ`\ f\0\8a\8e¯Ã\9c\ 4i\ 5jª»lÛ6nÏgS\8fkµÄ\.\13ròó\12\12\f9UÙ\95¿\ 2¦X«¸&\1f\19Èò'Ö
+\8d¼ÞO\ 1ÚsËtûßv=\8e\ eËe<\0Á|k¾Ó´ç;\ eÁ\1f±\8cÏMÓ\1f\ 5¼ÔÔÆ\83@OP\9cÁµ\ff\ 6Ô¿\85\8eÇCö\9d¤OmÛ\e¤;\0\v»5¾Ú`¬¾ô\9e_.ÚNL¨ô\86ìû8\9b\95Ȫé'äxÆ\98{u¹Ç\8bq¾ß\c\ 2o\97Âæµ\8c\8caè­\e÷½Ïsm#"L\86\83\a\83(ÜÐap¦Ï\9b³a·\82å¹czîk%L¤ÓöÙ\84\95ãõh\r]\99Zpodë¬fY\93ªôH\9d\b\b\8düþ\a\ 3«\8fԶ颽\9b\ e®¤ê\9a\1cß©´ØN³¬?ÙL*\1dÒè_lðѸêý}<×±úö\98\13j#/\17\82\7f\ 5:w\18l\9eð¼í\9bbòu¢¦}\88\r\0\ f¢/ûÖõ\17uºÌèt%6æ±QQ׻ܴLJ0#¸.\a\81*ºf´\9aB\9e)Q\94\8c\93\19â^\vû3îýÙR[7--\17v»@U*\87ÍËt=\fÿ`\b¦ ¯hH§a¤ÍæÊwåöä1\18\84\YK\95]\99[ð'T\7f<«ÓQíp\1c\ 1=C¦Bùºî«>û¾Ñ´#& _±T\16\8cI<÷[£M\8aõ¿o;Ì}úý8Ù´\96W*âúRþ\16\87eÙs]_W+\v
+®%ú6\ 2\ 1\87f·Û^
+ßö}\9e\12Íf\95\86\86S¢¯£Ñ\948#±0wÕ\9b\95+²y\8cÆ[¢è¦¥%%¢"\11L
+\7fÔÆýëqÜsÝ¿o1!!¥nÜ ß1Òô¨±\92Ão\16üü­\99$\ 4ÊM?mì$¦?V\80Ö%\9eêpodë¬fY\93ªôH\9d\95ü¥\86Â_`¦\ 5\18þÿyô>\87W\1f©m×¢½å\95÷RuM\ ewj\85B^><ÿb\92\12\9dQFÍ´PPG\809O5ì~³L
+\90ɾo\91׫ÑORjVULÁüït`\9c\ 5óvÝ\98\93®ª\99÷p\1a\0\1e`ðp¤¿ÄÌ\88\85\ e\90K?ì=\1f±â1\7f\r\12â\98\10\0úbV\1a\19ß\86\ 4ú\8cÈ\88\17½Ïs)\12j¯üF?¿©\96\86ù\r¥\17Û\12ÏþH+~¦ÓJ-O´¢õ\8afG4\ enïS©æýç¼uÜy\14*\80\0\0\ 1ä\8c\ eÿ¿ÌèôsR²²9\1c\8fï_A\17ß\7fÃ׸Ëg³Å"z?7ÝáÙ\ 5S\b­;é_\84\95À\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\b¾øEÊþÂ).\0\1eb,wùQz<?¬õ\97­Çq\12o\ 3ࢦ\10ý§h¯¬Ý\0"ûà}DR\\0<ÄXïò¢ôy\9e\9f§\8c¼^\ 4\9bÀîÁû;\8c\17\ 3À\88
+\b¾øEÊþº).\0\1eb,wù\11z2­\ 1D&¯\7fßÄ\9a\7f\91~ú$\ 6\94G\1d\84H\85>\1a.m«XëÕê\7f\95\14úú\8e­nK\9bæË\83\89⸥|KÌ\1d\96ÊçÍ;·\9c\9cG¡C»Séù{\1d\8eG'\93?:\83/\1d\1d\13r¹`ø>\rDQæu\bÊSÌDKK@U*\88öµ­¤¤®ûFÐãÍkجJ³$ø\15ö\9egæ1 *µX\r»n6}O_\r\v
+~º­OKÏ\88Ä)è\88xn\19\1eg\18\9cJ½gü÷½÷¦Èc+µÓAâM\12É\9fþCïtô\õ®õ,Ë\9f·>Û¯\10¾r.VË\95J,³­DñR\89Ä®\89µ¬ôWEiYF¤^"|i f.ívsÍR ·}ßéRNõ\18Ïtç\97\96zi\9fKn\9eje\9e\94\9a\8dR\8b;¥÷¥Ù²\8bѲۥè¯!·ß=ç\8a£âr£´\13òÑõÏ\1d\12\ 3J#\8eº$Cß þ]w\~\87\1f\19Èr\a;\fíªÔT³?ÔªF\83a¢Ã~\16·[r\88ã\95\1dg/\v¶Í³Iæs'î\1e¢.7\18km¶C\11\88:7\ fª\9b5¤Ò\1fZ¼ýWqþÅ÷\91+L\1f\ 5Á*Ì¡\10zÉs|Ùñ3}o[u§S\88\17àn\9c @ý/\99OG\1f\17Ì\80Û¶è{}¼ì\85äy®j\ eÉdB"]\8aãx×\1e\9d\ 1«YÆÍ\8b\82\8fW\b\8f\\f¯\91\ 2\94×\1e3%\18*ý¹öÝx\85ó\91r¶Qgt¢\92úÄO\15tN%tM­g¢\94V\95ê5"ñ\13ãZ\81\95%¥Èò%Áî\91K\8d\9fgýÊIþZ1\9eëðÓË?QLú[tóV\96~\9d\16;ðª5ïQg}C2\99Áø(½\1f\84Û¥\17IbCgpÕ\13Ô\ 3ä\rr$\ 6\9f|.º$B¿û\ 1\95\14yîß·OV=\1e²Â\7fÖFOñ3\1eëÝ\1d\81\87a cYBFÑat¨s*Y\95fI®\95\87\87*\13\10\807\9dÛU*Dø\rF#\89âN\88,o'ɹæ¿S)\97¿Ké\5sµ.j^\8e¥\99¡æ¦!|Ô\­\94YÝtR_ÄDñ]£C+"ml6ô\13)z\8dHÑ¢|k\\byéîè©'£F3Ø|ÓòÏ^aimÓÍZYéE\8eèê5u"ÕÙ\94Î\râ/Fõ·Ori\89\r¿ÔªW­Çq>©H\1f°\8aÿþê$\ 6\9b+ë¢D,\7f¥+\16ó\93\93ù\10\145\18\8e'\89R¸]7HuzvôXÌa|\9bÆÕµ\17æ\8e¹±ÿAÙ,\9a»+ð;~Þ}#ëîﻫ\ 2\bE\ fg®qËK"øéü\92ÿQØM\82å¹i÷Þ¦]m»r«#\1d\9fc]ÛÑÕ34<ÔÄ/\9a\8b\95²\8b\8a\88\9e+´N%dM­\88îv\8aÒêQ\9a\1f\17×»³e\7fUI=\1a1\9fEe}y\85¥·O5ig¥\16;£¨ÕÕ6+³)\9c\eÄ^\8dën\9a \99\90Ø\1fe\12\ 3J#\8eº$Cÿì\ 6\96éº\15~\93ù¯Cmßê5\19xèé\8cþ}þ¥Rwe}Å\vÓ½5,Mr¹)\a\ 6áÏAÁ\9fnäþ\ 3\9fíM\95ø;-\96kI¤m##\9b³ÙÕ²¾N¶m«S@r05\8aÁô\9d\1c¹\85\7f\8a\87kÞç¹ÐsU´áªz.Ù\97|Õâ\17ÍEÊþR,ï¨E%üDO\15Ú'\12²&ÖòÊûÔjGül¯ºE»Þ£\19é²¾êYëÌ--¾\9dÊ÷\92ÏJ,wGQ«¤Yß¿f{éÁ¼EèÞ¶éEÒY\90Ø\1f¤5È\90\1aQ\1cuÑ"\17\7fì[óñJ­     Ç\12­¼EÂà_î'\8aâ\97íØOS±\96Ë)t÷¼ë6££Ú`órÈæé3y³\9cz*5\8c¼^\11Ù"Eϲ¢S9×uÅYA¢@Ê£}JX¥Ü·#G§\10\86¦¹î$Àíû~nÏgB\16ª«\95<\14Z¶A]½\1dS2ï\9a¼Bù¨¹[(³ºQI}b'\8a²'\12º&ÖÃn²+Jñ\1a\91ñl¯á8N\11Î\15ü§\90}ñmm$ì£\19ú~¿ç},õé\9fKn\9ejÒÏJ,vö£U¦R»2éÙ½EèÞ6ì#7ï$6\aÈÌÄøè\90\1aÈ\8e;\b\91\v´A \9bL×UÕPtUÑ\97\13we|ñæp}GP¯~\17;h´)\83áø\9d\89´ö\8fÑ\ 4WÝãx<R\9b\9e\97ññ
\82\9fó\9f&lå¨\80ªU\14Ì-i½ÉZ\1a\%j´Sþ*¿¤ry8ke³TôhY\97|Õâ\17ÍEÊÙr©E%õ¨\9e+¤N%tM­\84Põ(­-\125#âÙ_\83²Y;§¤Ý»\16«\1eÒNñ\18Ïcª ´³ÓLú[tóS,ô¢ÇlÔj\94YÝ/½Ó³£Eèè\9bv\1e\8bÉ\r\81ýH\81\1f\8dàýãï÷ò§üð\95JeÄôÉ\17\19Pow©Ôð\15zº:l\98ÊíuL¡/\vÂ÷YB[U¨ó]Ïõ\1a\89åÛe àâ.\17\b{u¸Òå\ 3°ÇyÛ6ÃÇ;a=O©º4i\81¬V\ fö½úOH\8b(&È#ðBF½\89®W\r\87F'\93C\8aÅ\1f\ 4¹JaG+õòùç\98\90/ìG®õÈÍ¡!è\9b\89¹\\94G­'|\a¼ÿ5Î_\1dg¢Ë3CÍu\10¡\12Õû賿÷_,Z\81\99ì\7f\9cìÓO/³ý´\93\80\0\1fì\88\11üäG\1dp¦v/M\83\8d\7f¨ÔM0\96S¿\89\1c\r9ö?è§ÇÂàæº®ª~ô:1²ªdwú^\96R\ e\ eq³iÉ\99\9d\1eC!\1f\7f¿\9fo\8e\12Ífq\8eyjÖ\ 2©TEËdyp-/Âþ4J4ÿ4)ªP\¯*ãï?¿©h\97M×¥?\16"\8c¿r¯E\1e\13\93E\ 5\ 5\8d¯W®\8d\1a)â¡ô:\14ø¯÷OE\96e~jñ
+\11-_¾\8b;°ô|4V\95\90\9a\ 6Q\93S?\1dO\v\9fp\8a\apÜ<jIþ¬\15\80\0\1fê\88ã»S\8bTñó¿\177J\0\0\ 4\9c\87äÐÛv§Óó¶\9bL¼tsyÉÆÒRZ,f1\8c,\16®\92q\83<\0\0<\8f*\81ë}j\9dõYß   8\0\0\0\0\0\0\ 6·¦b \10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 3X\8b,\84T´Hl\0\8cI\80\0\0\ 1ô\91e\90\8a\96\89\r\80\11\890\0\0\0<dYdx\8e1!°\ 21&\aàê\9aÏ¢|x^\17\85e\ fçòÑ+u\90úµÑ#õ´ªÕ\1a3±D\89ñ®\88\89Óë\91xVQ\14÷\9a]&ç4i)     \bª\b4»nÆ\95x­¥Ç?y\15-x\8a\1e½ÒÚ?.YúôaÖ\93L~|\1d+áð´µ\9d(«K5\v÷²Wð\9d\98\1fä\12\89ñ\95\16°\15Z«(\7f?\96\89\87Õ¥\12?N\95Z¯â×ûÔC×â"\17,ég~¹\17\85e\11Oy¥ÒhgÑç¢;\9f<!¨mØF;]"Ë:ôTµâ(z÷Khü¹gëÑ\87ZM1ùgJøhôµ\9dÒ+\ eò¡uä®Ë³\ 3ýú¦®Q>7¨\7f?\96\89\87ÕÐ@âúUjñ\13ãa\10¹gK;é\11xW\88\8a{:]&iüÉÒ7-\13\13)\a\ 6\8e\96\13\10Î\94/5dYg^\8a\96²\8a\1eêô\91\ fêË?^\8c:Òi\8fË:WÂÊ\vî\94V\1dåBô2W\1eX\ fóY_ DøÞ¡üþZ%nÂ\1fWA4uôªÕâ'ÆÂ!s¬\ªüT^\15â"\9eÎ\97I\9f\9f±\9bjÔ¾~>Á`SO\1fçmk;\86~ö©îù\16Y×¢¥º´H\87Ye\7fÇ\96\18u¤Ó\1f\96\86\8eÊû¤V\1dåBô2W\16Wÿ5\95ú\ 4O\8dê\1fÏå¢Vì!õt\b\91úúUjñ\13ãa\10¹ñl¯ë\11xW\88\8a{:]&P¶¢
+iÕõgfT¥\99'\98Ì\1fØb\19ÖDLR\8b,ëÑRÝZ$BÎ\96ÑýYgëÑ\87_áÓ\1f\9f\93¥|4vWþ\1cÙ\7fV¡z\19+\8b+ÿûÜ\1f\9fDøÙCùþº%n² ¾\94Hý:UjÊ'Æ\98ge÷ù\b¼+(\8a{Í.\93ËX¬GT\ 1B\19\e\87áÍ\16ã\8bºÝpU\9aÊíºÎÍtYg^\8a\96½D\88YÒÚ?­,ýz0ëI¦?4ZWÂÍ\8a¶4¯ýåBô2W\16\15ÿ»DøÞ!üÿ]\12·Y\10_]\12?[J­YDøÓ\fì¾ÿ!\17\85e\11Oy¥ÒzLîu       \99ü\ eß·æº\9e¦yO­°ØWmÖ\93«\1a\s÷\91Rר\91\v:[Gõ¥\9f¯F\1di4Çæ\8bJøY±VÂ*ÒÍBîä®,¯þLÁÿx\89ñ\84Jßú\1c7\8d\85\7f\0 I!\1aU\11¿ý\94\8c\7f|\18\89âþ?\15þ²'Æ\11+\7fÛÒ«_\1e\12|¤^\14\ fÆ\8a\96ø®W_,ñ¥¿¿ñ¥¬ÿ\93K\86À\ 3øôª×þÑxP\ 2Rò%\9e\aþik8Òá°\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0þ}&\9bûZMsçi=O\87\81tÇWëêú\94 \ 6\94.\81Ýh`=vºªð\12\0\0\ 1úúM7ö´\9açÎÒz\9fÙÅhï»éèd(\98\88Ò\85Ð\1d\bØ\b\ 5<í&û¾\88
+\0\0?kI¦ÿ¯I®|í'©ù\8a\85\91èÔ0QÔ\86\94.\80°¿o;ÉL\80mÀ0\1fô\8aÿå¬V%\10\83 ?Øô\12\ 5â&_H\87\99\9f¦\86GôÔ¤¤l\ 4\ 2µtºmîÕ
+\81ùU²þÍÙìí¤äÛÍMHä²F\86Û1·\8béÒi¶t\9aåî\96Â\95X¹ü\16\b\9d\99\ 2ü\15«Q(\94Ë(\9e*_{\871X¬\1f\9fBøÚê\ f\14`Èär'²\19²\90\90\99\9e\9f§\9eôÔ\8d\1ac9\ eAD\92ºu÷\93\19«;ç~\16ÒÖy,¶[#ÍsN\96*\ f\ 3;\1c¯¬}\9fÒÐØûí÷çé|\1e©\18\e ÒÚ2\84øØ\18\eÎÛ¶ª»\1aÇßïç  1÷ëñéV\84ÿÛ\84³Y»\9f\17[¨Eaè´¡u\87f\9d)\11Lïè\91\9dÖ\11´Vw\ fõ\94\7fK,ô­Û«Û\98*>\8a
+\14ó¤Ø\f\ 2¨x{\13\v \90Û¾j\10þr\81\91\@\1f\81\15ÿÎÚ­E5õ=¸~{<T?çm6\95,Iü\94\91\ f3*Ó'¼ô\8d®ÖSÅ*8\8a¼G\1e\89S¼mʺ\ 2¨\99Å2\1331oÏÑ\17\e\8bi95\10É:õy}¼_N\93M½Òk\96\17 Z­7\9a\9aSÕç¾>E>¾©bNji\1eäé(\96«ÄO\15}½åG¬ª5«SS²  \87î\7fJU\117;\9c5²Øk§[\8bom\1a\14²OÖæç»\8eà\81Æ  ¡\a«ik>K\9cç1\9c\8f"ãÒz@À\9f ÎSÜ\ eþ\9e\87\ e\9f§\94G£zr\8c²ÐK\eÇÛø\99÷*@êòÏà°HBÉT[       Û·\8c\7f\7fS\94ݹ~ÅÄ\9fûnt \85}*µ¢Ò\85Ö\1d\9at¤Eiß¼Fw{ôm\16©Tðw\ f÷ÂE¬Ó¥\96géöJ\ 4ÏÕ\ 5\14º\91¤ÏKÌ-Ô\86Øæ¸÷b<g\18¦\80ÎYl¢¸\80?\17°\7fÊsÜò\9e¥\97¦éµh\99}"\1efçØ¨\9e\9e\8d\9f@Ñt>¬à7\ fÄq\ e,0n»«y¹¹XXUöñ}:M7G¤×/4{ë?\81À¨\91Úð\9c"«¦\82=·£´O\8fÀB\99XÛÞW\16\1f©t´%\12´6/amv²¯\95]76?S¢h\ 66\8f!\90GD\9eï´í&\92ó\1e\8a»-¥¬êh¨'3Ì©îvsùü\1f\ 5Á\1eÍFâ8\9e\87\r\ 6\ f\ 6L\83\9d\ 4$J\14k®Ûø\9a\ 4)Y¬TQ@
+°Õ\93÷\1eáT'\0¸\8ecºíO§­¤À«PKE¥\v©vztO\17¼\9dûÔgu:^RópÿhÑ\987~¾¶ùºn\92Ñ1%\bÎ:jZ\89\85¦Ciæ\9fûyÛ6Åm\8c\0\aü gøÚõ{\17ÇqÓ\8d\9bi3\99ÄvZ\9e¢eô\88y\9fuL\vF\92ñÑÅK«\b}YÀj©mÔ´DB.Ü-aE:M7G¤×/,¯«¤P\87\ 1ªû©7h\9f\1f\81e}\8d½å¢\95t\8eO&zE±AÍ\8e¾_\14B§ªõyô\7f8ú\ ÒÖsGÐf$$
\82©\7fõ4âÀô\12\13ߦRêèÚÜ\96S)\13s¹«í´5Û\7f\12æ,\8a~§Ú\15(»WK¼\11\rW}£hS£ù\8cÆ9ûyÛE¡´\9c\9fÏEx^;:Dgu:^Rópÿuzb\12ïÜ\86¨\8fdûôËqi\85¦Ciæ£\ 3O©M\ 5\0\ 3ò°ðèÐèú4L¾\91\ f3î÷\ 6[âé5ɼä å\87\Ò)½ïR\8dÞûI¦èô\9aåæ\96Â¥\1aúv\89ñø\b\9e+\e\84 éÍ\88¯\8dh¹Í\8d¹ÚÉ\¢²oÔÊb)ÉN\96³£Ià\8dí\177SÓ[U\16¼\9eFñ¾\122Ë932\8c\17\8e»oâh\1c¬¼lj0bI·2¯Û\9fÒ©\17zUká»6\11<_\83¨Y^\12\9d/)y¸\7fº½1        Y\9f)oeyþ|§rR\8dS¾Õ\8bŨ\8c²ûéǺ\98[\12\euÍB\ 5¦}Ú±\\10\1f\82Êü'YÖ\1a |®'%\94L¿ÈCÌÜÖbx´\93Ey\17z(Mhâî·U\12Þ©ß\ 2Í\89®W\17Ü\1fôé4ÛÝ&¹goøÓe}tO\8e\89\13Å_oyQ|\80¤s%\94ÊPÒÆU\ 1\13\ f\ 1Uª¹Q3O\ 4ª~íÅÎwß\ 3¿oÊô¯Ó¥¬èí]h  \8bêæ:N\93À\9a\81¢r®w\8f]YI¿Si¹\ ec\98W\1dÑ®Ûø\97=5Sê0\14cÞ·-Ê\86´2û
+d\82~\15\95õ´ªÖ\8d-o vn\91\9dÕç~õ\19ÝN\97\94¼Ü?ß\99¦!.¬¯åìv3\92¼´DAÛó\9fïmPL.\8eÊù¦iÎÓÜà\0û¸Wø.S\94)¯Éæs*àS^"eþB\1efæÊùá\95\11¥O)z(»XÚFDÑ8\92®íÞàÿ§I¦ÙÒk\96vÿ\8d6W×DøÞ"x©}èê\ f)¬98|=\f«²¾çÜ\9fc\15\1d*KÆÕµ\1d\9e50¯ü_\16hÅíßiÚg°¯ù,\92\13"^÷KYÚ4Ä×+\88Â\a\15JÊ;Í&\93ãî¹\ 4ë\83s\97Rs)3Á>\13\98òvþ%Ë\95(\13¡ìò¢\83r\83HN³¬>\90\13\9ejÚUkó\11ª÷.ÍÒ3ºÄïÙFwR\8d¢³¸\7fº½1   ue~cA )\9d\9d©Ûþ÷½\9fríI\9dê&\17\1f;PCp`@üH¯þ
+³YÊóüùêñj\97*¿\9bYe|\ e\95þ2»]W0~~\ 1ý¬\[\9c\95ï\9a­\91ãy.I\10\e\80«Õû\9d+iÿÿKûú~\eõ2\98i\9bL´DDEÂá\14úúzÜRáZ]hÓ;h´\1f\80
+\8aº]\b\1fÚm'Q\92ÚZÎÿ³ìê(\1fÖëqËäêS\99Ñh¾<Õ©t¹xèæÒ27j\85B\81\19e\88¸ÜM\1fSÉ{omH\8c\rϹXke°ò\ 1\10½\97d\8càïs\8c¥\9d¹O\9aêz\97Z[¾¯H;ÄÒýÖ\1d\9f\8fCæ­\eEÖ"\1c×\9d·mÂp\9c!÷Çè\1eDÛV³\12\12\a\8anºÓ©Íc#\14J>Ú4^an¤6Ç4ï'\14æ%ãc]¦«À\ 1÷Q_ü¯AÐOx_(èï&_/\10ó4t[Ïø¨\13\87·ÛؾvT/kÑPõ`7%Íó}Î\95´¾¾ù(\9e+6X²Ö+\11àØÏ¡G'\99Ìåú>\8d\1d\88Ì_\1dÇHaðçáö\vðSÀ\95NÔL¾\96³\9azÄ_H¤fU4\1e!cU\ eÙ\ fgìÑÒÂîÑ\96Vͤr9\13Ö®zD`mO\15\87;àÓÕñ#2°ððvK"2\12³Ùö[ÅáLºö\9b>ʶ¼o\9e¥7k&\8eóñÑ\9dÝZ6\8b¬EKOS\15\ fÆòPY_>ö\\96W+\r\9f^èª\ 5W\r êan¤6Ç5M1-\9dÁG\14É\85\ 1øPó0\89\1f\84\8dåÇiw5ÕõjiMüÜܤ\1c\1eG\9a樬\81>l;\fl\f\fGkÚýÈ\10¾îû¼}öû6Õ©\ 2ü\18×ó\ fô\9a?ÜFwQm\16\v\95åaíÖéXxz\v+ïÔÚns®ë\94ê¦Î÷D\94X\8a4ØìEæ\16\99\r§\9b\11\94È59-\80\0\0\0\0\0\ f²\93¢é±\12 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\a\b=Q{Ý­m?ñé\12Î\ 2ZðP¡^\ 3o\ 1[ÂPx*ð(£ÂW\80\94\1e
\82\b\89\ 1\ 4\15á%D\11â¨<\15¼\ 4¶ÖÔm$mnlÐ×e`¹Û6Çi\18\90(Ke¾[%u-²Ù.ô\92OGîÏÒ}^·Ùö:ÎËûÓ÷½úß­íݤ§­í\9fIûÓþwõ\9f/kçz\9e·¶ö_½?IúÞÛÓP\81±\17­úß·»\9f\ 5t\ 4\13!vö{§\8d\rxXÔÎ0&¥»cp\9cg<4!\9dv1¸8\99G\80âppl]Àþ§Á\8f»u\92÷{\92\90@\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\1d\89©¯\11\88²Ëe¤ /Ó\12`\V\e\rðý_«1G\873\94Êcý\1f£ù%\18}"L¾\9f6\94\9bÕ\1e÷\97Ê(ÿ¸\12oSûß\8añ>'\92àø78JC\eû¡8Áq¾\83Ðt\94\e\87Ãä·íúB Ó\9fÏÙeòæHW®ê\15û\r½A§å\14¥-góxÝï{±á¸g(\1dÏU\9f²²åþ\aÀüß7æîì®T\e¢B84ii\8ec%\92\99es¥ák´\9a(­4\92ª\r+v\9f\85\v,6~Q>\16\a{.QÕô7^\164T\97î¯\85er\8bÉ\8eÚ­\9eWÝ­\8f]\92Ç{:\13#S\1e\eݤQ\90Ç\99\ 6.ìN'X\9a\19ôi ¬¼-î\9f«\e¸#|Ïfs8Íëzwÿ¤\1e\9bt.%§Ì¬\e\v\a;sZ \81/%"&=WÈJÓ¸\1e\ 4Çuç)I)2ý¿\9bèRoT{Þ_(Û\9cþç¤Þ¨÷»\97\8f616¤c©kÚûS\1aöd©ôGå\13<|\ epfW\80à$6wú\16m~î¡_°ÛÔ\e/\94^JZÏA¦vz²Ü_\16ç\9bø\98¬Q\90\82?{æ|Í\v\83].ûe=\97²Ñ%\8az3\9cõ½\95ôÖí]¤ÑEi¤\95Pi[´ü+\ 5èYa³ò\89ð°;°å\19ý\r×\85\8d\17ÒýØ8VW(¼\98íªÙå}ÚØõÙ'\ e\15        \91©\90\8dC|+ù-û~5 \ê*dÎ
+é43èÓA_\97\85½Ý7V7<\91\91a\8b,¶[\88ÝwS#\0\920r=Âp\92\ f0\7f:°xÿ_ëäà\9f\98\17\15\86ÃYr¼®k\90ä\fo?r\90$34\18ìw@\93/é¼ÚRºY\9e÷ýnQK^µ«I½mýï¡À÷´\9eñ\12Ou\bå\13$2\86CÆ\ð\ ew@ræ´*\16êÃw\14\1a~QJRÖ\8a\rs\81\9dCsݱo+Æq\90Y]T\1ad\8b\9eÓ\a»\ê?Õ¦²½½»gÚM\14V\8fZV\e+vÛp¬ú\re\86Þ¼\1fËLJµü£C¡ºÏÜ÷)~êøU\14\1a\84ÇnêÙå}Ûüzì\93\87
\89\9fú\9c§(l//¹åf¦!\85\85\18Óáou7Ýâ|G\882fQÊq\U\96_/g\9cÎ;ñ¼]Ö ºcÚ½?gI\81q»Þ÷¢@)´fàÙ?dY  2ùüÚRºY\9e÷\97Ê)Ç»ëé7®\9fÞøÍëzw\ e~Iå\19
+°wÇøþ÷Ìy\83|U6y¼Ü\94Æ4ª\14¬6\8a\r?(¥)kÓò\89¼Û\9d\ 4 ²º¨6J UÎÚ»\9eOååÙ]ä½\96\vIÊ¢½?­¹èn«v§\85UA¬°ÛÖ±?ej\£C¡½W\9a̸U\1em   \8eÙ[=wÝ\8b\1e»$á¼âgºÔxÚ$õ5>\15÷Òôw(pÈüä\9f\8e\13¬¬\e\v\fÖW++ì|KI\81Lñ7Èø{<ÿ\9f\86j\91ò¼\17\ 4òL¾\7f6\94®\95>÷O(Û¹az\84\9bÖg½ýÞù¾d}G¨s\86\9c˨ª29EΣfC\84d}'Üþ\7f=\9aÍHÁâ/ͨR°Ú(4ü¢\94¥­<£ï÷ÝõË\81\19Fl2\vØïÇnVWº Û\v\f¶3\18åKñ~/Å\9f¯ü«+ÌKÂÕi3ÑZ}jú\e¿n׸Uú\re\86Þé"\84Ü\92\8f(ÁÐÞ\ f¥\7fr\97î¯\85QA¨LvÊÙð_v[aºî ß$ÿ¦;\biǪ\1a\9c8W\9cLû<Þo;ÍsY¾[\967ÓÓ\98áþ\96<oí\9bÒ¾\87\v)&l}ä!-Z\r\a7Çñî¥÷\9f?±®\8fëEÊûj\12\92`S,\0\92q      Ôå\9d\93s¤ËçóiJÃÓïw¹E+ \ 5ÊMë3ÞæO7Ì\90ì»ðr#\94x\9dÛv7Í\14ïÑ\18\92\91\ 4\95B\95\86Ñ×äü¢\94¥­<¢oä\99¹í\ 3\7f%-Ë0;Ð(¬®T\1açUÜý\95\94\8cDªØX\1fºM­\95æð«ö\93=\15§ÖÁÐÞu»fp¬ê\re\86Ñk\19\98X\1d½å\15ô7V\164I/Ý_
+£ÍËLvà¶}\vîÚð7äøÏ\19\98Èädÿ\ 1àÐïÓ '\ f|\9c8T¦F¦ú#ß\95ãü{\9dj\1c°\1eW\82à\8d\85ÞBM\fËá_GV?sâ¼Q¿\85eg\9cÎ9ÿy?[ëLÝû\eêE^v5ü¿#ä~OØø¸I\81x\8d×u7ôø8ÿ]ë³\19,\97ÅöþÞÑö÷Ò¤Ë÷\1em.\13º=ï¥å\e\8f¡.I7¬Ï{âñ\18\8fÈÝ÷s;H\8eµ\8b\1eO\85áMü\98¬^éº9Ñ\86Ï;\9dæ8î:\85BÝXnãì\£\94P\94µ§\94LàðÈþq.{<çM\fw\97òó(6\82R\9b.·Ì³½þ\87\9eóÖªU
+,¯mnÝm¤ÏEiõ¥Aª·m·
+Ï ÖXm\16u¶ÂÀîÇ\94K¡º°±¢I~êøU\1c£-1Ûê­\9eWݿǮÉ8p©L\8dMð¯\99t¤Ñ\7f8¯F\8av\12hfI<\89ú±ûÏ+åMô~Lä\1a\9bá_\92´,\97A\9fyå¼±±0Âk\15fr\99G~ÇÃÉH\89°\9b/Èoûü¦"6ZL¾÷\9b·þc\1f?æÏÊ)¨"I½Sï~;Ðú\17TL\87/Ih\99°\9f\94L\9a\10\9b\ f¥\ eRc\94¥'ùTë¨Wì6òO˧­ûO\94\ 5\1em\1fÈß++ª\83M÷ðy¬\9e\9d\91ø\ 5¿\91ð¯\92X²»I¦\8aÔ¤-²Ý§M\ 3à Øl6õ\9dea`u¼¢¾\86å\85\8d\1a´\92\9a\r·}.µVÏ»L\rþò>ßeÊò¡\1fÏ7ËãÆñ®PS©\89!\95
\7f»¾\94¤EËÛ\19Ù\f\9c§¸÷\1c\9f\vÂÉL\15N\93/§Í§úS2üÚ9E\1eÖ$\9bÕ>÷ç,lló\99Ï\89\8bÅÈöæ\85=Ïw\14`Hå\1c\87¦ôÆM\14\a\0gsÂÑ2P*\85U\86Ò\93òÌ­ùIKZ<Ý£¶\9f\13ù\1f×|++ª\83]ùB¥~*\88\92Å\92´\9a\1e´¨5VíG
\83a°ÛÖu\97\85\81Ör\8aú\e\96\164b¤\99t\1aòc¶VÏ»L\rþç\922òëKá_ï\9c4\97W¿Ù?ìfó¼ÍJDqX|?ÁÄây\9c\86BÏ;\9dÎæ3\1cêeÓ¦I\97ÓæÞJYey´r\8aÒ \13¤Úé÷¾7Çxë\1e\1f\87Îrü¹°"çú^\97ÒÚ{sKA¶\16\ 6À\91Ë\9ebGäã}g¬µM¿J¡_°ÛÉPûÕ¿-)k?\9býUa.ÆÆÒ\84
+Êê ÓG#ìý\9dª\\8aIbÊÒ\98\94QZi%T\eunÝ7
\83a°ÛÖu\97\85\81Ý\87(ÏèoG\v\1a4é&]\ 6¼\98í\95³îÓ\ 3\7fòÄy\8eG"çOÜ×#È\87\r$@\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10"óû\1fò\82\bã¾\ f«\9a\11\8b\9c\13\89XAö\98Qä¹EA8\96\ 5Ãa
+ÿ¥¾Õ@V\95ð¸n\10N\9dt\1a\90Ê=\e\94á\ 6YX\17\r+ß§Í¢°Q\85´vÐm ¯ù\ 6YK¥yV\f\14\92\ 2¿ÿl+ÿ(%n°\8e;àú¾\94\1e\ 4âV\10\ 2\8f%Ê: \9cK\ 2á°\85\7fÒßj¢Ão\85Ãp\82të Þ\802\8f×\§\b2ÊÀ¸i^ý>lõ
+\9cÄ¢¶\83i\ 5\7fî\83,³ïBU\83ó,®\ 2¿ÿØ\15ÿ·     [Ï\bã¨\1fW4#\17Ó\84âg\84\1fj\ 5\1eK\94g\ 4âX\17\r`Wÿ¤ý9-À_÷¦\v\86ÿ(N\9dú\r\9a\189ë.Sµ\f²Â\17\r+ߦÿh¨T\ 5\0jPmèWü\83,¥z\15õ\81¡I +ÿß\85\7fÞ       [¬#\8f8\1fW4#\16øN%a\aÖ\85\1eK\94_\b\17\r¨\15ÿEÙ^\bãÜ\85Ãp\82tïÐn\9c+\ fyr\9aá\96XBá¥{ôßí\15\82\80 \rJ\r½
+ÿ\90e\94¯C{Ö\aeI +ÿ´
+ÿôa+u\ 4\aÕô ó=PN%A\aÞÐ(ò\£ª\b\v\86´+ÿÑ4oÚ@\8e:ÂáµÂtïÐoH\19Gë®S\2Ë|\17\r+ßÜtÍE`£\vhõ(7­
+ÿêÃ,ºËÐëzÀ¿I +ÿþ!_ù\81+yÁ\1cu\ 3êôàó5\ 4âg\ 4\1f{`£Ér\8a\82\174Bá­
+ÿÌk7¥\ 4\v\86ýp\9d9PlÐÊ=íÊk\86YX\17\r+ߢÿh¨T\ 5\0iÐm ¯ú\83,«½
+úÀ¿I +ÿ÷B¿úP\95¼ð\8e9\ 3êæ\83\z`\9c\83ïl\14y.Q¹    Ä°.\1aЯüÏ\81FU\86õ!pݨN\9c¨6he\1f¬¹NÔ2Êиi^ü÷ûMB\9c(\ 3N\83i\ 5\7fÈ2ÊW¡]`в¸
+ÿ÷á_ó\84­à\bã¨\1fW\bN&\0\83ì!G\92å\15\84âX\14y\84\86ûU6\e|.\e\84\13§]\ 6Â\19\83`W\ e ³¾\ 5ïÑÓ6­`à\ 5\7fÔ\19e_Jò¬\1dÈ\a¼\ 5\7fí~\v\1d JÝa\1cyÀúºa8\95\84\1fa
+<\97(¬'\12À£Ì!_ô7Ú©¤\95\ 5Ãk\84é×A°\86\15Ã\8c,ïZ÷èé\9b\15\ 5\7fß\f²ÁÒ½U\83\1d$\80¯ÿïд \95ºÂ8ó\81õtÂq+\b\14y.Q\80'\13\b\10¯ú\eíTÒJ\82áµÂtë ØC0l
+áÆ\16w­{ôôÍ«X8\ 1\ 6Y`é^ý`Ö¤\90\15ÿ\10 @oµE\ 6\88\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10#ýÒ¿õ¤\9eíIâÚ\93\ÒJxÊ\83k%^$\14y\97æàK\95ê\84µZ\14µ ­)Xmà±ÝTÀÝê£\9dïz\15\83\bWÿ\ 5,;X`m\81_ô_íðÏÝd¾\84\ 5\7fü$¯ÿX\92{öi<[Rk\9e½)ã\9e\10\95x\90Qæ_\9bZ\¯\10KU¡KR
+ÒÝXn`Xïè¦\ 6ý\15\1e÷êë\a±
+ÿà¥\87k\f\rÂ\15ÿMþß\fýÖKè@WÿÿÒ¿ýZIîÔ\9e.¢Msz\94ñ¬(?\1aUâAG\9b\9e\97\ 1-V\85-uaZUXnïôwôS\ 3y\95GÓûßçV\r\10¯ýt°ì\83\ 3lJÿÒ\14ÓÔ\86~ïÒú\10\15ÿ  _þ¥$÷jO\17Q&¹½JxÖ\14\1f\8d*ñ £ÊB\8bjK\95ë\ 4µi\85-`
+ÒͰÝß¿M07\97Ts½ïx\96¤Þt7®\96\1d\90`m\89_úB\9ad\19ûÚ%ô +ÿÿ\89_üä\93Ý©<]D\9aæõ)ãXP~4«Ä\82\8f/\ 5\16ßK\95ð\ 2
+Z¾\15¥~Ã\7f?öÏý\82`oÑU\1fQï~®°zî\86õÒò\f\r±+ÿHSMa\9f¸\92ú\10\15ÿ  _ÿR\92{µ'\8b¦\93\ÑJxÖ\10}\8d*ñ £ÌÏ79.WÀ   j´)jøV\95û\rÞ~ÿ~\8a`o0&_sï{ºÁ½èo],; ÀÛ\ 2¿è¿Ý\0ÏÝT¾\84\ 5\7fÿù+ÿ\9e\92{±'\8b¦\93\ÒJxÖ\10}\89*ñ £ÍµQëRå\7f¤\12Õý\90¥«áZUXnïá_¢\98\e̪>\9bÞÿ±X7¡_úéaÙ\ 6\ 6Ú\15ÿF;¬õ!\9f¿¦\97Ð\80¯ÿþ¥\7fëI=Ú\93ÅÂ\93\±)ã]\ 6Ä\95x\90Qäþn\ 4¹^¨KU¡KU\85iUa´Ö\fi\81¹ø=^÷\82ô,\rHà¥\87m誾»jëz¬,w´42\ 2¿þ\12WþI'»Rx¸Rk\96%<k Ø\92¯\12
+<£Í­.W\88%ªÀ¥ªÂ´ª°Úk\ 64ÀÜõF^÷]èX\1a\91ÁK\ eÛÑUa_õu½V\16\1a\19\ 1_ÿ    +ÿZIîÔ\9e.\92MrÔ§\8c¨6$«Ä\82\8f(ókK\95â     j°)j°­*¬6õ`Ä\98\e\9c+\ e\82ô,\rHÿ\ 2XwÙôUXWýþ·¥\85\8eö\86\86@Wü\ 5\7fÄ\b\ 1G\91X"\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\11«\b\1d\ 4uB&5\92\9e5\ 5KiúØ\92Ð×\92ÉZV\eZO\17\82\94L©+ÿ\83\1dÝõBÒ½àN\9e\92b\8a´·}\81§:A_ü\ 4¯\ e\14Ë,%\7fà+ÿØ\83ÌþhLF\88DƲSÆ ©m?[ô\92ÐÙ\89d¯aaµ¤ñx)DÊ\92¿ø1ÝßT-+Þ\ 4éé&(¤\96ï´4çH+ÿ\80\95áë\93\95ÿ\80¯ü ó2        \88ì\ 2&7éO\1dÐT·cëbKCf¥\92´l6I<^
+Q3¬Jÿç㻿¸\v\80\9d=DÅ\15ô·}\81§;à¯ýúW\86Ç       Ü%\7fà+ÿ®\a\99\90LF\98DÆ$§\8c\82¥¬õ±%¡³RÉXl6øWÿ\ 5(\99\81-\rV;»ë\ 5¥{°\9d=DÅ\15úß`iϲ@ë;t¯\r\8e\13¸JÿÀWÿ\\ f\ 4Ä{P\89\8d\8c\82¥¬õ±%¡½*Y+ØXmA_ÿâJ&u©hj±Ýß\80\16\95úá:z\89\8a+õ¾ÀÓ\9b\ 2¿ñ¥xlp\9dÂWþ\ 2¿úày\9aÂb5\ 2&;4§\8c\82¥¬õ±%¡ºt²VöÃd\15ÿ®\94L­-\rV;»û ´¯Ö        Óµ1E*ß`iÍ\81_øÒ¼68Ná+ÿ\ 1_ûày\9aÂb:à\89\8dúSÇt\15-ØúØÒÐÙ©d­\14¤EI<^\12Q3©Jÿç㻿¸\vJÿ N\9e\14Å\14\92Ýö\ 6\9cï\82¿÷é^\e\13\95ÿ\80¯ýð<Íi>= \89\8d\8dARÚ~¶4´4éd«l7¬!åÿ
+Q2¤¯þ\ 6úÞ¨ZWl\13§\851E$·}¡§=v6ü/Ò¼6¦Ya+ÿ\ 1_ýp<Íi><!\13\18Ò\9e2
+\96·ÖÆ\96\86\9c0®Û\r\92O\17\82\94L\92Wþ¶úÞ ´®Ø'OI1E*ßhiÎ\18\8d+Ãje\96\12¿ð\15ÿ¾\a\99\92O\8f\bDÆ4§\8c\82¥´ýlIhiÃ
+í°ÚÒx¾í(\99$¯þ\ 6úÞ¨ZW¼    ÓÑLQV\96ï´4ç\16<`áJðÚ\99e\84¯ü\ 5\7fÄ\0\9bX\81eqÊ"\83D\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\bYV\ 3P\95ô%ª@öõ\ 5<p\82Ú5ð¯ÿ\1a\6Ü,\1d³
+Þ0¸\16«\f+¿\85²\96¸?ô¸rï\a
+Z\e\aCr
+xÒJË|\0¯û\\88õÔ(
+ÿÿÂWþúW\ eÐ\96©\ 3ÛÔ\14ñÂ\vh׿üIpÝ<,\1d³
+Þ0¸\16«\f+¿\85²\9d\83\83ÿÚ\85påÞ\ e\14´5a°\92ê\8b
+V[à\ 5\7fÚäGõU
+\ 2¿ÿì\15ÿºJáûP\96«àöû §\8eÔ-£_
+ÿñ%ÃmÂÁÛ0­âÇ\ 2Ô\83
+÷X[)׸?ìèç5Á\87ëRÐÙépÙuE¾JË\7f¬+þ×">\85B\80¯ÿ\82\15ÿ[\81\96«àöõ¤×8!m\1aøWÿ\89.\en\16\ eÛA´Ü\vWÒØUal¦\17\aý\9d\1cæ¸0ôRÐÒK\86˪+R²ßê
+ÿµÈ\8f¡P +ÿà\85\7fàp-X\12Õ|\1eß\ 2MsÝ\85´ká_þ$¸m¸X;§A°¸\16«Ka_ÂÙL.\ fþã\9fë\85ih¥¡¤\97\r\90W\ e\9aV[ý!_ý\8b\91\1fÕÔ(
+ÿÿ Wþ\83\81kD\1fV@öø\12k\9eì-£_
+ÿñ%ÃmÂÁÝJ\r¤àZÀ\96ÂÎÂÙL.\ fûz9Ì
+ÒÑKCK¡¹uE¨\95\96ý\90¯û\1c\88ûº\85\ 1_ÿóJÿî\92¸}\88\81í÷AO\1d¨[F¾\15ÿãK\86Ù\85\83¶a[Å®\ 5ª\83
+÷X[)ظ?í
+á¼\15¥ëRÐÙý\rÖ\14ñ×%e½øWý\8eD}ÝB\80¯ÿ\82àÿ¾\92·ÔJÿÔ\ fo\8b\94X\14µ¯\85\7fÿ¬\97\rÞa`î\1c+x±Àµ Âº°¶R×\aý¡\3Þ\ e\14´5a°\96&(°¸¥;`¯ü.D}d´¬\ 5\7fÿ\9cÁøúJßL\1fV {|\¢À¥­|+ÿí\12áº8X;\86\83XàZ\90a\°¶RÇ\aþ\98W\ e]àØ\96\86\90l%\89\8a+\1cR\9d°Wþ\93\91\1fY-+\ 1_þ÷ò\8cZ\84\95¾\9aLúN\11Ý^QØ\ 5-v¸Wÿî\92áºXX;¤\97\94±Àµ Â¹al¥®\ fý0®\1c ½\e\12ÐÕô7\851Ec\8a
+ÿÒr#ð\12Ò°\15ÿ\10 @\80\14\1f\14\92 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\1a\88\10 @\81\ 2\ 4\r,pD\b\10 @\81\ 2\ 4n4±Á\89¾\99¬ß\1fþ\1c*ñµ)ã\8f\1d¸mJÚI+ÿ¥\8f\ eÜ\0Ä\9dÐhßWnØð°w\v\83þ¾\99«\r\84Öµ­'\aþ4Àܯ»\ 3\91\1f©\ eësáO\14è?z\8d\aJP\1d\9d-,»W¥©9¿ù|n7)ì}\8f1\8fÇ\9bP\1e\9eg!\90ý\1f\1dý\8cW\13»nÖ\9a\80ÙÉüÀú<Ü\råÌ-ôÏî·Çÿ\83
+¼lJxÿs\1d¸}\9aVÒI_ý,xvà\ 6$ÕA¥nØð°w\v\83þ¾\99«\r\84Öµ­'\aþ4ÀÞêû´\1c\88ýCRêp§\8aB­(×u%\ 1t\92ÒàUzZ\93\9fT\9dÓ~ø;1\92Éex\1e\ 6ÇÛ{c9\8bÎþ¨C\15\87ù[ò\\8c¹?\99*G\9b \95ÿÑo¦{¦øÿþ°«Ç¯JxãÇn\e\9a\ e\18o[\8f\ eÛðÄ\99\ 5\7fÊݱá`î\17\aþ\86<Ñg\ 5-v\98VµëñÛÿܦ\ 6ê¾ìxåé\99¡\aN\97@¥«\8dxºOi2ÒàUzZ\93\9fT\9dÜÇÂø\\86ÿ¿»ù\9f\r\16~\bz='åæy²      jÑo¦{¦øÿðáW\8e\14§\8e<váµ+i¼
+xÞcö0Ä\997ô÷\81\8b\1d\96\16\ eáp\7fètÍ\9c\14µð0­küÉ\81¼ÛîÇð¯ÌÐ\83¤µßGÒ·ô:½.\ 5W¥©=¶}â÷\8dã\17ºn\98¼F#\8cò\1eCóüï\9dø¼G\11'÷N²t\1c\93Ìå2\93¼ÚÂZ´[é\9f¨ß\1fþ\f*ñÂ\94ñÇ\8eÜ6¥m+
+xÃ\8f\ eØÃ\12eA«\f\85\83»ç\aÿ[Ó7R\e       îp­kS\1d¿ñ&\ 6ïßt\93¾ò
+ÿÌÐ\83¦^;ZKá_-.\ 5W¥©:4\9fCä¸>\rÝ\ f*M÷\ 1-\13
+\$;è\ö\84 /yµ\84µh·Ó;Føÿq\85^8R\9e8ñÛ\86Ô­¥aO\18qáÛ\18bL¨5ví\8b\v\alp\7fÉÃ\r ØLXVµk\83ÿY07~û¤äG\90\ 1O\13è?zö¼](´\99ip*­-IÓ\1c\97       Â\eLûï\7f¾ï¸ß\eãqXl3\96\9f\93¡\ 2?»ß7Ç;Is9\f\84\8d\ 3?s\19\83\báfy¸\ 2Z´[é\9d£|\7fÿ8UãØ¥<qã·\r\89[JÂ\9e:ìxvß\86\83Wnذ°w|àÿÏé\9a´©æ¶\15­ap\7fãL\rÕ}Û·">p7²XSÄú\ fÞ½ éJm&­,»U¥©?A¡âÁ°¨\a£\ 3\ f\eAãw\7f\8a\86å\15ó\966.sÆ3yÞd|-\19üÿ-ï½ó­àr<Ù\ 4.XßLÆß\1fþ<*ñÓJxãÇn\e\12\92 ÚXðíÀ\f\83V\18±\8b\v\ap¸?ô\1c\ 5-{ì+Z×L\r×}رÞ\93Ùjú3Øj\91ÚÎ-1#ªË/\97ä½§´\90RÑÐê\9a\98o¦«î¼\9f\93ý<v:@Ù³Ø{\ 3\83\7fó\9e\18Ú\165\9fͬ!rÆúf6øÿs\85^6¥<u±Û\87
+VÒT\e\ e<;k\ 6$ÕA«\f\85\83¶8?ð8\9d¤\14µûXVµ®\98\e®û±c½%¾ß½Õ#¶¦\8e~ØÿEè\8c\11£Ïs|Ù\85IÆÐ\84\11ÑE\81´Æ\7fâ<?\87Ñdì·A Ñ\15ÿ9ÿ6°\80+\eé\98ÛãýÎ\15\94ñàc·\ e\14­¥A\92\98qáÛ\80\18\93ÔÐlðÅ\8cxX;\85Áÿ\81ÄíXR×íaZ×\ 507]÷cÇzO{ªGh\81\0%2 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4lð«Ç\ 6:=Zá;þ0\9f\1fß   jÎ\fXà8\1e5Röf\ 2e©\<8[û­Ðܺ¢­*yPRÔµJë`Wý}£Ô\96\86µ0ëëÿ\ 2sÐæ\13½!ZS\85aÞ°ßñ\85aûxjPº¬tzöN\13¿â   ñÿ¨KVpbÇ\ 1Àñª\96\1d³0\13;\ 4®\1f_\85¿ºÝ\rës\12\12øRÕz¥u°+þ]£É-\rja××\8cSz\1cÂw¡+Ã>\15ÿæXo\b+\ fWé^RJ\17z¬vZö®\13¾à'Ç·        jë\ 3\16\a\8fp\96\1d³0\13:ô®\1fa\85¿¿ÞèosÕ\16ï1!7!KUéb\eO0\7fï¥ÝºÄ´7^\98uÓÒIf^a;Ð\95á\9c+\ f6Ãu°ÿCQ^~Å(]½\b>Òp\9d÷\ 1>=¸KUa\8b\18Ü\ f\18Òöæ\ 2f\92W\ fO\v\7fx\1d\rîz¢Ýæ$&ä)j½,Cp{GÞ¥¡·\89\87]?\85~^a;Ñ¥¯ÉÒ¿õØoê\ 5aözÝ[Â\94.ëB\ f½£\84︠ñíÂZ³Ã\16\1e\87\ 2e\89\=L-ýÅÐÝþ¨°PkáKUéb\eP+ÿ9.íZZ\e
+aÖįý\19\84ïF\15ðÎ\15\87]\86ö\81XzºqäRJ\17V\10}¨á;î\ 2|{p\96©\ 6,cp<cK\ eáÌ\ 4Ë\12¸~Û\v\7fuz\e¿Õ\16\fÄ\84¾\14µ^\96\ 2¿ó»G­-\r\850ëbWþ\8cÂw¡+Ã:Wþ»\rí\ 2°ÿ¶XYØ¥\v¤\10}¨á;î\ 2|\7f|%«©\fX߸\1e=ÂXvÌÀLìR¸{ì-ýý>\86êê\8a´©åAKRÒÄ6 WýþÑä\96\86Â\98uÓû\83òó   Þ\94¯\fé_ùXn0¬=hc\81jA\aØ\'}ÈO\8fn\12ÕPbƳ\81ã\12XvÌÀLµ+\87ÂÌ\eL}Q~¯Jý\93\84\1d\15$ÖL:ÿÀÀ[7á_\8c+\ f]+ÿ[\81jA\aØ\'}ÈO\8fn\12Õ Å\8cn\a\8ciaÛ3\ 12Ä®\1f\v0m5º¢àt¯Ùê\95×\15$ÖL:é~\ 6\7fe¥¶_Oa¾ä+\ f]+ÿ\81ÀµPAõ\9aUMîB|\7fx%ªA\8b\18Ü\ f\18Òöf\ 2e\89\>Û0m5º¢Öé_WK\10Ú´\93\80\98uÿv\96Ù\7fsK2\90\14y\10 @\81Õ\14\91\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 $ª"\ 4\b\10 @\81\ 1%Q\10 @\81\ 2\ 4\b\10\13\10 @\81\ 2>ÇéÆt cù{8-\99\b\b@7¥\1e´µÚ\ 1-\9b\10S®yͰ:îÂÁÎ<r1^\eÃ\eñw6\9a\85Ä+T:r\b§£\8cÎ\92Õ§]\82\17\92U\1e§Tvt7uz­Q÷àÕ\10\ 5zîÂ\88\10 GôBvwc>©\12kÙÏôC¦i\9dßw>Î\v\7f\a\13\89@7§ÝyO(\80p9k´\ 2[6 Ûj¦op\ e»\91²°©\9at\1f\8dú\8eÙ'\9duj\87NA\14ôñ\99ÒZ´ë°BòJ£Ôê\8eÏpÝÕ¿ª>ü\1a¢\0¯]ØQ\ 2\ 4\bû:¶pÜlîÆ}R$׳\9fè\8exÎX}\9c\16Ð\réx\1c\ e­v\80KfÄ\emh\13n8ÌÚ\93¼\eRw³0âz\v;7Q\12\95j\87NA\14ôñ\9a\12Z´k\9d\831%Q¹Õ\1d\9ejYgCSQùº¢\0¯]ØQ\ 2\ 4\bþÝSvmvwcGRrÙÏôF\93]°û]\9c\16Ð\réx\1c\ e­v\80KfÄ\e\95Ç\19Øðü>\82ÎÍÝE\95¬xn\18ßK-z¡Ó\90<Í<f[++\92J¢}QÙö_
+ýΨ\80+×v\14@\81\ 2;ÿ\85~VÎìhêN[9þ\88ùN_d½\9c\16Ð\réx\1c\ e­v\80u\9b6 Ü~¿\9bKÆv\16\19¿\8dñ¹\8c~<À×w,ëîw\8dâJ\18>­PéÈ\1ef\9agO¾}v\bI%Q>¨ìõ>\15÷õD\ 1^»°¢\ 4\b\11ôvü×\80+ÿ¥ÙÝ\8f\9c¶sý\11¤Ô\90\1a×g\ 5´\ 4\ 1R\ e\a-v\80KfÄ\14~Ê0ügðýWª\90è²äò\7f\99ä¼\96KÔú\9fÎó\9es!éý>{5\9aç9>LÚþ¨+T:r\a\99\9f\8cÒ\92Õ\9f]\82\18\12U\13ê\8eÏSá_¹Õ\10\ 5zîÂ\88\10 Go\14\ 2¿òöwc?Ruìçú#I\86íù[8- \eÒ\8fZZí\0\96Í\88\8bN\7f\8cÝWU]\ 4«»µP«         \ 5læV@ó9|f\94\96¬úì\10À\92¨£Tv}\97ñ_æj\88\ 2½waD\b\10#ûõ`\99\95³»\19ú\93¯g?Ñ\1f+Z\ 6\89[8-¿ ±\80×V[ñmçý7Tv{Ë\18\10\ 4@\81\ 2>Þ©»8;;±ÿÞµzZM\9c\16îA½;0\81\1f}®Þ\1d\ f{ýZgN¨ìèÇ=[øçÉý­Q\0D\b\10#îê\9b³\83³»\18\8dF¨"}ð8\1e>3/{÷´Î\86î¬7y"\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\a\10=Ðø{µ­'þ\82¬Y\11R1\91d`µà)À²^\12ðHð\1e   Ã$Y\a\84ð\9e*
+ȬdaÀx\f\91FU\0aHÂ\10X\89)\8aZ!Lí\18\ 5\9a\12S]\9d­ÖÑ¥\ 3\0"\8d
+ZgP·w§àùÝÛijxß\ fÞ¿¯¾N\8f\9a\9d/ÔÿõýN\97¡èz>\87\83ÃÐù>O]ìÜÜú[§\9dÚü\1d
+\95\f8°³z>³º÷>\v\9b= ÆÄ\92íà6Î%5g¦\99\81ÐÑ#7¦8\1a$\83\96i      \19\98¿Ôþ\vûïw~÷§wsm\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0pcÐ\0\1f\92\98Ï\9c9\80\0\1c\18ôý\13\0\ 1]LgÎ\1cÀ\0\ e\fz~\85\0\0ÌWl3\87>\9aàÿÚb­9p<~=Àñx.\95´¹K,Øá0®¸8|\ e\10:ݼõ\81Á\8fK\8d#ÈÜ\0\17?\87*\9d\9fWý)o:Ó{+\84²õÁ\ f\87\17\95æÇ\88Â%:/üÕ\88Ò\7fóaÅo\13\87;[\83ÿÖb­9p<\7f\86àx²w\9dn\96à¹K,Øá0«ppúç\b\1d]¼õ\98àǽç\12/\\14µÒôuR\8f7.\16\8b\99Ö\9bØ\%\9e\87Ã\8b³ìâFû­ëjýâ\89ÃäOÝõaÀkT|mÿÍÎb·\89Ã\9f[p\7fôX«N\\ f\1e\86àx§\83.\96à®\96YËp\98Vçf\87Ü uËyë\ 3\83\1e÷\9cH½p\0qô½\1e\97úSI\9dx¿Ûp\96j.\b|8»?+\13m|ÿ\9f\8bÄ-òù\13öÖ+,³kzÜlëÅ\7fófâ·\89Ã\9fÔ¸?óñV\9c¸\1e=\rÀñO\f]-Á{\14\9fi©jKx\9bMÏ8@ïFàǽï\129\v\80\ 3\1førçô¥ÜëMëî\12Ì«\82\1f\ e.ϳÁ·o7æÕíÎTÊ\ 3Ù\7fÍ\9b\8aÞ'\ e}uÁÿë1V\9c¸\1e?\16àx²\93\96àÇôT\18á0¼c~×óî\10;9Á\8f~ÿ\122n
+\\8fáË\7fÒ\98÷\0÷Ip\96\10üÖ.ϳ\89\1fÌò^K\7f½Þîþ\ fÁ«\17\e}Ýöû\eBD_üØq[ÄáÏ®¸?ú,U§.\a\8f?p<YI\9f[¥m.ÒË9N\13
+Û9Y¾á\ 3°¸1ï{Ä\8c\9b\80\ 3MKàèÿ¥2.\ 1ïÒ¸K57\ 4\17gÙÄ\8aª-LN%ý¾Ç±«úã\86¿_\9a\9d\13?6v+x\9c9õ×\aÿE\8a´åÀñè.\a\8b?\8aôt·\ 5ÚYg)Âa[g+7Ü v\17\ 6=ïx\91\0Ò\7f\ exïéO\e\9d\8dÂYÉ\\10øqv\7f\9a©á-b\8a\13ÿ\9b;\15¼N\1cín\ füüU§.\a\8fɸ\1e%-Á\aÙ¸Ò-ü\18ŦÂ,Ù\\10øqv|â\80\1fWs¿:üU§.\a\8fɸ\1e?áKpG\9b\11î8\91©¸\08ßáÍ\r\84Y³¸!ðâìøá! úµ¶£I\8a´åÀñÌÜ\ f\1eÊ\96à\9e±\9f\8d\ 1Æÿ\ em6\11fÊà\87Ã\8b³à\0\0\0\0¸\0'èh\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\b\0\ 1Ã\98\0\0\10¯ø\0\0\1c9\80\0\ 1\bÅ\80\08s!_þn\15ÿ\93\9dË,óºkë|9Û\ fC_ñë3¡ö<!6Ü%2ë\83\82µ±æ¼ÈF._Ýß´*\8c;\ 2ïßÙCsö\9cÏÖÃR)«°Õ|Ï\e8s!_ú\8cîYO;³_[áÎØz\1aÿ\8fY\9d\ f®Â¡îBmn¸2ÞIÁZùW\9aó!\18¹v0_B¨Ã°.ýý\947?iÌýl5"\9c\9d©s<láÏñ¿ìÎå\94óºkë|9Û\ f¢×üzÌè}\!6¸JepfcÎ
+×)æ¼ÈF/\98ôægª0ëë¿\7f \86çô<ÏüXjG\94áV\1f\e8sÿøWþT)j÷\9dÓ_[áÎØ}F¿ã²áï®\13k_\12/8+\§\9aó!\18¾\9f`\80s
+\8c;T»÷ô!¹û>gá\86¤^p¥x<láÏñB¿ü¬)j÷\9dÞ×ÖùÙÛ\ fg¯øðgCêá µÂmx÷\ 6[ȸ+\§\9aó!\18º¾Ã~z£\ eÌ]ûûHn\7f?Ìý|5#'\85\\7f\ 3<ÿ\8d\9c9þ8Wý\90¥«Þw{_[çgl=\9e¿ã¿\9d\ f®Â\9ak\84ÚÖàËo8+[\1e\84bþ#¡;gÕ\18vbïß衹ü÷3ó!©\18î\15bóÏ\ e¿ãg\ ed+ÿQ\9dË,ó»Úúß\ evÃÚkþ=ft>Ç\85\84¦VàËhà­hó¥¤#\17Ìü+ý\ 5F\1d\98»÷ú\bn\7fCÌýl5#\1d¬Qç\87fxÙÃ\99
+ÿå3¹gJ\95Þ5бÞ\93_ñí%Á3Õ\88Ñ{+? ¨Ã¯®ýý\947?iÌù\82A !_ùp¥­²Wx×BÇ}~¿ãó¨\19w\95pe²\11\8bú?áAQ\87_]ûû8n~\873óøU\0>R
+ã³;\96t©]ã]\v\1dõúÿ\8e8M\183x°³\ 2£\ eÀ»÷öPÜý§3ç
\ 1\b\80\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0B- \0\ e\1cÀ\0\0\84[@\0\0áÌ\0\ 1\b\90\8bh\0\ 3\871+ÿùxRÖvvx¤)âÍ}ɧ\84Lm6\a\8dïîºbÈjB&+\85\9då=\ 3©\b¶ôÐÔ\8dvvð½Â¬ÕJ\91´Tr¼õ0\91\90Î?îR¸uâðºbâ©L\15\7fðVB\96½.Àj¤)ã\94K\ 5\9f\85\b\98Úl\ f\1eKt\99yLY\rÉB&+\85\9dò¯@êB-½45#\96ÎÞ\1c\8f
+³U*G¬Tr¾ª\98HÇÎÐõÒ¸uâðºbâ©L\15{¿³\92ü8RÖvvx¤)ã/_r\7f~\111Ðì\ f\1cϳd;\8b\1a/B&+\85\9dê^\81Ô\84[zzWÿ\ 6vðÓð«5R¤tj\8eW\9f¦\12+ÎÐõÃ?kÅávbâ©L\15{·É\94æaKYÙÙâ\88)s-,\16dëú}\9eÀñÌôWÝ¥1/B&+\85\9dàz\aR\11mêYÀ\ 6\1e\15fªT\8e\8dQÊóôÂEyÚ\1e¸gíx¼.Ì\U)\82¯Ý÷\84UP¥¬ììñD\14¹åõ÷'#¯éùý\81ãd"ÛQ\8b\18DÅp³¼\ f@êB-¹\9aWÿñ³·\87áC(ùµJ\91Ѫ9_WL$W\9d¡ô\90ÏÝ./\v³\17\15J`«÷\7fûU
+ZÎÎÏ\14AK\9a\9d}É{_ÓóÛ\ 3ÆÈEµ1d5èDÅp³¼\ f@êB-¿"\1a\91Ëço\ eB\19G\85R¤tj\8eW\9e¦\12+ÎÐúHgî\97\17\85Ó\17\15J`«ÿ¸ÆaU
+ZÎØ\rW¡O\1a\94°YýèDÇC°<u\bsûÊbÈjB&+\85\9dßz\aR\11\10Ô\8e_;xr\1c*ÎT©\1d\12£\95ç©\84\8b¬ãþÜ3öî/\v¦.*\94ÁVã\8cÙ°¥­vÀj¤)âövZ½\b\98Úl\ f\1f{IÈ\8fW+­\86¤fgo\v8U\85R¤lÕ\1c®}0\91!^\10vìãÿ\f\90§\8bÙÔº\90\89\8d\r\81ãîqf\17PºËýÜ5#3;xY¬*\95#f¨åvTÂGþ\1e\8fl\1dp\86\14µ\82\95ÿ²\14ñ\93\9d\b\98Úl\ f\1fw\9d\b&,Jý4\1e\91­ÎÞ\19\*ÍT©\e5G+²¦\12$+Â\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 2\11©\0\0\0\0\ 4#R\0\0áÌáÌ\0\ 1\bÔ\80\0\ 1Ã\9fÜT_ø\15\r®¶\10\9b\87`5S`\80s\88.#3îYÍÂ&1éZ[\94®\95ÈYeÜè¹Z
+k¯Îñö\f´\84jzT´\91\82\19¿d6Ogq¤YÅ~\91\9cCã¿è\95áä,:\fÚë\æá    ¾\8f`5S`\80~b\v\88ó\81ÈDÆ=+Kr\95Ò¹\b\98»\9dÝëAMzO;ü\r\83-!\1a\9aèWþ½x\ 6\8aË>ãH³\8aý#8\87Ç\85\7fÑ+ÃÈXt\19µÖ¹\9b\bMð\1a¬Ø \1cê\v\88ów\e7\1d\b\98»HzÜ¥t²\12\8cÎXúT\14×oÎôßÅr\11©è!_üºð\fÖ\VY÷\1aEî+û&q\ fuÁÿÞJðò\16\1d\aHº×9¨Bn\1d\80Õgý¿:\82â5¾ÿeÈDÆ?¢¾ä=Ã\92ôWò>wfÁ\96\90\8dO1±\129uà\19¬¸¬¶\97\1aF\9f\8aþÉ\ 6\96]p\7f÷\92¼<\85\87AÑ.µÍ\8c!7Ñl\ 6®OþßóP\F®\15ÿ¥\84L]¥iqý\15ú8DÆ>wwÓú+ìþ+\90\8dO1q¤\7f\89x\ 6\8aËBãHò|Wö,â\1eë\83ÿòi^\1eBà\85u®fÂ\13\ 3U?íýB\v\88ÕB¿ë\84LW
+á»Jé\\84L\Î\8b\97n\13ºüîÏâ¹\bÔó\10¯þax\ 6jî+,û\8d"\9cWÛ3\88zá_÷\92¼<\85\87AÑ.µÌ0\84Üí\80Õ{`\80z\84\17\11ªì\89p\89\8aá\7i]+\90²Ë\99ÑríÂwwÎì]Ô\92\11©æ!_üºð\fÕÜVY÷\1aE\9b\rc¥g\10õ¿ï%xy\v\ e\83¤]k\99°\84Üí\80ÕM\82\ 1\85ÁDHX8\85~{\bWþÆ\19¿J_»BãH§\15úT\1aY!_ð\7fJ¢ÿÌT6·á     ¹Û\ 1ª\9b\ 4\ 3\v\82\88\96ôÄ¥\83¿a-$_\86\8aú\17\1aE8¯Ò ÒÉ
+ÿ\83¬T_ù\8a\86×\ 4!7\ eÀj¦Á\0ÎpQ\10\ 3륤\8bðÍû)~ìû\8d"Î+þ\92\r,\90¯ø\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>Ü"Û\ 3\82Ó£ËÕéR¿þ=,\95\9aÎNüõkeð>\aô=\a ÃnÛ²¬\97N\1f\ 3\81¿ëÚõßÁx'v\19Ö-\ 2\bâ±&&óâü]çÆxÅ}s=_gp\8d
+þ5¨Òÿ\9dåüº¾ýg\8cá¸eì6x\82\93}ÕÆ\91G\bï²gX7ø\91ÑBÇv*\8a\1e\90¬:ün\92àáäé\83\99Å~\9a\11m®pZtyz½*Wÿñô²WùYÉÞgÙ8\95ihñ;Öõ¼úÿ_\16Ó*_/\8a¦\95nì3¯çùÏ8«8D«\91\r\10Dÿ\ 5}À¢ýç¼ôm\83ÿT6=\17ì;\9c/\v\13õJ'ñ\15HB¼ß\96tiTF\ fà\85-^T£y¬ë\ 6ú¤£ÿ\,w\9aTPô\85aé|mw\a\ eU0s8¯þøE¶\a\ 5§G\97«¶Jÿù\14²W4ÎNð}ð£Ûúß[µwþÿ\e\958h¯a\9dca5®\12ívý[½ÝÈ1\8f\9eR/Ýiñ\98ÅzU\8eùdAI»\8b\8d"\90Ë.\81\9d`ßâGèÂÇv
+\8a\1e\90¬;¾7"àáÓÓ\a3\8aý4"Û\ 3\82Ó£ËÕÛ%\7fü\8aY+\9ag'y\9e\8aú®B\866#j\8f°Î­z+÷«\95ÉXçÒ¤!\91¢ôWâ~\vWgV7¾t_\96D\14\9b¸¸Ò(\96\95ô\1e\81Õþ$m!c»\ 5E\ fHV\1dß\e\91ppéàë#\8aý4"Û\ 3\82Ó£ËÕÛ%\7fÿ!K%s,äï2\15ÿâÐ:{àì3«^\8aþ\ 3Òú^\e\84á1Xl6\v_×ñ¾\8aÿí}¢\1fyÞZSúåùdAI»\8b\8d"\89i_hô\ e¯ª(\7fõBÇ\7f%QCÒ\15\87\8e¨\8b\ e\1d?¢¾q_¦\84[`pZtyz»d¯ÿ¦¥\92\fäï2\15ÿR©\ 4\9cÎå¬ë1¾\1dõ½\86uj\1f\9c\a\ 1»ì;\ e\ eëuý~\a\81T![Eï\aý\97}ï·«\95Ë\ 5¯ëôVÞ½Ï,\88)7qq¤Q-+ôO@êúï\1cÐ\85\8eó
+\8a\1e\90¬;¾7"àáÓú+ç\15úxEµ÷\ 5§G\97«¶JÿújY+`ÎNð|\89\8e÷´í-}ëzñâ|J¡ôØû\fê×§Õ¸].\91\90Ñ:\8e1ãâPæ\17öpï}Ï,\88)7qq¤R\19eÐ3¬\eüHÚÂÇv
+\8a\1e\90¬:ünEÁçôWÎ+þÔ"ÛRà´èòõvÉ_þºP\7f9\9c\9dæ}\ 6qP÷V'\v\85ÂìÛ6÷µmJö¤\r}\ 5\86u\89Ò\85\17¼\88WÌ=Å\8d\88u­j\8b`ÿ÷\9d£hT¦òÕ \vÈl6\7fäAI½EÆ\91d2Ëdΰoñ#B\16;üJ\8ag\90ôWÎ+ÿÚ\11m«pZtyz»d¯ÿ](?\9cÎNïú,^Û]×Uð\ eª§Ð|\1dþþÔ\14RæÃ:Äý7W¢\9aÖ\0\9cn¾cÌq1\8ffÝ·5¯ÚíL\1f\9c\ eëºÅú\1dÇ\15\v³Ól6x\82\93\7fjãH²\19e³gX7ø\91\9f\v\1dþ\vk\ e\94ÁÌâ¿ìB-µn\vN\8f/WØ%\7fþ:\94\1fç\19ÉÜ\0ú÷\1aFS\84wÙ3¬\eüHÏ\85\8eÿ\ 4«lS\a0\17\ 4´\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 Ô©IâÀ\0\1c*\80\03£Ô¤ñ`\0\0\0\0\97*JO\16\0\0áT\1f\19+¼fb\91\1agMKî\râõ(?\95\8aÿó©CÛß8ï\84»]\94µùØ\8c&\13ô}\ f¡\8dô®EÒ¸uçG«¹ÛÂõ+Ãr\11å\91o­äÂ5%'\8b¸ptº\18¯þ\98¸ªÜ,ïC\89\17é\:ø\91~\15ÿ)_\ e\9e\11mHRÕèDÆ£:jz\a\ 6ñz\94\1f²\93ÔüÊP÷\91úÄr¾ÇU\84ÙvUCHx?Wêýí|½ÇR¸uçG«¹ÛÂõ+Ãr\11å\91o­äÂ5%'\8b¸pt¹ø¯þ\89^\1eä,ïC\89\17é\:ø\91®\85\7fÊWÃo\9d\bRÕ!\13\14Î\9a\9a÷\ 6ñä©AþW;\8eçR\87¾Oì=Ø\1c\vS>\8e+\r\86\8d\95Ì\11ó·ýÜèõoì\ 2éJðøÚ.¹ÈÛëy0\8dIIâþã\83¥Ùâ¿û\12¼>\92\16wÐñ#_JáèþÐfü+þR¾\1f÷\84[i¡KT\84LS:jkÜ\eÅêP\7f*\93ÔÃJ\1eù/E\7f\19\8càï÷öÐBê>rO»\9d\1e®z+ïR¼5ò\8aõ¾·Ç¥UÉIâÿéÁÒìñ_ý\99Ûþí\14é³âF¾\95ÃÑðòü+þR¾\exE·\93\85-yHDÅ3¦¦½Á¼R\94\1f¦w\1dæ©CÛ!\16ÝËYÖch&=>{¨;\9d\1e¹\ fE~]'m\92\96\akJ«\92\93ÅÜ8:^\83\15ÿòyÛÿ\1e\10õ²âF¾\95÷r)&B¿å+á·\84[^\85-^\84LS:j`po\19t þM'©±¥\ fl\84[[º\99k¥pò3£Õ¼íáe+Ã\91IÛiÒÀíι)<_tàésñ_ý3·þD4«\9fâF
+W\ eß\120B¿å+á·\84[R\14µz\111Lé©}Á¼rT ÿ\95¤õ9ÚP÷Sw\8a×JáägG«yÛÂÊW\87I\bòäíõ»\89UrRx¾éÁÒèb¿ûÉ^\1f\aô<HÁJáÛâF\bWü¥|6ð\8bjB\96µP\89\8c¼é©\86\94\1f²\93ÔÃJ\1eùh÷wVÕ\95òk-|¼½ûÎùÛjW\86Ïã©\b¶õTÂFk\83¥ÐÅ\7fúÕÜÑ\1c\1c\ f ªJ¤\1c¾)\11ÕçML4 ý)=L4¡îW¢\11|òÞZ\8bèÂÕRç[yÛÃ2\96\1dÔ\7f\1dHE·ùé\84\8c×\aK´Å\7fúÕÜÑü.\ e\1fO\9eNeÆs!\16Ú\88RÖ\"cW\9d50Ò\83ô¤õ0Ò\87³ÕñæYÁä\1dU0\91͸:_[\8aÿõ\8b¹¢q"B¿à\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1ýß,Ê×Ñ\87ÕhNÜ\9e\85xHXì\0\0\0\0w\10V/~ïÛþ㸫ë0ø¼V+Ýn\9b¥ßSÔæÂ¼$,v\0\0\0\0\ f¥\84f!^\12\16;¯·­¼t!s[o\bÙãoR¯\15çO+\94\97%ØP}!'¹\96úÞ»üý¶»®ÆöØ*°\99«¥\7føkõú\92\95ððü:\93ùÇ\8dK\a\7fܥθÌ^-¯³­Ç\85aÊNÛ¦^ \19\97\a\r\15\16\1e:£ïæ¹\9f\9d±\19²\95\19g\92±Ê<U\8e?áñ8\9bΫªµ÷\9e\W\ 5Ám\9e\1fú\95å´\98¹_ªj\8eR¼7|³\13Ç¢~²{­Ótàï÷ø\9e\19\13¦(ß\9b\1eàÿ·
\90±Ý¬+ÿÇÂ\17<å¼#O\eJUâ¼éår\92ä»p\8eÒ\12{\99o­ëód\164"&¯¼÷.\95ÿîÞkÍ9Jøw}\87a¾ù\9f2´°w].u\8f
\94\9d¶Ö\15ÿ¬üÙW\19W(»V¹\9egáØ\8cÙj\8c³N/úö¼©à·     ²l\8aû§"¿Ú'\ 3\9bW\80ð\vJò×i\98;\94¯\r~Y\89ÑÅ\17£6ªtB×¢¿\1eàÿ·
\90±Ý­'m\91\b\ÕÛÂ6gDÝD ¿\8eÎ\9eZJK\93ð!Aù0\93ß=o­þ_¶îv\95Ò¹JøX\96\ eò\15\ 1\ 4¤í´1rEÿÍÉÃJ²×jÖÃ\99øv#6¥Q\96eb\99s\96Í*\89+ËY±\ enyeWfë}¼Þvï\1dã¢r+\13ÿ»íêõ!+xÝ\85xHXîÖ\15ÿ\91\b\ÕÛÂ6gDÝWÝ\ fè³§\95ÚK\92ì(?&\12{\82ß[Íø\ 4åÒºUÒ¾\14K\at¥t¥'mê±rEÿÍz\1aU\96»V¶\1cÏñ\19³\95\19fG¢¿\8dJòÖlC\9b\9eYUM\v\8dó\ 4üZS"Òç1Ó\90¯ \v\1dÚ¿ü\84!sWo\bòyÑ7.Ú\ 6ñ\8a\7fÏÇAù+¸Vra'ºë}o3\15ÿÜáÍt®\95\85\12ÁÝ)])IÛz¼\\91\7fódÃJ¼ºíZØs?òö#5\12Ô&]Áÿoá\9bÜJòÖlC\9b\9eYW°¾\8dE ø\9d®\1aã\92Ý\rØW\84\85\8eía_úhBæ®Þ\11§\8dËôWèó§\96D\1f\93GK\ eÒ\12{¯·Öõ\90¯ÿ    \82Á+§ØÞÝ\9a7´ür\95Ò®\95ð¢X;¥+¥);oôbä\8bÿ\9bO\r*Ô®Õ­\873óv#5\12Ô&]Áÿ¢¼\9dÑÒ¼¶\9bþf碿Gå\9fËò>G\87Äâbpi¿ÞïxKµÚ+FQq\12)<_\85Ùõ\1e¢/¥5ï¡gwa^\12\16\85\7fé¡\v\9aËxF÷\8dË÷\83ôyÓËIIria#ô\84\9eùë}oñýàµ\1dݧ]+¥]+áD°wJWJRvÞª\15ÿç\7f7'\r*Ô®Õ¯ñó?ÑìFl¥FY\7fÞ\ f\95å²?ænz+íùgo¹Üâì4\9f¸÷
\f\r|ò_¼à8\r¯TÕ\1c\86¤]\85xHXîÖ\15ÿ\!s\ 5¼#{ÆÙJ¼W\9d\85\aäÂOs-õ½wÇk+äÒ\9aÿ\b×P±ºWK\8d\1a*WÂêX;û]cXâþ`ÿbØ\9a\91äR\15\87);oS
+ÿÌüÚåH\e\93«üÏç\17rVÆ\a\bÛ|W\8aWÉ¢Eø-ýKR\89ý°Wû{=[V\92\95å±ý\15ñ+áÁ\94\84.`·\84oxÛ)W\8aó§\95\90 ü\98Iíû}o]+Ï·ð\1e\rÒºXÉUsGJø]K\a\7fÔôþ\9f\eí  ýìd¶\90¬9IÛ\7f\9aãH¿ù°*@ÛÜ*¿Ìþqw%sIk\ 2¯`\86¯c½yÕuV¢ÒMòñxÈ%yn6\1c\8fn\95á\89_\ e\f¤!s\ 5¼#O\eHSÅÜéåHP}èIîe¾·\0?²ãH¿ù°*@ÛÜ*¿Ìþuw%\7fÑ-\8dHW\f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1d\8eÁÿ£Ì\¦¿¶Ï¸?îëîKë¶[7`ÿö¿      á?KÑz,5úü¯¬*þ¶ý¿o;FÐ×ÕAÞ·©øüWᥤéîRz\96l\1f \v\ eÛ¸d\8dnv´¤+ÿ=è\ em®4\8aø7LòUw\17\1c×\8b\ak¦!2\95*¼â¿íì\1fú<ÅÊkûlû\83þî¾ä¾»e¶;\aÿµø_
+¯¯Tâ7\8dã\v³ìøM\97e÷;\9eæ¯Ca\96õ=ÜWá]½Or\93ÔËØ>\12\16\1déq_þ\fíÿË.îÿÏz)\1fõ¸Ò+àÝ3ÉUÞ$W\8b\a\88J*UyÅ\7f\7fôï1r\9aþÛ>àÿ®Þ\ 2× ÑÝ\86Áÿª\ 2FÝö-\8a7ݱ$kÎû°\9b[¿pÙyEåÓ`øHXw¨Å\7fþ\83;\7fë×w\7f>ôR:\8b\8d"\98¥rÎ$qû\10«\8e¦!2Õ*¼â¾ã`ÿäì\19mN¿Ôüë\83þ¸Xï0ó\ f¹}\83ÿU\vþWÜ­\9aöò
+ÿØ\ f\19oSó¾\8aù\v\ eý\fWÿÌgoýjîïçÞ\8aGQq¤SÑ_g\12
+¯ªUyÅ\7f\7fïl\19kÚÿS ¸?øëx\v\ 2\r\1dØì\1füj?\99ºy_+\87À`8\98 [\ 1\80Td&\96õ=x¯Ã+Ñ_\93°|$,;Ôâ¿ü\19Ùk\96]Ýþ­è¤u\17\1aFF.\fÓç\92«¾Y\8f±
+­ú+ïªUyÅ\7f\7fé°e²uþ§@Î?øèXî\ 4\1a;±Ø?õ}ð)ÈÝ5ëz\9eµ@\9bãé«/îÒz\96l\1f        \v\ eõ8¯ÿ\ 6vZ×®îþyè¤u\17\1aE|\e¦y*»Ä\8b{\10«\1d\9cZ_Tªó\8aþ×`ÿéÞbå\9aÿSgp\7fÝTIwÐhîÇ`ÿðw[¬_x\15é½4o½\8d\ 6Á\165ÇÉÛÔ÷U\ 2mßE}ºORÍ\83á!aÞ£\15ÿú\1cíÿ¯]ÝüóÑHê.4\8aø7LòU\8fÄ\8d\1ew,Çg\16\97Õ*¼â¿O°\7fèó\17,×ú\99÷\aþe,w}ÁÿÓ5¬\15ó\aø|\ 6\ 3\v³lÛÇ®õÍ"\8d\97üÑ\95Ò\16\1déñ_þ»;\7fæ.îü÷¢\91Ô\i\10\1cWöû\aþ\9b\ 6\7f©\9fp\7fæRÇwÜ\1fý\91X¿éú?G\87À`\150\16û»í÷\7fÜw\1aj¯­]oSù´\1a\1d!aßòpÉ\17óµ¥øiV\17 9¶¸Ò 8¯û;\aþÇ\98¹M\7f©\9fp\7fæRÇwÜ\1fÿ¹·©çªà8d\8f%\9d¿ó\17w~{ÑH\97\1aD\0.\ fø\0\0\0æ|\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\v\82\96\0\0\0\0\0\\14°\0\0\0\0\0\17\ 5,\1fö\82­£Îxü<X;{\155e<Ö­jë>ãó¥?\1c\95ô¨\82¢d!ëoq¤QÁql\351[Æ<-£\ 2XJÂóÒ¹¨Wý×\9cµr\95\87\90¯ùÈHó\9e=£Îx³\155yg\9aÕç\17Yõp\88\9d"WÒåPTL\84=t×\1aE\1c\17\16ÅÃ3S\15¼]\85´rÉa+\vÏJæa_÷^rÕÊV\1eB¿ç!#Îxö\8f9âÌTÕ\87ìÅë]g×Wu%´¯¥b
+\89\90\87®\9a\15ÿ©p\[\a\fͨÅo\1e\9d,%ayé[\1a\16\9cµr\95\87\90¯ùÈHó\9e=\9bÎxÔçqÜ>\8aý\1aë>ã×u'ß%}+\10TL\84=tЯýNyHØ8fl¬VñÎ%\84¬/=+7Ñ_ã^r×\1dJÃÈWüä$yÏ\1eÍç<egqÜ\9aªm\ 2ë>®\11\13q+éX\82¢d!ëÚS \1c­ÁÿþG\fÍɸK?ÍK  X^zW3
+ÿ­ç-WJÃÈWüä$yÏ\1eÍç<egqÜ\9fE~\ 5Ö}s_ÛV\95ô¬AQ2\10õÓÓ     \16g\94\8c×\fÍG        gê\12ÂV\17\9e\95ÌB¿ëyËUÒ°ò\15ÿ9   \1esÇë<ç\8b3¸îw¼\1fn\93zÒgJ}*WÒ¢
+\89\90\87­½Æ\91\91ùN\19\9a\98­ãÔ¥\84¬/=+\98\85\7fÖó\96«¥aä+þr\12\8fÖyÏ\14ÅMTy­^Ùu\9fHCÖÞãH½Â¬×\fÍLVñ\9c\96\12°¼ô¯ró\96¤+þ «hó\9e4\1esÅ1SU\1ekW·]gÒ\10õÿ<\\91\93¬.\19\9a\98­ã
+XJÂóÒ½³ÎZ\90¯ø\82­£ÎxèÞsÅ1SU\1ekT\0ë1rF\9f\85X\351[Æ\14°\95\85ç¥{g\9cµ\0\0B< \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1ذkµîöÒG¸à½Wª\1fFT\0\ 1Ä\88\0\0sleç±ìj\84\87\16XM\93d?DÀ\0\1cH\80\0\ 3ÿ`V¢ÃÁ°\0\08\91\ 6¢\11mLèAîÐU¶F+\ fÖ¼û<õAmk
+,\15\89Ðü\²·\8e¤×;\85Òé¾Þo<6#\11Ãð¼.\17gÙÕ_\ 2HWü\86¤yhQæ\fíÃJ_÷5\a¤Q\ 6´k\92ÁÞ¶\1f\1a\e»Jÿ×Ä\8b\94Ã5ÌòÍj\18\ 3z\16\1d.6m¼"Úöt ÷\88*ÛÈ ¦¿8óìóÕ\ 5\8a\1f\9a¾¯!,\a\9dÍVâC}ÛvÝïiÚZû¢)
+ÿ\90Ô\8f-
+<Á\9d¸iKþæ ô\8a\96K\a~kø®¶v¯]+ÿw\89\17)\86k\99å\9b\16gÑÊÂÃ¥ÆÍÿ\e\83þ\99Ð\83÷\90\91ÅaúÇ\9fg ¨-·«\95Ë\19\8bÅû\9dËr\89Æ<o®Û.\93\ï^ÃØ5\rM5ìÀjR¬L\84=n!©\18\r)\7fÜ(="\9c±×¥\83½u\9c\7f¢¸Æî@Xîñ##_ÌhóË5!aÒãféî\ fúgB\ fÿ «l|V\1f¬yöz
+\82Ú«\1d'íu\8dcwØ6\ff/\17zñ¾6='OW·Q\8d\9e\ eªeòB\15ÿ!©\1eo<`ê³·\r)\7fßÎAé\1a~XàK\a\ fG~ÝÆ7sÑ_w\89\18þ\8aûyå\9a\90°éq³t÷\aý3¡\a½AVß\7f\8aÃüÓϳÏT\16Û¾§©â¸.
+/LZ\96¥ìü\7f\8fý\8cf3\ 3ê}LzN\9e¨¶\12ù­kM!²b£p¹iV&B\1e·\10Ô\8c\86\94¿îv.H§,yd°wø\90Ô\8bw\18ÝÊWÿïø\91¥Ø\89\173Ë5!aÒãféá\16ÔÎ\84\1fÂ\82­®â°ý[ϳÏT\16ÝÛ\×#{uMólÛ8l>\1dW*5t\9d>-\ 6@â!\12-òñxÞ½\8f±ViôÅ\8c\8aýg¬Uà§!_ò\1a\91¨\86Qægn\1aRÿ¹Ø¹"÷,yt°w­\86¤hî1ºé_û¼H¯\16\aW\9e\v\ e\97\e7O\b¶¦t ýä\15mø8¬?Vóìöj\82Ûì»ç|á0X(\9c)5íÕ?7Éù8¹Â\91Åbtâñ^\1f\1eC~Û¶è°\97V#\11\17äëx\8a6{\13ùK·Üîd+þCR9HQæfvá¥/û\9c\83Ò/ Ö\8e],\1dà÷\83ñ®1»´¯ý|H®\98f¯<³R\16\1d.6m¼"Úöt ÷\88*Úì"Û\ 3ϳçÕ\ 5¶ñâ<B¢.\ e\13\a\83WÏRþW\86ðØ;­×\17\8aÅE¿D:æ¸B\1e é)|\eùÛ\875-$X\83Ò(\83Z3\12Áß:ÎÕõaÌòÍkAã«xÍ9      úp\8bkÙÐ\83÷ÐUµp\8dL\ f\9fT\16ßi«êôZq\ f¸].\8d|.U63Ü\90\87©\rHó´¾\rüíÃ\9a\96\92,Aé\14\19\89\v;W¿\8b\ 2\96lOÊ\7f\8cÓ\90\9f©\b¶½\9d\b
+¶®\94=Àóìâ ¶\80\86¤s¸®[
+ZH±\a¤Q\ 6´f%\83¸\0\0\0\0\0\0\0\ 6 =Pø{µ­§þ<\bð\14A\ 4\10Eà ò\1e\vQ\1e\ 27\88ñP¼\ 4G\81y\ f!⨼'\88¨\83à\83mÎÖâá1IhdÎD\¦\a\14]®Ö\f£°g\1a¡KacÞÏ¡Öö_7ÉÒvßÒ~ôý\1fµúïmä\91êý'îÏÿ{ézÎæ'¶¡äõ>õý=ô½osíbM;\9eò}'W¥\8dlLíqçLw0°)&´q²\SFÃc\ 2h\94Ì1²\88£tL\em\8dLá442[®Ó\7fSø/ïÞ÷{µ¿w6Ð\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0øyÒÚ\94¯\ eÚ\fxůøö3¼5{\v\v*íÿ²\10õft\Â\83\84&âTc·éA     \b¶ö;\aÿ"Wx¿pxa\85<[L\1cÓ\164dyýûW\1aEøV\1e\86.W³Í\ e\8bÓ7\97\938\17M\84¶ó~\ e\7f/ÒúWµìF\7fÔ\f=\8e[,÷æÌÿ\84øG*\8f\fÚ\ e\1a\13BÇK\1c$x\19ÒÚ\94¯\ eÚ\fxê5ÿ\1f_\9dá«ØXYWoý\90\87«1Iö\14\19ÿ\!7\12£\1d¿J\bHE·±Ø?ù\12»Åû\83Ã\f)âÚ`æ\98±£«yýý\95Æ\91g    \1a8¹^Ï47þ\99¼¼\99À\89ïIó\1e\8bÑL\ flV\èFw\95âx\9cÖg37î\ füw\1d\97ãøùº¾C\99ÌÎÖ\88J<3xîùß/\9c4&\85¡V8Hð3¥µ)^\1c¨1ãW_ñÿc;Ãpáz:ô\9d\84!êÌR}j\fÿ®\10ר¨Çj¥\ 4$"ÛÙl\1fü\89]ãÑÜ\1e\1dD)âÚ`æ\98±£Ô¼þü·\1aE\9c$RÙ»«Ó/Q\97\8fÌõ>¦u\bDä<\1f\83zê¦=\ 1ÈMý?ií9_\1fãý¯m\a>¥KPpÍ\99Íyï«(½f$\8e\12\9d\94¯\ fZ\83\1e5uÿ\1eÆw\86¤/G[\86m\18\98¤\82Ô\19ÿ\!7QQ\8eú*PBB-¿Ã°\7fõÒ»Æúàðôð§\8e\r0s\8b<Éñ\9e\7f~[\8d\12/ðy£æ\85^\99æ}'¤\9a§\9eÜG\11}pÔ\9e¼RË\81\83àá\9b6¢÷f³\\8f\84ð\9e£\8bâà\\95Ó\84\8eû:[b¥xvPcÇßëþ>¿;ÃR\17£\92\93¶ª\10õf) µ\ 6\7f×\bMÔTcº4 \84\84[{=\83ÿ®\95Þ>ß\17\rõ4¯þ\1a`çS<Éñ^\7f~[\8d\12/ðy£æ\85^\99{¼v÷í\a/QV×£½Å ô\13ü3g\7fç¾òøp\91ÿ|ém\8a\95áÙA\8f\1cM\7fÇ×gxjBôn\84[W\b\14\90Q\ 6\7fÙ\bMµPyWJ\bHE·æì\1fýt®ñ¡pxjÒ¿úTÁήy\93ôï?¿-Æ\91g        \16båz¼Ð«Ó/aàO'âü^wïà>3Æ{oñ_çºWßá\9b3\86\9bÑán\ fJùÂG}\9d-±R¼;H1ãª×ü\7f\87\9dá¸p½\1d|E?¡\b\14\90Q\ 6\7fÙ\bkµPyWJ\bHE·´Ø?ÿ\84\95Þ4n\ f\rHSÇIL\1cÓ\164r\1e\7f~UJ\91_    \15Ô~5ù¡W¦\7f\aÈù\17±rîu\vû\9bð¯ù¾\14oTÏ5ô¯¿Ã5ï\85µüo?çþë¿wïeêý]ö.\84\9c$~Æt¶ÅJðåA\8f\17*,>6w\86Ô×þ[°\87«i\1a\11:\8a\8cw\r\1eÁ!\16Þ»`ÿäJï\16\jô\85<a¦\ ew\17sE\7fÛìÜi\16p\91V.W¯Í\rÿ¦o/=\7f\9có\8f}\18\13/Æñ³\ 6\ füï\9d\99ù^\9fÉù9Òv¯'Äq\19ÚbO\9bÿ<\85\1e\19·ØºOGæ\ fÎ\12<\fém\8a\95áÊ\83\1e.TXxó¼6-\7få»\bzÓÎÜ<ô!¯QPyp©A      \b¶õû\aþä®ñ~àð¶\14ñm0s¸»\9a*þßfãH³\84\8a±r½~ht\:ï/=7\15ÅM\94ѳs\13TÏøM«c}\ e.fþ\1f\95ò¹ÚbNô+\8d\9eá\9b7é_ý\aÒ§èý+üá#ös¥·\ e\95áÛA\8f\18ó¤Æ<ï\r©¯ü½Ö¯lÄ\82Àe(!ßl\1fû\92»Æ\v\83Ã\ eÁx¶\989íWsF\8d,ïûw\1aD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0øÙÛÿ,+\87ivÿåJ³\1aÉc\vfÞ¶º\15ÿÏÛåÝ\ e,\ e£Ï\1d\90\8bo\©R5¡KYv\1e\ e6qÿJY£Úâ¿ýô*[?7Û¢Ï)\19ÙÈÀB¿çÐØz\8cè_\96\15ô»\7fò¥Y\8fÁK\18_\89o[]
+ÿ®ß.¯\16\ai¼ñÙ\b¶õê\95#Z\14µ\97aàú\86qÿÃ¥\9a=®+ÿß=\11¼ý\88.\8b<¤^\86\85\88\85\7fú\8cè_\96\15Ã\95vÿí%Y\8eJXÂØ·­®\85\7fà·Ë´µþ¦\ 4¯\87!\16Ûj\95#ð¡K[\e\ f\a\1a\ f±¥,ÑÞâ¿ú¸\1aE\9eR$+þB¿øùп,+\87µ]¿ýrU\98ä¥\8c-\8e\95÷B¿ð[åÚZÿR\99ÑêB-½b¥H×\85-ll<\1ch>Æ\94³G{\8aÿóólÿó}g¬ü\9fCègë=\ 2g\94\89
+ÿ\90¯þ>t/Ë
+áÛ]¿ý\82U\98ä¥\8c.¾Þ¶º\15ÿ\82ß.Ò×ú\94Î\8fR\11\15*FHRÖÒWÿÆ\83ìxT³G·Å\7fûìíÿç¹Îrtd\b\99å"B¿ä+ÿ\8f\9d\vò¸v×oþÒU\98ä¥\8c.ºÞ¶º\15ÿ\82ß.Ò×ú\94Î\8fR\11\15*FHRÖÒWÿÆ\83ìqRÍ\1eÛ\15ÿï\7fÎ\7f5£p³i\97©?ãº\e\9eR$+þB¿øùп,+\87mvÿåJ³\1aéc\v®·­®\85\7fà·Ë´µþ¥3£Ô\84[rU*Gª\85-ml<\e\90}\8e,îÑíq_ÿÛÔuÏ\váo`ä6ç\94\89
+ÿ\90¯þ>t/Û\85på¤í²¥Y\8cic\vÞk\88Ù\8b\ 3¿YR¤d\85-mì<\1d¦qÿ\95\9döë\i\17¾`ÿò8Î1èâîwÎÄ7<¤HWü\85\7fõyпn\15Ã\96\93¶Ê\95f1¥\8c/\ 5+ÿözþÚB-¿®©R.\85-mì<\1d¦qÿ\95\9döë\i\1cç¼ó¼ï²õ^©çÞm\8b<¤HWü\85\7fõyпr\15õIÛeJ³\18ÒÆ\14AVÓÏÇÔT©\17B\96·6\1e\ eË8ÿÊÎû`\0\0\0\0\ 5ÅÝ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ù6ôÆ\97îøH4v\0\0\0\0\vzcNÞ\98Òýß   \ 6\8eÀ\0\0\0\0=í½1ÑþìOnP\0\0\ 5Ñ}Ijë¥|:b\91\1c\98¤¿JÞ\98î);m¬Wÿe½1]¼õÏþïC
+áçÐhïAû¹Ú\91%\99æ¹®KÃøyßö\9baiyô\99s!\14þºãHµ\ 6-S<\95k.ã½/aµ.3\9bxfï\17\82F\18U.÷óHWüá_¦æ\eÐÂ\1eµÒ¾\1d1H\8fY\8aKþêÞ\98î);m¬Wÿe½1U¼õgî×
+á­\ 6\8eÕû¾W\89â^û¬g7\98Ìz?\ 1à\1eû¸\ 4Ùô\a\8cã'·\88\81\b§õ°Ô\8a Åªg\92¯Á]Ç\7fuì6¥ÆsÒðÍí×\82F\18U.ö\16;!_ó\85~\93¥Yp¢Û\92¾\1d1H\8e¾)/é-é\8eê\93¶ë¾¹bËzb«yêý½mfm\81Â\83Gs<.½\bÇ{\ eC\90æù\9efl\0yÏö%\10\8a\1a\91ÂgP´g\1fþ­w\1dô\9eÃ}õÆsÑðÍÞ¯\ 4\8aB©d+þp¯Ót¯èi-[\92¾\1d1H\8e¾)/»\8b;\9aNÛ®é_e½1U¼õ~Þ¶³¥}¨4wÇ÷ÞúòNþOìV!\14ÿÜ\86¤q\19Ô.\96y*È»\8eðÒÐÚ\97\19ÏGÃ7z¼\12)
\90¯ù¾\9fÛE\97
+-¹+áÓ\14\88Ý
+ÿÔ]Å\9d½'m³\8aÿì·¦*Å\7f÷íëk:Wô¨4wyxõ\19½y\10\r¿;\96å§B<D"\9fûPÔ\8dG\ 6µFqÿÖ.ã¾\9a\15ÿmÆs\87\86nõx$R\15K!_ó\85~\15ÆÇU%«rWæ)\11º\15ÿª»\8b9T\9d¶Î+ÿ²Þ\98«\15ÿÙûº?â¿Áp3\eî\99¹\9e\9cz¤ÅsÜç93þo}Ó\92g\12Ø)ÿ¡\b§õ\90Ô\8dW\ 6µ¥\9eJ¹+¸îØWþ\e\8cç\ f\fÝêðH¤*\96B¿ç
+ü;á¿ÑÒZ·%|:b\91\1eN)/û\9bzcØÒvÛP\\8aíé\8a±_ýÿÝÐé#Áp3\eî\95þSÇxç¢Q×±aÞwß\91\16ì\84SúÜWÿFu\vny*ä®ã¿¹ö\eÓ\g6ðÍÞ/\ 4\8aB©d+þp¯Ã\83'ú8CÖD¯\87ÛÛÖÖÛÓ\1dÅ'm³\8aÿý¤,G\8b\v/\90\8a~ÙQ\7fäÏ%W ÑÜ0Ô\8cW\19Í8fï\17\82F\18U,\85\7fÎ\15þû¡_¡\83òk¥|>ÞÞ¶¥½1»IÛlâ¿þå*Ìup¯ù\b§õùÛÿ&y*¹\ 6\8eÛ
+Ã¥ÆsN\19¿=x$}ä*\96B¿ç
+ÿ\7fáúö\ fÉÉJø|«zÚ\96ôÆí'mú¸¯þ\90®\19
+ÿÿ\8evÿÉ\9eJ² ÑÜ0Ô\8a\g8¸fý\95à\91\0\0\ 2\12!\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\7fbWÿýW\99mJWK\1e¿¶Ço¼åÅ6Ø.\1aM\fíÿfw,çñLÅp±Ø¨1\7fÖó¿ðù¡ÚçkIJÿú¯\9d:Z\fÿ®\15¥Ëñ¼j«¸êÿ5\9e
+¦+ÿéqH\8fú\1eeµ)],zþÛ\1d¾ó\97\14Û\7f>á¤ç³·ý\99ܲ¼S1\,v*\f_pó¿ðù¡øùÚÒR¿ýf\ f£­\ 6\7f×
+ÒÌðC{÷'©ö'u\7f\9aÏ?g\ 5Q+ÿô¸¤G¼y\96Ø\90iÝÛ
+\e\8fo¼öX¦ÚýÃIVvÿ¯;\96X»|-·¼¤"\9fÙ¼ïý?4?òó¿å+ÿè8P2\15¥G\99R8*\94¯þ\9ev¥ý7\99m\8a\94\ 1ëv\147§·ÞvqM·E\v\86è3·ýyܳ\ 6Ááâê^é\b§í\9ewþ/4?iç\7fûÊWÿC¥}\90­-÷ï½\87#ÈÏ\87²WùªóöpU6\ fÿK\8aD\7f=æ[pé@\1c\9b
+\e%¾ó±\8am¬¥\ fkÎßõçr̽+ä"\9f¶yßú\9eh{§\9dÿ)_ÿAð¤L\85iY\vý2\ 1\b£çìàªl\1fþ\97\14\88÷¯2Ú\94 \ eM\85\r­o¼õئںPöÌíÿ£\9dË/â\99\8bºWÈE?ló¿õ|Ðÿ«Îÿ÷\94¯þ\82\fÿ²\15¥\8b¥}^~Î
+¤"ÛO\14\88÷\8f\94®\96M\7fmê-÷\9eË\14ÛWo\9eÙ\9d¿ôs¹eüS1wJù\b§í\9e\9f\9a\1fúyßÿÿ¥\7fùß\85\7fд©Ò¾¿?g\ 5R\11mÔb¼?ló-©Jé]¯í¸Öû϶Å6ÜLîYÅé_!\14ýÓ\85Áºâ\94\94¯ÿ³Ø?õ Ïûß9Z¨V\97ð¼\97\92\9fó\a÷·ðY\7f\9aÏ?g\ 5R\11mÔb¼?ló-©Jé]¯í±Ûï>×\14ÛjgrÊác±Pb÷Ï;þ\9ehG\9dÿàR¿õ Ïüï\93S~\15¥{à*\15î÷ót^~Î
+¤"Û\16+Ãï\1eeµ)],zþÛ\1d¾ó)_ù\v\ eýG\9dÿO4#Îÿ\94¯ü\0\ 1
\80\0\9eÃ@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\r\80?\0\0\ 3\83\98\0\0\e\0~\0\0àæ\0\0\ 6À\1f\80\0\ 1ÁÏ\82Í­©p-R\10×uÁÿ\8a\12\ 3\92\12?l#\17j\11m¦ºæ>âàÿÐÅ\83¶.ã»ìä:%Z\7fÐ\86¤c¦
+©çîã;H·<\95bã?°¥\7fút\1e\19\8aãW\8cãÂ\r\84 G«\845ò.\ fúB@u¡#øa\18¹a\16Ô]s\16%X\9d\fX;bî;¾ÎC¢U§ÿL5"ê`ª\9e~î3´\8bsÉU8ÏËJÿÚ\83Ã8W\1a¼g\1e\10la\ 2<\85Ü;uÁÿHH\ e8Hþ+{\17kí}µ\17\7fl\v£p\8eôV÷\97¤\85\8eÄ«Oíá©\1d]0UO?{Fv\91LòUo\19û\8e\19"ßµ\8d¶ãW\8cãÂ\r\9c FåÜ;uÁÿHH\ e8Hþ+{\17k¥~¢ë\98³¥~\8f\13÷íï(ó¼?b\1a\91­L\15SÏݦv\91«\9eJº>3÷\1c2E½+í¸Õã8ð\83g\b\11¹w\ eÝp\7fÒ\12\ 3Ç\84\8fðíì]¨E¶¢ë\98­PbÕÒ¾ý½å\87¥|J´ýÔ5#^\98\9f»,í#S<þ}ß\19ÿ\8cá\92-é_mƯ\19Ç\84\e8@\8d˸vë\83þ\90\90\e¡#ô\84bíB-±.¹\8a®\ fû1`î\8d½åÁ\85\8eÄ«Oíá©\1c\9a\9e~ì3´\8d\óù¥Æ~ZWþÔ\1e\19K\8d^3\8f\b6P\81\1eD!¯%Áÿl$\a$$~ØF.T«mE×1UÁÿ}çxh[Þ\\18XìJ´ÿç\86¤qé\82ªyûÚ3´\8cYäª\9cgå]¿øPxf+\8d^3\8f\b6\10\81\1dÈC^Ò\v=Ú¥\7fò¿÷ð\8bnÓàWÑw\aAõ¡©\1d¯\9f»lí"\99ä«\17\19û\8b·ÿ\8dq\96Ïðþ\ 3fÍ­°âÁÜ\90\86½¤\16{\96\95ÿÚ\85\7fôP\8bnÊá\1dá.àè?¶\1a\91ù^~ågi\14Ï%Z\9cgìÒ¿ù\10xdgcplÙµ¶\1cX;­\bkÚAg»T¯ü\85\7fÀCR94ÁWxÎÒ)\9eJµxÏØ¥\7fâ\ f\f\80\ 4\0\0\a\19ð\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ f\92»\7fùZÿ\8eB5 \ 1
\80\0\aÔ]¿ü­\7fÇ!\1a\90\0\85\0\ 3û×oÿ+_ñÈF¤\0!T°\7fâ
+¶ÃJ¼cTc¹\\r·r»\ fnyðØÞwýp\8az×oý\1exu.\12É\bÔî\9ewþãÐÁÉ\9e0vn\ e\1cX»{\94\83Ò,Ï\eø\95\15¦\18WüKG2\11mÂ¥^1ª1Ü®\ 6Û¹]\87·<øn3Îÿ²\10}]ÁÃkÏ\ eÅp\96HF§tó¿÷\1e\86\ fY\9e0\7f\12àáű\1dyH="Ìñ¿\89QZa\85\7fÄ´s!\16Ü*Uã\8e¨Ç{'\ 3mÜ.ÃÛ\9e|5ßëæ\ ú»\83\86×\9e\1d\8aá,\90\8dNíç\7fö\8fC\a_<`ì\\1c4ÅÛÛ¨="Ìñ¿EEil+þ%£\99\b¶Ó¤éò*1Ý\97\ 3mÜ.ÃÛ\9e|5Ý+ë\84.WppÚóñ\%\92\11©ù¯;ÿiè`ëç\8c\1c·\a\ e\96.ÞÝAé\16g\8dú*+Ka_ñ-\1cÈE¶\9d*ñ¬¨Ç\7f²àm¿1v\1eãyð×<ïû!\v\9bû\83\87¦yáØ®\12É\bÔÿ\eÎÿÙz\188óÆ\ eåÁÃn.ÞÝAé\16g\8dú*+Ka_ñ-\1cÈE¶\9d*ñ®¨Çv\1c\r¶êì=Æóá®yßõB\17\1c6¼ðën\12É\bÔÿ3ÎÿØz\188óÆ\ eåÁÃn.ÞÝAé\15ç\8dûU\15¥!_ñ-\1cÈE·
+\95xãª1Ü®\ 6Ûó\17aíÏ>\1aç\9dÿ£\b\¿ppÑç\87a¸K$#SüO;ÿ´z\18<\9cñ\83±ppÛ\8b··PzEyã~ÕEiHWüKG2\11mÂ¥^1ª1Ü®\ 6Û¸]\87¹\1e|4XÈ |ç\9dÿ¶ô0nÏ\189n\ e\1ag\9c\ eR\ fH×A\9e\eV÷ô¥\83»êNÚ\94\9d\8cw+\81¶Ý]\87¹\1e|4fذ\7f+ÎÿÊô0n¥\8b\1c4Ï8\1c¤\1e\91®\83<;\18Wü¥\83¿ÕIÛp¶
+_©Tc¹\\r¶êì=ÖyðÒ\96\ e\83ç<ïü¯C\ 6êX³-ÁÃ\8b\17ovè="g\8dø\0\0\0\0!c°\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\92è\0\0\0\0\ 1        .\80\0\0\0\0\10\92è\0\0\0AVßÔp\83»J\82Û&*\1fÔ¤æ.JË{\ f;þÈO\15\19µµT¦\9e-\83ÿ!_ý÷     \14glÙ\12ÏîÎ+ÿÖ]¿þÁç\7fฬ¸ËÁ_>~$\9d\99\1e\99\8eK\92ûß\rá\9fÅ\7fõªZ)\v\ e÷¨*Û\13\84\1dÚT\16Ù1Pþ¥'1Õ¥e¾½ç\7fÙ        â£6¶ª\94ÓŰ\7fä+ÿ¾A\9fôglÙ\12ÏîÎ+ÿÖ]¿þÁç\7fฬ¸«Á_3ðgo¡¤ïªÓ=\fó{\1c¶Zw\ 3\1a8¯þÅKE!aÞõ\ 5[bp\83½\8a ¶õx¨\7f\r,Ñ®\95\96ö\1e\90@\83Y\905t¥®-\83ÿ!_ÿ \83?èÎÙ®K?½\8e+ÿä.ßý×\9dÿl*[Ó¯\ 5|ÞÜ|¾_5\99Ìç"Ü\9e\8f\15ÿßT´R\16\1dîÐU·Tá\avU\ 5¶²£JÒ¥\9a5Ò²ÞÃÎÿ»¥}t¦\9e-\83ÿ!_ÿîA\9fôglÜD³û·\8aÿñ®ßý×\9dÿ\82â²È¼\15þ\8f¿÷÷ªO\9cìUãU\1f\e}RÑHXw»AVÚ\9b\ 5kmP[]\8a\87ðÒÍ\1fÖJË}{ÎÿÁÒ¿I\9b[WJZâØ?ò\15ÿß Ïú3¶lig÷o\15ÿã]¿û¯;ÿ\ 5Åe\8dx+çÿîo1\98\9d\87Ì\8aÄS÷Õ-\14\85\87\15m©°V·\15\ 5·\19Q¥[IÌrR²ßZó¿ìÅTÔfÖÕÒ\9atØ?ò\15ÿî\10\19Û64³û·\8aÿñ®ßý×\9dÿ\*[Yx+ÞþTö7ÅLàó:3{WJû\15-\14\85\87xh*Û\13\84\1dì\15\ 5·ªTiT¤æ5Ò²ßZó¿ì\84ñQ\9b[WJZÓ`ÿÈWÿ¸A\9fôglØÒÏïc\8aÿù\v·ÿuç\7f×
+\96ëW\82½ï[Îæ\86®\95ö*Z)\v\ e\88*ÛMÂ\ eí*\vl\98¨~\94\9cÅÉYosÃô(7F5êÉÂGfápnK?»8¯ÿ"íÿÝyßõâµ®2ðWß~oãú\ f@õñ6{`j\97\8aÿñ*Z)\v\ eÿ¢
+¶·`­eT\16×b¡úRs\17%e½ÏþÂ\83tpÒz\9a\9b\aþ\ eã\84\8a3¶k\92ÏîÖ+ÿ¹vÿò\9ewýô\19-Æ^
+ù´\a·7ô`\19ñ[_³åù\7fÅó>eêÕ>ÌWÿÂT´R\16\1dÿ4\15mnÁZʨ-®ÅCô¤æ.JË{\9fý\85\ 6èáº\8c£Í\ 1\9c$}ë;fÈ\96\7fvq_ýË·ÿ\94ó¿à\0\b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ eõç\7fãJí6â\9f-JNÛm\ 6¥wû\aþÈW\85\1a¡V\9d\12 ¶è!gt\85xQP[UJ\0Ù\9dÎñ8V\7f\a\15ÿì¸b¬\90¯ûðÍýÕKct7?îëØ\9aC?xx¸2Ör;\83Öàÿ\a\9dÿ\8d+´Û\8a|µ);oÅA©_¥°\7fì\85xW
+áª\96\1d³a\16W\v\85xQP[t\14 \ eÿ;\9dúg
+Ïàâ¿ý\97\fU\92\15ÿ\7fÍÿð*[\e¡¹úP\89v\1c3öÜ\\19Fr;\83Öàà<ïû\92»N\9e)òáÒvݪ\rJïö\ fþ\b\95" _Û
+W\v\15áEAme(\ 3Vw;ÄáYü\1cWÿظb®E0\91W\a=Ú¥±º\e\9fÅ´"1¸=,LävP\e\1e\eÎÿ¹+´âÅrÖÒvݪ\rJïö\ fþ^\95õÂÎí\85xQP[_ýÝ\1cîw¨ó\87¿o\15ÿí¸b®NÁxÏàç»T¶7Csø½+ñ¸=,Lävt¯ðÞwýÉ]§Qw\ eá¤í¿\1d\ 6¥~\96ÁÿÕé_¢\95\16Â,²\16wÓB¼(¨-¯Ü.ú9ÜïUç\ f~Ö+ÿÜpÅXé\84\8fEÁÏv©l\7f«\rÏÕ¸Ò-\86~áé_\89\9c\8eÎ\95þ\eÎÿ¹+´ê®áÝ*NÛò\10jWèì\1fûð\91
+¡\5Rx»õ×ÇÐÂÎí\85xQP[WJ\0×\9dÎú§\9c=î±_ÿjá\8a¸ÔÂE\\1c÷j\96Ç\89\rÏÕ¸Ò-A߸zWâg#³¥\7f\86ó¿îJí:x§Ë\87IÛ~B\r\1d\83ÿ~\94Óª\15ÃT*Ò½\84Yd,î\90¯
+*\vj©@\e3¹Ý=oÁÅ\7fý\8b\86*õTÂEp©od©ln\86çá\91\83¿mÅ+\94g#³¥\7f\86ó¿îJí6â\9f-fmÇ\8e\94\1f÷;\aÿf\15á\a\ f\15ÿþ¾.H¯â öê\96Æèn\7fk\fýÕÎ\8ds¥|¤í½.+á¹+´Ó\14ùdfÜxéAÿs°\7fì\85x~\ 2íÃ\83ÿ±_ÿëâä\8b!\9bü¥Kct7?¥J\8f\1e\9a\19ûÕg\91¾\ 39\1d\94ÂDyßýbWi¦)òÈ͸ñÒ\83þç`ÿÙ
\9c\rÁ³Åo\1fäÅÉ\17üßö
+\96Æèn~T\1dûÕS\ 1\9d\e9\1d\94ÂD\ 4*Z\0\0à2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\18s`ÒÀ\0\1c$@\0\0yØp\0\a      \10\0\0.\f8\0\0\1c$@S\1d%ç]>§:ËßA8ÛêJ*\88/\12ØL½\99ÙjÅAÇn)\ 2ÅI®Uëu\7f3d*\96»\83\ f\1d§õ\1e\14*\96p\918H\9c$N\12 ø¢ÿ:éõ9Ö^ú    ÆßRQZh/\13§\84ËÙì5\8a\83\8eÜR\ 5\8a\93\ 6KUí&\ 4\19¥£paå]ú\7fÔ\7fî\15K8H\9c$N\12'    \10~ïù\p\\155>Ó*ºJ*Ô\17\89\8a\13/_°×Ò¸}¸¤
+\94\9aåH2Z¿i/³\1d\9b6\r.Âî\1d·ú\8f
+\15K8H\9c$N\12'      \10~÷û´\7fIÁSu\3o©(«P^&(L½~Ã_Jáöâ\90*R\\97ñ[Æ\87´\97øf³`Òì.áÛ\7f¨ð¡T³\84\89ÂDá"p\91\aïüA\8e©\9bÓtx¬?>\92\8aµ\ 5âb\84Ëïý\86û\84®\1fn)\ 2¥%ÉÏÿ\91wAí%öm\13fÁ¥Ø]öÿQáB©g        \13\84\89ÂDá"\ f\97Ò¿\82ੵ8fѤ¢­Ax\98¡2õû\rT({\16)\ 2\93\15¼UüÍPª^\ eÁ¥Ø]ø\7f¨ýÈU,á"p\918H\9c$Aòøfà¸*n'ÀvÞÒQTAx\94\84Ë×ì5W\ 1æ,R\ 5m&¹g­ÕüÍPª^\ eÁ¥Ø]ø\7f¨ýÈU,á"p\918H\9c$AÖÖCÿÐκ|N\95öRQ]ß°Û\11©+),nþÖ÷\8e\ 6b\ 3\84\89ÂDá"\ f¦\19\9dtøÐtë)(®ãØnÎÞ\ 2èi,nÿ\14\9fG\ 31\ 1ÂDá"p\91\ 1oÄH:t\0\ 1ÂD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0¤øà\00£Ë¯QÅñu¬ß7eéÏÀò\1eC\ 5\19  ?ÊQ«¯\9a\0
+O\8e\0\7fÂÙ\7ffóSgÿ}\83úß1æ2t«\v´õ\14Û\ 4»\9aÍ^îʨ\0\ 2\93ã\80\0Ó`â;Ø\86õ>\91\96B³:Ìy}èûÿ\13âfx\12ÀËbàië1¥\fP\7f^sN¥»Qfs{Ó·fz\1aNÚýÂÑe,³üO-å§X\959¹Åý\9bÂÀÖëï:<ÃìVð\8d.\ 4ºö\ 3U~ÃYIñÕJ\ fÙ\8aÿôRÁf\fém\8dRJeÅX\98®.ì7\ f}\98²WGÝ\eî
+\9b¸¸·ôsÈe~Ê×pxjÜ\12ÞOÅx«Û:[&y9¯ÈZñu\15?vË\85fôü»6Ø\ 2ô\15á\ 2¶-:§æÃpÙ๠ïR¡okBY\ 1ð\ 2±AýyÍ:\96íE~\99·fz\v~×ÒÜ-\1d\ 5(!õþ{Ïe¼o\8d\9b¿\8eüÇ13ÍlÎ\7fS{\85túûÎ\8f\85o\bÒàK¯`St?ÌÙIñÕJ\ f×p\8eÔ\96\v0gKlj\92S.*Äê..X{ëÅ\92µ{£e.\93ÜÜ[ú9ä2¿ek¸<5n    kÖp\12~#ÊI\9eNkò\16»\83þ\9f»\7f=2ÞêëθcWW\8bN©ù°Ü6x.H<Ï\ 2Sp¦\vÍy£¤#©\vJ\87ôA/Fç]:[³5Ûòü\ f\81P½@\82=o\97òø\16þ\9f\ 3\13c°v\fµ³é*\ uâ»L\19ÑêªO\8eµEÿU$\r¿fÔý>p\ 6Ç\9e\1d²b¬M[\8b»\ fûyÕlN\97î\8e\a\96\7fùW\16þ\ 4³\83è\9ea}x®\1f©¸%¿\95Êr\9eÛ\ f1²3ÉÎÿÈ^\82àÿ§î߸V\7fyà¼\17ßx\8f\11:Ï4WŧZ»
+Ϥ¸lý%É\ayHa'S\84@:\91Oç±\14\85:WÛ\9dténÌ×ojp=2®\95ÿOå<§¦â¸®{\9dçy¯]ë§\7f\9aî-}çM\83-oJú\   uâ»L\19ÑêªO\8eÿ¹H1_ÿ\ 1\9bSÜ©%2â¬M[\8b»\8bÒ¾¿tiÒ¿jâßÀ\83Æð\7fE^+\87ÃpKs\98kÑÐâ/ln\10;\a\90º\1fÔS÷x7
+Ï[\8b\8cï{£¸lì¹ ïb¿þ\aÀ\90\ 3SIÛoºWèç4ê[µ\15ze-Ù\9aííOèÜ-\1d\r(!ö|¿/?¶Ö-}çG\98}oJú\    uâ»L\19ÑêªO\8eÞ\95÷Ùµ>\1cémÇÏ\ eÜ\8cU\89ý;\8b»§é_¡ãµ~èàyýÿÛ¸·ý&ÃÁ«©Áû\8bB\98¹\9a÷\9aª\v¼g\8d\9eNpy\v¡\8b))û¾\97=2õø´ë\16³ÅpÙ×\9e\ e¿wà|\ eq§GÎ\90\8d\87Jû3\9au¶íE~\99Kvf»{S\83p´hñ!å¼ß\9bz\93LOøÀ4×Þty\87Ôé_K\81.¼WiW¦YK\16_Ø<5\#µ%\82ÌYÒÚìðív*Äê®.î\8eáï¯\16JÕî\8f\ 1ç÷û\v\8b\8b\8a\16ýÅ¡L\Íz\95«Ñª§8¹äç\a\90º\1fÔS÷x\19é\97®Å§X¶\15\9e¥Ãg\f¸jxà\aXÚÿ@°4<\eáÎø ´}\13KÐö\89\9cf\ e\r\1fCt=\ 1\ 6
+h      l\1c\ehXÛ*^<\9c\95*\vx¾O;Ëãxhd¡B§]ÿ>^7\82\828(x:î_\r\ 4X      \984.´(aD\18\18(!S\8dÁGà\v\11\f\1a\1a\b0WàK'õ\b\83î÷¾\9b½ït\91ÇÏ\aX¸ñ,íK¶¿á_\97\9cÓ·6íF_¶a·friO\1efáhÇù }\rî÷Öéôñý\83ù\1f\ e­¹×ÞxNaö\8d-\85\86àKÉÅv\9b\7flË¥\8b3v\ f\ eN+ÿÛ\85\82Í\1cémÓç\87oÕÅX\9d\1dÅÝÍÜ=ùx²Wnèó'?¿úî-ü{\8bC.â\85ÍÅpøn      lP\18ßÈßÔ\8a÷\1a¾\7f!v·\aþ\1f[Ìç¦_\83\8bN´v\15\9fãÜ6~Îä\83ÅÆ ¯»KPÿÿ¸¥\85Cÿ\8fá\18¹Ûvgóé]¦N\96Yãûì¹\9bíô_Ôß±ù¹?N&÷\7f{e\87\83ÿ.®xv×ÅX\9a8·Cün\1eþÄR¤e\8eß\fwG'å⻸%¶>\ 2\91\8d\8dÔçóìì&½Æ¯\97p\96\1fø}obt\a4IÞ~­Ãg\9bØ«çï7\9dN\8f\8b\8aâ5çÛ¤í½xT?þ|UMÍÛ³8}³<P\10y\9býÿ³Àlllo\17\89ÿûo\bæÒ\8b}]Â;½Ï\ eÛüU\89£\8bt:\9cYÁÚ\8eáÝqÚñ\92èäÜ\1e\1aw\ 4¶-ç¸Èý,+üòs\97p\96câÊL>·±:\ 3\9a$ï?{pÙåö*Åü.\8c\7f\ 3\ fÂ\11þÇe6þÝ\99Ãí\97;-_¥Ç§\14\92\9d\8e*ÄÝâÝ\r|YÁÚ\8eáÝqÚñ\92èäÜ\1e\1aw\ 4·\8b\89\89\8bÈädk\1f\17ÓÏ'>Æá,û»\83ÿ\ f­ëÎ\80æ\89;ÏÞÜ6y}\8a¼Þ'\13\1fÀ\93²Lj(¢\8a\8a\8a\8a\8a\8a\8a(£   L°\96ªÒV\92£
+Ò¨¢\8c%2ÂZ«IQi,+J¢\8a0\94Ê\8c%ª´\95¤°­*\8a}\1cç\8d³ï\94µ
+\9a¹#«Ï\93\ 6\7fh¾<¥\9d\12±\e\SÇ\9e(\87°\8eßýXPö\10\16\8b\v9XJf\9b\8b)0\80ÃÍØ\ e£ÇànÞ\12Õ®ÒvgB\17\9fesy)¿i:¸_\ 6hZ±ßâä\8eµ¤îIáÆÝ\95ÍÅ\90Ö\15¥Sïç<o±\a\16¿r\155v;ä\8b\97\1d^|\99\87ûÅÊZï\8aYÓ9x@\16\1eÂ;\7fõaCØ@X\86\9e,,åa)\9am\9e®,¤è@aç»\ 1Ôy?ôma-Zí'ft!yöW>\13\11½i:¸_\ 6XZ±êE\17\ fVÒw$ðãnÊæâÈk
+Ò©øs\9e6XTÕÏ\82\ 1üíÖë7­\98²qO\1e<*[D,\16oáCØ@X\86\9e,,õ°\94ÏnÙþÎÂàç@aæ\89\83\1eÍào¯\84µ{ö\93³:\10½\v+ìá1\1a­'Ã\85ð\7f\18¢áêÚNÜx«}û+ø0¾û
+Òù¿£×épx<\LN>ïwéð¸^Ü}[{~¶®sÆÏ\13õ\eqÕçîD\÷±Ö1\exT¶ìv\17\87¹ð\16\8b\v\94ÍËgðqe'2\ 3\ f4L\18÷µÎ´Ý\1f\168gB\17E\95ÜâàÌ-'g\vàíÅ\17\ eý¤íÇ\8a·6Êía}ö\15¥òÿ\84]\99,ôx\1c\b·\93ë'ök!ëjç<lñ?Q·\1d^|\8e\11ïæü\80kÞë®\8cxT·»\1d\85ÛØPöä\ 5\88nqaf\%3¡lÿ_\16Rsà0óòÌ\18ö\7f\ 3\16>IÐ\85ݲ¼þ.\fÂÒ|X_\aj(¸uÚOí\1e\86\ 3]ñá}ö\15¥ópÝ6/\9fþØ\84\e\8d\93ü²XzÚ¹Ï\eÚ\89ú\8d¨êóÅ\83½ý~¯Wµîª\93\b\ 2Ë\85Ki\8eÂî\96\14=\84\ 5\88nqaf\%3\v\8b)9ð\18\ 3¨ù\9e\ 6ûÞ,pN\84.\9b+ÎâàÌ-'òÂø>8¢á×i8#Å[<\ 6»ãÂûì+Kå\8epn7'\93f^^\11L¬ªÏ\9dØzÛÜç\8dÍ\89ú\8eTuyâøK\9d\8eDõò¹Z?°G6\15-\84vÿïaCÚ"\8fGw\8b\v=l%3ó[=þ,¤Ü\80ÃÍ\10\1dG\9fÀÞ\97\8b\1d¹Ð\85èY_ÉÅÁ\98ZO\87\vàù"\8b\87~ÒpÉáÆh[)Ç\85÷ØV\97ùýÁË\11O;èt9¼>\1d\8c)\9bÎçz\9c~?«ÒéYÉj0õº|ç\8dË\85M^D
+¡mÇW\9e\8eÝ\89ëBÁf¼({\b\v\10ÝÂïùXJgs°¸:Ð\18y\97\8bCw¼Xà\9d\b]Ë+£\8b\83:\92vUÒÂø8b\8b\87~ÒpÇ\8a¶L07'\16CXV\97Íñ\1e\b¿®\8dgÌǵú\93\90õ½þsÆÛ\85M\ÑÕçîL@ç^\16\v5áCØ@X\86\9etãåa)\9c=\85ÁÖ\80ÃÌÜZ\e«Å\8e  Ð\85ÂÊáÅ~\1dI;*Õ\85ðpE\17\ eý¤îIáÆ<07'\16CXV\97ú\8e»·/\97\8fì©«Öÿ\91\88ÑÕ\85\82ÍxPö\10\16\8b\v9XJg\ fapu 0ó?\16\86ô¼Xà\9d\b\,®\8e.\f×'eZ°¾\ e\18¢áéÚOï'\87\ex`nN,\86°­*\8a\8a\8a\8a\8a\8a\8a\8a\8a\8a\8a\8a)µþÙ\7f\0ù\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 3\1e\0\0\aô\0\fx\0\0\1fÐ\0\0\0\7f@\0Ç\80\0\ 1ý\0\ 3\1e\0\0\aô\0\fx\0\0\1fÐ\0\0\0\7f@\0Ç\80\0\ 1ý\0\ 3\1e\0\0\aô\0\fx\0\0\1fÐ\0\fx\80\10ÿ\91\99w\0?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ__FMAP__\ 1\0\0\0Àÿ\0\0\0\0\0\0@\0System BIOS\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
+\0\0\0<\0\0\0\ 4\0Boot Stub\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\08\0\0\0\ 4\0GBB Area\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0&\0\0\0\10\0Recovery Firmware\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 3\0\0\0$\0\0\0\ 2\0RO VPD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 3\0\0\0\ 1\0Firmware A Key\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 4\0\0\0\r\0Firmware A Data\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 3\0\0\0\11\0\0\0\ 1\0Firmware B Key\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\12\0\0\0\r\0Firmware B Data\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 3\0\0R\ 2\0\0\10\0\0RW VPD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 2\0Log Volume\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$GBB\ 1\0\0\0\80\0\0\0\0\0\0\0\80\0\0\0\0\ 1\0\0\80\ 1\0\0\0\10\0\0\80\11\0\0\80Þ\ 3\0\0ð\ 3\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0{9D799111-A88A-439E-9E1F-FBBB41B00A9A}\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0\0\0\0\0\0\b\b\0\0\0\0\0\0\v\0\0\0\0\0\0\0\ 1\0\0\0\0\0\0\0\0\ 1\0\03x¦N\ 5½öµ·KÃ6\94 kð\eª^Ê\14\b\1eôøÛÎBïÑ\eµ¢{1}ÀÇç{´\91\91γ÷ºÆ-eÚ:¶©\f$to¿æ²X
+¼lãzÊ·\7fT\92x,µq-88^:\9aãµÕþ'm^?\ eï\8dØÊ9*\ 2\93\94»\8b¶¯\9e\8aÐrÆÆ\98`\17ºßh\1a\80\16d\85û\ eü\a\84ÃGÌæ×õ³}eQÍ]ï\92\1eV\8bVÉCqmml£C\85·ðriHÂ\90 ô~ÆVEßOoÚW\9aê\94í¸¾\84H«)ûÓ\r¿çõjGó\7f\88\8aù\ 2?J\1e4\11+Jc\88\q¼Þ
+½g/B\ 6\0\ 4ýN×}ø} \8d\13~ÓE\95òí\97\13kÀg}ªp}+ïâ_N\17ß\9cl/\91u`\9bÝýµeX»\92 R\9cH\84^\14\80\%xç\14¤v­Uãjø\vËGî¯`ko!      ê\våòý2\9eFx\96\r^\ 6\11\19ò°°æ&ÕéD£%f\88\ 5ÁkÇ\10E\99\ 4rò}ÍÙã.·Þ\8b\8fLáõ\rVOÚx\ 6¬`\87Woóå\8aÖâaÌ     s³Ò\87\vä\97¿k\1a\8d\10N`\90ÉèõûìLk®Y´¢Ú\8eàLY¡\12<!0Ð-\83\83\v¡\8cì×HL¦\9cíÙ6ÙQMRØ}\9a\9c\92¨\96VÚû/ócò²\8aÑøõ
+\8eÑ\92¥tßæâ£GDÈî\91~ðÛG`\87Ø\1c·\88Ñ@"þÅw\92\14|±í$\ 1\86\89AC÷V\ 6s¥GDG\ 6Ó\ 2 +Dº\0ôgi83\81«a\9fIÎüÂÌ\9ezUeÕõ\9dó¡±yÜ\80!ý`\19·Û\85Çq,eÏ`«\ f.\97Kå®\9c\14±\80ç¾ð\82¤\1cùF <Û¶\1eCÌ¿ûSÍ¢¢\ebqÆéÕÔtç{\94c\93[ÈøæÝ\9fÁ\82ðÀYS]v\83ÊZPáÞ+Lh\93\97z*\8fýDn¥\1c0\15!:vB\96¨e\87t?\88B\v     \ä\87\8dÍ\9aáÚ¾\81\8bf!\97\vámLÖ+qQÇó­à6\8aúð\15Ǻ\ 1±\96`&ZÄ\\9b¬¼±à\ 4º\fÕÂ"¥\1cbõX¢\83¡ÈV=CY\17õ5ؽ©¡\ e.\1cNÉ~°ÊQhkä¾;â6Ut\e§¡DGÚ\84\1a¯\ 2\93\8e«Ç5\8bå,\rMóóJ\ e{РÐ\80åïç\8c\8a ²þ\91%y\17J\bTA,\10\91»QçåÐ\rýºON­\88¡RØ!'f/Éê\85\86\12\93ÖN¾m¾\83ùÖª ¬lY)ô\e\89\8f\98\f\81Wùç£)¢s\9dk\13\8dÆA+×\91M\ 1t||²Îغ¬Ó<,r\8b<\16\14W\ eÛ>\1f\1cz÷_\8f\1cK´Ë\91D\84{+æ\15òôø¿xíÞ¯äpè\14Üëîç~\88\13\ 2        \1eÁ~×\aÅÓ/g\8b=¶È¤G#ÒÄÖ4\8dåË|rÌ ußÈ^\85}دq\1e\98YÙ­VÈñØ>õ¯\ 2E\v\803­/%\95ã\9c\97Qbc©ñ´/¸&\a jÑ\9badyõ¦·@\13\9fûu\ 6\9c)AÜ~\r\v\99aÓsAX3ËÝ[\Î¥÷>\93\96ý
+t\ 4öiÒæV\ f\b¦°î\8fU¡¦®!ƺ£
+´¢¯\a¨\17p×"*\16öó`!$!x\91\96'©1\180\1e"_Wüár¨G«8¸\94±rñU\84#4Tß·Ðúóò¤\9f\7f\8a\ 2\vT\81»¡EW|\97yèÌf÷\1fýÕÕ·\9c"\83h¿£Å\96>\8e\1c||mÒ\vý%nÙÉàê3û³,ÏtÃ\a\8cxùD\7f²ÜXuö²âÙu0\ f½ÿÇÐ\9e\8cÝÏÎ#ß\88e;é\1aud%÷o}×¢á7°Ñ\ 2ÇøKz£x\8b\9e]T*J­\ 5\91\85§\80sç×6\eh\9b\13s\ 3º]ÕôiæíCØ\9f¾¸kmf:ÊQ\ 5\9bV\84\18»61ü\aGÒX·ÍÓT[<LÑ\87\85\ 5§qZ´Û¢Õ\107\9d\8fV$v­ÊÓ§­J\a£Í>¨Z\88ÉÞ3\84«\ 1Ö¡Áò\15/\18E\82àÊÏ(QøN¼\18\ 4Ët\89ó,¹\1fôª)@¹\ 2 \85ÐsÈ^õËPh\88]_+\ f\a\13¼Ö d³£Ö\f§_3á\80´¹ý¥\9a$:g\1f[ÌÐraÏ2ÿ\ 5¦0KqH\96:]z\9eT\92<U(_¸5\ 6\8dEb\81ÔmÉ.º\86ë\81·\97\ 4{Jn\99
+\856\f\95\1c\9d\8eÆ»\94\v+\ 6m\84³ÄÄ\\11rýMspðá"ü[kyUÏ\15ã\9b-\12(Cá\0\8eWNç®\1eìz\1aëøå\89N^\94ÞeTí76\vdǺD¨ÿ\14~^}\12¨Z«¸¿\ 6D\9bJ
+³aìO©Wç\0\ 3î³£\14\15Óq¿4qm0\8dÅÑâKYT¾2#YÊÖ%ø°,ÏD*²çk¿w9{ºÀÕeÔó@/Hrÿ\8b[¶YÒ7U_4\16бÎZxò\88íUj5m» 5wJë7\b¼\14\81\19¥C\13
+§·U\ 2IÍa§LÅ\9d\80\8a&0«8\13¤$~ó\95ÌÒ\9aq\10$Æ\´ù6²¨%.PV\81\88Ùòª\85\8dlREÈú\1cH«'\18±¿\ 3\8b®\86¸\1c"-\ 2uÁ]îõû\0Éf˵G\97ÒXy^Wwó u\85°f;\12Ü~\8d\r\811ñéÒ\rv\0\16qA\aô(_´xN\1a\9bÅy\1dÒ\8eÓÒÂ^û\95Òè\ 2òÀ/y\88\8a¢`\8c«0\ 4\13SO-ûIks'±\ 3ò§:×\9aV\9d\15Ù#\9eoé©ü§ sm  «\ ev\b­¨\8bÞÝ\e\7f\8a]6Ô\a+Ë{¿\90áVÅÝh5\83\95\86\94\8cî ìj\93p\ 4\9f\93áG\r!bì¹li«>4©ðØÓºE\90=yà)ÄUËsä]Ë\8f?KÄNâ.\e"\fJkx½1ûÂ/rõ¢\84FÓͤ\97¼\r\r¯8×h\12\82ö&vï<f¬v\11{u,f\85Å,¦ÆÏw\84\12­YÉ\15\82ÜbKºö4$eZç¾[È·\9b&| ®\86[¤®}2t\89ÍA±Rºù-~\86 ~\18üm +Ì20\9eÍmNÔ\f\ 2]ò/\ 4¹\9bg\84\ 2N\bÚï;»É¶¢\ 4\8d:«<qïv\84\7f\µ¾mÁ&f5-ÂV(ÉЭ\8d÷½Áú2Ò\94çË\18ì\98_jÍ&¨
+\ fh\1cu7\1e,\92X!ÉFîÈ\ 1ù°<å
+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÙT\93zh\ 4JD\81Î\vö\17Ø\90ß\80Þ\ 3\0\0\0\0\0_FVHÿ\8eÿÿH\0­\8f\0\0\0\ 1\ 1\0\0\0\80Þ\ 3\0\0\0\0\0\0\0\0\0Cç¦\0\8b\8f?y?\9a\7f\9a\ 1@Ä÷\ 1ø©÷\ 1\ 1\10\0p\0\ 1\98÷\ 1\0\10\0p\0\18ð\82½{ÝÑI#ÿ_l\9e\ 4 i'\12\10\9e\87I&É'\86IÄ!ÒB\ 4ðC\8eñÍ[»Ì»»ÌËÍ»»ÜËÌÅVÕnîÛníiUUUUUUUUUUUZUUUUi¥ZZUªV\95¥¦ªª©ªªª¿ïÕöß·\7f£û.·\19\1d×K\f\86BÎÀ¹4 hptî\ e\r\f\r\ e       êï\808\13à:|\ 4O\ 4!    à\9e\b\13ÃÐàÞñ@\81Ä\9e   æ\81ÁÓþ_\ 5÷k$\8dÙg¿\8bÎ÷ÿ7ó¿\9fý\ fèÿKì\7f\9fÕþÏæ\7f\13\9c\97û?ü)¾.\97ðÿ»ý¨LoËkü|ï"¾w;ß{óÿ\8bû\7f£ú\1e_\17\97Ëú\1cì¿ï\ fÛò\8dòþQù\7fð\7f_ùÝûK^¿çÉþ\8d\95\aòÝd¸\92û\1f\1eû\7f¯ÃúMþ¿Ö©ÅþK¯Î\80£þân¤ïÙüÉl\88_ås¾·;°ÊÙgõ\9bý\7fÍüÿïý\86ÿ]ì\ 3ö\ 1þh?Ìþ\17;\9dú_Y\b\ 6\86\87ßüoËç=<_è¿\93ì\90 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b{\ 2h.}lúlü¼\1deJ1SØMù;gú£û\9eÞV\15½\9d4ª\\96\92Í5(ü1°]\v\9aÉÍ\15\18\9aº9\98wuÓ~O\85\1f¶öÊ\93\ 6â®6\ f¢ú=\9f\8e\81\10T\94G¹É&óò°,i$Qøe¢~Ö=õ\9e®\8e^vMýLÔTd\ 3ûè*?¹ÒÈ¿´ÄO]\19\0ü\94!\97\87q\9b\8a\9eF\1f¨%0ã\11\ 2\13K\8c4þ?\ 1¯¦§?+\ 4F\89 _Ï@÷UÓÇý\8dI\82X        m¬«3#\ 2ÔI$¤\18¢\8aÉß!©·;'\ 2²v-4\ f\b@\81\ 2\ 4\b~A\1fÜöñלּ¾_+~\16Í\19p:rå«F5S\9e#1o!\rÓÚY§\81oR\8f%I'\ fÂÕ\98ä\8fðÍxþ\1d}5/\1e<\10\eVl]»tá¿\r\8cì\1cæã'U\9b\8b\1d       í>\90\14ÒÝá\ 5J÷ýþI=Á¿¹{gH\7fÚ\9ecÀÅ\86ë·N\84\85¨\95¹\17ö\91°]\ 4 ¤Ð\ü\8bûUë\96LEvQ\83d!zN\9d9Ìù\93îû¬¸7\84­fÅ\81Ç\ 6öâQé§ðá\87Ô`i»s[:fTÖi©ÉÀµ\11q¸ùN÷YR\8cW\8eÝ\8aLjÍ
+Lrå½½TÑå\b¦Ü¼+\81E\ 2\9aØïî´\1c\e§9xw\ 4Ë\11\ 2\ 4\b\10\ 5dô`_^β«z¹ªÙô×öÕ\ 1\96êJw½îFWã`º\18÷Öo\1e<;+é yê1.Þ<v§\1eöÒ\9e\86;\ eêµ\97\ 2õë\96ÎF|\7f\8d\95ù(~ªÅyÜ-\9a`ÜU\b\96Ö¢\~ÎÝ:­\9e\8c}\ 5\ fµ\9b\16\15\13>\17Ñ]¥<±\99_\13"²v,âªsÇÈÊú\8cdô²½Ó\v
+)\ 5º\9a\v×,\9añü     2¿\19\ 2ÿ\81mP(\1fMN=µTÍu\ 4mõ¥6úý¦L\17ÒJD!\fÀ?      l%þ¶\96m\8d\1c\8d<¿|pz\19xN\7£\92\86+E\10 @\81\ 2\1f¸\14ãÞµeÁC!\bnÖ4l\17\9aUÛ·u³É¹\19_\96\89ë±`½£.\ 3²¿C#Ü\1f¶~N\ 1û|qÐ}\1aê\b×\8eÝàÜU~6Wëè#\9b4g}gJ~\90u\f\8c"ýµºjqäaú\89AT\11ðmY±OcD\8c\1a\16­(¤¡LÊûîç¿#+èÏáDµ\13>\16lwë§Ó$Êüä_Ž·±©¡\971\15Ú?p®¦j(He8÷\88P´'µ\9f\93\7f¹µ®8\93Â\13q}½½\8d\Kºâ´Q\ 2\ 4\b\10\81\97\ 6öf%Ò?\f\94G¹´³O+\ 6Ýó\f\11\90\ f×ö´Íø[aÝV\99\95ôÐ/ø©ë×í­\9aã¸\0£\19;\ 5ë¤aº\9f\89\95øè>\8en5âÝM      \18~ª<\ 5ÕtûVlh#à\92\82\93@ó÷6µÖêè\ f\90¢g±^vβ¡À~£+æ\91,XnÝ×Ð$Êø\91-\1904\89D`[TºräR¨\8d7vµð-ª\11ûc _ó²/´s0¹0Ó\84\b\10 @\81\ fù\83a\13\7fÆÁü'µ\9d\93~¯?%ó\f\12Þ\ f´¹jµJ1-jf\fÊü\8c7S_K77\19:8æs
+ÙôÌX/¥\95\88üL¯ÉD{\8b\96+ÄO^\97\ 19\17ñ<xòµïI5(+3\12ëËéÿfãÞFÁt?U\95øøOhM{»\ f\95\95ý\15\18\9aújQÇu\98QH¶hÊ®wÈ(¯"þÒ\9e\956\8aOÐËÂ\8d\83è\15£H\10 @\81\ fÛ\1e_/\96Æ\92K\8f0\9dÐÊÁ·×{\98\1eI\86\v*I&­\18ØÑÈ\80fWå;Ýf;û¶õSO¡\99Ôß"ýµ¶\94ò¿\89\95ù^ÿ¾Ñ\97\ 5\97\1cª4­»° \9f\8e\81}\ 5YÓJ        I\8f}eeM(\ 6n5àý\8cÒg겿I+\10$M\85\1c\8aL¯ïîmrvù¥âzë\96«\13\162\ 1úJ\1fª\97J\9eªoÄÍ\8eþ5å\8c_§1Ô@\81\ 2\ 4\b\10ÿ«+ö\14r    x\1aì\9c\vU\9e\96WÇιb±ûGB{C\923+òþ\1eçNiæ<\ f¡\99Nï¼f\15ÌÊøüíjeÌÇP\15ôQæÂ×\9b·©s[:\7f¨ èØ\ 4\99_\11C·n\87\19Í2Òe~z6\ 5\9b\16\18<M\ eea[\8f¶n/·ø\19_\12ðÝÆ\119\84§a½·¯¥\9b-àë¤Êû§.-j%ù Eyù"=ôf1ºbpYRÉ«ÏÈvéÓvÍLÐù\ 2\ 4\b\10 Cø\19\94\88?q0ì¯Ìx{#ð¤\94\87|Àô\8c?U\ e\11»7\19:]ºvÍ\19PGÁ\9d\95ô¿Ø\16õ  2¿æ\8a$áþ\96Wå;Ýeº\99ê\94bG÷=¸È\aí­}&¬¸\ràB}\8c¯¥&÷÷v©\1e÷=\12e\7fÊñå\8f§¦¼o\ 3'¤§\19F*srTrpÙxw\f\17®xíØ\83w·6nì(JÐä\b\10 @\812¿S\1d\aÑQ\89u½¹²l·ßéô¯õ\ fÒ¿[©\9fS5á>9¶\8eN\1eB\17¤vWëh\13\1fê\ 2cÃÙû\9d+÷N©æ;ÿK+é _ó0îvö5D\e+ßë2àÞÓÎÇ7Õìe}Vn)ºj¶õS:yÙ\rY±?M{ôúWùFÈ\17Ëx>ÖÖ¾\9bÇ\8f\1c¸o«£\97mS0 ¨âÇl\90 @\81\ 2\ 4Êþ\ 5½M\1c\9c3F|\18W\15fÇc\9d\95ù^ÿY\8b\ f½\85\7f\´Ìaþ,+û6,-j%¾\96WÐð:T1Î\e¶¤\94\87©\9a\8aálÒê¾\7fýL¯£\8eß\91\86ê,W\9d\97\85\95ýýÞ\+ÿa\ 6\99ì©\1eæ\18ç¸Z³Â¹¬6eX\81\ 2\ 4\b\10 L¯ùÙ_ƽ²råÁ¼\9a¢,¯¡\98?ÓSÉ\98?® \8dCÉ­}Y\83ø~®Î¾\96N\r²\\0ùîëçæ|_o\92
+\96\89ë¼xòÚªdpm\19ðTLÄþ»+ñ\90/ø×\96+\15ç\e\8b+ê¹s\aòPÍ\9a³«\9cò\e\9b\±\\92>   \8a\ 1ú\8eN\1a\92R!õ \10 @\81\ 2\ 4?öÊþf%Ó\ 5ë´ó²\ f\96ã;+é yø·\96\v×-;/HùK\9e\rí¿«Å\7fÆÁô\ 4\86\³NW¿ÖG\80«\9cò8ámK+Ýä\82£ \1f\84¹S\91}\97\85p¿o`ÌÃ\7f¯0\7f\0ý\85sW³¯¤næâ,¯Ý×Ðrx¯ü\e\8a§n\9dIÄ{\89 _ñ¯lVêg£éÃE    \8a(ÊÁ·&WÈ\10 @\81\ fße}³VmY±©\9b\8a?*vWÞôgáZ3àÎãó·õô\11Ï\1d»Ã¹¬ü~vþ®sÆ$N%Ýqày\7f\ fcWG0ØV\1eX+'\ 2Ù«>\r½\8dM%8Çc\ fõ\19_\90\85é*Q\8b¬©A\99#ûÞvýøÔ\93U7âlÑ\96vEñ \e\8aɽíÍ\9a\19\1eç¡¥îû.\rãw\ fH\10 @\81\ 2\1fþe|pzúY¨öµQe}4\ f?3\12éã·yÙ\17Öµ\12ü^Áÿy/`ÿ³¬¨}Húþóy6\93c·ìé¥\11úªç|\86ð7¨²¿!\vÒÔÏÊrá¾*{\v
+9\11É*Q\88íÓ\91À\19\8e\1eFWÇ\féË\87n\9d_YÒ\9fäö2¾\7f`ÿQ1\13}iLݳ\;ªÇØWôÐ/÷öµ\ 2\81ôó²-êæ\8dì\1fØ/\ÄþÁý\f4\9fÆÉ\82ýeY\82\82©æ<\16\94òÛ\1aÚ"hΦù
+ÑD\b\10 @\87ð2¿mU2\8b\0\b²¾÷A\9fü\1aÊ\94<xñ»f§Ðgõ3^#ùÌÌÜdî\9c¸hÉ\82:
+¿cWDì\8a4gÀ\8fÔË\83z\8aJ\15ö\83\91î/\µÛ·m\9a2álÐF:ÚJ\ eÏÇ#+â\agÁ¼"*i^÷áe|ú\fý\8b\ 5î\7\13\16z7ä|Êù¼\10\8e\8ef\eÇnÜ7âÐgî\eÚÔÌ\1fØ\98
+\10C¸\í\r\aþÅ\86è\86G\ 3\88\9e¼»\83\84\b\10 @\87ä\v4Ô¥élS@¿ÝWOcßY\1fJ\80hæa¥¥gÇ$\96\95ÿM\ 5Ï·¬\9b\1c\8ef"\7f¹¥\7fÒÒ­\80\e¶jm+h\90×ÒÍ7\81\ 3\7fä¡ú¸6õJóòU(ij¦\94\12\87Õ¥\92¤!zyxw\1aY¸Ò~\8f\9eB\e¦%ULÔWÏ£o\11Ò¿à)Ⱦ\9f{âí¾î\95ÿ\81çØQÈçdßë*Q\93\83lûJÿ\8e\0FùùX:ʳ\14b§§\98ðF\17\9d¹ @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10!þýa{É\9fÔ @\87þoëY=\19\7fkOqW6ûL+ÿÐ@?HBôÏ\90õ @\81\ fÚ\ f±¥\87ÏÇæaÜêheÑÉ\96¯= Cÿ¢îÁ\ f+RñãÇ\røW,WËãFÿáòNEöô\94ãèeá\e\90 @\87í!µ,ÿg\1eWæç{sggYQeXÈ\10ÿà\90\86ê8oÃ\9d\93\819\19ñ×ÐÇïîlæã^\7fß­\88&Ò¬ÜVlXb]Ö\926H\10!þæWÂ\1ec ú53QM\9a2\99ñv\8a\8a\b\10ýáM-ÞjÍ\8d\13ß=Ä\10\ 3u_?½¹°ûÔ¾ÿÇm\88Àóã¡=«ëJ]\8d]       >ïºUè@\81\ fö²¾}a'³¯¥kS0TP@\87ï       \9f\17Û¯¡\8f\90\86é\9f£Ô\86Ï_ý¼\ 1\r\14\97q~ÚÓùý²\ 4\b\7fÚà±°}\1ainô\84/M-'`\8e¦\1f\91\86ê\ fÚ6\v¡\19\0ý5ãø8µ+\13ô¯\7fߣ\92CßøÍÅöùzÛ\81\11ðt£\83ò|1\9e\8f"û)Þë\ el$´úO\80ì¯Ç÷=±ÉRJCËDõÑÕåb@he`èeási2aÍÏFÀRÊ÷gc>4xj)(Y\7f\ fcï<\8aÿ1\15Ù\11\88\ 2S\9fÍÂ\9bÉ\96\89N%kè(Q¢\14-Ǥìåâ{\ 2j\ e\r\1c\11XãÍç!\ eüÀ¦\13ÍAûqhªGé>ïºjR\9a\12\1a\aïù¼¨èOjr/â\1cO\14³ùqdQ°\ùÈÁÀC\8a\r\14&\95q\1f¨1ø+@J\112Äã\1f\80«º\bø!)À\1f\825\94,H!\93XTBÔ\92pó1]¡Ã
+\97Gu[\19³cQ\8c\8c7L}C\807\9cÃ\13\80~b^PÈÂ\1fÎÌ\b\ 4ÓPÓ8Cæç\90\87ø½Í\91ô\16üòo\92\91í\9e$¢=Ã[\0Ú~xÒÏ\93up\1eY¾±
+S\80ÞS\82\86B\10J\11Q\bë³Hø^\90\82\87Ï?\1f\ 4zv\10°\8e\9eè2\11*»\´¼\85¢\87\r%\fö|w$â=ÓÜ   \1a\1cH     l}?Ò\93\14T²±\aµ\13ÛÆA%JG¼z:]Øá*¬7ý=h\1abòÝÑõ\99¤aú´rpôR0©y_®ZI\13î^'®(Ä BS»î\84\ eUÎù\11E\ 2W\83äFo¦ì¿gÕc\91\7f'³: K\ 4fp\8aÐFT¯uõÛ\84¿Fú\87½\b´\bãè\10°7K\9aÉ\ 2\90\18°ÝOèÔ+§K\91*\84\81\ fù\ 3j`Ú.7\85Ré#£¹ëOéL\ 2¹´s0Ûð¶téÎæÎµTß\89ò\8c£û\9d,TõìØï»térÕu\131&àÂï³ò°\a6á¿
+Í<ê    \b4Y_»¯ \1c\93§.4ó²\11õ±Á\17Ë\15çnlꥺ
+ÑTÞ\r½S\rí·\8eÝïmì!©\83x\956\97¥]K'\85_C\1c±Z\91\18\80%=µLÁð<Ͻ)ùà¡F\82\92¡2542\84ÔoÂÕR\8cAD^o9igH9^OM\12)U\ fKbõE\81PjqïMJBCVÏÆr®\14\ 2Ú£sk\RÃÙg©sY8)µ\1c\80\88øwW,råÀ Ö\v×
+¸IjIzp\1f¢´\ 2è31.\84Ýpݰü1o,6\96i\8f\91÷¸þGÓ\17\8e\86ù\17ö\920ýEY¸¹¸Éý
+\98÷\15çä
+16àÌÐËÁ7¹ý\8c\80\7f»¯\9f\15\88%ãV\8crðî\f¹\10·õË\15\89äf\13\82»ôÔã\8e\87\e\1aÚ(j\8dGµâ,\13]A\e¿»´(\7focRêºxþÂ8JCK>O=\82\8f¦ãõ{\9dñhÑ%Z³b%\b¨\8b\93Udd\vþ\1dÕh®ç\8f\1e\v\1cã^Ù\1a\10¢\91îk*P%P\97\8b\15ç¡Ð¬ù«pZ+_K4X\rãÁ>\10÷AçÖF<ÞìjúÒ\99Û·IcHÄ\8f\16N\12\fÓâZ'¯\8f}d?cR\92\8c[¹Ôß\1f£ØÎJù~oðá\9fEÇ­\0À\a\12³0µ.\1dÍ`æ8Z´ËÂ\15¡ÕõRKÝg±ò+ÎÈ\14b\10 \9eÆ\84Húú\18ôzÝ       ^\ f\91\19©]\97Íz¯òØäM\e*Y6\vöÅ'±ßܸ¬\9b5_\v¸\8bv³bÁÛ·bd\ e\r\19ÍiO*d\"Î\88¿¨´        ¬\r\89w\fX¹5î@G(\9fÚY¸Þ¿yÖ@\81\ fý2¿\95\85n\11:§"÷\15=\86þîÎÆ®\8c¼O_\8e\1c~\b\85\v7ÕÑÌÆ½±    !X¯8ÛUL-\19Ç\ve\18©ò°®\ 2\91\ 2ØMÒ 2M\9a\vèÉÀ¶      \87ÏÊÀ<'<\9bä\b©\vÙåì\11ÖOE\84Þìjè\ 4ãmìj\84ãÑñk\ 4^fW¾\18/\#p·e\9a\99è'ù\9b\e*I?ÀÊøL\ e¦\86Sf\8c\85\fæã^        ð§"øÞ\96ÓÖÊøU³·N\82ÄÂrG\1e&\17'@ô&ë\ 2Ú N\97«©ÎÚ×ÒtéÈ¢»\8aÉÏ:Ë©e\ 4\80nÙ®¦~H]\18WÀP¾\r½JL\1e\7f¦´>Ílô`_Ðú\84¡ÝÚX\16\eô2¾Ù«5º\9a\15S~44\13\9f\e+öµ3\ 1P
+óòBþ\97®X\15®f\10§ã Y0^%¶\15Í`°\18\9d\96õsFaøM|Ì;\936Ǫ«0HñFâ+hÉ\86²¥\12¾\ f´n\8fRýµ¢P⧯\v\r\1f\9fû\19_¿µ§véÎ\92\9ca(D§c¿»C!\bmfx\17e³®«
+æ¬Sà\975S~(þçKC/\bP8\95X×¶L¸\17\89äúAÍÅöÐ^\v§Ku3Ôãß
\148'\19¬\8bÌÊýDÏ\84X\ e²v-öÙ^\12\fËÙ\14h\86õ\93fÇ[K7{seã·bó\aèéYÓJ\8b'\b¬I\84EÕtóè¸õ¡\19\ 2ÿÍwD¬Ì/r\10      \91\7fh/ü"³Ú»\96\92PAFV\b¼hæÕ(ÄhÅ\81îqû\f¯òØæ~:\b×zÄO_¹³¬- g\7fnkgD³\14!\87uZÃ{l Æz6\ 5\16\9c\ 4o¢£\10í\f¡¡x\9a2ÜÙÕ\16\ 6ÕÑË\14Dghù\19_±¤\92\1c\0©£óÄÊù\ 2\ 4ÊøK\eFX÷Ögì\\84×TLD¥Ñc×ÓR\16]\1eõB53QA(´ÒÝà\93À\9esên\8ai~øEÂ\ f\añFâ\167\bÖ¦\rGëÞØQH\ 4\89\ 5\19
+ÎÈA¢ãtiBKB§\95(Å7GW\95\95ð§­<ì\80\95\13v\1dÍ\81æÜÚ×\bë2\9e¾\96Wë¨#^­3ÇèU\83\93iHï¡\95ùèØ\0µ»ûj~*RøB\9a/,hßK:9Hq\14\ 4õLø¾\ e'ù \ 5\v8oÃ/\13Ø2Ö\ 2\7fööue\9e¨ÈÛY'\15=\83\16\e¨ô,\92e\7fç­\bÈ\aüKºíî-*y?\1d\ 2\16Ïô2¾\86Î\99{³Y\10ÚÐ^\86WÄ{\9f\93~\17Rf×B¤\85o\99\84+ºùñ0\8dѺ\8dCpx'ÖÒÍM\ 2þ)U\9f\ 6ñ±\81!xâ\98léåOÛÝráÅ\83Þ\86ýý­3f\8cÍ\v\v\a®Z¬ì¯\8a\1c\97ðö9;l¿K+â\80W®Z8Ãv¦e¢zë\96+\14z\9a\a\9f\8dyb}\1aLfÜ\94\11\8bvÍn«¼Ú¤Ò¦kÂíÛ¤±µFÝN\8cX/GØ\86\ez>\v\99_\12?urÄ4±ß£¼§I'\ eÏ\83\7f\ 2Ú .ÔY\81Û´7ª¿\99\95\b\aì+ªÁM·Ö\94Æä\85,2â¥\8fóí\ 6§µ¡ê»§ÊÊû\86ö\94òÆ­\ 1*\85\18\8e{\9a\92E\ fºtäÛAØrY\17ö\9fS+üÖ9ƽ²hÉ\81¦tÄWh^\ f\ 6Þ¤VnîÖ¾f\1dÉ©ð\wwifN\r±\91M'\11îìëéljè\8b3\ev(Ç÷=±Bku3ÍÔQ\1c®n=àà$!~åÊP¡ËûQnÐ\82#´°9$;\90¥¿Ë\b\10ýöWóò°i¥ûçcl#Zº\827\8fø5û®\16ÿgK(~\ fcWBÚ¦fúÒ\97sgXûÃh'ð"\Ës3+çéO\ 40ïîíZq$\18%\81b¼ð\97½58Ü\98\8c¸\11\90w5³»û»&÷\vü¬¯ÎÆ|n8[^YQ¢·\ 3<\9d]A\1dìe\7f/\ eä%DÛÈýî\vCÞ_·°eÈý\f¯\8a(     c¢ôiA\v\8aÉÃ-a.Ϧ^\15À\83O®~OÐÁ
+\176Õû\15.\16V\96Ãb\98\8aì¼vî§\8f~\13{+A\ fà\¼\v\9a\ 6R°Z\1e\92\9co[+æX²L¯\9böÎÉ¿2\91å{ýab\130\84+\1dïeK¦l«\18¯M\9deB1E\80\1a!L(±K\7fkNmú\ fª«1\1e§È³\97ÑÐ\rúY_\14\8c\16óU7âóØÎ\8eFÒ¢Z6\ f¡oU4*\14Ë\88\8e\83èèæa\81/\13×ÐÊÁ?{°-\18\1f\1e5P\v\8bâ'¯E\9e\ 3n\1eÌ+\8a¡ZÜ̯\99z\v\15ç#\84\ 2´§\96ájζz0Ux±\9eîÖº>í­\ 6F´³Oºé¿\ 3+æ­\ f\12³2ýµ§¿­\ï\90_h_§\9a\92mj%÷÷<ðU$¤GÔÊÿݱËÝ\8dö\8ftIF*|ÜkÁ'\84¤§â¸èá\90ÕOËU\9b½gE%
+½rÛªéá4MgéN÷[\83{núÒ\9bÎè\9c\9c2{\1a!N\7fsZ4Cõ\ 2\ròpmµ´\94#Üa @\87ÿÙ_\b+Aç(\aê\19\18@²'N\9c\9ds§À*y|¯\ f©qS@¿ÍÅöÂ\9a\ 2+ô¸ºZ\87Ó\9f\ 1tÇe|ý\93y8\84\14\ 5\87uZva\825¬éåBp\1fk\8bZ\89\98\97\8f\1e#\8eU
+ÅoÂØÌXò²¾\15\ 6Ù«4º        !4»{\1a¹\17ö\824õ²¾\9a\a\9f¯Æ¹ØøOoC/\b\ f[+ã\83Ý\²f+´\8evíòúÇ\1f¶·S\1eúÉ/¨-\84Ez\9a\19AeÁT!Yi3\0\9a\v |\15÷#+ÿ=h#Æ\e\bÑë¿ú\99_\16\ fóä/ø°¯â\8fB\9dÅ?\89\9dmU2*\bM£t¯ÎÀ6V\rº\f(ú0\8e\82\84ÐǶAsØ/\\8dwVNÅþË+â\98\93\9e\8c@á£suDPhXXç½ï_ZRµfÇ/
+à}BY Ò4\ 3õ<¿\80L·.[ÌñÙÔ\½\93\ 5évøÅ2,W\9e-\149¾fWÐinÚ¡Ã~\1d\9deGÐ|"\81\ 4¤\16Q\163\1f:\18`\9e<~­Õtó\86í\8dl\ fÂÊÿªî\89XçcWDøâà\80¡q\1aÙôÜÔ\93\89w\/ü}       Ø/åõ2¿Ëc\91g\86;û¦Ý\86\aÉLÍù;vÕ3\ 2¦\91iò¾\82;\85«3u\87ì©dÇ+1\15ÚÞÛØOcBl\97#§.Qtr2\ 1üÙA÷̯\88\8b\85³JÉè̼;\81wrÞ·¤\b\13+üKa\95ïõ¯,¨ÐÀä<xß\85®N\ 5²LyÑIB\84u¥â«\8d¼)\14ãÞ#\8d;¿µ§à_·çI·\17Ôm©\9em÷i9\17ñ\ 4qWÐÇ!¤þ6Ö\9f\\9fùû\9at1ã\9bG²?/\13×ò¼xnÝ\ f++á-:Ê\94%\83                     ÅO`'H\90\1e¶WÂÕvµô\8fü
+Êh\13+
+Ü(\83ÖÊø]Ûìbè\84Ò\96\14²Ýà³t_ï?à\13Î"YÈÏ\8aS½Ö \8f\83Eq\ 1Ghwgý=¿/eh$Êú8L¿Öe\7fÏ\85\8eÍÆ¼óc·à_éæ<\ba^\¸\12Û\7fwhË\1cE\95ón¢d¿Ú\19x2PýQÁÚz6(\ 54¿\7föY_´§\96}\1dn®Xõ\94D1ëJóò]:r\ 2õËMÑ\81\vFû­àÞÜ\1cKVlp®~_â:Afǹ\94\1fVV\b]\88S?«¥~lB2\18\8b¶L\ 5H\81»µ®?eºº\b@\91°-\18°}ü!h.§¹³¬fBÿ\v+þ«º|¶9W\9c{úÊw½áTbÖ<Ô\92£\12ïK7\18ú9ØXK\15þ\86Wþí\8eb=ĬsæéwÙQ±ßÜE\16HtÓ\1e<5þÔbÝ­ÔÏ7à\10\98nâÃè}«>\ 1\99_\16-nÙ¨£{\1aI$\1daãÌf\10 C÷Y_?D\87\91\95ü\8c\vWN\±ßÝS\8f{mS3#éÅÖOFÀ\b\10ùt>,ê\aCC/\b\1e\8bñ±Zèø\19ÿ6\vÓ¹ÒÓS\8f\99\87tl+æþæÍ\f\84 LÊå\9aw\96TIe·kgã\11æÍ\97\8evéѼ2¯++úJq\84¿}\9eT   Þ\13¼'H̯£âÝ\12e|É\ f\8f\84ö¶u\95#üTÏ\e\aÑ    oÔÐÊ3+â\8a\ f\81Mz¢i\1fOJþ\95³FBF\ 5D\98onl\195ÉlB¶,7MºFÒ\ 2\87\1c7l\8f\82\b2¥B÷îkg\ 2Òw÷v\92Ç\98{+Cçe\7f
+æ¬óû\99\95ñ\ f\9b\86ù\99_N|vû\ 5ûbGëéf\8b\ fQH÷\1fa        ²°­Ù±ß\14Èz1\1f¶f%Ô\8c?Pphê\0z¹Ï'­\95ñ1pn*°-ê@\15j*\ÕjiÀvÏÂÂ\855\vc\1e:A\8d]})(~¨³{~\16­ø[jèåßZS\e¨\8b\1fÜégd_;täT\16^\15À¶bXJ\1eO\eÚ+¯[IB\1d\rǽ-AC\86Çø\1aO_ÚÓÔÍxOk¡F\827ÑÌÃ\16±\ 2®sÆ'\91·ò-\1c\9c3\97.'c>7ÞKrf+´k\99!\86ØbÀX¨Üñ\80\99Ü\99¬\13Ö\87ªî\9e\9e\95þ\81ÚR\17\3+üÔ\92+(_øôQ\1f\vÒåe|ýgù\88¯¾ÊùôÆ÷-\8eDVÉ\82û\8a¹¿\97ÓÓWϱ`½\17,*&"E§\r\88î\15)\8fz\86\99#\175\15X*DÛj¬X\0ðú¼ü\9e\ríÁld¬\90l/\88\9dâ\9f\1c7áI©¢\ 4\b~ë+çÆ\8e\9dÿäW\1cÕ£\15\14\11ðHb\82þdÂLx{.\7>.²6\v¡[>\98'«+\ 6ÛUVb>\0¬%t|'\8dÎÁàO\b\8añ.ë\8d\9eó\µ\fX\84d\ 3ú¥\b\12\7f "\#M\1f\ 3\9e÷øZÇ\82~:\v\99\95ð»ì¬\e~o\fÎfWï­i\8f\84þI\95óa\8bGέî^¤òVB\17¦\12Àn\9bà]HN\ 1û\11ã\95;6\12Ñ=s2¿iO-½¹±C#\b \13\ 1\b)â×5Èô©\ 4\8f\94ãØ{Gì4<ôt\ e\93Asëèc\94ãÞîík\85÷\b\94.E)Óì­\ f\9d\95óÒI»Z¼¬¯\9f£       ÌÊýÕtð_u½TÈ\9a\88Ë4Y_¾´¥{\99bøOF;«\96a\U¡Ü\1fÞÛ¿µóà¿BÌ}l¯£ÐpxíØX\99°j&\9c\a\9a>l\1c\84ÄIã¡mUorõ8·\96\ 3ꯢ\8f\15²vÔEÒ\90Ì{b]=ñ\91\1f}\95\91GTrPÙ\17ö\82.hÍ\ f᩽Lü£rIn¹¤3ÿ\f\17Úz:«"Ù\9b»K\r\1a\ÖN\1fø\1e4\hq¯³A¼zÌòUÛ§;{\1a\86é\7f\18içdIü߯ÝÇ­\ f\12³6æÎ¬¯\17\8eG\9d\8cøÅ\12\89=÷é%=~¾\9a\93ôÔ§"þ.VWéx\99Î\9añü\1c̯\9dÍN[\1c\8bâ\8b\96aÝÖ£Ò§® \8d²¤\92\16uG\0\8bmU2Å\82ù^ÿX_QÛ·Fßõ´rpâí\ 2øOvÕZûºú\ 3Ãâû¯\7f\86Ë»iY }Bq\8b\fFÁô\ 5\6hË\933`@\81\ fü2¿oW6lo­\9d4 MXG\8a+atåÁú\ 4R0ÝMíÍ\84·Õ\94\8c?WcWDës\98ðöB\83\82ÌBý\ 2ò\8f\83Û\94ïõ\82\9e¯m)O\e§°¡7B±\r\86\80\ey¯MNvMÿ\13ÉÔ\ 1_ lÃé\9f\17i\ 4\8dÝV\9a.\b¸Q\8a\9dî\ 5\97­ÌÊþ¶\96nV\17ù\99_\13 Ð°\8d\19ðo\e<´díåa\\e \ 3ycD8\99Î&\87\r\82\886U\98GN\eð\89ñ\17\0ý%\11î!\9dÊÌÃ4 \13\80éË\9aI8p·\91C÷5³\87P\88\9cw5Ó¿*ÁÞ²¿+þFWû'e|*ÿcYP\8a\1c¹pÃ{oWG,ù\ 2nVWþzÐùÙ_\14þfäÇýC\eUw\k\1f¤Êû.\ 5ô²ÝßS+÷¶t»|_Å\8f\97\94\8fpS]\ 4Y_£\93\86\14ª\7fâ¿1f\ 1\1eþÊ\94b-W\9ceaFÁôUçäzÙ_ÍÆ¼\99ñ}¹\7f\ fbb+³S5\14¹j½­}#ã%·÷v\8d[èeëöµð®jÍ\11
+ÓC©{w\\9a\ 5üY9\f8(®\ 4\1dóáïw5\e\7fïÀ\89ÒN½Ý$\93§u\84²N½'I£ã¸àî8ã\83\8eî`0c\0\0\0\ 1\8cm\80\0\ 6Ø1ðÁ\8c`Ø1\80Û\18Àc\18Æ6ØÛ\em\8c`Ûc\18À\e\ 6ÆÛm¶Ûm¿­ÿ|ùÿÏì>ñ÷\87#£¼^ëÝ'YÙE¦RC¸[%\95©_\ 6[x6Ê¥<U,´ñd¶Y-áÊ«*íb\9aévÙ,\95ÚKnRnÚ[2[\µYmf¤\9c§i\92íªÙl´RÕª«%\96Él¶WÃ|\17ÁmU*\97í0>÷ke²ÛmËæôÉ\1cR\91°²1[TõöVV,xY\ 6\91:¶¥êÐãí²êi©hö\vyd\95Ì\94é,TcÁ¢d\81Î,ܶ«C\90J\9eHëKGy\1cY\9a\8a^b·ö\81X¬jºª}[¦M*VbR1|qcj¤\82¥\83\1a\8cïÞÉ_J¡\9f\9e\9aeµ4vÛU\ÎJÿ\93k£9+ëpCm|e\e\9bw\83¹\80y¤¢ }Ò8ta&\13[¤ª¨¥ñ58þQ¥ *âJü\8eò\11R\95`\9eô)]6Ûy\86©+ó³\12\8aÂÊôl9K\95éQê\97þ\91|\97\aæew©Té\1fQ0\8f\8a¹.\96\ 6
+ß`í®¹Ú²×} \17Þ-ùØÝÎËI\95Á'íK\ 1\95\98Ð:Úð'\1d={;\12\1f\1dr\89þØè*©Î\14\92Øo\13XD\0\7fúJý\a\1eshû£~wË¥¾I~\8d\9døê\ e?\ ezo\81¯Ó9%Žì<\ 5eU;=Ô\90K\9e\9d\1c<\vÖµÙÅ.\99ØØW¾»8+ äK\94\e\1dFo_¦Ì%Ù\ 4º\8b­Ò¸ó©»ª]\ 3\99ßïk«*Òû"^Pe7g^ðåfÁ\86¹ß*ÏODIÆBÔ-'        éóG\94\89\84}¬ª¨Váxi³8j\9aj9\rÞÎÛ\11Þ\97ófyø0«i+õõջͮµ.õFn\1fêêiÕx\99Wvù\9c®B_CÙ<ç\12\9a%1KÚé{;a¨ð¸\93\12tÔ|µiÞ\94¨d«       Ù\99]\8bÎm/\13\84 \89uQ+\8f\83'\15OH¶Jh\97a\12\19ÒëfÏY¢[\aË\1f\ fMGB¨\16¶Æ\ f½ô1\83ìrŤ»\9e\97é\12øúU²C#,N\rÄ\93/\81\1a\1eT\95û\ 5øE\\95\0\95Þ\90\14\97ÐÒÀ4\87ÅåÕ½%í¥fÜËèÑ)mÜ#â@åÄ\95õW2Uâ_+\81Õh(¹\uñ7Ø\14°\ e®¦\99í͵ ¹#Æ\8f\97É\9fãMÀê³é\ es\12±©ÿ\95\8d®\86\80yK\e" õiQ\89üÔÓRyù+úÚYá"uÿO\9aUp%j%ót¢
+áóêXÙ¸ØéÒÍ-öò\12ª\9e\92\ 1éi'ÉcõJÿ\9d*çlý¥HÄ\8c\86Ø+\84R\1c)Hĵ7Zí\95ßÇîªVÀ~øØ4ý®»IgfÁ+E!b\ 1ë<Ï%\r¶É_ÒÆd¶aivüÞ\b\10¥·\8bïð|ÒÛy ¾\8\94Ñ 7Éà6Ï\9b\92¿³\8d\r\1fB×G>v^\90«\86éh\17\16jY,`JÚåqø\93ÓRÎÙf´¢\17\10\92\95\8a\96\15$k%¡É`zY?q%}-\83\85Ø<%s$N±Ò©öÒWÒØùi\rÖÑñÓI\95Á\Xs\ 2÷ ¯­¬\8d\86Øë\9dòÛ\98\rJ®;$w%©T\94\14       \Ññ\10Imü6ËNé\94i\94\8c\85åòxª·\99\9a\96\8f\9càÉ%k¥\9f\89èãâ6iZ\9b\85ô\e"¦ï³±#m¯wH²\7fµ\99\90\94Ý.\98x}\ e%\91\0\aÙ\92¾\97´Rß´¹)ec`\97\14\99ßaV{ûOIB\97\1d¬+ëxR\91\8f\84¸íEAÆ­¬ª¥ær¬+ë¸\9c)5z4¹d\971\12âJ^\1d²²±ÞîvJÈ\91\95Må¤"\15M×ÜÂ\bEf\94Ì´\r¾\9f9\8aK\94\116»ã\ 4Ë>áKò\89K©(§ÒìÊ^Ñðܰ¨qf·éIRëÆþ>\1d\9eX~¾\80p÷º\ 5RâJú_÷J \95\8a\9fÍ\a\e\86¬\ò®í¥Ô$\81þ\14\9aÕý\1dº\81Jæ[pÀ©h«ë«b ÞÕ=Y.­%Ú\89¹}ò~t©ä 2\e¸4\83ÕW\1aQÅHÿJæK°õu\14Ê\876: Q\9e¶ô¸Ë·áv\1af2j©h¨8rò)|+É×ò\9f\124<¹+éxÉ*mh%¬«JéH\8ezÐcÒ\1f\12     R\8b$r«Nß§áH\ 1±±°~wË\I_wÌ6$K¤6ÑÐòji¨ëë«\1fÞ\1c\96Ëð)(\98YYQPO+\87¼éøkk*R(\13ó¤qEmß\95\81\ 6K\bgø³IíR£\12\1e\ fO.ßÔ籩Ovºçk^\aïÅ%d$Y%\88ºÇL\9a\7f´£\94¼Ê\ 4ü)fÚ°\1e\89a\82~t²}*殦\99#»S\9eÆ%\80ÉSi`\92 },$\92\8aÛ3ÆÕ¹å\1a\1a\19ùçÝ#\85¾\88ø¶\92¾¶t\99?Åc£\83\92\eh×Éh5\8e­Õ\14ÔifÚ¤s¯£V©Yè6Þ\9c\95öq \95\85ok¥½\8cÉ_i\1eéî\15¸Ã»;\\11õÄ$¡#\15µOÂ\9eâª\9e\95\\11\95·\92¿¿\8e\87«©§ZÔÛ\e\ 4¸{miª¤¯¥®\89è8ó\9c\14£÷\16\1céríi\1c©\14\14´|´©*J\19õe\16KoµµM2RT®dýªÂQ%\94¼n\1f\ 1,öcV\11\9b\8d\82¤Õ'ê\9eáð\12¯\12µ\16­ª*\ 5I¿gbD¤ná\94;A¾:%tù<\12»\0\ fùÉ_V¥\84\9e\9bàDÂ>*@\ 3\9bsL\ e«>­\15¤·\ eïÞs\93;ýï\15\14ºÓÐÏ\15´ù¼L\84L\1aÛ\85Õ»\83cq\19^îjZ:s\83\15\95ÿK\93Qû¨$¹\83\ f\ 4ô©.ð»\r3-Â\96[\8b\16\91\90¬²¢>mgb÷ÛÈIé¹hø\88&:I>n^BÉ|Y4\94\9e[m·[+^®g\95ý%(J\98\95ÞîR÷3\1càý/O/ÀÙÈ\969\9f\ 3Û\9bjUkÎ{\e\11\a«\8dÜì\92ìú@\9e×]¤K­éOÙgí
+âÇ:@R_èJ3«_\ 2ý\r\0ó;3¿K¬\f¤c'êáIÅ%}¥óK|\1aªPD¿\ 5o gæå÷ÜY¹d\83Ý*ùº\ 6æ\ 3RÏÐ%íÖycÇÄ\8d\ 6[\89ÜÇ\ 1è\97½R\8c±â×êQù¾\ 4|Ĥb±&)\ 5i\ f\89b]\1d\ f&.\17^¼¨((½¾½ïD¶§\8bÕº6«ÿ[ñkõ!å/V¥\87)CRöêð¶ì\97·U\8aÆc¼\a\ eS2±¼I\89\13ß:XÆ\e\7f\1fº\9d\99\94K+\92µúrWÞ3Kc\83\92\80²®\ 5ð\14\18%VêEòU
+YþË\16\8eµ\90\91;D¾ò\91ÜÇA\92ªÁ´¯YÙ\89H\8d\9bݶ:IZ,³\85)\18ËFÅ:¸_å¤""6z»|àým*uÈâFÃlXÉ¡H\aK\0öÚ÷{;;=\9bã\9f7\82\eÓ\    \b\86tÓg¬ÑUTRªAÿ\9b%}\9chZãþ¼k].%ãj3\98¾\14¤ZZ@¶©}æà¸î!'Fã\80K\80\89htt<
+ÜJ\14µÜx-[¦N5~   \17\r=2ª\ 2ßO̤N§¦Ö»8¤eIÅíÕc\ 5Å\87*\96\19;3+Á\91Þ=ón\f½è²)g"RV8ÛG\9cî1-+eÀ\86·Ý#|÷\ f\80¨ôJ°\8aÛë\92µ\12\1eXè¼Vv$+.ýe*úbV7ik\84\90\0\ fÿè\19ÿSü\d¯ésÞº²ªCw\ 6Êú®¿M\98«©§V]§æî­ÿô¿j_|Kî\14ô\94ZÇO\17Eo@=g\92¬ãa¶   ~!/ÊRó9Q¼î\1e\8fl4ù¥µ}·õµý\1d¶ëüÿ\1fýüM\0\8dñunm´\95õjzo'\ 3óü¸ÙÊ4ËÈIJÍÌUdý%\fú_î·Á_«$¼e\96\88Å¿­\85§\8e\87³`Ã\9bÁ\rå´­\ 3\1d>\1eÇ2o\97\91Þ1ÆStô\fÿÃã4»<'È\0\ 1%\7fõ¤¯±á\aO;\87\90X\19©hêº\9ah]\86\99\8e\ 2ÊvfQ/O*u×åI_c«¸gfeXíy\8e±Õ»\97È\9d°¯®c¤Z&¥£éy\9c¦9c3Æo\11;1)ICø\9b&}Ô\92¾é\94¿FCl\12Ã\96z\vËðÿÜ<\16ª®¦\9d\8eväæÝàÊFî+jêU\8e\ e\92¾¾GÉLË\1cX\96\rÙÙ°¨¦æ$~²Ç\rk]\9cRÍ)Î\14\93\e\ 4·\e\17\8aʪ\85¶zÇÄÃ\11\12\0?\99w&^F%ZÖÿ\8fÄàÚZZOÏM«ÿpdâ\96ÌÅ:\18+ÿJé<ÿ\1aml®\16\vUm\96ôêÜÛy\9c¾BùY/\1d\b\95±°¯c\9eÑüé+î­÷øØm\8aÛ\ 3\13ecÉ\9e\9a _\ïÖÖU+\\80±ÐU«d\7f\95u3\9c\19\ 4\82¸×ý¼ÛkmòÇ\8f\93\1a\14\94SöÚKs§ÿ õ\8eluá/È\92¿GCÉ\97\92Þp$bSùV¹^\98\94þ\9e\9bRvË`©h¹VV6\1ceõ>úµÜ¯\ f\83"¬\7\ 6KyQKÌKhV©åí¿J\9eäñfYIqÓf°ôÔ\94*É$\99Öê³&\ 4³y+]ZQõ,öc£§®5ÎþÙûKø1¡øV3~¬à\0\0û6åÓÒÑ[ìDuM=&\97/\83ýY+û\98\17\9aª\8a^4ä½¾g7\0õ\9dâLJ%ç¶\16VT¼ÎTvê\ 5\8eLU󤯫@\9fÆÃlh¨8Ì,¬Røµ\fÿ\17u³ñe\1dhÜ0\10»\a\84¾\8db¾þ\bÑÐòRúõ¶\92Óþ\8ch/²\7f\1fÉá\f+¾a±íÍ·ÉÙq\9fäI_ehZÒ9ç%Ùê\86o\93þöZ\9cìôÚÛ\ 3µfÁ\82Yc-!\10ÇG\a3Ñ_ì\180\9f\9e\9a\82Kg4+oñU\92µÊK<Ʀ:\1e\ 1[\eg_]X\96x2×I\17\e\19\8bp\9d8Ð$¯\80\aí\9aç|µ¾Í§?;å\95\9eÁ[æX|í\9d\8eÿVåD>é\1c\12ù]¾k2æÝà¼füM\9eZÖ:dôn8\1e\8eϯÿkühÜp }å\8eϯÛe¥é]+ìü\ 6a=\1e­Í¶ß@ÑzQ¡ñeGy\9b9Zù£Ê2´- é}\83\7f«\93¯­´4KìúúYbÊF6«C\91eSÉè59ük9MIU©`bG\8d¼Äulï\8a~×åö\87ý\96^\91q³ëìöx'øÕ©üë\19®.P\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0}sB@\b\0\0\0\aô$\7fæ±}Þ\7f\10\ e\0\0\0\ 1ò$\7fç²\17¼o\81íïݯTÒÑrÂ^=\86?Áì\9cpÝÆk\17xÎãûÝ\v\81ð\0\0\0\ fÀ\91ÿ\9dÇ÷¸ÛïµT\95ÆF\v¸ë0ýça\8fð=¾S\ 5ï\1c±=Î{!{V1\ f@A\88\0\0\0\añ$\7fç1צö¶\8c\9bWºg%q\91\7fí½^
+íÖá/\1e¿\17|¹·¶v¾\166òA¸\0\0\0\a\9b#ÿÂÆ^4M÷úzj5rlj?w\ 6úï\97rÅ÷y\1c\ai\85îúûl\16\8b\11ªëÕâï\97\ f»rÄ÷9¼mç?\91¾\10\98\0\0\0\ 1ãg\ 5M½þW   Û=hr\14\1cyÆ|m\ f®¬ª\9d\9a߯îv[\17¬û¦Y¯%\80í\1a»~¯îð[WOW\84î½~/¾ö\99+ÿ¹J!\9bÆ÷\89FH^\0\0\0\0ж÷ù|7pôèÝGC?iãøÂÊÊ\9a\92\8b\91;1Á\94\8c\80{Ðç2\17Ì\1fsë®$´_»^©ªëÕ§ Ã^zü\95ûÜf1\17s\ 5¨\0\0\0\1f¿\9c\15e\1aÚ uz\e\e\e\vO\8fäÔ´vßa¦uËàÛÛ.\98ËïµÀÝ~Û£\92Üa/\1eÃ!àýÎW     Û+8\8aÐd\8câ(\0\0\0?ö9b{\96æ¿y\17\r±¯®¬´ûÿ(h'¸\1210»-CÓ¦O5\8c¼áûÎã%£\ 5vëp÷®Ã\1dßûl¦\vÞfq]Ñ\9cE\0\0\0\aë\99\8c=Ù½²é\1f»Ú0_¬\86ßåy[YUEA=Ä\99\95\8b\86\7fÔgñ;Vq\14×vë\8câ(\0\0\0\81\84Æ÷\8d¸\ eÓBß\80¢_\95\bß'Înq\15yÈßýÎ\16ó÷¹ÄVk\17x"\8c\0\0\0\97ecü\ eÉùã3äåÙ¿#ÊêÕ¹K\89\e\ f\ 1±zÏ:åðw\19ÄS{[A\15 \0\0\ 1þÓ?\92¾äoÝ\9e.ùs\8c\86ÙVÖTÚ~7\8c,¬iéWÎ"¤âà\1eóùÜ\8f\8b\9cEcü\ fnE`\0\0\0\7f³Sy86vØkÏ_¢pjäÏMZ~_\90Ð/-w~¹¥¢å\88½v$Y\0\0\0\aèã\ 40÷lEë±Æ÷þÚ\ 3W¢¸æ+/ö|\9cáIb¯\9eÑZ\a\18Ø;p\0\0\0ý\ 3-\85íðWn·3\8cï%×çÄ\1d§Ñò\8f\97Ènk÷\8d-\17&»·[ác;².À\0\0\ 3éà®s8®ë-\87»î¶ov\9fåò¾¹Ë\19y^Jÿ\\95rF\b\0\0\0}>£»!5îü\9e,Õ§ú<Ñæ0\8aÖ\18\99\/nF\b\0\0\0z#¾a²^F&ÆÂ¾Óô|\80{Ы8BpÁö¤b\0\0\0\aø¹Ï¸×91)iú^nö¯ª\92¿\91¿vdc\80\0\0\aøz\93~o¿ï6¯\96\9f§äÌ´r¤¯ã/¿pFP\0\0\0~i¯xÌ«¯{?©ç+\93ÅT\95üO{öäe\0\0\0\aÏ\92¸¿GkÓÖ\9f[ÊZ>^*ùs[8B»õÄf\80\0\0\aÎî_­n¦ÉXYXúRWêié\1c0\9d»KEË\ 1ÛúÂ4\0\0\0\ 3ûãî\91¾¦¢\96ÓëùWUO\9bÈ_\17Ú\8fïTF\80\0\0\0~V\81\90ÂNÌÊÚ}\8f,,+µ\1a\f\82²X,Ù²Á`\0\0\ 1ýãnÿáþ\ eÔAüÏ\18YX¾»å\95%\7fÂÅ\9a\9c\88\0\0\0?»Ñ\9fË\86\ 2\92\8a\82Óþ>@ë\1cÕ%\7f/\86î\bÙ\0\0\0\ fí÷\8d\85\1dº\81´ÿ\97\91\eWÖ«ªÛ>é\95ÂvÄn\0\0\0\aäõüàé\93§_­@ßÔò6\1e\ 3\ 5Üu\8d-\17&æ¯tFà\0\0\0|Ò>#f®ñ¤¿SÉy-ãguëÚZ.M·ÿrFà\0\0\0~F\81\93vp­«©´ÿ§\93rûì/wìVÖ\10M&°\82\0\0\0\ fÈì\ f§\7f\1f\ fÿ\\15âÝ<\fq¦ð÷®Åma\ 5ß{B8\80\0\0\ 3ævGÕ\92®­«´ÿ·\94\©ìMïÙ\92\0\0\ 3æà¯&7ñÖ\9fkʪ\9a|]÷Ú´´\±wË\99Á\ 1°\0\0\0ô\a÷\87*¯±©Ãn<Çx=\92û\9c\8bØ\e\89Ê\0\0\0\1e\84\95ùmöïìä¯,ä¯áûÎÀàË\90\0\0\0|£Tç\92´ÿÇ\99\rdI_\0\0\0\ fCS\86«±µ\9fØó9\91ï\89\0\0\ 1øý¥"ãUÕ§oìy\9fni$¯\80\0\0\aãöç§á0adI_\0\0\0\0þ~ÆEZ\7fçÂJø\0\0\0|¹+ñ\vöª¶I_\0\0\0\0ü9+òq\90¤\95ð\0\0\0\ 2Jù%|\0\0\0 +ä\95ð\0\0\0\ f¿\92¿þýNnI_\0\0\0\ f¥%\7f\89ú|\ 6|cæ\83)\7fT\95üñ¬\1fÀ\0\0\ 3ó$¯Êoa¾Ä\95ûóKEË\ryöYì\81\82¿\0\0\0\ fðI_ª©¥ÜÁ=\7fÃ\18>l\19ø\0\0\0~d\95úZ>[ë¾_Ô\92¿\8a½û3e\7fÀ\0\0\ 3çÉ_år8\8en8\1fRJùµ\17à\0\0\ 1ò\88Øgþ\8c\89ÉÙ¹g,]çÓ\92¿\9dmð +à\0\0\ 1èI_\87\81ûÌ\95zbZ9·\ 3ü/NJû{eÑ¥¢å\92\88ë\0\0\0\ f\9f%~.\19ÿ'\82hõ6¢ÿ'\807\83ü\0\0\0?\e¾\9a_#\8bDZ,\93W»õ$¯·5{²:À\0\0\ 3ñ{_íÌYxü5DÓg1~\9c\95úº\9aenqþ[\vu#¬\0\0\0?\10|Ò7ÕÕT\H\9fqÂÝ}9+ôt<\9cMîæI_\0\0\0\ fëî&æ\87!KÐá\14mE5\1e+¾û\8fNJÿ+\919\88ï~Üáªø\0\0\0|¾-b+º¬\9bo8³RØkϲolº}~\ 3?Èá{¾½¥¢å\9d58à\0\0\0|®I|/ßj\r¼\89ÈíÜ\1e
+íÖç1÷¿JJüÎþ;   x[\81ûçG\8b \0\0\ 1èIb\95\8eÜÛH\99³³`þó\9djíú·uû±ïêy\15¸Ø`{\8e±ªëÕ\91Ê\0\0\0\1e\81\r²Ô[óÁaÍÁ«\aÜúè\rV{Ò\92¿¹Ù½à;\7fXÙÝzâ9@\0\0\ 3åü#B[ë\9d\9cMïÙ㯷8¸]\7f¥%~  ñÔæ¦\10\0\0\0|Ò£\9fÍH\99HíÕûµê\9c±\17y\89HΤ\95Å»ázvqih¹c\8e\0\0\0\aÌ7üü\96\v\95lî½{«\8e\ 3\8dÃàu$¯××VisXeµ8ãWhG\10\0\0\0\rõÕ\977{ééy\99lGs\8fð{%w¶\83Ô\92¿YUQ\9dÉw÷îת9\83þ\0\0\0\1f\9c\1eDìÇ7@kos8»Æ{!Þ¾é\1c+Wù*áú\9eSÒÑdoÝ\9e\ 6ëÕæq\17b8\80\0\0\ 3û\18,-Ä\ 3Ë\1e\8a6\98÷w:¯\81\0o­©Ç'Úîþµ®ï×\1a\0\0\0?'\ 5\85\98ÁÍKGYÙÙÙXØ;Ú÷\8f}\16¿Â\86§SÎ4ç\ 5]\ 1Ïè2Fݼ\80\0\0\a÷4î^ÙûK\ 3Íï8Û\83'\17éI_ÞÄA\1cË\\0\0\0\ f¥ë9Kü)Lý]\15ø¿'\1f\ e;|\80\0\0\a£\82Ω_§ÓÞ§\9alæ)¥¢äâÙt#(\0\0\0?7ÚêÝ[«*ê:\92W+«ªó\18«Åúéê³\98ëÑ\19@\0\0\ 1ô>XÔ\7fÉÑH'GÎ_&uµ«Ý/Ñ\93á±\93 \0\0\ 1ô~-ÿ\7f\9bÓTgõ<áJF­ÕeûOfoR°\0\0\0}\ ea\ 4[ìe¿ùü\86\82Õ`;oY\97Ã\9aQd\0\0\0>\8e]¸¯\85)n§\8eÎXVÎç×\1a\0\0\0>\81áæp´\94<\8fK\9e\e8kϲÉ_ýÁ\18à\0\0\ 1èü`®Ù}n\83?$÷°Ø+·[\9bÆ\1a\9cX\0\0\0=\1e\8aF\¾®
+ò½n\80å±þ\aµ:äü\0\0\0\ fñü\1c8Àj~¯2Ôøó\99\1c\ahuEø\0\0\0\1f\9d¸\9e\9bß«\9c\1eB?;\9bQ`\0\0\0\1f\9fñÞ¬Ò¯\87lo©Ñ\93\9ek\1d\9a\0\0\0>\96pxå\84åþ\96¹Ù³³³\89Û¿f\8e¡³@\0\0\ 3óä¯ë]\9c~¦¹Ù¤¡ä»f\e\r;`\0\0\0\1fL\81Õgÿ×Ñ\93ý\8d\85|L#æ\80\92¸\0\0\0\1fæÎ\ f\1ez\Þ.§¤¢åÏñ\7f\16Jÿ\12fPù\15\81\0\0\0\ fÐÁ_ôù©£#\17·~xÌù»Á3!\13´WÇÝ·ßk\9aÉXÞ\8fK\11\96l\18PÏÏ\12W\0\0\0\ 3ý'\1an[¥%\7ffúë\8a½û?\83Ò+Ý\9f\12bQãÂÄIEí|ÝĦuqj\81{Ðs9\{;6\1eÿ«ð©7¾\7fÆ«à\0\0\0\a£%~\97\99çt\9d\97lih¹l\1esuÞFëéTÓÒ+â\12\vS\9eÆ«çÀ{ï:WÃae\17
+þ¯\88\1cMc¦N2\ecQÍËÞ+«jä"`ú?$o \0\0\0\1f\97г_\9fÇo\ 6\f,\95Ï\9a\9cæ;¼_ã\82\92\8eß%Á\9f\9e\9a\ fæ¿Ç5>o£\82ï[ä\önZÛâ1eíÏ$ù£Ê\|\94\80\0\0\0~v\81\9cÒ¸ùÚ\ 4o\99ÊÄß.wîתж÷î\99KöÉë;9/ Ë£ÂÚª\9ai\89\7f\1eo.\99F\98\17¬÷\1evbßgò'ç¦\8f\9dÂð\0\0\0ÿ¿9ä]úRWø|\19,/w×¶]úÎo\ fÆpÚÝ.Ws\0ó»Úk7POZç|µ¿Ç=bß'\9b\19ìdfáþ\8f\9b±¡ÖVV32Ñú\9cþ8ùVô\0\0\0\ fÖ7Ñ;O?«èÍkU×í±WË\9fàqH2\13\83|uWÈ\16È\0\0\0\aëô,Ý7À\90øÚ\9aa\83\r\8bÖ~ýÚõGL\18À\0\0\0\1f\ 3\8b]Ù¬<ÿ\16g¥²®O\19Üa× H\0\0\0\a\9bÒÀ/K°\9f\8alÆ*ñ\81î:ïl\90\0\0\0\ f3ã=c¥¼\1et\94T\18KDZÁÝýi½9\80\0\0\0\1eY   ­Ñùú¿ï~ÒÑrÂ÷~ÄÛ\19 \0\0\0\ f.Jþö\1fÎê\8bò'm®[\8a\1cÝÿ¶!\0\0\0\0\ 3Ë\91ÿ5-çtèK¯ÓøKu2\ 6\f\0\0\0\ 3à\9f\ f`´íº\ 3\ 381R\0\0\0\1fµ×mïK%
+Óç1UKüÃ\12ÿ\17e}©¨Ü0·S\83\15 \0\0\ 1ûGO\7f\ 5ß¼<½wÇâÖo\1evc\1eÓÙàû\9fZ®àÞ\0\0\0\0?ûÚ\10]÷§«í¶¯Ú^\97\9c\198¼5çÙb/]\89À^À\0\0\ fý\1dÿìÓO+\ 5xÛ}sÊ4ü]Ãæ[éñIo¨ß_\8d¶BÐðzµù\12\8dÄX\0\0\0ò/Êj3\98§Ý\ev»Jáj8Ú\8c\7fó?ÔÏÓtG\ f\85ë>\1d\10ñ\r\86µÙ¾×ý·üOwС¿\16 \eýý\¸sý3\8aôgÞúeÿ\r¿¯¶\80O3ðÛÒç\17Ý#z«S\9bO~ïÜkü<·\ e^C¥\97n=º·_î\9e«9\8f½Û×òõÌáq\ 3*©U½\1f\89T, YÇ¡U¶¾Ëß@³\8f\95ø|Ê9ü8ý×»·±­§çt2©ÿ\92ÔG\93gûÀ\0\ 3Æù\8eYqÝ@¼ïa\9f÷Û¸\14$" c÷P\121;4ÿ\11Ëÿ\84#¡öJÿ\eíÜ\15©\ 2¹\ 5å\8bûí\8f\97ë\12\97HD@y\94C\9c\7feøC8
+çÔ\94B\10>/¦\88\çúô\80\19\b\88\1f"\8e|(y\89U%\81T?ï\96\8cÕ¡nCÇöRqP\94ô\9ew\\93\8f}\81î:Çý6cî«ú!\97á\81û¨:÷°>Ê\ 5®#r×Ù{è\16÷Ö\rÈn \12Ìÿ6Ã\94²£\9dg'\8dfO:¶¶Q\9b\87ù-ä\1a        H\95id|>Ê.\15ú"\ fU±Ó\9f\0\0\ 1à<f°Û¸=R_X\94\8bÚÛ\92±»{\8fÔ\1fh\97\90\87°¯­éI_Ä^»\16Ëǰ\87\82z!\ f\9fiÆ÷pü|¹å\80\0\7f\aj^ðû'\89Xͱ|4<BbN&Ïãñ 6ª¢\95]&þÈD@\90\86ÊJú­V\8cÛn`5\1a_\7fòÖb\0\0\1füÆ\v;8JEÂ\17Â\83Þ\93\9c\1d÷K\ 5y1+½[ ÅÖ¶\82\10:\12Yd¢¶\9aóè:Ð\0\ 3÷xÄ:÷\9f/\80\87\8aPq¦|îj\10A=4´\´\99\10.\bͶÛ\ê\m\0\0\80- &\93ÏÔã/\9aU»/\0Õº·JE\98æ\8brN*\12\11õ̸Ú\0\0I_\0ÚÊÆíªiþ7\ 3ô+«*\9cÜZ°\1d·¬Ù¾:\10\87ã\9bGÂJø\0\aît`ððä^û\ enpy¾\88év&óC?<ÜÖÑ\87½v;\98\a\92\10í°W1{Y(¨MôL\19%|\0\ 3÷D»í&eÛàÄ\9a߯t´\fä÷\ f\81\87½v\r¸\ eÒ+o®!\ f\9f
+RQP\92±»y8½©\8c\1f\0\0ýé+úÍ\14¬i\91\99\85©ÄáH°²øÝhòð$¢¯÷OW\96Ãݤ7B¶\10t\;6ÛsýìÛk¯\87\80ï$Öa{¸ah\14l6¶Ü6û­Ôj5\18\f&\ 2íe\92×eÂëÚÛÒë,·G$v¹\1cm4Óm¹\1cm¶Òi$\93i4ÒI\14JI$R)$\92E\13ñ%"I$\92\92II&ä\92i$\92OÿþþOÄü\89H¤[)\96ÌjE\1a\91Ê­n'^\12ÙFÚ\8bÔ]\86\13»Ã¨ºp¸NÜ\aaÀ[Þ\r¼8\ráÃ\f\ 6\14\ràÀ`0Àa\86ÛͼX\rä¾\f0\1aú0\14\ráÞ*-¸I,\13x6Ýv£oÔð^¶I{9$ÚÔ\ e!åÉ_\96Ë\ 5U]UA«\1e\r \0\0\1fáéO\1fPo\1fñe\81\0TWÞ!Öv\e\91ü\9e£kÍú\1ec[¥õ?Åiõ*®¿SWÿºvR»zÉ?©¡\15ð\0\0\ fÿã\96\9dÌíò\9a»ûa8D\ 2\ 3\13Þ{\0\95´Cë\84í\11\8fà\92GV\85\82O\81â¨\8e\83Äds\82\0\0\0#%\7f}ᯯýRa_>Os®ëwÚ(¯û\7f\9cß¡æ+éº\9fá\92¿/ç'è"¾¶á1^»]ì\8b©T"¾\0\0\ 1þ;\1a}§LO \8bËJ\95\97\15×\96\9bÜ\89\8duUÇ\¦[q^¶æ(8\82éA\ 2\1aÉÈ\10ë\9cþ\9e+\ eé9¶è°\r qvõæÿf\b\8c\ 4ñ\1c®\e%\0¢Cm\17\88Ì\vûzâ¸÷HÀ\99BFô\8cõ\11â\89\9d\b»E\90â\8a\8a\16ݨYt\99eÊl\ 2°\v´&\86\ 5Âc¯\14\1dv¡Z¤ÄÓY\8f  \13¡Á\ 5    =Ù<\19O\81r °ÚîÁa\197\96\vn\8aÛX\83­\ e.ÝÃr\96Dm\91¤q\1975÷÷ \88Ø+næ½uáaQ`\ 167I\97_X£ÊhÜ+QÚø\1d\v\eºþ¸¿K¾¹ßGÌß[×\11úÀC\8c8\ 4\8dä\80×)¥s¯\0Ð\90\9f\8aüOÀl­íÕ|_Á\8c\8dÒuvõ§!Ç2p}i§¼®\130½±\87·C\90H~\ 6V¡ÆÒþ
+¬Ër¦A\82:\v2b\89Q³C\9b\97å\9c\19­½µªÁ½¯5`Ù\15-\88ØÞÄìTô\0\0\0\a\95\80Í\8d3­V®Ú°\9eB,\96)jÂõÃ,\a\98>p¸÷\18'¸Âzä º\bk"\1eºf{\86(0\18\91\80ùÛ(»§,\90Þ\99«\84ùÓ\126Ìã¢\fì¢ï¡§\82ñ¹\9f\16)mä\84\18Ø/]2I¶fñ\9c\13Ð{\9f;f]ÖCï\83\15Ás\84\8b1'e\17)\174òÁ"lX\17ýpÀ\80\9a\ e\9b/A\9eOõ{¶ì\1e     \83¬¼¬Ç,¢µa°0]¶`PÜ¿ìM¦83\0öç\11ßpÑi?×mÊæ¹js´\1d÷pØÅ}Ïn¸\9b§MW\94\ f\e\11Ä]\13Mj\10À­\88\1aD\8bZ2W\86ø\9d{ì~ÿÏ\99ÇrÐçMPz\1a\95è\86ñGz\1c\92%£½Ku"\1c¡·\8aÃ\89\ eJñFu\9c³9\a4â2P{\97\13òÑát\ e@.\8cæ® '\14\91\93X\9bF\8b¢ð)²âð­®L\154]jµ\1dé9\82\93\rË5¬Ø^ºhqzù\15\9dtÈë\92~¥E\93+U]G¯è\87\83h\0\0\a÷û¥;9ìo,·g]'jÂî\ 1í±°ÏßãAë7Ø}nÿ\11 M\8a@ÛMþ4,¡¾Ãàmñ¡bá¾'û\8d\8b\0½\8fÞ\90\ 4ÖK@\9b¤v0Â\1aظ\8fÈ      ½ÆÄ\80m4v\84\18\98o\8d¬Oô\9ad\ 4c"\11cJ\ 6g£¦F~$\13á½Ñ\eeÚ Ã31\10\8eÇ\ e\13Ù;LwN&ô\91\v\17\ e3\8f     ô\87NK\8eg}\115ýI\93("Ã\92Ì'.4Q_7ÄëÝ??÷¹¯×À\10á\9c\13ñöñõ\89Åâÿ°²¸\14mÖ$(n!\18dç^6#øO\9dr |\fwÜδ>BÁ>\v÷P\1f8xá\8b5¶æE\97l;\ eH\80\0\0},\ 6\7fkW@õË\19\b¨\19\v\19>{\88ù&\97²WÌ\a\98\91
+\81±v'âA\8då¢G\ 4\9aÄca¾7\96é4Íæ!)\0ÌHO»ÿ6ØìÃ>ò\\19\b<B\80î\14\17\92 \ 48Cß@iQ\b\91Ëß yá¡\15îY\9a4WÎß·íê'çy¿Eõ´}W·\90æ \91ì\8eWðQ\vÃ\7føÿ\812\9c\1c¤TäÇ\88'âDü9Íá¤4Pac¥§6\16\93\80\90\9f:=Ë+\81\83(\80\0\0>\98®¤×õ\9bì>»¬ÅI\15Ä|¤¤ÈxÃòVA\13T\90¥\88\87\vÓ/\85\ eAmû¸Èm¼\90¿¬_+\ 22IåÙ\93#\ e\8f\96t\98\0\97û\91#½Åó\9dî|ÒL\80ß\ 5 y;\18\19\e>:\e\19Ð\90¼1\82z.̧~W\ 19c°ð-Û\9eӳ춺¾\83\9cû\8ee6ïg\8fËT9A
+\ 3¹\bHpÓZ\8f\12$9²\7f#fëwìh'ãGFzWã2\j\92\8etÎBâA(OºêG\838\0\0\aùhmµ\þ.\eäQ\ßãBFc²Bÿy\1e[±ä$qrü\97Òò¼Å\895«*@s\13ÝÉX#&!.BúTÚæ\82.\93<ý =ní»\aMð^8ÁpÍk\96Ø&ÖB\8a-\82õË\ 3Qg]7Â=Ã\ 2k\e@\8cÇN\18ºlV\ 2\f<\14\1c\16\ eKE\82^{\8c"1¢60Pjà¸j¼\9bÒmÊà\96\8c0½Û\82<¥}Ï\88ñ ÕÁEè6Ð\90H°UÁCÄ\1aHï^8F\0C\88NܱÑE|\8d-O´ôþ³îüÒ«\1dä©$©\1cë\99$\9a\8c\90ìÞ`Ír¢£\rÂ\9c\1fÈj \9e¬'î²¹û\97\ 4³ÿ'ÑsIùç\89\ 4ú\1dpôýü\0\0\ 3ý=Ü\ 3T\9e\9b\7f\8d
+R+ùÞW1P~\80~,Y\93H¿îD\8c³÷3$1;äC¸\922\18èü?Ç\91EÉqÍ"Ó\9b4\9c\8f\99»ç\8d\17ßX\9dz£Â\vnÓ°¾³üw\12+\9byïÛØKm»\ e¿\7fï>ëÝ}\97²õ\1fjÅußyÌÒq\9e        óhÂYS¶ñ\93\93\91$õ%¤\92\1c\92\11PÌüN\88ã¡§\ e\11¥g¤þ*Aw2rk*Kj     ÷v\95\90\0\0\0\r¦£×\97±n,JuÄ\9a"$Êh¾G\94\ 4\ 3ñé\90èP¸¢¢Ý\1ep\ 6\1fy4C\1enJGû\90â@>\ç\\99­\8cÙ¾7m×ÿÙ\11E\97Iÿe\15ökî{>ϱÑöà\ f\9dô\7f]ÑzßHõãi²~\92§t²8ó\1d\17©(y\99\16¸s\8eÅE}ÞzrryÅ\98\8eº_\8a\91'3s\7f,f\a\fÎ\9f\1e·\1a\80\0\0\ 1\13Ñs,hGõ½f/Y¾ÃF¯\11\9bV\95ÅÇ\9bþ\7f\16\89x\82ÿÙÒQ\88£\19\89Â\9aQÌCþ=\18\ e\14¹4l¦¬\a\99³\8bÄ\8aï\8f\ 2×á¢5û\ 1®\15î\8eW\93Yyf_\90Æ\9e×\9c\977\97\97É£ñ\12\92\9e\86Êqò$¼\8f\98\8a\f$+\ 3\1c)U÷\88èJü9É\9cp{&L\96U\1fÊWå¤(\ f     ú­+²ºP\0\0\0\1fÜýNô%ì\7fU\87\ 1Ú6\f\86B\ep\9f\ 4&UñáÐ\9eRDî"(&òw\9b Ïæ\18q\11§4ÎÎj4ü\ 6ÜjÈ^b0q$7ÏrÉ}÷È\92b[x\9fÄE\7f\97Ñ"\80Ý\ 6V©vz|Ù@       RH<Z\80\13Üôm\92C{\17&\9cþOÌcXbi#[\9dOcÊ\93U,àûÌÉ8(ÿ¡\ f\8fl¢£h\11\\0\0\0\ 2\9c\99C¢Äo\8beU÷²P\193.p <Ϋ\13bFF\1ad\85¬ÚsæDâg
+\15L\93U\89Võy/Ï)    ©8¾kÍWª÷S\81·~ý\12\f\vªÿ\11\16._³\86&èX5eU?\97<Ró7\92ýÍA@¼j?\86Ì,\95kÉ      ÿ£Ëä«O)YS(¢_%B\94\9d\99s\9aÓ%s\92üÕ=Ë$üNåç`\0\0\0\7f\95\87\98\9dwÖoâÚ\88\9c{"\ eE1#2\86ÓÀª¿fkcÙ*POÍó \98\8al\17îfÀü\ú3L'§»f½]\9fË\9c\1fßx\19\83ϰëúÞ\8fþ\9e\97\9bô<Ã\f\ 5YIEåÍâËü\0\93e\84fØ-:2b   R\ 13­L,Û\ ej_æK6\17åìyx=\80õ\0\0\0\ 3\89Ð\85=>ïªpÉlZÂ\8e\eìù">%Xùçs7I\ 2=:ÊUWªG\99/\ 6q«3o2JoÝÛ\9eÄ\84\8dÙ¬ñ\10óWr\9bãN    ¢\17_r³\a\9b×M?\ f\9cûoaé¾Í»EÜz\88:\12LN¸õ\ 5\bé~\9f
+=^úk\8f.x²Ui©\19ë9\1f\8f\98·\ 4óܱ\95ÝPL\0\0\0\0%z     \ f?;ìÖÝØ\17²£Öü´ïHh²Â䢭*¯¦\8dX;\87ç)\1aA\19'\132qç&«á\1fÌÇ\80\91\17\ 2\86ë\91M\9b-§Ï%\87\ 6\ 3¼%¶ßÏ%xÉuÇiÚr}\ fÐÂ[u빯°é=wÝ;pÆm\14\8b\81<\1dÁ¬4£a\95£­2°÷2\8bÝ*Á\93Fp\97\13\8b
+]<\ 3\82Ò\83\ 1åýÂz=\86\97\91Ø¢Ô\0\0\0\ 1Ñ\e\93_   ó\83IdcbÀ\953¸a\9drläy¯\1a\86\19¬\ 3K\93\80Ñì ,Ú0Á­¸)V\92\96|BJE   ã\96+¿&Ë\výjÁåçkÚòp\19ÍÍ\95O9èù\9dv\9bÖ?zß;\9dÝí½­\91fk\1f£nÒp-L$\11Y\84ýÞ/r\9a_{&9\ eÝÎÄ~ø÷\15\94\9b\ 1íÈÐ\0\0\0\1e\17ÁÜEvåírNi³\ç½å^FdÑ#÷z\17Äd?1É6\ f·\16o#>øõ\93:\0kT\12$\97Ùü;#\8d¡Ì>U\16!ë¶Z6\få&Ϧõ\1e\8bÌSmu\1a\17Ò¿.Ê¢äÞ,\11©Ø\86\9e\98ÅJæÝâÔN£Ö\8cO\99E\85zí¥ýµlÞЦ\80\0\0\0\ 1\9fØègy¸\9ctÕvÿ\1a\11{)«åÉdpé\8a\90rm=è/1æò"Um2-A¨õ^Üy¦ô(±r(fÒüÇ3ä@øVL\13É\92\18\85¡¼:b×
\86\ 5©\ 6\ e\ 2\92\ 5÷ödÿI¬m\ 4u\91Þ\90\ezmÒ,ÄA\Õv\98K-âìbkHvH\12c\ehFb!(\ 6\8b\95\82A\80§       b\9cH<¯²×3Ý\1f=¤ô\9fî°Þíør\93ýÚ\18q\11\9e?\ f\85x´Êµ\8f&ZÉÙ\¦Ë­NÉ\9e#\97\81,\11µÜREq®\15ýe\14ðï*Ð\0\0\0\a\87xTÝÚoq±`J²È&ÝÏÒ*³(à¢l\8f+dh^ñkí\1c\eH\96\1cÆß
+î*ϾN¥Ñ\ f¡@xøöä\ fÐ\ f\9e5~\86´=\b\9aÈïJ\v ØÛ£o^9c\ ftméí\9f½q\ec\ fZC²G\11\r»c1¡í\ fm\14%\0Ñr\8a
+É7ip\1d\1f¶F<÷¥úû\8b-ç"IÒBWp :\88\86óÞW" ¼\99eIæI\8cñ\94\11\89tç:\92\8b¥Õ\96óo«öc¶(Ø\0\0\0\1f\13Ðk.\89«\vä;¨táûö¡>ÏóOÏ\99ñ\8b!§¡UÆ\82\7f\87\82þ½ìÔÿ,pdÛ|\*©£X<ì»\1eÀ¿1ôy¯±rÕw#\ 1_hai]\eî>m\14Æ<\96£È¸\13ã\8d\91\9eÄë\9dÞÏN<\ 1À\0\0\0ño
+õ5ÔX\90\1d\1a°¯\8d\89\ 2\ÍfmW\9f\87\ 5æ"5ù\88\ eÛ1Àb¶Ý\8aÛf+U\18a-¸ \8b­\81\17u$0À¶nÌètéG\18LN¸\92àÅ\v\14åm\ e¸àle3\v  É\vU2'úuÏ\ 1Ù\8cèa\10,·CBæT\fe\15Ä\86ìæ\ 3®8{Øðµ\9aû¿Åð/\9d\97mðKô»»\9dûyO\\88\84ml(Ûw\fÖ\9b\91\18+.0p8\91/"-\È|OtÅ\eÂ;:×\ 2Ï\93\1f\94å>xÒÝ=6×SìGÎäp\0\0\0?ùík\16ïgî\1c3Y\ f\v\17£_\11\85\16l¾\ÝúXM\11+\92îeX¦\ 3÷7v\14J)µ©éµö\14ÓÕôÛ\v
+ma4ÐØë\91\bm\12Ó×\93AB\1a{ÝÆ¢\7f\1aá+\80ø\8eU"\8dÖ¸\8e%\8d6¬Ì4\9b\b4±Ýb\b\8f\8eºH31E4òMTtÈþ§Ýkæ;)6Ñ\86r\1dòÄ-Ñ\19:ô 4ì\98Ù0(\87\ 35éA\84^\8b:\9e¯\1a\17\13¡×¶\85ú\12Ýÿ^j¾\9bb\87$dqØ\90\92y\ eSlLô\12\e\9eP\83\ eêÇtüö÷64û\9doµ­¢ÖK\89\b\8cñ\19Ù$H&±\1cÒh\19ªÁ]¬\8bÂ_=<Ìôc\11Àxmp¯ê6Ú\81j\1a\80\0\0\ 1ú_|¬lê¶ï\9d´F\9dé#\ 1tI²\12»ú\19$jgü\aÎUWÐ×Qjâ       Ò\7f¤ó\9a¯¢ÔÖÑOVÑN\93B6÷V\86ô\9byävôû=2\1dµnyå5Û\9b\rÞÅ5\16¨\8dã\ 4\18\13\92\eÙ"u-dÝÓ>\18¯¢ê4Z±\1aS\95¼V\ 6\83\9b#\83\84à"\8a]Yþ\aµåTû\89Í'Üù\9d¼ç?\1f\8e\1aÂ:\ 4\8cièµ\b;åÖK\86èÇë\rÖº£m¨7m¡\8a¹þ¢7
+õ1\1c}Iµ«(µ¨m'Pr\8câj\89Å";æ\89˯lcb\ e\871ìÒwYØ\fç6Ã\97\ 6γs¬\1dÁ©\80\0\0\0ý_¾Vý^\9d\823\85sp©þN(\92>^'üÇÃÙï\9cÛ¦ÜÆó\85\9d\16q\ 4I§¥¡>\99\ 4_L\88îókî'º.tÝ\9c\94êè:\88\88\ 6j¢ \ 6\92\0Ú©\1a\124äëLÓ­ ¡äµQ}\11måïg8èØHf\1a<\15\vÚMc¦\87r(¯\93Ý\1f=ì}7\9d§Ù飢5:\87\egk\10Fæg\16*6\85î \r9Ð}öÇMø\15´:\98Ü+\9d\88\92¬ñ¹"HB\93m\ 4Vu\84Ú\11Ê28¦E~U`\ 2m¿?ÜàÊ\88\92°fîó\1a\11\\0\0\0\ 3õíH\9d7àYÕOÂ|ä´ïH\98tC>\99o\9d\19\15ø\92Me\90âCÍ{X\8c\95
+\12Y\b¢G8m¢h~u%E~§iÒ\eÌ\96{ñ9Ú\9d¾¢®\86u49/¼É\16o\ 2I»1\16.\f\96ÒPÏä\ 3\19*fKnt,¯ø/\t:OùÎûnn¶\84Üg\9cK\92\86Du\bµ\99(1¼ÚéÍÚ7¼¨¯Ã\92­\9d\90\8dQ\91PAÐ\9d­\8e\8d9¤¯ÍË\84d¯ø¸ìôø¸Xã»Å+Äürzí¥\95\1d\9eèG»Ó \0\0\0|\9fY\1fµ\1e½}õ®,\17{ìbäQé8WW\1f\ 5%p² T«\aaÛuíX\´]lÝr\96g[¸_hÌëf+m\9b.R@Ír¢ÿ§*&ô\81Ë\vVG\17nÈëf§Z4:Õ\9e\ 5\85u.»cÒóÅíµ\87C«Á½LFcR0\16Û\11ÊjºÙ\9aÛB9­ÐØ·]hÍm«\95ö¤{\89¬Ém©5\9c\17\rê\96+T\93X\8d&\87Z\19\98G\ 4À\8c6\87[7^F©\18v\8d\97Û²X_õ\ 6\19\8c\96Ú Æ+²Ùu«S\8a   \14[.¶b°°Ì±j#³\rÓ;)Ù43\88À\86Ì7\ 3I\12     ÁÂ3\e/$-$9$Z\87·&±\19\8cÐt\19\9c¥ÊûL7k´>ì.^©¬èt\9fñB\9eê^3\92$%ÈSi¡Â¸{r1\90â©_v\8blÖªÞÓí:moEêv}?á)«Û\1a\8e¤æ\81x\ f\rÊ$Q+\8eh\90W5I·Dá¡9váz\96ø7O\9d²åàî)\95\15·ï[®¿R;\9d1\80\0\0\ 1ûÝ-à½Z\8dÖ½ÓUÅ¢È\96p¯&½Â\96\1eÃ\95x!ð¬
+h/ܾu\84{e®Ú+x×\ 3$,KnF4\8d2on\94QRlKÛÕ×uÕé\95©Þ<\8cÃÇi6X@é®>´0\8b=-d4
+þ¡\0!Àd\1cÒ?N\99Ãva»éCÉNÌp\93\9a\96\9f\14ep5. \95ÊAÓzÝv\86jY¡×ôI©¶\ eÙßð\1fr:evr¢sC­ÔTl¶Ó\9eË[¥õUSú\85×\8a  \0Í\14]4\89Ä\ 6±Û\r\89\11p\1d³W\15Ù3\r²×çµÇÁ\93ýÞ)(à`ð\98ø\7fùÃ5©éöEí\93B$­\80\0\0\0ýþè±ÛyÎ}uõ¦ù\fÁÕ"p¯\17\83n\99\8e\83!&H-\93ÍIûÆ\8f\/ËB\1f\ 3ºAÕ¥û5¶¶\95;-\7fIêö]7®²©Ú¸Â¼á!±Ýº\19(jø\r.0ï\11S\90Òï`g_Öãwß*ì\&¥×7Á»Ð\81.Ú+»±ÝPk\vÚd\83i¨õ÷Êj\`Ýx1ì\9cý\82ùÂ8~\ 3*Ê¥\80êU\9a\193\10¡\eò\11\99ýgA\13\ f\8a\ f`J\0\0\0\0þ?\9fáô\1a¶ì\96cDÍ-2mÔ\1cëu\1eU\fÌ\9ekÏÞ3=ºÞZ\15dóîb²Úª\83S±éyéùßg\80ª¯\83&!Éu\8b\9cÑþ"+ù\92Eÿ\ 4=p¿;ÝK\ eß·íà½m¡Â²r\8d¢ÛSw\13QÙiým­VÕÛ+Ï\ 6\13\9eØè\ f[æØ+Rr(\96?ãNM`\9e\14\a\8e\1a\1dOµéÅ»\1e\0\0\0\aòàÎM¶«\9f½µªÃ~é\1cw§6î9ïq\802\19\v\9e\ 1íyR:±d²ï®\14RÑk½´üï³tÔãü'*DÞ_æ¢
+³ÄE|\9c\rÅ\84ó;ë9Aí\8eãqmZ\bÛ.\80ùº»\85\1aþ\8f\9fÕ0¼Nï\838uÅr\96<j±ë\86\bàËÙ\98¢\ f?#bÆ¢¶¸¸²Þ\ f\82Ø@\0\0\0\95T~®£kÓ½s\84\86}"áà7T0\9fg\v\ 6OĪìFÊûÅÏQ\ f\9da~0v_AÌ\1a°¼½µª|{n[\94õË\ f{\0?h?vË®ë1fæ¤ØE£\7f±Ït =ll\9bÄá¢õj\93:h·\8eÛ\93Ê\92Ñ[x\98\86\7f\89\95à]ÉÀffOµãv\eÚ\r^¼wà>\0\0\0\ 3ú~\88íÜ&Ü?=¹½\ 5\8f\9b\98U\8b%<ý×\1f=\8aâáòsêÆt\99\8e\8b3:\1eû\9c\16\8d#Ðd=\1c\17²[M\16&<\12JPy'g;\ 2\1c"\97¾ÿ}\v´ìû.ÛµíQ°lI¡ÛvÝ©{zòqò·/\16\8e\82\8e\9b\93éó³èVkîdå¤ã'ÃÝ3¸QL\8fu)ð\0\0\0\0ù~ä÷Síº\86g]cp¬²   ¸\98¢Z\ 6\0l×CC\v\11ædSÈù}æ5?\ 3\1f&/É\81\91æ·¸\18.GC&Á!nR»ä\Ás1\ 6       °$Æÿ}\87×uÛþïëH:î´½ñ\a¤çç\8cì\8cY+"YC\86\198Ç¥,Á\ 33">h_F\12Ò\94a\80«y¸ÕO\f\9b¸\0\0\0\aÌùh%Ô{\ 55¥îý\89\9bèxV~;\1f\8bxx¿u+8õø8\fÚ\12\19\143:\12\922¤¿±q\1f\1aï#\8c\88ï{\85:4,\9dþë\14øòr ´¤´ÝÉÌ\11Ss\0Þ&v\16&\82\7f#\ 1\9egÉt£èAe½}&ÏQì'F1È\0\0\0\ 3û\11\9eèpUÛbAx\8e;\82\9a\84ü\9af|\e#ÁÃñ32À\8e\8eXnã£å&²)Üå\85Î\rÐ\9c\8d\80ÉÞd÷Þ4\8f>~t¬\93`cÃô\8dZ\17\ fÐú41\9fS¹¸\9fÃ/0X¿ãÞ\ 4³h÷ü4\98PÅ_\87^ÙÑì4£\ 1~\80\0\0\ 1ã|\97þ²ÞíÏrÊT\96G\1f\148\96\13î\ 6&²ËȤ3Q\83\91wdÍ\92\ 2\97\89Àøøç\ 1\1a*\1e'\19\ 6\ 3M®gdY\9cä«ÐÃÓ\87èQOq8ÔOìÞ\ 3øYª\r)Öù\1c¦\97\91à\9cµagY¹ävö\92\0\0\0\0\ fèÀoÜå\16¿¢^®Ý*w§\ 1\ f\b\18uÃ+ÐÙÿ\83\87Èøþ\82@ò(\87|d\15\ fÎDù\1c\ 4{È£?wTM¨O¸ò`ú<pÐÈ\99³}#¼G\1d 2:æ\97ªéF\fZ\0\0\0\ 3éÿµû¾­ÃC¸ùÍß\81D\14ɧ\18æÍ«\16H:\16\1e\8f¦¥\99\99\1d;Aß\83M§áEsô+!Þñ\1dNRH\1c¿K&ñ9Tr\93åz\1fÖ@Ý\99Õû®¤w\93\ 1\0\0\0\0\b\9d9ª¯íë\91«\86Ê«\8bM¦Þhã(\8cúoÄËK\aCÑ{üÙÐ\9e<æ$i*wr±\ 6\fÚÈvefz\17z\89\94¬ù\8bßÖa¸6\19,\8cÁá\8eÌ\85Þçï\943­C¥w*%÷\ 1«\0\0\0\0\ f¥õ(òº\97bõÓ4(ª^\a©\ 4\K\ 5\9ae¥;ï¤pÏÃ\8f\9aCóé°ÙøRkÁ\9cjðñá?\13\vèeúi\81ßSá&ãÛ\9e^;\82-¨jå\8aj]\86Äz\8f$\0\0\0\0\18ýÍ=µÚ]&Ç¥õ\9b>\9fð§çz\vûz³®ìVÞY-'ûwb²êÀ\81\91ÄØÞY\13L\9féÅõ±òÆ0ÇfIÓÇ\17\96p÷Fsb2d6ò\9b\11´×^Xgí%¹²\99\85\8d7\91 \1a\10\85(I\ ft\80[\13ý+\9bz^\18¬AÖ_y^uÞdNF4Í\88Fz×\97Ó`K8mâòFÊD$\99\14\8f\v\8b\11\K«\ 3G+ûzíÖË¥Új=\7fUî=i?\15\ 6\15½\0\0\0\0\b\9dæ\81©z®\96£kÓ¤)ö\9d1\84\9d¼\8föVé-\8c\9d9A\16\ 6\9bþÉÖ\93\ 2e3%@ùQ/w³Óî¶ZbhTí´û®¯ÛÔí:Z~®.´·ÒcÑ3\83òâ¼¾9Ër¦34\1d\99\9f\80iD\82÷\1cöÕsòû¯<\0\0\0\0\aά!it\94{\1d-VæuFïd¦²\81\11iU¶CB~Ö®|\9a\ 4ÿm*¶æÝ!±\9f\8dþ\99\9f·¸®Ü"ÌEÇ·­\9f¶­\9f´ÉÛ£½SW¶GX\8d\82\ 23Èì\95Ó&µdý½nÞÒ²\81UnÞΫ!÷ÉÿbïQÐU\Hr\83\0Î\87\11\99\r÷\87\1eâÃ\ 4`© \1a¢Àý͵nâÚº\85Mm\ 2¤Ô
+SQYÖP\90ZVîm+¨É­eUAo\Ffâê¾\1f\ 4ÈØIÍ3ÑkVMîâDHK\8fñ8í>\86\86Ú<9\93\1f\8b
+\89\eÉ\ 2IÅSqØÛy\11F3Ñ\91\1f¦;3Y\89s\12Ãy´«¡\9eE\1eú=\87E7»Èx\0\0\0\0\7f_\90×U§ü\1aê]\85ÊzOý{lMn\9bù½­z\10ÏÜûJ«&\ 4ÜØÔWÒë÷\9bmEF×§¦Ùi¾\1fs\87Ð\0\0\0\0þIÁk\1dîÞûô=¬Ò\95æþ\aÏöx\82ú×{cQ³2,T{\1d(¬%\80\0\0\ 1ô{  #Óíõ-°oÖ*\1f\ 3W\0ñe.\94ÕYÔí\f\8b\17îwC!\0\0\0\0\ fÎô@ÃH¶òÓ\ 5eÈ@\0\ fÑE\96Çu­4\96\10·q@\0\0\0ñº|²8fq×\96cÏè\ fÑ
+\93Óo6ú\9a}§M'¼W¸\0\0\0\0|Í¥m6Åû×\vn\94\7f÷Ü\1aU\96Õ>÷Ü\ 3Ò6ûïp\rÖÛï~\1f»î^\143÷^àZþ\3ýßpί\94Õ¦¥ØTmz}¶¨{JÎ\0\0\0\aÍø¿î\87z67Î\9a\13:ê¿\v\ 2ÕÆ\15ßÀÇP\1f\e"\ e|\\89¡ÿ\9cw\95úpÌö\97~#Ðå\92¶k\950¾±\98\982¤Ô5\e^\9fsÿîî\ 1 \0\0\0\ 1ú\9eMwê\8bß\ 5í_
+\9d¸Âò½¾\15Ùì\95>aZý\85\1aר5¯Ê+½àLûñ\9b\0|p^uò\1aXV\ f\1a_"\8eë3­Î¹¯\95ø£yg¼BË\vÒ\8f×Ð\0\0\0>z+õï\9dµ'û+Ì)\8dÕAçozå:NÊ·Îöu~o³ªó]\9dg\9c/ûUæË¬\0\11Ç\9cìSÿË\7f\7f8{KÓ"ÊÙ}Ì©,UvõµSú\9an«¥\1f¯ \0\0\0|ÙÁÿO\7fp\9c¨¯äÚ~Äó\ 4[kE\86§\9fí©ÿÛÜS}_qKõ=Å/Ô\0\ax;\14ßk\ 5m\ 1§\82\19­·\95ïè}Lþ®\9b\1f°\0\0\0\0|äWÐ\92¿Ê¶Ý\94Ô]ÕNoé9\90\81\80\1c¡Úo\7fß\ 1m\19¨íËïld¢¿U¹Ö\ 4\0\0\0ñä¯Éæ\11&«Î\9fm{Iø=µ7\97\b\16\81àÉbý³ì$äüYk\978KU@$¯À\0\0\0ñè¯ïÏoym\1eî±¶ªµ§Õ±£ô¡\ 2p<!õ=e¯ªxÕ[¦WÌ/¬\95Æø\19ówgSWA8\11_\0\0\0\ 3Ƭ\1fɧo­³Ü¨¤\9csIöá\ 2@=ò+ôßUÚï9\87ì*Þ4V¶é>\ 2ªå×Eø\19òdYk¨§B+à\0\0\0\7fj+÷ ß\9eÞB+êÔlì(õ\ e(}\aqMå\82\ 4à{äX·_Y\8duÒ<k\80Éb\92ü"\98UXo\81\91¤\15\94B\8aþ\0\0\0\a\8e\8aûç\99\14íûÔûTôz§´\9ex B\aäN\11\1cÓÆwmW*/ÁuXÕ\84\8a­ÌðE|\0\0\0\ f\1eÊÿ=½ñh¯ñ|¿®SÒ¦£Ö<¤ô\ 1\ 2\10?"K\v¯ªóDZ¶j¹Uí¥J_\ eôÅ;|\0\0\0\ f*\9d¿}n\99+w
+á="j9Ð\8aø\1f\ 6Á¨©ó/XÙ5\ªF\1fò­¡Ö\vQ|\0\0\0\ f¡x?ßÜ'zí\9c\8a+ýÅ}\18E|\ f\85\v{*~eî\r\835¶Ò,?ÚÝΨI_\80\0\0\ 1ô;  C\16°~ñ´\8bvü"¾\aÂEs·¥ú\8eÊ£Ì>±d²Û#ä~%\b°gÀ\0\0\0ò(¯î\9a\b¯\81ñ\11bíjJ\8aù§\aŨ¾\0\0\0\aùÖ\ fÛHÈa×5ôA\15ð?î\8aú»j´¤¯Â+à\0\0\0y6¢þLàýÍ}\bE|\ fÊE}î\15\8bC­ñþ:\b\ 4\0\0\0ú=<\ 4.\14!X?®\13\83à|TWÏ`¡¡Öò>_S\84\0\0\0ò¨¯ò(cÈ"¿¬{IçB\ 4 ~M\83\87%~(¯à\0\0\0\7f¬àú¼\94Wë¨ç\8f¤óá\ 2\10>\12+ìrl\19úÊ\11s\8f\80\0\0\ 1äÓ·äÖ\ fëèç\1eR} @\84\ f\85NßÊE\7fr,\19ð\0\0\0<\9c>¿&Êÿ\b¯\81ù\88¯á`Z¥NܾSV\11_\0\0\0\ 3ÈE}  Áø÷Îø\9c\1f\ 3óä¯ïí«\13QëB+à\0\0\0xÒWïÏm"fúåAo\9dóéD\95ø\1f\97%~\95øz_\9c\84\82\0\0\0\ f"Ý¿zí­å¶E;~²\86t`Éð?:JýM]u\10Á\93à\0\0\0y\19\83ýë\8c\9bç~\92º\8exY_à~T\95û8ö¢úë¤âÁ\9f\0\0\0\ 3ʬ\1f\8bQ|\ fÏE}\91ÖÊãÓ·Â+à\0\0\0yY©\7f.Ô_\b¯\81ðÑ_cdÕ}Íí­T?\99\ eeú8ÉX\9a\88Q_À\0\0\0ònqõj\8bóÑé\1aÂ(¼\1fÀÿÄ\95úËkËMé\ 2\8bQ|\0\0\0\ f&JýãkËjÛò¢Å\$¯ÀüÔWÛ®.Dß_w\ fç!\85ø¬\1f\80\0\0\ 1åZ\8bå¿øôíõHS·Ï\15\83ð>\ 4àÿgP[\9c|´Wøök\0¢¿\80\0\0\ 1ãz\908®áG\ 6Ý¿Õ\8bQ|\ fÌ¿ò>\80X\ 4\0\0\0\18¢ü¶íÿÅÉÇý\86çê÷û\81\98U¿nI¡ßSå¾5`ýfOÐ\ 4@\8aø\0\0\0\1fG0\7füzÁû\8d\8f\97ªèÿáÜSÿ°!«òQ\\16Ø\83Áð\1eêÓqÿ¾ÆÆ\0\f\0\ 1\80\0\16I$\92Y$²Û$\92É$\0!   $\90\80\0\f\ 6\0\0\10\18\ 3\0l\18\0\0\02\f\84\0\0m¿y¶0cm¶ÛlloͶÛm¶Û$!\0 \ 3\0\18\16JHHP\aûßÿ¿{Þm\83\e\ 2BÓ´ë&\9aÕf·ºõ\9d»¬½\16í®]Ýo]o]\92î\9dKf³©Ê[ۥӬײåÙ-µËe\97w.]Ùd²îK%V«%\96K\96ùr[àÛàÉo\8brYd²Ùe\92Û\96ÕjºÚP\96-Ý{§Yý@\ fÛ®»ïKl\96j24'\9bõG\87\ 5~~FO\9cQ|\0\08Ó^~GóøWþÃ(É\81³U%ݺd\9dÙH\e\7fà ø\87&<¥Â\95\ f\88«ùÒ\füÑ_\80\0\a£#'à'ù\83ÿ\95\ 5\7f¿rcÆÚ©\98ë§=ݾW\13¢Å\92\a\ f÷>\ 1\84ÀQ\9a+u\rFg\92 ¯\80\0\0\83þ§G?¬\1f~U\8eáÊ\8b÷ëó-\9b§¨æ[+[lÿ]3\9c¤\909?N
+ä¦.\87s¯SÛ-\1cßx­\9bËäãóÚÁó\85\7f\80\0\aÖâ\8bè£Uùí»}õV;\87Àgõ¹6KEf¢Ñ\ªÀ7ؽ\9c/`\96v\98@êú\10W6yvFË\r:ÏX¨¸5û\ró/È\90gòPÛÞ×\81\1cIÔ¾\0\0\1cmàÿçO;ýÓ£\15úÁNEº\14ý_!"ªØ\94e°Û»¾|\15Îë1@nh¥­ú
+Ù]«Hek\139º'\9d¢¿5\83à\0\ 1Ç\95\17ë?C\98?Ãà¨Í\15ª\82;\95lêù\18¬ËFæA©'ÞXÙc¾iìrô\f\98¥Ô\rX\16\8espÿÐ|©\19?\ eo\aà\0\ 1ü\17\9a\8a'*/õòúy?\9f Ïû¼Í\ 3\ 1b§.»\82C­ä£ÕÜ7\11÷Ä ú$³e$Hñ5\82ÍÍ\14¶zÂw¤\98\90Ý¥},õGúÐWå!ç´Wç'\1f\0\0\ fß\82¿í%Eÿ\97\ 5~eÑ\8a\ eÿFayòµÛ°åc\­©JàR\87ëÍa_É\82¹²Ë2cmT»EewÎØ\e_;Ý@XRv yó\13\ f\80\0\ 1*/à\1d8\93\13\7fjâÇ\85³S,ì/mW®U\1eñ½o{\e\82JJú\93÷0\97ål\82?ÅÎZ\95±w-ô\eÏ\ÌÂ\16\9dª·Tл[R|å\7f2T_ÉÃ\9b\0\0\12¢þ!ÿÐ\98\9bó.¬R\98ª%¶¹P\9bþüj®\rµÝ\8c;ZR\8d©Cu\89<S\8awwü}ÁB\1f\ 5E\9c\82¹g¬T»+¿I¹\88gIÞ\8dÄ\91\93ó´È\84úæR\8bø\0\0q¨?\7f{²¿¾«ì¸\922\7f\8f3t¤îïmB­Õ0\96ï_¯\84½¥+\84J?±Iÿ\9báê¯~­\15Â*cxj£Üz\9a|çÌ÷{\a-Ü¿^\12|äü¸X<\1dàýíÈ\82¾\0\0\1c^\15ÿ½Ù_à\1c Uâ|Ù\19?³Ë²aìôÉÛÛQm½W)\ 3\92²÷\91\98\14¥°éFÛÒ{õF°»ßk\ 4ômÔ,C>÷åë]v­ ªÚ\92Ë\ fÌ\98\9bòpç\14_\0\0\ 2©wâ_Óà4Käúú)Eÿ\1dùÓ©\7fQ\91 Ýzº~öø\0ºÝS$ÕXÒ½´î¥q    Iµ£n÷z«¥\9b¡\10M}Ì+\8d¦j\81\ 5\7feß|±Z©¹àëÞÎ*è\96z¡úr2|Þ\ fÀ\0\ 3\8b.ßä"\1f¤b\1fØqFU6Wÿ:yßÄai\16úíB~úò{Õ\8f\98Îâºý¼\9e\19-\ e!)\16©\98\15:\1eA;ñ7\99½OgAÆZi\96Þ¢¡?|\v\ e*çÐw\91\9fýg\13\9a¢¿ýå\1f_\9bÁø\0\0\97~{\8eßú\12¢þ\15\8dnßÀ\ fE±æ6^f#5kÚF6¢\v\15-\aT\93ÕZdÖ\18ïõ\82\ e\8c\9dÏfÊáw©Ú+UN\aÉ8ÞÇ¢ÙÃ^Ò\83é8\9b6¬Ë£\16×6\8aQ\7f(dü\0\0=9Q~\89ú?ªÒÏQªú§õxß>\81\9föê\98ß/¬­\15¿\ 2\v\15²»Wo¼tz\17knÚG\b\96\87\12\94\95÷u\ f_I÷\976Yyº\89/Öe©O7ê{O]Rà_;\ 2·ò`m~·g\ f~Igaæñ\I\97V-³½Q\12È~w\8a/\9a\0\0%Eú ¯À"
+ÿèLMý³\9b\1e\8eÃ\89\ 4@3ºõü\93sOG©\7f¼£e\94Ч²ËÆÛÒ~æ}M\96_½tfxk«_lUKUn§Á¾\9bo  nõú\98\vÒQ6d³´¯Ï\97\82¾s\að\0\08\fü¿ëN\ fýÓ£\14F\ e\8bpêiü+î\1e-\15\9a\9e.ãÎǹÛ}\8cCd̶\1d\1a,é6Ähe\9fyd\9e)¿W\85\99;2w\8et}NV¢âÕË[ëÕ^\17ÅÖ\9aÝQºíÑ÷q-iEZ<ú\94ð ¯\80\0\0}  Q\7fâÀ<Y\82¢µWÙ¸P\fÔâ\91\98«\97>ûÙX5¹ûæêU8,²¸4¢íiBVR|å?óÌ1ÝÙ{×~BG²äûK¯)v¯ò_wñ-rªàÛ\ö+\1aÒ\87ë\92ÎR>|Î?ßë\aÎ(¾\0\0\ 4¨¿þü\15ýʶ-6B\84×`§xP\ f\14ä¼\97Ë73\95¿V´O\17MÄ¢pYe°èäì1·\ 4¡+I=U¿v
+Îz£ì³Ý\ 6{\aÏaZ9[\9fYÈp¯Âéa¢¹|ÇØv±­\88Ü\ 4~\84³\8d\99y«p%ÛùÅ\17À\0\ 3\8bÇoõzOòÒ\8bÿzá@pìi3ü\ 6ß\82^,<º¬\1fU¤{»l¡Û\17AkOo       Ie\81\1c\ 29æ¤\96r\93\9a-v4A\14ÏT6\8eÞ«¹UÑCdkØ»\9fCj®U|_\82\99ë5<\r¯\9dÑ<\R\8fº¤ýêþ\8d\f\9fÎLãù\ 2\86\0\0¯£ÿÖ£Uý³\9b\1c>
+\8aÕ׳{\88,JqÉÌ5Ã\9evÃõ\91®VÍt%ñt\16TAh½¥\16Ñ3\vÔ%\ 3ëÑÅ*\94\90t¨à\14Ì\7f³VúÉ<Ô÷\ f¼ÖÕ÷£ÑfºX6êÎBïÒ^,\¿\8dð\r³¨ªeZëzØ;ÂQ6tø¢#\1fëÁ_\91\87{'èø\0\0q¥Eüí\f\9fÅÁ:À|þ\ 3?ÂÛ¼tíô&ûm/Æ\80À§\0\8e¸õ\9c\8döÏÍcÚz8\\9d\9f]\bÔ»o Ðâ\11#AdZ\91Ì7"lÉAô©>r^\86É1=\ 5N\88\93ÍQ\12[ùga¶XÑ$á_uÂV[Z9Ë·aÊ´{}\15\84Ô\8déëù\b|»?y\15|\99\82è\92w£ÿ\92\8aÿÊ5_\0\0\ fJT_ÏqEÿÙ¥\17ýÓ£\14¶2\87\82²ST\95\1e¾9n¯r\18믰\83ÉXûlíÎ^     «f±³ÙÉa\17è·q     J`\12\8eº%\ fÖ£\89½¿sI=ò)=URxfD¼\eÎQÒw¢ûýÝåÚ\84\8c\95,í-\12\10Eæ¤\93תFñÕ\ 5Ñn¡z\9e÷?d\98\81·i\9f\1at\19VuXNªùfæm\15\9a\9fàg\ 3Oaʸ6õ\e\9fÑÛ²¼h+êX HA_\0\0\ f¯J/ú_ÛÖ\ fÏó Ç»ë+OXÍg¬T\7f\ 2\ 4"\9b$ÛU\93\98Äܹ÷\1c\r\1fa\86ËÛ{låËa ¾íc°SZÄÉl*6[\88ûªQ·\14¢\99Ò\88±%\rÖ¥\v[A\9féQ¬aðÌÿL»\ f[\8c-Ç¢lÉFÛ÷Q\97-\96~å¦{¹È*·?·Ù3xzöI«¦Á4sVô\9kRò3FÙ]«vm].\89Þ×¹Ycܽr\9f«ZΪTMÿq;P\vñOæð~\0\0\1cZQ\7fßp¯÷GïÚ¥\17õ$ñ:¶\9aE²¹Pò HNp´«m{\91»WùKí\9f\9amhçqw>\875\80ê\1f\b\8c½§DñtÕ@Þ\91 ðØAt]\ 5ë\f\8dc\ f¶72\98]t%ño Å¸4-ô×<\1d{³jéð\96ß\ÖÏÍÞ,\½Ë­ä­5º¯ÀËô\\84ÖÑë£Ü­~Ê
+ź|åRweÝ:\7f\8e¢oçeÛü\843Ñ ÏÀ\0\ 3Ñç;ûÚ\9c\7f}sÆý*Q\7fÙåÙ\15´Ò\1a«ìÞ\ f\1dïþ\98ÏY©]ì<µù\9f\9b`c®¾Ã)}¬­2W®\9eÿjç'?U²»Wó2>ÏX¨ÜúîK\etç¥\1c¬)C×ѲÝÿ¦\9bgä!Þå"_\89Q~\0\0\1cj\89¿\8f\88~\92\9eç;ÿN\8aÿ÷N\88 é\8cåê\8eÛc¦ñ ²ÿ\88ºuÜ\9eV÷ì#»N\8flûÐ}.\17ÀÃe\7f\91\9bïõ\86Ecá¬\1f\0\0\ e-\1f_ï©k\7f÷(Õ\7f\8fa\94d\8aÂQpÖoýAe¹õ¼\8a¦Î{PçÐmsuDmå¿çå\ 1+¨Õ\7fµ\9a¥\17õ,\10\9c)Ûü\0\08ÚÁùú\80_\7fú\1cç\7fàAk×å\19\1d\8c\15\92\9bs¯Sü\9d¼\ fõF\8aÝAª¿Qo¹r\12ÍõmÃÅOýr̶k\85\7fÅ?É,{\91Xö·Á\1f\fòqEð\0\0ãÒ\8búí\ 2ôÕ$\ fÀ«Å\7f¶¤Çý\96f\81#\89¢:4Ò1\fþ\ 4\9ecúc=b¢Õ׳dî\14¨;ý\eUÚQöî\94?÷SlúÇÉX·ÙX¤h¯å\8am\9f\0\0\ f³¬\1fÖj´\921/ó´¢ÿçÊ\8bÿ*K(lòì\9a<}   öúË\83²ÿ«Xuuêéù\8b\9d&;\ fD\97ÉPv®,\7fñ¦Ùù8\94\11°¹éDì#w4Wà\0\ 1õxWûU\89u$\ fÿò¹ßöÎlz\1cm\rÊê\8d\16¥î¾Ítê©ö\9fïAq³Ö*6úíA§­fÀXé¹;\85*\15\8d­ÉÐ\7få,©\91*/÷ó\13|Ñ_\80\0\a\16T_Ëéä\16}jvÿÝ:1Kö\94\19<U\11úüÊåu¤cmTÆ»\ 5:á]§ù°TíUª\83OYOóÓ;K})áª\8f\13\84¢èñô.ñÂ\81ÿZú?_*/Éç~\0\0\ 6Ý¿öëèÿn©\8fºÌP5Ù:\ e\9f!B\96ÆPà[\19\{\1aN9¢\96×a§xÒ\ eßÂ/uöl-\9a\9b\94¸Ò\9eotxÌ5\17¸Çе]\9d\ae\97dï\(\13.\9f½L\87ä\9f_\0\0\0_8?Ê\93\1fáPÃV«³¡ir\14(¬-\16#\ 6¸t»Ò\1cî´\99Áý­\95\87í\93ÅQ\16âZÎÒ\83·TOGÅ ¯\9d\ 1Ï\80\0\ 1Å\17ü\ e\85\97ñ¥;\7f\87Â\82¿?'×É\19>\0\0\1e¥o\ fÅÁ:¾«ÇêÕ\94íþ\1f\8d\ 5\7fG'\fJ\8bð\0\0û\92¢ÿ}17Ó§oò²×Ãú2¥ÿnñVàW\86ùÀgÀ\0\ 3\8d'×ä·Õá¿\8d\97\b\ 4!ðg\9dù¼\1f\80\0\ 1T»ü\ e`þl¯áðè\8a~\18\82¾\0\0\1e¥Rï\95\96¾\fE\1f_\80\0\0|\99Q\7f?17âà\1cß\8e\9a¯À\82¾\0\0\ 1øÐWü\1a+ÿTøæA_\ f\83,\87ôPFݾ\0\0\ 6ð\7f?*/à\9d`Uâ\8a¸\9f\ f\85¼\1fée¢$·\96S\e>9\1a\0\0âíÛóò¢üâ\8báùuô~¥\97\88\87MWà\0\ 1Åê\8bÿýò¢ü?ÑYkè¯\rù½\15ù²¿\80\0\a\1a~\8fÉ\eÁø|¾\9a¯ß\18h¯ã¡\9e \15\90\0\ 3Òê\8bý\87ö\bA_\ f\91J/ò¨\96Cäê_\0\0\ fKª/ùÎa\ 4A_\ f\91¬\1fS£'òp\7f\80\0\aØê\8bþ~~\8fÆ@9\7f²bo\87ímÛäý\1f\0\0\ fäê\8bþz\94\15ø|ª¥ß\89~$dø\0\0\15ô~A_\ 3\8eß\80\0\0\7fâ\94_ÃþÝ\1dï\95\13~\0\0\ 5(¿Ïp\19ó¤éðøÕK¿¼é_ü¨\9bð\0\0)Eý\15q?\8b ¯\87Ãæ\ fðó½\94M\1cÁü\0\0=N¨¿âà\1cÓ\82¾J\8bðü©Áÿ\1f\fôQõø\0\0\14¢ÿþ\1a5_c*âgþó\83üÞ\ fÀ\0\0í.ýu2\1fÿv\8dWÝ訣àX\8b\1a)µ¥i\19mE6·¼\9d\9cÇýå(é¿úɯ\90"íiB×RÏT&\7f¯Q]l{w\8a¹8?À\0\0\93ëþ\fê_\80WúTj¾Æ\96r\93´yèv\10wmT\ 5ë[\9f½û\18\8búu^~¾\8f\8eã-¨\82Êh¶¾ëä \95¿ g½lÆ~íª\81½k ï{5\8d\93\7f aÒ\8c·$÷Éy¿ Oó\aóªÅð\0\0ÿý}\1fÉ~§\ 1\9fÖe(°\18ng!wé\eZ9Ö\9b\a+}³s8»§Bë\86ë49Ë\96âS
\ 1$\85á(\ et\82\8fÁ¢:\1cµ\1a\ f\13Íäo=&
+Ùënö\1eZùfæq\17\1e}^\17ª\95ÍÜWU8ÒÒE©\1f |¾\81CXo\aó\9d'O­ñ\94\0\0\ 5}\1fÁ\7fg±Íý¶5\98:3]\85\9a~©)\19ë5+­\7f\94Ì6Vö\91kéD6Nü\93ÿ4W<ìõ\ 3«Èâh\97Û\ 5>×ÔU'麷±ëù<\8dë¦öQm«þ@lJ\ 3Öú\1c\9c~Q>\9d\b\8e\15þ\0\0\1ciQ\7fôh\19ÿi\9a fnt\9f\12\81rì¼Î\95í¥t\ 2\19FÓe\8eÞWÜb«µ#â8;Å\87\97Ñ<v3TÊFõWâW;úéd>\9fO¯(\91\93ú\a\92\8f¯À\0\ 3\8fK[óÝ\ 1ÏùÐW÷*ز÷:M«ÛÓ¶Ãe£\9bÙ¬l]\0\86"Èt-\1e¾\84)]ï4\7f\ 5þÓÎMTV´U£Ë©Év\10WÓµ¬6kµR#X>\0\0\1e\8c¨¿\9eÑ_ªÅê\9d:/6\0ôv\1e\89j÷U\0k\95¿V»èü\1aí\16\13ç(A_ub\95ÅÐí¾æ\9b«Yë5&ë·F»ä        \'\97S\93³Tµ¾\8eÒïßeb\9f\14µapÖ\ f\80\0\a\1e\94_ç¹8ûâ¯\99:\97õ¹:\rî¾Íï)ÚÒ\13'g]¡\81\8bh:\1f\92Ë2^ëôïyDf°y+,̶!\7fÈ\14\ f2JÿÈ'Ú¨´\8a)F      \16Ìò\1c\ 6|\0\0>Õ(¿§kõÓó       ¯?ùÜQ}êùGg÷´µ\11\80µzͪí\f\ e\vÔ­KÇö¶[W½©C6ËG9ÝD_×mÝ\19Úo\99·oÉ'ÔÌ̬R5\84]¬t\19\ 5|\0\0=*Q\7f\88\9dê\8bÿóx¢þá[\15÷°§\7f\84jò®×\15Ú,'ª¿§\ 5}¶ÇMñþ@µõ\15\ebía\13ÿ9ù\9dm\9f§m\19ò\94£\v$qEð\0\0+èýö!ÿæv_?Ûc¨~E1ï¸6×w*V\ f$\1fIöà®lrÌ\9eE\1f¬do=2èT\10µÏ*\94_ûìÚê5_S·\13i\b\aõg9ß\0\0\ f䯣ô÷\83ÿÍ\9c\1fð\r\8c¬þú\96\990vß\º©dt\1d\82¿\17\85¢ù\10Wîö\1e]t\15ø~»Êâ\8diÑ_ü\1e\99:d?Onâ~RØt\82p\7f\80\0\aïÜK5Â\95\17þfÊÿ¹VÄåu¤ûúPײú½¢\9cL·åôOÏû~¾ïy£ûú¦Û­T×ð.k\17\95UîKà¯Ä)S\8eÒ0Ï
+SlùS\8fà\0\0J\8bõÕ\13\7fÏù\9c&×)q¥~\14\ 1ê¦ÉN\16\11\rÕý¸+ùK\85+É¥·µÜ,!e\83äÁ_\9bæ\ féè±M\95ü\0\0        Q~²×Ýz\1fóA_Z#¤ì\94l¯ý)\ 5\7fð௣ZÀÇÃì¾}tàÿG'\19Fݸ\8aç\7f5\83à\0\0J\8bõonxÿ¥¢¿µõ\15eÜw#ãîßßR
+ü¶\19(.\83\89Û>ú\9cÁåM»~\ 5Ôäãà\0\0R\8bü\ fË\96Cÿ\87²¿Þl|Â9Ål¶\1fÓéÑ?ú[+ü£j+|'åUyüå\ 3?Çh\1eNàÿÀ\0\ 3\8dC'ÿ¥#'àïôo"§\ 5±\17\1e}\1c\97\92>ëéð¯Ï'x?½Y=Z ¯Çݸu¼\9f¾\9dKñ/ÒÑ\90'w\87à\0\0SlÿÍ\91\93ý»u\ eÝï¸Wû\8e\a©ÜÊa\92Ïôþ\9c\15ÿ'\85\7fåoÕ¤A_\84¬ñ'èü\82ý\15ú\9aÁ÷§\12
\0\0\12¢ÿÍÑ_î\15±0êf\97ï+è3©«hÞ.\131·#¥\80çV,\1d\97ðxíü\8a»zQí<>N9Áè3ü\9c\1fà\0\ 1éR\8bþÿ\80Ïù¼ç}öüËãó\aü-³\9cÚÆà\12\80õ\84\83<ub\84m£xüÁýµ£\9dî\965§'ظrWý\8fq\9eªëtPh\92¿ûÎ\85\97ÉÁþ\0\0\1e§iwþo\14_]×%vU\92ý`§{É\ 6~³0Î\8e¤\18\ e\9d\v\93©Ò\1cÅ\ 3ÇÒ\ 1Ãå\99æaºÿ3 <\9dÆz©¬í gç\aûÚ¬\86o&\½ \0\0\1cZú?Sc\18\118¸'_:\99\ få1TN\ fL*Ü\ 31~évÐUã«ôɲ[\19CðºOÑ\9d\92¿í÷~\87¿\82êüÎ\98¦½¥`ÿ\9d\80\0\a£Õ\17ú)Eý\7ffÓÈç;ïÎoª¾t»\7ft¼Rí\7fË\93Ä6zÅJÿfõ[7nm\13\82­»\97\97P\r\8c¾â\15\1dþËW×+çx\9f p«\aü\9c\1fà\0\ 1öxíú)EýK\7f®\11oöäKôd\e·\9f.ßûç&EWjG\89²\1aØéÚ\8c\93)¢¹ðkVw9y£ø}\15\1e_ìTí&B\8dóz\1fàö\93\83ü\9aóà\0\ 1Çèï}9\14w"±ñM`ÿèÍyýÓ£\14v\1e\8a\0\ 5®{C\ fh¬Ônýk2¶\9aFÙÌ\99Æ\1e\17È\1d»u\v\ 3d¦ÏÖ`Êß\90\1azÆlÕÒ\93ß\7fb¹ô\ e¹'À\0\0&»/\9f~\91\89_\88\9cÞ§þÜàÿ\98ʲB`(Ù;\85+\10ÏLÃYé«L\85²\96ó{£èñô-Ó¡\ 5\aÛôA­@\88ÁÑr×*V\1d\7fÈ\rÍ\14·{Í\1f·n¡n\15±ÿk¡ûùÞ½×Í\95ü\0\0=\18+ë©Eþ%ùNI\8fôjqÿjâ\8aùúÙe\90m3T\ 2
+Ͻ®o\8eùÉ\8fd¿ä\ eï3@ô ¬\9a\0\0\rí\O\94Û>\1f'´»ö\13\83ýK\91\7f£´\ f/j\8e\0\0\1c]\15üzÉþ\8c\9fñÚµd\15ðøÓ\83ýt\9feXøúA_\0\0\ e4\95ÿßuk~h¯ÃâA_\90\86z\9c¹0)N`þZ\b¾\0\0\1fSE\7f\12þ\9d`ÿï¹\83þ\9dÈ\82¾\1f\ ekÏÄ)8?\11¸\9e­ÿ\9c\8b\v\0\ 3ëÌMôê\97}dýRïãµ*\88+áøôÛ?ÚÆÀID=¢p\7f£XPo\aà\0\ 1õ ¯Éïê\97\ 5ðü¹Áÿ-\16û(\89dDA_\0\0\ 2\94_Íàü>$àÿNÂËõ ¯ÆÂç¤\93¢*"T_\80\0\ 1ÝKù\ 5|>,Äß]Ì\1f×ÜõÚLMð\0\0ãÐÉü¾\9eLá_áæJ\8bùTî [Rê\ 6\1d\fl\11¬\1f\0\0\ e\1f4Wáó,,¿Rê\9cB©wÀ\0\ 3\8f?Gõz^\an'úµEs¿\87ư²þQ=`ä´d #'À\0\ 3ìÈÉý?\ 2
+ü¹Ñ\93ø|;\v/ØK·ò·\87À\0\0²týu\8e÷å\8dËáñú\fÿ\90\87{F°|\97\0\ 1ü6N\9f£\88ÿ,|\89N\8aÿÈ+áù0WË'OÀ\0\ 3ø;Ø_\87}\92Xºx¯H¬|\8dÏæÈ+áù\1dÙo°\9c\1fêp°S Ïð\0\0ãu3>ÿ!µ7ôH\87ôûë\1f6Wðø<+üî\80|\0\0\r`ú}Co©F_ÊoçÑ)÷èþo\aáñ¸¢ù8?À\0\ 3øú\ 3\9f\8e\1e\9c»\7fNìn7\98èGsX>\1f\12°\7fä÷³\83ýýÓ A_\0\0\ f±Nßó\9cvþIcâÇâÀsð'\aø\0\0\aäk\aã¡\9eç*³\862\b²å|\ e¨¿À\0\0?«Ð²ù¢¿\ f\9dÕ\17ù[Ãà\0\ 1èôR?»«ùãE~\1fÔê@üî\80|\0\0>äý\1fD\15ùù\9c~A_\ fÄ\9ewùÚ¶ûªÅóe\7f\0\0\ e=\Oé÷½0¯£\93\8f\90WÃñx\fùÖ\8eø\0\0\ 4\9c\\16¿W¦\90\87{EàÕ0ïRÑ\90)Ð~û\91²¿\87Å\98\9bçN\83à\0\ 1êw\8b?¥R¤.×^\1dI\10û\14þ\88\87N\90\80B\aT_à\0\0\1f
+Y\ f§R\17\bìií9'O\19\ 2\88+ú5uíº¶B¼\12Còz2\7f6íð\0\0ãs\9dõ(dòV.\ 1\9f¤`;8\15x¸g;ÞéÔ°× ?¡G×õTo\aò\9b»'OÖÿÍ&\8aü\0\0\v/©ýz©¬%Emàçó\10.\88¹OÿféÉ\90  \ 3ùü+ýïÕËè¡{høIÈ+ä»\7f\0\0\ fFA\9f¢
\84\9c\961RIÄ<»"åïyev=Ó©J\1caäØ]W\ 1Ój;XYXØ\19É>¿$k\aÀ\0\ 3íQ_üõ­oñ¯\99\17õXÈ%XmS§C2êl°Aø0Wè\eH{~\96zÁ  ÂFO\80\0\ 1j/ú\9a\ 6x,Ä"z,-\ 2¶Í\93§)2t\18Ò\1f\7fGéùÊV¾?$§\ 3ñ$dø\0\0\1d\ 6\7fÏA_\95\8a{\92\80o\83uEÏdpê¯\9b'NT\80`\1f}Þ1~Ñ÷§ÒIAo¯¹ª\89~$dø\0\0qf&þ¯N\8bkGâ_£áÞæºÑèN\8f²ã\9e±p.\98å.\82Ê\92Wj\98tåû§6néÊ\9bµt¦wδÎùÙ\9b¾u§#Áâ\8eÔö\1e=³­*sÍÂ;üÛ2~Ê·ÇMïókq*nó\0§/ý¾'¥wntÕ¹s´UMþg»»x\99¯ßºÒüo}÷\1e\957\9dó\9f\1dO|οãß\eä\953ùO\1fx­wØ=ûµ7¿u÷?\bM{FïçiܳںÓöNÜÆ\85ÒÉ%\ f\9b\9fµ­åJp\ 6|rÆ:ö\85÷4à\0\ 1õ`¯ì5º\9d\14\9cR,\9dB\89\80a\ 5}uì_\1a\fäköN\ 5Û ÂèÀø¥m1ªîkHåw\bÕw$xÕ\QàUpSóÎ\91Êî+p\95¿æ1]Ñ<I\1f\92A]»\7f\86\\94Ã'?$Þ\13q\8ds¶ÎâQêíëqXÅ}\8aß\SÇ?êk\7fj~¬»õF*¹Å*¹ð2«Á÷\7fj*·psÕL\ 2-Îãáz
\98S,ãÓø\8b\81îñj·¸gße<ߦ­ø¡\7fÀ÷(ÅW\16\1eï»ÀÕ}ßÂ\11j¾ë ÖÿÄ0.¸Ý\ 3Û\84\8c\ 2Ý,\ 5;gßTÞÖ\7fï \0\ 1ÿßçýd\ 3¶Ça/¤íd$b`$f௰\97qÒk\1eb`\1d!³Ý¤\ 3¦>~ê\9b\87Ôî\95\93RékÆ\17TÐN]SR¥ÒË*]T»áÝ.\8c·Ð`\15b¸7P>>¹ÏãȺ\7f!;¦\0\11t°¼ç»©t³º\97TÍ/º«o\1f;u\a,øøæ»ö§­\18ö×K\9d/Èþ\ e\18¦\0§íO!±\ f\8e\rÕ_\8bpÇ·\1c\ÿÂ\ fëóSw\86#\ fÅ{»ª­\17Ý/\v\8eà|\9e·=XdÛê2Ï}tÄkÓ\86)~Jâ8WQ\10B<ec3îû»H\1c'­Þ\ 3~TÜ[Z>\0\0\1fþ\9f£ùç\16é\8d~¯[«ÒøvßñJ'¬1\8d\85Ï-#¡3±È¿À\95æwÀ\82\17;5ã]ø^#Ñ\7f\99\97ø-ÏàѰ¯
+\7f\98Äð=÷ ï\ 5¾Ý\1f\v\9d\8f\85ÍÇÂç$4\f?&z\7f#\14ñ°Ë\ 6\1fæ2\15å?ȦI<Fçó\9e\aµûl\89ûò\16kàE3ãùXbÜ\ 1áL>7ï}¡O\9c\14öV\1e\eÞ½éÂ\82§;ÓUûë\9br\97\80\0\0~÷H§ù|sV£K¡Øì%ôr±~\1d½\93K\7f±\99/\ eù!\15÷ó5ï\7fÊë~\a×~\19F\17Ä ÎK)©½´
+Ns\0ßß\12Ý"»­¿7ï\81nO$×I§³\9eÑ9\94\9e×;÷ÙIâÿ\9dçm*\12\9e\ f¥Nd\ 4\97\aÝü\ fYö¹åÂÃ<,Ñð°ÏæÛÊÐöï\95Â7à\vú!À\0\ 3êA_Ç5Ú%c¡f\11{aî\93C\1d á\7fs¥ôÿaø¤\\vª¶öÂã\9c°\0\0ú×Á-d\1aõº\9d$Æ·S­Õé\91q%²{,Gý?½i\ 5\8fÑûË]q¿÷\ 3\1diÛ~Å¿>ÒK\1f s\99\10 \0\0û\14\90DÜ×i\89\82Íì5\9a\84]<»¦íe£ô\vú)+ýØ\11[½¾÷ê_\84âü\8eß\1cÿc<£á\9e\9dòØsÿw\0\0\ fµsE\14¤l&Ç]ª\98×êµ²úm\1c¬\¤WüôXH\82¿õïñu[\9dè\9fÞß©\ 5~R)ÿ¸\96\8b\88\81vìË\9a'\0\0\ 3ønÙX\8d\86zÖjt\9b\1d\84¾Ç_«\98×êõ]Ïo¨ÒKN\1a\9d7k»ü=Ĭ×çSÆÃüÎy·\98bãK¡Ýá3\98ß¶Æ7¹\f\8cn[S§Ñ#ÔÖãÊzÊì1\18N¥oáF+Û.À\13\11æÒhS\17æºxÚïG\9dÍu?<îD©è\88ÿ=ªì\95\9dËÅ2Vwã\1e\ ewÎþy¿\1cÖw©\97:~Û{\9cÉåRy£9øWg\ 4×çÒö³_;#Ƽ]ôv\85wÅÓþ\8eÃã\19ÌàSäÍÿü\1f5\9a*|-¥Ðê»\9d\1c¾£¸\93\89\7fȶ\9b\0\0\7f\17\\95\96\97¥Y     (¨\1d_sÛÌkµH¼¶iK\9eÆ\93¼Ò5\ 6Â_b\9dóÇ\v¼\bñ§t\14\8e»T¥ï\v\v°=~­\18ôĺ\9e\82¦\195ãO\ 3]êzíVÎa~1¯Õ®º_\ 6cX·\1eS\f\8eJcÌ    Ì\86_ãSÒ·x\1aÿ4Æ·R\8f\ 2y\9c¦\1e\8c\9b_æ[ã\98S    Oü®óMá\9b\16\19\13­ÔÌ0ö-ç»Ì/Ææ³¥;\9c;¦½*\7f;ÓÁ\94¼\95^s2's¿g0»å$ï\9fâ]ñ*ï\91\93÷y¯\97\98d4Þw®Ë52Ù?4×Ã\8ag\ 4çä\9bø5OJ]öÊwÐ0-ÆÔöµ>¬]{\86\1aÿø3f§üH¿-§\7fã\rn§I%\13\0úé\91.9¼\0\0\ fSxKÄÞì¸Ëí\9b%\83·¸7^Ü2\r\8e-÷õ¦k²¿-ÿ.Mí\8a\ e\rí\8e9\14~u¾\a,\8dýh·Í\95ÅÝÜSð#öîðËú\98b\9f\91VE±R0\ 5Þ² æ\9e1\99Ç5fq÷×\1c\8e\ 2w\faíÌ0Å¿«4Ý{rOóÍ{vFþ·\fËã/.ÙL#\82\82y\0â\9e\1e»\e\9cÌ&ù¬\95qS       Oò8/ý¾\ 6w¦9·µ®Ì)¼\80\9cö\851'\ eÊü\8cÅ÷YÞ·Ö\2\r|\fï\9dÃ\18g{®S   \95ÅÞ'2yÉ\86IMþE2\19Ãyñ¢\983\82ü%\86zÍe\9aü1Í?\ 2>vSî\\82ܧ[\84£ïÕHûöð§ß¬>(_ðj2\9dn<·/28+yr®ø\0\0\ 6þ\vv.÷¾þÄñ3ß\93éá\9fðÌ.\ e\19\8fk´ð7\vo×ùÛÅúP\0\0\ 3\8d¼+ã7ÿÝ2\9fÞ·\a\ fñpÌZ\7fÛo\9f\86|\ÂÆ||3Ýçzß´ñ®Bkàä6'Ýe\9f»Ã8P{À\0\0\ 3ï`N~&\82ãÝá\98¯ÂÐ\89pý£ÎÎÿ\83\ 2Ó\13î²\e\12h¢@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 5\1c §>\1e÷ªr>ÿO»÷\ 2àqphhu-À¸\17\ 2\85¸=\81p©pm¥.\ 5À¡¸\96I&öìÝî\9b»»ÛÛ»»\15\92,\92I$\92>UUUUbÅbªªªªªú*ªªªª±UUò¯\95òù÷¼ûÏ\9f\9f«ý'þÏtöë9*w\ 6\87\a\ 5;Nàà¡C\83©ÁC\83\83¾\ 2®\ab_\82\8a\14¸×\16àPàâÛØW\16Ü«J\1c~SÀûµ\92k-´\f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1ÿ§\13\89±ú_DzÃÙô?\83£\ 3cû;\95ß·üÍ\7f\97ÎýïYÏ\9f·è9óüéû¯Öwû\9cɯâ]Ê\96þ\7fÓ\8f½çþ¿\13Îâ|Ë\ f\9bü?ºçÏý_ßþO\9cçÏânÿ|ä\7fi\1fØÿÿ\13\89èyÜN'ÿ¸\9f7{Çâ'\9fú\9f3\89¼øÿ\8aq\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ fº.\81ãÑË®ÆÀ¶ÎȺ_M)Ú÷Vò¢9ß>þÞ¶¦r;âû\8c]³¨a\95\88ûÁ\86\81äWÑJãá\îý ·XÒJv½ÇÞm\95Dݵu\f4\17'~=\97\87\80H*/¡êðI¼kûZy¸§Þ\f\7fW×¼³©ÍÇÀž´\9f\93ëÂó8ÛðTG;Ò½´ª¹_I¿ö\ e·\81q]\87t¾*\13\94\92\990ÇÂBoðÅOå°\fü¬Lkûd\8d\17@q\96 {
+Nâß²©1%\82Klì\8c\eÛZ´\92\1aQE\14·iTÛ\8b}kE-Ûù~½z\0\0\0\ 3ü\b\8ewϼ³¨ðø|.vÜm5ÙvéÓ}¦\94\12½\85\89\83ôôØeZÖϾĦã!6Û¶LIo\ 6O³îgåb=zõ 6í\9a<xïqÎÝ\f¯ek\a8wkò0î¡ù¾o°y\19Èþ\92AQÝ?[\82OlìjÙTÍ­ûNÈõ\1a3ÖxíÚD®vÛ¤­½´ª[í#Eh)t\ f\1eöÒ­\93\16\12=\7f\e\13Ïô\9d»u\83q_\19Ñú\rvuÒV¶hÍcg_Uüz©ü\982yJ\157kèå\95eM\86V%õ­ZEÊÃãz\¼\8c+§¯\1e%&7m»I\8e\9d9­ \93ZP¥6à[×%\14%5´ØÖÚL\rÛ¬\v\8aâË\10\0\0\aç(»\90©\9f¯K;"¶\86N\8e]u¥dòg÷c¡\99\eÒú<\16Wá y\17\96u/^½ZÊúè\ e>\15Í\8bׯ1/,ª§c©{°÷\16\14mvY2c¡+\vïþ;+ñp\9e£\f¼]·\eVÕÔ \12ÕÏH'ìñÛº>ä.ü\14\9ekf\8c示Ûñ]Tìz¬¯¤È¢\96í¬PJöx,¯á]¯ïGtTSLÄèfx\191a'Ùúoì¯ÂÀq­k'\92\81ò±/+($©&!¬ê§6\19iµfÊn7{î,O\99ÅIl\92ÿ;'\ e\9ej*vC¦\98\1f\83\ 2ÝÖã\99¨³î\aP\0\0\ 3ýÌKË&ív{±<Õj±¡ y\153\91Ï\1e<£î.ಿ\1fÕö\1a3e´×ek+ýØ®r~Ø×Ö«jøáà¹4\93\10Ï^<¶® üvWéf!Üm6³©ï-¢\ eîÅsYjheb^EBr\9fÁS\11\10MÛ4_O2ú\rLom¾ÔÌ_=VW÷õ\9eü\16WßOä¢Yé.³f\9b\14\92ë\9fÙ_\95íûÚú\9a9\9e\f   \1f\1fÛw
+xóò}t\90Ø\97\9dýÚ\16æú8×Ö\9aºyé\84­\bJvýÝM\1cÛ\9b\1aCÔP\0\0\aû\rvuðnl\1fý \98i°Ê¿¶­ß°Á\vÌâÚUÎ9ÛqqaF«+ë 8×KéYjhIùvW\ 4ÿp®×³dÆ*\ f\95øl¯ÃÁrpîûú\19\9e\b¯/ÚF-\85$»vÍ&" _ÁK 8úºyú\19¾\ 4ñ\14OIu\98eâégd&\ 1÷¬¯ªD´g­cK0þÊúH\9d¦¬Õ"_\16µ\93îÝ:JUHÓ[O>Ö²y÷\9b\v\ 1ÆÅ½³ÇÁ·àÙ§\0\0\0\ 3üÅl\89¿RÁÿ7Ñž´Ëƾ߰Á\1fÔõØèeäa\ÕÏȪÊüT\1f+?'\ f\ eí{í¹\9dE\1cºæ\8cÙ+î\98»ûl¯Åô=V,2îWÒ¿À%{~óׯh÷´I¯à¬\e\9b\ f\ fÇý\87\86\81ä}û+ñ\1cßE&½\8d7Åe\7f\1f
+ç?+\11öÝÖ¢f+\9eãi­\f·i(®öÒªvC¨þ\9bR\93ü\18\16ðÐGÛx¸\0\0\aæ<>\1f\r<Ü_\97xNä_ÛVçïo\ 3Ïì0TMÅ·ÚiO5\14\82¬¯Æô¹m65«h$üßn\v˾\ 6Z\9a\15S±ß\86ÊüwOÖÚk³Qå\95J\95¶4Ó\12ðð\eðULäjJKË:\8a\89ÈÔ0îûéû*Ògß²¿7\1dÐI\13M5\14þÊþÆ®\9f\ 6¯\9aC«ì1ÐËI\8b\vÌâÅÂz\8fôTô\12\9d\86Í6.ûôý³í\ 1\18\0\0\ 3þ,¯ÓMD¿à5×Öµl>;+éã±a\96\9f´?7ÑLIVWä:ÞË·n§dz\9bðÌoGèªÂº¬¯§çW? «\1dHRÌÄ+e¯V¯R¾\8eYo)\ eç\8fît\11k+é\14<xí0ϯ2ßÙ_îC@6hÎÛÇhrþÞµ<ÙNß»÷l¯¤¼V±\85'2Jvzú\99ù8qýOaý\95÷n·*ç¤8 L¼kä\8f|\9bÆ7¦\93\82£½\19\97\8dzñÛ·.\eªÐø\0\0\0~\8b+óq½\ 5µ\89\8bY_\91ë{IøMÆÂoØ\1e\8a\84õ7q½í\91»\ eí{ý];\8d¦³\11\10KY_\7fýk[<þÊÿ\8a(\8c\84ùl¯Æô¹z\19\98Ù\18W1\1cï\9f\vÌâéçä·k²®\ 2\13÷,¯¿\93{\1aÚs~?¼27ÖWü/^Óüz5åp\19<\9cK¼+¥êĦ£ ð.+\99²bõãÄ\83uõt¬i»§¨p\0\0\ 2Êüü<\17'
+æÃ_WI[·ßÚÑ_æ-¢¿ÐÌÆ\9f\93ë-·6ÍFB+í\92ÕVWèæ\17-å!#Öö¼Ú+÷nçdz\7f-\95õÐ\1cl\e\8aýM\1cÔ\83cº|¶»:ùX·\9e/·¥\7f·e\7f#\ eéZ5ZÚ       ,¬[Öí\9a-£^ûZ+ûõn\ 5ñýO_O?)ë×®·\1cæãàVOȤ\15\ emÛ \0\0\ 5\95ûZÙù¨È=¦Û6õÔ*Û±Ö²¿\1dÓå´gõ¶Wö:
\87øvWöÍ\19ÕÏGü¶W÷x\ e\97v\1f\89¸ØIù>¾Û\8d«
+Y\7fê²¾ûnß\8a\83å0ËÅÀ·®ß²¿±­Ã²¿û;¶\99ê&÷·\86>æÛvÖõôJÞU\80\0\0\0²¿ðÙ_»²¨tëq\MQõ\95ýÝàÿ+\13\83x?¤\98\86Ýâk_\8bx?\84õ4·¾çá¾/¸7èORÆ\96^K±íðAQý_aë×µ\94\12I\81í6Ù\9e\92êþ\v+ð°\1ck¾ý;\f¼UnýϬ¯äpï\añpn\e¶¡\95í+\ebÃ/ê}Å\94s8³Q\90sq½\rú@\0\0\0\ fú²¿\83s`Í\93\1c¬[Õ·n5¬¯®\80ãÝwé\991ÐZËÓî)s³¯©ø¸Wü4\17!$3\16\19QÝ>[ì\ 2\86Wµ¹¶ã½\1dÑà\82¡y\9cT\978\97¶x\16õ̵4Uf\eû7\83þg\16Þ¾\87K?%ZÍÇÖWìif88Wýµu\ 3Çnã:\1eªè\ e\95>\86f3îN\1a\94&\94Q\7fmZY_\0\0\0ÿë+î\e¶nÙ¤ü§]lUk+ûÚ\19þ~Óm\9c_/\1d¿¥\98\87zñåÅ}\17ãã·ô2½\94\91764\8b\1dog7\1f\ 5[+\ f\f\15}kXݶΦ\8efN%ÚÖ0þõ\95ø\9e\7f¥\91\85u\9d\91\84«$\7f[\8eßñUI4\12\9d\87\eMqolÕ\0×QJkêéwb¹ÞKKÝ6»:êÖ\1e\80\0\0\aþY_L\ f?'\rö«Uõ\95õÐ\1c|\e\9b\a¯\1ebÞÙÕÏHxù\83þ»þ`ÿ¥\9d\90\9eSî_Þ®&Ò­»~¦r5÷\95C-ÚW\ 1½}e~'\9féfc_ºÜst¾\9a\9aj)1,\8c+\97\8eÝ&\0«\1c<\16\ 6vëqã·vu=ï\87î¤ßíÙ_[\98?ÏHõlê§\1c¸oqaE¿²¿®\80ãZUÏ%\ 3åbÞÖÐÉ«\98?³dÅ¢ÜÁÿwf\93÷Ú³e\9d\91\82\94\15;#Ôª\9d\8fÑÎÇI£,»à=E\0\0\0~\8b\94\12\92¾²¿½ÐgÿO;#       ë×®\7[ Ïçäû\vqÌÌ;µîÝnm5fû «ôsqÖ²)´Ûe÷\94×g^f/\9f¿Ðgó1\æLt\1e<xãi®Û\8d¤\8cs²p\96³ñÁe} vÛ:é\11NGt¿®ÊúÝ\ 6\9b'[\8eRb÷!¾\rû+êàB8ø7\ f^<Üsãè3ýÇ5sò+s\13\ 4¡\rÝasÍÞ\83ÿhÏY!\94ÀnWÒ\9aÁÀ\0\0\ fÎ0ÊÄ\7fÉlW@q¬);\97\96u\v\ 6>\rÃþ\95\9fLIÿJÿ®\81ãÖÑJ&\13\9b\8f\83r¿ÍÒ¿ïúU±\ 5jÍUÒ¶\8fÌü\9c5p\10\95ÿ\8b\84õ-«h2ñ¯²0®jg#RPü\9d,\95\13Ïôð.+²pîã<\9e<L\1f¦\92ª~O¯ö:6ñ÷Jÿ¡\89{g/\11\ 4û¥Áþ.\95ÿ\80ãÓMEbßZgda_[Voô¯ú`       \eã_Ûgd`á]/\9d\91ê\1f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1æÛõiæâí*çjç¤#ú¾Çå\9c\10¼Î,L\1f(ë90\0\0\0þò\1a\v\93o_Dá»o\v×®vÛåâÞþ_¿Å9\98®vvN\16\92ÛÏÀ\0\0\0\a÷\12˾\a[\8enì©å;~õdü\93Fl®,hÿ×CÕ5\17\a\9b\91\82ãi®÷377\9bÀ\0\0\0ü\85Tìs]\9dy\ e·²®\aSyeQ¦Ã+\87¶O\7fËGG\ 3ÈÞí\13j\9c\9c\9ey÷ç®\0\0\0\1f\90\97\87\80£\97\85[ªY(%{\e\8e\~m\96\16zKªÍ\93\15u\vx\0\aú\12=ojb"\a\7f \19\95µ;Éö~\9aÝK\97\r\ 3È\96\85÷æãº\131\çÝ\13\9f\ fÍô{±<Ù¸Þ\84¬/¼º\a\91\13\aé§æ®Ë´O)1.ôwG»\15Í}Ésø`§ý)^ÿ©Ç\92GÊv½Ô\87&bùêíjÿ4¤\82ä¦*µðTü\13ö[4ôoK\975\17\a5\19\ 6·Jh,Iv>\94Ôd#î&<®&x\93i%ü¯oÞáë\99\ f\86\7f\7f\9fÉù¤V\91\8aRÚS\ eüb·\14\b\92ìûsq°\88nÀ?\1e§ëv\90×|                ÷£\92\98}õ¹\7fbR\eî\95¢ïGô¥â xi3ìJGÜu}Z\12Ýê[ãJv½Îöílûê¤\9e\1d\ 2÷\f¤W\1e\10øe"RL/½òv!Òy©éÉ ©.Ƕª¯[c\96Hö^\1e\ 5 MÞ\95¥òó\13Äý\92\1fZ\«\98\86+\8f\99\13\12I6\90Ëî\95Þá­ø\8e\7f¤\98JE    J\\13É=:¤>\95d®©7T\9b\98\88\82LI(Åt\ f#êâ\dõç)Û÷Rj&11\13\ 4\9e\8a¼\98\a\163£ô\12v$ø\93H\aÉî="´ ¤ñÒa'¤\8f\ f\87®O|´à\7fì¥=\ 1îúóøä\eÿa~(g¯ô¦ã!\13Ø\8bû6iIûÔÕÐî.ø\1fHÄ£\14\8d\12\92\85òä4\8eêzÛþ\88x*Ë\7fÓª°\97¯^ÒÌCü9\0|µú\0\ 1þ%­lþ\9b\f¯.^¯7%\99LþõsÒ\eÜ\94\86í¯m*\95Ë\95Ó)\9d\8d.ïf\19<vïY\8b
+¹ù\v
+Itüî,(Ó2\82yZú\9a/^<o´Ó\ 2â¹Z\8d~\18)øÿ\92ù¦\Ê\19^Ö®\8ek·n\9c¸o\89{f®\82"})\16êuy\98Ï\17o_§à\9f²¬m¦m¬kûW;n7\1cí°ÊÅLÜ\ f¢ì;¾þÛ\8d©É\ e\9bë<     ,Òm$¿ÕÓϬ \92ßã{)\9e²Â\93¹â\9fÚyõ3\91ÕôrÊ\9fËr_>\ eº5Z%¬\9f\91ÒÏÈvëq\rm6   \12¾³Æ\94ckY=¯«¤ñÛ¤¢ä§ôªõfÂJ4\7fÔù*î\ 4\8fTyöe&ÿ9ÁWk}1ÐËI\9cËSA]\8a\84µ,?ìî\1e\19H®b¢·òg@dÅ\82únì4\ f#ú-6ò+¨¥RA¥rèæãÙT÷\92j+mÑ\86\82äÞYÔ5fÉ M\86Lm*ç_Tr¹>µí¥OÃǨêfÒ\a\8a\8eôc6Z\89&Úlj×QJ+=\97\ro§¦\94¡\94ÆÒ(HöîÊ£\7f?\12MÜ|\et«+*®ò¬i]wé\9b4fñãÆ:\19\89\17oõÝöïb\9cáÝebÞá\Ø«\94N]ÙS­\f§¬ÌKË$õ8\93á)Î\8e^\17Å7wº4¿G7À\9e:L$\9e©9\95Τ\16\9c\ fý\94ðóº\17ÞÂÕ[éF\8c2ñ]nn'±\1c¼kå®R$ª_OÝhÍ\92Q\8eƶ\9d$Ä2¬±Gõ}{ûjÔöL\92ÿK;!÷<aVD\9dÞ¡\99Þìm¥­\95pU\97\a)\ e\99\8açïuìõO\93\99UG-_ \0\1fóe}2Îlëêìjé]/¥ð`[;té2\96«k\7fhÏ[C3\1aÂ\96]2½³×ÔL©É\9cfb"  2×'篩£o_E\8d\7fjëqÍm\f\9f×\82¾K+ò}¯q3\82&_4Ë\ 2\99¢w\1c¸Á¸°û\96WÒ+ÜÛq\85t¾þÞ¹¾Ó\¼k××Ðv5\98¦qÅvd2\84\92¯\1dºÉÄ»I~\93\15¦Æ·v'\9bñm\8fоúxé\9bùSù3F&o$Î?7\eÐû6Wæb÷{3-3b¥Ahfø\12jm·l®ÃªZÁ&ææÚJÜ\9c+¬[ÛD\9fÉ\9c\8aV\17\99ÆU\95ôÎ-\83ub\86\1dÚô\94\89\9c­}<Ëý$oÙ\94\9f\88~\82ITª\9b\95ô©[úÌXpÙ_úò\91VWÓÒ\12¥&-õ¢Nô\1fg\85ú\9bgTd"J­,ü\9b®ý2LæZ\9a+gaÞçC\ e\98eâ¥Gigä$E;ä¶\19gU8\91BME¹\81ÒÖ\1f¥áàSðÝî\rUôººYÌÙj*Ú×\r\v%#$Eo_C\99\8d|\9e­è%;\ få<\7fWØs¶ß+\12ñ]\e\13_G,íÖâT]Å\85\1a{\ 2\8fr\1a\ 3\82Êþï1\a×Õ»²¨ÌÇÀHf\86[´·g®<ví=l$øT­W\7f\8bÅAò³<\17ê³Í\9d\91\84ß{¸º\15¢¶ü\16Wâú\1e®\8evCvÍ/í«0nkÜ7k\8f\83\8dæ\9f\93ëí5f\9e\8c\12F3Öb\921]\1c\93\99Û·IX\89#\1a´ØJ¦[£\98SÍI<\92nîÊ\9dk^ü5eÁe~Æ\96cv°Xeù1âÊø\0\7fÝ\95ü\e\8aý\86Ld<z\84MÜÀºú±\9d\ fV\8f¹
+\99Ecú\9e¿\8b¼\9f¥¡vÛ¶Lý{ÙL%Ó3B¯\8aCnöùrüì\9c5u\81'\ 4\15òY_³ªï&YõºS[{6\8b¨î\97/úl¯¦s¤ÃÖê}\89É\ e\9ag\10ÝÐ3«\15ëý'.\eèæããïuÐîö°»ÛdÇA'òµ)é\9d=2üÞ
+\10\9f\87ßvN5þÑY¢Æ>GÄÈø\19\97E\8ctftfÑt]¦í\9cåXÇ1Û38ÝÝÝown¯[¯kzõà-¶Þ´-¥\0\0
+\ 1\0
+\0\ 1@(\0\ 5
+\0Z\0\0\0\0\0\0\0\ 1ð\0\0\ 1wû÷ïø~ëû»í~íöão³d±é\96t\9d\1d\17ˤdÒm¹ðé\18²;±ð/\8dò>\86FGÌùwð\0ù\1f\13#"Íè|L\8bát_\13àbøY\1f\1fö\9f\ 3÷v²Y-Ó\87©fÚòïåz<ÔÓìD´\90Ý=-\ 5Gîí\95÷î\1eå+ O\ 6Ç\0\1e\11ßy\91\8b\83\95\8f\86¬À©\ 5åîµµµ\12»X\1e?\8aÇ'êÖ¶\9b+\e
+\v\8fâªÊû<¡\84\876u\94¹y\18\8csO=(HÚÊüÔt
+H\9a±Ü¢Vísg×oe\7f¹ \e\8aJÂK>\1dõÃ~¶\92ª\87\1f\ eþ\ 3\8bâ/\ 6üT¯\95U°«\1dÝÛWÔ+j\84ói¬mëêUÊrH=uiY\89\7fu\95\8f\84Æ\ 2úbÃ÷_«4\9a\1d\éä\9e\8cܼ\8ayé'\13¿×¤\99c\ 6±*Æõ\8d_ÆÄ\15êÙ\9a5y\rO\8f#\12ý6ÕT\f\87xßäb`VÓεáѪÊúKʽÅ\994ÍÅ\8dUÝ¥b²*î~kJiÝ\9b\8c°ï\eä\84\94\931«t\92°®ÉµB±\9f\82Núh\16&\17÷,¯ÌÇ@kjê1j\8d6$MQ\18ÿÃ_\10MU¤\86«\89\ 3\11Íò\13ëÎHs¢\1e|\8cüܶ0%TSóª|Ì]\19J\0S~Ì\v»D\15³ó\89²m³ª²È²J2h60/*OZM3~\82è\0\ 3ü쯥Q\8cæ\8f~\83Ï\ 2\97© \94ªJô\16®í\8e\8fÚ\a\8dâ+/¿«\13\98UQKª\9aTªÙ*¼JÕ_x[\8d½\15ܲ¾\94Î_\X³À@¨\9f\94Z\97ï\99e~\96r?\1f\ eù\8cã\94óÁrÅÁ»T'ZÂ\|
+}Þ¬Ü{L¬epµ$¡\9dÒ®6x\17\131¯ó\920mzXYUí/1Ë\vJ\8e/^ÊúUs\99\95\8dWGÓf¸\89¹\b$ªÙYñ\1eZ%ëKG=¯M\b\9f6ÆÆ¼?7~ÚÊú¿\ 3\b-÷^7ÿ6\126²¿aUAyo^Ç\95VX\ 2me\7f¹ \eàA\14ØcY+ÊÚéG\192ò1*he¼Ë-Õ4
+²¾½\88\1c¶r%|\97?\95A-ÐT\1eçó>&V6\15\1cÌbü¹¸/6Êúù\15"Æ®\8bÌÍlõtv]zG\13¿='ÏO6«%\8f\8e\9dý½\85J\rqÜ£;3&Ä\89¢¼Î\1ag\ 5ÉlR-\83vÖÒ\ 2¬¯±aù]ÀÚFøw\8dôÜ|\13L\9cXÎÖ\16\86\9f\95\88éÆ?+\10\ 6³¢¦£ =K+õÔó©#,u"¯ÜMÊP\15\14üê\90ÿC;2\9bµ\9aÝ\93wtÝ®s¥\a\97\8f\86Æ ¯MÐmìjp.ìØË\1aù\18\98\13Ò\90é4Ê÷À§\13dÛgTÞa7\80ëNÈâ_Ý7ÈÒ \0\1fïe\7f[WQ\9c\150\94®½¹÷Éÿbß\9dtt3\92\98Õh\17ÇU¯±*»·×_\ 5ÿ\8bá'\83\7fâøs²pÉJ\8dåµs×\95ðvôWrÊþN6\13\18å\99\9f+èÙ_\86åøéZ\95Í\95[ïk­\14­ëN¤xV\8a­§\9dº³ì$KÕÔÓWE¸\95¶­\82¾;XP\1d!Ën\8e\1d<f\96\8e}$Ôb¸^¬Çîí\95øØ\1e"HT\8c\9beÑçÈHÒ\95¯+\1d\ e±ÁHgð}Úº8\16öWùüÏ\88ÇG?éÂF¶WÒ6_ÜÙVv°_ZV\ÞÊÿr\127²¾\90ç/#\11\9elS\1d}\8eÆÆº¬+±§\15e}l\9eY¯®Í\99'\95¦;¾WIÍ\1f\aå«\19\96ÞÛØ-Ò\97\11ªÃóã¯\81\9b\97\90Ϋ\84wÞC¼oÜNû÷\ f\9bn\v\94\ f\97âÒÎGèçæ¦Ï\røWê\90ÙÙ(\æ\99,ò±¦"\9f4ôsÚÜ2U\95ûjêw½©R\89}sÔÓÑI%HU\91\8b\81\rµoñW#Õ\ 3-«éíkºÌuÃ1/\9eW©e}7\8c¸ÚâÖ±/é*¯¼-ÇÅÚÍ\84,l©\rËÞÓÏÉâ_ܳؠQÌÆhçæ*Ò\92D$û°nÛ´Ý\ 6b-óg(oú\13dÛgTÜ-<ÄKã\9dåµm]'LáY\80\aþY_à¹6ʶiH|¼SÛÛ§~\9a\ 5l&q«¨\9a\1d<~.\râ«»JSºP¼\95ºW\9dm]\8d\8d\84­Ik\ 1\9f+E|»+ü\17$¬­·\98\9e\94çú6Wâ9»ô©*ϱHÍ\9cZn§K3'\19Y\10O
+öÙ*>V|\89¥\9c\90_\80·\ 6ÛW%`\8dz Ô«â¢\82WSOI+(À¼´J\86±WËô\1e\8d\95õu²LöÞ[9Ì_\ 6í\\97hGmÚV\9eÏ\vu#dì\9c2UmÏæo\9bÙ_\92çò¶65â<îû\93Ñ\84\8dl¯¿p÷\18w÷,~\ 6¯[\97¯ÊÞ·²¿Ü\84\8d쯭ø\17âº\9d\ 6ÝÑ\8aj&zUT\98UY_\90\84ä6\98ì̬x\87\9f!S\95\9cÓ%_\ 3\1c\195Y_IOM\ 39ÛȰî'}+ÜM£níkuõõ\90ÉÅÁ\87íçæÆvf¤\9a\8dÍËÇge¨è.7ÅìöZÚsU\95û%¿\ 3}93\8f#cùÜuuÃ-\7fÉ\12\13E_ÜÙVÓαk\96\e\97ãý\e\17,\v»FÚÒª\8a^\vËÝ-²¼'!®\rŬ¦\9cO$Ìf\9a\8f\81H~¿2ánqõ\9dgUn\17\92¸Ó®&ɶδ}8½-\fäÓ\89»î\15í»\þè\0\ 1þ\16\8eº\9a\19\10J¨eâ^\92\93\ f\8d¿ÖÕ¾·­ëu\14[ØÔèg4W%y*8\9b\90çUÑôí«ê1°¯\12µ\85Wv\95»4ÉÆ×ÖÖJ\88Ò½øÇþ\12»Ý\a\1a\95ö;à<¬l$«ù\8f+iYK§¥¡3\1d\0«+ø7vª½æÏF0Å\95ô¬} Ý­wY\9e\14\ 2ºÍUBt\80\12½\1ekÛ§\7fcWGuiX¿â£H\r]M$òLk\1cL\v¦y)ì÷ùs²P½\8aY´¬÷\1f\12ûcc_Ó²¾×\80ÎÿÄð\9bøÇ¥ý\vG«7\1cÓ+\e\e
\a\8dâ5²¾\91ú%ñÍ!æ>\1dô\ f\eázp\91>Ó[+é°\ 2ýo\ 4«\15§ô\1e¼\9d¾»}Ä$ù\18\80Å~qbWXצÌH\18\9a\89\9fÃ,t\12±\fð¯íì*X\98ä¯\1f'\e       ]<}åµuÍ\95\92\86î\93j¯¨«\ fÉ\123\9adÏÊCµ\91\a\13¿\1d\ 5ÆÔÓÑÔÓÒ½·¯Jû\98Êÿ\9bvWè¦"sZd³èEëô¦\9aÐ\8eÛÆÖWÙÚ\114'g³±\1fÎãõfãô´3¬û\1dV fV>\12¹á©ÿkê'ضÆÌµ²¾Ç\f[¹e}\8eºE$ѦN*iÅk\e
\1d\1cüÔ\8dïüMÊxf»Ç«\1eUá^Û3Ï\1fêIBëjê-lc\91ºIj¡\97è§ÇSC+\8f\87~\9e\19ÄÙ+gVrÉíÅ\8d]íµz§\aSKE\9e¼Ø\0\ 3ül¯ü_;¿BÐÎÌ¥_¾ufÊþ^F"V&\95"(\94\88æ%3\91kÙ2J¤\9e\9cûÕ~\ 4E\8b~uÿ¹UwiK~~kIé8hG}ã<\rý½\14ÞÊû\16\1f¯n,\15\8e\8c\94'\8fÏÍËéBòUe}+\1c\7fÙë0>\1aõÑ»mp\12x«rDù[ÚêyÔÐ,Ù\1dJºSè«+\1a%\Ëõ¿ÎTS\11Kô´ß\ fg£T\85vcX¦\81»µ­WjÀϤj-îÓN}êx\b//t\90W\12þëçY_o\8e\98¦£ -ìjrqpR¬ä'å!Ò]\95e\7f\e
+÷g\ f6]Úecá¥tÓ1Ð\r}"c»    \18ë)^¼®õ#®Ï0~êκ\9ey\8fIÊI\10qe\7fn\127²¾\92ÏQ?(¿O\19àµæ\ f¤Ä3\9f\êèæ\15e~%ñÏG?2^)í\89\8eêÍÆ¦Í0|\9f\1a\ 3\8dá¥{\94ÝI\ 5X±ÓÑÏW*}VWÞx.Y\18\97õ4RÌð\97\13\9dúºN\9aH$Äcì\e¶ïoÙ¢Y²¾\90Á!#9\19BvMofÈk\91~Ue~òÚ¹\8e[\12LF¦\9e\8ccÿ
+s¥\a\95\8f\85\16þêÄ\fH\13f¾ î¶¯¨¶¯§c\9d®Ìµ²¾Ça~\9b~8²¾ÅÇ«
+\9a\ 4\9e$\84\8aÖ)·\9ao\rÔ\91\84I1ÔÓÒg\15\90\92\86wIOM\9b\19æzTÐËeäâ*$vv6\15\8cÝf"ßsZdD<ð\1cM\92¶uW¡m+\85ü\9aê¢\82Q[ßêihÊí~$â\0\0úÖWñðïz\ f\\bG}â\11\96ö\15:úÚÍzãªú\9a\ 4ª\9d\8e­\9d+\91ËÈÄ~ânUø\ f5\8bÑ[=«}U\12õpGãm~*¸JÚº³\91Ö\95´Ïn\9döÞ\8aoe~\96rA]¯
+S\e¥£\9eÇX77\1f\ 4\95â$\ fT$ÐÎh®F\8cSó¢Ýñ%$Ê«\19\9a\8f\81O\f\90\91+sÑÐÍc\91ë\ 5ÈÝiéh*\9e\1aú\89ö?\19åGA-è\ 3ò\9d\a\84\8fÉ     \12\9f5p\eSTaß\UQKµè\86~D~_­Mú\16Wã x¹8ØJæ¡$\92ÝYõåz\1cÖ:LU³\93~6\12Ü\17\8c\v¤«í+¬°ª¡mÓ\12wa"E¥p%Ò:¤¤«¥ýëõfq°¯\15`\914\9du<öÝ\95÷\10\93åÙ_Úɾ\8c\89¬V÷~uæí+\91ÇÄ¿c¸?À»µHºÇpaseWgYJ\9b\r¥\7fIàå\17üXXÿÄÜß\X¯Û÷91aù!ÊNR¼ÃÛ\9f}}sek[Öq;õÕ\13ÌY\ 5O\1fYM6¿H#ÞíÙ_\8a}t[¦N\98\89U¤ôÛ&öÞ½¯I´Å\95ô\85Jô Tñ\89¶Ú@8nV÷¢÷ÁÎi\93A-\10Äì¦Ò\14\12ëgY\9aI\98Æ\998ªåê$\ 3Mº¶ì¯Ïíz\18\82h~Ïg²ÚVÕe~º¢}Pbf5ýnè\7f\81cùÜtܦ%ñÍ]\92]Ý­b·wOû\97\91\8bSC-#
\90\91\8e¹ñ$Ç'\17\ 17ËU¬¬üܵ]
+è½y)´\9cì\9c3\89²VθøwÐ\1c\89Ès¸ùù\99J²¦¬Å ¬×ú\0\ 1þ\9d+ÿAëÉi\93\8d?)\ eÍ\95ô¬Å+y¬¦\9c\8d\81â%!9¹y\15õ3ûY/\ 2ªþêÉo[÷vÝÍGÀ±Á\ f\97\8a{Íi\91\8bM!'\ fÌJÊÕÐÌmè¦öWñp.\92\9d´ñ+c\9b|Ü´¬é*\b\93\87åâàÝ«ò1ú¡&¾¾µµu:xnÂù\80a!üçJ\r+÷JÊ\15Ѫ+£\87O%Ò\84äÇAqSC¦\8d\8b\7fuO<\95éÛØTíTká¤\ fH~\95e×ÔOæ´ÉM\ e\95AÕQÌ%@R\÷vÜ\et¬Òþçj?G/\1f\97ïÚ>\85\95ô\87êåcOÊÃÆ?ð\9eûVNÕe~W£ÍHº\84#¶ò\9ezO3+\1a3·Ä   îÂM=-
+.\9cTcÿ\ eª\8a_G?5V*äa\9dÒ·
+\8a      DÒ\vz°zöP[Ù_q    =\ e`úÞÞ\8e×\94ٳʹ\9f\94ÐÎÌ\9d\92\85M\ fÕ\9a\8eÓÒÑU\95õìFÇègæ&ÉÉ1Ô\93QºZ\19ɱ\vÏ\ 5Ê\92j3/#\11]uJüÇ\99¬Kû¨\ e/\86Å\87é8\8e\96\8aN\9al\85;%\f\9ea|d\87òg~zO\9f\9c¿×M­æc_ÓdºUøc\8cðÙâ\9f\8c\92P\9b\0>ð¼\14Øÿ+\1f\ f§\18û\12ùå$\98¤BêHÁµìl\95e\7fcaoJäMª&"ß\12T¬jè\93ë¦\90ICH\8a\93\9a\9fjº¢y5¢m8·\biù×SOK¯Õ\9aI\10M\92òq°vì¯á^Û¦î1Ð\d\95\86\99\7f¦¶/e\7f#\13\ 2²\9anF\15Ú\e\97½M\8bn¬û\1d(Wd/-ëÖô3Eø¼\13²pÉ\10¨¦"¢ßøT2ñ:úÚ²Ñ/OüO\v\ eþç\e
+öJ\19Ý>¿b\9as?5¤§Aá'6æÊ®úæÅýz\10ÒD\12\ 4×SÏ$Wo6Llê\92ágؤ\9cés¨æW\9c\15z.C\9f|\91ù4\v~¨D\0\ 3ëY_\7fâøw¶õõ\94Ó\9enCYáî\15\90Å\1adâçç4J #UÚæp\\92¦TúéI\ e6\15âRä\95\92V\94ÕàÞZ¥wiP¢xýM=\15~!\1cù:+ãÙ_JÜ\13ÄÔÐË%X©Uξ¾¶fV:S9£\9f\9a\95F1e}*Ý¿º´M \95F]ÚÖ¥gIà\12ªMm]E¸\12\9b?\8a\84:)\ 6órò\12§ÔÐýiÙ\17ÇNý!RT\95æw\19ü\17\8b\ 5Y¹Jì\92¨\ 4¨S/#\r4:U\13çåm\ 5£óÃXü®´;çÙ_{tïÓL¤Ä-Ä6í÷+íºíø>O\8c\95\7fQÌÅüØH\92]¥£\9eÓ!i=JÙ \97áY¥ié\1c\95Â\92ÑÏÌWàøæÖWû\90\93o®ß´­¦[0ßöübýÉö
+@ÄÖ\9az:\15û^\83>¿]ûð\93í$9I\8e\91¥÷\85¸[EVRâ_ܱ¶\aRF\11nssó«\16\1f\92¿{.½"Ñ#'\15'7+\e ^\85\7f·;é«\93ë¦Çé«´3\9a$\f\86ó¿$kF@pð¯m\95Ä<W       Ñlê\9d\9cÓAn\f¦\12j\86y\80\8dl¯¦íy8¸+mó\9aÑnÜÇkÐ;¤a\9d\93èèf´O´\92\9eÇ¥Ì>ºø\e0ó#\114ýuDþÝ\95úÞ´î~fRC\9d}merÚÛÙ_¨ \95M?gØê¦ê\14S\11\9aY­2\10Iú_\989ðWô«¯\157\ 2^Z±\16ôá{ËnrüÁix§´\90ÔÞÁ>¾¶¶­\85M
+L\12\91\89~ÎFVO®«5MæÉ\8d\9dSy\84\97dÞ>Ö»¬·?\7fk\9al\92¤\9a|ü"Ä\0\1fëe})\ 3J\9aìj¨\9aöóISêQõwkYm]NÖ\8fÙ\b>BÞ¨}qcYMÔg*m¥)\14³\92\17¶ö  X"U\ 6Åý\17\1a)®C³~áî\12\10ÏJCª\9f\9e§J\ eæÊ®ÞÂ¥\8fÀ¬Ld?ènVöÚ¾¡ 47/z\91
+\8ab)5½4ïI\8e\8aíoeð\85v¶¯§M\ 2¯Ä4Êä\8b'ÌÏàñ\ 4ÔIXú¡T7/Ǭ¦\9cM\ fÖ\9d\91q\80-$!<øýó쯶ë{Õß\96%W\90Ü¿\88ÚÊúI\16\ 5Ý£oU\ 4q  \18È\8b\12½\1ejH=\8d]\13=bÒVEQC-yo_?+\11\10óÀoe\7f¹       \eÙ_\82ò÷YXØL÷\13\8cü\10ï\eë\1aº;\9b.¼´KÓ_[ÁJùj(%\16ô\18JI\95{yzW(\9e1]Ï\96צ*ïî,jÒz# ¸Ô\12Ý\16:ezI¨Û»ZÛ*º6=JùÄï»ï\12¿Ûë\8b
\89öÝvü[óª}¥úoËÆ;\ 1¤ÖõÕ\13×¶õô\931\8dûoí\9eàÿ¯F\9b\9dÚ×u­ki\98Ë\ 4ÌzpE\9fb\916{£\99\8cfÞKï\vÁ¦ê&è\95ô2ëgQ\84ÜQQ       \88Á³¹O\13r¾íuôS\11-y\93[V®ø    á¡y[Ú   n\85\8a¬\87Kt^mëê\12[zq\8f­{\16t\914\81\89 ,íE\14øæ\9båÝÚV&ÂJ\84\89#é²\14·k¥1\93\87å¤\ 6ç/éÈí¦ËÎÙÕå<ÚPÔÏ\10\86%ñÎâÆª?õ\7f\rÍ\0\0\7f}\95õýeâÚ®\8e\95ðý\93èð¯õõ¦ö½LÁ\8fR\94ÖÔÓ_ðy\17o×o×ô\15D«!ç÷ý ù¯¡|y¼+ÿ\95       \eÙ_\94è<'\92\7f\rÏ«ì¤;r\1aàbÊù¸Ð\0\ 1e~N#\99§¥¡5\1f\ 2Y_þ\9b+é1x\98\177ý¬­ÅÏxßaß\+
+\0¶²¿!\b¶r{mêvÿÉaEÄ$óý\9c\7f\95½[Ü3q/Úà\13âÊø\0\0\7fµ\95õ¿+øÖul*è¬jè®lúúÚº\8aô\83\82ÊÿõY_éžéèçèfåÛØT\XÕjiéiéhMÈA<ð\\99÷\9dô\9b\8b{
+\9d]M4\9b\85z\9b\97óØQq  \1aûÎý­wY<N\96\8ezÞ»IúÙ\81\9bçY_c¤\9eþ\ 2\ f\93ãecáz}!\1fïY_þ(À\0\0\1fSÒ¿û=\9d\8c|;Ù\88·ÖØ
+h?¢Êûï\vqG3\17\95\8d\85±¯­¯­­\8d\83xÇG8Û\ 6O´ÉÅ \97è\7f\ ei\1eqe}Ä$íàÉý\8d\9c\19?ó?(ný[+ïn}òØY+ãô\9cÅ\95ð\0\0\97k\87@aù»ý\9fÎ\88>v\1eº\ fÚý\13\rÜÃëíðè;o\18øéß­\88"à¸ÈC¼o\98ãípúú\r°ó¯ÓÈm\1f/\ f¯ú\10\91¾\1f_ô¿\1a`|ì:ÂÎ\1f_þ¼\9a\1f_xýÜO?ý\91\80\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 3ê\1c-ßçx[\9fg¹Ü~'ü\9f©â{^Nûô¹\9c\ 3ù\8c\85\0\0\0\ fæ\1d÷þûÞ|\ f]ë}ÇØúÎóÕ\7fÑëÿ+í·^\1f´'ô\0\0\0?\94ð·?\8bë½ï«ûïwö\7f{ùÿiõÏ[ù~­\8b,_\83î¾×\89ãû³`\0\0\0\0þ3\87Æý\1fÉyö>Ò\vØ~</±üh_eõÏg\ 3ø\7f\85ä}×ÝþGØ*Ë\17¿ï}y°\18\0\0\0}AãÉø\ e\9c\8f}îd½Çy+íÿì\94öþË\95ë¾óÝ}\97¬ï=W·ý\ f¹wò=÷©*\îFê\0þW|À\0\0\ 1ã\81újÿ®î\9eÿàsÿ7ÿl®.{i/mø\1e\aÛúÎóÕ{_w÷\1c~\a¼ú?È\bC¶îÒ¶\95¿ôn\98\0\0\0\1fÝüæè»nÒ½8nWÃ`WÌÇÔ\83äøÐ®ûÅ|p¾w\89C\98õáþd\87¹ÿë+é\1d}\8f#ïÕe\7f\93¿÷¿Kúz3¤[ùEoô?\9a,\0\0\0\0þßäwÓ\8dâJÄ;LÅóP\98\89x\9c\8e}WÆÜ\9a\8cy\99\8bz\98\89O\81é\9f¯Î\8esÿû+\89\1e=\9bÿ°õ,¯¾:ø\14óò[_Ò¡\19e|\0\0\ 3ü\89(nDÜsìä{÷RAþ~K\9c\9f\1a|\e\8c\fÌ[Õ\ 4¤"¼z\7fÕ\10\9d.\19e\7féY_\9d\92\85Ò_ú\9fzõ,¯Â;nâ\9f81\8fÎhFÀp\95ð5#`\1dc\1f\9d\eý¯ø\1d# ¸q°<'\12?³â_Ýc\1fþ\94\92ö´Rµ§\9b®\96û®«Ì§ìi\b·çH¿\8fõ\1cy%µ\8f¡\14~D\83¯ã;»\153­?n
+ú^\ fé\8cÇ.ׯèĦè\8d\7f\95\99@\0\ eï\ 4©Ó¿\92çòªgÅâ ï}ÜÜm¿õø\aÞH.\18\f5ðm\86\ 3\1aÊ#tYhÒQ,\96ÈäÍ·#n¹#o£m÷>}ÝÝÜû\9fw%É.IrîîåÉ%É$»\92I$\92I$\8aH¤Q(\92IH\92I$\92ID\92I$\94JH¥Ë¹·®¾     ÷÷ïßÏô\8aG\91ä\9fsäßsé\1dnN\8dÐë\92HÝ®Ö\e\13£\96I\²Ç£Áím\9bM\\ eF\ 6Þ\rp\14@6Úë\0¶]´»\v¥\82ï\ 6ð[®¾\f0\17i<8\f\ 1\86\ 2\ 1\0 a¼;Å\80Þ\ràØ\f'\82\80öÔo´ðzÈÜêå¶ú×*¼¯U{^\9eê¨0\14¡­\b\14÷Ugá©\0CZ\:ó`\ 4hB`^Ø`^\84\rpNênç\85\95ÿvÊýVï_#Ì\85§\84Êøg=EiJ\99\ 5HUÀUb\80®TV%«^\18`ç绬Á¾²ÀEa¡2$ÖúÉ=Ýl¨r~\19¡®ãcg\19kp8¨¯\18\vøåÚÈ\ 3ò@\16\90U$(@h\f9*\88\12°QÙ¦»­       z\90¡ò~\84\11W!\1c\b7ÖJ\0Ö\8aÄ
+\18\ 4ù°% \16\1cÒ0\87PT0'y\92É4\ey_!c"*\8eÑQ\8bå©E%©Õ\ 5¢S£okðJk=QQ\1e\90Õe§ù\98eS¤ÒÙëy\935\bN EE\97\81\ 1\97SãTe\91Â\10\99\a\f\8aÞ\11\154\9aJ+¡Pª\10×öµLzº\\ 5^Óð\18¨\1dt\8ag2IÜNô\133TAk\88\94Ï\83}b\7fàÚ\92þ        )-N¦¹ªGmQ[¼Ø\ e\ 1\ 1\ eä,éfVßÛs\ 2µ\16ìY_ðÙ_§Ûj21°ó}8!û¦Wçö>ºöÊ\91bK_{[ÿ´\18(í>ý~KqË\96.MqïS5Ücº[pD\95øµ\9a\14-Ë%,\0\ 4T\10\ fr\8aèN?´\v¹\15¿Û&k\93 \ f\9bûjm×ÓóË`  !øÖW\9aÏV\9eê¬Y_ý\ 6Wè%´\8eÛ-ÎôóGíÙ_ÜuÝ\1a\1aùÿ5\95\9f\13>ÊÄ\9f7?º[ui-V_þ\e\15~Õ¡4¶ë\93ÜùH¯ë~\r\85\ 6\95\95ð\vëJ]Àù}¯\10\10\10í@\9e\b\10×\v+ÿ Êùµ\83\ ec+ûí¾¯¼±\81\10ïl7ÿ¬Ày\18ÆKqùk\ 2´\84²ÅøÈ¯ùY\98#JQì쪷Cê÷È@@@Y_ývWäk\ 6\1cÆWí)¦Å\92\9fMz{\9c\14\17Ö\8aÿ»{ÚK×ëûpF?øÞJ[{}üèæG\10\10\10\16WÿY\95ù\1aÁ\84\9fæ
+Pñ¼öZöÚÐ\84°±-ô³ã\92ÄÁ-ÂÔÈ\17¨ºý\16}T]\ 2*dcÍe~Î\9bj9\91Ä\ 4\ 4<6WÛ-I\1a,\ e\ f\ 3\18Á\12\ 3\95ùùTE\95þý\95ù:Á\84\9fî\16N=\86öc½ò¿×m¾Û\v\12ßK>"äÈ       er\1f?5\15À¾´þú*,¯\88\b\b}\16WܳU#D\17ÉÇÄa\9eú8²¿î\19_\95¬\18w_Ý\97cÂÑôºqW?°\16%¿Ý¢¸\b~Çá\9d¥8ù¿R\10\10\10\16WÿÆÊþ\86°aËþhµ0Ù_ûÌå\16á\9c£èêà\82\1f\9bør6Wâ\ 2\ 2\1f\r\95þ\ 4h¬3õÚñe\7f¾e\7fCX0åÿ;nÀÛípl¯ü-\13u\1d¢´\96ÊÉ«\83\8b,B\1d÷áಾ  !ã²¾K+ñe\7fÂe\7fGX0ö¬¯ç{\ fIÊóV\97½Ú}æÓ$&Ò7¸\\0\99\ 2辶Rࣴ\_:(ÊïíɦÕ|\ 2ͨ\ 2þ6Ê6\10ÿTà?GCð©\1d ²¾  !ý6Wâ\8b\e+ú:Á\871\95û\rîÑY6Ý\1f²a\81=ÊÂì\8cUi>¦\86~V\95A{&Ó?\fè\1eúÊüÚºÀR\92ï7W[ý¶â\97¨º;Ph\eÁñ\ 1\ 1\ 1Ñ_ÿÈÊþûq¬àF\8bì<?ç\8dÖv\9b+þ¢u]ÿ±Ï¸s*É\90,Ï~oÿ\16Wà¼{íÌô~Ó\90.®±n¯çîb\ 1\ eúÊüíd³7ô\98Y_\10\10\10\1d\95ÿþ\ 6Wèeú\88O\eû\ fwý£e\7f[C³ZgÚÉ»\88mð/¬åXÝ\11øòí+\86
+n×§¹`¢ézt\vÂ\1d=Éß&À>\ 6V\ 1$h\18\17ç*+.5q@\97\90I®;2<\93AÐ(
+\86\ÇCó\rÇce\12\90\19\ 3a\95\1aqY\82\8b\93¥ MQtB\9a\92XA\12)MÓ\ 3\97+\93\97³a¦\ 3ÔrR \84¹<¾zØL0\91©»X\96Ü\9f7öæZKòFT×\96é,\8dZ¥¸^\9eë\ 4ÖX¦OÊ\83\18\88À²ð2\95':\91\8fQs1\8c\8f\15!\£)\ 6`q@ü;\95Ñ×\8cºÍ@Â<ø\12F8\17k³hë3\ 3D\b\83 a\80\ 4K\85©®\17\1fMR\b\89½ 'ÍÃO\9f\ fî\0\9f\8d)îdþ*\12\9fÓ\96\87\17G\92¶e\83z\15|\15\8eªúÌ×È\8a\91Yå_%%·³\8fèä@@@@Y_ùl¯îuý#\15W\9eÃÅþÑe\7f}¸Ö\13W\10\96kRÜ7\\91Ã\15\ eÚ¬}\84Áó\85ï\9c0\80í¤\17\8da=m\ró\88o\9b\17\r¨|\97\ 1¹¾M\80|\f\17\8d¤À\84ø\bá>     ØE\18¦o\93\ 47øP^\9d5\bsKòÊ\a\12¡>p~1\8d\ 6\9c\ 6\ 4\88sÐcE?tÌÑ¥)\98\1aå \ fI&\b£\ 1ðà\95\15 2ÞÐÄp\81\ f\97Î\99\10¦õ±§ÏÝ2\ 5j\ 3Æ\90\ e\90­\10¸H¦¥\8d\90h)AãGÎ\99\96\84Éè¸èØÏÊ\10K20\ 1ÅëÀ>³4È\883³äÍ
+\8c\11\15\89A\93÷m\1e<$  &Yàø²\97å#\9apUQ¡\88/\9d\ 4S8äÖ/\88\11Ë\8e\89\8c÷   \810Ü0\ 3Ð`<\ f¨ò\a\98KÞ¹`ùË\a\98K\80\ 3\fÅÀ\9c\10\r\87\1c³Ê     \12À¦s̼\82!¤Ò\11Y@   9\17à)á1å¡ý¡5º÷-\15\93Õ\143<\12ùßwLÍ]òÃi\1aÉHÚ½Hù­j\10\10\10\16Wÿ¼Êú{ªß»þgÝ|fWèæ:\95\bk\830F\13%\11a<ÇÅ\85\91\8d\87\93\91\89ÁÉ\8d\93\91\8a~Ö*6\19¼õÄ\9f\87ÀÇÄ0d\17Õ\8eYøÆ\fÙ\ 4P        1F\81>(>qãD\93,6\1e>6\1clXxø°ÃäØÙ\18Ä\94ÆÄ\84\0\101\82@\10\81\81\89\bѦ\84'ÈN1°Í;Æ\ f\92Êq\8b\86lc¡1J\11ãqñ¢H\93\12FY\ 4\88\19\ 4\10\97ÈÆ\93 \bLX°q¢Á\ 5\80é`cG\9aâ\82\8a\ 5\90\8d)(\98À\98\ 4Ë\røaÊ8\98ÊH¬Hd\ 2\99C\eË\fb|\91\88üÈI\15ÜL¤\fô\87ó\ 2,\ 2Ò¬3S?\1eM\ 4\14"T.$?\ e\84áåü\91\0\8b\rã÷LܲN¬·À´S\1dHæG\10\10\10\16Wþ[+óz\9e\82Ú§uì?\13ûE\95ý¿]Ñ¢´¦Ã\7f\84{)Ddï\81\8b\8f\18æ\1843&âa¾\8c\×òsVâaðóVãâægg\fÝù\98Ò\8bñ \ 4\8e6t9³\95ÊÎ\87%\0$\8e$\ e&oï\92Ä\ ffk\ 4bJ\7f\9d\9e\80«\ 4\13Öù4t!ä\80~\18\16¦£xôá\16\f\amS ©\1e\f¢\10\10\10\16Wÿ=\95ú)\8e§\16#ÿ-\95òú\10èÛɲª\8dÛ±\1af@±3XÉ3\18xÒ_Ô-\8c${\ e(YÌ\91ÁÐb\7f\13A\92?dÆ0N;F7¿\9dbU\a\86\87åª\86\84\ 4V1lÐ%$\84¢#KË    \89\11þV\7f\ 4î\19ÔÄíç\1d£fÞÈã\8dûl®cy?\83dr%øVµ½Nàs"\b\b\b\v+ÿ\9eÊý,æ\9f'#\eÆe\7fGX?-á\17U\8d\15ñöW\84»wíÙ_Ç-Ö\7f'2ÌX\11²äÄa#òseü\9b§è0à:~é\8c\a­á<e     ë7o\18AxÌ\0! »dùÓ#a¿vM\14*\0|\93E
+$¦\ 3¶a2|å\84\a­\9f\13\bBH \16RI«Æ¯É\8cBl \a¬ß<b\0\10\90I¢Ó\1ce!¡á\8c nc\0²ÃFÁ,ø1\892=\15zÔ¨«"è¯ì\8c\9b\ 4\9a8120\10\80\ 1&=->69\1d¾/ük\10Ö\84ø\90ãG»×ò/Rñ!¾\1f[Aâ\ 2\ 2\ 2Êÿ貿=­è\98)¼ó,¯ç5\ù½\1c \1eÊøÝ\18vùÍ ¾pÇ\ 5\v\f\v®@\13Wñ6\1a®,\81MÏ(\89É,÷ ¸\r
\9cû\90\8a±T\86\aù\99\88þ7öïXâ@In>ÆëÄ\ 4\ 4\ 5\95ÿ\9b§oÐKi"Áyð\19_ãîqøþ\96׺\87î\99\9d§\p1\7f©¦\97þÑ­û¶~Í\8d\98½Vs\16\87¸e}w~ÌÄvWýÔù\8e\ 2\16
+nÞá2'á\ fo£(\88E%ï\83UÉ·\9b>\98\88\b\bx¬¯´V\8e$\a1a<0?rÄx2\7f¿Ö\ fëh6Y9\18¾UàùÛQ£}¶.°\fFX\8d«s\ eqþ;+øp\9e4\\93\88Ä
+¯fÇÉ\18¨À»ðY#ü°^¦éªÛè\90\9eGÖ/~÷Eßÿ×á$lHo\0\95èÌÈ@@@@víÿËe~gOÎ×Qm;.Ã\83岿9©ç®*§²#DápqͰFã\ e­\7fÚÈÉì\8c×ñY \95wl¹EÏ\93xiÊ5®Wv¿\a1cf²ö\1c\17#_½ÈB\80æÚ«r>\9a\ 2D\ 4\ 4\ 5\95ÿÕÛ·óº®\82úÒ\9b\99²Áy\1a\80¸«ÝaÀsØpr2r1M²\90\86Â/´Ðöà8d£ñY_¹ðnþû\89À\18¼\ 6a\98à¡{\84¼\7f\ 3û¦ß\9e·?Ñ\9b\10\80\80\80\80²¿ú»Áü¾â\1f\90ù\8c¯Îj¹ú\89íSué»\ e\ eGcØdð1ñ1ãD\1cåÜk
+\aî\19,½ük¸5_лãü\ 2㦸8\9dÞÂ2óA»\154\93zqöà\0   <\19\1c\ 6\7f¹×ô\8d\16$òÙ_>Ìêêº~\vÖü.\ e?\a\80\91ý\9d·\1dóÁ˶\1f¤È/\90ÌÃ5\88\85\95ÎU¦\94X/\9d3AX>£_D\ 4\ 4>E\95þ@²¿Ìáõÿ\13XNïY_7¡ãºY½;<\eì\8cl>\17\a\1c\9bwG\18l²%ED\86õªô\9f\vWîðnñ|pd²ö\ 3ÖÃx3Û\ 4\7ÊÒÜ\13Ül¸è®\ 2\ 2\ 2\ 3x?ô8¢ÿÂÖ\13½³+çôG:Þ§o\8f\89\a\85ÁÇádãäF\8a9Òe^\12¾lÉZ\1fêÝùeë\15\vÔÜø\e\ 5¿º7<Âb5Ñ£¬\13âáÃ\82òÒ¢wr;\9c\ 4@@Cú6Wì\14\µZ\91ªÛó\ 3<\eÅÙüÝú,¯÷̯ø:ÂwÝ\7f/²E\1fÓÂÏ\80Ë.
+;(Ø\90\89ì­\17\81\8dû7\85~^±þñË\ 6\7f\ fE\88üàb²ñã\85\98\9fðÙ\ÿ\11B\84ÿ\v\ 1\ 4·N9\88Ä\ 4\ 4\aj/ÿ¿\93\8fùZÂwÝ\97Ós©½KòÈ\vºú\1f\13§ÛSÚßWgMµ~é\97eØðx91\8d¾\7fFÂï)\96(0\9f7Âf¡\9b\ 4m\17#h±\10\ 3&      \1a-¾dºù\8a´,X\92\11\92ûâ@\87Èa®DÅ\820\8df¶øÒö\8bÒ\12\18K\19+¼        «5\86\91¢#7\8bÑ\ 4;\12ÎÚ\1a\e\15È\98\bvkI\b\1f\12^ÉméK(\8anF\ 4F\ 1\ 2¼\85`\97\90\16Þ±\8e\83\ 4\98%\84\9a®!L\11ã§k\91¹f¡ëÖ\9dî\8aíó¯\11¼mÓ0Mä¡\8d\86åªË\8a­Ç¶æGA\ 1\ 1\ 1\ 1e\7fõ9\83ÿ\91¬'<pÇw²é\7f#×ÞdßY\82\8eÏ\85ÁÇìx\\ 2ï ae\8aN\87\ 3\ e\e¼8Nðàº\0&\18| aÄz\10ðË\14hx/ÜB\bxo    /4È\92\aA  \ 6\v\92Â:\89  ØcB\81\84i¬<7\90\1f·\88Ic°ù\89      àB\1a_\f&D \80<!Ä1\88\84\93Ö\85\94(.a\15\ 326B<p$ÈÐ\90\8eIáÀrv\ 1PüL7Þå¦ÜH°?I\96_\83¼\18bÁN\86\8a\16W\ 4\ 4\ 4<PÜkº5(kE\95ÿîs\9dþã_Ò3W\7fïùô\7fÜû\r®vÕiYeÉ&ÝéÄù\16\15òv\yøÇð\1dѸMè\98\18¤ÏÐN\13\86Ã}\8dÅÞï\ 5\9fB\8cn\ 2µ:ì
+       \8aÁ57È\0F\9b\854\bÃy8O]éÜ+ÎYI·ÖHC\9a^|°Ó² Ç%GÙø\9d£Ñ`\84°Æ\8cRð¥0\16L\83\e\80ÑxÈ4\92Ì\9a\1f!\10ú\1c;\83q@¹\bÓRc\1eb-\14\18\94w\v,Çà1ãÎåLà\96G\97»Ø\85àP¢ËË»øò¸[\98É!£K\ fÙ¤\92\15£/Ùµ\v\98ÍnW\ 25\96\88\8c«è\16\7f+X$\80Ñmùþ¨÷Ä\ 4\ 4\ 4=÷¥\13´VTz\1c·¯Ç裥¸²¿ðÙ_\9aëyÝä·¯ÐÖ\13¼Î\9f_ÐKi/ÐUFÄ\80\13\8d\8dý-\13¤3kºl±²ô­W_\87É\81¢Ôa\8cÔ\98               \8c±\18@·`\98\90\85\81\f0\0\84fÁ3%h\9ea06ï8~í¡¦LÖ_5\\90$g\94  \b\18Å\9c\03bv\ 1\88ä@\16£h\ 6°2­     ÂrN3å\86J\8c\834,¤édyy\92£§
\ 2\fÔ¥óälØ{\12Ì\80"¢Tå¬|3PùS4\92'ÄXÕÞ\99onU \85\ 5×á\8cj+jY\19RD\84]rç\ 6\9d\950\ 2ÍùaïÍ>pÅ@c\13åzcF\98²D1\8a\93§aTk\11»n¸ÌÉ8dHvX\17\81Q\12\fYJ¢Ämبh´\84\13µ^ZÍ\ 3ìuú\ 3Öß'fx¹Kw[B=58\10\10\10þhofº¥\17uyý'Ö·îº,¨¹5¹´îáe\7fÃèÉýfóc\93\8f\8bò\99_7D\1akh6.Û¯ì»\1e\17aÂà|]©\r\12\eÔ÷uW5sÒ\ 1\ 5\98\15\9by0÷\153\96õ;k¢ÃÙSmo,h\10VOXïe©fôíØ§!*êªë:k\94V¬ìðó$usÖÛ黪ÝÕ¥DáÈ6\²î»weK0l;:i¤6\14\12e\96õ»{\8e:\ 1¢\83H,öt\1a`)\96òÂ~Ò\9fkw[¹íLµ[cè®A®ò¾~Ö¢në¶I\ 2v
+\88\9d,ÅÕ~ð%á8\ f\9bmüì\991z\85|L0(\ 6\1aT5P`¹MwYG=ÖZÔmxiä\90¬Û\93¨f`¨\81\12³p\82ª9r·t\1f,Ö"ò\99_vá\85m\14´÷wé¤È@@@C½öd\11®èËÔ<3\82¯w®\91\8dË  ª\r ²¿çþ«ù?qõs=g¨ûþ¤ÔQËö=\86OÊe|þ j¡±¢\8b    çcÂÉ6ð²\8dáé\9bÚ\1a\1dÔHooî)ôz§ÙÃê\9fÝNÚß}7"\ 6Â\96ZgTOM\16\97¶tA\9f\8bØ\90j¶õ»Í\87,ãÇBgn7ó¶´Ó\aãYÒK÷\93ë:\89»Hóï\0\10TÎWÑlîëw=Å\15Ê\9dÙRm<J
+<.«76tÓ3\1aÎwo×tr¨6Ú\9efÚ¢k\88\83UO\ 2\ruY·\91\bÇ\ 1\ fÅeeë¦w±ýÊô\88\b\b\b~¸jv\7fp,¯ùÿªéýgØ~\17§\ fÞ\81\16\9dòºµ¿[C²`©  ¶Y\1co\89«\1fD\86òþÞ\9bÚgÁ\9b´¦ÊÏF\18\16´óV\14[)Ý_ª\9cÔóÛmoCc½\96å\11.j¶Á5ä²w¿\9b \19\9bä\12¬»¶TäNÂp\13îc\1a \95gª9\94\ 5}\ eÇm­õs:\9fS»ëýd¨Ð¤ûZy\99\14{9TÏøì¯âD\80Ã\ 2ö§u¯\9c\1d;\1c@@Cüá¬Øúo²¯û\1f5\95ÿãNÿ\aì>Û÷\92Þ\1fV·$ë  ßØë!þçaÒ^ÙÒÆÅ\87Âàãø÷\85q!½J\82£Ûgʳ¤\97¸©ÛYÓL×Pl'u]\ 18\ 3?_ê«è¶GØ\83[TMZSLñl\8eç9Eûj\821D\82³saE²ó\18¢ïBÒ\9ab΢nâ¦w¹²_Ûþ:\19aE±7ªÇmæË¥îì½x\88¯\92Êü'øW\96[Òú\98Æ\1eÔÆ\88\b\b\7f 6ZÞsÑï½\a\9aÊÿ?´û\19m7¼ìMÎã_Ò2V\93æu¶~\86_¨7¹ÓÎ\ f\ 27\13\91$|-Û¹\84ÁÃ\14í\97$nM3a#\96i\83\ 3        \8ac\ 3\9c0.3$î\18\92)ÓE\r\97_·&\9bO~é\9a\86«Q «Ünuäõ±\91eM2¹:\ 6ÄÓd\89)pÁ0NÈ\fI\80Õz3NÈJ`\980\f\ e\9a)\ f\97,Ó·^v\1e\114çd\8d\97#   ©\90Ã\11\1e·À1è³S\90bé½÷ÜbÉ
+lÔ\93N1\ 4À\9aq½ø ÀYrÉ;p.\1c_O!`0\ 4\80Ëóc"«ïÊ     c\92\8e¡2\9cM2!eÁ¡\b\98&
+\1cpħHç¨øiMC\81&"\fR\99)\9c³°R L\8cÔ\16^YK\14Í\98$%B\96Xä§\13NÛ/%\114[z\15
+­%­\85\1c¼ö·¢ \97õéîª\8f4\16ªR\98Ðió¶ª\8f¢°§`\81)) \14Ú®¾\ f\97M0!¿oðö\e\18\17£Ö@\ 1\ 1\ 1\ fõö'#Qü­$çÛ~ã+\9e\86«ì¶:îsàz\9e   /­\84\1f\99×oý¾»¢AY»\84õÇ\v'\1cÜdÕ\95Èx^îð\96\eÖp\1c­\7f\84°>M\80ÿ      YØnV½o\80ù³F\9f\81 \14!«©Ýkg5\ý\þ¿\ 1\15ygË$I\8fÆ|ã\ 5ùJ`_\8e\ 45\849\8b&\93I1\1a\1c\93¸ñ¡,ËÆ,â:7$¬HpRÝ.\90M\90\89IX$HÌ\ 55\9a70\88ÿ6\81\ f\87*1Ä¢YRc'\91àU¿\8e\96\1e¨¬Í\99\12\85\9b-D\86¾~\92kK¸ëº;*Y\85©m¹'£T)(qX/\12" »a    óo\85¾\9c±±a»ÂcoY»\1fYÛÂ\ 2\ 2\1fí  \8dO©ç¨=\ f7cù½\9c\82æ¬y¾jÇã\9aþÖ«Ðu²ßo5¨ø4\99V]a;æv\ 1~sSÏïf´¬Ußp²qø91²#E÷»,\8c»%n\fHN¤0\7f#<t\17legô\90\ 1\1aá\82DVt{\9d\87¬Þlú{ëJG\8dUH`zD¦\ 3¥ùdÞÕ\80\9d\16'   ;t¼\81\9aÌ\1ek:ë\f_Îa¼­\1eº\f]\1fa+â¬\v4ZRÍf1\\8c\ eE\15Êg\98ã\8b¥ÄcÀ­3èTF\81\ 5Uím,ßY5®ççö]*´\96O\1a©Ñepäz;?fj\98øØO\19\7fãîo&\18\b¨æ´£¾hÄ\ 4\ 4\1d\9cêv¾\93Ë\r,ç¦êöÜæ\96\86\1fQµô¾aè\87Ù\9fK´Õz\9f"\92i¶Ú\9a_\89êÈßðzߦMΤN;ÖÇ'5
+Dñ¸(,\9cè\98ë7>ã¥Ð]±=\922Xä\86\7f×KßeÙv\19\93'­ð\1c0IgM3¹×ýÎökJ\19û\9fçØÅ\ 1C)\90¸ì\81r\0¬\ 3\10Ë"Æè\bïKe\84üÌ\15aeH#\96\19\17\90Ò\ 4\86\81\v\b³A\89Î-\98\11Á\0\ 4H¨1\11çÆC\1c¬}\98Ï\96\97N\ f\8d8\8fg4J+γÇ3KmV£\9fÙtÓz\8ewu´é¯m(ݶU)\97Ý\ 6\81\rX'ÚQ\19\82ê,Gù\±\91âéØî[-­¡\96\1d;\1c@@@CðÀ{¨\83ò4Y\1f\r~>,,\9c\8co\83¹ÓâÁ\89\ 5ɳ¿ÉdPÌ\ 3AvÀÖ\1eåbLëµøì\97«5ײ{ºª\9dÖ¶\96oL÷   sò°÷\ 4¶M\19\97[Ų}!4æ\18\17\v\1e}\99f\ f\ 5ã\133öf$Ïb(\92ÂC°2[\0ª\\1c».\99LoHX\ f\ em\98ä¨\19\16OD2\99\8a²Ðù\ eæ(\15\96¼ª+ϲ\\82fcÌqvÀÊsòã\12ñ\f¥       \axO\19E\86íj[mÞÇ×YÓM0Qq%\9aN5\99Y\95\10FÞ·À:\87 \9e3\89  ä\8d¿cï8õ6\v´èk\8f÷P\86     !ô:òycI1\1a\ f\ 3à²Ä^i\90|N`'zwA\8a\vÌ\ 6\r\8bËø\8dK\bÚ     9\7fL!Ù\17 Á­\rÐsÈý\ 6U'0\a¹f§\ 2úÂ$7\80J\85\1eY\12\ e\11ÿ0\9e\96\11éy\80l\85öG\1aò\8e-t@¨\ 3b\91ÚAzd\0\89\84\17\8cs\v$\ 2\9cC\18Å3Ë$M¸\8b\ 1Hí æË\vÌ\1e\f²¥ùÉ<\12\0!-J\81³2*L\aÍÏ¢¼å\15¡P3\17ØÄ\84ä\12B\9a     ÐuØG Í3'o\19E\84ë\18»\9d\12æ
+nCç\87EÒ¨èêsg\1e\9a\8cV%\15\849´Vß\exl¾vÖÆ\97k+×ó`\80\80\80\80\80\87úw\96\17]÷(íª1b@àcü~Wÿ\fñØ\85ºH?x\14{~Ubð'}¿/Íy\ 5\9eý3\83îQ\L7ø\91`þB¢wAá>\171b7¿¹«\1fde"\ 2\ 2\ 2\ 2\1fOÖ0\8fAaI2á\82|\9e\ 67\97À+ù]\ faöùôýÔïÉE|\84Î,~\88\b¯\93Ex\85hÇÆÓ³Y­Kc½ÚN\8f¶K¡\ 1\ 1\ 1\ 1\ fúh²:Kô\1599\18Øÿ\95Å!¦±\93âð\fßóç\7f@³ó¨¬Ít{Ý;B&\eä\88*h%ú\81÷\88\f    !ÿooêíW%äô\80ûñ83côøwÓ\17ü\Sïø\16j¾M3ø\8cÜ\93j\1aª¼\1e\95Ã\88\b\b\b\b\7fç¹µ~µ\15¥48\ e>7\1dë~§!Í\97\85g?ÂϬ?Ó¦\7f¢·®Y"µ§ã{\83\9e\10\10\10\10\10\10ÿ¯x\1aêw:Ö\8bRäð#\ f\14\80\88\9f\ 3ßó\ 4\82\8a\89íPó\ 4\80\80\80\80\80\87îû¤æ® ~é\9fÏå`\1f£È{£Î¯fæ*\ 6ËmªG\8eÈ\84\ 4\ 4\ 4\ 4\ 4\ fì \ 2ÄÈ1b|¾9º\8b\97Óao\en\15ywzÿÿäh\b\90ß,OsK;©\1e\83\0\88\b\b\b\b\bfò:2
+Éøp\1có6¤7àè\88ùúx\972ÍxÜw}㲡)\95ùF\8f\1eÐ\87ANãuHWÊ´¢\80ñµ½NÜy\82@@@@@@C7\8fx'µ½\14þÇ¥¢Úu;í¾±Mírkºß¾\vªÄ÷u©o«Ô]Ö'º«\92\ 1\e*e\95\14\82¤\9f75@\ 1\ 2\ 4\15\bk\bPº«J\8a½R;\15\94\87È\ 2t!ó^x`_Y)¼¯JRø|¥Í4%¹«P\87³EL_ÐF\ e\9d\81öæ¬õtÒþ"´Tó)Kº«¿AT\9eð)\ e­Q)&±2\1aÉ\a\13°3¨¬ó\11ËÀPhQ\15åpTqVk5\17\95ʯ¬U\13\ eÀ'dªhå\0#\9a\93Õ_X'¼¬\ 3¿\fÝ&¢Ìh5;võ\83\98®ñh¬øÔ\88*«¨¥èv\9dFò[I=­èFÊü@@@@@@»\9d\ 2\8egKUºë«¨vuôRÆùР  1Yò\9d\90\ 5nócÆ ÷¡cG/W»"1¾Ûêë¨:û\1a3\18¸h©ÁE/)!­ Ø\84×ߢZ q\94\87N¾«u®5\ 6\865\þÂÂ\8e\83eàQYT\8d\91êí\95&Ð'\ 6\9d\9bäøªÚ\1d\9ddþ¼´W.\vÝ\7f\1e³x¡²\95L=æ4\8fÄPüT¤Úé\87\8eÍ\ 4\ 4\ 4\ 4\ 4\13ÚÞ\8b}·ÖYÓÎ\Öï/­i\91ÚÒßZR£&\ 55õ­9°\ f\ 3â´1\92[SÞ\12\ 4\b4\88­÷÷¶TI-©¯m)%\11ÑYïdÎÎ([T\eå\r\85\bN\11ZÓ_ÜT\10­aA}lDl1\83å\15µ8\18¸s¼ä<É       \91T¨7÷\96\8a\87ÈNïíê%\1fy`\8aÚ¡\15¥($ \bî7à§\ 62 Zm\81-¦0^ÙP¤¶%\ 6\84:;}õñ\ e\84"ý&\8aÈA³£Iq¿ãQ^bº\ 4ÒÐàB"*Á"\83PØP\14ûD\96à²kjp\94\99*1 ´ÃO(Ñ\95X6Ô¦¢°Nolh{ª+\ 4üúsC_?iQ:{.5[®¸{Íü    !û\81?³éîk7*.ë>/dÜ>\87~ÇUÿ÷¿z=õ\15ñ;+fªò¹\ 5\85\1c½}\14µ\ÿ^:,p\80\80\80\80\87Ô²¹èoÐU\v\ 3\7fM¡?Ì¢¾7i[QXÞØÑXïv\95ôRÃìÚ°@@@@CÿaaI4ýÛO\7fþ\f\12\10\10âö¢i\1d¥å\86ðÖX³ÿ\93Ð\ 4\ 1\ 1\ 1\ 1\ 1\ f\95þF;\1dì\99+±Fî\19àá3À\16\0\ 4>;,·\15{\93\1eO´¶\11\ 1\ 1\ 1\ fù\86ÓKéú¾w\9aÒz\7f¯î\ 3KÏsS\1anO"-õ½\ fÚwDÞð:_Mç\83ç«ç¹¹n¯\9c\1aµ;ÜCf¾$'\8c°Q|\9eàáÛèݸüë4nBgû7\8c?\9c\83_Üoìé¶µÔ;=Ƽw\84\10\80\80\80\87v\1e·Ò\7f\1fÑýwÕú/;ç;\80õ\1cßÖKu\\9e\95¹z¿Cõ½Ñ7Û\a£úïÞôÞ\9fÏKé\86Ë,Û\9cC"4UêPò\7fÀ;JP.Mìû\95\98\88h\92\95\¬¿ãÿ\89çûkÊnñ\ 6ï%\9c\92Wl\99òVõ\1f×Lü\14\e¼X;ÂR\845÷UÛºú)q÷r4   !íz\8d\81¹ØzÚ\9dÖ¾~[«©Ýì(æzº9\9eª\82cOGµÔÐÌiivÚÍìæ«y1§¦Ûk7rý`BuÝ?¦ô\9fÈý÷9Í\7f\ 3Ôs\7f\1d\ f¢þ-\14×[U?×\93Û*\9cî¦~_L\13\8a\19\9d4þÓOI9ª¢Úêhç5t\93}e,î²\86kQA3ÖÒNêÂ@\ 6\8a\19\9e\9e{W¼Úi\83\f\87\19ÝE<ö³u/¦¦\9eÖÑÍu\94³Úê\19®¶\96wW³Óz¯·óß¿ô^wÎk½wÚÍiÿwüÆÍ7©ç°RZããaòºo\Ñj'M\14\1dÉ\87gq;W+\9fèrc¾_!\85¬äqÏV_\1d\91`ò#KÈ\7fÝ\99)ësçk¸¼vb³/\91IÉÉÒgò$\8eg,.fqÙ\17\7fÙ|\87÷ \99ÇäL\13¸ðåv\87\1d£ry8ؼw\16w"ÔhÈó\96bò$rÞIg/\910dò,9ñZ\1c\9e\vÇ+\1dÇ¥8L\932ÀCÆî²Ò\9bÛ\eû\8dõu\ eΠ}´\97\b\b\b\brúz¨\95\ 6ýZ[\8c\14eîæñÝÛgµ7qÍ\8bÜn+rw\1f\96Þ\9fo°õ^\87ëyï³þ'\18:oOçî«è\96\98 ^\88Q\ 1\1d\8a¤+ËÜvò÷o\ 6áa\7fÅèf\811dÝæ¹7øO\þíò¯/wR\8eîÑ4~ó_«Gg1¨è½\17\9dó\9aNsëù\1d\89Mÿ¸5[\7f\91\1a.\8b+\8cðo^6Té¶N\14µl¡\9bu,°°\ 3\r\8bu\a`8TÅÂ\90ÀháQÿ,²àM)\ f\96\8dT\1f\15 \12'}\9cn\11C>R\ 5ó ÇÈó\0\10\a
+Y¹Á4\98édy1äÖn\154nTÁÁË3FÞÝ3*ä\ 55YD¬,       2\90@\187NÇ<¹\1d\1e%\1a\18;C¾\16\0&m\9b)lß)fãL¤Pk2­\9c::Í\93\1aºÏ%\1e\9fµn©\9eq}³\85O\9c\9dÉüdå\ 1f)t;Ñ\98\1f³Êo+ì©6\9bèþîl\ 4\ 4\ 4\ 4\ 49_áç\8d\9c\8d\fðÝÐ<Y\1fd\1c\15\97\1cË¥t×5\97\15\15] \×Ѫ¾³1(\8cÏ\17¼gÆèÐFWF\83\8eï4\ 5¬®í
+(½±\93\97`îü7\16XNó\¥·¼²¤ç}\aðùÿ³þ\17 Ú)\8e«y\9bïM;ý\8c¯\91¬u\97\94\f¬õ몵K·ÚÅ»íP\ 2ìÀÖ¬'Ρ].­vÿR¶£X²\9c0\ 2\aV·}¬.\ 1á«\8f;Ö®©        yÐë)uëê\8d\87©YL\ 4\191¦"\ 4>­]1òmrÚ\8dB̬mlrÈN\ 2\8f\e\98JÎBu\85ù\90\99ê\97oõ}Êg\1dZ\18ø\84Âà:¦Û\7fêãn[$\927%\92Ë4nI\9cqæß7,ºé\9c\926\84\92I4\86\92HI$ÚI$\92\12B\ 1     $\92I     \0\0\ 2\10\80\0\0<\ 1àðy\0\0\0\0 ðx\0\0\ f\1e\ 3ǽï\1e\0\ 3À\b\0\10\0\80$\8e\8d·}ÿÿð\1aó\ 4\84\93j·³èö\97\94\8dÇ%½\1dw'\15\8dºãuæ¬O=e\92G[Õlô¶MU\93I+¶M;=f\9d:kºîÛ¬½;·o\8e÷>×uí»^éÝ{NéµÚÍÒnÛ|\1an\9d§Ã§i»|\1a¸Ý\8eI,\9cìr?Ôø\1f½ÝÞï¾\92I&\7fKïi~\ 3Íû\92'Åò}  \1f¬Ñ>.\95úÿ\9eýgp?¯\13ð¤ß(Kõm{eõÀ¯\8c®\|(\8fÐs\96ÿ²îË\9f¡¥~\86»ý\84Áuû¤¯læÿdl=\80\8f\83¢z¸ú&ÿyþ\ 3%ú Ñ=\bn\8e\95\ 1Y;ò\9e\82fòK\15\12~Xѧ¶¤Þu=@\0\0\ fèlCd¤KÏ÷¸\ 3O\15ÓRì\8fÊk\17óØõ\1c'aÉ\ 3\98?òæ¥ÿHNÎKm ¯ÍÉûÆ\18Ï 3\9a\0zQQ\ 3¾ªv
+^\8e\9d\1d]2*YÓ\97z«òT\15øÈ\ 2ÅyÞ¡\80\0\0?\ 6psâñ39©u[w\ 5|ÅÆ¶Þÿ²
+þÚJý\f´L\94\92\80f\ fÃ\14Ð\99YFüy!¨ÜäQbî§\aæå"\r¿7\b\0\ 1·ó£~Ïô¼X\8fø\eï>Ø¿\9dÝA_sbÍТ9ñxúÿ¶\82¿5!\ 5\ 5
+YL@-\ 6àc\9d\81 ¥=[O8Dá-Ôþ
+\13\91FßÄ\95ø\0\0mà+ê´=\ 4\15óòzÂxé@G\1c\9b\ f\ 4\93DñÒÕ/õ+óMÉC\9e '\8e=\e\ 2b>\ ejF\16d\9c\12Þv:\b¯lKé.}\82çܦ®~9#\v\8aã\98/98\80tÛJæo®\82¾â¦\8eküZE?ø|XÂ\9c;æíl\90ìµ\ 3\9eF\19Õ¶(°\80N\ fW8P\84ή\82(\9awZ\vÍ{|\89~o\10\0\ 3¢\92¿ü\vàQ\ 4¬Ll\11x§Öãoå\92ÿX·æô¢_Á\14úÞn\ 1Á/à\89|n+Ð¥ü\ 6\9f     ögä¾ÒÞ@Oà\8c\80p7\0Z*\ 1Æ%õ¼Ò_Hþá\14üG¼E¿¸¥õ©}È\9ffKýmþ2iñ±/ª4G°8%$a\9d¯ ¯\95X{l_Ï(úÚvûzîbR%ë\96ô\¯ïA_\9d\9b\93¼\82¾\86XÔt\e\93$\8b\98\80N\rÌá+¾\91\13Ôí$Õe2*\13òB
\0\0~\àÿ'æìí,kuõõv\965\89\7f©\eÌ\ 5aV\97ðkì*Êôüߤ'Ù\92û\1a_[¯°'ð\13ëHÖ"Ë\1aÛ*ê\9b
+Êr7\94$¯N\97߬-ýúïã6düe/§¡C-\1d\ 6_m«~Ýu\15þ\18Ë?\9eó\96¾ÿR\aú\89+û½]\ 4\9b\93\86\8d\80ob\93\13\83ñ\85T&b(¤+iç)'NÝÿ°Æ\9f\1aÄ\15ð\0\0ô°WÎÇ@ÜØ(·\7fõ\17ïÿ¿ü¬§ \8f\84tí(¯ð_\ 3V·ú\82xü¥å\15þf>\ 61ý¸A_\aV\16\9f\87¨¦CG9+wþ0E>\8a\0\0zo=%ãÒpûn&\14ûø+ò0îÝ\94\15û\9d5PøðWɧoØÝÙ\89"
+ø?ª0ÎÀRÓ ¥\9f\98ØÎ\ f½4Á\v\0\06ðWåã \13r\bûü\90Wã ý\94\95újÁ\87ü ¯Ù!\12Wàö&\99\13ÚJY»È+æ\9f\eE¨¾\0\0\1d\1d\15ÿkéSò±?á\9c\1f\851ë௸0f\93V\f.ÿ\9aÚ$_¹Í´+Ë\ 6}\11È©X·Óoí¢
+ø:\9avþm\13Ë\ 1ç\94\94\87¨ÑJ
++ø\0\0zÈ+üï\15­~\ 5\15üÆÛb¯·\10\97s\12\7fÑÚ]ÿEèyDGc#`Ý# \9cã Ýca\f\97KýM>\96øyè[ie\7f\9b;\e\0$¯ÁÔ\8a\15P\99[>ów%~MÕY\15\14úÚ ¯\80\0\aWX?ù\93\83÷\9b\0¡yüæ9\8e_\95å<ÿ+ÊyîW\94ô\ 4\84~\ f?ç¼ìwìs\92è©+ô\Ý\83>lá·Ñ\ 5|\1d\\95úª'\8d\1a\r]\1dÔ\15ò9" tاo\80\0\a[\ 5\7fsÇ4®²
\847aNßÚÖ\f=?\ 3?ç{\8bvþf>\ 4Ûûv¢HA_\aUs\94\1fhéfÒN\1c\ fd'"Í=µ\b\0\ 1ÔÁ_C,kßÉ_ÈBºî ¯º2göµ\83\ fOÀÏô}Ä\15ó±¯ñ\8fíÌrNj\88\ 4\ 2@zÁ]\13á\12WóÓ    ¯\9dùé©\ 18>\0\0\1e\9e
+ÿ;\95u\11|)Áó½m\15ü²ú\91ùh¿q¾\eý´àú#\91G\r¾ÈB9´G¹)M\89, uPWè©OQ¢\95Mx?\9e\93\88\14íð\0\0êd¯Ñ\93\7f\92ûø+òPæ6Ø3\ 3¤\82¾Þ»\98\97\8d\81æ9\8e_åÁ_ÚÚ\8bçc\1fÅ`ü\1f\91\ 5~qî\8fi`Ï\8c\19>\0\0\1f&p~F\19Ô\8e<¾í$°º(+í«j&\9fKr\9e\83\93Þð3ÿü\13\83â
+ø7PWè©OR#\97»ÿ\83"\8aþ\0\0\1d\1e§á\9eç³\8f§Á\82¾r*ó\8f\99}$\15÷¶å®³\90Û\9b~\14\8f\88+àÿÄ\95ý4Ý$ñÛº\ 1É·öø\ 1ͬp\0\0þ\v\ 6~J\18ÆÛs\196ðWÞ\9bVl«ê·¼;ßø3\83äS·Ä\15ðuðWÒ\11\8a1nhü\ 6ÐJ\9a\8a}l\12\0\ 1ò ¯ÈBº£'\95q½4\15÷\16\15:\9aYîg\99æ}·\13§þ\14àüÁ\16¢ø\82¾\ f]\ 5}4ý\1a\19cC\14_\80\0\aʵ\17à\8bí¹W    ÐÁ_,½\99='¬ÝA\ýÚ+þ¢@aõðu\94WúCÄA_ºº`\ 5;|\0\0\ 6\7f·\82¿Ìó<ÍJD{\9c\19>ôÞµÉÝa]\8f\99\ 5|¬>¾\8aë4ê\8a+ø?&
\r$Õ$ì½Þ\87õÆÀ¸\88\0\ 1ûòWüÍU,ô|#¢.w\9a\0½\f\15ó-Jö\96\9d\ 5}½w.D\15ûk$S1¢p|\1d\9d;~ê°~\97ý}\13\83à\0\ 1ÿJ+û¡\19«§ñ(¯íë¹\83±ð[ÞCoöÚ\90\1aT\95ýÝö
+)Ûàì ¯ÝÙ_è%5\82Á\9f\0\0\ f\93\ 5~OªÃëé\11Ëî¯\14_óA_,½\99¸\82¾,\19ðvs\83÷\98¢üN\ f\80\0\aʰgÈ·oÍn`¯õ\1c÷PýªÁý\ 2#\9b9+ñ\ 5|\1d¤\95üä¼\CËH\82¾\0\0\1fï§oî±Ûþã¡B\1dÅ;~}\ 4©7\83ø\82¾\ fo\ 5~%í¨t¼\9c\0\0>D\95ÿ]\91\ e\8eh|{Q~\86ÞJþêÊÿ\8e\18}|\1f\90.\1ex¤¤"Jþæô\ 6\ 4\ 2ùß\0\0\ e·0\7fÿÛ\ 6Oï9î¿ú³\83â\8aþ\ f`, '\14_ÏL!\96\8a¹Á\93ór\911oî\ 2
\0\0\7fÎJÿ¯ÇoýoB\87ÿb\8aÿo8>(¯àìð\19ùînð\7f'\9dì\82ç\1f\0\0\ 1\ 5\7fÙts\7föíÛÿͰgÔÐ\99UDðª\89ä\8cö\90\8bV\94\10"¿ùE\7fA+\104dü\0\0?ó8?\1d\bë»\82¿ÔV\13\92OMw\10\96¢ú\9a-^\82~        r\96A^\8a'A=\ 3\9bDðD\16T&JõB\ 4·Ì§oÜTP\ 6\8c\9f\80\0\0È\9bý\95a;Ðò¾\82)ø°Á\93è]Ô¦Üòó\r¹¹Ç¥z(\96­tëm}\vEj%\94\91\9a\19ø<Ñ\19WPA_ÿÔ\95ù«{\10\f\9d\19?\13\83à\0\ 1Ñöìºf:\a¹\9c\1fô\95\84ï?Éù¸èC\ fmËO\85\97\13\ 5Øó\9f³ Ïè\8e[Y×þ\8c\15óî\98ífo\báüü;µÿ!¬UÒM»4Ó˺ÚV\19¶±t³«f¬@½M%¢ \85ÏO?«#{SBfæqH@®øø\fþë£Èâ°~\0\0\1d\16:\95ÌÉC»ÿú°\7fÑV\13¨\ fÊ7¯\7f«r\11è\91K\13Nßþí`ÿ-)©PÕò\17Õþ\ 2ý¨ñx·\ f1\9a\87VX\94ig¢\8d/aJbÓ\ëiXÝaFËV}z\9aI^\8a#=:ÿ\9b\9czT\10X¾D\15ôGHÔ¿q\91\0\ 3£\1e[V\10m1A\aÁ\9c\1f\850\87Öã·þׯSþöÊÿA)yX?*ÊÿÞ`Éõ3î¹Hõ¾@·ß^\96<\ 2Rü½á°¬ÞK\1aáæU_TWÏjÜ«¨J\92Ñr×Ô6WP²Õ YHo?=\ 2 Z\7fÂ
+ù]{\1d\19\83ü\0\0=F\95\80F@¹\7f¢ç\1f\8a·ì\96\ 5Æ­\90\95|÷u\9a2\7fºìjÿo\ 5\7fc¯À\86ÈãU\ fçX3êH\f\15ðm|Uíoî/Z\7f¶¹\13\96wäöï*§\a\9a_\9avi¤\92-W8ïi®3mb篨f¬B·K\1f¢ \84ÐOÁfç\1e³Dæ\8c¡\ 33ý8¢ü\9e\9d]\9b\13\83à\0\ 1êu\8cÑ£FzJ\eâc·ô¿÷<ü¬I6Ñ©¢s6Ù­Ô\15ý×h\aýæ»\81m`¯û­\ fßÌÌ\96Ç@äðM<:rÆú\9a\v)F\11\97ùx÷Kê´6qn\³=\14k­¥c½µ\83\9e¾¡®º}\92ªmr\9aCMFiY\eÙ6\ fP\82Ñðò&úlQ~WRÔ"ß\85\83>\0\0\1e§`\18¢\9f[¿Ï\917Ñ\vtL\99°S{¨+û¾Ùoû¿·\v\8a4[[vÿÜàÉõDZµ3î\99\99v¬cþ>üÃ⯠±\14`\17ø\1c+7\v\8cqó9è<ã
+\aÂöU\ eÖµÎ\96un6TíuÓúª©¥\84\86Õg\1eD\r\8f×\9c\1f Iw\8a\8d\ fß\0\0\ e\94tcÎ\1d\8d\7f»Â­<¿/ËzS\96ôE\1c±'Gï\eO\83\95ðKK\1a¹Þ{d[7Zµ¿»î,ÿm\9a\97Ðm-Ûö9\17.ÚÓùR>_\16ýÈàY|\8díkÀí ´\14^Ö·üSoÞ«CçXP=µRÊ7ÖÎ\98µ®vµ®q²§e«>²\923GA\v\9c\9d}TBeM\ 3°¬@ûéÁùÃ\83FOÀ\0\ 3«\92Â#¯,7X\ 6\18\9e¥<~       UH\8e©/õ¥\9e©¤F\94è½ãeðt¿\ 4\9d\94³Ó\bùímÀÝë!ÿcÝ\85þßJÿíñÛü\8b\8f¾\90úËJ²c\1f¹\1c\13G\f\9c±à:\b,¤Qk\167Ü+?\93É\19Âæâ4\v³.\8d´2\ e\96u\8eö¶\ e\96udIkÔÌ®ÓHèèa\84\96×ëb\8bñª/à\0\ 1øµu.«\96Ëfÿ{[gþ7zÇííÛó¦þ\1e\ 3?R@aHã?%\ 6£\7fÔøÎ\86\v\15Ä\96\8f\81Á±ðJ\fÜ>5Ç\8dÏDh\98ÑÁ\98³«*\8bXåe­n°£cª\99YHlªx¨?S0\7f\89\0\0éÇ×\ 5Óò\91\1dÆßC¶/çrÜ\87ówwËoÅïîþÇ\ 6O\9d"\8d?/ú÷Îú\9a\139\89\86ìv³;\7fhò·Õþ\ 3o\ 5¡9g~½i÷ľÙ|]ð\98×.;;\11¢ÔÎA5ÓK9×Q;Ú×\19¶±-cKªª=¦£5¡\9f\83Î#}SE«\13\88\1f\94iJÈ\9bâ
\0\0n·q¦OY«ý¸+êJ\1c
+û³6\86\96\94CÇîA_ '\ 1\9fì¶þ\91ûüxíü\88\1f$\8aSN\18ø\8cæ\18¿\1d}_àvðYnä¶°í\1c>UáC>i]\80ñ\96Ýlõ\9dk½­\83\9e¾¥«]<ÅPur\96CGA\f¨Eôð/§.ÃFOöX}|Z\8bà\0\ 1Ó×ûÞ[V?ky+Ñ\1c4β¥¡É_û\1e:N\98eÐ|K\9c\1f¤\9c\1fø\9a¢þT\92þfiÃ'\1eµ\89xÂß\17|'ª\82ÊD\16\85\9dû\8fÔ}Ö\1d§\88È:à4FÖÙ¨bÝ\88¢ÖWºYÖ8ÙS¶WPjjNéh¢\13N!\88\89+ôOtT\93[=Q\7f\16¢ø\0\0z¾/Ýåã \1cg%ÿ¥´®Ðï-±ð®Òq\1a¹½¥\96wÙïl\11¹\88ø=\1eW\8fÔè1cí~Ã\ 1\9f\95Ú\8d\12²Æwqª/ù\93Î\\94.a=³\8b¾°x\8fIO\ 3çÌ\ 2ÿ\88È:à3æ\95Ùgâ[u³\ e\1díl\fÛX¶×ѱTÌih¢43ðyÔo\976¦*\9a\13*SeÅ©©éµEý&Ê\9d¾-Ûð\0\0êy
+\95é \99bxÞ\15}YA±k+Ïëj/±\82¿\10öÛ¢Éàw<ÈvùpWÈÛ\9eòD_ëÕ\17üÌÛ\9eB+@ g\a\81eò;[Ro¤/˾\13\12ÛårÏX½       µ¦\13ïMõH\1dí5ÎöµîVZÖ­të\16´âÂCd[Æ\88\9e\15\10;&\82Ü(·|樿»­M¼QÒ\9eH\8càÑ\93ð\0\0ì,\1a¸·æþ\86       \96\93+\81\11àk1%¬3½\9cR\9a\90\83sÔ«3«äGÚ\9b½5_'\13,\15¹¤?»ª/êSeòÒ\8c|\8c\1a\8e     §ù\9dD\16"\8bâç\83Á1}Ú\83W\15\93Õát2L-T²nÖ\9açkZâäÚ\99m\95ÓìU\12ú*\b\1f\ 5TO"q\ 3Ój\8bùZ2~$¯À\0\ 3«¼%\f2è:\ 17\17÷ú\1f\ 5\87\15\1f¶yô~çMÅJµ\88J¢¿´G¸ü_ÿ³\96\96dÅ=âxön\12ø½á\8a¬!u\86\ 5\87Åå\fá´1\8b\8c´&Ûj&\9cëÒ\19¶±wµ¯k®\9f\94Ó\118\87   \9b\9cz+\14Í\b+üö¨¿\95Ú³áX?\0\0\0w!Y\13~糨\ 4Ùa\11Gc_£\1fÛ\99ãÜ>4\89þba»#\10­\893\83¿1ù\1e9c\7fë ²\918\86ÁâqMþ[,ó\8bÒG0±N@7k§\8c\13%´ZÆ\95\96¬û\ e´âÍ$f~z\0©ÃNúñ\ fæ ¯£æà¯¡9\16/\að\0\0\arO \95ó\96ÖS\97z\fÿ\1cÿü\19^|\8b\9cZl¾RM\8f\1d\13\9e¹ñ·ÅÏ\aº\82Ê\94¾®ø\\e\1f\8ePmò¹gÜ~\96CRãHp©Ä7K:¶û\ 4\8d\95Ô\f\1aÙ]\15\ 4'{E\9a¹\82¾\9biwÉð\aÃ\16\0\0\ 3è\17\e^\7f±¹Çâß[\18d\¿ïMq\9b\9bÒá\¼Ö\ 5\93\83"péc|ÝÁn"q\r\8fÇe\9e1+q¬LÔ&Ûê\8f¹ÙkLÛX\98µ®k® _§\93ÒÑk3óð*½Õ¼uy¥\7fäN\ fÊ\89Áð\0\0\au8?´µ\17þvW\9fQ\96eÇCªb\fà°m\MñsÁv0YH\82ÐÁây';Ò\8c\ 6OI\1eÂÈ\8e\19Æ­\19\9bk\17kZç\ 2\84\f:Ùm5\19¬ôëÿׯCäl\ 2øµ\17À\0\0\1fg\80så_;ú©'?ýØ\b\ 5ÔN3ä£tø·ÜmóUÃñÚ}÷°\82ÊM\97%|[û~CUãñ-~S(ý\91ÓJ4¸VÎ\91O\15¶°/gTácJ×Z\8d~\9eK?=\ 3ók\ f×\90WÊßݱX?\0\0\0w&×T_þ¦}\1fËÌ6c¡\94ðÎ^k\ 2Ëä/¬\1c\rëÖZ\96\1cü\17|+?\93QzÆ®Ì\17\8e-T\84ƾ¬Íµ\8b­¥kNºur\96?KC¬ÏÏ@+l,µ\9f\97%~N;\7f\19\0\0\0$¯þ¦s¿*ðåËË´ä\rgñ/8|#\8f\19\7fÔýÙ7Ñ?åÁhÀj|n<½õV\11SM$ÈËE\18\98\8a-e¦¸µ\8d#%TÚé\19\17b'?=\0¨\89ããZ\97åk·úIÙk¼\89¾3\aø\0\0\0A_\19ô}ß4\80Æbe»-&Å\94\8bÒâu|\87\1eÏä\93½\1e\1fìü/Z\9c±¾_\97|2rÆû}\ðxF^\13\18[\8cÍ@e\97\ e¹\95\91jeëê\9b\99ë\11-RGgI¢Ö+\11\b\ 4ÏûuEþi4\15ò¸4\ 2-Ûð\0\0\ayj/ìuEüiõÿ9E¯É\eÒâ\9e±       í¾S\ 1ªà¯«ü\ 2rÎûìd¶\94\1aøµ'ü¡\19\17a$\89j´NÖu¥dô¦Z³ëi\rè¨!3¤å\8b\v¹-O\87%Ço\9a\97öX2|gÑð\0\0\awj/\91e\7fÝA_\1a¢ÿèðÿ®ZWU\90\89Îâßq¸gDì\13G\93"\8b_ì ´r\f\9eC\1c\9b\87άJµ\91\91v5õ.Äà>vÚú&J£Ë´Ò:Z-fq\eêª'\854_³\8cÀíö&þz]7\806 ¼\1fÀ\0\0\1d娾'\aÿ\e\ 1ḨË2å$\17qÐê\8a\ 6Sðm\Fã\ 6\9aô\15\88«úÿ\ 1\86gá±®\r\9c"\9b\ 4Ûé6ZÉ{:§+-keu\ 3%TÞ\9e\8e+<E\16³Wñ6qý\12n¨(\9d7\16üÜ4Õ|\0\0\0 ¯\88\9cé5ªÇÄ+(;à\93Û8¬\v/\90¿±x«âï\85NõÕ\89\vÚÎý\8amûÕHlâá÷\86ºc\89³\10ã\1dLÊÂCz:\b\ìëíÎ\16Â÷\94[Uto·x¢ý\ 4´Tܤ@¬\1f\80\0\0;ËÁüj\8bÿ³§\92eåÚrqÊøèe<[Þ'\f\9eÙÅà\18ÿ\95w\9aÒz|\aÈ·à\93\96wìCO\13\8ft¿gb4+2Í­sÆÝlª]í¬
\16\fu\aVéc´\940ùäo¤V!      ¬\90{|d>øV\87ï¡\96\89¹·oÏIC\r\0\0\0}*vøÕ\17þÔvÌÍ8eåÚr²z\8c\9crÎ:\1f5\8azPÂ\16òØ\rW\ 5¸¬L\93&&MÏʱ¾_\17<\1e\ 1\83ÄbZ8\9c\a7\ f\9ea@øF)\94¶°1i®p±¦-`\93SS0°\92\9e+¼Å\17öó\83û\r^fKøÄ\15ð\0\0\0°gÄ\15ÿwsÙdbôxØ\f\8e\1cÅý=³\8bãÙøL\ 6«\83¿j<Uñ{Ã'-t¸\ fñ9g~¾®x,[\7f\96ÏDhØ\91?µSJ¹WP\98´"±\ eácLÉW7¦£5£ \86Îοfç\1eû.'U°Í<mqEø¼\1fÀ\0\0\ 2ð\7f\10WÿW\ 6®M7å¥Y2Q\9al\86³7\8d\7fÈb\9e±\18w[æ\11Ã\8cÁµq\ 4Iw¯}ÏE\83\S\96<\ 5íkÀ¨5qYW\8cNtÖ\91zdÃU9Ç[J×kZç+-kMj6*\89uºXí\fü\1fc\98\87\14л¬¢~#g\1fÑ\9c\19\83ü\0\0\ 1ßà3ý®\8c\9f\88+ÿ­\91t\8aÇ\8d\99\89\86å\13\8cùY6,¤\83\ 6J1`\89\1c\8e\11\86sãy\ 6ÿç`Y<}ý\8bÆz9-M÷\8fañXv\9e#\91/{Q\86\1d,¿O(»M"·I\1c¯E\13¢ \85ì`¯¬\13\83\9c\16_\12\0\0\ f«\8a\95ÿïÉ|\1fu#\14\9d\13\8cʲqëy\ 3YþJ\171\8d\81ɨ\19OÄ;`pÅÓ°m<>\b\93\8fgòX\16O\1e\94Á4ðÊ\ 6py\b\9cî^]£²¢¿Þf\ fñ%~\0\0\0úø¢üA_ÿ\8c\97b\91÷Mµ`\91\89\99\9a-\98\978΢q\99)\97\96fÊÉj;,Áÿy8>ið`Éð\0\0\aÙÅ\17â
+ÿû«\14D\9e¢qç²²ÇnqEún\ 1Ï\8cÁþ\0\0\0ú\982\7fgª/âð\7f\a_%~V\ 3?\1a2~\0\0\0ïr\7f6^\81\199^~ë\89Óâð\7f\a_e\7f¡yç`¯\89Áð\0\0\aÿú\14\e:~O¶Õ­ðwy8ÿe\ 5|b\8bð\0\0\aðò\92û.+\aàþÝ»\7fw\ 5|ü¬H\9c\1f\0\0\0\fø\9c\1f\ 6ë\ f¯¾[ê\8bý×\b÷\ 6\0\0\0\f¯>)ÛàÝèÉúIÓ\89­l\ 3ò±"p|\0\0\ 1ÞdMô\17\uáù\99\83ü\1eêÞ|@î¼x\8bÁþ\92xê+®ó(\8cQ~\0\0\0îï\9dÿ9md\8f\9d²¿ÆÒ¶\83ªãëýÆÎ?Üî\ füä¹\1e\15/c\14_\80\0\0\ 6\ 3?¸à²ú¨â¿ø?\1f\90ÛåA_æ¸l\ 6\9f\89\0\0\0\82¾+\aàüÌ\89¾O\86Â\0·oÀ\0\0\ 2
\82¾\ fÌÌ\1fäé¾H\9c\1f\0\0\0}(+çF\f\9f\ai\917ï5\90üA_\0\0\0\7f\1e¤\ f\95´á    \7f\ 4´[è°gÁÙìMùÑ%~\0\0\0ú²Wäô-\b\8c\84ý7)\135!\ 4$¯Á¼àgø·oÀ\0\0\1dÔàý¥\89\1d\vi'ÃÇä©+òuÛüA_\a³\92¿?+\12lV\ fÀ\0\0\1fR\9d¿°ñ
+ï+\94_ìRN\82\ 1\b?¯£'ã>\8f\80\0\0>Æ»\7fÅ 8V\94Ï[ê\8bû\1c\93\90å\17ø=\94\15ñE\7f\0\0\0}Y+ó±\87Èé\88´mΨ¿³Ç¸«M»\b\ 4\80\10\0\0\0õüÛ?\97\8c~\89}\1c¿\1f\aU¹¦
+\87ÝX&\9ei.´\19ü`Éð\0\0\0\82¿q\8c\87âß\85;|\1dN~\evS@abqú\8e\94ù7\83ù¤Ö\føÁ\93à\0\0\ 1j/\93j/üíQ\7fùænë>\83û\8d\19ZS#[Çõzk\8cÁÿwÊh18>\0\0\0ûRWæÎ\e÷¶\fú_ÿ.¬\8dí^\8a!\92®l½\9dQ\9bk\ 2µBy®º}n\92;C?\b6J'úss\19é×ý5\19¦jÄ%õé~ X\93¦³u\8dUÓë\94\91º    ÇÍî\83\91=QRìx\9d>G6ÏÄàø\0\0\0^\ fÿ§x?©¢3¢ \84h¬DÕI$Æ\8e\11n\¶¢dË$üC­\95I[%\18ß`\91j\925Tm*gàepõDO
+ô:ÆZ£Ìé#õ\bàVf\vj\10>4$\90r²Ö»ÚØ%\e+gV\12Eûm\8aU#\9a\87¹¹Áó¤oîH\9c\1f\0\0\0\b+ÿ©\ 5\7fGA
\81éEï\91ôpéú®\ f\0¿À§êx<#/ \8et¿i¤\99\9d,êÉÒ®*\9dF¶Xp\ e\1fm\8e»èu\8b3\ ey7\8cF\19\9f\86Á±øëû\a\ 3\82bñ¸Vn\17\92/|Z8Ü`\89\ 2úú¥ÊY\ eÖK\17\9aÌ\1fû\r¥ß'ÄývDb\8bð\0\0\aunß\9dø\¢ÿV\99qÊ=ã/|ö\8c\17a\9a8f)È\17]}[½­~¢ àß
+ËÉ+ó\8d\18ó)üþ\83?áÚx\86z8×bt?qv\9a\85G³È\9bäø§{\b\0\0\ 1ª/þç"oå¥\18ñ.>c¡Ò\17dön\11\89TE\r=\14HêøöÃ9Üådõ\186®'¡ú\81\84gáu\b_\8aÔ\85½-\ 4\82¾W\8b\r°\9c\1f\0\0\0\r\ fßöù\13}Hù|\eW\11·Ü±Ü\13\17\8c\93w¶°l®\9f\eô\rs¤Yó-ø&®#o°"x\86®)¶¢d͵\8beu\aö±\90ûîÆÔ_&é\86\14íð\0\0\0¢¿þ\84àú\9a\alSÒ\87¨ÖËæÏ¼n¨\9a3mbµI\1c ®\13£&Øw[ïIõ\ 3\1aáæ\1cµÄpôûOG\17îd¯ÈÕ\17ñ§×à\0\0\ f§`ÏûÝH\1fÊG-_\98~çð´ös<kJfÚÅ®º|Sº\10»äbô\97Õï\ fê> -oë\12\8d       ~ 3Ö"í,.ý\9f\13§Éá°HØ\9bð\0\0\aÓÝáÿ{\ 5\7f\10í\80õ[¨Ë\85fòN5³ÎZú\8d\ 4ü\17\7f\ 5\7f\f_\8eõZ\90\81\8dpòîué\1c,i»M¯ÆÙólü®\89¿\8bQ|\0\0\0'\aÿ>
+þbeºúÁâ:]ÊÛZû\85©&§K:µªHÞú
+æ^a³q¾9+ÓF\1dm+tÔf·¹\83ü¬VL+\aà\0\0\ 1\ 5\7fÚÁ_È\1aÏî5²³0û\901gXÃO*«ö7P\83!\13\9dÜknò¬"¡\9bk\15ºXÿi\98?íò¼ú\12¯\9dñ%~\0\0\0ú9ÎÿÞiõþ-ó\19¸ÝD|[wß9פb¨\98ï·Á<\99ÕßÅ\82¿\8c-Æ;Ú×®ÓHö¹\83ÿ\9béÇùé\11\ 5|\0\0\0$¯ý¤\15õ#î\98gDíÄ\ 1ì\13\17\8c-Y8ÁO+ÞÞ\12)~ a\1c<¶ç~ÄLÛXêjNþ\8e`ÿ'kÏÆÄß\80\0\0;ø+ÿ\9dj/©M\97Ã9ñ¾¯m÷÷Öú¤\fU\a{Üû\89\99\9a,\9eÙÅîv(\ 4͵\8aí4\96÷0\7f\91Æäc\83\9c\93à\0\0\ f§X?ý.{¯õ\10\8dõ'×éå;ÙÁþ²
+úå,\87öy~>\9b¡CäÚ\8bâJü\0\0\ 1ô4\8a\7fÜò\8bý5»mÓX\vvõp\15þ\ 1²¤ò½\14OòV\ fæË§·}çO³\97Ë_nbÓ]Øë··A¿Gär\ 4<tMü\0\0\0'\aý­;}\ 1\85\ 38-Ä\ 1ì3?
+Ñ­;ßrfÅM\v¾\15ËÌôûÐ\12Íäû[+þîÔ_+\82ËâÔ_\0\0\0\b+þ×¥óü\8c"\8fM³k÷­?ÛcËßYª&U½\9eÍ\9fw\1f\16Å>b·\10WòNØ6Z´
+~ÞÝ¿+\92\9eÚ \1cØ\aúú\0\0\0ÿï\81(ªîS·ß£ü´£\1f\12Äå\8d÷A\17§ÒÐÃ÷öíæVSSýMÂAßÕäY7\9fP6\9dK¿\19\83ü\0\0\0$¯÷¶Wú\92\ 3     í|Wâq^Ç\81Z@ò0\19ù3¬x\rW\ 5ÓnóÊÒ'ÜßæÙ\87[n¥ß\8b\0\0\0 ¯þ\85àÿÉCf½W\15íñ\8e\1ecI?\b8®êO\13\80ñO\98¾\96uuß\a¢\9e\82Þb\8cQÔ»ð\0\0\0.y3?u3|Tàû\1f´Õ\17üÄÃn\15ÇËú\9aÁÏ\ 3\99\94d\12W77\84\14»N\f\8c+ùÑÛà×ýG\8bS8ÕÚø\bU°\î\ fù<¯ã#\99\ f\84Ú\8bâ°~\0\0\0ï7\aþî
+ùÂxè?í¹Eÿ\94\90^'\8aõ~\9aç\19|Æ)\1f\1a\ e6\9bê\ 6>'9~`ñ=\17!ùù\18,\9a\92\ 3\1d­cye\ 3ÒB·\aü\9f%VB¼\97ö\11\1d6+\aà\0\0\ f£­³ö(%¢»}5_ä`Ôvûòò\9eÛå33N\ 2
+\9eÆÌIuÆ?ãöû¼Ï\87t½æO~~³\féо[ò\e~ãÅ*\81\ 1Ȥ\ 2\8aþ\0\0\0ï³Rù9Túb;Ýò@ÿ\1f¬U¿±}×?5Ï|]ð¸\87l\ 6\88\82¡¶£dÁ¨à5>7\9e\82³¾_Wü>)íCÛA\ºÞwþk0\7fÎÍG\8a\0\0\ 3½¬\1f\95à#yú|\86ß@í\93\8eZ¹ñ·í\95\83bG-eZ¸\9ct.dA\èyËÓ\e§Â8q\97\92\81)Ë[ÿ ßå2\11
+\8a\7fKR\aö=/\9f\12\0\0\ f³X?;\19ï´úÿ12ß\94\90]Æ?rXwKÞ\19Ï\8dJ(\19\1aÐ(\9cgÍ \1a3\99·ã¨ÆJ5`\8e\10-\97½\15õ\ 3\12ó\87ÈÅhrçZ:-Â\1dì`¯¦·oæå"D\95ø\0\0\ 3¹.y~>UÉpN\9a±E\ eðß\83û\16íüܤH¾wÀ\0\0\1fW~\8fÉò$\1d\99Ì\8eõ\8f\8eðß\83Ùé_ù5\84\88·÷\ 1à\ e~\0\0\0úØ2|\9f\ 6gk\89\ 5|\1d\97\11OÈÌ\1fâ
\0\0\ 3ìf¥ò¹EþÏ\1eä¨|x-Ï\83Øiõøß£ð\0\0\aÚߣû}Q\7fe\91sT@ ¯\83úÝ\13\7fDO\95ªHÝáð\0\0\0å\17ýÇ(¿Æ\82ð\ 3®ÆCç\ 6Î?\80\0\0\ 6å¯\8d\9c\7f\ 6ó0\7fÝõÄüX3à\0\0\ 1Ã'ñ\ 5|\1f\93\98?ʲ¿ù©Áóg\87\1f\0\0\ 3\ 6O\88+àì÷\aüuê|\0\0\09Eþ6¼ü\1eÇ+Ïó[Àû1\e5%\ e0dø\0\0\0I_\89+ðnò¼úIÓ\9cÕàþE»~;\aþ\0\0\0\10WÊß\rö)\11\ 5|\1d}àþ\8eëÀ¼\80N\ f\80\0\0;ËÁüqÐ|\eÎ\9c\7f\8d\93\1f\0\0\0
+ÁýÞ\9a¯\8e\v/\83±\82¾<\v\0\0\ 2p|pY|\1fܼ\1fÊå\17øµ\17À\0\0\ 2
\9c\1f\0Ü\1fð\0\0\0?ëª/àúpWÐË\fQ~\0\0\0\1a¢þ ¯\83ò³\aþÃü`DpÐåøø\0\0\ 3èV\ fÐÊ\8a\1dýÇ(¿Æàÿ\80\0\0\ 5\15üV\ fÁ×djÜÑ÷E\94OÛ>Co\8dÁÿ\0\0\0}n¥ß\89Áð{\rÁÿ~ç9Eþ+\aà\0\0\ 1X?\10WÁë·\aý76ÏÆ¶Ï\80\0\0\ 4\15ñE\7f\a¯å\17úo        =ô$Üãâ°~\0\0\0ïõEþd`3ðv\1dK¿Mj/\93¿\94\ 2\0\0\ 1üZ¢ÿ²ñEÿÞ÷a|\1f\9a|\9b\ 6~æùß#Ì+\0nðø\0\0\ 3»°gùîì/²\8f\10Ûðu¼}\7f'
+ÿ¦ñ@YA,hu\9f|\0\0\0 ¯\93\ 5|±± ½\80õ°WèHÇoòé§\aÇY÷À\0\0\ 2
+ü¼\Ô|\14\\vt$\er\98ð¿\aãòf~\8e\99\ 5\14ä¢m\93\1fB8¾\0\0\0\10WÊð\88!#ÉR\ 1làÓL`zÉ+õäoôI\ fPl<JwÊóAû\16¢ø\0\0\ 3¹å­þÖ
+üä¼\|!soÍ\85â\9c\15F\8cZ\83s\ 5}¢v\12\92\8ei\1ao,\17Ááªþ\0\0\0ï+\aèæo7èü\9eç\81>F?¶Ä¿¶0\8aÂ(7;r|ûA\19G²è\9bàæÙø\0\0\ 3èïÑùZµ¿²ñr\87\95\88\90\85/\16ú×\a\ 4Ú³.ê3\9e@:S@\89êV\82Ogã8`G\80Ïø\9c\1f\0\0\0wyô\7f_9´ñ\85J\98\8e\7f+Éäê
+\r½\82QÓ²À,¢\ 4WÍñ3<\96v;%\vÎyÅb
+vø\0\0\ 3ºÑ\93ÿ:&Á\a\ 1\80\ 3V¤oü^¸\95\\18\97%j·\ 2¥&\ 4µ\\19\81pª¸u[1úaÀ7{·tëÆé½×»w ÀÐ7wMÝÝÐc\ 6ÆØÀ\18\0=\el\ 1\80\0À\1e\8d¶66Ø6Û`Æ\ 3m\8cl\e\em¶Æ6Ùÿ\9fáã}Ç·^Òi6)\12\91D¢î\9dÊt\9c¤K\92î\91.\8bTÔ¹(»³¦\fÃ\8abÌÈ¢S°ª©UR¸\17\1aàLk\85\8aà\
+\95U^µ.R«.\1dÂ\89T¬ú\9e\aÚÙ/z[wº^õ«)ø½ÿ¼lº\19ý\8c[úÌöSÚ\9d\17\1fYòé&3Ôr\9eE,·\91K/Ý)%|zMgÎÀûÇ\93I/äÒËøñ I\7f#\93/\9d£\94\87Í\9e¥\97Ï{°W\93\95úøôzÏj7ý\13åQËü\9aOgÍÉ\98íÈh"*?Í\98Q2
+I_Ï\8aâÃ0ËÿÉów³Y8Ò\87ê\11a\9c÷sFð\9eU&¶4\80Ï~\9cÑîçß\95¢¿\95I/åò%¥·\9a½Þû]ø÷Æ}Ñï÷{-;ü\8a|\0\aóQ_À¿ëók)¼\1f}\89\1c\8döÒ\1ea.%ÒÇ\emDÔÜ\8cÎæKë\e\1c¢7\8e7\9bÁ\9aì?Z4\84õ÷\1e伨O~Ä3à\9c\1f\99æü¼ï»)'>¾\9d\13²0Ï¿·;2È>\bw³RT3ó4þí\88rÐý{¯í¤ôO\97Ð\0\1fx¦ãn°°o­,ë<\16\87tTò7¼\9a     ¾>ï]Àý\9b§÷}ów3ê|\10V÷ý7KÖ{7L.úÞþ}ûs³\8b¹\97¦ãNÔ~Uïc\9b½®§f¹¢\1c\0\aþ¯ëNÙÈà_õïzýZÊj\bÿ}\88±>\89²²­®áðZÇÿüvãáe}QðUåMOã¾\a\13éÛ'Û\12Û     ~\aùï\8c\11ÜÌú³\1e\9aöTp\0\1fËq7n«AuqÒÂÁ¾³±©\8dî\10Z\8eåð\1cu?ó¾À¦%þ5\1fË|®Ô6ܾTr=ëúBÿ~ú\91íÄ¿\9c½\95\1c\0\aóXàCaË¥ÂÁ¾¼ë\VÓñ£ýôcÄÿ\90Íʱ(j¯ù/\93²«£ßý»éæÿÑo½Vú\1fñ\8aϹI3\91¿Ûmµz%Ç9`\0?ùo+\14\9f\99yÖ¸\89E\8aîë\99\8d|ëLO©\ 5\1c«rÃ\7fãp\ 4\1d\1eû*ùãXh<Oÿæà\15X\7féSþåùÀµ\1c\8dï
+r_ý¶\ e\91\80\0\1fcïþ3\91Á\9aÀ¿¼ÂÁ¾¸¶³¯©¡\8b¼\1fö­Ê¶ÿvÇ?+c\93?\rôó\7fzüѾÝ\82N\143ÿÅE~~w^»ÓÐ\0\aÿm®çós\9cêØ\9bÂ\\1c\vÞ¿[©Ñçrêèø0ì¯ÿå»/Ê·zf\1dçwÞ¿ë\ 2§+ý½ªª\8f\eÙ\9e\85\8dO'\8b:á^@\0\7f=\16/\8fQEÀ½¼¹ÂÁ¾\80À¿ëÃ{¿\ 4\aNÒ˧kÏ\80ðy­úQ<\17\16Ý\b<\11<Ý¿\1d\8cL\9b\13&\89\99\87\83õ÷ ®æY\ 66\ f\1cLûÝ\86{pmµ\9eV7\9b\ e\80{~>l0ÏRÛ\9d\rôöÝKX1¶Qã~æeg\16(\8fæ\8b!£Nøp\9d̳»8#K>îG\ 4Qmg\ eY\ 4\95\8b\87îæYS
+\19£\16aws¸\99ÆT?\12\13çôûxx\97Ôo÷¥\9fÎÓ<\10=Õ½\95Ç·ª>Ü{Ò\86\7fYåéÛ.
+üï7ãëC½¦xoeG®¨¡\ãò\0\ 3ú,]aàÍËWÕQu®­ðp/a¢Ñð\18xWøX7ÿµ       þ\81ö¦wúÏá\9d÷wVö<ºN\ 4ܲã\9bÀ\0\ 3+í/FWÏÎìä¤6úÍ'Ú4¹F\93÷I©_7mûÑ ïiÂ\ f\84è\97ck®Uß\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ fü\19\8cÇgü\7fÛÍþ\rÏßÿ\8asIWñ\7f¹ø\136[\8e¯Âþÿ\8f\8bðû\1f\13\17áü)ÞWö1ÿ»\9fÛÿ\86\99ü_êËÕhÿ³\98øY\8fÄç[Rÿ{\17áÿ_ü\1f\87øX¿\ f1\13óð \7f\ 6\aû_ÓÌf>'ÂÌf?¥\98þ¶V\1f1\ 6?ï¿©\98Ê{\9f\8d8\80\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 3ô¯\95\8dÐf÷{9\e\1ee-¥\95o*\87{°õ¼¨¸­W\99ñ¹|\9a\ e\ 6âZ>eSE¿¶³¯\8fyug\17u±çVÓô¹Õ\94Ü}æÃÖù\91±¼\8düÕ/\13s©Ðø~åéa\12R\10AR\9eíäcv<ºMôÔ\9cl\f¿£äTÑp:\îe\85]\1cî¿ÓÔgóYpV«Ìñ*¨ø4ô;ÍF\7f3\1e\10æSq+¹T2z_\1a       M\ 6Y\18\82\13\8f\96C?¢ä\16¶uö<ºX#I\1eåàöPh\1f\8d¼ÙHû7\83àÁ¤È%\84\12ÚÒʲª\93\85\ 4\92\8f àÑFêgÖ\87\15t\9b©\9d<\8c\86\b\0\0}ÓUæ|j\9a-ÿkµÚÅìba`_cãcaá_Ïl}Hh[êô\9e/RÚÎ\92\82v6e5¬Òö0ð`Ì¢àuþ¯Ìµ³¯ÉÉÉ\82\ 3ÃÁ¿ÈÈÇìâö7;\1fV-\ 3\9aê\8a\e*îT\96\8bâåÈ\rÄ¿\9f\ 4\15-èxýù=}×êò8\13Q|Ós\1akûÞ¶F><\11./c\ e       [UGÁ\8bzF\8cX*GA\9bª£á]ÜÛLz\7f&4\e«Ñø\98øøÕ\94Ü]g\9dþL\vëÈ%n\rýìRúó«\1e=\86\7fA\93A\8a\84\86nñws0ÑS¶³¯«¤áA\17C\97ÊùùÛ*ÞVNFD\1aLÃÁ\89¤ÌllZ      í|YC\ 6\9by\9c\9e$\1a(\83Mwý~¶\14\19\1e>72\9b\88¢Ä\0\0}Óu²ÔAýõÜZYPnuû½\9c\8d\1f\ er\ fïÞæß£+çü\8eý\15ýN\83©¢àdääÅ¢¿#!\9b­§ãäääWÔò83rÓûY*n6ï\ 2úîîæßc¨ù¿f\8aü¦\979mаìbaRñ' \89xS\9aØ<Ù\18øû½\96£.
+\83\e\83\7f{9®ô²â¾\fܼ4Wà\99\e©\9d<R{cê÷è¯ÖÔPúòÞt&÷m«·èónîmµþ¯Ë\8fE\7fQ!\9a¤áÎA {:ú\9e\1cö»y´ÔÑpw\1d{¾¦\ 5íÜÔ®UñbyüÌ\12Ú    \7fiÏ®ßmäæõ¾\84\19\1f7\99ÉÆìâíå4\8f\88 \0\ 3þ÷ðCò0ð/¶º½\14;¬mN\83Âàn%²227{)\1eý\15ù\7fG=\7f{w\85\81}\16\8aþÖOÌ\83ÍcWI\17wÇ%¡ð÷\9bMNNFE/\12{ìÑ_\9fÚIba`Ñp=x» í¬\9e\8aîêÞξ¦OKãG\82\9a­\ e\1e\rý\ eûm\1a\r\83;ìaám¥4pÑ_ËÞ{÷è¯Æ\9fÐh\96s]é`ßõ÷\9b9\18ôWö:\7f.òë§Ñæó"ÞÝÃ\ 6\1ew_éÁ!«ê}\88o/Ʊ«£êõ-`ÊbÂ\e\r?\95uÓéSñ÷\8f\88 \0\ 3þÆ\ 5õåe?\1a=è&\1dKk>]-\ 6]\ 6\rF\7f3GÂÜbö1)¸Û¸h¯ÈÈf¹T3÷wVúþ÷
\12ú\8a\1a\8a\eÛ»\98o?\17û\14Wä´>\1duG±oÑæÉés\91²\ e6óg\87\83\7f´Õh#ÁR2\19¾¯RÖߥÍ\83         9®ô­º\16\17\16\96Pd\1fV\8aü2&þ÷­Ç\9fÚG¢¿\ 4\89ÂÀ½\86DÆ)8s¸øØÐiV\bÓ­Ôµ¤áÎ|ëËö$3V\15T\êÎO\7f\86\9c\0\0\aûÈxDØ÷ \96ØUÑô,jòè0Ké¼\8b\9b~\85\95m?
+vb\1a+òzO\1a×\9f]]QC\e\8eg\8b|\19\rýíÜ7Ó\17}\8a\9eoǹ¶èSÐÏÇÈ6:\7f/'''w\95²M\8f\ 5VSñ»^ßåuO±©Ðx_Z\8aþ«Eñ`\9aü}ïµE\7f\9d[Okg_#íÞm[¶\93Ñâa`nf}h4WUGÁ\9bÖé£é¶\r'óy\9c\9dN\85{x¸\0\ 1ÿSµÚío¦¥;ÜÂw\85Ë¥ µÊæ\a£Ð`ßÍJaá_ï¶òp\10Ñ_\95óó·ý~µ\ 4ö¿.\19\99\91ük»«~\fÜ·¿E~[Ðñð°/·ýéU\f­ãïv\9b9)\f¸+\81¸\95\82RTÑo÷û\89X
\8fb\ f44\93\15ù©o6 \13½ÛÉÇ¢¿×êõ;û¾mo£\9e¹·èA1u\19ü̦\979\1feO=°õ0oúõ\1eÆûOíó\1d@\0\0þJ+ûݾ®?A®«¤á[{tWàÃÜÛt óIh¾,\19\944Wõ¾\97\93\8f\8f\8d71¦Ë\86e|ï\91\r\ 5xh¯ÁãáNëa¡Õ\ 1?¶ÕCÂ×ûÔâîæbâ 6Z\9cüz+ðE\19\19\18ðe\9f\932ãÑ_Ùjd0oïi{\94\879|\9a\b\r?\95ôè¯Á/!Þ0Á9 \94÷·\97V¼úé}6z=\15ü|nÏ
+s[ß\81:\165pG¾Ï1\8dâÁ87þ¾³¡cU\91\8f\8f\8b\89\87\r\0\0\7fþ\8aüÔ¯\9b\17x\99\16\8aüÇ¥ò`ðM\7f\9aû\8d9=.r&w\95Â7WTPÇÝÓâa`m5Z\18´WãþRPNG¢¿Û\8a5\9a_¡E~WÏÎÛôll«iõ^gÆÔgó=K^~\1e\ 5ô=\ 4'éQ_\8f&úýn¤×rü28ÔWûY9;ïof½\ fA\93ç×ÔVò¨a̶úÍ'2\9b\89{ws\93\91\91\ 4\eyÕ¸ãïv¯\88p\0\ 1E~vKCáÖÓñ¯:·\10òß\7f?e\7fÑ\8b²¿·èØÎëý(¼snßY¥ÕèüH´W÷{I\18¸¨       \8fKäû\9b+ü|y¹\8fCèQ_\91\90ÍVSqnº}( ÙoC;\81}ygaS\ e+éQ_²®åC³U \9e×YØUaàßÅÙ¯|ý\95ÿ.\1e@¾_Mäu-lòrrq»8½.w3\87;1\ 4\15$ã¶@\0\ 5\15úJ       Ý¾³I\85\83}Éânaã±âÑ_\96ô3·÷¾÷
+ÿso\r\f?\7f\85\7fÁ¿½áNKý
++ñ:\ e\96ÖK³\8b\895+¥\9d×ú}\8cL.4þÏêQ_\8dÇoÉé<kn\85\873\93ÄË¢¿×ëx8Wÿ&%&}üÖW0Dzìaàòx»¥ï\rÀ\0\ 2\8aÿµE~£\91¿ÆÆìÃÔÕ#Q_\89Ì\1fÙ×÷ù\83ýæÓS\13©­|\1cÁþ\979qkÏ«¥áûWÁ¿is\9c\9e»Ôÿ/~
+\97ôsÙ99<9ít\19\1e\16\rôæ»Ñýz+ú\89\fÕG±¾¶èXCË÷F¢¿eàæ\ få4\98\98x;\9d\8f­\ ewsmÐ\94\8dÐ\98³ù\98op¬ËÒ\0\0\0?÷E~²\9f\8d{wsgaU\17\96ã\8bE~FC7Êö7·w6ñh½Fê\97\97_\aJÿÔè|($5͵\9c·¡\9d\8d\90nv>·g±\89ëËyÝø+Q\9fÌÁ.k꨹\9c\9e%Ý×N\1a0ß_\98?Ïæy<]Íů>\1dæäj+üyý§\7f¥\7fÒñ'²1ñõ\9e\91\90ÍTr7Öý\e\18Ý\9c6\r   Á¢\8e]-\ 2\8aø\0\ 1ÿê+ø\98x8x7ó»\ fN.k\16\8aþVÆ\7fG\85\83}aÞë·óûI,\9c\8c\8an.ëìõÛýÎÇÕ\82DÓñ÷\91`}o¥äô¹Õ\90ð¬>\b\93\87\87\83}uÓèóëê"ÐÃú´Wõz?\12Ê·\95ie[\r\12?{®ßæaÒLöÃÔÄÂÀ°ª¢\86\ 1ân¶\17\9d[\8d¬\9f\99ìÒ^ô0/¯!Þ\1e\80\0\ 3ùè¯Á\91Úóë£nµcQ_\91\90ÍÖSñ²r2,*¨¸S\9aÞçp\7f¼\8fÜ\1fî-, ÅFíýðõ6\98xíþ\ 6âV6+s3ëCÐocQ_ÕèüN\8d\8f/\e³\8bÊ¡ÞïvòpfVU´ù\18øÐd\10ÐáïÑ_\83&ÇÆìäcãÑp=x¸O¥E~/p\7f\9c\98ôh¸;\8c\L:n6ë/\85\7f\91\90ÍQð§ Ð=\9d\85U\ 6ç_\ fp\7f½»¹¿\8bÜ\1fâpÒ\7f7\ 2öîÒʲ\r\ 5MÌi¸3rý;Nt\13FfE~ü \0\ 1ý\14WøsÚèÔ-#Q_Êô\19ÿË´²­ÉÉÉÅÄÃ\8bè3ùÝ\7f©\17®fWTPããvp°/cz
+¿§ÒçE¢)\12û"/g\15\81}y¶\94Ñåú\fÿm'æ]ÜÛäddba`v10 \8cm9õ±hüwè¯Á\ 3àß^A\11n%¼ÿÕ¢¿\17Ðg÷÷·xÝ\9cX&.˹\7fE\1e_ ÏùÕ\94Ù9\19\1d\9c^ç Ïû8¼)Ù\88½ÄÂ\r\b\17dDô\1fýýïZ\bf\f\86\9e\86\1c\0\0>émg_\1f²ØÈÈf¸ÛÍ\95M\16þ/¥@9Õ\94Ñý+?\ 6e\1fÒ¿ò:\fÝ\ 6ëa\ 6SÒçVSÐû\9e\95ÿ\8féVÈ\bwf°úVÒ9kÏ®\87 \81åúWþSK\9c¥ \9eèXÕÙVÓð7\12°J\1fËô²V¯Gâó)¸\9cúê\88×Ü¿jô\9e,\12ªw_éþg£o#zWþ\ 2¾ª\8bg\95Òí¿#Ò¿ò\19½îÞN®\8eÒʶ®\97\87\97é_ø2\b#{\1e]-¥\95eo*\86ncM¨uÛ\90\0\0\0\0\0\0\0\0\0\0\0\0\7fL&\87Ã\9bÊå­¸óû=\96§?ÿ\ e\ e¯þ\93D\7f³Ö \9dþ\886\0\0DåêvÚ»ûÞ¶NNN>7g«qi³\92Ð&\88\1fLÕèüJÊn/G\9bÌÛë\1e³\84\0\ 1\97]ßļêôílëædsó\93\1e\8d×O¥Ò²¬\87®\1c¦\88\1fF\8aÿ\8b̦âÞun.-,\9b\0\11ͦ¯C}yu\ f°ïàþ\86·óR\9d~·R\1e\940\9a }\eøÖ³2Z\1f\ ew_éâa`k½O\94Ð\80\0\ f\9díþ½6z\7fk%¬ó¾D>h?¡ÛûÛ¹ý¶©4@ýO\87\8f"â×\9fÂ\9d\98h(\ 1û\95tåý\1cöÞSIëËyÛ\1d?\97\eÒP22\19­ °CÜÖ\e\7fï     £\91ÆßIÍô\8eI$\8e\r°lm¶6Û`\0\0\0\f\04\ 6\0\0\0\0\0\0\f\0\0\0\0\0\0\0Ð\0ÐÓCwtÝ4\9eÿÿÌú\1fǼöM\9d²m­tµªUm\89T¹(¬K®\ 5¸\\95ξ\ 3.-Â䪼\95ι|\95«°;\a\92¸U+à
+¥pîO´ü\17ïu\91Ç,³\ f¢:\89Òp\bò@2~\ f\80rPÝO_É\1fÚu¢V£{]\ 1\ 3ÍFuÖä£{<õµ3Rè¾´\87\9f%\108ñʧÉ\17LÄÀ"CzuÄ\10æ<~\1f\86n2
+r;°¤³ôb¬!z~°\94âD\884L'[\f#æÑEýÞ\8az&\11}\8fh\7f1\bJÂt\93æÙ\1eñ\88ó\8d\91¼V\ 6Ò\83V\9a\8977\eØ\1f\863³øÑë¡ÞE      Lð\8fü¡ù\16Ý:£ù\8fÂ\9f\eÚçÍFA.\8a\81SXÆ1Ùu®Ë\96ì\83ÌDuDû\b\96\17\8ae¼VN¼\9dtÌT\0J¢V­\eÆvyóQ}a\eÈ÷\84¡~\90\83÷\ 428Á\12\89ê\9d\9a\rº¡ÈS¡k\ 4\ e\10hBq=~pþiÙ«\ ff\88\81ä»ÞôÚ¿ï͸R}Ö<TEb\ 4\92ïûè£\92<髤VëÎܦ\8e®è\97ꤠ|¢?ß\90\9dÍù\14]\b\ 5õ\ ey)\9e(\1f3\15\ 2ª\13÷VíZHAôDD%ÊÞz\15Õ!\13?¿=\ e_\82Ó\1cH\89\ 4¾\7f*       Êñø¾!HÑH\14÷g\ 5
+\84n\10</¢¡\ fh\18ëËK:a»ä\e     Óå(º#{\ 2\8fk@árÊB|c\8f\v­o,r\8f\10Ë­\8e\8c$`\9eJ\7f¿R¨¾²6Ò\8a? U.µP\90\9b¹\18\16ù\187\ f´»kÚ\85¾I*hó\9eçä\15\11E\ 5Qþý¢VR\82\9f*VV7°+*\9f÷è\92£_\95¢Ð\8aÓï\1cÑ¡£TªçPëØ\92\býãÉ!ÛÏÉÁnÙ«\97.v5tm*fâ y¯}¶\9a}  o\9a\9e\91\9f\8eÉÀm.>\a\97}³Vûí´³1¦"z¯=)úÞ\93\95oI5\eÙçàÜ×4Þe¬\86¬ \92{\81 \12\8aS[O9Ã}÷.x6\15ÙpëX6\f\94ª\9d\8eÕÑË\12$A¨Ù¢É~\87Ïç\12êfÄ\8f\18\1c\ef¬Ä Ã]xç\9dÿ¿\94¤ñ\8eý2jPjf\88\97\94óQBM¹àà     o\16úÑ\12\ 1äQóië¨\ fc+\12ï\12òÉ1*Þä4=ÿ\16úÕ¾\95ÂÞº\81\9eîå\9dD×Ѫ\v:ÿ\8aîÎ\9by\93\10´\ 2\9c\8cF\82ëv¬\9dl5Ì\e\9aö\8cÙ\b|.!\1a"7\8a\82öpîì·Û4\1f\9fG/\10;¿\1eÿÊ\12¬ô\97utg\ D½\19oL@¶\9f\8c°¤\96\94pplêè\843_G*?\9dÍ\85\eé¢\11è\94úY¸Î\e·\v\137\1eý/"\ fñ®¢\94
+#\83\81Âüü\9bJ\99À\9c\15µ}ü^èå×§[óØ0þJB\b}_aÜØH̬;°ò]<ì\86\8c÷T³mù¨sÉLð«1om\1a³ÝsÀà%åÜ^ç¸Tû;#\0EÁ<åaÝJB|o)\b\12z'÷¦\872~\ f\80D¢³a\1akiæÑËÂ"k\89UE-     ®¿<R7{sh($Xù\9e\91\83\14¢bÃYר`}@ÏO»\v|\83C\1fô³qÄþ\14{\14\81E\8f1&\ 2åa­¤8ö[{6Õ\93ËYb\bp#\1c¼[ŬÒPÊxv\17ç\89À*<(¨\8d\v\88·©àZF
+-ljgºÝ\8e_mBß$\9f\1f­\9fSQ\10+±Ø|Û\1aÃ\89J\ 6ZÝÙRï2Û\14ü\1cÄô\94\1a9\81D¼Ì[к\ 5:\97èd©ªåUüþ\9fyÖA\ 4\7f¸\94ñ|hõÊ\9b:ÚZ\19Xa\86àXÒË£@    }ÖWò0mÛ¶j\1aý\81q\\1cõ\9b\8f|\8e\80\9f%\95ûj¹ÐÖ0Ó;\8aú-­uáª\9310\ f%\9du\17\8d³Fa\9bú\9a9a¤ü\ e\e\86\83yk'\93w®vG¸$\ 2®\ 2Ã\r\f\fÍáás\87wbîõr]Z\1fL\19ï\91\83p\1fî\1cÜÃ_NV\17¥úl¯\86Ã\88\1cC\97\96tØ7\15Î\1c7E\85\17\91G%\95û«*Q;\ 4\1a?#MÝÇ.\¼°g_G*8lÜ{ñ\111Ú×\ f%\96\86éý¶Wê§c\84¤\ e\ e½µ©ÜÚ×ÞdÅ\11½,Ì@{VN\15À\85\83ú6utw÷Ú\89\7f#Ýèú¬¯ÊÂt\82Ê_\9f\91aK/\81o[·³ª\10\98R(÷\1cÏf\8c_cÚ_¡\94\1f\1d\81oY\85u^Õ¦îN\15Ê:+³Q\90B\10\vêîÎ\98P\9d\86ºÿð²¾ö\90\95ôR¡\ ea\רRËheá\8a\99\aû\84P\17»Ú\1cú©\9e\1eÃcM0!\917o­ª\9b5h¦\8døV˦vF\ 3V{¸\17\15¸\97\96a?âßZ¢Ã\aße\7f
+êÀQÔT,#@\9fÅ\1e\11ÑT\8eî{a 1ÙÖº±¤ÔÐÉ\155F\97\16¼´§Þe¶*¦\9e\8cW\16 £úè\19é²¾õ\ 6\863ë/ÎgºÄI\81<\85u\ 4D?<ä\7fkyMÙ¹¤8ñ^6ûí©\97|ÞÌf®zA]칺\9e¥\\9f\87áØÕÑdÅ\80R\82s7ßk\85s`öÊü´/È(f87¹\84\v|\92\ 6¡
+\88\84z\8b'|jQú¢r0#¬ü\9c$%±5\11×TÏÊÂ\rr\10°j¸@â\ 1
+PÙ_ \8fú\ 1·¡¸Â¿hì\19H÷½Ý\f¼FÍ\19Ê« ;\7f¢Êøihg\8au5ß\92\1en§Dçù¬¯Éwýö\1aÚa\8c(í6GÁû\9aÚY¡\9b\8e÷Ñ\\84\1fD5°;\81:¾^KÁðfãß©¼>\15×?!Â!\97{[\1a\92üZMôJÛJ\89¡\14      *öÉ\90\7f\8e^%Ú?$\8f\r\0w«÷þë+ô³\10ᥩCêXêa­\rÔõ\9eE\1e«+â|n±`\8du\84\15e­W\91Ë\9e\av\fÄ&\1dë\85s^\87\a\ 6þlêé_ÛÖCu=wÖWÔ×SÙù\ 1ÒHåhe<*tM±.âzÜÐätéà`\92|µ³áËè±\e겿E-â\1c\1c\87\17o\82\8eZ\109\95\13\81ôѧ\9b\8b\vBw\89W\88\10Q9tWY\ eàØÔÑ\8b\82ö\91Ú«   \916Wã{}\0é·\9d"oU\95÷´\84\88\81æd`ÛåâÞ"Ç\bÿÛÿ-bRKÅ¡ÉLñÇ\87Ð)¿u\95é\1aÖPI\ 4\ 2+\aI1\f\a\8fÀ\9b(\82«\88ÒÚÿ¢Êø©Nó&6Õ\93¼]Ã\7f\85\96ÞÍ\9d<Ò5J\18¯ò4\1d\88 ö®\8eX¡È¡PæÄÔ\88\80æ:Ü3Ϩ\18úÊûä\eE+â\14iG±ü\8a\82üA2fc)v_#\ 6á~\86Lz¶\1aEtD\8cÔÐÊDn$ð\94\82\9c\82\87\89î\95ZÕN\ 6\v'L<+q\89Äwk òÊý2è\9döÍE'ÝnÇ/MBý)%\1dä\11^0ÇÀ\11Ü J\94F¢zÊQ))     \89Þç\81Â5¨È\94õ3±Éï°¸nÞ\99[L".S¿¸wùa\ 4~ìåo_\9c\1dÙ\81oZ¶\ 1\16r?²Ý³[*y\9fºÊøfþƦ\82{paÜaÎèooªÊüü\97t2¦\83ÇßL\86§\9a\8aª\9e\8fu\82µ\10µ­Làz\93®Äxg¸ç°n+\87\ 1/\ fÔÛÙÕ±¦\98[\a\ e\1cv"\8aÏF+E.­\ eãN5d7\9cq\96^\8d\84Ó÷Y_\ f\r\12=>á|$ñùÑ·½]Å\1e«+ôRÞ-½\9dDï³Àئ\8c÷]Ø3 \f ¤Ø\99ñ?¿)©ÉôóD\89}e|#E5>\94\9fwçØ\81ªÙ_¼³¦_\9f\92\9e\9fÔ§\8bâi½¹ýVWá>_\97åOD\18/\1d\1cÌDN\aÓG\ 2Þ°?­88Ð\87Ä\150¯CÄ-Äu\ 2\83bæ½6Wß\ fU\95÷´\84\b\11L\1dv\ 5ºz¤\13\11\1dTÓñâÐä¦zè¾¶ÿ\16 \10G}\87[O8H\f\e\9að\9fѽ"\11\86¢a®½\16+¿E\95ú\99ÈÐÿuÜzY¢º\8aQ\1d ì\8c\e|Ì[Ôà\ 3íë¨\14^\9d~sΠJº¥Ïë cë+ÿb\råÝYR\88A=ÈZ¹ù\1d\f¼I\98¨\ 6Lvl\95ÜJ©²"&\12:MÈÝ\9ewV4\9aY¸É²A\9b\8f\7f¡\95\86¶ª«¸®¡\92ïûï,¯\85\9b\8f{kS\99ÇÜaûj\17éI(«Öή\95m\ f\8fy\96Ú.þ¥J   \1eÕ¦ðç\93G%ùù\15\93òVtë\82Ù[QGÛUκfá\ 4\11ÿ8W\98þØnó§¸)®\15s1s\14Ó\90\ fÜ\96WÃ^1/,òø®Î§Ne\86\83rY_\roSDõqé/\98^\9f):'©l\ fövF\0p£¬Wz\9f\ 6áÚÕk¯Î\8eî~IÙ\ eàh\1a]f\9cwr\97\9a}\18JÔº´?)KÕÏïÁÜaÛ­÷ÛTù#\7fM\95ðã°à\80\90ï)&!\84\92a¯¦%;È£Õe~¾\8eW]~zzA\ 1þ\9b¬X;²¿Y?"?:Ö\eéf!Û4Þ\8fî{o¬¯ÏH÷8x\Æñj\80äc\0\15\8dù\95Ô>1\bSqXB[¶\9b겿3\15\ 2\1c³gP¹
+ÈB     \9c\ f¦\88\¨Ù½kaÔÅ\19\87þ¹sÀ·hªÂ\92[õY_{H@±\ 3ë\18ík§B.
+3&\9f\8f\16\87%3èe<\ 1 &Ü$7W×\95\84éFöº\1a>}\19Õ\11\ 1ÌÈÁ¸\ 3ï²¾\12\96ζ\94\97\1e!üT8C\82\94ZyÙ\17\96\95   º¼#©HO\8e\15Jç}]Ö\97Ô\f}e}ê\r\ 3\1aþÛ#\8fzW\84\99+\vòKC?ð¹r·nðIVLvi&!Q\9ag   \90(¼+«\10À¤t\99Xk¯N½\b\85(`þüîÊú.ý^YÓÔÎÇmìê;È÷}\95\vúÒJ.d\ fÛ«£\97\1f\aî        =K3\ eµ\95ñ5>_\97\85:«=\19\ 51D\\vzÔô»\12̧zÑX\82\bý¢Î¢h1ªB\ f¢êõ-\95:ì|\vx¨/g\92Êú7\83¾-í\9aÝ\99«j¹ÝÆ\1aü\96Wê§cÝíY\80̧O7\94\84énmìT};Sæ\82SÀ¥\95hþÒ¹?\88\18\98\1ejÍQ\9b\8dì4Þdû·ä9ZÉù\1d\8dM\17*i;\ 6ÁÙiË(~\18íù\98\98\0Õ¦ÍYü¼<!ó¨Ý\10¯"\8fU\95ð\93õt³\13ÐÓ\10ûË\ 6ai²ÛØYD ö$\ 2»4ßë²¾\1c\1c\13\87\1e?Iû\12öÍ\11¼Z¶´Ü7ßÞe·\9b\8f\7fo[>Ù¦÷Ïe\7f½üxíø\ fbâ¾\89\>»M,ìe{L\19\88\9c\1f\7f~\ etw@û«\1aHÞÏ<\7f      Þ>ï8¡Ïê²¾ú\90\81à:ú\9a\1c\ e\e\87ò\8au rµ\95÷kC\92\99ôË¢\14NÞ|Ç\84O[\9a\1fL\9f\81ë\91io\ 2â·G/\13ï²¾\8ck£¯ûUMe­Îu\14<ÂݺÌ\ 1½ cë+ïPl\87\12`£K­Ö\9eº*\ 4p\vx©ð\94·\82£W£ÿQ9\18Ïu\8cwsÛ\1fÃÍÑüV\87.â*Ú\197vWå<_\1eë\16\ 2\9e
+i\83ý}4ëØoUBÞ¤\94c¯²ño1o­\14ÂÂåâ#à\ 6t©EÑ}gSE8\19çp\86F\r¹tÙ\ 4\7f\0¯Å'xQ~\8f\ 1w\15\ 5ìÇÁû\90½?Y\ f÷¸¯¡K@\1dY_Eý\18n¯®\1c­\8f\81åZý
+1Y     ²¿\rÅú\94z\1dTçåè\1dMÅ·ßj \eÿ-Z\0\8dÖí\10§²\9e8gzã[\8e÷\f3¯Î\19§Sä\8dÔÐÊÞÜÛw·ÌSe~΢iÃ\86ã\83ɹ®¢\94y\8aV\1cc-½\94àDUé_Å>Ço\89\83\80GW¶µ\13\91Ý\94v\97^E\ e¬¯\86Ò¦É\0l
+ÖWÒ\84!à9\8c¾\9e\95ý\8d,¸üë<fzF\ f\81Ã\89\b>\8aÊËò¹Nb\1dUGë¦ú Qi{\bHv\14\92øW5áê[\9bZü<<+Y_Ocuå\95õ\1cõÖæÖOÈ\8a6\bCcWAË\9e\ 5¬¯¼\9a\8cXk`ÜW"\81\81Õ­7\99ZÕy#;?\8cF+vP+è¥9,¯èeá\89\1e\81eN¹8;®JBJÂü\96\95\13Xwv"¦[»\8c\13e}âÐä¦z0Ó\8e°\9cÑ\10\1eÀ¡\9aß\16XCuyb7\bMÝ!\1dY_yC\9bJ\99Ƭ÷qom\13#6¶\17èea\8fÔ¿?&êÇèø´eö@¥í\ 3\1dÙ_M\9b\97¨6;·ÐÈÁ·Ç¿¶u\84e\97\87ê\ 4,¶I\81L=VæÕ:µnF\97\85\8aëþ)?\aÂ\9c= cVζ\92aükëVÍY\88ßÍe\7f7\19(Z\99tNÞÆ¤ÌL\ 4ok\9f­¥\99gP¹Ôþ}P·©%\18\7f±F;
+Ieq-\94[\1a\9a!¢©²¿-\fþ&\8as@\89ÿÑ2÷\99m\85¸\98@\7fg_\ 5\ 1\90A\1fð0î¬S\8bµ}©lð-ë<ß\ fº«ÐXZÊú,0\ fÎ8<ü¯\9eÍPd ü)²¾\9f\11\84\19\vqÅ«Ô\838\83\13ÃgüØCY\18\14\ 1\b\ 6à:ô¥³\91Ý\90Ü÷\9e#!\18V\14cÔS§.p.+¶54\1a«ñU\ 6\ f\167ËêÇoéfkif\86ºÆvyï|\10¸vÐ\95©ëæ\bM>B\88M×VWé&!\9a´Ý³§]'àø\16\8dÞE\ e¬¯¥J     \12\1eb\86í\86Ý)\9eQâÊÔIw½æ{¬]Ù_¨\9b\8b\12\ 1l\ e\8de\ 4\93&,\ 3²ÖV^\8eÈ\9c\18K   TqP^Î~N
+#u<U\8f[\9d\vÓå\ 5\17\1fÜöÔ×H\9e~\95úu\87\80w¨qJ;=~mÔ¡[?\bÿÊ\89\v\b*7µÐ\99\8a\81ÕÑót¯ßM\10ûí\1cÌQ,Ñ@É\1e÷ºÅ\86µ\ô\847S×áár·S\ 2îÊ\97\92ÊúÝ\ 2'<\1c\fvuQ\8d×J²}HA\eª\81\14¸â\11([\9f6;\7féZ\1c\94Ï\bë\81Ã\7f\9bÄ\8fõ¹¡ÿ²Ð¿ \8d1¯­SCa\1d\ 5\1c\87»qR\13¡ów\83¸ì¯¼¡ÍTì~ÖÂù\98¨\ 4ÈÁ\ fâßZ\8e\ f3\1aø?õ=¹éhn\98\90
+ü"}õY_}@Çl7M¶Ï±\ 6ó\87\a\9d\91\80\9eÝ  \18®\14Ä?QÃ\8dú\19_
+QDÔ_\,\10\95G$¿?#\ 2Þ´)\10£\9aon#\v\ 4\18Ô\89Ø\80\11\8fq\16WÔê\93+\11BtùW6\14zÚy¡\18\8aLåaÝã_Û:\9cϪ\16õ$£áÃ\9e\17.QPºY\98\86Lve!:I²¿#Ý÷\7ßN¡Ã\12ò\8e^\16j/­kU8®b\aáL ¦dʺ\84ºl\82?\80º±Ìþ[+û\1a\9a\bÉäEÁ{*|\1a®¥ï\ eR\1fY\9b\8d}\15×ç#®¨Ñ\9b$åè#{}\ 6ÍY£¥N\8b+õ´\12a¹á\9c¡ÁÁì(n\94¼?M\9b&!ºR]ÿ\7fgWFâ¾\85\r\90\8bì{J_±¤u\80\8aä²¾%nvN\bâCÑ\83e´óq«¨¥\1e_\8cM\95ý­uéÆ\9a\87\1défã;Þ/ã\8có`V_ß\84¡\13S'
\1d\1f5^Pá\1eB5=\10Á#Óh*ªv;G3\10H7\91C«+û\9bZèñ=Á8\a\1c\a\ 1\ 4,\eí¹µ±E+âCÏTÏ!7ßwe~b#ª¦?z\96]\1d¾Á\f¨áÕp\99n\95\97\9fpOô\991`\1fX\8b\ 4+¢ D¼C\94æ£`\98ké¦Ê"2äHìÔ¢ÊøFâ+\10øVL5´\91\85O\93ð|\ 3\95³¨\9aGÀ®)îÌ£À<áÝØ¡Ù\ ff\8d<ÔVûV\89ñ¨A{\8fÔ\8fsû®¿;\16öÑ\1d\ f\11'¶5ty,¯\8a'\ 5\1c\ 4\8f\14ra®¿/\16ð>½lÁûÚB\aì\84«)âø\93äî\85\17Q\87ãx´9)\9e¯\r¤¦¼3UV.\8bë)±\8eä»¶të\84\92L]3\13\ 1¾Ùª:7¨¤ \97èU(ð\ 4±\10\1cÇÔ9\96\86\7fÝb¾\8eQ7"Bv¯¤\95GMñ\8b\rdwxTø¶îîÈP´!7¶WßP1Û\rÒ\8c_ ÚY\98\84ë?õ>-4­\9fS85\vò/ÏÈM¦\11Ê\8a1\88\ 4\ 5  `\9c\95FN\15Àª°AA\8dMZo&çØ\92B\86\ 2(E\95ö¬÷Q\85\10F)p!n.¯dÀAN¶\84\85¾I(µî\8e¥è\97â\82µ\94\12IÄ6ÅA{+óòQhY\15D\10=m\ 4\94Ôg\,Ôü]h??\ 3\86ô\_Ø\82\býýÁûJ\85\97æù\169-'\f©¹°¤\fg¯£\95\fCC7\10úÅ;8\97\92ð±½¥7\88\98läì\87rn6\b6 q31P   ²¾\1cïE+á­¡\93\98b\95\9a½\9a\vÛZ\91Ê\87S\86íàÜW\ 6kUNÇ\87ªÝYRïnmOÉ÷]ù¸QÍÌqêùE°³L¶öQñLHq¯\v\97"FZÕù'#û/¼å\8al¯ãàyv54<\91ý©xn\9d\95:á/\1düfÂ8Á\vfãßÎÈ÷\ 4¿ààpÏwrº\8aP4\93\12öÌ5¦R\13ã[0~!\90âùx~¤Üoa~\86N\86V\17\89ýùäPêÊøN\18WV\13Q}p\9a\9aon#<\1e\152\9e2\8f/\fA¡ðZ9x\9c<?G\8aÿ\88\81ædá\íljS.\88\97\87é\87j    IW=\1e\1d\ 6éY-Ù\94\b\8b/\12ó_O:\8e^\11I\9dyfá»t9N;¸\1c\89®$|\9f\83à\ eà¶«\9d\10\85
+¨q\16Wö53Ãû\91Ó7ßlÔ?ÄP¨O\86\94\93\10ÊlÖLKµ<\99ʾN*¢n0pßlÑ\ eh\11¦f-ìì\8c\18\19Ù8)ÏÏ\W)4B\19\11-¥DÛf­?F\15ü ÑH ¨\16VO©        #ÞS ÿn¦ZKÞ\94ñ|Bq´gæø\8c!âÐä¦|?W\97\7foY·±©O5\14&p|@¦ôgg\9e\1f@Óy\965õ¨¢/\92\99\8dz*Ð\8buh¤&~V\14ü\9fxF\9b{*u\ 3\93\83êyC\90ý<ì\8c\ 1ÄÑKx\82ÜÀ¸­bÃ]\15\9b\14!jÏvúÚ¬)аY+j\167³øò0mÇ$#\18OG\9c\9f{@Çl7\13\v+\ eè0Ñ\1f\1fÔ¼A¢¥ì÷Xä`Ü\ 6\1aQËBlêébÞÚD@óm*g7\991\v|J\1a\9f$në\16\ 2[\ 4«O6¦<©6x\ 2pÝW«6¹^\95\80c°F4\1e>þ¶\9ej>IáE\95÷\rÛ/Ïȱ¦\98\1f´NôvñQð\8cðI\8b¢à]dø\1eÔ-êI\85éò²ñ.Å2QräSÍ\16SD\14\8b+â\£ã\8aÚÚ     9\98\98\0\99\ 2©\b*\e«Ëa­¦\188%\98\93x×öÃû-çqH \8fÜ,©æT¼+Þ÷½6WÃw\83¢C\15Z\ 6¦ml"÷j\1fYsaFáÃpñ\94v°7Ú´\fCcµ¯ÁÀãËY<\8cþ¢,¯àÜØ\ e\9e@ÓP4Tq!ÆAɺ\19XH±þ\1c¦\et\19ú8\0ÇÀõ·wÏ\95òU\9fV;~\86\8cÁ°fP\84ôs1Tôµ\7f\9f'\12\9b+ê|eöÍ\90þ{ZëÔøñW+\ e3ÑiØq\82OdáÝ\ e\19«Màÿ\11?\9b\11¸\96\ 1¨¡Èé}`k\1a<önÖÆ B\ 2t£ þò(ue\7fO7\1c8\80\17)Ú?âèc\84ÃÀáÀD¡"\aI\b\1dæ6ÍM濺ÅUV¼Féì¿»V\|«ôì\8c\e\9e\ e\0§Än\1c¸\9cô\9c#ûõÝ\95(\9c\e\1aº;\1a\9a\ 1\ e')â\8b+áí»ÊlJͱAë\1ae<\140¡P[áÅ*d'\9fß\82\9a\13\14~MuùÁæ\83õ']Ƚ\9a!bXÒË·ßjÉ\8eÈ\ 1#UÏH#\1c\ f)      ñ°×Ó    üB\r\9a3ÁþÏ\ 3> q%B+[.\bö\90\82:\12xK\90\80vu´\94Çcà[¡*½¡Ïª\99êt¼\1f\0U       \9c$~"¿\ 3M\aãÛ×P\b\95M\8a\97·°'õ}\1c¢-\87\85â(*#Ð\8c
\17;ý49\9e\92\83      å\9b&#õ\b\95>*(\7fíå\9d0LêòJH`ÿÛÛZ\94lc,ü¬'X\88\87Ô\fú~\11\v³      0q\81\14>A¢h\89À*G½¹´¯Â6Ý´YÈÔÑÊV§ËÄË\12y\1e>FòÒ\9dKiÜU\9b ñ÷÷X°\9f\93îÃÀrî+èC\1d\821C\19襼I²¿±©\9f\97\89v'Â>JþNbf>\ fÜ\1cM\8f\16õÉûj\16õ$Ç÷=°Ô\85³>XW6\ 1\83ãó§ é!Ýè£\ 1V\17@[!\0£\ 1ùQ9\18Õ¦è\96b\\89\7fgQ4ï4ÎA\ 4~Ñ7\19\ 4\1eÔë`ì\86#\a\98åâ^)\82sâÂ\vù#ûYXwX×Ö©é\1dÅö=­,ÌPØÚ\99ÈÛÛJ\80ÆE>;Î\91\83SÈÄâ]ÕNÇ:Ø_á¢WV\14a\8a¨ÁZÓ.\89ÌÆ½Á¹®[×-Iwýûëj¬ü\9c/-dóÎ\9a¬Z¸\10µ<\fÿ\9f\18$%PfæºüðÙ`Ë]M\1c»\8aú%°¨Âj  ¢\8f44ë\ 6\ 1_G-ÅÛYê  À!û\9b
+7\9d\10ô|±V\1ag\83q\'\1a=se\ü\8en>\0\96ÈilD\a±aK0\8f:_\11\ 3̲¦\98FÃ}SÑ\87qw:ÝÅ\ 1\1eÕÏH)\8f\ 3êòíë¨m*&Ãÿq¯í²pn\16ø\17:\17©ëÒÌÃçcà_ÛUÆöº\ eö\1f\7f\1eT\93âÀ¸­\11\15\9d:äû\17·jÉ×*(\12\8c\858xjÝ¢\18~¯.\99tF^-ær\98/\99ô¡ÉHN\96\92¶±Ã\853qï©f!Õóç\90j¹NÍldÿ\92C¶!\r\f¬;ëjµ¶³ÿ¦hÑËB\ 4\ 2\15Å7\9fÜúxü?\ e\1dÝ\90üôrð©Æð\7f]\95ù\b>\8a;|n¼\ 3#ÚBD@ókhdÅ-31¯­*g\16G¯hsöÓ==ÆÛï-X\8cl鿢zÿ6e4OQC\90\80QÝBZ\90\81e^ZSçdà\87ΦÉKê\1c¢äÞ-í\98X6Të\96¶µ\vÓå
+=\8aÌc_[#á\19»«\1aF{¬Z3d\13\fw£6\8aö\81\8eö0XSB«â\ 4EF\9e ØGþP]\ 2\86y8W42\9e\15³:öµ~AL1C4øõ\8c\vzÁ^\95\96&-í¢hgW;\1f\96¬\ e\99ö\9d\8fA\eÚçã_©\8f`[cn©òçÝ­KÌÊ\vÚ\85¼I2ÐÏâ4£ãíëÐxûâ\ÈAû\81\8eiWÁ\87W64jl\7fO=       ç#»\18÷öÂ\8aõÔ2\85Ò¤\11ÿz\8f\9b 6Ùo!í'ß÷Ù1ÙF-1çÅ\1e\7fåj¼\8cÔù=/çΪËÃtÙm©,Ãjáz\9e\86^\1e\rÅrÞÔjb'ª9Zy¨¢½?§Ïì}yd\1fÖ?\v+óq°MÛ5]\15\ 3ɵçÊý(4 Ò\b\17þZ½öÍ,)%\91b6.\vÙº¯árå\1ee³ý,¯£®Ì\8fN>®/\1dù\1e\9c}_\ f&Ý?\10\14ÝYR²bÁ>àF'¯Îž´dÇdéE³e~o\8f©\9f˾¶ªÚWÄ\9e\9b+æÂ\89\10\89\1e÷»£\99\8a¯Å\19\19xjûü~\f\v\8aävà?e\95ð+h|mZo    O«¥\9a\8fs¾ß}µµ\êzV\ 1æ\8c¶ö[¶k\9d\8f\7f\8e®
+¤q\97ÖßG°Íuäk\7f¼}ï¬ý\89\9fÿ,¯ëifá]Ø\81\87yd?\9f\ f\ f\rÍ\85\1c/OÖ6Wþ\90\10Í÷\96¬üFYýÕ\vwå}\b \8fÿ\1310\198W-Yîðð¹ÜÚ×\rWN\14Oý¬¯Ä@ó+h|zÚy¨Ñ\93û:º6Õ\93«f   \ 3Í)&!\97èd·ßl8\ 5&¥µSß(dl¯ÿí\95õ¼Wû}ö¹¸×Èð\8e¦Êûα,\1f\96\8c6WÍ\95ò\b#ûp\9a\91½®|ÌT\fäwfZ\19þ'\8fÄ\8e<ÓdÿçôC4\9f\87á\9aû4úú\9anÓ¿ï«§×û
+MN·;íÓëÿªL-§k?\9f\95ÿTÎûOUþ°¶\9f_|\17\96øÖÍM>L­\95ÏÁY\11ÿÃð¨[½AèA\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10A\ 4\10+\ 1\aEïp\8d¶·ú¬x>0\97Èð\87\83xC%õÀd`\ 4©²1àÈ@+j¸«\eb­¶\r®Å-ÚÛMMµµ[nÖ;-\96Ùd\92Hän7%\96I$r8Ûn6ß6Û|Ûm¾çͶßwwwww>îî}ÝÝÝÜù·Ï\9c\92[¶¶É?ÿ~ýÝÍó}#\91Úå\96If²í­úÓQUn-»\15j\96×%qiv¥¨¸ºÚ¨°]\84\b\10\vx2ÂÉ\19a`FÂ1à\11à<\ 2ÂÉ       d\81\1e#   \1e\16\1e<\90\90\90\0²WÇýO\ 3ÖÉ/iuï
+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1ýæg\92àù\ fÇòûÿ\9dñþK\80ÿæ÷¾ï_Hû\1dûÆ}ßàøî/\89ûÌ·#è\ 6¿@\0\0\0\aè\9c\97§à|\9f\98ú¿õ²³ ûo/ãx\8e\1fË\r~\80\0\0\0\ f\bËò|\1f\9bã>ãÉú¯ÿ}Ï-ö_Hò\92\9faö¼/Öù\ e\ 3Æ"Ë\16ùÀÿ÷/ê¸1ô\ 6\0\0\0\0\96Èp~\83Iæ7ê=û}¤ÿ\83ËLùO#ÁxÔYbã=6ü>\81\80\0\0\0\açúWoW踹n\vþl¬Å(÷ß+\93û?!À}F÷¾ï_\8bÃy_Üë\8f\197-I5\99\1f\0\0\0\7f\99Ìò¾\83\82\9bûÿý²¿I¿}ôÿÞù\1e\vê·½÷zô<&ùñu
+å¢Þw[\13I+É\ f©\0\0\0\0>\89\90Éùýú\8f\7fúvWʺý¿\15ã·½÷zõ<\8f\ 3Q7\9aÆ*§eª§eê&åqà\11Êm>bnc!ØvnÿtÙ~Çc±¼7]¤aÙr\ 4\0\0\0\ fò9>kÏø¶W
+¼o\9cw×í쯥\9d\96¦Óæj§³©4Ùz©Ùh¶\g3\95:\99Z\8dNl¾)O\94K\e4X\1ai^C®êL¶\8b+æêÔÄÑd\9e¬ê}·RoOQ¨\96äõ3\1c¡\13\939\14`I:<¼¦×#)\89\97\94Æ\94<\ 2\9däEe$\13¹þVw<Z\ 1\94>\81å6Ð\99\9c}\ 2cè~S\1fHs\9320ãÏX9Ô\1d%f\914\eã6rLÑ7´­\981³N38Òl}\ 3ì©\9cæ\r\13x?B²\9bZ+´¤ø´\92ogª>Ûè·m%Hû\ 2Âú\ 6ÁÔ.¢[Õè²Ü`ò5\0\0,¯þM\95þG\95óÉéæ\94Tͧ¨Ó¨ªÔ\97Å=9\13I©ôÖU\1atÔÓV4º[*\8dAdH>\ 1         ©´¶U:\84ÔÚB\81¥\9e\97E\96*-\173/\91á»\e+úý\7fBªÊ£·í\16É7\9då,Ri,ê§-ë¨n,(í«¨mì(î6¢\9d®RÒ²\81M\8d&&R\8a0x­\8d%­m\ 6,`¦ëcÎ8ØÛ)\96·U\8f\9aÇ-«µVõô[x\ 23ªq*\11R¢Ã\8d\8d\16¤\14\94©2K:Ê\vsaÐ\95*(Üx\91ë\ 6¨ò\85
+\93ÊÖç\95£Èå\91µ<H£xPÊ)\1a.Ù×ê"¢¥:[\9eG>¥(\91 Ú\9bD´V¨Î\9eqS\85TmcH\96ø2â0è£Àñf\88õ½\14Ì©
+0\rRÊS­ÕE\89\1eºÇÎ\9e¤QFѹi¶\86E\15D\1aM\15Ùý\13íó´rjE¾\17Æ<ï\85ôÙ#)\eRçÓ´|\89é&?Ð\96\1c§\8dEQ(G¦jlhãý\rÛFÖýµnªÍ,éx\ 2Ph9\81äv\0\0Y_ÿý\95ü\875èÖYSûP¼{l)4U\13\9al®/WÎ?_e}ªÉ\1dN ÓÕNö½N×¹¾gÓWÒiU§¦í*×÷
+SRöUùEGU\f[gSî©\9aÜyܲê*\15vÚÍ-\v~D\94¢£¢£\eÊ+Õé'Ä\16îh®ã:\8dwYSÍgºN¬g \0\0,¯÷6Wȵ«\9eª\9cÎ{K+ñ¶Wñû<ÚÔìúÖqõ\84Ç-ÃÖÐó~-\95\9e×ÏgáÚ\97ÛÙ_T\9e\99_o4u6\84Ö¨¨]iUð(¯ô}\r¨¨\8f£«\1a]/]÷Ø\0\0Y_\16\1d\96\15\1de\ 4Å&\93)×uÿ\87\93e|¿µÚÈ\9a|çeÙ'7S\9d\94\9b\ 3\7f\9dD¿\8bGª*\15þfÈ/¬¬\em\95\ fæÑ_\9bf`Ö\94£hBtv
+m\0\0,¯ü\e\14UsùÓl¯ò\Gke|ýl¹\9eö>á:\97O*,\91ý\ f=5ö\95JSRÜX¤Uü\eÞÕI©U\9f{\b³Å·\92¢¢£S\9c\1eH\80\0\ 5\95ÿ\13e\7fIYA2\93M\95\99åø\9e·P¯\1c2Øí\7f\9c3WØ{\84ê\1d\16PX\96ú\1ex沬}Ô²ûT¿¿gÔ¨aý+ÿoé\9f¿®ÊúI¬ÐòD\0\0,¯ö[ÁöˬÞ7\í²×m\97:jµ\95ÅvÞýT{+ýo¡\92Ðå¸Ý\Kìk+ý\8f¸N¨\9b\96\16\87\9e"Û:\95\8bâ¯åQ[\8b\14\9fÃEE\95ð\0\ 2Êÿϲ¿xýÂ,s\9b³5\9f­ç\9b¯³Þl¯ñ÷\83æë2skXÉRy\ 5ÊÅ\1aͯ\ê\ eÓÜ'Os|¸±-þ\1e\95À\1fÓôgK§\1dm\@\0\v\9d\95ûØ.£XãØkõú÷m\15n=+ý\1d\üÆ>ð~ZS\85aqc±ëÿ½g;­« Ï\8d\95ÿ\81æP¬h\10\1d\806Wà\0\ 5\95ÿue|ßÍØZnýÁþ>ð}\1dqßv?\95ý«\89{»ë\v\906Wý\9f­§G\0d\e\v\0\ 5\95ÿØÞ\ fÀs"Ç#«\9b\8dÇ\8be*Yéz}Fg=µÙ_ö\96WËùãv8ý\89Aö½p\fòýG\aäG¬\9f?£KÿÏYJ¥5*=&×uÀ\19
+Y!~?
+6\aö}\15.?Ù\ 2¤Ô¢Êø\0\ 1e\7fÝÙ_\84ÿ\ eÊýÓ+mæð\7f»Ù_\9fÓ\ 1ëØ[×û\1e\16¹G¤Ëo8Ý\1a\94Ô¦âGGÝ\8eªÿ¾;Ò\8bJ¥^Ë@\86Ãíì±\1eÕÁj      w\8bíÖþ\8d¸¥ö©KY²x³À²¾\0\0Y_öÖWîñ,¯î·\83ñøWÿye|¿º\ e\7f×XÓê7\9d\86>)µ\19Å}?\e£E\95dXfS³¿7þÛ+ôp\9c\1eâÒô\7foÝÿ\Mûý6Wè÷%\92vXBÊø\0\ 1e\7fÛY_nÂÍÓU¯\e®GÅ\8d½d}Ò^/£®UcIW?\9dÇã·þâÊù\7ft=\ fAS=3»ëCéªÐóHÝ|£b\90^C[=\8dÕRûZµ¦âW\14Ëíª×Z%,eÖ\95D/´K\eâ\96FDä\9c\8c|¾6\1a\15¨5\9büi\1e\83\945\f\91\97J¸ÔÃ\a\19~Î%³\90\90MV\90,µ­Xj\12\95\12Th\19°\r8ÚáÕE·\15k-¶Õ\81}µa}\ 1Åø\9e³"·«²?&M5«*¢¯\ 5)©Nm6\90zm\83QO\15ª]nS½WMRêÏG\8d¡5¶¸\95âÕ,\8d\vFøÈÊ\14\ e-~Un\95\85¹µèºÏq8\96t´K\8b\ 3µª_pQê\95Vµ+m7TÏá\88Ó<]eaT%\96\95}d\8e¨¾ôl©Ù)®GÚ!} £ïâÞÂ\93\a\82Ò\e\80Ï\8fÈÅ\80\0\v\9d\95ø¶'ñ7J*OÆ­±wiªÓÒ÷ûÁù\1e»¯\17°\81Ö/'\1fE-5\95\95\15\rV§nÂÕÍÊ·\8d×¼l¸\87ÎY¿us\ 1ÝÌ\17\8d\8c\90Y\14|_;lùÛHù\17ÎÚ¿vÚ<\f±\8c9fQ\88\ e\99£\fÐcüP]½o\0¤\17mQ\97\80|\ 3\11¤x²ãÌ\1c\96\85\184Tóë÷M\r":fz\fRâ%\ 6\91æ\83`9dýÓ#çYÆ«M\1f\1e\a\14\8bG£À"à=(\1dÓ\17ÎY\1a\ 6X\17L\8a*lÓ¶\8fn\98\1fBl\8f.\1e\13\1a0_\13Q#eî_\9f@1æ\84Q\87Å\ f)(©<m   \9b\18Ã\13Îå7\1aSxå\8b·L\9e¹blée\r\156\1a1\8d\80ä¨\93\a\8e\18\90ì¾.YºvYr¦\fO   Ù\b\84¼4ÜÅâ1®\98»ºg\16Aº`x\1a÷\8e"Êq¥\96\ eÏ2»n|»uè\9d\1d¶^T\r\107M×;p¸£n\9b­!Û\85å\15ythÁ\83\91\8b®\9f\ ff"\86H¢¸¿\17-\98<srm\1d\17×S\86= é²ç\fÕ9h±»%.Z+hºÍ\9a«\ 5\8a*Qequ¥Tæ{"<\91\0\0\v+þï\98?­QP\8dÒ¦/\14h\8fî\ fñ¹ú¯oe\7fc±ØC¼\7f¹÷        Ú<¿\ek[@T\91Ã\e\ eb_@À¿»Ö`_jõ\98\ 5ñÖêá F\1a:ö´ÇÃÕĽA\80~Ö9x8ÇëØí\1e\ 1\80~½ýÄG\80#5\17#\7f\bÁñ¢FÀ\8f\fF\1cHww÷Ðb_A/\8a1°!\9a\13\7f{\ 5\1d{ίÊ\0YBÀ½\80\8cê2\86ø\94b\1dÚ#pÍ\86b\1dôP hÊ_\9e\0P\98\16G\0ò\86\f\e\b>F\ 4|Ô8²\f)\12\84\83\0Ô>    j \82ÒÝú!\85\8d\1a+}{\0Òµãø\87\8d\9b\18©\84;»ë·¥\87\ f\ 6tæÆÍ^Á0|\89ñ _F!ìð;q\12\99S;èO\8dV\8b\18ªuì\18ð\b\87ÒM÷½\9e½\91xþ>\95Q¡Í´\1a\13ãj\16ö\ f·Ð\9c\18ÿ\12ú\84\87xúò\v··LËíYYùà ìÐT\0\0Y_÷\9cç}Qýp\9e/¤­ïø\fÿ[î\13¦9n\1eÆ\96j\13ÖÑì¥\1c¾\89\7f\bö5z/$ÛÛ·¦±·'ÊæñùeäùVľÃóg\87y\89å+\8bå÷    ñy\89ßìò÷÷×rchóC\93@!\9f°Ö\1eÓËúú\ f\89ç¹ÑMeKqi\86'\9d\ 4\8aÀU¾N\8e\81ß\ 5ôa\16Ì\7f¼Ó\81}f?usf\96p~\19D\0\0Y_÷¿\81\9f£\96¸bì¯ü\ fp\7f\8bî\13·=Í\13ª'%ä쪢_A\87ºò56Àr÷\12ÆN×b\8b\ 5\e\18KèÛ\ e/_d\8cò=î5\92>\9eÆ1F6Ö7¿CbU\87Cðª¢2\85EQ²ûŤ\86Ñ\12\9f¢¼C½\7f\17ÏÒ\13øû"ø}]\9dLm\1eï-6îã\1dîÌCâÙ\Ù}I÷\12ýÛÒûM¨Äí\91¤\0\0\ 2Êÿ¿ü\fýe\957\83î\ fäÿ^@w¸Þ\11qÐï\1eDz¾~Á|û¯4h\86Ù&î¬XÞ\9be\r\83²t5\84\8f\aË/án\9f ¾roIäoK¾Éû¶WN\97\9bÒ\89\9bÒ\94\eÒ\88:rİÍéK\9c²xoJÎÉã\92Í3(KÃz`\96/\0~oKpoIüýÝË×%\fdíËB\91\1e:j\88cÓBM\12\83Â\899(KR\8f"Y4Ðé\91ç\12\18"\18\8cé½,\89ý/Ñòñh«÷\8cÝ9g\ 1ÑP\ 6OQé¡\ fC#D\98¢\8c\16P\83Ë,Q\0\8f\9dDîýão}j³õÄo\98»]àþÞÔuì\17\93C¶Ðx\0\ 1e\7fõl¯ÒÖÐç¼K+úý\7fB§gÜÔ\9b\13°YÏ\b¡,î\ 1»\bJE²¿\fn\8c÷D\a­\98)­_qW¹\16\9fâ¸æ4\0ÞßNÞ¯w#ãË=P®á,\8a\ 6»q\f]l\97m\9d·«aoZùÓ_\9be\88ûCk¿\8d³\1f²©\1dÆëÀ\0\v+ý×¥\7fÜqÐëjíUm\ e~\93K\94ÎòÞ\97ò¾í³\r\ f\vQ»4ÙÝ3\8d¼%¾¿ø^\92·ûf\87®Yï,j¬¸J\8b\19\9bK!ÖéH]mY×Y\\8f\ 2ãG½¤m\85ÅaS7\8e\18\9by¿Óze\10\1f×­\®³ÐsC³\86ø\0\ 1e\7fÛÙ_eq\Õm\935Uí\16',\ 5Û\8eIÜ©2JÊ   \8a='5ßð¯ô\7fsºÝY»\12\10tÿ§TSMË\1f·N\91¬±`_Â\16\ 5Ü\aW+SãXºWì,|°¸¬#±²GûBëzÅÖµ\8cÕ§\85\ 1Ôoq{ÑîÝ/\87Ñ
+7\8f.Û/¢Ñ\8eÌñ\0\0\ 5\95ÿqÇoÏÚ\14\7f¡è9ø¿\8fv²·ÛÙ_¸\8bÇoòÞ\1f
+ÿÆîXS\8f×Þþ¦v_\ 2þ\16»[\10ü\ 4nðYbÜ\ fÝ\÷VH1wvʺ½\95:ßË\9fVÚì­\f«SV±N\1eE\92ºø\ fÜ\r\1dò#ç\14ó\93#³<@\0\ 1e\7fÝÙ_Áü¡5\8f\1fíëè\8fø¯ÿ¿²¿ÏúïZnÉ\vþÏÇzª\7f=vùÇ;­7
+üÕ\9f\85\e\b½·£ÛlÆÛ¸²¾².îñ/}¼4[ÓzWÎ\97f榱ÛuÐÅ·_a¾AtÖGcGð\0\0\16\9b+÷L®7_«Ñ$ÐÑhò\98ß\8f¯û\8b+æü£9=D\9eÇ@=Gm|Ì\87   ¨\97È5]f\8eÆÛ¦÷     wð\87\99v>Ë ëv*ì;­Ü2ÞÿwÇÙÙ_qsq¼à8\0½\81r¾ÛK+É\ eî\0\0\0\ 5\95þÿñ_ûTrüì}àúYéz\99Éi\9eòÊù»8>+²ö½\91øJ7Wªæß»k®ÖÄÖêïõ\98\17×ðÇ\12ëÆóIpå\7f˲\vÞ\8c\96X\v+\9b½¦\95ã÷·Lê'³ãȰ\0\0²¿á~\19\8d¾ßõñe6\14uS²ôÚ\8c×{é_÷\9eàÃyØ{GK+É2Sc\81\ eìöYo¢C\e,\8c\\8c(.îW'rß\95e}\8aº÷ÎÚ\8dàÎçè&íê¥\15Z\93ö^g\1eE\80\0\ 5\95ÿ\vñõýÞð~¾\8fCªÑs=Ý\95ó{\83        ^C3êûnÆ \¿\15S;1\12õþ»[\10Ý\96Ú¯ï\a\v\1aÅõ\98Ï\1a±U[úÛ¿)\1eâ¡eÂU¾\ 5\95÷n\18\rtmýÁ=õÝÛ÷I&å¦G'\ 1\0\0,¯÷ÿ§\1fºjµ\1f§\1f¹hµ\95ÅnçÜ\1f¥\9eÛl¯å¹Cv\8b(ì¿\ 30ê}Á\87Ye\95Rd\88ìÊ\8b¬ÕÃ\89\ e\ fÎòøø\1el.\9c.d®¿çð\16Ïeë´Õ×:l®÷üxW?yP =qn\9a\9f\9cÊzqä@\0\0Y_ý>(¿Óþ»È\8e`ÿA Écö\85UÔKä\18[×Éý8ý\9a»+ûÇû\1d\8eÃsî\f;ÝÄô¾G\86I5*úé\97¬çµºíeüKøCÒÈìöX­Ù[2^\99\9aÛ\16JëÈb½;%\96\fVØ0UZÁ\82cdWX³Y`Áq \fK\ 1zbγY\16\1eÍq±\8b(PÆ*ë\8a*Åey k,\rfñu\81\eDH¦\86\vl\17­¯4¸°¤{\ 2\87²\h{\ 2\97ÖØ"\12IJ+Ó/))q¥b\87\9864Z\fQR\86\1f\ 2Á\9aÓLQckS\15Qví\9díãïgk[æs
+>ã\94Ì\e\8f\fûqr®¦vdv×Þ\0\0,¯üÏÚ\97ì\12hgfyM¿ù\14þw\95ô³\1c·\11 \99Éq3çí\ 13Ò~ÁÿS·í\1e\rî{h\84Êò
+S$×kbsÚíY½w ü\a\83\ fãyvò\f\177p\1cÁ\7fu\ 5û\82Ã6\ 4\v¨P\1cB\84ê\11°ÜÝÆøÀzÚ\f\17\10\8f\ f»<<Ñ\88\ 5\9dq\ 6\ 3{ÃÅo Ý]\90ù±@\r  »s\ 1óXP.\8b\18ÑX\ eK(x\93{·íÏ\944\18§H\ 5&Á<¬ñ©³F\94ÊJriZ\fR      à\b\91Í"?º\8bM\8d(E¡åTzþ&®þ\1dãß\97Å\18»\9e`ÃxýEe\ e\8b\v+\80\0\ 5\95ÿroô{þùÇxÿuÌ\1fíëèi´ù\89\9e¿»¬\8e7ï£úýy»jfx\9e=Z\99\8eQÍʳÙeÖD¿\85ßsq½§:W7â·[,hw¯â_EóÙ\89|þþñôCäoï_\16\1dô'fóñÚØ\ 67âÁwÐ0
+A¼{\17ðª\13Âp!Á(ª>$\16tÐb\9e¡<4&íÔ3ã\14×\80\8déUá¦\84CãÃ\11\e\8fÎÊJkÀ\8d½W\88\85 \95\1e4\9ay °ÍP®Ý"\83^Âz\8a=\8dA¤Ë2t?{ví\13*)        Q\88²áâ¥\8d\ eôû(øO\r¢\8bçè\92£\ fâè®4î\7fÅw\8d\ 3\91Å\9b\ f(?D<ª\16\ 1ãx\a¬\b¤\88Σ/\8bÎ;Ñ        \911\14¡#P¸\90ò\92£èÜÚ"5W>·áþ߸$|Íb\8a\1e\9bò+`\0\0\16Wþ'9߯¤Ñö?â©\8e\9a­ï}Á\87[þk\f¡,éys\1f\8aDÃðøïIyk\9fòak+\95¶M\17(Ar±1c\\96\ 2Ôñq\96&l¾Í¡c-NÕr\82à²\8c\97Ù1U`íºóÙ\9e~õË4D\99¬LP\93D£J\ 5ñ(cEñce\86\8c\ 4HíJ\80,±fQ\85ê#Æ\1aía\85       !¤Y\95;Så\11\1e\8aT\81\9a»\ 2\84\94³\1e­\14\r\8aî\8a\83H\96d\a\99M\18F\84\r\80zºZ\aE*m\85@Ùª¯=KÁÑqè\ 2dh­¡æ$f\8d]OA°f\85Uè¦\b\81Å¡\8510´4ÄÂÑ©ã\bËÜ®²*0Ñ\85´XÚ³LNÛ,?ä\fð[±¶(3%5×*ìdLXUQ3V\16¬Ë\¥1/´hºÍ¢ÄÈ\9fQ\f|í§Âçzî\14UÐhGù©À\0\ 1e\7fùÿÊÿç³ý\97øªN/¸Zê¹\83\ fpKr\9c5\ 6\87\99rÕw¬çµÜî»\ 3\ 2þïÁà!6\95\93©g¥ä\15S²ÆÀ\9fÎÉËÔÎfêg%ªçæ\v\r$Þjº\93CU=/G¤Êi³|\93V\16\91\9cW\ 6V\91%tp\ 2)æåk(sô³\99È´\e
+\19[C\9fI¦Ë#\r&£3Z\93C&\19QA\9d©é(\ 6Þ\83H\96vDj\f\7f\89¦Zê-\ 56£5YA3Ò̳²ÑôW"w®¢æÊ\99ÈËãFʨ\96\92RMeêÒs\855£ØÜTjs\9b*1\1a\9fÎÖPL(­\9d~ýÅ\9d\8f;ÈÓ\9e+U\87O1\bº(<\89?1\1e\13U?\9e/\8b%v\1f¥Ã:Ú¯ Ðå<\1dü\10\0\ 1e\7fŲ¿Æ\e×oæ3\1f\8d`\93I`\93K_I£ë\8aê-\ e\975Çû]BÉÿ\19?×jâcvÅKø6Ye8ZÚ=\15ä\a\vQ/Où\8e/kíýú++öU:}ßú\96Ü\8fõ0ê\8dN\1fú\98]\16\9b+\98È\eò\9aû
+]\1d\üǯ\915S\1a®s\97ê§\1cxMLær¦rZ\9bO\97\8f\8c\93M\95ë*BIÌÝ,Ö_´ ÕS\99Ê-\1f5[ªÏo4W\8b\eI¦Ëvº
+\8f ÕÏ̤\9aÌeùOG\9dÉpøº\r§Ôf)õ\19\9d§ú\,ô¹Pi:»aq[àÙYwtÊÃ\v·\11@\0\0\v+ÿ\9cy>/ë¼\97\ 1õ9>?Ï|]BȲ¿¯×ëÔ%\9eýÞ!\9fAÎd×ÛÖó§ádq;Íá\(.¬ª&º\9f<\19Zm>\ f\9d\19`\11E¢Éç%8RÑt·+é(ô\99\94\8fõ5=Õ\93½L©K'±ù+¹\92©4¹NÂÄQF#ÿ©Ûv\81Tí­QÃÑ_À(t<̶G\86Ìr|\1e\7f\98â±s¥¤ò¢X¹z-\1eO\17Lýý\95ûØO\97ÜWÎg²CµGx\0\ 1þÈ\7fáY_û®7ë<ç\aö\9f\eP±ì¯ì6\e\ 6«í~O\10Ò\99åø\9aô\9akûè<î¶'wÌ,¡Av¢«Q×yå$ÓeMºÆÓæ5\ç.~Ù¢\1f\89\9aÉp´Z.f>Ä\18öH3\1d\1eÉë7»\97éÍ»\ e\95ª¡Ï\9fÏ÷5ü¥,Ö]$æn«ØYªê6{ý\99E¢É£vÑ Éñ}^Ë×iE{ë+ð\1e·®¤Ò\1f³ò8í        Æ\0\ 3Ã2Y/Ãó3¼\aÓ²¹ÀPïü?©øÿô»è²¿°Øl$öÙ©ýîÓ\1dY_RÆâ¿\ 2þ\16·W\7f\7fÓþd\87ÖrÝÇ\8e\17¶afÑjfË\93´\\9dÃ+F«\93¶`¡\ 35\96\r×Ù8afá\8d\9brÈ®Nå\9d«e©Ë\ 1ªû',­Z,±ª\9e\98\99Éq\19Ì\87       I5\98]iPlêóB[\e×\1e P_\e\95É\9c³¶lµ1¤¢È\94âa:2\97\ f.["<T&ä³¥\e\\9d\11ç\f\14<j¥\13Ñâ±h1©²Ë\1d´²R\9b+SÁ\8fë¯\8fA\8aYnÂÎ-\e*äUw
+° 4\0õùªè²>È`¡\10\90©\82â\95\94\14\8eRiPb\9dÚ°Po]X\8aI\1a\f\8a\18\8d\v\1aA-$®Nm3\9e6j®¸ÚXk\1e\1eZ\r^\9c¥\a\fm"Ñ\82Í\1e}h}\113Y^Z\ 1V\9d%\ e\8f+/\91ô¼æWÔZÖNâRÛ$M\bÀuso\1fEe§fæ¯\16m\17&5o[b_\17\fíà½kïx\eSÕÊlt9aúo\88\0\ fÔ3\1c\9f\aÄLù¿§e\7fÑhÿ\ 3/\90øÿó\8f(²¿{\ 5Þ7nÀ\ f\91Ý=ù,þ~\ 3¶Úía¿\16GÃý\ f\vµòø\82ê\ 3¶o\-zÝa¾(Àn®.\e\85\8f\1a©xÙZ3±ð$\16Õ³ó¹ì\8eo!ÂOóy+\8b
+\13Ç\96aÁ£c<lª6E\`ÓYeâË(\8aÉ\98\8f\1e4n6t¡\98\94o\12V*~X\ f®\97aɸTJM`Ã\81\9e\95\e4yeô\9a$ãe xÔmTz%¶\11\ 6E<\8f¡\ 2\8f"kÙC#Õ\15\98\91#dZ¬±¬¡Ði3\|Ç-ÃÒi²ëlé\9eng§\11i    ´\86ÕL\8cÓ÷, ¼iÖñO½çéÿn[°¨\9fÏ\8fõ\12à\0\1f²e%=\ f\9dÓð?ï¼Ñ\81æ§<¾G\98ü/\91¨'M\97ô=\a?= æ%\7f\9b\9b#fù3w7\99`¦Ç]¬\89­Ö_\9f\98ZÁí¼¿\8dÂ_/`]aØ\84\8c>?\9b³Ì_?L(\19g[/²±¥ÑÌòüV\83)éìi´®nn0ì\ faB_Ý/°\85¹°\13¶±8j1t¹ñIRláaÙ×\8dd\vea¾-\97\18µ½º¾\8e°,ÛÚRij\19\87d\8fs¢½¥\9edi\9c¨a­2*-\ e>êt\ fq_ªÓJò9\9e[\84æò|Z\94Ô\8enmú[:èÔD{?gµM\1f;\ 1Ó\18w\8f;¾Mä¾âÃG\99ä%G9£\0\ 1ñ?ëÏøÜ×\9cô\99ÿ5üg\r\9fó=Ô§ÅËpYYOCòtÿK§\95þ®!¶\92k4öé\91¿Wð7ãõP»\9fÓp^´\93e\94±\9f¹a\83d\8cþ\7f¦\81álQ_]/FÄ1ºû*Y¬ÌÎK\88Òæ¸õIé\1emv1G\8dDz\10³¨²Äk\0Ë6s¢äl°\9f8\8b²³5\96á\91\88L.\ 3ªm·þÒ7%²K3r׬·G$¶9\1ensvË®\96i+li$\93I4\92I$Ói&ÒI$\84\ 2M$ÒI$\80\0\ 1\b\0\0\0\0\ f\0\1e\0\0\0\0\0\ 3À\0\0\0÷½ïç\83Þ\ 3Áà\0\ 3À\0\ 4\9b}?ÿÿþ{Èò\0\12I¨Ü\91Ç×vw]ÑÙ£\91ì¤zÇ4çl®èç>¯i£\99é-mÙ×9fÚiµ³NëÛ»ní׺|:K¦íô^Û»|Wºo\83^é¶Ý·Ë¶îÝÓvøníðMc¶ÎÎ7\1d\96=\14Ëõ\0]µ²ûÎHåØH!q\91Yáz&$\80± N*?\18º\ 64\98!{\1c®\ 3£.\ 3,\85¼\19\14]àÉ­\90b-
+ÒCàêJ¤°\89õÓÔQ?¶í\1dXµf\9c6\93òÐVIÐð\91¿â$\bb7êå(\8b\85W\8aloní¯îí{ªv:\8aÔ\86}zE\8f÷\90\0\0\ 3®Êh\11\97\a\9fæú¾|oÛÓOHàß\\97jC]wH±^)°·°©Åÿæ\8aÿú\v@\1aâȤ\ f ÿèËBN£\12\83&½©§c#\r3ºïmT$+e\14\80}V\1a\12d\19èá#rZ\f\16þµ\10UrM\v\11q¸³J­\1f¾\ 4\94f\14\96¾\16Ù·²ª·T\90\ f\19\eÃ\11\bW\18\15îìi1Åp\e\1d\vÕ^¹I\18\97Áò
+ÞåÀc\11kàp¯\87$¸f\86g\83\v^-\15bÒµG\85Ç\f8\12¦Î®öæÉ%!ÇÖ½\9c¬3\9dM4Î4\eõr~5Fs\ 6Ö¹\11[X¸ö¦Ò®òæÌË[3ò\9aµk¥6E}wQªû0ë\0\0\0\0\ f×\ f\fËrp\8eF<,]Ò,E\¤\97v¤ÿîÊmknmS\92        ñÜÛ\17ù+ÇXW\8eÍ1>;\8b4Äèeà:):2­2ά\9fvƲ\9d\r\1c\9díÍ\91;*à­0§\80\1aòáB¿Ê\9bB½B·-¥a\7f\94Êö\ e\16åÃód\ 2 \ 6\14\ 6­3L.\ fVñ6É;Ä¿\ 5ZͲW»Å\8c\18\91±T\ f.6cAS4c#ò­³X«}\15ຶ®W»\8bDêVkxZ\92rá²[Å6
+¡%j¸\fg\8cΠ\19à½Sc\81zUÑ?l¡"ZyËU     1 7\v\87FqÌ͸g/\8bÙ¥p®îáA\94VÞé\96\86¶²­\94\86t\1fn\16 \0\0\0\7fÈ>4¯\1d9\11}woê°o¾\13;Syo{wlHÁ½¸ÂÀRoÅz\ 6L¼2»Moð¦¤-»Í³Ç\86f>\86\9eÎ
+ÝÚ«¼Lýï
+̼\97û»ÁÂâÖ¼ôÜkßÊ­Â\0\0\0\0\a¶l\9dµÒPnUõT¿ÉõWýú,F?\8aØ
\87¯eOK2ù\88ï\103ãÁ_{\fïní½¼\15÷±DÄÉðon
+¾Ã»\9e\14&¨?'\bâî(­ \0\0\0\7fâ\8b#¶£\99\8bþG©)áeð\Þ\82¤dø\8c\fß}­üݳó8W\80d\95ååµÿã¶9\16§fb\8aû\11V\1f[# \0\0\0\87wb­H\7f°Â\ 3îæK#Ôü¦¥ÎþõN\ fÊv>ûn\15÷¼g*R+Ü#sywmT\86\821ô}|0\0\0\0\ 1á\83\95\14¼5Õ½\7f©À¼üÜ"3ýV~Jüªm\87ù[\17®Û\85\19ý¿
+ìì*è%â;VeÐ\0\0\0\0>wÝÉÜ[ã=jCåQd|f£È8Å\9eÊ\9f\ 3í.\95\95)Ò \87ye\ f\ 4\80\0\0\0\1c\817 ÿicYó\1d`\eûßö8{¸­O_ï¼T  Ò\1c\rÙ\10\0\0\0\0+ûYqb ü׫ÃR\ fí¿\9fʰØZöã\ fÇù5\8d^þo_\a¼«å\7f\8a3~%;\1c\8aI¸Wv ðH\0\0\0\0\ 6'Û:¤Ôsõͽ\87qjCvÈÓá7_Øè`\7fJs\12öêÓÝ$\81\8aÐDb²ï%7Z÷Þ\ 6$\93ñ"qNr-÷ÇÁ\95«{Dç"ÞÃÁ \0\0\0\0\18\9fa´¯,ë\8fÍ{Cn\e\88§¶Zz  
+IØÿb\ eÏÇ\9f \8f£¢\8f¦\9d\8e¥\9c\8dÃ\ 4ù£©       \18úy>í$äiéèãóQeh\13q\84\82tÂv\r4ôqÙòuXÚ\1a9\ 4\adéèd)¨#Éü\92\ f\15ù\91V\11Q\15\9cü§ËÛäþOân\8a9èÓô2\1c8*V÷¤*\0Gq¢\89ùÈÓóq¥x        ó\17\10±"¦\16Ç&\1e\19²\8añ\93\12çch'ã)  \84óñ¨($\ fPG\92\f÷I\8a4ª¼\19\1c+W¸\8cü\9f'\81¤ï¢cÁq\99\1d\11yÍsC(\82\86E\r\14\91\f\89;ÜÍl\9d\8eNå'ÁOG%M?\1cN÷3\8b\14¸\9bß\17taqÛ×ó\ 4ÎTÒúÞ\15«÷OMFHÁ7À¸n\1fÛ¶Ï,û\ 1%~\0\0\0\0\ 5¶L\90N[¸ÃM2\10-²&Û\8cüñ\ 6/µÃÒ[       \11ð\r\\1d\1a  À\9fýÃ\1fIë½\1c=2N\rº9û|NÓ\8a{d\90\81j'Í$m¯"
+\98      Ø2\19\1eÔ\ 3\\9c\en,\12Â\82½lfâ\8cX\85\85æàú\8a·);Ѫ5õ\9c¸TO\ 4\ec\9f\9a\89\81\8d\9d\8f
+øÜ\13&$GÀ6+ã\84¤#\81\9aÙ\9f\95~Ô|\13l{ûI\9c+\8f\80&\06ö;s"
+ö|\19áÿ  \füÆ\1aßB:oCvh\0\0\0\a'ï~N%é\9aZ!ÚnAþ\8aZ\1a\8aZ\16\8aZ\10¿Ì-\14¼6\17\83\80!:ÿ5\1cÄ<ü´%\1cÄ-\f´%  Èª      Cts\10Ô\ 4øñö=\f¬\1e>Ù/×\98\88\ f=&l\9db\82^\18¬ûø9\ f?&ÿ?5\ fG/
+^~\ 3Â\13 pö\f5\ f\v\19\ 5OMEOÉ\9b&
+\93ù'Ô:r#\89\0; L\0 \96\85*\10\93À\19\98¢`a>b£¬ÄE\19\9a\94\81&\18Q\17ëÑ\1c\89¢'xËÂ\95êLC\13§ãp¬¦ùV
+\8ef*\8b\8b¸Bù4«\8d¤ìÒø8N\99@_\1d\96r"~Iüé[ôÙé\92´b¡QZ1P¨ÍÐVÓ\97\87áós\81Ì\138VL9 \937Ùp¬\98\8esÒOò°îêÒL\8c\11\14^\f \0\0\0xáù·k9\1cùM;\1dðrB׿çØê/¯\9fz>Ë%\19¸Y+f\82~Bj1êH¹>\82¾ó(7âðj\0\0\0\ 3é°jû
+9¨Ñ\98)ßõHOãð¯®vçäÍÉÁ\95;\14³î¾L\0\0\0\0>\80\92\85t´²N\90eq¸\1dþaÚÏÉ?\99%\8bÞtEä\0\0\0\0\1fèûÅ\17¯+ïpI\b@\0\ f\84&£_$ \9bã\1fZ^GÛ%\10\0\0\0\1f´"\8d4©Sl\95\15\17ö\7föJC\9d~\ez\7f\9eM\eÖÃ?õN0ÿ\8e\ 3\1e\99\8a\95\87u\906ÝÚt\ e(\0\0\0\0\1f4LÇÀ_`_USÎö\19~\9bO4\92\93ðó+1%/¬D\8e¥\ 4Ù\aºì@T¦\99÷P\eØi\9d\86Êõ°Ï°\8dôÓU\1f\1a\19öÐ\eØF\ eÏ¢3Ié\19Ù\aÙ\18&ø!÷8ò\0\0\0\aÐoI\995\94çN_ßÝö=\ 5\9bÖTPØÖSa8\8f\98mÑÙmÖº>+\98î±Ä7õÍÏW\ 1Î*GØ{ª=[\9aÏk]ë5»bÜR\1c7\14\9c\8e\v\88\ e±Ø\VÞ\10äC5\8e\1fò§\ fï­\86x\9a5\8dO\11»Fì\1cãbÛ¸²øçQë"¾<f'\92=\83\9c\9c¯UVç\ f\83ÅsÁzç_\fÍUBZDÈg¸Ø©éOA&~j&B\ 5¶!á\90\7f\0\0\0ú\ 2¨\83÷Ø\17Ýz+é\91ÐY'C`¡\1a\15\92×S¦P\84\9f\1aZêc<  \89ñ×Ó\93à¬+À\82¯\vÑ@¯ÑÂÒk©ÒÖÒ¥Uíq\ 2Ío\14&3ÝP\852\8c=²°\13·Ë\80Åh
+1õâ¡U=]\82"`aZ1zbe\18ÛÜ\9f\ 5eq\9eê\f\9fÚC2£\92¸*d6C\8f\féð g[\12Ëá¥6\10ëw¹:\1dY|\97«N«R2.×Sõð̨\1e^ÁÅáÖ6â3\9dj¶R¸\7fY\\83"    '¯Aia\84çñ\94õë%?ÅÎ\8cÃç)çäe!\1c"\9e\99Gõô\0\0\0\0\8aù\94;\12\93K´¤\8cdI\12ËQ\12ÈHIÁ\fä\15ùbG
\92)\8e¢!\98\88r|\ 6i\8cÅø8\ 2¢#\vRI\16N\9f\85ê\11
+ÓS\18g\8d\8c\88bv\ e/ºfÄ'×eG\f¯Fh¨\88b#\81ægU\ 5IÖ      ×\98Õ{¼\1d\95\86\19KÓÙ\8bü¬\86l\89"\99\7f\97\fÕE¨¢u¶5Z\1e\16Ü"\1d\98¿D¨fD;!\90ÿ®\86\88¦RöRÍÐO\16ÙqøàfÙcU²\8aÛäî\8e\1e\8c¯\81¦@lX\84Ï\89\1aLÓ81#\ f@+c\91\vÀáî>î'\82\ e\15QóU\93öe9Ø\ 5\96   ©r$±Iþ(¢£\96\96\86r\8d}i\1f×Ð\0\0\0>\80FE\17\19\15ô\14\12P\13Æö\88à¶\bà@\ 3ðÂê(\16º\98ÓÕ´e»\1cdWÔ\9eÅÎ\19C\11_\99\8bx\8dU÷B\82\0\0\0\0\1fVJý\1d\1c­\ 4\9c\ 6æ\91ü f\aó\82â3l     "iÓ\9e2\8dÎ\9b\17\17\98ËÎq\ 3\91\15ð\0\0\09(¯ÓNÇFH¼.\ 4\v\86ª\98ÔÕè-¬\12\158K\89\9f:ÈÎËÌż\84\0\0\0ðþüýÒR_`_£?\8d_\80\9f\91\7fu\97x\b\13\81í§
+\11\9b\82LV\b\eZW"Èé\19\12V\1dÜ"¾\0\0\0\a\87÷\8a(\86\87!\15ôtegÚËdûà@\9c\ eÚp\96\arD-Mu5ª\8a\8a´Sá\15ð\0\0\0?ÿ%\7f}Pxæ.2¬ÍE»´Ð\1a\b\13\81ý\10¼\8cÜ¥díµ\82\93ب¯ËC9\84\0\0\0ðä¯Ñp«\aô³\91³1NÁ\15ð=ÈxK%d \84õ\18×KìÀ§o\80\0\0\ 1âS·ñz\17\9c\8c\b¯\81øá¦¦2½B5 OãN\ f¸\8b\0\0\0\ fþ¢¿\8dÔ\8aÈE|\ fÈ\eÒ!ëkÐä"¿/\10ë\18\11_\0\0\0\ 3ëX3ä\1d\97¢\97\879\14ê\11_\ 3·§oìH\84eE\r[\\82´\8a\1cdWáÅ\15ü\0\0\0\ f±e\7fÒMÅ\89+ð;p¶\85õy\19\ 4\98\92WætÆ71\10ê\11_\0\0\0\ 3éI_ß\91\89\9e\99\89\b¯\81îd¯×\88\83Ü"\82ÅE|Τ0Å;|\0\0\0\ eL\95ý4äaȧmôøE|\ fqs\94o*"++Ч¨£YÒÎ
+3²å_;á\15ð\0\0\09\13\83óQS1NÍSï\8b¨\82\ 4\80~0Ý\91\ eT\95ýQõ\9d1cÕSM\89Áð\0\0\09\13\83ä\1d\97=3\13; øá8ö¶\80Ia\ 1îQ_AZE\12Î\96ãéè$Å;|\0\0\0\ eM¨¾\\95ø¬\1f\81Ü"¿Q\rYðgÃ\19>\0\0\0\0\9c\1f\b¯\81îÑ_A\\90î-åº(¯à\0\0\0\ 4WÂ+à\7fM\15õ\b\8fb½Pg"\9dâÇ[Xà\0\0\0r'\aʲ¿Â+àw(¯§©:±¨ÅEE+/\10è$¯À\0\0\0äI_Ò\8bQ|\ eí\15õ\8dÜB:9`Ô_\80\0\0\0'\aË\9c\1fßN\86}|\ eâJþº\9c¤Wñ.\98\ 1\0\0\0\ 3Åg×é&\85\15ü\ f~\8aý~"+èhdæã^Â+à\0\0\0\7fó\19\r\995¥"¿\83~\8e\92lN\ f\81ïç\añk\aõ\a¦\ 4àø\0\0\0\1f¹\89\ 1¥É_ã5\17â\9d¾\a¼E\7f\16ÊÿCC&,\19ð\0\0\0?o\1d½µÊ\91_\16\fø\1dõ\15ÿ\1d¨¿\13\83à\0\0\0~àJAëì\vüi+ð\8aø\1dô\95ýAé\89HG\10\8aø\0\0\0\1fDT££.ð\7f\b¯\81ñ\11_\96\86r\8c42qü\0\0\0\ f¢\8aùî\e\89¾\e!ð? 0¢\85N]àþ¯\v|LìÀ\809Çà\0\0\0x\93\83â\8aþ\a¾\vèá«Kc'ÕõÛ\b\8cìº
+\19I\88 ùß\80\0\0\ 1âN\ f\8a\1dõó¾£\ eð\7f3¬À\91s\8f\80\0\0\0-Ûÿ\81`Ï®#6¼D\1añ\10\85?i\ 4A\12\ 2\11_û¢¿¡¡\93\182~\0\0\0\0E\7fµ\17×\b\82ë\12Ʊ×Îîë%zʨÍ\89\10e"Ê\8cÙ\9eÐB[çÓ·ðû\0A\182~\0\0\0\0E\7fàN\ f­ |ÖÒ:ìj!wu\92®W\15.·5n\16ä0'\99Û%\8eØ\14êê\ 4Wþz+è\95v\19Þf\f\9f\89Áð\0\0\0?vp}\19Ü\vë¯ÐE}\vî\96Oc\9b\fô\ 6WO&½ºA\0ãb}úþØÞ\rÛíõ«u²&U\13ûtÒ\eJ¨­\92HeÂäµ\f\9cR\bW|æ\fÿ\13±äpÙ\ f\80\0\0\ 1âX3÷ä\7f\7f«¡ßè º\\9b7-\95ß}¾\8dï ØIl\97è\[ë&\8d]W¿ßÜ?_Û;]V¶Ú¡eQ?»¬\94ÚTÅlj!WB,_óE|ÎÉþ\ 3\89¾\0\0\0\a\8c\8aùÌ\8b+ÿà±\93ë\88_µ3\8c]+ÇßôKþL\91\94eó9ÆîkHóê\17bu\8cÔðOjjÌ\92Ñ{½²tSVÛj\89\819Í­T`BÓýè¯\99Ù\8aØx?À\0\0\0äÚ\8bç\8e\15ÓU\ fçX3ëh\9fú©\9dÞeÏ\9eèØ¾Ï¢Þÿ\ 1XZ`åsnßÅ\\90]f¦\80\9fx¶I\ 3\7fpo\ 6íòöɺÙ\e\15|æÝ4\7fX\967cQ\v°-èÊ\bf\7f¥¨¿1\15ñ8>\0\0\0\a\87Ò\87[\ e§\88\8aÿÅÀýý}+Æ\963Q\98\16\97ùE\88²\983m¿w¦~Êì¤z¶#Ï\rõ\93O×öÐ87O\97¶NjR¶Z cQ;¼­\96Ù$\86.Áê\b´|»+ýcQ~gg|\87"\85\83>\0\0\0\aí1\93ì\9aÎ"+ÿ\15\8c\9f]" q\vî¼ó\97M\15¦Ê4s\19\b±\182Ìܾq»ÐôÏ^£g\1fÕ´"\875ye\ 1\80¥öúÕêòÁÍJV»Jeôç\17ª!\ 2\e\1f%\15ô¸íEøÀýð\0\0\0>£Ô¾\8b\87nßµO=ÿzÓù[BkG\13ÓåÛ~ë£aò¼dZ\f\1d\e\ f\94Ñ:ýöÊKfÐ\8a\19ʾ\85ÞÞ¥ÿ\ 1L\ 6\ 2\97«Ë\ 6ÛT,        æw      ¤:º\98\85Ôf×\11@
\ fÈ\9c\1fÃ\7f\1f_\80\0\0\ 1õQ_GÄnßç\9e¾D\90\89³¦\89éó\ e\1cÚÒÿ\93õȲ\95E¬_å3\8dþ\8bª7\9cØÊu\8c\94¯®µs¯·ÖÐ8\17O·Ö¥IkÙÒ²(\9eÜUÈ\89-¯Ôj/Æ(¿\80\0\0\ 1âÚ\8bçÎ|¶\fým\13úÙÖþ¢;Y\95ßù¾Å\16%RZ>W2ÕÌè\e¹Í#×A´\94Ûµ$\8e\7f¾µ2\8bX÷ybíuZÕiJÀ\9cá\94ñP?Eàÿ\12\0\0\0}\8aÁù}Â.\1fù7Îúâ3zêGm,\9eÏ*áé2lÜ·d\8b\a+Ño|\91:fI\93Ìi\1eú\1d\9c¦ß\7fQ\1aæ¢\8dñMd\ e\ 2\93x7o\17uív\94ûÊÙm²Xî­$Bá\10Bq\ 3òÆè¶¢ýF:+â\8aþ\0\0\0\aîØ3è\8eäS·Ïü\9c+ÿ)\ f\92ÂÝ3Î\9aS«Î\9aèrlÜ¿d\8b.,\96ÖyÃ\9cÕAè6²Û¶zsn¶4\90\17Öð8\17O\97¶nW\15M6GØëçw      ¤WJ¾\9e\ 5ôåï0dÿ\1d\9f_\16¢ø\0\0\0\1fN\8aÿ\8b8?ó1EüÉ%ý}3΢q\87C\a\9cÉ2y\8eÑ\16R\91h`åzM÷Ûç\9cyÝ;ö[nq\89º®b\0ª-eËíõ³Õå\83¢\94Ûû3ûªÉE\93\88a\16î<\95ù\ 5É_äbÖü8µ\17À\0\0\0ñX3ò\vî}ÐÎàL¿[\14_õôï}D\86»4éÏäÙü×ò©à}xË3y­;ö[k-»mK*ëcHùr\9e\a\ 2èÞ\rÛ­ÍkM\9d&ê²Sl\96;f\92\1d\8a¸\8cÚÚ\ 3BÔÔþf(¿×ãÓ·Å»~\0\0\0\a\8e\8aþ\18ÿ^(¿ëÐ>iåúÍ\ 1¼Î]·î¸\96¤ß°\19FO1¡uô\9a¸]\1eØã\vB\18W{DP7÷\108\17/w\96.W\15-6'WÓ\9c*Þ4"\ru\14\ 2Ä[\85\16ï\8b\8a/ð+èa\vÁ\93ú1\83\0\0\0\f5_/¹k\f.çÝ\ f\9cý|Q\7f[@kWBÕÓÇk3\ e?Äöè±\182L~_0Ó÷\1a\a.{Q\ 5\9cÛδ9WÐ@_Ü@`)4]©\96è¥+M\91íºi\ 3,\1f\ 5â!\ 4â\a[\8a/ûtFò(¯ä  +ð\0\0\0<Wô~ù_qÑf]ÄæQ_Ü'\1e¾oÿ³«£lÑChzFïA\92eó&V\10»\81\97\16¤Þwm2ÆÛVqÖÊ\99òå9¼\e¸\1c\v\975)Yì(w\85N!Çìj!Ljf\82+ýv(¿\99ÜÒx¬\1f\80\0\0\ 1ôÞ\ fò\15w:\80P;/I4T\95û|ãÏìH\9fë©\1dº\99M\96\84Þg(×÷}
+ÿ\94÷H²\958\86Ïöº'\7f\85é·3m\r$EºÛÔ¿\97%´ñw^Ûj\85¢Äë\ 5tÎÖª,ÉÃNEâ\1e­\15õ\93\83âð\7f\0\0\0\ 3Çq7ðoÑÒÎ\7fß\ 1\9fʹÅ\90\1aÔÐ5é¥v\99ÇÎ\83$Çåÿ)\16RFM\93í3-^s>ëé5q\1amÔîýæÀù\93\88o·Ö®÷IÝ\14¦g±¢Û¦\8fò(³JÑ_Y\94»æwZ\18$¯À\0\0\0ñ²¼ÿ\19\9f_\98\88th\9e{ÿ¥5Å\ 3çRsu\9c\1c»g\9d*pé\7fÉwH·\158\86Õç5pz\16\19Ö¶ê³\8eö\88_/,MàÝ¿à)sR\99\9aÂ\83uY'µK\18½ô­ã¬\8c+ÿ*p~\8aT"¾\0\0\0\a&Ô_ÿÓ¯?¬£mÒÉ.çÍæ3.^\8f$Çå»´YJE¡\9fíz\87Î\8bY\17¨ÜÎ46$\91zµHo\ 6î\ 3\ 1KÉWÓÂ&\8b\1a=ål¶Ò¦+ê¶Cå3ëâÔ_\0\0\0\08\9bå_;í\7f³\99këhMk\ e·õS[Ý\1cF\93&ÝÎô+ü¯¼E\94».K$Åö]+_\9eйýæª+ªÞQ9<ÛÔ\95O\15Áº5}hów^çn\91\9aÂ\7fkU\19ÿ\9aÃöB+æt\ah+\aà\0\0\0\fÁÿñ\9fÑým#¦\96Es:÷ø9vß?\93gåú/Ƶ,:ñ\9coôZÈ]#%!¦êÙ·\8bDo÷¶¦ðn߯íÜn*Xëç7Ur{Z¨½\96\1d\96³ÿdWÌï¸\109Çà\0\0\0       +ÿÞ|ï̼9u§\9ctòÛ]\f&{6õé²»ÿ¸.ú'þ¢-\19mÿÜé\8dd×£×w\93í\8dµ\87\r]¨*\8bY\7fpñw\Ùh\81\90§\17bWkU\16ºD\1fìZ\97æc·úz\9a<W\13|<\1fà\0\0\0\ 4WÃú?\ 3°Dÿ®¥vÕÐ4êf7Z\18.\97¤oæ\96½{?Ùì}Õ¥ÿ%\94dó+Kü¦M\8fËô­¾\83Fñø\e\b½[\19÷Ã,µ\92­L»ÛG[\9aÆûb\18k¦öeÑk6E$\ 2oçb\8býIy\13~-Ûð\0\0\0\ 6(¿\8c>¿âÑkú£\9b­\14.\7f4ë÷\99f¾g&ÍË-0r\9eöKk@çÏ­ÅjJqv\13Ï<Z\91\ 1}nc\9e\94Ûj\85\899ͺhý\99\86,\96§Ë\92ãTÊÿ\8c\89¿\0\0\0\0Z\8bä\fQ\7fìÙÿ]]\13^\9eWg£\88Òg_V³\ e\1e\88ª-\7fõQhé[<þ\94ÖKc%³_¢s)ÅØ½³\80-\83çu¹¬l´§dQ=º¬\93êÒD/\11\ 6¸Gê¶`f8\9bõõG\96|\ 3b\vÁü\0\0\0\ f\e\ 6OÄàÿ¶`ðÞµ\94\99ÖM,\92î\80Þk2åÎñØÓ_]X\8aʳrÙÖþoH÷ЮG®3 \83~.ËY5}h÷ybè¥3e¢\ríl¾Ðª-d\17ÌÉÇò\16|3S\15ð¶Hí\18ú2&ü\0\0\0\0\8aøE\7fÚ¾\93MziM\96\82\a1\9atç²í¾\7f(ÓöÙ&O´Z÷u\89\ e\8d\83\95Ñ:ýòì\8f\86\rÍAÕ\8f\10ãU\9d*ús\9b\84Ò\e:\98\85\17éQmwu\10õuÔË\1a\8bôTrÈ(e\ 5\0\0\0\ 1\8a\15ÿɧ\92kO8ê&÷zY\15Í\1c6\87:k¢Í:sùf¯áâ½i>Õ\83äbòËL\1c®}ÇÑé\9f²Û9M³\ 5\e«\9dQÇëË8\1c\e£\1d\8b\ 6«#ìUó{\9a¹-¢H\82«\10\85ÖH>\1f\0w*¤¯Ñáà~ý<ü\88Å­ð\0\0\0>\9d;|b\8bÿ\80\83d\ 6¾\99çZyÇUA¾ÔM°id¶\1a(]\ 6mãÒå\9aù\9e=bd¹12î~Uÿ%\92còùf\7f5¡pôzWì¾ÆKhÐ\8a\1c¦¦S\ 6éþþáæíCÅÒ}ý\9d"úy\8c\8ax¯æ5\17øX\90?,³àuÜ"¾\0\0\0\0°gÂ+ÿݹìº\99\8dÆ\92/©Ï?åsN\9cÿHßè2Í~w)¾æ2L¾ei\87Ù°\7f\8bL\1c®M\8fËhÝý.ÒSpÒDS\92\8a'µ5o÷åV!ÞnÔ6Z ÞVËn\13Hìêbv5\10ÝïIÕlÈ!x\8dEøs\8fÀ\0\0\0\17\83øE\7fü,jå3¾®\89³ª\99Þiäö:H­>\8a\17?\9e~ÉfÞ}6eË\9dË5ó=\e71ø\8ck\8aÒÿ\93èØ|®\81Ë\9eÕAèvrÛ\96ZW÷+\ 3¯×öð\18
+^ï,\mÒ4Ù\1e\9bÛ%\8eîÞ!ÅÄp,\15\115\95ØÍEøx?À\0\0\0ú\9d"\9fñ0dü"¿ú\8e.\91\8dãfº\91ÛXu¿U@Ó©\9ehê¦\98
+\92ï\8cêtP¹üëçAÒ»ÿ\e.Ùç²­>o×Éjr\9d#G1\9eqçzs]\1e¶E{n}Ý\9aÂ\85\91\15tÞî²Wn\9aC»E}|¶2\7f\87\8d³âJü\0\0\0\ f\1d¨¿\12Wÿð\92øBüSRt[fU¨\9cbÓËmz\89\rv\923Q 7\9aÏÀeó¦\96³.<æ`±Ò7óYvÏ<HÌ8óz\ 3y\9d<®ÏZyý¢¿ä=KâJü\0\0\0\ fßj/Â+ÿñ\92ì[BûƬ\12,¼15ôÏ\1aã®\1aÓ­úíÄ\8dm\e\7f}Þ¼\1fü9Áñ`Ï\80\0\0\ 1ö\1a\8bð\8aÿûk\14E\8eÎqç½²ÇUµ\17ê*\83Áþ\0\0\0\a׬\1f¢¡áb\8bø¼\1fÀîd¯Ì`ÏÅ`ü\0\0\0\ f#´¼\8dmJB°\19ÿ\17«ßÁx?\81ÜÙ_èá8\88¯\89Áð\0\0\0?o0\7fõu\b\8auçÈ\14íð?°ëÏÔ\87Îü\0\0\0\ f­%~Ç­\15\83ð<\vvÿ\15\15ô!Äß\0\0\0\0X3âp|\ fw|ïáb\8bþ'ÃÚ\90q7À\0\0\0\ e¼ø§o\81Ý`Éúz\93«-l\ 44R¢p|\0\0\0\ f\11Äß¿Bw\83×`çÏx?ÀøØ\r\ 4È\86\16´¼¯?#\13ãò\985\17à\0\0\0x¸Wÿ\88Ô_«²¿ÆR¶\81Û\8dâ¬\9c\7fXÔ_¡¢\95\r\0\0\0\ 1\83?Uвúðé_ü\ eÝ\15ò\15eÄú¿\8b,òò¼üI_\80\0\0\0\11_\15\83ð=û\89¾[d>-Ûð\0\0\0\ 2\15ð;×\83üÌ7À\13\83à\0\0\0rqEü1\93à{ÄWøxÛ>\11_\0\0\0\ 3ÇÄ\81ó>,J\b=0tä@\92¿\ 3úù\13~|àE|\0\0\0\ f©\90\vèËÀA\84\94\93((e)§GY\ fà|\ e\83?åEó¾\0\0\0\aÒ°gïoï\91ªøà\ 22Jü¼\80_\b¯\81勞ÐÑJ\8e½×À\0\0\0ú\95\83õ\9f!]æuEÿ¿\9f}\b\10\81ùy©~\1fÑð\0\0\0>²+æN\ f\95\853ʱEýª}ìuEþ\aõ\91_\14\0\0\0<{\ 6|¿\90\19#;gå1\95ÿo\9czÙ!\80\b\12\0\11_\0\0\0\0\ eó­³óó12ñ.ã«ñð;|Í0]BüÌUàÿÁÀgðÆO\80\0\0\0\11_Ux?\9c\14íð=Ãü7\0¸\89ý~¢' ý\1fYñüú\18Éð\0\0\0\ 5¨¿\858>Ö;\1cßÿpØâ? ÿÚÁ\95¥Â±¼~\vx©àÿÅù#O\13\83à\0\0\0rd¯þFI\8f\93ÿËì\92Cnë%\e-P\1a¾´7\83tf(O9©JÅ]7¶K\1e2J'ð¦æ6\951[ÊÙfëdf¯Iâ\ 5Ùxk7lä¥+\1dt×YQ\ fðð\19ÿnD%^?IÓåb\8bø\9c\1f\0\0\0\0N\ fÿ~ð\7f\ ÞÝ4{\85±\ e\rU2\fG\9e\1a)\8d¶&\96~¼³3$£\1dî\93°×M/\f¥Lõn¸zé\10{º¹6ÛJvôó\8d5\11l'Þ7È¡Ü\13νÞXÀà]\12\1d-êWÓÌ~~E*\94ð\7f× àÎ\ f\97òH\1e'\aÀ\0\0\0\b¯þ\8a\84Ò\fh¡u\90Ý>yÃ\9cÍ5ùܳ7/\9ajæsmÜÖ\95÷)¼\9fn}¾µ/
+¸¬÷Ö4c 8~3ußW&ÁHù¨\83Ïç[ù¼ËW\9cʳòù\86\9f¹Î7z\1e ÖI\84ë³ùRY×F¯m\18ëç{ù,^\ 3Áÿ\87\94»è¨å\92ÓÎ\ 6¢ü\0\0\0\ f¥\85\7fô\9fäê\8bÿcJó©\86Ñô}v\f\17g\9¶\9a\88ÇëÛX\1c\v\9dõ\91Ñ\9e\15\99\12\7f§\4Æó]~\ 3\9cyÖúÙ¨\ 2ð?q\91D÷~\95\1eC\89¾gÊw°E|\0\0\0\ f\e\14_æ¿MÄßÕеh\1e½Gc\84.Ù¦ï@Æ}èÊ"\86ö²Tv¾=\86ùÜê¨7Ù\97/GØñ\ 36ßèwÈâLÄ\85½Òi\1f\8a\8aù\9f,6Âp|\0\0\0\ 1\81ûÿ\11Äß[Bk2åÎöY\96;\98iónUÔ\1087N\8aR\8cú\ 6W\84Yô®ù\87.w²È\11\97<ëeJo\ 6íÑJoÍl\87â1nqó.\98aNß\0\0\0\0Q_ü)ÁõÄP\1a(]\ag\8d\97Î\9fzíeLo\ 6í\86ºl"¸^\f\9bg\9f²~Ã\88\1aG\9fN÷pWG§ÛÚÙ\8f\8b%~\82\86Paõø\0\0\0\1e-\95ÿþ\fQ\7fÕM°å\1a>ÛØáìæÒ[to\ 6íÍJQNèG\ 3ÔÌnrl¿Áìø\80Ãå\17è\  â\ 3\1dõ\85ßÂÉ1òÑb\19\13~\0\0\0\a\8d\9bÃÿ\1d\15üü\ 6[´ÍF\ãw4õoT÷{eÖ%\8d䢿\9d5Ðö\98\90\81¤yþ;åÊw\9bµ\1döWãddMúA\91\0\0\0       ÁÿÐE\7f]Jí\93gó^Ï2¶Ø~Í\82\81ÅöúÕ\86ºk\90\8aæ¶\91Ó\8f\9e9,´Ïï×öûÊÙo\ 5àÿàZ\8bã¥\7fð\0\0\0\ 2\12+úym¯\1f\e+5Ñ\1awûëf\8b
+%ï¯\9a\84\1ay]\9f\1f\ew\97£×MàݱWÎx\ f\aú§^|\80ð\7f\80\0\0\ 1ûÏ\9dÿéaõþ\8e\1f¦ãæ¢>\8dÛïß.S´ÙRr3Á<¹Õß碿Ó<zh\1c\v\96E\13ÝûÁþ±\85\9dKO8\11_\0\0\0\0I_ø(¯­¡}ξ­qÐ\1eÌ4ù·\8bj\86{
+/"ð\91'\88\19·\9fKÛgØ\89¼\e½ý\99ÿ\86ð\7f\99\95çã"oÀ\0\0\0\1dQ\7fø6¢úÚ\ 3Y×Î\83Ûe¾ÿ(ïh\89¦Èÿ\90þâké\9e3N\9cÿm\91@&ðnÙ\14Oü7\83üÎÕGÅ\83>\0\0\0\a\8bX?øÝ{¯ûtWÉ\ eöhY¬(|\89Áþá\15ö:ùßÌÊóü\8bQ|I_\80\0\0\0:¢ÿüéÁó]­\80·\85W\ 1\9d,é÷u\92¿þ¬\1f 5\9avûßk\93\97Ì?dÿ\7fqÝã··®Ï£ò­Eú\ 1Ø\9bø\0\0\0\ 2p\7fáS·Ñ?è\ræ8è\ fg[ý\v\85\89þGS6+\88às\8f~£Úç@Kw¢ð,¯üKQ\7f\v¡eñ`Ï\80\0\0\0\11_ø]\97ÏôñúÎ×&×É\1acY6ë*]\97¾É³ïÖÚÚ(}\17\1d\15þª\ 32Ûj\89sâ[·æ|ócËC9\ f\9böp\0\0\0>\8fÓíGéçÑþ®\85«µé\84±i\7f\94ë&7»ª¹.M»yª¡ßÿC0\90|¦îy³àñ\ 3\89Ú]øx?À\0\0\0\12\15\95þ¶\89ÿ4çÏ{N\95ìyv\14P\81\83?.u\8f,×Ìö¹¼òÂDFÇàY\87\nÒïÅ\95þ\0\0\0\0E\7f¼\1fú\89\1d\87iÒ½¿Lóé÷)cÇJî¥ô\9c\a¢\87Ñû9ÕØ\1cÎÞª7àµ\18£´»ð\0\0\0\0WÔÌþ%»~dàûW\83\8a/úúG\ó×§üZÁÏ/¯¡l\12W*ï\b#Î9\92\99_ÏæÛàÙV\8eapë\97\7fð!WÀÌ\1fòþ|\90\fùß\89§\15\83ð\0\0\0<\ÁÿÆE|ñxE?ùýQ\7f\88ðAß\1e\0\ eæ£]þ7~\8f\89tdÑæ:~|\vãcàÒ2323Lçgx\1cìç,ÎÏ.sÇ\ 1ÝÝÛlq¶\9b\1dÝÀ\aqÜq\8eÇ\ 5\96\96Úp\0\ 5/Z\0[B\80\a\ 5¥¶ÒÛK@\0:\81Ü[N
+Z\16Û@\fZ\1f\81ô(}\v\93&í3&Ñ\93.\93G2>\16NVN\8e\8f.Îs&\8b#¦é\19¼ZGÆÇx\16GÎø¶ó¿À'ÀøW±\9a>\15\8f\81\93H¾-ázN\8aèé\9d##·\7fÓÀýµ¶÷ÒÝe\9e\9fM\86\89Ò½_çh¯3\1e\8f©§H8ÝæP:iÏSç1\1eSÞu\ fÏé&}6\ 2¢Wãï\eÝ\84NÄßîæ\97\7f\93Ó\1dÔ5\ 6η\83ð\0\1fó8?ûÝõ\95E\ 4÷ów\8b?é&¯¾î~^|ö?Ë_édPTùß\18\93+èæ:ow;Ìþ\86SÍ_餾G{\vü\8e¡·ù4ÊCTÅ ²ý\ 5|\0\aÒê±~'*\9f\7f\1c\9f_ôÙþ³ï1?_íõ\ÿw\85úÏÀ\97ó·úl\82
+\87GfÉ\9a¾ùÞ×Êø0V|\97\9bÃù?ÂËú/\91\ 5s\9b<ïü®\f\9f×Ré\e\0\ fýÛ·áêA\17äõ\r¿Q/øúNÇÐIù\8f9Ïø\e\e¾­eq¿kø\99Ëú
+ç¹ë\97§G\83óò?q{¤  û®Çê¾ú?ËtÚ\ e«\ 1O+ü]\ 6\7fóû/\9fh¯À\0}=àþ\8bEü²}\7f\8fôúl/£Íz_C)æ¾þOÌ@z.ëÏ~,ï]}¡Æu5   \19Ì÷}:\8czm\1f_wÑ\ 2ÞGÌÃ\94\ fÁÊú\1fÆ\9eÁu\14]Ǽ\9c!ßÜ\82¿yó·ém\9f\0\ 1ôº¿\1f\8bS:\95E\ 4ë¾\eñâüíüN\85\97ñó2ª¨\1c\0\0|ùú?¢Ñk©4pÊAG"
+úH§ÇÅìMþbFfQ¢¿\0\ 1ôx2~\1eËO\9a+ñü\1d"\9fÎf1È+à\0\9a\97áê\8bÿ\19¦\92êéÔ-Ï\8fÝ\93ëôý\1f\80\0úsô\7fÉ\95\17ü^\9eO«¨A_\1f\ f±7øj9DNðø\0\aT_ü\9e2\1fH/\0ñ8È~\853\8fà\0\13\96¾\99Çññy\83ÿkí;q?|\fø\0\aFOè+ãàó\aü?\15ÿËÖ\ f¹Îü\0\ 3å\17ÐWÇÆ\9c\1f÷oSà\0\1dQ\7f¦¼ü~öÊÿ\17ì\1fêèçéu\19ç\ 6O\80\0h¯Ú+ñût\bOÖPò¾Áþ'Î߸2|\0\ 2
+üIðßÄéÐWÇìý\83ýç\1d¿¸¢ü\0\aÑíÄýÓ øñ{B_NZø\0\ 6ð\7fÎ\93U÷BËãÅí       }È\9bà\0\1aÁ÷BËããH~ý[å\17À\0 ¯µ\83á8?à\0\aùÊ\8bøú\10WêRj¾\0\ 1*/è+ãâs\aÿ3x?\9du~>\0\ 3Èî\80}²¿\8f\17ª/ôàÿ\80\0l¯íàüx\9c\8d[ÔÓÊv\1aÜÖÎ÷¨môàÿ\80\0Q:~Ö\ f\8f\838?ù®\87T_íàü\0\ 3x?A_\1f
+p\7fï>+ý-³à\0\10WùtN\9f ¯\8fØê\8bþò\89=øx¢ý¼\1f\80\0ò%EýÀgãáö\97\7f\e\87×ÝCo\80\0ùÿ`ÿ{J/ÿð÷°¾>v\8aÿk¬¼\93UûºÁê\13¼>\0\ 1ð3ü\8eN?ÅéÓá¾?Zp\7föq%¶~¯\9b!\1c\ eÙ÷À\0 ¯Ä\82¿!¢H/`ý~¡·ö¼Ý`û¶}ð\0\b+÷t\99\9ewz\19\98ù¹¨î©F\15øðú\99\9fÙÖÔlùt2\7fÃ"H\r»|\0\a\91\ 5~\9eî«K\98ý\16k\1dØÐ¤Ó\18\15ü5\ÆÏk¬ØSê/7\83úÊM\eå\17À\0xýZßô ¯ëuz\1d4J\9c($ç¤zÄ\8cZ\8f
+
+ÿqY7´ÚSUòé<\9fQªþ\0\ 3þäúþ²\96ö~\8fât,Å\98\9f\98ÇÎLc»6ð\8a<)¹>Ìì'ö\þ\f\9cu¶~\0\ 3þ¦L\7f[E½»ï÷\7f\9dJzýNªsM\9cÈès=Ì×w\8fì5r®sÈ\1f£\ 5\7f\ 3U\95Ókõ\1eÒ\9a÷{¾\1f_sèø\0\ f\1fâ¿èl·öu|Þ}\1fäÊ\8c,Ä5<\9dMMGâ5R\9f¿À,¨\11_6
+ÿiEÝPêfý­qX\8d»|\0\aüHÉý\9d¦ÿ_O©èRü\85A=\95\9f\98äU\bw\97ÏGáõY\1f_I\92ÁQÉõÔ²½u,·(¤\94ÀÒdy\9e\8f\82\86\ 6îâKuÔÒðx!ó`®ýyx.ÍíÊ\82ÀÁ]Ù9\1eu÷üó×QËzÚN_\9a\9b%ÈÀh/\15\1fºÄ+»\ 2\92SÝ^\8aixq^/\9b\95\8d÷¾hÅ\1c\9f®¤\96ð±\8e\89\94þW¯\83¤\97æe?Þâ\8clÇ{\8c\95Á\87ý~®VV{!=?\94èÖáÉ9\97Ç)<\9f\0\ 1ãÁ_ßÛZíuþÖ±(\8aª       Ú\1d\16f-Q\99\93Ó\18ù\99¸ì¶~CõL®\82/\82F\ f\1dç\9bÁ´¤|;ïÝÍ{L<Êç¤<;³ÑÆ\ fÌó~]·   \94Î~\9e\99Øèqïâcdb\ fÂ\1d\fÌ\86«E\97¦ÕûjÜoç3\18å:T \0<b\97S;iqo·Ûlº4Õh]È!\86\9eoU9\93ñ*\9fÝ÷äæ[Ùx\97+Cý\15KÖrê\98]î}ý½ññ³¼ÏËë59Ú\9fq[Øäæb=SD8\0\ f\18Ïæ#÷ÖÖ¶[ë=u6¢4\15hk\8b«ªäð\a\9f÷Ó\8f\85\13ª>\bqSúk\9e;÷ÕëEr뺦ùtåGè2ØÕXà\0<c/!\85Ýx\15ö\97\17\em¥]íqIðÉ\ 2mWùSÝ\19ãW+µ\16¹lzÏ\95\ö¥M\ 4ìÔ¶)[*8\0\ f\1e¤1\9d\85e5¥ÅÆöËy°åíܰË"D:\1e¯m_ÐgõW%mãW)\ 3\98\92Ï\97OÆý\16\8ec5\90Ã*\8e\ 1\0\ 1ã\99©.ÎÆÊÆî\v\15\9d\96º\97My\ëMßR
+<Úûç¿®\9fiú-$Zþ¯~f(û\98+÷yÄùZÐj\9d^\87M\9d\97÷µÞ\9d\0\0\1fÛôä¸kö«K5¾µµ´¸¸ÝWíö5T<­`üN\13¶ù\9a+Íe\ 4ô:\1cýoû×\9a7U«\89]\97'Ê®¦\12§W=\9dÊ+R\8a\0\ 1ô*C\10í}FË_Qiqqioocec¸­×Ä®\99\82~öº~oìÑ_ÏÕC\ 5gÁ¬ãËüj
+O¢ÑÓÐÄÑÚÿ=w{{}¥U6§;\91í\9b\0\ füª^_¶õ4ôZMí\9d\95Ü\16[\8b\8dýµ­\8d\8eî»s¶\80¯®ÛÂt|Û\98\9e\rÕ\7f\89æ\87Çß÷õ±¬k
+ýÄ\1e¼\1fæöåE³ ÷`ñÁctnÍw#ÑÜD÷kon\r篺¯ÛAëÁæð+¶\96\15Ûh×Þ\e\91r¹XIy}ïq¾\1fS£ëÃmÞXpaW'×­\8bë×r±^·\93\93\1dÅîLk óD· ºpa=tOj¾º\13\95\86|üÇVï, ³ùÙ£\86þîyxÍ\e.Þç=\1d\ f7C:\11²Ï\aâ]\8d\96ò²¦\87 ©Çä\0\aÔ©\f\7fE7-¯«¤ÞXî­-íá\82Ñâ\16Ü\v\8b_Úº\1eôµ·¶´þKûäc~îÇÀØÖRÏÍË*Ï\8c\0\0"R\e£)\8aõyy\f$ÆG\13ð\8cßú\1f\9b}å;ļɿC\92eä0²½¾\ 5R®ø\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0|âù|Äo½?\99û?®ü??¤Áéuú\8f­ÁÙ_ñ½'\9aÀñ:^\1f¥ât½&v£ÿ÷?mÙfþö;¬Ë~G\93\96Öö\7fc|é/\9d/ÛËö\9fsÄé|¯\9bô\1e_\89Òß.ÿ¼¼\ fÚ@ý\97ÿ¯\97ÏKÒ_/\9eJùö\11={ä\1eÿ\94ú»äG\93üË\88\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?B²æ|/Q9\98\8eÚk©w5»
+\8a\r\ eS¹ÁÅö¤q\1dMe6\9fG5+\1aÒª¢\9f¯Ûì¹\95 ·áoÝæ\83+Þì)ûþ÷_¬ÕNå;\9fayîêçæiu\19øü5þöþæ$0\90\©?Ê­"WiYI¢\99\92¼ôe½\8f]UE£ïûÝvή\8f;\93î1ý\95ööåHâ:­m\1e\92\9e\82w\1fÙtüêàíõ\9a\8d\8dE\ 4\96\83   ³/\b.\9ck2\1c~\8b`Wmö[JÊX/¤ZÁì È>¦w/yX>\f\19L\83\f ÃmÍn¿[I¥\83\ 4£`\1c\19(Ðe»\98rÛ³«¤Ðe±ÑØEh\ 6 \0\aû\128\8e¦ª\8a\7f\8fÇãñ8|.\ 5½­Ï\17\8bÁà[g²¾Ê\18\16ù\ eÓ«Ý×íé4ùÛËJg#\89áðn ´¢ú9<o°®Ûì¸Ün4\17\ f\83qmuusìø\9c<þW\e\16\ 1ÎÆ¦\82·cQ!\87À^à\ 4Ô¶*\v\95+Ûàz\18=k¿Þêôs1|Óy,]µ¥\95ÕÍÌ\17\97\89ÃàÁ\85ºÚ=$~\16ý\1aåGaz\8dm\1e\96Ïy_\1aµºÌ\87gÕ\ÜñuúÎó#Ûz\9b{]ô\18[qmi\14µßoc_Øqú\v\1a\ fj\12\1c]ï'2ÐÁS¯Ûìªé4±kIR\94ÅzºÝ\85G\1aêê\f¦pn.ò\99Åâñ4ùì\9c\!\83-ºêmD\19(\83-vÛû.\ 4\16\1dÏ\17]¬Ô ±\0\0\1fêh2øø?ÿ_\81¹­Óçòs\99\88ê=6r\ fÿï¼°ï¥1^«¡\ 5~?\v~ª¢Ññ¸Üh°Wã°\9d\9fUÆã]lªµzI¹YìÔ\86³S9okgg¼°Êãû\ f\81\ 5~O\13Ö×î6|>\17\ 2\97Q\9e\82òés\92ðy®®ng2øûÛ\95\a»qmi\9cî±\97·¯I7-\f\15ø1#A\96ÇE3Ù\oB
+þ¦\83»\95í¡43\19\v\ eûkg¼¯Éã}|h+øü%ö\93M\9c\83 û}\95V\9b=ÝNæcè´\93[û=ݽ¥\9c̤JâÄû.\9e\f6\83\ f÷;m\8e\8b7%7/ÛÁaíuÔÜ_gÄÍÉö\8fÈ \0\ 3æ\9b*­_\ 6Þ×5\90ÃêÆ\8fÂß´sR·WWS\99\84\15ùoc\82¶´³à[ÚÅ\82¿\9a\92ÄAæÚUÒEÕñÈa¯ó¹\98þ5ÕÕ.£=ð ¯Ïfd8\\v\8a-\1fw\17D\1d\9a\92ÃÙØØmöURX\9e²5ÊÌÈá¸7\16Ô\1a)\8bË\9b\ 5·Ãàð&$û8`¯Þë=ú\10Wï1ú\f\92ç;¬eŶþw1\1d\1a
+þW\1d×ï¬w]ö×]\92î=t]a^w'ÜA\80Û*ª\e¼\8b\eJº=îîº\v&-ÐÊc°v;®þ\9fU:ü\8a\0\0>iok¾×Óêy\95 \98v¾£w_·¬¥ÓÞÀ`Çö]=\1e\96k\89Ãák53\90Á_\8eÂ_j('¬ìl2|Ý\95Âî» \1a\9a\vK=ä\94JÏÅü8+ò\18kþƦ\86þÚÉbzÛË\ 3S;\98àÜ[fdp±®Tv\13¨Þîë¬;ý¬Ô¶*\139Ýc+÷\e?\ 3s[\ 5\81úPWáÀ\9bkK-Töf4\15ø0'\81oi\ e\ 4Þ\14\9alíÏ\17\8b\ 6U`¾\96[ºêM6s\99Y~Æ\12û³ÖÑwºún\86Í8\0\0\ fî!Ù\13y\90\ fðø\r\9d]\1eãiW{\ 1\82[\17×o,7\15»
+}.w%\f\15ù.Ó¬®Ûlv54\17\9bs<$æb:ÚÒÎ\1aé\8b¼8+ò}¯¨ÞWî)è'£X\19\w_Æãq§"h\93c\­}>§\8fÏþØÕPÇáoÞ\14\15ù\1c>\ 2\fWÕhyÐWûÝ\85=vße{YµlÄ\97gÂà[çòÝÌ\19+ÖÑé&åñq²Û\ 6Söºêhü5ùù\1a\0\0\7f¡ÇãñôS2|Ýá:ýYK§®\89¼\ fF\80Á?3'Áà[h³rP\10Á_\94Åz»mý\96\9f=\93½»9hîÆÎÆÃI7+ïà¯Êöø\1e\ 5½¬ÿ7
+¡ÂÝV\873\98\90Â^Ü­\1cÔ¤\18IUE??5)\ 1±©¡\83Í\f
+
+ü̯k\ 6\ 4èsrQ ¯ï÷»¾\86¯\9a_Øà·\96\e\881\17\1fÙtòx\9e¶6\8a\9f=\94öW\16Ûú\9a\1d\16;\9f¼u\0\0\ 3ü ¯èsy\bß\ 3]WI¥¯çÁ_\83×ÞWî óHað\10ZPÁ_\97ÆzË\9b\9e,ÞK\17{ve;oU\f\ 5x`¯ÁãÒçeá\81Õ\ 1=1#\ eË_\ e¯S¼\9cËEö 2ü\9açA"Á_\82ô]]\Áf{|K\8d\ 5\7f/\1f\84¸¶´¥äÂ\1c¬¦ÓÁîå1Ø?}\ 5~\f<\87\ 63A\84ö\9bë\1aí¶Æ[\17\82\8d\ 5\8bìô¹É~\85ÄÜm*࿼½ã\e«\83\18'û¼\8eãi­º¹¹âp¸0Â\1f\0\0\aÔ\82¿3)ÚÅÖ&E\82¿\92ÆzØ<\13?\93\9c\96'­»¶âl\8dÛ\1a\9a\bÚº~\17\ 2ß3#\86\18@\83\9d{ÝÍ9+ÿ|&\92\93wzK²nîîîì\0\80\12HI$\80\0\0\0@\0\18\0\0\10\ 2\0\0\0\10\18\ 3\ 1\0Û\0`0m\8d\8d\83m\83m¿\7f~ýö\1fz~\9aö9ϵî»Âº\96¥·Ñ-]©jQ.VÛäª\®«Ø7\ 2âÔ®\15Îö-V¥RªÕp9+UW\ 3ØW
+àT½\93\vr|®\1dÄ÷*\95¿ôø/»k$nÉ0ñÙ_\83þò_XÁe\7fËÊ'¤ýL¯Ïö:[zúkUeMu¿4·V3wes®\16æÀB~öWàÁ½ýíÚÞOï\f\8d&Wÿ\92\ 4\v\9fGMxØ\f\9aí\1cÅYxföU\93ÒZ      ïÛ4c\ 1ûñÃZ³Ü¸«*C\90 @\81\ 2\ 4Êý\94Ì\7f9VV\vV{\86»}ÿ/Jÿ\ý+ý½};/\ flöæÚÉé9¹\1eyÙ_¶ª\97?\94\ 5\1foÞôô¯ß>°£ìú\99_\97\8dæ)O\80É\86Àá´\1d\9e\97\vvººY¦ò¾öWÖ«Ë7MVúÎ\93WIC§\1c\aé¯\7f/Jÿ<×\ 2ú\1e×»»³«\ 2\ 4\a¯8ö\16h^ÙQ\8e\152Ví\92\ 4\b\10 @\99_ò_YVOI9pß&þÐÖìs²¿AÙép6úì¯ìvÌÆ\1f¸àmycCêe}\f\aJ®eç\eºÙù;/\ fs\89Û\9c\ez\9fÅ\95ô­Ûó\92^ÖÖ¶\96\86Mü&W÷÷¢Y_ú\884ÏuZ\8dá\8e£\89Ó\8c\9c\vYÂþÞ\e\88\10 @\81\ 2e~\v\98·O^¼6&¨\93+è^\ fõtaÞ\ füUS\bbk_\95àþOÛÜÙ]\9d\91\7fpoÒ~Þ\15½M'wà\87¨ezp @½³¤\1e\8dË\86ö4\92¿ÌÊü´o33\12çk[H×~ä\99_[\12ð\7f;$íÓ\8bJnù½Û\1d­iÔ°&.¬edô\95lü¤)@ @\81\ 2\ 4\b\7fí\95õ9X-\9a1ÕÒP{·\19Ù_\97\8dæåâ\4c¶v^\92Å.[µeùa_ó\11þÀ\80Ìvµh;=/?÷\8aOMßyÄîº\83¯\ f\85Kuc\ 49ÑQ\8d¡\93\93\ 33\rþ\vÁÿV3'\ 2Óseq»\9b\892¿\85oU\ f
+ÿÈ¿³~ùôô§¹/\eÌÌŹÛ×ÓK'\r\12&$£?"ø\99_ @\81\ 2\ 4?úÊû·N\1d8ಥî\1fÚ\9d\95ôz3ò.\7ÒùñÛûz©\98\ fß§Àµýøíý¥7x@\9c¬/\11ø=\17o©°±I¬¬18Vw\92õÓ\86ì\98k®ÑÌ;\18\7fµ\95ù¹\1ezÕYkÖª3$\7f^;\7f\18iI³¥î»sä£\18Ü\ 6þÖ\95«=Ê¿7÷¿\ 5_CÙánÔÝÃÒ\ 4\b\10 @\87ö2¾=\1eÊåivµRe~^7\9a§+\ 6\ 3÷úJ1¯,h¹3\aö°s\aýÅëG\94\96_ÞlM¤Öíÿ\1d|ú^U¥?|Ø\rêL¯ÍÈóõôóÞ¼ãËø¸¬\9c\1eÉj¬§ï\9e\8f@f8a²¾=3ç¯\1f¾}\8dã®?\89÷²¾|ÁþÆ\8eW\1aî¿\8dÛ¤ø6°¬¯òñ¼Ì{Ë\11 úºJ/­<&Ì\1fÛ4cÀ|Áý\v4\9fËÂÙ¢õªD\85XQö®ì(X/X"\8d<¿ÌT\8a @\81\ 2\ 4?üÊýí\9d"L\0$Êú:\fÿá^µT\b\108ݺ>\83?²ð÷O\8ef+ÌÃ|õã\9e\16Éh*ö\e\v\ eÈ¢\1fÜø'\9bÊánÕ4ì\8c-\ 6~\9as¬Ñ\8eÛ÷ïݹáâväs\15ë\95\1d\9f\88\8e\ eá»QÈ«è;\1e¶WÏ Ïø\e4zó\8cDZ\89\8f\9a\13+æÀ\84V)O\ 1û÷\9c|\9a\fýç\1då\95\19ó\13\ 1"\bw\v\9f¡ ÿø\eo\ e2=\ eV\1d¹w\a\b\10 @\81\ fý\r­]\189-\8c¼o3\aÅQ\9b\8dt}*\0±Jx:V|{(:Wþ^;\9b}kJ=NÂÅ9X~\9d+ÿ\a\0nÙ©´­¤\11²¹Y°\108ZWþvOÛȾ³ÖÓÎZ«+Ç_>!\ f.\96J\9b\91èh'¿\¯1/ï{ânK !U\97\87¹öhÛÄ´¯ø\1a*1ªQÂí¾­+ÿ\e͸¬\9cÒÎÇ^µVvEì-+þ=\0æúyù\vÖ©U\97\87aGÚ\96,vä\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\87ö\7f\7ftQÞÄÙ\7fyK\ 4\b\7fÛûÐ^\90çMu¹å ä\b\10!ý#\12ê³qzÛªÙÒ¶0\10\ 37\16ëgWFÒ\9b¼Z7\b\81\ 2\ 4?ð1n«wvu[4eOÉ\84Ó\10 Cþl¯ãxÙî/ÞÝÙ6¾\13 @\81\ 2\1f÷þú5½\99éOÏÂÙ¡´ð\19\ 2\ 4?ëÜ\1föj&:®x[WÑvJCH\10 CúF\96v6\92\8cr\90r\ 4? MÈô5õ3òy2\96â\ 4\b\10ÿÈ©\99\8dð÷¾\14¬\92²ñÜÚÉÙ)þÇI,lZ\8b·Ô>n\8bIÜ÷ëPþüJä¨ez\7f_÷ãG\19GÜ÷«gå\a\1f\99\8fçWÐö'úý\13ùT½ÿ\8cyC\8b\ 2ËÆój&:£ÙKòc`\93\11ÞÀ÷fÎ\ e\a¸¡í{µ³òu\83Üuú)[®éå¾ZÚ  DÓ\9dn]\14\17\83mQÁ¿½;óì3P\9cú©¨úê\ e½/\7fâ?74\83Óx>AãÓK|\83óJ!B\92¹xÞeTÔqô¦T\19X\9a\91ç\8fØpª\99¨á˼ïÖËüÃǪCÇç\9f\13ó\83¦ºÜñÉD\8c\9b/\b\8b\eÄZ«\9c\90\13;=×üâY\a¦\87\8e\16\88\1e9\10\98!)â\19\8fÌøëìI\r4¾! \7f§¤Ï\9c\9d\1fb\92        Ê® \94\1cºb;Ó®\96E\ f\r\8eÐ\9f\1cù\118øèD×[ó\b´9\88÷ÉiQáÅ«'¤ÄE\85\10\84-¥ð|c\98¥&ñ8TZg\88¨?\ 1E\13j\8a\11CÁ*Cö\11ìySÝ~\88äT\1d\9fí\1e\90\9cµ\1a\84'¥=Ê©´%2¦f9+\8aðã\82\83ij\8c\83Ì,)ý\892\89Ti\r\9d\9eáÿGæ}Øy\ e\8cÑ+li¬43\85TÑè\ 4\88\eÐ&\9c\91\1f\99Ðu\ 6\89\1e\9dC       %í      F\83B\184\e4<Ëøa°²$*\98\8fçTÌ!TÚy\7f\98U\ 4\81âµ\µ\83=\1e\ 50Òôc\97x{¿\0¨X©\97­\1f\14::\90 Cøãzid~°òDóåÃ\ 1\f!$;ZÚO^<yÇÅ­§\9d\13Wv\ 4x¯\­ûç£ÝÜÖÎ\1f%\99\96\8dæZSwÙ°Ø|ùï\e·Z*1\92Ð1\81\17­g¸¼û ¬x(d\9dÈë\ 2 \9f\r]%\ f\9e\8erëIF1\91w/\eͼ±¢G%H|íÓ\85\18÷q3\83ãk\ 3n'nRÖ\ f\ 1>yx\97\ e8\e?~ý\8eÞ½Õtñík\bB}Õð\1f¿ÞcµeáîBÉ\97\12\92¸YÀéå`G$ø6ÂAà@\80=ff-Ñ¥´) J®þöé¼|¬/\11\94¡\v\85]ØP¼âw·¯§:\86\81\98ú£xS^\82|\aNx\ 4\90\8etµ^\<å\9c*{"þÐs\17Ï^­U\94=NîÖ©\97û\16CB÷õtsD½   ú`½b\1a¡q\1f*\8aW¦§+\ 4\81í\190»° \96ô-\84Fa\1f¼Ù\81-\0ç¢N¼¹2%õ\9b\84³µdÁ\rO½ÉÌ|\97¶"$jhdM|ëg\1c~Ö¢Y\93\r\81Ì\7k\91\7ffm\18\7f\13\85E¦|Ü\8fAb\9c\91E\1c[ºé®·<M7\13§\ 3ö\11îÎ\97½\95\87n9\15í\9d!é  \17\85B\1e\1eÿį7\11Ï\vh\10\1fð¶i\9d\91{EȹD²\89o,l¾²4ÂÃÒÐÐæQ*\8dAÎÕ\90Ø©
+òÇ\83\16\8cÞ\9dë·\e͵§ï¯Z¥\f¢5ûþ\ 6Í\ 5\13 ¶\97aGÚ\14\ 6G(®\7fÄéÊí\1cÃÀ\ 3Ä/V\97²\85A³6H±JqâCBØ\84\82_Ûµf\84ò³ÜŬ¹¬\9c\10'K;\1e-`ͶG4óü\9c|NÅ0öµtª¦ãϱñö\16h\ 4G\ÖÎúÑõ
+!z²\99R\ 4\b\13\8d\97°Áz×N83ò/Tå`;uÂ\12\13\r5Û:ªÇ¦ÌŹÕÒQ½»´v'\ 2\9d\19îì\84Ýfãxôsq^q»R\9f\aÌó|pö¡\17Õ\9c\9aÀlêD\v\88
+2\1eVn-ÐI;÷Ï\8d·»ÓOI\ 4¶o³ÜË÷\v\8b|õî=å\84\8et\16c\85ɧ^GýÀ¶§\vO      -\v[\v\9a\8d\95&Ûzú\9c|N\94cÝ®W\98\12¯ûY_­\9f\94        \93ÜÙ[\93\81i¯§\9cõç\1d\9d/wË \88\9cð³ÜØ\1e8O\bñÌ»\88\)j¬¡\ 6/íi\82ÍâÆû»
+\a¯^    %\12¶Ý« ¹\18l¯ÚÓø\a7Ù\¬.Ô-ØpÓ¬Z,\86ì-R\156§+\ 4EG<-\97­UAÚ÷QRåp\98½M\f\91ì\990ØhËn\9e_åõ2¿kQà\11á\86Æ¢|\v\84¸\1e~\99mëï1Ú·«\9a\83³[G7hÉ\83mæ9X^-Åë\1d9á6\95ê\89¢Ó>\86W¦=6®\8emu\a\87²"¾¾¦~\ f\8a¡V^\10\91\97.\e\88ÍQ1ÕüY_\9b\91è        \9d\80ýû\8e\rñ'HoH\87ï\95æa\9b\0|ûÙ_\892\9fs+ñ(Í\rÑ>\16Í\1f¢Ôè ð¬L\b\ fÖh'\9d\93òå\r\94}ÏxJÀ¨FâõºJ1\97®T À\98³ \aòe~\7f±Ñ\12ø8ͽ\ϧ¨%×è\8a1\8a\fa\Ufã]\ fR\85\ 3\1a1\15Måe|LsÎ'j²ðóòoÅ\fõ´Ô\19Ú\ 1\1dB\15B"ĪúÑôL¯\90 Cü\8c¯ÜÖÎ\84ÏØrZ\9e\82´BA\93N}\1dqºÙù@\8b+Tw\8b\87;;"ôìNc]×\ f(ý+4Tvö\83\93®\8bwaB\15\1eÍ\86Áú\ 2gVÐX\bò\8d«å&cùÆÒ\83óÒ\9eâ\94ø\eí\18\9f 3\97\89pÝ«9ïÓð'\báB\16\85¿êhdÍH~cv4w·vG\ 12¥i{ÿ\1eöîÐ\85³\11ÞÀX8\86x×uæåÉD/Á\95üÌK\93èµYÉ/h/\ 4'\90-ü,\ao_LÝÒ\11\0\15æâ#Ù\13è}<*ôÓG\127¡® 65\14§Á4K´¦ïññ:\84Êø\8aë\95ækéç\9b¹MS3\1c\16øeìÅ\90ÚÉé14Þ>K\80ÕLÌk×\8f.*æ\87\ 1c·¬¹^YûD'\9a\95ð6utD$7vÆ\83µîíki-U\96f!\a²\14-ô÷y<U\ 2\19\9bAB\89ÓÝÙ\!\9d\ f\89¢Ó<ÚzHÜXCÃöt/íi\85*\fÇ?âÊýÝ}\ 3÷Ï\93àÛ\e13\1f÷;"û\8f\89Ù¤sÔÊüY\94ûY_\1cÞ%\19¡j\v±&"@mªeÍÛP\101F=Ø\90LKªÃt\8e31.\1d8àñ×Ïù´¼\8fxx&×´ó²\9eå\17\17:½û\99_M;$9¦âõ¢\9ep¸=DÌj:ø\12Pû³À@\r¯Ó´@\12¬\1d\80¦\ 1õ[Õ}\17d )\ e O&xçB\8b\85\9e´}Ce\7fÁÕ\8c\bd-þ\16@\81\ fØÊþ~EèVqì\97á0!P\15Sr\10\8dw^\17d{\ 5\10\éØ\9cÖÓÎ^µRZ\99Ï&þÐý\8859X:ºY¹ù7æÛò)+h+û{\93}T£·Ü%\82\8diåþV\8cvÒÝ&tòß.5åy\92[\vS±ïïnâÝV\ fúe7YÒ÷x7÷\8e\930\91$53\9eÞ°QLÿg¤!\99ºM\ 6hÇö²¾\13ª$÷ʯ\88þrÅ)À\v7nÕ\91\99¿>Ã\vùM=×üü¯ÃD\8dõ31Èj{O\ foϰûý\f¯£¬xÚ\1fA\90\99oæ^ÌY\rĹLÑ\93\ 4»¹8÷\96\ 6ß\91ápV馹6'/´$7\ fѰð¢2¿S3\1aç\85¸\99tº5{ûÛ\86Î\8c"1u©¡\91«£\9a|J\17"þÌD*ê\1eÄN\15ö2¾\9b\91\95þ\16Í\ f\9d!Qvú\82\8dþ¶Wæd9Â\98\f65\rÓ£?j\1d£-½m5\1f{+ñfSíe~\7f±Ò\89Fh0ÎÒ\9b¼ç\85\15½RL     
+ô¯\­«&\12ñ¼Ãk2Ý<ÿ"[aÒnG\9e+`9D[+·àÊþ\15ÅS&\btÛYî/ôÚ\8bæ\10e|úôPUXP?ìe\7f\1aî¹\e\ 3¯¾{*H\943t÷ÒÑÝ\1e´}Ce|sDÓ½b²¿\90 Cö2¿¯©\9em\97D\95¹n\r\8d¾[«ÌA=J²\8e½\90\88³±8\17L}q dt!ÀQ|¼'`ÛÃÊòÊ\8d³F3²\9eÙÕ´\14¾\8fh1iùÔÜ\8fB\9e\1f³×\9ci+\81.!\ 5äìÌ[\9d\85ªSNu¸ø\9d\9bfg^ÙQ\85©$¦»z©\9e'N\ 2 ªð)sö²¾\15\ 6\87@»«\19=Øè\84óºqÀ$\ 6\8f¹ï>zöá4ÚRnhsÊÊüHßcGÚ\81\ 1üÿ&§ð\1c+S?"\13\1e÷Ã\ 1ûóÚã\84Ýåâ\\19{1d7?"ø-m+\84`\81\86Z\90\\12\13ÑÕ\8c¥ð|z      ð\1eqñ%Ðßåe~Æ\92V\ 4\b t4*æä\ 4ΦGOIÃbè/so_Q\v6\1f%\1dB°©¥¾K:^ìN\15÷2¿mQ,ç\85½õ\9d!­È\ 2|NÇ?àÊý/\7fâhÇo\ eå4\1aCæâÝq»r'£ÔÊÿª\94PÙ_¢\95êD£4\18g\95\87nÙ«(L»ÜVN?|øU®\7f¯Ñßg¹\83â¨\83\15\18Ë<ÕìþfWÄ\98¬T\9fIF5¥7yç\e¸_\rµPöºnx[(Æñ\9aÞö\8c¤Þò²¿0\8eö\ e\¯.kÍP±íDïú\99_\8a\8f¨l¯\88<\8e\99\ 5\9a%1\10 L¯ú\99_êÆ\1aÉ\r\aý\a`ôLÇó\96ªÊW\9b\88{e@I\9f\95\89ά`áP¸\rõ§\84ݧ^\rövµ\1e\0¿Ö¬\98\e¤vf9ìhåTcÝ\8e{ô(]\1e3\aü\17Ä\97C\1cñSgWG3\16ä&Çseq»\1e\8eb\97\13C¥O\ 2\ 2;2\ fΫÈzTóîe~^7\98 ~¶\9esçÏ@\vy\v\7f£î{ð¡Ë§\rë¨:ÿÛe\7fë\8döõs#óó5×\18&
+\13+õsr\ 3Ó%l´È¾³2ö~©\rî{ÆÝ5Ð\7fÚ\9a\19\ 6e~öÊ\8d\9eæËô4¨O\16¦\86L'ìâ2¿qW5óÃ4-å£\98\9bY\0ÃbênG¡»²¸ÿ\ 3\86\ 1¾¾\15÷2¿7#ÏU\97\86\85ÄíÏ\ 6Ϊ¼\9bûFÍ\18úÙ_²¤í·jÊ\16ØÈ°¢í3Ü_C+Óõ2¿ê¥\146WâÑ\9a\f\e\1aôÛé{ß\vVl/íif#½\84Ó\9fGFB\93½ðnl­U\97\85-þ>\95ý\1fo¨$\8b
+â¨sv\8c\98Bb~^7\9a<×N8\11³µ¬\15bØY¡ÊÊú\1døµYZ9¸\89So\1eòÁ»F_Ýe\7fõ£ê\e\11üæí\7fW{\80\81\ 2\ 4Êú,\19ÞYQÃw\10)ÓC&ü"Ô\0\99\0\8e\84»\ f§í\81h¨Æ=\86$ÖL³t\7f\1a²a¼ÇhÞø\r%\18ÜNÜ\9bo%\ 5»\ f6¦b6\7f±Ñcµ¬\114kðb=+þÖ^%ÆÞ¾¤+ÿóר]³\8fÄ\16*Nç\85±ûzélÎ\ e\ 6Í.\13M\84{\85£.W\97/\eÌ·©\1e"L@ØÑʾzö\8aW©ëe\7f'\ 2ÐéÃJݾ\17iÇÄì( IY»\eFÚÝcÁ<9ÖÓΠ       \90
+Â7
+I\84/?Jÿé\8döõH2¿ú4îäw7O?É\11\95óü\f\80&\8f+\ eÜËÙú¤7·ÔÏɾqÁ¾\16\8c~n?c.;\12ê°A'\r÷Äú_ÚÓC¼Þ\ 5Pðoï\1f´ðvWíªe\84\fK &\16ªýóãX×~\9eÛײ\16ª\15¯\ 5\98¼(ÔϽý4ÏI\95ótÂ\84BÎȽ]£\98Õ\9eä\aïᲿ\ f\85%\ 3-ÓM I\83wy4<¤î{ó\11þÇ\95\95ým3±-\ 5\95óÏïÙJ#ì\oÕÒ¿úèÍ\ 6\r\8aä\eàvhnLeú7õXñíiûú\8arD²^XQ}¨j\88Êø ÙÐWaEÙlÕ\95\95'lÖ\8a\9cÜo\1c+.\82\e³Í4Ø@\80£\90\92·ï\9e¤Êü*Á\8a0jhd\8a\87$\8e\\9c\vP\86Øl¯þ\bú\83\10\8e5Öh/\¨²¹\ 2\ 4 \95ÿ¥\95ükÊóô\9fNÊú\94ø\ 1-\94\1d\9e\90G\10\14}Ïx!Î\r³<zô:ñº9\87Y½<·ÊvWö\16©2ý\f*ç:Áu6\14}¤-g¸·A#Ó²~ØJ\88IÈMÐà'VÐ^:?\10¤ô\8fb͹­\9d\1enþöèL!ø\85¥7xA*¿B\8f­)»ïß¿E^Q\98w\15l\98lPÊôî«gDiJÈ­{gH\162#\a­\95üü\8bã1Â\16n\16zfWÂ\82\ 2_\82ÜÐè\r0Æk(8V\89áÍÝ\85
+?\v·|fáIL¤\1d¬3\ e7ØÑ¡Ûk=\9bÎrOÛ\vUý]Áø\10\ fl\1e\99\8fçhæâ\99{1d7\1aî¸I\8d/\7fâ?7Þcµ\93\7fh\85»\7fkU\8eÖµ\Ü\84÷_£\11IB\87\89[\8e\90íy¢Êýu\a\/õ-b^\8fÃ\10Mêfc¢1t9\16®\92\85y\98\ 2ÔLF\85\85ÈÄáF\9a3ÞYDÁ  \8e\84Êøñæäz\ 3þ£G^\95}\ ff'Jþ\1f
+óë*jéñé¢ä¼&e|K±¾\1a\v\8bçe|óûöR\88ÖÚD{\83ø\9aÚ\99ƽ\ 3\9bus   %\8bFoGÁ\13oÏ ÜD5tsOÒÚ\12þ+\9d\97\87nÃcPN\98¢^öîÉâ/­\95óÞ\93\rpV\1f°¦0å\19¸·Hj«\1f\9f¸D\87}\ 2G¡1\1fì\ 1?×èÓËüºú\99é2¿
+°s\b|\0  z\10ò\96\1dñ§\9fä\1e\f6Wÿ\ 4}A\88G\ 3ÍyÇÅË»I\88\10!üY_a°°È¦\bRpݨGº\174JÉÎ7n\8f\83\1d\ 5\8f½yÆe\86ÁÄñ·÷·L³yxÞ`CùØ\9cÅ»®véÁÔô\15\128\bJ\12\eVIzÕY\98~t³y¬L\964r­Ú³µ§ð\19\1e÷Ö\9e\16\8cv©¥¾M\ 4ø\ 1<'L Z0çP¯Ä\815c\88\1eèzß}\98^UTÔxõ\98Võ&è#\ fj\83\12hØY}l¯\88\12kzÐÿ¬÷\17£Ñfægäß\ 5\ 1\1aÄ\%IF?\8f/\12à~Ã\94\ f\1c×\\99\8eO\81\81Ç:7
+\10\ 4JhâFð¦\84\16Tfc\914çXFøL¯\85I5fÁ\aøÑ\8eT}¿{}£\13/f,\86ÖO!uÒ?ÅocÚ¾zðסö¬\98'Á¶=³·k[J\16òØ\14\0\1eúá4Ù Ú\17\8f=ösR\1f\9a\93»ï\88\96=ñ¨Ò\15l«/\r\e/GJ-»\7f\12ê°+hØi
+\1f\16Gåá\89µ©\99\8d\89Â\8dLñEÓ`<ô\9dß\81Ï\vcS=&WÅ+\84ÙZòF1î\190ØÇ½°\84Êü>\14\90º3+ý\9e\97++îx[\9b\bý¡\93\7f·¯§1\1fÎ\83?¿e(´³±Ä\82L#Ö4\15 6ÎÒ\15³a±¨n\8dÔJ3A\86p\1f¿\85g8\82Êø\95\Ì[§Ï\9f\ fX#Ã\1d­dø\16±pæï¹\95ð\80\11\ã8ô¹^Yµ¢Q¾\124qÀÚ\ e\16
+\84\80­S\90\83{q\86íÃ+ÌÃ^¹YÙ_\87X;z¹\97Nx\ f\93¹\89\9aâvç\15\1eÝä&Wÿ\ 4}A\88Ibä\v´s\18/[\17\19\87 @\87ñe\7f\8f\89Þ\1dÅX]65ÝpPE¢?\19G\9aíê\12ßaG*\ 6ºÍ\0¦¸8èq¯È¯^q)O\81Y;#oW5»³ªvWÓ#Ò°
\b ³¥î±ÛÖ7ȵ!m\|N\8eªª¹Î°N\18ôgVÔä\9f¶=fÖ®\91\13ØH\1eÊåaz\16´þ\ 4-]ø÷u\93ÒAc\9c\eûÚ        ïþ\8e\87¤o0Bu¼\98\ 20YÐ\8c\18\97I\8d\88dµg¹p\9ah'\e'\ 2ÐF\9bË\1a\13÷%ÿ\ 6WÞ#ñ\ eh\8ca.N\9cp\e´\91}gáG0÷¡\vÁ      ¥lÑ\965åxäCÍ\1c»'\ 2Öªn>í\1f\8d\b\97¢<({à±\9c\vjz\ e׺#`\93\10¡AíbFùÉ/ir¼Æ[zöÕ2ÃÊW\99\88õãÈL¯\85Gè'À\v¾º­\9d\10\9f/\12áç\1f\11\99_\8b!£Ú´c¶ÁzÁ6B_ÂôÇìn×þ\9e\7f\90+\14M\ 5LÄn\1dÊa;\90¾4º\11\NhXµ\97\87¸=Hç»:ªÍ\ 33q¼|\r\9a  "\1cÇ
\v\1a¹¶&
+\12°Ù¢|\eTz\99ñ\90r\a\17nxTcÞ&\9d\91\11\17\83}\9eV\17\8ak­Ï\87Â\84ý\1fãëü+\8a¤Ó\92\ f(S<-\ eªj<Re\f$êG\9e\8e\11À±b¬ª\89\8e­\14¯Q\1c\ 6¹±§\ 6\v+ð¸WÑÜ\1f«\9a\10ò\97Ññ\1e,\16Wß¾|»G6¶~Pp\1dö{\8a²ð¡Oè\82¼´¢nÕ\9dÝ\85\ 5µD°\95QT\1d\1cÜZÉÙ,\vjn'N\ 2übÑ\9bèî\ f¹á7ÃDÐû\83ùXHw\aìi%D{\13z(6(Ì\96;yýöWÄ\83\8aÏcÞWÔÌÇ\b<miZk:\f\b\ fî\13MAÒ\r\19ù\17Ì\98lWÑvhezb\92\r·\98¥'Pë\ 6%\18P\f!ªÂ\8bµ[?&*\9a)QW9!3!ìÛTË\9añ ??Z>\92\88G×µ¼\96\9cù1ÃaîÙ"\ 4\b\7fý\95õy\98a)a6\83þ\84\1d\19øÄ-K\96õ/8Ýð6Þ\0Ø>|+\ 3Á»\84O\9e¼lÑ\88F8HyØ\9c\99\90ç\ 4Î>|ô(\rP\90\vZ\8f\ 28\97§}\ e\82O%Û\&è*\84"á&9î«§\82\90PØO{èb5·fÄãdyæØj\b\16ÃÚÖz2*º.ßP@cÚ\9aÄ\1ea°±r¼Ã_«\9cð¶    EjÍ\83Î>#ô\9a=l¯\9b\14\bBM\1d9o¾ÌÝ\160\9b@\99\91\1aZ2Û\1c­Û§\14\88øá3\9b\vT½yÇ¿½¸íÏ\b\98±äø9£\10{Qæ®ÑÌGäh\1e\ 3|i«õÆøÀ\9f`\9eq\1aD\ 3e·¯\ f\ 1\9f7Ä(b\ 3\ e \8e(¸ÈC3âBÑ$4Òøí×\bòG\96\12ê°Ô3C·\fç\80FƬ\98!ñírÕP°ÇÃ+§S? s!êD$=\93\bI\10¢@\8bÃ\98\99wsÒ\9f\9cÏü\ eJ9r\8c{¸8¶\ 4Ä\7f;1\ 6\85\9d\88ÌéÃw(ülc\13\85\1e\99ú\197ãÊ\v\8b\12\98jg\8a60ØÔCàafL0-©\85\ 5p-i\9e¼x&\98.øL\8bV{\86ɾಿ\v\85A\8dö4\88uZáïä\84\99_\1c\7fk[HL\17\ 3f\82\98\ 6À»àÏè\97þZQ)ÊÂ\12¶(\r\ 2\ 4\ 1Y¶¨âm\8e\91ØÂ&Å\80"Q\9a\bcõ[·þ!   ÌÍW\92öųVUô]\94\90]þ&WÅ\1c´\13à  \ 1ÌŹCà}\8aÉÃÖ\9dÂ? <A\85\1dq>\82\89\f\98k\8a(\8aT\1aZ¢Ö\fØ\eÿ\e·C×\88\84(´"\Ì\7f\9b¼ÏwdJ3=Åþ*©\8fZ>\92\88Wö´Èu!9)b=\0ª \ 4¦\82\ 4        \95ÿÓx?\bpGàÊÌ()\90¶¨\96\92¹^d\17\96 ü\9dû\87qW®³C\1eòÂ\16\ 1¹yaB¹^ZÅ)Ψ;Û:D¶\14´Ì\87³\95\85âG#ËècÞØ\9b\13\9c      o­\9f\94\1eÕv\8emÂi³§\90zÀ±ým5\ 1x0ò50´\95ª²\92ºçà[S\88µÉñR¯Ç\9f\93}°³C\12å1þ3Ð\vâÚÕÑK\86ÂØ\83\86ø¨\7f\ 6Þª¢b4ÿ-\ e#\brt\94cUy¶\18Õ\1fo¨"ZõªBæ\8f\83Ý\19_x\97\16)R\9f\0ý\ eä¸P\91=\14n\0BdDÄ\19òø±¾ËÃÜ5¯*¢_æ\8b¸!Ä\88!\7fVR\9eº\83±\a\ev\87\8a×\94ÓÎÇÕÒQ\7fiçí\88ÕMG\bÞ=\92|\ehV(Tq\19´>Z\ 4\12¤\16\80(%u]<\96\12\86\84\8e\8f}\93\81hnÍ0\8cÃ× Ò\eVCÊ\85§\%ãy\81[ºº9ºJ1Ò\9dh\)-\89¿kQà\14u=3êæä\ 4È\85­\85Ó\19\9eùxÞm¥7|ß-W\89¯>\12\)\98jBDá_C\12\81¢8YÜ\eº¨[ã\8e\rñB£Þ\ fè{^è\98\81\12\ 5\81\9fÓ.¦-(\93Nu¯í)u\90\99JT/p\93QÈÐ\ 3!)\16\87Fh#/\12â\1e\ 3?s[:ýú\18\fø\91ÌÜo\1a;¬Çϱxroí\0ûq4\88l¯ùh7'í¨Ç¼\0Qv\97Íf\eO\81\9f\ 2\14-\14rÏȾ^µP\98!LÏ.gËúë\ 6\8e   \87+©¡\90&àú\1d\12Æ\93·»²¸P\r\82õ\96´þ\ fZ>\92\88\9a\9aæíY\1e~\85\ e[4bJh @\99_ýx\fÿù¶°É\ fð¶\aö\88¬¯ùþ=rþæI­üâ._µù\b7\83ÿߪË\16ªÊg¹°\95\8dâfCÙ^µVú+j\85\80Ïÿ¨ZSwÑÅ\17ê|ø¢ü§¹²¹^þöèñ%º±\86·Â%`\ fG40Y\9d\8fyöéðî]Ø»üã\97\ 1\9füEõ\9d#\86íNÒ6V\1d»F;d\8cB\ 4 wdÊù2¾L¯ÿ\97\8cøª¦\1f¿\7f\9f\93~f#f#½\83v\97M\84\98ÿ\ 6\93\8f\88r\7f\99\93ÔcÞ<ãâ=\96¿ÅW2=\ 1ú?\92ÝXÌK\94Ï^qü<\7f\16\91øÝ\17Ë\85Üõc76\7fE§ä\81\ 2\1fÖ.k'5´ó\8c\róQæ¶§\97ö6\8aÚÿs+ð¬ ÿð\1féÍqtsqqï,?\f³/ú\99_^¹Uí\9d\1fùù\15\ fkÝjÍ\87Ùñ§\87ãHD>m\9cO~ýóáUñ\127Ún¡½F5tMÞéþ\f¯\9aäö\10\15\ 1ûó\ \10Îwß¿ÔÏÈ?JÂjCÙ^¹\\b\10\10ÜZ\19Øì÷\17\88ÀÇo[\97å$ã¡«qzÑ \82CMûfb\ÿ³â:ڹΰ \19»Úÿ¹\1fSr^Òí\1cÇN\e¨Ç»6\86r=íà\81\ 2\1fÖ<\97Ö_Éôÿ\8fiä&WÿÞÊý'wáBüåû1
+\8fêe~\9bÁò\7f£X\12LG{\bi\89ÿF\ 1Yû©        C+ÓQ\8fx\86\8bI\80ýÓ\9e\ 5\8a²\8f\86Ë\7fÉ\95ùt4\81ß{af\83·N ?\7fÂÜÚ2\7fß\82ÄjÕYFÑ\98\ e\9c7ÓÏòBÃ\9aá:·\ fü\8eUÝÏÿ_ÏB\9côtÓ\877÷×:ªn?ab\94t\8aC\8c\9c\v\92\80\81\ fþ
+>ß¼\97Æ\ \bzi\93÷uá!iéϹ`)iÄOáôHwý4Ú,]>¿\ 6\81\9cºtX\87÷©   7%Ð6\9e   «\9c\90\9fì~\8c\16\9f_ÿhCO¯Êõ\13Nu\8d¨\82áéõùþÇHÚ}~®nCíl\ 2"\1aª¦£¥¿ãG_ʹÈÊ7N²zM\f\86:D¶\95±\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\81\ 2\ 4\b\10 @\80¤\84\1d\ f\80ïFÚ{ýõ°-µZY\10¶KcÁ\96Yo.Þ,\96[Í÷\9fï\16ñíá0\1a\80m@4\92Ù)lÒËe),±Ù$\91É%²WdnI\e\8d¶Ûæû¹¸Ûm·ÝÏ\9bîîîîæÛo»»»»¹¾m¶å6Æ´\ 3\1f¿\7fþç͸Ü\8eGd¤±Û)Km\86»P2«A]\8f\ 6G\93í÷Ùmò)~2øø\ 3\ 5Úä ØXXFY\0µEB\11¶HHHBÇ\8bx\f\85\8d\96BËd\8f\11\96Þ-½BFWÄ$$%²2Þ-ý@\ e¶K»Kmá@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 3æ\13\1eoÇç3þgϱÍí³Y¹ß¦xÜÞãîsºîg=\9eÒù³ªç@\0\0\0{c\9bÏù\8f·Îl¼J+8Ç\8eÎMøü÷<{ú\0\0\0\1fÿ:^{ÈýäÆÛ\93ÙÛòsw>!Ëikó<Üú¨±}®rkKæÎ\9dø@\0\0\ 1ìN\93Cå>â\8d·"×ÑÿÚÏÒ}C0Ã\ 3\98ÐÓ*\8b\17\97ÏæÏÀ`\0\0\0ï\8e\9b\9fò?øê¶ÿV\8aÌ¡¯år[x9\9eq9,_¿Ïh\ fÀ\90\0\0\0ï\8e\7fG\9bñÕ1?Þ\8aý\9f¤ä\19z\1ecCO\9aÍÎýï8v\81w\0\0\0\ f`sZm\1ea¯¢úôWÑ\8e¼´Ã,Önw\99\98×Óízu\14Ó\93\12ìøW\1e¼Ûj7\1aí\16§@k\11 \0\0\ 1\8fãøs\1esþh®#\1e9]{\9cÖnwÊLu2è\93.\9bÓK³c¸Õ §Ûj\17íµ\f\11`µÑ\86ßR\8bip ~4³zf3º¹ÍW=ü½^U¦¦3»]gâí¦t<3q®ÑeÀ2Í®¯@\816zÞâGâà\96TK\1a+\91\r®û\ fåÙäÜvÓ8°l1\17E]ñ¯K]1%õ{/\95éw\ fÓ¬{¾úeì0\93\12%\934mwØ\aµÇÃ\ 5M\18¸s¿ÁéRW\ 3\r¸¸µÅü9í\7f\12öºÍ\ 4ÔÇ6}\1a\80\ 1E\7fÔÑ_ó:ݽ\85\8aýª\v\ 5ó\8c\98î\15m_M³°§\9b®¦Ù×&Âr¾\9bh\81\16\bº"¶\97ªMõtÒ<XÎê×Niê¨6\e\8d\7fA«ìú\98Zx$îÃG[I4Ò¦u\9dDí¥m%\9de\12\86µt\r7Sòí\90ZVѵ«¡²Ýnq®\9e «¡H\9b:<¸KJ\99äO²¢]\84\1a\8d\18\99x\16Õ\94Lêg»¼9F9#\1e\11èãZª\v\ 6õô¸¾\82pp\e\8345àÌMj§Ñ,ïý\19ÆÃùvy7\1aÊ\1e\a¥t2®ø÷¦¹3\16\ÝébMr¦^\ e\125ÆÁ\8e\fÑÀöÊ]\9d\v\\8c]ÉÇ*½þ7åâ×\eðåRãL\7fu¥þ\r˶Gà}rí¥\ 6ǤÕún³Nà\0\1fµE\7f1Q»ñT²{M\14Nîä§ar\16\1do\83E\7f;±¢qaLÞ½r<{Á\11ºêYª}¯OI³éf\7f\8b©Ø\87S¤óU«¶\9dî*\0\a\b\83\9b\1avlw\1aî\ fkîà\0\ fuE\7f\91¯ü\9e_K]Ìsë³\f\1a+\8d=\17)Õ>Ís\93ü¦Åâ,ýÍ\15ÿZ5ª\9fa·ÔøTWæz\1f+UE²m]J}\86\80~¹YG4uE\0\0\ f\83E\7f\90iè¹]{\8cÖws\9aÍÎòúJÎF·ò8TWù)ØY\9ev\89\10dx¢ÏæÑ_³¬¡c;«£\9aÒeõáçð:ó-·>¿\80=\98Þ½t÷Q£>\91\0\ 3ßÑ_NJJj×\esIrúZîBîÉÙQ¾)uîk\ fn©¤æçÑqEßæÑ_¤ÙôºÞ\8bàVÒ£êúcëø\ 3Ú\96\13Úãé\10\0\15þKq\v3ÎÑï7\7f®wsÊëÜdfÿ³\fp|gEQ\91¼\a\11qEßú¨¯èü±E|\ 3êQb¥\9cÔ\1fH\80\ 1ûôWó\15;¾c\9e¤Éß*¹\9er\83\93Ú¿ÄΠXõÜ¿K]\9aÎOoa9Éä]Ñ}÷¹+û\87V1.\ĺt¡ãZ\9e\1fËM¥m\15e\1eÇÂÑ_Ê+à\1e\ 1H·Yä0\0\ fÝ¢¿\98c\85ã4Lx\\ 5q\99ÏÊÑXy\v\ e»\96Ô3ßÑ\âÄ\8bîÿ8\9fí¨¯ÞE¸\97ÕÂÏÐú\ e\ 3ë.Æ\8aýe\rDö°Î\ f\80\14\0\15þF»ÏòÝ5~_\ 6\ró\1cúï\15O~\9d`Ám;ë°3»\94@ý~°\9d\97E~ö=Ö7W¡h\ f\9aq4®ÊZ\89é\938?ýc¦Kܲ^\9f\e\1asÐÐâþ\16Ó¸Çü$3\83à\ 1ûÔWù=´\ eÊ\89ª¨±~-6g?CÚA´\v³\f0=Ý\15ûé\10q¨¯Ý<gÃû\7fm[D­\15üÎ\ füíX\16º\96β\89Í\8d3\83f\15\87k§hoh¯Í\9dd\0\0\ 3ÞQ_ì4U/Vgw<¦Åç¯Ö\12;*+÷p±¨¯Ã·´â|¿RøtWé6s\1d¯Ñ{jêGL\989±_õþê[WÒ·¯\òÊ¡\ 3zúS%~\19tVW tÍ}¥m#\96L%ÑnÊì(\12\0\ 1íôWýþ°%êm³\93Ü·NϿӸ»ª+ý\96p~º\93â¿A²Òz|ØÓ6\16[©÷,\97¶­¤ÿ\8d·\16Ñ\8d¥m\1a\e×\94\10\83³©\12\81ºiÈRËü*o^º\8fg0}"\0\a½Ö\ fòvV\97ª¢¿ã:\16<\8dgãûÝ`þò>ó8?\ 6Ù¯k\9c\1f×t\7f\ 3q\9aÓíu]¶lj\91å\93\14}\19;hÁÅ\82ï­\91ÀrÉ\83u´s\87m*\r½Ö\1d\9eÅ}«¡qcNé\9b\17L\97ËÊu7¯\¸Ñ_À\ 3øvWþ\1eÝ\92üê+\9a&\19\8a\8dß¾Ù_÷.ì`Ü'`Ï«ÅëZ\96Õé¡\b\8f\96\a\16\v²4:ëJÚ*\9dÌÏ\85¬\1fð³\83ö\95´nY0\95\98ã±^òÊ¡\17\14x£èáj\rëÝ£é\ 5\9b f-³\1c2U´«Ó&\ eÚ&Ï\1e\16%\95%J¶w¼\84ï&'m*1#x¶hº#ë]Ý\95N$\89dÅ#F*ÓªQ`å\95:të)ss,I¡ÚØØé\12\83&\r\93Iz¡TWÓ\1e\955áÂlê]ÙÔ$D¸ÕQU¦U§G\b\9aÙ°DЬ 2}=±¦F
\83\vÕ"+îE8xÑoXlS\12MÅ­C\86Tï,ê]4N\1e#Ål\e_\89=-2¹h¬-ÄÁ$Á\91\ fZ$¬\et¬NÞúø¶0#\a\96³ÄôõQ»,Oe\1c­2ãz·Â\1c³^\9c'hµ\85\92½v¨F?"Í>8þÐJ\8a²ÃÃ6R¦µXc{/\8bøZÁÖÿñ\vóÄM    Ô,Ø~\84\89\87%&\8aR´WÌ]DM\1f\86Èø\r£Ú\19\0ø\evÿ\8b¬\10ål\1c\fõ\ f\8b£¼þ\r»~Úº\95:$Þ/ʺsiJ¢¹`»äíEù½W>µ ¥êÞÑÖÎ+ß¾³\86\9aD®â]<¼\8bt¢D+[¸\97
+$C¶\8f
\16\bñ\96\90µ\84\88vòí\91g\1a\rª\ 4X"7"\1dÂ,Ñ}\8d\a\16\18\98\1d²®è\92¥ÃåË2å\ 5
+\8dª\1e\9c\1e\8f\14Y­}µÃ\90V\9f`>Dï\16\ 3ÈÐ_#\12\16Ã÷Ñ`=¼\8bs\16
+<n\16ÁUKëa$%FÖ\91à>Z<¬]µP\89\1e*.øs,H\ f!¿v\8f\14Ji¾ÂV.¢\0ùiBáXÌ«dN+H2ÉRR=\ 1Dz#ô\8bb½ª.ðߺ@\88\92eø/U/§Æ\1a'G¨\11f\8bꧨ\8a³ZAE\9c8\ f\11w\85\15Ó\98wN\95\ 3\8a´\88¨dL9¹i\ 5Vo\16\1e¢$\98«÷j\91\11q\86ýâ,å\v@øB°Î#÷i\91\16°Dè©B$\akKëx«ÓGûÉß\17Ç\1abɶ{×ßeâ\8c\aÝ~\rÝcÆà=G»\88üêV(Ë\8aÃGçä\rìo\85)ãK\90-\9bÝ=j\8f\e\84ö\ eÞ°U4å©\9e0Ûv}m¨À\0¢¿í7\83þ^ÊáÊ¢¹ÍÏò\93VÞÊ\8aç\16\8aûté K±´ßë:Ê'm\18'VkßfÓeä¯þ\16\8aÿ±Òç,Xmܲa\ 6ÚÒúî\16\rô\8e³\ 6÷ñºÌ\f¡]z­úÌ+åY¢Â]Å^*7x7¸×\14ö@ÐÅ%À2<eßPa`ÉÂÀ\92\8bl\1c\vÄxá`^`_ݧ¯q\ 2ÖȰÀF\13­m\81}v\98\ 6\f\94\Qm(¿L\19\11)b¤¤Jh\15\ 3\12\1f\8bqÈñá\8a\9a%ÙåÃ\11\84ê°¿¾\91Ã\81¢û\89\0¾\95\84)ÅÜxÚ Ü3"\a.Yö\86\ 5ü\85{\17\93\81\8fØÀ;ëØþ\9e\13{\1f\ 5>³äúK¿\8fw^¡ÞÉ\8d\1cxw\ fßY8±§o]K²Ò\9c\7ft\0\1f\v\80Ïÿ3XNö:Á\87®Þ\ fëfÕ©2soU;\9do\85\9c\1fO_CZ9«¸\979\14R\93C\93\ 1?a·Òc"Ã\8f÷A\81ĶÊû\19ÀO\8cmíÞLl\rõÇ\87#àßÞq¡\81ÿÚ-wg \97Ò#ø¯¦\9c8\fü\0>\1f
+ÿò[\98\99®oÓç      y\8d\r?#]çýß
+ÿþ]\16-þp~Ò²\8bÃÚ\8bëuÝ
+ÕùíÝþ5\15Ää\7f?W!â\89NúL_M\90|\8dôþåò) -\91o\8f\95\91`\97  õ~\89öù.Àöt\99\18\9bçp\0?³%\7f\91¼'~5\15÷6+Ó\9c%fÃ'x?øyÁõv&\ fOtul\\95Ï}\9aNNf:óèÑ\1d\8f"%´XI#Ã}\1a\v¸)ÑVÞÆ\84ú*Ú+
+tUXVȶ\85
+Ö<4ØD\83k\117D賨\13l\9d\14\16   \91!>I\ 5äU­\95\ 3D³u\ 6Ö\14\apà½H\9d\16Õâ.\91 ÛÅD%i\12î%¬8\b\9dÕ¢ë>\97\eD\ e\ 2t]ÇpVÂ\14        \87ÂN\8cU\87\82ªº-\80\10\12ã&VE\85ªÓ\8bÅIQV\86'E¾V\8d\ 3\12ë¸Í¾\86'á·W§Ï\9f\ 1óôWüÿñð¯û¶llë(\9bWRp¶\9ckZº\rÔþ¿Ã¢¿©Ðy\ 6U\13ªÑUU¢¬\1fb\1d\99"%ËË=Ô­`϶\13«¤µc\8fq¨}iY\89¬=ÿät¶±\93ë#|Ir<+Sð\ f¹Ï\8e_I\8bi[H}\1f\0\a÷ë\aü^(ìðh¯·\95°6W­§k/áp\19úÚ+þ\96g¢ò¿\ f¯3oâC¹u/%\85þ\19&^ü\8b\ 5÷\1e\85ïuC'Ö\r\7f÷&âÊ\10ß¼?\0û\9càÌ\v\97|>Å\0\80\0\1fϲ¿òø£³Ûpdû)\\198\9dwYÛëJǶU\16u\9d|1¥LòÙ+ý,ÏÄëí!I7§Â¾\8f/8D}\8eq\vÉ\10­\×÷ÔF¾Qnê¾MÜ3ð\ f¶ü'\93&=.×Vuñ\17\0\ f£·oúþ(ì÷\14WîÖíæéÖú\ f@­»~ýõ\9f\13\80Ïé\18§\83'þ-\15ý?=ø\14\9bN\9eúò,½\82÷/_b\ e\ e¬(ó\ f7´Ù­CVµ>%\15ÇÎ+dF~k\ 4ý¿á\fK\9a}Æ»Ps'0\0\7f\8eð\7fÎîy]k~A\9f¡÷ÔWñ8\fýëVþ\97r¢µª\9føÙÁünÍÝQ¡[ËÑb\15²\98\ f²¾ rñ\97ÕÉ\¼´©\87\0Î\föÿ\83pàZÓ\9d\88c\0\ 3ý8\fÿ3ÎO÷úÂwuE\7f/%\7f/e\7fÌÿ'a+\rF\83ÈMê¹÷Íì%íDO\ 3i      ÿN\99uw\1e-ËÖõ\9dý\fö\96U.>%\15û«V¦ÌFí¶\eËæõÓ]>\7f+µb0\0\aº¢¿Émûn\15ÿç©39ê\1e×e\88æ*w\7f\a%\7fdæÆ\99µm\1eVK²Ëu¹©\9fÖülàþOd\1cõv\9e\93\95§xãç
+Ó·-ÖÕG¿ë41\rûÏs\92AAï(®Z¹®(\9dö\9avmä$÷\8c)2VÀ\ 1ñx¢ýn`ðí7\83\r\ 4~Sd÷äqEþE\15ø6í\9bWR;[|\85p8\fþ\92¦\7f]ñó\83ù\1d¢ø¬ë©p¯îÕE\8b\e%\91}{#\v\ 2ó'n²ýböL[g_ë§t=oW\1a\1d¹¢²vZ\87\94\eK
+|\9eÎJ`\0\1f\vE\7fa\83ØñÛþ\1eðaù<vÿ\95\92¿o_Jé\92ÿ\9b\9c\1fÉì­EK9©\93\19ü­»¯\85{+í\92ö=ù´\99%ì°»\87­·_J\8aüH\ fOz8\9b¦&<h\14\93z|\9eÍ\94\80\0\1f/\93\8fò7\83\ fÈäãû§¬àÜ9\81n\92\1dË\9b\89ଽöݹøûvÿ\8aküç4Ö®\8aöD)Y,\8c\ 3E\91È!]:|ãô´X\87\9c*4òó\82}Öps×g\12[UÀ¸pmÛ\ e\1d5دÙÕP\9dªH\80\ 3çó\aÿ\ 3\8a$¿\9b\98?ìiÛØËÞ\ e˸<\9c~\9dàÿGÕé5\9d\ f\93ù\9d\8dï¨:­,\vfÊà1\85p\ e¹ö½\8d¹Ë¢ÜÝ>hõÕ{æõo[Ö>u`õµU«\9açÎ+]¶ªvµ³ç\15\88¶z\88\ 2..+­\Ö¢Ù\104Y¢ãlæµWtxÛº®D\8fjæ±ãz·\8dë\11zE³ÄFÜ&Í\17\17\92¤J×\96\9b§²®é\89[9¯UõPÅJÊ\94Õ%*bEõâ#ÍÑ>¤N\r¢\0\8c\12D\ 1hÚ°z\ 5µ\9c(VýÞ\9d§/\81\9eÔ;¶tÎ\8b\9av8\0\7fo9ßõüQ%ò¹Îý½zæö\v\9b§\83\r;}YÁùÝwAó¶\83ÆÇK\9bgUC»Â½W\ 6K`q¸(#ÄÑbï"]È\85y\1e\ 5Ú \10®ã?¼\91\ 5\16r#?\90\8b¼\88*¶H\9b\8c\197p\91f\8b¤\88ðV\86\1a-Ô«8êñA\ 5iMü\85¤¤]$&_\82µ\84\19\11®¯\11#áË\8bI²à\b¸¿\92\8f\1c9¢V\aÇ\83\1e3ôØ-qX\81\19ÞbH)»÷\9aÁmõÜ,\vè÷Òb}/{«WMðûqº\80\0|¿àÏù|Q%î\7f\83\ 65Î>Ë=?åõ\9be¸}\11w{É\886\95´lgf\7f»·hv§\9e·{i\85\83'Ï{\ e\ 3iîx        Ú4­\181n\ 2|\93\1dú>÷\16ábÄ]# Á¿»½»\83\83\7f#\a/\80\9f\12­ÂËòpo\93Á¤iáA\9bØ·òb¢Á\12
+$tK=f\f\9bÈ·
+\9dÖáe\ 5p³t\84A\91\18¾¼\84¨bgÙ1Qm\7fy\ f\16\19\12áË*\80`'\0\13Â\93H»ßÉ\87\85\80\99fþö.\ e\ 2n8\17±°\911bË*¡\98®\16\86½¼\87\8dÁ\83\188|\ 6\85\91éÔ\98×\bÆl\8fJïäÄO\a\ 2&Ú>>\88Å#\ 2\\ 2ö4\98×<8ÚÜ+þ\9c<G¢\bÃÌ\ eÒ\85\|$cJ}C\87\93£ê"õ}y\ f\8bø\13û;vJò%³¦g0f\0\aÐþ2\7fÅâ\89,Oã'þÃX0ÞQ_²ô|®¹ÇØs{\9cîÊ\8dµu+¥¿\8f;qè¯ØSÎLý\ eätúÞ\8bË1 ØßI\8c­Î\99í7\85}õìk\97¶Kq\835Bx¡\ 2Ü`ëi`¹ój¶Ö\v\9eYÕ:gNúÒ©Ë:w,×¼kºrÉ<\89(öÏtîÊ¡½\8d3vTïílÕ÷¡\12\ 3×mjSÆ&H\1a1D=Û]ÓuK\8céÑ`á\952,\1e\91\18tÍz¥\ 5q\8d#\8b
+DD\9aÖÑ¢qD\rµ\8d2!\88\81¶°¥DЩ¹2ã5è³D1Ý\95N\1c²\99\1f.Yrµõ\11ä]\1aÖPª\18ån2ÙV\15-ÆDKÖã&ÔË.\19#\ ej]«\12\16\9dåÙ«ÆW\18ÖÊã\1a\1c[»%O»ÏJÖã\1c\8ad`Û¬y\11\13\8a\87©Ç&.lWv1¶\8c\X®Zâ\8cQ¥Wµ9\ 4\e\87\vj$Q­\9cØ6¯¥O¶©Å\1dü1ÂÜf\97½\90ZJã&§-*!Ý<ð8["DWõ´Ó\99]´Æ@\0?£ù_þ\17\8b\9f\8bÅáó\?å\7fýwíðdþÊ\8eÑ<\ 61OÇÉ_ÚVÑÿ\97ó­\89í\87Gpí\9c®\16/ÿöË\b\93w\ eÅ~×'úKc\rÆ©\86ãWOµÓËþ\80U\93â\8bÕ.ÓM?Ôèöz|õÃÆh\92\99±Û¯Ûiñÿ¤Úié§4Òÿ <S­}c;«¢\9aó¨ñÞÊ\e}U&Ó¦©Üëq¡\88À4ícn¯¥ß\7fJ\ eõ\12Î,Ũc;¬ÞK;>\9b\85\12×MÌK\99{ñ^¤ã\7fA¹îÊ\89é\94xÙn§nã¿°a¶ÚjyÔz\ fÞà\93Ë:¯kµ\rdƸ|ÚwaÑê\8fæ¥\80\0\7f>¿ýz+ý'Q5S?ÔVRlêèæªèú®\11_M´Ê»°\9dÖì´¾küû3[TPõQ¡[ùíÚ{N\9a+\8cKÿùõÁy\16Á|ß\1fî\15\86ãUA±èõ}\aàë4\Ë\19Ù\95Q\1aÈ sI³é¨¦´\9ciO· 1ÝK4}_K½£ñ\87ýOj\9as§È½.\9bÓc\Q4/Ûê1\7f¥^L~µ\16$z\93\95\84\9c`Ûê*h5û\8d~\89\1eÇkz/+I³é\7fF\8aþëÙQ\\89\ 2Ö«\81Û\19Ü\0\0¢¿ÿª+þ;97Ñó¥kÞ¿´\aþ³BÝ\93\19|w\17úÚ,\8c\9b¸v\14ó}ïÜE\ 6ÇF\9eÙÆÉíÓKäé6z\\98\ 4¯êh\9cj\r;}Oo       ãK5\13Ó<\1f뤺|\99º\87ªé1²`+¦ôÔ»N\9a]\9d4çy\92¡ÓÔîf{Ê(=¬m\18À\8c$\9fêtz¾\83\99Õh|\97Qç|¿­£ßìh¯Ýß-Û#'m­9\12h\0\ fì\87þÌñºÖ\9f{\9e?¶Îq4Y\1fÂ_¸\99¾»\87ëöY\ 2¨¯«4»Ç¢¾®ã#s=\17\94¡ÙyÏe\9b\9clß2ý¶§\85C3\8f\92\9c\98\9fØô}Çöp\9fU\eVO\1e{a¢Oq7Töy\82ó\1dÞqoÀ¢¿"3ôö½}6¡¨\0{\8fîßý\1esì÷Q~½\15ÎM\9f[÷Ú#¹\93_oýG)Å\8aü\vØÉÉbþ\9ep¢ö<X/n\9e2¹u^\82ÝÕ}ÓæW\vY¨¶q[tòÅú\a¬\91`«¥Ã\9aë\97V      ³s^ùµ[  íoQç|Â{cÈí4ÍÙ.·Mö¾\&\ 5«IP÷2®\8fÞ³ºwc\ 1ó86ÖHºAµh\8b¢-\91\ 6A\ 6ÖÉPËg5·\ eì%ÉHÂD`\1c\19RnöY\95\84\8f,n\9dØ*ô©eRä©õ2l©fåÝ\8e\9c]¹ÅÇTA\952äË8ðjô]\16\8dØ+\ 4\95%*\19\ 1óEzb¬TM¶.'p1   \97\1a6\91\18\84¶  |Ú©­e\ 6ã]ÐLô>Njc:Ò¦w\12\fæTÖ´\94·¦+z2¬TG®ÛÌuwal\8cEzÒ<K\8fÕØmQ]YTì:Cj\1a\80\a\82it\1eKþó\94¿íEs\91kèþîz·I æOÀ>ç´öªùÝl\v[Ert\ féÑe½»\85w\12Þ+÷2ÈÐ\1dĺn\8b\b\976\91_¸E\9cK\96ʸ¦étÝ\10\ 4ÙÝ8Uöβ\82waÑj´>J{¨Ñ¢Í\17yQäF\16#@t´1̹\ 6\1dÅ\9a%4Ý\16\86J\98\95qD¦\99ÝÊb¸¸+\8d\80ÛéeĹ\ 5WuJÐî0ä|IõÂÃ\9cQÆ6\rãcöL³\8f\18r©¡S\12pÍl       \97\8bQ\93ê\ 3hkz\87\91\18\95\83×6\88\86G\82íQ\8eâ7\87\86kO­í\9bÕÔnuÝ\Ç9°é9¥û}SË:\88\98Ø\9cµ\9a½\1c\8a\9f\eIsÒeû\8b5zt¨dxOdÈ\81ú\9b\ 6\95\1f\95Ïî\1dSNëæNëñ \ 1û\87C¢æ¾Ù}ÇÖ¢¿ö\8c_óú<áïïæö\9e$Øésn\9aÕ«\98*ÿS\91I/®á&\81\f#J¡\ f\89@ý?s»ÿ¾\Båå\8djé¤}ñu:O2Æ{]\ 2ÖË\85   [ï5¾öpí¥]\ 5²!0|\aº¶Ó\7fìÛm¶Üm²Im\80B@\0$\85\84ì`4 °b\97\89Çm­ØÚãv\86\84 ]1p\18\92\r·\e\em¸Ü\8dµ\1cn6ÛI4Úm$\92^KÉ/$ÒI{ËÉy$\97½ï{ÞòI$\93i4\92I4\92M´£nG\e\7f¿\7fþýåæ¼ÒqH£\83d\90\ 1â^¶\97[%!\99Ô¤Å\v\9c\81¡X\1d{\80¤Òp`.&×\89¡ÔÁÝ{®Û\8bC\17®([ð^íÛá×v»\1d»µíwvë·Á¾-»|7á§Ä^:÷]4î6;RöÛºî\ 2\7fP\ 5×Y/¼å\92Kj\88[ZºW[}ù·Ió¡\ 6ÆÕ
+¢Üñ¨Q
+\87h-Z·HC3¦y\e¦fãAWf¢9m\9d¡\86£ªM·©µH\97¡Fm\ f²«NåGÓj\8eï£ÞÓxJ¤b\9b'1¥ÑÀeð\99\9eWËhrøW\13\v©¨g7\ f!>\ e7UÒ)Á\ 6Öº\ eÜe]4îê¨DuSÝmSY\89\17Ô{6\r)C\88\0\ fïÝyþ'Êq¹\87Ï\15¤\8eî\a\90ç3\99\ eP['v!óù\1aZ'\1a¥+Nǯë½\14©¸*ÿúj f\9fÿ\vé\10\90ÓOLÇAæ3xÿ.û\94ä'\17Äm\10\18R\ 5§p\8bs´)^!\87Oo\ 3ok\ 5\1eÚÖ\f÷Ï87°lïY\94!]tÌíQ)ܳ7\10_\rª\1e¥\v¸CK§Jkíwµ\11ãyÁÄÞtûYLÿ/æ³\18¿(\9få\8aí\r-\ 4ßP\91\16áÁÔÒºÔÕé·³\ 1­\8d}]5\13x>pêX\0\0\0\1f¦3¹/éKéa\14\977«·µ~:¾²\95X\1fÊ¥\11b©R*)Ú\14V¨½URºéQwOx\99\91\83\85ÎrÚ'Ì55\13:¥"Úêé\9dTéÝÅÓ¼a*tîT  ë6Q\93r\9b,¯ÛUÑÁ\16+\17l¦ðïY]ÕX\1d'\9bßDÌÚìÕ\ eÑ\9blò,â¥Ü\10\8b«Tc\e+\19úíðR6µf\ÚÁëmQ\17¹Û\15á*\9f
+\1f\92\10Q:w;x/\8fµÞÞñþ­\11xºg\131üæ7\8f\8c\81Ê·e\et\89õ¿,\95à\87Eº½Dõun£{"\0VTé¦$aÉPÔ\0\0\ 1ÿ/lQðÙì\85=#­í;Ó±°«Oÿp«§\9f¬¨¡¬§¡Oò\9fÿ\ 5\9f\9e}?ÿq1X\8f\86y\1a\14ô\bØí\826
+WZyé\96\8cb«ëu\15õ\94µiìu\14*m\89°\93ê°\95\9a\8d£  WLéæ³Æ¢å\99C\b«\95Ô*ÀÏ=üí\1c\96Ý\99MßÕ»dÞ~h+5
\13õjëSÐ[±®¶ÌÍ»\95¹Û\1eð}M½GTíÿz\9díG[QCd¥}+ÔQ¶q0º\9e\8d  ]ô\\85S\89(aê-\9a\8bgºí«§\9f¯­§ö4Ç"z\e?\90Ëã\ eà\90\0\0\ 1ÿ1\99å~ÎV7EYQ¦üZdá_©¨ÕXÖWÖSt\95Ì\83q¼"3MYÀº¾§{E»\13rº»\1aÔ35õ^¶+\91IÃf¦Ê¾¯¬fQ\ 45©¨³RÁ÷»Mï¶fjª©è\98Fèλ\1c\0\0\ 1úÝw¼&w!<ÚZ»ÞS%\8aê«+\1aÄP>ßêFM+<\9b©<©Vojir³ÌZlÏ®\8aíDó/Qb\89åæ³¬fT±\ 5J¤ØN­$ÿ½Þ÷LÊ'³^½(·3\92\8b\1fòg´\83 \0\0\aÊ\19Ì\87\98\92\8a\80²°­ÞÈ7»\98\1d[\ fKßä)\_éÐ\81µ\7f°\82¿M\96®¬¥õ¨F» dèfTE¯ÒÁ_×ÖÓjÔ±¨ÎÓ{Ý365ß\81\b\8b©¬Ô+<Ñ\9eË\ 5\0\0\0\1f0?ó>qÄÜ\95\86§ÝØ~R;üê¯Í¦\vU\9f\1a¬\7fW)\ 5\aÚï~\8b\85\15\973\92\9a\f®\13)\87ãy\93û\0\0\0\0íæu.>B#=UMCÙS'\v\15\ fæTî¥*|\ 5WçU\87¯O\a_ì úö\91\8f\9f{<ÑÒÐIÅ?æ\8b"$\0\0\0\96GÉèù¼S\99©/mL\13\91\16qìzA~µ\ 3\ 5\¯æ¢¾\8a>éÛo}GM]_éª:\95}u[¦²Ú,Æ%óü>¿\82@\0\0\0ø\16Y\aÍÒÑ7±)\93 7©\15ÒO´\8d\83Ì\95ò\90\0\0\0\v__És\8c"ÑÖÏ\15}\9c\eË\11\83g,¹ù\1eçÎ\8e»\1c\0\0\0\r¤\96\7f>+CÌÔÒÏ\96\8dÚZ<g[\ 5mS¨ \8a\81æ³\1c©*\1a\80\0\0\0öÆoy¼g\96Îd?¢ÿÌùÈ,Ö.fF\19\97T&¥!æe!\93\13\120²ò\ eÃ$Â\9f\84\9a?)\84þtÿ,\9eljl\ eô-wTØDÂ\9b\94\1cÔ¤4Òøi\998uv\ 5Y7\9bÇJ\15jÙi`æ×Ä&Â&Æ«ºÝo\ f\1dj»¬Æ\96\12eKåÃvâUеüªð\95q/\1f\942¿"nÍ\92mv\96\11M\a\8c\9c\8eòaG0¯
+Õr®÷\8f@ò-[®\9f{\99\91UÀ)ÆExcmÃN\9d\99µá\#Æf_¦ÝUfSzê=HU\7f\86Ìcà¡s\98í\ 6\9eÉy\94ÿ\8a\84\95È\0\0\0\ 2\943K@§»\8e¨\87Ü\95Ð\87Ïäz]k\8fª\137ÊÃçñðÙìrzpÙÜuË\ e ÈCg±êë' ìgqйÜj\7fT>{!\v\9dÇ&À¡\84Ïä\16?das\9cªÇÜzaOlèY\15\8bÆ7ré\10Æ¡«Ç&Â'ºÂ¨ãáóØõ\8fܺ®\86éó+ùUÐô#"õÜ©ùÇ<xQ\ f©µÙ\15\8f¹\18\ï,\9b­¹\7f×\ 1ç
+ÐêæíÞ\15³\98CÈy§Óïk`2j¾Å\8fÙ'\9c+éy¡pÌÃ#uOêG \95f^ñ\91ç\aÞn¯7¿:øÑîîÇ\vþ+Ø(\0\0\0\ 3àÆ    Áf±q\909y\15\8f¬"à6ãA¸ÖÚiÊÆè\93Ö\97\8f\82^µù\84t\14¢×éhí"\7f\v\18Ø\15ñOÊm:       8Í\12{4²í\1azkÓú\97\88Ø\14\ 54×Úë0\8c\80b\8bü\16M\96~bº\ 6Ikû\ 5Ð)ï     ²Ò\91/ª~sïtÕj%c4*3\8fè`bô
+¹Yhç\8e\84bmº\19õë_ÕÛ\11³#B\ 2Qv\91zºqº)5Xu¯Òq©¸=
+zÊ;\b\15^\12\1d:\9aÏ\1e\12\19ôöøè$öÄݲ\7fRnnF%öU7Ù\19\ 1(µõ6\1dM\8fÎð­6BÕå»üªé\13 ¹\84ܪ®µ\8fM½°\8b\7fMÏIEèX»\7f\baÓh¤¶¬Î\7f¤fWhÓce\17@§ð¡\93M\99S\82\ eø°\9f\ 1ÑÀG|X\93S\94     ¾Ä÷)7|Fwü       \93\89Ï­Ñe\9e\9fñ\80\99ÁÀ\0\0\1fý\1eI÷+\87DSd\8c)r*ÿõ\fþ-ÏOMÉÃÆèß\16?äÔ\846Èfú?k¾à\0\0\0~Ä`¶3Ë3\97\8fq·±¦P\7fÂûò?Ét­²\91OÑ*"Åñý\9b¥\80\0\0\ 1ØÞ\13Ö\89ò\9e\9a\89»(á   `vw\87k)\13\9fXýËÄ>ä³å|Ñ\0\0\0|ß}è<¯ÙÐÎÎQ:\9b e\81î\91e\8f\84ÍD>ä\94÷Ñ8w     À\0\0\ eÝ\15ø,Þ6®²¢y¢ÿÊE}\92íÊ(\8d}ú,]3\95ê>Ð[Ø\ 4¤v\8e*\ 3\98\88\15\0\0\ 1ÜhGCg¬5V.¦¤|ÿF\7f×^\vb,\17ïsy\88\131þ{{\99\8elÉw¬j>æùüzg+Óý¿\95xgS\11ß\v¯x\8aV\v
+\0¸\94 \0\0\aþ1\12E91%aeaçïPÊ>\85Ã\eZ\99Oµ§föÕWá¶ê¦ß<©¾\8f\r­:\95ECPxÑ)S_íj m®åsQ!^ovµ_y·QQ\0w5\12#jð¶Õ\12
+ݱmÑ:M¯Ûm¿RtLÎ×\80;\8e\1d<§{öÛ{j¤S½f¯)ä\9fVûÞÔSÇ\8f      Z¯\15Tò¬2îj{¿MÎTÿ\84\94´\133¬äº[\13xj\88,(\18\87Ü\96\8f0a\94\88\0\0\ 1ûH¯â<\9b\86lw(¯ÍËG5fÂ\9a\86qÒ+R\8cûÁ3G=5G<Ê\8ay\924'f\13Óµú¦èç¦\1dýIéβ¢\9d{¼)¬¯Ô\8dí=glSÝ\8dßÚ\8d      ªIù\9a'2÷\f%¶Á´Öµfv®\19W\aѳï]\9b×\85rÅ[¶\9d\13³UÏ+öËÑ:¶ûg¦¨\9cÛ3.ø\em·ÏÝ\a\9fRlTÍ\13­¦ßE:\9e\9cå"\1aUtüï\ 3w\1c(Wuè^\13©\8aIùº'W\ fS¥r·\1c²OlMùi\9eV\13\8aF´n\18ô\9dÔ\8cºé¹8\85\8fù;\9fzÚ@\0\0\0~¼Î\eä\9bÎ/Ü¢¾¶]z×N>ÁÍ\8f\83m­áÚë¸v|ê?-uÞ\ 5\9f\11k¡s­qõ]lÏX®§íéÛK\8f\85æ\87ïYÙðþõÙñ\1fpìú\96+\88û\8e\ 6ñ\1e\95á\p»u½¦ÆøÆúÇÉýE\1d\eU`Å´óóWQ\92\8dXÅÅ@s\10½\ f½ù`\0\0\0>Wü\1d:פ\82¿i,º       |\87ô$¦oó\9b\1f¡bIàê«p?\83qÏi'èª\94ªû\14neº\18Â\85É\88½\16Z\138`í\9c\0\0\ 1Û¢¿ÒÆ\ f°c\1d\9d[\aÞÙY\b\18\ 3ï\ayiÏEÏP«Ó?9\9a\90¹·\11\1c¸\8aø\0\0\ 3·¥\16Ø\9f&ᤵÒ+ð²Q\99X\8d%Ü@¨\e±âZs³TSê×ðVý\ fsä·C\95\11_\0\0\0w\ 1ËY{\94Wæå£´\11\10\1cts\11\ 2pz\81ö\8eµ4ô\88°kçVðXS\8bâDWÀ\0\0\1fûE~Æã\ 4Èk\98ÈÄÂf¾²E¸\81 =B+ýÙ§A-E=QHÙÔÜ\81\ 5~\0\0\0ÿÿJÿÑÆ\ f¬\94]\15\ 5\98âä\1c\88\12\ 3ï­í&sg\92\9e¨¨Ó7¢o+qü`]£|\11_\0\0\0}\bÁøù\15\91\90O\9c\\9cð\81 :Ýo\1eæÊ\93\91Ô¹\ 5~\0\0\0\11_·ÿ¿\99Gé#´\99a\15ð}øâ\9bZNÒ:¢o-qü`;\83ð\0\0\0\8aø\8aÿábáé\9a^\ eu/ãÑ¥ÇÓ%ÉS¥\8fªK=©v\13Öä)Òúý:\]
+]íÇý\9f\97|iÏ5£\9d£s¶E~;IÍ\b¯\80\0\0\ 4WÄWý]ª\173K\83p\97\88\9fB'q\96I4³JbÃa+©çãê5¯D\85Nº^¿a7ªØ¸´IPËX\96jµ/#¦K\88t\97Ó¶ý\jÈp\8c¹ÖÔN¨\9b±¸î\ fÄWÀ\0\0\ 2+â+ýh¼Î%ÄÏ%æ5      @W¤º§\úâ»\19'¦ó\11S¾GE9õϳ>-ñ{Ñã3\12¼d\ 4ß\1d\ 6Û\92]A\94eO¤ ²\9b²v\8b\\96©'ÊÄ¿\95H\97\ 2ßõ\11_à¦uÌî\11_\97\ÒV,\8c\1f\0\0\0\b¯ÇÁGi2â+ÿÕ\1déÂXz\84¡ëz\f¼ÝW×>Ìñ99\ e\e\19\19ݰ±\eï!Ô^ÀæÿÈÂðx\88\9f\ 3\8d]õO\8bøøw1:{6önà³´Uéq\9adA\88\7f³\81\\13N}\9d\e§½vûS¸?\0\0\0\9c}\81\ 5\7f×\8eêÙ/çPô\ fô5þ]c®\a\ e³Õ_VW\87ÊHã\98Rék9ÖºÍ\9b\8bD ì\12ñT      ^Ùü\94WÚQÎÒ:\97S
+D\eL\1fÀ\9dÁø\0\0\ 3¹\95\17ÄWý*     ~\12y/2ãYÆÁ¶ð\18õ\9d\86E\9cø¼ä\9e*F\8e^¿`âÑ&\1a´¸êT·ö¿ê\82¿¢D\15ûÌ6·+\85z!\15ð\0\0\aíÊ\8bûL=P\b¯úd-ü4ò_hÂ\8fÂd¤7þF\17{\91ý=÷ÍÂp8h\8f\1cÿ(¶\9bVâÑ)\9dbY*¤°m\7fR0}J¯]\10F\ f\80\0\0\ e\95üE\7fíÅé\9a^"jÓë_¦ý¾JO;Ö&+\94\92¤W®ýÑW¥ß\9cþ\94`ýÆ\bÐÈ+ð\0\0\0\8aø\8aÿÛ÷\ 4ü*û/  \96a¿{\18+k¡Ýp\90þn2}X¼Õj]ñÇú\11_(dø\0\0\0E|E\7fÓ\ eî¿Yß²2\eï!\vÚdð\v»ab8Ø&­5{&¶ig5)^ÿÎ\8aû9X§\94}¡©*/\80\0\0
+Q~"¿Ô¶\97ÕÕÿQÊÇ{좲ïü\8c7ØèÚ1®çÜZ%\8b©K|iþTWè\1ÛcE\90¥\17à\0\0\ 2
+üE\7fÐÝCk\roßàÖ³Ô"Å\væ\96ÏMê¶2úļ}'é"¾á\92éÅñ$`ø\0\0\0E|E\7fÏßP<ÇA\7fæÙþFV
+ø>N'19TâÑ(«\14\1f¢\8aû6\11MX\92¢ø\0\0\0E|E\7fÏ̾ÈÀ6\aU\86H\ fd;Þ%jê~u½\9aY
+\8d\95ù§ÈE~r\85Å%´ó¾¤\15úȽ\ f0"¾\0\0\0%Eñ\15ÿ=\91ÿ|\16)wÄËW\8f\91Ñ3eaÐLk\12â§ÿC®ßÚJ\8bèÅx\89*/\80\0\0
+Q~í\15ò\94_ÝF\fìoüÔßtþïpaÔeÑG\r\11ÍÎU¸´K\97«øÓ\85\ 5ÌÎ>Ù\8ccIU¤`ø\0\0\0\8c\1f ¯÷\12¢jʾ§\13\96\9d ârr2õû      ]Z^&\7fäK·ône\9c2\8egm\824hè"A\9f\0\0\0}$Wô°e\ 3?é2Áý°F\ fµºôEûÆ\1d\99Óø\f$>A\8d3{D±U?\9d\ 5~æY£\b§\98,¦hÁiÒ¿\80\0\0\ 4WÄWöòílevÛ\aß_|<fa\87\ 5\87\89Þ1Rõû  }bX\ 6\9f"0}¼º:í\9d¤¨¾A_\80\0\0>\92+òñÚ20\7fq\96¥½àú~J\e\ f¥¢ú\9eZ7xÈg[ê\Z"\8fÆ\7f\8e\94_Ìë[[ô¯êcx2(ë·À\0\0\1dÊ+ê`¢Ø\82¿èpX\ fÏn°î3é&nlÄåW\8dÌõÑ\8e\1f_\ 2͵\9eÏ\1fT\95÷áÁaw\89Îyßp\7fkeÇêã{\84\95\17À\0\0\ 4\15ù\ 5\7fÑõÛ0õ\eÙPv\ e\86ËÈBºÞ2\1e\17\97ÒÈUk ì\12îíÿByßo.¹Ã"Ã÷À\0\0\ 2+ó2\aJÿs\85\11\8dó*˰E\7f¾ò\8bdêõþ"B¯y öð\18H|´ÍL\9e©.\19ÏæK·í\98½¡\93íXÅ\88¯\80\0\0?q\15õÄ\15ÿQ\93+Ý~\ 3\1f'Ø"¿Ãc#\1aë6|"û-Þ.K®G%\eAñÑ_S®ß\8e(dø\0\0\0¥\17û^àü\92¿öȯ¯ö\13Îo\8aËÊIê\92à%½s3ÇùüôWÔ\92¿\17\14}|\0\0\ 1ÿÈ+ö\8cl¬+v¶Ú\0Étº%Eò0\7f²E\7fÈ@MÂX%¾ÎlwÌ´Ç좿0Í|M¶LT\8e\95ü\0\0\0t¯ì\84WýÂ+þb*w\9b­D\95\\8cS(~Ê+í¥£\1a1\8bi*\8c\9d_4`´£ëà\0\0\ 3®ßW®ß'\aþÅ\15þRJ\93\1dT\89ÀÆô²«å¢¾Ö\92{M;18½cÜ\8b\81\88¯\80\0\0>m\9f_ºi*A_öȯïÜ\8c.\81Õ\7f\95¥w%¬ï;\84\82¿¡pÅ\\97\8f+\88©\ 4ô\ e\95ü\0\0\ 1Ü\ ec\ fƹhÀE\7f¶E\7f\83äâ`hl¸Í3´oðX\98Ï\98\8aûU\11VW\14Ñ'p~\0\0\0ÿͶÏâxíÅs¿\11_öȯñ\18åÐz{>.\85äÎó/ó\11_g*µîS\9cN»|\0\0\0TMõhdü\94è\8aϳE\7f\8aæ$¡ª5Þ
+vÖÆZ`(?a\15öÌK5_\0\0\0\1dvýÒ+ò.\84V}\9a+ÿÃÍ1[[°y3d^¡ê}NA\rÿÍ%\7fÜeª8E|\0\0\0"¾QõþÍ\15ÿ\1eý5\ec³½ZÒ\86ëÄu\96\v\11\17òÑ_ÚR\8bòÆOÀ\0\0\1f;\ fùx~4E\7fñ\91_ó+g´\15Û\\9e7`q²?-\15û\8b5_\11_\0\0\0\10Wâ+ý\9a+øÖ\14¹*»z,¹êç£ÿÑE|\8c\1f\0\0\0\b¯\95\13\7fÜ"¿\9bk[æµ\16õÐ5þ\83å"¾Î\89ÎÙ\15ùuÂ+à\0\0\ 1\15õ1\90,A_þ\1a+ñõ\1cïò(íé\93äm\7fë"¿v\9bÙø\ 6Vw6¢þt¯à\0\0\ 1\15ò\94\84WÚk6W\157®îÃ]ºÍ±ÏÉ\82¿RÔ_ÚQÎÜ"¾Ñ\82Ò
\0\0\0A_\9d+ÿb\8aÿ\v\8c\8ce¬E²\rÜe­G\ 3\8e\92ÿ¿JþÔ\82¿\0\0\0\15©\7f­E~üÑ\14Â\8bÀºK÷óßô\1e
+k[ÀczäWüFVNOV\97\8e£·i]l»öu§ªE~WV\97òhý{þýôê]õÂ-¸¦ôÏï$¯ú\ 6¬\1eø\10*fÂ(\97\0\0\1f\7fÿ±_G÷æ©xYä¸ÊD[¯»åjK¬\92gf\93ËuÜÿp\8f¨Öø^_®E\7fù\9a   »¦\97\v\1fEêlÖ\9f\8f\87s¼~M,ÒYb\8b,_äê\11j>>6\85.\1d×ÝÙ\18B¶¢þö0}¢3X\92TMð\0\0\aîR\8bù\8fëÚ\8büÖÊô²®ý\9bo~ç\e\8dðy¶Ü\1e}¿\82\7foâô-þÊ\13õGót3\9dë\13\15××6é\v¦\97Æf:Û?\aðùI\1fÀ}ðMÿ\83\0ß\88~oß3í÷üã{ö}Õê*³Ó×;÷\12Ä\83>\0\0\0ú\1d\8d\8e§°\8c\1f»Lt\17\95µ·×éì\ 6NW\ 3ËH`±\11x?9\11ý4\by(o˰]¯\9e9\18l\1e\16'\ 5\8a\\9f-SåÝ÷<æ÷\aMw\94´Ýæ\8fè³Uð\0\0\0;.»~ogw\95×^VÖß4\9a{öqÆùÌK'ÿÜ'ÿà\88c|TTð\\9aÜ\ e6E>M_³-/\9a
+\eÜ&¢ó\1dcwa®õ\99­NW¥\7f{s\8fí\18-i+\16Qõð\0\0\0\8aÿ²î\ fæ¶Wv:ûÄ\95\9dâ:Æ÷     M~ιÀd\98`ðëD8{TT1\11x\f\92ûþe¥ò\ 2\86ó\19]x\8f²»ÉÚ]åuþË.\9ej¢¿El\8aû\95\18A_\80\0\0     +ÿÞV\ fû´¿?y\8c¯¾@Ò_ù¶x\f\8aôF'ò\8b°xx¬\1e\12 D/¬Ë¥î\12!\11|x\98Ü\ e2=\11|Ü»\vþe¥÷AAz\87©¼Hj¿y5²ü{>¿h\8cÿͬ:Wð\0\0\ 1\ 5\7fð$¯û»\rmâ:Æõ\ fS{Òiﯳ×üÄæùÌËà1òhð\13\ 4\nzRì\16"1\b¢dWï\99VHE\1döy>\e¢/\8e2¾ñ%gø\99¿Õéû\83ô"¿´î¨#'fä\ 4\0\0\ 2+ÿ\ eT_»2Ø]\98ëîò\9cê</\16®°½EV_ i/Ù×7÷ɬ\ 6BS\ 5\8b\8eü\9bG§ìâõ\14ë\9cÐ\8a'59|ÐP'ÀKÊÚÛÌm}ãKª»ÉÙÝ×ënÒÜ÷´Ì\86§©²¿÷¨¯µS?®d¨¾\0\0\0ý»H\1f\92¿þLÎ?v\98è/\12:ËÊë\vÜ&¢÷¤Ó_³mïù\96\88\82õɱÀcäð<´\82#\1cñqØ,Lj\ 6"/\a\85\89ÁáV zº=¥èûyE\8eÆ\1a)7\0«\89V.ý\10O¹        <\ 6E~\ 3\97a~Í5MÞ__è/pt׸Z{Ä\86ªñ#«øè\9aõR\fþÖÙ\ fÛËÆÇAf\ 4\0\0\1fú\95\17ÿ^Ô_ÔÊs¥Úgcw_­L"\vú2½1z\8a­B0ÐtÉ\8bæ\8a\8eúû<ð_³®/üÔߪ\17ìë\97¬µóCD«\\81\rP\88'u\1cJ"ïÓsl5¾çÃAÇÁ¥\17ôN\18ÛR\8bøÉ¹8\820|\0\0\0Lãÿþ\9c\1fæ¶H\8c\8eþ°÷9î(ù7\83þæYæ_\88Õð&À"¾\0\0\0:Wòyß\aa\ 5\7f\835ñ*åc)¼ºé\99\18],&dE|\0\0\0"¾"¾\ eÂÔ_Ñ_GÔµ\17ö\8c\16ÍÊ,\11_\0\0\0\b¯«×o\94¢ü\1dz+öö¢þÆ,E|\0\0\0Yõùe\7fàÞeù7\86\96Ö6·¡\93äó¾\0\0\0\11_)Eø=r+ó\9b>÷9Ï´£\9e*&ø\0\0\0E|\82¿\aµë·æÐ\8aù\ 5~\0\0\0/èüµ\17ð\15^|\0\0\0\ fÃÉ}FÞ]¿,?|\ 2\0\0\0\86ßR
+þŵ½¨¿\96\90>\ fa%\7f\95^|\0\0\ 1û¸¢ÿ¸µ\17ý¬\15ùc'à/èü\0\0\0\ fg\8a/÷}Áùc'àö\91\83åDß\0\0\0w8¢ÿ:íðvh¯\94¢ü\0\0\0Z\8bùÒ¿\83×ô¯í¥N»|\0\0\ 1û½ÁýÔ\15ø\8aø7´È~Wkâ\12Ê^8E|\0\0\ 1Ü\aÌW\1d¸¡\93â+àöh¯³_\14w\aà\0\0\ 2yß/-|\eÁß\99ë\9a©E\7fÞYõú<^\10\17á¾\0\0\0\11_\11_\a­Ã\13SNy¥\e«\8bú?nY_ø\0\0\0¥\17å\9a¯\83Ûaªü¨\9bà\0\0\ 2
+ü£ëàü*Ô¿q{Ãñd\95þ\0\0\0\11_\11_\a°¿£õ¯r=C\1aA_\80\0\0\ 4WÄWÁø4¢ÿkã\19>UiUçÀ\0\0\ 2+åÄß\83ÚX3ûYU¬×Ä\94È|\0\0\0"¾\Mø;   vþß\16·è¬\1fä`ø\0\0\0E|\8c\1f\aࢿ´ gî\19.\9a\92\86#\aÀ\0\0\ 2+â+àì§\aò0|\0\0\ 1ÜßÑø\8aø;\19\9c\ 5«´d\83>\0\0\0ú7ô\7f0PÉð{dWæäâ\f\19?\80\0\0>t»\7fcÒR\8bò
\1e®ÁóøYmcj'T\96øä\9f\9c_\12Q_ð\0\0\ 1Ò¿\88¯\83®Á\93üÒ*¼þÚäÇå×\16¢þ\0\0\0+RÿÂ\8c\1fÁµK\84sþüqÍ|48xgHů5ëߢ¾ÍNàýÁ\ 5~\0\0\0\11\91\83÷æip®Qp\13\10Ö)=dz~fµ/âQ%õ\r\84\r¤°N%Á7F&l`+Ñp\ 4o8\87£¯KËR£ #\97\96\7fà¦Cç]¾\0\0\0\11_üdWð-Rò´©?j5ù¶µ¹%ôy\164ÙIZH\19û\15q\8eã9f\96\18Ú¦\11\87ñh\92|§Ø?NØdæ©1Ò´Éñ\ f<ßS)Y¯n¢,°v \7f.\93ûx}¦è°\8a~¤Î?\e\ 2A_\80\0\0\ 4WûTWïí\12ãçõþJ"w\89ÉÈ÷ü\_\ 5\86\87ï8\98\9eó\87\87áñ«¼ne\8eZf¥Å¢M­\12\8d²EÍ\87\b£íà®\7f\8dD\97\9a\90ÓýSâÿ\ 1\8f\8eàñQ\1c\ e\1dgxìá1\91\9e\e)#\88\90£\96S\16½òº´¼¥/ºÇr%Íøo©\8a/øÈÍ\eä.tË>ø\0\0\0E\7f´E~ó3±â¢é»æ)nç\ 2²\1e;<Ém*1ÿ¥!ªKø\13â)·6\92\1fßd¬8\9c²þ\9eëíô\ e«ÙêöN-\11s\8a\16+\9aÁþÝ\94|Ü¢ÂA\9f\0\0\0\b¯ûÔWðz\1a\ f¦ôXM¦ú¾i|5"1Ú\a\ 1\\97Ó\1d,]ºT\v¬;¶;ÐÝ4\ fÔòѹ&:\85r'³ü)þÛ¥\7fW"oäàþ\0\0\0\11_þâ+÷¨\9aΧ\ eo[÷#\vâß\17Îj¶LìÒû\r:FZ\1f­¼Å®"ð\8eý\1e6ñ¸nV3C;`ÞÑ\190\17+\9dø\0\0\0\1f´\8aÿW\8bPï.±Ó=^Ém\8a\\ 1\ 5\84îÛ§¾ë\10ï\1cW1%%W¯qh\97ÕÐ\7f{\e\83>\0\0\0\11_wi\ 3þé\15ôxÅ)ê¯OÿIAdâÑ\17\81("¿8\95ê"«\a\87\8aêð\8bz\9f\10;,C\86t\97^\7f.¸¯£à\0\0\ 1\15ÿwS\8fîò\96\9d^\ e¶·ÞB\13ÊB7qh\962¤Esw\83+¿\15\97\94\96®çá¬\11%\96v¨¯\91\83à\0\0\ 1\15ÿw\18?|\80¢ë.K\83¿ââØ×sðV\b½R¾æú\ 67x\9a\1dËÍTÍÙ¥à§}­¤\ f÷ö|ëe0¯ÿ´Àýú\9e`s
+\9c~\0\0\0\11_þÒ+èÄ|¦^g¬@{\81Ã,Ï·ÔÅÙ%ß\ý,½\ 1ÁRîîsOʸ\8a±Eó¬vtÈ}\17¼?\18òÙ\ f\e² ¯À\0\0\ 2+þé\15ùn\7fw\7f2\9bÿ#\vÉÈQ®²K\85uôQ_¿æ}=ø\89x\97Æ\1e\1a\99Ë\9dÒ\8b÷\12ÛO\1e¤h\90\ 1Ï\80\0\0\ 4WýÍDß»L#Ç\9bnîéY<¬+x»\1d\9fÐE}\1dÁÎR[Ó^\116\15b<\8dw{Ü\1dï¸d\84WÊÁþ\0\0\0\11_÷u\13~ìËa»E\8b\8c\80\9b\89®Øý\14WÙl=\a\92Ù?;åâCCEíî\99_iX?ÞV¥õ.Ƥ¨\9bà\0\0\ 1\15ÿy%\7fÝ¥¹ëî}×X\8aü.§cÞ\9c\b¯ýÚ+\9c\94\ 2\87ÜÝ}£Ìvÿ¼¦Có\8bÖ8dY\14ø\0\0\0¿£þÖg\1f¿g\1c}Ö4O~ÇFÓ\9c«Ù\7f·.
+_\8f\18?\83ÃE~'\98´«©výÌÆ\94¬\1fà\0\0\ f\9d\88mû«Q\7fíQ_»2Ø__g~Ú÷\80wîB\17\92]AÈS\93Î\9dÿ19é<Ý\10Þàé»KÂnèè¯ú+\aø\8aø\0\0\ 3æÛ!ýÕ¤\ fÌvØ¢ÿU\16.§!/½× \ fÌLSøb\8b\ 5¥|ÑQý·\99J\14\1dµøo½\82¿V°\7fÅè\88Áð\0\0\aѵ\17ÿ\83rc÷×ùýÖ\11\11¸Ldf2\87[\81h"¿x\8f²ÝO:Ø>Mmê\1a£âe.ü\82¿\0\0\0vðW\9c\9f\92Êâxë«Q\7fø7K¿veÐ_ hý\aK\17õ\8f³\]
+Wbg\1cR\94úrº_Aè\14\rQø°W;\94WÊÁþ\0\0\0ù±\83\99|WÙn-k\7fàV¥ù­\95õú\7fsÒÅ÷|2Ï­_[} ¯-eÜ-&\9fs!p+Ò¹ûûÞ²ºE|¬\1fà\0\0\ 2A\9føV2\7f|Òi·ì2Í÷ÍÁôYJ´Ï´î\8cÏ\ 2&¯p/A\83Ê0Ûà£î/ué\8c\vÚç\16}KQ\7f¸ªóå²\1f\80\0\0\f¥ßþM\8c\9fÍl¯pT»î!mÏ¢\ 2\1eËÍ|\1féÒ\8bÈÚû\9c\154àqqþû¥sº\9c\1fÞùo\ 3nI_à\0\0\ 2Ô_þ\1dj_\9aÙ#Ëpm·K\17\82äâïK*ÄT6éE½\8dQÁábo+k}÷Jç·ÅbüSØ+ó'\1fà\0\0\ 20\7fâ×;ûÔMfý\87YÝ9\18l\ 6BSÛùË ÿ\8eS\16ê°8Èýÿ\92D\15Íæ6À¸\9bð\0\0\0\ 4WþçÏ\8aUõþ~ñ#¬0\18µçåFäøD\9f
+/1uß\e/Sïo\11\81\14}\7f\99\11_\0\0\0\b¯þ]¶ÏÍl¿"+«ýq\85\7f\11([®àü\8c\1f\0\0\0\b¯\96\1f¾\ 2§\1f\80\0\0\0\ 2ð\7fÀ\0\0\0\11_\0=\14\15üf\88é_À\0\0\ 2+â+àþÎo\ fÎ\95ü\0\0\ 1ô¥Eó\ 2ËàìÑ_:Wð\0\0\ 1\94»ó\1a;à+\aø\0\0\0\a\81        ð\7f§\ 5#ï+\aüÜ\9cE­DßG\80sò¾\8f\80\0\0\ e\95üE|\1eÆÆOã\1eúzö;\83ðê\87(\f\0\1a¶×ûÚ¯\ 2\88\82`­µÏ\ 2/
+\b!¸h\8f\12»\85x\15y0\82\ f\ ex\11\16\8a ð7\18Úé5q\97[mÙ\92ÉmÃdd\96KeºK=m¶íd\92\96Ie\9b\ë%ºY$\9aÙl\9e\92øFª/þÿù%\92Ï[\16â¥.\fó º\8a\8a\v\81âG
+*<X\14Èðaåx\9eG\99\14\10x\9e·µàx\9e\ 4\1e\ 4Çz\18EÅPyRýD\ fw]wß]îݨ\0\ 6\8aûE|x¿p\7f²ª§y¼?\0\0ò_>Ñ_\ eð\7f\80\0\ e\8aü\7f>°}Þ\ fð\0\r\15÷è\9bñãu\83îð\7f\80\0x¢ÿtWáÞ\ fð\0\ 3ÇíEûé_áÞ\ fð\0\ 1â\8bü\7f.\8aýÞ\ fð\0\ fâ¿´Wü\1fà\0\ 3E|\7fM\15÷x?À\04WÞ\ 5\97ü\1fà\0\a\8få.ýô\19ñ÷?`ÿål\9d?}\ 6|\0\ 3é_í\15ñù?`ÿ»Q~\0\ 1¢¾ð\9d>>ÿì\1f÷\86«ð\0\r\15÷\87Añú<Ð\ f´WÀ\0t6\86ß¼Zß\8fÁßÑöÍWð\0\1d\ fª/ðí2w_\11<ú?\8fÇà~ýâ\8bü\0\ 3¬\1f\7f\15ü;vþ\0\0~\7fì\1fû\r\9d\9b@\84~\1f¥\7fÙÃô\19÷X>\0\ 3¡¢¿U°¡\8fC¡Îköm\ 2\11ø¶E?ì^}\1fÀ\0;Q\7fYQMÛkõÔ:9Ý_Âòûwà_Qáî4\13äøÈ\7f\8bÁ\11\1f\0\ 1Ðè¯êêiãù{\aÒUÞ4  \aØ=-§ÅÜï-»­Çm\91°Ørͳ{|\0\ 3E~¢Ê²¢=$Üz\r\a»§Øy\9b\ f\8eÐ'\1f_E\7f×Zàîþ%\95®?ãëÈ·|l?°~\0\ 3þv}~ʲ?'tyäüz\r\ eº\87Iêû}ßDüVê>®è\90\v\1f\95\9dÝ]å}\ 6r\1f¼ï¼+ÿ\80\0çöÈ~®Wp\9e27v\85íöÚí\8d\1c­ÍüÚ\8aM?KSs\96±h±\ f\bó\9b\8f\91«¶îw]ÆÊ^õò\v\94\0\1cÿÓ\8fø8\16\95±ò·\89B×ìèånyè Ðê(ôþ\9bm½h\18\ f¤tÕ6õõu\12ü--JÞÑ\0è¯À\0sôWð$`îìêâÞëY/uñ]dyø·PWÓPèúÚ
+\ÝNûÑVps5x\19\8aì,Å~9]#1[#\8fðrN\92»\a/_\87ÌÀ>v1YÃÊø\99ªé\19\9aé\1cî\rù\85f\ fÏÌ*Ü\19yß竤yÞng}lïãñ-n\ 4YÍ/;ó_O>óUPð\f\19Ç\91\8fK÷²9\10ærW/!²~?¡¬¿\83ü'êé©»j\89þ^÷¤\17E~\0\ 3ÊÑ_ÁÃÃï-¬"þcĽݡvuTõu\13ÐïàË\95Ñdk¨{.Ò\93Oïµ´\9fDÐRÐLëµ\9cìc\94{úZ.Ã[ªû|\eÎ;\1aZ\1e»[«ý9ß\a½\9fð¸\13°¤Ö}îA9y\r¨¤ÔSRMAþ\e\ eg\91½èú\9a{AE5Ö?×Ð\0\1fãþÿØTëäI\93s½ÝÚVG\97½vk\eÅP\85\8foKS¯ÔíigcÐh\7f\86éráàî\97\94 Ñ~n%Øê´\954Ý¥\86×WÊÑ\\8b¢¿\95´ò~\8b²m­\1f\0\ 1ä\9aéý\16\ 6\16\15ÿ\ f\85maµú\9br\ 1>\86+àa\9e\88_\13\86\7f\8ewÅÒHJþ:Ít{?³»K§îï\83¡ØXíµ½®§±nØÔ\0\ 1äè¯Ïhó··»ù\12dï»ÍËn\8b'\91·»
+\9eÏ\17Â%\95µ\87íÛá9¯Öi³íì¨à\0\8fv.£¹µ°\91&O\v\87\7fÝYU4%¿¾ú\88»Zý\94­ÝÜ_³o\84Í\95U?q´£øzN¥¼ÿ4\0\aúÝ\8d+5\9e¿áßÈ\93&ÿ\85À¶°Ú´&\7f¶ùò¸û\9aØû\8fݾ¦\1e¶>Ò\97Mðf\e\82¸\80\0\7f½\8bt½W´®Úk00¤H\93&úû\7fÝîk­2wÍ\9dÿ^¬¾²??}~\ 5?ïÉ-Í~Çe«Òü\ fzè¯\0\0\7fÝÍ\14]ݯq"L\99]aF\a
+æã¹µ¯Ùù\1a\rõ»\ f+E\8a\1f\rE4ÿ¯p°¶êÃeuqkºÛítÝ\7f¹\7f® \0?öáÚY\8fqcY\1e.°¢QÄâpx\\e˽õåß{\ f¦Qwu½¼\80\87â]oî/y>\99X\1c¯NG·+\f»ßÛÁ\80^Ýﯯn`à\e¸x\12öó½\8b\84î®mûë»{«\9dåì¬'\8d\8c^Ýñ°\vë»\8coMíÕ¼\18\ 4>\9b{ëÈpË©X6!+Þ\87)1~\rÖþW\ fÅ\8d÷×\9bÜ\8e"ÄôÃ\81Þo÷\90ç\ 6'ÄÆÌ(²V\1e\16¸\872.<\1c3\13\87î¢á\98~$\1c3\ e%\17\ 5bp\9e>Yñýì\9e\19\83.bÊNÿ\fÇÏè3\83\e;ïqrV.Ry\1cÑÃ\89r9\aÅɼn|o8þÞû\e\ fÊçö^Odg\ 4\19+\aø\97Á¿àZíûvã\ 5ð\0\1fÿuS\aUÔv´SV\9657××X<N$\892q}8p\12 öá%{|o\95ÈôÈÆôãûØPâX\\9cc\13\ 3\87\ f\8b\85¹\18\a(ÇÆðaâ\8c\f<(r\93\89(\95íÃéÃÃ\8bÛ\8b0»üoÀáþfAópÉ|\8b\94\9eÅ\95X\9c¬C\94ø\99ý\16\99ØpàÙ9\85\16scp$\9\81\85#\e\80r8g\e\91Ì\1e_.Ù<Ñàñòÿ')1yýÄö9\9cþüÓ\81Á½ÝYUì(æÚ+\80\0\ 4\8d&¦=¶§G\9d \9bÏPÍõ¾1?73AÍÀ'¦ær¾%\14äÌþ\97®\8bÛ\83)õ3\99ýTäÍ\ 4Ö{U;×Aïj§f` Àè´³\1cbrcÃʨ2&\ e\1fçc\18\99+93\ 6Såd¬^Ĭ³\9c\99Èà20ÉéÞ¾^\19ÆÎþN\19G¦Ïý¬ïñ    í'SÙÌç\1fØ0\0\0\aåØÌÔä\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?Q\1a5\17¼ìý\94ǺêýM\ fMòý¿Gì{¯_\9e¢Ëz\8cç\17/ñº~._-K¸é>OK\9d¢õ\9a/k©ö~nvÓ¬óñ²Ñ§¦¯¼Ç§âåó^«Öæø¹xÒ¬Ü\ f£\81ô\1eZ4n\9f-\1a7E\e3\ fÇ\8d\aÏèüÔhT\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92I$\92H1à\0\0\7f@\0{c\ 6Fßøëñ8Ñ\86J\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ f\80\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0\0\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ \0\0\0\0\0\0\0\b\b\0\0\0\0\0\0\v\0\0\0\0\0\0\0\ 1\0\0\0\0\0\0\0\0\ 1\0\0\ fZ\99[\11«Çæy\91ûÛy­\ eÕCuÕ$\833\1eÂA0\ 5\197{       ySSÇm\90×C>w\84ÞXÑý½¢Þ÷\8d©\12óAª:®ÌÉE(\e\7f\ 3w\99ÿL
+ݤ\92Ëb§¯\8f\98q|ÌÆnÚ\9bæÿõW\ f\832Dâ\92\8exMâ(\ 5ç»6\8co5&õ
+ÔÒ\0ë \ 4\95õ\99%YÛÉ\16%\17|þÇ%ü\11·\b\85ûX¾~÷çâ\ 6¾çi\9f\85ài1\98\96;\93¼K×Ó&\90Ô\94\8d\9aß\ 5sûµÜ\90kÔ߬(×Bq\9fª\10u°y­½a¤æ\ 4\8f\1cMDE­\9b3[j\16ÿ3àì\ 2\ fî\93\82h_!\90\ e=\rù¾u\90lh¬¼©UóÉVí\1a\87Ûgm\19\15\97\13a\ 1_(³Sc\r\9b¸u\87\9eo¡úÁc#w±&ÂïÎÌ"]ø\e\83\1e±\10<pyKå\821\1aÙLø!»\9eU\ fÕg/ÅD»\8a\v,¸è\8e.$.\ 35^lK'zþþ\10®&\1e7~\ 4üìg\16\95\ 6dµS\8f2\93<W%Ú\96}v-¤cu\15×ó;\eº¥\11`$í\ eÇ÷\ eÑð\94Dªfµ\83\90o265øî\ 1Þé°\v\19d\8bK\fp\14Ëë\86\86×¼UL\91^ð²        »à~Âð\8b\95\8aô§üû,«60c\84&`/vÜvgõ\9e
+\89×\91\9d\10\8c\1e@t\83ÿ\81\9eØ´\8c\14¥þø\93\82HG\ 1\8bÎéï¿¿þ´3þ?MI\97Lb\17k\9e*áè£zwá·\7fÆ\9d{\8b3.Éí\17ê\ f:3rj[z ø\94\8a\9dÉJ\ 4(6\9e\ 1Ü¥ç\1a\10n«gá\8a·¬] \11\86G\9c¦ÝkuÆä{Ñ\81\19\ e\ 6\18ex3\9e\ 2»l\16\ 3Ç¥üºøªôkSÛ\1fæUì 9ñ\ 5Y^3Ög\1eZàP^t\ 3½0\88Rèä\14\ 4\ 6ñDöé5\94\8d\\8b>Æy\8cQ\8d0ù}\ 5½½NM˯IäXXïNÈF}\v\99\9fªÃ2nö\94ª*k`ÕO\86¸hq\9b§\97Ò)M¯\ 6\r2\9b\87HfÛ+[.TU÷Õ`ó·7QÞ\7fwVÙ¶r0B Ïñ)7\1f\8c[¬´¾fJ\11õx\89\ 5\10¹ðª©ÿxY1#0\86Ãùuò\84\90áïÁ¸Õ¿qãq%Î|}\84*´yб \8dc\bsÈi÷¸\eaäè&¡êé\1a©½á$ìÐotSmN¦Jî0"\8a¥2,$d<³¤²î   \14ÉzÐHóN
+\fç\95\9fÊ\89\9d\9ds\ 2Ñ\87óg{gvWø7"\11ÀÕ4\8ef÷­\a\8e\907Aª\9f\8fo\0¾\94!^\9a¡"¼\10È0\15\1d\9e\17S\8b-\14\1dH\ 21\88\ 1Lòf¾Ûµ\1d\89à j&¬¶ºIÛG\r£\ 5t       õlù¶°H~c+:ÞRFÃc\9a\96\1f=\17ñ¾¸%\a\ 2Ï\ 6R}þIgLkßò\94\ 6þÊ7Z¶\97j£LIî÷KèûøzS8"4\919\81¯$c\ 2ØXîÁË{Ñ\80\14¾\82\ eµ¦^\9a\15\97$mwpü¿\7f»Ø£\93\96[·<f\99)rÊrfql#P\92J>*\b\98ÐDª­«EÑ*¥ÙÐLûu§4è\11\ 3\80:ÁÔp\1c$=gÛ \9eEÚC¶ýfÂÚ\19Ó]\98Á\14\14x\80úF¦¸\1dhÌ:\r^\13ûlD\\8c   _æÎIcò\99·\95\ f!\9aOÚ j\14H\1cýûú'~¸°|6*ÀZó÷!ŹJ§_\\84´ÝB_WùÚ[ev\9dúÑ CðÓK)אַÁ.µ\98Ðq\9a¯f.í:\15÷åb\9f¶HÕ|¥\9f|+\1aO]s$\ e-/àD¶¿U_ä\9c\15Æ\1cÑ\9bá÷c\1c\84\85
+¡gJÔý{}\99\1f?1ÔÚ«HÈB¨ß\11+#\8e\11\ f`~\1f'j2\ e$'\11$E:å¸þ\b·ûµÓi ¸>§\83\16\14븴g\96û,ë\1e,\ f??2v­f\ 4¿h\9b\fÌ.7ý\0J#\8a\19pëé*nh¸rm\¯\ eWÂ\¦^\9c×\ 2*4øô£ç\eµÀºN\182fáÒ»V²³#l4\96Ô²~[\ 5$\e=èUwý+6dwK·\9cï¨M:Ç\ 4Ok\9ak®Õ.Ç£t6 AEçn×\ f\17Ì\9c\8bÒHc\11¹¡=\8e\14/ÓÅ\a|\ 1â\1f¾\15\83ø³g\Zå\\95ÞýÔ~\86\19\91+æû\93Tv!<L¤7\1dtA\ 2éúbÛ\82Ü\f\8b¼ä×\19\98\13\8d:+¤kØuµ\19\eíÁ0E\14¸1ä»ùt6ãâ­á¸m6c+\9f08\92        ´z\8a\1f\87\bÏÙ[ó=Ðó\95\17P\89\90ð(ïÚ\ eÞFB\9e.éú\80\94fIúÉ8£è\16\15\15ø÷Å\1e|HG\86\ 3û\18Ö¤ÊU°Å_DðR0\0A\9a«\1aò\ 4õößU\14\98½\8d\0\86-"ãVh\92(ª­¤îß*æ;ÓF¯k8Ñ/Ƭuéjµ\81\ 4?°Ïn-aê\91ì"\90ÓYÙ\99w\87bì'úW¬3ÎæDe\96E©r\8fh_\83\86v\8e2JDù\90\93ý\86b*\ 3¾j¢p<\8dð&     èî±^a¤."©       êQ?c°§ÉI´wáÊ\r   i\1cp\80äs\89\9as\92IJõå¿\80¥\ 3ÃË\8c\ 2ã÷%`6HHE\ 11\94c¡q\9ah¿Ù{jt\81=Ñ0\ fßr®×8vh3)eÖ·òÉ\ 3\ex5zC¼_Üñ\9aª£44v´f¾Î:Øj\0!Xix%·\18Rè@n\vÙ\ 3§¾\1fGé<Ýý®¢1ãôð\E\95);\95£\Eïá£D\1cö\9d0\7f80ÃÞÿ`¡a@:§ÇØ\ 3¾\1eñüNím\8eEH\8aÞðÌ\v)ñ0\91â\ 2w\12\ 2·ZÅ\9c\87v\80&QW¡G9®»\7f/BÔ\91Ôå}æZç\85$\99\8erïk\93dÎTqí\88²I4Ôcæq÷v\1a\bh÷O´\80©\9f\95aQ\85\ 6óaáM!I\ 4ª ·8>\vʬ\ 1úã\85aݰ³\r\9aÈB\9d\11\15\1d`Lô½=â5Db`.\11«¨\88a8É:`\83¹%çÖ¸\9aª\8a¾À\82\94Õ_³ýÓú#tI\9aÞØ,\81´\1anKÅ»­\85¨\92\91çp^îT\1f«)\98ôÔ¶\1a`äÊ\19ª\8fíâ\8c\85*9\95ã\ 3B\88;\85ë\ eç\ 1°v°¼0\e¾\ 4\916Ú}úå&&Û:ú.\9b»ü\9c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0êÐÿ\0ð\0\0\0\0\0\0\0\0\0'-ÙT\93zh\ 4JD\81Î\vö\17Ø\90ß\0\0\ 4\0\0\0\0\0_FVHÿ\8eÿÿH\0«L\0\0\0\ 1\ 1\0\0\0\0\0\ 4\0\0\0\0\0\0\0\0\0\14[ÀR\98\vlI¼;\ 4µ\ 2\11Ö\80a\11\ 4@P\19\0ø$\19\0\10MZ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0¸\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0PE\0\0L\ 1\ 3\0\0\0\0\0\0\0\0\0\0\0\0\0à\0\ 2!\v\ 1      \0À\14\0\0 \ 2\0\0\0\0\0\0^\ 3\0\0@\ 2\0\0\0\17\0\0d\0üÿ \0\0\0 \0\0\0\ 5\0\0\0\0\0\0\0\ 5\0\0\0\0\0\0\0 \19\0\0@\ 2\0\0\0\0\0\0\v\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0À\18\0\0X\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0¡\14\0\0@\ 2\0\0À\14\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0°\ 1\0\0\0\17\0\0À\ 1\0\0\0\17\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0^\0\0\0À\18\0\0`\0\0\0À\18\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bì\81ìà\ 2\0\0SVW\8b}\f\8d\85 ýÿÿ;ût\ e\ 2\0\0WPèÁ\ 2\0\0ë\fShà\ 2\0\0Pè¸\ 2\0\0\83Ä\f\8d\85$ýÿÿSPÇ\85 ýÿÿPeiCÇ\85$ýÿÿt\17üÿè÷\ e\0\0\8bu\bW\8d\85$ýÿÿVPè\88\ 2\0\0\8d\85$ýÿÿWPèn\a\0\0\8d\85$ýÿÿWPèW\ e\0\0V\8d\85$ýÿÿWPè\16\v\0\0\83Ä0\8d\85$ýÿÿ;ût\ahd\17üÿë%SSSh\0\0\ 2\ 3j\ 1P\8b\85$ýÿÿÿPX\8bF\b\83Ä\18;Ãt\ fP\8d\85$ýÿÿPè£\b\0\0YY\8d\85@ÿÿÿP\8d\85 ýÿÿPVè©\v\0\0\8dE\fPSS\8d\85$ýÿÿh\14\18üÿPèv\a\0\0ÿµhÿÿÿ\8d\85$ýÿÿP\8bE\fPÿ\10\83Ä,_^¸\ e\0\0\80[ÉÃj\0ÿt$\bè×þÿÿYYÃ\8bD$\b\85Àu\ 6¸\ 2\0\0\80Ã\8bL$\ 4\8b\89D\ 2\0\0\ f¶I\f\89\b3ÀÃ\8bD$\b\85Àu\ 6¸\ 2\0\0\80Ã\8bL$\ 4\8b\89D\ 2\0\0\8bI\f\81á\0ÿ\0\0\89\b3ÀÃ\8bD$\ 4\8b\80D\ 2\0\0\8bH\f\81á\0ÿ\0\0\vL$\b\89H\f3ÀÃU\8bìQ\8dEüPj\0j\0h$\18üÿÿu\bèË\ 6\0\0\83Ä\14\85À|\vÿu\b\8bEüÿ\10YÉø\0\0\0ÀÉÃU\8bìQ\8dEüPj\0j\0h4\18üÿÿu\bè\99\ 6\0\0\83Ä\14\85À|\1cÿu\1c\8bEüÿu\18ÿu\14ÿu\10ÿu\fÿu\bÿ\10\83Ä\18Éø\0\0\0ÀÉÃU\8bì\8bE\b\83ì\18\80¸I\ 2\0\0\0u\a¸\0\0\0ÀÉÃ\8b\80D\ 2\0\0\8b\8bP$SV\8bñ\81æÿ\ f\0\0W3ÿ\8bÞ\vß\89uèt
++Î\e×\89\89P$\8bM\10\8bp$\8b\89uüÁá\f\8dq0\8bþ3Û\8bò+÷\8b\89\8b÷\eó;p,w\11r\b\8buð;p(s\a¸ \0\0\80ë7ÿu\f3ö+Ñ\eþ\ 3\89x$\89\8bú\8bU\14V\89:\8bx$V\89z\ 4Z\13òVQÿp$ÿp ÿu\bèk\ f\0\0\83Ä\1c_^[ÉÃU\8bì\8dE\fP\8bE\f\83À\bPj\aÿu\bè\f\ 4\0\0\8bM\f\8bU\10\83Ä\10\83Á\b\89
+]ÃéÃ\ f\0\0é®\10\0\0U\8bìQQSV\8bu\b\8dFü3Û\89E\b\88\98L\ 2\0\0\8bE\b9]\10uy\88\98M\ 2\0\0\8bE\f\8bH\ 4I÷Ñ\8dU\b\8bU\b\89\8a`\ 2\0\0\8bM\b\8b\91`\ 2\0\0\ 3P\ 4j\ 1\89\91d\ 2\0\0\8b@\ 43ÉQPè\ 1\11\0\0\8bM\bSP\89\8b\91`\ 2\0\0\89\91H\ 2\0\0\8bE\bSÿ°`\ 2\0\0\0\ 4\0\0\8bE\bjpÿ6\ 5p\ 2\0\0Pè+\ f\0\0\8bE\b\83Ä,\8d\88p\ 2\0\0^\89H\ 4[ÉÃU\8bìQQ\8bE\10SV\8bu\fW\8b}\bj\ 1ÿu\18Æ\87H\ 2\0\0\ 1ÿu\14Æ\87I\ 2\0\0\ 1\89·L\ 2\0\0\89\87P\ 2\0\0è\80\10\0\0\83Ä\f¹\0\0\ 2\0\85Òw\14r\ 4;Ás\ e\89\87T\ 2\0\0\89\97X\ 2\0\0ë\r\83§X\ 2\0\0\0\89\8fT\ 2\0\0\8b\8fT\ 2\0\0\ 3ñ\8d\87D\ 2\0\0\8b\18\890\8bC(\8bK,3Ò+ÃP\eÊSV\89\89Müè\87\ e\0\0\8bE\f\8bU\10\8bÈ\ 3M\14\89F\18\13U\18\8bE\10\83e\10\0\89N\10\89\89F\1c\8bÊ\89N$\8bM\10\8bÆ\ 3\89V\14\13\89F(\89N,\8bK0\8bS4j\0X+Ë\eÐ\ 3Î\13U\10VSW\89N0\89V4èz\ 3\0\0ÿ·X\ 2\0\0ÿ·T\ 2\0\0ÿ·P\ 2\0\0ÿ·L\ 2\0\0\ f\r\0\0\83Ä,_^3À[ÉÃU\8bì\83ì\f\8bA,\8bQ Áè\v$\ 1SV\8bq$\88Eÿ\8bE\fW\8b8\85ÿu\b\ f·A0\ 3Áë\14\8b_\14\81ãÿÿÿ\0\8bÃ÷Ø\83à\a\ 3Ç\ 3Ã\8bØ+Ù\83Âè\83Öÿ3É\89\89uø;Î\ f\87Î\0\0\0r\b\ f\83Ä\0\0\0j\18^\80}ÿ\0\8aP\17t\ 2öÒ±\80\84Êu\ 4Ðéuø\80ù\ 4t-\80ù\bt(\80ù\10t\ f\80ù \ f\85\94\0\0\0\ 3Þ\ 3Æëx\8bH\14\81áÿÿÿ\0\8bù÷ß\83ç\a\ 3ùë`2É3ÿ\8a\148\ 2T8\ 1\83Ç\ 4\ 2T8ÿ\ 2T8þ\ 2Ê\83ÿ\15rçë\ 4\ 2\f\aG;þrø*H\11*H\17uK\8bH\14\81áÿÿÿ\0\8bù÷ß\83ç\a\ 3ù\80}\10\0t\r\8aH\12\80ù\ 6t5\80ù\bë
+\8aM\b:H\12t(\84Ét$\ 3ß\ 3Ç3É;Mø\ f\82Jÿÿÿw   ;]ô\ f\82?ÿÿÿ¸\ e\0\0\80_^[ÉÃ\8bM\f\89\ 13ÀëòU\8bì\8bE\10S\8dP\18\8b@\14V¾ÿÿÿ\0W\8b}\14\83è\18Ç\a\0\0\0\0ÇE\10\0\0\0\0t\1f\8aJ\ 3:M\ft!\8b
+#Î\8bÙ÷Û\83ã\ 3\ 3Ë\ 1M\10\ 3Ñ9E\10rá¸\ e\0\0\80_^[]Ã\83Â\ 4\89\173Àëò\8bL$\bj\ 1ÿt$\10j\0èXþÿÿ\83Ä\fÃ\8bL$\fj\0ÿt$\14ÿt$\10èAþÿÿ\83Ä\fÃU\8bì\8bE\fW\8b}\10\88E\ f\85ÿu\a¸\ 2\0\0\80ëH\85Àu\ f\8bE\b\8b\80<\ 2\0\0\89\a3Àë5V\8bu\b\8b\ 6\8dM\bQj\0j\0hD\18üÿVÿP \83Ä\14\85Àt\a¸\ e\0\0\80ë\ fW\8dE\ fP\8bE\bVPÿ\10\83Ä\10^_]Ã\8bD$\ 4\8b\80D\ 2\0\0\8bL$\b\89\ 13ÀÃU\8bìQQ\8bE\b\8b\88D\ 2\0\0SV\8bu\14W\8b}\10\83Ç\a\89\ e\8b\8bY$\81çøÿ\0\0+Q(\ f·Ç\eY,\89E\b\89\99;Úw\ er\ 59Eøs\a¸ \0\0\80ë@\8bA0f\8bU\f\89\ 6f\89\10\8b\ 6f\89x\ 2\8b\ 6\89P\ 4\8b\ 6\ 3E\b\89Q4\89A0¾ÿÿ\0\0f\890j\b^f\89p\ 2\89P\ 4\ 3Æ\89A(\89Q,3À_^[ÉÃU\8bì\8bE\f\83`\ 4\0V3ÒBf\89\10W\8b}\10j8Zf\89P\ 2\8dH8\83a\ 4\0ºÿÿ\0\0f\89\11j\bZf\89Q\ 2\8bU\b\89P\f\8bÐ\ 3U\14\8b÷\13u\18\83`,\0\83`4\0\89P\10\89\89x\1c\8dQ\b\89p\14\89p$_Ç@\b      \0\0\0\89@\18\89P(\89H03À^]Ã\83|$\b\0u\10\8bD$\ 4j\7fY\89H\b\89H\f\89H\14ÃU\8bì\8bE\10S\8b]\bVW\8b}\f\83e\b\0\8ds\18ÇE\10\80\0\0\0\8bM\b;K\ 4|\ 5;K\b~;\8b\ e;O(s4;Ïr0\ 3È\89\ e\8bQ\ 4;W(s     ;×r\ 5\ 3Ð\89Q\ 4\8bM\b;K\ 4}\13\8b\16\8bJ\b;O(s      ;Ïr\ 5\ 3È\89J\bÿE\b\83Æ\ 4ÿM\10u­_^[]ÃU\8bìQ\8bE\b\8bH\ 4\83e\b\0SVW\89\85É~@\8bU\f\8b:\8dp\18\8b\ e\8bA\ 4;8u!\8bZ\ 4;X\ 4u\19\8bZ\b;X\bu\11\8bZ\f;X\fu       \83}\10\0t\eÿM\10ÿE\b\8bE\b\83Æ\ 4;Eü|ȸ\ e\0\0\80_^[ÉÃ\8bE\14\85Àt\ 2\89\b\8bE\18\85Àt\ 5\8bI\b\89\b3ÀëâU\8bìQ\8bE\18;E\1c~w\8bM\b\8dL\81\18+E\1cSV\89M\18\89EüW\8bE\18\8b\18\8bE\10\8b}\14\8bs\ 4}F\8bM\b\8dL\81\18\89M\1c\8bE\1c\8b\b\8bA\ 4\8b\10;\16u%\8bP\ 4;V\ 4u\1d\8bP\b;V\bu\15\8b@\f;F\fu\rÿq\bSÿu\bÿS\b\83Ä\f\83E\1c\ 4OuÆ\83m\18\ 4ÿMüu\9f_^[ÉÃU\8bìQ\8bU\f\85Òu\a¸\ 2\0\0\80ÉÃ\8bE\b\8bH\bSVW\8bx\ 4A\89}ü;ùt3\8d\18¹\0\0\0\80ë\ 3\8b}\fö\ 2\10t'\89\16ÿ@\ 4\8b\1a#Ù;Ùt'\83Â\fG\89}\f\8bx\b\83Æ\ 4G9}\fuظ       \0\0\80ë&\8b\89H\ 4¸\ 2\0\0\80ë\19ÿp\bÿp\fÿp\ 4ÿuüj Pèúþÿÿ\83Ä\183À_^[ÉÃS\8b\$\fW\85ÛtT\8b|$\14\85ÿtLö\a\10tG\8bD$\f\8bP\ 4\85Ò~\11V\8dp\18;\1et\bA\83Æ\ 4;Ê|ô^;Êu\a¸\ e\0\0\80ë#\89|\88\18ÿp\b\8dQ\ 1ÿp\fRQj Pè\99þÿÿ\83Ä\183Àë\ 5¸\ 2\0\0\80_[ÃU\8bìQQ\8bM\f\83\0\85Éu\a¸\ 2\0\0\80ÉÃ\8bE\b\8bP\ 4SVW\8bx\bJ\89}\f;út:\8dW\a\89\8dT\90ü¾\0\0\0\80\8b\19öÃ`t+öÃ@t\ 3ÿEü\89
+ÿH\b\8b\19#Þ;Þt#\8bX\ 4\83Á\fO\83ê\ 4K;ûuÕ¸    \0\0\80ëu\8bM\f\89H\b¸\ 2\0\0\80ëh\83\0vJ\8b}\f;x\b~<\8b\8dL\88ü\89\8b\ 6@t\1c;x\f\8b×}\ e\8bY\ 4\89\19B\83Á\ 4;P\f\89t\90\18ÿH\f\8bMøO\83é\ 4;x\b\89\7fÎ\8bMü)M\fÿp\bÿu\fÿp\ 4j\0j Pè®ýÿÿ\83Ä\183À_^[ÉÃV\8bt$\bW\8bF\14ë\1c\8b~\fWÿv\14ÿv\10j\0j@Vè\85ýÿÿ\83Ä\18\89~\14\8bÇ;F\f\8bF\10ë\1cÿv\f\8b~\ 4j\7fWÿv\10j@Vè_ýÿÿ\83Ä\18\89~\10\8bÇ;F\ 4\8bF\14;F\fu¬_^Ã\8bL$\b\8bD$\ 4\85Éu\15\8bL$\f\8b\11\89\908\ 2\0\0\8b   \89\88<\ 2\0\0Ã\8a\89 \ 2\0\0þÁ\88\88\1c\ 2\0\0Ã\ f¶D$\ 4Pj\0j\ 1è\99\b\0\0#D$\14#T$\18\83Ä\f\vÂt\ 3°\ 1Ã2ÀÃ\ f¶D$\bPj\0j\ 1èu\b\0\0\8bL$\18   \ 1       Q\ 4\83Ä\fÃU\8bìQQ\8dEøPÿu\fj\eÿu\bè·ùÿÿ\83Ä\10\85À}\ 4°\ 1ÉÃ\8dEÿPÿuøÿu\bè\\ 3\0\0\8aEÿ\83Ä\fÉÃS\8b\$\bV\8bt$\10WV¿à\ 2\0\0W\83Ã\ 4\17üÿSè\f\ 5\0\0\83Ä\10\85À|\15\83\ 6\18\8b6\8b\ 3Wÿt$\14VÿPP\83Ä\f3À_^[ÃU\8bì\83ì0SVWj\14Xj\ 4f\89EÐXj\10f\89\8dEÔhÔ\18üÿPè1öÿÿ\8bu\10\8b\83Ä\f\89Eô3Û\8d~\18é\1c\ 1\0\0ÿv\f\ f\ 6ÿv\bPèüþÿÿ\83Ä\f\84À\ f\85\0\ 1\0\0ÿ7\8bE\f\83À\ 4Pè#ÿÿÿYY\84À\ f\84è\0\0\0\8dEüPÿ7\8bE\f\83À\ 4\99\ 3\0\0\83Ä\f\85À\ f\85Ë\0\0\0\8b\a\89\8dEÐP\8bE\fSSh\ 2\0\ 2\ 3\83À\ 4j\ 1\88ôÿÿÿ7\8bE\f\83À\ 4PèÂ\ 1\0\0\83Ä =\1a\0\0\80t\ e\8bE\f\83À\ 4Pÿ7ÿUüYY\8dEÐP\8bE\fSSh\ 3\0\ 2\ 3\83À\ 4j\ 1PèIôÿÿ\8dF\bP\ f\ 6P\8bE\f\83À\ 4Pèoþÿÿ\8bE\f\83À\ 4Pè²ýÿÿ\8bE\f\83Ä(8\98L\ 2\0\0t@\8dMðQPÇEü¤\ 2üÿè\98þÿÿ;ÃYY\ f\8c\14\ 1\0\0\8bE\f\8b\88X\ 2\0\0\8b\80P\ 2\0\0\8dD\ 1ðPÿuðÿu\bÿuüèr\ 1\0\0\83Ä\10þ\ 6\8bE\fWÿv\1c\83À\ 4PèIøÿÿ\83Ä\f\85À\ f\84Éþÿÿ\8d~$9\1fu\e\8bE\fWSS\83À\ 4hD\18üÿPèUúÿÿ\83Ä\14\85ÀuQ\88]\13\8b\a\8dMøQ\8dN\ 1Q\8bM\f\83Á\ 4QPÿ\10\83Ä\10\85Àu*\8bEø;Eôt\1d;F\1ct\18Pèê\0\0\0Y\85Àu\r\8bEøÆE\13\ 1\89F\1c\89^\188]\13t»8]\13\ f\85Nþÿÿ\8bF\f\8b~\b\89\ f\ 6PSj\ 1èô\ 5\0\0\8b\83Ä\f\83Àÿ\83Òÿ\8bÏ÷Ñ÷Ó#Á#Ó\vÂt+;~\10u\b\8bEì;F\14t\1e\8bEì3Û\89F\14\8b\88\1e\89^\18\89~\10\88^\ 1\89F\1céôýÿÿ¸\ e\0\0\80_^[ÉÃ\83|$\b\0u\10\17üÿÿt$\bèuûÿÿYYÃ\8bD$\ 4\ 5h\ 2\0\0\838\0u\ 6\8bL$\f\89\b3ÀÃU\8bì\8bM\b\8d\81h\ 2\0\0\838\0u\a¸\ e\0\0\80\8b\0\8dU\vRÿu\fj\0PQÿ\10\83Ä\14\80}\v\0t\ 5¸\1a\0\0\80]Ã3ÀÃÌÌÌÌÌÌÌÌÌÌÌÌ\ fo|$\ 4ÃU\8bì\8b]\f\8bU\10\8bM\b\8be\14RSÿÑÉÃU\8bì\8bA\ 4\83ì\14\85Àu\ 4\8a\ 1ÉÃj\10P\8dEìPè`óÿÿ\8b\ 6\8dMüQj\0j\0\8dMìQVÿP \83Ä \85À\ f\9dÀÉÃU\8bì\8bE\10\81ì\0\b\0\0S\8b]\fV\8bu\b\0\0\8d½\0øÿÿ\ f\ 3C\83ø\ 2\ f\84\9b\0\0\0\ f\8eË\0\0\0\83ø\ 4~O\83ø\ 5t)\ f\8e»\0\0\0\83ø\a\ f\8f\91\0\0\0\8dEø;ø\ f\87§\0\0\0\80{ÿ\ 6\ f\94À\88\a\83g\ 4\0ëo\8d\85\bøÿÿ;ø\ f\82\8a\0\0\0\8dOøèMÿÿÿöØ\1aÀþÀ\88Gøë8\8d\85\10øÿÿ;ørm\83ï\b\80{ÿ\ 3\8bÏu\12è(ÿÿÿ\84À\ f\85wÿÿÿ\88Gøë\11è\16ÿÿÿ\84À\ f\84eÿÿÿÆGø\ 1\83\0éXÿÿÿ\8dEø;øw/\89_\ 4\83Ã\10\83Ç\béCÿÿÿ\83ø\bu\1c\8d\85\0øÿÿ;øu\10\8bÏèÔþÿÿ\8bM\10\88\ 13Àë\ 5¸\ 2\0\0\80_^[ÉÃU\8bì\83ì S\8b]\10VW\8dEüPÿu\f3ÿj\10ÿu\b\89;\89}\103öè\15õÿÿ\83Ä\10;Çt`\8dE\10Pÿu\fj\12ÿu\bèýôÿÿ\8bU\10\83Ä\10\8bÊ\89Mü;ÇtF\8dEøPWWhd\18üÿÿu\bèj÷ÿÿ\83Ä\14;Ç|!\8dEèP\8dEàP\8dEðPÿu\f\8bEøPÿ\10\83Ä\14;Ç|\ 5\8b\89\v_^[ÉÃ\8bU\10\8bMü;×u\19¾MZ\0\0f91u\r\8bq<\81æÿÿ\0\0\ 3ñë\ 2\8bñ\89\89}ô;×t\ f\ f·J\ 6\8br\b\8dL\16(ë½\8bV(\ 3Ñ\89\13ë¶\8bT$\f\8bD$\ 4\8b\bV\8bt$\14V\83Â\18Rj\ 4PÿQ4\83Ä\10\85À|\11W\8b>\8bt$\10\83Ç\b¥¥¥¥3À_^ÃU\8bìS\8b]\b\8b\ 3\8dM\bQj0j\ 2SÿP4\83Ä\10\85À|TV\8bE\fW\8b}\b\83Ç\b¾ô\18üÿ¥¥¥¥\8bM\b\89A\18\8bM\b\8bE\10\89A\1c\8bM\b\8bE\14\89\8bM\b\8bE\18\89A$\8bM\bj\ 4X\89A(\8b\vj\0P\8bE\b\83À,PÿQT\83Ä\f_3À^[]ÃU\8bìS\8b]\b\8b\ 3\8dM\bQj0j\ 2SÿP4\83Ä\10\85À|lV\8bu\1c\85öt\ eW\8b}\b\83Ç\b¥¥¥¥_ë\13\8bM\b\8b\ 3j\0\83Á\bj\10QÿPT\83Ä\f\8bM\b\8bE\f\89A\18\8bM\b\8bE\10\89A\1c\8bM\b\8bE\14\89\8bM\b\8bE\18\89A$\8bE\b\8b\89H(\8bM\b\8b\ 3j\0\83Á,j\ 4QÿPT\83Ä\f3À^[]ÃÌÌU\8bì\83ÄøVW\8bM\10\8bu\f\8b}\b\8bÆ\ 3Á;Çv\16\8bÇ\ 3Á;Æv\ e\ f\84º\0\0\0\ f\82 \0\0\0\83ù\0\ f\84«\0\0\0\8b×\80â\ 3\84Òt  \8a\ 6\88\aIGFëå\8bÁÁè\ 6Áà\ 6+ÈÁè\ 6\83ø\0tQ\ f\7f\ fo\ 6\ f\7f\a\ foF\b\ f\7fG\b\ foF\10\ f\7fG\10\ foF\18\ f\7fG\18\ foF \ f\7f\ foF(\ f\7fG(\ foF0\ f\7fG0\ foF8\ f\7fG8\83Ç@\83Æ@Hu¹\ foEø\ fw\83ù\ 4r\ f\8b\ 6\89\a\83é\ 4\83Æ\ 4\83Ç\ 4ëì\83ù\0t\1d\8a\ 6\88\aIFGëò\ 3ñN\ 3ùO\83ù\0t        \8a\ 6\88\aINOëò_^ÉÃÌÌÌÌÌÌÌÌÌU\8bì\83Äð\8bU\f\85Ò\ f\84\9d\0\0\0WS\8bE\b\8a]\10\8bø\8aû\81ú\0\ 1\0\0rq$\a\84Àt\17\8bÇÁè\ 3@Áà\ 3+Ç;Âs\+Ð\8bÈ\8aÃóª\8bÂÁè\ 6\85ÀtKÁà\ 6+ÐÁè\ 6f\89]øf\89]úf\89]üf\89\ f\7f\ foEø\ f\7f\a\ f\7fG\b\ f\7fG\10\ f\7fG\18\ f\7f\ f\7fG(\ f\7fG0\ f\7fG8\83Ç@HuÛ\ foEð\ fw\8bÊ\8bÃÁà\10f\8bÃÁé\ 2ó«\8bÊ\83á\ 3óª[_ÉÃU\8bìQ\8bE\b\8bU\f\8bM\10\83á?\ f­ÐÓê\83ù r\ 4\8bÂ3ÒYÉÃÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌU\8bìQ\8bE\b\8bU\f\8bM\10\83á?\ f¥ÂÓà\83ù r\ 4\8bÐ3ÀYÉÃ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\80\ 4\18üÿ\0\0\0\0\0\0\0\0PEI SERV[\0\0\0p\0\0\0\0\0\0\0\0\0\0\0\18\füÿ£\füÿ\18\vüÿ      \rüÿÐ\ 3üÿ\17\ 4üÿu    üÿ\88     üÿ\12     üÿû\büÿ\89\büÿ<\ 6üÿ©\ 4üÿd\ 5üÿ\8c\ 5üÿ\91\ 5üÿf\ 4üÿ4\ 4üÿñ\ 3üÿ\0\0\0\0\0\0\0\0\0\0\0\0õ AÖ|ËFH£\80\1d\ 1´Ùã¹@\0\0\80T\18üÿ\97\11üÿ\0\0\0\0=d\94øIÄÑB\8e¨\85½ØÆ[Þ]Îè
+Hä7D¨×ëõñ\94÷1X\8d9ïý\9d\ 3A¿\94xÆôþq/Ó2\98"0z6K¸'ô\f·ÔT6\12H\166# åD½\85\ 5¿<w\0ªn\ 6\88\13W:úN\98óÁ/:\95\8a)\85\r\1f~ÿ\ 4²K\86j1¢\99jH¨\80\10Ñ\92oI\95M¾~\ 3t\888+
+F\92N\9aSÕÕ\11\87â\0\ 6)Eù\95\15\99M|H\82|&"g}3\a\12½Â;.­Õ\11\87Ý\0\ 6)Eùã\9c5«³\99\18®È\9d\95Ó°rá\9b9«V£Ä5Ú5³zøê\9e\8b6£½\84Y3\ 5è\9a@¸øÒ~Î_÷¦Í3KV*É\93E\90¿$sä<c"'¿ÔN\92@éB\80}R{\1d\0ɽu\19âø\99\bXO¤¾U%©Æ×z\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1c\0\0\0\902à243Ý3\ f4è8¦>í>ï?\0\0\0\10\0\0<\0\0\0U0#1>3\184\ 47(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7\947\987\0\0\0\0\0\0\0\0\14\0\0\15P\0e\0i\0M\0a\0i\0n\0\0\0\0ëTÆ\ fF\8dz\ eDOÓ*5¡>\ 6\ e\0ø\94\ e\0\12VZL\ 1\ 3\v¸\ 1Á\ 2\0\0@\ 2\0\0´\19üÿ\0\0\0\0à\ f\0\0\1c\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0W\ 2\0\0@\ 2\0\0`\ 2\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0@\v\0\0 \ 4\0\0@\v\0\0 \ 4\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\02\0\0\0à\ f\0\0@\0\0\0à\ f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\03ÀÃU\8bì\83ì\18W\8b}\b\8b\a\8dM\bQWÿP0\8bE\bYYë&f\83ù\ 4u\17\83À\bhH'üÿPè\86\0\0\0Y\84À\8bE\bYu\e\ f·H\ 2\ 3Á\89E\b\ f·\bºÿÿ\0\0f;ÊuÍ3À_ÉÃ\8b@\18\85Àtô\8dMøQ\8dMðQ\8dMèQP\8bE\10Pÿ\10\83Ä\14\85À|ÜWj\0ÿUøYYëÒV\8bt$\fVÿt$\fè\16\0\0\0\8b\ 6hX'üÿVÿP$\83Ä\10^\85À|\ 23ÀÃ\8bD$\b\8b\bht'üÿPÿQ\18YYÃ\8bD$\ 4\8b\10\8bL$\b+\11u\e\8bP\ 4+Q\ 4u\13\8bP\b+Q\bu\v\8b@\f+A\fu\ 3°\ 1Ã2ÀÃÌÌÌÌÌÌÌÌÌÌÌÌU\8bì\83ÄøW\8bM\f\8b}\b\8bÇ$\ 3\84Àt\f\83ù\0t[Æ\a\0GIëì\8bÑÁé\ 6Áá\ 6+ÑÁé\ 6\83ù\0t2\ f\7f\ fïÀ\ f\7f\a\ f\7fG\b\ f\7fG\10\ f\7fG\18\ f\7f\ f\7fG(\ f\7fG0\ f\7fG8\83Ç@IuÛ\ foEø\ fw\8bÊÁé\ 23Àó«\8bÊ\83á\ 3óª_ÉÃÌÌÌÌÌÌÌÌU\8bì\83ÄøVW\8bM\10\8bu\f\8b}\b\8bÆ\ 3Á;Çv\16\8bÇ\ 3Á;Æv\ e\ f\84º\0\0\0\ f\82 \0\0\0\83ù\0\ f\84«\0\0\0\8b×\80â\ 3\84Òt       \8a\ 6\88\aIGFëå\8bÁÁè\ 6Áà\ 6+ÈÁè\ 6\83ø\0tQ\ f\7f\ fo\ 6\ f\7f\a\ foF\b\ f\7fG\b\ foF\10\ f\7fG\10\ foF\18\ f\7fG\18\ foF \ f\7f\ foF(\ f\7fG(\ foF0\ f\7fG0\ foF8\ f\7fG8\83Ç@\83Æ@Hu¹\ foEø\ fw\83ù\ 4r\ f\8b\ 6\89\a\83é\ 4\83Æ\ 4\83Ç\ 4ëì\83ù\0t\1d\8a\ 6\88\aIFGëò\ 3ñN\ 3ùO\83ù\0t        \8a\ 6\88\aINOëò_^ÉÃ\0\0\0\0\0\0\0\0\0éqY\14\94@¨È¾[?ìÈ-@\ 2q½fÈy|ñK©;\ 6k\83\r\8f\9a@\ 6PO·«-ýr@£!Êür\97~ú@\aËqÑbÍx\80D\86xÆ¢§\97¨ÞA\ 1\9fYçºk<·C½ð\9càz©\1a¦A\ 2ZWRU\0~aM£¤÷TsQ´\9eB\ 2}]Å\9cÿû\1c\143N®¦\ 5+B\ 4îrí\7fp\ 1\14H\98x¨û\18d߯B\ 6\15â;\8döÖdB¾¦(\a?±:êB\aL\es÷¢XôM\89\80VEÓ\9eÎXN\b˰Àw\ 6\ 4hH®µÃk\ 1Ô/öC\ 4\ 3òQ1kT\83F­rرkÇ×^D\ 2\ e\9fHkÕ\11\8eq\0\90'\a³^D\ 3î°\9f¡ô\ 5ÖL\8f(Y·\82ÿ\95ÆD\ 4çÎ\17ï}&ýK¢WJj³î\85\91D\ 5\86\92Â#}\94pB°a\7fåÐu\8bcD\ 6*5ü\9a\91C\9bf\1e)tR\9b£D\a\87ô[Tº.\7f\16\12r\8eàõ%D\bÒÐÿ&Þ3ÎO\9ep\82³z\906hE\ 2ßæH\1d4í\F\89\96l\7fj\17Õ©F\ 2ýfâW¬\87|K¼YemAéÊíF\ 3üñ\88\11é\ 6¸I¦\15õ \88\89F\ 5÷5G_ùÜý@\88X\ 2o\93\19B©G\ 2\89\ 6\90ûyD¢ï¸*C¯çMG\ 3¡µ%\ 37     OJ¸¯ì?\80îk5G\ 4^:}õLx2M¬>æ\1e\9ehG\ 5\90\86\14wC~sF¯®4S,ÝBHG\ 6ª\98\ 1o\1d\1fmB®>9«c?Ì(G\a´\9b\94±qK¹ÀÛØÒÚ\97­G\b\fMBE¯æòJ­\99úw\16\87BÑG   Ù\1dRuóÛMO\80·õ\14O×KøG
+\ fl-#\|\1dL\82³{\14ë\13\13ÕG\v>«Å5z·\fE\88T\15\9b/\r2¥H\ 1"\97aÃ7ï\ 5F\8c5Ç£{QíÒI\ 2
+3©\aGóÔ\11\9aI\0\90'?ÁMJ\ 2e{\8d\8dsG¶ä¤x&¨3áJ\ 3\bBÊy¡»\9aJ\84Váæj\81HNJ\ 4\ 3óµÛM!ÄA¾£¡µjBÚ\8bJ\ 5MfîP\ 3wÃB\9ei\8c\89ÞpÑÕL\ 2ü'P¨  \ e©O¤\aÊÒ\ 6ûO\1dL\ 4õ»\91\11¹ÜôD\82~\955\97\87L\ 5¬\91ö¦È1DD\85LâÁ¦\95\ f\92M\ 1\9bÝg\19,·(C\8c\80Ô¬ü\83ýøM\ 2þB5þÓÁøNe|\80H`oöpM\ 3*Ñí\94\9bA\7fD\944\9b;px9\ 3M\ 4£O¡ýü¯\9aF·»4¼ÝJÀ\96M\ 5\99\fïÓ±%@\94\ 5¿jV\ fààM\a\99@À¯9\r]@¾F\84o\bÅ\1a1M\b4*\93ã)W$O\9f±×@\9bEj\15M  ôÿLø\1eQÈA¸)Q\9fQRôDM
+d\eDâô~þA³£\8cª\7f\8d0\17M\v7
\99*\ 4âF\80ôä\ 2\7fÛÈoN\ 1\9e\0¦wn\11MF\8eø³R\ 1 "ÝN\ 5\0\05\0\0\0\0ëTÆ\ fF\8dz\ eDOÓ*5\ 1\ 1;]E\9f\8a+\ 6L\96\v§\e\97\14¹Í\ 1\ 2ó\ f\e\8a×L\84ôÂÃë      #à\ 2\ 1!¼Gß\9d\93ªO§C\7f\ f
+¥¾j\ 2\ 2\8fÂÈ4\1c¶¢E\8f.\89äkìÆ;\ 3\ 1ÕäÒËhpõO´b\98"´­\8d`\ 3\ 2ÕäÒËhpõO¸f\98"´­\8d`\ 3\ 3Éâ¹ïa\11\8aC©H/RNKt\v\ 3\ 4èrçO>þ\86@¶8\8cI<I\ 4\88\ 4\ 1¦äá+\ 5e³C\9fü£È3\ e\ 42\ 4\ 2 6h¥\98y²K£w\1c\1e1áâ\15\ 4\ 3\fJZØs.\91D\92áÜïÃ\88*h\ 4\ 4)\91iz Ú$B\86)s8Þ]Eí\ 4\ 5 ]\9d£ptÃK·ÚÒ\7fÑ_\94x\ 4\ 6A¨öÂ\17_§N\90ä[\83\96\98\ 4\a\b\10a·&\1fºE£Û\ 1ó\9dÛ'\85\ 5\ 1\fôÉQCRsD²e³Èÿ¯ùú\ 5\ 2Æ/\86LT\ e6N\8c\8fÿo1g\95\1f\ 5\ 3\95\90F\1eÈïGA\97ÛMh·'âà\ 5\ 4ú6Ùt½Ø3F¶Md$½Ò=$\ 5\ 5¶e{{Pã9A\8fäfWrÓ*G\ 5\ 6%\ 1×\86£º\96B¦/`+ë»\90\81\ 6\ 1×ÝÎ\8b\85âhA\9b?    ¯fÉ?þ\a\ 1\9b{̰\9d\18 L\98±\905óR\ 1\a\b\ 1(j^É\95ûòI®\ 1ó\81fýE$\b\ 2à%\1a\98\83\rmC\91\84ÁªS»\14:\b\ 3Ö\14\7f\97¨M¥\98.ey\1eiD   \ 1¯/k\1c½ØÑD©\1es!´ÂóÑ
+\ 1\85ÖÞ+3÷_E¨@C¢+y\1f³
+\ 2\a'×ÛÂA\9c\ 4Éý¸ºØl\v\ 1¥4ö¨ñ(VD©Õ~$¹\9bÛe\v\ 24*\93ã)W$O\9f±×@\9bEj\15\v\ 3\87¨Ì­0SJA\81¡[W\81\97\v\ 4Äø\ 1¶·C\84G\95±ô"l´\fî\f\ 1r\82\7fÐdI\80\1e{Ó·\88\86R\r\ 1\7fÖ\99ð®q6L²£Üë\ e²·Ø\ e\ 1#µïñY=\88H»qꥩf(ú\ f\ 1¦3eP&æ\0E±O\17\93\9c\ e[`\10\ 1µ\0×>\13:¾C\94P\0\12.\8b\83×\11\ 1\ e\9cõêF½:A\9aéÝ\9fm\1a\92}\11\ 2\eÌë\11ÌE\9aÜueâs¬p\11\ 3OÁ¼SOÂLC²\94\8eÒÔÌ\18`\11\ 4\ 6SQÊÎ\02@\87N\11·Uÿhf\11\ 5Ðm¬\13ÐsÔ\11°k\0ª\0½mç\12\ 1µ\12\ 6$c Ô\11\9a:\0\90'?ÁM\13\ 1\ 3\0¸\93³\9fÔ\11\9a:\0\90'?ÁM\13\ 2\ e+* 1\9a\12\91\87\15$9\13\ 3G\8eýia¡PE°\1aU\94β²²\13\ 4\12MsÀ'y+C\98k§ã£[ \ 5\13\ 5Ù\1dRuóÛMO\80·õ\14O×Kø\13\ 6¯~ý1§\80^C\8e
+?\18_\86\14\ 1¹\12\ 6´c Ô\11\9a:\0\90'?ÁM\14\ 2\16}R£ÌæõBºÛ¿=áwt+\14\ 3Ïb.-Ï\9e·C\82\19\94çüq=þ\14\ 4§´´\9fÀBÍK\85@\9bÌg\11ø>\14\ 5ªb.-Ï\9e·C\82\19\94çüq=þ\14\ 6\ eCþ½*\8f°M\99\91o\85e\94w~\14\aú.¹/à.®K\9e¶td\12^\1e÷\14\b·\12\ 6$c Ô\11\9a:\0\90'?ÁM\14        \96Â3ïLöFA­\ 44x\99p,\84\14
\12\ 6´c Ô\11\9a:\0\90'?ÁM\14\v\8bÖÆ¥\8aç&D\92x¨ðÙëM\8f\14\f\8c¬y|l^=NºoÂ`î|\17.\15\ 1\9bÝg\19,·(C\8c\80Ô¬ü\83ýø\16\ 1d\eDâô~þA³£\8cª\7f\8d0\17\16\ 2¹Üü\87yßG©§¾=ºRÕ\f\17\ 1~\94µ\ 6Sÿ}E\98¼Å«ÇwýZ\18\ 1Xf\800\9c\1e\13J\97\1epziéXÈ\19\ 1ãH\8bp\ 4ÿÎB\8dºFÎiP×­\1a\ 1ó!\ 2ý\19å%I´\ 68X»C\ f&\1a\ 2)fá\98ÊÓ³I¯\11\8aÑC\12\1a\ 3\8eQ\1cê6G\9cbl.\11\94\124\1a\ 4«7ÓüÓ±øN\95|\80H`oöp\e\ 1\13\10\92OqOlL¼øA\9b+\80\192\e\ 2béêâ\92ĤL¡\1f\1a\ 5
+A\e\ 3béêâ\92ĤL¡\1f\1a\ 5
+B\e\ 4Y -è\13â£F§C!¤)m¬´\e\ 5béêâ\92ĤL¡\1f\1a\ 5
+@\e\ 6DÌs²*æÜA\9c­½´#TYØ\e\a\99óÌQßOUN¤[á#øMEj\1c\ 1ìÜ\8e@mÏ|G¥¨´\84N=â\81\1c\ 2(\fËÌ$KÕ\11\9aZ\0\90'?ÁM\1c\ 3\ 69\86\9e\ f¤uH\97\7f[\93ÿ#\7fÆ\1c\ 4\rñ\89¿\ 5²OG\96ãz{±´¤\a\1c\ 5\99@À¯9\r]@¾F\84o\bÅ\1a1\1d\ 1>n\f~\ fÈÑG\8aÚUI&²¶³\1e\ 1&\1a\18w\9bK\8a\aQx±®:\ 2\1f\ 1þx\15\96·¶ÃD¯5kÇ\ 5Í+\1f\1f\ 222¹C¾¯Ô\11½\ f\0\80Ç<\88\81\1f\ 3+fyTäjèI¦½mä¶%\81\1f \ 1øUÏ)u¶]O\8f/¸z>ÏÐc \ 2\18Ú¾'+®ÂC¯kt\95$AÞ( \ 3\¡"ñ\vÁTM\8fH`ôðmÑ­ \ 4h°ns\ 1\8cÅG\96K\1cW½]Md!\ 1xªÖ®¿ÕÅK\8cÅùîGÏ\92\99"\ 1Î\ fh\9bk­:O¶\võ\98\99\04C#\ 1`\0\0\0\8bÙ\9f¦WNtJ\86\1cíÙêû \0\0\80ä'üÿd\1aüÿ \0\0\80\80'üÿg\1aüÿd\1aüÿ\10\0\0\80\90'üÿp'üÿ\85\r\1f~ÿ\ 4²K\86j1¢\99jH¨Ó2\98"0z6K¸'ô\f·ÔT6(¸²Ò&\b§H³ß\98<\0`$ð\0\0\0\0Í3KV*É\93E\90¿$sä<c"'¿ÔN\92@éB\80}R{\1d\0ɽu\19âø\99\bXO¤¾U%©Æ×zâÞ;oÏo.I\80¬|xm\9fÃ\97¹¹_\91â\92ßO¡?£h\ eÙôê\0\0\0\0\1c\0\0\0h2Ó2í28?<?D?H?L?T?X?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿ\9b{̰\9d\18 L\98±\905óR\ 1\aÏ*\ 6@Ô       \0ø¼     \0\12VZL\ 1\ 4\v°\ 1`\ 2\0\0`\ 2\0\0d(üÿ\0\0\0\0à
+\0\0L\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0\8c\ 5\0\0`\ 2\0\0 \ 5\0\0`\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.rdata\0\0\f\0\0\0\0\b\0\0 \0\0\0\0\b\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0@.data\0\0\0¼\ 2\0\0 \b\0\0À\ 2\0\0 \b\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0T\0\0\0à
+\0\0`\0\0\0à
+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bìV\8bu\f\8b\ 6\8dM\fQj\14VÿPL\83Ä\f\85À|}\8bM\f\8b\ 6\83Á\10Qj0VÿPL\83Ä\f\85À|g\8bM\f\8b\ 6j\0j0ÿq\10ÿPT\8bE\f\83À\10Pèå\0\0\0\8bE\fÇ\0OEMS\8bE\fÇ@\ 4\10\0\0\80\8bE\fÇ@\bL1üÿ\8bE\f\8dH\10\89H\f\8bM\f\8b\ 6\83Á\ 4QVÿP\18\8b\ 6hü.üÿVÿP$\8b\ 6h\b/üÿVÿP$\83Ä(^]ÃU\8bì\83ì\1cV\8bu\b\8dM\bQj\0j\0\8d\89\8b\ 6hL1üÿVÿP \83Ä\14\85À|*\8bE\b\8b\b\8dUüRj\ 1PVÿQ\18\83Ä\10\85À|\13j\18ÿuüh<1üÿVèh\ 4\0\0\83Ä\10^ÉÃU\8bìV\8bu\b\8b\ 6\8dM\bQj\0j\0hL1üÿVÿP \83Ä\14\85À|\eÿu\b\8b\ 6j0VÿPL\83Ä\f\85À|  ÿu\bè\ 4\0\0\0Y^]Ã\8bD$\ 4\8b\bÇA\10D.üÿ\8b\bÇ\ 1,+üÿ\8b\bÇA\ 4:.üÿ\8b\bÇA\b".üÿ\8b\bÇA$,+üÿ\8b\bÇA(,+üÿ\8b\bÇA,,+üÿ\8b\bÇA\14ó-üÿ\8b\bÇA\18§-üÿ\8b\bÇA\1cü*üÿ\8b\bÇA ,+üÿ\8b\0Ç@\fÞ*üÿ3ÀÃ\8bD$\10Ç\0\ 1\0\0\0\8bD$\14Æ\0\0\8bD$\18Ç\0¬1üÿ3ÀÃU\8bì\8bE\14\8bM Æ\0i\8bE\18Æ\0\0\8bE\1cÇ\0\1c/üÿ¸ÿ\0\0\0f\89\ 1\8bM$3À@f\89\ 13À]Ã3ÀÃU\8dl$\90\81ìÔ\ 2\0\0¸\0ß\0\0V\8buxf\89Ed\8dMx¸BM\0\0Qf\89Ef\8b\ 6VÇE`ô'J ÆEhµÆEiRÆEj9ÆEkQÆEl\13ÆEm\ 2ÆEn\11ÆEo=ÿP(YY\85À|\r\83}x\11u\a3Àé\r\ 2\0\0\8b\ 6W\8dM\Q3ÿWWh\9c1üÿVÿP \83Ä\14;Çt
\ e\0\0\80éç\ 1\0\0\8d\85\9cýÿÿP\8dEXPW\8dE`P\8bE\hÜ.üÿVÇEX¼\ 2\0\0ÿ\10\83Ä\18\85À\ f\8c¸\ 1\0\0\80½;ÿÿÿ\0\8bE|t\10\8bH\böÁ\ 1t\b\83É\ 1\89H\bë\ 4\83`\bþ\80½<ÿÿÿ\0t\10\8bH\böÁ\ 2t\b\83É\ 2\89H\bë\ 4\83`\bý\80½=ÿÿÿ\0t\10\8bH\böÁ\ 4t\b\83É\ 4\89H\bë\ 4\83`\bû\80½>ÿÿÿ\0t\10\8bH\böÁ\bt\b\83É\b\89H\bë\ 4\83`\b÷\80½?ÿÿÿ\0t\10\8bH\böÁ\10t\b\83É\10\89H\bë\ 4\83`\bï\80½@ÿÿÿ\0t\10\8bH\böÁ t\b\83É \89H\bë\ 4\83`\bß\80½Aÿÿÿ\0t\10\8bH\böÁ@t\b\83É@\89H\bë\ 4\83`\b¿\80½Bÿÿÿ\0S¿\7fÿÿÿ»\80\0\0\0t\ e\8bH\b\84Ët\a\vË\89H\bë\ 3!x\b\80½\99þÿÿ\0j\ 3^t \8bH\10\8bÑ#Öt\17\83ú\ 2u\a\83áþ\vÊë\ 6\83áý\83É\ 1\89H\10ë\ 4\83`\10ü\80½\9aþÿÿ\0t$\8bH\10\8bÑÁê\ 2#Öt\18\83ú\ 2u\b\83áû\83É\bë\ 6\83á÷\83É\ 4\89H\10ë\ 4\83`\10ó\80½\9bþÿÿ\0t$\8bH\10\8bÑÁê\ 4#Öt\18\83ú\ 2u\b\83áï\83É ë\ 6\83áß\83É\10\89H\10ë\ 4\83`\10Ï\80½\9cþÿÿ\0t"\8bH\10\8bÑÁê\ 6#Öt\16\83ú\ 2u\a\83á¿\vËë\ 5\83É@\89H\10ë\a\81`\10?ÿÿÿ[3À_^\83ÅpÉÃ\8bD$\10\8b\0\83Éÿ\89\b\89H\b\81H\bÿ\0\0\0\89H\ 4\89H\f¹ªªªª\89H\10\89H\14\8b\b\83áý\83É\ 1\89\b\8bH\10\81áUÿÿÿPÿt$\b\83ÉU\89H\10è?ýÿÿYYÃU\8bì\8bE\14;\ 5$/üÿ\8bE\1cu\11Ç\0$/üÿ\8bE Ç\04/üÿë  \83 \0\8b\83 \03À]Ã\8bD$\10\83`\ 4\0Ç\0\0Âë\v\8bD$\14Æ\0\ 13ÀÃ\8bD$\10\83 \03ÀÃ\8bD$\10Ç\0\b\0\0\0\8bD$\14Ç\0t0üÿ3ÀÃ\8bT$\f\8bD$\ 4\8b\bV\8bt$\14V\83Â\18Rj\ 4PÿQ4\83Ä\10\85À|\11W\8b>\8bt$\10\83Ç\b¥¥¥¥3À_^ÃU\8bìQV\8bu\b\8dEüPÿu\14ÿu\fVè´ÿÿÿ\83Ä\10\85À|\17ÿu\14\83\18ÿu\10\8b\ 6ÿuüÿPP\83Ä\f3À^ÉÃ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0S\0e\0t\0u\0p\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0\80\9c1üÿÖ)üÿ \0\0\80\8c1üÿ-*üÿ\ 1\0\a\ f\bð\0\041üÿ\14/üÿr\ 2ì\10R(\0\12\0\ 2\0\0\0\0\0\0\17\0(!\17\0p"\17\0\11#\17\0\ 2\0\ 5\ 2 ¢\ 4\ 2\ 3\0\ 5\ 2CH\ 4\ 2\0ÿ\17\0\0ÿ\17\0\0ÿ\17\0\0ÿ\17\0ð\1c\17\ 1\11\1d\17\ 1\11\1e\17\ 1A\1f\17\ 10\1c'\ 1     \1d'\ 1£\1e'\ 1\99\1f'\ 1ð\1c7\ 1\11\1d7\ 1\11\1e7\ 1A\1f7\ 1\10\1cG\ 1\ 1\1dG\ 1\13\1eG\ 1\99\1fG\ 1ð\1cW\ 1\11\1dW\ 1\11\1eW\ 1A\1fW\ 1ð\1cg\ 1\11\1dg\ 1\11\1eg\ 1A\1fg\ 1ð\1cw\ 1\11\1dw\ 1\11\1ew\ 1A\1fw\ 1 \1c\87\ 1\18\1d\87\ 1¡\1e\87\ 1\ 1\1f\87\ 1ð\1c\97\ 1\11\1d\97\ 1\11\1e\97\ 1A\1f\97\ 1ð\1c§\ 1\11\1d§\ 1\11\1e§\ 1A\1f§\ 1ð\1c·\ 1\11\1d·\ 1\11\1e·\ 1A\1f·\ 1-\1c×\ 1\9a\1d×\ 1\17\1e×\ 1@\1f×\ 1ð\1cç\ 1\11\1dç\ 1\11\1eç\ 1A\1fç\ 1\1f\1c\17\ 2\10\1d\17\ 2!\1e\17\ 2\ 1\1f\17\ 2\ 3\0\ 5\ 2\ 3@\ 4\ 2\ 3\0\ 5\ 2\ 3@\ 4\ 2\r\0\ 5\ 2\r\0\ 5\ 2\ 4\ 2\80\0\0\0À\aG\ 1\0°C\ 1\16\0\0\0\0\0ÿ÷ïÿ\ 4\0\0\0\7f(ýâ\f\0\0\0\0\0\0\18\18\0\0\0\0\0\0\0,\0\0\0À \0\00\0\0\0ÿÿýÿ4\0\0\0}ÿýÿ8\0\0\0F\0\0\0ÿÿÿ\0ÿ\0\0\0\ 1\0\0\0\0\0\0\0\ 2\0\0\0\0\0\ 1\0\ 2\0\0\0\ 1\0\89\0\ 2\0\0\0\ 2\0ú\0\ 2\0\0\0\ 3\0w\0\ 2\0\0\0\ 4\0ÿ\0\ 2\0\0\0\ 5\0\0\0\ 2\0\0\0\ 6\0ð\0\ 2\0\0\0\a\0\11\0\ 2\0\0\0\b\0\0\0\ 2\0\0\0 \0¥\0\ 2\0\0\0
+\0!\0\ 2\0\0\0\v\0\ 4\0\ 2\0\0\0\f\0\r\0ÿ\0\0\0\0\0\0\0´0üÿÄ0üÿD#M\8d\85AÕB¥{iYN\ 5ª\8d?\eæ¨uv#C\87µi¤\9cÐ;UÍ3KV*É\93E\90¿$sä<c"'¿ÔN\92@éB\80}R{\1d\0ɽu\19âø\99\bXO¤¾U%©Æ×z=d\94øIÄÑB\8e¨\85½ØÆ[ÞÆ\90Ü<û\13uJ\9eyYéÝx¹ú\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0L\0\0\0Ä2á2ì2\153A3c3\993¡3ª3³3¼3Å3Î3×3à3é3ò3û3\19474Ä4ñ4\1f7*737x7$8(80848@8D8X:\:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿMfîP\ 3wÃB\9ei\8c\89ÞpÑÕ\ 5j\ 6@4\ 1\0ø\1c\ 1\0\12VZL\ 1\ 3\v°\ 1@\ 2\0\0@\ 2\0\0<2üÿ\0\0\0\0\80\ 2\0\0\f\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0\ 3\0\0\0@\ 2\0\0 \0\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0\1c\0\0\0`\ 2\0\0 \0\0\0`\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0\f\0\0\0\80\ 2\0\0 \0\0\0\80\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\03ÀÃ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\80 3üÿ\0\0\0\0âÞ;oÏo.I\80¬|xm\9fÃ\97\0\0\0\0\0\0\0\0\f\0\0\0d2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿh°ns\ 1\8cÅG\96K\1cW½]Mdóü\ 6@\14\ 2\0øü\ 1\0\12VZL\ 1\ 3\v°\ 1@\ 2\0\0@\ 2\0\0t3üÿ\0\0\0\0`\ 3\0\0\10\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0á\0\0\0@\ 2\0\0\0\ 1\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0 \0\0\0@\ 3\0\0 \0\0\0@\ 3\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0\12\0\0\0`\ 3\0\0 \0\0\0`\ 3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\8bD$\b\8b\bh05üÿPÿQ\18YYÃU\8bìQ\8bE\b\8b\bSV3ÛSSSh\ 6\10\ 5\0j\ 1PÿQX\8b\83Ä\18\89]ü;Ãty~\1a\83ø\ 2~\ e\83ø\ 3u\10ÇEü\ 4\0\0\0ë\aÇEü\0\0\ 4\0\8bM\10W\8b}\14\8bñ\ 3M\18\8bÇ\13E\1c\8b×;øw\1fr\ 4;ñs\173ÛÇ\ 6ZZZZ\ 3\13Ó;Ðrñw\ 4;ñrë3Û\8bU\10\8b÷;ø_w\1dr\ 4;Ñs\17\81:ZZZZu\15\ 3\13ó;ðrïw\ 4;Ñré3À^[ÉÃ\8bE$SSS\89\10\89p\ 4\8bE\b\8b\bh\ 3\10\ 5\0h\ 2\0\0\90PÿQX\83Ä\18¸\a\0\0\80ëÔ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>4üÿ\10\0\0\80<5üÿ,5üÿ<Bì¶Ò!\rI\85ÆÝXdê¦t\0\0\0\0\10\0\0\0G2@3H3L3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿéqY\14\94@¨È¾[?ìÈ-\v±\ 6@L \0ø4 \0\12VZL\ 1\ 3\v¸\ 1@\ 2\0\0@\ 2\0\0\8c5üÿ\0\0\0\0@!\0\0d\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0Á\r\0\0@\ 2\0\0à\r\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0\10\11\0\0 \10\0\0 \11\0\0 \10\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0v\0\0\0@!\0\0\80\0\0\0@!\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Vfº\80\0°qî\8bt$\f\8b\ 6h,DüÿVÿP\18\8b\ 6h\1cDüÿVÿP$\83Ä\10\8bðè´\0\0\0\8bÆ^ÃU\8bì\83ì\10V\8bu\b\8b\ 6W\8dMøQVÿP(\8b\ 6\8dMüQ3ÿWWh¼TüÿVÿP \83Ä\1c=\ e\0\0\80u\ 43Àëh;Ç|dW\8dEðP\8bEüV\89\89\89}\bÿ\10\83Ä\f;Ç|\ 6\83\11t×=\ 5\0\0\80u$\8b\ 6\8dM\bQÿuðVÿPL\83Ä\f;Ç|(ÿu\b\8dEðP\8bEüVÿ\10\83Ä\f;Ç|\14ÿuðÿu\bh\fUüÿVè\14\v\0\0\83Ä\10_^ÉÃÌÌÌÌÌÌÌÌÌÌÌÌÌÌS¸\ 1\0\0\0\ f¢\ fºâ\1as\14\ f À\83È\ 2\ f\ f à\r\0\ 6\0\0\ f"à[ÃU\8bìQQj\0j\0\8dEÿP\8dEøPèþ
+\0\0\83Ä\10f\83\ 6u\10\80}ÿ        t\ 6\80}ÿ\ru\ 4°\ 1ÉÃ2ÀÉÃU\8bìV\8bu\b\8b\ 6\8dM\bQj\0j\0hüTüÿVÿP \8bE\bVÿ\10\83Ä\18\85Àu\eè ÿÿÿ\84Àt\rÿu\fVèÈ  \0\0YYë\ 5¸\0\ 1\0\0^]ÃU\8bì\83ì\14SVW3Û\8dEìPj\ 2è%\v\0\0\8a\81\0ÿÿÿYCY\88Eÿ3ö\8b|µì\85ÿx\1f\8bÊÁá\ 3\8bÇÓè\8aÈ\80áð\80ù t\1f<@t\14B\83ú\ 4rãF\83þ\ 4\ f¶Eÿ;Ør®2À_^[Éð\ 1ë÷U\8bìQQ\80}\10\ 3t\a¸\ 3\0\0\80ÉÃè\81ÿÿÿ\84ÀtESVW¾ \ 1\0\0VèÊ
+\0\0\80}\14\0Y\8bø\8bÚt\ 5\83ç¿ë\ 3\83Ï@\8dEøPè\1f\0\0\0SWVè²
+\0\0ÿuüÿuøj\0è6\0\0\0\83Ä\1c_^[3ÀÉÃVèª
+\0\0¾ÿ\ 2\0\0Vè~
+\0\0\8bL$\f\89\ 1R%ÿóÿÿPV\89Q\ 4èt
+\0\0\83Ä\10\80|$\ 4\0V¾ÿ\ 2\0\0t\ eVèP
+\0\0Y\r\0\f\0\0ë\b\8bD$\f\8bT$\10RPVèD
+\0\0\83Ä\f^ék
+\0\0U\8bìQQ\8dEøVPè\91ÿÿÿ\8bu\10\8bE\1c#u$\8bM\f#M \99\vòV\8bu\b\vÈQVè\r
+\0\0\8bE\14\8bM\18\83Àÿ\83Ñÿ÷Ð#E ÷Ñ#M$\r\0\b\0\0QPFVèé    \0\0ÿuüÿuøj\ 1èmÿÿÿ\83Ä(^ÉÃU\8bìj ÿu\fÿu\bè\82
+\0\0\83Ä\f\vÂt&j j ÿu\fÿu\bèl
+\0\0j\0PèD
+\0\0\83Ä\14RPè
+
+\0\0\83Ä\f]Ãj\0ÿu\bè+
+\0\0YY]ÃU\8bìQQ\8bE\14V\8bu\10\f+\86`Düÿ\8b\8edDüÿ3Ò÷ñ\85Òt
\a\0\0\80é¡\0\0\0S\ f¶ÀWÁà\ 3Pj\0j\ 1踠     \0\0\8bø\8bE\18\83Ä\f\83Çÿ\8bÚ\83Óÿ÷×÷Ó;\86lDüÿs8+\86`Düÿ\8b\8edDüÿ3Ò÷ñ\85Òt\a¸\a\0\0\80ëV\ f¶ÀÁà\ 3Pj\0j\ 1èq  \0\0\83Ä\f\83Àÿ\83Òÿ#ø#Úÿ¶\Düÿèá\b\0\0\89\8bÏ#}\b÷Ñ#Á\8b\8bÓ#]\f÷Ò#Ê\vËQ\vÇPÿ¶\DüÿèÄ\b\0\0\83Ä\103À_[^ÉÃU\8bì\83ì\fSV\8dEôWPè\rþÿÿ\8bu\b\8bE\f\ 1\ 1\ 1\ 13ÿY\89}ü9\ 5`Düÿs\r¹`Düÿ\83Á\fG9\ 1\8bßkÛ\f;\83`Düÿs\19ÿu\10P\8dGÿPVVèÚþÿÿ\83Ä\14\89\85À|J\83ÿ\vs#\8d\9b\Düÿ\8bE\10;C\10r\15VVÿ3è?\b\0\0\83Ä\fG\83Ã\f\83ÿ\v\8bÇkÀ\f\8b\80`Düÿ9E\10v\12ÿu\10PWVVè\8cþÿÿ\83Ä\14\89Eüÿuøÿuôj\ 1è\95ýÿÿ\8b\83Ä\f_^[ÉÃU\8bìSV\8bu\bW\8b}\f2ÛWVè\ eþÿÿ+ð\eú\8bÆYþÃ\vÇYuëj\ 2ÿu\fÿu\bè5\b\0\0RPèìýÿÿ\83Ä\14\8bð+u\b\8bú\e}\fþËWVèÖýÿÿ+ð\eú\8bÆYþË\vÇYt\ 4\84Ûuç_^\8aÃ[]ÃVhÿ\ 2\0\0è|\a\0\0Y\8bÈ\8bD$\b\8bò\99\81áÿ\0\0\03ö;Èu\ 4;òt\ 42À^ð\ 1^ÃU\8bìQQj\0j\0\8dEÿP\8dEøPè\84\ 6\0\0\83Ä\10f\83\ ft\rf\83\ 6u!\80}ÿ\ fu\eV¾ \ 1\0\0Vè!\a\0\0R\83È\ 1PVè"\a\0\0\83Ä\10^3ÀÉÃVj:¾\ f\ 2\0\0è\ 1\a\0\0\83à\b3ÒY\83ø\bu\e\85Òu\17\0\0\0èè\ 6\0\0%ÿ\0\0\0Y\8d´\0ÿ\ 1\0\0\8bÆ^ÃU\8bìQQVWès\ 5\0\0\8dEøP3öè1üÿÿ¡\DüÿYë\1aj\0j\0Pèº\ 6\0\0\83Ä\fF\ f·ÆkÀ\f\8b\80\Düÿ\85Àuâè\87ÿÿÿ\8bø¸\0\ 2\0\0\8bð;ør\12j\0j\0\8a\ 6\0\0\83Ä\fF;÷vîÿuüÿuøj\ 1è\ 6üÿÿ\83Ä\fè\aÿÿÿ_3À^ÉÃU\8bìQQSVWè@ÿÿÿ\89Eø¸\0\ 2\0\0\8bø\89Eü9Eøvk\8b]\1c\8dG\ 1Pè0\ 6\0\0Y\8bÈ\81á\0\b\0\0\vÎtC\8bM\14\8bu\18\83Áÿ\83Öÿ#U ÷Ñ÷Ö#u #Ë#Ã;Áu%;Öu!Wèù\ 5\0\0\8bu\f\8b}\10#U #} Y\8bÈ#Ë#ó;Îu\ 4;×t\17\8b}üGG\89}ü;}ør\98¸\ e\0\0\80_^[ÉÃ\8bM(%ÿ\0\0\0\89\ 1\8bE$\8b\89\b3ÀëåU\8bì\83ì$SVW\8dEÜP¾\0ðÿÿh\0\0\0\80\89uìÇEð\ f\0\0\0èk\ 5\0\0¸\b\0\0\80YY9EÜr)\8dMÜQPèU\ 5\0\0\ f¶EÜPj\0j\ 1èß\ 5\0\0\83Ä\14\83Àÿ\83Òÿ#Æ\89\89\8b\8bUð÷Ñ÷Ò\8bÁ#E\10\8bò#u\14\vÆ\ f\85\ 3\ 2\0\0\8b]\18\8bu\1c#Ë#Ö\vÊ\ f\85ñ\ 1\0\0\8b\85Ò\ f\8cæ\ 1\0\0\83ú\ 1~\12\83ú\ 3\ f\8eØ\ 1\0\0\83ú\ 6\ f\8fÏ\ 1\0\0\8bM\10\8bE\14\ 3Ë\13Æ¿\0\0\10\0\85Àw\er\ 4;Ïw\15\8bE\10\ 3ØSPRè2üÿÿ\83Ä\fé¦\ 1\0\0\8dEüP\8dEøPÿuðÿuìVSÿu\14ÿu\10ÿu\bè_þÿÿ\83Ä$\85À|Q\8b} 9}üu\a3Àér\ 1\0\0\17ýÿÿY\84Àt\e\8buø3ÿWWVè\98\ 4\0\0WWFVè\8f\ 4\0\0\83Ä\18ëÓÿuðÿuìWVSÿu\14ÿu\10ÿuøè8úÿÿ\83Ä ë·èOýÿÿ\89Eø¸\0\ 2\0\0\89Eü9Eøv&\8bEü@PèC\ 4\0\0Y3É%\0\b\0\0\vÂt\10\83\ 2\8bEü;EørÜë\ 2\8bEø9Eüv
\ 1\0\0\80éá\0\0\09}\10u\ f9M\14u
+\ 3ß\89M\10\89M\14\13ñVS\89uøè+úÿÿYY;Øu\1d;òu\19ÿuðÿuìÿu VSÿu\14ÿu\10ÿuüéfÿÿÿVSèÞûÿÿYY\84ÀtJj\ 2VSè4\ 4\0\0RPèëùÿÿÿuð\8búÿuì\8bðÿu WVÿu\14ÿu\10ÿuüèiùÿÿ\8b\83Ä4+ó\eø\83\0\83\ 2\89]\10\89E\14\8bÞ\89}øÿuøSè¨ùÿÿÿuð\8búÿuì\8bðÿu WVÿu\14ÿu\10ÿuüè&ùÿÿ\83Ä(\ 1u\10\11}\14\19\83\ 2\8bÃ\vEøuÁé\8cþÿÿ¸\ 2\0\0\80_^[ÉÃj\17è&\ 3\0\0Ç\ 4$\98\ 1\0\0è\1a\ 3\0\0Áè\bY\83à\1fÃSVWj\17è\b\ 3\0\0¿ \ 1\0\0W\8bð\8bÚèù\ 2\0\0YY÷Æ\0\0\ 2\0uE÷Ã\0\0\ 4\0t=¾\0\0\ 1\0\85Æt\ 43Àë5©\0\0\10\0t\a¸\ f\0\0\80ë'R\vÆPWèÎ\ 2\0\0Wè¼\ 2\0\0#Æ+Æ\83Ä\10÷Ø\eÀ%\ 3\0\0\80ë\ 5¸\ 3\0\0\80_^[ÃU\8bì\83ì\fSVW3ÿW\8dEÿPWWèÊ\ 1\0\0h\98\ 1\0\0è\80\ 2\0\0\8aÚ\89Eô¡üDüÿÁê\b\83Ä\14\80ã?\80â\1f\v\ 5\0EüÿtF¾üDüÿ3À\ f¶}ÿ9>u\1af\ f¶óf9°\0Eüÿu\rf\ f¶òf9°\ 2Eüÿt%\ f·\80\ 4Eüÿ\8dL\ 1\ 1\8bÁÁà\ 4\8d°üDüÿ\8b>\v~\ 4uÁj@X_^[ÉÃ\8bÁÁà\ 4\ f·°\ 4Eüÿ3Ò\89\89Uô;òvà\8d¸\12Eüÿ\8bE\f\ f·\1f;Ãt
+B\83Ç\10;ÖrñëÆ\ 3ÑÁâ\ 4\80}\10\0\ f·\8a\10Eüÿu\10Áà\b\vÈ3ÀPQh\99\ 1\0\0ë\13\r\0\ 1\0\0Áà\b\vÈ3ÀPQh\94\ 1\0\0è²\ 1\0\0\83Ä\f3Àë\88U\8bìVWÿu\b3ÿècþÿÿÿu\b\8bðètþÿÿYY=\ f\0\0\80u\ 5j\10\1a9u\ft\15Wÿu\fÿu\bèÆþÿÿ\83Ä\f;Çt\ 2\8bø\8bÇ_^]Ã`¹ÿ\ 2\0\0\ f2%ÿ÷ÿÿ\ f0¹à\ 2\0\0\ f2\83àý\ f0¹à\ 2\0\0\ f2\83àþ\ f0\ f\b\8bT$\f\8bD$\ 4\8b\bV\8bt$\14V\83Â\18Rj\ 4PÿQ4\83Ä\10\85À|\11W\8b>\8bt$\10\83Ç\b¥¥¥¥3À_^ÃU\8bìQV\8bu\b\8dEüPÿu\14ÿu\fVè´ÿÿÿ\83Ä\10\85À|\17ÿu\14\83\18ÿu\10\8b\ 6ÿuüÿPP\83Ä\f3À^ÉÃU\8bì\83ì\10SVW\8dEðPj\ 1è\8c\0\0\0\8bE\10\8bUðYY³\ f\85Àt\ 6\8aÊ"Ë\88\b\8bE\14\85Àt
+\8bÊÁé\f\80á\ 3\88\b\8bu\f\8b}\b\85öu\ 4\85ÿtG\8bÊÁé\b\85öt\1e\8bÂÁè\ 4\88\ 6\80ù\ 6t\ 4:Ëu\f\8bÚÁë\f\80ãð
\88\1e\85ÿt\1af\ f¶Áf\89\a\80ù\ fu\ eÁê\14\81âÿ\0\0\0\ 3Ðf\89\17_^[ÉÃÌÌÌÌÌôÃ\ f Ã\ f\bÃU\8bì`\8bE\b\ f¢\83}\f\0t\ e\8b}\f\89\a\89_\ 4\89O\b\89W\faÉÃU\8bìQ\8bM\b\ f2YÉÃU\8bì`\8bM\b\8bE\f\8bU\10\ f0aÉÃ\ f1ÃP\ f À\ fÈ$`<`t\r\ f      \ f À\r\0\0\0`\ f"ÀXÃP\ f \ f À%ÿÿÿ\9f\ f"ÀXÃ\9cXÃúÃûÃU\8bì`\8bE\b\8bM\f\ f¢\8b}\10\89\a\89_\ 4\89O\b\89W\faÉÃÌÌÌÌÌÌÌÌU\8bìQ\8bE\b\8bU\f\8bM\10\83á?\ f¥ÂÓà\83ù r\ 4\8bÐ3ÀYÉÃÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ3À\8bÐ\8bL$\bã\b\ f½É\ f«Êë\f\8bL$\ 4ã\ 6\ f½É\ f«ÈÃÌU\8bìQ\8bE\b\8bU\f\8bM\10\83á?\ f­ÐÓê\83ù r\ 4\8bÂ3ÒYÉÃ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0\80¬Tüÿl6üÿ\0\0\0\0\10\0\0\0\9cTüÿìDüÿ\10\0\0\0\8cTüÿXDüÿ\10\0\0\80\1cUüÿPDüÿt7üÿ\0\0\0\0!8üÿP\ 2\0\0\0\0\0\0\0\0\ 1\0X\ 2\0\0\0\0\b\0\0@\0\0Y\ 2\0\0\0\0
+\0\0@\0\0h\ 2\0\0\0\0\f\0\0\10\0\0i\ 2\0\0\0\80\f\0\0\10\0\0j\ 2\0\0\0\0\r\0\0\10\0\0k\ 2\0\0\0\80\r\0\0\10\0\0l\ 2\0\0\0\0\ e\0\0\10\0\0m\ 2\0\0\0\80\ e\0\0\10\0\0n\ 2\0\0\0\0\ f\0\0\10\0\0o\ 2\0\0\0\80\ f\0\0\10\0\0\0\0\0\0\0\0\10\0\0\0\0\0c=üÿ=<üÿ\0\0\0\0\0\0\0\0Ð\ 6\0\0&\0\r\0\ 4\0\0\0\0\0\0\0\0\0\0\0&\0\r\0\bR\0\0\0\0\0\0\ 1\0\0\0#\0\f\0DH\0\0\0\0\0\0\ 2\0\0\0!\0
+\0°6\0\0\0\0\0\0\ 3\0\0\0\10\0\ 6\0\88\13\0\0\0\0\0\0Ñ\ 6\0\0&\0\12\0\ 6\0\0\0\0\0\0\0\0\0\0\0&\0\12\0\bR\0\0\0\0\0\0\ 1\0\0\0%\0\10\0DH\0\0\0\0\0\0\ 2\0\0\0#\0\ e\0t@\0\0\0\0\0\0\ 3\0\0\0!\0\f\0°6\0\0\0\0\0\0\ 4\0\0\0\1f\0
+\0ì,\0\0\0\0\0\0\ 5\0\0\0\10\0\ 6\0X\e\0\0\0\0\0\0Ñ\ 6\0\0&\0\11\0\ 5\0\0\0\0\0\0\0\0\0\0\0&\0\11\0\bR\0\0\0\0\0\0\ 1\0\0\0$\0\ e\0hB\0\0\0\0\0\0\ 2\0\0\0"\0\f\0¤8\0\0\0\0\0\0\ 3\0\0\0 \0
+\0à.\0\0\0\0\0\0\ 4\0\0\0\10\0\ 6\0X\e\0\0\0\0\0\0Ñ\ 6\0\0&\0\10\0\ 5\0\0\0\0\0\0\0\0\0\0\0&\0\10\0\bR\0\0\0\0\0\0\ 1\0\0\0%\0\ e\0PF\0\0\0\0\0\0\ 2\0\0\0#\0\f\0\8c<\0\0\0\0\0\0\ 3\0\0\0!\0
+\0Ô0\0\0\0\0\0\0\ 4\0\0\0\10\0\ 6\0X\e\0\0\0\0\0\0Ñ\ 6\0\0&\0\ f\0\ 5\0\0\0\0\0\0\0\0\0\0\0&\0\ f\0\bR\0\0\0\0\0\0\ 1\0\0\0%\0\ e\0,L\0\0\0\0\0\0\ 2\0\0\0#\0\f\0t@\0\0\0\0\0\0\ 3\0\0\0!\0
+\0È2\0\0\0\0\0\0\ 4\0\0\0\10\0\ 6\0X\e\0\0\0\0\0\0Ñ\ 6\0\0\16\0\r\0\ 6\0\0\0\0\0\0\0\0\0\0\0\16\0\r\0\10'\0\0\0\0\0\0\ 1\0\0\0\15\0\v\0(#\0\0\0\0\0\0\ 2\0\0\0\14\0
+\04!\0\0\0\0\0\0\ 3\0\0\0\13\0        \04!\0\0\0\0\0\0\ 4\0\0\0\12\0\b\0@\1f\0\0\0\0\0\0\ 5\0\0\0\10\0\ 6\0X\e\0\0\0\0\0\0Ñ\ 6\0\0\f\0
+\0\ 4\0\0\0\0\0\0\0\0\0\0\0\f\0
+\0\88\13\0\0\0\0\0\0\ 1\0\0\0\v\0        \0\88\13\0\0\0\0\0\0\ 2\0\0\0
+\0\b\0\94\11\0\0\0\0\0\0\ 3\0\0\0        \0\ 6\0 \ f\0\0\0\0\0\0Ò\ 6\0\0&\0\12\0\ 6\0\0\0\0\0\0\0\0\0\0\0&\0\12\0\bR\0\0\0\0\0\0\ 1\0\0\0%\0\10\08J\0\0\0\0\0\0\ 2\0\0\0#\0\ e\0t@\0\0\0\0\0\0\ 3\0\0\0!\0\f\0¤8\0\0\0\0\0\0\ 4\0\0\0\1d\0\b\0\ 4)\0\0\0\0\0\0\ 5\0\0\0\17\0\ 6\0@\1f\0\0\0\0\0\0Ò\ 6\0\0&\0\11\0\ 5\0\0\0\0\0\0\0\0\0\0\0&\0\11\0\bR\0\0\0\0\0\0\ 1\0\0\0$\0\ e\0hB\0\0\0\0\0\0\ 2\0\0\0"\0\f\0\98:\0\0\0\0\0\0\ 3\0\0\0\1e\0\b\0\ 4)\0\0\0\0\0\0\ 4\0\0\0\17\0\ 6\0@\1f\0\0\0\0\0\0Ò\ 6\0\0&\0\10\0\ 5\0\0\0\0\0\0\0\0\0\0\0&\0\10\0\bR\0\0\0\0\0\0\ 1\0\0\0%\0\ e\0PF\0\0\0\0\0\0\ 2\0\0\0#\0\f\0\80>\0\0\0\0\0\0\ 3\0\0\0\1f\0\b\0ø*\0\0\0\0\0\0\ 4\0\0\0\17\0\ 6\0@\1f\0\0\0\0\0\0Ò\ 6\0\0\e\0\r\0\a\0\0\0\0\0\0\0\0\0\0\0\e\0\r\0\10'\0\0\0\0\0\0\ 1\0\0\0\1a\0\f\0\1c%\0\0\0\0\0\0\ 2\0\0\0\19\0\v\0(#\0\0\0\0\0\0\ 3\0\0\0\18\0
+\04!\0\0\0\0\0\0\ 4\0\0\0\17\0        \0@\1f\0\0\0\0\0\0\ 5\0\0\0\17\0\b\0@\1f\0\0\0\0\0\0\ 6\0\0\0\17\0\ 6\0X\e\0\0\0\0\0\0Ò\ 6\0\0\e\0\f\0\ 6\0\0\0\0\0\0\0\0\0\0\0\e\0\f\0\10'\0\0\0\0\0\0\ 1\0\0\0\1a\0\v\0\1c%\0\0\0\0\0\0\ 2\0\0\0\19\0
+\0(#\0\0\0\0\0\0\ 3\0\0\0\18\0        \04!\0\0\0\0\0\0\ 4\0\0\0\17\0\b\0@\1f\0\0\0\0\0\0\ 5\0\0\0\17\0\ 6\0X\e\0\0\0\0\0\0Ò\ 6\0\0\10\0
+\0\ 4\0\0\0\0\0\0\0\0\0\0\0\10\0
+\0\88\13\0\0\0\0\0\0\ 1\0\0\0\ f\0        \0\88\13\0\0\0\0\0\0\ 2\0\0\0\ e\0\b\0\94\11\0\0\0\0\0\0\ 3\0\0\0\v\0\ 6\0 \ f\0\0\0\0\0\0Ò\ 6\0\0&\0\f\0\ 3\0\0\0\0\0\0\0\0\0\0\0&\0\f\0xi\0\0\0\0\0\0\ 1\0\0\0#\0 \0,L\0\0\0\0\0\0\ 2\0\0\0\19\0\ 6\0à.\0\0\0\0\0\0Ö\ 6\0\0\1a\0\ e\0\b\0\0\0\0\0\0\0\0\0\0\0\1a\0\ e\0\10'\0\0\0\0\0\0\ 1\0\0\0\1a\0\r\0ä%\0\0\0\0\0\0\ 2\0\0\0\19\0\f\0¸$\0\0\0\0\0\0\ 3\0\0\0\17\0\v\0\8c#\0\0\0\0\0\0\ 4\0\0\0\16\0
+\0`"\0\0\0\0\0\0\ 5\0\0\0\15\0        \0Р\0\0\0\0\0\0\ 6\0\0\0\14\0\b\0¤\1f\0\0\0\0\0\0\a\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0\ f\0\v\0\ 5\0\0\0\0\0\0\0\0\0\0\0\ f\0\v\0\88\13\0\0\0\0\0\0\ 1\0\0\0\ e\0
+\0ø\11\0\0\0\0\0\0\ 2\0\0\0\f\0        \0h\10\0\0\0\0\0\0\ 3\0\0\0\v\0\b\0Ø\ e\0\0\0\0\0\0\ 4\0\0\0\a\0\ 6\0¸\v\0\0\0\0\0\0Ö\ 6\0\0(\0\14\0\b\0\0\0\0\0\0\0\0\0\0\0(\0\14\0\bR\0\0\0\0\0\0\ 1\0\0\0%\0\12\08J\0\0\0\0\0\0\ 2\0\0\0"\0\10\0hB\0\0\0\0\0\0\ 3\0\0\0\1f\0\ e\0\98:\0\0\0\0\0\0\ 4\0\0\0\1c\0\f\0¼4\0\0\0\0\0\0\ 5\0\0\0\19\0
+\0ì,\0\0\0\0\0\0\ 6\0\0\0\16\0\b\0\1c%\0\0\0\0\0\0\a\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0'\0\14\0\b\0\0\0\0\0\0\0\0\0\0\0'\0\14\0\bR\0\0\0\0\0\0\ 1\0\0\0$\0\12\08J\0\0\0\0\0\0\ 2\0\0\0!\0\10\0hB\0\0\0\0\0\0\ 3\0\0\0\1e\0\ e\0\98:\0\0\0\0\0\0\ 4\0\0\0\e\0\f\0¼4\0\0\0\0\0\0\ 5\0\0\0\18\0
+\0ì,\0\0\0\0\0\0\ 6\0\0\0\15\0\b\0\1c%\0\0\0\0\0\0\a\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0&\0\14\0\b\0\0\0\0\0\0\0\0\0\0\0&\0\14\0\bR\0\0\0\0\0\0\ 1\0\0\0$\0\12\08J\0\0\0\0\0\0\ 2\0\0\0!\0\10\0hB\0\0\0\0\0\0\ 3\0\0\0\1e\0\ e\0\98:\0\0\0\0\0\0\ 4\0\0\0\e\0\f\0¼4\0\0\0\0\0\0\ 5\0\0\0\18\0
+\0ì,\0\0\0\0\0\0\ 6\0\0\0\15\0\b\0\1c%\0\0\0\0\0\0\a\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0$\0\14\0\b\0\0\0\0\0\0\0\0\0\0\0$\0\14\0\bR\0\0\0\0\0\0\ 1\0\0\0"\0\12\08J\0\0\0\0\0\0\ 2\0\0\0\1f\0\10\0hB\0\0\0\0\0\0\ 3\0\0\0\1d\0\ e\0\98:\0\0\0\0\0\0\ 4\0\0\0\1a\0\f\0¼4\0\0\0\0\0\0\ 5\0\0\0\18\0
+\0ì,\0\0\0\0\0\0\ 6\0\0\0\15\0\b\0\1c%\0\0\0\0\0\0\a\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0(\0\12\0\a\0\0\0\0\0\0\0\0\0\0\0(\0\12\0\bR\0\0\0\0\0\0\ 1\0\0\0%\0\10\08J\0\0\0\0\0\0\ 2\0\0\0!\0\ e\0t@\0\0\0\0\0\0\ 3\0\0\0\1d\0\f\0¤8\0\0\0\0\0\0\ 4\0\0\0\1a\0
+\0à.\0\0\0\0\0\0\ 5\0\0\0\16\0\b\0\10'\0\0\0\0\0\0\ 6\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0'\0\12\0\a\0\0\0\0\0\0\0\0\0\0\0'\0\12\0\bR\0\0\0\0\0\0\ 1\0\0\0$\0\10\08J\0\0\0\0\0\0\ 2\0\0\0 \0\ e\0t@\0\0\0\0\0\0\ 3\0\0\0\1d\0\f\0¤8\0\0\0\0\0\0\ 4\0\0\0\19\0
+\0à.\0\0\0\0\0\0\ 5\0\0\0\16\0\b\0\10'\0\0\0\0\0\0\ 6\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0&\0\12\0\a\0\0\0\0\0\0\0\0\0\0\0&\0\12\0\bR\0\0\0\0\0\0\ 1\0\0\0#\0\10\08J\0\0\0\0\0\0\ 2\0\0\0 \0\ e\0t@\0\0\0\0\0\0\ 3\0\0\0\1c\0\f\0¤8\0\0\0\0\0\0\ 4\0\0\0\19\0
+\0à.\0\0\0\0\0\0\ 5\0\0\0\16\0\b\0\10'\0\0\0\0\0\0\ 6\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0$\0\12\0\a\0\0\0\0\0\0\0\0\0\0\0$\0\12\0\bR\0\0\0\0\0\0\ 1\0\0\0!\0\10\08J\0\0\0\0\0\0\ 2\0\0\0\1e\0\ e\0t@\0\0\0\0\0\0\ 3\0\0\0\e\0\f\0¤8\0\0\0\0\0\0\ 4\0\0\0\18\0
+\0à.\0\0\0\0\0\0\ 5\0\0\0\15\0\b\0\10'\0\0\0\0\0\0\ 6\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0(\0\11\0\ 6\0\0\0\0\0\0\0\0\0\0\0(\0\11\0\bR\0\0\0\0\0\0\ 1\0\0\0"\0\ e\0\D\0\0\0\0\0\0\ 2\0\0\0\1e\0\f\0\98:\0\0\0\0\0\0\ 3\0\0\0\1a\0
+\0Ô0\0\0\0\0\0\0\ 4\0\0\0\16\0\b\0\10'\0\0\0\0\0\0\ 5\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0'\0\11\0\ 6\0\0\0\0\0\0\0\0\0\0\0'\0\11\0\bR\0\0\0\0\0\0\ 1\0\0\0"\0\ e\0\D\0\0\0\0\0\0\ 2\0\0\0\1e\0\f\0\98:\0\0\0\0\0\0\ 3\0\0\0\1a\0
+\0Ô0\0\0\0\0\0\0\ 4\0\0\0\16\0\b\0\10'\0\0\0\0\0\0\ 5\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0&\0\11\0\ 6\0\0\0\0\0\0\0\0\0\0\0&\0\11\0\bR\0\0\0\0\0\0\ 1\0\0\0!\0\ e\0\D\0\0\0\0\0\0\ 2\0\0\0\1d\0\f\0\98:\0\0\0\0\0\0\ 3\0\0\0\1a\0
+\0Ô0\0\0\0\0\0\0\ 4\0\0\0\16\0\b\0\10'\0\0\0\0\0\0\ 5\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0$\0\11\0\ 6\0\0\0\0\0\0\0\0\0\0\0$\0\11\0\bR\0\0\0\0\0\0\ 1\0\0\0 \0\ e\0\D\0\0\0\0\0\0\ 2\0\0\0\1c\0\f\0\98:\0\0\0\0\0\0\ 3\0\0\0\19\0
+\0Ô0\0\0\0\0\0\0\ 4\0\0\0\16\0\b\0\10'\0\0\0\0\0\0\ 5\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0(\0\10\0\ 6\0\0\0\0\0\0\0\0\0\0\0(\0\10\0\bR\0\0\0\0\0\0\ 1\0\0\0$\0\ e\0DH\0\0\0\0\0\0\ 2\0\0\0 \0\f\0\8c<\0\0\0\0\0\0\ 3\0\0\0\e\0
+\0È2\0\0\0\0\0\0\ 4\0\0\0\17\0\b\0\10'\0\0\0\0\0\0\ 5\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0'\0\10\0\ 6\0\0\0\0\0\0\0\0\0\0\0'\0\10\0\bR\0\0\0\0\0\0\ 1\0\0\0#\0\ e\0DH\0\0\0\0\0\0\ 2\0\0\0\1f\0\f\0\8c<\0\0\0\0\0\0\ 3\0\0\0\e\0
+\0È2\0\0\0\0\0\0\ 4\0\0\0\17\0\b\0\10'\0\0\0\0\0\0\ 5\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0&\0\10\0\ 6\0\0\0\0\0\0\0\0\0\0\0&\0\10\0\bR\0\0\0\0\0\0\ 1\0\0\0"\0\ e\0DH\0\0\0\0\0\0\ 2\0\0\0\1e\0\f\0\8c<\0\0\0\0\0\0\ 3\0\0\0\1a\0
+\0È2\0\0\0\0\0\0\ 4\0\0\0\16\0\b\0\10'\0\0\0\0\0\0\ 5\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0$\0\10\0\ 6\0\0\0\0\0\0\0\0\0\0\0$\0\10\0\bR\0\0\0\0\0\0\ 1\0\0\0!\0\ e\0DH\0\0\0\0\0\0\ 2\0\0\0\1d\0\f\0\8c<\0\0\0\0\0\0\ 3\0\0\0\1a\0
+\0È2\0\0\0\0\0\0\ 4\0\0\0\16\0\b\0\10'\0\0\0\0\0\0\ 5\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0(\0\ f\0\ 5\0\0\0\0\0\0\0\0\0\0\0(\0\ f\0\bR\0\0\0\0\0\0\ 1\0\0\0!\0\f\0t@\0\0\0\0\0\0\ 2\0\0\0\1c\0
+\0¼4\0\0\0\0\0\0\ 3\0\0\0\17\0\b\0\ 4)\0\0\0\0\0\0\ 4\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0'\0\ f\0\ 5\0\0\0\0\0\0\0\0\0\0\0'\0\ f\0\bR\0\0\0\0\0\0\ 1\0\0\0 \0\f\0t@\0\0\0\0\0\0\ 2\0\0\0\1c\0
+\0¼4\0\0\0\0\0\0\ 3\0\0\0\17\0\b\0\ 4)\0\0\0\0\0\0\ 4\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0&\0\ f\0\ 5\0\0\0\0\0\0\0\0\0\0\0&\0\ f\0\bR\0\0\0\0\0\0\ 1\0\0\0 \0\f\0t@\0\0\0\0\0\0\ 2\0\0\0\e\0
+\0¼4\0\0\0\0\0\0\ 3\0\0\0\17\0\b\0\ 4)\0\0\0\0\0\0\ 4\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0Ö\ 6\0\0$\0\ f\0\ 5\0\0\0\0\0\0\0\0\0\0\0$\0\ f\0\bR\0\0\0\0\0\0\ 1\0\0\0\1e\0\f\0t@\0\0\0\0\0\0\ 2\0\0\0\1a\0
+\0¼4\0\0\0\0\0\0\ 3\0\0\0\16\0\b\0\ 4)\0\0\0\0\0\0\ 4\0\0\0\12\0\ 6\0L\1d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\19V±ª\8d%Gµtú\9d«3½YZ SÁ\98è$L\86\89¤´¼ÅÈ¢H×\bt\8cüæN\92\88ľÀ\92¤\105+\8coôþ\8dD\82\e\19Ö\10wÍ3KV*É\93E\90¿$sä<c"'¿ÔN\92@éB\80}R{\1d\0ɽu\19âø\99\bXO¤¾U%©Æ×z:÷\0\18-\99,L\8c\94\1fbÏa\ 1@d¾Ôç±H°\96\8b G¼zçÿK±Ë*kÊO´ËR^ýS\14ñ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0D\0\0\0O2Z2\902\ 13\8a3ª5°5î5ö5ü5.6W6\906\976ª6Ð6ø6Y8v8\9e<²<¹<Î<Û<ä<ó<\ e= =D=\0\0\0\10\0\0 \0\0\0$0(04080@0D0L0P0T0\0ð0ô0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿü'P¨      \ e©O¤\aÊÒ\ 6ûO\1dû;\ 6\15\0ø´\15\0\12VZL\ 1\ 3\v¸\ 1@\ 2\0\0@\ 2\0\0ÜUüÿ\0\0\0\0`\16\0\0¼\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0_\v\0\0@\ 2\0\0`\v\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0¹\b\0\0 \r\0\0À\b\0\0 \r\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0Â\0\0\0`\16\0\0à\0\0\0`\16\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bì\83ì\10S3ÛV\8bu\f8\1d¤jüÿtCSVè~\a\0\0SVè\1c \0\0\8b\ 6\8dMðQ\8dMøQSh¤iüÿVÿP \83Ä$;Ã\ f\8cÄ\0\0\0\8b\ 6hôaüÿÿuøVÿP\1c\83Ä\fé®\0\0\0Wj\ 1Vè9\a\0\0j\ 1VèÖ\b\0\0\8b\ 6SSSh\0\0\ 6\0j\ 1VÿPX\8b}\bVWè\13\ 1\0\0\8b\ 6hôaüÿVÿP\18\8b\ 6\8dMüQj\14VÿPL\83ÄD\85À|<\8bEüÇ\0ppus\8b\89x\ 4\8bEüÇ@\b \0\0\80\8bEüÇ@\f´iüÿ\8bEüÇ@\10\96Wüÿ\8b\8b\ 6\83Á\bQVÿP$YY\8b\ 6\8dMôQSSh\84iüÿVÿP \83Ä\14;Ã_|\10\8b\8b\bSj\ 3PVÿQ,\83Ä\10^[ÉÃU\8bì\83ì\1cV\8bu\b\8b\ 6\8dM\bQVÿP(YY\85À|\ 6\83}\b\11t\\80=¤jüÿ\0W\8b}\fuN\8b\ 6\8dMüQj\0j\0h´iüÿVÿP \83Ä\14\85À|4\8dEôP\8dEìP\8dEäPÿwü\8bEüPÿ\10\83Ä\14\85À|\18\8bEô-\8cVüÿÆ\80¤jüÿ\ 1VÿwüÿUôYY_^ÉÃÿt$\fèg  \0\0Y3ÀÃU\8bì\83ì@SV\8bu\f\8b\ 6Wh8büÿVÿP\18YY3ÿ»\ 4büÿ\8b\ 6j\0\8dMÀj@QÿPT\8b\8fLbüÿ\8a\87Pbüÿ\83\0\83\0\89\8b\8fDbüÿ\89\8b\8fHbüÿ\83Ä\f\88EÃÇEÔ\ 1\0\0\0\89Mè<\ 1v\r<þu(j\10h$büÿë\aj\10h\14büÿ\8b\ 6\8dMÄQÿPP\8b\ 6j\10\8dMðSQÿPP\83Ä\18j@\8dEÀPhÄiüÿVèD\ 1\0\0\83Ä\10\85À|j\83Ç \81ÿÀ\ 1\0\0\ f\82fÿÿÿ3ÿ\8b\ 6\8dM\fQjXj\ 4VÿP4\83Ä\10\85À|D\8b\ 6jX\8d\8f\ 4düÿQÿu\fÿPP\83Ä\f\80¿\1fdüÿ\vu\1a\8bE\f\83À8\83\0H\83P\ 4\0\8bE\f\83À@\83\0¸\83P\ 4ÿ\83ÇX\81ÿ\80\ 5\0\0r©3À_^[ÉÃU\8bì\8bE\b\8b\bSW\8dU\bRPÿQ0\8bE\bYY\ f·\bºÿÿ\0\0f;ÊtY\8a]\10f\83ù\ 4u:\83À\bhÄiüÿPèÌ\0\0\0Y\84À\8bE\bYt#\8bø:X\eu\1c\80ûþu6\83À\1cPÿu\14è«\0\0\0YY\84Àu$\8bE\bë  \ f·H\ 2\ 3Á\89E\b\ f·\bºÿÿ\0\0f;Êuª¸\ e\0\0\80_[]Ã\8bG,\8bM\18\89\ 1\8bE\1c\83Ç0\8983Àëè\8bT$\f\8bD$\ 4\8b\bV\8bt$\14V\83Â\18Rj\ 4PÿQ4\83Ä\10\85À|\11W\8b>\8bt$\10\83Ç\b¥¥¥¥3À_^ÃU\8bìQV\8bu\b\8dEüPÿu\14ÿu\fVè´ÿÿÿ\83Ä\10\85À|\17ÿu\14\83\18ÿu\10\8b\ 6ÿuüÿPP\83Ä\f3À^ÉÃ\8bD$\ 4\8b\10\8bL$\b+\11u\e\8bP\ 4+Q\ 4u\13\8bP\b+Q\bu\v\8b@\f+A\fu\ 3°\ 1Ã2ÀÃÌÌÌÌÌÌÌÌÌÌÌÌÌU\8bì\83ÄøW\8bM\f\8b}\b\8bÇ$\ 3\84Àt\f\83ù\0t[Æ\a\0GIëì\8bÑÁé\ 6Áá\ 6+ÑÁé\ 6\83ù\0t2\ f\7f\ fïÀ\ f\7f\a\ f\7fG\b\ f\7fG\10\ f\7fG\18\ f\7f\ f\7fG(\ f\7fG0\ f\7fG8\83Ç@IuÛ\ foEø\ fw\8bÊÁé\ 23Àó«\8bÊ\83á\ 3óª_ÉÃÌÌÌÌÌÌÌÌU\8bì\83ÄøVW\8bM\10\8bu\f\8b}\b\8bÆ\ 3Á;Çv\16\8bÇ\ 3Á;Æv\ e\ f\84º\0\0\0\ f\82 \0\0\0\83ù\0\ f\84«\0\0\0\8b×\80â\ 3\84Òt       \8a\ 6\88\aIGFëå\8bÁÁè\ 6Áà\ 6+ÈÁè\ 6\83ø\0tQ\ f\7f\ fo\ 6\ f\7f\a\ foF\b\ f\7fG\b\ foF\10\ f\7fG\10\ foF\18\ f\7fG\18\ foF \ f\7f\ foF(\ f\7fG(\ foF0\ f\7fG0\ foF8\ f\7fG8\83Ç@\83Æ@Hu¹\ foEø\ fw\83ù\ 4r\ f\8b\ 6\89\a\83é\ 4\83Æ\ 4\83Ç\ 4ëì\83ù\0t\1d\8a\ 6\88\aIFGëò\ 3ñN\ 3ùO\83ù\0t        \8a\ 6\88\aINOëò_^ÉÃV\8bð\83þ\f|\a¸\ 2\0\0\80^Ã3À@\8bÎ\83á\ 3Óà3É#L$\f\89\ 2\89\a\8b\ 2H#D$\b\vÁuÚ\8d\83ø\ 3w\ 3\83"\0\83Æø\83þ\ 3w\ 3\83'\03À^ÃU\8bìQS\8b]\18V\8b\85Ûw    \81}\14ÿÿ\0\0v
\ 2\0\0\80é\84\0\0\0\8bE\10WSÿu\14\8d\8dU è\82ÿÿÿ3ÿ;ÇYY|hë_\8bE\10\83ø
+wc\ f\80ï\üÿÿ$\85ß\üÿSÿu\14ÿu\fÿu\bèì\ 2\0\0\88\ 6ë%Sÿu\14ÿu\fÿu\bèâ\ 2\0\0f\89\ 6ë\11Sÿu\14ÿu\fÿu\bèØ\ 2\0\0\89\ 6\8b\83Ä\10ÿM\1c\ 1E\14\13ß\ 3uü9}\1cw\9c3À_^[Éø\ 2\0\0\80ëô\8bÿ\81\üÿ\94\üÿ¨\üÿÖ\üÿ\0\ 1\ 2\ 3\0\ 1\ 2\ 3\0\ 1\ 2U\8bìQ\83}\18\0SV\8bu w\v\8b]\14\81ûÿÿ\0\0v
\ 2\0\0\80é\8a\0\0\0\8bE\10Wÿu\18\8d}üS\8dU è²þÿÿ3ÿ;ÇYY|nëe\8bE\10\83ø
+wi\ f\80Æ]üÿÿ$\85¶]üÿ\8a\ 6\ f¶ÀPÿu\18Sÿu\fÿu\bè:\ 2\0\0ë)f\8b\ 6\ f·ÀPÿu\18Sÿu\fÿu\bè.\ 2\0\0ë\11ÿ6ÿu\18Sÿu\fÿu\bè)\ 2\0\0\83Ä\14ÿM\1c\ 3\11}\18\ 3uü9}\1cw\963À_^[Éø\ 2\0\0\80ëô\8dI\0Q]üÿh]üÿ\80]üÿ¬]üÿ\0\ 1\ 2\ 3\0\ 1\ 2\ 3\0\ 1\ 2\8bD$\f\8a\0Ã\8bD$\ff\8b\0Ã\8bD$\f\8b\0Ã\8bL$\f\8b\ 1\8bQ\ 4Ã\8aD$\14\8bL$\f\88\ 1Ãf\8bD$\14\8bL$\ff\89\ 1Ã\8bD$\14\8bL$\f\89\ 1Ã\8bL$\14\8bD$\f\89\b\8bL$\18\89H\ 4Ã\8bL$\ 4\8b\113ÀÇBd\fjüÿ8D$\bt\r\8b\ 1h\jüÿQÿP\18YYÃU\8bìQ\8bE\10S\8b]\14V\8bu Wÿu\18\8d}üS\8dU è{ýÿÿYY3É;Á|Ië@\8bE\10\83ø\vwD\ f\80Õ^üÿÿ$\85Å^üÿ\8a\ 3\88\ 6ë\18f\8b\ 3f\89\ 6ë\10\8b\ 3\89\ 6ë
+\8b\ 3\89\ 6\8bC\ 4\89F\ 4ÿM\1c\ 3\11M\18\ 3uü9M\1cw»3À_^[Éø\ 3\0\0\80ëô\88^üÿ\8e^üÿ\96^üÿ\9c^üÿ\0\ 1\ 2\ 3\0\ 1\ 2\ 3\0\ 1\ 2\ 3U\8bìQ\8bE\10S\8b]\14V\8bu Wÿu\18\8d}üS\8dU èãüÿÿYY3É;Á|Ië@\8bE\10\83ø\vwD\ f\80m_üÿÿ$\85]_üÿ\8a\ 6\88\ 3ë\18f\8b\ 6f\89\ 3ë\10\8b\ 6\89\ 3ë
+\8b\ 6\89\ 3\8bF\ 4\89C\ 4ÿM\1c\ 3\11M\18\ 3uü9M\1cw»3À_^[Éø\ 3\0\0\80ëô _üÿ&_üÿ._üÿ4_üÿ\0\ 1\ 2\ 3\0\ 1\ 2\ 3\0\ 1\ 2\ 3ÌÌÌU\8bì\8bU\10ìÉÃU\8bì\8bU\10fíÉÃU\8bì\8bU\10íÉÃU\8bì3À\99ÉÃU\8bì\8aE\18\8bU\10îÉÃU\8bìf\8bE\18\8bU\10fïÉÃU\8bì\8bE\18\8bU\10ïÉÃU\8bìÉÃ\8bL$\ 4\8b\113ÀÇBhljüÿ8D$\bt\r\8b\ 1hxjüÿQÿP\18YYÃU\8bìQQS\8b]\b\8b\ 3VWj\b\8dM\18Q\8dMøQÿPP\8bu\f\83Ä\f\85öu\ 5\8b\ 3\8bpd\ f¶Mû\ f¶Uú\ f¶Eø\81É\0\80ÿÿÁá\ 5\83â\1f\vÊ\ f¶UùÁá\ 3\83â\a\vÊ\8bøÁá\b\0\0\0\vÈQj\0\f\0\0V\83ç\ 3S\81Çü\f\0\0ÿV(\8bE\14\83Ä\148M\10tB+Át+Ht\18Ht\a¸\ 2\0\0\80ëi\8bE ÿ0QWVSÿV(ë\1e\8b\ f·\0PQWVSÿV$ë\ e\8b\ f\0PQWVSÿV \83Ä\14ë6+Át#Ht\11Hu¾QWVSÿV\18\8b\89\ 1ë\eQWVSÿV\14\8bM f\89\ 1ë\fQWVSÿV\10\8b\88\ 1\83Ä\103À_^[ÉÃU\8bìÿu\1cÿu\18ÿu\14ÿu\10j\0j\0ÿu\bèèþÿÿ\83Ä\1c]ÃU\8bìÿu\1cÿu\18ÿu\14ÿu\10j\ 1j\0ÿu\bèÈþÿÿ\83Ä\1c]ÃU\8bìV\8bu\b\8b\ 6W\8bxd\8dE\bPÿu\18ÿu\14ÿu\10j\0WVè þÿÿ\8bE ÷Ð#E\b\vE\1c\89E\b\8dE\bPÿu\18ÿu\14ÿu\10j\ 1WVè|þÿÿ\83Ä8_^]Ãh\b\ 4\0\0èa\0\0\0\83|$\ 4\0tWSVWèåÿÿÿ\8bø\8bD$\10iÀf\ 1\0\0jd3Ò^÷ö\8bÏ\8dD8\ 1\8bðÁî\18%ÿÿÿ\0\8bØë\ eè¹ÿÿÿ\8bÈ;Ïw\ 1N\8bù\85öuîë\r;ùw\r\8bùè\9fÿÿÿ\8bÈ;Ùwï_^[Ãf\8bT$\ 4íÃ\0\ 1\0\0\0\15Xüÿ\10\0\0\80¤iüÿìaüÿ\0\0\0\0Y¼(Þ(b½A½ö£¹­µ\8d¡ÙT\93zh\ 4JD\81Î\vö\17Ø\90ß-      åÖ²ÇrH¯fýÀæù^x<Yüÿ\10\0\0\80\94iüÿ4büÿ\0\0Àÿ\0\0\ 2\0\ 5\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Âÿ\0\0\ 1\0\ 5\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ãÿ\0\0\ 1\0\ 5\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Äÿ\0\0\r\0\ 5\0\0\0\ 1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ñÿ\0\0\ 1\0\ 5\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Òÿ\0\0\r\0\ 5\0\0\0\ 1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ßÿ\0\0\ 1\0\ 5\0\0\0þ\0\0\0- åÖ²ÇrH¯fýÀæù^x\0\0àÿ\0\0\0\0\ 5\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0àÿ\0\0\ 4\0\ 5\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0äÿ\0\0\ 2\0\ 5\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0æÿ\0\0\10\0\ 5\0\0\0\ 1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0öÿ\0\0\ 2\0\ 5\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0øÿ\0\0\ 4\0\ 5\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0üÿ\0\0\ 4\0\ 5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\0\0Âÿ\0\0\0\0\0@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\ 6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\0@Âÿ\0\0\0\0\0\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\ 5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\0BÂÿ\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\0RÂÿ\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\v\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\0\0ßÿ\0\0\0\0\0`\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\ f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\0`ßÿ\0\0\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\ e\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\0\80ßÿ\0\0\0\0\0\80\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\0\0öÿ\0\0\0\0@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0@\0öÿ\0\0\0\0\0\0\ 1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0@\0÷ÿ\0\0\0\0\0\ 4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0@\ 4÷ÿ\0\0\0\0Àû\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\0\0øÿ\0\0\0\0\80\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\80\0øÿ\0\0\0\0\0\ 1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\80\ 1øÿ\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\80\11øÿ\0\0\0\0\80Þ\ 3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 4\0X\0\0\0\0\0Òç\91° \ 5\98A\94ðt·¸ÅTY\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 6\0\0\0\0\0\0\0\0ðûÿ\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?\eæ¨uv#C\87µi¤\9cÐ;U /Ló\88ÞpB\84\14\96\12"ôR\1c\90oL\1fk°ØH¢\ 1ºåñÍ}V\85\r\1f~ÿ\ 4²K\86j1¢\99jH¨Òç\91° \ 5\98A\94ðt·¸ÅTYÍ3KV*É\93E\90¿$sä<c"'¿ÔN\92@éB\80}R{\1d\0ɽu\19âø\99\bXO¤¾U%©Æ×z\0\0\0\0\0\0\0\0I^üÿá^üÿ+\üÿú\üÿ|_üÿ\85_üÿ\8f_üÿ\98_üÿ _üÿ¬_üÿº_üÿÆ_üÿÑ]üÿØ]üÿà]üÿç]üÿñ]üÿü]üÿ  ^üÿ\14^üÿ\10\0\0\80\84jüÿ\fjüÿ\0\0\0\0ë`üÿ\vaüÿ+aüÿ\10\0\0\80\94jüÿljüÿ{\1f¯æ?üÚF¨(£´W¤B\82 ëòá¹÷&J\86 \13\12!d*\90\0\0\0\0\0\0\0\0\0\0\0\0|\0\0\0O2o2\852Æ2\03
+3&3l3\823±3·3å3ò3\ 54\v4\1c4%4D4M4p4­4½4!5*818\938\978\9b8\9f8ú8\ 19j9n9r9v9å9ò91:8:y:}:\81:\85:É:Ð:\11;\15;\19;\1d;\8a;\97;¤=¬=°=è=ð=ô=\0\0\0\10\0\0@\0\0\0À5Ä5È5Ì5Ð5Ô5Ø5Ü5à5ä5è5ì5ð5ô5ø5ü5\06\ 46\b6\f6\146\186 6$6(60646\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿ\8fÂÈ4\1c¶¢E\8f.\89äkìÆ;Ð\1a\ 6@\\ 6\0øD\ 6\0\12VZL\ 1\ 3\v¨\ 1 \ 2\0\0 \ 2\0\0¬küÿ\0\0\0\0 \a\0\0\18\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0õ\ 4\0\0 \ 2\0\0\0\ 5\0\0 \ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0t\0\0\0 \a\0\0\80\0\0\0 \a\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0\1e\0\0\0 \a\0\0 \0\0\0 \a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\8bD$\b\8b\bhTqüÿPÿQ\18YYÃ\8bL$\ 4\8bT$\b\ f·\ 1f\85Àt\vf;\ 2u\ 6AABBëí\ f·\ 1\ f·
++ÁÃ\8bD$\ 4\85Àt\1e¹ªU\0\0f9\bu\14\8bH\f\8b@\b\8dD\ 1 =\0\ 4\0\0w\ 3°\ 1Ã2ÀÃ\8bD$\ 4\8b\b\81ù$VSSu\10\80x\bZu
+\80x     þu\ 43À@Ã\83ùÿu\149H\ 4u\ f\80x\bÿu  \80x      ÿu\ 33ÀÃj\ 2\8bD$\ 4\8b\b\8bT$\bSVW\8b|$\1c¸\ e\0\0\80\ f·1»ÿÿ\0\0f;ótIf\83þ\ 4u7\8b2;q\bu0\8br\ 4;q\fu(\8br\b;q\10\8br\f;q\14u\18\8b\$\18\8dq\18\893\85ÿt        \ f·q\ 2\83î\18\897\ f·q\ 2\ 3Î\85À|¬ë\ 5¸\ e\0\0\80_^[ÃU\8bì\8bM\ff\839\0u\f\8bE\14\8bM\b\89\b3À]Ã\8bE\10\8b\10V\8bu\b;V\10u1\8bP\ 4;V\14u)\8bP\b;V\18u!\8b@\f;F\1cu\19\8dF PQè»þÿÿYY\85Àu     \8bE\14\8903Àë\ 5¸\ e\0\0\80^]ÃU\8bì\83ì\18W3ÿ9}\ft\ f9}\10u
\ 2\0\0\80éý\ 1\0\0S\8b]\b\8b\ 3V\8dMüQSÿP0W\8dEøP¾`qüÿ\8dEüVPèìþÿÿ\83Ä\18\85À\ f\8d\85\0\0\0\8dEüPhô\ 1\0\0VSèø\ 2\0\0\8b\83Æ\183Àf\89\ 6!F\b\83Ä\10!F\ 4f\89F\ 23À9F\b\ f\85Ý\0\0\09F\ 4\ f\85Ô\0\0\0\8b\v\8dUðRPPhpqüÿSÿQ \8dEèP\8dEìP\8bEðj\0j\vPSÿ\10\83Ä,\83\ 1u\12\8b\8bP\bRè1þÿÿY\83ø\ 1tz¸\ 3\0\0\80éH\ 1\0\0\8buø!}ô3Àf;\ 6s0\8dF\f\89Eøÿu\14\8bEøÿu\10\8b8ÿu\fWèªþÿÿ\83Ä\10\85Àt.\ f·\ 6ÿEô\83\ 49EôrÖf\83~\ 2\0\ f\85û\0\0\0\85ÿ\ f\84Sÿÿÿ\8bG\f\ 3G\b\8d|8 ë2\8bN\b\8bE\14\89H\b\8bN\ 4\89H\ 4é¿\0\0\0\8bB\ 4÷Ð\85À\ f\84Æ\0\0\0\8dB\10\89F\b\8bB\ 4\ 3Â\89F\ 4\8b~\b\8bF\b\8b]\14\83\0\89C\b\8bF\ 4W\89C\ 4èQýÿÿY\84À\ f\84\83\0\0\0;~\ 4w`\8aG\ 2<\7fu)\ f·\ 6f\83øzs
+\ f·À\89|\86\ffÿ\ 6Sÿu\10ÿu\fWèõýÿÿ\83Ä\10\85ÀtLë\e<~u\17Sÿu\10ÿu\fWèÛýÿÿ\83Ä\10\85Àu\ 3\89\8bG\f\ 3G\b\8d|\a WèèüÿÿY\84Àu\9b\8b\85Ét\17\ f·\ 6f\83øzs
+\ f·À\89L\86\ffÿ\ 63Àë\15f\83>zs\a3À@f\89F\ 2\83#\0¸\ e\0\0\80^[_ÉÃU\8bì\83ì\f\83}\f\0SVWtl\83}\10\0tf\8b]\b\8dEôPÿu\10ÿu\fSè»ýÿÿ\8b\83Ä\10\85ötN\85ÀuJ\8b~\f\8bE\1898r4Vèí\0\0\0Y\85À|5\8bN\b\8b\ 3W\8dL1 Qÿu\1cÿPP\8bE\14\83Ä\f\85Àt\ 5\8bN\ 4\89\b\8bM\18\89\f¸\ 5\0\0\80ëò¸\ 2\0\0\80_^[ÉÃU\8bì\83ì\fW\8b}\10\85ÿu\a¸\ 2\0\0\80ëSS\8b]\bV\8dEôPÿu\14WSè6ýÿÿ\8b\83Ä\10\85öt4\85Àu0f9\at!ë\15\85öt VèßûÿÿY\84Àt\15\80~\ 2\7ft\19\8bF\f\ 3F\b\8dt\ 6 ;uørܸ\ e\0\0\80^[_ÉÃ\8b~\b\8bE\f;8w-Vè3\0\0\0Y\85À|æ\8b\ 3W\8dN Qÿu\10ÿPP\8b\ 3j\10\83Æ\10Vÿu\14ÿPP\83Ä\183Àë\ 5¸\ 5\0\0\80\8bM\f\899ë¸3ÀÃ\8bT$\f\8bD$\ 4\8b\bV\8bt$\14V\83Â\18Rj\ 4PÿQ4\83Ä\10\85À|\11W\8b>\8bt$\10\83Ç\b¥¥¥¥3À_^Ã\0\0\0\0\0\0\0\0\0\0\0×oüÿ\püÿ\10\0\0\80\80qüÿLqüÿȸý\8c²Öó@\8e\97\ 20|É\8b| /Ló\88ÞpB\84\14\96\12"ôR\1cÆ\90Ü<û\13uJ\9eyYéÝx¹úÍ3KV*É\93E\90¿$sä<c"'¿ÔN\92@éB\80}R{\1d\0ɽu\19âø\99\bXO¤¾U%©Æ×z\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\18\0\0\0'2À3\1e4 7$7,707\0\0\0\0\0\0\0\0\0\0ÿÿÿÿ\1745¾ý±^J¶!¾*9yù\ 4\ 6@l
+\0øT
+\0\12VZL\ 1\ 4\v¸\ 1\82\ 2\0\0`\ 2\0\0\früÿ\0\0\0\0 \v\0\0$\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0¸\a\0\0`\ 2\0\0À\a\0\0`\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.rdata\0\0\f\0\0\0 
+\0\0 \0\0\0 
+\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0@.data\0\0\0H\ 1\0\0@
+\0\0`\ 1\0\0@
+\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0$\0\0\0 \v\0\0@\0\0\0 \v\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\83|$\f\ 1u\1a\8bD$\ 4\8a\90î\0\0\0\8bL$\b\88Q\ 2\8a\80í\0\0\0\88A\ 5ÃU\8bì\81ìÔ\ 2\0\0SV\8bu\f\8b\ 6W\8dMôQ3ÿj\fV\89\89\89\89\89}øÿPL\8b\ 6\8dMüQj\1eVÿPL\8b\ 6Wj\1eÿuüÿPT\8bEô»\10\0\0\80\89\18\8bEôÇ@\ 4Ä{üÿ\8b\8bMôj\1e\89A\b\8b\ 6h,{üÿÿuüÿPP\8b\ 6\8dMøQj\fVÿPL\8b\ 6\8dMðQjDVÿPL\8b\ 6\83ÄHWjDÿuðÿPT\8b\89\18\8bEøÇ@\ 4´{üÿ\8b\8bMøjD\89A\b\8b\ 6hL{üÿÿuðÿPPÿuø\8b\ 6VÿP\18\8b\ 6\8dMèQWWh¤{üÿVÿP \8d\85,ýÿÿP\8dE\fP\8bEèWh¼züÿh\9czüÿVÇE\f¼\ 2\0\0ÿ\10\83ÄL\85Àu\aÇEì\ 1\0\0\0\ f·}ì\8b\83À\14WP\8d\85,ýÿÿPè¿þÿÿÿuô\8b\ 6VÿP\18\8bØW\8d\85,ýÿÿPVèV\0\0\0
+\0\0\0\83Ä$_^\8bÃ[ÉÃU\8bìQ\83\0V\8bu\b\8b\ 6\8dMüQj\fVÿPL\8bEüÇ\0\10\0\0\80\8bEüÇ@\ 4ä{üÿ\8bEüÇ@\b\94{üÿÿuü\8b\ 6VÿP\18\83Ä\143À^ÉÃU\8bì\83ì$SW\8b}\b\8b\a\8dMüQj\fWÿPL\8b\a\8dM\bQj^WÿPL\8bEüÇ\0\10\0\0\80\8bEüÇ@\ 4Ô{üÿ\8bE\b\8bMüj^\89A\b\8b\ahÌzüÿÿu\bÿPP\83Ä$\83}\10\ 1\ f\85\9c\ 5\0\0\8b\a\8dMøQ3ÛSShô{üÿWÿP \83Ä\14\ f\8c\8b\ 5\0\0\8dUôR\8d\89\8b\8b\bj\ 1PWÿQ\18\83Ä\10\ f\8cj\ 5\0\0\8a\8bU\b±\ 3\88B\r\8bE\fV\8bu\b8^\r\ f\84\9b\0\0\0\8a\90\ 3\ 1\0\0\88V\11\8a\90  \ 1\0\0\8bu\b\88V\15\8a\90'\ 1\0\0\8bu\b\88V)\8a\90-\ 1\0\0\8bu\b\88V-\8a\903\ 1\0\0\8bu\b\88V1\8a\909\ 1\0\0\8bu\b\88V5\8a\90?\ 1\0\0\8bu\b\88V9\8a\90E\ 1\0\0\8bu\b\88V=\8a\90K\ 1\0\0\8bu\b\88VA\8a\90Q\ 1\0\0\8bu\b\88VE\8a\90W\ 1\0\0\8bu\b\88VI\8a\90]\ 1\0\0\8bu\b\88VM\8a\90c\ 1\0\0\8bu\b\88VQëK\88^\11\8bU\b\88Z\15\8bU\b\88Z)\8bU\b\88Z-\8bU\b\88Z1\8bU\b\88Z5\8bU\b\88Z9\8bU\b\88Z=\8bU\b\88ZA\8bU\b\88ZE\8bU\b\88ZI\8bU\b\88ZM\8bU\b\88ZQ\8a\90\ f\ 1\0\0\8bu\b\88V\19\8a\90\15\ 1\0\0\8bu\b\88V\1d\8a\90\e\ 1\0\0\8bu\b\88V!\8a\90!\ 1\0\0\8bu\b\88V%\8a\90i\ 1\0\0\8bu\b\88VU8\98ý\0\0\0t\10\8b\8bu\bÁê\ 2\88V\ eë\ 6\8bU\b\88Z\ e\8bu\b8^\ e\ f\84\9b\0\0\0\8a\90\ 4\ 1\0\0\88V\12\8a\90
+\ 1\0\0\8bu\b\88V\16\8a\90(\ 1\0\0\8bu\b\88V*\8a\90.\ 1\0\0\8bu\b\88V.\8a\904\ 1\0\0\8bu\b\88V2\8a\90:\ 1\0\0\8bu\b\88V6\8a\90@\ 1\0\0\8bu\b\88V:\8a\90F\ 1\0\0\8bu\b\88V>\8a\90L\ 1\0\0\8bu\b\88VB\8a\90R\ 1\0\0\8bu\b\88VF\8a\90X\ 1\0\0\8bu\b\88VJ\8a\90^\ 1\0\0\8bu\b\88VN\8a\90d\ 1\0\0\8bu\b\88VRëK\88^\12\8bU\b\88Z\16\8bU\b\88Z*\8bU\b\88Z.\8bU\b\88Z2\8bU\b\88Z6\8bU\b\88Z:\8bU\b\88Z>\8bU\b\88ZB\8bU\b\88ZF\8bU\b\88ZJ\8bU\b\88ZN\8bU\b\88ZR\8a\90\10\ 1\0\0\8bu\b\88V\1a\8a\90\16\ 1\0\0\8bu\b\88V\1e\8a\90\1c\ 1\0\0\8bu\b\88V"\8a\90"\ 1\0\0\8bu\b\88V&\8a\90j\ 1\0\0\8bu\b\88VV8\98ý\0\0\0t\10\8b\8bu\bÁê\ 4\88V\ fë\ 6\8bU\b\88Z\ f\8bu\b8^\ f\ f\84\9b\0\0\0\8a\90\ 5\ 1\0\0\88V\13\8a\90\v\ 1\0\0\8bu\b\88V\17\8a\90)\ 1\0\0\8bu\b\88V+\8a\90/\ 1\0\0\8bu\b\88V/\8a\905\ 1\0\0\8bu\b\88V3\8a\90;\ 1\0\0\8bu\b\88V7\8a\90A\ 1\0\0\8bu\b\88V;\8a\90G\ 1\0\0\8bu\b\88V?\8a\90M\ 1\0\0\8bu\b\88VC\8a\90S\ 1\0\0\8bu\b\88VG\8a\90Y\ 1\0\0\8bu\b\88VK\8a\90_\ 1\0\0\8bu\b\88VO\8a\90e\ 1\0\0\8bu\b\88VSëK\88^\13\8bU\b\88Z\17\8bU\b\88Z+\8bU\b\88Z/\8bU\b\88Z3\8bU\b\88Z7\8bU\b\88Z;\8bU\b\88Z?\8bU\b\88ZC\8bU\b\88ZG\8bU\b\88ZK\8bU\b\88ZO\8bU\b\88ZS\8a\90\11\ 1\0\0\8bu\b\88V\e\8a\90\17\ 1\0\0\8bu\b\88V\1f\8a\90\1d\ 1\0\0\8bu\b\88V#\8a\90#\ 1\0\0\8bu\b\88V'\8bu\b\8a\90k\ 1\0\0\88VW^8\98ý\0\0\0t\10\8bUìÁê\ 6\8bM\b\88Q\10ë\ 6\8bM\b\88Y\10\8bM\b8Y\10\ f\84\9b\0\0\0\8a\90\ 6\ 1\0\0\88Q\14\8a\88\f\ 1\0\0\8bU\b\88J\18\8a\88*\ 1\0\0\8bU\b\88J,\8a\880\ 1\0\0\8bU\b\88J0\8a\886\ 1\0\0\8bU\b\88J4\8a\88<\ 1\0\0\8bU\b\88J8\8a\88B\ 1\0\0\8bU\b\88J<\8a\88H\ 1\0\0\8bU\b\88J@\8a\88N\ 1\0\0\8bU\b\88JD\8a\88T\ 1\0\0\8bU\b\88JH\8a\88Z\ 1\0\0\8bU\b\88JL\8a\88`\ 1\0\0\8bU\b\88JP\8a\88f\ 1\0\0\8bU\b\88JTëK\88Y\14\8bM\b\88Y\18\8bM\b\88Y,\8bM\b\88Y0\8bM\b\88Y4\8bM\b\88Y8\8bM\b\88Y<\8bM\b\88Y@\8bM\b\88YD\8bM\b\88YH\8bM\b\88YL\8bM\b\88YP\8bM\b\88YT\8a\88\12\ 1\0\0\8bU\b\88J\1c\8a\88\18\ 1\0\0\8bU\b\88\8a\88\1e\ 1\0\0\8bU\b\88J$\8a\88$\ 1\0\0\8bU\b\88J(\8a\88l\ 1\0\0\8bU\b\88JX\8aH3\8bU\b\88JY\8a\88o\ 1\0\0\8bU\b\88JZ\8a\88p\ 1\0\0\8bU\b\88J[\8a\88q\ 1\0\0\8bU\b\88J\\8a\80r\ 1\0\0\8bM\b\88A]ÿuü\8b\aWÿP\18YY3À_[ÉÃ\0\0\0\0\0\0\0\0S\0e\0t\0u\0p\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ô'J \0ßBMµR9Q\13\ 2\11=\0\0\0\0\0\0\0\ 1\0\0\0\0\0\ 1\0\0\0\ 1\ 1\ 1\ 1\0\0\0\0\ 1\ 1\ 1\ 1\ 3\ 3\ 3\ 3\ 1\ 1\ 1\ 1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\ 1\ 1\ 1\a\a\a\a\ 1\ 1\ 1\0\0\0\0\0\0\0\0\0@Ñþ\0\80Ñþ\0\90Ñþ\0\0\0à\0\0\ 1\0\ 1\ 1\0\0\0\0\0\0\0\ 1\0\ 5\0\ 4\0ÀÑþ\0\0Àþ\0\0\0\ 1\0\0\0\0\0\0\ 1\ 1\ 1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 ¢¤¦ ï\0\0\0\ 3\1f\0\ 4\0\0\0\90{üÿÆ\90Ü<û\13uJ\9eyYéÝx¹úø\19àuè\f\bC³qb\84%f
+\1c \181óûç¦F\9añÔÚ\9d¡Üú\95Cô×ÇõñO\85\94ÂîõÞ&\155ä¶c¼2ÆI\81½·¡ þ\1al?\eæ¨uv#C\87µi¤\9cÐ;U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$\0\0\0Õ2ç2"343P3h3m3ñ3û3B4T4v4$;\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿ¿«¶*\99ªOA\97\86ìD
+1!\98Ãr\ 6@\94\ 5\0ø|\ 5\0\12VZL\ 1\ 3\v°\ 1ç\ 2\0\0@\ 2\0\0||üÿ\0\0\0\0à\ 6\0\0\10\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0h\ 4\0\0@\ 2\0\0\80\ 4\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0 \0\0\0À\ 6\0\0 \0\0\0À\ 6\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0\10\0\0\0à\ 6\0\0 \0\0\0à\ 6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\8bD$\ 4\83È\ 1PjHè0\ 3\0\0YYÃ\8bD$\ 4\83È\ 1Pj@è\1e\ 3\0\0YYÃ\8bD$\ 4\83È\ 1Pj`è\f\ 3\0\0YYÃ\8bD$\ 4\83È\ 1Pjhèú\ 2\0\0YYÃj3h\95\0\0\0èª\ 2\0\0j3h\96\0\0\0è\9e\ 2\0\0\83Ä\10ÃVfº\80\0°uî\8bt$\10ÿv\ 4è\88ÿÿÿÿv\fè\92ÿÿÿÿv\10è\9cÿÿÿÿv\bè¦ÿÿÿè³ÿÿÿ\83Æ\14Vÿt$\1cèÁ\0\0\0\83Ä\18\8bD$\b\8b\b\81üÿPÿQ$YY3ÀÃÇ\ 5\18\0\ fà\0\ 2\ 2\02ÉV\ f¶ÁÁà\ ff\8b\90\0\0 à¾ÿÿ\0\0f;Öt\11f\8b\80
+\0 àº\0\ 3\0\0f;Ât   þÁ\80ù rÑë
+\8bD$\10Ç\0\ 2\0\0\0Ç\ 5\18\0\ fà\0\0\0\0^áð\80\ fà\8bT$\fVWj\ 4_j\ 2¸\18\0\ eà^Ç\0\0\ 2\ 3\0\8a\r\v\0 à\80ù\ 3u\ 2\892\80ù\ 6u\15Ç\ 5\18\0 à\0\ 3\ 3\0\80=\v\0\ 3u\ 2\89\0\0\0\0\0\ 5\0\10\0\0OuÅ_^ÃU\8bìQQSV3Ûj\17\88]ÿè\82\ 2\0\0%\0\0\0\10\vÂYt\ 4ÆEÿ\ 1¡H\0\0à\8bu\f\83àþ\83 \14\f\0\0Þf¡R\0\0àf\83È\ 2f£R\0\0à\8dEøPVÿu\b\89]øè\ 3ÿÿÿ\8dEøPVÿu\bèJÿÿÿ\ f\ 5R\0\0à\83à\ f\83Ä\18¢R\0\0à9]ø\ f\85    \ 1\0\08^\ 4\ f\84\0\ 1\0\0 R\0\0à8^\ 2u\ 4\f\10ë\ 2\f0¢R\0\0à8^\ 5u\11\ f\ 5T\0\0à%ï\0\0\0¢T\0\0à\ f·\ 5R\0\0à%ýÿ\0\0f£R\0\0à\ f·\ 5R\0\0à\r\0\ 1\0\0f£R\0\0à¡\8cLÑþ¾\0\ 2\0\0   5\8cLÑþ8]ÿt\ 5\83Èyë\ 3\83È\12¹ÿýÿÿ#Á£\8cLÑþ\ f\ 5b\0\ 1à%ü\0\0\0\f\ 2¢b\0\ 1à¡8LÑþ\83à\a\83ø\ 2¡Ì\0\ 1àu\fÇ\ 5Ì\0\ 1à \0\0\0ë
\ 5Ì\0\ 1à§\0\0\08]ÿt\12\81\r\ 4pÑþ\0\0\0\90      5\bpÑþë\1f¡\ 4pÑþÇ\ 5\ 4pÑþÿÿÿÿ  \r\bpÑþ\81\r\bKÑþ\0\0\0\ 6¸O\ 2\0\0Ç\ 5ôOÑþ_\8bÛÆf£øOÑþë\11\ f\ 5T\0\0à%ç\0\0\0¢T\0\0à^[ÉÃV\8bt$\b\8bÆÁè\ 4%\0ÿÿ\0\8bÎ\81áü\0\0\0\vÁ\r\0\0\0\80Phø\f\0\0è\\0\0\0ÿt$\14\83æ\ 3\81Æü\f\0\0Vè>\0\0\0\83Ä\10\8bD$\ 4\8bÈÁé\ 4\81á\0ÿÿ\0\0\0\0\vÈ\81É\0\0\0\80Qhø\f\0\0è\1d\0\0\0ÿt$\10\f\0\0è\ f\0\0\0\83Ä\10Ãf\8bT$\ 4\8aD$\bîÃf\8bT$\ 4\8bD$\bïÃÌÌ\8aL$\f\8bD$\böÁ \ f\ fDD$\ 4\ f­ÐÓêÃÌÌÌÌÌ\8aL$\f\8bT$\ 4öÁ \ f\ fDT$\b\ f¥ÂÓàÃÌÌÌÌÌôÃ\ f        Ã\ f\bÃU\8bì`\8bE\b\ f¢\83}\f\0t\ e\8b}\f\89\a\89_\ 4\89O\b\89W\faÉÃU\8bìQ\8bM\b\ f2YÉÃU\8bì`\8bM\b\8bE\f\8bU\10\ f0aÉÃ\ f1ÃP\ f À\ fÈ$`<`t\r\ f      \ f À\r\0\0\0`\ f"ÀXÃP\ f \ f À%ÿÿÿ\9f\ f"ÀXÃ\9cXÃúÃûÃU\8bì`\8bE\b\8bM\f\ f¢\8b}\10\89\a\89_\ 4\89O\b\89W\faÉÃ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0\80Ä\81üÿ\98}üÿ\0\0\0\0 \181óûç¦F\9añÔÚ\9d¡Üú\0\0\0\0\10\0\0\0î2Ä6È6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿßæH\1d4í\F\89\96l\7fj\17Õ©nÄ\ 6@D\12\0ø(\0\0\e\ 2{\1f¯æ?üÚF¨(£´W¤B\82\ 2 ëòá¹÷&J\86 \13\12!d*\90\ 3\b\ 4\12\0\12VZL\ 1\ 4\v¨\ 1\91\ 5\0\0`\ 2\0\0<\82üÿ\0\0\0\0 \13\0\0\\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0F\ f\0\0`\ 2\0\0`\ f\0\0`\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.rdata\0\0\f\0\0\0À\11\0\0 \0\0\0À\11\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0@.data\0\0\0,\ 1\0\0à\11\0\0@\ 1\0\0à\11\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0\\0\0\0 \13\0\0`\0\0\0 \13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bìQ\8bE\b3Ò3ÉV\89Uü8\10t\ff\ f¶p\ 1\ f·öA\89uü8P\ 2t\10f\ f¶p\ 3fÁæ\ 4\83É\ 2f      uü8P\ 4t\10f\ f¶p\ 5fÁæ\b\83É\ 4f    uü8P\ 6t\10f\ f¶p\afÁæ\f\83É\bf    uü^8P\bt\ 6\81É\0\ 1\0\08P        t\ 6\81É\0\ 2\0\08P
+t\ 6\81É\0\ 4\0\08P\vt\ 6\81É\0\b\0\08P\ft\ 6\81É\0\10\0\08P\rt\ 6\81É\0 \0\0f\8bEüf£\80\80\ fàf\89\r\82\80\ fàÉÃ\8bD$\ 43ÉAf9\bu\14\8bP\ 4\89\15\10ñÑþf\8bP\ 2f\89\15HñÑþf9H\bu\14\8bP\f\89\15\fñÑþf\8bP
+f\89\15FñÑþf9H\10u\14\8bP\14\89\15\bñÑþf\8bP\12f\89\15DñÑþf9H u\13\8bH$\89\r\0ñÑþf\8b@"f£@ñÑþÃU\8bì\81ìÔ\ 2\0\0S3ÛVW\89\89]ôfº\80\0°vî\8bE\b\8b\b\8dUøRSSh(\93üÿPÿQ \8b}\10\8dG\ ePè£þÿÿ\8bG\ 6\83È\ 1£ð\80\ fà\ f·w\ 2f\895H\80\ fà L\80\ fà\f\10¢L\80\ fà\8b\83Ä\18;ËtJ\8b\ 19X\10tC\8dUðR\8dUüRj\ 2Qÿu\bÿP\10\83Ä\14\88]\139]üv'3À\ f·ö\8b\8d\ 4Áÿp\ 4\ f\0\ 3ÆPèv\r\0\0þE\13\ f¶E\13YY;EürÞ\ f·G\ 4f£@\80\ fà\8a\rD\80\ fà\ f·ð\8dF(\80É\80h\0\0ÿÿ\88\rD\80\ fàPè>\r\0\0\83\r\0ôÑþ\ 4\83\rÿñÑþ\ 2\83\r\10ôÑþ \8dFhPè\b\r\0\0¹\0\b\0\0f\vÁ\ f·ÀP\8dFhPèþ\f\0\0\8dFfPèØ\f\0\0\f\ 2\88E\10ÿu\10\8dFfPèÎ\f\0\0jaèÀ\f\0\0\f\f\88E\10ÿu\10jaè¸\f\0\0\81%T\90\ fàÿÿüÿ\83\r\10ôÑþ \ f¶G\ 1Áà
+       \ 5\10ôÑþ\83\r\14ôÑþ\ 2 d\80\ fà\fÀ\83Ç\1cW¢d\80\ fàè\1aþÿÿ\8dF\ 2SPè\8a\f\0\0S\83Æ,Vè\8d\f\0\0\8bu\b\8b\ 6\83Ä@\8dMìQSSh¨\93üÿVÿP \8d\85,ýÿÿP\8dEèP\8bEìSh\b\93üÿh|\92üÿVÇEè¼\ 2\0\0ÿ\10\83Ä,\85Àu\19\80½"þÿÿ\ 1u  \83%\10ôÑþûë\a\83\r\10ôÑþ\ 4\8b\ 6\8dMôQSShh\93üÿVÿP \8b\ f¶@YPVèÖ\v\0\0\83Ä\1c_^3À[ÉÃV\8bt$\f\8b\ 6\92üÿVÿP\18\8b\ 6\92üÿVÿP$\83Ä\103À^ÃVW\8b|$\f\8b\a\8bph\8bD$\14h\80ÿ\0\0ÿ0j\0h@\0\1f\0j\ 2VWÿV\bj\0h\80\0\0\0j\0hD\0\1f\0j\0VWÿV\b\83Ä8_3À^ÃU\8bìöE\10\ 1S\8b]\b\8b\ 3V\8bphW¿\0\80\0\0t\14j\0Wj\0h@\ 2\1f\0j\ 1VSÿV\b\83Ä\1cöE\10\ 2t\14j\0Wj\0hB\ 2\1f\0j\ 1VSÿV\b\83Ä\1c\8b\ 3\8dM\bQj\0j\0\93üÿSÿP \83Ä\14\85À|\10\8bE\bhÀáä\0PSÿP\ 4\83Ä\f_^3À[]Ã\ f¶D$\f\83è\0tPHt\ 6¸\ e\0\0\80Ã\8bD$\10¹°`\0\0f\89\bAf\89H\ 2¹²`\0\0f\89H\ 4Af\89H\ 6¹´`\0\0f\89H\bAf\89H
+¹¶`\0\0f\89H\fAf\89H\ e¹Â`\0\0f\89H\10AëE\8bD$\10¹¸`\0\0f\89\bAf\89H\ 2¹º`\0\0f\89H\ 4Af\89H\ 6¹¼`\0\0f\89H\bAf\89H
+¹¾`\0\0f\89H\fAf\89H\ e¹Æ`\0\0f\89H\10Af\89H\123ÀÃSUVW\8b|$\14\8b\a\8bph3ÛSj\ 3Sh\92\ 2\1f\0j\ 1VWÿV\bSSSh\90\ 2\1f\0SVWÿV\bSj\ 1Sh
+\ 2\1f\0j\ 2]UVWÿV\b\83ÄTSj\ fSh   \ 2\1f\0UVWÿV\bSj
+Sh<\ 2\1f\0UVWÿV\bSh¸`\0\0Sh\10\ 2\1f\0UVWÿV\b\83ÄTShÄ`\0\0Sh\14\ 2\1f\0UVWÿV\bSh°`\0\0Sh\18\ 2\1f\0UVWÿV\bShÀ`\0\0Sh\1c\ 2\1f\0UVWÿV\b\83ÄTSh `\0\0Sh \ 2\1f\0UVWÿV\bSj\ 5Sh\ 4\ 2\1f\0j\ 1VWÿV\b\8b\a\92üÿWÿP\18\83Ä@_^]3À[Ã\8bD$\ 4\83è\0t-HuSÆ\ 5  \ fà@¡¤ \ fà%ÿÿ\8fÿ\r\0\0\80\0£¤ \ fàÆ\ 5  \ fà\8c\83%¤ \ fàóÃÆ\ 5  \ fà@¡¤ \ fà%ÿÿøÿ\r\0\0\b\0£¤ \ fàÆ\ 5  \ fà\8c\83%¤ \ fàüÃU\8bì \90 \ fà\8bM\10Àè\ 6\84Àu`I\8bE\14t\14It
+Iu\13\r\0\ 3\0\0ë\12\r\0\ 1\0\0ë\v\r\0\ 2\0\0\83}\10\ 4s\12f\8b\r\ fàºþÿ\0\0f#Ê\ f·ÑV\8bu\fWP\ f·ú\8bÇ\99RPVÿu\bÿV(\8dG\ 4\99RPVÿu\bÿV\18\83Ä$_^]á$ \ fàÁá\ 5\ 3M\14\8b\84\88(\ 1\0\0]ÃU\8bì \90 \ fàÀè\ 6\84ÀuL\8bE\10H\8bM\14u\ 6\81É\0\ 2\0\0f¡$ \ fàV\8bu\fºþÿ\0\0f#Â\ f·ÀW\ f·øQ\8bÇ\99RPVÿu\bÿV(ÿu\18\8dG\ 4\99RPVÿu\bÿV(\83Ä(_^]Ã\8bM\10¡$ \ fà\8bU\18Áá\ 5\ 3M\14\89\94\88(\ 1\0\0]ÃU\8bì\8bE\b\8b\bVW\8dU\bRj\0j\0\93üÿPÿQ f¡\ 4 \ fà\ f·Ð\ f·\ 5\90 \ fà%?ÿ\0\0\83Ä\14\83È@f£\90 \ fà\8bE\fÆ\ 5\ 4 \ fà\0£$ \ fàj\ 3Yf\89\r\92 \ fàÆ\ 5\ 4 \ fà\ 2\88H\f\8b\b\81É\0\0\0\b\89\b\8bM\10\80¹è\0\0\0\ 1¾ÿÿûÿ¿\0\0\ 4\0u\b        ¸\18\ 1\0\0ë\ 6\18\ 1\0\0\80¹é\0\0\0\ 1u\b  ¸\98\ 1\0\0ë\ 6\98\ 1\0\0\ 5\ fà\0\0\0\0f\89\15\ 4 \ fà3À^]ÃU\8bì\83ì$SV\8bu\b\8b\ 6W\8bxd\8dMèQ3ÛSSh¸\93üÿVÆE\v\0ÿP \ f\ 5\90 \ fà%ü\0\0\0¢\90 \ fà \90 \ fà\83Ä\14\88Eþu\r¸\0 \0\0f£$ \ fàë\b\8bE\f£$ \ fàf¡\ 4 \ fà\ f·À\89EÜf¡\ 4 \ fà\89]ôf\83È\a3Ûf£\ 4 \ fàCSÿuôWVèÀýÿÿ%ÿóÿÿ\r\0\ 3\0\0PSÿuôWVè2þÿÿ\83Ä$ÿEô\83\ 2rÓf¡\92 \ fà\83\0f\83È\ 3\80\0\92 \ fàt\ f\8bE\ff\8bH\ff\83É\ 3f\89H\f\83\0\8bEèh°\ 4\0\0PVÿP\ 4\92 \ fà\8b\ f·À\89EøfÁmø\b\ f·Eø\8bÓÓâ\83Ä\f\89\85Ð\ f\84r\ 2\0\0\8bEèj6PVÆE\v\0ÿP\ 4j\0ÿuôWVè ýÿÿ\8bÈ\81áð\0\0\0\83Ä\1c\83ù\10\ f\85\93\0\0\0\8bÐ\80â\ f:ÓtE;É\ f\85\82\0\0\0\83à\ f<\ 3u{j\ 2ÿuôWVèèüÿÿ\83Ä\10©\0\0\b\0\ f\84\1c\ 2\0\0©\0\b\0\0\ f\84\11\ 2\0\0jÿj\ 2ÿuôWVèIýÿÿ\83Ä\14\8b\ f·\15\92 \ fà\8bÃÓà\8bÈ÷Ñ#Ê\83\ 5f\89\r\92 \ fàv  ÆE\v\0éÖ\ 1\0\0\ f·\r\92 \ fàÿEð\vÈf\89\r\92 \ fà\88]\vé\bÿÿÿf\83\ 3\ f\84\92\0\0\0\83\0ÆEÿ\0\8b\8bÃÓà\8b\85ÁuK\80}ÿ\0udSÿuø\88]ÿWVèDüÿÿ%\1fóÿÿ\r\10\ 3\0\0PSÿuøWVè¶üÿÿ\8b\ f·\15\92 \ fà\8bÃÓàQ\vÂf£\92 \ fàè²ûÿÿ\83Ä(ë\1fSÿuøWVè\ 2üÿÿ%ÿðÿÿPSÿuøWVèyüÿÿ\83Ä$ÿEø\83\ 2\ f\82{ÿÿÿé\1e\ 1\0\0\80\0udSj\ 5WVèÌûÿÿ\8bÐ\81âÿðÿÿ¹\0\ 3\0\0\83Ä\10;Ñt\15%ÿóÿÿ\vÁPSj\ 5WVè.üÿÿ\83Ä\14\83\0SÿuøWVè\94ûÿÿ%ÿðÿÿPSÿuøWVè\vüÿÿ\83Ä$ÿEø\83\ 5rØé´\0\0\0\83\0\83\0ÆEÿ\0¡$ \ fà\8b\8d\84\ 1\18\ 1\0\0\89\8b\0\89Eä©\0\0\0\ 1tM\80}ÿ\0ufSÿuø\88]ÿWVè4ûÿÿ\8bÐ\81âÿðÿÿ¹\0\ 3\0\0\83Ä\10;Ñt\16%ÿóÿÿ\vÁPSÿuøWVè\95ûÿÿ\83Ä\14\8b\8b\r\0\0\ 4\0\89\ 1ë\1fSÿuøWVèðúÿÿ%ÿðÿÿPSÿuøWVègûÿÿ\83Ä$\83\80ÿEø\81\0\ 1\0\0\ f\82bÿÿÿ\80}\v\0\ f\85MýÿÿÿEô\83\ 2\ f\82@ýÿÿf\8bEÜ_^f£\ 4 \ fàÇ\ 5\ fà\0\0\0\0[ÉÃU\8bì\81ìÄ\ 2\0\0V\8bu\b\8b\ 6W\8dMøQ3ÿWWh¨\93üÿVÿP \8d\85<ýÿÿP\8dE\bP\8bEøWh\b\93üÿh|\92üÿVÇE\b¼\ 2\0\0ÿ\10\83Ä,;ÇuB\8b\ 6S\8dMüQVÿP(\83}ü YY\8bØ¿\0\0\0Ðt\1c\80½uýÿÿ\ 1u\13\8d\85<ýÿÿPWVè\19ûÿÿ\83Ä\f\8bØWVèÈûÿÿYY\8bÃ[_^ÉÃSVW\8b|$\10\8b\a\8bpdj\ 2j\0»ù\f\0\0SVWÿV j\ 6j\0SVWÿV \83Ä(_^¸\a\0\0\80[Ã3ÀÃU\8bì\83ì SVW\8b}\b\8b\a\8dMøQ3ÛSSh¸\93üÿW\89]ìÿP Ç\ 5\10\80\rà\0\0¿þ\89\1d\14\80\rà\83\r@\80\rà\ 4¡@\80\rà\83Ä\14\83à\ 2£@\80\ràt\a\83\r@\80\rà\ 1 \ 4\80\rà\f\ 6¢\ 4\80\rà\83\r\b\0¿þ\ 1 \ e\0¿þ\f\ f¢\ e\0¿þ\83%\b\0¿þþ¾\0\0\ 1\0¡\b\0¿þ¨\ 1t\12\8bEøjdPWÿP\ 4\83Ä\fC;Þrå;Þr
\12\0\0\80é\a\ 2\0\0\83\r\b\0¿þ\ 13Û¡\b\0¿þ¨\ 1u\12\8bEøjdPWÿP\ 4\83Ä\fC;Þrå;ÞsÎ3Û \ e\0¿þ$\ f\88Eÿu\1f\8bEøjdPWÿP\ 4\83Ä\fC\83û\ 6\83%\b\0¿þþé°\ 1\0\0\83\0¨\ 1\ f\84\8f\ 1\0\03ÿf¡h\0¿þ¨\ 1t\14\8bEøjdPÿu\bÿP\ 4\83Ä\fG;þrâ;þ\ f\83mÿÿÿ\8b}èÁç\1c\8bÇ\r\0\0\ f\0£`\0¿þf¡h\0¿þf\83È\ 3\89}àf£h\0¿þ3Ûf¡h\0¿þ$\ 3<\ 2t\14\8bEøjdPÿu\bÿP\ 4\83Ä\fC;Þrà;Þ\ f\83\1eÿÿÿ¡d\0¿þ\81Ï\ 2\0\ f\0\89\89=`\0¿þf¡h\0¿þf\83È\ 3f£h\0¿þ3Ûf¡h\0¿þ$\ 3<\ 2t\14\8bEøjdPÿu\bÿP\ 4\83Ä\fC;Þrà;Þ\ f\83Ðþÿÿ\8b}\b\8a\1de\0¿þ\8b\a\8dMìQj\0j\0h(\93üÿWÿP \83Ä\14\85À|#\8b\8b\b\8dUôR\8dUðR\ f¶ÓRÿuäj\ 4PWÿQ\14\8b\83Ä\1cë\b\89\89Eô3Û;Ãtv9]ôtq\ f·H   \ f·@\a\ 3ÈÁá\ 2\85Év`3ÿf¡h\0¿þ¨\ 1t\14\8bEøjdPÿu\bÿP\ 4\83Ä\fG;þrâ;þs5\8b\8b\ 4\98\vEà£`\0¿þf¡h\0¿þf\83È\ 3f£h\0¿þ\8b\ f·H   \ f·@\a\ 3ÈCÁá\ 2;Ùr©ë\a\80\0°\88î\8aEÿÿEèÐè\83\ 4\88Eÿ\ f\82Tþÿÿ3À\ f\r\ 4\80\rà_\81áý\0\0\0\88\r\ 4\80\rà^Ç\ 5\10\80\rà\0\0\0\0Ç\ 5\14\80\rà\0\0\0\0[ÉÃ\80|$\b\0t
+ÿt$\ 4è\17ýÿÿY3ÀÃf\8bT$\ 4ìÃf\8bT$\ 4\8aD$\bîÃf\8bT$\ 4\ f·ÀÃf\8bT$\ 4f\8bD$\bfïÃf\8bT$\ 4\8bD$\bïÃ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0S\0e\0t\0u\0p\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=\8füÿ=\8füÿ=\8füÿ\f\8füÿ\10\0\0\0X\93üÿ\9c\92üÿ\10\0\0\80\98\93üÿ¨\92üÿ \0\0\0H\93üÿ>\84üÿ \0\0\0\88\93üÿÎ\87üÿ \0\0\0x\93üÿ{\8eüÿ \0\0\80\18\93üÿo\86üÿ°\86üÿ(\87üÿ\10\0\0\808\93üÿô\92üÿô'J \0ßBMµR9Q\13\ 2\11=C\ 5Zz¬ã\8aI©I³bf=\e»?\eæ¨uv#C\87µi¤\9cÐ;U©^Ùí´¶\ 4A\9a)VE9ÑÞOø\19àuè\f\bC³qb\84%f
+\1c\0\18-\99,L\8c\94\1fbÏa\95Cô×ÇõñO\85\94ÂîõÞ&\15=d\94øIÄÑB\8e¨\85½ØÆ[ÞjIî\17äØ\9aK\94ÑÎ\82r0\bPX\8d9ïý\9d\ 3A¿\94xÆôþq/Æ\90Ü<û\13uJ\9eyYéÝx¹ú\90oL\1fk°ØH¢\ 1ºåñÍ}V\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0(\0\0\0©3\1d555:5q5\995¤5F6å7g9):Ø=ð=õ=\9b>\0\0\0\10\0\04\0\0\0d0à1ä1è1ì1ô1ø1\02\ 42\f2\102\182\1c2$2(2024282<2D2H2\0\0\0\0\0\0ÿÿÿÿ`ð#ͨ\1dñM¬\e\ 3­\ 1ü\94?\80\90\ 6@dL\0øLL\0\12VZL\ 1\ 4\vÀ\ 1`\ 2\0\0`\ 2\0\0\\94üÿ\0\0\0\0 L\0\0\b\ 1\0\0\0\0\0\0\0\0\0\0.text\0\0\0G*\0\0`\ 2\0\0`*\0\0`\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.rdata\0\0ã\1a\0\0À,\0\0\0\e\0\0À,\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0@.data\0\0\0Ô\ 4\0\0ÀG\0\0à\ 4\0\0ÀG\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\02\ 1\0\0 L\0\0@\ 1\0\0 L\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\8bD$\b\8b\bh\8cÚüÿPÿQ\18YYÃU\8bì\8bM\f\vM\10V\8bu\b\8bFDt\1c\83}\f\ 1u\ 6\83}\10\0t\ 53À@ë!\8bH\18\8bP\1c\8b@\10ë\b\8bH\b\8bP\f\8b\0RQPVè\8b\ 1\0\0\83Ä\103À^]ÃU\8bì\83ìh\8bED\89ED\81eD\0 \0\0tG\8bM0\89\8bM\18\89\8bM4\89\8bM8\89\8bM\1c\89\8b\89\8bM$\89M\9c\8bM\f\89\8bM(\89\8bM,\89\8bM\10\89\8bM\14ëE\8bM\18\89\8bM0\89\8bM\1c\89\8b\89\8bM4\89\8bM8\89\8bM\f\89M\9c\8bM$\89\8bM\10\89\8bM\14\89\8bM(\89\8bM,\89\8dMàS3Û\89\8bM\bW\89M\98\89\89]Ì©\0\ 1\0\0t
+ÇEÈ\ 1\0\0\0\89\8bE<V\8bu@\89\8b\ 6\89\8bF\ 4\89\8dE\98PèÅ\0\0\0ÿuÐ\8bøWh\84¿üÿè\85\ 3\0\0\8b\89\ 6\8b\83Ä\10\89F\ 4^;ûu#9]Dt\ f9]Ðu\ 59]Ôt\ f3À@ë'9]Ðu\ 59]Ôtñj\ 2\18\83ÿ\ 2u\ 4j\ 4ëô3À\83ÿ\ 3\ f\95ÀH\83à\ 3\83À\ 3_[ÉÃVè\14\ 3\0\0\8bðVh´¿üÿè \ 3\0\0YY\85öu\ 5j\ 5X^Ã\83þ\ 2u\ 4j\ 4ëô3À\83þ\ 3\ f\95À^H\83à\ 3\83À\ 3Ã\8bD$\ 4S\8b\$\10V\8bp@W\8b|$\1cWSÿt$\1c\8c\ 3\0\0\83Ä\10\ 1^\10\11~\14_^[ÃU\8bì\83ì@\83Màÿ\83MôÿS3ÛV\8bu\b\8b\ 6\89\89\89\89^8\89^<9^,w\10\ f\82\7f\ 2\0\0\83~( \ f\82u\ 2\0\0\ f\84m\ 2\0\0\8dEøP\8bF0\83à\ 1Pè±\ 6\0\0YY;Ãt\133É=\ 2P\0\0\ f\95ÁAA\8bÁéG\ 2\0\0Sj\18è]\ 2\0\0YY\89Eð;Ã\ f\84/\ 2\0\0W\89F@\89]üë\ 23Û9]üu\ e\8bF\10\8b~\ 4\89\8bF\14ë\f\8bF\18\8b~\b\89\8bF\1cSÿuì\89EÜPÿuØWèY \0\0\83Ä\14\85À\ f\85\97\ 1\0\0\8bOl\8b\8bWh3ÛÁè\10\89\89MÔ;Ë\ f\82{\ 1\0\0w\b\ f\82q\ 1\0\0\8dGPPè+\b\0\0Y\89E\b\85À\ f\84\\ 1\0\0\8b_\10\8bMÜP\8b\ 3ß+G\10\eO\14QPSèS
+\0\0\83Ä\10\85Àt\ eÿu\bè'\v\0\0Yé-\ 1\0\0\8b\8b\ f·C(\ f¤Ï\103ÒÁá\10\v×\vÁ\8bMø3ÿ\89\89UÄ;×w\ 6rÊ;ÁrÆ9Uär\rw\ 59Eàv\ 6\89\89\83}ôÿ\ f\85å\0\0\0\8bE\bÿp\10\8b}ðWè\97\ 1\0\0\8b\83g\10\0\83g\14\0\99RPV\89\89UÌèiüÿÿ\83Ä\14\85À\ f\85vÿÿÿ\8bG\10;C`\ f\85jÿÿÿ\8bG\14;Cd\ f\85^ÿÿÿWè\ 3\ 2\0\0ÿu\b\8bø\8dCPPWèô\a\0\0\83Ä\10ÿu\b\85Àt\11èi
+\0\0Wèó\0\0\0Yé6ÿÿÿèX
+\0\0Wèâ\0\0\0\8bF(\8bN,\8b\83Àà\83ÑÿQP\8dG PWèi\ 6\0\0\83Ã0SWè\9f\ 6\0\0\83Ä \85Àu2\8bG\b\ 3\a\8bO\f\13O\ 4\89F(\8b\89\8b\89F8\8b\89F<\8b\89N,3É9EÀu\ 59MÄt\rÿEü\83\ 2\ f\8c\1fþÿÿÿuðèo\0\0\0\83f@\0\83\0Y_|1\8bEø3É9Mär\18w\ 59Eàv\11ÿuàèµ\ 4\0\0Y\85À\ f\85¸ýÿÿèÞ\ 4\0\0\85À\ f\85«ýÿÿë\ 33À@^[ÉÃè6\ 4\0\0\85Àu\ 1Ã3É=\ 2P\0\0\ f\95ÁAA\8bÁÃÃÿt$\ 4èÉ$\0\0Y\85Àu\ 2ëþÃééÿÿÿU\8bì\83}\14\0\8bE\bw\ 6\83}\10\0v!\8bM\f\83E\10ÿ\8a\14\ 1\88\10\83U\14ÿ@\83}\14\0wìr\ 6\83}\10\0\8bE\b\8bD$\b\8b\ 4\85\10×üÿV\8bt$\b\89F\f+Át2Ht\19Hu?Qh\88\ 1\0\0è\88ÿÿÿP\89F\bè\84\10\0\0ë&QhÈ\0\0\0èrÿÿÿP\89F\ 4è\8a\r\0\0ë\10Qj`è_ÿÿÿP\89\ 6è\ 5\r\0\0\83Ä\f^ÃU\8bì\8bM\b\8bA\f\83è\0t,Ht\16Hu9ÿu\14ÿu\10ÿu\fÿq\bèÀ\13\0\0ë#ÿu\14ÿu\10ÿu\fÿq\ 4èÉ\ e\0\0ë\10ÿu\14ÿu\10ÿu\fÿ1èÁ\v\0\0\83Ä\10]ÃSV\8bt$\f\8bF\fW3Û3ÿ+ÃtNHt'HupSj@èãþÿÿYYSj@ÿv\b\8bøè\1a\14\0\0YPWèâþÿÿÿv\bëDSj è¿þÿÿYYSj ÿv\ 4\8bøè\ e\ f\0\0YPWè¾þÿÿÿv\ 4ë Sj\14è\9bþÿÿYYSj\14ÿ6\8bøè\89\v\0\0YPWè\9bþÿÿÿ6è\8fþÿÿ\83Ä\14\8bÇ_^[ÃU\8bì\83ì0Vj\0j@èeþÿÿPÿu\10\8bE\14ÿu\fºR°üÿÿu\b¹\9e°üÿ¾Ù§üÿ\89\89\89\89\89\89\89\89\89\89\89\89MüÿT\85Ð\83Ä\18^ÉÃèJ\17\0\0\85Àu\10èN\17\0\0\85Àu\aPèQ\17\0\0YÃU\8bìÿu\10ÿu\fÿu\bèñ\15\0\0\83Ä\f\83øHu\ fèÈÿÿÿ\85Àu\ 6]éÚ\15\0\0]ÃU\8bìÿu\10ÿu\fÿu\bè\7f\15\0\0\83Ä\f\83øHu\ fè\9eÿÿÿ\85Àu\ 6]éh\15\0\0]Ãj
+ÿt$\bh\a\10\0\0è\9cÿÿÿ\83Ä\fÃU\8bì\8d\83ì\18
+\17\0\0Y\85À\ f\85\96\0\0\08Eðu\rè\8f\16\0\0\85À\ f\85\84\0\0\0\80\0u    è\89\16\0\0\85Àuuè@ÿÿÿ\85ÀulPj
+hÌ¿üÿÿu\bè]ýÿÿj\0j\rhØ¿üÿÿu\fèLýÿÿj
+h\ 1\80\0\0h\a\10\0\0èNÿÿÿ\83Ä,\85Àu3ÿu\bèiÿÿÿY\85Àu&Vj\rj\ 1¾\b\10\0\0Vè*ÿÿÿ\83Ä\f\85Àu\ ej\rÿu\fVèîþÿÿ\83Ä\f^ÉÃU\8bì\83ì\14S3ÛV9]\bt
\ 5Tßüÿ\ 1\0\0\0èX\14\0\0èX\14\0\0\ f\85Û\0\0\0èe\14\0\0\ f\85Î\0\0\0èª\15\0\0\85Àt\1aè®\15\0\0\ f\85¸\0\0\0è\94\15\0\0\ f\85«\0\0\0S\8dEÿP\8dE\vPè@\16\0\0\83Ä\f\ f\85\92\0\0\08]\vut8]ÿuo\8bu\10j
+Vh\a\10\0\0èÚ\14\0\0\83Ä\f\83ø\ 2uL\8dEìPVè°þÿÿYY;Ãu`\ f¶F\ 1\83à\ 19]\f\ f\95Á;Èt  è\10þÿÿ;ÃuD°\ 19]\fu\ 2\8aÃ8F\ 1t\ eV\88F\ 1ècþÿÿY;Ãu(3Àë$;ÃtÀ¸\ 3P\0\0ë\19è8\15\0\0;Ãu\10Sè;\15\0\0Y;Ãu\ 5¸\ 2P\0\0^[ÉÃèg\13\0\0èt\13\0\0\83ø&u\ 23ÀÃU\8bì\83ì \8dEôPÿu\bj\0èÐþÿÿ\83Ä\f\85Àu%\83}\b\0\8bE\f\8b\89\b\8dEàPt\15h\0Àüÿj\0è¡\15\0\0\83Ä\f\85Àu\0ÉÃhè¿üÿëéU\8bì\83ì\fVj
+\8dEôP¾\a\10\0\0Vèë\13\0\0\83Ä\f\85Àu\15\8bE\b\89Eöj
+\8dEôPVèRýÿÿ\83Ä\f^ÉÃéB\15\0\0U\8bìQQ\8bE\b\99S\8b]\10\8bÈ\8bE\14V\8bò\99\eÖ;Ór\fw\ 5;E\fv\ 53À@ë{\83Éÿ\8bñ+ð\eÊ\89uø;M\1cw\arè;u\18rãW\8bø\ 3}\18\8bò\13u\1c;ór\awJ;}\fwE;M$\8bM w\ar;9Mør6\ 3Á\13U$;Ór\aw+;E\fw&\83Éÿ\8bñ+ð\eÊ;M,w\ar\16;u(r\11\ 3E(\13U,;Ór\fw\ 5;E\fv\ 53À@ë\ 23À_^[ÉÃ\8bD$\10ÿp\fÿp\bÿp\ 4ÿ0j\0j Pÿt$(ÿt$(ÿt$(è2ÿÿÿ\83Ä(Ã\8bD$\10ÿp\fÿp\bÿp\ 4ÿ0j\0j\18Pÿt$(ÿt$(ÿt$(è       ÿÿÿ\83Ä(Ã\8bL$\ 4\8bÁ\99V\8bð\8bD$\fW\8bú\99\89\ 1\8bD$\14\e×\89A\b\8bD$\18\89Q\ 4\89A\f¡øÁüÿ\83a\18\0\83a\1c\0\99_\89A\10\89Q\14\8bL$\ 4\8bD$\b\8bQ\f;P\fw\ er\b\8bQ\b;P\bs\ 43À@Ã\8bP\b\89Q\b\8bP\f\89Q\f\8bP\10\89Q\10\8bP\14\89Q\14\8bP\18\89Q\18\8bP\1c\89Q\1cÿp\f\8b\10ÿp\b\ 3Ð\8b\ 1R\ 3ÁPèÌùÿÿ\83Ä\103ÀÃU\8bì¡øÁüÿV\8bu\b\99;V\14w\ar8;F\10v3\8dE\bPÿv\10èÔ\ 2\0\0YY\85Àt!\8bN\b9M\bu\19\8b\ 6\ 3ÆQPè\17\ 3\0\0YY\85Àt\b\8bN\10\89H\10ë\ 23À^]ÃU\8bì\8bM\14S\8b]\18V\8bs\10\8b\ 4µ°ÖüÿW\8by\b\99;øu\a\8bA\f;Ât\ 53À@ë-\8bQ\14\8by\10;U\10r\awî;}\f\8b\ 1V\ 3ÁPRWÿu\bSj\0èt\ 3\0\0\83Ä\1c÷Ø\eÀ@_^[]Ã\8bL$\bS\8bY\bVW\8b|$\18\8bw\10\8b\ 4µ°Öüÿ\99;Øu\a\8bA\f;Ât\ 53À@ë\1a\8b\ 1V\ 3ÁPÿt$\18Wj\0èÉ\ 3\0\0\83Ä\14÷Ø\eÀ@_^[ÃU\8bìQVW\8b}\b3öVj\bh¸ÀüÿWè6\13\0\0\83Ä\10\85Àt\b3À@é.\ 1\0\0\83\7f\b\ 2\8bG\14\8bO\109E\10w\arå9M\fràS9u\18u39u\14t'\8d_\18SPQWèïýÿÿ\83Ä\10\85À\ f\85Ù\0\0\0ÿu\14è¢þÿÿY\89Eü;Æujj\ 4é\98\0\0\0\8d_0SPQWèÁýÿÿ\83Ä\10\85À\ f\85«\0\0\0\83{\b@\ f\85¡\0\0\09s\f\ f\85\98\0\0\0j\ 2\8ds\10ÿv\ 4ÿ6Wè\94ùÿÿ\89\8b\ 3j\0\ 3Ãj@Pÿuüè\88\12\0\0ÿuü\8bØèü÷ÿÿ\83Ä$\85Ût<j\ 3ë5\8bO\14\8ds\10;N\ 4w  rR\8bO\10;\ erKPSÿu\10ÿu\fWè_þÿÿÿuü\8bØè5\ 1\0\0\83Ä\18\85Ût\ 5j\ 2XëA\8b\1e\8bv\ 4\85öw\ar\1c\83ûpr\17\8dGPPÿw\14ÿw\10Wèéüÿÿ\83Ä\10\85Àt\ 53À@ë\15\8dGPPVSWèÑüÿÿ\83Ä\10÷Ø\eÀ÷Ø[_^ÉÃU\8bìV\8bu\b\83\ 2\8dF\bt\bj\ 5\90\0\0\0S\8b\1eW\8b~\ 49}\10w\are9]\fr`PWSVè¸üÿÿ\83Ä\10\85ÀuP\8dF\b;x\14w\arF;X\10rAÿu\14Pÿu\10ÿu\fVè©ýÿÿ\83Ä\14\85Àt\ 4j\ 6ë(\83~\1c\0w\br\1e\83~\18hr\18\8b^\ 4\8b>\8dFPPSWVèhüÿÿ\83Ä\10\85Àt\ 5j\ 5\16\8dF0PSWVè'üÿÿ\83Ä\10÷Ø\eÀ\83à\ 5_[^]Ã\8bD$\ 4;\ 5øÁüÿs\15\8b\ 4\85°Öüÿ\8bL$\b\8dD\0\b\89\ 13À@Ã3ÀÃj\0j\14è\8aöÿÿ\83`\b\0\83`\f\0YYÃV\8bt$\b\85öt\19ÿv\bè\7föÿÿÿv\fèwöÿÿVèqöÿÿ\83Ä\f^ÃU\8bì\83ì\18Vè¼ÿÿÿ\8bð\8bE\b\89\8bE\f\99j\0j\ 4\89\8dEèVP\89UôÆEø\0è\ 3\11\0\0\8b\ 6Áà\ 2\83Ä\10=\80\0\0\0t\15=\0\ 1\0\0t\ e=\0\ 2\0\0t\a=\0\ 4\0\0u_S\99W\8bÚ\8bøSWèùõÿÿSW\89F\bèïõÿÿj\0\89F\fj\ 4\8dF\ 4P\8dEèPè³\10\0\0SWÿv\b\8dEèPè¥\10\0\0SWÿv\f\8dEèPè\97\10\0\0\83Ä@\80\0_[u\f\8b\vEôu\ 4\8bÆë    Vè#ÿÿÿ3ÀY^ÉÃU\8bìQW\8b} ;=øÁüÿr\a3Àé\83\0\0\0\8dE PWèÄþÿÿYY\85Àté\83}\b\0\8b\ 4½°ÖüÿS\89Eüt\17\83}\f\0uYÿu ÿu\bèøþÿÿYY\8bØë\a\8b]\f\85ÛtA\85Ût=VWÿu\18ÿu\14ÿu\10è½öÿÿ\8bðVWÿuüÿu\1c\v\13\0\0V\8bøè+õÿÿ\83Ä(\83}\f\0^u\a\8bþÿÿY\8bÇë\ 23À[_ÉÃU\8bìW\8b}\18;=øÁüÿr\ 43Àëi\8dE\18PWè+þÿÿYY\85Àtì\83}\b\0S\8b\1c½°ÖüÿVt\17\83}\f\0u@ÿu\18ÿu\bèaþÿÿYY\8bðë\a\8bu\f\85öt(\85öt$ÿu\10WSÿu\14\86\12\0\0\83Ä\14\83}\f\0\8bøu\a\rþÿÿY\8bÇë\ 23À^[_]ÃU\8bì\81ìP\ 1\0\0SVW\8dH\1c\ f\11Áâ\18A\ f¶9Áç\10\v×A\ f¶9Áç\b\v×A\ f¶9\v×A\89\94µ°þÿÿF\83þ\10|ÔjPZ;ò}\1f\8d\8cµxþÿÿ+Ö\8bq,3q\183qø31\83Á\ 4JÑÆ\89q4uê\8bH\b\8bx\f\8bp\10\8bP\14\83\0\89\8bH\18\89\89\8b\8b]üÁÁ\ 5\ 3\8c\9d°þÿÿ\ 3\83û\14}\11\8bÚ3Þ#ß3Ú\8d\8c\19\99y\82ZëA\83}ü(}\ f\8bÚ3Þ3ß\8d\8c\19¡ëÙnë,\83}ü<}\19\8bÞ\vß\8bþ#}ð#Ú\vß\8b\8d\8c\19ܼ\e\8fë\r\8bÚ3Þ3ß\8d\8c\19ÖÁbÊÿEüÁÏ\ 2\83}üP\89\8bÖ\8b÷\8b\89\89\ f\8cvÿÿÿ\8bX\b\ 3Ù\8bH\f\ 3Ï\89H\f\8bH\10\ 3Î\89H\10\8bH\14\ 3Ê\8b\89H\14\8bH\18_\ 3Ê^\89X\b\89H\18[ÉÃ\8bD$\ 4\8b\bS\8b\$\14V\8bt$\10W\8b|$\18\83á?\ 18\11X\ 4ë\1a\8a\16\83Çÿ\83Óÿ\88T\b\1cAF\83ù@u\aè\90þÿÿ3É\8b×\vÓuà_^[ÃU\8bì\83ì\10SV\8bu\b\8bF\ 4W\8b>\ f¤ø\ 3j\0\8d^\1cj\ 1\89\89EôÁç\ 3hÈÀüÿë j\0j\ 1hÄÀüÿVè\82ÿÿÿ\8b\ 6\83à?\83Ä\10\83ø8uâ\85ÉuÞ!Müj\aX+EüÁà\ 3PÿuôWèÈ\17\0\0j\0\88E\vj\ 1\8dE\vPVèHÿÿÿ\83Ä\1cÿEü\83\b|Ðj\ 5\83Æ\b_\8b\ 6\8bÈÁé\18\88\vC\8bÈÁé\10\88\vC\8bÈÁé\b\88\vC\88\ 3C\83Æ\ 4OuÝ\8bEø_^[ÉÃ\8bD$\ 4\83 \0\83`\ 4\0Ç@\b\ 1#EgÇ@\f\89«ÍïÇ@\10þܺ\98Ç@\14vT2\10Ç@\18ðáÒÃÃU\8bì\83ì`\8dE VPèÁÿÿÿÿu\10\8dE ÿu\fÿu\bPèºþÿÿ\8dE Pèôþÿÿ\8bu\14\83Ä\18\8a\10@\88\141A\83ù\14\8bÆ^ÉÃ\8bL$\ 4VWº´Úüÿj\b\8bÁ+Ñ^\8b<\ 2\898\83À\ 4Nuõ!q$!q _^ÃU\8bì\81ì,\ 1\0\0\85É\ f\8eU\ 1\0\0\8dEà+E\bS\89\8bE\fV\83À\ 2\89MÜW3É\ f¶Pþ\ f¶pÿÁâ\b\vÖ\ f¶0Áâ\b\vÖ\ f¶p\ 1Áâ\b\vÖ\89\94\8dÔþÿÿA\83À\ 4\83ù\10|Òj0\89\8d\85\fÿÿÿ^\8b\10\8b\8búÁÇ\ f\8bÚÁê
+ÁÃ\r3û3ú\8bÑÁÂ\ e\8bÙÁË\a3ÓÁé\ 3\ 3ú\ 3\83À\ 4\ 3xèN\89x\ 4\8bu\bj\bY\8d}àó¥\8buð3Ò\8b\8bÆÁÈ\v\8bÎÁÁ\a3Á#þ\8bÎÁÉ\ 6\8b\8bÎ÷Ñ#Mø#]à3Ï\8b\ 3Á\ 3\82\14Ûüÿ\8b\ 3\84\15Ôþÿÿ\83Â\ 4\ 3EüÁÉ\rÁÇ
+3Ï\8b}àÁÏ\ 2\8b}ä3}à#}è3û\ 3Ï\8b\89\8b\89\8b\89\8b\89\8b\89\8b\ 3È\ 3ð\81ú\0\ 1\0\0\89\89\ f\8cjÿÿÿ\8bE\bj\b\89uðY\8b\8b\14\ 2\ 1\10\83À\ 4IuòÿMÜ\8b\ f\85Ãþÿÿ_^[ÉÃU\8bìV\8bu\b\8bN$W\8b}\10j@X3Ò+Á9U\14w\vr\ 4;øs\ 5\89}\bë\ 3\89E\bRÿu\b\8dD1(ÿu\fPè.ðÿÿ\8bV$3À\83Ä\10\8bÊ\ 3Ï\13E\14\85Àw\ er\ 5\83ù@s\a\ 3×\89V$ëQ\8bE\b\8bM\f+}\b\ 3ÁS\89E\b\8dF(P3É\8bßVAÁë\ 6è\1dþÿÿÿu\b\8bËVè\12þÿÿ\8bE\bj\0\83ç?Áã\ 6\ 3ÃWP\8dF(PèÉïÿÿ\83Ã@\83Ä \ 1\89~$[_^]ÃU\8bìSV\8bu\b\8bN$\8b^ W\8bÁ\83à?²7:Ð\eÿ÷ßG\8bÇÁà\ 6\8bÑ\89E\b+Âj\0P\8dD1(\ 3Új\0PÁã\ 3èØ        \0\0\8bF$ÆD\ 6(\80\8bE\b\ 3Æ\8bËÁé\b\88H&\88X'\8bËÁé\10\88H%Áë\18\88X$\8dF(PV\8bÏèzýÿÿ\83Ä\183ÿ\8d\ 4¾\8a\10\8d\8c¾ª\0\0\0\88Q\ 1\8b\10Áê\b\88\11\8aP\ 2\88Qÿ\8a@\ 3G\83ÿ\b\88Aþ|Ø_\8d\86¨\0\0\0^[]Ã\8bT$\ 4VW¹ÔÚüÿj\b\8bÂ+Ê^\8b<\ 1\898\8b|\ 1\ 4\89x\ 4\83À\bNuî!rD!r@_^ÃU\8bì\81ìø\ 2\0\0\85Ò\ f\8eN\ 3\0\0\8dE¼+E\bSV\89E\9c\83Á\ 2\89U¬W3ö\ f¶Aþ\99\ f¤Â\bÁà\b\8bø\ f¶Aÿ\8bÚ\99\vø\ f\ 1\vÚ\ f¤û\bÁç\b\99\vø\ f¶A\ 1\vÚ\ f¤û\bÁç\b\99\vø\ f¶A\ 2\vÚ\ f¤û\bÁç\b\99\vø\ f¶A\ 3\vÚ\ f¤û\bÁç\b\99\vø\ f¶A\ 4\vÚ\ f¤û\bÁç\b\99\vø\ f¶A\ 5\vÚ\ f¤û\bÁç\b\99\vø\vÚ\89¼õ\býÿÿ\89\9cõ\fýÿÿF\83Á\b\83þ\10\ f\8cmÿÿÿ\8d\85xýÿÿ\89M\8c\89EüÇE¨@\0\0\0\8bH\98\89\8bH\9c\89\8b\b\8b@\ 4\8bù\8bØ\ f¬ß\13\v÷\8bÑÁâ\r\8bø\89M\94\89E\98\ f¤È\ 3Áë\13\vÓÁá\ 3Áï\1d\vù\8bM\94\8b}´3Û\vØ\8bE\98\ f¬Á\ 6\8b]´3ñÁè\ 6\8b\89u\88\8bð\ f¬þ\b\89U\90\vÖ\8bÈ\8bð\ f¬Ø\ 1Áá\18Áï\bÁæ\1f\vÏÑë\vó3Î\8bu°3ÿ\vø\8b\ f¬Æ\a3×3Ö\8bu\88Áè\a\8b\ 3ò\8bU\90\13Ñ\ 3p\90\13P\94\ 3\13\89p\10\89P\14\83À\bÿM¨\89\ f\855ÿÿÿ\8bu\b\83\0j\10Y\8d}¼ó¥\8b\8b\ f¤Ö\17\8b\8b\8b]àÁâ\17\ f¬ß\12\vÎ3ö\v÷\8b}ÜÁè   \vÂ\8bUÜÁâ\ eÁë\12\vÓ\8b]à3Ê\8b\ f¬ß\ e3ÆÁâ\12\v÷\8b}ä#}Ü3Æ\8buàÁë\ e\vÓ\8b]è#]à3Ê\8bUÜ÷Ò#Uì÷Ö#uð3×3ó\ 3Â\8b\13Î\ 3\82\14Üüÿ\8b\13\8a\18Üüÿ\ 3\84\15\býÿÿ\8b\13\8c\15\fýÿÿ\ 3\8b\13\8b\ f¬ò\1c\ f¤û\1e\89\8b\89M¤3É\vÊ\8bUÀÁî\1cÁà\ 4\vÆÁê\ 2Áç\1e\v×\8b}¼3ö\vó\8b]À3Ê\8b\ f¤û\193ÆÁê\a3öÁç\19\v×\8b}Ä#}¼3Ê\8bUÄ3U¼\vó#UÌ\8b]È#]À3Æ\8buÈ3uÀ3×#uÐ3ó\ 3Ê\8b\89\8b\89\8b\89\8b\89\8b\89\8b\89\8b\13Æ\ 3\8b\13\ 3\89\8b\13\83\b\81\80\ 2\0\0\89\8b\89\8b\89\8b\89\8b\89\8b\89\89\89\89\ f\8cpþÿÿ\8bE\b\8bM\9cj\bZ\8b4\ 1\ 10\8bt\ 1\ 4\11p\ 4\83À\bJuîÿM¬\8bM\8c\ f\85Çüÿÿ_^[ÉÃU\8bìV\8bu\b\8bND¸\80\0\0\03Ò+ÁW\8b}\109U\14w\vr\ 4;øs\ 5\89}\bë\ 3\89E\bRÿu\b\8dD1Hÿu\fPèHëÿÿ\8bVD3À\83Ä\10\8bÊ\ 3Ï\13E\14\85Àw\11r\b\81ù\80\0\0\0s\a\ 3×\89VDëP+}\b\8bE\b\8bM\fS\ 3Á3Ò\8bß\8dNHVBÁë\a\89E\bè üÿÿ\8bM\bV\8bÓè\15üÿÿ\8bE\bj\0\83ç\7fÁã\a\ 3ÃWP\8dFHPèáêÿÿ\83ë\80\83Ä\18\ 1^@\89~D[_^]ÃU\8bìSVW\8b}\b\8bOD\8b_@\8bÁ\83à\7f²o:Ð\eö÷ÞF\8bÆÁà\a\8bÑ\89E\b+Âj\0P\8dD9H\ 3Új\0PÁã\ 3èð\ 4\0\0\8bGDÆD\aH\80\8bE\b\ 3Ç\8bËÁé\b\88HF\8bËÁé\10\88XG\88HEÁë\18\8dOHW\8bÖ\88XDè~ûÿÿ\83Ä\14\83e\b\0\8b]\bÁã\ 3\8d4;\8a\ 6\8d\9c;N\ 1\0\0\88C\ 1j\bÿv\ 4ÿ6èL\ f\0\0\88\ 3j\10ÿv\ 4ÿ6è>\ f\0\0\88Cÿj\18ÿv\ 4ÿ6è/\ f\0\0\88Cþj ÿv\ 4ÿ6è \ f\0\0\88Cýj(ÿv\ 4ÿ6è\11\ f\0\0\88Cüj0ÿv\ 4ÿ6è\ 2\ f\0\0\83ÄH\88Cûj8ÿv\ 4ÿ6èð\ e\0\0\83Ä\fÿE\b\83}\b\b\88\ f\8cpÿÿÿ\8d\87H\ 1\0\0_^[]ÃU\8dl$\98\81ìÈ\0\0\0\8dE VPè¶÷ÿÿÿux\8dE ÿutÿupPè2ùÿÿ\8dE PèØùÿÿ\8bu|\83Ä\18\8a\10@\88\141A\83ù |ô\8bÆ^\83ÅhÉÃU\8bì\81ì\88\ 1\0\0\8d\85xþÿÿVPèMúÿÿÿu\10\8d\85xþÿÿÿu\fÿu\bPèÆýÿÿ\8d\85xþÿÿPèmþÿÿ\8bu\14\83Ä\18\8a\10@\88\141A\83ù@|ô\8bÆ^ÉÃ\8bÑÁê\18\88\10\8bÑÁê\10\88P\ 1\8bÑÁê\b\88P\ 2\88H\ 3Ã\ f\b\ f¶P\ 1Áá\b\vÊ\ f¶P\ 2\ f¶@\ 3Áá\b\vÊÁá\b\vÈ\8bD$\ 4\89\bÃU\8bìQ\8dEüP\8dF\ 2èËÿÿÿÿu\bWÿuüVè\80\a\0\0\83Ä\14\85Àt\a¸\ 4P\0\0ÉÃ\8dEüP\8dG\ 6è¤ÿÿÿ\8bEüYÉÃ\81ì\0\ 1\0\0Wh\0\ 1\0\0\8d|$\bè®ÿÿÿY_\81Ä\0\ 1\0\0Ãé`\a\0\0\8cØüÿèÒÿÿÿ^ÃV¾\80ØüÿèÅÿÿÿ^ÃV¾hØüÿè¸ÿÿÿ^ÃU\8bì\83ìlVj\0jl\8dE\94hìÙüÿPèDèÿÿ\8bM\b\83Ä\10\8dE è\12ÿÿÿ\8bM\f\8dEÚè\aÿÿÿ\8bM\10\8dEáèüþÿÿ\8du\94èqÿÿÿ^ÉÃU\8bì\81ì\b\ 2\0\0VWj\0h\ 6\ 1\0\0\8d\85øþÿÿhäØüÿPèòçÿÿ\8bu\10\8dN\16\8d\85úþÿÿè½þÿÿ\8bM\b\8d\85\ 2ÿÿÿè¯þÿÿ\8bÎ\8d\85
+ÿÿÿè¢þÿÿj\0Vÿu\f\8d\85\ eÿÿÿPè´çÿÿh\0\ 1\0\0\8d½øýÿÿ\8dµøþÿÿèºþÿÿ\83Ä$_^ÉÃU\8bì\81ì \ 1\0\0VWj\0j\1a\8dEàhÈØüÿPèzçÿÿ\8bM\b\8dEêèKþÿÿ\8bM\10\8dEòè@þÿÿh\0\ 1\0\0\8d½àþÿÿ\8duàèmþÿÿ\8bð\83Ä\14\85öu*9E\10v%\8dEüP\8d\85êþÿÿè+þÿÿVÿuü\8d\85îþÿÿPÿu\fè!çÿÿ\83Ä\14_\8bÆ^ÉÃV¾¼Øüÿèfþÿÿ^ÃV¾°ØüÿèYþÿÿ^ÃV¾\98ØüÿèLþÿÿ^Ãj\0j\0jÿè\89þÿÿ\83Ä\fÃV¾<Øüÿè0þÿÿ^ÃV¾$Øüÿè#þÿÿ^ÃU\8bì\83ì\10Vj\0j\ e\8dEðh\14ØüÿPè¯æÿÿ\ f·Eü\8aM\b\83Ä\10\8d\88L\ 5ðèòýÿÿ^ÉÃU\8bì\81ì\0\ 1\0\0VWh\0\ 1\0\0\8d½\0ÿÿÿ¾ü×üÿè\92ýÿÿY_^\85Àu\17Pj\16\8d\85\ eÿÿÿPÿu\bè]æÿÿ\83Ä\103ÀÉÃU\8bì\8d\83ì\18Pè±ÿÿÿY\85Àu$\8bM\b\85Ét\ 5\8a\88\11\8bM\f\85Ét\ 5\8a\88\11\8bM\10\85Ét\ 5\8a\88\11ÉÃQj\0\8dD$\ 4Pj\0èøýÿÿ\83Ä\10ÃU\8bì\83ìHVWj\0j&\8dE¸h¤×üÿPèïåÿÿ\8bM\b\8dEÂèÀüÿÿ\ f·EÜj\0j\14ÿu\f\8dD\ 5¸PèÏåÿÿj\1e\8d\8du¸èÞüÿÿ\83Ä$_^\85Àu\14Pj\14\8dEêPÿu\10èªåÿÿ\83Ä\103ÀÉÃU\8bì\8bE\bë\ e\83E\10ÿ\8aM\f\88\b\83U\14ÿ@\8bM\10\vM\14uê]ÃU\8bì\8bE\b3Ò9U\10u
+9U\14u\ 53À@]Ã\8bM\fV+ÈW\83E\10ÿ\ f¶4\ 1\ f¶8\83U\14ÿ3÷\vÖ\8bu\10@\vu\14uä3À\85Ò_\ f\95À^]ÃU\8bìV\8bu\b\80~\10\0t\ 43Àë8S\8b]\14W\8b}\10;^\fr\ fw\ 5;~\bv\bÆF\10\ 13Àë\1aSWÿ6ÿu\fè\ 5åÿÿ\ 1>\8bE\f\83Ä\10)~\b\19^\f_[^]ÃU\8bì\83ì\f\89\89\89Eü9\ 1vBSVW\8b\8bE\b\8bq\bÁâ\ 2\ 3Â\8b\142\8b83ö3Û+ú\8b\eÞ\8b\ 3÷\13Ó\890\8bÂÁø\1fÿEü\89\8b\89Uô;\ 1rÄ_^[ÉÃU\8bì\83ì\1c\8bM\10SWÿ13ÀPÿu\fèà    \0\0\8bÈ\8bE\b\8b\0\8bÚ3Ò\ 3È\8bF\ 4\13Ú\ f¯Á\8bV\bÿ2\89Mä3ÉQP\89Eìè\9a        \0\0\83Ä\18\ 3\8bú\13ù\89Eð3À@\89Eü9\ 6vt\8bU\b\8bE\10\8dJ\ 4\89\89Eôë\ 3\8bEôÿ4\b3ÀPÿu\fè]    \0\0\ 3Ã\13Ñ\8b\8b    3Û\ 3Á\8b\89\8bF\bÿ4\88\13Ó3ÀPÿuì\8bÚè3    \0\0\83Ä\18\ 3Ç\13Ñ\ 3\13Ñ\8bMøÿEü\89\8b\83Á\ 4\8bú\89Mø;\ 6r\9f\8bU\b3À3É\ 3û\13È\8b\89|\82ü3À\vÁ_[t\vR\8bÎè·þÿÿ\83Ä\ 4ÉÃVW\8bð3ÿ3À9>v%\89<\83@;\ 6rø9>v\19ÿt$\10\8bD$\10ÿ4¸Sèâþÿÿ\83Ä\fG;>rç_^ÃU\8bì\83ì\10SVW\8bø\8bñ\8b\ 63ÛÁà\ 2SPè?ãÿÿ\89\8b\ 6Áà\ 2SPè0ãÿÿ\89\8b\ 6Áà\ 2SPè!ãÿÿ\89\8b\ 6\83Ä\183É;Ã~1+Á\8d\ 4\87\ f¶Pü\ f¶XýÁâ\b\vÓ\ f¶Xþ\ f¶@ÿÁâ\b\vÓÁâ\b\vÐ\8b\89\14\88\8b\ 6A;È|Ïÿv\f\8b]øÿuô\8bÆèDÿÿÿYYÇEð\b\0\0\0ÿuø\8b]üÿuø\8bÆè+ÿÿÿSS\8b\8bÆè\1fÿÿÿ\83Ä\10ÿMðuÜÿuô\8bÆS\8b]üè      ÿÿÿYY\8b\ e\85Ét#\8bV\b\8d\ 4\8b\89Uðë\ 3\8b\83è\ 4\8b\18\8b\14\ 2I;Úr\13w\ 4\85Éuêÿuü\8bÎè\86ýÿÿ\83Ä\ 4\8b6ë!\8b\8b\ 4°\8bÈÁé\18\88\ fG\8bÈÁé\10\88\ fG\8bÈÁé\b\88\ fG\88\aGNyÜÿuôè@âÿÿÿuøè8âÿÿÿuüè0âÿÿ\83Ä\f_^[ÉÃU\8bìQ\8bE\bSVWÇEü\ 1\0\0\0\85À\ f\84º\0\0\0\83}\f\0\ f\84°\0\0\0\83}\18\0\ f\84¦\0\0\0\8b\0\8b]\10\8bÈÁá\ 2\ f\85\94\0\0\0\ f¶M\14;\røÁüÿ\ f\8d\84\0\0\0\8bñÁæ\ 2\8b\8e°ÖüÿÁé\ 2;Áur3ÀPSè­áÿÿ\8bøY3ÀY\85ÿtaPSÿu\fWè®áÿÿ\8bM\b\8bÇè4þÿÿ\8b\8e\94Þüÿ\8b¶àÖüÿ\8bÆ\99RPQWè        üÿÿ\83Ä \85Àt\ 4\83\0j\0+ÞSÿu\18\ 3÷Vèîûÿÿ\83Ä\10\85Àt\ 4\83\0Wè[áÿÿ\8bEüYë\ 23À_^[ÉÃQ\8d\ 4$Pè¥\ 5\0\0YÃÿt$\10ÿt$\10ÿt$\10ÿt$\10h`Úüÿh\0\0Ôþèô\ 4\0\0\83Ä\18ÃéÌÿÿÿU\8bì\80}\f\0\8bE\bS\8a\18t8\8bE\10#E\14VW\83Ïÿ;Çu\ 4\8b÷ë\ fÿu\14ÿu\10è\8d\ 5\0\0\8bð\8bú\8bE\b\8a\18\84Ûx\vWVè\86\ 5\0\0\84Àtì_^\8aÃ[]Â\10\0U\8bì\8bE\18#E\1cSVW\83Ïÿ;Çu\ 4\8b÷ë\ fÿu\1cÿu\18èJ\ 5\0\0\8bð\8bú\8aE\10
+E\14 E\fÿu\1cÿu\18ÿu\fÿu\bèrÿÿÿ\80}\f\0\8aØt\ 4\84Û}/\8aÃ"E\10:E\10u\ 5\84]\14t\vWVè\17\ 5\0\0\84ÀtÉ\8aÃ"E\10:E\10u\v\8aE\14\84Øu\ 43Àë\ 5¸\12\0\0\80_^[]Â\18\0\8bD$\ 4Æ\0\ 2ÿ5(ßüÿÿ5$ßüÿj\0j j5PèZÿÿÿÂ\ 4\0\8bD$\ 4\83À\18Æ\0@ÿ50ßüÿÿ5,ßüÿj\0j@j\18Pè5ÿÿÿÂ\ 4\0ÿt$\f\8bD$\bÿt$\f\83À\18j\0j\10j\18\17ÿÿÿÂ\f\0VWÿ58ßüÿ\8b|$\10ÿ54ßüÿ\8dw\18j\bVè©þÿÿ\84À|\a¸\12\0\0\80ë#¨\bt\a¸\ 5\0\0\80ë\18\80|$\10\0Æ\ 6 t\fjÿjÿWè\9bÿÿÿë\ 23À_^Â\b\0S\8b\$\10V\8bt$\fW\8d~\18\8a\a¨@u.ÿ58ßüÿÿ54ßüÿj\bWèNþÿÿ\84À|\a¸\12\0\0\80ëX¨\bu\v\85Ûv\a¸\ 4\0\0\80ëI\8bD$\14\83û\ 4r\13\8bËÁé\ 2\8b\10\83À\ 4\83ë\ 4I\89V$uò\85Ûv    \8a\b@K\88N$u÷ÿ58ßüÿÿ54ßüÿj\bWè÷ýÿÿ\84À}©\ f¾À\83à\bÑè_^[Â\f\0V\8bt$\bWÿ58ßüÿ\8d~\18ÿ54ßüÿj\10WèÈýÿÿ\84À|\a¸\12\0\0\80ë[¨\10u\a¸\ 4\0\0\80ëP\8bT$\14\8bD$\10\83ú\ 4r\15\8bÊÁé\ 2S\8b^$\89\18\83À\ 4\83ê\ 4Iuò[\85Òv \8aN$\88\b@Ju÷ÿ58ßüÿÿ54ßüÿj\10Wèoýÿÿ\84À}§\ f¾À\83à\10Áè\ 2_^Â\f\0U\8bì\ f¶E\f\83ì\f\83è\0VW\8d\ f\84\19\ 1\0\0\83èb\ f\84ó\0\0\0HHj\ 4Y\ f\84µ\0\0\0+ÁtD\83è
+t(\83è\ 5t\b3À@éô\0\0\0\8bE\10\ 1\b\8b\0f\8b@üfÁÀ\bj\ 2f\89EôYéÈ\0\0\0\8bE\10\ 1\b\8b\b\8b\83Á\ 4\89\b\8bIüé±\0\0\0\8bE\10\ 1\b\8b\0\8bHüf\8b\ 1fÁÀ\bf\89\8bA\ 2\8bø\8bÐS¾\0\0ÿ\0#þÁê\10\vú\8bغ\0ÿ\0\0#ÂÁã\10\vØ\8bA\ 6\8bÈ#Î\8bðÁî\10\vÎ\8bðÁæ\10#ÂÁã\b\vðÁï\b\vûÁé\bÁæ\b\vÎj
+\89MúY\89\8dUô[ëD\8bE\10\ 1\b\8b\0\8b\8bð\8bøÁï\10\81æ\0\0ÿ\0\v÷\8bø\81ç\0ÿ\0\0Áà\10\vøÁî\bÁç\b\v÷\89uôë\11\8bE\10\83\0\ 4\8b\0\8a@ü3É\88EôAQRÿu\bè¸ýÿÿë\ 5¸\ 2\0\0\80_^ÉÂ\f\0U\8bì\8bE\10\83\0\ 4\8b\bS\8a]\f\ f¶Ó\83ê\0V\8b\ f\84â\0\0\0\83êbt2JJt*\83ê\ 4t!\83ê
+t\12\83ê\ 5t\b3À@éÇ\0\0\0j\ 2\15\83Á\ 4\89\b\8bIüë\vj
+ëïj\ 4ëë3ÉAQVÿu\bèÙýÿÿ\89E\f\80ûdtj\80ûht\ f\80ûw\ f\85\83\0\0\0\ 6\bë}\8bN\ 2\ 6\b\8bÁ\8bÑÁê\10W¿\0\0ÿ\0\vÂ\8bÙÁã\10º\0ÿ\0\0\vÙ\8bN\ 6Áè\bÁã\b\vÃ\89F\ 2\8bÙ#Ú\8bÁ\8bÑ#×Áà\10Áé\10\vÃ\vÑÁà\bÁê\b\vÂ\89F\ 6_ë'\8b\ 6\8bÈ\8bÐÁê\10\81á\0\0ÿ\0\vÊ\8bÐÁâ\10%\0ÿ\0\0\vÐÁé\bÁâ\b\vÊ\89\ e\8bE\fë\ 5¸\ 2\0\0\80^[]Â\f\0U\8bìQQSV\8bu\b\8dE\10»\96»üÿV\89\89Eøèîûÿÿ\85À|fW3ÿG\8bU\f\8a
+\84ÉtX\80ù%u8B\8dEøP\89U\f\ f\ 2PVÿUü;Çu8\8bM\f\809/t\f\89}\b\8bM\b\85Éuùë$WVèìûÿÿÇEüÒ¼üÿë\149]üt\a¸\ 2\0\0\80ë\bWRVè\1füÿÿÿE\f\85À}\9f_ÆF\18@^[ÉÃ\8bL$\ 4\85Éu\a¸\ 2\0\0\80ë\e¸\0\0Ôþ\89\ 1\8a\0<ÿu\a¸\a\0\0\80ë\aÿ1è0ûÿÿÂ\ 4\0ÌÌÌÌÌÌÌÌÌ\8bD$\ 4\ fÈÂ\ 4\0\ f1\ 3D$\ 4\13T$\bÂ\b\0\ f1;T$\bu\ 4;D$\ 4\ f\97Àó\90Â\b\0U\8bìQè\1d\0\0\0\8b\b\8dUüRÿu\bPÿQL\83Ä\f\85À}\ 4\83\0\8bEüÉÃé\v\0\0\0ÌÌÌÌÌÌÌÌÌÌÌPP\ f\7f<$XZÃÌÌÌÌÌÌÌ\ fo|$\ 4ÃÌÌÌÌÌÌÌÌÌÌU\8bìQ\8bE\b\8bU\f\8bM\10\83á?\ f­ÐÓê\83ù r\ 4\8bÂ3ÒYÉÃÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌU\8bì\8bE\b÷e\10PR\8bE\f÷e\10Z\ 3ÐXÉÃ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0LoadFirmware() returned %d, firmware_index=%d
+\0\0S3Resume() returned %d
+\0\ 1\0\0\0\0\0\0\0\0\0\0\0\ 1LWRG\0\0\0\0\0\0\0\0\0\0\0\14\89ù#Äܧ)\17\8b>23E\85PØÝß)\0\0\0\0\ e5k¥\ 5c\1f¿qWX¾Ò}P?\8b&\ e:\0\0\0\0Preamble signature check failed.\0\0\0\0Preamble invalid.\0\0\0Public key invalid.\0Key block hash failed.\0\0Key block signature failed.\0Key block invalid.\0\0Success.\0\0\0\0CHROMEOS\0\0\0\0\0\0\0\0\80\0\0\0RSA8192 SHA512\0\0RSA8192 SHA256\0\0RSA8192 SHA1\0\0\0\0RSA4096 SHA512\0\0RSA4096 SHA256\0\0RSA4096 SHA1\0\0\0\0RSA2048 SHA512\0\0RSA2048 SHA256\0\0RSA2048 SHA1\0\0\0\0RSA1024 SHA512\0\0RSA1024 SHA256\0\0RSA1024 SHA1\0\0\0\0\0\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\00!0      \ 6\ 5+\ e\ 3\ 2\1a\ 5\0\ 4\14\f\0\0\0\0\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0010\r\ 6       `\86H\ 1e\ 3\ 4\ 2\ 1\ 5\0\ 4 \0\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\00Q0\r\ 6 `\86H\ 1e\ 3\ 4\ 2\ 3\ 5\0\ 4@\0\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\00!0   \ 6\ 5+\ e\ 3\ 2\1a\ 5\0\ 4\14010\r\ 6        `\86H\ 1e\ 3\ 4\ 2\ 1\ 5\0\ 4 \0\0\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0010\r\ 6        `\86H\ 1e\ 3\ 4\ 2\ 1\ 5\0\ 4 \0\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\00Q0\r\ 6 `\86H\ 1e\ 3\ 4\ 2\ 3\ 5\0\ 4@\0\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\00!0   \ 6\ 5+\ e\ 3\ 2\1a\ 5\0\ 4\14\0\0\0\0\0\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0010\r\ 6       `\86H\ 1e\ 3\ 4\ 2\ 1\ 5\0\ 4 \0\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\00Q0\r\ 6 `\86H\ 1e\ 3\ 4\ 2\ 3\ 5\0\ 4@\0\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\00!0   \ 6\ 5+\ e\ 3\ 2\1a\ 5\0\ 4\14\0\0\0\0\0\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\0010\r\ 6       `\86H\ 1e\ 3\ 4\ 2\ 1\ 5\0\ 4 \0\ 1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\00Q0\r\ 6 `\86H\ 1e\ 3\ 4\ 2\ 3\ 5\0\ 4@0!0        \ 6\ 5+\ e\ 3\ 2\1a\ 5\0\ 4\14\00Q0\r\ 6       `\86H\ 1e\ 3\ 4\ 2\ 3\ 5\0\ 4@\0\ f\0\0\0\13\0\0\0\13\0\0\0\ f\0\0\0\13\0\0\0\13\0\0\0\ f\0\0\0\13\0\0\0\13\0\0\0\ f\0\0\0\13\0\0\0\13\0\0\0\80\0\0\0\80\0\0\0\80\0\0\0\0\ 1\0\0\0\ 1\0\0\0\ 1\0\0\0\ 2\0\0\0\ 2\0\0\0\ 2\0\0\0\ 4\0\0\0\ 4\0\0\0\ 4\0\0l\0\0\0`\0\0\0@\0\0\0ì\0\0\0à\0\0\0À\0\0\0ì\ 1\0\0à\ 1\0\0À\ 1\0\0ì\ 3\0\0à\ 3\0\0À\ 3\0\0\0\0\0\0\ 1\0\0\0\ 2\0\0\0\0\0\0\0\ 1\0\0\0\ 2\0\0\0\0\0\0\0\ 1\0\0\0\ 2\0\0\0\0\0\0\0\ 1\0\0\0\ 2\0\0\0\14\0\0\0 \0\0\0@\0\0\0\14\0\0\0 \0\0\0@\0\0\0\14\0\0\0 \0\0\0@\0\0\0\14\0\0\0 \0\0\0@\0\0\0@\0\0\0@\0\0\0\80\0\0\0@\0\0\0@\0\0\0\80\0\0\0@\0\0\0@\0\0\0\80\0\0\0@\0\0\0@\0\0\0\80\0\0\0\0\0\0\0\0Á\0\0\0"\0\0\0\14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
+\0\ e\0\0\0\0Á\0\0\0\16\0\0\0e\0\0\0\11\0\0\0\ 4\0\0\0\0\12\0\0Á\0\0\0\16\0\0\0e\0\0\0\ 4\0\0\0\ 4\0\0\ 1     \0\0\0Á\0\0\0\16\0\0\0e\0\0\0\ 4\0\0\0\ 4\0\0\ 1\b\0\0\0Á\0\0\0\v\0\0\0r\0\0
+\0\0\0\0Á\0\0\0
+\0\0\0o\0\0\0Á\0\0\0
+\0\0\0p\0\0\0Á\0\0\0
+\0\0\0]\0\0\0Á\0\0\0\1e\0\0\0|\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Á\0\0\0
+\0\0\0S\0\0\0Á\0\0\0
+\0\0\0P\0\0\0Á\0\0\0\f\0\0\0\99\0\ 2\0Á\0\0\0\f\0\0\0\99\0\ 1\0Á\0\0\0\f@\0\0
+\ 2 \0Á\0\0\0\f@\0\0
+\0\ 4\0Á\0\0\0\f@\0\0
+\0 \0Á\0\0\0\f@\0\0
+\0\b\0Á\0\0\0\16\0\0\0Ï\0\0\0\0\0\0\0\0\0\0\0\0
+\0\12\0\0\0\0Á\0\0\0\0\0\0\0Í\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
+\0\12\0\16\0\0\0\0Á\0\0\0e\0\0\0Ì\0\18\0\0\0\0\0\ 3\0\0\0\1f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 3\0\0\0\1f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\17\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\f\0F\0M\0\f\0\0\0<\0\0\0%r%/%r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0}\95üÿÈ\96üÿ\10\0\0\80Dßüÿ\84Úüÿ¬Àüÿ\98Àüÿ|ÀüÿdÀüÿPÀüÿ<Àüÿ\18Àüÿgæ      j\85®g»rón<:õO¥\7fR\ eQ\8ch\ 5\9b«Ù\83\1f\19Íà[\bɼógæ     j;§Ê\84\85®g»+ø\94þrón<ñ6\1d_:õO¥Ñ\82æ­\7fR\ eQ\1fl>+\8ch\ 5\9bk½Aû«Ù\83\1fy!~\13\19Íà[\98/\8aB\91D7qÏûÀµ¥Ûµé[ÂV9ñ\11ñY¤\82?\92Õ^\1c«\98ª\aØ\ 1[\83\12¾\851$Ã}\fUt]¾rþ±Þ\80§\ 6Ü\9b\9bÁÁi\9bä\86G¾ïÆ\9dÁ\ fÌ¡\f$o,é-ª\84tJÜ©°\Ú\88ùvRQ>\98mÆ1¨È'\ 3°Ç\7fY¿ó\vàÆG\91§ÕQcÊ\ 6g))\14\85
+·'8!\e.üm,M\13\r8STs
+e»
+jv.ÉÂ\81\85,r\92¡è¿¢Kf\1a¨p\8bK£QlÇ\19è\92Ñ$\ 6\99Ö\855\ eôp j\10\16Á¤\19\bl7\1eLwH'µ¼°4³\f\1c9JªØNOÊ\9c[óo.hî\82\8ftoc¥x\14\84\b\ 2Ç\8cúÿ¾\90ëlP¤÷£ù¾òxqÆ"®(×\98/\8aBÍeï#\91D7q/;MìÏûÀµ¼Û\89\81¥Ûµé8µHó[ÂV9\19Ð\ 5¶ñ\11ñY\9bO\19¯¤\82?\92\18\81mÚÕ^\1c«B\ 2\ 3£\98ª\aؾopE\ 1[\83\12\8c²äN¾\851$â´ÿÕÃ}\fUo\89{òt]¾r±\96\16;þ±Þ\805\12Ç%§\ 6Ü\9b\94&iÏtñ\9bÁÒJñ\9eÁi\9bäã%O8\86G¾ïµÕ\8c\8bÆ\9dÁ\ fe\9c¬wÌ¡\f$u\ 2+Yo,é-\83ä¦nª\84tJÔûA½Ü©°\µS\11\83Ú\88ùv«ßfîRQ>\98\102´-mÆ1¨?!û\98È'\ 3°ä\ eï¾Ç\7fY¿Â\8f¨=ó\vàÆ%§
+\93G\91§Õo\82\ 3àQcÊ\ 6pn\ e
+g))\14ü/ÒF\85
+·'&É&\8!\e.í*ÄZüm,Mß³\95\9d\13\r8SÞc¯\8bTs
+e¨²w<»
+jvæ®íG.ÉÂ\81;5\82\14\85,r\92d\ 3ñL¡è¿¢\ 10B¼Kf\1a¨\91\97øÐp\8bKÂ0¾T\ 6£QlÇ\18RïÖ\19è\92Ñ\10©eU$\ 6\99Ö* qW\855\ eô¸Ñ»2p j\10ÈÐÒ¸\16Á¤\19S«AQ\bl7\1e\99ë\8eßLwH'¨H\9báµ¼°4cZÉų\f\1c\8aAãJªØNsãcwOÊ\9c[£¸²Öóo.hü²ï]î\82\8ft`/\17Coc¥xr«ð¡\14\84ì9d\1a\b\ 2Ç\8c(\1ec#úÿ¾\90é½\82ÞëlP¤\15yƲ÷£ù¾+SrãòxqÆ\9ca&êÎ>'Ê\aÂÀ!Ǹ\86Ñ\1eëàÍÖ}ÚêxÑnî\7fO}õºo\17rªgð\ 6¦\98È¢Å}c
\rù¾\ 4\98?\11\eG\1c\135\vq\e\84}\ 4#õwÛ(\93$Ç@{«Ê2¼¾É\15
\9e<L\r\10\9cÄg\1dC¶B>˾ÔÅL*~eü\9c)\7fYìúÖ:«oË_\17XGJ\8c\19Dl\8cÁüÿüÁüÿ\Âüÿ\9cÂüÿ\9cÃüÿ|Äüÿ<Åüÿ,Çüÿ\fÉüÿÌÊüÿ¼Îüÿ\9cÒüÿ\Öüÿ\88ÃüÿlÖüÿ\Öüÿ\88ÃüÿlÖüÿ\Öüÿ\88ÃüÿlÖüÿ\Öüÿ\88ÃüÿlÖüÿ|ÁüÿlÁüÿ\ÁüÿLÁüÿ<Áüÿ,Áüÿ\1cÁüÿ\fÁüÿüÀüÿìÀüÿÜÀüÿÌÀüÿ\0\0\0\0@\0\0\0\0\0\0\0\0\ 1\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\90ÿ\95òÞÿ\9fM\81ºL=\8bÐje\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0,\0\0\0g2©3\ e4\8d7Þ8æ8ë8å9ö9`:\99;®;\15=\8c=ê=I>\8b>\0\0\0\10\0\00\0\0\0\870\900¦1Ê1B2d2Z4e4`5W6D8\8b:\94:Ì>Ù>æ>\0?R?Ê?\0\0\0 \0\0D\0\0\080E0R0n0{0\950Ï0U1f5w5¬5²5\186\r7\1372787m7w7Ï7Õ7&8,8R8[8®8´8(;\80;\0\0\0@\0\0h\0\0\0À7Ä7Ì7Ð7Ô7Ø7Ü7à7ä7è7ì7Ð;Ô;Ø;Ü;à;ä;è;ì;ð;ô;ø;ü;\0<\ 4<\b<\f<\10<\14<\18<\1c< <$<(<,<0<4<8<<<@<D<H<L<P<T<X<\<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿõ»\91\11¹ÜôD\82~\955\97\87\ 6@d \0øL \0\12VZL\ 1\ 4\vÀ\ 1`\ 2\0\0`\ 2\0\0Äàüÿ\0\0\0\0@!\0\0|\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0É\e\0\0`\ 2\0\0à\e\0\0`\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.rdata\0\0\\0\0\0@\1e\0\0`\0\0\0@\1e\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0@.data\0\0\0\98\ 2\0\0 \1e\0\0 \ 2\0\0 \1e\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0\92\0\0\0@!\0\0 \0\0\0@!\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bì\83ì\fSV\8bu\f\8b\ 6\8dMüQj\f3ÛV\89]øÿPL\8b\ 6\8dM\fQj\ fVÿPL\8b\ 6\8dMøQSSh<\0ýÿVÿP èÉ\14\0\0\8b\ 6hàýüÿVÿP\18\8dEôPÿuøVèë\f\0\0\83Ä@\85À|\r\8b\ 6hÔýüÿVÿP\18YY\8b\ 6høýüÿVÿP$\83\11YY\ f\84©\0\0\0\8b\ f·@\ 4PèE\19\0\0\8bE\fÆ\0\ 1\8bE\fÆ@\ 1\ 1\8bE\f\88X\ 2\8bE\f\88X\ 3\8bE\f\88X\ 4\8bE\f\88X\ 5\8bE\f\88X\ 6\8bE\f\88X\a\8bE\fÆ@        d\8bE\f\88X\b\8bE\f\88X
+\8bE\fÆ@\v\ 1\8bE\fÆ@\f\ 1÷Eô\0\ 4\0\0\8bE\fYt\v\88X\r\8bE\f\88X\ eë\vÆ@\r\ 1\8bE\fÆ@\ e\ 1\8bEüÇ\0\10\0\0\80\8bEüÇ@\ 4,\0ýÿ\8b\8bM\f\89H\bÿuü\8b\ 6VÿP\18YY^3À[ÉÃU\8bì\83ìDSV\8bu\b\8b\ 6W\8dMøQ3ÿWWh´þüÿVÿP \8dE¼P\8bEøPVÿ\10\8b\ 6\8dM\bQWWhÄþüÿVÿP \8b\ 6\8dMüQVÇEì\0\0\10\0\89\89\89\89}ÌÇEÐ\ 1\0\0\0\89\89}àÿP0\89\8b\83Ä<ºÿÿ\0\0ëhf\83ù\ 3uY9x\18uT\8bH$\8bX ;Ïw\b\81û\0\0\10\0r\19\83ù\ 1w\1fr\ 4;ßs\ e\8bH(\ 1\8bH,\11Mðë)\83ù\ 1r$w\ 4;ßr\1e;MÐw\rr\ 5;]Ìs\ 6\89\89\8bH(\ 1\8bH,\11\ f·H\ 2\ 3Á\89\ f·\b\8bÚf;Ëu\8eÿuðÿuìè!\15\0\0j\ 6R\8bØ\8bE\bSWWPV\89UØÿ\10\8b\8bEð+û\eEØPW\89EÈèú\14\0\0\83Ä,;øu\ 59UÈt*j\ 1ÿuÈWèp\ e\0\0RPèÜ\14\0\0j\ 6RPÿuØ\89\8bE\bSPV\89Uàÿ\10\83Ä0\ 3\8b\13\89EØ;]ìu\ 5;Eðt7\8b\8bÃ+Eì\8bÏ\eMðQPè\9a\14\0\0j\0R+ØP\8bE\b\eúWSPVÿ\10\83Ä$\89}Ø;]ìuÐ\8bEð;øuÉ\83}\f\11t\19÷E\10\0\ 4\0\0t\10+]¼\8b\ 6j\0Sj\0ÿPT\83Ä\f\8b\vEètE3ÿ3Û\8b\8bMè+Ç\eËQPè;\14\0\0j\ 6RP\89\8bÇ\ 3\8bË\13\89UàQP\8bE\bPVÿ\10\83Ä$\ 3\13]à;}äuÄ;]èu¿\8bEô_^[ÉÃU\8dl$\94\81ìü\b\0\0SV\8but\8b\ 6W3Û\8dMTQSSh<\0ýÿV\89]T\89]`ÇED\0\0Äÿ\89]HÇEL\0\0Òÿ\89]P\89]dÿP \8dEÈPVèp\14\0\0\8dEÈPVè'\17\0\0\8dEÈPVè\90\17\0\0\8bET\ f·x\ 4\8b\ 6\8dMhQV\89}\ÿP(\8b\ 6\8dMtQVÿP`\83Ä<\83}h\11u    fº\80\0°Ãîë\a\80\0°\83î\ f\b\8b\ 6\8dMXQSShÄþüÿVÿP \8bEXPVÿP\ 4\8bEXj\ 5Sh\0\0@\0Sh\0\0ÀÿPVÿ\10\83Ä8\83}h\11t\aWè!\16\0\0YÿutÿuhVè\ eýÿÿ¿\ 6\ 6\ 6\ 6WWhP\ 2\0\0èÑ\ e\0\0WWhX\ 2\0\0èÅ\ e\0\0SShY\ 2\0\0è¹\ e\0\0¿\ 5\ 5\ 5\ 5WWhh\ 2\0\0è¨\ e\0\0WWhi\ 2\0\0è\9c\ e\0\0\83ÄHWWhj\ 2\0\0è\8d\ e\0\0WWhk\ 2\0\0è\81\ e\0\0WWhl\ 2\0\0èu\ e\0\0WWhm\ 2\0\0èi\ e\0\0WWhn\ 2\0\0è]\ e\0\0WWho\ 2\0\0èQ\ e\0\0\83ÄH\83}h\11\ f\85\89\0\0\0ÿu\è­\15\0\0\8b\ 6\8dM`QSShÔþüÿVÿP \83Ä\18\85À|]ÿut\8bE`ÿP\ 4\8bøY\83ÿ\ 3t'\83ÿ\ 6t"\83ÿ\ 4uBj\11jmè\9e\16\0\0÷Et\0\ 4\0\0YYt'h\80\0\0\0jlë\17Sjlè\82\16\0\0YY\83ÿ\ 6u\ 4j
\ 2j\ 3jmèn\16\0\0YY\8b\ 6VÿP\YèÓ\12\0\03ÀéL\ 4\0\0÷Et\0\ 4\0\0ÇE°8\b\0\0\89\ f\85þ\ 1\0\0\8b\ 6\8dM`QSShÔþüÿVÿP \83Ä\14\85À\ f\8câ\ 1\0\0÷Et\0 \0\0\8dUdR\ f\84\89\0\0\0\8bEL\8bMPP\89M<\8b\ ej\ 5V\89E8\89E\ÿQ<\8bEd\ f¶@\16\99j\10RPè\1a\v\0\0\89E@\8bEd\ f¶@\15\99j\bRPè\ 6\v\0\0\8bø\8bEd\ f¶@\14\vø\8bE\\ f·@0\v}@\8dMLQhÐ\0\0\0\ 3ø\8b\ 6j\ 4VÿPH\8b\ 6Wÿu8ÿuLÿPP\83ÄD¹\0\0\r\0+Ïhÿ\0\0\0Q\8bMLé\84\0\0\0\8bED\8bMHP\89M<\8b\ ej\ 5V\89E8\89E\ÿQ<\8bEd\ f¶@\16\99j\10RPè\91
+\0\0\89E@\8bEd\ f¶@\15\99j\bRPè}
+\0\0\8bø\8bEd\ f¶@\14\vø\8bE\\ f·@0\v}@\8dMDQhÐ\0\0\0\ 3ø\8b\ 6j\ 4VÿPH\8b\ 6Wÿu8ÿuDÿPP\83ÄD¹\0\0\r\0+Ïhÿ\0\0\0Q\8bMD\8b\ 6\ 3ÏQÿPT\83Ä\fÿut\8dE°P\8d\85t÷ÿÿPS¸\0\0\r\0PÿuL¹\0\0\ 1\0SQh\0\0ÑÿSPÿuD\8bE`SQh\0\0Ãÿh\80\ 1øÿÿ\10\8bø\83Ä@\83ÿ\ 3t:\83ÿ\ 6t5\83ÿ\ 4u\14j\10jmè¦\14\0\0\8b\ 6VÿP\\83Ä\fëA\83ÿ\ 1u     \81ehÿýÿÿë3\83ÿ\ 2u.\81Mh\0\ 2\0\0ë%Sjlèw\14\0\0YY\83ÿ\ 6u\ 4j
\ 2j\ 3jmèc\14\0\0\8b\ 6YYVÿP\Yÿuh\8b\ 6VÿP,\8b\ 6\8dMtQVÿP`\83Ä\10èw\ e\0\0÷Et\0\ 4\0\0\88E¾t\ 5\88]½ë\ f÷Et\0\ 2\0\0\ f\95ÀþÀ\88E½¿\0\ 1\0\0ÆE¼\ 1\85}tt\ 4ÆE¼\ 2jmèã\13\0\0Y\83à\7f\83ø\ 6\7f6t.\83ø\ 1t#~J\83ø\ 3~\16\83ø\ 4t\v\83ø\ 5u;ÆE¼\aë5ÆE¼\ 6ë/ÆE¼\ 5ë)ÆE¼\ 3ë#ÆE¼\ 4ë\1d\83è      t\14Ht\v\83è\au\10ÆE¼
+ÆE¼\vë\ 4ÆE¼\b\8bEt©\0\10\0\0t\ 4ÆE¼        3Éf\89\85Çt\aj Yf\89MÀ©\0\ 4\0\0t\ 5f\83\ 2©\0\b\0\0t     ¸\0\ 2\0\0f  EÀ¸¥¥ZZ\89\85p÷ÿÿ\89E¸hX\b\0\0\8d\85p÷ÿÿPh\84ÿüÿVè"    \0\0SjlèB\13\0\0Sjmè:\13\0\0SSS¿\0\0\10\0WSh\0\0ð\0Vè¿    \0\0\83Ä<\81=(\80ßÿ_FVHu\15Sh\0\80\0\0Sh\0\80ßÿVè\15        \0\0\83Ä\14Sh\0\0\ 1\0Sh\0\0ßÿVè\0    \0\0\83Ä\14\83}h u      Vèù\ 5\0\0Yë}Sh\0\0\ 4\0Sh\0\0üÿVèÜ\b\0\0\83Ä\14÷Et\0\ 4\0\0St WSh\0\0æÿë\1c÷Et\0\ 2\0\0h\0\0\r\0t\bÿuPÿuLë\ 6ÿuHÿuDVè¤\b\0\0\83Ä\14÷Et\0\ 5\0\0t'Sh\80Þ\ 3\0Sh\80\11øÿVè\86\b\0\0Sh\0\0\ 1\0Sh@\0öÿVèt\b\0\0\83Ä(\8d}ÈÇE\\a\0\0\0ÿw\fÿw\bÿw\ 4ÿ7h\ 3\ 4\0\0j\ 1\8d\a\0\0\83Ä\1c\83Ç\10ÿM\uÝSh\0\0@\0Sh\0\0Àÿh\ 3\ 4\0\0j\ 3Vèi\a\0\0j\10j$Vèd\b\0\0\83Ä(_^[\83ÅlÉÃ\8bD$\10Æ\0\03Àø\ 3\0\0\80ÃU\8bì\8bE\b\8b\b\83ì\fW\8dUôR3ÿWWh$ÿüÿPÿQ \ f¶E\10\83Ä\14+Çt4Ht&Ht\18Ht
\ 2\0\0\80éß\0\0\0\8bE\10\83àÓ\83ÈSë\1f\8bE\10\83àÒ\83ÈRë\14\8bE\10\83àÑ\83ÈQë     \8bE\10\83àÐ\83ÈPS\8b]\18\83ã\ 3V\8bu\1c\89E\10t6\85Ûv2\8d\ 47P\8dEøP\ f¶E\14j\0j\ 4\ 3ÇPÿu\10\8bEôPÿu\bÇEø\ 1\0\0\0ÿ\10\83Ä \85À|rG;ûrÎ;]\18sf\ f¶}\14\8d\ 43j\ 2\ 3û\89Eü^ÿuü\8dEøP\8bEôj\0j\ 6Wÿu\10\89uøPÿu\bÿ\10\83Ä \85À|7\ 1uüÿuü\8dEøP\8bEôj\0j\ 6\ 3þWÿu\10\ 3ÞPÿu\b\89uøÿ\10\83Ä \85À|\ e\ 1\ 3Þ\ 3þ;]\18r©3À^[_ÉÃ\8bD$\ 4\8b\bh þüÿPÿQ\18YY3ÀÃU\8bì\8bE\10\83 \0\8bE\14Ç\0     \0\ 5\80f¡R\0\0à\ f·Àj\ 2Z\84ÂuTj\10\0\0\0Y;ÁtAj Z;Ât/\83ø0t#j@Y;Át.\83øPt\17j`Y;Át\10\83øp\8bE\18u$Ç\0\80\0\0\0ë\1f\8bE\18\89\bë\18\8bE\18Ç\0\b\0\0\0ë\r\8bE\18\89\10ë\ 6\8bE\18\83 \0\8bE\1c\83 \03À]ÃU\8bì\81ì\84\0\0\0S\8b]\b\8b\ 3VW\8dMøQ3öVVhDÿüÿSÿP \8b\ 3\8dMôQSÿP(\8d\85|ÿÿÿP\8dEüP\8bEøV¿äÿüÿWhlýüÿSÇEüx\0\0\0ÿ\10\83Ä4\85À\8bE\10\89p\ 4}'Ç\0\0\0\0\ 3\8b\910þüÿÁâ\f\ 1\10\11p\ 4\83Á\b\83ùPrêjPh,þüÿë>\83}ô u\bÇ\0\0\0\0\ 3ë&\8bUüÁê\ 33ÉÇ\0\0\0 \0;Öv\14\8b\80Áã\f\ 1\18\11p\ 4A;Êrï\8b]\bÿuü\8d\85|ÿÿÿPWSèM\ 5\0\0\83Ä\10_^[ÉÃU\8bìQ ¤\80\ fà¨\ 2t\15j\0jlèW\ f\0\0j\0jmèN\ f\0\0\83Ä\10Sjlè \ f\0\0jm\8aØè\17\ f\0\0YY\88\84Àx&\84Ûy\ 4\80Mü     öÃ@t\ 4\80Mü@öàt\ 4\80Mü ÿuüjmè\r\ f\0\0YY[ÉÃ<ÿu\ 32ÀÃ\84Ày\11$\7f\ f¶ÀPè\ 3    \0\0Y\ f¶Àë/< s\ 4±\fë\ 4±8\ 4àV\ f¶ðf\ f¶Áf\ 3D$\b\ f·ÀPè1 \0\03ÒY\8bÎBÓâ^#ÂÓè\ f¶L$\b\ f\94ÀÃ\8b\ 23É9\ 4\8d\98ýüÿt\ 6A\83ù\f\83ù\fs\113À94\85\98ýüÿt\f@\83ø\frñ¸\ e\0\0\80Ã;Ás\ 2\8923ÀÃ\8bD$\b\ f·H\ 4\ f·@\ 2P\ f·ÁPè\ 6   \0\0YYÃU\8bìS\8b]\bVW\8b}\10\8dM\bQ3öVV\897\8b\ 3h\ 4ÿüÿSÿP \83Ä\14\85À|\13\8bE\b\8b\bVWj\ 2PSÿQ\ 4\83Ä\14ë\ 3\89u\b\8bE\f\ f·H\ 2\ f·p\ 4PS\89M\10è\94ÿÿÿYY\84Àt\19j ^\8b×èLÿÿÿ\8b\ 3h|þüÿSÿP\18YYë<ÿu\10Vèw
+\0\0YY\84Àt\fj\11^\8b×è$ÿÿÿë!ÿu\10VèÎ
+\0\0YY\84Àt\12j\0j\0h\94ÿüÿSè\8e\ 3\0\0\83Ä\10\81'ÿ\0\0\0è;þÿÿjm^Vè|\r\0\0Y¨ t\ 6\81\ f\0 \0\0j\ 1ÿu\10°\ 1è\80þÿÿYY\84Àt\ 6\81\ f\0\ 1\0\0j\0ÿu\10°&èhþÿÿYY\84Àu\11VèA\r\0\0Y\84Àt\16<\ fw\12ë
+j\ 1VèQ\r\0\0YY\81\ f\0\ 4\0\0j\0ÿu\10°"è5þÿÿYY\84Àt\ 6\81\ f\0\b\0\0\b\r\0\0Y¨@t\ 6\81\ f\0\10\0\0Vè÷\f\0\0\f\80\88E\10ÿu\10\f\r\0\0ÿ7\8b\ 3SÿP,\8bM\b\83Ä\14\85Ét\ e\8b\ 1Wj\ 1QSÿ\10\83Ä\103À_^[]Ãfº\80\0°\84î\8bD$\ 4\8b\bh\98þüÿPÿQ\18YYÃU\8bì\83ì4SV\8bu\b3ÛW3ÿ\88]þÆEÿ\ 1\89\8b\ 6\8dMôQSWhtÿüÿVÿP \83Ä\14;Ã|\16\8dEìP\8bEôPVÿ\10\83Ä\f9]ìu\v\ 3\88]ÿ8]ÿuÊ8]ÿ\ f\84S\ 1\0\0\80\0°\85î\8dEÌP\8dEðP\8bEôSPV\89]ðÿP\ 4\8bÈ\83Ä\14;Ë}\ e\80\0°\86î\8bÁé!\ 1\0\0\8dEÌhÔÿüÿPèû\ 3\0\0YY\84ÀuF\8dEÌhÄÿüÿPèç\ 3\0\0YY\84Àu2\8dEÌh´ÿüÿPèÓ\ 3\0\0YY\84Àu\1e\8dEÌh¤ÿüÿPè¿\ 3\0\0YY\84Àu
\ 3\0\0\80éÇ\0\0\0\8b\ 6\8dMÜQ\8bMðIÁé\fAQj\ 3VÿPH\83Ä\10\ f\8c§\0\0\0\8bEÜP\89\8bEôSPVÿP\b\83Ä\10\ f\8c\8c\0\0\0\80\0°\87î\8b\ 6\8dMøQVÿP0YY\8b\ f·\11\89Eä¸ÿÿ\0\0\8bøf;×tNf\83ú\ 5u09Y\14w        \81y\10\0\0\ 5\0v"\8b\89Q\b\8b\89Y\f\8b\8b\89J\10\8b\89Y\14\8bMøÆEþ\ 1\ f·Q\ 2\ 3Ê\89\ f·\11\8bøf;×u·8]þu\13SÿuðSÿuèVè;\ 1\0\0\83Ä\14ë\ 3\8bEä_^[ÉÃU\8bìQVÿu\f\8bu\bVè>þÿÿYY\85À})\8b\ 6\8dMüQj\0j\0h\ 4ÿüÿVÿP \83Ä\14\85À|\ f\8b\8b\bj\0PVÿQ(\83Ä\f^ÉÃÌÌÌÌÌÌÌÌU\8bìQ\8bE\b\8bU\f\8bM\10\83á?\ f¥ÂÓà\83ù r\ 4\8bÐ3ÀYÉÃU\8bì\8bE\b\8b\b\8dU\bRj0j\ 3PÿQ4\83Ä\10\85À|8\8bE\b\8bM\f\89H\18\8bE\b\8bM\10\89H\1c\8bM\b\8bE\14\89\8bM\b\8bE\18\89A$\8bM\b\8bE\1c\89A(\8b\8bM\b\89A,3À]Ã\8bT$\f\8bD$\ 4\8b\bV\8bt$\14V\83Â\18Rj\ 4PÿQ4\83Ä\10\85À|\11W\8b>\8bt$\10\83Ç\b¥¥¥¥3À_^ÃU\8bìQV\8bu\b\8dEüPÿu\14ÿu\fVè´ÿÿÿ\83Ä\10\85À|\17ÿu\14\83\18ÿu\10\8b\ 6ÿuüÿPP\83Ä\f3À^ÉÃU\8bì\8bE\b\8b\b\8dU\bRj\18j\ 5PÿQ4\83Ä\10\85À|&\8bM\b\8bE\f\89A\b\8bM\b\8bE\10\89A\f\8bM\b\8bE\14\89A\10\8bE\18\8bM\b\89A\143À]ÃU\8bìV\8bu\b\8b\ 6\8dM\bQj\10j\ 6VÿP4\83Ä\10\85À|'\8bE\b\8aM\f\88H\b\8bE\b\8aM\10\88H    \8bM\b\8b\ 6j\0\83Á
+j\ 6QÿPT\83Ä\f3À^]ÃU\8bìS\8b]\b\8b\ 3\8dM\bQj0j\ 2SÿP4\83Ä\10\85À|lV\8bu\1c\85öt\ eW\8b}\b\83Ç\b¥¥¥¥_ë\13\8bM\b\8b\ 3j\0\83Á\bj\10QÿPT\83Ä\f\8bM\b\8bE\f\89A\18\8bM\b\8bE\10\89A\1c\8bM\b\8bE\14\89\8bM\b\8bE\18\89A$\8bE\b\8b\89H(\8bM\b\8b\ 3j\0\83Á,j\ 4QÿPT\83Ä\f3À^[]ÃÌÌÌÌÌÌÌÌÌôÃ\ f  Ã\ f\bÃU\8bì`\8bE\b\ f¢\83}\f\0t\ e\8b}\f\89\a\89_\ 4\89O\b\89W\faÉÃU\8bìQ\8bM\b\ f2YÉÃU\8bì`\8bM\b\8bE\f\8bU\10\ f0aÉÃ\ f1ÃP\ f À\ fÈ$`<`t\r\ f      \ f À\r\0\0\0`\ f"ÀXÃP\ f \ f À%ÿÿÿ\9f\ f"ÀXÃ\9cXÃúÃûÃU\8bì`\8bE\b\8bM\f\ f¢\8b}\10\89\a\89_\ 4\89O\b\89W\faÉÃ\8bD$\ 4\8b\10\8bL$\b+\11u\e\8bP\ 4+Q\ 4u\13\8bP\b+Q\bu\v\8b@\f+A\fu\ 3°\ 1Ã2ÀÃÌÌÌÌÌÌÌÌÌÌÌÌU\8bì\83ÄøW\8bM\f\8b}\b\8bÇ$\ 3\84Àt\f\83ù\0t[Æ\a\0GIëì\8bÑÁé\ 6Áá\ 6+ÑÁé\ 6\83ù\0t2\ f\7f\ fïÀ\ f\7f\a\ f\7fG\b\ f\7fG\10\ f\7fG\18\ f\7f\ f\7fG(\ f\7fG0\ f\7fG8\83Ç@IuÛ\ foEø\ fw\8bÊÁé\ 23Àó«\8bÊ\83á\ 3óª_ÉÃÌÌÌÌÌÌÌÌU\8bì\83ÄøVW\8bM\10\8bu\f\8b}\b\8bÆ\ 3Á;Çv\16\8bÇ\ 3Á;Æv\ e\ f\84º\0\0\0\ f\82 \0\0\0\83ù\0\ f\84«\0\0\0\8b×\80â\ 3\84Òt       \8a\ 6\88\aIGFëå\8bÁÁè\ 6Áà\ 6+ÈÁè\ 6\83ø\0tQ\ f\7f\ fo\ 6\ f\7f\a\ foF\b\ f\7fG\b\ foF\10\ f\7fG\10\ foF\18\ f\7fG\18\ foF \ f\7f\ foF(\ f\7fG(\ foF0\ f\7fG0\ foF8\ f\7fG8\83Ç@\83Æ@Hu¹\ foEø\ fw\83ù\ 4r\ f\8b\ 6\89\a\83é\ 4\83Æ\ 4\83Ç\ 4ëì\83ù\0t\1d\8a\ 6\88\aIFGëò\ 3ñN\ 3ùO\83ù\0t        \8a\ 6\88\aINOëò_^ÉÃÇ\ 5\84\80\ fà\11\ 3\ 4\0j\10Ç\ 5\88\80\ fà\ 1\a\ 4\0j\aÇ\ 5\8c\80\ fà\ 1\ 2\ 4\0è\8b\ 1\0\0j\ajbè\82\ 1\0\0j\0jcèy\ 1\0\0j\ 1j0èp\ 1\0\0j\0\0\0\0èò\0\0\0\83Ä(ÃV3öÿt$\bè\8b\0\0\0\ 1u\18j\ fèb\ 1\0\0FY\81þ\0\0\ 1\0rá¸\a\0\0\80^Ã3À^ÃV3öÿt$\bè^\0\0\0\ 2t\18j\ fè5\ 1\0\0FY\81þ\0\0\ 1\0rá¸\a\0\0\80^Ã3À^Ãh¡\0\0\0h\0\a\0\0èS\0\0\0h\ 1\a\0\0è$\0\0\0\83Ä\f\84D$\ 4j\0X\ f\95ÀÃh÷\0\0\0è\9e\0\0\0Y$\ 1ÃÌÌÌÌÌÌÌÌU\8bìRf\8bU\bìZÉÃU\8bìRf\8bU\bfíZÉÃU\8bìRf\8bU\bíZÉÃU\8bì`\8aE\ff\8bU\bîaÉÃU\8bì`f\8bE\ff\8bU\bfïaÉÃU\8bì`\8bE\ff\8bU\bïaÉÃ2ÀÃjfè8ÿÿÿh\81\0\0\0jfè»ÿÿÿjfè%ÿÿÿÿt$\14jbè©ÿÿÿjfè\13ÿÿÿÿt$$jbè\97ÿÿÿ\83Ä$Ãjfèýþÿÿh\80\0\0\0jfè\80ÿÿÿjfèêþÿÿÿt$\14jbènÿÿÿjfè«þÿÿjbè;ÿÿÿ\83Ä Ãÿt$\ 4j.èQÿÿÿÿt$\10j/èFÿÿÿ\83Ä\10ÃU\8bì\83}\b\0tcSVW»\b\ 4\0\0\1fÿÿÿ\8bø\8bE\biÀf\ 1\0\0Yjd3Ò^÷ö\8bÏ\8dD8\ 1\8bðÁî\18%ÿÿÿ\0\89E\bë\10SèñþÿÿY\8bÈ;Ïw\ 1N\8bù\85öuìë\ f;ùw\10S\8bùèÕþÿÿY\8bÈ9M\bwì_^[3À]Ã\8bD$\ 4\vD$\bu\ 33ÒÃÿt$\bÿt$\bè#\0\0\0Pj\0j\ 1è\ 4\0\0\0\83Ä\14Ãÿt$\fÿt$\fÿt$\fè4\0\0\0\83Ä\fÃ\8bD$\ 4\8bT$\bV\83Îÿë\rj\ 1RPFè3\0\0\0\83Ä\f\8bÈ\vÊuí\8bÆ^ÃÌÌÌÌÌÌÌÌÌÌÌ\8aL$\f\8bT$\ 4öÁ \ f\ fDT$\b\ f¥ÂÓàÃÿt$\fÿt$\fÿt$\fè\ 4\0\0\0\83Ä\fÃ\8aL$\f\8bD$\böÁ \ f\ fDD$\ 4\ f­ÐÓêÃ\8bD$\b\83`\ 4\0\83`\f\0Ç\0\0\0àþÇ@\b\0\10\0\0à\9d\0\0à\f\9d\0\0à\ f\ 5\9e\0\0à\83à\ 6\f\ 1¢\9e\0\0àÃV\ f·t$\bWVèR\ 2\0\0\83Æ\ 4V\ f·øèF\ 2\0\0YY\ f·À÷Ç\0\80\0\0tG%\0\1c\0\0¹\0\14\0\0f;Áu8 ¤\80\ fà¨\ 2u/÷Ç\0\ 5\0\0t#\ f·D$\10\8dp,Vè\v\ 2\0\0¹ÿß\0\0f#Á\ f·ÀPVè\ 4\ 2\0\0\83Ä\f°\ 1ë\ 22À_^ÃV\ f·t$\bWVèà\ 1\0\0\83Æ\ 4V\ f·øèÔ\ 1\0\0YY÷Ç\0\80\0\0_\ f·À^t\ f¹\0\1c\0\0#Áf;Áu\ 3°\ 1Ã2ÀÃ\ f·D$\ 4V\8bt$\fW\8dx\ 4Wè·\ 1\0\0\83|$\18\ 1Yu\ 4\vÆë\ 4÷Ö#ÆPWè§\ 1\0\0YY_^ÃV\ f·t$\fW\ f·|$\fWèq\ 1\0\0\83|$\18\ 1Y\ f·Àu\ 4\vÆë\ 4÷Ö#ÆPWèb\ 1\0\0YY_^Ã\ f·D$\ 4V\8bt$\fW\8dx(WèV\ 1\0\0\83|$\18\ 1Yu\ 4\vÆë\ 4÷Ö#ÆPWèF\ 1\0\0YY_^Ã\ f·D$\ 4V\8bt$\fW\8dx4Wè&\ 1\0\0\83|$\18\ 1Yu\ 4\vÆë\ 4÷Ö#ÆPWè\16\ 1\0\0YY_^ÃV\8bt$\b\0$\0\0j\0PVè+ÿÿÿ¿\0<\0\0\8bÇj\ 1PVè\eÿÿÿj\ 1WVè\12ÿÿÿ\83Ä$_^ÃU\8bìQSV\8bu\b¸\0    \0\0j\ 1f\89Eüÿuü3ÛVè\1dÿÿÿj\ 1SVèäþÿÿj\ 1¸û_\0\80PVè7ÿÿÿj\ 1¸th\ 1\0PVèYÿÿÿ ¤\80\ fà\f\ 2¢¤\80\ fà ¢\80\ fà\83Ä0\f\ 4^¢¢\80\ fà[ÉÃU\8bìQ\ f·E\bPèN\0\0\0Yf\8bȸ\0\ 1\0\0\8bÐf#Êf;Êu\1cj\ 1f\89Eüÿuüÿu\bè§þÿÿÿu\bè0ÿÿÿ\83Ä\10ÉÃU\8bìQ\81\0\1c\0\0j\0ÿuüÿu\bèRþÿÿ\83Ä\fÉÃf\8bT$\ 4\ f·ÀÃf\8bT$\ 4f\8bD$\bfïÃf\8bT$\ 4íÃf\8bT$\ 4\8bD$\bïÃU\8bìQ\8bE\b\8b\bV\8dUüR3öVVhT\0ýÿP\89uüÿQ \8bE\f\8b\8bQ\10\89P@\89pD\89pLÇ@H\0\0\0\10\8bQ\ 4\89P\10\89p\14\89p\1cÇ@\18\0@\0\0\8bQ\b\89P º\0\10\0\0\89p$\89p,\89P(\8bI\f\83Ä\14\89p4\89p<\89H0\89P8^ÉÃU\8bìQ\8bE\b\8b\bV\8dUüR3öVVh<\0ýÿP\89uüÿQ \8bE\f\8b\8bQ
+\89pd\89pl\89P`Ç@h\0\10\0\0\8bI\ 6\83Ä\14\89pT\89p\\89HPÇ@X\0@\0\0^ÉÃjpèjúÿÿ$\80
+D$\b\ f¶ÀPjpè~úÿÿjqèRúÿÿ\83Ä\10ÃjpèGúÿÿ$\80
+D$\b\ f¶ÀPjpè[úÿÿÿt$\14jqèPúÿÿ\83Ä\14Ã\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0M\0e\0m\0o\0r\0y\0T\0y\0p\0e\0I\0n\0f\0o\0r\0m\0a\0t\0i\0o\0n\0\0\0 \0\0\0\12\0\0\0\11\0\0\0\ 5\0\0\0\ 1\0\0\0\ 2\0\0\0\0\0\0\0\ 3\0\0\0\ 4\0\0\0\ 6\0\0\0\10\0\0\0\80\0\0\0\0\0\0\0ðìüÿjìüÿ\10\0\0\804ÿüÿ\0\0\0\0\10\0\0\0´þüÿÌýüÿ\10\0\0\80¤þüÿÐýüÿ \0\0\0$ÿüÿVìüÿ \0\0\80\14ÿüÿÌäüÿ\ 4\ 1\ 2\0)ëüÿ3ëüÿ9ëüÿ\10\0\0\80äþüÿ\10þüÿ   \0\0\0@\0\0\0
+\0\0\0\0\ 1\0\0\0\0\0\0\80\0\0\0\ 6\0\0\0\80\0\0\0\ 5\0\0\0\80\0\0\0\ 3\0\0\0\0\ 1\0\0\ 4\0\0\0\0\0\0\0\ 1\0\0\0\0\0\0\0\ 2\0\0\0\0\0\0\0\ e\0\0\0\0\0\0\0\10\0\0\80Tÿüÿ\0\0\0\0\10\0\0\80ôþüÿ\0\0\0\0\11òüÿ\10\0\0\80dÿüÿ\94þüÿy)ë0÷°`M²Ü\1a,\96αô\1eô~\9a@ÁÑK¸\84\1e\11$\vLæZ SÁ\98è$L\86\89¤´¼ÅÈ¢\90ÿ\95òÞÿ\9fM\81ºL=\8bÐjeQeÒÀt#*B\97"¬#·óÜØ=ÛD\9c\91K\8e³08±\84«ü?\eæ¨uv#C\87µi¤\9cÐ;U=d\94øIÄÑB\8e¨\85½ØÆ[Þ\95(Ô«ÏxrH\84D\e\\18\vûÚH×\bt\8cüæN\92\88ľÀ\92¤\10Æ\90Ü<û\13uJ\9eyYéÝx¹újIî\17äØ\9aK\94ÑÎ\82r0\bPB\95mû-aEO\87/\ÿRé=Ï%Îâ\rjD§E¿É7Ú&4K7?\88\86\88ÐHK\82 Âºÿݬ\ 1¦h\ 45ÅýF©]»«\99\e\17\8c\19Îû\ fL2\90F        \98Æ®.±\86\99\0¬\É\råH\80\95õ@
+\9fu.=..\9b-A´±pAk\87\0ÿ¶s\85³\0bÅJµ\1d\82æY8×\83\9f\ 4\19L7AÓM\9c\10\8b\97¨?ýú\0\0\0\0\0\0\0\0Í3KV*É\93E\90¿$sä<c"'¿ÔN\92@éB\80}R{\1d\0ɽu\19âø\99\bXO¤¾U%©Æ×z \ 3W\1c\88°\9cA»øu\Ö\v\1d\19àuè\f\bC³qb\84%f
+\1c\0\0\ 2\0\ 2\ 1\0\0 \181óûç¦F\9añÔÚ\9d¡Üú\0\0\0\0\0\0\0\0\0\0\0\04\0\0\0\912¡2À2Í2r3§3Ã3¼5A617É7®:"<1=Þ=\0>\ 6>+>B>W?m?º?\0\10\0\0H\0\0\0\a0B0)1W1Ã1×1ë1ÿ1\a3/=¢= >¤>¬>¸>¼>Ä>È>Ð>Ô>Ü>à>è>ì>ð>ø>ü>T?`?h?p?t?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿýfâW¬\87|K¼YemAéÊí\19#\ 6@<\a\0ø$\a\0\12VZL\ 1\ 3\v¨\ 1\8f\ 3\0\0 \ 2\0\0,\ 1ýÿ\0\0\0\0`\b\0\0<\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0ò\ 5\0\0 \ 2\0\0\0\ 6\0\0 \ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0@\0\0\0 \b\0\0@\0\0\0 \b\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0<\0\0\0`\b\0\0@\0\0\0`\b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bìQ\8bE\b\8b\b\8dUüR\8dU\bRj\0\aýÿPÿQ ÿu$\8bE\bÿu \83ÀÜÿu\1cÿu\18ÿu\14ÿu\10\10\ 2\0\0\83Ä0ÉÃ\8bD$\ 4\ f¶T$\b\8bH\10V\8bp\14j\0\ 3òVQÿp\bÿQ\10\83Ä\10\8bD$\ 4\ f¶T$\b\8bH\10Vÿt$\10\8bp\14j\0\ 3òVQÿp\bÿQ \83Ä\14^ÃU\8bìQV\8bu\b\8bF\b\8b\bW\8dUüRj\0j\0\aýÿPÿQ \8bMü3Ò¸@B\ f\0÷1\83e\b\0\83Ä\14\8bø\85ÿv(j\0VÿV\18YY\8bM\f\88\ 1¨\8eu\1d\8bEüÿ0Pÿv\bÿP\ 4\83Ä\fÿE\b9}\brØ2À_^Éð\ 1ëøSV\8bt$\10W\8b|$\10\8d^\fSj\0j\0\896ÇF\ 4psmb\89~\b\8b\a\aýÿWÿP \8b\a\8b@d\89F\10\8b\ 3\8b\b\89N\14ÇF\18\v\ 2ýÿÇF\1c,\ 2ýÿÇF Q\ 2ýÿÇF$\10\0\0\80ÇF(ì\aýÿÇF,Ì\aýÿÆF0\0\8aH\b\83Ä\14\88\8eÔ\0\0\0\8b@\f_\89\86Ø\0\0\0^[ÃU\8bìQSVWfº\80\0°yî\8bu\f\8b\ 6\8dMüQhÜ\0\0\0VÿPLÿuüVèWÿÿÿ\8b\ 6\8bxh\8bEühàÿ\0\0ÿp\14\8b@\f\8b@\ 43ÛS\83È Pj\ 2WVÿW\b\8b\8b@\f\8b@\ 4j\ 1j\ 1S\83È\ 4Pj\ 1WVÿW\b\8b\8b@\f\8b@\ 4\83ÄLj\aj\ 1S\83È@PSWVÿW\b\8b\8b\ 6\83Á$QVÿP\18\8bEühÿ\0\0\0SPÿP\1c\83Ä0_^3À[Éø\ 3\0\0\80ÃV\8bt$\bj\0VÿV\18YY¨@t\a¸\12\0\0\80^è\ 1t\10hÿ\0\0\0j\0VÿV\1c\83Ä\fëå3À^ÃU\8bì\83ì\18W3ÿÆEÿ\0ÆEþ\09}\14t\1a\83}\14\ 1t\149}\1ct\ 59} u
\ 2\0\0\80éD\ 3\0\0V\8bu\b\96ÿÿÿ;ÇY\ f\8c0\ 3\0\0\89}èS\8aE\f\ 2À\f\ 1\88\8aE\10\88\8bE\142Û3ÿ\88\83ø\v\ f\87³\0\0\0ÿ$\85\8e\aýÿþMù\80}\18\0\ f\84\0\0\0¿\ 3\0\0\80éÒ\ 2\0\0\8b\8a\0þMù\88Eì³\ 43ÉA\8bE\1c9\bs\ 5¿\ 5\0\0\80\89\bëz\8b\ f\0Pj\ 5VÿV\1c\83Ä\fþMù³\bëÖ³\fj\ 2YëÒþMù³\f\8b\ f¶@\ 1Pj\ 6VÿV\1c\8b\ f\0Pj\ 5VÿV\1c\83Ä\18ëÖ\8bE\1c\8a\0þMù\88Eþ³\14ë0\8bE\1c\8b\0³\14\83ø\ 1\ f\82(\ 2\0\0\83ø \ f\87\1f\ 2\0\0ÆEð\ 2ë\11³\10뮿\ 2\0\0\80\85ÿ\ f\8c0\ 2\0\0\80}\18\0t\ 4\80\ 1\83}\14      \ f\85Ý\0\0\0h\80\0\0\0j\0VÿV\1cÿuùj\ 4VÿV\1cÿuìj\ 3VÿV\1c\8bE\1c\ f\0Pj\ 5VÿV\1cÿuðj\rVÿV\1c\8b\ f\0Pj\aVÿV\1c\80Ã@\ f¶Ã\83ÄHPj\ 2VÿV\1c\ f¶]þ3À@\83Ä\f\89Eô;Ø\ f\86´\0\0\0\8dEÿPVÿV YY\84ÀtGöEÿ\ 4uHöEÿ\bt\12j\bj\0V¿\a\0\0\80ÿV\1c\83Ä\fë\1f\8b\8b\ f\ 4\ 1Pj\aVÿV\1ch\80\0\0\0j\0VÿV\1c\83Ä\18ÿEô9]ôr­ë_¿\12\0\0\80ëXj\fVÿV\18$\ 1\ f¶ø÷ß\eÿY\83ç\14Y\81Ç\a\0\0\80ë<j\ 2VÿV\18h\80\0\0\0j\0VÿV\1cÿuðj\rVÿV\1cÿuùj\ 4VÿV\1cÿuìj\ 3VÿV\1c\80Ã@\ f¶ÃPj\ 2VÿV\1c\83ÄD\8dEÿPVÿV YY\84À\ f\84Ð\0\0\0öEÿ\ 4\ f\85Í\0\0\0öEÿ\buE\8bE\14\83è\ 4t\1aHHt\bHHtTHHu\ej\ 6VÿV\18YY\8b\88A\ 1j\ 5VÿV\18YY\8b\88\ 1öEÿ\b\ f\84¨\0\0\0\81ÿ\ 5\0\0\80\ f\84\9c\0\0\0j\bj\0V¿\a\0\0\80ÿV\1c\83Ä\fÿEè\83\ 3\ f\82lýÿÿë}j\ 5VÆEý\0ÿV\18\ f¶Ø\88\8bE\1cYY9\18s\ 6ÆEý\ 1ë!\83\0\85Ûv\19j\aVÿV\18\8bUôÿEôYY\8b\88\ 4
+9]ôrç\80\0\8bE\1c\89\18t\80¿\ 5\0\0\80évÿÿÿ¿\ 2\0\0\80ë!¿\12\0\0\80ë\1aj\fVÿV\18$\ 1\ f¶ø÷ß\eÿY\83ç\14Y\81Ç\a\0\0\80hÿ\0\0\0j\0VÿV\1cj\ 1j\fVÿV\1c\83Ä\18\8bÇ[^_ÉÃ\90\8a\ 4ýÿ\87\ 4ýÿ©\ 4ýÿ\9e\ 4ýÿÑ\ 4ýÿ¾\ 4ýÿÕ\ 4ýÿÜ\ 4ýÿ\10\ 5ýÿ\ 1\ 5ýÿ/\ 5ýÿ\94\ 4ýÿ\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ì\ 1ýÿà\ 3ýÿà\ 3ýÿà\ 3ýÿ5ä¶c¼2ÆI\81½·¡ þ\1al\95(Ô«ÏxrH\84D\e\\18\vûÚ\90oL\1fk°ØH¢\ 1ºåñÍ}V\0\0\0\0<\0\0\042¼213K3R3Y3g3n3×4â7æ7ê7î7ò7ö7ú7þ7\ 28\ 68
+8\ e8 8$8(8,8\0\0\0\0\0\0ÿÿÿÿª5\0\9dù\9elD\86d²]û&u\ÃÌ\ 6@4\15\0ø\1c\15\0\12VZL\ 1\ 3\v°\ 1@\ 2\0\0@\ 2\0\0l\býÿ\0\0\0\0`\16\0\00\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0ê\12\0\0@\ 2\0\0\0\13\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0\10\ 1\0\0@\15\0\0 \ 1\0\0@\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\04\0\0\0`\16\0\0@\0\0\0`\16\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bìV\8bu\f\8b\ 6\8dM\fQj\0j\0h\ 4\1dýÿVÿP èí\b\0\0è\ 4
+\0\0ÿu\fè]\ 6\0\0ÿu\fVè³\ 5\0\0\83Ä è*       \0\0èn    \0\0è\ 5\ 6\0\0\8bE\f\80xY\ 1^u\ 5èá\0\0\03À]á\1cÀÑþ%ÿÿ\92ÿ\r\0\0\12\0£\1cÀÑþ¡ ÀÑþ%ÿÿÿù\r\0\0\0\ 1£ ÀÑþf¡ªÁÑþ¹ð\ 3\0\0f#Áf\83ø u%¡$àÑþ%ÿÿ\7fÿ\r\0\0`\0£$àÑþ¸\0\80\0\0 \ 5ÄàÑþ   \ 5äàÑþ\ f\ 5\14ÀÑþ\83à\ 1¢\14ÀÑþ\ f\ 5 ÀÑþ\83à\ 1\f\80¢ ÀÑþ¡ ÀÑþ%ÿÿùÿ\r\0\0\b\0£ ÀÑþ¸\ f\ 6\0\0f£üÁÑþj\10Ç\ 5ôÁÑþ@\0\0\86¸0ÀÑþY\8b\90ô[+\ 1\89\10\83À\ 4Iuò\81\r ÀÑþ\0\0\ 1\80¡&ÀÑþ¨\ 2u÷¡&ÀÑþ¨\ 1u÷àD\80\rà\f\a¢D\80\rà¡ \81\rà%ÿÿÿù\r\0\0\0\ 1£ \81\rà  \81\rà\f\80¢ \81\rà\ f\ 5\14\81\rà\83à\ 1¢\14\81\rà\81\r \81\rà\0\0\0\80\81\r\1côÑþ\0\0 \0Ã\8bD$\ 42ÒV¾\0\ 4\0\08PZt\14\8b\r\10àÑþ\81áÿ÷ÿÿ\vÎ\89\r\10àÑþ\8a\r4ÂÑþ\80É\ 3\88\r4ÂÑþ\8aHZ:ÊtG8P[u\ 58P]t\e\ f·\ 5¤ÁÑþ\r\0\f\0\0f£¤ÁÑþ ¨ÁÑþ\f\ 3ë\1d:Êt\1e8P\t\19      5¤ÁÑþ\ f\ 5¨ÁÑþ%ü\0\0\0\f\ 1¢¨ÁÑþ^Ã\8b\15\80àÑþ¹ÿÿÿ\9f#Ѹ\0\0\0\18\vÐ\89\15\80àÑþ\8b\15 àÑþ#Ñ\vÐ\89\15 àÑþ\8b\15ÀàÑþ#Ñ\vÐ\89\15ÀàÑþ\8b\15ààÑþ#Ñ\vÐ\89\15ààÑþÃU\8bì\83ì\14\8bE\b\8b\bSVW\8dUìR3ÛSSh$\1dýÿP\89]ðÿQ \ f¶}\10\8b÷Áæ\f\8d\86\14\ 3\ eà\8b\b\81á?þÿ\ f\81É@\0\0À\89\b\ f·\86B\0\ eà\r\0\ 1\0\0f\89\86B\0\ eà\8b\8eT\0\ eà\8bÇÁà\13\81á\7f\0\ 6\0\vÁ\r\80 \0\0\89\86T\0\ eàf\8b\86Z\0\ eà\ f·À\83Ä\14¨Hu\13\8bM\f8\\ fQu
\ e\0\0\80é÷\ 2\0\0\8b\8e\18\0\ eà\81áÿ\ 2\ 2ÿ\81É\0\ 2\ 2\0\89\83eü@\89\8e\18\0\ eàtE\89]ø¸\0\0 àf\8b\0¹ÿÿ\0\0f;Áu\e\8bEìj\ fPÿu\bÿP\ 4\83Ä\fÿEø\81}ø`ê\0\0\81}ø`ê\0\0r\f\81¦\18\0\ eàÿ\0\0ÿë\90SSSj\ 2ÿu\10j\1cSèx\a\0\0\8bE\f\ 3ø\83Ä\1c\80\7f\15\ 1u\18\8d\86 \ 1\ eà\8b\b\8aOU3ÒBÓâ\89\10\81\b\0\0\0\80f9]üt\11Sj\ 2ÿu\10j\1c\87\r\0\0\83Ä\14\8b\8e\18\ 3\ eà¸ÿÿÿ\0\81É\0\0\0\r\89\8e\18\ 3\ eàf\8b\8eP\0\ eàöÁ@u\14\8b\8e\18\ 3\ eà#È\81É\0\0\0/\89\8e\18\ 3\ eà\80\7f\11\ 1\ f\85©\0\0\0f9]ü\ f\84¯\0\0\0\8d\86è\0\ eà\8a\b\80É\ 2\88\b\80\7f\19\ 1\8dEôPuGSSj\ 2ÿu\10j\1cSèQ\a\0\0f¡¨ÁÑþf\83à\ 3\ f·À\83Ä\1cf;Eôvc\8bE\f\80x[\ 1uZ\ f·\ 5¨ÁÑþ\8bMô%üÿ\0\0\vÁf£¨ÁÑþëA\8aO!\ f¶G\1d\ 2É\ f¶É\83à\ 1\vÁPÿu\10j\1cSè;\v\0\0\8aO!\8dEôP\ f¶G\1d\ 2ÉÑè\ f¶É\83à\ 1\vÁPSSj\ 2è\1a\v\0\0\83Ä(f9]üt
+Sj\ 2è´\r\0\0YY\81¦\18\0\ eàÿ\0\0ÿ\80\7f)\ 1u\10\8d\86H\0\ eàf\8b\bf\83É\bf\89\b\80\7f-\ 1u\10\8d\86H\0\ eàf\8b\bf\83É\ 4f\89\b\80\7f1\ 1u\10\8d\86H\0\ eàf\8b\bf\83É\ 2f\89\b\80\7f5\ 1u\10\8d\86H\0\ eàf\8b\bf\83É\ 1f\89\b\80\7f9\ 1u
+\81\8eH\0\ eà\0\0\0\b\80\7f=\ 1u\10\8d\86\\0\ eàf\8b\bf\83É\bf\89\b\80\7fA\ 1u\10\8d\86\\0\ eàf\8b\bf\83É\ 4f\89\b\80\7fE\ 1u\10\8d\86\\0\ eàf\8b\bf\83É\ 2f\89\b\80\7fI\ 1u\10\8d\86\\0\ eàf\8b\bf\83É\ 1f\89\b\80\7fM\ 1u
+\81\8eØ\0\ eà\0\0\0\80\80\7fQ\ 1uf\83\8eZ\0\ eà \8b}\b\8d\86X\0\ eà\8b\b\83áß\83É        \89\b\8d\86Ø\0\ eà\8b\b\83áý\81É\0\0\0@\89\b\8b\a\8dMðQSSh\14\1dýÿWÿP f¡@\80\ fà\ f·Àj\ 2\83àþ\83À(SP\8bEðPWÿP(\83Ä(\81\8eH\ 1\ eà\0@\0\03À_^[ÉÃU\8bìQV\8b5\18ôÑþWj\10ÆEü\0_\8bE\f\80|8ý\ 1u\1e3ÒB\8bÏÓâ\85Öu\13ÿuüPÿu\bè:üÿÿ\83Ä\f\85À} 3À@\8bÏÓà\vðþEüG\80\ 4\895\18ôÑþ \1côÑþ\f\ 1\1côÑþ^Éá\ 4ÁÑþ%ÿÿ\ 2ÿ\r\0\0\ 2\0£\ 4ÁÑþÇ\ 5\14ÁÑþ\0\80ÑþÇ\ 5\18ÁÑþ\0\0\0\0¡\10ÁÑþ%þÿ\0\0\r\ 1\0\ 1\ 1£\10ÁÑþÃèÌùÿÿ &\80Ñþ¨\ 2u÷ 2\80Ñþ¨\ 2u÷ \88\80Ñþÿt$\ 4\f\ 3¢\88\80ÑþèÒúÿÿ \1côÑþ\f\ f¢\1côÑþ\81\r\10àÑþ\0\0\b\0\ f\ 5\14\80Ñþ\83à\ 1¢\14\80Ñþ\ f\ 5\ 4\80Ñþ%ø\0\0\0\f\ 1¢\ 4\80Ñþ¡ \80Ñþ%ÿÿÿù\r\0\0\0\ 1£ \80Ñþ\ f\ 5 \80Ñþ\83à\ 1\f\80¢ \80Ñþ\81\r \80Ñþ\0\0\0\80Ã\81\r0@Ñþ\0\0\ 3\0Ç\ 5,\80Ñþ@\0\0\86\ f·\ 5\ 4\82Ñþ%ÿó\0\0\ 4\82Ñþ\ f·\ 5\ 4\81Ñþ\r\0\18\0\0\ 4\81Ñþf¡ü\80Ñþf\83È\ 4f£ü\80ÑþÇ\ 5Ä\81ÑþÿÿÿÿÇ\ 5Ð\81Ñþÿÿÿÿ¡\84\80Ñþ%ÿ¯ÿÿ\r\0 \0\0£\84\80Ñþ¡\b\83Ñþ£\b\83Ñþ¡\14\83Ñþ£\14\83Ñþ¡$\83Ñþ£$\83Ñþ¡(\83Ñþ£(\83Ñþ¡4\83Ñþ£4\83Ñþ¡8\83Ñþ£8\83ÑþÃ\81%\0\82Ñþÿÿÿó¡\10\82Ñþ\83àù\83È\ 1£\10\82Ñþ\ f·\ 5\10\82Ñþ%ÿ\0\0\0\r\0\ 1\0\0\10\82Ñþ\ f\ 5\88\80Ñþ%ü\0\0\0¢\88\80Ñþf¡.\8cÑþf\83È f£.\8cÑþ\ f·\ 50\8cÑþ%ÿ÷\0\0f£0\8cÑþ\ f·\ 50\8cÑþ%ÿø\0\0\r\0\ 4\0\0f£0\8cÑþ\ f·\ 54\8cÑþ%\ fü\0\0\83Èpf£4\8cÑþf¡4\8cÑþf\83È\ 1f£4\8cÑþ\ f\ 5(\8cÑþ%Á\0\0\0\f\ e¢(\8cÑþÃÇ\ 5\0\8cÑþ\0\0\0\0Ç\ 5\ 4\8cÑþ\ 2\0\0\16¸þÿ_ÿ!\ 5\0\8eÑþ!\ 5@\8eÑþ\81\8dÑþßÿßÿ¸\0\0\0\80       \ 5\10\8eÑþ   \ 50\8eÑþ   \ 5P\8eÑþ   \ 5p\8eÑþ¸\0\0\0\b      \ 5\10\8eÑþ   \ 50\8eÑþ   \ 5P\8eÑþ   \ 5p\8eÑþ\83\r\10\82Ñþ\b\81\80Ñþÿÿïÿ\83\rü\80Ñþ\ 2\81\r \8cÑþ\0\80\0\0Ã\ f\ 5\14\90Ñþ\83à\ 1¢\14\90Ñþ\ f\ 5\ 4\90Ñþ%ø\0\0\0\f\ 1¢\ 4\90Ñþ¡ \90Ñþ%ÿÿÿù\r\0\0\0\ 1£ \90Ñþ\ f\ 5 \90Ñþ\83à\ 1\f\80¢ \90Ñþ\81\r \90Ñþ\0\0\0\80 &\90Ñþ¨\ 2u÷Ã\8b\rD\90Ñþ¸ÿÿ\ 1ÿ#È\81É\0\0\ 1\0\89\rD\90Ñþ\8b\15P\90Ñþ#й\ 1\0\ 1\0\vÑ\89\15P\90ÑþÇ\ 5X\90Ñþ\0\80Ñþ\8b\15`\90Ñþ#Ð\vÑ\89\15`\90ÑþÃ\8b\rD\80Ñþ¸ÿÿ\ 1ÿ#È\81É\0\0\ 1\0\89\rD\80Ñþ\81%P\80Ñþÿÿÿ\0\8b\rP\80Ñþ\81áÿÿý\0\81É\0\0\ 2\0\89\rP\80Ñþ\8a\rP\80Ñþ\80É\ 1\88\rP\80Ñþ\8b\rð\80\ fà\83áþ\89\rX\80Ñþ\8b\r`\80Ñþ#È\81É\ 1\0\ 1\0\89\r`\80ÑþÇ\ 5h\80Ñþ\0\90ÑþÃè üÿÿèÙ÷ÿÿèIþÿÿè\90ýÿÿéÞüÿÿ\ f¶D$\ 4\ f¶L$\b\ 5\0\ e\0\0Áà\ 5\ 3Á\ f¶L$\f\8d\fÁÁá\f\8aA4V3öë\13\8a\14\ 1:T$\14t\13F\83þ@s\v\8aD\ 1\ 1\ f¶À\85Àuæ3À^ÃU\8bì\ f¶M\b\ f¶U\f\81Á\0\ e\0\0Áá\ 5\ 3Ê\ f¶U\10\8d\14ÊÁâ\f\8b\8a\0\ 1\0\0V¾ÿÿ\0\0f;θ\0\ 1\0\0^t\ 5f\85Éu\103À]ÃÁé\14\8bÁ\85Àtó\8b\f\ 2f;M\14uî]ÃU\8bìj\ 2ÿu\10ÿu\fÿu\bè\99ÿÿÿ\83Ä\10\85Àu\a¸\ 3\0\0\80\8a\ f¶U\fS3ÛCÓã\ f¶M\bÁá\ 5\ 3Ê\ f¶U\10j\ 2ÿu\1c\8d\fÊÿu\18Áá\fÿu\14\88\9c\ 1\14\0\0àèTÿÿÿ\83Ä\10\85Àu\a¸\ 3\0\0\80ë \ f¶M\14\ f¶U\18Áá\ 5\ 3Ê\ f¶U\1c\8d\fÊÁá\f\88\9c\ 1\14\0\0à3À[]ÃU\8bì\83ì\10\ f¶M\b\ f¶U\f¸\0\ e\0\0\ 3ÈÁá\ 5\ 3Ê\ f¶U\10VW\8d\ f¶M\14\ 3È\ f¶E\18Áá\ 5\ 3È\ f¶E\1c\8d4ÈÁæ\f\8aF\ eÁç\fÆEÿ\0¨\80v\ 4ÆEÿ\ 1j\10ÿu\10ÿu\fÿu\bè\80þÿÿ\83Ä\10\85Àu\10\8bM f\89\ 1¸\ 3\0\0\80éÆ\ 3\0\0\ 3øf\8bO\fSj\ 3fÁé
+Xf#È\80}ÿ\0\ f·Ù\89\89\ f\85^\ 1\0\0j\10ÿu\1cÿu\18ÿu\14è5þÿÿ\83Ä\10\85À\ f\84/\ 1\0\0\ 3Æf\8bH\ffÁé
+f\83á\ 3\83e\b\0\ f·É\89M\ff\8b\ e\ f·É\89Mðf\8bN\ 2\ f·É\89M\1c\8aN\b¾ÿÿ\0\0\88M\13f\8b\r\84\1cýÿ\8bÖf;Êta\ f·Ñ3Éf;Uðu\1df\8bU\1cf9\91\86\1cýÿu\10\8a\89\88\1cýÿ\80ùÿt\1f:M\13t\1aÿE\b\ f·M\bÁá\ 3\ f·\91\84\1cýÿ\8bÞf;ÓuÅë\1f\ f·M\bÁá\ 3f\ f\91\89\1cýÿf\ f\89\8a\1cýÿf!Uøf!M\ff\8b\ f·Ñf;M\fv\ 4\ f·U\föÂ\ 2t+\8bO\f\8bp\f»\0\80\ 3\0#Ë#ó;Îs\ 2\8bÎ\8bp\ 4Áé\ 6\81æ\0\ e\0\0;Îv\ 6\81âýÿ\0\0öÂ\ 1t.\8bO\f\8bp\f¿\0p\0\0#Ï#÷;Îs\ 2\8bÎ\8bp\ 4\8b}ôÁé\ 6\81æÀ\ 1\0\0;Îv\ 6\81âþÿ\0\0\ f·H\10\ f·Ú\81áüÿ\0\0\vÊ\89]øf\89H\10\ f·G\10%üÿ\0\0\vÃf\89G\10é7\ 2\0\0\89E\fÆE\13\03ÿf\8b\ 47»ÿÿ\0\0\8bËf;Át9\8aE\13\ 2E\1cj\10\ f¶ÀPÿu\18ÿu\14è·üÿÿ\83Ä\10\85Àt\17\ 3Çf\8bD0\ffÁè
+f\83à\ 3\ f·À!E\fë\ 4\83e\f\ 3þE\13\81Ç\0\10\0\0\80}\13\av¨f\8b\ 6\83e\b\0\ f·À\89Eðf\8bF\ 2\ f·Ð\8aF\b\88E\13\84\1cýÿ\8bËf;Át\\ f·È3Àf;Mðu\18f9\90\86\1cýÿu\ f\8a\80\88\1cýÿ<ÿt\1f:E\13t\1aÿE\b\ f·E\bÁà\ 3\ f·\88\84\1cýÿ\8bûf;ÏuÊë\1f\ f·E\bÁà\ 3f\ f\88\89\1cýÿf\ f\80\8a\1cýÿf!Møf!E\ff\8b\ f·È\89M\bf;E\fv\a\ f·E\f\89E\b\83e\f\0ÆE\13\0»\0\80\ 3\0¿\0p\0\0\8bE\ff\8b\ 40¹ÿÿ\0\0f;Á\ f\84\99\0\0\0\8aE\13\ 2E\1cj\10\ f¶ÀPÿu\18ÿu\14è®ûÿÿ\83Ä\10öE\b\ 2\89Eøt7\8bU\f\8b\8bI\f\ 3Ð\8d\ 42\8bP\f#Ë#Ó\89Eð;Ês\ 2\8bÊ\8b\8b@\ 4Áé\ 6%\0\ e\0\0;Èv\a\81e\býÿ\0\0öE\b\ 1t9\8b\8bH\f\8bE\f\8b\ 3Â\ 3Æ\89\8b@\f#Ï#Ç;Ès\ 2\8bÈ\8b\8b@\ 4Áé\ 6\ 1\0\0;Èv\a\81e\bþÿ\0\0þE\13\81E\f\0\10\0\0\80}\13\a\ f\86>ÿÿÿ\ f·E\b\89Eø3ÿf\8b\ 47¹ÿÿ\0\0f;Át.\8aÃ\ 2E\1cj\10\ f¶ÀPÿu\18ÿu\14èéúÿÿ\ 3Ç\8dD0\10\ f·\b\81áüÿ\0\0\83Ä\10\vM\bf\89\bþÃ\81Ç\0\10\0\0\80û\a\8b\ f·H\10\81áüÿ\0\0\vM\bf\89H\10\8bE f\8bMøf\89\b3À[_^ÉÃU\8bìQ\ f¶E\b\ f¶U\f\ 5\0\ e\0\0Áà\ 5\ 3Â\ f¶U\10SV\8d4ÂÁæ\ff\8b\ 6º\86\80\0\02ÉWf;Ât\ f\80}\f\1ct  \8aF\ e¨\80v\ 2þÁ\8bE\14Ht\1eHt\12Ht\ 6\83\0ë\19ÇEü\ 3\0\0\0ë\10ÇEü\ 2\0\0\0ë\aÇEü\ 1\0\0\0\84ÉuRj\10ÿu\10ÿu\fÿu\bè\1fúÿÿ\83Ä\10\85Àu\12\8bM\183Àf\89\ 1¸\ 3\0\0\80éã\0\0\0\ 3Æf\8bH\ffÁé
+f\83á\ 3\ f·Ù\ f·H\10#]ü\81áüÿ\0\0\vËf\89H\10é²\0\0\0j\ 3[ÆE\17\0\ f¶}\17Áç\ff\8b\ 47¹ÿÿ\0\0f;Át2\8aE\17\ 2E\10j\10\ f¶ÀPÿu\fÿu\bèªùÿÿ\83Ä\10\85Àt\8b\ 3øf\8bD7\ffÁè
+f\83à\ 3\ f·À#ØþE\17\80}\17\av°#]üÆE\17\0\ f¶}\17Áç\ff\8b\ 47¹ÿÿ\0\0f;Át6\8aE\17\ 2E\10j\10\ f¶ÀPÿu\fÿu\bèSùÿÿ\83Ä\10\85À\ f\840ÿÿÿ\ 3ø\8dD7\10\ f·\b\81áüÿ\0\0\vËf\89\bþE\17\80}\17\a\8bE\18f\89\183À_^[ÉÃU\8bìQj\10ÿu\10ÿu\fÿu\bè
+ùÿÿ\83Ä\10\85Àu\a¸\ 3\0\0\80ÉÃ\ f¶M\b\ f¶U\fÁá\ 5\ 3Ê\ f¶U\10\8d\fÊVÁá\fW\8d4\ 1f\8b\86\12\0\0à¿\0\10\0\0\8bÏf\85Áu
\ 3\0\0\80éÄ\0\0\0S\8b]\14ÆEü\0j\10ÿuüÿu\18Sè­øÿÿ\83Ä\10\85Àt)\ f¶U\18\ f¶ËÁá\ 5\ 3Ê\ f¶Uü\8d\fÊÁá\ff\8b\84\ 1\12\0\0à\8bÏf\85Á\ f\84\82\0\0\0þEü\80\b\8a\86\10\0\0à\f@\88\86\10\0\0àÆEü\03ÿj\10ÿuüÿu\18SèRøÿÿ\83Ä\10\85Àt \ f¶U\18\ f¶ËÁá\ 5\ 3Ê\8d\fÏÁá\f\8d\84\ 1\10\0\0à\8a\b\80É@\88\bþEüG\80\b\8a\86\10\0\0à\f \88\86\10\0\0àf\8b\86\12\0\0à¹\0\b\0\0f\85Áuï3À[_^Éø\ 3\0\0\80ëôU\8bìQS\8b]\bÆEü\0j\10ÿuüÿu\fSèÚ÷ÿÿ\83Ä\10\85ÀuZþEü\80\brâV\88Eü3öj\10ÿuüÿu\fSè¶÷ÿÿ\83Ä\10\85Àt(\ f¶U\f\ f¶Ë\81Á\0\ e\0\0Áá\ 5\ 3Ê\8d\fÎÁá\f\8dD\ 1\10\ f·\b\81É\0\ 1\0\0f\89\bþEüF\80\br¹^[ÉÃ\ f¶U\f\ f¶Ë\81Á\0\ e\0\0Áá\ 5\ 3Ê\ f¶Uü\8d\fÊÁá\f\8bD\ 1\fëÛ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ f\0\0\0\0\0\ f\0\0\0\0\0ð\0\0\0\0\0\0\ f\0\0\0\0\0ð\0\0\0\0\0\0\ f\0\0\0\0\0\ f\0\0\0\0\0ð\0\0\0\0\0\0\ f\0\0\0\0\0ð\0\0\0\0\0\0\ 1\0\0\ 1\0\0\ 4\0\0\10\0\0@\0\0\0\ 1\0\0\ 1\0\0\ 4\0\0\10\0\0@\0\0\0\86\80\8b\10ÿ\ 2\ 2\0\86\80\8c\10\0\0\0\0\86\80\8c\10ÿ\ 2\ 2\0\86\80\9a\10ÿ\ 2\ 2\0\86\80"Bÿ\ 2\ 3\0\86\80'Bÿ\ 2\ 3\0\86\80(Bÿ\ 2\ 3\0\86\802Bÿ\ 2\ 3\0\86\805Bÿ\ 2\ 3\0\86\806Bÿ\ 2\ 3\0\86\807Bÿ\ 2\ 3\0\86\80:Bÿ\ 2\ 3\0\86\80;Bÿ\ 2\ 3\0\86\80<Bÿ\ 2\ 3\0\86\80=Bÿ\ 2\ 3\0ÿÿ\0\0\0\0\0\0\95Cô×ÇõñO\85\94ÂîõÞ&\15{\1f¯æ?üÚF¨(£´W¤B\82\90oL\1fk°ØH¢\ 1ºåñÍ}V\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1c\0\0\0R2N3­4ñ7\90>­>µ>Ð>è>ð>\0\10\0\0\14\0\0\0\1700080R0j0r0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿ§¹³ý\82\1ewL\9clC\ 5ÈQòS>{\ 6@T\a\0ø(\0\0\e\ 2\95(Ô«ÏxrH\84D\e\\18\vûÚ\ 2?\eæ¨uv#C\87µi¤\9cÐ;U\ 3\b\14\a\0\12VZL\ 1\ 3\v¸\ 1ý\ 2\0\0@\ 2\0\0Ì\1dýÿ\0\0\0\0\80\b\0\0\f\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0\19\ 6\0\0@\ 2\0\0 \ 6\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0 \0\0\0`\b\0\0 \0\0\0`\b\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0\ e\0\0\0\80\b\0\0 \0\0\0\80\b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bì\83ì\f\8bE\18\83\0S»ÿ\0\0\0VWÆEÿ\0ÆEþ\09\18t_\8b}\1c\8bu\f\8b\b\83é\0t\ 6ItVIu\14\ f¶H\ 4\8aP\ 5\ 3Ï"\11ÆEþ\ 1
+P\ 6\88\11ÿEø\8bE\18\8b\8d\ 4È9\18\80\0t"\8bE W\89\8dEôPj\0j       ÿu\14ÿu\10Vÿu\bÿ\16\83Ä \85À|\ 23À_^[ÉÃ\ f¶H\ 4ÇEô\ 1\0\0\0\8a\149"P\ 5
+P\ 6\8dEÿP\8dEôPj\0j\ 5Qÿu\10\88UÿVÿu\bÿ\16\83Ä \85À|Çë\8bU\8bì\83ì@SV\8bu\f\8b\ 6\8dMÔQSSh\9c$ýÿV\89\89]äÿP \83Ä\14\ f\8cC\ 4\0\0\8b\8b\b\8dUøR\8dUÂR\8dUäR\8dUÿR\8dU\ fRj\ 5PVÿQ\1c\83Ä ;Ã\ f\8c\18\ 4\0\0\8b\ 6\8dMàQSSh¬$ýÿVÿP \83Ä\14\ f\8cü\ 3\0\0\8b\8b\0\8bH\ 4\839\ 2W\ f\85ª\0\0\02À¿ÿ\0\0\0þÀ\ f¶Ð9<Ñuö\8b\ e\ f¶À\8dUôRPV\89EÜÿQL\83Ä\f\ f\8c¼\ 3\0\0\8b\ 6SÿuÜÿuôÿPT\8b\8b\0\83À\ 4\8b\b\83Ä\f\88]þ99t,3É\8b\0\8b\ 3Á\ f¶H\ 4\8a@\ 6þEþ\88\ 4\11\8b\ f¶Mþ\8b\0\83À\ 4\8b\10Áá\ 39<\11\ f¶E\ f3Eìÿuô\83à\7f1Eì\ f¶Eþ\89\8dEðP\8bEàSj  SÿuìPVÿ\10\83Ä é9\ 3\0\0\8dEÀPVèv\ 3\0\0;ÃYY\ f\8c+\ 3\0\0\8dEÄPVè\83\ 3\0\0;ÃYY\ f\8c\17\ 3\0\0\8b\ 6\8dMôQj\ 1VÿPL\83Ä\f\ f\8c\0\ 3\0\0\8b\ 6Sj\ 1ÿuôÿPT\ f¶E\ f\8b}ìÿuô3Ç\83à\7f\8dEðP\ f¶EÿSj\bP\8bEàWPVÇEð\ 1\0\0\0ÿ\10\8a\8b\ e\88\ f¶À\8dUôRPV\89EÜÿQL\83Ä8;Ã\ f\8c§\ 2\0\0\8b\ 6SÿuÜÿuôÿPTÿuô\ f¶E\ f\8bMÜ3Ç\83à\7f\89Mð3ø\ f¶Eÿ\8dMðQSj\bP\8bEàWPV\89}ìÿ\10\83Ä,;Ã\ f\8ce\ 2\0\0\8b\808ÿu\16\80x\ 1ÿu\10\80x\ 2ÿu
+\80x\ 3ÿ\ f\84\81\ 2\0\0\ f·Mø\89\89\89]è;Ë\ f\86õ\0\0\0\8b\8b\8d\ 4Ø\8bH\ 4\ f¶Q\ 2\8a\14:"Q\ 3\8b\88\8bH\ 4\ f¶y\ 4\8a\1c\1f"Y\ 5¿ÿÿ\0\0\88\8b\b\8b    f99u\ 6\8bÏf\89\8b\b\8b9¹ÿ\0\0\09O\ 4u\ 3\89\8bH\ 4\809ÿu\ 6\80Êÿ\88\8bH\ 4\80y\ 1ÿu\ 6\80Ëÿ\88\8b\b\89\8b \83y\b\0ubf\8b}Àf99uYf\8by\ 2f;}ÂuO\8b}Ä9y\ 4uG\8b@\ 48\10u@8X\ 1u;\ f¶E\ f\ f¶MÌ\8b}ìQÿuÈ\8bMÐÿq\ 4\83à\7f\ f¶EÿPWÿuà\89}ìVè4üÿÿ\83Ä\1c\85À\ f\8cW\ 1\0\0ë\ 3\8b\8b]èC\89]è;]Ø\ f\82\10ÿÿÿ\8bEô3Û\ f¶M\ fP\8dEðP\ f¶EÿS3Ïj\b\83á\7fP\8bEà3ù\ f¶MÌWPV\89Mðÿ\10\8a\83Ä :EÌt4SÿuÜ\88EÌÿuô\8b\ 6ÿPT\ f¶E\ fÿuô3Ç\83à\7f\8dEðP\ f¶EÿSj\bP\8bEàWPVÿ\10\83Ä,\89]è9]Ø\ f\86·\0\0\0\8b\83À\ 4\8b\b\ f¶Q\ 2\8b\8a\14\1a"Q\ 3\88\8b\b\ f¶Q\ 4\8a\14\1a"Q\ 5»ÿÿ\0\0\88\8b\8b      f9\19u\ 6\8bËf\89\8b\8b\19¹ÿ\0\0\09K\ 4u\ 3\89\8b\b\809ÿu\ 4ÆEÍÿ\8b\b\80y\ 1ÿu\ 6\80Êÿ\88\8b\8b      \83y\b\ 1u)f\8b]Àf9\19u f\8bY\ 2f;]Âu\16\8b]Ä9Y\ 4u\ e\8b\b\8a]Í8\19u\ 58Q\ 1t5\8b\8dQÿ9Uèt_ÿEè\83À\b9Mè\ f\82Qÿÿÿ3Û\8b\8b\bSPVÿQ \83Ä\f;Ã|\ 23À_^[ÉÃ\ f¶E\ f\ f¶MÌ\8bUèQÿuÈ\8b\8b\fÑÿq\ 4\83à\7f\ f¶EÿPWÿuàVè\9fúÿÿ\83Ä\1c\85Àë¸\ 3\0\0\80ë¿ÿt$\b\8bL$\b\8b\ 1\8b@hj\0j\0j\ 1PQÿ\10\83Ä\18\85À|\ 23ÀÃU\8bìQS\8b]\b\8b\ 3V\8bphW\8dE\bPj\0h\0\0\ 2\0j\ 1VSÿ\16¿ÿÿ\0\0\8bÇ\83Ä\18f9E\bu*\8dEüPj\0\0\ 1\03ÿGWVSÿ\16\83Ä\18öEü@u\a¸\ 3\0\0\80ë1\8bE\f\898ë(\8dE\bPj\0h\0\0\ 1\0j\ 1VSÿ\16\8bE\f\83Ä\18f9}\bu\ 5\83 \0ë\ 6Ç\0\ 2\0\0\03À_^[ÉÃ\0\0\0\0\0\0\0?\eæ¨uv#C\87µi¤\9cÐ;U\95(Ô«ÏxrH\84D\e\\18\vûÚ\0\0\0\0\f\0\0\0\133`3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿ%\ 1×\86£º\96B¦/`+ë»\90\81\98\93\ 6@$/\0ø\16\0\0\e\ 2=d\94øIÄÑB\8e¨\85½ØÆ[Þ\b\0\0ô.\0\12VZL\ 1\ 3\v¸\ 1\b\b\0\0@\ 2\0\0\14%ýÿ\0\0\0\0à/\0\0|\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0\93+\0\0@\ 2\0\0 +\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0ì\ 1\0\0à-\0\0\0\ 2\0\0à-\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0\8c\0\0\0à/\0\0 \0\0\0à/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\8bL$\b\8bD$\ 4V3ö+Á\8a\14\b:\11u\vFA\83þ\10rò°\ 1^Ã2À^ÃU\8bì\83ìhVW\8b}\b\8b\aj\0\8dM\98j`QÿPT\8bE\14\89\8dE\98PWè{       \0\0\8bu\f\8dE\98PVÿ\16\83Ä\1c\85À\ f\8c\92\0\0\0\8b\ f\8dEøP\8b\8bÐ\81âÿ\ f\0\0÷Ú\eÒ÷ÚÁè\f\ 3ÐRÿu\18WÿQH\8b\89E\98\8b\89E\9c\8dE\98PVÿV\ 4\83Ä\18\85À|S\8dE\98PVÿV\bYY\85À|Eÿu¤\8bE\10ÿu ÿu\9cÿu\98Pÿ\10\83Ä\14\85À|,\8bE\1c\8bM\98\89\b\8bM\9c\89H\ 4\8b\8b\89\b\8b\89H\ 4\8bE$\8b\89\b\8b\89H\ 43À_^ÉÃU\8bì\83ì\18VW\8b}\f\8dG\18ë\17\80ù\12t\1a\8b\b\81áÿÿÿ\0ë\ 1AöÁ\ 3\ 3Á\8aH\ 3\80ù\10\8bu\b\8dMøQ\8dMðQ\8dMèQj\ 4\83À\ 4Pÿu\14ÿu\10VèÝþÿÿ\83Ä \85Àu\18\8b\ 6h\ 4RýÿVÿP\18YY\85À|\aVWÿUøYY_^ÉÃU\8bì\83ìT\8bE\10\8b\0SVW\8b}\b\8b\ f\8dUàRPj\ 1W\89EüÿQ@\83Ä\10\85À\ f\8c\12\ 3\0\0\8b\8dF\18\89\8b\18\81ãÿÿÿ\0\89]ìöÃ\ 3t    ÿEìöEì\ 3\80x\ 3\ 2\ f\85¢\0\0\0\8b\a\8dMØQ3öVVh\84RýÿW\89uÜÿP \83Ä\14\ f\8cû\ 2\0\0\8b\8b\a\83Á\ 4j\10Q\8dM¬QÿPP\8dEÜP\8dEÈP\8dEÄPV\8dE¬P\8dE\fP\8bEØPWÿ\10\83Ä,;Æ\ f\8cÂ\ 2\0\0\8b\a\8dMÔQVVhtRýÿWÿP \83Ä\14\ f\8c¦\ 2\0\0\8dE\vPÿuü\8bEÔÿuÜPWÿ\10\83Ä\14\ f\8c\8a\ 2\0\0\80}\v\0\ f\85Ä\ 1\0\0\8b\8b\8aH\ 3\80ù\10\ f\84¼\ 1\0\0\80ù\ 1\ f\85U\ 1\0\0\89\ f¶@\b+Æt!Ht\12H\ f\85©\ 1\0\0\8dEôPèè(\0\0ë     \8dEôPèÃ\12\0\0\ 5¸\ 3\0\0\80\ f\8c\85\ 1\0\0\8b\a\8dM¼Qj\ 1j\ 4WÿPH\83Ä\10\85À\ f\8cv\ 1\0\0\8b\8dMèQ\8dMðQ\83Ã÷\83À      SP\89\8b\89\89\8bu¼P\89\89]Ðÿ\10\83Ä\14\85Àu\7f\8b\ f\8dE¼P\8b\8bлÿ\ f\0\0#Ó÷Ú\eÒ÷ÚÁè\f\ 3ÐRj\ 4WÿQH\83Ä\10\85À\ f\8c\15\ 1\0\0\8b\ f\8b\8dE¼P\8b\8bÐ#Ó÷Ú\eÒ÷ÚÁè\f\ 3ÐRj\ 4WÿQH\83Ä\10\85À\ f\8cè\0\0\0ÿuè\8bE¼Vÿuð\89EäPÿuÐ\8bEôÿuÌPÿP\ 4\8b\83Ä\1c\85À\ f\8cµ\0\0\0\8aF\ 3\8bÎ<\19u\13\83Æ\10\81~(_FVH\ f\84°\0\0\0\8buä<\10\ f\84û\0\0\0\8b\ 1%ÿÿÿ\0ë\ 1\ 3\ 3È\8aA\ 3\84Àt        \8bÑ+Ö;UðrØ\8b\8b\ 3\80x\ 3\0\89\ f\84ö\0\0\0\ f¶F\16Áà\10\99\8bÈ\ f¶F\15Áà\b\99\ 3È\ f¶F\14\99\ 3È\8bEø3Ò3Û\81áÿÿÿ\0+Æ;Ó\ f\87Ä\0\0\0r\b\ f\83º\0\0\0\8bEøé}ýÿÿ¸\1a\0\0\80é²\0\0\0\8bM\14\83À\ 4\89\ 1é£\0\0\0¸\ e\0\0\80é\9b\0\0\0¸   \0\0\80é\91\0\0\0\89]üÿv$ÿv SVWèÄ\10\0\0\8bE\18\83Ä\14;Ãt
+\8b\0¹þÿ\0\0f\89\b\8b\a\8dMüQVj\ 5WÿP<\83Ä\10\85À|±\8bE\10\8bMüSÿu\14\89\bPÿu\fWèÌüÿÿ\83Ä\14ë;\83Á\ 4ë/\8b\a\8dMàQÿuüj\10WÿP@\83Ä\10\85À}\16\8b\a\8dMàQÿuüj\12WÿP@\83Ä\10\85À|
+\8b\8bE\14\89\b3À_^[ÉÃU\8bìQQ\8bE\b\8b\b\8dUøRÿu\fj\ 4PÿQH\8b\8b\83Ä\10ÉÃ\83|$\b\0t\12ÿt$\bj\0ÿt$\fèY\ f\0\0\83Ä\fÃU\8bìQV\8bu\b\8b\ 6\8dM\bQVÿP0YY\85À|xÿu\b\83\0j\ 5èû%\0\0Y\89E\bf\838\ 5YuZ\8b@\b\8b\ e\8dUüRPj\0VÿQ<\83Ä\10\85À}%\8bE\b\ f·@\ 2\ 1E\bÿu\bj\ 5èÅ%\0\0Y\89E\bf\838\ 5Yu$\83\0ë\14ÿu\10ÿuüèÈ#\0\0YY\84Àu\15\8bE\b¹ÿÿ\0\0f9\bu¦¸\ e\0\0\80^ÉÃj\0ÿu\14\8dEüPÿu\fVè¦ûÿÿ\83Ä\14ëæU\8bì\83ì\fVWfº\80\0°\89î\8bu\f\8b\ 6\8dMüQVÿP(\8b\ 6j\0j\0j\0h4RýÿVÿP \8bø\83Ä\1c\85ÿ}7\83\11tP\8dEøPè}#\0\0j\0\8dEôPVè\ 1\18\0\0ÿuøÿuôÿu\bVèÎúÿÿ\83Ä \85À|\ 23À_^ÉÃ\83\11t\19\895LSýÿ\8b\ 6hìQýÿVÿP\18\8bøYY\85ÿ|Ý\8b\ 6høQýÿVÿP\18YY\85ÿ}Ê\8bÇëÈU\8bìQV\8bu\b\8b\ 6\8dM\bQVÿP0YY\85À|V\83\0Wÿu\bj\ 5_Wè­$\0\0Y\89E\bYf98u5\8b@\b\8b\ e\8dUüRPÿu\fVÿQ<\83Ä\10\85À}&\8bE\b\ f·@\ 2\ 1E\bÿu\bWèx$\0\0Y\89E\bYf98t\1d¸\ e\0\0\80_^ÉÃÿuüÿu\14è\eùÿÿYY\84Àt\ f\8bE\b¹ÿÿ\0\0f9\bu¤ë×\8dE\bPÿu\18\8dEüPÿu\10Vè[úÿÿj\10ÿuü\8bøÿu\14\8b\ 6ÿPP\83Ä \8bÇë²U\8bì\83ì\f\83\0\8dEøPèS"\0\0j\0\8dEôPÿ5LSýÿèÒ\16\0\0j\0\8dEüP\8dE\fPj\10ÿ5LSýÿè
+úÿÿ\83Ä$\85À|"ÿu\18ÿu\14ÿu\10j\ 4ÿuüÿuøÿuôÿ5LSýÿè\9eøÿÿ\83Ä ÉÃU\8bì\81ì\84\0\0\0SVWfº\80\0°\8aî\8bu\f\8b\ 6\8dMü3ÿQV\89\89\89\89}ÐÿP(YY\85À| \83\11u\1a\8b\ 6\8dMäQWWh¤RýÿVÿP \8bEäVÿ\10\83Ä\18\8dEôP\89}øè !\0\0W\8dEøPVè%\16\0\0\8b\ 6\8dMÔQj j\ 4VÿPH\8b\8b\81Ãàÿ\ 1\0\13Ç\89E\80\8dEÌPVèG\f\0\0\8b\ 6\8dMüQVÿP(\83Ä0\85À|!\83}ü u\e\8b\ 6\8dMÜQWWh\94RýÿVÿP \8bEÜPVÿ\10\83Ä\1c\8b\ 6\8dMìQVÿP`÷Eì\0\ 5\0\0YYt'\8dEðP\8dE\94Pj\10j\ 1Vèòýÿÿ\8dEðP\8dE\94Pj\10j\ 1Vèàýÿÿ\83Ä(\8dEàP\8dE\84Pj\10j\ 5VèËýÿÿ\83Ä\14\85À}\r\8b\ 6h\1cRýÿVÿP\18YY\8dEèPhÄQýÿj\10Vè[üÿÿ\83Ä\10\85À}\r\8b\ 6h\1cRýÿVÿP\18YYè4\ 1\0\0j$Vè\8e
+\0\0\89\8dE¤P\8dE¼P\8dE´Pj\ 4ÿuè\89U°ÿuôÿuøVè\1c÷ÿÿ\8dEÄP\8dE´P\8dE¼Pj\ 4ÿuàÿuôÿuøVèÿöÿÿ\83ÄHfº\80\0°\8bî\8b\ 6h\10RýÿVÿP\18VèÞ     \0\0ÿuÈ\8dE\84ÿuÄÿu¸ÿu´ÿuÀÿu¼PVè4\v\0\0\8b\ 6WWWh\ 1\10\ 3\ 3j\ 1VÿPX\83ÄDÿuÈÿuÄÿu¨ÿu¤ÿu\80SWÿu\10ÿu°ÿu¬èµ\0\0\0\83Ä(_^¸  \0\0\80[ÉÃ\8bD$\b\8bT$\ 4\8bL$\10\ 3Ð\8bD$\f\8b\0\85Àt\11V\8bò+ñ\8a\14\ eH\88\11A\85Àuõ^3ÀÃU\8bìQQV\8bu\b\8b\ 6W\8dMøQj\ 1j\ 4VÿPHh\0\ 4\0\0h^/ýÿÿuø\8bø\8b\ 6ÿPP\8bE\f\8b\83Ä\1c\89\8bÇ_^ÉÃÌÌÌÌÌÌÌÌÌÌÌÌUW\8bìú¿\840ýÿf\8cÈf\8eÀ&\ f\ 1\17gêð/ýÿ\10\0\18\0f\8eØf\8eÀf\8eàf\8eèf\8eÐ_]ÃU\8bì¸\0\0\0\80\ f¢=\0\0\0\80vf¸\ 1\0\0\80\ f¢\ fºâ\1dsY\ f à\ fºè\ 5\ f\8bE\b\ f"ع\80\0\0À\ f2\ fºè\b\ f0\ f À\ fºè\1f\ f"Àë\0gêU0ýÿ8\0f¸0\0f\8eÀf\8eÐf\8eØH\8b]\18H\8bãH\8bM\10H\8bE ÿÐH\8bM\10H\8bE(ÿÐëþ\ 5\0\0\0\0G\0\940ýÿ\8d¤$\0\0\0\0\8dI\0\0\0\0\0\0\0\0\0ÿÿ\0\0\0\92Ï\0ÿÿ\0\0\0\9fÏ\0ÿÿ\0\0\0\93Ï\0ÿÿ\0\0\0\9aÏ\0\0\0\0\0\0\0\0\0ÿÿ\0\0\0\92Ï\0ÿÿ\0\0\0\9a¯\0\0\0\0\0\0\0\0\0èû\a\0\0\90\90\90èó\a\0\0\90\90\90èë\a\0\0\90\90\90èã\a\0\0\90\90\90èÛ\a\0\0\90\90\90èÓ\a\0\0\90\90\90èË\a\0\0\90\90\90èÃ\a\0\0\90\90\90è»\a\0\0\90\90\90è³\a\0\0\90\90\90è«\a\0\0\90\90\90è£\a\0\0\90\90\90è\9b\a\0\0\90\90\90è\93\a\0\0\90\90\90è\8b\a\0\0\90\90\90è\83\a\0\0\90\90\90è{\a\0\0\90\90\90ès\a\0\0\90\90\90èk\a\0\0\90\90\90èc\a\0\0\90\90\90è[\a\0\0\90\90\90èS\a\0\0\90\90\90èK\a\0\0\90\90\90èC\a\0\0\90\90\90è;\a\0\0\90\90\90è3\a\0\0\90\90\90è+\a\0\0\90\90\90è#\a\0\0\90\90\90è\e\a\0\0\90\90\90è\13\a\0\0\90\90\90è\v\a\0\0\90\90\90è\ 3\a\0\0\90\90\90èû\ 6\0\0\90\90\90èó\ 6\0\0\90\90\90èë\ 6\0\0\90\90\90èã\ 6\0\0\90\90\90èÛ\ 6\0\0\90\90\90èÓ\ 6\0\0\90\90\90èË\ 6\0\0\90\90\90èÃ\ 6\0\0\90\90\90è»\ 6\0\0\90\90\90è³\ 6\0\0\90\90\90è«\ 6\0\0\90\90\90è£\ 6\0\0\90\90\90è\9b\ 6\0\0\90\90\90è\93\ 6\0\0\90\90\90è\8b\ 6\0\0\90\90\90è\83\ 6\0\0\90\90\90è{\ 6\0\0\90\90\90ès\ 6\0\0\90\90\90èk\ 6\0\0\90\90\90èc\ 6\0\0\90\90\90è[\ 6\0\0\90\90\90èS\ 6\0\0\90\90\90èK\ 6\0\0\90\90\90èC\ 6\0\0\90\90\90è;\ 6\0\0\90\90\90è3\ 6\0\0\90\90\90è+\ 6\0\0\90\90\90è#\ 6\0\0\90\90\90è\e\ 6\0\0\90\90\90è\13\ 6\0\0\90\90\90è\v\ 6\0\0\90\90\90è\ 3\ 6\0\0\90\90\90èû\ 5\0\0\90\90\90èó\ 5\0\0\90\90\90èë\ 5\0\0\90\90\90èã\ 5\0\0\90\90\90èÛ\ 5\0\0\90\90\90èÓ\ 5\0\0\90\90\90èË\ 5\0\0\90\90\90èÃ\ 5\0\0\90\90\90è»\ 5\0\0\90\90\90è³\ 5\0\0\90\90\90è«\ 5\0\0\90\90\90è£\ 5\0\0\90\90\90è\9b\ 5\0\0\90\90\90è\93\ 5\0\0\90\90\90è\8b\ 5\0\0\90\90\90è\83\ 5\0\0\90\90\90è{\ 5\0\0\90\90\90ès\ 5\0\0\90\90\90èk\ 5\0\0\90\90\90èc\ 5\0\0\90\90\90è[\ 5\0\0\90\90\90èS\ 5\0\0\90\90\90èK\ 5\0\0\90\90\90èC\ 5\0\0\90\90\90è;\ 5\0\0\90\90\90è3\ 5\0\0\90\90\90è+\ 5\0\0\90\90\90è#\ 5\0\0\90\90\90è\e\ 5\0\0\90\90\90è\13\ 5\0\0\90\90\90è\v\ 5\0\0\90\90\90è\ 3\ 5\0\0\90\90\90èû\ 4\0\0\90\90\90èó\ 4\0\0\90\90\90èë\ 4\0\0\90\90\90èã\ 4\0\0\90\90\90èÛ\ 4\0\0\90\90\90èÓ\ 4\0\0\90\90\90èË\ 4\0\0\90\90\90èÃ\ 4\0\0\90\90\90è»\ 4\0\0\90\90\90è³\ 4\0\0\90\90\90è«\ 4\0\0\90\90\90è£\ 4\0\0\90\90\90è\9b\ 4\0\0\90\90\90è\93\ 4\0\0\90\90\90è\8b\ 4\0\0\90\90\90è\83\ 4\0\0\90\90\90è{\ 4\0\0\90\90\90ès\ 4\0\0\90\90\90èk\ 4\0\0\90\90\90èc\ 4\0\0\90\90\90è[\ 4\0\0\90\90\90èS\ 4\0\0\90\90\90èK\ 4\0\0\90\90\90èC\ 4\0\0\90\90\90è;\ 4\0\0\90\90\90è3\ 4\0\0\90\90\90è+\ 4\0\0\90\90\90è#\ 4\0\0\90\90\90è\e\ 4\0\0\90\90\90è\13\ 4\0\0\90\90\90è\v\ 4\0\0\90\90\90è\ 3\ 4\0\0\90\90\90èû\ 3\0\0\90\90\90èó\ 3\0\0\90\90\90èë\ 3\0\0\90\90\90èã\ 3\0\0\90\90\90èÛ\ 3\0\0\90\90\90èÓ\ 3\0\0\90\90\90èË\ 3\0\0\90\90\90èÃ\ 3\0\0\90\90\90è»\ 3\0\0\90\90\90è³\ 3\0\0\90\90\90è«\ 3\0\0\90\90\90è£\ 3\0\0\90\90\90è\9b\ 3\0\0\90\90\90è\93\ 3\0\0\90\90\90è\8b\ 3\0\0\90\90\90è\83\ 3\0\0\90\90\90è{\ 3\0\0\90\90\90ès\ 3\0\0\90\90\90èk\ 3\0\0\90\90\90èc\ 3\0\0\90\90\90è[\ 3\0\0\90\90\90èS\ 3\0\0\90\90\90èK\ 3\0\0\90\90\90èC\ 3\0\0\90\90\90è;\ 3\0\0\90\90\90è3\ 3\0\0\90\90\90è+\ 3\0\0\90\90\90è#\ 3\0\0\90\90\90è\e\ 3\0\0\90\90\90è\13\ 3\0\0\90\90\90è\v\ 3\0\0\90\90\90è\ 3\ 3\0\0\90\90\90èû\ 2\0\0\90\90\90èó\ 2\0\0\90\90\90èë\ 2\0\0\90\90\90èã\ 2\0\0\90\90\90èÛ\ 2\0\0\90\90\90èÓ\ 2\0\0\90\90\90èË\ 2\0\0\90\90\90èÃ\ 2\0\0\90\90\90è»\ 2\0\0\90\90\90è³\ 2\0\0\90\90\90è«\ 2\0\0\90\90\90è£\ 2\0\0\90\90\90è\9b\ 2\0\0\90\90\90è\93\ 2\0\0\90\90\90è\8b\ 2\0\0\90\90\90è\83\ 2\0\0\90\90\90è{\ 2\0\0\90\90\90ès\ 2\0\0\90\90\90èk\ 2\0\0\90\90\90èc\ 2\0\0\90\90\90è[\ 2\0\0\90\90\90èS\ 2\0\0\90\90\90èK\ 2\0\0\90\90\90èC\ 2\0\0\90\90\90è;\ 2\0\0\90\90\90è3\ 2\0\0\90\90\90è+\ 2\0\0\90\90\90è#\ 2\0\0\90\90\90è\e\ 2\0\0\90\90\90è\13\ 2\0\0\90\90\90è\v\ 2\0\0\90\90\90è\ 3\ 2\0\0\90\90\90èû\ 1\0\0\90\90\90èó\ 1\0\0\90\90\90èë\ 1\0\0\90\90\90èã\ 1\0\0\90\90\90èÛ\ 1\0\0\90\90\90èÓ\ 1\0\0\90\90\90èË\ 1\0\0\90\90\90èÃ\ 1\0\0\90\90\90è»\ 1\0\0\90\90\90è³\ 1\0\0\90\90\90è«\ 1\0\0\90\90\90è£\ 1\0\0\90\90\90è\9b\ 1\0\0\90\90\90è\93\ 1\0\0\90\90\90è\8b\ 1\0\0\90\90\90è\83\ 1\0\0\90\90\90è{\ 1\0\0\90\90\90ès\ 1\0\0\90\90\90èk\ 1\0\0\90\90\90èc\ 1\0\0\90\90\90è[\ 1\0\0\90\90\90èS\ 1\0\0\90\90\90èK\ 1\0\0\90\90\90èC\ 1\0\0\90\90\90è;\ 1\0\0\90\90\90è3\ 1\0\0\90\90\90è+\ 1\0\0\90\90\90è#\ 1\0\0\90\90\90è\e\ 1\0\0\90\90\90è\13\ 1\0\0\90\90\90è\v\ 1\0\0\90\90\90è\ 3\ 1\0\0\90\90\90èû\0\0\0\90\90\90èó\0\0\0\90\90\90èë\0\0\0\90\90\90èã\0\0\0\90\90\90èÛ\0\0\0\90\90\90èÓ\0\0\0\90\90\90èË\0\0\0\90\90\90èÃ\0\0\0\90\90\90è»\0\0\0\90\90\90è³\0\0\0\90\90\90è«\0\0\0\90\90\90è£\0\0\0\90\90\90è\9b\0\0\0\90\90\90è\93\0\0\0\90\90\90è\8b\0\0\0\90\90\90è\83\0\0\0\90\90\90è{\0\0\0\90\90\90ès\0\0\0\90\90\90èk\0\0\0\90\90\90èc\0\0\0\90\90\90è[\0\0\0\90\90\90èS\0\0\0\90\90\90èK\0\0\0\90\90\90èC\0\0\0\90\90\90è;\0\0\0\90\90\90è3\0\0\0\90\90\90è+\0\0\0\90\90\90è#\0\0\0\90\90\90è\e\0\0\0\90\90\90è\13\0\0\0\90\90\90è\v\0\0\0\90\90\90è\ 3\0\0\0\90\90\90úëþfÏU\8bì\8bE\b\8b\b\8dU\bRPÿQ0YY\85À|=\8bM\bWë)f\83ú\ 5u\1a\81y\b\0\0üÿu\11\83y\f\0u\vºþÿ\0\0f\89\11\8bM\b\ f·Q\ 2\ 3Ê\89M\b\ f·\11¿ÿÿ\0\0f;×uÊ_]ÃU\8bì\83ì\18SWj\ 1ÿu\bè^ñÿÿ\8bø\8bE\f3ÒYY\89\89\89\83ø'w\ 53À@ë\b\8dHÙ3À@Óà\89E\f\89Uô»\0\ 2\0\0\ f\86\88\0\0\0\89\89EôVj\ 1ÿu\bè\16ñÿÿ\83g\ 4\0\8bð\8bG\ 4\897\83\ f\ 2\83\ f\ 1YY\89G\ 4\89]üj\ 1ÿu\bèóðÿÿ\83f\ 4\0YY\8bN\ 4\89\ 6\83\ e\ 2\83\ e\ 1\89N\ 4\8bË\8b\83Ê\ 2\89\10\83\b\ 1\8b\81\b\80\0\0\0\89P\ 4\83À\b\81\0\0 \0\83\0IuØ\83Æ\bÿMüu°\83Ç\bÿMøu\85^9]\fs\1a+]ô\8bE\b\8b\0j\bÿuðWÿPP\83Ä\f\83Ç\bKué\8bEð_\99[ÉÃ\8bD$\b\83 \0\83`\ 4\03ÀÃU\8bì\8bE\bë  \8aM\fÿM\10\88\b@\83}\10\0\8bE\b]ÃU\8bìS\8b]\b\8b\ 3\8dM\bQjHj\ 2SÿP4\83Ä\10\85À|u\8bE\10VW\8b}\b\83Ç\b¾\ 4Sýÿ¥¥¥¥\8bM\b\89A\18\8bM\b\8bE\14\89A\1c\8bM\b\8bE\18\89\8bM\b\8bE\1c\89A$\8bE\bÇ@(\ 3\0\0\0\8bM\b\8b\ 3j\0\83Á,j\ 4QÿPT\8b}\b\8bu\f\8b\83Ç0¥¥¥¥\8bM\b\89A@\8bE$\8bM\b\83Ä\f_\89AD3À^[]ÃU\8bì\8bE\b\8b\b\8dU\bRj\18j\ 5PÿQ4\83Ä\10\85À|&\8bM\b\8bE\f\89A\b\8bM\b\8bE\10\89A\f\8bM\b\8bE\14\89A\10\8bE\18\8bM\b\89A\143À]Ã\8bD$\ 4Ç\0¼Rýÿ3ÀÃf\8bT$\ 4\8aÊÓ`\14f;P\10v@Vf+P\10\8bp\18\83`\18\0\8aÊÓæ\8bH f\89T$\bj\b      p\14\85Év\14\8b0I\89\8bH\f\ f¶4\ eA\89p\18\89H\fYf\89H\10f;ÑwÂ^f)P\10\ f·H\10\8bP\18Óê      P\14ÃV\8bp\14j Y+L$\bÿt$\bÓîè\89ÿÿÿY\8bÆ^ÃU\8bì3À\83ìd\ f·ÐVW\8bÂÁâ\10j\b\vÂY\8d}Âó«3Àf;E\fs\15\8bM\10\ f·U\f\ f\ 1\8dDEÀfÿ\0AJuòj\ fY3Àj\10f\89E\9eZf\8bt\ 5ÂfÓæf\ 3t\ 5\9eIf\89t\ 5 @@Juèf9U¾t
+¸ÿÿ\0\0éß\ 1\0\0Sj\10X+E\14\ f·ÀC\89\8bÃ\8bóf;E\14w9\ f·U\14\8dJ\ 1\89]ø3À\89\ f·ñf\8bMôfÓl\ 5\9e\8bÊ+Mø\8bûÓçÿEø@@ÿMðf\89|\ 5Àußf\83þ\10w!j\11\ f·ÆY+Î\8dTEÀ\ f·ñj\10Y+È\8bûÓç@f\89:BBNuî\ f·U\14f\8bDU\9ef\8bMôfÓè\ f·ðf\85öt1\8bÃ\8bÊÓà\ f·Àf;ðt#\8b}\18\ f·Î\8d<O\ f·È3À\ f·ð\8bÆÁæ\10\vÆÑéó«\13Éfó«\ f·E\f\83\0j\ fY+ÊÓã\89\ f·Ã\89Eä3Àf;E\f\ f\83û\0\0\0\8bE\10\89\8bEðf\ f\0\ f·Ðf\85Ò\ f\84Î\0\0\0\ f·Â\ 3À\8d\\ 5\9c\ f·\vf\8bD\ 5Àf\ 3Á\ f·ð\89\89uìf;U\14w4\ f·Áf;Æ\ f\83\98\0\0\0\8bU\18\ f·È\8d<J\8bÎ+È\8b\ f·Ð\ f·É\8bÂÁâ\10\vÂÑéó«\13Éfó«ëp\ f·ñ\8a\ f·ÆÓè+U\14\8bM\18\ f·Ò\8d\ 4AëKf\838\0\8b}\b\ f·Mø3Ûf\89\O*f\89\9c\b\0\0f\8bMøÿEø\8b]èf\89\b\8b\ f·\0#Îf\85Ét      \8d\84\b\0\0ë\ 4\8dDG*\ 3ö\81Âÿÿ\0\0f\85Òu°f\8bMüf\89\bf\8bEìf\89\ 3ÿEüf\8bEüÿEðf;E\f\ f\82\vÿÿÿ3À[_^ÉÃ\8bH\14\8bÑÁê\18V\ f·´P42\0\0Wf\83þ\1fr#º\0\0\80\0\ f·ö\85Êt
+\ f·´p \b\0\0ë\ 5\ f·tp*Ñêf\83þ\1f\ f·þf\ f\8c\a\14\12\0\0\ f·ÉQèäüÿÿY\8b×f\83þ\ 1v\14NVè5ýÿÿ\8bÐ3ÀY@\8dOÿÓà\ 3Ð_\8bÂ^ÃU\8bìQVWÿu\f\8bðè\13ýÿÿ\ f·ÀY\89Eüf\85ÀuJÿu\f\8bÆèýüÿÿ\ f·À\ f·Ð\8bÂÁâ\10\vÂY\8d¾42\0\0¹\80\0\0\0ó«3Àf;E\bs\16\ f·E\bP\81Æ\14\12\0\0j\0Vèfûÿÿ\83Ä\f3ÀéÀ\0\0\03É3ÿf;ÈswS\8bF\14\8bØÁë\1df\83û\au\14¹\0\0\0\10\85Át\12ÑéC\85Áuùf\83û\as\ 5j\ 3\ 6\ f·Ã\83è\ 3P\8bÆè\eüÿÿ\ f·ÇGY\88\9c0\14\12\0\0f;}\10u&j\ 2\8bÆèaüÿÿHY\ f·Àë\11\ f·ÏGÆ\841\14\12\0\0\0\ 5ÿÿ\0\0f\85À}êf;}ür\8b[f;}\bs\1e\8bM\b\ f·É\ f·ÇQ\8d\840\14\12\0\0j\0Pè»úÿÿ\83Ä\f\8d\8642\0\0Pj\b\8d\86\14\12\0\0Pÿu\b\eüÿÿ\83Ä\14_^ÉÃQSVWj  \8bðèìûÿÿ\ f·À3ÿY\89D$\ff;ÇuCj \8bÆèÔûÿÿ\ f·ØÇ\ 4\ 1\0\0\8d\86\16\10\0\0WPè\úÿÿ\8bÃ\ f·Ð\8bÂ\81Æ4\12\0\0Áâ\10\83Ä\f¹\0\b\0\0\8bþ\vÂó«é\11\ 1\0\03Éf;È\ f\83È\0\0\0U½ÿÿ\0\0\8bF\14\8bÈÁé\18\ f·\9cN42\0\0f\83û\13r#¹\0\0\80\0\ f·Ó\85Át
+\ f·\9c\b\0\0ë\ 5\ f·\V*Ñéf\83û\13\ f·Ãf\ f\840\14\12\0\0\ f·ÀP\8bÆèØúÿÿYf\83û\ 2wGf\85Ûu\ 53ÛCë4f\83û\ 1u\fj\ 4è\eûÿÿ\83À\ 3ë\10f\83û\ 2u\1cj       è       ûÿÿ\83À\14\ f·ØYë\f\ f·ÇÆ\840\16\10\0\0\0G\ 3Ýf\85Û}íë\ e\ f·Ç\80ë\ 2\88\9c0\16\10\0\0Gf;|$\10\ f\82Iÿÿÿ¸þ\ 1\0\0]f;øs ¹þ\ 1\0\0\ f·É\ f·ÇQ\8d\840\16\10\0\0j\0PèIùÿÿ\83Ä\f\8d\864\12\0\0Pj\f\8d\86\16\10\0\0Phþ\ 1\0\0Vè§úÿÿ\83Ä\14_^[YÃf\83~\1c\0W¿ÿÿ\0\0uSj\10\8bÆènúÿÿj\ 3f\89F\1cj\ 5j\13\8bÆè:ýÿÿ\83Ä\10f\89F(f\85Àt\ 43À_Ã\8bÆèMþÿÿf\ f\8644\0\0\ f·ÀWPj\1f\8bÆè\rýÿÿ\83Ä\ff\89F(f\85ÀuÓ\8bF\14f\ 1~\1c\8bÈÁé\14\ f·¼N4\12\0\0¹þ\ 1\0\0\8bÑf;úr&º\0\0\b\0S\ f·ÿ\85Ât
+\ f·¼~ \b\0\0ë\ 5\ f·|~*\8bÙÑêf;ûsá[\ f·Çf\ f\840\16\10\0\0\ f·ÀP\8bÆèfùÿÿYf\8bÇ_ÃSV\8bðè4ÿÿÿf\83~(\0\ f·ØukW¸\0\ 1\0\0f;Øs\13\8bF\b;F$sW\8bN\ 4\88\1c\bÿF\bë=\8bÆèôûÿÿ\8bÈ\8bF\b+ÁH\81Ã\ 2ÿÿÿ\ f·ûë\1e\8bN\ 4\8a\1c\ 1\8bV\b\88\1c\11ÿF\b\8bN\b@;N$s\1a\81Çÿÿ\0\0f\85ÿ}ÝèÊþÿÿf\83~(\0\ f·Øt\97_^[Ã\83|$\b\b\8bD$\10Ç\084\0\0s\ 6¸\ 2\0\0\80Ã\8bD$\ 4\ f¶H\a\ f¶P\ 6Áá\b\ 3Ê\ f¶P\ 5\ f¶@\ 4Áá\b\ 3ÊÁá\b\ 3È\8bD$\f\89\b3ÀÃU\8bìQ\83\0¹84\0\09M\1cs\a¸\ 2\0\0\80ÉÃ\83}\f\b\8bE\b\ f¶P\ 2S\ f¶X\aW\ f¶x\ 3Áç\b\ 3ú\ f¶P\ 1Áç\b\ 3ú\ f\10Áç\b\ 3ú\ f¶P\ 6Áã\b\ 3Ú\ f¶P\ 5Áã\b\ 3Ú\ f¶P\ 4Áã\b\ 3Úu\ 43Àë}\8dW\b9U\fr\ 59]\14t\a¸\ 2\0\0\80ëiV\8bu\18Q\83À\bj\0V\89E\1cè\ e÷ÿÿ\ f¶E \83Ä\fHt\13Ht\a¸\ 2\0\0\80ëAÆ\8644\0\0\ 5ë\aÆ\8644\0\0\ 4\8bE\1c\89\ 6\8bE\10\89F\ 4\8bÆ\89\89^$èÐ÷ÿÿYèjþÿÿf\83~(\0t\aÇEü\ 2\0\0\80\8bEü^_[ÉÃU\8bìj\ 1ÿu ÿu\1cÿu\18ÿu\14ÿu\10ÿu\fèüþÿÿ\83Ä\1c]Ãÿt$\14ÿt$\14ÿt$\14ÿt$\14è\9fþÿÿ\83Ä\10ÃU\8bìj\ 2ÿu ÿu\1cÿu\18ÿu\14ÿu\10ÿu\fèÂþÿÿ\83Ä\1c\8bD$\b\85Àt\ 6Ç\0ÄRýÿ3ÀÃU\8bì\83ìDS\8dE¼P\8dEüP3ÛSÿv$ÇEü@\0\0\0ÿV \83Ä\10;Ã}\fÇFL\ 1\0\0\0é\b\ 1\0\0¸MZ\0\0\89^0f9E¼u\ 6\8b\89F0ÿu\b\8dEüPÿv0ÇEü\b\ 1\0\0ÿv$ÿV \83Ä\10;Ã|Â\8bE\b¹VZ\0\0f9\bu0ÆFY\ 1f\8bH\ 2f\89NTf\ f¶H\ 5f\89NV\89^\b\89^\fÇF,\0\10\0\0\ f·H\ 6\8b@\f\83À(ël\818PE\0\0\ f\85\81\0\0\0\88^Yf\8bH\ 4f\89NT¹L\ 1\0\0f9H\ 4t0\ f·H\ 4º\0\ 2\0\0f;Êt"ºd\86\0\0f;Êt\18\ f·H\18º\v\ 1\0\0f;Êt
\v\ 2\0\0f;Êu;f\8bH\f\89NV\8bHP\89N\b\89^\f\8bH8\89N,\8b@T\89F@\ f·FTPèR
+\0\0\ f¶À÷Ø\eÀ%ýÿÿ\7fY\ 5\ 3\0\0\80ë\f¸\ 3\0\0\80ÇFL\ 3\0\0\0[ÉÃ\ f·HV\83ù
+t:\83ù\vt%\83Áô\83ù\ 1w\10Ç@D\ 5\0\0\0Ç@H\ 6\0\0\0ë+Ç@L\ 4\0\0\0¸\ 3\0\0\80ÃÇ@D\ 3\0\0\0Ç@H\ 4\0\0\0ë\ eÇ@D\ 1\0\0\0Ç@H\ 2\0\0\03ÀÃU\8dl$\90\81ìX\ 1\0\0SV\8bu|3Û;óu
\ 2\0\0\80éð\ 2\0\0\8d\85\18ÿÿÿP\89^Lè@þÿÿ;ÃY\ f\8cØ\ 2\0\0\8bÆèmÿÿÿ;Ã\ f\8cÉ\ 2\0\0\8aNY¸\v\ 1\0\0W\8b½0ÿÿÿ\89E|\84Éu_\8dPAf9\95\1cÿÿÿu\ 4\8bÐë@º\0\ 2\0\0f9\95\1cÿÿÿu\1aº\v\ 2\0\0\8b\9dHÿÿÿ\89\1e\8b\9dLÿÿÿ\89^\ 43Ûë;ºd\86\0\0f9\95\1cÿÿÿtØ\8bØ\ f·×f;ûuÓ\8b\9dLÿÿÿ\89\1e\89^\ 4ë\14\8b\95(ÿÿÿ\89\16\8b\95,ÿÿÿ\89V\ 4\8bU|\89^\10\89^\14\89^8\89^<\84Éu\ fö\85.ÿÿÿ\ 1t\ 6ÆFX\ 1ë\ 4ÆFX\0\89^\f\84É\ f\85)\ 1\0\0f;Ð\8b\85hÿÿÿ\89F\b\8b\85Pÿÿÿ\89F,\8b\85lÿÿÿ\89F@u\b\8bE\8c\8d]Àë\ 6\8bE\9c\8d\83ø\ 6\ f\86Ø\ 1\0\0\8b\ 3\8bN0\83el\0\89Ed\ f·\85,ÿÿÿ\8dD\ 1\18\89E|3Àf;\85\1eÿÿÿ\ f\83¯\ 1\0\0j(_\8dE P\8dEhPÿu|\89}hÿv$ÿV \83Ä\10\85À\ f\8c|\ 1\0\0\8bM,9Mdr
+\8bE(\ 3Á9Edr\17\ 1}|\ f·\85\1eÿÿÿÿEl9Elr½éd\ 1\0\0\8bE4+Á\ 3Ed\89E|\ f\84S\ 1\0\03ÿ9{\ 4\ f\86H\ 1\0\0ë\ 3\8bE|\8dMHQ\8dMhQPÿv$ÇEh\1c\0\0\0ÿV 3É\83Ä\10\ f\8c\ f\ 1\0\0\83}T\ 2t\vG;{\ 4rÎé\ f\ 1\0\0kÿ\1c\ 3}d\89~49M\\ f\85ý\0\0\09M`\ f\84ô\0\0\0\8bEX\ 1F\b\11N\féæ\0\0\0\8b\854ÿÿÿ\8b\8d$ÿÿÿ\83el\0\8b\9d8ÿÿÿ\ 3ø\ f·\85\1eÿÿÿj(\89~\b+È_\ 3Ï\80½\1cÿÿÿ\0ÇF,\0\10\0\0\89N@\89}|\ f\86£\0\0\0\8dE P\8dEhPÿu|\89}hÿv$ÿV \83Ä\10\85À|w\8bE,;Ør    \8bM(\ 3È;Ùr\14\ 1}|\ f\85\1cÿÿÿÿEl9ElrÃëd\ f·\8d\1eÿÿÿ\8bU4+Ñ+Ð\8dD\1a(\89E|\85ÀtK3ÿ9½<ÿÿÿvA\8dEHP\8dEhPÿu|ÇEh\1c\0\0\0ÿv$ÿV \83Ä\10\85À|\11\83}T\ 2t\14G;½<ÿÿÿrÒë\11ÇFL\ 1\0\0\0ë
+kÿ\1c\ 3û\89~43À_^[\83ÅpÉÃ3É;H\fr\11w\ 5;P\br
+Ç@L\ 5\0\0\03ÀÃ\8b\0\ 3ÂÃU\8bì\8bM\f\83ì \85Éu\a¸\ 2\0\0\80ÉÃ\83aL\0\80yX\0t\ 43ÀÉÃ\8bQ\10\8bA\14V\8bò\vðu\ 5\8b\11\8bA\ 4\80yY\0S\89UìW\ f\85®\0\0\0\8bq0\ 31»L\ 1\0\0\ f·~\ 4f;ût"»\0\ 2\0\0f;ût=»d\86\0\0f;ût3\ f·~\18»\v\ 1\0\0f;ûu%\8b^43ÿ\89\8bú+û\8b\eÃ\89\8b\89F4\8bFt\8d\96 \0\0\0ë\1f\8bú+~0\8bØ\e^4\89V0\89F4\8b\86\84\0\0\0\89\8d\96°\0\0\0\89\83ø\ 5v&\8bÂ\8b\10\8bÁè\14ÿÿÿ\8bØ\8b\8bH\ 4\8b\0\8dT\ 1ÿ\8bE\fèþþÿÿ\8bM\fë23Û\89]ôë.\8b1\8bú+~\10\8bØ\e^\14\89F\14\ f·F\ 6\89V\10\8b\11\8bF\18\89\8d\\ 2(\8bF\1c\8dD\18ÿ\89\8bA(\89Eü;]ô\ f\839\ 1\0\0\8dC\b\89\8bC\ 4\ 3Ã\80yY\0\89Eðu\14\8b\13\8bÁè\98þÿÿ\8bM\f\89\8bEðë\11\ f·V\ 6\8b\e\8b\11\8dT\13(\89\8b\11\ f\82\ 4\ 1\0\0\8bY\b\ 3Ú;Ã\ f\87÷\0\0\09Eø\ f\83Õ\0\0\0\8b\ f·\10\8bÂ%ÿ\ f\0\0\ 3EèÁê\f3Û+Ó\ f\84¥\0\0\0J\ f\84\85\0\0\0Jt}Jt[J\ f\84\0\0\0\83ê\ 6t!ÿuä\8dMüWQPÿuøèÏ\ 6\0\0\8bM\f\83Ä\14\85À\ f\8c\9e\0\0\0ëk\ 18\8b\11P\ 49]üt^\8bUü÷Ú\83â\a\ 1\8b\10\8b\89\13\8b@\ 4\8b\89B\ 4\83\bë=\ 189]üt6\8bUü÷Ú\83â\ 3\ 1\8b\0\8b\89\ 2\83\ 4ë\1ef\ 1\b\8b×Áê\10f\ 1\10\8b\ f·\0;Ót\af\89\ 2\83\ 2\83\ 2\8bEø;Eð\ f\82.ÿÿÿ\8b\8bØ;Eô\ f\82Çþÿÿ3À_[^Éø\ 3\0\0\80ë\ 5¸\ 1\0\0\80ÇAL   \0\0\0ëæU\8bì\83ìxV\8bu\f\85öu
\ 2\0\0\80éÃ\ 3\0\0\83fL\0j`\8dE\88VPè¾\ 3\0\0\8dE\88Pÿu\bè\15úÿÿ\83Ä\14\85À\ f\8c\9c\ 3\0\0\8bF\f;E\94w\er\b\8bF\b;E\90s\11ÇFL\ 6\0\0\0¸\ 5\0\0\80éy\ 3\0\0\8b\16W\8b~\ 4\8bÂ\vÇt,\80\0t7f\83\fu\11ÇFL\ 4\0\0\0¸\ 1\0\0\80éN\ 3\0\0\8bE\88;Âu\a\8bE\8c;Çt\11ÇFL\ 5\0\0\0¸\ 2\0\0\80é/\ 3\0\0S\8a^Y\84ÛuO\8bE´H3É#Â#Ï\vÁt\11ÇFL\a\0\0\0¸\ 2\0\0\80é\a\ 3\0\0\84Ûu,ÿ6\8dF@Pj\0ÿv$ÿV \8bN0\89E\f\8b\ 6\8d<\ 1\ f·W\14\83Ä\10\ 3Ñ\ f·O\ 6\8dD\ 2\18ë\1dÿ6\8dF@Pj\0ÿv$ÿV \8b>\ f¶O\ 4\89E\f\83Ä\10\8dG(\83}\f\0\89Mð}\fÇFL\ 1\0\0\0é
+\ 1\0\0\8bØ3À\89\89Eì9Eð\ f\86Ñ\0\0\0\8bS\f\8bÆè\ füÿÿ\8bK\f\89\8bC\b\8dT\bÿ\8bÆèûûÿÿ\80~Y\0\89Eèt\16\ f·O\ 6j(X+Á\ 1\8bEèj(Z+Ñ\ 3Â;Eìv\ 3\89\83\0\ f\84¡\0\0\0\85À\ f\84\99\0\0\0\8bC\b\89\85Àt\ 5;C\10v\ 6\8bC\10\89\83{\10\0t6\80~Y\0ÿuø\8dEüPu\ 5ÿs\14ë\r\ f·G\ 6\8bK\14\83Á(Qÿv$ÿV \83Ä\10\89E\f\85À\ f\8c\7f\ 1\0\0\8b\8bK\b;Ás\10+ÈQ\8b\ 3ÁPèÝ\ 1\0\0YY\83Ã(ÿEô\8bEô;Eð\ f\82/ÿÿÿ\80~Y\0¹\v\ 1\0\0\89MøuR\ f·G\ 4\8dQAf;Âu\16\89Møë5ÇFL\b\0\0\0¸\ 1\0\0\80é\91\ 1\0\0º\0\ 2\0\0f;Âu       ÇEø\v\ 2\0\0ë\11ºd\86\0\0f;Âtí\ f·G\18\89\8bW(\8bÆèêúÿÿë\ f\ f·G\ 6\8bO\b\8b\ 6\8dD\ 1(\8aNY\83f\1c\0\89F\18\84Éu2¸\v\ 1\0\0f9Eøu\v\8bWt\8d\87 \0\0\0ë\f\8b\97\84\0\0\0\8d\87°\0\0\0\83ú\ 5v\ 5\8b@\ 4ë  \83fP\0ë\v\8bG\1cÑèÁà\ 2\89FP\8bV4\83f(\0\85Ò\ f\84õ\0\0\0\84Éu\f\8bÆètúÿÿ\89Eôë\ f\ f·G\ 6\8b\ 6\8dD\ 2(\89\85À\ f\84Î\0\0\0\8bH\14\89\85Éu\1e9H\18t\19\8b\8b\83ë(\8b[\f;Ês\ 4\ 3Úë\ 2\ 3Ù\89\8b\85Ò\ f\84\9b\0\0\0\80~Y\0u\ f\8bÆè\18úÿÿ\89F8\8bEôë\ f\ f·O\ 6\8b\1e\8dL\13(\89N8\8bN8\85Éu\ e¸\ 1\0\0\80ÇFL\ 1\0\0\0ëe\83x\14\0u<\80~Y\0\8bP\10Q\8d\89UüQu\ 5ÿp\18ë\r\ f·O\ 6\8b@\18\83À(Pÿv$ÿV \83Ä\10\89E\f\85À|¹\8b\8b\89A\14\8bF8\8b\b\81ùNB10t\r\81ùRSDSu\v\83À\18ë\ 3\83À\10\89F<\8bE\f[_^ÉÃ3ÀÃé«Ûÿÿéb\0\0\0\8bD$\ 4\8b\10\8bL$\b+\11u\e\8bP\ 4+Q\ 4u\13\8bP\b+Q\bu\v\8b@\f+A\fu\ 3°\ 1Ã2ÀÃ\8bD$\ 4Ç\0àRýÿ3ÀÃf\8bD$\ 4¹L\ 1\0\0f;Át\17¹d\86\0\0f;Át\r¹¼\ e\0\0f;Át\ 32Àð\ 1ÃU\8bì\83ÄøVW\8bM\10\8bu\f\8b}\b\8bÆ\ 3Á;Çv\16\8bÇ\ 3Á;Æv\ e\ f\84º\0\0\0\ f\82 \0\0\0\83ù\0\ f\84«\0\0\0\8b×\80â\ 3\84Òt    \8a\ 6\88\aIGFëå\8bÁÁè\ 6Áà\ 6+ÈÁè\ 6\83ø\0tQ\ f\7f\ fo\ 6\ f\7f\a\ foF\b\ f\7fG\b\ foF\10\ f\7fG\10\ foF\18\ f\7fG\18\ foF \ f\7f\ foF(\ f\7fG(\ foF0\ f\7fG0\ foF8\ f\7fG8\83Ç@\83Æ@Hu¹\ foEø\ fw\83ù\ 4r\ f\8b\ 6\89\a\83é\ 4\83Æ\ 4\83Ç\ 4ëì\83ù\0t\1d\8a\ 6\88\aIFGëò\ 3ñN\ 3ùO\83ù\0t        \8a\ 6\88\aINOëò_^ÉÃÌÌÌÌÌÌÌÌÌU\8bì\8bE\b\8bM\f\89\19\89q\ 4\89y\b\8bE\0\89A\f\8dE\ 4\89A\10\8bE\ 4\89A\14¸\0\0\0\0ÉÃU\8bìSVW\8bE\b¸\ 5\0\0\0\8bM\f\8b\19\8bq\ 4\8by\b\8bi\f\8ba\10\83Ä\ 4ÿa\14¸\ 5\0\0\0_^[ÉÃU\8bìS\8bE\14\8b]\f\8bM\b\8bE\10\8bàSj\0ÿá[ÉÃU\8bìS\8bE\18\8b]\f\8bU\10\8bM\b\8bE\14\8bàRSÿÑ[ÉÃV\8bt$\f\8bÆ\85öu\ 2\ f·\ eºÿÿ\0\0W\8búf;Ït\1a\ f·Éf;L$\ft\10\ f·H\ 2\ 3Á\ f·\b\8búf;Ïué_f9\10u\ 2\8bÆ^Ã\8bD$\ 4Ç\04Sýÿ3Àø\ 3\0\0\80Ã\0\0\0\0\0\0\0\0\0\0\0\0\0þ|\11ئ\94Ô\11\9a:\0\90'?ÁM\9còLè\1f\19®N\96áôjìêê\v\8e\19D\9a¢¤æD\8a\1f9¾ý¬\89oü|\11ئ\94Ô\11\9a:\0\90'?ÁMÿ|\11ئ\94Ô\11\9a:\0\90'?ÁM\ 2}\11ئ\94Ô\11\9a:\0\90'?ÁMBÚ7M\f:ÚN¹ë¼\ e\1d´q;ýÌ`[\11\10ÏK·Ñ»\99Ê\96¦\ 3N-ýÿè,ýÿ\10\0\0\80dRýÿèQýÿ\10\0\0\80TRýÿäQýÿ\10\0\0\804Rýÿ\0\0\0\0\10\0\0\80DRýÿ\0\0\0\0\10\0\0\80<Sýÿ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\86\87;d\17´ÒH\8f^x\19\93\1c®ØP¦^`\ÆáBº\80\91¥*¶\18Æ]Îè
+Hä7D¨×ëõñ\94÷1\85\r\1f~ÿ\ 4²K\86j1¢\99jH¨n\ 6\88\13W:úN\98óÁ/:\95\8a)\bâ\89ODá\ 4H\9eÈ\ f\89O~6×B\95mû-aEO\87/\ÿRé=ϲÌ&D\84æ\8aJ®@ Ô°%·\10¤Cýÿ\83Cýÿ¤Cýÿ½Cýÿ\80Eýÿ7Kýÿ´Hýÿ\15OýÿtPýÿ\9ePýÿ\18\0\0\0\15OýÿÍ3KV*É\93E\90¿$sä<c"'¿ÔN\92@éB\80}R{\1d\0ɽu\19âø\99\bXO¤¾U%©Æ×z̸<å,ÖtO½Ú1å\8då>\ 2>\8a¢ÔòÜÏC¢·óW*|«    QQýÿQQýÿ\11P2е\12\89F§yeE>U׳\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\04\0\0\0\903\f4d4-8}8\848\978\7f9\969¼9\r:~:è:÷:\r;q;$<V<f<Ë<\ 2=\0\0\0\10\0\0\f\0\0\0÷6¬7\0 \0\0<\0\0\0d0Ð;Æ=`>d>l>p>x>|>\84>\90>\9c>0?4?8?<?@?D?H?L?P?T?\?°?´?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿê%îÔH\v®C \16Mn\8blA#O5\ 6\9e\0øÔ\9e\0\12VZL\ 1\ 4\v¸\ 1\15\ 4\0\0`\ 2\0\0$Týÿ\0\0\0\0\80\9d\0\0 \ 2\0\0\0\0\0\0\0\0\0\0.text\0\0\0c{\0\0`\ 2\0\0\80{\0\0`\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.rdata\0\04\0\0\0à}\0\0@\0\0\0à}\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0@.data\0\0\0P\1f\0\0 ~\0\0`\1f\0\0 ~\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0È\ 2\0\0\80\9d\0\0à\ 2\0\0\80\9d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bì\83ìlV\8bu\b\8b\ 6\8dM\bQj\0j\0h\80îýÿVÇEüh\0\0\0ÿP \8dE\94P\8dEüP\8bE\bj\0h\90îýÿh$ïýÿVÿ\10\83Ä,\85À|\1e\8b\ 6\8bu\fjg\8dM\94Q\8dNgQÿPP\83Ä\fÆ\86Î\0\0\0\ 13À^ÉÃU\8bìV\8bu\b\8dE\bPjgh\14ïýÿVèMx\0\0\8bM\f\8b\ 6\83ÁgjgQ\8bM\b\83Á\18QÿPP\83Ä\1c3À^]ÃU\8bì\83ì\14V\8bu\fW\8b}\b\8b\a\8dM\bQj\0j\0h@ïýÿWÿP \83Ä\14\85À}\ 6ÆE\ f\ 1ë        \8bE\b\8a@\ 1\88E\ f\8b\a\8dMüQj\0j\0hôîýÿWÿP \8dEôP\8dEðP\8dEøP\8dEìP\8bEüPWÿ\10¸\0\ 4\0\0\83Ä,f\89\86Ï\0\0\0\ f¶Eø2Éë\ 4ÑèþÁ\85Àuø\80Áý\80ù\ 2u\ 5j\ 2\f\80ù\ 4u\ 4j\bëô3À@f\89\86Ñ\0\0\0\ f·ÀHt\1eHt\17\83è\ 6t\ e3É2ÀAf\89\8eÑ\0\0\0ë
\ 2ë\ 6°\ 1ë\ 2\ f\r\9e\0\0à\ 2À\81áù\0\0\0VW\vÈf\ f¶E\ f\88\r\9e\0\0àf\83À\ 2¹\0\ 2\0\0f\ f¯ÁÆ\86Ó\0\0\0 Æ\86Ô\0\0\0¢Æ\86Õ\0\0\0 f\89\86Ï\0\0\0èSþÿÿYY_3À^ÉÃU\8dl$\90\81ìÜ\ 1\0\0SVWfº\80\0°~îhÎ\ 1\0\0\8d\85\94þÿÿSPè|v\0\0¡ð\80\ fà\8bu|\83àþ\ 5\104\0\0\83\b \8b\ 6\8dMlQVÿP(\8d\85\94þÿÿPVè\93þÿÿ\8b\ 6\8dMhQSSh@ïýÿVÿP \83Ä0;Ã\89Ed}\14ÆE]dÆE^\ 1ÆE_\ 1\88]`\88]aë!\8bEh\8aH  \88M]\8aH\v\88M^\8aH\f\88M_\8aH\r\88M`\8a@\ e\88Ea\83}l\11u\10\80\0°Àî3ÿÆE¯\ 2GëF\8b\ 6SSS3ÿh\ 1\10\ 5\0GWVÿPX\8d\85\94þÿÿPVè¿\b\0\0\83Ä \85Àt \8b\ 6SSSh   \10\ 5\0h\ 2\0\0\80VÿPX\83Ä\18\89}|\8bE|\85Àuù\8b\ 6SSSh\ 2\10\ 5\0WVÿPX\83Ä\189]d|a\8bEh8X
+t"\8a\8d¨þÿÿ:\8dªþÿÿv\ 6\88\8dªþÿÿ:\8d«þÿÿv\ 6\88\8d«þÿÿ8X\ 2t2\8aH\ 3\80ù\ 2t\ 6\88\8d\94þÿÿ\8aH\a\88\8d¨þÿÿ\8aH\ 6\88\8d«þÿÿ\8aH\ 5\88\8dªþÿÿ\8a@\ 4\88\85©þÿÿ\8b\ 6SSSh\ 3\10\ 5\0WVÿPX\8d\85\94þÿÿPè¯^\0\0\83Ä\1c\85Àt \8b\ 6SSSh
+\10\ 5\0h\ 2\0\0\80VÿPX\83Ä\18\89}|\8bE|\85Àuù\83}l\11u\aVèX\0\0\0YÿulVèÅ\ 4\0\0\83}l\11YY\89E|t\ f\8d\85\94þÿÿPVèÊüÿÿYY\8b\ 6SSS9]|t\fh\0\0\ f\ 3h\ 2\0\0\80ë\ 6h\v\10\ f\ 3WVÿPX\83Ä\18\80\0°\82î_^3À[\83ÅpÉÃU\8bì\83ì(SV¸²m\0\0W\8b}\bf\89\8dMô¸òN\0\0Qf\89\8b\aWÇEØ\9eH ÀÆEà\9aÆEá¥ÆEâÊÆEã\ 6ÆEäüÆEå\11ÆEæÓÆEçjÇEø\a\0\0\0ÿP`÷Eô\0\10\0\0YYt \8b\aj\0WÿP,\8bØèµv\0\0\ f·ÀPèév\0\0\83Ä\fé\b\ 1\0\0\80\0°Áî\8b\a\8dMüQ3öVVh\80îýÿWÇEð\b\0\0\0ÿP \8dEèP\8dEðP\8dEøP\8dEØP\8bEühtÐýÿWÿ\10\8b\83Ä,;Æ\ f\8cÂ\0\0\0\ f\84º\0\0\0\0\0\0S\8dEØPWèJt\0\0\83Ä\10\ f\8c¤\0\0\0\8b\aVÿs\bVÿ3WÿPD\8dE\bPjHh îýÿWèís\0\0\8bØ\8bE\b\83À\18\83Ä$Ç\0\ 2\0\0\0\89p\f\89p\14Ç@\18\0\0\ 2\0\89p\1c\89p$¹\0\0
+\0\89H\b\89H\10j
+_\89\8b\r¬\0\0à\89H(\89H0Ç@8\0\0\10\0\89p<\89x@\89pD3Ò\89P,\89P4 \9d\0\0à\f\9d\0\0à\ f\ 5\9e\0\0à\83à\ 6\f\ 1¢\9e\0\0àfº\80\0°Âî\8bÃë\ 5¸      \0\0\80_^[ÉÃU\8bì\8bE\b\8b\b\8dU\bRPÿQ0\8bE\bYYë&f\83ù\ 4u\17\83À\bh´îýÿPèÍs\0\0YY\84Àu\e\8bE\b\ f·H\ 2\ 3Á\89E\b\ f·\bºÿÿ\0\0f;ÊuÍ]Ã\8bM\b\83Á\18t,S3Ò2Û\839\ et!\8bÁ\ 3P\ 4þÃ\ f¶Ã\8d\ 4Á\838\ e\85Òt\v\8bE\f\83Â\ 4Áâ\f\89\10[]ÃU\8bì\83ì<SVW¾\9cÐýÿ\8d}Ø¥¥\8dMøQ¥\8b}\b\8b\a\8bu\fjdWÇEè\96\0\0\0ÆEþ\0ÿPL\8b\a\8dMäQj\0j\0h\80îýÿWÿP \83Ä \80¾Î\0\0\0\0t\ 4ÆEþ\ 1\8a\86Í\ 1\0\0<\ 1t\f<\ 2t\b2ÀÆEý\ 2ë     þÈ\8aÈþÁ\88\88E\ féÎ\ 1\0\0\80¾\e\ 1\0\0\ 4t\ 6\80\0uM\ f¶}\ f\ f¶Ã\8dD\ 5ÄP\8aÃ\ 4z\ f¶ÀP\ f\86É\ 1\0\0P\ f\84\0\0\0P\ f·\86%\ 1\0\0Pè,j\0\0\83Ä\14\85À|qþÃ\80û\ 4rÄkÿAÆ\8471\ 1\0\0\ 1f\ f¶E\ fÿuøf\83À0f\89\8dEèPj\0h\90îýÿ\8dEØPÿu\b\8bEäÿ\10\8b\83Ä\18\85À\89\ f\9dÀ\80¾\e\ 1\0\0\ 1\88Eÿu.\80\0t(\ f¶M\ fkÉA\88\8411\ 1\0\0\84À\ f\84\ f\ 1\0\0ë0kÿAÆ\8471\ 1\0\0\0éý\0\0\0\80}ÿ\0t3\ f¶Á\8a\\ 5Ä:\\10zt\ 4ÆEÿ\0þÁ\80ù\ 4\80}ÿ\0t\15\ f¶]\ f\8aB\ 2\8bûkÿA\88\8474\ 1\0\0ë7\ f¶]\ f\8bûkÿA\8d\8474\ 1\0\0P\ f\86É\ 1\0\0j\ 2P\ f\84\0\0\0P\ f·\86%\ 1\0\0Pè8i\0\0\83Ä\14\89\80¼74\ 1\0\0\v\ f\85\93\0\0\0\80}ÿ\0t'¹ÌÐýÿÇEð\1a\0\0\0\ f\ 1\8b\8d\148\8a\ 4\18AÿMð\88\8422\ 1\0\0uçëP\8d\9c\0\0\0ÇEðÌÐýÿÇEì\1a\0\0\0\8b\ f\0\ f¶È\ 3Ï\8d\8c12\ 1\0\0QP\ f\86É\ 1\0\0P\ f\ 3P\ f·\86%\ 1\0\0Pèµh\0\0     Eô\83Ä\14ÿEðÿMìuÅþE\ f\8aE\ f:Eý\ f\82)þÿÿ3À_^[ÉÃ\83ÈÿëöU\8bì\83ì@\83\0SVW\8b}\b\8b\a\8dMøQWÿP`\8b\a\8dM\fQWÿP(\83Ä\10\80\0°\80îf¡¢\0\0à\ f·À\99j\14RPè¶p\0\0\89Eèf¡°\0\0à\ f·À\8bÚ\99j\10RPè\9ep\0\0\8b\r¤\0\0à\83\0\89\8b\15¨\0\0à\8b\0\0à\83Ä\18\89\89\89uÀ;]är\15w\b\8bEè;Eàv\v\8b\89\89]ìë\f\8b\89\8b\89\8bÂ\vEÔt\a\89Uüë\1e\8bÑ3À\vÐt\a\89Müë\ f\8b\8bÈ\vMät\ 5\89\8b\a\8dM\bQj\0j\0h\ 4ïýÿWÿP \8dEØP\8bE\bPWÿ\10\8dEðP3ÛW\89]ðè#üÿÿ\8b\83Ä(S+ñX\e\89EÌ;Ãw\12r\b\81þ\0\0\10\0w\b¾\0\0\10\0\89\83}\f\11tI÷Eø\0\ 5\0\0t\13\8b\8b\ fS+ÆPVÿQT\8b\83Ä\f\8b\8b\173Û+È\8b\eÃPQÿuÌVWÿRD\83Ä\14\85Àt\ eÇEì\ 1\0\0\0\8b\85Àuù\8dEôPjHh îýÿWèÿn\0\0\83Ä\10\85Àt\ eÇEì\ 1\0\0\0\8b\85Àuù\8buô3ÀPh\0\0
+\0PP»\a<\0\0SP\83Æ\18\ 6\ 2\0\0\0èrn\0\0\83Ä\1c\85Àt\ eÇEì\ 1\0\0\0\8b\85Àuù3ÉQh\0\0\ 6\0\0\0
+\0PSj\ 5W\89F\b\89N\f\89F\10\89N\14ÇF\18\0\0\ 2\0\89N\1cÇF 
+\0\0\0\89N$è%n\0\0\83Ä\1c\85Àt\10ÇEì\ 1\0\0\0\8b\85Àuùë\f \9d\0\0à\f\b¢\9d\0\0à\8bMÀj\0X\81Á\0\0ðÿ\83ÐÿPQj\0h\0\0\10\0Sj\0Wèám\0\0\83Ä\1c\85Àt\ eÇEì\ 1\0\0\0\8b\85Àuù\83\0tX\8b\8b\89V83Ò!VDRÿuü3ÀPQSj\ 5W\89N(\89F,\89N0\89F4\89V<ÇF@
+\0\0\0è\91m\0\0\83Ä\1c\85Àt\10ÇEì\ 1\0\0\0\8b\85Àuùë\f \9e\0\0à\f\ 1¢\9e\0\0à\8b\8bEä;MÐu\ 63Ò;Ât,+MÐj\0Z\eÂPQRÿuÐSj\ 5WèFm\0\0\83Ä\1c\85Àt\ eÇEì\ 1\0\0\0\8b\85Àuù_^3À[ÉÃSV\8bt$\10VèÔh\0\0\8bØ\83ÈÿY;ØtNVèÀi\0\0\80¾Ì\ 1\0\0\ 1YVu\fÿt$\10èoúÿÿYë\ 5èÍe\0\0YW3ÿ9=´Ðýÿt\1d¸´ÐýÿVÿ\10\8bØY\83ûÿt\13G\8d\ 4½´Ðýÿ\838\0\8bÃ_^[Ãj\ 1Vè¯j\0\0YY\83ÈÿëíU\8bìSV\8bu\b\8bÎÁé\rB\83á\ fÓâÑúöÒ\8aÚöÓ÷Æ\0\ 1\0\0t\ 6\8aÂ\8aÓ\8aØ\8bÎÁé\v\80á\ 3\8bÆÁè   $\ 3þÁ\ 2ÁþÀW\ f¶ø\8bÆÁè\ 3\88U\v\83à\1f3Ò÷÷\ f¶Á_;Ðr\ 3\88]\v\80}\f\0^[t\b\ f¶E\v÷Ð]Ã\8aE\v]ÃU\8bìQ\8bE\fVW¹ìÐýÿ¿\80\ 4\0\0j\b^\8a\11\88Uÿ\8aUÿd\88\10@NuñAOuê_^ÉÃ\8bD$\ 4\8b\90!\ 1\0\0\ f¶L$\f\8d\8c\8a@\ 5\0\0\ f¶T$\b\ 3Êd\8a \8aÑ\8a\88µ\ 1\0\0\8bD$\10Òê\88\10Ã\8bD$\10\8a\10\8bD$\ 4\8a\88µ\ 1\0\0\8b\80!\ 1\0\0Òâ\ f¶L$\f\8d\84\88@\ 5\0\0\ f¶L$\b\ 3Ád\88\10ÃU\8bì\83ì\fSV2ÛW\88\8bu\14ÆEø\0Vÿuøÿuôÿu\bè­ÿÿÿ\83Ä\10þEøF\80\bräþEô\80\ 4rÔÇEô\ 3\0\0\0\8bu\10\89uø3ÿ9uøw\19ÿuøèÛi\0\0ÿuøè\bj\0\0\81\0 \0\0YYj\b3ÉXd\8a\14\ e\88Uÿ\8aUÿ:\97ìÐýÿt\ 6²\ 1Òâ
+ÚAHuäG\83Æ\b\81ÿ\80\ 4\0\0rµÿMôu¨èµi\0\0_^\8aÃ[ÉÃU\8bì\83ì\fSV\8bu\14WVÿu\10ÆEþ\0ÿu\fÆEÿ\0ÿu\bè8ÿÿÿ\83Ä\10\84Àt]\ f¾}\18\89}ø÷]ø3ÉÇEô\b\0\0\0\8a\ 41\ f¶Ð;Uø|\18\8b]\b\ f\9b´\ 1\0\0+ß;Ó\7f\b\ 2E\18\88\ 4
\ 1Òà\b\bEÿAÿMôuÍVÿu\10ÿu\fÿu\bèÜþÿÿ\83Ä\10:Eþu­3ÉÇEô\b\0\0\0\8aUÿ3À@Óà\84Âu1\ f¾}\18\8a\ 41\ f¶Ð\8bß÷Û;Ó|\18\8b]\b\ f\9b´\ 1\0\0+ß;Ó\7f\b\ 2E\18\88\ 4\a°\ 1Òà\bEÿAÿMôu½Vÿu\10ÿu\fÿu\bèyþÿÿ\8aMÿ\83Ä\10öÑ"Áj\b\ f¶ø3ÉX3ÒBÓâ\85×t\r\8aU\18(\14\ 1Òâ\bUÿAHuæ\80}ÿÿ\ f\85oÿÿÿ\8aEþ_^[ÉÃU\8bìQV\8bu\b\80~O\0t=\80¾Ê\ 1\0\0\0t4SWÆEü\0\8d^GÆE\b\0\8bûWÿu\bÿuüVèÙýÿÿ\83Ä\10þE\bG\80}\b\bræþEü\80\ 4r×_[3À^ÉÃU\8bì\83ì@S\8b]\b\80{O\0\ f\84l\ 1\0\03À8\83Ê\ 1\0\0\ f\84`\ 1\0\0VW\8d{G\89}è««\80{\10\0j\0\ f\95ÀþÈ$\ 2S\88Eøè\1cýÿÿYYÇEì\ 3\0\0\0\83\0\8d}Ø«ÆE\v\0«ÆEü\0\8duÀVÿuüÿuøSè\1dýÿÿ\83Ä\10þEüF\80\bræ3À\8d}à«j\ 1«\8dEàPj\0ÿuøSèýýÿÿ\83Ä\14j\b\ f¶ð3É_3ÒBÓâ\85Öu\b\8aT\rà\88T\rÈAOuë<ÿtdjÿ\8dEàPWÿuøSèÉýÿÿ\83Ä\14j\b\ f¶ð3É_3ÒBÓâ\85Öu\b\8aT\rà\88T\rÐAOuë<ÿt0j\b3É_3À@Óà\85Æu\1e\ f¶T\rÈ\ f¶D\rÐ\ 3Â\99+ÂÑøþE\v\88D\rØ\ f¶À\ 1EôAOuÕ3ÉÇEð\b\0\0\03À@Óà\85Æt\e\80}\v\0t\r\ f¶}\v\8bEô3Ò÷÷ë\ 4\8aD\rÀ\88D\rØAÿMðuÖ\8bMèj\b\8dEØ^\8a\10\0\11@ANu÷ÿMì\ f\85âþÿÿ\8bMèj\b^\ f\ 1j\ 3\99_÷ÿ\88\ 1ANuñ_^3À[ÉÃU\8bìQV\8bu\fW¿\0\ 4\0\0j\ 1VèPûÿÿ\88Eÿ\8aEÿYYd\88\ 6FOué_^ÉÃU\8bì\8bE\b\8b\80!\ 1\0\0\ 5\ 1\0\0d\8a\b\80áÀ
+M\10d\88\b\83e\b\0SVW\8bu\f\8bþ3Û;þw\14Wè9f\0\0Wèhf\0\0YY\81Ç\0 \0\0d\8a\ 6j\ 1\88E\13VèìúÿÿYY\8aM\13:Èu\18CF\81û\0\ 4\0\0rÇÿE\bf\83}\b\ 3r¶³\ 1ë\ 22Ûè\17f\0\0_^\8aÃ[]Ã\8bL$\ 4\8b\81!\ 1\0\0\ 5\ 1\0\0d\8a\10\80âÀ
+Q\1dd\88\103ÀÃU\8bì\83ì\fSV\8bu\b\8b\86!\ 1\0\0\ 5\ 1\0\0fd\8b\bºÿþ\0\0f#ÊÆEø\aÆEù\ eÆEú\15ÆEû\1cÆEô'ÆEõ.ÆEö5ÆE÷<WÆEþ\0ÆEÿ\0fd\89\b3ÿWVèáþÿÿYY2Û\ f¶Ã\ f¶D\ 5øPWVèöþÿÿ\83Ä\f\84Àt
+\0EþþÃ\80û\ 4rß2Û\ f¶Ã\ f¶D\ 5ôPWVèÓþÿÿ\83Ä\f\84Àt
+\0EÿþÃ\80û\ 4rß3ÉA\80\0u\10\80}ÿ\0u
+\89M\b\8bE\b\85Àuù\8aFO\84Àu\15\ f¶Uÿ\ f¶}þkÒ\ 5\8a\94:lÕýÿ\88V\1d:Áu\15\ f¶Eÿ\ f¶MþkÀ\ 5\8a\84\b\88Õýÿ\88F\1d_^3À[ÉÃ\8bD$\ 4\8b\88!\ 1\0\0\81Á\0\f\0\0d\8b\11V\ f¶0\83â\8fFFÁæ\ 4\vÖ\81Ê\0\ 4\0\0d\89\11\8b\88!\ 1\0\0\81Á\0\f\0\0d\8a Àé\ 4\80á\a\80é\ 2\88\b3À^ÃSV\8bt$\f\8b\86!\ 1\0\0\ 5 \ 5\0\0fd\8b\bf\8bѹ¿;\0\0f#Ñ\8bL$\10W\8bÙÁë\10f\ f¶ûf\ f¶\$\18fÁã\ 4f\vûfÁç\ 4Áé\18f\vùfÁç\ 6f\v×fd\89\10\8b¶!\ 1\0\0\8d\86\81\ 5\0\0d\8a\b\8bT$\14\80áÀÁê\b
+Êd\88\b_^[ÃSV\8bt$\f\8b\86!\ 1\0\0\ 5 \ 5\0\0d\8b\b\8bÑ\8bL$\10W\8bÙÁë\10\ f¶û\ f¶\$\18Áã\ 5\vûÁç\ 4Áé\18\vù\81â\7f÷üÿÁç\a\v×d\89\10\8b¶!\ 1\0\0\8d\86\82\ 5\0\0d\8a\b\8bT$\14\80áÀÁê\b
+Êd\88\b_^[ÃU\8bìS\8bE\bV\8bu\14\ f¶6\8b\88!\ 1\0\0W\8b}\1c\ f\17\89u\1c\8bu\18\ f¶6\8bÚÁã\ 3\vÚ\ 3Û\v]\1c\89u\b\ 3Û\v]\b\81Á\9c\ 5\0\0d\8b1\ 3Û\v]\1c\81æÿÿ\ fä\ 3Û\v]\bÁã\14\vód\891\8b°!\ 1\0\0\8bM\10\8a    \81Æ\84\ 5\0\0d\8a\16\80âÀ
+Ñd\88\16\8b°!\ 1\0\0\81Æ\85\ 5\0\0d\8a\16\80âÀ
+Ñd\88\16\ f\17\8bu\14\ f¶6\8b}\18\ f¶?\8b\88!\ 1\0\0\89}\b\8d\1c\12\vÞ\ 3Û\v]\b\81Á\98\ 5\0\0d\8b9Áã\ 2\vÚ\ 3Û\vÞ\ 3Û\v]\b\81çÿ\0ÿÿÁã\b\vûd\899\8b°!\ 1\0\0\8bM\10\8a  \81Æ\86\ 5\0\0d\8a\16\80âÀ
+Ñd\88\16\8b\80!\ 1\0\0\ 5\87\ 5\0\0d\8a\10\80âÀ
+Ñd\88\10_^[]ÃU\8bì\8bE\b\8b\88!\ 1\0\0\8bU\14V\8d±\94\ 5\0\0d\8a\ e\8a\12W\8b}\18\ 2Ò
+\17\80á\9fÀâ\ 5
+Êd\88\ e\8b\88!\ 1\0\0\8bU\1c\8d±\98\ 5\0\0d\8a\ e\8a\12\80áÏÀâ\ 4
+Êd\88\ e\8bM\10\8a\11\8b\88!\ 1\0\0\8d±\80\ 5\0\0d\8a\ e\80áÀ
+Êd\88\ e\8b\80!\ 1\0\0\ 5\83\ 5\0\0d\8a\b\80áÀ
+Êd\88\b_^]ÃU\8bìQQ\ f¶E \8aM SVÀé\ 2\89Eø%\ 3\0\0\80Wy\ 5H\83Èü@\8bu\b\ f¶À\83è\0\ f\84?\ 1\0\0H\ f\84Ù\0\0\0HttHt\ fjdVèaa\0\0YYé©\ 1\0\0\8b\86!\ 1\0\0\ 5°\ 5\0\0\ f¶Ñ\89Eüd\8b\0\8bø\8dJ   3À@\8bØÓã\8bÊ\89\8bÐÓâ\8bM\14\vÚ\8bU ÷Ó#û\ f\19\8dJ       Óã\8bM\18\vû\ f\19\8bÊÓã\8b\vûd\899\8b¾!\ 1\0\0\81ÇÔ\ 5\0\0é\1e\ 1\0\0\8b\86!\ 1\0\0\ 5¬\ 5\0\0\ f¶Ñ\89Eüd\8b\0\8bø\8dJ 3À@\8bØÓã\8bÊ\89\8bÐÓâ\8bM\14\vÚ\8bU ÷Ó#û\ f\19\8dJ       Óã\8bM\18\vû\ f\19\8bÊÓã\8b\vûd\899\8b¾!\ 1\0\0\81ÇÐ\ 5\0\0é¼\0\0\0\8b\86!\ 1\0\0\ 5¨\ 5\0\0\ f¶Ñ\89Eüd\8b\0\8bø\8dJ 3À@\8bØÓã\8bÊ\89\8bÐÓâ\8bM\14\vÚ\8bU ÷Ó#û\ f\19\8dJ       Óã\8bM\18\vû\ f\19\8bÊÓã\8b\vûd\899\8b¾!\ 1\0\0\81ÇÌ\ 5\0\0ë]\8b\86!\ 1\0\0\ 5¤\ 5\0\0\ f¶Ñ\89Eüd\8b\0\8bø\8dJ    3À@\8bØÓã\8bÊ\89\8bÐÓâ\8bM\14\vÚ\8bU ÷Ó#û\ f\19\8dJ       Óã\8bM\18\vû\ f\19\8bÊÓã\8b\vûd\899\8b¾!\ 1\0\0\81ÇÈ\ 5\0\0d\8b\ f\ 3Ò\89\8bÙ\8dJ\ 1\8bÐÓâ\8bM Óà\vÐ\8bE\1c\ f\0Óà÷Ò#Ú\vØd\89\1f\8b\86!\ 1\0\0\8b\8bU\10\8d\84\b\0\ 5\0\0d\8a\b\80áÀ
+
+d\88\b_^[ÉÃU\8bìQQ\ f¶E \8aM SVÀé\ 2\89Eø%\ 3\0\0\80Wy\ 5H\83Èü@\8bu\b\ f¶À\83è\0\ f\84?\ 1\0\0H\ f\84Ù\0\0\0HttHt\ fjdVèI_\0\0YYé¬\ 1\0\0\8b\86!\ 1\0\0\ 5À\ 5\0\0\ f¶Ñ\89Eüd\8b\0\8bø3À\8dJ @\8bØÓã\8bÊ\89\8bÐÓâ\8bM\14\vÚ\8bU ÷Ó#û\ f\19\8dJ Óã\8bM\18\vû\ f\19\8bÊÓã\8b\vûd\899\8b\8e!\ 1\0\0\8d¹Ô\ 5\0\0é\1e\ 1\0\0\8b\86!\ 1\0\0\ 5¼\ 5\0\0\ f¶Ñ\89Eüd\8b\0\8bø3À\8dJ       @\8bØÓã\8bÊ\89\8bÐÓâ\8bM\14\vÚ\8bU ÷Ó#û\ f\19\8dJ Óã\8bM\18\vû\ f\19\8bÊÓã\8b\vûd\899\8b\8e!\ 1\0\0\8d¹Ð\ 5\0\0é¼\0\0\0\8b\86!\ 1\0\0\ 5¸\ 5\0\0\ f¶Ñ\89Eüd\8b\0\8bø3À\8dJ       @\8bØÓã\8bÊ\89\8bÐÓâ\8bM\14\vÚ\8bU ÷Ó#û\ f\19\8dJ Óã\8bM\18\vû\ f\19\8bÊÓã\8b\vûd\899\8b\8e!\ 1\0\0\8d¹Ì\ 5\0\0ë]\8b\86!\ 1\0\0\ 5´\ 5\0\0\ f¶Ñ\89Eüd\8b\0\8bø3À\8dJ  @\8bØÓã\8bÊ\89\8bÐÓâ\8bM\14\vÚ\8bU ÷Ó#û\ f\19\8dJ Óã\8bM\18\vû\ f\19\8bÊÓã\8b\vûd\899\8b\8e!\ 1\0\0\8d¹È\ 5\0\0\8dL\12\10\89M d\8b\ f\8bÙ\8dL\12\11\8bÐÓâ\8bM Óà\vÐ\8bE\1c\ f\0Óà÷Ò#Ú\vØd\89\1f\8b\86!\ 1\0\0\8b\8bU\10\8d\84\b \ 5\0\0d\8a\b\80áÀ
+
+d\88\b_^[ÉÃVWQQ\8büÿt$\14\8dt$\1c¥¤èTùÿÿY\8büÿt$\14\8dt$$¥¤è´ùÿÿ\83Ä\f_^ÃU\8bì\83ì\10\8bE\f\8a\0\88\8bE\10\8a\0\88\8bE\14\8a\0\88\8bE\18\8a\0\88\8bE\1c\8a\0\88\8b\8a\0\88\8bE$\8a\0\88\8bE(\8a\0VW\88\8bE,\8a\0\88\8bE0\8a\0QQ\8bü\88\8duø¥Q¤Q\8büÿu\b\8duð¥¤èaÿÿÿ\83Ä\14_^ÉÃU\8dl$\90\81ìl\ 1\0\0SVW\8b}x\8a\1f\8d\87!\ 1\0\0\8b\b\81Á¤\ 1\0\0d\8a\11\80â\7fd\88\11\88]{\8b\0\ 5\90\ 1\0\0fd\8b\bºÿß\0\0f#ʺÿ\1f\0\0f\vÊfd\89\b\8aW\ 2\84ÒuP\ f¶ÃiÀ \ 1\0\0\ 5\95âýÿ3öÇElH\0\0\0\8aHÿ\88\8c5\ 4ÿÿÿ\8a\b\ 2M|\83À\ 4\88L5\94\8a\8aÙ\80á\ fÀë\ 4\88L5$\8a\88\5Ü\88\8c5LÿÿÿFÿMluÇ\80ú\ 1\ f\85¢\0\0\0\80\7fO\0uK\ f¶E{iÀ \ 1\0\0jH\ 5Õäýÿ3öZ\8aHÿ\88\8c5\ 4ÿÿÿ\8a\b\ 2M|\83À\ 4\88L5\94\8a\8aÙ\80á\ fÀë\ 4\88L5$\8a\88\5Ü\88\8c5LÿÿÿFJuÉ\80\7fO\ 1uK\ f¶E{iÀ \ 1\0\0jH\ 5Uàýÿ3öZ\8aHÿ\88\8c5\ 4ÿÿÿ\8a\b\ 2M|\83À\ 4\88L5\94\8a\8aÙ\80á\ fÀë\ 4\88L5$\8a\88\5Ü\88\8c5LÿÿÿFJuÉ\8d\85MÿÿÿP\8dE%P\8dEÝP\8dE\95P\8d\85\ 5ÿÿÿP\8d\85LÿÿÿP\8dE$P\8dEÜP\8dE\94P\8d\85\ 4ÿÿÿPWèÿýÿÿ\8d\85NÿÿÿP\8dE&P\8dEÞP\8dE\96P\8d\85\ 6ÿÿÿPWèüøÿÿ\83ÄD\8d\85PÿÿÿP\8dE(P\8dEàP\8dE\98P\8d\85\bÿÿÿPWèÏ÷ÿÿ\83Ä\18ÆEx\03öÿux\8d\845tÿÿÿP\8dD5LP\8dD5\ 4P\8dD5¼P\8d\845,ÿÿÿPWèCûÿÿ\83Ä\1cþExF\80}x rËÆEx\03öÿux\8d\845TÿÿÿP\8dD5,P\8dD5äP\8dD5\9cP\8d\845\fÿÿÿPWèðøÿÿ\83Ä\1cþExF\80}x rË_^[\83ÅpÉÃ\8bL$\ 4\8b\81!\ 1\0\0\ 5Ý\ 5\0\0d\8a\10\80âÈ\80Ê\bd\88\10\8b\89!\ 1\0\0\8d\81Ø\ 5\0\0d\8a\b\80É\ 1d\88\b3ÀÃU\8bì\83ì\18\8bE\b\8aH\ 1S3Û\88\8a\bV\88MýW\88\88\89\89\88]\v¹ÀÀ\0\0\80}\v\ 1\ f\84L\ 3\0\0\ f¶}\v\8b\90!\ 1\0\0\8d4?\ f·\8e\14çýÿ\ 3Êd\8a\11\80âþ
+\97$çýÿd\88\11\ f·\8e\14çýÿ\8b\90!\ 1\0\0\ 3Êd\8a\11\80âýd\88\11\ f·\8e\14çýÿ\8b\90!\ 1\0\0\ 3Êfd\8b\11»ÿ\ f\0\0f#Ó\ f¶X\ 3\af\ f\9c;,çýÿfÁã\ff\vÓfd\89\11\ f¶HO\83é\0tAI\ f\85õ\ 2\0\0\ f·\96\14çýÿ\8a\8f\80çýÿ\8b\98!\ 1\0\0d\88L\1a\ 4\ f·\96\14çýÿf\8b\8e\88çýÿ\8b\98!\ 1\0\0fd\89L\1a\ e\8a\97\98çýÿëR\ f¶H\ 3\ f·\96\14çýÿkÉ\a\8a\8c9<çýÿ\8b\98!\ 1\0\0d\88L\1a\ 4\ f¶H\ 3\ f·\96\14çýÿkÉ\a\8b\98!\ 1\0\0\ 3Ïf\8b\fM8àýÿfd\89L\1a\ e\ f¶H\ 3\a\8a\949Lçýÿ\ f·\8e\14çýÿ\8b\98!\ 1\0\0\8dL\19\14d\8a\19\80ãü
+Úd\88\19\88Uÿ\80x\ 2\ 1\ f\85÷\0\0\0\80}\v\ 2\ f\85í\0\0\0\ f·\r\18çýÿ\8b\90!\ 1\0\0\ 3Êfd\8b\11»ÿ\ f\0\0f#Ó\ f¶X\ ff\ f\9b\çýÿfÁã\ff\vÓfd\89\11\ f¶HO\83é\0tNI\ f\85«\0\0\0\ f¶H\ f\ f·\15\18çýÿ\8a\89¬çýÿ\8b\98!\ 1\0\0d\88L\1a\ 4\ f¶H\ f\ f·\15\18çýÿf\8b\fM çýÿ\8b\98!\ 1\0\0fd\89L\1a\ e\ f¶H\ f\8a\91´çýÿëE\ f¶H\ f\ f·\15\18çýÿ\8a\89dçýÿ\8b\98!\ 1\0\0d\88L\1a\ 4\ f¶H\ f\ f·\15\18çýÿf\8b\fMlçýÿ\8b\98!\ 1\0\0fd\89L\1a\ e\ f¶H\ f\8a\91xçýÿ\ f·\r\18çýÿ\8b\98!\ 1\0\0\8dL\19\14d\8a\19\80ãü
+Úd\88\19\88Uÿ\ f¶H\ 3\8b\90!\ 1\0\0\af\ f\8c9Pïýÿ\ f·É\89\ f·\8e\14çýÿ\8dL\11\16fd\8b\11»\80\80\0\0f#Ó\8b]ôÁã\bf\vÓf\vUôfd\89\11\ f¶H\ 3\af\ f\8c9`ïýÿ\ f·É\8bÑÁâ\b\vÊ\8b\90!\ 1\0\0\89\ f·\8e\14çýÿ\8dL\11\18\89Mèfd\8b        f\8bѹÀÀ\0\0\8bÙf#Óf\v\8b]èfd\89\13\ f·\96\14çýÿ\8b\98!\ 1\0\0\8dT\1a\1a\89Uèfd\8b\12\8bÙf#Óf\v\8b]èfd\89\13\ f¶P\ 3\af\ f\94:pïýÿ\ f·Ò\8búÁç\b\v×\8b¸!\ 1\0\0\89\ f·\96\14çýÿ\8dT:\1cfd\8b:\8bÙf#ûf\v}ôfd\89:\ f·\96\14çýÿ\8b°!\ 1\0\0\8dT2\1efd\8b2\8bùf#÷f\vuôfd\892\8a]ÿþE\v\80}\v\a\ f\82\9düÿÿ\8aP\ 2\84Òu*\ f¶pO\83î\0t\17Nu\f\ f¶p\ f\8a\9epèýÿë\12\83Èÿéi
+\0\0\ f¶p\ f\8a\9eXèýÿ\80ú\ 1u"\ f¶PO\83ê\0t\ fJuÝ\ f¶P\ f\8a\9a\80èýÿë
+\ f¶P\ f\8a\9ahèýÿ\8b\90!\ 1\0\0\8d²Z\ 4\0\0d\8a\16\80âÀ
+Ód\88\16\8b\90!\ 1\0\0\8d²b\ 4\0\0d\8a\16\80âÀ
+Ód\88\16»\14çýÿÆE\v\0\8bû\89\80}\v\ 1\ f\84\8b\ 1\0\0\ f·\17\8b\98!\ 1\0\0\ 3Ó\89Uôd\8a\12\ f¶X\ 3\a\8a\9c3\80ïýÿÀë\ 5\80â\9f
\8b]ôd\88\13\ f·\17\8b¸!\ 1\0\0\8d|:\ 2\ f¶P\ 3\a\89}ôfd\8b?\ 3Ö»ùø\0\0f#ûf\ f\9a°ïýÿf\ f\92 ïýÿfÁã\af\vÚ\8bUôf\ 3Ûf\vûfd\89:\ f¶P\ 3\8b}èkÒ\af\ f\942\90ïýÿ\8b\98!\ 1\0\0\ f·Ò\89\ f·\17\8dT\1a
+\89Uèfd\8b\12»\80\80\0\0f#Ó\8b]ôÁã\bf\vÓf\v\8b]èfd\89\13\ f¶P\ 3\a\80xO\ 1f\ f\942Äçýÿ\ f·Ò\89Uôu\ ef\ f\96¼çýÿ\ f·Ò\89\ f·\17\8b\98!\ 1\0\0\8dT\1a\12\89Uèfd\8b\12\8bÙf#Ó\8b]ôÁã\bf\vÓf\v\8b]èfd\89\13\ f¶P\ 3\8b\98!\ 1\0\0\af\ f\942Àïýÿ\ f·Ò\89\ f·\17\8dT\1a$\89Uèfd\8b\12»àà\0\0f#Ó\8b]ôÁã\bf\vÓf\v\8b]èfd\89\13\ f·\17\8b\98!\ 1\0\0\8dT\1a&\89Uèd\8a\12\ f¶X\ 3\a\80âà
+\943Àïýÿ\8b]èd\88\13»\14çýÿþE\vFGG\80}\v\a\89\ f\82Xþÿÿ\8b\90!\ 1\0\0\ f¶H\ 3\8b\f\8dÐïýÿ\81ÂZ\ 4\0\0fd\8b2f\83æ?f\vñfd\892\8b\90!\ 1\0\0\81Â\\ 4\0\0fd\8b2¿ðÿ\0\0f#÷Áé\10f\vñfd\892\8b\90!\ 1\0\0\ f¶H\ 3\8b\f\8dØïýÿ\81Âb\ 4\0\0fd\8b2f\83æ?f\vñfd\892\8b\90!\ 1\0\0\81Âd\ 4\0\0fd\8b2f#÷Áé\10f\vñfd\892\83\0ÆE\v\0\8bó\80}\v\ 1tS\ f¶H\ 3\ f·\16\a\ 3\8b¸!\ 1\0\0f\8b\fMÔçýÿfd\89L:\10\ f¶H\ 3\ f·\16\a\ 3\8b¸!\ 1\0\0\8b\f\8dðçýÿfd\89L: \ f·\16\8b¸!\ 1\0\0Áé\10fd\89L:"þE\vÿEôFF\80}\v\ar\99\8b\88!\ 1\0\0\8d\91d\ 1\0\0\ f¶H\ 3\ 5\89U\bd\8b\12\ f¶±(èýÿ\ f¶¹)èýÿ\ f\89*èýÿÁæ\b\v÷\81âàààÿÁæ\b\vÖ\vÑ\8bM\bd\89\11\8b\88!\ 1\0\0\81Á°\ 4\0\0fd\8b\11¾ÿà\0\0f#Ö\ f¶p\ 3\ 5f\ f¶¶+èýÿfÁæ\bf\vÖfd\89\11\8b°!\ 1\0\0\81ư\ 4\0\0d\8a\ e\ f¶P\ 3\ 5\80áà
+\8a,èýÿd\88\ e\ f¶Uý\8b°!\ 1\0\0\8bÊÁá\ 2\8b¹\88èýÿ\81Æ8\ 1\0\0d\89>\ f¶pO\83î\0t\11N\8b°!\ 1\0\0u\ e\8b¹\98èýÿë\f\8b°!\ 1\0\0\8b¹\90èýÿ\81Æl\ 1\0\0d\89>\8b°!\ 1\0\0f\8b\14U èýÿ\81Æz\ 1\0\0fd\89\16\ f¶Uü\8b°!\ 1\0\0\8b\14\95¤èýÿ\81Æ4\ 1\0\0d\89\16\8b\90!\ 1\0\0\81Âp\ 1\0\0fd\8b2¿ñÿ\0\0f#÷f\83Î\ 1fd\892\ f¶PO\83ê\0t\ eJ\ f\85\9cûÿÿº5\ 1\0\0ë\ 5º4\ 1\0\0\8b°!\ 1\0\0\81Æx\ 1\0\0fd\89\16\8b\90!\ 1\0\0\8b\89¬èýÿ\81Â0\ 1\0\0d\89
+\8b\88!\ 1\0\0\8d±3\ 1\0\0d\8a\ e\8a\154èýÿÀâ\ 4
+\155èýÿ\80á»Àâ\ 2
+Êd\88\ e\8b\88!\ 1\0\0\81Á°\ 4\0\0fd\8b\11¾ÿß\0\0f#Öf\ f¶56èýÿfÁæ\rf\vÖfd\89\11\8b\88!\ 1\0\0\8d±°\ 4\0\0d\8a\ e\8a\157èýÿ\80áßÀâ\ 5
+Êd\88\ eÆE\v\0\8bû\80}\v\ 1t'\ f·\ f\8b\90!\ 1\0\0\8dt\11\ 2d\8a\ e\8a\159èýÿ\80á\8eÀâ\ 4
+\r8èýÿd\88\ eþE\vGG\80}\v\a\8b\88!\ 1\0\0\8d±0\ 1\0\0d\8b\ e÷Á\0\0\0@\ f\85ù\ 4\0\0d\8a\ e\80É\ 1d\88\ e\8b°!\ 1\0\0d\8a\8e0\ 1\0\0öÁ\ 1uôd\8b¶<\ 1\0\0\8bÖ\8bÎÁê\18\80â\7fÁé\10\80á\7f\8bó\8a\88\88MüÆE\v\0\80}\v\ 1\ f\84®\0\0\0\ f·\ e\8b¸!\ 1\0\0\8dL9\ 1d\8a\19d\8a    Àé\ 4\80á\ 3Àë\ 6\88\ f¶Ë3ÿAGÓçf\ f¶Êf+Ïy\ eÇEè\ 1\0\0\0\8b\85Òuù\8b\90!\ 1\0\0\ f·É\89\ f·\ e\8dL\11\16fd\8b\11¿ÿ\80\0\0f#×\8b}ðÁç\bf\v×fd\89\11\ f¶Mþ3ÒBA\8búÓç\8bÏf\ f¶}üf+ùy
+\89\8b\85Éuù\ f·\16\ f·Ï\8b¸!\ 1\0\0\8d|:\16d\8a\17\80â\80
\89Mìd\88\17\8aUýþE\vFF\80}\v\a\ f\829ÿÿÿ\ f·uðÇE\b\ 1\0\0\0\8aËÓe\b3ÿÇEè\ 4\0\0\0f\83þ@r\ eÇEô\ 1\0\0\0\8b\85Éuù\ f·\r\14çýÿ\8b\90!\ 1\0\0\ f·ÞkÛ\f\ 3Ï\8dL\11\18d\8a\11\80âÀ
+\93´èýÿd\88\11\ 3u\bGÿMèu»\80x\ 2\0uR\ f·uð3ÿÇEè\ 4\0\0\0f\83þ@r\ eÇEô\ 1\0\0\0\8b\85Éuù\ f·\r\18çýÿ\8b\90!\ 1\0\0\ f·ÞkÛ\f\ 3Ï\8dL\11\18d\8a\11\80âÀ
+\93¸èýÿd\88\11\ 3u\bGÿMèu»\80x\ 2\ 1uX\80x\ f\ 3sR\ f·uð3ÿÇEè\ 4\0\0\0f\83þ@r\ eÇEô\ 1\0\0\0\8b\85Éuù\ f·\r\18çýÿ\8b\90!\ 1\0\0\ f·ÞkÛ\f\ 3Ï\8dL\11\18d\8a\11\80âÀ
+\93¾èýÿd\88\11\ 3u\bGÿMèu»\ f·}ð3ÛÇEè\ 4\0\0\0f\83ÿ@r\ eÇEô\ 1\0\0\0\8b\85Éuù\ f·\15\1açýÿ\8b°!\ 1\0\0\ f·ÏkÉ\f\8a\89ºèýÿ\ 3Ó\8dt2\18d\8a\16\80âÀ
+Ñd\88\16\ f·\15\1cçýÿ\8b°!\ 1\0\0\ 3Ó\8dt2\18d\8a\16\80âÀ
+Ñd\88\16\ 3}\bCÿMèu\9b\ f·}ð3ÛÇEè\ 4\0\0\0f\83ÿ@r\ eÇEð\ 1\0\0\0\8b\85Éuù\ f·\15\1eçýÿ\8b°!\ 1\0\0\ f·ÏkÉ\f\8a\89¼èýÿ\ 3Ó\8dt2\18d\8a\16\80âÀ
+Ñd\88\16\ f·\15 çýÿ\8b°!\ 1\0\0\ 3Ó\8dt2\18d\8a\16\80âÀ
+Ñd\88\16\ 3}\bCÿMèu\9b\8a\ f·uìÇE\b\ 1\0\0\0Óe\b3ÿÇEè\ 4\0\0\0f\83þ@r\ eÇEð\ 1\0\0\0\8b\85Éuù\ f·\r\14çýÿ\8b\90!\ 1\0\0\ f·ÞkÛ\f\ 3Ï\8dL\11\1cd\8a\11\80âÀ
+\93µèýÿd\88\11\ 3u\bGÿMèu»\80x\ 2\0uR\ f·uì3ÿÇEè\ 4\0\0\0f\83þ@r\ eÇEð\ 1\0\0\0\8b\85Éuù\ f·\r\18çýÿ\8b\90!\ 1\0\0\ f·ÞkÛ\f\ 3Ï\8dL\11\1cd\8a\11\80âÀ
+\93¹èýÿd\88\11\ 3u\bGÿMèu»\80x\ 2\ 1uX\80x\ f\ 3sR\ f·uì3ÿÇEè\ 4\0\0\0f\83þ@r\ eÇEð\ 1\0\0\0\8b\85Éuù\ f·\r\18çýÿ\8b\90!\ 1\0\0\ f·ÞkÛ\f\ 3Ï\8dL\11\1cd\8a\11\80âÀ
+\93¿èýÿd\88\11\ 3u\bGÿMèu»\ f·}ì3ÛÇEè\ 4\0\0\0f\83ÿ@r\ eÇEð\ 1\0\0\0\8b\85Éuù\ f·\15\1açýÿ\8b°!\ 1\0\0\ f·ÏkÉ\f\8a\89»èýÿ\ 3Ó\8dt2\1cd\8a\16\80âÀ
+Ñd\88\16\ f·\15\1cçýÿ\8b°!\ 1\0\0\ 3Ó\8dt2\1cd\8a\16\80âÀ
+Ñd\88\16\ 3}\bCÿMèu\9b\ f·}ì3ÛÇEè\ 4\0\0\0f\83ÿ@r\ eÇEì\ 1\0\0\0\8b\85Éuù\ f·\15\1eçýÿ\8b°!\ 1\0\0\ f·ÏkÉ\f\8a\89½èýÿ\ 3Ó\8dt2\1cd\8a\16\80âÀ
+Ñd\88\16\ f·\15 çýÿ\8b°!\ 1\0\0\ 3Ó\8dt2\1cd\8a\16\80âÀ
+Ñd\88\16\ 3}\bCÿMèu\9b\8b\80!\ 1\0\0\ 50\ 1\0\0d\8a\b\80É\ 1d\88\b3À_^[ÉÃ\8bD$\ 4\8b\80!\ 1\0\0\ 50\ 1\0\0d\8a\böÁ\ 1uø3ÀÃU\8bìQQV\8bu\b3ÀW3ÿ\88\88Eü8FOu\ fÆEþ\12ÆEü\a¿)§\18\97ë\ e\8b\86!\ 1\0\0\ 5<\ 1\0\0d\8b\0S\8bÈ\8bÐ\8bØÁé\18Áê\10Áë\b\80á\7f\80â\7f\80ã?$?\88]ÿ\88E\v:Êv\ 6\8aÁ*Âë\ 4\8aÂ*Á\88\8aE\v:Øv\a\88]ûë\ 6*Eÿ\88\8aEþ[8Eýw2\8aEü8Eûw*°\ 5:Èv$:Ðv 8Eÿv\e8E\vv\16\80ùzs\11\80úzs\f\80}ÿ:s\ 6\80}\v:r\15\8b\86!\ 1\0\0\ 5@\ 1\0\0d\89\860\ 1\0\0\ 1_^ÉÃSV\8bt$\f\8b\86!\ 1\0\0\ 5p\ 1\0\0d\8a\b\80á÷d\88\bW\8b\86!\ 1\0\0\ 50\ 1\0\0d\8a\b\80á\7fd\88\bj\ 3Æ\860\ 1\0\0\0[¿\98:\0\0\8b\86!\ 1\0\0\ 50\ 1\0\0d\8a\b\80É\ 1d\88\bWèöF\0\0\8b\86!\ 1\0\0Y\ 50\ 1\0\0d\8a\böÁ\ 1uøVè¾þÿÿKYuÈ8\9e0\ 1\0\0u$\8b\8e!\ 1\0\0d\8b\81<\ 1\0\0\8bÐÁê\10Áà\10\vÐ\81Ê\0\80\0\80d\89\91@\ 1\0\0\8b\86!\ 1\0\0\ 50\ 1\0\0d\8a\b\80É\ 1d\88\b\92F\0\0\8b¶!\ 1\0\0Y_\8d\860\ 1\0\0^[d\8a\böÁ\ 1uø3ÀÃ\8bD$\ 4\808\0w\v\80xO\0u\ 53ÉAë\ 5¹ \ 1\0\0\8b\80!\ 1\0\0\ 5À\ 1\0\0fd\8b\10V¾Àü\0\0f#Öf\vÑfd\89\103À^ÃU\8bì\83ì0\8bM\b\8a\ 1S\ f¶Ð\ f·\14UTÞýÿV3ö!uôWÆEÿ\ 2ÆEþ\0\89\84Àv\ 5¾ô\ 1\0\0\8b\81!\ 1\0\0\ f·úd\ f\90F\ 2\0\0d\8a\80\88\ 1\0\0Áê\ 2Ðè\83â\ 3$\aB\ f¶À\ f¯×\89\ f·Æ\89\8d\ 4?\89\99\89}\bÑm\b\89EøÑ}ø\8b\91!\ 1\0\0d\ f·\82 \ 2\0\0d\ f\9aM\ 2\0\0\8b\83ã\ fÁè\b\83à\a\ 3Ãd\ f\9aN\ 2\0\0\83ã\ 1\ 3Ã\ f\9e`Þýÿ\ f¯Ç\ f¯]\b\ 3\ f·uô\ 3Ød\8a\82Ù\ 5\0\0\ 3ó\8b\ 3ó¨\ 2t\ 6+u\b+]\b+uø\81ÃÛ\13\0\0\81î\1e\11\0\0\89uà;ór\r\8d\86Hôÿÿ=T\12\0\0sCþMÿ\81ÂÀ\ 2\0\0d\8b\ 2\r\0\0\80\0d\89\ 2\8b\ 3À\80}ÿ\0\ f·À\89\ f\85Tÿÿÿ\8b\89!\ 1\0\0\8d\81Ñ\ 2\0\0d\8a\b\80áüd\88\béÿ\0\0\0\80}ÿ\ 2u\17\8b\91!\ 1\0\0\81ÂÀ\ 2\0\0d\8b\ 2%ÿÿ\7fÿd\89\ 2\8bÆ3Ò÷÷\83\0ÆE\v\0ÆEÿ\0\ f·ð\ f·Þ\8d\ f¯ß\83\0\89\8b\99\83â\ 3\ 3Â\8bUôÁø\ 2\ 3Ã\89\ 2;Eàw\19=\f\1e\0\0r\12ÆE\v\ 1;Eðv  \8aUÿ\88\89EðþEÿ\ 1\83\ 4\80}ÿ\ 4r¿\80}\v\0\ f\84Yÿÿÿ\8b\81!\ 1\0\0\ 5Ñ\ 2\0\0d\8a\10\80Ê\ 3d\88\10\8b\81!\ 1\0\0\ 5\10\ 2\0\0fd\8b\10¿ÿ\ f\0\0f#×Áæ\ff\vÖfd\89\10\8b±!\ 1\0\0\8a\81Æ\ 2,\0\0d\8a\ 6$\88Àâ\ 4
+Eþd\88\ 6\8b\89!\ 1\0\0\8d\81À\ 2\0\0d\8b\b\81áÿÿÿó\81É\0\0\0\ 3d\89\b_^[ÉÃ\8bD$\ 4\8b\88!\ 1\0\0SV\81ÁÑ\ 6\0\0fd\8b\11¾\0ý\0\0Wf#Ö¿\0\ 1\0\0\8b÷f\vÖfd\89\11\8b\88!\ 1\0\0\81Á\10\ 2\0\0fd\8b\11¾Ðÿ\0\0f#Öf\83Ê\10fd\89\11\8b\88!\ 1\0\0\81ÁÑ\ 2\0\0fd\8b\11¾ÿ¯\0\0f#Ö¾\0 \0\0f\vÖfd\89\11\8b\88!\ 1\0\0\81Á\80\ 1\0\0d\8a\11\8aÚ²ñ"Úd\88\19\8b\88!\ 1\0\0\81Á\8c\ 1\0\0d\8a\19\80ãód\88\19\8b\88!\ 1\0\0\81Áa\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Áe\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Ái\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Ám\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Áq\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Áu\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Áy\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Á}\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Á\8c\ 1\0\0d\8a\11\80âýd\88\11\8b\88!\ 1\0\0\81Á´\ 1\0\0fd\8b\11¾ÿû\0\0f#Öfd\89\11\8b\88!\ 1\0\0\81Á\10\ 2\0\0fd\8b\11¾?ò\0\0f#Öfd\89\11\8b\88!\ 1\0\0\81Á9\ 2\0\0d\8a\11\80â\7fd\88\11\8b\88!\ 1\0\0\81ÁÀ\ 2\0\0d\8b\11¾ÿÿ¿ÿ#Öd\89\11\8b\88!\ 1\0\0\81ÁÑ\ 2\0\0fd\8b\11»\ 3\7f\0\0f#Ófd\89\11\8b\88!\ 1\0\0\81ÁÑ\ 6\0\0fd\8b\11»ÿó\0\0f#Ófd\89\11\8b\88!\ 1\0\0\81Á\80\ 1\0\0d\8a\11\80âòd\88\11\8b\88!\ 1\0\0\81Áa\ 5\0\0d\8a\11\8aÚ²þ"Úd\88\19\8b\88!\ 1\0\0\81Áe\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Ái\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Ám\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Áq\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Áu\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Áy\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81Á}\ 5\0\0d\8a\19"Úd\88\19\8b\88!\ 1\0\0\81ÁH\ 2\0\0d\8b\19\81Ë\0\00\0d\89\19\8b\88!\ 1\0\0\81ÁÀ\ 2\0\0d\8b1\81æÿÿïÿd\891\8b\88!\ 1\0\0\81Á\92\ 5\0\0d\8a\19\80Ë\1ed\88\19\8b\88!\ 1\0\0\81Á\15,\0\0d\8a\19\80Ë\ 3d\88\19\8b\88!\ 1\0\0\81Á,\ 6\0\0d\8b1\81æÿÿÿ÷\81Î\0\0\0\ 4d\891\8b\88!\ 1\0\0\81ÁH\ 2\0\0fd\8b\0`\0\0f\vófd\891\8b\88!\ 1\0\0\81Á`\ 2\0\0d\8b1\81Î\0\0\ 1\0d\891\8b\88!\ 1\0\0\81ÁÀ\ 2\0\0d\8a\19\80Ë\10d\88\19\8b\88!\ 1\0\0\81ÁÐ\ 2\0\0d\8b1\81Î\0\0\0\ fd\891\8b\88!\ 1\0\0\81Á\89\ 1\0\0d\8a\19\80Ë\ad\88\19\8b\88!\ 1\0\0\81Á\92\ 5\0\0d\8a\19\80ËÀd\88\19\8b\88!\ 1\0\0\81Á$\ 1\0\0d\8a\19\80Ë\ad\88\19\8b°!\ 1\0\0\8dO\80\81Æ*\ 1\0\0fd\89\ e\80xO\0\8dw,u\f\8b\88!\ 1\0\0\ 3ÎdÆ\ 1\10\80xO\ 1u\14\8aH\19þÁ"Ê\8b\90!\ 1\0\0þÁ\ 3Öd\88
+\8b\88!\ 1\0\0\81ÁÀ\ 2\0\0fd\8b\11¾à\ 1\0\0f\vÖfd\89\11\80xO\ 1u\1f\8b\88!\ 1\0\0\81ÁÄ\ 2\0\0fd\8b\11¾ÿý\0\0f#Öf\v×fd\89\11\ f¶HO\83é\0\ f\84\84\0\0\0I\8b\88!\ 1\0\0t\11\81Á\89\ 1\0\0d\8a\11\80Ê\18éÂ\0\0\0\81Á\89\ 1\0\0d\8a\11\80â÷\80Ê\10d\88\11\8b\88!\ 1\0\0\81Á\93\ 1\0\0d\8a\11\80Ê\rd\88\11\8b\88!\ 1\0\0\81Á\12\ 2\0\0fd\8b\11¾?
+\0\0f\vÖfd\89\11\8b\88!\ 1\0\0\81ÁH\ 2\0\0d\8a\11\80Ê\ 3d\88\11\8b\88!\ 1\0\0\81Áh\ 2\0\0\ 1êëk\8b\88!\ 1\0\0\81Á\89\ 1\0\0d\8a\11\80Ê\18d\88\11\8b\88!\ 1\0\0\81Á\93\ 1\0\0d\8a\11\80Ê\rd\88\11\8b\88!\ 1\0\0\81Á\12\ 2\0\0fd\8b\11¾?
+\0\0f\vÖfd\89\11\8b\88!\ 1\0\0\81ÁH\ 2\0\0d\8a\11\80Ê\ 3d\88\11\8b\88!\ 1\0\0\81Áh\ 2\0\0\ 1J\8b\88!\ 1\0\0\81ÁÄ\ 2\0\0d\8a\11\80â\9fd\88\11\8b\80!\ 1\0\0\ 5\92\ 5\0\0fd\8b\bº!\ 3\0\0f\vÊfd\89\b_^[ÃU\8bì\83ì\1cVWj\ 6\1c×ýÿ\8d}äó¥\8bM\b\80yO\ 1\ f\ 1\ f¶Q\14¤\8d\ 4\82\8b\ 4\85\18ìýÿ_\89Eî^u\1e\8aA\14\8aÐ\80ê\ 2\ f¶Ò,\ 5Áâ\b\ f¶À\vÐÁâ\b\83Ê\ 1\89Uîj\19\8dEäPÿ±!\ 1\0\0èLC\0\0\83Ä\f3ÀÉÃU\8bì\83ì,SV\8bu\b\ f¶F\ 1\8a\ e\8a^\18\ 3À\8aV\14\89\ f·\80PÞýÿ\89\ f¶Á\8d\f\0\89\ f·\81LÞýÿ\89\8aF\16\88\8a^\1a\88\8aF\17W\ f¶~O\83ï\0\88\8a^\e\88\8aF\15\88\8a^\1c\88\8aF\19\88Uÿ\88]ùt?Ot\b\83Èÿ鯠 \0\0\ f¶új\f[+ß\83û\ 4ÆE\v\ 5ÆEõ\aÆEø\a}\ 6ÆEü\ 4ë\v²\f*Uÿ\88\8aUÿ\8aÚ\80Ã\ 2\88]÷ë\1d\8aÚþË\88Uü*Ó\80Â\a\88\8aUÿ\88]\vÆEõ\ 6ÆEø\ 6þÀ$þ\88\8aE\v\88\86Ö\0\0\0,\ 3\80ê\ 3Àà\ 4
\8b\96!\ 1\0\0\81Â@\ 2\0\0d\88\ 2ÆEû\0ÆEþ\ 1ÆEý\0\8dF\r\8d~\10ÇEà\ 2\0\0\0\80?\ 1\80\ 1u\bÆEû\ 1ÆEþ\0\ f¶Pú\ f\18\ 3Ó\83ú\ 1~\ 4ÆEý\ 1j\ 2Z\ 3ú@ÿMàuÐ\8b\86!\ 1\0\0\ 5o\ 2\0\0d\8a\18\80Ë\ 3d\88\188Uùv\ 4\ f¶Uùf\ f¶E\vf\ f¶}óf\ 3øf\83Ç\ 4f\89EìfÁç\ 6\8d\ 4\95\b\0\0\0f\vø\8b\86!\ 1\0\0f\83Ï\ 1\ 5P\ 2\0\0fd\898\ f¶Eþ\ f¶Uò\ f¶}ôÁà\ 4\vÂ\ f¶UûÁà\ 4\vÇ\ 3×Áà\rÁâ  \vÂ\ f¶Uú3Û\vÂ8]þu.\ f¶VO+Ót\15J\ f\85¢þÿÿ\ f¶Uý\ f\94
+¨ìýÿë\f\ f¶Uý\ f\94
+dìýÿÁâ\16\vÂ\8b\96!\ 1\0\0\81ÂR\ 2\0\0fd\89\ 2\8b\96!\ 1\0\0Áè\10\81ÂT\ 2\0\0fd\89\ 28^Ou2\8b\86!\ 1\0\0\8d\90,\ 6\0\0fd\8b\80T\ 2\0\0¿À\ f\0\0f#Çfd\8b\7fà\0\0f\ 3Àf#ûf\vÇfd\89\ 2\8aEøf\ f¶Uö\f@f\ f¶ÀfÁâ\bf\vÂf\ f¶U÷fÁà\ 4f\vÂ\8b\96!\ 1\0\0\81ÂV\ 2\0\0fd\89\ 2\ f¶Eö\ f¶Uü\ f¶}ñÁà     \vÂ\ f¶U\v\8dT:\ 4Áâ\fÁà\b\vÂ\ f¶Uõ\vÂ\8b\96!\ 1\0\0\83È@\81ÂX\ 2\0\0d\89\ 2f\ f¶Eûf\ f¶Uôf\ 3º\0\ 2\0\0f\ f¯Âf\ f¶Uúf\vÂ\ f·Ð\8b\86!\ 1\0\0\ 5[\ 2\0\0d\88\10\8b¾!\ 1\0\0\8bÂÁè\b\81Ç\\ 2\0\0d\88\a\8aFO<\ 1u\ 5ºþ\ 3\0\0\84Àu\ 5ºÈ\0\0\0\8b\86!\ 1\0\0\ 5`\ 2\0\0fd\8b\ 1ü\0\0f#ûf\vúfd\898\8b¾!\ 1\0\0\81Ç]\ 2\0\0d\8a\a
+Eðd\88\a\8b\96!\ 1\0\0¸\10#\0\0\81ÂD\ 2\0\0fd\89\ 2\8b¾!\ 1\0\0\8a\91àïýÿ\81ÇF\ 2\0\0d\8a\a\8aÚ$áÀã\ 2
\f\ 1d\88\a\8b\86!\ 1\0\0\ f¶}ÿ\ 5H\ 2\0\0\89Eàfd\8b\0f\8bØ\ f¶Ò¸ÿà\0\0f#Ø\ f·\81TÞýÿ\8dT:\a\ f¯Â\8b\89\ f·ºXÞýÿ3Ò÷÷Áà\bf\vØ\8bEàfd\89\18\8aE\v<\ 2\ f\97E\v*E\v»\0þ\0\0þÈf\ f¶À\ f·ø\8b\86!\ 1\0\0\ 5M\ 2\0\0fd\8b\10f#Óf\ f¶]\vfÁã\ 4f\vßfÁã\ 4f\vÓf\v×fd\89\10\8b\96!\ 1\0\0¸\85\15\0\0\81Â^\ 2\0\0fd\89\ 2\8b\86!\ 1\0\0\ 5e\ 2\0\0d\8a\10\80âàd\88\10\8b\86!\ 1\0\0\ 5e\ 2\0\0fd\8b\10¿ÿÀ\0\0f#×f\ f¶}ÿf\83Ç   »\0\ 1\0\0f\ f¯ûf\v×fd\89\10\8b\86!\ 1\0\0\ 5h\ 2\0\0d\8b\10\ f·¹4àýÿ\81Ï\0À\ f\0\81âÿ\0ÀÿÁç\b\v×d\89\10\8b\86!\ 1\0\0\ 5l\ 2\0\0\0\0\8b\86!\ 1\0\0\ 5¸\ 2\0\0fd\8b\10¿\0À\0\0f#×f\v\91\Þýÿfd\89\10\8b\86!\ 1\0\0\ 5t\ 2\0\0d\8a\b²\ 1
+Êd\88\b\8b\86!\ 1\0\0\ 5H\ 2\0\0d\8b\b\81áÿÿÿ\96\81É\0\0\0\16d\89\bf\8bEäf9Eèv\17\8b\86!\ 1\0\0\ 5H\ 2\0\0d\8b\b\81É\0\0\0\ 1d\89\b\8b\86!\ 1\0\0\ 5L\ 2\0\0d\8a\b\80áüd\88\b\8b\86!\ 1\0\0\ 5M\ 2\0\0fd\8b\b¿ÿ\83\0\0f#Ï\8b\83Ç
+Áç
+f\vÏfd\89\b8VOu&\8b\86!\ 1\0\0\ 5\14\ 1\0\0\0B\8b\86!\ 1\0\0\ 5x\ 1\0\0d\8a\b\80áµ\80É5d\88\b\8b\86!\ 1\0\0\ 5`\ 2\0\0d\8b\b\81áÿÿ÷û\81É\0\0\ 6\ 3d\89\b\8b\86!\ 1\0\0\ 5m\ 2\0\0fd\8b\b¿_å\0\0f#Ï¿_e\0\0f\vÏfd\89\b¿\0\0\028VOu\ 5¿\0\0\06\8b\86!\ 1\0\0\ 5h\ 2\0\0d\8b\b\8bß\81áÿÿÿÏÁã\b\vËd\89\b\8b\86!\ 1\0\0\ 5l\ 2\0\0d\8a\b\8bß\80á\ 5Áë\18
+Ëd\88\b8VOu\14\8b\86!\ 1\0\0\ 5À\ 6\0\0d\8a\b\80áþd\88\b\8b\86!\ 1\0\0\ 5q\ 2\0\0d\8a\b\80á\7fd\88\b\8b\86!\ 1\0\0\ 5t\ 2\0\0d\8a\b\80áùd\88\b\8b\86!\ 1\0\0\ 5x\ 2\0\0\0\81\18\14\88\8b\86!\ 1\0\0\ 5|\ 2\0\0fd\8b\b¿Aþ\0\0f#Ïf\83ÉAfd\89\b\ f¶FO\83è\0t\ eH\ f\85îùÿÿ¿à?\0\0ë\ 5¿à\1f\0\0\8b\86!\ 1\0\0\ 5%\ 1\0\0fd\8b\bf\vÏfd\89\b\8b\86!\ 1\0\0\ 5'\ 1\0\0\0@\8b\86!\ 1\0\0\ 5(\ 1\0\0d\8a\b\80áý\80É\ 5d\88\b\8b\86!\ 1\0\0\ 5)\ 1\0\0d\8a\b\80É\1fd\88\b\8b\86!\ 1\0\0\ 5/\ 1\0\0d\8a\b\8a^\ 4\80áìÀã\ 4
\80ÉÌd\88\b\8b\86!\ 1\0\0\ 5\8c\ 1\0\0d\8a\b\80áýd\88\b\8b\86!\ 1\0\0\ 5(\ 2\0\0d\8a\b\80áú\80É\ 2d\88\b\8b\86!\ 1\0\0\ 5A\ 2\0\0fd\8b\b¿\13ü\0\0f#Ïf\83É\10fd\89\b\8b\86!\ 1\0\0\ 5 \ 1\0\0d\8b\b\81áÿÿO\0\81É\0\0\80Pd\89\b\8b\86!\ 1\0\0fd\8b¸R\ 2\0\0\8d\88-\ 1\0\0fd\8b\80T\ 2\0\0f\8bßfÁë\r\80ã\aÀà\ 3
+Ød\8a\ 1Àã\ 4$\ f
+Ød\88\19\8b\86!\ 1\0\0\8d\88-\ 1\0\0d\8b\80X\ 2\0\0Áè\11$\ fd\8a\19\80ãð
+Ãd\88\ 1\8b\86!\ 1\0\0\ 5.\ 1\0\0d\8a\b\80á\ 3d\88\b\8b\86!\ 1\0\0\ 5.\ 1\0\0d\8a\b\80áüd\88\b\8b\86!\ 1\0\0\ 5/\ 1\0\0d\8a\b\80áüd\88\b\8b\86!\ 1\0\0\ 5A\ 2\0\0d\8a\b
+Êd\88\b\80>\0u!\80~O\0u\e\8b\86!\ 1\0\0\ 5\ 1\0\0fd\8b\b¿\0\ 2\0\0f\vÏfd\89\b¹@\ 5\0\0ÇE\b\b\0\0\0\80~\ 2\0u\1e\8b\86!\ 1\0\0\8b\ 3Ád\8b8\81çÀÀÀÀ\v<\9dxÞýÿd\8988V\ 2u\1a\8b\86!\ 1\0\0\ 3Ád\8b8\81çÌÌÌÌ\81Ï\f\f\f\fd\8988VOu\1a\8b\86!\ 1\0\0\ 3Ád\8b8\81çÔÔÔÔ\81Ï\14\14\14\14d\898\83Á\ 4ÿM\bu\96\8b\86!\ 1\0\0\8b\ 5H\ 2\0\0d\8b\b\81áÿÿðÿBÁâ\10\vÊd\89\b\83e\b\0¸`\ 5\0\0ÇEìäïýÿ)EìÇEèåïýÿ)EèÇEäæïýÿ)EäÇEàçïýÿ)EàÇEÜ\b\0\0\0\8b\8e!\ 1\0\0\8b\ 3Èd\8a\11\80âÀ
+\14\ad\88\11\8b\8e!\ 1\0\0\8b\8d¹\8c\ 5\0\0\8bM\b\89}Ôfd\8b?f\ f\1c\ 3j\ 3ZÓâfÓã\8bMÔ÷Òf#úf\vûfd\899\8b\8e!\ 1\0\0\81Á\88\ 5\0\0\89MÔfd\8b   f\8bù\8bMäf\ f\1c\ 1\8bM\bfÓã\8bMÔf#úf\vûfd\899\8b¾!\ 1\0\0\81Çú\ 5\0\0fd\8b\ ff\8bÙ\8bMàf#Úf\ f\14\ 1\8bM\bfÓâf\vÚfd\89\1f\83E\b\ 2\83À\ 4ÿMÜ\ f\85Hÿÿÿ\8b\86!\ 1\0\0\ 5ð\ 5\0\0d\8a\b\80áþd\88\b\8b\86!\ 1\0\0\ 5ð\ 5\0\0d\8a\b\80É\ 2d\88\b\8b\86!\ 1\0\0\ 5ð\ 5\0\0d\8a\b\80É\ 4d\88\b\8b\86!\ 1\0\0\ 5À\ 2\0\0d\8b\b\81É\0\ 4\f\0d\89\b\8b¶!\ 1\0\0\8d\86\94\ 5\0\0d\8b\b\81É\0\0\0\80d\89\b3À_^[ÉÃU\8bì\83ìDVWj\bY¾8×ýÿ\8d}àó¥j       Y¾X×ýÿ\8d}¼ó¥\8bu\b\8aV\ 2\84Òul\ f¶F\ f\8bÈÁá\ 4\18\8b¹|×ýÿ\89\8b¹\80×ýÿ\89\8b¹\84×ýÿ\8b\89\88×ýÿ\89Müf\8b\88|Øýÿf\89M¿f\8b\88\80Øýÿf\89MÄf\8b\88\84Øýÿf\89\8b\88\88Øýÿ\89\8b\88\8cØýÿ\8b\80\90Øýÿ\89\89\89\80ú\ 1\ f\85«\0\0\0\8aV\ f\ f¶Â\8bÈkÀ\18Áá\ 4\8b¹üÙýÿ\89\8b¹\0Úýÿ\89\8b¹\ 4Úýÿ\8b\89\bÚýÿ\89Müf\8b\88LÚýÿf\89M¿f\8b\88PÚýÿf\89MÄf\8b\88TÚýÿf\89\8b\88XÚýÿ\89\8b\88\Úýÿ\8b\80`Úýÿ\89\89\89\80ú\ 3s8\80~\10\0t2\80~\ 5\0t\17ÇEç\ 1\00\0ÇEî\ 1\ 1\0\0ÇEõ\ 2\0\ 4\0ë\15ÇEç\ 1\0\10\0ÇEî\ 1\0\0\0ÇEõ\ 2\0\ 2\0\8dEàPÿ¶!\ 1\0\0è¹7\0\0j$\8dE¼Pÿ¶\1d\ 1\0\0è¨7\0\0\83Ä\18_3À^ÉÃV\8bt$\b\80~O\ 1\ f\85Ò\0\0\0\80¾\e\ 1\0\0\ 1Wuc\8b\86!\ 1\0\0\ 5¨\ 1\0\0d\8a\b\80É\ 2d\88\b\8b\86!\ 1\0\0\ 5Ú\ 5\0\0d\8a\b\80á\7fd\88\b¿¸\v\0\0Wè$2\0\0\8b\86!\ 1\0\0\ 5¨\ 1\0\0d\8a\b\80áýd\88\b\8b\86!\ 1\0\0\ 5Ú\ 5\0\0d\8a\b\80á\7fd\88\bWèö1\0\0YY\8b\86!\ 1\0\0\ 5¨\ 1\0\0d\8a\b\80áýd\88\b\8b\86!\ 1\0\0\ 5Ú\ 5\0\0d\8a\b\80É\80d\88\b¿L\1d\0\0WèÁ1\0\0\8b\86!\ 1\0\0\ 5¨\ 1\0\0d\8a\b\80áýd\88\b\8b¶!\ 1\0\0\8d\86Ú\ 5\0\0d\8a\b\80á\7fd\88\b\921\0\0YY_3À^Ã\ f¶D$\ 4\8bL$\b\ 3Á\ f¶P\a\ f¶H \8d\fJ\ f¶P\r\ f¶@\v\8d\fJ\8a\84\88ÐÞýÿÃU\8bì\83ìDSVWj\vY¾ÜÚýÿ\8d}¼ó¥\8bM\b\8b\81\1d\ 1\0\0\89Eìfd\8b@R\83\0\83\0\ f·À\8bÐÁè\b\83à\ 3f\ f\80 ÛýÿÁê\ 4\ f·Ø\ f·\81Ñ\0\0\0\83â\ f\ f·4U\fÛýÿ\ f·\91Ï\0\0\0\89\ f·\81Ã\ 1\0\0¹\0\10\0\0\8bù+ú;ør\ 2\8bø\8bÐ+ׯE\v\0\83ú@v$\83àÀ\83çÀÆE\v\ 1\89Mü;Ár\ 5\89Eüw\ 2\8bÈ\8bUü+Ï\8dL\11À\89\80}\v\0\89Eôt     \8b\83Á@\89\ f·Ö\8bÏ+Ê\ f·ó\ f·]ð\8bÑ+Ö\8bòÁç\ 4Áè\ 6\80}\v\0f\89}¿f\89EÄt\1c\8b\80\7f\80\7fÁè\ 6f\89\8bEøÁè\ 6f\89EÎf\8bEôf\89EÓj.\8dE¼PÿuìÁá\14Áâ\14Áæ\14\89\89\89uæèd5\0\0\83Ä\f_^3À[ÉÃU\8bì\83ì\fSV\8bu\bW3ÿ\8dF\10\89¾·\ 1\0\0\89\89E\b\8bE\b\808\0t.\8aÃÐè\ f¶ÀVPèkþÿÿYY\8bÏÑé\80|1 \ 1\ f¶Àu\ 5\r\80\0\0\0\8bMüÓà        \86·\ 1\0\0\83\bþÃGÿE\b\80û\ 4\8b\86!\ 1\0\0\8b¾·\ 1\0\0\ 5\b\ 2\0\0\89}ôd\8982Ò\83e\b\0\8dF\10ÇEü\ 4\0\0\0\808\0\8bM\b³\ 1Òã
+ÓÿE\b@ÿMüué\8b\86!\ 1\0\0\ 5b\ 2\0\0d\8a\b\80á\ fÀâ\ 4
+Êd\88\b\80~\10\ 1u\ 6\80~\12\ 1t\14\8b\86!\ 1\0\0\ 5`\ 2\0\0d\8a\b\80É\ 1d\88\b\8b\96!\ 1\0\0\8dF\10\81Â\0\ 2\0\0\89M\b\89EüÇEø\ 4\0\0\0\8b\808\0t)\8bÇ\8b}\bÓèÑï\8d¼~Å\ 1\0\0\83à\7f\ 6f\ f\80\85Þýÿ\ 3ØÁà\ 6f\ 1\a\8b}ôfd\89\1aBBÿE\bÿEü\83Á\bÿMøu»\80~\ 3\ 1u\14f\83û v\ eÇE\b\ 1\0\0\0\8bE\b\85ÀuùÁã\ 6_f\89\9eÃ\ 1\0\0^3À[ÉÃ\8bL$\ 4\8b\81!\ 1\0\0\83À@d\8a\10\80Ê\ 2d\88\10\80¹\e\ 1\0\0\ 2t\18\8b\89!\ 1\0\0\8d\81`\ 2\0\0d\8b\b\81É\0\0\0\bd\89\b3ÀÃU\8bì\83ì\1cSV\8bu\b3ÛW\88]ÿ8^O\ f\85¸\0\0\0f\ f¶F\18f\ f¶N\14fHfÁà\ 5f\vÁfÁà\ 4f\83È\v\ f·À\8d~\10\89EèÇEô\ 4\0\0\08\1ft\f8^\12t\aÇEôD\0\0\0\v\0\0è'.\0\0Y\89}øÇEì\ 4\0\0\0\8bEø8\18tYþEÿ\ f¶}ÿ\8aEÿOÁç\eþÈ\88Eä¸$Ûýÿ\89E\bÇEð\f\0\0\0ë\ 3\8bE\b\ f·H\ 1\8a\0<\ 6t        <\18u\b\vMôë\ 3\vMèS\ f·ÉQPWÿuäVè\b/\0\0\83E\b\ 3\83Ä\18ÿMðuËÿEøÿMìu\98\80~O\ 1\ f\85à\0\0\0\8dF\10\89]\b\88\89\8bEô8\18\ f\84¹\0\0\0þEÿ\ f¶}ÿSSOj\ 2Áç\eWÿuøVèº.\0\0\v\0\0èp-\0\0\ f\86Ö\0\0\0\8d\ 4ÅØÿÿÿ\89E\b\81M\b\0\ 4\0\0Sÿu\bj(WÿuøVè\88.\0\0SSj8WÿuøVèz.\0\0\83ÄLÇE\b\11\0\0\0Áe\b\ 2\83M\b\ 2Sÿu\bj\18WÿuøVèX.\0\0\ f¶F\18\ f¶N\14\83è\ 4Áà\ 5\83é\ 4\vÁSÁà\ 4\r\b\11\0\0Pj\ 6WÿuøVè/.\0\0Sh\0\ 4\0\0j
+WÿuøVè\1d.\0\0\83ÄHþEøÿEô\80\ 4\ f\82,ÿÿÿ_^3À[ÉÃU\8bìQV\8bu\b\80¾\e\ 1\0\0\ 2\ f\85½\0\0\0S3Û8\9e\1c\ 1\0\0u\14j\ 1SSSSVè×-\0\0\83Ä\18é\9d\0\0\0\8b\86!\ 1\0\0\ 5`\ 2\0\0d\8b\b\81É\0\0\0\bd\89\b\80~O\ 1u@W\88]\v\88\8d~\108\1ft\1f\ f¶E\vSh\0\ 4\0\0j
+Áà\ePÿuüVè\8b-\0\0\83Ä\18þE\vþEüG\80\ 4rÓj\ fè4,\0\0Y_\8b\86!\ 1\0\0\ 5q\ 2\0\0d\8a\b\80É\ ed\88\b\8b\86!\ 1\0\0\ 5q\ 2\0\0d\8a\b\80áÏd\88\b\8b¶!\ 1\0\0\8d\86h\ 2\0\0d\8b\b\81É\0\0\0Àd\89\b[3À^ÉÃ\8bD$\ 4\8b\88!\ 1\0\0\8d\91t\ 2\0\0\ f¶H\ 1S\8a\18V\ f¶ó\8d\fNd\8b2W\ 3É\ f¶¹´ìýÿ\ f\89µìýÿÁç\ 5\vù\81æÿ\0üÿÁç\b\v÷d\892\8b\88!\ 1\0\0\81Át\ 2\0\0d\8a\11\80â\7fd\88\11\8b\88!\ 1\0\0\81Ál\ 2\0\0d\8a\11\80Ê\ 1d\88\11\80¸\e\ 1\0\0\ 2t+\8b\88!\ 1\0\0\81Áq\ 2\0\0d\8a\11\80Ê\ ed\88\11\8b\80!\ 1\0\0\ 5q\ 2\0\0d\8a\b\80áÏd\88\bë\13\8d°\1c\ 1\0\0\ 6\0èwþÿÿYÆ\ 6\ 1_^3À[Ã\8bD$\ 4\80¸\e\ 1\0\0\ 2t\17\8b\80!\ 1\0\0\ 5h\ 2\0\0d\8b\b\81É\0\0\0Àd\89\b3ÀÃU\8bì\83ì0SV\8bu\b\8aF\ 3\88\ f¶À\ f·\ 4E\1cíýÿ\89\8a\ 6\88Eÿ\ f¶À\89E\bW\8d<\0\ f·\87\88Ûýÿ\89\ f·\87TÞýÿ\89EÔkÀd\99jn[÷û\8aN\ 1\88\ f¶É\ 3É\ f·À\89\ f·\81XÞýÿkÀd\99÷û\83\0\ f·À\89\8bE\b\8d\1c\ 1\8a\8bHÛýÿ\ f\80\80Ûýÿ\88\ f·\8f\84Ûýÿ\89\8dFX\89MØÆE\v\0\89Eðf\ f¶E\v\ f·Uøf\ 3À\ f·È\ f·FcÓè\89\83à\ 3\ f¯Â\ f·VeÓê\ f·Mø\83â\ 3\ f¯Ñ\ f·NaÑêÁè\ 2\ 3Â\8bÑ\8bMäÓê\ f·Mø\83â\ 3\ f¯Ñ\8b\ f¶ \ f¯Mè\ 3Â\ 3Á9Eìw\ 3\89EìþE\vÿEð\80}\v\br\94\8b\8e!\ 1\0\0d\8a\81W\f\0\0\89Mä<ÿu\ fd\8a\81\b\f\0\0ÆE\v\ 1\84Àx\ 4ÆE\v\0d\ f\89\88\ 1\0\0\8a\87áïýÿ\ f\97àïýÿ\ f¶~`Ñé\83á\a\ f\89`Þýÿ\ 2È\ 3×\ f¶}\v\ 3×\ f¶À\83á\a\8d\fQ+È\8dD         \ f·Mø\ f¯Á\ f·MÜ\99\83â\ 3\ 3Â\ f·Uà\ 3UèÁø\ 2\ 3Ð\ 3Ê\ 3\ 3\80¾.\ 1\0\0\0t\a\8bEÔÑè\ 3È\80\0u0\80}ÿ\ 1u\12\80\ 1u\f\80~\14\ 5u\ 6\81é¾
+\0\0\80}ÿ\0u\12\80\0u\f\80~\14\ 5u\ 6\81é8\a\0\0\80\ 1u\18\80}ÿ\0u\12\80\0u\f\80~\14\ 5u\ 6\81é\f\f\0\0\80\0ÆE\v\0vA\ f¶EükÛ
+\8d\81ÃLÛýÿ\89\ f·\ 3kÀd\99jn_÷ÿ\ f·}Ð\8bÑ+Ð\8bÂ3Ò÷÷þÈ\88\ 6:E\vv\ 3\88E\vCCFÿMèuÒ\8b\ 5H\ 2\0\0fd\8b\bºÿà\0\0f#Êf\ f¶U\vfÁâ\bf\vÊfd\89\b_^3À[ÉÃU\8bì\83ìpS\8b]\b\8b\83!\ 1\0\0\ 5F\ 2\0\0d\8a\bV\80É\ 1d\88\bWÆEÿ\0\8b\83!\ 1\0\0\ 5l\ 2\0\0d\8a\b\80É\ 1d\88\b\8b\83!\ 1\0\0\ 5 \ 1\0\0d\8b\b\81áÐCÿÿ\81ÉÐC\ f\0d\89\b\8b\83!\ 1\0\0\ 5\89\ 2\0\0\0\ 2\8b\8b!\ 1\0\0¸\ 4\b\0\0\81Á\8a\ 2\0\0fd\89\ 1\8b\8b!\ 1\0\0¸\10 \0\0\81Á\8c\ 2\0\0fd\89\ 1\8b\83!\ 1\0\0\ 5\8e\ 2\0\0\0@\8b\8b!\ 1\0\0¸\1c     \0\0\81Á\90\ 2\0\0fd\89\ 1\8b\83!\ 1\0\0\ 5\92\ 2\0\0\0ò\8b\83!\ 1\0\0\ 5A\ 2\0\0d\8a\b\80É\ 1d\88\b\8b\83!\ 1\0\0\ 5C\ 2\0\0d\8a\b\80É\ 1d\88\b\8b\83!\ 1\0\0\ 5r\ 2\0\0fd\8b\bº\0\ 1\0\0f\vÊfd\89\b\8b\83\1d\ 1\0\0j\ e\ 5ð\0\0\0\8cÛýÿ\8d}\90ó¥d\8a\b\80É\ 1d\88\bj8\8dE\90Pÿ³!\ 1\0\0è\92,\0\0\8b\83\1d\ 1\0\0\ 5ð\0\0\0d\8a\b\80áþ\83Ä\fd\88\b2ÒÆE\v\03ÿ\8ds\10ÇEø\ 4\0\0\0\80>\ 1u1\8b\83!\ 1\0\0þE\v\ 5\b\ 2\0\0d\8b\0\8bÏÓè$\7f\ f¶ÀkÀ\ 6\8a\80\85Þýÿ\84Òu\ 2\8aÐ:Ât\ 4ÆEÿ\ 1F\83Ç\bÿMøuÁ\ f¶M\v2ÀIt'It\15It!Iu \80}ÿ\ 1\ f\95ÀþÈ$À\ 4¤ë\11\80}ÿ\ 1\ f\95ÀþÈ$@\ 4\ 2°d\8b\8b!\ 1\0\0\8d±\11\ 1\0\0d\8a\ e\80á\ 32Èd\88\ e\8b\83!\ 1\0\0\ 5Ð\0\0\0d\8b\b\81áÿÿÿ\7fd\89\b\80{O\ 1u\17\8b\83!\ 1\0\0\ 5À\ 2\0\0d\8b\b\81É\0\0\0\80d\89\b\80{\ 3\ 1j\ f^u \8b\83!\ 1\0\0\83À(d\890\8b\83!\ 1\0\0\ 5Ä\ 2\0\0d\8a\b\80É\ 1d\88\b\80{\ 3\0j\fZu9\80{\ 1\ 1u\13\80;\0u\ e\8b\83!\ 1\0\0\83À(d\89\10ë \8b\83!\ 1\0\0\83À(d\890\8b\83!\ 1\0\0\ 5Ä\ 2\0\0d\8a\b\80É\ 1d\88\b\8b\83!\ 1\0\0\83À<d\8b\b\81áÿÿÿñd\89\b\8b\83!\ 1\0\0\83À@d\8b\b\81áÿÿ÷ÿ\81É\0\0\ 4\0d\89\b\80{O\ 1u\14\8b\83!\ 1\0\0\ 5Ä\ 2\0\0d\8a\b\80É\ 1d\88\b\8aC\ 3\84Àu\f\8bʾ¼ìýÿ\8d}Èó¥<\ 1u\f\8bʾììýÿ\8d}Èó¥\ f\v\ f¶C\ 1\8d\ 4A\8b\8b!\ 1\0\0\f\8bD\ 5È\81Á\b\a\0\0d\89\ 1\ f\v\ f¶C\ 1\8d\ 4A\8b\8b!\ 1\0\0\f\8bD\ 5Ì\81Á\f\a\0\0d\89\ 1\ f\v\ f¶C\ 1\8d\ 4A\8b\8b!\ 1\0\0\f\8bD\ 5Ð\81ÁÜ\ 6\0\0d\89\ 1\8b\9b!\ 1\0\0\8dC@d\8a\b\80áýd\88\b_^3À[ÉÃU\8dl$\8c\81ì¬\0\0\0VW3Àj
+Yf\89E4f\89E6f\89E8f\89E:jDXf\89E<¸\11\11\0\0¾ÄÛýÿ\8d}Èó¥\8bÈf\89M>3Éf\89M@\8bÈf\89MB3Éf\89MDf\89MFf\89MHf\89MJjDYf\89ML\8bÈf\89ER3Àf\89ETj\11Xf\89EV3Àf\89EXf\89MN3Éj\11Xf\89EZ3Àf\89MPf\89E\¸DD\0\0\8bÈf\89M^3Éf\89M`\8bÈf\89Mb3Éf\89Mdf\89Mff\89Mhf\89Mjf\89Ml\8bÈf\89Er3Àf\89Mnf\89Eôf\89Eöf\89Eøf\89Eúj\ 43ÉXf\89Mpf\89Eü¸\ 5\ 1\0\0\8bÈf¥f\89Mþ3Éf\89M\0¤\8bÈf\89E\103Àf\89E\14@f\89M\ 23Éf\89E\163Àf\89M\ 4f\89M\ 6f\89M\bf\89M
+f\89E\18¹\84\0\0\0f\89M\fj!¹\95\11\0\0\8bÑXf\89E\1a3Àf\89M\12f\89E\1c¹\ 5\ 4\0\0\8bÁf\89E\1e3Àf\89E ¸eD\0\0f\89U\ e\8bÐf\89U"3Òf\89M.3Éf\89E2\8bE|f\89U$f\89U&f\89U(f\89U*f\89U,\8aPOf\89M0\ f¶Ê\83é\0t\18I\ f\88\ 1\0\0u\15\ 3Éf\8bt\r\14f\8bL\rôë\13\ f\88\ 1\0\0\ 3Éf\8bt\rTf\8bL\r4\80x\ 2\0_f\89uËf\89MÐ^u\ 4\80\7f\80ú\ 1u\17\8b\81áh÷\0\0\81Éh\a\0\0\80\7ff\89\8a\b\80ù\ 1u
+\80x\14\ 6u\ 4ÆEç\89\80ú\ 1u\ e\84Éu
+\80x\14\ 6u\ 4ÆEç\89j+\8dMÈQÿ°!\ 1\0\0è-(\0\0\83Ä\f\83ÅtÉÃ\8bL$\ 4\8b\81!\ 1\0\0\ 5\80\ 1\0\0fd\8b\10\0\80\0\0f\vÖÆ\81.\ 1\0\0\0fd\89\10\8b\81!\ 1\0\0\ 5\80\ 1\0\0d\8a\10\80â\7fd\88\10\8b\81!\ 1\0\0\ 5\80\ 1\0\0d\8a\10\80Ê\bd\88\10\8b\81!\ 1\0\0\ 5\80\ 1\0\0d\8a\10\80Ê\ 4d\88\10\8b\81!\ 1\0\0\ 5\80\ 1\0\0d\8a\10\80Ê\80d\88\10\8b\81!\ 1\0\0\ 5\80\ 1\0\0^d\8a\10öÂ\ 4tød\8a\0Àè\ 3$\ 1t\aÆ\81.\ 1\0\0\ 1ÃU\8dl$\8c\81ì\84\0\0\0\8bE|\8a\b\8aP\ 1SV\88M\7f\ f¶ò\ f¶É\8d\fq\8b°!\ 1\0\0\89MpÁá\ 4W\8b¹ôßýÿ\81Æ\ 4\f\0\0d\89>\8b°!\ 1\0\0\8b¹øßýÿ\81ÆP\f\0\0d\89>\8b°!\ 1\0\0\8b¹üßýÿ\81ÆT\f\0\0d\89>\8b°!\ 1\0\0\8b\89\0àýÿ\81Æ,\f\0\0d\89\ e\8b\88!\ 1\0\0\81Á\b\f\0\0d\8a\19\80Ë\80d\88\193É:Ñu3\80}\7f\ 1u-\8b\90!\ 1\0\0\81ÂÔ\ 6\0\0d\88
+\8b\90!\ 1\0\0\81Â\0\a\0\0d\89
+\8b\90!\ 1\0\0\81Â\ 4\a\0\0d\89
+\8aP\ 3:Ñu\rj Y¾ôÞýÿ\8d}ðó¥\80ú\ 1u\rj Y¾tßýÿ\8d}ðó¥\8bMp\8b°!\ 1\0\0Áá\ 5\8bT\rð\81ÆØ\ 6\0\0d\89\16\8b°!\ 1\0\0\81Æà\ 6\0\0d\89\16\8b°!\ 1\0\0\81Æè\ 6\0\0d\89\16\8b°!\ 1\0\0\8bT\rô\81ÆÜ\ 6\0\0d\89\16\8b°!\ 1\0\0\81Æä\ 6\0\0d\89\16\8b°!\ 1\0\0\81Æì\ 6\0\0d\89\16\8b\90!\ 1\0\0\8bt\rø\81Âð\ 6\0\0d\892\8b\90!\ 1\0\0\8bt\rü\81Âô\ 6\0\0d\892\8b\90!\ 1\0\0\8bt\r\0\81Âø\ 6\0\0d\892\8b\90!\ 1\0\0\8bt\r\ 4\81Âü\ 6\0\0d\892\8b\90!\ 1\0\0\8bt\r\b\81Â\b\a\0\0d\892\8b\80!\ 1\0\0\8bL\r\f\ 5\f\a\0\0d\89\b_^3À[\83ÅtÉÃU\8bìQ\80}\18\0\ 1tiV\8bu\10\8b\86!\ 1\0\0þM\18\ 5Ø\ 5\0\0d\8a\b\80áýd\88\bj\ fèU \0\0\8b\86!\ 1\0\0\ 5Ø\ 5\0\0d\8a\b\80É\ 2d\88\bj\ fè: \0\0\8bE\fd\8b\0\89Eüj\ fè* \0\0\8bE\bd\8a\0Àè\ 6$\ 1\83Ä\f:E\14t\ 2\80}\18\0u\9c^\8aÃ[ÉÃU\8bì\8bU\10S\8a\1aV\80û\ 3s6\ f¶M\14\8bE\bþÃ\88\1a\8b\80!\ 1\0\0\ 3Éj\ 3^Óæ\ 5\8c\ 5\0\0fd\8b\10÷Öf#Öf\ f¶ófÓæf\vÖfd\89\10ëm\8bu\fÆ\ 2\0þ\ 6\80>\ fv\ eÇE\10\ 1\0\0\0\8bE\10\85Àuù\8bM\b\8b\81!\ 1\0\0W\ 5H\ 2\0\0d\8b8\ f¶6\81çÿÿðÿÁæ\10\vþd\898\8b\89!\ 1\0\0\8d\81\8c\ 5\0\0\ f¶M\14fd\8b0f\ f\12\ 3Éj\ 3_ÓçfÓâ÷×f#÷f\vòfd\890_^[]ÃU\8bì\83ì,SV\8bu\bW3À\8d}Ô««\8b\86!\ 1\0\0\ 5Ø\ 5\0\0d\8a\b\80áód\88\bÆEýÿ\8b\86!\ 1\0\0\ 5Ü\ 5\0\0d\8a\b\80á\7fd\88\b\83\0\8d\89\8dFXÆE÷\0\89EäÇEì`\ 5\0\0\8b\86!\ 1\0\0\8b\8dL\ 1\ 1\89\8aN\14\88M\v\ 5H\ 2\0\0d\8b\b\ f¶U\v\81áÿÿðÿÁâ\10\vÊÆEÿ\0d\89\bÆEû\0\8b\8b\86!\ 1\0\0j\ 3_Óç\ 5\8c\ 5\0\0fd\8b\103ÛÓã÷×f#×f\vÓfd\89\10\8b\86!\ 1\0\0\8b\ 3Ád\8a\b\80áÀd\88\b\88]þë%\8dEÿP\8dE\vPVèhþÿÿ\83Ä\10\80}\v\ fv\ eÇEÜ\ 1\0\0\0\8b\85Àuùj\ 3SVSÿuðèÉýÿÿ\83Ä\14ÿu÷\84ÀtÄë\ 3ÿu÷\8aE\v\8a]ÿ\88\8dEÿP\8dE\vPVè\1eþÿÿj\ 3j\ 1Vj\0ÿuðè\94ýÿÿ\83Ä$\84ÀtÐ\8a\8b\86!\ 1\0\0\88M\v\ 5H\ 2\0\0d\8b\10\ f¶É\81âÿÿðÿÁá\10\vÑ\88]ÿd\89\10\8b\86!\ 1\0\0\ 5\8c\ 5\0\0fd\8b\bf\8bÑ\8bMèf#×f\ f¶ûfÓçf\v×fd\89\103Ûë=\8a\88EþþÀ\88Eû:\86´\ 1\0\0v       \80¾³\ 1\0\0\0u8\8b\8e!\ 1\0\0\8b\8d<
+d\8a\ f\8aÑ\8a\8eµ\ 1\0\0Òà\80âÀ
+Ðd\88\17j\ 3j\ 1VSÿuðèðüÿÿ\83Ä\14\84Àt®ë     \8a\86´\ 1\0\0\88\8b\86!\ 1\0\0\8b\8a\8d<\ 1d\8a\a\8a\8eµ\ 1\0\0Òâ$À
+Âd\88\aÿu÷\8dEÿP\8dE\vPVè'ýÿÿj\ 33ÿGWVSÿuðè\9cüÿÿ\83Ä$\84Àu?\89\8b\85Àuùë3\8b\86!\ 1\0\0þM\v\ 5H\ 2\0\0d\8b\b\ f¶U\v\81áÿÿðÿÁâ\10\vÊd\89\b\80}\v\0u
+\89\8b\85Àuùj\ 3SVSÿuðèIüÿÿ\83Ä\14\84Àt¹ÿu÷\8dEÿP\8dE\vPVè¬üÿÿ\8b\8a\83\ 4\83\ 2\83Ä\10þE÷ÿEä\88\ 1\8b\8aE\vÿEà²\b\88\ 18U÷\ f\82\8dýÿÿ\8dEÜþÊH\8a\b8Mýv\ 3\88\84ÒuïÆE÷\bÇEè\10\0\0\0\8d\8b\86!\ 1\0\0\83\ 2þM÷\ 5ú\ 5\0\0fd\8b\bf\8bÑ\8bMèj\ 3[ÓãO\8a\ f*Mý÷Óf#Óf\ f¶Ù\8bMèfÓãf\vÓfd\89\10\80\0\8b\86!\ 1\0\0\ 5H\ 2\0\0d\8b\b\8bÑ\8a\ f¶ù\81âÿÿðÿÁç\10\v×d\89\10\8b\86!\ 1\0\0\88N`fd\8b\88ú\ 5\0\0f\89Nafd\8b\88\8c\ 5\0\0fd\8b\80\88\ 5\0\0_f\89Fef\89Nc^3À[ÉÃ\8bD$\ 4\8b\88!\ 1\0\0\81ÁØ\ 5\0\0d\8a\11\80âñd\88\11\8b\88!\ 1\0\0\81ÁØ\ 5\0\0d\8a\11\80Ê\ 2d\88\11\8b\88!\ 1\0\0\81ÁØ\ 5\0\0d\8a\11\80Ê\ 4d\88\11\8b\88!\ 1\0\0\81ÁØ\ 5\0\0d\8a\11\80Ê\bd\88\11\8b\88!\ 1\0\0\81ÁÜ\ 5\0\0d\8a\11\80Ê\80d\88\11\8b\88!\ 1\0\0\81ÁÜ\ 5\0\0d\8a\11\80â\7fd\88\11\8b\80!\ 1\0\0\ 5Ü\ 5\0\0d\8a\b\80É\80d\88\b3ÀÃ\8bD$\ 4\8b\80!\ 1\0\0\ 5\1c\f\0\0fd\8b\bº\0\80\0\0f\vÊfd\89\b3ÀÃ\8bD$\ 4\8b\80!\ 1\0\0\ 5\14\ f\0\0d\8b\b\83É\ 1d\89\b3ÀÃ\8bD$\ 4ö\80\e\ 1\0\0\ 1Vu>\8d\88!\ 1\0\0\8b\11\8d²0\ 1\0\0d\8a\16\80âýd\88\16\8b        d\8b\910\ 1\0\0÷Â\0\0\0\80\81Á´\ 1\0\0fd\8b\11¾ÿÏ\0\0f#Öfd\89\11\8b\88!\ 1\0\0\81ÁÜ\ 5\0\0d\8a\11\80Ê\80d\88\11\8b\88!\ 1\0\0\81Áp\ 1\0\0fd\8b\11¾ùÿ\0\0f#Öf\83Ê   fd\89\11\8b\80!\ 1\0\0\ 50\ 1\0\0d\8a\b\80É\82d\88\b3À^ÃU\8bì\8bE\b\ f\0\8bM\f\8a       \ 3À\8a\90!íýÿ:\88 íýÿw\ e\8bE\10Æ\0\ 1\8bE\14Æ\0\ 1]Ã:Êw\v\8bE\14Æ\0\0\8bE\10ë    \8bE\10Æ\0\ 1\8bE\14Æ\0\0]ÃU\8bì\8bU\10S2ÛV8] t0\8bE\1c\8bu\f\8a
+þM \80ù>w\ 6þÁ\88
\15\808\ 1w\ 6\88\1aþ\0ë
+8\1ew#\88\1aþ\bþ\ 68] uÖÿu\18ÿu\14Rÿu\bèiÿÿÿ\83Ä\103À^[]Ã\83Èÿë÷U\8bì\80\0\8bU\10Vt4\8bE\1c\8bu\f\8a
+þM \80ù\ 1r\ 6þÉ\88
\18\808\ 1r\aÆ\ 2\bë\f\80>\ 1r$Æ\ 2\0þ\ e\80\0uÒÿu\18ÿu\14Rÿu\bè\vÿÿÿ\83Ä\103À^]Ã\83ÈÿëøU\8bì\8bM\14V\8bu\b3ÒW8U\1ct\e\ f¶}\18\ f¶E\10\8d\ 4\87\ f¶ù\8d\ 4\87\ f·\ 4ELíýÿë\1d\80~\ 2\ 1u\ 5j\11\12\ f¶F\ f\ f¶ù\83ç\ 3\ f\84\87ìíýÿÁà\ 2\83È\ 28U\1ct\11:M\18t\a\r\0\10\0\0ë\ 5\r\80\0\0\0RP\ f¶E\fj\18Áà\ePQVè\1f\1a\0\0\83Ä\18_^]ÃU\8bì\83ìLS\8b]\b\8a\vV\8b³!\ 1\0\0d\8a\86\8e\ 1\0\0d\8a\96\ 4,\0\0$?\ f¶ÉiÉ \ 1\0\0\80â?\ 2Â\88Eÿfd\8b\86\80\ 1\0\0fÁè\ f$\ 1\88\8a\81Vàýÿ\88E\v\88\8a\81Wàýÿ\ f¶ÀiÀ\ 1\ 1\ 1\ 1W\8d}¼««\8a\81Uàýÿ\ f¶ÀiÀ\ 1\ 1\ 1\ 1Àm\v\ 4\80\ f\8d}Ü««\8a\81Tàýÿ\ f¶ÀiÀ\ 1\ 1\ 1\ 1\8d}Ô««j\bÆEô\0ÆEõ\ 53À_\8aM\v\88L\ 5Ì\8a\88L\ 5Ä@Ouî\80\0t<j\b\81Æ\94\ 1\0\0\8dEÜ_fd\8b\ eº\7fÿ\0\0f#ʺ@\ 1\0\0f\vÊfd\89\ e\8b\8b!\ 1\0\0\8d±\94\ 1\0\0d\8a\ e\80á?\88\b@OuÐ\8b\83!\ 1\0\0\ f¶u\f\ 5M\ 2\0\0d\8a\0\88EûÁæ\e\8d\89\89EìÇEä\ 2\0\0\0ë\ 3\8buèÆE\vÿë\ 3\8buè3À\8d}´««ÇEð\ 5\0\0\0¸4\124\12d\89\ 6d\89F\ 4j\ 2è\8a\17\0\0\8b\83!\ 1\0\0Yj\b\8d\ 5a\ 5\0\0Yd\8a\10Àê\a\0\17\83À\ 4GIuñÿMðuÇ3öÆEü\0ÇEð\0(\0\03À@\8bÎÓà\84E\v\ f\84+\ 1\0\0\80\0t\17\8d|5Ü\8a\a:Eÿs\a*Eÿ\ 4\ 3*Eÿ\88\a\8b\8aD5´\8a     :Ás&j\ 1\8dD5¼P\8dD5ÄP\8dD5ÌP\8dD5ÜP\8dD5ÔPSèëüÿÿ\83Ä\1cë6v)j\ 1\8dD5¼P\8dD5ÄP\8dD5ÌP\8dD5ÜP\8dD5ÔPSè\1fýÿÿ\83Ä\1c\83øÿu\v\8bΰ\ 1ÒàöРE\v\80\0t\13\8d|5Ü\8a\a\ 2Eÿ\88\a<@r\ 4,@\88\aÆEþ\0\8d|5Ü\8a\ 2\ f¶ÀP\8dD5¼P\8dD5ÄP\8dD5ÌPW\8dD5ÔPSèÞºÿÿ\83Ä\1cþEþ\80\ 4\80\0tM\8b\83!\ 1\0\0\8b\ 3Ád\8b\10\81âÿÿïÿ\81Ê\0\0,\0d\89\10\8b\83!\ 1\0\0\ 3Ád\8b\10\ f¶?\81âÿ\ füÿÁç\f\v×d\89\10\8b\83!\ 1\0\0\ 3Ád\8b\b\81áÿÿßÿd\89\b\80\ 4\83\ 4F\80}ü \ f\82²þÿÿ\80}\v\0\ f\85QþÿÿÿEìÿMä\ f\85<þÿÿj\b\8dC\1f3ö_\8aL5Ô\88Hÿ\8aL5Ü\88\b\8aL5Ì\88H\ 1\8aL5Ä\88H\ 2\8aL5¼\88H\ 3F\83À\ 5Ou×\8aEÿ\8a\88CF\8b\83!\ 1\0\0\ 5M\ 2\0\0d\88\b_^3À[ÉÃU\8bì\83ìPS\8b]\b\80{O\0VW¾ Üýÿ\8d}॥¥\ f\84ü\ 1\0\0\80»Ë\ 1\0\0\0\ f\84ï\ 1\0\0j\f\8dEàPÿ³!\ 1\0\0è\94\1a\0\0\83Ä\fÆE\v\0ÆEìÿ\8aC\ f\84À\ f\84£\ 1\0\0¾\fÜýÿ\8d}Ì¥¥¥\88Eðj\11\8dEÌ¥Pÿ³!\ 1\0\0¤è]\1a\0\0\83Ä\fÆEü\0\ f¶Eü\80|\18\10\0u\ eþEü\80\ 4rìé\r\ 1\0\0þEì\8dC\10ÆEø\0ÆEô\0\8bð\80>\0t\1aj\ 1ÿuüÿuôÿuðÿuøSè\8dûÿÿ\83Ä\18þEøþEôF\80\ 4r×j\ 6Y¾ðÛýÿ\8d}°ó¥\ f¶Müf¥\8bE¸Áè\b\f@\88\ f¶Eð\8a\84\81$íýÿ\88E´j\1a\8dE°Pÿ³!\ 1\0\0èÇ\19\0\0ÿuüÿuìSè´ûÿÿ\83Ä\18\83øÿ\ f\84\0\ 1\0\0\80e¹¿j\1a\8dE°Pÿ³!\ 1\0\0ÆE´\0ÆE¾\0ÇEÆ\ 1XU\0è\8b\19\0\0\8dC\10\83Ä\fÆEø\0ÆEô\0\8bð\80>\0t<\8aEô8Eüu1j\0ÿuüÿuôÿuðÿuøSèÓúÿÿ\ f¶Eøj\0h\0\10\0\0j\ eÁà\ePÿuôSèQ\15\0\0\83Ä0þEøþEôF\80\ 4rµ¸\a\18\0\0f\89EÖj\11\8dEÌPÿ³!\ 1\0\0ÆEÐ\ eè\12\19\0\0\83Ä\fÆEø\0ÆEü\0\8ds\10\80>\0t\1aj\0ÿuüÿuüÿuðÿuøSèdúÿÿ\83Ä\18þEøþEüF\80\ 4r×þE\v\80}\v\ 1\ f\82Eþÿÿj\f\8dEàPÿ³!\ 1\0\0ÆEä\80è¹\18\0\0\83Ä\f3À_^[ÉÃj\ 3Sèi\17\0\0YY\83ÈÿëìU\8bì\83ì4V\8bu\b\80~O\0ÆEý\0\ f\84\\ 2\0\0\80¾Ë\ 1\0\0\0\ f\84O\ 2\0\0\80¾\e\ 1\0\0\ 2u\ 6\8aFF\88\8b\86!\ 1\0\0d\8a\88\ 4,\0\0d\8a\80\8e\ 1\0\0\80á?$?\ 2ÈS\88Mÿ\8dN\1f3ÒWÆEþ\0»\0(\0\0\89\89Uøë\ 6\8b\8b\80¾\e\ 1\0\0\ 2\8aAÿ\88D\15Ô\8a\ 1\8aI\ 1\8d|\15Ì\8dT\15Ü\88
+\8b\89U\b\8b\8aR\ 2\8dL\rä\88\11\8b\8b\8aR\ 3\8dL\rì\88\a\88\11u!\8aMý8Mÿt\19:Ás\ 6\ 4\ 2\ 2Eÿ\88\a<@r\ 4,@\88\aÆE\v\0\8a\ 2E\v\ f¶ÀP\8b\8dL\ 5ìQ\8dL\ 5äQ\8dL\ 5ÜQW\8dD\ 5ÔPVèÕ¶ÿÿ\83Ä\1cþE\v\80}\v\ 4\8b\86!\ 1\0\0fd\8b\88\80\ 1\0\0º\0\80\0\0f\85Êt^\ 3Ãd\8b\b\81áÿÿïÿ\81É\0\0,\0d\89\b\8b\86!\ 1\0\0\8d\f\ 3\8a\a\89M\bd\8b     \ f¶ÐÁâ\f\81áÿ\ füÿ\vÊ\8bU\bd\89
+\8b\8e!\ 1\0\0\ 3Ëd\8b\11\81âÿÿßÿd\89\11:Eÿs\a*Eÿ\ 4\ 3*Eÿ\88\a\8bEøj\1f\8dL\ 5ìQ\8dL\ 5äQ\8dL\ 5ÜQW\8dD\ 5ÔPVè¿÷ÿÿ\8b\86!\ 1\0\0\ 5\80\ 1\0\0fd\8b\0¹\0\80\0\0\83Ä\1cf\85Át\ f\8a\a\ 2Eÿ\88\a<@r\ 4,@\88\aÆE\v\0\8a\ 2E\v\ f¶ÀP\8b\8dL\ 5ìQ\8dL\ 5äQ\8dL\ 5ÜQW\8dD\ 5ÔPVèijÿÿ\83Ä\1cþE\v\80}\v\ 4\8b\86!\ 1\0\0fd\8b\88\80\ 1\0\0º\0\80\0\0f\85Êt>\ 3Ãd\8b\b\81É\0\0<\0d\89\b\8b\86!\ 1\0\0\ 3Ãd\8b\b\ f\17\81áÿ\ füÿÁâ\f\vÊd\89\b\8b\86!\ 1\0\0\ 3Ãd\8b\b\81áÿÿßÿd\89\b\80\ 4\83\ 5\83Ã\ 4ÿEø\80}þ \ f\82øýÿÿ_[3À^ÉÃU\8bìSVW\8b}\f\8a\87\e\ 1\0\0\88E\ f\8bE\b\8bØ\8dp\ 2ëH\8aE\ f\84Fÿt:\8a\ 3<ÿt+f\ f\97Õ\0\0\0\8aÈÀé\ 4$\ ff\ f¶Éf\ f¶ÀfÁà\bf\ 3Êf\vÈ\ f·ÁPè\11\15\0\0YWÿ\16Y\83øÿt\12\83Ã\ 6\8ds\ 2\83>\0u³3À_^[]Ã\83Èÿëö¸\b\0\0\80ºø\f\0\0ïV\8bt$\b\83Â\ 4°iVîè\1a\12\0\0Y\83øÿu\ 4\vÀ^Ã\8b\86\1d\ 1\0\0\ 5ß\0\0\0\0\86Vè÷\12\0\0Vh,ÜýÿèEÿÿÿ\83Ä\f^ÃSUV\8bt$\10\8b\86!\ 1\0\0\8a\ e\ 5\9c\ 1\0\0d\8b\10\86.\ 1\0\0\ 1\ f¶É8^Ou\ f\81â\0\0\0ð\v\14\8dhÞýÿë\r\81â\0\0\0ð\v\14\8dpÞýÿd\89\10\8b\86!\ 1\0\0\ 5\9c\ 1\0\0d\8b\b\81É\0\0\80\0d\89\b\8b\86!\ 1\0\0\ 5\9c\ 1\0\0fd\8b\bº\0\80\0\0f\vÊfd\89\b\8b\86!\ 1\0\0\ 5\9c\ 1\0\0fd\8b\bJf#Êfd\89\b½\0\ 4\0\0¿\0\10\0\08\9e³\ 1\0\0\ f\84µ\0\0\08^O\ f\85¬\0\0\0\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\bf\83É\ 1fd\89\b\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\bf\83É\ 4fd\89\b\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\bf\83É\10fd\89\b\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\bº\0\ 1\0\0f\vÊfd\89\b\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\b\8bÕf\vÊfd\89\b\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\b\8b×f\vÊfd\89\b\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\bº\0@\0\0f\vÊé·\0\0\0\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\bºþÿ\0\0f#Êfd\89\b\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\b\83Âýf#Êfd\89\b\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\bºïÿ\0\0f#Êfd\89\b\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\bºÿþ\0\0f#Êfd\89\b\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\bºÿû\0\0f#Êfd\89\b\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\bºÿï\0\0f#Êfd\89\b\8b\86!\ 1\0\0\ 5\98\ 1\0\0fd\8b\bºÿ¿\0\0f#Êfd\89\b8\9e³\ 1\0\0t\e8^Ou\16\8b\86!\ 1\0\0\ 5È\ 1\0\0d\8a\b\80áÇ\80É\aë\11\8b\86!\ 1\0\0\ 5È\ 1\0\0d\8a\b\80áÀd\88\bSVè\aµÿÿ\8b\86!\ 1\0\0Y\ 5ð\ 5\0\0Yfd\8b\bº\0\b\0\0f\vÊfd\89\b\8b\86!\ 1\0\0\ 5ð\ 5\0\0fd\8b\bf\vÏfd\89\bj\b3ÉZ\8b\86!\ 1\0\0\8bÝ\ 5ð\ 5\0\0fd\8b8Óûf\vûfd\898AJuâ\8b\86!\ 1\0\0\ 5\14,\0\0d\8a\b\80É\ 1d\88\b\8b\8e!\ 1\0\0¸\ 5P\0\0\81Á\82\ 1\0\0fd\89\ 1\8b\86!\ 1\0\0\ 5\8a\ 1\0\0fd\8b\bºúå\0\0f#ʺ\1a\ 5\0\0f\vÊfd\89\b\8b\86!\ 1\0\0\ 5\0,\0\0fd\8b\bºÐÐ\0\0f#ʺ\10\90\0\0f\vÊfd\89\b\8b\86!\ 1\0\0\ 5\8e\ 1\0\0d\8a\b8\9e³\ 1\0\0t\158^Ou\b\80áë\80Ékë\ e\80áÒ\80ÉRë\ 6\80áÕ\80ÉUd\88\b8^Ou\ f8\9e³\ 1\0\0u\aVèáéÿÿY\80~O\ 1u\aVèÔéÿÿY\8b\86!\ 1\0\0\ 5H\ 2\0\0d\8b\b\81áÿÿ¿ÿd\89\b\8b\86!\ 1\0\0\ 5Ù\ 5\0\0d\8a\b\80áýd\88\b\8b\86!\ 1\0\0\ 5\89\ 1\0\0d\8a\b\80ÉÀd\88\b\8b\86!\ 1\0\0\ 5\89\ 1\0\0d\8a\b\80áßd\88\b\8b\86!\ 1\0\0\ 5\89\ 1\0\0d\8a\b\80á?\80É@d\88\b8\1eu"8^\ 3u\17\8b\86!\ 1\0\0\ 5\88\ 1\0\0d\8a\b\80áÚ\80É\1ad\88\b\80~\ 3\ 1u\17\8b\86!\ 1\0\0\ 5\88\ 1\0\0d\8a\b\80áÚ\80É\1ad\88\b\8b\86!\ 1\0\0\ 5\88\ 1\0\0d\8a\b\80É\ 1d\88\b\ f¶FO+ÃtOHt\b\83Èÿé\f\ 1\0\0\8b\86!\ 1\0\0\ 5¨\ 1\0\0d\8a\b\80áþ\80É\ 4d\88\b\8b\86!\ 1\0\0\ 5 \ 1\0\0\0\ 1XU\0\ f¶F\12\8dN\10\ f\11\ 3À\vÂ\ f¶V\ 2\8a\94\90¬Õýÿë?\8b\86!\ 1\0\0\ 5¨\ 1\0\0d\8a\b\80É\ 1d\88\b\8b\86!\ 1\0\0\ 5 \ 1\0\0\0\ 3\18U\0\ f¶F\12\8dN\10\ f\11\ 3À\vÂ\ f¶V\ 2\8a\94\90¤Õýÿ\8b\86!\ 1\0\0\ 5 \ 5\0\0d\8b8\ f¶Ò\81çÿÿÿÀÁâ\18\vúd\898\8b\86!\ 1\0\0\ 5\94\ 5\0\0d\8a\10\80âþd\88\10j\ 43Ò3À_8\19u-\8bè+ët!Mt\16Mt\vMu\1e\81Ê\88\b\0\0ë\16\81ÊD\ 4\0\0ë\ e\81Ê"\ 2\0\0ë\ 6\81Ê\11\ 1\0\0@AOuÊ\8b¶!\ 1\0\0\8d\86\9c\ 5\0\0fd\8b\bf\vÊfd\89\b3À_^][ÃU\8dl$\8c\81ìh\ 1\0\0SVWj   Y¾´Õýÿ\8d½@ÿÿÿó¥f¥j\17Y¾ÜÕýÿ\8d}\9có¥f¥¤j\aY¾<Öýÿ\8d}üó¥¤j\fY¾\Öýÿ\8d½\fÿÿÿó¥f¥j\f\90Öýÿ\8d½hÿÿÿó¥f¥j\15Y¾ÄÖýÿ\8d}\1có¥f¥¤\8bu|\ f\ 6\ f·\fETÞýÿ\ f¶~\19\ f¯ù\8bÁkÀ\ 5\8bÑ\81Ç\10'\0\0Áâ  ;Çw\ 2\8bÇ+Ð\8bÂ3Ò\8d<  ÷÷;Ñr\ 1@\ f¶NO3Û+Ët[It\b\83Èÿé9\ 2\0\0\8b\8e!\ 1\0\0\81ÁÀ\ 6\0\0d\8b\11\81âÿÿ?\80Áà\16\vÐd\89\11\8b\86!\ 1\0\0\ 5À\ 6\0\0d\8b\b\81áÿ?àÿ\81É\0\0 \0d\89\b\8b\86!\ 1\0\0\ 5À\ 6\0\0d\8b\b\81áÿßÿ\7fë\14\8b\86!\ 1\0\0\ 5À\ 6\0\0d\8b\b\81É\0 \0\80d\89\bj&\8d\85@ÿÿÿPÿ¶!\ 1\0\0èÚ\ e\0\0\8aFO\83Ä\f:Ãu        \8aN\14\80Á\14\88MÞ<\ 1u\v\8a\86Ö\0\0\0\ 4\15\88EÞ8^\ 3u\ f¸ÿÿ\0\0f\89E÷3Àf\89Eùj_\8dE\9cPÿ¶!\ 1\0\0è\93\ e\0\0j\1d\8dEüPÿ¶!\ 1\0\0è\82\ e\0\0\83Ä\188^\ 3u\17j2\8d\85\fÿÿÿPÿ¶!\ 1\0\0èf\ e\0\0\83Ä\f\80~\ 3\ 1u%8^\ 1u ¸È\0\0\0f\89E\83j2\8d\85hÿÿÿPÿ¶!\ 1\0\0è;\ e\0\0\83Ä\f\ f\ 6\ f¶N\14Áà\ 2\ 3È\89E|\8d\ 4\8dôÿÿÿf\8b\88Dìýÿf\8b\80Fìýÿf\89E(\8aFOf\89M/:Ãu\ f8\9e³\ 1\0\0t\aÇED\0\0\00<\ 1\ f\85°\0\0\0\8aN\14\8a\86Ö\0\0\0\ f¶Ñ\ f¶ø\8bÚ+ß\83Ã
+\83û\ f~\a¹\99\ f\0\0ë\1ef\ f¶Éf\ f¶Àf+Èf\83Á
\0\ 1\0\0f\ f¯È\83À\99f\vÈf\ f¶¾Ö\0\0\0f\ f¶F\14\8bß+Ø\83Ã\bÁã\ff\vËf\89M\1f\ f¶N\14\ 3M|»ð\ f\0\0f\8b\f\8d~ìýÿf#Ëf\89M(\8b\8e!\ 1\0\0\81Á\9c\ 2\0\0d\8a \80á\ ff\ f¶É+ÇÁà\ff\83Á\ 2f\vÈ\8bE|f M(\ 3Ðf\8b\ 4\95|ìýÿf\89E/jW\8dE\1cPÿ¶!\ 1\0\0è-\r\0\0\0ÄÿÿVè·Áÿÿ\83Ä\143À_^[\83ÅtÉÃU\8bìQ\8bM\bS2ÛVW2Ò\88\88Y\ 2\88Y\ 4\88]ÿ\ f¶}ÿ\8bÇkÀA\8d\84\b1\ 1\0\08\18u\r\88\y\10\88\y\11é'\ 1\0\0\8aX@\80ã\ 1þEþ\8d4\ f\88^PÆDy\10\ 1\8aX\ 3\80û\bt\ f\80û\v\ f\85\1d\ 1\0\0ÆAO\ 1ë\ 4ÆAO\0\8aYO\88]\v\84Ûu\e\8aX\15\80û\ 2u\ 6ÆA\ 2\0ë\r\80û\ 4\ f\85ò\0\0\0ÆA\ 2\ 1\80}\v\ 1u\13\8aX\ 4\80ã\ f\80û\ 3\ f\85Ù\0\0\0ÆA\ 2\ 1\80}\v\0u
+ö@\f\ 2\ f\85Å\0\0\0\80}\v\ 1u
+ö@     \18\ f\85µ\0\0\0\80}\v\0u9\8aP\ eÀê\ 3þÊ\88V\a\8aP\12Àê\ 2þÊ\88V      \8aP\ 5\80ê   \88V\r\8aP\ 4\80ê\f\88V\v\8aX2\8aP\ 6Ðë\80ã\ 1\80â\a\bY\ 4\80yO\ 1u6\8aP\b³\a"ÓþÊ\88V\a\8aP\ 5\80âpöÚ\1aÒþÂ\88V   \8aP\ 6\88V\r\8aP\ 6Àê\ 3\88V\v\8aP\bÀê\ 3\80~   \ 1w4\80~\a\ 1w.2Û\88V\ 5:Óv\ 5ÆDy\11\ 1\80ú\ 1w\eþEÿ\80}ÿ\ 2\ f\82«þÿÿ3À8]þ\ f\95ÀH_^[ÉÃ\83ÈÿëöU\8bì\83ì\fSW\8b}\b\8a_OÆEþ\0\84Ûu\ 4ÆEÿx\80û\ 1u\ 4ÆEÿþ2Ò\ f¶Â\8bÈkÉA\80|G\10\0\8d\8c91\ 1\0\0t\18\ f¶Ã\83è\0t
+HuG\8aA\ f\ 2Àë\ 3\8aA\13 EÿþÂ\80ú\ 2\80}ÿ\0u\ 4ÆEÿ@\8a\87-\ 1\0\0\88E\v<\ 1v\ 4ÆE\v\ 1\ f¶Ã\83è\0V\ f\84?\ 1\0\0Ht\10\83Èÿé/\ 1\0\0\83Èÿé(\ 1\0\0\ f¶E\v\ 3À\ f·°\Ýýÿ\ f·\80`Ýýÿ\89\8dG\10\89E\b\8d\8f=\ 1\0\0ÇEô\ 2\0\0\0\8bE\b\808\0t?\ f¶Aÿ\ f\19iÀè\ 3\0\0\99÷ûf\ f¶Q\ 1\ f·Àf\ f¯Ð\ f·Òf;Öv\ 3\ f·òf\ f¶Q\ 5f\ f¯Ð\ f·Âf;Eøv\ 6\ f·À\89\83E\b\ 2\83ÁAÿMôu­ÆE\v\0\ f¶E\v\ f·\ 4E\Ýýÿf;ðt"w\vþE\v\80}\v\ 1räë\15\80}\v\0t\ 3þM\v\ f¶E\v\ f·4E\Ýýÿ\ f·Eø\ f·Î\99÷ù\88\85Òt\ 3þEþ\8aEÿ2Û\88\84Àt)ÿuøè¾\b\0\0\8aØ\80Ã\ 3Y:]þt\16ÿuøè«\b\0\0\ 1\8bÈÒâöÒ Uøu×\8aE\v\ f¶È\ f·\fM\Ýýÿ\ f¶Ó\ f¯Ê\81ù N\0\0~\a¸ÿÿÿÿë\a\88\a\88_\143À^_[ÉÃ\80\7f\ 2\ 1u\ 4ÆE\v\0\8aEÿ\88\84À\ f\84¹\0\0\0ÿuøÆEþ\0è;\b\0\0Y\88Eý2Û\ f¶Ã\8bÈkÉA\80|G\10\0\8d´91\ 1\0\0tV\ f¶F\13Pè$\b\0\0Y\ f¶Mý\ f¶À+Á\ 3À\ f\88PÝýÿ\8aL1\ 1\84Ét:\ f\80QÝýÿ\8aT0\ 1\84Òt+\ f¶E\v\ 3À8\88XÝýÿr\1d8\90YÝýÿr\15ÿuøèÍ\a\0\0Y\88EþþÃ\80û\ 2r\8dë\18ÿuøè¸\a\0\0\ 1ÆEþ\0\8bÈÒâöÒ Uø\8a\84Àu\v8Eø\ f\85Qÿÿÿë\12\8aM\v\88\ f\88G\14\80\0\ f\85\1eÿÿÿþM\vé'ÿÿÿU\8bì\83ì0\83\0\83\0S\8b]\b\8a\ 3VWj\b\88Eþ3ÀY\8d}Ðó«\88Eÿ\ f¶Eÿ\80|C\10\0\ f\84Ò\0\0\0\8aKOkÀA\8d´\181\ 1\0\0\80ù\ 1u\17\ f¶F\v\ f¶~\fiÀè\ 3\0\0\99÷ÿ\ f·À\89\ f¶ÁÆE\v\0\89\8b\83è\0t=H\ f\85ü\0\0\0\ f¶U\v\ f\ 4Õ©Ýýÿ\ f¶D0\ 1\ f\fÕªÝýÿ#Á\ f\fÕ¨Ýýÿ\ f¶L1\ 1Áà\b\ 3Á\ f·Mô\ f¯Áë?\ f¶U\v\8bÊÁá\ 3\ f\81iÝýÿ\ f¶|0\ 1\ f\81jÝýÿ#ø\ f\81hÝýÿ\ f¶D0\ 1\8a\89kÝýÿiÀè\ 3\0\0Óè\ 3\ 4½äÝýÿ\8dL\95Ð\8b\11;Ðv\ 2\8bÂþE\v\80}\v\b\89\ 1\ f\82aÿÿÿþEÿ\80}ÿ\ 2\ f\82\12ÿÿÿ\8aCO\84Àu\aÇEødÝýÿ<\ 1u\aÇEø¤Ýýÿ\8b\85öt?ÆE\v\0F\ f¶M\v\83|\8dÐ\0t/\8a\16\8aF\ 2\88Uÿ:Âw#\ f¶Uþ\ f·\14U\Ýýÿ\89\ f¶Ð\ f¯Uð;T\8dÐs\fþÀ:Eÿvì\83Èÿë\12\83Æ\bþE\v\80}\v\b\88D\19\15r±3À_^[ÉÃ\8bD$\ 42ÒÆ@\ f\08P\ 2u@SVW2Û\8dp\a\8dx\102Ò8\17t"þÂ8Vþu\ 2²\ 2\80>\ 1u\ 3\80Â\ 2\80ú\ 3w\f\8aË\80á\ 1\ 2ÉÒâ\bP\ fþÃGGF\80û\ 2rÎ_^[\80x\ 2\ 1u4\8aH\10\84Ét\12\80x\12\0t\12\80x\ 5\ 1²\ 3u\1cþÂë\18\80x\12\0u\ 4\84Ét\ e²\ 18P\ 5t\ 58P\ 6u\ 2²\ 2\88P\ f3ÀÃU\8bìQ\8aE\10SVW\88E\13\84ÀtM\8a]\14\8aE\f\8bM\b\80ã\7f\f\ 1\8dq\ 3\88\8dy\ 4þM\13f\8bÑì¨\ 1uø°þîf\8bÖ\8aÃî\8aEþf\8b×î\8dQ\ 2°Hîf\8bÑì\88Eÿ¨\1etõ¨\1ct\ e\80}\13\0\83Èÿ_^[ÉÃ\8dQ\ 5ì\8bU\18\88\ 2\8aEÿ\f@f\8bÑî3ÀëåU\8bì\83ì\10SV\8bu\bWÆE\v\0\ f¶]\v\8bûkÿA\8d\8471\ 1\0\0\89\83À\ 3P\ f\86É\ 1\0\0j\ 2P\8d\9c\0\0\0\ f\ 3P\ f·\86%\ 1\0\0Pè;ÿÿÿ\83Ä\14\89\85À\8bEôt\bÆ\0\0é±\0\0\0\83À\ 3\8a\0<\btS<\v\ f\85´\0\0\0ÇEø0ÞýÿÇEð\18\0\0\0\8b\ f\0\ f¶È\ 3Ï\8d\8c12\ 1\0\0QP\ f\86É\ 1\0\0P\ f\ 3P\ f·\86%\ 1\0\0PèÚþÿÿ     Eü\83Ä\14ÿEøÿMðuÅëIÇEø\14ÞýÿÇEð\1a\0\0\0\8b\ f\0\ f¶È\ 3Ï\8d\8c12\ 1\0\0QP\ f\86É\ 1\0\0P\ f\ 3P\ f·\86%\ 1\0\0\8fþÿÿ      Eü\83Ä\14ÿEøÿMðuÅ\83\0\8b\ f\94À\88\ 1þE\v\80}\v\ 2\ f\82ôþÿÿ3À_^[ÉÃ\83Èÿëöd¡ð\0Ðþ\8bL$\ 4S2Û\ 3Èd\8b\15ð\0Ðþ;Èw\ 4;Ðs\ 6;Ñr\ 2³\ 1\84Ûtç[ÃQSPSQR¸\ 1\0\0\0\ f¢\83à\ f\88D$\17ZY[X\8aD$\a[YÃ\8bD$\ 42É8\bw    Æ\80³\ 1\0\0\ 1ë\ 6\88\88³\ 1\0\08\88³\ 1\0\0t\10Æ\80´\ 1\0\0\ fÆ\80µ\ 1\0\0\ 1ë\rÆ\80´\ 1\0\0?\88\88µ\ 1\0\0\88\88\1c\ 1\0\03ÀÃ\8bL$\ 4\8b\81!\ 1\0\0\ 5\0\f\0\0d\ f\0\83à\aHHt\vHt\ 4\83ÈÿÃ2Àë\ 2°\ 1\88A\ 13ÀÃ\8bL$\ 4\8b\81!\ 1\0\0\ 5\ 1\0\0fd\8b\10V¾ÿþ\0\0f#Öfd\89\10\8b\89!\ 1\0\0\8d\81\ 1\0\0d\8a\b\80áÀd\88\b3À^ÃU\8bì\80}\14\0\8bM\10\8bÁu:V\8bu\b\80~O\ 1u,öE\f\ 1t&\ f¶U\fÑê\80|2P\0t\19º¨\0\0\0\8bñ\ 3À\81æ\aþÿÿÑé\vÆ#Ê\vÁÁà\ 3^]ÃU\8bì\8aE\14\8aÈ8U\1cubSV\8bu\b\80~O\ 1u&öE\f\ 1t W\ f¶}\fÑï8T7P_t\12\8aØÐé\80ã\10\80á\10\ 2Û
+Ë$Ï
\8b\86!\ 1\0\0\ 5q\ 2\0\0d\8a\18\80ãÁ
+Ùd\88\18Rÿu\18ÿu\fVèSÿÿÿ\83Ä\10\vE\10^d\8b\0\89E\14[]Ãèrþÿÿ\8bL$\ 4\83¹\1d\ 1\0\0\0u\18ºø\f\0\0¸`\0\0\80ï\83Â\ 4í\83àð\89\81\1d\ 1\0\0\8d\81!\ 1\0\0\838\0u\11\8b\91\1d\ 1\0\0\83ÂHd\8b\12\83âþ\89\10\8d\81%\ 1\0\0f\838\0VWu\e\8b\91\1d\ 1\0\0\81 °\ f\0fd\8b\12¾üÿ\0\0f#Öf\89\10\8b±\1d\ 1\0\0d\8aF\b\88\81+\ 1\0\0\8d¾ã\0\0\0d\8a\aÀè\ 4$\at\ 6²\ 5*Ðë\ 2²\ 1d\8a\86ä\0\0\0\88\91,\ 1\0\0d\8a\17$\ 3\ 2ÀÀê\a
+Ât\ 6²\ 6*Ðë\ 2²\ 1\8dF\ 2\88\91-\ 1\0\0fd\8b\10f\8bòºðÿ\0\0\8búf#÷¿\0 \0\0f;÷_^u\ 4ÆA\ 3\0fd\8b\0f#º\10 \0\0f;Âu\ 4ÆA\ 3\ 13ÀÃ\8bD$\ 4\80¸\e\ 1\0\0\ 2t%\8b\88!\ 1\0\0\81Á\14\ f\0\0d\8b       Áé\b\80á\ 1öÙ\1aÉ\80áý\80Á\ 4\88\88\e\ 1\0\0ÃU\8bì\8bU\b\8b\82\1d\ 1\0\0\ 5ð\80\ f\0d\8b\0\83àþ\8d\88\ 44\0\0d\8b\ 1\89\82'\ 1\0\0\83àü\r\80\0\0\0d\89\ 1d\8b\ 1\89E\b\10\0Ðþ\83È\ 1\10\0Ðþ3À]ÃU\8bì\8bM\b\8b\81\1d\ 1\0\0\ 5ð\80\ f\0d\8b\0d\8b\15\10\0Ðþ\83âüd\89\15\10\0Ðþ\83àþd\8b\15\10\0Ðþ\8b\89'\ 1\0\0\89U\bd\89\88\ 44\0\0\10\0Ðþ\89E\b3À]Ã\8bL$\ 4\8b\81!\ 1\0\0\ 5h\ 2\0\0d\8b\10\81Ê\0\0\0@d\89\10\8d\81\1d\ 1\0\0\8b\b\81Á¢\80\ f\0d\8a\11\80â\7fd\88\11\8b\0\ 5ô\0\0\0d\8a\b\80É\ 1d\88\b3ÀÃU\8bì\ f¶E\b\ f¼À\89E\b]ÃU\8bì\ f¶E\b\ f½À\89E\b]ÃV\8bt$\bWj\19\8d~gYó¥f¥¤_3À^Ã\8bT$\ 4\8d\82×\0\0\0\8b\b\83ù\10s\10V\ f¶t$\f\89´\8aÛ\0\0\0ÿ\0^ÃS\8b\$\b\80»\e\ 1\0\0\ 2u0\80»Î\0\0\0\0t\13VWj\19Y\8dsg\8bûó¥f¥¤_^ë\14hÿ\0\0\0Sè©ÿÿÿYYÆ\83\e\ 1\0\0\ 4\8aC\13\ 2À
+C\12\ 2À
+C\11\ 2À
+C\10\88\83\ 1\0\03À[Ãf\8bD$\ 4º\80\0\0\0fïÃ\8bD$\ 4\83È\ 53Ò¹\ 6\ 2\0\0\ f\0èÿÿº\ f\0\0\0¹\a\ 2\0\0\ f0Ã3À3Ò¹\ 6\ 2\0\0\ f\a\ 2\0\0\ f0ÃU\8bì\8bE\b\8d\88\0 \0\0\89E\b;Ás\10\8bE\bd\ f®8\83E\b@9M\brð]ÃVW\8b|$\f\8b\87\1d\ 1\0\0\8d°¢\80\ f\0d\8a\ ed\8a\80¤\80\ f\0\84Éy\a\80á\7f²\ 1ë\ 5\80É\802ÒöÁ\ 4t\ 5\80É\ 4\f8d\88\ e\8b\8f\1d\ 1\0\0\81Á¤\80\ f\0d\88\ 1_^\84Òt\bºù\f\0\0°\ eî3ÀÃ\8bL$\b\8bD$\fSV\8d4\ 1\8a\11\8aÂ$ð<\80\ f·A\ 1\ f\95Ã\ 3D$\f\ f¶ÒþË\83â\ f\80ã\80JtlJtTJtCJt'Jt\18Juj\84Ûu\fd\8b\10#Q\ 3\vQ\ad\89\10\83Á\vëU\84Ûu\1c\8bQ\ 3d\89\10ë\14\84Ûu\10fd\8b\10f#Q\ 3f\vQ\ 5fd\89\10\83Á\aë0\84Ûu\1af\8bQ\ 3fd\89\10ë\10\84Ûu\fd\8a\10"Q\ 3
+Q\ 4d\88\10\83Á\ 5ë\r\84Ûu\ 6\8aQ\ 3d\88\10\83Á\ 4\ f\82^ÿÿÿ^[ÃU\8bì\8bE\bë      \8aM\fÿM\10\88\b@\83}\10\0\8bE\b]ÃU\8bì\8bE\b\8b\b\8dU\bRj0j\ 3PÿQ4\83Ä\10\85À|8\8bE\b\8bM\f\89H\18\8bE\b\8bM\10\89H\1c\8bM\b\8bE\14\89\8bM\b\8bE\18\89A$\8bM\b\8bE\1c\89A(\8b\8bM\b\89A,3À]Ã\8bT$\f\8bD$\ 4\8b\bV\8bt$\14V\83Â\18Rj\ 4PÿQ4\83Ä\10\85À|\11W\8b>\8bt$\10\83Ç\b¥¥¥¥3À_^ÃU\8bìQV\8bu\b\8dEüPÿu\14ÿu\fVè´ÿÿÿ\83Ä\10\85À|\17ÿu\14\83\18ÿu\10\8b\ 6ÿuüÿPP\83Ä\f3À^ÉÃÌÌÌÌÌÌÌÌU\8bìQ\8bE\b\8bU\f\8bM\10\83á?\ f¥ÂÓà\83ù r\ 4\8bÐ3ÀYÉÃ\8bD$\ 4\8b\10\8bL$\b+\11u\e\8bP\ 4+Q\ 4u\13\8bP\b+Q\bu\v\8b@\f+A\fu\ 3°\ 1Ã2ÀÃÌÌÌU\8bì\83ÄøW\8bM\f\8b}\b\8bÇ$\ 3\84Àt\f\83ù\0t[Æ\a\0GIëì\8bÑÁé\ 6Áá\ 6+ÑÁé\ 6\83ù\0t2\ f\7f\ fïÀ\ f\7f\a\ f\7fG\b\ f\7fG\10\ f\7fG\18\ f\7f\ f\7fG(\ f\7fG0\ f\7fG8\83Ç@IuÛ\ foEø\ fw\8bÊÁé\ 23Àó«\8bÊ\83á\ 3óª_ÉÃÌÌÌÌÌÌÌÌU\8bì\83ÄøVW\8bM\10\8bu\f\8b}\b\8bÆ\ 3Á;Çv\16\8bÇ\ 3Á;Æv\ e\ f\84º\0\0\0\ f\82 \0\0\0\83ù\0\ f\84«\0\0\0\8b×\80â\ 3\84Òt  \8a\ 6\88\aIGFëå\8bÁÁè\ 6Áà\ 6+ÈÁè\ 6\83ø\0tQ\ f\7f\ fo\ 6\ f\7f\a\ foF\b\ f\7fG\b\ foF\10\ f\7fG\10\ foF\18\ f\7fG\18\ foF \ f\7f\ foF(\ f\7fG(\ foF0\ f\7fG0\ foF8\ f\7fG8\83Ç@\83Æ@Hu¹\ foEø\ fw\83ù\ 4r\ f\8b\ 6\89\a\83é\ 4\83Æ\ 4\83Ç\ 4ëì\83ù\0t\1d\8a\ 6\88\aIFGëò\ 3ñN\ 3ùO\83ù\0t        \8a\ 6\88\aINOëò_^ÉÃ\ f·\ 5@\80\ fà%þÿ\0\0Ã\ f·D$\ 4V\8bt$\fW\8dx\ 4Wè9\0\0\0\83|$\18\ 1Yu\ 4\vÆë\ 4÷Ö#ÆPWè)\0\0\0YY_^ÃU\8bìQ\81\0\1c\0\0j\0ÿuüÿu\bè¸ÿÿÿ\83Ä\fÉÃf\8bT$\ 4íÃf\8bT$\ 4\8bD$\bïÃ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0A\0c\0p\0i\0G\0l\0o\0b\0a\0l\0V\0a\0r\0i\0a\0b\0l\0e\0\0\0\0\0D\0I\0M\0M\00\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ýÇýÿ\88¿ýÿ
+Áýÿ®Ãýÿ=Åýÿ\0\0\0\0\ 3\ 4\ 5\a\b
+\v\f\ e\ f\10\11\12\13\14\15\16\17\18\19\1a\e\1c\1d\1f?\0\0\0\0\0\0ÿ\0ÿ\0ÿ\0ÿ\0\7f\80\7f\80\7f\80\7f\80¿@¿@¿@¿@ß ß ß ß ï\10ï\10ï\10ï\10÷\b÷\b÷\b÷\bû\ 4û\ 4û\ 4û\ 4ý\ 2ý\ 2ý\ 2ý\ 2þ\ 1þ\ 1þ\ 1þ\ 1\0ÿ\0ÿ\0ÿ\0ÿ\80\7f\80\7f\80\7f\80\7f@¿@¿@¿@¿ ß ß ß ß\10ï\10ï\10ï\10ï\b÷\b÷\b÷\b÷\ 4û\ 4û\ 4û\ 4û\ 2ý\ 2ý\ 2ý\ 2ý\ 1þ\ 1þ\ 1þ\ 1þÿ\0\0ÿ\0\0ÿÿ\7f\80\80\7f\80\80\7f\7f¿@@¿@@¿¿ß  ß  ßßï\10\10ï\10\10ïï÷\b\b÷\b\b÷÷û\ 4\ 4û\ 4\ 4ûûý\ 2\ 2ý\ 2\ 2ýýþ\ 1\ 1þ\ 1\ 1þþ\0ÿÿ\0ÿÿ\0\0\80\7f\7f\80\7f\7f\80\80@¿¿@¿¿@@ ßß ßß  \10ïï\10ïï\10\10\b÷÷\b÷÷\b\b\ 4ûû\ 4ûû\ 4\ 4\ 2ýý\ 2ýý\ 2\ 2\ 1þþ\ 1þþ\ 1\ 1ÿ\0\0\0ÿ\0\0\0\7f\80\80\80\7f\80\80\80¿@@@¿@@@ß   ß   ï\10\10\10ï\10\10\10÷\b\b\b÷\b\b\bû\ 4\ 4\ 4û\ 4\ 4\ 4ý\ 2\ 2\ 2ý\ 2\ 2\ 2þ\ 1\ 1\ 1þ\ 1\ 1\ 1\0ÿÿÿ\0ÿÿÿ\80\7f\7f\7f\80\7f\7f\7f@¿¿¿@¿¿¿ ßßß ßßß\10ïïï\10ïïï\b÷÷÷\b÷÷÷\ 4ûûû\ 4ûûû\ 2ýýý\ 2ýýý\ 1þþþ\ 1þþþÿÿ\0ÿÿ\0ÿÿ\7f\7f\80\7f\7f\80\7f\7f¿¿@¿¿@¿¿ßß ßß ßßïï\10ïï\10ïï÷÷\b÷÷\b÷÷ûû\ 4ûû\ 4ûûýý\ 2ýý\ 2ýýþþ\ 1þþ\ 1þþ\0\0ÿ\0\0ÿ\0\0\80\80\7f\80\80\7f\80\80@@¿@@¿@@  ß  ß  \10\10ï\10\10ï\10\10\b\b÷\b\b÷\b\b\ 4\ 4û\ 4\ 4û\ 4\ 4\ 2\ 2ý\ 2\ 2ý\ 2\ 2\ 1\ 1þ\ 1\ 1þ\ 1\ 1ÿÿ\0\0ÿÿ\0\0\7f\7f\80\80\7f\7f\80\80¿¿@@¿¿@@ßß  ßß  ïï\10\10ïï\10\10÷÷\b\b÷÷\b\bûû\ 4\ 4ûû\ 4\ 4ýý\ 2\ 2ýý\ 2\ 2þþ\ 1\ 1þþ\ 1\ 1\0\0ÿÿ\0\0ÿÿ\80\80\7f\7f\80\80\7f\7f@@¿¿@@¿¿  ßß  ßß\10\10ïï\10\10ïï\b\b÷÷\b\b÷÷\ 4\ 4ûû\ 4\ 4ûû\ 2\ 2ýý\ 2\ 2ýý\ 1\ 1þþ\ 1\ 1þþÿÿ\0\0\0ÿÿ\0\7f\7f\80\80\80\7f\7f\80¿¿@@@¿¿@ßß   ßß ïï\10\10\10ïï\10÷÷\b\b\b÷÷\bûû\ 4\ 4\ 4ûû\ 4ýý\ 2\ 2\ 2ýý\ 2þþ\ 1\ 1\ 1þþ\ 1\0\0ÿÿÿ\0\0ÿ\80\80\7f\7f\7f\80\80\7f@@¿¿¿@@¿  ßßß  ß\10\10ïïï\10\10ï\b\b÷÷÷\b\b÷\ 4\ 4ûûû\ 4\ 4û\ 2\ 2ýýý\ 2\ 2ý\ 1\ 1þþþ\ 1\ 1þÿÿÿ\0ÿÿÿ\0\7f\7f\7f\80\7f\7f\7f\80¿¿¿@¿¿¿@ßßß ßßß ïïï\10ïïï\10÷÷÷\b÷÷÷\bûûû\ 4ûûû\ 4ýýý\ 2ýýý\ 2þþþ\ 1þþþ\ 1\0\0\0ÿ\0\0\0ÿ\80\80\80\7f\80\80\80\7f@@@¿@@@¿   ß   ß\10\10\10ï\10\10\10ï\b\b\b÷\b\b\b÷\ 4\ 4\ 4û\ 4\ 4\ 4û\ 2\ 2\ 2ý\ 2\ 2\ 2ý\ 1\ 1\ 1þ\ 1\ 1\ 1þÿÿÿ\0\0ÿÿÿ\7f\7f\7f\80\80\7f\7f\7f¿¿¿@@¿¿¿ßßß  ßßßïïï\10\10ïïï÷÷÷\b\b÷÷÷ûûû\ 4\ 4ûûûýýý\ 2\ 2ýýýþþþ\ 1\ 1þþþ\0\0\0ÿÿ\0\0\0\80\80\80\7f\7f\80\80\80@@@¿¿@@@   ßß   \10\10\10ïï\10\10\10\b\b\b÷÷\b\b\b\ 4\ 4\ 4ûû\ 4\ 4\ 4\ 2\ 2\ 2ýý\ 2\ 2\ 2\ 1\ 1\ 1þþ\ 1\ 1\ 1\0\ 3\ 4\ 5\ 5#\0\ 3\ 4\ 5$#\0\ 3\ 4%$#\0\ 3%%$#\0\0\0\0\0\ 5\ 6\a\a%\0\ 5\ 6\a&%\0\ 5\ 6'&%\0\ 5''&%\0\0\0\0?8\a\0?<'$?8\a\0?<'$\ 1\b8\9b\ 6\f8\0\0\0ÿ\0\1d\0\0\ 1\148\b\ 1$8\0\ 2     8ð\ 4\ 2\14\ 1\ 2\128\7f\80\0\0\ 6\18\ fþÿûÿ\0\0\0\0\ 2¯\ f\7f\0\ 2û\ f\7f\0\ 4ð\ f\0à\0\0\ 6°\ f\0\0þÿ\0\0\0\0\ 4H\0\0ü\ 6\0\ 6 \0\0\0\0\0 \0\0\0\ 2\14\rþ\0\ 29\ 2\0\0\ 4Ñ\ 2\ 3ü@\0\ 4Ñ\ 6\0ð\0\r\ 4\10\ 2\7fò\0\0\ 4n\ f\0\0ÿÿ\0\ 6\14\0\0\0\0àÿ?d\1f\ 6\18\0\80\0\0\0\0\0\ 1\ 2\ 4\1c\0ÿ\8f\00\0\0\0\ 6\ 4\11üÿ\0\0\0\0\10\10\ 6\b\11\b@þÿx\0\0\0\ 4\f\11\0ü\0\0\ 6\10\11\80\f\0þ\0\a\81\10\ 2\14\11ø\ 1\ 2$\11ý\0\0\0\ 6\ 4\11üÿ\0\0\0\0\10\10\ 6\b\11\b@þÿ|\0\0\0\ 4\f\11\0ü\0\ 1\ 6\10\11\80\f\0þ\0\a\81\10\ 2\14\11ø\ 1\ 2$\11ý\0\0\0\ 3<\ 2\89z\ 1\17\ 1ª\ 3\18\ 1\0\0\ 4\15\ 1\0\80\0\0\ 4\10\ 2ÿ\ f\0ð\ 2\ 2,\88D\ 6À\ 2ÿÿÿð\0\0\0 \ 6Ñ\ 2ÿÿ\ fÿ\0\0ð\0\ 6Ð\ 6ÿÿ\ fà\0\0ð\v\ 4\10\ 6\80à{\v\ 4\12\ 6\0\0d2\ 4\14\ 6ÀÀ
+\14\0\ 5 \ 2\17\11\0X\ 5$\ 2\0\0\0\0\ 6H\ 2ÿÿ\7fÿ\0\0\80\0\0\0\0\ 6`\ 2þÿÿÿ\0\0ð\0\ 5\b\ 2\ 1\ 1\ 1\ 1\ 5\0\ 2\ 2\0\ 4\0\ 5\ 4\ 2\ 6\0\b\0\ 3°\0\0@\ 3 \0\10\0\ 3¢\0\0\ 4\ 5¤\0\0\0\0@\ 5¨\0\0\0\0@\ 5¬\0\0\0\0@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\10\0\ 1\0\0\0\ 2\0\ 2\0\ 2\0\ 2\0\ 1\00\0\ 1\ 1\0\0\ 2\0\ 4\0\ 4\0\ 4\0\ 1\0\10\0\ 1\0\0\0\ 2\0\ 2\0\ 2\0\ 2\0\ 1\0@\0\0\0\ 1\0\0\0\0\0\ 2\0\ 2\0\0\0P\0\ 1\0\ 1\0\ 2\0\ 2\0\ 4\0\ 4\0\0\0p\0\ 1\ 1\ 1\0\ 2\0\ 4\0\ 6\0\ 6\0\0\0P\0\ 1\0\ 1\0\ 2\0\ 2\0\ 4\0\ 4\0\ 1\0À\0\0\0\ 1\ 1\0\0\0\0\ 2\0\ 4\0\0\0Ð\0\ 1\0\ 1\ 1\ 2\0\ 2\0\ 4\0\ 6\0\0\0ð\0\ 1\ 1\ 1\ 1\ 2\0\ 4\0\ 6\0\b\0\0\0Ð\0\ 1\0\ 1\ 1\ 2\0\ 2\0\ 4\0\ 6\0\ 1\0@\0\0\0\ 1\0\0\0\0\0\ 2\0\ 2\0\0\0P\0\ 1\0\ 1\0\ 2\0\ 2\0\ 4\0\ 4\0\0\0p\0\ 1\ 1\ 1\0\ 2\0\ 4\0\ 6\0\ 6\0\0\0P\0\ 1\0\ 1\0\ 2\0\ 2\0\ 4\0\ 4\0\0\b\0\0\ 2\0\0\0\80\0\0\0\0\0\0\b\0\0\0\b\0\0\0\b\0\b\0\0\ 2\0\0\0\80\0\0\0\0\0\0\b\0\0\0\b\0\0\0\b\0\10\0\0\ 4\0\0\0\0\ 1\0\0\0\0\0\10\0\0\0\10\0\0\0\10\0\b\0\0\ 2\0\0\0\80\0\0\0\0\0\0\b\0\0\0\b\0\0\0\b\0\b\0\0\ 2\0\0\0\80\0\0\0\0\0\0\b\0\0\0\b\0\0\0\b\0\10\0\0\ 4\0\0\0\0\ 1\0\0\0\0\0\b\0\0\0\10\0\0\0\10\0\18\0\0\ 6\0\0\0\80\ 1\0\0\0\0\0\18\0\0\0\18\0\0\0\18\0\10\0\0\ 4\0\0\0\0\ 1\0\0\0\0\0\b\0\0\0\10\0\0\0\10\0\10\0\0\ 4\0\0\0\0\ 1\0\0\0\0\0\10\0\0\0\10\0\0\0\10\0\18\0\0\ 6\0\0\0\80\ 1\0\0\0\0\0\18\0\0\0\18\0\0\0\18\0 \0\0\b\0\0\0\0\ 2\0\0\0\0\0 \0\0\0 \0\0\0 \0\18\0\0\ 6\0\0\0\80\ 1\0\0\0\0\0\18\0\0\0\18\0\0\0\18\0\b\0\0\ 2\0\0\0\80\0\0\0\0\0\0\b\0\0\0\b\0\0\0\b\0\10\0\0\ 4\0\0\0\0\ 1\0\0\0\0\0\b\0\0\0\10\0\0\0\10\0\18\0\0\ 6\0\0\0\80\ 1\0\0\0\0\0\18\0\0\0\18\0\0\0\18\0\10\0\0\ 4\0\0\0\0\ 1\0\0\0\0\0\b\0\0\0\10\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0@\0\0\0\ 1\0\0\0\0\0\ 2\0\ 2\0\ 1\0À\0\0\0\ 1\ 1\0\0\0\0\ 2\0\ 4\0\0\0P\0\ 1\0\ 1\0\ 2\0\ 2\0\ 4\0\ 4\0\0\0ð\0\ 1\ 1\ 1\ 1\ 2\0\ 4\0\ 6\0\b\0\0\b\0\0\ 2\0\0\0\80\0\0\0\0\0\0\b\0\0\0\b\0\0\0\b\0\b\0\0\ 2\0\0\0\80\0\0\0\0\0\0\b\0\0\0\b\0\0\0\b\0\10\0\0\ 4\0\0\0\0\ 1\0\0\0\0\0\10\0\0\0\10\0\0\0\10\0\10\0\0\ 4\0\0\0\0\ 1\0\0\0\0\0\b\0\0\0\10\0\0\0\10\0 \0\0\b\0\0\0\0\ 2\0\0\0\0\0 \0\0\0 \0\0\0 @\88\80\84@\88\80\84\80\0@\0\0\ 1\0\ 2\80\ 1@\ 2\0\ 2\0\ 1\ 3°\0\0\0\ 3 \0\0\0\83\98\0\0\0\83\9a\0ÿÿ\ 3¢\0\0\0\ 5¤\0\0\0\0\0\ 5¨\0\0\0\0\0\ 5¬\0\0\0\0\0\0\0\0\0\ 1\0\ 4\0\b\0\10\0 \00\0@\0\80\0\0\ 1\0\ 1\0\0\ 2\0\0\ 4\0\0(\0\08\0\0\18\0\0\ 6\0\ 1\ 4\0\0\f\0\0\f\0\0\ 6\0\0\18\80\ 3\18\0\0\ 2\ 5\ 3\ 2¸\v¸\v\0\0\0\0\0\0è\ 3Ð\a¸\vÜ\ 5Ä  Ð\aè\ 3¸\v\0\0\0\0Ä     Ä       \0\0\0\0\0\0\88\13 \ f¸\v\0\0\0\0\0\0\18\14\0\0\8c
\fâ\ 4ô\ 1\ 5 \ f\ 2\0\0\0\ 5¤\ f\ 2\0\ 5$\0\ 2\ 3\ 2\ 2\ 50\0\ 6\18\1f\0\ 54\0\0(\10\ 1\ 58\0\0\0\0\a\ 5<\0\10@\ 1\ 1\ 5@\0\0\80\ 3\ f\ 3\98\ 2\0\0\ 3\94\ 2\0\0\ 4\9c\ 2\0ðh\ 6\ 6`\ 2ÿÃðø\0<\ 6\ 3\ 1d\ 2x\86ü\ 53333DDDD\0\ 2\9a\ 2ð\0\ 2q\ 2\81\ e\ 2Ù\ 5û\ 4\ 6 \ 1\0\0\0ø\0@\ 1\0\0\0\ 2Ø\ 5ñ\0\ 4Ä\ 5\0Àÿ?\ 2e\ 2à\0\0\0\0\ 2Ü\ 5\7f\0\ 4'\ 1\0ø@\ 5ÿ\a\80Ëýÿÿ\aOÊýÿÿ\a¶Çýÿ\11\ 6_¬ýÿ\12\ 6\fgýÿ!\a=¬ýÿ"\a\16¥ýÿÿ\aAÌýÿÿ\a*Èýÿ1\ 6ö\80ýÿA\aì\88ýÿB\aW\89ýÿQ\ 65·ýÿa\ 6\10qýÿb\aB¢ýÿc\ 65\7fýÿq\a\86\93ýÿr\aÝpýÿs\a\1f\80ýÿt\ 5ý\94ýÿ\81\a­\98ýÿ\82\ 5ç\98ýÿ\84\ 5ɱýÿ\85\aü³ýÿ\86\a\81\9býÿ\83\ 2ª\9aýÿ\91\a=\9cýÿ\92\aB\97ýÿ¡\a\1a¨ýÿ¢\a¤«ýÿ£\ 5Ëcýÿ¤\a{cýÿ¥\ 5\17fýÿ¦\aùeýÿ±\ad\9cýÿÂ\a\v\96ýÿÑ\aÔ\9eýÿá\a\85¼ýÿñ\az¬ýÿò\aåÊýÿÿ\a\99Êýÿÿ\aHËýÿ\0\0\0\0\0\0\0\0\0\0\0\0EÆýÿýÇýÿ\88¿ýÿ
+Áýÿ®Ãýÿ=Åýÿ\0\0\0\0        
+\17\18\19\1a\0\00E%@¸\vÄ  \98:Ô0\0\18\0\0\1e\0\0\0\ 1
+\0\0\e\0\0\ 2\ 2
+\0\0\1d\0\0\ 2\ 3\ f\0\0$\0\0\ 2\ 4N\0\0*(\ f\0\ 5\ f\0\0%\0\0\ 2\ 6\ f\0\0\1c\0\0\ 2\a\ f\0\0&\0\0\ 2\0\18               \16\15\ f\ 3\ 1
+\ 3\ 3\14\0\0\ 3\ 2
+\ 3\ 3\12\0\0\ 3\ 3\ f\0\ 3\11\0\0\ 3\ 4N\ f\ f\18\19ÿ\ 3\ 5\ f\0\ 4\1a\0\0\ 3\ 6\ f\0\ 2\13\0\0\ 3\a\ f\0\ 4\e\0\0\ 3\0\0\0\0\0è\ 3\0ú\0\0\0úè\ 3\0M\ 1\0\0\ 3\0ô\ 1\0\0ôé\ 3\0\9b\ 2\0\0\9bê\ 3\0î\ 2\0\0îê\ 3\0\ 2\ 3\ 4\ 5     
+\v\r\11\12\14\16\17\18\19\1a\e\1c\1d\1e$%&(*1\0\0\ 2\ 3\ 4\ 5\a\b
+\v\f\ e\ f\10\11\12\13\14\15\16\17\18\19\1a\e?\0\0\0\0\9b\ 2 \ 3\9b\ 2 \ 3¸\vÄ       p\17\88\13\14\ 5\18\ 6\0\a\ 6\ 5\ 2\ 1\ 4\ 3'B\ 1\b!B\ 1\0!B\ 1\0!B\ 1\0\10\10\10\10\14\14\14\14\ 1\ 1\0\b\0\ 4\ 1\0\0\10\0\ 2\ 2\ 1\0\b\ 1\b\ 1\ 1\0\10\ 1\ 4\ 1\ 1\ 1\b\ 1\b\0\ 1\ 1\10\ 1\ 4\ 2\ 1\ 1\b\ 2\10\ 1\ 1\ 1\10\ 2\b\ 3\ 1\ 1\b\ 3 \ 2\ 1\ 1\10\ 3\10\0\ 1\80\0\0\ 2\0\ 1\0\ 2\0\ 1\0\ 4\0\ 2\0\b\0\ 4ÿÿÿÿÿ\0\ 2ÿÿ\ 1ÿÿÿ\ 3ÿÿÿÿÿÿÿ\ 4\ 6\bÿÿÿÿ\ 5\a  ÿ\ 3\ 2\ 4\ 4\0\0\0\0\ 4\ 2\ 1\b\0\0\0\0\ 4\ 2\ 1\b\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 1\b\ 4\0\0\b\ 4\0\ 2\ 1\10\0\0\0\10\b\ 4\ 1 \0\0\0\0\0\ 2\0\0\0\0\ 4\ 2\ 2\ 1\10\b\0\0\0\10\b\ 4\ 1 \0\0\b\ 4\0\ 2\ 1\10\0\0\0\0\0\0\0\0\0\0\0\b\ 4\ 2 \10\0\0\0\0\ 4\ 2\ 1\b\0\0\0\0\ 4\ 2\ 1\b\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 1\b\ 4\0\0\0\0\ 4\ 2\ 1\b\0\0\0\0\ 4\ 2\ 1\b\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 1\b\ 4\0\0\b\ 4\ 2\0\ 1\10\0\0\0\10\b\ 2\ 1 \0\0\0\0\ 4\0\0\0\0\0\ 4\ 2\ 2\ 1\10\b\0\0\0\10\b\ 2\ 1 \0\0\b\ 4\ 2\0\ 1\10\0\0\0\0\0\0\0\0\0\0\0\b\ 4\ 2 \10\0\0\0\0\ 4\ 2\ 1\b\0\0\0\0\ 4\ 2\ 1\b\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 1\b\ 4ÿÿÿÿ\ 5\ 3\ 3\ 5ÿÿ\0\0\0\0\0\0\1f\1f\1f\1f¥\1f\1f*\0\0\0\0\ 2\0\0\ 5\1f\1f\1f\1f\v\a\a\r\0\0\0\0\0\0\0\0ÿÿÿÿ\ 5\ 3\ 3\ 5ÿÿ\0\0\0\0\0\0(
+0\f\0\0.â.â.â*¢*¢*¢\0\0.â.â.â*¢*¢\0\15\0\0\0\15\0\0\02\0\0\02\0\0\0\ 5\11\0\0\ 5\11\0\0\ 5\11\0\0\ 5\11\0\0*\0\0\0*\0\0\0*\0\0\0*\0\0\0;\10\0\0;\10\0\0;\10\0\0;\10\0\0\ 4\11\ 1\0\ 4\11\ 1\0\ 4\11\ 1\0\ 4\11\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\11\0\ 1\0\11\0\ 1\0\11\0\ 1\0\11\0\ 1\0\e\0\ 1\0\e\0\ 1\0\e\0\ 1\0\e\0\ 1\0\1f\0\ 1\0\1f\0\ 1\0\1f\0\ 1\0\1f\0\ 1\0'\0\ 1\0'\0\ 1\0'\0\ 1\0'\0\ 1\0\10\0\0\0\10\0\0\0\10\0\0\0\10\0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0)\0\0\0)\0\0\0)\0\0\0)\0\0\05\10\0\05\10\0\05\10\0\05\10\0\07\10\0\07\10\0\07\10\0\07\10\0\0\ 2\11\ 1\0\ 2\11\ 1\0\ 2\11\ 1\0\ 2\11\ 1\0\b\11\ 1\0\b\11\ 1\0\b\11\ 1\0\b\11\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\15\0\0\0\15\0\0\02\0\0\02\0\0\0\ 5\11\0\0\ 5\11\0\0\ 5\11\0\0\ 5\11\0\0*\0\0\0*\0\0\0*\0\0\0*\0\0\0;\10\0\0;\10\0\0;\10\0\0;\10\0\0\ 4\11\ 1\0\ 4\11\ 1\0\ 4\11\ 1\0\ 4\11\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\11\0\ 1\0\11\0\ 1\0\11\0\ 1\0\11\0\ 1\0\e\0\ 1\0\e\0\ 1\0\e\0\ 1\0\e\0\ 1\0\1f\0\ 1\0\1f\0\ 1\0\1f\0\ 1\0\1f\0\ 1\0'\0\ 1\0'\0\ 1\0'\0\ 1\0'\0\ 1\0\10\0\0\0\10\0\0\0\10\0\0\0\10\0\0\0 \0\0\0 \0\0\0 \0\0\0 \0\0\0)\0\0\0)\0\0\0)\0\0\0)\0\0\05\10\0\05\10\0\05\10\0\05\10\0\07\10\0\07\10\0\07\10\0\07\10\0\0\ 2\11\ 1\0\ 2\11\ 1\0\ 2\11\ 1\0\ 2\11\ 1\0\b\11\ 1\0\b\11\ 1\0\b\11\ 1\0\b\11\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\0\0\0\0\0\0\0\0\ 4\11\0\0\ 4\11\0\0\a\11\0\0\a\11\0\0\a\11\0\0\a\11\0\0\ 3\0\ 1\0\ 3\0\ 1\0\ 3\0\ 1\0\ 3\0\ 1\0\ 3\0\ 1\0\ 3\0\ 1\0\ 3\0\ 1\0\ 3\0\ 1\0\ 3\0\ 1\0\ 3\0\ 1\0\ 3\0\ 1\0\ 3\0\ 1\0\ 2\0\ 1\0\ 2\0\ 1\0\ 2\0\ 1\0\ 2\0\ 1\0\0\0\ 1\0\0\0\ 1\0\0\0\ 1\0\0\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 1\0\ 2\0\ 1\0\ 2\0\ 1\0\ 2\0\ 1\0\ 2\0\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\ 6\11\ 1\0\ 6\11\ 1\0\ 6\11\ 1\0\ 6\11\ 1\0\ 4\11\ 1\0\ 4\11\ 1\0\ 4\11\ 1\0\ 4\11\ 1\0\ 5\11\ 1\0\ 5\11\ 1\0\ 5\11\ 1\0\ 5\11\ 1\0\ 5\11\ 1\0\ 5\11\ 1\0\ 5\11\ 1\0\ 5\11\ 1\0\ 6\11\ 1\0\ 6\11\ 1\0\ 6\11\ 1\0\ 6\11\ 1\05\10\0\05\10\0\0
+\11\0\0
+\11\0\0\0\11\0\0\0\11\0\0\0\11\0\0\0\11\0\0#\0\ 1\0#\0\ 1\0#\0\ 1\0#\0\ 1\0)\0\ 1\0)\0\ 1\0)\0\ 1\0)\0\ 1\0)\0\ 1\0)\0\ 1\0)\0\ 1\0)\0\ 1\0.\0\ 1\0.\0\ 1\0.\0\ 1\0.\0\ 1\06\10\ 1\06\10\ 1\06\10\ 1\06\10\ 1\00\0\ 1\00\0\ 1\00\0\ 1\00\0\ 1\00\0\ 1\00\0\ 1\00\0\ 1\00\0\ 1\0-\0\ 1\0-\0\ 1\0-\0\ 1\0-\0\ 1\0\ 3\11\ 1\0\ 3\11\ 1\0\ 3\11\ 1\0\ 3\11\ 1\0
+\11\ 1\0
+\11\ 1\0
+\11\ 1\0
+\11\ 1\0
+\11\ 1\0
+\11\ 1\0
+\11\ 1\0
+\11\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\17\0\ 1\0\17\0\ 1\0\17\0\ 1\0\17\0\ 1\0\12\0\ 1\0\12\0\ 1\0\12\0\ 1\0\12\0\ 1\0\12\0\ 1\0\12\0\ 1\0\12\0\ 1\0\12\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ 3\0\0\0\ 3\0\0\0\a\11\ 1\0\a\11\ 1\0\a\11\0\0\a\11\0\0\a\11\0\0\a\11\0\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 4\0\ 1\0\ 5\0\ 1\0\ 5\0\ 1\0\ 5\0\ 1\0\ 5\0\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\ 3\0\0\0\ 3\0\0\0\ 3\0\0\0\ 3\0\0\0\ 3\0\0\0\ 3\0\0\0\ 3\0\0\0\ 3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 1\0\0\0\ 1\0\0\0\ 1\0\0\0\ 1\0\0\0\ 3\0\0\0\ 3\0\0\0\ 3\0\0\0\ 3\0\0\05\10\0\05\10\0\0
+\11\0\0
+\11\0\0\ 5\11\0\0\ 5\11\0\0\ 5\11\0\0\ 5\11\0\0\e\0\ 1\0\e\0\ 1\0\e\0\ 1\0\e\0\ 1\0"\0\ 1\0"\0\ 1\0"\0\ 1\0"\0\ 1\0"\0\ 1\0"\0\ 1\0"\0\ 1\0"\0\ 1\0'\0\ 1\0'\0\ 1\0'\0\ 1\0'\0\ 1\0/\0\ 1\0/\0\ 1\0/\0\ 1\0/\0\ 1\0,\0\ 1\0,\0\ 1\0,\0\ 1\0,\0\ 1\0/\0\ 1\0/\0\ 1\0/\0\ 1\0/\0\ 1\0/\0\ 1\0/\0\ 1\0/\0\ 1\0/\0\ 1\0;\10\0\0;\10\0\0;\10\0\0;\10\0\0\ 2\11\ 1\0\ 2\11\ 1\0\ 2\11\ 1\0\ 2\11\ 1\0\ 2\11\ 1\0\ 2\11\ 1\0\ 2\11\ 1\0\ 2\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\a\11\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\f\11\ 1\0\f\11\ 1\0\f\11\ 1\0\f\11\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\0\ f\0\ 1\1c\ 3\0\0t\ 3¢\ 3Ð\ 3þ\ 3,\ 4\0\0\0\0\0\ 1\ 1\0\0\0
+\0
+
+
+
+
+
+\0
+
+
+
+
+\0\0f\0ªUUwwf\0ªUUww\0\0\ 1\0\0\0\0\ 1\ 1\ 1\0\0\0\0\ 1\ 1\0\0\0
+
+
+
+\0\0\0\0UUªª\0\0\0\0\0.â.â.â(\82\0\0\0\0\0\0\ 2\0\0\0U\0fwwUU\0\0\0,Â,Â,Â,Â,Â\0\0\ 1\0\ 1\ 1\ 1\ 1\ 1\0\0\0,Â,Â,Â,Â\0\0\0ff\99\99\0\0\0\0\ 1\ 1\ 1\ 1\0\0\0\19\0\ 5\ 5\ 5\ f\ f\0    \0\0\0\0\a\a  \0\0\0\0\a\a\0\0\14\11\0\0\ 5\ 5                          
+
+
+
+\14\11\0\0\ 5\ 5                         
+
+
+
+\19\12\f\0\0\0\0\0\19\12\f\0\19\12\f\0\19\12\f\0\19\12\f\0\19\12\f\0\19\12\f\0\0\0\0\0\19\12\f\0\19\12\f\0\19\12\f\0\19\12\f\0\19\12\f\0\f\12\19\12\12\f\12\19\12\12\0\0\ 1\ 1\0\0\0\0\0\ 1\0\0\0\0\0\ 1\0\0\ 1\0\ 1\0\ 1\ 1\0\a\0\0\ 1\ 1\0\0\0\0\ 1\ 1\ 1\0\0666666666666666\06666\0\0\0\0???????????????\0????\0\0\0\a\90|\0\a\90|\01\ 4\ 5\0B\ 5\ 5\01\14\ 5\0B\15\ 5\0\7f\1f\7f\1f'(Ä\14'(\ 4\19\06)L\06)L           \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5              \v\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5
+       \f\v\ 2\ 2\ 5\ 5\ 6\ 6\ 5\ 5
+       \f\v\ 2\ 2\ 6\ 5\a\ 6\ 6\ 5
+
+\f\f\ 2\ 2\ 6\ 5\a\ 6\ 6\ 5
+
+\f\f\ 2\ 2\ 6\ 6\a\a\ 6\ 6
+
+\f\f\ 3\ 2\ 6\ 6\a\a\ 6\ 6
+
+\f\f\ 3\ 2\ 6\ 6\a\a\ 6\ 6
+
+\f\f\ 3\ 2\ 6\ 6\a\a\ 6\ 6
+
+\f\f\ 3\ 3\ 6\ 6\a\a\ 6\ 6
+
+\f\f\ 3\ 3\ 6\ 6\a\a\ 6\ 6
+
+\f\f\ 3\ 3\ 6\ 6\a\a\ 6\ 6
+
+\f\f\ 3\ 3\ 6\ 6\a\a\ 6\ 6
+
+\f\f\ 3\ 3\ 6\ 6\a\a\ 6\ 6\v
+\f\f\ 3\ 3\ 6\ 6\a\a\ 6\ 6\v
+\ e\r\ 3\ 3\ 6\ 6\a\a\ 6\ 6\f
+\ e\r\ 3\ 3\ 6\ 6\a\a\ 6\ 6\f\f\ e\r\ 3\ 3\a\ 6\a\a\a\ 6\r\f\10\ f\ 3\ 3\a\ 6\b\a\a\ 6\r\ e\10\ f\ 4\ 3\a\a\b\b\a\a\ e\ e\10\11\ 4\ 3\a\a\b\b\a\a\ e\10\12\11\ 4\ 4\b\a\b\b\b\a\ f\10\12\13\ 4\ 4\b\a \b\b\a\ f\12\12\13\ 4\ 4\b\b             \b\b\10\12\14\15\ 4\ 4\b\b              \b\b\10\13\14\15\ 5\ 4        \b
+               \b\10\13\14\17\ 5\ 5         
+
+               \11\13\16\17\ 5\ 5          
+
+               \11\14\16\19\ 5\ 5          
+
+               \11\14\16\19\ 5\ 5          
+
+               \12\14\16\19\ 5\ 5          
+
+               \12\15\18\19\ 5\ 5          \v
+               \13\15\18\e\ 5\ 5          \v\v              \13\16\18\e\ 5\ 5
+       \v\v
+       \14\16\18\e\ 6\ 5
+
+\v\v
+
+\14\17\1a\e\ 6\ 6
+
+\f\f
+
+\14\17\1a\1d\ 6\ 6
+
+\f\f
+
+\15\18\1a\1d\ 6\ 6
+
+\f\f
+
+\15\18\1a\1d\ 6\ 6\v
+\f\r\v
+\16\19\1c\1d\ 6\ 6\v\v\r\r\v\v\16\19\1c\1f\ 6\ 6\v\v\r\r\v\v\16\1a\1c\1f\ 6\ 6\v\v\r\ e\v\v\17\1a\1e\1f\a\ 6\f\v\ e\ e\f\v\17\e\1e!\a\a\f\f\ e\ e\f\f\17\e\1e!\a\a\f\f\ e\ f\f\f\18\1c !\a\a\f\f\ f\ f\f\f\18\1c !\a\a\f\f\ f\10\f\f\18\1d #\a\a\f\f\ f\10\f\f\19\1d #\a\a\f\f\ f\11\f\f\19\1e #\a\a\f\f\ f\11\f\f\19\1e #\a\a\f\f\ f\11\f\f3\0\0333ÿ\0\0ÿÿÿ\ f\10À\13Ï\13\ f\10À\13Ï\13Ì¿\7f¦L¦À¿\7f @ }\ 5y\ 5u\ 5q\ 5m\ 5i\ 5e\ 5a\ 5\ 5\ 5\ 5\0\0\0\0\0\ f
+
+\ 5\0\0\0\0\ 4\ 3\0\0      \v\0\0\ 1\ 6\ 1\ 3\0\ 2\0\0,\ 1,\ 1q\ 2A\ 2d\0>\0d\ 24\ 2Y\08\0\0\ 2\10\12¨\15£\14\0\0\0\0\0\ 1\ 3\0\ 1\ 2$\f\0\0\0\0\0\0\0\0\0\ 1\ 3\0\ 1\ 2$\f\ 2\ 3E\10\0\0\0\0\9a\ 19\0\99\0I\10\0\0\0\0\0\0\0\0\9a\ 19\0\99\0I\10\99\0Y!\ e\12\10\14\0\0\0\0\0\0\0\0\ 1\ 2$\f\ 2\ 2E\10\0\0\0\0\0\0\0\0\ 1\ 2$\f\ 2\ 2E\10\0\0\0\0\9a\ 1\f\0\99\0L\11\99\0Y\11\0\0\0\0\9a\ 1       \0\99\0Y!\99\0Y\11\ f\12\12\16\ 5\0\ 5\0\ 6\0\ 5\0\ 4\ 6\ 4\ 6\ 4\ 6\ 4\ 6\0\0\0\0\ 2\ 1\b\ 4\ 4\ 2\ 1\b\0\0\ 4\ 2\ 2\ 1\10\b\ 2\0\ 1\10\0\0\0\b\ 4\ 2 \10\b\ 2\ 1 \0\0\0\0\ 2\ 3\b\f\ 4\ 2\ 1\b\0\0\0\0\ 2\ 3\b\f\ 4\ 2\ 1\b\0\0\ 4\ 2\ 2\ 1\10\b\0\0\0\0\0\0\0\18\f\ 6!0\b\ 2\ 1 \0\0\0\0\ 6\ 3 \f\0\0\0\0\88\13|\15\ e4\ e3\ 5\ 6\ 5        \ 4\0\ 4\0\ 4\b\ 4\b\ 5\0\ 5\0\ 5\ 6\ 5 \0\0\0\0\0\0\11\0\0\0\11\11\11\0\11\0\11\11\11\11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0\10\0\10\0\0\0\11\0\0\0\0\0\0\0\0\0\0\0\11\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\11\0\0\0\0\0\10\0\11\0\0\0\11\0\0\0\10\0\0\0\11\0\0\0\0\0\10\0\0\0\0\0\11\0\0\0\11\11\0\0\11\0\0\0\0\0\11\0\11\0\11\0\11\11\11\0\11\0\11\0\0\0\11\11\11\0\11\11\11\11\11\11\11\0\11\11\0\0\11\0\11\0\11\0\11\11\11\0\11\0\11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 2\0\ 2\0\ 2\ 2\ 2\0\ 2\0\ 2\0\0\0\0\0\ 2\0\ 2\ 2\ 2\ 2\ 2\ 2\ 2\0\ 2\ 2\0\0\0\0\ 2\0\ 2\0\ 2\ 2\ 2\0\ 2\0\ 2\0\0\0\0\0\0\0\ 2\0\0\0\ 2\ 2\ 2\0\ 2\0\ 2\ 2\ 2\ 2Æ\90Ü<û\13uJ\9eyYéÝx¹úaßä\8bÊ\93Ò\11ª\r\0à\98\ 3+\8cÑñ­mÌÔ\10I»n\82±ý\80ÿ=\0\0\0\0\9f\ 4\19L7AÓM\9c\10\8b\97¨?ýúÍ3KV*É\93E\90¿$sä<c"'¿ÔN\92@éB\80}R{\1d\0ɽu\19âø\99\bXO¤¾U%©Æ×zy)ë0÷°`M²Ü\1a,\96αô\1eô~\9a@ÁÑK¸\84\1e\11$\vLæ0ÕÛ\80\11O\8c\ 3A\86eS(1M\0e\0m\0o\0r\0y\0C\0o\0n\0f\0i\0g\0\0\0\0\0 \ 3W\1c\88°\9cA»øu\Ö\v\1dA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\08\0\0\0u2\922\972Ô2\143=3q4Å6è647ê7U8\87899\18:H:\84;"<ê=ñ=\ 4>\9f>\9a?\0\0\0\10\0\04\0\0\0Q4j4Z<¼<\r=Ã>Ñ>Û>ó>\17?9???Q?X?j?w?\81?\97?ª?¾?Å?ø?\0 \0\0¬\0\0\0\180>0D0Z0b0x0\850\8b0¡0©0¿0Æ0ô0\ 1121L1v1§1Á1Ý1%292T2`2\932Ç2\ 23
+313{3\8b3Ô3(434W4\9f4ü4\1c5b5i5p5¯5Ù5ñ5\126 676R6³6Ñ6Ú6\ 57%7R7`7Å8ã8\1d9;9{9\999Í9ß9÷9?:Q:i:¾:Ü:\16;4;t;\92;Æ;Ø;ð;8<J<b<±>K?\0\0\00\0\0(\0\0\0d6\826â6õ6\9c8ª8!:c:w:<;};#?\9c?¦?°?º?\0@\0\0d\0\0\0þ0\v1,151>1D1N1Y1d1n1w1}1£1¬1µ1»1Å1Ð1Û1å1î1ô1r3\843µ3Ï3Ë5Ø6\149\e9è9\ 1:\v:/:K:R:\:\r;\14;$;à;S=Ã=\1c?,?Ý?\0P\0\0(\0\0\0²2Ç2Ü2ñ2W3i3\91:\97:¨;Ç;H<T<i<\85<F?\8b?\0`\0\04\0\0\0\b0)0\934Ó4â4\1e9_9\ 3:\15:%:3:E:W:m:é;ð;\88<Â<\14?\e?\94?»?\0p\0\08\0\0\0\120\900\9f0³0»0\991¦1°1Ó1ß1è1ó1\ 2282C2r2#4n4 >$>(>,>0>\0\0\0\80\0\0h\0\0\0\9a9 9¦9¬9²9¸9¾9Ä9Ê9Ð9Ö9Ü9â9è9î9ô9ú9\0:\ 6:\f:\12:\18:\1e:$:*:0:6:<:B:H:N:T:Z:`:f:l:r:x:~:\84:\8a:\90: :¤:¨:¬:°:´:\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿ\rÊÉ_Ó2¿F\91\fÀ÷ëë\8b(\ 6@Ä \0ø¬     \0\12VZL\ 1\ 3\vÀ\ 1`\ 2\0\0@\ 2\0\0\14óýÿ\0\0\0\0 \v\0\0\14\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0«\b\0\0@\ 2\0\0À\b\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0 \0\0\0\0\v\0\0 \0\0\0\0\v\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0\1c\0\0\0 \v\0\0 \0\0\0 \v\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bìQ\8bE\fP\8bM\bQè½\ 6\0\0\83Ä\b\89Eü3Òuü\8bå]ÃÌU\8bì\8bE\fP\8bM\bQèÐÿÿÿ\83Ä\b\8bU\fR\8bE\b\10\0\0\0\83Ä\b]ÃÌÌÌÌÌÌÌÌÌÌÌU\8bì\83ì\18VWj`è½\ 6\0\0\83Ä\ 4\89Eì3Àuüj\fè¬\ 6\0\0\83Ä\ 4\89Eô3Éuü\8bUìÇ\ 2smma\8bEìÇ@\b\9cõýÿ\8bMìÇA\füöýÿ\8bUìÇB\10Üøýÿ\8bEìÇ@\14¼ùýÿÇEð\0\0\0\0h\8cüýÿè(\a\0\0\83Ä\ 4\89\8b\83Á\18\89\83\0u\ e3Òuü¸\ e\0\0\80éô\0\0\0ÇEø\0\0\0\0ë       \8b\83À\ 1\89\8b\8bUø;\11\ f\83\8d\0\0\0\8bEøÁà\ 5\8bMøÁá\ 5\8b\8b\8b|\ 6\b\89|
\8bD\ 6\f\89D
+$\8bMøÁá\ 5\8bUøÁâ\ 5\8b\8b\8b|\ e\10\89|\10(\8bL\ e\14\89L\10,\8bUøÁâ\ 5\8bEøÁà\ 5\8b\8b\8b|\16\18\89|\ 10\8bT\16\1c\89T\ 14\8bEøÁà\ 5\8bMøÁá\ 5\8b\8b\8b|\ 6 \89|
+8\8bD\ 6$\89D
+<é\ÿÿÿ\8b\8b\89Q\1c\8bEôÇ\0\10\0\0\80\8bMôÇA\ 4|üýÿ\8b\83Â\b\8b\89P\b\8bMôQ\8bU\fR\8bE\f\8b\b\8bQ\18ÿÒ\83Ä\b\89Eè3Àuü\8bEè_^\8bå]ÃÌÌÌÌÌÌÌU\8bì\83ì\14V\8bE\f\83è\b\89\8b\8bU\10;Q\1cr\103Àuü¸\ 2\0\0\80é/\ 1\0\0ë3\8bM\10Áá\ 5\8b\8bD
+8\83à\ 4\8bL
+<\83á\0\89\89\8b\vUðt\ e3Àuü¸\a\0\0\80éú\0\0\0\8a\r\9e\0\0à\88Mÿ\ f¶Uÿ\83â@t\173Àuü\ f¶Mÿ\83É@\88Mÿ\8aUÿ\88\15\9e\0\0à \9d\0\0à\88\ f¶M÷\83á\10t3\8bU\10Áâ\ 5\8b\8bL\108\83É\ 4\8bT\10<\8bE\10Áà\ 5\8b\89L\ 68\89T\ 6<3Éuü¸\a\0\0\80é\8d\0\0\0\ f¶U÷\83Ê@\88\8aE÷¢\9d\0\0à\8bM\10Áá\ 5\8b\8bD
+8\83àí\8bL
+<\8bU\10Áâ\ 5\8b\89D\168\89L\16<\8bE\10Áà\ 5\8b\8bT\ 18\83Ê\ 1\8bD\ 1<\8bM\10Áá\ 5\8b\89T\ e8\89D\ e<\8bUøÆB\19\ 1 \9e\0\0à\88Eÿ\ f¶Mÿ\83á@t\173Òuü\ f¶Eÿ\83È@\88Eÿ\8aMÿ\88\r\9e\0\0à3À^\8bå]ÃÌÌÌU\8bì\83ì$V\8bE\f\83è\b\89\8b\8bU\10;Q\1cr\103Àuü¸\ 2\0\0\80é±\ 1\0\0ë3\8bM\10Áá\ 5\8b\8bD
+8\83à\ 4\8bL
+<\83á\0\89\89\8b\vUðt\ e3Àuü¸\a\0\0\80é|\ 1\0\0\8bM\10Áá\ 5\8b\8bD
+8\83à\ 2\8bL
+<\83á\0\89\89\8b\vUèt
\a\0\0\80éM\ 1\0\0 \9e\0\0à\88\ f¶Mþ\83á@t\173Òuü\ f¶Eþ\83È@\88\8a\88\r\9e\0\0à\8a\15\9d\0\0à\88\ f¶E÷\83à\10t3\8bM\10Áá\ 5\8b\8bD
+8\83È\ 4\8bL
+<\8bU\10Áâ\ 5\8b\89D\168\89L\16<3Àuü¸\a\0\0\80éà\0\0\0\ f¶M÷\83á¿\88\8a\88\15\9d\0\0à\8bE\10Áà\ 5\8b\8bT\ 18\83âþ\8bD\ 1<\8bM\10Áá\ 5\8b\89T\ e8\89D\ e<\8bU\10Áâ\ 5\8b\8bL\108\83É\12\8bT\10<\8bE\10Áà\ 5\8b\89L\ 68\89T\ 6<ÆEý\0ÆEÿ\0ë \8aMÿ\80Á\ 1\88Mÿ\ f¶Uÿ\8bEø;P\1cs0\ f¶MÿÁá\ 5\8b\8bD
+8\83à\ 1\8bL
+<\83á\0\89\89\83\ 1u
+\83\0u\ 4ÆEý\ 1ë»\8b\8a\88B\19\8a\r\9e\0\0à\88\ f¶Uþ\83â@t\173Àuü\ f¶Mþ\83É@\88\8a\88\15\9e\0\0à3À^\8bå]ÃÌU\8bì\83ì\bV\8bE\f\83è\b\89\8b\8bU\10;Q\1cr\103Àuü¸\ 2\0\0\80éª\0\0\0ë\19\8b\ f¶Q\19\85Òt\ e3Àuü¸\a\0\0\80é\8f\0\0\0\8bM\10Áá\ 5\8b\8bD
+8\83È\ 4\8bL
+<\8bU\10Áâ\ 5\8b\89D\168\89L\16<\8bEøÆ@\18\ 1\8a\r\9e\0\0à\88Mÿ\ f¶Uÿ\83â@t\173Àuü\ f¶Mÿ\83É@\88Mÿ\8aUÿ\88\15\9e\0\0à\ f\ 5\9d\0\0à\83È\10¢\9d\0\0à\8a\r\9e\0\0à\88Mÿ\ f¶Uÿ\83â@t\173Àuü\ f¶Mÿ\83É@\88Mÿ\8aUÿ\88\15\9e\0\0à3À^\8bå]ÃÌÌÌÌÌÌÌÌU\8bì\83ì\f\8bE\f\83è\b\89\8b\8bQ\1cÁâ\ 5\89\8bE\10\8b\b;Môs\r3ÒuüÇEø\ 5\0\0\80ë\1e\8bEôP\8b\83Á Q\8bU\14\19\0\0\0\83Ä\fÇEø\0\0\0\0\8bE\10\8b\89\b\8b\8bå]ÃU\8bì\83}\10\0\8bE\bt\14;E\ft\ fÿu\10ÿu\f\ 5\0\0\0\83Ä\f]ÃU\8bì\8bE\fW\8b}\b;Çv\e\83}\10\0\8bÏt-+Ç\8a\14\bÿM\10\88\11A\83}\10\0uñë\1as\18\8bM\10V\8d4\ f\8d\14\bë\aIJ\8a\ 2N\88\ 6\85Éuõ^\8bÇ_]Ãé\12\0\0\0j\0ÿt$\fè\17\0\0\0YY3ÀÃÌÌPP\ f\7f<$XZÃÌÌÌÌÌÌÌ\ fo|$\ 4ÃU\8bìQèÊÿÿÿ\8b\b\8dUüRÿu\bPÿQL\83Ä\f\85À}\ 4\83\0\8bEüÉÃÿt$\ 4èÑÿÿÿY\85Àt\fÿt$\ 4\ 3\0\0\0YYÃé\0\0\0\0j\0ÿt$\fÿt$\fè\ 4\0\0\0\83Ä\fÃU\8bì\8bE\bë        \8aM\10ÿM\f\88\b@\83}\f\0\8bE\b]ÃU\8bìQ\8dEüPè~\0\0\0\8bEüYÉÃ\8bD$\b\ f·\bºÿÿ\0\0V\8bòf;Ît\1a\ f·Éf;L$\bt\12\ f·H\ 2\ 3Á\ f·\b\8bòf;Îué3À^ÃVÿt$\fë\1a\8dF\bPÿt$\fèD\0\0\0YY\84Àu\16\ f·F\ 2\ 3ÆPj\ 4è¦ÿÿÿ\8bðYY\85öu×\8bÆ^Ãè\82ÿÿÿPÿt$\bè½ÿÿÿYYÃèÎþÿÿÿt$\ 4\8b\bPÿQ0YYÃU\8bìQQSV\8bu\bWVèD\0\0\0\8b}\fW\8bØ\89Uüè6\0\0\0YY;Øu)9Uüu$\83Æ\bVè"\0\0\0\83Ç\bW\8bð\8bÚè\15\0\0\0YY;ðu\b;Úu\ 4°\ 1ë\ 22À_^[ÉÃ\8bL$\ 4\8b\ 1\8bQ\ 4ÃÌÌÌÌÌÌÌÌÌ\8aL$\f\8bD$\böÁ \ f\ fDD$\ 4\ f­ÐÓêÃÌÌÌÌÌ\8aL$\f\8bT$\ 4öÁ \ f\ fDT$\b\ f¥ÂÓàÃ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0©3\8f&Í̾H\88\17\86\ 5:Ã.ÖÑñ­mÌÔ\10I»n\82±ý\80ÿ=\0\0\0\0\14\0\0\0É2Ó2Ý2ç2ó2ä3\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿq½fÈy|ñK©;\ 6k\83\r\8f\9a   \ 2\ 6@ô"\0ø(\0\0\e\ 2\bt\8cüæN\92\88ľÀ\92¤\10\ 2©3\8f&Í̾H\88\17\86\ 5:Ã.Ö\ 3\b´"\0\12VZL\ 1\ 3\v¸\ 1ô\ 5\0\0@\ 2\0\0\ 4ýýÿ\0\0\0\0à#\0\0D\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0û\10\0\0@\ 2\0\0\0\11\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0 \10\0\0@\13\0\0 \10\0\0@\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0P\0\0\0à#\0\0`\0\0\0à#\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bìQQVW\8b}\14Áç\b\v}\10\83}\18\ 1¾\0\0\0\ fu\ 6\81Ï\0\80\0\0\80}\1c\0t\ 6\81Ï\0@\0\0\8bE\b\83è\0t\1dHt\12Ht\a¸\ 2\0\0\80ëU\81Ï\0\0\f\0ë\ e\81Ï\0\0\b\0ë\ 6\8bu\fÁæ\18j\eèy\r\0\0%\0ðÿÿ\89°\10\ 3\0\0\8d°\0\ 3\0\0\8bE$j
+Pÿu \83â\ f\89\89>ÿP\ 4\8b\ 6%\0\10\0\0\83Ä\10÷Ø\eÀ%\ 6\0\0\80_^ÉÃU\8bìQQj\eè1\r\0\0\83â\ f%\0ðÿÿ\89UüY\8d\88ð\0\0\0\8b\11\81â\ fýÿÿ\81Ê\ f\ 1\0\0\89\11\8d\88P\ 3\0\0\8b\11\81âÿ\aþÿ\81Ê\0\a\0\0\89\11\8d\88`\ 3\0\0\8b\ 1%ÿ\0þÿ\80}\b\0t\a\r\0\ 4\0\0ë\ 5\r\0\ 4\ 1\0\89\ 1ÉÃU\8bìSVÿu\fè\8cÿÿÿ3ÛY8]\fu\ e9]\10t ÿu\10è-\b\0\0Y\8bu\b\ f¶F\13PSè\ e\ 6\0\0\ f¶F\12Pè¦\ 5\0\0\ f¶F\aPèw\ 5\0\0\ f¶F\ fPè¾\ 4\0\0\ f¶F\17P\ f¶F\16P\ f¶F\15P\ f¶F\14PèR\ 3\0\0\83Ä$8^\10t\138^\11^[t\ 6]é+\ 3\0\0]é.\ 3\0\0^[]ÃU\8bìVW\8b}\b\8bw Vèô\b\0\0\8dE\bPÿw0èÑ
+\0\0ÿu\fj\0VèQÿÿÿÿF0Vèé\b\0\0\83Ä\1c_^]ÃU\8bìQQSVW\8b}\10\8bG\f\8bw\bh\0\ e\0\0\89Eüè\90\v\0\0PVèõ\f\0\0\83¦\0\ e\0\0\0\8bG(\89\86\ 4\ e\0\0Ç\86\b\ e\0\0\0\80\0\0Ç\86\f\ e\0\0=ÿýÿ\89\1c\ e\0\0è`\v\0\0\89\86 \ e\0\0\8bE\14\89\86(\ e\0\0j\ 6\89¾$\ e\0\0ÿw\10\8d\86\10\ e\0\0Pè \f\0\0j\ 6ÿw\18\8d\86\16\ e\0\0\8f\f\0\0ÿu\f\8b_ ÿu\b3Àj\ 1Pj\ 5PPj\ 2\89C0è\98ýÿÿ\83ÄDÿu\fÿu\bj\ 1j\0j\ 6j\fÿuüVèÅ\r\0\0\83Ä\fPj\0j\ 2èqýÿÿ\83Ä ë\ 5è\17\b\0\0\8bGLH9C0rò_^3À[ÉÃU\8bìQQ\83\0V\8bðj\0\8dEüPVWÿV\f\8b\a\8dMøQÿuüWÿPLÿuø\8dEüPVWÿV\f\8b\8bMøÁè\ 5\89EüÁà\ 5\8dD\ 1à\89\8bH\b\8b@\10\8d´\b\0ðÿÿ\83Ä,;ñr\1f\ eþÿVèm\r\0\0YY\84Àu\13\8b\81î\0\10\0\0;p\bsá3À^ÉÃ\8bÆëùU\8bìSVW\8b}\b\8b\a\8dM\bQj\0j\0hD\ fþÿWÿP \83Ä\14\8bE\bVPWÿ\10\83Ä\fF\85À}ð\8bE\bèEÿÿÿ\8bðÿ¶ \0\0\0\8bFp\8b^\10\ 3ÆPÿs\bè^\v\0\0ÿ¶°\0\0\0\8b\86\90\0\0\0\ 3ÆP\8bC\18ÿp\ 2èD\v\0\0\83Ä\18\8bE\bVPWÿP\ 4\83Ä\fF\85À}ï_^\8bÃ[]ÃU\8bì\83ì\fVfº\80\0°Èî\8bu\f\8b\ 6\8dMøQVÿP(YY\85À\ f\8c£\0\0\0\83\11\ f\85\99\0\0\0SWVè@ÿÿÿ\8dMôQj\0\8bøj\0ÆG\ 1\ 1\8b\ 6h$\ fþÿVÿP \8b\15\14\ fþÿ\8b\ 6\8b\8dMüQ\8b\r\10\ fþÿ\ 3Ñ\ 3\15\f\ fþÿÁâ\ 3RVÿPL\8b\ 6\ eþÿVÿP\18ÿuüèu\ 4\0\0j\0j\ 1Sè¼üÿÿh\0\10\0\0ÿw\b»T\ fþÿSè\82
+\0\0\83ÄHÿuüWÿuôVèXýÿÿh\0\10\0\0Sÿw\bèd
+\0\0\83Ä\1c_[3À^ÉÃV¾ \ 1\0\0VèK  \0\0\80|$\f\0Yt\ 5\83âûë\ 3\83Ê\ 4RPVè? \0\0\83Ä\f^Ãj\ 1èÐÿÿÿYÃj\0èÇÿÿÿYÃU\8bì\83ì\1cVW\8dEäPj\ 1èé\b\0\0\8bEäYY\8bð\8bÐÁê\bÁî\14j\ fY#Ñ\81æÿ\0\0\0\ 3ò\8bø\8bÐÁï\fÁê\ 4\81çð\0\0\0#Ñ#Á\ 3ú\89\83þ\ 6u\r\ f\85¡\0\0\0\83ø\ 4s\11\ f\85\94\0\0\0\83ÿ\ 6\ f\85\8b\0\0\0Sh \ 1\0\0è¦\b\0\0Y2É\8bØ\8bÂ8M\bt\b\81ãÿýÿÿë\ 6\81Ë\0\ 2\0\0\89Eø8M\ft\b\81ãÿÿ÷ÿë\ 6\81Ë\0\0\b\0\83þ\ 6u/\83ÿ\ fu*\83\ 4r$8M\10t     \81\7fÿÿÿë\a\81\80\0\0\08M\14t\ 6\83eøßë\ 4\83Mø è^\b\0\0ÿuøSh \ 1\0\0è;\b\0\0\83Ä\fèc\b\0\0[_^ÉÃU\8bì\83ì\10\8dEðPj\ 1èñ\a\0\0\8bEüYÁè\1cY$\ 1ÉÃV¾ \ 1\0\0Vèù\a\0\0R%ÿûÿÿPVèø\a\0\0\83Ä\10^ÃV¾ \ 1\0\0VèÛ\a\0\0R\r\0\ 4\0\0PVèÚ\a\0\0\83Ä\10^Ãè¢ÿÿÿ\84Àu\ 6¸\ 3\0\0\80Ã\80|$\ 4\0t\aèÇÿÿÿë\ 5è¢ÿÿÿ3ÀÃU\8bìQQj\0\8dEþP\8dEÿP\8dEøPèü\a\0\0\83Ä\10f\83\ 6u,hî\0\0\0èx\a\0\0Áè\16\83à\ 1\80}ÿ\ fYu\ f\80\ 2r\ f\83ø\ 1u
+\8aÀÉÃ\80}ÿ\17tñ2ÀÉÃV¾ \ 5\0\0VèF\a\0\0R\83àþPVèG\a\0\0\83Ä\10^ÃV¾ \ 5\0\0Vè*\a\0\0R\83È\ 1PVè+\a\0\0\83Ä\10^Ãèqÿÿÿ\84Àu\ 6¸\ 3\0\0\80Ã\80|$\ 4\0t\aèÉÿÿÿë\ 5è¦ÿÿÿ3ÀÃU\8bìQQj\0j\0\8dEÿP\8dEøPèO\a\0\0\83Ä\10f\83\ ft\13f\83\ 6u3\80}ÿ\ ft\ 6\80}ÿ\17u'V¾ \ 1\0\0Vè¶\ 6\0\0\80}\b\0Yt\ 5\83È\ 1ë\ 3\83àþRPVè«\ 6\0\0\83Ä\f^3ÀÉÃU\8bì\83ì\1c\80}\f\0\ f\84\v\ 1\0\0j\0j\0\8dE\ fP\8dEüPèæ\ 6\0\0\8dEäPj\ 1èK\ 6\0\0\83Ä\18öEð\80\ f\84â\0\0\0÷Eð\0@\0\0\ f\84Õ\0\0\0SVWhy\ 1\0\0èD\ 6\0\0\8bØY\89Uø÷Ã\0\ 1\0\0t\11jÿjÿh{\ 1\0\0è4\ 6\0\0\83Ä\f\ f·Eü\83ø\ 6t\f\83ø\ f\ f\94ÀþÈ"Ãë\ 2°\ 1:Ãs$\ f¶ð\8aË*È\8d\0\ 4\0\0\ f¶ùjÿjÿVèû\ 5\0\0\83Ä\f\83Æ\ 4Ouíf\83\ 6u>\84Ûv"¿\ 1\ 4\0\0\ f¶ój\0j\0WèÕ\ 5\0\0\83Ä\f\83Ç\ 4Nuíf\83\ 6u\18\80}\ f\ fu/j*è¬\ 5\0\0R\r\9e\0\b\0Pj*ë\15f\83\ fu\16j+è\93\ 5\0\0R\83à\8fPj+è\93\ 5\0\0\83Ä\10èç\ 1\0\0_^[ÉÃU\8bìQQSVWj:èk\ 5\0\0j\b[¿þ\0\0\0W\8bð\89UüèX\ 5\0\0%\0\b\0\0\vÂYYt\1c#óR\89uøXt\13\85Àu\ fWè8\ 5\0\0\8bØY\81ãÿ\0\0\0_^\8d\ 4\e[ÉÃU\8bìQVWè¢ÿÿÿ\8bu\b3ÿ\89Eü9=\f\ fþÿv \ f·\ 4\ eþÿPèþ\ 4\0\0\89\ 6\89V\ 4\83Æ\bGY;=\f\ fþÿrà3ÿ9=\10\ fþÿv3j\0h\0\f\0\0hÿ\ 2\0\0èÝ\ 4\0\0\ f·\ 4\ eþÿPèÃ\ 4\0\0\89\ 6\89V\ 4\83Ä\10\83Æ\bG;=\10\ fþÿrÍ3ÿ9}üv\1d\ f·\ 4\ eþÿPè\9a\ 4\0\0\89\ 6\89V\ 4\83Æ\bGY;}ürã_^ÉÃU\8bìQQSVWè\0ÿÿÿ\8b\r\10\ fþÿ\8b}\b\89Eü¡\f\ fþÿ\ 3È\8d\8d\1cÏèÎ\0\0\0\89\8b\ 6%ÿ÷ÿÿj\0Phÿ\ 2\0\0èQ\ 4\0\0\83Ä\f\89E\b9\ 5\f\ fþÿv+ë\ 3\8bE\bÿtÇ\ 4ÿ4Ç\ f·\ 4\ eþÿPè'\ 4\0\0\83Ä\fÿE\b\8bE\b;\ 5\f\ fþÿr×ÿv\ 4ÿ6hÿ\ 2\0\0è\a\ 4\0\0\8b\83Ä\f\85ÿv\1eÿtó\ 4\ f·\ 4\ eþÿÿ4óPèæ\ 3\0\0\83Ä\fFF;÷râ3öF;þv\1eÿtó\ 4\ f·\ 4\ eþÿÿ4óPèÁ\ 3\0\0\83Ä\fFF;÷râÿuøè>\0\0\0Y_^[ÉÃÌÌÌÌÌÌ\ f à\83È@\ f"àÃ\ f À%ÿÿÿß\r\0\0\0@\ f\ f    \ f à\8bÐ%\7fÿÿÿ\ f\ f Ø\ f\8bÂÃU\8bì\ f Ø\ f\ f À%ÿÿÿ\9f\ f\8bE\b\ f"à]Ã`\8bì°ÿ\8b]$ð\86\ 3<\0t\ 4ó\90ëõaÃ`\8bì°\0\8b]$ð\86\ 3aÃó\90ÃVj\0j\0¾\8b\0\0\0Vè!\ 3\0\0j\0j\ 1èì\ 2\0\0\83Ä\14j Vè\ 1\ 3\0\0YRPè¡\ 2\0\0\83Ä\f\8bD$\ 4\83À0j\0Pjyèï\ 2\0\0\83Ä\fè¶ÿÿÿ\8bL$\b+\ 1÷Ø\eÀ%ÿÿÿ\7f\ 5\ 1\0\0\80Ã3É3À9L$\bv\ e\8bT$\ 4\ 3\ 4\8aA;L$\brò÷Ø\eÀ%\e\0\0\80ÃU\8bìQQSVWj2j\17ÇEø\ e\0\0\80è\8c\ 2\0\0YRPè,\ 2\0\0\8bU\f$\a\83Ä\f\83:\0\88EþÆEÿ\0\ f\84\ 3\ 1\0\0ë\ 3\8a\ f¶Mÿ\8b4\8a\83>\ 1\ f\85Ù\0\0\0\8bM\b\8b}\109N\fu=\8bN\ 4;\ fv63ÒB\8aÈÓâ\85V\18t*\8bF\1c\85Àu\ah\0\ 2\0\0ë\a\83À0Áè\ 2PVèXÿÿÿY\89EøY\85À\ f\8c\93\0\0\0ë|\8bN\1c\85É\ f\84\86\0\0\0\8bF\ 4;\av\7f\8bF +Á\83è0tu\8d|10¨\ 3umÁè\ 2PWè\eÿÿÿYY\89\85À|Z\8b\1f\83Ç\14ÆEÿ\0\85ÛvMj\ 3WèýþÿÿYY\89\85À|\14\8bE\b9\au\r\8aMþ3À@Óà\85G\ 4u\10\83Ç\fþEÿ\ f¶Eÿ;ÃrÍë\18\8b}\10WVè\98þÿÿYY\8bN\ 4\89\89\ f\85À|\15\80Eÿ\ 2\ f¶Eÿ\8bU\f\83<\82\0\ f\85ÿþÿÿ\8bEø_^[ÉÃU\8bì\83ì\14\8dEìPj\ 1è0\ 1\0\0è&þÿÿ\89\8dEüPÿu\bÿuìè\95þÿÿ\8bM\f\8b\83Ä\14\89\11ÉÃÌÌÌÌ\8cÈ\8eØ\8eÀ\8eÐ3À\8eà\8eè¾\1c\ ef\8b\1c¿ \ ef\8b\ 5\8bø\83ï\ 6f\ 3Ãf\89\ 5¾\10\ ef.\ f\ 1\14\8eØ\ f Àf\83È\ 1\ f"Àfgê\0\0\0\0 \0\18\0f\8eØf\8eÀf\8eàf\8eèf\8eÐ\8bó\8bþ\81Ç\0\ e\0\0¸ÿ\0\0\0\87\a=ÿ\0\0\0\8bþ\81Ç\b\ e\0\0\8b\a\8bþ\81Ç\ 4\ e\0\0\ 3\a\8bà\89\a¸\0\0\0\0\8bþ\81Ç\0\ e\0\0\87\a\8bþ\81Ç(\ e\0\0\8b\aP\8bþ\81Ç$\ e\0\0\8b\aP\8bþ\81Ç\f\ e\0\0\8b\aÿÐ\83Ä\ 4úôëü¸d
+þÿøD\0\0\0ÃÌÌÌÌÌU\8bìQ\8bE\b\8bU\f\8bM\10\83á?\ f­ÐÓê\83ù r\ 4\8bÂ3ÒYÉÃÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌôÃ\ f      Ã\ f\bÃU\8bì`\8bE\b\ f¢\83}\f\0t\ e\8b}\f\89\a\89_\ 4\89O\b\89W\faÉÃU\8bìQ\8bM\b\ f2YÉÃU\8bì`\8bM\b\8bE\f\8bU\10\ f0aÉÃ\ f1ÃP\ f À\ fÈ$`<`t\r\ f      \ f À\r\0\0\0`\ f"ÀXÃP\ f \ f À%ÿÿÿ\9f\ f"ÀXÃ\9cXÃúÃûÃU\8bì`\8bE\b\8bM\f\ f¢\8b}\10\89\a\89_\ 4\89O\b\89W\faÉÃU\8bì\83ì\10SVW\8dEðPj\ 1è\ÿÿÿ\8bE\10\8bUðYY³\ f\85Àt\ 6\8aÊ"Ë\88\b\8bE\14\85Àt
+\8bÊÁé\f\80á\ 3\88\b\8bu\f\8b}\b\85öu\ 4\85ÿtG\8bÊÁé\b\85öt\1e\8bÂÁè\ 4\88\ 6\80ù\ 6t\ 4:Ëu\f\8bÚÁë\f\80ãð
\88\1e\85ÿt\1af\ f¶Áf\89\a\80ù\ fu\ eÁê\14\81âÿ\0\0\0\ 3Ðf\89\17_^[ÉÃé\80\0\0\0U\8bì\83ÄøW\8bM\f\8b}\b\8bÇ$\ 3\84Àt\f\83ù\0t[Æ\a\0GIëì\8bÑÁé\ 6Áá\ 6+ÑÁé\ 6\83ù\0t2\ f\7f\ fïÀ\ f\7f\a\ f\7fG\b\ f\7fG\10\ f\7fG\18\ f\7f\ f\7fG(\ f\7fG0\ f\7fG8\83Ç@IuÛ\ foEø\ fw\8bÊÁé\ 23Àó«\8bÊ\83á\ 3óª_ÉÃÌÌÌÌÌÌÌÌU\8bì\83ÄøVW\8bM\10\8bu\f\8b}\b\8bÆ\ 3Á;Çv\16\8bÇ\ 3Á;Æv\ e\ f\84º\0\0\0\ f\82 \0\0\0\83ù\0\ f\84«\0\0\0\8b×\80â\ 3\84Òt    \8a\ 6\88\aIGFëå\8bÁÁè\ 6Áà\ 6+ÈÁè\ 6\83ø\0tQ\ f\7f\ fo\ 6\ f\7f\a\ foF\b\ f\7fG\b\ foF\10\ f\7fG\10\ foF\18\ f\7fG\18\ foF \ f\7f\ foF(\ f\7fG(\ foF0\ f\7fG0\ foF8\ f\7fG8\83Ç@\83Æ@Hu¹\ foEø\ fw\83ù\ 4r\ f\8b\ 6\89\a\83é\ 4\83Æ\ 4\83Ç\ 4ëì\83ù\0t\1d\8a\ 6\88\aIFGëò\ 3ñN\ 3ùO\83ù\0t        \8a\ 6\88\aINOëò_^ÉÃÿt$\fÿt$\fÿt$\fè\b\0\0\0\83Ä\fÃÌÌÌÌ\8aL$\f\8bD$\böÁ \ f\ fDD$\ 4\ f­ÐÓêÃU\8bìQQSV\8bu\bWVèD\0\0\0\8b}\fW\8bØ\89Uüè6\0\0\0YY;Øu)9Uüu$\83Æ\bVè"\0\0\0\83Ç\bW\8bð\8bÚè\15\0\0\0YY;ðu\b;Úu\ 4°\ 1ë\ 22À_^[ÉÃ\8bL$\ 4\8b\ 1\8bQ\ 4ÃÌÌÌÌÌÌ\8aL$\f\8bT$\ 4öÁ \ f\ fDT$\b\ f¥ÂÓàÃ\0\0\0\0\0Ù\ 1\95BGäô@\86{uÉ:\1dµN\10\0\0\804\ fþÿ\0\0\0\0P\ 2X\ 2Y\ 2h\ 2i\ 2j\ 2k\ 2l\ 2m\ 2n\ 2o\ 2\0\0ÿ\ 2\0\0\0\ 2\ 1\ 2\ 2\ 2\ 3\ 2\ 4\ 2\ 5\ 2\ 6\ 2\a\ 2\b\ 2        \ 2
+\ 2\v\ 2\f\ 2\r\ 2\ e\ 2\ f\ 2\v\0\0\0\ 1\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\90oL\1fk°ØH¢\ 1ºåñÍ}VTêÈLcJrO\82\86H/ Î8;©3\8f&Í̾H\88\17\86\ 5:Ã.Ö\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\08\0\0\0F4D5\7f5<6F6U6]6l6\8f6\ 6;\10;&;0;K;c;t; ;«;Ý;ó;\b<1<V<°?\0\10\0\0\f\0\0\0T3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿù\14\82\8bÛJÝG¬b\83\13Å7éú\8dR\ 6@D\ 3\0ø\ 6\0\0\e\ 6\b\0\0$\ 3\0\12VZL\ 1\ 3\v¨\ 1 \ 2\0\0 \ 2\0\0Ü\1fþÿ\0\0\0\0\80\ 4\0\0\f\0\0\0\0\0\0\0\0\0\0\0.text\0\0\0%\ 2\0\0 \ 2\0\0@\ 2\0\0 \ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0 \0\0\0`\ 4\0\0 \0\0\0`\ 4\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0\ e\0\0\0\80\ 4\0\0 \0\0\0\80\ 4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bì\83ì\18\8dEèP\8bM\fQ\8bU\f\8b\ 2\8bH(ÿÑ\83Ä\b\89\83\0}\a3Àéì\0\0\0\83\11t\a3Àéß\0\0\0\8dUüRj\0j\0hÌ"þÿ\8bE\fP\8bM\f\8b\11\8bB ÿÐ\83Ä\14\89EìÇEø\0\0\0\0\8bMøQ\8bUüR\8bE\fP\8b\8b\11ÿÒ\83Ä\f\89\8b\83À\ 1\89\83\0\8bMüQ\8bU\f\8b\0\0\0\83Ä\b\89\8b\8bH\10\89\8bU\fR\8b\83À\18PÿUô\83Ä\bÇEø\0\0\0\0\8bMøQ\8bUüR\8bE\fP\8b\8bQ\ 4ÿÒ\83Ä\f\89\8b\83À\ 1\89\83\0}×ÇEø\0\0\0\0\8bMøQ\8bUüR\8bE\fP\8b\8bQ\bÿÒ\83Ä\f\89\8b\83À\ 1\89\83\0}×3À\8bå]ÃÌÌÌÌÌU\8bì\83ì\18ÇEô\0\0\0\0j\0\8dEôP\8bM\fQ\8bU\bR\8bE\f\8bH\fÿÑ\83Ä\10\89\8dUüR\8bEôP\8bM\bQ\8bU\b\8b\ 2\8bHLÿÑ\83Ä\f\89\8bUüR\8dEôP\8bM\fQ\8bU\bR\8bE\f\8bH\fÿÑ\83Ä\10\89\8bUôÁê\ 5\89\8b\89\8b\83é\ 1Áá\ 5\ 3\89\8b\8b\8bJ\b\ 3H\10\8bR\f\13P\14\81é\0\10\0\0\83Ú\0\89Møë\v\8bEø-\0\10\0\0\89\8b\8bQ\b9Uør%\8b\89Eðh¼"þÿ\8bMðQè\17\0\0\0\83Ä\b\ f¶Ð\85Òt\ 5\8bEðë\ 4ëÅ3À\8bå]Ã\8bL$\b\8bD$\ 4V3ö+Á\8a\14\b:\11u\vFA\83þ\10rò°\ 1^Ã2À^Ã\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0¡O\7fì\17²üB§÷\ 2\fC\ 5Õº©3\8f&Í̾H\88\17\86\ 5:Ã.Ö\0\0\0\0\f\0\0\0a2þ3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿ×ÝÎ\8b\85âhA\9b?      ¯fÉ?þ¨A\ 6\v\0øÔ\v\0\12VZL\ 1\ 3\v¸\ 1H\ 3\0\0@\ 2\0\0\1c#þÿ\0\0\0\0\0\r\0\0H\0\0\0\0\0\0\0\0\0\0\0.text\0\0\04
+\0\0@\ 2\0\0@
+\0\0@\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0p\0\0\0\80\f\0\0\80\0\0\0\80\f\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0H\0\0\0\0\r\0\0`\0\0\0\0\r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\8bìQQSVW\8b}\b\8b\a\8dMüQWÿP0\8bEüYY¾ÿÿ\0\0ë&f\83ù\ 4u\17\83À\bhL.þÿPèÓ\ 6\0\0YY\84Àu\18\8b\ f·H\ 2\ 3Á\89\ f·\b\8bÖf;ÊuÐë\f\8b\83Æ\183Û;óu
\ e\0\0\80é\9a\0\0\0\8bF\18\89Eøèª\ 1\0\0\80\0°ÆîSSÿuøSWèS\ 4\0\0\83Ä\14;Ã|uÆE\vãfº\80\0°Éî\8b\a\8b@d\8dM\vQj\ 1Sh²\0\0\0SPWÿP\f\83Ä\1c\89Eøfº\80\0°Êî9]ø}\ 5\8bEøë<WèS\ 1\0\0\8b~\10\9c\ 5\0\0\8bv(;ót!\81>FACSu\199^\ft\14\80\0°ËîWÿv\fèF\0\0\0YYëĸ\ 2\0\0\80_^[ÉÃU\8bìV\8bu\f\8b\ 6\8dM\fQVÿP(YY\85À|\r\83}\f\11u\aVèÕþÿÿY3À^]ÃÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌU\8bì¸\0\0\0\0\0\0\ 1\0\0\0\ f\0Pè½\a\0\0\83Ä\f¾´%þÿ\8b}\f¹è%þÿ\81é´%þÿÁé\ 2A󥺴%þÿ\8b}\f»·%þÿ+Ú¸»%þÿ+Â\ 3Çf&\89\ 4;»Ó%þÿ+Ú¸×%þÿ+Â\ 3Çf&\89\ 4;\8bE\bÁè\ 4»æ%þÿ+Úf&\89\ 4;\8bE\b\83à\ f»ä%þÿ+Úf&\89\ 4\ 1\0\0\0\0\0\ 1\0\0\0\ f\0Pè4\a\0\0\83Ä\fÿçfgê\0\0(\0¸0\0\8eØ\8eÀ\8eÐ\8eà\8eè\ f Àf\83àþ\ f"Àê\0\0\0ð3À\8eØ\8eÀ\8eÐ\8eà\8eèê\0\0\0\0ÉÃúÃ3ÀÃU\8bìQQV\8bu\10\8dEøP\8bE\fj\ 1ÿp\vÿp\aÿp\ 3Vÿu\bÿV\b\83Ä\1c\85À|4\8bEø#E\14\8b\vE\1c#M\18\89\v\8dEøP\8bE\fj\ 1\89Müÿp\vÿp\aÿp\ 3Vÿu\bÿV\f\83Ä\1c^ÉÃU\8bìQQV\8bu\10\8dEøP\8bE\fj\ 1ÿp\vÿp\aÿp\ 3Vÿu\bÿ\16\83Ä\1c\85À|4\8bEø#E\14\8b\vE\1c#M\18\89\v\8dEøP\8bE\fj\ 1\89Müÿp\vÿp\aÿp\ 3Vÿu\bÿV\ 4\83Ä\1c^ÉÃU\8bì\83ì\10\8bE\f\8bH\vS3ÛV\8bp\ f\89\8bH\ 3CW3ÿÓã\8dH\13\89\89Mü9x\av>ÿuüVÿuðÿp\ 3\8bE\10Pÿu\bÿP\ 4\8b\89\8aÃ\ 2\83áð\ f¶À\99\83Ä\18\ 3Á\13Ö\ 1\89\8bE\fG\8bò;x\a\8bEø_^[ÉÃU\8bìQQV\8bu\10\8dEøP\8bE\fÿp\vÿp\aÿp\ 3Vÿu\bÿ\16\83Ä\18\85À|2\8bEø#E\14\8b\vE\1c#M\18\89\v\8dEøP\8bE\f\89Müÿp\vÿp\aÿp\ 3Vÿu\bÿV\ 4\83Ä\18^ÉÃU\8bìQV\8bu\b\8b\ 6\8dMüQj\0j\0h,.þÿVÿP \83Ä\14\85À}\a¸\ 3\0\0\80ë/\8bE\f\8bH\ 33M\b\83á\7f1M\b\8dH\1cQ\8dH\18Q\ f¶H\17Qÿp\13ÿp\v\8bEüÿu\bPVÿ\10\83Ä ^ÉÃU\8bìV\8bu\b\8b\ 6\8dM\bQj\0j\0h<.þÿVÿP \8bE\fÿp\ 3\8bE\bPVÿP\ 4\83Ä ^]Ã\8bD$\bÿt$\ 4\8b@\ 3j\0ÿÐYYÃU\8bì\8bM\b\ f·\ 1Ht\bHHt\ 4HHuw\8bA\ 33Ò+ÂVtRHt<Ht!Huc\8bQ\17\8bE\f\89\10\8bQ\e\89P\ 4\8bQ\ f\8bE\10\89\10\8bI\13\89H\ 4ëE\8bq\13\8bE\f\890\89P\ 4\8bI\ f\8bE\10\89\b\89P\ 4ë-\ f·A\11\8bu\f\99\89\ 6\89V\ 4\ f·A\ fë\11\ f¶A\10\8bu\f\99\89\ 6\89V\ 4\ f¶A\ f\8bM\10\99\89Q\ 4\89\ 1^3À]ÃU\8bì\8bM\10\83ì\14S\8bÁ\vE\14VW\ f\84F\ 1\0\0¸ª\0\0\0f9\ 1t
\ 3\0\0\80é?\ 1\0\0\8b}\b\8b\a\ f¶q\ 2\8bXd\8b@h\8bQ\ 5\ 3ñ\ 3Ê\89E\14\89Mü;ñ\ f\83\19\ 1\0\0\ f·\ e¸ÿ\0\0\0\7fÄ\ f\84ö\0\0\0\83ù\bw¹ÿ$\8d\16*þÿ\8dF\13Pÿv\aÿv\ fÿv\vÿv\ 3SWÿS\ 4\83Ä\1cé¸\0\0\0\8dEôP\8dEìPVè×þÿÿÿuøÿuôÿuðÿuìSVWèûüÿÿ\83Ä(é\8e\0\0\0\8dF\13Pÿv\aÿv\ fÿv\vÿv\ 3SWÿS\fë·ÿu\14VWè1ýÿÿ\83Ä\fëh\8dEôP\8dEìPVè\87þÿÿÿuøÿuôÿuðÿuìÿu\14VWè{ýÿÿë¬VWèVþÿÿë7\8dEôP\8dEìPVèXþÿÿÿuøÿuôÿuðÿuìSVWè\1cüÿÿé|ÿÿÿVWè\9dýÿÿë\aVWèïýÿÿYY\85À|"\ f¶N\ 2\ 3ñ;uü\ f\82úþÿÿë\113Àë\r3À9E\18\ f\95À\ 5\ 2\0\0\80_^[ÉÃ\90\)þÿ±)þÿ\15)þÿ2)þÿs)þÿ\82)þÿØ)þÿá)þÿ¨)þÿÌÌôÃ\ f       Ã\ f\bÃU\8bì`\8bE\b\ f¢\83}\f\0t\ e\8b}\f\89\a\89_\ 4\89O\b\89W\faÉÃU\8bìQ\8bM\b\ f2YÉÃU\8bì`\8bM\b\8bE\f\8bU\10\ f0aÉÃ\ f1ÃP\ f À\ fÈ$`<`t\r\ f      \ f À\r\0\0\0`\ f"ÀXÃP\ f \ f À%ÿÿÿ\9f\ f"ÀXÃ\9cXÃúÃûÃU\8bì`\8bE\b\8bM\f\ f¢\8b}\10\89\a\89_\ 4\89O\b\89W\faÉÃ\8bD$\ 4\8b\10\8bL$\b+\11u\e\8bP\ 4+Q\ 4u\13\8bP\b+Q\bu\v\8b@\f+A\fu\ 3°\ 1Ã2ÀÃÌÌÌÌÌÌÌÌÌÌÌÌU\8bì\83ÄøW\8bM\f\8b}\b\8bÇ$\ 3\84Àt\f\83ù\0t[Æ\a\0GIëì\8bÑÁé\ 6Áá\ 6+ÑÁé\ 6\83ù\0t2\ f\7f\ fïÀ\ f\7f\a\ f\7fG\b\ f\7fG\10\ f\7fG\18\ f\7f\ f\7fG(\ f\7fG0\ f\7fG8\83Ç@IuÛ\ foEø\ fw\8bÊÁé\ 23Àó«\8bÊ\83á\ 3óª_ÉÃÌÌÌÌÌÌÌÌU\8bì\83ÄøVW\8bM\10\8bu\f\8b}\b\8bÆ\ 3Á;Çv\16\8bÇ\ 3Á;Æv\ e\ f\84º\0\0\0\ f\82 \0\0\0\83ù\0\ f\84«\0\0\0\8b×\80â\ 3\84Òt       \8a\ 6\88\aIGFëå\8bÁÁè\ 6Áà\ 6+ÈÁè\ 6\83ø\0tQ\ f\7f\ fo\ 6\ f\7f\a\ foF\b\ f\7fG\b\ foF\10\ f\7fG\10\ foF\18\ f\7fG\18\ foF \ f\7f\ foF(\ f\7fG(\ foF0\ f\7fG0\ foF8\ f\7fG8\83Ç@\83Æ@Hu¹\ foEø\ fw\83ù\ 4r\ f\8b\ 6\89\a\83é\ 4\83Æ\ 4\83Ç\ 4ëì\83ù\0t\1d\8a\ 6\88\aIFGëò\ 3ñN\ 3ùO\83ù\0t        \8a\ 6\88\aINOëò_^ÉÃ\80|$\ 4\0W¿l.þÿu\ 5¿t.þÿ\85Àu\12\ f\aPh\90\0\0\80èä\0\0\0YY_ÃV\83ø\au\1d\ f\ 47P\8d\86\90\0\0\80PèÇ\0\0\0FYY\83þ\arçë"\8d4\a\8d¸\90\0\0\80\ f\ 6PWèª\0\0\0\ f¶F\ 1PGWè\9e\0\0\0\83Ä\10^_ÃS\8b\$\10\85Ût\f\83û\ 1t\a¸\ 2\0\0\80\8bD$\b=\0\0\f\0s\a¸\ 3\0\0\80\8bL$\fº\0\0\ f\0\8dL\bÿ#Ê;ÊwæÁè\10\83à\ fÁé\10\83è\f\83é\fV\8bÐ\8b\ 4\95\.þÿ\8bñ\8b\fµ\.þÿ;Áu\ 3\r\83ø\ 1u\10\85Éu\fSj\a\eÿÿÿYë\eW\8bú;Öw\13\8b\ 4½\.þÿSè\ 4ÿÿÿGY;því_^3À[ÃV\8bt$\b\81Î\0\0\0\80Vhø\f\0\0è`\0\0\0ÿt$\14\83æ\ 3\81Æü\f\0\0Vè-\0\0\0\83Ä\10^ÃÌÌÌU\8bìRf\8bU\bìZÉÃU\8bìRf\8bU\bfíZÉÃU\8bìRf\8bU\bíZÉÃU\8bì`\8aE\ff\8bU\bîaÉÃU\8bì`f\8bE\ff\8bU\bfïaÉÃU\8bì`\8bE\ff\8bU\bïaÉÃ\0\0\0\0\0\0\0\0\0\0\0\0Ì#þÿ\10\0\0\80\1c.þÿ\f.þÿ²Ì&D\84æ\8aJ®@ Ô°%·\10\95(Ô«ÏxrH\84D\e\\18\vûÚ\90oL\1fk°ØH¢\ 1ºåñÍ}V\9eH À²mòN\9a¥Ê\ 6ü\11Ój\ 1\0\0\0\ 3\0\0\0\ 5\0\0\0\0\0\0\0\10\11\11\11\11\11\11\00333333\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0H\0\0\0k2\9e3¦3¬3·3¿3Æ3Ô3Û3ï3\ 14\ 36]6\857\8a8\8e8\928\968\9a8\9e8¢8¦8ª8î:õ:¦;¯;Ù;\80<\88<\8c<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ÿÿÿÿÔT\8f\a"ÌH@\9e\94\87\9c!MV/ÕZð\0øÆ\ 1øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.\ 6 \e\82E\85f3jè÷\8f       æZ\ 3\0\18
+\0ø\ 4\0\0\19¼        \0\12VZL\ 1\ 5\v°\ 1à\ 6\0\0\80\ 2\0\0\böÿÿ\0\0\0\0 \v\0\0 \0\0\0\0\0\0\0\0\0\0\0.text\0\0\0H\ 4\0\0\80\ 2\0\0`\ 4\0\0\80\ 2\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`_TEXT_RE;\0\0\0à\ 6\0\0@\0\0\0à\ 6\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`_TEXT_PRØ\ 3\0\0 \a\0\0à\ 3\0\0 \a\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0`.data\0\0\0 \0\0\0\0\v\0\0 \0\0\0\0\v\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0À.reloc\0\0 \0\0\0 \v\0\0 \0\0\0 \v\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0¡<ÿÿÿ\8bL$\b\8b@üV\8bq\ 43ÒÁà\ 2;òw\14r\ 6\8b1;ðs\f\89\ 1\89Q\ 4¸\ 5\0\0\80\89\ 1\89Q\ 4\8b\r<ÿÿÿ+ÈP\83é\ 4Qÿt$\18è\18\ 2\0\0\83Ä\f3À^Ã\8bD$\b\0\0@\0W90s\b\8b\bÑî;ñwú\8b\b\8bÑ#Ö;Ñt\ 2\ 3ö\8b|$\f\890\8b\ f\8bÁ÷ö\85Òt\ 4\89\ f_^ÃU\8bì\83ì\10SVWj:è=\ 3\0\0»þ\0\0\0S\8bð\89UôÇEü\b\0\0\0è&\ 3\0\0¿\0\b\0\0#Ç3Ò\vÂYYt\1f\83æ\bR\89uðXt\15\85Àu\11\ 3\ 3\0\0%ÿ\0\0\0Y\89Eüë\ 3\8bEü3ö\85Àv3ÇEø\ 1\ 2\0\0\8bEøHPèÞ\ 2\0\0ÿuø\8bØ\89UôèÑ\ 2\0\0\vÂYYu\ 5\v]ôt
+\83\ 2F;uürÔ\8dEøP\8dEüPÇEü\0\0üÿÇEø\0\0\ 4\0è\18ÿÿÿ\8b\83È\ 53ÛSP\8d\846\0\ 2\0\0\96\ 2\0\0\8bEø÷Ø\vÇSP\8d\846\ 1\ 2\0\0\80\ 2\0\0\8dEøP\8dEüPFÇEü\0\0ßÿÇEø\0\0\ 1\0èÏþÿÿ\8b\83È\ 5SP\8d\846\0\ 2\0\0PèO\ 2\0\0\8bEø÷Ø\vÇSP\8d\846\ 1\ 2\0\0Pè9\ 2\0\0\83Ä@_^[ÉÃU\8bì\83ì\14SVWh\98\ 1\0\0è\12\ 2\0\0\8bØRS\89Uüè¬\ 1\0\0j(ÿuü\8bð\8búS\83æ?3ÿè\98\ 1\0\03Òj\b\83à\1fRPèZ\ 1\0\0\v×R\vÆPh\99\ 1\0\0èÞ\ 1\0\0¾ \ 1\0\0VèÇ\ 1\0\0R\r\0\0\ 1\0PVèÆ\ 1\0\0\83ÄDfº\80\0°   îè^þÿÿ\8bE\b\89\8bE\f\89EìÇEô\84ÿÿÿfº\80\0°
\8dEìPÿU\10Y_^[ÉÃÌÌÌÌÌÌÌÌÌÌÌÌU\8bì\83ÄøVW\8bM\10\8bu\f\8b}\b\8bÆ\ 3Á;Çv\16\8bÇ\ 3Á;Æv\ e\ f\84º\0\0\0\ f\82 \0\0\0\83ù\0\ f\84«\0\0\0\8b×\80â\ 3\84Òt     \8a\ 6\88\aIGFëå\8bÁÁè\ 6Áà\ 6+ÈÁè\ 6\83ø\0tQ\ f\7f\ fo\ 6\ f\7f\a\ foF\b\ f\7fG\b\ foF\10\ f\7fG\10\ foF\18\ f\7fG\18\ foF \ f\7f\ foF(\ f\7fG(\ foF0\ f\7fG0\ foF8\ f\7fG8\83Ç@\83Æ@Hu¹\ foEø\ fw\83ù\ 4r\ f\8b\ 6\89\a\83é\ 4\83Æ\ 4\83Ç\ 4ëì\83ù\0t\1d\8a\ 6\88\aIFGëò\ 3ñN\ 3ùO\83ù\0t        \8a\ 6\88\aINOëò_^ÉÃÌÌÌÌÌÌÌÌÌU\8bìQ\8bE\b\8bU\f\8bM\10\83á?\ f¥ÂÓà\83ù r\ 4\8bÐ3ÀYÉÃÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌU\8bìQ\8bE\b\8bU\f\8bM\10\83á?\ f­ÐÓê\83ù r\ 4\8bÂ3ÒYÉÃÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌôÃ\ f       Ã\ f\bÃU\8bì`\8bE\b\ f¢\83}\f\0t\ e\8b}\f\89\a\89_\ 4\89O\b\89W\faÉÃU\8bìQ\8bM\b\ f2YÉÃU\8bì`\8bM\b\8bE\f\8bU\10\ f0aÉÃ\ f1ÃP\ f À\ fÈ$`<`t\r\ f      \ f À\r\0\0\0`\ f"ÀXÃP\ f \ f À%ÿÿÿ\9f\ f"ÀXÃ\9cXÃúÃûÃU\8bì`\8bE\b\8bM\f\ f¢\8b}\10\89\a\89_\ 4\89O\b\89W\faÉÃ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0f\8bèf¾0ÿÿÿf.\ f\ 1\14\ f Àf\83È\ 3\ f\ f àf\r\0\ 6\0\0\ f"à¸\18\0\8eØ\8eÀ\8eà\8eè\8eÐf¾6ÿÿÿf.ÿ,\0\0\0\0\0¸ðø\0\80fºø\fï¸\ 1ÀÑþfºü\fï¿\10ôÑþ&\8a\a$û&\88\a¸Ü\0\0\80fºø\fïfºþ\ffíf\83ø\0t\afºù\f°\ 6îfºø\f¸Üø\0\80ïfºü\fí$ó\f\bï°\ 1æ\80\ f À\r\0\0\0`\ f        \ f"À¹\e\0\0\0\ f2f©\0\ 1\ f\84£\ 2\0\0¿\0\ 3àþ¸\0E\f\0\89\a°\ 2æ\80¹\8b\0\0\03Ò3À\ f\ 1\0\0\0\ f¢¹\8b\0\0\0\ f2\vÒ\ f\85 \0\0\0¾\0\0Âÿ¸\ 1\0\0\0\ f¢\8bع\17\0\0\0\ f2Áê\12\83â\a.\8b\ 6\83ø\ 1u}.;^\fu\a.\ f£V\18rC.\8bF\1c\vÀu\ 5¸Ð\a\0\0\83À0.;F t\1d\8d\ 40.\8b\bã\15\83À\14.;\18u\a.\ f£P\ 4r\16\83À\fIuî.\8b\ 3ð\81þ\0@Âÿrªë-¹y\0\0\0\8bÆ\83À03Ò\ f\8b\0\0\03Ò3À\ f\ 1\0\0\0\ f¢¹\8b\0\0\0\ f2\vÒtÅë\0°\ 3æ\80¿\0\ 3àþ¸\0E\f\0\89\a¹þ\0\0\0\ f\0\b\0\0t$$ÿ\8aع:\0\0\0\ f\b\0\0\0t\12¿\1c\0\0\0¸\b\0\0\0*ÃÐà+øë\ 5¿\1c\0\0\0¾@ÿÿÿ3À3Ò.\ f·\ e\ f0\83Æ\ 2Ouô¹ÿ\ 2\0\0\ f2%\0óÿÿ\ f\0\80\0\0¾\0\80»ÿº\0@\0\0\8bâ;Úr\f\ f¼Ëtþ\ f¼Ætþ;Á\ f\82ÿ\0\0\0¸\ 6\80»ÿ3Ò¹\0\ 2\0\0\ f\0Èÿÿº\0\0\0\0¹\ 1\ 2\0\0\ f0¿\0\0üÿº\0\80\0\0¾\0\80»ÿ;Úr(\8dD:ÿ3Ç\8bÓ\ f¼Òtþ\ f£Ðr\16\ f¼Ëtþ\ f¼Çtþ;Ár\b\8bÆ3Ç\ f£Èõ\ f\82\9f\0\0\0¸\ 5\0üÿ3Ò¹\ 2\ 2\0\0\ f\0\88ÿÿº\0\0\0\0¹\ 3\ 2\0\0\ f0¹ÿ\ 2\0\0\ f2\r\0\b\0\0\ f\1e\ 1\0\0\ f2\ fºà\0s\r\ fºà\17r\a\r\0\ 1\0\0\ f0\ f À%ÿÿÿ\9f\ f\b\ f"À¹à\ 2\0\0\ f2\83È\ 1\ f\0\80»ÿ\8bþ¹\0\10\0\0¸¥¥¥¥«âý¹à\ 2\0\0\ f2\83È\ 2\ f0¿\0\80»ÿ¹\0\10\0\0¸ZZZZ«;Güu\ 4âøë\f°\ 1æ\80ëþ°\ 2æ\80ëþ°\aæ\80\87ô\ 3æ¸\ 1\0\0\0\ f¢Áë\10\81ãÿ\0\0\0\80û\ 1s\ 1CS3É\8aËUâý¿èÿÿÿÿ7¿üÿÿÿÿ7Vèþùÿÿëþ¿ \0àþ\8b\aÁè\18\8aذ`æpæíäqþÀæqæí\8aø\ 4gæpæí\8aÃæqæíúôëü\8d¤$\0\0\0\0\8d\9b\0\0\0\0\0\0\0\0\0\0\0\0ÿÿ\0\0\0\92Ï\0ÿÿ\0\0\0\9bÏ\0ÿÿ\0\0\0\93Ï\0ÿÿ\0\0\0\9aÏ\0ÿÿ\0\0\ f\9b\0\0ÿÿ\0\0\0\93\0\0\0\0\0\0\0\0\0\0?\0ðþÿÿ ûÿÿ\10\0\0À»ÿÿ\ 2P\ 2X\ 2Y\ 2h\ 2i\ 2j\ 2k\ 2l\ 2m\ 2n\ 2o\ 2\0\ 2\ 1\ 2\ 2\ 2\ 3\ 2\ 4\ 2\ 5\ 2\ 6\ 2\a\ 2\b\ 2      \ 2
+\ 2\v\ 2\f\ 2\r\ 2\ e\ 2\ f\ 2\0\0\0\0\0\0\0\0\0÷ÿÿ\10\0\0\80\90ÿÿÿ\80ÿÿÿ5+\8coôþ\8dD\82\e\19Ö\10w\0\0\0\0 \0\0\0\812´2¼4å6\137­8²:¶:\0;\b;\f;\0\0@\0\0\19\0\0\0\0\0\0\0\0\0\0\0\0¿PAë\1d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Â\ 3üÿ\0\0\0\0\ f   ékû\0\0\0\0\0\0\0\0\0üÿ
\ No newline at end of file
diff --git a/tests/futility/data/bios_peppy_mp.bin b/tests/futility/data/bios_peppy_mp.bin
new file mode 100644 (file)
index 0000000..449a9f3
Binary files /dev/null and b/tests/futility/data/bios_peppy_mp.bin differ
diff --git a/tests/futility/data/bios_zgb_mp.bin b/tests/futility/data/bios_zgb_mp.bin
new file mode 100644 (file)
index 0000000..c85d820
Binary files /dev/null and b/tests/futility/data/bios_zgb_mp.bin differ
diff --git a/tests/futility/data/dingdong.pem b/tests/futility/data/dingdong.pem
new file mode 100644 (file)
index 0000000..e2ff678
--- /dev/null
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAqhcIe02T0+guB+QDIKTy578gwH0W0BpZM4B0scTq0ozQ6YJe
+9O74HBWYlWUkbx+/AaM50yeroqx6DC4ZLgm8PcBFpCkxhuOdP6BZbjEqEoI4nVOg
+nDsW3XpNODYueA7IpqiOjUgAcAeNTEfdxIGGh6XWwsJmGdbJCWu4SiWsKyJVThCr
+1DPh3nPEmzDpX4CYU93qFeoJptKKH0DJcMKEP3CR8H0OU9S5wLoA10s9TECsWMN9
+z7vZQaelxsFrzHPgY2amX1uruSI4BaZ8aGYTtKzcTkzSnT/jD8QTiDnSYsMXs7h4
+6af24h3SZdApB5yFYQqcS80DWgHcubeT24ulXwIDAQABAoIBAAslnUmvaNu/YJzl
+xYqzJLQpY3UZ/Y+/2k60wXERDa6kyeAzyhNVQe9dPvWzfjLGKtdpohWDiQ0NLqZz
+svTAcJS/cBD1HijP6/NKh/HfyPkTjbBJ1cHHYZU8OalQa7U0itPZQhZiPJ0a8Zip
+MRB6yJ1FMhDrepOA7wXuCFLbqy/cYcY+MdKL6Fny5FFIBMq16EeFOKBOR+DZsLEg
+R71n1rV7IzxTIfcjD8ws43bRM0sbwykoaHUIYuwXO/AIII9QX75V7nQjB0JUOSYo
+Z9OrrUaf+rP8l4Rd76tTHxrpMU3dy8C/ht5jpXbiMYViOl0pNDAzJfCvIx0+q9Iy
+BrMLKUkCgYEA21jJ6Yqz9Nwkv/kcovYpiBuUHhMjmdsMv0LZnWWELCpXmisemeWJ
+8FrnaMTTrYscbIn+MPkLQbb2FQHyT+HHtHchsps8i+snYEBBky0fyAlWG0LL/Rvh
+GPFkKNXeMFRcGg7rTp51L0DhG6hbWgCkck3AtcHy86LgehsDaWhEi+0CgYEAxoMi
+35F1Q0PMlpftK5sRYvwO5jSM2RvYxhqDImghyW43Bnc0tu7bVK25V+Vd3ZRBnjm5
+8E6A6UpP0By4qaEQuG1kMoZ2TTOix2q0AbltOGYuzLq41PirvINqj3DVzw3M4IZE
+dL6PtiJcOGeFodL12Sz1QRZVksMfpxz0XaVpxPsCgYAmDDi58f1VM/qL8kItYlXB
+7ka7EMbUIVMMuiPVUY6jupSHgYNFXrOWpa4OVlYBfGfpy+XzyL9THtGAw12szZU+
+kIuf152hB6FE6OB3DxS8NiJhiCyqMvPQx85/5tkruPZg7sWSVZouICrsCUAPVJ0x
+1pre7E2gRVh61cS5vARn4QKBgQCNxp6jeal8LvHxI/R5Tjiur0Kc2y806BR79/ds
+HV70E8kszvpRJGp1IdXblq7hT79FmAjaPdcHxtEV201vqN7eORJ0m1/mZ1h8gBKr
+oJkGzMPj5/+V6zwMWPdEFtw9EqgeOwatMmRFOmkOx7DDEH4Ra3CF2cOoG7+BhMZq
+E3dk/QKBgQCYXqptB56sUrjnCXKEAdR96SDlVCmL7BBI893xDSAYIKhbpQsI2YY1
+dcFb02bnMbpqjkwHqpjHD8MJOWvXf8q/5FxDjHBSLSL8fM2PL9DI65c8MmwpHUSZ
+ZdcRhMrlN1iTkzw7WdfFCqb0HNl73sP5baqbRZgC+gysmDtgTZxBTQ==
+-----END RSA PRIVATE KEY-----
diff --git a/tests/futility/data/dingdong.signed b/tests/futility/data/dingdong.signed
new file mode 100644 (file)
index 0000000..4b2a18b
Binary files /dev/null and b/tests/futility/data/dingdong.signed differ
diff --git a/tests/futility/data/dingdong.unsigned b/tests/futility/data/dingdong.unsigned
new file mode 100644 (file)
index 0000000..4b18fbf
Binary files /dev/null and b/tests/futility/data/dingdong.unsigned differ
diff --git a/tests/futility/data/fw_gbb.bin b/tests/futility/data/fw_gbb.bin
new file mode 100644 (file)
index 0000000..e717a00
Binary files /dev/null and b/tests/futility/data/fw_gbb.bin differ
diff --git a/tests/futility/data/fw_vblock.bin b/tests/futility/data/fw_vblock.bin
new file mode 100644 (file)
index 0000000..ec2769d
Binary files /dev/null and b/tests/futility/data/fw_vblock.bin differ
diff --git a/tests/futility/data/hammer_dev.bin b/tests/futility/data/hammer_dev.bin
new file mode 100755 (executable)
index 0000000..d124fb6
Binary files /dev/null and b/tests/futility/data/hammer_dev.bin differ
diff --git a/tests/futility/data/hoho.pem b/tests/futility/data/hoho.pem
new file mode 100644 (file)
index 0000000..08d5bd4
--- /dev/null
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEApfbLqgOYIM6AfRI6SJcj1Crengsp+yjHXtwZFOH6WDVP5Q9c
+KSbwqoKHEKTbWJ90ymjqjfi382hl64L/V6J8SfIqGhrFztwXLhJOwFXRK5Jgzkk+
+YUByDzAKTKOlzvvRqk10Tq5a3wphg1SxGVLLOOsTGoKhGI93Wkf2j8AibMlVVZzz
+Q8DmVszkYZL+Kchv6h1FgSvBW0oZa5tVod+0XToWSrPEYnBWs0zZEywCusIXMy7D
+LaqMPFB4LTkDZ9Ne8jnB5xRad+ME4CgxZqUwGC7tdFdHdiiXpIwzIoxVk6xFIZUF
+uusG4RR3O2ubaPJ/Fpf3UuuCWmddk37WaC7o7QIDAQABAoIBAAG4L94AEYhte0lQ
+cggkgLuHAi1zAilW/9HMx/m+aaCWVNCTuym1/JJXrdyPSLJ/XG9obN2xsP41m7C3
+97tJtK3zc1o34srE3vycNfKqMPOZnaUlfx700vmzTrgCjgo5868nBEh4Z/qdmesJ
+aphPkklxrg39QnwFqH/n9PcCT5j+7LyCeWeGbWxKfpzP2CT6v8XxT3XY1mtFSa4j
+dfYaqb+aunYAhjEb4gqa48hyNTQAZskDOUr1TK433wbGqRughXXrQQix+FBW483u
+IGo8aGgiQsjYxHX+ynNTMKW1Oap9WZRWVxF09Ph1f3MT+k3gKqM/0AejlDfBuTDu
+aLxiKIUCgYEA1FZmfGn4RNlghv/ZCAlfWqbf5NA1/wA/Knk8u0R+kMQ71e8NFjOc
+Ym3Uix+89KcKDBIgHn1360pNvSCeTyVU28wQ2bst5s6pvu4FYDvjym2nTgXcFJX6
+DDnZfVZ+WLSFR8E76LQLJGd00DSq0/uBw3ULyRSirkuQnFI3w3u4BH8CgYEAyBdD
+UMV83kwQaDMuGgKqZtD4Ou3s/MDzMwcNgUSjLIueFdsXVnlzYQwwJXuLFkrp5COx
+Zyoha/d1QQawnYehKmHWWy7qN/l0CO+F2DGb1E6pNXJrn+zn33Mgz9ms8421eqqn
+ATQbq6ZQInk1IrkLfyZ3t09l6cyBMJuJjkoBrJMCgYA2Hfsq1FtJONnILmbjDHh4
+AzXm/EX2wtpWeeXHmLJlNQ5G/REpymeeEn3sI1+mPvhpkSkMfE/W8O4VOL4AT/Rr
+vHvC8ljFjYBnwAQwvbLVwdK1KPspZ/v9p7TNpAC5nPCnFBGvwktgsNltwy6SrnQp
+G6iwTAkWQP4PSUkbEmoZAwKBgF0OLJlQ70y3FV5Qhx1DphohD4DgjDnURoaxvf8j
+e7vIxuGlPgpSe21j7LRR65KXjoUycFvpRRfgQyDVyqfInxSF4doQTI9xrRxGwPmV
+wMIRPzKDHziGRiQud9ESjBPNENyWpwqxQDkpJNWThzm503Xz3vNasqv0FxUTEPsi
+wfqPAoGABXPl7baUkpYzppAJqRlGNxsMjpbWscDPjmPosrGs6d81DP287s/IjfDR
+ysQptvhJRK/lubM8As+d0/VLd6P8wk8dyZR1nRELwnVaPC55cS5+YIjgXK9TBmLA
+hC0BIgujJS2qbXQRQF7yX925Gg77WLN2sJqtVg1Brine056pHTA=
+-----END RSA PRIVATE KEY-----
diff --git a/tests/futility/data/hoho.signed b/tests/futility/data/hoho.signed
new file mode 100644 (file)
index 0000000..6a6bc1a
Binary files /dev/null and b/tests/futility/data/hoho.signed differ
diff --git a/tests/futility/data/hoho.unsigned b/tests/futility/data/hoho.unsigned
new file mode 100644 (file)
index 0000000..6a605d1
Binary files /dev/null and b/tests/futility/data/hoho.unsigned differ
diff --git a/tests/futility/data/kern_preamble.bin b/tests/futility/data/kern_preamble.bin
new file mode 100644 (file)
index 0000000..6d34ee5
Binary files /dev/null and b/tests/futility/data/kern_preamble.bin differ
diff --git a/tests/futility/data/minimuffin.pem b/tests/futility/data/minimuffin.pem
new file mode 100644 (file)
index 0000000..6912b1f
--- /dev/null
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpgIBAAKCAQEAvI3KBubudlZyX1oBNzWhQ+bNemHNVC5bO7TjJMTYTIJeKTaW
+IyHCFLF9ztpe8tT9Y+ga4VO9PEktP1WJpdU0ecG6VwK3951/cElosfnIPmIY7dVp
+PQtGtGS/Zih1nTMRV5hqtGa9SRg0i2kdph+quFXGQoMriTl0StmvNVtD51nRPGwc
+ZsG9+P0yfnyo7l3qXtKu5gBx/jDne2kl5/isPHkKfl9le+aNQaNjWeJyB4XDqHXM
+AjuW1G7FxoKlU4b363gQbE84Q80X1Qd9iAoRj/HLmDrx9h6FDFs+HbKDfCYtg2fK
+upEHr1bFUCxjc6AWuFglSq0yn5kyp1Bh5CD3PQIDAQABAoIBAQCNO2NlEhrx9sSK
+mX8pnHkjxECK97D16hcaPN6azvr5K/ldw25n+ERIfb4vb7AJEfKOn+9qce/ftSw4
+MVj+Jxm8TZjGzdmAlq87KzFJhkAwQghMNTszpzuZqZEX8xxN2E+YHilm4UHM+114
+Qw8bPMMCefUcIuY8ThXGbxFm1Oqi4YHHfqE6waRc0XXnLZOYr7NDCmhgyUG1dpAH
+kW0EYuJ1UNGaKE4LsWKvi0SYBQ48Mqh1XPkyiL/5I2whewsU2K4KEjynZp0+ULUG
+Dxfv3uCywsSsLuNR+EV5tTUp4eY1BLKULJQTMH3hyV1Xf1qEt2YN/3ZHsv7MPQzS
+sPIdN+LhAoGBAN6wbcxPnfkJROOVRUzE05IEEBalVULLo1cA1ss/7RjIeUvdRCAa
+12OxF4LSNzrSxcPCLsDnYq+j4HoS6KZ31c1TbaKcaUOPfRohrtGBZMxPgDTZgEBa
+JlsVtD2vzYvfUIpVQFz6Tnix3F29Gq5RaZdW5/qwOYyx0wtUrPf+pwZ5AoGBANjC
+MjgoGtcubR6chDhZcFU4vopdL7IEhMOZ1qxLFTQnINGXXDJpgVvdJRKdDV29DjNZ
+zF9wgmoiVm+uM/344bquUV7KHl5bEsZ+4KH6EA4y3IKVgxaxU7dpF6Q6L+rAuYp/
+j0N9XoVnS3aq30HkTkt+jQe0Hl6eEDOJqHEjolXlAoGBAJbMqs3cbIGkQT5May1d
+bFhI4Aw10dL1y5qzOsFQfOJ3f4xcPjHve0RLPDye1j/DU6EI8lg3WKDQPMbt3xY7
+uFDe2jNv7+iMVo9Hl/bPxM6GV69ySmNJqQetXu0XC/5YL1Y9/OP5rQIWj7/6uwKo
+pvSRKW6dv5sDIINfx/H4RGshAoGBAMIs7Tn7S1gaoev7QEMOdCAT7jUbF3/8pkZn
+SLUdqcgHiVHYquIKO7TknbJX+MJReygrOHcC3gFf81imkLLiQqyuPfyRSbUzFtW0
+kVzpG3rsuzdL4pvwjNNQFLqs2YIN1eipLtjBtWwCRcrvdYKcmDrvCj2tcEtIg7D3
+j2qTBni1AoGBAI58xPHxB0cNclhWiFHPNgk98GkwADWxfeTZduoyfpraSrpbseu8
+Cfgq1p5E2nM9jWx4jdKA/fxdD40bneupPi5w5SE2gmwtmQFR3TehI8gxNbEL2Gq6
+6ZkgxnGNxFaE6saHVDHKU8Q2bgzCI8JlOOtSjzKvbr+hsQMYHcEJxom6
+-----END RSA PRIVATE KEY-----
diff --git a/tests/futility/data/minimuffin.signed b/tests/futility/data/minimuffin.signed
new file mode 100644 (file)
index 0000000..7d60a74
Binary files /dev/null and b/tests/futility/data/minimuffin.signed differ
diff --git a/tests/futility/data/minimuffin.unsigned b/tests/futility/data/minimuffin.unsigned
new file mode 100644 (file)
index 0000000..e5c2301
Binary files /dev/null and b/tests/futility/data/minimuffin.unsigned differ
diff --git a/tests/futility/data/random_noise.bin b/tests/futility/data/random_noise.bin
new file mode 100644 (file)
index 0000000..1e2d76e
Binary files /dev/null and b/tests/futility/data/random_noise.bin differ
diff --git a/tests/futility/data/rec_kernel_part.bin b/tests/futility/data/rec_kernel_part.bin
new file mode 100644 (file)
index 0000000..54694bb
Binary files /dev/null and b/tests/futility/data/rec_kernel_part.bin differ
diff --git a/tests/futility/data/ro_vpd.bin b/tests/futility/data/ro_vpd.bin
new file mode 100644 (file)
index 0000000..c953ec1
Binary files /dev/null and b/tests/futility/data/ro_vpd.bin differ
diff --git a/tests/futility/data/sample.vbprik2 b/tests/futility/data/sample.vbprik2
new file mode 100644 (file)
index 0000000..34f12e4
Binary files /dev/null and b/tests/futility/data/sample.vbprik2 differ
diff --git a/tests/futility/data/sample.vbpubk2 b/tests/futility/data/sample.vbpubk2
new file mode 100644 (file)
index 0000000..aac42f3
Binary files /dev/null and b/tests/futility/data/sample.vbpubk2 differ
diff --git a/tests/futility/data/short_junk.bin b/tests/futility/data/short_junk.bin
new file mode 100644 (file)
index 0000000..dc765c3
--- /dev/null
@@ -0,0 +1 @@
+JUNK
diff --git a/tests/futility/data/vmlinuz-amd64.bin b/tests/futility/data/vmlinuz-amd64.bin
new file mode 100644 (file)
index 0000000..f54663c
Binary files /dev/null and b/tests/futility/data/vmlinuz-amd64.bin differ
diff --git a/tests/futility/data/vmlinuz-arm.bin b/tests/futility/data/vmlinuz-arm.bin
new file mode 100644 (file)
index 0000000..c719987
Binary files /dev/null and b/tests/futility/data/vmlinuz-arm.bin differ
diff --git a/tests/futility/data/zinger.pem b/tests/futility/data/zinger.pem
new file mode 100644 (file)
index 0000000..6912b1f
--- /dev/null
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpgIBAAKCAQEAvI3KBubudlZyX1oBNzWhQ+bNemHNVC5bO7TjJMTYTIJeKTaW
+IyHCFLF9ztpe8tT9Y+ga4VO9PEktP1WJpdU0ecG6VwK3951/cElosfnIPmIY7dVp
+PQtGtGS/Zih1nTMRV5hqtGa9SRg0i2kdph+quFXGQoMriTl0StmvNVtD51nRPGwc
+ZsG9+P0yfnyo7l3qXtKu5gBx/jDne2kl5/isPHkKfl9le+aNQaNjWeJyB4XDqHXM
+AjuW1G7FxoKlU4b363gQbE84Q80X1Qd9iAoRj/HLmDrx9h6FDFs+HbKDfCYtg2fK
+upEHr1bFUCxjc6AWuFglSq0yn5kyp1Bh5CD3PQIDAQABAoIBAQCNO2NlEhrx9sSK
+mX8pnHkjxECK97D16hcaPN6azvr5K/ldw25n+ERIfb4vb7AJEfKOn+9qce/ftSw4
+MVj+Jxm8TZjGzdmAlq87KzFJhkAwQghMNTszpzuZqZEX8xxN2E+YHilm4UHM+114
+Qw8bPMMCefUcIuY8ThXGbxFm1Oqi4YHHfqE6waRc0XXnLZOYr7NDCmhgyUG1dpAH
+kW0EYuJ1UNGaKE4LsWKvi0SYBQ48Mqh1XPkyiL/5I2whewsU2K4KEjynZp0+ULUG
+Dxfv3uCywsSsLuNR+EV5tTUp4eY1BLKULJQTMH3hyV1Xf1qEt2YN/3ZHsv7MPQzS
+sPIdN+LhAoGBAN6wbcxPnfkJROOVRUzE05IEEBalVULLo1cA1ss/7RjIeUvdRCAa
+12OxF4LSNzrSxcPCLsDnYq+j4HoS6KZ31c1TbaKcaUOPfRohrtGBZMxPgDTZgEBa
+JlsVtD2vzYvfUIpVQFz6Tnix3F29Gq5RaZdW5/qwOYyx0wtUrPf+pwZ5AoGBANjC
+MjgoGtcubR6chDhZcFU4vopdL7IEhMOZ1qxLFTQnINGXXDJpgVvdJRKdDV29DjNZ
+zF9wgmoiVm+uM/344bquUV7KHl5bEsZ+4KH6EA4y3IKVgxaxU7dpF6Q6L+rAuYp/
+j0N9XoVnS3aq30HkTkt+jQe0Hl6eEDOJqHEjolXlAoGBAJbMqs3cbIGkQT5May1d
+bFhI4Aw10dL1y5qzOsFQfOJ3f4xcPjHve0RLPDye1j/DU6EI8lg3WKDQPMbt3xY7
+uFDe2jNv7+iMVo9Hl/bPxM6GV69ySmNJqQetXu0XC/5YL1Y9/OP5rQIWj7/6uwKo
+pvSRKW6dv5sDIINfx/H4RGshAoGBAMIs7Tn7S1gaoev7QEMOdCAT7jUbF3/8pkZn
+SLUdqcgHiVHYquIKO7TknbJX+MJReygrOHcC3gFf81imkLLiQqyuPfyRSbUzFtW0
+kVzpG3rsuzdL4pvwjNNQFLqs2YIN1eipLtjBtWwCRcrvdYKcmDrvCj2tcEtIg7D3
+j2qTBni1AoGBAI58xPHxB0cNclhWiFHPNgk98GkwADWxfeTZduoyfpraSrpbseu8
+Cfgq1p5E2nM9jWx4jdKA/fxdD40bneupPi5w5SE2gmwtmQFR3TehI8gxNbEL2Gq6
+6ZkgxnGNxFaE6saHVDHKU8Q2bgzCI8JlOOtSjzKvbr+hsQMYHcEJxom6
+-----END RSA PRIVATE KEY-----
diff --git a/tests/futility/data/zinger.signed b/tests/futility/data/zinger.signed
new file mode 100644 (file)
index 0000000..72d98a8
Binary files /dev/null and b/tests/futility/data/zinger.signed differ
diff --git a/tests/futility/data/zinger.unsigned b/tests/futility/data/zinger.unsigned
new file mode 100644 (file)
index 0000000..f36c37d
Binary files /dev/null and b/tests/futility/data/zinger.unsigned differ
diff --git a/tests/futility/data/zinger_mp_image.bin b/tests/futility/data/zinger_mp_image.bin
new file mode 100644 (file)
index 0000000..68152c0
Binary files /dev/null and b/tests/futility/data/zinger_mp_image.bin differ
diff --git a/tests/futility/data_bios_link_mp.bin_expect.txt b/tests/futility/data_bios_link_mp.bin_expect.txt
new file mode 100644 (file)
index 0000000..893e111
--- /dev/null
@@ -0,0 +1,6 @@
+7b5c520ceabce86f13e02b7ca363cfb509fc5b98
+7e74cd6d66f361da068c0419d2e0946b4d091e1c
+e2c1c92d7d7aa7dfed5e8375edd30b7ae52b7450
+5d2b220899c4403d564092ada3f12d3cc4483223
+e2c1c92d7d7aa7dfed5e8375edd30b7ae52b7450
+5d2b220899c4403d564092ada3f12d3cc4483223
diff --git a/tests/futility/data_bios_mario_mp.bin_expect.txt b/tests/futility/data_bios_mario_mp.bin_expect.txt
new file mode 100644 (file)
index 0000000..b3034e2
--- /dev/null
@@ -0,0 +1,6 @@
+541f467a7d8747f55ae9087ee4e34155f5ee3cd7
+5d0d163b824cab5ae4f23fb2cc012e2a4124f4fe
+e2c1c92d7d7aa7dfed5e8375edd30b7ae52b7450
+5d2b220899c4403d564092ada3f12d3cc4483223
+e2c1c92d7d7aa7dfed5e8375edd30b7ae52b7450
+5d2b220899c4403d564092ada3f12d3cc4483223
diff --git a/tests/futility/data_bios_peppy_mp.bin_expect.txt b/tests/futility/data_bios_peppy_mp.bin_expect.txt
new file mode 100644 (file)
index 0000000..616530c
--- /dev/null
@@ -0,0 +1,6 @@
+fc68bcb88bf9af1907289a9f377d658b3b9fe5b0
+bf39d0d3e30cbf6a121416d04df4603ad5310779
+e2c1c92d7d7aa7dfed5e8375edd30b7ae52b7450
+5d2b220899c4403d564092ada3f12d3cc4483223
+e2c1c92d7d7aa7dfed5e8375edd30b7ae52b7450
+5d2b220899c4403d564092ada3f12d3cc4483223
diff --git a/tests/futility/data_bios_peppy_mp_no_vblock.bin_expect.txt b/tests/futility/data_bios_peppy_mp_no_vblock.bin_expect.txt
new file mode 100644 (file)
index 0000000..616530c
--- /dev/null
@@ -0,0 +1,6 @@
+fc68bcb88bf9af1907289a9f377d658b3b9fe5b0
+bf39d0d3e30cbf6a121416d04df4603ad5310779
+e2c1c92d7d7aa7dfed5e8375edd30b7ae52b7450
+5d2b220899c4403d564092ada3f12d3cc4483223
+e2c1c92d7d7aa7dfed5e8375edd30b7ae52b7450
+5d2b220899c4403d564092ada3f12d3cc4483223
diff --git a/tests/futility/data_bios_zgb_mp.bin_expect.txt b/tests/futility/data_bios_zgb_mp.bin_expect.txt
new file mode 100644 (file)
index 0000000..2a021ce
--- /dev/null
@@ -0,0 +1,6 @@
+9f59876c7f7dc881f02d934786c6b7c2c17dcaac
+9bd99a594c45b6739899a17ec29ac2289ee75463
+a0e4415cd4e271802504cce3a211b54562178fc8
+5d2b220899c4403d564092ada3f12d3cc4483223
+e2c1c92d7d7aa7dfed5e8375edd30b7ae52b7450
+5d2b220899c4403d564092ada3f12d3cc4483223
diff --git a/tests/futility/data_fmap.bin b/tests/futility/data_fmap.bin
new file mode 100644 (file)
index 0000000..67e57a0
Binary files /dev/null and b/tests/futility/data_fmap.bin differ
diff --git a/tests/futility/data_fmap2.bin b/tests/futility/data_fmap2.bin
new file mode 100644 (file)
index 0000000..567af9c
Binary files /dev/null and b/tests/futility/data_fmap2.bin differ
diff --git a/tests/futility/data_fmap2_expect_h.txt b/tests/futility/data_fmap2_expect_h.txt
new file mode 100644 (file)
index 0000000..16d3991
--- /dev/null
@@ -0,0 +1,4 @@
+ERROR: RO_VPD and RO_UNUSED overlap
+  RO_VPD: 0x1a0000 - 0x1b0000
+  RO_UNUSED: 0x1af000 - 0x200000
+Use more -h args to ignore this error
diff --git a/tests/futility/data_fmap2_expect_hh.txt b/tests/futility/data_fmap2_expect_hh.txt
new file mode 100644 (file)
index 0000000..acbb676
--- /dev/null
@@ -0,0 +1,29 @@
+ERROR: RO_VPD and RO_UNUSED overlap
+  RO_VPD: 0x1a0000 - 0x1b0000
+  RO_UNUSED: 0x1af000 - 0x200000
+# name                     start       end         size
+RW_PRIVATE                 003fc000    00400000    00004000
+RW_ENVIRONMENT             003fc000    00400000    00004000  // DUPLICATE
+RW_SHARED                  003f8000    003fc000    00004000
+SHARED_DATA                003f8000    003fc000    00004000  // DUPLICATE
+RW_VPD                     003f0000    003f8000    00008000
+RW_SECTION_B               00300000    003f0000    000f0000
+  RW_FWID_B                  003eff00    003f0000    00000100
+  FW_MAIN_B                  00302000    003eff00    000edf00
+  VBLOCK_B                   00300000    00302000    00002000
+RW_SECTION_A               00200000    002f0000    000f0000
+  RW_FWID_A                  002eff00    002f0000    00000100
+  FW_MAIN_A                  00202000    002eff00    000edf00
+  VBLOCK_A                   00200000    00202000    00002000
+WP_RO                      00000000    00200000    00200000
+  RO_UNUSED                  001af000    00200000    00051000
+  RO_VPD                     001a0000    001b0000    00010000
+  RO_SECTION                 00000000    0019f000    0019f000
+    GBB                        000b0000    0019f000    000ef000
+    RO_FRID                    000aff00    000b0000    00000100
+    FMAP                       000a0000    000a1000    00001000
+    U_BOOT                     00006000    000a0000    0009a000
+    BL2 SPL                    00002000    00006000    00004000
+    BL1 PRE_BOOT               00000000    00002000    00002000
+
+WARNING: unused regions found. Use -H to see them
diff --git a/tests/futility/data_fmap2_expect_hhH.txt b/tests/futility/data_fmap2_expect_hhH.txt
new file mode 100644 (file)
index 0000000..e95a7b1
--- /dev/null
@@ -0,0 +1,32 @@
+ERROR: RO_VPD and RO_UNUSED overlap
+  RO_VPD: 0x1a0000 - 0x1b0000
+  RO_UNUSED: 0x1af000 - 0x200000
+# name                     start       end         size
+-entire flash-             00000000    00400000    00400000
+  RW_PRIVATE                 003fc000    00400000    00004000
+  RW_ENVIRONMENT             003fc000    00400000    00004000  // DUPLICATE
+  RW_SHARED                  003f8000    003fc000    00004000
+  SHARED_DATA                003f8000    003fc000    00004000  // DUPLICATE
+  RW_VPD                     003f0000    003f8000    00008000
+  RW_SECTION_B               00300000    003f0000    000f0000
+    RW_FWID_B                  003eff00    003f0000    00000100
+    FW_MAIN_B                  00302000    003eff00    000edf00
+    VBLOCK_B                   00300000    00302000    00002000
+                             002f0000    00300000    00010000  // gap in -entire flash-
+  RW_SECTION_A               00200000    002f0000    000f0000
+    RW_FWID_A                  002eff00    002f0000    00000100
+    FW_MAIN_A                  00202000    002eff00    000edf00
+    VBLOCK_A                   00200000    00202000    00002000
+  WP_RO                      00000000    00200000    00200000
+    RO_UNUSED                  001af000    00200000    00051000
+                               001b0000    001af000    fffff000  // gap in WP_RO
+    RO_VPD                     001a0000    001b0000    00010000
+                               0019f000    001a0000    00001000  // gap in WP_RO
+    RO_SECTION                 00000000    0019f000    0019f000
+      GBB                        000b0000    0019f000    000ef000
+      RO_FRID                    000aff00    000b0000    00000100
+                                 000a1000    000aff00    0000ef00  // gap in RO_SECTION
+      FMAP                       000a0000    000a1000    00001000
+      U_BOOT                     00006000    000a0000    0009a000
+      BL2 SPL                    00002000    00006000    00004000
+      BL1 PRE_BOOT               00000000    00002000    00002000
diff --git a/tests/futility/data_fmap_expect_f.txt b/tests/futility/data_fmap_expect_f.txt
new file mode 100644 (file)
index 0000000..c6658db
--- /dev/null
@@ -0,0 +1,30 @@
+0x00000000:0x001fffff SI_ALL
+0x00000000:0x00000fff SI_DESC
+0x00001000:0x001fffff SI_ME
+0x00200000:0x007fffff SI_BIOS
+0x00200000:0x002effff RW_SECTION_A
+0x00200000:0x0020ffff VBLOCK_A
+0x00210000:0x002effbf FW_MAIN_A
+0x002effc0:0x002effff RW_FWID_A
+0x002f0000:0x003dffff RW_SECTION_B
+0x002f0000:0x002fffff VBLOCK_B
+0x00300000:0x003dffbf FW_MAIN_B
+0x003dffc0:0x003dffff RW_FWID_B
+0x003e0000:0x003effff RW_MRC_CACHE
+0x003f0000:0x003f3fff RW_ELOG
+0x003f4000:0x003f7fff RW_SHARED
+0x003f4000:0x003f5fff SHARED_DATA
+0x003f6000:0x003f7fff VBLOCK_DEV
+0x003f8000:0x003fbfff RW_ENVIRONMENT
+0x003fc000:0x003fdfff RW_VPD
+0x003fe000:0x003fffff RW_UNUSED
+0x00400000:0x005fffff RW_LEGACY
+0x00600000:0x007fffff WP_RO
+0x00600000:0x00603fff RO_VPD
+0x00604000:0x0060ffff RO_UNUSED
+0x00610000:0x007fffff RO_SECTION
+0x00610000:0x006107ff FMAP
+0x00610800:0x0061083f RO_FRID
+0x00610840:0x00610fff RO_FRID_PAD
+0x00611000:0x006fffff GBB
+0x00700000:0x007fffff BOOT_STUB
diff --git a/tests/futility/data_fmap_expect_h.txt b/tests/futility/data_fmap_expect_h.txt
new file mode 100644 (file)
index 0000000..fe31c1e
--- /dev/null
@@ -0,0 +1,31 @@
+# name                     start       end         size
+SI_BIOS                    00200000    00800000    00600000
+  WP_RO                      00600000    00800000    00200000
+    RO_SECTION                 00610000    00800000    001f0000
+      BOOT_STUB                  00700000    00800000    00100000
+      GBB                        00611000    00700000    000ef000
+      RO_FRID_PAD                00610840    00611000    000007c0
+      RO_FRID                    00610800    00610840    00000040
+      FMAP                       00610000    00610800    00000800
+    RO_UNUSED                  00604000    00610000    0000c000
+    RO_VPD                     00600000    00604000    00004000
+  RW_LEGACY                  00400000    00600000    00200000
+  RW_UNUSED                  003fe000    00400000    00002000
+  RW_VPD                     003fc000    003fe000    00002000
+  RW_ENVIRONMENT             003f8000    003fc000    00004000
+  RW_SHARED                  003f4000    003f8000    00004000
+    VBLOCK_DEV                 003f6000    003f8000    00002000
+    SHARED_DATA                003f4000    003f6000    00002000
+  RW_ELOG                    003f0000    003f4000    00004000
+  RW_MRC_CACHE               003e0000    003f0000    00010000
+  RW_SECTION_B               002f0000    003e0000    000f0000
+    RW_FWID_B                  003dffc0    003e0000    00000040
+    FW_MAIN_B                  00300000    003dffc0    000dffc0
+    VBLOCK_B                   002f0000    00300000    00010000
+  RW_SECTION_A               00200000    002f0000    000f0000
+    RW_FWID_A                  002effc0    002f0000    00000040
+    FW_MAIN_A                  00210000    002effc0    000dffc0
+    VBLOCK_A                   00200000    00210000    00010000
+SI_ALL                     00000000    00200000    00200000
+  SI_ME                      00001000    00200000    001ff000
+  SI_DESC                    00000000    00001000    00001000
diff --git a/tests/futility/data_fmap_expect_p.txt b/tests/futility/data_fmap_expect_p.txt
new file mode 100644 (file)
index 0000000..c0cf17b
--- /dev/null
@@ -0,0 +1,30 @@
+SI_ALL 0 2097152
+SI_DESC 0 4096
+SI_ME 4096 2093056
+SI_BIOS 2097152 6291456
+RW_SECTION_A 2097152 983040
+VBLOCK_A 2097152 65536
+FW_MAIN_A 2162688 917440
+RW_FWID_A 3080128 64
+RW_SECTION_B 3080192 983040
+VBLOCK_B 3080192 65536
+FW_MAIN_B 3145728 917440
+RW_FWID_B 4063168 64
+RW_MRC_CACHE 4063232 65536
+RW_ELOG 4128768 16384
+RW_SHARED 4145152 16384
+SHARED_DATA 4145152 8192
+VBLOCK_DEV 4153344 8192
+RW_ENVIRONMENT 4161536 16384
+RW_VPD 4177920 8192
+RW_UNUSED 4186112 8192
+RW_LEGACY 4194304 2097152
+WP_RO 6291456 2097152
+RO_VPD 6291456 16384
+RO_UNUSED 6307840 49152
+RO_SECTION 6356992 2031616
+FMAP 6356992 2048
+RO_FRID 6359040 64
+RO_FRID_PAD 6359104 1984
+GBB 6361088 978944
+BOOT_STUB 7340032 1048576
diff --git a/tests/futility/data_fmap_expect_x.txt b/tests/futility/data_fmap_expect_x.txt
new file mode 100644 (file)
index 0000000..2d276d6
--- /dev/null
@@ -0,0 +1,12 @@
+hit at 0x00000800
+fmap_signature   __FMAP__
+fmap_version:    1.0
+fmap_base:       0x0
+fmap_size:       0x00800000 (8388608)
+fmap_name:       FMAP
+fmap_nareas:     30
+area:            2
+area_offset:     0x00000000
+area_size:       0x00001000 (4096)
+area_name:       SI_DESC
+saved as "SI_DESC"
diff --git a/tests/futility/data_fmap_expect_x2.txt b/tests/futility/data_fmap_expect_x2.txt
new file mode 100644 (file)
index 0000000..7226a4f
--- /dev/null
@@ -0,0 +1,12 @@
+hit at 0x00000800
+fmap_signature   __FMAP__
+fmap_version:    1.0
+fmap_base:       0x0
+fmap_size:       0x00800000 (8388608)
+fmap_name:       FMAP
+fmap_nareas:     30
+area:            2
+area_offset:     0x00000000
+area_size:       0x00001000 (4096)
+area_name:       SI_DESC
+saved as "FOO"
diff --git a/tests/futility/expect_output/show.tests_devkeys_kernel.keyblock b/tests/futility/expect_output/show.tests_devkeys_kernel.keyblock
new file mode 100644 (file)
index 0000000..2266424
--- /dev/null
@@ -0,0 +1,7 @@
+Keyblock:                tests/devkeys/kernel.keyblock
+  Signature:             ignored
+  Size:                  0x4b8
+  Flags:                 23  !DEV DEV !REC !MINIOS
+  Data key algorithm:    4 RSA2048 SHA256
+  Data key version:      1
+  Data key sha1sum:      d6170aa480136f1f29cf339a5ab1b960585fa444
diff --git a/tests/futility/expect_output/show.tests_devkeys_root_key.vbprivk b/tests/futility/expect_output/show.tests_devkeys_root_key.vbprivk
new file mode 100644 (file)
index 0000000..473007b
--- /dev/null
@@ -0,0 +1,4 @@
+Private Key file:      tests/devkeys/root_key.vbprivk
+  Vboot API:           1.0
+  Algorithm:           11 RSA8192 SHA512
+  Key sha1sum:         b11d74edd286c144e1135b49e7f0bc20cf041f10
diff --git a/tests/futility/expect_output/show.tests_devkeys_root_key.vbpubk b/tests/futility/expect_output/show.tests_devkeys_root_key.vbpubk
new file mode 100644 (file)
index 0000000..90dd7c9
--- /dev/null
@@ -0,0 +1,5 @@
+Public Key file:       tests/devkeys/root_key.vbpubk
+  Vboot API:           1.0
+  Algorithm:           11 RSA8192 SHA512
+  Key Version:         1
+  Key sha1sum:         b11d74edd286c144e1135b49e7f0bc20cf041f10
diff --git a/tests/futility/expect_output/show.tests_futility_data_bios_mario_mp.bin b/tests/futility/expect_output/show.tests_futility_data_bios_mario_mp.bin
new file mode 100644 (file)
index 0000000..6039855
--- /dev/null
@@ -0,0 +1,63 @@
+BIOS:                    tests/futility/data/bios_mario_mp.bin
+GBB header:              GBB Area
+  Version:               1.0
+  Flags:                 0x00000000
+  Regions:                 offset       size
+    hwid                 0x00000080   0x00000100
+    bmpvf                0x00001180   0x0003de80
+    rootkey              0x00000180   0x00001000
+    recovery_key         0x0003f000   0x00001000
+  Size:                  0x00040000 / 0x00040000
+GBB content:
+  HWID:                  {9D799111-A88A-439E-9E1F-FBBB41B00A9A}
+     digest:             <none>
+  Root Key:
+    Vboot API:           1.0
+    Algorithm:           11 RSA8192 SHA512
+    Key Version:         1
+    Key sha1sum:         541f467a7d8747f55ae9087ee4e34155f5ee3cd7
+  Recovery Key:
+    Vboot API:           1.0
+    Algorithm:           11 RSA8192 SHA512
+    Key Version:         1
+    Key sha1sum:         5d0d163b824cab5ae4f23fb2cc012e2a4124f4fe
+Firmware body:           Firmware A Data
+  Offset:                0x00040000
+  Size:                  0x000d0000
+Firmware body:           Firmware B Data
+  Offset:                0x00120000
+  Size:                  0x000d0000
+Keyblock:                Firmware A Key
+  Signature:             valid
+  Size:                  0x8b8
+  Flags:                 7  !DEV DEV !REC
+  Data key algorithm:    8 RSA4096 SHA512
+  Data key version:      1
+  Data key sha1sum:      cd72cfb929765f82baba0a01ed937a73f502f6c5
+Firmware Preamble:
+  Size:                  2164
+  Header version:        2.1
+  Firmware version:      1
+  Kernel key algorithm:  8 RSA4096 SHA512
+  Kernel key version:    1
+  Kernel key sha1sum:    e39e019cb5df3e874f443721540cb261a88c58ef
+  Firmware body size:    851968
+  Preamble flags:        0
+Body verification succeeded.
+Keyblock:                Firmware B Key
+  Signature:             valid
+  Size:                  0x8b8
+  Flags:                 7  !DEV DEV !REC
+  Data key algorithm:    8 RSA4096 SHA512
+  Data key version:      1
+  Data key sha1sum:      cd72cfb929765f82baba0a01ed937a73f502f6c5
+Firmware Preamble:
+  Size:                  2164
+  Header version:        2.1
+  Firmware version:      1
+  Kernel key algorithm:  8 RSA4096 SHA512
+  Kernel key version:    1
+  Kernel key sha1sum:    e39e019cb5df3e874f443721540cb261a88c58ef
+  Firmware body size:    851968
+  Preamble flags:        0
+Body verification succeeded.
diff --git a/tests/futility/expect_output/show.tests_futility_data_bios_zgb_mp.bin b/tests/futility/expect_output/show.tests_futility_data_bios_zgb_mp.bin
new file mode 100644 (file)
index 0000000..2f9f807
--- /dev/null
@@ -0,0 +1,63 @@
+BIOS:                    tests/futility/data/bios_zgb_mp.bin
+GBB header:              GBB
+  Version:               1.0
+  Flags:                 0x00000000
+  Regions:                 offset       size
+    hwid                 0x00000080   0x00000100
+    bmpvf                0x00001180   0x0003de80
+    rootkey              0x00000180   0x00001000
+    recovery_key         0x0003f000   0x00001000
+  Size:                  0x00040000 / 0x00040000
+GBB content:
+  HWID:                  {FA42644C-CF3A-4692-A9D3-1A667CB232E9}
+     digest:             <none>
+  Root Key:
+    Vboot API:           1.0
+    Algorithm:           11 RSA8192 SHA512
+    Key Version:         1
+    Key sha1sum:         9f59876c7f7dc881f02d934786c6b7c2c17dcaac
+  Recovery Key:
+    Vboot API:           1.0
+    Algorithm:           11 RSA8192 SHA512
+    Key Version:         1
+    Key sha1sum:         9bd99a594c45b6739899a17ec29ac2289ee75463
+Firmware body:           FW_MAIN_A
+  Offset:                0x00030000
+  Size:                  0x000dffc0
+Firmware body:           FW_MAIN_B
+  Offset:                0x00120000
+  Size:                  0x000dffc0
+Keyblock:                VBLOCK_A
+  Signature:             valid
+  Size:                  0x8b8
+  Flags:                 6  DEV !REC
+  Data key algorithm:    8 RSA4096 SHA512
+  Data key version:      1
+  Data key sha1sum:      a78aaa1691c2125ef8ccefa1a8a6bea92d38fae6
+Firmware Preamble:
+  Size:                  2164
+  Header version:        2.1
+  Firmware version:      2
+  Kernel key algorithm:  7 RSA4096 SHA256
+  Kernel key version:    2
+  Kernel key sha1sum:    0c9fd5b03ab47d37924ba8a7beb64039d84ed0e1
+  Firmware body size:    917440
+  Preamble flags:        0
+Body verification succeeded.
+Keyblock:                VBLOCK_B
+  Signature:             valid
+  Size:                  0x8b8
+  Flags:                 7  !DEV DEV !REC
+  Data key algorithm:    8 RSA4096 SHA512
+  Data key version:      1
+  Data key sha1sum:      4fe08ed739069d6834b68612eb707998a0825f34
+Firmware Preamble:
+  Size:                  2164
+  Header version:        2.1
+  Firmware version:      2
+  Kernel key algorithm:  7 RSA4096 SHA256
+  Kernel key version:    2
+  Kernel key sha1sum:    0c9fd5b03ab47d37924ba8a7beb64039d84ed0e1
+  Firmware body size:    917440
+  Preamble flags:        0
+Body verification succeeded.
diff --git a/tests/futility/expect_output/show.tests_futility_data_fw_gbb.bin b/tests/futility/expect_output/show.tests_futility_data_fw_gbb.bin
new file mode 100644 (file)
index 0000000..3f81d86
--- /dev/null
@@ -0,0 +1,22 @@
+GBB header:              tests/futility/data/fw_gbb.bin
+  Version:               1.1
+  Flags:                 0x00000039
+  Regions:                 offset       size
+    hwid                 0x00000080   0x00000100
+    bmpvf                0x00001180   0x000ece80
+    rootkey              0x00000180   0x00001000
+    recovery_key         0x000ee000   0x00001000
+  Size:                  0x000ef000 / 0x000ef000
+GBB content:
+  HWID:                  X86 PEPPY TEST 4211
+     digest:             <none>
+  Root Key:
+    Vboot API:           1.0
+    Algorithm:           11 RSA8192 SHA512
+    Key Version:         1
+    Key sha1sum:         fc68bcb88bf9af1907289a9f377d658b3b9fe5b0
+  Recovery Key:
+    Vboot API:           1.0
+    Algorithm:           11 RSA8192 SHA512
+    Key Version:         1
+    Key sha1sum:         bf39d0d3e30cbf6a121416d04df4603ad5310779
diff --git a/tests/futility/expect_output/show.tests_futility_data_fw_vblock.bin b/tests/futility/expect_output/show.tests_futility_data_fw_vblock.bin
new file mode 100644 (file)
index 0000000..ff25ed7
--- /dev/null
@@ -0,0 +1,17 @@
+Keyblock:                tests/futility/data/fw_vblock.bin
+  Signature:             ignored
+  Size:                  0x8b8
+  Flags:                 7  !DEV DEV !REC
+  Data key algorithm:    8 RSA4096 SHA512
+  Data key version:      1
+  Data key sha1sum:      f917ad29e36aa8a286f978c1aa0550ea31c6a561
+Firmware Preamble:
+  Size:                  2164
+  Header version:        2.1
+  Firmware version:      2
+  Kernel key algorithm:  7 RSA4096 SHA256
+  Kernel key version:    2
+  Kernel key sha1sum:    cc05423373b76acbec23ec45dfa3696a2ea6dc0f
+  Firmware body size:    146456
+  Preamble flags:        0
+No firmware body available to verify.
diff --git a/tests/futility/expect_output/show.tests_futility_data_kern_preamble.bin b/tests/futility/expect_output/show.tests_futility_data_kern_preamble.bin
new file mode 100644 (file)
index 0000000..359f45c
--- /dev/null
@@ -0,0 +1,20 @@
+Kernel partition:        tests/futility/data/kern_preamble.bin
+Keyblock:
+  Signature:             ignored
+  Size:                  0x5b8
+  Flags:                 15  !DEV DEV !REC REC
+  Data key algorithm:    8 RSA4096 SHA512
+  Data key version:      1
+  Data key sha1sum:      50b28df3cebabeefd134b7bc96512207f57b20a5
+Kernel Preamble:
+  Size:                  0xfa48
+  Header version:        2.0
+  Kernel version:        1
+  Body load address:     0x100000
+  Body size:             0x12000
+  Bootloader address:    0x10a000
+  Bootloader size:       0x8000
+  Flags:                 0
+Body verification succeeded.
+Config:
+hi there 
diff --git a/tests/futility/expect_output/show.tests_futility_data_sample.vbprik2 b/tests/futility/expect_output/show.tests_futility_data_sample.vbprik2
new file mode 100644 (file)
index 0000000..4e0cb3a
--- /dev/null
@@ -0,0 +1,6 @@
+Private key file:      tests/futility/data/sample.vbprik2
+  Vboot API:           2.1
+  Desc:                "sample vb21 keypair"
+  Signature Algorithm: 5 RSA8192
+  Hash Algorithm:      3 SHA512
+  ID:                  f1afa44a1aed0d0e9ff630579df920a725e9de5e
diff --git a/tests/futility/expect_output/show.tests_futility_data_sample.vbpubk2 b/tests/futility/expect_output/show.tests_futility_data_sample.vbpubk2
new file mode 100644 (file)
index 0000000..4a7ee4a
--- /dev/null
@@ -0,0 +1,7 @@
+Public Key file:       tests/futility/data/sample.vbpubk2
+  Vboot API:           2.1
+  Desc:                "sample vb21 keypair"
+  Signature Algorithm: 5 RSA8192
+  Hash Algorithm:      3 SHA512
+  Version:             0x00000001
+  ID:                  f1afa44a1aed0d0e9ff630579df920a725e9de5e
diff --git a/tests/futility/expect_output/show.tests_testkeys_key_rsa2048.pem b/tests/futility/expect_output/show.tests_testkeys_key_rsa2048.pem
new file mode 100644 (file)
index 0000000..08a8a2b
--- /dev/null
@@ -0,0 +1,3 @@
+Private Key file:      tests/testkeys/key_rsa2048.pem
+  Key length:          2048
+  Key sha1sum:         bfb2fa9188a87bf766dd7c313ea6802553b646b6
diff --git a/tests/futility/expect_output/show.tests_testkeys_key_rsa8192.pub.pem b/tests/futility/expect_output/show.tests_testkeys_key_rsa8192.pub.pem
new file mode 100644 (file)
index 0000000..41c14ec
--- /dev/null
@@ -0,0 +1,3 @@
+Public Key file:      tests/testkeys/key_rsa8192.pub.pem
+  Key length:          8192
+  Key sha1sum:         f1afa44a1aed0d0e9ff630579df920a725e9de5e
diff --git a/tests/futility/expect_output/vbutil_firmware.tests_futility_data_fw.vblock b/tests/futility/expect_output/vbutil_firmware.tests_futility_data_fw.vblock
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/futility/expect_output/vbutil_firmware.tests_futility_data_fw_vblock.bin b/tests/futility/expect_output/vbutil_firmware.tests_futility_data_fw_vblock.bin
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/futility/expect_output/vbutil_firmware.verify b/tests/futility/expect_output/vbutil_firmware.verify
new file mode 100644 (file)
index 0000000..e23c169
--- /dev/null
@@ -0,0 +1,16 @@
+Keyblock:
+  Size:                2232
+  Flags:               23 (ignored)
+  Data key algorithm:  7 RSA4096 SHA256
+  Data key version:    1
+  Data key sha1sum:    e2c1c92d7d7aa7dfed5e8375edd30b7ae52b7450
+Preamble:
+  Size:                  2164
+  Header version:        2.1
+  Firmware version:      12
+  Kernel key algorithm:  7 RSA4096 SHA256
+  Kernel key version:    1
+  Kernel key sha1sum:    5d2b220899c4403d564092ada3f12d3cc4483223
+  Firmware body size:    16384
+  Preamble flags:        42
+Body verification succeeded.
diff --git a/tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbprivk b/tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbprivk
new file mode 100644 (file)
index 0000000..bc11607
--- /dev/null
@@ -0,0 +1,2 @@
+Private Key file:  tests/devkeys/root_key.vbprivk
+Algorithm:         11 RSA8192 SHA512
diff --git a/tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbpubk b/tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbpubk
new file mode 100644 (file)
index 0000000..ad2bd19
--- /dev/null
@@ -0,0 +1,4 @@
+Public Key file:   tests/devkeys/root_key.vbpubk
+Algorithm:         11 RSA8192 SHA512
+Key Version:       1
+Key sha1sum:       b11d74edd286c144e1135b49e7f0bc20cf041f10
diff --git a/tests/futility/expect_output/vbutil_keyblock.tests_devkeys_kernel.keyblock b/tests/futility/expect_output/vbutil_keyblock.tests_devkeys_kernel.keyblock
new file mode 100644 (file)
index 0000000..afb0faf
--- /dev/null
@@ -0,0 +1,6 @@
+Keyblock file:        tests/devkeys/kernel.keyblock
+Signature             valid
+Flags:                23  !DEV DEV !REC !MINIOS
+Data key algorithm:   4 RSA2048 SHA256
+Data key version:     1
+Data key sha1sum:     d6170aa480136f1f29cf339a5ab1b960585fa444
diff --git a/tests/futility/link_bios.manifest.json b/tests/futility/link_bios.manifest.json
new file mode 100644 (file)
index 0000000..9bd33f5
--- /dev/null
@@ -0,0 +1,7 @@
+{
+  "link": {
+    "host": { "versions": { "ro": "Google_Link.2695.1.133", "rw": "Google_Link.2695.1.133" },
+      "keys": { "root": "7b5c520ceabce86f13e02b7ca363cfb509fc5b98", "recovery": "7e74cd6d66f361da068c0419d2e0946b4d091e1c" },
+      "image": "bios.bin" }
+  }
+}
diff --git a/tests/futility/link_image.manifest.json b/tests/futility/link_image.manifest.json
new file mode 100644 (file)
index 0000000..e3296a0
--- /dev/null
@@ -0,0 +1,7 @@
+{
+  "link": {
+    "host": { "versions": { "ro": "Google_Link.2695.1.133", "rw": "Google_Link.2695.1.133" },
+      "keys": { "root": "7b5c520ceabce86f13e02b7ca363cfb509fc5b98", "recovery": "7e74cd6d66f361da068c0419d2e0946b4d091e1c" },
+      "image": "image.bin" }
+  }
+}
diff --git a/tests/futility/models/link/setvars.sh b/tests/futility/models/link/setvars.sh
new file mode 100755 (executable)
index 0000000..1918099
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This is a template file which provides settings for firmware update of a
+# particular model. The pack_firmware.py script uses this to create a working
+# setvars-model.sh script.
+
+# Image and key files for model link
+IMAGE_MAIN="images/bios_link.bin"
+IMAGE_EC="images/ec_link.bin"
+IMAGE_PD=""
+SIGNATURE_ID="link"
diff --git a/tests/futility/models/peppy/setvars.sh b/tests/futility/models/peppy/setvars.sh
new file mode 100755 (executable)
index 0000000..855e815
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This is a template file which provides settings for firmware update of a
+# particular model. The pack_firmware.py script uses this to create a working
+# setvars-model.sh script.
+
+# Image and key files for model peppy
+IMAGE_MAIN="images/bios_peppy.bin"
+IMAGE_EC="images/ec_peppy.bin"
+IMAGE_PD=""
+SIGNATURE_ID="peppy"
diff --git a/tests/futility/models/whitetip/setvars.sh b/tests/futility/models/whitetip/setvars.sh
new file mode 100755 (executable)
index 0000000..4b9cb40
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This is a template file which provides settings for firmware update of a
+# particular model. The pack_firmware.py script uses this to create a working
+# setvars-model.sh script.
+
+# Version information for model whitetip
+TARGET_RO_FWID="Google_Coral.10068.45.0"
+TARGET_FWID="Google_Coral.10068.45.0"
+TARGET_ECID="coral_v1.1.7272-0b44fba22"
+TARGET_PDID=""
+TARGET_PLATFORM="Google_Coral"
+
+# Image and key files for model whitetip
+IMAGE_MAIN="images/bios_coral.bin"
+IMAGE_EC=""
+IMAGE_PD=""
+SIGNATURE_ID="sig-id-in-customization-id"
diff --git a/tests/futility/run_test_scripts.sh b/tests/futility/run_test_scripts.sh
new file mode 100755 (executable)
index 0000000..f224bdf
--- /dev/null
@@ -0,0 +1,82 @@
+#!/bin/bash -eu
+# Copyright 2013 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Load common constants and variables.
+. "$(dirname "$0")/../common.sh"
+
+OUTDIR="${BUILD}/tests/futility_test_results"
+[ -d "$OUTDIR" ] || mkdir -p "$OUTDIR"
+
+# Let each test know where to find things...
+export BUILD
+export BUILD_RUN
+export SRCDIR
+export FUTILITY
+export SCRIPT_DIR
+export OUTDIR
+
+# These are the scripts to run. Binaries are invoked directly by the Makefile.
+TESTS="
+${SCRIPT_DIR}/futility/test_create.sh
+${SCRIPT_DIR}/futility/test_dump_fmap.sh
+${SCRIPT_DIR}/futility/test_gbb_utility.sh
+${SCRIPT_DIR}/futility/test_load_fmap.sh
+${SCRIPT_DIR}/futility/test_main.sh
+${SCRIPT_DIR}/futility/test_rwsig.sh
+${SCRIPT_DIR}/futility/test_show_contents.sh
+${SCRIPT_DIR}/futility/test_show_kernel.sh
+${SCRIPT_DIR}/futility/test_show_vs_verify.sh
+${SCRIPT_DIR}/futility/test_show_usbpd1.sh
+${SCRIPT_DIR}/futility/test_sign_firmware.sh
+${SCRIPT_DIR}/futility/test_sign_fw_main.sh
+${SCRIPT_DIR}/futility/test_sign_kernel.sh
+${SCRIPT_DIR}/futility/test_sign_keyblocks.sh
+${SCRIPT_DIR}/futility/test_sign_usbpd1.sh
+${SCRIPT_DIR}/futility/test_update.sh
+${SCRIPT_DIR}/futility/test_file_types.sh
+"
+
+# Get ready...
+pass=0
+progs=0
+
+##############################################################################
+# Invoke the scripts that test the builtin functions.
+
+# Let the test scripts use >&3 to indicate progress
+exec 3>&1
+
+echo "-- builtin --"
+for i in $TESTS; do
+  j=${i##*/}
+
+  : $(( progs++ ))
+
+  echo -n "$j ... "
+  rm -rf "${OUTDIR}/$j."*
+  rc=$("$i" "$FUTILITY" 1>"${OUTDIR}/$j.stdout" \
+    2>"${OUTDIR}/$j.stderr" || echo "$?")
+  echo "${rc:-0}" > "${OUTDIR}/$j.return"
+  if [ ! "$rc" ]; then
+    echo -e "${COL_GREEN}PASSED${COL_STOP}"
+    : $(( pass++ ))
+    rm -f ${OUTDIR}/$j.{stdout,stderr,return}
+  else
+    echo -e "${COL_RED}FAILED (${rc:-0}). Stdout is recorded in" \
+      "${OUTDIR}/$j.stdout${COL_STOP}"
+    cat ${OUTDIR}/$j.stderr
+  fi
+done
+
+##############################################################################
+# How'd we do?
+
+if [ "$pass" -eq "$progs" ]; then
+  echo -e "${COL_GREEN}Success: $pass / $progs passed${COL_STOP}"
+  exit 0
+fi
+
+echo -e "${COL_RED}FAIL: $pass / $progs passed${COL_STOP}"
+exit 1
diff --git a/tests/futility/test_create.sh b/tests/futility/test_create.sh
new file mode 100755 (executable)
index 0000000..55c648c
--- /dev/null
@@ -0,0 +1,69 @@
+#!/bin/bash -eux
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+# Current vb1 keys, including original .pem files.
+TESTKEYS=${SRCDIR}/tests/testkeys
+
+# Demonstrate that we can recreate the same vb1 keys without the .keyb files
+for sig in rsa1024 rsa2048 rsa4096 rsa8192; do
+  for hash in sha1 sha256 sha512; do
+    ${FUTILITY} --vb1 create --hash_alg "${hash}" \
+      "${TESTKEYS}/key_${sig}.pem" "${TMP}_key_${sig}.${hash}"
+    cmp "${TESTKEYS}/key_${sig}.${hash}.vbprivk" \
+      "${TMP}_key_${sig}.${hash}.vbprivk"
+    cmp "${TESTKEYS}/key_${sig}.${hash}.vbpubk" \
+      "${TMP}_key_${sig}.${hash}.vbpubk"
+  done
+done
+
+
+# Demonstrate that we can create some vb21 keypairs. This doesn't prove
+# prove anything until we've used them to sign some stuff, though.
+for sig in rsa1024 rsa2048 rsa4096 rsa8192; do
+  for hash in sha1 sha256 sha512; do
+    ${FUTILITY} --vb21 create --hash_alg "${hash}" \
+      "${TESTKEYS}/key_${sig}.pem" "${TMP}_key_${sig}.${hash}"
+  done
+done
+
+# Demonstrate that the sha1sums are the same for all the keys created from the
+# same .pem files, both public and private, vb1 and vb21.
+for sig in rsa1024 rsa2048 rsa4096 rsa8192; do
+  pem_sum=$(${FUTILITY} show "${TESTKEYS}/key_${sig}.pem" |
+    awk '/sha1sum/ {print $3}')
+  # expect only one
+  [ $(echo "$pem_sum" | wc -w) = 1 ]
+  num_keys=$(echo ${TMP}_key_${sig}.* | wc -w)
+  key_sums=$(${FUTILITY} show ${TMP}_key_${sig}.* |
+    awk '/sha1sum:|ID:/ {print $NF}')
+  num_sums=$(echo "$key_sums" | wc -w)
+  # expect one sha1sum (or ID) line per file
+  [ "$num_keys" = "$num_sums" ]
+  uniq_sums=$(echo "$key_sums" | uniq)
+  # note that this also tests that all the key_sums are the same
+  [ "$pem_sum" = "$uniq_sums" ]
+done
+
+# Demonstrate that we can create some vb21 public key from PEM containing
+# only the pubkeypairs and verify it's the same as the one generated from
+# the private key.
+for sig in rsa1024 rsa2048 rsa4096 rsa8192; do
+  for hash in sha1 sha256 sha512; do
+    ${FUTILITY} --vb21 create --hash_alg "${hash}" \
+      "${TESTKEYS}/key_${sig}.pub.pem" "${TMP}_key_${sig}.pubonly.${hash}"
+    cmp "${TMP}_key_${sig}.pubonly.${hash}.vbpubk2" \
+      "${TMP}_key_${sig}.${hash}.vbpubk2"
+  done
+done
+
+# cleanup
+rm -rf ${TMP}*
+exit 0
diff --git a/tests/futility/test_dump_fmap.sh b/tests/futility/test_dump_fmap.sh
new file mode 100755 (executable)
index 0000000..5ae2e97
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/bash -eux
+# Copyright 2013 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+# Good FMAP
+"$FUTILITY" dump_fmap -F "${SCRIPT_DIR}/futility/data_fmap.bin"  > "$TMP"
+cmp "${SCRIPT_DIR}/futility/data_fmap_expect_f.txt" "$TMP"
+
+"$FUTILITY" dump_fmap -p "${SCRIPT_DIR}/futility/data_fmap.bin"  > "$TMP"
+cmp "${SCRIPT_DIR}/futility/data_fmap_expect_p.txt" "$TMP"
+
+"$FUTILITY" dump_fmap -h "${SCRIPT_DIR}/futility/data_fmap.bin"  > "$TMP"
+cmp "${SCRIPT_DIR}/futility/data_fmap_expect_h.txt" "$TMP"
+
+
+# This should fail because the input file is truncated and doesn't really
+# contain the stuff that the FMAP claims it does.
+if "$FUTILITY" dump_fmap -x "${SCRIPT_DIR}/futility/data_fmap.bin" FMAP; \
+  then false; fi
+
+# This should fail too
+if "$FUTILITY" show "${SCRIPT_DIR}/futility/data_fmap.bin"; then false; fi
+
+# However, this should work.
+"$FUTILITY" dump_fmap -x "${SCRIPT_DIR}/futility/data_fmap.bin" SI_DESC > "$TMP"
+cmp "${SCRIPT_DIR}/futility/data_fmap_expect_x.txt" "$TMP"
+
+# Redirect dumping to a different place
+"$FUTILITY" dump_fmap -x "${SCRIPT_DIR}/futility/data_fmap.bin" SI_DESC:FOO \
+  > "$TMP"
+cmp "${SCRIPT_DIR}/futility/data_fmap_expect_x2.txt" "$TMP"
+cmp SI_DESC FOO
+
+# This FMAP has problems, and should fail.
+if "$FUTILITY" dump_fmap -h "${SCRIPT_DIR}/futility/data_fmap2.bin" > "$TMP"; \
+  then false; fi
+cmp "${SCRIPT_DIR}/futility/data_fmap2_expect_h.txt" "$TMP"
+
+"$FUTILITY" dump_fmap -hh "${SCRIPT_DIR}/futility/data_fmap2.bin" > "$TMP"
+cmp "${SCRIPT_DIR}/futility/data_fmap2_expect_hh.txt" "$TMP"
+
+"$FUTILITY" dump_fmap -hhH "${SCRIPT_DIR}/futility/data_fmap2.bin" > "$TMP"
+cmp "${SCRIPT_DIR}/futility/data_fmap2_expect_hhH.txt" "$TMP"
+
+
+# cleanup
+rm -f ${TMP}* FMAP SI_DESC FOO
+exit 0
diff --git a/tests/futility/test_file_types.c b/tests/futility/test_file_types.c
new file mode 100644 (file)
index 0000000..3f88872
--- /dev/null
@@ -0,0 +1,98 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <limits.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "file_type.h"
+#include "futility.h"
+#include "test_common.h"
+
+/*
+ * Files that exemplify each type.
+ * Paths are relative to the source directory.
+ * A missing path means we don't (yet?) know how to identify it reliably.
+ */
+static struct {
+       enum futil_file_type type;
+       const char * const file;
+} test_case[] = {
+       {FILE_TYPE_UNKNOWN,         "tests/futility/data/random_noise.bin"},
+       {FILE_TYPE_PUBKEY,          "tests/devkeys/root_key.vbpubk"},
+       {FILE_TYPE_KEYBLOCK,        "tests/devkeys/kernel.keyblock"},
+       {FILE_TYPE_FW_PREAMBLE,     "tests/futility/data/fw_vblock.bin"},
+       {FILE_TYPE_GBB,             "tests/futility/data/fw_gbb.bin"},
+       {FILE_TYPE_BIOS_IMAGE,      "tests/futility/data/bios_zgb_mp.bin"},
+       {FILE_TYPE_OLD_BIOS_IMAGE,  "tests/futility/data/bios_mario_mp.bin"},
+       {FILE_TYPE_KERN_PREAMBLE,   "tests/futility/data/kern_preamble.bin"},
+       {FILE_TYPE_RAW_FIRMWARE,    },          /* need a test for this */
+       {FILE_TYPE_RAW_KERNEL,      },          /* need a test for this */
+       {FILE_TYPE_CHROMIUMOS_DISK, },          /* need a test for this */
+       {FILE_TYPE_PRIVKEY,         "tests/devkeys/root_key.vbprivk"},
+       {FILE_TYPE_VB2_PUBKEY,      "tests/futility/data/sample.vbpubk2"},
+       {FILE_TYPE_VB2_PRIVKEY,     "tests/futility/data/sample.vbprik2"},
+       {FILE_TYPE_PEM,             "tests/testkeys/key_rsa2048.pem"},
+       {FILE_TYPE_USBPD1,          "tests/futility/data/zinger_mp_image.bin"},
+       {FILE_TYPE_RWSIG,           },          /* need a test for this */
+};
+_Static_assert(ARRAY_SIZE(test_case) == NUM_FILE_TYPES,
+              "Need a test case for each file type (total NUM_FILE_TYPES)");
+
+int main(int argc, char *argv[])
+{
+       char filename[PATH_MAX];
+       char status[80];
+       const char *srcdir;
+       enum futil_file_type type;
+       int i;
+
+       /* Where's the source directory? */
+       srcdir = getenv("SRCDIR");
+       if (argc > 1)
+               srcdir = argv[1];
+       if (!srcdir)
+               srcdir = ".";
+
+       /* Complain about some files we can't handle */
+       TEST_EQ(futil_file_type("/Sir/Not/Appearing/In/This/Film", &type),
+               FILE_ERR_OPEN, "Identify missing file");
+       TEST_EQ(futil_file_type("/", &type),
+               FILE_ERR_DIR, "Identify directory");
+       TEST_EQ(futil_file_type("/dev/zero", &type),
+               FILE_ERR_CHR, "Identify char device");
+
+       /* Now test things we can handle */
+       for (i = 0; i < NUM_FILE_TYPES; i++) {
+
+               if (!test_case[i].file) {
+                       printf("%sWarning: No test for file type %d (%s)%s\n",
+                              COL_YELLOW, test_case[i].type,
+                              futil_file_type_name(test_case[i].type),
+                              COL_STOP);
+                       continue;
+               }
+
+               snprintf(filename, sizeof(filename), "%s/%s",
+                        srcdir, test_case[i].file);
+
+               type = NUM_FILE_TYPES;
+               snprintf(status, sizeof(status),
+                        "File type %d (%s): examined",
+                        test_case[i].type,
+                        futil_file_type_name(test_case[i].type));
+               TEST_EQ(FILE_ERR_NONE, futil_file_type(filename, &type),
+                       status);
+
+               snprintf(status, sizeof(status),
+                        "File type %d (%s) identified",
+                        test_case[i].type,
+                        futil_file_type_name(test_case[i].type));
+               TEST_EQ(type, test_case[i].type, status);
+       }
+
+       return !gTestSuccess;
+}
diff --git a/tests/futility/test_file_types.sh b/tests/futility/test_file_types.sh
new file mode 100755 (executable)
index 0000000..4b7a9fb
--- /dev/null
@@ -0,0 +1,76 @@
+#!/bin/bash -eux
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+
+# The first part of this is a script version of the compiled test by the same
+# name, to ensure we have working results.
+
+# Args are <expected_type>, <file_to_probe>
+test_case() {
+    local result
+    result=$(${FUTILITY} show -t "${SRCDIR}/$2" | awk '{print $NF}')
+    [ "$1" = "$result" ]
+}
+
+# Arg is <file_to_probe>
+fail_case() {
+    if ${FUTILITY} show -t "$1" ; then false; else true; fi
+}
+
+# Known types
+test_case "unknown"         "tests/futility/data/short_junk.bin"
+test_case "unknown"         "tests/futility/data/random_noise.bin"
+test_case "pubkey"          "tests/devkeys/root_key.vbpubk"
+test_case "keyblock"        "tests/devkeys/kernel.keyblock"
+test_case "fw_pre"          "tests/futility/data/fw_vblock.bin"
+test_case "gbb"                    "tests/futility/data/fw_gbb.bin"
+test_case "bios"            "tests/futility/data/bios_zgb_mp.bin"
+test_case "oldbios"         "tests/futility/data/bios_mario_mp.bin"
+test_case "kernel"          "tests/futility/data/kern_preamble.bin"
+# We don't have a way to identify these (yet?)
+# test_case "RAW_FIRMWARE"
+# test_case "RAW_KERNEL"
+# test_case "CHROMIUMOS_DISK"
+test_case "prikey"         "tests/devkeys/root_key.vbprivk"
+test_case "pubkey21"        "tests/futility/data/sample.vbpubk2"
+test_case "prikey21"        "tests/futility/data/sample.vbprik2"
+test_case "pem"             "tests/testkeys/key_rsa2048.pem"
+test_case "pem"             "tests/testkeys/key_rsa8192.pub.pem"
+
+# Expect failure here.
+fail_case "/Sir/Not/Appearing/In/This/Film"
+fail_case "${SRCDIR}"
+fail_case "/dev/zero"
+
+
+# Now test the show command when the file type is intentionally wrong. It
+# often won't work, but it certainly shouldn't core dump.
+
+# We'll ask futility to tell us what types it supports
+TYPES=$(${FUTILITY} show --type help | awk '/^ +/ {print $1}')
+
+# And we'll just reuse the same files above.
+FILES=$(awk '/^test_case / {print $NF}' $0 | tr -d '"')
+
+# futility should normally exit with either 0 or 1. Make sure that happens.
+# NOTE: /bin/bash returns values > 125 for special problems like signals.
+# I welcome patches to do this more portably.
+for type in $TYPES; do
+    for file in $FILES; do
+        ${FUTILITY} show --type ${type} "${SRCDIR}/${file}" && rc=$? || rc=$?
+        [ "$rc" -le 2 ]
+    done
+done
+
+
+# cleanup
+rm -rf ${TMP}*
+exit 0
diff --git a/tests/futility/test_gbb_utility.sh b/tests/futility/test_gbb_utility.sh
new file mode 100755 (executable)
index 0000000..bdfa262
--- /dev/null
@@ -0,0 +1,209 @@
+#!/bin/bash -eux
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+# Helper utility to modify binary blobs
+REPLACE="${BUILD_RUN}/tests/futility/binary_editor"
+
+# First, let's test the basic functionality
+
+# For simplicity, we'll use the same size for all properties.
+${FUTILITY} gbb -c 16,0x10,16,0x10 ${TMP}.blob
+
+# Flags
+${FUTILITY} gbb -s --flags=0xdeadbeef ${TMP}.blob
+${FUTILITY} gbb -g --flags ${TMP}.blob | grep -i 0xdeadbeef
+
+# HWID length should include the terminating null - this is too long
+if ${FUTILITY} gbb -s --hwid="0123456789ABCDEF" ${TMP}.blob; then
+  false;
+fi
+# This works
+${FUTILITY} gbb -s --hwid="0123456789ABCDE" ${TMP}.blob
+# Read it back?
+${FUTILITY} gbb -g ${TMP}.blob | grep "0123456789ABCDE"
+
+# Same kind of tests for the other fields, but they need binary files.
+
+# too long
+dd if=/dev/urandom bs=17 count=1 of=${TMP}.data1.toolong
+dd if=/dev/urandom bs=17 count=1 of=${TMP}.data2.toolong
+if ${FUTILITY} gbb -s --rootkey     ${TMP}.data1.toolong ${TMP}.blob; then false; fi
+if ${FUTILITY} gbb -s --recoverykey ${TMP}.data2.toolong ${TMP}.blob; then false; fi
+
+# shorter than max should be okay, though
+dd if=/dev/urandom bs=10 count=1 of=${TMP}.data1.short
+dd if=/dev/urandom bs=10 count=1 of=${TMP}.data2.short
+${FUTILITY} gbb -s \
+  --rootkey     ${TMP}.data1.short \
+  --recoverykey ${TMP}.data2.short ${TMP}.blob
+# read 'em back
+${FUTILITY} gbb -g \
+  --rootkey     ${TMP}.read1 \
+  --recoverykey ${TMP}.read2 ${TMP}.blob
+# Verify (but remember, it's short)
+cmp -n 10 ${TMP}.data1.short ${TMP}.read1
+cmp -n 10 ${TMP}.data2.short ${TMP}.read2
+
+# Okay
+dd if=/dev/urandom bs=16 count=1 of=${TMP}.data1
+dd if=/dev/urandom bs=16 count=1 of=${TMP}.data2
+dd if=/dev/urandom bs=16 count=1 of=${TMP}.data3
+${FUTILITY} gbb -s --rootkey     ${TMP}.data1 ${TMP}.blob
+${FUTILITY} gbb -s --recoverykey ${TMP}.data2 ${TMP}.blob
+
+# Read 'em back.
+${FUTILITY} gbb -g --rootkey     ${TMP}.read1 ${TMP}.blob
+${FUTILITY} gbb -g --recoverykey ${TMP}.read2 ${TMP}.blob
+# Verify
+cmp ${TMP}.data1 ${TMP}.read1
+cmp ${TMP}.data2 ${TMP}.read2
+
+
+# Okay, creating GBB blobs seems to work. Now let's make sure that corrupted
+# blobs are rejected.
+
+# Danger Will Robinson! We assume that ${TMP}.blob has this binary struct:
+#
+# Field                 Offset  Value
+#
+# signature:            0x0000  $GBB
+# major_version:        0x0004  0x0001
+# minor_version:        0x0006  0x0001
+# header_size:          0x0008  0x00000080
+# flags:                0x000c  0xdeadbeef
+# hwid_offset:          0x0010  0x00000080
+# hwid_size:            0x0014  0x00000010
+# rootkey_offset:       0x0018  0x00000090
+# rootkey_size:         0x001c  0x00000010
+# bmpfv_offset:         0x0020  0x000000a0
+# bmpfv_size:           0x0024  0x00000010
+# recovery_key_offset:  0x0028  0x000000b0
+# recovery_key_size:    0x002c  0x00000010
+# pad:                  0x0030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#                       0x0040  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#                       0x0050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#                       0x0060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#                       0x0070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+# (HWID)                0x0080  30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 00
+# (rootkey)             0x0090  xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+# (bmpfv)               0x00a0  xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+# (recovery_key)        0x00b0  xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+#                       0x00c0  <EOF>
+#
+
+# bad major_version
+cat ${TMP}.blob | ${REPLACE} 0x4 2 > ${TMP}.blob.bad
+if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi
+
+# header size too large
+cat ${TMP}.blob | ${REPLACE} 0x8 0x81 > ${TMP}.blob.bad
+if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi
+
+# header size too small
+cat ${TMP}.blob | ${REPLACE} 0x8 0x7f > ${TMP}.blob.bad
+if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi
+
+# HWID not null-terminated is invalid
+cat ${TMP}.blob | ${REPLACE} 0x8f 0x41 > ${TMP}.blob.bad
+if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi
+
+# HWID of length zero is okay
+cat ${TMP}.blob | ${REPLACE} 0x14 0x00 > ${TMP}.blob.ok
+${FUTILITY} gbb ${TMP}.blob.ok
+# And HWID of length 1 consisting only of '\0' is okay, too.
+cat ${TMP}.blob | ${REPLACE} 0x14 0x01 | ${REPLACE} 0x80 0x00 > ${TMP}.blob.ok
+${FUTILITY} gbb ${TMP}.blob.ok
+
+# zero-length HWID not null-terminated is invalid
+cat ${TMP}.blob | ${REPLACE} 0x8f 0x41 > ${TMP}.blob.bad
+if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi
+
+#  hwid_offset < GBB_HEADER_SIZE is invalid
+cat ${TMP}.blob | ${REPLACE} 0x10 0x7f > ${TMP}.blob.bad
+if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi
+cat ${TMP}.blob | ${REPLACE} 0x10 0x00 > ${TMP}.blob.bad
+if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi
+
+#  rootkey_offset < GBB_HEADER_SIZE is invalid
+cat ${TMP}.blob | ${REPLACE} 0x18 0x7f > ${TMP}.blob.bad
+if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi
+cat ${TMP}.blob | ${REPLACE} 0x18 0x00 > ${TMP}.blob.bad
+if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi
+
+#  recovery_key_offset < GBB_HEADER_SIZE is invalid
+cat ${TMP}.blob | ${REPLACE} 0x28 0x7f > ${TMP}.blob.bad
+if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi
+cat ${TMP}.blob | ${REPLACE} 0x28 0x00 > ${TMP}.blob.bad
+if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi
+
+#  hwid: offset + size  == end of file is okay; beyond is invalid
+cat ${TMP}.blob | ${REPLACE} 0x14 0x40 > ${TMP}.blob.bad
+${FUTILITY} gbb -g ${TMP}.blob.bad
+cat ${TMP}.blob | ${REPLACE} 0x14 0x41 > ${TMP}.blob.bad
+if ${FUTILITY} gbb -g ${TMP}.blob.bad; then false; fi
+
+#  rootkey: offset + size  == end of file is okay; beyond is invalid
+cat ${TMP}.blob | ${REPLACE} 0x1c 0x30 > ${TMP}.blob.bad
+${FUTILITY} gbb -g ${TMP}.blob.bad
+cat ${TMP}.blob | ${REPLACE} 0x1c 0x31 > ${TMP}.blob.bad
+if ${FUTILITY} gbb -g ${TMP}.blob.bad; then false; fi
+
+#  recovery_key: offset + size  == end of file is okay; beyond is invalid
+cat ${TMP}.blob | ${REPLACE} 0x2c 0x10 > ${TMP}.blob.bad
+${FUTILITY} gbb -g ${TMP}.blob.bad
+cat ${TMP}.blob | ${REPLACE} 0x2c 0x11 > ${TMP}.blob.bad
+if ${FUTILITY} gbb -g ${TMP}.blob.bad; then false; fi
+
+# hwid_size == 0 doesn't complain, but can't be set
+cat ${TMP}.blob | ${REPLACE} 0x14 0x00 > ${TMP}.blob.bad
+${FUTILITY} gbb -g ${TMP}.blob.bad
+if ${FUTILITY} gbb -s --hwid="A" ${TMP}.blob.bad; then false; fi
+
+# rootkey_size == 0 gives warning, gets nothing, can't be set
+cat ${TMP}.blob | ${REPLACE} 0x1c 0x00 > ${TMP}.blob.bad
+${FUTILITY} gbb -g --rootkey     ${TMP}.read1 ${TMP}.blob.bad
+if ${FUTILITY} gbb -s --rootkey  ${TMP}.data1 ${TMP}.blob.bad; then false; fi
+
+# recovery_key_size == 0 gives warning, gets nothing, can't be set
+cat ${TMP}.blob | ${REPLACE} 0x2c 0x00 > ${TMP}.blob.bad
+${FUTILITY} gbb -g --recoverykey ${TMP}.read2 ${TMP}.blob.bad
+if ${FUTILITY} gbb -s --recoverykey ${TMP}.data2 ${TMP}.blob.bad; then false; fi
+
+
+# GBB v1.2 adds a sha256 digest field in what was previously padding:
+#
+# hwid_digest:          0x0030  xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+#                       0x0040  xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
+# pad:                  0x0050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#                       0x0060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#                       0x0070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+# (HWID)                0x0080  30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 00
+
+# See that the digest is updated properly.
+hwid="123456789ABCDEF"
+${FUTILITY} gbb -s --hwid=${hwid} ${TMP}.blob
+expect=$(echo -n "$hwid" | sha256sum | cut -d ' ' -f 1)
+[ $(echo -n ${expect} | wc -c) == "64" ]
+${FUTILITY} gbb -g --digest ${TMP}.blob | grep ${expect}
+
+# Garble the digest, see that it's noticed.
+# (assuming these zeros aren't present)
+cat ${TMP}.blob | ${REPLACE} 0x33 0x00 0x00 0x00 0x00 0x00 > ${TMP}.blob.bad
+${FUTILITY} gbb -g --digest ${TMP}.blob.bad | grep '0000000000'
+${FUTILITY} gbb -g --digest ${TMP}.blob.bad | grep 'invalid'
+
+# Garble the HWID. The digest is unchanged, but now invalid.
+cat ${TMP}.blob | ${REPLACE} 0x84 0x70 0x71 0x72 > ${TMP}.blob.bad
+${FUTILITY} gbb -g --digest ${TMP}.blob.bad | grep 'invalid'
+
+# cleanup
+rm -f ${TMP}*
+exit 0
diff --git a/tests/futility/test_load_fmap.sh b/tests/futility/test_load_fmap.sh
new file mode 100755 (executable)
index 0000000..a93b71f
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/bash -eux
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+
+IN=${SCRIPT_DIR}/futility/data/bios_link_mp.bin
+BIOS=${TMP}.bios.bin
+
+cp ${IN} ${BIOS}
+
+AREAS="RW_SECTION_A VBLOCK_B BOOT_STUB"
+
+# Extract good blobs first
+${FUTILITY} dump_fmap -x ${BIOS} ${AREAS}
+
+# Save the good blobs, make same-size random blobs, create command
+CMDS=""
+for a in ${AREAS}; do
+  size=$(stat -c '%s' $a)
+  mv $a $a.good
+  dd if=/dev/urandom of=$a.rand bs=$size count=1
+  CMDS="$CMDS $a:$a.rand"
+done
+
+# Poke the new blobs in
+${FUTILITY} load_fmap ${BIOS} ${CMDS}
+
+# Pull them back out and see if they match
+${FUTILITY} dump_fmap -x ${BIOS} ${AREAS}
+for a in ${AREAS}; do
+  cmp $a $a.rand
+done
+
+# cleanup
+rm -f ${TMP}* ${AREAS} *.rand *.good
+exit 0
diff --git a/tests/futility/test_main.sh b/tests/futility/test_main.sh
new file mode 100755 (executable)
index 0000000..2e5f4dc
--- /dev/null
@@ -0,0 +1,64 @@
+#!/bin/bash -eux
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+# No args returns nonzero exit code
+${FUTILITY} && false
+
+# It's weird but okay if the command is a full path.
+${FUTILITY} /fake/path/to/help  > "$TMP"
+grep Usage "$TMP"
+
+# Make sure logging does something.
+LOG="/tmp/futility.log"
+[ -f ${LOG} ] && mv ${LOG} ${LOG}.backup
+touch ${LOG}
+${FUTILITY} help
+grep ${FUTILITY} ${LOG}
+rm -f ${LOG}
+[ -f ${LOG}.backup ] && mv ${LOG}.backup ${LOG}
+
+# Use some known digests to verify that things work...
+DEVKEYS=${SRCDIR}/tests/devkeys
+SHA=e78ce746a037837155388a1096212ded04fb86eb
+
+# all progs in the pipelines should work
+set -o pipefail
+
+# If it's invoked as the name of a command we know, it should do that command
+ln -sf ${FUTILITY} vbutil_key
+./vbutil_key --unpack ${DEVKEYS}/installer_kernel_data_key.vbpubk | grep ${SHA}
+ln -sf ${FUTILITY} vbutil_keyblock
+./vbutil_keyblock --unpack ${DEVKEYS}/installer_kernel.keyblock | grep ${SHA}
+cp ${FUTILITY} show
+./show ${SCRIPT_DIR}/futility/data/rec_kernel_part.bin | grep ${SHA}
+
+# If it's invoked by any other name, expect the command to be the first arg.
+ln -sf ${FUTILITY} muggle
+./muggle vbutil_key --unpack ${DEVKEYS}/installer_kernel_data_key.vbpubk \
+  | grep ${SHA}
+ln -sf ${FUTILITY} buggle
+./buggle vbutil_keyblock --unpack ${DEVKEYS}/installer_kernel.keyblock \
+  | grep ${SHA}
+cp ${FUTILITY} boo
+./boo show ${SCRIPT_DIR}/futility/data/rec_kernel_part.bin | grep ${SHA}
+
+
+# we expect the first command fail, but the output to match anyway
+set +o pipefail
+
+# If it can't figure out the command at all, it should complain.
+${FUTILITY} muggle | grep Usage:
+./buggle futility | grep Usage:
+./boo | grep Usage:
+
+# cleanup
+rm -f ${TMP}* vbutil_key vbutil_keyblock show muggle buggle boo
+exit 0
diff --git a/tests/futility/test_not_really.c b/tests/futility/test_not_really.c
new file mode 100644 (file)
index 0000000..3cfc3ed
--- /dev/null
@@ -0,0 +1,20 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <stdio.h>
+
+#include "2struct.h"
+#include "test_common.h"
+
+int main(int argc, char *argv[])
+{
+       TEST_EQ(sizeof(struct vb2_gbb_header),
+               EXPECTED_VB2_GBB_HEADER_SIZE,
+               "sizeof(struct vb2_gbb_header)");
+
+       TEST_EQ(0, 0, "Not Really A");
+
+       return !gTestSuccess;
+}
diff --git a/tests/futility/test_rwsig.sh b/tests/futility/test_rwsig.sh
new file mode 100755 (executable)
index 0000000..2bd70ce
--- /dev/null
@@ -0,0 +1,64 @@
+#!/bin/bash -eux
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+DATADIR="${SCRIPT_DIR}/futility/data"
+TESTKEYS=${SRCDIR}/tests/testkeys
+
+SIGS="1024 2048 2048_exp3 3072_exp3 4096 8192"
+HASHES="SHA1 SHA256 SHA512"
+EC_RW="EC_RW.bin"
+
+set -o pipefail
+
+infile=${DATADIR}/hammer_dev.bin
+outfile=${TMP}.hammer_dev.bin
+cp ${infile} ${outfile}
+# Signing without private key should extract EC_RW.bin
+${FUTILITY} sign --type rwsig --version 2 ${outfile}
+cmp ${infile} ${outfile}
+cmp ${EC_RW} ${DATADIR}/${EC_RW}
+
+for s in $SIGS; do
+    echo -n "$s " 1>&3
+
+    for h in $HASHES; do
+        pemfile=${TESTKEYS}/key_rsa${s}.pem
+        outkeys=${TMP}.${s}_${h}
+        outfile=${TMP}.${s}_${h}.bin
+
+        ${FUTILITY} create --desc "Test key" --hash_alg ${h} \
+                    ${pemfile} ${outkeys}
+
+        # The input file should be correctly signed to start with
+        ${FUTILITY} show --type rwsig ${infile}
+
+        # Using the wrong key to verify it should fail
+        if ${FUTILITY} show --type rwsig --pubkey ${outkeys}.vbpubk2 \
+                       ${infile}; then
+            exit 1
+        fi
+
+        cp ${infile} ${outfile}
+
+        # Sign ec.bin with a new private key
+        ${FUTILITY} sign --type rwsig --prikey ${outkeys}.vbprik2 \
+                --version 2 ${outfile}
+        # Check EC_RW.bin is produced
+        [[ -e ${EC_RW} ]]
+
+        ${FUTILITY} show --type rwsig --pubkey ${outkeys}.vbpubk2 ${outfile}
+        ${FUTILITY} show --type rwsig ${outfile}
+    done
+done
+
+# cleanup
+rm -rf ${TMP}*
+exit 0
diff --git a/tests/futility/test_show_contents.sh b/tests/futility/test_show_contents.sh
new file mode 100755 (executable)
index 0000000..e040362
--- /dev/null
@@ -0,0 +1,107 @@
+#!/bin/bash -eux
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me="${0##*/}"
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "${OUTDIR}"
+
+# Test 'futility show' against expected output
+SHOW_FILES="
+  tests/devkeys/root_key.vbpubk
+  tests/devkeys/root_key.vbprivk
+  tests/devkeys/kernel.keyblock
+  tests/futility/data/fw_vblock.bin
+  tests/futility/data/fw_gbb.bin
+  tests/futility/data/bios_zgb_mp.bin
+  tests/futility/data/bios_mario_mp.bin
+  tests/futility/data/kern_preamble.bin
+  tests/futility/data/sample.vbpubk2
+  tests/futility/data/sample.vbprik2
+  tests/testkeys/key_rsa2048.pem
+  tests/testkeys/key_rsa8192.pub.pem
+"
+
+for file in $SHOW_FILES; do
+    outfile="show.${file//\//_}"
+    gotfile="${OUTDIR}/${outfile}"
+    wantfile="${SRCDIR}/tests/futility/expect_output/${outfile}"
+    ( cd "${SRCDIR}" && ${FUTILITY} show "${file}" ) | tee "${gotfile}"
+
+    # Uncomment this to update the expected output
+    #cp "${gotfile}" "${wantfile}"
+
+    diff "${wantfile}" "${gotfile}"
+done
+
+
+# Test 'futility vbutil_key' against expected output
+VBUTIL_KEY_FILES="
+  tests/devkeys/root_key.vbpubk
+  tests/devkeys/root_key.vbprivk
+"
+
+for file in $VBUTIL_KEY_FILES; do
+    outfile="vbutil_key.${file//\//_}"
+    gotfile="${OUTDIR}/${outfile}"
+    wantfile="${SRCDIR}/tests/futility/expect_output/${outfile}"
+    ( cd "${SRCDIR}" && ${FUTILITY} vbutil_key --unpack "${file}" ) \
+        | tee "${gotfile}"
+
+    # Uncomment this to update the expected output
+    #cp "${gotfile}" "${wantfile}"
+
+    diff "${wantfile}" "${gotfile}"
+done
+
+
+# Test 'futility vbutil_keyblock' against expected output
+file="tests/devkeys/kernel.keyblock"
+outfile="vbutil_keyblock.${file//\//_}"
+gotfile="${OUTDIR}/${outfile}"
+wantfile="${SRCDIR}/tests/futility/expect_output/${outfile}"
+( cd "${SRCDIR}" && ${FUTILITY} vbutil_keyblock --unpack "${file}" \
+    --signpubkey "tests/devkeys/kernel_subkey.vbpubk" ) \
+    | tee "${gotfile}"
+
+# Uncomment this to update the expected output
+#cp "${gotfile}" "${wantfile}"
+
+diff "${wantfile}" "${gotfile}"
+
+
+# Test 'futility vbutil_firmware' against expected output
+KEYDIR="${SRCDIR}/tests/devkeys"
+outfile="vbutil_firmware.verify"
+gotfile="${OUTDIR}/${outfile}"
+wantfile="${SRCDIR}/tests/futility/expect_output/${outfile}"
+
+# Create a firmware blob and vblock.  Version and flags are just
+# arbitrary non-zero numbers so we can verify they're printed
+# properly.
+dd bs=1024 count=16 if=/dev/urandom of="${TMP}.fw_main"
+${FUTILITY} vbutil_firmware --vblock "${TMP}.vblock.old" \
+  --keyblock "${KEYDIR}/firmware.keyblock" \
+  --signprivate "${KEYDIR}/firmware_data_key.vbprivk" \
+  --version 12 \
+  --fv "${TMP}.fw_main" \
+  --kernelkey "${KEYDIR}/kernel_subkey.vbpubk" \
+  --flags 42
+
+# Verify
+${FUTILITY} vbutil_firmware --verify "${TMP}.vblock.old" \
+  --signpubkey "${KEYDIR}/root_key.vbpubk" \
+  --fv "${TMP}.fw_main" | tee "${gotfile}"
+
+# Uncomment this to update the expected output
+#cp "${gotfile}" "${wantfile}"
+
+diff "${wantfile}" "${gotfile}"
+
+
+# cleanup
+rm -rf "${TMP}*"
+exit 0
diff --git a/tests/futility/test_show_kernel.sh b/tests/futility/test_show_kernel.sh
new file mode 100755 (executable)
index 0000000..151cf46
--- /dev/null
@@ -0,0 +1,77 @@
+#!/bin/bash -eux
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+DEVKEYS=${SRCDIR}/tests/devkeys
+TESTKEYS=${SRCDIR}/tests/testkeys
+
+echo 'Creating test kernel'
+
+# Dummy kernel data
+echo "hi there" > ${TMP}.config.txt
+dd if=/dev/urandom bs=16384 count=1 of=${TMP}.bootloader.bin
+dd if=/dev/urandom bs=32768 count=1 of=${TMP}.kernel.bin
+
+# Pack kernel data key using original vboot utilities.
+${FUTILITY} vbutil_key --pack ${TMP}.datakey.test \
+    --key ${TESTKEYS}/key_rsa2048.keyb --algorithm 4
+
+# Keyblock with kernel data key is signed by kernel subkey
+# Flags=5 means dev=0 rec=0
+${FUTILITY} vbutil_keyblock --pack ${TMP}.keyblock.test \
+    --datapubkey ${TMP}.datakey.test \
+    --flags 5 \
+    --signprivate ${DEVKEYS}/kernel_subkey.vbprivk
+
+# Kernel preamble is signed with the kernel data key
+${FUTILITY} vbutil_kernel \
+    --pack ${TMP}.kernel.test \
+    --keyblock ${TMP}.keyblock.test \
+    --signprivate ${TESTKEYS}/key_rsa2048.sha256.vbprivk \
+    --version 1 \
+    --arch arm \
+    --vmlinuz ${TMP}.kernel.bin \
+    --bootloader ${TMP}.bootloader.bin \
+    --config ${TMP}.config.txt
+
+echo 'Verifying test kernel'
+
+# Verify the kernel
+${FUTILITY} show ${TMP}.kernel.test \
+    --publickey ${DEVKEYS}/kernel_subkey.vbpubk \
+  | egrep 'Signature.*valid'
+
+echo 'Test kernel blob looks good'
+
+# Mess up the padding, make sure it fails.
+rc=0
+${FUTILITY} show ${TMP}.kernel.test \
+    --pad 0x100 \
+    --publickey ${DEVKEYS}/kernel_subkey.vbpubk \
+  || rc=$?
+[ $rc -ne 0 ]
+[ $rc -lt 128 ]
+
+echo 'Invalid args are invalid'
+
+# Look waaaaaay off the end of the file, make sure it fails.
+rc=0
+${FUTILITY} show ${TMP}.kernel.test \
+    --pad 0x100000 \
+    --publickey ${DEVKEYS}/kernel_subkey.vbpubk \
+  || rc=$?
+[ $rc -ne 0 ]
+[ $rc -lt 128 ]
+
+echo 'Really invalid args are still invalid'
+
+# cleanup
+rm -rf ${TMP}*
+exit 0
diff --git a/tests/futility/test_show_usbpd1.sh b/tests/futility/test_show_usbpd1.sh
new file mode 100755 (executable)
index 0000000..b5553aa
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/bash -eux
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+DATADIR="${SCRIPT_DIR}/futility/data"
+TESTS="dingdong hoho minimuffin zinger"
+TESTKEYS=${SRCDIR}/tests/testkeys
+
+SIGS="1024 2048 4096 8192"
+HASHES="SHA1 SHA256 SHA512"
+
+set -o pipefail
+
+for s in $SIGS; do
+
+    echo -n "$s " 1>&3
+
+    for test in $TESTS; do
+
+        infile=${DATADIR}/${test}.unsigned
+
+        for h in $HASHES; do
+
+            pemfile=${TESTKEYS}/key_rsa${s}.pem
+            outfile=${TMP}.${test}_${s}_${h}.new
+
+            # sign it
+            ${FUTILITY} sign --type usbpd1 --pem ${pemfile} ${infile} ${outfile}
+
+            # make sure it identifies correctly
+            ${FUTILITY} verify ${outfile}
+
+        done
+    done
+done
+
+# cleanup
+rm -rf ${TMP}*
+exit 0
diff --git a/tests/futility/test_show_vs_verify.sh b/tests/futility/test_show_vs_verify.sh
new file mode 100755 (executable)
index 0000000..4981a38
--- /dev/null
@@ -0,0 +1,76 @@
+#!/bin/bash -eux
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+# some stuff we'll need
+DEVKEYS=${SRCDIR}/tests/devkeys
+
+# The show command exits with 0 if the data is consistent.
+# The verify command exits with 0 only if all the data is verified.
+
+####  keyblock
+
+${FUTILITY} show ${DEVKEYS}/firmware.keyblock
+
+if ${FUTILITY} verify ${DEVKEYS}/firmware.keyblock ; then false; fi
+
+${FUTILITY} verify ${DEVKEYS}/firmware.keyblock \
+  --publickey ${DEVKEYS}/root_key.vbpubk
+
+
+#### firmware vblock
+
+# Get some bits to look at
+${FUTILITY} dump_fmap -x ${SCRIPT_DIR}/futility/data/bios_peppy_mp.bin \
+  GBB:${TMP}.gbb VBLOCK_A:${TMP}.vblock_a FW_MAIN_A:${TMP}.fw_main_a
+${FUTILITY} gbb -g -k ${TMP}.rootkey ${TMP}.gbb
+
+
+${FUTILITY} show ${TMP}.vblock_a
+
+${FUTILITY} show ${TMP}.vblock_a --publickey ${TMP}.rootkey
+
+${FUTILITY} show ${TMP}.vblock_a \
+  --publickey ${TMP}.rootkey \
+  --fv ${TMP}.fw_main_a
+
+if ${FUTILITY} verify ${TMP}.vblock_a ; then false ; fi
+
+if ${FUTILITY} verify ${TMP}.vblock_a \
+  --publickey ${TMP}.rootkey ; then false ; fi
+
+${FUTILITY} verify ${TMP}.vblock_a \
+  --publickey ${TMP}.rootkey \
+  --fv ${TMP}.fw_main_a
+
+
+#### kernel partition
+
+${FUTILITY} show ${SCRIPT_DIR}/futility/data/rec_kernel_part.bin
+
+${FUTILITY} show ${SCRIPT_DIR}/futility/data/rec_kernel_part.bin \
+  --publickey ${DEVKEYS}/kernel_subkey.vbpubk
+
+${FUTILITY} show ${SCRIPT_DIR}/futility/data/rec_kernel_part.bin \
+  --publickey ${DEVKEYS}/recovery_key.vbpubk
+
+if ${FUTILITY} verify ${SCRIPT_DIR}/futility/data/rec_kernel_part.bin ; \
+  then false ; fi
+
+if ${FUTILITY} verify ${SCRIPT_DIR}/futility/data/rec_kernel_part.bin \
+  --publickey ${DEVKEYS}/kernel_subkey.vbpubk ; then false ; fi
+
+${FUTILITY} verify ${SCRIPT_DIR}/futility/data/rec_kernel_part.bin \
+  --publickey ${DEVKEYS}/recovery_key.vbpubk
+
+
+# cleanup
+rm -rf ${TMP}*
+exit 0
diff --git a/tests/futility/test_sign_firmware.sh b/tests/futility/test_sign_firmware.sh
new file mode 100755 (executable)
index 0000000..fa5529c
--- /dev/null
@@ -0,0 +1,187 @@
+#!/bin/bash -eux
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+KEYDIR=${SRCDIR}/tests/devkeys
+
+# The input BIOS images are all signed with MP keys. We resign them with dev
+# keys, which means we can precalculate the expected results. Note that the
+# script does not change the root or recovery keys in the GBB.
+INFILES="
+${SCRIPT_DIR}/futility/data/bios_link_mp.bin
+${SCRIPT_DIR}/futility/data/bios_mario_mp.bin
+${SCRIPT_DIR}/futility/data/bios_peppy_mp.bin
+"
+
+# We also want to test that we can sign an image without any valid firmware
+# preambles. That one won't be able to tell how much of the FW_MAIN region is
+# the valid firmware, so it'll have to sign the entire region.
+GOOD_VBLOCKS=${SCRIPT_DIR}/futility/data/bios_peppy_mp.bin
+ONEMORE=bios_peppy_mp_no_vblock.bin
+cp ${GOOD_VBLOCKS} ${ONEMORE}
+${FUTILITY} load_fmap ${ONEMORE} VBLOCK_A:/dev/urandom VBLOCK_B:/dev/zero
+INFILES="${INFILES} ${ONEMORE}"
+
+set -o pipefail
+
+# We've removed dev_firmware keyblock and private keys from ToT test key dir.
+# It's currently only available on few legacy (alex, zgb) devices' key folders
+# on signer bot. Add them to ${KEYDIR} if you need to test that.
+DEV_FIRMWARE_PARAMS=""
+if [ -f "${KEYDIR}/dev_firmware.keyblock" ]; then
+  DEV_FIRMWARE_PARAMS="
+    -S ${KEYDIR}/dev_firmware_data_key.vbprivk
+    -B ${KEYDIR}/dev_firmware.keyblock"
+  INFILES="${INFILES} ${SCRIPT_DIR}/futility/data/bios_zgb_mp.bin"
+fi
+
+count=0
+for infile in $INFILES; do
+
+  base=${infile##*/}
+
+  : $(( count++ ))
+  echo -n "$count " 1>&3
+
+  outfile=${TMP}.${base}.new
+  loemid="loem"
+  loemdir=${TMP}.${base}_dir
+
+  mkdir -p ${loemdir}
+
+  # resign_firmwarefd.sh works on BIOS image files. The args are:
+  #
+  #   infile
+  #   outfile
+  #   firmware_datakey
+  #   firmware_keyblock
+  #   dev_firmware_datakey   (these are only used if RW A & RW B differ)
+  #   dev_firmware_keyblock
+  #   kernel_subkey
+  #   firmware_version
+  #   preamble_flag
+  #   loem_output_dir        (optional: dir for copy of new vblocks)
+  #   loemid                 (optional: copy new vblocks using this name)
+  #
+  #OLD  ${BIN_DIR}/resign_firmwarefd.sh \
+  #OLD    ${infile} \
+  #OLD    ${outfile} \
+  #OLD    ${KEYDIR}/firmware_data_key.vbprivk \
+  #OLD    ${KEYDIR}/firmware.keyblock \
+  #OLD    ${KEYDIR}/dev_firmware_data_key.vbprivk \
+  #OLD    ${KEYDIR}/dev_firmware.keyblock \
+  #OLD    ${KEYDIR}/kernel_subkey.vbpubk \
+  #OLD    14 \
+  #OLD    8 \
+  #OLD    ${loemdir} \
+  #OLD    ${loemid}
+
+  ${FUTILITY} sign \
+    -s ${KEYDIR}/firmware_data_key.vbprivk \
+    -b ${KEYDIR}/firmware.keyblock \
+    ${DEV_FIRMWARE_PARAMS} \
+    -k ${KEYDIR}/kernel_subkey.vbpubk \
+    -v 14 \
+    -f 8 \
+    -d ${loemdir} \
+    -l ${loemid} \
+    ${infile} ${outfile}
+
+  # check the firmware version and preamble flags
+  m=$(${FUTILITY} verify --publickey ${KEYDIR}/root_key.vbpubk ${outfile} \
+    | egrep 'Firmware version: +14$|Preamble flags: +8$' | wc -l)
+  [ "$m" = "4" ]
+
+  # check the sha1sums
+  ${FUTILITY} verify --publickey ${KEYDIR}/root_key.vbpubk ${outfile} \
+    | grep sha1sum \
+    | sed -e 's/.*: \+//' > ${TMP}.${base}.sha.new
+  cmp ${SCRIPT_DIR}/futility/data_${base}_expect.txt ${TMP}.${base}.sha.new
+
+   # and the LOEM stuff
+   ${FUTILITY} dump_fmap -x ${outfile} \
+     FW_MAIN_A:${loemdir}/fw_main_A FW_MAIN_B:${loemdir}/fw_main_B \
+     "Firmware A Data":${loemdir}/fw_main_A \
+     "Firmware B Data":${loemdir}/fw_main_B
+
+
+   ${FUTILITY} verify --publickey ${KEYDIR}/root_key.vbpubk \
+     --fv ${loemdir}/fw_main_A \
+     ${loemdir}/vblock_A.${loemid} | grep sha1sum \
+     | sed -e 's/.*: \+//' > ${loemdir}/loem.sha.new
+   ${FUTILITY} verify --publickey ${KEYDIR}/root_key.vbpubk \
+     --fv ${loemdir}/fw_main_B \
+     ${loemdir}/vblock_B.${loemid} | grep sha1sum \
+     | sed -e 's/.*: \+//' >> ${loemdir}/loem.sha.new
+
+  # the vblocks don't have root or recovery keys
+  tail -4 ${SCRIPT_DIR}/futility/data_${base}_expect.txt > ${loemdir}/sha.expect
+  cmp ${loemdir}/sha.expect ${loemdir}/loem.sha.new
+
+done
+
+# Make sure that the BIOS with the good vblocks signed the right size.
+GOOD_OUT=${TMP}.${GOOD_VBLOCKS##*/}.new
+MORE_OUT=${TMP}.${ONEMORE##*/}.new
+
+${FUTILITY} verify --publickey ${KEYDIR}/root_key.vbpubk ${GOOD_OUT} \
+  | awk '/Firmware body size:/ {print $4}' > ${TMP}.good.body
+${FUTILITY} dump_fmap -p ${GOOD_OUT} \
+  | awk '/FW_MAIN_/ {print $3}' > ${TMP}.good.fw_main
+# This should fail because they're different
+if cmp ${TMP}.good.body ${TMP}.good.fw_main; then false; fi
+
+# Make sure that the BIOS with the bad vblocks signed the whole fw body
+${FUTILITY} verify --publickey ${KEYDIR}/root_key.vbpubk ${MORE_OUT} \
+  | awk '/Firmware body size:/ {print $4}' > ${TMP}.onemore.body
+${FUTILITY} dump_fmap -p ${MORE_OUT} \
+  | awk '/FW_MAIN_/ {print $3}' > ${TMP}.onemore.fw_main
+# These should match
+cmp ${TMP}.onemore.body ${TMP}.onemore.fw_main
+cmp ${TMP}.onemore.body ${TMP}.good.fw_main
+
+
+# Sign the last one again but don't specify the version or the preamble flags.
+# The version should default to 1, but the preamble flags should be preserved.
+: $(( count++ ))
+echo -n "$count " 1>&3
+
+${FUTILITY} sign \
+  -s ${KEYDIR}/firmware_data_key.vbprivk \
+  -b ${KEYDIR}/firmware.keyblock \
+  ${DEV_FIRMWARE_PARAMS} \
+  -k ${KEYDIR}/kernel_subkey.vbpubk \
+  ${MORE_OUT} ${MORE_OUT}.2
+
+m=$(${FUTILITY} verify --publickey ${KEYDIR}/root_key.vbpubk ${MORE_OUT}.2 \
+  | egrep 'Firmware version: +1$|Preamble flags: +8$' | wc -l)
+[ "$m" = "4" ]
+
+
+# If the original preamble is not present, the preamble flags should be zero.
+: $(( count++ ))
+echo -n "$count " 1>&3
+
+${FUTILITY} load_fmap ${MORE_OUT} VBLOCK_A:/dev/urandom VBLOCK_B:/dev/zero
+${FUTILITY} sign \
+  -s ${KEYDIR}/firmware_data_key.vbprivk \
+  -b ${KEYDIR}/firmware.keyblock \
+  ${DEV_FIRMWARE_PARAMS} \
+  -k ${KEYDIR}/kernel_subkey.vbpubk \
+  ${MORE_OUT} ${MORE_OUT}.3
+
+m=$(${FUTILITY} verify --publickey ${KEYDIR}/root_key.vbpubk ${MORE_OUT}.3 \
+  | egrep 'Firmware version: +1$|Preamble flags: +0$' | wc -l)
+[ "$m" = "4" ]
+
+
+# cleanup
+rm -rf ${TMP}* ${ONEMORE}
+exit 0
diff --git a/tests/futility/test_sign_fw_main.sh b/tests/futility/test_sign_fw_main.sh
new file mode 100755 (executable)
index 0000000..face801
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/bash -eux
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+KEYDIR=${SRCDIR}/tests/devkeys
+
+# create a firmware blob
+dd bs=1024 count=16 if=/dev/urandom of=${TMP}.fw_main
+
+# try the old way
+${FUTILITY} vbutil_firmware --vblock ${TMP}.vblock.old \
+  --keyblock ${KEYDIR}/firmware.keyblock \
+  --signprivate ${KEYDIR}/firmware_data_key.vbprivk \
+  --version 12 \
+  --fv ${TMP}.fw_main \
+  --kernelkey ${KEYDIR}/kernel_subkey.vbpubk \
+  --flags 42
+
+# verify
+${FUTILITY} vbutil_firmware --verify ${TMP}.vblock.old \
+  --signpubkey ${KEYDIR}/root_key.vbpubk \
+  --fv ${TMP}.fw_main
+
+# and the new way
+${FUTILITY} --debug sign \
+  --signprivate ${KEYDIR}/firmware_data_key.vbprivk \
+  --keyblock ${KEYDIR}/firmware.keyblock \
+  --kernelkey ${KEYDIR}/kernel_subkey.vbpubk \
+  --version 12 \
+  --fv ${TMP}.fw_main \
+  --flags 42 \
+  ${TMP}.vblock.new
+
+# They should match
+cmp ${TMP}.vblock.old ${TMP}.vblock.new
+
+# cleanup
+rm -rf ${TMP}*
+exit 0
diff --git a/tests/futility/test_sign_kernel.sh b/tests/futility/test_sign_kernel.sh
new file mode 100755 (executable)
index 0000000..d252745
--- /dev/null
@@ -0,0 +1,308 @@
+#!/bin/bash -eux
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+DEVKEYS=${SRCDIR}/tests/devkeys
+
+echo "hi there" > ${TMP}.config.txt
+echo "hello boys" > ${TMP}.config2.txt
+dd if=/dev/urandom bs=512 count=1 of=${TMP}.bootloader.bin
+dd if=/dev/urandom bs=512 count=1 of=${TMP}.bootloader2.bin
+dd if=/dev/urandom bs=1M count=16 of=${TMP}.kern_partition
+
+# default padding
+padding=49152
+
+try_arch () {
+  local arch=$1
+
+  echo -n "${arch}: 1 " 1>&3
+
+  # pack it up the old way
+  ${FUTILITY} --debug vbutil_kernel \
+    --pack ${TMP}.blob1.${arch} \
+    --keyblock ${DEVKEYS}/recovery_kernel.keyblock \
+    --signprivate ${DEVKEYS}/recovery_kernel_data_key.vbprivk \
+    --version 1 \
+    --config ${TMP}.config.txt \
+    --bootloader ${TMP}.bootloader.bin \
+    --vmlinuz ${SCRIPT_DIR}/futility/data/vmlinuz-${arch}.bin \
+    --arch ${arch} \
+    --pad ${padding} \
+    --kloadaddr 0x11000
+
+  # verify the old way
+  ${FUTILITY} vbutil_kernel --verify ${TMP}.blob1.${arch} \
+    --pad ${padding} \
+    --signpubkey ${DEVKEYS}/recovery_key.vbpubk > ${TMP}.verify1
+
+  # pack it up the new way
+  ${FUTILITY} --debug sign \
+    --keyblock ${DEVKEYS}/recovery_kernel.keyblock \
+    --signprivate ${DEVKEYS}/recovery_kernel_data_key.vbprivk \
+    --version 1 \
+    --config ${TMP}.config.txt \
+    --bootloader ${TMP}.bootloader.bin \
+    --vmlinuz ${SCRIPT_DIR}/futility/data/vmlinuz-${arch}.bin \
+    --arch ${arch} \
+    --pad ${padding} \
+    --kloadaddr 0x11000 \
+    --outfile ${TMP}.blob2.${arch}
+
+  ${FUTILITY} vbutil_kernel --verify ${TMP}.blob2.${arch} \
+    --pad ${padding} \
+    --signpubkey ${DEVKEYS}/recovery_key.vbpubk > ${TMP}.verify2
+
+  # they should be identical
+  cmp ${TMP}.blob1.${arch} ${TMP}.blob2.${arch}
+  diff ${TMP}.verify1 ${TMP}.verify2
+
+  echo -n "2 " 1>&3
+
+  # repack it the old way
+  ${FUTILITY} --debug vbutil_kernel \
+    --repack ${TMP}.blob3.${arch} \
+    --oldblob ${TMP}.blob1.${arch} \
+    --signprivate ${DEVKEYS}/kernel_data_key.vbprivk \
+    --keyblock ${DEVKEYS}/kernel.keyblock \
+    --version 2 \
+    --pad ${padding} \
+    --config ${TMP}.config2.txt \
+    --bootloader ${TMP}.bootloader2.bin
+
+  # verify the old way
+  ${FUTILITY} vbutil_kernel --verify ${TMP}.blob3.${arch} \
+    --pad ${padding} \
+    --signpubkey ${DEVKEYS}/kernel_subkey.vbpubk > ${TMP}.verify3
+
+  # repack it the new way
+  ${FUTILITY} --debug sign \
+    --signprivate ${DEVKEYS}/kernel_data_key.vbprivk \
+    --keyblock ${DEVKEYS}/kernel.keyblock \
+    --version 2 \
+    --pad ${padding} \
+    --config ${TMP}.config2.txt \
+    --bootloader ${TMP}.bootloader2.bin \
+    ${TMP}.blob2.${arch} \
+    ${TMP}.blob4.${arch}
+
+  ${FUTILITY} vbutil_kernel --verify ${TMP}.blob4.${arch} \
+    --pad ${padding} \
+    --signpubkey ${DEVKEYS}/kernel_subkey.vbpubk > ${TMP}.verify4
+
+  # they should be identical
+  cmp ${TMP}.blob3.${arch} ${TMP}.blob4.${arch}
+  diff ${TMP}.verify3 ${TMP}.verify4
+
+  echo -n "3 " 1>&3
+
+  # repack it the new way, in-place
+  cp ${TMP}.blob2.${arch} ${TMP}.blob5.${arch}
+  ${FUTILITY} --debug sign \
+    --signprivate ${DEVKEYS}/kernel_data_key.vbprivk \
+    --keyblock ${DEVKEYS}/kernel.keyblock \
+    --version 2 \
+    --pad ${padding} \
+    --config ${TMP}.config2.txt \
+    --bootloader ${TMP}.bootloader2.bin \
+    ${TMP}.blob5.${arch}
+
+  ${FUTILITY} vbutil_kernel --verify ${TMP}.blob5.${arch} \
+    --pad ${padding} \
+    --signpubkey ${DEVKEYS}/kernel_subkey.vbpubk > ${TMP}.verify5
+
+  # they should be identical
+  cmp ${TMP}.blob3.${arch} ${TMP}.blob5.${arch}
+  diff ${TMP}.verify3 ${TMP}.verify5
+
+  # and now just the vblocks...
+  echo -n "4 " 1>&3
+
+  # pack the old way
+  ${FUTILITY} vbutil_kernel \
+    --pack ${TMP}.blob1.${arch}.vb1 \
+    --vblockonly \
+    --keyblock ${DEVKEYS}/recovery_kernel.keyblock \
+    --signprivate ${DEVKEYS}/recovery_kernel_data_key.vbprivk \
+    --version 1 \
+    --config ${TMP}.config.txt \
+    --bootloader ${TMP}.bootloader.bin \
+    --vmlinuz ${SCRIPT_DIR}/futility/data/vmlinuz-${arch}.bin \
+    --arch ${arch} \
+    --pad ${padding} \
+    --kloadaddr 0x11000
+
+  # compare this new vblock with the one from the full pack
+  dd bs=${padding} count=1 if=${TMP}.blob1.${arch} of=${TMP}.blob1.${arch}.vb0
+  cmp ${TMP}.blob1.${arch}.vb0 ${TMP}.blob1.${arch}.vb1
+
+  # pack the new way
+  ${FUTILITY} --debug sign \
+    --keyblock ${DEVKEYS}/recovery_kernel.keyblock \
+    --signprivate ${DEVKEYS}/recovery_kernel_data_key.vbprivk \
+    --version 1 \
+    --config ${TMP}.config.txt \
+    --bootloader ${TMP}.bootloader.bin \
+    --vmlinuz ${SCRIPT_DIR}/futility/data/vmlinuz-${arch}.bin \
+    --arch ${arch} \
+    --pad ${padding} \
+    --kloadaddr 0x11000 \
+    --vblockonly \
+    ${TMP}.blob2.${arch}.vb1
+
+  # compare this new vblock with the one from the full pack
+  dd bs=${padding} count=1 if=${TMP}.blob2.${arch} of=${TMP}.blob2.${arch}.vb0
+  cmp ${TMP}.blob2.${arch}.vb0 ${TMP}.blob2.${arch}.vb1
+
+  echo -n "5 " 1>&3
+
+  # now repack the old way, again emitting just the vblock
+  ${FUTILITY} vbutil_kernel \
+    --repack ${TMP}.blob3.${arch}.vb1 \
+    --vblockonly \
+    --oldblob ${TMP}.blob1.${arch} \
+    --signprivate ${DEVKEYS}/kernel_data_key.vbprivk \
+    --keyblock ${DEVKEYS}/kernel.keyblock \
+    --version 2 \
+    --pad ${padding} \
+    --config ${TMP}.config2.txt \
+    --bootloader ${TMP}.bootloader2.bin
+
+  # compare the full repacked vblock with the new repacked vblock
+  dd bs=${padding} count=1 if=${TMP}.blob3.${arch} of=${TMP}.blob3.${arch}.vb0
+  cmp ${TMP}.blob3.${arch}.vb0 ${TMP}.blob3.${arch}.vb1
+
+  # extract just the kernel blob
+  dd bs=${padding} skip=1 if=${TMP}.blob3.${arch} of=${TMP}.blob3.${arch}.kb0
+  # and verify it using the new vblock (no way to do that with vbutil_kernel)
+  ${FUTILITY} --debug verify \
+    --pad ${padding} \
+    --publickey ${DEVKEYS}/kernel_subkey.vbpubk \
+    --fv ${TMP}.blob3.${arch}.kb0 \
+    ${TMP}.blob3.${arch}.vb1 > ${TMP}.verify3v
+
+  # repack the new way
+  ${FUTILITY} --debug sign \
+    --signprivate ${DEVKEYS}/kernel_data_key.vbprivk \
+    --keyblock ${DEVKEYS}/kernel.keyblock \
+    --version 2 \
+    --config ${TMP}.config2.txt \
+    --bootloader ${TMP}.bootloader2.bin \
+    --pad ${padding} \
+    --vblockonly \
+    ${TMP}.blob2.${arch} \
+    ${TMP}.blob4.${arch}.vb1 \
+
+  # compare the full repacked vblock with the new repacked vblock
+  dd bs=${padding} count=1 if=${TMP}.blob4.${arch} of=${TMP}.blob4.${arch}.vb0
+  cmp ${TMP}.blob4.${arch}.vb0 ${TMP}.blob4.${arch}.vb1
+
+  # extract just the kernel blob
+  dd bs=${padding} skip=1 if=${TMP}.blob4.${arch} of=${TMP}.blob4.${arch}.kb0
+  # and verify it using the new vblock (no way to do that with vbutil_kernel)
+  ${FUTILITY} --debug verify \
+    --pad ${padding} \
+    --publickey ${DEVKEYS}/kernel_subkey.vbpubk \
+    --fv ${TMP}.blob4.${arch}.kb0 \
+    ${TMP}.blob4.${arch}.vb1 > ${TMP}.verify4v
+
+
+  echo -n "6 " 1>&3
+
+  # Now lets repack some kernel partitions, not just blobs.
+  cp ${TMP}.kern_partition ${TMP}.part1.${arch}
+  dd if=${TMP}.blob1.${arch} of=${TMP}.part1.${arch} conv=notrunc
+
+  # Make sure the partitions verify
+  ${FUTILITY} vbutil_kernel --verify ${TMP}.part1.${arch} \
+    --pad ${padding} \
+    --signpubkey ${DEVKEYS}/recovery_key.vbpubk > ${TMP}.verify6
+
+  # The partition should verify the same way as the blob
+  diff ${TMP}.verify1 ${TMP}.verify6
+
+  # repack it the old way
+  ${FUTILITY} --debug vbutil_kernel \
+    --repack ${TMP}.part6.${arch} \
+    --oldblob ${TMP}.part1.${arch} \
+    --signprivate ${DEVKEYS}/kernel_data_key.vbprivk \
+    --keyblock ${DEVKEYS}/kernel.keyblock \
+    --version 2 \
+    --pad ${padding} \
+    --config ${TMP}.config2.txt \
+    --bootloader ${TMP}.bootloader2.bin
+
+  # verify the old way
+  ${FUTILITY} vbutil_kernel --verify ${TMP}.part6.${arch} \
+    --pad ${padding} \
+    --signpubkey ${DEVKEYS}/kernel_subkey.vbpubk > ${TMP}.verify6.old
+
+  # this "partition" should actually be the same as the old-way blob
+  cmp ${TMP}.blob3.${arch} ${TMP}.part6.${arch}
+
+  # repack it the new way, in-place
+  cp ${TMP}.part1.${arch} ${TMP}.part6.${arch}.new1
+  ${FUTILITY} --debug sign \
+    --signprivate ${DEVKEYS}/kernel_data_key.vbprivk \
+    --keyblock ${DEVKEYS}/kernel.keyblock \
+    --version 2 \
+    --pad ${padding} \
+    --config ${TMP}.config2.txt \
+    --bootloader ${TMP}.bootloader2.bin \
+    ${TMP}.part6.${arch}.new1
+
+  ${FUTILITY} vbutil_kernel --verify ${TMP}.part6.${arch}.new1 \
+    --pad ${padding} \
+    --signpubkey ${DEVKEYS}/kernel_subkey.vbpubk > ${TMP}.verify6.new1
+
+  # The verification should be indentical
+  diff ${TMP}.verify6.old ${TMP}.verify6.new1
+  # But the content should only match up to the size of the kernel blob, since
+  # we're modifying an entire partition in-place.
+  blobsize=$(stat -c '%s' ${TMP}.part6.${arch})
+  cmp -n ${blobsize} ${TMP}.part6.${arch} ${TMP}.part6.${arch}.new1
+  # The rest of the partition should be unchanged.
+  cmp -i ${blobsize} ${TMP}.part1.${arch} ${TMP}.part6.${arch}.new1
+
+  # repack it the new way, from input to output
+  cp ${TMP}.part1.${arch} ${TMP}.part1.${arch}.in
+  ${FUTILITY} --debug sign \
+    --signprivate ${DEVKEYS}/kernel_data_key.vbprivk \
+    --keyblock ${DEVKEYS}/kernel.keyblock \
+    --version 2 \
+    --pad ${padding} \
+    --config ${TMP}.config2.txt \
+    --bootloader ${TMP}.bootloader2.bin \
+    ${TMP}.part1.${arch}.in \
+    ${TMP}.part6.${arch}.new2
+
+  ${FUTILITY} vbutil_kernel --verify ${TMP}.part6.${arch}.new2 \
+    --pad ${padding} \
+    --signpubkey ${DEVKEYS}/kernel_subkey.vbpubk > ${TMP}.verify6.new2
+
+  # The input file should not have changed (just being sure).
+  cmp ${TMP}.part1.${arch} ${TMP}.part1.${arch}.in
+  # The verification should be indentical
+  diff ${TMP}.verify6.old ${TMP}.verify6.new2
+  # And creating a new output file should only emit a blob's worth
+  cmp ${TMP}.part6.${arch} ${TMP}.part6.${arch}.new2
+
+  # Note: We specifically do not test repacking with a different --kloadaddr,
+  # because the old way has a bug and does not update params->cmd_line_ptr to
+  # point at the new on-disk location. Apparently (and not surprisingly), no
+  # one has ever done that.
+}
+
+try_arch amd64
+try_arch arm
+
+# cleanup
+rm -rf ${TMP}*
+exit 0
diff --git a/tests/futility/test_sign_keyblocks.sh b/tests/futility/test_sign_keyblocks.sh
new file mode 100755 (executable)
index 0000000..f689c89
--- /dev/null
@@ -0,0 +1,110 @@
+#!/bin/bash -eux
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+# some stuff we'll need
+DEVKEYS=${SRCDIR}/tests/devkeys
+TESTKEYS=${SRCDIR}/tests/testkeys
+SIGNER=${SRCDIR}/tests/external_rsa_signer.sh
+
+
+# Create a copy of an existing keyblock, using the old way
+${FUTILITY} vbutil_keyblock --pack ${TMP}.keyblock0 \
+  --datapubkey ${DEVKEYS}/firmware_data_key.vbpubk \
+  --flags 23 \
+  --signprivate ${DEVKEYS}/root_key.vbprivk
+
+# Check it.
+${FUTILITY} vbutil_keyblock --unpack ${TMP}.keyblock0 \
+  --signpubkey ${DEVKEYS}/root_key.vbpubk
+
+# It should be the same as the dev-key firmware keyblock
+cmp ${DEVKEYS}/firmware.keyblock ${TMP}.keyblock0
+
+
+# Now create it the new way
+${FUTILITY} --debug sign \
+  --datapubkey ${DEVKEYS}/firmware_data_key.vbpubk \
+  --flags 23 \
+  --signprivate ${DEVKEYS}/root_key.vbprivk \
+  --outfile ${TMP}.keyblock1
+
+# It should be the same too.
+cmp ${DEVKEYS}/firmware.keyblock ${TMP}.keyblock1
+
+
+# Create a keyblock without signing it.
+
+# old way
+${FUTILITY} vbutil_keyblock --pack ${TMP}.keyblock0 \
+  --datapubkey ${DEVKEYS}/firmware_data_key.vbpubk \
+  --flags 14
+
+# new way
+${FUTILITY} --debug sign \
+  --flags 14 \
+  ${DEVKEYS}/firmware_data_key.vbpubk \
+  ${TMP}.keyblock1
+
+cmp ${TMP}.keyblock0 ${TMP}.keyblock1
+
+
+# Create one using PEM args
+
+# old way
+${FUTILITY} vbutil_keyblock --pack ${TMP}.keyblock2 \
+  --datapubkey ${DEVKEYS}/firmware_data_key.vbpubk \
+  --signprivate_pem ${TESTKEYS}/key_rsa4096.pem \
+  --pem_algorithm 8 \
+  --flags 9
+
+# verify it
+${FUTILITY} vbutil_keyblock --unpack ${TMP}.keyblock2 \
+  --signpubkey ${TESTKEYS}/key_rsa4096.sha512.vbpubk
+
+# new way
+${FUTILITY} --debug sign \
+  --pem_signpriv ${TESTKEYS}/key_rsa4096.pem \
+  --pem_algo 8 \
+  --flags 9 \
+  ${DEVKEYS}/firmware_data_key.vbpubk \
+  ${TMP}.keyblock3
+
+cmp ${TMP}.keyblock2 ${TMP}.keyblock3
+
+# Try it with an external signer
+
+# old way
+${FUTILITY} vbutil_keyblock --pack ${TMP}.keyblock4 \
+  --datapubkey ${DEVKEYS}/firmware_data_key.vbpubk \
+  --signprivate_pem ${TESTKEYS}/key_rsa4096.pem \
+  --pem_algorithm 8 \
+  --flags 19 \
+  --externalsigner ${SIGNER}
+
+# verify it
+${FUTILITY} vbutil_keyblock --unpack ${TMP}.keyblock4 \
+  --signpubkey ${TESTKEYS}/key_rsa4096.sha512.vbpubk
+
+# new way
+${FUTILITY} --debug sign \
+  --pem_signpriv ${TESTKEYS}/key_rsa4096.pem \
+  --pem_algo 8 \
+  --pem_external ${SIGNER} \
+  --flags 19 \
+  ${DEVKEYS}/firmware_data_key.vbpubk \
+  ${TMP}.keyblock5
+
+cmp ${TMP}.keyblock4 ${TMP}.keyblock5
+
+
+# cleanup
+rm -rf ${TMP}*
+exit 0
diff --git a/tests/futility/test_sign_usbpd1.sh b/tests/futility/test_sign_usbpd1.sh
new file mode 100755 (executable)
index 0000000..48e64eb
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/bash -eux
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+# The signed input images are signed with dev keys. We resign the unsigned
+# images with the same keypair, to make sure that we're producing identical
+# binaries.
+
+DATADIR="${SCRIPT_DIR}/futility/data"
+TESTS="dingdong hoho minimuffin zinger"
+
+set -o pipefail
+
+count=0
+for test in $TESTS; do
+
+    : $(( count++ ))
+    echo -n "$count " 1>&3
+
+    pemfile=${DATADIR}/${test}.pem
+    infile=${DATADIR}/${test}.unsigned
+    goodfile=${DATADIR}/${test}.signed
+    outfile=${TMP}.${test}.new
+
+    # Signing the whole thing with futility should produce identical results
+    ${FUTILITY} sign --type usbpd1 --pem ${pemfile} ${infile} ${outfile}
+    cmp ${goodfile} ${outfile}
+
+    # Now try signing just the RW part
+    size=$(stat -c '%s' ${infile})
+    half=$(( size / 2 ))
+
+    newin=${TMP}.${test}.rw_in
+    dd if=${infile} bs=${half} count=1 skip=1 of=${newin}
+    newgood=${TMP}.${test}.rw_ok
+    dd if=${goodfile} bs=${half} count=1 skip=1 of=${newgood}
+    newout=${TMP}.${test}.rw_out
+
+    # Sign the RW part alone
+    ${FUTILITY} sign --type usbpd1 --pem ${pemfile} \
+        --ro_size 0 \
+        ${newin} ${newout}
+    cmp ${newgood} ${newout}
+
+done
+
+# cleanup
+rm -rf ${TMP}*
+exit 0
diff --git a/tests/futility/test_update.sh b/tests/futility/test_update.sh
new file mode 100755 (executable)
index 0000000..31f3ecb
--- /dev/null
@@ -0,0 +1,505 @@
+#!/bin/bash -eux
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Test --sys_props (primitive test needed for future updating tests).
+test_sys_props() {
+       ! "${FUTILITY}" --debug update --sys_props "$*" 2>&1 |
+               sed -n 's/.*property\[\(.*\)].value = \(.*\)/\1,\2,/p' |
+               tr '\n' ' '
+}
+
+test "$(test_sys_props "1,2,3")" = "0,1, 1,2, 2,3, "
+test "$(test_sys_props "1 2 3")" = "0,1, 1,2, 2,3, "
+test "$(test_sys_props "1, 2,3 ")" = "0,1, 1,2, 2,3, "
+test "$(test_sys_props "   1,, 2")" = "0,1, 2,2, "
+test "$(test_sys_props " , 4,")" = "1,4, "
+
+test_quirks() {
+       ! "${FUTILITY}" --debug update --quirks "$*" 2>&1 |
+               sed -n 's/.*Set quirk \(.*\) to \(.*\)./\1,\2/p' |
+               tr '\n' ' '
+}
+
+test "$(test_quirks "enlarge_image")" = "enlarge_image,1 "
+test "$(test_quirks "enlarge_image=2")" = "enlarge_image,2 "
+test "$(test_quirks " enlarge_image, enlarge_image=2")" = \
+       "enlarge_image,1 enlarge_image,2 "
+
+# Test data files
+LINK_BIOS="${SCRIPT_DIR}/futility/data/bios_link_mp.bin"
+PEPPY_BIOS="${SCRIPT_DIR}/futility/data/bios_peppy_mp.bin"
+RO_VPD_BLOB="${SCRIPT_DIR}/futility/data/ro_vpd.bin"
+
+# Work in scratch directory
+cd "$OUTDIR"
+set -o pipefail
+
+# In all the test scenario, we want to test "updating from PEPPY to LINK".
+TO_IMAGE=${TMP}.src.link
+FROM_IMAGE=${TMP}.src.peppy
+TO_HWID="X86 LINK TEST 6638"
+FROM_HWID="X86 PEPPY TEST 4211"
+cp -f ${LINK_BIOS} ${TO_IMAGE}
+cp -f ${PEPPY_BIOS} ${FROM_IMAGE}
+"${FUTILITY}" load_fmap "${FROM_IMAGE}" \
+       RO_VPD:"${RO_VPD_BLOB}" RW_VPD:"${RO_VPD_BLOB}"
+cp -f "${FROM_IMAGE}" "${FROM_IMAGE}".unpatched
+
+patch_file() {
+       local file="$1"
+       local section="$2"
+       local section_offset="$3"
+       local data="$4"
+
+       # NAME OFFSET SIZE
+       local fmap_info="$(${FUTILITY} dump_fmap -p ${file} ${section})"
+       local base="$(echo "${fmap_info}" | sed 's/^[^ ]* //; s/ [^ ]*$//')"
+       local offset=$((base + section_offset))
+       echo "offset: ${offset}"
+       printf "${data}" | dd of="${file}" bs=1 seek="${offset}" conv=notrunc
+}
+
+# PEPPY and LINK have different platform element ("Google_Link" and
+# "Google_Peppy") in firmware ID so we want to hack them by changing
+# "Google_" to "Google.".
+patch_file ${TO_IMAGE} RW_FWID_A 0 Google.
+patch_file ${TO_IMAGE} RW_FWID_B 0 Google.
+patch_file ${TO_IMAGE} RO_FRID 0 Google.
+patch_file ${FROM_IMAGE} RW_FWID_A 0 Google.
+patch_file ${FROM_IMAGE} RW_FWID_B 0 Google.
+patch_file ${FROM_IMAGE} RO_FRID 0 Google.
+
+unpack_image() {
+       local folder="${TMP}.$1"
+       local image="$2"
+       mkdir -p "${folder}"
+       (cd "${folder}" && ${FUTILITY} dump_fmap -x "../${image}")
+       ${FUTILITY} gbb -g --rootkey="${folder}/rootkey" "${image}"
+}
+
+# Unpack images so we can prepare expected results by individual sections.
+unpack_image "to" "${TO_IMAGE}"
+unpack_image "from" "${FROM_IMAGE}"
+
+# Hack FROM_IMAGE so it has same root key as TO_IMAGE (for RW update).
+FROM_DIFFERENT_ROOTKEY_IMAGE="${FROM_IMAGE}2"
+cp -f "${FROM_IMAGE}" "${FROM_DIFFERENT_ROOTKEY_IMAGE}"
+"${FUTILITY}" gbb -s --rootkey="${TMP}.to/rootkey" "${FROM_IMAGE}"
+
+# Hack for quirks
+cp -f "${FROM_IMAGE}" "${FROM_IMAGE}.large"
+truncate -s $((8388608 * 2)) "${FROM_IMAGE}.large"
+
+# Create GBB v1.2 images (for checking digest)
+GBB_OUTPUT="$("${FUTILITY}" gbb --digest "${TO_IMAGE}")"
+[ "${GBB_OUTPUT}" = "digest: <none>" ]
+TO_IMAGE_GBB12="${TO_IMAGE}.gbb12"
+HWID_DIGEST="adf64d2a434b610506153da42440b0b498d7369c0e98b629ede65eb59f4784fa"
+cp -f "${TO_IMAGE}" "${TO_IMAGE_GBB12}"
+patch_file "${TO_IMAGE_GBB12}" GBB 6 "\x02"
+"${FUTILITY}" gbb -s --hwid="${TO_HWID}" "${TO_IMAGE_GBB12}"
+GBB_OUTPUT="$("${FUTILITY}" gbb --digest "${TO_IMAGE_GBB12}")"
+[ "${GBB_OUTPUT}" = "digest: ${HWID_DIGEST}   valid" ]
+
+# Generate expected results.
+cp -f "${TO_IMAGE}" "${TMP}.expected.full"
+cp -f "${FROM_IMAGE}" "${TMP}.expected.rw"
+cp -f "${FROM_IMAGE}" "${TMP}.expected.a"
+cp -f "${FROM_IMAGE}" "${TMP}.expected.b"
+cp -f "${FROM_IMAGE}" "${TMP}.expected.legacy"
+"${FUTILITY}" gbb -s --hwid="${FROM_HWID}" "${TMP}.expected.full"
+"${FUTILITY}" load_fmap "${TMP}.expected.full" \
+       RW_VPD:${TMP}.from/RW_VPD \
+       RO_VPD:${TMP}.from/RO_VPD
+"${FUTILITY}" load_fmap "${TMP}.expected.rw" \
+       RW_SECTION_A:${TMP}.to/RW_SECTION_A \
+       RW_SECTION_B:${TMP}.to/RW_SECTION_B \
+       RW_SHARED:${TMP}.to/RW_SHARED \
+       RW_LEGACY:${TMP}.to/RW_LEGACY
+"${FUTILITY}" load_fmap "${TMP}.expected.a" \
+       RW_SECTION_A:${TMP}.to/RW_SECTION_A
+"${FUTILITY}" load_fmap "${TMP}.expected.b" \
+       RW_SECTION_B:${TMP}.to/RW_SECTION_B
+"${FUTILITY}" load_fmap "${TMP}.expected.legacy" \
+       RW_LEGACY:${TMP}.to/RW_LEGACY
+cp -f "${TMP}.expected.full" "${TMP}.expected.full.gbb12"
+patch_file "${TMP}.expected.full.gbb12" GBB 6 "\x02"
+"${FUTILITY}" gbb -s --hwid="${FROM_HWID}" "${TMP}.expected.full.gbb12"
+cp -f "${TMP}.expected.full" "${TMP}.expected.full.gbb0"
+"${FUTILITY}" gbb -s --flags=0 "${TMP}.expected.full.gbb0"
+cp -f "${FROM_IMAGE}" "${FROM_IMAGE}.gbb0"
+"${FUTILITY}" gbb -s --flags=0 "${FROM_IMAGE}.gbb0"
+cp -f "${TMP}.expected.full" "${TMP}.expected.full.gbb0x27"
+"${FUTILITY}" gbb -s --flags=0x27 "${TMP}.expected.full.gbb0x27"
+cp -f "${TMP}.expected.full" "${TMP}.expected.large"
+dd if=/dev/zero bs=8388608 count=1 | tr '\000' '\377' >>"${TMP}.expected.large"
+cp -f "${TMP}.expected.full" "${TMP}.expected.me_unlocked"
+patch_file "${TMP}.expected.me_unlocked" SI_DESC 128 \
+       "\x00\xff\xff\xff\x00\xff\xff\xff\x00\xff\xff\xff"
+
+# A special set of images that only RO_VPD is preserved (RW_VPD is wiped) using
+# FMAP_AREA_PRESERVE (\010=0x08).
+TO_IMAGE_WIPE_RW_VPD="${TO_IMAGE}.wipe_rw_vpd"
+cp -f "${TO_IMAGE}" "${TO_IMAGE_WIPE_RW_VPD}"
+patch_file ${TO_IMAGE_WIPE_RW_VPD} FMAP 0x3fc "$(printf '\010')"
+cp -f "${TMP}.expected.full" "${TMP}.expected.full.empty_rw_vpd"
+"${FUTILITY}" load_fmap "${TMP}.expected.full.empty_rw_vpd" \
+       RW_VPD:"${TMP}.to/RW_VPD"
+patch_file "${TMP}.expected.full.empty_rw_vpd" FMAP 0x3fc "$(printf '\010')"
+
+test_update() {
+       local test_name="$1"
+       local emu_src="$2"
+       local expected="$3"
+       local error_msg="${expected#!}"
+       local msg
+
+       shift 3
+       cp -f "${emu_src}" "${TMP}.emu"
+       echo "*** Test Item: ${test_name}"
+       if [ "${error_msg}" != "${expected}" ] && [ -n "${error_msg}" ]; then
+               msg="$(! "${FUTILITY}" update --emulate "${TMP}.emu" "$@" 2>&1)"
+               grep -qF -- "${error_msg}" <<<"${msg}"
+       else
+               "${FUTILITY}" update --emulate "${TMP}.emu" "$@"
+               cmp "${TMP}.emu" "${expected}"
+       fi
+}
+
+# --sys_props: mainfw_act, tpm_fwver, is_vboot2, platform_ver, [wp_hw, wp_sw]
+# tpm_fwver = <data key version:16><firmware version:16>.
+# TO_IMAGE is signed with data key version = 1, firmware version = 4 => 0x10004.
+
+# Test Full update.
+test_update "Full update" \
+       "${FROM_IMAGE}" "${TMP}.expected.full" \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1
+
+test_update "Full update (incompatible platform)" \
+       "${FROM_IMAGE}" "!platform is not compatible" \
+       -i "${LINK_BIOS}" --wp=0 --sys_props 0,0x10001,1
+
+test_update "Full update (TPM Anti-rollback: data key)" \
+       "${FROM_IMAGE}" "!Data key version rollback detected (2->1)" \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 1,0x20001,1
+
+test_update "Full update (TPM Anti-rollback: kernel key)" \
+       "${FROM_IMAGE}" "!Firmware version rollback detected (5->4)" \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 1,0x10005,1
+
+test_update "Full update (TPM Anti-rollback: 0 as tpm_fwver)" \
+       "${FROM_IMAGE}" "${TMP}.expected.full" \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x0,1
+
+test_update "Full update (TPM check failure due to invalid tpm_fwver)" \
+       "${FROM_IMAGE}" "!Invalid tpm_fwver: -1" \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,-1,1
+
+test_update "Full update (Skip TPM check with --force)" \
+       "${FROM_IMAGE}" "${TMP}.expected.full" \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,-1,1 --force
+
+test_update "Full update (from stdin)" \
+       "${FROM_IMAGE}" "${TMP}.expected.full" \
+       -i - --wp=0 --sys_props 0,-1,1 --force <"${TO_IMAGE}"
+
+test_update "Full update (GBB=0 -> 0)" \
+       "${FROM_IMAGE}.gbb0" "${TMP}.expected.full.gbb0" \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1
+
+test_update "Full update (GBB flags -> 0x27)" \
+       "${FROM_IMAGE}" "${TMP}.expected.full.gbb0x27" \
+       -i "${TO_IMAGE}" --gbb_flags=0x27 --wp=0 --sys_props 0,0x10001,1
+
+test_update "Full update (--host_only)" \
+       "${FROM_IMAGE}" "${TMP}.expected.full" \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1 \
+       --host_only --ec_image non-exist.bin --pd_image non_exist.bin
+
+test_update "Full update (GBB1.2 hwid digest)" \
+       "${FROM_IMAGE}" "${TMP}.expected.full.gbb12" \
+       -i "${TO_IMAGE_GBB12}" --wp=0 --sys_props 0,0x10001,1
+
+test_update "Full update (Preserve VPD using FMAP_AREA_PRESERVE)" \
+       "${FROM_IMAGE}" "${TMP}.expected.full.empty_rw_vpd" \
+       -i "${TO_IMAGE_WIPE_RW_VPD}" --wp=0 --sys_props 0,0x10001,1
+
+
+# Test RW-only update.
+test_update "RW update" \
+       "${FROM_IMAGE}" "${TMP}.expected.rw" \
+       -i "${TO_IMAGE}" --wp=1 --sys_props 0,0x10001,1
+
+test_update "RW update (incompatible platform)" \
+       "${FROM_IMAGE}" "!platform is not compatible" \
+       -i "${LINK_BIOS}" --wp=1 --sys_props 0,0x10001,1
+
+test_update "RW update (incompatible rootkey)" \
+       "${FROM_DIFFERENT_ROOTKEY_IMAGE}" "!RW signed by incompatible root key" \
+       -i "${TO_IMAGE}" --wp=1 --sys_props 0,0x10001,1
+
+test_update "RW update (TPM Anti-rollback: data key)" \
+       "${FROM_IMAGE}" "!Data key version rollback detected (2->1)" \
+       -i "${TO_IMAGE}" --wp=1 --sys_props 1,0x20001,1
+
+test_update "RW update (TPM Anti-rollback: kernel key)" \
+       "${FROM_IMAGE}" "!Firmware version rollback detected (5->4)" \
+       -i "${TO_IMAGE}" --wp=1 --sys_props 1,0x10005,1
+
+# Test Try-RW update (vboot2).
+test_update "RW update (A->B)" \
+       "${FROM_IMAGE}" "${TMP}.expected.b" \
+       -i "${TO_IMAGE}" -t --wp=1 --sys_props 0,0x10001,1
+
+test_update "RW update (B->A)" \
+       "${FROM_IMAGE}" "${TMP}.expected.a" \
+       -i "${TO_IMAGE}" -t --wp=1 --sys_props 1,0x10001,1
+
+test_update "RW update -> fallback to RO+RW Full update" \
+       "${FROM_IMAGE}" "${TMP}.expected.full" \
+       -i "${TO_IMAGE}" -t --wp=0 --sys_props 1,0x10002,1
+test_update "RW update (incompatible platform)" \
+       "${FROM_IMAGE}" "!platform is not compatible" \
+       -i "${LINK_BIOS}" -t --wp=1 --sys_props 0x10001,1
+
+test_update "RW update (incompatible rootkey)" \
+       "${FROM_DIFFERENT_ROOTKEY_IMAGE}" "!RW signed by incompatible root key" \
+       -i "${TO_IMAGE}" -t --wp=1 --sys_props 0,0x10001,1
+
+test_update "RW update (TPM Anti-rollback: data key)" \
+       "${FROM_IMAGE}" "!Data key version rollback detected (2->1)" \
+       -i "${TO_IMAGE}" -t --wp=1 --sys_props 1,0x20001,1
+
+test_update "RW update (TPM Anti-rollback: kernel key)" \
+       "${FROM_IMAGE}" "!Firmware version rollback detected (5->4)" \
+       -i "${TO_IMAGE}" -t --wp=1 --sys_props 1,0x10005,1
+
+test_update "RW update -> fallback to RO+RW Full update (TPM Anti-rollback)" \
+       "${FROM_IMAGE}" "!Firmware version rollback detected (6->4)" \
+       -i "${TO_IMAGE}" -t --wp=0 --sys_props 1,0x10006,1
+
+# Test Try-RW update (vboot1).
+test_update "RW update (vboot1, A->B)" \
+       "${FROM_IMAGE}" "${TMP}.expected.b" \
+       -i "${TO_IMAGE}" -t --wp=1 --sys_props 0,0 --sys_props 0,0x10001,0
+
+test_update "RW update (vboot1, B->B)" \
+       "${FROM_IMAGE}" "${TMP}.expected.b" \
+       -i "${TO_IMAGE}" -t --wp=1 --sys_props 1,0 --sys_props 0,0x10001,0
+
+# Test 'factory mode'
+test_update "Factory mode update (WP=0)" \
+       "${FROM_IMAGE}" "${TMP}.expected.full" \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1 --mode=factory
+
+test_update "Factory mode update (WP=0)" \
+       "${FROM_IMAGE}" "${TMP}.expected.full" \
+       --factory -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1
+
+test_update "Factory mode update (WP=1)" \
+       "${FROM_IMAGE}" "!remove write protection for factory mode" \
+       -i "${TO_IMAGE}" --wp=1 --sys_props 0,0x10001,1 --mode=factory
+
+test_update "Factory mode update (WP=1)" \
+       "${FROM_IMAGE}" "!remove write protection for factory mode" \
+       --factory -i "${TO_IMAGE}" --wp=1 --sys_props 0,0x10001,1
+
+test_update "Factory mode update (GBB=0 -> 0x39)" \
+       "${FROM_IMAGE}.gbb0" "${TMP}.expected.full" \
+       --factory -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1
+
+# Test legacy update
+test_update "Legacy update" \
+       "${FROM_IMAGE}" "${TMP}.expected.legacy" \
+       -i "${TO_IMAGE}" --mode=legacy
+
+# Test quirks
+test_update "Full update (wrong size)" \
+       "${FROM_IMAGE}.large" "!Image size is different" \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1 \
+       --quirks unlock_me_for_update,eve_smm_store
+
+test_update "Full update (--quirks enlarge_image)" \
+       "${FROM_IMAGE}.large" "${TMP}.expected.large" --quirks enlarge_image \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1
+
+test_update "Full update (multi-line --quirks enlarge_image)" \
+       "${FROM_IMAGE}.large" "${TMP}.expected.large" --quirks '
+       enlarge_image
+       ' -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1
+
+test_update "Full update (--quirks unlock_me_for_update)" \
+       "${FROM_IMAGE}" "${TMP}.expected.me_unlocked" \
+       --quirks unlock_me_for_update \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1
+
+test_update "Full update (failure by --quirks min_platform_version)" \
+       "${FROM_IMAGE}" "!Need platform version >= 3 (current is 2)" \
+       --quirks min_platform_version=3 \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1,2
+
+test_update "Full update (--quirks min_platform_version)" \
+       "${FROM_IMAGE}" "${TMP}.expected.full" \
+       --quirks min_platform_version=3 \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1,3
+
+test_update "Full update (incompatible platform)" \
+       "${FROM_IMAGE}".unpatched "!platform is not compatible" \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1
+
+test_update "Full update (--quirks no_check_platform)" \
+       "${FROM_IMAGE}".unpatched "${TMP}.expected.full" \
+       --quirks no_check_platform \
+       -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1
+
+# Test archive and manifest.
+A="${TMP}.archive"
+mkdir -p "${A}/bin"
+echo 'echo "${WL_TAG}"' >"${A}/bin/vpd"
+chmod +x "${A}/bin/vpd"
+
+cp -f "${LINK_BIOS}" "${A}/bios.bin"
+echo "TEST: Manifest (--manifest, bios.bin)"
+${FUTILITY} update -a "${A}" --manifest >"${TMP}.json.out"
+cmp "${TMP}.json.out" "${SCRIPT_DIR}/futility/link_bios.manifest.json"
+
+mv -f "${A}/bios.bin" "${A}/image.bin"
+echo "TEST: Manifest (--manifest, image.bin)"
+${FUTILITY} update -a "${A}" --manifest >"${TMP}.json.out"
+cmp "${TMP}.json.out" "${SCRIPT_DIR}/futility/link_image.manifest.json"
+
+
+cp -f "${TO_IMAGE}" "${A}/image.bin"
+test_update "Full update (--archive, single package)" \
+       "${FROM_IMAGE}" "${TMP}.expected.full" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3
+
+echo "TEST: Output (--mode=output)"
+mkdir -p "${TMP}.output"
+${FUTILITY} update -i "${LINK_BIOS}" --mode=output --output_dir="${TMP}.output"
+cmp "${LINK_BIOS}" "${TMP}.output/image.bin"
+
+mkdir -p "${A}/keyset"
+cp -f "${LINK_BIOS}" "${A}/image.bin"
+cp -f "${TMP}.to/rootkey" "${A}/keyset/rootkey.WL"
+cp -f "${TMP}.to/VBLOCK_A" "${A}/keyset/vblock_A.WL"
+cp -f "${TMP}.to/VBLOCK_B" "${A}/keyset/vblock_B.WL"
+${FUTILITY} gbb -s --rootkey="${TMP}.from/rootkey" "${A}/image.bin"
+${FUTILITY} load_fmap "${A}/image.bin" VBLOCK_A:"${TMP}.from/VBLOCK_A"
+${FUTILITY} load_fmap "${A}/image.bin" VBLOCK_B:"${TMP}.from/VBLOCK_B"
+
+test_update "Full update (--archive, whitelabel, no VPD)" \
+       "${A}/image.bin" "!Need VPD set for white" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3
+
+test_update "Full update (--archive, whitelabel, no VPD - factory mode)" \
+       "${LINK_BIOS}" "${A}/image.bin" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3 --mode=factory
+
+test_update "Full update (--archive, whitelabel, no VPD - quirk mode)" \
+       "${LINK_BIOS}" "${A}/image.bin" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3 --quirks=allow_empty_wltag
+
+test_update "Full update (--archive, WL, single package)" \
+       "${A}/image.bin" "${LINK_BIOS}" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3 --signature_id=WL
+
+WL_TAG="WL" PATH="${A}/bin:${PATH}" \
+       test_update "Full update (--archive, WL, fake vpd)" \
+       "${A}/image.bin" "${LINK_BIOS}" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3
+
+echo "TEST: Output (-a, --mode=output)"
+mkdir -p "${TMP}.outa"
+cp -f "${A}/image.bin" "${TMP}.emu"
+WL_TAG="WL" PATH="${A}/bin:${PATH}" \
+       ${FUTILITY} update -a "${A}" --mode=output --emu="${TMP}.emu" \
+       --output_dir="${TMP}.outa"
+cmp "${LINK_BIOS}" "${TMP}.outa/image.bin"
+
+# Test archive with Unified Build contents.
+cp -r "${SCRIPT_DIR}/futility/models" "${A}/"
+mkdir -p "${A}/images"
+mv "${A}/image.bin" "${A}/images/bios_coral.bin"
+cp -f "${PEPPY_BIOS}" "${A}/images/bios_peppy.bin"
+cp -f "${LINK_BIOS}" "${A}/images/bios_link.bin"
+cp -f "${TMP}.to/rootkey" "${A}/keyset/rootkey.whitetip-wl"
+cp -f "${TMP}.to/VBLOCK_A" "${A}/keyset/vblock_A.whitetip-wl"
+cp -f "${TMP}.to/VBLOCK_B" "${A}/keyset/vblock_B.whitetip-wl"
+cp -f "${PEPPY_BIOS}" "${FROM_IMAGE}.ap"
+cp -f "${LINK_BIOS}" "${FROM_IMAGE}.al"
+patch_file ${FROM_IMAGE}.ap FW_MAIN_A 0 "corrupted"
+patch_file ${FROM_IMAGE}.al FW_MAIN_A 0 "corrupted"
+test_update "Full update (--archive, model=link)" \
+       "${FROM_IMAGE}.al" "${LINK_BIOS}" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3 --model=link
+test_update "Full update (--archive, model=peppy)" \
+       "${FROM_IMAGE}.ap" "${PEPPY_BIOS}" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3 --model=peppy
+test_update "Full update (--archive, model=unknown)" \
+       "${FROM_IMAGE}.ap" "!Unsupported model: 'unknown'" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3 --model=unknown
+test_update "Full update (--archive, model=whitetip, signature_id=WL)" \
+       "${FROM_IMAGE}.al" "${LINK_BIOS}" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3 --model=whitetip \
+       --signature_id=whitetip-wl
+
+WL_TAG="wl" PATH="${A}/bin:${PATH}" \
+       test_update "Full update (-a, model=WL, fake VPD)" \
+       "${FROM_IMAGE}.al" "${LINK_BIOS}" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3 --model=whitetip
+
+# WL-Unibuild without default keys
+test_update "Full update (--a, model=WL, no VPD, no default keys)" \
+       "${FROM_IMAGE}.al" "!Need VPD set for white" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3 --model=whitetip
+
+# WL-Unibuild with default keys as model name
+cp -f "${TMP}.to/rootkey" "${A}/keyset/rootkey.whitetip"
+cp -f "${TMP}.to/VBLOCK_A" "${A}/keyset/vblock_A.whitetip"
+cp -f "${TMP}.to/VBLOCK_B" "${A}/keyset/vblock_B.whitetip"
+test_update "Full update (-a, model=WL, no VPD, default keys)" \
+       "${FROM_IMAGE}.al" "${LINK_BIOS}" \
+       -a "${A}" --wp=0 --sys_props 0,0x10001,1,3 --model=whitetip
+
+# Test special programmer
+if type flashrom >/dev/null 2>&1; then
+       echo "TEST: Full update (dummy programmer)"
+       cp -f "${FROM_IMAGE}" "${TMP}.emu"
+       sudo "${FUTILITY}" update --programmer \
+               dummy:emulate=VARIABLE_SIZE,image=${TMP}.emu,size=8388608 \
+               -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1,3 >&2
+       cmp "${TMP}.emu" "${TMP}.expected.full"
+fi
+
+if type cbfstool >/dev/null 2>&1; then
+       echo "SMM STORE" >"${TMP}.smm"
+       truncate -s 262144 "${TMP}.smm"
+       cp -f "${FROM_IMAGE}" "${TMP}.from.smm"
+       cp -f "${TMP}.expected.full" "${TMP}.expected.full_smm"
+       cbfstool "${TMP}.from.smm" add -r RW_LEGACY -n "smm_store" \
+               -f "${TMP}.smm" -t raw
+       cbfstool "${TMP}.expected.full_smm" add -r RW_LEGACY -n "smm_store" \
+               -f "${TMP}.smm" -t raw -b 0x1bf000
+       test_update "Legacy update (--quirks eve_smm_store)" \
+               "${TMP}.from.smm" "${TMP}.expected.full_smm" \
+               -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1 \
+               --quirks eve_smm_store
+
+       echo "min_platform_version=3" >"${TMP}.quirk"
+       cp -f "${TO_IMAGE}" "${TO_IMAGE}.quirk"
+       ${FUTILITY} dump_fmap -x "${TO_IMAGE}" "BOOT_STUB:${TMP}.cbfs"
+       # Create a fake CBFS using FW_MAIN_A size.
+       truncate -s $((0x000dffc0)) "${TMP}.cbfs"
+       ${FUTILITY} load_fmap "${TO_IMAGE}.quirk" "FW_MAIN_A:${TMP}.cbfs"
+       cbfstool "${TO_IMAGE}.quirk" add -r FW_MAIN_A -n updater_quirks \
+               -f "${TMP}.quirk" -t raw
+       test_update "Full update (failure by CBFS quirks)" \
+               "${FROM_IMAGE}" "!Need platform version >= 3 (current is 2)" \
+               -i "${TO_IMAGE}.quirk" --wp=0 --sys_props 0,0x10001,1,2
+fi
diff --git a/tests/gen_fuzz_test_cases.sh b/tests/gen_fuzz_test_cases.sh
new file mode 100755 (executable)
index 0000000..2b4255d
--- /dev/null
@@ -0,0 +1,86 @@
+#!/bin/bash
+
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Generate test cases for use for the RSA verify benchmark.
+
+set -e
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+# Use a different directory for fuzzing test cases.
+TESTKEY_DIR=${TESTKEY_DIR:-$(realpath  ${SCRIPT_DIR}/../tests/testkeys)}
+TESTCASE_DIR=${BUILD_DIR}/fuzz_testcases
+TEST_IMAGE_FILE=${TESTCASE_DIR}/testimage
+TEST_IMAGE_SIZE=500000
+TEST_BOOTLOADER_FILE=${TESTCASE_DIR}/testbootloader
+TEST_BOOTLOADER_SIZE=50000
+TEST_CONFIG_FILE=${TESTCASE_DIR}/testconfig
+# Config size must < 4096
+TEST_CONFIG_SIZE=3000
+
+function generate_fuzzing_images {
+  echo "Generating keyblocks..."
+  # Firmware keyblock - RSA8192/SHA512 root key, RSA4096/SHA512 firmware
+  # signing key.
+  ${FUTILITY} vbutil_keyblock \
+    --pack ${TESTCASE_DIR}/firmware.keyblock \
+    --datapubkey ${TESTKEY_DIR}/key_rsa4096.sha512.vbpubk \
+    --signprivate ${TESTKEY_DIR}/key_rsa8192.sha1.vbprivk
+
+  # Kernel keyblock - RSA4096/SHA512 kernel signing subkey, RSA4096/SHA512
+  # kernel signing key.
+  ${FUTILITY} vbutil_keyblock \
+    --pack ${TESTCASE_DIR}/kernel.keyblock \
+    --datapubkey ${TESTKEY_DIR}/key_rsa4096.sha512.vbpubk \
+    --signprivate ${TESTKEY_DIR}/key_rsa4096.sha1.vbprivk \
+    --flags 15
+
+  echo "Generating signed firmware test image..."
+  ${FUTILITY} vbutil_firmware \
+    --vblock ${TESTCASE_DIR}/firmware.vblock \
+    --keyblock ${TESTCASE_DIR}/firmware.keyblock\
+    --signprivate ${TESTKEY_DIR}/key_rsa4096.sha256.vbprivk \
+    --version 1 \
+    --fv  $1 \
+    --kernelkey ${TESTKEY_DIR}/key_rsa4096.sha512.vbpubk
+  # TODO(gauravsh): ALso test with (optional) flags.
+  cp ${TESTKEY_DIR}/key_rsa8192.sha512.vbpubk ${TESTCASE_DIR}/root_key.vbpubk
+
+  echo "Generating signed kernel test image..."
+  ${FUTILITY} vbutil_kernel \
+    --pack ${TESTCASE_DIR}/kernel.vblock.image \
+    --keyblock ${TESTCASE_DIR}/kernel.keyblock \
+    --signprivate ${TESTKEY_DIR}/key_rsa4096.sha256.vbprivk \
+    --version 1 \
+    --vmlinuz ${TEST_IMAGE_FILE} \
+    --bootloader ${TEST_BOOTLOADER_FILE} \
+    --config ${TEST_CONFIG_FILE}
+  # TODO(gauravsh): Also test with (optional) padding.
+  cp ${TESTKEY_DIR}/key_rsa4096.sha512.vbpubk \
+    ${TESTCASE_DIR}/firmware_key.vbpubk
+}
+
+function pre_work {
+  # Generate a file to serve as random bytes for firmware/kernel contents.
+  # NOTE: The kernel and config file can't really be random, but the bootloader
+  # can. That's probably close enough.
+  echo "Generating test image file..."
+  dd if=/dev/urandom of=${TEST_IMAGE_FILE} bs=${TEST_IMAGE_SIZE} count=1
+  echo "Generating test bootloader file..."
+  # TODO(gauravsh): Use a valid bootloader here?
+  dd if=/dev/urandom of=${TEST_BOOTLOADER_FILE} bs=${TEST_BOOTLOADER_SIZE} \
+    count=1
+  echo "Generating test config file..."
+  # TODO(gauravsh): Use a valid config file here?
+  dd if=/dev/urandom of=${TEST_CONFIG_FILE} bs=${TEST_CONFIG_SIZE} count=1
+}
+
+mkdir -p ${TESTCASE_DIR}
+pre_work
+check_test_keys
+generate_fuzzing_images ${TEST_IMAGE_FILE}
+
diff --git a/tests/gen_preamble_testdata.sh b/tests/gen_preamble_testdata.sh
new file mode 100755 (executable)
index 0000000..607e05a
--- /dev/null
@@ -0,0 +1,84 @@
+#!/bin/bash -eu
+#
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This generates the pre-change test data used to ensure that
+# modifications to vb2_fw_preamble and vb2_kernel_preamble will not
+# break the signing tools for older releases. This was run *before*
+# any modifications, so be sure to revert the repo back to the correct
+# point if you need to run it again.
+
+
+# Load common constants and variables for tests.
+. "$(dirname "$0")/common.sh"
+
+# Load routines to generate keypairs
+. "${ROOT_DIR}/scripts/keygeneration/common.sh"
+
+# all algs
+algs="0 1 2 3 4 5 6 7 8 9 10 11"
+
+# output directories
+PREAMBLE_DIR="${SCRIPT_DIR}/preamble_tests"
+DATADIR="${PREAMBLE_DIR}/data"
+V2DIR="${PREAMBLE_DIR}/preamble_v2x"
+
+for d in "${PREAMBLE_DIR}" "${DATADIR}" "${V2DIR}"; do
+  [ -d "$d" ] || mkdir -p "$d"
+done
+
+
+# generate a bunch of data keys
+for d in $algs; do
+  make_pair "${DATADIR}/data_$d" "$d"
+done
+
+# generate a bunch of root keys
+for r in $algs; do
+  make_pair "${DATADIR}/root_$r" "$r"
+done
+
+# generate keyblocks using all possible combinations
+for d in $algs; do
+  for r in $algs; do
+     make_keyblock "${DATADIR}/kb_${d}_${r}" 15 \
+       "${DATADIR}/data_$d" "${DATADIR}/root_$r"
+  done
+done
+
+# make a dummy kernel key because we have to have one (crosbug.com/27142)
+make_pair "${DATADIR}/dummy_0" 0
+
+# and a few more dummy files just because (crosbug.com/23548)
+echo "hi there" > "${DATADIR}/dummy_config.txt"
+dd if=/dev/urandom bs=32768 count=1 of="${DATADIR}/dummy_bootloader.bin"
+
+# make some fake data
+dd if=/dev/urandom of="${DATADIR}/FWDATA" bs=32768 count=1
+dd if=/dev/urandom of="${DATADIR}/KERNDATA" bs=32768 count=1
+
+
+# Now sign the firmware and kernel data in all the possible ways using the
+# pre-change tools.
+for d in $algs; do
+  for r in $algs; do
+      vbutil_firmware --vblock "${V2DIR}/fw_${d}_${r}.vblock" \
+        --keyblock "${DATADIR}/kb_${d}_${r}.keyblock" \
+        --signprivate "${DATADIR}/data_${d}.vbprivk" \
+        --version 1 \
+        --kernelkey "${DATADIR}/dummy_0.vbpubk" \
+        --fv "${DATADIR}/FWDATA"
+     vbutil_kernel --pack "${V2DIR}/kern_${d}_${r}.vblock" \
+       --keyblock "${DATADIR}/kb_${d}_${r}.keyblock" \
+       --signprivate "${DATADIR}/data_${d}.vbprivk" \
+       --version 1 \
+       --arch arm \
+       --vmlinuz "${DATADIR}/KERNDATA" \
+       --bootloader "${DATADIR}/dummy_bootloader.bin" \
+       --config "${DATADIR}/dummy_config.txt"
+  done
+done
+
+
diff --git a/tests/gen_test_cases.sh b/tests/gen_test_cases.sh
new file mode 100755 (executable)
index 0000000..540fc2a
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Generate test cases for use for the RSA verify benchmark.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+TEST_FILE=${TESTCASE_DIR}/test_file
+TEST_FILE_SIZE=1000000
+
+# Generate public key signatures on an input file for various combinations
+# of message digest algorithms and RSA key sizes.
+function generate_test_signatures {
+  echo "Generating test signatures..."
+  algorithmcounter=0
+  for keylen in ${key_lengths[@]}
+  do
+    for hashalgo in ${hash_algos[@]}
+    do
+      openssl dgst -${hashalgo} -binary ${TEST_FILE} > \
+        ${TEST_FILE}.${hashalgo}.digest
+      ${BIN_DIR}/signature_digest_utility $algorithmcounter  \
+        ${TEST_FILE} | openssl rsautl \
+        -sign -pkcs -inkey ${TESTKEY_DIR}/key_rsa${keylen}.pem \
+        > ${TEST_FILE}.rsa${keylen}_${hashalgo}.sig
+      let algorithmcounter=algorithmcounter+1
+    done
+  done
+}
+
+# Generate a file with random bytes for signature tests.
+function generate_test_file {
+  echo "Generating test file..."
+  if [ -f "${TEST_FILE}" ]; then
+    echo "(skipping, file already exists)"
+    return
+  fi
+  dd if=/dev/urandom of=${TEST_FILE} bs=${TEST_FILE_SIZE} count=1
+}
+
+mkdir -p ${TESTCASE_DIR}
+check_test_keys
+generate_test_file
+generate_test_signatures
diff --git a/tests/gen_test_keys.sh b/tests/gen_test_keys.sh
new file mode 100755 (executable)
index 0000000..04315ac
--- /dev/null
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Generate test keys for use by the tests.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+set -e
+
+sha_types=( 1 256 512 )
+
+# Generate RSA test keys of various lengths.
+function generate_keys {
+  key_index=0
+  key_name_base="${TESTKEY_DIR}/key_rsa"
+  for i in ${key_lengths[@]}
+  do
+    key_base="${key_name_base}${i}"
+    if [ -f "${key_base}.keyb" ]; then
+      key_index=$((${key_index} + 1))
+      continue
+    fi
+
+    # Extract exponent from key_length name, if necessary
+    exp="F4"
+    bits=$i
+    if [ "${i##*_exp}" != "${i}" ]; then
+        exp="${i##*_exp}"
+        bits="${i%%_exp${exp}}"
+    fi
+
+    openssl genrsa -${exp} -out ${key_base}.pem ${bits}
+    # Generate self-signed certificate from key.
+    openssl req -batch -new -x509 -key ${key_base}.pem \
+      -out ${key_base}.crt
+
+    # Generate pre-processed key for use by RSA signature verification code.
+    ${BIN_DIR}/dumpRSAPublicKey -cert ${key_base}.crt \
+      > ${key_base}.keyb
+
+    alg_index=0
+    for sha_type in ${sha_types[@]}
+    do
+      alg=$((${key_index} * 3 + ${alg_index}))
+  # wrap the public key
+      ${FUTILITY} vbutil_key \
+        --pack "${key_base}.sha${sha_type}.vbpubk" \
+        --key "${key_base}.keyb" \
+        --version 1 \
+        --algorithm ${alg}
+
+  # wrap the private key
+      ${FUTILITY} vbutil_key \
+        --pack "${key_base}.sha${sha_type}.vbprivk" \
+        --key "${key_base}.pem" \
+        --algorithm ${alg}
+      alg_index=$((${alg_index} + 1))
+    done
+    key_index=$((${key_index} + 1))
+  done
+}
+
+mkdir -p ${TESTKEY_DIR}
+generate_keys
diff --git a/tests/gen_test_vbpubks.sh b/tests/gen_test_vbpubks.sh
new file mode 100755 (executable)
index 0000000..8ea2759
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Generate test vboot public keys and keyblocks for testing.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+function generate_vpubks {
+  algorithmcounter=0
+  for keylen in ${key_lengths[@]}
+  do
+    for hashalgo in ${hash_algos[@]}
+    do
+      ${FUTILITY} vbutil_key --pack \
+        --in ${TESTKEY_DIR}/key_rsa${keylen}.keyb \
+        --out ${TESTKEY_DIR}/key_rsa${keylen}.${hashalgo}.vbpubk \
+        --version 1 \
+        --algorithm ${algorithmcounter}
+      let algorithmcounter=algorithmcounter+1
+    done
+  done
+}
+
+check_test_keys
+generate_vpubks
diff --git a/tests/gpt_misc_tests.c b/tests/gpt_misc_tests.c
new file mode 100644 (file)
index 0000000..e0a8d56
--- /dev/null
@@ -0,0 +1,378 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for vboot_kernel.c
+ */
+
+#include "2api.h"
+#include "cgptlib.h"
+#include "cgptlib_internal.h"
+#include "gpt.h"
+#include "test_common.h"
+
+#define LOGCALL(fmt, args...) sprintf(call_log + strlen(call_log), fmt, ##args)
+#define TEST_CALLS(expect_log) TEST_STR_EQ(call_log, expect_log, "  calls")
+
+/* Assumes 512-byte disk sectors */
+#define MOCK_SECTOR_SIZE  512
+#define MOCK_SECTOR_COUNT 1024
+
+/* Mock kernel partition */
+struct mock_part {
+       uint32_t start;
+       uint32_t size;
+};
+
+/* Mock data */
+static char call_log[4096];
+static int disk_read_to_fail;
+static int disk_write_to_fail;
+
+static VbExDiskHandle_t handle;
+static uint8_t mock_disk[MOCK_SECTOR_SIZE * MOCK_SECTOR_COUNT];
+static GptHeader *mock_gpt_primary =
+       (GptHeader*)&mock_disk[MOCK_SECTOR_SIZE * 1];
+static GptHeader *mock_gpt_secondary =
+       (GptHeader*)&mock_disk[MOCK_SECTOR_SIZE * (MOCK_SECTOR_COUNT - 1)];
+
+/**
+ * Prepare a valid GPT header that will pass CheckHeader() tests
+ */
+static void SetupGptHeader(GptHeader *h, int is_secondary)
+{
+       memset(h, '\0', MOCK_SECTOR_SIZE);
+
+       /* "EFI PART" */
+       memcpy(h->signature, GPT_HEADER_SIGNATURE, GPT_HEADER_SIGNATURE_SIZE);
+       h->revision = GPT_HEADER_REVISION;
+       h->size = MIN_SIZE_OF_HEADER;
+
+       /* 16KB: 128 entries of 128 bytes */
+       h->size_of_entry = sizeof(GptEntry);
+       h->number_of_entries = MAX_NUMBER_OF_ENTRIES;
+
+       /* Set LBA pointers for primary or secondary header */
+       if (is_secondary) {
+               h->my_lba = MOCK_SECTOR_COUNT - GPT_HEADER_SECTORS;
+               h->entries_lba = h->my_lba - CalculateEntriesSectors(h,
+                                                       MOCK_SECTOR_SIZE);
+       } else {
+               h->my_lba = GPT_PMBR_SECTORS;
+               h->entries_lba = h->my_lba + 1;
+       }
+
+       h->first_usable_lba = 2 + CalculateEntriesSectors(h, MOCK_SECTOR_SIZE);
+       h->last_usable_lba = MOCK_SECTOR_COUNT - 2 - CalculateEntriesSectors(h,
+                                                               MOCK_SECTOR_SIZE);
+
+       h->header_crc32 = HeaderCrc(h);
+}
+
+static void ResetCallLog(void)
+{
+       *call_log = 0;
+}
+
+/**
+ * Reset mock data (for use before each test)
+ */
+static void ResetMocks(void)
+{
+       ResetCallLog();
+
+       memset(&mock_disk, 0, sizeof(mock_disk));
+       SetupGptHeader(mock_gpt_primary, 0);
+       SetupGptHeader(mock_gpt_secondary, 1);
+
+       disk_read_to_fail = -1;
+       disk_write_to_fail = -1;
+}
+
+/* Mocks */
+
+vb2_error_t VbExDiskRead(VbExDiskHandle_t h, uint64_t lba_start,
+                        uint64_t lba_count, void *buffer)
+{
+       LOGCALL("VbExDiskRead(h, %d, %d)\n", (int)lba_start, (int)lba_count);
+
+       if ((int)lba_start == disk_read_to_fail)
+               return VB2_ERROR_MOCK;
+
+       memcpy(buffer, &mock_disk[lba_start * MOCK_SECTOR_SIZE],
+              lba_count * MOCK_SECTOR_SIZE);
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t VbExDiskWrite(VbExDiskHandle_t h, uint64_t lba_start,
+                         uint64_t lba_count, const void *buffer)
+{
+       LOGCALL("VbExDiskWrite(h, %d, %d)\n", (int)lba_start, (int)lba_count);
+
+       if ((int)lba_start == disk_write_to_fail)
+               return VB2_ERROR_MOCK;
+
+       memcpy(&mock_disk[lba_start * MOCK_SECTOR_SIZE], buffer,
+              lba_count * MOCK_SECTOR_SIZE);
+
+       return VB2_SUCCESS;
+}
+
+/**
+ * Test reading/writing GPT
+ */
+static void ReadWriteGptTest(void)
+{
+       GptData g;
+       GptHeader *h;
+
+       g.sector_bytes = MOCK_SECTOR_SIZE;
+       g.streaming_drive_sectors = g.gpt_drive_sectors = MOCK_SECTOR_COUNT;
+       g.valid_headers = g.valid_entries = MASK_BOTH;
+
+       ResetMocks();
+       TEST_EQ(AllocAndReadGptData(handle, &g), 0, "AllocAndRead");
+       TEST_CALLS("VbExDiskRead(h, 1, 1)\n"
+                  "VbExDiskRead(h, 2, 32)\n"
+                  "VbExDiskRead(h, 1023, 1)\n"
+                  "VbExDiskRead(h, 991, 32)\n");
+       ResetCallLog();
+       /*
+        * Valgrind complains about access to uninitialized memory here, so
+        * zero the primary header before each test.
+        */
+       memset(g.primary_header, '\0', g.sector_bytes);
+       TEST_EQ(WriteAndFreeGptData(handle, &g), 0, "WriteAndFree");
+       TEST_CALLS("");
+
+       /*
+        * Invalidate primary GPT header,
+        * check that AllocAndReadGptData still succeeds
+        */
+       ResetMocks();
+       memset(mock_gpt_primary, '\0', sizeof(*mock_gpt_primary));
+       TEST_EQ(AllocAndReadGptData(handle, &g), 0,
+               "AllocAndRead primary invalid");
+       TEST_EQ(CheckHeader(mock_gpt_primary, 0, g.streaming_drive_sectors,
+               g.gpt_drive_sectors, 0, g.sector_bytes),
+               1, "Primary header is invalid");
+       TEST_EQ(CheckHeader(mock_gpt_secondary, 1, g.streaming_drive_sectors,
+               g.gpt_drive_sectors, 0, g.sector_bytes),
+               0, "Secondary header is valid");
+       TEST_CALLS("VbExDiskRead(h, 1, 1)\n"
+                  "VbExDiskRead(h, 1023, 1)\n"
+                  "VbExDiskRead(h, 991, 32)\n");
+       WriteAndFreeGptData(handle, &g);
+
+       /*
+        * Invalidate secondary GPT header,
+        * check that AllocAndReadGptData still succeeds
+        */
+       ResetMocks();
+       memset(mock_gpt_secondary, '\0', sizeof(*mock_gpt_secondary));
+       TEST_EQ(AllocAndReadGptData(handle, &g), 0,
+               "AllocAndRead secondary invalid");
+       TEST_EQ(CheckHeader(mock_gpt_primary, 0, g.streaming_drive_sectors,
+               g.gpt_drive_sectors, 0, g.sector_bytes),
+               0, "Primary header is valid");
+       TEST_EQ(CheckHeader(mock_gpt_secondary, 1, g.streaming_drive_sectors,
+               g.gpt_drive_sectors, 0, g.sector_bytes),
+               1, "Secondary header is invalid");
+       TEST_CALLS("VbExDiskRead(h, 1, 1)\n"
+                  "VbExDiskRead(h, 2, 32)\n"
+                  "VbExDiskRead(h, 1023, 1)\n");
+       WriteAndFreeGptData(handle, &g);
+
+       /*
+        * Invalidate primary AND secondary GPT header,
+        * check that AllocAndReadGptData fails.
+        */
+       ResetMocks();
+       memset(mock_gpt_primary, '\0', sizeof(*mock_gpt_primary));
+       memset(mock_gpt_secondary, '\0', sizeof(*mock_gpt_secondary));
+       TEST_EQ(AllocAndReadGptData(handle, &g), 1,
+               "AllocAndRead primary and secondary invalid");
+       TEST_EQ(CheckHeader(mock_gpt_primary, 0, g.streaming_drive_sectors,
+               g.gpt_drive_sectors, 0, g.sector_bytes),
+               1, "Primary header is invalid");
+       TEST_EQ(CheckHeader(mock_gpt_secondary, 1, g.streaming_drive_sectors,
+               g.gpt_drive_sectors, 0, g.sector_bytes),
+               1, "Secondary header is invalid");
+       TEST_CALLS("VbExDiskRead(h, 1, 1)\n"
+                  "VbExDiskRead(h, 1023, 1)\n");
+       WriteAndFreeGptData(handle, &g);
+
+       /*
+        * Invalidate primary GPT header and check that it is
+        * repaired by GptRepair().
+        *
+        * This would normally be called by LoadKernel()->GptInit()
+        * but this callback is mocked in these tests.
+        */
+       ResetMocks();
+       memset(mock_gpt_primary, '\0', sizeof(*mock_gpt_primary));
+       TEST_EQ(AllocAndReadGptData(handle, &g), 0,
+               "Fix Primary GPT: AllocAndRead");
+       /* Call GptRepair() with input indicating secondary GPT is valid */
+       g.valid_headers = g.valid_entries = MASK_SECONDARY;
+       GptRepair(&g);
+       TEST_EQ(WriteAndFreeGptData(handle, &g), 0,
+               "Fix Primary GPT: WriteAndFreeGptData");
+       TEST_CALLS("VbExDiskRead(h, 1, 1)\n"
+                  "VbExDiskRead(h, 1023, 1)\n"
+                  "VbExDiskRead(h, 991, 32)\n"
+                  "VbExDiskWrite(h, 1, 1)\n"
+                  "VbExDiskWrite(h, 2, 32)\n");
+       TEST_EQ(CheckHeader(mock_gpt_primary, 0, g.streaming_drive_sectors,
+               g.gpt_drive_sectors, 0, g.sector_bytes),
+               0, "Fix Primary GPT: Primary header is valid");
+
+       /*
+        * Invalidate secondary GPT header and check that it can be
+        * repaired by GptRepair().
+        *
+        * This would normally be called by LoadKernel()->GptInit()
+        * but this callback is mocked in these tests.
+        */
+       ResetMocks();
+       memset(mock_gpt_secondary, '\0', sizeof(*mock_gpt_secondary));
+       TEST_EQ(AllocAndReadGptData(handle, &g), 0,
+               "Fix Secondary GPT: AllocAndRead");
+       /* Call GptRepair() with input indicating primary GPT is valid */
+       g.valid_headers = g.valid_entries = MASK_PRIMARY;
+       GptRepair(&g);
+       TEST_EQ(WriteAndFreeGptData(handle, &g), 0,
+               "Fix Secondary GPT: WriteAndFreeGptData");
+       TEST_CALLS("VbExDiskRead(h, 1, 1)\n"
+                  "VbExDiskRead(h, 2, 32)\n"
+                  "VbExDiskRead(h, 1023, 1)\n"
+                  "VbExDiskWrite(h, 1023, 1)\n"
+                  "VbExDiskWrite(h, 991, 32)\n");
+       TEST_EQ(CheckHeader(mock_gpt_secondary, 1, g.streaming_drive_sectors,
+               g.gpt_drive_sectors, 0, g.sector_bytes),
+               0, "Fix Secondary GPT: Secondary header is valid");
+
+       /* Data which is changed is written */
+       ResetMocks();
+       AllocAndReadGptData(handle, &g);
+       g.modified |= GPT_MODIFIED_HEADER1 | GPT_MODIFIED_ENTRIES1;
+       ResetCallLog();
+       memset(g.primary_header, '\0', g.sector_bytes);
+       h = (GptHeader*)g.primary_header;
+       h->entries_lba = 2;
+       h->number_of_entries = MAX_NUMBER_OF_ENTRIES;
+       h->size_of_entry = sizeof(GptEntry);
+       TEST_EQ(WriteAndFreeGptData(handle, &g), 0, "WriteAndFree mod 1");
+       TEST_CALLS("VbExDiskWrite(h, 1, 1)\n"
+                  "VbExDiskWrite(h, 2, 32)\n");
+
+       /* Data which is changed is written */
+       ResetMocks();
+       AllocAndReadGptData(handle, &g);
+       g.modified = -1;
+       ResetCallLog();
+       memset(g.primary_header, '\0', g.sector_bytes);
+       h = (GptHeader*)g.primary_header;
+       h->entries_lba = 2;
+       h->number_of_entries = MAX_NUMBER_OF_ENTRIES;
+       h->size_of_entry = sizeof(GptEntry);
+       h = (GptHeader*)g.secondary_header;
+       h->entries_lba = 991;
+       TEST_EQ(WriteAndFreeGptData(handle, &g), 0, "WriteAndFree mod all");
+       TEST_CALLS("VbExDiskWrite(h, 1, 1)\n"
+                  "VbExDiskWrite(h, 2, 32)\n"
+                  "VbExDiskWrite(h, 1023, 1)\n"
+                  "VbExDiskWrite(h, 991, 32)\n");
+
+       /* If legacy signature, don't modify GPT header/entries 1 */
+       ResetMocks();
+       AllocAndReadGptData(handle, &g);
+       h = (GptHeader *)g.primary_header;
+       memcpy(h->signature, GPT_HEADER_SIGNATURE2, GPT_HEADER_SIGNATURE_SIZE);
+       g.modified = -1;
+       ResetCallLog();
+       TEST_EQ(WriteAndFreeGptData(handle, &g), 0, "WriteAndFree mod all");
+       TEST_CALLS("VbExDiskWrite(h, 1023, 1)\n"
+                  "VbExDiskWrite(h, 991, 32)\n");
+
+       /* Error reading */
+       ResetMocks();
+       disk_read_to_fail = 1;
+       TEST_EQ(AllocAndReadGptData(handle, &g), 0, "AllocAndRead disk fail");
+       g.valid_headers = g.valid_entries = MASK_SECONDARY;
+       GptRepair(&g);
+       ResetCallLog();
+       TEST_EQ(WriteAndFreeGptData(handle, &g), 0, "WriteAndFree mod 1");
+       TEST_CALLS("VbExDiskWrite(h, 1, 1)\n"
+                  "VbExDiskWrite(h, 2, 32)\n");
+
+       ResetMocks();
+       disk_read_to_fail = 2;
+       TEST_EQ(AllocAndReadGptData(handle, &g), 0, "AllocAndRead disk fail");
+       g.valid_headers = MASK_BOTH;
+       g.valid_entries = MASK_SECONDARY;
+       GptRepair(&g);
+       ResetCallLog();
+       TEST_EQ(WriteAndFreeGptData(handle, &g), 0, "WriteAndFree mod 1");
+       TEST_CALLS("VbExDiskWrite(h, 2, 32)\n");
+
+       ResetMocks();
+       disk_read_to_fail = 991;
+       TEST_EQ(AllocAndReadGptData(handle, &g), 0, "AllocAndRead disk fail");
+       g.valid_headers = MASK_BOTH;
+       g.valid_entries = MASK_PRIMARY;
+       GptRepair(&g);
+       ResetCallLog();
+       TEST_EQ(WriteAndFreeGptData(handle, &g), 0, "WriteAndFree mod 2");
+       TEST_CALLS("VbExDiskWrite(h, 991, 32)\n");
+
+       ResetMocks();
+       disk_read_to_fail = 1023;
+       TEST_EQ(AllocAndReadGptData(handle, &g), 0, "AllocAndRead disk fail");
+       g.valid_headers = g.valid_entries = MASK_PRIMARY;
+       GptRepair(&g);
+       ResetCallLog();
+       TEST_EQ(WriteAndFreeGptData(handle, &g), 0, "WriteAndFree mod 2");
+       TEST_CALLS("VbExDiskWrite(h, 1023, 1)\n"
+                  "VbExDiskWrite(h, 991, 32)\n");
+
+       /* Error writing */
+       ResetMocks();
+       disk_write_to_fail = 1;
+       AllocAndReadGptData(handle, &g);
+       g.modified = -1;
+       memset(g.primary_header, '\0', g.sector_bytes);
+       TEST_NEQ(WriteAndFreeGptData(handle, &g), 0, "WriteAndFree disk fail");
+
+       ResetMocks();
+       disk_write_to_fail = 2;
+       AllocAndReadGptData(handle, &g);
+       g.modified = -1;
+       memset(g.primary_header, '\0', g.sector_bytes);
+       h = (GptHeader*)g.primary_header;
+       h->entries_lba = 2;
+       TEST_NEQ(WriteAndFreeGptData(handle, &g), 0, "WriteAndFree disk fail");
+
+       ResetMocks();
+       disk_write_to_fail = 991;
+       AllocAndReadGptData(handle, &g);
+       g.modified = -1;
+       memset(g.primary_header, '\0', g.sector_bytes);
+       TEST_NEQ(WriteAndFreeGptData(handle, &g), 0, "WriteAndFree disk fail");
+
+       ResetMocks();
+       disk_write_to_fail = 1023;
+       AllocAndReadGptData(handle, &g);
+       g.modified = -1;
+       memset(g.primary_header, '\0', g.sector_bytes);
+       TEST_NEQ(WriteAndFreeGptData(handle, &g), 0, "WriteAndFree disk fail");
+
+}
+
+int main(void)
+{
+       ReadWriteGptTest();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/hmac_test.c b/tests/hmac_test.c
new file mode 100644 (file)
index 0000000..ed77d7b
--- /dev/null
@@ -0,0 +1,105 @@
+/* Copyright 2016 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <stdint.h>
+#include <string.h>
+#include <stdio.h>
+#include <openssl/hmac.h>
+
+#include "2sha.h"
+#include "2hmac.h"
+#include "test_common.h"
+
+const char short_key[] = "key";
+const char message[] = "The quick brown fox jumps over the lazy dog";
+/* This is supposed to be longer than the supported block sizes */
+const char long_key[] =
+       "loooooooooooooooooooooooooooooooooooooooooooonooooooooooooooooooo"
+       "ooooooooooooooooooooooooooooooooooooooooooooonooooooooooooog key";
+
+static void test_hmac_by_openssl(enum vb2_hash_algorithm alg,
+                                const void *key, uint32_t key_size,
+                                const void *msg, uint32_t msg_size)
+{
+       uint8_t mac[VB2_MAX_DIGEST_SIZE];
+       uint32_t mac_size = sizeof(mac);
+       uint8_t md[VB2_MAX_DIGEST_SIZE];
+       uint32_t md_size = sizeof(md);
+       char test_name[256];
+
+       switch (alg) {
+       case VB2_HASH_SHA1:
+               HMAC(EVP_sha1(), key, key_size, msg, msg_size, md, &md_size);
+               break;
+       case VB2_HASH_SHA224:
+               HMAC(EVP_sha224(), key, key_size, msg, msg_size, md, &md_size);
+               break;
+       case VB2_HASH_SHA256:
+               HMAC(EVP_sha256(), key, key_size, msg, msg_size, md, &md_size);
+               break;
+       case VB2_HASH_SHA384:
+               HMAC(EVP_sha384(), key, key_size, msg, msg_size, md, &md_size);
+               break;
+       case VB2_HASH_SHA512:
+               HMAC(EVP_sha512(), key, key_size, msg, msg_size, md, &md_size);
+               break;
+       default:
+               TEST_SUCC(-1, "Unsupported hash algorithm");
+       }
+       sprintf(test_name, "%s: HMAC-%s (key_size=%d)",
+               __func__, vb2_get_hash_algorithm_name(alg), key_size);
+       TEST_EQ(vb2_digest_size(alg), md_size, "HMAC size");
+       TEST_SUCC(hmac(alg, key, key_size, msg, msg_size, mac, mac_size),
+                 test_name);
+       TEST_SUCC(memcmp(mac, md, md_size), "HMAC digests match");
+}
+
+static void test_hmac_error(void)
+{
+       uint8_t mac[VB2_MAX_DIGEST_SIZE];
+       enum vb2_hash_algorithm alg;
+
+       alg = VB2_HASH_SHA1;
+       TEST_TRUE(hmac(alg, NULL, 0,
+                      message, strlen(message), mac, sizeof(mac)),
+                 "key = NULL");
+       TEST_TRUE(hmac(alg, short_key, strlen(short_key),
+                      NULL, 0, mac, sizeof(mac)),
+                 "msg = NULL");
+       TEST_TRUE(hmac(alg, short_key, strlen(short_key),
+                      message, strlen(message), NULL, 0),
+                 "mac = NULL");
+       TEST_TRUE(hmac(alg, short_key, strlen(short_key),
+                      message, strlen(message), mac, 0),
+                 "Buffer too small");
+       alg = -1;
+       TEST_TRUE(hmac(alg, short_key, strlen(short_key),
+                      message, strlen(message), mac, sizeof(mac)),
+                 "Invalid algorithm");
+}
+
+static void test_hmac(void)
+{
+       int alg;
+
+       for (alg = 1; alg < VB2_HASH_ALG_COUNT; alg++) {
+               /* Try short key */
+               test_hmac_by_openssl(alg, short_key, strlen(short_key),
+                                    message, strlen(message));
+               /* Try key longer than a block size */
+               test_hmac_by_openssl(alg, long_key, strlen(long_key),
+                                    message, strlen(message));
+               /* Try empty key and message */
+               test_hmac_by_openssl(alg, "", 0, "", 0);
+       }
+}
+
+int main(void)
+{
+       test_hmac();
+       test_hmac_error();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/load_kernel_tests.sh b/tests/load_kernel_tests.sh
new file mode 100755 (executable)
index 0000000..45eedf4
--- /dev/null
@@ -0,0 +1,75 @@
+#!/bin/bash
+
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# End-to-end test for vboot2 kernel verification
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+set -e
+
+CGPT=${BIN_DIR}/cgpt
+
+echo 'Creating test kernel'
+
+# Run tests in a dedicated directory for easy cleanup or debugging.
+DIR="${TEST_DIR}/load_kernel_test_dir"
+[ -d "$DIR" ] || mkdir -p "$DIR"
+echo "Testing kernel verification in $DIR"
+cd "$DIR"
+
+# Dummy kernel data
+echo "hi there" > "dummy_config.txt"
+dd if=/dev/urandom bs=16384 count=1 of="dummy_bootloader.bin"
+dd if=/dev/urandom bs=32768 count=1 of="dummy_kernel.bin"
+
+# Pack kernel data key using original vboot utilities.
+${FUTILITY} vbutil_key --pack datakey.test \
+    --key ${TESTKEY_DIR}/key_rsa2048.keyb --algorithm 4
+
+# Keyblock with kernel data key is signed by kernel subkey
+# Flags=21 means dev=0 rec=0 minios=0
+${FUTILITY} vbutil_keyblock --pack keyblock.test \
+    --datapubkey datakey.test \
+    --flags 21 \
+    --signprivate ${SCRIPT_DIR}/devkeys/kernel_subkey.vbprivk
+
+# Kernel preamble is signed with the kernel data key
+${FUTILITY} vbutil_kernel \
+    --pack "kernel.test" \
+    --keyblock "keyblock.test" \
+    --signprivate ${TESTKEY_DIR}/key_rsa2048.sha256.vbprivk \
+    --version 1 \
+    --arch arm \
+    --vmlinuz "dummy_kernel.bin" \
+    --bootloader "dummy_bootloader.bin" \
+    --config "dummy_config.txt"
+
+echo 'Verifying test kernel'
+
+# Verify the kernel
+${FUTILITY} vbutil_kernel \
+    --verify "kernel.test" \
+    --signpubkey ${SCRIPT_DIR}/devkeys/kernel_subkey.vbpubk
+
+happy 'Kernel verification succeeded'
+
+# Now create a dummy disk image
+echo 'Creating test disk image'
+dd if=/dev/zero of=disk.test bs=1024 count=1024
+${CGPT} create disk.test
+${CGPT} add -i 1 -S 1 -P 1 -b 64 -s 960 -t kernel -l kernelA disk.test
+${CGPT} show disk.test
+
+# And insert the kernel into it
+dd if=kernel.test of=disk.test bs=512 seek=64 conv=notrunc
+
+# And verify it using futility
+echo 'Verifying test disk image'
+${BUILD_RUN}/tests/verify_kernel disk.test \
+    ${SCRIPT_DIR}/devkeys/kernel_subkey.vbpubk
+
+happy 'Image verification succeeded'
diff --git a/tests/loemkeys/README b/tests/loemkeys/README
new file mode 100644 (file)
index 0000000..58b3bc8
--- /dev/null
@@ -0,0 +1 @@
+These are devkeys, but with filename tweaks for testing loem keysets.
diff --git a/tests/loemkeys/firmware.loem1.keyblock b/tests/loemkeys/firmware.loem1.keyblock
new file mode 120000 (symlink)
index 0000000..0d6087d
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/firmware.keyblock
\ No newline at end of file
diff --git a/tests/loemkeys/firmware.loem2.keyblock b/tests/loemkeys/firmware.loem2.keyblock
new file mode 120000 (symlink)
index 0000000..0d6087d
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/firmware.keyblock
\ No newline at end of file
diff --git a/tests/loemkeys/firmware.loem3.keyblock b/tests/loemkeys/firmware.loem3.keyblock
new file mode 120000 (symlink)
index 0000000..0d6087d
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/firmware.keyblock
\ No newline at end of file
diff --git a/tests/loemkeys/firmware.loem4.keyblock b/tests/loemkeys/firmware.loem4.keyblock
new file mode 120000 (symlink)
index 0000000..0d6087d
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/firmware.keyblock
\ No newline at end of file
diff --git a/tests/loemkeys/firmware_data_key.loem1.vbprivk b/tests/loemkeys/firmware_data_key.loem1.vbprivk
new file mode 120000 (symlink)
index 0000000..d361c31
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/firmware_data_key.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/firmware_data_key.loem1.vbpubk b/tests/loemkeys/firmware_data_key.loem1.vbpubk
new file mode 120000 (symlink)
index 0000000..013e040
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/firmware_data_key.vbpubk
\ No newline at end of file
diff --git a/tests/loemkeys/firmware_data_key.loem2.vbprivk b/tests/loemkeys/firmware_data_key.loem2.vbprivk
new file mode 120000 (symlink)
index 0000000..d361c31
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/firmware_data_key.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/firmware_data_key.loem2.vbpubk b/tests/loemkeys/firmware_data_key.loem2.vbpubk
new file mode 120000 (symlink)
index 0000000..013e040
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/firmware_data_key.vbpubk
\ No newline at end of file
diff --git a/tests/loemkeys/firmware_data_key.loem3.vbprivk b/tests/loemkeys/firmware_data_key.loem3.vbprivk
new file mode 120000 (symlink)
index 0000000..d361c31
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/firmware_data_key.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/firmware_data_key.loem3.vbpubk b/tests/loemkeys/firmware_data_key.loem3.vbpubk
new file mode 120000 (symlink)
index 0000000..013e040
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/firmware_data_key.vbpubk
\ No newline at end of file
diff --git a/tests/loemkeys/firmware_data_key.loem4.vbprivk b/tests/loemkeys/firmware_data_key.loem4.vbprivk
new file mode 120000 (symlink)
index 0000000..d361c31
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/firmware_data_key.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/firmware_data_key.loem4.vbpubk b/tests/loemkeys/firmware_data_key.loem4.vbpubk
new file mode 120000 (symlink)
index 0000000..013e040
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/firmware_data_key.vbpubk
\ No newline at end of file
diff --git a/tests/loemkeys/installer_kernel.keyblock b/tests/loemkeys/installer_kernel.keyblock
new file mode 120000 (symlink)
index 0000000..32e5e92
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/installer_kernel.keyblock
\ No newline at end of file
diff --git a/tests/loemkeys/installer_kernel_data_key.vbprivk b/tests/loemkeys/installer_kernel_data_key.vbprivk
new file mode 120000 (symlink)
index 0000000..3581b5e
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/installer_kernel_data_key.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/installer_kernel_data_key.vbpubk b/tests/loemkeys/installer_kernel_data_key.vbpubk
new file mode 120000 (symlink)
index 0000000..2b68412
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/installer_kernel_data_key.vbpubk
\ No newline at end of file
diff --git a/tests/loemkeys/kernel.keyblock b/tests/loemkeys/kernel.keyblock
new file mode 120000 (symlink)
index 0000000..27352c7
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/kernel.keyblock
\ No newline at end of file
diff --git a/tests/loemkeys/kernel_data_key.vbprivk b/tests/loemkeys/kernel_data_key.vbprivk
new file mode 120000 (symlink)
index 0000000..39a35a7
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/kernel_data_key.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/kernel_data_key.vbpubk b/tests/loemkeys/kernel_data_key.vbpubk
new file mode 120000 (symlink)
index 0000000..1986526
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/kernel_data_key.vbpubk
\ No newline at end of file
diff --git a/tests/loemkeys/kernel_subkey.vbprivk b/tests/loemkeys/kernel_subkey.vbprivk
new file mode 120000 (symlink)
index 0000000..5fa82c8
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/kernel_subkey.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/kernel_subkey.vbpubk b/tests/loemkeys/kernel_subkey.vbpubk
new file mode 120000 (symlink)
index 0000000..b0cf2f1
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/kernel_subkey.vbpubk
\ No newline at end of file
diff --git a/tests/loemkeys/key.versions b/tests/loemkeys/key.versions
new file mode 100644 (file)
index 0000000..4ea1a01
--- /dev/null
@@ -0,0 +1,5 @@
+name=loemkeys-premp
+firmware_key_version=1
+firmware_version=1
+kernel_key_version=1
+kernel_version=1
diff --git a/tests/loemkeys/loem.ini b/tests/loemkeys/loem.ini
new file mode 100644 (file)
index 0000000..8501f0c
--- /dev/null
@@ -0,0 +1,3 @@
+[loem]
+1 = ACME
+2 = SHINRA
diff --git a/tests/loemkeys/recovery_kernel.keyblock b/tests/loemkeys/recovery_kernel.keyblock
new file mode 120000 (symlink)
index 0000000..ad3fd6e
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/recovery_kernel.keyblock
\ No newline at end of file
diff --git a/tests/loemkeys/recovery_kernel_data_key.vbprivk b/tests/loemkeys/recovery_kernel_data_key.vbprivk
new file mode 120000 (symlink)
index 0000000..b47a51b
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/recovery_kernel_data_key.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/recovery_kernel_data_key.vbpubk b/tests/loemkeys/recovery_kernel_data_key.vbpubk
new file mode 120000 (symlink)
index 0000000..395583b
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/recovery_kernel_data_key.vbpubk
\ No newline at end of file
diff --git a/tests/loemkeys/recovery_key.vbprivk b/tests/loemkeys/recovery_key.vbprivk
new file mode 120000 (symlink)
index 0000000..9a7733b
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/recovery_key.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/recovery_key.vbpubk b/tests/loemkeys/recovery_key.vbpubk
new file mode 120000 (symlink)
index 0000000..1ea4a98
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/recovery_key.vbpubk
\ No newline at end of file
diff --git a/tests/loemkeys/root_key.loem1.vbprivk b/tests/loemkeys/root_key.loem1.vbprivk
new file mode 120000 (symlink)
index 0000000..d032898
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/root_key.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/root_key.loem1.vbpubk b/tests/loemkeys/root_key.loem1.vbpubk
new file mode 120000 (symlink)
index 0000000..7a61f84
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/root_key.vbpubk
\ No newline at end of file
diff --git a/tests/loemkeys/root_key.loem2.vbprivk b/tests/loemkeys/root_key.loem2.vbprivk
new file mode 120000 (symlink)
index 0000000..d032898
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/root_key.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/root_key.loem2.vbpubk b/tests/loemkeys/root_key.loem2.vbpubk
new file mode 120000 (symlink)
index 0000000..7a61f84
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/root_key.vbpubk
\ No newline at end of file
diff --git a/tests/loemkeys/root_key.loem3.vbprivk b/tests/loemkeys/root_key.loem3.vbprivk
new file mode 120000 (symlink)
index 0000000..d032898
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/root_key.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/root_key.loem3.vbpubk b/tests/loemkeys/root_key.loem3.vbpubk
new file mode 120000 (symlink)
index 0000000..7a61f84
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/root_key.vbpubk
\ No newline at end of file
diff --git a/tests/loemkeys/root_key.loem4.vbprivk b/tests/loemkeys/root_key.loem4.vbprivk
new file mode 120000 (symlink)
index 0000000..d032898
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/root_key.vbprivk
\ No newline at end of file
diff --git a/tests/loemkeys/root_key.loem4.vbpubk b/tests/loemkeys/root_key.loem4.vbpubk
new file mode 120000 (symlink)
index 0000000..7a61f84
--- /dev/null
@@ -0,0 +1 @@
+../devkeys/root_key.vbpubk
\ No newline at end of file
diff --git a/tests/preamble_tests/data/FWDATA b/tests/preamble_tests/data/FWDATA
new file mode 100644 (file)
index 0000000..a1c06b4
Binary files /dev/null and b/tests/preamble_tests/data/FWDATA differ
diff --git a/tests/preamble_tests/data/KERNDATA b/tests/preamble_tests/data/KERNDATA
new file mode 100644 (file)
index 0000000..7611897
Binary files /dev/null and b/tests/preamble_tests/data/KERNDATA differ
diff --git a/tests/preamble_tests/data/data_0.vbprivk b/tests/preamble_tests/data/data_0.vbprivk
new file mode 100644 (file)
index 0000000..e8b068c
Binary files /dev/null and b/tests/preamble_tests/data/data_0.vbprivk differ
diff --git a/tests/preamble_tests/data/data_0.vbpubk b/tests/preamble_tests/data/data_0.vbpubk
new file mode 100644 (file)
index 0000000..0074637
Binary files /dev/null and b/tests/preamble_tests/data/data_0.vbpubk differ
diff --git a/tests/preamble_tests/data/data_1.vbprivk b/tests/preamble_tests/data/data_1.vbprivk
new file mode 100644 (file)
index 0000000..759113d
Binary files /dev/null and b/tests/preamble_tests/data/data_1.vbprivk differ
diff --git a/tests/preamble_tests/data/data_1.vbpubk b/tests/preamble_tests/data/data_1.vbpubk
new file mode 100644 (file)
index 0000000..7e2d299
Binary files /dev/null and b/tests/preamble_tests/data/data_1.vbpubk differ
diff --git a/tests/preamble_tests/data/data_10.vbprivk b/tests/preamble_tests/data/data_10.vbprivk
new file mode 100644 (file)
index 0000000..59afeff
Binary files /dev/null and b/tests/preamble_tests/data/data_10.vbprivk differ
diff --git a/tests/preamble_tests/data/data_10.vbpubk b/tests/preamble_tests/data/data_10.vbpubk
new file mode 100644 (file)
index 0000000..7dfc596
Binary files /dev/null and b/tests/preamble_tests/data/data_10.vbpubk differ
diff --git a/tests/preamble_tests/data/data_11.vbprivk b/tests/preamble_tests/data/data_11.vbprivk
new file mode 100644 (file)
index 0000000..d12fe72
Binary files /dev/null and b/tests/preamble_tests/data/data_11.vbprivk differ
diff --git a/tests/preamble_tests/data/data_11.vbpubk b/tests/preamble_tests/data/data_11.vbpubk
new file mode 100644 (file)
index 0000000..f258b25
Binary files /dev/null and b/tests/preamble_tests/data/data_11.vbpubk differ
diff --git a/tests/preamble_tests/data/data_2.vbprivk b/tests/preamble_tests/data/data_2.vbprivk
new file mode 100644 (file)
index 0000000..9e05e3b
Binary files /dev/null and b/tests/preamble_tests/data/data_2.vbprivk differ
diff --git a/tests/preamble_tests/data/data_2.vbpubk b/tests/preamble_tests/data/data_2.vbpubk
new file mode 100644 (file)
index 0000000..8a2ca31
Binary files /dev/null and b/tests/preamble_tests/data/data_2.vbpubk differ
diff --git a/tests/preamble_tests/data/data_3.vbprivk b/tests/preamble_tests/data/data_3.vbprivk
new file mode 100644 (file)
index 0000000..74828be
Binary files /dev/null and b/tests/preamble_tests/data/data_3.vbprivk differ
diff --git a/tests/preamble_tests/data/data_3.vbpubk b/tests/preamble_tests/data/data_3.vbpubk
new file mode 100644 (file)
index 0000000..d71da88
Binary files /dev/null and b/tests/preamble_tests/data/data_3.vbpubk differ
diff --git a/tests/preamble_tests/data/data_4.vbprivk b/tests/preamble_tests/data/data_4.vbprivk
new file mode 100644 (file)
index 0000000..b7ffe39
Binary files /dev/null and b/tests/preamble_tests/data/data_4.vbprivk differ
diff --git a/tests/preamble_tests/data/data_4.vbpubk b/tests/preamble_tests/data/data_4.vbpubk
new file mode 100644 (file)
index 0000000..4ae776d
Binary files /dev/null and b/tests/preamble_tests/data/data_4.vbpubk differ
diff --git a/tests/preamble_tests/data/data_5.vbprivk b/tests/preamble_tests/data/data_5.vbprivk
new file mode 100644 (file)
index 0000000..2387696
Binary files /dev/null and b/tests/preamble_tests/data/data_5.vbprivk differ
diff --git a/tests/preamble_tests/data/data_5.vbpubk b/tests/preamble_tests/data/data_5.vbpubk
new file mode 100644 (file)
index 0000000..7d4e17e
Binary files /dev/null and b/tests/preamble_tests/data/data_5.vbpubk differ
diff --git a/tests/preamble_tests/data/data_6.vbprivk b/tests/preamble_tests/data/data_6.vbprivk
new file mode 100644 (file)
index 0000000..9861ee3
Binary files /dev/null and b/tests/preamble_tests/data/data_6.vbprivk differ
diff --git a/tests/preamble_tests/data/data_6.vbpubk b/tests/preamble_tests/data/data_6.vbpubk
new file mode 100644 (file)
index 0000000..d3e6288
Binary files /dev/null and b/tests/preamble_tests/data/data_6.vbpubk differ
diff --git a/tests/preamble_tests/data/data_7.vbprivk b/tests/preamble_tests/data/data_7.vbprivk
new file mode 100644 (file)
index 0000000..53ebf51
Binary files /dev/null and b/tests/preamble_tests/data/data_7.vbprivk differ
diff --git a/tests/preamble_tests/data/data_7.vbpubk b/tests/preamble_tests/data/data_7.vbpubk
new file mode 100644 (file)
index 0000000..736a0c3
Binary files /dev/null and b/tests/preamble_tests/data/data_7.vbpubk differ
diff --git a/tests/preamble_tests/data/data_8.vbprivk b/tests/preamble_tests/data/data_8.vbprivk
new file mode 100644 (file)
index 0000000..82aec31
Binary files /dev/null and b/tests/preamble_tests/data/data_8.vbprivk differ
diff --git a/tests/preamble_tests/data/data_8.vbpubk b/tests/preamble_tests/data/data_8.vbpubk
new file mode 100644 (file)
index 0000000..cd68c16
Binary files /dev/null and b/tests/preamble_tests/data/data_8.vbpubk differ
diff --git a/tests/preamble_tests/data/data_9.vbprivk b/tests/preamble_tests/data/data_9.vbprivk
new file mode 100644 (file)
index 0000000..f798f92
Binary files /dev/null and b/tests/preamble_tests/data/data_9.vbprivk differ
diff --git a/tests/preamble_tests/data/data_9.vbpubk b/tests/preamble_tests/data/data_9.vbpubk
new file mode 100644 (file)
index 0000000..3d46a2c
Binary files /dev/null and b/tests/preamble_tests/data/data_9.vbpubk differ
diff --git a/tests/preamble_tests/data/dummy_0.vbprivk b/tests/preamble_tests/data/dummy_0.vbprivk
new file mode 100644 (file)
index 0000000..f0d0861
Binary files /dev/null and b/tests/preamble_tests/data/dummy_0.vbprivk differ
diff --git a/tests/preamble_tests/data/dummy_0.vbpubk b/tests/preamble_tests/data/dummy_0.vbpubk
new file mode 100644 (file)
index 0000000..b0782e3
Binary files /dev/null and b/tests/preamble_tests/data/dummy_0.vbpubk differ
diff --git a/tests/preamble_tests/data/dummy_bootloader.bin b/tests/preamble_tests/data/dummy_bootloader.bin
new file mode 100644 (file)
index 0000000..094e86b
Binary files /dev/null and b/tests/preamble_tests/data/dummy_bootloader.bin differ
diff --git a/tests/preamble_tests/data/dummy_config.txt b/tests/preamble_tests/data/dummy_config.txt
new file mode 100644 (file)
index 0000000..37d4e6c
--- /dev/null
@@ -0,0 +1 @@
+hi there
diff --git a/tests/preamble_tests/data/kb_0_0.keyblock b/tests/preamble_tests/data/kb_0_0.keyblock
new file mode 100644 (file)
index 0000000..e764076
Binary files /dev/null and b/tests/preamble_tests/data/kb_0_0.keyblock differ
diff --git a/tests/preamble_tests/data/kb_0_1.keyblock b/tests/preamble_tests/data/kb_0_1.keyblock
new file mode 100644 (file)
index 0000000..84a11a0
Binary files /dev/null and b/tests/preamble_tests/data/kb_0_1.keyblock differ
diff --git a/tests/preamble_tests/data/kb_0_10.keyblock b/tests/preamble_tests/data/kb_0_10.keyblock
new file mode 100644 (file)
index 0000000..46781f9
Binary files /dev/null and b/tests/preamble_tests/data/kb_0_10.keyblock differ
diff --git a/tests/preamble_tests/data/kb_0_11.keyblock b/tests/preamble_tests/data/kb_0_11.keyblock
new file mode 100644 (file)
index 0000000..046e4df
Binary files /dev/null and b/tests/preamble_tests/data/kb_0_11.keyblock differ
diff --git a/tests/preamble_tests/data/kb_0_2.keyblock b/tests/preamble_tests/data/kb_0_2.keyblock
new file mode 100644 (file)
index 0000000..4c5e890
Binary files /dev/null and b/tests/preamble_tests/data/kb_0_2.keyblock differ
diff --git a/tests/preamble_tests/data/kb_0_3.keyblock b/tests/preamble_tests/data/kb_0_3.keyblock
new file mode 100644 (file)
index 0000000..50ba145
Binary files /dev/null and b/tests/preamble_tests/data/kb_0_3.keyblock differ
diff --git a/tests/preamble_tests/data/kb_0_4.keyblock b/tests/preamble_tests/data/kb_0_4.keyblock
new file mode 100644 (file)
index 0000000..3444fbb
Binary files /dev/null and b/tests/preamble_tests/data/kb_0_4.keyblock differ
diff --git a/tests/preamble_tests/data/kb_0_5.keyblock b/tests/preamble_tests/data/kb_0_5.keyblock
new file mode 100644 (file)
index 0000000..4cb0308
Binary files /dev/null and b/tests/preamble_tests/data/kb_0_5.keyblock differ
diff --git a/tests/preamble_tests/data/kb_0_6.keyblock b/tests/preamble_tests/data/kb_0_6.keyblock
new file mode 100644 (file)
index 0000000..91604b6
Binary files /dev/null and b/tests/preamble_tests/data/kb_0_6.keyblock differ
diff --git a/tests/preamble_tests/data/kb_0_7.keyblock b/tests/preamble_tests/data/kb_0_7.keyblock
new file mode 100644 (file)
index 0000000..4da9b8f
Binary files /dev/null and b/tests/preamble_tests/data/kb_0_7.keyblock differ
diff --git a/tests/preamble_tests/data/kb_0_8.keyblock b/tests/preamble_tests/data/kb_0_8.keyblock
new file mode 100644 (file)
index 0000000..ca788d6
Binary files /dev/null and b/tests/preamble_tests/data/kb_0_8.keyblock differ
diff --git a/tests/preamble_tests/data/kb_0_9.keyblock b/tests/preamble_tests/data/kb_0_9.keyblock
new file mode 100644 (file)
index 0000000..e0b6504
Binary files /dev/null and b/tests/preamble_tests/data/kb_0_9.keyblock differ
diff --git a/tests/preamble_tests/data/kb_10_0.keyblock b/tests/preamble_tests/data/kb_10_0.keyblock
new file mode 100644 (file)
index 0000000..6592b5c
Binary files /dev/null and b/tests/preamble_tests/data/kb_10_0.keyblock differ
diff --git a/tests/preamble_tests/data/kb_10_1.keyblock b/tests/preamble_tests/data/kb_10_1.keyblock
new file mode 100644 (file)
index 0000000..682dbd6
Binary files /dev/null and b/tests/preamble_tests/data/kb_10_1.keyblock differ
diff --git a/tests/preamble_tests/data/kb_10_10.keyblock b/tests/preamble_tests/data/kb_10_10.keyblock
new file mode 100644 (file)
index 0000000..039229c
Binary files /dev/null and b/tests/preamble_tests/data/kb_10_10.keyblock differ
diff --git a/tests/preamble_tests/data/kb_10_11.keyblock b/tests/preamble_tests/data/kb_10_11.keyblock
new file mode 100644 (file)
index 0000000..43a3c7c
Binary files /dev/null and b/tests/preamble_tests/data/kb_10_11.keyblock differ
diff --git a/tests/preamble_tests/data/kb_10_2.keyblock b/tests/preamble_tests/data/kb_10_2.keyblock
new file mode 100644 (file)
index 0000000..7a6da84
Binary files /dev/null and b/tests/preamble_tests/data/kb_10_2.keyblock differ
diff --git a/tests/preamble_tests/data/kb_10_3.keyblock b/tests/preamble_tests/data/kb_10_3.keyblock
new file mode 100644 (file)
index 0000000..d1b6062
Binary files /dev/null and b/tests/preamble_tests/data/kb_10_3.keyblock differ
diff --git a/tests/preamble_tests/data/kb_10_4.keyblock b/tests/preamble_tests/data/kb_10_4.keyblock
new file mode 100644 (file)
index 0000000..84d9b87
Binary files /dev/null and b/tests/preamble_tests/data/kb_10_4.keyblock differ
diff --git a/tests/preamble_tests/data/kb_10_5.keyblock b/tests/preamble_tests/data/kb_10_5.keyblock
new file mode 100644 (file)
index 0000000..3bd4527
Binary files /dev/null and b/tests/preamble_tests/data/kb_10_5.keyblock differ
diff --git a/tests/preamble_tests/data/kb_10_6.keyblock b/tests/preamble_tests/data/kb_10_6.keyblock
new file mode 100644 (file)
index 0000000..64219d2
Binary files /dev/null and b/tests/preamble_tests/data/kb_10_6.keyblock differ
diff --git a/tests/preamble_tests/data/kb_10_7.keyblock b/tests/preamble_tests/data/kb_10_7.keyblock
new file mode 100644 (file)
index 0000000..c590be2
Binary files /dev/null and b/tests/preamble_tests/data/kb_10_7.keyblock differ
diff --git a/tests/preamble_tests/data/kb_10_8.keyblock b/tests/preamble_tests/data/kb_10_8.keyblock
new file mode 100644 (file)
index 0000000..0fa0493
Binary files /dev/null and b/tests/preamble_tests/data/kb_10_8.keyblock differ
diff --git a/tests/preamble_tests/data/kb_10_9.keyblock b/tests/preamble_tests/data/kb_10_9.keyblock
new file mode 100644 (file)
index 0000000..1307428
Binary files /dev/null and b/tests/preamble_tests/data/kb_10_9.keyblock differ
diff --git a/tests/preamble_tests/data/kb_11_0.keyblock b/tests/preamble_tests/data/kb_11_0.keyblock
new file mode 100644 (file)
index 0000000..110407c
Binary files /dev/null and b/tests/preamble_tests/data/kb_11_0.keyblock differ
diff --git a/tests/preamble_tests/data/kb_11_1.keyblock b/tests/preamble_tests/data/kb_11_1.keyblock
new file mode 100644 (file)
index 0000000..c1ce372
Binary files /dev/null and b/tests/preamble_tests/data/kb_11_1.keyblock differ
diff --git a/tests/preamble_tests/data/kb_11_10.keyblock b/tests/preamble_tests/data/kb_11_10.keyblock
new file mode 100644 (file)
index 0000000..72fd668
Binary files /dev/null and b/tests/preamble_tests/data/kb_11_10.keyblock differ
diff --git a/tests/preamble_tests/data/kb_11_11.keyblock b/tests/preamble_tests/data/kb_11_11.keyblock
new file mode 100644 (file)
index 0000000..da2af5d
Binary files /dev/null and b/tests/preamble_tests/data/kb_11_11.keyblock differ
diff --git a/tests/preamble_tests/data/kb_11_2.keyblock b/tests/preamble_tests/data/kb_11_2.keyblock
new file mode 100644 (file)
index 0000000..cf264d8
Binary files /dev/null and b/tests/preamble_tests/data/kb_11_2.keyblock differ
diff --git a/tests/preamble_tests/data/kb_11_3.keyblock b/tests/preamble_tests/data/kb_11_3.keyblock
new file mode 100644 (file)
index 0000000..2b4362d
Binary files /dev/null and b/tests/preamble_tests/data/kb_11_3.keyblock differ
diff --git a/tests/preamble_tests/data/kb_11_4.keyblock b/tests/preamble_tests/data/kb_11_4.keyblock
new file mode 100644 (file)
index 0000000..222eb49
Binary files /dev/null and b/tests/preamble_tests/data/kb_11_4.keyblock differ
diff --git a/tests/preamble_tests/data/kb_11_5.keyblock b/tests/preamble_tests/data/kb_11_5.keyblock
new file mode 100644 (file)
index 0000000..3ca3c81
Binary files /dev/null and b/tests/preamble_tests/data/kb_11_5.keyblock differ
diff --git a/tests/preamble_tests/data/kb_11_6.keyblock b/tests/preamble_tests/data/kb_11_6.keyblock
new file mode 100644 (file)
index 0000000..a8a2b43
Binary files /dev/null and b/tests/preamble_tests/data/kb_11_6.keyblock differ
diff --git a/tests/preamble_tests/data/kb_11_7.keyblock b/tests/preamble_tests/data/kb_11_7.keyblock
new file mode 100644 (file)
index 0000000..c969d50
Binary files /dev/null and b/tests/preamble_tests/data/kb_11_7.keyblock differ
diff --git a/tests/preamble_tests/data/kb_11_8.keyblock b/tests/preamble_tests/data/kb_11_8.keyblock
new file mode 100644 (file)
index 0000000..7e091a1
Binary files /dev/null and b/tests/preamble_tests/data/kb_11_8.keyblock differ
diff --git a/tests/preamble_tests/data/kb_11_9.keyblock b/tests/preamble_tests/data/kb_11_9.keyblock
new file mode 100644 (file)
index 0000000..b65bcd4
Binary files /dev/null and b/tests/preamble_tests/data/kb_11_9.keyblock differ
diff --git a/tests/preamble_tests/data/kb_1_0.keyblock b/tests/preamble_tests/data/kb_1_0.keyblock
new file mode 100644 (file)
index 0000000..865cbed
Binary files /dev/null and b/tests/preamble_tests/data/kb_1_0.keyblock differ
diff --git a/tests/preamble_tests/data/kb_1_1.keyblock b/tests/preamble_tests/data/kb_1_1.keyblock
new file mode 100644 (file)
index 0000000..ce7a363
Binary files /dev/null and b/tests/preamble_tests/data/kb_1_1.keyblock differ
diff --git a/tests/preamble_tests/data/kb_1_10.keyblock b/tests/preamble_tests/data/kb_1_10.keyblock
new file mode 100644 (file)
index 0000000..75729de
Binary files /dev/null and b/tests/preamble_tests/data/kb_1_10.keyblock differ
diff --git a/tests/preamble_tests/data/kb_1_11.keyblock b/tests/preamble_tests/data/kb_1_11.keyblock
new file mode 100644 (file)
index 0000000..348748f
Binary files /dev/null and b/tests/preamble_tests/data/kb_1_11.keyblock differ
diff --git a/tests/preamble_tests/data/kb_1_2.keyblock b/tests/preamble_tests/data/kb_1_2.keyblock
new file mode 100644 (file)
index 0000000..8a0189d
Binary files /dev/null and b/tests/preamble_tests/data/kb_1_2.keyblock differ
diff --git a/tests/preamble_tests/data/kb_1_3.keyblock b/tests/preamble_tests/data/kb_1_3.keyblock
new file mode 100644 (file)
index 0000000..cf7c6ce
Binary files /dev/null and b/tests/preamble_tests/data/kb_1_3.keyblock differ
diff --git a/tests/preamble_tests/data/kb_1_4.keyblock b/tests/preamble_tests/data/kb_1_4.keyblock
new file mode 100644 (file)
index 0000000..55d81ac
Binary files /dev/null and b/tests/preamble_tests/data/kb_1_4.keyblock differ
diff --git a/tests/preamble_tests/data/kb_1_5.keyblock b/tests/preamble_tests/data/kb_1_5.keyblock
new file mode 100644 (file)
index 0000000..eab3750
Binary files /dev/null and b/tests/preamble_tests/data/kb_1_5.keyblock differ
diff --git a/tests/preamble_tests/data/kb_1_6.keyblock b/tests/preamble_tests/data/kb_1_6.keyblock
new file mode 100644 (file)
index 0000000..8d515e0
Binary files /dev/null and b/tests/preamble_tests/data/kb_1_6.keyblock differ
diff --git a/tests/preamble_tests/data/kb_1_7.keyblock b/tests/preamble_tests/data/kb_1_7.keyblock
new file mode 100644 (file)
index 0000000..bd81157
Binary files /dev/null and b/tests/preamble_tests/data/kb_1_7.keyblock differ
diff --git a/tests/preamble_tests/data/kb_1_8.keyblock b/tests/preamble_tests/data/kb_1_8.keyblock
new file mode 100644 (file)
index 0000000..3c5c4fb
Binary files /dev/null and b/tests/preamble_tests/data/kb_1_8.keyblock differ
diff --git a/tests/preamble_tests/data/kb_1_9.keyblock b/tests/preamble_tests/data/kb_1_9.keyblock
new file mode 100644 (file)
index 0000000..92259e8
Binary files /dev/null and b/tests/preamble_tests/data/kb_1_9.keyblock differ
diff --git a/tests/preamble_tests/data/kb_2_0.keyblock b/tests/preamble_tests/data/kb_2_0.keyblock
new file mode 100644 (file)
index 0000000..9dd2fdc
Binary files /dev/null and b/tests/preamble_tests/data/kb_2_0.keyblock differ
diff --git a/tests/preamble_tests/data/kb_2_1.keyblock b/tests/preamble_tests/data/kb_2_1.keyblock
new file mode 100644 (file)
index 0000000..9dde3ef
Binary files /dev/null and b/tests/preamble_tests/data/kb_2_1.keyblock differ
diff --git a/tests/preamble_tests/data/kb_2_10.keyblock b/tests/preamble_tests/data/kb_2_10.keyblock
new file mode 100644 (file)
index 0000000..c98cebf
Binary files /dev/null and b/tests/preamble_tests/data/kb_2_10.keyblock differ
diff --git a/tests/preamble_tests/data/kb_2_11.keyblock b/tests/preamble_tests/data/kb_2_11.keyblock
new file mode 100644 (file)
index 0000000..d942311
Binary files /dev/null and b/tests/preamble_tests/data/kb_2_11.keyblock differ
diff --git a/tests/preamble_tests/data/kb_2_2.keyblock b/tests/preamble_tests/data/kb_2_2.keyblock
new file mode 100644 (file)
index 0000000..ef0bf05
Binary files /dev/null and b/tests/preamble_tests/data/kb_2_2.keyblock differ
diff --git a/tests/preamble_tests/data/kb_2_3.keyblock b/tests/preamble_tests/data/kb_2_3.keyblock
new file mode 100644 (file)
index 0000000..462c2b2
Binary files /dev/null and b/tests/preamble_tests/data/kb_2_3.keyblock differ
diff --git a/tests/preamble_tests/data/kb_2_4.keyblock b/tests/preamble_tests/data/kb_2_4.keyblock
new file mode 100644 (file)
index 0000000..1687b37
Binary files /dev/null and b/tests/preamble_tests/data/kb_2_4.keyblock differ
diff --git a/tests/preamble_tests/data/kb_2_5.keyblock b/tests/preamble_tests/data/kb_2_5.keyblock
new file mode 100644 (file)
index 0000000..f255488
Binary files /dev/null and b/tests/preamble_tests/data/kb_2_5.keyblock differ
diff --git a/tests/preamble_tests/data/kb_2_6.keyblock b/tests/preamble_tests/data/kb_2_6.keyblock
new file mode 100644 (file)
index 0000000..66044d0
Binary files /dev/null and b/tests/preamble_tests/data/kb_2_6.keyblock differ
diff --git a/tests/preamble_tests/data/kb_2_7.keyblock b/tests/preamble_tests/data/kb_2_7.keyblock
new file mode 100644 (file)
index 0000000..a20955a
Binary files /dev/null and b/tests/preamble_tests/data/kb_2_7.keyblock differ
diff --git a/tests/preamble_tests/data/kb_2_8.keyblock b/tests/preamble_tests/data/kb_2_8.keyblock
new file mode 100644 (file)
index 0000000..ea5a205
Binary files /dev/null and b/tests/preamble_tests/data/kb_2_8.keyblock differ
diff --git a/tests/preamble_tests/data/kb_2_9.keyblock b/tests/preamble_tests/data/kb_2_9.keyblock
new file mode 100644 (file)
index 0000000..8675f60
Binary files /dev/null and b/tests/preamble_tests/data/kb_2_9.keyblock differ
diff --git a/tests/preamble_tests/data/kb_3_0.keyblock b/tests/preamble_tests/data/kb_3_0.keyblock
new file mode 100644 (file)
index 0000000..d82c293
Binary files /dev/null and b/tests/preamble_tests/data/kb_3_0.keyblock differ
diff --git a/tests/preamble_tests/data/kb_3_1.keyblock b/tests/preamble_tests/data/kb_3_1.keyblock
new file mode 100644 (file)
index 0000000..38b13a4
Binary files /dev/null and b/tests/preamble_tests/data/kb_3_1.keyblock differ
diff --git a/tests/preamble_tests/data/kb_3_10.keyblock b/tests/preamble_tests/data/kb_3_10.keyblock
new file mode 100644 (file)
index 0000000..2fa4a65
Binary files /dev/null and b/tests/preamble_tests/data/kb_3_10.keyblock differ
diff --git a/tests/preamble_tests/data/kb_3_11.keyblock b/tests/preamble_tests/data/kb_3_11.keyblock
new file mode 100644 (file)
index 0000000..a7c6446
Binary files /dev/null and b/tests/preamble_tests/data/kb_3_11.keyblock differ
diff --git a/tests/preamble_tests/data/kb_3_2.keyblock b/tests/preamble_tests/data/kb_3_2.keyblock
new file mode 100644 (file)
index 0000000..2e8a2aa
Binary files /dev/null and b/tests/preamble_tests/data/kb_3_2.keyblock differ
diff --git a/tests/preamble_tests/data/kb_3_3.keyblock b/tests/preamble_tests/data/kb_3_3.keyblock
new file mode 100644 (file)
index 0000000..53bc558
Binary files /dev/null and b/tests/preamble_tests/data/kb_3_3.keyblock differ
diff --git a/tests/preamble_tests/data/kb_3_4.keyblock b/tests/preamble_tests/data/kb_3_4.keyblock
new file mode 100644 (file)
index 0000000..9e418c8
Binary files /dev/null and b/tests/preamble_tests/data/kb_3_4.keyblock differ
diff --git a/tests/preamble_tests/data/kb_3_5.keyblock b/tests/preamble_tests/data/kb_3_5.keyblock
new file mode 100644 (file)
index 0000000..fc61bf5
Binary files /dev/null and b/tests/preamble_tests/data/kb_3_5.keyblock differ
diff --git a/tests/preamble_tests/data/kb_3_6.keyblock b/tests/preamble_tests/data/kb_3_6.keyblock
new file mode 100644 (file)
index 0000000..e3de18a
Binary files /dev/null and b/tests/preamble_tests/data/kb_3_6.keyblock differ
diff --git a/tests/preamble_tests/data/kb_3_7.keyblock b/tests/preamble_tests/data/kb_3_7.keyblock
new file mode 100644 (file)
index 0000000..64105e0
Binary files /dev/null and b/tests/preamble_tests/data/kb_3_7.keyblock differ
diff --git a/tests/preamble_tests/data/kb_3_8.keyblock b/tests/preamble_tests/data/kb_3_8.keyblock
new file mode 100644 (file)
index 0000000..06de8ed
Binary files /dev/null and b/tests/preamble_tests/data/kb_3_8.keyblock differ
diff --git a/tests/preamble_tests/data/kb_3_9.keyblock b/tests/preamble_tests/data/kb_3_9.keyblock
new file mode 100644 (file)
index 0000000..b1ea80f
Binary files /dev/null and b/tests/preamble_tests/data/kb_3_9.keyblock differ
diff --git a/tests/preamble_tests/data/kb_4_0.keyblock b/tests/preamble_tests/data/kb_4_0.keyblock
new file mode 100644 (file)
index 0000000..167ec8e
Binary files /dev/null and b/tests/preamble_tests/data/kb_4_0.keyblock differ
diff --git a/tests/preamble_tests/data/kb_4_1.keyblock b/tests/preamble_tests/data/kb_4_1.keyblock
new file mode 100644 (file)
index 0000000..62b81c3
Binary files /dev/null and b/tests/preamble_tests/data/kb_4_1.keyblock differ
diff --git a/tests/preamble_tests/data/kb_4_10.keyblock b/tests/preamble_tests/data/kb_4_10.keyblock
new file mode 100644 (file)
index 0000000..7916dc4
Binary files /dev/null and b/tests/preamble_tests/data/kb_4_10.keyblock differ
diff --git a/tests/preamble_tests/data/kb_4_11.keyblock b/tests/preamble_tests/data/kb_4_11.keyblock
new file mode 100644 (file)
index 0000000..6fdcdcc
Binary files /dev/null and b/tests/preamble_tests/data/kb_4_11.keyblock differ
diff --git a/tests/preamble_tests/data/kb_4_2.keyblock b/tests/preamble_tests/data/kb_4_2.keyblock
new file mode 100644 (file)
index 0000000..1d2d5d6
Binary files /dev/null and b/tests/preamble_tests/data/kb_4_2.keyblock differ
diff --git a/tests/preamble_tests/data/kb_4_3.keyblock b/tests/preamble_tests/data/kb_4_3.keyblock
new file mode 100644 (file)
index 0000000..f4863ab
Binary files /dev/null and b/tests/preamble_tests/data/kb_4_3.keyblock differ
diff --git a/tests/preamble_tests/data/kb_4_4.keyblock b/tests/preamble_tests/data/kb_4_4.keyblock
new file mode 100644 (file)
index 0000000..b6ab2df
Binary files /dev/null and b/tests/preamble_tests/data/kb_4_4.keyblock differ
diff --git a/tests/preamble_tests/data/kb_4_5.keyblock b/tests/preamble_tests/data/kb_4_5.keyblock
new file mode 100644 (file)
index 0000000..3e3bbce
Binary files /dev/null and b/tests/preamble_tests/data/kb_4_5.keyblock differ
diff --git a/tests/preamble_tests/data/kb_4_6.keyblock b/tests/preamble_tests/data/kb_4_6.keyblock
new file mode 100644 (file)
index 0000000..324f4d4
Binary files /dev/null and b/tests/preamble_tests/data/kb_4_6.keyblock differ
diff --git a/tests/preamble_tests/data/kb_4_7.keyblock b/tests/preamble_tests/data/kb_4_7.keyblock
new file mode 100644 (file)
index 0000000..5ca40ff
Binary files /dev/null and b/tests/preamble_tests/data/kb_4_7.keyblock differ
diff --git a/tests/preamble_tests/data/kb_4_8.keyblock b/tests/preamble_tests/data/kb_4_8.keyblock
new file mode 100644 (file)
index 0000000..bc0d028
Binary files /dev/null and b/tests/preamble_tests/data/kb_4_8.keyblock differ
diff --git a/tests/preamble_tests/data/kb_4_9.keyblock b/tests/preamble_tests/data/kb_4_9.keyblock
new file mode 100644 (file)
index 0000000..1ee9437
Binary files /dev/null and b/tests/preamble_tests/data/kb_4_9.keyblock differ
diff --git a/tests/preamble_tests/data/kb_5_0.keyblock b/tests/preamble_tests/data/kb_5_0.keyblock
new file mode 100644 (file)
index 0000000..fefd916
Binary files /dev/null and b/tests/preamble_tests/data/kb_5_0.keyblock differ
diff --git a/tests/preamble_tests/data/kb_5_1.keyblock b/tests/preamble_tests/data/kb_5_1.keyblock
new file mode 100644 (file)
index 0000000..5677051
Binary files /dev/null and b/tests/preamble_tests/data/kb_5_1.keyblock differ
diff --git a/tests/preamble_tests/data/kb_5_10.keyblock b/tests/preamble_tests/data/kb_5_10.keyblock
new file mode 100644 (file)
index 0000000..2b29569
Binary files /dev/null and b/tests/preamble_tests/data/kb_5_10.keyblock differ
diff --git a/tests/preamble_tests/data/kb_5_11.keyblock b/tests/preamble_tests/data/kb_5_11.keyblock
new file mode 100644 (file)
index 0000000..382871a
Binary files /dev/null and b/tests/preamble_tests/data/kb_5_11.keyblock differ
diff --git a/tests/preamble_tests/data/kb_5_2.keyblock b/tests/preamble_tests/data/kb_5_2.keyblock
new file mode 100644 (file)
index 0000000..47e7da5
Binary files /dev/null and b/tests/preamble_tests/data/kb_5_2.keyblock differ
diff --git a/tests/preamble_tests/data/kb_5_3.keyblock b/tests/preamble_tests/data/kb_5_3.keyblock
new file mode 100644 (file)
index 0000000..20d8427
Binary files /dev/null and b/tests/preamble_tests/data/kb_5_3.keyblock differ
diff --git a/tests/preamble_tests/data/kb_5_4.keyblock b/tests/preamble_tests/data/kb_5_4.keyblock
new file mode 100644 (file)
index 0000000..8ae685f
Binary files /dev/null and b/tests/preamble_tests/data/kb_5_4.keyblock differ
diff --git a/tests/preamble_tests/data/kb_5_5.keyblock b/tests/preamble_tests/data/kb_5_5.keyblock
new file mode 100644 (file)
index 0000000..f324cfe
Binary files /dev/null and b/tests/preamble_tests/data/kb_5_5.keyblock differ
diff --git a/tests/preamble_tests/data/kb_5_6.keyblock b/tests/preamble_tests/data/kb_5_6.keyblock
new file mode 100644 (file)
index 0000000..daefaaf
Binary files /dev/null and b/tests/preamble_tests/data/kb_5_6.keyblock differ
diff --git a/tests/preamble_tests/data/kb_5_7.keyblock b/tests/preamble_tests/data/kb_5_7.keyblock
new file mode 100644 (file)
index 0000000..1e5a7b1
Binary files /dev/null and b/tests/preamble_tests/data/kb_5_7.keyblock differ
diff --git a/tests/preamble_tests/data/kb_5_8.keyblock b/tests/preamble_tests/data/kb_5_8.keyblock
new file mode 100644 (file)
index 0000000..7736a3e
Binary files /dev/null and b/tests/preamble_tests/data/kb_5_8.keyblock differ
diff --git a/tests/preamble_tests/data/kb_5_9.keyblock b/tests/preamble_tests/data/kb_5_9.keyblock
new file mode 100644 (file)
index 0000000..e1eb9cb
Binary files /dev/null and b/tests/preamble_tests/data/kb_5_9.keyblock differ
diff --git a/tests/preamble_tests/data/kb_6_0.keyblock b/tests/preamble_tests/data/kb_6_0.keyblock
new file mode 100644 (file)
index 0000000..1d9e4c1
Binary files /dev/null and b/tests/preamble_tests/data/kb_6_0.keyblock differ
diff --git a/tests/preamble_tests/data/kb_6_1.keyblock b/tests/preamble_tests/data/kb_6_1.keyblock
new file mode 100644 (file)
index 0000000..6dc2731
Binary files /dev/null and b/tests/preamble_tests/data/kb_6_1.keyblock differ
diff --git a/tests/preamble_tests/data/kb_6_10.keyblock b/tests/preamble_tests/data/kb_6_10.keyblock
new file mode 100644 (file)
index 0000000..669d637
Binary files /dev/null and b/tests/preamble_tests/data/kb_6_10.keyblock differ
diff --git a/tests/preamble_tests/data/kb_6_11.keyblock b/tests/preamble_tests/data/kb_6_11.keyblock
new file mode 100644 (file)
index 0000000..6fdabc7
Binary files /dev/null and b/tests/preamble_tests/data/kb_6_11.keyblock differ
diff --git a/tests/preamble_tests/data/kb_6_2.keyblock b/tests/preamble_tests/data/kb_6_2.keyblock
new file mode 100644 (file)
index 0000000..b48cf51
Binary files /dev/null and b/tests/preamble_tests/data/kb_6_2.keyblock differ
diff --git a/tests/preamble_tests/data/kb_6_3.keyblock b/tests/preamble_tests/data/kb_6_3.keyblock
new file mode 100644 (file)
index 0000000..601424c
Binary files /dev/null and b/tests/preamble_tests/data/kb_6_3.keyblock differ
diff --git a/tests/preamble_tests/data/kb_6_4.keyblock b/tests/preamble_tests/data/kb_6_4.keyblock
new file mode 100644 (file)
index 0000000..8e137ab
Binary files /dev/null and b/tests/preamble_tests/data/kb_6_4.keyblock differ
diff --git a/tests/preamble_tests/data/kb_6_5.keyblock b/tests/preamble_tests/data/kb_6_5.keyblock
new file mode 100644 (file)
index 0000000..07c14a3
Binary files /dev/null and b/tests/preamble_tests/data/kb_6_5.keyblock differ
diff --git a/tests/preamble_tests/data/kb_6_6.keyblock b/tests/preamble_tests/data/kb_6_6.keyblock
new file mode 100644 (file)
index 0000000..29579df
Binary files /dev/null and b/tests/preamble_tests/data/kb_6_6.keyblock differ
diff --git a/tests/preamble_tests/data/kb_6_7.keyblock b/tests/preamble_tests/data/kb_6_7.keyblock
new file mode 100644 (file)
index 0000000..25a33e7
Binary files /dev/null and b/tests/preamble_tests/data/kb_6_7.keyblock differ
diff --git a/tests/preamble_tests/data/kb_6_8.keyblock b/tests/preamble_tests/data/kb_6_8.keyblock
new file mode 100644 (file)
index 0000000..e7ed2a0
Binary files /dev/null and b/tests/preamble_tests/data/kb_6_8.keyblock differ
diff --git a/tests/preamble_tests/data/kb_6_9.keyblock b/tests/preamble_tests/data/kb_6_9.keyblock
new file mode 100644 (file)
index 0000000..04564b0
Binary files /dev/null and b/tests/preamble_tests/data/kb_6_9.keyblock differ
diff --git a/tests/preamble_tests/data/kb_7_0.keyblock b/tests/preamble_tests/data/kb_7_0.keyblock
new file mode 100644 (file)
index 0000000..9540a0f
Binary files /dev/null and b/tests/preamble_tests/data/kb_7_0.keyblock differ
diff --git a/tests/preamble_tests/data/kb_7_1.keyblock b/tests/preamble_tests/data/kb_7_1.keyblock
new file mode 100644 (file)
index 0000000..e1703d2
Binary files /dev/null and b/tests/preamble_tests/data/kb_7_1.keyblock differ
diff --git a/tests/preamble_tests/data/kb_7_10.keyblock b/tests/preamble_tests/data/kb_7_10.keyblock
new file mode 100644 (file)
index 0000000..b17c506
Binary files /dev/null and b/tests/preamble_tests/data/kb_7_10.keyblock differ
diff --git a/tests/preamble_tests/data/kb_7_11.keyblock b/tests/preamble_tests/data/kb_7_11.keyblock
new file mode 100644 (file)
index 0000000..1c4b725
Binary files /dev/null and b/tests/preamble_tests/data/kb_7_11.keyblock differ
diff --git a/tests/preamble_tests/data/kb_7_2.keyblock b/tests/preamble_tests/data/kb_7_2.keyblock
new file mode 100644 (file)
index 0000000..1b3c66f
Binary files /dev/null and b/tests/preamble_tests/data/kb_7_2.keyblock differ
diff --git a/tests/preamble_tests/data/kb_7_3.keyblock b/tests/preamble_tests/data/kb_7_3.keyblock
new file mode 100644 (file)
index 0000000..c54e2a7
Binary files /dev/null and b/tests/preamble_tests/data/kb_7_3.keyblock differ
diff --git a/tests/preamble_tests/data/kb_7_4.keyblock b/tests/preamble_tests/data/kb_7_4.keyblock
new file mode 100644 (file)
index 0000000..3fa9363
Binary files /dev/null and b/tests/preamble_tests/data/kb_7_4.keyblock differ
diff --git a/tests/preamble_tests/data/kb_7_5.keyblock b/tests/preamble_tests/data/kb_7_5.keyblock
new file mode 100644 (file)
index 0000000..d13fb0b
Binary files /dev/null and b/tests/preamble_tests/data/kb_7_5.keyblock differ
diff --git a/tests/preamble_tests/data/kb_7_6.keyblock b/tests/preamble_tests/data/kb_7_6.keyblock
new file mode 100644 (file)
index 0000000..23b3b6b
Binary files /dev/null and b/tests/preamble_tests/data/kb_7_6.keyblock differ
diff --git a/tests/preamble_tests/data/kb_7_7.keyblock b/tests/preamble_tests/data/kb_7_7.keyblock
new file mode 100644 (file)
index 0000000..9537503
Binary files /dev/null and b/tests/preamble_tests/data/kb_7_7.keyblock differ
diff --git a/tests/preamble_tests/data/kb_7_8.keyblock b/tests/preamble_tests/data/kb_7_8.keyblock
new file mode 100644 (file)
index 0000000..37b6180
Binary files /dev/null and b/tests/preamble_tests/data/kb_7_8.keyblock differ
diff --git a/tests/preamble_tests/data/kb_7_9.keyblock b/tests/preamble_tests/data/kb_7_9.keyblock
new file mode 100644 (file)
index 0000000..72b4f53
Binary files /dev/null and b/tests/preamble_tests/data/kb_7_9.keyblock differ
diff --git a/tests/preamble_tests/data/kb_8_0.keyblock b/tests/preamble_tests/data/kb_8_0.keyblock
new file mode 100644 (file)
index 0000000..791bcab
Binary files /dev/null and b/tests/preamble_tests/data/kb_8_0.keyblock differ
diff --git a/tests/preamble_tests/data/kb_8_1.keyblock b/tests/preamble_tests/data/kb_8_1.keyblock
new file mode 100644 (file)
index 0000000..42876ac
Binary files /dev/null and b/tests/preamble_tests/data/kb_8_1.keyblock differ
diff --git a/tests/preamble_tests/data/kb_8_10.keyblock b/tests/preamble_tests/data/kb_8_10.keyblock
new file mode 100644 (file)
index 0000000..0552201
Binary files /dev/null and b/tests/preamble_tests/data/kb_8_10.keyblock differ
diff --git a/tests/preamble_tests/data/kb_8_11.keyblock b/tests/preamble_tests/data/kb_8_11.keyblock
new file mode 100644 (file)
index 0000000..9d0532d
Binary files /dev/null and b/tests/preamble_tests/data/kb_8_11.keyblock differ
diff --git a/tests/preamble_tests/data/kb_8_2.keyblock b/tests/preamble_tests/data/kb_8_2.keyblock
new file mode 100644 (file)
index 0000000..26864a3
Binary files /dev/null and b/tests/preamble_tests/data/kb_8_2.keyblock differ
diff --git a/tests/preamble_tests/data/kb_8_3.keyblock b/tests/preamble_tests/data/kb_8_3.keyblock
new file mode 100644 (file)
index 0000000..5b4e9be
Binary files /dev/null and b/tests/preamble_tests/data/kb_8_3.keyblock differ
diff --git a/tests/preamble_tests/data/kb_8_4.keyblock b/tests/preamble_tests/data/kb_8_4.keyblock
new file mode 100644 (file)
index 0000000..36c45a6
Binary files /dev/null and b/tests/preamble_tests/data/kb_8_4.keyblock differ
diff --git a/tests/preamble_tests/data/kb_8_5.keyblock b/tests/preamble_tests/data/kb_8_5.keyblock
new file mode 100644 (file)
index 0000000..ce19f3c
Binary files /dev/null and b/tests/preamble_tests/data/kb_8_5.keyblock differ
diff --git a/tests/preamble_tests/data/kb_8_6.keyblock b/tests/preamble_tests/data/kb_8_6.keyblock
new file mode 100644 (file)
index 0000000..6c0bd48
Binary files /dev/null and b/tests/preamble_tests/data/kb_8_6.keyblock differ
diff --git a/tests/preamble_tests/data/kb_8_7.keyblock b/tests/preamble_tests/data/kb_8_7.keyblock
new file mode 100644 (file)
index 0000000..68ca984
Binary files /dev/null and b/tests/preamble_tests/data/kb_8_7.keyblock differ
diff --git a/tests/preamble_tests/data/kb_8_8.keyblock b/tests/preamble_tests/data/kb_8_8.keyblock
new file mode 100644 (file)
index 0000000..51d8668
Binary files /dev/null and b/tests/preamble_tests/data/kb_8_8.keyblock differ
diff --git a/tests/preamble_tests/data/kb_8_9.keyblock b/tests/preamble_tests/data/kb_8_9.keyblock
new file mode 100644 (file)
index 0000000..e7a766d
Binary files /dev/null and b/tests/preamble_tests/data/kb_8_9.keyblock differ
diff --git a/tests/preamble_tests/data/kb_9_0.keyblock b/tests/preamble_tests/data/kb_9_0.keyblock
new file mode 100644 (file)
index 0000000..ce48a62
Binary files /dev/null and b/tests/preamble_tests/data/kb_9_0.keyblock differ
diff --git a/tests/preamble_tests/data/kb_9_1.keyblock b/tests/preamble_tests/data/kb_9_1.keyblock
new file mode 100644 (file)
index 0000000..7d2f049
Binary files /dev/null and b/tests/preamble_tests/data/kb_9_1.keyblock differ
diff --git a/tests/preamble_tests/data/kb_9_10.keyblock b/tests/preamble_tests/data/kb_9_10.keyblock
new file mode 100644 (file)
index 0000000..6cf97ad
Binary files /dev/null and b/tests/preamble_tests/data/kb_9_10.keyblock differ
diff --git a/tests/preamble_tests/data/kb_9_11.keyblock b/tests/preamble_tests/data/kb_9_11.keyblock
new file mode 100644 (file)
index 0000000..026a5e6
Binary files /dev/null and b/tests/preamble_tests/data/kb_9_11.keyblock differ
diff --git a/tests/preamble_tests/data/kb_9_2.keyblock b/tests/preamble_tests/data/kb_9_2.keyblock
new file mode 100644 (file)
index 0000000..599d5bb
Binary files /dev/null and b/tests/preamble_tests/data/kb_9_2.keyblock differ
diff --git a/tests/preamble_tests/data/kb_9_3.keyblock b/tests/preamble_tests/data/kb_9_3.keyblock
new file mode 100644 (file)
index 0000000..69166a5
Binary files /dev/null and b/tests/preamble_tests/data/kb_9_3.keyblock differ
diff --git a/tests/preamble_tests/data/kb_9_4.keyblock b/tests/preamble_tests/data/kb_9_4.keyblock
new file mode 100644 (file)
index 0000000..fbe775c
Binary files /dev/null and b/tests/preamble_tests/data/kb_9_4.keyblock differ
diff --git a/tests/preamble_tests/data/kb_9_5.keyblock b/tests/preamble_tests/data/kb_9_5.keyblock
new file mode 100644 (file)
index 0000000..1eb625f
Binary files /dev/null and b/tests/preamble_tests/data/kb_9_5.keyblock differ
diff --git a/tests/preamble_tests/data/kb_9_6.keyblock b/tests/preamble_tests/data/kb_9_6.keyblock
new file mode 100644 (file)
index 0000000..03234e8
Binary files /dev/null and b/tests/preamble_tests/data/kb_9_6.keyblock differ
diff --git a/tests/preamble_tests/data/kb_9_7.keyblock b/tests/preamble_tests/data/kb_9_7.keyblock
new file mode 100644 (file)
index 0000000..6597d33
Binary files /dev/null and b/tests/preamble_tests/data/kb_9_7.keyblock differ
diff --git a/tests/preamble_tests/data/kb_9_8.keyblock b/tests/preamble_tests/data/kb_9_8.keyblock
new file mode 100644 (file)
index 0000000..2174d12
Binary files /dev/null and b/tests/preamble_tests/data/kb_9_8.keyblock differ
diff --git a/tests/preamble_tests/data/kb_9_9.keyblock b/tests/preamble_tests/data/kb_9_9.keyblock
new file mode 100644 (file)
index 0000000..eef120e
Binary files /dev/null and b/tests/preamble_tests/data/kb_9_9.keyblock differ
diff --git a/tests/preamble_tests/data/root_0.vbprivk b/tests/preamble_tests/data/root_0.vbprivk
new file mode 100644 (file)
index 0000000..3bb9a13
Binary files /dev/null and b/tests/preamble_tests/data/root_0.vbprivk differ
diff --git a/tests/preamble_tests/data/root_0.vbpubk b/tests/preamble_tests/data/root_0.vbpubk
new file mode 100644 (file)
index 0000000..eedbab5
Binary files /dev/null and b/tests/preamble_tests/data/root_0.vbpubk differ
diff --git a/tests/preamble_tests/data/root_1.vbprivk b/tests/preamble_tests/data/root_1.vbprivk
new file mode 100644 (file)
index 0000000..17fe479
Binary files /dev/null and b/tests/preamble_tests/data/root_1.vbprivk differ
diff --git a/tests/preamble_tests/data/root_1.vbpubk b/tests/preamble_tests/data/root_1.vbpubk
new file mode 100644 (file)
index 0000000..5956dfb
Binary files /dev/null and b/tests/preamble_tests/data/root_1.vbpubk differ
diff --git a/tests/preamble_tests/data/root_10.vbprivk b/tests/preamble_tests/data/root_10.vbprivk
new file mode 100644 (file)
index 0000000..dfcd815
Binary files /dev/null and b/tests/preamble_tests/data/root_10.vbprivk differ
diff --git a/tests/preamble_tests/data/root_10.vbpubk b/tests/preamble_tests/data/root_10.vbpubk
new file mode 100644 (file)
index 0000000..2bfe6de
Binary files /dev/null and b/tests/preamble_tests/data/root_10.vbpubk differ
diff --git a/tests/preamble_tests/data/root_11.vbprivk b/tests/preamble_tests/data/root_11.vbprivk
new file mode 100644 (file)
index 0000000..90e0281
Binary files /dev/null and b/tests/preamble_tests/data/root_11.vbprivk differ
diff --git a/tests/preamble_tests/data/root_11.vbpubk b/tests/preamble_tests/data/root_11.vbpubk
new file mode 100644 (file)
index 0000000..0e2cbdf
Binary files /dev/null and b/tests/preamble_tests/data/root_11.vbpubk differ
diff --git a/tests/preamble_tests/data/root_2.vbprivk b/tests/preamble_tests/data/root_2.vbprivk
new file mode 100644 (file)
index 0000000..110f8cd
Binary files /dev/null and b/tests/preamble_tests/data/root_2.vbprivk differ
diff --git a/tests/preamble_tests/data/root_2.vbpubk b/tests/preamble_tests/data/root_2.vbpubk
new file mode 100644 (file)
index 0000000..f70344c
Binary files /dev/null and b/tests/preamble_tests/data/root_2.vbpubk differ
diff --git a/tests/preamble_tests/data/root_3.vbprivk b/tests/preamble_tests/data/root_3.vbprivk
new file mode 100644 (file)
index 0000000..4a5f022
Binary files /dev/null and b/tests/preamble_tests/data/root_3.vbprivk differ
diff --git a/tests/preamble_tests/data/root_3.vbpubk b/tests/preamble_tests/data/root_3.vbpubk
new file mode 100644 (file)
index 0000000..847f676
Binary files /dev/null and b/tests/preamble_tests/data/root_3.vbpubk differ
diff --git a/tests/preamble_tests/data/root_4.vbprivk b/tests/preamble_tests/data/root_4.vbprivk
new file mode 100644 (file)
index 0000000..58a8575
Binary files /dev/null and b/tests/preamble_tests/data/root_4.vbprivk differ
diff --git a/tests/preamble_tests/data/root_4.vbpubk b/tests/preamble_tests/data/root_4.vbpubk
new file mode 100644 (file)
index 0000000..5663351
Binary files /dev/null and b/tests/preamble_tests/data/root_4.vbpubk differ
diff --git a/tests/preamble_tests/data/root_5.vbprivk b/tests/preamble_tests/data/root_5.vbprivk
new file mode 100644 (file)
index 0000000..101f680
Binary files /dev/null and b/tests/preamble_tests/data/root_5.vbprivk differ
diff --git a/tests/preamble_tests/data/root_5.vbpubk b/tests/preamble_tests/data/root_5.vbpubk
new file mode 100644 (file)
index 0000000..ec5019b
Binary files /dev/null and b/tests/preamble_tests/data/root_5.vbpubk differ
diff --git a/tests/preamble_tests/data/root_6.vbprivk b/tests/preamble_tests/data/root_6.vbprivk
new file mode 100644 (file)
index 0000000..54b424d
Binary files /dev/null and b/tests/preamble_tests/data/root_6.vbprivk differ
diff --git a/tests/preamble_tests/data/root_6.vbpubk b/tests/preamble_tests/data/root_6.vbpubk
new file mode 100644 (file)
index 0000000..b6b3803
Binary files /dev/null and b/tests/preamble_tests/data/root_6.vbpubk differ
diff --git a/tests/preamble_tests/data/root_7.vbprivk b/tests/preamble_tests/data/root_7.vbprivk
new file mode 100644 (file)
index 0000000..cbb3292
Binary files /dev/null and b/tests/preamble_tests/data/root_7.vbprivk differ
diff --git a/tests/preamble_tests/data/root_7.vbpubk b/tests/preamble_tests/data/root_7.vbpubk
new file mode 100644 (file)
index 0000000..e829fae
Binary files /dev/null and b/tests/preamble_tests/data/root_7.vbpubk differ
diff --git a/tests/preamble_tests/data/root_8.vbprivk b/tests/preamble_tests/data/root_8.vbprivk
new file mode 100644 (file)
index 0000000..8075f45
Binary files /dev/null and b/tests/preamble_tests/data/root_8.vbprivk differ
diff --git a/tests/preamble_tests/data/root_8.vbpubk b/tests/preamble_tests/data/root_8.vbpubk
new file mode 100644 (file)
index 0000000..31d1a4b
Binary files /dev/null and b/tests/preamble_tests/data/root_8.vbpubk differ
diff --git a/tests/preamble_tests/data/root_9.vbprivk b/tests/preamble_tests/data/root_9.vbprivk
new file mode 100644 (file)
index 0000000..f78df54
Binary files /dev/null and b/tests/preamble_tests/data/root_9.vbprivk differ
diff --git a/tests/preamble_tests/data/root_9.vbpubk b/tests/preamble_tests/data/root_9.vbpubk
new file mode 100644 (file)
index 0000000..df4d836
Binary files /dev/null and b/tests/preamble_tests/data/root_9.vbpubk differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_0_0.vblock b/tests/preamble_tests/preamble_v2x/fw_0_0.vblock
new file mode 100644 (file)
index 0000000..2345beb
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_0_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_0_1.vblock b/tests/preamble_tests/preamble_v2x/fw_0_1.vblock
new file mode 100644 (file)
index 0000000..bbbb1ce
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_0_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_0_10.vblock b/tests/preamble_tests/preamble_v2x/fw_0_10.vblock
new file mode 100644 (file)
index 0000000..3607ed8
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_0_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_0_11.vblock b/tests/preamble_tests/preamble_v2x/fw_0_11.vblock
new file mode 100644 (file)
index 0000000..3226144
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_0_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_0_2.vblock b/tests/preamble_tests/preamble_v2x/fw_0_2.vblock
new file mode 100644 (file)
index 0000000..0e73da0
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_0_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_0_3.vblock b/tests/preamble_tests/preamble_v2x/fw_0_3.vblock
new file mode 100644 (file)
index 0000000..4363a18
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_0_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_0_4.vblock b/tests/preamble_tests/preamble_v2x/fw_0_4.vblock
new file mode 100644 (file)
index 0000000..fc7aa13
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_0_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_0_5.vblock b/tests/preamble_tests/preamble_v2x/fw_0_5.vblock
new file mode 100644 (file)
index 0000000..ed5a251
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_0_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_0_6.vblock b/tests/preamble_tests/preamble_v2x/fw_0_6.vblock
new file mode 100644 (file)
index 0000000..c11261b
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_0_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_0_7.vblock b/tests/preamble_tests/preamble_v2x/fw_0_7.vblock
new file mode 100644 (file)
index 0000000..5f6f5e7
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_0_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_0_8.vblock b/tests/preamble_tests/preamble_v2x/fw_0_8.vblock
new file mode 100644 (file)
index 0000000..935a73a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_0_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_0_9.vblock b/tests/preamble_tests/preamble_v2x/fw_0_9.vblock
new file mode 100644 (file)
index 0000000..289a73f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_0_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_10_0.vblock b/tests/preamble_tests/preamble_v2x/fw_10_0.vblock
new file mode 100644 (file)
index 0000000..3f178d8
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_10_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_10_1.vblock b/tests/preamble_tests/preamble_v2x/fw_10_1.vblock
new file mode 100644 (file)
index 0000000..9d2c286
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_10_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_10_10.vblock b/tests/preamble_tests/preamble_v2x/fw_10_10.vblock
new file mode 100644 (file)
index 0000000..e1bc3c3
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_10_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_10_11.vblock b/tests/preamble_tests/preamble_v2x/fw_10_11.vblock
new file mode 100644 (file)
index 0000000..1a99743
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_10_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_10_2.vblock b/tests/preamble_tests/preamble_v2x/fw_10_2.vblock
new file mode 100644 (file)
index 0000000..3435014
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_10_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_10_3.vblock b/tests/preamble_tests/preamble_v2x/fw_10_3.vblock
new file mode 100644 (file)
index 0000000..7b01221
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_10_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_10_4.vblock b/tests/preamble_tests/preamble_v2x/fw_10_4.vblock
new file mode 100644 (file)
index 0000000..bbac0cc
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_10_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_10_5.vblock b/tests/preamble_tests/preamble_v2x/fw_10_5.vblock
new file mode 100644 (file)
index 0000000..a2d3ba4
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_10_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_10_6.vblock b/tests/preamble_tests/preamble_v2x/fw_10_6.vblock
new file mode 100644 (file)
index 0000000..c67c3ce
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_10_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_10_7.vblock b/tests/preamble_tests/preamble_v2x/fw_10_7.vblock
new file mode 100644 (file)
index 0000000..9aab1c9
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_10_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_10_8.vblock b/tests/preamble_tests/preamble_v2x/fw_10_8.vblock
new file mode 100644 (file)
index 0000000..72666aa
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_10_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_10_9.vblock b/tests/preamble_tests/preamble_v2x/fw_10_9.vblock
new file mode 100644 (file)
index 0000000..d90f124
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_10_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_11_0.vblock b/tests/preamble_tests/preamble_v2x/fw_11_0.vblock
new file mode 100644 (file)
index 0000000..c9d3602
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_11_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_11_1.vblock b/tests/preamble_tests/preamble_v2x/fw_11_1.vblock
new file mode 100644 (file)
index 0000000..07a1427
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_11_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_11_10.vblock b/tests/preamble_tests/preamble_v2x/fw_11_10.vblock
new file mode 100644 (file)
index 0000000..86062ea
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_11_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_11_11.vblock b/tests/preamble_tests/preamble_v2x/fw_11_11.vblock
new file mode 100644 (file)
index 0000000..f508618
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_11_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_11_2.vblock b/tests/preamble_tests/preamble_v2x/fw_11_2.vblock
new file mode 100644 (file)
index 0000000..26cd2f9
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_11_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_11_3.vblock b/tests/preamble_tests/preamble_v2x/fw_11_3.vblock
new file mode 100644 (file)
index 0000000..2283f4a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_11_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_11_4.vblock b/tests/preamble_tests/preamble_v2x/fw_11_4.vblock
new file mode 100644 (file)
index 0000000..98c8d51
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_11_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_11_5.vblock b/tests/preamble_tests/preamble_v2x/fw_11_5.vblock
new file mode 100644 (file)
index 0000000..a082ed0
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_11_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_11_6.vblock b/tests/preamble_tests/preamble_v2x/fw_11_6.vblock
new file mode 100644 (file)
index 0000000..9ada8fa
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_11_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_11_7.vblock b/tests/preamble_tests/preamble_v2x/fw_11_7.vblock
new file mode 100644 (file)
index 0000000..a4fb3cb
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_11_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_11_8.vblock b/tests/preamble_tests/preamble_v2x/fw_11_8.vblock
new file mode 100644 (file)
index 0000000..cbe1ef8
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_11_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_11_9.vblock b/tests/preamble_tests/preamble_v2x/fw_11_9.vblock
new file mode 100644 (file)
index 0000000..9dea282
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_11_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_1_0.vblock b/tests/preamble_tests/preamble_v2x/fw_1_0.vblock
new file mode 100644 (file)
index 0000000..9e26cf7
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_1_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_1_1.vblock b/tests/preamble_tests/preamble_v2x/fw_1_1.vblock
new file mode 100644 (file)
index 0000000..e74810d
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_1_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_1_10.vblock b/tests/preamble_tests/preamble_v2x/fw_1_10.vblock
new file mode 100644 (file)
index 0000000..578b8e6
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_1_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_1_11.vblock b/tests/preamble_tests/preamble_v2x/fw_1_11.vblock
new file mode 100644 (file)
index 0000000..91bc6e3
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_1_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_1_2.vblock b/tests/preamble_tests/preamble_v2x/fw_1_2.vblock
new file mode 100644 (file)
index 0000000..9bf19a5
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_1_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_1_3.vblock b/tests/preamble_tests/preamble_v2x/fw_1_3.vblock
new file mode 100644 (file)
index 0000000..60ce324
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_1_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_1_4.vblock b/tests/preamble_tests/preamble_v2x/fw_1_4.vblock
new file mode 100644 (file)
index 0000000..40d52fc
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_1_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_1_5.vblock b/tests/preamble_tests/preamble_v2x/fw_1_5.vblock
new file mode 100644 (file)
index 0000000..855250c
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_1_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_1_6.vblock b/tests/preamble_tests/preamble_v2x/fw_1_6.vblock
new file mode 100644 (file)
index 0000000..ff9c30a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_1_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_1_7.vblock b/tests/preamble_tests/preamble_v2x/fw_1_7.vblock
new file mode 100644 (file)
index 0000000..1616e74
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_1_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_1_8.vblock b/tests/preamble_tests/preamble_v2x/fw_1_8.vblock
new file mode 100644 (file)
index 0000000..c66476c
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_1_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_1_9.vblock b/tests/preamble_tests/preamble_v2x/fw_1_9.vblock
new file mode 100644 (file)
index 0000000..53416ff
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_1_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_2_0.vblock b/tests/preamble_tests/preamble_v2x/fw_2_0.vblock
new file mode 100644 (file)
index 0000000..e9d5fc0
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_2_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_2_1.vblock b/tests/preamble_tests/preamble_v2x/fw_2_1.vblock
new file mode 100644 (file)
index 0000000..490a1f1
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_2_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_2_10.vblock b/tests/preamble_tests/preamble_v2x/fw_2_10.vblock
new file mode 100644 (file)
index 0000000..fefecea
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_2_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_2_11.vblock b/tests/preamble_tests/preamble_v2x/fw_2_11.vblock
new file mode 100644 (file)
index 0000000..eb9967b
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_2_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_2_2.vblock b/tests/preamble_tests/preamble_v2x/fw_2_2.vblock
new file mode 100644 (file)
index 0000000..7d1c408
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_2_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_2_3.vblock b/tests/preamble_tests/preamble_v2x/fw_2_3.vblock
new file mode 100644 (file)
index 0000000..f5655ff
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_2_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_2_4.vblock b/tests/preamble_tests/preamble_v2x/fw_2_4.vblock
new file mode 100644 (file)
index 0000000..c99325d
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_2_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_2_5.vblock b/tests/preamble_tests/preamble_v2x/fw_2_5.vblock
new file mode 100644 (file)
index 0000000..0d0dfeb
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_2_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_2_6.vblock b/tests/preamble_tests/preamble_v2x/fw_2_6.vblock
new file mode 100644 (file)
index 0000000..dfd6098
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_2_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_2_7.vblock b/tests/preamble_tests/preamble_v2x/fw_2_7.vblock
new file mode 100644 (file)
index 0000000..bc12c53
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_2_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_2_8.vblock b/tests/preamble_tests/preamble_v2x/fw_2_8.vblock
new file mode 100644 (file)
index 0000000..31b3499
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_2_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_2_9.vblock b/tests/preamble_tests/preamble_v2x/fw_2_9.vblock
new file mode 100644 (file)
index 0000000..56d1bd4
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_2_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_3_0.vblock b/tests/preamble_tests/preamble_v2x/fw_3_0.vblock
new file mode 100644 (file)
index 0000000..8e336bf
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_3_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_3_1.vblock b/tests/preamble_tests/preamble_v2x/fw_3_1.vblock
new file mode 100644 (file)
index 0000000..5a3211c
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_3_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_3_10.vblock b/tests/preamble_tests/preamble_v2x/fw_3_10.vblock
new file mode 100644 (file)
index 0000000..f5cc853
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_3_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_3_11.vblock b/tests/preamble_tests/preamble_v2x/fw_3_11.vblock
new file mode 100644 (file)
index 0000000..6d0589a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_3_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_3_2.vblock b/tests/preamble_tests/preamble_v2x/fw_3_2.vblock
new file mode 100644 (file)
index 0000000..bf306cc
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_3_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_3_3.vblock b/tests/preamble_tests/preamble_v2x/fw_3_3.vblock
new file mode 100644 (file)
index 0000000..2633870
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_3_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_3_4.vblock b/tests/preamble_tests/preamble_v2x/fw_3_4.vblock
new file mode 100644 (file)
index 0000000..27331a0
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_3_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_3_5.vblock b/tests/preamble_tests/preamble_v2x/fw_3_5.vblock
new file mode 100644 (file)
index 0000000..a9fa680
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_3_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_3_6.vblock b/tests/preamble_tests/preamble_v2x/fw_3_6.vblock
new file mode 100644 (file)
index 0000000..c2ba832
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_3_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_3_7.vblock b/tests/preamble_tests/preamble_v2x/fw_3_7.vblock
new file mode 100644 (file)
index 0000000..770d739
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_3_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_3_8.vblock b/tests/preamble_tests/preamble_v2x/fw_3_8.vblock
new file mode 100644 (file)
index 0000000..b77a502
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_3_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_3_9.vblock b/tests/preamble_tests/preamble_v2x/fw_3_9.vblock
new file mode 100644 (file)
index 0000000..a3679a1
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_3_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_4_0.vblock b/tests/preamble_tests/preamble_v2x/fw_4_0.vblock
new file mode 100644 (file)
index 0000000..f2f8976
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_4_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_4_1.vblock b/tests/preamble_tests/preamble_v2x/fw_4_1.vblock
new file mode 100644 (file)
index 0000000..90f919f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_4_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_4_10.vblock b/tests/preamble_tests/preamble_v2x/fw_4_10.vblock
new file mode 100644 (file)
index 0000000..0f60ee6
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_4_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_4_11.vblock b/tests/preamble_tests/preamble_v2x/fw_4_11.vblock
new file mode 100644 (file)
index 0000000..228bad4
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_4_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_4_2.vblock b/tests/preamble_tests/preamble_v2x/fw_4_2.vblock
new file mode 100644 (file)
index 0000000..e46f4c6
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_4_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_4_3.vblock b/tests/preamble_tests/preamble_v2x/fw_4_3.vblock
new file mode 100644 (file)
index 0000000..91ec252
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_4_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_4_4.vblock b/tests/preamble_tests/preamble_v2x/fw_4_4.vblock
new file mode 100644 (file)
index 0000000..6331c7b
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_4_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_4_5.vblock b/tests/preamble_tests/preamble_v2x/fw_4_5.vblock
new file mode 100644 (file)
index 0000000..7f63bad
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_4_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_4_6.vblock b/tests/preamble_tests/preamble_v2x/fw_4_6.vblock
new file mode 100644 (file)
index 0000000..d98b709
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_4_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_4_7.vblock b/tests/preamble_tests/preamble_v2x/fw_4_7.vblock
new file mode 100644 (file)
index 0000000..5dd2aae
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_4_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_4_8.vblock b/tests/preamble_tests/preamble_v2x/fw_4_8.vblock
new file mode 100644 (file)
index 0000000..e7fcbc7
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_4_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_4_9.vblock b/tests/preamble_tests/preamble_v2x/fw_4_9.vblock
new file mode 100644 (file)
index 0000000..05f3e9a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_4_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_5_0.vblock b/tests/preamble_tests/preamble_v2x/fw_5_0.vblock
new file mode 100644 (file)
index 0000000..876a2e3
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_5_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_5_1.vblock b/tests/preamble_tests/preamble_v2x/fw_5_1.vblock
new file mode 100644 (file)
index 0000000..6ba0162
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_5_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_5_10.vblock b/tests/preamble_tests/preamble_v2x/fw_5_10.vblock
new file mode 100644 (file)
index 0000000..53b00f0
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_5_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_5_11.vblock b/tests/preamble_tests/preamble_v2x/fw_5_11.vblock
new file mode 100644 (file)
index 0000000..9e1a63f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_5_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_5_2.vblock b/tests/preamble_tests/preamble_v2x/fw_5_2.vblock
new file mode 100644 (file)
index 0000000..7c2bc1a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_5_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_5_3.vblock b/tests/preamble_tests/preamble_v2x/fw_5_3.vblock
new file mode 100644 (file)
index 0000000..e5301dc
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_5_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_5_4.vblock b/tests/preamble_tests/preamble_v2x/fw_5_4.vblock
new file mode 100644 (file)
index 0000000..6271c96
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_5_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_5_5.vblock b/tests/preamble_tests/preamble_v2x/fw_5_5.vblock
new file mode 100644 (file)
index 0000000..93ac33a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_5_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_5_6.vblock b/tests/preamble_tests/preamble_v2x/fw_5_6.vblock
new file mode 100644 (file)
index 0000000..3a692c8
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_5_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_5_7.vblock b/tests/preamble_tests/preamble_v2x/fw_5_7.vblock
new file mode 100644 (file)
index 0000000..9563c43
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_5_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_5_8.vblock b/tests/preamble_tests/preamble_v2x/fw_5_8.vblock
new file mode 100644 (file)
index 0000000..264fe2e
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_5_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_5_9.vblock b/tests/preamble_tests/preamble_v2x/fw_5_9.vblock
new file mode 100644 (file)
index 0000000..e475377
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_5_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_6_0.vblock b/tests/preamble_tests/preamble_v2x/fw_6_0.vblock
new file mode 100644 (file)
index 0000000..6041f55
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_6_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_6_1.vblock b/tests/preamble_tests/preamble_v2x/fw_6_1.vblock
new file mode 100644 (file)
index 0000000..0eb1b65
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_6_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_6_10.vblock b/tests/preamble_tests/preamble_v2x/fw_6_10.vblock
new file mode 100644 (file)
index 0000000..e4fd494
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_6_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_6_11.vblock b/tests/preamble_tests/preamble_v2x/fw_6_11.vblock
new file mode 100644 (file)
index 0000000..9607f1c
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_6_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_6_2.vblock b/tests/preamble_tests/preamble_v2x/fw_6_2.vblock
new file mode 100644 (file)
index 0000000..e40941a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_6_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_6_3.vblock b/tests/preamble_tests/preamble_v2x/fw_6_3.vblock
new file mode 100644 (file)
index 0000000..2a56aae
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_6_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_6_4.vblock b/tests/preamble_tests/preamble_v2x/fw_6_4.vblock
new file mode 100644 (file)
index 0000000..a14270c
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_6_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_6_5.vblock b/tests/preamble_tests/preamble_v2x/fw_6_5.vblock
new file mode 100644 (file)
index 0000000..e4da434
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_6_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_6_6.vblock b/tests/preamble_tests/preamble_v2x/fw_6_6.vblock
new file mode 100644 (file)
index 0000000..798491f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_6_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_6_7.vblock b/tests/preamble_tests/preamble_v2x/fw_6_7.vblock
new file mode 100644 (file)
index 0000000..ce19ac3
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_6_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_6_8.vblock b/tests/preamble_tests/preamble_v2x/fw_6_8.vblock
new file mode 100644 (file)
index 0000000..85cb792
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_6_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_6_9.vblock b/tests/preamble_tests/preamble_v2x/fw_6_9.vblock
new file mode 100644 (file)
index 0000000..4093680
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_6_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_7_0.vblock b/tests/preamble_tests/preamble_v2x/fw_7_0.vblock
new file mode 100644 (file)
index 0000000..921718d
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_7_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_7_1.vblock b/tests/preamble_tests/preamble_v2x/fw_7_1.vblock
new file mode 100644 (file)
index 0000000..ea17d55
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_7_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_7_10.vblock b/tests/preamble_tests/preamble_v2x/fw_7_10.vblock
new file mode 100644 (file)
index 0000000..03e218a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_7_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_7_11.vblock b/tests/preamble_tests/preamble_v2x/fw_7_11.vblock
new file mode 100644 (file)
index 0000000..8c0df1a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_7_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_7_2.vblock b/tests/preamble_tests/preamble_v2x/fw_7_2.vblock
new file mode 100644 (file)
index 0000000..4ad44a8
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_7_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_7_3.vblock b/tests/preamble_tests/preamble_v2x/fw_7_3.vblock
new file mode 100644 (file)
index 0000000..fcf5f89
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_7_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_7_4.vblock b/tests/preamble_tests/preamble_v2x/fw_7_4.vblock
new file mode 100644 (file)
index 0000000..67deffe
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_7_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_7_5.vblock b/tests/preamble_tests/preamble_v2x/fw_7_5.vblock
new file mode 100644 (file)
index 0000000..0077be7
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_7_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_7_6.vblock b/tests/preamble_tests/preamble_v2x/fw_7_6.vblock
new file mode 100644 (file)
index 0000000..a1025fd
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_7_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_7_7.vblock b/tests/preamble_tests/preamble_v2x/fw_7_7.vblock
new file mode 100644 (file)
index 0000000..be91a8c
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_7_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_7_8.vblock b/tests/preamble_tests/preamble_v2x/fw_7_8.vblock
new file mode 100644 (file)
index 0000000..f844982
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_7_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_7_9.vblock b/tests/preamble_tests/preamble_v2x/fw_7_9.vblock
new file mode 100644 (file)
index 0000000..3432ea5
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_7_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_8_0.vblock b/tests/preamble_tests/preamble_v2x/fw_8_0.vblock
new file mode 100644 (file)
index 0000000..3f9183a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_8_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_8_1.vblock b/tests/preamble_tests/preamble_v2x/fw_8_1.vblock
new file mode 100644 (file)
index 0000000..74270d0
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_8_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_8_10.vblock b/tests/preamble_tests/preamble_v2x/fw_8_10.vblock
new file mode 100644 (file)
index 0000000..e38e212
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_8_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_8_11.vblock b/tests/preamble_tests/preamble_v2x/fw_8_11.vblock
new file mode 100644 (file)
index 0000000..84ba8c7
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_8_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_8_2.vblock b/tests/preamble_tests/preamble_v2x/fw_8_2.vblock
new file mode 100644 (file)
index 0000000..459e9bc
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_8_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_8_3.vblock b/tests/preamble_tests/preamble_v2x/fw_8_3.vblock
new file mode 100644 (file)
index 0000000..bc9ab09
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_8_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_8_4.vblock b/tests/preamble_tests/preamble_v2x/fw_8_4.vblock
new file mode 100644 (file)
index 0000000..5c087fe
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_8_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_8_5.vblock b/tests/preamble_tests/preamble_v2x/fw_8_5.vblock
new file mode 100644 (file)
index 0000000..53a8c69
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_8_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_8_6.vblock b/tests/preamble_tests/preamble_v2x/fw_8_6.vblock
new file mode 100644 (file)
index 0000000..b0656a1
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_8_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_8_7.vblock b/tests/preamble_tests/preamble_v2x/fw_8_7.vblock
new file mode 100644 (file)
index 0000000..c780aee
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_8_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_8_8.vblock b/tests/preamble_tests/preamble_v2x/fw_8_8.vblock
new file mode 100644 (file)
index 0000000..193c5b8
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_8_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_8_9.vblock b/tests/preamble_tests/preamble_v2x/fw_8_9.vblock
new file mode 100644 (file)
index 0000000..6d109d4
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_8_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_9_0.vblock b/tests/preamble_tests/preamble_v2x/fw_9_0.vblock
new file mode 100644 (file)
index 0000000..2fc6d4f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_9_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_9_1.vblock b/tests/preamble_tests/preamble_v2x/fw_9_1.vblock
new file mode 100644 (file)
index 0000000..d04ab0f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_9_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_9_10.vblock b/tests/preamble_tests/preamble_v2x/fw_9_10.vblock
new file mode 100644 (file)
index 0000000..8160172
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_9_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_9_11.vblock b/tests/preamble_tests/preamble_v2x/fw_9_11.vblock
new file mode 100644 (file)
index 0000000..acabf1f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_9_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_9_2.vblock b/tests/preamble_tests/preamble_v2x/fw_9_2.vblock
new file mode 100644 (file)
index 0000000..bfa38fd
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_9_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_9_3.vblock b/tests/preamble_tests/preamble_v2x/fw_9_3.vblock
new file mode 100644 (file)
index 0000000..769cb2d
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_9_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_9_4.vblock b/tests/preamble_tests/preamble_v2x/fw_9_4.vblock
new file mode 100644 (file)
index 0000000..fd8a402
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_9_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_9_5.vblock b/tests/preamble_tests/preamble_v2x/fw_9_5.vblock
new file mode 100644 (file)
index 0000000..1952c85
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_9_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_9_6.vblock b/tests/preamble_tests/preamble_v2x/fw_9_6.vblock
new file mode 100644 (file)
index 0000000..a05ec6c
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_9_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_9_7.vblock b/tests/preamble_tests/preamble_v2x/fw_9_7.vblock
new file mode 100644 (file)
index 0000000..0b8bddd
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_9_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_9_8.vblock b/tests/preamble_tests/preamble_v2x/fw_9_8.vblock
new file mode 100644 (file)
index 0000000..5d8655b
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_9_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/fw_9_9.vblock b/tests/preamble_tests/preamble_v2x/fw_9_9.vblock
new file mode 100644 (file)
index 0000000..ee574e6
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/fw_9_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_0_0.vblock b/tests/preamble_tests/preamble_v2x/kern_0_0.vblock
new file mode 100644 (file)
index 0000000..2d766e6
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_0_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_0_1.vblock b/tests/preamble_tests/preamble_v2x/kern_0_1.vblock
new file mode 100644 (file)
index 0000000..91a732f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_0_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_0_10.vblock b/tests/preamble_tests/preamble_v2x/kern_0_10.vblock
new file mode 100644 (file)
index 0000000..6f317f8
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_0_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_0_11.vblock b/tests/preamble_tests/preamble_v2x/kern_0_11.vblock
new file mode 100644 (file)
index 0000000..12353d7
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_0_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_0_2.vblock b/tests/preamble_tests/preamble_v2x/kern_0_2.vblock
new file mode 100644 (file)
index 0000000..eac60c4
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_0_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_0_3.vblock b/tests/preamble_tests/preamble_v2x/kern_0_3.vblock
new file mode 100644 (file)
index 0000000..0310591
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_0_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_0_4.vblock b/tests/preamble_tests/preamble_v2x/kern_0_4.vblock
new file mode 100644 (file)
index 0000000..d3b73e1
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_0_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_0_5.vblock b/tests/preamble_tests/preamble_v2x/kern_0_5.vblock
new file mode 100644 (file)
index 0000000..d29e642
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_0_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_0_6.vblock b/tests/preamble_tests/preamble_v2x/kern_0_6.vblock
new file mode 100644 (file)
index 0000000..a2987ce
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_0_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_0_7.vblock b/tests/preamble_tests/preamble_v2x/kern_0_7.vblock
new file mode 100644 (file)
index 0000000..ff064d3
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_0_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_0_8.vblock b/tests/preamble_tests/preamble_v2x/kern_0_8.vblock
new file mode 100644 (file)
index 0000000..3f420c1
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_0_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_0_9.vblock b/tests/preamble_tests/preamble_v2x/kern_0_9.vblock
new file mode 100644 (file)
index 0000000..cf4d8dd
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_0_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_10_0.vblock b/tests/preamble_tests/preamble_v2x/kern_10_0.vblock
new file mode 100644 (file)
index 0000000..385bd9b
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_10_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_10_1.vblock b/tests/preamble_tests/preamble_v2x/kern_10_1.vblock
new file mode 100644 (file)
index 0000000..0f8277d
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_10_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_10_10.vblock b/tests/preamble_tests/preamble_v2x/kern_10_10.vblock
new file mode 100644 (file)
index 0000000..859e859
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_10_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_10_11.vblock b/tests/preamble_tests/preamble_v2x/kern_10_11.vblock
new file mode 100644 (file)
index 0000000..341d339
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_10_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_10_2.vblock b/tests/preamble_tests/preamble_v2x/kern_10_2.vblock
new file mode 100644 (file)
index 0000000..bed4935
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_10_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_10_3.vblock b/tests/preamble_tests/preamble_v2x/kern_10_3.vblock
new file mode 100644 (file)
index 0000000..b7914f1
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_10_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_10_4.vblock b/tests/preamble_tests/preamble_v2x/kern_10_4.vblock
new file mode 100644 (file)
index 0000000..7dc8b0e
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_10_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_10_5.vblock b/tests/preamble_tests/preamble_v2x/kern_10_5.vblock
new file mode 100644 (file)
index 0000000..863af76
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_10_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_10_6.vblock b/tests/preamble_tests/preamble_v2x/kern_10_6.vblock
new file mode 100644 (file)
index 0000000..2ddda3f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_10_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_10_7.vblock b/tests/preamble_tests/preamble_v2x/kern_10_7.vblock
new file mode 100644 (file)
index 0000000..9166f31
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_10_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_10_8.vblock b/tests/preamble_tests/preamble_v2x/kern_10_8.vblock
new file mode 100644 (file)
index 0000000..6d1be0f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_10_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_10_9.vblock b/tests/preamble_tests/preamble_v2x/kern_10_9.vblock
new file mode 100644 (file)
index 0000000..712ab31
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_10_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_11_0.vblock b/tests/preamble_tests/preamble_v2x/kern_11_0.vblock
new file mode 100644 (file)
index 0000000..4a7bdb4
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_11_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_11_1.vblock b/tests/preamble_tests/preamble_v2x/kern_11_1.vblock
new file mode 100644 (file)
index 0000000..02f8b6e
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_11_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_11_10.vblock b/tests/preamble_tests/preamble_v2x/kern_11_10.vblock
new file mode 100644 (file)
index 0000000..a10e66d
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_11_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_11_11.vblock b/tests/preamble_tests/preamble_v2x/kern_11_11.vblock
new file mode 100644 (file)
index 0000000..0ad90a1
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_11_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_11_2.vblock b/tests/preamble_tests/preamble_v2x/kern_11_2.vblock
new file mode 100644 (file)
index 0000000..a3d7aaf
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_11_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_11_3.vblock b/tests/preamble_tests/preamble_v2x/kern_11_3.vblock
new file mode 100644 (file)
index 0000000..60cde01
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_11_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_11_4.vblock b/tests/preamble_tests/preamble_v2x/kern_11_4.vblock
new file mode 100644 (file)
index 0000000..e42ad1b
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_11_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_11_5.vblock b/tests/preamble_tests/preamble_v2x/kern_11_5.vblock
new file mode 100644 (file)
index 0000000..5b5c0cb
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_11_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_11_6.vblock b/tests/preamble_tests/preamble_v2x/kern_11_6.vblock
new file mode 100644 (file)
index 0000000..acb80a8
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_11_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_11_7.vblock b/tests/preamble_tests/preamble_v2x/kern_11_7.vblock
new file mode 100644 (file)
index 0000000..00446d5
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_11_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_11_8.vblock b/tests/preamble_tests/preamble_v2x/kern_11_8.vblock
new file mode 100644 (file)
index 0000000..91f2264
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_11_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_11_9.vblock b/tests/preamble_tests/preamble_v2x/kern_11_9.vblock
new file mode 100644 (file)
index 0000000..73d4626
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_11_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_1_0.vblock b/tests/preamble_tests/preamble_v2x/kern_1_0.vblock
new file mode 100644 (file)
index 0000000..9da762a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_1_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_1_1.vblock b/tests/preamble_tests/preamble_v2x/kern_1_1.vblock
new file mode 100644 (file)
index 0000000..86b665a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_1_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_1_10.vblock b/tests/preamble_tests/preamble_v2x/kern_1_10.vblock
new file mode 100644 (file)
index 0000000..3e58df0
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_1_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_1_11.vblock b/tests/preamble_tests/preamble_v2x/kern_1_11.vblock
new file mode 100644 (file)
index 0000000..421f63c
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_1_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_1_2.vblock b/tests/preamble_tests/preamble_v2x/kern_1_2.vblock
new file mode 100644 (file)
index 0000000..2409233
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_1_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_1_3.vblock b/tests/preamble_tests/preamble_v2x/kern_1_3.vblock
new file mode 100644 (file)
index 0000000..1bdba9d
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_1_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_1_4.vblock b/tests/preamble_tests/preamble_v2x/kern_1_4.vblock
new file mode 100644 (file)
index 0000000..f87045a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_1_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_1_5.vblock b/tests/preamble_tests/preamble_v2x/kern_1_5.vblock
new file mode 100644 (file)
index 0000000..9f0dab3
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_1_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_1_6.vblock b/tests/preamble_tests/preamble_v2x/kern_1_6.vblock
new file mode 100644 (file)
index 0000000..9650d36
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_1_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_1_7.vblock b/tests/preamble_tests/preamble_v2x/kern_1_7.vblock
new file mode 100644 (file)
index 0000000..f6293f8
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_1_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_1_8.vblock b/tests/preamble_tests/preamble_v2x/kern_1_8.vblock
new file mode 100644 (file)
index 0000000..c594f32
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_1_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_1_9.vblock b/tests/preamble_tests/preamble_v2x/kern_1_9.vblock
new file mode 100644 (file)
index 0000000..7bcbd42
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_1_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_2_0.vblock b/tests/preamble_tests/preamble_v2x/kern_2_0.vblock
new file mode 100644 (file)
index 0000000..9f43f12
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_2_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_2_1.vblock b/tests/preamble_tests/preamble_v2x/kern_2_1.vblock
new file mode 100644 (file)
index 0000000..973d7a7
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_2_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_2_10.vblock b/tests/preamble_tests/preamble_v2x/kern_2_10.vblock
new file mode 100644 (file)
index 0000000..87eeb6d
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_2_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_2_11.vblock b/tests/preamble_tests/preamble_v2x/kern_2_11.vblock
new file mode 100644 (file)
index 0000000..e2ca47d
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_2_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_2_2.vblock b/tests/preamble_tests/preamble_v2x/kern_2_2.vblock
new file mode 100644 (file)
index 0000000..b8ea351
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_2_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_2_3.vblock b/tests/preamble_tests/preamble_v2x/kern_2_3.vblock
new file mode 100644 (file)
index 0000000..2361ea3
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_2_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_2_4.vblock b/tests/preamble_tests/preamble_v2x/kern_2_4.vblock
new file mode 100644 (file)
index 0000000..d89a8dd
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_2_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_2_5.vblock b/tests/preamble_tests/preamble_v2x/kern_2_5.vblock
new file mode 100644 (file)
index 0000000..6840eb5
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_2_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_2_6.vblock b/tests/preamble_tests/preamble_v2x/kern_2_6.vblock
new file mode 100644 (file)
index 0000000..de39553
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_2_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_2_7.vblock b/tests/preamble_tests/preamble_v2x/kern_2_7.vblock
new file mode 100644 (file)
index 0000000..124d1e9
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_2_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_2_8.vblock b/tests/preamble_tests/preamble_v2x/kern_2_8.vblock
new file mode 100644 (file)
index 0000000..af6ffdb
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_2_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_2_9.vblock b/tests/preamble_tests/preamble_v2x/kern_2_9.vblock
new file mode 100644 (file)
index 0000000..6b09c7e
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_2_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_3_0.vblock b/tests/preamble_tests/preamble_v2x/kern_3_0.vblock
new file mode 100644 (file)
index 0000000..9086e89
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_3_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_3_1.vblock b/tests/preamble_tests/preamble_v2x/kern_3_1.vblock
new file mode 100644 (file)
index 0000000..b07ec0f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_3_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_3_10.vblock b/tests/preamble_tests/preamble_v2x/kern_3_10.vblock
new file mode 100644 (file)
index 0000000..d412135
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_3_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_3_11.vblock b/tests/preamble_tests/preamble_v2x/kern_3_11.vblock
new file mode 100644 (file)
index 0000000..6fdf6a8
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_3_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_3_2.vblock b/tests/preamble_tests/preamble_v2x/kern_3_2.vblock
new file mode 100644 (file)
index 0000000..bfb3334
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_3_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_3_3.vblock b/tests/preamble_tests/preamble_v2x/kern_3_3.vblock
new file mode 100644 (file)
index 0000000..8f3eaed
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_3_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_3_4.vblock b/tests/preamble_tests/preamble_v2x/kern_3_4.vblock
new file mode 100644 (file)
index 0000000..0a876e7
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_3_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_3_5.vblock b/tests/preamble_tests/preamble_v2x/kern_3_5.vblock
new file mode 100644 (file)
index 0000000..fe26af2
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_3_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_3_6.vblock b/tests/preamble_tests/preamble_v2x/kern_3_6.vblock
new file mode 100644 (file)
index 0000000..53a1147
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_3_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_3_7.vblock b/tests/preamble_tests/preamble_v2x/kern_3_7.vblock
new file mode 100644 (file)
index 0000000..3602540
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_3_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_3_8.vblock b/tests/preamble_tests/preamble_v2x/kern_3_8.vblock
new file mode 100644 (file)
index 0000000..1463459
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_3_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_3_9.vblock b/tests/preamble_tests/preamble_v2x/kern_3_9.vblock
new file mode 100644 (file)
index 0000000..0b169cb
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_3_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_4_0.vblock b/tests/preamble_tests/preamble_v2x/kern_4_0.vblock
new file mode 100644 (file)
index 0000000..fe06eb6
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_4_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_4_1.vblock b/tests/preamble_tests/preamble_v2x/kern_4_1.vblock
new file mode 100644 (file)
index 0000000..23dcc89
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_4_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_4_10.vblock b/tests/preamble_tests/preamble_v2x/kern_4_10.vblock
new file mode 100644 (file)
index 0000000..0fd6146
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_4_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_4_11.vblock b/tests/preamble_tests/preamble_v2x/kern_4_11.vblock
new file mode 100644 (file)
index 0000000..e845347
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_4_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_4_2.vblock b/tests/preamble_tests/preamble_v2x/kern_4_2.vblock
new file mode 100644 (file)
index 0000000..069597f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_4_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_4_3.vblock b/tests/preamble_tests/preamble_v2x/kern_4_3.vblock
new file mode 100644 (file)
index 0000000..dcb5493
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_4_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_4_4.vblock b/tests/preamble_tests/preamble_v2x/kern_4_4.vblock
new file mode 100644 (file)
index 0000000..66d104e
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_4_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_4_5.vblock b/tests/preamble_tests/preamble_v2x/kern_4_5.vblock
new file mode 100644 (file)
index 0000000..e70f27f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_4_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_4_6.vblock b/tests/preamble_tests/preamble_v2x/kern_4_6.vblock
new file mode 100644 (file)
index 0000000..17e069c
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_4_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_4_7.vblock b/tests/preamble_tests/preamble_v2x/kern_4_7.vblock
new file mode 100644 (file)
index 0000000..2e37d2f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_4_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_4_8.vblock b/tests/preamble_tests/preamble_v2x/kern_4_8.vblock
new file mode 100644 (file)
index 0000000..2b1c3ae
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_4_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_4_9.vblock b/tests/preamble_tests/preamble_v2x/kern_4_9.vblock
new file mode 100644 (file)
index 0000000..9acaaf3
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_4_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_5_0.vblock b/tests/preamble_tests/preamble_v2x/kern_5_0.vblock
new file mode 100644 (file)
index 0000000..6b3b1ef
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_5_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_5_1.vblock b/tests/preamble_tests/preamble_v2x/kern_5_1.vblock
new file mode 100644 (file)
index 0000000..9a3ee86
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_5_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_5_10.vblock b/tests/preamble_tests/preamble_v2x/kern_5_10.vblock
new file mode 100644 (file)
index 0000000..ddaab18
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_5_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_5_11.vblock b/tests/preamble_tests/preamble_v2x/kern_5_11.vblock
new file mode 100644 (file)
index 0000000..d7f0482
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_5_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_5_2.vblock b/tests/preamble_tests/preamble_v2x/kern_5_2.vblock
new file mode 100644 (file)
index 0000000..fbfd226
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_5_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_5_3.vblock b/tests/preamble_tests/preamble_v2x/kern_5_3.vblock
new file mode 100644 (file)
index 0000000..8aa55b2
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_5_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_5_4.vblock b/tests/preamble_tests/preamble_v2x/kern_5_4.vblock
new file mode 100644 (file)
index 0000000..4b19c14
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_5_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_5_5.vblock b/tests/preamble_tests/preamble_v2x/kern_5_5.vblock
new file mode 100644 (file)
index 0000000..1fd5568
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_5_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_5_6.vblock b/tests/preamble_tests/preamble_v2x/kern_5_6.vblock
new file mode 100644 (file)
index 0000000..681cf05
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_5_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_5_7.vblock b/tests/preamble_tests/preamble_v2x/kern_5_7.vblock
new file mode 100644 (file)
index 0000000..83b7202
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_5_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_5_8.vblock b/tests/preamble_tests/preamble_v2x/kern_5_8.vblock
new file mode 100644 (file)
index 0000000..33a675b
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_5_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_5_9.vblock b/tests/preamble_tests/preamble_v2x/kern_5_9.vblock
new file mode 100644 (file)
index 0000000..588dc60
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_5_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_6_0.vblock b/tests/preamble_tests/preamble_v2x/kern_6_0.vblock
new file mode 100644 (file)
index 0000000..173107a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_6_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_6_1.vblock b/tests/preamble_tests/preamble_v2x/kern_6_1.vblock
new file mode 100644 (file)
index 0000000..44af122
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_6_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_6_10.vblock b/tests/preamble_tests/preamble_v2x/kern_6_10.vblock
new file mode 100644 (file)
index 0000000..31164a2
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_6_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_6_11.vblock b/tests/preamble_tests/preamble_v2x/kern_6_11.vblock
new file mode 100644 (file)
index 0000000..68a25fd
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_6_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_6_2.vblock b/tests/preamble_tests/preamble_v2x/kern_6_2.vblock
new file mode 100644 (file)
index 0000000..4711591
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_6_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_6_3.vblock b/tests/preamble_tests/preamble_v2x/kern_6_3.vblock
new file mode 100644 (file)
index 0000000..81e41e0
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_6_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_6_4.vblock b/tests/preamble_tests/preamble_v2x/kern_6_4.vblock
new file mode 100644 (file)
index 0000000..27f4deb
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_6_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_6_5.vblock b/tests/preamble_tests/preamble_v2x/kern_6_5.vblock
new file mode 100644 (file)
index 0000000..e20ce4e
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_6_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_6_6.vblock b/tests/preamble_tests/preamble_v2x/kern_6_6.vblock
new file mode 100644 (file)
index 0000000..0675d90
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_6_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_6_7.vblock b/tests/preamble_tests/preamble_v2x/kern_6_7.vblock
new file mode 100644 (file)
index 0000000..e704a37
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_6_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_6_8.vblock b/tests/preamble_tests/preamble_v2x/kern_6_8.vblock
new file mode 100644 (file)
index 0000000..e3c9cb3
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_6_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_6_9.vblock b/tests/preamble_tests/preamble_v2x/kern_6_9.vblock
new file mode 100644 (file)
index 0000000..14ec0b7
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_6_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_7_0.vblock b/tests/preamble_tests/preamble_v2x/kern_7_0.vblock
new file mode 100644 (file)
index 0000000..0f895d5
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_7_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_7_1.vblock b/tests/preamble_tests/preamble_v2x/kern_7_1.vblock
new file mode 100644 (file)
index 0000000..18bb6b3
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_7_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_7_10.vblock b/tests/preamble_tests/preamble_v2x/kern_7_10.vblock
new file mode 100644 (file)
index 0000000..7e64df5
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_7_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_7_11.vblock b/tests/preamble_tests/preamble_v2x/kern_7_11.vblock
new file mode 100644 (file)
index 0000000..f4621af
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_7_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_7_2.vblock b/tests/preamble_tests/preamble_v2x/kern_7_2.vblock
new file mode 100644 (file)
index 0000000..e9f6f41
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_7_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_7_3.vblock b/tests/preamble_tests/preamble_v2x/kern_7_3.vblock
new file mode 100644 (file)
index 0000000..f01797e
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_7_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_7_4.vblock b/tests/preamble_tests/preamble_v2x/kern_7_4.vblock
new file mode 100644 (file)
index 0000000..9def5c2
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_7_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_7_5.vblock b/tests/preamble_tests/preamble_v2x/kern_7_5.vblock
new file mode 100644 (file)
index 0000000..668fa7c
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_7_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_7_6.vblock b/tests/preamble_tests/preamble_v2x/kern_7_6.vblock
new file mode 100644 (file)
index 0000000..8395e18
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_7_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_7_7.vblock b/tests/preamble_tests/preamble_v2x/kern_7_7.vblock
new file mode 100644 (file)
index 0000000..796ee81
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_7_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_7_8.vblock b/tests/preamble_tests/preamble_v2x/kern_7_8.vblock
new file mode 100644 (file)
index 0000000..be961b4
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_7_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_7_9.vblock b/tests/preamble_tests/preamble_v2x/kern_7_9.vblock
new file mode 100644 (file)
index 0000000..966a613
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_7_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_8_0.vblock b/tests/preamble_tests/preamble_v2x/kern_8_0.vblock
new file mode 100644 (file)
index 0000000..921d34c
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_8_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_8_1.vblock b/tests/preamble_tests/preamble_v2x/kern_8_1.vblock
new file mode 100644 (file)
index 0000000..c74b3f1
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_8_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_8_10.vblock b/tests/preamble_tests/preamble_v2x/kern_8_10.vblock
new file mode 100644 (file)
index 0000000..c1a8465
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_8_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_8_11.vblock b/tests/preamble_tests/preamble_v2x/kern_8_11.vblock
new file mode 100644 (file)
index 0000000..d6ccce3
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_8_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_8_2.vblock b/tests/preamble_tests/preamble_v2x/kern_8_2.vblock
new file mode 100644 (file)
index 0000000..63f672c
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_8_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_8_3.vblock b/tests/preamble_tests/preamble_v2x/kern_8_3.vblock
new file mode 100644 (file)
index 0000000..6d34ee5
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_8_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_8_4.vblock b/tests/preamble_tests/preamble_v2x/kern_8_4.vblock
new file mode 100644 (file)
index 0000000..91f98d1
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_8_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_8_5.vblock b/tests/preamble_tests/preamble_v2x/kern_8_5.vblock
new file mode 100644 (file)
index 0000000..49f52f6
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_8_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_8_6.vblock b/tests/preamble_tests/preamble_v2x/kern_8_6.vblock
new file mode 100644 (file)
index 0000000..262255a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_8_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_8_7.vblock b/tests/preamble_tests/preamble_v2x/kern_8_7.vblock
new file mode 100644 (file)
index 0000000..fe9841f
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_8_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_8_8.vblock b/tests/preamble_tests/preamble_v2x/kern_8_8.vblock
new file mode 100644 (file)
index 0000000..d457806
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_8_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_8_9.vblock b/tests/preamble_tests/preamble_v2x/kern_8_9.vblock
new file mode 100644 (file)
index 0000000..023e0e3
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_8_9.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_9_0.vblock b/tests/preamble_tests/preamble_v2x/kern_9_0.vblock
new file mode 100644 (file)
index 0000000..1ae72ae
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_9_0.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_9_1.vblock b/tests/preamble_tests/preamble_v2x/kern_9_1.vblock
new file mode 100644 (file)
index 0000000..ca685d1
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_9_1.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_9_10.vblock b/tests/preamble_tests/preamble_v2x/kern_9_10.vblock
new file mode 100644 (file)
index 0000000..b38fee8
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_9_10.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_9_11.vblock b/tests/preamble_tests/preamble_v2x/kern_9_11.vblock
new file mode 100644 (file)
index 0000000..0f83c5b
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_9_11.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_9_2.vblock b/tests/preamble_tests/preamble_v2x/kern_9_2.vblock
new file mode 100644 (file)
index 0000000..986414a
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_9_2.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_9_3.vblock b/tests/preamble_tests/preamble_v2x/kern_9_3.vblock
new file mode 100644 (file)
index 0000000..c1ede4b
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_9_3.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_9_4.vblock b/tests/preamble_tests/preamble_v2x/kern_9_4.vblock
new file mode 100644 (file)
index 0000000..fa4eee8
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_9_4.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_9_5.vblock b/tests/preamble_tests/preamble_v2x/kern_9_5.vblock
new file mode 100644 (file)
index 0000000..e951642
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_9_5.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_9_6.vblock b/tests/preamble_tests/preamble_v2x/kern_9_6.vblock
new file mode 100644 (file)
index 0000000..cbcdc51
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_9_6.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_9_7.vblock b/tests/preamble_tests/preamble_v2x/kern_9_7.vblock
new file mode 100644 (file)
index 0000000..e544cb9
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_9_7.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_9_8.vblock b/tests/preamble_tests/preamble_v2x/kern_9_8.vblock
new file mode 100644 (file)
index 0000000..8eca173
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_9_8.vblock differ
diff --git a/tests/preamble_tests/preamble_v2x/kern_9_9.vblock b/tests/preamble_tests/preamble_v2x/kern_9_9.vblock
new file mode 100644 (file)
index 0000000..fc6bfb5
Binary files /dev/null and b/tests/preamble_tests/preamble_v2x/kern_9_9.vblock differ
diff --git a/tests/rsa_padding_test.h b/tests/rsa_padding_test.h
new file mode 100644 (file)
index 0000000..bf039f5
--- /dev/null
@@ -0,0 +1,53 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Signature tests vectors for checking RSA PKCS #1 v1.5 padding
+ * implementations. These check an RSA signature verification implementation
+ * against Daniel Bleichhenbacher's RSA signature padding attack.
+ *
+ * Test vectors are due to Daniel Bleichenbacher (bleichen@google.com).
+ */
+
+#ifndef VBOOT_REFERENCE_RSA_PADDING_TEST_H_
+#define VBOOT_REFERENCE_RSA_PADDING_TEST_H_
+
+#define RSA1024NUMBYTES 128  /* 1024 bit key length */
+#define RSA2048NUMBYTES 256  /* 2048 bit key length */
+#define RSA3072NUMBYTES 384  /* 3072 bit key length */
+#define RSA4096NUMBYTES 512  /* 4096 bit key length */
+#define RSA8192NUMBYTES 1024  /* 8192 bit key length */
+
+/* The modulus of the public key (RSA-1024). */
+static const uint8_t pubkey_n[] = {
+210, 136, 105, 162, 117, 171, 114, 146, 81, 242, 21, 222, 87, 60, 122, 176, 245,
+57, 213, 159, 196, 165, 40, 75, 146, 35, 114, 118, 25, 196, 150, 38, 40, 195,
+56, 109, 145, 47, 171, 117, 57, 220, 176, 186, 70, 175, 222, 65, 60, 65, 31, 88,
+93, 220, 27, 74, 73, 43, 112, 6, 242, 78, 38, 229, 58, 206, 200, 4, 196, 67, 8,
+141, 21, 141, 79, 214, 221, 179, 184, 64, 92, 8, 222, 68, 16, 97, 101, 68, 210,
+155, 217, 238, 78, 207, 202, 43, 16, 241, 194, 78, 28, 172, 124, 44, 111, 181,
+187, 71, 57, 190, 50, 109, 254, 170, 103, 126, 124, 156, 169, 36, 164, 186, 136,
+108, 66, 44, 147, 137};
+
+/* The exponent of the public key (65535) */
+static const uint8_t pubkey_e[] = {1, 0, 1};
+
+/* The message for the test. */
+static const uint8_t test_message[] = {0, 0, 0, 0};
+
+/* The SHA1 digest of the message. i.e.
+ * '9069ca78e7450a285173431b3e52c5c25299e473'. */
+static const uint8_t test_message_sha1_hash[] = {
+144, 105, 202, 120, 231, 69, 10, 40, 81, 115, 67, 27, 62, 82, 197, 194, 82, 153,
+228, 115};
+
+/* The test signatures (RSA-1024/SHA-1). signature[0] is correct,
+ * all other signatures are incorrect.
+ *
+ * TODO(gauravsh): Add similar test vectors for other string
+ */
+static const uint8_t signatures[][RSA1024NUMBYTES] = {
+#include "testcases/padding_test_vectors.inc"
+};
+
+#endif  /* VBOOT_REFERENCE_RSA_PADDING_TEST_H_ */
diff --git a/tests/run_cgpt_tests.sh b/tests/run_cgpt_tests.sh
new file mode 100755 (executable)
index 0000000..3f18624
--- /dev/null
@@ -0,0 +1,390 @@
+#!/bin/bash -eu
+
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Run tests for cgpt utility.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+CGPT=$(readlink -f "$1")
+[ -x "$CGPT" ] || error "Can't execute $CGPT"
+
+MTD="${@:2}"
+
+# Run tests in a dedicated directory for easy cleanup or debugging.
+DIR="${TEST_DIR}/cgpt_test_dir"
+[ -d "$DIR" ] || mkdir -p "$DIR"
+warning "testing $CGPT in $DIR"
+cd "$DIR"
+
+assert_fail() {
+  set +e
+  "$@" 2>/dev/null
+  if [ $? == 0 ]; then
+    error "$*" " should have failed but did not"
+  fi
+  set -e
+}
+
+# Test failure on non existing file.
+assert_fail ${CGPT} show $MTD blah_404_haha
+
+echo "Create an empty file to use as the device..."
+NUM_SECTORS=1000
+DEV=fake_dev.bin
+rm -f ${DEV}
+dd if=/dev/zero of=${DEV} conv=notrunc bs=512 count=${NUM_SECTORS} 2>/dev/null
+
+DATA_START=100
+DATA_SIZE=20
+DATA_LABEL="data stuff"
+DATA_GUID='0fc63daf-8483-4772-8e79-3d69d8477de4'
+DATA_NUM=1
+
+KERN_START=200
+KERN_SIZE=30
+KERN_LABEL="kernel stuff"
+KERN_GUID='fe3a2a5d-4f32-41a7-b725-accc3285a309'
+KERN_NUM=2
+
+ROOTFS_START=300
+ROOTFS_SIZE=40
+ROOTFS_LABEL="rootfs stuff"
+ROOTFS_GUID='3cb8e202-3b7e-47dd-8a3c-7ff2a13cfcec'
+ROOTFS_NUM=3
+
+ESP_START=400
+ESP_SIZE=50
+ESP_LABEL="ESP stuff"
+ESP_GUID='c12a7328-f81f-11d2-ba4b-00a0c93ec93b'
+ESP_NUM=4
+
+FUTURE_START=500
+FUTURE_SIZE=60
+FUTURE_LABEL="future stuff"
+FUTURE_GUID='2e0a753d-9e48-43b0-8337-b15192cb1b5e'
+FUTURE_NUM=5
+
+RANDOM_START=600
+RANDOM_SIZE=70
+RANDOM_LABEL="random stuff"
+RANDOM_GUID='2364a860-bf63-42fb-a83d-9ad3e057fcf5'
+RANDOM_NUM=6
+
+RANDOM_DRIVE_GUID='12345678-0000-1111-2222-123456789ABC'
+
+$CGPT create $MTD ${DEV}
+
+run_basic_tests() {
+  echo "Create a bunch of partitions, using the real GUID types..."
+
+  $CGPT add $MTD -b ${DATA_START} -s ${DATA_SIZE} -t ${DATA_GUID} \
+    -l "${DATA_LABEL}" ${DEV}
+  $CGPT add $MTD -b ${KERN_START} -s ${KERN_SIZE} -t ${KERN_GUID} \
+    -l "${KERN_LABEL}" ${DEV}
+  $CGPT add $MTD -b ${ROOTFS_START} -s ${ROOTFS_SIZE} -t ${ROOTFS_GUID} \
+    -l "${ROOTFS_LABEL}" ${DEV}
+  $CGPT add $MTD -b ${ESP_START} -s ${ESP_SIZE} -t ${ESP_GUID} \
+    -l "${ESP_LABEL}" ${DEV}
+  $CGPT add $MTD -b ${FUTURE_START} -s ${FUTURE_SIZE} -t ${FUTURE_GUID} \
+    -l "${FUTURE_LABEL}" ${DEV}
+  $CGPT add $MTD -b ${RANDOM_START} -s ${RANDOM_SIZE} -t ${RANDOM_GUID} \
+    -l "${RANDOM_LABEL}" ${DEV}
+
+
+  echo "Extract the start and size of given partitions..."
+
+  X=$($CGPT show $MTD -b -i $DATA_NUM ${DEV})
+  Y=$($CGPT show $MTD -s -i $DATA_NUM ${DEV})
+  [ "$X $Y" = "$DATA_START $DATA_SIZE" ] || error
+
+  X=$($CGPT show $MTD -b -i $KERN_NUM ${DEV})
+  Y=$($CGPT show $MTD -s -i $KERN_NUM ${DEV})
+  [ "$X $Y" = "$KERN_START $KERN_SIZE" ] || error
+
+  X=$($CGPT show $MTD -b -i $ROOTFS_NUM ${DEV})
+  Y=$($CGPT show $MTD -s -i $ROOTFS_NUM ${DEV})
+  [ "$X $Y" = "$ROOTFS_START $ROOTFS_SIZE" ] || error
+
+  X=$($CGPT show $MTD -b -i $ESP_NUM ${DEV})
+  Y=$($CGPT show $MTD -s -i $ESP_NUM ${DEV})
+  [ "$X $Y" = "$ESP_START $ESP_SIZE" ] || error
+
+  X=$($CGPT show $MTD -b -i $FUTURE_NUM ${DEV})
+  Y=$($CGPT show $MTD -s -i $FUTURE_NUM ${DEV})
+  [ "$X $Y" = "$FUTURE_START $FUTURE_SIZE" ] || error
+
+  X=$($CGPT show $MTD -b -i $RANDOM_NUM ${DEV})
+  Y=$($CGPT show $MTD -s -i $RANDOM_NUM ${DEV})
+  [ "$X $Y" = "$RANDOM_START $RANDOM_SIZE" ] || error
+
+
+  echo "Change the beginning..."
+  DATA_START=$((DATA_START + 10))
+  $CGPT add $MTD -i 1 -b ${DATA_START} ${DEV} || error
+  X=$($CGPT show $MTD -b -i 1 ${DEV})
+  [ "$X" = "$DATA_START" ] || error
+
+  echo "Change the size..."
+  DATA_SIZE=$((DATA_SIZE + 10))
+  $CGPT add $MTD -i 1 -s ${DATA_SIZE} ${DEV} || error
+  X=$($CGPT show $MTD -s -i 1 ${DEV})
+  [ "$X" = "$DATA_SIZE" ] || error
+
+  echo "Change the type..."
+  $CGPT add $MTD -i 1 -t reserved ${DEV} || error
+  X=$($CGPT show $MTD -t -i 1 ${DEV} | tr 'A-Z' 'a-z')
+  [ "$X" = "$FUTURE_GUID" ] || error
+  # arbitrary value
+  $CGPT add $MTD -i 1 -t 610a563a-a55c-4ae0-ab07-86e5bb9db67f ${DEV} || error
+  X=$($CGPT show $MTD -t -i 1 ${DEV})
+  [ "$X" = "610A563A-A55C-4AE0-AB07-86E5BB9DB67F" ] || error
+
+  $CGPT add $MTD -i 1 -t data ${DEV} || error
+  X=$($CGPT show $MTD -t -i 1 ${DEV} | tr 'A-Z' 'a-z')
+  [ "$X" = "$DATA_GUID" ] || error
+
+  ORIG_ID=$($CGPT show $MTD -v ${DEV} | \
+    grep -i "disk uuid" | head -1 | awk ' { print $3 } ' )
+  [ ! "$ORIG_ID" = "$RANDOM_DRIVE_GUID" ] || error
+  $CGPT edit $MTD -u ${RANDOM_DRIVE_GUID} ${DEV} || error
+  X=$($CGPT show $MTD -v ${DEV} | grep -i "disk uuid" | \
+    head -1 | awk ' { print $3 } ' )
+  [ "$X" = "${RANDOM_DRIVE_GUID}" ] || error
+  $CGPT edit $MTD -u ${ORIG_ID} ${DEV} || error
+  X=$($CGPT show $MTD -v ${DEV} | grep -i "disk uuid" | \
+    head -1 | awk ' { print $3 } ' )
+  [ "$X" = "${ORIG_ID}" ] || error
+}
+run_basic_tests
+
+ORIG_ID=$($CGPT show $MTD -v ${DEV} | \
+  grep -i "disk uuid" | awk ' { print $3 } ' )
+[ ! "$ORIG_ID" = "$RANDOM_DRIVE_GUID" ] || error
+$CGPT edit $MTD -u ${RANDOM_DRIVE_GUID} ${DEV} || error
+X=$($CGPT show $MTD -v ${DEV} | grep -i "disk uuid" | \
+  head -1 | awk ' { print $3 } ' )
+[ "$X" = "${RANDOM_DRIVE_GUID}" ] || error
+$CGPT edit $MTD -u ${ORIG_ID} ${DEV} || error
+X=$($CGPT show $MTD -v ${DEV} | grep -i "disk uuid" | \
+  awk ' { print $3 } ' )
+[ "$X" = "${ORIG_ID}" ] || error
+
+echo "Set the boot partition.."
+$CGPT boot $MTD -i ${KERN_NUM} ${DEV} >/dev/null
+
+echo "Check the PMBR's idea of the boot partition..."
+X=$($CGPT boot $MTD ${DEV})
+Y=$($CGPT show $MTD -u -i $KERN_NUM $DEV)
+[ "$X" = "$Y" ] || error
+
+# Input: sequence of priorities
+# Output: ${DEV} has kernel partitions with the given priorities
+make_pri() {
+  local idx=0
+  $CGPT create $MTD ${DEV}
+  for pri in "$@"; do
+    idx=$((idx+1))
+    $CGPT add $MTD -t kernel -l "kern$idx" -b $((100 + 2 * $idx)) -s 1 -P $pri ${DEV}
+  done
+}
+
+# Output: returns string containing priorities of all kernels
+get_pri() {
+  echo $(
+  for idx in $($CGPT find $MTD -t kernel ${DEV} | sed -e s@${DEV}@@); do
+    $CGPT show $MTD -i $idx -P ${DEV}
+  done
+  )
+}
+
+# Input: list of priorities
+# Operation: expects ${DEV} to contain those kernel priorities
+assert_pri() {
+  local expected="$*"
+  local actual=$(get_pri)
+  [ "$actual" = "$expected" ] || \
+    error 1 "expected priority \"$expected\", actual priority \"$actual\""
+}
+
+# no kernels at all. This should do nothing.
+$CGPT create $MTD ${DEV}
+
+run_prioritize_tests() {
+  echo "Test the cgpt prioritize command..."
+  $CGPT add $MTD -t rootfs -b 100 -s 1 ${DEV}
+  $CGPT prioritize $MTD ${DEV}
+  assert_pri ""
+
+  # common install/upgrade sequence
+  make_pri   2 0 0
+  $CGPT prioritize $MTD -i 1 ${DEV}
+  assert_pri 1 0 0
+  $CGPT prioritize $MTD -i 2 ${DEV}
+  assert_pri 1 2 0
+  $CGPT prioritize $MTD -i 1 ${DEV}
+  assert_pri 2 1 0
+  $CGPT prioritize $MTD -i 2 ${DEV}
+  assert_pri 1 2 0
+  # lots of kernels, all same starting priority, should go to priority 1
+  make_pri   8 8 8 8 8 8 8 8 8 8 8 0 0 8
+  $CGPT prioritize $MTD ${DEV}
+  assert_pri 1 1 1 1 1 1 1 1 1 1 1 0 0 1
+
+  # now raise them all up again
+  $CGPT prioritize $MTD -P 4 ${DEV}
+  assert_pri 4 4 4 4 4 4 4 4 4 4 4 0 0 4
+
+  # set one of them higher, should leave the rest alone
+  $CGPT prioritize $MTD -P 5 -i 3 ${DEV}
+  assert_pri 4 4 5 4 4 4 4 4 4 4 4 0 0 4
+
+  # set one of them lower, should bring the rest down
+  $CGPT prioritize $MTD -P 3 -i 4 ${DEV}
+  assert_pri 1 1 2 3 1 1 1 1 1 1 1 0 0 1
+
+  # raise a group by including the friends of one partition
+  $CGPT prioritize $MTD -P 6 -i 1 -f ${DEV}
+  assert_pri 6 6 4 5 6 6 6 6 6 6 6 0 0 6
+
+  # resurrect one, should not affect the others
+  make_pri   0 0 0 0 0 0 0 0 0 0 0 0 0 0
+  $CGPT prioritize $MTD -i 2 ${DEV}
+  assert_pri 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+
+  # resurrect one and all its friends
+  make_pri   0 0 0 0 0 0 0 0 1 2 0 0 0 0
+  $CGPT prioritize $MTD -P 5 -i 2 -f ${DEV}
+  assert_pri 5 5 5 5 5 5 5 5 3 4 5 5 5 5
+
+  # no options should maintain the same order
+  $CGPT prioritize $MTD ${DEV}
+  assert_pri 3 3 3 3 3 3 3 3 1 2 3 3 3 3
+
+  # squish all the ranks
+  make_pri   1 1 2 2 3 3 4 4 5 5 0 6 7 7
+  $CGPT prioritize $MTD -P 6 ${DEV}
+  assert_pri 1 1 1 1 2 2 3 3 4 4 0 5 6 6
+
+  # squish the ranks by not leaving room
+  make_pri   1 1 2 2 3 3 4 4 5 5 0 6 7 7
+  $CGPT prioritize $MTD -P 7 -i 3 ${DEV}
+  assert_pri 1 1 7 1 2 2 3 3 4 4 0 5 6 6
+
+  # squish the ranks while bringing the friends along
+  make_pri   1 1 2 2 3 3 4 4 5 5 0 6 7 7
+  $CGPT prioritize $MTD -P 6 -i 3 -f ${DEV}
+  assert_pri 1 1 6 6 1 1 2 2 3 3 0 4 5 5
+
+  # squish them pretty hard
+  make_pri   1 1 2 2 3 3 4 4 5 5 0 6 7 7
+  $CGPT prioritize $MTD -P 2 ${DEV}
+  assert_pri 1 1 1 1 1 1 1 1 1 1 0 1 2 2
+
+  # squish them really really hard (nobody gets reduced to zero, though)
+  make_pri   1 1 2 2 3 3 4 4 5 5 0 6 7 7
+  $CGPT prioritize $MTD -P 1 -i 3 ${DEV}
+  assert_pri 1 1 1 1 1 1 1 1 1 1 0 1 1 1
+
+  make_pri   15 15 14 14 13 13 12 12 11 11 10 10 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0
+  $CGPT prioritize $MTD -i 3 ${DEV}
+  assert_pri 14 14 15 13 12 12 11 11 10 10  9  9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 1 1 0
+  $CGPT prioritize $MTD -i 5 ${DEV}
+  assert_pri 13 13 14 12 15 11 10 10  9  9  8  8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 1 1 1 1 0
+  # but if I bring friends I don't have to squish
+  $CGPT prioritize $MTD -i 1 -f ${DEV}
+  assert_pri 15 15 13 12 14 11 10 10  9  9  8  8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 1 1 1 1 0
+}
+run_prioritize_tests
+
+echo "Test cgpt repair command"
+$CGPT repair $MTD ${DEV}
+($CGPT show $MTD ${DEV} | grep -q INVALID) && error
+
+# Zero primary header and partition table and try to repair it.
+dd if=/dev/zero of=${DEV} conv=notrunc bs=512 count=33 2>/dev/null
+$CGPT show $MTD ${DEV} | grep -q INVALID
+$CGPT repair $MTD ${DEV}
+($CGPT show $MTD ${DEV} | grep -q INVALID) && error
+
+# Zero secondary header and partition table and try to repair it.
+dd if=/dev/zero of=${DEV} seek=$(($NUM_SECTORS - 33)) conv=notrunc bs=512 count=33 2>/dev/null
+$CGPT show $MTD ${DEV} | grep -q INVALID
+$CGPT repair $MTD ${DEV}
+($CGPT show $MTD ${DEV} | grep -q INVALID) && error
+
+echo "Test with IGNOREME primary GPT..."
+$CGPT create $MTD ${DEV}
+$CGPT legacy $MTD -p ${DEV}
+$CGPT show $MTD ${DEV} | egrep -q "IGNORED.*Pri GPT" 2>/dev/null
+($CGPT show $MTD ${DEV} | grep -q "Pri GPT table" 2>/dev/null) && error
+$CGPT repair $MTD ${DEV} 2>/dev/null
+$CGPT show $MTD ${DEV} | egrep -q "IGNORED.*Pri GPT" 2>/dev/null
+($CGPT show $MTD ${DEV} | grep -q "Pri GPT table" 2>/dev/null) && error
+$CGPT legacy $MTD -e ${DEV} 2>/dev/null
+($CGPT show $MTD ${DEV} | egrep -q "IGNORED.*Pri GPT") && error
+$CGPT show $MTD ${DEV} | grep -q "Pri GPT table"
+
+$CGPT create $MTD ${DEV}
+$CGPT legacy $MTD -p ${DEV}
+run_basic_tests 2>/dev/null
+
+$CGPT create $MTD ${DEV}
+$CGPT legacy $MTD -p ${DEV}
+run_prioritize_tests 2>/dev/null
+
+# Now make sure that we don't need write access if we're just looking.
+echo "Test read vs read-write access..."
+chmod 0444 ${DEV}
+
+# These should fail
+$CGPT create $MTD -z ${DEV} 2>/dev/null && error
+$CGPT add $MTD -i 2 -P 3 ${DEV} 2>/dev/null && error
+$CGPT repair $MTD ${DEV} 2>/dev/null && error
+$CGPT prioritize $MTD -i 3 ${DEV} 2>/dev/null && error
+
+# Most 'boot' usage should fail too.
+$CGPT boot $MTD -p ${DEV} 2>/dev/null && error
+dd if=/dev/zero of=fake_mbr.bin bs=100 count=1 2>/dev/null
+$CGPT boot $MTD -b fake_mbr.bin ${DEV} 2>/dev/null && error
+$CGPT boot $MTD -i 2 ${DEV} 2>/dev/null && error
+
+$CGPT boot $MTD ${DEV} >/dev/null
+$CGPT show $MTD ${DEV} >/dev/null
+$CGPT find $MTD -t kernel ${DEV} >/dev/null
+
+# Enable write access again to test boundary in off device storage
+chmod 600 ${DEV}
+# GPT too small
+dd if=/dev/zero of=${DEV} bs=5632 count=1
+assert_fail $CGPT create -D 1024 ${DEV}
+# GPT is just right for 16 entries (512 + 512 + 16 * 128) * 2 = 6144
+dd if=/dev/zero of=${DEV} bs=6144 count=1
+$CGPT create -D 1024 ${DEV}
+# Create a small 8K file to simulate Flash NOR section
+dd if=/dev/zero of=${DEV} bs=8K count=1
+# Drive size is not multiple of 512
+assert_fail $CGPT create -D 511 ${DEV}
+assert_fail $CGPT create -D 513 ${DEV}
+MTD="-D 1024"
+# Create a GPT table for a device of 1024 bytes (2 sectors)
+$CGPT create $MTD ${DEV}
+# Make sure number of entries is reasonable for 8KiB GPT
+X=$($CGPT show -D 1024 -d ${DEV} | grep -c "Number of entries: 24")
+[ "$X" = "2" ] || error
+# This fails because header verification is off due to different drive size
+assert_fail $CGPT show ${DEV}
+# But this passes because we pass in correct drive size
+$CGPT show $MTD ${DEV}
+# This fails because beginning sector is over the size of the device
+assert_fail $CGPT add $MTD -b 2 -s 1 -t data ${DEV}
+# This fails because partition size is over the size of the device
+assert_fail $CGPT add $MTD -b 0 -s 3 -t data ${DEV}
+
+
+echo "Done."
+
+happy "All tests passed."
diff --git a/tests/run_preamble_tests.sh b/tests/run_preamble_tests.sh
new file mode 100755 (executable)
index 0000000..429213c
--- /dev/null
@@ -0,0 +1,110 @@
+#!/bin/bash -u
+#
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This tests that vblocks using pre-3.0 versions of vb2_fw_preamble
+# and vb2_kernel_preamble will still verify (or not) correctly. We
+# need to keep the old versions around to make sure that we can still
+# sign images in the ways that existing devices can validate.
+
+# Load common constants and variables for tests.
+. "$(dirname "$0")/common.sh"
+
+if [ "${1:---some}" == "--all" ] ; then
+    # all algs
+    algs="0 1 2 3 4 5 6 7 8 9 10 11"
+else
+    # just the algs we use
+    algs="4 7 11"
+fi
+
+# output directories
+PREAMBLE_DIR="${SCRIPT_DIR}/preamble_tests"
+DATADIR="${PREAMBLE_DIR}/data"
+V2DIR="${PREAMBLE_DIR}/preamble_v2x"
+
+tests=0
+errs=0
+
+# Check the firmware results
+for d in $algs; do
+  for r in $algs; do
+    for rr in $algs; do
+      if [ "$r" = "$rr" ]; then
+        what="verify"
+        cmp="-ne"
+      else
+        what="reject"
+        cmp="-eq"
+      fi
+      : $(( tests++ ))
+      echo -n "${what} fw_${d}_${r}.vblock with root_${rr}.vbpubk ... "
+      "${FUTILITY}" vbutil_firmware \
+        --verify "${V2DIR}/fw_${d}_${r}.vblock" \
+        --signpubkey "${DATADIR}/root_${rr}.vbpubk" \
+        --fv "${DATADIR}/FWDATA" >/dev/null 2>&1
+      if [ "$?" "$cmp" 0 ]; then
+        echo -e "${COL_RED}FAILED${COL_STOP}"
+        : $(( errs++ ))
+      else
+        echo -e "${COL_GREEN}PASSED${COL_STOP}"
+      fi
+    done
+  done
+done
+
+
+# Check the kernel results
+for d in $algs; do
+  for r in $algs; do
+    for rr in $algs; do
+      if [ "$r" = "$rr" ]; then
+        what="verify"
+        cmp="-ne"
+      else
+        what="reject"
+        cmp="-eq"
+      fi
+      : $(( tests++ ))
+      echo -n "${what} kern_${d}_${r}.vblock with root_${rr}.vbpubk ... "
+      "${FUTILITY}" vbutil_kernel \
+        --verify "${V2DIR}/kern_${d}_${r}.vblock" \
+        --signpubkey "${DATADIR}/root_${rr}.vbpubk" >/dev/null 2>&1
+      if [ "$?" "$cmp" 0 ]; then
+        echo -e "${COL_RED}FAILED${COL_STOP}"
+        : $(( errs++ ))
+      else
+        echo -e "${COL_GREEN}PASSED${COL_STOP}"
+      fi
+    done
+  done
+done
+
+
+# Check the kernel results
+for d in $algs; do
+  for r in $algs; do
+      : $(( tests++ ))
+      echo -n "verify kern_${d}_${r}.vblock with hash only ... "
+      "${FUTILITY}" vbutil_kernel \
+          --verify "${V2DIR}/kern_${d}_${r}.vblock" >/dev/null 2>&1
+      if [ "$?" -ne 0 ]; then
+        echo -e "${COL_RED}FAILED${COL_STOP}"
+        : $(( errs++ ))
+      else
+        echo -e "${COL_GREEN}PASSED${COL_STOP}"
+      fi
+  done
+done
+
+
+# Summary
+ME=$(basename "$0")
+if [ "$errs" -ne 0 ]; then
+  echo -e "${COL_RED}${ME}: ${errs}/${tests} tests failed${COL_STOP}"
+  exit 1
+fi
+happy "${ME}: All ${tests} tests passed"
+exit 0
diff --git a/tests/run_vbutil_kernel_arg_tests.sh b/tests/run_vbutil_kernel_arg_tests.sh
new file mode 100755 (executable)
index 0000000..95317ec
--- /dev/null
@@ -0,0 +1,201 @@
+#!/bin/bash -u
+#
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Quick test of vbutil_kernel args, to make sure we can pack and unpack
+# less-than-full-sized components.
+#
+
+# Load common constants and variables for tests.
+. "$(dirname "$0")/common.sh"
+
+# directories
+DEVKEYS="${ROOT_DIR}/tests/devkeys"
+DATA_DIR="${SCRIPT_DIR}/preamble_tests/data"
+TMPDIR="${TEST_DIR}/vbutil_kernel_arg_tests_dir"
+[ -d "${TMPDIR}" ] || mkdir -p "${TMPDIR}"
+
+# Arbitrarily chosen keys and config file.
+KEYBLOCK="${DATA_DIR}/kb_0_0.keyblock"
+SIGNPRIVATE="${DATA_DIR}/data_0.vbprivk"
+SIGNPUBLIC="${DATA_DIR}/root_0.vbpubk"
+CONFIG="${DATA_DIR}/dummy_config.txt"
+
+# Create some big and little files for the kernel and bootloader
+BIG="${TMPDIR}/big.bin"
+dd if=/dev/urandom bs=32768 count=1 of="${BIG}" 2>/dev/null
+SMALL="${TMPDIR}/small.bin"
+dd if=/dev/urandom bs=16 count=1 of="${SMALL}" 2>/dev/null
+
+declare -a KERN_VALS
+declare -a BOOT_VALS
+KERN_VALS=("--vmlinuz=${BIG}" "--vmlinuz=${SMALL}")
+BOOT_VALS=("--bootloader=${BIG}" "--bootloader=${SMALL}")
+
+tests=0
+errs=0
+
+# Pack a bunch of stuff
+k=0
+while [ "$k" -lt "${#KERN_VALS[*]}" ]; do
+  b=0
+  while [ "$b" -lt "${#BOOT_VALS[*]}" ]; do
+    echo -n "pack kern_${k}_${b}.vblock ... "
+    : $(( tests++ ))
+      "${FUTILITY}" vbutil_kernel \
+        --pack "${TMPDIR}/kern_${k}_${b}.vblock" \
+        --keyblock "${KEYBLOCK}" \
+        --signprivate "${SIGNPRIVATE}" \
+        --version 1 \
+        --arch arm \
+        --config "${CONFIG}" \
+        "${KERN_VALS[$k]}" \
+        "${BOOT_VALS[$k]}" >/dev/null
+      if [ "$?" -ne 0 ]; then
+        echo -e "${COL_RED}FAILED${COL_STOP}"
+        : $(( errs++ ))
+      else
+        echo -e "${COL_GREEN}PASSED${COL_STOP}"
+      fi
+    : $(( b++ ))
+  done
+  : $(( k++ ))
+done
+
+# Now unpack it
+for v in ${TMPDIR}/kern_*.vblock; do
+  : $(( tests++ ))
+  vv=$(basename "$v")
+  echo -n "verify $vv ... "
+  "${FUTILITY}" vbutil_kernel --verify "$v" >/dev/null
+  if [ "$?" -ne 0 ]; then
+    echo -e "${COL_RED}FAILED${COL_STOP}"
+    : $(( errs++ ))
+  else
+    echo -e "${COL_GREEN}PASSED${COL_STOP}"
+  fi
+  : $(( tests++ ))
+  echo -n "verify $vv signed ... "
+  "${FUTILITY}" vbutil_kernel --verify "$v" \
+    --signpubkey "${SIGNPUBLIC}" >/dev/null
+  if [ "$?" -ne 0 ]; then
+    echo -e "${COL_RED}FAILED${COL_STOP}"
+    : $(( errs++ ))
+  else
+    echo -e "${COL_GREEN}PASSED${COL_STOP}"
+  fi
+done
+
+
+
+# Test repacking a USB image for the SSD, the way the installer does.
+
+set -e
+# Pack for USB
+USB_KERN="${TMPDIR}/usb_kern.bin"
+USB_KEYBLOCK="${DEVKEYS}/recovery_kernel.keyblock"
+USB_SIGNPRIVATE="${DEVKEYS}/recovery_kernel_data_key.vbprivk"
+USB_SIGNPUBKEY="${DEVKEYS}/recovery_key.vbpubk"
+echo -n "pack USB kernel ... "
+: $(( tests++ ))
+"${FUTILITY}" vbutil_kernel \
+  --pack "${USB_KERN}" \
+  --keyblock "${USB_KEYBLOCK}" \
+  --signprivate "${USB_SIGNPRIVATE}" \
+  --version 1 \
+  --config "${CONFIG}" \
+  --bootloader "${BIG}" \
+  --vmlinuz "${BIG}" \
+  --arch arm
+if [ "$?" -ne 0 ]; then
+  echo -e "${COL_RED}FAILED${COL_STOP}"
+  : $(( errs++ ))
+else
+  echo -e "${COL_GREEN}PASSED${COL_STOP}"
+fi
+
+# And verify it.
+echo -n "verify USB kernel ... "
+: $(( tests++ ))
+"${FUTILITY}" vbutil_kernel \
+  --verify "${USB_KERN}" \
+  --signpubkey "${USB_SIGNPUBKEY}" >/dev/null
+if [ "$?" -ne 0 ]; then
+  echo -e "${COL_RED}FAILED${COL_STOP}"
+  : $(( errs++ ))
+else
+  echo -e "${COL_GREEN}PASSED${COL_STOP}"
+fi
+
+# Now we re-sign the same image using the normal keys. This is the kernel
+# image that is put on the hard disk by the installer. Note: To save space on
+# the USB image, we're only emitting the new verfication block, and the
+# installer just replaces that part of the hard disk's kernel partition.
+SSD_KERN="${TMPDIR}/ssd_kern.bin"
+SSD_KEYBLOCK="${DEVKEYS}/kernel.keyblock"
+SSD_SIGNPRIVATE="${DEVKEYS}/kernel_data_key.vbprivk"
+SSD_SIGNPUBKEY="${DEVKEYS}/kernel_subkey.vbpubk"
+echo -n "repack to SSD kernel ... "
+: $(( tests++ ))
+"${FUTILITY}" vbutil_kernel \
+  --repack "${SSD_KERN}" \
+  --vblockonly \
+  --keyblock "${SSD_KEYBLOCK}" \
+  --signprivate "${SSD_SIGNPRIVATE}" \
+  --oldblob "${TMPDIR}/usb_kern.bin" >/dev/null
+if [ "$?" -ne 0 ]; then
+  echo -e "${COL_RED}FAILED${COL_STOP}"
+  : $(( errs++ ))
+else
+  echo -e "${COL_GREEN}PASSED${COL_STOP}"
+fi
+
+# To verify it, we have to replace the vblock from the original image.
+tempfile="${TMPDIR}/foo.bin"
+cat "${SSD_KERN}" > "$tempfile"
+dd if="${USB_KERN}" bs=65536 skip=1 >> $tempfile 2>/dev/null
+
+echo -n "verify SSD kernel ... "
+: $(( tests++ ))
+"${FUTILITY}" vbutil_kernel \
+  --verify "$tempfile" \
+  --signpubkey "${SSD_SIGNPUBKEY}" >/dev/null
+if [ "$?" -ne 0 ]; then
+  echo -e "${COL_RED}FAILED${COL_STOP}"
+  : $(( errs++ ))
+else
+  echo -e "${COL_GREEN}PASSED${COL_STOP}"
+fi
+
+# Finally make sure that the kernel command line stays good.
+orig=$(cat "${CONFIG}" | tr '\012' ' ')
+packed=$("${FUTILITY}" dump_kernel_config "${USB_KERN}")
+echo -n "check USB kernel config ..."
+: $(( tests++ ))
+if [ "$orig" != "$packed" ]; then
+  echo -e "${COL_RED}FAILED${COL_STOP}"
+  : $(( errs++ ))
+else
+  echo -e "${COL_GREEN}PASSED${COL_STOP}"
+fi
+
+repacked=$("${FUTILITY}" dump_kernel_config "${tempfile}")
+echo -n "check SSD kernel config ..."
+: $(( tests++ ))
+if [ "$orig" != "$packed" ]; then
+  echo -e "${COL_RED}FAILED${COL_STOP}"
+  : $(( errs++ ))
+else
+  echo -e "${COL_GREEN}PASSED${COL_STOP}"
+fi
+
+# Summary
+ME=$(basename "$0")
+if [ "$errs" -ne 0 ]; then
+  echo -e "${COL_RED}${ME}: ${errs}/${tests} tests failed${COL_STOP}"
+  exit 1
+fi
+happy "${ME}: All ${tests} tests passed"
+exit 0
diff --git a/tests/run_vbutil_tests.sh b/tests/run_vbutil_tests.sh
new file mode 100755 (executable)
index 0000000..84f66d1
--- /dev/null
@@ -0,0 +1,226 @@
+#!/bin/bash
+
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Run verified boot firmware and kernel verification tests.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+return_code=0
+
+function test_vbutil_key_single {
+    local algonum=$1
+    local keylen=$2
+    local hashalgo=$3
+
+    echo -e "For signing key ${COL_YELLOW}RSA-$keylen/$hashalgo${COL_STOP}:"
+    # Pack the key
+    ${FUTILITY} vbutil_key \
+        --pack ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbpubk \
+        --key ${TESTKEY_DIR}/key_rsa${keylen}.keyb \
+        --version 1 \
+        --algorithm $algonum
+    if [ $? -ne 0 ]
+    then
+        return_code=255
+    fi
+
+    # Unpack the key
+    # TODO: should verify we get the same key back out?
+    ${FUTILITY} vbutil_key \
+        --unpack ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbpubk
+    if [ $? -ne 0 ]
+    then
+        return_code=255
+    fi
+}
+
+function test_vbutil_key_all {
+  algorithmcounter=0
+  for keylen in ${key_lengths[@]}
+  do
+      for hashalgo in ${hash_algos[@]}
+      do
+          test_vbutil_key_single $algorithmcounter $keylen $hashalgo
+          let algorithmcounter=algorithmcounter+1
+      done
+  done
+}
+
+function test_vbutil_key {
+    test_vbutil_key_single 4 2048 sha256
+    test_vbutil_key_single 7 4096 sha256
+    test_vbutil_key_single 11 8192 sha512
+}
+
+function test_vbutil_keyblock_single {
+    local signing_algonum=$1
+    local signing_keylen=$2
+    local signing_hashalgo=$3
+    local data_algonum=$4
+    local data_keylen=$5
+    local data_hashalgo=$6
+
+          echo -e "For ${COL_YELLOW}signing algorithm \
+RSA-${signing_keylen}/${signing_hashalgo}${COL_STOP} \
+and ${COL_YELLOW}data key algorithm RSA-${datakeylen}/\
+${datahashalgo}${COL_STOP}"
+          # Remove old file
+          keyblockfile="${TESTKEY_SCRATCH_DIR}/"
+          keyblockfile+="sign${signing_algonum}_data"
+          keyblockfile+="${data_algonum}.keyblock"
+          rm -f ${keyblockfile}
+
+          # Wrap private key
+          ${FUTILITY} vbutil_key \
+            --pack ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbprivk \
+            --key ${TESTKEY_DIR}/key_rsa${signing_keylen}.pem \
+            --algorithm $signing_algonum
+          if [ $? -ne 0 ]
+          then
+            echo -e "${COL_RED}Wrap vbprivk${COL_STOP}"
+            return_code=255
+          fi
+
+          # Wrap public key
+          ${FUTILITY} vbutil_key \
+            --pack ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbpubk \
+            --key ${TESTKEY_DIR}/key_rsa${signing_keylen}.keyb \
+            --algorithm $signing_algonum
+          if [ $? -ne 0 ]
+          then
+            echo -e "${COL_RED}Wrap vbpubk${COL_STOP}"
+            return_code=255
+          fi
+
+          # Pack
+          ${FUTILITY} vbutil_keyblock --pack ${keyblockfile} \
+            --datapubkey \
+              ${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk \
+            --signprivate \
+              ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbprivk
+          if [ $? -ne 0 ]
+          then
+            echo -e "${COL_RED}Pack${COL_STOP}"
+            return_code=255
+          fi
+
+          # Unpack
+          ${FUTILITY} vbutil_keyblock --unpack ${keyblockfile} \
+            --datapubkey \
+            ${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk2 \
+            --signpubkey \
+            ${TESTKEY_SCRATCH_DIR}/key_alg${algonum}.vbpubk
+          if [ $? -ne 0 ]
+          then
+            echo -e "${COL_RED}Unpack${COL_STOP}"
+            return_code=255
+          fi
+
+          # Check
+          if ! cmp -s \
+            ${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk \
+            ${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk2
+          then
+            echo -e "${COL_RED}Check${COL_STOP}"
+            return_code=255
+            exit 1
+          fi
+
+          echo -e "${COL_YELLOW}Testing keyblock creation using \
+external signer.${COL_STOP}"
+          # Pack using external signer
+          # Pack
+          ${FUTILITY} vbutil_keyblock --pack ${keyblockfile} \
+            --datapubkey \
+              ${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk \
+            --signprivate_pem \
+              ${TESTKEY_DIR}/key_rsa${signing_keylen}.pem \
+            --pem_algorithm "${signing_algonum}" \
+            --externalsigner "${SCRIPT_DIR}/external_rsa_signer.sh"
+
+          if [ $? -ne 0 ]
+          then
+            echo -e "${COL_RED}Pack${COL_STOP}"
+            return_code=255
+          fi
+
+          # Unpack
+          ${FUTILITY} vbutil_keyblock --unpack ${keyblockfile} \
+            --datapubkey \
+            ${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk2 \
+            --signpubkey \
+            ${TESTKEY_SCRATCH_DIR}/key_alg${signing_algonum}.vbpubk
+          if [ $? -ne 0 ]
+          then
+            echo -e "${COL_RED}Unpack${COL_STOP}"
+            return_code=255
+          fi
+
+          # Check
+          if ! cmp -s \
+            ${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk \
+            ${TESTKEY_SCRATCH_DIR}/key_alg${data_algonum}.vbpubk2
+          then
+            echo -e "${COL_RED}Check${COL_STOP}"
+            return_code=255
+            exit 1
+          fi
+}
+
+
+function test_vbutil_keyblock_all {
+# Test for various combinations of firmware signing algorithm and
+# kernel signing algorithm
+  signing_algorithmcounter=0
+  data_algorithmcounter=0
+  for signing_keylen in ${key_lengths[@]}
+  do
+    for signing_hashalgo in ${hash_algos[@]}
+    do
+      let data_algorithmcounter=0
+      for datakeylen in ${key_lengths[@]}
+      do
+        for datahashalgo in ${hash_algos[@]}
+        do
+          test_vbutil_keyblock_single \
+                $signing_algorithmcounter $signing_keylen $signing_hashalgo \
+                $data_algorithmcounter $data_keylen $data_hashalgo
+          let data_algorithmcounter=data_algorithmcounter+1
+        done
+      done
+      let signing_algorithmcounter=signing_algorithmcounter+1
+    done
+  done
+}
+
+function test_vbutil_keyblock {
+    test_vbutil_keyblock_single 7 4096 sha256 4 2048 sha256
+    test_vbutil_keyblock_single 11 8192 sha512 4 2048 sha256
+    test_vbutil_keyblock_single 11 8192 sha512 7 4096 sha256
+}
+
+
+check_test_keys
+
+echo
+echo "Testing vbutil_key..."
+if [ "$1" == "--all" ] ; then
+    test_vbutil_key_all
+else
+    test_vbutil_key
+fi
+
+echo
+echo "Testing vbutil_keyblock..."
+if [ "$1" == "--all" ] ; then
+    test_vbutil_keyblock_all
+else
+    test_vbutil_keyblock
+fi
+
+exit $return_code
+
diff --git a/tests/sha_benchmark.c b/tests/sha_benchmark.c
new file mode 100644 (file)
index 0000000..27b1c10
--- /dev/null
@@ -0,0 +1,46 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "timer_utils.h"
+
+#define TEST_BUFFER_SIZE 4000000
+
+int main(int argc, char *argv[]) {
+       int i;
+       double speed;
+       uint32_t msecs;
+       uint8_t *buffer = malloc(TEST_BUFFER_SIZE);
+       uint8_t digest[VB2_MAX_DIGEST_SIZE];
+       ClockTimerState ct;
+
+       /* Iterate through all the hash functions. */
+       for(i = VB2_HASH_SHA1; i < VB2_HASH_ALG_COUNT; i++) {
+               StartTimer(&ct);
+               vb2_digest_buffer(buffer, TEST_BUFFER_SIZE, i,
+                                 digest, sizeof(digest));
+               StopTimer(&ct);
+
+               msecs = GetDurationMsecs(&ct);
+               speed = ((TEST_BUFFER_SIZE / 10e6)
+                        / (msecs / 10e3)); /* Mbytes/sec */
+
+               fprintf(stderr,
+                       "# %s Time taken = %u ms, Speed = %f Mbytes/sec\n",
+                       vb2_get_hash_algorithm_name(i), msecs, speed);
+               fprintf(stdout, "mbytes_per_sec_%s:%f\n",
+                       vb2_get_hash_algorithm_name(i), speed);
+       }
+
+       free(buffer);
+       return 0;
+}
diff --git a/tests/sha_test_vectors.h b/tests/sha_test_vectors.h
new file mode 100644 (file)
index 0000000..a096bb4
--- /dev/null
@@ -0,0 +1,91 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * FIPS 180-2 test vectors for SHA-1, SHA-256 and SHA-512
+ */
+
+#ifndef VBOOT_REFERENCE_SHA_TEST_VECTORS_H_
+#define VBOOT_REFERENCE_SHA_TEST_VECTORS_H_
+
+const char* oneblock_msg = "abc";
+const char* multiblock_msg1 = "abcdbcdecdefdefgefghfghighijhijkijkl"
+               "jklmklmnlmnomnopnopq";
+const char* multiblock_msg2= "abcdefghbcdefghicdefghijdefghijkefghi"
+               "jklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnop"
+               "qrsmnopqrstnopqrstu";
+char* long_msg;
+
+uint8_t sha1_results[][VB2_SHA1_DIGEST_SIZE] = {
+       {
+               0xa9,0x99,0x3e,0x36,0x47,0x06,0x81,0x6a,
+               0xba,0x3e,0x25,0x71,0x78,0x50,0xc2,0x6c,
+               0x9c,0xd0,0xd8,0x9d
+       },
+       {
+               0x84,0x98,0x3e,0x44,0x1c,0x3b,0xd2,0x6e,
+               0xba,0xae,0x4a,0xa1,0xf9,0x51,0x29,0xe5,
+               0xe5,0x46,0x70,0xf1
+       },
+       {
+               0x34,0xaa,0x97,0x3c,0xd4,0xc4,0xda,0xa4,
+               0xf6,0x1e,0xeb,0x2b,0xdb,0xad,0x27,0x31,
+               0x65,0x34,0x01,0x6f
+       }
+};
+
+uint8_t sha256_results[][VB2_SHA256_DIGEST_SIZE] = {
+       {
+               0xba,0x78,0x16,0xbf,0x8f,0x01,0xcf,0xea,
+               0x41,0x41,0x40,0xde,0x5d,0xae,0x22,0x23,
+               0xb0,0x03,0x61,0xa3,0x96,0x17,0x7a,0x9c,
+               0xb4,0x10,0xff,0x61,0xf2,0x00,0x15,0xad
+       },
+       {
+               0x24,0x8d,0x6a,0x61,0xd2,0x06,0x38,0xb8,
+               0xe5,0xc0,0x26,0x93,0x0c,0x3e,0x60,0x39,
+               0xa3,0x3c,0xe4,0x59,0x64,0xff,0x21,0x67,
+               0xf6,0xec,0xed,0xd4,0x19,0xdb,0x06,0xc1
+       },
+       {
+               0xcd,0xc7,0x6e,0x5c,0x99,0x14,0xfb,0x92,
+               0x81,0xa1,0xc7,0xe2,0x84,0xd7,0x3e,0x67,
+               0xf1,0x80,0x9a,0x48,0xa4,0x97,0x20,0x0e,
+               0x04,0x6d,0x39,0xcc,0xc7,0x11,0x2c,0xd0
+       }
+};
+
+uint8_t sha512_results[][VB2_SHA512_DIGEST_SIZE] = {
+       {
+               0xdd,0xaf,0x35,0xa1,0x93,0x61,0x7a,0xba,
+               0xcc,0x41,0x73,0x49,0xae,0x20,0x41,0x31,
+               0x12,0xe6,0xfa,0x4e,0x89,0xa9,0x7e,0xa2,
+               0x0a,0x9e,0xee,0xe6,0x4b,0x55,0xd3,0x9a,
+               0x21,0x92,0x99,0x2a,0x27,0x4f,0xc1,0xa8,
+               0x36,0xba,0x3c,0x23,0xa3,0xfe,0xeb,0xbd,
+               0x45,0x4d,0x44,0x23,0x64,0x3c,0xe8,0x0e,
+               0x2a,0x9a,0xc9,0x4f,0xa5,0x4c,0xa4,0x9f
+       },
+       {
+               0x8e,0x95,0x9b,0x75,0xda,0xe3,0x13,0xda,
+               0x8c,0xf4,0xf7,0x28,0x14,0xfc,0x14,0x3f,
+               0x8f,0x77,0x79,0xc6,0xeb,0x9f,0x7f,0xa1,
+               0x72,0x99,0xae,0xad,0xb6,0x88,0x90,0x18,
+               0x50,0x1d,0x28,0x9e,0x49,0x00,0xf7,0xe4,
+               0x33,0x1b,0x99,0xde,0xc4,0xb5,0x43,0x3a,
+               0xc7,0xd3,0x29,0xee,0xb6,0xdd,0x26,0x54,
+               0x5e,0x96,0xe5,0x5b,0x87,0x4b,0xe9,0x09
+       },
+       {
+               0xe7,0x18,0x48,0x3d,0x0c,0xe7,0x69,0x64,
+               0x4e,0x2e,0x42,0xc7,0xbc,0x15,0xb4,0x63,
+               0x8e,0x1f,0x98,0xb1,0x3b,0x20,0x44,0x28,
+               0x56,0x32,0xa8,0x03,0xaf,0xa9,0x73,0xeb,
+               0xde,0x0f,0xf2,0x44,0x87,0x7e,0xa6,0x0a,
+               0x4c,0xb0,0x43,0x2c,0xe5,0x77,0xc3,0x1b,
+               0xeb,0x00,0x9c,0x5c,0x2c,0x49,0xaa,0x2e,
+               0x4e,0xad,0xb2,0x17,0xad,0x8c,0xc0,0x9b
+       }
+};
+
+#endif  /* VBOOT_REFERENCE_SHA_TEST_VECTORS_H_ */
diff --git a/tests/sha_tests.c b/tests/sha_tests.c
new file mode 100644 (file)
index 0000000..1d78204
--- /dev/null
@@ -0,0 +1,107 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* FIPS 180-2 Tests for message digest functions. */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "sha_test_vectors.h"
+
+int SHA1_tests(void) {
+       int i, success = 1;
+       uint8_t sha1_digest[SHA1_DIGEST_SIZE];
+       uint8_t* test_inputs[3];
+       test_inputs[0] = (uint8_t *) oneblock_msg;
+       test_inputs[1] = (uint8_t *) multiblock_msg1;
+       test_inputs[2] = (uint8_t *) long_msg;
+
+       for (i = 0; i < 3; i++) {
+               internal_SHA1(test_inputs[i], strlen((char *)test_inputs[i]),
+                             sha1_digest);
+               if (!memcmp(sha1_digest, sha1_results[i],
+                           SHA1_DIGEST_SIZE)) {
+                       fprintf(stderr, "Test vector %d PASSED for SHA-1\n",
+                               i+1);
+               }
+               else {
+                       fprintf(stderr, "Test vector %d FAILED for SHA-1\n",
+                               i+1);
+                       success = 0;
+               }
+       }
+       return success;
+}
+
+int SHA256_tests(void) {
+       int i, success = 1;
+       uint8_t sha256_digest[SHA256_DIGEST_SIZE];
+       uint8_t* test_inputs[3];
+       test_inputs[0] = (uint8_t *) oneblock_msg;
+       test_inputs[1] = (uint8_t *) multiblock_msg1;
+       test_inputs[2] = (uint8_t *) long_msg;
+
+       for (i = 0; i < 3; i++) {
+               internal_SHA256(test_inputs[i], strlen((char *)test_inputs[i]),
+                               sha256_digest);
+               if (!memcmp(sha256_digest, sha256_results[i],
+                           SHA256_DIGEST_SIZE)) {
+                       fprintf(stderr, "Test vector %d PASSED for SHA-256\n",
+                               i+1);
+               }
+               else {
+                       fprintf(stderr, "Test vector %d FAILED for SHA-256\n",
+                               i+1);
+                       success = 0;
+               }
+       }
+       return success;
+}
+
+int SHA512_tests(void) {
+       int i, success = 1;
+       uint8_t sha512_digest[SHA512_DIGEST_SIZE];
+       uint8_t* test_inputs[3];
+       test_inputs[0] = (uint8_t *) oneblock_msg;
+       test_inputs[1] = (uint8_t *) multiblock_msg2;
+       test_inputs[2] = (uint8_t *) long_msg;
+
+       for (i = 0; i < 3; i++) {
+               internal_SHA512(test_inputs[i], strlen((char *)test_inputs[i]),
+                               sha512_digest);
+               if (!memcmp(sha512_digest, sha512_results[i],
+                           SHA512_DIGEST_SIZE)) {
+                       fprintf(stderr, "Test vector %d PASSED for SHA-512\n",
+                               i+1);
+               }
+               else {
+                       fprintf(stderr, "Test vector %d FAILED for SHA-512\n",
+                               i+1);
+                       success = 0;
+               }
+       }
+       return success;
+}
+
+int main(int argc, char* argv[]) {
+       int success = 1;
+       /* Initialize long_msg with 'a' x 1,000,000 */
+       long_msg = (char *) malloc(1000001);
+       memset(long_msg, 'a', 1000000);
+       long_msg[1000000]=0;
+
+       if (!SHA1_tests())
+               success = 0;
+       if (!SHA256_tests())
+               success = 0;
+       if (!SHA512_tests())
+               success = 0;
+
+       free(long_msg);
+
+       return !success;
+}
diff --git a/tests/subprocess_tests.c b/tests/subprocess_tests.c
new file mode 100644 (file)
index 0000000..75d6e49
--- /dev/null
@@ -0,0 +1,292 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "subprocess.h"
+#include "test_common.h"
+
+#define TEST_STRING "hello world"
+#define TEST_STRING_LN TEST_STRING "\n"
+
+static void test_subprocess_output_to_buffer(void)
+{
+       char output_buffer[__builtin_strlen(TEST_STRING_LN)];
+
+       struct subprocess_target output = {
+               .type = TARGET_BUFFER,
+               .buffer = {
+                       .buf = output_buffer,
+                       .size = sizeof(output_buffer),
+               },
+       };
+       const char *const argv[] = {
+               "echo", TEST_STRING, NULL
+       };
+
+       TEST_EQ(subprocess_run(argv, &subprocess_null, &output, NULL), 0,
+               "Return value of \"echo 'hello world'\" is 0");
+       TEST_EQ(memcmp(output_buffer, TEST_STRING_LN, sizeof(output_buffer)), 0,
+               "Output is \"hello world\\n\"");
+       TEST_EQ(output.buffer.bytes_consumed, sizeof(output_buffer),
+               "The entire output buffer should have been used.");
+}
+
+static void test_subprocess_output_to_buffer_null_terminated(void)
+{
+       char output_buffer[__builtin_strlen(TEST_STRING_LN) + 1];
+
+       struct subprocess_target output = {
+               .type = TARGET_BUFFER_NULL_TERMINATED,
+               .buffer = {
+                       .buf = output_buffer,
+                       .size = sizeof(output_buffer),
+               },
+       };
+       const char *const argv[] = {
+               "echo", TEST_STRING, NULL
+       };
+
+       TEST_EQ(subprocess_run(argv, &subprocess_null, &output, NULL), 0,
+               "Return value of \"echo 'hello world'\" is 0");
+       TEST_STR_EQ(output_buffer, TEST_STRING_LN,
+                   "Output is \"hello world\\n\"");
+       TEST_EQ(output.buffer.bytes_consumed, sizeof(output_buffer) - 1,
+               "The entire output buffer should have been used.");
+}
+
+#define TEST_STRING_2 "hello\0world!"
+
+static void test_subprocess_input_buffer(void)
+{
+       char input_buffer[sizeof(TEST_STRING_2)];
+       char output_buffer[20];
+       char error_buffer[20];
+
+       memcpy(input_buffer, TEST_STRING_2, sizeof(input_buffer));
+
+       struct subprocess_target input = {
+               .type = TARGET_BUFFER,
+               .buffer = {
+                       .buf = input_buffer,
+                       .size = sizeof(input_buffer),
+               },
+       };
+       struct subprocess_target output = {
+               .type = TARGET_BUFFER_NULL_TERMINATED,
+               .buffer = {
+                       .buf = output_buffer,
+                       .size = sizeof(output_buffer),
+               },
+       };
+       struct subprocess_target error = {
+               .type = TARGET_BUFFER_NULL_TERMINATED,
+               .buffer = {
+                       .buf = error_buffer,
+                       .size = sizeof(error_buffer),
+               },
+       };
+       const char *const argv[] = {"cat", NULL};
+
+       TEST_EQ(subprocess_run(argv, &input, &output, &error), 0,
+               "Return value of \"cat\" is 0");
+       TEST_EQ(memcmp(output_buffer, TEST_STRING_2, sizeof(TEST_STRING_2)),
+               0, "Output is \"hello\\0world!\"");
+       TEST_STR_EQ(error_buffer, "", "No output captured on stderr");
+       TEST_EQ(output.buffer.bytes_consumed, sizeof(TEST_STRING_2),
+               "Bytes consumed is correct");
+       TEST_EQ(error.buffer.bytes_consumed, 0, "No bytes used for error");
+}
+
+static void test_subprocess_input_null_terminated(void)
+{
+       char input_buffer[20];
+       char output_buffer[20];
+       char error_buffer[20];
+
+       memcpy(input_buffer, TEST_STRING_2, sizeof(TEST_STRING_2));
+
+       struct subprocess_target input = {
+               .type = TARGET_BUFFER_NULL_TERMINATED,
+               .buffer = {
+                       .buf = input_buffer,
+               },
+       };
+       struct subprocess_target output = {
+               .type = TARGET_BUFFER_NULL_TERMINATED,
+               .buffer = {
+                       .buf = output_buffer,
+                       .size = sizeof(output_buffer),
+               },
+       };
+       struct subprocess_target error = {
+               .type = TARGET_BUFFER_NULL_TERMINATED,
+               .buffer = {
+                       .buf = error_buffer,
+                       .size = sizeof(error_buffer),
+               },
+       };
+       const char *const argv[] = {"cat", NULL};
+
+       TEST_EQ(subprocess_run(argv, &input, &output, &error), 0,
+               "Return value of \"cat\" is 0");
+       TEST_STR_EQ(output_buffer, "hello", "Output is \"hello\"");
+       TEST_STR_EQ(error_buffer, "", "No output captured on stderr");
+       TEST_EQ(output.buffer.bytes_consumed, 5, "5 bytes used");
+       TEST_EQ(error.buffer.bytes_consumed, 0, "No bytes used for error");
+}
+
+static void test_subprocess_small_output_buffer(void)
+{
+       char output_buffer[3];
+
+       struct subprocess_target output = {
+               .type = TARGET_BUFFER_NULL_TERMINATED,
+               .buffer = {
+                       .buf = output_buffer,
+                       .size = sizeof(output_buffer),
+               },
+       };
+       const char *const argv[] = {
+               "echo", TEST_STRING, NULL
+       };
+
+       TEST_EQ(subprocess_run(argv, &subprocess_null, &output, NULL), 0,
+               "Return value of \"echo 'hello world'\" is 0");
+       TEST_STR_EQ(output_buffer, "he",
+                   "Output is \"he\" (truncated to small buffer)");
+       TEST_EQ(output.buffer.bytes_consumed, sizeof(output_buffer) - 1,
+               "The entire output buffer should have been used.");
+}
+
+static void test_subprocess_return_code_failure(void)
+{
+       const char *const argv[] = {"false", NULL};
+
+       TEST_NEQ(subprocess_run(argv, NULL, NULL, NULL), 0,
+                "Return value of \"false\" is nonzero");
+}
+
+struct cb_ctx {
+       char buffer[49 * 1024];
+       char *ptr;
+};
+
+static ssize_t input_cb(char *buf, size_t buf_sz, void *data)
+{
+       struct cb_ctx *ctx = (struct cb_ctx *)data;
+       size_t len = (ctx->buffer + sizeof(ctx->buffer)) - ctx->ptr;
+       if (len > buf_sz)
+               len = buf_sz;
+       memcpy(buf, ctx->ptr, len);
+       ctx->ptr += len;
+       return len;
+}
+
+static void test_subprocess_input_from_cb(void)
+{
+       struct cb_ctx ctx;
+       char output_buffer[sizeof(ctx.buffer)];
+       const char *const argv[] = {"cat", NULL};
+
+       /* Initialize the input buffer with some data */
+       for (size_t i = 0; i < sizeof(ctx.buffer); i++)
+               ctx.buffer[i] = (char)i;
+       ctx.ptr = ctx.buffer;
+
+       struct subprocess_target output = {
+               .type = TARGET_BUFFER,
+               .buffer = {
+                       .buf = output_buffer,
+                       .size = sizeof(output_buffer),
+               },
+       };
+
+       struct subprocess_target input = {
+               .type = TARGET_CALLBACK,
+               .callback = {
+                       .cb = input_cb,
+                       .data = &ctx,
+               },
+       };
+       TEST_EQ(subprocess_run(argv, &input, &output, NULL), 0,
+               "Return value of \"cat\" is zero.");
+       TEST_EQ(memcmp(ctx.buffer, output_buffer, sizeof(output_buffer)), 0,
+               "The input buffer is equal to the output buffer.");
+       TEST_EQ(output.buffer.bytes_consumed, sizeof(output_buffer),
+               "The entire output buffer should have been used.");
+}
+
+static ssize_t output_cb(char *buf, size_t buf_sz, void *data)
+{
+       struct cb_ctx *ctx = (struct cb_ctx *)data;
+       if (ctx->ptr + buf_sz > ctx->buffer + sizeof(ctx->buffer)) {
+               TEST_TRUE(0, "Test failed as there is not enough space in the "
+                         "output buffer.");
+               return -1;
+       }
+       memcpy(ctx->ptr, buf, buf_sz);
+       ctx->ptr += buf_sz;
+       return 0;
+}
+
+static void test_subprocess_output_to_cb(void)
+{
+       struct cb_ctx ctx;
+       char output_buffer[sizeof(ctx.buffer)];
+       const char *const argv[] = {
+               "bc", "-l", NULL
+       };
+
+       ctx.ptr = ctx.buffer;
+
+       struct subprocess_target input = {
+               .type = TARGET_BUFFER_NULL_TERMINATED,
+               .buffer = {
+                       .buf = (char *)"for (i = 0; i <= 10000; i += 1) i\n",
+               },
+       };
+
+       struct subprocess_target target_via_buffer = {
+               .type = TARGET_BUFFER,
+               .buffer = {
+                       .buf = output_buffer,
+                       .size = sizeof(output_buffer),
+               },
+       };
+
+       struct subprocess_target target_via_cb = {
+               .type = TARGET_CALLBACK,
+               .callback = {
+                       .cb = output_cb,
+                       .data = &ctx,
+               },
+       };
+
+       TEST_EQ(subprocess_run(argv, &input, &target_via_buffer, NULL), 0,
+               "Return value is zero when using buffer.");
+       TEST_EQ(subprocess_run(argv, &input, &target_via_cb, NULL), 0,
+               "Return value is zero when using callback.");
+       TEST_EQ(ctx.ptr - ctx.buffer, target_via_buffer.buffer.bytes_consumed,
+               "Both commmand invocations used the same number of bytes.");
+       TEST_EQ(memcmp(output_buffer, ctx.buffer,
+                      target_via_buffer.buffer.bytes_consumed),
+               0, "Both output buffers are equivalent.");
+}
+
+int main(int argc, char *argv[])
+{
+       test_subprocess_output_to_buffer();
+       test_subprocess_output_to_buffer_null_terminated();
+       test_subprocess_input_buffer();
+       test_subprocess_input_null_terminated();
+       test_subprocess_small_output_buffer();
+       test_subprocess_return_code_failure();
+       test_subprocess_input_from_cb();
+       test_subprocess_output_to_cb();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/test_common.c b/tests/test_common.c
new file mode 100644 (file)
index 0000000..2ce3a5d
--- /dev/null
@@ -0,0 +1,217 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Common functions used by tests.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "2common.h"
+#include "test_common.h"
+
+/* Global test success flag. */
+int gTestSuccess = 1;
+int gTestAbortArmed = 0;
+jmp_buf gTestJmpEnv;
+
+static void print_passed(const char *preamble, const char *desc,
+                        const char *comment)
+{
+       fprintf(stderr, "%s: %s ... " COL_GREEN "PASSED\n" COL_STOP,
+               preamble, comment ? comment : desc);
+}
+
+static void print_failed(const char *preamble, const char *desc,
+                        const char *comment)
+{
+       fprintf(stderr, "%s: %s ... " COL_RED "FAILED\n" COL_STOP,
+               preamble, comment ? comment : desc);
+}
+
+int test_eq(int result, int expected,
+           const char *preamble, const char *desc, const char *comment)
+{
+       if (result == expected) {
+               print_passed(preamble, desc, comment);
+               return 1;
+       } else {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr, "       Expected: %#x (%d), got: %#x (%d)\n",
+                       expected, expected, result, result);
+               gTestSuccess = 0;
+               return 0;
+       }
+}
+
+int test_neq(int result, int not_expected,
+            const char *preamble, const char *desc, const char *comment)
+{
+       if (result != not_expected) {
+               print_passed(preamble, desc, comment);
+               return 1;
+       } else {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr, "       Didn't expect %#x (%d), but got it.\n",
+                       not_expected, not_expected);
+               gTestSuccess = 0;
+               return 0;
+       }
+}
+
+int test_ptr_eq(const void* result, const void* expected,
+               const char *preamble, const char *desc, const char *comment)
+{
+       if (result == expected) {
+               print_passed(preamble, desc, comment);
+               return 1;
+       } else {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr, "       Expected: %#lx, got: %#lx\n",
+                       (long)expected, (long)result);
+               gTestSuccess = 0;
+               return 0;
+       }
+}
+
+int test_ptr_neq(const void* result, const void* not_expected,
+                const char *preamble, const char *desc, const char *comment)
+{
+       if (result != not_expected) {
+               print_passed(preamble, desc, comment);
+               return 1;
+       } else {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr, "       Didn't expect %#lx, but got it\n",
+                       (long)not_expected);
+               gTestSuccess = 0;
+               return 0;
+       }
+}
+
+int test_str_eq(const char* result, const char* expected,
+               const char *preamble, const char *desc, const char *comment)
+{
+       if (!result || !expected) {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr, "       String compare with NULL\n");
+               gTestSuccess = 0;
+               return 0;
+       } else if (!strcmp(result, expected)) {
+               print_passed(preamble, desc, comment);
+               return 1;
+       } else {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr, "       Expected: \"%s\", got: \"%s\"\n",
+                       expected, result);
+               gTestSuccess = 0;
+               return 0;
+       }
+}
+
+int test_str_neq(const char* result, const char* not_expected,
+                const char *preamble, const char *desc, const char *comment)
+{
+       if (!result || !not_expected) {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr, "       String compare with NULL\n");
+               gTestSuccess = 0;
+               return 0;
+       } else if (strcmp(result, not_expected)) {
+               print_passed(preamble, desc, comment);
+               fprintf(stderr, "%s: %s, %s ... " COL_GREEN "PASSED\n" COL_STOP,
+                       preamble, desc, comment);
+               return 1;
+       } else {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr, "       Didn't expect: \"%s\", but got it\n",
+                       not_expected);
+               gTestSuccess = 0;
+               return 0;
+       }
+}
+
+int test_succ(int result,
+             const char *preamble, const char *desc, const char *comment)
+{
+       if (result == 0) {
+               print_passed(preamble, desc, comment);
+       } else {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr, "       Expected SUCCESS, got: %#x (%d)\n",
+                       result, result);
+               gTestSuccess = 0;
+       }
+       return !result;
+}
+
+int test_fail(int result,
+             const char *preamble, const char *desc, const char *comment)
+{
+       if (result != 0) {
+               print_passed(preamble, desc, comment);
+       } else {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr,
+                       "       Didn't expect SUCCESS (0), but got it\n");
+               gTestSuccess = 0;
+       }
+       return result;
+}
+
+int test_true(int result,
+             const char *preamble, const char *desc, const char *comment)
+{
+       if (result) {
+               print_passed(preamble, desc, comment);
+       } else {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr, "       Expected TRUE, got 0\n");
+               gTestSuccess = 0;
+       }
+       return result;
+}
+
+int test_false(int result,
+              const char *preamble, const char *desc, const char *comment)
+{
+       if (!result) {
+               print_passed(preamble, desc, comment);
+       } else {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr, "       Expected FALSE, got: %#lx\n",
+                       (long)result);
+               gTestSuccess = 0;
+       }
+       return !result;
+}
+
+int test_abort(int aborted,
+              const char *preamble, const char *desc, const char *comment)
+{
+       if (aborted) {
+               print_passed(preamble, desc, comment);
+       } else {
+               print_failed(preamble, desc, comment);
+               fprintf(stderr, "       Expected ABORT, but did not get it\n");
+               gTestSuccess = 0;
+       }
+       return aborted;
+}
+
+void vb2ex_abort(void)
+{
+       /*
+        * If expecting an abort call, jump back to TEST_ABORT macro.
+        * Otherwise, force exit to ensure the test fails.
+        */
+       if (gTestAbortArmed) {
+               longjmp(gTestJmpEnv, 1);
+       } else {
+               fprintf(stderr, COL_RED "Unexpected ABORT encountered, "
+                       "exiting\n" COL_STOP);
+               exit(1);
+       }
+}
diff --git a/tests/test_common.h b/tests/test_common.h
new file mode 100644 (file)
index 0000000..c3da880
--- /dev/null
@@ -0,0 +1,167 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_TEST_COMMON_H_
+#define VBOOT_REFERENCE_TEST_COMMON_H_
+
+#include <setjmp.h>
+#include <stdio.h>
+
+/* Used to get a line number as a constant string. Need to stringify it twice */
+#define STRINGIFY(x)   #x
+#define TOSTRING(x)    STRINGIFY(x)
+
+extern int gTestSuccess;
+extern int gTestAbortArmed;
+extern jmp_buf gTestJmpEnv;
+
+/* Return 1 if result is equal to expected_result, else return 0.
+ * Also update the global gTestSuccess flag if test fails. */
+int test_eq(int result, int expected,
+           const char *preamble, const char *desc, const char *comment);
+
+#define TEST_EQ(result, expected, comment) \
+       test_eq(result, expected, \
+               __FILE__ ":" TOSTRING(__LINE__), \
+               #result " == " #expected, \
+               comment)
+
+#define TEST_EQ_S(result, expected) TEST_EQ(result, expected, NULL);
+
+/* Return 0 if result is equal to not_expected_result, else return 1.
+ * Also update the global gTestSuccess flag if test fails. */
+int test_neq(int result, int not_expected,
+            const char *preamble, const char *desc, const char *comment);
+
+#define TEST_NEQ(result, not_expected, comment) \
+       test_neq(result, not_expected, \
+                __FILE__ ":" TOSTRING(__LINE__), \
+                #result " != " #not_expected, \
+                comment)
+
+/* Return 1 if result pointer is equal to expected_result pointer,
+ * else return 0.  Does not check pointer contents, only the pointer
+ * itself.  Also update the global gTestSuccess flag if test fails. */
+int test_ptr_eq(const void* result, const void* expected,
+               const char *preamble, const char *desc, const char *comment);
+
+#define TEST_PTR_EQ(result, expected, comment) \
+       test_ptr_eq(result, expected, \
+                   __FILE__ ":" TOSTRING(__LINE__), \
+                   #result " == " #expected, \
+                   comment)
+
+/* Return 1 if result pointer is not equal to expected_result pointer,
+ * else return 0.  Does not check pointer contents, only the pointer
+ * itself.  Also update the global gTestSuccess flag if test fails. */
+int test_ptr_neq(const void* result, const void* not_expected,
+                const char *preamble, const char *desc, const char *comment);
+
+#define TEST_PTR_NEQ(result, not_expected, comment) \
+       test_ptr_neq(result, not_expected, \
+                    __FILE__ ":" TOSTRING(__LINE__), \
+                    #result " != " #not_expected, \
+                    comment)
+
+/* Return 1 if result string is equal to expected_result string,
+ * else return 0.  Also update the global gTestSuccess flag if test fails. */
+int test_str_eq(const char* result, const char* expected,
+               const char *preamble, const char *desc, const char *comment);
+
+#define TEST_STR_EQ(result, expected, comment) \
+       test_str_eq(result, expected, \
+                   __FILE__ ":" TOSTRING(__LINE__), \
+                   #result " == " #expected, \
+                   comment)
+
+/* Return 1 if result string is not equal to not_expected string,
+ * else return 0.  Also update the global gTestSuccess flag if test fails. */
+int test_str_neq(const char* result, const char* not_expected,
+                const char *preamble, const char *desc, const char *comment);
+
+#define TEST_STR_NEQ(result, not_expected, comment) \
+       test_str_neq(result, not_expected, \
+                    __FILE__ ":" TOSTRING(__LINE__), \
+                    #result " != " #not_expected, \
+                    comment)
+
+/* Return 1 if the result is true, else return 0.
+ * Also update the global gTestSuccess flag if test fails. */
+int test_true(int result,
+             const char *preamble, const char *desc, const char *comment);
+
+#define TEST_TRUE(result, comment) \
+       test_true(result, \
+                 __FILE__ ":" TOSTRING(__LINE__), \
+                 #result " == true", \
+                 comment)
+
+/* Return 1 if the result is false, else return 0.
+ * Also update the global gTestSuccess flag if test fails. */
+int test_false(int result,
+              const char *preamble, const char *desc, const char *comment);
+
+#define TEST_FALSE(result, comment) \
+       test_false(result, \
+                  __FILE__ ":" TOSTRING(__LINE__), \
+                  #result " == false", \
+                  comment)
+
+/* Return 1 if result is 0 (VB2_SUCCESS or other), else return 0.
+ * Also update the global gTestSuccess flag if test fails. */
+int test_succ(int result,
+             const char *preamble, const char *desc, const char *comment);
+
+#define TEST_SUCC(result, comment) \
+       test_succ(result, \
+                 __FILE__ ":" TOSTRING(__LINE__), \
+                 #result " == 0", \
+                 comment)
+
+/* Return 1 if result is not 0 (VB2_SUCCESS or other), else return 1.
+ * Also update the global gTestSuccess flag if test fails. */
+int test_fail(int result,
+             const char *preamble, const char *desc, const char *comment);
+
+#define TEST_FAIL(result, comment) \
+       test_fail(result, \
+                 __FILE__ ":" TOSTRING(__LINE__), \
+                 #result " != 0", \
+                 comment)
+
+/* Return 1 if vb2ex_abort() was called, else return 0.
+ * Also update the global gTestSuccess flag if test fails. */
+int test_abort(int aborted,
+              const char *preamble, const char *desc, const char *comment);
+
+#define TEST_ABORT(call, comment) do { \
+       gTestAbortArmed = 1; \
+       int jumped = setjmp(gTestJmpEnv); \
+       if (!jumped) \
+               call; \
+       gTestAbortArmed = 0; \
+       test_abort(jumped, \
+                  __FILE__ ":" TOSTRING(__LINE__), \
+                  #call " causes abort", \
+                  comment); \
+} while (0)
+
+/* ANSI Color coding sequences.
+ *
+ * Don't use \e as MSC does not recognize it as a valid escape sequence.
+ */
+#define COL_GREEN "\x1b[1;32m"
+#define COL_YELLOW "\x1b[1;33m"
+#define COL_RED "\x1b[0;31m"
+#define COL_STOP "\x1b[m"
+
+/* Abort if asprintf fails. */
+#define xasprintf(...) \
+       do { \
+               if (asprintf(__VA_ARGS__) < 0) \
+                       abort(); \
+       } while (0)
+
+#endif  /* VBOOT_REFERENCE_TEST_COMMON_H_ */
diff --git a/tests/test_using_qemu.sh b/tests/test_using_qemu.sh
new file mode 100755 (executable)
index 0000000..081d963
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/bash
+#
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Script to run a test under qemu
+#
+# Usage:
+#    test_using_qemu.sh (command line to run)
+#
+# Required environment variables:
+#    BUILD_RUN - path to build directory inside chroot
+#    HOME - home directory inside chroot
+#    QEMU_RUN - path to QEMU binary inside chroot
+#    SYSROOT - path to root for target platform, outside chroot
+
+set -e
+
+# Set up mounts
+sudo mkdir -p "${SYSROOT}/proc" "${SYSROOT}/dev"
+sudo mount --bind /proc "${SYSROOT}/proc"
+sudo mount --bind /dev "${SYSROOT}/dev"
+
+# Don't exit on error, so we can capture the error code
+set +e
+sudo chroot ${SYSROOT} ${QEMU_RUN} \
+    -E LD_LIBRARY_PATH=/lib64:/lib:/usr/lib64:/usr/lib \
+    -E HOME=${HOME} \
+    -E BUILD=${BUILD_RUN} \
+    -- $*
+exit_code=$?
+set -e
+
+# Clean up mounts
+sudo umount -l "${SYSROOT}/proc"
+sudo umount -l "${SYSROOT}/dev"
+
+# Pass through exit code from command
+exit $exit_code
diff --git a/tests/testcases/padding_test_vectors.inc b/tests/testcases/padding_test_vectors.inc
new file mode 100644 (file)
index 0000000..7555726
--- /dev/null
@@ -0,0 +1,1654 @@
+{175, 252, 122, 177, 196, 124, 26, 246, 113, 221, 91, 127, 46, 121, 0, 232, 225, 212, 163, 162, 94, 49, 146, 83, 85, 251, 92, 117, 65, 23, 246, 152, 17, 126, 225, 193, 9, 51, 114, 227, 198, 22, 191, 180, 90, 76, 55, 169, 193, 11, 87, 102, 96, 206, 59, 98, 120, 100, 23, 36, 161, 60, 161, 181, 67, 0, 65, 53, 43, 60, 112, 222, 201, 80, 233, 20, 123, 2, 7, 32, 26, 231, 235, 192, 127, 50, 196, 72, 173, 149, 18, 240, 144, 144, 166, 59, 11, 44, 93, 157, 207, 184, 104, 49, 66, 92, 56, 74, 166, 36, 32, 182, 86, 182, 71, 58, 60, 252, 121, 39, 181, 181, 74, 106, 36, 159, 129, 27},
+{63, 199, 230, 54, 70, 66, 32, 224, 207, 175, 98, 55, 75, 156, 173, 231, 246, 22, 84, 134, 127, 212, 74, 169, 189, 136, 39, 116, 135, 156, 213, 152, 122, 64, 205, 154, 245, 101, 227, 7, 28, 210, 35, 210, 246, 188, 205, 187, 255, 84, 44, 122, 47, 211, 215, 128, 84, 7, 76, 88, 82, 21, 247, 42, 1, 152, 159, 162, 80, 143, 144, 208, 237, 27, 10, 89, 211, 243, 124, 173, 40, 184, 63, 238, 109, 35, 158, 76, 83, 94, 233, 56, 130, 21, 148, 150, 231, 5, 19, 129, 17, 187, 127, 198, 123, 126, 129, 141, 227, 250, 227, 41, 28, 209, 25, 145, 169, 36, 19, 207, 74, 253, 246, 205, 6, 6, 39, 250},
+{53, 246, 254, 141, 208, 15, 13, 5, 31, 255, 135, 186, 189, 70, 14, 71, 89, 225, 28, 80, 65, 48, 123, 183, 186, 60, 189, 183, 80, 61, 57, 144, 109, 180, 200, 166, 217, 129, 14, 240, 231, 208, 189, 120, 106, 90, 144, 114, 236, 163, 179, 18, 0, 232, 53, 70, 1, 54, 231, 113, 118, 90, 130, 55, 164, 224, 218, 88, 88, 103, 57, 249, 137, 207, 150, 133, 234, 96, 149, 217, 170, 187, 223, 60, 46, 5, 118, 144, 155, 71, 15, 189, 216, 46, 78, 95, 200, 195, 0, 39, 100, 81, 15, 0, 70, 105, 26, 203, 162, 42, 32, 128, 211, 95, 150, 12, 8, 177, 158, 116, 214, 83, 121, 65, 87, 252, 152, 147},
+{23, 57, 155, 227, 220, 79, 157, 167, 251, 163, 241, 59, 11, 88, 117, 44, 158, 123, 62, 225, 65, 185, 10, 135, 22, 65, 180, 71, 138, 156, 243, 200, 77, 203, 7, 66, 15, 83, 122, 255, 253, 44, 48, 244, 58, 42, 125, 54, 211, 86, 15, 93, 72, 229, 124, 24, 207, 19, 152, 208, 201, 123, 195, 41, 119, 13, 45, 180, 168, 95, 204, 191, 147, 204, 69, 27, 161, 27, 59, 233, 44, 63, 230, 9, 227, 157, 123, 137, 75, 69, 229, 164, 124, 39, 139, 76, 9, 46, 38, 212, 202, 155, 90, 4, 46, 166, 188, 191, 100, 194, 173, 157, 108, 159, 123, 181, 137, 170, 127, 177, 99, 190, 134, 33, 174, 179, 244, 100},
+{150, 30, 159, 80, 149, 11, 249, 69, 153, 34, 149, 16, 116, 49, 158, 178, 223, 223, 178, 23, 19, 108, 188, 101, 220, 192, 143, 193, 194, 71, 178, 250, 35, 83, 187, 75, 107, 170, 247, 40, 245, 127, 227, 90, 192, 34, 99, 29, 79, 10, 68, 55, 104, 238, 204, 4, 191, 54, 135, 249, 230, 13, 190, 253, 252, 195, 35, 73, 87, 205, 115, 5, 8, 121, 51, 214, 74, 176, 68, 167, 62, 190, 165, 1, 243, 134, 63, 40, 177, 140, 21, 185, 1, 237, 65, 193, 234, 194, 231, 187, 106, 187, 200, 92, 121, 51, 177, 57, 237, 73, 246, 224, 247, 157, 119, 156, 28, 116, 30, 204, 157, 113, 80, 147, 226, 242, 80, 29},
+{84, 146, 252, 41, 116, 142, 76, 161, 185, 133, 34, 196, 79, 14, 217, 155, 171, 85, 71, 232, 31, 61, 78, 43, 244, 58, 219, 5, 162, 130, 95, 47, 16, 63, 220, 85, 109, 57, 102, 76, 171, 63, 47, 211, 46, 52, 50, 227, 85, 62, 178, 146, 236, 208, 92, 204, 79, 83, 88, 55, 75, 100, 6, 179, 123, 113, 236, 212, 37, 237, 178, 91, 190, 19, 112, 67, 175, 229, 169, 189, 202, 112, 133, 111, 57, 23, 196, 31, 247, 197, 139, 245, 218, 110, 151, 100, 201, 27, 212, 97, 188, 229, 136, 215, 160, 4, 7, 255, 197, 133, 176, 70, 80, 42, 194, 77, 0, 85, 218, 87, 84, 155, 186, 35, 175, 244, 52, 177},
+{99, 224, 129, 53, 122, 130, 26, 149, 166, 24, 146, 252, 6, 68, 155, 230, 126, 28, 78, 98, 69, 24, 32, 194, 137, 29, 252, 224, 200, 113, 73, 19, 97, 86, 35, 230, 225, 205, 251, 238, 214, 50, 67, 15, 127, 79, 50, 19, 116, 225, 130, 160, 119, 216, 96, 255, 67, 190, 187, 46, 7, 202, 238, 247, 177, 87, 122, 148, 50, 230, 20, 194, 178, 232, 5, 255, 141, 67, 168, 90, 5, 137, 119, 140, 11, 236, 227, 8, 153, 129, 56, 79, 160, 171, 34, 220, 158, 148, 113, 76, 31, 96, 66, 107, 243, 241, 132, 43, 59, 46, 81, 49, 170, 80, 19, 93, 73, 47, 204, 75, 174, 100, 96, 195, 111, 201, 215, 138},
+{107, 126, 89, 125, 208, 132, 6, 216, 192, 73, 251, 165, 211, 82, 48, 100, 6, 109, 209, 156, 43, 72, 147, 2, 39, 86, 108, 196, 121, 214, 237, 169, 100, 146, 81, 245, 248, 135, 4, 110, 187, 8, 74, 238, 177, 255, 161, 239, 178, 251, 87, 105, 71, 23, 22, 172, 227, 169, 23, 174, 117, 49, 218, 105, 208, 193, 20, 242, 10, 234, 125, 147, 99, 107, 26, 229, 165, 115, 41, 17, 85, 35, 113, 3, 189, 82, 171, 31, 23, 79, 251, 204, 56, 229, 248, 221, 192, 101, 17, 170, 60, 81, 131, 116, 180, 81, 52, 241, 77, 4, 139, 7, 74, 153, 4, 152, 12, 127, 35, 179, 72, 43, 103, 255, 117, 81, 28, 121},
+{43, 84, 194, 177, 38, 22, 141, 12, 3, 187, 61, 8, 31, 255, 81, 66, 239, 162, 109, 19, 110, 209, 205, 56, 61, 246, 248, 209, 34, 15, 176, 193, 153, 138, 88, 218, 5, 226, 206, 119, 188, 81, 156, 13, 242, 247, 38, 164, 107, 87, 124, 183, 231, 107, 106, 169, 7, 59, 144, 14, 59, 78, 86, 151, 91, 32, 55, 123, 148, 67, 90, 249, 111, 79, 1, 35, 233, 26, 34, 68, 228, 74, 167, 53, 158, 60, 59, 50, 93, 145, 48, 51, 252, 113, 154, 5, 156, 2, 212, 126, 104, 85, 138, 210, 31, 247, 167, 160, 217, 96, 125, 64, 161, 68, 102, 26, 214, 74, 70, 96, 235, 250, 81, 72, 103, 212, 6, 55},
+{195, 241, 199, 232, 15, 74, 155, 40, 46, 84, 249, 144, 47, 169, 16, 74, 217, 147, 200, 213, 138, 88, 153, 234, 200, 99, 232, 118, 217, 240, 213, 17, 64, 239, 163, 2, 155, 149, 128, 224, 244, 212, 214, 91, 254, 21, 9, 237, 67, 88, 54, 38, 161, 58, 21, 190, 133, 172, 188, 198, 250, 90, 30, 159, 108, 6, 78, 36, 48, 31, 89, 249, 70, 202, 176, 39, 16, 195, 52, 24, 196, 255, 38, 70, 11, 73, 169, 55, 169, 60, 165, 202, 97, 91, 121, 104, 44, 197, 224, 243, 165, 9, 208, 126, 144, 59, 147, 142, 153, 30, 68, 8, 0, 31, 98, 121, 22, 192, 223, 3, 31, 239, 14, 200, 107, 84, 199, 201},
+{47, 96, 6, 227, 11, 197, 77, 67, 31, 191, 3, 6, 148, 83, 120, 193, 100, 203, 130, 84, 138, 160, 80, 210, 82, 0, 174, 62, 18, 252, 113, 11, 172, 241, 105, 0, 39, 96, 116, 208, 204, 39, 41, 113, 1, 139, 149, 142, 57, 233, 19, 96, 3, 82, 44, 207, 217, 38, 171, 252, 164, 64, 198, 58, 238, 31, 237, 191, 227, 54, 139, 168, 212, 69, 96, 52, 142, 1, 152, 121, 189, 2, 249, 55, 35, 121, 88, 93, 241, 248, 247, 1, 206, 55, 219, 60, 160, 50, 245, 19, 4, 238, 84, 52, 5, 27, 102, 119, 201, 83, 128, 60, 110, 134, 135, 172, 87, 98, 224, 90, 137, 68, 171, 221, 105, 182, 244, 44},
+{95, 237, 173, 102, 88, 166, 76, 83, 85, 54, 120, 138, 77, 207, 87, 50, 159, 24, 158, 240, 32, 147, 155, 250, 19, 24, 232, 50, 93, 169, 88, 79, 28, 104, 210, 41, 84, 163, 51, 98, 32, 98, 112, 149, 61, 130, 176, 153, 108, 122, 17, 187, 204, 146, 252, 168, 135, 19, 194, 152, 86, 75, 177, 209, 208, 41, 111, 126, 228, 231, 223, 137, 107, 70, 58, 117, 126, 110, 141, 106, 77, 41, 60, 75, 198, 153, 78, 73, 13, 55, 148, 77, 1, 187, 1, 201, 46, 203, 37, 128, 166, 87, 127, 137, 164, 119, 113, 168, 73, 64, 85, 197, 25, 55, 20, 165, 34, 31, 202, 250, 182, 186, 169, 215, 198, 96, 17, 152},
+{72, 180, 208, 128, 45, 170, 186, 160, 135, 178, 101, 65, 51, 195, 90, 198, 25, 157, 51, 254, 110, 54, 211, 225, 123, 13, 94, 10, 92, 130, 5, 171, 41, 3, 37, 126, 203, 128, 2, 254, 38, 197, 193, 112, 255, 153, 28, 57, 108, 50, 28, 38, 242, 39, 55, 206, 3, 185, 230, 201, 13, 122, 62, 120, 40, 52, 219, 79, 206, 174, 70, 20, 24, 152, 187, 158, 157, 17, 56, 252, 126, 96, 106, 12, 42, 164, 248, 140, 70, 53, 10, 104, 88, 45, 191, 133, 241, 22, 231, 39, 87, 32, 148, 154, 81, 185, 146, 67, 78, 61, 255, 176, 139, 130, 230, 172, 226, 91, 60, 12, 128, 14, 234, 220, 181, 67, 39, 246},
+{86, 76, 64, 38, 113, 158, 167, 120, 36, 21, 173, 172, 213, 120, 15, 247, 10, 52, 235, 46, 198, 254, 73, 225, 119, 126, 33, 186, 201, 91, 91, 234, 148, 7, 122, 40, 11, 171, 156, 159, 142, 193, 62, 13, 191, 12, 83, 30, 72, 173, 112, 69, 51, 114, 221, 228, 104, 254, 92, 144, 102, 60, 89, 144, 21, 242, 63, 112, 47, 161, 112, 111, 186, 146, 4, 255, 141, 29, 63, 95, 118, 220, 137, 149, 212, 116, 90, 28, 163, 172, 186, 239, 183, 101, 172, 231, 55, 36, 54, 174, 176, 72, 124, 29, 167, 211, 166, 67, 176, 151, 146, 116, 121, 56, 220, 50, 5, 152, 188, 115, 222, 10, 138, 107, 194, 247, 152, 215},
+{73, 218, 23, 139, 175, 44, 151, 217, 141, 160, 138, 69, 186, 234, 154, 29, 224, 134, 21, 106, 132, 17, 238, 237, 246, 178, 139, 68, 173, 39, 205, 65, 125, 78, 203, 85, 232, 160, 241, 205, 118, 105, 223, 182, 26, 117, 110, 82, 124, 93, 16, 57, 89, 177, 20, 197, 98, 68, 50, 5, 253, 152, 222, 14, 162, 210, 108, 119, 187, 197, 194, 102, 13, 249, 209, 25, 106, 75, 235, 151, 188, 129, 187, 143, 186, 203, 204, 160, 141, 136, 126, 228, 46, 8, 187, 149, 98, 112, 13, 206, 20, 106, 3, 134, 77, 253, 146, 68, 56, 158, 99, 22, 68, 145, 185, 119, 204, 126, 57, 86, 143, 86, 98, 128, 154, 248, 141, 201},
+{17, 203, 78, 181, 191, 136, 80, 205, 222, 73, 242, 136, 193, 11, 81, 160, 7, 60, 2, 188, 184, 61, 197, 73, 96, 138, 139, 243, 254, 184, 157, 95, 232, 101, 84, 107, 90, 12, 232, 69, 98, 104, 95, 110, 1, 120, 247, 82, 28, 94, 242, 4, 39, 78, 113, 45, 97, 199, 70, 227, 125, 102, 61, 119, 46, 189, 48, 137, 54, 170, 48, 94, 125, 243, 197, 210, 34, 95, 234, 253, 190, 188, 79, 208, 40, 143, 234, 138, 13, 148, 54, 188, 92, 155, 133, 6, 189, 63, 26, 37, 89, 231, 94, 50, 135, 254, 2, 229, 62, 72, 184, 129, 185, 159, 8, 237, 40, 57, 100, 0, 194, 227, 201, 239, 15, 163, 2, 225},
+{152, 165, 19, 136, 166, 1, 220, 187, 174, 221, 178, 38, 210, 247, 38, 25, 199, 132, 238, 72, 154, 8, 114, 233, 119, 176, 119, 56, 241, 27, 251, 49, 159, 228, 139, 173, 80, 157, 98, 249, 74, 60, 153, 150, 99, 98, 109, 116, 27, 79, 148, 169, 212, 64, 17, 240, 1, 190, 79, 149, 147, 238, 11, 98, 238, 136, 30, 189, 15, 37, 255, 39, 10, 155, 225, 213, 193, 45, 202, 109, 139, 152, 176, 201, 22, 198, 159, 60, 99, 178, 92, 230, 162, 155, 47, 4, 206, 112, 192, 75, 147, 206, 198, 69, 114, 198, 2, 233, 96, 253, 152, 103, 226, 252, 180, 94, 137, 53, 14, 112, 229, 100, 91, 96, 196, 81, 31, 27},
+{176, 15, 137, 53, 43, 130, 143, 84, 6, 47, 132, 249, 197, 89, 81, 157, 217, 160, 62, 219, 92, 233, 214, 194, 40, 183, 243, 82, 45, 23, 84, 177, 225, 138, 32, 100, 208, 248, 203, 217, 228, 211, 142, 71, 2, 61, 39, 29, 86, 29, 40, 79, 215, 137, 14, 1, 220, 235, 111, 186, 42, 245, 69, 87, 95, 49, 104, 180, 182, 119, 24, 174, 51, 113, 145, 28, 210, 186, 102, 98, 18, 120, 75, 30, 203, 177, 96, 211, 102, 249, 127, 150, 51, 45, 12, 116, 83, 58, 56, 39, 14, 118, 21, 122, 145, 104, 248, 142, 66, 3, 252, 210, 109, 28, 243, 189, 15, 50, 205, 238, 56, 229, 3, 50, 97, 130, 3, 54},
+{198, 116, 60, 193, 48, 12, 86, 183, 211, 107, 166, 75, 4, 6, 212, 235, 6, 197, 54, 143, 201, 61, 215, 210, 52, 133, 6, 206, 71, 194, 231, 218, 115, 66, 201, 220, 207, 94, 120, 130, 121, 10, 19, 54, 20, 126, 60, 68, 251, 164, 225, 174, 112, 2, 69, 100, 18, 174, 90, 192, 14, 203, 60, 196, 71, 197, 141, 200, 225, 106, 188, 225, 168, 102, 236, 143, 72, 192, 96, 61, 233, 132, 95, 111, 0, 236, 148, 247, 67, 241, 245, 195, 145, 52, 65, 120, 7, 41, 164, 246, 250, 135, 77, 10, 216, 192, 46, 152, 125, 211, 85, 89, 29, 218, 251, 102, 138, 221, 116, 253, 18, 132, 204, 150, 97, 226, 86, 108},
+{50, 6, 79, 178, 251, 9, 17, 125, 230, 244, 80, 183, 70, 161, 228, 126, 218, 134, 43, 146, 39, 134, 228, 232, 3, 206, 244, 229, 93, 244, 194, 54, 199, 124, 32, 92, 117, 194, 53, 89, 211, 184, 167, 161, 37, 83, 43, 221, 185, 131, 101, 197, 162, 3, 149, 137, 253, 140, 105, 116, 186, 112, 178, 220, 19, 85, 90, 55, 81, 137, 25, 2, 130, 250, 81, 148, 121, 216, 178, 52, 183, 185, 188, 143, 117, 30, 62, 228, 31, 41, 234, 167, 28, 208, 33, 2, 117, 43, 166, 143, 48, 156, 96, 156, 101, 178, 174, 48, 15, 59, 227, 115, 18, 142, 151, 255, 184, 165, 242, 248, 76, 100, 102, 235, 139, 26, 240, 170},
+{191, 145, 54, 181, 109, 12, 103, 161, 165, 234, 178, 43, 63, 19, 75, 248, 220, 162, 123, 117, 93, 211, 223, 164, 227, 73, 160, 130, 11, 37, 237, 30, 226, 249, 230, 39, 221, 144, 144, 99, 183, 251, 17, 118, 144, 28, 19, 225, 1, 32, 188, 106, 101, 116, 69, 159, 47, 165, 59, 32, 55, 26, 172, 254, 233, 5, 170, 109, 35, 131, 47, 207, 218, 177, 1, 218, 34, 6, 238, 116, 212, 8, 127, 101, 54, 238, 143, 28, 27, 151, 14, 230, 128, 219, 237, 3, 227, 175, 89, 21, 240, 81, 16, 142, 110, 63, 64, 247, 32, 128, 91, 66, 1, 68, 71, 35, 216, 27, 104, 139, 195, 2, 235, 38, 116, 83, 160, 131},
+{166, 150, 24, 164, 60, 229, 231, 119, 83, 231, 13, 106, 169, 61, 175, 25, 135, 179, 224, 2, 125, 178, 10, 171, 238, 120, 152, 161, 97, 226, 196, 101, 230, 251, 113, 8, 106, 132, 8, 209, 139, 94, 63, 205, 142, 144, 53, 216, 20, 133, 185, 10, 71, 85, 134, 136, 179, 201, 174, 225, 201, 131, 246, 147, 205, 36, 248, 238, 155, 247, 186, 223, 144, 34, 97, 255, 234, 178, 214, 143, 227, 126, 75, 98, 10, 73, 87, 56, 126, 83, 79, 204, 208, 117, 63, 116, 122, 197, 211, 147, 192, 213, 103, 142, 211, 102, 15, 55, 229, 236, 130, 141, 201, 27, 50, 183, 90, 16, 22, 169, 253, 42, 181, 181, 143, 36, 48, 243},
+{118, 105, 27, 198, 92, 25, 194, 139, 134, 112, 74, 62, 222, 214, 199, 42, 187, 118, 216, 223, 99, 102, 27, 115, 197, 36, 153, 133, 109, 99, 73, 98, 218, 106, 53, 195, 99, 102, 57, 84, 117, 110, 150, 94, 131, 21, 3, 139, 189, 87, 180, 143, 52, 31, 135, 105, 253, 100, 186, 191, 158, 190, 208, 177, 83, 248, 51, 162, 141, 205, 43, 55, 216, 28, 143, 155, 106, 165, 166, 42, 65, 206, 16, 106, 107, 232, 221, 114, 160, 15, 246, 227, 54, 134, 241, 82, 29, 252, 153, 60, 19, 39, 248, 88, 236, 0, 102, 206, 25, 28, 72, 149, 186, 185, 249, 191, 93, 162, 100, 204, 61, 32, 124, 159, 94, 105, 3, 119},
+{60, 246, 92, 205, 87, 38, 219, 6, 78, 146, 252, 109, 118, 86, 73, 17, 26, 68, 77, 224, 183, 41, 137, 44, 182, 53, 18, 178, 143, 9, 69, 27, 240, 28, 221, 176, 53, 242, 137, 112, 173, 228, 16, 83, 78, 87, 191, 189, 98, 179, 175, 184, 217, 242, 181, 236, 216, 229, 178, 54, 155, 177, 118, 23, 234, 124, 184, 47, 193, 154, 89, 199, 251, 67, 215, 158, 175, 48, 56, 136, 40, 48, 187, 37, 193, 74, 108, 246, 10, 230, 238, 94, 223, 45, 145, 33, 214, 116, 247, 176, 30, 29, 20, 92, 21, 49, 106, 29, 179, 100, 224, 81, 85, 181, 58, 211, 105, 24, 45, 74, 142, 89, 113, 33, 86, 155, 62, 183},
+{127, 249, 4, 16, 48, 237, 168, 192, 117, 78, 159, 17, 89, 161, 66, 61, 36, 215, 224, 185, 139, 15, 4, 170, 209, 111, 66, 158, 97, 0, 91, 167, 178, 108, 50, 191, 240, 255, 127, 40, 122, 144, 0, 186, 182, 184, 233, 24, 27, 106, 200, 222, 224, 175, 97, 14, 200, 221, 1, 207, 150, 172, 249, 196, 137, 231, 72, 203, 69, 49, 81, 31, 217, 89, 80, 215, 225, 137, 17, 223, 64, 99, 150, 239, 3, 74, 125, 19, 100, 152, 94, 52, 51, 116, 3, 106, 91, 8, 201, 154, 26, 83, 245, 94, 180, 40, 165, 3, 57, 168, 225, 255, 104, 208, 243, 223, 172, 116, 231, 54, 40, 92, 1, 253, 64, 135, 165, 35},
+{70, 90, 173, 89, 239, 21, 66, 237, 246, 8, 101, 100, 208, 21, 175, 213, 222, 91, 71, 172, 160, 69, 117, 41, 217, 211, 221, 44, 244, 235, 241, 131, 65, 156, 14, 199, 53, 230, 120, 70, 205, 206, 120, 24, 154, 190, 57, 75, 220, 5, 139, 90, 140, 86, 198, 168, 240, 244, 137, 59, 9, 107, 38, 97, 32, 82, 181, 137, 144, 253, 230, 230, 99, 234, 229, 127, 171, 60, 165, 72, 137, 74, 236, 55, 221, 185, 204, 26, 166, 200, 25, 73, 179, 24, 77, 117, 93, 28, 74, 14, 72, 15, 16, 61, 155, 219, 92, 18, 243, 128, 33, 64, 128, 18, 39, 73, 46, 47, 71, 46, 231, 241, 186, 13, 20, 163, 236, 133},
+{106, 159, 151, 238, 122, 209, 19, 49, 178, 67, 53, 182, 95, 107, 82, 181, 198, 39, 20, 5, 228, 128, 113, 105, 66, 192, 238, 24, 103, 235, 198, 185, 158, 34, 99, 211, 46, 167, 140, 60, 194, 241, 212, 51, 204, 136, 43, 157, 20, 7, 7, 209, 189, 95, 68, 231, 189, 74, 144, 221, 156, 97, 81, 56, 83, 50, 213, 96, 101, 223, 246, 37, 36, 30, 146, 89, 231, 167, 110, 127, 156, 152, 46, 228, 185, 89, 62, 109, 127, 137, 73, 78, 41, 251, 39, 163, 31, 10, 77, 14, 33, 193, 159, 254, 89, 49, 91, 103, 95, 204, 231, 178, 115, 233, 65, 50, 198, 211, 129, 114, 236, 254, 199, 22, 94, 69, 123, 121},
+{153, 23, 76, 50, 173, 3, 226, 233, 204, 54, 93, 8, 40, 147, 118, 142, 152, 39, 43, 1, 227, 145, 241, 162, 130, 180, 180, 249, 123, 100, 247, 166, 25, 169, 137, 41, 197, 160, 70, 122, 246, 64, 97, 243, 177, 205, 212, 127, 93, 156, 41, 72, 130, 59, 51, 225, 94, 121, 176, 67, 143, 160, 12, 106, 192, 112, 188, 167, 28, 88, 128, 13, 65, 163, 84, 80, 245, 64, 239, 105, 137, 97, 39, 128, 119, 193, 135, 92, 128, 223, 222, 225, 188, 45, 90, 237, 140, 192, 128, 218, 98, 185, 63, 58, 45, 24, 8, 97, 183, 131, 211, 52, 252, 1, 119, 176, 178, 201, 228, 58, 39, 167, 111, 208, 8, 198, 154, 102},
+{184, 100, 231, 143, 129, 199, 85, 183, 158, 249, 43, 218, 27, 152, 232, 139, 160, 87, 187, 43, 40, 5, 229, 3, 251, 39, 213, 199, 195, 208, 82, 79, 164, 45, 116, 185, 155, 42, 61, 68, 31, 225, 7, 12, 93, 2, 221, 18, 29, 28, 43, 15, 121, 80, 43, 197, 233, 86, 243, 237, 245, 177, 18, 211, 245, 158, 72, 119, 251, 169, 156, 66, 38, 249, 208, 135, 254, 223, 33, 26, 5, 196, 201, 184, 191, 11, 97, 168, 208, 107, 223, 157, 135, 21, 49, 181, 238, 251, 170, 249, 100, 97, 31, 27, 185, 90, 209, 63, 71, 213, 157, 240, 146, 247, 86, 197, 33, 245, 57, 93, 31, 110, 193, 3, 160, 132, 197, 232},
+{151, 54, 230, 118, 103, 110, 223, 19, 15, 63, 207, 121, 150, 194, 129, 41, 126, 242, 72, 236, 4, 69, 48, 219, 127, 37, 90, 19, 131, 29, 161, 107, 174, 172, 32, 44, 37, 147, 107, 175, 194, 139, 146, 240, 66, 179, 16, 5, 208, 45, 65, 10, 218, 101, 152, 53, 108, 80, 91, 18, 108, 25, 215, 231, 207, 55, 40, 215, 233, 251, 219, 135, 224, 76, 210, 144, 179, 129, 225, 98, 149, 41, 176, 214, 20, 112, 118, 222, 221, 115, 223, 31, 216, 90, 243, 140, 196, 118, 243, 164, 19, 107, 197, 12, 250, 149, 166, 151, 118, 39, 181, 0, 63, 241, 222, 55, 7, 10, 193, 184, 128, 76, 157, 225, 172, 70, 212, 228},
+{8, 137, 24, 86, 228, 235, 58, 96, 77, 81, 196, 50, 42, 12, 150, 216, 107, 254, 91, 168, 197, 203, 199, 77, 151, 59, 90, 185, 108, 208, 0, 73, 76, 181, 196, 83, 103, 91, 101, 35, 33, 246, 18, 78, 250, 64, 166, 134, 219, 90, 91, 188, 54, 222, 54, 126, 200, 170, 130, 66, 49, 76, 190, 95, 19, 30, 227, 182, 72, 174, 254, 194, 207, 27, 105, 34, 232, 84, 244, 15, 137, 213, 211, 193, 138, 221, 95, 83, 124, 89, 23, 208, 22, 12, 173, 191, 16, 186, 104, 54, 201, 80, 55, 67, 230, 157, 20, 172, 218, 33, 72, 184, 252, 107, 220, 121, 33, 164, 90, 4, 94, 6, 44, 206, 62, 123, 123, 190},
+{195, 38, 39, 252, 106, 79, 249, 9, 238, 240, 212, 231, 81, 87, 9, 81, 116, 200, 183, 1, 56, 182, 213, 192, 233, 83, 130, 114, 85, 233, 206, 186, 161, 14, 164, 210, 224, 89, 203, 17, 40, 81, 168, 171, 237, 81, 193, 213, 173, 215, 181, 31, 23, 78, 145, 140, 173, 218, 180, 183, 96, 44, 162, 116, 75, 232, 88, 124, 81, 41, 18, 241, 184, 179, 67, 33, 84, 184, 190, 179, 232, 142, 226, 227, 70, 188, 134, 71, 236, 135, 105, 104, 165, 216, 226, 171, 193, 216, 162, 20, 46, 116, 209, 49, 174, 110, 149, 5, 134, 126, 4, 75, 36, 131, 105, 60, 155, 175, 136, 18, 48, 83, 32, 210, 208, 202, 198, 173},
+{207, 61, 44, 84, 250, 38, 61, 187, 32, 149, 56, 113, 137, 177, 156, 50, 244, 8, 185, 56, 183, 94, 60, 153, 114, 195, 108, 135, 66, 137, 130, 125, 94, 55, 237, 71, 132, 190, 111, 234, 10, 26, 44, 160, 113, 196, 35, 12, 250, 117, 38, 153, 99, 93, 52, 140, 121, 33, 180, 14, 103, 50, 156, 216, 31, 163, 206, 181, 124, 23, 145, 194, 17, 127, 88, 95, 117, 216, 201, 15, 162, 114, 198, 19, 144, 199, 247, 94, 86, 60, 185, 197, 204, 234, 117, 13, 248, 108, 119, 85, 27, 48, 100, 220, 29, 232, 164, 15, 78, 177, 68, 124, 246, 47, 14, 44, 27, 167, 154, 152, 252, 115, 36, 125, 32, 124, 36, 247},
+{29, 68, 134, 99, 137, 19, 241, 175, 83, 198, 154, 133, 157, 168, 235, 58, 35, 134, 204, 255, 235, 63, 95, 28, 197, 240, 113, 225, 55, 236, 48, 73, 117, 44, 222, 231, 103, 133, 36, 45, 205, 236, 206, 38, 174, 91, 203, 133, 0, 107, 57, 225, 150, 103, 2, 140, 108, 244, 252, 211, 158, 145, 40, 46, 242, 183, 128, 146, 61, 50, 133, 118, 44, 163, 149, 253, 95, 252, 111, 248, 29, 64, 177, 27, 42, 193, 164, 88, 17, 163, 241, 246, 213, 87, 239, 182, 179, 82, 82, 125, 121, 139, 231, 66, 41, 225, 74, 159, 82, 142, 187, 38, 181, 52, 243, 250, 78, 78, 184, 225, 41, 87, 124, 217, 232, 222, 25, 5},
+{169, 218, 125, 96, 182, 89, 135, 135, 133, 58, 0, 182, 251, 47, 3, 253, 208, 28, 16, 242, 113, 234, 146, 127, 119, 144, 230, 41, 186, 6, 20, 14, 145, 92, 203, 113, 201, 71, 25, 143, 108, 233, 219, 129, 98, 118, 223, 40, 83, 57, 153, 84, 73, 164, 253, 107, 59, 207, 53, 173, 243, 92, 186, 54, 59, 25, 241, 87, 230, 250, 105, 99, 228, 139, 123, 154, 17, 165, 78, 138, 72, 179, 223, 207, 228, 229, 84, 204, 69, 185, 242, 124, 152, 182, 187, 144, 199, 62, 206, 124, 255, 103, 64, 136, 179, 28, 103, 146, 42, 201, 72, 74, 80, 207, 115, 9, 178, 105, 54, 106, 20, 119, 145, 177, 239, 112, 139, 40},
+{72, 223, 52, 213, 114, 155, 78, 22, 169, 67, 88, 250, 68, 200, 62, 223, 232, 203, 199, 8, 122, 115, 138, 231, 57, 14, 165, 181, 216, 155, 26, 145, 104, 168, 223, 238, 72, 206, 123, 88, 11, 217, 90, 116, 173, 218, 41, 161, 251, 86, 197, 213, 6, 21, 254, 134, 37, 233, 238, 243, 210, 146, 154, 107, 126, 98, 114, 185, 208, 87, 77, 126, 56, 8, 69, 229, 240, 181, 119, 23, 83, 189, 139, 38, 82, 236, 29, 64, 61, 30, 123, 217, 86, 178, 152, 213, 247, 106, 215, 66, 183, 194, 34, 16, 221, 118, 82, 25, 40, 196, 16, 52, 78, 11, 116, 63, 17, 116, 226, 38, 26, 18, 167, 65, 123, 41, 30, 70},
+{67, 0, 4, 227, 118, 113, 7, 47, 83, 214, 169, 41, 17, 158, 236, 11, 90, 46, 165, 97, 72, 49, 10, 136, 219, 146, 30, 135, 58, 230, 63, 189, 49, 9, 186, 63, 37, 39, 174, 148, 97, 165, 207, 225, 205, 200, 81, 185, 83, 115, 189, 141, 226, 172, 110, 27, 82, 114, 179, 163, 75, 221, 64, 187, 61, 112, 218, 120, 48, 232, 235, 49, 78, 229, 251, 200, 76, 155, 66, 60, 161, 127, 236, 203, 24, 120, 194, 191, 62, 168, 249, 22, 177, 153, 146, 145, 47, 154, 168, 14, 118, 27, 122, 189, 227, 128, 123, 226, 179, 248, 77, 26, 162, 37, 169, 229, 71, 194, 185, 17, 123, 136, 160, 189, 207, 115, 180, 252},
+{169, 113, 102, 246, 127, 131, 106, 239, 146, 22, 41, 41, 194, 250, 32, 111, 224, 62, 216, 229, 215, 25, 242, 169, 78, 72, 226, 247, 125, 1, 174, 25, 45, 118, 184, 129, 55, 88, 58, 114, 194, 37, 111, 128, 175, 46, 137, 247, 105, 179, 124, 47, 251, 34, 165, 136, 30, 196, 126, 167, 132, 75, 145, 218, 174, 124, 24, 209, 130, 96, 160, 113, 113, 131, 178, 20, 223, 149, 43, 67, 206, 63, 108, 178, 193, 86, 127, 38, 104, 148, 108, 4, 72, 133, 236, 183, 7, 217, 160, 152, 49, 182, 207, 231, 136, 183, 243, 7, 100, 214, 118, 34, 176, 240, 24, 8, 9, 57, 242, 251, 32, 56, 113, 45, 24, 87, 216, 116},
+{160, 36, 13, 94, 102, 110, 26, 22, 204, 79, 52, 221, 113, 224, 29, 41, 128, 88, 194, 140, 191, 146, 54, 1, 226, 132, 83, 207, 23, 227, 86, 39, 114, 225, 59, 217, 119, 215, 87, 158, 31, 119, 166, 231, 250, 188, 179, 179, 154, 235, 211, 185, 116, 30, 194, 198, 163, 240, 239, 137, 243, 226, 100, 9, 134, 160, 111, 16, 18, 190, 6, 123, 165, 154, 45, 254, 126, 111, 247, 147, 206, 101, 70, 254, 167, 237, 119, 26, 107, 60, 100, 175, 100, 116, 173, 220, 123, 131, 249, 115, 217, 249, 152, 255, 52, 116, 176, 60, 177, 49, 37, 202, 107, 251, 241, 210, 138, 124, 178, 226, 0, 130, 153, 204, 154, 91, 73, 222},
+{73, 185, 87, 85, 55, 139, 36, 48, 194, 172, 53, 217, 109, 180, 8, 132, 119, 223, 234, 246, 95, 137, 145, 99, 11, 35, 214, 158, 64, 14, 251, 21, 4, 221, 17, 193, 10, 224, 30, 30, 135, 79, 231, 234, 196, 154, 38, 229, 116, 252, 32, 51, 92, 174, 78, 160, 147, 138, 33, 138, 48, 176, 190, 20, 21, 241, 2, 149, 2, 58, 90, 75, 225, 174, 47, 35, 238, 29, 230, 181, 5, 200, 12, 78, 97, 0, 147, 202, 235, 68, 149, 18, 96, 121, 118, 89, 165, 7, 233, 51, 7, 90, 34, 30, 249, 20, 204, 14, 204, 168, 35, 59, 176, 165, 153, 18, 92, 102, 72, 221, 198, 43, 129, 72, 219, 132, 119, 178},
+{106, 171, 122, 132, 141, 194, 124, 173, 158, 159, 163, 111, 124, 123, 126, 119, 113, 254, 131, 84, 24, 212, 251, 190, 60, 167, 122, 138, 13, 36, 154, 74, 53, 160, 167, 15, 155, 140, 40, 79, 54, 251, 108, 21, 8, 209, 3, 243, 72, 207, 230, 230, 177, 232, 145, 110, 22, 175, 132, 75, 151, 87, 171, 134, 223, 68, 202, 217, 87, 174, 14, 223, 81, 9, 207, 64, 151, 66, 224, 226, 241, 249, 99, 159, 212, 164, 221, 163, 130, 118, 171, 52, 188, 101, 126, 7, 115, 92, 43, 156, 116, 120, 40, 210, 207, 249, 194, 198, 95, 157, 252, 128, 212, 252, 125, 104, 188, 28, 148, 67, 227, 73, 98, 200, 23, 116, 105, 154},
+{140, 56, 193, 200, 93, 156, 107, 177, 153, 18, 231, 240, 78, 141, 193, 238, 209, 158, 159, 254, 6, 127, 179, 105, 72, 234, 161, 99, 204, 110, 103, 82, 217, 32, 8, 225, 85, 130, 204, 31, 122, 29, 11, 182, 156, 58, 21, 44, 185, 164, 232, 101, 216, 73, 2, 200, 236, 188, 47, 191, 130, 238, 186, 16, 46, 190, 221, 191, 118, 238, 106, 52, 15, 101, 230, 10, 11, 52, 73, 229, 185, 177, 170, 18, 121, 152, 19, 154, 68, 105, 23, 54, 70, 54, 143, 137, 66, 104, 48, 128, 88, 132, 222, 70, 192, 24, 132, 166, 240, 64, 21, 212, 160, 205, 154, 157, 251, 154, 119, 222, 221, 52, 184, 31, 68, 4, 89, 51},
+{109, 42, 56, 48, 136, 52, 33, 178, 63, 33, 222, 100, 22, 87, 44, 78, 255, 117, 80, 34, 21, 84, 61, 207, 75, 15, 44, 70, 151, 220, 131, 36, 117, 41, 218, 92, 42, 149, 129, 178, 102, 206, 7, 217, 73, 219, 224, 148, 18, 158, 243, 203, 162, 53, 130, 197, 20, 16, 96, 175, 62, 38, 52, 177, 53, 104, 168, 84, 102, 35, 60, 82, 1, 66, 60, 35, 197, 187, 127, 222, 183, 33, 225, 228, 224, 27, 95, 177, 219, 79, 2, 40, 59, 155, 211, 115, 55, 55, 142, 199, 105, 118, 146, 8, 209, 18, 242, 132, 13, 164, 253, 52, 89, 81, 39, 175, 241, 95, 44, 173, 59, 70, 152, 94, 87, 117, 113, 138},
+{84, 121, 201, 45, 96, 15, 41, 179, 74, 249, 101, 16, 51, 36, 122, 238, 18, 135, 43, 246, 208, 15, 33, 179, 168, 224, 118, 195, 75, 155, 226, 156, 131, 12, 186, 161, 237, 102, 92, 105, 128, 226, 148, 189, 181, 79, 250, 115, 209, 60, 175, 144, 190, 58, 254, 244, 8, 210, 204, 86, 140, 188, 129, 173, 73, 167, 70, 161, 61, 91, 173, 13, 2, 179, 140, 56, 213, 110, 126, 125, 28, 186, 112, 227, 254, 202, 38, 123, 94, 129, 65, 210, 100, 89, 15, 82, 241, 245, 215, 100, 44, 239, 174, 49, 107, 232, 62, 122, 251, 235, 239, 243, 103, 165, 205, 63, 178, 53, 60, 233, 39, 6, 31, 4, 91, 66, 149, 135},
+{2, 31, 121, 2, 163, 98, 179, 202, 120, 83, 77, 161, 166, 239, 236, 187, 102, 112, 0, 255, 105, 115, 182, 13, 102, 206, 118, 47, 46, 109, 235, 100, 56, 231, 161, 241, 0, 104, 155, 228, 70, 136, 170, 77, 167, 137, 240, 255, 250, 207, 187, 143, 161, 16, 196, 86, 122, 216, 88, 196, 45, 238, 97, 108, 92, 120, 104, 56, 123, 217, 8, 209, 51, 2, 60, 51, 5, 181, 246, 137, 35, 19, 185, 223, 61, 11, 85, 174, 135, 85, 40, 57, 203, 115, 254, 201, 87, 248, 23, 248, 197, 8, 237, 119, 20, 130, 47, 176, 146, 69, 223, 156, 219, 248, 136, 222, 136, 213, 215, 197, 103, 4, 148, 231, 57, 241, 70, 147},
+{69, 132, 200, 217, 25, 33, 66, 253, 45, 151, 249, 38, 67, 148, 50, 82, 54, 163, 178, 40, 163, 245, 103, 53, 137, 90, 210, 143, 43, 222, 240, 106, 94, 175, 250, 151, 76, 209, 129, 37, 170, 107, 31, 41, 191, 71, 147, 199, 247, 229, 135, 188, 19, 32, 233, 27, 80, 228, 252, 89, 208, 218, 134, 125, 12, 147, 192, 179, 56, 198, 124, 197, 57, 115, 197, 180, 82, 131, 53, 206, 185, 166, 34, 152, 61, 141, 63, 0, 81, 123, 1, 69, 86, 70, 218, 207, 8, 59, 141, 140, 230, 124, 174, 102, 235, 234, 133, 216, 212, 42, 78, 224, 196, 74, 187, 197, 126, 238, 145, 72, 92, 217, 77, 23, 86, 5, 50, 195},
+{78, 62, 40, 102, 223, 57, 129, 76, 150, 67, 252, 26, 236, 221, 94, 138, 141, 194, 124, 24, 227, 14, 52, 0, 183, 25, 167, 190, 101, 64, 202, 62, 130, 192, 197, 185, 164, 53, 226, 13, 134, 239, 191, 196, 129, 174, 50, 89, 76, 9, 191, 103, 198, 211, 210, 174, 9, 211, 54, 162, 109, 241, 83, 253, 237, 51, 97, 69, 152, 251, 34, 97, 43, 203, 187, 216, 25, 253, 2, 214, 223, 15, 94, 245, 231, 40, 157, 130, 62, 192, 195, 231, 53, 48, 84, 38, 233, 232, 54, 234, 166, 39, 140, 136, 125, 31, 249, 211, 163, 187, 202, 65, 214, 61, 213, 163, 161, 222, 241, 147, 224, 172, 27, 186, 139, 182, 164, 241},
+{119, 153, 196, 226, 234, 238, 2, 70, 220, 46, 112, 51, 118, 157, 207, 223, 177, 156, 107, 71, 61, 192, 124, 162, 64, 141, 159, 3, 209, 42, 110, 209, 165, 139, 99, 140, 148, 118, 18, 238, 16, 199, 25, 12, 206, 7, 205, 137, 193, 180, 164, 58, 50, 90, 151, 247, 27, 226, 129, 209, 212, 87, 17, 56, 233, 108, 209, 140, 133, 237, 152, 30, 53, 228, 174, 222, 188, 174, 104, 183, 47, 235, 170, 146, 230, 23, 138, 229, 159, 120, 221, 38, 226, 242, 117, 0, 242, 24, 201, 106, 158, 15, 7, 0, 123, 245, 159, 4, 119, 250, 182, 43, 81, 38, 180, 8, 172, 17, 109, 243, 197, 24, 125, 120, 68, 93, 128, 242},
+{203, 22, 0, 56, 14, 80, 101, 200, 30, 197, 189, 24, 203, 118, 41, 29, 247, 74, 228, 219, 75, 160, 180, 97, 108, 189, 29, 51, 18, 8, 193, 197, 94, 32, 127, 13, 60, 8, 31, 121, 197, 197, 157, 42, 229, 168, 233, 99, 140, 21, 219, 210, 98, 147, 9, 186, 165, 98, 105, 254, 125, 242, 15, 148, 215, 105, 51, 68, 134, 237, 59, 83, 164, 88, 48, 53, 1, 203, 216, 178, 245, 113, 176, 32, 89, 102, 141, 212, 181, 94, 34, 225, 254, 191, 120, 10, 92, 119, 0, 71, 29, 62, 61, 197, 247, 58, 219, 46, 176, 107, 193, 251, 148, 10, 184, 137, 54, 230, 136, 229, 201, 124, 60, 235, 197, 169, 237, 1},
+{44, 223, 28, 163, 166, 249, 237, 65, 48, 132, 7, 8, 72, 233, 108, 24, 163, 54, 93, 47, 150, 47, 180, 119, 231, 157, 122, 214, 66, 74, 126, 34, 149, 250, 7, 180, 41, 88, 56, 207, 91, 95, 36, 126, 71, 133, 18, 6, 99, 221, 87, 196, 232, 13, 148, 143, 31, 177, 193, 245, 159, 19, 51, 44, 181, 153, 249, 101, 105, 46, 53, 25, 76, 238, 58, 155, 82, 236, 168, 20, 107, 164, 152, 148, 192, 39, 155, 253, 227, 125, 208, 117, 227, 142, 157, 191, 11, 93, 26, 52, 141, 225, 231, 39, 15, 118, 106, 235, 251, 247, 242, 250, 246, 56, 33, 28, 247, 196, 228, 23, 101, 56, 28, 8, 83, 218, 193, 131},
+{14, 230, 134, 48, 61, 89, 74, 54, 186, 93, 213, 117, 178, 160, 22, 232, 16, 212, 186, 17, 37, 223, 79, 171, 250, 196, 153, 141, 171, 160, 148, 60, 7, 4, 26, 110, 162, 215, 230, 174, 231, 106, 139, 125, 67, 86, 210, 156, 36, 48, 62, 106, 144, 209, 104, 90, 62, 173, 252, 101, 22, 51, 173, 209, 55, 132, 93, 148, 132, 23, 56, 185, 229, 57, 50, 238, 122, 111, 214, 95, 63, 99, 220, 229, 178, 176, 195, 52, 186, 79, 228, 204, 173, 109, 201, 133, 158, 214, 182, 50, 71, 89, 81, 241, 22, 66, 120, 85, 225, 134, 184, 30, 166, 142, 98, 218, 30, 128, 79, 213, 152, 59, 40, 141, 51, 55, 201, 180},
+{205, 203, 114, 16, 128, 134, 70, 43, 169, 198, 42, 173, 90, 133, 176, 104, 3, 36, 116, 152, 210, 40, 166, 178, 16, 2, 148, 194, 113, 75, 231, 138, 196, 4, 141, 40, 77, 171, 88, 25, 190, 248, 37, 3, 163, 26, 30, 161, 110, 37, 197, 82, 122, 154, 202, 183, 17, 99, 43, 112, 62, 150, 126, 200, 108, 57, 106, 157, 177, 203, 109, 54, 183, 47, 248, 65, 250, 246, 159, 223, 252, 36, 72, 35, 141, 47, 164, 139, 186, 255, 64, 27, 91, 234, 31, 119, 18, 92, 91, 87, 251, 107, 173, 172, 104, 219, 68, 254, 48, 137, 186, 68, 31, 239, 187, 213, 212, 180, 114, 161, 250, 212, 221, 176, 16, 117, 118, 13},
+{207, 61, 1, 237, 247, 43, 219, 243, 30, 121, 166, 242, 158, 220, 173, 244, 129, 23, 224, 37, 91, 72, 27, 246, 220, 139, 84, 103, 51, 100, 75, 212, 237, 73, 195, 144, 218, 154, 102, 158, 48, 50, 147, 118, 220, 192, 13, 213, 190, 207, 244, 251, 27, 146, 105, 139, 38, 200, 181, 31, 87, 180, 220, 64, 228, 121, 230, 205, 3, 182, 65, 112, 13, 244, 189, 209, 84, 133, 34, 170, 14, 225, 53, 195, 9, 217, 132, 209, 206, 251, 244, 31, 154, 20, 32, 227, 195, 224, 121, 96, 66, 130, 84, 221, 63, 154, 142, 157, 163, 70, 19, 45, 52, 123, 50, 100, 18, 20, 131, 116, 26, 68, 66, 106, 162, 21, 96, 81},
+{146, 135, 240, 230, 153, 113, 241, 51, 26, 127, 153, 14, 165, 167, 50, 218, 132, 179, 156, 119, 252, 137, 59, 230, 14, 221, 133, 34, 105, 194, 72, 28, 247, 124, 186, 136, 88, 157, 249, 236, 173, 242, 129, 235, 187, 133, 249, 205, 118, 184, 147, 53, 81, 196, 224, 121, 237, 211, 193, 167, 185, 47, 110, 140, 79, 247, 232, 253, 6, 215, 136, 48, 63, 249, 229, 20, 238, 138, 217, 207, 12, 183, 165, 148, 28, 40, 171, 173, 166, 228, 59, 201, 83, 74, 64, 181, 208, 24, 203, 157, 215, 180, 226, 251, 242, 214, 218, 108, 59, 244, 99, 120, 193, 234, 185, 19, 122, 122, 18, 26, 52, 40, 117, 204, 87, 68, 237, 141},
+{136, 81, 40, 252, 136, 46, 173, 1, 58, 109, 55, 69, 35, 149, 10, 11, 178, 146, 112, 192, 18, 242, 52, 135, 49, 13, 249, 9, 38, 183, 78, 223, 45, 30, 255, 35, 239, 135, 18, 82, 49, 180, 178, 36, 148, 50, 7, 24, 18, 86, 169, 196, 181, 78, 27, 172, 28, 199, 168, 247, 199, 53, 230, 217, 130, 189, 140, 211, 3, 227, 253, 28, 195, 168, 249, 180, 243, 150, 117, 147, 160, 165, 231, 112, 72, 182, 226, 106, 164, 200, 197, 2, 27, 103, 164, 181, 42, 62, 232, 71, 205, 169, 175, 122, 112, 158, 158, 31, 96, 175, 44, 112, 203, 202, 135, 6, 192, 199, 65, 149, 247, 135, 179, 47, 98, 161, 173, 79},
+{165, 59, 29, 2, 223, 203, 116, 114, 66, 84, 141, 229, 37, 225, 93, 178, 196, 34, 237, 119, 156, 94, 135, 75, 12, 185, 80, 253, 247, 37, 61, 42, 146, 170, 120, 237, 2, 220, 228, 81, 11, 24, 242, 39, 10, 27, 180, 172, 76, 111, 153, 228, 129, 126, 35, 153, 62, 73, 72, 168, 65, 57, 206, 169, 231, 195, 54, 125, 210, 221, 105, 214, 105, 142, 91, 225, 129, 191, 222, 55, 4, 36, 46, 195, 244, 94, 90, 84, 58, 211, 200, 97, 55, 120, 77, 1, 37, 155, 121, 30, 143, 132, 202, 64, 47, 44, 124, 47, 190, 218, 194, 68, 217, 101, 244, 169, 126, 110, 254, 22, 182, 43, 233, 135, 208, 89, 63, 3},
+{63, 219, 18, 224, 241, 109, 218, 73, 105, 249, 116, 156, 177, 242, 14, 52, 144, 172, 103, 102, 101, 116, 248, 171, 144, 53, 178, 196, 107, 11, 192, 174, 53, 208, 166, 56, 27, 191, 109, 173, 84, 197, 78, 88, 116, 162, 185, 102, 96, 139, 242, 117, 65, 211, 98, 241, 87, 152, 29, 165, 241, 43, 216, 159, 40, 34, 252, 244, 81, 167, 233, 72, 2, 62, 195, 10, 169, 141, 55, 34, 79, 110, 159, 126, 235, 145, 173, 176, 38, 211, 215, 151, 83, 109, 183, 143, 135, 129, 19, 115, 32, 24, 9, 206, 17, 73, 197, 79, 30, 204, 107, 114, 11, 248, 156, 141, 5, 20, 248, 129, 132, 159, 186, 182, 105, 215, 65, 245},
+{169, 9, 112, 147, 255, 73, 86, 114, 168, 32, 119, 120, 108, 97, 152, 196, 250, 97, 104, 179, 145, 151, 52, 167, 228, 230, 254, 30, 30, 13, 57, 91, 6, 191, 126, 149, 70, 227, 71, 156, 231, 81, 123, 155, 222, 229, 215, 30, 213, 79, 94, 93, 92, 232, 34, 5, 18, 231, 81, 113, 36, 228, 54, 58, 174, 188, 60, 66, 204, 64, 214, 33, 207, 41, 107, 89, 105, 24, 95, 150, 57, 191, 160, 122, 74, 242, 253, 151, 120, 74, 134, 240, 232, 235, 150, 239, 0, 169, 156, 219, 59, 202, 130, 175, 243, 245, 36, 204, 118, 55, 211, 229, 10, 180, 169, 56, 119, 108, 71, 161, 110, 172, 81, 221, 191, 226, 200, 56},
+{23, 24, 96, 230, 215, 251, 120, 191, 195, 23, 71, 37, 140, 157, 15, 2, 12, 162, 13, 22, 195, 94, 158, 96, 202, 185, 27, 74, 144, 37, 6, 65, 238, 251, 253, 52, 201, 242, 231, 217, 72, 71, 83, 134, 222, 112, 242, 128, 228, 172, 29, 23, 143, 120, 202, 6, 48, 102, 130, 116, 60, 115, 152, 128, 250, 252, 146, 69, 83, 246, 136, 0, 238, 108, 13, 228, 41, 123, 144, 80, 168, 66, 166, 86, 130, 135, 190, 183, 65, 112, 1, 222, 192, 48, 125, 77, 61, 145, 57, 23, 238, 19, 206, 180, 70, 24, 172, 80, 115, 136, 151, 56, 186, 199, 242, 158, 57, 132, 126, 61, 26, 7, 78, 231, 2, 198, 160, 161},
+{145, 163, 153, 59, 93, 220, 224, 137, 214, 212, 191, 213, 18, 211, 182, 250, 138, 230, 40, 67, 72, 180, 241, 100, 137, 174, 82, 239, 126, 33, 72, 253, 235, 21, 22, 135, 209, 41, 163, 30, 195, 80, 219, 180, 128, 254, 201, 208, 133, 127, 43, 201, 230, 14, 13, 122, 11, 251, 241, 71, 80, 109, 59, 110, 6, 18, 20, 249, 209, 143, 126, 214, 44, 26, 207, 73, 56, 236, 227, 32, 128, 0, 237, 147, 196, 24, 83, 53, 130, 140, 107, 79, 84, 183, 190, 82, 202, 96, 123, 11, 139, 5, 115, 138, 185, 10, 183, 159, 0, 2, 217, 55, 208, 59, 249, 126, 25, 3, 3, 71, 249, 157, 102, 241, 7, 27, 186, 90},
+{166, 225, 75, 183, 237, 43, 148, 64, 169, 91, 106, 219, 237, 103, 12, 196, 221, 205, 73, 239, 217, 165, 43, 133, 77, 234, 124, 250, 21, 76, 246, 199, 72, 176, 30, 117, 55, 219, 196, 56, 219, 228, 143, 230, 140, 72, 182, 224, 69, 85, 239, 251, 101, 67, 96, 20, 221, 44, 128, 57, 127, 97, 158, 62, 200, 77, 3, 108, 120, 137, 253, 94, 25, 115, 98, 115, 212, 223, 63, 208, 15, 99, 218, 62, 34, 11, 180, 215, 95, 149, 113, 93, 79, 177, 9, 185, 2, 230, 115, 158, 97, 174, 1, 132, 230, 168, 15, 140, 245, 28, 155, 68, 20, 61, 9, 211, 171, 10, 32, 212, 87, 68, 251, 107, 126, 238, 77, 217},
+{60, 252, 48, 239, 99, 168, 20, 51, 33, 11, 207, 108, 127, 160, 194, 219, 251, 139, 210, 154, 242, 181, 245, 113, 16, 45, 214, 94, 163, 56, 112, 225, 248, 71, 214, 114, 145, 53, 180, 136, 49, 46, 115, 123, 213, 115, 187, 74, 244, 55, 79, 128, 8, 137, 169, 151, 58, 122, 252, 220, 20, 60, 178, 17, 177, 147, 71, 244, 151, 91, 71, 194, 74, 4, 96, 161, 108, 54, 75, 78, 248, 101, 104, 108, 196, 94, 237, 42, 8, 133, 208, 160, 183, 59, 149, 42, 192, 90, 171, 68, 209, 86, 76, 109, 73, 88, 237, 110, 90, 37, 203, 93, 245, 251, 42, 207, 204, 246, 205, 91, 197, 72, 252, 209, 156, 43, 206, 112},
+{45, 46, 112, 78, 229, 11, 244, 207, 2, 147, 88, 30, 5, 77, 159, 0, 184, 103, 112, 161, 123, 50, 37, 90, 253, 21, 154, 155, 14, 201, 204, 3, 92, 55, 37, 66, 34, 144, 65, 144, 199, 200, 126, 213, 197, 152, 178, 95, 77, 31, 17, 250, 92, 19, 30, 225, 10, 36, 251, 111, 7, 110, 225, 221, 229, 193, 173, 104, 89, 101, 106, 222, 198, 190, 239, 170, 124, 69, 73, 229, 173, 56, 206, 79, 29, 116, 58, 70, 30, 1, 99, 118, 107, 197, 194, 253, 255, 117, 84, 223, 241, 42, 136, 26, 7, 155, 123, 136, 157, 12, 18, 221, 78, 230, 101, 251, 113, 200, 202, 240, 139, 228, 113, 243, 95, 133, 126, 64},
+{132, 161, 126, 70, 199, 230, 151, 46, 128, 128, 201, 18, 192, 207, 60, 210, 164, 71, 242, 219, 243, 167, 242, 40, 130, 179, 41, 236, 230, 123, 115, 111, 8, 54, 239, 98, 185, 26, 59, 51, 213, 53, 135, 196, 32, 55, 67, 202, 217, 139, 176, 52, 68, 10, 243, 208, 222, 83, 109, 116, 22, 204, 13, 125, 19, 186, 62, 51, 137, 232, 220, 244, 48, 131, 183, 83, 193, 191, 234, 29, 88, 56, 42, 139, 187, 74, 146, 175, 60, 206, 134, 106, 45, 173, 17, 240, 222, 221, 177, 2, 147, 225, 251, 228, 22, 166, 119, 37, 122, 72, 58, 161, 174, 88, 102, 102, 31, 65, 247, 142, 28, 110, 161, 80, 176, 99, 247, 216},
+{183, 235, 137, 213, 82, 10, 213, 81, 156, 144, 183, 198, 157, 206, 97, 113, 187, 111, 32, 197, 24, 237, 172, 37, 129, 21, 123, 135, 200, 119, 212, 233, 82, 2, 223, 33, 15, 146, 16, 206, 254, 238, 161, 5, 56, 150, 161, 214, 176, 23, 190, 113, 41, 220, 226, 82, 235, 114, 36, 112, 123, 176, 115, 217, 191, 176, 212, 143, 170, 44, 201, 28, 35, 97, 125, 195, 209, 111, 221, 85, 204, 64, 34, 176, 10, 171, 70, 163, 128, 8, 222, 237, 206, 136, 44, 64, 10, 143, 103, 186, 61, 51, 77, 166, 119, 255, 203, 80, 128, 236, 76, 168, 30, 13, 151, 46, 153, 72, 246, 102, 167, 89, 165, 66, 212, 226, 186, 78},
+{200, 62, 2, 42, 238, 86, 117, 57, 18, 40, 38, 53, 137, 42, 37, 210, 163, 76, 74, 19, 176, 70, 87, 133, 217, 123, 227, 139, 53, 164, 4, 244, 7, 196, 231, 62, 79, 145, 128, 213, 254, 178, 69, 176, 253, 37, 90, 138, 233, 3, 59, 32, 113, 155, 191, 150, 78, 214, 187, 185, 67, 233, 252, 218, 229, 196, 113, 225, 150, 19, 158, 148, 219, 247, 218, 164, 237, 98, 51, 28, 241, 192, 240, 104, 117, 6, 52, 45, 102, 211, 101, 113, 207, 204, 220, 57, 182, 237, 223, 23, 227, 141, 119, 76, 93, 36, 133, 198, 160, 230, 235, 209, 239, 159, 214, 84, 132, 205, 51, 12, 114, 247, 27, 0, 71, 64, 251, 208},
+{120, 50, 207, 27, 64, 71, 137, 148, 233, 127, 162, 57, 17, 43, 39, 0, 173, 98, 212, 151, 105, 201, 212, 178, 221, 163, 3, 234, 23, 210, 104, 5, 197, 182, 2, 133, 43, 17, 190, 53, 230, 214, 88, 148, 86, 85, 182, 96, 5, 23, 99, 69, 184, 253, 184, 240, 68, 17, 230, 52, 65, 227, 252, 157, 173, 153, 219, 102, 131, 167, 107, 9, 175, 6, 106, 193, 75, 143, 114, 100, 119, 124, 92, 175, 235, 29, 76, 98, 254, 124, 51, 114, 129, 214, 229, 191, 219, 102, 158, 210, 177, 56, 19, 192, 62, 140, 68, 27, 179, 176, 74, 97, 153, 52, 0, 203, 10, 242, 176, 197, 38, 182, 192, 101, 166, 207, 136, 161},
+{82, 101, 107, 231, 73, 181, 81, 44, 221, 22, 211, 169, 164, 94, 65, 121, 220, 113, 213, 122, 26, 254, 181, 74, 145, 255, 108, 63, 120, 77, 176, 116, 208, 230, 22, 74, 114, 104, 231, 56, 79, 152, 79, 111, 134, 46, 162, 187, 82, 36, 77, 201, 53, 124, 66, 249, 43, 77, 112, 152, 59, 32, 130, 238, 219, 16, 157, 23, 178, 239, 243, 196, 127, 106, 77, 162, 104, 40, 192, 165, 161, 229, 254, 87, 199, 119, 88, 76, 123, 142, 163, 156, 249, 125, 18, 171, 223, 113, 45, 110, 53, 95, 22, 163, 73, 251, 254, 127, 90, 31, 237, 149, 29, 50, 220, 188, 189, 185, 208, 30, 19, 245, 218, 201, 245, 191, 185, 113},
+{13, 55, 154, 179, 105, 204, 66, 137, 23, 161, 251, 150, 9, 212, 60, 183, 175, 11, 1, 142, 88, 49, 183, 91, 0, 187, 10, 152, 249, 16, 132, 47, 231, 103, 115, 208, 61, 145, 153, 79, 169, 113, 24, 106, 14, 219, 73, 232, 82, 91, 155, 39, 230, 233, 21, 34, 170, 150, 151, 2, 121, 224, 36, 130, 249, 234, 196, 99, 185, 5, 108, 92, 241, 242, 167, 131, 0, 127, 13, 222, 211, 137, 129, 119, 95, 125, 210, 230, 48, 133, 91, 82, 233, 103, 83, 4, 20, 150, 68, 163, 243, 229, 226, 98, 117, 21, 62, 18, 213, 44, 36, 203, 165, 60, 247, 154, 112, 174, 144, 58, 167, 132, 142, 4, 143, 84, 19, 105},
+{25, 98, 247, 188, 53, 203, 253, 250, 216, 152, 200, 145, 99, 87, 178, 100, 41, 120, 184, 239, 118, 21, 94, 58, 57, 37, 70, 95, 154, 82, 145, 169, 125, 71, 158, 217, 102, 32, 187, 239, 34, 71, 64, 57, 20, 229, 127, 136, 65, 202, 4, 238, 137, 103, 6, 188, 184, 89, 143, 148, 115, 206, 65, 187, 51, 217, 92, 160, 183, 42, 52, 15, 36, 50, 85, 41, 233, 151, 28, 251, 118, 58, 234, 250, 60, 53, 13, 34, 126, 68, 179, 63, 191, 145, 25, 20, 108, 112, 13, 38, 28, 11, 178, 87, 240, 144, 220, 53, 86, 167, 36, 104, 225, 227, 243, 98, 248, 215, 146, 27, 71, 164, 17, 14, 209, 61, 210, 124},
+{167, 132, 230, 14, 179, 157, 230, 98, 46, 104, 145, 102, 118, 76, 166, 166, 217, 7, 115, 185, 116, 46, 127, 71, 45, 233, 115, 238, 81, 188, 46, 2, 92, 58, 208, 105, 183, 169, 184, 78, 125, 219, 216, 33, 236, 210, 5, 58, 74, 145, 51, 210, 125, 254, 156, 140, 231, 43, 193, 136, 143, 225, 24, 0, 11, 183, 52, 117, 185, 45, 233, 180, 117, 102, 142, 118, 215, 103, 112, 52, 229, 76, 112, 112, 108, 171, 11, 255, 239, 231, 70, 190, 25, 189, 128, 62, 4, 60, 139, 13, 179, 1, 55, 198, 38, 198, 245, 208, 89, 92, 65, 201, 12, 137, 18, 43, 243, 28, 65, 114, 108, 156, 178, 146, 191, 15, 159, 233},
+{126, 200, 17, 221, 225, 39, 74, 102, 61, 201, 252, 40, 133, 7, 13, 62, 4, 125, 140, 6, 129, 253, 95, 36, 124, 255, 224, 144, 145, 107, 84, 228, 184, 70, 135, 0, 59, 21, 179, 241, 29, 30, 22, 22, 74, 162, 155, 66, 111, 244, 225, 187, 200, 28, 189, 183, 56, 70, 235, 78, 232, 119, 137, 101, 2, 229, 182, 236, 48, 139, 147, 40, 105, 245, 108, 154, 124, 215, 5, 59, 69, 88, 63, 109, 73, 64, 139, 173, 168, 73, 75, 185, 131, 255, 30, 209, 114, 245, 125, 115, 143, 154, 83, 64, 84, 139, 242, 67, 176, 77, 50, 183, 69, 112, 167, 91, 162, 198, 103, 168, 92, 36, 222, 236, 7, 181, 65, 32},
+{12, 197, 193, 138, 211, 26, 114, 14, 212, 123, 249, 247, 52, 160, 18, 4, 232, 120, 115, 63, 118, 144, 110, 68, 246, 98, 116, 198, 206, 69, 34, 9, 205, 18, 8, 89, 171, 225, 254, 187, 103, 27, 56, 145, 211, 199, 80, 162, 74, 147, 7, 87, 83, 144, 145, 249, 100, 211, 7, 6, 78, 91, 103, 120, 73, 231, 37, 53, 70, 213, 141, 0, 120, 177, 184, 73, 179, 202, 79, 189, 211, 156, 122, 134, 2, 227, 236, 28, 196, 120, 102, 104, 137, 1, 176, 49, 38, 85, 206, 234, 216, 159, 86, 223, 221, 125, 71, 203, 218, 58, 1, 223, 77, 46, 12, 126, 108, 215, 233, 142, 32, 165, 193, 222, 227, 132, 180, 68},
+{194, 184, 243, 10, 189, 2, 78, 224, 228, 89, 73, 202, 126, 209, 252, 8, 134, 149, 225, 154, 32, 203, 119, 132, 205, 110, 185, 70, 244, 133, 120, 230, 43, 22, 120, 172, 212, 37, 145, 191, 229, 105, 156, 49, 210, 139, 38, 47, 0, 80, 113, 6, 4, 100, 9, 16, 142, 19, 196, 150, 57, 114, 50, 39, 125, 4, 211, 182, 197, 109, 156, 143, 231, 110, 29, 233, 138, 230, 161, 83, 14, 6, 13, 174, 225, 76, 42, 145, 255, 239, 180, 22, 168, 96, 240, 213, 57, 154, 100, 126, 46, 255, 126, 23, 114, 227, 131, 113, 118, 66, 127, 39, 41, 158, 110, 168, 87, 146, 1, 131, 73, 102, 87, 174, 194, 136, 141, 84},
+{189, 78, 1, 11, 235, 85, 39, 172, 55, 0, 134, 39, 107, 206, 87, 224, 51, 2, 68, 141, 181, 214, 72, 190, 102, 167, 185, 170, 135, 177, 201, 218, 30, 3, 119, 231, 71, 80, 168, 8, 41, 170, 161, 192, 182, 119, 226, 66, 148, 33, 66, 139, 94, 195, 176, 153, 74, 82, 248, 37, 168, 104, 217, 176, 169, 83, 130, 248, 58, 53, 251, 48, 137, 86, 2, 119, 236, 240, 164, 37, 146, 78, 124, 34, 87, 129, 160, 90, 117, 6, 98, 28, 217, 240, 10, 114, 164, 1, 214, 19, 7, 64, 133, 181, 142, 177, 191, 195, 26, 229, 212, 26, 77, 27, 122, 89, 61, 27, 50, 122, 53, 50, 46, 136, 1, 226, 115, 105},
+{102, 50, 181, 153, 227, 60, 50, 196, 182, 35, 115, 233, 16, 223, 222, 46, 23, 120, 117, 199, 50, 129, 158, 234, 247, 74, 24, 188, 59, 183, 119, 217, 15, 167, 131, 193, 86, 138, 191, 108, 213, 28, 61, 75, 39, 232, 223, 187, 37, 128, 101, 89, 190, 147, 200, 226, 178, 175, 177, 222, 243, 133, 5, 224, 147, 236, 39, 93, 107, 98, 193, 225, 233, 200, 136, 173, 70, 11, 133, 169, 220, 47, 107, 94, 230, 249, 130, 37, 133, 50, 230, 56, 162, 79, 1, 4, 45, 125, 176, 37, 57, 221, 81, 239, 110, 144, 52, 15, 171, 16, 2, 139, 194, 241, 5, 97, 253, 183, 173, 96, 139, 202, 24, 133, 172, 84, 93, 73},
+{61, 83, 124, 59, 2, 154, 145, 52, 180, 88, 194, 28, 130, 12, 169, 108, 184, 252, 152, 120, 120, 145, 220, 47, 166, 55, 104, 162, 240, 217, 78, 110, 183, 94, 178, 26, 49, 104, 167, 163, 95, 213, 174, 117, 217, 47, 24, 64, 201, 246, 181, 180, 104, 154, 158, 199, 179, 165, 208, 120, 125, 27, 87, 73, 116, 3, 157, 184, 134, 155, 218, 42, 150, 146, 134, 79, 106, 190, 10, 1, 208, 80, 254, 41, 55, 26, 55, 123, 156, 29, 11, 251, 169, 72, 194, 26, 235, 52, 229, 81, 48, 203, 243, 240, 71, 19, 157, 57, 62, 26, 72, 134, 52, 249, 228, 199, 95, 246, 118, 65, 240, 22, 93, 169, 146, 96, 231, 202},
+{23, 69, 173, 106, 115, 255, 118, 71, 134, 214, 94, 197, 184, 34, 84, 15, 216, 216, 88, 178, 45, 72, 194, 191, 142, 212, 124, 253, 124, 97, 123, 84, 195, 90, 194, 176, 218, 130, 100, 42, 113, 17, 118, 163, 205, 140, 59, 117, 94, 248, 26, 238, 11, 233, 211, 229, 116, 2, 44, 18, 62, 172, 208, 75, 184, 250, 109, 64, 106, 95, 233, 251, 38, 192, 102, 242, 237, 44, 194, 65, 113, 185, 189, 189, 209, 102, 38, 43, 66, 50, 200, 156, 168, 211, 18, 202, 101, 213, 4, 68, 233, 123, 192, 130, 73, 218, 144, 82, 119, 84, 201, 145, 197, 225, 7, 93, 210, 84, 59, 209, 124, 171, 113, 42, 229, 211, 141, 8},
+{84, 19, 151, 53, 253, 114, 103, 52, 98, 137, 238, 106, 137, 197, 187, 92, 208, 57, 144, 116, 60, 80, 95, 79, 207, 203, 81, 211, 170, 68, 116, 219, 21, 61, 27, 245, 117, 56, 95, 173, 240, 74, 27, 50, 141, 81, 75, 199, 49, 249, 175, 16, 151, 239, 89, 210, 230, 224, 19, 5, 75, 247, 50, 15, 145, 249, 184, 8, 233, 40, 28, 201, 234, 207, 40, 176, 229, 60, 255, 127, 199, 167, 253, 72, 242, 151, 247, 206, 24, 78, 201, 83, 51, 51, 128, 248, 7, 223, 97, 242, 1, 249, 56, 208, 136, 80, 178, 65, 110, 160, 211, 173, 191, 23, 163, 84, 134, 232, 162, 4, 177, 198, 211, 102, 109, 154, 104, 75},
+{101, 8, 174, 215, 173, 245, 131, 234, 59, 110, 13, 115, 154, 204, 251, 8, 187, 81, 169, 174, 131, 210, 18, 77, 237, 224, 84, 97, 9, 136, 182, 136, 250, 216, 4, 68, 72, 135, 29, 207, 239, 101, 239, 140, 184, 28, 156, 149, 98, 74, 31, 177, 147, 150, 138, 243, 89, 4, 33, 105, 197, 37, 160, 99, 58, 208, 234, 109, 205, 224, 49, 89, 44, 139, 90, 179, 67, 48, 189, 172, 65, 205, 110, 251, 79, 60, 157, 225, 128, 144, 93, 18, 241, 26, 243, 86, 96, 187, 101, 229, 166, 145, 90, 43, 80, 10, 249, 82, 177, 90, 150, 196, 18, 133, 69, 197, 134, 42, 171, 111, 123, 35, 130, 248, 143, 233, 107, 144},
+{201, 118, 150, 67, 121, 239, 3, 136, 34, 62, 59, 175, 196, 197, 68, 119, 20, 7, 210, 146, 179, 196, 132, 249, 225, 87, 131, 148, 152, 112, 215, 139, 104, 17, 6, 9, 33, 198, 182, 87, 134, 83, 151, 51, 153, 13, 209, 8, 106, 42, 25, 181, 20, 195, 137, 41, 22, 194, 54, 150, 198, 241, 152, 188, 33, 18, 95, 131, 196, 193, 210, 34, 95, 225, 96, 177, 157, 34, 51, 49, 189, 11, 18, 39, 6, 145, 207, 47, 103, 190, 107, 21, 207, 116, 217, 103, 90, 239, 193, 233, 15, 5, 157, 78, 65, 15, 13, 6, 55, 90, 141, 254, 191, 121, 201, 47, 56, 75, 240, 55, 237, 56, 244, 60, 228, 130, 36, 203},
+{155, 3, 111, 34, 69, 98, 38, 83, 83, 225, 169, 158, 101, 83, 117, 11, 247, 68, 122, 21, 0, 80, 110, 53, 224, 82, 222, 65, 50, 169, 71, 87, 161, 15, 79, 8, 137, 205, 18, 112, 237, 199, 225, 28, 208, 2, 178, 129, 141, 42, 9, 118, 159, 226, 164, 33, 202, 120, 176, 111, 233, 72, 152, 72, 249, 147, 204, 199, 42, 38, 178, 99, 190, 3, 154, 103, 104, 67, 225, 102, 224, 139, 155, 203, 57, 211, 182, 45, 224, 143, 120, 236, 63, 220, 61, 6, 111, 254, 26, 106, 240, 250, 192, 185, 5, 90, 183, 121, 253, 192, 53, 222, 253, 8, 244, 125, 140, 129, 114, 226, 56, 55, 189, 15, 193, 249, 136, 36},
+{170, 182, 247, 65, 56, 44, 39, 224, 31, 204, 248, 46, 84, 33, 167, 181, 219, 64, 237, 23, 215, 104, 60, 208, 191, 243, 116, 234, 122, 171, 61, 209, 34, 132, 15, 184, 108, 72, 165, 147, 20, 111, 202, 226, 130, 54, 19, 3, 32, 148, 199, 244, 63, 138, 155, 254, 215, 180, 95, 50, 95, 37, 34, 3, 25, 66, 232, 13, 132, 133, 83, 117, 200, 189, 43, 179, 248, 255, 176, 209, 126, 0, 166, 63, 99, 25, 233, 154, 76, 159, 211, 112, 136, 176, 242, 132, 173, 163, 31, 153, 252, 107, 190, 177, 5, 227, 45, 18, 177, 40, 228, 164, 58, 209, 173, 229, 16, 240, 195, 191, 140, 24, 29, 214, 111, 54, 204, 189},
+{168, 177, 144, 141, 244, 167, 65, 136, 127, 68, 177, 193, 122, 161, 140, 165, 249, 78, 98, 22, 175, 161, 82, 125, 138, 74, 44, 16, 229, 63, 230, 115, 198, 102, 198, 131, 96, 206, 148, 25, 149, 50, 32, 0, 202, 190, 131, 172, 247, 221, 240, 64, 206, 139, 221, 85, 25, 139, 3, 228, 157, 88, 14, 19, 155, 236, 217, 128, 69, 229, 89, 111, 21, 213, 245, 8, 26, 64, 152, 215, 32, 176, 131, 91, 170, 208, 37, 191, 15, 13, 7, 211, 240, 105, 87, 108, 6, 25, 112, 171, 58, 75, 249, 45, 144, 67, 55, 70, 172, 67, 109, 27, 203, 202, 181, 46, 249, 241, 186, 16, 49, 104, 220, 253, 228, 34, 231, 208},
+{108, 43, 156, 107, 211, 228, 3, 144, 62, 29, 86, 214, 94, 167, 91, 75, 65, 121, 214, 161, 21, 175, 252, 160, 118, 146, 15, 37, 51, 158, 88, 195, 155, 92, 203, 37, 39, 123, 141, 145, 42, 32, 157, 144, 126, 252, 74, 225, 147, 206, 166, 22, 19, 250, 231, 63, 33, 64, 101, 214, 63, 31, 64, 85, 240, 229, 14, 187, 59, 131, 47, 156, 73, 176, 11, 104, 178, 74, 52, 251, 217, 146, 84, 90, 224, 30, 157, 130, 112, 115, 232, 189, 172, 54, 222, 8, 85, 60, 116, 79, 147, 63, 24, 72, 128, 66, 180, 105, 252, 113, 202, 121, 134, 141, 114, 195, 5, 84, 255, 142, 14, 103, 1, 178, 201, 20, 57, 110},
+{175, 153, 138, 196, 78, 114, 237, 39, 227, 223, 237, 77, 142, 33, 145, 66, 215, 116, 3, 82, 136, 170, 116, 118, 48, 164, 159, 47, 22, 26, 67, 84, 76, 78, 222, 218, 44, 246, 139, 0, 25, 0, 62, 18, 161, 55, 15, 138, 234, 67, 232, 33, 224, 226, 129, 231, 129, 223, 73, 32, 242, 46, 42, 201, 129, 221, 186, 139, 135, 161, 158, 238, 196, 183, 123, 225, 115, 8, 51, 186, 50, 199, 156, 160, 253, 235, 157, 200, 72, 157, 99, 131, 13, 240, 126, 116, 130, 200, 224, 96, 123, 244, 187, 35, 82, 61, 93, 64, 202, 164, 159, 161, 122, 114, 189, 3, 173, 208, 209, 221, 154, 227, 181, 166, 81, 238, 153, 0},
+{199, 86, 66, 176, 197, 28, 123, 59, 86, 13, 154, 192, 127, 185, 184, 193, 67, 124, 121, 222, 115, 230, 163, 159, 202, 92, 192, 112, 31, 210, 161, 238, 28, 0, 27, 187, 183, 200, 194, 42, 182, 19, 30, 144, 129, 87, 161, 208, 224, 243, 237, 1, 86, 178, 211, 35, 169, 43, 165, 145, 101, 36, 87, 75, 172, 116, 206, 194, 182, 242, 98, 226, 55, 243, 0, 153, 136, 162, 215, 41, 121, 165, 65, 84, 198, 175, 10, 125, 111, 199, 146, 136, 176, 25, 16, 105, 32, 4, 70, 85, 175, 202, 162, 137, 230, 222, 187, 41, 221, 16, 138, 73, 127, 88, 202, 220, 168, 221, 35, 124, 223, 184, 181, 40, 15, 101, 22, 235},
+{172, 165, 254, 103, 24, 137, 162, 96, 16, 164, 104, 165, 190, 44, 221, 159, 80, 208, 198, 153, 62, 141, 152, 122, 104, 179, 254, 96, 26, 27, 82, 180, 216, 215, 236, 41, 86, 120, 216, 59, 177, 114, 141, 217, 151, 120, 175, 75, 45, 70, 174, 92, 198, 97, 184, 25, 231, 241, 47, 147, 162, 178, 255, 3, 200, 102, 88, 11, 107, 91, 219, 91, 50, 41, 99, 78, 146, 157, 93, 107, 13, 218, 77, 243, 151, 129, 52, 165, 224, 177, 51, 160, 189, 22, 129, 110, 191, 13, 11, 219, 71, 12, 120, 88, 244, 223, 137, 53, 11, 205, 233, 138, 81, 124, 221, 202, 81, 217, 85, 4, 90, 176, 123, 179, 2, 168, 177, 40},
+{126, 110, 129, 243, 14, 19, 218, 81, 157, 92, 203, 19, 252, 240, 234, 183, 35, 151, 63, 210, 183, 76, 194, 146, 54, 27, 107, 7, 130, 159, 109, 217, 124, 84, 6, 65, 240, 79, 231, 98, 137, 20, 220, 135, 81, 8, 95, 8, 90, 88, 147, 132, 86, 59, 246, 80, 56, 104, 65, 238, 254, 99, 244, 185, 109, 193, 131, 234, 148, 196, 88, 168, 147, 193, 191, 202, 19, 140, 188, 108, 162, 12, 165, 37, 61, 34, 103, 129, 91, 34, 214, 76, 220, 205, 61, 241, 69, 89, 189, 87, 247, 126, 76, 49, 102, 13, 191, 74, 229, 175, 184, 25, 171, 6, 25, 252, 245, 26, 65, 72, 174, 230, 100, 94, 245, 105, 74, 70},
+{118, 53, 145, 170, 95, 126, 13, 41, 238, 175, 151, 110, 10, 246, 27, 92, 238, 13, 82, 199, 30, 61, 77, 195, 139, 71, 209, 242, 37, 50, 230, 18, 13, 205, 169, 244, 80, 200, 29, 251, 59, 254, 190, 227, 40, 74, 134, 69, 118, 21, 16, 113, 212, 9, 29, 140, 158, 184, 247, 214, 209, 202, 24, 193, 47, 25, 56, 96, 125, 61, 53, 173, 82, 208, 182, 32, 196, 192, 52, 148, 54, 84, 193, 179, 183, 2, 4, 24, 254, 120, 25, 153, 86, 219, 86, 194, 148, 87, 179, 107, 27, 140, 92, 175, 87, 16, 252, 167, 100, 53, 131, 163, 144, 66, 202, 205, 141, 147, 142, 13, 124, 193, 247, 192, 108, 51, 12, 122},
+{110, 104, 163, 65, 193, 116, 235, 77, 71, 80, 92, 109, 121, 30, 23, 139, 222, 244, 126, 113, 106, 84, 253, 236, 45, 142, 146, 82, 215, 115, 233, 147, 49, 100, 236, 195, 143, 33, 10, 169, 179, 209, 124, 226, 109, 98, 48, 140, 206, 19, 147, 107, 1, 228, 237, 83, 113, 119, 100, 26, 122, 193, 89, 133, 144, 7, 80, 93, 96, 185, 45, 140, 235, 161, 69, 76, 27, 246, 142, 51, 114, 42, 40, 225, 0, 187, 175, 209, 245, 39, 84, 53, 71, 84, 28, 139, 80, 127, 146, 14, 144, 246, 230, 88, 206, 95, 25, 140, 167, 63, 196, 100, 238, 152, 123, 62, 227, 30, 22, 89, 90, 36, 22, 74, 227, 141, 161, 224},
+{194, 194, 143, 109, 161, 1, 151, 196, 158, 214, 194, 203, 169, 232, 123, 174, 4, 58, 8, 105, 110, 38, 96, 145, 246, 21, 65, 26, 145, 213, 163, 252, 110, 177, 44, 51, 36, 78, 165, 127, 191, 185, 117, 227, 194, 99, 141, 200, 102, 228, 155, 34, 31, 83, 19, 70, 230, 88, 88, 254, 251, 43, 108, 218, 183, 184, 38, 183, 13, 170, 169, 2, 252, 182, 192, 67, 53, 91, 116, 248, 152, 47, 9, 242, 31, 17, 57, 44, 22, 160, 127, 22, 216, 222, 114, 54, 26, 198, 217, 162, 119, 184, 189, 61, 131, 105, 171, 141, 56, 174, 210, 169, 139, 2, 52, 206, 57, 238, 108, 104, 40, 197, 97, 171, 97, 212, 12, 188},
+{35, 73, 98, 197, 254, 4, 224, 26, 33, 74, 14, 16, 127, 46, 164, 86, 95, 244, 220, 144, 126, 64, 13, 245, 204, 19, 237, 171, 188, 32, 25, 147, 3, 233, 160, 240, 89, 162, 17, 190, 16, 42, 218, 241, 165, 5, 28, 221, 143, 96, 233, 186, 5, 237, 246, 217, 242, 188, 83, 136, 31, 144, 30, 187, 135, 89, 255, 171, 206, 129, 202, 120, 197, 166, 244, 45, 202, 70, 76, 43, 156, 86, 53, 202, 122, 116, 137, 45, 47, 231, 172, 40, 49, 78, 83, 33, 193, 25, 118, 7, 0, 156, 139, 139, 25, 141, 126, 157, 84, 187, 159, 206, 159, 216, 234, 155, 149, 46, 141, 227, 26, 234, 65, 56, 10, 193, 184, 88},
+{6, 199, 9, 252, 161, 114, 3, 70, 34, 133, 130, 192, 203, 156, 200, 221, 32, 54, 96, 78, 75, 56, 129, 149, 208, 34, 105, 69, 159, 253, 242, 251, 219, 180, 72, 63, 171, 185, 191, 82, 187, 46, 98, 69, 251, 208, 70, 94, 86, 26, 162, 138, 75, 12, 85, 212, 220, 211, 46, 239, 111, 243, 84, 52, 231, 106, 219, 2, 29, 247, 49, 128, 18, 228, 107, 43, 225, 218, 5, 55, 227, 7, 151, 68, 217, 128, 14, 83, 146, 51, 179, 179, 177, 153, 62, 72, 175, 9, 238, 80, 43, 59, 47, 246, 52, 246, 53, 230, 216, 178, 90, 116, 125, 148, 141, 205, 115, 77, 155, 87, 215, 109, 55, 19, 249, 38, 213, 68},
+{45, 207, 224, 146, 145, 2, 7, 136, 12, 216, 44, 117, 185, 100, 130, 7, 3, 234, 36, 94, 10, 197, 51, 160, 164, 119, 32, 146, 117, 13, 13, 63, 38, 162, 227, 84, 214, 118, 141, 217, 24, 221, 207, 170, 34, 82, 153, 7, 23, 255, 117, 83, 146, 225, 204, 5, 211, 24, 33, 85, 239, 79, 0, 33, 74, 210, 179, 36, 193, 90, 119, 239, 240, 99, 248, 5, 168, 55, 227, 172, 42, 232, 42, 78, 78, 40, 129, 127, 177, 156, 143, 139, 190, 119, 204, 8, 192, 71, 200, 235, 195, 238, 184, 226, 230, 47, 227, 130, 246, 100, 104, 223, 132, 217, 248, 68, 60, 184, 253, 68, 234, 164, 113, 86, 137, 79, 51, 175},
+{81, 139, 234, 105, 113, 15, 36, 1, 57, 12, 229, 129, 235, 82, 138, 229, 127, 64, 11, 189, 222, 75, 220, 218, 194, 249, 32, 94, 9, 55, 201, 131, 112, 148, 50, 224, 50, 68, 238, 177, 185, 54, 142, 82, 15, 190, 188, 207, 251, 14, 65, 107, 133, 137, 26, 84, 163, 33, 4, 71, 46, 188, 83, 233, 100, 98, 69, 43, 150, 87, 103, 159, 120, 163, 146, 49, 193, 96, 139, 181, 153, 89, 168, 55, 38, 134, 85, 67, 92, 124, 232, 123, 76, 233, 2, 82, 48, 45, 197, 22, 245, 215, 240, 133, 127, 190, 152, 66, 109, 28, 58, 135, 163, 8, 34, 21, 230, 231, 146, 4, 24, 78, 254, 51, 112, 227, 1, 218},
+{97, 190, 43, 139, 69, 157, 12, 183, 205, 227, 76, 15, 93, 159, 226, 237, 139, 158, 87, 1, 140, 170, 102, 62, 170, 0, 84, 142, 96, 3, 112, 118, 205, 31, 194, 219, 195, 146, 200, 76, 94, 206, 72, 35, 137, 148, 248, 181, 201, 1, 49, 36, 171, 66, 181, 46, 139, 221, 252, 114, 195, 94, 41, 10, 38, 169, 45, 251, 49, 161, 227, 107, 21, 24, 245, 243, 159, 166, 241, 231, 159, 215, 6, 86, 48, 52, 183, 237, 6, 133, 116, 106, 209, 107, 144, 20, 178, 246, 215, 145, 140, 141, 117, 106, 94, 58, 26, 141, 228, 179, 176, 221, 176, 76, 197, 127, 59, 155, 21, 87, 76, 37, 5, 102, 108, 112, 165, 60},
+{154, 60, 197, 163, 26, 224, 212, 94, 209, 132, 126, 92, 161, 205, 233, 94, 123, 155, 159, 107, 112, 223, 39, 33, 173, 138, 29, 5, 250, 43, 47, 205, 244, 11, 49, 36, 89, 115, 139, 224, 83, 65, 69, 153, 188, 55, 15, 16, 34, 126, 220, 122, 32, 194, 53, 166, 253, 16, 30, 77, 249, 206, 68, 8, 37, 238, 70, 240, 185, 112, 235, 217, 93, 50, 111, 44, 188, 195, 121, 92, 137, 59, 209, 135, 172, 167, 54, 47, 157, 234, 36, 215, 161, 238, 151, 108, 157, 22, 99, 132, 252, 234, 190, 156, 111, 4, 48, 133, 114, 171, 66, 78, 164, 132, 91, 24, 40, 172, 32, 228, 111, 249, 104, 163, 83, 218, 220, 220},
+{162, 2, 121, 142, 110, 120, 8, 184, 8, 47, 57, 232, 177, 108, 195, 108, 197, 219, 228, 77, 14, 148, 20, 55, 75, 29, 38, 86, 147, 96, 171, 192, 111, 80, 12, 77, 251, 58, 242, 96, 31, 44, 203, 223, 78, 85, 146, 150, 61, 126, 45, 255, 23, 90, 205, 183, 13, 199, 44, 211, 136, 12, 50, 113, 221, 56, 206, 174, 163, 166, 236, 161, 215, 140, 138, 218, 179, 71, 90, 19, 104, 6, 184, 27, 145, 8, 102, 222, 130, 110, 228, 143, 55, 224, 224, 190, 89, 77, 158, 18, 63, 114, 117, 241, 43, 190, 61, 166, 84, 194, 57, 165, 203, 147, 62, 210, 80, 218, 227, 47, 222, 83, 195, 118, 118, 112, 22, 196},
+{130, 204, 46, 32, 5, 54, 198, 191, 122, 45, 54, 107, 23, 35, 223, 7, 134, 128, 240, 241, 80, 54, 135, 176, 104, 11, 242, 40, 222, 54, 224, 115, 214, 70, 139, 86, 126, 94, 209, 38, 75, 75, 122, 47, 208, 170, 33, 19, 172, 69, 123, 183, 74, 210, 208, 173, 95, 129, 42, 14, 159, 209, 123, 224, 151, 62, 221, 171, 215, 173, 250, 22, 77, 24, 114, 146, 176, 217, 33, 124, 5, 238, 238, 106, 13, 174, 161, 101, 247, 164, 90, 63, 20, 36, 186, 67, 171, 0, 89, 121, 98, 173, 245, 206, 143, 25, 5, 153, 61, 255, 89, 234, 14, 34, 32, 85, 180, 250, 133, 244, 45, 99, 17, 125, 38, 31, 251, 140},
+{70, 86, 229, 108, 223, 207, 115, 21, 130, 219, 6, 7, 224, 19, 156, 46, 196, 134, 216, 51, 233, 49, 43, 192, 204, 72, 83, 79, 85, 125, 96, 2, 131, 168, 88, 138, 41, 232, 229, 127, 147, 235, 2, 163, 153, 198, 79, 56, 246, 55, 82, 14, 253, 179, 104, 23, 240, 44, 225, 241, 175, 151, 207, 210, 201, 141, 177, 42, 120, 220, 250, 52, 130, 163, 194, 193, 144, 240, 251, 126, 158, 24, 124, 197, 224, 88, 64, 180, 163, 223, 199, 221, 252, 237, 212, 241, 154, 137, 94, 46, 49, 202, 84, 153, 225, 241, 145, 181, 236, 72, 68, 122, 15, 174, 229, 59, 73, 232, 214, 182, 192, 75, 134, 108, 230, 179, 140, 227},
+{44, 68, 47, 210, 103, 245, 6, 150, 251, 250, 126, 124, 115, 113, 141, 207, 14, 210, 210, 146, 130, 174, 157, 106, 110, 9, 4, 12, 213, 20, 73, 98, 17, 240, 101, 193, 174, 22, 2, 119, 34, 84, 86, 241, 226, 195, 207, 24, 128, 172, 88, 128, 14, 128, 143, 35, 202, 192, 202, 206, 55, 166, 116, 138, 47, 94, 79, 244, 244, 200, 7, 118, 54, 198, 10, 253, 85, 237, 64, 204, 97, 247, 38, 140, 144, 126, 180, 243, 73, 147, 50, 72, 19, 215, 169, 124, 233, 210, 72, 87, 133, 176, 20, 181, 93, 126, 185, 14, 69, 124, 43, 65, 204, 206, 82, 191, 58, 62, 10, 43, 170, 17, 134, 136, 25, 93, 160, 39},
+{195, 92, 198, 142, 127, 248, 25, 250, 133, 30, 153, 132, 215, 109, 94, 164, 102, 112, 34, 31, 89, 113, 214, 112, 104, 171, 243, 6, 106, 165, 93, 160, 204, 249, 220, 141, 249, 21, 118, 117, 73, 59, 9, 16, 66, 225, 69, 6, 17, 50, 13, 88, 150, 112, 132, 197, 166, 116, 128, 91, 87, 134, 121, 89, 206, 114, 237, 5, 233, 80, 163, 140, 149, 71, 74, 222, 240, 146, 126, 112, 136, 249, 70, 144, 209, 254, 217, 68, 188, 46, 162, 96, 187, 247, 192, 39, 7, 90, 133, 72, 105, 192, 168, 122, 91, 68, 222, 82, 254, 4, 186, 58, 81, 189, 248, 164, 105, 68, 233, 55, 14, 88, 233, 203, 224, 168, 129, 193},
+{195, 196, 41, 89, 138, 211, 236, 247, 166, 68, 177, 159, 224, 194, 18, 117, 221, 195, 247, 198, 46, 235, 147, 169, 21, 191, 130, 126, 247, 211, 204, 24, 103, 84, 36, 248, 120, 184, 124, 144, 131, 179, 112, 8, 24, 108, 86, 18, 46, 2, 47, 171, 22, 140, 132, 247, 2, 202, 226, 253, 226, 39, 245, 87, 63, 25, 119, 228, 171, 213, 181, 204, 190, 24, 165, 244, 147, 145, 29, 249, 59, 19, 56, 120, 112, 192, 175, 0, 63, 75, 255, 142, 215, 38, 215, 153, 96, 35, 54, 114, 144, 162, 185, 182, 101, 46, 114, 141, 45, 101, 30, 244, 126, 76, 238, 42, 241, 172, 163, 103, 190, 54, 59, 65, 85, 3, 0, 86},
+{107, 32, 83, 143, 78, 65, 166, 34, 124, 26, 79, 9, 163, 61, 215, 179, 151, 136, 57, 99, 17, 234, 27, 188, 141, 34, 133, 125, 72, 249, 72, 68, 249, 13, 201, 163, 250, 254, 248, 46, 234, 170, 81, 11, 97, 136, 73, 101, 171, 138, 46, 92, 80, 21, 65, 187, 30, 101, 174, 38, 133, 147, 217, 0, 94, 231, 231, 193, 130, 162, 118, 136, 69, 155, 43, 239, 96, 45, 23, 204, 227, 52, 246, 80, 181, 45, 155, 2, 221, 168, 160, 227, 225, 185, 83, 124, 30, 138, 26, 57, 233, 85, 135, 219, 193, 241, 184, 123, 216, 108, 188, 236, 21, 239, 240, 108, 40, 137, 41, 142, 53, 156, 208, 214, 91, 66, 141, 66},
+{147, 204, 220, 142, 121, 24, 86, 49, 234, 218, 182, 105, 108, 184, 92, 128, 212, 193, 51, 35, 54, 221, 155, 39, 220, 199, 19, 74, 180, 137, 235, 35, 169, 194, 173, 171, 188, 90, 84, 232, 94, 45, 26, 20, 147, 234, 236, 161, 159, 128, 176, 32, 86, 106, 85, 17, 78, 31, 162, 62, 133, 72, 239, 49, 108, 77, 104, 46, 28, 245, 238, 166, 92, 51, 162, 194, 132, 235, 56, 209, 153, 8, 36, 150, 83, 192, 172, 34, 91, 221, 83, 198, 36, 123, 4, 50, 69, 148, 240, 196, 213, 138, 21, 51, 68, 114, 139, 14, 115, 216, 250, 93, 70, 196, 251, 219, 53, 92, 187, 56, 129, 180, 23, 172, 160, 54, 60, 102},
+{152, 41, 244, 42, 110, 50, 117, 165, 1, 108, 249, 34, 74, 203, 202, 8, 214, 223, 251, 186, 245, 151, 199, 176, 151, 173, 204, 202, 74, 194, 143, 180, 62, 158, 245, 85, 139, 188, 38, 220, 170, 252, 101, 178, 154, 80, 85, 127, 58, 71, 236, 32, 223, 253, 150, 247, 72, 160, 18, 76, 18, 2, 52, 22, 184, 213, 97, 96, 221, 141, 187, 129, 67, 160, 155, 130, 100, 207, 213, 44, 197, 138, 162, 157, 28, 176, 48, 42, 245, 113, 41, 37, 55, 183, 171, 12, 191, 233, 248, 113, 12, 63, 59, 36, 120, 124, 166, 30, 79, 116, 138, 243, 122, 93, 166, 131, 138, 164, 85, 160, 113, 248, 42, 120, 72, 70, 159, 172},
+{99, 219, 44, 153, 72, 25, 110, 112, 91, 80, 115, 210, 201, 148, 247, 57, 22, 136, 227, 222, 135, 177, 208, 176, 33, 137, 244, 207, 209, 120, 252, 112, 104, 135, 252, 120, 53, 104, 86, 144, 158, 250, 31, 218, 24, 226, 45, 13, 176, 20, 63, 2, 121, 87, 251, 225, 69, 39, 236, 121, 100, 76, 75, 34, 192, 66, 63, 63, 35, 119, 235, 235, 78, 38, 88, 251, 185, 91, 138, 21, 193, 24, 77, 127, 236, 37, 37, 173, 161, 28, 47, 191, 172, 99, 162, 145, 16, 100, 39, 11, 136, 226, 244, 30, 236, 57, 68, 41, 223, 191, 85, 211, 22, 221, 187, 137, 202, 58, 155, 68, 44, 56, 89, 211, 72, 241, 82, 55},
+{6, 240, 235, 35, 138, 41, 31, 186, 48, 136, 33, 19, 26, 202, 86, 55, 60, 216, 81, 46, 79, 252, 75, 140, 168, 7, 202, 25, 83, 6, 122, 176, 0, 45, 166, 107, 137, 55, 119, 187, 27, 35, 196, 114, 138, 239, 113, 145, 173, 245, 18, 163, 149, 176, 16, 158, 98, 29, 202, 168, 43, 17, 214, 166, 24, 19, 56, 170, 16, 39, 73, 109, 227, 138, 33, 190, 185, 70, 227, 165, 195, 214, 155, 233, 6, 251, 187, 37, 25, 255, 189, 7, 31, 77, 104, 234, 18, 172, 169, 165, 23, 71, 120, 16, 89, 130, 121, 139, 187, 65, 206, 83, 72, 118, 174, 172, 218, 130, 60, 21, 63, 106, 178, 187, 209, 246, 67, 185},
+{24, 91, 48, 152, 102, 238, 163, 186, 168, 111, 43, 72, 47, 108, 42, 205, 149, 224, 103, 210, 205, 250, 228, 17, 100, 247, 79, 231, 152, 6, 104, 44, 5, 83, 229, 58, 151, 190, 220, 219, 251, 155, 187, 149, 245, 184, 86, 186, 45, 99, 136, 190, 122, 37, 119, 120, 188, 255, 64, 75, 229, 84, 112, 121, 91, 154, 37, 158, 87, 5, 237, 21, 30, 123, 135, 27, 22, 94, 152, 255, 238, 151, 139, 54, 249, 158, 244, 154, 82, 22, 237, 79, 203, 49, 120, 119, 156, 183, 63, 235, 55, 104, 163, 243, 4, 234, 136, 248, 66, 120, 147, 107, 218, 55, 69, 100, 116, 197, 24, 232, 98, 93, 129, 152, 249, 154, 0, 24},
+{143, 219, 83, 21, 251, 119, 210, 140, 3, 161, 213, 174, 247, 40, 170, 221, 92, 136, 208, 35, 114, 196, 128, 203, 158, 82, 244, 145, 4, 243, 116, 248, 5, 137, 98, 93, 19, 21, 235, 157, 246, 38, 31, 93, 153, 224, 128, 213, 36, 91, 148, 49, 185, 93, 172, 63, 110, 73, 216, 123, 158, 237, 69, 219, 16, 161, 13, 111, 33, 70, 139, 114, 54, 63, 68, 189, 189, 14, 98, 216, 136, 166, 13, 212, 39, 47, 41, 113, 241, 93, 253, 203, 16, 55, 181, 86, 126, 127, 213, 239, 57, 194, 143, 223, 17, 255, 219, 152, 17, 184, 215, 201, 195, 206, 100, 154, 19, 178, 237, 7, 61, 119, 106, 36, 73, 39, 136, 245},
+{128, 29, 82, 226, 113, 173, 40, 159, 173, 154, 68, 127, 78, 184, 234, 253, 19, 233, 27, 231, 177, 247, 125, 166, 96, 142, 232, 8, 120, 110, 11, 222, 131, 125, 175, 201, 98, 51, 9, 159, 73, 44, 228, 235, 204, 212, 66, 123, 248, 199, 15, 115, 237, 205, 117, 27, 254, 141, 71, 149, 95, 163, 48, 98, 119, 118, 78, 216, 46, 180, 240, 158, 117, 54, 175, 167, 217, 12, 26, 116, 162, 191, 180, 14, 108, 22, 17, 47, 80, 8, 2, 76, 148, 248, 87, 131, 7, 46, 119, 30, 124, 92, 160, 38, 199, 46, 173, 170, 204, 17, 15, 57, 205, 63, 27, 252, 208, 195, 249, 75, 251, 179, 71, 238, 190, 8, 9, 91},
+{185, 27, 39, 206, 108, 58, 195, 70, 117, 171, 209, 127, 42, 33, 4, 109, 129, 182, 157, 121, 45, 191, 205, 31, 155, 3, 237, 3, 67, 229, 37, 2, 183, 70, 98, 153, 250, 162, 148, 173, 25, 199, 251, 207, 177, 52, 158, 171, 78, 24, 16, 68, 126, 173, 230, 33, 44, 9, 226, 243, 158, 133, 111, 186, 15, 235, 82, 155, 183, 112, 44, 177, 173, 228, 147, 146, 0, 40, 218, 21, 101, 8, 37, 29, 141, 116, 42, 194, 150, 20, 187, 155, 176, 54, 46, 69, 200, 111, 70, 225, 70, 9, 94, 148, 6, 59, 108, 122, 148, 216, 122, 65, 190, 197, 12, 240, 18, 142, 181, 19, 40, 214, 208, 221, 230, 147, 24, 111},
+{142, 118, 155, 69, 189, 182, 104, 188, 110, 34, 234, 92, 151, 20, 85, 16, 199, 9, 205, 141, 32, 156, 174, 93, 195, 153, 50, 11, 191, 142, 148, 236, 59, 122, 112, 200, 170, 181, 72, 72, 130, 44, 254, 98, 162, 218, 6, 89, 234, 66, 251, 207, 122, 11, 161, 195, 198, 246, 135, 85, 87, 44, 118, 221, 87, 10, 186, 5, 224, 117, 166, 196, 62, 205, 79, 63, 41, 63, 123, 65, 136, 211, 28, 68, 226, 80, 156, 155, 57, 13, 131, 145, 144, 225, 208, 57, 160, 164, 1, 221, 39, 224, 89, 224, 112, 39, 107, 200, 83, 96, 160, 146, 139, 194, 89, 61, 76, 117, 66, 207, 191, 218, 151, 120, 251, 238, 126, 137},
+{209, 208, 100, 215, 63, 193, 5, 249, 189, 203, 12, 50, 223, 25, 153, 154, 7, 243, 17, 43, 197, 118, 214, 179, 234, 145, 68, 25, 246, 214, 48, 146, 107, 53, 165, 113, 249, 107, 161, 220, 129, 188, 33, 195, 240, 121, 127, 6, 248, 163, 158, 196, 95, 253, 49, 183, 40, 178, 181, 255, 66, 48, 101, 28, 151, 78, 100, 227, 249, 101, 69, 129, 103, 55, 217, 26, 179, 125, 29, 219, 124, 73, 196, 247, 232, 69, 168, 147, 227, 27, 83, 94, 250, 153, 62, 189, 197, 227, 233, 165, 42, 46, 113, 166, 107, 74, 8, 169, 0, 156, 216, 210, 153, 77, 163, 235, 46, 37, 67, 36, 198, 189, 17, 122, 177, 137, 188, 153},
+{79, 100, 170, 136, 230, 233, 154, 39, 46, 126, 160, 185, 31, 89, 207, 150, 140, 155, 205, 114, 7, 233, 70, 124, 51, 134, 73, 112, 170, 84, 82, 138, 53, 174, 9, 253, 57, 240, 184, 239, 170, 64, 15, 15, 244, 243, 98, 231, 74, 76, 114, 62, 8, 95, 75, 28, 112, 58, 16, 120, 121, 124, 41, 248, 158, 240, 41, 255, 91, 185, 243, 171, 251, 105, 27, 178, 116, 23, 227, 18, 176, 160, 33, 133, 176, 209, 84, 227, 254, 237, 136, 5, 15, 111, 100, 65, 2, 166, 157, 211, 227, 176, 142, 167, 67, 229, 224, 131, 50, 222, 126, 223, 115, 65, 98, 130, 226, 136, 135, 179, 188, 232, 202, 200, 75, 34, 204, 42},
+{164, 115, 186, 205, 20, 105, 129, 239, 54, 209, 215, 251, 224, 228, 31, 185, 154, 49, 54, 96, 90, 17, 132, 214, 128, 139, 103, 132, 16, 221, 143, 172, 9, 141, 17, 39, 118, 70, 19, 191, 48, 82, 57, 228, 90, 204, 131, 51, 76, 212, 54, 220, 78, 234, 7, 140, 228, 237, 234, 65, 36, 240, 65, 213, 253, 26, 129, 136, 246, 71, 1, 66, 160, 28, 154, 237, 87, 154, 7, 207, 225, 97, 126, 178, 101, 155, 85, 161, 83, 14, 23, 151, 218, 255, 204, 70, 79, 78, 79, 106, 225, 255, 82, 158, 238, 133, 143, 90, 26, 162, 241, 215, 14, 227, 244, 255, 126, 233, 153, 130, 218, 195, 171, 20, 27, 162, 249, 219},
+{247, 159, 74, 28, 253, 193, 65, 55, 133, 170, 10, 2, 167, 51, 128, 66, 115, 4, 248, 99, 68, 40, 37, 178, 203, 191, 88, 47, 208, 72, 35, 170, 163, 173, 202, 112, 117, 26, 41, 215, 61, 159, 145, 143, 117, 135, 95, 80, 75, 21, 255, 253, 50, 84, 47, 101, 101, 11, 223, 28, 218, 32, 181, 112, 54, 212, 157, 60, 239, 87, 32, 185, 209, 84, 109, 110, 138, 39, 130, 6, 198, 37, 162, 255, 90, 184, 69, 165, 187, 82, 102, 52, 148, 42, 31, 108, 17, 122, 238, 171, 192, 132, 45, 45, 138, 12, 173, 164, 15, 64, 201, 168, 10, 7, 53, 136, 25, 219, 23, 251, 48, 1, 142, 24, 103, 113, 253},
+{169, 229, 159, 147, 167, 199, 64, 111, 109, 156, 191, 9, 231, 135, 24, 240, 101, 74, 205, 48, 133, 225, 216, 185, 170, 231, 252, 188, 205, 228, 170, 227, 78, 34, 182, 138, 125, 170, 7, 32, 181, 159, 161, 138, 39, 99, 231, 29, 109, 212, 32, 84, 221, 23, 24, 109, 3, 170, 34, 54, 29, 1, 43, 89, 220, 88, 46, 102, 147, 199, 113, 57, 15, 237, 218, 143, 84, 147, 99, 100, 1, 169, 47, 59, 35, 173, 32, 85, 88, 42, 233, 57, 219, 134, 112, 108, 17, 38, 210, 192, 218, 30, 156, 234, 138, 244, 249, 5, 121, 247, 139, 85, 248, 124, 29, 99, 91, 255, 76, 219, 250, 35, 230, 218, 209, 81, 147, 55},
+{195, 229, 145, 124, 23, 149, 238, 189, 138, 229, 188, 17, 60, 161, 187, 250, 159, 151, 133, 189, 181, 2, 98, 159, 172, 100, 28, 182, 2, 129, 15, 133, 6, 14, 250, 222, 80, 216, 200, 110, 220, 233, 109, 229, 63, 159, 175, 230, 110, 172, 221, 219, 201, 226, 20, 11, 117, 92, 44, 121, 170, 44, 223, 111, 220, 170, 31, 161, 70, 167, 72, 72, 35, 88, 230, 221, 197, 230, 64, 223, 205, 103, 153, 83, 115, 195, 26, 205, 174, 91, 158, 47, 113, 251, 39, 61, 88, 98, 15, 176, 137, 223, 155, 249, 17, 95, 86, 62, 222, 217, 169, 10, 2, 151, 232, 1, 222, 238, 72, 47, 203, 98, 72, 40, 129, 252, 114, 35},
+{151, 174, 6, 93, 203, 238, 132, 101, 240, 107, 138, 7, 21, 196, 97, 80, 230, 51, 228, 119, 7, 22, 114, 230, 191, 143, 191, 234, 45, 152, 5, 28, 208, 140, 247, 143, 16, 149, 102, 224, 124, 145, 182, 192, 200, 141, 71, 86, 205, 140, 84, 160, 85, 167, 197, 131, 215, 89, 74, 14, 156, 33, 186, 250, 14, 128, 56, 234, 25, 101, 9, 252, 61, 251, 213, 113, 34, 131, 184, 68, 107, 192, 212, 177, 136, 8, 242, 181, 156, 82, 121, 123, 85, 173, 120, 221, 192, 139, 6, 122, 32, 22, 203, 96, 186, 87, 132, 215, 234, 66, 98, 196, 202, 55, 147, 63, 115, 54, 202, 22, 11, 55, 54, 66, 61, 130, 96, 39},
+{9, 173, 150, 107, 152, 197, 60, 47, 236, 67, 49, 52, 113, 242, 159, 62, 92, 144, 253, 90, 248, 80, 202, 162, 175, 168, 156, 8, 106, 192, 119, 69, 242, 105, 103, 229, 157, 134, 116, 165, 140, 59, 161, 41, 119, 115, 113, 56, 75, 245, 91, 22, 242, 135, 167, 51, 62, 208, 154, 17, 150, 255, 174, 78, 43, 189, 121, 235, 139, 147, 55, 105, 25, 132, 189, 14, 201, 9, 160, 20, 207, 215, 140, 184, 128, 245, 168, 226, 68, 103, 135, 70, 56, 49, 58, 192, 55, 45, 189, 6, 221, 73, 189, 102, 106, 56, 141, 144, 12, 180, 133, 110, 230, 230, 139, 228, 81, 160, 154, 101, 200, 18, 101, 159, 70, 15, 26, 24},
+{70, 245, 157, 218, 60, 255, 141, 155, 207, 0, 191, 65, 191, 79, 23, 17, 24, 243, 244, 205, 178, 115, 229, 184, 67, 81, 189, 155, 240, 160, 231, 236, 136, 129, 235, 180, 109, 195, 1, 91, 23, 140, 44, 245, 166, 30, 7, 27, 127, 133, 173, 15, 207, 100, 218, 184, 167, 194, 123, 39, 193, 82, 157, 13, 238, 49, 169, 115, 214, 148, 231, 246, 94, 82, 198, 104, 131, 248, 222, 186, 22, 93, 216, 46, 139, 181, 16, 180, 94, 168, 7, 249, 91, 92, 148, 18, 18, 223, 142, 111, 152, 188, 178, 206, 43, 176, 108, 117, 241, 192, 200, 114, 44, 79, 111, 245, 115, 194, 221, 162, 67, 30, 142, 40, 219, 232, 99, 250},
+{140, 92, 43, 0, 3, 196, 78, 134, 237, 171, 57, 126, 30, 16, 171, 25, 189, 159, 12, 189, 113, 141, 254, 198, 127, 192, 48, 133, 149, 64, 51, 19, 74, 93, 198, 143, 66, 72, 158, 44, 161, 150, 176, 3, 94, 6, 111, 149, 99, 170, 36, 137, 126, 125, 104, 20, 237, 149, 108, 189, 47, 32, 234, 86, 27, 242, 220, 196, 110, 47, 53, 224, 57, 13, 85, 53, 44, 43, 128, 50, 159, 220, 237, 191, 2, 156, 172, 233, 182, 172, 50, 254, 171, 194, 75, 106, 102, 58, 174, 245, 229, 215, 34, 38, 129, 252, 92, 133, 121, 86, 243, 128, 224, 248, 238, 106, 80, 180, 118, 108, 158, 207, 42, 251, 99, 49, 198, 163},
+{146, 202, 155, 48, 92, 88, 10, 104, 31, 124, 232, 134, 190, 67, 93, 168, 241, 101, 60, 42, 46, 39, 239, 65, 20, 247, 49, 130, 236, 219, 72, 170, 57, 78, 193, 8, 158, 101, 74, 248, 55, 217, 251, 55, 44, 13, 210, 228, 238, 92, 88, 33, 121, 114, 109, 74, 84, 78, 168, 164, 204, 21, 217, 114, 23, 113, 86, 31, 66, 11, 225, 108, 136, 142, 140, 146, 1, 207, 213, 141, 101, 112, 19, 4, 171, 35, 101, 87, 85, 69, 98, 175, 171, 172, 144, 195, 105, 86, 108, 225, 167, 108, 113, 233, 139, 120, 121, 100, 137, 10, 173, 67, 45, 207, 94, 222, 35, 251, 43, 229, 97, 79, 176, 201, 56, 203, 57, 238},
+{7, 168, 47, 55, 21, 140, 240, 131, 133, 245, 199, 12, 22, 100, 214, 183, 157, 113, 250, 26, 84, 203, 21, 71, 80, 127, 128, 137, 109, 181, 202, 17, 39, 230, 188, 139, 209, 191, 124, 51, 140, 229, 96, 132, 5, 134, 244, 228, 52, 192, 42, 237, 9, 245, 165, 246, 126, 161, 83, 150, 51, 78, 233, 4, 174, 119, 83, 204, 107, 67, 232, 240, 192, 153, 168, 11, 91, 176, 205, 192, 202, 129, 12, 49, 171, 19, 8, 220, 223, 55, 70, 126, 25, 216, 32, 18, 39, 77, 203, 152, 41, 159, 138, 118, 6, 149, 14, 138, 159, 196, 165, 30, 182, 104, 225, 111, 68, 2, 61, 250, 204, 230, 195, 133, 93, 85, 125, 24},
+{158, 87, 190, 249, 117, 81, 195, 161, 135, 250, 71, 97, 50, 255, 86, 17, 96, 20, 117, 114, 195, 206, 193, 169, 150, 0, 252, 108, 123, 231, 33, 23, 115, 220, 9, 196, 106, 209, 231, 207, 234, 151, 70, 18, 43, 239, 35, 43, 241, 7, 37, 252, 239, 78, 50, 109, 103, 200, 53, 33, 76, 192, 39, 109, 53, 3, 143, 82, 169, 181, 209, 153, 19, 246, 77, 235, 115, 222, 187, 123, 49, 0, 49, 157, 159, 124, 184, 136, 44, 85, 232, 42, 95, 143, 81, 199, 45, 236, 106, 27, 76, 135, 181, 72, 103, 193, 113, 108, 174, 170, 127, 231, 137, 249, 197, 81, 205, 212, 53, 149, 225, 75, 169, 39, 220, 68, 145, 130},
+{143, 109, 26, 148, 41, 73, 129, 30, 68, 185, 199, 245, 102, 184, 139, 166, 118, 74, 144, 43, 85, 37, 128, 41, 252, 226, 198, 86, 122, 137, 88, 161, 195, 163, 145, 1, 57, 121, 129, 115, 77, 206, 218, 166, 192, 89, 196, 105, 22, 169, 3, 241, 127, 97, 102, 103, 207, 241, 78, 35, 68, 148, 19, 247, 212, 216, 4, 91, 104, 103, 226, 189, 66, 106, 26, 61, 37, 205, 126, 236, 173, 136, 103, 74, 200, 203, 231, 208, 20, 228, 66, 134, 193, 44, 87, 72, 221, 100, 215, 153, 251, 249, 247, 129, 106, 39, 179, 202, 40, 70, 255, 150, 249, 92, 50, 100, 177, 205, 2, 185, 2, 11, 1, 191, 252, 130, 84, 202},
+{74, 231, 203, 76, 18, 79, 200, 38, 42, 96, 65, 213, 181, 41, 119, 181, 81, 95, 128, 184, 121, 107, 67, 140, 123, 194, 11, 137, 221, 101, 211, 54, 224, 207, 132, 27, 48, 155, 30, 105, 154, 133, 77, 165, 55, 28, 22, 79, 193, 115, 222, 230, 45, 89, 133, 245, 110, 99, 237, 201, 18, 169, 95, 180, 172, 59, 111, 22, 129, 102, 7, 134, 159, 97, 159, 139, 152, 255, 163, 254, 195, 190, 188, 106, 29, 120, 13, 35, 54, 90, 36, 107, 212, 32, 80, 145, 164, 210, 102, 26, 152, 179, 78, 59, 123, 99, 251, 89, 240, 119, 151, 89, 120, 128, 191, 83, 159, 63, 229, 42, 83, 36, 166, 96, 10, 210, 239, 165},
+{145, 145, 244, 35, 223, 175, 79, 236, 223, 29, 0, 105, 200, 123, 82, 231, 145, 124, 232, 113, 180, 247, 49, 227, 250, 193, 31, 222, 172, 169, 63, 77, 241, 35, 54, 30, 71, 126, 246, 190, 87, 189, 41, 208, 169, 111, 68, 165, 170, 53, 119, 1, 40, 242, 90, 76, 202, 79, 66, 57, 92, 34, 129, 93, 193, 24, 242, 11, 105, 187, 216, 178, 133, 38, 107, 111, 48, 244, 230, 12, 151, 180, 129, 223, 123, 162, 22, 20, 5, 244, 31, 218, 104, 54, 189, 44, 169, 43, 187, 133, 99, 204, 69, 253, 127, 195, 106, 254, 119, 137, 146, 168, 176, 140, 91, 129, 57, 242, 70, 211, 185, 184, 223, 237, 34, 34, 227, 133},
+{111, 39, 227, 239, 217, 215, 152, 68, 125, 144, 29, 228, 206, 251, 216, 12, 41, 67, 56, 79, 53, 168, 241, 49, 45, 115, 61, 58, 67, 17, 161, 217, 85, 39, 74, 184, 41, 86, 101, 133, 116, 239, 57, 176, 213, 59, 14, 201, 43, 82, 139, 181, 127, 127, 245, 63, 61, 135, 5, 216, 54, 1, 79, 20, 10, 253, 241, 23, 41, 145, 219, 47, 213, 109, 158, 215, 52, 35, 184, 244, 230, 144, 73, 247, 250, 8, 235, 18, 56, 68, 75, 209, 96, 228, 29, 84, 42, 73, 0, 78, 188, 154, 104, 58, 86, 189, 158, 223, 160, 28, 143, 161, 136, 140, 61, 105, 245, 69, 90, 117, 139, 199, 81, 221, 246, 229, 146, 65},
+{179, 182, 1, 90, 236, 179, 154, 200, 117, 58, 244, 112, 186, 133, 231, 37, 236, 240, 208, 27, 168, 243, 51, 114, 200, 25, 97, 193, 219, 95, 238, 198, 217, 152, 51, 225, 35, 62, 66, 100, 108, 157, 102, 210, 255, 210, 126, 167, 220, 228, 167, 234, 177, 76, 64, 232, 233, 58, 249, 215, 160, 82, 65, 205, 119, 207, 253, 223, 81, 11, 65, 22, 201, 218, 80, 127, 100, 41, 196, 27, 188, 49, 80, 162, 192, 253, 12, 200, 205, 119, 123, 23, 110, 251, 72, 230, 48, 73, 247, 59, 155, 70, 34, 232, 19, 42, 156, 24, 160, 35, 23, 159, 123, 249, 2, 33, 150, 130, 87, 86, 101, 249, 151, 186, 18, 233, 93, 138},
+{85, 131, 89, 215, 220, 66, 37, 150, 235, 194, 113, 123, 102, 70, 194, 134, 238, 42, 242, 134, 140, 188, 252, 18, 64, 150, 163, 161, 24, 13, 110, 244, 105, 182, 85, 80, 112, 35, 23, 84, 73, 233, 243, 89, 17, 123, 181, 189, 138, 189, 92, 86, 93, 178, 253, 109, 123, 0, 81, 200, 254, 169, 127, 252, 217, 165, 134, 66, 33, 10, 25, 195, 75, 121, 252, 126, 225, 63, 152, 168, 134, 198, 103, 2, 222, 6, 241, 51, 17, 60, 22, 123, 46, 181, 52, 247, 172, 211, 244, 90, 106, 62, 232, 75, 241, 148, 19, 98, 16, 184, 203, 122, 126, 158, 112, 89, 88, 203, 156, 233, 239, 229, 36, 9, 173, 209, 178, 197},
+{106, 89, 114, 37, 51, 52, 220, 92, 46, 53, 198, 122, 130, 251, 39, 50, 90, 0, 212, 153, 209, 104, 154, 166, 168, 178, 99, 248, 50, 128, 210, 42, 84, 212, 71, 178, 88, 191, 140, 138, 181, 153, 231, 101, 208, 70, 123, 110, 168, 175, 242, 90, 255, 5, 195, 22, 17, 227, 220, 62, 206, 65, 136, 66, 214, 224, 145, 146, 53, 162, 138, 137, 196, 198, 236, 182, 38, 82, 34, 37, 186, 62, 206, 191, 40, 186, 163, 232, 191, 113, 134, 246, 65, 200, 16, 70, 134, 7, 90, 222, 195, 9, 40, 169, 137, 6, 52, 86, 150, 56, 43, 206, 243, 114, 160, 50, 107, 167, 149, 28, 4, 60, 28, 246, 162, 175, 169, 83},
+{203, 28, 36, 141, 40, 97, 125, 164, 187, 142, 192, 136, 114, 224, 84, 160, 42, 216, 227, 153, 128, 83, 146, 70, 126, 36, 197, 106, 23, 5, 210, 69, 61, 228, 167, 133, 140, 57, 234, 31, 253, 222, 183, 34, 3, 204, 231, 44, 65, 98, 220, 230, 12, 37, 39, 186, 254, 156, 36, 223, 114, 13, 49, 100, 6, 46, 186, 249, 135, 125, 155, 150, 237, 61, 164, 164, 34, 24, 92, 35, 93, 224, 100, 195, 66, 48, 180, 111, 122, 6, 65, 83, 69, 246, 251, 85, 34, 50, 138, 133, 154, 249, 126, 186, 79, 235, 180, 5, 64, 45, 9, 245, 72, 108, 221, 29, 194, 81, 16, 204, 235, 116, 13, 185, 17, 224, 198, 26},
+{178, 101, 217, 223, 96, 38, 126, 114, 30, 147, 83, 161, 131, 201, 0, 187, 128, 209, 48, 38, 245, 148, 140, 228, 48, 186, 53, 176, 241, 175, 202, 76, 216, 134, 201, 158, 227, 28, 55, 214, 65, 115, 129, 167, 188, 212, 116, 20, 228, 106, 59, 219, 100, 137, 14, 78, 107, 208, 166, 226, 235, 126, 129, 99, 111, 135, 112, 90, 41, 208, 117, 254, 37, 26, 161, 141, 178, 128, 36, 4, 240, 182, 127, 161, 49, 11, 162, 233, 72, 106, 122, 167, 192, 42, 124, 21, 32, 15, 148, 207, 46, 149, 74, 63, 207, 186, 232, 148, 105, 35, 47, 32, 161, 3, 110, 68, 143, 54, 167, 156, 75, 16, 250, 11, 114, 178, 89, 150},
+{62, 49, 88, 165, 147, 38, 58, 36, 255, 209, 230, 77, 91, 109, 203, 174, 124, 134, 135, 134, 152, 186, 42, 76, 133, 82, 231, 104, 97, 82, 173, 26, 67, 98, 124, 53, 126, 137, 186, 186, 18, 172, 185, 57, 199, 180, 200, 98, 45, 217, 152, 86, 133, 9, 78, 84, 166, 216, 156, 225, 144, 38, 213, 55, 170, 134, 221, 15, 165, 27, 228, 220, 88, 2, 87, 170, 210, 77, 67, 83, 255, 141, 237, 50, 204, 163, 203, 108, 176, 186, 4, 5, 147, 68, 48, 243, 165, 73, 112, 209, 254, 200, 153, 164, 154, 138, 247, 219, 38, 140, 9, 53, 94, 27, 17, 150, 3, 48, 219, 158, 67, 226, 75, 172, 203, 23, 156, 77},
+{24, 88, 145, 142, 55, 225, 79, 237, 70, 218, 233, 182, 36, 255, 155, 88, 72, 131, 254, 122, 251, 136, 108, 45, 208, 205, 131, 150, 46, 107, 199, 102, 20, 146, 214, 172, 204, 160, 5, 244, 137, 128, 229, 205, 136, 129, 14, 227, 107, 227, 3, 131, 47, 14, 168, 69, 136, 139, 162, 17, 86, 169, 223, 189, 4, 101, 42, 45, 118, 89, 247, 86, 99, 167, 244, 117, 113, 109, 193, 218, 45, 111, 100, 85, 240, 76, 75, 10, 152, 244, 90, 111, 210, 2, 152, 198, 244, 195, 39, 238, 185, 179, 163, 102, 189, 194, 50, 246, 228, 203, 117, 134, 101, 127, 74, 218, 29, 111, 234, 74, 36, 12, 120, 32, 49, 231, 182, 149},
+{83, 219, 158, 36, 186, 119, 77, 235, 25, 174, 55, 45, 83, 79, 252, 121, 133, 48, 88, 182, 24, 89, 202, 173, 147, 227, 138, 101, 204, 245, 178, 159, 3, 199, 139, 212, 207, 189, 176, 7, 132, 66, 223, 194, 199, 203, 224, 245, 179, 38, 180, 135, 219, 182, 245, 36, 40, 174, 7, 84, 65, 238, 203, 108, 143, 144, 235, 176, 198, 9, 46, 14, 182, 76, 230, 24, 231, 23, 55, 15, 145, 170, 243, 22, 182, 142, 68, 221, 190, 24, 198, 47, 183, 2, 238, 182, 189, 200, 103, 58, 18, 251, 75, 185, 16, 107, 29, 61, 67, 150, 196, 189, 240, 127, 211, 216, 197, 110, 169, 164, 219, 185, 156, 120, 188, 232, 19, 119},
+{134, 184, 118, 247, 213, 141, 71, 252, 188, 160, 165, 193, 82, 14, 190, 115, 18, 153, 83, 17, 252, 223, 69, 221, 44, 248, 162, 113, 48, 239, 15, 190, 159, 83, 111, 100, 62, 153, 235, 114, 86, 12, 13, 249, 136, 60, 135, 190, 173, 97, 74, 66, 29, 245, 51, 238, 78, 35, 139, 16, 116, 5, 244, 25, 129, 245, 140, 194, 185, 73, 144, 246, 101, 11, 152, 33, 48, 219, 33, 22, 207, 137, 59, 162, 89, 62, 15, 235, 182, 232, 209, 106, 145, 92, 185, 175, 143, 117, 89, 152, 26, 70, 25, 228, 138, 51, 171, 218, 104, 169, 7, 44, 73, 254, 223, 198, 124, 38, 196, 160, 0, 252, 222, 16, 119, 30, 9, 54},
+{7, 248, 19, 66, 27, 90, 171, 129, 99, 209, 194, 239, 6, 139, 22, 63, 226, 2, 129, 147, 35, 88, 128, 168, 209, 146, 133, 94, 85, 52, 246, 75, 49, 57, 65, 192, 113, 243, 165, 243, 12, 220, 199, 59, 64, 172, 202, 21, 104, 194, 159, 27, 143, 86, 218, 193, 188, 201, 40, 112, 183, 178, 58, 194, 233, 7, 212, 65, 53, 29, 253, 48, 231, 121, 255, 114, 172, 119, 174, 77, 209, 77, 183, 80, 180, 174, 197, 133, 0, 58, 44, 69, 94, 36, 245, 196, 101, 251, 34, 29, 20, 153, 237, 188, 218, 141, 178, 81, 203, 83, 217, 75, 16, 58, 91, 7, 149, 252, 122, 67, 130, 157, 13, 79, 118, 59, 12, 224},
+{51, 232, 31, 142, 59, 134, 84, 238, 51, 65, 209, 59, 145, 138, 191, 90, 202, 243, 190, 219, 184, 150, 137, 59, 42, 61, 56, 108, 62, 76, 30, 44, 82, 50, 115, 72, 103, 159, 185, 23, 245, 142, 137, 64, 65, 23, 49, 34, 94, 137, 246, 188, 182, 243, 34, 55, 153, 93, 234, 254, 169, 200, 219, 17, 41, 50, 69, 13, 67, 163, 19, 174, 201, 56, 196, 57, 13, 79, 19, 67, 165, 128, 145, 110, 151, 119, 91, 200, 206, 181, 247, 78, 143, 174, 139, 135, 250, 247, 61, 210, 173, 13, 141, 68, 29, 8, 225, 132, 76, 10, 192, 59, 117, 120, 74, 10, 173, 104, 26, 191, 204, 30, 129, 61, 241, 11, 36, 74},
+{10, 191, 251, 21, 8, 105, 157, 166, 90, 145, 198, 86, 119, 23, 64, 9, 114, 145, 87, 24, 224, 192, 50, 32, 51, 246, 93, 130, 201, 74, 62, 45, 76, 122, 100, 122, 35, 190, 56, 192, 218, 62, 119, 81, 41, 11, 152, 234, 172, 97, 177, 75, 11, 192, 246, 153, 27, 88, 36, 222, 41, 33, 51, 104, 185, 143, 251, 82, 14, 76, 73, 103, 84, 119, 249, 103, 13, 6, 202, 176, 85, 39, 51, 190, 139, 93, 86, 47, 235, 240, 132, 20, 15, 174, 218, 219, 79, 219, 221, 111, 136, 239, 83, 22, 201, 16, 23, 72, 182, 43, 141, 130, 112, 57, 207, 47, 88, 81, 167, 37, 100, 155, 107, 95, 115, 46, 73, 122},
+{132, 78, 21, 97, 25, 78, 245, 96, 150, 28, 186, 200, 183, 131, 161, 246, 210, 142, 82, 63, 11, 206, 126, 231, 48, 32, 207, 106, 68, 38, 159, 152, 91, 224, 121, 103, 118, 125, 90, 197, 78, 152, 48, 150, 155, 75, 83, 78, 98, 147, 106, 67, 74, 222, 189, 136, 86, 202, 18, 241, 144, 38, 60, 186, 110, 190, 131, 245, 85, 112, 98, 147, 237, 202, 42, 15, 28, 60, 181, 66, 110, 101, 202, 111, 223, 224, 6, 137, 233, 54, 59, 62, 15, 152, 105, 125, 195, 18, 68, 179, 243, 201, 207, 226, 170, 253, 203, 174, 110, 255, 29, 99, 169, 89, 185, 45, 51, 47, 230, 172, 38, 181, 93, 88, 162, 96, 140, 184},
+{61, 165, 92, 91, 245, 167, 27, 216, 85, 185, 62, 175, 178, 154, 86, 8, 98, 39, 161, 155, 136, 187, 43, 84, 108, 49, 194, 51, 47, 191, 50, 230, 222, 253, 181, 186, 119, 250, 59, 24, 239, 7, 48, 200, 209, 44, 112, 98, 180, 28, 110, 44, 0, 184, 214, 219, 250, 227, 46, 181, 63, 79, 47, 101, 1, 61, 203, 251, 205, 250, 11, 177, 28, 53, 185, 36, 198, 143, 146, 64, 240, 150, 225, 129, 104, 32, 186, 234, 134, 130, 205, 228, 219, 146, 112, 60, 219, 189, 9, 121, 221, 162, 107, 231, 9, 154, 81, 179, 88, 224, 148, 238, 135, 91, 99, 50, 237, 243, 82, 203, 51, 42, 138, 215, 150, 63, 68, 237},
+{167, 84, 114, 86, 16, 197, 137, 123, 207, 156, 215, 171, 151, 142, 217, 97, 217, 164, 33, 183, 225, 112, 70, 242, 153, 242, 96, 83, 148, 239, 128, 31, 220, 128, 57, 35, 25, 103, 204, 87, 252, 160, 222, 1, 76, 182, 7, 149, 128, 248, 143, 247, 54, 183, 10, 243, 195, 66, 77, 226, 83, 123, 165, 45, 200, 143, 66, 17, 154, 240, 189, 34, 255, 196, 0, 57, 18, 78, 72, 91, 113, 133, 16, 189, 151, 245, 190, 38, 171, 171, 139, 43, 11, 23, 163, 108, 239, 124, 151, 50, 82, 102, 26, 73, 172, 111, 221, 92, 165, 223, 122, 120, 238, 96, 188, 185, 98, 60, 116, 178, 178, 252, 74, 40, 53, 110, 25, 31},
+{112, 66, 218, 8, 65, 121, 63, 96, 159, 236, 154, 176, 177, 42, 19, 17, 38, 47, 71, 83, 141, 127, 141, 58, 175, 133, 28, 32, 0, 38, 216, 163, 248, 209, 159, 184, 237, 244, 36, 40, 74, 200, 62, 223, 251, 41, 148, 219, 107, 207, 92, 118, 134, 46, 209, 165, 235, 98, 184, 134, 170, 55, 115, 192, 59, 216, 122, 243, 104, 64, 205, 81, 113, 16, 94, 33, 38, 36, 47, 17, 173, 205, 168, 139, 128, 29, 118, 127, 195, 219, 0, 139, 73, 137, 220, 130, 238, 76, 219, 67, 72, 163, 233, 6, 157, 46, 158, 101, 140, 200, 11, 178, 127, 230, 22, 246, 99, 160, 240, 208, 241, 100, 207, 164, 147, 95, 8, 157},
+{157, 8, 38, 7, 83, 185, 4, 190, 126, 227, 40, 112, 33, 165, 194, 135, 66, 200, 195, 177, 189, 114, 171, 105, 248, 120, 44, 244, 127, 215, 173, 102, 228, 38, 26, 135, 167, 9, 194, 143, 50, 71, 4, 197, 44, 100, 130, 132, 55, 0, 122, 94, 124, 30, 183, 100, 249, 94, 209, 73, 102, 72, 185, 232, 75, 227, 4, 86, 183, 62, 16, 77, 84, 151, 168, 21, 13, 161, 182, 177, 41, 224, 41, 141, 225, 40, 141, 113, 34, 79, 140, 81, 30, 89, 202, 89, 216, 117, 16, 86, 56, 33, 23, 154, 43, 114, 63, 173, 99, 191, 78, 155, 140, 70, 76, 161, 174, 254, 88, 52, 196, 37, 217, 174, 131, 22, 95, 42},
+{204, 207, 172, 92, 36, 175, 19, 179, 244, 4, 40, 177, 29, 78, 169, 24, 19, 207, 139, 68, 79, 194, 139, 86, 120, 253, 169, 26, 246, 28, 140, 16, 146, 198, 84, 161, 24, 238, 11, 209, 108, 107, 186, 67, 173, 8, 40, 45, 217, 50, 35, 10, 105, 174, 2, 18, 222, 151, 67, 10, 40, 228, 86, 182, 128, 154, 35, 159, 46, 134, 158, 41, 218, 113, 128, 188, 208, 159, 44, 77, 142, 42, 86, 255, 14, 195, 160, 217, 231, 179, 85, 185, 118, 99, 2, 152, 172, 36, 174, 85, 161, 226, 133, 72, 190, 253, 118, 196, 97, 64, 184, 180, 192, 60, 209, 168, 198, 143, 122, 78, 220, 201, 163, 246, 99, 227, 69, 250},
+{33, 11, 99, 239, 154, 237, 245, 136, 8, 47, 114, 10, 121, 38, 88, 167, 188, 121, 109, 101, 192, 141, 216, 147, 158, 44, 144, 173, 40, 208, 141, 33, 252, 250, 175, 48, 147, 130, 67, 16, 87, 111, 223, 121, 43, 116, 68, 170, 194, 179, 174, 15, 154, 24, 3, 198, 124, 206, 83, 141, 96, 205, 56, 191, 199, 247, 95, 163, 198, 206, 69, 146, 118, 104, 97, 58, 246, 90, 82, 33, 210, 165, 199, 203, 229, 184, 129, 146, 123, 100, 217, 2, 198, 66, 222, 231, 17, 19, 195, 39, 214, 56, 108, 149, 224, 55, 166, 247, 173, 8, 175, 34, 160, 166, 202, 127, 228, 175, 4, 145, 242, 18, 8, 115, 52, 166, 81, 243},
+{148, 36, 232, 162, 141, 183, 248, 14, 172, 42, 246, 70, 207, 205, 169, 52, 129, 126, 196, 212, 7, 36, 124, 89, 245, 193, 166, 202, 91, 103, 115, 73, 28, 21, 118, 58, 225, 191, 64, 167, 116, 25, 86, 151, 91, 193, 167, 160, 6, 176, 205, 32, 235, 167, 26, 6, 57, 146, 207, 237, 202, 181, 84, 48, 191, 184, 158, 232, 187, 136, 1, 244, 169, 149, 247, 57, 245, 164, 78, 247, 254, 43, 90, 229, 50, 120, 17, 187, 25, 247, 39, 204, 59, 73, 184, 247, 148, 122, 21, 35, 133, 117, 39, 175, 225, 4, 179, 79, 151, 11, 40, 157, 178, 234, 68, 182, 47, 43, 137, 68, 211, 154, 232, 105, 14, 0, 236, 24}, /* */
+{88, 248, 96, 25, 16, 69, 31, 23, 192, 179, 4, 132, 43, 69, 160, 50, 183, 198, 39, 140, 175, 200, 89, 50, 126, 145, 9, 219, 192, 141, 146, 218, 214, 117, 145, 34, 174, 78, 81, 181, 165, 230, 211, 26, 160, 70, 39, 194, 59, 89, 120, 90, 157, 128, 227, 156, 27, 226, 117, 115, 151, 154, 109, 108, 156, 79, 61, 111, 20, 90, 219, 226, 244, 195, 23, 240, 159, 122, 7, 139, 232, 10, 188, 52, 157, 8, 206, 34, 202, 219, 28, 65, 120, 120, 222, 118, 251, 60, 190, 15, 76, 181, 57, 175, 61, 144, 222, 145, 50, 212, 102, 95, 229, 136, 211, 141, 21, 113, 187, 228, 169, 82, 8, 205, 223, 232, 229, 150},
+{129, 199, 114, 195, 96, 134, 223, 89, 225, 66, 132, 126, 219, 147, 253, 45, 39, 249, 237, 118, 212, 93, 87, 37, 129, 251, 228, 149, 151, 136, 93, 188, 139, 208, 138, 128, 206, 152, 81, 92, 122, 140, 64, 30, 137, 134, 162, 189, 233, 78, 5, 56, 19, 185, 184, 245, 117, 240, 235, 170, 52, 186, 102, 104, 122, 31, 90, 28, 2, 126, 117, 10, 47, 41, 82, 82, 182, 87, 83, 20, 210, 237, 119, 84, 145, 11, 87, 5, 94, 16, 23, 194, 192, 191, 239, 196, 0, 191, 192, 159, 142, 200, 63, 103, 120, 227, 106, 136, 126, 169, 64, 205, 243, 13, 159, 147, 139, 3, 218, 36, 202, 150, 134, 92, 174, 6, 214, 254},
+{74, 166, 51, 229, 21, 233, 9, 187, 200, 129, 132, 19, 130, 113, 231, 20, 154, 33, 167, 222, 124, 174, 194, 193, 170, 45, 46, 22, 181, 8, 205, 164, 93, 88, 137, 81, 84, 162, 254, 97, 26, 47, 129, 217, 17, 143, 36, 170, 55, 250, 91, 112, 248, 245, 204, 31, 76, 168, 211, 156, 101, 31, 52, 255, 53, 111, 62, 230, 186, 54, 141, 158, 187, 38, 170, 43, 86, 240, 186, 187, 202, 161, 166, 47, 127, 127, 18, 142, 239, 249, 181, 197, 152, 30, 24, 135, 230, 138, 21, 142, 248, 3, 22, 61, 150, 116, 222, 223, 1, 87, 237, 252, 50, 233, 154, 165, 103, 49, 250, 209, 204, 50, 42, 16, 150, 223, 245, 222},
+{153, 29, 203, 47, 200, 77, 92, 114, 74, 182, 232, 47, 172, 58, 94, 131, 167, 41, 243, 77, 129, 217, 7, 66, 232, 162, 7, 51, 80, 170, 117, 117, 189, 203, 144, 133, 139, 23, 131, 183, 188, 44, 191, 61, 64, 57, 29, 61, 190, 191, 96, 73, 35, 101, 64, 175, 165, 208, 131, 136, 76, 74, 174, 98, 4, 250, 166, 159, 46, 50, 134, 160, 113, 208, 171, 118, 217, 95, 66, 204, 50, 183, 9, 118, 121, 110, 237, 18, 237, 26, 81, 192, 120, 34, 168, 100, 239, 80, 24, 233, 198, 49, 118, 170, 188, 49, 138, 141, 204, 38, 214, 236, 180, 31, 15, 224, 54, 54, 75, 248, 105, 235, 168, 223, 140, 204, 69, 143},
+{91, 79, 17, 33, 241, 1, 163, 139, 203, 14, 108, 239, 104, 122, 126, 164, 172, 31, 123, 13, 229, 23, 21, 120, 168, 30, 94, 55, 211, 194, 233, 6, 10, 168, 19, 141, 152, 35, 205, 235, 198, 164, 222, 236, 8, 13, 228, 92, 26, 107, 56, 84, 189, 14, 146, 178, 44, 221, 54, 115, 68, 5, 86, 19, 238, 215, 51, 193, 171, 78, 99, 90, 53, 9, 26, 144, 8, 177, 7, 167, 19, 212, 175, 42, 54, 139, 193, 127, 192, 81, 215, 208, 53, 50, 68, 146, 209, 72, 50, 134, 72, 117, 132, 54, 138, 169, 40, 81, 95, 135, 253, 163, 37, 225, 225, 213, 214, 30, 218, 132, 142, 237, 17, 224, 242, 96, 112, 227},
+{167, 53, 194, 41, 207, 229, 93, 93, 82, 17, 113, 131, 210, 43, 67, 245, 29, 47, 172, 9, 133, 40, 82, 22, 163, 198, 211, 133, 125, 217, 103, 161, 162, 187, 226, 253, 142, 118, 37, 247, 27, 236, 109, 80, 12, 166, 132, 199, 191, 188, 155, 216, 74, 197, 90, 140, 128, 209, 132, 52, 82, 138, 71, 187, 183, 168, 182, 232, 187, 141, 203, 138, 184, 122, 13, 212, 65, 32, 36, 75, 185, 214, 100, 141, 10, 104, 150, 105, 192, 1, 223, 103, 85, 75, 27, 47, 234, 173, 151, 92, 41, 15, 19, 128, 94, 90, 133, 119, 93, 38, 181, 77, 155, 177, 54, 31, 118, 36, 74, 251, 100, 14, 153, 114, 232, 196, 217, 160},
+{39, 109, 51, 141, 116, 230, 100, 148, 237, 131, 194, 8, 53, 153, 192, 185, 145, 250, 218, 167, 118, 7, 79, 131, 38, 135, 188, 193, 109, 174, 244, 248, 12, 180, 50, 157, 66, 147, 182, 151, 226, 156, 214, 128, 170, 30, 6, 140, 205, 242, 62, 13, 78, 115, 226, 74, 153, 76, 14, 162, 75, 93, 41, 114, 162, 117, 143, 57, 46, 127, 144, 180, 168, 70, 221, 86, 166, 157, 111, 132, 183, 89, 180, 235, 189, 34, 4, 68, 68, 180, 167, 160, 169, 69, 241, 3, 105, 197, 161, 197, 54, 245, 255, 100, 215, 137, 109, 229, 90, 202, 5, 186, 218, 42, 25, 65, 120, 72, 188, 118, 16, 105, 83, 139, 204, 59, 6, 51},
+{41, 189, 183, 22, 15, 0, 219, 237, 92, 23, 91, 86, 222, 78, 32, 226, 118, 233, 104, 210, 219, 33, 22, 95, 61, 41, 122, 179, 152, 214, 124, 89, 56, 20, 243, 33, 25, 230, 187, 81, 236, 107, 112, 238, 123, 156, 240, 86, 14, 68, 219, 69, 52, 115, 249, 16, 49, 146, 51, 172, 89, 17, 92, 3, 152, 184, 192, 167, 152, 154, 82, 197, 24, 61, 234, 8, 107, 133, 10, 194, 230, 117, 128, 201, 114, 26, 92, 102, 149, 37, 130, 53, 95, 166, 114, 141, 107, 102, 71, 69, 9, 251, 13, 114, 191, 120, 159, 105, 44, 94, 162, 145, 35, 223, 15, 193, 66, 172, 186, 38, 142, 16, 62, 244, 45, 156, 199, 105},
+{154, 133, 252, 169, 115, 235, 34, 21, 3, 214, 80, 41, 42, 65, 162, 58, 6, 215, 93, 18, 224, 7, 192, 133, 151, 14, 44, 7, 109, 242, 28, 99, 235, 17, 79, 216, 68, 105, 197, 7, 244, 184, 10, 162, 18, 143, 49, 163, 18, 37, 96, 229, 175, 230, 40, 253, 174, 227, 91, 121, 214, 73, 55, 234, 192, 135, 131, 24, 44, 65, 10, 17, 9, 173, 224, 213, 218, 253, 13, 148, 73, 216, 122, 26, 104, 3, 211, 133, 231, 250, 199, 141, 117, 129, 125, 143, 225, 15, 187, 221, 121, 106, 206, 116, 88, 52, 122, 5, 163, 105, 111, 73, 117, 110, 56, 162, 173, 17, 116, 101, 101, 215, 243, 99, 75, 161, 221, 127},
+{20, 163, 254, 225, 221, 224, 131, 24, 122, 153, 198, 220, 2, 226, 34, 151, 168, 33, 130, 242, 139, 80, 222, 199, 119, 137, 239, 221, 101, 235, 82, 14, 191, 128, 250, 108, 116, 216, 231, 35, 245, 29, 174, 91, 137, 61, 17, 198, 140, 6, 154, 232, 17, 17, 106, 193, 215, 135, 40, 41, 77, 230, 7, 119, 84, 27, 119, 28, 176, 179, 99, 58, 75, 1, 223, 241, 122, 58, 190, 143, 233, 140, 14, 198, 152, 166, 89, 106, 20, 126, 231, 99, 192, 116, 116, 120, 196, 97, 215, 171, 92, 114, 173, 146, 209, 166, 61, 85, 205, 179, 237, 227, 30, 201, 36, 124, 240, 140, 113, 229, 214, 0, 101, 241, 251, 18, 6, 10},
+{1, 125, 2, 106, 10, 201, 123, 249, 227, 188, 202, 1, 122, 213, 136, 188, 166, 198, 82, 100, 24, 108, 216, 253, 121, 240, 2, 79, 113, 224, 204, 98, 13, 22, 21, 178, 33, 29, 238, 143, 121, 96, 47, 14, 54, 175, 51, 207, 71, 59, 194, 137, 106, 170, 63, 241, 141, 231, 34, 247, 41, 169, 4, 153, 164, 252, 219, 204, 140, 198, 205, 105, 187, 238, 108, 62, 241, 104, 115, 18, 231, 217, 10, 41, 96, 44, 7, 248, 99, 98, 134, 114, 59, 88, 174, 86, 77, 96, 35, 242, 82, 247, 58, 239, 87, 60, 76, 152, 118, 153, 25, 100, 154, 10, 112, 91, 58, 216, 160, 188, 41, 9, 223, 164, 29, 249, 142, 150},
+{9, 163, 168, 23, 237, 174, 243, 78, 196, 121, 43, 227, 90, 70, 70, 250, 156, 190, 238, 60, 240, 14, 26, 21, 173, 144, 95, 30, 183, 214, 135, 93, 59, 239, 195, 11, 53, 255, 174, 252, 141, 149, 204, 121, 60, 45, 137, 85, 231, 87, 94, 5, 143, 161, 184, 166, 79, 40, 228, 151, 47, 114, 89, 65, 36, 30, 204, 48, 137, 130, 113, 165, 51, 178, 47, 13, 91, 223, 128, 207, 29, 52, 201, 163, 28, 194, 157, 82, 168, 183, 102, 186, 246, 49, 226, 228, 62, 107, 110, 36, 28, 26, 10, 226, 115, 74, 64, 199, 246, 17, 41, 223, 67, 141, 82, 38, 224, 182, 237, 12, 243, 127, 201, 200, 219, 160, 246, 133},
+{164, 70, 156, 81, 12, 247, 77, 220, 58, 237, 221, 253, 62, 31, 159, 131, 121, 89, 246, 165, 167, 149, 192, 221, 168, 72, 74, 117, 154, 25, 176, 74, 152, 36, 191, 161, 219, 157, 201, 153, 178, 156, 128, 206, 226, 252, 214, 233, 106, 55, 59, 111, 221, 159, 107, 187, 44, 155, 29, 180, 44, 185, 251, 182, 208, 228, 129, 69, 105, 110, 144, 41, 251, 92, 247, 185, 166, 191, 45, 87, 98, 196, 105, 199, 121, 37, 243, 50, 205, 86, 1, 146, 39, 195, 38, 203, 103, 36, 225, 250, 101, 70, 107, 198, 254, 47, 224, 239, 172, 157, 247, 190, 144, 100, 33, 112, 67, 187, 143, 119, 93, 12, 62, 122, 144, 52, 26, 20},
+{85, 22, 244, 254, 1, 68, 218, 46, 120, 198, 216, 73, 131, 72, 76, 146, 73, 79, 92, 195, 26, 87, 112, 148, 237, 200, 161, 206, 189, 139, 98, 98, 90, 41, 81, 199, 118, 88, 160, 179, 228, 243, 248, 99, 226, 93, 157, 52, 223, 156, 207, 81, 163, 46, 64, 181, 60, 48, 229, 48, 209, 112, 163, 63, 162, 101, 182, 55, 250, 246, 91, 103, 167, 141, 49, 120, 69, 209, 108, 30, 17, 122, 31, 40, 43, 41, 67, 50, 222, 78, 116, 219, 50, 251, 43, 1, 241, 111, 103, 121, 96, 205, 219, 189, 180, 244, 238, 15, 237, 228, 107, 210, 192, 142, 108, 124, 142, 21, 105, 85, 15, 225, 40, 152, 140, 65, 45, 253},
+{44, 144, 206, 74, 190, 194, 56, 45, 208, 59, 159, 146, 33, 63, 28, 111, 245, 204, 109, 241, 131, 18, 169, 103, 148, 157, 171, 183, 178, 251, 149, 205, 35, 197, 75, 244, 23, 71, 183, 134, 195, 99, 75, 39, 14, 155, 83, 214, 119, 64, 87, 213, 233, 148, 13, 198, 206, 106, 168, 92, 53, 120, 69, 188, 229, 115, 23, 231, 201, 195, 92, 155, 66, 83, 79, 197, 111, 104, 120, 220, 84, 118, 81, 184, 244, 169, 232, 238, 191, 38, 121, 215, 11, 211, 171, 212, 7, 92, 46, 175, 177, 113, 143, 100, 9, 230, 63, 30, 166, 182, 31, 165, 138, 195, 123, 26, 7, 20, 16, 27, 15, 136, 176, 156, 38, 191, 135, 109},
+{147, 78, 73, 6, 16, 0, 28, 115, 122, 94, 50, 13, 151, 23, 177, 77, 226, 134, 161, 217, 132, 161, 23, 114, 120, 73, 241, 78, 120, 8, 247, 242, 72, 40, 243, 90, 71, 74, 55, 197, 49, 86, 165, 133, 184, 41, 30, 216, 74, 56, 46, 136, 116, 234, 49, 237, 212, 219, 138, 77, 33, 11, 233, 220, 244, 127, 153, 134, 165, 127, 44, 88, 254, 18, 52, 5, 74, 17, 180, 40, 161, 82, 64, 73, 25, 115, 36, 29, 175, 181, 69, 56, 239, 196, 79, 51, 105, 91, 145, 45, 68, 254, 205, 176, 42, 212, 210, 219, 21, 22, 29, 77, 216, 61, 251, 171, 226, 161, 127, 103, 242, 241, 117, 220, 173, 234, 145},
+{80, 236, 244, 126, 76, 145, 195, 175, 50, 139, 105, 110, 47, 25, 164, 251, 187, 216, 27, 71, 127, 150, 100, 77, 143, 252, 132, 35, 134, 20, 213, 112, 233, 93, 224, 83, 192, 2, 99, 24, 120, 216, 98, 175, 140, 202, 18, 125, 107, 252, 17, 128, 237, 214, 9, 124, 18, 3, 160, 37, 221, 94, 227, 230, 179, 19, 37, 80, 192, 190, 173, 134, 10, 60, 110, 66, 60, 219, 173, 57, 67, 181, 0, 93, 156, 149, 38, 243, 30, 223, 181, 79, 38, 17, 225, 62, 196, 100, 44, 162, 48, 106, 36, 103, 116, 96, 75, 243, 124, 9, 11, 179, 41, 237, 102, 91, 146, 150, 1, 192, 122, 48, 7, 18, 135, 162, 27, 58},
+{180, 221, 34, 213, 156, 93, 25, 182, 140, 110, 177, 219, 4, 229, 81, 165, 116, 37, 178, 134, 73, 162, 213, 70, 76, 73, 145, 185, 119, 75, 86, 34, 147, 70, 35, 74, 164, 241, 246, 238, 248, 9, 38, 17, 91, 147, 117, 202, 75, 201, 139, 83, 243, 208, 200, 133, 197, 84, 194, 139, 141, 115, 183, 187, 40, 73, 248, 112, 63, 61, 25, 4, 232, 93, 252, 8, 55, 223, 94, 87, 174, 147, 44, 174, 49, 177, 53, 173, 72, 153, 18, 219, 103, 24, 154, 186, 84, 116, 229, 7, 170, 112, 222, 145, 116, 110, 134, 201, 252, 217, 141, 75, 119, 159, 27, 201, 9, 224, 108, 174, 81, 171, 89, 30, 49, 84, 136, 247},
+{136, 197, 86, 190, 149, 48, 235, 83, 15, 22, 36, 59, 168, 175, 226, 95, 203, 146, 23, 215, 112, 142, 126, 17, 241, 205, 76, 56, 143, 77, 52, 184, 133, 245, 129, 177, 140, 34, 166, 230, 141, 92, 81, 89, 141, 100, 86, 47, 54, 166, 147, 106, 210, 214, 108, 213, 110, 190, 58, 202, 187, 45, 50, 152, 40, 110, 218, 219, 5, 193, 26, 33, 246, 217, 174, 134, 123, 92, 223, 27, 233, 11, 182, 184, 36, 192, 219, 202, 126, 61, 118, 118, 131, 130, 220, 238, 46, 5, 194, 97, 207, 68, 36, 130, 176, 223, 55, 117, 156, 125, 97, 79, 40, 219, 204, 194, 135, 176, 74, 4, 65, 35, 68, 231, 160, 144, 171, 190},
+{131, 67, 174, 50, 255, 188, 156, 8, 29, 227, 168, 177, 56, 151, 30, 204, 226, 181, 25, 47, 169, 17, 110, 72, 46, 124, 186, 116, 201, 93, 105, 177, 97, 139, 16, 95, 150, 98, 138, 26, 233, 231, 107, 247, 114, 131, 202, 56, 157, 48, 201, 70, 227, 115, 137, 43, 21, 227, 167, 13, 244, 255, 185, 74, 218, 120, 188, 36, 168, 126, 8, 228, 168, 83, 15, 105, 167, 3, 158, 207, 214, 175, 160, 97, 54, 121, 45, 246, 221, 100, 33, 166, 173, 159, 218, 150, 66, 218, 140, 113, 217, 251, 128, 194, 172, 68, 234, 107, 163, 207, 20, 34, 75, 9, 221, 32, 206, 56, 220, 52, 85, 115, 25, 153, 98, 52, 191, 128},
+{36, 156, 222, 157, 192, 208, 74, 119, 177, 181, 138, 6, 22, 197, 101, 101, 128, 15, 206, 38, 240, 254, 201, 20, 54, 162, 109, 49, 128, 247, 33, 83, 99, 161, 93, 248, 221, 30, 122, 57, 46, 48, 151, 179, 115, 83, 86, 36, 227, 65, 91, 22, 89, 163, 185, 144, 179, 100, 59, 214, 243, 9, 105, 9, 243, 241, 139, 132, 131, 10, 127, 42, 132, 10, 4, 189, 14, 14, 35, 100, 9, 210, 9, 12, 225, 96, 36, 214, 135, 200, 29, 50, 200, 211, 213, 105, 245, 184, 136, 254, 162, 11, 134, 162, 139, 91, 165, 156, 2, 7, 69, 24, 66, 62, 195, 14, 194, 196, 166, 38, 63, 219, 31, 79, 95, 249, 172, 162},
+{209, 2, 189, 71, 166, 8, 245, 46, 145, 21, 252, 124, 148, 129, 39, 247, 186, 71, 99, 153, 145, 121, 222, 6, 4, 42, 199, 189, 236, 168, 35, 22, 198, 122, 185, 202, 170, 166, 32, 142, 30, 246, 9, 162, 60, 8, 7, 47, 85, 255, 251, 56, 220, 166, 41, 171, 113, 31, 233, 60, 121, 97, 65, 56, 131, 128, 44, 121, 3, 47, 12, 215, 105, 116, 100, 104, 79, 124, 5, 51, 50, 61, 86, 169, 105, 92, 27, 169, 122, 240, 97, 26, 161, 100, 41, 191, 176, 99, 113, 188, 183, 163, 64, 123, 120, 170, 120, 103, 131, 37, 249, 145, 22, 64, 194, 228, 85, 59, 157, 213, 10, 156, 25, 189, 176, 84, 108, 1},
+{47, 124, 177, 255, 109, 1, 57, 60, 247, 247, 255, 191, 218, 246, 7, 150, 161, 168, 223, 14, 183, 163, 116, 175, 31, 47, 99, 185, 195, 77, 71, 20, 109, 69, 142, 111, 182, 13, 33, 167, 102, 35, 140, 146, 5, 247, 137, 231, 19, 228, 76, 159, 66, 204, 185, 191, 14, 97, 235, 94, 222, 205, 249, 30, 211, 213, 157, 246, 230, 31, 214, 32, 190, 199, 184, 181, 95, 36, 148, 130, 49, 125, 195, 249, 121, 53, 161, 90, 212, 72, 250, 75, 22, 253, 125, 33, 111, 9, 151, 8, 207, 70, 70, 42, 111, 101, 183, 164, 97, 68, 27, 71, 112, 45, 83, 72, 132, 103, 170, 200, 7, 233, 237, 113, 107, 31, 87, 102},
+{43, 83, 93, 134, 45, 249, 147, 13, 3, 228, 8, 79, 101, 43, 101, 221, 21, 206, 83, 105, 141, 149, 4, 214, 151, 120, 223, 254, 104, 34, 146, 5, 151, 109, 218, 122, 67, 144, 234, 89, 48, 192, 128, 132, 87, 242, 207, 228, 123, 116, 120, 39, 223, 86, 166, 59, 38, 46, 185, 108, 101, 37, 216, 159, 198, 163, 155, 27, 155, 135, 242, 23, 19, 114, 155, 100, 229, 106, 227, 151, 216, 48, 27, 236, 143, 130, 61, 212, 199, 157, 123, 4, 12, 204, 128, 198, 168, 155, 179, 184, 245, 63, 116, 1, 89, 186, 96, 18, 48, 114, 103, 55, 17, 172, 177, 224, 110, 218, 129, 136, 83, 240, 124, 72, 223, 62, 168, 196},
+{96, 155, 159, 189, 153, 51, 235, 44, 249, 197, 127, 205, 88, 11, 57, 45, 249, 165, 93, 93, 79, 28, 246, 95, 91, 30, 175, 160, 200, 250, 99, 225, 187, 86, 36, 123, 219, 104, 127, 111, 255, 143, 248, 168, 125, 233, 175, 159, 103, 11, 15, 74, 197, 149, 13, 90, 37, 87, 190, 206, 31, 219, 49, 16, 71, 47, 8, 23, 204, 84, 137, 179, 226, 31, 152, 82, 224, 34, 108, 178, 43, 219, 133, 174, 213, 119, 14, 54, 46, 241, 73, 144, 58, 65, 250, 231, 252, 243, 104, 36, 122, 91, 56, 39, 10, 40, 177, 231, 179, 248, 208, 96, 56, 248, 51, 218, 175, 255, 86, 100, 30, 181, 78, 163, 192, 188, 140, 21},
+{104, 124, 201, 248, 93, 145, 141, 33, 234, 26, 169, 125, 162, 222, 199, 161, 30, 117, 107, 107, 220, 141, 40, 161, 91, 199, 224, 230, 9, 242, 74, 144, 217, 14, 10, 245, 172, 151, 41, 205, 207, 0, 179, 94, 31, 39, 172, 79, 122, 197, 89, 96, 61, 218, 168, 86, 9, 153, 53, 147, 78, 172, 132, 136, 169, 78, 21, 186, 76, 31, 86, 108, 232, 53, 255, 22, 7, 58, 166, 190, 0, 14, 84, 24, 170, 40, 177, 156, 26, 147, 229, 4, 141, 39, 129, 229, 78, 250, 134, 90, 175, 213, 144, 167, 250, 15, 201, 70, 217, 100, 176, 53, 255, 32, 139, 233, 242, 8, 223, 73, 10, 103, 112, 207, 115, 255, 154, 15},
+{25, 80, 165, 71, 208, 26, 227, 225, 150, 3, 143, 107, 249, 82, 40, 60, 12, 39, 104, 251, 2, 167, 5, 193, 163, 71, 84, 21, 2, 153, 72, 212, 207, 139, 45, 95, 147, 84, 90, 153, 66, 183, 6, 232, 16, 166, 69, 49, 201, 77, 225, 216, 192, 205, 63, 235, 22, 175, 154, 166, 237, 0, 195, 252, 47, 178, 116, 229, 157, 62, 76, 112, 130, 168, 209, 64, 211, 3, 239, 44, 203, 36, 234, 14, 7, 141, 9, 11, 101, 82, 15, 22, 49, 232, 83, 4, 217, 11, 59, 239, 200, 137, 205, 42, 216, 130, 98, 9, 20, 95, 92, 171, 127, 128, 6, 149, 127, 44, 246, 155, 206, 234, 185, 1, 188, 57, 208, 3},
+{204, 119, 88, 8, 211, 17, 224, 207, 10, 92, 70, 216, 225, 155, 29, 115, 241, 25, 222, 197, 255, 36, 253, 250, 4, 189, 162, 215, 81, 162, 177, 38, 254, 212, 14, 161, 11, 223, 157, 80, 137, 162, 152, 158, 255, 150, 29, 173, 16, 174, 245, 165, 11, 198, 187, 67, 207, 216, 102, 227, 236, 131, 187, 28, 126, 65, 189, 107, 34, 107, 12, 200, 22, 155, 121, 24, 149, 19, 171, 242, 186, 149, 251, 133, 238, 34, 3, 226, 12, 85, 122, 226, 13, 54, 0, 152, 247, 123, 126, 231, 27, 40, 129, 127, 143, 49, 155, 17, 0, 25, 158, 73, 225, 191, 223, 212, 193, 56, 25, 27, 103, 6, 100, 15, 151, 82, 224, 188},
+{116, 148, 185, 197, 134, 9, 208, 177, 205, 130, 139, 147, 180, 137, 197, 148, 176, 87, 229, 57, 203, 135, 228, 130, 54, 111, 78, 1, 163, 205, 184, 34, 44, 145, 109, 47, 117, 227, 150, 202, 201, 22, 18, 164, 159, 208, 227, 48, 200, 97, 126, 8, 3, 81, 137, 53, 181, 89, 194, 189, 72, 51, 104, 38, 115, 0, 96, 97, 239, 111, 153, 196, 110, 163, 222, 70, 44, 151, 220, 163, 217, 221, 66, 204, 28, 133, 150, 12, 85, 113, 130, 69, 148, 90, 83, 153, 214, 84, 94, 181, 41, 132, 243, 94, 21, 25, 221, 5, 180, 4, 225, 250, 105, 130, 23, 25, 170, 190, 164, 39, 233, 19, 225, 124, 123, 188, 186, 211},
+{185, 20, 49, 67, 147, 211, 14, 231, 78, 224, 187, 190, 183, 28, 113, 246, 69, 247, 2, 141, 14, 66, 29, 144, 75, 81, 38, 26, 32, 164, 70, 22, 129, 113, 225, 190, 130, 23, 7, 157, 165, 86, 39, 183, 234, 41, 98, 187, 161, 185, 10, 224, 172, 87, 183, 130, 44, 224, 201, 187, 19, 67, 14, 158, 235, 130, 11, 69, 195, 204, 179, 228, 102, 142, 217, 34, 234, 2, 152, 214, 243, 66, 0, 195, 43, 184, 170, 101, 216, 150, 109, 70, 150, 201, 1, 224, 25, 9, 114, 148, 39, 38, 118, 86, 93, 137, 16, 27, 143, 100, 246, 254, 192, 14, 151, 26, 105, 37, 82, 39, 253, 123, 252, 163, 87, 62, 224, 63},
+{184, 8, 234, 73, 68, 227, 120, 164, 147, 61, 94, 142, 124, 94, 96, 138, 107, 96, 245, 92, 244, 22, 253, 186, 153, 138, 89, 4, 131, 39, 17, 13, 182, 118, 119, 53, 217, 165, 29, 187, 178, 127, 28, 217, 103, 246, 122, 110, 222, 6, 69, 101, 125, 65, 108, 127, 176, 38, 173, 239, 177, 243, 250, 135, 196, 59, 141, 123, 238, 226, 4, 188, 254, 19, 192, 7, 4, 141, 206, 253, 37, 60, 103, 192, 196, 241, 151, 170, 34, 210, 195, 235, 16, 151, 200, 254, 94, 87, 188, 8, 21, 136, 227, 46, 225, 49, 161, 165, 180, 46, 162, 116, 182, 33, 215, 54, 42, 178, 150, 222, 191, 117, 130, 150, 241, 126, 112, 115},
+{84, 137, 93, 112, 96, 234, 35, 252, 204, 185, 41, 120, 67, 175, 193, 178, 38, 215, 17, 100, 90, 102, 50, 214, 114, 85, 85, 148, 144, 71, 127, 194, 253, 141, 55, 142, 18, 17, 48, 74, 214, 160, 75, 14, 252, 129, 103, 168, 15, 110, 253, 40, 110, 82, 74, 41, 104, 120, 187, 45, 129, 71, 123, 216, 79, 196, 16, 75, 199, 245, 140, 179, 153, 168, 100, 186, 48, 16, 69, 50, 214, 19, 150, 100, 56, 52, 52, 247, 116, 196, 115, 181, 214, 62, 152, 17, 11, 29, 92, 86, 46, 4, 139, 252, 13, 197, 188, 231, 112, 253, 163, 121, 105, 145, 91, 2, 113, 249, 106, 208, 66, 23, 171, 200, 146, 126, 137, 249},
+{87, 26, 59, 103, 226, 29, 189, 26, 157, 143, 75, 230, 253, 61, 47, 230, 213, 122, 96, 93, 202, 90, 88, 215, 218, 102, 51, 94, 42, 206, 80, 174, 214, 212, 131, 117, 141, 58, 158, 146, 58, 134, 254, 146, 93, 1, 150, 26, 126, 178, 33, 17, 164, 77, 209, 148, 11, 101, 20, 226, 184, 61, 99, 103, 147, 117, 200, 210, 230, 110, 39, 12, 100, 38, 176, 248, 188, 93, 24, 211, 89, 58, 40, 169, 70, 21, 4, 201, 79, 108, 220, 173, 201, 127, 29, 71, 78, 46, 52, 14, 130, 164, 20, 130, 118, 217, 85, 110, 144, 75, 236, 244, 41, 253, 245, 147, 65, 170, 69, 110, 209, 175, 199, 154, 210, 74, 206, 68},
+{200, 45, 136, 8, 216, 111, 30, 211, 107, 197, 214, 223, 77, 138, 162, 86, 4, 41, 75, 0, 199, 196, 15, 234, 252, 190, 228, 235, 184, 236, 55, 3, 223, 117, 182, 51, 171, 75, 152, 29, 21, 254, 101, 249, 179, 44, 54, 166, 232, 85, 25, 149, 64, 230, 183, 234, 178, 56, 162, 32, 196, 112, 22, 154, 213, 172, 179, 144, 253, 21, 72, 142, 61, 253, 129, 55, 47, 178, 191, 123, 54, 208, 180, 5, 153, 206, 67, 253, 222, 29, 45, 94, 135, 15, 8, 152, 245, 171, 77, 71, 46, 163, 108, 160, 22, 157, 81, 38, 31, 157, 136, 121, 187, 22, 81, 116, 190, 181, 186, 4, 205, 115, 97, 188, 87, 184, 31, 76},
+{92, 185, 94, 77, 166, 107, 60, 19, 137, 88, 15, 234, 8, 212, 151, 227, 74, 191, 9, 143, 129, 194, 195, 102, 97, 207, 34, 26, 36, 66, 156, 138, 78, 4, 49, 98, 234, 110, 89, 14, 114, 133, 174, 234, 182, 244, 141, 250, 18, 218, 116, 130, 113, 97, 235, 97, 155, 73, 45, 169, 74, 26, 164, 179, 106, 215, 253, 186, 71, 158, 221, 188, 127, 170, 134, 238, 119, 73, 13, 232, 94, 75, 73, 224, 147, 69, 22, 158, 169, 20, 145, 170, 134, 166, 104, 247, 198, 186, 179, 133, 229, 191, 32, 157, 148, 13, 157, 211, 49, 163, 111, 228, 3, 90, 83, 12, 54, 179, 59, 93, 168, 173, 84, 37, 168, 132, 118, 18},
+{100, 70, 111, 205, 62, 27, 79, 137, 115, 125, 62, 176, 208, 208, 246, 88, 123, 62, 140, 119, 165, 120, 253, 77, 182, 143, 167, 4, 83, 108, 95, 155, 216, 229, 218, 244, 189, 252, 66, 230, 213, 177, 157, 228, 139, 93, 135, 25, 41, 183, 126, 143, 81, 179, 10, 158, 87, 75, 58, 90, 213, 25, 100, 198, 62, 103, 183, 21, 55, 244, 243, 78, 43, 162, 77, 12, 223, 225, 61, 66, 125, 154, 100, 57, 18, 200, 246, 144, 185, 252, 116, 167, 136, 193, 18, 175, 213, 214, 137, 112, 153, 60, 14, 25, 205, 69, 188, 101, 30, 218, 63, 228, 57, 87, 140, 39, 40, 173, 122, 208, 236, 191, 164, 152, 0, 41, 242, 13},
+{21, 222, 94, 105, 242, 166, 84, 11, 49, 137, 31, 95, 27, 146, 143, 18, 156, 0, 148, 74, 61, 22, 187, 99, 36, 220, 255, 14, 18, 14, 121, 251, 224, 61, 198, 39, 254, 137, 180, 250, 56, 7, 214, 190, 209, 133, 85, 23, 239, 8, 152, 136, 143, 189, 67, 26, 241, 168, 187, 178, 85, 253, 120, 53, 183, 92, 155, 0, 17, 206, 56, 197, 229, 41, 200, 187, 101, 108, 42, 199, 183, 242, 104, 231, 82, 17, 31, 68, 235, 205, 9, 40, 193, 42, 82, 126, 121, 190, 29, 126, 21, 192, 4, 206, 61, 226, 73, 143, 37, 194, 72, 61, 151, 163, 227, 64, 61, 250, 5, 130, 20, 173, 111, 144, 151, 123, 29, 121},
+{104, 197, 170, 8, 187, 194, 154, 162, 188, 50, 67, 232, 117, 54, 175, 255, 176, 252, 45, 161, 244, 36, 246, 119, 85, 79, 172, 207, 187, 99, 6, 180, 227, 159, 70, 248, 102, 42, 219, 147, 168, 22, 253, 196, 230, 195, 135, 219, 148, 228, 139, 106, 185, 36, 91, 41, 126, 238, 93, 174, 222, 150, 227, 172, 60, 214, 207, 190, 112, 115, 73, 48, 41, 117, 217, 192, 215, 228, 185, 173, 188, 81, 169, 199, 198, 77, 130, 93, 50, 136, 49, 183, 177, 11, 160, 158, 20, 91, 194, 50, 228, 53, 33, 83, 67, 36, 93, 168, 161, 27, 117, 138, 134, 18, 104, 44, 6, 134, 193, 4, 58, 219, 237, 68, 165, 218, 47, 248},
+{101, 72, 86, 195, 70, 102, 100, 177, 109, 143, 92, 188, 97, 130, 224, 241, 143, 151, 148, 110, 225, 214, 64, 107, 159, 54, 208, 8, 6, 156, 188, 234, 41, 201, 199, 222, 141, 222, 98, 4, 50, 58, 13, 146, 193, 125, 22, 166, 165, 93, 133, 142, 133, 183, 243, 32, 197, 44, 212, 29, 143, 14, 135, 187, 93, 69, 135, 56, 110, 100, 176, 4, 228, 25, 180, 238, 33, 29, 54, 226, 146, 104, 226, 207, 20, 191, 14, 9, 56, 62, 249, 131, 241, 199, 107, 17, 135, 30, 197, 155, 75, 81, 56, 95, 13, 106, 65, 66, 241, 130, 120, 74, 55, 33, 223, 176, 205, 147, 219, 236, 76, 25, 26, 37, 61, 159, 213, 9},
+{10, 2, 31, 111, 99, 21, 24, 139, 111, 66, 165, 206, 126, 167, 57, 133, 139, 237, 153, 160, 239, 194, 69, 131, 33, 60, 209, 205, 114, 90, 31, 196, 168, 55, 34, 66, 140, 159, 160, 58, 224, 60, 253, 243, 150, 225, 90, 155, 94, 232, 244, 192, 80, 109, 3, 180, 251, 29, 179, 139, 240, 141, 149, 185, 156, 254, 53, 156, 39, 185, 185, 3, 214, 224, 57, 154, 98, 160, 47, 247, 3, 73, 141, 156, 29, 27, 117, 124, 56, 240, 117, 203, 216, 35, 93, 94, 78, 226, 143, 176, 195, 169, 154, 137, 96, 168, 32, 250, 109, 142, 50, 66, 192, 174, 79, 74, 152, 76, 201, 9, 208, 208, 176, 250, 39, 214, 236, 103},
+{136, 19, 84, 22, 94, 99, 9, 6, 70, 1, 202, 253, 144, 154, 233, 36, 246, 81, 158, 53, 184, 223, 139, 255, 180, 35, 98, 104, 110, 63, 170, 101, 90, 228, 70, 145, 145, 229, 179, 33, 71, 171, 132, 28, 219, 28, 94, 74, 197, 182, 63, 116, 48, 215, 95, 121, 170, 110, 27, 119, 118, 179, 18, 81, 10, 230, 55, 206, 83, 201, 76, 159, 177, 116, 255, 16, 254, 173, 67, 117, 41, 154, 107, 17, 26, 227, 11, 48, 41, 59, 226, 189, 202, 196, 12, 34, 202, 175, 189, 52, 194, 199, 126, 28, 176, 40, 175, 179, 96, 102, 238, 229, 117, 54, 35, 94, 121, 153, 53, 144, 95, 31, 99, 133, 242, 6, 208, 156},
+{67, 26, 36, 208, 22, 199, 70, 159, 213, 195, 255, 216, 147, 158, 122, 26, 228, 211, 239, 49, 67, 88, 124, 40, 121, 86, 145, 193, 224, 146, 63, 23, 8, 157, 167, 31, 177, 219, 150, 22, 215, 149, 115, 211, 89, 194, 225, 68, 136, 102, 28, 127, 79, 179, 153, 147, 91, 209, 175, 178, 163, 119, 23, 76, 223, 160, 164, 84, 24, 63, 170, 219, 144, 163, 213, 200, 83, 146, 47, 183, 50, 208, 67, 194, 104, 32, 134, 250, 44, 242, 162, 87, 60, 139, 68, 54, 11, 115, 228, 241, 227, 127, 253, 244, 16, 75, 248, 235, 166, 78, 5, 227, 51, 60, 194, 46, 130, 24, 22, 204, 220, 5, 165, 194, 181, 154, 172, 86},
+{189, 56, 81, 255, 22, 207, 165, 245, 207, 188, 140, 78, 35, 69, 85, 64, 183, 222, 161, 219, 118, 10, 247, 221, 69, 16, 218, 194, 145, 49, 41, 27, 92, 81, 132, 109, 147, 42, 8, 241, 237, 180, 98, 212, 220, 162, 37, 14, 169, 25, 21, 175, 45, 219, 12, 3, 186, 0, 201, 36, 159, 113, 238, 235, 84, 69, 71, 78, 87, 103, 159, 165, 181, 247, 91, 179, 243, 8, 90, 52, 89, 58, 106, 9, 74, 96, 124, 96, 37, 227, 118, 79, 117, 15, 7, 32, 104, 119, 174, 15, 85, 29, 38, 121, 215, 182, 165, 81, 148, 180, 218, 109, 18, 9, 39, 25, 58, 178, 163, 192, 161, 111, 165, 1, 216, 30, 140, 72},
+{134, 30, 90, 171, 133, 114, 34, 244, 241, 250, 170, 98, 223, 24, 204, 151, 143, 248, 66, 41, 155, 249, 251, 66, 217, 202, 163, 238, 209, 208, 134, 40, 10, 58, 44, 250, 42, 137, 146, 75, 252, 197, 251, 156, 102, 11, 236, 239, 133, 89, 224, 199, 239, 185, 241, 188, 135, 106, 47, 246, 116, 238, 73, 180, 71, 42, 53, 236, 175, 153, 26, 140, 172, 94, 235, 143, 107, 19, 130, 182, 27, 173, 95, 210, 185, 231, 172, 22, 16, 36, 196, 185, 40, 114, 239, 166, 95, 148, 36, 207, 225, 134, 6, 137, 111, 17, 62, 77, 176, 124, 64, 87, 70, 172, 179, 177, 187, 84, 180, 100, 96, 142, 59, 206, 149, 138, 104, 185},
+{63, 12, 29, 144, 90, 46, 37, 93, 95, 113, 129, 134, 29, 77, 177, 25, 231, 91, 153, 214, 102, 219, 72, 75, 122, 227, 104, 207, 193, 21, 101, 251, 108, 216, 128, 195, 248, 180, 14, 229, 147, 164, 179, 29, 66, 116, 115, 164, 180, 33, 108, 184, 214, 70, 225, 106, 62, 64, 113, 172, 203, 142, 40, 129, 117, 122, 249, 242, 118, 102, 206, 246, 102, 160, 132, 193, 93, 170, 176, 110, 154, 206, 154, 153, 110, 68, 202, 212, 142, 163, 145, 120, 197, 72, 183, 100, 155, 181, 202, 50, 41, 126, 46, 249, 32, 188, 220, 197, 12, 146, 47, 243, 149, 146, 59, 81, 219, 219, 0, 122, 125, 73, 118, 223, 126, 148, 168, 158},
+{96, 129, 5, 151, 208, 116, 108, 48, 49, 66, 188, 22, 64, 244, 114, 98, 198, 144, 204, 228, 61, 232, 225, 18, 67, 103, 187, 248, 101, 70, 173, 172, 92, 200, 56, 57, 223, 52, 61, 210, 202, 163, 204, 46, 10, 236, 219, 77, 183, 225, 127, 4, 24, 157, 102, 187, 172, 48, 3, 143, 68, 75, 108, 43, 238, 27, 121, 130, 89, 178, 44, 207, 125, 61, 218, 226, 230, 13, 52, 214, 71, 106, 198, 250, 162, 99, 54, 7, 5, 145, 20, 230, 223, 21, 145, 190, 152, 46, 230, 124, 150, 18, 151, 23, 16, 28, 197, 14, 28, 198, 2, 124, 244, 29, 140, 164, 219, 142, 164, 248, 160, 7, 205, 144, 15, 214, 131, 57},
+{185, 202, 28, 194, 57, 155, 170, 139, 208, 151, 106, 198, 33, 39, 40, 109, 183, 140, 10, 168, 215, 146, 244, 143, 42, 41, 2, 211, 118, 34, 36, 81, 99, 147, 182, 132, 163, 36, 160, 120, 4, 36, 9, 58, 138, 40, 112, 189, 32, 24, 36, 123, 158, 180, 181, 246, 162, 182, 86, 20, 58, 197, 98, 66, 123, 215, 32, 72, 238, 129, 224, 185, 223, 40, 157, 187, 237, 113, 126, 62, 83, 81, 185, 164, 212, 201, 203, 10, 14, 48, 5, 203, 21, 201, 24, 82, 38, 77, 50, 192, 176, 183, 174, 42, 103, 67, 191, 199, 182, 109, 150, 175, 209, 34, 149, 204, 220, 49, 164, 221, 110, 22, 238, 164, 255, 190, 193, 52},
+{126, 119, 22, 18, 68, 163, 178, 211, 238, 244, 191, 226, 8, 226, 53, 136, 249, 102, 141, 53, 0, 104, 101, 43, 153, 160, 198, 119, 74, 75, 69, 230, 187, 63, 177, 209, 114, 209, 192, 223, 161, 252, 10, 154, 198, 169, 104, 86, 59, 183, 252, 77, 143, 102, 209, 90, 161, 18, 104, 42, 252, 212, 72, 47, 82, 217, 199, 51, 137, 244, 61, 118, 187, 103, 255, 206, 51, 142, 11, 240, 135, 213, 188, 7, 19, 249, 31, 219, 233, 149, 4, 118, 212, 218, 197, 55, 128, 8, 158, 73, 94, 43, 211, 133, 230, 233, 52, 124, 46, 98, 226, 123, 71, 5, 71, 158, 148, 43, 42, 20, 86, 98, 174, 234, 83, 118, 185, 157},
+{172, 196, 55, 135, 6, 171, 155, 74, 88, 96, 187, 149, 90, 96, 107, 156, 245, 0, 34, 223, 80, 200, 204, 160, 236, 113, 208, 169, 195, 180, 11, 96, 75, 145, 116, 99, 60, 110, 49, 140, 253, 157, 16, 252, 23, 92, 90, 77, 64, 127, 180, 214, 128, 1, 223, 157, 74, 95, 3, 64, 174, 248, 203, 153, 128, 97, 34, 19, 78, 139, 78, 236, 226, 130, 3, 82, 235, 42, 80, 14, 183, 229, 138, 116, 8, 160, 122, 193, 122, 116, 125, 17, 7, 220, 203, 16, 27, 95, 11, 135, 180, 205, 12, 154, 164, 186, 234, 183, 78, 64, 255, 133, 193, 99, 123, 249, 126, 220, 101, 99, 82, 109, 70, 40, 250, 230, 51, 50},
+{193, 225, 172, 15, 134, 54, 224, 179, 81, 254, 102, 196, 147, 197, 160, 96, 209, 45, 54, 216, 152, 1, 177, 112, 93, 4, 29, 199, 91, 186, 184, 121, 97, 188, 112, 26, 96, 111, 54, 82, 98, 221, 52, 77, 225, 12, 97, 173, 247, 136, 51, 21, 144, 20, 214, 207, 71, 72, 90, 75, 118, 177, 75, 40, 122, 155, 122, 11, 162, 118, 193, 12, 97, 139, 238, 242, 175, 102, 199, 243, 97, 235, 35, 176, 50, 55, 41, 104, 12, 96, 190, 169, 158, 202, 47, 163, 186, 23, 101, 66, 81, 189, 110, 175, 104, 247, 177, 71, 8, 84, 13, 17, 236, 89, 158, 129, 79, 47, 187, 2, 108, 52, 186, 7, 34, 182, 116, 56},
+{60, 73, 166, 208, 177, 62, 180, 45, 51, 250, 144, 159, 76, 72, 124, 51, 127, 72, 201, 114, 162, 71, 213, 132, 1, 143, 112, 140, 174, 119, 83, 75, 112, 235, 81, 167, 184, 203, 156, 169, 182, 197, 215, 51, 85, 203, 32, 226, 115, 110, 12, 8, 110, 232, 79, 250, 182, 107, 251, 162, 118, 142, 134, 106, 27, 222, 116, 223, 70, 114, 60, 200, 134, 73, 167, 137, 230, 215, 16, 74, 242, 134, 44, 182, 43, 202, 46, 93, 122, 88, 195, 43, 5, 210, 216, 233, 29, 162, 115, 131, 29, 181, 63, 201, 52, 70, 219, 85, 188, 70, 60, 239, 88, 11, 3, 201, 123, 217, 207, 243, 224, 113, 65, 78, 190, 246, 120, 32},
+{205, 137, 35, 46, 243, 63, 150, 241, 248, 135, 228, 94, 208, 75, 23, 219, 164, 100, 168, 147, 49, 80, 183, 29, 107, 174, 150, 199, 87, 100, 104, 122, 233, 177, 162, 249, 86, 71, 156, 126, 233, 30, 62, 54, 141, 16, 107, 75, 157, 98, 149, 237, 121, 222, 116, 49, 122, 111, 244, 146, 208, 17, 90, 81, 119, 254, 46, 210, 161, 32, 226, 163, 172, 211, 92, 23, 209, 136, 80, 188, 169, 61, 43, 162, 244, 141, 12, 34, 108, 31, 178, 76, 253, 182, 65, 127, 190, 14, 13, 203, 88, 173, 152, 190, 39, 201, 41, 88, 45, 194, 227, 52, 141, 212, 6, 99, 16, 166, 12, 114, 227, 137, 70, 186, 151, 102, 136, 224},
+{55, 25, 220, 4, 4, 96, 126, 51, 147, 213, 149, 250, 90, 6, 85, 89, 239, 101, 23, 44, 199, 178, 208, 35, 223, 251, 118, 165, 122, 106, 106, 153, 75, 204, 33, 205, 176, 33, 12, 154, 254, 76, 223, 127, 66, 32, 216, 201, 157, 129, 37, 21, 60, 145, 119, 40, 94, 227, 248, 233, 8, 51, 85, 61, 241, 63, 222, 56, 180, 167, 16, 22, 244, 23, 140, 205, 58, 93, 159, 89, 100, 226, 213, 99, 49, 128, 70, 212, 202, 215, 128, 177, 207, 71, 202, 96, 249, 37, 245, 70, 189, 192, 184, 242, 254, 2, 107, 29, 129, 80, 100, 77, 16, 170, 150, 201, 89, 86, 149, 182, 16, 76, 143, 4, 171, 108, 9, 21},
+{163, 67, 96, 217, 245, 177, 248, 117, 56, 77, 131, 189, 125, 203, 166, 102, 231, 142, 82, 101, 4, 0, 231, 12, 187, 116, 1, 131, 170, 103, 171, 110, 199, 145, 184, 151, 47, 21, 146, 38, 53, 238, 227, 180, 77, 37, 11, 235, 135, 233, 132, 71, 244, 3, 155, 252, 38, 209, 112, 79, 90, 166, 215, 77, 219, 70, 22, 34, 194, 152, 94, 252, 244, 28, 245, 27, 233, 116, 242, 39, 9, 66, 203, 160, 182, 164, 128, 174, 226, 235, 252, 209, 136, 133, 17, 126, 44, 100, 35, 20, 182, 89, 102, 160, 143, 116, 89, 192, 50, 237, 139, 90, 211, 67, 197, 129, 232, 116, 165, 177, 140, 230, 5, 250, 34, 245, 249, 240},
+{42, 172, 129, 43, 194, 215, 212, 241, 158, 58, 191, 141, 112, 133, 232, 171, 162, 175, 219, 239, 42, 207, 191, 42, 48, 75, 123, 157, 11, 18, 44, 115, 177, 241, 218, 194, 242, 117, 2, 202, 119, 191, 103, 192, 27, 159, 111, 15, 164, 118, 195, 159, 250, 120, 31, 18, 160, 208, 27, 53, 212, 28, 124, 171, 31, 92, 254, 253, 46, 71, 26, 50, 70, 113, 229, 219, 223, 71, 125, 155, 118, 102, 11, 232, 99, 159, 123, 150, 161, 179, 136, 132, 247, 252, 25, 163, 218, 215, 117, 41, 193, 104, 146, 59, 62, 38, 162, 75, 180, 245, 89, 79, 202, 96, 116, 2, 82, 220, 230, 8, 210, 172, 101, 10, 191, 200, 30, 99},
+{40, 2, 121, 214, 149, 55, 245, 2, 149, 179, 97, 43, 161, 101, 66, 86, 131, 69, 57, 42, 204, 114, 58, 200, 186, 68, 17, 219, 101, 243, 221, 144, 146, 163, 252, 59, 173, 47, 71, 114, 150, 167, 32, 115, 213, 86, 234, 19, 53, 138, 68, 192, 150, 78, 191, 165, 110, 160, 231, 165, 91, 19, 96, 25, 41, 199, 249, 19, 108, 37, 250, 131, 72, 71, 202, 161, 61, 223, 69, 89, 227, 145, 26, 108, 115, 88, 236, 153, 121, 98, 144, 73, 137, 170, 10, 11, 30, 97, 124, 109, 188, 117, 175, 9, 167, 207, 15, 146, 117, 177, 156, 107, 166, 184, 215, 22, 113, 18, 161, 114, 97, 64, 96, 76, 223, 236, 180, 145},
+{204, 178, 122, 7, 60, 38, 175, 105, 249, 7, 236, 119, 199, 203, 146, 38, 254, 114, 110, 160, 199, 81, 133, 97, 134, 23, 9, 150, 238, 154, 113, 248, 136, 194, 206, 41, 63, 159, 108, 2, 195, 203, 180, 253, 151, 172, 215, 193, 174, 194, 34, 211, 66, 153, 9, 94, 232, 107, 212, 180, 27, 126, 202, 58, 126, 124, 178, 195, 34, 205, 89, 130, 96, 194, 245, 25, 113, 188, 195, 1, 159, 46, 51, 132, 233, 96, 1, 170, 163, 186, 191, 15, 116, 122, 139, 5, 131, 228, 6, 219, 242, 180, 198, 58, 176, 131, 48, 149, 185, 69, 176, 47, 90, 249, 235, 214, 54, 143, 123, 150, 70, 228, 233, 158, 105, 52, 11, 185},
+{205, 44, 249, 137, 171, 48, 181, 30, 5, 61, 54, 202, 215, 77, 178, 43, 151, 77, 118, 249, 71, 255, 180, 39, 190, 138, 27, 163, 244, 153, 66, 164, 231, 111, 23, 211, 133, 41, 89, 122, 216, 26, 156, 190, 253, 10, 251, 109, 8, 39, 105, 29, 3, 153, 32, 70, 232, 8, 204, 84, 98, 71, 33, 97, 42, 53, 21, 107, 79, 48, 156, 66, 71, 231, 12, 46, 110, 171, 20, 38, 86, 52, 253, 51, 92, 242, 24, 122, 81, 97, 8, 182, 82, 184, 249, 237, 196, 60, 104, 78, 188, 148, 147, 179, 148, 176, 101, 231, 57, 15, 15, 206, 99, 250, 81, 245, 189, 42, 148, 215, 95, 219, 82, 70, 75, 59, 181, 1},
+{33, 151, 93, 221, 76, 188, 145, 113, 221, 53, 178, 206, 249, 159, 26, 124, 26, 122, 39, 116, 179, 77, 42, 90, 101, 75, 13, 48, 113, 235, 120, 127, 241, 38, 68, 112, 71, 34, 141, 227, 165, 47, 95, 139, 223, 146, 46, 95, 239, 181, 234, 58, 124, 15, 114, 56, 145, 204, 68, 133, 186, 41, 230, 122, 7, 47, 173, 251, 122, 55, 95, 196, 186, 109, 149, 94, 57, 112, 8, 47, 35, 186, 220, 66, 148, 58, 220, 50, 63, 164, 72, 174, 130, 88, 78, 95, 210, 226, 151, 85, 179, 108, 145, 185, 192, 46, 176, 50, 74, 183, 73, 82, 212, 131, 55, 82, 152, 68, 166, 167, 92, 83, 17, 231, 5, 38, 63, 122},
+{161, 65, 243, 161, 134, 106, 11, 169, 144, 23, 210, 197, 234, 97, 30, 218, 93, 73, 187, 124, 169, 154, 95, 107, 162, 95, 123, 204, 210, 207, 116, 38, 18, 167, 170, 202, 28, 64, 54, 236, 185, 94, 248, 254, 61, 136, 229, 51, 248, 188, 250, 233, 98, 145, 182, 128, 145, 65, 100, 26, 219, 233, 114, 141, 172, 8, 10, 121, 105, 113, 9, 62, 123, 31, 222, 43, 7, 7, 6, 91, 153, 215, 227, 219, 189, 47, 56, 161, 150, 109, 210, 129, 92, 27, 39, 86, 218, 233, 82, 33, 87, 214, 157, 78, 131, 197, 35, 97, 96, 196, 219, 209, 119, 47, 224, 254, 193, 192, 199, 121, 19, 26, 177, 233, 77, 115, 106, 114},
+{125, 169, 244, 138, 183, 217, 102, 33, 113, 96, 163, 0, 77, 111, 202, 49, 253, 133, 179, 57, 41, 150, 133, 6, 182, 206, 133, 121, 254, 96, 155, 15, 232, 109, 22, 248, 143, 233, 220, 72, 254, 44, 56, 127, 1, 114, 105, 114, 19, 85, 250, 1, 207, 216, 231, 166, 95, 2, 65, 240, 43, 178, 176, 246, 144, 101, 135, 165, 86, 202, 140, 107, 103, 239, 12, 26, 145, 3, 39, 177, 243, 8, 54, 16, 27, 201, 195, 234, 190, 247, 163, 130, 26, 112, 1, 83, 255, 114, 70, 112, 75, 92, 249, 250, 236, 89, 199, 153, 47, 19, 214, 242, 210, 60, 221, 102, 147, 184, 203, 160, 0, 187, 134, 114, 187, 151, 48, 137},
+{138, 125, 20, 27, 38, 85, 135, 148, 156, 229, 116, 105, 24, 179, 122, 217, 187, 253, 220, 36, 209, 210, 192, 44, 121, 142, 38, 205, 106, 206, 153, 206, 32, 136, 92, 174, 137, 44, 140, 212, 220, 246, 251, 210, 65, 137, 119, 22, 20, 164, 58, 82, 222, 111, 167, 37, 83, 38, 14, 81, 201, 197, 234, 72, 45, 185, 238, 12, 204, 110, 232, 39, 175, 10, 100, 123, 209, 71, 2, 234, 79, 85, 33, 59, 8, 88, 38, 37, 112, 95, 61, 10, 163, 201, 100, 156, 43, 121, 153, 233, 125, 126, 121, 237, 222, 157, 17, 233, 15, 120, 99, 20, 143, 104, 112, 50, 198, 21, 107, 167, 41, 189, 76, 87, 168, 50, 118, 229},
+{204, 47, 172, 244, 194, 44, 228, 47, 209, 217, 115, 242, 44, 128, 125, 3, 225, 131, 26, 173, 220, 122, 103, 4, 176, 70, 70, 76, 1, 71, 191, 103, 182, 133, 5, 57, 0, 105, 177, 28, 59, 4, 221, 5, 20, 247, 146, 167, 30, 67, 220, 148, 91, 194, 203, 167, 110, 63, 161, 179, 57, 139, 83, 71, 193, 13, 6, 197, 81, 134, 52, 205, 164, 126, 182, 194, 171, 209, 21, 188, 72, 15, 161, 182, 160, 6, 21, 169, 60, 71, 171, 228, 221, 184, 11, 146, 198, 165, 252, 103, 116, 23, 3, 55, 24, 212, 190, 231, 127, 121, 116, 41, 181, 34, 40, 247, 37, 244, 232, 220, 188, 118, 76, 233, 12, 155, 217, 200},
+{97, 202, 75, 1, 46, 74, 252, 186, 224, 52, 84, 14, 93, 140, 115, 194, 236, 183, 88, 141, 171, 47, 141, 8, 63, 150, 216, 149, 97, 11, 155, 56, 236, 147, 108, 49, 141, 38, 205, 5, 243, 176, 68, 91, 16, 201, 54, 153, 196, 224, 232, 150, 57, 51, 200, 137, 102, 108, 14, 158, 105, 101, 31, 39, 92, 77, 164, 0, 41, 36, 135, 171, 211, 198, 155, 56, 244, 25, 44, 69, 238, 213, 178, 149, 43, 107, 186, 72, 128, 249, 105, 13, 132, 92, 235, 248, 254, 167, 120, 38, 74, 249, 147, 228, 13, 189, 254, 49, 218, 55, 163, 145, 87, 170, 168, 102, 104, 153, 35, 118, 123, 119, 164, 114, 223, 29, 22},
+{72, 235, 15, 52, 21, 127, 44, 41, 178, 135, 145, 205, 94, 152, 10, 140, 215, 96, 215, 76, 212, 113, 15, 114, 223, 73, 51, 156, 129, 154, 148, 142, 169, 213, 161, 78, 211, 66, 20, 106, 171, 110, 209, 192, 177, 14, 84, 229, 227, 133, 168, 185, 255, 117, 177, 178, 105, 57, 115, 200, 108, 11, 229, 81, 144, 207, 89, 28, 75, 16, 121, 247, 200, 237, 166, 20, 240, 164, 216, 2, 200, 107, 107, 160, 248, 234, 132, 89, 246, 210, 85, 245, 24, 93, 157, 68, 238, 34, 243, 0, 208, 174, 63, 164, 236, 28, 236, 69, 61, 50, 23, 222, 156, 180, 227, 92, 1, 155, 7, 41, 207, 50, 185, 10, 117, 246, 108, 132},
+// NOTE(bleichen): The following vector got corrupted. I can't find the correct value anymore.
+// {103, 156, 216, 104, 151, 83, 86, 103, 1042, 66, 145, 142, 248, 231, 5, 52, 89, 194, 63, 221, 123, 245, 54, 92, 147, 11, 25, 28, 221, 63, 111, 100, 22, 217, 191, 184, 75, 78, 253, 54, 45, 135, 176, 109, 192, 158, 154, 147, 132, 249, 180, 30, 151, 252, 242, 209, 131, 16, 59, 222, 50, 161, 196, 30, 218, 149, 126, 23, 4, 89, 235, 190, 90, 201, 178, 138, 130, 237, 136, 48, 90, 145, 154, 20, 235, 63, 100, 185, 173, 224, 173, 196, 88, 137, 181, 35, 130, 197, 224, 36, 20, 145, 178, 223, 219, 57, 4, 147, 74, 85, 126, 239, 191, 28, 12, 36, 152, 127, 23, 15, 238, 182, 243, 223, 141, 199, 130},
+{159, 64, 108, 77, 50, 40, 179, 156, 169, 50, 101, 236, 149, 225, 137, 18, 133, 236, 48, 237, 105, 50, 104, 210, 228, 192, 26, 85, 159, 181, 66, 49, 135, 55, 161, 173, 120, 143, 221, 254, 8, 68, 89, 254, 64, 50, 165, 204, 94, 122, 19, 170, 211, 108, 26, 115, 28, 179, 135, 34, 192, 86, 186, 22, 122, 98, 244, 255, 100, 27, 116, 139, 10, 170, 93, 124, 6, 97, 147, 160, 91, 6, 179, 168, 131, 35, 201, 87, 174, 218, 190, 245, 49, 229, 45, 4, 42, 129, 171, 15, 134, 205, 57, 205, 189, 136, 90, 234, 214, 92, 220, 88, 135, 102, 154, 29, 243, 212, 89, 62, 198, 205, 195, 189, 36, 61, 151, 212},
+{207, 20, 144, 103, 240, 248, 149, 233, 45, 64, 92, 144, 43, 87, 34, 91, 52, 80, 91, 47, 6, 46, 130, 241, 78, 181, 44, 95, 213, 84, 118, 211, 22, 214, 110, 92, 58, 42, 93, 39, 177, 37, 253, 28, 117, 209, 122, 36, 136, 11, 72, 177, 40, 40, 17, 230, 247, 142, 61, 38, 12, 30, 189, 225, 179, 218, 145, 116, 153, 56, 52, 156, 59, 78, 27, 127, 74, 34, 53, 14, 30, 137, 159, 40, 185, 226, 140, 66, 163, 236, 98, 101, 83, 76, 61, 106, 70, 226, 228, 94, 136, 4, 108, 2, 236, 98, 167, 72, 178, 195, 254, 69, 199, 43, 22, 30, 169, 110, 154, 82, 38, 137, 134, 192, 27, 127, 111, 159},
+{183, 163, 252, 60, 116, 85, 91, 224, 94, 40, 116, 224, 61, 237, 29, 136, 202, 49, 154, 22, 99, 15, 112, 171, 24, 143, 158, 148, 124, 200, 239, 208, 224, 89, 69, 227, 154, 166, 26, 250, 106, 151, 87, 82, 142, 244, 33, 184, 80, 26, 57, 184, 145, 254, 49, 93, 129, 140, 80, 42, 48, 121, 228, 70, 175, 142, 125, 140, 198, 120, 177, 214, 236, 191, 95, 251, 203, 192, 145, 100, 149, 254, 194, 243, 38, 76, 195, 214, 160, 50, 93, 213, 140, 185, 139, 43, 96, 122, 226, 24, 159, 98, 51, 226, 57, 109, 249, 68, 194, 104, 5, 220, 31, 107, 114, 168, 82, 76, 8, 204, 225, 205, 198, 190, 82, 210, 229, 10},
+{21, 237, 218, 104, 158, 31, 222, 219, 252, 216, 12, 211, 166, 162, 7, 249, 34, 195, 50, 14, 41, 125, 38, 58, 19, 85, 247, 132, 42, 94, 93, 95, 162, 148, 105, 119, 156, 243, 230, 92, 67, 79, 177, 66, 247, 131, 132, 34, 57, 142, 200, 129, 153, 21, 35, 243, 221, 94, 192, 205, 40, 173, 112, 223, 7, 161, 193, 29, 138, 63, 170, 119, 55, 201, 148, 151, 197, 193, 14, 5, 34, 178, 167, 3, 215, 203, 109, 115, 65, 230, 63, 120, 232, 67, 226, 167, 231, 111, 219, 40, 63, 138, 77, 220, 26, 9, 41, 109, 118, 68, 248, 80, 114, 5, 44, 235, 136, 144, 12, 60, 238, 243, 180, 233, 79, 235, 154, 99},
+{111, 252, 43, 45, 255, 238, 18, 76, 241, 101, 147, 99, 79, 122, 95, 238, 31, 20, 29, 130, 4, 126, 233, 126, 152, 31, 177, 208, 217, 157, 49, 36, 232, 42, 3, 38, 115, 11, 125, 72, 242, 68, 173, 189, 182, 29, 24, 249, 57, 27, 30, 175, 84, 141, 82, 206, 0, 236, 27, 219, 17, 248, 195, 254, 231, 47, 159, 208, 105, 29, 11, 36, 72, 160, 60, 142, 118, 43, 107, 85, 186, 237, 178, 136, 14, 212, 160, 189, 2, 61, 60, 119, 33, 223, 192, 116, 185, 179, 52, 10, 244, 33, 203, 134, 236, 3, 103, 130, 209, 155, 126, 11, 86, 82, 249, 192, 145, 225, 197, 28, 212, 34, 31, 151, 24, 249, 38, 87},
+{175, 250, 152, 13, 98, 148, 181, 206, 230, 49, 219, 165, 177, 245, 127, 38, 245, 39, 196, 182, 142, 14, 126, 176, 162, 206, 242, 60, 19, 7, 164, 199, 77, 255, 175, 123, 187, 147, 108, 145, 190, 47, 92, 10, 240, 90, 34, 234, 19, 128, 46, 197, 188, 12, 215, 162, 145, 236, 205, 90, 4, 81, 26, 103, 181, 130, 135, 76, 164, 149, 81, 1, 35, 50, 129, 108, 84, 128, 152, 170, 19, 58, 96, 25, 145, 51, 35, 193, 250, 203, 122, 15, 3, 168, 91, 118, 211, 82, 192, 158, 111, 192, 102, 58, 67, 35, 254, 191, 124, 81, 184, 43, 211, 93, 123, 183, 14, 20, 26, 180, 214, 162, 72, 151, 160, 94, 33, 36},
+{34, 139, 154, 99, 43, 125, 237, 188, 96, 119, 153, 79, 214, 121, 48, 50, 169, 32, 208, 36, 159, 53, 139, 18, 17, 153, 171, 157, 191, 135, 21, 127, 153, 69, 181, 72, 126, 248, 94, 163, 227, 40, 251, 17, 81, 90, 91, 98, 129, 167, 3, 201, 247, 72, 148, 132, 67, 234, 68, 204, 244, 59, 121, 24, 184, 105, 168, 214, 164, 115, 127, 200, 74, 86, 154, 220, 38, 218, 246, 228, 139, 207, 188, 250, 89, 32, 195, 180, 123, 1, 147, 4, 223, 26, 75, 224, 90, 19, 113, 105, 166, 176, 128, 65, 212, 63, 177, 251, 5, 210, 21, 199, 91, 241, 153, 203, 17, 242, 244, 191, 99, 217, 112, 201, 211, 212, 253, 44},
+{204, 197, 203, 229, 50, 226, 149, 127, 225, 66, 70, 133, 113, 127, 107, 62, 227, 63, 105, 10, 125, 72, 127, 154, 251, 130, 31, 248, 173, 130, 20, 183, 157, 115, 69, 173, 158, 92, 26, 236, 213, 231, 49, 37, 10, 205, 154, 46, 200, 76, 80, 50, 220, 182, 141, 88, 82, 144, 34, 94, 69, 48, 151, 45, 73, 55, 217, 185, 137, 209, 251, 14, 145, 214, 248, 16, 107, 107, 31, 125, 1, 36, 212, 19, 54, 214, 141, 42, 110, 39, 6, 46, 69, 36, 214, 211, 220, 233, 248, 225, 54, 12, 249, 184, 106, 21, 216, 44, 59, 254, 18, 109, 175, 98, 74, 155, 9, 23, 4, 42, 133, 197, 88, 191, 195, 150, 247, 131},
+{150, 141, 50, 100, 106, 74, 165, 222, 45, 243, 90, 186, 203, 85, 243, 28, 34, 58, 142, 126, 6, 218, 81, 179, 149, 197, 47, 28, 226, 135, 52, 246, 185, 219, 224, 62, 145, 25, 132, 134, 104, 95, 88, 179, 165, 101, 32, 10, 133, 235, 92, 137, 58, 48, 168, 244, 241, 153, 198, 73, 151, 32, 254, 10, 197, 6, 83, 68, 255, 178, 82, 204, 71, 213, 0, 236, 189, 68, 7, 167, 4, 46, 99, 36, 177, 73, 209, 249, 232, 207, 170, 255, 212, 243, 117, 97, 50, 240, 128, 146, 33, 64, 224, 209, 114, 196, 131, 193, 219, 160, 113, 35, 184, 173, 59, 55, 161, 94, 131, 199, 106, 23, 23, 221, 114, 233, 147, 186},
+{83, 254, 104, 247, 34, 134, 176, 55, 184, 99, 26, 95, 212, 99, 118, 207, 252, 148, 238, 22, 216, 148, 129, 112, 238, 167, 165, 220, 246, 206, 25, 194, 183, 25, 57, 224, 51, 92, 211, 63, 99, 232, 115, 54, 136, 166, 69, 113, 68, 60, 199, 140, 70, 71, 40, 117, 40, 51, 53, 7, 6, 151, 57, 135, 223, 161, 145, 236, 80, 139, 101, 144, 30, 136, 215, 139, 100, 28, 75, 136, 208, 85, 58, 7, 19, 136, 254, 206, 16, 116, 82, 4, 148, 213, 194, 104, 62, 159, 45, 242, 13, 56, 253, 28, 195, 16, 42, 150, 106, 147, 237, 57, 129, 43, 162, 2, 255, 134, 11, 50, 191, 17, 206, 177, 79, 103, 34, 68},
+{131, 56, 158, 206, 174, 184, 76, 123, 120, 83, 164, 250, 95, 76, 183, 194, 175, 129, 173, 211, 204, 88, 43, 216, 95, 131, 3, 40, 173, 91, 187, 30, 4, 69, 16, 233, 187, 183, 221, 17, 179, 10, 85, 86, 57, 113, 151, 67, 194, 106, 107, 14, 251, 255, 131, 178, 135, 17, 237, 246, 223, 25, 125, 42, 162, 121, 51, 249, 144, 209, 127, 220, 170, 250, 60, 160, 200, 20, 53, 191, 104, 183, 107, 179, 226, 168, 237, 6, 108, 131, 1, 1, 250, 109, 69, 144, 78, 138, 238, 200, 42, 38, 43, 198, 217, 87, 29, 93, 20, 24, 96, 67, 230, 216, 31, 189, 198, 174, 192, 193, 40, 50, 190, 171, 77, 209, 205, 135},
+{16, 229, 88, 181, 127, 42, 241, 214, 13, 220, 237, 211, 175, 233, 143, 252, 48, 133, 199, 225, 210, 159, 123, 180, 165, 37, 165, 248, 235, 49, 122, 101, 3, 29, 34, 174, 2, 173, 83, 63, 86, 147, 33, 41, 192, 192, 159, 243, 21, 229, 104, 126, 172, 179, 154, 86, 132, 229, 231, 249, 241, 221, 104, 240, 215, 236, 213, 182, 220, 134, 28, 174, 121, 220, 241, 161, 89, 146, 190, 14, 223, 198, 204, 128, 189, 188, 154, 190, 51, 96, 146, 189, 229, 180, 117, 172, 173, 169, 65, 81, 231, 12, 142, 235, 237, 223, 21, 187, 114, 6, 50, 215, 48, 168, 90, 174, 12, 66, 217, 147, 170, 225, 13, 220, 203, 85, 30, 126},
+{197, 77, 67, 189, 54, 155, 189, 211, 59, 207, 230, 104, 126, 68, 140, 83, 77, 140, 207, 186, 168, 123, 63, 241, 44, 10, 29, 233, 108, 167, 47, 178, 246, 41, 15, 131, 96, 110, 10, 124, 9, 220, 221, 159, 130, 135, 245, 53, 86, 190, 78, 135, 177, 128, 199, 212, 54, 141, 30, 18, 118, 169, 42, 236, 0, 146, 55, 58, 14, 137, 70, 165, 194, 82, 48, 248, 26, 121, 29, 180, 46, 72, 155, 181, 121, 202, 51, 151, 120, 22, 11, 247, 9, 243, 126, 65, 26, 163, 101, 109, 205, 139, 194, 58, 191, 199, 37, 49, 52, 194, 96, 240, 199, 48, 137, 189, 46, 81, 238, 15, 223, 121, 77, 48, 37, 56, 242, 103},
+{112, 15, 119, 112, 8, 235, 8, 157, 237, 68, 88, 48, 144, 70, 251, 67, 226, 131, 111, 12, 90, 157, 75, 117, 82, 139, 68, 9, 78, 27, 208, 192, 45, 250, 157, 116, 11, 13, 60, 232, 123, 180, 67, 185, 76, 120, 210, 32, 241, 197, 21, 92, 170, 175, 101, 117, 50, 225, 159, 107, 63, 242, 92, 52, 252, 240, 131, 204, 202, 26, 34, 11, 59, 97, 220, 104, 64, 191, 66, 250, 158, 175, 116, 213, 95, 115, 57, 253, 143, 197, 243, 112, 220, 42, 147, 164, 126, 55, 131, 132, 50, 231, 43, 67, 231, 63, 40, 48, 175, 57, 199, 173, 127, 32, 188, 129, 155, 105, 36, 231, 163, 183, 107, 252, 174, 100, 124, 114},
+{56, 66, 234, 129, 94, 12, 73, 31, 51, 88, 150, 247, 38, 162, 69, 5, 237, 245, 21, 226, 144, 123, 49, 80, 183, 143, 47, 18, 81, 69, 133, 3, 78, 231, 137, 89, 209, 144, 205, 165, 57, 126, 63, 166, 219, 209, 162, 88, 172, 70, 156, 229, 160, 61, 162, 43, 25, 85, 42, 80, 13, 153, 59, 22, 174, 151, 220, 22, 158, 240, 25, 110, 217, 20, 4, 183, 104, 60, 240, 185, 52, 227, 176, 73, 165, 239, 5, 133, 40, 188, 204, 5, 250, 154, 23, 131, 212, 106, 150, 229, 1, 135, 70, 177, 148, 62, 33, 168, 47, 24, 124, 12, 2, 65, 235, 47, 95, 39, 9, 181, 13, 171, 212, 38, 47, 218, 38, 234},
+{16, 156, 246, 136, 247, 42, 46, 103, 86, 217, 191, 237, 161, 110, 91, 139, 29, 89, 153, 147, 209, 207, 225, 230, 252, 235, 59, 16, 80, 80, 236, 76, 20, 212, 233, 155, 112, 148, 68, 80, 33, 127, 136, 0, 173, 25, 39, 0, 162, 48, 93, 233, 61, 33, 120, 153, 203, 85, 108, 22, 54, 160, 6, 143, 207, 201, 64, 136, 200, 54, 88, 153, 45, 45, 108, 148, 75, 213, 202, 2, 108, 180, 199, 31, 233, 219, 155, 248, 118, 118, 108, 126, 173, 53, 213, 48, 237, 181, 85, 240, 40, 119, 110, 131, 114, 229, 90, 157, 253, 38, 138, 211, 17, 147, 25, 140, 215, 26, 10, 210, 176, 217, 128, 248, 75, 241, 24, 9},
+{82, 230, 122, 93, 228, 31, 119, 246, 151, 76, 153, 97, 84, 16, 154, 40, 242, 177, 46, 44, 161, 244, 203, 218, 250, 107, 91, 219, 94, 165, 44, 65, 14, 3, 148, 233, 211, 138, 242, 197, 200, 59, 240, 191, 232, 250, 104, 130, 217, 152, 55, 226, 191, 146, 32, 59, 192, 140, 35, 16, 253, 4, 80, 169, 213, 165, 147, 11, 125, 133, 51, 167, 154, 1, 15, 55, 109, 64, 90, 155, 214, 16, 33, 136, 20, 88, 153, 93, 146, 237, 1, 234, 111, 117, 254, 22, 113, 11, 190, 221, 114, 243, 41, 219, 253, 158, 0, 131, 197, 253, 188, 22, 74, 136, 83, 129, 22, 219, 225, 204, 122, 212, 87, 86, 231, 0, 84, 102},
+{175, 251, 55, 241, 96, 176, 69, 183, 98, 21, 124, 235, 253, 129, 187, 29, 136, 42, 225, 238, 148, 55, 79, 69, 204, 46, 60, 38, 198, 254, 141, 183, 42, 67, 204, 240, 49, 187, 143, 197, 218, 167, 133, 134, 219, 116, 43, 177, 125, 247, 26, 179, 201, 39, 100, 142, 152, 223, 54, 18, 72, 39, 197, 214, 252, 96, 49, 237, 84, 206, 103, 112, 116, 2, 153, 83, 89, 239, 136, 167, 17, 229, 213, 226, 228, 156, 161, 70, 101, 178, 92, 94, 152, 180, 98, 242, 209, 4, 42, 244, 234, 18, 103, 21, 107, 63, 50, 227, 9, 99, 122, 53, 1, 16, 17, 168, 54, 136, 134, 155, 102, 211, 81, 199, 242, 252, 95, 123},
+{19, 111, 169, 183, 133, 100, 232, 225, 84, 60, 114, 196, 172, 140, 88, 79, 27, 225, 233, 243, 47, 255, 86, 246, 210, 18, 21, 200, 99, 41, 232, 226, 188, 200, 215, 243, 52, 223, 17, 5, 7, 39, 128, 241, 159, 205, 5, 249, 21, 182, 144, 191, 116, 145, 237, 235, 202, 60, 217, 235, 155, 40, 170, 11, 50, 2, 44, 149, 253, 227, 45, 77, 200, 185, 252, 54, 23, 254, 168, 110, 104, 155, 38, 125, 209, 65, 186, 37, 22, 10, 35, 227, 124, 0, 237, 22, 173, 206, 229, 32, 188, 67, 73, 170, 37, 235, 71, 174, 89, 133, 203, 62, 24, 224, 187, 218, 152, 156, 90, 85, 6, 240, 139, 128, 205, 124, 187, 126},
+{110, 44, 150, 100, 224, 195, 212, 170, 110, 231, 217, 33, 93, 29, 75, 82, 216, 151, 81, 11, 12, 226, 87, 250, 165, 181, 111, 100, 249, 52, 98, 240, 67, 144, 206, 67, 248, 171, 162, 18, 57, 80, 233, 87, 101, 71, 36, 5, 208, 50, 85, 255, 15, 25, 240, 146, 65, 63, 96, 102, 136, 210, 133, 30, 121, 247, 123, 182, 146, 155, 50, 48, 167, 117, 249, 27, 2, 208, 231, 86, 116, 61, 10, 143, 193, 108, 103, 240, 204, 97, 112, 135, 42, 107, 222, 182, 140, 205, 246, 104, 128, 53, 109, 244, 231, 183, 33, 58, 151, 91, 125, 135, 176, 76, 172, 33, 32, 76, 204, 144, 225, 97, 184, 197, 83, 228, 112, 190},
+{88, 140, 101, 8, 149, 63, 118, 189, 105, 34, 132, 156, 26, 98, 140, 51, 255, 64, 90, 236, 199, 78, 108, 213, 84, 95, 90, 254, 76, 136, 97, 179, 25, 156, 95, 249, 47, 139, 81, 51, 112, 91, 60, 27, 27, 41, 111, 16, 80, 32, 159, 174, 12, 186, 170, 118, 166, 149, 29, 154, 189, 133, 223, 139, 217, 167, 41, 38, 133, 32, 221, 195, 230, 97, 191, 75, 241, 213, 36, 36, 246, 107, 67, 195, 28, 230, 59, 89, 225, 213, 192, 226, 188, 157, 190, 239, 246, 63, 72, 8, 104, 187, 155, 202, 188, 13, 2, 99, 96, 74, 41, 48, 223, 237, 3, 138, 37, 136, 59, 44, 161, 61, 36, 138, 191, 111, 222, 65},
+{182, 247, 222, 191, 93, 175, 233, 18, 168, 44, 57, 129, 1, 213, 55, 9, 3, 228, 85, 120, 11, 151, 210, 65, 95, 212, 169, 157, 141, 107, 250, 80, 143, 248, 212, 252, 42, 224, 106, 175, 97, 252, 141, 157, 85, 70, 53, 94, 92, 85, 254, 249, 60, 57, 126, 107, 52, 166, 180, 102, 92, 165, 168, 250, 163, 133, 106, 213, 37, 159, 43, 85, 217, 79, 174, 23, 156, 77, 255, 165, 237, 186, 213, 82, 195, 21, 66, 148, 47, 85, 92, 231, 25, 116, 155, 6, 216, 153, 40, 93, 179, 220, 106, 114, 219, 229, 97, 152, 239, 161, 103, 7, 116, 138, 102, 52, 62, 78, 237, 66, 101, 96, 170, 109, 119, 193, 231, 48},
+{170, 237, 192, 133, 120, 102, 241, 113, 188, 159, 188, 189, 200, 188, 206, 143, 120, 172, 51, 27, 12, 174, 23, 108, 208, 173, 164, 5, 64, 187, 90, 61, 184, 73, 190, 30, 100, 169, 150, 4, 149, 170, 59, 34, 188, 80, 71, 221, 31, 124, 207, 240, 95, 97, 89, 159, 52, 90, 46, 145, 160, 240, 60, 157, 27, 88, 157, 154, 235, 183, 23, 10, 16, 51, 18, 147, 210, 238, 165, 182, 110, 156, 240, 78, 87, 184, 174, 253, 228, 75, 113, 200, 16, 69, 95, 160, 137, 235, 45, 79, 101, 229, 120, 144, 126, 94, 74, 26, 127, 70, 20, 126, 97, 104, 198, 148, 145, 174, 77, 177, 28, 30, 7, 200, 156, 167, 248, 48},
+{165, 95, 121, 143, 163, 114, 1, 212, 76, 126, 210, 12, 219, 129, 218, 172, 139, 127, 220, 213, 7, 37, 194, 251, 132, 84, 88, 136, 32, 192, 51, 99, 113, 233, 234, 92, 198, 22, 239, 175, 93, 166, 72, 2, 229, 139, 195, 48, 63, 34, 124, 120, 245, 151, 171, 193, 68, 106, 84, 0, 185, 74, 64, 243, 243, 252, 131, 255, 63, 112, 133, 122, 20, 197, 150, 20, 27, 205, 56, 47, 65, 242, 33, 159, 214, 204, 65, 61, 220, 207, 185, 183, 229, 36, 191, 240, 97, 242, 52, 22, 104, 231, 200, 149, 141, 3, 219, 238, 222, 132, 176, 221, 119, 44, 40, 255, 106, 51, 68, 150, 43, 104, 253, 23, 209, 67, 73, 228},
+{44, 38, 201, 74, 60, 202, 69, 41, 205, 143, 221, 213, 163, 71, 166, 155, 245, 95, 123, 58, 235, 252, 224, 63, 6, 151, 154, 150, 46, 117, 249, 251, 46, 123, 97, 206, 57, 178, 28, 160, 220, 42, 62, 211, 46, 79, 236, 128, 255, 130, 95, 130, 204, 248, 154, 2, 192, 136, 114, 49, 0, 110, 66, 234, 22, 116, 185, 54, 58, 104, 79, 14, 92, 44, 76, 126, 171, 209, 16, 197, 80, 242, 21, 217, 59, 120, 119, 190, 41, 198, 131, 249, 72, 204, 155, 84, 45, 145, 221, 68, 122, 235, 50, 27, 186, 180, 78, 191, 205, 101, 33, 151, 170, 155, 152, 110, 163, 115, 142, 69, 64, 204, 128, 121, 129, 185, 171, 242},
+{71, 18, 207, 108, 247, 30, 42, 151, 81, 68, 223, 107, 148, 197, 188, 126, 236, 182, 38, 40, 253, 62, 120, 202, 57, 100, 20, 114, 233, 197, 91, 163, 53, 41, 149, 231, 254, 37, 177, 185, 11, 89, 212, 97, 83, 87, 197, 49, 238, 180, 175, 219, 8, 16, 129, 141, 62, 165, 199, 99, 232, 98, 168, 199, 223, 168, 152, 163, 157, 66, 51, 85, 193, 137, 32, 66, 92, 247, 107, 23, 217, 211, 20, 59, 163, 218, 22, 28, 191, 252, 46, 40, 200, 150, 235, 66, 26, 145, 229, 206, 62, 136, 223, 113, 121, 114, 172, 49, 123, 87, 237, 150, 250, 128, 236, 72, 49, 97, 214, 158, 70, 109, 151, 174, 251, 69, 124, 213},
+{27, 234, 243, 214, 22, 134, 45, 73, 241, 125, 92, 241, 222, 92, 136, 143, 26, 109, 193, 5, 90, 44, 144, 79, 172, 101, 187, 201, 59, 64, 45, 88, 75, 45, 132, 160, 164, 168, 149, 60, 18, 30, 6, 54, 188, 86, 238, 250, 73, 234, 166, 227, 143, 18, 242, 182, 111, 97, 78, 37, 219, 55, 19, 109, 75, 186, 215, 219, 243, 148, 92, 122, 109, 21, 29, 240, 126, 68, 128, 73, 167, 2, 108, 96, 218, 100, 27, 132, 47, 59, 121, 131, 47, 177, 83, 251, 215, 207, 53, 109, 243, 78, 49, 199, 253, 135, 228, 133, 50, 193, 103, 247, 35, 202, 234, 149, 150, 216, 134, 94, 13, 102, 128, 49, 220, 235, 106, 132},
+{5, 81, 108, 20, 53, 178, 87, 58, 206, 59, 56, 124, 34, 47, 217, 127, 236, 153, 164, 144, 34, 17, 34, 238, 75, 163, 233, 174, 253, 171, 175, 148, 246, 220, 21, 80, 218, 63, 189, 6, 0, 238, 160, 32, 131, 226, 144, 146, 106, 187, 116, 70, 185, 125, 91, 143, 18, 175, 195, 217, 163, 141, 97, 180, 207, 94, 33, 56, 28, 72, 76, 173, 148, 151, 86, 60, 79, 3, 224, 156, 82, 129, 245, 58, 21, 132, 206, 248, 238, 75, 113, 146, 241, 195, 75, 16, 124, 243, 150, 74, 144, 187, 231, 248, 173, 77, 231, 112, 75, 9, 112, 26, 156, 73, 178, 84, 25, 72, 2, 115, 59, 52, 133, 12, 79, 171, 24, 233},
+{82, 76, 163, 64, 52, 131, 126, 39, 92, 163, 129, 6, 169, 87, 167, 250, 142, 146, 101, 34, 101, 150, 176, 71, 28, 21, 10, 109, 157, 203, 39, 47, 68, 28, 170, 39, 183, 78, 96, 144, 186, 145, 13, 185, 100, 8, 37, 21, 206, 118, 193, 126, 247, 220, 133, 201, 93, 146, 120, 119, 87, 126, 128, 118, 9, 241, 132, 8, 106, 105, 66, 140, 152, 167, 118, 14, 170, 187, 115, 38, 102, 183, 110, 205, 39, 225, 141, 71, 61, 176, 68, 131, 203, 54, 191, 81, 13, 68, 254, 213, 134, 33, 93, 234, 65, 63, 149, 39, 140, 243, 214, 185, 81, 207, 142, 223, 113, 20, 31, 221, 129, 220, 4, 69, 181, 219, 22, 221},
+{67, 186, 175, 37, 23, 92, 186, 59, 87, 94, 40, 49, 77, 169, 100, 116, 88, 54, 115, 175, 55, 242, 58, 98, 6, 91, 147, 117, 31, 139, 250, 97, 135, 146, 118, 12, 247, 12, 243, 154, 56, 63, 52, 246, 122, 84, 137, 52, 205, 218, 138, 237, 1, 178, 226, 103, 197, 86, 114, 166, 33, 7, 180, 66, 209, 243, 2, 10, 135, 158, 154, 149, 20, 17, 18, 25, 212, 128, 163, 236, 170, 160, 57, 217, 47, 106, 52, 85, 84, 107, 175, 8, 154, 226, 108, 15, 46, 30, 165, 60, 82, 2, 177, 231, 107, 240, 216, 138, 215, 71, 10, 165, 156, 177, 75, 22, 116, 107, 122, 90, 47, 127, 150, 159, 72, 95, 150, 92},
+{123, 79, 198, 44, 174, 132, 39, 66, 165, 128, 155, 228, 125, 192, 136, 45, 179, 45, 11, 18, 151, 177, 245, 176, 83, 5, 208, 10, 129, 246, 45, 1, 214, 24, 202, 101, 225, 12, 116, 131, 107, 136, 164, 210, 115, 79, 124, 71, 123, 181, 189, 101, 14, 176, 175, 129, 68, 202, 83, 41, 54, 136, 17, 239, 23, 186, 221, 218, 51, 198, 210, 69, 66, 182, 42, 37, 167, 100, 104, 17, 42, 99, 97, 164, 187, 242, 46, 193, 51, 194, 125, 114, 210, 228, 163, 138, 40, 43, 112, 190, 226, 214, 218, 160, 81, 12, 195, 81, 79, 79, 125, 229, 113, 199, 221, 130, 213, 8, 75, 66, 74, 77, 215, 106, 231, 34, 118, 191},
+{14, 168, 97, 161, 26, 203, 199, 227, 232, 207, 52, 122, 216, 27, 84, 61, 206, 197, 138, 44, 110, 62, 95, 193, 193, 210, 117, 90, 120, 84, 95, 232, 130, 235, 247, 198, 4, 138, 7, 126, 180, 175, 217, 245, 215, 49, 192, 102, 50, 165, 94, 5, 245, 167, 74, 106, 83, 63, 147, 101, 107, 60, 65, 218, 133, 199, 164, 234, 181, 45, 142, 147, 239, 182, 73, 156, 71, 178, 236, 56, 168, 15, 71, 78, 126, 151, 207, 131, 178, 182, 112, 117, 170, 116, 214, 5, 151, 32, 225, 202, 137, 24, 45, 102, 229, 123, 180, 74, 14, 149, 241, 157, 113, 116, 231, 249, 190, 50, 170, 170, 191, 44, 174, 20, 93, 77, 86, 165},
+{50, 4, 2, 131, 195, 200, 82, 46, 195, 114, 114, 56, 186, 73, 105, 98, 21, 191, 103, 226, 220, 38, 164, 58, 217, 71, 222, 244, 13, 97, 191, 187, 102, 245, 71, 26, 249, 126, 143, 171, 118, 63, 4, 140, 31, 91, 174, 217, 166, 8, 141, 44, 152, 53, 96, 88, 46, 120, 218, 211, 211, 79, 187, 50, 49, 151, 49, 75, 103, 196, 78, 142, 221, 91, 82, 176, 200, 14, 157, 199, 49, 121, 46, 232, 83, 235, 10, 92, 45, 251, 47, 208, 3, 78, 57, 23, 235, 200, 34, 192, 205, 233, 250, 67, 134, 1, 114, 243, 23, 223, 227, 93, 137, 2, 195, 141, 187, 153, 68, 39, 123, 96, 211, 227, 96, 232, 69, 223},
+{99, 175, 150, 250, 152, 204, 247, 192, 235, 73, 151, 168, 18, 120, 111, 150, 231, 167, 71, 100, 184, 117, 53, 44, 254, 255, 31, 190, 227, 192, 228, 225, 17, 37, 168, 194, 65, 197, 100, 22, 202, 150, 72, 157, 178, 229, 197, 101, 146, 15, 119, 208, 20, 66, 72, 115, 120, 127, 134, 21, 199, 15, 22, 107, 166, 14, 88, 201, 6, 219, 56, 144, 94, 188, 64, 31, 7, 113, 174, 168, 167, 68, 160, 231, 123, 139, 25, 77, 116, 59, 170, 102, 83, 22, 63, 66, 187, 163, 226, 178, 11, 24, 142, 101, 246, 20, 42, 213, 76, 248, 232, 51, 147, 113, 151, 75, 142, 30, 24, 33, 99, 136, 25, 69, 50, 60, 230, 114},
+{116, 173, 123, 204, 240, 77, 197, 151, 102, 237, 171, 42, 48, 149, 253, 251, 2, 179, 254, 146, 56, 13, 231, 202, 126, 103, 86, 45, 214, 136, 173, 33, 74, 37, 84, 104, 122, 173, 64, 154, 182, 176, 180, 97, 246, 145, 177, 16, 240, 244, 88, 226, 212, 97, 227, 122, 79, 70, 209, 172, 207, 37, 162, 224, 87, 163, 149, 228, 176, 20, 113, 242, 13, 111, 213, 170, 126, 86, 90, 61, 121, 175, 253, 35, 73, 141, 192, 56, 93, 90, 135, 253, 205, 131, 134, 86, 76, 182, 208, 140, 252, 210, 48, 131, 8, 231, 4, 20, 213, 175, 148, 226, 48, 246, 69, 69, 60, 14, 48, 127, 17, 14, 245, 68, 114, 92, 129, 123},
+{133, 1, 253, 35, 247, 215, 6, 169, 61, 50, 249, 234, 72, 240, 58, 198, 99, 127, 112, 213, 217, 156, 124, 213, 5, 201, 13, 27, 18, 39, 27, 133, 220, 178, 12, 215, 233, 113, 9, 131, 159, 136, 69, 181, 36, 182, 65, 196, 42, 59, 235, 253, 43, 21, 200, 59, 173, 101, 132, 104, 64, 47, 249, 96, 152, 40, 92, 11, 71, 4, 205, 12, 95, 134, 193, 52, 87, 67, 245, 35, 140, 227, 6, 242, 48, 129, 43, 143, 184, 89, 61, 81, 30, 35, 194, 99, 48, 96, 238, 175, 130, 22, 37, 255, 90, 169, 122, 118, 181, 127, 57, 145, 225, 134, 211, 23, 31, 116, 251, 226, 16, 103, 190, 27, 20, 65, 153, 143},
+{105, 173, 89, 207, 246, 150, 98, 159, 5, 150, 81, 75, 252, 15, 56, 161, 2, 173, 158, 30, 29, 180, 200, 221, 255, 201, 138, 167, 152, 244, 198, 227, 80, 167, 152, 153, 64, 87, 10, 206, 244, 243, 60, 255, 218, 221, 127, 202, 58, 44, 116, 125, 133, 113, 250, 123, 235, 90, 212, 116, 226, 143, 239, 19, 229, 154, 115, 210, 243, 119, 225, 79, 163, 232, 75, 40, 77, 65, 184, 26, 192, 179, 219, 155, 93, 101, 129, 205, 84, 91, 148, 229, 102, 37, 15, 254, 95, 14, 46, 115, 70, 120, 39, 45, 70, 128, 51, 122, 146, 146, 101, 222, 253, 15, 245, 146, 139, 92, 233, 114, 252, 182, 197, 16, 169, 247, 114, 255},
+{115, 162, 107, 127, 84, 124, 173, 220, 11, 91, 235, 132, 112, 80, 72, 177, 170, 240, 50, 45, 49, 45, 229, 37, 136, 197, 10, 189, 242, 52, 183, 45, 158, 62, 210, 5, 244, 173, 120, 138, 104, 221, 68, 29, 249, 146, 117, 172, 193, 164, 242, 54, 197, 124, 129, 81, 139, 191, 189, 20, 162, 162, 5, 136, 108, 58, 78, 11, 135, 171, 36, 153, 227, 69, 199, 219, 46, 176, 116, 55, 206, 59, 142, 43, 174, 104, 53, 183, 52, 94, 219, 34, 242, 223, 32, 161, 175, 217, 0, 168, 4, 24, 43, 249, 119, 86, 141, 250, 185, 204, 211, 205, 223, 182, 100, 71, 30, 31, 160, 71, 40, 66, 54, 114, 12, 87, 160, 139},
+{134, 102, 198, 41, 2, 83, 119, 69, 198, 26, 19, 184, 61, 116, 50, 144, 224, 152, 46, 193, 125, 110, 114, 0, 154, 149, 40, 145, 203, 15, 214, 159, 153, 225, 131, 130, 35, 248, 164, 141, 213, 145, 75, 102, 91, 83, 131, 223, 235, 12, 135, 60, 56, 84, 74, 78, 102, 96, 143, 175, 97, 236, 24, 114, 187, 188, 255, 206, 243, 85, 77, 228, 41, 113, 41, 105, 6, 197, 193, 242, 93, 185, 189, 118, 149, 169, 154, 212, 78, 161, 3, 79, 110, 114, 104, 147, 192, 146, 55, 101, 207, 156, 28, 185, 114, 109, 47, 145, 213, 169, 43, 209, 9, 65, 117, 237, 67, 210, 209, 104, 197, 35, 64, 78, 17, 185, 86, 95},
+{53, 182, 77, 247, 25, 237, 192, 83, 184, 131, 60, 125, 72, 207, 106, 38, 233, 63, 179, 113, 238, 194, 20, 170, 154, 229, 131, 200, 232, 21, 116, 123, 107, 147, 224, 214, 248, 17, 169, 115, 9, 138, 231, 145, 207, 212, 210, 164, 231, 142, 10, 104, 193, 188, 27, 56, 240, 43, 123, 15, 111, 88, 219, 61, 100, 65, 55, 201, 169, 28, 75, 209, 178, 24, 88, 169, 35, 243, 228, 240, 88, 117, 67, 139, 103, 19, 133, 160, 173, 207, 180, 105, 229, 134, 165, 109, 114, 86, 73, 176, 183, 88, 254, 42, 73, 87, 97, 86, 196, 78, 41, 208, 139, 49, 122, 115, 192, 53, 95, 113, 96, 202, 198, 158, 229, 74, 103, 100},
+{38, 204, 200, 191, 131, 211, 50, 184, 194, 110, 171, 250, 6, 141, 115, 139, 176, 115, 99, 11, 17, 95, 178, 31, 162, 35, 21, 243, 139, 67, 49, 65, 88, 196, 79, 188, 250, 179, 32, 15, 38, 229, 67, 244, 41, 226, 119, 213, 195, 238, 207, 116, 57, 12, 17, 223, 208, 217, 160, 204, 156, 165, 67, 111, 67, 86, 44, 241, 60, 164, 187, 171, 234, 204, 19, 64, 80, 241, 151, 129, 48, 67, 90, 45, 156, 204, 25, 168, 176, 199, 15, 202, 125, 252, 239, 234, 196, 255, 40, 145, 200, 250, 163, 110, 136, 64, 28, 199, 147, 136, 234, 53, 247, 116, 196, 112, 185, 148, 177, 83, 51, 24, 58, 236, 228, 93, 9, 168},
+{196, 223, 41, 186, 115, 55, 78, 55, 29, 184, 24, 46, 215, 156, 243, 205, 141, 30, 250, 54, 134, 230, 118, 44, 85, 89, 204, 93, 211, 68, 125, 12, 188, 0, 235, 162, 112, 46, 31, 154, 171, 5, 137, 240, 230, 84, 28, 223, 49, 43, 63, 137, 51, 188, 86, 73, 158, 36, 67, 209, 49, 58, 184, 228, 13, 84, 135, 225, 206, 49, 58, 106, 145, 117, 83, 17, 1, 54, 19, 0, 161, 166, 168, 3, 18, 119, 144, 28, 116, 73, 144, 33, 212, 202, 74, 90, 234, 15, 112, 173, 244, 199, 57, 58, 44, 20, 126, 192, 117, 155, 141, 95, 201, 36, 213, 31, 118, 216, 170, 241, 191, 177, 17, 159, 107, 89, 160, 171},
+{108, 27, 52, 214, 141, 2, 218, 20, 117, 102, 31, 148, 176, 199, 179, 20, 142, 183, 0, 184, 0, 104, 120, 11, 106, 19, 216, 20, 28, 69, 202, 125, 168, 195, 155, 252, 46, 89, 75, 104, 108, 41, 224, 52, 149, 26, 0, 251, 17, 57, 43, 69, 146, 101, 33, 108, 89, 104, 146, 80, 214, 158, 20, 239, 0, 136, 23, 54, 151, 183, 129, 209, 192, 108, 246, 43, 202, 170, 92, 27, 227, 31, 99, 182, 222, 198, 216, 42, 12, 49, 65, 119, 251, 157, 214, 127, 16, 151, 86, 72, 214, 31, 255, 198, 203, 214, 210, 103, 115, 174, 47, 79, 20, 88, 12, 15, 28, 49, 160, 183, 208, 154, 78, 181, 157, 84, 105, 114},
+{153, 10, 199, 46, 243, 118, 15, 168, 194, 233, 180, 49, 175, 107, 230, 104, 146, 235, 211, 57, 180, 248, 63, 98, 220, 157, 88, 168, 252, 18, 60, 99, 86, 132, 95, 10, 42, 137, 212, 130, 20, 103, 230, 55, 75, 167, 53, 245, 37, 111, 58, 220, 120, 56, 194, 251, 77, 26, 67, 134, 141, 133, 93, 142, 19, 154, 169, 147, 25, 20, 213, 38, 121, 183, 158, 128, 171, 18, 107, 40, 22, 163, 76, 227, 130, 12, 96, 48, 82, 23, 85, 211, 123, 48, 15, 60, 58, 66, 14, 56, 148, 132, 144, 148, 212, 212, 222, 98, 142, 179, 218, 238, 223, 228, 120, 207, 232, 136, 119, 239, 222, 10, 137, 236, 114, 52, 17, 195},
+{199, 117, 115, 13, 106, 202, 154, 83, 215, 179, 80, 250, 21, 154, 103, 82, 97, 68, 74, 186, 227, 136, 44, 94, 137, 125, 126, 138, 31, 236, 88, 138, 127, 177, 164, 43, 132, 90, 202, 94, 81, 190, 80, 216, 61, 17, 218, 233, 90, 74, 118, 106, 159, 248, 66, 159, 145, 107, 189, 250, 8, 80, 109, 136, 20, 204, 89, 123, 211, 170, 25, 47, 246, 121, 53, 156, 48, 14, 91, 207, 30, 64, 9, 188, 135, 199, 143, 22, 155, 38, 208, 101, 238, 149, 168, 178, 13, 189, 200, 239, 209, 52, 76, 224, 113, 32, 67, 202, 2, 117, 31, 219, 176, 51, 40, 184, 8, 249, 229, 67, 124, 216, 39, 97, 182, 245, 221, 148},
+{31, 22, 134, 209, 99, 106, 229, 219, 22, 219, 17, 6, 96, 142, 185, 132, 20, 224, 137, 90, 161, 88, 102, 230, 121, 12, 195, 224, 84, 204, 30, 53, 157, 34, 218, 70, 155, 14, 108, 174, 243, 167, 124, 143, 197, 194, 152, 47, 160, 234, 198, 140, 172, 11, 48, 202, 177, 33, 201, 137, 200, 172, 21, 52, 189, 197, 198, 184, 66, 189, 41, 25, 50, 72, 158, 241, 246, 8, 241, 119, 181, 238, 174, 63, 225, 68, 225, 204, 17, 35, 148, 137, 207, 121, 139, 243, 62, 208, 246, 230, 234, 24, 7, 213, 231, 82, 193, 0, 145, 125, 173, 101, 104, 175, 147, 208, 158, 245, 181, 101, 124, 175, 73, 6, 174, 109, 92, 97},
+{150, 71, 73, 46, 146, 231, 29, 114, 197, 3, 145, 225, 224, 249, 242, 175, 97, 115, 220, 185, 43, 166, 207, 131, 135, 64, 149, 226, 152, 116, 170, 244, 118, 21, 93, 17, 95, 140, 126, 163, 37, 124, 10, 246, 160, 203, 1, 241, 111, 125, 167, 139, 1, 244, 115, 196, 83, 198, 36, 117, 106, 214, 107, 220, 111, 108, 147, 164, 179, 122, 73, 114, 239, 206, 91, 114, 61, 158, 248, 202, 233, 233, 22, 134, 145, 1, 21, 142, 70, 233, 57, 171, 115, 131, 163, 102, 14, 198, 38, 247, 50, 110, 60, 35, 70, 177, 228, 149, 62, 216, 234, 157, 232, 220, 69, 196, 164, 228, 200, 23, 106, 219, 159, 202, 212, 217, 84, 26},
+{185, 207, 104, 192, 128, 74, 84, 197, 6, 132, 126, 125, 44, 218, 133, 140, 90, 124, 138, 31, 217, 205, 235, 116, 223, 151, 204, 0, 241, 107, 242, 114, 59, 229, 118, 68, 197, 141, 222, 17, 75, 53, 188, 11, 94, 183, 218, 190, 50, 33, 115, 99, 100, 203, 44, 1, 53, 117, 223, 187, 101, 98, 92, 247, 52, 86, 81, 35, 72, 27, 25, 240, 160, 127, 139, 5, 11, 152, 173, 175, 106, 93, 52, 249, 228, 210, 35, 96, 186, 31, 245, 246, 12, 101, 138, 195, 137, 72, 245, 189, 132, 205, 232, 17, 13, 7, 82, 142, 26, 51, 26, 132, 83, 60, 72, 235, 71, 85, 194, 103, 63, 202, 215, 123, 74, 52, 196, 154},
+{93, 245, 9, 119, 46, 236, 144, 54, 10, 34, 95, 31, 165, 208, 194, 138, 54, 47, 93, 39, 174, 7, 117, 101, 8, 178, 225, 131, 12, 11, 233, 186, 215, 83, 92, 181, 44, 189, 207, 182, 152, 67, 33, 86, 191, 163, 255, 57, 85, 21, 4, 120, 102, 194, 189, 159, 119, 121, 44, 25, 41, 110, 246, 35, 186, 95, 25, 254, 30, 218, 251, 193, 83, 250, 187, 247, 132, 179, 219, 139, 75, 76, 167, 65, 196, 237, 49, 228, 70, 151, 25, 235, 25, 33, 101, 110, 196, 76, 196, 131, 141, 39, 117, 212, 177, 19, 253, 163, 29, 169, 224, 54, 223, 194, 219, 206, 139, 105, 82, 153, 224, 130, 164, 30, 155, 254, 59, 11},
+{15, 192, 74, 183, 250, 236, 10, 187, 205, 120, 170, 52, 148, 87, 237, 154, 255, 11, 186, 10, 146, 39, 95, 183, 194, 214, 1, 15, 162, 170, 14, 62, 63, 3, 242, 53, 55, 94, 18, 226, 250, 104, 247, 93, 81, 136, 179, 194, 75, 102, 173, 96, 37, 31, 207, 209, 207, 113, 241, 248, 11, 236, 78, 164, 99, 220, 160, 239, 255, 191, 78, 138, 37, 17, 241, 8, 227, 215, 134, 79, 54, 226, 123, 232, 111, 8, 188, 155, 189, 228, 241, 242, 178, 111, 122, 193, 83, 201, 205, 255, 26, 109, 223, 152, 20, 212, 112, 234, 218, 34, 152, 2, 82, 7, 101, 31, 226, 78, 95, 206, 151, 170, 196, 152, 66, 43, 12, 98},
+{98, 32, 85, 169, 17, 222, 147, 46, 146, 86, 167, 249, 195, 195, 73, 68, 84, 130, 84, 45, 104, 68, 142, 158, 204, 197, 216, 137, 12, 247, 230, 150, 82, 111, 138, 7, 103, 103, 23, 179, 69, 229, 206, 69, 3, 78, 204, 117, 22, 91, 236, 27, 163, 178, 91, 13, 211, 195, 116, 198, 155, 139, 49, 209, 46, 63, 165, 115, 175, 124, 203, 128, 24, 138, 76, 209, 190, 238, 115, 69, 187, 212, 39, 31, 155, 4, 43, 190, 163, 74, 72, 184, 138, 46, 22, 112, 110, 224, 115, 69, 19, 149, 147, 161, 212, 64, 79, 94, 57, 60, 50, 191, 141, 105, 38, 109, 231, 51, 250, 183, 96, 27, 43, 144, 25, 71, 78, 192},
+{108, 249, 124, 133, 43, 196, 228, 240, 247, 18, 125, 106, 184, 78, 73, 221, 231, 137, 102, 123, 45, 203, 215, 228, 118, 155, 40, 230, 137, 26, 150, 26, 146, 30, 178, 183, 225, 122, 243, 84, 0, 232, 16, 26, 244, 46, 126, 54, 139, 143, 98, 121, 222, 144, 100, 184, 192, 35, 46, 10, 207, 202, 181, 22, 135, 134, 204, 0, 253, 3, 51, 163, 169, 102, 57, 233, 191, 16, 8, 159, 181, 128, 66, 27, 250, 93, 52, 65, 148, 124, 0, 28, 1, 13, 71, 192, 192, 189, 118, 245, 140, 228, 229, 33, 223, 132, 150, 147, 36, 191, 186, 16, 114, 211, 184, 63, 59, 24, 66, 197, 125, 166, 253, 158, 39, 78, 174, 67},
+{36, 184, 235, 171, 41, 115, 109, 149, 132, 20, 225, 71, 77, 222, 15, 156, 110, 255, 72, 186, 52, 246, 127, 154, 76, 235, 209, 39, 20, 106, 243, 96, 115, 66, 172, 208, 114, 17, 128, 244, 152, 207, 237, 194, 243, 213, 86, 106, 196, 94, 81, 156, 202, 120, 120, 80, 189, 162, 141, 38, 153, 56, 5, 178, 220, 100, 210, 252, 131, 89, 18, 255, 20, 3, 234, 153, 75, 29, 68, 254, 7, 154, 234, 117, 161, 108, 213, 1, 165, 119, 243, 12, 197, 107, 84, 200, 132, 183, 192, 117, 158, 27, 231, 32, 20, 77, 125, 139, 69, 63, 218, 170, 219, 29, 177, 251, 244, 8, 154, 181, 51, 81, 155, 122, 195, 27, 150, 179},
+{119, 56, 216, 89, 250, 187, 3, 226, 27, 21, 1, 74, 85, 76, 147, 163, 218, 86, 29, 200, 178, 95, 225, 199, 44, 249, 174, 219, 136, 171, 170, 105, 52, 133, 250, 137, 139, 55, 246, 94, 32, 8, 207, 17, 46, 149, 169, 25, 230, 21, 59, 128, 124, 31, 186, 139, 39, 38, 12, 96, 80, 211, 122, 192, 14, 67, 143, 84, 65, 137, 54, 237, 44, 97, 203, 114, 163, 75, 177, 117, 235, 42, 72, 154, 234, 229, 99, 86, 223, 247, 204, 89, 78, 104, 34, 141, 160, 227, 224, 82, 23, 19, 109, 134, 44, 173, 48, 18, 247, 74, 56, 151, 191, 154, 38, 250, 14, 48, 67, 131, 88, 216, 42, 235, 212, 149, 156, 46},
+{60, 102, 215, 10, 140, 173, 62, 144, 82, 197, 235, 134, 236, 54, 184, 42, 89, 38, 237, 32, 142, 36, 115, 134, 82, 191, 239, 243, 136, 225, 192, 221, 180, 12, 191, 79, 62, 168, 70, 47, 67, 200, 192, 112, 122, 79, 54, 180, 124, 245, 9, 217, 137, 233, 175, 7, 223, 31, 67, 144, 7, 105, 77, 237, 75, 105, 106, 33, 38, 63, 190, 35, 82, 161, 6, 85, 6, 174, 151, 129, 142, 87, 225, 95, 150, 243, 188, 159, 0, 97, 35, 170, 40, 224, 163, 50, 5, 145, 132, 226, 186, 26, 61, 12, 15, 184, 72, 69, 140, 147, 46, 119, 103, 15, 93, 16, 26, 137, 182, 160, 218, 5, 136, 240, 218, 215, 223, 188},
+{186, 198, 41, 0, 111, 180, 133, 115, 221, 96, 116, 228, 2, 136, 154, 29, 49, 87, 112, 97, 157, 0, 38, 231, 217, 59, 79, 156, 157, 24, 147, 187, 41, 45, 61, 137, 42, 128, 166, 136, 244, 91, 236, 221, 141, 6, 107, 255, 95, 55, 60, 223, 176, 68, 179, 210, 139, 151, 125, 142, 42, 88, 114, 63, 152, 226, 188, 25, 49, 181, 204, 91, 147, 249, 245, 77, 184, 204, 32, 236, 47, 147, 41, 158, 76, 173, 3, 49, 96, 60, 166, 95, 49, 246, 61, 216, 253, 43, 129, 6, 155, 22, 161, 227, 43, 19, 44, 178, 221, 225, 82, 215, 217, 255, 210, 16, 110, 231, 17, 245, 84, 40, 217, 178, 38, 203, 121, 40},
+{12, 1, 188, 208, 90, 20, 157, 255, 158, 140, 177, 101, 182, 150, 109, 176, 157, 148, 103, 251, 166, 249, 184, 97, 140, 152, 225, 205, 241, 109, 131, 113, 249, 191, 63, 87, 240, 34, 89, 98, 220, 144, 252, 247, 75, 39, 36, 130, 107, 109, 134, 1, 246, 82, 208, 71, 162, 135, 96, 118, 239, 132, 190, 247, 94, 229, 128, 167, 126, 220, 237, 124, 241, 81, 230, 251, 236, 202, 202, 169, 214, 3, 100, 216, 208, 181, 243, 201, 199, 228, 126, 41, 173, 110, 12, 167, 230, 156, 31, 102, 71, 151, 159, 196, 61, 0, 201, 96, 78, 21, 93, 78, 70, 124, 102, 207, 239, 86, 171, 218, 89, 54, 107, 232, 121, 228, 97, 34},
+{136, 18, 145, 255, 39, 199, 87, 89, 184, 78, 51, 183, 149, 228, 29, 70, 196, 110, 136, 60, 175, 110, 115, 34, 111, 87, 140, 56, 173, 214, 201, 214, 69, 94, 60, 21, 97, 81, 58, 114, 170, 34, 94, 192, 45, 74, 64, 97, 58, 215, 63, 254, 89, 28, 144, 102, 231, 199, 115, 8, 162, 193, 150, 9, 174, 90, 230, 63, 118, 93, 219, 243, 27, 161, 75, 178, 182, 21, 127, 236, 25, 39, 98, 156, 171, 35, 161, 187, 176, 31, 248, 103, 170, 210, 130, 181, 136, 80, 143, 109, 193, 248, 10, 92, 157, 200, 245, 177, 219, 252, 84, 70, 56, 2, 252, 112, 67, 140, 200, 195, 202, 45, 153, 77, 86, 235, 111, 214},
+{185, 166, 65, 115, 148, 206, 223, 140, 193, 252, 252, 105, 39, 130, 99, 20, 164, 8, 125, 75, 255, 42, 217, 193, 114, 81, 35, 194, 23, 18, 177, 0, 182, 254, 116, 52, 101, 132, 50, 49, 8, 0, 215, 169, 180, 62, 62, 19, 171, 223, 202, 212, 195, 54, 29, 62, 94, 224, 105, 76, 111, 36, 188, 171, 171, 242, 188, 7, 212, 59, 143, 111, 130, 237, 104, 124, 150, 203, 118, 132, 25, 7, 184, 217, 255, 159, 238, 108, 253, 169, 200, 113, 172, 242, 46, 11, 97, 145, 73, 231, 100, 141, 160, 134, 54, 180, 109, 240, 93, 65, 240, 241, 135, 107, 231, 2, 120, 238, 127, 197, 12, 214, 122, 200, 230, 220, 67, 159},
+{12, 104, 43, 31, 6, 62, 13, 78, 36, 26, 117, 35, 89, 195, 95, 116, 99, 84, 114, 24, 207, 82, 220, 141, 55, 194, 188, 17, 160, 107, 10, 86, 254, 109, 38, 196, 134, 140, 124, 229, 165, 148, 186, 211, 69, 170, 194, 210, 71, 209, 138, 166, 127, 241, 180, 68, 247, 58, 130, 41, 200, 250, 61, 195, 236, 214, 34, 21, 97, 125, 216, 194, 59, 114, 31, 117, 254, 254, 12, 137, 182, 66, 58, 78, 121, 56, 129, 91, 106, 134, 107, 246, 144, 77, 141, 6, 57, 208, 38, 83, 141, 186, 164, 241, 115, 14, 150, 189, 43, 48, 4, 218, 161, 177, 67, 106, 122, 207, 80, 232, 192, 35, 28, 156, 26, 108, 178, 142},
+{36, 38, 157, 186, 8, 130, 84, 207, 81, 1, 54, 189, 234, 62, 151, 120, 234, 199, 42, 180, 10, 205, 64, 134, 128, 130, 29, 119, 175, 237, 25, 81, 191, 113, 8, 237, 155, 51, 171, 172, 204, 243, 117, 104, 160, 120, 180, 40, 161, 74, 132, 74, 132, 55, 151, 25, 64, 53, 72, 197, 166, 166, 117, 162, 66, 22, 91, 75, 121, 123, 110, 151, 6, 30, 30, 147, 184, 189, 11, 225, 234, 209, 150, 125, 23, 27, 158, 115, 227, 188, 252, 255, 221, 119, 55, 191, 170, 42, 158, 48, 128, 217, 174, 29, 16, 36, 236, 88, 56, 182, 144, 33, 189, 216, 40, 11, 161, 117, 52, 221, 112, 234, 43, 190, 136, 34, 173, 119},
+{202, 130, 169, 238, 225, 95, 227, 18, 178, 108, 57, 102, 29, 99, 105, 234, 250, 230, 227, 215, 162, 119, 84, 45, 167, 61, 2, 75, 24, 175, 124, 164, 199, 242, 111, 204, 174, 91, 35, 120, 15, 88, 184, 31, 58, 223, 16, 156, 54, 164, 100, 194, 61, 186, 75, 228, 94, 86, 43, 71, 18, 107, 224, 137, 107, 175, 39, 94, 19, 203, 102, 179, 82, 177, 93, 129, 162, 77, 176, 195, 62, 71, 35, 208, 137, 214, 148, 174, 161, 69, 119, 3, 183, 188, 25, 12, 240, 102, 128, 233, 70, 160, 55, 185, 233, 250, 77, 140, 94, 97, 61, 188, 33, 223, 211, 170, 188, 219, 212, 167, 219, 164, 247, 149, 89, 130, 91, 138},
+{10, 72, 66, 213, 210, 229, 103, 162, 209, 213, 128, 60, 115, 255, 71, 6, 13, 163, 228, 195, 223, 232, 208, 231, 159, 41, 40, 27, 187, 147, 177, 150, 52, 2, 81, 197, 208, 10, 166, 150, 95, 173, 169, 249, 103, 23, 14, 218, 151, 141, 39, 162, 7, 103, 202, 216, 221, 157, 240, 195, 98, 10, 96, 24, 117, 184, 198, 68, 228, 60, 175, 157, 19, 173, 203, 243, 221, 83, 151, 182, 110, 249, 152, 215, 94, 231, 143, 250, 163, 77, 235, 126, 232, 208, 146, 70, 164, 10, 117, 250, 204, 188, 151, 182, 12, 33, 135, 49, 247, 86, 34, 54, 209, 177, 79, 211, 219, 49, 2, 173, 224, 122, 58, 76, 74, 90, 220, 131},
+{36, 13, 64, 138, 122, 45, 220, 8, 63, 240, 251, 187, 140, 133, 131, 235, 153, 42, 237, 105, 173, 255, 145, 148, 192, 43, 190, 11, 13, 170, 187, 164, 231, 69, 235, 56, 255, 243, 127, 17, 58, 24, 130, 213, 232, 208, 199, 117, 237, 247, 37, 69, 200, 99, 205, 47, 219, 196, 165, 148, 47, 73, 137, 30, 92, 20, 200, 191, 246, 200, 185, 132, 183, 36, 63, 126, 17, 114, 57, 237, 110, 222, 100, 243, 47, 9, 194, 89, 84, 23, 64, 227, 158, 106, 166, 190, 157, 33, 162, 58, 89, 75, 223, 225, 101, 250, 59, 208, 38, 86, 175, 194, 61, 98, 95, 175, 19, 27, 4, 22, 140, 62, 173, 63, 61, 40, 36, 0},
+{117, 63, 169, 39, 172, 109, 145, 163, 45, 67, 116, 133, 253, 19, 223, 150, 125, 231, 22, 41, 212, 244, 189, 80, 103, 58, 44, 17, 198, 131, 226, 60, 10, 209, 167, 91, 64, 128, 160, 62, 116, 23, 228, 139, 129, 57, 238, 138, 223, 212, 194, 239, 10, 17, 34, 250, 36, 68, 11, 88, 159, 148, 164, 137, 92, 9, 88, 161, 126, 6, 2, 14, 91, 226, 120, 50, 28, 47, 10, 223, 198, 10, 152, 8, 74, 82, 43, 215, 103, 80, 135, 75, 152, 159, 66, 21, 239, 47, 80, 180, 37, 185, 56, 169, 32, 237, 64, 163, 252, 116, 111, 63, 194, 8, 211, 115, 237, 218, 194, 33, 221, 221, 195, 110, 242, 191, 34, 241},
+{120, 119, 198, 131, 51, 21, 43, 145, 131, 101, 155, 2, 120, 98, 148, 132, 118, 244, 141, 17, 63, 86, 2, 113, 205, 39, 212, 139, 82, 105, 12, 15, 19, 9, 132, 39, 44, 15, 131, 158, 18, 117, 216, 221, 104, 0, 99, 7, 212, 212, 60, 117, 216, 23, 204, 49, 74, 134, 255, 161, 200, 106, 119, 57, 219, 124, 89, 232, 195, 124, 151, 248, 7, 181, 23, 93, 95, 169, 158, 92, 155, 50, 86, 187, 110, 173, 82, 202, 163, 16, 212, 111, 7, 178, 145, 84, 143, 112, 26, 71, 142, 107, 213, 98, 93, 57, 251, 36, 244, 170, 87, 219, 181, 63, 134, 253, 233, 186, 238, 208, 90, 254, 167, 107, 192, 178, 223, 220},
+{192, 86, 141, 194, 22, 223, 46, 175, 168, 133, 133, 39, 74, 202, 62, 210, 180, 135, 227, 16, 79, 189, 254, 252, 114, 235, 25, 255, 29, 21, 225, 107, 123, 249, 38, 92, 46, 219, 9, 113, 115, 81, 137, 137, 52, 85, 32, 166, 91, 13, 11, 134, 60, 116, 4, 83, 90, 97, 104, 63, 87, 203, 162, 215, 198, 107, 149, 130, 23, 2, 123, 147, 46, 241, 207, 167, 14, 121, 237, 203, 65, 87, 173, 110, 250, 2, 244, 153, 14, 81, 16, 198, 105, 177, 175, 115, 162, 57, 192, 59, 233, 129, 18, 92, 65, 5, 149, 229, 20, 18, 228, 142, 239, 139, 237, 162, 204, 45, 25, 60, 136, 41, 253, 127, 6, 207, 139, 106},
+{98, 100, 24, 208, 74, 212, 121, 225, 104, 139, 7, 208, 13, 222, 165, 182, 172, 154, 172, 75, 58, 2, 24, 135, 134, 226, 173, 94, 123, 44, 182, 34, 50, 230, 175, 108, 188, 0, 248, 142, 72, 196, 51, 49, 214, 51, 142, 198, 116, 222, 102, 50, 124, 138, 213, 90, 11, 205, 36, 80, 79, 80, 166, 228, 61, 219, 102, 202, 164, 238, 197, 204, 210, 105, 221, 9, 239, 144, 167, 55, 197, 205, 212, 153, 164, 161, 184, 96, 215, 217, 15, 254, 178, 63, 221, 99, 228, 58, 87, 113, 67, 145, 212, 96, 148, 97, 228, 233, 143, 19, 153, 157, 79, 80, 4, 90, 133, 70, 72, 162, 216, 90, 107, 169, 19, 217, 90, 74},
+{182, 201, 208, 167, 77, 11, 178, 184, 92, 51, 13, 12, 186, 94, 238, 104, 123, 150, 178, 216, 164, 30, 167, 156, 39, 79, 192, 3, 53, 39, 70, 158, 160, 61, 45, 50, 139, 69, 179, 163, 39, 50, 94, 203, 199, 81, 71, 127, 42, 226, 241, 41, 110, 102, 162, 49, 251, 129, 135, 92, 252, 79, 173, 103, 194, 246, 205, 68, 19, 202, 152, 116, 111, 43, 165, 234, 54, 218, 127, 28, 50, 150, 192, 48, 252, 216, 55, 171, 110, 87, 194, 83, 66, 178, 226, 71, 231, 176, 72, 208, 120, 160, 20, 75, 34, 186, 138, 136, 20, 200, 87, 162, 229, 24, 135, 69, 2, 116, 142, 236, 111, 6, 244, 170, 228, 225, 185, 40},
+{120, 93, 154, 250, 168, 20, 168, 217, 45, 208, 132, 217, 186, 87, 20, 187, 244, 97, 67, 86, 92, 83, 216, 6, 97, 202, 39, 157, 127, 216, 10, 123, 109, 60, 213, 101, 166, 224, 43, 225, 88, 220, 100, 105, 98, 104, 114, 132, 80, 115, 142, 239, 174, 85, 166, 30, 164, 124, 110, 120, 223, 53, 99, 247, 136, 251, 244, 240, 5, 30, 63, 141, 98, 187, 238, 238, 138, 45, 76, 31, 205, 253, 47, 154, 226, 199, 87, 156, 173, 137, 95, 107, 156, 230, 185, 94, 18, 233, 193, 172, 203, 81, 46, 228, 76, 39, 93, 118, 3, 104, 17, 47, 196, 103, 186, 243, 137, 79, 27, 102, 199, 69, 96, 190, 47, 22, 1, 165},
+{26, 103, 28, 121, 165, 110, 152, 82, 62, 149, 53, 177, 42, 192, 213, 48, 19, 6, 133, 86, 164, 8, 238, 202, 164, 174, 199, 101, 187, 205, 160, 205, 175, 124, 237, 209, 104, 43, 86, 71, 199, 188, 66, 176, 100, 108, 74, 58, 68, 54, 176, 75, 24, 194, 181, 203, 150, 189, 212, 173, 22, 130, 3, 147, 125, 7, 154, 166, 157, 60, 114, 79, 184, 168, 36, 253, 223, 156, 52, 88, 180, 252, 197, 223, 160, 152, 123, 224, 166, 12, 255, 234, 231, 154, 213, 155, 113, 14, 58, 65, 242, 190, 83, 123, 59, 84, 131, 162, 131, 132, 49, 246, 54, 104, 16, 125, 132, 83, 94, 231, 50, 16, 224, 83, 53, 10, 115, 131},
+{151, 65, 144, 16, 71, 40, 154, 241, 107, 155, 166, 220, 14, 204, 87, 13, 201, 223, 229, 49, 42, 42, 123, 119, 76, 203, 208, 19, 96, 133, 203, 218, 123, 183, 156, 251, 186, 247, 38, 71, 204, 36, 114, 66, 249, 222, 106, 166, 178, 251, 141, 163, 44, 131, 254, 122, 23, 127, 150, 154, 119, 3, 87, 66, 221, 45, 147, 55, 200, 130, 45, 182, 21, 150, 222, 68, 246, 209, 87, 168, 1, 41, 149, 34, 55, 228, 182, 3, 14, 28, 98, 246, 201, 213, 195, 115, 72, 178, 195, 128, 15, 170, 84, 175, 99, 253, 55, 137, 10, 165, 40, 186, 185, 117, 31, 217, 201, 168, 146, 179, 146, 129, 74, 175, 42, 192, 75, 254},
+{93, 82, 173, 79, 28, 142, 86, 55, 218, 212, 107, 172, 38, 222, 214, 84, 242, 224, 150, 57, 55, 1, 49, 171, 109, 14, 165, 197, 214, 212, 61, 100, 137, 17, 196, 153, 39, 186, 33, 198, 227, 4, 244, 175, 52, 230, 14, 84, 74, 73, 17, 72, 4, 200, 149, 101, 64, 211, 98, 32, 14, 233, 43, 233, 91, 209, 101, 82, 110, 93, 202, 27, 168, 121, 129, 42, 98, 127, 173, 83, 38, 45, 172, 62, 148, 83, 15, 10, 56, 117, 172, 78, 13, 116, 179, 57, 148, 245, 240, 211, 224, 213, 167, 247, 92, 139, 203, 175, 209, 120, 201, 127, 242, 93, 219, 149, 127, 48, 152, 181, 90, 181, 216, 238, 38, 114, 155, 223},
+{80, 245, 87, 215, 66, 234, 155, 56, 134, 211, 77, 194, 38, 24, 145, 239, 36, 214, 220, 106, 192, 21, 182, 74, 168, 178, 174, 90, 73, 208, 104, 149, 202, 115, 161, 133, 234, 45, 212, 245, 169, 105, 16, 99, 113, 116, 95, 157, 190, 31, 54, 198, 202, 205, 165, 15, 43, 67, 189, 232, 129, 43, 61, 221, 72, 11, 236, 121, 228, 63, 132, 14, 3, 58, 197, 1, 133, 88, 181, 167, 117, 77, 245, 250, 36, 54, 188, 157, 33, 66, 236, 87, 53, 58, 150, 244, 151, 96, 153, 129, 183, 249, 19, 244, 68, 240, 189, 129, 69, 176, 131, 1, 130, 202, 51, 203, 247, 136, 124, 73, 112, 218, 42, 208, 205, 32, 211, 165},
+{85, 18, 2, 90, 28, 39, 215, 223, 134, 26, 46, 90, 67, 22, 196, 103, 200, 216, 116, 153, 245, 133, 223, 234, 114, 93, 154, 22, 198, 37, 112, 226, 144, 68, 133, 248, 237, 208, 110, 241, 86, 55, 122, 10, 18, 135, 0, 205, 21, 247, 68, 133, 254, 29, 249, 45, 160, 104, 128, 211, 144, 34, 214, 88, 39, 204, 78, 102, 126, 68, 125, 179, 159, 240, 248, 43, 205, 151, 201, 88, 185, 23, 77, 79, 35, 59, 202, 99, 162, 91, 163, 71, 18, 61, 192, 176, 116, 130, 176, 233, 93, 131, 181, 105, 19, 157, 101, 255, 175, 154, 56, 170, 191, 25, 148, 157, 208, 56, 224, 233, 75, 74, 222, 45, 14, 23, 35, 10},
+{120, 138, 27, 68, 72, 226, 103, 200, 194, 15, 95, 104, 56, 184, 131, 217, 61, 66, 16, 85, 156, 254, 40, 234, 218, 136, 100, 143, 193, 202, 96, 236, 82, 144, 12, 205, 15, 237, 166, 220, 116, 152, 225, 237, 187, 177, 89, 203, 44, 179, 227, 224, 51, 185, 56, 169, 63, 6, 201, 111, 234, 247, 209, 151, 110, 182, 237, 110, 182, 10, 136, 183, 26, 151, 59, 144, 153, 99, 14, 84, 33, 189, 192, 96, 216, 119, 164, 70, 97, 138, 223, 23, 147, 203, 72, 91, 107, 49, 52, 231, 174, 49, 124, 246, 111, 193, 176, 181, 144, 179, 2, 69, 137, 64, 163, 238, 106, 156, 236, 93, 228, 142, 174, 4, 62, 123, 113, 200},
+{41, 38, 90, 28, 71, 175, 203, 255, 122, 95, 140, 5, 21, 82, 253, 10, 90, 138, 135, 233, 242, 65, 28, 164, 43, 209, 85, 227, 185, 65, 10, 32, 168, 75, 74, 74, 137, 105, 17, 241, 208, 26, 26, 43, 141, 134, 0, 89, 243, 99, 62, 57, 175, 101, 193, 102, 76, 132, 250, 162, 129, 230, 70, 186, 99, 152, 51, 219, 209, 51, 162, 223, 149, 195, 100, 9, 21, 172, 232, 7, 156, 229, 155, 180, 67, 65, 219, 168, 48, 236, 169, 167, 165, 206, 55, 163, 246, 182, 240, 35, 187, 56, 109, 234, 203, 116, 49, 42, 1, 182, 226, 72, 65, 10, 58, 179, 236, 205, 234, 249, 94, 246, 176, 204, 203, 103, 227, 174},
+{168, 228, 175, 156, 220, 19, 191, 193, 36, 44, 222, 251, 235, 227, 235, 192, 55, 131, 42, 160, 171, 43, 89, 107, 107, 10, 7, 9, 246, 226, 150, 11, 55, 191, 239, 52, 207, 208, 7, 70, 51, 183, 246, 72, 223, 159, 112, 240, 252, 8, 226, 168, 110, 136, 82, 104, 210, 202, 33, 82, 233, 122, 65, 227, 49, 156, 139, 246, 230, 172, 128, 214, 242, 215, 217, 62, 148, 173, 102, 209, 154, 247, 174, 1, 202, 193, 136, 75, 103, 164, 146, 153, 126, 29, 74, 33, 108, 116, 105, 29, 243, 201, 148, 33, 76, 131, 207, 197, 250, 187, 63, 223, 59, 25, 247, 6, 148, 114, 224, 178, 129, 149, 153, 130, 12, 38, 123, 111},
+{173, 101, 43, 52, 78, 72, 196, 9, 234, 142, 204, 201, 169, 112, 116, 98, 96, 198, 91, 9, 71, 161, 176, 21, 169, 228, 189, 113, 109, 241, 152, 74, 222, 37, 125, 136, 26, 128, 145, 204, 52, 191, 25, 27, 92, 140, 178, 177, 241, 222, 187, 157, 112, 21, 62, 90, 92, 160, 233, 189, 221, 60, 55, 91, 40, 135, 56, 31, 112, 240, 212, 88, 76, 165, 122, 99, 50, 54, 238, 156, 203, 172, 11, 183, 128, 85, 231, 37, 128, 21, 63, 208, 208, 110, 9, 251, 192, 214, 229, 235, 72, 36, 19, 185, 190, 200, 82, 131, 153, 105, 136, 112, 4, 165, 37, 173, 48, 2, 105, 222, 104, 112, 216, 30, 222, 79, 119, 30},
+{56, 240, 172, 30, 206, 144, 94, 183, 31, 252, 19, 93, 249, 166, 44, 30, 24, 122, 118, 74, 193, 220, 245, 197, 220, 142, 39, 14, 44, 1, 146, 215, 112, 122, 153, 92, 191, 207, 170, 234, 248, 238, 70, 180, 181, 60, 141, 0, 241, 5, 152, 126, 143, 0, 194, 83, 81, 197, 7, 195, 44, 193, 103, 6, 191, 107, 80, 128, 78, 116, 179, 90, 219, 226, 179, 30, 255, 177, 139, 228, 17, 118, 126, 173, 26, 79, 5, 64, 136, 58, 209, 192, 189, 197, 73, 96, 12, 18, 247, 166, 56, 170, 105, 171, 140, 222, 226, 242, 105, 82, 184, 194, 205, 71, 66, 49, 49, 93, 142, 75, 181, 24, 53, 56, 186, 50, 72, 133},
+{22, 42, 169, 150, 27, 227, 81, 155, 81, 28, 156, 126, 249, 31, 193, 89, 42, 72, 126, 194, 218, 236, 15, 179, 105, 211, 229, 36, 62, 236, 16, 223, 254, 189, 134, 31, 13, 150, 125, 8, 47, 74, 193, 134, 33, 15, 65, 12, 209, 17, 92, 151, 241, 32, 17, 23, 228, 245, 63, 118, 219, 146, 130, 197, 26, 218, 142, 144, 53, 54, 115, 33, 160, 39, 175, 219, 88, 208, 217, 224, 0, 79, 155, 49, 145, 43, 111, 57, 90, 217, 139, 13, 147, 224, 212, 90, 73, 231, 15, 77, 63, 231, 131, 24, 34, 100, 28, 103, 46, 5, 161, 18, 202, 164, 220, 183, 121, 29, 158, 100, 183, 243, 171, 49, 120, 179, 174, 202},
+{125, 80, 153, 253, 89, 168, 156, 127, 107, 219, 145, 139, 242, 231, 173, 211, 99, 220, 75, 175, 65, 45, 8, 222, 210, 138, 95, 160, 22, 252, 114, 90, 223, 0, 226, 220, 115, 199, 103, 39, 132, 120, 93, 104, 193, 13, 1, 242, 100, 99, 4, 97, 198, 163, 67, 198, 214, 169, 64, 47, 99, 60, 188, 213, 74, 248, 113, 28, 203, 51, 94, 67, 85, 53, 172, 55, 137, 70, 179, 220, 47, 50, 24, 105, 101, 70, 254, 199, 241, 185, 93, 162, 114, 80, 20, 44, 67, 118, 170, 59, 115, 152, 101, 243, 252, 65, 61, 7, 171, 165, 151, 189, 238, 8, 235, 132, 237, 141, 68, 209, 74, 92, 89, 224, 142, 54, 138, 165},
+{18, 82, 148, 158, 237, 65, 65, 240, 98, 22, 130, 248, 56, 78, 76, 129, 123, 112, 14, 206, 201, 243, 171, 126, 58, 103, 212, 124, 68, 70, 249, 23, 20, 100, 166, 205, 201, 198, 46, 97, 114, 18, 191, 120, 52, 94, 162, 223, 95, 10, 168, 185, 185, 48, 127, 145, 20, 101, 202, 9, 158, 111, 170, 118, 66, 170, 131, 70, 160, 186, 211, 99, 221, 255, 46, 14, 158, 26, 201, 135, 156, 149, 97, 162, 132, 243, 214, 75, 224, 202, 133, 237, 149, 151, 217, 194, 122, 182, 123, 100, 210, 122, 220, 241, 100, 108, 45, 185, 183, 35, 179, 137, 224, 3, 188, 177, 235, 132, 17, 62, 253, 54, 5, 194, 134, 15, 249, 129},
+{150, 107, 230, 146, 232, 85, 3, 57, 184, 99, 191, 66, 44, 152, 244, 252, 75, 81, 133, 34, 231, 246, 31, 62, 25, 36, 180, 152, 108, 191, 69, 0, 101, 233, 197, 17, 109, 72, 3, 56, 35, 113, 102, 20, 5, 81, 54, 142, 20, 165, 179, 117, 181, 170, 80, 189, 211, 254, 233, 228, 189, 76, 175, 44, 252, 233, 0, 65, 215, 182, 62, 124, 38, 74, 30, 62, 92, 197, 241, 133, 0, 201, 134, 62, 191, 245, 129, 227, 68, 28, 139, 160, 83, 231, 174, 29, 133, 205, 129, 22, 65, 102, 50, 164, 75, 226, 137, 160, 8, 110, 88, 140, 228, 176, 7, 178, 245, 170, 103, 211, 39, 132, 85, 171, 246, 167, 16, 43},
+{177, 64, 41, 23, 125, 21, 249, 43, 26, 213, 222, 211, 51, 10, 62, 105, 63, 115, 198, 199, 45, 100, 87, 107, 228, 176, 244, 166, 190, 180, 177, 40, 183, 192, 82, 32, 37, 66, 188, 243, 247, 139, 11, 38, 162, 144, 227, 249, 188, 33, 41, 71, 78, 86, 85, 80, 57, 59, 198, 162, 216, 251, 77, 124, 207, 11, 6, 211, 210, 25, 29, 53, 251, 163, 124, 144, 207, 219, 107, 163, 178, 168, 217, 202, 108, 168, 133, 203, 24, 114, 163, 97, 201, 133, 41, 1, 57, 2, 128, 108, 43, 189, 52, 156, 223, 168, 148, 184, 251, 3, 176, 37, 111, 191, 7, 196, 18, 24, 225, 234, 32, 209, 108, 131, 248, 217, 91, 210},
+{96, 101, 23, 46, 116, 47, 125, 165, 57, 162, 114, 249, 171, 86, 185, 79, 154, 91, 176, 228, 120, 119, 108, 189, 209, 143, 222, 112, 207, 102, 10, 173, 171, 27, 12, 65, 120, 137, 185, 200, 250, 200, 34, 113, 208, 47, 225, 96, 230, 197, 19, 198, 28, 204, 239, 78, 165, 86, 116, 193, 140, 10, 138, 15, 2, 151, 76, 1, 49, 47, 244, 1, 212, 131, 220, 84, 235, 122, 205, 180, 217, 105, 67, 163, 99, 66, 124, 125, 38, 253, 27, 101, 176, 45, 58, 157, 39, 114, 27, 158, 73, 184, 195, 98, 148, 172, 16, 217, 89, 80, 235, 70, 3, 89, 211, 234, 210, 10, 69, 247, 134, 55, 155, 217, 137, 117, 71, 167},
+{168, 123, 218, 19, 27, 108, 6, 164, 166, 57, 62, 75, 45, 244, 163, 60, 237, 27, 93, 32, 112, 230, 237, 30, 49, 96, 142, 246, 81, 158, 141, 203, 63, 95, 47, 205, 217, 101, 219, 144, 135, 191, 189, 122, 134, 250, 221, 231, 15, 171, 220, 254, 26, 132, 144, 152, 180, 181, 223, 230, 215, 151, 168, 61, 135, 5, 246, 4, 16, 34, 136, 33, 114, 140, 67, 160, 151, 207, 79, 194, 147, 147, 203, 191, 144, 38, 124, 86, 71, 169, 182, 108, 17, 21, 80, 62, 139, 155, 108, 107, 225, 159, 102, 93, 156, 56, 248, 186, 238, 126, 34, 220, 107, 99, 42, 64, 42, 209, 159, 213, 91, 232, 88, 233, 87, 208, 251, 208},
+{44, 130, 179, 225, 193, 124, 49, 243, 147, 83, 107, 230, 3, 215, 131, 126, 114, 146, 137, 87, 206, 52, 134, 146, 231, 229, 97, 63, 104, 54, 239, 77, 166, 54, 55, 177, 88, 14, 122, 38, 98, 10, 105, 4, 93, 152, 233, 170, 19, 230, 66, 79, 75, 200, 235, 127, 143, 208, 20, 124, 185, 131, 10, 215, 175, 251, 78, 238, 27, 116, 250, 4, 250, 12, 32, 25, 233, 172, 231, 224, 56, 102, 26, 98, 236, 182, 156, 25, 246, 158, 141, 211, 23, 101, 158, 177, 197, 248, 67, 156, 29, 127, 134, 23, 230, 188, 166, 245, 123, 40, 112, 102, 171, 117, 146, 230, 144, 88, 35, 183, 78, 7, 60, 149, 103, 10, 117, 166},
+{58, 71, 69, 230, 77, 73, 203, 94, 169, 108, 65, 118, 36, 89, 59, 223, 9, 156, 54, 185, 210, 222, 222, 18, 142, 37, 218, 244, 76, 213, 37, 84, 175, 145, 81, 11, 15, 152, 209, 169, 14, 22, 11, 138, 163, 106, 120, 145, 42, 209, 50, 34, 212, 182, 1, 247, 17, 86, 84, 59, 127, 81, 87, 155, 163, 159, 146, 99, 166, 234, 245, 111, 31, 9, 244, 188, 160, 162, 141, 97, 29, 108, 216, 35, 24, 39, 138, 215, 154, 73, 43, 206, 93, 81, 124, 144, 38, 86, 9, 66, 236, 106, 92, 201, 107, 174, 190, 96, 60, 203, 34, 145, 205, 38, 219, 17, 49, 89, 252, 97, 174, 244, 59, 182, 90, 83, 215, 72},
+{149, 184, 250, 137, 175, 244, 210, 110, 251, 48, 233, 218, 17, 150, 200, 46, 9, 78, 102, 118, 130, 165, 160, 98, 28, 158, 42, 157, 195, 61, 4, 134, 134, 197, 20, 56, 186, 26, 99, 125, 148, 121, 74, 172, 172, 107, 106, 213, 170, 250, 10, 214, 182, 153, 238, 193, 191, 187, 42, 28, 191, 195, 249, 148, 94, 189, 216, 215, 146, 0, 201, 12, 21, 215, 226, 215, 240, 54, 227, 9, 252, 72, 87, 12, 167, 203, 196, 105, 66, 35, 127, 248, 21, 178, 184, 195, 20, 233, 237, 82, 163, 81, 40, 49, 80, 226, 65, 151, 69, 40, 14, 50, 168, 67, 4, 134, 76, 239, 67, 43, 120, 51, 152, 161, 252, 73, 20, 247},
+{62, 253, 244, 37, 254, 170, 120, 198, 74, 23, 35, 106, 166, 218, 134, 181, 132, 240, 28, 124, 201, 94, 134, 224, 105, 150, 185, 244, 76, 231, 110, 183, 28, 35, 114, 132, 186, 68, 152, 128, 143, 202, 235, 74, 73, 175, 89, 50, 235, 65, 67, 192, 89, 239, 130, 56, 234, 209, 203, 41, 47, 35, 61, 201, 52, 251, 54, 178, 15, 41, 114, 202, 249, 94, 2, 3, 31, 198, 199, 38, 173, 231, 96, 39, 41, 183, 35, 6, 145, 8, 195, 73, 117, 169, 30, 141, 78, 240, 56, 8, 23, 167, 62, 124, 231, 155, 235, 171, 67, 228, 59, 229, 230, 42, 238, 122, 233, 62, 249, 169, 188, 0, 131, 68, 129, 200, 90, 184},
+{161, 131, 13, 119, 157, 170, 36, 255, 171, 141, 208, 22, 185, 158, 151, 48, 118, 37, 245, 37, 183, 189, 34, 53, 182, 68, 37, 70, 114, 68, 235, 97, 43, 191, 86, 51, 34, 193, 41, 234, 168, 32, 205, 118, 229, 242, 52, 248, 212, 242, 241, 175, 31, 85, 188, 182, 116, 201, 102, 49, 208, 99, 8, 117, 73, 229, 225, 106, 20, 42, 175, 16, 219, 161, 118, 113, 199, 90, 29, 74, 96, 88, 104, 30, 47, 58, 36, 141, 134, 135, 246, 114, 64, 51, 24, 206, 90, 192, 164, 129, 152, 173, 124, 80, 151, 84, 246, 85, 197, 75, 53, 43, 125, 74, 215, 249, 197, 142, 0, 132, 209, 95, 234, 51, 149, 131, 115, 156},
+{20, 206, 141, 242, 231, 36, 102, 217, 33, 81, 142, 99, 245, 219, 191, 133, 26, 142, 101, 43, 135, 186, 210, 119, 194, 82, 9, 236, 134, 190, 202, 116, 76, 203, 139, 22, 177, 146, 97, 91, 22, 123, 126, 184, 223, 172, 34, 127, 28, 219, 219, 241, 178, 10, 18, 59, 150, 57, 123, 77, 8, 101, 132, 137, 131, 19, 212, 221, 253, 149, 187, 189, 80, 59, 181, 77, 193, 92, 244, 142, 248, 12, 9, 52, 188, 149, 40, 129, 212, 1, 226, 102, 75, 149, 91, 243, 34, 238, 99, 1, 202, 62, 41, 43, 6, 243, 6, 37, 220, 63, 161, 43, 255, 128, 110, 141, 74, 55, 117, 119, 131, 239, 68, 125, 252, 202, 2, 32},
+{152, 117, 113, 92, 175, 28, 48, 157, 250, 185, 182, 4, 28, 66, 41, 105, 113, 144, 131, 180, 120, 88, 155, 169, 37, 116, 252, 38, 130, 252, 238, 60, 147, 67, 246, 42, 137, 205, 210, 84, 252, 115, 229, 233, 167, 11, 41, 17, 152, 240, 46, 131, 240, 247, 18, 147, 26, 57, 252, 56, 88, 104, 123, 243, 58, 206, 201, 5, 15, 158, 230, 186, 192, 100, 182, 254, 51, 161, 184, 45, 43, 74, 59, 153, 191, 254, 107, 87, 166, 21, 157, 150, 247, 56, 74, 227, 103, 207, 79, 37, 179, 236, 136, 255, 45, 218, 227, 100, 119, 184, 115, 27, 206, 12, 227, 100, 61, 160, 35, 149, 234, 166, 215, 247, 42, 140, 51, 211},
+{126, 148, 49, 134, 204, 232, 143, 81, 203, 245, 245, 187, 58, 153, 154, 169, 32, 135, 243, 159, 81, 191, 233, 62, 157, 24, 144, 7, 52, 35, 105, 212, 134, 179, 166, 137, 232, 115, 6, 127, 169, 71, 182, 215, 208, 135, 27, 114, 90, 178, 53, 209, 225, 221, 190, 179, 84, 230, 216, 215, 139, 13, 36, 113, 89, 41, 214, 201, 250, 174, 72, 56, 180, 90, 125, 58, 95, 81, 7, 48, 77, 234, 44, 116, 250, 222, 127, 26, 49, 58, 146, 72, 242, 174, 194, 27, 255, 232, 224, 208, 22, 48, 99, 35, 52, 147, 64, 34, 2, 191, 112, 203, 153, 58, 41, 118, 127, 153, 30, 236, 43, 247, 59, 62, 73, 71, 97, 83},
+{205, 178, 226, 227, 79, 31, 222, 154, 168, 33, 30, 204, 155, 4, 205, 63, 136, 126, 204, 160, 14, 83, 6, 211, 47, 90, 140, 149, 201, 134, 151, 28, 129, 187, 237, 141, 53, 147, 211, 39, 151, 47, 34, 1, 10, 124, 12, 245, 48, 44, 181, 223, 231, 135, 209, 238, 208, 18, 174, 172, 0, 184, 46, 20, 184, 233, 167, 199, 78, 26, 196, 144, 164, 67, 143, 69, 1, 169, 184, 220, 59, 232, 129, 81, 84, 190, 236, 132, 32, 178, 129, 218, 86, 6, 49, 248, 93, 119, 239, 98, 108, 142, 242, 114, 219, 142, 253, 16, 49, 251, 200, 108, 79, 112, 180, 245, 113, 162, 173, 248, 150, 246, 2, 148, 56, 214, 205, 27},
+{28, 128, 220, 166, 59, 177, 133, 31, 74, 123, 252, 20, 166, 137, 35, 173, 230, 108, 75, 124, 12, 110, 89, 216, 61, 166, 159, 29, 195, 109, 168, 154, 171, 5, 24, 246, 229, 203, 234, 42, 116, 190, 33, 230, 191, 36, 36, 29, 203, 75, 216, 65, 210, 168, 34, 245, 29, 182, 229, 133, 167, 188, 248, 119, 46, 249, 131, 197, 211, 33, 218, 190, 3, 226, 198, 251, 78, 150, 244, 147, 134, 137, 4, 241, 59, 217, 32, 165, 64, 234, 243, 75, 157, 86, 52, 1, 192, 176, 185, 173, 89, 45, 188, 236, 75, 170, 156, 85, 100, 248, 217, 21, 205, 33, 192, 192, 196, 91, 95, 229, 90, 253, 33, 154, 65, 81, 85, 129},
+{6, 107, 169, 137, 144, 131, 11, 236, 72, 3, 173, 108, 22, 14, 143, 6, 187, 204, 30, 96, 67, 18, 236, 3, 244, 4, 164, 172, 57, 100, 253, 178, 32, 33, 255, 139, 47, 161, 61, 42, 193, 15, 10, 34, 203, 44, 94, 56, 245, 62, 53, 106, 143, 168, 248, 173, 218, 68, 100, 122, 255, 222, 229, 62, 165, 66, 184, 94, 126, 67, 100, 185, 219, 156, 249, 253, 93, 57, 217, 144, 123, 30, 228, 173, 200, 185, 117, 116, 44, 57, 48, 108, 38, 39, 238, 56, 82, 234, 19, 149, 205, 215, 5, 11, 120, 250, 213, 51, 54, 179, 18, 160, 50, 9, 112, 55, 30, 255, 102, 233, 213, 185, 223, 233, 63, 252, 124, 248},
+{36, 136, 52, 113, 116, 153, 161, 217, 168, 184, 48, 246, 118, 229, 177, 14, 122, 165, 226, 244, 231, 1, 172, 162, 168, 246, 190, 216, 242, 169, 78, 214, 83, 229, 248, 45, 164, 155, 197, 75, 2, 87, 107, 121, 142, 167, 128, 200, 147, 187, 129, 135, 77, 109, 138, 230, 129, 140, 99, 231, 36, 6, 102, 73, 203, 16, 158, 156, 209, 178, 87, 218, 46, 172, 8, 114, 69, 19, 77, 175, 8, 5, 94, 29, 219, 202, 175, 100, 51, 242, 151, 220, 137, 71, 157, 169, 219, 230, 232, 105, 40, 175, 13, 29, 70, 43, 90, 116, 8, 131, 117, 172, 32, 149, 19, 236, 93, 194, 144, 128, 157, 204, 12, 244, 205, 117, 173, 128},
+{93, 78, 78, 141, 95, 127, 175, 39, 53, 183, 185, 36, 16, 134, 131, 99, 96, 120, 98, 79, 97, 246, 236, 231, 117, 94, 171, 79, 226, 203, 119, 161, 140, 252, 251, 65, 216, 130, 73, 240, 68, 177, 14, 186, 254, 207, 204, 237, 252, 1, 176, 185, 167, 165, 17, 25, 29, 32, 36, 93, 144, 0, 215, 3, 71, 137, 101, 18, 62, 77, 123, 195, 82, 62, 54, 104, 99, 18, 58, 1, 113, 55, 140, 26, 159, 42, 228, 95, 127, 206, 233, 63, 112, 192, 189, 116, 78, 18, 51, 218, 130, 121, 142, 255, 216, 32, 153, 149, 29, 55, 91, 41, 199, 58, 92, 172, 181, 197, 225, 179, 166, 174, 110, 16, 232, 204, 125, 161},
+{70, 217, 58, 196, 69, 137, 85, 129, 143, 239, 21, 232, 172, 26, 184, 219, 35, 70, 241, 161, 254, 61, 194, 134, 3, 26, 181, 185, 132, 84, 71, 153, 249, 125, 150, 111, 91, 191, 41, 215, 71, 110, 7, 67, 221, 128, 174, 77, 167, 146, 37, 60, 205, 184, 42, 29, 227, 12, 95, 17, 123, 148, 160, 53, 7, 72, 54, 100, 14, 74, 93, 161, 47, 138, 103, 188, 88, 88, 240, 106, 222, 110, 29, 243, 70, 204, 102, 232, 179, 185, 41, 36, 170, 13, 99, 230, 99, 12, 80, 175, 222, 170, 209, 132, 243, 132, 78, 65, 27, 80, 38, 174, 49, 153, 55, 99, 20, 249, 185, 81, 232, 63, 144, 137, 159, 220, 194, 253},
+{193, 24, 119, 62, 42, 112, 180, 252, 8, 124, 158, 155, 13, 137, 75, 124, 41, 170, 187, 106, 112, 110, 228, 167, 222, 160, 204, 41, 178, 212, 107, 146, 117, 78, 193, 150, 200, 54, 223, 203, 231, 113, 204, 248, 112, 37, 134, 251, 149, 186, 71, 49, 165, 55, 168, 192, 108, 207, 40, 132, 86, 37, 198, 99, 136, 95, 116, 141, 23, 1, 214, 215, 121, 118, 55, 27, 182, 221, 174, 141, 239, 227, 229, 41, 163, 130, 211, 178, 123, 132, 80, 96, 2, 45, 53, 72, 205, 187, 66, 15, 212, 94, 250, 160, 114, 50, 177, 170, 40, 119, 23, 38, 103, 147, 112, 147, 21, 115, 215, 106, 249, 129, 213, 184, 242, 184, 245, 188},
+{162, 156, 247, 37, 176, 182, 143, 137, 141, 171, 91, 142, 248, 5, 140, 50, 50, 236, 115, 30, 109, 103, 130, 69, 26, 233, 236, 255, 187, 191, 203, 184, 48, 145, 104, 167, 164, 72, 139, 72, 86, 5, 185, 119, 135, 140, 128, 79, 160, 143, 242, 85, 96, 142, 107, 161, 166, 184, 19, 3, 61, 140, 211, 216, 100, 243, 58, 115, 88, 150, 2, 12, 88, 23, 21, 57, 4, 199, 229, 221, 50, 126, 6, 193, 186, 184, 70, 151, 14, 59, 235, 21, 157, 37, 206, 169, 78, 107, 213, 106, 89, 217, 196, 83, 133, 85, 24, 237, 137, 94, 55, 219, 179, 76, 173, 148, 30, 7, 145, 129, 230, 102, 19, 216, 54, 29, 72, 12},
+{41, 31, 154, 145, 64, 136, 144, 176, 10, 90, 203, 10, 48, 250, 100, 28, 180, 222, 133, 12, 53, 56, 236, 21, 36, 252, 15, 236, 194, 83, 174, 5, 198, 152, 39, 72, 244, 66, 241, 17, 93, 89, 177, 89, 135, 125, 7, 187, 224, 40, 104, 73, 48, 207, 98, 219, 183, 246, 169, 108, 169, 0, 191, 138, 190, 185, 200, 12, 61, 22, 63, 211, 239, 16, 130, 101, 210, 119, 86, 3, 137, 2, 183, 90, 215, 90, 211, 2, 76, 140, 234, 230, 226, 211, 39, 114, 218, 201, 131, 110, 74, 61, 20, 192, 138, 127, 232, 37, 119, 56, 86, 69, 89, 123, 253, 112, 75, 61, 119, 114, 52, 164, 234, 179, 56, 43, 224, 247},
+{20, 118, 36, 86, 116, 139, 26, 238, 124, 205, 112, 196, 254, 154, 98, 196, 44, 140, 206, 80, 225, 255, 64, 111, 1, 89, 13, 164, 198, 113, 107, 19, 183, 179, 176, 56, 65, 11, 117, 248, 166, 193, 191, 253, 95, 118, 229, 30, 141, 236, 128, 87, 174, 76, 233, 117, 96, 226, 64, 34, 63, 73, 3, 1, 245, 141, 78, 45, 79, 93, 24, 171, 144, 161, 72, 229, 116, 223, 253, 223, 50, 143, 140, 227, 21, 204, 180, 33, 21, 77, 155, 33, 37, 180, 96, 40, 130, 153, 15, 158, 121, 180, 196, 78, 124, 22, 1, 183, 213, 239, 76, 20, 15, 109, 164, 72, 250, 54, 163, 197, 94, 199, 48, 183, 226, 83, 134, 246},
+{133, 79, 14, 97, 97, 216, 129, 194, 3, 93, 45, 82, 119, 75, 194, 82, 227, 100, 154, 36, 163, 176, 64, 80, 186, 125, 36, 135, 59, 178, 120, 128, 188, 102, 34, 226, 212, 221, 16, 129, 179, 91, 0, 79, 248, 20, 5, 89, 118, 75, 25, 161, 87, 139, 162, 18, 110, 89, 218, 47, 89, 91, 142, 84, 239, 103, 156, 254, 149, 125, 112, 9, 10, 93, 193, 123, 185, 102, 6, 24, 154, 175, 2, 205, 68, 42, 191, 249, 129, 161, 202, 201, 198, 67, 199, 19, 115, 41, 104, 145, 81, 49, 67, 247, 163, 11, 242, 244, 249, 225, 12, 25, 252, 144, 68, 55, 246, 80, 69, 159, 138, 56, 32, 7, 52, 204, 78, 196},
+{146, 46, 130, 71, 158, 118, 134, 108, 246, 238, 240, 214, 11, 16, 38, 126, 216, 169, 86, 126, 254, 37, 11, 205, 63, 175, 167, 204, 229, 7, 246, 143, 112, 65, 162, 139, 8, 126, 146, 134, 242, 123, 69, 1, 174, 230, 46, 237, 245, 218, 121, 37, 139, 92, 5, 177, 240, 67, 46, 198, 150, 154, 78, 84, 143, 12, 48, 108, 166, 143, 138, 244, 159, 65, 145, 43, 67, 99, 45, 51, 104, 168, 105, 85, 120, 95, 135, 121, 103, 26, 199, 10, 55, 128, 138, 54, 76, 7, 26, 111, 231, 98, 19, 243, 105, 99, 177, 102, 207, 123, 43, 204, 7, 246, 194, 131, 85, 2, 152, 191, 79, 65, 109, 133, 247, 213, 11, 63},
+{72, 134, 246, 154, 192, 82, 240, 245, 232, 252, 210, 253, 138, 193, 26, 246, 191, 158, 226, 130, 59, 213, 184, 59, 92, 74, 171, 34, 230, 145, 188, 187, 45, 118, 151, 30, 126, 238, 145, 254, 111, 169, 143, 87, 218, 65, 39, 35, 188, 156, 249, 110, 141, 216, 200, 150, 160, 224, 148, 3, 15, 185, 161, 162, 32, 208, 156, 239, 248, 172, 169, 119, 132, 250, 137, 7, 86, 15, 67, 31, 10, 17, 174, 67, 5, 41, 241, 170, 7, 93, 31, 195, 22, 34, 108, 147, 211, 30, 160, 3, 214, 48, 162, 23, 181, 24, 87, 149, 84, 204, 234, 58, 137, 167, 104, 167, 37, 237, 149, 83, 69, 116, 65, 210, 199, 106, 106, 98},
+{163, 10, 241, 238, 38, 35, 69, 51, 23, 174, 32, 190, 183, 66, 77, 62, 70, 93, 129, 252, 201, 42, 227, 175, 169, 168, 160, 33, 127, 108, 119, 170, 5, 214, 198, 72, 230, 212, 212, 149, 11, 67, 103, 162, 197, 48, 154, 14, 62, 152, 232, 216, 196, 250, 216, 171, 87, 31, 70, 206, 252, 159, 157, 106, 222, 106, 111, 192, 74, 229, 91, 215, 72, 225, 172, 76, 176, 104, 112, 214, 2, 41, 175, 12, 36, 105, 144, 156, 25, 222, 135, 16, 30, 207, 179, 32, 80, 177, 127, 134, 102, 88, 246, 60, 31, 14, 193, 142, 90, 245, 243, 253, 238, 15, 39, 101, 202, 108, 243, 72, 138, 100, 125, 144, 155, 1, 232, 148},
+{10, 106, 7, 160, 119, 13, 246, 221, 183, 88, 17, 122, 9, 102, 194, 146, 62, 64, 157, 110, 198, 112, 183, 209, 199, 63, 108, 115, 246, 62, 199, 114, 223, 180, 145, 241, 188, 159, 15, 186, 2, 29, 73, 142, 31, 63, 229, 251, 234, 159, 229, 78, 117, 216, 233, 245, 115, 182, 228, 8, 189, 105, 37, 94, 170, 69, 157, 48, 65, 136, 166, 37, 143, 114, 40, 92, 197, 63, 59, 212, 125, 117, 126, 130, 220, 194, 173, 104, 23, 227, 12, 3, 120, 110, 127, 169, 100, 178, 204, 25, 221, 87, 123, 107, 168, 66, 92, 177, 205, 240, 20, 78, 204, 134, 239, 49, 19, 158, 219, 17, 243, 252, 22, 213, 91, 201, 48, 240},
+{23, 187, 224, 19, 67, 217, 154, 87, 120, 171, 47, 237, 176, 35, 231, 167, 34, 53, 87, 21, 218, 111, 24, 115, 251, 244, 69, 5, 146, 231, 83, 58, 86, 189, 161, 239, 206, 87, 231, 35, 158, 160, 123, 244, 211, 237, 199, 3, 162, 141, 7, 185, 107, 215, 250, 44, 161, 130, 20, 191, 58, 138, 198, 181, 89, 176, 91, 162, 80, 87, 78, 88, 8, 101, 89, 93, 145, 219, 136, 246, 230, 206, 48, 122, 234, 219, 147, 172, 68, 167, 182, 108, 149, 200, 142, 156, 6, 65, 126, 28, 59, 170, 181, 240, 105, 246, 50, 110, 31, 178, 84, 71, 160, 67, 111, 168, 190, 74, 193, 218, 81, 237, 212, 72, 240, 173, 134, 65},
+{48, 232, 215, 174, 28, 226, 214, 71, 8, 213, 82, 74, 156, 60, 156, 51, 95, 46, 27, 174, 147, 181, 173, 186, 178, 32, 224, 37, 77, 14, 143, 39, 252, 60, 18, 39, 185, 133, 20, 92, 134, 90, 172, 147, 73, 81, 195, 115, 135, 106, 75, 155, 176, 73, 0, 82, 212, 107, 135, 10, 119, 71, 254, 141, 178, 153, 36, 88, 79, 151, 230, 86, 77, 18, 22, 253, 174, 80, 163, 85, 64, 64, 10, 121, 19, 229, 20, 157, 133, 234, 178, 60, 178, 61, 176, 233, 121, 110, 206, 161, 178, 83, 163, 138, 139, 28, 99, 242, 111, 21, 233, 241, 173, 47, 242, 114, 144, 64, 167, 198, 64, 158, 61, 80, 105, 195, 106, 28},
+{149, 210, 197, 94, 137, 126, 210, 101, 32, 48, 3, 175, 191, 20, 123, 118, 220, 66, 100, 66, 118, 183, 152, 9, 48, 40, 189, 185, 89, 191, 132, 237, 233, 234, 200, 57, 220, 3, 54, 244, 9, 137, 238, 212, 170, 205, 28, 8, 64, 32, 58, 255, 170, 182, 51, 252, 150, 200, 137, 226, 212, 201, 72, 1, 208, 14, 186, 25, 227, 46, 84, 91, 208, 205, 214, 120, 218, 38, 77, 102, 78, 18, 51, 60, 86, 11, 142, 172, 194, 224, 147, 110, 144, 86, 241, 172, 43, 159, 120, 106, 89, 140, 173, 54, 158, 36, 92, 168, 179, 147, 62, 136, 78, 125, 193, 80, 237, 71, 25, 79, 153, 62, 215, 169, 14, 213, 20, 178},
+{197, 128, 169, 141, 23, 157, 110, 203, 113, 69, 252, 212, 156, 122, 157, 25, 166, 137, 133, 156, 56, 62, 253, 11, 193, 113, 38, 227, 222, 13, 66, 191, 91, 253, 79, 219, 233, 153, 65, 17, 9, 171, 188, 111, 216, 13, 78, 47, 210, 194, 56, 242, 53, 37, 55, 213, 186, 122, 154, 242, 112, 234, 67, 41, 45, 15, 60, 156, 15, 29, 178, 194, 58, 56, 18, 130, 238, 250, 167, 128, 61, 222, 223, 188, 81, 203, 19, 114, 240, 209, 143, 137, 115, 13, 36, 118, 215, 189, 2, 24, 1, 182, 189, 11, 58, 133, 52, 100, 43, 127, 154, 65, 103, 131, 118, 53, 22, 216, 34, 141, 34, 163, 135, 115, 108, 87, 164, 226},
+{61, 29, 233, 152, 44, 103, 117, 213, 214, 161, 238, 74, 50, 67, 202, 21, 135, 72, 18, 107, 214, 4, 114, 71, 137, 114, 135, 225, 226, 46, 60, 145, 242, 95, 21, 147, 83, 176, 163, 99, 74, 204, 149, 194, 130, 109, 56, 228, 11, 19, 173, 48, 134, 187, 19, 13, 206, 175, 160, 29, 201, 44, 175, 39, 113, 193, 144, 169, 186, 219, 13, 99, 121, 207, 51, 200, 120, 215, 169, 138, 155, 106, 70, 215, 122, 58, 172, 215, 250, 1, 179, 246, 124, 102, 226, 191, 198, 100, 210, 208, 79, 75, 253, 68, 30, 53, 41, 107, 145, 199, 104, 120, 65, 9, 162, 175, 47, 35, 91, 193, 163, 8, 110, 169, 34, 125, 18, 126},
+{154, 8, 212, 113, 250, 170, 128, 183, 161, 199, 141, 100, 119, 114, 51, 188, 53, 214, 51, 234, 255, 11, 152, 218, 196, 43, 98, 248, 35, 131, 55, 144, 199, 217, 151, 39, 18, 227, 230, 94, 239, 4, 241, 47, 113, 73, 148, 189, 17, 43, 57, 183, 140, 207, 80, 21, 37, 230, 77, 65, 73, 225, 233, 160, 168, 17, 16, 143, 189, 225, 208, 30, 128, 27, 192, 211, 105, 132, 29, 81, 132, 59, 129, 234, 131, 167, 179, 240, 12, 106, 129, 66, 68, 205, 74, 105, 94, 167, 2, 70, 112, 111, 10, 99, 221, 227, 238, 172, 205, 132, 24, 251, 111, 201, 242, 18, 132, 183, 136, 253, 34, 98, 68, 255, 36, 212, 16, 171},
+{84, 216, 196, 181, 229, 104, 221, 227, 203, 174, 198, 134, 18, 221, 152, 166, 58, 51, 151, 63, 109, 116, 145, 156, 17, 97, 50, 243, 18, 210, 42, 235, 132, 33, 123, 41, 165, 200, 179, 42, 31, 128, 95, 253, 106, 206, 111, 36, 254, 177, 134, 118, 229, 176, 107, 229, 222, 177, 89, 59, 54, 136, 165, 249, 68, 169, 234, 123, 240, 145, 115, 75, 106, 77, 136, 254, 236, 118, 206, 57, 206, 11, 84, 157, 225, 237, 234, 156, 207, 206, 47, 84, 91, 44, 149, 206, 223, 205, 249, 218, 78, 165, 253, 221, 251, 166, 72, 50, 254, 106, 78, 42, 9, 80, 145, 41, 83, 75, 116, 180, 186, 225, 141, 119, 17, 236, 251, 160},
+{132, 16, 245, 254, 157, 113, 164, 7, 182, 228, 144, 22, 63, 199, 139, 123, 173, 206, 107, 118, 113, 190, 174, 10, 68, 226, 103, 243, 214, 86, 153, 211, 118, 225, 45, 107, 113, 38, 5, 252, 175, 176, 214, 65, 2, 20, 26, 52, 11, 139, 46, 47, 90, 164, 128, 120, 39, 99, 164, 62, 70, 203, 130, 95, 21, 61, 194, 40, 135, 22, 227, 72, 170, 69, 240, 199, 7, 190, 103, 56, 12, 171, 171, 167, 149, 116, 40, 169, 219, 130, 221, 191, 155, 39, 253, 187, 235, 243, 235, 3, 182, 20, 82, 146, 94, 244, 151, 103, 131, 107, 98, 92, 69, 42, 42, 152, 161, 230, 157, 103, 72, 88, 244, 55, 12, 25, 248, 32},
+{192, 155, 255, 105, 11, 128, 170, 144, 111, 27, 84, 248, 168, 154, 82, 84, 251, 107, 18, 171, 122, 209, 235, 25, 209, 176, 167, 206, 145, 32, 97, 26, 67, 240, 30, 209, 108, 145, 30, 92, 127, 56, 3, 124, 73, 233, 30, 45, 240, 68, 25, 216, 217, 83, 58, 25, 52, 4, 108, 98, 251, 200, 249, 67, 216, 63, 201, 91, 84, 36, 243, 110, 69, 237, 203, 127, 33, 203, 47, 45, 4, 143, 165, 137, 209, 88, 125, 69, 189, 251, 151, 157, 96, 59, 148, 252, 57, 61, 180, 86, 244, 23, 182, 156, 126, 197, 9, 129, 33, 233, 168, 2, 92, 5, 31, 42, 211, 202, 113, 134, 91, 213, 225, 123, 141, 186, 201, 110},
+{175, 40, 38, 154, 132, 204, 118, 89, 170, 21, 164, 61, 35, 84, 15, 78, 17, 88, 113, 106, 82, 95, 15, 155, 228, 92, 56, 60, 238, 75, 130, 250, 239, 33, 91, 200, 247, 221, 68, 212, 48, 203, 240, 24, 77, 217, 173, 230, 221, 104, 184, 186, 96, 75, 210, 197, 125, 157, 137, 48, 107, 152, 108, 6, 23, 153, 113, 5, 54, 30, 112, 246, 231, 243, 159, 143, 75, 32, 236, 23, 86, 115, 191, 164, 235, 198, 212, 159, 76, 171, 67, 154, 120, 233, 223, 197, 59, 227, 86, 162, 200, 193, 218, 182, 212, 130, 213, 215, 82, 242, 61, 11, 78, 139, 174, 96, 133, 203, 126, 247, 113, 182, 166, 24, 16, 248, 108, 148},
+{139, 16, 204, 159, 194, 200, 125, 7, 28, 42, 179, 96, 121, 206, 35, 0, 160, 232, 116, 234, 121, 12, 126, 53, 48, 184, 56, 108, 95, 212, 21, 129, 13, 34, 207, 60, 192, 112, 187, 93, 196, 239, 128, 82, 206, 178, 129, 213, 1, 159, 7, 93, 150, 251, 71, 105, 124, 57, 219, 64, 208, 143, 254, 234, 76, 80, 96, 156, 30, 195, 226, 161, 122, 62, 187, 146, 219, 119, 106, 127, 65, 157, 12, 40, 254, 122, 132, 143, 180, 233, 254, 209, 74, 201, 188, 183, 82, 155, 178, 42, 219, 7, 70, 188, 107, 194, 231, 138, 94, 121, 171, 64, 17, 156, 17, 247, 149, 240, 220, 171, 168, 51, 95, 208, 130, 46, 207, 78},
+{34, 26, 32, 63, 244, 30, 221, 115, 20, 57, 210, 255, 85, 10, 175, 185, 75, 75, 111, 11, 6, 84, 20, 114, 218, 68, 208, 238, 104, 139, 60, 104, 66, 138, 118, 147, 200, 225, 23, 93, 225, 193, 96, 114, 122, 226, 141, 162, 62, 139, 28, 243, 233, 108, 89, 228, 159, 255, 61, 30, 248, 208, 17, 230, 47, 102, 147, 190, 169, 105, 249, 48, 28, 156, 100, 143, 47, 250, 208, 14, 102, 159, 111, 201, 228, 115, 52, 77, 211, 53, 197, 29, 24, 180, 106, 138, 111, 14, 92, 47, 111, 60, 0, 98, 4, 93, 176, 118, 70, 247, 202, 90, 88, 196, 206, 118, 144, 17, 31, 82, 65, 142, 26, 44, 143, 105, 92, 19},
+{69, 137, 231, 169, 42, 168, 209, 114, 155, 228, 122, 100, 182, 246, 176, 205, 255, 39, 176, 222, 144, 183, 11, 136, 175, 192, 141, 111, 195, 0, 53, 181, 213, 184, 124, 114, 211, 255, 223, 69, 122, 179, 166, 176, 50, 39, 15, 192, 19, 17, 0, 231, 193, 17, 143, 22, 33, 71, 120, 76, 28, 93, 171, 31, 27, 109, 238, 84, 206, 105, 93, 133, 168, 34, 246, 112, 181, 188, 39, 16, 218, 127, 248, 25, 170, 24, 201, 252, 186, 228, 106, 118, 131, 235, 59, 202, 60, 141, 195, 158, 77, 143, 199, 39, 70, 11, 39, 98, 167, 85, 210, 94, 96, 208, 249, 74, 177, 103, 49, 99, 186, 39, 34, 126, 76, 117, 63, 178},
+{150, 113, 251, 234, 133, 53, 229, 244, 171, 113, 114, 231, 41, 205, 114, 104, 173, 110, 110, 34, 30, 107, 90, 58, 156, 83, 215, 117, 60, 148, 100, 117, 101, 125, 150, 72, 136, 190, 247, 155, 85, 165, 116, 20, 36, 222, 182, 1, 106, 125, 209, 198, 110, 237, 114, 188, 45, 3, 149, 58, 238, 121, 18, 154, 11, 97, 8, 201, 173, 55, 207, 160, 237, 73, 138, 28, 178, 173, 75, 142, 68, 34, 15, 204, 113, 100, 123, 102, 6, 122, 166, 113, 226, 148, 167, 90, 146, 176, 3, 180, 59, 68, 196, 203, 49, 70, 203, 177, 88, 7, 130, 85, 234, 172, 34, 38, 117, 57, 160, 56, 119, 198, 29, 153, 55, 167, 109, 33},
+{165, 74, 12, 191, 209, 18, 93, 154, 55, 148, 233, 169, 64, 27, 123, 169, 92, 87, 154, 67, 51, 215, 199, 43, 94, 106, 117, 119, 63, 138, 165, 211, 4, 49, 40, 252, 61, 221, 50, 119, 223, 159, 228, 92, 96, 116, 105, 81, 223, 84, 116, 164, 107, 127, 174, 240, 35, 165, 176, 156, 114, 41, 78, 44, 17, 90, 148, 146, 209, 214, 200, 152, 231, 146, 237, 144, 189, 131, 22, 248, 221, 23, 52, 63, 134, 22, 33, 23, 86, 10, 162, 91, 170, 129, 24, 26, 132, 192, 185, 6, 99, 112, 157, 222, 195, 16, 181, 143, 202, 139, 82, 223, 226, 149, 126, 233, 64, 167, 214, 51, 182, 168, 40, 46, 71, 226, 235, 2},
+{90, 38, 179, 7, 193, 104, 121, 209, 111, 193, 106, 49, 192, 86, 232, 178, 114, 182, 42, 57, 254, 101, 160, 123, 37, 1, 156, 149, 88, 46, 90, 139, 44, 146, 137, 215, 123, 65, 109, 21, 180, 155, 30, 110, 75, 229, 234, 103, 196, 7, 195, 8, 14, 63, 175, 191, 154, 100, 11, 74, 59, 102, 253, 105, 191, 202, 39, 241, 102, 226, 172, 58, 177, 194, 102, 181, 88, 156, 147, 17, 163, 218, 88, 176, 163, 150, 51, 202, 104, 200, 113, 213, 73, 18, 183, 40, 58, 167, 73, 192, 78, 179, 20, 34, 78, 203, 23, 86, 127, 171, 125, 201, 245, 254, 222, 13, 107, 63, 226, 3, 253, 35, 36, 145, 204, 129, 185, 17},
+{176, 43, 3, 110, 159, 24, 160, 14, 195, 20, 230, 28, 113, 60, 244, 165, 226, 41, 191, 27, 203, 221, 113, 61, 62, 117, 34, 176, 9, 65, 54, 78, 194, 235, 175, 88, 159, 151, 245, 21, 194, 200, 47, 73, 39, 124, 80, 186, 185, 95, 237, 196, 171, 2, 178, 136, 3, 47, 255, 98, 129, 109, 49, 100, 217, 64, 156, 91, 53, 246, 52, 4, 127, 39, 21, 238, 108, 242, 60, 57, 133, 11, 101, 179, 42, 140, 99, 102, 70, 100, 157, 245, 83, 56, 145, 36, 125, 39, 135, 117, 205, 127, 84, 161, 129, 162, 198, 2, 253, 197, 41, 243, 223, 233, 54, 141, 23, 166, 110, 77, 226, 235, 177, 197, 129, 162, 118, 122},
+{89, 137, 116, 19, 126, 20, 250, 232, 228, 200, 180, 108, 22, 231, 171, 135, 196, 190, 0, 101, 213, 188, 226, 199, 91, 89, 152, 106, 223, 20, 181, 103, 142, 228, 125, 53, 214, 210, 121, 248, 215, 135, 205, 99, 16, 17, 228, 243, 38, 72, 64, 4, 84, 13, 142, 203, 148, 110, 107, 16, 188, 223, 210, 239, 197, 22, 216, 69, 189, 227, 96, 129, 7, 197, 230, 20, 60, 240, 140, 0, 45, 214, 22, 199, 185, 237, 25, 7, 75, 179, 142, 51, 25, 255, 150, 59, 176, 170, 126, 188, 1, 22, 102, 195, 29, 82, 88, 46, 101, 61, 47, 136, 220, 211, 205, 133, 131, 221, 0, 168, 151, 240, 255, 219, 68, 240, 66, 117},
+{133, 66, 220, 154, 160, 121, 129, 163, 22, 103, 241, 165, 152, 112, 53, 248, 66, 234, 202, 135, 122, 211, 107, 49, 204, 239, 125, 253, 145, 113, 140, 215, 194, 251, 202, 69, 61, 218, 20, 216, 203, 59, 175, 205, 240, 169, 48, 119, 164, 45, 36, 154, 57, 102, 70, 129, 133, 24, 150, 237, 79, 229, 136, 164, 115, 133, 68, 227, 244, 238, 44, 153, 93, 183, 216, 107, 67, 66, 69, 236, 32, 144, 155, 7, 99, 251, 111, 218, 22, 145, 240, 95, 101, 124, 188, 12, 45, 7, 43, 18, 54, 238, 38, 20, 189, 127, 174, 108, 7, 36, 245, 253, 255, 141, 64, 170, 204, 207, 66, 27, 96, 79, 50, 76, 214, 72, 33, 226},
+{199, 212, 90, 1, 189, 80, 84, 205, 120, 242, 26, 81, 233, 50, 63, 176, 50, 253, 88, 70, 18, 107, 248, 195, 211, 4, 141, 138, 200, 243, 141, 61, 172, 136, 118, 228, 150, 246, 128, 56, 86, 9, 45, 24, 12, 171, 79, 246, 94, 196, 41, 16, 106, 216, 202, 188, 238, 143, 98, 220, 104, 42, 100, 186, 171, 103, 238, 40, 249, 123, 123, 149, 248, 48, 201, 223, 208, 113, 189, 167, 90, 61, 64, 129, 121, 46, 48, 198, 46, 68, 251, 50, 192, 64, 37, 156, 98, 221, 113, 170, 73, 194, 58, 129, 91, 66, 132, 106, 117, 188, 159, 131, 53, 218, 86, 127, 176, 243, 140, 117, 222, 85, 172, 16, 211, 213, 108, 97},
+{89, 144, 152, 7, 39, 65, 252, 179, 164, 131, 7, 148, 218, 105, 153, 251, 250, 77, 91, 206, 200, 100, 244, 145, 22, 96, 26, 143, 49, 143, 27, 6, 98, 237, 138, 59, 208, 9, 90, 103, 116, 121, 101, 111, 238, 140, 207, 100, 78, 157, 236, 21, 180, 242, 197, 144, 102, 2, 64, 102, 162, 21, 244, 6, 205, 52, 3, 116, 121, 18, 96, 30, 235, 120, 140, 201, 110, 141, 91, 46, 153, 160, 61, 206, 105, 82, 207, 145, 17, 13, 221, 67, 164, 43, 61, 127, 46, 36, 126, 114, 118, 77, 16, 158, 199, 23, 201, 91, 134, 22, 115, 129, 244, 119, 242, 114, 67, 183, 169, 66, 90, 254, 136, 109, 125, 166, 62, 107},
+{48, 110, 122, 199, 213, 82, 23, 64, 72, 188, 67, 196, 230, 227, 229, 215, 107, 238, 177, 237, 194, 104, 72, 96, 65, 171, 158, 9, 180, 110, 95, 13, 32, 221, 234, 50, 172, 203, 251, 237, 5, 213, 27, 75, 243, 189, 126, 96, 241, 151, 83, 224, 104, 9, 121, 230, 57, 138, 213, 50, 52, 246, 36, 54, 234, 47, 130, 11, 37, 92, 134, 91, 168, 43, 220, 253, 24, 105, 100, 96, 21, 242, 38, 144, 12, 82, 131, 32, 128, 129, 76, 204, 177, 49, 128, 87, 81, 131, 152, 172, 254, 149, 143, 236, 47, 96, 46, 156, 116, 84, 28, 70, 245, 12, 193, 155, 255, 90, 59, 45, 108, 64, 73, 109, 141, 252, 165, 230},
+{114, 174, 254, 141, 190, 133, 102, 162, 128, 201, 223, 190, 78, 55, 11, 206, 224, 112, 123, 46, 45, 169, 216, 0, 251, 248, 192, 158, 39, 146, 36, 14, 32, 176, 153, 40, 245, 215, 149, 190, 134, 230, 9, 128, 170, 95, 127, 212, 147, 232, 42, 110, 175, 111, 73, 158, 170, 45, 244, 118, 120, 31, 14, 132, 37, 15, 91, 247, 54, 176, 76, 211, 226, 232, 162, 94, 199, 224, 10, 190, 37, 85, 5, 132, 116, 59, 33, 30, 130, 246, 92, 154, 44, 189, 174, 31, 190, 78, 208, 12, 20, 18, 63, 90, 105, 54, 11, 61, 251, 212, 124, 206, 129, 160, 6, 117, 209, 16, 239, 17, 187, 40, 193, 138, 150, 142, 186, 105},
+{176, 219, 31, 52, 237, 92, 13, 174, 86, 143, 215, 126, 114, 203, 104, 121, 7, 175, 194, 73, 161, 204, 186, 118, 206, 204, 132, 126, 179, 59, 196, 15, 190, 208, 173, 0, 6, 241, 255, 36, 139, 124, 80, 31, 85, 89, 59, 191, 25, 47, 66, 81, 241, 131, 222, 150, 130, 92, 54, 17, 187, 58, 176, 196, 74, 178, 180, 148, 189, 67, 139, 219, 128, 143, 42, 226, 166, 78, 44, 2, 242, 48, 28, 35, 66, 141, 199, 56, 113, 172, 221, 69, 211, 241, 160, 1, 33, 115, 161, 246, 11, 181, 74, 178, 54, 131, 214, 164, 4, 160, 133, 198, 129, 116, 161, 96, 208, 29, 43, 63, 171, 80, 79, 233, 61, 41, 139, 185},
+{104, 94, 187, 114, 20, 227, 52, 227, 18, 42, 248, 87, 20, 62, 162, 247, 114, 23, 179, 40, 84, 71, 46, 240, 112, 161, 8, 54, 29, 121, 198, 83, 207, 58, 191, 94, 233, 84, 252, 112, 182, 141, 81, 227, 89, 250, 245, 131, 221, 244, 12, 172, 130, 158, 68, 132, 74, 96, 210, 29, 239, 134, 47, 154, 9, 251, 31, 14, 250, 126, 141, 75, 81, 76, 13, 152, 116, 202, 30, 166, 194, 204, 3, 107, 35, 144, 45, 13, 18, 114, 128, 34, 180, 191, 239, 121, 74, 71, 203, 3, 234, 91, 194, 0, 4, 125, 126, 252, 131, 57, 192, 63, 70, 189, 80, 208, 203, 231, 9, 105, 27, 238, 42, 137, 227, 225, 125, 66},
+{175, 197, 215, 0, 141, 105, 181, 224, 196, 187, 140, 205, 222, 198, 232, 29, 180, 49, 98, 161, 133, 63, 130, 10, 34, 81, 112, 166, 56, 140, 73, 31, 119, 62, 232, 102, 247, 99, 119, 115, 49, 244, 187, 135, 77, 121, 112, 24, 249, 158, 158, 213, 88, 252, 141, 139, 13, 81, 134, 223, 47, 130, 115, 122, 165, 197, 242, 52, 240, 46, 10, 0, 243, 192, 240, 98, 110, 237, 213, 210, 193, 37, 53, 180, 58, 155, 159, 143, 206, 183, 60, 190, 193, 18, 206, 162, 196, 130, 57, 24, 154, 183, 144, 132, 62, 125, 21, 194, 192, 140, 40, 35, 229, 145, 4, 58, 34, 165, 46, 47, 9, 143, 160, 184, 228, 248, 248, 101},
+{105, 143, 245, 215, 66, 35, 173, 173, 114, 237, 173, 218, 240, 107, 33, 210, 232, 70, 81, 132, 63, 90, 117, 12, 113, 44, 191, 161, 219, 248, 203, 153, 165, 153, 84, 37, 155, 92, 255, 125, 103, 10, 82, 224, 75, 224, 97, 213, 178, 68, 110, 56, 187, 49, 90, 183, 90, 52, 108, 150, 82, 66, 228, 112, 227, 110, 250, 102, 24, 55, 171, 176, 124, 104, 23, 123, 228, 3, 230, 91, 144, 176, 206, 118, 83, 171, 15, 100, 124, 130, 231, 4, 203, 19, 204, 6, 228, 92, 246, 22, 85, 201, 98, 101, 142, 169, 104, 6, 114, 76, 118, 9, 213, 210, 94, 248, 46, 242, 47, 131, 70, 255, 231, 123, 180, 74, 151, 149},
+{128, 35, 152, 201, 15, 113, 193, 168, 245, 88, 181, 92, 204, 7, 144, 98, 74, 160, 94, 216, 89, 28, 1, 40, 186, 26, 172, 136, 5, 148, 240, 71, 99, 83, 212, 181, 216, 50, 54, 8, 231, 208, 247, 122, 75, 7, 28, 115, 62, 237, 203, 208, 89, 107, 17, 0, 149, 162, 93, 27, 146, 93, 106, 140, 119, 120, 198, 199, 226, 238, 83, 206, 155, 128, 26, 204, 95, 25, 222, 155, 142, 169, 21, 146, 13, 7, 132, 39, 24, 230, 217, 246, 255, 128, 23, 132, 129, 89, 144, 8, 240, 226, 217, 177, 173, 191, 195, 206, 34, 177, 216, 232, 160, 89, 165, 120, 233, 254, 5, 103, 5, 53, 127, 68, 215, 25, 11, 60},
+{181, 252, 199, 28, 127, 194, 101, 222, 176, 157, 71, 66, 66, 30, 224, 157, 93, 23, 73, 187, 102, 48, 92, 146, 216, 14, 165, 138, 68, 111, 81, 136, 1, 61, 50, 183, 240, 136, 94, 110, 176, 162, 232, 134, 7, 117, 226, 31, 11, 80, 136, 195, 49, 156, 254, 211, 0, 26, 117, 239, 109, 150, 215, 232, 239, 27, 115, 64, 22, 1, 232, 117, 221, 90, 193, 101, 177, 81, 26, 189, 129, 70, 211, 166, 12, 94, 73, 26, 138, 81, 253, 49, 42, 78, 174, 203, 37, 120, 140, 162, 123, 19, 222, 187, 132, 18, 56, 183, 230, 87, 63, 106, 104, 217, 21, 163, 198, 103, 147, 15, 23, 208, 4, 27, 117, 88, 4, 88},
+{147, 111, 190, 229, 106, 78, 96, 97, 105, 68, 129, 113, 122, 161, 13, 13, 11, 161, 53, 205, 37, 226, 99, 53, 53, 187, 22, 71, 250, 153, 180, 232, 232, 135, 26, 188, 5, 169, 194, 77, 240, 197, 67, 83, 185, 185, 164, 15, 110, 245, 144, 203, 141, 154, 162, 67, 25, 198, 141, 100, 100, 123, 2, 101, 13, 159, 2, 114, 251, 0, 121, 166, 7, 105, 162, 94, 108, 110, 174, 11, 181, 48, 94, 228, 186, 100, 8, 99, 39, 147, 26, 104, 252, 187, 120, 216, 94, 148, 116, 38, 148, 188, 236, 16, 168, 45, 252, 83, 141, 238, 59, 226, 125, 138, 159, 138, 0, 232, 60, 115, 226, 224, 61, 28, 102, 186, 88, 160},
+{170, 130, 123, 17, 245, 118, 178, 158, 173, 162, 231, 128, 41, 208, 116, 24, 59, 106, 206, 229, 78, 113, 158, 228, 224, 166, 2, 50, 130, 196, 8, 168, 142, 124, 21, 221, 209, 96, 139, 75, 165, 118, 189, 33, 129, 39, 8, 129, 49, 40, 132, 228, 179, 115, 92, 43, 18, 34, 190, 179, 50, 46, 215, 87, 187, 187, 72, 224, 70, 223, 205, 57, 82, 39, 232, 135, 224, 1, 202, 232, 182, 42, 117, 173, 83, 57, 81, 35, 185, 4, 43, 147, 58, 70, 211, 198, 168, 94, 93, 211, 96, 157, 239, 221, 19, 126, 95, 169, 87, 121, 101, 74, 231, 150, 178, 212, 56, 254, 192, 97, 25, 77, 46, 57, 236, 213, 207, 129},
+{208, 199, 9, 53, 175, 213, 247, 224, 178, 67, 226, 29, 196, 231, 221, 41, 44, 9, 231, 163, 76, 174, 196, 58, 101, 66, 213, 245, 91, 205, 109, 105, 100, 31, 250, 206, 64, 135, 126, 31, 141, 151, 206, 66, 229, 3, 23, 243, 126, 194, 133, 167, 233, 102, 226, 190, 114, 84, 158, 232, 128, 228, 196, 212, 85, 239, 175, 254, 243, 200, 145, 11, 166, 101, 71, 149, 116, 70, 24, 176, 99, 136, 194, 202, 65, 218, 252, 74, 190, 154, 62, 60, 228, 140, 118, 172, 157, 163, 208, 137, 12, 200, 193, 241, 125, 233, 68, 10, 41, 201, 143, 135, 139, 196, 79, 201, 157, 79, 231, 17, 68, 143, 47, 47, 136, 75, 168, 105},
+{92, 207, 72, 176, 171, 46, 79, 251, 93, 151, 203, 142, 17, 87, 47, 239, 214, 106, 142, 221, 187, 202, 196, 103, 220, 242, 95, 234, 32, 249, 215, 47, 112, 219, 140, 172, 123, 124, 78, 182, 189, 235, 250, 38, 21, 9, 228, 30, 219, 184, 77, 180, 124, 57, 61, 110, 208, 61, 33, 216, 75, 56, 115, 148, 178, 68, 251, 115, 193, 221, 122, 214, 192, 66, 143, 170, 158, 145, 53, 153, 122, 224, 101, 104, 156, 5, 188, 155, 74, 198, 138, 235, 179, 72, 85, 119, 67, 3, 41, 250, 174, 54, 30, 153, 37, 17, 173, 85, 207, 166, 43, 40, 239, 75, 11, 137, 110, 44, 152, 15, 182, 49, 159, 133, 229, 165, 43, 251},
+{1, 223, 40, 58, 131, 167, 189, 7, 104, 6, 241, 253, 95, 142, 73, 205, 172, 136, 195, 233, 3, 219, 77, 140, 241, 96, 36, 223, 217, 198, 196, 173, 235, 105, 107, 66, 135, 92, 190, 132, 71, 49, 197, 16, 72, 118, 75, 8, 161, 167, 119, 71, 47, 175, 78, 113, 123, 192, 67, 252, 3, 61, 200, 94, 196, 103, 107, 115, 98, 147, 200, 123, 103, 148, 41, 95, 239, 75, 22, 157, 170, 163, 26, 195, 27, 81, 163, 127, 100, 92, 103, 52, 46, 35, 124, 205, 234, 58, 107, 93, 1, 90, 178, 117, 86, 25, 137, 49, 146, 136, 166, 218, 6, 147, 125, 31, 66, 152, 197, 0, 107, 189, 251, 23, 72, 213, 144, 58},
+{143, 59, 106, 33, 197, 18, 202, 246, 93, 2, 156, 66, 67, 56, 165, 20, 5, 22, 152, 31, 46, 44, 65, 22, 75, 46, 134, 136, 100, 49, 103, 127, 245, 116, 66, 23, 173, 55, 74, 71, 90, 57, 98, 185, 62, 182, 26, 250, 70, 144, 15, 107, 82, 180, 221, 251, 34, 12, 118, 115, 25, 119, 109, 51, 234, 245, 86, 185, 62, 215, 211, 85, 118, 65, 124, 28, 4, 255, 90, 52, 143, 198, 246, 52, 72, 108, 68, 142, 70, 220, 62, 129, 153, 202, 174, 18, 1, 90, 82, 29, 124, 115, 32, 64, 78, 253, 180, 93, 37, 58, 213, 129, 234, 43, 216, 209, 90, 250, 103, 124, 45, 43, 39, 83, 54, 147, 37, 205},
+{19, 182, 79, 21, 203, 202, 248, 49, 11, 80, 142, 98, 162, 239, 104, 82, 117, 167, 176, 81, 163, 84, 14, 207, 161, 234, 159, 157, 126, 177, 53, 68, 31, 141, 54, 149, 0, 111, 43, 164, 141, 23, 138, 84, 96, 255, 167, 237, 197, 1, 163, 181, 114, 248, 254, 67, 143, 126, 225, 81, 93, 72, 1, 119, 47, 180, 110, 80, 167, 154, 16, 254, 123, 12, 249, 83, 172, 83, 27, 26, 148, 35, 119, 65, 71, 93, 253, 129, 194, 82, 62, 144, 248, 63, 122, 210, 49, 126, 99, 15, 81, 133, 25, 168, 156, 250, 109, 248, 163, 188, 127, 160, 19, 137, 226, 122, 31, 69, 240, 94, 204, 153, 193, 179, 144, 3, 126, 59},
+{85, 63, 80, 115, 43, 0, 220, 251, 138, 241, 9, 233, 149, 218, 23, 70, 207, 105, 252, 24, 222, 45, 110, 5, 43, 238, 210, 248, 151, 12, 134, 195, 164, 83, 165, 252, 122, 231, 57, 151, 244, 180, 48, 88, 212, 10, 191, 125, 23, 54, 181, 194, 131, 185, 83, 174, 118, 250, 148, 240, 98, 178, 86, 215, 55, 181, 112, 121, 238, 255, 210, 79, 23, 14, 58, 127, 139, 155, 172, 22, 128, 197, 78, 102, 156, 130, 57, 186, 191, 6, 111, 228, 20, 174, 157, 25, 13, 238, 76, 124, 79, 210, 105, 13, 38, 106, 54, 151, 9, 128, 82, 252, 237, 10, 247, 209, 88, 106, 18, 58, 28, 247, 132, 15, 225, 77, 58, 160},
+{136, 181, 196, 207, 19, 43, 243, 203, 106, 203, 75, 144, 216, 158, 145, 52, 196, 95, 203, 7, 81, 75, 86, 115, 2, 125, 186, 43, 78, 57, 169, 89, 65, 216, 120, 78, 182, 176, 141, 71, 118, 114, 129, 102, 184, 169, 75, 239, 61, 250, 86, 96, 254, 213, 205, 42, 160, 240, 152, 197, 219, 119, 187, 200, 3, 180, 76, 254, 222, 205, 5, 169, 21, 147, 63, 133, 120, 228, 44, 19, 141, 186, 206, 92, 165, 123, 175, 200, 13, 121, 199, 185, 50, 94, 72, 147, 246, 133, 63, 130, 96, 147, 139, 7, 66, 172, 173, 39, 208, 95, 58, 123, 24, 79, 26, 202, 38, 62, 173, 229, 106, 72, 170, 134, 9, 186, 18, 215},
+{126, 119, 58, 83, 135, 116, 238, 151, 44, 97, 69, 212, 248, 115, 70, 140, 213, 100, 204, 92, 33, 186, 184, 21, 45, 220, 55, 88, 225, 113, 139, 70, 229, 150, 161, 205, 232, 20, 117, 102, 180, 12, 235, 230, 22, 14, 177, 188, 42, 224, 10, 12, 0, 190, 203, 29, 132, 25, 87, 110, 146, 191, 102, 217, 93, 90, 178, 171, 108, 239, 146, 97, 162, 90, 43, 210, 123, 207, 144, 212, 62, 204, 59, 143, 182, 241, 239, 208, 146, 185, 108, 237, 149, 75, 137, 222, 22, 185, 160, 143, 201, 112, 62, 97, 32, 128, 85, 151, 121, 86, 115, 202, 83, 211, 112, 11, 159, 161, 35, 151, 128, 93, 106, 65, 148, 104, 26, 29},
+{102, 205, 217, 134, 34, 7, 147, 41, 40, 132, 75, 191, 41, 147, 193, 6, 11, 231, 243, 147, 114, 34, 245, 153, 188, 82, 234, 202, 1, 49, 171, 95, 172, 87, 9, 67, 156, 82, 88, 95, 163, 80, 80, 204, 74, 109, 43, 144, 239, 157, 142, 224, 2, 77, 251, 78, 200, 59, 105, 14, 223, 175, 111, 57, 98, 76, 113, 56, 174, 44, 185, 84, 154, 126, 121, 20, 82, 135, 74, 203, 158, 147, 63, 28, 139, 171, 186, 84, 21, 159, 71, 94, 76, 127, 53, 160, 103, 228, 245, 88, 222, 183, 97, 130, 106, 76, 204, 133, 88, 29, 200, 2, 168, 163, 119, 180, 233, 145, 12, 172, 215, 0, 29, 157, 223, 71, 30, 230},
+{94, 84, 247, 115, 199, 1, 174, 50, 225, 99, 234, 248, 145, 241, 5, 33, 50, 175, 171, 48, 2, 204, 212, 143, 185, 16, 4, 29, 233, 66, 173, 47, 74, 68, 242, 224, 107, 26, 80, 25, 35, 105, 96, 50, 96, 168, 59, 66, 245, 205, 252, 63, 28, 74, 209, 198, 250, 182, 210, 104, 232, 38, 87, 200, 15, 222, 67, 107, 122, 42, 30, 183, 3, 44, 121, 80, 250, 141, 50, 201, 69, 51, 106, 209, 232, 15, 56, 81, 84, 188, 148, 253, 120, 245, 149, 135, 96, 42, 123, 54, 141, 255, 101, 8, 0, 194, 147, 173, 124, 62, 12, 217, 213, 214, 172, 20, 6, 196, 147, 10, 3, 105, 23, 12, 87, 25, 93, 40},
+{98, 182, 190, 57, 65, 214, 199, 203, 194, 18, 40, 84, 230, 76, 162, 206, 189, 195, 128, 101, 200, 7, 101, 39, 8, 52, 5, 78, 250, 141, 36, 223, 245, 140, 59, 125, 126, 167, 6, 36, 133, 149, 81, 253, 153, 122, 102, 167, 164, 74, 98, 248, 157, 227, 119, 215, 189, 183, 170, 243, 184, 73, 156, 254, 128, 101, 163, 147, 202, 199, 96, 203, 36, 32, 255, 100, 176, 30, 120, 2, 111, 4, 61, 67, 236, 85, 154, 21, 245, 17, 228, 234, 251, 147, 250, 37, 150, 153, 198, 90, 104, 68, 188, 58, 85, 4, 178, 127, 162, 223, 206, 115, 183, 233, 66, 247, 86, 213, 85, 67, 119, 26, 41, 86, 196, 11, 132, 27},
+{75, 172, 233, 188, 33, 21, 164, 184, 175, 118, 199, 120, 243, 247, 209, 250, 184, 200, 79, 252, 53, 253, 65, 209, 213, 1, 129, 90, 127, 240, 168, 106, 111, 240, 223, 171, 89, 126, 110, 128, 1, 38, 145, 200, 244, 238, 13, 88, 252, 83, 179, 202, 19, 183, 1, 144, 50, 216, 74, 128, 244, 236, 147, 86, 235, 234, 93, 210, 102, 94, 29, 198, 192, 33, 138, 170, 196, 53, 129, 175, 192, 222, 76, 0, 33, 77, 241, 74, 165, 6, 22, 28, 153, 235, 153, 232, 178, 213, 112, 188, 36, 80, 43, 18, 240, 127, 106, 148, 233, 16, 186, 225, 83, 196, 135, 36, 173, 33, 97, 205, 132, 137, 95, 142, 59, 139, 64, 235},
+{139, 204, 214, 108, 8, 85, 123, 88, 90, 189, 240, 120, 78, 47, 122, 251, 83, 188, 16, 170, 67, 119, 56, 90, 198, 11, 126, 185, 231, 113, 10, 109, 237, 115, 249, 107, 247, 236, 81, 31, 158, 73, 58, 252, 56, 170, 234, 129, 175, 116, 155, 199, 251, 142, 129, 165, 179, 73, 81, 191, 175, 208, 97, 203, 127, 52, 190, 41, 184, 244, 89, 138, 45, 150, 156, 136, 97, 22, 10, 126, 210, 61, 140, 71, 156, 0, 225, 251, 31, 91, 184, 146, 216, 229, 73, 154, 205, 42, 148, 31, 196, 153, 95, 248, 141, 125, 207, 159, 73, 87, 161, 25, 38, 169, 18, 201, 170, 57, 123, 219, 205, 151, 46, 37, 179, 53, 21, 216},
+{44, 195, 29, 194, 147, 214, 234, 29, 69, 208, 72, 246, 55, 220, 127, 58, 45, 53, 115, 52, 198, 233, 191, 61, 251, 62, 127, 174, 182, 242, 151, 118, 228, 29, 240, 49, 145, 8, 42, 20, 4, 172, 114, 115, 204, 113, 4, 241, 255, 32, 43, 32, 22, 243, 191, 130, 27, 7, 237, 171, 218, 184, 189, 187, 199, 26, 103, 184, 225, 239, 0, 32, 205, 53, 108, 61, 50, 252, 60, 187, 23, 196, 114, 218, 196, 218, 37, 3, 165, 190, 190, 48, 186, 170, 92, 91, 148, 115, 6, 132, 198, 9, 1, 92, 231, 162, 100, 221, 13, 62, 90, 109, 73, 162, 35, 11, 251, 144, 68, 69, 24, 121, 254, 92, 85, 79, 179, 135},
+{8, 205, 79, 113, 45, 141, 114, 142, 10, 234, 157, 27, 10, 143, 164, 191, 246, 27, 109, 185, 252, 35, 221, 174, 143, 145, 50, 115, 145, 72, 224, 163, 214, 108, 238, 93, 178, 148, 191, 53, 150, 141, 172, 64, 251, 136, 170, 13, 16, 202, 120, 160, 203, 186, 178, 216, 87, 73, 219, 203, 239, 37, 108, 60, 5, 185, 251, 64, 99, 33, 231, 130, 127, 192, 197, 30, 5, 126, 142, 242, 68, 183, 79, 225, 27, 165, 254, 108, 224, 116, 211, 131, 184, 16, 234, 145, 36, 56, 17, 214, 64, 53, 73, 243, 72, 207, 159, 82, 73, 144, 255, 207, 88, 16, 181, 126, 130, 11, 88, 196, 9, 78, 120, 49, 16, 178, 85, 222},
+{48, 216, 149, 16, 4, 184, 156, 64, 81, 188, 167, 42, 11, 46, 162, 49, 128, 232, 216, 134, 248, 89, 99, 221, 129, 215, 21, 38, 140, 44, 53, 229, 9, 77, 157, 4, 194, 224, 193, 108, 9, 140, 154, 170, 109, 133, 216, 110, 8, 5, 150, 142, 106, 211, 88, 158, 201, 40, 45, 134, 157, 44, 223, 63, 239, 236, 218, 45, 112, 167, 47, 22, 38, 143, 29, 12, 25, 133, 253, 7, 214, 64, 192, 20, 66, 203, 193, 77, 47, 101, 35, 85, 122, 118, 180, 102, 168, 222, 244, 233, 27, 174, 37, 219, 31, 219, 198, 173, 228, 120, 8, 248, 222, 74, 132, 0, 81, 34, 184, 174, 129, 134, 236, 85, 247, 2, 149, 140},
+{41, 246, 187, 183, 30, 143, 147, 189, 48, 220, 108, 135, 65, 162, 223, 25, 223, 21, 187, 145, 162, 206, 255, 207, 144, 125, 100, 147, 153, 208, 84, 88, 163, 51, 253, 45, 223, 222, 96, 164, 203, 107, 166, 4, 6, 102, 219, 150, 87, 63, 18, 56, 158, 168, 87, 186, 205, 5, 87, 140, 233, 106, 185, 23, 212, 11, 124, 186, 2, 236, 181, 16, 178, 12, 8, 120, 252, 110, 116, 159, 87, 192, 62, 87, 183, 159, 126, 234, 209, 75, 187, 91, 62, 220, 206, 183, 94, 51, 22, 163, 226, 45, 48, 109, 191, 182, 99, 52, 218, 204, 224, 63, 107, 251, 103, 134, 213, 149, 216, 210, 168, 89, 247, 118, 189, 161, 251, 249},
+{4, 204, 232, 184, 78, 129, 99, 153, 86, 122, 144, 222, 211, 239, 229, 183, 180, 88, 35, 222, 28, 34, 218, 138, 237, 241, 228, 53, 120, 208, 83, 66, 100, 247, 77, 57, 33, 49, 114, 17, 199, 102, 198, 137, 125, 21, 24, 104, 176, 205, 187, 52, 125, 32, 121, 130, 251, 148, 155, 120, 114, 234, 25, 81, 98, 142, 64, 16, 125, 239, 111, 147, 123, 7, 67, 44, 117, 218, 141, 236, 204, 77, 29, 206, 214, 211, 48, 173, 191, 188, 103, 98, 162, 93, 223, 5, 196, 51, 105, 82, 226, 208, 241, 246, 229, 218, 75, 93, 67, 57, 139, 137, 9, 110, 80, 216, 146, 40, 170, 110, 123, 245, 1, 46, 161, 166, 226, 173},
+{129, 169, 235, 118, 114, 124, 122, 156, 67, 189, 116, 142, 174, 252, 122, 12, 1, 21, 172, 103, 183, 167, 81, 59, 249, 196, 176, 133, 120, 245, 73, 233, 97, 79, 29, 248, 208, 141, 50, 127, 55, 215, 16, 234, 57, 39, 239, 41, 201, 68, 52, 44, 185, 250, 215, 91, 153, 76, 240, 2, 31, 249, 243, 77, 240, 145, 48, 170, 159, 33, 175, 104, 61, 95, 129, 129, 88, 94, 235, 225, 157, 255, 248, 109, 90, 119, 174, 161, 157, 161, 49, 255, 220, 129, 189, 202, 192, 132, 90, 235, 188, 42, 188, 122, 129, 212, 168, 244, 203, 25, 233, 0, 238, 105, 90, 220, 63, 170, 93, 25, 209, 189, 123, 94, 165, 206, 38, 22},
+{94, 17, 124, 155, 7, 80, 165, 39, 210, 80, 186, 203, 107, 94, 236, 68, 193, 244, 103, 0, 210, 55, 216, 215, 13, 220, 148, 177, 6, 255, 173, 243, 193, 172, 215, 39, 172, 99, 151, 38, 173, 155, 217, 97, 132, 150, 254, 132, 185, 111, 177, 63, 21, 195, 96, 34, 239, 170, 151, 157, 20, 113, 152, 103, 244, 191, 235, 167, 111, 197, 133, 34, 145, 217, 161, 178, 17, 50, 144, 231, 205, 55, 65, 129, 87, 54, 74, 134, 9, 135, 103, 136, 214, 213, 228, 47, 103, 180, 158, 6, 134, 62, 8, 112, 17, 65, 44, 146, 51, 101, 111, 173, 127, 129, 249, 87, 101, 220, 18, 122, 161, 73, 152, 225, 64, 219, 149, 96},
+{124, 87, 168, 32, 42, 172, 10, 13, 217, 169, 240, 132, 177, 252, 15, 177, 115, 218, 31, 237, 139, 131, 104, 232, 38, 37, 195, 8, 37, 60, 65, 74, 237, 248, 71, 116, 4, 105, 56, 100, 77, 218, 103, 41, 52, 34, 28, 99, 43, 95, 151, 128, 219, 179, 144, 235, 79, 29, 62, 230, 104, 238, 221, 186, 79, 133, 112, 91, 77, 66, 230, 100, 140, 144, 196, 31, 160, 240, 184, 25, 56, 109, 36, 48, 214, 12, 162, 52, 180, 165, 158, 72, 94, 79, 237, 27, 190, 189, 18, 204, 48, 4, 131, 96, 141, 95, 96, 97, 86, 21, 180, 176, 10, 92, 48, 209, 252, 76, 18, 75, 237, 189, 27, 74, 249, 22, 147, 162},
+{149, 59, 4, 135, 200, 119, 72, 175, 8, 125, 10, 133, 71, 252, 62, 141, 61, 236, 19, 147, 174, 146, 73, 134, 60, 20, 167, 99, 27, 104, 119, 230, 251, 74, 183, 225, 174, 57, 73, 7, 215, 161, 154, 89, 15, 247, 224, 183, 243, 51, 9, 205, 78, 186, 84, 241, 194, 118, 215, 62, 151, 6, 106, 254, 59, 165, 206, 189, 107, 73, 194, 243, 247, 14, 28, 142, 27, 41, 235, 230, 91, 163, 153, 225, 40, 163, 101, 161, 184, 211, 122, 21, 242, 13, 37, 35, 120, 75, 87, 100, 96, 29, 64, 197, 7, 142, 183, 120, 160, 249, 231, 75, 98, 111, 232, 69, 84, 72, 102, 156, 41, 202, 188, 82, 212, 128, 9, 221},
+{9, 0, 1, 95, 106, 129, 18, 193, 124, 168, 135, 100, 63, 87, 59, 4, 91, 123, 115, 205, 208, 5, 20, 56, 185, 223, 229, 80, 214, 140, 98, 240, 82, 140, 144, 141, 196, 131, 8, 77, 226, 47, 203, 127, 227, 181, 24, 52, 45, 230, 78, 83, 200, 221, 50, 174, 130, 117, 142, 31, 121, 221, 222, 31, 11, 56, 153, 206, 222, 57, 143, 218, 234, 164, 237, 205, 173, 115, 97, 40, 115, 155, 180, 165, 197, 175, 160, 208, 205, 223, 201, 39, 77, 0, 49, 46, 169, 67, 250, 186, 18, 59, 31, 6, 219, 63, 192, 11, 207, 126, 34, 58, 124, 211, 62, 173, 36, 111, 121, 158, 97, 47, 129, 167, 54, 43, 39, 145},
+{204, 62, 48, 69, 162, 136, 21, 23, 234, 217, 15, 134, 5, 204, 1, 145, 44, 79, 139, 92, 67, 229, 33, 48, 231, 65, 139, 88, 59, 221, 170, 110, 83, 120, 239, 95, 153, 224, 111, 213, 248, 185, 139, 24, 233, 196, 15, 166, 244, 27, 152, 149, 85, 154, 114, 221, 214, 231, 204, 179, 225, 188, 135, 34, 224, 97, 239, 142, 187, 84, 196, 178, 32, 21, 220, 55, 181, 155, 111, 246, 239, 29, 216, 128, 111, 50, 233, 173, 190, 78, 165, 14, 74, 28, 47, 54, 55, 151, 162, 145, 155, 148, 85, 220, 138, 41, 179, 177, 255, 134, 191, 127, 245, 196, 35, 83, 190, 204, 195, 47, 234, 183, 69, 104, 85, 41, 178, 254},
+{108, 243, 105, 197, 193, 224, 14, 225, 146, 127, 130, 238, 72, 57, 1, 147, 68, 209, 22, 24, 118, 159, 74, 193, 52, 229, 40, 214, 66, 188, 193, 4, 60, 97, 128, 68, 22, 138, 113, 101, 242, 17, 12, 115, 115, 12, 103, 191, 117, 160, 245, 53, 224, 106, 20, 109, 14, 171, 223, 15, 89, 91, 26, 91, 128, 70, 5, 122, 197, 125, 30, 15, 135, 84, 57, 201, 240, 198, 21, 206, 195, 53, 114, 0, 169, 106, 58, 156, 14, 170, 8, 183, 20, 90, 253, 167, 213, 204, 55, 14, 253, 154, 197, 9, 172, 23, 202, 186, 121, 109, 0, 60, 47, 135, 193, 72, 126, 183, 76, 42, 68, 114, 121, 121, 166, 8, 84, 198},
+{184, 130, 160, 249, 102, 15, 221, 60, 150, 21, 249, 144, 166, 14, 143, 176, 58, 203, 252, 127, 225, 237, 17, 10, 157, 108, 23, 27, 70, 104, 219, 211, 137, 224, 41, 178, 61, 204, 8, 45, 229, 212, 93, 254, 191, 209, 174, 76, 184, 7, 14, 52, 90, 90, 122, 157, 92, 254, 16, 42, 98, 95, 10, 36, 185, 146, 19, 251, 232, 180, 13, 147, 189, 249, 147, 246, 135, 20, 154, 18, 70, 240, 91, 37, 211, 180, 237, 17, 95, 255, 6, 0, 175, 12, 217, 35, 55, 158, 240, 30, 210, 170, 92, 195, 198, 251, 19, 204, 171, 167, 77, 163, 120, 71, 31, 207, 205, 109, 5, 108, 140, 125, 167, 220, 42, 178, 218, 192},
+{108, 136, 254, 149, 127, 249, 180, 133, 150, 244, 176, 180, 168, 79, 13, 219, 16, 202, 65, 47, 75, 222, 85, 69, 203, 145, 21, 186, 154, 141, 186, 116, 113, 247, 9, 230, 183, 14, 130, 27, 211, 67, 201, 47, 64, 189, 111, 43, 173, 222, 48, 220, 17, 47, 207, 154, 231, 84, 115, 104, 185, 71, 171, 139, 37, 120, 71, 147, 35, 104, 123, 195, 49, 41, 238, 121, 12, 107, 29, 195, 191, 179, 196, 232, 151, 85, 51, 4, 122, 31, 16, 189, 60, 212, 10, 214, 113, 115, 161, 137, 242, 82, 191, 21, 127, 117, 79, 156, 117, 195, 38, 49, 76, 4, 107, 35, 1, 21, 70, 204, 38, 249, 135, 17, 0, 96, 25, 233},
+{26, 152, 250, 109, 198, 92, 52, 96, 98, 105, 196, 79, 89, 85, 143, 113, 128, 63, 88, 2, 226, 145, 88, 81, 239, 177, 195, 179, 172, 209, 41, 158, 198, 43, 67, 187, 76, 50, 7, 170, 97, 126, 90, 126, 140, 253, 119, 73, 33, 128, 1, 83, 114, 254, 251, 119, 103, 23, 99, 230, 63, 126, 226, 89, 29, 216, 226, 50, 9, 202, 17, 168, 49, 101, 213, 135, 95, 12, 126, 86, 231, 29, 73, 198, 123, 0, 198, 185, 95, 196, 113, 45, 123, 235, 78, 103, 206, 228, 222, 113, 126, 100, 117, 5, 212, 108, 207, 156, 181, 105, 157, 58, 249, 219, 178, 213, 209, 118, 101, 108, 159, 53, 82, 52, 169, 160, 36, 57},
+{147, 35, 63, 240, 156, 86, 111, 26, 52, 213, 223, 119, 219, 236, 130, 243, 2, 102, 143, 13, 179, 200, 96, 69, 177, 28, 114, 194, 87, 181, 50, 227, 148, 21, 79, 6, 129, 95, 250, 41, 25, 174, 185, 231, 206, 234, 158, 89, 239, 92, 52, 110, 80, 85, 197, 57, 24, 204, 236, 116, 216, 150, 233, 92, 246, 108, 32, 102, 0, 15, 192, 7, 202, 56, 125, 32, 87, 193, 100, 105, 222, 142, 191, 208, 81, 50, 193, 9, 241, 170, 7, 88, 64, 230, 85, 134, 53, 109, 134, 193, 27, 184, 214, 234, 189, 53, 25, 182, 63, 68, 195, 240, 33, 140, 244, 93, 87, 72, 151, 118, 194, 125, 254, 120, 159, 89, 19, 133},
+{110, 185, 44, 153, 159, 47, 52, 159, 232, 242, 73, 138, 186, 133, 190, 45, 114, 30, 108, 72, 70, 102, 74, 90, 95, 198, 242, 12, 217, 165, 124, 46, 225, 184, 236, 154, 97, 66, 183, 95, 207, 44, 185, 116, 30, 207, 236, 58, 141, 165, 5, 92, 11, 153, 166, 10, 198, 243, 249, 22, 105, 82, 94, 34, 35, 126, 112, 237, 31, 251, 236, 34, 103, 232, 183, 140, 13, 130, 48, 53, 23, 84, 131, 58, 227, 165, 56, 109, 206, 104, 63, 217, 176, 35, 232, 173, 195, 31, 32, 139, 17, 40, 125, 22, 144, 223, 5, 199, 174, 42, 87, 66, 206, 184, 15, 167, 45, 136, 169, 51, 185, 226, 96, 67, 92, 159, 194, 164},
+{98, 197, 16, 135, 134, 31, 27, 47, 72, 117, 37, 215, 89, 93, 168, 228, 209, 199, 201, 115, 141, 110, 230, 70, 118, 73, 215, 117, 159, 169, 57, 164, 217, 106, 192, 180, 126, 185, 21, 99, 83, 10, 184, 247, 242, 226, 75, 89, 182, 59, 179, 229, 179, 60, 49, 216, 140, 30, 49, 164, 60, 29, 202, 225, 75, 211, 218, 26, 82, 176, 121, 105, 9, 236, 156, 104, 42, 119, 171, 6, 241, 94, 206, 16, 232, 115, 3, 6, 92, 100, 160, 115, 188, 183, 143, 194, 121, 48, 215, 213, 189, 230, 131, 142, 65, 42, 25, 129, 77, 152, 91, 102, 204, 76, 109, 163, 44, 155, 182, 173, 244, 191, 186, 55, 60, 108, 8, 198},
+{110, 53, 56, 5, 148, 243, 95, 149, 249, 112, 107, 128, 58, 118, 46, 154, 152, 248, 202, 18, 17, 175, 111, 125, 233, 40, 148, 196, 211, 123, 147, 118, 129, 97, 80, 149, 11, 75, 204, 133, 111, 243, 195, 205, 142, 181, 198, 94, 189, 153, 64, 102, 68, 0, 77, 101, 68, 9, 25, 217, 230, 142, 25, 10, 39, 196, 5, 86, 8, 236, 196, 145, 61, 154, 194, 89, 151, 218, 67, 246, 233, 59, 189, 196, 24, 60, 109, 86, 131, 201, 76, 96, 230, 25, 251, 126, 162, 175, 25, 198, 186, 184, 224, 144, 228, 63, 150, 108, 233, 93, 223, 24, 137, 121, 125, 222, 16, 25, 193, 204, 120, 217, 247, 137, 60, 234, 41, 3},
+{91, 230, 9, 23, 69, 83, 217, 41, 20, 57, 234, 81, 82, 229, 244, 76, 208, 151, 155, 60, 40, 117, 64, 130, 238, 138, 248, 113, 3, 84, 245, 165, 54, 30, 255, 60, 96, 107, 75, 183, 39, 206, 238, 0, 185, 241, 225, 141, 148, 51, 17, 107, 221, 78, 30, 218, 171, 249, 199, 67, 31, 75, 194, 41, 40, 72, 89, 101, 143, 105, 6, 235, 244, 104, 69, 147, 10, 166, 157, 152, 116, 162, 16, 213, 187, 50, 36, 213, 26, 81, 64, 92, 108, 143, 47, 87, 186, 26, 78, 12, 79, 225, 172, 17, 204, 185, 62, 97, 210, 65, 24, 197, 192, 140, 44, 152, 74, 215, 253, 172, 161, 185, 12, 129, 81, 102, 3, 145},
+{2, 246, 72, 192, 56, 46, 239, 75, 241, 121, 155, 74, 73, 159, 125, 33, 206, 248, 167, 201, 39, 82, 118, 188, 245, 200, 74, 46, 148, 235, 40, 248, 231, 128, 234, 140, 53, 210, 234, 115, 43, 15, 119, 74, 183, 11, 16, 47, 123, 183, 87, 117, 43, 233, 70, 166, 39, 98, 226, 58, 89, 155, 45, 243, 120, 140, 3, 126, 60, 172, 4, 8, 198, 118, 164, 122, 170, 71, 160, 183, 194, 35, 179, 58, 226, 35, 9, 66, 69, 93, 84, 5, 37, 37, 14, 106, 13, 181, 205, 145, 206, 98, 96, 66, 216, 39, 133, 5, 58, 92, 137, 19, 152, 181, 133, 200, 76, 5, 105, 50, 17, 158, 129, 167, 102, 175, 22, 217},
+{164, 45, 94, 35, 148, 197, 126, 123, 142, 206, 175, 253, 58, 77, 111, 253, 48, 140, 13, 45, 27, 148, 106, 41, 117, 187, 197, 232, 115, 135, 111, 90, 12, 156, 168, 52, 199, 39, 125, 27, 103, 158, 129, 72, 29, 153, 172, 165, 223, 226, 108, 169, 230, 74, 4, 176, 136, 70, 177, 28, 28, 220, 15, 63, 205, 205, 103, 172, 13, 172, 226, 117, 193, 162, 85, 230, 18, 235, 151, 90, 165, 34, 140, 233, 119, 67, 224, 223, 201, 245, 48, 12, 44, 15, 64, 137, 193, 51, 28, 24, 219, 42, 14, 60, 94, 157, 124, 252, 189, 29, 37, 115, 56, 232, 213, 121, 90, 42, 6, 208, 0, 169, 171, 215, 166, 226, 211, 21},
+{5, 161, 37, 105, 214, 231, 109, 246, 80, 35, 36, 9, 222, 234, 29, 112, 194, 22, 13, 70, 173, 233, 24, 199, 141, 224, 218, 182, 240, 147, 87, 252, 192, 161, 238, 149, 54, 117, 72, 221, 180, 185, 245, 102, 173, 31, 77, 57, 201, 131, 106, 134, 155, 20, 251, 48, 230, 145, 208, 142, 48, 79, 146, 158, 45, 67, 217, 139, 46, 218, 166, 199, 162, 116, 48, 111, 122, 215, 124, 121, 23, 120, 6, 35, 154, 64, 79, 57, 10, 250, 226, 172, 100, 209, 224, 183, 222, 225, 192, 76, 111, 136, 194, 74, 62, 119, 37, 245, 123, 22, 163, 234, 184, 9, 88, 84, 113, 6, 62, 164, 11, 210, 141, 76, 35, 210, 20, 1},
+{201, 149, 166, 225, 83, 127, 144, 253, 142, 172, 170, 222, 152, 112, 210, 162, 66, 208, 21, 194, 11, 140, 131, 102, 140, 169, 153, 200, 52, 99, 135, 217, 156, 60, 218, 244, 23, 10, 84, 238, 179, 157, 42, 119, 193, 50, 72, 119, 106, 234, 146, 34, 144, 246, 159, 96, 60, 116, 104, 93, 0, 154, 179, 216, 96, 239, 101, 182, 14, 156, 110, 198, 170, 126, 75, 38, 222, 80, 245, 112, 92, 207, 67, 179, 113, 149, 176, 167, 104, 253, 53, 15, 22, 38, 197, 146, 176, 55, 70, 207, 93, 138, 115, 240, 0, 126, 207, 200, 186, 159, 216, 240, 121, 2, 245, 203, 46, 9, 141, 4, 20, 110, 99, 222, 163, 101, 106, 22},
+{10, 251, 142, 33, 15, 145, 202, 40, 143, 221, 133, 221, 181, 254, 86, 51, 46, 124, 80, 159, 91, 242, 126, 112, 135, 99, 145, 174, 88, 167, 147, 34, 51, 144, 169, 212, 246, 246, 194, 27, 94, 183, 169, 240, 182, 197, 136, 3, 194, 240, 1, 81, 68, 15, 101, 182, 110, 147, 12, 21, 190, 199, 158, 232, 86, 91, 134, 218, 151, 137, 79, 18, 2, 113, 234, 98, 55, 175, 171, 98, 30, 73, 197, 92, 232, 60, 102, 236, 246, 129, 235, 1, 254, 199, 198, 236, 232, 252, 254, 144, 138, 173, 13, 165, 241, 85, 254, 64, 21, 171, 18, 43, 46, 17, 36, 217, 53, 203, 76, 156, 238, 29, 21, 97, 230, 213, 12, 72},
+{89, 140, 248, 1, 90, 48, 85, 219, 87, 82, 51, 186, 163, 160, 1, 158, 6, 49, 108, 46, 232, 77, 197, 198, 44, 140, 129, 82, 104, 92, 200, 172, 144, 30, 72, 241, 10, 88, 178, 47, 80, 180, 59, 234, 4, 111, 121, 34, 59, 194, 47, 131, 220, 222, 70, 97, 162, 72, 91, 26, 35, 203, 45, 88, 171, 251, 231, 77, 197, 187, 157, 82, 225, 90, 125, 199, 64, 171, 10, 156, 102, 78, 18, 142, 198, 120, 118, 124, 137, 113, 188, 1, 96, 38, 38, 81, 167, 42, 107, 143, 71, 254, 175, 208, 40, 136, 224, 92, 100, 41, 114, 51, 14, 62, 255, 218, 4, 32, 119, 51, 34, 38, 139, 110, 117, 116, 145, 166},
+{72, 117, 102, 91, 129, 45, 248, 78, 199, 7, 116, 107, 195, 75, 144, 120, 86, 14, 65, 248, 121, 38, 97, 50, 227, 112, 56, 95, 10, 28, 190, 50, 215, 246, 117, 22, 155, 153, 65, 92, 169, 145, 32, 232, 159, 80, 200, 32, 79, 184, 106, 60, 242, 49, 82, 75, 100, 172, 81, 27, 2, 150, 89, 37, 246, 106, 145, 51, 118, 58, 254, 5, 187, 18, 3, 107, 106, 145, 195, 109, 239, 145, 147, 113, 224, 44, 218, 223, 18, 59, 223, 23, 87, 88, 109, 134, 179, 19, 173, 24, 181, 48, 143, 238, 4, 199, 12, 151, 136, 108, 208, 248, 156, 129, 219, 141, 166, 117, 82, 162, 34, 202, 104, 95, 242, 76, 12, 46},
+{38, 21, 92, 144, 142, 48, 182, 65, 203, 216, 203, 11, 144, 250, 23, 122, 48, 131, 214, 95, 44, 182, 50, 235, 203, 106, 10, 72, 80, 126, 69, 113, 194, 209, 115, 213, 101, 53, 43, 166, 16, 190, 114, 71, 194, 63, 72, 72, 24, 96, 156, 9, 158, 162, 59, 32, 181, 162, 88, 133, 96, 41, 125, 130, 213, 174, 116, 52, 89, 170, 26, 243, 11, 141, 80, 162, 102, 245, 97, 101, 66, 147, 92, 133, 85, 254, 167, 201, 202, 65, 37, 124, 103, 170, 40, 131, 23, 254, 42, 26, 187, 131, 113, 14, 239, 28, 228, 56, 236, 194, 58, 34, 120, 58, 200, 104, 238, 121, 195, 35, 34, 0, 211, 36, 226, 222, 203, 241},
+{194, 163, 179, 115, 225, 246, 20, 156, 112, 206, 89, 55, 163, 75, 162, 29, 119, 121, 187, 73, 78, 144, 18, 247, 23, 165, 221, 175, 89, 95, 36, 140, 157, 164, 57, 127, 48, 194, 136, 167, 250, 229, 152, 53, 41, 236, 130, 170, 17, 115, 12, 75, 195, 240, 59, 239, 117, 235, 249, 119, 37, 54, 45, 13, 151, 33, 93, 131, 242, 25, 47, 224, 217, 240, 28, 21, 137, 74, 41, 23, 206, 118, 212, 156, 165, 169, 111, 229, 94, 140, 81, 191, 214, 40, 62, 5, 180, 218, 96, 188, 121, 100, 217, 43, 102, 0, 108, 97, 110, 162, 47, 62, 14, 81, 121, 94, 165, 131, 208, 79, 252, 29, 215, 217, 12, 155, 19, 194},
+{33, 109, 54, 67, 118, 220, 13, 138, 19, 15, 197, 105, 200, 168, 220, 132, 44, 113, 166, 238, 95, 242, 6, 236, 186, 173, 43, 42, 120, 77, 105, 123, 81, 14, 108, 43, 170, 238, 52, 202, 165, 51, 173, 80, 9, 147, 222, 45, 190, 228, 124, 203, 65, 1, 141, 17, 95, 254, 117, 85, 123, 28, 12, 12, 44, 4, 177, 156, 197, 178, 144, 61, 110, 27, 41, 154, 212, 101, 56, 218, 50, 0, 168, 180, 147, 25, 156, 126, 3, 200, 17, 7, 213, 236, 207, 48, 174, 36, 42, 150, 98, 27, 35, 132, 117, 250, 130, 121, 24, 53, 34, 140, 154, 150, 191, 187, 7, 117, 72, 97, 209, 147, 75, 198, 183, 171, 236, 14},
+{26, 176, 168, 86, 162, 205, 184, 223, 131, 82, 18, 39, 120, 153, 11, 138, 105, 79, 17, 20, 33, 15, 63, 109, 30, 110, 30, 230, 121, 26, 56, 86, 215, 255, 1, 9, 216, 91, 246, 95, 102, 111, 138, 12, 166, 39, 31, 238, 229, 163, 185, 25, 29, 112, 31, 77, 161, 23, 77, 58, 241, 255, 91, 12, 164, 199, 247, 123, 3, 19, 182, 134, 20, 234, 16, 225, 27, 134, 186, 32, 35, 156, 66, 144, 7, 58, 24, 209, 91, 255, 181, 150, 16, 82, 67, 102, 223, 71, 59, 114, 95, 189, 68, 175, 252, 17, 63, 54, 81, 242, 4, 78, 2, 162, 91, 106, 233, 107, 225, 251, 144, 111, 231, 104, 165, 112, 29, 48},
+{165, 141, 122, 59, 17, 5, 67, 163, 31, 76, 97, 206, 164, 42, 85, 243, 190, 31, 168, 133, 136, 205, 74, 1, 60, 166, 86, 150, 128, 81, 24, 183, 200, 113, 118, 48, 192, 212, 226, 252, 81, 145, 169, 164, 102, 211, 204, 249, 184, 57, 23, 233, 229, 124, 206, 246, 184, 178, 217, 148, 100, 186, 255, 138, 108, 31, 73, 238, 37, 129, 179, 88, 13, 139, 93, 67, 128, 176, 252, 245, 41, 114, 197, 176, 126, 129, 116, 215, 54, 21, 162, 100, 142, 162, 95, 236, 16, 237, 189, 193, 80, 35, 109, 54, 74, 225, 5, 43, 211, 187, 122, 92, 169, 232, 126, 198, 169, 211, 73, 177, 85, 224, 112, 56, 117, 218, 180, 115},
+{155, 59, 191, 35, 51, 122, 37, 1, 15, 39, 39, 46, 253, 169, 108, 108, 124, 16, 120, 131, 40, 124, 246, 184, 31, 69, 67, 230, 102, 149, 187, 255, 104, 44, 2, 79, 114, 76, 218, 152, 40, 100, 187, 68, 227, 88, 234, 59, 19, 5, 92, 147, 177, 115, 162, 154, 171, 25, 137, 73, 123, 67, 166, 167, 227, 153, 16, 188, 154, 41, 118, 11, 190, 123, 120, 110, 111, 58, 72, 207, 109, 89, 141, 50, 252, 73, 18, 83, 183, 120, 51, 15, 227, 85, 153, 130, 14, 74, 216, 11, 121, 4, 86, 46, 5, 199, 108, 109, 230, 170, 249, 68, 2, 245, 11, 174, 90, 205, 59, 170, 159, 213, 233, 208, 45, 89, 52, 231},
+{98, 201, 32, 31, 97, 232, 24, 178, 163, 45, 197, 149, 82, 204, 228, 227, 60, 61, 226, 83, 147, 17, 219, 194, 139, 119, 233, 20, 18, 70, 88, 153, 75, 221, 114, 77, 232, 124, 25, 114, 59, 166, 61, 167, 109, 150, 193, 1, 244, 127, 114, 149, 67, 120, 37, 14, 25, 224, 216, 244, 88, 247, 211, 223, 250, 136, 150, 108, 64, 226, 106, 226, 194, 13, 249, 247, 39, 202, 141, 54, 165, 226, 155, 37, 59, 158, 87, 34, 61, 51, 249, 86, 219, 28, 130, 37, 134, 107, 117, 64, 180, 25, 79, 239, 163, 251, 42, 22, 115, 184, 57, 118, 225, 64, 218, 166, 245, 231, 127, 26, 131, 243, 74, 122, 5, 76, 155, 186},
+{88, 192, 151, 131, 152, 195, 70, 26, 244, 213, 47, 177, 173, 178, 58, 8, 55, 1, 253, 228, 230, 167, 3, 42, 206, 31, 143, 148, 102, 161, 32, 93, 36, 48, 164, 85, 89, 224, 29, 74, 247, 46, 202, 222, 62, 92, 240, 159, 61, 199, 244, 158, 54, 21, 177, 216, 36, 135, 73, 22, 237, 13, 207, 62, 100, 50, 207, 177, 8, 140, 126, 25, 220, 248, 93, 82, 187, 248, 44, 91, 8, 103, 192, 245, 112, 136, 134, 14, 118, 41, 51, 243, 74, 127, 74, 50, 216, 184, 231, 25, 134, 131, 45, 148, 211, 117, 248, 42, 139, 215, 180, 35, 208, 130, 80, 12, 195, 205, 171, 236, 114, 75, 41, 103, 48, 80, 227, 34},
+{101, 235, 113, 85, 149, 139, 199, 192, 71, 126, 12, 229, 99, 121, 28, 27, 132, 17, 99, 25, 59, 131, 41, 148, 74, 183, 249, 81, 180, 154, 142, 225, 32, 76, 148, 25, 95, 150, 77, 220, 43, 76, 192, 19, 5, 1, 65, 221, 147, 60, 188, 93, 14, 122, 119, 235, 163, 28, 50, 128, 198, 16, 72, 93, 229, 12, 60, 255, 75, 252, 155, 161, 91, 94, 103, 18, 174, 17, 101, 230, 154, 249, 64, 240, 226, 140, 58, 234, 125, 62, 65, 127, 66, 255, 196, 167, 171, 215, 134, 84, 191, 128, 205, 34, 210, 140, 62, 232, 217, 235, 11, 82, 67, 106, 137, 84, 91, 237, 37, 13, 55, 18, 132, 35, 175, 111, 154, 42},
+{121, 66, 246, 246, 112, 253, 13, 37, 210, 117, 57, 220, 116, 89, 149, 166, 147, 131, 90, 204, 210, 49, 106, 129, 221, 168, 84, 248, 146, 24, 249, 136, 131, 142, 177, 106, 183, 126, 58, 15, 179, 53, 228, 50, 211, 105, 205, 44, 224, 238, 183, 104, 104, 104, 177, 185, 104, 48, 160, 43, 12, 58, 255, 181, 216, 143, 87, 56, 186, 208, 121, 64, 14, 248, 233, 47, 149, 214, 106, 189, 105, 27, 180, 227, 115, 221, 207, 55, 178, 165, 107, 77, 185, 56, 157, 136, 176, 39, 105, 236, 42, 210, 159, 212, 188, 223, 13, 113, 133, 89, 6, 180, 28, 116, 165, 91, 239, 165, 186, 109, 210, 109, 32, 145, 94, 207, 108, 105},
+{142, 108, 119, 131, 194, 206, 184, 187, 0, 175, 199, 113, 75, 233, 222, 255, 194, 230, 156, 40, 209, 184, 220, 97, 173, 44, 194, 226, 253, 71, 19, 65, 30, 95, 58, 102, 35, 129, 40, 164, 76, 177, 209, 240, 223, 12, 239, 227, 209, 203, 183, 192, 198, 45, 225, 205, 172, 68, 240, 241, 245, 4, 190, 19, 48, 140, 148, 122, 128, 113, 172, 108, 164, 36, 203, 168, 184, 82, 6, 100, 77, 69, 156, 206, 144, 177, 176, 246, 4, 56, 119, 193, 71, 30, 122, 116, 135, 101, 230, 226, 57, 150, 60, 51, 21, 144, 167, 157, 103, 139, 42, 240, 25, 128, 95, 7, 8, 60, 83, 17, 139, 69, 255, 59, 181, 91, 181, 79},
+{53, 230, 31, 66, 109, 139, 104, 130, 56, 80, 78, 211, 223, 237, 93, 23, 162, 104, 254, 150, 132, 52, 125, 13, 183, 9, 211, 204, 184, 227, 206, 15, 12, 47, 33, 56, 215, 208, 138, 44, 179, 142, 136, 84, 175, 187, 204, 174, 2, 201, 157, 21, 13, 72, 52, 85, 43, 149, 142, 63, 183, 166, 215, 250, 179, 54, 69, 139, 37, 83, 20, 121, 190, 69, 30, 182, 153, 0, 95, 150, 196, 11, 242, 25, 34, 67, 13, 201, 63, 241, 23, 233, 131, 28, 24, 214, 77, 109, 88, 83, 76, 60, 58, 129, 59, 253, 181, 132, 77, 211, 203, 183, 227, 9, 198, 7, 172, 80, 37, 199, 121, 100, 116, 193, 40, 101, 159, 184},
+{64, 115, 179, 166, 117, 184, 76, 36, 210, 4, 189, 126, 64, 60, 210, 200, 172, 3, 67, 215, 67, 121, 197, 135, 219, 111, 132, 239, 203, 194, 121, 218, 49, 232, 130, 61, 225, 217, 126, 249, 251, 222, 212, 35, 12, 18, 158, 168, 55, 88, 232, 94, 80, 72, 104, 100, 197, 174, 38, 94, 110, 93, 83, 47, 8, 3, 78, 50, 246, 166, 52, 138, 221, 221, 137, 13, 174, 130, 9, 13, 128, 141, 69, 189, 104, 119, 49, 206, 119, 87, 232, 215, 225, 60, 92, 233, 30, 174, 193, 235, 203, 44, 92, 56, 210, 212, 11, 193, 163, 49, 222, 168, 204, 91, 0, 133, 117, 215, 226, 117, 76, 219, 171, 240, 6, 0, 141, 180},
+{45, 153, 170, 51, 164, 34, 247, 218, 227, 52, 191, 195, 215, 192, 57, 236, 169, 200, 190, 112, 124, 76, 175, 147, 89, 240, 180, 90, 64, 26, 38, 242, 156, 236, 189, 54, 110, 175, 218, 32, 132, 113, 146, 120, 90, 210, 161, 117, 160, 208, 175, 179, 185, 75, 43, 255, 140, 199, 68, 99, 79, 246, 50, 38, 161, 91, 97, 148, 1, 3, 240, 2, 14, 212, 246, 251, 235, 86, 42, 161, 170, 110, 35, 87, 169, 20, 36, 171, 190, 179, 4, 185, 53, 70, 247, 117, 137, 213, 195, 7, 56, 206, 69, 87, 227, 160, 99, 229, 121, 174, 66, 83, 188, 173, 127, 160, 56, 122, 15, 165, 62, 191, 164, 47, 172, 98, 196, 195},
+{28, 166, 151, 31, 35, 34, 165, 140, 29, 79, 147, 14, 152, 17, 4, 102, 20, 180, 51, 112, 222, 214, 189, 139, 115, 205, 193, 52, 55, 31, 193, 167, 213, 34, 235, 251, 154, 215, 244, 252, 101, 252, 42, 94, 54, 98, 57, 215, 249, 89, 197, 247, 233, 143, 27, 240, 245, 130, 52, 212, 133, 201, 47, 246, 24, 99, 37, 42, 165, 112, 136, 173, 183, 33, 164, 168, 228, 157, 51, 93, 183, 128, 194, 105, 167, 228, 110, 97, 48, 223, 50, 181, 154, 122, 1, 117, 230, 134, 78, 51, 21, 37, 175, 18, 39, 183, 24, 199, 178, 57, 186, 107, 186, 49, 183, 232, 139, 89, 17, 246, 149, 65, 39, 30, 206, 66, 177, 75},
+{129, 247, 86, 74, 26, 22, 138, 160, 30, 198, 158, 66, 114, 31, 101, 149, 200, 67, 175, 118, 151, 161, 138, 51, 192, 88, 205, 143, 222, 241, 239, 15, 205, 29, 190, 160, 224, 52, 165, 55, 80, 222, 56, 12, 162, 59, 34, 177, 175, 116, 172, 124, 8, 50, 233, 48, 112, 176, 105, 196, 145, 68, 129, 173, 66, 218, 249, 118, 190, 57, 68, 145, 82, 244, 137, 9, 180, 125, 85, 53, 23, 146, 46, 145, 56, 183, 151, 54, 84, 113, 30, 116, 14, 89, 103, 153, 10, 56, 234, 28, 162, 170, 205, 227, 117, 48, 56, 253, 78, 25, 78, 0, 166, 127, 117, 179, 208, 238, 37, 23, 121, 69, 45, 129, 203, 107, 192, 35},
+{69, 202, 141, 166, 225, 79, 197, 43, 9, 224, 252, 137, 126, 35, 255, 105, 23, 211, 201, 114, 214, 157, 210, 51, 75, 97, 140, 98, 16, 41, 198, 132, 214, 173, 108, 156, 152, 185, 2, 41, 12, 45, 233, 67, 52, 194, 144, 139, 99, 242, 12, 67, 109, 109, 2, 75, 195, 244, 229, 105, 240, 37, 28, 74, 27, 34, 119, 74, 122, 241, 208, 102, 187, 175, 251, 203, 173, 199, 209, 44, 120, 97, 20, 188, 132, 148, 165, 248, 241, 218, 120, 14, 186, 16, 98, 217, 12, 229, 130, 96, 86, 253, 91, 217, 233, 230, 135, 65, 184, 241, 2, 0, 53, 10, 183, 56, 217, 134, 56, 12, 55, 91, 48, 195, 18, 226, 143, 217},
+{198, 214, 196, 28, 100, 115, 1, 249, 152, 109, 155, 234, 12, 206, 179, 107, 62, 153, 195, 162, 160, 15, 220, 89, 42, 98, 66, 75, 215, 199, 160, 215, 248, 234, 74, 150, 220, 62, 183, 131, 55, 235, 86, 207, 146, 95, 199, 176, 130, 104, 250, 139, 6, 114, 43, 43, 150, 160, 24, 80, 108, 96, 125, 1, 174, 74, 157, 172, 229, 28, 254, 111, 37, 52, 209, 102, 219, 154, 203, 173, 158, 193, 169, 48, 66, 69, 11, 247, 227, 50, 47, 6, 231, 229, 25, 180, 171, 19, 198, 154, 170, 6, 54, 56, 244, 65, 205, 189, 167, 15, 229, 102, 224, 101, 255, 120, 239, 108, 236, 112, 174, 225, 232, 160, 253, 105, 120, 103},
+{13, 193, 133, 197, 236, 142, 242, 11, 10, 125, 243, 135, 33, 205, 107, 29, 154, 187, 140, 179, 26, 41, 44, 50, 135, 41, 81, 59, 134, 134, 163, 174, 52, 49, 132, 21, 48, 61, 4, 36, 187, 64, 24, 244, 40, 67, 226, 151, 205, 48, 50, 54, 133, 56, 7, 235, 187, 103, 149, 133, 115, 77, 142, 84, 187, 87, 255, 86, 225, 173, 87, 243, 194, 170, 81, 185, 32, 172, 120, 18, 117, 207, 250, 55, 29, 104, 151, 142, 89, 12, 135, 118, 38, 94, 22, 225, 213, 158, 193, 150, 90, 177, 35, 9, 190, 59, 89, 238, 244, 117, 223, 176, 69, 103, 84, 244, 96, 11, 199, 81, 220, 56, 138, 140, 159, 38, 34, 153},
+{39, 27, 68, 229, 79, 254, 168, 151, 93, 38, 18, 161, 187, 66, 110, 173, 125, 5, 110, 145, 15, 19, 153, 157, 34, 178, 84, 138, 149, 44, 143, 145, 57, 208, 235, 141, 206, 187, 107, 211, 29, 206, 122, 81, 139, 133, 94, 149, 110, 52, 219, 178, 44, 47, 93, 86, 253, 215, 250, 79, 193, 22, 230, 42, 161, 16, 249, 209, 17, 14, 185, 191, 29, 216, 217, 179, 160, 85, 252, 7, 73, 92, 34, 21, 99, 21, 45, 171, 31, 141, 57, 91, 184, 235, 248, 27, 245, 55, 190, 107, 17, 34, 44, 139, 9, 215, 43, 93, 76, 158, 53, 58, 238, 77, 138, 167, 243, 106, 164, 68, 135, 240, 126, 159, 126, 19, 250, 162},
+{8, 96, 212, 37, 126, 203, 235, 25, 214, 140, 107, 142, 120, 123, 163, 104, 216, 214, 119, 17, 178, 103, 132, 23, 58, 90, 12, 95, 18, 165, 159, 32, 23, 29, 120, 231, 209, 180, 34, 16, 138, 186, 78, 51, 99, 84, 147, 11, 119, 202, 8, 251, 94, 253, 110, 243, 138, 223, 224, 78, 23, 78, 129, 31, 254, 92, 3, 204, 159, 143, 17, 64, 179, 72, 77, 31, 159, 180, 15, 146, 167, 180, 187, 62, 74, 226, 151, 73, 116, 105, 163, 13, 31, 62, 3, 193, 230, 208, 153, 253, 234, 21, 214, 16, 172, 53, 113, 220, 108, 144, 133, 58, 172, 187, 209, 122, 179, 39, 122, 248, 230, 154, 15, 8, 68, 48, 98, 98},
+{81, 173, 118, 69, 141, 164, 9, 191, 203, 80, 159, 223, 3, 141, 197, 146, 61, 42, 155, 207, 216, 16, 61, 196, 17, 219, 23, 135, 152, 8, 231, 203, 207, 245, 135, 235, 69, 52, 216, 230, 37, 168, 91, 194, 143, 122, 239, 1, 101, 190, 78, 184, 24, 98, 170, 187, 68, 120, 137, 203, 31, 197, 166, 44, 46, 46, 185, 174, 160, 69, 72, 204, 180, 10, 25, 155, 197, 169, 249, 213, 209, 193, 228, 79, 59, 202, 246, 12, 221, 40, 55, 57, 216, 144, 128, 229, 214, 226, 221, 39, 161, 69, 117, 55, 164, 170, 56, 244, 112, 2, 107, 28, 200, 199, 192, 159, 243, 106, 93, 72, 98, 221, 97, 30, 28, 138, 213, 94},
+{56, 58, 193, 225, 25, 140, 70, 241, 193, 210, 178, 153, 122, 100, 4, 29, 18, 181, 23, 212, 24, 153, 181, 134, 30, 230, 96, 169, 60, 187, 202, 162, 92, 137, 32, 249, 195, 48, 215, 200, 40, 250, 35, 94, 54, 10, 65, 164, 77, 227, 124, 128, 247, 150, 158, 6, 48, 55, 74, 196, 229, 113, 70, 250, 18, 98, 87, 209, 245, 179, 150, 71, 241, 65, 64, 215, 154, 45, 204, 166, 178, 9, 163, 81, 90, 206, 123, 48, 159, 164, 241, 53, 74, 8, 116, 12, 103, 239, 126, 105, 210, 4, 70, 216, 147, 14, 178, 229, 26, 100, 210, 136, 102, 176, 238, 234, 141, 152, 248, 4, 59, 234, 230, 199, 246, 249, 42, 241},
+{154, 161, 158, 235, 20, 79, 4, 1, 88, 43, 20, 219, 162, 50, 141, 220, 211, 255, 62, 154, 235, 225, 52, 219, 158, 122, 237, 242, 173, 38, 161, 83, 225, 82, 72, 29, 116, 94, 237, 97, 128, 130, 254, 137, 84, 123, 71, 85, 221, 160, 212, 209, 153, 131, 156, 22, 164, 214, 238, 57, 7, 162, 27, 95, 80, 236, 85, 144, 120, 244, 246, 146, 234, 84, 150, 67, 134, 238, 29, 131, 16, 221, 52, 3, 41, 106, 162, 47, 16, 38, 52, 13, 19, 61, 201, 72, 184, 4, 97, 4, 219, 224, 201, 215, 118, 126, 94, 224, 56, 202, 58, 158, 108, 124, 89, 118, 56, 254, 162, 184, 36, 60, 24, 229, 129, 96, 198, 186},
+{33, 164, 86, 144, 43, 114, 78, 118, 171, 187, 102, 198, 15, 153, 5, 241, 17, 87, 60, 107, 94, 168, 191, 46, 149, 221, 105, 150, 33, 213, 17, 35, 197, 232, 16, 254, 141, 233, 139, 211, 227, 136, 192, 149, 162, 200, 222, 45, 219, 255, 189, 114, 132, 0, 168, 212, 59, 130, 29, 193, 116, 238, 187, 82, 117, 10, 150, 80, 32, 223, 187, 4, 48, 158, 108, 26, 58, 115, 112, 137, 182, 222, 99, 112, 62, 184, 200, 42, 75, 249, 255, 247, 26, 14, 153, 68, 43, 125, 147, 134, 68, 176, 148, 28, 229, 79, 39, 163, 53, 149, 148, 184, 73, 246, 181, 156, 22, 245, 144, 125, 170, 70, 23, 196, 58, 144, 119, 86},
+{75, 222, 136, 250, 109, 255, 31, 241, 1, 30, 61, 245, 172, 237, 92, 56, 30, 170, 75, 197, 145, 209, 52, 119, 143, 202, 48, 144, 151, 17, 197, 175, 107, 227, 8, 162, 188, 243, 89, 178, 131, 0, 64, 57, 59, 135, 68, 137, 16, 28, 85, 115, 7, 60, 131, 128, 108, 122, 55, 16, 134, 137, 251, 129, 235, 99, 148, 169, 87, 60, 222, 192, 77, 217, 162, 214, 64, 18, 48, 46, 199, 240, 153, 197, 132, 124, 57, 226, 54, 166, 255, 159, 216, 80, 79, 56, 32, 207, 69, 255, 37, 13, 245, 2, 174, 235, 3, 1, 233, 2, 102, 166, 120, 23, 151, 84, 55, 97, 163, 50, 13, 244, 70, 209, 19, 131, 178, 245},
+{144, 91, 156, 87, 165, 162, 200, 62, 157, 179, 176, 60, 79, 10, 126, 27, 44, 181, 164, 88, 170, 14, 140, 210, 206, 105, 5, 191, 186, 196, 53, 59, 55, 233, 53, 206, 62, 14, 213, 132, 250, 248, 85, 194, 225, 118, 44, 193, 75, 222, 89, 163, 208, 63, 8, 112, 128, 130, 219, 71, 39, 38, 99, 71, 32, 50, 102, 165, 211, 51, 162, 105, 206, 128, 186, 236, 200, 242, 178, 9, 9, 124, 114, 126, 101, 198, 10, 39, 203, 115, 21, 88, 178, 242, 107, 200, 143, 31, 151, 142, 210, 21, 135, 50, 125, 199, 55, 106, 116, 27, 222, 82, 7, 74, 58, 53, 206, 8, 44, 109, 106, 137, 163, 88, 68, 49, 198, 93},
+{177, 130, 249, 75, 232, 87, 31, 120, 249, 232, 75, 90, 40, 0, 7, 209, 231, 85, 83, 116, 142, 60, 250, 232, 8, 97, 219, 139, 94, 206, 134, 241, 237, 49, 68, 235, 92, 60, 13, 151, 50, 29, 146, 216, 188, 112, 45, 115, 121, 60, 225, 187, 32, 115, 25, 181, 195, 75, 144, 140, 105, 25, 49, 225, 155, 201, 7, 54, 90, 237, 102, 38, 53, 250, 235, 161, 136, 57, 240, 99, 90, 103, 205, 214, 183, 193, 234, 69, 232, 115, 30, 113, 179, 180, 185, 240, 28, 90, 255, 6, 146, 203, 178, 116, 195, 216, 63, 14, 169, 79, 143, 213, 135, 199, 196, 199, 143, 254, 39, 166, 88, 135, 72, 32, 193, 236, 58, 157},
+{174, 218, 5, 103, 148, 15, 130, 138, 57, 61, 252, 66, 9, 140, 224, 79, 127, 156, 155, 145, 64, 159, 229, 74, 247, 55, 8, 144, 215, 195, 168, 62, 244, 152, 91, 52, 88, 46, 152, 30, 254, 148, 185, 0, 249, 30, 248, 14, 33, 220, 231, 235, 132, 196, 213, 180, 229, 47, 194, 224, 45, 166, 11, 255, 114, 23, 10, 141, 206, 187, 158, 237, 141, 104, 93, 95, 240, 59, 136, 92, 169, 141, 202, 102, 189, 58, 23, 180, 131, 169, 229, 115, 68, 79, 125, 186, 26, 40, 63, 88, 96, 113, 240, 75, 7, 179, 157, 32, 137, 72, 83, 216, 15, 214, 172, 231, 96, 67, 97, 128, 235, 145, 164, 121, 220, 37, 145, 167},
+{105, 48, 247, 76, 206, 72, 252, 250, 239, 28, 169, 1, 80, 152, 31, 39, 199, 253, 183, 1, 16, 15, 7, 74, 103, 46, 131, 49, 72, 105, 9, 151, 129, 230, 68, 180, 22, 185, 141, 77, 29, 218, 37, 152, 74, 190, 164, 199, 228, 200, 98, 208, 171, 29, 91, 155, 94, 191, 53, 247, 169, 36, 23, 155, 109, 147, 20, 56, 177, 159, 247, 7, 169, 81, 248, 182, 4, 138, 215, 174, 104, 147, 191, 153, 71, 80, 224, 215, 129, 250, 16, 0, 195, 103, 83, 240, 183, 202, 30, 239, 154, 220, 194, 250, 212, 135, 228, 214, 192, 148, 77, 158, 48, 146, 216, 209, 153, 18, 145, 247, 229, 146, 253, 200, 83, 167, 149, 251},
+{145, 201, 197, 31, 253, 110, 20, 78, 190, 44, 102, 168, 80, 244, 102, 93, 161, 153, 171, 223, 43, 40, 121, 193, 69, 87, 59, 66, 54, 179, 161, 99, 1, 116, 27, 167, 2, 24, 208, 75, 22, 24, 159, 195, 237, 185, 152, 157, 3, 236, 158, 215, 45, 120, 45, 33, 11, 103, 121, 68, 246, 170, 119, 5, 112, 77, 174, 168, 174, 202, 4, 103, 109, 185, 168, 74, 42, 3, 12, 166, 69, 32, 72, 72, 74, 59, 165, 173, 9, 27, 167, 31, 186, 180, 53, 104, 199, 74, 137, 4, 59, 159, 209, 16, 95, 11, 247, 104, 6, 126, 255, 255, 148, 72, 147, 7, 248, 130, 55, 224, 86, 203, 201, 76, 84, 104, 198, 76},
+{186, 127, 151, 171, 59, 181, 109, 105, 57, 1, 156, 30, 252, 65, 88, 7, 197, 198, 79, 197, 50, 50, 184, 249, 52, 1, 53, 142, 123, 234, 34, 252, 139, 196, 67, 173, 85, 20, 231, 18, 61, 168, 134, 70, 59, 21, 40, 92, 200, 105, 220, 70, 10, 86, 181, 230, 54, 145, 0, 197, 240, 135, 70, 192, 175, 159, 84, 165, 3, 209, 187, 11, 42, 7, 149, 23, 87, 13, 248, 7, 152, 252, 211, 255, 118, 17, 67, 152, 232, 0, 15, 229, 237, 157, 156, 2, 122, 143, 253, 160, 156, 24, 56, 173, 189, 149, 73, 93, 22, 48, 119, 220, 81, 57, 184, 135, 164, 157, 111, 96, 113, 62, 107, 239, 134, 32, 74, 191},
+{83, 13, 240, 87, 93, 156, 86, 220, 57, 245, 216, 180, 113, 135, 173, 52, 235, 5, 38, 144, 61, 200, 49, 10, 87, 98, 160, 170, 72, 93, 41, 241, 159, 217, 193, 63, 46, 249, 24, 117, 188, 78, 220, 218, 231, 230, 33, 97, 123, 86, 0, 39, 15, 10, 73, 2, 25, 246, 222, 51, 173, 253, 19, 10, 133, 109, 230, 140, 202, 202, 50, 148, 81, 109, 190, 230, 67, 70, 232, 236, 235, 169, 83, 233, 183, 200, 109, 11, 116, 150, 149, 181, 141, 46, 202, 147, 17, 54, 82, 116, 39, 54, 170, 53, 5, 66, 120, 176, 245, 65, 132, 254, 158, 199, 39, 1, 217, 245, 197, 252, 210, 19, 139, 159, 201, 193, 242, 106},
+{103, 39, 211, 0, 16, 166, 143, 225, 109, 237, 181, 178, 218, 189, 33, 125, 179, 153, 29, 118, 59, 141, 250, 26, 178, 56, 20, 39, 96, 123, 203, 63, 86, 173, 49, 55, 1, 171, 91, 6, 1, 5, 28, 43, 148, 200, 220, 75, 244, 200, 247, 244, 248, 249, 14, 86, 228, 186, 93, 112, 242, 181, 54, 164, 26, 159, 178, 253, 3, 193, 109, 164, 144, 98, 120, 211, 132, 178, 116, 68, 37, 19, 122, 25, 64, 155, 47, 26, 168, 248, 75, 202, 51, 226, 160, 79, 112, 87, 118, 53, 177, 72, 4, 219, 244, 54, 215, 154, 246, 51, 80, 21, 210, 8, 50, 150, 111, 138, 161, 175, 151, 25, 4, 155, 254, 211, 103, 89},
+{98, 189, 84, 169, 115, 144, 47, 222, 52, 101, 120, 232, 139, 129, 28, 126, 21, 118, 48, 159, 220, 251, 102, 22, 14, 151, 12, 18, 57, 152, 249, 172, 122, 115, 53, 216, 164, 70, 185, 81, 203, 221, 107, 236, 82, 226, 68, 157, 96, 78, 202, 178, 5, 249, 158, 171, 113, 253, 160, 30, 243, 220, 110, 100, 160, 83, 13, 118, 59, 96, 116, 120, 147, 74, 182, 125, 36, 130, 154, 202, 126, 215, 121, 17, 246, 249, 13, 82, 148, 220, 5, 52, 104, 204, 82, 52, 35, 186, 174, 248, 236, 207, 107, 122, 183, 141, 134, 39, 179, 12, 74, 73, 196, 120, 111, 204, 66, 70, 54, 186, 5, 78, 214, 2, 205, 188, 163, 236},
+{163, 210, 246, 92, 243, 171, 6, 132, 83, 31, 37, 24, 232, 4, 242, 207, 222, 191, 156, 172, 97, 149, 254, 251, 141, 129, 236, 199, 30, 155, 254, 162, 72, 135, 243, 1, 25, 41, 200, 210, 233, 239, 69, 145, 85, 182, 254, 12, 155, 134, 8, 167, 219, 162, 168, 192, 80, 6, 42, 155, 232, 165, 238, 91, 166, 101, 223, 221, 155, 85, 29, 248, 43, 55, 135, 69, 134, 119, 238, 156, 34, 164, 232, 20, 21, 223, 137, 190, 175, 16, 106, 242, 147, 90, 107, 202, 231, 49, 48, 151, 230, 37, 80, 55, 117, 9, 122, 190, 26, 59, 226, 186, 157, 202, 65, 128, 96, 24, 184, 180, 151, 37, 152, 61, 129, 8, 26, 160},
+{66, 246, 122, 54, 154, 144, 140, 5, 75, 165, 77, 101, 2, 201, 177, 206, 225, 81, 109, 24, 12, 254, 2, 195, 46, 210, 101, 235, 214, 63, 15, 43, 116, 69, 189, 70, 130, 63, 20, 15, 76, 240, 160, 105, 15, 196, 79, 152, 50, 225, 111, 62, 95, 54, 172, 92, 230, 52, 33, 63, 96, 164, 129, 32, 177, 12, 144, 161, 36, 232, 96, 243, 208, 158, 29, 70, 234, 153, 147, 30, 123, 200, 68, 142, 117, 213, 18, 39, 193, 44, 118, 120, 129, 5, 65, 117, 163, 153, 250, 163, 227, 131, 9, 39, 23, 142, 47, 16, 228, 147, 184, 149, 198, 236, 32, 205, 124, 15, 109, 71, 215, 107, 114, 215, 0, 8, 245, 160},
+{132, 214, 10, 15, 33, 124, 182, 106, 252, 115, 24, 241, 160, 138, 174, 204, 128, 253, 89, 253, 62, 165, 223, 143, 209, 202, 42, 207, 246, 62, 220, 244, 58, 77, 49, 214, 134, 69, 176, 73, 5, 15, 168, 236, 26, 48, 152, 28, 153, 128, 47, 148, 171, 210, 83, 163, 30, 7, 225, 252, 6, 67, 215, 165, 197, 19, 223, 192, 26, 36, 143, 255, 100, 19, 204, 40, 229, 222, 168, 124, 158, 151, 217, 113, 51, 34, 130, 63, 32, 12, 102, 164, 96, 79, 250, 18, 254, 252, 237, 250, 88, 12, 129, 158, 94, 71, 198, 234, 249, 144, 66, 190, 142, 114, 5, 204, 114, 165, 78, 132, 26, 199, 50, 254, 79, 8, 7, 247},
+{54, 32, 51, 84, 91, 102, 228, 83, 167, 38, 114, 106, 68, 0, 89, 90, 35, 113, 198, 140, 174, 16, 82, 62, 146, 199, 75, 140, 98, 155, 201, 239, 137, 106, 202, 68, 225, 104, 34, 29, 251, 26, 144, 22, 214, 159, 104, 221, 3, 212, 126, 31, 97, 55, 63, 202, 198, 31, 130, 158, 109, 136, 175, 132, 148, 128, 6, 55, 67, 241, 231, 15, 242, 61, 77, 28, 241, 121, 69, 40, 53, 156, 64, 217, 144, 3, 204, 102, 50, 9, 176, 239, 97, 109, 173, 191, 123, 27, 157, 255, 68, 249, 3, 152, 71, 140, 195, 78, 227, 28, 95, 205, 240, 86, 52, 224, 128, 37, 136, 203, 94, 20, 151, 73, 211, 123, 165, 251},
+{60, 242, 102, 145, 25, 101, 126, 162, 240, 2, 239, 41, 136, 160, 170, 127, 224, 215, 156, 90, 221, 163, 19, 121, 134, 16, 53, 111, 80, 25, 93, 82, 201, 162, 94, 92, 162, 234, 204, 246, 140, 4, 121, 198, 160, 104, 226, 130, 235, 232, 93, 56, 53, 199, 0, 212, 237, 43, 78, 60, 68, 6, 52, 214, 62, 107, 213, 77, 39, 154, 20, 71, 174, 6, 113, 76, 145, 212, 135, 230, 80, 74, 90, 80, 50, 253, 89, 20, 127, 193, 80, 163, 7, 231, 69, 78, 66, 178, 205, 255, 236, 79, 135, 77, 89, 117, 57, 9, 216, 233, 194, 253, 180, 114, 168, 206, 31, 151, 94, 20, 120, 29, 114, 79, 235, 19, 121, 252},
+{99, 232, 88, 63, 5, 126, 186, 60, 247, 128, 165, 194, 252, 24, 5, 132, 141, 102, 43, 148, 74, 198, 119, 21, 163, 37, 255, 92, 141, 49, 169, 152, 43, 202, 85, 238, 77, 118, 59, 81, 134, 5, 79, 36, 55, 117, 175, 1, 90, 130, 83, 138, 252, 160, 130, 178, 154, 64, 34, 79, 50, 129, 126, 161, 0, 212, 111, 107, 59, 197, 251, 42, 169, 67, 38, 8, 201, 75, 52, 90, 149, 82, 24, 235, 80, 187, 123, 57, 57, 222, 217, 66, 173, 116, 146, 5, 120, 112, 161, 186, 79, 17, 137, 134, 32, 142, 156, 81, 56, 136, 255, 157, 101, 88, 179, 137, 225, 125, 137, 178, 19, 10, 214, 188, 176, 118, 188, 125},
+{109, 207, 31, 4, 216, 16, 231, 224, 125, 7, 152, 96, 156, 46, 148, 166, 122, 32, 254, 152, 160, 167, 156, 143, 221, 22, 251, 8, 73, 191, 193, 160, 223, 233, 65, 212, 253, 241, 208, 85, 211, 18, 9, 228, 39, 248, 234, 32, 19, 82, 4, 241, 160, 254, 118, 49, 65, 236, 90, 149, 207, 9, 89, 154, 213, 171, 191, 88, 111, 110, 217, 172, 217, 249, 47, 182, 197, 69, 0, 64, 57, 14, 70, 94, 231, 172, 167, 131, 32, 224, 65, 60, 43, 119, 224, 142, 11, 222, 27, 193, 141, 126, 234, 41, 55, 75, 232, 205, 43, 228, 90, 19, 121, 154, 247, 219, 72, 15, 145, 112, 28, 223, 76, 244, 131, 72, 17, 169},
+{178, 199, 217, 42, 134, 79, 251, 166, 64, 85, 33, 220, 36, 146, 190, 228, 5, 105, 197, 55, 194, 29, 200, 233, 207, 201, 36, 74, 67, 172, 97, 3, 23, 223, 29, 96, 37, 122, 116, 170, 95, 48, 118, 166, 224, 246, 198, 174, 175, 132, 251, 242, 252, 73, 137, 202, 91, 143, 74, 131, 54, 188, 197, 222, 198, 199, 3, 215, 145, 168, 45, 187, 213, 105, 93, 108, 34, 48, 114, 135, 197, 226, 21, 184, 52, 184, 132, 236, 243, 66, 138, 108, 94, 225, 63, 206, 104, 15, 118, 3, 254, 164, 227, 200, 252, 168, 204, 185, 210, 233, 190, 57, 242, 95, 209, 26, 96, 168, 63, 251, 97, 19, 235, 122, 24, 234, 173, 238},
+{76, 96, 27, 219, 30, 254, 87, 31, 15, 57, 87, 99, 94, 26, 141, 101, 234, 163, 205, 118, 149, 121, 228, 213, 211, 201, 254, 117, 138, 32, 0, 160, 25, 179, 232, 85, 85, 177, 60, 29, 4, 22, 8, 153, 71, 243, 239, 0, 98, 159, 170, 24, 54, 231, 200, 6, 80, 146, 61, 79, 80, 62, 129, 92, 95, 184, 10, 162, 54, 250, 66, 84, 15, 168, 252, 58, 248, 136, 51, 22, 70, 211, 161, 85, 57, 136, 107, 230, 239, 119, 95, 157, 45, 15, 82, 215, 110, 16, 169, 9, 124, 50, 34, 24, 219, 174, 172, 216, 152, 224, 127, 6, 25, 242, 59, 67, 34, 248, 99, 30, 81, 67, 80, 240, 243, 80, 163, 76},
+{201, 66, 194, 5, 176, 240, 191, 199, 57, 32, 117, 26, 205, 213, 9, 12, 80, 86, 90, 7, 161, 211, 183, 63, 140, 15, 190, 252, 19, 209, 79, 52, 247, 42, 223, 166, 169, 18, 113, 245, 51, 114, 117, 234, 62, 10, 117, 68, 73, 55, 51, 225, 19, 89, 108, 242, 116, 239, 246, 0, 111, 221, 116, 242, 125, 206, 76, 163, 236, 169, 35, 14, 239, 125, 19, 229, 61, 30, 246, 112, 200, 214, 56, 108, 5, 229, 220, 21, 234, 188, 66, 246, 198, 211, 224, 49, 144, 131, 29, 64, 65, 170, 160, 40, 127, 227, 163, 192, 192, 134, 217, 128, 167, 169, 117, 49, 31, 72, 30, 183, 0, 41, 20, 81, 10, 115, 191, 209},
+{76, 12, 29, 239, 20, 99, 138, 217, 155, 178, 236, 161, 254, 150, 226, 160, 5, 51, 253, 194, 77, 246, 160, 6, 99, 19, 4, 104, 129, 31, 42, 29, 34, 32, 80, 240, 52, 173, 114, 111, 72, 218, 211, 249, 30, 50, 27, 240, 126, 108, 112, 235, 237, 24, 234, 240, 170, 34, 147, 212, 20, 207, 116, 16, 83, 153, 56, 90, 74, 88, 65, 41, 225, 240, 197, 205, 202, 150, 196, 61, 46, 245, 185, 166, 254, 250, 138, 243, 177, 118, 228, 85, 1, 251, 80, 216, 173, 108, 90, 49, 207, 85, 37, 76, 5, 201, 40, 173, 208, 105, 27, 156, 158, 183, 177, 72, 205, 188, 198, 72, 215, 103, 14, 38, 174, 19, 69, 139},
+{134, 222, 63, 112, 25, 68, 203, 186, 172, 38, 149, 161, 183, 66, 101, 29, 109, 154, 152, 178, 106, 21, 131, 74, 117, 165, 228, 105, 185, 43, 15, 43, 115, 197, 29, 142, 18, 31, 37, 192, 179, 176, 231, 79, 3, 59, 154, 32, 218, 197, 45, 52, 17, 132, 205, 171, 112, 241, 19, 218, 225, 193, 197, 68, 241, 200, 23, 86, 234, 190, 214, 65, 5, 81, 249, 82, 170, 6, 74, 177, 89, 112, 103, 77, 222, 23, 193, 89, 160, 137, 227, 4, 210, 242, 22, 104, 217, 117, 195, 138, 209, 74, 131, 16, 110, 236, 121, 81, 101, 122, 84, 3, 123, 191, 53, 190, 101, 222, 71, 58, 230, 27, 4, 86, 192, 255, 7, 169},
+{174, 42, 77, 153, 207, 254, 92, 149, 245, 199, 151, 175, 114, 197, 148, 185, 198, 13, 215, 119, 14, 228, 8, 24, 186, 97, 6, 34, 188, 213, 206, 99, 49, 197, 147, 239, 43, 226, 236, 2, 92, 224, 207, 241, 138, 40, 68, 139, 50, 184, 162, 33, 5, 78, 243, 212, 213, 140, 180, 86, 58, 209, 188, 9, 127, 58, 20, 120, 209, 17, 50, 183, 46, 248, 91, 203, 254, 223, 1, 147, 43, 89, 156, 210, 55, 143, 193, 244, 33, 109, 7, 174, 224, 158, 202, 19, 16, 69, 204, 189, 187, 210, 246, 56, 93, 81, 58, 190, 46, 31, 28, 166, 184, 142, 84, 196, 181, 153, 238, 190, 66, 93, 59, 213, 234, 98, 211, 175},
+{173, 53, 157, 95, 168, 21, 50, 84, 74, 168, 60, 185, 25, 44, 211, 34, 213, 25, 237, 248, 90, 98, 141, 204, 3, 249, 70, 36, 97, 24, 84, 231, 106, 55, 251, 85, 211, 77, 48, 241, 161, 226, 238, 43, 215, 130, 151, 143, 132, 229, 175, 237, 156, 76, 91, 248, 206, 46, 24, 229, 208, 144, 154, 131, 200, 247, 68, 79, 37, 44, 19, 14, 208, 40, 34, 102, 137, 93, 244, 95, 8, 45, 6, 121, 221, 50, 197, 43, 26, 185, 201, 6, 241, 135, 107, 40, 52, 115, 127, 103, 101, 212, 45, 210, 52, 168, 244, 191, 201, 234, 113, 37, 47, 151, 179, 166, 224, 124, 85, 95, 148, 189, 142, 190, 232, 81, 201, 195},
+{77, 95, 181, 160, 129, 43, 25, 107, 125, 127, 59, 170, 2, 179, 216, 174, 51, 161, 228, 146, 137, 18, 136, 121, 244, 201, 179, 229, 214, 203, 34, 104, 231, 25, 0, 53, 162, 80, 166, 157, 216, 48, 9, 55, 26, 235, 95, 186, 6, 158, 149, 76, 153, 15, 144, 107, 245, 22, 182, 48, 104, 19, 107, 4, 159, 30, 96, 52, 141, 96, 27, 213, 152, 141, 58, 244, 178, 68, 4, 165, 22, 108, 179, 80, 43, 127, 16, 229, 197, 26, 231, 253, 245, 36, 244, 41, 161, 237, 206, 138, 67, 74, 131, 254, 113, 106, 252, 174, 3, 13, 23, 239, 229, 215, 135, 224, 248, 216, 215, 180, 46, 75, 249, 240, 175, 195, 95, 209},
+{166, 247, 12, 33, 58, 208, 225, 87, 187, 186, 33, 129, 127, 195, 130, 152, 28, 51, 102, 70, 167, 101, 116, 117, 140, 111, 248, 207, 62, 161, 104, 130, 28, 120, 16, 6, 196, 189, 156, 10, 40, 83, 91, 224, 231, 16, 120, 227, 33, 19, 242, 174, 158, 202, 122, 70, 156, 227, 67, 118, 58, 115, 38, 136, 97, 63, 229, 211, 191, 225, 0, 89, 40, 59, 150, 148, 39, 86, 68, 188, 211, 183, 249, 247, 47, 196, 18, 94, 231, 253, 192, 72, 31, 82, 179, 40, 209, 15, 11, 21, 171, 50, 43, 148, 219, 161, 11, 49, 240, 214, 54, 105, 170, 212, 39, 175, 41, 0, 17, 18, 9, 207, 38, 2, 47, 38, 182, 190},
+{179, 160, 241, 216, 243, 12, 20, 249, 61, 175, 149, 215, 185, 188, 112, 52, 163, 154, 49, 119, 153, 84, 189, 221, 207, 2, 232, 34, 229, 60, 240, 118, 12, 111, 199, 97, 135, 236, 73, 205, 35, 37, 137, 106, 217, 192, 100, 150, 133, 144, 206, 63, 68, 225, 51, 254, 67, 83, 136, 241, 241, 45, 137, 161, 21, 55, 203, 30, 180, 34, 212, 42, 96, 78, 43, 216, 51, 81, 85, 82, 51, 137, 63, 229, 200, 71, 110, 102, 153, 138, 145, 43, 178, 73, 104, 81, 159, 143, 70, 213, 156, 31, 193, 79, 178, 243, 129, 192, 48, 33, 170, 16, 39, 8, 175, 33, 164, 24, 192, 30, 15, 12, 5, 14, 16, 144, 58, 245},
+{5, 236, 141, 231, 107, 90, 61, 83, 131, 137, 179, 101, 114, 43, 38, 98, 202, 135, 88, 87, 110, 245, 104, 63, 74, 229, 244, 126, 47, 239, 51, 60, 28, 41, 116, 253, 72, 91, 201, 226, 55, 246, 143, 197, 233, 210, 20, 50, 197, 180, 156, 251, 145, 150, 173, 192, 114, 89, 27, 85, 149, 153, 76, 194, 141, 237, 167, 133, 167, 246, 188, 162, 155, 105, 55, 148, 163, 163, 99, 87, 243, 139, 99, 64, 145, 49, 192, 3, 47, 26, 89, 67, 229, 64, 232, 58, 147, 115, 173, 39, 79, 8, 49, 133, 171, 168, 205, 2, 141, 217, 8, 105, 156, 218, 108, 207, 139, 134, 67, 122, 231, 196, 131, 164, 156, 132, 240, 37},
+{107, 19, 123, 171, 26, 247, 160, 134, 153, 147, 31, 226, 161, 123, 122, 10, 98, 180, 77, 111, 248, 37, 223, 142, 136, 97, 251, 167, 182, 8, 203, 15, 141, 165, 178, 104, 240, 144, 26, 113, 164, 190, 210, 240, 176, 167, 194, 69, 91, 133, 1, 2, 169, 76, 131, 136, 109, 166, 85, 94, 175, 108, 93, 230, 237, 131, 176, 6, 133, 196, 69, 87, 246, 77, 194, 70, 108, 80, 31, 122, 179, 95, 176, 109, 33, 152, 136, 88, 131, 7, 228, 210, 161, 58, 106, 182, 194, 185, 38, 150, 205, 115, 83, 83, 197, 67, 21, 227, 93, 232, 205, 50, 63, 80, 131, 134, 203, 208, 44, 247, 242, 7, 46, 52, 164, 163, 81, 82},
+{164, 0, 131, 221, 4, 52, 208, 235, 8, 244, 101, 253, 197, 82, 114, 24, 11, 31, 59, 56, 122, 9, 128, 8, 240, 249, 15, 92, 131, 249, 57, 254, 155, 120, 241, 107, 157, 121, 84, 79, 123, 204, 160, 43, 90, 111, 130, 75, 152, 35, 206, 62, 152, 48, 62, 214, 10, 248, 254, 148, 247, 22, 226, 167, 181, 120, 109, 246, 204, 27, 133, 138, 54, 10, 71, 221, 238, 53, 131, 243, 181, 67, 66, 200, 10, 223, 26, 194, 39, 172, 171, 201, 218, 17, 33, 117, 36, 60, 10, 55, 111, 208, 79, 202, 36, 3, 105, 243, 140, 155, 189, 174, 56, 138, 240, 247, 160, 104, 165, 28, 13, 168, 93, 68, 224, 227, 211, 174},
+{179, 254, 135, 126, 132, 3, 41, 87, 84, 77, 112, 16, 102, 172, 55, 171, 243, 231, 9, 161, 251, 233, 4, 176, 172, 30, 141, 16, 213, 183, 198, 129, 126, 131, 50, 178, 140, 83, 84, 100, 37, 81, 148, 252, 133, 141, 206, 141, 171, 246, 162, 86, 107, 198, 98, 57, 147, 47, 213, 142, 201, 13, 92, 127, 164, 228, 82, 183, 86, 91, 194, 120, 121, 251, 174, 161, 202, 146, 255, 33, 47, 121, 243, 195, 246, 181, 235, 119, 101, 244, 140, 40, 193, 83, 191, 148, 76, 18, 46, 149, 155, 141, 219, 138, 109, 145, 234, 77, 29, 62, 245, 89, 32, 158, 91, 234, 196, 231, 40, 162, 253, 35, 160, 128, 218, 101, 75, 240},
+{120, 76, 87, 235, 80, 141, 128, 182, 12, 48, 107, 218, 103, 100, 163, 14, 199, 62, 64, 118, 21, 46, 133, 13, 12, 247, 73, 166, 210, 47, 148, 16, 60, 26, 150, 184, 87, 195, 9, 141, 20, 117, 218, 116, 1, 251, 158, 87, 15, 32, 227, 28, 143, 127, 237, 43, 14, 220, 35, 254, 77, 60, 56, 7, 69, 145, 168, 32, 92, 229, 250, 204, 20, 74, 187, 207, 242, 28, 211, 32, 145, 132, 190, 251, 55, 53, 142, 49, 167, 115, 18, 28, 43, 177, 218, 186, 121, 70, 67, 35, 19, 131, 120, 95, 110, 134, 155, 99, 141, 202, 177, 190, 253, 105, 40, 253, 200, 102, 153, 234, 168, 87, 157, 21, 99, 157, 112, 110},
+{137, 147, 20, 84, 218, 152, 7, 205, 201, 120, 17, 72, 16, 21, 6, 32, 248, 24, 49, 106, 141, 165, 36, 52, 24, 252, 64, 206, 183, 39, 200, 171, 178, 229, 147, 200, 228, 165, 150, 116, 110, 21, 80, 180, 62, 60, 155, 104, 47, 199, 14, 150, 48, 95, 45, 66, 82, 235, 233, 6, 174, 43, 114, 48, 244, 182, 151, 2, 197, 44, 210, 247, 180, 75, 211, 167, 48, 139, 1, 166, 128, 10, 121, 108, 203, 90, 98, 186, 125, 169, 207, 16, 11, 136, 79, 58, 110, 93, 33, 40, 121, 122, 135, 42, 170, 81, 47, 228, 71, 20, 72, 63, 110, 60, 175, 93, 18, 147, 87, 156, 238, 244, 48, 57, 113, 185, 187, 232},
+{199, 206, 32, 205, 141, 83, 251, 79, 219, 118, 28, 192, 226, 221, 101, 151, 228, 124, 76, 44, 241, 88, 126, 91, 64, 114, 220, 56, 225, 175, 45, 53, 167, 36, 26, 154, 191, 66, 24, 141, 201, 108, 131, 191, 62, 91, 59, 133, 251, 64, 84, 52, 247, 243, 139, 159, 200, 41, 34, 184, 137, 203, 127, 72, 204, 44, 67, 242, 170, 176, 130, 44, 55, 47, 173, 210, 176, 104, 159, 78, 118, 60, 130, 179, 168, 156, 110, 123, 72, 213, 57, 221, 151, 243, 138, 192, 136, 55, 78, 89, 111, 245, 240, 209, 116, 17, 73, 216, 74, 223, 241, 212, 193, 244, 213, 47, 148, 181, 247, 254, 251, 177, 103, 155, 42, 201, 99, 255},
+{50, 118, 22, 161, 176, 30, 19, 164, 128, 183, 15, 230, 59, 100, 42, 165, 102, 91, 245, 51, 171, 93, 126, 92, 98, 59, 122, 71, 41, 228, 43, 142, 203, 236, 77, 141, 246, 203, 40, 222, 154, 22, 128, 172, 189, 12, 169, 97, 233, 6, 199, 46, 21, 229, 61, 140, 29, 119, 6, 105, 234, 229, 27, 140, 228, 38, 125, 182, 178, 229, 179, 79, 29, 64, 105, 22, 96, 244, 187, 90, 135, 135, 251, 218, 83, 176, 115, 168, 151, 190, 120, 250, 45, 22, 94, 87, 185, 46, 146, 244, 37, 183, 98, 238, 108, 117, 124, 120, 52, 238, 87, 216, 85, 167, 144, 5, 159, 197, 232, 60, 242, 104, 47, 112, 14, 194, 215, 28},
+{20, 161, 21, 208, 68, 177, 255, 116, 2, 110, 246, 186, 59, 236, 43, 160, 157, 130, 122, 10, 241, 179, 101, 240, 243, 216, 151, 202, 114, 255, 38, 148, 161, 214, 22, 76, 5, 180, 59, 196, 166, 134, 154, 169, 38, 63, 181, 36, 129, 114, 7, 94, 236, 246, 108, 153, 155, 253, 90, 114, 211, 120, 250, 185, 179, 145, 11, 192, 29, 77, 70, 219, 13, 63, 121, 1, 192, 46, 136, 38, 188, 223, 114, 75, 188, 92, 42, 22, 118, 223, 184, 86, 9, 148, 12, 142, 29, 53, 254, 207, 173, 254, 59, 44, 204, 66, 115, 53, 199, 174, 85, 133, 215, 178, 85, 127, 231, 18, 21, 72, 66, 70, 146, 100, 59, 43, 45, 75},
+{43, 225, 60, 217, 206, 101, 225, 241, 215, 56, 47, 101, 90, 122, 15, 230, 197, 184, 61, 29, 21, 23, 197, 46, 90, 213, 18, 200, 221, 199, 96, 200, 140, 119, 85, 89, 172, 218, 108, 21, 247, 191, 123, 132, 72, 78, 214, 23, 131, 171, 112, 165, 219, 53, 93, 220, 231, 24, 193, 117, 138, 174, 78, 187, 175, 106, 102, 161, 75, 26, 217, 196, 87, 153, 125, 34, 71, 94, 126, 99, 21, 141, 163, 62, 161, 23, 238, 141, 177, 193, 107, 241, 46, 248, 57, 98, 94, 68, 122, 252, 132, 139, 105, 88, 83, 102, 5, 87, 225, 121, 35, 3, 7, 70, 89, 196, 204, 134, 219, 211, 182, 10, 193, 146, 19, 27, 210, 1},
+{133, 236, 95, 125, 193, 168, 100, 14, 71, 121, 140, 147, 131, 195, 141, 53, 113, 198, 85, 29, 22, 206, 68, 254, 55, 235, 232, 126, 220, 8, 12, 129, 239, 71, 120, 138, 163, 177, 53, 171, 51, 1, 0, 32, 196, 224, 62, 110, 197, 1, 19, 199, 104, 166, 224, 105, 247, 253, 96, 24, 69, 21, 9, 27, 119, 54, 198, 36, 68, 165, 174, 190, 228, 70, 149, 148, 36, 3, 161, 100, 102, 134, 158, 45, 54, 178, 200, 251, 43, 155, 27, 50, 204, 181, 82, 230, 61, 188, 137, 131, 43, 218, 185, 153, 3, 40, 247, 163, 67, 39, 134, 95, 0, 28, 57, 1, 214, 207, 241, 81, 233, 230, 69, 225, 46, 72, 76, 248},
+{151, 133, 2, 253, 199, 51, 35, 78, 179, 204, 38, 230, 5, 67, 213, 140, 45, 185, 66, 17, 233, 253, 245, 214, 19, 69, 195, 202, 69, 62, 232, 103, 116, 98, 11, 157, 196, 187, 214, 165, 141, 61, 60, 85, 45, 122, 40, 84, 38, 134, 137, 69, 122, 167, 236, 186, 17, 175, 100, 112, 135, 123, 255, 221, 51, 94, 230, 162, 246, 237, 236, 59, 8, 108, 162, 71, 227, 0, 150, 12, 73, 165, 49, 139, 224, 79, 18, 220, 141, 205, 45, 75, 193, 26, 185, 234, 132, 151, 56, 255, 190, 134, 179, 162, 77, 64, 15, 102, 93, 153, 107, 76, 192, 58, 1, 80, 245, 126, 157, 157, 147, 14, 53, 165, 139, 0, 221, 96},
+{139, 175, 117, 18, 127, 247, 144, 233, 67, 156, 183, 217, 113, 79, 160, 114, 87, 121, 103, 175, 220, 159, 144, 251, 174, 232, 247, 35, 116, 183, 19, 200, 174, 39, 170, 17, 167, 162, 149, 108, 240, 52, 11, 138, 174, 135, 54, 119, 220, 126, 166, 3, 233, 122, 91, 95, 253, 161, 17, 186, 53, 94, 142, 205, 191, 92, 168, 4, 239, 162, 114, 215, 60, 60, 224, 186, 162, 149, 182, 64, 78, 121, 132, 11, 233, 181, 224, 42, 135, 67, 80, 205, 92, 77, 238, 253, 0, 60, 13, 22, 25, 251, 125, 124, 209, 78, 20, 106, 209, 137, 78, 240, 2, 33, 141, 125, 48, 34, 95, 175, 31, 240, 80, 233, 102, 132, 14, 68},
+{8, 151, 124, 173, 4, 45, 189, 87, 245, 79, 176, 187, 174, 183, 106, 13, 12, 156, 165, 241, 149, 45, 158, 134, 177, 94, 238, 211, 76, 150, 146, 193, 214, 224, 159, 137, 105, 220, 231, 118, 239, 99, 112, 158, 96, 126, 23, 88, 98, 42, 77, 182, 3, 139, 1, 68, 206, 88, 170, 176, 163, 45, 128, 143, 85, 61, 34, 251, 32, 34, 65, 93, 77, 24, 109, 209, 1, 243, 201, 52, 191, 42, 203, 203, 14, 82, 73, 83, 60, 231, 6, 30, 129, 50, 148, 225, 249, 210, 207, 232, 85, 137, 52, 31, 9, 47, 65, 218, 179, 136, 54, 46, 107, 22, 251, 144, 145, 173, 167, 6, 118, 107, 169, 200, 110, 139, 29, 38},
+{85, 121, 145, 0, 197, 102, 177, 177, 178, 158, 15, 204, 233, 66, 93, 115, 50, 210, 124, 74, 95, 109, 247, 45, 75, 110, 77, 38, 219, 161, 247, 37, 246, 254, 34, 12, 238, 59, 144, 54, 208, 230, 209, 99, 73, 173, 19, 201, 175, 251, 223, 52, 37, 238, 141, 225, 241, 61, 127, 1, 141, 31, 228, 109, 184, 117, 246, 9, 72, 97, 213, 12, 14, 114, 223, 66, 195, 230, 84, 166, 79, 130, 50, 246, 138, 250, 155, 117, 213, 152, 32, 107, 142, 62, 57, 130, 26, 239, 186, 156, 255, 89, 159, 187, 56, 224, 228, 101, 121, 127, 121, 64, 57, 157, 148, 93, 95, 198, 116, 55, 39, 77, 41, 94, 108, 190, 255, 187},
+{197, 125, 237, 156, 104, 42, 81, 115, 6, 151, 34, 126, 45, 67, 197, 71, 93, 216, 106, 107, 154, 13, 115, 189, 15, 41, 43, 50, 76, 240, 1, 77, 106, 152, 39, 4, 83, 155, 86, 192, 215, 164, 197, 54, 60, 229, 97, 15, 21, 204, 227, 190, 160, 37, 196, 58, 125, 216, 43, 197, 172, 77, 0, 202, 182, 125, 106, 236, 225, 179, 211, 145, 13, 12, 86, 76, 230, 218, 153, 173, 252, 94, 20, 45, 132, 138, 174, 13, 122, 128, 76, 86, 132, 186, 225, 213, 134, 222, 222, 6, 21, 182, 55, 160, 141, 222, 46, 244, 101, 92, 117, 152, 68, 155, 142, 57, 98, 18, 154, 174, 78, 248, 63, 124, 146, 177, 16, 87},
+{8, 139, 205, 108, 213, 48, 69, 15, 207, 176, 8, 66, 49, 251, 24, 107, 138, 115, 134, 94, 199, 187, 121, 135, 161, 122, 175, 146, 218, 49, 159, 241, 208, 29, 72, 6, 176, 236, 83, 231, 96, 127, 111, 4, 230, 144, 82, 208, 205, 201, 123, 53, 254, 197, 154, 173, 91, 215, 149, 143, 11, 147, 204, 129, 59, 240, 215, 194, 239, 63, 254, 39, 165, 64, 223, 203, 57, 144, 106, 110, 138, 251, 77, 185, 157, 111, 217, 242, 82, 182, 109, 229, 103, 222, 55, 50, 129, 64, 194, 205, 222, 74, 222, 79, 117, 49, 151, 37, 40, 160, 106, 132, 215, 214, 122, 115, 110, 214, 0, 245, 168, 44, 71, 125, 7, 56, 223, 246},
+{111, 59, 150, 145, 201, 227, 176, 191, 216, 95, 13, 240, 58, 73, 14, 49, 25, 19, 31, 84, 33, 106, 43, 27, 5, 194, 35, 241, 30, 214, 167, 159, 4, 224, 111, 218, 16, 234, 129, 9, 130, 51, 120, 158, 42, 224, 118, 161, 37, 180, 84, 68, 198, 44, 78, 247, 29, 34, 9, 45, 11, 252, 178, 109, 64, 139, 190, 197, 61, 92, 32, 65, 250, 186, 218, 155, 155, 68, 133, 12, 248, 104, 137, 67, 49, 41, 194, 85, 95, 89, 74, 130, 161, 179, 245, 56, 215, 20, 55, 241, 147, 135, 245, 0, 70, 250, 123, 61, 98, 22, 150, 139, 181, 211, 166, 157, 238, 132, 244, 66, 134, 92, 111, 213, 84, 70, 70, 54},
+{192, 4, 20, 42, 143, 67, 65, 135, 100, 193, 1, 170, 213, 79, 108, 191, 93, 146, 239, 148, 140, 36, 26, 191, 243, 13, 201, 27, 232, 222, 63, 239, 164, 58, 11, 156, 6, 218, 156, 152, 117, 28, 247, 218, 185, 255, 6, 255, 48, 236, 67, 89, 201, 70, 134, 130, 144, 145, 45, 25, 235, 141, 85, 22, 237, 192, 81, 68, 6, 228, 118, 57, 108, 76, 131, 108, 60, 27, 215, 244, 200, 101, 55, 84, 80, 111, 57, 240, 73, 52, 79, 191, 51, 235, 245, 71, 190, 26, 119, 25, 7, 112, 19, 63, 216, 106, 155, 182, 117, 254, 227, 252, 0, 172, 184, 187, 74, 88, 194, 223, 142, 65, 105, 251, 171, 65, 228, 45},
+{188, 55, 114, 115, 180, 189, 35, 69, 34, 133, 215, 44, 178, 42, 194, 140, 125, 241, 253, 139, 169, 134, 235, 27, 65, 175, 103, 243, 42, 137, 171, 38, 224, 97, 24, 109, 236, 113, 81, 211, 106, 139, 122, 103, 195, 56, 175, 163, 132, 7, 105, 227, 250, 177, 48, 192, 172, 5, 110, 173, 183, 4, 232, 236, 115, 197, 138, 209, 146, 38, 168, 89, 197, 161, 34, 219, 139, 20, 153, 97, 212, 77, 21, 225, 14, 45, 141, 141, 73, 147, 84, 110, 251, 0, 35, 10, 250, 36, 5, 163, 244, 140, 169, 230, 10, 188, 123, 47, 182, 76, 209, 37, 221, 59, 164, 93, 12, 246, 27, 206, 235, 166, 234, 128, 180, 170, 122, 136},
+{120, 12, 78, 83, 132, 112, 114, 251, 108, 55, 231, 171, 38, 14, 75, 21, 142, 245, 148, 224, 127, 28, 195, 130, 196, 144, 73, 58, 171, 72, 48, 53, 7, 244, 177, 187, 89, 163, 48, 35, 212, 99, 178, 126, 232, 212, 222, 116, 199, 60, 246, 100, 171, 108, 221, 66, 253, 42, 231, 217, 237, 19, 153, 154, 189, 39, 176, 16, 167, 97, 36, 76, 152, 250, 213, 106, 122, 188, 13, 103, 71, 214, 103, 223, 114, 243, 99, 174, 173, 100, 143, 112, 100, 182, 131, 252, 157, 106, 203, 145, 70, 123, 238, 185, 13, 158, 245, 89, 81, 242, 165, 226, 242, 107, 132, 19, 19, 231, 93, 177, 178, 122, 103, 167, 80, 248, 166, 145},
+{170, 225, 93, 19, 177, 98, 34, 139, 4, 254, 192, 245, 1, 160, 115, 213, 14, 92, 36, 81, 99, 15, 200, 213, 156, 34, 25, 11, 90, 4, 251, 245, 106, 3, 227, 45, 51, 9, 59, 184, 30, 123, 123, 246, 162, 111, 4, 33, 213, 171, 146, 100, 116, 5, 105, 1, 225, 105, 65, 80, 66, 213, 89, 175, 36, 200, 69, 84, 196, 147, 52, 7, 144, 136, 57, 30, 166, 163, 207, 19, 167, 18, 201, 80, 147, 55, 180, 226, 106, 65, 126, 149, 190, 168, 129, 88, 129, 225, 80, 70, 210, 209, 217, 198, 242, 152, 151, 192, 242, 141, 245, 28, 56, 214, 112, 255, 174, 138, 99, 180, 15, 155, 204, 231, 10, 209, 225, 190},
+{102, 29, 76, 101, 181, 6, 16, 16, 53, 97, 126, 139, 182, 75, 23, 36, 21, 63, 69, 130, 188, 73, 180, 217, 52, 98, 110, 117, 85, 38, 164, 139, 75, 170, 47, 126, 47, 75, 70, 221, 214, 156, 223, 92, 92, 17, 151, 38, 205, 36, 122, 84, 204, 243, 251, 78, 10, 6, 94, 240, 224, 23, 142, 218, 172, 87, 186, 151, 106, 206, 249, 115, 44, 222, 46, 251, 173, 233, 93, 254, 233, 96, 252, 212, 161, 122, 2, 123, 113, 77, 49, 193, 7, 234, 52, 84, 63, 223, 131, 55, 191, 42, 111, 107, 100, 40, 78, 212, 44, 13, 154, 24, 28, 171, 214, 149, 46, 82, 183, 36, 218, 58, 11, 244, 150, 30, 243, 191},
+{203, 53, 37, 80, 107, 10, 193, 182, 167, 45, 217, 62, 254, 124, 189, 97, 135, 189, 217, 62, 28, 185, 45, 241, 63, 4, 69, 9, 249, 69, 251, 47, 18, 32, 247, 71, 236, 17, 45, 135, 24, 200, 103, 202, 47, 193, 94, 149, 32, 74, 64, 91, 5, 36, 78, 123, 51, 45, 236, 243, 160, 208, 114, 140, 107, 129, 76, 13, 244, 36, 78, 79, 155, 251, 182, 176, 110, 150, 94, 199, 201, 146, 101, 24, 1, 181, 207, 63, 236, 211, 181, 175, 92, 94, 15, 246, 137, 170, 32, 199, 169, 175, 161, 26, 53, 100, 161, 75, 47, 8, 98, 76, 188, 89, 126, 146, 161, 49, 231, 15, 152, 166, 80, 193, 23, 102, 239, 18},
+{172, 123, 73, 75, 214, 179, 69, 22, 164, 134, 140, 244, 125, 101, 152, 149, 76, 30, 66, 180, 232, 107, 196, 207, 144, 148, 27, 127, 171, 221, 189, 6, 99, 7, 238, 33, 9, 164, 149, 69, 0, 84, 35, 198, 48, 234, 28, 237, 22, 178, 150, 93, 168, 103, 71, 240, 68, 205, 96, 15, 254, 250, 136, 188, 236, 255, 15, 103, 164, 100, 143, 92, 205, 168, 15, 131, 58, 9, 228, 171, 215, 80, 152, 106, 117, 118, 146, 67, 255, 119, 197, 134, 88, 154, 17, 201, 160, 240, 15, 21, 122, 79, 240, 45, 152, 255, 34, 115, 212, 207, 111, 41, 45, 232, 195, 63, 189, 61, 73, 227, 36, 225, 46, 7, 74, 107, 252, 72},
+{13, 190, 175, 112, 190, 139, 232, 115, 14, 129, 231, 113, 213, 206, 136, 217, 130, 215, 238, 109, 24, 7, 176, 231, 166, 167, 153, 246, 55, 96, 166, 247, 4, 208, 25, 164, 220, 196, 60, 97, 88, 155, 189, 62, 64, 53, 135, 194, 227, 75, 65, 112, 186, 46, 170, 212, 196, 43, 253, 13, 170, 184, 59, 212, 27, 26, 229, 2, 99, 36, 197, 70, 51, 175, 31, 228, 189, 115, 182, 228, 156, 188, 63, 90, 38, 20, 170, 244, 42, 250, 108, 120, 241, 2, 162, 128, 23, 4, 169, 45, 86, 152, 72, 60, 154, 187, 19, 18, 48, 62, 37, 216, 7, 229, 64, 249, 236, 239, 147, 85, 75, 244, 218, 62, 186, 64, 176, 231},
+{183, 56, 244, 89, 246, 70, 170, 104, 200, 184, 199, 53, 219, 165, 59, 59, 65, 41, 123, 10, 181, 107, 131, 236, 194, 6, 193, 186, 204, 131, 42, 123, 29, 113, 62, 106, 238, 171, 129, 196, 167, 2, 65, 122, 72, 9, 120, 237, 110, 95, 130, 159, 233, 152, 5, 19, 231, 12, 47, 137, 107, 254, 221, 228, 157, 23, 92, 129, 147, 140, 199, 156, 72, 112, 55, 115, 150, 91, 234, 224, 155, 4, 173, 36, 181, 114, 85, 26, 152, 73, 208, 35, 206, 178, 165, 71, 6, 75, 94, 14, 141, 253, 237, 198, 205, 3, 98, 190, 38, 112, 220, 255, 16, 16, 106, 114, 186, 69, 23, 178, 34, 208, 38, 92, 69, 56, 158, 46},
+{66, 82, 56, 164, 151, 217, 211, 172, 48, 102, 128, 199, 44, 139, 7, 208, 42, 96, 160, 244, 211, 218, 209, 11, 159, 177, 4, 163, 194, 109, 186, 63, 123, 170, 211, 66, 25, 220, 107, 223, 193, 115, 13, 191, 74, 22, 19, 96, 53, 191, 167, 27, 182, 53, 188, 171, 44, 102, 46, 244, 194, 170, 204, 219, 74, 210, 124, 170, 68, 157, 76, 125, 142, 120, 86, 172, 217, 155, 95, 120, 48, 124, 247, 50, 28, 251, 50, 59, 141, 43, 173, 88, 157, 217, 218, 109, 187, 45, 240, 244, 165, 181, 75, 72, 57, 106, 112, 149, 74, 116, 151, 146, 153, 82, 113, 26, 73, 23, 170, 53, 230, 199, 128, 235, 108, 198, 173, 135},
+{150, 189, 210, 209, 179, 182, 246, 3, 176, 224, 195, 210, 139, 28, 240, 251, 13, 101, 242, 61, 238, 8, 175, 253, 71, 22, 114, 204, 192, 141, 153, 192, 208, 81, 190, 87, 250, 56, 129, 247, 146, 124, 133, 44, 88, 114, 187, 229, 129, 170, 79, 148, 105, 45, 24, 148, 137, 99, 84, 84, 240, 34, 160, 235, 89, 240, 184, 79, 97, 117, 76, 174, 157, 15, 246, 184, 150, 61, 21, 131, 191, 132, 131, 146, 228, 210, 143, 74, 140, 72, 95, 36, 61, 254, 94, 116, 101, 179, 54, 110, 7, 159, 14, 0, 207, 5, 199, 239, 251, 240, 160, 219, 135, 202, 185, 6, 83, 174, 63, 148, 91, 186, 228, 169, 245, 208, 4, 18},
+{113, 1, 136, 247, 46, 135, 25, 196, 74, 104, 195, 163, 225, 251, 209, 140, 164, 24, 228, 2, 30, 20, 12, 117, 180, 221, 169, 82, 31, 146, 252, 114, 154, 182, 160, 201, 118, 207, 58, 56, 153, 191, 108, 216, 70, 157, 12, 209, 93, 166, 219, 88, 103, 151, 27, 151, 175, 91, 86, 0, 124, 74, 170, 147, 202, 34, 197, 130, 58, 100, 34, 203, 243, 7, 218, 24, 185, 222, 248, 234, 184, 80, 169, 63, 59, 141, 3, 21, 38, 60, 110, 243, 199, 98, 5, 193, 129, 75, 166, 114, 187, 126, 105, 46, 173, 115, 21, 62, 54, 91, 167, 98, 84, 201, 217, 64, 200, 227, 68, 205, 100, 203, 242, 185, 196, 214, 250, 186},
+{40, 116, 249, 8, 51, 223, 63, 174, 89, 223, 185, 141, 243, 156, 245, 175, 247, 16, 187, 197, 21, 119, 218, 29, 99, 25, 110, 48, 187, 62, 7, 152, 42, 240, 40, 5, 158, 75, 113, 14, 36, 213, 58, 253, 87, 157, 5, 154, 150, 90, 105, 111, 99, 40, 149, 154, 101, 139, 211, 97, 149, 223, 18, 74, 222, 27, 88, 144, 39, 17, 158, 129, 86, 94, 213, 37, 198, 42, 102, 235, 19, 117, 96, 236, 45, 225, 166, 113, 160, 248, 132, 91, 92, 48, 18, 94, 192, 61, 84, 210, 90, 36, 214, 212, 22, 83, 218, 241, 245, 19, 12, 239, 164, 214, 65, 88, 38, 91, 119, 16, 176, 32, 36, 5, 233, 225, 204, 16},
+{207, 181, 75, 246, 226, 191, 163, 1, 185, 102, 229, 238, 100, 146, 208, 22, 119, 226, 108, 52, 72, 64, 156, 187, 35, 140, 147, 12, 53, 83, 158, 237, 227, 171, 35, 229, 158, 95, 167, 2, 222, 193, 85, 121, 241, 31, 183, 152, 167, 211, 177, 133, 220, 137, 121, 103, 233, 109, 125, 169, 155, 255, 28, 253, 150, 58, 108, 49, 39, 201, 54, 195, 77, 32, 56, 129, 220, 182, 149, 42, 143, 28, 29, 54, 23, 160, 43, 124, 59, 20, 216, 126, 162, 62, 205, 99, 226, 162, 81, 58, 157, 1, 140, 78, 87, 77, 184, 9, 61, 182, 14, 240, 91, 126, 135, 29, 247, 246, 52, 211, 114, 34, 144, 112, 0, 80, 249, 104},
+{46, 207, 72, 123, 156, 78, 210, 133, 84, 60, 113, 70, 6, 226, 195, 4, 230, 11, 85, 87, 250, 63, 240, 80, 218, 140, 151, 236, 121, 55, 88, 74, 19, 176, 173, 240, 45, 44, 111, 15, 223, 231, 241, 253, 112, 208, 84, 19, 0, 34, 237, 34, 212, 141, 115, 114, 20, 116, 199, 51, 208, 248, 20, 132, 95, 165, 84, 180, 218, 201, 42, 82, 188, 107, 15, 69, 236, 20, 179, 157, 195, 26, 149, 225, 211, 74, 50, 112, 29, 223, 81, 36, 222, 198, 84, 70, 84, 128, 211, 222, 241, 122, 101, 14, 172, 214, 142, 100, 129, 20, 212, 142, 166, 81, 93, 161, 61, 65, 183, 222, 206, 118, 41, 69, 48, 39, 143, 73},
+{120, 143, 114, 136, 184, 156, 209, 26, 219, 137, 170, 105, 73, 15, 125, 45, 141, 192, 192, 142, 20, 59, 75, 95, 205, 241, 130, 255, 188, 243, 176, 241, 177, 238, 114, 75, 0, 94, 44, 23, 168, 98, 187, 108, 41, 179, 194, 34, 183, 1, 247, 98, 2, 116, 111, 29, 197, 227, 209, 193, 18, 226, 113, 247, 34, 11, 244, 135, 226, 54, 119, 226, 94, 101, 174, 120, 253, 114, 119, 57, 150, 221, 235, 3, 243, 97, 119, 170, 133, 152, 5, 226, 247, 49, 175, 71, 205, 186, 45, 194, 22, 68, 135, 229, 71, 193, 249, 80, 165, 129, 151, 111, 71, 80, 196, 100, 67, 133, 219, 241, 113, 196, 207, 29, 75, 241, 186, 195},
+{14, 150, 229, 89, 154, 83, 102, 114, 69, 140, 80, 142, 155, 115, 110, 185, 212, 252, 177, 103, 126, 138, 96, 125, 206, 15, 26, 59, 47, 176, 150, 119, 85, 91, 24, 233, 234, 115, 213, 89, 14, 70, 107, 72, 72, 217, 214, 176, 231, 112, 22, 79, 215, 228, 93, 80, 173, 67, 33, 41, 54, 108, 192, 86, 130, 151, 117, 19, 141, 209, 174, 170, 58, 120, 121, 6, 17, 31, 240, 148, 106, 77, 118, 55, 88, 89, 13, 73, 226, 86, 103, 191, 253, 227, 187, 218, 120, 193, 124, 241, 183, 62, 65, 0, 47, 200, 240, 137, 35, 214, 9, 182, 103, 113, 78, 1, 28, 37, 49, 165, 70, 228, 60, 66, 120, 18, 126, 11},
+{151, 240, 227, 26, 229, 123, 159, 106, 132, 56, 132, 194, 147, 157, 108, 55, 20, 45, 84, 229, 116, 97, 221, 70, 117, 139, 203, 27, 76, 84, 138, 75, 66, 43, 217, 242, 105, 123, 156, 147, 136, 29, 186, 26, 238, 7, 202, 165, 53, 211, 42, 217, 234, 166, 17, 109, 36, 113, 96, 66, 86, 245, 47, 178, 52, 207, 139, 145, 208, 249, 58, 110, 231, 105, 13, 161, 67, 85, 56, 187, 50, 122, 191, 180, 224, 113, 238, 99, 211, 18, 223, 173, 161, 57, 47, 104, 22, 110, 8, 224, 223, 126, 14, 82, 139, 156, 30, 232, 251, 132, 205, 77, 5, 116, 57, 250, 95, 14, 214, 213, 145, 183, 237, 113, 249, 176, 76, 142},
+{2, 188, 63, 148, 73, 244, 246, 77, 137, 152, 43, 75, 32, 13, 4, 16, 113, 31, 110, 243, 211, 90, 106, 182, 1, 215, 209, 227, 36, 44, 109, 194, 133, 234, 210, 207, 173, 184, 84, 190, 200, 42, 173, 9, 156, 131, 103, 102, 89, 220, 161, 152, 130, 118, 143, 106, 221, 233, 150, 118, 156, 6, 99, 185, 113, 181, 197, 64, 43, 39, 237, 78, 226, 210, 104, 233, 28, 23, 149, 225, 143, 52, 34, 98, 78, 18, 173, 248, 98, 180, 181, 163, 171, 51, 85, 10, 62, 66, 90, 154, 36, 97, 71, 123, 119, 113, 199, 209, 182, 34, 41, 42, 58, 67, 133, 237, 60, 41, 79, 196, 107, 185, 16, 53, 123, 39, 9, 95},
+{90, 125, 237, 103, 117, 170, 3, 86, 238, 192, 50, 248, 227, 244, 104, 234, 16, 84, 132, 23, 27, 145, 112, 231, 52, 0, 124, 77, 50, 111, 153, 248, 126, 10, 1, 70, 46, 201, 90, 155, 233, 144, 194, 8, 184, 124, 91, 124, 251, 145, 13, 95, 148, 227, 153, 53, 163, 13, 17, 185, 63, 8, 184, 169, 147, 163, 12, 103, 161, 117, 147, 30, 7, 157, 7, 165, 253, 69, 187, 35, 44, 176, 136, 4, 147, 195, 215, 210, 160, 252, 48, 193, 47, 158, 98, 39, 56, 83, 185, 39, 224, 197, 70, 101, 244, 71, 199, 96, 36, 54, 82, 86, 17, 119, 22, 94, 195, 118, 59, 138, 24, 40, 195, 146, 108, 46, 211, 72},
+{73, 28, 104, 99, 226, 229, 195, 202, 174, 234, 148, 186, 117, 209, 32, 243, 232, 56, 44, 17, 119, 158, 122, 245, 174, 114, 22, 86, 219, 208, 164, 177, 144, 81, 7, 183, 114, 202, 81, 42, 237, 81, 134, 74, 124, 176, 126, 115, 16, 33, 236, 124, 198, 34, 81, 93, 5, 134, 51, 147, 190, 193, 17, 181, 198, 177, 83, 82, 121, 59, 223, 155, 28, 233, 222, 224, 37, 80, 11, 115, 133, 56, 251, 7, 223, 98, 212, 112, 231, 60, 138, 38, 63, 92, 220, 101, 154, 27, 83, 192, 41, 90, 220, 16, 201, 103, 42, 208, 209, 206, 91, 211, 41, 170, 147, 181, 25, 36, 68, 110, 0, 226, 254, 72, 149, 78, 171, 141},
+{35, 45, 30, 151, 247, 113, 110, 67, 116, 94, 214, 42, 39, 17, 75, 1, 217, 128, 207, 2, 239, 68, 120, 82, 160, 188, 157, 160, 211, 134, 74, 178, 14, 31, 254, 126, 216, 238, 137, 149, 75, 63, 180, 77, 227, 47, 105, 218, 167, 98, 234, 213, 208, 67, 204, 231, 55, 183, 93, 134, 69, 192, 10, 167, 0, 18, 251, 50, 86, 85, 2, 32, 172, 166, 127, 82, 249, 147, 71, 32, 25, 14, 36, 111, 48, 36, 136, 198, 139, 235, 67, 87, 26, 179, 117, 99, 231, 79, 199, 16, 141, 53, 220, 237, 99, 6, 191, 27, 120, 7, 151, 11, 130, 129, 230, 193, 13, 214, 113, 237, 22, 97, 99, 101, 97, 137, 239, 208},
+{159, 171, 181, 79, 151, 228, 177, 154, 108, 27, 157, 56, 13, 248, 226, 211, 241, 248, 242, 255, 228, 227, 248, 176, 28, 168, 151, 235, 167, 5, 20, 225, 141, 196, 185, 209, 147, 209, 213, 74, 60, 50, 5, 150, 169, 48, 27, 136, 8, 73, 13, 108, 86, 224, 36, 222, 125, 111, 68, 157, 248, 26, 102, 29, 106, 7, 31, 36, 47, 186, 123, 234, 82, 146, 204, 160, 57, 59, 139, 3, 4, 198, 198, 125, 146, 106, 207, 227, 36, 222, 61, 136, 108, 136, 196, 136, 183, 223, 76, 188, 44, 180, 138, 118, 194, 30, 66, 45, 54, 21, 82, 140, 130, 228, 179, 201, 171, 226, 111, 218, 113, 254, 226, 15, 148, 122, 140, 211},
+{87, 54, 37, 95, 204, 13, 251, 52, 29, 230, 56, 123, 139, 212, 96, 205, 184, 14, 79, 2, 240, 81, 117, 132, 42, 45, 218, 107, 94, 184, 153, 30, 169, 237, 117, 38, 46, 223, 138, 182, 127, 104, 198, 55, 96, 39, 119, 243, 199, 99, 129, 54, 47, 215, 148, 85, 77, 97, 233, 58, 100, 86, 129, 58, 56, 5, 197, 212, 185, 104, 164, 164, 206, 242, 31, 16, 70, 165, 76, 105, 240, 147, 209, 239, 24, 28, 13, 93, 129, 99, 20, 141, 202, 16, 170, 248, 25, 115, 29, 10, 60, 205, 229, 193, 21, 212, 54, 230, 137, 250, 0, 133, 30, 26, 175, 169, 144, 234, 0, 63, 118, 131, 157, 73, 40, 196, 240, 138},
+{53, 64, 131, 88, 112, 249, 167, 155, 86, 136, 77, 152, 236, 39, 248, 85, 141, 112, 122, 215, 123, 99, 158, 180, 58, 154, 62, 243, 109, 114, 129, 124, 199, 89, 144, 199, 197, 53, 93, 53, 156, 126, 141, 196, 163, 71, 51, 160, 82, 220, 156, 90, 191, 242, 23, 9, 6, 216, 107, 68, 230, 57, 6, 96, 186, 49, 85, 80, 179, 217, 207, 84, 135, 160, 40, 19, 107, 91, 201, 46, 239, 81, 106, 202, 249, 14, 220, 251, 253, 205, 148, 214, 203, 74, 16, 247, 215, 176, 1, 236, 87, 194, 134, 84, 128, 74, 196, 6, 103, 79, 14, 204, 62, 26, 241, 3, 188, 16, 164, 84, 107, 226, 190, 28, 30, 44, 1, 65},
+{51, 245, 61, 83, 21, 37, 88, 98, 14, 3, 222, 51, 199, 189, 87, 32, 130, 59, 4, 98, 208, 199, 214, 203, 86, 110, 233, 199, 225, 251, 196, 209, 88, 40, 129, 105, 114, 91, 152, 104, 70, 132, 93, 48, 98, 246, 31, 115, 197, 72, 57, 42, 247, 67, 213, 229, 45, 102, 106, 171, 76, 241, 72, 234, 57, 249, 115, 105, 188, 18, 246, 36, 77, 207, 111, 169, 33, 104, 84, 15, 77, 175, 234, 109, 62, 83, 139, 93, 218, 248, 158, 160, 63, 58, 196, 119, 186, 123, 91, 2, 7, 144, 180, 78, 21, 68, 134, 44, 50, 20, 110, 247, 89, 8, 132, 34, 63, 82, 166, 252, 171, 228, 123, 209, 249, 106, 240, 181},
+{39, 190, 175, 79, 25, 48, 101, 147, 104, 178, 184, 155, 93, 11, 147, 113, 162, 111, 100, 9, 93, 73, 193, 187, 134, 57, 235, 75, 225, 169, 52, 188, 219, 60, 37, 242, 216, 191, 179, 103, 69, 40, 200, 242, 239, 143, 245, 231, 195, 57, 206, 70, 28, 45, 54, 74, 162, 140, 82, 17, 30, 23, 243, 92, 166, 46, 165, 3, 7, 193, 47, 136, 18, 43, 217, 229, 155, 98, 150, 60, 159, 91, 138, 210, 212, 40, 238, 3, 4, 192, 177, 11, 197, 218, 126, 241, 108, 7, 234, 119, 64, 181, 1, 160, 177, 155, 202, 27, 112, 85, 108, 187, 136, 185, 120, 165, 181, 134, 159, 40, 185, 211, 7, 121, 153, 190, 71, 49},
+{100, 25, 246, 12, 127, 93, 92, 100, 97, 60, 31, 218, 235, 236, 20, 97, 110, 41, 75, 95, 157, 63, 70, 0, 237, 207, 206, 209, 194, 180, 47, 126, 65, 19, 179, 243, 164, 13, 145, 59, 231, 124, 30, 37, 78, 78, 25, 242, 246, 255, 149, 195, 10, 80, 23, 63, 119, 178, 32, 182, 198, 183, 104, 147, 119, 95, 47, 17, 173, 6, 192, 181, 62, 5, 59, 75, 255, 28, 226, 64, 152, 51, 179, 172, 209, 173, 53, 120, 108, 50, 37, 132, 209, 59, 24, 225, 44, 55, 5, 86, 51, 31, 222, 146, 241, 3, 2, 109, 130, 130, 113, 201, 147, 199, 228, 155, 17, 166, 149, 76, 115, 211, 1, 159, 136, 171, 217, 228},
+{162, 198, 123, 221, 204, 55, 27, 6, 240, 44, 22, 6, 58, 62, 244, 134, 5, 13, 98, 254, 235, 243, 182, 133, 181, 105, 143, 114, 19, 33, 77, 158, 141, 137, 106, 45, 253, 230, 120, 15, 43, 241, 224, 255, 35, 88, 113, 245, 28, 10, 157, 62, 74, 115, 77, 162, 132, 31, 115, 136, 199, 198, 61, 145, 50, 165, 220, 236, 16, 16, 169, 43, 89, 165, 163, 113, 123, 157, 173, 217, 146, 205, 82, 47, 116, 50, 85, 239, 38, 240, 150, 96, 148, 5, 221, 152, 169, 89, 195, 102, 44, 11, 218, 240, 92, 89, 201, 18, 78, 70, 38, 210, 215, 189, 210, 78, 94, 88, 120, 150, 135, 84, 162, 47, 156, 121, 237, 23},
+{168, 21, 62, 39, 253, 15, 226, 87, 178, 13, 191, 52, 41, 85, 209, 128, 113, 98, 190, 80, 85, 189, 171, 144, 62, 143, 152, 109, 249, 53, 115, 190, 140, 131, 233, 30, 51, 202, 131, 110, 213, 120, 41, 133, 199, 48, 117, 30, 73, 133, 107, 229, 10, 215, 208, 145, 129, 205, 4, 53, 88, 84, 104, 68, 119, 212, 226, 213, 149, 169, 48, 215, 117, 4, 162, 0, 173, 34, 250, 239, 195, 79, 222, 91, 128, 144, 2, 213, 246, 7, 203, 67, 187, 54, 23, 26, 54, 221, 250, 111, 139, 168, 58, 234, 39, 72, 90, 206, 112, 247, 42, 174, 180, 75, 160, 15, 231, 83, 223, 113, 200, 94, 34, 88, 12, 108, 131, 109},
+{201, 46, 149, 102, 208, 96, 120, 185, 118, 183, 220, 224, 77, 75, 249, 119, 233, 24, 130, 116, 80, 225, 134, 76, 166, 54, 179, 107, 124, 209, 90, 24, 27, 55, 33, 165, 98, 190, 243, 36, 220, 236, 40, 243, 138, 214, 191, 59, 78, 239, 235, 220, 45, 25, 100, 76, 246, 143, 73, 218, 85, 62, 64, 138, 237, 212, 239, 151, 157, 210, 33, 151, 207, 106, 122, 34, 78, 114, 213, 215, 189, 167, 127, 223, 34, 143, 141, 48, 1, 128, 41, 152, 200, 212, 165, 69, 145, 62, 38, 160, 13, 215, 27, 35, 49, 102, 113, 18, 16, 171, 244, 221, 14, 11, 31, 161, 235, 101, 170, 226, 43, 14, 223, 93, 237, 68, 58, 54},
+{146, 206, 253, 246, 95, 172, 67, 207, 192, 116, 217, 133, 82, 151, 14, 252, 192, 143, 36, 139, 96, 96, 107, 117, 61, 35, 44, 105, 188, 160, 241, 165, 137, 251, 140, 210, 253, 150, 132, 160, 25, 168, 20, 223, 226, 234, 47, 173, 25, 26, 205, 120, 56, 92, 76, 67, 7, 60, 161, 210, 91, 236, 237, 117, 128, 186, 120, 249, 208, 168, 104, 111, 23, 142, 173, 204, 196, 212, 219, 123, 113, 32, 14, 72, 246, 81, 58, 161, 55, 169, 156, 95, 176, 44, 135, 17, 13, 13, 29, 181, 164, 41, 84, 148, 82, 23, 90, 200, 7, 144, 140, 90, 47, 197, 233, 151, 179, 30, 130, 173, 179, 134, 194, 78, 118, 62, 13, 5},
+{6, 2, 148, 113, 58, 60, 192, 113, 18, 79, 147, 117, 27, 204, 178, 123, 22, 69, 234, 58, 154, 85, 39, 13, 192, 215, 27, 42, 211, 16, 177, 8, 139, 52, 170, 113, 157, 74, 41, 184, 88, 120, 236, 104, 234, 225, 119, 141, 93, 171, 202, 54, 59, 223, 227, 113, 49, 35, 126, 110, 21, 24, 45, 67, 76, 178, 33, 0, 6, 150, 76, 0, 89, 4, 62, 107, 236, 254, 222, 15, 20, 221, 108, 44, 119, 245, 23, 167, 144, 187, 85, 33, 100, 72, 72, 105, 25, 126, 63, 43, 23, 79, 194, 100, 155, 208, 222, 47, 183, 125, 253, 221, 175, 139, 73, 46, 171, 195, 154, 151, 170, 185, 185, 245, 77, 177, 254, 188},
+{159, 71, 227, 108, 112, 40, 169, 39, 57, 197, 152, 254, 12, 169, 199, 85, 34, 153, 100, 197, 171, 108, 171, 34, 117, 247, 108, 253, 216, 151, 115, 136, 127, 185, 166, 110, 13, 46, 204, 132, 77, 149, 188, 19, 81, 189, 234, 241, 254, 40, 81, 132, 255, 173, 36, 242, 55, 144, 40, 41, 28, 41, 248, 194, 110, 179, 19, 201, 93, 69, 182, 66, 93, 73, 49, 22, 135, 168, 208, 144, 164, 174, 21, 4, 71, 230, 205, 205, 216, 229, 49, 10, 58, 28, 167, 158, 130, 158, 228, 42, 171, 255, 149, 179, 71, 204, 182, 119, 193, 154, 34, 58, 146, 228, 213, 183, 189, 73, 231, 49, 142, 182, 176, 244, 114, 145, 138, 23},
+{102, 125, 147, 214, 73, 14, 164, 201, 45, 162, 36, 113, 148, 207, 85, 232, 26, 45, 37, 61, 250, 247, 182, 222, 228, 146, 16, 122, 216, 159, 233, 187, 94, 115, 110, 157, 165, 245, 203, 91, 253, 5, 127, 76, 249, 147, 12, 143, 105, 200, 236, 113, 240, 194, 42, 70, 24, 44, 91, 38, 4, 213, 10, 214, 30, 164, 71, 118, 213, 15, 184, 162, 134, 248, 142, 76, 90, 156, 163, 185, 186, 90, 198, 74, 88, 102, 125, 60, 207, 241, 223, 198, 193, 217, 54, 235, 56, 248, 121, 65, 175, 50, 7, 26, 30, 130, 102, 220, 126, 5, 10, 11, 224, 106, 109, 43, 123, 245, 147, 173, 118, 4, 249, 161, 87, 117, 168, 72},
+{57, 85, 70, 106, 210, 51, 220, 17, 9, 110, 135, 4, 4, 14, 169, 75, 236, 27, 185, 54, 98, 104, 84, 30, 53, 235, 64, 129, 166, 17, 39, 233, 194, 198, 111, 165, 213, 207, 18, 102, 16, 158, 20, 226, 247, 220, 191, 170, 123, 136, 56, 203, 161, 153, 102, 40, 85, 132, 163, 139, 4, 96, 112, 0, 45, 76, 68, 69, 214, 178, 6, 92, 247, 68, 135, 189, 91, 3, 18, 111, 191, 112, 23, 150, 141, 6, 214, 184, 70, 167, 64, 146, 143, 237, 138, 142, 224, 248, 164, 90, 90, 100, 232, 111, 214, 196, 83, 168, 204, 72, 127, 65, 30, 44, 21, 209, 152, 18, 193, 5, 224, 42, 31, 142, 182, 174, 225, 26},
+{149, 105, 65, 230, 148, 253, 121, 29, 37, 168, 85, 119, 26, 75, 180, 61, 22, 111, 183, 246, 217, 47, 37, 91, 187, 76, 99, 246, 122, 201, 194, 241, 61, 117, 27, 252, 204, 193, 143, 5, 183, 97, 244, 23, 200, 198, 192, 142, 135, 216, 207, 153, 130, 174, 241, 198, 235, 4, 120, 167, 228, 41, 87, 201, 2, 135, 107, 231, 228, 177, 143, 80, 146, 139, 161, 15, 193, 247, 80, 29, 169, 227, 129, 22, 168, 113, 28, 10, 154, 171, 190, 0, 218, 164, 206, 186, 39, 116, 210, 129, 170, 71, 172, 96, 54, 98, 119, 232, 147, 102, 241, 33, 198, 103, 21, 31, 109, 129, 57, 255, 194, 148, 251, 220, 194, 13, 184, 207},
+{110, 189, 141, 66, 6, 50, 6, 48, 70, 37, 107, 120, 138, 35, 27, 24, 95, 235, 236, 103, 165, 71, 196, 72, 255, 189, 157, 178, 110, 61, 186, 164, 150, 1, 149, 41, 158, 0, 213, 125, 147, 154, 180, 36, 243, 255, 176, 231, 89, 44, 16, 99, 25, 56, 219, 10, 159, 21, 219, 13, 34, 246, 23, 118, 228, 45, 117, 146, 30, 99, 160, 232, 199, 154, 216, 143, 167, 153, 91, 228, 104, 21, 91, 220, 20, 91, 144, 75, 78, 172, 19, 17, 34, 240, 72, 219, 10, 77, 75, 108, 157, 14, 114, 226, 175, 226, 219, 26, 202, 86, 89, 236, 145, 89, 112, 70, 206, 246, 76, 122, 66, 41, 251, 108, 86, 101, 141, 223},
+{153, 3, 85, 182, 26, 37, 150, 131, 158, 43, 153, 205, 150, 35, 125, 42, 23, 1, 255, 190, 24, 220, 243, 253, 196, 250, 213, 132, 166, 3, 134, 48, 133, 147, 244, 117, 100, 20, 176, 19, 76, 158, 248, 115, 4, 14, 95, 88, 91, 98, 125, 115, 44, 112, 164, 58, 205, 45, 37, 1, 235, 186, 23, 85, 214, 169, 48, 200, 17, 238, 216, 184, 19, 33, 225, 221, 212, 119, 58, 117, 209, 56, 166, 234, 92, 30, 124, 164, 255, 33, 255, 161, 234, 67, 199, 150, 160, 195, 115, 16, 223, 77, 141, 93, 254, 68, 137, 87, 240, 254, 7, 66, 223, 195, 146, 247, 204, 236, 132, 177, 213, 223, 235, 213, 150, 232, 134, 173},
+{9, 43, 168, 140, 208, 224, 114, 97, 211, 217, 61, 10, 155, 29, 77, 64, 163, 48, 183, 19, 120, 174, 40, 85, 223, 51, 22, 93, 32, 194, 76, 103, 87, 117, 127, 242, 0, 92, 16, 231, 95, 162, 154, 197, 88, 13, 172, 102, 101, 218, 188, 147, 229, 96, 126, 236, 102, 76, 92, 150, 117, 61, 163, 159, 162, 222, 6, 200, 174, 112, 238, 92, 145, 12, 10, 8, 36, 61, 14, 11, 49, 177, 239, 104, 128, 38, 185, 191, 133, 32, 110, 112, 1, 194, 12, 217, 100, 133, 24, 253, 133, 191, 214, 109, 184, 84, 60, 117, 142, 53, 172, 188, 72, 167, 224, 86, 125, 201, 175, 56, 169, 109, 207, 11, 211, 151, 107, 248},
+{43, 50, 173, 57, 65, 72, 165, 9, 160, 186, 97, 155, 83, 125, 127, 26, 188, 150, 149, 246, 189, 157, 149, 13, 67, 200, 48, 174, 152, 58, 238, 137, 173, 185, 224, 246, 99, 21, 96, 213, 190, 104, 66, 110, 9, 78, 29, 81, 99, 61, 254, 107, 185, 83, 241, 198, 0, 243, 243, 23, 78, 147, 186, 178, 99, 234, 39, 229, 193, 172, 100, 60, 126, 37, 41, 84, 141, 127, 74, 77, 21, 112, 196, 230, 255, 69, 34, 236, 117, 230, 114, 129, 85, 61, 149, 22, 28, 250, 112, 127, 254, 230, 57, 147, 235, 125, 13, 239, 141, 98, 32, 176, 33, 61, 192, 132, 141, 226, 18, 115, 163, 175, 6, 141, 40, 182, 97, 117},
+{10, 216, 180, 179, 176, 1, 134, 154, 173, 162, 115, 152, 105, 64, 153, 117, 132, 202, 192, 59, 72, 201, 24, 123, 206, 208, 47, 216, 137, 143, 25, 132, 201, 66, 153, 72, 230, 92, 104, 28, 59, 128, 228, 76, 209, 200, 185, 141, 239, 144, 127, 85, 149, 94, 113, 24, 121, 221, 25, 69, 148, 33, 122, 34, 95, 89, 128, 26, 83, 63, 42, 14, 46, 154, 80, 166, 21, 38, 29, 232, 70, 196, 163, 199, 165, 60, 229, 154, 24, 72, 122, 46, 169, 108, 139, 10, 43, 192, 199, 71, 108, 116, 155, 21, 206, 114, 50, 226, 196, 88, 244, 238, 117, 187, 236, 147, 64, 90, 111, 31, 126, 186, 233, 186, 198, 253, 13, 93},
+{39, 193, 145, 93, 245, 60, 222, 205, 184, 145, 21, 177, 255, 209, 35, 246, 45, 190, 75, 26, 142, 150, 73, 187, 166, 142, 183, 156, 82, 209, 102, 147, 77, 128, 138, 96, 100, 111, 57, 117, 25, 37, 96, 157, 231, 233, 217, 17, 20, 7, 134, 129, 17, 102, 171, 212, 116, 97, 209, 181, 102, 111, 195, 29, 198, 69, 123, 27, 20, 84, 171, 253, 244, 148, 202, 192, 156, 136, 107, 219, 169, 39, 64, 178, 113, 14, 169, 156, 154, 186, 158, 61, 241, 79, 180, 135, 25, 173, 180, 80, 232, 253, 39, 80, 75, 91, 188, 65, 86, 71, 209, 13, 84, 152, 107, 16, 90, 203, 118, 112, 155, 62, 104, 104, 166, 254, 164, 173},
+{12, 222, 148, 165, 212, 122, 16, 51, 236, 228, 55, 109, 5, 13, 219, 19, 200, 51, 31, 208, 185, 13, 91, 174, 189, 61, 74, 211, 88, 195, 19, 104, 123, 77, 68, 211, 105, 89, 98, 14, 61, 82, 73, 26, 189, 178, 45, 217, 203, 27, 140, 94, 23, 47, 127, 109, 74, 218, 242, 134, 87, 45, 178, 183, 182, 180, 97, 36, 160, 152, 94, 140, 229, 153, 150, 181, 8, 238, 132, 171, 203, 4, 227, 74, 239, 156, 154, 193, 220, 0, 169, 103, 152, 12, 242, 107, 6, 112, 179, 242, 53, 132, 65, 229, 199, 125, 74, 116, 49, 4, 220, 54, 50, 154, 235, 66, 189, 225, 2, 171, 255, 132, 114, 228, 204, 171, 104, 163},
+{131, 111, 15, 213, 168, 97, 99, 153, 99, 46, 101, 79, 55, 58, 224, 70, 244, 115, 172, 44, 119, 90, 78, 191, 197, 35, 34, 51, 153, 183, 193, 236, 201, 161, 70, 21, 132, 97, 174, 115, 19, 135, 173, 209, 46, 175, 17, 160, 45, 224, 140, 92, 180, 115, 58, 25, 77, 89, 203, 82, 99, 28, 57, 6, 119, 233, 76, 124, 63, 23, 70, 6, 143, 130, 84, 233, 58, 77, 138, 129, 114, 118, 143, 112, 251, 87, 176, 121, 0, 95, 89, 133, 93, 162, 207, 203, 31, 199, 210, 120, 26, 46, 127, 210, 44, 76, 91, 56, 132, 124, 134, 104, 208, 35, 169, 229, 130, 10, 219, 11, 104, 172, 158, 245, 44, 1, 130, 255},
+{163, 94, 168, 200, 86, 18, 60, 135, 191, 140, 21, 60, 144, 50, 158, 119, 35, 38, 18, 189, 246, 123, 242, 209, 76, 13, 91, 51, 247, 176, 43, 37, 158, 96, 0, 42, 47, 104, 194, 50, 54, 163, 7, 89, 41, 17, 206, 56, 61, 217, 95, 125, 54, 35, 185, 56, 159, 212, 194, 200, 176, 118, 115, 144, 10, 26, 187, 186, 161, 170, 136, 57, 196, 109, 211, 209, 220, 65, 120, 162, 89, 93, 144, 134, 210, 144, 142, 88, 175, 105, 71, 143, 146, 132, 116, 41, 51, 213, 228, 223, 89, 169, 123, 164, 52, 106, 111, 240, 44, 2, 100, 51, 217, 183, 157, 9, 238, 105, 24, 192, 172, 91, 239, 152, 180, 214, 141, 249},
+{193, 96, 194, 34, 209, 81, 210, 191, 212, 218, 55, 90, 100, 90, 106, 108, 47, 59, 210, 104, 78, 109, 10, 16, 108, 148, 197, 51, 125, 225, 224, 75, 146, 77, 243, 162, 76, 34, 181, 40, 81, 232, 195, 13, 210, 133, 98, 175, 68, 73, 72, 4, 58, 130, 2, 22, 226, 94, 234, 146, 21, 167, 162, 247, 41, 105, 182, 108, 96, 62, 244, 28, 161, 228, 178, 175, 119, 132, 143, 197, 110, 141, 196, 164, 51, 209, 170, 114, 208, 167, 4, 236, 244, 120, 143, 95, 34, 62, 112, 126, 179, 248, 214, 191, 75, 246, 23, 103, 116, 74, 20, 81, 80, 246, 255, 39, 159, 122, 66, 154, 2, 104, 88, 47, 197, 132, 111, 109},
+{180, 58, 83, 40, 81, 60, 35, 239, 70, 109, 221, 140, 115, 120, 80, 195, 33, 145, 45, 182, 139, 55, 110, 147, 139, 154, 106, 230, 21, 70, 149, 102, 43, 248, 57, 178, 65, 115, 102, 108, 135, 212, 59, 92, 231, 37, 180, 174, 152, 240, 217, 96, 77, 192, 84, 220, 14, 90, 189, 95, 19, 61, 235, 231, 219, 4, 197, 105, 132, 127, 234, 95, 178, 197, 235, 168, 38, 74, 222, 103, 242, 97, 245, 83, 199, 21, 150, 154, 137, 132, 0, 45, 236, 115, 179, 233, 253, 134, 77, 39, 57, 161, 243, 6, 188, 228, 232, 206, 109, 118, 249, 43, 144, 216, 18, 82, 204, 16, 135, 165, 94, 202, 159, 205, 221, 97, 191, 72},
+{124, 220, 117, 127, 34, 124, 249, 252, 242, 249, 136, 242, 27, 129, 103, 15, 185, 33, 19, 54, 213, 73, 194, 191, 34, 111, 66, 218, 61, 222, 217, 36, 194, 234, 139, 138, 60, 213, 22, 127, 59, 94, 7, 48, 117, 24, 148, 180, 161, 126, 167, 242, 222, 98, 107, 221, 133, 251, 44, 206, 64, 170, 32, 35, 125, 92, 176, 144, 132, 230, 214, 209, 218, 232, 178, 71, 177, 55, 34, 49, 211, 191, 189, 61, 247, 114, 209, 39, 244, 43, 53, 82, 37, 138, 83, 173, 139, 64, 161, 117, 56, 251, 226, 83, 176, 74, 147, 237, 50, 24, 215, 162, 110, 225, 191, 183, 119, 96, 114, 246, 68, 145, 226, 106, 64, 244, 28, 251},
+{21, 158, 246, 230, 250, 230, 73, 112, 230, 22, 33, 181, 208, 220, 171, 175, 240, 147, 182, 59, 181, 248, 189, 155, 40, 146, 22, 93, 54, 244, 99, 106, 77, 56, 36, 151, 248, 190, 17, 241, 131, 230, 135, 110, 231, 177, 13, 138, 194, 181, 219, 168, 50, 188, 84, 122, 63, 205, 160, 187, 41, 229, 146, 38, 152, 159, 172, 140, 110, 128, 85, 28, 237, 84, 15, 101, 109, 188, 104, 146, 210, 206, 251, 236, 135, 80, 8, 233, 7, 123, 152, 38, 59, 104, 18, 13, 14, 190, 235, 30, 234, 165, 60, 138, 221, 207, 201, 86, 181, 237, 142, 95, 92, 47, 69, 20, 2, 177, 146, 240, 95, 139, 66, 221, 18, 171, 199, 52},
+{110, 105, 154, 191, 121, 133, 65, 236, 138, 178, 122, 10, 41, 232, 188, 65, 223, 226, 122, 149, 72, 149, 35, 176, 91, 90, 201, 48, 63, 241, 183, 201, 224, 26, 128, 250, 29, 219, 18, 240, 69, 220, 95, 186, 79, 129, 66, 199, 112, 68, 124, 5, 56, 163, 44, 98, 24, 55, 203, 40, 69, 229, 98, 79, 65, 173, 102, 63, 237, 101, 246, 240, 190, 80, 229, 246, 134, 67, 239, 232, 71, 187, 169, 233, 25, 137, 245, 193, 67, 215, 194, 104, 109, 227, 94, 166, 109, 246, 110, 219, 56, 134, 98, 92, 96, 196, 33, 49, 131, 12, 167, 211, 69, 76, 14, 114, 228, 245, 133, 12, 29, 49, 250, 230, 177, 69, 247, 253},
+{73, 118, 213, 67, 29, 204, 35, 19, 198, 126, 197, 27, 155, 98, 127, 226, 6, 215, 148, 168, 65, 167, 210, 168, 229, 157, 156, 254, 177, 51, 203, 68, 133, 82, 123, 239, 145, 77, 142, 20, 19, 223, 34, 241, 140, 0, 172, 67, 78, 254, 31, 2, 1, 178, 131, 111, 32, 249, 89, 57, 60, 48, 7, 114, 45, 222, 242, 219, 60, 15, 76, 246, 145, 218, 41, 89, 228, 7, 128, 137, 29, 8, 4, 134, 39, 53, 202, 223, 123, 220, 149, 202, 196, 150, 38, 227, 203, 253, 49, 112, 180, 45, 189, 104, 55, 234, 55, 57, 134, 242, 218, 240, 157, 203, 218, 67, 167, 243, 22, 106, 71, 246, 38, 201, 184, 225, 39, 75},
+{100, 146, 132, 19, 71, 230, 213, 158, 2, 106, 83, 172, 94, 38, 141, 127, 132, 220, 184, 253, 98, 161, 72, 141, 187, 82, 66, 120, 133, 227, 174, 193, 149, 119, 126, 70, 226, 39, 75, 31, 159, 126, 251, 234, 1, 98, 204, 11, 206, 205, 242, 245, 123, 245, 100, 19, 1, 237, 69, 113, 239, 35, 7, 250, 172, 252, 246, 150, 132, 215, 36, 132, 95, 95, 40, 81, 177, 45, 62, 30, 176, 15, 245, 52, 36, 219, 110, 230, 48, 188, 114, 137, 251, 220, 211, 6, 214, 213, 111, 123, 232, 172, 154, 169, 135, 32, 160, 15, 154, 226, 16, 183, 253, 64, 109, 213, 242, 236, 250, 18, 119, 255, 35, 190, 217, 71, 32, 136},
+{124, 145, 181, 145, 26, 142, 229, 188, 241, 49, 234, 27, 226, 151, 158, 51, 229, 223, 8, 190, 95, 109, 176, 108, 238, 251, 236, 229, 244, 112, 20, 163, 71, 65, 95, 99, 112, 219, 133, 98, 151, 137, 112, 139, 127, 56, 24, 48, 223, 201, 67, 66, 180, 190, 54, 157, 71, 163, 97, 192, 195, 183, 62, 187, 203, 93, 5, 38, 133, 1, 233, 148, 97, 36, 131, 230, 153, 149, 87, 218, 90, 228, 73, 163, 148, 95, 43, 27, 172, 170, 86, 238, 245, 99, 173, 238, 231, 208, 123, 39, 175, 90, 246, 245, 132, 17, 98, 149, 55, 147, 23, 156, 120, 247, 62, 26, 115, 196, 134, 84, 57, 193, 125, 90, 159, 136, 44, 229},
+{49, 34, 252, 190, 43, 229, 113, 116, 143, 53, 58, 4, 150, 132, 204, 161, 43, 116, 226, 226, 86, 151, 223, 17, 175, 94, 227, 18, 71, 58, 41, 155, 44, 186, 160, 71, 191, 97, 239, 141, 215, 253, 62, 170, 132, 248, 227, 139, 137, 240, 57, 88, 235, 182, 180, 148, 52, 197, 135, 13, 46, 94, 105, 16, 167, 145, 153, 83, 163, 183, 17, 0, 141, 108, 205, 34, 160, 0, 182, 83, 188, 205, 177, 175, 114, 219, 163, 247, 130, 111, 171, 170, 141, 174, 40, 21, 32, 214, 109, 84, 118, 243, 8, 194, 127, 214, 242, 227, 114, 170, 119, 133, 148, 47, 179, 33, 22, 64, 87, 95, 29, 30, 107, 119, 145, 164, 162, 151},
+{80, 140, 130, 139, 125, 1, 9, 139, 206, 141, 139, 2, 126, 110, 154, 56, 204, 57, 240, 224, 150, 106, 83, 30, 69, 6, 201, 67, 113, 163, 134, 14, 229, 125, 41, 102, 185, 224, 192, 47, 22, 235, 246, 214, 240, 54, 241, 128, 199, 12, 186, 21, 53, 10, 139, 47, 210, 33, 74, 80, 55, 119, 117, 48, 183, 62, 161, 180, 64, 117, 221, 86, 241, 139, 247, 187, 50, 59, 32, 22, 160, 119, 250, 123, 238, 7, 41, 60, 247, 132, 124, 205, 53, 174, 159, 62, 111, 243, 213, 22, 158, 5, 33, 126, 1, 151, 44, 0, 11, 44, 7, 36, 232, 233, 108, 201, 0, 99, 13, 190, 172, 207, 22, 244, 103, 59, 168, 132},
+{38, 122, 201, 40, 105, 181, 184, 186, 186, 206, 47, 221, 220, 58, 131, 178, 6, 173, 153, 248, 63, 190, 163, 177, 114, 178, 228, 76, 180, 156, 2, 106, 218, 171, 112, 107, 249, 126, 153, 146, 69, 101, 50, 142, 150, 128, 147, 241, 233, 164, 115, 17, 118, 55, 107, 76, 166, 158, 93, 21, 168, 47, 7, 138, 149, 182, 145, 155, 248, 217, 76, 92, 151, 113, 235, 117, 227, 198, 103, 152, 240, 81, 181, 202, 17, 57, 246, 247, 242, 105, 227, 250, 146, 202, 136, 39, 223, 232, 242, 80, 99, 58, 162, 1, 201, 15, 7, 50, 149, 208, 234, 128, 12, 65, 62, 25, 150, 178, 247, 19, 97, 30, 0, 185, 68, 157, 49, 92},
+{154, 12, 43, 201, 87, 60, 40, 119, 193, 73, 110, 203, 0, 249, 202, 115, 202, 161, 167, 72, 153, 249, 55, 254, 28, 44, 217, 210, 235, 166, 219, 103, 199, 208, 149, 253, 62, 69, 138, 107, 159, 187, 98, 136, 19, 146, 223, 84, 162, 0, 171, 61, 45, 13, 192, 55, 170, 142, 255, 71, 245, 230, 126, 204, 13, 228, 158, 181, 93, 179, 18, 201, 140, 117, 45, 56, 135, 82, 0, 205, 100, 137, 161, 255, 173, 122, 105, 249, 41, 148, 45, 118, 249, 179, 139, 226, 58, 127, 5, 144, 195, 217, 184, 57, 114, 17, 159, 107, 201, 183, 232, 253, 223, 44, 107, 141, 178, 149, 38, 180, 133, 250, 87, 107, 122, 183, 26, 230},
+{46, 209, 176, 231, 219, 197, 156, 224, 105, 157, 138, 39, 56, 13, 5, 154, 129, 179, 57, 48, 16, 189, 238, 169, 197, 238, 230, 110, 9, 28, 191, 79, 110, 153, 88, 160, 55, 139, 58, 38, 187, 23, 83, 70, 97, 26, 242, 225, 37, 149, 212, 84, 120, 32, 69, 52, 139, 49, 141, 164, 41, 38, 216, 186, 151, 73, 155, 184, 55, 14, 50, 35, 25, 57, 74, 116, 208, 97, 16, 141, 40, 253, 103, 253, 16, 227, 64, 245, 248, 252, 47, 205, 100, 98, 129, 225, 219, 88, 20, 171, 122, 160, 21, 76, 142, 118, 233, 45, 240, 190, 102, 201, 83, 168, 200, 237, 100, 10, 186, 42, 142, 175, 80, 89, 165, 65, 57, 176},
+{16, 173, 6, 19, 107, 107, 10, 10, 178, 242, 157, 87, 56, 72, 248, 128, 168, 228, 108, 109, 224, 208, 126, 38, 154, 114, 36, 19, 163, 20, 225, 121, 208, 92, 70, 252, 112, 109, 211, 29, 171, 87, 251, 8, 91, 44, 81, 222, 167, 12, 46, 225, 105, 188, 63, 76, 122, 182, 107, 233, 172, 242, 238, 48, 194, 247, 208, 254, 29, 140, 143, 144, 74, 30, 136, 157, 121, 247, 165, 132, 14, 198, 21, 40, 155, 224, 19, 248, 210, 86, 155, 101, 225, 201, 123, 40, 94, 156, 151, 223, 186, 125, 33, 104, 28, 123, 206, 22, 156, 35, 158, 162, 88, 17, 41, 53, 225, 108, 208, 165, 97, 70, 145, 164, 4, 180, 239, 174},
+{159, 129, 106, 47, 114, 135, 57, 38, 165, 68, 6, 99, 255, 84, 192, 148, 45, 80, 251, 37, 252, 12, 69, 243, 166, 129, 176, 113, 182, 201, 169, 147, 254, 24, 38, 221, 190, 218, 12, 193, 198, 240, 180, 181, 82, 172, 23, 104, 231, 73, 207, 132, 253, 172, 67, 79, 193, 8, 108, 62, 78, 50, 213, 48, 28, 211, 237, 236, 212, 109, 57, 16, 197, 189, 253, 78, 224, 233, 168, 179, 170, 232, 49, 130, 34, 233, 253, 198, 3, 117, 22, 32, 63, 163, 1, 92, 91, 48, 111, 225, 104, 35, 195, 115, 247, 59, 255, 59, 114, 127, 254, 32, 103, 140, 53, 178, 61, 71, 240, 130, 75, 123, 242, 44, 44, 63, 217, 30},
+{5, 200, 149, 71, 143, 105, 151, 223, 38, 201, 150, 213, 187, 179, 32, 140, 202, 79, 55, 9, 37, 96, 199, 18, 242, 148, 240, 193, 62, 128, 62, 244, 212, 191, 202, 110, 95, 27, 70, 64, 5, 239, 126, 126, 91, 153, 111, 152, 231, 83, 62, 233, 59, 246, 180, 22, 142, 3, 194, 84, 33, 149, 24, 214, 208, 205, 137, 231, 53, 46, 30, 13, 155, 32, 68, 196, 108, 128, 169, 25, 43, 20, 60, 238, 124, 1, 210, 72, 92, 140, 13, 138, 252, 206, 123, 87, 13, 219, 188, 179, 136, 247, 141, 27, 26, 246, 249, 130, 133, 113, 245, 248, 233, 142, 253, 25, 115, 55, 162, 9, 142, 216, 156, 11, 200, 147, 144, 151},
+{193, 102, 254, 168, 96, 7, 151, 64, 150, 90, 136, 118, 221, 111, 194, 35, 215, 142, 12, 53, 57, 36, 208, 253, 167, 247, 113, 151, 156, 162, 48, 17, 220, 94, 254, 191, 78, 54, 59, 115, 197, 160, 174, 199, 246, 64, 129, 231, 197, 29, 150, 187, 182, 220, 170, 198, 151, 239, 253, 58, 237, 161, 47, 31, 177, 225, 121, 108, 147, 167, 132, 65, 125, 159, 113, 167, 132, 178, 36, 61, 226, 104, 141, 103, 94, 49, 21, 117, 17, 66, 30, 9, 75, 13, 196, 37, 251, 149, 92, 250, 243, 236, 209, 114, 239, 43, 16, 91, 218, 119, 86, 75, 11, 241, 49, 108, 2, 247, 250, 210, 51, 145, 248, 111, 203, 47, 35, 9},
+{168, 211, 207, 15, 32, 9, 199, 83, 220, 28, 148, 248, 75, 220, 105, 4, 169, 29, 79, 253, 136, 254, 135, 249, 56, 225, 26, 161, 248, 171, 174, 65, 74, 105, 70, 67, 229, 202, 244, 41, 111, 39, 72, 243, 39, 248, 23, 83, 21, 225, 46, 62, 231, 214, 194, 3, 116, 133, 133, 56, 215, 163, 64, 202, 69, 73, 243, 19, 210, 238, 153, 236, 207, 69, 236, 75, 135, 31, 12, 254, 69, 155, 1, 26, 252, 162, 251, 184, 45, 250, 138, 129, 61, 32, 94, 58, 246, 171, 82, 30, 188, 52, 128, 43, 37, 255, 145, 179, 167, 122, 86, 40, 153, 73, 146, 181, 230, 44, 18, 222, 193, 49, 190, 179, 30, 200, 78, 55},
+{23, 193, 214, 97, 144, 30, 131, 59, 117, 210, 232, 168, 85, 66, 149, 234, 10, 201, 150, 224, 65, 199, 29, 203, 47, 222, 115, 210, 164, 248, 236, 35, 140, 108, 214, 134, 180, 99, 50, 204, 78, 6, 44, 150, 99, 140, 30, 2, 97, 178, 235, 36, 82, 198, 122, 169, 5, 55, 131, 24, 143, 69, 14, 158, 196, 86, 118, 108, 59, 31, 142, 170, 44, 198, 9, 214, 161, 144, 134, 67, 41, 59, 253, 230, 200, 72, 40, 66, 228, 56, 178, 112, 15, 233, 208, 22, 92, 50, 216, 237, 213, 190, 91, 114, 124, 157, 107, 238, 109, 251, 57, 4, 207, 235, 187, 188, 190, 159, 107, 199, 107, 41, 156, 76, 228, 151, 199, 119},
+{2, 107, 220, 23, 140, 176, 185, 70, 16, 206, 58, 12, 208, 88, 246, 15, 201, 13, 204, 240, 136, 236, 208, 146, 41, 133, 190, 43, 176, 195, 13, 211, 149, 50, 91, 115, 68, 160, 131, 131, 177, 43, 179, 30, 146, 108, 200, 210, 78, 221, 121, 190, 14, 153, 99, 26, 237, 118, 101, 252, 181, 154, 133, 186, 106, 98, 136, 123, 107, 128, 26, 156, 147, 124, 7, 125, 93, 103, 41, 155, 253, 205, 191, 222, 135, 220, 68, 69, 61, 91, 35, 226, 201, 58, 34, 126, 213, 132, 244, 17, 122, 172, 134, 92, 128, 107, 17, 92, 199, 251, 221, 184, 252, 230, 235, 107, 90, 103, 36, 124, 174, 205, 143, 157, 98, 205, 116, 102},
+{90, 42, 129, 132, 58, 231, 72, 242, 147, 253, 58, 198, 181, 81, 228, 103, 124, 148, 10, 196, 150, 87, 235, 126, 62, 41, 47, 226, 87, 42, 13, 58, 234, 40, 182, 56, 91, 131, 149, 201, 49, 236, 238, 156, 158, 12, 38, 63, 203, 174, 15, 32, 47, 164, 11, 255, 145, 27, 162, 179, 89, 84, 174, 135, 72, 57, 174, 210, 225, 45, 27, 200, 115, 197, 41, 201, 42, 89, 165, 16, 86, 164, 218, 210, 14, 58, 135, 179, 74, 188, 101, 186, 116, 149, 113, 95, 27, 101, 241, 99, 108, 234, 81, 216, 90, 102, 77, 231, 117, 75, 107, 200, 8, 118, 17, 66, 43, 222, 19, 144, 191, 101, 87, 39, 35, 30, 103, 160},
+{151, 222, 236, 85, 71, 146, 93, 51, 120, 73, 28, 153, 22, 111, 130, 82, 245, 130, 176, 57, 196, 105, 251, 190, 218, 106, 46, 47, 224, 15, 39, 170, 106, 30, 45, 210, 227, 126, 55, 215, 162, 86, 202, 186, 113, 198, 27, 47, 206, 205, 170, 223, 244, 144, 227, 220, 94, 246, 157, 104, 58, 10, 24, 114, 154, 156, 246, 61, 156, 104, 0, 114, 167, 141, 243, 167, 152, 22, 134, 252, 192, 215, 197, 225, 106, 136, 20, 28, 233, 39, 114, 24, 98, 126, 42, 152, 58, 5, 117, 43, 190, 40, 34, 127, 85, 73, 250, 249, 148, 61, 226, 229, 71, 119, 160, 24, 140, 90, 51, 14, 42, 31, 143, 188, 218, 1, 146},
+{206, 35, 21, 145, 100, 109, 60, 103, 165, 63, 130, 198, 118, 17, 155, 39, 212, 186, 234, 212, 217, 114, 229, 80, 129, 90, 206, 51, 176, 4, 27, 114, 71, 124, 96, 211, 56, 38, 219, 142, 237, 153, 98, 228, 53, 40, 167, 45, 12, 61, 105, 188, 32, 143, 97, 91, 90, 67, 217, 246, 53, 229, 198, 211, 93, 92, 229, 158, 37, 244, 213, 121, 60, 122, 233, 198, 26, 13, 215, 238, 245, 51, 183, 82, 204, 129, 58, 232, 25, 254, 38, 28, 90, 59, 131, 104, 8, 254, 89, 151, 56, 23, 231, 52, 198, 141, 14, 75, 74, 126, 1, 62, 254, 26, 224, 9, 204, 239, 90, 158, 230, 119, 158, 27, 110, 71, 210, 213},
+{84, 91, 137, 67, 255, 63, 216, 73, 191, 126, 36, 104, 139, 235, 6, 156, 21, 135, 227, 184, 10, 59, 239, 122, 50, 127, 146, 3, 84, 178, 168, 15, 148, 3, 160, 43, 37, 223, 150, 236, 235, 190, 60, 24, 129, 160, 218, 86, 81, 206, 97, 189, 185, 139, 130, 250, 9, 215, 26, 243, 168, 254, 159, 189, 146, 64, 70, 146, 3, 144, 246, 2, 119, 191, 71, 229, 46, 66, 220, 201, 10, 45, 85, 188, 214, 183, 20, 59, 186, 125, 74, 86, 9, 240, 26, 192, 95, 116, 152, 100, 217, 251, 25, 52, 222, 230, 3, 185, 230, 36, 44, 61, 104, 133, 57, 142, 152, 146, 158, 233, 49, 142, 168, 237, 217, 187, 117, 51},
+{54, 49, 123, 169, 32, 86, 142, 166, 247, 157, 150, 253, 17, 180, 2, 216, 14, 197, 220, 236, 218, 30, 192, 60, 94, 155, 41, 94, 18, 87, 109, 176, 68, 250, 218, 169, 76, 98, 250, 52, 152, 179, 129, 250, 237, 229, 140, 166, 174, 55, 18, 43, 12, 41, 207, 24, 135, 151, 160, 84, 228, 237, 199, 25, 255, 249, 107, 149, 4, 31, 246, 242, 105, 93, 135, 27, 237, 248, 199, 253, 69, 214, 45, 178, 77, 0, 193, 36, 220, 157, 62, 138, 74, 83, 188, 73, 194, 124, 63, 232, 173, 228, 76, 146, 22, 163, 95, 220, 158, 216, 160, 217, 173, 176, 107, 229, 9, 59, 117, 177, 192, 90, 195, 224, 20, 251, 21, 155},
+{169, 53, 144, 160, 111, 45, 204, 89, 21, 250, 79, 199, 138, 17, 161, 240, 247, 35, 84, 220, 170, 78, 151, 167, 223, 82, 235, 241, 78, 211, 44, 111, 94, 16, 128, 233, 164, 252, 96, 239, 161, 89, 84, 83, 55, 106, 5, 242, 8, 139, 160, 50, 221, 105, 189, 236, 225, 11, 19, 181, 89, 224, 157, 250, 0, 214, 201, 191, 139, 38, 159, 251, 67, 16, 106, 246, 240, 235, 105, 128, 242, 43, 41, 74, 230, 250, 149, 15, 60, 150, 151, 87, 233, 204, 189, 30, 110, 0, 11, 186, 183, 164, 222, 115, 90, 173, 158, 79, 53, 90, 124, 63, 138, 102, 35, 246, 97, 8, 194, 75, 12, 145, 109, 18, 216, 72, 139, 241},
+{160, 25, 29, 171, 252, 141, 197, 252, 15, 41, 42, 138, 89, 116, 214, 194, 198, 157, 11, 212, 9, 116, 8, 252, 209, 193, 182, 80, 248, 127, 214, 211, 70, 79, 13, 84, 191, 108, 52, 69, 230, 155, 100, 169, 95, 255, 79, 82, 49, 83, 168, 101, 166, 0, 126, 220, 250, 134, 106, 107, 153, 219, 13, 11, 205, 167, 223, 170, 230, 195, 15, 253, 30, 209, 105, 243, 251, 30, 53, 27, 71, 10, 234, 218, 251, 10, 97, 164, 209, 129, 186, 242, 100, 219, 164, 6, 106, 177, 13, 205, 29, 147, 107, 192, 141, 66, 97, 28, 154, 98, 131, 106, 221, 107, 145, 69, 113, 184, 53, 133, 118, 223, 110, 205, 25, 165, 210, 134},
+{120, 154, 26, 28, 96, 122, 170, 196, 167, 48, 193, 120, 224, 205, 186, 138, 133, 113, 252, 174, 109, 3, 8, 147, 14, 67, 44, 190, 26, 169, 125, 95, 1, 81, 198, 171, 22, 70, 34, 159, 79, 110, 134, 226, 1, 120, 242, 155, 105, 225, 161, 199, 243, 12, 128, 174, 245, 126, 58, 187, 110, 170, 245, 247, 248, 85, 236, 164, 54, 0, 245, 244, 214, 177, 110, 5, 97, 124, 250, 28, 26, 162, 57, 31, 95, 93, 89, 200, 164, 233, 169, 130, 44, 241, 234, 238, 157, 178, 230, 240, 24, 52, 110, 238, 68, 169, 152, 139, 239, 207, 115, 83, 90, 192, 77, 171, 43, 239, 95, 56, 144, 214, 236, 123, 116, 247, 25, 154},
+{3, 210, 33, 90, 241, 233, 37, 169, 201, 12, 183, 113, 67, 204, 44, 216, 59, 240, 10, 214, 208, 1, 200, 133, 84, 24, 148, 139, 166, 19, 168, 200, 231, 215, 197, 206, 37, 79, 229, 84, 115, 43, 159, 191, 25, 87, 210, 4, 125, 185, 203, 224, 93, 156, 36, 203, 129, 177, 116, 119, 118, 219, 110, 161, 238, 107, 39, 216, 220, 118, 42, 9, 132, 86, 107, 47, 105, 188, 46, 121, 3, 199, 222, 183, 26, 25, 147, 142, 11, 202, 197, 21, 15, 188, 198, 226, 29, 118, 102, 9, 35, 232, 121, 64, 128, 149, 233, 58, 7, 15, 148, 151, 54, 47, 26, 131, 207, 21, 41, 2, 140, 174, 226, 146, 7, 183, 93, 116},
+{57, 95, 166, 73, 48, 8, 112, 228, 96, 34, 25, 95, 191, 224, 14, 30, 30, 46, 40, 207, 153, 93, 45, 122, 48, 45, 211, 175, 244, 243, 141, 62, 223, 80, 78, 157, 147, 165, 40, 46, 33, 141, 167, 29, 196, 137, 37, 99, 108, 176, 255, 151, 151, 54, 238, 170, 117, 219, 69, 73, 254, 116, 149, 101, 7, 119, 96, 118, 79, 221, 10, 249, 61, 219, 80, 135, 106, 34, 249, 91, 106, 14, 226, 255, 25, 218, 201, 30, 246, 224, 169, 112, 118, 229, 189, 251, 141, 251, 121, 230, 53, 255, 14, 183, 223, 251, 147, 68, 212, 161, 240, 19, 113, 36, 84, 212, 189, 14, 202, 13, 104, 63, 73, 192, 162, 228, 141, 253},
+{188, 145, 218, 180, 141, 80, 60, 226, 51, 180, 16, 187, 128, 35, 123, 23, 99, 207, 69, 71, 46, 241, 107, 146, 76, 40, 136, 108, 233, 82, 155, 189, 121, 110, 201, 234, 160, 237, 215, 19, 43, 167, 66, 65, 204, 213, 196, 75, 88, 83, 223, 160, 122, 127, 205, 166, 229, 175, 37, 198, 91, 124, 49, 209, 81, 12, 221, 107, 140, 106, 169, 87, 106, 9, 229, 155, 183, 172, 173, 217, 231, 67, 50, 120, 182, 201, 88, 232, 181, 226, 122, 125, 41, 103, 222, 17, 128, 208, 153, 27, 85, 160, 195, 78, 173, 131, 122, 171, 237, 247, 198, 49, 228, 1, 184, 65, 190, 102, 43, 87, 80, 155, 142, 57, 207, 59, 195, 35},
+{106, 148, 146, 96, 12, 11, 113, 166, 204, 89, 236, 224, 23, 191, 203, 165, 66, 37, 46, 108, 231, 232, 156, 22, 183, 140, 176, 125, 91, 129, 185, 22, 60, 209, 214, 63, 197, 97, 212, 133, 197, 116, 193, 112, 93, 192, 36, 177, 185, 26, 223, 237, 135, 170, 127, 144, 222, 244, 102, 56, 254, 230, 215, 57, 52, 37, 49, 110, 126, 43, 81, 225, 241, 173, 57, 149, 64, 70, 209, 161, 2, 186, 252, 32, 97, 98, 52, 77, 121, 143, 102, 80, 56, 187, 56, 149, 132, 170, 4, 233, 29, 218, 19, 78, 124, 149, 2, 92, 180, 106, 73, 241, 129, 157, 136, 44, 110, 4, 212, 33, 237, 136, 66, 35, 62, 167, 141, 185},
+{140, 241, 134, 131, 91, 212, 254, 110, 123, 183, 225, 199, 93, 41, 88, 53, 207, 223, 99, 143, 90, 243, 95, 158, 81, 189, 100, 54, 235, 19, 50, 242, 237, 175, 199, 63, 101, 108, 194, 181, 171, 30, 225, 147, 128, 104, 62, 96, 199, 156, 230, 210, 122, 71, 135, 113, 79, 59, 70, 233, 192, 24, 252, 79, 111, 253, 132, 37, 128, 20, 19, 45, 194, 195, 160, 57, 156, 71, 192, 235, 198, 46, 124, 222, 244, 12, 174, 86, 249, 18, 109, 208, 64, 62, 68, 251, 204, 246, 230, 105, 172, 225, 159, 4, 69, 221, 53, 22, 44, 87, 187, 76, 39, 123, 33, 97, 249, 160, 148, 49, 105, 75, 77, 142, 91, 241, 106, 160},
+{71, 214, 212, 182, 3, 184, 146, 66, 113, 91, 22, 90, 176, 150, 20, 90, 156, 83, 217, 75, 91, 231, 149, 119, 170, 165, 147, 58, 107, 130, 23, 7, 132, 204, 65, 87, 162, 172, 183, 213, 210, 96, 13, 189, 253, 206, 198, 21, 97, 19, 63, 62, 94, 212, 227, 97, 212, 200, 180, 8, 252, 104, 69, 147, 92, 187, 203, 73, 173, 24, 215, 110, 218, 101, 245, 209, 20, 164, 38, 91, 182, 245, 3, 145, 148, 244, 167, 56, 253, 137, 80, 127, 38, 99, 248, 212, 252, 139, 110, 205, 243, 135, 119, 64, 85, 132, 30, 68, 123, 50, 248, 102, 49, 201, 106, 201, 83, 72, 41, 58, 243, 6, 234, 53, 8, 68, 43, 116},
+{32, 244, 56, 202, 215, 33, 47, 33, 127, 6, 171, 235, 113, 154, 252, 155, 50, 228, 7, 81, 131, 99, 226, 114, 109, 114, 182, 141, 1, 205, 99, 235, 122, 63, 143, 155, 218, 6, 186, 87, 83, 147, 59, 140, 222, 134, 188, 171, 59, 249, 75, 190, 240, 84, 15, 216, 149, 217, 122, 89, 83, 226, 190, 251, 174, 154, 110, 17, 7, 54, 203, 75, 104, 193, 229, 227, 43, 147, 118, 220, 220, 229, 110, 0, 146, 153, 194, 184, 81, 41, 14, 190, 209, 213, 36, 89, 148, 117, 16, 74, 133, 33, 208, 251, 70, 217, 220, 230, 102, 147, 69, 184, 167, 174, 115, 212, 162, 235, 114, 239, 75, 213, 51, 23, 5, 240, 250, 204},
+{207, 209, 31, 207, 201, 235, 81, 204, 64, 85, 158, 252, 100, 219, 22, 36, 116, 62, 106, 223, 90, 250, 83, 9, 9, 84, 131, 9, 243, 198, 189, 41, 43, 235, 66, 180, 247, 226, 126, 221, 179, 60, 229, 225, 144, 44, 50, 159, 160, 59, 234, 252, 97, 23, 81, 165, 227, 179, 109, 152, 146, 253, 35, 155, 226, 231, 55, 147, 237, 192, 20, 218, 21, 3, 189, 158, 221, 249, 21, 199, 88, 225, 204, 99, 194, 131, 235, 118, 172, 161, 150, 254, 115, 80, 92, 243, 202, 222, 118, 49, 16, 27, 124, 255, 197, 154, 77, 76, 210, 52, 89, 123, 6, 38, 185, 194, 178, 66, 212, 25, 132, 110, 110, 128, 49, 54, 47, 171},
+{70, 246, 103, 130, 128, 241, 132, 83, 169, 16, 93, 147, 159, 104, 27, 226, 174, 4, 38, 92, 203, 1, 191, 124, 133, 54, 222, 126, 52, 157, 179, 19, 99, 133, 166, 100, 245, 117, 0, 228, 223, 12, 248, 34, 5, 81, 129, 151, 66, 118, 246, 244, 74, 149, 93, 102, 162, 209, 116, 128, 149, 176, 158, 8, 15, 151, 115, 172, 117, 185, 84, 24, 107, 225, 102, 79, 117, 181, 163, 85, 231, 26, 167, 224, 101, 237, 103, 234, 127, 224, 209, 34, 84, 81, 151, 146, 30, 152, 55, 197, 253, 252, 106, 13, 5, 53, 133, 98, 182, 83, 191, 125, 53, 201, 47, 168, 3, 179, 177, 223, 104, 234, 136, 119, 201, 63, 127, 230},
+{90, 96, 156, 153, 54, 243, 245, 187, 54, 219, 138, 48, 245, 123, 255, 165, 2, 64, 46, 220, 36, 64, 6, 215, 53, 171, 19, 38, 123, 253, 87, 208, 154, 54, 178, 249, 109, 34, 170, 116, 129, 186, 201, 226, 179, 150, 103, 118, 143, 57, 124, 83, 210, 122, 247, 169, 160, 167, 232, 232, 53, 86, 116, 229, 40, 244, 37, 130, 188, 147, 225, 205, 120, 224, 228, 186, 177, 105, 234, 171, 192, 242, 161, 35, 34, 145, 148, 13, 156, 231, 81, 137, 72, 91, 246, 144, 49, 40, 98, 136, 229, 39, 8, 82, 16, 104, 56, 40, 188, 180, 236, 41, 29, 228, 55, 136, 115, 126, 202, 28, 159, 203, 103, 226, 19, 219, 131, 96},
+{177, 154, 26, 15, 12, 140, 37, 56, 141, 246, 204, 42, 204, 20, 86, 206, 46, 128, 166, 78, 92, 30, 207, 132, 1, 254, 11, 180, 233, 139, 249, 219, 204, 225, 224, 50, 143, 43, 86, 133, 138, 97, 18, 9, 5, 126, 216, 10, 111, 161, 127, 100, 97, 134, 112, 225, 57, 195, 101, 150, 101, 45, 214, 210, 174, 211, 30, 72, 166, 68, 164, 97, 4, 11, 22, 225, 119, 208, 191, 139, 28, 122, 160, 3, 114, 103, 137, 254, 203, 238, 110, 120, 34, 164, 218, 104, 218, 219, 25, 155, 209, 62, 121, 217, 92, 83, 118, 201, 44, 167, 158, 18, 223, 96, 146, 124, 129, 219, 23, 5, 245, 46, 221, 93, 129, 167, 18, 195},
+{209, 81, 128, 25, 210, 33, 209, 225, 119, 129, 165, 92, 107, 137, 131, 7, 156, 249, 194, 223, 14, 185, 243, 103, 102, 105, 136, 252, 206, 236, 173, 155, 44, 134, 139, 215, 101, 181, 43, 193, 151, 214, 246, 209, 12, 147, 99, 145, 124, 25, 197, 24, 113, 253, 29, 249, 152, 32, 196, 42, 230, 17, 243, 170, 102, 119, 8, 180, 212, 97, 244, 152, 23, 208, 122, 45, 222, 60, 106, 35, 17, 140, 38, 64, 30, 172, 100, 86, 42, 141, 138, 246, 208, 199, 4, 82, 162, 190, 235, 186, 46, 255, 210, 151, 11, 145, 117, 156, 201, 124, 224, 209, 147, 127, 21, 49, 59, 213, 1, 205, 70, 93, 153, 76, 233, 247, 220, 166},
+{190, 55, 33, 161, 234, 165, 146, 83, 102, 193, 122, 172, 114, 131, 247, 75, 63, 101, 157, 156, 26, 206, 217, 162, 235, 216, 29, 165, 66, 220, 118, 241, 197, 170, 31, 217, 141, 207, 153, 130, 123, 229, 137, 197, 173, 179, 68, 55, 43, 124, 216, 203, 74, 150, 5, 123, 161, 54, 248, 246, 251, 171, 139, 186, 240, 71, 72, 97, 120, 230, 57, 213, 202, 43, 51, 192, 105, 74, 99, 158, 245, 234, 134, 212, 131, 44, 106, 248, 206, 246, 97, 96, 20, 69, 244, 56, 162, 103, 94, 195, 82, 241, 101, 126, 87, 214, 225, 8, 119, 128, 31, 229, 66, 2, 111, 185, 21, 81, 181, 79, 36, 51, 228, 47, 92, 210, 9, 108},
+{103, 221, 147, 221, 251, 102, 46, 191, 55, 243, 147, 158, 186, 177, 200, 139, 143, 4, 132, 112, 64, 76, 23, 184, 19, 172, 224, 148, 40, 99, 43, 241, 93, 179, 253, 149, 85, 184, 121, 5, 135, 238, 138, 44, 46, 236, 86, 95, 111, 14, 248, 99, 44, 252, 12, 122, 172, 68, 110, 171, 207, 72, 147, 73, 72, 23, 236, 101, 90, 174, 89, 96, 206, 228, 56, 9, 124, 49, 165, 168, 71, 124, 190, 156, 189, 255, 180, 71, 201, 227, 41, 62, 26, 34, 60, 145, 108, 42, 129, 71, 63, 39, 239, 173, 195, 183, 114, 154, 16, 216, 193, 102, 180, 65, 162, 127, 28, 34, 137, 186, 11, 171, 171, 99, 175, 134, 10, 98},
+{207, 248, 185, 12, 112, 106, 179, 217, 30, 210, 230, 96, 147, 227, 86, 148, 140, 55, 191, 166, 80, 8, 232, 89, 147, 58, 247, 5, 168, 233, 11, 188, 229, 252, 112, 235, 160, 234, 231, 84, 209, 190, 158, 164, 143, 119, 246, 122, 177, 126, 82, 0, 118, 28, 142, 204, 47, 93, 252, 49, 130, 194, 81, 13, 118, 91, 141, 35, 55, 82, 115, 232, 140, 153, 154, 131, 117, 44, 169, 233, 40, 27, 44, 237, 184, 208, 136, 250, 140, 205, 74, 175, 145, 206, 252, 76, 48, 68, 201, 199, 212, 223, 250, 178, 86, 237, 196, 169, 27, 79, 209, 140, 187, 139, 42, 109, 22, 194, 198, 53, 42, 246, 222, 105, 184, 192, 255, 244},
+{206, 15, 44, 113, 125, 2, 185, 209, 143, 2, 72, 106, 109, 249, 61, 160, 145, 246, 191, 84, 169, 237, 29, 233, 33, 167, 9, 192, 185, 91, 236, 102, 254, 251, 98, 112, 43, 54, 99, 28, 172, 134, 92, 41, 221, 113, 163, 189, 8, 104, 44, 77, 246, 32, 95, 249, 209, 139, 7, 253, 241, 125, 13, 144, 201, 53, 94, 244, 56, 154, 53, 20, 170, 156, 249, 157, 28, 125, 73, 52, 52, 143, 4, 163, 83, 229, 179, 119, 83, 4, 226, 8, 40, 248, 108, 123, 227, 109, 139, 255, 10, 45, 163, 201, 192, 88, 83, 22, 30, 240, 49, 237, 27, 83, 226, 148, 25, 37, 187, 230, 161, 178, 83, 169, 7, 182, 103, 211},
+{58, 249, 93, 25, 176, 227, 191, 160, 32, 55, 190, 12, 23, 209, 198, 116, 247, 0, 11, 107, 14, 22, 218, 105, 195, 134, 30, 11, 161, 176, 209, 60, 238, 181, 4, 209, 234, 87, 72, 172, 179, 54, 128, 94, 115, 86, 226, 183, 57, 17, 69, 113, 5, 53, 20, 24, 201, 234, 7, 104, 237, 76, 147, 158, 149, 133, 115, 26, 233, 39, 61, 104, 67, 31, 158, 137, 146, 2, 124, 207, 118, 223, 233, 81, 172, 141, 89, 96, 235, 243, 10, 187, 158, 66, 48, 58, 132, 124, 17, 165, 240, 69, 8, 11, 160, 208, 104, 120, 207, 236, 151, 111, 237, 99, 109, 128, 208, 99, 130, 252, 118, 174, 117, 132, 127, 144, 229, 189},
+{110, 255, 113, 37, 65, 255, 120, 227, 180, 59, 72, 80, 67, 20, 110, 146, 40, 134, 109, 227, 236, 225, 60, 236, 192, 61, 213, 80, 123, 249, 66, 252, 245, 199, 220, 198, 51, 63, 62, 95, 78, 244, 12, 234, 19, 140, 106, 221, 0, 43, 156, 237, 165, 83, 249, 179, 255, 151, 199, 231, 81, 19, 102, 227, 214, 58, 201, 156, 211, 148, 75, 187, 99, 252, 146, 136, 26, 220, 203, 202, 22, 245, 134, 30, 92, 40, 243, 57, 92, 0, 118, 223, 176, 36, 223, 77, 65, 22, 188, 125, 21, 136, 201, 71, 156, 148, 106, 199, 236, 67, 214, 199, 49, 9, 177, 174, 65, 25, 183, 59, 119, 44, 38, 91, 68, 181, 198, 8},
+{116, 162, 168, 88, 182, 101, 131, 25, 235, 83, 0, 54, 86, 166, 179, 160, 123, 184, 167, 123, 217, 252, 194, 123, 179, 22, 118, 186, 104, 96, 105, 129, 122, 46, 230, 114, 6, 102, 217, 196, 216, 233, 29, 54, 201, 251, 200, 220, 151, 33, 26, 229, 52, 120, 214, 53, 115, 239, 14, 183, 20, 90, 59, 85, 124, 160, 61, 179, 13, 223, 111, 249, 1, 229, 203, 172, 233, 183, 148, 29, 77, 250, 116, 233, 76, 26, 108, 205, 4, 28, 223, 107, 37, 70, 20, 40, 122, 124, 236, 247, 77, 247, 200, 102, 165, 168, 3, 191, 202, 43, 254, 139, 221, 141, 236, 237, 159, 46, 184, 64, 98, 25, 31, 111, 89, 132, 46, 29},
+{54, 3, 195, 49, 193, 125, 18, 242, 230, 21, 186, 169, 199, 12, 89, 252, 23, 54, 78, 42, 90, 251, 95, 26, 228, 238, 120, 131, 3, 162, 57, 42, 22, 99, 144, 204, 42, 19, 37, 84, 253, 181, 76, 40, 255, 73, 254, 107, 112, 114, 239, 121, 253, 121, 213, 119, 25, 69, 231, 152, 14, 98, 229, 134, 44, 187, 180, 38, 33, 107, 197, 95, 67, 209, 216, 199, 63, 153, 237, 209, 194, 42, 25, 35, 140, 4, 96, 211, 88, 184, 254, 61, 38, 71, 236, 57, 95, 8, 157, 14, 82, 222, 111, 9, 234, 111, 81, 193, 152, 189, 198, 153, 68, 227, 143, 147, 148, 125, 191, 225, 233, 71, 169, 64, 192, 30, 149, 193},
+{112, 218, 93, 3, 159, 162, 73, 28, 204, 235, 179, 85, 50, 116, 216, 224, 131, 9, 100, 7, 253, 252, 61, 127, 195, 65, 234, 153, 116, 18, 58, 191, 21, 76, 251, 98, 138, 209, 91, 188, 6, 53, 65, 206, 21, 254, 9, 52, 153, 112, 85, 222, 189, 161, 181, 56, 165, 103, 98, 98, 85, 149, 3, 210, 245, 103, 57, 191, 235, 17, 35, 217, 112, 5, 97, 88, 135, 15, 182, 132, 228, 5, 236, 255, 49, 126, 109, 2, 51, 77, 42, 50, 250, 21, 67, 54, 173, 132, 100, 204, 28, 166, 221, 20, 207, 63, 219, 134, 23, 224, 134, 209, 4, 197, 154, 70, 4, 166, 200, 131, 247, 101, 160, 113, 196, 65, 173, 174},
+{108, 171, 222, 104, 242, 182, 105, 128, 224, 219, 47, 163, 87, 133, 74, 210, 170, 246, 171, 189, 13, 211, 83, 236, 194, 49, 89, 91, 112, 28, 119, 245, 165, 251, 43, 122, 111, 178, 101, 16, 236, 135, 58, 240, 157, 248, 184, 155, 193, 158, 63, 97, 121, 212, 88, 213, 243, 243, 198, 153, 193, 199, 140, 159, 101, 127, 5, 214, 51, 198, 227, 203, 200, 162, 47, 229, 163, 171, 232, 85, 100, 163, 149, 111, 145, 89, 0, 45, 158, 37, 121, 78, 224, 126, 130, 50, 212, 154, 68, 126, 187, 162, 121, 251, 190, 160, 239, 141, 47, 71, 85, 92, 49, 241, 171, 212, 144, 207, 76, 30, 132, 84, 17, 218, 162, 241, 242, 46},
+{11, 179, 154, 129, 134, 105, 121, 207, 227, 223, 128, 167, 242, 55, 221, 136, 148, 10, 82, 200, 141, 176, 201, 231, 63, 109, 80, 136, 210, 61, 190, 215, 186, 135, 158, 228, 170, 104, 26, 249, 246, 168, 69, 217, 216, 254, 144, 35, 91, 22, 204, 150, 95, 113, 147, 7, 146, 242, 106, 72, 133, 233, 205, 38, 168, 100, 119, 188, 99, 21, 78, 242, 115, 153, 80, 83, 253, 36, 212, 198, 197, 254, 160, 133, 152, 68, 110, 54, 89, 64, 26, 6, 197, 54, 173, 141, 111, 174, 60, 1, 1, 113, 3, 172, 71, 143, 239, 189, 172, 248, 57, 224, 74, 105, 239, 70, 11, 3, 36, 100, 70, 170, 119, 196, 220, 94, 50, 197},
+{62, 93, 229, 26, 110, 193, 73, 9, 55, 64, 140, 89, 204, 200, 99, 101, 225, 86, 24, 254, 39, 150, 125, 81, 181, 205, 98, 233, 66, 176, 239, 188, 154, 183, 226, 77, 191, 232, 251, 51, 162, 92, 213, 118, 136, 88, 215, 240, 172, 247, 72, 124, 163, 71, 50, 6, 175, 51, 107, 153, 39, 85, 190, 17, 76, 161, 62, 191, 225, 66, 20, 0, 126, 109, 115, 167, 143, 102, 34, 143, 190, 183, 179, 15, 206, 121, 8, 80, 2, 144, 16, 204, 207, 40, 107, 55, 33, 189, 140, 34, 37, 31, 153, 71, 16, 181, 237, 150, 23, 115, 11, 223, 188, 232, 182, 108, 210, 87, 25, 236, 47, 134, 132, 251, 236, 219, 46, 225},
+{145, 19, 8, 214, 136, 27, 25, 134, 79, 26, 155, 199, 205, 160, 94, 241, 249, 227, 142, 217, 179, 201, 146, 250, 145, 101, 250, 50, 44, 114, 66, 25, 74, 168, 3, 233, 162, 4, 11, 140, 134, 122, 55, 87, 49, 249, 180, 35, 154, 127, 74, 178, 138, 227, 64, 137, 216, 45, 53, 192, 93, 114, 16, 118, 140, 160, 216, 17, 3, 57, 212, 49, 77, 203, 223, 79, 26, 187, 75, 113, 7, 201, 15, 227, 65, 237, 78, 200, 248, 28, 83, 71, 127, 185, 128, 208, 229, 243, 239, 234, 18, 152, 7, 246, 57, 243, 146, 214, 168, 13, 21, 203, 200, 58, 226, 17, 247, 66, 155, 120, 137, 9, 147, 192, 201, 19, 46, 148},
+{186, 149, 198, 67, 101, 61, 35, 155, 129, 15, 104, 212, 213, 74, 70, 114, 119, 94, 133, 175, 63, 247, 21, 187, 108, 85, 140, 203, 204, 51, 149, 222, 92, 16, 178, 159, 112, 153, 171, 203, 85, 145, 153, 226, 218, 81, 209, 161, 181, 46, 244, 92, 31, 155, 169, 140, 36, 202, 148, 74, 246, 217, 176, 141, 116, 137, 39, 118, 81, 226, 118, 200, 103, 25, 189, 99, 176, 80, 149, 106, 123, 217, 27, 64, 125, 212, 172, 126, 100, 214, 167, 111, 233, 118, 143, 173, 73, 79, 90, 114, 114, 74, 192, 253, 193, 151, 113, 20, 196, 91, 179, 246, 203, 198, 64, 161, 112, 15, 115, 139, 136, 86, 239, 239, 206, 132, 72, 94},
+{45, 63, 45, 215, 71, 109, 162, 167, 232, 193, 33, 171, 195, 228, 104, 137, 130, 115, 183, 84, 78, 39, 212, 219, 223, 232, 94, 16, 15, 84, 108, 78, 157, 191, 49, 221, 101, 235, 112, 4, 192, 110, 200, 58, 125, 243, 158, 124, 95, 42, 70, 50, 170, 227, 93, 228, 228, 86, 76, 31, 219, 17, 141, 175, 171, 56, 237, 215, 77, 36, 131, 245, 206, 200, 32, 31, 249, 186, 222, 87, 139, 29, 144, 201, 64, 245, 100, 107, 29, 116, 172, 229, 38, 233, 152, 163, 54, 83, 222, 45, 11, 73, 107, 95, 164, 238, 227, 6, 30, 170, 35, 31, 244, 135, 34, 162, 201, 52, 238, 63, 196, 111, 231, 40, 140, 245, 17, 11},
+{207, 24, 66, 123, 237, 100, 159, 164, 207, 68, 181, 176, 249, 19, 82, 202, 70, 72, 104, 131, 77, 144, 67, 218, 148, 16, 238, 9, 53, 163, 14, 250, 35, 160, 197, 76, 69, 251, 135, 65, 127, 105, 88, 92, 22, 164, 155, 84, 68, 155, 174, 99, 230, 185, 167, 175, 140, 158, 53, 210, 201, 211, 172, 209, 107, 229, 47, 232, 238, 168, 187, 157, 54, 172, 179, 246, 148, 61, 75, 129, 60, 220, 183, 220, 193, 210, 30, 210, 253, 175, 71, 17, 224, 101, 161, 176, 255, 233, 163, 67, 35, 90, 242, 189, 63, 35, 224, 85, 222, 249, 176, 178, 141, 32, 85, 245, 112, 24, 88, 103, 196, 117, 205, 252, 46, 120, 144, 32},
+{11, 223, 249, 143, 206, 171, 153, 124, 99, 102, 244, 86, 218, 27, 28, 102, 33, 13, 121, 64, 253, 112, 249, 0, 56, 22, 17, 83, 83, 230, 131, 90, 135, 120, 225, 43, 185, 16, 123, 209, 139, 222, 172, 59, 218, 31, 87, 226, 201, 22, 9, 253, 184, 106, 208, 73, 7, 145, 138, 227, 136, 94, 220, 153, 249, 225, 53, 141, 166, 102, 227, 219, 172, 51, 240, 34, 60, 168, 11, 173, 14, 145, 60, 16, 39, 114, 74, 29, 189, 34, 177, 226, 31, 3, 141, 157, 144, 211, 108, 97, 51, 0, 25, 60, 149, 47, 11, 26, 129, 199, 53, 250, 61, 229, 42, 206, 196, 237, 225, 189, 220, 182, 64, 231, 143, 216, 159, 222},
+{207, 124, 254, 158, 40, 61, 110, 54, 89, 48, 52, 166, 41, 216, 25, 101, 82, 222, 10, 194, 138, 228, 100, 75, 10, 116, 71, 70, 29, 41, 200, 181, 178, 187, 246, 110, 107, 53, 235, 180, 80, 5, 187, 181, 183, 100, 96, 83, 95, 150, 233, 189, 254, 197, 187, 148, 243, 182, 201, 52, 31, 30, 131, 107, 182, 64, 97, 117, 163, 162, 104, 238, 224, 56, 205, 192, 7, 95, 114, 212, 187, 5, 38, 245, 84, 252, 196, 103, 54, 186, 226, 140, 131, 122, 253, 162, 153, 182, 78, 175, 178, 94, 244, 48, 60, 164, 146, 65, 119, 235, 254, 211, 8, 203, 64, 156, 252, 226, 53, 213, 12, 178, 80, 212, 44, 167, 252, 72},
+{115, 131, 60, 124, 194, 149, 204, 55, 211, 251, 123, 117, 204, 15, 192, 124, 234, 62, 221, 221, 97, 180, 40, 130, 72, 191, 17, 219, 82, 74, 131, 251, 88, 225, 138, 205, 98, 55, 58, 249, 30, 158, 55, 146, 234, 102, 168, 9, 55, 167, 201, 35, 38, 156, 147, 14, 34, 242, 190, 68, 199, 159, 107, 135, 119, 222, 173, 119, 115, 138, 167, 33, 87, 155, 212, 236, 6, 209, 156, 245, 136, 46, 141, 87, 146, 243, 184, 9, 171, 193, 51, 123, 37, 181, 138, 108, 130, 159, 102, 22, 31, 185, 33, 1, 22, 141, 175, 51, 123, 137, 90, 201, 146, 153, 236, 105, 129, 95, 94, 78, 156, 153, 223, 160, 170, 158, 73, 147},
+{130, 144, 243, 172, 190, 14, 135, 64, 196, 224, 183, 234, 125, 47, 188, 146, 242, 19, 41, 141, 149, 70, 77, 50, 123, 120, 204, 205, 221, 146, 141, 174, 143, 42, 21, 217, 96, 86, 193, 17, 60, 69, 75, 178, 94, 180, 149, 151, 154, 248, 21, 56, 59, 17, 248, 215, 48, 73, 108, 66, 62, 44, 18, 100, 248, 67, 137, 216, 66, 50, 79, 17, 9, 154, 173, 44, 229, 60, 44, 225, 247, 73, 248, 51, 31, 239, 67, 125, 228, 99, 86, 32, 149, 43, 143, 43, 104, 207, 63, 200, 168, 62, 193, 2, 142, 52, 38, 88, 196, 72, 191, 188, 15, 185, 159, 131, 193, 77, 207, 133, 213, 83, 221, 190, 18, 44, 98, 140},
+{67, 151, 114, 29, 27, 124, 253, 46, 6, 63, 59, 204, 111, 116, 203, 57, 1, 40, 60, 205, 252, 247, 95, 161, 45, 137, 78, 237, 178, 182, 175, 105, 171, 249, 112, 106, 43, 219, 178, 225, 31, 219, 254, 22, 85, 32, 187, 62, 148, 205, 116, 128, 188, 142, 18, 132, 135, 106, 165, 32, 31, 40, 231, 184, 2, 42, 235, 23, 238, 133, 114, 167, 195, 238, 207, 238, 163, 177, 232, 234, 45, 250, 194, 169, 45, 123, 94, 100, 123, 228, 155, 79, 38, 138, 174, 58, 39, 148, 146, 117, 131, 177, 62, 215, 97, 184, 251, 162, 181, 12, 24, 150, 158, 144, 93, 127, 222, 185, 119, 38, 65, 63, 113, 195, 217, 76, 1, 82},
+{196, 98, 44, 245, 200, 165, 233, 121, 152, 24, 237, 228, 42, 209, 129, 35, 123, 196, 192, 119, 8, 29, 110, 63, 16, 199, 234, 123, 235, 128, 166, 239, 40, 95, 179, 190, 14, 14, 219, 14, 239, 146, 225, 47, 69, 73, 171, 182, 175, 174, 250, 47, 105, 23, 136, 102, 36, 234, 39, 218, 5, 141, 171, 174, 90, 37, 243, 60, 240, 241, 27, 5, 164, 167, 86, 148, 224, 232, 165, 83, 159, 212, 250, 162, 19, 58, 11, 9, 180, 137, 58, 233, 224, 18, 32, 198, 155, 235, 190, 47, 206, 178, 142, 119, 29, 13, 17, 239, 90, 160, 16, 228, 168, 117, 71, 142, 67, 88, 234, 214, 186, 101, 255, 171, 3, 17, 68, 81},
+{153, 106, 32, 158, 21, 188, 109, 239, 16, 229, 123, 234, 183, 79, 2, 214, 205, 13, 254, 204, 44, 121, 58, 5, 126, 151, 164, 43, 64, 146, 130, 218, 4, 141, 115, 209, 241, 40, 62, 130, 190, 19, 201, 226, 85, 217, 109, 134, 151, 129, 2, 196, 146, 1, 40, 194, 161, 95, 148, 44, 53, 197, 51, 55, 74, 95, 172, 200, 118, 109, 232, 204, 26, 94, 133, 86, 178, 89, 3, 171, 161, 129, 124, 107, 74, 161, 128, 41, 82, 234, 234, 1, 46, 133, 103, 222, 18, 127, 191, 162, 182, 192, 145, 170, 252, 161, 71, 19, 111, 202, 170, 115, 210, 72, 111, 169, 13, 33, 171, 41, 168, 175, 106, 20, 192, 68, 108, 0},
+{69, 112, 251, 162, 61, 46, 190, 15, 153, 116, 188, 57, 9, 172, 7, 139, 162, 95, 88, 218, 142, 31, 108, 41, 72, 31, 66, 151, 228, 57, 164, 142, 175, 96, 59, 79, 173, 182, 134, 215, 253, 20, 169, 24, 75, 26, 180, 178, 191, 27, 94, 209, 61, 148, 20, 142, 145, 214, 86, 3, 134, 185, 60, 170, 97, 132, 224, 54, 136, 98, 147, 11, 52, 187, 16, 246, 236, 143, 34, 222, 239, 68, 174, 158, 228, 150, 224, 94, 44, 70, 121, 49, 87, 122, 220, 33, 46, 105, 102, 160, 72, 114, 190, 99, 92, 47, 95, 160, 61, 140, 238, 135, 40, 74, 157, 83, 143, 189, 32, 151, 96, 221, 100, 2, 88, 125, 124, 7},
+{9, 34, 227, 207, 42, 71, 14, 209, 84, 213, 143, 243, 32, 150, 214, 222, 171, 229, 152, 220, 232, 105, 3, 79, 149, 129, 168, 209, 49, 86, 15, 210, 80, 14, 240, 97, 24, 207, 189, 19, 152, 42, 229, 43, 202, 53, 104, 97, 182, 236, 54, 246, 2, 221, 193, 213, 212, 141, 191, 28, 34, 52, 247, 177, 68, 49, 87, 70, 133, 19, 196, 236, 152, 50, 68, 77, 199, 39, 25, 220, 93, 210, 197, 93, 36, 80, 142, 69, 51, 125, 220, 187, 105, 46, 168, 99, 140, 131, 69, 69, 235, 253, 186, 210, 64, 213, 210, 42, 59, 17, 215, 42, 112, 108, 18, 163, 109, 77, 43, 70, 213, 118, 98, 102, 90, 21, 13, 236},
+{34, 61, 127, 93, 77, 170, 118, 47, 194, 223, 10, 114, 224, 231, 54, 116, 151, 68, 117, 69, 42, 219, 176, 252, 76, 30, 18, 202, 73, 95, 84, 253, 71, 76, 154, 25, 61, 14, 135, 194, 223, 172, 173, 200, 87, 78, 140, 52, 154, 79, 159, 215, 208, 236, 201, 75, 191, 18, 0, 192, 254, 66, 235, 96, 238, 203, 53, 42, 62, 207, 207, 34, 10, 11, 164, 96, 72, 100, 70, 121, 123, 93, 152, 137, 178, 15, 193, 119, 35, 20, 208, 192, 101, 13, 179, 32, 91, 7, 88, 221, 87, 159, 175, 121, 159, 63, 188, 18, 217, 174, 104, 45, 181, 199, 73, 41, 130, 254, 20, 109, 95, 234, 235, 163, 253, 54, 100, 29},
+{105, 54, 90, 246, 180, 195, 164, 23, 111, 73, 218, 106, 96, 21, 130, 215, 146, 159, 13, 79, 169, 210, 169, 189, 239, 29, 227, 128, 110, 240, 25, 13, 251, 156, 217, 197, 150, 139, 52, 99, 181, 4, 185, 14, 163, 242, 198, 76, 61, 226, 117, 53, 162, 194, 3, 167, 219, 129, 191, 22, 155, 205, 76, 19, 93, 243, 72, 42, 213, 225, 156, 72, 180, 246, 209, 199, 78, 14, 9, 111, 243, 40, 175, 45, 252, 227, 6, 190, 68, 40, 85, 175, 184, 152, 21, 187, 237, 81, 60, 26, 233, 161, 236, 132, 161, 10, 214, 250, 109, 230, 237, 157, 57, 25, 21, 45, 35, 132, 160, 216, 107, 248, 153, 121, 168, 243, 206, 255},
+{38, 22, 127, 55, 222, 40, 14, 238, 47, 156, 77, 68, 171, 167, 50, 156, 27, 131, 249, 38, 140, 108, 107, 160, 6, 97, 28, 149, 184, 209, 226, 188, 245, 171, 95, 225, 130, 61, 190, 111, 225, 246, 118, 43, 193, 6, 127, 182, 201, 147, 49, 21, 24, 214, 225, 205, 48, 225, 106, 113, 40, 245, 192, 42, 205, 39, 122, 123, 248, 18, 63, 118, 233, 108, 29, 212, 173, 29, 83, 166, 127, 172, 255, 171, 182, 108, 15, 152, 17, 40, 162, 165, 74, 34, 147, 189, 245, 117, 98, 21, 7, 91, 235, 112, 182, 135, 163, 128, 27, 247, 250, 198, 142, 103, 50, 21, 28, 231, 3, 122, 117, 101, 127, 254, 130, 241, 68, 54},
+{31, 3, 23, 199, 214, 128, 72, 235, 99, 164, 253, 40, 71, 255, 157, 132, 255, 13, 126, 184, 79, 24, 134, 226, 136, 85, 210, 250, 194, 180, 90, 200, 10, 152, 250, 171, 222, 187, 25, 57, 137, 216, 95, 100, 120, 70, 46, 244, 104, 76, 18, 6, 74, 251, 214, 109, 216, 115, 21, 162, 52, 157, 153, 152, 222, 58, 123, 29, 212, 253, 92, 253, 229, 30, 153, 96, 15, 219, 152, 132, 9, 183, 155, 43, 75, 78, 70, 129, 150, 182, 34, 29, 124, 149, 156, 57, 115, 37, 193, 74, 93, 212, 202, 171, 58, 96, 79, 74, 5, 95, 211, 68, 220, 148, 55, 15, 156, 73, 123, 137, 67, 221, 117, 167, 55, 169, 158, 29},
+{202, 103, 72, 182, 0, 149, 32, 70, 26, 172, 230, 123, 7, 18, 177, 179, 49, 35, 251, 6, 233, 116, 210, 237, 137, 225, 251, 144, 192, 176, 155, 40, 111, 140, 192, 71, 155, 179, 126, 77, 215, 45, 83, 216, 157, 91, 101, 137, 196, 207, 106, 19, 16, 91, 167, 213, 60, 225, 149, 78, 162, 64, 192, 111, 93, 212, 236, 98, 155, 14, 128, 95, 110, 45, 49, 129, 149, 124, 169, 60, 32, 185, 4, 200, 1, 230, 185, 130, 137, 114, 72, 56, 209, 40, 213, 75, 104, 1, 214, 149, 105, 128, 83, 233, 239, 113, 252, 215, 29, 59, 11, 98, 243, 203, 0, 5, 106, 213, 98, 250, 238, 40, 119, 235, 79, 214, 36, 204},
+{188, 53, 181, 44, 105, 27, 13, 194, 210, 205, 155, 74, 54, 197, 209, 145, 139, 113, 156, 48, 122, 72, 21, 24, 104, 128, 204, 16, 10, 31, 242, 106, 22, 199, 142, 169, 86, 67, 173, 196, 180, 142, 47, 33, 168, 199, 211, 108, 215, 184, 73, 113, 227, 108, 33, 31, 255, 251, 80, 22, 208, 67, 86, 23, 17, 218, 233, 194, 62, 252, 236, 135, 201, 228, 12, 91, 152, 211, 40, 154, 94, 25, 78, 12, 19, 9, 10, 174, 101, 160, 252, 13, 254, 126, 183, 219, 195, 88, 167, 143, 67, 238, 251, 45, 230, 72, 107, 77, 137, 212, 249, 118, 113, 17, 126, 204, 182, 27, 219, 5, 228, 9, 84, 241, 99, 61, 135, 105},
+{100, 249, 122, 121, 13, 85, 201, 138, 50, 27, 66, 223, 27, 122, 57, 27, 75, 236, 131, 28, 76, 30, 189, 253, 33, 86, 141, 96, 120, 136, 126, 4, 111, 47, 110, 201, 157, 102, 4, 133, 216, 25, 166, 54, 212, 159, 223, 71, 172, 77, 42, 79, 157, 243, 253, 247, 215, 29, 102, 41, 221, 125, 156, 35, 15, 178, 178, 128, 170, 17, 13, 7, 161, 179, 141, 10, 73, 151, 251, 123, 37, 197, 241, 215, 29, 145, 22, 186, 88, 81, 94, 164, 28, 77, 199, 173, 94, 208, 111, 97, 135, 250, 108, 66, 220, 171, 156, 42, 80, 194, 252, 235, 224, 12, 23, 50, 150, 215, 224, 53, 151, 82, 242, 41, 35, 210, 17, 105},
+{198, 90, 84, 159, 153, 168, 125, 85, 10, 73, 35, 101, 210, 208, 193, 246, 249, 66, 69, 220, 82, 71, 100, 249, 39, 223, 109, 171, 117, 172, 100, 103, 132, 98, 235, 206, 199, 199, 77, 127, 65, 235, 205, 200, 96, 163, 186, 151, 3, 52, 62, 247, 51, 26, 0, 195, 183, 20, 188, 119, 52, 254, 171, 26, 27, 154, 209, 211, 5, 223, 243, 252, 73, 192, 100, 99, 214, 159, 178, 213, 60, 203, 255, 198, 216, 10, 111, 89, 49, 136, 204, 152, 55, 155, 47, 144, 84, 223, 162, 209, 81, 96, 255, 138, 211, 110, 55, 145, 16, 244, 163, 217, 75, 11, 189, 107, 27, 80, 87, 98, 5, 43, 184, 49, 241, 139, 104, 187},
+{173, 248, 165, 73, 62, 141, 99, 92, 236, 75, 133, 126, 57, 252, 50, 117, 204, 238, 142, 121, 218, 41, 248, 234, 119, 35, 56, 163, 221, 30, 211, 97, 26, 149, 96, 226, 84, 34, 98, 82, 118, 189, 224, 227, 69, 64, 30, 250, 212, 202, 164, 184, 88, 183, 208, 14, 148, 172, 152, 45, 216, 239, 35, 26, 103, 255, 158, 219, 105, 111, 173, 76, 105, 174, 144, 64, 63, 1, 145, 185, 215, 46, 88, 41, 193, 171, 185, 21, 38, 128, 83, 24, 125, 9, 32, 225, 210, 206, 239, 56, 195, 162, 144, 89, 26, 249, 127, 117, 172, 110, 168, 207, 178, 221, 47, 123, 78, 76, 253, 239, 53, 39, 99, 163, 78, 33, 14, 231},
+{183, 17, 27, 105, 49, 47, 125, 25, 83, 186, 164, 133, 119, 243, 137, 251, 211, 192, 200, 202, 214, 94, 144, 191, 220, 212, 122, 156, 196, 127, 223, 112, 152, 227, 228, 227, 58, 11, 133, 77, 18, 187, 68, 220, 158, 138, 157, 15, 253, 150, 162, 108, 202, 161, 218, 250, 138, 39, 243, 238, 119, 154, 93, 210, 168, 226, 189, 147, 9, 248, 96, 101, 86, 23, 90, 11, 154, 16, 237, 20, 115, 34, 28, 52, 224, 10, 195, 115, 187, 174, 118, 169, 52, 0, 188, 176, 206, 196, 97, 239, 136, 231, 228, 82, 41, 188, 70, 109, 254, 72, 137, 204, 39, 70, 230, 253, 185, 101, 158, 221, 26, 208, 52, 188, 232, 64, 149, 232},
+{25, 151, 135, 99, 204, 246, 39, 109, 215, 112, 212, 107, 248, 212, 31, 94, 89, 164, 147, 204, 16, 47, 255, 40, 138, 34, 81, 228, 149, 118, 124, 161, 18, 170, 94, 168, 40, 74, 36, 24, 253, 158, 49, 199, 168, 157, 14, 8, 234, 96, 166, 70, 37, 85, 58, 42, 87, 39, 72, 101, 196, 43, 36, 82, 173, 43, 22, 150, 123, 50, 60, 95, 40, 30, 202, 242, 32, 65, 36, 85, 101, 115, 76, 101, 75, 24, 150, 15, 153, 156, 111, 64, 44, 170, 196, 205, 231, 53, 205, 235, 74, 236, 193, 44, 117, 26, 208, 99, 56, 103, 36, 141, 206, 168, 236, 114, 27, 179, 8, 244, 244, 205, 56, 153, 230, 156, 31, 147},
+{134, 5, 37, 235, 171, 238, 48, 70, 115, 28, 143, 168, 144, 39, 83, 51, 17, 68, 246, 77, 176, 5, 25, 45, 136, 170, 19, 225, 251, 126, 52, 27, 237, 129, 112, 227, 184, 254, 241, 91, 17, 117, 44, 123, 219, 150, 62, 20, 67, 73, 246, 200, 233, 156, 252, 81, 161, 118, 187, 95, 10, 222, 15, 32, 188, 219, 251, 59, 182, 245, 118, 4, 243, 239, 134, 164, 70, 46, 7, 124, 109, 88, 25, 186, 193, 158, 96, 99, 182, 71, 54, 60, 46, 143, 21, 38, 34, 195, 181, 23, 10, 19, 17, 17, 89, 84, 56, 109, 213, 30, 140, 46, 42, 90, 14, 223, 159, 96, 33, 73, 77, 35, 10, 39, 38, 66, 160, 255},
+{128, 99, 1, 122, 211, 90, 79, 174, 3, 87, 15, 8, 109, 115, 170, 141, 230, 22, 53, 59, 47, 228, 73, 87, 96, 231, 72, 67, 121, 132, 213, 125, 92, 47, 167, 154, 55, 6, 197, 147, 104, 119, 72, 13, 134, 29, 115, 119, 12, 187, 147, 65, 12, 82, 197, 234, 68, 84, 151, 128, 205, 89, 104, 151, 96, 10, 216, 206, 223, 20, 248, 228, 22, 61, 107, 169, 149, 92, 184, 120, 194, 53, 87, 206, 200, 32, 25, 42, 8, 151, 40, 241, 104, 204, 123, 96, 46, 64, 75, 146, 92, 25, 143, 15, 140, 158, 239, 9, 165, 58, 100, 102, 82, 164, 65, 2, 217, 90, 227, 241, 113, 220, 59, 18, 218, 91, 132, 244},
+{61, 72, 164, 76, 102, 207, 35, 158, 22, 79, 121, 248, 101, 8, 54, 109, 255, 188, 33, 168, 83, 64, 251, 245, 59, 219, 251, 239, 113, 41, 164, 181, 120, 30, 239, 95, 7, 237, 214, 216, 167, 121, 133, 138, 146, 103, 89, 139, 254, 48, 153, 156, 149, 178, 168, 162, 146, 116, 248, 222, 119, 29, 214, 251, 159, 168, 84, 211, 19, 198, 195, 147, 120, 216, 10, 15, 140, 117, 203, 84, 187, 241, 117, 107, 151, 199, 157, 221, 53, 186, 243, 209, 183, 163, 156, 30, 167, 7, 221, 255, 248, 142, 254, 12, 183, 130, 52, 37, 238, 73, 235, 56, 162, 41, 17, 63, 184, 57, 209, 191, 43, 210, 212, 147, 100, 204, 35, 8},
+{140, 228, 193, 241, 144, 215, 228, 128, 104, 40, 24, 94, 164, 93, 26, 84, 84, 151, 114, 179, 249, 86, 99, 69, 165, 55, 74, 0, 136, 110, 168, 76, 214, 215, 215, 65, 105, 183, 56, 240, 159, 135, 208, 152, 67, 233, 218, 190, 227, 113, 59, 14, 48, 192, 164, 234, 185, 221, 231, 137, 221, 70, 153, 36, 93, 11, 32, 124, 128, 87, 109, 11, 39, 27, 179, 176, 17, 103, 19, 15, 107, 131, 165, 158, 185, 44, 79, 112, 121, 192, 181, 232, 134, 120, 56, 170, 122, 119, 215, 159, 220, 161, 240, 238, 66, 57, 95, 61, 183, 57, 175, 75, 251, 4, 90, 113, 243, 50, 143, 7, 82, 116, 192, 30, 83, 241, 13, 96},
+{182, 116, 52, 62, 209, 105, 246, 59, 143, 43, 2, 64, 193, 115, 118, 29, 88, 131, 136, 45, 129, 36, 216, 21, 227, 143, 213, 62, 161, 201, 202, 48, 157, 216, 83, 52, 139, 17, 36, 177, 215, 222, 146, 198, 200, 57, 64, 6, 123, 232, 139, 50, 213, 228, 73, 34, 248, 110, 145, 194, 242, 94, 71, 185, 216, 3, 5, 53, 131, 10, 45, 229, 135, 199, 145, 40, 209, 68, 32, 145, 161, 179, 50, 73, 46, 43, 217, 189, 203, 168, 249, 38, 181, 198, 81, 49, 42, 210, 35, 208, 85, 42, 82, 20, 246, 153, 162, 171, 95, 55, 167, 210, 87, 214, 164, 91, 15, 60, 64, 244, 201, 131, 162, 242, 223, 18, 87, 172},
+{22, 226, 17, 11, 145, 146, 179, 52, 210, 149, 60, 147, 96, 100, 193, 245, 1, 59, 239, 225, 9, 81, 181, 228, 135, 213, 129, 53, 104, 197, 92, 9, 204, 151, 157, 227, 239, 247, 37, 185, 58, 90, 228, 239, 184, 92, 205, 61, 199, 219, 227, 197, 130, 141, 138, 187, 9, 179, 144, 20, 142, 75, 26, 204, 92, 24, 87, 116, 147, 221, 227, 23, 249, 7, 127, 225, 205, 138, 192, 56, 79, 253, 253, 231, 44, 141, 181, 99, 206, 37, 82, 161, 168, 227, 55, 225, 182, 5, 31, 139, 86, 167, 132, 66, 19, 96, 27, 170, 212, 234, 8, 226, 11, 96, 58, 242, 35, 31, 90, 212, 149, 106, 29, 64, 105, 194, 83, 77},
+{123, 89, 88, 223, 230, 208, 101, 191, 77, 71, 50, 240, 31, 206, 166, 190, 238, 26, 56, 205, 118, 229, 154, 228, 255, 80, 232, 234, 199, 129, 117, 23, 212, 212, 99, 2, 116, 233, 51, 90, 121, 218, 114, 151, 179, 35, 136, 214, 150, 35, 246, 92, 93, 63, 199, 45, 93, 216, 195, 250, 68, 72, 235, 173, 226, 122, 17, 33, 49, 172, 215, 26, 83, 182, 184, 122, 127, 175, 198, 136, 248, 205, 54, 241, 220, 145, 237, 165, 93, 9, 219, 8, 24, 192, 157, 37, 33, 105, 17, 144, 4, 202, 55, 87, 42, 236, 103, 255, 158, 36, 149, 60, 49, 207, 133, 32, 102, 165, 202, 202, 100, 99, 52, 251, 43, 156, 80, 192},
+{118, 91, 49, 85, 47, 111, 139, 140, 9, 63, 187, 181, 150, 92, 156, 104, 116, 26, 28, 220, 177, 60, 244, 38, 192, 109, 72, 114, 99, 234, 132, 247, 58, 123, 55, 160, 94, 128, 175, 107, 126, 99, 153, 92, 43, 77, 40, 252, 123, 232, 169, 193, 120, 236, 9, 99, 123, 130, 83, 0, 87, 189, 25, 240, 147, 208, 72, 2, 197, 234, 0, 67, 72, 143, 231, 56, 250, 56, 224, 209, 74, 201, 5, 193, 219, 206, 253, 0, 42, 109, 220, 154, 250, 107, 16, 118, 208, 162, 251, 108, 128, 232, 147, 153, 94, 223, 113, 112, 48, 85, 90, 219, 162, 218, 233, 130, 233, 169, 205, 120, 4, 32, 58, 66, 115, 69, 3, 172},
+{174, 150, 23, 27, 65, 98, 77, 122, 195, 93, 222, 41, 109, 159, 207, 176, 216, 193, 137, 73, 221, 88, 147, 234, 203, 64, 29, 234, 112, 37, 101, 203, 232, 244, 46, 51, 240, 1, 117, 36, 67, 23, 3, 104, 235, 37, 120, 209, 244, 210, 193, 157, 193, 48, 16, 157, 181, 126, 187, 21, 16, 189, 61, 17, 211, 187, 122, 249, 235, 186, 15, 49, 43, 97, 188, 238, 68, 206, 83, 204, 201, 205, 239, 22, 30, 12, 154, 246, 6, 36, 5, 211, 2, 121, 51, 114, 164, 183, 132, 174, 208, 150, 119, 211, 143, 211, 25, 233, 45, 240, 202, 68, 22, 103, 150, 147, 209, 142, 33, 4, 36, 22, 225, 129, 167, 79, 70, 148},
+{81, 151, 244, 100, 32, 193, 200, 13, 43, 168, 186, 118, 61, 22, 254, 208, 207, 19, 170, 203, 234, 254, 91, 61, 245, 245, 202, 137, 189, 134, 126, 152, 185, 221, 3, 238, 183, 17, 117, 187, 93, 88, 3, 192, 109, 234, 164, 91, 125, 93, 55, 163, 93, 80, 97, 205, 216, 26, 48, 203, 81, 136, 104, 89, 91, 15, 171, 147, 196, 169, 55, 122, 243, 68, 215, 87, 135, 221, 248, 228, 36, 37, 233, 111, 199, 206, 60, 232, 17, 212, 19, 228, 167, 180, 193, 43, 249, 101, 65, 179, 17, 36, 27, 17, 122, 83, 94, 169, 75, 10, 165, 3, 48, 188, 206, 128, 231, 149, 111, 147, 190, 204, 31, 253, 10, 236, 26, 116},
+{54, 194, 147, 222, 237, 89, 37, 22, 131, 145, 198, 24, 63, 120, 224, 253, 84, 191, 48, 212, 118, 222, 198, 29, 240, 178, 27, 202, 188, 221, 68, 45, 247, 152, 181, 225, 206, 21, 170, 24, 139, 1, 50, 108, 184, 94, 203, 49, 133, 196, 125, 78, 212, 163, 97, 179, 124, 205, 17, 89, 65, 179, 145, 182, 120, 209, 115, 179, 60, 129, 146, 112, 201, 37, 110, 89, 27, 193, 17, 121, 62, 252, 3, 32, 98, 174, 218, 37, 231, 34, 98, 46, 201, 125, 44, 17, 29, 43, 66, 183, 218, 213, 168, 26, 220, 131, 141, 168, 200, 166, 164, 104, 184, 191, 22, 234, 95, 166, 171, 49, 13, 149, 121, 216, 99, 123, 16, 138},
+{55, 115, 125, 140, 24, 66, 208, 166, 185, 70, 137, 10, 156, 118, 32, 253, 63, 83, 25, 200, 33, 108, 247, 54, 208, 186, 22, 18, 215, 146, 37, 82, 54, 133, 177, 78, 245, 83, 156, 114, 238, 30, 104, 222, 27, 164, 29, 191, 218, 237, 15, 232, 16, 212, 81, 165, 247, 170, 167, 222, 168, 226, 159, 73, 17, 180, 178, 0, 248, 239, 206, 179, 142, 39, 141, 193, 30, 136, 38, 60, 230, 62, 200, 87, 203, 192, 222, 172, 182, 49, 115, 133, 92, 218, 189, 144, 200, 145, 239, 157, 113, 206, 89, 96, 152, 62, 90, 127, 200, 157, 3, 79, 180, 140, 19, 151, 156, 160, 99, 206, 194, 142, 205, 46, 31, 85, 12, 179},
+{13, 80, 114, 62, 238, 26, 100, 65, 251, 53, 164, 253, 244, 31, 113, 79, 229, 74, 193, 120, 249, 87, 205, 45, 108, 138, 211, 89, 116, 205, 191, 249, 150, 150, 212, 63, 120, 82, 123, 18, 211, 19, 70, 7, 186, 234, 55, 28, 196, 209, 94, 220, 7, 137, 161, 119, 102, 217, 206, 253, 10, 30, 170, 21, 5, 154, 250, 20, 245, 177, 73, 113, 241, 180, 17, 213, 5, 237, 152, 31, 104, 98, 125, 243, 187, 15, 41, 135, 205, 75, 87, 89, 57, 131, 152, 248, 30, 238, 213, 188, 132, 155, 206, 62, 221, 140, 190, 184, 59, 66, 100, 158, 109, 171, 141, 89, 99, 118, 152, 160, 3, 43, 43, 22, 7, 224, 173, 164},
+{123, 51, 64, 11, 130, 19, 128, 174, 168, 105, 86, 67, 33, 92, 14, 164, 24, 138, 42, 49, 24, 251, 142, 104, 137, 76, 15, 213, 123, 209, 216, 67, 180, 56, 242, 108, 154, 53, 179, 48, 144, 178, 113, 31, 146, 194, 99, 63, 90, 157, 147, 88, 7, 124, 245, 199, 232, 255, 12, 145, 5, 13, 205, 158, 76, 184, 21, 177, 51, 181, 74, 65, 181, 129, 25, 173, 19, 240, 147, 125, 112, 74, 39, 165, 131, 196, 159, 49, 136, 235, 237, 203, 107, 226, 20, 156, 131, 55, 3, 91, 19, 72, 194, 219, 247, 87, 128, 138, 224, 230, 241, 153, 30, 114, 246, 160, 7, 231, 164, 100, 25, 51, 11, 34, 36, 220, 4, 49},
+{180, 101, 19, 17, 243, 30, 89, 181, 128, 211, 208, 73, 200, 84, 41, 21, 67, 211, 28, 176, 92, 129, 229, 67, 94, 228, 128, 75, 188, 13, 22, 5, 98, 201, 253, 131, 250, 187, 95, 21, 42, 26, 10, 240, 103, 222, 7, 132, 127, 44, 174, 204, 105, 10, 149, 154, 106, 60, 227, 102, 231, 56, 158, 195, 12, 143, 184, 11, 254, 117, 68, 161, 77, 66, 40, 203, 246, 21, 231, 13, 194, 115, 231, 22, 186, 122, 148, 8, 35, 239, 75, 31, 252, 95, 233, 5, 99, 158, 38, 106, 228, 90, 35, 7, 150, 111, 95, 221, 95, 168, 31, 103, 114, 166, 73, 6, 102, 156, 184, 238, 126, 74, 198, 51, 247, 158, 44, 139},
+{91, 95, 166, 128, 34, 81, 38, 27, 53, 210, 214, 51, 5, 245, 82, 170, 172, 101, 9, 182, 145, 54, 184, 51, 45, 132, 104, 120, 252, 223, 80, 151, 27, 111, 2, 178, 7, 116, 3, 67, 182, 101, 132, 136, 60, 233, 215, 87, 223, 159, 55, 149, 40, 62, 235, 198, 35, 44, 180, 83, 11, 30, 44, 81, 115, 126, 30, 179, 188, 100, 80, 94, 112, 12, 183, 178, 49, 3, 97, 159, 136, 100, 156, 195, 54, 195, 173, 220, 132, 209, 198, 104, 68, 220, 176, 161, 174, 118, 238, 203, 244, 39, 84, 88, 219, 187, 108, 79, 56, 15, 120, 117, 163, 215, 125, 199, 2, 105, 251, 235, 74, 168, 202, 28, 45, 173, 40, 46},
+{178, 243, 155, 81, 81, 164, 206, 129, 31, 233, 211, 136, 165, 175, 111, 228, 201, 71, 95, 153, 12, 183, 115, 0, 81, 73, 218, 184, 99, 126, 169, 252, 168, 250, 248, 144, 173, 94, 59, 147, 93, 212, 89, 207, 169, 53, 214, 145, 42, 178, 253, 192, 51, 136, 182, 3, 93, 206, 232, 207, 83, 44, 3, 36, 171, 163, 192, 140, 82, 33, 89, 207, 143, 225, 228, 187, 67, 79, 223, 194, 189, 5, 46, 89, 205, 239, 185, 187, 66, 93, 130, 210, 231, 8, 217, 212, 240, 107, 140, 237, 63, 66, 127, 69, 175, 102, 89, 36, 252, 79, 28, 250, 197, 249, 163, 235, 253, 72, 250, 133, 210, 172, 245, 242, 252, 12, 140, 78},
+{106, 137, 68, 14, 74, 9, 13, 172, 243, 160, 231, 41, 64, 221, 8, 92, 216, 52, 213, 129, 230, 51, 53, 205, 136, 63, 154, 233, 131, 14, 169, 224, 203, 251, 27, 107, 206, 197, 177, 203, 166, 99, 66, 105, 146, 78, 118, 199, 229, 159, 214, 175, 60, 124, 123, 104, 210, 177, 119, 107, 220, 240, 159, 154, 29, 105, 247, 46, 185, 183, 19, 129, 227, 143, 73, 114, 38, 159, 118, 138, 211, 186, 121, 67, 131, 99, 251, 41, 218, 227, 19, 204, 178, 144, 221, 150, 80, 53, 30, 194, 190, 247, 144, 23, 240, 81, 227, 165, 141, 117, 223, 69, 166, 15, 67, 244, 194, 143, 26, 152, 211, 43, 9, 47, 98, 157, 217, 212},
+{54, 53, 205, 16, 201, 84, 231, 53, 248, 19, 74, 173, 122, 232, 77, 30, 160, 30, 14, 48, 10, 177, 131, 41, 191, 21, 61, 173, 254, 131, 159, 168, 177, 198, 153, 81, 58, 203, 177, 246, 207, 12, 75, 182, 195, 7, 137, 33, 75, 236, 198, 129, 43, 68, 113, 29, 70, 160, 144, 153, 103, 100, 45, 157, 3, 165, 58, 84, 123, 88, 190, 19, 3, 51, 165, 97, 121, 32, 42, 240, 15, 234, 172, 88, 31, 93, 240, 131, 171, 40, 104, 212, 187, 129, 46, 225, 231, 58, 78, 86, 142, 217, 105, 248, 29, 80, 219, 177, 64, 140, 232, 222, 205, 8, 191, 26, 158, 164, 229, 107, 217, 144, 112, 104, 173, 11, 205, 217},
+{24, 151, 166, 156, 176, 243, 136, 191, 243, 45, 232, 47, 140, 33, 140, 58, 225, 136, 120, 156, 31, 42, 75, 160, 78, 143, 180, 118, 37, 164, 185, 126, 221, 54, 169, 183, 52, 240, 64, 136, 158, 121, 69, 101, 72, 176, 50, 156, 163, 128, 169, 153, 77, 159, 111, 43, 115, 212, 155, 151, 50, 43, 46, 0, 93, 132, 198, 210, 224, 57, 93, 116, 0, 10, 87, 166, 55, 110, 250, 254, 244, 99, 26, 146, 14, 13, 104, 79, 81, 86, 175, 174, 231, 14, 72, 141, 74, 16, 222, 245, 118, 224, 223, 124, 150, 99, 172, 111, 223, 188, 247, 165, 255, 41, 77, 246, 18, 110, 131, 49, 129, 157, 73, 130, 132, 7, 201, 22},
+{15, 143, 168, 187, 135, 210, 141, 237, 123, 79, 30, 203, 11, 221, 96, 154, 156, 254, 122, 36, 21, 36, 4, 80, 11, 189, 139, 62, 23, 10, 17, 79, 184, 214, 67, 179, 26, 124, 143, 186, 110, 100, 161, 196, 103, 191, 176, 175, 175, 169, 188, 250, 169, 20, 149, 170, 149, 168, 198, 103, 187, 216, 81, 201, 93, 75, 204, 209, 88, 92, 197, 55, 183, 241, 124, 82, 118, 83, 223, 54, 233, 236, 1, 2, 188, 25, 159, 187, 225, 7, 96, 137, 142, 196, 156, 93, 151, 206, 67, 49, 17, 165, 19, 183, 236, 63, 230, 208, 122, 172, 53, 168, 173, 174, 11, 195, 232, 201, 13, 122, 245, 124, 144, 6, 230, 137, 225, 36},
+{167, 130, 94, 132, 87, 126, 151, 182, 99, 185, 195, 177, 77, 177, 0, 12, 18, 152, 219, 176, 10, 27, 181, 25, 184, 196, 245, 209, 124, 139, 104, 234, 228, 193, 55, 70, 50, 239, 183, 70, 98, 221, 236, 87, 177, 229, 90, 185, 116, 205, 45, 78, 113, 127, 162, 16, 159, 5, 59, 34, 71, 227, 14, 30, 111, 141, 63, 197, 196, 2, 126, 227, 246, 94, 248, 83, 97, 16, 190, 10, 40, 97, 213, 37, 138, 132, 252, 220, 185, 155, 28, 197, 32, 78, 172, 43, 159, 205, 49, 130, 83, 204, 207, 109, 161, 2, 214, 247, 172, 192, 160, 53, 165, 255, 48, 36, 185, 59, 175, 212, 20, 11, 145, 162, 190, 28, 158, 247},
+{154, 70, 79, 180, 58, 108, 58, 184, 49, 87, 101, 231, 163, 105, 170, 46, 53, 244, 245, 32, 54, 233, 154, 139, 235, 213, 225, 239, 41, 64, 116, 85, 36, 224, 167, 210, 250, 8, 114, 6, 25, 110, 72, 133, 32, 39, 148, 203, 174, 184, 130, 186, 90, 94, 100, 111, 99, 211, 118, 215, 99, 200, 85, 7, 212, 108, 163, 82, 215, 231, 188, 101, 133, 72, 175, 74, 44, 25, 219, 202, 83, 100, 151, 163, 94, 19, 7, 100, 126, 132, 176, 104, 232, 169, 15, 227, 17, 205, 29, 207, 253, 38, 78, 75, 206, 171, 218, 3, 19, 76, 227, 188, 252, 171, 218, 243, 115, 121, 53, 199, 41, 52, 5, 168, 133, 205, 187, 189},
+{196, 167, 14, 231, 72, 100, 51, 55, 193, 98, 105, 135, 42, 136, 183, 41, 156, 27, 206, 168, 131, 240, 242, 214, 183, 128, 114, 145, 218, 157, 76, 27, 248, 45, 110, 240, 146, 185, 117, 50, 90, 83, 65, 122, 20, 213, 124, 17, 45, 250, 198, 155, 248, 81, 84, 5, 94, 93, 39, 205, 87, 93, 251, 66, 182, 92, 40, 158, 99, 36, 45, 77, 65, 55, 178, 170, 176, 170, 253, 167, 6, 75, 28, 148, 171, 242, 181, 186, 97, 138, 22, 125, 93, 98, 172, 159, 107, 0, 49, 19, 54, 252, 211, 59, 180, 140, 243, 112, 213, 9, 203, 203, 65, 151, 116, 105, 87, 175, 12, 7, 105, 66, 50, 26, 61, 144, 229, 122},
+{201, 202, 153, 199, 250, 122, 205, 136, 61, 63, 76, 101, 7, 236, 84, 82, 49, 156, 31, 119, 211, 39, 228, 198, 135, 93, 171, 135, 35, 89, 176, 157, 87, 118, 5, 102, 65, 220, 200, 163, 170, 141, 10, 166, 126, 201, 254, 150, 147, 188, 132, 49, 101, 56, 165, 54, 59, 33, 219, 12, 151, 196, 79, 183, 28, 178, 5, 60, 247, 168, 120, 166, 143, 98, 65, 138, 32, 229, 131, 19, 28, 170, 150, 34, 236, 254, 177, 5, 182, 219, 106, 15, 114, 110, 227, 89, 32, 158, 140, 147, 83, 211, 229, 200, 217, 160, 0, 43, 152, 63, 188, 212, 196, 79, 227, 42, 178, 53, 16, 25, 5, 121, 126, 11, 23, 131, 57, 109},
+{1, 67, 3, 245, 199, 137, 33, 43, 36, 4, 237, 183, 80, 43, 57, 186, 122, 93, 82, 130, 17, 151, 110, 240, 252, 107, 33, 100, 200, 112, 150, 253, 185, 13, 207, 244, 235, 11, 170, 239, 36, 135, 173, 70, 194, 197, 236, 146, 245, 232, 21, 239, 90, 179, 67, 121, 17, 132, 56, 120, 19, 100, 191, 105, 40, 8, 13, 77, 95, 122, 222, 57, 173, 157, 184, 77, 9, 96, 81, 64, 71, 199, 30, 132, 15, 207, 198, 238, 16, 172, 95, 139, 181, 113, 38, 58, 111, 152, 251, 47, 125, 14, 24, 231, 141, 249, 47, 10, 26, 47, 252, 147, 82, 251, 109, 215, 32, 34, 113, 13, 18, 57, 85, 224, 160, 126, 93, 209},
+{46, 49, 171, 237, 72, 197, 89, 144, 162, 48, 234, 16, 156, 163, 103, 125, 51, 234, 223, 127, 182, 40, 24, 247, 124, 222, 93, 219, 159, 149, 126, 62, 208, 118, 134, 94, 47, 55, 11, 83, 26, 245, 209, 207, 209, 243, 83, 233, 94, 17, 144, 110, 173, 0, 233, 55, 113, 254, 103, 227, 72, 212, 132, 119, 153, 19, 136, 211, 244, 202, 20, 47, 91, 36, 128, 128, 207, 192, 139, 214, 125, 54, 90, 154, 230, 16, 235, 92, 84, 232, 75, 150, 17, 58, 36, 240, 140, 23, 127, 236, 83, 73, 109, 160, 247, 137, 41, 159, 205, 32, 110, 190, 209, 185, 178, 208, 158, 176, 37, 125, 234, 254, 25, 4, 246, 236, 15, 247},
+{160, 179, 120, 104, 147, 160, 185, 194, 199, 75, 56, 240, 208, 117, 48, 138, 9, 41, 70, 59, 15, 130, 225, 16, 233, 127, 6, 68, 43, 134, 208, 173, 103, 191, 152, 161, 119, 253, 171, 15, 26, 109, 187, 236, 46, 186, 30, 203, 173, 124, 148, 33, 227, 61, 123, 64, 233, 187, 14, 18, 218, 121, 115, 152, 36, 158, 61, 113, 197, 88, 219, 102, 3, 17, 61, 209, 89, 75, 25, 36, 210, 242, 242, 37, 108, 202, 203, 215, 23, 140, 219, 125, 203, 35, 100, 23, 40, 118, 174, 169, 146, 129, 52, 48, 148, 10, 101, 162, 218, 180, 45, 57, 88, 199, 123, 110, 136, 13, 4, 46, 183, 208, 57, 187, 19, 63, 86, 13},
+{168, 161, 207, 129, 92, 170, 229, 222, 217, 160, 87, 98, 132, 224, 51, 29, 44, 209, 61, 207, 142, 244, 253, 152, 46, 172, 53, 123, 136, 203, 159, 56, 134, 88, 82, 238, 93, 123, 56, 37, 177, 134, 19, 206, 4, 200, 154, 211, 67, 229, 245, 74, 68, 9, 170, 115, 78, 188, 185, 136, 139, 69, 84, 247, 250, 10, 204, 25, 120, 115, 147, 215, 166, 198, 81, 66, 147, 84, 16, 60, 212, 96, 172, 181, 226, 79, 85, 170, 155, 216, 57, 77, 96, 98, 187, 21, 31, 252, 193, 204, 218, 246, 120, 64, 110, 243, 22, 44, 127, 238, 251, 82, 185, 48, 87, 61, 26, 160, 60, 190, 41, 82, 104, 1, 28, 218, 24, 43},
+{77, 243, 0, 32, 95, 164, 83, 112, 43, 199, 55, 213, 97, 99, 109, 136, 57, 98, 112, 190, 235, 53, 92, 38, 214, 166, 13, 149, 140, 251, 94, 168, 104, 53, 150, 6, 244, 204, 255, 143, 99, 219, 184, 115, 90, 5, 61, 12, 36, 41, 115, 211, 56, 10, 131, 155, 0, 23, 9, 21, 42, 110, 167, 45, 212, 3, 2, 191, 208, 251, 172, 110, 131, 197, 175, 203, 26, 115, 95, 169, 20, 62, 201, 105, 39, 42, 245, 112, 123, 179, 233, 192, 132, 197, 230, 12, 72, 17, 12, 0, 115, 209, 141, 47, 52, 97, 230, 152, 12, 96, 87, 199, 228, 44, 8, 136, 47, 159, 162, 72, 87, 109, 11, 94, 188, 73, 88, 175},
+{150, 134, 55, 153, 242, 215, 223, 202, 248, 113, 73, 183, 223, 92, 201, 146, 188, 110, 54, 0, 143, 63, 234, 194, 44, 39, 107, 244, 252, 1, 243, 13, 157, 74, 114, 62, 77, 199, 67, 122, 178, 147, 227, 180, 210, 216, 47, 247, 90, 12, 125, 87, 50, 221, 208, 153, 115, 136, 33, 4, 16, 182, 41, 136, 20, 6, 73, 64, 30, 228, 11, 64, 227, 142, 230, 226, 189, 51, 18, 209, 31, 15, 119, 202, 51, 40, 144, 235, 6, 122, 119, 97, 156, 181, 201, 35, 33, 224, 140, 231, 222, 129, 176, 245, 2, 175, 126, 64, 74, 119, 105, 117, 120, 245, 116, 42, 68, 191, 180, 230, 5, 78, 70, 23, 92, 151, 156, 18},
+{65, 128, 25, 221, 49, 39, 75, 217, 214, 173, 218, 17, 105, 127, 55, 27, 109, 89, 137, 201, 217, 7, 174, 161, 128, 255, 182, 0, 4, 160, 46, 137, 168, 29, 78, 164, 161, 151, 173, 125, 78, 33, 157, 221, 107, 42, 146, 201, 6, 2, 189, 249, 251, 240, 241, 210, 117, 228, 84, 9, 59, 31, 208, 191, 185, 194, 248, 16, 131, 129, 13, 78, 100, 153, 43, 244, 224, 94, 82, 166, 179, 183, 192, 30, 185, 197, 16, 232, 184, 236, 53, 198, 160, 17, 10, 191, 50, 166, 209, 73, 70, 90, 251, 63, 67, 59, 230, 92, 31, 199, 45, 64, 237, 128, 94, 227, 139, 189, 185, 234, 56, 16, 89, 215, 14, 64, 159, 253},
+{193, 37, 3, 39, 195, 42, 51, 159, 239, 154, 236, 237, 5, 30, 87, 122, 13, 249, 62, 52, 67, 119, 13, 166, 187, 69, 94, 97, 241, 23, 62, 232, 111, 93, 93, 120, 55, 8, 157, 124, 80, 161, 19, 148, 161, 252, 169, 200, 89, 72, 49, 142, 171, 12, 18, 97, 207, 127, 225, 15, 2, 48, 136, 124, 152, 159, 64, 28, 148, 187, 106, 232, 29, 13, 37, 60, 101, 159, 218, 223, 244, 174, 190, 200, 146, 32, 135, 66, 157, 12, 80, 50, 222, 35, 222, 140, 8, 135, 53, 66, 87, 205, 43, 82, 161, 149, 241, 138, 148, 218, 75, 125, 56, 223, 242, 63, 183, 188, 152, 178, 49, 21, 43, 158, 138, 104, 152, 184},
+{118, 220, 26, 93, 92, 122, 87, 45, 124, 99, 253, 167, 53, 156, 246, 4, 217, 0, 233, 159, 28, 1, 162, 198, 245, 94, 90, 187, 9, 250, 199, 94, 117, 130, 167, 25, 75, 166, 126, 93, 132, 185, 224, 155, 158, 250, 191, 144, 61, 30, 13, 108, 127, 155, 20, 23, 231, 44, 199, 31, 18, 125, 235, 106, 59, 67, 174, 219, 249, 48, 231, 61, 141, 35, 234, 114, 18, 181, 117, 226, 192, 164, 89, 107, 203, 15, 245, 64, 162, 254, 174, 36, 169, 4, 32, 193, 22, 13, 98, 12, 95, 2, 55, 141, 68, 2, 214, 55, 248, 190, 150, 115, 36, 59, 228, 47, 218, 0, 81, 77, 20, 155, 247, 64, 155, 117, 36, 25},
+{171, 205, 198, 226, 126, 53, 195, 180, 24, 65, 34, 127, 114, 246, 186, 91, 226, 226, 202, 61, 62, 21, 226, 67, 33, 93, 54, 104, 79, 165, 102, 16, 171, 141, 192, 15, 254, 133, 150, 34, 63, 235, 231, 146, 8, 33, 163, 126, 2, 161, 147, 83, 230, 201, 85, 232, 205, 134, 252, 38, 180, 172, 50, 168, 78, 236, 202, 209, 120, 155, 224, 174, 117, 186, 153, 175, 228, 148, 169, 179, 68, 47, 101, 170, 218, 73, 149, 230, 15, 32, 163, 205, 121, 116, 246, 253, 242, 116, 92, 233, 252, 245, 56, 52, 213, 154, 221, 74, 196, 106, 200, 201, 118, 131, 130, 61, 109, 140, 108, 227, 197, 61, 109, 67, 34, 124, 169, 53},
+{122, 123, 15, 2, 190, 25, 244, 7, 204, 160, 12, 31, 156, 211, 152, 205, 76, 20, 159, 247, 127, 233, 198, 118, 200, 54, 123, 57, 145, 65, 19, 126, 221, 252, 209, 251, 233, 109, 245, 57, 47, 45, 154, 222, 94, 178, 38, 157, 54, 32, 58, 187, 26, 243, 178, 51, 156, 25, 26, 60, 14, 38, 212, 198, 181, 53, 31, 178, 252, 131, 44, 230, 40, 163, 131, 210, 112, 200, 118, 214, 49, 110, 75, 182, 104, 75, 79, 215, 187, 14, 85, 45, 17, 188, 28, 225, 226, 217, 75, 45, 160, 190, 90, 215, 26, 254, 192, 59, 56, 15, 230, 37, 91, 178, 252, 147, 81, 206, 204, 187, 98, 63, 11, 22, 187, 191, 100, 172},
+{169, 224, 183, 146, 149, 21, 3, 202, 150, 104, 253, 238, 164, 187, 55, 208, 35, 52, 155, 233, 167, 169, 213, 191, 26, 190, 71, 62, 242, 42, 157, 31, 105, 218, 34, 145, 69, 91, 187, 128, 205, 185, 16, 231, 56, 162, 9, 194, 136, 135, 122, 13, 190, 31, 245, 166, 149, 63, 242, 200, 174, 138, 154, 186, 170, 129, 173, 159, 127, 244, 43, 61, 60, 218, 161, 111, 108, 48, 42, 136, 214, 251, 109, 133, 156, 255, 177, 198, 14, 116, 68, 250, 44, 136, 15, 51, 12, 236, 95, 237, 78, 187, 42, 78, 121, 189, 51, 4, 61, 125, 244, 135, 250, 169, 26, 127, 15, 237, 17, 239, 55, 48, 214, 238, 25, 169, 43, 241},
+{68, 219, 0, 143, 127, 202, 7, 204, 208, 223, 75, 8, 86, 118, 85, 43, 245, 227, 183, 125, 75, 159, 181, 25, 143, 157, 254, 76, 87, 30, 70, 150, 216, 6, 18, 60, 65, 202, 150, 49, 44, 86, 114, 150, 122, 200, 83, 123, 173, 38, 253, 42, 216, 170, 168, 230, 30, 65, 15, 255, 123, 133, 134, 20, 66, 22, 125, 14, 211, 38, 111, 141, 227, 129, 64, 203, 159, 180, 79, 139, 9, 197, 160, 24, 97, 183, 26, 123, 39, 225, 54, 198, 167, 247, 75, 63, 1, 104, 122, 112, 79, 165, 113, 122, 110, 197, 222, 193, 242, 106, 109, 64, 193, 179, 5, 24, 152, 101, 174, 151, 121, 183, 238, 17, 227, 239, 127, 109},
+{34, 234, 130, 73, 212, 136, 130, 114, 138, 110, 217, 187, 136, 49, 204, 113, 141, 219, 79, 219, 170, 34, 11, 253, 12, 198, 52, 253, 110, 190, 214, 224, 36, 27, 221, 239, 247, 150, 174, 141, 133, 112, 141, 88, 243, 147, 219, 148, 13, 231, 126, 166, 100, 30, 175, 172, 55, 190, 80, 49, 185, 8, 36, 55, 154, 233, 196, 129, 83, 161, 63, 222, 39, 119, 175, 167, 122, 90, 196, 144, 188, 0, 174, 70, 171, 208, 78, 231, 188, 221, 234, 224, 216, 78, 179, 230, 11, 72, 246, 21, 30, 60, 133, 58, 23, 252, 162, 18, 20, 103, 192, 246, 220, 12, 218, 147, 175, 121, 37, 20, 92, 150, 166, 104, 10, 21, 226, 222},
+{155, 254, 192, 204, 231, 86, 121, 250, 214, 201, 162, 128, 177, 95, 13, 254, 38, 119, 254, 214, 48, 197, 30, 215, 37, 163, 49, 71, 222, 120, 133, 191, 13, 112, 138, 64, 54, 228, 0, 21, 129, 253, 154, 73, 103, 107, 23, 119, 211, 104, 183, 140, 171, 135, 144, 91, 92, 245, 36, 147, 196, 106, 180, 125, 117, 168, 147, 59, 28, 82, 178, 28, 153, 82, 81, 163, 150, 176, 98, 127, 55, 85, 100, 82, 25, 210, 100, 204, 178, 14, 103, 104, 137, 153, 101, 69, 99, 87, 136, 72, 22, 207, 3, 224, 53, 179, 133, 245, 191, 214, 255, 212, 125, 203, 198, 128, 59, 71, 40, 26, 39, 114, 110, 116, 208, 0, 228, 76},
+{179, 39, 21, 146, 20, 189, 140, 80, 120, 77, 110, 134, 7, 159, 166, 57, 87, 64, 100, 52, 243, 69, 172, 96, 184, 86, 141, 55, 33, 77, 196, 20, 12, 248, 217, 30, 103, 191, 177, 208, 169, 172, 148, 101, 28, 52, 35, 14, 59, 255, 14, 12, 80, 41, 144, 210, 241, 47, 176, 29, 200, 250, 77, 118, 253, 67, 179, 77, 136, 186, 94, 190, 131, 133, 83, 228, 235, 51, 85, 145, 139, 223, 12, 97, 56, 25, 138, 17, 237, 116, 115, 139, 20, 218, 150, 183, 161, 195, 43, 162, 103, 14, 16, 112, 99, 187, 245, 39, 222, 176, 196, 174, 235, 145, 75, 36, 136, 9, 59, 100, 179, 99, 66, 77, 13, 126, 53, 55},
+{60, 194, 13, 138, 254, 72, 128, 120, 187, 82, 82, 211, 186, 72, 9, 16, 214, 212, 43, 131, 203, 9, 249, 58, 55, 189, 225, 247, 84, 41, 148, 114, 243, 154, 152, 172, 148, 102, 68, 87, 130, 148, 192, 139, 152, 79, 50, 164, 114, 252, 254, 154, 102, 173, 134, 242, 176, 171, 79, 39, 38, 212, 116, 60, 255, 81, 81, 16, 21, 88, 203, 122, 141, 17, 16, 63, 236, 5, 190, 119, 187, 59, 40, 197, 84, 117, 8, 147, 136, 211, 230, 208, 144, 27, 79, 173, 101, 222, 146, 5, 94, 0, 123, 37, 5, 56, 155, 60, 125, 124, 209, 145, 162, 87, 203, 31, 176, 74, 16, 196, 49, 144, 28, 158, 93, 119, 158, 250},
+{181, 123, 80, 86, 169, 228, 65, 173, 43, 90, 236, 69, 45, 192, 215, 166, 187, 189, 146, 10, 160, 42, 203, 16, 6, 16, 168, 201, 171, 203, 223, 174, 251, 222, 128, 240, 31, 164, 24, 97, 78, 208, 119, 3, 177, 218, 71, 81, 111, 143, 162, 246, 80, 157, 91, 180, 83, 10, 216, 20, 225, 91, 167, 124, 213, 5, 242, 138, 91, 17, 57, 221, 95, 88, 166, 132, 242, 34, 239, 221, 110, 120, 197, 156, 213, 62, 109, 115, 209, 52, 187, 135, 61, 228, 88, 218, 131, 95, 210, 51, 239, 212, 206, 253, 76, 243, 107, 119, 8, 2, 193, 154, 254, 78, 114, 181, 219, 131, 199, 20, 109, 181, 19, 15, 122, 148, 3, 250},
+{126, 191, 109, 27, 214, 154, 131, 116, 253, 251, 201, 102, 63, 100, 22, 131, 180, 70, 188, 57, 84, 223, 169, 147, 205, 165, 67, 138, 70, 207, 40, 70, 57, 44, 83, 68, 198, 196, 227, 141, 30, 42, 142, 108, 210, 218, 195, 31, 139, 5, 193, 195, 83, 19, 16, 157, 108, 69, 152, 157, 194, 30, 79, 243, 109, 20, 197, 96, 17, 7, 30, 254, 96, 119, 121, 152, 194, 59, 181, 44, 55, 8, 117, 254, 144, 135, 140, 30, 62, 150, 62, 136, 51, 5, 105, 187, 220, 90, 109, 12, 157, 78, 31, 17, 15, 93, 98, 9, 241, 188, 229, 82, 82, 199, 217, 247, 251, 131, 48, 118, 146, 229, 210, 158, 188, 25, 118, 209},
+{126, 102, 18, 228, 110, 236, 122, 25, 194, 194, 248, 102, 135, 215, 92, 41, 240, 0, 173, 166, 30, 222, 43, 92, 162, 142, 222, 180, 171, 190, 198, 37, 61, 170, 15, 189, 3, 216, 67, 95, 28, 232, 153, 97, 150, 52, 82, 5, 236, 62, 19, 28, 40, 37, 119, 162, 50, 183, 90, 55, 86, 114, 14, 218, 161, 22, 248, 183, 18, 188, 190, 225, 217, 8, 13, 107, 167, 158, 199, 34, 77, 43, 171, 45, 54, 8, 17, 202, 234, 61, 195, 152, 77, 139, 228, 249, 96, 219, 104, 160, 145, 164, 127, 207, 222, 100, 141, 118, 13, 235, 8, 46, 145, 154, 62, 218, 231, 56, 236, 2, 33, 142, 195, 86, 130, 199, 89, 93},
+{77, 163, 115, 3, 60, 195, 208, 114, 225, 80, 78, 136, 155, 139, 144, 113, 122, 199, 200, 88, 33, 122, 95, 242, 166, 2, 38, 69, 16, 86, 200, 237, 190, 205, 74, 108, 83, 208, 61, 146, 33, 88, 58, 136, 196, 190, 244, 193, 251, 225, 23, 245, 232, 130, 45, 120, 82, 179, 184, 192, 33, 63, 45, 199, 103, 155, 120, 49, 65, 147, 124, 157, 140, 251, 55, 170, 117, 153, 121, 245, 140, 13, 151, 204, 53, 6, 170, 124, 199, 124, 243, 18, 248, 144, 233, 35, 191, 121, 167, 82, 171, 68, 149, 209, 28, 44, 245, 43, 241, 180, 52, 40, 117, 227, 111, 95, 28, 33, 240, 215, 46, 202, 175, 149, 12, 127, 49, 25},
+{69, 121, 92, 174, 53, 235, 11, 45, 0, 211, 111, 220, 192, 160, 23, 225, 250, 5, 143, 135, 45, 231, 225, 238, 47, 71, 85, 86, 203, 99, 239, 59, 134, 65, 108, 154, 63, 99, 160, 59, 199, 84, 105, 121, 219, 49, 62, 120, 71, 28, 55, 59, 237, 165, 195, 247, 119, 55, 66, 117, 247, 49, 69, 55, 245, 105, 43, 199, 19, 28, 3, 182, 250, 14, 204, 167, 108, 246, 15, 165, 100, 103, 220, 77, 173, 42, 131, 4, 83, 200, 72, 254, 19, 64, 242, 242, 244, 19, 14, 9, 59, 32, 39, 139, 66, 188, 99, 250, 112, 61, 85, 64, 31, 21, 31, 139, 3, 213, 155, 107, 71, 135, 192, 92, 0, 153, 202, 165},
+{166, 129, 17, 185, 99, 86, 133, 157, 194, 183, 90, 169, 103, 201, 41, 224, 196, 59, 0, 101, 5, 124, 141, 73, 151, 49, 10, 113, 80, 121, 134, 52, 66, 30, 90, 101, 226, 32, 71, 137, 104, 178, 37, 237, 91, 84, 169, 29, 65, 111, 218, 160, 216, 75, 218, 118, 15, 246, 253, 41, 202, 226, 8, 176, 108, 151, 48, 150, 122, 237, 210, 88, 65, 243, 156, 67, 220, 181, 10, 224, 169, 157, 87, 77, 57, 39, 110, 5, 140, 73, 71, 98, 123, 161, 241, 80, 33, 165, 242, 68, 139, 122, 21, 96, 149, 205, 202, 157, 173, 163, 72, 70, 91, 243, 209, 177, 8, 106, 164, 233, 36, 219, 137, 64, 91, 137, 116, 163},
+{74, 224, 240, 160, 218, 80, 19, 116, 167, 169, 55, 181, 208, 87, 20, 17, 85, 138, 230, 8, 2, 196, 46, 200, 141, 231, 100, 213, 64, 105, 102, 49, 250, 71, 230, 91, 213, 23, 112, 127, 203, 195, 100, 239, 76, 137, 28, 41, 163, 241, 117, 193, 188, 52, 92, 0, 144, 46, 98, 190, 85, 110, 102, 106, 156, 146, 112, 7, 55, 1, 53, 212, 118, 194, 153, 239, 233, 76, 1, 1, 126, 228, 205, 16, 213, 166, 105, 104, 51, 137, 175, 110, 40, 31, 144, 196, 7, 82, 166, 2, 197, 61, 240, 193, 144, 188, 14, 159, 243, 43, 25, 163, 125, 170, 44, 76, 34, 131, 54, 162, 136, 5, 247, 52, 104, 74, 55, 196},
+{77, 140, 169, 184, 77, 57, 253, 107, 33, 205, 145, 100, 43, 3, 165, 15, 123, 157, 55, 64, 77, 235, 231, 206, 180, 0, 186, 120, 174, 197, 69, 142, 29, 28, 55, 136, 190, 255, 167, 174, 208, 155, 24, 36, 5, 152, 153, 252, 129, 199, 146, 101, 81, 108, 55, 117, 83, 217, 6, 22, 215, 214, 8, 215, 128, 18, 151, 60, 75, 196, 51, 197, 27, 5, 32, 55, 141, 226, 69, 116, 131, 103, 159, 63, 7, 96, 118, 205, 246, 241, 180, 68, 27, 69, 240, 232, 220, 114, 97, 20, 162, 225, 142, 243, 164, 133, 2, 125, 119, 111, 7, 239, 42, 248, 232, 54, 241, 52, 41, 78, 222, 108, 137, 111, 145, 5, 173, 93},
+{110, 7, 39, 50, 3, 172, 40, 157, 187, 149, 25, 235, 56, 48, 28, 1, 65, 13, 138, 7, 132, 195, 9, 115, 192, 212, 222, 211, 137, 0, 5, 147, 7, 115, 73, 250, 177, 240, 42, 2, 40, 43, 186, 126, 0, 129, 230, 16, 165, 66, 20, 62, 208, 72, 83, 45, 118, 86, 98, 78, 109, 126, 121, 108, 142, 194, 33, 184, 126, 108, 174, 119, 107, 153, 61, 65, 80, 177, 90, 148, 162, 142, 146, 230, 46, 237, 78, 254, 19, 89, 42, 33, 146, 39, 150, 46, 115, 179, 33, 153, 228, 180, 27, 205, 209, 156, 203, 86, 4, 143, 31, 112, 234, 181, 167, 210, 29, 124, 205, 233, 40, 53, 43, 251, 62, 4, 169, 240},
+{168, 81, 216, 120, 52, 99, 229, 222, 182, 115, 33, 192, 204, 172, 19, 7, 195, 110, 70, 136, 14, 224, 99, 227, 71, 43, 85, 182, 235, 81, 214, 230, 59, 254, 24, 5, 99, 137, 112, 101, 102, 96, 55, 53, 162, 59, 93, 173, 221, 98, 7, 195, 80, 156, 32, 67, 232, 28, 62, 205, 6, 203, 204, 223, 24, 228, 86, 154, 59, 127, 62, 103, 177, 139, 2, 223, 238, 231, 4, 25, 196, 150, 160, 52, 65, 63, 95, 49, 88, 212, 199, 115, 67, 80, 99, 53, 7, 111, 61, 75, 80, 120, 180, 209, 17, 118, 47, 234, 226, 191, 42, 168, 227, 236, 143, 230, 153, 69, 250, 20, 44, 242, 172, 67, 216, 25, 31, 104},
+{72, 250, 163, 135, 59, 111, 153, 229, 139, 171, 236, 176, 253, 89, 8, 147, 25, 103, 139, 69, 234, 186, 143, 113, 240, 40, 39, 113, 211, 33, 146, 55, 15, 88, 122, 68, 161, 235, 193, 13, 166, 253, 239, 87, 213, 197, 238, 101, 81, 87, 95, 0, 52, 62, 218, 174, 192, 111, 37, 130, 206, 246, 134, 61, 106, 245, 59, 107, 222, 213, 146, 246, 164, 184, 124, 120, 137, 117, 154, 82, 166, 211, 36, 79, 116, 11, 84, 166, 33, 204, 111, 78, 94, 130, 157, 18, 204, 129, 8, 129, 195, 151, 25, 3, 169, 43, 33, 254, 31, 242, 226, 163, 95, 23, 238, 41, 57, 49, 234, 0, 137, 6, 19, 165, 101, 179, 53, 240},
+{46, 84, 94, 114, 111, 186, 253, 95, 44, 106, 92, 147, 248, 226, 170, 200, 79, 204, 57, 141, 20, 188, 136, 181, 162, 79, 43, 242, 60, 30, 69, 251, 130, 128, 154, 26, 154, 102, 32, 105, 228, 155, 67, 83, 205, 112, 49, 210, 19, 107, 241, 109, 163, 116, 180, 20, 196, 194, 144, 135, 157, 181, 95, 182, 35, 88, 61, 57, 169, 236, 123, 9, 254, 211, 40, 242, 237, 21, 76, 54, 180, 170, 116, 232, 48, 148, 80, 23, 168, 108, 87, 144, 71, 75, 116, 151, 156, 153, 119, 36, 196, 45, 16, 58, 83, 200, 162, 137, 104, 9, 16, 210, 210, 105, 214, 123, 29, 187, 171, 165, 225, 209, 182, 237, 112, 83, 30, 67},
+{165, 21, 231, 185, 118, 75, 30, 6, 47, 67, 195, 88, 241, 107, 218, 220, 67, 229, 110, 42, 69, 46, 109, 201, 83, 86, 128, 30, 239, 19, 44, 37, 152, 194, 89, 131, 37, 208, 102, 131, 119, 93, 74, 98, 208, 122, 216, 207, 50, 80, 89, 99, 188, 175, 139, 11, 106, 105, 178, 198, 210, 251, 47, 255, 94, 244, 240, 90, 97, 56, 85, 12, 2, 21, 122, 78, 98, 50, 20, 144, 190, 11, 150, 211, 63, 55, 214, 197, 241, 235, 166, 248, 118, 236, 225, 129, 59, 21, 21, 112, 187, 144, 136, 193, 86, 212, 52, 232, 78, 157, 2, 245, 125, 126, 206, 225, 222, 134, 168, 92, 137, 0, 16, 79, 180, 81, 42, 185},
+{9, 195, 93, 80, 29, 50, 134, 220, 118, 202, 56, 15, 39, 97, 120, 167, 50, 29, 238, 75, 163, 250, 41, 19, 53, 0, 75, 51, 226, 144, 17, 87, 105, 73, 189, 61, 153, 137, 162, 20, 110, 182, 63, 156, 88, 223, 58, 88, 85, 108, 92, 79, 100, 11, 11, 1, 141, 64, 74, 175, 112, 152, 29, 65, 188, 24, 172, 194, 171, 238, 242, 160, 237, 2, 93, 86, 221, 177, 252, 95, 178, 209, 201, 169, 70, 7, 130, 24, 82, 214, 229, 231, 14, 10, 55, 87, 28, 107, 201, 87, 183, 26, 164, 166, 170, 219, 35, 248, 21, 144, 166, 6, 117, 56, 137, 227, 82, 57, 223, 147, 187, 47, 62, 203, 158, 186, 120, 249},
+{109, 85, 40, 153, 230, 179, 223, 97, 56, 28, 49, 73, 160, 105, 170, 189, 171, 107, 16, 143, 70, 184, 245, 194, 17, 130, 210, 45, 237, 242, 40, 6, 42, 41, 73, 96, 99, 102, 223, 174, 33, 107, 249, 96, 76, 23, 241, 46, 111, 244, 56, 222, 16, 105, 108, 171, 46, 217, 17, 238, 132, 180, 136, 108, 65, 44, 173, 33, 175, 22, 166, 6, 24, 172, 201, 22, 142, 85, 245, 151, 17, 115, 0, 180, 51, 88, 6, 57, 116, 170, 38, 23, 187, 196, 231, 149, 229, 137, 2, 86, 72, 221, 77, 58, 134, 154, 132, 220, 128, 84, 151, 14, 83, 151, 181, 81, 250, 11, 149, 152, 244, 184, 5, 163, 24, 90, 191, 164},
+{170, 140, 14, 196, 198, 222, 13, 117, 24, 117, 210, 3, 227, 175, 121, 246, 41, 178, 55, 21, 30, 177, 11, 83, 34, 81, 210, 207, 25, 87, 245, 211, 112, 3, 222, 63, 155, 255, 15, 160, 144, 219, 239, 68, 120, 246, 149, 251, 52, 246, 240, 47, 152, 76, 169, 188, 82, 17, 47, 34, 233, 176, 64, 142, 96, 139, 188, 73, 56, 95, 29, 30, 71, 152, 6, 192, 224, 173, 209, 92, 240, 211, 242, 192, 203, 30, 8, 36, 191, 202, 83, 163, 139, 4, 181, 56, 242, 106, 253, 38, 139, 95, 93, 160, 10, 204, 31, 6, 2, 47, 64, 161, 107, 137, 40, 135, 233, 218, 88, 57, 40, 107, 64, 137, 229, 186, 31, 193},
+{204, 216, 204, 47, 190, 209, 189, 1, 73, 78, 0, 123, 176, 214, 174, 74, 128, 171, 214, 228, 161, 188, 174, 121, 255, 219, 136, 203, 221, 235, 91, 236, 245, 185, 161, 58, 226, 88, 94, 252, 143, 5, 224, 250, 232, 232, 117, 212, 224, 47, 205, 183, 41, 255, 35, 233, 82, 30, 91, 111, 70, 240, 244, 144, 93, 243, 31, 205, 198, 175, 8, 244, 208, 124, 34, 54, 207, 190, 227, 128, 173, 3, 135, 84, 146, 31, 120, 160, 164, 246, 109, 123, 163, 116, 171, 0, 187, 26, 59, 25, 170, 65, 182, 74, 61, 178, 59, 125, 203, 44, 10, 234, 68, 158, 83, 85, 208, 60, 208, 181, 182, 76, 73, 167, 96, 90, 130, 128},
+{49, 246, 152, 19, 97, 107, 104, 69, 33, 61, 100, 2, 205, 238, 227, 185, 193, 249, 107, 223, 134, 146, 78, 236, 39, 123, 222, 227, 76, 33, 231, 244, 33, 96, 117, 147, 121, 226, 14, 197, 134, 81, 109, 35, 64, 86, 219, 163, 223, 201, 184, 88, 188, 158, 45, 68, 234, 190, 234, 28, 24, 189, 208, 165, 127, 35, 22, 253, 51, 35, 209, 101, 131, 40, 33, 132, 96, 12, 228, 222, 164, 218, 133, 251, 63, 214, 236, 20, 29, 189, 226, 55, 241, 96, 105, 77, 1, 13, 143, 16, 157, 11, 227, 171, 94, 204, 196, 123, 127, 139, 113, 76, 34, 199, 24, 159, 38, 128, 159, 102, 208, 25, 19, 176, 101, 14, 12, 34},
+{16, 187, 176, 124, 198, 250, 170, 214, 139, 237, 182, 106, 208, 194, 220, 241, 61, 5, 159, 94, 186, 215, 204, 194, 45, 135, 181, 26, 137, 118, 23, 129, 216, 140, 109, 170, 201, 229, 32, 168, 55, 230, 33, 162, 11, 188, 250, 17, 177, 210, 73, 128, 205, 202, 217, 95, 53, 243, 243, 197, 57, 184, 51, 213, 133, 235, 64, 83, 16, 8, 23, 114, 145, 99, 112, 54, 181, 134, 183, 63, 19, 135, 32, 127, 107, 78, 101, 215, 195, 237, 176, 65, 238, 245, 88, 231, 44, 99, 156, 118, 195, 46, 24, 64, 17, 60, 241, 52, 131, 91, 28, 58, 243, 177, 231, 1, 46, 154, 97, 136, 230, 190, 250, 149, 113, 247, 42, 58},
+{126, 193, 77, 166, 48, 100, 169, 168, 214, 239, 157, 57, 62, 244, 28, 55, 7, 183, 241, 64, 134, 12, 139, 151, 1, 165, 231, 174, 126, 108, 221, 205, 227, 108, 84, 21, 203, 123, 42, 214, 215, 179, 83, 214, 165, 28, 158, 48, 171, 171, 213, 218, 252, 178, 175, 190, 77, 194, 249, 167, 191, 246, 62, 57, 103, 177, 18, 128, 63, 228, 249, 138, 151, 241, 82, 97, 164, 155, 117, 145, 184, 181, 177, 82, 77, 102, 100, 3, 187, 89, 92, 221, 177, 115, 65, 119, 49, 108, 41, 246, 125, 2, 23, 209, 51, 191, 156, 195, 33, 131, 221, 6, 227, 93, 182, 16, 225, 58, 34, 154, 118, 140, 165, 109, 72, 132, 205, 202},
+{167, 242, 162, 213, 127, 118, 57, 175, 220, 41, 91, 66, 167, 118, 101, 78, 196, 124, 203, 79, 28, 200, 210, 187, 54, 160, 210, 125, 51, 94, 158, 10, 222, 20, 167, 170, 216, 123, 41, 212, 53, 57, 190, 162, 151, 112, 188, 216, 253, 53, 43, 194, 209, 247, 219, 74, 64, 62, 184, 188, 117, 70, 206, 99, 138, 198, 215, 150, 102, 26, 50, 188, 11, 65, 101, 145, 58, 142, 175, 102, 49, 85, 146, 181, 67, 72, 47, 167, 179, 6, 8, 181, 224, 247, 68, 47, 12, 98, 246, 101, 97, 215, 108, 18, 131, 154, 169, 12, 255, 105, 75, 90, 26, 213, 6, 52, 164, 147, 79, 124, 15, 238, 184, 126, 155, 4, 165, 146},
+{158, 4, 161, 30, 208, 253, 72, 75, 229, 81, 112, 160, 245, 146, 145, 89, 195, 127, 215, 103, 78, 96, 128, 128, 234, 39, 208, 32, 47, 133, 81, 62, 76, 65, 221, 58, 155, 202, 16, 71, 173, 134, 8, 145, 96, 234, 188, 215, 154, 25, 63, 186, 150, 56, 219, 15, 140, 82, 201, 191, 204, 95, 234, 109, 196, 50, 60, 114, 46, 126, 125, 94, 250, 221, 18, 181, 126, 85, 218, 75, 187, 41, 41, 40, 108, 193, 85, 178, 54, 139, 19, 255, 62, 199, 1, 183, 182, 70, 57, 4, 117, 34, 129, 54, 130, 237, 129, 98, 103, 159, 133, 160, 160, 203, 146, 200, 135, 181, 222, 91, 213, 88, 37, 92, 101, 239, 118, 76},
+{166, 203, 241, 134, 170, 127, 93, 104, 157, 35, 131, 152, 21, 249, 7, 39, 179, 147, 0, 11, 238, 44, 171, 67, 173, 250, 109, 207, 146, 240, 158, 96, 232, 147, 97, 146, 87, 167, 230, 231, 53, 156, 35, 218, 77, 129, 28, 22, 146, 104, 209, 77, 4, 174, 195, 191, 231, 100, 226, 68, 165, 168, 144, 185, 241, 80, 171, 96, 66, 13, 126, 1, 168, 134, 46, 61, 151, 1, 2, 52, 57, 170, 178, 93, 185, 6, 44, 113, 244, 244, 21, 81, 104, 42, 124, 3, 244, 31, 76, 181, 128, 197, 203, 204, 35, 70, 147, 24, 136, 103, 79, 79, 19, 219, 105, 233, 205, 82, 99, 89, 224, 77, 32, 7, 30, 147, 63, 249},
+{95, 109, 199, 184, 232, 241, 211, 102, 187, 209, 140, 135, 178, 252, 56, 45, 205, 219, 136, 176, 105, 61, 80, 15, 123, 169, 65, 219, 81, 93, 238, 213, 142, 30, 132, 172, 124, 38, 242, 136, 187, 86, 89, 54, 35, 79, 54, 108, 237, 252, 174, 19, 187, 149, 163, 88, 162, 3, 215, 60, 84, 113, 171, 129, 103, 146, 252, 84, 55, 236, 211, 216, 24, 161, 3, 240, 61, 189, 40, 169, 181, 99, 197, 166, 137, 104, 120, 80, 93, 87, 164, 93, 220, 202, 185, 70, 50, 155, 66, 146, 217, 151, 122, 17, 89, 45, 8, 89, 123, 252, 60, 51, 179, 205, 1, 124, 51, 63, 27, 67, 151, 11, 136, 54, 199, 204, 21, 239},
+{152, 146, 185, 40, 169, 131, 212, 68, 202, 158, 35, 77, 7, 142, 208, 15, 34, 134, 168, 255, 99, 217, 138, 240, 114, 156, 231, 6, 206, 105, 227, 5, 244, 236, 38, 13, 247, 118, 245, 166, 160, 5, 190, 41, 5, 155, 34, 54, 214, 18, 56, 67, 106, 252, 207, 92, 25, 32, 21, 149, 81, 11, 44, 252, 164, 220, 156, 27, 54, 185, 28, 22, 69, 215, 113, 18, 110, 25, 42, 219, 205, 236, 51, 127, 153, 73, 53, 167, 62, 42, 190, 212, 221, 134, 211, 147, 57, 178, 19, 174, 226, 133, 253, 126, 250, 24, 68, 240, 2, 180, 36, 238, 84, 230, 232, 213, 244, 205, 121, 84, 212, 5, 223, 145, 239, 137, 99, 115},
+{117, 153, 49, 51, 238, 152, 17, 144, 17, 9, 191, 244, 58, 61, 143, 67, 19, 169, 151, 167, 131, 50, 183, 12, 31, 74, 90, 37, 87, 169, 159, 182, 129, 162, 114, 28, 16, 75, 157, 89, 151, 131, 178, 164, 135, 168, 1, 119, 249, 170, 16, 67, 111, 83, 173, 198, 136, 240, 86, 70, 115, 213, 205, 88, 165, 19, 253, 27, 86, 146, 153, 134, 168, 128, 159, 51, 42, 226, 243, 189, 179, 146, 133, 129, 83, 114, 124, 200, 113, 153, 241, 212, 169, 172, 181, 125, 27, 41, 86, 177, 35, 124, 171, 67, 4, 224, 31, 56, 17, 72, 66, 216, 123, 189, 140, 216, 51, 134, 107, 151, 8, 161, 248, 80, 60, 97, 172, 143},
+{94, 53, 218, 144, 163, 251, 32, 114, 158, 100, 118, 141, 71, 182, 35, 67, 247, 121, 224, 21, 241, 84, 8, 27, 10, 214, 212, 26, 60, 240, 58, 69, 153, 41, 130, 162, 192, 62, 111, 185, 167, 94, 95, 60, 7, 197, 32, 71, 172, 244, 119, 89, 95, 121, 39, 161, 73, 98, 243, 218, 129, 52, 203, 75, 22, 227, 15, 193, 171, 102, 142, 164, 92, 94, 89, 155, 22, 56, 40, 130, 156, 86, 21, 14, 160, 253, 182, 195, 126, 100, 188, 182, 213, 115, 166, 244, 239, 66, 176, 44, 87, 121, 158, 182, 224, 71, 217, 144, 173, 86, 186, 180, 205, 187, 128, 146, 254, 114, 149, 18, 172, 55, 254, 242, 120, 239, 53, 31},
+{106, 163, 184, 13, 33, 15, 211, 111, 194, 111, 252, 136, 217, 179, 234, 213, 171, 70, 131, 45, 203, 169, 152, 165, 13, 223, 116, 239, 252, 138, 170, 247, 64, 166, 136, 201, 39, 182, 141, 190, 132, 122, 170, 39, 0, 239, 226, 105, 180, 103, 81, 224, 192, 252, 2, 106, 151, 50, 208, 93, 93, 31, 124, 71, 14, 136, 105, 176, 218, 99, 111, 119, 149, 171, 103, 27, 46, 221, 253, 58, 159, 55, 14, 155, 84, 219, 162, 219, 45, 210, 229, 88, 10, 201, 233, 201, 122, 69, 15, 164, 37, 114, 65, 26, 132, 239, 43, 130, 156, 242, 233, 118, 20, 4, 217, 27, 137, 107, 168, 171, 122, 207, 150, 98, 164, 203, 126, 65},
+{9, 91, 188, 149, 134, 35, 140, 157, 95, 250, 47, 92, 184, 186, 204, 4, 1, 150, 220, 64, 74, 73, 236, 217, 42, 166, 205, 143, 210, 242, 137, 221, 201, 53, 86, 254, 250, 174, 140, 75, 82, 203, 126, 190, 115, 78, 209, 58, 224, 185, 144, 163, 86, 224, 250, 69, 144, 144, 167, 126, 128, 25, 54, 164, 167, 50, 6, 66, 101, 201, 174, 226, 17, 183, 206, 233, 202, 213, 147, 237, 100, 165, 217, 183, 95, 20, 205, 213, 56, 175, 133, 79, 12, 183, 167, 62, 73, 69, 187, 127, 196, 60, 117, 95, 33, 153, 19, 143, 240, 59, 10, 165, 194, 59, 61, 72, 134, 249, 217, 220, 58, 89, 88, 159, 169, 41, 43, 3},
+{59, 196, 170, 185, 123, 18, 244, 203, 217, 9, 137, 176, 100, 141, 94, 42, 219, 190, 237, 172, 29, 55, 150, 71, 192, 74, 39, 194, 192, 143, 98, 52, 183, 11, 62, 19, 111, 63, 16, 184, 41, 2, 250, 118, 11, 15, 83, 172, 160, 71, 37, 55, 164, 185, 124, 76, 20, 168, 62, 4, 22, 132, 14, 43, 169, 166, 227, 50, 53, 120, 45, 254, 252, 58, 156, 111, 190, 81, 0, 216, 131, 136, 237, 80, 99, 19, 212, 98, 77, 52, 232, 189, 75, 221, 33, 252, 149, 30, 34, 94, 8, 223, 51, 204, 19, 170, 203, 34, 58, 195, 184, 139, 128, 81, 16, 120, 188, 31, 156, 250, 45, 73, 37, 93, 62, 235, 94, 187},
+{207, 151, 237, 227, 229, 139, 89, 191, 43, 155, 166, 252, 211, 14, 102, 164, 149, 45, 79, 202, 164, 156, 66, 3, 154, 19, 106, 51, 192, 195, 54, 23, 29, 51, 225, 23, 216, 145, 167, 245, 244, 172, 233, 56, 208, 13, 213, 200, 94, 65, 249, 165, 150, 22, 208, 129, 40, 232, 195, 226, 148, 191, 120, 139, 103, 139, 129, 150, 147, 99, 110, 254, 90, 161, 65, 60, 23, 183, 60, 143, 254, 114, 79, 94, 82, 238, 16, 164, 214, 121, 178, 84, 61, 161, 161, 161, 252, 91, 124, 209, 115, 244, 11, 207, 17, 29, 64, 97, 139, 241, 247, 156, 63, 49, 19, 56, 49, 182, 240, 152, 98, 161, 88, 236, 201, 17, 195, 151},
+{90, 94, 57, 37, 132, 177, 133, 246, 59, 35, 164, 189, 35, 144, 42, 244, 127, 174, 103, 232, 101, 243, 5, 140, 120, 38, 51, 34, 122, 13, 30, 90, 15, 247, 162, 81, 75, 171, 48, 192, 152, 42, 150, 185, 199, 119, 203, 137, 6, 65, 80, 228, 225, 105, 51, 47, 35, 115, 69, 16, 8, 190, 222, 149, 166, 209, 122, 78, 183, 158, 187, 59, 181, 229, 196, 25, 107, 236, 134, 172, 200, 13, 104, 196, 79, 43, 5, 67, 72, 234, 16, 58, 5, 53, 195, 70, 178, 27, 217, 38, 238, 60, 137, 162, 62, 151, 246, 155, 132, 114, 41, 209, 97, 25, 226, 137, 224, 193, 158, 47, 153, 39, 24, 253, 195, 95, 213, 253},
+{88, 120, 42, 61, 159, 136, 104, 219, 61, 102, 111, 151, 185, 71, 209, 206, 143, 28, 96, 219, 95, 28, 82, 163, 85, 163, 32, 86, 60, 126, 20, 116, 167, 20, 198, 79, 9, 67, 6, 48, 223, 224, 41, 154, 161, 189, 65, 20, 99, 110, 211, 215, 142, 87, 75, 134, 103, 62, 31, 87, 175, 202, 184, 220, 68, 144, 97, 32, 65, 124, 120, 232, 181, 82, 233, 21, 120, 31, 126, 188, 249, 100, 81, 140, 36, 166, 226, 188, 28, 191, 148, 28, 232, 155, 33, 12, 95, 92, 224, 44, 188, 12, 101, 137, 225, 146, 9, 180, 244, 221, 64, 237, 101, 229, 136, 10, 221, 214, 144, 108, 216, 41, 16, 252, 165, 166, 211, 159},
+{90, 23, 164, 102, 205, 223, 124, 152, 23, 198, 251, 224, 77, 156, 166, 225, 203, 194, 153, 166, 17, 157, 149, 104, 154, 247, 190, 10, 4, 214, 36, 168, 157, 187, 159, 107, 12, 138, 115, 247, 93, 91, 39, 13, 149, 174, 25, 127, 15, 67, 184, 26, 137, 53, 216, 160, 5, 30, 235, 59, 168, 128, 216, 158, 86, 160, 48, 135, 158, 108, 43, 96, 233, 91, 164, 74, 119, 96, 0, 61, 238, 195, 232, 31, 62, 106, 133, 121, 123, 71, 50, 93, 67, 152, 235, 223, 42, 162, 61, 91, 11, 181, 86, 150, 146, 238, 182, 43, 221, 61, 225, 118, 105, 3, 156, 80, 196, 235, 18, 96, 237, 37, 227, 209, 133, 191, 43, 40},
+{147, 81, 161, 82, 114, 240, 104, 26, 129, 56, 113, 51, 144, 246, 172, 45, 210, 16, 145, 55, 121, 207, 118, 234, 189, 207, 64, 201, 217, 158, 125, 53, 188, 91, 25, 235, 28, 12, 136, 53, 94, 248, 113, 31, 77, 51, 38, 179, 88, 132, 159, 216, 228, 250, 82, 105, 233, 38, 199, 54, 6, 67, 136, 56, 187, 89, 220, 112, 176, 85, 14, 84, 245, 115, 220, 93, 85, 17, 68, 41, 155, 194, 42, 230, 248, 232, 23, 159, 85, 42, 157, 139, 81, 97, 64, 239, 10, 96, 195, 157, 196, 141, 116, 148, 159, 128, 244, 160, 91, 182, 104, 134, 229, 11, 186, 205, 190, 166, 147, 105, 214, 251, 187, 23, 127, 221, 143, 104},
+{160, 161, 128, 241, 18, 113, 217, 134, 40, 45, 41, 146, 51, 202, 244, 255, 223, 205, 61, 73, 196, 101, 57, 53, 42, 23, 41, 107, 164, 179, 236, 245, 216, 11, 187, 92, 47, 48, 216, 211, 94, 173, 136, 82, 218, 161, 80, 187, 213, 41, 39, 106, 0, 113, 184, 158, 248, 1, 243, 213, 192, 55, 247, 152, 222, 203, 32, 96, 59, 80, 130, 19, 91, 243, 175, 156, 242, 249, 21, 145, 21, 249, 191, 60, 222, 49, 102, 34, 222, 33, 53, 31, 161, 177, 226, 145, 168, 106, 38, 0, 134, 88, 96, 51, 79, 122, 211, 233, 185, 193, 172, 74, 136, 180, 108, 75, 157, 4, 222, 80, 186, 226, 1, 145, 49, 129, 118, 71},
+{91, 47, 15, 64, 78, 78, 231, 123, 216, 152, 111, 234, 100, 99, 94, 83, 19, 151, 32, 227, 59, 41, 183, 241, 154, 145, 156, 205, 194, 248, 84, 123, 146, 253, 26, 128, 199, 233, 149, 251, 43, 190, 254, 107, 207, 234, 164, 240, 143, 224, 138, 28, 167, 182, 196, 103, 105, 96, 33, 14, 113, 196, 160, 232, 86, 93, 26, 44, 62, 78, 47, 125, 45, 21, 242, 7, 132, 21, 175, 151, 140, 125, 35, 50, 216, 177, 108, 243, 30, 57, 65, 169, 5, 229, 236, 193, 72, 83, 191, 175, 91, 198, 6, 155, 43, 99, 26, 30, 11, 152, 85, 72, 90, 85, 176, 242, 254, 58, 232, 155, 125, 206, 142, 168, 143, 92, 7, 63},
+{71, 77, 126, 186, 45, 136, 118, 164, 66, 163, 78, 62, 241, 159, 34, 162, 5, 30, 86, 117, 66, 218, 59, 39, 103, 4, 228, 178, 51, 189, 62, 249, 84, 125, 0, 255, 123, 211, 215, 35, 184, 178, 31, 223, 49, 17, 175, 222, 139, 114, 174, 70, 191, 138, 198, 37, 133, 108, 53, 168, 118, 108, 99, 241, 210, 232, 21, 128, 43, 242, 246, 127, 15, 39, 140, 21, 191, 245, 72, 234, 181, 41, 213, 93, 113, 139, 245, 115, 164, 113, 78, 169, 48, 224, 104, 40, 230, 54, 218, 138, 131, 19, 134, 220, 19, 193, 234, 108, 251, 133, 209, 24, 229, 9, 71, 5, 84, 48, 64, 254, 99, 65, 179, 35, 231, 5, 49, 239},
+{143, 27, 12, 115, 247, 209, 91, 79, 64, 55, 72, 237, 116, 242, 115, 149, 12, 19, 72, 237, 5, 206, 132, 39, 195, 28, 61, 94, 174, 81, 226, 188, 1, 60, 164, 0, 9, 146, 213, 53, 234, 31, 39, 195, 248, 26, 193, 12, 177, 177, 166, 11, 71, 68, 235, 222, 77, 197, 242, 55, 245, 168, 58, 61, 179, 212, 38, 96, 64, 169, 117, 210, 110, 246, 107, 222, 132, 24, 237, 237, 157, 20, 196, 62, 5, 217, 152, 152, 65, 231, 109, 185, 152, 253, 71, 228, 134, 121, 192, 247, 159, 39, 230, 223, 14, 135, 115, 12, 203, 242, 55, 162, 154, 120, 228, 52, 92, 231, 157, 64, 70, 72, 189, 151, 113, 81, 221, 11},
+{167, 147, 60, 237, 181, 99, 188, 61, 94, 38, 13, 189, 30, 2, 20, 138, 225, 44, 248, 202, 11, 114, 48, 90, 156, 192, 242, 201, 172, 112, 209, 102, 97, 3, 161, 147, 20, 6, 52, 119, 7, 4, 236, 177, 200, 151, 79, 5, 9, 21, 167, 131, 93, 53, 199, 202, 52, 32, 209, 52, 136, 254, 153, 203, 149, 107, 129, 175, 117, 53, 10, 253, 46, 234, 110, 224, 61, 27, 101, 163, 53, 140, 251, 108, 154, 100, 243, 214, 74, 38, 175, 86, 87, 167, 27, 255, 48, 24, 238, 64, 184, 151, 234, 238, 63, 206, 172, 234, 8, 62, 207, 108, 174, 203, 93, 184, 89, 198, 181, 23, 50, 133, 31, 14, 169, 97, 23, 177},
+{99, 51, 25, 188, 60, 2, 188, 83, 93, 0, 239, 197, 186, 22, 202, 215, 178, 97, 243, 145, 16, 236, 85, 125, 69, 228, 30, 119, 100, 100, 58, 54, 121, 110, 29, 113, 138, 36, 229, 202, 196, 228, 158, 44, 119, 11, 223, 246, 250, 72, 137, 148, 142, 223, 216, 130, 213, 23, 252, 133, 179, 98, 24, 131, 32, 158, 90, 158, 217, 129, 233, 98, 203, 9, 171, 97, 47, 237, 81, 39, 223, 153, 191, 216, 157, 164, 30, 234, 38, 90, 16, 175, 138, 163, 242, 129, 33, 20, 60, 158, 157, 223, 185, 221, 127, 134, 186, 94, 71, 43, 195, 211, 78, 113, 194, 56, 96, 250, 227, 161, 99, 56, 159, 57, 95, 58, 152, 29},
+{71, 172, 99, 243, 210, 169, 218, 242, 7, 250, 166, 182, 17, 27, 20, 18, 14, 37, 248, 144, 152, 203, 110, 18, 175, 8, 151, 145, 88, 207, 142, 17, 212, 183, 124, 111, 118, 171, 36, 56, 34, 34, 144, 255, 213, 162, 180, 206, 107, 240, 0, 38, 76, 133, 224, 39, 17, 34, 184, 207, 187, 191, 120, 165, 141, 58, 163, 60, 12, 113, 198, 173, 52, 34, 236, 144, 166, 73, 8, 223, 154, 127, 168, 18, 90, 209, 68, 231, 219, 111, 155, 156, 57, 166, 191, 97, 57, 200, 1, 11, 121, 156, 128, 85, 14, 168, 100, 135, 226, 20, 49, 106, 151, 27, 254, 18, 137, 224, 147, 252, 223, 245, 253, 15, 51, 156, 93, 42},
+{208, 39, 91, 45, 161, 238, 217, 148, 107, 1, 39, 141, 170, 180, 49, 206, 78, 204, 222, 84, 201, 124, 14, 221, 21, 170, 155, 29, 138, 12, 76, 151, 232, 46, 168, 62, 130, 127, 231, 247, 49, 150, 100, 54, 22, 169, 148, 207, 215, 193, 11, 1, 177, 130, 158, 139, 202, 127, 251, 13, 190, 102, 242, 235, 198, 199, 42, 50, 206, 49, 8, 74, 160, 82, 55, 8, 56, 82, 203, 67, 209, 38, 165, 185, 123, 129, 242, 211, 144, 221, 28, 120, 92, 78, 44, 26, 153, 210, 243, 48, 39, 90, 12, 3, 181, 180, 115, 12, 58, 213, 17, 218, 160, 64, 188, 226, 232, 70, 162, 175, 244, 63, 236, 29, 47, 48, 144, 158},
+{92, 180, 229, 50, 52, 27, 218, 175, 137, 142, 166, 13, 40, 141, 3, 173, 114, 243, 27, 100, 201, 88, 144, 248, 221, 107, 249, 20, 177, 104, 215, 99, 70, 228, 144, 195, 170, 75, 2, 5, 93, 191, 93, 20, 152, 113, 117, 20, 23, 246, 119, 170, 16, 95, 33, 71, 172, 50, 249, 220, 71, 146, 129, 21, 205, 111, 46, 178, 246, 237, 117, 255, 36, 20, 158, 178, 55, 185, 139, 142, 248, 96, 138, 11, 239, 251, 249, 130, 87, 214, 34, 245, 41, 83, 207, 184, 53, 55, 205, 172, 49, 13, 167, 105, 17, 119, 219, 192, 23, 129, 112, 66, 249, 137, 47, 23, 58, 109, 103, 26, 199, 201, 35, 73, 185, 202, 195, 33},
+{135, 245, 242, 142, 1, 80, 69, 43, 149, 247, 91, 193, 225, 43, 88, 114, 30, 50, 91, 242, 125, 242, 115, 1, 131, 245, 159, 220, 74, 116, 85, 165, 79, 186, 250, 182, 72, 201, 255, 178, 233, 37, 91, 116, 158, 150, 132, 103, 173, 193, 153, 153, 197, 255, 152, 181, 48, 233, 231, 231, 230, 158, 209, 189, 208, 193, 20, 64, 181, 226, 174, 146, 174, 208, 4, 108, 66, 194, 63, 52, 71, 121, 86, 214, 254, 225, 175, 109, 108, 102, 95, 10, 28, 216, 125, 13, 235, 40, 20, 61, 67, 184, 39, 150, 31, 124, 48, 46, 54, 217, 220, 248, 249, 68, 55, 21, 160, 152, 200, 231, 156, 206, 73, 53, 151, 184, 31, 34},
+{22, 202, 16, 120, 60, 132, 155, 112, 146, 62, 34, 30, 201, 94, 50, 146, 121, 194, 41, 214, 117, 49, 12, 205, 189, 250, 139, 185, 87, 250, 216, 254, 34, 3, 133, 106, 180, 107, 74, 188, 32, 192, 12, 22, 211, 225, 51, 93, 201, 171, 115, 82, 222, 45, 39, 88, 161, 159, 53, 23, 70, 246, 97, 220, 237, 8, 32, 139, 13, 192, 49, 87, 90, 208, 121, 144, 173, 86, 173, 225, 186, 229, 9, 185, 17, 155, 98, 224, 93, 117, 209, 118, 240, 125, 237, 157, 240, 8, 68, 34, 68, 22, 26, 243, 193, 76, 238, 49, 32, 76, 221, 167, 173, 4, 253, 199, 85, 80, 123, 4, 9, 57, 13, 154, 165, 183, 131, 169},
+{161, 167, 51, 195, 251, 155, 200, 239, 64, 183, 223, 160, 32, 27, 214, 11, 83, 44, 78, 203, 255, 46, 87, 141, 91, 178, 37, 185, 27, 54, 106, 177, 141, 217, 131, 56, 130, 169, 103, 64, 106, 227, 11, 101, 1, 86, 169, 133, 96, 145, 95, 103, 79, 129, 71, 172, 98, 184, 118, 204, 203, 241, 50, 41, 122, 220, 213, 78, 223, 247, 73, 19, 39, 47, 57, 136, 172, 183, 207, 154, 127, 33, 94, 209, 217, 160, 32, 170, 229, 202, 126, 52, 101, 157, 55, 183, 39, 167, 125, 83, 241, 13, 124, 168, 178, 203, 111, 50, 88, 136, 87, 216, 41, 244, 36, 128, 237, 100, 132, 5, 204, 188, 151, 212, 177, 225, 71, 10},
+{64, 96, 61, 5, 62, 54, 200, 148, 10, 126, 93, 13, 214, 19, 233, 156, 44, 42, 245, 11, 124, 241, 3, 9, 243, 197, 32, 156, 137, 132, 207, 176, 33, 133, 66, 234, 22, 173, 98, 30, 120, 224, 186, 132, 76, 0, 225, 190, 116, 254, 253, 244, 47, 51, 88, 202, 52, 108, 167, 175, 131, 141, 188, 143, 238, 104, 166, 67, 71, 114, 234, 101, 27, 208, 154, 223, 67, 38, 166, 212, 187, 187, 44, 27, 96, 118, 34, 197, 241, 250, 142, 245, 4, 189, 92, 191, 114, 116, 191, 142, 84, 249, 51, 193, 165, 179, 49, 136, 109, 141, 82, 249, 152, 42, 215, 26, 19, 87, 177, 196, 79, 213, 156, 77, 144, 89, 3, 62},
+{78, 60, 160, 40, 204, 238, 43, 106, 62, 27, 31, 106, 43, 69, 131, 5, 146, 178, 160, 41, 138, 61, 70, 39, 182, 149, 72, 211, 225, 213, 199, 196, 177, 207, 215, 44, 53, 69, 90, 54, 174, 249, 30, 142, 232, 76, 175, 131, 55, 50, 215, 36, 85, 173, 247, 126, 249, 162, 70, 115, 172, 179, 137, 126, 74, 120, 179, 184, 100, 123, 145, 78, 235, 152, 190, 88, 199, 186, 115, 9, 66, 57, 97, 69, 27, 15, 144, 182, 104, 44, 15, 180, 71, 28, 107, 205, 5, 201, 53, 137, 66, 100, 175, 211, 69, 254, 180, 143, 84, 154, 7, 132, 169, 227, 121, 86, 218, 26, 154, 223, 241, 22, 30, 105, 63, 236, 24, 248},
+{66, 143, 224, 79, 66, 254, 48, 90, 249, 56, 145, 236, 165, 5, 190, 177, 94, 242, 5, 45, 185, 27, 218, 215, 247, 100, 144, 103, 127, 217, 89, 46, 21, 60, 190, 41, 91, 242, 166, 178, 105, 70, 35, 238, 46, 7, 43, 162, 137, 72, 31, 245, 211, 40, 24, 44, 13, 230, 116, 64, 209, 248, 44, 159, 13, 197, 64, 203, 58, 193, 17, 145, 240, 149, 101, 143, 158, 103, 229, 247, 4, 92, 47, 242, 84, 141, 183, 190, 65, 218, 179, 67, 230, 79, 43, 86, 222, 100, 165, 160, 141, 62, 224, 73, 197, 45, 142, 15, 92, 11, 227, 237, 39, 52, 147, 243, 198, 138, 131, 160, 145, 87, 214, 71, 28, 19, 246, 127},
+{52, 83, 120, 179, 223, 248, 12, 81, 13, 237, 75, 34, 194, 92, 114, 210, 87, 255, 167, 55, 22, 30, 4, 115, 218, 130, 203, 196, 61, 0, 21, 151, 116, 70, 224, 196, 231, 117, 23, 64, 74, 202, 189, 251, 182, 15, 188, 224, 138, 176, 72, 161, 119, 28, 47, 75, 55, 131, 106, 148, 93, 210, 149, 36, 187, 164, 67, 15, 23, 209, 182, 21, 83, 9, 231, 157, 126, 255, 153, 180, 7, 39, 25, 14, 185, 181, 224, 233, 79, 116, 192, 98, 132, 242, 22, 12, 9, 168, 188, 154, 242, 100, 197, 253, 5, 222, 12, 11, 40, 116, 93, 228, 121, 14, 176, 46, 200, 182, 183, 165, 250, 67, 251, 217, 22, 75, 51, 178},
+{192, 176, 60, 123, 179, 153, 243, 99, 147, 153, 178, 164, 138, 163, 113, 148, 76, 171, 81, 241, 61, 184, 147, 111, 79, 238, 14, 239, 85, 78, 79, 9, 139, 176, 12, 33, 212, 164, 92, 49, 235, 105, 157, 132, 43, 254, 114, 174, 21, 142, 180, 5, 148, 78, 253, 0, 9, 97, 215, 154, 222, 140, 69, 23, 17, 57, 175, 7, 221, 2, 187, 205, 150, 174, 154, 191, 185, 7, 17, 188, 29, 242, 224, 69, 235, 54, 169, 40, 162, 165, 198, 230, 138, 70, 158, 118, 127, 164, 235, 255, 16, 177, 76, 137, 255, 144, 255, 75, 59, 19, 254, 190, 170, 225, 241, 129, 56, 229, 241, 83, 126, 90, 44, 104, 80, 132, 132, 195},
+{170, 156, 23, 24, 35, 62, 109, 186, 107, 170, 53, 184, 147, 40, 143, 232, 187, 124, 127, 44, 158, 209, 159, 77, 38, 234, 142, 20, 162, 217, 146, 8, 102, 14, 5, 48, 245, 201, 104, 161, 104, 125, 140, 237, 185, 169, 123, 212, 24, 147, 196, 243, 56, 136, 42, 208, 166, 120, 51, 12, 110, 224, 6, 214, 246, 213, 38, 190, 95, 117, 184, 159, 94, 175, 231, 15, 250, 111, 244, 154, 193, 34, 139, 105, 98, 117, 187, 239, 110, 212, 122, 112, 4, 137, 71, 1, 161, 58, 209, 221, 15, 101, 70, 99, 20, 89, 147, 81, 211, 36, 228, 124, 39, 136, 210, 69, 89, 205, 118, 122, 85, 67, 134, 90, 210, 9, 88, 247},
+{154, 37, 148, 120, 184, 136, 16, 255, 28, 173, 54, 250, 182, 129, 96, 131, 112, 24, 252, 115, 235, 251, 203, 12, 42, 189, 132, 1, 102, 199, 92, 46, 214, 108, 60, 219, 53, 218, 174, 72, 119, 60, 167, 127, 53, 180, 45, 24, 22, 106, 127, 69, 167, 72, 173, 93, 152, 200, 4, 218, 178, 165, 208, 33, 52, 94, 20, 17, 174, 20, 231, 164, 208, 38, 210, 61, 214, 35, 161, 78, 234, 111, 249, 214, 176, 212, 21, 151, 178, 186, 104, 35, 128, 78, 117, 217, 236, 193, 143, 143, 203, 99, 12, 130, 33, 53, 41, 1, 178, 253, 96, 154, 111, 210, 8, 208, 185, 9, 121, 14, 35, 209, 21, 118, 229, 16, 76, 84},
+{63, 67, 29, 27, 191, 231, 61, 214, 183, 238, 114, 128, 188, 89, 71, 7, 238, 82, 27, 247, 179, 27, 208, 196, 131, 61, 59, 43, 61, 186, 5, 189, 116, 89, 6, 196, 60, 5, 107, 124, 113, 130, 40, 18, 41, 51, 38, 216, 81, 211, 127, 122, 36, 13, 183, 3, 205, 43, 214, 227, 143, 237, 80, 179, 126, 241, 169, 155, 37, 58, 219, 244, 147, 82, 60, 204, 203, 180, 80, 188, 175, 32, 82, 138, 0, 204, 212, 92, 58, 204, 119, 130, 80, 168, 10, 62, 192, 203, 83, 105, 137, 201, 189, 229, 31, 14, 155, 83, 37, 34, 136, 172, 229, 177, 206, 201, 188, 130, 244, 64, 215, 43, 4, 253, 225, 55, 204, 19},
+{18, 246, 28, 197, 161, 106, 125, 243, 98, 74, 11, 63, 158, 251, 239, 207, 135, 145, 216, 180, 195, 66, 137, 172, 52, 234, 129, 61, 16, 43, 137, 68, 242, 172, 93, 166, 52, 219, 229, 216, 143, 92, 228, 129, 174, 227, 71, 220, 74, 228, 134, 222, 110, 2, 13, 235, 24, 74, 81, 25, 129, 70, 50, 7, 148, 155, 254, 226, 194, 249, 250, 237, 205, 228, 186, 92, 50, 240, 169, 106, 99, 82, 48, 228, 195, 106, 236, 92, 220, 4, 81, 77, 167, 183, 113, 140, 78, 124, 236, 136, 195, 76, 79, 242, 209, 100, 118, 83, 112, 125, 89, 16, 114, 238, 207, 106, 236, 221, 162, 9, 200, 164, 7, 67, 38, 120, 15, 214},
+{148, 187, 0, 37, 99, 236, 132, 197, 167, 116, 238, 74, 178, 6, 218, 148, 130, 206, 234, 57, 151, 228, 205, 226, 117, 125, 73, 140, 38, 239, 240, 75, 84, 155, 175, 112, 95, 169, 222, 85, 232, 197, 93, 93, 102, 48, 221, 92, 15, 191, 104, 60, 78, 86, 125, 45, 140, 157, 146, 164, 154, 53, 169, 173, 171, 69, 23, 133, 198, 59, 180, 204, 29, 47, 212, 49, 184, 110, 115, 112, 6, 223, 13, 83, 75, 231, 201, 201, 85, 32, 30, 138, 10, 203, 140, 255, 75, 186, 202, 211, 14, 50, 220, 7, 68, 60, 166, 57, 196, 158, 230, 253, 165, 11, 188, 76, 243, 150, 90, 43, 124, 89, 77, 44, 254, 47, 230, 148},
+{55, 67, 61, 229, 21, 124, 41, 226, 242, 201, 238, 240, 182, 126, 146, 234, 177, 115, 23, 45, 23, 219, 149, 109, 43, 220, 245, 220, 177, 155, 59, 214, 207, 73, 70, 213, 116, 23, 166, 118, 50, 207, 16, 105, 177, 139, 27, 130, 71, 196, 45, 233, 145, 97, 146, 105, 202, 94, 52, 137, 74, 235, 43, 192, 91, 138, 131, 192, 232, 167, 231, 97, 139, 24, 211, 209, 63, 45, 106, 47, 138, 188, 86, 224, 182, 254, 198, 249, 248, 130, 233, 193, 149, 158, 101, 10, 204, 184, 210, 225, 2, 190, 124, 246, 240, 149, 39, 251, 166, 44, 142, 126, 195, 72, 14, 117, 37, 124, 98, 216, 73, 233, 51, 179, 97, 172, 105, 140},
+{171, 5, 55, 8, 46, 77, 15, 21, 100, 150, 52, 189, 82, 88, 96, 139, 105, 217, 38, 87, 123, 237, 2, 177, 148, 56, 171, 116, 204, 151, 40, 249, 108, 119, 37, 46, 19, 240, 234, 36, 31, 38, 140, 194, 43, 113, 123, 33, 103, 33, 199, 124, 67, 17, 70, 88, 207, 149, 148, 132, 2, 169, 46, 207, 77, 237, 170, 8, 80, 137, 206, 236, 33, 3, 135, 187, 244, 232, 216, 32, 175, 22, 214, 247, 119, 15, 108, 86, 251, 73, 153, 13, 75, 149, 17, 6, 234, 174, 111, 140, 78, 207, 203, 120, 44, 142, 242, 32, 139, 205, 167, 164, 229, 96, 55, 121, 246, 140, 252, 152, 121, 142, 118, 70, 7, 97, 4, 156},
+{197, 25, 235, 199, 168, 167, 61, 186, 118, 103, 50, 93, 151, 115, 82, 72, 7, 66, 159, 131, 4, 154, 7, 60, 34, 111, 219, 135, 91, 139, 211, 170, 100, 21, 249, 14, 23, 98, 96, 132, 147, 122, 154, 80, 134, 135, 86, 143, 13, 55, 109, 120, 179, 59, 110, 192, 45, 58, 147, 225, 84, 80, 156, 31, 133, 114, 134, 9, 18, 150, 150, 208, 199, 184, 50, 86, 103, 15, 68, 218, 36, 42, 219, 30, 81, 146, 101, 103, 165, 146, 227, 209, 29, 135, 68, 229, 182, 231, 168, 25, 61, 129, 160, 50, 176, 98, 185, 113, 27, 140, 197, 244, 148, 178, 71, 67, 216, 13, 210, 43, 101, 60, 163, 167, 84, 2, 2, 148},
+{94, 147, 25, 176, 163, 24, 71, 24, 178, 40, 202, 163, 202, 82, 59, 171, 172, 31, 52, 55, 20, 48, 224, 83, 155, 62, 64, 97, 106, 210, 125, 212, 213, 181, 60, 73, 139, 60, 4, 127, 139, 13, 42, 46, 101, 133, 243, 156, 29, 25, 139, 103, 168, 225, 133, 54, 139, 185, 41, 82, 203, 136, 28, 132, 81, 205, 32, 247, 12, 37, 24, 179, 153, 143, 143, 185, 168, 148, 73, 140, 174, 211, 171, 160, 29, 117, 26, 99, 93, 4, 175, 9, 91, 171, 164, 7, 133, 131, 39, 245, 247, 117, 1, 140, 114, 171, 96, 180, 198, 247, 162, 150, 212, 210, 215, 30, 201, 187, 167, 96, 30, 33, 51, 66, 140, 63, 18, 195},
+{41, 107, 178, 81, 214, 6, 138, 186, 229, 19, 205, 110, 186, 121, 226, 200, 234, 127, 140, 17, 87, 40, 252, 57, 232, 106, 231, 82, 29, 148, 210, 116, 241, 140, 136, 114, 134, 183, 231, 84, 157, 75, 220, 144, 43, 219, 181, 236, 82, 182, 217, 12, 201, 14, 92, 236, 221, 6, 221, 250, 198, 138, 171, 73, 114, 105, 189, 236, 36, 85, 116, 181, 160, 214, 53, 182, 255, 128, 93, 241, 22, 177, 16, 225, 226, 248, 52, 19, 22, 109, 102, 88, 96, 131, 175, 108, 57, 133, 24, 204, 255, 91, 61, 2, 84, 14, 159, 110, 113, 73, 192, 1, 73, 142, 135, 13, 58, 173, 231, 242, 3, 127, 0, 38, 33, 121, 219, 248},
+{14, 146, 75, 174, 115, 227, 12, 188, 150, 227, 25, 177, 117, 21, 205, 151, 117, 142, 95, 193, 176, 140, 23, 184, 94, 166, 85, 126, 164, 10, 33, 45, 157, 130, 35, 58, 31, 195, 149, 224, 205, 167, 171, 56, 244, 220, 45, 115, 78, 139, 86, 78, 179, 163, 116, 217, 75, 105, 67, 113, 67, 111, 7, 43, 171, 130, 175, 218, 231, 102, 235, 107, 217, 132, 166, 180, 118, 115, 11, 180, 114, 53, 92, 196, 88, 90, 39, 91, 185, 67, 85, 140, 131, 13, 251, 23, 251, 160, 233, 140, 152, 147, 16, 145, 185, 147, 68, 254, 4, 6, 7, 77, 126, 144, 23, 11, 175, 8, 216, 133, 228, 81, 186, 203, 81, 113, 29, 95},
+{116, 6, 82, 1, 123, 62, 80, 177, 100, 126, 100, 123, 251, 173, 86, 207, 12, 67, 158, 222, 220, 96, 195, 241, 31, 55, 81, 56, 225, 127, 202, 68, 14, 233, 27, 220, 141, 75, 247, 60, 64, 213, 67, 167, 193, 103, 252, 21, 122, 56, 134, 34, 74, 150, 111, 125, 196, 167, 18, 36, 191, 121, 11, 215, 49, 73, 32, 235, 107, 68, 137, 112, 134, 246, 248, 239, 83, 44, 9, 212, 221, 220, 34, 21, 46, 36, 249, 51, 242, 56, 21, 80, 100, 175, 220, 209, 6, 26, 130, 112, 144, 126, 56, 179, 128, 92, 247, 177, 105, 85, 197, 163, 156, 15, 145, 98, 79, 76, 130, 246, 6, 148, 40, 68, 112, 123, 145, 57},
+{151, 16, 22, 48, 213, 182, 96, 163, 72, 181, 14, 222, 194, 194, 12, 126, 59, 104, 120, 219, 153, 212, 97, 140, 121, 93, 232, 114, 116, 91, 83, 232, 39, 225, 6, 228, 130, 154, 22, 22, 147, 132, 135, 10, 217, 186, 211, 94, 141, 146, 78, 5, 103, 159, 29, 150, 47, 122, 239, 191, 135, 109, 52, 243, 248, 253, 153, 97, 27, 64, 19, 23, 12, 108, 182, 89, 252, 124, 92, 209, 249, 87, 209, 226, 175, 232, 50, 89, 100, 212, 125, 17, 85, 177, 47, 122, 204, 85, 25, 56, 93, 110, 222, 156, 15, 162, 49, 189, 253, 141, 45, 184, 136, 8, 59, 146, 153, 224, 12, 33, 5, 216, 243, 222, 117, 97, 101, 55},
+{190, 168, 245, 175, 68, 164, 63, 193, 164, 6, 223, 136, 38, 150, 199, 86, 106, 12, 51, 218, 33, 83, 3, 237, 74, 58, 183, 16, 197, 199, 187, 197, 219, 109, 172, 228, 10, 193, 146, 74, 8, 113, 171, 221, 156, 79, 98, 150, 154, 24, 248, 10, 162, 211, 194, 74, 55, 128, 212, 37, 78, 6, 164, 170, 184, 233, 83, 187, 23, 47, 251, 193, 143, 170, 14, 240, 241, 46, 158, 124, 242, 117, 170, 176, 157, 58, 242, 185, 70, 76, 153, 16, 226, 163, 117, 128, 66, 192, 197, 204, 59, 124, 167, 14, 81, 212, 86, 147, 99, 80, 56, 243, 14, 159, 66, 31, 128, 84, 120, 213, 208, 166, 244, 99, 145, 20, 252, 227},
+{101, 1, 170, 222, 46, 237, 87, 85, 138, 55, 89, 132, 24, 16, 104, 88, 11, 203, 181, 238, 233, 222, 236, 219, 220, 70, 226, 45, 187, 233, 66, 92, 99, 127, 36, 7, 228, 96, 97, 9, 108, 186, 164, 215, 160, 160, 130, 48, 202, 21, 225, 180, 183, 58, 56, 114, 235, 45, 61, 232, 150, 231, 147, 78, 119, 120, 22, 218, 146, 248, 83, 11, 18, 41, 180, 211, 117, 155, 80, 177, 177, 67, 121, 98, 60, 158, 190, 131, 72, 8, 136, 42, 38, 251, 85, 27, 221, 30, 235, 157, 69, 242, 209, 181, 83, 195, 63, 239, 186, 77, 48, 82, 148, 100, 101, 122, 219, 160, 162, 177, 101, 56, 183, 128, 56, 224, 86, 91},
+{160, 148, 161, 235, 69, 81, 125, 174, 179, 104, 52, 147, 115, 113, 174, 123, 164, 35, 226, 123, 124, 151, 90, 181, 104, 40, 49, 33, 221, 136, 232, 101, 128, 102, 35, 196, 196, 221, 61, 67, 18, 196, 80, 219, 154, 47, 168, 27, 72, 228, 201, 165, 255, 251, 132, 244, 165, 46, 196, 16, 191, 101, 82, 95, 113, 98, 90, 2, 27, 131, 248, 46, 53, 114, 31, 249, 86, 136, 149, 216, 220, 239, 244, 212, 238, 199, 23, 110, 168, 168, 111, 128, 179, 138, 148, 201, 32, 219, 79, 146, 67, 138, 115, 45, 133, 10, 52, 246, 87, 100, 73, 251, 102, 16, 88, 139, 179, 135, 123, 228, 82, 238, 167, 182, 60, 3, 81, 135},
+{5, 106, 12, 214, 180, 7, 86, 2, 35, 106, 222, 228, 63, 126, 91, 11, 113, 55, 180, 47, 38, 16, 13, 6, 53, 160, 235, 134, 133, 175, 190, 230, 25, 12, 192, 61, 10, 219, 250, 143, 217, 42, 237, 69, 107, 130, 162, 231, 209, 140, 229, 142, 208, 250, 147, 2, 104, 148, 99, 25, 92, 213, 155, 190, 35, 16, 95, 198, 65, 38, 61, 80, 85, 140, 176, 153, 7, 35, 103, 18, 254, 224, 77, 107, 236, 248, 167, 21, 149, 109, 82, 187, 109, 224, 103, 250, 101, 133, 10, 184, 211, 41, 216, 133, 16, 244, 157, 64, 175, 123, 118, 125, 188, 207, 245, 132, 189, 232, 100, 54, 50, 72, 24, 137, 160, 179, 142, 62},
+{62, 93, 151, 43, 69, 121, 119, 247, 231, 198, 13, 163, 226, 102, 131, 28, 127, 138, 205, 56, 91, 65, 8, 132, 171, 169, 119, 243, 243, 4, 234, 218, 84, 183, 1, 180, 217, 131, 42, 251, 54, 86, 196, 225, 236, 125, 29, 18, 139, 142, 72, 238, 215, 215, 167, 54, 18, 168, 239, 203, 17, 228, 9, 8, 108, 61, 202, 24, 242, 16, 181, 176, 83, 24, 162, 113, 211, 55, 234, 54, 89, 128, 152, 1, 212, 240, 161, 215, 140, 166, 14, 254, 116, 215, 196, 32, 171, 63, 36, 148, 72, 181, 73, 163, 13, 119, 120, 218, 169, 198, 180, 92, 57, 34, 99, 67, 81, 132, 224, 200, 7, 52, 234, 49, 51, 70, 255, 138},
+{179, 139, 38, 197, 71, 31, 195, 82, 37, 187, 45, 175, 124, 139, 177, 169, 39, 137, 202, 86, 162, 215, 82, 5, 158, 145, 117, 62, 44, 239, 252, 103, 99, 100, 116, 111, 182, 207, 61, 247, 83, 37, 229, 179, 255, 186, 172, 196, 48, 106, 164, 91, 109, 98, 22, 137, 46, 12, 81, 78, 231, 52, 186, 254, 9, 165, 64, 179, 99, 89, 154, 201, 78, 63, 110, 205, 207, 233, 208, 237, 42, 195, 17, 154, 101, 252, 235, 178, 85, 101, 32, 36, 169, 165, 241, 138, 64, 71, 66, 234, 16, 115, 132, 185, 177, 34, 77, 72, 218, 176, 107, 8, 138, 75, 83, 89, 80, 202, 163, 230, 177, 254, 138, 254, 57, 214, 228, 231},
+{12, 67, 173, 239, 124, 127, 57, 222, 91, 46, 74, 194, 138, 101, 98, 8, 65, 109, 131, 23, 232, 53, 189, 176, 244, 70, 69, 233, 171, 167, 13, 63, 11, 19, 69, 42, 182, 232, 117, 66, 28, 165, 0, 102, 164, 162, 253, 222, 146, 239, 202, 189, 123, 111, 94, 100, 124, 126, 235, 239, 231, 121, 186, 125, 90, 2, 67, 216, 59, 243, 176, 213, 255, 173, 79, 56, 28, 122, 63, 103, 21, 193, 209, 24, 3, 208, 43, 95, 249, 229, 110, 27, 157, 158, 77, 113, 192, 156, 15, 30, 166, 47, 200, 167, 90, 87, 116, 212, 174, 53, 231, 95, 120, 72, 184, 107, 88, 172, 213, 133, 101, 63, 50, 110, 153, 249, 133, 25},
+{136, 34, 235, 32, 84, 164, 149, 4, 50, 122, 66, 6, 121, 212, 30, 6, 199, 149, 130, 185, 170, 162, 217, 242, 18, 46, 76, 177, 170, 136, 202, 187, 179, 95, 188, 203, 37, 144, 188, 45, 14, 245, 254, 181, 26, 173, 137, 121, 44, 113, 130, 125, 248, 98, 57, 187, 38, 61, 111, 65, 208, 119, 23, 224, 41, 143, 85, 55, 35, 253, 75, 182, 114, 55, 199, 51, 245, 219, 173, 180, 74, 217, 124, 233, 205, 119, 37, 68, 238, 246, 190, 105, 66, 148, 4, 140, 57, 240, 226, 121, 176, 155, 41, 5, 116, 83, 170, 241, 113, 139, 176, 133, 226, 69, 183, 107, 109, 36, 52, 214, 20, 26, 154, 62, 184, 113, 64, 67},
+{96, 220, 182, 84, 18, 144, 194, 2, 165, 240, 136, 243, 239, 53, 160, 84, 101, 183, 69, 59, 124, 182, 37, 209, 167, 206, 128, 65, 99, 18, 249, 254, 150, 204, 15, 37, 180, 44, 255, 248, 185, 74, 165, 18, 119, 6, 154, 201, 174, 179, 41, 194, 167, 65, 161, 8, 155, 219, 179, 7, 163, 114, 124, 252, 4, 215, 56, 51, 239, 48, 64, 19, 159, 28, 215, 248, 73, 35, 117, 94, 149, 230, 33, 197, 63, 135, 94, 103, 215, 79, 78, 36, 11, 14, 137, 79, 179, 107, 253, 139, 191, 139, 20, 34, 2, 229, 124, 253, 224, 67, 232, 68, 69, 158, 226, 81, 96, 243, 61, 56, 29, 205, 28, 151, 132, 206, 69, 112},
+{204, 21, 110, 68, 150, 136, 162, 151, 143, 71, 143, 160, 226, 236, 180, 7, 28, 110, 30, 87, 71, 182, 49, 220, 159, 104, 161, 65, 108, 181, 13, 239, 172, 161, 73, 167, 243, 147, 145, 51, 49, 28, 177, 0, 18, 21, 127, 88, 166, 86, 194, 243, 158, 55, 38, 151, 26, 184, 65, 47, 241, 59, 104, 103, 61, 40, 141, 134, 16, 248, 30, 111, 86, 199, 226, 66, 169, 88, 145, 19, 116, 142, 140, 206, 105, 22, 1, 25, 4, 221, 28, 19, 172, 164, 204, 134, 42, 175, 190, 103, 33, 19, 180, 29, 41, 191, 129, 74, 18, 52, 223, 96, 152, 45, 51, 141, 248, 106, 169, 168, 109, 130, 21, 197, 16, 84, 183, 0},
+{29, 178, 234, 45, 231, 117, 166, 138, 251, 163, 152, 88, 239, 120, 133, 78, 20, 255, 200, 249, 0, 14, 227, 40, 15, 126, 252, 227, 212, 224, 161, 174, 22, 238, 206, 163, 37, 205, 16, 182, 79, 128, 198, 185, 104, 86, 174, 42, 62, 23, 152, 87, 8, 26, 190, 214, 79, 100, 124, 73, 135, 236, 76, 62, 187, 125, 186, 8, 166, 20, 215, 34, 172, 51, 68, 224, 85, 32, 48, 161, 213, 217, 97, 245, 112, 207, 40, 35, 64, 209, 187, 240, 46, 15, 114, 37, 144, 125, 14, 24, 53, 171, 161, 109, 73, 245, 85, 35, 54, 152, 121, 193, 75, 210, 126, 122, 244, 229, 228, 110, 20, 190, 14, 7, 103, 36, 71, 27},
+{139, 172, 201, 112, 173, 16, 21, 41, 170, 38, 58, 23, 135, 15, 45, 33, 163, 30, 118, 23, 89, 113, 43, 241, 175, 72, 13, 213, 92, 37, 46, 19, 149, 46, 48, 174, 114, 222, 216, 105, 213, 152, 75, 220, 178, 199, 12, 214, 183, 196, 19, 208, 121, 61, 87, 228, 202, 93, 230, 8, 160, 219, 93, 103, 190, 169, 1, 235, 139, 174, 109, 186, 102, 70, 131, 64, 216, 184, 202, 148, 62, 184, 144, 78, 149, 1, 250, 57, 20, 161, 132, 50, 94, 190, 125, 134, 86, 82, 47, 94, 101, 122, 150, 35, 233, 135, 190, 63, 89, 231, 53, 191, 194, 179, 210, 92, 207, 116, 242, 62, 148, 241, 72, 108, 27, 130, 88, 66},
+{144, 20, 13, 151, 162, 205, 139, 36, 174, 219, 28, 62, 59, 88, 210, 52, 141, 51, 233, 186, 56, 106, 177, 17, 213, 152, 202, 179, 131, 23, 164, 106, 152, 36, 240, 90, 203, 51, 175, 29, 250, 73, 176, 64, 158, 39, 141, 153, 94, 93, 35, 157, 131, 85, 96, 206, 168, 6, 162, 251, 224, 225, 136, 159, 148, 119, 196, 86, 146, 101, 234, 243, 111, 167, 4, 35, 118, 228, 169, 143, 195, 129, 218, 254, 97, 224, 205, 229, 165, 182, 244, 248, 195, 215, 238, 49, 198, 44, 46, 5, 39, 254, 250, 227, 247, 142, 27, 202, 96, 239, 22, 123, 231, 16, 235, 199, 81, 169, 252, 14, 137, 255, 193, 174, 239, 193, 192, 243},
+{168, 246, 255, 91, 199, 53, 80, 199, 245, 23, 56, 142, 79, 86, 125, 151, 159, 104, 156, 48, 132, 180, 187, 244, 162, 34, 46, 80, 5, 131, 242, 134, 174, 226, 97, 154, 28, 248, 121, 183, 87, 48, 118, 239, 221, 74, 183, 87, 131, 78, 184, 14, 217, 31, 237, 133, 58, 124, 88, 250, 31, 200, 140, 127, 142, 82, 180, 243, 229, 81, 136, 11, 180, 211, 18, 57, 208, 147, 248, 223, 34, 46, 127, 233, 172, 95, 95, 171, 77, 31, 125, 143, 15, 253, 112, 126, 113, 72, 40, 177, 69, 139, 97, 124, 193, 56, 247, 240, 180, 189, 91, 128, 52, 121, 188, 115, 255, 60, 59, 251, 0, 156, 75, 186, 234, 45, 99, 145},
+{12, 218, 32, 118, 214, 215, 203, 179, 208, 123, 72, 9, 48, 123, 207, 205, 83, 65, 174, 98, 174, 75, 249, 122, 144, 175, 225, 252, 153, 80, 215, 141, 88, 124, 146, 83, 139, 148, 158, 121, 34, 205, 16, 231, 61, 42, 25, 72, 23, 115, 145, 118, 73, 131, 135, 191, 252, 134, 214, 112, 95, 164, 27, 107, 95, 92, 252, 194, 64, 89, 209, 28, 4, 232, 79, 7, 220, 54, 195, 96, 60, 205, 52, 66, 135, 170, 98, 64, 136, 24, 178, 34, 231, 223, 249, 39, 216, 20, 161, 77, 225, 12, 254, 120, 130, 90, 4, 153, 237, 195, 206, 69, 56, 182, 78, 167, 130, 87, 195, 29, 198, 66, 185, 71, 209, 92, 159, 230},
+{185, 145, 180, 49, 155, 168, 20, 75, 229, 57, 61, 243, 242, 159, 226, 221, 62, 173, 121, 104, 150, 191, 28, 203, 252, 121, 72, 162, 97, 190, 251, 113, 239, 88, 39, 178, 251, 213, 204, 151, 72, 174, 40, 124, 166, 243, 70, 41, 8, 174, 95, 29, 144, 20, 176, 126, 192, 174, 33, 53, 64, 180, 65, 213, 4, 119, 172, 131, 144, 210, 225, 97, 202, 108, 169, 175, 95, 234, 206, 85, 97, 58, 22, 186, 118, 20, 133, 140, 84, 144, 231, 185, 6, 60, 58, 243, 214, 203, 128, 20, 153, 72, 8, 127, 36, 193, 175, 67, 213, 192, 69, 161, 19, 182, 2, 202, 169, 60, 32, 74, 85, 96, 75, 172, 99, 109, 12, 210},
+{160, 11, 131, 234, 229, 0, 16, 182, 217, 11, 87, 178, 153, 252, 174, 56, 140, 16, 54, 165, 104, 255, 72, 39, 132, 44, 128, 145, 183, 36, 78, 106, 171, 126, 7, 98, 196, 80, 178, 165, 203, 220, 132, 182, 39, 174, 47, 204, 253, 214, 251, 189, 150, 237, 153, 76, 76, 5, 76, 140, 127, 186, 144, 49, 17, 54, 227, 98, 122, 84, 184, 27, 130, 139, 201, 4, 121, 233, 86, 7, 158, 64, 46, 209, 138, 203, 60, 211, 249, 197, 28, 75, 44, 195, 190, 151, 175, 241, 4, 153, 203, 60, 91, 110, 243, 79, 75, 239, 168, 23, 171, 138, 101, 75, 254, 136, 215, 146, 55, 108, 5, 183, 17, 229, 209, 129, 55, 142},
+{160, 250, 119, 127, 176, 84, 146, 94, 231, 120, 84, 215, 52, 64, 213, 111, 84, 198, 74, 111, 74, 106, 195, 195, 251, 30, 148, 49, 53, 135, 31, 224, 130, 201, 166, 213, 76, 37, 6, 126, 160, 31, 158, 10, 215, 14, 58, 119, 250, 126, 166, 64, 165, 225, 195, 44, 128, 148, 55, 35, 6, 161, 246, 67, 199, 149, 144, 18, 55, 63, 228, 127, 9, 164, 197, 75, 17, 136, 226, 122, 165, 225, 34, 155, 80, 179, 79, 109, 36, 57, 215, 156, 26, 106, 241, 173, 46, 127, 14, 192, 172, 31, 133, 60, 78, 210, 188, 255, 179, 133, 218, 179, 19, 137, 124, 92, 207, 82, 20, 107, 76, 124, 191, 191, 115, 255, 156, 174},
+{42, 129, 254, 72, 5, 122, 189, 199, 67, 115, 84, 78, 253, 179, 44, 146, 8, 51, 38, 58, 50, 108, 80, 170, 233, 188, 102, 100, 179, 66, 62, 165, 151, 98, 109, 171, 148, 68, 206, 46, 198, 148, 168, 149, 255, 6, 39, 220, 142, 120, 242, 155, 9, 44, 58, 24, 0, 66, 22, 195, 161, 54, 49, 217, 177, 65, 123, 1, 113, 254, 231, 212, 192, 121, 57, 160, 120, 213, 33, 73, 164, 155, 65, 15, 138, 252, 114, 50, 140, 98, 68, 72, 156, 222, 148, 12, 61, 163, 51, 11, 223, 4, 193, 197, 178, 238, 77, 184, 10, 64, 51, 223, 168, 96, 169, 195, 171, 172, 225, 236, 215, 107, 240, 209, 162, 120, 137, 162},
+{164, 139, 67, 107, 168, 9, 118, 5, 141, 165, 233, 85, 235, 249, 196, 91, 248, 234, 54, 50, 81, 194, 96, 60, 91, 223, 137, 95, 59, 182, 199, 66, 116, 166, 20, 209, 207, 165, 192, 56, 146, 48, 127, 67, 152, 117, 246, 25, 246, 172, 167, 11, 200, 99, 76, 27, 18, 73, 248, 104, 49, 232, 8, 137, 74, 112, 79, 144, 161, 114, 136, 157, 136, 69, 151, 15, 158, 103, 254, 239, 219, 13, 104, 182, 204, 84, 226, 114, 181, 83, 79, 205, 67, 112, 149, 68, 31, 109, 214, 61, 25, 251, 224, 210, 12, 59, 32, 170, 210, 12, 164, 46, 56, 24, 235, 221, 107, 135, 156, 239, 112, 104, 20, 52, 4, 166, 236, 39},
+{90, 33, 244, 252, 198, 77, 73, 212, 94, 77, 169, 130, 59, 103, 28, 184, 27, 12, 3, 43, 107, 228, 117, 216, 70, 104, 83, 64, 213, 109, 59, 1, 40, 58, 232, 157, 28, 170, 96, 223, 158, 46, 113, 181, 67, 194, 69, 34, 12, 145, 89, 252, 136, 40, 160, 75, 10, 60, 178, 137, 166, 176, 113, 77, 136, 8, 79, 119, 104, 52, 65, 100, 160, 82, 221, 64, 189, 168, 168, 60, 115, 6, 9, 153, 87, 132, 150, 23, 74, 213, 90, 255, 45, 196, 182, 114, 81, 172, 235, 52, 83, 96, 206, 106, 159, 137, 232, 147, 247, 43, 39, 10, 46, 6, 67, 250, 169, 100, 46, 54, 120, 106, 232, 72, 147, 184, 179, 222},
+{42, 170, 75, 8, 215, 251, 134, 123, 103, 200, 85, 28, 148, 56, 57, 14, 12, 107, 11, 92, 62, 164, 170, 125, 164, 66, 189, 42, 107, 194, 111, 235, 137, 82, 10, 27, 168, 185, 93, 216, 215, 235, 111, 179, 109, 16, 187, 106, 116, 250, 62, 131, 81, 67, 48, 52, 197, 75, 91, 251, 232, 24, 155, 80, 81, 255, 71, 164, 67, 110, 15, 80, 127, 176, 140, 87, 226, 222, 5, 157, 213, 197, 82, 88, 26, 234, 61, 120, 126, 71, 223, 153, 135, 9, 140, 127, 68, 221, 3, 189, 189, 202, 199, 19, 189, 204, 125, 66, 77, 119, 187, 129, 155, 43, 67, 24, 234, 239, 111, 238, 213, 120, 98, 67, 70, 216, 172, 46},
+{172, 75, 195, 9, 220, 88, 124, 57, 217, 207, 237, 57, 113, 124, 108, 111, 118, 171, 193, 215, 232, 33, 61, 208, 244, 42, 255, 128, 223, 193, 193, 133, 18, 100, 41, 1, 124, 70, 177, 252, 207, 176, 210, 37, 52, 147, 88, 63, 51, 216, 129, 237, 14, 46, 112, 115, 89, 136, 245, 180, 57, 181, 110, 85, 188, 227, 20, 168, 60, 123, 189, 20, 182, 157, 64, 194, 67, 89, 179, 177, 109, 94, 41, 121, 116, 30, 67, 185, 90, 177, 37, 34, 144, 94, 184, 181, 13, 137, 7, 183, 118, 80, 252, 137, 208, 231, 250, 50, 33, 250, 185, 54, 242, 239, 22, 91, 210, 227, 214, 42, 207, 220, 146, 233, 53, 210, 188, 137},
+{176, 84, 27, 27, 152, 186, 140, 31, 79, 183, 115, 139, 83, 240, 165, 124, 29, 158, 43, 113, 206, 113, 24, 41, 126, 89, 8, 230, 39, 181, 105, 177, 231, 215, 173, 123, 19, 213, 252, 195, 97, 4, 44, 56, 218, 2, 165, 4, 222, 35, 165, 180, 39, 99, 119, 240, 55, 54, 182, 74, 15, 184, 92, 210, 130, 137, 52, 248, 160, 71, 15, 184, 230, 170, 119, 210, 150, 116, 20, 121, 21, 177, 186, 189, 66, 144, 217, 163, 16, 44, 249, 75, 24, 248, 206, 128, 112, 129, 112, 26, 210, 10, 152, 223, 73, 212, 127, 62, 101, 249, 13, 166, 129, 52, 138, 186, 210, 217, 134, 253, 34, 186, 219, 79, 196, 143, 21, 63},
+{192, 39, 84, 88, 97, 147, 48, 255, 103, 135, 200, 167, 76, 123, 187, 197, 237, 240, 5, 98, 159, 219, 170, 56, 229, 11, 179, 4, 134, 70, 105, 148, 170, 208, 227, 74, 185, 138, 1, 103, 0, 242, 233, 57, 72, 132, 116, 247, 64, 192, 76, 205, 132, 139, 130, 135, 137, 21, 152, 71, 91, 11, 173, 128, 221, 97, 169, 87, 61, 156, 234, 3, 214, 117, 10, 1, 42, 22, 23, 156, 57, 12, 242, 232, 20, 59, 187, 161, 123, 103, 238, 204, 239, 113, 85, 57, 135, 222, 220, 136, 179, 137, 107, 70, 118, 217, 151, 8, 5, 89, 58, 129, 129, 155, 77, 142, 115, 247, 192, 251, 211, 40, 142, 164, 246, 50, 71, 25},
+{172, 250, 193, 95, 180, 195, 171, 95, 115, 107, 113, 26, 63, 229, 253, 115, 179, 203, 54, 4, 226, 58, 40, 193, 124, 110, 198, 110, 254, 114, 252, 136, 47, 155, 194, 75, 215, 133, 17, 44, 65, 88, 197, 176, 255, 138, 165, 212, 254, 216, 89, 186, 104, 160, 223, 171, 82, 236, 201, 195, 61, 165, 144, 253, 108, 58, 233, 170, 72, 203, 206, 186, 197, 255, 118, 119, 184, 235, 227, 19, 254, 140, 100, 203, 205, 149, 225, 152, 195, 60, 25, 17, 138, 161, 202, 38, 186, 186, 151, 52, 36, 239, 143, 161, 75, 189, 191, 100, 60, 174, 119, 58, 59, 128, 211, 162, 78, 47, 194, 60, 191, 244, 247, 232, 204, 62, 67, 22},
+{37, 218, 252, 44, 227, 82, 46, 161, 221, 180, 9, 245, 21, 241, 22, 232, 140, 222, 101, 166, 26, 230, 135, 100, 149, 103, 76, 86, 176, 103, 200, 113, 24, 249, 175, 237, 147, 214, 211, 4, 143, 248, 40, 106, 15, 8, 111, 14, 237, 219, 18, 133, 154, 112, 163, 171, 215, 156, 133, 168, 11, 146, 21, 88, 223, 129, 145, 98, 50, 144, 89, 54, 164, 120, 140, 10, 114, 208, 63, 120, 2, 58, 200, 158, 128, 39, 150, 7, 11, 143, 240, 6, 210, 13, 84, 186, 240, 87, 238, 39, 155, 75, 201, 211, 41, 243, 104, 124, 102, 244, 21, 138, 29, 228, 168, 36, 141, 17, 121, 193, 15, 66, 210, 136, 212, 18, 48, 179},
+{167, 184, 201, 247, 45, 165, 170, 75, 65, 22, 183, 246, 172, 243, 19, 62, 98, 63, 123, 3, 220, 181, 220, 41, 240, 18, 146, 47, 168, 116, 72, 119, 252, 111, 80, 202, 229, 166, 11, 174, 165, 111, 23, 250, 183, 8, 217, 84, 224, 23, 72, 83, 49, 205, 216, 96, 121, 249, 130, 96, 29, 78, 37, 182, 218, 172, 22, 70, 95, 37, 255, 178, 63, 194, 91, 64, 246, 217, 170, 157, 210, 40, 7, 15, 2, 233, 99, 60, 50, 50, 73, 28, 89, 187, 122, 171, 83, 236, 246, 53, 109, 30, 109, 90, 243, 214, 106, 130, 59, 99, 55, 217, 175, 232, 234, 91, 122, 237, 39, 11, 82, 214, 123, 168, 15, 111, 184, 84},
+{100, 223, 51, 202, 49, 74, 148, 121, 176, 115, 171, 178, 239, 190, 157, 114, 10, 216, 73, 222, 255, 136, 57, 116, 137, 103, 142, 75, 85, 239, 30, 54, 114, 125, 207, 36, 192, 125, 230, 96, 71, 196, 46, 108, 69, 178, 35, 211, 247, 13, 122, 73, 254, 98, 130, 233, 84, 119, 171, 28, 56, 66, 108, 122, 93, 71, 73, 71, 91, 113, 248, 18, 193, 198, 128, 101, 165, 141, 202, 198, 47, 165, 41, 233, 83, 62, 15, 127, 193, 40, 80, 100, 4, 246, 198, 115, 5, 79, 67, 187, 14, 25, 34, 184, 39, 212, 28, 15, 11, 126, 144, 87, 81, 250, 118, 154, 254, 205, 129, 59, 172, 168, 77, 64, 233, 192, 176, 139},
+{91, 248, 99, 230, 163, 73, 28, 253, 100, 97, 15, 109, 234, 68, 2, 70, 48, 236, 91, 113, 245, 84, 65, 72, 232, 209, 120, 21, 121, 85, 108, 46, 201, 6, 81, 178, 19, 92, 114, 15, 127, 179, 137, 149, 175, 195, 40, 161, 21, 79, 173, 145, 182, 66, 86, 39, 219, 162, 43, 106, 207, 145, 85, 202, 46, 84, 71, 226, 137, 148, 243, 12, 139, 72, 167, 199, 230, 72, 18, 178, 167, 196, 17, 229, 110, 178, 232, 91, 163, 250, 149, 78, 33, 16, 87, 184, 136, 42, 84, 86, 7, 223, 43, 64, 123, 218, 212, 72, 128, 32, 192, 217, 228, 170, 2, 215, 51, 205, 229, 155, 107, 71, 153, 168, 167, 32, 203, 29},
+{91, 119, 222, 205, 34, 129, 170, 25, 189, 96, 190, 15, 162, 207, 149, 249, 246, 105, 251, 135, 28, 27, 14, 232, 39, 41, 246, 210, 248, 111, 150, 198, 19, 108, 99, 222, 57, 132, 96, 221, 45, 8, 136, 153, 37, 249, 156, 20, 42, 189, 210, 214, 161, 172, 196, 190, 160, 199, 118, 54, 34, 91, 44, 122, 39, 187, 137, 250, 194, 234, 113, 205, 152, 152, 29, 101, 211, 235, 2, 50, 156, 220, 181, 48, 47, 67, 125, 179, 83, 37, 206, 12, 60, 39, 235, 39, 176, 82, 165, 60, 161, 131, 70, 157, 147, 5, 84, 15, 148, 71, 130, 43, 54, 62, 70, 250, 67, 241, 42, 73, 128, 171, 15, 234, 103, 37, 187, 248},
+{89, 46, 33, 4, 38, 54, 26, 102, 249, 236, 171, 0, 101, 55, 136, 157, 231, 240, 192, 49, 36, 99, 32, 108, 91, 98, 49, 110, 181, 105, 67, 247, 11, 112, 175, 167, 106, 203, 183, 75, 159, 12, 4, 234, 3, 6, 168, 159, 130, 254, 6, 165, 35, 184, 115, 184, 226, 9, 56, 164, 106, 61, 148, 45, 130, 118, 141, 18, 93, 166, 185, 210, 88, 248, 128, 164, 179, 114, 95, 231, 185, 91, 230, 19, 115, 24, 25, 220, 85, 187, 156, 92, 153, 66, 165, 118, 115, 112, 116, 185, 143, 33, 191, 215, 63, 67, 159, 56, 63, 158, 144, 90, 182, 119, 151, 73, 134, 158, 86, 232, 244, 49, 153, 14, 218, 175, 47, 211},
+{175, 31, 86, 250, 41, 217, 151, 190, 13, 64, 88, 46, 14, 14, 32, 178, 244, 80, 253, 226, 106, 139, 93, 101, 5, 168, 57, 219, 190, 169, 139, 195, 216, 96, 102, 61, 50, 188, 189, 110, 32, 161, 50, 150, 27, 89, 109, 230, 175, 228, 14, 222, 147, 132, 130, 239, 236, 137, 70, 164, 146, 175, 187, 23, 152, 82, 26, 123, 89, 32, 133, 77, 255, 6, 49, 162, 98, 115, 71, 253, 108, 90, 11, 236, 170, 142, 62, 18, 58, 130, 21, 180, 160, 98, 57, 133, 228, 114, 23, 192, 21, 196, 80, 217, 95, 38, 86, 18, 92, 169, 180, 60, 70, 10, 241, 20, 6, 59, 198, 47, 54, 151, 161, 186, 186, 31, 233, 117},
+{179, 45, 249, 19, 146, 235, 253, 196, 121, 96, 115, 125, 212, 53, 213, 0, 84, 19, 132, 187, 168, 194, 200, 74, 197, 144, 63, 99, 121, 52, 115, 46, 195, 187, 231, 123, 8, 49, 64, 111, 83, 127, 23, 116, 218, 213, 224, 37, 199, 210, 2, 29, 136, 99, 129, 215, 185, 171, 179, 63, 62, 154, 153, 218, 135, 225, 202, 108, 38, 66, 82, 93, 148, 202, 166, 27, 207, 193, 77, 197, 252, 231, 174, 162, 234, 255, 187, 88, 206, 60, 224, 198, 176, 52, 230, 89, 216, 193, 138, 221, 108, 119, 185, 42, 214, 125, 233, 115, 89, 94, 61, 194, 92, 5, 222, 228, 221, 177, 7, 2, 56, 84, 67, 93, 167, 48, 71, 216},
+{160, 116, 91, 69, 197, 73, 226, 250, 32, 255, 130, 168, 170, 74, 73, 168, 204, 161, 130, 87, 188, 204, 106, 226, 42, 33, 41, 224, 147, 234, 52, 124, 102, 122, 41, 11, 1, 166, 209, 108, 107, 113, 44, 97, 84, 26, 130, 198, 176, 252, 232, 31, 125, 219, 242, 146, 10, 208, 189, 43, 221, 119, 155, 169, 221, 209, 203, 187, 130, 210, 150, 91, 38, 3, 52, 53, 160, 147, 155, 14, 179, 177, 41, 122, 185, 216, 0, 169, 90, 193, 12, 29, 8, 156, 21, 97, 180, 115, 149, 241, 225, 149, 19, 159, 77, 198, 239, 39, 0, 53, 6, 38, 175, 156, 92, 134, 197, 236, 149, 42, 39, 5, 176, 110, 214, 39, 253, 236},
+{198, 175, 80, 7, 161, 45, 29, 86, 198, 148, 147, 101, 112, 185, 248, 231, 124, 245, 86, 169, 123, 117, 112, 136, 133, 75, 106, 78, 95, 224, 32, 69, 249, 14, 184, 192, 49, 152, 43, 80, 9, 99, 121, 3, 174, 82, 171, 92, 84, 109, 8, 56, 214, 49, 36, 181, 83, 155, 78, 47, 215, 38, 228, 69, 32, 36, 148, 49, 229, 206, 66, 121, 95, 238, 137, 19, 194, 217, 100, 108, 204, 10, 121, 1, 250, 169, 181, 33, 155, 0, 53, 63, 193, 10, 80, 188, 162, 215, 20, 118, 31, 245, 96, 74, 32, 175, 75, 102, 33, 229, 173, 224, 114, 190, 236, 111, 44, 27, 145, 204, 202, 47, 233, 108, 57, 59, 24, 220},
+{49, 100, 212, 90, 64, 112, 208, 232, 41, 55, 35, 193, 19, 164, 213, 205, 134, 240, 184, 206, 8, 175, 33, 61, 120, 90, 139, 145, 84, 166, 207, 60, 119, 176, 7, 235, 53, 190, 62, 243, 248, 66, 63, 104, 105, 184, 44, 144, 68, 215, 211, 75, 68, 201, 18, 63, 226, 131, 207, 144, 137, 148, 162, 106, 130, 118, 169, 58, 166, 121, 118, 143, 125, 0, 59, 18, 35, 182, 182, 82, 71, 150, 24, 159, 14, 167, 98, 241, 35, 75, 60, 183, 113, 223, 142, 133, 50, 252, 222, 121, 6, 79, 234, 252, 125, 72, 43, 233, 80, 165, 10, 199, 1, 186, 39, 178, 131, 59, 33, 203, 73, 211, 122, 230, 64, 41, 92, 4},
+{107, 178, 3, 246, 8, 1, 108, 125, 43, 68, 243, 151, 188, 90, 124, 134, 254, 222, 247, 101, 180, 44, 65, 75, 51, 33, 146, 214, 30, 132, 218, 36, 65, 54, 8, 63, 224, 49, 182, 3, 231, 61, 232, 2, 15, 222, 49, 61, 63, 13, 231, 210, 156, 255, 170, 246, 22, 140, 202, 63, 206, 233, 96, 237, 142, 128, 84, 216, 11, 163, 26, 104, 177, 94, 182, 215, 45, 58, 237, 172, 241, 220, 219, 148, 87, 230, 87, 100, 98, 129, 49, 80, 146, 225, 127, 20, 47, 254, 115, 242, 248, 9, 57, 255, 200, 102, 117, 19, 139, 144, 110, 1, 30, 154, 30, 250, 225, 237, 238, 50, 3, 125, 69, 164, 122, 45, 82, 107},
+{34, 8, 186, 138, 235, 35, 239, 104, 13, 214, 48, 137, 203, 242, 249, 246, 158, 28, 204, 230, 102, 62, 147, 49, 30, 185, 21, 180, 218, 50, 177, 62, 168, 158, 203, 28, 136, 207, 31, 154, 118, 203, 152, 54, 187, 15, 153, 181, 84, 103, 47, 245, 164, 224, 100, 82, 178, 242, 86, 116, 171, 235, 192, 123, 62, 135, 147, 152, 79, 166, 214, 221, 16, 75, 112, 12, 18, 216, 114, 9, 133, 195, 227, 96, 15, 122, 108, 232, 69, 13, 59, 71, 12, 225, 169, 250, 103, 102, 114, 105, 136, 190, 129, 51, 104, 194, 40, 44, 59, 45, 168, 229, 17, 184, 239, 229, 80, 164, 213, 22, 111, 76, 248, 156, 158, 63, 138, 7},
+{28, 228, 21, 194, 171, 123, 243, 96, 2, 161, 154, 89, 251, 76, 153, 81, 220, 134, 77, 102, 242, 55, 121, 193, 209, 83, 226, 129, 239, 9, 226, 181, 244, 231, 163, 49, 94, 132, 126, 46, 238, 154, 168, 202, 200, 210, 118, 249, 246, 201, 95, 116, 110, 48, 1, 92, 28, 36, 104, 174, 7, 93, 227, 234, 205, 174, 62, 23, 220, 90, 15, 174, 15, 117, 162, 86, 222, 94, 83, 30, 248, 174, 160, 206, 9, 150, 72, 207, 206, 139, 245, 137, 232, 157, 61, 98, 87, 113, 11, 196, 247, 136, 45, 248, 191, 65, 58, 158, 138, 204, 71, 209, 228, 109, 149, 248, 213, 50, 69, 184, 159, 203, 245, 143, 65, 111, 182, 205},
+{143, 7, 176, 192, 219, 193, 80, 240, 114, 228, 74, 70, 198, 34, 65, 126, 197, 105, 226, 175, 124, 49, 231, 201, 144, 71, 138, 121, 105, 125, 221, 145, 209, 11, 189, 65, 159, 238, 205, 225, 13, 230, 88, 75, 171, 95, 123, 175, 47, 158, 178, 194, 9, 2, 210, 161, 199, 24, 73, 25, 56, 93, 114, 216, 149, 105, 215, 197, 25, 224, 184, 15, 188, 141, 89, 186, 43, 209, 110, 21, 247, 83, 40, 143, 137, 132, 22, 214, 208, 156, 75, 170, 106, 140, 189, 69, 212, 216, 116, 156, 2, 244, 172, 127, 244, 54, 161, 208, 108, 46, 143, 215, 37, 84, 189, 130, 141, 131, 35, 118, 78, 233, 221, 58, 75, 38, 241, 234},
+{179, 195, 233, 45, 247, 166, 146, 131, 184, 24, 77, 115, 208, 119, 83, 184, 111, 203, 138, 197, 202, 92, 188, 46, 36, 11, 122, 219, 112, 143, 68, 248, 47, 205, 183, 161, 238, 189, 159, 223, 103, 160, 167, 10, 101, 109, 198, 81, 31, 73, 157, 173, 249, 27, 69, 48, 233, 8, 108, 29, 119, 216, 30, 238, 80, 14, 223, 90, 137, 152, 214, 155, 71, 136, 211, 126, 27, 139, 10, 73, 28, 38, 25, 33, 238, 29, 129, 192, 119, 148, 57, 213, 174, 165, 100, 101, 114, 112, 102, 129, 111, 209, 21, 223, 231, 95, 205, 37, 91, 18, 106, 195, 194, 150, 163, 86, 174, 71, 155, 146, 183, 93, 9, 33, 136, 191, 123, 144},
+{13, 10, 81, 204, 225, 77, 174, 207, 114, 243, 17, 218, 208, 63, 83, 226, 116, 20, 92, 149, 139, 192, 201, 140, 26, 227, 73, 34, 114, 140, 131, 93, 209, 74, 101, 249, 96, 202, 199, 93, 133, 228, 70, 153, 221, 134, 4, 20, 21, 232, 229, 224, 177, 4, 135, 75, 245, 193, 64, 94, 129, 165, 220, 145, 172, 192, 217, 136, 210, 27, 206, 231, 32, 173, 172, 92, 194, 123, 217, 119, 39, 121, 205, 1, 110, 11, 123, 208, 117, 235, 87, 92, 90, 214, 91, 188, 147, 83, 229, 70, 133, 174, 103, 162, 149, 102, 142, 53, 119, 125, 56, 63, 198, 54, 86, 91, 199, 109, 44, 113, 45, 211, 14, 209, 70, 51, 67, 43},
+{79, 111, 9, 177, 171, 85, 88, 107, 30, 62, 192, 136, 170, 187, 160, 117, 223, 167, 132, 179, 136, 128, 153, 158, 203, 29, 30, 33, 246, 75, 61, 75, 94, 229, 28, 194, 224, 130, 34, 197, 64, 223, 129, 40, 56, 140, 135, 98, 25, 43, 221, 177, 86, 65, 163, 174, 140, 64, 113, 195, 26, 54, 216, 227, 94, 57, 97, 27, 92, 44, 104, 57, 180, 134, 149, 30, 112, 141, 214, 133, 49, 181, 229, 72, 50, 16, 64, 41, 31, 23, 62, 75, 167, 86, 126, 184, 48, 153, 53, 40, 87, 49, 75, 58, 123, 52, 56, 44, 236, 255, 250, 163, 188, 47, 126, 239, 220, 137, 31, 80, 208, 77, 232, 134, 79, 125, 129, 139},
+{32, 108, 143, 51, 71, 254, 237, 143, 0, 15, 224, 78, 40, 202, 25, 95, 38, 220, 105, 242, 79, 72, 118, 235, 133, 203, 216, 144, 29, 18, 13, 3, 185, 252, 75, 141, 19, 72, 139, 240, 166, 216, 110, 70, 54, 12, 120, 182, 140, 244, 233, 148, 220, 209, 92, 85, 219, 247, 33, 171, 226, 104, 71, 199, 119, 140, 187, 55, 235, 210, 87, 194, 58, 224, 253, 16, 114, 94, 108, 249, 227, 101, 102, 238, 171, 248, 227, 171, 206, 164, 242, 87, 221, 120, 177, 15, 233, 101, 213, 71, 226, 33, 210, 191, 216, 168, 98, 50, 152, 18, 72, 14, 127, 132, 89, 89, 130, 85, 184, 130, 104, 220, 143, 249, 87, 137, 178, 54},
+{41, 93, 6, 188, 6, 109, 194, 168, 246, 86, 102, 50, 242, 100, 226, 254, 255, 219, 139, 149, 72, 243, 24, 173, 226, 254, 38, 30, 78, 90, 254, 2, 88, 35, 130, 50, 169, 84, 101, 207, 223, 177, 36, 169, 223, 120, 249, 20, 227, 4, 249, 119, 166, 226, 90, 16, 217, 104, 53, 143, 54, 92, 93, 62, 227, 165, 21, 148, 168, 120, 178, 44, 240, 56, 242, 215, 255, 245, 79, 225, 142, 7, 140, 214, 199, 69, 67, 210, 62, 127, 58, 30, 248, 78, 254, 168, 152, 104, 232, 242, 140, 18, 159, 209, 246, 2, 197, 135, 165, 75, 26, 110, 249, 188, 50, 162, 76, 106, 21, 137, 123, 104, 45, 48, 23, 160, 90, 175},
+{33, 247, 88, 221, 154, 49, 223, 105, 215, 124, 118, 236, 167, 64, 46, 33, 56, 54, 231, 77, 94, 245, 39, 2, 73, 188, 163, 5, 154, 139, 204, 225, 144, 67, 227, 123, 160, 141, 66, 185, 149, 9, 207, 172, 167, 111, 246, 13, 125, 136, 136, 66, 195, 174, 59, 70, 173, 138, 215, 145, 7, 231, 183, 184, 24, 198, 68, 49, 27, 86, 157, 162, 7, 55, 224, 217, 105, 251, 162, 72, 234, 58, 102, 225, 81, 191, 120, 48, 177, 7, 13, 237, 158, 247, 172, 41, 159, 163, 1, 12, 174, 199, 217, 249, 47, 216, 46, 75, 86, 13, 250, 166, 194, 77, 195, 48, 103, 89, 114, 34, 27, 196, 237, 80, 212, 181, 194, 30},
+{127, 13, 102, 44, 254, 222, 251, 112, 196, 108, 3, 113, 117, 175, 65, 161, 158, 124, 20, 122, 246, 53, 235, 36, 93, 77, 233, 30, 240, 99, 237, 70, 228, 214, 174, 234, 48, 71, 77, 94, 230, 53, 155, 52, 194, 63, 212, 179, 69, 233, 72, 107, 42, 47, 166, 136, 159, 39, 252, 184, 163, 147, 190, 1, 60, 174, 156, 155, 105, 110, 20, 149, 166, 207, 160, 67, 143, 165, 92, 191, 31, 186, 101, 182, 73, 100, 202, 245, 160, 151, 199, 103, 11, 130, 119, 170, 112, 137, 121, 80, 117, 99, 53, 202, 26, 49, 133, 66, 57, 7, 31, 72, 251, 169, 81, 53, 233, 128, 151, 42, 149, 148, 14, 220, 175, 106, 25, 17},
+{85, 18, 151, 64, 15, 22, 0, 132, 73, 144, 170, 23, 212, 197, 236, 29, 125, 240, 5, 87, 71, 180, 10, 3, 120, 245, 27, 149, 68, 139, 51, 195, 220, 205, 15, 121, 154, 186, 51, 120, 236, 111, 195, 57, 170, 246, 17, 192, 172, 222, 61, 173, 143, 0, 15, 152, 199, 207, 119, 126, 245, 91, 81, 59, 12, 35, 89, 150, 29, 239, 71, 196, 180, 167, 109, 5, 242, 173, 237, 88, 13, 118, 151, 217, 246, 101, 229, 163, 233, 150, 22, 241, 149, 199, 154, 19, 228, 115, 58, 55, 6, 175, 167, 179, 189, 191, 148, 170, 160, 126, 76, 65, 251, 255, 8, 150, 160, 232, 159, 242, 54, 188, 217, 183, 112, 15, 248, 165},
+{150, 44, 151, 222, 244, 31, 17, 130, 163, 22, 177, 31, 155, 16, 103, 228, 177, 3, 83, 177, 32, 81, 141, 55, 22, 103, 142, 194, 217, 225, 53, 171, 73, 246, 147, 138, 111, 22, 166, 144, 73, 153, 139, 49, 111, 143, 27, 86, 180, 32, 181, 207, 52, 199, 196, 147, 116, 248, 214, 132, 165, 92, 18, 11, 111, 31, 96, 14, 58, 38, 201, 126, 243, 210, 216, 150, 13, 56, 204, 104, 27, 142, 138, 140, 192, 136, 166, 165, 69, 1, 156, 231, 118, 124, 33, 96, 249, 71, 87, 13, 151, 183, 14, 126, 136, 23, 119, 141, 113, 153, 45, 219, 156, 249, 18, 181, 159, 153, 64, 37, 160, 109, 90, 10, 197, 47, 111, 133},
+{91, 128, 210, 46, 42, 154, 64, 182, 5, 94, 40, 237, 167, 185, 52, 237, 246, 69, 75, 224, 206, 132, 124, 0, 10, 197, 170, 170, 168, 182, 180, 233, 231, 2, 66, 207, 155, 196, 101, 97, 105, 206, 65, 221, 154, 238, 103, 104, 45, 188, 107, 155, 35, 78, 88, 9, 31, 133, 79, 104, 147, 79, 224, 140, 38, 28, 55, 121, 143, 211, 222, 44, 4, 2, 200, 182, 43, 251, 168, 166, 6, 78, 92, 115, 88, 159, 167, 89, 136, 199, 148, 23, 172, 253, 78, 70, 67, 0, 1, 124, 255, 181, 217, 252, 33, 7, 204, 85, 27, 66, 187, 214, 248, 160, 85, 218, 118, 136, 112, 110, 11, 226, 227, 153, 165, 35, 132, 195},
+{183, 86, 20, 137, 226, 52, 147, 130, 169, 170, 38, 80, 132, 172, 231, 2, 79, 182, 21, 9, 48, 254, 218, 141, 123, 204, 214, 89, 201, 63, 198, 100, 229, 250, 104, 247, 14, 146, 181, 112, 48, 248, 228, 82, 135, 19, 199, 23, 229, 96, 7, 48, 152, 80, 139, 174, 128, 151, 239, 180, 58, 162, 121, 95, 122, 65, 168, 38, 28, 101, 199, 107, 36, 211, 234, 210, 160, 139, 236, 241, 240, 70, 243, 202, 30, 88, 90, 135, 221, 1, 87, 221, 42, 173, 110, 27, 174, 30, 34, 76, 194, 15, 139, 98, 178, 176, 162, 34, 112, 12, 207, 152, 233, 62, 45, 135, 202, 143, 131, 197, 217, 27, 173, 24, 243, 233, 164, 91},
+{63, 194, 143, 137, 154, 34, 212, 10, 60, 99, 8, 237, 108, 149, 29, 211, 46, 71, 209, 174, 17, 58, 163, 250, 109, 30, 103, 89, 66, 66, 140, 10, 183, 214, 187, 247, 125, 221, 210, 59, 110, 171, 96, 62, 132, 191, 81, 95, 136, 111, 229, 6, 128, 233, 178, 148, 103, 7, 98, 120, 41, 206, 248, 26, 35, 160, 101, 25, 91, 72, 137, 211, 181, 25, 81, 210, 68, 115, 38, 221, 172, 47, 208, 204, 5, 162, 9, 117, 127, 12, 124, 220, 170, 178, 107, 135, 30, 131, 190, 176, 19, 52, 138, 227, 129, 207, 157, 131, 98, 199, 210, 102, 170, 153, 107, 193, 20, 116, 64, 254, 97, 35, 114, 96, 174, 66, 65, 137},
+{107, 127, 142, 162, 123, 74, 50, 12, 135, 160, 252, 53, 168, 117, 35, 223, 206, 6, 99, 205, 212, 122, 38, 80, 240, 188, 155, 123, 175, 61, 55, 178, 22, 32, 143, 162, 134, 118, 107, 80, 237, 138, 106, 87, 202, 205, 236, 19, 24, 33, 193, 77, 57, 166, 136, 46, 55, 66, 171, 3, 107, 94, 0, 49, 93, 60, 173, 136, 187, 163, 127, 220, 8, 252, 100, 194, 59, 192, 171, 134, 207, 124, 95, 200, 123, 43, 248, 83, 108, 254, 70, 167, 11, 68, 161, 210, 101, 214, 44, 217, 4, 129, 133, 52, 78, 235, 84, 130, 233, 93, 73, 28, 74, 132, 114, 168, 82, 222, 212, 23, 169, 57, 27, 42, 40, 72, 117, 233},
+{119, 233, 69, 122, 254, 221, 139, 82, 34, 71, 188, 64, 207, 57, 40, 70, 222, 91, 185, 125, 69, 176, 205, 41, 44, 223, 253, 234, 119, 13, 83, 123, 199, 15, 169, 105, 142, 222, 220, 70, 254, 9, 171, 63, 183, 57, 111, 41, 218, 113, 85, 103, 99, 181, 51, 87, 217, 145, 1, 235, 58, 134, 207, 121, 52, 66, 78, 98, 45, 125, 106, 84, 205, 89, 251, 17, 84, 92, 218, 220, 161, 96, 60, 183, 150, 232, 158, 117, 9, 22, 48, 225, 73, 249, 89, 202, 190, 172, 164, 57, 170, 120, 165, 49, 37, 75, 74, 202, 136, 157, 98, 97, 5, 96, 180, 45, 120, 222, 21, 255, 41, 32, 104, 45, 50, 178, 114, 2},
+{163, 61, 195, 200, 190, 10, 34, 119, 177, 114, 42, 253, 190, 43, 139, 26, 137, 76, 167, 108, 98, 100, 120, 99, 196, 86, 201, 42, 210, 225, 131, 75, 98, 183, 217, 160, 181, 186, 209, 214, 212, 225, 240, 222, 222, 53, 227, 210, 117, 140, 208, 155, 128, 92, 82, 193, 197, 108, 213, 20, 139, 101, 137, 5, 221, 208, 242, 45, 114, 58, 123, 72, 144, 219, 189, 196, 53, 110, 35, 90, 133, 196, 116, 100, 227, 154, 247, 167, 96, 192, 113, 134, 83, 130, 211, 157, 253, 239, 5, 181, 205, 168, 234, 223, 152, 100, 246, 56, 89, 152, 167, 123, 249, 206, 32, 139, 251, 157, 87, 146, 100, 2, 212, 90, 228, 9, 105, 53},
+{109, 3, 125, 137, 107, 244, 160, 178, 94, 32, 71, 213, 44, 104, 24, 89, 254, 143, 121, 112, 142, 52, 189, 218, 152, 150, 29, 157, 107, 194, 115, 92, 122, 91, 85, 22, 247, 233, 12, 186, 96, 225, 67, 86, 109, 229, 204, 191, 11, 111, 195, 107, 196, 163, 190, 141, 120, 251, 146, 11, 115, 134, 171, 193, 198, 250, 123, 58, 143, 27, 10, 51, 154, 111, 45, 22, 131, 36, 144, 130, 157, 146, 237, 167, 36, 7, 193, 42, 150, 79, 169, 0, 179, 176, 74, 21, 65, 210, 198, 152, 184, 169, 206, 144, 102, 81, 123, 213, 41, 134, 181, 111, 4, 217, 130, 60, 233, 228, 109, 173, 214, 180, 230, 13, 151, 11, 241, 246},
+{106, 227, 139, 78, 219, 249, 36, 251, 163, 53, 121, 42, 173, 8, 14, 206, 13, 25, 227, 203, 81, 30, 104, 223, 43, 1, 216, 207, 119, 231, 255, 19, 21, 147, 11, 226, 70, 234, 56, 128, 231, 233, 26, 6, 93, 246, 95, 191, 214, 153, 219, 245, 78, 67, 206, 228, 115, 213, 149, 97, 188, 188, 163, 106, 56, 63, 208, 111, 20, 160, 42, 160, 132, 227, 94, 42, 87, 82, 143, 10, 241, 54, 98, 234, 90, 143, 141, 227, 196, 10, 40, 104, 89, 254, 20, 167, 111, 86, 29, 247, 255, 124, 3, 144, 22, 79, 156, 42, 129, 201, 223, 78, 163, 106, 131, 252, 108, 145, 234, 206, 69, 118, 60, 66, 77, 20, 150, 23},
+{190, 255, 43, 50, 107, 141, 112, 223, 149, 163, 228, 107, 54, 7, 248, 137, 13, 230, 173, 215, 140, 169, 117, 19, 130, 34, 156, 18, 189, 89, 111, 184, 109, 62, 155, 127, 203, 156, 81, 17, 127, 203, 71, 22, 163, 221, 254, 147, 68, 244, 132, 17, 120, 17, 20, 171, 216, 12, 73, 44, 147, 203, 25, 82, 93, 160, 175, 20, 122, 52, 147, 163, 2, 139, 113, 189, 97, 235, 101, 136, 93, 46, 113, 23, 163, 35, 101, 214, 22, 152, 27, 176, 73, 93, 3, 42, 13, 107, 98, 136, 235, 239, 67, 237, 205, 254, 17, 220, 54, 137, 255, 253, 245, 217, 131, 213, 29, 146, 213, 73, 73, 114, 1, 219, 31, 167, 126, 2},
+{143, 138, 17, 112, 150, 220, 118, 129, 88, 64, 237, 206, 177, 230, 95, 178, 217, 157, 43, 202, 98, 225, 195, 237, 49, 226, 157, 58, 117, 102, 205, 123, 240, 164, 228, 36, 11, 103, 149, 140, 133, 240, 13, 142, 210, 201, 124, 48, 24, 215, 29, 18, 81, 247, 89, 187, 231, 5, 241, 54, 57, 143, 157, 60, 137, 60, 88, 155, 249, 234, 200, 28, 176, 224, 0, 10, 177, 125, 213, 161, 138, 212, 249, 127, 202, 213, 230, 252, 3, 235, 135, 69, 210, 71, 174, 224, 74, 19, 27, 23, 134, 247, 162, 26, 42, 167, 227, 251, 102, 233, 1, 230, 92, 114, 215, 216, 120, 69, 35, 160, 34, 172, 254, 203, 40, 39, 143, 227},
+{125, 84, 162, 152, 175, 54, 145, 124, 34, 78, 64, 113, 27, 173, 95, 35, 219, 185, 132, 211, 143, 99, 145, 238, 36, 159, 8, 210, 187, 123, 228, 78, 200, 46, 88, 233, 43, 44, 200, 227, 144, 24, 72, 2, 92, 192, 142, 37, 234, 104, 31, 236, 224, 31, 225, 30, 210, 196, 224, 242, 161, 154, 65, 237, 99, 233, 81, 194, 176, 9, 231, 34, 135, 63, 199, 167, 228, 179, 54, 25, 34, 0, 130, 71, 199, 10, 107, 102, 194, 162, 246, 145, 9, 87, 202, 166, 65, 118, 224, 14, 215, 218, 179, 189, 133, 112, 93, 185, 137, 31, 229, 90, 55, 7, 145, 38, 253, 51, 53, 158, 153, 187, 220, 118, 250, 150, 55, 145},
+{50, 43, 97, 211, 63, 2, 188, 162, 155, 26, 107, 203, 250, 145, 203, 135, 97, 39, 105, 88, 183, 241, 47, 219, 136, 187, 255, 178, 92, 43, 236, 136, 130, 59, 38, 235, 239, 14, 249, 206, 73, 49, 191, 1, 28, 34, 29, 225, 246, 182, 13, 137, 179, 126, 254, 254, 133, 90, 40, 53, 174, 117, 78, 32, 85, 147, 144, 14, 88, 180, 158, 171, 241, 80, 101, 209, 50, 148, 27, 158, 51, 12, 29, 75, 75, 230, 27, 205, 84, 36, 112, 252, 255, 255, 0, 1, 18, 165, 140, 199, 230, 0, 64, 114, 168, 159, 36, 14, 29, 205, 160, 221, 211, 241, 95, 230, 161, 221, 119, 6, 98, 85, 84, 252, 54, 170, 249, 249},
+{49, 198, 141, 181, 173, 88, 143, 131, 72, 199, 45, 186, 138, 168, 43, 42, 188, 56, 206, 223, 11, 155, 212, 66, 110, 169, 12, 34, 245, 180, 87, 91, 177, 227, 55, 76, 92, 155, 85, 189, 191, 235, 167, 117, 25, 85, 40, 12, 216, 179, 20, 180, 238, 230, 168, 182, 61, 225, 143, 150, 131, 233, 143, 65, 7, 85, 87, 245, 140, 103, 84, 58, 159, 91, 72, 179, 209, 12, 201, 80, 216, 234, 70, 104, 172, 108, 130, 211, 61, 11, 60, 221, 197, 116, 187, 213, 122, 16, 112, 11, 2, 135, 121, 179, 31, 147, 44, 79, 32, 189, 48, 227, 17, 227, 145, 85, 204, 223, 137, 124, 165, 251, 21, 48, 9, 3, 99, 135},
+{129, 100, 183, 7, 116, 107, 251, 55, 229, 30, 175, 76, 64, 126, 88, 195, 193, 178, 240, 205, 96, 175, 141, 134, 27, 173, 227, 214, 214, 189, 73, 218, 137, 118, 47, 62, 66, 71, 192, 174, 22, 70, 170, 174, 180, 136, 55, 73, 201, 36, 30, 84, 78, 46, 37, 182, 230, 248, 249, 195, 35, 203, 239, 142, 177, 46, 62, 102, 163, 135, 207, 34, 116, 240, 214, 3, 117, 179, 31, 222, 34, 123, 80, 22, 243, 8, 251, 103, 223, 148, 64, 229, 1, 12, 63, 134, 223, 55, 176, 11, 13, 136, 2, 22, 76, 62, 6, 126, 196, 67, 211, 146, 91, 102, 124, 195, 169, 134, 149, 212, 135, 215, 142, 105, 87, 114, 32, 226},
+{161, 215, 220, 162, 103, 26, 167, 153, 64, 150, 45, 172, 155, 217, 123, 169, 188, 87, 148, 107, 60, 61, 247, 247, 95, 98, 135, 128, 68, 158, 197, 15, 42, 14, 155, 114, 132, 44, 18, 18, 33, 242, 25, 205, 207, 45, 98, 107, 152, 130, 231, 4, 18, 149, 19, 117, 151, 165, 84, 73, 174, 13, 94, 213, 114, 197, 138, 182, 31, 44, 26, 89, 0, 226, 5, 202, 182, 219, 208, 243, 212, 0, 99, 209, 52, 0, 191, 1, 72, 53, 255, 60, 191, 50, 248, 7, 149, 114, 0, 208, 88, 207, 73, 77, 157, 141, 186, 253, 127, 220, 59, 251, 106, 21, 153, 28, 229, 90, 247, 142, 25, 185, 157, 236, 4, 128, 197, 211},
+{42, 10, 96, 80, 19, 3, 89, 53, 24, 35, 52, 58, 247, 206, 236, 100, 132, 206, 87, 242, 106, 244, 78, 63, 189, 115, 22, 67, 222, 175, 226, 128, 209, 216, 132, 252, 122, 106, 29, 38, 69, 186, 247, 153, 123, 77, 6, 97, 72, 180, 162, 2, 123, 4, 140, 65, 105, 90, 11, 33, 99, 138, 239, 111, 214, 200, 80, 39, 209, 145, 235, 153, 91, 6, 202, 7, 131, 69, 80, 180, 94, 196, 44, 173, 151, 165, 36, 144, 180, 123, 162, 87, 168, 202, 4, 98, 80, 194, 158, 177, 233, 91, 162, 56, 241, 165, 158, 250, 162, 191, 126, 24, 186, 216, 103, 122, 212, 162, 98, 129, 115, 178, 238, 57, 151, 207, 239, 250},
+{60, 127, 243, 81, 128, 71, 82, 167, 160, 118, 217, 132, 19, 28, 243, 210, 175, 232, 19, 167, 39, 36, 68, 107, 93, 251, 119, 162, 206, 139, 168, 154, 64, 189, 208, 117, 16, 75, 161, 156, 174, 169, 108, 249, 109, 64, 97, 122, 16, 187, 26, 17, 62, 74, 197, 9, 224, 190, 17, 46, 136, 115, 105, 245, 79, 132, 127, 67, 201, 38, 199, 143, 121, 111, 44, 108, 156, 86, 156, 241, 4, 227, 211, 176, 214, 185, 44, 165, 116, 140, 96, 109, 168, 37, 119, 123, 129, 143, 85, 248, 70, 13, 243, 149, 182, 204, 126, 53, 184, 211, 49, 161, 218, 220, 156, 60, 130, 113, 98, 169, 147, 55, 249, 195, 106, 186, 216, 9},
+{63, 168, 149, 153, 102, 32, 140, 150, 139, 14, 36, 187, 200, 196, 121, 3, 140, 243, 5, 30, 223, 64, 193, 238, 19, 206, 30, 115, 230, 105, 228, 232, 33, 183, 200, 177, 225, 61, 150, 9, 87, 231, 78, 42, 205, 63, 106, 103, 176, 198, 5, 204, 138, 173, 218, 200, 142, 206, 94, 195, 117, 101, 171, 24, 52, 0, 19, 170, 223, 104, 176, 84, 141, 237, 116, 36, 113, 163, 12, 43, 35, 106, 116, 97, 45, 11, 242, 246, 148, 82, 115, 94, 50, 151, 11, 111, 181, 92, 67, 1, 168, 163, 53, 212, 167, 198, 206, 186, 100, 234, 205, 154, 43, 79, 175, 245, 232, 247, 164, 148, 183, 131, 194, 242, 129, 15, 223, 195},
+{51, 184, 218, 219, 146, 159, 186, 31, 188, 3, 60, 191, 204, 90, 126, 227, 0, 0, 95, 161, 238, 218, 217, 117, 227, 133, 17, 149, 186, 243, 4, 196, 63, 190, 78, 146, 108, 131, 169, 227, 151, 145, 147, 236, 204, 255, 177, 93, 49, 195, 235, 160, 159, 144, 104, 26, 42, 160, 208, 182, 46, 152, 239, 157, 20, 214, 67, 94, 176, 176, 136, 99, 132, 218, 26, 138, 238, 51, 219, 232, 31, 245, 193, 84, 177, 19, 85, 158, 10, 23, 148, 211, 155, 118, 205, 21, 33, 109, 204, 63, 93, 166, 30, 65, 235, 5, 48, 111, 135, 112, 189, 38, 84, 187, 174, 227, 139, 170, 87, 59, 69, 118, 188, 36, 140, 191, 51, 107},
+{169, 3, 197, 66, 240, 19, 151, 70, 170, 27, 180, 52, 127, 54, 105, 190, 248, 9, 95, 248, 209, 54, 195, 247, 120, 198, 74, 145, 80, 169, 159, 54, 92, 229, 226, 49, 147, 54, 173, 52, 252, 18, 138, 79, 210, 101, 199, 42, 154, 191, 84, 133, 79, 108, 251, 3, 198, 19, 237, 206, 194, 179, 106, 20, 246, 118, 158, 144, 215, 153, 147, 223, 233, 116, 36, 232, 191, 171, 207, 98, 16, 234, 169, 67, 195, 54, 21, 21, 5, 93, 117, 219, 138, 132, 110, 97, 181, 153, 222, 106, 49, 244, 26, 220, 187, 35, 66, 30, 36, 209, 134, 176, 112, 132, 83, 144, 154, 188, 96, 203, 77, 67, 195, 106, 91, 145, 230, 205},
+{169, 12, 2, 46, 151, 107, 203, 165, 60, 235, 253, 112, 185, 144, 127, 56, 127, 79, 175, 108, 90, 43, 208, 224, 237, 121, 17, 165, 218, 68, 148, 92, 132, 199, 222, 63, 25, 132, 235, 38, 234, 120, 32, 8, 56, 175, 96, 124, 41, 183, 181, 180, 212, 160, 44, 28, 159, 49, 125, 134, 212, 212, 22, 14, 127, 111, 172, 104, 219, 104, 9, 166, 77, 2, 200, 193, 16, 227, 157, 150, 214, 246, 83, 108, 199, 129, 61, 64, 18, 45, 15, 152, 238, 13, 34, 51, 34, 200, 85, 98, 161, 164, 135, 9, 232, 80, 215, 197, 57, 3, 242, 30, 142, 103, 236, 152, 65, 182, 182, 16, 232, 241, 56, 103, 249, 248, 72, 179},
+{11, 147, 10, 182, 94, 80, 206, 106, 176, 155, 85, 131, 100, 179, 129, 245, 108, 175, 121, 91, 4, 234, 170, 67, 205, 202, 62, 24, 175, 49, 37, 176, 179, 52, 149, 163, 61, 78, 233, 81, 245, 103, 251, 202, 192, 85, 17, 203, 145, 158, 124, 112, 243, 130, 192, 72, 68, 74, 144, 8, 26, 58, 130, 27, 157, 161, 105, 37, 237, 124, 61, 22, 111, 243, 99, 47, 156, 187, 196, 209, 0, 52, 146, 200, 151, 4, 84, 52, 148, 250, 190, 9, 55, 211, 45, 118, 198, 5, 251, 185, 15, 211, 38, 211, 94, 157, 54, 91, 237, 60, 240, 81, 212, 35, 246, 143, 219, 226, 183, 242, 237, 94, 183, 1, 83, 14, 36, 25},
+{137, 167, 175, 211, 63, 107, 96, 135, 201, 12, 41, 57, 217, 119, 86, 143, 191, 163, 244, 46, 99, 158, 219, 30, 212, 216, 179, 179, 65, 68, 24, 3, 255, 68, 222, 103, 81, 111, 184, 18, 251, 173, 58, 209, 53, 169, 172, 172, 188, 127, 131, 246, 213, 179, 255, 111, 42, 96, 101, 190, 23, 101, 160, 199, 104, 165, 8, 167, 243, 132, 180, 250, 182, 34, 187, 239, 45, 41, 111, 24, 100, 43, 179, 226, 55, 27, 103, 93, 155, 11, 108, 154, 43, 191, 155, 246, 159, 182, 237, 11, 113, 204, 236, 137, 106, 120, 143, 125, 186, 236, 253, 162, 151, 161, 15, 0, 113, 83, 15, 64, 45, 171, 118, 238, 102, 219, 228, 51},
+{24, 115, 83, 253, 23, 103, 197, 204, 129, 40, 171, 59, 212, 138, 230, 75, 214, 109, 119, 104, 49, 232, 243, 230, 66, 62, 210, 72, 186, 96, 207, 10, 7, 136, 100, 215, 39, 231, 173, 221, 220, 5, 185, 180, 55, 150, 159, 232, 180, 166, 139, 203, 22, 9, 15, 111, 12, 40, 245, 42, 217, 98, 179, 80, 161, 252, 181, 217, 76, 223, 195, 111, 66, 134, 46, 0, 66, 232, 55, 199, 124, 251, 224, 210, 223, 43, 155, 154, 109, 151, 39, 95, 218, 145, 246, 24, 191, 46, 101, 73, 35, 189, 117, 193, 21, 113, 168, 252, 154, 90, 28, 252, 73, 111, 210, 147, 235, 70, 233, 64, 238, 218, 58, 17, 202, 253, 202, 112},
+{178, 228, 78, 151, 159, 240, 166, 172, 12, 74, 125, 127, 201, 156, 187, 108, 235, 250, 199, 5, 92, 174, 136, 49, 182, 19, 183, 35, 134, 160, 81, 122, 198, 150, 232, 18, 94, 118, 8, 224, 238, 91, 235, 77, 84, 104, 72, 6, 247, 12, 198, 148, 251, 70, 229, 254, 34, 98, 245, 179, 36, 44, 8, 223, 150, 25, 61, 81, 253, 122, 206, 25, 25, 187, 172, 99, 19, 158, 224, 123, 184, 222, 165, 149, 179, 90, 102, 14, 151, 63, 120, 21, 148, 70, 94, 41, 94, 38, 70, 250, 204, 56, 163, 199, 55, 18, 231, 4, 63, 221, 30, 221, 124, 46, 7, 133, 156, 88, 226, 242, 60, 242, 231, 169, 104, 215, 97, 8},
+{67, 139, 229, 25, 44, 255, 154, 214, 203, 85, 26, 79, 141, 151, 202, 148, 185, 220, 236, 169, 220, 159, 91, 70, 7, 177, 12, 151, 167, 138, 177, 154, 19, 57, 24, 196, 243, 112, 102, 63, 73, 155, 27, 36, 243, 137, 28, 177, 174, 220, 215, 140, 180, 34, 244, 32, 105, 198, 25, 50, 95, 96, 222, 193, 226, 245, 3, 35, 7, 210, 134, 222, 44, 19, 200, 124, 58, 45, 130, 139, 84, 175, 75, 124, 5, 218, 221, 255, 103, 227, 99, 75, 98, 93, 3, 46, 57, 68, 73, 34, 35, 122, 192, 112, 57, 221, 167, 97, 18, 184, 165, 199, 182, 168, 110, 200, 163, 21, 173, 99, 181, 175, 185, 251, 95, 173, 164, 163},
+{195, 145, 69, 108, 216, 29, 27, 146, 36, 19, 200, 217, 131, 46, 26, 41, 164, 106, 37, 245, 9, 166, 23, 191, 1, 224, 16, 209, 118, 189, 65, 186, 19, 2, 98, 226, 59, 251, 147, 216, 54, 235, 155, 98, 169, 162, 83, 36, 4, 134, 208, 113, 93, 71, 250, 31, 76, 43, 14, 9, 138, 136, 102, 177, 173, 147, 45, 122, 128, 196, 55, 65, 100, 217, 125, 204, 22, 86, 73, 89, 181, 244, 106, 242, 151, 115, 121, 63, 218, 254, 147, 76, 8, 210, 245, 185, 34, 40, 216, 134, 206, 161, 9, 150, 143, 98, 21, 58, 216, 16, 193, 52, 245, 193, 52, 79, 44, 134, 182, 133, 103, 92, 32, 251, 95, 19, 106, 214},
+{99, 26, 47, 177, 189, 4, 251, 254, 224, 172, 141, 187, 45, 138, 128, 172, 220, 118, 239, 25, 5, 72, 4, 53, 124, 248, 40, 201, 203, 59, 105, 121, 218, 158, 196, 99, 77, 231, 93, 4, 145, 248, 188, 60, 144, 108, 200, 86, 178, 205, 121, 133, 251, 101, 206, 43, 153, 63, 46, 176, 6, 137, 42, 78, 228, 243, 48, 213, 184, 124, 30, 151, 137, 110, 209, 89, 239, 202, 99, 207, 206, 141, 16, 7, 251, 11, 7, 8, 120, 185, 181, 249, 177, 6, 18, 167, 45, 233, 16, 109, 85, 118, 105, 184, 10, 211, 117, 216, 108, 145, 179, 217, 61, 229, 53, 14, 153, 119, 237, 37, 39, 46, 117, 178, 3, 55, 190, 21},
+{54, 192, 228, 79, 154, 160, 208, 160, 96, 23, 230, 11, 195, 222, 104, 233, 14, 56, 112, 250, 69, 19, 33, 155, 60, 89, 108, 134, 19, 67, 154, 236, 103, 109, 217, 152, 46, 132, 160, 99, 129, 118, 155, 158, 39, 176, 81, 8, 166, 32, 9, 243, 229, 28, 114, 195, 237, 106, 206, 151, 165, 102, 145, 3, 196, 188, 252, 101, 237, 105, 146, 103, 192, 9, 143, 231, 126, 7, 211, 194, 209, 29, 17, 62, 166, 172, 138, 237, 121, 57, 96, 241, 219, 199, 5, 11, 151, 9, 21, 161, 232, 199, 64, 198, 118, 74, 17, 168, 65, 146, 26, 37, 136, 36, 139, 39, 206, 83, 181, 191, 119, 144, 135, 169, 98, 118, 111, 29},
+{27, 152, 26, 254, 160, 211, 46, 221, 99, 61, 135, 168, 192, 187, 117, 252, 64, 31, 193, 66, 144, 248, 179, 144, 84, 245, 242, 220, 96, 44, 99, 196, 225, 228, 226, 178, 18, 21, 156, 212, 158, 167, 207, 131, 51, 251, 92, 82, 176, 1, 200, 93, 83, 28, 197, 120, 131, 42, 179, 5, 230, 109, 44, 174, 236, 13, 159, 35, 64, 163, 218, 149, 84, 55, 191, 193, 135, 139, 229, 112, 157, 108, 196, 124, 17, 204, 237, 34, 26, 0, 67, 148, 67, 153, 21, 212, 46, 126, 45, 119, 84, 201, 255, 21, 195, 57, 200, 155, 224, 113, 174, 226, 103, 216, 34, 185, 19, 230, 7, 65, 245, 54, 93, 231, 184, 4, 88, 234},
+{51, 213, 32, 142, 213, 73, 58, 212, 23, 252, 164, 241, 160, 97, 148, 92, 255, 154, 62, 103, 117, 163, 225, 249, 63, 59, 81, 166, 79, 85, 199, 189, 243, 196, 49, 253, 87, 60, 79, 156, 228, 83, 137, 20, 17, 82, 79, 43, 139, 38, 12, 81, 129, 127, 59, 93, 233, 80, 112, 141, 91, 143, 91, 224, 207, 165, 193, 51, 235, 109, 86, 97, 160, 0, 184, 228, 72, 33, 251, 150, 248, 17, 40, 220, 183, 98, 84, 3, 206, 122, 76, 93, 244, 63, 88, 12, 238, 196, 241, 246, 136, 202, 211, 231, 3, 142, 49, 140, 125, 119, 1, 131, 140, 6, 236, 149, 211, 174, 218, 247, 70, 136, 122, 44, 16, 166, 96, 236},
+{24, 90, 219, 180, 12, 30, 140, 178, 32, 169, 49, 103, 124, 174, 63, 84, 199, 124, 24, 232, 6, 27, 49, 12, 201, 134, 89, 227, 197, 64, 65, 245, 52, 77, 188, 67, 61, 158, 211, 45, 61, 82, 77, 192, 124, 190, 19, 224, 96, 169, 152, 63, 20, 58, 51, 166, 69, 144, 173, 41, 72, 3, 170, 174, 35, 237, 88, 172, 250, 45, 248, 245, 153, 76, 110, 225, 235, 150, 93, 96, 10, 183, 69, 238, 122, 170, 91, 208, 142, 237, 159, 27, 84, 200, 23, 116, 75, 76, 150, 103, 196, 6, 147, 162, 28, 253, 32, 148, 246, 122, 5, 0, 179, 139, 148, 153, 36, 38, 132, 235, 44, 93, 243, 237, 74, 17, 146, 170},
+{43, 145, 145, 178, 243, 48, 167, 124, 184, 49, 44, 209, 167, 125, 245, 102, 189, 113, 157, 96, 154, 191, 127, 70, 126, 97, 155, 27, 168, 3, 142, 151, 19, 145, 6, 53, 185, 193, 140, 12, 202, 151, 161, 122, 92, 239, 162, 230, 42, 175, 158, 253, 14, 131, 250, 81, 108, 154, 193, 42, 107, 77, 210, 197, 192, 105, 75, 6, 138, 22, 137, 243, 253, 196, 80, 104, 100, 25, 184, 110, 103, 132, 192, 229, 165, 88, 23, 99, 241, 242, 57, 21, 82, 173, 19, 126, 72, 129, 13, 194, 235, 65, 230, 126, 86, 242, 79, 127, 150, 60, 232, 183, 38, 127, 36, 12, 50, 139, 194, 124, 139, 68, 79, 132, 254, 196, 206, 35},
+{162, 113, 230, 125, 77, 53, 216, 152, 247, 74, 246, 104, 83, 14, 18, 121, 237, 24, 253, 126, 132, 121, 120, 242, 148, 191, 128, 82, 96, 158, 157, 189, 19, 150, 239, 78, 160, 21, 59, 130, 72, 155, 216, 21, 97, 61, 148, 156, 96, 118, 235, 42, 185, 93, 210, 79, 149, 228, 201, 52, 206, 47, 138, 85, 200, 167, 109, 184, 217, 65, 65, 17, 235, 244, 157, 66, 108, 159, 68, 81, 64, 206, 34, 0, 167, 180, 110, 155, 156, 65, 96, 133, 50, 130, 29, 119, 167, 184, 43, 103, 134, 121, 0, 251, 70, 110, 151, 206, 51, 52, 164, 90, 240, 194, 140, 247, 65, 25, 177, 55, 8, 247, 93, 162, 178, 72, 204, 114},
+{47, 156, 8, 134, 142, 26, 24, 111, 238, 33, 80, 72, 14, 80, 176, 38, 44, 207, 120, 143, 223, 69, 110, 44, 190, 73, 235, 194, 186, 222, 248, 198, 72, 215, 242, 14, 195, 194, 64, 156, 13, 139, 62, 242, 159, 93, 244, 106, 188, 101, 110, 4, 168, 202, 179, 193, 8, 252, 175, 190, 127, 218, 231, 20, 178, 107, 128, 226, 82, 2, 192, 86, 47, 13, 243, 162, 211, 129, 23, 174, 33, 179, 46, 181, 227, 255, 56, 48, 226, 223, 10, 100, 48, 177, 68, 165, 60, 155, 5, 188, 96, 42, 58, 242, 19, 6, 172, 183, 19, 187, 164, 86, 250, 82, 248, 4, 251, 218, 199, 158, 64, 253, 169, 225, 100, 159, 213, 42},
+{156, 76, 206, 98, 77, 1, 3, 181, 94, 253, 83, 74, 154, 166, 51, 241, 119, 30, 147, 57, 195, 0, 196, 65, 54, 248, 233, 61, 23, 37, 118, 174, 65, 61, 114, 219, 183, 240, 50, 11, 229, 232, 17, 34, 62, 18, 77, 171, 144, 191, 37, 61, 127, 69, 89, 26, 169, 185, 78, 127, 249, 124, 156, 78, 206, 17, 85, 78, 38, 23, 235, 56, 68, 95, 222, 50, 132, 7, 116, 21, 130, 136, 83, 110, 196, 2, 27, 208, 70, 16, 160, 38, 25, 83, 241, 104, 68, 11, 203, 118, 68, 186, 73, 117, 51, 234, 69, 156, 18, 143, 83, 79, 15, 103, 151, 47, 35, 214, 63, 44, 128, 129, 28, 223, 137, 235, 68, 55},
+{40, 27, 148, 158, 198, 40, 123, 27, 163, 190, 205, 81, 82, 23, 14, 27, 45, 196, 12, 211, 33, 111, 151, 134, 184, 57, 85, 39, 29, 123, 0, 169, 105, 255, 41, 59, 131, 138, 104, 161, 61, 246, 38, 169, 203, 184, 1, 197, 210, 96, 236, 218, 252, 8, 229, 132, 91, 174, 182, 192, 198, 156, 113, 189, 163, 166, 33, 210, 115, 237, 234, 130, 92, 211, 131, 188, 104, 192, 144, 235, 122, 71, 224, 203, 101, 55, 111, 223, 224, 24, 65, 165, 146, 188, 177, 45, 95, 1, 22, 38, 173, 112, 139, 249, 58, 127, 162, 32, 100, 147, 59, 137, 117, 158, 69, 69, 6, 75, 105, 49, 53, 12, 219, 85, 171, 106, 13, 138},
+{6, 164, 167, 246, 80, 84, 63, 83, 158, 18, 150, 156, 67, 187, 194, 207, 63, 222, 168, 220, 129, 13, 222, 51, 205, 87, 210, 37, 132, 76, 108, 123, 141, 218, 140, 211, 29, 29, 212, 134, 123, 53, 235, 124, 188, 85, 29, 43, 86, 44, 52, 19, 66, 134, 74, 142, 26, 68, 177, 250, 66, 106, 203, 221, 199, 168, 131, 175, 249, 2, 162, 184, 143, 193, 184, 184, 213, 60, 136, 117, 206, 98, 164, 34, 248, 115, 146, 191, 41, 184, 150, 164, 27, 224, 82, 144, 172, 55, 174, 10, 128, 70, 226, 213, 174, 255, 204, 33, 54, 152, 61, 50, 90, 205, 0, 230, 177, 224, 117, 8, 62, 148, 248, 89, 125, 198, 111, 232},
+{205, 217, 10, 34, 133, 51, 105, 247, 55, 36, 82, 224, 57, 78, 129, 109, 35, 193, 241, 35, 193, 90, 12, 21, 183, 228, 137, 18, 103, 0, 177, 162, 176, 209, 21, 116, 71, 242, 224, 243, 185, 23, 235, 107, 128, 17, 249, 197, 120, 75, 43, 112, 51, 35, 33, 114, 84, 255, 55, 168, 137, 60, 199, 119, 218, 164, 253, 166, 187, 140, 201, 217, 228, 239, 131, 123, 185, 69, 75, 153, 31, 243, 154, 130, 226, 139, 80, 35, 26, 54, 76, 218, 188, 112, 48, 209, 182, 65, 48, 132, 127, 104, 55, 182, 207, 147, 101, 7, 96, 188, 114, 151, 83, 6, 243, 131, 136, 45, 32, 210, 8, 173, 164, 161, 185, 112, 119, 64},
+{49, 6, 4, 74, 99, 73, 191, 177, 244, 215, 227, 132, 137, 230, 196, 93, 185, 137, 229, 236, 86, 156, 25, 151, 103, 99, 17, 111, 199, 197, 138, 121, 157, 4, 33, 70, 218, 4, 74, 162, 2, 22, 28, 147, 79, 87, 200, 86, 32, 121, 115, 97, 163, 1, 59, 77, 143, 247, 2, 218, 242, 216, 246, 219, 141, 217, 219, 119, 246, 145, 4, 192, 160, 34, 251, 105, 98, 227, 179, 198, 23, 41, 210, 181, 249, 6, 141, 180, 223, 169, 206, 222, 39, 60, 110, 215, 27, 139, 251, 145, 149, 33, 189, 21, 60, 138, 178, 7, 173, 11, 91, 237, 63, 33, 211, 48, 199, 192, 3, 237, 141, 64, 140, 144, 136, 82, 33, 212},
+{163, 55, 44, 198, 162, 80, 16, 182, 28, 60, 241, 245, 195, 121, 41, 59, 230, 8, 149, 168, 148, 78, 67, 206, 112, 150, 252, 151, 113, 210, 122, 61, 9, 71, 29, 77, 16, 215, 11, 106, 157, 86, 192, 141, 200, 86, 28, 232, 192, 240, 247, 215, 210, 238, 28, 27, 49, 8, 150, 1, 25, 171, 184, 140, 1, 168, 188, 100, 105, 62, 138, 82, 73, 137, 186, 225, 54, 69, 22, 149, 216, 194, 201, 26, 122, 183, 93, 120, 112, 58, 83, 182, 66, 148, 248, 159, 42, 218, 184, 182, 19, 60, 31, 54, 107, 144, 218, 162, 22, 112, 39, 143, 15, 11, 171, 58, 27, 88, 166, 53, 66, 74, 42, 95, 149, 20, 118, 12},
+{153, 64, 165, 30, 112, 92, 252, 147, 128, 207, 9, 211, 5, 70, 86, 56, 139, 254, 66, 107, 0, 89, 58, 80, 177, 244, 162, 126, 245, 229, 36, 57, 235, 85, 227, 16, 200, 25, 151, 253, 200, 86, 191, 15, 17, 246, 153, 198, 222, 150, 141, 183, 110, 13, 0, 178, 242, 74, 180, 222, 198, 58, 23, 110, 151, 156, 106, 218, 219, 120, 57, 232, 202, 85, 138, 247, 80, 216, 123, 25, 72, 4, 249, 172, 155, 200, 232, 246, 91, 118, 164, 183, 119, 62, 121, 14, 92, 227, 212, 96, 47, 236, 202, 244, 202, 21, 168, 134, 41, 213, 130, 250, 173, 109, 80, 50, 154, 175, 249, 115, 225, 81, 193, 152, 177, 66, 94, 247},
+{207, 244, 97, 105, 3, 112, 97, 58, 93, 210, 41, 127, 24, 23, 83, 62, 49, 226, 209, 233, 211, 164, 159, 73, 155, 149, 94, 242, 70, 230, 143, 3, 96, 116, 242, 154, 14, 137, 41, 57, 206, 101, 144, 81, 183, 73, 129, 84, 62, 21, 139, 28, 201, 15, 133, 72, 251, 156, 69, 93, 5, 209, 81, 176, 80, 80, 199, 239, 242, 33, 188, 236, 235, 10, 69, 26, 1, 2, 117, 74, 50, 79, 159, 177, 13, 186, 180, 92, 215, 148, 75, 15, 199, 232, 65, 35, 182, 53, 78, 199, 106, 56, 27, 55, 203, 217, 238, 66, 160, 56, 55, 153, 133, 27, 247, 70, 65, 51, 31, 118, 240, 225, 177, 249, 164, 237, 20, 217},
+{28, 26, 229, 238, 42, 59, 1, 193, 124, 227, 134, 54, 179, 149, 136, 29, 124, 20, 128, 71, 20, 88, 53, 56, 67, 4, 113, 53, 86, 102, 90, 203, 168, 212, 132, 59, 200, 131, 253, 129, 225, 79, 195, 21, 43, 139, 38, 9, 126, 149, 52, 218, 146, 85, 88, 194, 62, 142, 66, 101, 141, 32, 206, 133, 197, 45, 8, 242, 67, 68, 255, 134, 48, 34, 231, 50, 78, 33, 181, 244, 1, 167, 5, 70, 121, 17, 110, 186, 194, 183, 79, 128, 157, 214, 25, 233, 195, 170, 159, 55, 215, 247, 234, 13, 42, 197, 171, 6, 10, 94, 213, 77, 104, 87, 35, 24, 244, 215, 75, 40, 0, 15, 155, 221, 152, 152, 254, 252},
+{123, 10, 237, 243, 163, 171, 96, 47, 85, 214, 183, 188, 67, 78, 225, 44, 134, 123, 174, 212, 97, 102, 114, 11, 214, 168, 242, 156, 205, 45, 251, 183, 151, 37, 40, 198, 252, 196, 220, 75, 131, 121, 203, 161, 75, 194, 153, 148, 237, 109, 112, 206, 253, 145, 102, 11, 83, 253, 205, 162, 178, 173, 14, 81, 216, 185, 224, 230, 55, 208, 44, 45, 228, 204, 222, 228, 250, 103, 253, 197, 103, 64, 153, 114, 176, 17, 219, 226, 142, 161, 93, 102, 24, 123, 135, 87, 205, 191, 10, 67, 133, 12, 60, 4, 220, 75, 3, 17, 250, 131, 181, 20, 148, 143, 154, 232, 0, 10, 249, 134, 172, 227, 12, 47, 202, 165, 112, 183},
+{116, 192, 50, 113, 190, 38, 62, 120, 14, 254, 93, 51, 140, 183, 232, 133, 17, 79, 79, 18, 56, 137, 144, 135, 239, 187, 141, 80, 107, 103, 167, 228, 207, 198, 184, 12, 209, 162, 109, 221, 57, 249, 108, 46, 70, 92, 200, 108, 79, 108, 225, 103, 148, 40, 29, 235, 127, 22, 216, 252, 98, 162, 170, 165, 53, 51, 241, 157, 13, 106, 25, 219, 53, 185, 161, 175, 46, 195, 213, 40, 242, 137, 104, 174, 221, 156, 140, 118, 56, 125, 139, 138, 162, 80, 105, 115, 145, 237, 114, 186, 71, 239, 239, 56, 106, 205, 7, 109, 195, 236, 193, 23, 115, 28, 144, 188, 101, 61, 185, 182, 78, 97, 27, 155, 1, 155, 63, 98},
+{57, 230, 142, 58, 9, 195, 145, 26, 223, 108, 10, 214, 17, 214, 67, 33, 125, 3, 73, 176, 19, 3, 230, 195, 209, 138, 239, 89, 89, 232, 92, 134, 119, 92, 16, 34, 226, 177, 61, 36, 208, 134, 114, 181, 49, 240, 125, 220, 14, 222, 71, 203, 167, 122, 23, 150, 155, 86, 4, 201, 131, 27, 43, 253, 160, 133, 142, 42, 75, 49, 119, 65, 139, 90, 66, 29, 138, 55, 35, 155, 32, 24, 149, 126, 254, 191, 165, 83, 112, 205, 0, 184, 146, 204, 238, 79, 238, 71, 26, 245, 146, 45, 78, 41, 118, 219, 36, 60, 24, 129, 93, 122, 227, 164, 159, 100, 144, 19, 218, 248, 171, 238, 213, 38, 213, 152, 2, 41},
+{177, 1, 127, 25, 23, 191, 62, 99, 166, 119, 72, 0, 207, 38, 114, 77, 17, 193, 226, 132, 37, 143, 179, 106, 133, 176, 203, 221, 96, 124, 114, 165, 59, 62, 201, 55, 26, 113, 31, 202, 52, 55, 110, 181, 64, 22, 21, 118, 248, 14, 154, 237, 201, 212, 8, 219, 8, 93, 47, 159, 109, 222, 62, 126, 14, 229, 206, 138, 21, 41, 132, 113, 242, 154, 185, 21, 226, 118, 76, 172, 199, 70, 96, 38, 32, 209, 206, 42, 45, 181, 80, 39, 116, 125, 187, 147, 217, 164, 2, 47, 199, 75, 175, 92, 176, 145, 115, 194, 70, 215, 81, 4, 37, 181, 25, 40, 227, 8, 35, 31, 94, 149, 254, 62, 63, 227, 70, 215},
+{88, 132, 130, 62, 199, 190, 234, 233, 122, 32, 28, 137, 46, 226, 240, 35, 97, 48, 239, 177, 116, 33, 69, 137, 15, 153, 53, 229, 195, 137, 47, 252, 238, 21, 11, 161, 82, 88, 172, 147, 40, 0, 250, 241, 194, 144, 1, 246, 90, 33, 224, 125, 186, 162, 176, 166, 251, 205, 45, 112, 86, 113, 55, 118, 125, 48, 85, 111, 209, 96, 69, 79, 111, 4, 24, 236, 100, 141, 15, 247, 25, 240, 53, 136, 118, 87, 248, 24, 68, 23, 62, 24, 168, 59, 234, 42, 202, 238, 31, 140, 252, 16, 186, 85, 87, 116, 71, 232, 42, 65, 254, 189, 144, 205, 85, 188, 234, 32, 26, 237, 221, 204, 28, 146, 20, 87, 153, 250},
+{178, 27, 124, 207, 228, 88, 185, 219, 192, 16, 65, 240, 91, 204, 27, 101, 213, 20, 139, 205, 18, 17, 129, 218, 19, 230, 168, 209, 70, 181, 58, 62, 59, 157, 17, 223, 226, 0, 0, 79, 187, 218, 60, 111, 0, 60, 26, 239, 199, 228, 67, 0, 26, 106, 67, 121, 70, 255, 18, 150, 134, 69, 233, 116, 206, 148, 28, 124, 137, 63, 76, 53, 54, 162, 52, 23, 165, 36, 202, 229, 75, 91, 28, 43, 208, 4, 24, 136, 97, 130, 173, 151, 240, 206, 186, 236, 11, 80, 129, 19, 217, 8, 56, 165, 158, 119, 6, 6, 77, 252, 153, 234, 172, 252, 105, 254, 92, 218, 138, 27, 129, 191, 178, 33, 69, 78, 147, 134},
+{80, 106, 30, 167, 86, 184, 207, 39, 191, 34, 125, 37, 127, 157, 110, 48, 46, 59, 153, 201, 46, 13, 37, 27, 94, 75, 144, 52, 1, 90, 188, 165, 24, 214, 7, 83, 166, 168, 241, 147, 208, 221, 24, 28, 239, 160, 91, 84, 0, 112, 139, 56, 183, 117, 6, 184, 190, 44, 169, 176, 64, 86, 220, 25, 2, 79, 108, 68, 168, 230, 5, 204, 61, 236, 243, 138, 240, 14, 221, 205, 191, 34, 207, 128, 122, 223, 61, 111, 141, 83, 140, 72, 226, 106, 110, 218, 141, 83, 208, 92, 103, 253, 28, 123, 60, 71, 249, 0, 193, 97, 32, 100, 24, 59, 87, 106, 253, 240, 1, 220, 71, 135, 152, 69, 95, 31, 0, 135},
+{196, 221, 249, 177, 236, 105, 115, 146, 62, 222, 121, 97, 88, 221, 56, 240, 184, 214, 116, 15, 79, 54, 234, 81, 73, 81, 110, 249, 224, 78, 204, 196, 179, 142, 227, 216, 234, 171, 209, 215, 3, 64, 57, 126, 98, 81, 189, 83, 87, 126, 160, 44, 94, 52, 231, 224, 92, 68, 174, 229, 6, 194, 151, 242, 201, 15, 216, 65, 89, 100, 55, 124, 111, 223, 137, 226, 147, 239, 83, 223, 251, 126, 217, 116, 21, 94, 20, 143, 111, 52, 54, 10, 78, 184, 18, 176, 179, 21, 150, 178, 52, 219, 200, 254, 236, 223, 37, 115, 194, 254, 216, 165, 82, 228, 80, 186, 227, 37, 86, 135, 227, 57, 79, 59, 213, 229, 174, 34},
+{26, 92, 57, 10, 131, 108, 7, 161, 6, 163, 191, 15, 156, 60, 62, 178, 244, 0, 97, 180, 166, 122, 103, 153, 123, 20, 6, 231, 73, 134, 181, 76, 143, 220, 197, 176, 249, 137, 84, 6, 21, 175, 27, 218, 217, 41, 213, 63, 117, 221, 115, 46, 225, 172, 199, 191, 175, 181, 60, 81, 78, 30, 169, 137, 205, 54, 166, 179, 75, 25, 196, 210, 188, 180, 247, 173, 204, 65, 27, 215, 126, 229, 29, 45, 154, 212, 76, 213, 163, 158, 92, 122, 22, 0, 82, 228, 182, 118, 56, 246, 44, 194, 203, 116, 86, 44, 187, 232, 46, 172, 212, 164, 241, 157, 49, 147, 103, 111, 165, 154, 210, 136, 21, 187, 213, 41, 11, 19},
+{199, 132, 63, 164, 218, 133, 233, 72, 254, 177, 87, 70, 145, 199, 191, 75, 127, 8, 245, 243, 239, 129, 44, 236, 120, 60, 184, 108, 16, 86, 126, 132, 35, 4, 245, 33, 172, 149, 150, 52, 185, 147, 122, 140, 72, 158, 201, 60, 13, 151, 235, 109, 100, 221, 115, 131, 123, 217, 112, 119, 178, 19, 189, 191, 84, 108, 25, 56, 163, 213, 255, 40, 208, 101, 4, 65, 235, 160, 197, 23, 4, 71, 246, 62, 145, 226, 168, 200, 117, 163, 174, 255, 66, 88, 137, 45, 201, 210, 235, 50, 185, 188, 218, 70, 1, 214, 97, 41, 20, 50, 96, 166, 1, 228, 63, 7, 72, 22, 39, 195, 90, 27, 139, 63, 58, 105, 213, 163},
+{78, 202, 102, 137, 149, 111, 113, 153, 89, 155, 124, 226, 187, 151, 138, 120, 103, 2, 20, 82, 85, 195, 13, 186, 53, 254, 172, 129, 100, 230, 245, 165, 38, 88, 95, 32, 188, 91, 9, 77, 108, 12, 65, 66, 168, 216, 62, 125, 168, 136, 167, 204, 171, 131, 209, 8, 108, 232, 170, 247, 201, 153, 32, 23, 41, 214, 243, 231, 107, 44, 223, 75, 151, 151, 148, 138, 177, 181, 48, 205, 168, 77, 242, 33, 130, 96, 191, 27, 56, 192, 100, 229, 173, 138, 87, 77, 159, 37, 140, 213, 105, 173, 161, 180, 69, 156, 138, 183, 248, 99, 218, 151, 126, 44, 66, 200, 137, 36, 144, 185, 80, 176, 90, 199, 218, 186, 118, 3},
+{40, 180, 93, 155, 196, 162, 177, 184, 63, 62, 178, 166, 54, 239, 208, 246, 17, 91, 88, 151, 80, 246, 121, 198, 63, 76, 81, 194, 204, 58, 231, 199, 221, 30, 131, 180, 179, 60, 222, 198, 147, 103, 4, 137, 2, 150, 153, 221, 222, 249, 219, 212, 217, 194, 211, 81, 94, 241, 3, 172, 132, 109, 116, 14, 174, 79, 65, 53, 215, 62, 250, 210, 74, 245, 44, 56, 36, 105, 14, 172, 30, 157, 239, 34, 7, 149, 154, 80, 7, 78, 223, 212, 150, 149, 130, 61, 149, 191, 127, 56, 29, 125, 19, 192, 236, 46, 66, 181, 237, 108, 99, 209, 243, 240, 156, 241, 139, 151, 40, 85, 79, 240, 168, 27, 217, 207, 127, 126},
+{153, 75, 60, 68, 216, 44, 141, 85, 215, 169, 6, 231, 45, 62, 68, 148, 206, 101, 15, 0, 154, 247, 123, 211, 130, 145, 120, 81, 20, 181, 25, 175, 145, 207, 83, 131, 104, 64, 109, 2, 133, 102, 84, 30, 69, 3, 113, 193, 193, 146, 29, 28, 55, 142, 95, 60, 112, 214, 27, 73, 204, 196, 43, 25, 156, 18, 249, 139, 135, 19, 63, 246, 255, 132, 221, 147, 115, 185, 181, 160, 224, 150, 57, 157, 245, 241, 85, 225, 175, 148, 135, 197, 83, 14, 125, 73, 175, 51, 13, 96, 170, 122, 101, 157, 236, 64, 111, 221, 245, 170, 44, 142, 166, 72, 251, 74, 113, 44, 30, 26, 146, 21, 138, 122, 200, 168, 76, 142},
+{154, 192, 56, 142, 107, 132, 194, 125, 138, 83, 3, 113, 24, 15, 119, 156, 17, 133, 48, 12, 234, 209, 79, 210, 87, 147, 29, 55, 195, 207, 140, 199, 41, 191, 15, 83, 164, 73, 13, 61, 75, 133, 34, 7, 192, 87, 204, 33, 204, 67, 110, 193, 180, 81, 235, 242, 211, 104, 246, 190, 18, 86, 20, 59, 224, 124, 12, 150, 30, 60, 88, 94, 206, 170, 175, 162, 108, 52, 239, 247, 128, 54, 152, 185, 7, 98, 54, 81, 14, 99, 16, 73, 245, 79, 21, 171, 158, 208, 68, 31, 144, 58, 32, 250, 183, 63, 0, 217, 48, 192, 194, 142, 80, 133, 84, 33, 4, 129, 160, 137, 28, 169, 67, 87, 156, 0, 112, 244},
+{190, 107, 122, 113, 109, 251, 16, 155, 24, 208, 228, 143, 231, 10, 176, 25, 109, 101, 29, 98, 252, 234, 87, 84, 236, 5, 206, 118, 106, 129, 130, 147, 108, 49, 118, 165, 63, 177, 57, 24, 220, 215, 220, 76, 111, 29, 82, 109, 190, 224, 185, 30, 186, 103, 153, 31, 104, 223, 36, 103, 232, 156, 102, 68, 60, 137, 97, 30, 138, 87, 198, 215, 102, 214, 140, 155, 239, 52, 211, 244, 33, 233, 130, 95, 9, 82, 139, 137, 58, 143, 228, 222, 166, 201, 188, 42, 55, 212, 193, 103, 248, 223, 117, 245, 241, 211, 170, 210, 191, 45, 37, 104, 199, 125, 58, 15, 194, 69, 173, 217, 80, 0, 169, 250, 176, 45, 10, 127},
+{198, 25, 85, 56, 124, 43, 197, 204, 229, 116, 48, 47, 50, 151, 64, 236, 244, 113, 39, 183, 169, 114, 64, 128, 185, 195, 30, 0, 100, 179, 140, 157, 131, 189, 51, 136, 187, 101, 97, 1, 215, 192, 153, 147, 103, 186, 24, 129, 21, 14, 221, 122, 128, 246, 170, 79, 19, 216, 7, 82, 47, 10, 88, 77, 203, 105, 75, 155, 219, 234, 7, 175, 30, 245, 41, 51, 224, 184, 58, 122, 162, 171, 213, 176, 160, 98, 108, 39, 49, 12, 81, 224, 157, 14, 60, 215, 54, 23, 131, 153, 35, 131, 27, 138, 19, 70, 87, 34, 126, 250, 174, 99, 216, 69, 2, 93, 199, 22, 2, 150, 68, 39, 108, 243, 154, 251, 61, 242},
+{125, 177, 196, 221, 74, 12, 157, 89, 88, 167, 70, 229, 20, 97, 193, 171, 250, 177, 171, 166, 179, 205, 134, 39, 168, 186, 193, 145, 28, 58, 103, 188, 187, 241, 113, 168, 144, 20, 204, 228, 164, 172, 31, 91, 198, 61, 24, 237, 229, 134, 171, 102, 51, 60, 193, 182, 150, 114, 41, 243, 56, 178, 100, 211, 205, 123, 91, 76, 252, 255, 239, 86, 132, 65, 123, 230, 29, 162, 241, 13, 37, 57, 186, 47, 98, 19, 56, 216, 246, 7, 195, 53, 55, 124, 196, 35, 54, 207, 17, 198, 50, 172, 86, 104, 196, 72, 83, 30, 80, 231, 231, 66, 138, 99, 20, 71, 93, 216, 222, 129, 176, 39, 85, 182, 205, 77, 74, 41},
+{100, 80, 207, 172, 83, 235, 57, 20, 244, 11, 110, 47, 213, 50, 142, 100, 182, 137, 33, 157, 55, 20, 98, 103, 72, 92, 83, 164, 12, 125, 248, 91, 111, 33, 130, 135, 155, 90, 164, 135, 24, 162, 92, 104, 13, 143, 12, 16, 134, 114, 214, 250, 143, 127, 83, 55, 99, 224, 243, 34, 126, 142, 154, 243, 248, 55, 220, 207, 203, 231, 102, 245, 233, 148, 229, 164, 108, 210, 222, 125, 193, 130, 24, 222, 207, 145, 9, 67, 149, 60, 9, 204, 142, 103, 135, 231, 233, 168, 196, 246, 226, 110, 40, 210, 162, 66, 96, 162, 113, 178, 228, 184, 17, 18, 181, 182, 128, 213, 30, 31, 39, 91, 232, 43, 77, 130, 70, 43},
+{6, 30, 146, 153, 63, 60, 84, 180, 238, 237, 131, 103, 231, 109, 79, 97, 51, 12, 201, 134, 25, 224, 181, 27, 205, 187, 1, 129, 36, 4, 252, 148, 41, 64, 10, 10, 229, 138, 1, 102, 243, 163, 35, 6, 14, 188, 180, 82, 175, 5, 197, 23, 241, 36, 181, 2, 24, 160, 235, 10, 211, 7, 183, 145, 174, 51, 169, 193, 82, 158, 123, 61, 120, 93, 185, 234, 55, 58, 174, 220, 148, 60, 48, 208, 124, 127, 186, 113, 255, 240, 68, 168, 197, 144, 15, 107, 16, 161, 46, 123, 22, 218, 118, 114, 142, 95, 105, 234, 69, 26, 208, 116, 249, 197, 207, 86, 8, 115, 68, 131, 169, 94, 9, 135, 98, 24, 118, 112},
+{111, 97, 211, 198, 29, 218, 60, 57, 39, 39, 190, 224, 146, 70, 173, 98, 227, 34, 12, 124, 169, 201, 122, 245, 207, 55, 165, 97, 8, 77, 59, 61, 86, 203, 251, 86, 160, 38, 103, 208, 239, 142, 239, 183, 156, 241, 170, 136, 242, 204, 45, 185, 135, 93, 205, 16, 0, 137, 104, 18, 68, 178, 49, 210, 121, 72, 241, 31, 57, 159, 121, 212, 242, 34, 150, 212, 61, 126, 80, 17, 242, 75, 32, 225, 139, 64, 240, 233, 29, 178, 171, 23, 98, 72, 150, 110, 181, 4, 2, 25, 250, 240, 139, 61, 113, 34, 86, 64, 231, 47, 216, 218, 249, 36, 106, 46, 238, 20, 84, 150, 23, 237, 176, 236, 255, 201, 57, 183},
+{209, 235, 139, 210, 129, 252, 76, 38, 85, 177, 228, 217, 215, 10, 142, 105, 214, 46, 15, 159, 66, 173, 133, 203, 30, 47, 181, 81, 243, 110, 31, 166, 62, 114, 134, 196, 32, 18, 254, 16, 33, 242, 106, 239, 208, 77, 186, 116, 134, 177, 19, 136, 230, 42, 88, 42, 102, 174, 254, 166, 235, 123, 251, 173, 12, 98, 176, 182, 234, 5, 183, 11, 165, 232, 157, 252, 94, 23, 149, 51, 145, 252, 165, 252, 80, 162, 82, 176, 94, 129, 96, 32, 87, 146, 197, 132, 70, 170, 237, 128, 188, 17, 84, 248, 186, 113, 179, 127, 249, 199, 107, 86, 141, 204, 32, 150, 213, 178, 233, 249, 133, 182, 48, 148, 247, 182, 231, 10},
+{178, 162, 35, 192, 148, 118, 143, 242, 19, 50, 99, 40, 72, 253, 3, 204, 101, 130, 193, 80, 184, 250, 234, 166, 175, 29, 229, 166, 165, 191, 12, 126, 159, 106, 57, 253, 133, 173, 69, 207, 216, 77, 183, 59, 181, 155, 226, 107, 251, 43, 81, 244, 255, 108, 69, 187, 189, 69, 122, 124, 15, 128, 127, 220, 9, 109, 202, 52, 220, 55, 237, 8, 142, 20, 210, 252, 7, 114, 169, 115, 171, 180, 163, 111, 43, 218, 27, 122, 99, 142, 62, 136, 64, 132, 250, 155, 30, 83, 65, 87, 34, 106, 128, 70, 7, 185, 188, 1, 180, 127, 209, 38, 168, 36, 96, 51, 159, 61, 35, 190, 188, 25, 120, 65, 90, 3, 227, 178},
+{90, 231, 45, 71, 205, 1, 192, 20, 141, 53, 78, 35, 133, 16, 85, 84, 233, 62, 225, 206, 71, 91, 105, 44, 30, 222, 8, 25, 212, 111, 29, 229, 212, 18, 243, 40, 19, 191, 107, 171, 27, 87, 163, 41, 26, 102, 93, 165, 54, 83, 196, 241, 87, 71, 238, 160, 3, 207, 167, 43, 230, 62, 205, 54, 76, 137, 37, 240, 184, 90, 92, 114, 204, 245, 84, 236, 198, 195, 111, 184, 252, 160, 180, 106, 174, 60, 221, 42, 59, 3, 187, 3, 73, 228, 247, 43, 11, 169, 43, 180, 133, 55, 83, 98, 50, 229, 85, 2, 188, 35, 102, 201, 98, 226, 87, 19, 240, 25, 20, 159, 240, 209, 193, 194, 198, 161, 209, 58},
+{164, 254, 131, 130, 0, 116, 232, 236, 97, 236, 71, 143, 252, 183, 173, 138, 143, 58, 131, 32, 20, 11, 48, 134, 198, 71, 134, 201, 41, 54, 200, 39, 205, 128, 24, 27, 161, 94, 14, 99, 218, 10, 132, 241, 67, 207, 94, 208, 74, 119, 210, 96, 78, 244, 96, 136, 142, 72, 164, 75, 101, 152, 245, 182, 241, 198, 238, 94, 100, 45, 64, 108, 169, 225, 235, 57, 65, 127, 107, 87, 211, 24, 213, 241, 78, 18, 73, 13, 20, 154, 59, 102, 227, 43, 46, 161, 78, 248, 238, 37, 214, 21, 174, 102, 66, 44, 176, 14, 5, 208, 181, 171, 32, 138, 95, 8, 19, 22, 100, 54, 127, 89, 196, 94, 139, 114, 169, 226},
+{184, 138, 161, 82, 143, 219, 73, 100, 165, 196, 181, 214, 246, 84, 211, 229, 61, 46, 92, 184, 23, 197, 89, 94, 79, 97, 108, 110, 253, 86, 126, 156, 60, 10, 176, 52, 45, 126, 180, 162, 15, 194, 104, 11, 246, 108, 75, 97, 6, 84, 177, 17, 219, 65, 72, 135, 50, 71, 9, 188, 162, 209, 32, 46, 189, 133, 89, 252, 105, 86, 227, 145, 249, 33, 160, 14, 147, 4, 244, 70, 85, 130, 99, 222, 150, 105, 194, 215, 206, 18, 123, 145, 130, 216, 80, 141, 134, 35, 205, 71, 54, 221, 22, 146, 30, 156, 33, 16, 50, 238, 53, 150, 144, 29, 51, 37, 141, 25, 94, 89, 187, 108, 210, 127, 122, 156, 103, 8},
+{92, 83, 88, 46, 136, 29, 34, 160, 102, 5, 110, 90, 131, 239, 99, 1, 136, 166, 95, 109, 7, 58, 132, 120, 255, 176, 203, 43, 36, 246, 38, 68, 63, 9, 110, 79, 212, 103, 204, 123, 152, 134, 145, 106, 122, 247, 210, 93, 53, 76, 120, 244, 246, 63, 126, 88, 190, 128, 170, 203, 153, 233, 53, 223, 94, 97, 50, 10, 185, 140, 112, 221, 38, 252, 237, 243, 43, 118, 123, 186, 135, 138, 25, 102, 170, 25, 45, 229, 17, 86, 15, 133, 118, 120, 124, 10, 117, 249, 120, 172, 138, 25, 26, 92, 12, 253, 249, 187, 170, 48, 171, 41, 86, 62, 19, 55, 198, 92, 190, 129, 58, 148, 50, 25, 157, 46, 157, 101},
+{14, 114, 110, 168, 181, 68, 117, 171, 111, 15, 249, 76, 158, 134, 187, 74, 241, 247, 131, 232, 54, 72, 121, 231, 81, 118, 42, 182, 166, 84, 12, 115, 33, 238, 109, 66, 109, 226, 90, 169, 186, 119, 128, 26, 241, 115, 148, 30, 126, 70, 147, 2, 197, 88, 145, 121, 114, 166, 241, 201, 201, 86, 81, 131, 100, 179, 171, 226, 24, 42, 53, 213, 233, 145, 174, 171, 238, 33, 60, 187, 56, 113, 51, 13, 246, 217, 70, 12, 180, 139, 134, 38, 188, 79, 76, 191, 98, 52, 93, 11, 48, 233, 214, 116, 195, 226, 227, 48, 184, 255, 127, 120, 85, 47, 194, 179, 19, 156, 131, 96, 59, 39, 132, 57, 129, 175, 58, 139},
+{141, 18, 38, 135, 13, 65, 46, 65, 165, 36, 182, 97, 95, 180, 228, 44, 5, 132, 73, 196, 170, 143, 198, 168, 31, 134, 61, 204, 196, 79, 106, 5, 254, 93, 181, 131, 186, 150, 34, 206, 24, 235, 94, 34, 83, 132, 108, 216, 4, 59, 154, 72, 177, 199, 102, 206, 149, 222, 105, 169, 98, 100, 158, 158, 47, 119, 147, 198, 250, 218, 32, 222, 212, 15, 14, 137, 235, 198, 100, 219, 253, 135, 33, 89, 98, 43, 219, 18, 10, 131, 150, 84, 164, 232, 218, 243, 223, 228, 50, 198, 195, 102, 197, 48, 235, 55, 181, 27, 241, 164, 59, 176, 29, 104, 100, 51, 33, 250, 142, 143, 5, 169, 147, 231, 95, 17, 191, 0},
+{32, 217, 184, 57, 211, 78, 58, 180, 163, 11, 212, 193, 174, 186, 223, 237, 148, 89, 20, 228, 226, 215, 160, 30, 35, 6, 75, 240, 164, 233, 67, 71, 21, 88, 249, 179, 5, 161, 255, 57, 87, 100, 130, 96, 245, 136, 147, 116, 82, 142, 100, 241, 163, 84, 6, 216, 86, 211, 165, 187, 172, 179, 241, 220, 113, 61, 86, 139, 26, 91, 12, 106, 69, 172, 57, 35, 168, 48, 183, 90, 221, 229, 237, 47, 231, 231, 219, 76, 231, 230, 80, 194, 128, 177, 224, 249, 204, 238, 79, 168, 41, 151, 140, 172, 142, 247, 11, 83, 125, 174, 228, 38, 169, 224, 26, 134, 198, 127, 115, 39, 132, 186, 205, 38, 118, 87, 74, 7},
+{198, 222, 207, 142, 75, 8, 129, 95, 10, 129, 83, 20, 47, 14, 3, 23, 212, 144, 196, 95, 165, 173, 51, 252, 151, 73, 212, 180, 155, 112, 55, 141, 20, 159, 150, 32, 245, 180, 98, 158, 55, 73, 164, 245, 195, 179, 110, 1, 221, 118, 206, 51, 254, 180, 229, 111, 146, 103, 128, 135, 162, 146, 151, 26, 217, 205, 218, 255, 8, 84, 48, 52, 134, 197, 58, 41, 122, 236, 116, 91, 193, 75, 18, 207, 179, 128, 67, 213, 150, 59, 30, 89, 88, 140, 58, 184, 37, 99, 36, 245, 10, 2, 117, 89, 138, 216, 121, 148, 192, 237, 195, 70, 8, 169, 160, 73, 185, 79, 216, 148, 202, 26, 76, 251, 70, 181, 110, 40},
+{117, 167, 19, 147, 19, 2, 24, 218, 255, 204, 116, 72, 247, 142, 75, 146, 220, 26, 254, 247, 206, 30, 161, 152, 202, 80, 166, 164, 244, 1, 237, 147, 190, 254, 1, 130, 241, 103, 7, 38, 34, 254, 234, 19, 8, 184, 52, 34, 44, 233, 168, 214, 125, 21, 12, 47, 135, 128, 78, 196, 80, 9, 93, 225, 203, 88, 84, 72, 113, 216, 102, 200, 116, 154, 185, 82, 93, 90, 64, 10, 143, 208, 29, 154, 238, 73, 224, 253, 137, 99, 82, 146, 9, 244, 203, 163, 180, 11, 242, 224, 173, 42, 29, 20, 58, 1, 199, 162, 120, 145, 37, 147, 7, 123, 2, 136, 138, 236, 194, 189, 220, 118, 135, 68, 210, 128, 68, 13},
+{192, 147, 251, 206, 155, 135, 241, 154, 81, 152, 174, 231, 232, 122, 180, 172, 17, 240, 105, 244, 153, 217, 77, 100, 43, 5, 191, 11, 217, 14, 112, 209, 96, 158, 107, 81, 113, 230, 120, 31, 20, 135, 37, 141, 38, 130, 67, 190, 32, 10, 101, 102, 254, 133, 45, 132, 233, 205, 64, 82, 194, 59, 230, 194, 182, 172, 109, 155, 150, 221, 169, 71, 63, 246, 220, 201, 151, 18, 251, 211, 149, 99, 22, 137, 158, 143, 16, 197, 109, 71, 248, 129, 53, 210, 5, 246, 118, 16, 149, 225, 140, 40, 94, 138, 64, 178, 4, 165, 204, 14, 12, 57, 146, 219, 87, 242, 51, 55, 83, 101, 82, 164, 176, 0, 136, 33, 78, 224},
+{73, 239, 70, 27, 174, 121, 65, 93, 97, 55, 160, 113, 20, 233, 166, 10, 124, 9, 11, 76, 61, 84, 185, 162, 75, 251, 25, 117, 153, 249, 42, 115, 63, 253, 8, 66, 201, 255, 168, 180, 49, 166, 88, 26, 190, 180, 184, 175, 161, 54, 49, 204, 84, 89, 30, 156, 191, 19, 12, 255, 235, 154, 233, 191, 193, 72, 175, 88, 250, 70, 211, 190, 143, 31, 69, 237, 48, 154, 38, 96, 149, 164, 99, 116, 139, 226, 241, 109, 243, 100, 176, 247, 205, 160, 27, 8, 108, 14, 191, 83, 93, 165, 236, 39, 169, 157, 37, 152, 242, 225, 255, 255, 33, 123, 168, 168, 153, 51, 52, 65, 137, 1, 23, 53, 81, 85, 36, 188},
+{206, 43, 240, 113, 51, 240, 22, 78, 1, 207, 229, 229, 134, 236, 187, 132, 8, 50, 240, 234, 32, 158, 205, 166, 186, 196, 55, 152, 155, 229, 125, 57, 235, 83, 56, 66, 251, 151, 33, 55, 112, 133, 84, 246, 5, 43, 97, 33, 26, 82, 152, 215, 45, 37, 31, 154, 194, 139, 188, 17, 118, 240, 166, 27, 240, 99, 255, 123, 79, 63, 38, 114, 145, 156, 65, 3, 79, 233, 223, 117, 209, 109, 57, 88, 230, 196, 187, 219, 183, 244, 50, 222, 97, 143, 191, 180, 42, 112, 28, 159, 142, 208, 217, 137, 207, 143, 2, 202, 61, 167, 237, 19, 207, 73, 87, 45, 32, 3, 117, 112, 234, 70, 100, 165, 192, 70, 157, 64},
+{162, 189, 22, 39, 40, 167, 159, 203, 97, 25, 168, 102, 214, 21, 171, 146, 225, 50, 2, 13, 139, 79, 79, 57, 80, 120, 82, 135, 128, 29, 219, 98, 203, 44, 76, 214, 47, 222, 109, 203, 193, 160, 9, 248, 70, 112, 255, 45, 173, 96, 168, 1, 104, 44, 113, 113, 223, 83, 212, 142, 199, 225, 106, 181, 2, 52, 247, 64, 167, 208, 70, 186, 0, 142, 154, 133, 15, 55, 235, 97, 116, 64, 69, 42, 98, 116, 122, 82, 4, 39, 112, 160, 197, 124, 232, 24, 100, 106, 37, 84, 50, 47, 114, 139, 213, 200, 103, 55, 31, 253, 181, 3, 113, 218, 11, 72, 196, 101, 248, 55, 232, 29, 236, 68, 176, 104, 210, 94},
+{33, 188, 18, 14, 84, 29, 54, 68, 49, 160, 22, 88, 131, 195, 173, 60, 157, 253, 38, 23, 181, 130, 247, 207, 228, 58, 185, 47, 21, 40, 154, 38, 163, 191, 41, 229, 94, 222, 9, 65, 174, 131, 50, 44, 39, 218, 225, 252, 14, 123, 254, 164, 198, 53, 15, 211, 185, 198, 25, 66, 165, 228, 64, 98, 18, 64, 243, 3, 98, 82, 98, 113, 250, 105, 157, 186, 56, 204, 181, 106, 214, 191, 218, 166, 4, 128, 218, 183, 138, 174, 158, 216, 215, 227, 179, 16, 139, 221, 22, 50, 160, 62, 180, 197, 178, 199, 7, 147, 102, 16, 215, 116, 126, 222, 58, 59, 234, 27, 109, 234, 159, 33, 242, 219, 119, 16, 45, 24},
+{172, 174, 211, 154, 197, 236, 234, 131, 168, 226, 149, 163, 83, 29, 250, 107, 100, 186, 186, 217, 211, 86, 64, 137, 183, 195, 98, 161, 136, 81, 194, 115, 248, 1, 125, 78, 42, 239, 26, 141, 167, 239, 45, 68, 90, 186, 147, 208, 96, 220, 49, 222, 31, 122, 37, 80, 110, 241, 252, 219, 108, 65, 84, 34, 86, 179, 108, 209, 102, 161, 123, 95, 144, 89, 32, 252, 243, 29, 27, 9, 63, 65, 194, 230, 127, 200, 41, 154, 211, 29, 70, 222, 113, 83, 124, 146, 204, 214, 22, 164, 48, 213, 192, 10, 158, 224, 50, 47, 176, 6, 64, 152, 104, 251, 102, 208, 159, 145, 178, 90, 25, 95, 117, 121, 59, 16, 161, 47},
+{114, 229, 130, 138, 86, 204, 182, 75, 36, 133, 213, 168, 67, 170, 73, 138, 253, 178, 104, 191, 107, 182, 113, 7, 11, 5, 102, 74, 67, 207, 134, 147, 128, 200, 110, 239, 67, 152, 162, 83, 168, 31, 197, 185, 95, 192, 58, 155, 61, 248, 44, 133, 11, 214, 211, 49, 95, 176, 76, 86, 142, 129, 52, 155, 73, 160, 86, 10, 148, 189, 180, 129, 152, 163, 59, 210, 173, 191, 127, 178, 159, 187, 137, 212, 117, 230, 159, 151, 88, 97, 93, 202, 65, 24, 151, 219, 56, 116, 143, 214, 243, 143, 107, 144, 102, 169, 74, 174, 28, 236, 236, 210, 70, 245, 13, 212, 95, 197, 148, 103, 14, 29, 49, 249, 213, 7, 35, 59},
+{91, 177, 246, 169, 192, 51, 134, 186, 199, 22, 152, 50, 227, 135, 95, 207, 165, 243, 215, 17, 252, 91, 132, 216, 129, 114, 5, 168, 68, 137, 255, 6, 167, 143, 94, 205, 129, 66, 35, 110, 212, 48, 175, 60, 200, 80, 64, 231, 152, 2, 255, 73, 225, 148, 194, 243, 252, 121, 84, 234, 105, 143, 80, 13, 170, 219, 150, 33, 147, 142, 97, 245, 93, 246, 151, 131, 202, 20, 67, 99, 114, 233, 63, 11, 55, 55, 81, 131, 4, 168, 52, 43, 182, 107, 226, 236, 18, 178, 61, 80, 135, 161, 149, 58, 184, 248, 238, 61, 33, 189, 61, 49, 103, 91, 207, 154, 194, 108, 228, 251, 226, 91, 93, 5, 67, 200, 179, 252},
+{21, 44, 104, 6, 151, 91, 9, 51, 63, 131, 158, 195, 19, 49, 124, 130, 59, 237, 176, 103, 21, 191, 135, 46, 181, 185, 233, 225, 251, 169, 188, 182, 17, 122, 216, 224, 248, 22, 195, 193, 236, 45, 65, 151, 201, 47, 177, 58, 10, 110, 203, 133, 255, 151, 187, 81, 114, 177, 110, 146, 254, 137, 51, 197, 21, 80, 93, 29, 166, 43, 231, 222, 156, 58, 95, 146, 164, 71, 160, 18, 106, 185, 193, 172, 251, 2, 54, 166, 238, 199, 0, 85, 33, 72, 182, 119, 185, 209, 212, 103, 194, 28, 225, 233, 114, 202, 123, 152, 113, 255, 90, 33, 95, 212, 157, 91, 158, 21, 237, 80, 188, 126, 130, 212, 122, 253, 189, 51},
+{36, 36, 43, 117, 245, 74, 151, 163, 130, 233, 75, 66, 117, 173, 35, 120, 51, 186, 150, 174, 110, 11, 200, 17, 114, 183, 176, 67, 104, 225, 181, 37, 93, 52, 1, 47, 161, 190, 98, 188, 47, 199, 97, 158, 168, 165, 224, 11, 34, 246, 108, 153, 194, 178, 245, 179, 31, 33, 110, 224, 0, 149, 238, 121, 161, 136, 93, 218, 128, 110, 34, 126, 116, 12, 72, 20, 214, 9, 147, 242, 74, 161, 6, 240, 8, 239, 73, 248, 13, 174, 98, 128, 126, 244, 252, 169, 137, 197, 2, 32, 126, 43, 39, 218, 85, 58, 230, 191, 238, 219, 82, 2, 108, 178, 75, 176, 63, 2, 5, 223, 226, 81, 207, 97, 122, 99, 200, 221},
+{11, 136, 167, 41, 237, 220, 183, 126, 166, 49, 5, 111, 173, 165, 17, 182, 170, 173, 41, 200, 65, 201, 215, 27, 148, 194, 164, 186, 184, 135, 253, 127, 143, 251, 230, 132, 201, 75, 128, 75, 12, 96, 94, 54, 28, 104, 129, 189, 163, 54, 88, 174, 105, 209, 97, 89, 197, 145, 205, 149, 138, 64, 220, 250, 87, 16, 253, 113, 71, 144, 67, 145, 220, 9, 207, 46, 80, 31, 36, 166, 97, 150, 19, 187, 140, 10, 223, 199, 196, 135, 85, 60, 144, 96, 157, 177, 89, 94, 51, 64, 249, 138, 91, 51, 75, 183, 153, 28, 56, 127, 228, 100, 168, 94, 146, 147, 208, 2, 107, 142, 7, 51, 232, 197, 95, 59, 232, 74},
+{57, 214, 102, 140, 122, 95, 230, 207, 186, 211, 91, 40, 194, 61, 85, 244, 247, 8, 74, 107, 43, 108, 253, 204, 18, 163, 64, 182, 28, 32, 206, 150, 205, 248, 231, 224, 44, 52, 72, 7, 85, 92, 87, 174, 153, 80, 62, 73, 239, 221, 201, 127, 171, 106, 156, 224, 200, 131, 240, 228, 92, 176, 80, 20, 169, 169, 151, 81, 162, 118, 250, 233, 188, 170, 24, 169, 160, 82, 106, 205, 250, 19, 128, 253, 163, 251, 14, 196, 102, 50, 61, 81, 161, 225, 169, 115, 129, 235, 163, 132, 250, 155, 127, 217, 220, 94, 5, 15, 81, 16, 116, 110, 152, 231, 191, 82, 162, 20, 76, 59, 39, 91, 150, 181, 111, 209, 0, 144},
+{58, 92, 10, 226, 76, 183, 136, 225, 163, 235, 77, 179, 90, 134, 252, 2, 47, 68, 64, 241, 245, 190, 242, 197, 44, 123, 62, 61, 102, 159, 34, 162, 100, 95, 11, 254, 238, 199, 103, 229, 69, 6, 116, 186, 220, 49, 183, 253, 178, 211, 197, 81, 57, 144, 105, 18, 136, 61, 204, 133, 60, 128, 97, 219, 19, 233, 185, 32, 239, 183, 26, 90, 173, 251, 179, 111, 169, 180, 172, 180, 250, 34, 206, 169, 81, 113, 42, 193, 50, 173, 15, 27, 185, 224, 25, 4, 96, 183, 45, 50, 233, 227, 247, 20, 46, 112, 56, 51, 104, 204, 165, 134, 12, 57, 200, 41, 170, 84, 188, 5, 114, 6, 82, 31, 124, 122, 19, 127},
+{180, 220, 137, 213, 205, 94, 108, 149, 151, 94, 82, 202, 215, 45, 136, 231, 22, 51, 186, 194, 96, 178, 7, 205, 7, 164, 48, 106, 225, 157, 96, 116, 121, 220, 73, 89, 1, 172, 217, 14, 156, 104, 213, 171, 90, 18, 90, 129, 18, 159, 159, 5, 12, 250, 63, 148, 126, 154, 40, 111, 112, 59, 173, 122, 95, 93, 251, 148, 17, 179, 66, 242, 81, 6, 155, 101, 1, 5, 27, 35, 85, 78, 199, 96, 118, 172, 146, 138, 27, 107, 106, 92, 22, 145, 244, 158, 181, 29, 231, 215, 31, 30, 81, 213, 205, 37, 152, 180, 154, 11, 157, 5, 15, 83, 114, 111, 46, 164, 191, 49, 175, 146, 6, 218, 152, 4, 75, 224},
+{138, 51, 251, 172, 175, 184, 140, 79, 249, 249, 232, 68, 224, 151, 181, 235, 131, 57, 157, 92, 44, 70, 12, 105, 28, 152, 147, 172, 239, 89, 249, 157, 216, 169, 31, 199, 27, 80, 255, 8, 163, 249, 71, 35, 103, 44, 129, 209, 36, 210, 154, 242, 203, 196, 170, 207, 73, 237, 142, 129, 110, 48, 10, 240, 252, 102, 179, 158, 39, 43, 121, 246, 98, 0, 183, 111, 175, 119, 241, 21, 34, 159, 185, 44, 20, 21, 140, 217, 98, 207, 245, 178, 168, 54, 82, 7, 3, 226, 241, 124, 86, 1, 21, 173, 46, 232, 213, 152, 26, 130, 167, 186, 177, 92, 30, 47, 250, 149, 251, 179, 93, 231, 187, 161, 46, 245, 218, 180},
+{71, 244, 7, 203, 170, 150, 110, 100, 147, 175, 244, 220, 104, 245, 235, 11, 219, 20, 158, 202, 74, 168, 134, 77, 107, 36, 36, 8, 127, 26, 31, 249, 208, 241, 71, 115, 77, 68, 71, 156, 24, 145, 202, 231, 156, 216, 146, 94, 80, 93, 78, 245, 207, 178, 115, 179, 110, 149, 246, 179, 40, 134, 247, 51, 30, 208, 82, 253, 22, 113, 114, 235, 209, 45, 212, 90, 21, 117, 255, 52, 29, 165, 115, 143, 24, 222, 198, 66, 185, 79, 231, 137, 202, 125, 102, 107, 30, 213, 121, 85, 167, 143, 112, 101, 174, 249, 42, 88, 87, 23, 216, 191, 208, 120, 113, 178, 143, 125, 12, 231, 242, 112, 89, 184, 57, 161, 238, 28},
+{159, 157, 77, 71, 75, 20, 201, 7, 48, 253, 154, 102, 139, 43, 153, 175, 106, 42, 161, 64, 63, 207, 12, 28, 198, 43, 133, 209, 123, 23, 155, 15, 55, 176, 95, 35, 158, 151, 245, 235, 148, 128, 152, 93, 159, 254, 144, 13, 250, 246, 77, 94, 149, 95, 129, 154, 17, 45, 196, 146, 43, 226, 1, 78, 120, 235, 45, 215, 198, 10, 6, 33, 94, 24, 155, 117, 95, 179, 100, 125, 14, 183, 188, 215, 160, 155, 237, 225, 159, 249, 202, 49, 53, 139, 218, 98, 167, 77, 133, 166, 138, 140, 193, 167, 50, 56, 112, 183, 253, 152, 29, 144, 166, 114, 132, 17, 167, 98, 201, 100, 19, 82, 199, 172, 156, 194, 207, 201},
+{117, 193, 52, 107, 5, 27, 136, 89, 143, 48, 177, 229, 82, 99, 221, 79, 175, 61, 51, 106, 38, 132, 151, 236, 121, 210, 123, 114, 125, 250, 5, 250, 228, 147, 241, 114, 72, 45, 237, 167, 222, 176, 152, 85, 162, 180, 0, 108, 196, 227, 87, 5, 121, 219, 202, 36, 17, 249, 205, 9, 175, 163, 23, 106, 121, 235, 105, 148, 64, 205, 98, 137, 19, 190, 88, 186, 117, 153, 4, 71, 85, 197, 175, 176, 139, 103, 24, 161, 8, 33, 244, 179, 101, 112, 130, 70, 23, 39, 207, 4, 124, 188, 172, 247, 254, 101, 249, 109, 72, 181, 52, 167, 216, 162, 104, 149, 236, 160, 57, 130, 86, 199, 251, 19, 155, 13, 179, 64},
+{48, 222, 138, 100, 110, 82, 33, 201, 71, 187, 125, 80, 64, 208, 146, 67, 76, 25, 138, 67, 177, 88, 159, 22, 173, 14, 251, 112, 14, 31, 67, 35, 145, 162, 236, 148, 220, 255, 11, 78, 75, 103, 44, 189, 188, 237, 178, 87, 111, 126, 14, 70, 75, 186, 232, 86, 235, 133, 147, 170, 233, 248, 204, 197, 162, 83, 103, 215, 47, 160, 238, 5, 190, 170, 67, 96, 87, 210, 193, 8, 154, 198, 71, 242, 230, 113, 233, 23, 111, 248, 141, 36, 95, 92, 240, 252, 113, 69, 211, 174, 110, 168, 33, 200, 221, 210, 208, 11, 244, 48, 12, 171, 25, 199, 153, 35, 128, 247, 245, 93, 58, 73, 249, 241, 228, 92, 133, 236},
+{59, 23, 182, 211, 19, 159, 245, 169, 44, 65, 26, 46, 232, 84, 16, 231, 153, 35, 103, 94, 188, 178, 56, 237, 48, 57, 140, 86, 171, 156, 79, 230, 54, 62, 92, 62, 38, 158, 11, 68, 97, 40, 105, 172, 73, 241, 113, 52, 65, 247, 165, 155, 88, 116, 247, 13, 211, 12, 159, 233, 78, 35, 231, 109, 158, 230, 73, 61, 243, 23, 68, 210, 38, 8, 211, 155, 233, 24, 154, 96, 190, 144, 132, 220, 77, 37, 118, 26, 79, 74, 18, 175, 243, 226, 16, 32, 127, 147, 141, 135, 227, 212, 149, 64, 181, 91, 248, 33, 120, 40, 250, 215, 112, 67, 76, 162, 30, 90, 188, 220, 121, 243, 40, 197, 31, 55, 112, 136},
+{112, 86, 153, 144, 102, 107, 28, 125, 133, 102, 87, 147, 138, 179, 229, 19, 202, 78, 120, 157, 195, 152, 12, 68, 82, 142, 52, 49, 93, 17, 163, 134, 37, 35, 215, 160, 11, 14, 65, 28, 108, 210, 99, 107, 175, 71, 145, 46, 42, 44, 234, 167, 98, 137, 163, 226, 100, 126, 179, 129, 119, 132, 156, 172, 56, 137, 102, 244, 182, 164, 167, 45, 114, 144, 80, 174, 88, 219, 186, 72, 13, 149, 106, 51, 34, 232, 118, 152, 122, 4, 13, 73, 138, 254, 46, 92, 0, 224, 232, 4, 54, 187, 153, 46, 16, 155, 195, 153, 43, 46, 25, 93, 52, 141, 49, 196, 255, 70, 175, 161, 141, 87, 17, 5, 148, 42, 26, 93},
+{22, 159, 192, 205, 110, 124, 234, 64, 98, 190, 190, 40, 127, 238, 194, 152, 141, 102, 173, 100, 206, 6, 180, 68, 233, 226, 95, 180, 164, 219, 205, 34, 239, 147, 138, 251, 68, 4, 95, 160, 110, 107, 194, 72, 94, 210, 99, 213, 127, 168, 19, 5, 16, 61, 236, 173, 152, 63, 192, 56, 45, 22, 49, 85, 139, 227, 65, 177, 33, 67, 14, 106, 100, 41, 9, 29, 234, 248, 219, 30, 76, 252, 110, 56, 82, 103, 104, 138, 180, 182, 11, 187, 204, 150, 11, 244, 39, 125, 132, 236, 33, 217, 220, 196, 16, 18, 155, 220, 57, 200, 138, 174, 49, 166, 192, 94, 70, 11, 199, 9, 199, 211, 236, 15, 20, 27, 237, 134},
+{56, 117, 1, 93, 212, 233, 81, 104, 209, 134, 137, 153, 33, 56, 242, 108, 129, 171, 93, 10, 82, 84, 229, 35, 13, 246, 12, 212, 223, 125, 76, 148, 160, 191, 110, 214, 216, 152, 118, 70, 168, 60, 198, 246, 135, 247, 80, 45, 110, 46, 8, 145, 247, 177, 115, 188, 7, 60, 220, 236, 242, 202, 1, 251, 27, 141, 39, 40, 22, 189, 121, 97, 182, 51, 227, 72, 148, 26, 119, 13, 218, 7, 64, 253, 34, 100, 165, 148, 170, 240, 235, 200, 46, 9, 224, 193, 170, 66, 216, 30, 62, 164, 252, 167, 145, 124, 95, 56, 29, 31, 184, 128, 33, 227, 99, 218, 13, 213, 153, 231, 60, 37, 40, 6, 209, 4, 87, 23},
+{70, 173, 153, 27, 82, 166, 238, 52, 161, 60, 119, 140, 135, 214, 158, 94, 135, 43, 124, 178, 0, 156, 146, 65, 202, 211, 10, 200, 18, 129, 248, 162, 118, 40, 253, 188, 123, 173, 220, 229, 194, 76, 33, 68, 73, 54, 240, 111, 206, 50, 75, 32, 123, 217, 99, 95, 242, 104, 122, 1, 191, 5, 23, 216, 35, 47, 48, 139, 113, 236, 129, 161, 51, 177, 114, 178, 15, 210, 249, 126, 137, 221, 24, 232, 1, 63, 113, 193, 233, 115, 74, 176, 46, 218, 86, 202, 251, 217, 129, 143, 203, 60, 168, 216, 107, 71, 89, 97, 156, 203, 245, 56, 87, 114, 226, 62, 40, 16, 83, 157, 26, 224, 213, 24, 29, 200, 50, 51},
+{49, 90, 214, 53, 145, 234, 23, 169, 250, 50, 157, 208, 187, 88, 150, 130, 246, 65, 181, 100, 177, 175, 27, 96, 203, 121, 41, 192, 107, 156, 2, 188, 164, 26, 58, 179, 12, 183, 14, 79, 48, 244, 81, 192, 152, 238, 181, 33, 164, 149, 190, 210, 56, 94, 195, 123, 44, 254, 226, 93, 196, 232, 154, 189, 160, 116, 14, 156, 91, 82, 199, 24, 10, 131, 63, 228, 81, 35, 224, 8, 132, 166, 1, 132, 152, 245, 254, 111, 122, 199, 125, 245, 98, 234, 162, 152, 59, 22, 29, 213, 133, 226, 42, 145, 40, 29, 118, 51, 166, 207, 86, 19, 62, 24, 234, 180, 191, 40, 215, 210, 243, 155, 172, 77, 167, 145, 71, 249},
+{169, 246, 207, 43, 227, 23, 220, 109, 183, 184, 225, 99, 218, 166, 124, 163, 170, 52, 1, 252, 155, 237, 80, 170, 111, 65, 44, 92, 168, 112, 57, 191, 52, 44, 173, 37, 245, 90, 126, 252, 68, 88, 146, 7, 62, 207, 236, 251, 242, 79, 133, 181, 161, 52, 108, 69, 74, 145, 1, 146, 158, 179, 165, 102, 197, 64, 141, 133, 214, 109, 155, 88, 163, 227, 142, 2, 35, 190, 180, 80, 49, 202, 147, 135, 156, 46, 91, 231, 160, 93, 209, 118, 54, 196, 2, 42, 128, 231, 234, 21, 232, 132, 233, 255, 239, 153, 247, 192, 87, 114, 59, 75, 34, 13, 187, 179, 245, 167, 30, 5, 51, 4, 234, 235, 43, 9, 151, 218},
+{59, 149, 126, 147, 142, 220, 186, 7, 68, 213, 111, 212, 176, 25, 70, 207, 39, 193, 186, 178, 50, 12, 73, 199, 193, 195, 246, 78, 0, 255, 87, 106, 4, 5, 92, 180, 195, 91, 131, 205, 189, 146, 99, 229, 50, 168, 192, 152, 39, 20, 25, 100, 48, 4, 7, 241, 218, 212, 105, 149, 236, 221, 218, 4, 30, 109, 184, 250, 74, 121, 127, 74, 77, 203, 91, 224, 12, 80, 10, 7, 80, 186, 9, 70, 194, 180, 60, 18, 214, 177, 52, 182, 66, 88, 51, 201, 87, 136, 107, 136, 105, 51, 134, 46, 120, 167, 146, 243, 162, 253, 7, 126, 234, 195, 30, 201, 14, 186, 54, 4, 56, 220, 141, 70, 14, 159, 200, 73},
+{67, 229, 213, 185, 229, 126, 208, 85, 70, 8, 52, 167, 137, 213, 25, 163, 17, 186, 77, 249, 71, 232, 114, 47, 68, 208, 88, 178, 134, 202, 139, 80, 75, 197, 82, 32, 107, 241, 220, 112, 159, 63, 223, 203, 109, 178, 71, 186, 91, 82, 142, 7, 160, 221, 36, 156, 82, 25, 51, 221, 38, 6, 224, 66, 247, 59, 111, 184, 193, 147, 152, 217, 218, 133, 111, 248, 229, 180, 103, 42, 93, 228, 166, 28, 211, 241, 143, 226, 178, 212, 20, 195, 60, 84, 62, 47, 223, 31, 65, 28, 63, 238, 11, 137, 60, 35, 60, 236, 211, 180, 25, 87, 43, 21, 68, 24, 136, 212, 20, 80, 109, 137, 187, 85, 121, 14, 212, 85},
+{102, 211, 50, 139, 122, 64, 29, 59, 14, 80, 85, 228, 155, 109, 224, 53, 111, 222, 242, 86, 30, 92, 129, 128, 51, 89, 82, 91, 129, 33, 184, 169, 68, 49, 179, 91, 251, 55, 49, 128, 168, 201, 65, 61, 100, 143, 185, 206, 254, 158, 115, 166, 124, 138, 109, 248, 236, 69, 86, 73, 147, 125, 217, 149, 181, 134, 185, 87, 48, 222, 206, 200, 190, 88, 201, 166, 6, 95, 196, 152, 143, 49, 13, 215, 217, 151, 142, 202, 155, 2, 34, 182, 253, 2, 206, 134, 163, 162, 84, 14, 243, 9, 241, 74, 228, 227, 112, 24, 10, 86, 49, 236, 55, 15, 242, 64, 154, 84, 4, 140, 120, 188, 2, 151, 15, 144, 197, 120},
+{175, 36, 208, 149, 22, 112, 15, 101, 248, 212, 210, 73, 171, 115, 3, 146, 214, 9, 153, 237, 82, 66, 20, 206, 76, 176, 184, 140, 61, 71, 116, 177, 102, 104, 52, 234, 154, 114, 11, 141, 83, 194, 215, 19, 154, 102, 135, 184, 21, 127, 107, 251, 51, 210, 241, 189, 164, 254, 48, 205, 190, 129, 85, 90, 163, 12, 140, 174, 106, 33, 158, 43, 200, 223, 158, 73, 139, 1, 150, 87, 153, 173, 176, 68, 107, 57, 103, 197, 140, 161, 26, 5, 1, 137, 179, 16, 130, 242, 159, 1, 219, 206, 87, 221, 217, 169, 13, 253, 193, 251, 122, 219, 200, 127, 20, 169, 225, 135, 206, 24, 251, 63, 133, 241, 107, 83, 229, 154},
+{3, 231, 90, 171, 111, 61, 157, 126, 199, 2, 22, 242, 26, 179, 74, 140, 145, 230, 192, 209, 60, 228, 221, 227, 37, 25, 238, 30, 89, 91, 255, 89, 189, 178, 75, 19, 2, 196, 151, 117, 109, 169, 225, 172, 153, 6, 249, 187, 0, 243, 189, 251, 128, 43, 205, 69, 94, 7, 15, 126, 159, 180, 60, 4, 1, 20, 240, 212, 103, 213, 122, 178, 53, 6, 81, 181, 87, 133, 55, 86, 155, 213, 38, 72, 76, 134, 233, 230, 180, 44, 210, 70, 4, 206, 244, 245, 168, 185, 182, 10, 200, 90, 182, 244, 197, 240, 88, 74, 219, 76, 241, 182, 147, 199, 80, 12, 70, 106, 251, 201, 154, 4, 164, 78, 39, 195, 153, 170},
+{132, 115, 175, 141, 51, 136, 241, 127, 153, 44, 173, 161, 193, 155, 53, 4, 235, 12, 139, 98, 77, 66, 38, 196, 240, 132, 66, 21, 248, 200, 74, 71, 206, 186, 131, 160, 218, 134, 147, 69, 226, 13, 223, 204, 208, 82, 57, 230, 251, 54, 52, 227, 173, 105, 202, 132, 13, 185, 203, 22, 71, 96, 105, 102, 117, 175, 4, 213, 215, 6, 182, 19, 50, 175, 239, 110, 30, 164, 109, 29, 64, 238, 103, 82, 99, 88, 103, 140, 57, 115, 199, 90, 8, 123, 237, 50, 46, 200, 146, 80, 105, 72, 176, 142, 128, 148, 34, 16, 144, 237, 104, 238, 177, 46, 102, 59, 65, 131, 168, 83, 223, 240, 82, 27, 156, 204, 76, 241},
+{205, 140, 221, 246, 50, 235, 115, 220, 70, 129, 219, 107, 13, 200, 113, 127, 194, 61, 11, 107, 63, 229, 223, 201, 83, 50, 6, 133, 1, 1, 238, 153, 249, 88, 107, 202, 222, 131, 80, 136, 123, 217, 124, 68, 85, 192, 14, 31, 172, 12, 210, 29, 146, 67, 17, 240, 242, 116, 52, 240, 115, 64, 111, 212, 221, 241, 224, 214, 214, 201, 204, 100, 231, 62, 52, 200, 219, 87, 249, 108, 4, 211, 95, 125, 22, 72, 93, 9, 15, 180, 250, 146, 100, 107, 206, 200, 205, 86, 44, 99, 138, 117, 71, 213, 245, 90, 241, 164, 134, 8, 70, 163, 30, 219, 13, 107, 80, 85, 1, 163, 94, 125, 255, 165, 11, 58, 112, 41},
+{70, 88, 25, 88, 22, 20, 97, 161, 174, 129, 221, 65, 157, 80, 154, 135, 192, 24, 24, 39, 108, 251, 118, 130, 118, 123, 253, 95, 176, 201, 32, 40, 159, 166, 97, 98, 252, 182, 209, 226, 100, 77, 23, 91, 241, 252, 198, 202, 183, 6, 107, 181, 94, 128, 222, 17, 88, 236, 130, 70, 132, 216, 147, 65, 84, 199, 18, 84, 220, 156, 208, 248, 63, 236, 203, 162, 252, 128, 172, 35, 91, 241, 118, 67, 98, 160, 154, 170, 208, 144, 218, 21, 57, 191, 51, 192, 66, 218, 30, 108, 73, 222, 191, 210, 173, 230, 254, 111, 88, 116, 184, 38, 232, 237, 200, 68, 171, 208, 181, 211, 28, 69, 27, 193, 46, 20, 58, 138},
+{3, 102, 180, 233, 24, 10, 110, 244, 235, 3, 12, 157, 133, 39, 170, 181, 120, 88, 206, 86, 109, 87, 166, 206, 156, 39, 113, 50, 82, 224, 209, 83, 90, 207, 121, 73, 106, 200, 123, 106, 103, 180, 37, 236, 131, 250, 122, 136, 142, 95, 90, 11, 189, 25, 55, 174, 13, 158, 218, 170, 137, 58, 217, 122, 190, 17, 57, 156, 151, 199, 145, 238, 22, 16, 80, 172, 253, 70, 55, 27, 80, 189, 221, 62, 12, 61, 245, 166, 197, 12, 162, 157, 126, 36, 138, 128, 57, 189, 28, 240, 252, 228, 92, 243, 11, 228, 77, 251, 225, 250, 224, 51, 141, 158, 63, 69, 10, 215, 15, 128, 16, 173, 221, 137, 40, 189, 160, 252},
+{25, 13, 78, 54, 230, 157, 168, 213, 45, 199, 153, 106, 68, 16, 123, 47, 19, 243, 72, 48, 37, 73, 161, 143, 54, 129, 95, 20, 84, 92, 187, 107, 179, 94, 120, 198, 11, 126, 154, 186, 134, 241, 68, 103, 42, 54, 55, 67, 255, 68, 95, 169, 97, 146, 185, 141, 197, 54, 122, 49, 65, 107, 56, 61, 224, 17, 239, 153, 91, 136, 79, 202, 42, 82, 52, 19, 50, 121, 42, 7, 214, 29, 136, 130, 27, 172, 113, 249, 51, 24, 240, 151, 81, 237, 112, 47, 81, 224, 225, 183, 27, 62, 179, 227, 147, 142, 130, 41, 20, 18, 88, 197, 228, 202, 224, 209, 210, 35, 85, 23, 40, 65, 7, 0, 147, 154, 51, 41},
+{175, 125, 220, 29, 111, 130, 36, 50, 6, 107, 66, 69, 179, 112, 144, 33, 246, 140, 63, 207, 119, 86, 90, 162, 194, 232, 103, 208, 151, 20, 222, 57, 224, 232, 197, 235, 241, 176, 148, 145, 121, 80, 92, 4, 172, 19, 228, 138, 95, 172, 128, 67, 48, 25, 209, 232, 51, 102, 49, 205, 52, 183, 68, 250, 10, 158, 233, 63, 133, 197, 246, 155, 122, 197, 244, 176, 181, 103, 68, 74, 31, 1, 251, 235, 199, 241, 179, 212, 248, 74, 11, 77, 206, 114, 187, 126, 190, 235, 228, 209, 227, 177, 60, 232, 233, 181, 16, 59, 180, 144, 167, 170, 94, 147, 235, 244, 204, 169, 33, 137, 23, 243, 71, 167, 167, 104, 254, 203},
+{181, 40, 192, 179, 121, 174, 208, 54, 150, 241, 126, 110, 231, 37, 72, 145, 205, 210, 49, 61, 238, 35, 94, 214, 20, 251, 72, 219, 201, 158, 103, 217, 214, 19, 129, 223, 35, 177, 247, 29, 147, 101, 162, 140, 11, 61, 27, 197, 134, 113, 117, 159, 74, 220, 5, 6, 7, 92, 194, 34, 65, 42, 210, 196, 95, 111, 201, 130, 221, 227, 171, 208, 18, 166, 220, 22, 140, 31, 94, 155, 196, 93, 145, 56, 185, 60, 7, 167, 53, 157, 158, 14, 164, 21, 49, 146, 153, 40, 19, 168, 198, 242, 198, 169, 108, 7, 7, 211, 93, 184, 8, 6, 138, 57, 122, 3, 99, 179, 165, 116, 211, 240, 231, 57, 31, 113, 60, 138},
+{116, 62, 97, 191, 174, 123, 16, 234, 193, 175, 147, 133, 209, 62, 110, 37, 107, 64, 1, 73, 225, 202, 175, 168, 172, 243, 214, 214, 82, 75, 240, 62, 217, 78, 210, 231, 54, 37, 129, 185, 151, 63, 67, 144, 166, 124, 222, 76, 204, 18, 5, 139, 33, 231, 214, 154, 163, 222, 85, 63, 84, 20, 181, 13, 187, 235, 187, 88, 198, 211, 41, 202, 92, 242, 160, 12, 202, 63, 126, 212, 228, 154, 199, 109, 231, 54, 179, 221, 58, 32, 144, 149, 156, 120, 130, 202, 234, 89, 172, 32, 73, 9, 228, 117, 88, 224, 230, 162, 23, 204, 144, 21, 136, 246, 241, 51, 152, 183, 60, 94, 103, 104, 49, 73, 220, 18, 46},
+{168, 145, 121, 9, 224, 57, 71, 29, 194, 29, 192, 61, 80, 246, 14, 59, 108, 236, 100, 213, 217, 224, 72, 86, 134, 89, 4, 42, 249, 226, 140, 1, 192, 231, 144, 182, 63, 2, 108, 194, 140, 174, 142, 113, 179, 27, 42, 92, 207, 230, 199, 224, 191, 243, 113, 73, 19, 213, 172, 118, 36, 199, 105, 115, 86, 36, 243, 213, 197, 135, 23, 139, 102, 160, 83, 61, 51, 155, 121, 71, 20, 99, 2, 3, 165, 87, 46, 58, 71, 210, 18, 98, 244, 8, 237, 13, 193, 111, 115, 173, 56, 132, 110, 39, 119, 21, 123, 25, 8, 197, 206, 248, 245, 215, 87, 96, 54, 86, 190, 62, 86, 80, 76, 221, 246, 173, 114, 242},
+{72, 183, 117, 235, 32, 33, 4, 110, 45, 114, 111, 176, 75, 243, 114, 6, 181, 93, 69, 83, 129, 77, 176, 8, 82, 255, 120, 175, 9, 246, 16, 188, 148, 99, 201, 97, 19, 158, 189, 25, 221, 64, 81, 108, 126, 54, 187, 85, 56, 82, 193, 236, 107, 141, 39, 139, 101, 62, 176, 215, 87, 215, 57, 96, 129, 4, 68, 22, 145, 204, 23, 100, 69, 124, 242, 70, 156, 175, 82, 143, 208, 118, 145, 193, 250, 250, 248, 61, 147, 6, 120, 59, 78, 25, 115, 195, 109, 108, 198, 226, 225, 107, 196, 158, 234, 174, 130, 187, 200, 175, 130, 146, 177, 45, 85, 53, 139, 135, 69, 75, 24, 78, 65, 100, 109, 180, 128, 121},
+{64, 105, 235, 144, 71, 143, 190, 151, 43, 108, 200, 208, 223, 100, 101, 89, 192, 136, 36, 142, 162, 4, 134, 227, 242, 180, 114, 134, 111, 36, 85, 10, 53, 248, 118, 217, 125, 56, 134, 47, 190, 17, 153, 123, 230, 201, 239, 100, 106, 252, 30, 99, 231, 179, 211, 27, 155, 77, 202, 200, 93, 140, 195, 181, 148, 162, 139, 179, 80, 22, 27, 118, 21, 153, 130, 182, 174, 225, 249, 16, 15, 16, 99, 114, 104, 82, 121, 181, 108, 58, 124, 245, 187, 202, 8, 14, 169, 217, 45, 194, 90, 124, 224, 125, 170, 38, 24, 137, 137, 15, 9, 89, 113, 193, 40, 164, 229, 87, 219, 161, 100, 234, 70, 93, 175, 10, 90, 26},
+{197, 4, 237, 78, 2, 14, 247, 40, 228, 17, 189, 121, 210, 60, 235, 229, 183, 245, 76, 167, 224, 178, 154, 101, 233, 224, 4, 218, 217, 108, 36, 57, 116, 234, 50, 96, 62, 32, 162, 57, 178, 136, 221, 123, 63, 34, 150, 9, 136, 232, 116, 87, 63, 75, 222, 108, 179, 236, 45, 233, 185, 207, 185, 40, 31, 75, 101, 16, 87, 40, 49, 137, 117, 195, 76, 83, 195, 40, 115, 194, 163, 186, 233, 6, 67, 91, 204, 154, 7, 190, 239, 27, 0, 92, 45, 14, 114, 199, 207, 0, 36, 24, 4, 136, 148, 203, 165, 82, 20, 102, 174, 199, 181, 141, 76, 139, 53, 90, 149, 248, 59, 65, 242, 185, 131, 206, 15, 168},
+{6, 64, 199, 27, 139, 98, 194, 102, 243, 117, 226, 140, 39, 29, 211, 134, 229, 62, 224, 105, 151, 102, 86, 116, 234, 146, 235, 25, 107, 130, 229, 247, 147, 158, 61, 210, 64, 158, 173, 12, 23, 198, 52, 89, 32, 177, 244, 42, 65, 37, 118, 149, 30, 175, 45, 130, 168, 128, 86, 250, 46, 38, 75, 110, 102, 134, 243, 172, 88, 97, 243, 97, 25, 254, 248, 151, 37, 23, 106, 181, 52, 171, 198, 111, 38, 233, 169, 66, 132, 190, 174, 107, 255, 101, 2, 75, 59, 118, 222, 247, 3, 170, 86, 68, 12, 185, 232, 3, 2, 209, 186, 180, 185, 195, 116, 191, 76, 111, 129, 248, 151, 184, 23, 70, 196, 4, 48, 27},
+{96, 42, 71, 38, 122, 15, 92, 33, 232, 76, 156, 203, 238, 164, 226, 156, 164, 102, 139, 30, 70, 96, 127, 103, 114, 64, 94, 249, 33, 250, 16, 110, 125, 230, 20, 225, 74, 84, 89, 180, 102, 121, 1, 54, 147, 2, 41, 128, 233, 51, 88, 253, 151, 11, 193, 37, 44, 46, 167, 253, 104, 67, 65, 78, 237, 34, 179, 89, 79, 212, 28, 90, 84, 249, 167, 136, 42, 212, 3, 168, 251, 204, 157, 100, 47, 154, 34, 157, 20, 105, 57, 100, 69, 73, 181, 68, 204, 212, 144, 100, 176, 222, 223, 51, 122, 161, 251, 169, 101, 245, 26, 24, 33, 93, 124, 71, 168, 91, 25, 149, 11, 159, 166, 174, 111, 213, 130, 146},
+{40, 20, 58, 55, 83, 94, 255, 201, 72, 166, 183, 5, 38, 238, 6, 185, 36, 145, 77, 131, 166, 48, 243, 238, 195, 162, 99, 31, 251, 137, 179, 197, 181, 196, 53, 82, 232, 91, 103, 161, 189, 157, 163, 184, 83, 114, 28, 75, 217, 158, 210, 102, 141, 80, 58, 44, 77, 237, 33, 62, 241, 224, 252, 186, 23, 43, 37, 239, 211, 131, 202, 109, 84, 106, 10, 151, 106, 125, 185, 47, 155, 239, 240, 166, 125, 224, 100, 30, 204, 211, 143, 208, 194, 0, 250, 111, 126, 57, 196, 128, 157, 125, 135, 61, 11, 235, 163, 76, 18, 239, 60, 104, 29, 182, 232, 111, 35, 184, 96, 209, 82, 78, 124, 48, 44, 12, 204, 76},
+{198, 235, 48, 63, 104, 37, 230, 252, 34, 81, 182, 46, 62, 155, 199, 188, 108, 2, 164, 112, 245, 167, 152, 177, 200, 110, 57, 95, 179, 32, 0, 156, 113, 186, 34, 215, 20, 192, 239, 237, 96, 131, 15, 37, 73, 190, 146, 171, 114, 49, 6, 236, 80, 109, 166, 4, 152, 84, 215, 83, 92, 212, 174, 65, 103, 218, 44, 121, 156, 195, 206, 168, 229, 127, 203, 141, 212, 131, 168, 20, 75, 248, 38, 201, 216, 12, 21, 135, 43, 167, 181, 45, 198, 21, 230, 57, 93, 190, 107, 168, 111, 168, 221, 148, 155, 170, 234, 41, 142, 241, 83, 207, 252, 28, 212, 108, 216, 112, 47, 50, 7, 27, 104, 96, 149, 110, 160, 203},
+{87, 195, 51, 245, 107, 227, 132, 205, 51, 183, 88, 26, 65, 156, 83, 244, 14, 152, 83, 135, 225, 128, 218, 240, 212, 54, 132, 204, 14, 44, 190, 64, 116, 47, 87, 255, 76, 215, 212, 235, 182, 239, 71, 192, 27, 120, 235, 217, 127, 48, 133, 30, 59, 229, 17, 227, 227, 13, 180, 150, 187, 220, 56, 231, 91, 56, 134, 157, 167, 47, 55, 133, 155, 73, 21, 209, 48, 66, 25, 49, 52, 93, 103, 178, 22, 184, 188, 146, 100, 159, 224, 144, 253, 22, 35, 216, 6, 50, 225, 142, 129, 170, 160, 159, 174, 250, 198, 35, 81, 109, 155, 236, 49, 246, 118, 228, 27, 128, 120, 94, 53, 42, 13, 201, 229, 193, 193, 161},
+{14, 172, 223, 83, 42, 70, 24, 248, 144, 98, 54, 140, 26, 236, 116, 32, 50, 145, 132, 176, 73, 237, 159, 36, 152, 78, 34, 56, 29, 128, 225, 160, 118, 106, 66, 184, 167, 50, 118, 171, 209, 121, 174, 36, 145, 39, 78, 52, 217, 187, 185, 30, 222, 9, 152, 231, 136, 50, 153, 124, 53, 197, 168, 55, 29, 65, 0, 54, 79, 176, 101, 183, 173, 41, 19, 141, 207, 95, 241, 145, 135, 204, 40, 4, 178, 17, 233, 88, 71, 130, 232, 174, 75, 76, 245, 94, 206, 139, 238, 100, 68, 104, 136, 246, 164, 80, 120, 240, 159, 8, 233, 92, 7, 169, 241, 140, 77, 15, 106, 50, 79, 72, 103, 82, 224, 117, 40, 196},
+{14, 99, 107, 229, 57, 169, 21, 202, 191, 149, 152, 203, 131, 246, 10, 155, 27, 208, 60, 63, 238, 20, 66, 48, 39, 167, 218, 45, 24, 132, 1, 137, 77, 121, 36, 253, 54, 105, 31, 130, 149, 55, 50, 119, 211, 14, 74, 68, 146, 170, 185, 61, 83, 209, 183, 246, 238, 146, 220, 78, 81, 12, 68, 157, 241, 181, 169, 44, 3, 165, 211, 139, 102, 144, 44, 160, 130, 34, 121, 192, 15, 186, 86, 162, 226, 245, 95, 47, 66, 109, 224, 242, 93, 53, 142, 92, 96, 221, 56, 91, 227, 4, 148, 11, 139, 65, 128, 52, 32, 43, 30, 73, 101, 174, 74, 167, 132, 82, 179, 111, 140, 113, 43, 230, 134, 112, 31, 251},
+{158, 2, 159, 68, 29, 192, 123, 39, 61, 200, 68, 90, 144, 37, 107, 153, 234, 120, 22, 42, 36, 117, 51, 69, 142, 101, 188, 204, 215, 225, 44, 189, 152, 87, 86, 25, 215, 147, 201, 93, 194, 226, 160, 125, 170, 31, 17, 144, 174, 126, 159, 10, 209, 144, 37, 227, 206, 126, 222, 114, 209, 59, 233, 101, 46, 189, 11, 129, 65, 63, 185, 169, 196, 112, 133, 27, 113, 194, 188, 133, 2, 222, 74, 154, 155, 98, 2, 223, 84, 77, 12, 149, 1, 242, 0, 165, 215, 10, 126, 11, 71, 98, 132, 18, 250, 94, 72, 216, 186, 206, 126, 22, 97, 241, 159, 53, 46, 168, 243, 13, 22, 37, 6, 128, 2, 245, 184, 179},
+{113, 16, 123, 176, 39, 13, 8, 153, 245, 137, 233, 19, 127, 93, 115, 231, 5, 95, 96, 0, 227, 149, 58, 67, 135, 112, 95, 60, 204, 124, 18, 97, 213, 136, 13, 200, 148, 1, 152, 204, 62, 198, 246, 180, 62, 140, 188, 129, 30, 35, 214, 110, 173, 11, 125, 117, 77, 124, 64, 171, 225, 9, 137, 165, 35, 79, 120, 146, 204, 222, 47, 13, 149, 84, 12, 189, 125, 220, 111, 185, 28, 108, 25, 169, 49, 151, 241, 89, 6, 93, 20, 90, 73, 103, 30, 30, 116, 105, 5, 34, 235, 176, 23, 155, 20, 188, 148, 179, 31, 78, 2, 163, 78, 207, 3, 165, 230, 32, 63, 6, 20, 29, 30, 131, 231, 78, 234, 167},
+{13, 138, 210, 249, 153, 18, 97, 169, 0, 37, 46, 109, 68, 42, 192, 122, 226, 247, 139, 224, 104, 139, 122, 34, 93, 32, 62, 109, 214, 216, 187, 253, 115, 200, 198, 181, 184, 20, 87, 172, 6, 4, 173, 6, 108, 236, 173, 120, 181, 97, 134, 13, 212, 100, 120, 51, 87, 3, 73, 255, 87, 34, 110, 0, 181, 126, 176, 157, 80, 168, 182, 235, 158, 172, 172, 119, 59, 233, 143, 6, 171, 171, 37, 123, 137, 205, 34, 124, 16, 77, 92, 108, 133, 42, 181, 143, 117, 62, 100, 68, 87, 14, 124, 49, 79, 195, 76, 129, 129, 51, 181, 81, 39, 216, 151, 215, 126, 233, 192, 90, 61, 33, 80, 255, 58, 220, 154, 132},
+{2, 137, 114, 56, 33, 77, 95, 34, 220, 5, 58, 210, 39, 161, 48, 158, 228, 75, 90, 167, 179, 202, 74, 39, 157, 150, 237, 114, 227, 38, 82, 224, 63, 108, 71, 180, 113, 231, 157, 145, 206, 111, 18, 68, 245, 51, 155, 242, 7, 135, 229, 89, 92, 191, 111, 232, 151, 226, 151, 132, 83, 151, 159, 231, 69, 98, 65, 157, 61, 104, 147, 41, 198, 190, 167, 50, 169, 137, 192, 213, 41, 14, 27, 177, 13, 23, 222, 242, 207, 11, 31, 79, 226, 66, 107, 87, 172, 165, 61, 237, 17, 8, 152, 118, 60, 212, 150, 37, 88, 172, 127, 113, 8, 214, 236, 67, 146, 35, 152, 16, 223, 6, 1, 110, 149, 148, 200, 25},
+{167, 231, 248, 224, 28, 39, 15, 31, 156, 111, 103, 96, 95, 253, 162, 92, 167, 150, 36, 127, 9, 249, 172, 91, 81, 201, 76, 109, 238, 185, 84, 247, 13, 92, 116, 218, 77, 54, 244, 176, 90, 216, 254, 67, 237, 130, 14, 25, 227, 63, 170, 226, 198, 254, 58, 150, 7, 125, 150, 36, 144, 75, 245, 69, 100, 128, 138, 5, 94, 21, 243, 49, 207, 20, 109, 110, 43, 154, 180, 68, 197, 162, 173, 8, 211, 90, 255, 109, 126, 77, 213, 41, 230, 254, 210, 225, 166, 139, 138, 212, 87, 177, 8, 201, 228, 77, 252, 140, 208, 67, 146, 91, 29, 69, 244, 86, 50, 178, 128, 0, 93, 8, 33, 103, 1, 140, 113, 251},
+{80, 70, 185, 244, 47, 152, 64, 208, 131, 86, 143, 205, 184, 166, 253, 55, 32, 72, 157, 79, 14, 42, 192, 34, 68, 43, 95, 147, 211, 188, 136, 184, 64, 238, 16, 59, 158, 20, 148, 211, 154, 68, 91, 46, 221, 217, 87, 49, 229, 139, 161, 230, 60, 177, 74, 134, 78, 20, 63, 195, 165, 11, 93, 104, 90, 25, 1, 142, 226, 200, 100, 43, 241, 165, 58, 114, 36, 147, 40, 186, 194, 115, 88, 68, 241, 201, 32, 141, 172, 91, 185, 228, 102, 191, 188, 134, 156, 11, 167, 242, 162, 137, 131, 80, 49, 175, 69, 67, 120, 77, 120, 150, 28, 251, 129, 237, 46, 51, 164, 92, 193, 84, 59, 236, 49, 150, 193, 89},
+{175, 103, 207, 134, 85, 67, 96, 159, 6, 201, 230, 25, 245, 63, 56, 92, 50, 241, 52, 100, 109, 23, 40, 108, 174, 29, 156, 212, 94, 242, 152, 219, 75, 253, 138, 128, 23, 130, 172, 174, 209, 60, 141, 45, 194, 38, 24, 43, 75, 148, 98, 80, 167, 190, 248, 34, 91, 115, 55, 76, 108, 127, 245, 54, 206, 151, 174, 0, 99, 131, 167, 219, 17, 117, 245, 211, 193, 245, 42, 32, 146, 16, 231, 206, 73, 28, 215, 148, 63, 99, 100, 230, 230, 12, 247, 31, 139, 93, 190, 138, 176, 208, 74, 84, 56, 39, 73, 205, 173, 183, 219, 60, 144, 247, 170, 4, 201, 182, 95, 227, 80, 215, 180, 123, 160, 50, 159, 46},
+{159, 136, 152, 180, 78, 48, 159, 30, 220, 217, 201, 176, 143, 149, 219, 116, 144, 29, 76, 174, 48, 224, 115, 95, 212, 255, 150, 168, 55, 211, 241, 229, 182, 228, 196, 75, 57, 112, 10, 72, 132, 197, 224, 192, 37, 247, 15, 143, 105, 215, 124, 106, 120, 108, 206, 111, 243, 210, 143, 226, 208, 201, 114, 210, 117, 183, 199, 229, 109, 114, 154, 16, 127, 94, 125, 128, 87, 158, 70, 174, 33, 170, 102, 40, 94, 224, 203, 151, 188, 217, 139, 89, 15, 189, 147, 236, 248, 187, 242, 114, 167, 78, 211, 98, 191, 242, 115, 243, 232, 104, 144, 84, 232, 85, 177, 34, 5, 9, 236, 19, 253, 183, 30, 143, 190, 39, 59, 14},
+{130, 223, 4, 205, 202, 207, 203, 171, 242, 69, 20, 82, 183, 110, 119, 125, 189, 88, 166, 201, 131, 215, 144, 243, 146, 70, 7, 159, 83, 163, 236, 106, 199, 228, 106, 227, 167, 177, 81, 47, 226, 2, 124, 194, 232, 211, 77, 191, 215, 230, 9, 193, 44, 124, 126, 251, 147, 126, 160, 215, 57, 42, 124, 63, 229, 201, 152, 17, 42, 30, 167, 0, 197, 134, 50, 5, 97, 85, 171, 202, 182, 55, 152, 237, 63, 224, 224, 174, 231, 97, 223, 118, 135, 199, 21, 163, 7, 85, 30, 128, 34, 151, 23, 252, 116, 66, 95, 0, 197, 10, 66, 126, 161, 90, 117, 192, 177, 37, 42, 57, 149, 62, 83, 232, 212, 137, 214, 135},
+{106, 231, 36, 218, 115, 208, 128, 28, 43, 234, 112, 97, 99, 120, 165, 69, 53, 45, 123, 214, 168, 200, 58, 102, 67, 61, 109, 237, 105, 204, 51, 110, 29, 162, 21, 214, 28, 38, 148, 174, 96, 155, 13, 65, 148, 141, 218, 79, 191, 87, 7, 19, 99, 188, 97, 66, 60, 252, 92, 13, 180, 141, 69, 203, 187, 0, 80, 28, 89, 50, 113, 156, 95, 149, 0, 177, 8, 122, 81, 103, 180, 39, 247, 1, 235, 159, 230, 55, 225, 8, 205, 190, 203, 250, 153, 142, 163, 15, 26, 88, 121, 8, 100, 190, 163, 79, 157, 41, 161, 151, 153, 101, 61, 12, 143, 42, 15, 113, 30, 90, 160, 133, 171, 85, 208, 97, 93, 120},
+{79, 8, 110, 218, 167, 89, 113, 146, 78, 235, 113, 151, 203, 11, 124, 188, 152, 212, 60, 110, 198, 177, 8, 14, 120, 174, 120, 130, 236, 239, 196, 81, 10, 180, 187, 122, 134, 207, 183, 162, 112, 154, 40, 51, 110, 139, 53, 181, 38, 232, 149, 72, 163, 7, 189, 208, 7, 16, 8, 123, 26, 228, 39, 197, 176, 196, 133, 77, 34, 50, 232, 5, 121, 236, 12, 253, 132, 158, 119, 58, 89, 106, 231, 160, 31, 158, 51, 244, 157, 177, 12, 139, 37, 76, 26, 140, 209, 1, 0, 194, 116, 180, 73, 212, 102, 184, 57, 128, 188, 60, 154, 193, 84, 37, 227, 181, 200, 56, 71, 139, 226, 69, 124, 205, 171, 169, 227, 50},
+{40, 110, 231, 18, 41, 193, 178, 131, 14, 23, 196, 201, 199, 227, 186, 130, 154, 202, 140, 234, 135, 88, 129, 78, 118, 169, 176, 160, 146, 21, 152, 76, 67, 66, 172, 74, 222, 16, 118, 241, 138, 102, 101, 51, 36, 225, 0, 53, 151, 124, 112, 223, 250, 6, 146, 176, 100, 31, 83, 146, 157, 163, 148, 38, 65, 79, 143, 85, 42, 117, 44, 201, 248, 21, 29, 101, 39, 197, 21, 143, 192, 147, 138, 56, 92, 141, 48, 161, 125, 43, 200, 68, 103, 0, 100, 142, 59, 186, 11, 74, 99, 33, 141, 13, 239, 2, 79, 116, 135, 226, 21, 10, 88, 31, 0, 72, 55, 164, 73, 170, 224, 76, 255, 41, 185, 189, 235, 232},
+{127, 25, 12, 40, 14, 239, 239, 252, 78, 162, 178, 196, 112, 31, 201, 161, 99, 7, 16, 227, 235, 13, 22, 161, 130, 135, 28, 118, 146, 206, 47, 217, 230, 163, 57, 55, 168, 27, 145, 58, 17, 21, 201, 134, 173, 244, 255, 5, 122, 188, 22, 226, 148, 14, 88, 242, 102, 213, 200, 38, 235, 45, 71, 47, 132, 205, 140, 156, 254, 96, 61, 221, 95, 70, 207, 240, 22, 185, 42, 167, 107, 173, 220, 173, 121, 149, 157, 81, 171, 5, 237, 165, 89, 195, 138, 220, 116, 96, 109, 145, 53, 161, 42, 240, 245, 114, 49, 179, 39, 109, 177, 139, 215, 176, 192, 139, 142, 238, 168, 173, 121, 242, 69, 0, 228, 136, 142, 37},
+{178, 64, 210, 163, 139, 61, 185, 96, 125, 84, 193, 173, 220, 70, 213, 225, 249, 7, 247, 189, 31, 40, 103, 132, 31, 12, 248, 90, 26, 6, 40, 164, 183, 137, 112, 231, 25, 26, 178, 4, 213, 115, 83, 199, 237, 85, 75, 130, 100, 130, 119, 71, 253, 198, 87, 239, 207, 166, 129, 110, 211, 136, 174, 136, 218, 243, 221, 231, 185, 173, 0, 123, 252, 33, 155, 174, 186, 247, 38, 69, 222, 182, 27, 182, 155, 116, 68, 209, 196, 190, 182, 14, 113, 149, 20, 189, 205, 42, 253, 135, 175, 61, 225, 53, 148, 103, 76, 230, 99, 204, 54, 61, 25, 120, 186, 47, 108, 68, 30, 62, 97, 46, 69, 92, 31, 246, 24, 223},
+{100, 43, 4, 112, 28, 250, 69, 32, 38, 22, 163, 26, 177, 5, 203, 202, 233, 190, 229, 166, 120, 179, 165, 41, 163, 132, 173, 157, 194, 102, 236, 42, 114, 253, 222, 135, 54, 23, 176, 139, 139, 91, 12, 111, 53, 1, 131, 147, 163, 4, 93, 58, 166, 105, 19, 192, 158, 232, 109, 0, 218, 191, 126, 107, 61, 74, 208, 240, 90, 36, 236, 128, 223, 141, 208, 3, 192, 134, 210, 91, 229, 142, 122, 171, 128, 27, 63, 239, 83, 83, 174, 179, 64, 163, 171, 28, 243, 236, 65, 79, 175, 127, 176, 225, 246, 237, 208, 11, 195, 208, 137, 148, 67, 156, 228, 166, 177, 197, 252, 75, 31, 61, 122, 158, 118, 10, 119, 212},
+{86, 123, 228, 85, 82, 16, 251, 5, 214, 4, 27, 16, 62, 221, 8, 240, 202, 105, 5, 115, 82, 245, 67, 142, 34, 11, 41, 38, 212, 45, 228, 26, 40, 148, 129, 8, 22, 25, 69, 211, 230, 35, 183, 159, 188, 7, 245, 21, 140, 166, 105, 162, 92, 150, 5, 109, 80, 159, 218, 153, 183, 189, 170, 38, 6, 74, 14, 60, 151, 58, 125, 207, 208, 27, 101, 36, 232, 48, 65, 57, 195, 8, 150, 135, 47, 124, 171, 10, 37, 105, 179, 59, 127, 131, 167, 133, 153, 130, 158, 192, 155, 76, 53, 244, 105, 203, 151, 140, 52, 8, 215, 193, 176, 207, 179, 70, 184, 201, 249, 156, 190, 244, 45, 174, 180, 67, 144, 8},
+{138, 171, 24, 221, 54, 173, 199, 2, 253, 84, 241, 208, 29, 149, 210, 19, 98, 139, 179, 67, 235, 148, 51, 177, 138, 160, 187, 18, 195, 168, 75, 134, 40, 26, 55, 209, 236, 58, 170, 140, 127, 37, 160, 171, 215, 124, 77, 79, 237, 165, 195, 24, 221, 29, 134, 191, 121, 12, 205, 202, 152, 215, 186, 183, 116, 244, 248, 200, 133, 208, 72, 20, 222, 57, 137, 22, 100, 106, 214, 8, 48, 66, 177, 235, 92, 166, 111, 243, 188, 206, 126, 135, 102, 11, 141, 173, 147, 242, 184, 169, 73, 136, 247, 160, 69, 210, 7, 147, 197, 119, 168, 60, 30, 31, 107, 229, 20, 238, 148, 30, 156, 70, 188, 12, 151, 194, 82, 12},
+{187, 69, 228, 72, 67, 165, 42, 216, 68, 122, 165, 138, 113, 228, 72, 249, 231, 99, 89, 187, 145, 174, 202, 108, 111, 191, 186, 28, 241, 178, 156, 239, 179, 21, 128, 71, 110, 154, 101, 244, 218, 174, 167, 164, 11, 191, 241, 199, 34, 228, 220, 145, 106, 73, 214, 144, 246, 31, 191, 22, 166, 13, 176, 136, 4, 147, 115, 210, 88, 241, 145, 137, 101, 239, 124, 200, 58, 48, 171, 98, 2, 143, 195, 139, 200, 102, 194, 132, 158, 176, 165, 6, 23, 99, 5, 8, 166, 184, 232, 156, 61, 132, 161, 163, 97, 139, 22, 57, 113, 201, 177, 42, 250, 25, 241, 104, 50, 127, 154, 82, 84, 62, 71, 222, 48, 24, 117, 137},
+{18, 72, 206, 63, 83, 34, 196, 44, 139, 59, 246, 124, 110, 115, 85, 43, 136, 113, 194, 89, 59, 133, 102, 13, 234, 135, 1, 241, 159, 17, 227, 118, 22, 96, 219, 62, 62, 198, 193, 55, 222, 164, 159, 242, 28, 125, 186, 188, 33, 28, 26, 91, 70, 40, 201, 230, 128, 163, 125, 239, 63, 140, 112, 75, 89, 128, 94, 209, 37, 30, 25, 191, 188, 49, 196, 69, 66, 71, 107, 191, 40, 92, 191, 0, 218, 235, 200, 152, 143, 136, 60, 183, 137, 149, 206, 215, 216, 121, 131, 199, 66, 220, 201, 85, 219, 41, 20, 10, 59, 118, 245, 182, 23, 97, 149, 159, 189, 214, 6, 180, 138, 135, 123, 189, 88, 14, 255, 105},
+{86, 82, 244, 24, 116, 224, 147, 227, 178, 229, 211, 198, 198, 186, 198, 248, 149, 74, 196, 135, 85, 14, 97, 235, 38, 212, 248, 5, 178, 78, 129, 139, 228, 65, 77, 16, 13, 121, 232, 218, 107, 210, 228, 235, 85, 223, 29, 12, 156, 170, 240, 3, 221, 34, 32, 60, 48, 211, 58, 81, 16, 27, 181, 245, 106, 174, 186, 43, 20, 56, 150, 149, 50, 232, 234, 114, 20, 54, 177, 168, 54, 56, 82, 50, 162, 162, 130, 233, 24, 38, 57, 160, 220, 118, 221, 45, 95, 126, 41, 115, 30, 112, 22, 33, 16, 49, 226, 200, 201, 158, 234, 77, 181, 22, 28, 128, 173, 72, 148, 232, 191, 131, 18, 138, 174, 39, 4, 148},
+{204, 88, 251, 161, 165, 62, 167, 34, 37, 44, 95, 94, 44, 48, 170, 175, 169, 28, 173, 14, 151, 10, 165, 169, 187, 131, 37, 72, 66, 31, 77, 166, 43, 132, 199, 16, 210, 231, 91, 106, 146, 85, 11, 108, 120, 183, 191, 14, 72, 1, 240, 211, 117, 56, 242, 143, 181, 143, 131, 181, 30, 103, 120, 254, 55, 80, 201, 28, 125, 84, 72, 116, 144, 69, 233, 146, 73, 251, 14, 248, 196, 10, 239, 75, 128, 118, 161, 87, 123, 221, 161, 60, 24, 115, 38, 182, 155, 98, 168, 224, 126, 173, 217, 148, 229, 65, 79, 183, 37, 45, 217, 200, 10, 172, 75, 23, 194, 92, 67, 196, 174, 176, 13, 187, 191, 122, 164, 151},
+{102, 67, 211, 81, 132, 223, 149, 145, 56, 170, 251, 76, 204, 9, 183, 114, 31, 90, 150, 232, 146, 29, 155, 236, 224, 115, 244, 39, 17, 13, 63, 236, 118, 62, 107, 94, 73, 17, 153, 81, 222, 182, 226, 77, 65, 112, 246, 86, 134, 99, 37, 212, 159, 135, 162, 235, 66, 83, 204, 120, 198, 116, 247, 122, 5, 237, 221, 80, 205, 3, 103, 240, 36, 172, 1, 162, 26, 95, 77, 220, 97, 212, 185, 190, 171, 90, 105, 238, 178, 35, 79, 25, 19, 143, 214, 150, 220, 150, 125, 67, 99, 224, 182, 225, 127, 14, 74, 169, 196, 181, 180, 171, 192, 100, 78, 208, 131, 180, 178, 115, 42, 5, 153, 180, 157, 91, 150, 137},
+{114, 144, 185, 114, 63, 203, 124, 7, 178, 128, 159, 45, 207, 80, 10, 117, 224, 168, 35, 247, 228, 248, 134, 95, 125, 77, 102, 84, 102, 166, 105, 94, 106, 94, 132, 10, 190, 67, 214, 184, 17, 2, 49, 50, 207, 246, 226, 20, 119, 76, 61, 228, 231, 183, 122, 184, 206, 7, 194, 255, 138, 32, 90, 71, 33, 236, 242, 119, 183, 122, 181, 214, 11, 132, 33, 71, 56, 71, 189, 60, 124, 243, 157, 0, 245, 114, 162, 70, 43, 99, 250, 253, 14, 220, 125, 2, 212, 185, 52, 20, 36, 73, 218, 42, 204, 169, 212, 222, 120, 80, 39, 34, 215, 104, 216, 219, 45, 67, 254, 194, 17, 213, 157, 118, 151, 81, 188, 106},
+{124, 104, 139, 13, 246, 143, 140, 91, 220, 48, 224, 230, 199, 142, 94, 43, 0, 17, 136, 71, 219, 77, 98, 189, 31, 11, 55, 222, 85, 81, 65, 26, 139, 14, 69, 97, 52, 202, 194, 246, 88, 188, 187, 170, 15, 218, 46, 109, 49, 141, 142, 35, 133, 220, 207, 153, 65, 87, 59, 9, 195, 189, 88, 171, 184, 61, 23, 144, 95, 16, 228, 100, 235, 165, 197, 105, 20, 90, 158, 209, 205, 244, 192, 148, 111, 189, 140, 79, 146, 253, 55, 173, 159, 151, 185, 230, 7, 186, 132, 213, 94, 176, 138, 245, 67, 59, 89, 97, 160, 84, 113, 188, 131, 168, 229, 198, 51, 78, 124, 107, 176, 101, 108, 92, 120, 235, 195, 109},
+{153, 176, 179, 24, 12, 168, 54, 229, 111, 36, 169, 251, 253, 173, 86, 251, 42, 24, 209, 170, 192, 41, 54, 189, 147, 235, 74, 36, 223, 52, 161, 118, 148, 201, 226, 147, 38, 245, 210, 5, 45, 217, 35, 163, 248, 91, 140, 218, 84, 24, 41, 129, 166, 80, 176, 11, 131, 139, 193, 236, 3, 201, 46, 124, 26, 215, 192, 82, 59, 220, 83, 170, 138, 195, 126, 144, 60, 167, 61, 186, 32, 76, 182, 84, 234, 95, 34, 19, 110, 182, 11, 143, 52, 190, 148, 96, 29, 1, 59, 114, 88, 51, 94, 50, 95, 203, 254, 208, 30, 14, 166, 85, 25, 106, 56, 23, 4, 208, 78, 94, 217, 201, 78, 179, 52, 138, 207, 186},
+{127, 226, 6, 133, 69, 62, 250, 100, 191, 139, 245, 22, 216, 197, 241, 209, 153, 38, 87, 174, 79, 38, 113, 0, 107, 60, 106, 154, 245, 24, 10, 42, 209, 220, 160, 143, 206, 122, 70, 85, 190, 201, 178, 140, 85, 63, 30, 132, 233, 118, 204, 150, 241, 183, 48, 109, 188, 23, 55, 170, 38, 2, 163, 132, 116, 214, 134, 231, 27, 105, 224, 10, 237, 70, 44, 10, 127, 13, 236, 197, 141, 6, 224, 145, 206, 151, 120, 222, 108, 99, 27, 77, 76, 70, 247, 86, 248, 221, 23, 29, 61, 35, 14, 53, 221, 145, 35, 73, 40, 29, 153, 118, 73, 33, 13, 243, 149, 63, 71, 243, 71, 187, 81, 77, 118, 56, 201, 113},
+{149, 221, 107, 146, 125, 187, 148, 161, 215, 94, 3, 242, 167, 73, 56, 54, 249, 192, 113, 140, 114, 154, 199, 95, 93, 247, 20, 15, 117, 228, 104, 207, 193, 53, 123, 240, 220, 141, 91, 72, 63, 36, 110, 217, 141, 183, 16, 140, 50, 252, 0, 140, 136, 160, 225, 205, 142, 248, 172, 191, 25, 162, 19, 155, 209, 192, 200, 248, 117, 130, 35, 116, 248, 64, 252, 69, 244, 15, 92, 25, 18, 186, 193, 36, 7, 135, 128, 251, 237, 251, 248, 74, 108, 35, 196, 98, 90, 77, 64, 237, 26, 0, 149, 23, 40, 14, 206, 50, 191, 179, 167, 201, 225, 58, 241, 143, 215, 237, 155, 232, 135, 68, 127, 39, 85, 120, 166, 94},
+{45, 129, 247, 208, 154, 86, 17, 242, 242, 145, 114, 28, 248, 49, 177, 184, 19, 159, 71, 125, 185, 224, 164, 6, 39, 226, 109, 105, 88, 1, 217, 68, 131, 80, 41, 61, 31, 27, 223, 28, 254, 145, 60, 118, 194, 91, 69, 9, 45, 190, 207, 38, 102, 80, 241, 133, 7, 251, 122, 154, 230, 100, 197, 151, 156, 155, 131, 43, 99, 55, 14, 32, 148, 49, 31, 9, 141, 38, 87, 34, 214, 31, 79, 122, 77, 37, 49, 32, 41, 204, 241, 242, 122, 20, 3, 73, 75, 124, 216, 178, 75, 67, 207, 243, 33, 77, 115, 213, 240, 78, 111, 23, 204, 64, 159, 202, 184, 16, 6, 76, 28, 64, 142, 74, 151, 122, 25, 182},
+{146, 188, 250, 142, 104, 222, 219, 90, 75, 172, 248, 115, 0, 152, 245, 81, 147, 255, 57, 50, 191, 27, 111, 67, 93, 219, 157, 240, 251, 71, 173, 222, 23, 130, 111, 234, 108, 138, 131, 128, 49, 14, 106, 224, 160, 87, 225, 88, 70, 161, 155, 39, 120, 129, 129, 201, 12, 68, 5, 165, 42, 220, 33, 196, 0, 25, 16, 16, 34, 155, 74, 1, 217, 214, 183, 146, 157, 80, 97, 49, 183, 202, 184, 133, 144, 74, 189, 185, 2, 24, 147, 211, 187, 225, 162, 86, 55, 219, 242, 185, 180, 69, 71, 18, 119, 109, 221, 110, 211, 67, 7, 198, 174, 217, 158, 36, 208, 194, 20, 79, 67, 28, 224, 0, 6, 27, 44, 181},
+{66, 255, 129, 19, 75, 194, 99, 90, 114, 100, 64, 226, 47, 243, 146, 215, 189, 184, 117, 37, 119, 14, 211, 109, 109, 135, 109, 34, 48, 143, 89, 139, 181, 155, 4, 32, 143, 22, 121, 35, 39, 230, 205, 14, 134, 153, 218, 250, 61, 121, 187, 45, 96, 201, 196, 182, 87, 14, 29, 219, 114, 64, 79, 144, 183, 105, 21, 235, 208, 77, 0, 53, 129, 93, 126, 12, 241, 136, 227, 62, 233, 186, 33, 111, 25, 229, 226, 169, 243, 125, 140, 227, 47, 248, 81, 168, 26, 226, 163, 97, 224, 181, 74, 75, 173, 75, 172, 179, 135, 178, 139, 224, 214, 176, 69, 82, 159, 193, 73, 52, 13, 153, 249, 41, 66, 104, 49, 160},
+{184, 248, 221, 168, 127, 222, 141, 221, 49, 97, 192, 142, 17, 238, 132, 205, 110, 33, 78, 168, 102, 234, 173, 198, 200, 153, 169, 72, 162, 216, 23, 222, 59, 88, 150, 133, 120, 214, 205, 18, 177, 38, 15, 105, 241, 235, 128, 217, 96, 136, 193, 203, 209, 129, 193, 184, 75, 83, 138, 0, 163, 4, 161, 218, 226, 127, 161, 240, 111, 121, 244, 198, 138, 46, 12, 72, 60, 117, 255, 87, 142, 199, 100, 81, 139, 255, 115, 59, 231, 253, 41, 7, 110, 121, 244, 118, 158, 0, 200, 125, 205, 176, 0, 164, 14, 16, 150, 220, 200, 72, 71, 218, 230, 163, 116, 143, 66, 80, 191, 91, 26, 162, 188, 40, 244, 85, 83, 176},
+{94, 134, 153, 124, 133, 167, 145, 72, 160, 219, 190, 145, 156, 61, 46, 173, 120, 182, 100, 136, 165, 89, 55, 181, 31, 131, 131, 151, 181, 75, 125, 179, 110, 222, 40, 144, 189, 192, 42, 75, 98, 17, 113, 64, 127, 208, 112, 193, 165, 174, 236, 150, 213, 64, 159, 226, 93, 52, 214, 89, 180, 109, 45, 140, 165, 151, 103, 23, 92, 154, 170, 240, 171, 197, 99, 187, 222, 225, 92, 159, 89, 120, 229, 44, 212, 123, 180, 112, 74, 215, 228, 120, 205, 43, 46, 255, 84, 35, 184, 32, 101, 167, 133, 159, 67, 3, 236, 244, 174, 254, 234, 10, 115, 169, 1, 143, 3, 33, 72, 67, 70, 71, 57, 24, 239, 188, 13, 142},
+{55, 82, 114, 209, 169, 146, 105, 149, 43, 245, 77, 254, 121, 102, 4, 0, 28, 140, 10, 177, 122, 119, 9, 224, 54, 10, 134, 76, 142, 184, 68, 44, 245, 125, 206, 239, 55, 25, 112, 149, 11, 60, 14, 169, 119, 179, 248, 107, 169, 25, 187, 172, 17, 13, 86, 110, 137, 32, 37, 96, 126, 156, 238, 111, 86, 212, 204, 116, 94, 103, 181, 233, 195, 171, 234, 235, 144, 32, 119, 185, 215, 148, 80, 176, 109, 239, 70, 171, 228, 53, 122, 229, 141, 158, 232, 137, 214, 115, 176, 169, 127, 128, 73, 64, 13, 64, 119, 46, 23, 74, 109, 196, 254, 5, 27, 98, 33, 151, 134, 62, 140, 140, 66, 133, 174, 95, 145, 192},
+{120, 126, 2, 13, 216, 156, 223, 253, 52, 111, 166, 22, 62, 238, 192, 148, 99, 8, 136, 155, 14, 172, 70, 241, 171, 248, 226, 225, 81, 186, 71, 200, 24, 244, 18, 3, 155, 80, 150, 234, 51, 137, 224, 6, 43, 168, 67, 58, 25, 233, 228, 176, 97, 237, 25, 56, 104, 203, 125, 223, 172, 105, 83, 248, 10, 157, 198, 12, 225, 169, 223, 174, 216, 224, 214, 139, 190, 26, 44, 53, 0, 132, 246, 201, 128, 237, 223, 62, 13, 94, 1, 178, 136, 203, 241, 199, 23, 88, 134, 203, 122, 15, 76, 172, 188, 63, 195, 223, 173, 180, 140, 118, 60, 235, 46, 60, 183, 26, 37, 212, 244, 130, 131, 80, 252, 75, 215, 16},
+{55, 216, 215, 44, 22, 138, 129, 52, 3, 205, 92, 237, 148, 152, 166, 27, 198, 30, 52, 154, 114, 59, 64, 226, 22, 51, 110, 55, 108, 109, 201, 3, 147, 150, 187, 7, 207, 164, 119, 239, 227, 178, 77, 185, 214, 118, 204, 216, 3, 54, 156, 62, 221, 25, 49, 103, 131, 142, 75, 249, 136, 209, 133, 65, 2, 24, 218, 19, 49, 110, 136, 114, 158, 54, 166, 83, 26, 121, 109, 255, 223, 166, 69, 130, 55, 153, 137, 111, 193, 178, 246, 86, 84, 27, 73, 237, 150, 92, 70, 33, 133, 60, 209, 68, 19, 106, 163, 200, 155, 121, 192, 165, 117, 201, 200, 140, 219, 131, 63, 206, 165, 228, 46, 236, 33, 43, 242, 209},
+{63, 186, 8, 50, 62, 13, 150, 67, 225, 210, 218, 84, 156, 173, 158, 206, 129, 165, 69, 61, 65, 147, 33, 77, 26, 33, 64, 122, 77, 241, 157, 84, 50, 99, 105, 146, 167, 206, 238, 97, 162, 164, 174, 199, 14, 151, 253, 64, 72, 175, 250, 70, 250, 35, 175, 88, 42, 42, 149, 44, 68, 40, 147, 99, 104, 84, 74, 142, 237, 132, 158, 119, 14, 168, 172, 106, 247, 55, 179, 202, 235, 122, 220, 235, 71, 105, 129, 130, 109, 51, 27, 91, 27, 168, 34, 140, 119, 160, 109, 23, 68, 162, 170, 103, 23, 81, 199, 220, 220, 215, 229, 223, 239, 193, 166, 133, 101, 45, 131, 62, 159, 245, 230, 186, 51, 228, 116, 131},
+{52, 41, 194, 184, 97, 140, 172, 73, 170, 146, 199, 56, 204, 19, 80, 221, 7, 123, 13, 161, 186, 186, 154, 231, 253, 95, 234, 81, 144, 201, 118, 45, 153, 127, 153, 75, 6, 72, 169, 4, 114, 218, 153, 203, 136, 9, 108, 234, 111, 247, 38, 35, 255, 151, 209, 28, 101, 150, 1, 75, 93, 9, 80, 157, 184, 18, 149, 14, 216, 29, 201, 13, 79, 40, 8, 28, 8, 121, 42, 194, 152, 220, 24, 88, 21, 194, 96, 138, 206, 166, 209, 19, 137, 6, 22, 111, 187, 224, 56, 2, 218, 162, 174, 67, 8, 241, 127, 180, 60, 160, 84, 73, 19, 53, 229, 208, 47, 179, 118, 13, 142, 59, 135, 196, 71, 246, 235, 16},
+{173, 214, 164, 63, 69, 225, 79, 198, 134, 24, 29, 153, 51, 134, 227, 119, 140, 232, 133, 249, 18, 159, 103, 61, 15, 217, 57, 24, 221, 70, 15, 48, 60, 233, 213, 102, 196, 39, 239, 172, 44, 153, 194, 95, 167, 122, 98, 151, 154, 188, 2, 52, 223, 66, 179, 41, 19, 120, 210, 194, 65, 248, 141, 60, 149, 19, 27, 246, 137, 5, 254, 5, 133, 250, 142, 160, 225, 234, 239, 243, 56, 100, 145, 54, 19, 76, 5, 47, 164, 76, 65, 150, 238, 33, 216, 41, 84, 16, 28, 135, 108, 50, 13, 147, 189, 196, 241, 135, 163, 223, 246, 201, 132, 181, 118, 194, 49, 185, 197, 192, 40, 96, 158, 149, 157, 188, 196, 64},
+{81, 167, 85, 43, 234, 48, 146, 102, 84, 65, 90, 45, 116, 219, 130, 252, 73, 65, 213, 176, 235, 39, 96, 220, 29, 95, 75, 20, 50, 93, 228, 123, 230, 10, 153, 253, 245, 130, 96, 145, 73, 95, 178, 147, 202, 155, 191, 254, 166, 87, 183, 200, 44, 138, 169, 96, 35, 171, 223, 180, 60, 153, 46, 66, 137, 227, 86, 152, 204, 129, 204, 154, 9, 107, 105, 185, 223, 41, 223, 111, 218, 199, 116, 238, 108, 187, 200, 145, 141, 38, 157, 3, 214, 58, 112, 65, 51, 95, 27, 214, 72, 231, 240, 144, 250, 114, 204, 9, 87, 29, 228, 223, 161, 171, 86, 62, 242, 195, 154, 243, 47, 197, 252, 175, 88, 132, 185, 3},
+{93, 149, 113, 99, 54, 235, 112, 1, 13, 78, 133, 156, 205, 105, 222, 225, 244, 249, 254, 186, 248, 185, 194, 12, 65, 31, 5, 120, 116, 168, 157, 48, 67, 231, 221, 117, 160, 178, 148, 148, 43, 194, 230, 150, 117, 135, 122, 12, 126, 118, 108, 105, 158, 33, 7, 208, 231, 173, 19, 223, 253, 207, 29, 128, 68, 90, 134, 108, 0, 153, 43, 146, 210, 204, 60, 219, 141, 218, 50, 213, 203, 246, 138, 172, 101, 100, 61, 124, 221, 111, 249, 187, 237, 8, 34, 199, 193, 35, 191, 147, 37, 93, 146, 143, 139, 165, 95, 135, 124, 63, 230, 90, 172, 185, 24, 211, 206, 198, 255, 218, 12, 165, 153, 33, 43, 129, 149, 238},
+{145, 23, 94, 227, 43, 195, 104, 107, 223, 59, 193, 42, 37, 212, 123, 241, 243, 80, 187, 3, 44, 132, 11, 233, 205, 243, 215, 151, 211, 48, 127, 42, 50, 215, 94, 115, 104, 130, 118, 171, 26, 62, 189, 211, 164, 199, 89, 65, 18, 167, 132, 101, 218, 74, 183, 47, 115, 59, 169, 165, 53, 164, 50, 6, 190, 242, 78, 241, 249, 70, 59, 123, 35, 176, 50, 190, 114, 61, 33, 157, 76, 59, 215, 200, 62, 46, 52, 144, 250, 60, 9, 90, 130, 207, 68, 195, 123, 9, 162, 60, 110, 98, 161, 133, 175, 181, 106, 204, 92, 17, 178, 160, 127, 199, 187, 125, 92, 44, 186, 49, 251, 221, 38, 132, 37, 208, 144, 0},
+{198, 64, 210, 129, 83, 110, 150, 89, 58, 125, 77, 26, 104, 153, 118, 247, 135, 36, 110, 103, 79, 160, 161, 107, 161, 199, 249, 146, 59, 48, 73, 128, 10, 9, 178, 212, 248, 143, 68, 66, 83, 176, 31, 71, 66, 188, 209, 173, 215, 247, 72, 30, 127, 218, 74, 92, 24, 109, 35, 15, 102, 230, 112, 106, 113, 89, 6, 127, 16, 55, 199, 123, 64, 144, 47, 204, 93, 24, 144, 196, 248, 221, 173, 112, 223, 209, 78, 175, 22, 129, 72, 195, 35, 130, 0, 242, 169, 122, 180, 180, 0, 129, 205, 75, 249, 230, 240, 140, 60, 210, 216, 42, 222, 96, 213, 134, 4, 151, 56, 147, 218, 159, 142, 53, 22, 114, 251, 118},
+{63, 208, 187, 7, 0, 37, 237, 6, 193, 142, 183, 29, 101, 246, 152, 130, 1, 47, 237, 253, 98, 248, 22, 61, 44, 118, 61, 20, 215, 95, 18, 67, 153, 203, 211, 220, 26, 65, 147, 190, 107, 139, 52, 19, 251, 114, 107, 134, 179, 79, 11, 57, 124, 171, 191, 200, 43, 231, 211, 72, 75, 65, 23, 15, 0, 65, 93, 26, 99, 11, 46, 57, 114, 115, 127, 228, 122, 71, 211, 141, 4, 254, 34, 2, 129, 103, 193, 171, 62, 166, 119, 9, 222, 189, 147, 76, 22, 221, 17, 248, 12, 151, 218, 113, 226, 113, 103, 165, 135, 135, 28, 75, 129, 141, 102, 249, 164, 172, 241, 61, 103, 33, 110, 179, 72, 127, 197, 246},
+{52, 72, 118, 192, 14, 196, 179, 90, 45, 28, 45, 26, 161, 83, 181, 23, 155, 115, 188, 49, 130, 155, 237, 174, 174, 116, 113, 202, 128, 190, 83, 4, 153, 94, 30, 98, 199, 165, 218, 53, 251, 17, 201, 111, 181, 230, 189, 152, 153, 105, 251, 54, 166, 73, 251, 46, 194, 179, 170, 146, 149, 78, 107, 19, 199, 7, 149, 130, 93, 71, 135, 169, 236, 181, 214, 77, 245, 65, 228, 153, 145, 142, 43, 184, 218, 100, 137, 190, 202, 66, 47, 30, 145, 119, 178, 16, 180, 227, 22, 147, 211, 224, 55, 87, 46, 185, 154, 159, 133, 143, 75, 105, 171, 131, 254, 25, 242, 185, 199, 76, 195, 25, 153, 167, 178, 162, 213, 123},
+{137, 48, 179, 160, 188, 149, 157, 91, 180, 61, 234, 143, 61, 92, 229, 188, 106, 1, 81, 93, 229, 81, 75, 244, 199, 3, 106, 104, 14, 168, 241, 228, 180, 104, 41, 51, 43, 222, 172, 138, 205, 105, 124, 89, 230, 68, 101, 170, 31, 65, 89, 52, 19, 110, 30, 3, 99, 71, 230, 109, 2, 75, 152, 210, 140, 119, 18, 77, 123, 102, 102, 172, 96, 13, 215, 33, 89, 21, 220, 74, 94, 98, 133, 244, 198, 120, 221, 89, 34, 149, 176, 61, 132, 26, 15, 69, 23, 59, 6, 78, 22, 224, 232, 11, 17, 89, 246, 151, 33, 157, 210, 246, 41, 155, 65, 104, 79, 198, 126, 249, 2, 255, 123, 201, 191, 72, 233, 4},
+{103, 22, 27, 143, 100, 201, 78, 134, 92, 142, 215, 2, 91, 218, 144, 119, 59, 93, 233, 219, 110, 238, 9, 106, 252, 138, 205, 244, 108, 114, 251, 114, 242, 116, 112, 191, 79, 104, 231, 144, 87, 9, 223, 11, 133, 33, 114, 230, 116, 67, 188, 215, 59, 40, 70, 152, 153, 117, 135, 220, 106, 97, 178, 231, 51, 110, 178, 77, 24, 40, 155, 242, 80, 185, 21, 17, 226, 191, 0, 91, 232, 154, 94, 51, 62, 132, 24, 214, 69, 149, 129, 169, 42, 202, 222, 246, 100, 190, 189, 67, 177, 106, 153, 80, 43, 126, 199, 245, 122, 21, 237, 69, 148, 5, 89, 191, 241, 82, 229, 222, 248, 129, 236, 90, 213, 109, 69, 107},
+{29, 166, 189, 43, 178, 130, 192, 66, 150, 145, 157, 255, 132, 51, 133, 104, 143, 54, 29, 27, 237, 255, 245, 47, 55, 163, 190, 79, 75, 76, 96, 96, 152, 85, 149, 112, 8, 125, 49, 33, 122, 191, 17, 91, 114, 155, 16, 172, 1, 215, 117, 23, 3, 7, 0, 13, 61, 58, 219, 192, 76, 226, 181, 252, 169, 163, 179, 83, 35, 122, 51, 111, 183, 127, 144, 173, 101, 10, 154, 32, 49, 23, 90, 120, 61, 27, 227, 168, 142, 250, 209, 150, 19, 31, 122, 8, 177, 234, 242, 231, 110, 97, 169, 26, 241, 4, 162, 178, 2, 62, 93, 162, 235, 171, 107, 151, 216, 167, 56, 251, 191, 121, 143, 254, 50, 234, 245, 27},
+{95, 224, 69, 183, 102, 47, 84, 50, 191, 53, 218, 147, 140, 160, 75, 87, 137, 4, 37, 169, 146, 169, 155, 70, 120, 67, 249, 21, 97, 186, 117, 23, 53, 207, 252, 60, 179, 238, 65, 204, 38, 9, 230, 238, 103, 235, 111, 164, 104, 178, 145, 153, 223, 34, 3, 145, 239, 27, 126, 60, 107, 1, 195, 26, 217, 75, 104, 0, 58, 226, 29, 79, 186, 61, 154, 45, 233, 166, 34, 130, 94, 17, 168, 10, 108, 169, 120, 183, 149, 176, 226, 230, 56, 68, 24, 117, 195, 216, 116, 117, 214, 125, 175, 207, 99, 245, 131, 82, 59, 27, 197, 232, 71, 228, 61, 194, 192, 57, 124, 12, 121, 84, 144, 197, 90, 54, 26, 77},
+{77, 53, 12, 51, 89, 247, 127, 16, 24, 102, 187, 146, 178, 181, 39, 214, 204, 222, 154, 238, 153, 108, 188, 43, 162, 12, 207, 209, 218, 229, 37, 170, 17, 89, 127, 201, 203, 134, 137, 48, 200, 98, 57, 126, 40, 250, 186, 9, 15, 177, 201, 127, 48, 7, 65, 10, 87, 207, 150, 1, 192, 86, 66, 29, 123, 19, 241, 13, 42, 194, 121, 232, 191, 203, 98, 35, 97, 189, 106, 54, 81, 160, 102, 165, 202, 136, 9, 149, 147, 248, 206, 98, 4, 128, 81, 129, 92, 200, 210, 97, 253, 130, 130, 166, 243, 71, 148, 81, 92, 184, 138, 146, 115, 2, 107, 194, 89, 7, 166, 126, 87, 12, 201, 25, 17, 246, 60, 93},
+{45, 168, 109, 30, 77, 119, 6, 108, 16, 136, 109, 236, 65, 44, 9, 158, 81, 121, 215, 44, 227, 168, 139, 253, 114, 212, 82, 116, 35, 111, 203, 235, 106, 100, 92, 135, 109, 122, 158, 201, 132, 99, 40, 165, 119, 123, 108, 104, 255, 141, 122, 245, 11, 225, 9, 225, 196, 74, 51, 183, 93, 130, 212, 131, 252, 51, 4, 185, 234, 190, 77, 145, 14, 136, 13, 39, 203, 3, 173, 234, 155, 235, 96, 56, 85, 199, 224, 98, 140, 79, 243, 71, 190, 108, 169, 36, 153, 73, 187, 211, 194, 191, 55, 133, 155, 149, 225, 99, 19, 179, 218, 118, 198, 39, 170, 105, 211, 75, 181, 101, 111, 209, 181, 64, 154, 102, 152, 177},
+{150, 50, 56, 153, 125, 0, 159, 243, 190, 103, 9, 8, 184, 83, 139, 48, 53, 128, 65, 84, 108, 171, 187, 9, 82, 34, 168, 150, 76, 74, 148, 217, 172, 144, 133, 166, 6, 2, 118, 183, 107, 95, 152, 78, 115, 37, 91, 0, 146, 64, 160, 64, 49, 85, 8, 51, 45, 108, 243, 174, 160, 8, 209, 221, 114, 59, 169, 39, 202, 215, 68, 202, 72, 163, 136, 235, 65, 86, 61, 202, 107, 129, 69, 53, 98, 89, 182, 159, 2, 210, 95, 240, 182, 251, 137, 205, 3, 122, 178, 124, 242, 214, 103, 54, 201, 38, 183, 72, 67, 233, 136, 103, 156, 119, 214, 41, 172, 118, 223, 14, 20, 82, 223, 52, 20, 102, 168, 173},
+{115, 131, 219, 204, 26, 59, 147, 23, 61, 251, 88, 72, 4, 71, 171, 77, 129, 47, 186, 3, 73, 63, 191, 164, 162, 59, 35, 106, 228, 71, 6, 8, 220, 224, 119, 197, 56, 140, 52, 235, 83, 33, 191, 42, 139, 250, 41, 182, 14, 67, 14, 162, 130, 215, 21, 174, 34, 241, 154, 229, 201, 220, 225, 183, 110, 31, 92, 231, 214, 241, 94, 62, 248, 76, 254, 102, 68, 204, 144, 60, 55, 116, 254, 123, 31, 121, 249, 248, 119, 11, 167, 156, 255, 1, 214, 147, 47, 99, 249, 67, 198, 178, 5, 114, 10, 184, 52, 139, 206, 96, 233, 203, 1, 230, 220, 4, 73, 231, 179, 46, 31, 154, 135, 23, 42, 3, 99, 245},
+{153, 131, 11, 144, 167, 10, 235, 129, 4, 196, 164, 93, 121, 192, 150, 205, 127, 221, 91, 44, 157, 189, 22, 57, 122, 123, 227, 13, 206, 48, 159, 66, 229, 226, 64, 211, 167, 126, 101, 193, 249, 137, 115, 138, 225, 32, 212, 73, 110, 74, 109, 33, 247, 155, 51, 50, 191, 242, 236, 172, 29, 178, 147, 77, 112, 197, 145, 173, 48, 22, 79, 233, 86, 241, 160, 47, 140, 16, 246, 135, 175, 10, 149, 58, 178, 168, 68, 175, 254, 68, 219, 64, 44, 226, 201, 102, 156, 62, 68, 156, 184, 255, 230, 140, 45, 142, 240, 149, 223, 181, 227, 59, 230, 53, 64, 16, 184, 240, 150, 98, 134, 162, 52, 173, 228, 200, 93, 137},
+{59, 197, 38, 254, 32, 251, 69, 84, 148, 188, 15, 77, 96, 32, 232, 9, 203, 60, 212, 254, 229, 158, 26, 184, 138, 162, 236, 202, 69, 205, 53, 49, 107, 162, 225, 224, 141, 229, 59, 246, 7, 82, 192, 167, 209, 182, 20, 154, 16, 201, 82, 222, 168, 235, 1, 254, 20, 245, 94, 219, 96, 92, 215, 226, 94, 14, 189, 170, 83, 31, 92, 84, 26, 57, 83, 232, 158, 86, 103, 12, 235, 206, 191, 240, 181, 82, 251, 28, 213, 179, 209, 146, 255, 24, 158, 158, 208, 216, 18, 26, 227, 251, 19, 114, 154, 118, 108, 118, 9, 233, 46, 33, 15, 129, 87, 50, 127, 21, 56, 216, 17, 210, 118, 237, 200, 83, 246, 135},
+{68, 224, 14, 92, 63, 145, 105, 185, 153, 205, 173, 156, 243, 136, 123, 181, 87, 195, 35, 192, 13, 97, 8, 235, 29, 222, 11, 97, 41, 116, 61, 148, 41, 232, 187, 200, 73, 136, 203, 191, 37, 152, 154, 122, 212, 173, 253, 49, 183, 206, 132, 187, 246, 252, 205, 209, 252, 146, 96, 2, 8, 79, 27, 195, 46, 116, 112, 251, 252, 185, 188, 150, 58, 118, 235, 188, 240, 23, 6, 238, 236, 225, 61, 87, 55, 253, 16, 79, 81, 68, 85, 187, 37, 218, 174, 95, 48, 28, 195, 28, 202, 212, 241, 71, 141, 223, 241, 104, 115, 72, 18, 171, 145, 250, 6, 53, 8, 185, 139, 3, 186, 214, 243, 84, 227, 223, 214, 171},
+{116, 98, 240, 120, 17, 92, 138, 9, 228, 179, 82, 50, 235, 227, 47, 25, 170, 149, 60, 182, 150, 110, 76, 60, 10, 45, 91, 198, 81, 241, 15, 168, 242, 165, 166, 172, 157, 19, 238, 44, 155, 140, 80, 115, 206, 63, 48, 33, 105, 121, 23, 181, 45, 180, 238, 206, 35, 183, 182, 168, 183, 244, 34, 75, 173, 251, 60, 219, 208, 220, 17, 220, 33, 44, 171, 181, 251, 113, 48, 111, 128, 240, 208, 138, 81, 27, 234, 142, 84, 32, 10, 162, 135, 177, 180, 133, 55, 87, 187, 113, 83, 154, 63, 197, 255, 140, 234, 143, 114, 243, 241, 32, 10, 187, 137, 252, 174, 249, 7, 245, 252, 161, 176, 163, 206, 34, 206, 1},
+{79, 241, 79, 170, 12, 2, 88, 148, 253, 238, 24, 104, 65, 221, 117, 248, 177, 208, 133, 50, 77, 97, 214, 232, 136, 128, 60, 255, 226, 91, 156, 15, 123, 242, 160, 42, 223, 109, 221, 125, 152, 199, 88, 53, 33, 12, 148, 11, 194, 68, 116, 93, 56, 255, 198, 123, 227, 74, 218, 250, 212, 76, 186, 238, 175, 122, 60, 207, 9, 130, 95, 242, 180, 141, 227, 174, 234, 80, 215, 115, 13, 235, 68, 173, 52, 100, 120, 85, 37, 61, 44, 229, 225, 241, 135, 107, 126, 248, 98, 10, 201, 93, 242, 70, 45, 204, 104, 200, 29, 38, 246, 138, 130, 70, 225, 6, 219, 212, 111, 97, 111, 112, 61, 38, 208, 247, 128, 5},
+{75, 190, 27, 41, 96, 201, 221, 33, 142, 171, 119, 147, 99, 157, 245, 58, 50, 105, 204, 85, 246, 233, 105, 2, 216, 159, 37, 4, 12, 57, 186, 130, 180, 34, 82, 232, 47, 89, 29, 192, 215, 198, 251, 228, 202, 123, 114, 208, 212, 81, 53, 186, 199, 183, 14, 126, 148, 55, 85, 134, 240, 119, 156, 106, 55, 143, 86, 14, 216, 193, 6, 75, 152, 65, 51, 74, 91, 170, 96, 253, 221, 50, 206, 174, 206, 173, 238, 62, 123, 96, 254, 124, 39, 248, 167, 156, 176, 50, 80, 107, 6, 90, 91, 64, 163, 94, 104, 90, 172, 208, 106, 189, 37, 212, 255, 178, 151, 179, 158, 168, 207, 129, 147, 4, 156, 194, 11, 41},
+{113, 178, 248, 56, 154, 32, 222, 158, 137, 200, 51, 170, 156, 68, 33, 155, 142, 45, 120, 4, 147, 123, 49, 123, 11, 134, 185, 88, 209, 69, 46, 41, 161, 113, 163, 109, 83, 104, 81, 161, 162, 201, 60, 14, 190, 133, 21, 238, 227, 80, 16, 185, 73, 120, 255, 125, 29, 26, 179, 231, 71, 232, 245, 241, 6, 76, 214, 191, 120, 99, 236, 142, 37, 15, 155, 89, 166, 225, 182, 242, 19, 82, 29, 112, 61, 12, 237, 171, 66, 94, 60, 185, 112, 250, 114, 119, 112, 176, 5, 105, 111, 18, 2, 49, 59, 180, 199, 176, 124, 188, 14, 181, 222, 117, 205, 210, 168, 36, 137, 55, 76, 41, 122, 15, 121, 221, 126, 168},
+{49, 165, 86, 213, 222, 222, 8, 2, 217, 150, 62, 46, 121, 147, 38, 31, 152, 175, 174, 1, 131, 124, 45, 204, 215, 35, 95, 195, 116, 251, 150, 35, 33, 222, 125, 238, 182, 233, 157, 4, 41, 77, 38, 183, 123, 163, 72, 52, 190, 13, 66, 144, 254, 58, 22, 103, 30, 13, 99, 120, 34, 63, 14, 49, 201, 34, 66, 74, 53, 119, 3, 44, 206, 51, 159, 134, 7, 10, 86, 81, 103, 15, 176, 180, 151, 165, 231, 56, 81, 217, 63, 125, 243, 50, 15, 70, 139, 202, 116, 63, 63, 3, 226, 244, 237, 27, 83, 0, 61, 65, 61, 93, 216, 241, 94, 74, 115, 113, 72, 201, 126, 127, 128, 145, 23, 222, 5, 104},
+{166, 195, 42, 78, 219, 75, 75, 30, 116, 58, 78, 51, 227, 143, 174, 208, 238, 248, 41, 53, 160, 50, 202, 157, 6, 9, 180, 188, 215, 49, 94, 100, 137, 211, 100, 201, 247, 163, 54, 84, 92, 225, 3, 47, 21, 194, 165, 32, 2, 45, 231, 252, 37, 11, 105, 212, 17, 25, 81, 246, 92, 165, 243, 245, 128, 5, 40, 95, 55, 117, 251, 122, 38, 75, 54, 221, 36, 36, 232, 42, 65, 127, 126, 52, 143, 90, 17, 225, 49, 177, 208, 115, 200, 111, 110, 92, 201, 76, 59, 136, 40, 136, 127, 38, 60, 16, 182, 94, 158, 48, 100, 142, 79, 199, 150, 51, 94, 2, 132, 160, 129, 121, 173, 53, 168, 117, 82, 203},
+{11, 188, 237, 170, 37, 108, 157, 177, 35, 201, 29, 215, 149, 76, 94, 66, 194, 29, 174, 44, 235, 145, 156, 230, 31, 98, 46, 161, 192, 149, 68, 78, 37, 50, 203, 247, 59, 178, 121, 119, 35, 123, 56, 240, 31, 113, 3, 89, 18, 233, 38, 127, 108, 178, 194, 197, 161, 174, 191, 238, 94, 147, 145, 235, 24, 250, 186, 117, 201, 232, 250, 255, 13, 53, 183, 132, 117, 87, 190, 209, 97, 214, 84, 37, 186, 229, 116, 36, 126, 125, 97, 230, 116, 154, 89, 84, 92, 30, 255, 84, 223, 163, 245, 228, 96, 14, 101, 117, 93, 199, 87, 155, 88, 181, 73, 111, 7, 164, 68, 45, 9, 36, 141, 160, 242, 173, 154, 139},
+{140, 212, 104, 88, 40, 109, 133, 60, 82, 123, 133, 58, 201, 226, 188, 163, 249, 1, 78, 205, 81, 69, 40, 217, 6, 83, 58, 174, 53, 108, 26, 151, 165, 24, 85, 246, 158, 3, 131, 64, 64, 234, 22, 56, 205, 222, 141, 12, 36, 19, 75, 162, 218, 66, 65, 117, 12, 126, 86, 244, 243, 59, 16, 95, 32, 231, 72, 148, 42, 29, 250, 195, 106, 11, 241, 248, 98, 229, 68, 234, 103, 218, 71, 185, 215, 68, 162, 85, 181, 159, 123, 132, 147, 175, 164, 201, 104, 66, 145, 40, 111, 74, 138, 87, 191, 253, 183, 249, 1, 131, 193, 21, 147, 93, 144, 45, 64, 60, 69, 165, 90, 96, 86, 67, 240, 63, 67, 131},
+{186, 235, 151, 197, 68, 47, 8, 151, 56, 82, 153, 67, 118, 156, 154, 62, 28, 48, 247, 36, 192, 16, 120, 243, 135, 155, 101, 90, 228, 117, 105, 222, 199, 98, 32, 53, 183, 51, 22, 137, 20, 146, 111, 9, 120, 143, 57, 132, 235, 154, 63, 217, 190, 13, 29, 26, 200, 134, 230, 145, 90, 0, 206, 65, 11, 246, 134, 196, 225, 217, 135, 13, 86, 225, 50, 113, 251, 182, 167, 118, 156, 1, 24, 105, 200, 240, 58, 216, 145, 148, 207, 103, 5, 156, 90, 196, 248, 244, 31, 204, 236, 97, 58, 79, 42, 178, 129, 164, 189, 9, 107, 220, 117, 232, 218, 96, 36, 151, 92, 241, 106, 228, 120, 76, 116, 89, 174, 233},
+{148, 231, 89, 51, 138, 166, 105, 194, 59, 83, 72, 33, 225, 61, 8, 168, 228, 162, 90, 251, 42, 193, 2, 220, 10, 8, 218, 7, 235, 36, 11, 163, 68, 245, 41, 52, 135, 74, 107, 2, 197, 161, 248, 29, 27, 216, 140, 143, 186, 233, 34, 19, 66, 171, 138, 138, 23, 23, 48, 111, 30, 208, 213, 172, 96, 188, 91, 181, 165, 207, 159, 137, 144, 185, 176, 150, 80, 82, 246, 227, 34, 126, 64, 94, 206, 182, 165, 187, 31, 174, 206, 160, 255, 234, 83, 151, 32, 130, 148, 207, 120, 216, 109, 78, 208, 137, 140, 217, 39, 213, 171, 17, 163, 117, 180, 8, 114, 232, 219, 109, 49, 89, 183, 175, 52, 82, 230, 200},
+{208, 147, 217, 255, 204, 87, 8, 121, 67, 98, 25, 52, 64, 75, 168, 63, 149, 104, 188, 3, 95, 106, 206, 181, 56, 0, 119, 51, 88, 254, 74, 151, 76, 21, 84, 187, 135, 19, 144, 190, 222, 88, 249, 47, 17, 111, 86, 194, 18, 177, 164, 41, 18, 236, 22, 100, 112, 206, 213, 32, 134, 127, 179, 0, 127, 107, 241, 60, 77, 127, 13, 119, 104, 100, 9, 162, 161, 35, 7, 81, 133, 46, 247, 225, 43, 253, 134, 253, 157, 133, 85, 142, 26, 53, 121, 216, 42, 175, 122, 249, 19, 247, 16, 229, 60, 71, 176, 179, 31, 76, 175, 223, 226, 204, 236, 179, 221, 246, 18, 48, 83, 159, 149, 66, 12, 181, 195, 194},
+{35, 234, 52, 175, 30, 192, 198, 162, 70, 124, 2, 59, 13, 97, 86, 235, 234, 189, 75, 155, 155, 140, 73, 169, 127, 23, 28, 195, 17, 184, 27, 41, 26, 103, 194, 172, 66, 105, 119, 102, 244, 96, 191, 158, 66, 225, 198, 145, 212, 46, 24, 151, 24, 255, 147, 76, 222, 163, 114, 101, 112, 58, 40, 51, 36, 100, 152, 226, 249, 5, 186, 158, 67, 172, 4, 101, 209, 14, 161, 130, 48, 148, 71, 166, 172, 72, 174, 51, 215, 204, 192, 87, 167, 93, 15, 235, 233, 21, 63, 127, 153, 65, 221, 157, 141, 37, 5, 171, 49, 214, 44, 145, 105, 71, 27, 203, 177, 74, 119, 24, 86, 190, 189, 91, 213, 6, 109, 164},
+{150, 193, 185, 96, 85, 143, 238, 196, 203, 137, 4, 247, 146, 153, 29, 205, 35, 73, 245, 9, 2, 198, 101, 251, 110, 181, 144, 109, 126, 118, 197, 197, 160, 188, 251, 235, 39, 235, 190, 75, 224, 127, 105, 52, 210, 211, 27, 90, 196, 212, 43, 201, 183, 82, 210, 176, 240, 170, 3, 79, 116, 231, 4, 100, 22, 32, 25, 189, 119, 138, 38, 100, 158, 4, 74, 54, 145, 70, 58, 55, 179, 130, 19, 139, 100, 177, 2, 122, 142, 119, 83, 152, 22, 80, 131, 217, 15, 228, 25, 199, 233, 102, 169, 1, 94, 59, 220, 214, 46, 135, 186, 185, 31, 13, 26, 17, 139, 254, 132, 20, 114, 130, 18, 200, 204, 195, 66, 159},
+{80, 255, 42, 82, 97, 134, 31, 43, 158, 164, 134, 219, 35, 231, 174, 69, 25, 224, 234, 220, 216, 167, 5, 55, 130, 94, 59, 186, 26, 11, 239, 6, 34, 87, 195, 73, 169, 200, 83, 172, 192, 15, 111, 9, 20, 32, 143, 55, 128, 0, 122, 107, 21, 231, 69, 87, 225, 254, 90, 69, 160, 137, 119, 178, 219, 177, 58, 83, 31, 26, 120, 29, 137, 111, 224, 162, 73, 44, 212, 145, 42, 196, 28, 217, 177, 88, 50, 91, 46, 98, 108, 240, 113, 155, 52, 100, 206, 45, 185, 94, 212, 158, 22, 170, 211, 172, 129, 201, 22, 79, 78, 45, 102, 134, 155, 139, 69, 210, 215, 52, 55, 140, 199, 197, 184, 140, 202, 121},
+{14, 147, 141, 243, 223, 172, 255, 172, 5, 15, 108, 46, 127, 92, 238, 139, 140, 210, 58, 175, 134, 246, 169, 121, 232, 16, 97, 194, 253, 94, 26, 55, 255, 102, 164, 58, 124, 192, 126, 203, 182, 37, 81, 137, 131, 72, 140, 19, 240, 237, 63, 54, 88, 78, 210, 95, 77, 226, 138, 155, 111, 167, 131, 204, 218, 166, 250, 37, 85, 230, 202, 214, 12, 229, 127, 170, 68, 147, 227, 105, 77, 18, 56, 11, 165, 112, 242, 52, 45, 145, 178, 82, 208, 5, 130, 121, 92, 192, 62, 237, 45, 1, 189, 142, 176, 74, 39, 220, 210, 190, 39, 243, 152, 4, 190, 152, 228, 253, 100, 22, 122, 222, 66, 61, 126, 73, 28, 86},
+{195, 82, 235, 220, 239, 21, 116, 234, 125, 233, 226, 13, 113, 185, 102, 230, 152, 241, 46, 234, 128, 70, 131, 138, 193, 223, 113, 1, 237, 132, 75, 132, 242, 168, 115, 49, 13, 254, 127, 179, 115, 194, 101, 185, 239, 211, 176, 56, 251, 191, 99, 1, 226, 215, 94, 218, 213, 156, 255, 37, 62, 184, 60, 15, 38, 110, 254, 10, 228, 28, 70, 87, 20, 53, 196, 4, 19, 246, 191, 24, 96, 229, 184, 74, 44, 33, 49, 113, 172, 176, 95, 155, 195, 209, 16, 144, 95, 250, 188, 106, 230, 37, 15, 50, 224, 101, 240, 66, 194, 129, 140, 60, 167, 109, 87, 214, 206, 52, 144, 48, 19, 10, 128, 147, 166, 86, 161, 80},
+{74, 159, 214, 86, 183, 20, 206, 70, 250, 37, 175, 237, 194, 215, 129, 244, 44, 20, 66, 171, 40, 236, 119, 113, 91, 217, 122, 189, 249, 201, 85, 17, 5, 50, 212, 75, 81, 44, 223, 217, 20, 44, 179, 134, 121, 87, 1, 111, 155, 138, 87, 188, 10, 26, 64, 216, 149, 145, 125, 170, 183, 143, 64, 154, 90, 156, 37, 117, 63, 92, 40, 242, 137, 151, 155, 80, 143, 105, 137, 237, 212, 136, 174, 43, 145, 143, 31, 69, 132, 139, 181, 171, 133, 157, 219, 25, 250, 47, 48, 146, 116, 30, 220, 166, 58, 23, 131, 118, 105, 176, 150, 211, 85, 89, 57, 253, 119, 26, 44, 103, 173, 221, 52, 64, 225, 3, 1, 115},
+{163, 139, 144, 143, 122, 220, 40, 43, 249, 236, 240, 77, 122, 56, 235, 28, 80, 208, 213, 150, 68, 101, 56, 59, 68, 31, 74, 114, 210, 185, 226, 83, 214, 241, 81, 145, 30, 27, 49, 89, 237, 239, 163, 94, 84, 177, 49, 167, 234, 183, 2, 82, 192, 134, 200, 153, 105, 126, 130, 214, 207, 204, 41, 179, 9, 218, 200, 14, 207, 233, 86, 107, 146, 185, 140, 58, 127, 172, 30, 167, 52, 253, 170, 240, 45, 30, 143, 163, 24, 227, 88, 166, 39, 59, 208, 50, 63, 143, 194, 3, 59, 34, 47, 112, 82, 249, 99, 18, 99, 153, 40, 102, 36, 115, 3, 120, 20, 126, 73, 198, 134, 155, 219, 58, 155, 202, 85, 176},
+{116, 40, 214, 120, 29, 45, 235, 67, 240, 124, 214, 100, 202, 139, 179, 183, 150, 83, 255, 154, 68, 196, 165, 197, 62, 109, 122, 73, 185, 19, 217, 191, 83, 85, 26, 150, 203, 29, 191, 160, 125, 53, 252, 231, 240, 74, 183, 174, 171, 25, 22, 142, 70, 120, 180, 244, 21, 78, 65, 32, 234, 231, 1, 243, 23, 98, 234, 253, 33, 16, 54, 190, 28, 136, 228, 211, 153, 73, 229, 15, 71, 106, 202, 147, 200, 226, 126, 97, 242, 70, 48, 112, 107, 153, 206, 181, 84, 173, 133, 16, 226, 55, 158, 169, 168, 248, 110, 197, 17, 159, 113, 121, 110, 197, 186, 177, 191, 61, 11, 159, 141, 207, 244, 125, 115, 184, 220, 59},
+{125, 140, 51, 250, 97, 218, 57, 164, 59, 83, 96, 28, 0, 157, 42, 102, 202, 159, 69, 147, 129, 199, 108, 127, 180, 227, 138, 246, 37, 8, 79, 180, 149, 8, 149, 29, 60, 166, 176, 174, 243, 56, 127, 87, 28, 66, 145, 40, 171, 238, 57, 32, 254, 124, 38, 55, 80, 222, 98, 22, 230, 28, 235, 23, 3, 141, 118, 157, 96, 142, 27, 150, 41, 122, 124, 111, 2, 60, 206, 102, 44, 130, 138, 233, 129, 148, 150, 200, 171, 119, 42, 190, 211, 252, 170, 183, 51, 186, 66, 120, 33, 69, 84, 216, 12, 157, 70, 94, 222, 28, 28, 140, 153, 197, 42, 235, 212, 229, 93, 29, 125, 138, 110, 182, 41, 129, 5, 87},
+{92, 89, 64, 99, 82, 70, 197, 26, 122, 13, 228, 103, 198, 136, 133, 15, 127, 62, 247, 193, 246, 97, 3, 169, 205, 237, 163, 136, 213, 209, 216, 18, 10, 75, 167, 107, 99, 35, 24, 5, 144, 246, 126, 210, 82, 73, 32, 77, 40, 219, 67, 245, 114, 218, 219, 12, 204, 236, 83, 67, 208, 130, 101, 59, 99, 231, 73, 72, 184, 241, 122, 139, 141, 0, 120, 114, 89, 189, 38, 23, 176, 84, 212, 151, 237, 137, 149, 16, 109, 247, 227, 54, 96, 48, 215, 158, 177, 247, 141, 133, 217, 84, 49, 254, 116, 96, 184, 64, 141, 11, 150, 125, 163, 42, 80, 255, 147, 183, 242, 245, 218, 105, 134, 184, 153, 111, 205, 210},
+{164, 158, 106, 140, 6, 174, 228, 155, 83, 62, 197, 76, 14, 134, 37, 45, 52, 41, 30, 43, 2, 204, 37, 238, 242, 253, 245, 59, 168, 220, 49, 12, 169, 44, 34, 101, 231, 40, 247, 174, 42, 65, 141, 96, 106, 231, 212, 124, 114, 225, 234, 104, 222, 39, 43, 186, 123, 193, 54, 47, 142, 173, 90, 19, 113, 219, 192, 47, 143, 249, 40, 212, 20, 196, 110, 35, 236, 215, 169, 110, 129, 252, 91, 87, 234, 40, 164, 208, 36, 100, 9, 120, 26, 128, 22, 245, 181, 33, 251, 145, 119, 243, 72, 40, 173, 92, 56, 100, 67, 34, 75, 234, 99, 133, 88, 182, 145, 67, 109, 179, 156, 227, 130, 54, 157, 249, 42, 46},
+{142, 250, 48, 253, 81, 143, 109, 52, 254, 194, 66, 3, 51, 139, 229, 36, 1, 63, 211, 182, 170, 208, 181, 81, 196, 52, 55, 10, 104, 228, 68, 212, 11, 201, 219, 14, 113, 205, 164, 233, 181, 144, 13, 84, 119, 174, 18, 128, 87, 241, 122, 22, 109, 144, 100, 135, 226, 196, 218, 121, 37, 102, 59, 35, 215, 167, 36, 249, 171, 135, 254, 229, 118, 83, 154, 138, 178, 7, 210, 196, 190, 77, 95, 134, 245, 253, 214, 109, 248, 87, 146, 37, 124, 38, 149, 112, 148, 23, 121, 9, 49, 67, 242, 161, 220, 12, 63, 64, 185, 26, 55, 65, 137, 49, 126, 193, 84, 223, 190, 240, 35, 115, 172, 136, 234, 157, 147, 222},
+{118, 166, 230, 20, 72, 122, 57, 247, 239, 92, 60, 85, 85, 68, 33, 133, 181, 181, 82, 218, 128, 226, 125, 230, 63, 8, 156, 57, 241, 216, 50, 208, 216, 249, 147, 205, 90, 6, 29, 32, 40, 139, 23, 173, 46, 55, 205, 123, 132, 143, 171, 25, 215, 198, 11, 30, 53, 40, 209, 63, 106, 120, 94, 144, 230, 231, 57, 247, 48, 178, 235, 218, 20, 43, 98, 220, 219, 208, 23, 233, 66, 21, 238, 42, 36, 231, 185, 156, 38, 234, 79, 144, 203, 170, 113, 49, 191, 96, 141, 253, 220, 181, 168, 138, 160, 68, 89, 147, 226, 36, 50, 118, 143, 183, 26, 40, 107, 170, 169, 130, 138, 158, 132, 119, 142, 114, 226, 112},
+{200, 1, 38, 180, 233, 209, 139, 130, 200, 5, 196, 65, 246, 81, 59, 58, 57, 148, 76, 4, 100, 82, 162, 214, 240, 27, 216, 57, 28, 108, 161, 196, 189, 128, 126, 7, 98, 120, 33, 162, 56, 245, 132, 242, 96, 7, 81, 110, 52, 76, 225, 28, 239, 29, 233, 55, 24, 225, 188, 97, 231, 127, 145, 12, 65, 19, 196, 12, 236, 166, 21, 108, 192, 85, 171, 93, 235, 174, 249, 178, 178, 8, 44, 197, 12, 230, 141, 25, 30, 252, 112, 231, 224, 183, 56, 18, 198, 179, 90, 220, 201, 15, 42, 51, 71, 210, 131, 181, 103, 195, 173, 126, 113, 138, 172, 59, 171, 250, 76, 218, 231, 162, 80, 33, 174, 120, 167, 10},
+{199, 99, 117, 98, 224, 38, 254, 236, 10, 192, 220, 40, 106, 209, 126, 154, 139, 4, 83, 149, 241, 154, 55, 89, 118, 247, 242, 232, 22, 104, 106, 189, 138, 42, 186, 137, 3, 249, 168, 62, 110, 52, 143, 78, 110, 202, 176, 118, 89, 87, 193, 137, 134, 178, 59, 25, 62, 101, 192, 160, 144, 6, 152, 88, 127, 107, 187, 18, 184, 246, 57, 205, 39, 122, 82, 191, 37, 106, 186, 69, 134, 16, 103, 254, 126, 102, 39, 40, 5, 76, 213, 62, 10, 14, 15, 185, 237, 227, 101, 164, 166, 54, 79, 74, 153, 107, 93, 174, 200, 220, 200, 88, 83, 151, 91, 125, 214, 186, 53, 143, 75, 191, 68, 162, 20, 194, 4, 42},
+{173, 87, 22, 250, 138, 220, 162, 230, 210, 145, 74, 153, 1, 73, 205, 1, 29, 71, 116, 203, 189, 252, 97, 251, 91, 22, 132, 6, 239, 210, 134, 196, 94, 187, 187, 41, 236, 190, 213, 98, 227, 45, 134, 116, 233, 234, 208, 183, 121, 213, 100, 196, 33, 207, 179, 157, 91, 134, 253, 167, 178, 155, 151, 108, 8, 84, 132, 153, 138, 73, 30, 205, 208, 102, 232, 64, 38, 27, 50, 195, 3, 94, 25, 179, 106, 92, 129, 144, 158, 151, 205, 216, 86, 130, 68, 97, 102, 232, 23, 120, 35, 123, 237, 177, 36, 11, 242, 240, 124, 190, 79, 8, 73, 137, 84, 145, 13, 39, 121, 60, 230, 31, 178, 240, 8, 211, 3, 63},
+{58, 79, 188, 169, 105, 228, 223, 29, 85, 213, 161, 166, 160, 154, 181, 151, 83, 176, 76, 96, 123, 157, 149, 193, 109, 18, 134, 231, 145, 183, 227, 64, 227, 161, 232, 81, 189, 118, 20, 74, 191, 237, 244, 239, 133, 249, 40, 49, 147, 3, 81, 43, 99, 164, 70, 160, 8, 190, 74, 202, 43, 5, 40, 108, 251, 40, 241, 184, 137, 86, 252, 158, 114, 106, 162, 69, 187, 100, 233, 27, 6, 138, 203, 20, 115, 150, 47, 128, 48, 182, 187, 81, 110, 102, 161, 203, 243, 227, 9, 9, 6, 133, 202, 52, 46, 166, 229, 178, 196, 120, 39, 153, 171, 133, 224, 34, 164, 106, 243, 116, 180, 97, 172, 95, 200, 160, 41, 93},
+{22, 208, 63, 222, 210, 210, 52, 114, 110, 40, 170, 244, 245, 204, 92, 83, 205, 95, 165, 36, 138, 90, 199, 242, 103, 197, 122, 44, 179, 250, 53, 89, 47, 82, 125, 28, 184, 180, 176, 81, 19, 229, 9, 24, 161, 75, 214, 245, 107, 22, 186, 71, 30, 169, 24, 126, 171, 6, 162, 70, 216, 144, 3, 178, 34, 204, 197, 33, 121, 243, 16, 107, 28, 214, 214, 78, 52, 152, 19, 215, 66, 31, 48, 238, 35, 254, 189, 147, 1, 238, 37, 160, 128, 82, 152, 33, 71, 247, 72, 228, 56, 171, 205, 148, 246, 32, 220, 163, 191, 136, 73, 146, 43, 23, 218, 199, 20, 198, 66, 187, 230, 70, 120, 181, 86, 239, 11},
+{169, 108, 180, 202, 101, 142, 78, 1, 100, 68, 112, 31, 60, 143, 140, 49, 104, 32, 252, 225, 138, 70, 175, 37, 34, 200, 224, 191, 26, 82, 216, 67, 174, 73, 174, 231, 113, 40, 224, 54, 190, 18, 121, 7, 16, 170, 49, 73, 230, 34, 38, 159, 236, 84, 32, 35, 219, 174, 14, 107, 154, 59, 123, 107, 73, 30, 218, 65, 21, 85, 152, 75, 132, 218, 46, 251, 22, 108, 253, 97, 40, 27, 197, 105, 171, 127, 171, 66, 184, 147, 209, 200, 224, 255, 114, 89, 119, 10, 251, 233, 118, 135, 34, 5, 105, 143, 145, 181, 228, 79, 100, 154, 114, 245, 250, 76, 211, 209, 236, 138, 100, 77, 105, 95, 61, 17, 186, 69},
+{6, 83, 48, 238, 85, 169, 139, 237, 8, 153, 51, 149, 232, 141, 213, 13, 83, 77, 104, 49, 226, 136, 93, 238, 68, 135, 127, 133, 63, 95, 89, 211, 81, 61, 189, 79, 98, 2, 186, 112, 95, 225, 38, 66, 194, 186, 240, 242, 233, 56, 81, 152, 242, 94, 51, 187, 140, 151, 9, 170, 121, 148, 251, 168, 151, 88, 40, 142, 100, 160, 1, 193, 38, 200, 74, 164, 234, 54, 239, 170, 201, 244, 176, 13, 115, 129, 165, 205, 220, 105, 94, 0, 106, 231, 68, 181, 53, 74, 101, 185, 103, 1, 220, 48, 183, 121, 2, 167, 193, 117, 205, 148, 36, 0, 231, 31, 159, 50, 118, 86, 183, 1, 213, 103, 234, 217, 129, 114},
+{167, 228, 69, 132, 222, 71, 136, 88, 139, 106, 7, 150, 97, 252, 210, 18, 83, 164, 80, 44, 25, 102, 87, 125, 137, 229, 82, 164, 208, 187, 161, 14, 156, 230, 54, 121, 191, 53, 74, 119, 101, 151, 91, 53, 67, 232, 91, 224, 223, 120, 74, 53, 147, 118, 156, 61, 203, 0, 141, 49, 90, 176, 219, 179, 10, 62, 221, 32, 79, 63, 58, 144, 53, 251, 207, 232, 8, 167, 49, 166, 226, 78, 112, 228, 175, 71, 119, 49, 68, 94, 228, 89, 94, 162, 49, 110, 32, 117, 162, 143, 60, 25, 178, 240, 137, 14, 205, 21, 49, 97, 54, 33, 17, 200, 251, 158, 175, 74, 125, 42, 144, 160, 160, 233, 78, 126, 226, 161},
+{34, 223, 65, 146, 188, 197, 132, 20, 151, 81, 202, 247, 12, 125, 226, 215, 203, 81, 102, 224, 231, 120, 78, 168, 127, 205, 40, 217, 221, 196, 99, 191, 209, 114, 189, 98, 167, 249, 51, 24, 115, 77, 219, 238, 217, 189, 74, 241, 16, 79, 247, 9, 119, 136, 245, 70, 160, 161, 221, 144, 233, 3, 139, 134, 63, 143, 246, 177, 146, 210, 50, 191, 20, 144, 190, 122, 135, 212, 67, 178, 67, 90, 60, 98, 113, 144, 243, 28, 147, 167, 11, 92, 143, 252, 94, 208, 124, 247, 235, 146, 174, 42, 129, 202, 244, 37, 172, 36, 52, 165, 159, 175, 123, 25, 104, 226, 83, 150, 78, 113, 175, 128, 196, 243, 190, 53, 3, 208},
+{119, 232, 118, 93, 99, 1, 155, 241, 138, 229, 245, 92, 231, 68, 209, 122, 128, 99, 69, 74, 31, 158, 219, 92, 198, 220, 122, 249, 156, 167, 209, 184, 99, 253, 91, 243, 51, 245, 254, 31, 233, 171, 78, 215, 36, 194, 225, 120, 162, 31, 25, 35, 8, 129, 93, 130, 26, 58, 28, 35, 133, 179, 25, 13, 243, 94, 107, 193, 69, 112, 250, 39, 145, 126, 152, 198, 66, 201, 181, 140, 178, 58, 181, 154, 52, 24, 240, 73, 19, 234, 100, 172, 101, 210, 207, 253, 94, 204, 2, 204, 101, 159, 15, 108, 95, 50, 216, 18, 54, 153, 146, 29, 55, 160, 213, 6, 22, 75, 3, 210, 219, 77, 252, 132, 155, 121, 29, 100},
+{19, 46, 105, 100, 231, 219, 151, 129, 87, 162, 245, 65, 167, 249, 217, 250, 188, 44, 247, 33, 2, 58, 151, 88, 84, 81, 159, 80, 117, 29, 234, 155, 136, 204, 150, 196, 111, 198, 172, 250, 235, 198, 212, 28, 59, 3, 226, 15, 200, 69, 153, 250, 205, 75, 106, 157, 44, 105, 186, 182, 141, 177, 33, 176, 198, 183, 40, 11, 224, 218, 40, 57, 24, 72, 11, 96, 207, 223, 32, 13, 76, 3, 113, 184, 29, 141, 91, 210, 180, 53, 112, 252, 99, 112, 126, 143, 75, 93, 111, 221, 19, 253, 185, 84, 78, 69, 204, 219, 240, 249, 124, 118, 171, 14, 13, 130, 82, 211, 160, 68, 254, 42, 16, 74, 104, 250, 19, 113},
+{183, 185, 0, 120, 2, 214, 115, 219, 144, 227, 84, 41, 155, 85, 145, 217, 176, 144, 20, 156, 99, 154, 81, 209, 255, 20, 76, 19, 129, 180, 42, 123, 246, 213, 173, 208, 61, 206, 1, 140, 77, 133, 27, 236, 154, 227, 243, 247, 227, 19, 103, 152, 219, 144, 181, 162, 120, 97, 253, 244, 44, 226, 214, 59, 127, 156, 212, 47, 63, 87, 91, 152, 183, 62, 67, 109, 22, 111, 255, 136, 217, 247, 14, 124, 216, 68, 208, 103, 164, 232, 88, 240, 134, 113, 36, 120, 21, 101, 111, 69, 244, 255, 32, 80, 230, 76, 160, 102, 28, 136, 101, 178, 119, 158, 222, 116, 190, 24, 6, 154, 187, 241, 21, 133, 128, 251, 80, 228},
+{150, 130, 64, 25, 202, 58, 131, 71, 197, 33, 111, 146, 53, 142, 82, 143, 108, 101, 79, 96, 125, 240, 211, 207, 128, 75, 231, 177, 189, 203, 37, 159, 192, 31, 57, 226, 134, 53, 243, 39, 82, 10, 213, 130, 57, 245, 60, 28, 110, 54, 138, 117, 32, 212, 94, 195, 165, 26, 88, 110, 182, 77, 16, 6, 107, 64, 225, 7, 103, 65, 120, 228, 237, 22, 214, 63, 95, 160, 250, 70, 215, 59, 199, 126, 199, 233, 241, 23, 218, 94, 122, 96, 215, 175, 211, 133, 19, 55, 13, 147, 61, 37, 76, 6, 29, 78, 98, 20, 148, 237, 199, 198, 79, 177, 53, 191, 137, 71, 164, 86, 168, 31, 215, 82, 62, 78, 77, 209},
+{171, 131, 245, 158, 211, 221, 85, 51, 126, 20, 215, 130, 222, 88, 82, 126, 149, 174, 136, 35, 20, 110, 186, 109, 224, 25, 94, 142, 232, 200, 138, 220, 140, 12, 251, 126, 248, 242, 205, 232, 169, 247, 165, 63, 164, 42, 144, 246, 50, 97, 174, 7, 60, 106, 147, 86, 199, 121, 139, 33, 210, 193, 159, 49, 250, 147, 234, 189, 236, 194, 189, 162, 75, 248, 187, 182, 25, 249, 86, 1, 24, 1, 195, 35, 205, 201, 167, 154, 199, 57, 58, 70, 197, 28, 59, 5, 204, 82, 71, 96, 96, 118, 241, 180, 154, 77, 2, 204, 23, 193, 169, 164, 187, 180, 211, 153, 113, 240, 46, 177, 101, 190, 73, 206, 229, 171, 146, 199},
+{51, 72, 104, 140, 207, 242, 194, 24, 79, 206, 94, 50, 65, 241, 5, 55, 108, 237, 220, 106, 158, 24, 158, 122, 100, 32, 108, 163, 171, 123, 9, 126, 126, 190, 162, 58, 231, 165, 90, 70, 52, 183, 51, 243, 37, 249, 191, 190, 17, 118, 152, 230, 137, 25, 191, 160, 66, 150, 180, 144, 160, 46, 4, 69, 91, 88, 51, 29, 50, 196, 162, 48, 145, 10, 165, 230, 95, 21, 134, 189, 59, 158, 216, 252, 208, 235, 3, 154, 116, 150, 233, 108, 144, 172, 202, 10, 172, 51, 224, 42, 48, 32, 36, 21, 203, 108, 157, 20, 252, 203, 90, 226, 205, 26, 223, 245, 202, 96, 119, 172, 119, 23, 166, 201, 13, 151, 233, 12},
+{142, 100, 37, 157, 100, 221, 247, 229, 145, 204, 223, 40, 157, 164, 197, 99, 234, 124, 75, 207, 178, 9, 255, 75, 85, 30, 144, 255, 144, 229, 54, 217, 119, 157, 82, 232, 191, 155, 13, 160, 39, 148, 210, 2, 233, 129, 18, 167, 65, 205, 146, 36, 194, 74, 160, 157, 130, 65, 161, 220, 83, 49, 104, 191, 227, 158, 71, 164, 231, 139, 96, 189, 204, 39, 205, 18, 84, 65, 181, 239, 6, 37, 132, 241, 137, 174, 219, 99, 208, 233, 49, 180, 182, 212, 245, 147, 29, 189, 70, 157, 21, 170, 96, 2, 211, 15, 230, 88, 253, 142, 27, 20, 206, 105, 242, 20, 134, 38, 4, 242, 21, 106, 94, 107, 40, 43, 18, 235},
+{88, 216, 21, 221, 132, 193, 196, 93, 139, 130, 73, 19, 68, 241, 196, 22, 175, 45, 122, 63, 195, 145, 236, 104, 217, 69, 84, 7, 19, 149, 2, 42, 65, 110, 137, 247, 13, 34, 142, 124, 162, 32, 107, 57, 32, 232, 92, 221, 49, 213, 117, 86, 62, 100, 86, 2, 9, 17, 114, 247, 164, 62, 214, 140, 164, 107, 77, 48, 24, 146, 7, 233, 239, 206, 59, 232, 98, 249, 203, 3, 160, 152, 168, 210, 140, 151, 27, 10, 15, 148, 244, 27, 201, 120, 195, 161, 227, 112, 0, 148, 115, 75, 45, 36, 120, 66, 230, 134, 170, 53, 22, 11, 36, 139, 244, 15, 215, 97, 155, 64, 245, 95, 169, 127, 94, 128, 59, 245},
+{113, 25, 131, 195, 30, 232, 178, 250, 150, 169, 3, 20, 60, 244, 95, 255, 11, 166, 164, 8, 160, 101, 103, 58, 249, 101, 145, 200, 136, 127, 139, 198, 75, 56, 200, 111, 224, 149, 222, 159, 116, 45, 250, 81, 193, 198, 186, 13, 228, 85, 230, 205, 144, 105, 1, 173, 181, 144, 106, 101, 111, 80, 205, 16, 18, 211, 193, 4, 92, 122, 43, 24, 85, 92, 234, 239, 1, 28, 217, 190, 206, 215, 12, 138, 207, 20, 87, 243, 214, 181, 115, 223, 125, 1, 225, 216, 114, 193, 171, 164, 38, 97, 215, 52, 31, 245, 51, 193, 52, 244, 51, 162, 148, 180, 33, 134, 195, 8, 42, 64, 83, 246, 33, 148, 118, 84, 104, 83},
+{170, 99, 13, 44, 23, 171, 72, 148, 201, 86, 80, 100, 205, 133, 240, 211, 100, 238, 190, 124, 78, 116, 171, 52, 144, 156, 44, 231, 221, 25, 8, 236, 239, 37, 179, 80, 111, 213, 184, 117, 98, 142, 177, 249, 47, 51, 198, 135, 18, 178, 117, 215, 208, 49, 204, 41, 228, 253, 226, 63, 124, 66, 93, 22, 117, 199, 250, 100, 197, 190, 252, 122, 125, 21, 36, 87, 25, 244, 71, 104, 232, 122, 102, 213, 100, 28, 88, 168, 140, 230, 164, 30, 6, 204, 234, 35, 21, 104, 68, 207, 131, 125, 44, 29, 57, 219, 25, 10, 196, 68, 46, 78, 3, 158, 125, 67, 36, 44, 79, 63, 80, 35, 251, 144, 96, 5, 212, 13},
+{107, 117, 109, 4, 82, 226, 73, 73, 144, 254, 251, 140, 73, 53, 61, 17, 27, 253, 150, 68, 215, 202, 164, 91, 112, 245, 17, 219, 209, 190, 0, 84, 50, 159, 214, 138, 226, 206, 136, 152, 16, 83, 87, 66, 16, 174, 155, 72, 13, 239, 218, 0, 69, 50, 8, 40, 35, 8, 255, 158, 149, 195, 19, 72, 60, 235, 162, 94, 94, 168, 227, 53, 244, 212, 104, 206, 184, 235, 200, 24, 197, 24, 106, 113, 56, 80, 86, 93, 163, 150, 23, 58, 85, 94, 43, 112, 204, 71, 244, 58, 164, 196, 18, 131, 40, 216, 159, 250, 167, 123, 228, 118, 239, 136, 44, 204, 105, 43, 166, 82, 68, 11, 71, 139, 235, 76, 59, 185},
+{63, 224, 4, 180, 208, 168, 156, 168, 107, 96, 220, 16, 89, 252, 239, 251, 143, 185, 23, 240, 109, 9, 45, 210, 101, 116, 105, 233, 139, 20, 144, 162, 177, 2, 204, 126, 234, 5, 175, 214, 110, 102, 233, 148, 129, 0, 121, 85, 149, 25, 172, 132, 249, 94, 243, 111, 84, 90, 150, 122, 167, 204, 137, 8, 1, 231, 158, 201, 130, 20, 158, 198, 163, 57, 97, 106, 139, 244, 16, 194, 234, 76, 235, 165, 132, 7, 182, 37, 154, 243, 77, 104, 252, 97, 107, 230, 26, 170, 42, 45, 78, 218, 137, 223, 212, 5, 93, 241, 68, 94, 170, 136, 47, 88, 226, 146, 40, 107, 130, 132, 71, 112, 154, 131, 129, 104, 211, 96},
+{15, 199, 182, 26, 228, 16, 229, 27, 139, 117, 62, 95, 188, 170, 217, 174, 148, 62, 218, 106, 129, 232, 194, 95, 24, 185, 169, 236, 131, 26, 71, 150, 6, 95, 4, 151, 112, 202, 133, 75, 176, 12, 86, 27, 110, 166, 134, 63, 164, 120, 170, 10, 84, 231, 112, 32, 159, 154, 9, 177, 221, 205, 73, 181, 83, 84, 19, 148, 243, 114, 97, 160, 138, 54, 35, 169, 156, 98, 44, 173, 87, 117, 242, 254, 83, 29, 39, 85, 217, 26, 54, 22, 23, 66, 73, 18, 42, 132, 244, 120, 80, 235, 135, 232, 56, 163, 165, 153, 60, 118, 224, 82, 45, 163, 66, 169, 65, 34, 132, 17, 192, 217, 9, 179, 6, 250, 151, 18},
+{72, 34, 227, 187, 26, 50, 135, 144, 97, 94, 225, 167, 155, 84, 168, 210, 47, 116, 26, 162, 163, 41, 82, 94, 249, 87, 88, 196, 60, 99, 58, 58, 40, 206, 5, 21, 238, 26, 75, 110, 30, 198, 18, 124, 250, 167, 138, 49, 52, 81, 79, 164, 175, 30, 160, 184, 129, 113, 243, 205, 203, 84, 112, 200, 141, 132, 232, 224, 128, 11, 244, 23, 47, 229, 55, 142, 172, 206, 131, 15, 44, 14, 28, 31, 32, 215, 103, 109, 110, 10, 204, 212, 204, 97, 166, 189, 160, 174, 50, 0, 240, 253, 53, 60, 38, 125, 239, 215, 112, 167, 50, 60, 228, 169, 34, 46, 173, 107, 134, 213, 123, 19, 166, 1, 199, 141, 246, 143},
+{66, 81, 244, 5, 174, 85, 75, 143, 218, 185, 26, 119, 151, 103, 69, 57, 5, 22, 95, 236, 194, 68, 214, 224, 207, 93, 183, 28, 230, 191, 138, 242, 177, 77, 97, 230, 65, 237, 1, 234, 54, 36, 106, 20, 74, 62, 158, 7, 228, 239, 20, 173, 149, 88, 204, 83, 215, 221, 79, 42, 218, 102, 243, 124, 79, 156, 239, 30, 227, 44, 203, 33, 163, 194, 70, 159, 216, 246, 214, 19, 49, 200, 98, 200, 87, 186, 2, 153, 94, 144, 174, 228, 195, 201, 58, 188, 170, 37, 123, 249, 194, 136, 29, 13, 206, 201, 123, 68, 252, 80, 218, 124, 204, 234, 193, 96, 18, 19, 125, 37, 111, 245, 138, 118, 247, 249, 150, 82},
+{1, 126, 94, 236, 199, 205, 136, 111, 144, 158, 208, 227, 169, 187, 47, 118, 174, 85, 112, 31, 111, 74, 138, 83, 81, 136, 205, 133, 129, 123, 127, 207, 12, 145, 61, 150, 52, 79, 238, 166, 219, 8, 67, 26, 149, 53, 39, 137, 43, 132, 248, 133, 151, 29, 25, 4, 39, 164, 246, 226, 98, 146, 230, 145, 135, 149, 193, 216, 246, 96, 16, 135, 94, 160, 204, 43, 116, 222, 161, 204, 14, 75, 20, 117, 61, 81, 51, 111, 71, 213, 238, 245, 203, 79, 208, 186, 107, 116, 82, 142, 62, 86, 121, 189, 119, 132, 136, 50, 76, 27, 219, 182, 172, 24, 160, 161, 245, 233, 72, 165, 149, 76, 231, 93, 162, 136, 7, 44},
+{14, 21, 95, 203, 128, 76, 49, 42, 96, 137, 8, 92, 240, 87, 80, 93, 253, 119, 143, 233, 158, 77, 8, 51, 150, 148, 134, 161, 104, 77, 21, 88, 235, 252, 246, 222, 243, 58, 110, 92, 148, 129, 251, 192, 215, 143, 248, 80, 52, 153, 21, 208, 195, 123, 134, 252, 82, 168, 71, 26, 135, 242, 28, 146, 173, 54, 78, 91, 31, 17, 44, 188, 34, 64, 130, 98, 151, 57, 179, 91, 115, 251, 177, 34, 153, 193, 120, 101, 82, 177, 202, 72, 34, 229, 155, 58, 30, 81, 250, 87, 237, 83, 121, 205, 131, 16, 78, 175, 37, 141, 119, 175, 157, 83, 178, 209, 106, 112, 202, 56, 21, 219, 165, 161, 243, 131, 205, 248},
+{182, 136, 121, 134, 119, 54, 137, 3, 206, 93, 168, 196, 157, 250, 173, 119, 115, 8, 215, 254, 174, 118, 225, 244, 164, 128, 21, 151, 138, 204, 219, 61, 228, 78, 101, 29, 110, 210, 183, 46, 65, 106, 55, 148, 42, 39, 206, 99, 49, 15, 255, 114, 32, 212, 58, 13, 252, 160, 64, 46, 155, 112, 34, 189, 158, 66, 1, 220, 222, 126, 126, 81, 202, 226, 79, 153, 242, 52, 169, 116, 212, 208, 87, 106, 20, 222, 156, 42, 105, 144, 117, 116, 68, 97, 1, 117, 29, 176, 0, 156, 25, 45, 64, 75, 236, 88, 74, 57, 153, 6, 200, 117, 229, 23, 128, 116, 141, 153, 216, 145, 128, 35, 164, 101, 165, 104, 234, 193},
+{188, 214, 39, 232, 88, 191, 246, 27, 167, 189, 225, 14, 148, 166, 47, 187, 140, 178, 33, 138, 166, 141, 113, 226, 75, 2, 186, 19, 220, 242, 108, 224, 14, 218, 12, 228, 3, 215, 230, 248, 123, 38, 112, 220, 203, 58, 201, 234, 241, 213, 99, 253, 191, 53, 157, 178, 150, 0, 188, 174, 72, 163, 176, 117, 223, 77, 244, 55, 165, 163, 34, 140, 218, 191, 60, 143, 243, 80, 64, 8, 83, 52, 9, 155, 236, 126, 58, 177, 154, 180, 189, 2, 17, 182, 158, 250, 64, 208, 141, 112, 126, 176, 238, 135, 196, 32, 82, 207, 237, 70, 207, 88, 93, 159, 24, 228, 85, 207, 239, 255, 144, 63, 194, 233, 107, 177, 69, 103},
+{94, 238, 246, 184, 95, 193, 81, 116, 14, 145, 119, 86, 199, 78, 79, 238, 156, 133, 75, 39, 59, 169, 44, 55, 68, 87, 123, 213, 170, 225, 82, 112, 49, 238, 217, 213, 212, 105, 34, 158, 87, 94, 123, 170, 155, 116, 83, 11, 194, 120, 254, 235, 156, 186, 124, 17, 152, 62, 28, 251, 205, 21, 114, 101, 167, 8, 236, 159, 167, 131, 227, 88, 116, 26, 144, 76, 65, 91, 3, 236, 255, 198, 61, 98, 209, 19, 146, 29, 4, 146, 126, 27, 13, 18, 114, 107, 54, 211, 84, 248, 68, 236, 235, 232, 235, 213, 112, 161, 223, 208, 180, 225, 63, 167, 205, 76, 127, 39, 154, 188, 63, 41, 40, 83, 163, 116, 200, 156},
+{47, 218, 143, 82, 94, 178, 140, 177, 213, 156, 199, 180, 161, 42, 78, 71, 145, 65, 240, 107, 123, 109, 167, 124, 55, 116, 127, 138, 37, 210, 155, 157, 54, 210, 67, 214, 51, 104, 57, 248, 165, 138, 91, 79, 109, 242, 116, 25, 237, 220, 245, 158, 237, 128, 75, 212, 157, 116, 24, 169, 7, 26, 97, 111, 34, 208, 168, 96, 212, 86, 166, 199, 52, 43, 42, 210, 170, 72, 205, 184, 144, 47, 210, 13, 206, 194, 198, 92, 214, 235, 121, 6, 187, 107, 167, 155, 102, 245, 210, 6, 158, 143, 181, 134, 157, 203, 234, 105, 113, 35, 253, 153, 153, 89, 201, 157, 144, 201, 65, 178, 32, 156, 188, 161, 93, 153, 234, 97},
+{205, 192, 89, 208, 109, 57, 89, 196, 12, 65, 151, 56, 192, 105, 226, 156, 211, 7, 104, 62, 18, 37, 151, 82, 93, 112, 25, 141, 64, 61, 199, 86, 178, 18, 125, 177, 97, 22, 121, 93, 182, 79, 157, 166, 126, 65, 252, 174, 97, 237, 83, 237, 240, 203, 60, 119, 61, 223, 21, 11, 30, 134, 53, 219, 75, 30, 131, 209, 27, 70, 128, 160, 53, 154, 252, 138, 72, 54, 188, 112, 54, 113, 1, 249, 8, 231, 186, 215, 63, 20, 8, 249, 194, 117, 94, 165, 250, 127, 2, 86, 251, 235, 51, 78, 251, 226, 163, 85, 100, 10, 71, 220, 238, 104, 49, 18, 76, 64, 222, 192, 112, 237, 170, 196, 143, 177, 209, 146},
+{23, 195, 210, 23, 158, 194, 215, 154, 112, 167, 171, 249, 144, 36, 120, 243, 8, 82, 24, 79, 244, 43, 108, 32, 139, 99, 117, 131, 155, 215, 163, 179, 206, 185, 30, 18, 29, 171, 248, 30, 94, 179, 25, 84, 126, 240, 153, 196, 158, 255, 138, 39, 242, 29, 218, 121, 137, 57, 126, 216, 95, 220, 242, 121, 142, 44, 153, 203, 217, 102, 117, 167, 231, 180, 204, 198, 69, 215, 33, 178, 133, 27, 167, 235, 133, 16, 188, 222, 29, 30, 129, 95, 246, 197, 220, 173, 100, 104, 110, 48, 36, 147, 59, 173, 79, 243, 7, 3, 211, 174, 154, 166, 220, 84, 29, 38, 189, 100, 67, 111, 242, 188, 129, 125, 173, 160, 177, 174},
+{65, 190, 17, 34, 12, 251, 122, 137, 83, 42, 178, 210, 236, 250, 111, 134, 9, 56, 166, 103, 188, 30, 60, 149, 156, 89, 163, 119, 194, 78, 217, 153, 199, 17, 40, 86, 3, 84, 15, 232, 44, 109, 87, 199, 88, 167, 48, 240, 172, 27, 87, 18, 150, 73, 103, 21, 240, 35, 74, 66, 105, 183, 70, 39, 79, 156, 236, 136, 4, 79, 115, 0, 128, 187, 199, 106, 42, 235, 224, 123, 69, 203, 79, 161, 250, 148, 205, 130, 111, 134, 185, 172, 146, 143, 203, 109, 246, 252, 50, 178, 253, 90, 193, 132, 175, 156, 120, 30, 67, 148, 185, 207, 49, 226, 162, 92, 78, 45, 224, 30, 176, 228, 33, 21, 52, 123, 217, 184},
+{102, 56, 164, 54, 40, 178, 24, 32, 168, 218, 255, 147, 220, 168, 206, 201, 64, 107, 101, 165, 121, 208, 232, 179, 122, 128, 173, 147, 111, 230, 24, 255, 191, 129, 1, 1, 142, 43, 128, 29, 44, 58, 12, 137, 141, 81, 104, 2, 27, 240, 245, 19, 145, 86, 47, 79, 178, 158, 134, 108, 160, 241, 115, 34, 151, 237, 19, 185, 200, 59, 183, 48, 235, 243, 1, 201, 114, 202, 249, 83, 123, 81, 126, 235, 100, 133, 88, 37, 133, 22, 240, 62, 155, 161, 97, 132, 134, 232, 119, 181, 208, 122, 123, 255, 103, 41, 26, 46, 193, 27, 177, 249, 180, 248, 132, 20, 88, 120, 98, 131, 107, 183, 157, 95, 128, 91, 77, 85},
+{33, 113, 111, 140, 194, 247, 21, 7, 208, 48, 135, 72, 185, 20, 219, 38, 117, 139, 7, 93, 148, 180, 237, 207, 34, 212, 28, 26, 77, 143, 195, 95, 204, 193, 232, 242, 128, 247, 183, 174, 73, 115, 221, 91, 214, 213, 149, 146, 102, 107, 190, 200, 191, 255, 147, 112, 45, 253, 194, 88, 44, 71, 82, 135, 27, 124, 212, 144, 201, 44, 77, 213, 37, 49, 154, 168, 59, 100, 179, 0, 235, 80, 229, 244, 112, 133, 56, 176, 197, 243, 224, 206, 105, 167, 85, 121, 10, 59, 1, 128, 238, 92, 216, 41, 49, 36, 50, 164, 215, 207, 158, 216, 228, 59, 187, 55, 194, 16, 133, 231, 80, 234, 112, 221, 48, 63, 202, 219},
+{148, 151, 214, 240, 3, 69, 26, 164, 251, 135, 192, 193, 80, 3, 12, 193, 13, 32, 124, 221, 205, 59, 196, 46, 140, 120, 48, 150, 244, 18, 241, 152, 5, 196, 32, 135, 163, 59, 189, 221, 35, 121, 33, 201, 162, 184, 219, 31, 203, 146, 183, 41, 253, 247, 217, 186, 133, 167, 213, 105, 160, 141, 6, 191, 110, 91, 243, 159, 200, 28, 4, 231, 197, 10, 134, 125, 175, 253, 218, 250, 124, 86, 243, 48, 248, 58, 14, 143, 148, 210, 182, 6, 112, 145, 110, 117, 191, 134, 164, 87, 238, 38, 249, 11, 8, 90, 245, 103, 213, 226, 181, 202, 142, 178, 168, 44, 59, 123, 218, 218, 167, 237, 102, 50, 146, 14, 4, 24},
+{117, 167, 77, 152, 141, 25, 135, 1, 226, 92, 201, 81, 169, 151, 197, 204, 108, 86, 193, 181, 38, 220, 171, 2, 134, 77, 87, 125, 1, 177, 45, 51, 205, 11, 31, 76, 253, 204, 45, 206, 74, 97, 117, 131, 185, 236, 241, 125, 128, 27, 89, 248, 101, 27, 206, 138, 47, 135, 130, 85, 19, 122, 226, 229, 24, 57, 142, 106, 246, 3, 139, 51, 129, 55, 76, 195, 77, 230, 251, 205, 97, 2, 79, 65, 36, 96, 219, 164, 144, 88, 83, 244, 81, 1, 157, 249, 173, 76, 145, 115, 182, 214, 27, 50, 16, 108, 161, 19, 159, 34, 176, 29, 58, 238, 23, 70, 210, 202, 233, 153, 59, 107, 254, 204, 19, 54, 77, 117},
+{139, 217, 75, 35, 241, 207, 247, 253, 183, 190, 35, 161, 199, 216, 4, 128, 4, 52, 84, 122, 32, 147, 147, 19, 86, 216, 115, 131, 237, 85, 72, 124, 39, 121, 138, 47, 5, 124, 166, 109, 195, 34, 235, 163, 79, 231, 220, 29, 102, 39, 132, 47, 224, 35, 170, 78, 35, 154, 225, 125, 224, 191, 184, 39, 61, 120, 54, 6, 15, 16, 70, 233, 30, 186, 107, 110, 203, 49, 57, 193, 241, 175, 185, 192, 21, 143, 46, 251, 231, 80, 127, 185, 220, 213, 171, 93, 35, 223, 252, 228, 228, 60, 81, 243, 244, 22, 232, 158, 66, 153, 214, 94, 170, 81, 144, 28, 8, 9, 42, 135, 167, 251, 217, 93, 54, 165, 106, 74},
+{187, 209, 177, 124, 32, 108, 242, 169, 214, 144, 144, 220, 167, 215, 190, 132, 246, 167, 78, 19, 137, 211, 168, 144, 189, 182, 140, 187, 125, 28, 250, 168, 227, 161, 251, 236, 12, 201, 171, 246, 166, 180, 248, 233, 190, 196, 75, 83, 222, 120, 241, 234, 39, 243, 227, 160, 183, 143, 204, 103, 163, 152, 252, 0, 244, 193, 170, 172, 77, 122, 99, 94, 38, 154, 240, 61, 27, 208, 37, 210, 186, 174, 36, 99, 140, 118, 151, 50, 106, 114, 5, 211, 63, 209, 63, 167, 131, 39, 9, 52, 57, 79, 144, 226, 111, 70, 101, 66, 147, 194, 38, 135, 152, 186, 240, 35, 50, 157, 144, 88, 150, 90, 55, 157, 152, 18, 161, 110},
+{186, 64, 57, 73, 20, 14, 127, 5, 152, 55, 23, 233, 242, 54, 41, 109, 1, 144, 12, 95, 19, 203, 236, 36, 100, 232, 83, 234, 218, 251, 125, 206, 87, 251, 193, 114, 206, 104, 14, 120, 229, 250, 248, 0, 41, 118, 182, 3, 96, 24, 218, 241, 151, 196, 7, 141, 166, 244, 14, 70, 133, 85, 100, 84, 122, 26, 6, 248, 19, 34, 54, 67, 182, 14, 228, 20, 254, 212, 227, 24, 155, 232, 156, 50, 84, 109, 70, 190, 217, 115, 214, 55, 34, 85, 11, 28, 226, 136, 222, 198, 30, 155, 18, 34, 116, 228, 61, 144, 247, 247, 59, 189, 171, 1, 31, 251, 107, 138, 154, 31, 234, 14, 222, 81, 50, 86, 91, 81},
+{64, 169, 49, 36, 117, 175, 127, 116, 39, 27, 152, 17, 129, 234, 2, 183, 158, 20, 195, 162, 118, 226, 223, 100, 235, 34, 239, 90, 60, 35, 130, 98, 52, 21, 67, 238, 166, 142, 163, 117, 136, 135, 158, 253, 189, 95, 202, 253, 138, 5, 120, 249, 85, 212, 61, 185, 41, 150, 105, 239, 59, 251, 196, 109, 94, 206, 181, 69, 32, 219, 203, 234, 248, 123, 134, 234, 150, 132, 150, 255, 168, 135, 47, 191, 156, 130, 42, 249, 188, 142, 242, 238, 117, 199, 155, 249, 93, 130, 239, 101, 28, 23, 142, 50, 112, 125, 185, 37, 35, 170, 8, 183, 222, 24, 232, 88, 15, 123, 69, 76, 168, 104, 137, 206, 159, 81, 125, 194},
+{131, 166, 144, 71, 55, 178, 106, 166, 154, 9, 73, 186, 115, 240, 130, 211, 111, 69, 100, 58, 46, 132, 37, 57, 155, 49, 228, 99, 50, 24, 43, 140, 254, 233, 31, 184, 214, 41, 183, 105, 167, 99, 219, 221, 99, 203, 248, 160, 200, 28, 55, 167, 148, 198, 148, 229, 239, 83, 170, 147, 21, 216, 74, 211, 40, 254, 211, 138, 247, 199, 170, 207, 145, 185, 201, 126, 94, 48, 58, 254, 145, 0, 176, 172, 12, 133, 49, 186, 52, 11, 204, 114, 179, 180, 221, 137, 6, 144, 75, 215, 205, 95, 41, 141, 83, 45, 254, 191, 149, 154, 107, 248, 137, 247, 159, 58, 15, 63, 35, 131, 202, 78, 136, 103, 14, 101, 18, 155},
+{12, 126, 44, 26, 134, 119, 209, 220, 208, 213, 169, 100, 230, 243, 222, 218, 63, 161, 99, 163, 183, 202, 4, 148, 9, 141, 71, 151, 118, 24, 211, 96, 220, 111, 92, 249, 36, 121, 43, 51, 4, 237, 148, 247, 74, 182, 30, 227, 16, 143, 197, 254, 126, 222, 216, 197, 197, 162, 82, 14, 227, 19, 132, 209, 37, 211, 62, 164, 128, 34, 1, 117, 252, 91, 82, 237, 10, 12, 115, 16, 191, 149, 119, 120, 134, 142, 187, 173, 97, 169, 7, 250, 3, 58, 60, 22, 60, 2, 179, 143, 85, 212, 168, 28, 153, 195, 137, 173, 109, 202, 242, 4, 230, 47, 97, 29, 84, 116, 186, 70, 42, 35, 137, 240, 243, 127, 232, 255},
+{163, 193, 250, 100, 114, 146, 138, 185, 60, 147, 170, 182, 204, 193, 179, 223, 194, 40, 147, 204, 212, 11, 235, 69, 9, 164, 64, 177, 131, 203, 19, 149, 246, 117, 170, 192, 87, 228, 34, 34, 10, 36, 255, 238, 32, 19, 60, 170, 4, 180, 47, 145, 24, 161, 232, 208, 182, 154, 27, 167, 11, 37, 155, 45, 30, 111, 163, 79, 78, 51, 47, 14, 19, 42, 205, 127, 240, 14, 34, 153, 198, 238, 248, 43, 10, 255, 201, 53, 154, 21, 54, 5, 62, 164, 223, 100, 141, 229, 10, 142, 28, 201, 176, 104, 133, 199, 140, 2, 69, 173, 209, 180, 66, 128, 192, 121, 98, 177, 170, 195, 48, 75, 103, 69, 83, 53, 242, 189},
+{157, 7, 40, 8, 172, 81, 214, 247, 249, 75, 190, 106, 225, 254, 17, 173, 52, 144, 46, 207, 56, 23, 175, 113, 22, 175, 206, 166, 181, 107, 112, 96, 235, 189, 23, 27, 15, 229, 132, 19, 173, 209, 77, 221, 115, 39, 53, 199, 211, 16, 145, 125, 25, 80, 90, 86, 147, 214, 76, 121, 132, 197, 146, 121, 100, 235, 245, 82, 47, 118, 94, 109, 107, 17, 27, 213, 84, 229, 33, 142, 138, 83, 108, 188, 216, 40, 124, 178, 8, 105, 186, 113, 61, 44, 189, 191, 179, 45, 158, 135, 93, 61, 180, 6, 196, 221, 218, 191, 155, 186, 211, 29, 147, 187, 95, 186, 80, 116, 162, 66, 143, 19, 3, 231, 167, 55, 80, 65},
+{7, 194, 94, 61, 160, 226, 3, 54, 132, 237, 133, 211, 74, 101, 89, 161, 158, 173, 72, 180, 243, 238, 109, 96, 10, 38, 77, 128, 170, 104, 0, 147, 60, 221, 134, 73, 122, 186, 119, 224, 106, 11, 177, 94, 44, 111, 68, 170, 248, 198, 111, 176, 18, 112, 36, 180, 0, 103, 193, 193, 66, 152, 23, 183, 156, 132, 133, 102, 132, 238, 54, 24, 86, 21, 240, 167, 189, 164, 52, 30, 195, 65, 92, 149, 75, 207, 175, 15, 47, 245, 22, 149, 146, 157, 80, 123, 105, 150, 57, 116, 182, 175, 59, 38, 73, 216, 212, 33, 255, 121, 138, 32, 7, 75, 223, 180, 73, 175, 26, 147, 90, 128, 109, 0, 247, 87, 162, 102},
+{62, 102, 228, 206, 4, 131, 152, 254, 235, 197, 204, 148, 39, 42, 59, 228, 125, 88, 231, 151, 187, 54, 75, 4, 100, 12, 190, 29, 42, 96, 58, 49, 222, 237, 144, 193, 57, 23, 235, 162, 85, 150, 155, 212, 192, 82, 34, 181, 84, 255, 46, 54, 54, 182, 146, 193, 168, 6, 71, 160, 176, 57, 106, 153, 147, 185, 43, 251, 249, 204, 28, 222, 125, 131, 87, 144, 254, 232, 149, 76, 237, 159, 131, 244, 31, 31, 149, 117, 224, 10, 59, 99, 198, 3, 68, 173, 79, 28, 45, 158, 129, 203, 163, 67, 129, 159, 127, 203, 78, 107, 134, 139, 10, 200, 205, 192, 129, 149, 173, 160, 28, 247, 39, 99, 68, 169, 228, 164},
+{187, 238, 156, 11, 253, 8, 235, 217, 237, 200, 126, 77, 126, 168, 21, 60, 90, 94, 100, 49, 106, 129, 193, 39, 10, 162, 167, 179, 53, 155, 120, 241, 123, 43, 248, 144, 192, 200, 26, 250, 13, 175, 196, 229, 241, 74, 106, 184, 97, 29, 108, 165, 139, 188, 36, 190, 105, 120, 143, 102, 124, 45, 68, 195, 47, 37, 106, 39, 136, 136, 245, 236, 162, 35, 172, 90, 195, 152, 74, 241, 115, 146, 56, 82, 43, 201, 224, 4, 107, 28, 109, 200, 206, 160, 66, 117, 0, 113, 13, 103, 11, 79, 171, 139, 219, 60, 107, 83, 134, 72, 29, 115, 116, 248, 36, 198, 119, 228, 224, 4, 240, 112, 101, 198, 20, 239, 105, 253},
+{75, 2, 100, 100, 231, 24, 200, 237, 34, 111, 181, 206, 210, 17, 129, 186, 111, 201, 53, 108, 182, 110, 224, 216, 44, 42, 37, 201, 119, 243, 220, 10, 218, 185, 225, 5, 170, 81, 193, 45, 197, 14, 73, 57, 74, 117, 247, 153, 252, 54, 170, 241, 11, 151, 114, 186, 110, 106, 6, 94, 245, 62, 4, 90, 7, 43, 90, 204, 44, 229, 184, 80, 39, 138, 237, 134, 38, 131, 205, 122, 193, 80, 96, 206, 7, 72, 9, 72, 128, 41, 47, 17, 255, 81, 160, 112, 116, 194, 91, 23, 129, 157, 106, 162, 75, 169, 200, 74, 190, 28, 52, 201, 19, 3, 231, 143, 204, 137, 112, 72, 237, 172, 188, 63, 110, 195, 195, 97},
+{107, 156, 5, 254, 89, 51, 44, 39, 124, 216, 251, 205, 173, 243, 119, 6, 152, 213, 53, 114, 0, 143, 211, 196, 174, 52, 18, 39, 188, 28, 94, 164, 191, 218, 61, 241, 76, 90, 167, 93, 46, 100, 82, 212, 142, 166, 218, 156, 27, 30, 52, 66, 216, 118, 239, 19, 190, 144, 131, 20, 16, 30, 234, 163, 169, 238, 93, 101, 85, 230, 217, 110, 32, 193, 127, 21, 213, 76, 14, 63, 2, 177, 121, 60, 183, 118, 37, 95, 30, 53, 86, 173, 149, 124, 59, 248, 80, 81, 152, 11, 52, 190, 37, 127, 100, 145, 220, 163, 129, 152, 23, 177, 170, 203, 69, 246, 168, 10, 237, 124, 35, 251, 155, 114, 58, 47, 248, 86},
+{163, 199, 93, 192, 5, 186, 162, 242, 211, 210, 160, 141, 181, 133, 86, 35, 195, 111, 49, 165, 181, 206, 41, 144, 196, 20, 231, 71, 194, 127, 214, 109, 8, 52, 68, 148, 8, 0, 134, 195, 59, 213, 106, 161, 217, 102, 198, 152, 125, 254, 57, 230, 40, 211, 114, 34, 225, 237, 123, 21, 72, 217, 210, 130, 158, 51, 170, 129, 210, 57, 189, 40, 255, 252, 141, 91, 228, 47, 18, 188, 132, 200, 77, 220, 98, 171, 218, 39, 218, 196, 183, 152, 97, 59, 176, 220, 161, 201, 215, 46, 114, 201, 79, 129, 6, 133, 178, 47, 228, 94, 145, 171, 13, 71, 119, 1, 221, 227, 131, 91, 235, 87, 8, 253, 185, 114, 61, 96},
+{209, 197, 157, 211, 152, 18, 41, 153, 128, 195, 142, 131, 222, 212, 252, 11, 4, 103, 132, 180, 179, 55, 197, 198, 113, 237, 8, 153, 189, 248, 46, 212, 188, 28, 7, 133, 162, 97, 141, 218, 80, 15, 193, 77, 171, 202, 127, 93, 75, 31, 177, 203, 117, 40, 183, 62, 135, 248, 124, 10, 42, 91, 88, 27, 42, 85, 192, 251, 249, 75, 73, 214, 142, 25, 157, 179, 18, 128, 12, 148, 184, 249, 145, 90, 53, 177, 236, 47, 171, 118, 183, 93, 34, 92, 23, 33, 231, 36, 80, 62, 168, 127, 23, 195, 78, 203, 70, 66, 179, 121, 188, 253, 97, 16, 75, 1, 249, 26, 33, 61, 38, 2, 159, 51, 2, 205, 212, 135},
+{127, 89, 9, 85, 149, 251, 196, 73, 49, 89, 71, 145, 43, 224, 195, 81, 100, 38, 193, 102, 246, 11, 75, 3, 62, 139, 237, 8, 95, 52, 67, 102, 142, 41, 229, 153, 201, 121, 75, 216, 98, 225, 175, 48, 124, 206, 82, 207, 43, 181, 24, 152, 173, 21, 156, 9, 77, 125, 253, 98, 90, 159, 0, 6, 171, 185, 31, 65, 58, 238, 59, 85, 196, 195, 182, 104, 126, 50, 221, 9, 194, 22, 253, 37, 12, 245, 158, 250, 166, 153, 208, 63, 202, 121, 107, 81, 197, 69, 46, 123, 235, 117, 113, 134, 14, 138, 239, 53, 60, 54, 29, 92, 239, 129, 5, 190, 201, 122, 232, 24, 10, 240, 40, 253, 154, 156, 150, 46},
+{115, 221, 240, 157, 167, 16, 74, 137, 94, 165, 83, 184, 133, 92, 224, 28, 144, 173, 225, 92, 147, 99, 189, 118, 14, 16, 94, 81, 214, 128, 115, 206, 87, 248, 6, 151, 34, 166, 17, 224, 207, 60, 70, 178, 131, 221, 117, 152, 170, 71, 137, 72, 91, 107, 108, 89, 35, 107, 172, 5, 2, 234, 68, 186, 203, 49, 178, 70, 215, 138, 102, 22, 139, 191, 12, 31, 242, 250, 82, 97, 158, 88, 20, 173, 165, 110, 205, 6, 190, 49, 86, 18, 151, 241, 134, 149, 237, 121, 244, 54, 216, 236, 92, 240, 122, 64, 21, 104, 208, 19, 187, 7, 212, 185, 108, 199, 161, 35, 201, 83, 222, 119, 27, 200, 13, 28, 89, 19},
+{79, 211, 99, 109, 147, 178, 210, 99, 85, 22, 75, 77, 2, 123, 243, 99, 222, 15, 112, 114, 199, 30, 184, 153, 67, 255, 200, 133, 199, 230, 182, 186, 192, 9, 254, 225, 9, 229, 98, 46, 69, 242, 195, 79, 65, 47, 104, 175, 150, 155, 11, 214, 252, 71, 216, 3, 219, 189, 86, 181, 65, 44, 129, 241, 105, 218, 189, 104, 197, 210, 237, 169, 150, 121, 163, 79, 112, 233, 12, 163, 28, 54, 192, 114, 58, 194, 128, 195, 193, 98, 121, 102, 220, 235, 6, 240, 185, 33, 169, 207, 170, 203, 214, 102, 98, 95, 163, 111, 85, 179, 30, 251, 55, 170, 250, 145, 248, 37, 168, 231, 214, 142, 22, 214, 7, 65, 41, 236},
+{127, 69, 78, 169, 131, 52, 88, 178, 46, 157, 16, 69, 73, 204, 97, 140, 167, 110, 91, 164, 60, 121, 84, 224, 171, 21, 60, 125, 9, 68, 58, 72, 102, 202, 51, 15, 133, 181, 99, 152, 130, 243, 149, 47, 15, 15, 84, 224, 254, 230, 98, 63, 136, 77, 78, 33, 128, 144, 149, 28, 45, 224, 209, 150, 154, 142, 67, 94, 251, 6, 101, 22, 188, 134, 244, 216, 48, 153, 193, 232, 123, 7, 239, 162, 222, 130, 82, 91, 239, 3, 145, 43, 195, 64, 185, 42, 2, 215, 253, 120, 227, 38, 31, 35, 5, 194, 189, 28, 244, 204, 93, 3, 162, 147, 252, 13, 124, 62, 245, 241, 140, 246, 142, 162, 178, 0, 216, 153},
+{85, 93, 69, 30, 206, 175, 142, 92, 243, 233, 155, 248, 251, 195, 149, 46, 130, 21, 12, 84, 5, 119, 83, 179, 45, 231, 110, 122, 122, 223, 201, 35, 138, 1, 167, 171, 57, 230, 97, 238, 82, 111, 117, 141, 246, 136, 16, 54, 98, 166, 121, 249, 64, 196, 221, 211, 132, 61, 200, 179, 63, 166, 222, 210, 3, 36, 87, 134, 187, 21, 28, 50, 149, 25, 215, 28, 130, 67, 92, 52, 232, 57, 214, 26, 148, 174, 126, 255, 48, 141, 96, 168, 255, 252, 225, 88, 143, 182, 146, 6, 174, 171, 232, 18, 134, 94, 156, 155, 175, 119, 163, 206, 235, 189, 60, 78, 147, 111, 110, 44, 104, 54, 193, 119, 158, 208, 211, 215},
+{141, 27, 103, 85, 84, 130, 225, 194, 56, 65, 225, 2, 1, 16, 77, 236, 112, 125, 77, 227, 194, 200, 255, 55, 26, 123, 15, 187, 125, 30, 121, 161, 78, 173, 209, 28, 157, 145, 41, 6, 123, 74, 240, 108, 198, 125, 81, 111, 143, 81, 131, 178, 180, 182, 219, 35, 112, 93, 250, 127, 134, 222, 34, 7, 150, 6, 136, 165, 132, 25, 179, 70, 7, 70, 95, 234, 217, 194, 224, 1, 217, 87, 126, 223, 202, 94, 126, 136, 174, 185, 196, 172, 80, 249, 165, 243, 240, 42, 244, 29, 220, 91, 66, 48, 7, 101, 188, 101, 160, 243, 149, 249, 134, 147, 244, 203, 61, 52, 168, 65, 102, 147, 211, 207, 39, 120, 100, 28},
+{113, 198, 198, 197, 160, 165, 239, 255, 144, 137, 117, 186, 178, 54, 141, 74, 90, 126, 150, 114, 73, 158, 120, 196, 255, 16, 23, 44, 24, 205, 156, 29, 74, 185, 19, 178, 28, 171, 227, 247, 250, 9, 48, 86, 87, 68, 198, 98, 217, 174, 91, 132, 7, 121, 152, 161, 233, 165, 28, 74, 51, 85, 109, 242, 107, 25, 139, 178, 7, 28, 113, 211, 94, 117, 22, 215, 214, 190, 35, 193, 55, 255, 36, 195, 107, 106, 158, 187, 234, 178, 11, 59, 252, 158, 79, 165, 131, 64, 188, 156, 169, 24, 157, 180, 146, 113, 162, 117, 95, 86, 155, 81, 168, 3, 248, 100, 91, 189, 60, 187, 36, 189, 6, 145, 8, 106, 198, 87},
+{75, 226, 1, 226, 223, 116, 167, 14, 51, 84, 56, 227, 82, 21, 248, 64, 21, 24, 165, 122, 87, 167, 38, 215, 243, 6, 224, 167, 46, 202, 48, 97, 103, 47, 203, 49, 40, 18, 194, 52, 251, 217, 137, 247, 135, 213, 170, 34, 218, 18, 15, 61, 113, 70, 4, 23, 170, 207, 169, 223, 249, 73, 3, 194, 65, 81, 210, 153, 238, 66, 126, 185, 54, 127, 215, 252, 40, 148, 91, 29, 26, 225, 105, 79, 156, 251, 253, 253, 130, 68, 127, 226, 46, 169, 189, 13, 14, 65, 183, 40, 217, 239, 249, 160, 118, 127, 254, 104, 188, 115, 215, 128, 245, 255, 75, 126, 180, 150, 113, 94, 180, 178, 33, 46, 237, 117, 77, 61},
+{79, 154, 139, 113, 210, 27, 6, 67, 205, 47, 235, 120, 65, 173, 73, 173, 197, 34, 43, 173, 154, 42, 196, 34, 135, 97, 37, 25, 129, 110, 1, 63, 15, 146, 227, 226, 249, 226, 9, 103, 7, 205, 204, 229, 227, 24, 38, 74, 210, 101, 55, 131, 140, 175, 243, 177, 39, 197, 47, 89, 72, 234, 231, 78, 99, 255, 80, 34, 229, 83, 215, 192, 2, 37, 44, 4, 105, 14, 118, 251, 215, 91, 28, 253, 64, 199, 84, 201, 149, 235, 43, 121, 100, 153, 72, 75, 143, 203, 176, 63, 245, 6, 209, 102, 18, 177, 179, 124, 204, 134, 26, 204, 143, 100, 211, 78, 54, 216, 97, 92, 124, 79, 107, 175, 91, 192, 225, 166},
+{186, 193, 93, 251, 204, 158, 98, 152, 180, 41, 241, 16, 239, 0, 204, 69, 55, 91, 9, 148, 44, 144, 244, 151, 164, 34, 14, 205, 92, 175, 219, 180, 231, 35, 123, 57, 144, 4, 2, 91, 158, 244, 229, 16, 162, 89, 33, 60, 77, 91, 147, 29, 65, 51, 81, 83, 202, 142, 148, 152, 166, 238, 202, 170, 237, 44, 162, 99, 9, 43, 161, 4, 95, 86, 167, 90, 95, 86, 154, 148, 68, 162, 78, 130, 89, 231, 25, 75, 115, 224, 186, 124, 160, 219, 199, 242, 20, 105, 183, 216, 166, 247, 111, 61, 153, 242, 27, 226, 96, 234, 200, 159, 57, 91, 152, 111, 103, 249, 27, 226, 203, 117, 213, 159, 34, 244, 212, 18},
+{183, 127, 146, 232, 66, 242, 39, 229, 131, 164, 119, 186, 109, 88, 69, 215, 69, 153, 228, 254, 0, 187, 101, 42, 110, 129, 41, 53, 199, 116, 215, 140, 225, 87, 110, 32, 128, 217, 156, 149, 220, 185, 14, 73, 163, 92, 82, 130, 55, 244, 233, 66, 155, 125, 112, 107, 109, 216, 1, 181, 84, 71, 232, 56, 6, 88, 108, 135, 34, 138, 111, 242, 114, 108, 42, 214, 163, 123, 248, 200, 23, 174, 222, 62, 155, 151, 225, 81, 102, 187, 2, 130, 74, 5, 79, 157, 237, 134, 215, 86, 215, 143, 252, 33, 175, 35, 194, 42, 199, 170, 147, 199, 4, 60, 24, 21, 64, 178, 87, 66, 214, 170, 0, 154, 5, 115, 136, 7},
+{141, 33, 13, 126, 189, 152, 114, 215, 81, 232, 138, 183, 161, 147, 130, 192, 153, 107, 3, 217, 119, 53, 213, 52, 66, 107, 154, 132, 176, 86, 127, 15, 4, 34, 29, 59, 233, 29, 152, 53, 174, 167, 238, 148, 223, 94, 97, 74, 246, 75, 125, 96, 93, 195, 41, 136, 105, 161, 30, 238, 207, 227, 236, 188, 231, 139, 246, 35, 143, 230, 136, 242, 8, 202, 139, 137, 142, 50, 35, 176, 117, 188, 24, 150, 100, 235, 234, 126, 124, 14, 234, 17, 65, 114, 168, 215, 50, 196, 168, 127, 158, 56, 248, 118, 255, 166, 48, 39, 110, 44, 117, 87, 145, 134, 165, 127, 152, 40, 101, 18, 60, 202, 23, 227, 88, 153, 150, 23},
+{41, 12, 238, 85, 1, 24, 138, 11, 217, 42, 108, 40, 66, 128, 120, 180, 58, 173, 192, 91, 136, 134, 23, 93, 141, 225, 186, 239, 225, 212, 202, 57, 94, 88, 217, 182, 186, 181, 235, 26, 135, 34, 124, 31, 137, 216, 66, 143, 15, 154, 199, 152, 151, 237, 32, 231, 176, 89, 46, 205, 126, 192, 60, 5, 66, 177, 111, 71, 168, 98, 24, 138, 154, 39, 204, 77, 130, 176, 35, 101, 129, 4, 164, 230, 139, 211, 45, 100, 254, 144, 250, 83, 159, 246, 217, 123, 249, 248, 199, 81, 61, 161, 38, 254, 66, 126, 145, 165, 25, 162, 224, 237, 89, 235, 167, 66, 236, 96, 115, 160, 169, 220, 198, 251, 186, 228, 251, 112},
+{89, 217, 16, 76, 171, 111, 150, 87, 226, 151, 86, 51, 110, 158, 61, 131, 243, 194, 33, 81, 232, 126, 172, 96, 7, 68, 7, 177, 11, 217, 7, 1, 20, 46, 44, 93, 183, 207, 146, 20, 212, 119, 111, 243, 47, 108, 125, 110, 219, 3, 19, 151, 86, 33, 103, 2, 176, 132, 57, 192, 254, 160, 254, 70, 80, 76, 106, 210, 57, 0, 233, 88, 35, 40, 100, 183, 135, 230, 146, 201, 11, 192, 138, 13, 169, 139, 102, 21, 189, 19, 135, 50, 39, 91, 114, 28, 158, 24, 84, 82, 207, 237, 75, 7, 19, 122, 238, 214, 181, 200, 31, 90, 3, 7, 242, 143, 127, 131, 226, 248, 130, 201, 0, 203, 19, 54, 125, 159},
+{104, 230, 110, 229, 191, 215, 92, 127, 221, 207, 230, 127, 18, 212, 90, 24, 199, 211, 157, 117, 7, 213, 169, 51, 132, 86, 66, 28, 128, 190, 72, 200, 150, 95, 49, 79, 54, 149, 233, 219, 95, 105, 123, 59, 35, 241, 98, 49, 91, 255, 190, 154, 22, 79, 39, 52, 95, 124, 77, 202, 94, 81, 197, 37, 31, 122, 161, 5, 183, 43, 182, 129, 248, 200, 66, 5, 235, 32, 140, 0, 37, 116, 131, 125, 11, 65, 235, 111, 36, 115, 209, 156, 32, 208, 218, 184, 61, 130, 44, 34, 216, 111, 201, 130, 46, 181, 148, 223, 57, 205, 59, 8, 33, 26, 208, 243, 195, 90, 236, 253, 43, 66, 145, 91, 144, 187, 136, 223},
+{105, 93, 44, 89, 216, 97, 168, 53, 137, 114, 49, 60, 152, 150, 38, 107, 153, 19, 10, 216, 0, 192, 6, 142, 166, 105, 108, 37, 23, 70, 50, 57, 30, 226, 41, 136, 172, 19, 33, 194, 216, 146, 208, 236, 0, 67, 225, 206, 28, 182, 4, 132, 186, 124, 136, 223, 116, 14, 210, 39, 84, 228, 96, 114, 69, 255, 29, 25, 25, 234, 141, 116, 32, 29, 77, 189, 95, 111, 155, 79, 151, 7, 119, 127, 238, 16, 49, 150, 230, 136, 77, 233, 9, 118, 127, 16, 24, 210, 155, 248, 43, 227, 98, 65, 92, 209, 212, 202, 42, 147, 218, 201, 71, 176, 30, 51, 244, 21, 88, 243, 206, 121, 217, 198, 21, 17, 186, 32},
+{17, 13, 54, 107, 144, 168, 54, 238, 193, 177, 200, 11, 161, 29, 197, 36, 44, 47, 56, 82, 232, 54, 110, 34, 15, 233, 54, 107, 251, 242, 104, 180, 224, 219, 229, 104, 86, 158, 191, 178, 81, 80, 158, 136, 189, 5, 55, 149, 106, 18, 190, 77, 1, 74, 81, 62, 99, 52, 170, 155, 149, 77, 110, 135, 139, 121, 85, 45, 168, 117, 96, 168, 89, 220, 86, 119, 38, 185, 133, 36, 49, 3, 226, 122, 52, 98, 30, 66, 201, 229, 113, 114, 44, 54, 111, 60, 33, 5, 38, 67, 218, 92, 94, 136, 61, 238, 151, 73, 229, 149, 61, 33, 104, 37, 191, 23, 237, 199, 38, 128, 185, 46, 27, 26, 55, 97, 95, 202},
+{132, 53, 228, 153, 41, 217, 220, 217, 6, 74, 15, 46, 26, 5, 222, 22, 1, 248, 17, 30, 74, 88, 51, 160, 146, 200, 104, 167, 235, 197, 234, 131, 53, 33, 232, 45, 198, 15, 198, 222, 136, 118, 254, 182, 172, 203, 7, 40, 24, 53, 51, 34, 208, 140, 9, 190, 87, 169, 106, 237, 249, 121, 91, 44, 74, 107, 172, 52, 56, 167, 27, 52, 236, 175, 37, 92, 61, 26, 136, 160, 158, 97, 196, 62, 116, 87, 15, 123, 45, 93, 161, 241, 64, 115, 69, 167, 167, 209, 123, 112, 115, 73, 165, 124, 244, 211, 219, 139, 233, 75, 230, 144, 192, 7, 108, 16, 52, 10, 52, 138, 55, 230, 53, 56, 84, 193, 119, 124},
+{27, 55, 96, 201, 63, 68, 78, 142, 163, 86, 34, 192, 154, 72, 30, 111, 193, 106, 15, 29, 160, 69, 126, 82, 40, 118, 185, 81, 150, 44, 76, 143, 199, 190, 201, 29, 39, 116, 122, 43, 173, 140, 45, 25, 202, 73, 137, 246, 240, 126, 30, 222, 13, 93, 41, 36, 192, 222, 143, 227, 49, 62, 19, 89, 41, 156, 15, 87, 225, 220, 70, 20, 242, 192, 9, 54, 224, 194, 69, 56, 71, 133, 254, 229, 31, 73, 228, 218, 221, 115, 106, 156, 4, 22, 203, 145, 16, 2, 9, 227, 40, 8, 159, 233, 153, 29, 2, 203, 1, 21, 83, 122, 74, 104, 4, 228, 56, 53, 233, 104, 175, 127, 235, 170, 75, 96, 151, 68},
+{5, 147, 2, 147, 205, 111, 34, 75, 99, 115, 5, 87, 142, 205, 200, 127, 17, 108, 228, 15, 153, 69, 102, 128, 160, 47, 227, 70, 223, 104, 165, 83, 7, 129, 49, 113, 229, 24, 224, 19, 156, 250, 93, 31, 196, 202, 70, 127, 135, 24, 141, 159, 184, 9, 107, 16, 98, 125, 70, 15, 161, 103, 201, 188, 168, 253, 9, 188, 104, 120, 226, 125, 252, 152, 211, 177, 88, 139, 114, 180, 243, 238, 216, 13, 65, 85, 237, 178, 235, 36, 35, 48, 234, 240, 60, 46, 211, 148, 255, 14, 7, 40, 214, 168, 60, 111, 118, 113, 136, 181, 220, 44, 221, 23, 201, 49, 186, 96, 36, 30, 181, 75, 102, 18, 193, 154, 83, 180},
+{52, 12, 183, 200, 142, 140, 167, 239, 208, 203, 139, 28, 74, 235, 18, 19, 105, 43, 49, 24, 132, 214, 225, 250, 51, 84, 39, 80, 187, 222, 110, 58, 189, 170, 17, 2, 178, 123, 219, 109, 254, 74, 67, 82, 102, 26, 146, 108, 196, 179, 49, 37, 73, 50, 63, 75, 112, 229, 95, 108, 168, 20, 150, 125, 194, 181, 137, 44, 84, 70, 10, 152, 210, 11, 163, 153, 154, 215, 67, 113, 13, 119, 24, 126, 48, 126, 18, 166, 14, 142, 124, 206, 181, 199, 92, 194, 147, 157, 160, 218, 176, 104, 250, 175, 87, 58, 187, 253, 143, 195, 167, 187, 241, 124, 239, 45, 206, 3, 98, 145, 93, 137, 8, 35, 168, 253, 79, 234},
+{135, 190, 35, 131, 134, 96, 24, 155, 158, 17, 33, 30, 54, 107, 228, 142, 37, 159, 153, 251, 223, 125, 5, 79, 238, 59, 186, 155, 70, 212, 13, 162, 91, 82, 9, 168, 29, 16, 248, 57, 132, 170, 81, 91, 139, 5, 149, 170, 26, 165, 234, 157, 251, 61, 149, 121, 42, 63, 234, 249, 139, 88, 82, 152, 107, 74, 216, 93, 193, 10, 20, 226, 147, 142, 12, 212, 89, 231, 23, 154, 84, 195, 204, 253, 138, 138, 90, 30, 210, 71, 113, 42, 5, 216, 252, 65, 71, 194, 208, 167, 80, 147, 242, 109, 175, 89, 222, 240, 252, 18, 212, 98, 111, 242, 210, 118, 229, 91, 102, 131, 50, 29, 17, 151, 135, 40, 120, 190},
+{124, 223, 40, 177, 231, 102, 95, 186, 251, 172, 233, 146, 224, 251, 114, 207, 14, 168, 118, 149, 19, 212, 44, 171, 148, 168, 95, 111, 181, 133, 132, 99, 182, 167, 4, 51, 130, 133, 224, 7, 193, 34, 183, 166, 232, 109, 146, 154, 115, 136, 183, 20, 112, 98, 19, 44, 234, 211, 42, 88, 215, 251, 213, 151, 118, 147, 188, 88, 147, 183, 215, 216, 180, 219, 60, 200, 64, 180, 63, 133, 49, 89, 6, 184, 184, 40, 76, 88, 46, 109, 244, 113, 91, 176, 41, 19, 117, 213, 219, 151, 223, 153, 104, 237, 197, 19, 94, 106, 118, 90, 233, 0, 25, 22, 30, 220, 197, 10, 21, 55, 198, 140, 27, 193, 135, 25, 141, 95},
+{189, 119, 56, 108, 197, 62, 27, 48, 119, 241, 84, 243, 142, 58, 206, 240, 122, 235, 137, 12, 123, 52, 46, 242, 137, 31, 159, 167, 134, 221, 46, 185, 233, 80, 150, 21, 113, 2, 240, 142, 89, 15, 170, 23, 107, 12, 41, 213, 94, 223, 83, 71, 21, 183, 57, 84, 149, 124, 186, 171, 78, 80, 211, 58, 236, 37, 8, 47, 145, 221, 236, 172, 139, 160, 80, 63, 28, 62, 126, 26, 159, 147, 178, 74, 208, 72, 145, 74, 179, 107, 136, 241, 234, 138, 157, 151, 136, 122, 5, 47, 117, 61, 77, 41, 218, 48, 112, 174, 35, 95, 242, 224, 191, 53, 254, 51, 129, 52, 187, 84, 38, 151, 56, 145, 28, 182, 240, 246},
+{27, 239, 207, 253, 79, 59, 169, 194, 189, 198, 189, 169, 117, 12, 123, 152, 10, 175, 180, 191, 148, 95, 248, 102, 176, 222, 134, 82, 230, 16, 190, 62, 83, 191, 28, 185, 60, 220, 168, 0, 204, 228, 107, 216, 95, 115, 65, 121, 255, 0, 42, 226, 80, 248, 81, 44, 248, 25, 210, 142, 49, 99, 214, 1, 133, 153, 130, 228, 135, 206, 67, 214, 120, 6, 173, 40, 210, 193, 12, 75, 11, 52, 173, 96, 198, 52, 47, 69, 162, 93, 213, 214, 125, 18, 5, 13, 160, 57, 82, 25, 188, 47, 124, 49, 131, 36, 6, 113, 69, 150, 101, 38, 71, 96, 222, 136, 177, 8, 186, 83, 127, 93, 195, 68, 114, 220, 165, 174},
+{118, 121, 57, 192, 245, 178, 178, 179, 117, 89, 214, 94, 20, 139, 190, 86, 97, 154, 20, 187, 175, 33, 199, 200, 195, 149, 122, 160, 150, 243, 177, 120, 84, 21, 140, 110, 208, 71, 247, 236, 57, 186, 157, 200, 75, 157, 204, 220, 184, 115, 123, 108, 15, 104, 118, 206, 233, 211, 253, 92, 112, 183, 40, 91, 165, 81, 121, 40, 107, 213, 206, 165, 45, 24, 47, 12, 247, 3, 93, 183, 8, 104, 179, 126, 226, 106, 232, 146, 8, 109, 29, 162, 0, 30, 122, 243, 24, 197, 173, 118, 60, 74, 48, 235, 217, 236, 142, 228, 32, 9, 111, 9, 60, 35, 52, 48, 105, 42, 42, 40, 134, 64, 22, 182, 104, 241, 161, 169},
+{157, 156, 192, 112, 211, 106, 229, 82, 25, 241, 125, 133, 127, 67, 48, 165, 171, 230, 232, 82, 254, 238, 39, 72, 204, 174, 35, 62, 111, 205, 65, 113, 124, 230, 66, 64, 95, 42, 70, 112, 36, 231, 17, 5, 215, 60, 14, 124, 227, 23, 232, 226, 51, 33, 99, 98, 111, 11, 159, 70, 41, 37, 172, 42, 67, 183, 126, 190, 131, 25, 233, 172, 220, 136, 177, 42, 80, 236, 49, 50, 212, 50, 229, 104, 109, 139, 148, 50, 240, 128, 138, 34, 67, 24, 84, 7, 218, 80, 161, 171, 172, 134, 21, 160, 105, 255, 153, 138, 186, 168, 186, 54, 149, 187, 241, 94, 209, 141, 106, 162, 237, 252, 142, 45, 217, 229, 17, 206},
+{207, 251, 158, 241, 99, 70, 203, 110, 61, 226, 59, 205, 244, 184, 25, 186, 233, 175, 51, 92, 59, 124, 114, 69, 201, 40, 139, 242, 134, 200, 15, 211, 56, 73, 233, 114, 251, 23, 50, 208, 246, 187, 252, 251, 234, 193, 252, 133, 29, 14, 89, 9, 235, 219, 31, 56, 193, 18, 243, 101, 231, 249, 37, 149, 30, 239, 200, 68, 2, 175, 212, 198, 221, 219, 51, 192, 201, 23, 165, 151, 209, 252, 200, 217, 48, 36, 12, 167, 226, 199, 167, 226, 237, 103, 83, 45, 52, 196, 231, 14, 229, 141, 149, 194, 180, 94, 236, 69, 164, 90, 232, 53, 108, 62, 110, 140, 159, 0, 234, 10, 197, 173, 190, 206, 224, 126, 97, 139},
+{90, 102, 161, 140, 184, 207, 21, 181, 231, 180, 19, 105, 181, 165, 107, 54, 22, 203, 227, 22, 158, 244, 178, 42, 34, 11, 116, 170, 53, 18, 152, 56, 16, 214, 15, 160, 135, 114, 43, 17, 55, 155, 192, 190, 147, 30, 8, 59, 193, 23, 95, 77, 141, 59, 31, 113, 97, 24, 232, 75, 35, 72, 222, 38, 169, 173, 110, 143, 115, 110, 148, 1, 174, 83, 215, 227, 65, 217, 184, 48, 157, 49, 151, 62, 245, 53, 234, 42, 18, 58, 207, 30, 156, 62, 91, 17, 89, 75, 154, 227, 237, 131, 0, 28, 190, 73, 43, 174, 0, 8, 99, 242, 187, 21, 85, 175, 248, 0, 164, 154, 204, 131, 111, 60, 213, 133, 255, 99},
+{17, 191, 14, 212, 120, 148, 183, 27, 78, 135, 31, 37, 166, 24, 60, 25, 112, 31, 91, 178, 204, 232, 142, 98, 32, 41, 158, 116, 137, 164, 153, 21, 122, 40, 245, 189, 99, 89, 19, 251, 80, 88, 164, 99, 6, 240, 149, 121, 159, 42, 211, 252, 245, 20, 27, 120, 233, 207, 117, 184, 78, 238, 163, 205, 32, 240, 11, 42, 136, 58, 67, 127, 188, 169, 218, 32, 136, 14, 254, 95, 9, 183, 47, 30, 245, 242, 8, 235, 241, 59, 70, 148, 205, 124, 21, 166, 137, 214, 33, 47, 50, 166, 121, 157, 238, 151, 5, 101, 179, 225, 74, 126, 246, 146, 124, 153, 72, 193, 117, 184, 70, 59, 44, 128, 47, 6, 70, 198},
+{1, 103, 207, 24, 208, 247, 179, 75, 55, 156, 0, 235, 222, 182, 84, 20, 154, 242, 129, 125, 159, 177, 207, 127, 44, 221, 83, 200, 196, 23, 97, 139, 108, 204, 206, 136, 215, 228, 224, 163, 191, 232, 111, 56, 84, 69, 32, 156, 184, 207, 70, 183, 156, 250, 212, 177, 64, 229, 51, 101, 107, 225, 199, 38, 187, 48, 205, 32, 182, 245, 100, 40, 24, 177, 171, 122, 243, 69, 28, 252, 44, 103, 57, 36, 38, 52, 183, 125, 57, 169, 187, 235, 224, 238, 243, 247, 94, 90, 160, 24, 85, 34, 220, 154, 229, 230, 51, 47, 219, 162, 15, 4, 119, 131, 181, 7, 40, 85, 149, 227, 140, 22, 132, 17, 174, 221, 45, 206},
+{28, 94, 68, 10, 48, 214, 218, 70, 214, 63, 252, 89, 68, 25, 111, 54, 93, 159, 166, 175, 121, 120, 36, 208, 246, 57, 185, 6, 238, 132, 133, 196, 104, 16, 189, 205, 77, 230, 255, 23, 158, 197, 131, 147, 30, 39, 252, 232, 115, 99, 144, 209, 187, 128, 103, 126, 146, 120, 41, 166, 60, 108, 159, 255, 93, 89, 205, 71, 68, 149, 113, 51, 110, 112, 82, 201, 244, 199, 208, 116, 2, 145, 38, 45, 237, 83, 236, 143, 80, 83, 249, 219, 186, 147, 121, 32, 19, 118, 126, 130, 180, 123, 81, 4, 1, 64, 176, 249, 66, 170, 35, 142, 166, 85, 78, 133, 221, 34, 51, 252, 215, 81, 191, 174, 57, 95, 32, 12},
+{7, 36, 85, 211, 44, 4, 171, 187, 109, 164, 184, 184, 175, 161, 154, 133, 42, 84, 246, 191, 13, 53, 250, 154, 84, 204, 25, 215, 200, 141, 39, 247, 21, 156, 142, 152, 81, 224, 230, 3, 182, 184, 205, 109, 207, 210, 138, 23, 18, 150, 246, 117, 93, 167, 135, 105, 49, 180, 31, 49, 8, 78, 103, 68, 106, 188, 57, 132, 63, 141, 34, 45, 141, 209, 244, 66, 23, 195, 192, 199, 242, 26, 231, 35, 180, 5, 39, 78, 27, 91, 155, 215, 150, 48, 21, 29, 19, 17, 103, 152, 49, 245, 179, 61, 206, 130, 21, 126, 29, 125, 255, 198, 116, 154, 118, 60, 255, 252, 183, 252, 100, 245, 4, 143, 9, 17, 108, 7},
+{167, 178, 76, 251, 125, 226, 222, 92, 217, 223, 189, 204, 122, 193, 248, 159, 231, 25, 194, 119, 27, 18, 36, 119, 163, 182, 2, 130, 74, 190, 229, 14, 15, 218, 74, 122, 146, 214, 95, 207, 196, 23, 181, 111, 220, 226, 192, 1, 72, 86, 106, 144, 129, 235, 241, 15, 105, 82, 140, 23, 204, 201, 18, 32, 6, 129, 95, 99, 78, 197, 234, 10, 34, 222, 247, 247, 141, 109, 108, 169, 192, 247, 103, 136, 242, 221, 214, 129, 172, 244, 26, 106, 205, 99, 101, 80, 143, 161, 155, 255, 191, 176, 175, 116, 1, 224, 104, 84, 15, 220, 212, 181, 5, 25, 50, 244, 235, 109, 251, 55, 2, 150, 44, 2, 159, 17, 34, 206},
+{116, 254, 228, 155, 37, 104, 172, 22, 54, 195, 195, 126, 141, 12, 91, 30, 162, 229, 231, 146, 56, 203, 65, 189, 176, 110, 30, 77, 195, 21, 164, 110, 7, 187, 80, 12, 51, 66, 17, 244, 148, 246, 104, 128, 98, 242, 44, 27, 249, 167, 245, 42, 157, 85, 112, 212, 115, 207, 34, 172, 26, 91, 124, 156, 48, 46, 190, 217, 115, 234, 25, 79, 93, 80, 13, 184, 113, 35, 188, 75, 99, 1, 107, 34, 168, 108, 247, 173, 72, 63, 205, 77, 171, 3, 42, 246, 81, 122, 231, 136, 161, 100, 1, 43, 21, 252, 79, 9, 222, 217, 29, 116, 246, 106, 234, 6, 83, 50, 10, 231, 240, 253, 108, 14, 30, 108, 174, 9},
+{7, 110, 87, 56, 113, 119, 128, 207, 162, 149, 36, 74, 145, 105, 13, 93, 65, 173, 10, 130, 138, 135, 76, 18, 172, 161, 111, 109, 149, 73, 246, 61, 145, 163, 125, 211, 183, 66, 66, 23, 164, 57, 9, 125, 180, 37, 205, 27, 203, 8, 152, 253, 119, 178, 202, 246, 22, 14, 55, 216, 231, 90, 54, 98, 165, 198, 103, 215, 57, 179, 199, 91, 7, 209, 215, 107, 201, 247, 28, 47, 173, 187, 184, 47, 171, 74, 54, 180, 58, 241, 203, 192, 208, 23, 97, 245, 203, 122, 164, 114, 7, 244, 20, 238, 24, 158, 198, 251, 117, 250, 160, 56, 92, 128, 29, 18, 158, 102, 251, 97, 159, 54, 211, 126, 245, 133, 3, 84},
+{60, 214, 91, 37, 64, 137, 68, 102, 73, 27, 91, 51, 211, 161, 71, 141, 117, 113, 207, 159, 100, 31, 141, 165, 125, 64, 192, 110, 116, 104, 30, 253, 105, 164, 143, 103, 38, 179, 145, 15, 120, 170, 153, 202, 253, 60, 196, 85, 235, 60, 37, 182, 228, 89, 173, 31, 163, 175, 90, 162, 7, 11, 146, 89, 213, 15, 139, 70, 240, 146, 249, 53, 237, 1, 106, 144, 178, 197, 187, 124, 64, 3, 236, 228, 131, 64, 178, 97, 153, 10, 227, 114, 234, 83, 209, 101, 84, 158, 95, 178, 107, 29, 152, 77, 37, 167, 22, 15, 239, 149, 203, 61, 69, 244, 171, 190, 163, 39, 22, 96, 93, 86, 112, 166, 85, 19, 195, 241},
+{102, 122, 227, 149, 134, 46, 6, 210, 101, 0, 58, 139, 50, 85, 130, 116, 87, 110, 142, 20, 30, 96, 192, 62, 138, 90, 165, 153, 80, 188, 109, 52, 203, 18, 174, 72, 212, 201, 67, 209, 70, 41, 167, 141, 140, 85, 197, 247, 87, 140, 213, 224, 62, 0, 207, 180, 145, 218, 191, 209, 15, 92, 27, 65, 219, 115, 111, 94, 47, 157, 236, 122, 249, 80, 35, 246, 215, 187, 230, 211, 39, 215, 86, 173, 95, 167, 74, 89, 127, 99, 162, 125, 177, 245, 180, 27, 78, 7, 16, 245, 245, 68, 126, 236, 146, 242, 201, 11, 97, 49, 117, 182, 47, 170, 230, 60, 30, 188, 148, 138, 197, 224, 87, 193, 107, 71, 41, 0},
+{189, 97, 90, 153, 160, 70, 233, 146, 225, 221, 54, 17, 77, 43, 229, 61, 65, 89, 80, 174, 6, 161, 178, 170, 37, 191, 22, 178, 241, 153, 107, 94, 148, 106, 31, 36, 156, 30, 13, 89, 245, 113, 86, 34, 69, 213, 244, 156, 255, 76, 244, 242, 88, 139, 240, 145, 211, 243, 208, 78, 155, 116, 18, 62, 205, 122, 118, 5, 161, 91, 10, 10, 81, 64, 177, 53, 74, 121, 98, 12, 76, 237, 102, 241, 178, 93, 245, 214, 51, 7, 176, 1, 238, 219, 211, 118, 183, 216, 130, 46, 240, 67, 135, 196, 163, 87, 43, 179, 121, 219, 90, 198, 53, 241, 85, 211, 219, 191, 21, 144, 1, 34, 204, 154, 77, 28, 147, 193},
+{95, 177, 229, 255, 140, 74, 36, 238, 115, 147, 122, 70, 165, 19, 129, 243, 135, 161, 250, 13, 201, 73, 148, 76, 128, 50, 84, 136, 6, 39, 92, 34, 239, 7, 23, 121, 84, 148, 89, 164, 14, 243, 68, 67, 7, 127, 159, 78, 103, 253, 190, 217, 92, 251, 21, 52, 48, 163, 114, 84, 29, 83, 240, 54, 195, 145, 115, 18, 12, 182, 122, 177, 44, 155, 172, 217, 162, 244, 46, 211, 7, 212, 138, 35, 173, 174, 2, 123, 50, 79, 161, 97, 247, 190, 223, 7, 177, 26, 196, 8, 228, 93, 68, 122, 28, 246, 127, 69, 173, 248, 80, 214, 171, 96, 109, 107, 137, 206, 24, 82, 84, 64, 71, 151, 71, 58, 126, 222},
+{76, 191, 203, 87, 54, 161, 76, 45, 168, 208, 144, 92, 122, 9, 211, 228, 106, 161, 98, 224, 72, 17, 101, 132, 53, 245, 196, 139, 165, 247, 43, 146, 85, 18, 68, 165, 99, 93, 73, 25, 100, 108, 80, 47, 57, 161, 75, 86, 55, 172, 206, 190, 141, 183, 67, 107, 81, 115, 188, 157, 39, 16, 39, 254, 210, 166, 50, 196, 202, 227, 1, 112, 106, 208, 13, 37, 124, 238, 207, 26, 60, 199, 36, 22, 48, 189, 213, 11, 39, 193, 231, 224, 130, 45, 110, 122, 187, 100, 32, 9, 202, 23, 78, 33, 72, 61, 179, 194, 132, 221, 147, 46, 57, 137, 178, 154, 203, 139, 73, 212, 5, 113, 64, 98, 56, 59, 145, 215},
+{112, 152, 197, 72, 213, 8, 80, 41, 120, 126, 213, 198, 179, 139, 131, 11, 89, 6, 103, 212, 210, 46, 79, 138, 165, 11, 6, 145, 17, 235, 251, 165, 129, 82, 84, 60, 131, 56, 173, 26, 87, 64, 141, 42, 8, 88, 133, 154, 8, 27, 132, 36, 140, 59, 158, 145, 19, 21, 84, 231, 38, 206, 241, 17, 160, 214, 39, 107, 5, 217, 72, 153, 110, 237, 159, 88, 133, 220, 222, 144, 237, 33, 95, 129, 255, 178, 83, 80, 95, 144, 223, 237, 152, 75, 217, 29, 35, 68, 215, 117, 22, 97, 31, 16, 142, 34, 203, 231, 40, 143, 59, 190, 240, 20, 38, 180, 18, 223, 240, 68, 92, 155, 239, 12, 189, 146, 74, 52},
+{122, 66, 64, 43, 215, 185, 129, 149, 205, 5, 24, 69, 85, 55, 155, 189, 181, 136, 180, 1, 106, 137, 210, 254, 162, 182, 38, 160, 43, 44, 179, 177, 255, 83, 239, 230, 68, 181, 230, 157, 219, 103, 66, 89, 66, 78, 240, 237, 92, 173, 238, 151, 186, 20, 199, 208, 200, 12, 60, 38, 104, 145, 155, 160, 76, 204, 51, 218, 24, 182, 225, 12, 26, 11, 33, 15, 106, 128, 207, 93, 73, 236, 74, 28, 236, 188, 66, 175, 228, 0, 247, 212, 111, 97, 194, 1, 117, 10, 47, 189, 235, 97, 58, 154, 177, 22, 8, 133, 178, 197, 155, 29, 151, 5, 211, 8, 51, 186, 106, 197, 133, 105, 242, 135, 40, 61, 250, 142},
+{122, 66, 64, 43, 215, 185, 129, 149, 205, 5, 24, 69, 85, 55, 155, 189, 181, 136, 180, 1, 106, 137, 210, 254, 162, 182, 38, 160, 43, 44, 179, 177, 255, 83, 239, 230, 68, 181, 230, 157, 219, 103, 66, 89, 66, 78, 240, 237, 92, 173, 238, 151, 186, 20, 199, 208, 200, 12, 60, 38, 104, 145, 155, 160, 76, 204, 51, 218, 24, 182, 225, 12, 26, 11, 33, 15, 106, 128, 207, 93, 73, 236, 74, 28, 236, 188, 66, 175, 228, 0, 247, 212, 111, 97, 194, 1, 117, 10, 47, 189, 235, 97, 58, 154, 177, 22, 8, 133, 178, 197, 155, 29, 151, 5, 211, 8, 51, 186, 106, 197, 133, 105, 242, 135, 40, 61, 250, 142},
+{99, 93, 190, 44, 131, 79, 184, 114, 214, 85, 112, 172, 83, 18, 157, 182, 232, 91, 96, 16, 249, 228, 135, 120, 216, 222, 92, 250, 205, 216, 60, 5, 135, 238, 96, 105, 30, 23, 89, 143, 147, 42, 108, 126, 254, 91, 212, 227, 238, 123, 180, 26, 204, 185, 185, 172, 193, 67, 54, 80, 130, 202, 229, 255, 91, 254, 205, 235, 34, 65, 102, 213, 4, 69, 163, 12, 207, 117, 6, 66, 67, 155, 188, 78, 212, 138, 230, 202, 96, 143, 67, 106, 80, 52, 233, 17, 65, 50, 250, 187, 60, 97, 92, 183, 93, 185, 205, 115, 252, 210, 213, 219, 56, 127, 238, 219, 99, 194, 58, 40, 64, 206, 132, 19, 117, 207, 218, 118},
+{88, 35, 203, 131, 7, 19, 168, 135, 66, 148, 163, 125, 64, 239, 198, 91, 20, 53, 185, 144, 93, 87, 242, 188, 31, 145, 96, 217, 166, 112, 73, 182, 200, 224, 32, 212, 95, 91, 37, 234, 105, 128, 197, 88, 151, 179, 227, 53, 111, 0, 131, 201, 31, 131, 99, 86, 81, 225, 120, 69, 57, 37, 135, 113, 68, 166, 173, 251, 57, 245, 211, 136, 184, 44, 255, 182, 229, 134, 252, 247, 198, 78, 227, 140, 255, 59, 82, 160, 132, 107, 149, 201, 141, 30, 190, 209, 108, 249, 140, 238, 35, 12, 224, 182, 65, 81, 71, 211, 7, 240, 210, 56, 5, 128, 52, 237, 2, 69, 151, 92, 120, 6, 32, 64, 182, 217, 153, 36},
+{85, 99, 129, 44, 112, 127, 65, 230, 232, 229, 247, 59, 51, 43, 142, 72, 19, 85, 239, 63, 67, 205, 229, 25, 121, 93, 64, 113, 170, 242, 120, 180, 198, 76, 243, 174, 230, 187, 105, 162, 150, 75, 15, 254, 224, 188, 140, 232, 182, 94, 81, 161, 153, 83, 127, 52, 50, 155, 51, 106, 68, 251, 253, 127, 99, 35, 248, 15, 10, 17, 183, 107, 101, 210, 18, 60, 134, 110, 236, 67, 127, 173, 132, 224, 235, 20, 155, 181, 34, 154, 52, 231, 240, 176, 219, 217, 242, 147, 131, 236, 11, 255, 162, 204, 146, 96, 132, 33, 39, 12, 112, 5, 251, 9, 7, 228, 230, 140, 86, 210, 190, 77, 20, 0, 120, 176, 32, 223},
+{177, 57, 141, 233, 115, 72, 8, 16, 198, 250, 113, 111, 33, 43, 198, 140, 190, 198, 136, 156, 9, 249, 237, 134, 79, 218, 19, 18, 66, 83, 218, 171, 82, 169, 71, 222, 202, 5, 0, 108, 92, 41, 137, 207, 128, 184, 172, 25, 140, 233, 16, 199, 107, 113, 72, 164, 211, 170, 255, 86, 216, 50, 219, 24, 125, 193, 251, 59, 49, 117, 3, 99, 194, 239, 120, 112, 196, 244, 27, 212, 93, 173, 158, 157, 201, 230, 86, 61, 145, 211, 22, 175, 224, 78, 54, 84, 24, 20, 55, 66, 221, 37, 177, 150, 101, 167, 228, 53, 77, 175, 35, 85, 61, 66, 188, 9, 139, 125, 251, 104, 3, 217, 68, 123, 25, 206, 21, 248},
+{142, 167, 105, 90, 86, 236, 156, 142, 18, 157, 9, 190, 43, 206, 130, 25, 54, 102, 226, 66, 126, 26, 157, 208, 169, 144, 212, 243, 107, 35, 212, 144, 140, 93, 214, 248, 121, 177, 146, 235, 26, 53, 170, 97, 242, 106, 12, 237, 108, 172, 70, 105, 233, 193, 171, 164, 62, 68, 151, 158, 11, 245, 251, 69, 139, 217, 9, 47, 94, 166, 137, 208, 190, 116, 177, 66, 45, 243, 72, 143, 219, 145, 250, 10, 121, 119, 245, 17, 156, 6, 96, 85, 222, 137, 26, 192, 65, 46, 200, 51, 199, 132, 87, 143, 207, 235, 199, 83, 181, 142, 35, 12, 229, 141, 191, 68, 223, 23, 84, 240, 169, 115, 89, 180, 195, 43, 10, 86},
+{68, 133, 222, 95, 34, 27, 26, 1, 140, 80, 222, 104, 243, 27, 188, 105, 134, 44, 184, 77, 105, 38, 159, 53, 213, 34, 5, 225, 10, 12, 99, 65, 224, 141, 4, 131, 127, 144, 197, 130, 47, 91, 72, 171, 92, 59, 206, 188, 239, 54, 236, 204, 91, 250, 4, 62, 208, 208, 70, 153, 12, 155, 63, 43, 155, 34, 22, 160, 174, 162, 202, 66, 102, 142, 245, 67, 28, 199, 93, 205, 178, 50, 239, 254, 202, 109, 251, 90, 65, 247, 204, 63, 55, 217, 161, 22, 87, 67, 186, 116, 16, 0, 2, 158, 212, 52, 153, 168, 163, 31, 189, 101, 229, 246, 125, 198, 79, 128, 244, 123, 11, 38, 147, 90, 207, 58, 16, 7},
+{66, 243, 40, 64, 19, 250, 239, 84, 117, 76, 115, 237, 66, 67, 108, 46, 23, 68, 113, 209, 136, 194, 10, 102, 76, 17, 151, 175, 172, 41, 212, 149, 194, 120, 98, 152, 36, 117, 16, 95, 65, 56, 78, 34, 84, 61, 44, 82, 140, 27, 187, 174, 22, 33, 6, 24, 240, 10, 176, 186, 57, 181, 80, 96, 128, 10, 157, 48, 137, 151, 99, 195, 239, 72, 202, 251, 96, 145, 66, 250, 134, 169, 202, 192, 238, 161, 222, 37, 121, 200, 205, 82, 140, 4, 34, 17, 92, 206, 206, 246, 122, 159, 238, 197, 231, 142, 239, 181, 217, 210, 157, 128, 157, 198, 182, 174, 151, 12, 155, 0, 125, 39, 96, 124, 121, 119, 141, 245},
+{35, 181, 101, 29, 69, 218, 138, 22, 215, 251, 187, 108, 47, 83, 89, 159, 39, 248, 252, 32, 181, 133, 35, 215, 182, 157, 64, 100, 237, 23, 150, 235, 33, 145, 159, 181, 5, 215, 223, 113, 81, 121, 195, 29, 66, 145, 151, 167, 79, 5, 76, 81, 88, 95, 206, 11, 239, 142, 187, 118, 168, 180, 4, 124, 222, 50, 101, 224, 115, 18, 85, 240, 210, 104, 62, 13, 122, 159, 177, 86, 190, 113, 55, 85, 98, 214, 2, 159, 5, 201, 199, 98, 238, 205, 97, 209, 140, 191, 228, 85, 250, 131, 188, 98, 136, 71, 253, 58, 48, 191, 158, 108, 21, 147, 104, 144, 36, 243, 88, 178, 2, 193, 49, 247, 228, 205, 1, 189},
+{91, 233, 241, 71, 40, 246, 120, 85, 168, 178, 230, 109, 74, 30, 42, 51, 203, 170, 4, 222, 18, 254, 4, 53, 119, 60, 24, 197, 195, 241, 44, 104, 23, 155, 77, 104, 132, 130, 23, 117, 231, 119, 205, 69, 149, 17, 203, 134, 28, 124, 194, 135, 110, 134, 49, 73, 136, 196, 72, 46, 228, 68, 138, 8, 45, 28, 32, 37, 85, 183, 15, 94, 233, 193, 15, 116, 46, 173, 39, 114, 43, 35, 77, 75, 34, 192, 213, 57, 91, 74, 243, 3, 25, 101, 213, 28, 232, 233, 78, 47, 160, 87, 113, 218, 75, 169, 198, 103, 161, 7, 20, 69, 200, 234, 86, 13, 102, 192, 135, 221, 235, 95, 212, 144, 246, 82, 23, 34},
+{55, 134, 26, 148, 188, 57, 150, 106, 169, 113, 66, 196, 253, 130, 60, 12, 152, 229, 206, 153, 165, 2, 237, 209, 111, 104, 155, 29, 178, 193, 210, 205, 151, 129, 144, 71, 131, 184, 10, 204, 25, 241, 20, 10, 89, 12, 72, 91, 110, 154, 91, 184, 102, 211, 136, 32, 153, 208, 101, 9, 194, 152, 208, 68, 245, 141, 243, 45, 3, 142, 18, 23, 83, 135, 207, 176, 174, 159, 212, 217, 215, 209, 97, 86, 173, 175, 126, 82, 100, 180, 131, 102, 11, 65, 181, 7, 212, 103, 205, 226, 94, 211, 249, 214, 219, 138, 26, 247, 145, 25, 18, 254, 178, 132, 188, 14, 162, 243, 212, 250, 29, 80, 77, 211, 187, 24, 249, 49},
+{155, 185, 16, 152, 142, 57, 171, 106, 102, 183, 141, 40, 183, 19, 107, 214, 90, 174, 193, 117, 179, 139, 244, 75, 2, 162, 68, 72, 100, 83, 41, 9, 164, 89, 36, 234, 214, 123, 103, 200, 94, 108, 66, 89, 66, 156, 186, 113, 192, 143, 126, 202, 222, 113, 59, 196, 140, 18, 11, 97, 41, 20, 18, 209, 41, 83, 130, 213, 85, 123, 214, 106, 32, 209, 147, 131, 254, 26, 11, 172, 133, 251, 220, 61, 234, 189, 105, 244, 227, 155, 36, 56, 1, 223, 115, 159, 96, 191, 211, 196, 210, 164, 71, 143, 76, 171, 221, 41, 4, 136, 168, 94, 186, 123, 44, 59, 208, 254, 205, 28, 156, 91, 39, 206, 148, 2, 52, 86},
+{53, 117, 62, 214, 137, 73, 25, 230, 59, 95, 11, 151, 204, 168, 114, 235, 179, 251, 57, 116, 127, 150, 173, 110, 120, 119, 26, 0, 215, 82, 233, 76, 107, 63, 12, 251, 138, 144, 41, 179, 158, 255, 34, 214, 189, 38, 18, 122, 197, 3, 24, 63, 254, 235, 142, 219, 166, 28, 173, 224, 91, 165, 63, 242, 231, 247, 98, 0, 206, 191, 26, 119, 222, 247, 138, 243, 241, 218, 155, 23, 154, 168, 82, 207, 215, 165, 18, 33, 164, 87, 0, 30, 78, 168, 122, 27, 22, 145, 197, 220, 27, 254, 51, 127, 249, 39, 60, 154, 65, 102, 129, 155, 179, 63, 78, 80, 105, 35, 183, 196, 94, 21, 177, 208, 201, 157, 240, 26},
+{53, 117, 62, 214, 137, 73, 25, 230, 59, 95, 11, 151, 204, 168, 114, 235, 179, 251, 57, 116, 127, 150, 173, 110, 120, 119, 26, 0, 215, 82, 233, 76, 107, 63, 12, 251, 138, 144, 41, 179, 158, 255, 34, 214, 189, 38, 18, 122, 197, 3, 24, 63, 254, 235, 142, 219, 166, 28, 173, 224, 91, 165, 63, 242, 231, 247, 98, 0, 206, 191, 26, 119, 222, 247, 138, 243, 241, 218, 155, 23, 154, 168, 82, 207, 215, 165, 18, 33, 164, 87, 0, 30, 78, 168, 122, 27, 22, 145, 197, 220, 27, 254, 51, 127, 249, 39, 60, 154, 65, 102, 129, 155, 179, 63, 78, 80, 105, 35, 183, 196, 94, 21, 177, 208, 201, 157, 240, 26},
+{36, 34, 17, 112, 7, 189, 187, 190, 113, 18, 82, 144, 199, 177, 83, 117, 242, 112, 241, 182, 178, 98, 232, 101, 171, 213, 174, 61, 144, 46, 148, 113, 177, 69, 69, 2, 29, 68, 170, 223, 237, 240, 175, 10, 236, 1, 216, 139, 41, 77, 16, 123, 175, 187, 249, 165, 95, 167, 64, 124, 211, 193, 17, 59, 116, 126, 186, 165, 131, 73, 232, 205, 80, 117, 245, 35, 175, 107, 133, 209, 230, 219, 111, 163, 113, 192, 61, 199, 151, 61, 180, 83, 53, 220, 88, 99, 78, 18, 239, 221, 235, 169, 68, 26, 122, 138, 0, 185, 50, 116, 31, 56, 22, 209, 139, 169, 248, 231, 103, 72, 61, 20, 187, 248, 156, 97, 212, 113},
+{195, 19, 234, 157, 135, 133, 79, 122, 37, 166, 218, 128, 59, 246, 143, 128, 127, 74, 109, 184, 179, 73, 206, 249, 66, 1, 186, 43, 172, 220, 97, 183, 127, 138, 253, 76, 55, 175, 255, 129, 80, 138, 236, 24, 255, 182, 89, 247, 194, 187, 57, 167, 129, 192, 56, 42, 41, 129, 10, 242, 253, 21, 53, 219, 59, 101, 152, 149, 231, 33, 205, 164, 218, 63, 16, 95, 199, 131, 169, 142, 78, 64, 1, 249, 60, 166, 35, 71, 163, 107, 46, 233, 108, 109, 172, 191, 156, 11, 196, 223, 75, 40, 60, 111, 230, 220, 71, 75, 88, 108, 185, 5, 220, 40, 225, 104, 222, 91, 112, 226, 212, 44, 211, 134, 114, 114, 173, 237},
+{119, 28, 8, 65, 11, 25, 174, 108, 83, 161, 244, 8, 195, 213, 209, 39, 4, 59, 31, 242, 148, 47, 252, 243, 186, 171, 93, 248, 228, 161, 74, 79, 117, 70, 145, 142, 116, 164, 163, 7, 43, 229, 73, 105, 167, 30, 79, 114, 18, 214, 225, 69, 16, 233, 118, 117, 216, 187, 229, 10, 17, 170, 109, 128, 140, 4, 95, 53, 82, 139, 93, 175, 248, 203, 98, 126, 232, 67, 41, 181, 151, 24, 242, 216, 204, 174, 173, 250, 83, 202, 97, 154, 58, 228, 124, 74, 109, 24, 41, 193, 205, 85, 60, 138, 38, 165, 224, 225, 102, 252, 85, 73, 39, 198, 77, 212, 154, 210, 35, 20, 165, 80, 63, 18, 77, 252, 172, 195},
+{115, 135, 214, 88, 240, 231, 73, 153, 30, 219, 68, 66, 247, 127, 213, 185, 75, 17, 58, 184, 102, 83, 103, 32, 165, 207, 113, 81, 213, 109, 24, 198, 221, 225, 161, 106, 202, 165, 119, 53, 181, 223, 63, 41, 213, 99, 120, 81, 155, 85, 252, 16, 105, 174, 150, 86, 83, 59, 231, 206, 186, 15, 223, 221, 5, 86, 71, 75, 145, 160, 57, 2, 83, 144, 164, 33, 221, 135, 141, 152, 91, 236, 171, 25, 246, 230, 182, 182, 128, 217, 117, 113, 120, 35, 95, 192, 230, 68, 6, 211, 177, 124, 59, 74, 150, 240, 204, 152, 215, 149, 112, 52, 105, 248, 29, 68, 148, 47, 70, 33, 107, 255, 247, 117, 201, 13, 87, 122},
+{113, 165, 13, 39, 118, 199, 189, 22, 20, 247, 25, 204, 176, 224, 85, 42, 83, 65, 90, 57, 186, 197, 48, 188, 94, 198, 170, 82, 232, 140, 33, 239, 247, 240, 192, 157, 29, 181, 241, 237, 172, 72, 79, 225, 87, 92, 135, 211, 253, 253, 213, 77, 98, 2, 140, 19, 172, 217, 158, 0, 222, 151, 166, 157, 52, 188, 186, 19, 192, 118, 107, 97, 187, 232, 134, 241, 67, 249, 198, 8, 203, 22, 69, 232, 102, 158, 45, 43, 160, 95, 160, 108, 151, 145, 204, 115, 44, 74, 147, 101, 37, 71, 182, 28, 82, 199, 129, 15, 188, 211, 227, 167, 150, 102, 183, 73, 230, 38, 45, 187, 0, 15, 93, 41, 10, 86, 100, 16},
+{148, 90, 59, 228, 247, 69, 74, 67, 16, 145, 3, 182, 241, 173, 159, 124, 139, 237, 222, 55, 238, 231, 45, 42, 4, 70, 90, 195, 157, 175, 195, 90, 209, 185, 37, 100, 140, 70, 95, 42, 159, 24, 176, 228, 49, 165, 32, 188, 154, 217, 75, 158, 35, 31, 151, 98, 145, 166, 152, 54, 92, 229, 24, 37, 226, 1, 95, 89, 75, 168, 100, 187, 188, 185, 249, 93, 218, 87, 131, 236, 68, 159, 103, 240, 32, 184, 151, 224, 142, 247, 237, 85, 82, 184, 15, 32, 71, 162, 238, 168, 238, 222, 216, 97, 4, 186, 180, 64, 250, 106, 226, 255, 207, 237, 88, 1, 125, 239, 255, 99, 53, 50, 10, 135, 59, 185, 132, 142},
+{131, 32, 101, 147, 42, 133, 101, 195, 99, 10, 176, 17, 177, 197, 186, 66, 123, 238, 189, 67, 205, 171, 76, 169, 63, 152, 30, 142, 73, 162, 45, 146, 236, 147, 206, 212, 107, 35, 4, 242, 178, 48, 236, 77, 124, 56, 172, 16, 252, 60, 140, 101, 74, 102, 24, 203, 21, 154, 235, 0, 59, 199, 78, 118, 115, 98, 157, 51, 177, 206, 70, 212, 19, 193, 225, 56, 59, 155, 173, 44, 149, 8, 68, 222, 138, 119, 206, 15, 156, 230, 116, 254, 111, 158, 190, 78, 189, 1, 127, 94, 143, 133, 11, 138, 18, 207, 246, 205, 212, 106, 17, 207, 30, 14, 47, 205, 154, 131, 186, 37, 134, 67, 105, 104, 69, 31, 83, 214},
+{148, 184, 51, 223, 40, 30, 208, 34, 13, 49, 22, 202, 29, 90, 243, 184, 250, 243, 197, 203, 227, 222, 92, 54, 223, 38, 117, 27, 166, 225, 73, 219, 79, 20, 55, 70, 25, 110, 125, 176, 168, 200, 145, 63, 215, 21, 58, 206, 86, 227, 95, 174, 200, 129, 88, 215, 140, 195, 234, 118, 13, 81, 95, 116, 64, 188, 172, 13, 82, 141, 73, 252, 226, 140, 7, 193, 254, 128, 122, 117, 121, 250, 102, 124, 254, 216, 157, 91, 57, 111, 235, 220, 196, 221, 9, 186, 255, 116, 184, 65, 206, 42, 147, 40, 108, 75, 63, 114, 185, 0, 108, 135, 206, 132, 237, 148, 87, 210, 29, 207, 245, 97, 90, 101, 94, 131, 175, 118},
+{71, 196, 16, 147, 99, 67, 54, 253, 59, 90, 105, 196, 47, 27, 189, 86, 249, 246, 145, 23, 125, 248, 211, 144, 250, 44, 77, 3, 180, 83, 16, 2, 150, 78, 23, 192, 73, 24, 191, 120, 32, 32, 6, 137, 206, 31, 69, 26, 144, 187, 251, 63, 139, 16, 3, 12, 220, 45, 115, 86, 163, 88, 214, 167, 13, 212, 91, 12, 234, 38, 1, 246, 122, 111, 181, 52, 243, 26, 214, 81, 250, 20, 134, 49, 64, 226, 195, 91, 123, 26, 128, 76, 105, 219, 128, 158, 197, 93, 206, 72, 116, 158, 214, 110, 97, 254, 125, 112, 97, 147, 101, 39, 135, 159, 247, 130, 162, 236, 136, 84, 120, 141, 74, 81, 31, 1, 66, 236},
+{13, 84, 0, 208, 173, 178, 160, 79, 137, 176, 112, 149, 123, 27, 105, 45, 255, 22, 211, 108, 145, 202, 255, 72, 206, 182, 75, 78, 134, 231, 218, 56, 115, 47, 8, 29, 25, 204, 49, 232, 148, 136, 5, 140, 32, 40, 218, 173, 113, 149, 146, 26, 251, 117, 150, 19, 244, 11, 104, 100, 123, 153, 251, 58, 55, 132, 63, 159, 197, 239, 72, 20, 252, 146, 108, 57, 52, 69, 120, 161, 110, 196, 41, 153, 2, 111, 204, 231, 36, 251, 155, 189, 112, 230, 39, 210, 18, 107, 81, 2, 163, 237, 228, 12, 37, 107, 117, 68, 226, 159, 187, 20, 245, 235, 122, 167, 103, 207, 204, 39, 35, 204, 225, 208, 139, 206, 21, 247},
+{193, 68, 136, 58, 82, 126, 221, 154, 179, 121, 124, 44, 51, 173, 61, 109, 46, 186, 102, 85, 0, 235, 204, 158, 150, 95, 77, 16, 168, 39, 205, 83, 38, 130, 162, 69, 58, 205, 215, 137, 117, 45, 107, 190, 232, 121, 143, 46, 187, 148, 7, 199, 182, 230, 117, 19, 62, 74, 151, 25, 86, 222, 186, 120, 216, 65, 21, 9, 165, 199, 11, 175, 225, 24, 112, 131, 78, 45, 135, 138, 97, 72, 108, 239, 175, 162, 40, 245, 65, 122, 226, 89, 225, 70, 194, 154, 247, 226, 46, 119, 63, 102, 151, 135, 70, 1, 112, 31, 77, 22, 221, 162, 247, 243, 208, 6, 224, 154, 100, 15, 21, 17, 7, 127, 93, 9, 159, 79},
+{183, 132, 30, 99, 251, 250, 222, 202, 219, 209, 193, 218, 118, 191, 25, 8, 40, 129, 237, 225, 243, 135, 63, 83, 107, 7, 207, 252, 137, 185, 167, 185, 241, 195, 181, 55, 60, 132, 106, 168, 175, 6, 77, 169, 183, 80, 227, 185, 95, 21, 44, 55, 16, 36, 161, 249, 239, 147, 97, 14, 75, 63, 234, 40, 125, 162, 173, 80, 170, 19, 240, 232, 197, 131, 64, 15, 205, 135, 102, 153, 202, 183, 168, 78, 8, 126, 94, 6, 234, 151, 126, 110, 135, 78, 202, 106, 222, 148, 3, 25, 144, 190, 107, 57, 43, 113, 223, 161, 255, 71, 202, 53, 204, 173, 175, 7, 83, 207, 1, 77, 136, 141, 136, 32, 144, 29, 87, 7},
+{8, 232, 87, 116, 143, 254, 141, 251, 188, 129, 237, 70, 116, 110, 13, 59, 79, 231, 251, 9, 60, 128, 161, 196, 16, 44, 54, 136, 8, 93, 107, 166, 198, 167, 132, 42, 75, 254, 133, 176, 127, 106, 216, 64, 87, 115, 143, 204, 183, 40, 227, 241, 36, 247, 48, 130, 204, 89, 199, 165, 167, 49, 178, 201, 224, 130, 207, 215, 181, 56, 89, 190, 240, 139, 19, 180, 186, 160, 157, 244, 140, 247, 51, 28, 115, 65, 253, 180, 252, 224, 55, 134, 143, 249, 133, 200, 53, 229, 55, 100, 86, 200, 229, 27, 22, 68, 80, 134, 255, 146, 244, 48, 133, 121, 253, 81, 233, 61, 73, 250, 134, 44, 190, 124, 250, 229, 72, 223},
+{20, 220, 85, 5, 11, 224, 13, 254, 10, 39, 227, 73, 188, 5, 226, 97, 149, 8, 246, 237, 126, 85, 215, 203, 106, 88, 15, 148, 222, 59, 29, 240, 204, 176, 133, 115, 5, 29, 215, 179, 241, 24, 227, 48, 103, 12, 8, 48, 234, 35, 171, 154, 39, 169, 37, 235, 80, 254, 9, 10, 147, 48, 173, 127, 252, 118, 78, 130, 126, 4, 109, 199, 85, 115, 63, 152, 175, 113, 178, 62, 66, 27, 12, 77, 140, 164, 140, 18, 248, 210, 92, 192, 165, 252, 63, 20, 160, 182, 74, 206, 49, 78, 104, 83, 196, 159, 13, 138, 75, 101, 150, 167, 198, 112, 189, 66, 73, 132, 216, 246, 234, 179, 214, 88, 126, 248, 161, 197},
+{179, 229, 211, 215, 173, 212, 27, 106, 8, 205, 248, 12, 104, 212, 115, 108, 184, 31, 163, 248, 79, 40, 188, 159, 215, 17, 203, 209, 128, 27, 209, 85, 217, 106, 76, 143, 91, 25, 127, 233, 190, 165, 173, 111, 165, 79, 76, 92, 123, 181, 255, 227, 165, 30, 6, 227, 148, 188, 140, 228, 9, 138, 50, 80, 63, 181, 131, 132, 0, 195, 100, 248, 136, 0, 83, 31, 131, 116, 8, 181, 94, 60, 111, 87, 36, 103, 4, 203, 118, 149, 249, 189, 124, 249, 17, 75, 75, 77, 21, 102, 4, 155, 68, 50, 188, 201, 5, 34, 142, 103, 128, 149, 248, 25, 141, 195, 218, 158, 10, 65, 97, 0, 115, 142, 85, 127, 16, 102},
+{113, 159, 132, 199, 110, 21, 27, 168, 173, 22, 24, 179, 171, 158, 22, 142, 151, 218, 211, 129, 45, 30, 207, 21, 193, 164, 101, 53, 182, 111, 64, 182, 71, 171, 65, 240, 94, 141, 134, 93, 169, 218, 30, 109, 130, 135, 220, 143, 139, 215, 120, 131, 3, 58, 11, 76, 42, 252, 58, 60, 160, 38, 43, 180, 85, 141, 61, 82, 193, 77, 59, 101, 78, 151, 15, 203, 244, 220, 253, 55, 124, 34, 178, 159, 126, 36, 42, 94, 163, 3, 44, 216, 34, 87, 233, 107, 12, 67, 177, 169, 13, 53, 136, 204, 238, 252, 126, 14, 63, 76, 158, 78, 84, 96, 56, 115, 110, 119, 14, 85, 194, 156, 208, 2, 37, 109, 135, 153},
+{187, 56, 204, 234, 57, 148, 105, 53, 232, 169, 10, 171, 232, 45, 170, 15, 223, 167, 215, 61, 240, 129, 167, 119, 153, 141, 211, 219, 167, 176, 80, 109, 99, 217, 62, 124, 127, 110, 38, 54, 108, 205, 161, 25, 85, 18, 119, 251, 132, 115, 94, 83, 9, 115, 246, 77, 242, 217, 173, 172, 56, 52, 38, 250, 100, 202, 22, 36, 8, 97, 207, 101, 46, 46, 28, 47, 176, 116, 126, 25, 149, 125, 197, 94, 193, 34, 213, 0, 150, 190, 12, 202, 10, 6, 65, 55, 128, 49, 147, 159, 99, 157, 150, 97, 188, 170, 107, 98, 219, 26, 230, 60, 209, 3, 125, 255, 248, 148, 20, 117, 86, 241, 175, 69, 185, 252, 184, 34},
+{124, 118, 27, 124, 9, 222, 250, 222, 200, 17, 117, 27, 184, 137, 70, 10, 200, 97, 85, 59, 35, 177, 74, 243, 226, 153, 238, 159, 172, 32, 95, 169, 183, 150, 104, 68, 146, 65, 15, 159, 45, 10, 184, 45, 90, 195, 101, 254, 90, 240, 205, 24, 142, 102, 67, 15, 114, 146, 47, 62, 146, 213, 99, 221, 142, 108, 66, 60, 168, 226, 40, 211, 111, 184, 156, 112, 188, 51, 157, 204, 121, 189, 30, 158, 235, 74, 248, 107, 250, 203, 124, 251, 171, 82, 169, 139, 141, 5, 213, 132, 58, 67, 81, 143, 40, 205, 45, 107, 33, 51, 161, 58, 107, 179, 122, 38, 129, 164, 56, 229, 249, 163, 53, 190, 215, 38, 123, 8},
+{26, 227, 53, 114, 51, 59, 39, 49, 162, 72, 165, 132, 48, 116, 124, 157, 223, 9, 18, 35, 78, 171, 169, 28, 249, 204, 185, 168, 211, 200, 169, 92, 35, 36, 45, 49, 44, 75, 138, 248, 86, 46, 72, 244, 199, 178, 122, 94, 179, 223, 21, 112, 108, 58, 204, 148, 252, 233, 253, 7, 248, 34, 206, 114, 48, 183, 188, 94, 113, 30, 205, 37, 127, 122, 131, 204, 133, 181, 4, 50, 91, 135, 162, 199, 180, 245, 112, 221, 79, 125, 111, 171, 231, 254, 25, 182, 201, 126, 119, 47, 33, 20, 111, 176, 170, 93, 53, 58, 131, 153, 221, 155, 180, 222, 172, 97, 19, 215, 53, 65, 70, 54, 72, 218, 5, 126, 95, 110},
+{203, 60, 73, 159, 230, 140, 65, 140, 243, 196, 136, 83, 189, 227, 236, 70, 231, 68, 95, 62, 206, 27, 174, 27, 84, 21, 172, 75, 28, 144, 221, 174, 198, 170, 74, 118, 89, 43, 131, 1, 119, 132, 130, 111, 88, 153, 172, 119, 56, 255, 70, 204, 187, 214, 37, 255, 175, 142, 177, 129, 78, 211, 194, 197, 219, 143, 88, 240, 29, 158, 249, 45, 241, 173, 141, 29, 84, 18, 25, 56, 235, 194, 113, 228, 53, 212, 44, 49, 77, 133, 57, 233, 247, 128, 52, 226, 72, 10, 205, 106, 175, 9, 118, 234, 222, 240, 240, 55, 188, 163, 223, 19, 179, 254, 41, 6, 15, 98, 55, 185, 154, 139, 148, 217, 41, 1, 121, 122},
+{166, 154, 33, 191, 219, 227, 102, 5, 125, 96, 5, 16, 157, 14, 14, 132, 64, 229, 212, 11, 15, 8, 90, 78, 110, 199, 225, 23, 171, 183, 59, 197, 38, 238, 243, 197, 7, 224, 53, 112, 192, 48, 234, 164, 2, 87, 242, 144, 236, 95, 5, 252, 51, 106, 67, 101, 86, 10, 30, 152, 70, 155, 134, 69, 92, 136, 74, 131, 22, 47, 81, 118, 221, 124, 161, 232, 111, 103, 220, 173, 37, 97, 247, 175, 80, 110, 101, 187, 84, 206, 10, 8, 231, 246, 79, 173, 164, 138, 242, 144, 103, 148, 135, 152, 161, 30, 188, 0, 9, 15, 110, 219, 125, 135, 22, 106, 193, 4, 126, 190, 118, 192, 84, 127, 140, 139, 55, 83},
+{108, 190, 71, 109, 189, 154, 179, 245, 233, 143, 39, 47, 168, 204, 28, 234, 83, 22, 161, 117, 52, 148, 235, 52, 75, 225, 236, 104, 159, 93, 0, 76, 85, 245, 118, 139, 205, 81, 152, 122, 240, 58, 68, 102, 100, 239, 219, 72, 138, 3, 40, 101, 240, 85, 21, 44, 137, 100, 29, 11, 247, 72, 135, 232, 226, 106, 80, 163, 104, 162, 241, 225, 194, 241, 252, 255, 151, 50, 178, 110, 173, 74, 220, 138, 149, 65, 35, 132, 181, 15, 240, 8, 193, 154, 91, 45, 136, 61, 229, 251, 143, 14, 181, 184, 56, 85, 214, 175, 56, 160, 43, 220, 163, 238, 151, 128, 191, 119, 132, 133, 168, 23, 40, 203, 230, 199, 143, 123},
+{200, 160, 70, 11, 114, 110, 188, 171, 76, 149, 180, 194, 12, 167, 196, 8, 130, 9, 89, 235, 46, 233, 83, 154, 63, 162, 251, 220, 216, 104, 10, 139, 77, 54, 197, 126, 78, 216, 62, 17, 200, 180, 216, 0, 187, 162, 15, 144, 99, 57, 168, 192, 179, 233, 206, 227, 231, 167, 9, 27, 203, 152, 192, 89, 62, 83, 185, 175, 171, 195, 147, 94, 203, 169, 203, 97, 100, 70, 178, 86, 242, 28, 45, 111, 58, 89, 166, 146, 191, 171, 71, 246, 31, 57, 227, 152, 201, 174, 251, 181, 119, 23, 35, 25, 247, 191, 37, 107, 32, 224, 87, 211, 12, 108, 243, 123, 40, 124, 19, 91, 196, 195, 12, 215, 101, 113, 217, 60},
+{185, 76, 40, 119, 63, 173, 35, 67, 238, 116, 85, 252, 144, 175, 195, 205, 186, 100, 67, 106, 248, 159, 194, 93, 95, 26, 255, 204, 218, 230, 18, 215, 136, 92, 31, 148, 6, 102, 59, 61, 85, 193, 98, 106, 67, 91, 17, 14, 19, 122, 109, 185, 246, 56, 98, 207, 209, 82, 185, 19, 116, 152, 199, 89, 138, 40, 194, 246, 184, 227, 118, 146, 98, 97, 79, 43, 91, 235, 217, 243, 206, 63, 203, 110, 200, 96, 174, 61, 133, 150, 107, 71, 48, 110, 214, 44, 41, 179, 141, 177, 243, 229, 143, 237, 177, 145, 159, 120, 94, 120, 200, 119, 61, 211, 30, 253, 53, 112, 56, 213, 11, 89, 85, 247, 70, 205, 23, 253},
+{209, 92, 198, 28, 215, 166, 44, 150, 141, 67, 209, 62, 161, 55, 154, 147, 102, 105, 137, 71, 37, 244, 237, 29, 202, 112, 70, 194, 2, 8, 119, 4, 101, 70, 37, 3, 91, 24, 184, 110, 120, 14, 232, 5, 176, 160, 76, 139, 78, 228, 163, 129, 93, 8, 55, 223, 40, 125, 210, 132, 173, 123, 237, 228, 251, 34, 117, 0, 239, 32, 222, 194, 212, 106, 70, 91, 25, 82, 238, 33, 82, 59, 201, 229, 158, 9, 74, 85, 73, 189, 153, 146, 161, 162, 244, 7, 187, 19, 142, 124, 65, 174, 116, 71, 6, 193, 141, 158, 188, 53, 25, 242, 21, 130, 91, 29, 208, 121, 125, 199, 172, 48, 225, 235, 83, 43, 180, 159},
+{12, 55, 16, 204, 219, 140, 136, 232, 2, 4, 181, 56, 73, 207, 102, 89, 210, 3, 78, 160, 24, 146, 60, 181, 165, 44, 10, 183, 21, 176, 143, 18, 46, 127, 67, 56, 80, 28, 200, 252, 32, 234, 13, 99, 220, 149, 212, 85, 74, 104, 46, 223, 196, 154, 66, 96, 51, 142, 177, 30, 34, 196, 205, 63, 65, 150, 46, 34, 65, 41, 112, 194, 8, 103, 37, 142, 114, 157, 165, 191, 37, 228, 127, 51, 174, 212, 81, 177, 5, 204, 249, 78, 226, 212, 225, 148, 44, 148, 153, 21, 135, 120, 95, 98, 116, 2, 123, 227, 33, 17, 251, 252, 231, 226, 159, 204, 61, 164, 3, 95, 219, 172, 13, 191, 44, 67, 12, 117},
+{197, 38, 243, 229, 208, 16, 205, 42, 106, 137, 107, 26, 28, 229, 53, 2, 202, 119, 56, 187, 112, 219, 26, 179, 152, 177, 176, 219, 194, 29, 35, 111, 80, 42, 65, 111, 221, 2, 254, 61, 123, 197, 21, 82, 119, 34, 104, 185, 156, 105, 179, 204, 121, 101, 169, 241, 110, 94, 84, 110, 63, 185, 98, 17, 49, 141, 195, 116, 134, 141, 58, 169, 121, 212, 129, 219, 195, 201, 170, 123, 202, 58, 16, 54, 248, 62, 4, 146, 13, 89, 223, 238, 146, 40, 44, 199, 189, 74, 13, 14, 200, 15, 222, 8, 213, 36, 123, 12, 42, 230, 33, 24, 155, 151, 161, 208, 249, 86, 38, 58, 134, 112, 233, 4, 164, 226, 195, 151},
+{158, 87, 51, 59, 68, 38, 178, 195, 104, 163, 252, 190, 64, 1, 243, 234, 13, 108, 173, 119, 22, 218, 218, 174, 103, 18, 104, 145, 5, 122, 35, 187, 185, 136, 108, 222, 36, 128, 180, 248, 4, 222, 241, 69, 76, 4, 23, 139, 139, 110, 228, 7, 78, 62, 92, 246, 30, 214, 105, 99, 123, 72, 165, 116, 18, 23, 71, 155, 14, 175, 137, 66, 106, 29, 48, 63, 143, 143, 129, 143, 164, 135, 191, 94, 25, 222, 240, 29, 228, 243, 9, 39, 52, 255, 211, 171, 6, 127, 38, 16, 142, 187, 37, 18, 113, 88, 3, 51, 173, 188, 255, 86, 102, 80, 136, 56, 203, 83, 37, 193, 12, 109, 5, 171, 135, 208, 175, 180},
+{128, 134, 183, 40, 112, 229, 120, 89, 148, 149, 217, 235, 3, 214, 205, 114, 16, 49, 132, 207, 60, 140, 99, 26, 225, 249, 78, 193, 195, 94, 47, 17, 205, 115, 153, 244, 203, 205, 204, 179, 163, 255, 181, 60, 180, 245, 34, 157, 81, 211, 43, 19, 234, 194, 5, 158, 192, 198, 200, 25, 124, 220, 217, 153, 164, 40, 255, 169, 241, 28, 214, 222, 125, 211, 173, 246, 37, 100, 207, 102, 193, 154, 71, 151, 81, 75, 216, 12, 42, 33, 126, 2, 12, 156, 95, 230, 168, 139, 233, 193, 214, 199, 115, 151, 24, 246, 20, 250, 57, 16, 17, 40, 247, 34, 51, 92, 182, 111, 130, 197, 191, 245, 229, 177, 217, 28, 143, 206},
+{186, 185, 32, 130, 127, 60, 187, 82, 226, 154, 140, 93, 96, 93, 167, 86, 206, 184, 148, 124, 179, 81, 195, 127, 39, 159, 145, 192, 242, 247, 188, 166, 195, 227, 108, 134, 21, 67, 157, 94, 11, 83, 121, 20, 33, 77, 45, 8, 49, 65, 167, 138, 21, 115, 167, 108, 195, 217, 245, 59, 85, 118, 184, 24, 130, 75, 174, 200, 88, 250, 146, 103, 23, 247, 158, 3, 123, 217, 50, 58, 140, 162, 104, 208, 126, 140, 250, 185, 29, 181, 134, 159, 91, 214, 46, 45, 113, 116, 199, 210, 80, 237, 177, 38, 193, 169, 35, 65, 143, 30, 85, 211, 23, 47, 96, 73, 49, 240, 214, 230, 47, 167, 206, 46, 110, 243, 83, 40},
+{80, 114, 253, 148, 159, 242, 244, 223, 99, 117, 55, 236, 245, 199, 153, 9, 230, 81, 214, 188, 247, 220, 83, 44, 159, 40, 167, 47, 198, 201, 194, 106, 41, 205, 201, 73, 189, 54, 155, 52, 7, 86, 134, 244, 149, 14, 213, 9, 216, 15, 18, 101, 158, 34, 150, 206, 236, 149, 59, 128, 197, 224, 185, 180, 31, 245, 180, 225, 193, 212, 211, 32, 29, 107, 91, 99, 247, 179, 206, 33, 183, 230, 100, 119, 91, 132, 243, 146, 105, 74, 37, 63, 38, 250, 241, 79, 69, 3, 216, 140, 169, 117, 19, 138, 154, 156, 26, 166, 191, 150, 219, 111, 130, 153, 68, 15, 73, 201, 144, 65, 54, 201, 222, 222, 235, 46, 103, 190},
+{66, 78, 94, 14, 12, 100, 249, 214, 98, 243, 63, 28, 83, 105, 61, 8, 47, 13, 171, 44, 124, 158, 93, 43, 205, 157, 2, 185, 136, 191, 105, 160, 45, 183, 254, 213, 159, 212, 213, 237, 214, 128, 180, 34, 144, 174, 132, 142, 231, 50, 27, 11, 140, 73, 78, 132, 37, 1, 34, 251, 40, 133, 24, 87, 204, 161, 145, 27, 108, 109, 186, 150, 164, 6, 221, 29, 205, 134, 135, 129, 2, 54, 139, 11, 157, 75, 187, 188, 253, 20, 12, 92, 128, 134, 96, 63, 48, 110, 94, 200, 45, 186, 102, 79, 221, 210, 0, 102, 247, 191, 58, 42, 130, 248, 107, 126, 36, 61, 250, 50, 6, 5, 156, 136, 217, 179, 140, 12},
+{84, 9, 36, 251, 116, 239, 77, 157, 98, 134, 147, 103, 175, 57, 14, 57, 38, 67, 93, 190, 42, 194, 190, 70, 65, 139, 25, 223, 76, 0, 137, 10, 253, 131, 129, 186, 124, 122, 138, 34, 165, 219, 241, 36, 163, 88, 196, 119, 41, 41, 152, 90, 99, 217, 66, 244, 119, 226, 196, 191, 38, 22, 151, 51, 208, 253, 123, 34, 15, 178, 114, 88, 37, 124, 188, 40, 142, 219, 56, 155, 46, 221, 99, 200, 104, 153, 227, 186, 5, 76, 225, 140, 107, 131, 0, 29, 8, 110, 40, 92, 102, 225, 161, 233, 228, 15, 93, 105, 104, 236, 92, 43, 163, 224, 41, 12, 4, 143, 186, 55, 95, 66, 167, 240, 87, 40, 162, 189},
+{114, 33, 38, 72, 226, 198, 132, 26, 232, 85, 74, 152, 115, 49, 50, 35, 132, 176, 254, 89, 214, 107, 61, 167, 158, 131, 85, 104, 87, 51, 12, 211, 233, 105, 15, 206, 18, 231, 140, 5, 91, 238, 92, 199, 45, 15, 192, 60, 37, 50, 182, 7, 57, 118, 249, 199, 23, 178, 219, 181, 127, 175, 169, 22, 67, 157, 217, 3, 243, 27, 240, 130, 65, 26, 70, 176, 248, 69, 40, 50, 168, 164, 230, 61, 70, 115, 121, 86, 57, 190, 37, 178, 64, 160, 252, 9, 24, 115, 190, 147, 188, 47, 19, 208, 155, 207, 107, 46, 76, 5, 48, 24, 46, 220, 111, 120, 173, 155, 23, 149, 231, 14, 194, 98, 177, 208, 10, 63},
+{115, 6, 13, 243, 156, 5, 23, 149, 169, 209, 221, 50, 137, 222, 162, 140, 125, 42, 249, 54, 27, 199, 223, 187, 148, 12, 49, 150, 248, 104, 180, 189, 216, 52, 175, 233, 99, 157, 160, 54, 245, 50, 166, 60, 49, 42, 80, 1, 134, 200, 208, 22, 169, 58, 169, 31, 105, 192, 21, 175, 136, 60, 29, 191, 226, 80, 11, 44, 112, 91, 108, 138, 160, 15, 126, 108, 225, 251, 127, 92, 177, 209, 88, 164, 207, 43, 113, 126, 65, 217, 68, 137, 45, 84, 232, 226, 222, 229, 86, 74, 162, 112, 55, 8, 215, 140, 54, 17, 246, 165, 13, 23, 244, 90, 97, 46, 186, 213, 149, 54, 56, 215, 223, 76, 121, 235, 231, 132},
+{104, 232, 227, 203, 67, 100, 239, 145, 1, 165, 79, 38, 61, 41, 6, 205, 52, 186, 193, 29, 22, 253, 61, 60, 2, 17, 129, 228, 43, 225, 35, 37, 138, 229, 57, 110, 35, 175, 25, 185, 95, 127, 65, 66, 193, 11, 23, 176, 177, 197, 156, 4, 200, 182, 202, 222, 146, 45, 181, 141, 227, 35, 6, 197, 168, 156, 195, 53, 252, 25, 64, 91, 225, 111, 212, 65, 13, 90, 13, 36, 228, 11, 181, 194, 31, 231, 181, 69, 61, 48, 100, 52, 157, 146, 210, 105, 152, 146, 74, 95, 22, 69, 159, 37, 103, 43, 129, 39, 240, 9, 177, 244, 87, 226, 203, 47, 162, 92, 202, 191, 168, 240, 107, 51, 120, 67, 67, 190},
+{76, 24, 195, 191, 141, 246, 158, 110, 132, 233, 112, 250, 122, 243, 188, 225, 169, 2, 97, 227, 148, 59, 55, 120, 213, 44, 6, 237, 251, 145, 52, 14, 32, 174, 221, 236, 95, 98, 27, 32, 18, 91, 211, 253, 5, 128, 69, 115, 25, 196, 101, 175, 137, 92, 230, 89, 67, 240, 2, 105, 255, 148, 202, 166, 78, 56, 196, 227, 119, 176, 112, 178, 37, 194, 62, 121, 218, 151, 214, 99, 186, 145, 71, 123, 110, 227, 131, 13, 205, 130, 32, 84, 39, 131, 65, 231, 46, 20, 125, 83, 129, 139, 77, 99, 150, 219, 177, 157, 95, 216, 51, 172, 142, 137, 153, 90, 214, 124, 101, 244, 54, 31, 241, 67, 30, 202, 24, 156},
+{181, 197, 43, 144, 190, 150, 155, 164, 5, 70, 60, 192, 1, 139, 242, 12, 9, 38, 156, 165, 133, 212, 199, 228, 248, 118, 58, 122, 86, 191, 176, 23, 33, 29, 101, 246, 97, 8, 42, 40, 109, 251, 188, 192, 102, 90, 189, 145, 248, 68, 202, 92, 207, 41, 143, 200, 242, 56, 86, 236, 185, 91, 229, 47, 167, 48, 184, 17, 167, 205, 179, 124, 165, 217, 169, 95, 132, 56, 26, 195, 68, 137, 164, 75, 98, 96, 172, 237, 198, 63, 228, 149, 99, 57, 166, 110, 207, 47, 205, 43, 72, 17, 46, 5, 41, 36, 28, 169, 62, 94, 132, 166, 215, 199, 220, 158, 218, 181, 33, 156, 29, 84, 192, 84, 200, 231, 16, 45},
+{134, 179, 154, 86, 238, 11, 252, 141, 232, 10, 155, 208, 233, 133, 133, 112, 89, 252, 219, 143, 185, 177, 194, 120, 30, 210, 111, 170, 188, 124, 7, 152, 43, 39, 51, 246, 198, 200, 4, 7, 160, 88, 56, 0, 58, 64, 70, 56, 181, 45, 177, 167, 195, 180, 211, 57, 184, 51, 195, 157, 51, 179, 95, 140, 6, 97, 19, 125, 178, 75, 56, 72, 127, 36, 131, 165, 118, 6, 138, 86, 166, 165, 136, 83, 54, 88, 16, 110, 170, 140, 175, 79, 192, 150, 179, 59, 25, 36, 95, 78, 17, 89, 173, 214, 110, 207, 163, 91, 161, 67, 188, 214, 159, 136, 133, 201, 53, 158, 138, 87, 194, 2, 254, 109, 96, 102, 144, 254},
+{43, 229, 42, 137, 199, 98, 253, 188, 10, 4, 203, 45, 139, 182, 0, 114, 113, 197, 83, 238, 184, 5, 162, 255, 56, 51, 200, 21, 137, 114, 100, 101, 223, 77, 154, 22, 166, 70, 223, 90, 135, 37, 222, 243, 151, 99, 67, 43, 178, 94, 205, 159, 65, 252, 242, 105, 64, 50, 88, 189, 136, 78, 216, 219, 20, 160, 15, 232, 129, 22, 124, 2, 63, 14, 183, 221, 179, 190, 97, 49, 135, 230, 36, 103, 96, 162, 55, 153, 130, 179, 64, 46, 166, 172, 160, 61, 96, 74, 23, 95, 91, 104, 102, 163, 58, 95, 242, 253, 29, 10, 75, 229, 62, 86, 175, 160, 249, 237, 194, 49, 137, 80, 129, 25, 52, 109, 151, 62},
+{54, 199, 121, 21, 59, 45, 254, 193, 45, 100, 236, 239, 129, 16, 90, 233, 175, 194, 63, 62, 102, 55, 71, 4, 231, 125, 199, 168, 68, 214, 244, 237, 177, 107, 148, 28, 126, 74, 27, 208, 222, 221, 253, 154, 87, 162, 10, 176, 159, 136, 108, 61, 151, 24, 82, 148, 123, 175, 200, 111, 79, 169, 74, 92, 3, 206, 81, 1, 15, 52, 62, 244, 158, 181, 155, 29, 217, 66, 111, 128, 143, 218, 59, 106, 253, 185, 69, 247, 28, 12, 220, 223, 192, 29, 33, 223, 29, 144, 147, 13, 37, 216, 144, 184, 11, 108, 135, 207, 217, 99, 102, 248, 255, 189, 37, 151, 193, 208, 159, 105, 74, 228, 35, 200, 208, 139, 125, 3},
+{84, 32, 137, 248, 225, 99, 69, 182, 17, 124, 175, 184, 170, 244, 251, 144, 96, 213, 88, 81, 104, 107, 73, 3, 63, 210, 139, 182, 200, 187, 200, 173, 214, 25, 198, 77, 161, 176, 55, 1, 8, 137, 253, 212, 141, 65, 254, 178, 26, 141, 208, 142, 163, 184, 0, 255, 216, 182, 193, 115, 118, 114, 231, 77, 211, 119, 133, 101, 200, 126, 11, 80, 144, 5, 205, 52, 139, 15, 153, 146, 23, 108, 245, 94, 155, 246, 159, 51, 253, 234, 242, 176, 126, 152, 192, 68, 142, 247, 250, 46, 80, 31, 12, 3, 23, 204, 88, 129, 162, 55, 55, 215, 91, 214, 117, 187, 226, 86, 239, 187, 55, 205, 156, 60, 244, 157, 188, 92},
+{4, 235, 148, 21, 236, 30, 66, 71, 116, 159, 169, 252, 32, 200, 106, 140, 63, 53, 43, 34, 202, 92, 109, 201, 128, 190, 215, 111, 212, 133, 211, 68, 239, 64, 0, 181, 82, 129, 13, 141, 198, 201, 54, 141, 199, 228, 207, 246, 138, 154, 211, 66, 125, 218, 210, 184, 75, 34, 236, 54, 159, 176, 13, 253, 221, 137, 214, 35, 213, 140, 109, 122, 187, 155, 120, 146, 24, 188, 227, 84, 46, 128, 174, 164, 189, 137, 178, 77, 131, 203, 149, 134, 240, 79, 232, 191, 184, 228, 39, 6, 99, 93, 117, 48, 240, 100, 93, 22, 24, 67, 109, 177, 234, 146, 42, 222, 131, 195, 109, 52, 193, 145, 5, 86, 186, 17, 112, 243},
+{89, 23, 83, 151, 3, 74, 110, 84, 146, 79, 161, 5, 67, 98, 11, 108, 65, 43, 231, 196, 163, 145, 250, 229, 164, 9, 190, 211, 189, 47, 80, 66, 46, 217, 159, 140, 59, 42, 205, 119, 111, 181, 226, 50, 146, 229, 56, 143, 20, 106, 161, 255, 83, 90, 33, 72, 18, 104, 179, 235, 109, 244, 220, 140, 125, 42, 86, 108, 32, 98, 165, 49, 133, 139, 162, 112, 167, 119, 39, 142, 200, 34, 54, 159, 65, 7, 231, 9, 150, 52, 188, 163, 11, 57, 16, 72, 101, 216, 175, 118, 90, 191, 105, 44, 169, 143, 181, 57, 230, 207, 214, 70, 50, 6, 154, 184, 192, 130, 240, 67, 157, 172, 85, 97, 160, 108, 235, 74},
+{180, 209, 177, 170, 197, 51, 82, 42, 193, 97, 250, 68, 130, 225, 185, 94, 153, 26, 197, 234, 67, 167, 224, 62, 169, 108, 233, 173, 169, 255, 105, 102, 185, 74, 218, 237, 134, 124, 22, 5, 213, 171, 221, 107, 79, 158, 224, 142, 190, 231, 186, 192, 197, 135, 98, 16, 169, 234, 39, 246, 64, 159, 60, 184, 220, 13, 199, 49, 31, 245, 59, 222, 7, 240, 146, 170, 36, 72, 72, 11, 129, 26, 200, 166, 120, 107, 174, 188, 205, 188, 254, 74, 4, 72, 138, 137, 92, 171, 41, 148, 129, 233, 62, 13, 64, 8, 240, 154, 119, 98, 147, 223, 230, 237, 131, 58, 167, 184, 6, 9, 227, 69, 23, 219, 68, 61, 242, 78},
+{157, 135, 23, 190, 253, 79, 193, 159, 18, 172, 193, 81, 201, 96, 137, 102, 0, 176, 238, 91, 44, 231, 201, 12, 31, 131, 143, 38, 94, 174, 23, 235, 26, 224, 157, 218, 59, 240, 141, 235, 48, 251, 209, 190, 6, 76, 38, 10, 229, 56, 90, 96, 208, 16, 222, 141, 65, 214, 52, 165, 37, 8, 188, 195, 68, 91, 110, 120, 75, 163, 20, 102, 77, 43, 212, 53, 140, 62, 243, 249, 5, 211, 240, 196, 103, 132, 163, 85, 141, 246, 202, 244, 6, 134, 227, 249, 92, 224, 127, 169, 196, 21, 170, 68, 206, 234, 42, 9, 1, 122, 0, 65, 138, 232, 147, 195, 67, 13, 17, 3, 32, 200, 175, 186, 5, 86, 166, 51},
+{48, 34, 20, 9, 175, 250, 173, 89, 150, 2, 229, 230, 151, 83, 179, 117, 64, 21, 177, 101, 8, 95, 39, 221, 192, 43, 254, 105, 209, 225, 185, 108, 183, 116, 200, 84, 150, 85, 167, 163, 225, 213, 242, 140, 41, 155, 28, 78, 5, 107, 227, 93, 40, 172, 36, 111, 179, 125, 224, 34, 3, 104, 128, 243, 16, 85, 190, 195, 179, 26, 101, 51, 230, 235, 159, 225, 174, 51, 147, 151, 144, 3, 192, 37, 193, 229, 53, 78, 27, 146, 215, 83, 117, 23, 49, 115, 65, 108, 3, 44, 130, 22, 15, 40, 94, 250, 70, 190, 141, 190, 43, 193, 247, 111, 181, 53, 75, 247, 84, 176, 78, 58, 111, 108, 105, 239, 59, 254},
+{148, 147, 150, 218, 213, 64, 33, 100, 245, 200, 202, 58, 187, 47, 111, 148, 198, 190, 109, 1, 232, 254, 108, 146, 160, 197, 106, 122, 96, 141, 13, 153, 134, 133, 251, 173, 190, 183, 1, 73, 149, 128, 142, 136, 163, 148, 242, 14, 235, 250, 157, 38, 0, 191, 165, 254, 151, 71, 164, 112, 135, 135, 144, 201, 86, 149, 74, 191, 92, 177, 250, 206, 124, 172, 159, 31, 160, 78, 24, 177, 227, 168, 60, 133, 143, 18, 81, 75, 49, 187, 231, 73, 236, 169, 221, 222, 130, 198, 40, 215, 156, 78, 228, 120, 58, 25, 209, 30, 57, 164, 8, 75, 170, 124, 216, 90, 222, 141, 63, 25, 35, 163, 109, 149, 12, 31, 97, 20},
+{106, 201, 8, 3, 204, 235, 0, 176, 5, 35, 193, 139, 65, 171, 118, 131, 163, 78, 170, 238, 222, 128, 166, 116, 120, 24, 214, 27, 135, 186, 246, 104, 141, 147, 78, 49, 120, 89, 10, 208, 47, 30, 55, 239, 125, 137, 83, 44, 241, 204, 127, 198, 132, 189, 246, 73, 11, 12, 157, 231, 217, 33, 48, 113, 22, 178, 44, 107, 187, 186, 66, 62, 33, 136, 157, 123, 214, 23, 31, 59, 86, 33, 41, 147, 45, 113, 216, 19, 16, 206, 177, 13, 113, 46, 77, 33, 229, 50, 114, 175, 97, 63, 115, 242, 63, 125, 154, 125, 38, 42, 46, 207, 96, 215, 65, 108, 225, 231, 244, 199, 174, 106, 236, 117, 250, 73, 96, 117},
+{37, 180, 202, 62, 91, 86, 210, 74, 168, 235, 218, 112, 113, 95, 78, 90, 45, 204, 92, 98, 107, 80, 5, 246, 27, 28, 216, 61, 228, 251, 16, 103, 67, 147, 139, 90, 104, 128, 153, 62, 103, 120, 200, 61, 243, 132, 206, 254, 41, 170, 45, 9, 213, 237, 231, 120, 209, 29, 14, 249, 158, 30, 102, 5, 178, 100, 88, 77, 2, 75, 130, 49, 75, 184, 152, 82, 118, 150, 2, 192, 196, 51, 97, 131, 181, 45, 159, 147, 67, 211, 159, 142, 148, 17, 171, 188, 129, 232, 249, 150, 71, 200, 131, 36, 57, 183, 29, 136, 83, 87, 153, 237, 64, 51, 78, 66, 186, 52, 158, 223, 92, 144, 254, 244, 181, 90, 226, 123},
+{186, 60, 32, 92, 79, 151, 111, 93, 108, 16, 178, 47, 252, 206, 15, 214, 115, 167, 62, 157, 30, 111, 225, 176, 238, 27, 93, 240, 203, 215, 177, 71, 185, 203, 165, 151, 168, 252, 30, 166, 32, 241, 151, 65, 149, 106, 70, 153, 159, 188, 77, 70, 82, 158, 40, 6, 73, 16, 86, 59, 123, 245, 63, 15, 230, 8, 221, 250, 164, 74, 196, 223, 45, 83, 141, 248, 178, 66, 7, 225, 237, 129, 249, 42, 53, 15, 153, 163, 2, 159, 231, 153, 228, 48, 238, 120, 41, 174, 157, 47, 197, 34, 208, 113, 217, 249, 40, 206, 157, 73, 83, 177, 225, 37, 212, 201, 2, 74, 155, 114, 158, 216, 218, 58, 167, 33, 234, 132},
+{170, 211, 226, 105, 205, 65, 123, 105, 1, 30, 147, 252, 236, 103, 109, 91, 82, 205, 139, 55, 194, 202, 194, 55, 128, 117, 193, 133, 8, 82, 156, 158, 94, 9, 233, 96, 70, 204, 242, 227, 253, 108, 113, 216, 123, 228, 232, 83, 197, 243, 214, 190, 24, 69, 62, 74, 58, 44, 126, 180, 166, 32, 15, 202, 164, 69, 243, 200, 165, 151, 158, 249, 33, 242, 43, 103, 253, 215, 82, 119, 177, 255, 200, 175, 222, 228, 123, 214, 84, 120, 109, 103, 96, 46, 97, 239, 243, 46, 69, 146, 203, 225, 161, 129, 135, 253, 25, 121, 145, 130, 80, 225, 57, 0, 211, 111, 60, 238, 35, 27, 228, 164, 197, 104, 232, 137, 194, 20},
+{72, 176, 33, 157, 112, 154, 235, 224, 180, 17, 8, 213, 224, 83, 141, 191, 63, 173, 38, 168, 183, 50, 222, 198, 196, 167, 85, 144, 223, 176, 171, 79, 52, 124, 91, 39, 225, 192, 210, 15, 77, 136, 207, 225, 169, 68, 53, 123, 206, 210, 139, 29, 242, 204, 124, 121, 75, 229, 114, 192, 162, 110, 150, 196, 238, 158, 87, 136, 26, 124, 253, 116, 244, 32, 201, 223, 26, 217, 197, 154, 30, 54, 51, 33, 229, 48, 42, 109, 166, 118, 4, 15, 214, 227, 110, 228, 42, 230, 98, 74, 31, 25, 142, 222, 6, 194, 172, 45, 62, 36, 216, 239, 138, 140, 24, 42, 103, 3, 11, 26, 68, 89, 177, 109, 185, 16, 135, 49},
+{86, 21, 115, 208, 152, 200, 4, 124, 117, 50, 52, 7, 238, 159, 78, 82, 228, 29, 44, 228, 183, 47, 220, 126, 253, 21, 76, 93, 19, 183, 8, 63, 190, 197, 222, 136, 14, 28, 88, 170, 185, 140, 180, 122, 33, 146, 248, 245, 37, 213, 137, 148, 200, 29, 176, 235, 213, 216, 126, 21, 70, 116, 40, 126, 115, 241, 130, 99, 177, 73, 172, 214, 125, 175, 247, 236, 174, 24, 42, 220, 112, 218, 103, 65, 138, 215, 105, 236, 82, 161, 79, 101, 73, 236, 8, 45, 41, 129, 209, 253, 37, 96, 204, 204, 127, 143, 26, 47, 116, 68, 63, 169, 201, 231, 141, 140, 124, 125, 188, 54, 61, 170, 150, 2, 184, 13, 237, 203},
+{123, 155, 27, 237, 195, 42, 89, 204, 3, 173, 194, 196, 143, 123, 115, 48, 201, 97, 138, 65, 191, 245, 152, 174, 112, 119, 11, 196, 122, 104, 189, 149, 16, 75, 56, 52, 133, 110, 234, 143, 69, 178, 118, 95, 14, 94, 69, 6, 208, 47, 215, 189, 125, 198, 237, 244, 84, 208, 243, 223, 89, 71, 5, 101, 232, 16, 63, 157, 95, 122, 156, 164, 205, 218, 20, 251, 111, 185, 106, 23, 199, 55, 116, 99, 93, 143, 125, 136, 117, 225, 127, 164, 91, 142, 14, 57, 86, 142, 107, 105, 233, 71, 209, 116, 174, 39, 63, 143, 11, 65, 39, 180, 51, 138, 223, 227, 222, 228, 170, 19, 33, 49, 153, 87, 253, 57, 239, 245},
+{38, 249, 216, 216, 228, 106, 205, 11, 0, 111, 228, 189, 43, 250, 145, 235, 217, 131, 81, 150, 45, 172, 171, 103, 244, 81, 168, 4, 19, 201, 157, 58, 64, 140, 78, 214, 180, 72, 255, 55, 126, 162, 63, 97, 172, 70, 108, 54, 29, 246, 203, 103, 18, 212, 105, 220, 202, 95, 63, 102, 150, 7, 196, 64, 180, 46, 27, 122, 110, 12, 63, 242, 45, 223, 108, 255, 251, 164, 0, 86, 116, 249, 0, 251, 245, 83, 150, 33, 107, 190, 114, 238, 67, 132, 214, 132, 146, 51, 180, 206, 126, 49, 163, 203, 124, 224, 212, 64, 195, 149, 115, 105, 20, 47, 34, 146, 72, 191, 106, 216, 85, 151, 95, 119, 179, 128, 187, 187},
+{209, 128, 127, 13, 9, 135, 254, 1, 52, 109, 186, 199, 1, 169, 206, 196, 150, 220, 115, 6, 225, 73, 24, 200, 102, 1, 10, 80, 247, 217, 153, 20, 31, 226, 33, 64, 167, 50, 27, 118, 96, 170, 179, 60, 174, 1, 156, 21, 11, 164, 194, 80, 74, 158, 41, 40, 91, 188, 73, 153, 88, 13, 243, 218, 233, 36, 45, 237, 229, 228, 224, 111, 39, 7, 198, 204, 73, 164, 67, 179, 7, 25, 218, 62, 230, 221, 179, 146, 221, 110, 130, 129, 10, 33, 193, 97, 17, 179, 204, 225, 48, 1, 226, 168, 182, 66, 169, 78, 2, 64, 219, 26, 132, 215, 166, 91, 201, 241, 178, 189, 104, 244, 163, 59, 165, 10, 15, 121},
+{75, 76, 136, 21, 207, 236, 48, 153, 29, 21, 186, 131, 23, 49, 137, 71, 230, 146, 226, 101, 66, 220, 89, 225, 84, 102, 155, 20, 110, 214, 155, 126, 17, 232, 222, 76, 247, 238, 71, 230, 81, 170, 127, 130, 229, 142, 178, 45, 175, 70, 145, 248, 199, 172, 91, 146, 185, 80, 81, 152, 24, 46, 156, 213, 101, 26, 95, 27, 164, 16, 52, 106, 124, 10, 84, 173, 207, 44, 250, 218, 132, 180, 112, 217, 145, 77, 47, 97, 27, 15, 84, 78, 8, 5, 154, 40, 225, 90, 89, 220, 151, 141, 204, 175, 140, 208, 59, 81, 22, 202, 114, 106, 142, 123, 78, 232, 223, 234, 85, 228, 135, 76, 38, 168, 26, 55, 188, 59},
+{33, 251, 1, 227, 171, 148, 177, 166, 7, 76, 106, 39, 173, 81, 167, 203, 29, 169, 51, 166, 37, 6, 199, 28, 126, 210, 196, 113, 75, 9, 246, 155, 161, 48, 65, 90, 173, 173, 178, 190, 147, 104, 107, 170, 165, 120, 227, 81, 234, 75, 187, 210, 227, 242, 160, 181, 1, 31, 36, 96, 225, 253, 142, 101, 120, 76, 79, 167, 113, 206, 231, 150, 212, 74, 146, 26, 181, 17, 78, 193, 236, 209, 116, 236, 89, 171, 106, 180, 76, 98, 54, 157, 231, 230, 200, 23, 92, 200, 84, 217, 100, 128, 95, 90, 254, 22, 223, 75, 65, 33, 41, 85, 101, 209, 121, 140, 219, 237, 197, 105, 164, 37, 217, 151, 195, 229, 34, 183},
+{118, 106, 167, 40, 170, 174, 161, 22, 219, 217, 187, 59, 135, 10, 20, 140, 68, 91, 86, 163, 126, 123, 136, 140, 16, 144, 174, 108, 149, 218, 162, 14, 109, 182, 44, 132, 163, 0, 14, 61, 22, 31, 9, 50, 208, 102, 80, 226, 72, 4, 90, 37, 209, 134, 76, 36, 219, 200, 131, 24, 161, 84, 251, 51, 6, 172, 224, 214, 227, 209, 88, 8, 134, 248, 128, 186, 15, 160, 63, 20, 75, 212, 194, 187, 236, 254, 57, 77, 194, 223, 45, 86, 200, 192, 187, 27, 169, 125, 175, 186, 202, 225, 246, 79, 220, 145, 83, 162, 147, 10, 42, 92, 91, 1, 228, 140, 42, 33, 5, 134, 67, 50, 186, 121, 55, 166, 247, 3},
+{29, 124, 186, 234, 96, 123, 116, 146, 71, 220, 51, 54, 232, 171, 73, 24, 171, 29, 92, 222, 16, 73, 147, 84, 201, 106, 204, 232, 235, 87, 213, 193, 164, 71, 136, 233, 248, 240, 153, 31, 211, 86, 56, 80, 147, 186, 131, 249, 128, 234, 213, 2, 228, 160, 105, 77, 249, 57, 12, 254, 134, 67, 75, 115, 135, 102, 60, 196, 27, 74, 161, 112, 49, 212, 222, 120, 132, 204, 250, 28, 68, 203, 124, 174, 91, 20, 93, 76, 128, 193, 54, 166, 249, 54, 244, 43, 56, 2, 223, 183, 173, 222, 137, 233, 115, 25, 163, 217, 26, 202, 79, 222, 134, 253, 163, 253, 15, 245, 10, 146, 184, 134, 174, 126, 113, 235, 11, 66},
+{110, 73, 64, 47, 90, 87, 49, 193, 33, 188, 223, 164, 141, 50, 63, 20, 240, 208, 156, 56, 147, 223, 166, 215, 142, 167, 177, 113, 248, 51, 138, 71, 138, 226, 233, 171, 76, 105, 13, 75, 159, 53, 121, 202, 149, 35, 177, 214, 104, 18, 68, 240, 120, 88, 39, 241, 167, 94, 129, 226, 9, 25, 52, 9, 143, 174, 143, 202, 64, 45, 142, 115, 243, 195, 242, 36, 95, 138, 4, 75, 5, 151, 122, 40, 66, 102, 11, 161, 53, 161, 185, 128, 36, 195, 222, 191, 229, 29, 53, 57, 178, 82, 65, 113, 224, 176, 30, 211, 189, 179, 172, 253, 218, 116, 57, 229, 218, 29, 234, 81, 210, 0, 157, 174, 155, 143, 135, 58},
+{82, 79, 231, 25, 253, 70, 21, 60, 68, 165, 75, 228, 138, 24, 193, 73, 135, 187, 72, 142, 44, 35, 77, 149, 26, 32, 112, 102, 249, 133, 171, 65, 72, 254, 166, 231, 245, 65, 11, 212, 108, 136, 34, 126, 160, 48, 253, 199, 146, 115, 70, 209, 153, 27, 95, 93, 178, 237, 23, 99, 144, 102, 158, 240, 0, 236, 166, 224, 200, 145, 25, 218, 136, 201, 193, 134, 1, 74, 30, 165, 114, 223, 118, 92, 96, 147, 185, 137, 35, 179, 48, 57, 182, 5, 223, 209, 234, 184, 56, 248, 14, 124, 8, 31, 197, 10, 106, 61, 254, 245, 130, 162, 234, 142, 194, 35, 81, 219, 205, 108, 128, 232, 64, 101, 222, 139, 55, 78},
+{64, 74, 82, 172, 60, 8, 172, 47, 207, 235, 109, 162, 213, 171, 127, 216, 190, 73, 178, 67, 110, 213, 129, 0, 165, 248, 141, 236, 192, 198, 67, 166, 67, 136, 181, 210, 93, 129, 230, 156, 183, 131, 191, 225, 151, 101, 234, 150, 16, 59, 0, 29, 196, 84, 184, 218, 194, 102, 173, 197, 1, 187, 149, 136, 27, 40, 146, 40, 143, 198, 93, 28, 31, 208, 106, 191, 227, 230, 7, 63, 217, 22, 142, 203, 53, 137, 78, 190, 224, 181, 175, 225, 113, 20, 139, 188, 70, 233, 166, 10, 115, 127, 254, 141, 128, 254, 253, 28, 104, 51, 163, 159, 137, 23, 50, 237, 228, 51, 217, 64, 178, 4, 29, 74, 157, 43, 120, 95},
+{1, 49, 153, 0, 12, 222, 131, 234, 243, 152, 48, 247, 41, 159, 199, 186, 247, 208, 213, 91, 126, 47, 191, 41, 112, 15, 39, 77, 216, 61, 65, 226, 103, 30, 139, 46, 113, 27, 171, 123, 138, 86, 241, 235, 169, 137, 105, 86, 177, 53, 67, 48, 88, 12, 228, 54, 74, 91, 93, 60, 66, 11, 139, 78, 174, 56, 245, 17, 90, 53, 225, 187, 122, 205, 221, 227, 94, 10, 17, 1, 12, 62, 133, 81, 182, 145, 207, 201, 187, 160, 108, 30, 248, 176, 2, 77, 250, 89, 222, 46, 130, 159, 231, 54, 155, 144, 132, 16, 171, 200, 181, 100, 180, 114, 177, 39, 156, 249, 127, 145, 142, 70, 227, 209, 18, 169, 147, 241},
+{73, 240, 211, 66, 38, 109, 219, 99, 240, 81, 202, 254, 71, 11, 40, 160, 219, 217, 102, 203, 233, 187, 184, 237, 91, 76, 246, 184, 69, 33, 42, 137, 92, 32, 0, 50, 101, 59, 187, 180, 24, 182, 63, 32, 111, 207, 160, 86, 166, 49, 200, 237, 38, 74, 190, 209, 248, 199, 134, 230, 126, 86, 119, 213, 103, 60, 179, 68, 161, 255, 188, 135, 152, 214, 118, 65, 74, 222, 44, 166, 185, 139, 28, 43, 68, 4, 101, 229, 213, 169, 141, 103, 132, 232, 81, 90, 197, 43, 49, 251, 87, 4, 127, 77, 49, 147, 4, 230, 30, 173, 167, 113, 106, 63, 255, 111, 250, 202, 174, 98, 50, 35, 117, 229, 164, 196, 44, 48},
+{80, 77, 58, 111, 68, 89, 84, 43, 159, 250, 151, 22, 186, 246, 215, 181, 84, 157, 153, 225, 232, 106, 232, 248, 187, 2, 161, 209, 78, 155, 195, 167, 67, 151, 181, 243, 19, 177, 162, 63, 207, 143, 245, 39, 216, 145, 210, 103, 148, 121, 196, 182, 177, 128, 248, 226, 56, 137, 223, 5, 214, 249, 30, 193, 225, 36, 92, 125, 18, 1, 207, 64, 8, 20, 9, 220, 40, 45, 135, 163, 246, 65, 152, 47, 50, 51, 43, 161, 62, 183, 13, 42, 32, 240, 240, 25, 138, 211, 4, 180, 219, 173, 65, 136, 255, 220, 216, 93, 36, 191, 96, 245, 28, 159, 34, 244, 10, 150, 149, 250, 255, 41, 56, 20, 102, 194, 140, 119},
+{150, 67, 216, 26, 243, 172, 15, 172, 28, 215, 189, 40, 187, 160, 53, 155, 188, 250, 173, 172, 60, 240, 249, 222, 191, 246, 112, 220, 85, 121, 94, 18, 96, 190, 137, 58, 166, 164, 102, 72, 192, 44, 45, 204, 10, 25, 173, 112, 117, 184, 237, 1, 16, 106, 4, 112, 159, 173, 221, 28, 173, 232, 90, 95, 219, 62, 240, 170, 160, 12, 42, 47, 249, 237, 136, 114, 231, 196, 200, 249, 246, 134, 127, 88, 121, 209, 52, 234, 168, 185, 218, 160, 152, 175, 122, 54, 3, 111, 29, 201, 150, 246, 237, 127, 79, 42, 147, 229, 133, 206, 70, 100, 100, 71, 199, 57, 172, 107, 115, 166, 84, 242, 239, 244, 39, 209, 184, 246},
+{83, 13, 12, 241, 52, 59, 255, 221, 225, 159, 48, 84, 156, 237, 126, 213, 230, 143, 86, 129, 27, 220, 13, 17, 20, 246, 39, 167, 103, 18, 113, 94, 199, 31, 249, 80, 161, 8, 61, 166, 220, 195, 118, 242, 172, 235, 113, 199, 150, 56, 236, 24, 174, 20, 227, 13, 61, 91, 192, 67, 180, 114, 205, 188, 63, 107, 37, 129, 103, 240, 10, 76, 55, 30, 95, 6, 144, 126, 15, 223, 36, 127, 97, 210, 110, 104, 29, 18, 179, 225, 77, 174, 67, 104, 74, 103, 175, 86, 240, 13, 109, 1, 147, 10, 192, 45, 58, 27, 30, 102, 145, 152, 133, 70, 29, 204, 215, 165, 118, 34, 156, 144, 68, 246, 68, 63, 120, 166},
+{149, 212, 229, 86, 75, 223, 176, 230, 111, 123, 210, 96, 193, 244, 255, 90, 229, 96, 244, 199, 125, 173, 68, 243, 114, 156, 147, 183, 68, 133, 246, 148, 176, 23, 82, 236, 50, 115, 18, 220, 5, 89, 6, 220, 12, 42, 152, 90, 165, 44, 167, 157, 164, 56, 162, 136, 157, 164, 163, 243, 177, 157, 168, 202, 185, 60, 4, 20, 75, 4, 28, 111, 111, 89, 44, 12, 154, 49, 172, 172, 243, 153, 29, 4, 88, 137, 88, 251, 31, 100, 205, 91, 158, 7, 56, 173, 250, 117, 153, 89, 28, 80, 223, 123, 15, 30, 56, 33, 115, 210, 246, 211, 118, 200, 146, 55, 210, 133, 34, 128, 114, 68, 34, 27, 29, 156, 29, 152},
+{2, 186, 243, 193, 58, 250, 209, 204, 98, 108, 213, 21, 154, 219, 56, 212, 19, 88, 202, 78, 240, 37, 50, 235, 129, 112, 190, 250, 62, 123, 124, 124, 60, 79, 109, 211, 122, 217, 159, 118, 18, 201, 41, 152, 155, 174, 91, 214, 32, 10, 51, 57, 56, 40, 143, 100, 8, 78, 239, 89, 4, 99, 9, 172, 45, 213, 202, 46, 250, 200, 151, 86, 77, 79, 174, 122, 56, 153, 170, 2, 151, 98, 18, 40, 244, 186, 164, 185, 231, 221, 162, 75, 228, 194, 130, 175, 42, 186, 53, 125, 219, 28, 26, 113, 91, 183, 164, 119, 94, 90, 56, 157, 49, 54, 95, 7, 180, 8, 18, 84, 50, 163, 216, 172, 80, 231, 248, 222},
+{172, 123, 169, 199, 237, 138, 12, 12, 37, 249, 140, 63, 243, 171, 27, 169, 242, 39, 222, 213, 20, 222, 123, 233, 218, 240, 57, 158, 200, 214, 160, 159, 168, 135, 198, 221, 150, 201, 186, 82, 69, 213, 113, 48, 113, 116, 199, 194, 227, 0, 177, 21, 207, 14, 158, 97, 80, 48, 143, 200, 141, 66, 43, 217, 140, 73, 4, 247, 222, 235, 91, 135, 233, 111, 23, 191, 126, 192, 44, 74, 182, 10, 13, 30, 113, 233, 10, 33, 90, 223, 155, 31, 206, 107, 54, 45, 230, 116, 175, 103, 56, 79, 74, 219, 39, 227, 192, 179, 169, 161, 144, 182, 132, 154, 59, 129, 14, 175, 231, 150, 188, 86, 147, 174, 188, 189, 27, 203},
+{31, 155, 134, 113, 230, 55, 245, 136, 92, 32, 110, 53, 89, 22, 80, 164, 249, 106, 48, 154, 32, 71, 97, 188, 138, 30, 210, 67, 248, 154, 95, 200, 81, 160, 211, 189, 23, 185, 22, 177, 78, 178, 128, 252, 77, 73, 199, 223, 38, 246, 102, 127, 33, 63, 108, 113, 214, 182, 112, 143, 69, 173, 40, 160, 171, 50, 92, 12, 206, 246, 12, 165, 95, 58, 134, 241, 85, 170, 153, 173, 86, 129, 50, 80, 204, 174, 82, 195, 145, 157, 208, 87, 3, 42, 214, 194, 210, 173, 28, 48, 27, 150, 128, 253, 113, 110, 149, 91, 173, 121, 95, 2, 29, 169, 171, 224, 118, 136, 60, 73, 245, 70, 138, 9, 96, 93, 223, 49},
+{150, 146, 122, 141, 152, 201, 117, 232, 147, 74, 49, 65, 79, 196, 233, 101, 174, 61, 157, 195, 155, 246, 51, 87, 131, 33, 5, 187, 51, 223, 148, 24, 44, 41, 143, 26, 225, 242, 141, 228, 34, 70, 88, 35, 154, 129, 111, 65, 25, 195, 142, 10, 60, 43, 43, 53, 135, 255, 59, 37, 48, 110, 110, 2, 42, 12, 51, 59, 247, 0, 137, 205, 188, 1, 147, 164, 76, 140, 160, 16, 57, 54, 201, 42, 160, 150, 181, 176, 203, 219, 246, 124, 84, 78, 82, 68, 94, 122, 48, 91, 87, 70, 7, 168, 248, 57, 148, 73, 42, 124, 94, 237, 85, 18, 49, 41, 55, 104, 227, 77, 7, 166, 197, 199, 131, 177, 60, 148},
+{133, 203, 252, 151, 122, 222, 222, 195, 1, 139, 130, 4, 142, 143, 90, 104, 91, 7, 158, 102, 100, 161, 106, 194, 13, 211, 65, 166, 42, 162, 161, 8, 91, 52, 234, 247, 156, 212, 237, 21, 233, 61, 69, 144, 35, 24, 234, 73, 144, 139, 165, 11, 20, 126, 92, 116, 41, 166, 223, 204, 83, 203, 61, 219, 159, 141, 214, 96, 4, 62, 2, 203, 25, 5, 220, 117, 4, 208, 34, 143, 29, 209, 238, 59, 79, 111, 248, 34, 32, 53, 179, 30, 14, 245, 13, 46, 85, 41, 178, 155, 209, 187, 195, 34, 51, 254, 81, 43, 145, 99, 67, 80, 225, 40, 238, 46, 75, 253, 176, 40, 203, 28, 28, 22, 36, 152, 116, 168},
+{12, 180, 105, 39, 11, 177, 246, 178, 127, 225, 13, 199, 0, 41, 36, 237, 254, 45, 37, 77, 78, 215, 187, 242, 59, 139, 1, 185, 108, 19, 35, 212, 190, 65, 8, 203, 53, 250, 157, 105, 134, 30, 227, 50, 178, 226, 149, 199, 32, 213, 60, 62, 235, 246, 200, 153, 163, 191, 24, 171, 226, 244, 8, 183, 49, 56, 135, 39, 97, 45, 109, 223, 57, 232, 193, 85, 45, 228, 215, 0, 254, 154, 32, 133, 130, 112, 181, 200, 199, 186, 98, 55, 247, 225, 192, 151, 188, 88, 164, 110, 104, 199, 107, 173, 192, 244, 121, 3, 61, 15, 149, 34, 74, 164, 239, 186, 48, 210, 65, 176, 104, 185, 201, 199, 34, 195, 53, 154},
+{55, 254, 210, 182, 155, 85, 145, 170, 244, 72, 130, 56, 107, 148, 135, 36, 171, 150, 40, 180, 132, 20, 59, 98, 64, 29, 188, 147, 220, 1, 108, 221, 217, 165, 88, 15, 7, 159, 22, 235, 27, 142, 124, 33, 135, 216, 80, 243, 122, 81, 53, 223, 121, 237, 32, 209, 214, 180, 233, 148, 126, 53, 17, 136, 152, 83, 246, 208, 242, 185, 136, 65, 106, 127, 165, 177, 48, 174, 142, 124, 41, 130, 222, 45, 234, 140, 50, 111, 146, 139, 28, 170, 148, 102, 255, 200, 91, 2, 226, 188, 7, 231, 238, 3, 220, 229, 75, 96, 254, 161, 108, 51, 170, 246, 90, 144, 68, 41, 231, 190, 4, 226, 10, 148, 93, 195, 150, 255},
+{64, 126, 151, 67, 75, 169, 186, 35, 29, 152, 140, 53, 190, 21, 33, 195, 187, 219, 78, 163, 138, 41, 142, 171, 158, 9, 47, 232, 224, 116, 69, 102, 212, 73, 101, 81, 81, 77, 53, 103, 69, 201, 46, 236, 81, 131, 58, 197, 83, 7, 253, 26, 103, 57, 122, 44, 104, 59, 97, 134, 201, 182, 48, 12, 45, 72, 142, 98, 4, 108, 185, 254, 137, 50, 154, 105, 245, 192, 110, 212, 187, 20, 8, 82, 124, 148, 243, 108, 120, 145, 50, 142, 191, 4, 36, 115, 15, 27, 125, 98, 174, 144, 146, 41, 129, 11, 48, 23, 71, 47, 34, 211, 62, 40, 125, 75, 225, 217, 96, 170, 172, 211, 70, 49, 92, 107, 121, 85},
+{136, 143, 127, 73, 252, 255, 41, 67, 240, 148, 120, 9, 66, 59, 44, 227, 111, 155, 249, 148, 28, 44, 18, 191, 123, 219, 199, 143, 202, 182, 21, 210, 74, 67, 40, 99, 254, 200, 120, 176, 158, 32, 115, 215, 165, 10, 52, 85, 15, 85, 212, 130, 38, 110, 1, 105, 242, 249, 2, 132, 224, 189, 101, 117, 57, 155, 156, 254, 56, 224, 28, 137, 100, 44, 230, 144, 19, 152, 236, 240, 30, 170, 45, 213, 211, 139, 117, 245, 126, 118, 152, 159, 130, 236, 116, 80, 157, 164, 5, 46, 13, 64, 11, 5, 172, 82, 243, 2, 210, 138, 87, 250, 215, 218, 207, 166, 126, 222, 111, 82, 240, 203, 252, 184, 231, 45, 77, 51},
+{24, 55, 200, 158, 121, 238, 33, 253, 136, 104, 197, 80, 50, 238, 254, 183, 254, 247, 224, 232, 93, 179, 241, 218, 199, 221, 214, 219, 95, 6, 66, 128, 170, 30, 31, 49, 119, 180, 168, 67, 202, 90, 49, 196, 135, 23, 194, 87, 234, 190, 225, 254, 28, 216, 232, 125, 112, 169, 166, 115, 22, 31, 128, 83, 160, 4, 86, 177, 238, 151, 247, 123, 62, 104, 38, 82, 134, 174, 231, 148, 24, 114, 136, 61, 156, 133, 90, 196, 3, 31, 40, 220, 13, 76, 64, 182, 78, 91, 133, 231, 155, 162, 94, 105, 232, 19, 145, 233, 214, 228, 48, 32, 56, 176, 28, 218, 175, 56, 245, 0, 213, 15, 54, 6, 202, 119, 160, 160},
+{23, 208, 227, 170, 116, 43, 62, 232, 127, 24, 130, 164, 107, 64, 72, 222, 42, 167, 13, 63, 85, 75, 45, 44, 238, 225, 104, 138, 9, 208, 138, 177, 203, 196, 51, 78, 94, 215, 149, 174, 180, 72, 128, 8, 43, 121, 153, 22, 63, 147, 180, 186, 145, 119, 47, 72, 0, 159, 100, 29, 233, 128, 79, 120, 229, 161, 211, 157, 37, 219, 38, 214, 36, 21, 194, 27, 129, 141, 31, 39, 145, 177, 125, 223, 249, 24, 5, 52, 137, 221, 26, 198, 16, 239, 67, 144, 155, 135, 166, 206, 184, 196, 43, 91, 150, 142, 186, 249, 209, 213, 213, 227, 53, 146, 174, 24, 215, 133, 55, 61, 111, 239, 219, 4, 10, 44, 37, 136},
+{203, 91, 43, 35, 34, 100, 70, 160, 84, 237, 3, 19, 32, 22, 4, 155, 231, 16, 39, 63, 200, 133, 117, 134, 196, 23, 187, 94, 210, 176, 109, 134, 147, 185, 170, 177, 95, 103, 108, 155, 151, 74, 193, 181, 17, 106, 140, 45, 99, 10, 176, 208, 162, 87, 222, 39, 118, 62, 125, 168, 33, 210, 10, 36, 39, 122, 70, 46, 125, 142, 87, 213, 106, 190, 78, 134, 153, 144, 224, 106, 144, 67, 137, 170, 144, 251, 32, 240, 16, 157, 154, 55, 62, 146, 24, 81, 224, 198, 51, 25, 88, 254, 74, 131, 190, 159, 195, 81, 145, 183, 192, 107, 53, 243, 240, 254, 221, 193, 92, 204, 8, 37, 241, 162, 225, 147, 236, 94},
+{93, 134, 146, 62, 231, 201, 222, 22, 58, 88, 207, 209, 205, 30, 29, 45, 154, 152, 168, 37, 212, 235, 45, 81, 161, 54, 59, 87, 177, 115, 11, 175, 100, 64, 41, 210, 188, 113, 121, 8, 214, 88, 141, 240, 127, 90, 60, 113, 124, 203, 11, 253, 104, 139, 197, 127, 7, 234, 64, 16, 73, 117, 158, 153, 143, 121, 14, 182, 175, 49, 184, 137, 126, 84, 3, 172, 146, 65, 78, 166, 252, 52, 152, 72, 125, 155, 213, 68, 115, 191, 105, 230, 31, 2, 32, 164, 51, 200, 32, 99, 106, 219, 123, 189, 143, 215, 88, 188, 165, 182, 64, 204, 239, 216, 86, 84, 170, 55, 214, 56, 142, 87, 176, 97, 110, 175, 243, 71},
+{158, 51, 225, 8, 51, 156, 227, 222, 58, 126, 49, 46, 155, 253, 104, 154, 13, 96, 145, 248, 147, 218, 198, 8, 134, 128, 107, 71, 219, 114, 133, 40, 123, 176, 69, 106, 233, 23, 192, 15, 145, 164, 20, 3, 202, 108, 88, 50, 251, 51, 120, 110, 40, 93, 81, 142, 238, 130, 84, 135, 178, 251, 115, 79, 84, 233, 123, 195, 116, 86, 132, 10, 109, 135, 98, 106, 145, 53, 116, 62, 191, 178, 107, 144, 7, 141, 23, 241, 21, 253, 103, 209, 252, 20, 254, 14, 98, 41, 226, 162, 116, 130, 210, 119, 60, 225, 194, 51, 86, 238, 0, 64, 144, 163, 50, 211, 19, 62, 245, 116, 92, 32, 92, 42, 159, 195, 207, 147},
+{195, 48, 174, 152, 112, 27, 16, 21, 104, 149, 167, 202, 81, 113, 0, 247, 69, 195, 15, 93, 208, 52, 83, 162, 197, 22, 0, 195, 4, 166, 114, 116, 165, 93, 142, 25, 136, 234, 205, 160, 34, 155, 50, 150, 67, 149, 35, 120, 5, 231, 145, 230, 34, 214, 103, 190, 77, 172, 24, 0, 135, 132, 96, 137, 198, 163, 24, 251, 214, 68, 53, 82, 254, 198, 129, 153, 125, 124, 18, 135, 148, 205, 154, 120, 254, 112, 3, 224, 242, 117, 190, 193, 28, 116, 11, 77, 79, 247, 29, 133, 80, 135, 123, 66, 154, 133, 159, 211, 98, 28, 138, 65, 118, 52, 252, 37, 176, 36, 126, 114, 170, 148, 110, 32, 239, 235, 132, 199},
+{99, 144, 194, 53, 201, 30, 129, 89, 38, 150, 45, 237, 215, 89, 83, 2, 250, 33, 206, 72, 201, 10, 21, 232, 230, 5, 78, 33, 52, 75, 178, 228, 148, 120, 54, 165, 136, 155, 67, 164, 37, 242, 135, 6, 58, 22, 139, 248, 140, 47, 66, 228, 191, 16, 78, 116, 77, 132, 180, 115, 1, 168, 249, 250, 53, 32, 209, 76, 172, 244, 88, 82, 227, 207, 191, 196, 37, 33, 228, 113, 151, 84, 101, 60, 35, 34, 163, 187, 106, 231, 251, 102, 48, 52, 123, 174, 235, 160, 148, 126, 243, 103, 66, 3, 97, 75, 167, 49, 228, 238, 0, 143, 204, 46, 230, 104, 84, 31, 94, 97, 111, 126, 41, 232, 136, 229, 181, 239},
+{114, 75, 232, 228, 245, 220, 170, 17, 13, 245, 54, 198, 138, 108, 33, 107, 60, 234, 95, 187, 195, 5, 91, 163, 189, 167, 250, 121, 16, 246, 238, 212, 158, 200, 82, 171, 46, 57, 147, 244, 136, 213, 243, 63, 57, 170, 229, 172, 233, 179, 236, 214, 226, 246, 2, 163, 21, 45, 216, 175, 116, 67, 12, 178, 188, 92, 230, 252, 92, 28, 171, 159, 98, 233, 233, 159, 23, 109, 230, 4, 104, 144, 105, 96, 132, 108, 157, 181, 121, 229, 160, 109, 208, 64, 224, 148, 132, 157, 200, 68, 21, 227, 30, 94, 218, 202, 90, 122, 46, 32, 200, 238, 137, 91, 130, 255, 166, 178, 1, 193, 157, 196, 53, 68, 176, 82, 179, 185},
+{75, 241, 181, 97, 176, 156, 21, 16, 107, 9, 228, 83, 174, 70, 68, 195, 138, 55, 88, 52, 108, 95, 64, 171, 157, 92, 25, 115, 63, 55, 185, 11, 61, 185, 78, 12, 128, 243, 54, 127, 90, 22, 4, 119, 38, 102, 59, 22, 240, 10, 79, 247, 235, 252, 49, 45, 135, 84, 207, 190, 198, 88, 64, 36, 239, 213, 56, 6, 184, 40, 201, 147, 109, 132, 187, 245, 9, 181, 185, 231, 136, 221, 64, 57, 72, 184, 39, 59, 124, 14, 1, 94, 237, 178, 56, 177, 86, 116, 155, 221, 184, 71, 205, 221, 224, 250, 93, 94, 60, 88, 174, 15, 209, 94, 76, 184, 200, 219, 119, 69, 108, 29, 23, 41, 27, 182, 91, 211},
+{54, 29, 70, 188, 133, 150, 135, 158, 165, 199, 82, 243, 120, 15, 233, 97, 38, 238, 44, 209, 217, 83, 246, 149, 157, 81, 150, 148, 169, 78, 42, 149, 216, 158, 215, 186, 135, 148, 79, 120, 20, 125, 227, 133, 104, 111, 217, 101, 125, 57, 87, 106, 195, 70, 67, 244, 116, 215, 90, 3, 92, 5, 220, 251, 144, 166, 28, 176, 239, 18, 115, 43, 25, 245, 97, 21, 38, 213, 57, 161, 200, 102, 137, 32, 255, 122, 235, 251, 97, 77, 66, 91, 197, 214, 220, 132, 181, 72, 132, 94, 143, 57, 61, 185, 182, 151, 226, 175, 252, 36, 193, 218, 181, 100, 121, 243, 145, 85, 236, 241, 220, 173, 173, 83, 101, 127, 238, 189},
+{82, 160, 170, 176, 184, 6, 50, 55, 54, 110, 65, 132, 22, 213, 12, 139, 87, 172, 239, 3, 7, 194, 40, 78, 96, 115, 204, 159, 163, 150, 93, 170, 61, 92, 184, 178, 5, 63, 205, 181, 66, 93, 125, 160, 177, 73, 223, 144, 183, 219, 95, 83, 145, 79, 237, 245, 23, 168, 192, 113, 182, 12, 75, 56, 60, 117, 237, 228, 138, 72, 205, 165, 124, 35, 94, 94, 190, 218, 97, 98, 254, 236, 64, 2, 102, 87, 30, 73, 194, 68, 80, 157, 8, 12, 199, 181, 10, 102, 187, 135, 215, 104, 106, 56, 172, 120, 83, 103, 18, 42, 211, 87, 81, 2, 204, 164, 126, 129, 23, 145, 238, 254, 117, 44, 91, 132, 41, 123},
+{162, 152, 104, 210, 163, 221, 138, 16, 131, 99, 62, 47, 105, 161, 56, 94, 45, 68, 190, 39, 44, 112, 170, 4, 89, 26, 201, 127, 93, 122, 7, 225, 134, 223, 151, 138, 107, 63, 138, 175, 24, 17, 249, 178, 218, 85, 241, 20, 24, 33, 162, 93, 47, 180, 86, 139, 126, 154, 201, 142, 177, 227, 0, 44, 98, 110, 135, 118, 96, 8, 154, 215, 238, 51, 146, 105, 144, 29, 138, 27, 30, 29, 175, 96, 215, 183, 59, 48, 137, 141, 46, 29, 192, 138, 237, 7, 226, 157, 204, 73, 156, 63, 133, 96, 112, 15, 171, 84, 176, 34, 9, 125, 188, 43, 166, 19, 73, 183, 197, 252, 3, 100, 183, 72, 213, 163, 158, 43},
+{58, 41, 252, 48, 57, 210, 14, 240, 214, 185, 141, 0, 37, 217, 22, 60, 168, 38, 24, 215, 161, 4, 54, 124, 140, 193, 96, 252, 28, 114, 23, 131, 149, 212, 191, 179, 98, 224, 227, 34, 160, 205, 113, 128, 93, 55, 249, 18, 241, 235, 246, 6, 43, 115, 225, 160, 148, 78, 174, 142, 115, 86, 248, 176, 47, 65, 125, 18, 28, 185, 14, 199, 190, 131, 24, 20, 83, 96, 192, 108, 5, 45, 41, 34, 1, 122, 87, 74, 70, 147, 29, 17, 127, 10, 104, 122, 220, 79, 33, 134, 113, 235, 46, 208, 77, 236, 62, 84, 9, 143, 237, 171, 26, 78, 223, 9, 240, 164, 177, 138, 112, 204, 0, 215, 100, 200, 251, 145},
+{185, 125, 27, 61, 62, 147, 106, 183, 72, 15, 90, 166, 196, 187, 77, 67, 249, 251, 44, 130, 22, 78, 139, 231, 216, 102, 63, 58, 91, 196, 56, 64, 91, 84, 41, 212, 248, 80, 98, 36, 63, 112, 8, 99, 138, 82, 141, 214, 97, 76, 145, 177, 233, 66, 196, 14, 211, 192, 224, 84, 127, 146, 10, 230, 0, 45, 246, 85, 95, 45, 20, 205, 143, 247, 60, 24, 126, 244, 181, 177, 94, 72, 102, 164, 120, 89, 151, 163, 75, 81, 179, 249, 162, 115, 6, 96, 242, 69, 24, 78, 69, 143, 214, 250, 107, 250, 124, 41, 129, 110, 224, 213, 38, 11, 138, 128, 12, 232, 56, 71, 122, 219, 61, 69, 167, 81, 101, 33},
+{123, 60, 49, 153, 250, 111, 138, 178, 182, 148, 158, 0, 74, 23, 10, 236, 12, 100, 227, 123, 82, 51, 146, 232, 129, 225, 98, 20, 91, 253, 165, 9, 199, 134, 242, 48, 128, 210, 121, 225, 59, 160, 107, 161, 67, 8, 176, 236, 212, 79, 202, 106, 232, 111, 163, 55, 9, 69, 238, 7, 104, 241, 0, 50, 199, 159, 20, 16, 19, 54, 86, 173, 252, 182, 108, 7, 163, 223, 196, 108, 87, 139, 165, 212, 176, 211, 246, 115, 199, 244, 175, 88, 218, 166, 31, 105, 147, 101, 224, 134, 3, 51, 189, 29, 156, 53, 156, 1, 57, 184, 81, 18, 45, 65, 139, 193, 57, 46, 216, 60, 91, 118, 153, 24, 216, 19, 17, 165},
+{17, 202, 85, 189, 254, 97, 105, 193, 250, 231, 124, 60, 37, 97, 68, 157, 97, 247, 107, 132, 217, 128, 99, 147, 123, 41, 54, 125, 170, 153, 91, 28, 84, 0, 75, 125, 132, 105, 10, 91, 46, 247, 94, 121, 113, 227, 197, 79, 199, 235, 219, 87, 243, 183, 65, 102, 143, 253, 66, 137, 29, 156, 162, 39, 138, 136, 91, 232, 36, 233, 135, 124, 192, 221, 16, 85, 230, 88, 228, 138, 139, 23, 196, 180, 28, 159, 3, 122, 103, 171, 4, 183, 59, 182, 207, 167, 20, 149, 25, 187, 239, 193, 56, 79, 156, 68, 130, 168, 167, 26, 113, 225, 59, 70, 188, 110, 106, 233, 249, 5, 151, 18, 128, 15, 83, 172, 32, 184},
+{159, 37, 33, 35, 30, 243, 45, 110, 214, 122, 213, 62, 142, 242, 87, 53, 31, 251, 65, 69, 39, 156, 79, 102, 1, 6, 141, 233, 168, 68, 138, 198, 121, 73, 223, 207, 90, 119, 69, 255, 67, 5, 164, 15, 24, 48, 140, 76, 1, 73, 192, 164, 41, 206, 11, 211, 253, 139, 207, 87, 5, 11, 50, 107, 35, 26, 155, 132, 124, 134, 26, 230, 52, 214, 104, 106, 204, 85, 246, 104, 157, 14, 83, 157, 238, 40, 57, 115, 186, 229, 211, 253, 41, 110, 185, 73, 222, 121, 250, 59, 161, 213, 194, 96, 160, 153, 58, 53, 110, 170, 24, 179, 157, 22, 117, 160, 119, 7, 238, 144, 121, 35, 80, 192, 1, 240, 91, 145},
+{155, 101, 50, 2, 145, 58, 54, 171, 234, 220, 38, 28, 64, 148, 110, 144, 140, 172, 98, 159, 38, 148, 131, 203, 29, 188, 204, 91, 232, 73, 155, 165, 157, 133, 143, 243, 179, 78, 170, 251, 71, 253, 3, 206, 181, 205, 24, 33, 47, 253, 250, 105, 70, 247, 191, 60, 116, 81, 214, 25, 69, 205, 21, 192, 112, 25, 201, 241, 93, 244, 151, 20, 240, 90, 167, 5, 225, 102, 251, 124, 247, 166, 54, 216, 124, 99, 107, 11, 0, 34, 209, 1, 170, 46, 184, 224, 27, 95, 28, 212, 127, 74, 194, 123, 86, 103, 133, 225, 25, 200, 118, 22, 134, 106, 26, 228, 92, 197, 130, 12, 34, 92, 195, 199, 204, 216, 132, 241},
+{88, 5, 41, 97, 253, 136, 43, 187, 52, 246, 223, 75, 104, 68, 228, 211, 65, 203, 3, 125, 246, 195, 67, 188, 129, 89, 245, 86, 185, 222, 16, 249, 220, 178, 153, 153, 66, 226, 167, 127, 91, 128, 99, 189, 108, 78, 201, 63, 191, 30, 198, 5, 236, 22, 250, 236, 135, 247, 37, 24, 190, 47, 32, 120, 65, 85, 134, 217, 185, 189, 27, 10, 156, 29, 86, 26, 151, 88, 143, 76, 34, 78, 108, 165, 96, 107, 111, 7, 250, 77, 97, 223, 51, 123, 111, 45, 240, 15, 116, 214, 145, 207, 155, 220, 200, 60, 131, 64, 247, 203, 28, 228, 207, 160, 107, 188, 5, 38, 188, 59, 29, 236, 144, 225, 147, 116, 111, 72},
+{77, 230, 41, 191, 146, 215, 187, 13, 212, 10, 16, 149, 242, 75, 42, 30, 150, 137, 213, 185, 2, 49, 144, 99, 59, 85, 165, 46, 171, 65, 120, 55, 253, 192, 3, 40, 102, 239, 157, 126, 154, 54, 18, 53, 40, 131, 115, 221, 246, 155, 134, 251, 151, 11, 55, 153, 52, 14, 95, 13, 36, 65, 110, 161, 211, 4, 231, 3, 110, 161, 44, 109, 90, 86, 89, 76, 3, 58, 47, 194, 207, 203, 164, 218, 82, 235, 72, 250, 12, 188, 64, 60, 172, 25, 99, 17, 58, 195, 87, 233, 12, 14, 142, 192, 23, 116, 180, 219, 119, 238, 159, 203, 189, 76, 77, 182, 236, 28, 69, 26, 127, 56, 175, 100, 113, 37, 177, 116},
+{113, 48, 65, 45, 111, 5, 190, 50, 188, 135, 207, 144, 23, 8, 221, 88, 195, 40, 223, 38, 226, 41, 137, 87, 155, 139, 143, 181, 46, 45, 127, 23, 112, 166, 188, 148, 195, 158, 224, 34, 189, 47, 166, 82, 200, 122, 186, 172, 67, 229, 184, 248, 189, 187, 217, 97, 154, 13, 128, 161, 210, 181, 108, 35, 124, 4, 74, 50, 61, 190, 106, 251, 255, 2, 52, 15, 140, 250, 237, 33, 175, 241, 64, 116, 102, 33, 34, 244, 102, 147, 216, 25, 145, 1, 71, 91, 0, 185, 159, 53, 31, 65, 167, 168, 22, 85, 185, 182, 57, 206, 173, 33, 131, 17, 26, 147, 206, 152, 107, 55, 22, 116, 89, 88, 54, 252, 91, 60},
+{44, 12, 140, 66, 119, 205, 177, 0, 179, 98, 174, 22, 40, 114, 33, 254, 23, 232, 152, 223, 208, 250, 59, 201, 63, 175, 4, 140, 187, 151, 96, 191, 201, 208, 85, 77, 79, 206, 175, 243, 85, 28, 141, 110, 70, 134, 7, 201, 185, 41, 128, 66, 232, 164, 23, 161, 163, 24, 223, 119, 80, 164, 174, 24, 147, 208, 126, 2, 72, 86, 133, 248, 154, 88, 188, 44, 99, 149, 155, 135, 71, 151, 51, 97, 24, 55, 133, 25, 217, 102, 146, 115, 28, 167, 251, 189, 231, 156, 39, 184, 13, 101, 1, 125, 172, 70, 149, 206, 115, 53, 7, 165, 255, 144, 182, 207, 200, 78, 142, 128, 9, 191, 131, 14, 84, 56, 253, 189},
+{20, 120, 240, 239, 217, 65, 57, 87, 115, 99, 210, 170, 131, 108, 71, 196, 181, 173, 78, 141, 214, 240, 116, 148, 51, 196, 220, 193, 141, 8, 24, 91, 243, 71, 29, 171, 226, 205, 44, 123, 68, 185, 199, 94, 239, 38, 137, 140, 222, 109, 87, 22, 244, 43, 143, 212, 153, 181, 112, 220, 106, 116, 108, 176, 24, 17, 134, 177, 109, 177, 91, 70, 242, 133, 47, 88, 143, 139, 152, 44, 28, 79, 169, 17, 146, 194, 44, 174, 153, 122, 163, 31, 172, 218, 97, 192, 102, 150, 224, 244, 66, 79, 82, 233, 208, 250, 82, 25, 205, 29, 215, 11, 71, 56, 168, 161, 20, 65, 172, 31, 94, 181, 8, 223, 168, 58, 144, 117},
+{50, 51, 119, 145, 222, 116, 159, 8, 86, 141, 79, 210, 65, 20, 185, 65, 22, 156, 27, 244, 35, 53, 181, 102, 222, 224, 153, 226, 206, 44, 138, 67, 58, 162, 53, 62, 1, 116, 74, 104, 21, 118, 37, 44, 185, 86, 36, 231, 85, 187, 179, 220, 52, 99, 223, 197, 82, 67, 250, 63, 206, 140, 254, 162, 202, 4, 228, 97, 251, 239, 56, 176, 215, 151, 248, 60, 162, 193, 211, 106, 52, 18, 193, 125, 239, 123, 72, 86, 129, 87, 235, 69, 73, 14, 245, 185, 90, 10, 49, 222, 159, 118, 0, 86, 36, 123, 2, 152, 28, 168, 202, 216, 109, 6, 143, 212, 91, 59, 4, 85, 78, 233, 162, 125, 233, 14, 149, 70},
+{57, 248, 70, 18, 36, 158, 155, 192, 178, 215, 30, 55, 156, 45, 95, 106, 207, 236, 73, 177, 215, 23, 16, 124, 176, 238, 72, 157, 6, 74, 143, 5, 150, 140, 232, 95, 215, 59, 217, 142, 133, 39, 118, 179, 126, 226, 144, 116, 253, 36, 78, 36, 85, 105, 86, 129, 53, 90, 165, 223, 137, 132, 250, 133, 49, 47, 216, 103, 243, 174, 212, 22, 190, 112, 57, 209, 0, 193, 226, 199, 34, 205, 3, 229, 121, 129, 143, 146, 100, 8, 73, 185, 22, 15, 99, 254, 242, 150, 126, 112, 222, 24, 49, 88, 182, 7, 33, 85, 233, 17, 204, 53, 132, 167, 159, 161, 41, 148, 1, 7, 135, 220, 151, 43, 237, 56, 77, 239},
+{185, 150, 188, 66, 29, 177, 113, 213, 69, 160, 148, 141, 114, 37, 212, 27, 98, 62, 9, 140, 45, 93, 250, 255, 226, 231, 56, 136, 189, 157, 3, 20, 128, 92, 250, 77, 55, 220, 81, 76, 69, 164, 106, 206, 157, 91, 3, 189, 213, 45, 68, 123, 195, 72, 67, 233, 91, 106, 89, 26, 92, 222, 253, 146, 28, 199, 125, 3, 126, 93, 2, 54, 174, 141, 18, 199, 129, 99, 95, 193, 165, 54, 161, 118, 0, 186, 11, 53, 253, 146, 246, 179, 53, 149, 183, 12, 62, 247, 220, 119, 163, 102, 141, 163, 225, 213, 158, 168, 103, 16, 101, 200, 86, 231, 179, 226, 159, 232, 229, 185, 210, 97, 83, 91, 45, 220, 226, 159},
+{30, 129, 41, 102, 149, 21, 164, 151, 148, 88, 175, 74, 240, 25, 167, 163, 126, 203, 72, 140, 108, 235, 200, 128, 161, 219, 133, 250, 150, 8, 15, 226, 38, 192, 12, 212, 65, 88, 159, 185, 93, 87, 59, 189, 132, 109, 92, 11, 189, 58, 255, 130, 118, 39, 134, 204, 207, 238, 8, 50, 65, 154, 240, 248, 41, 38, 97, 166, 182, 219, 28, 112, 73, 212, 183, 89, 112, 101, 153, 87, 103, 23, 12, 28, 252, 185, 68, 133, 36, 23, 128, 128, 90, 102, 85, 192, 19, 85, 183, 32, 53, 139, 232, 230, 201, 83, 160, 236, 216, 92, 27, 187, 121, 136, 2, 20, 129, 222, 121, 152, 66, 194, 78, 16, 113, 39, 241, 127},
+{131, 228, 177, 159, 64, 174, 85, 74, 126, 102, 208, 11, 124, 135, 171, 180, 5, 48, 169, 225, 145, 172, 237, 150, 194, 199, 152, 53, 25, 212, 175, 52, 8, 251, 225, 58, 189, 224, 5, 61, 89, 102, 183, 237, 254, 103, 58, 104, 28, 139, 206, 97, 149, 125, 202, 92, 238, 6, 8, 109, 48, 216, 42, 189, 238, 158, 121, 74, 204, 201, 185, 170, 143, 136, 51, 24, 160, 5, 98, 193, 254, 77, 50, 71, 12, 82, 183, 197, 217, 120, 201, 219, 87, 93, 82, 90, 54, 197, 205, 181, 142, 37, 12, 130, 124, 72, 192, 59, 163, 126, 28, 124, 153, 48, 35, 147, 142, 198, 19, 54, 46, 122, 119, 110, 31, 26, 92, 28},
+{68, 58, 129, 8, 64, 183, 176, 207, 219, 202, 150, 70, 120, 66, 175, 215, 77, 12, 138, 191, 150, 177, 44, 142, 167, 15, 228, 29, 21, 152, 106, 246, 159, 205, 107, 94, 234, 41, 127, 217, 84, 199, 83, 245, 173, 3, 210, 153, 155, 226, 12, 186, 137, 144, 236, 118, 143, 76, 25, 51, 208, 9, 97, 191, 55, 128, 178, 156, 13, 46, 102, 171, 31, 6, 113, 174, 34, 91, 214, 21, 243, 70, 201, 61, 4, 186, 151, 223, 2, 22, 24, 52, 133, 19, 89, 123, 33, 128, 108, 24, 89, 135, 226, 236, 197, 4, 61, 98, 47, 55, 240, 180, 60, 59, 188, 2, 220, 45, 140, 107, 45, 107, 43, 14, 50, 18, 65, 244},
+{173, 149, 185, 40, 233, 47, 92, 167, 164, 190, 250, 70, 163, 40, 203, 195, 118, 73, 117, 145, 227, 211, 228, 24, 38, 85, 148, 42, 73, 28, 109, 63, 87, 46, 144, 203, 239, 249, 70, 83, 157, 63, 58, 240, 172, 58, 185, 28, 158, 68, 238, 199, 161, 130, 130, 139, 45, 149, 138, 120, 209, 234, 55, 27, 44, 50, 46, 246, 97, 217, 203, 226, 181, 18, 4, 192, 163, 220, 60, 84, 239, 93, 122, 153, 124, 247, 12, 106, 192, 30, 11, 2, 76, 73, 113, 52, 47, 40, 107, 84, 34, 168, 44, 131, 120, 114, 31, 48, 10, 124, 189, 61, 252, 17, 189, 162, 190, 4, 150, 24, 185, 89, 252, 135, 92, 94, 22, 175},
+{36, 156, 222, 157, 192, 208, 74, 119, 177, 181, 138, 6, 22, 197, 101, 101, 128, 15, 206, 38, 240, 254, 201, 20, 54, 162, 109, 49, 128, 247, 33, 83, 99, 161, 93, 248, 221, 30, 122, 57, 46, 48, 151, 179, 115, 83, 86, 36, 227, 65, 91, 22, 89, 163, 185, 144, 179, 100, 59, 214, 243, 9, 105, 9, 243, 241, 139, 132, 131, 10, 127, 42, 132, 10, 4, 189, 14, 14, 35, 100, 9, 210, 9, 12, 225, 96, 36, 214, 135, 200, 29, 50, 200, 211, 213, 105, 245, 184, 136, 254, 162, 11, 134, 162, 139, 91, 165, 156, 2, 7, 69, 24, 66, 62, 195, 14, 194, 196, 166, 38, 63, 219, 31, 79, 95, 249, 172, 162},
+{104, 58, 147, 103, 0, 116, 126, 94, 49, 93, 226, 19, 179, 36, 216, 39, 28, 103, 79, 200, 253, 207, 180, 242, 147, 133, 133, 24, 115, 3, 158, 168, 32, 169, 71, 41, 68, 229, 228, 76, 143, 109, 216, 96, 238, 46, 56, 224, 177, 138, 66, 184, 216, 187, 215, 113, 172, 78, 18, 56, 65, 91, 132, 115, 220, 136, 135, 31, 106, 54, 30, 162, 250, 79, 244, 73, 151, 74, 124, 55, 179, 87, 18, 214, 165, 90, 225, 73, 40, 163, 189, 224, 128, 113, 148, 119, 212, 69, 213, 77, 117, 18, 127, 236, 151, 94, 26, 45, 240, 36, 130, 164, 56, 62, 250, 93, 112, 57, 42, 52, 106, 171, 230, 66, 116, 92, 181, 25},
+{189, 192, 228, 50, 219, 204, 17, 89, 180, 58, 94, 84, 70, 19, 38, 160, 52, 68, 62, 14, 50, 117, 2, 178, 152, 148, 203, 58, 70, 5, 69, 105, 221, 245, 111, 200, 0, 95, 55, 204, 196, 12, 89, 30, 224, 5, 251, 216, 36, 187, 229, 244, 14, 222, 87, 35, 156, 112, 36, 107, 192, 249, 25, 174, 235, 18, 89, 66, 121, 32, 159, 125, 45, 183, 166, 84, 134, 208, 181, 86, 126, 191, 253, 255, 234, 184, 204, 135, 248, 225, 104, 6, 236, 150, 237, 33, 90, 205, 186, 208, 120, 10, 164, 128, 142, 5, 84, 163, 83, 217, 47, 82, 119, 85, 60, 125, 69, 250, 11, 227, 160, 68, 58, 80, 248, 56, 65, 47},
+{205, 137, 35, 46, 243, 63, 150, 241, 248, 135, 228, 94, 208, 75, 23, 219, 164, 100, 168, 147, 49, 80, 183, 29, 107, 174, 150, 199, 87, 100, 104, 122, 233, 177, 162, 249, 86, 71, 156, 126, 233, 30, 62, 54, 141, 16, 107, 75, 157, 98, 149, 237, 121, 222, 116, 49, 122, 111, 244, 146, 208, 17, 90, 81, 119, 254, 46, 210, 161, 32, 226, 163, 172, 211, 92, 23, 209, 136, 80, 188, 169, 61, 43, 162, 244, 141, 12, 34, 108, 31, 178, 76, 253, 182, 65, 127, 190, 14, 13, 203, 88, 173, 152, 190, 39, 201, 41, 88, 45, 194, 227, 52, 141, 212, 6, 99, 16, 166, 12, 114, 227, 137, 70, 186, 151, 102, 136, 224},
+{174, 84, 236, 229, 218, 209, 159, 122, 193, 63, 126, 191, 158, 36, 3, 34, 173, 236, 11, 237, 163, 124, 123, 89, 227, 99, 218, 181, 210, 197, 211, 14, 122, 144, 133, 185, 202, 144, 147, 119, 255, 23, 138, 180, 220, 64, 76, 99, 244, 169, 14, 173, 52, 70, 16, 139, 165, 244, 190, 16, 63, 167, 116, 13, 139, 14, 213, 3, 115, 94, 214, 197, 62, 26, 73, 137, 46, 158, 230, 236, 239, 36, 153, 82, 36, 232, 36, 71, 201, 230, 215, 183, 84, 214, 171, 25, 247, 71, 2, 52, 114, 87, 106, 61, 172, 195, 223, 221, 141, 84, 217, 149, 63, 93, 191, 33, 222, 113, 33, 5, 167, 14, 104, 76, 20, 235, 71, 140},
+{68, 133, 236, 218, 147, 29, 95, 157, 129, 189, 135, 143, 117, 218, 99, 97, 8, 212, 246, 220, 26, 117, 119, 172, 137, 128, 223, 39, 34, 17, 88, 72, 52, 196, 20, 249, 38, 240, 58, 180, 73, 10, 225, 199, 240, 114, 94, 33, 189, 126, 88, 211, 10, 38, 124, 64, 76, 59, 147, 225, 99, 107, 93, 214, 159, 84, 135, 152, 91, 214, 59, 199, 122, 9, 185, 246, 217, 19, 255, 178, 5, 215, 253, 3, 235, 64, 128, 210, 157, 46, 227, 173, 103, 162, 105, 215, 100, 58, 244, 43, 131, 158, 100, 135, 84, 45, 59, 163, 205, 134, 160, 79, 84, 190, 74, 91, 6, 213, 134, 134, 80, 37, 36, 141, 224, 108, 192, 100},
+{198, 229, 78, 176, 216, 65, 16, 241, 181, 178, 81, 153, 253, 77, 118, 157, 204, 228, 161, 244, 55, 53, 91, 40, 182, 112, 176, 175, 4, 180, 52, 20, 232, 243, 203, 101, 180, 200, 87, 120, 171, 156, 136, 161, 101, 20, 146, 236, 95, 46, 170, 131, 43, 150, 62, 132, 253, 132, 154, 217, 180, 189, 13, 190, 11, 111, 14, 95, 165, 75, 98, 22, 254, 224, 70, 178, 220, 90, 32, 201, 84, 244, 174, 200, 51, 117, 239, 140, 178, 193, 94, 3, 87, 170, 77, 96, 18, 80, 7, 253, 61, 1, 92, 201, 240, 165, 29, 101, 170, 1, 51, 16, 48, 56, 52, 105, 215, 72, 28, 197, 41, 194, 200, 0, 27, 16, 40, 161},
+{149, 214, 182, 17, 93, 66, 137, 160, 42, 43, 157, 87, 62, 36, 68, 88, 30, 207, 114, 222, 255, 17, 188, 37, 130, 42, 222, 205, 191, 107, 130, 198, 50, 175, 186, 179, 255, 113, 20, 19, 135, 35, 29, 170, 60, 156, 18, 182, 20, 52, 63, 3, 79, 239, 190, 208, 117, 147, 204, 79, 58, 221, 7, 29, 108, 191, 33, 83, 240, 156, 108, 119, 51, 71, 61, 68, 60, 173, 137, 13, 137, 120, 48, 111, 72, 45, 17, 73, 94, 208, 242, 53, 160, 102, 65, 233, 56, 235, 229, 129, 163, 44, 106, 247, 184, 56, 125, 88, 86, 229, 195, 181, 250, 62, 212, 54, 197, 87, 243, 227, 114, 123, 4, 201, 134, 132, 12, 3},
+{141, 206, 49, 32, 109, 5, 115, 82, 183, 97, 173, 115, 170, 157, 46, 187, 63, 46, 108, 174, 127, 243, 137, 30, 85, 132, 175, 192, 249, 93, 190, 15, 34, 60, 169, 89, 5, 87, 159, 38, 213, 40, 188, 160, 196, 160, 163, 20, 148, 124, 194, 53, 131, 50, 198, 117, 189, 67, 126, 195, 200, 108, 109, 161, 110, 118, 222, 174, 21, 175, 96, 120, 210, 8, 223, 177, 141, 28, 147, 159, 244, 145, 150, 207, 222, 56, 166, 192, 171, 119, 183, 170, 59, 56, 74, 44, 16, 213, 2, 99, 205, 208, 114, 204, 105, 31, 151, 223, 80, 18, 185, 69, 238, 126, 106, 119, 119, 27, 52, 180, 244, 108, 228, 54, 131, 108, 73, 43},
+{93, 77, 186, 79, 40, 2, 204, 83, 86, 85, 184, 92, 210, 151, 66, 22, 25, 229, 70, 113, 192, 30, 51, 101, 158, 17, 61, 55, 194, 185, 71, 182, 29, 232, 215, 250, 10, 58, 153, 146, 83, 162, 184, 76, 133, 45, 25, 8, 11, 187, 87, 74, 78, 164, 213, 251, 174, 38, 79, 116, 195, 210, 6, 80, 32, 44, 134, 5, 86, 32, 24, 35, 86, 163, 199, 144, 154, 32, 75, 3, 78, 114, 184, 11, 111, 129, 38, 237, 126, 106, 115, 46, 90, 1, 1, 183, 255, 71, 190, 193, 51, 35, 28, 167, 240, 151, 29, 209, 11, 195, 120, 184, 184, 141, 98, 39, 216, 237, 55, 50, 138, 92, 221, 66, 195, 15, 255, 112},
+{136, 39, 249, 20, 47, 156, 118, 29, 175, 134, 235, 211, 24, 129, 40, 32, 203, 11, 40, 23, 231, 69, 212, 253, 128, 204, 255, 21, 92, 51, 234, 221, 126, 125, 47, 94, 167, 85, 119, 197, 182, 69, 40, 183, 158, 83, 252, 129, 123, 191, 109, 241, 77, 39, 233, 14, 127, 110, 61, 161, 108, 31, 130, 187, 57, 95, 192, 236, 182, 11, 198, 183, 237, 130, 10, 30, 86, 95, 131, 161, 192, 214, 246, 141, 166, 73, 116, 215, 140, 50, 93, 77, 78, 39, 180, 8, 5, 208, 169, 98, 169, 201, 5, 51, 228, 181, 213, 11, 104, 147, 180, 58, 130, 110, 139, 13, 72, 49, 229, 28, 167, 125, 138, 252, 160, 102, 179, 185},
+{99, 6, 172, 144, 189, 44, 188, 247, 99, 167, 4, 128, 42, 106, 88, 199, 46, 70, 159, 159, 246, 30, 174, 196, 147, 210, 149, 129, 161, 54, 146, 182, 171, 13, 203, 78, 41, 53, 227, 26, 250, 204, 165, 201, 88, 59, 29, 211, 68, 62, 180, 151, 219, 216, 235, 153, 222, 102, 23, 59, 28, 11, 214, 97, 36, 219, 171, 177, 54, 43, 6, 185, 89, 154, 156, 232, 90, 115, 201, 155, 243, 152, 45, 134, 171, 88, 208, 17, 104, 158, 30, 253, 16, 116, 187, 212, 253, 8, 162, 107, 217, 123, 167, 203, 121, 15, 109, 77, 19, 4, 43, 161, 55, 33, 102, 123, 186, 42, 159, 31, 198, 115, 144, 119, 201, 18, 67, 4},
+{143, 130, 170, 45, 71, 248, 11, 134, 173, 192, 248, 51, 169, 222, 177, 207, 73, 70, 139, 219, 87, 227, 64, 13, 240, 56, 18, 139, 3, 236, 193, 201, 200, 78, 69, 94, 98, 15, 78, 73, 29, 55, 120, 114, 176, 11, 63, 220, 135, 177, 89, 186, 96, 154, 223, 14, 230, 136, 59, 168, 245, 67, 175, 104, 169, 19, 103, 0, 82, 253, 221, 137, 95, 206, 116, 186, 193, 79, 107, 232, 233, 61, 142, 167, 132, 67, 8, 150, 166, 169, 34, 142, 245, 49, 39, 139, 73, 20, 92, 158, 168, 167, 32, 41, 74, 42, 165, 37, 111, 98, 90, 13, 236, 236, 120, 89, 138, 160, 153, 24, 138, 131, 204, 121, 246, 169, 8, 52},
+{67, 1, 231, 180, 111, 170, 108, 166, 192, 52, 176, 15, 63, 124, 155, 198, 81, 61, 199, 49, 208, 35, 59, 16, 139, 205, 153, 23, 55, 22, 185, 207, 17, 200, 179, 106, 203, 107, 32, 0, 119, 212, 30, 250, 171, 60, 99, 137, 110, 1, 70, 88, 60, 121, 111, 22, 227, 253, 1, 86, 142, 240, 202, 222, 82, 135, 215, 239, 75, 214, 234, 151, 9, 118, 56, 164, 10, 124, 74, 147, 47, 67, 50, 125, 12, 219, 16, 149, 153, 24, 184, 163, 121, 111, 17, 8, 206, 225, 171, 104, 163, 237, 216, 167, 108, 166, 213, 34, 81, 84, 190, 177, 159, 61, 90, 63, 119, 185, 85, 103, 251, 27, 208, 195, 212, 213, 173, 9},
+{125, 231, 227, 89, 229, 210, 158, 237, 101, 43, 133, 125, 5, 244, 199, 146, 90, 239, 217, 56, 232, 45, 191, 24, 36, 139, 172, 55, 26, 113, 228, 196, 215, 189, 131, 6, 140, 0, 211, 135, 119, 145, 216, 36, 240, 125, 138, 102, 44, 24, 200, 109, 53, 142, 106, 172, 245, 30, 157, 99, 218, 62, 212, 198, 193, 82, 151, 10, 56, 19, 155, 148, 180, 86, 242, 103, 208, 90, 140, 137, 184, 140, 131, 48, 4, 66, 179, 104, 37, 192, 235, 95, 209, 101, 253, 147, 180, 220, 101, 147, 50, 96, 226, 217, 47, 239, 158, 204, 45, 102, 212, 97, 190, 64, 26, 2, 15, 252, 83, 27, 244, 251, 65, 60, 13, 63, 12, 249},
+{29, 245, 66, 197, 26, 102, 230, 18, 206, 71, 96, 247, 201, 81, 66, 167, 91, 74, 151, 33, 86, 69, 244, 112, 45, 91, 177, 145, 8, 0, 207, 17, 19, 131, 20, 147, 152, 60, 48, 24, 210, 206, 42, 103, 107, 40, 240, 176, 72, 162, 1, 19, 32, 199, 233, 207, 240, 162, 99, 147, 52, 120, 217, 203, 136, 42, 61, 135, 61, 43, 167, 94, 71, 157, 201, 250, 52, 231, 174, 202, 66, 213, 131, 180, 243, 107, 78, 137, 191, 85, 25, 53, 83, 240, 225, 247, 204, 115, 158, 93, 57, 64, 56, 85, 118, 200, 124, 173, 24, 205, 31, 93, 29, 180, 227, 78, 88, 61, 146, 168, 58, 102, 22, 210, 108, 6, 126, 60},
+{28, 210, 152, 135, 191, 243, 124, 220, 251, 100, 101, 115, 171, 39, 217, 228, 64, 149, 2, 253, 76, 255, 139, 206, 25, 174, 112, 57, 104, 191, 128, 76, 145, 67, 71, 116, 80, 87, 219, 60, 132, 38, 218, 242, 17, 225, 180, 184, 7, 20, 145, 214, 235, 160, 65, 26, 212, 8, 255, 133, 151, 0, 107, 74, 204, 28, 22, 161, 39, 175, 211, 122, 234, 135, 21, 177, 191, 130, 12, 105, 45, 188, 227, 148, 115, 164, 196, 238, 230, 30, 175, 24, 38, 113, 211, 233, 196, 246, 238, 173, 23, 221, 221, 8, 145, 213, 61, 162, 137, 84, 84, 48, 156, 174, 63, 224, 140, 111, 117, 166, 169, 8, 27, 62, 97, 209, 112, 60},
+{209, 36, 180, 54, 129, 27, 178, 234, 91, 121, 6, 102, 249, 116, 155, 147, 212, 206, 88, 93, 143, 167, 239, 34, 2, 198, 3, 36, 165, 55, 24, 163, 242, 82, 21, 39, 14, 163, 141, 198, 151, 73, 214, 133, 24, 92, 153, 27, 117, 137, 20, 168, 242, 17, 161, 50, 181, 141, 174, 50, 143, 236, 50, 232, 87, 100, 237, 170, 76, 1, 241, 78, 196, 73, 135, 147, 208, 151, 161, 208, 107, 242, 97, 221, 242, 34, 7, 67, 221, 52, 33, 72, 215, 96, 252, 153, 65, 196, 139, 253, 110, 84, 0, 6, 248, 107, 254, 253, 134, 185, 229, 83, 83, 180, 49, 10, 181, 162, 222, 222, 169, 209, 155, 178, 53, 209, 189, 9},
+{50, 221, 236, 188, 188, 209, 113, 39, 49, 33, 223, 65, 130, 162, 35, 60, 37, 253, 221, 69, 126, 97, 225, 194, 184, 91, 156, 207, 101, 64, 236, 233, 124, 168, 112, 166, 204, 160, 65, 31, 162, 56, 174, 103, 125, 49, 228, 205, 206, 44, 92, 19, 200, 40, 19, 35, 33, 127, 237, 40, 214, 108, 162, 247, 42, 94, 94, 191, 78, 230, 191, 19, 46, 94, 73, 194, 167, 199, 121, 224, 229, 103, 110, 244, 56, 112, 225, 46, 176, 63, 93, 123, 221, 152, 140, 243, 66, 108, 193, 16, 184, 206, 212, 159, 107, 74, 255, 53, 177, 174, 108, 98, 73, 142, 38, 145, 35, 236, 144, 198, 90, 159, 79, 21, 83, 204, 46, 66},
+{208, 163, 20, 71, 178, 168, 226, 35, 141, 240, 210, 87, 86, 57, 34, 242, 73, 107, 115, 137, 214, 161, 1, 155, 172, 196, 214, 28, 17, 117, 60, 247, 66, 119, 86, 109, 36, 59, 195, 17, 7, 103, 71, 14, 208, 58, 86, 69, 169, 124, 125, 139, 15, 5, 25, 118, 207, 59, 100, 220, 110, 193, 122, 100, 244, 164, 130, 26, 49, 99, 102, 53, 67, 189, 55, 159, 45, 66, 70, 153, 178, 217, 192, 125, 63, 157, 171, 4, 192, 154, 14, 112, 198, 98, 115, 247, 112, 186, 239, 98, 185, 41, 219, 19, 87, 116, 154, 24, 6, 207, 45, 77, 113, 216, 217, 61, 64, 34, 33, 52, 4, 126, 212, 169, 158, 13, 83, 22},
+{6, 178, 149, 60, 68, 93, 10, 43, 2, 16, 122, 164, 192, 11, 58, 86, 253, 131, 49, 8, 212, 200, 202, 74, 190, 138, 48, 146, 216, 188, 192, 155, 211, 156, 98, 50, 216, 63, 140, 7, 96, 199, 60, 184, 156, 40, 135, 244, 93, 150, 2, 236, 14, 198, 122, 57, 57, 50, 46, 88, 234, 171, 207, 248, 12, 45, 10, 51, 25, 185, 59, 5, 185, 181, 111, 253, 225, 251, 33, 227, 149, 148, 173, 13, 141, 153, 90, 181, 212, 156, 151, 124, 125, 250, 157, 241, 146, 105, 60, 36, 144, 153, 65, 244, 107, 16, 36, 17, 184, 151, 189, 9, 82, 116, 79, 138, 255, 185, 186, 247, 25, 31, 82, 247, 58, 218, 79, 175},
+{22, 180, 132, 217, 48, 155, 147, 142, 229, 72, 91, 191, 243, 15, 30, 78, 74, 137, 23, 102, 212, 82, 241, 18, 57, 103, 149, 5, 86, 19, 41, 44, 193, 33, 4, 18, 237, 107, 98, 50, 37, 42, 152, 11, 222, 86, 83, 99, 75, 36, 186, 34, 41, 220, 109, 132, 238, 62, 220, 10, 253, 146, 46, 36, 3, 255, 108, 18, 10, 29, 228, 48, 200, 8, 207, 227, 144, 91, 224, 93, 42, 157, 250, 36, 19, 31, 92, 251, 160, 113, 231, 249, 59, 1, 114, 38, 220, 141, 236, 255, 180, 118, 53, 230, 221, 136, 58, 196, 122, 52, 99, 106, 152, 3, 173, 73, 219, 29, 4, 136, 215, 104, 171, 88, 171, 14, 212, 39},
+{129, 52, 138, 101, 127, 28, 145, 107, 95, 193, 151, 111, 88, 155, 92, 159, 79, 131, 83, 36, 169, 17, 117, 30, 215, 180, 87, 236, 120, 114, 44, 155, 57, 150, 163, 17, 238, 4, 64, 245, 19, 210, 44, 30, 158, 135, 65, 239, 219, 125, 54, 220, 70, 113, 48, 96, 180, 45, 243, 4, 18, 210, 30, 27, 45, 113, 242, 101, 225, 101, 75, 145, 185, 179, 15, 82, 205, 165, 175, 36, 211, 125, 236, 141, 187, 50, 95, 54, 144, 205, 169, 98, 206, 237, 219, 218, 27, 45, 246, 187, 197, 245, 5, 145, 131, 136, 233, 87, 51, 143, 87, 217, 250, 84, 172, 107, 156, 214, 57, 205, 150, 28, 240, 146, 147, 70, 78, 192},
+{55, 159, 209, 126, 203, 145, 72, 215, 37, 234, 141, 168, 131, 255, 119, 247, 161, 100, 24, 77, 141, 116, 243, 92, 192, 191, 42, 60, 151, 83, 244, 53, 249, 23, 43, 73, 152, 162, 195, 112, 94, 8, 194, 41, 30, 64, 97, 130, 214, 81, 85, 74, 141, 77, 137, 254, 170, 180, 55, 241, 27, 177, 75, 186, 132, 88, 142, 9, 247, 11, 248, 190, 2, 215, 165, 8, 125, 0, 41, 178, 76, 229, 67, 56, 149, 148, 141, 65, 80, 223, 212, 128, 208, 170, 14, 136, 28, 4, 216, 141, 123, 103, 229, 125, 137, 201, 128, 51, 86, 185, 95, 173, 80, 240, 141, 70, 91, 96, 189, 138, 171, 128, 189, 147, 230, 67, 25, 64},
+{105, 208, 59, 95, 241, 218, 105, 218, 245, 249, 65, 82, 92, 13, 64, 35, 62, 143, 41, 22, 186, 51, 206, 138, 145, 246, 233, 99, 130, 213, 168, 251, 127, 217, 22, 224, 46, 44, 165, 243, 56, 235, 55, 49, 123, 239, 137, 114, 211, 18, 156, 179, 220, 26, 11, 255, 151, 159, 72, 34, 151, 103, 155, 78, 78, 222, 181, 249, 43, 199, 244, 35, 78, 136, 25, 66, 85, 162, 170, 105, 242, 61, 182, 184, 27, 90, 108, 115, 173, 46, 15, 240, 45, 205, 144, 198, 198, 144, 190, 70, 226, 147, 200, 220, 197, 148, 31, 237, 144, 237, 27, 44, 153, 52, 113, 82, 178, 145, 184, 49, 60, 162, 66, 80, 96, 161, 32, 143},
+{133, 105, 188, 116, 6, 247, 49, 69, 94, 27, 72, 65, 172, 154, 214, 205, 67, 234, 89, 101, 138, 32, 18, 84, 94, 22, 179, 105, 36, 255, 149, 230, 119, 77, 215, 111, 99, 133, 193, 208, 63, 168, 242, 42, 200, 94, 254, 51, 189, 224, 5, 200, 242, 170, 41, 164, 159, 55, 191, 155, 49, 181, 119, 146, 109, 139, 159, 148, 124, 146, 40, 255, 102, 175, 96, 44, 24, 100, 138, 100, 119, 153, 23, 86, 102, 216, 239, 84, 182, 186, 228, 214, 140, 102, 213, 138, 104, 95, 217, 172, 47, 5, 197, 49, 158, 204, 149, 129, 71, 42, 76, 180, 141, 37, 153, 228, 106, 177, 44, 36, 197, 191, 237, 191, 189, 110, 51, 72},
+{93, 179, 176, 189, 5, 233, 110, 36, 182, 227, 146, 110, 131, 3, 32, 125, 140, 109, 104, 42, 15, 22, 127, 228, 107, 77, 1, 177, 11, 34, 138, 213, 85, 162, 52, 59, 224, 77, 40, 138, 123, 7, 34, 98, 254, 188, 21, 97, 170, 5, 188, 43, 202, 214, 91, 251, 226, 121, 52, 189, 172, 111, 241, 197, 113, 133, 162, 243, 227, 245, 9, 149, 52, 21, 113, 216, 255, 167, 154, 189, 93, 139, 58, 194, 84, 197, 200, 240, 147, 159, 31, 100, 150, 239, 128, 255, 93, 183, 112, 127, 70, 181, 192, 205, 215, 34, 115, 4, 54, 44, 181, 67, 93, 184, 22, 193, 100, 9, 195, 164, 110, 61, 229, 19, 94, 141, 195, 21},
+{3, 15, 209, 214, 224, 170, 124, 185, 32, 46, 61, 220, 157, 210, 89, 28, 184, 108, 98, 80, 96, 204, 44, 225, 90, 54, 167, 38, 10, 24, 194, 63, 27, 18, 242, 221, 50, 175, 147, 186, 44, 231, 6, 39, 187, 122, 219, 248, 75, 68, 125, 200, 136, 166, 2, 41, 117, 239, 4, 215, 54, 239, 187, 92, 79, 102, 88, 156, 212, 180, 183, 229, 53, 81, 17, 162, 237, 151, 72, 4, 170, 62, 220, 148, 42, 214, 188, 239, 91, 36, 143, 109, 44, 252, 77, 120, 179, 211, 156, 7, 82, 45, 71, 87, 66, 34, 73, 52, 33, 159, 151, 203, 2, 50, 116, 107, 220, 199, 99, 249, 132, 16, 248, 122, 0, 209, 48, 151},
+{164, 37, 166, 28, 165, 95, 33, 63, 215, 226, 237, 35, 170, 232, 57, 182, 185, 190, 224, 88, 57, 157, 5, 142, 37, 156, 23, 130, 226, 228, 98, 4, 173, 237, 123, 122, 252, 32, 101, 117, 17, 188, 65, 159, 140, 169, 178, 74, 190, 238, 196, 24, 80, 47, 235, 255, 123, 177, 20, 39, 211, 179, 55, 52, 11, 229, 185, 216, 57, 188, 160, 251, 165, 162, 92, 1, 164, 22, 39, 214, 233, 207, 48, 90, 25, 125, 207, 229, 220, 4, 159, 63, 40, 255, 181, 142, 26, 22, 177, 36, 16, 175, 247, 32, 26, 8, 180, 97, 93, 45, 198, 189, 58, 52, 237, 82, 117, 117, 152, 93, 65, 190, 193, 60, 139, 21, 3, 90},
+{151, 4, 16, 18, 208, 70, 120, 194, 161, 123, 251, 21, 49, 105, 11, 1, 51, 176, 205, 214, 221, 1, 100, 110, 16, 1, 205, 252, 129, 69, 216, 241, 34, 44, 45, 112, 174, 102, 43, 203, 224, 207, 0, 43, 192, 161, 13, 8, 67, 12, 222, 32, 30, 139, 148, 43, 220, 158, 205, 127, 39, 137, 115, 157, 59, 52, 251, 11, 199, 161, 210, 66, 246, 179, 120, 228, 93, 26, 187, 116, 133, 93, 165, 193, 84, 118, 190, 155, 125, 38, 59, 40, 31, 217, 220, 47, 218, 97, 41, 129, 242, 2, 65, 169, 165, 118, 105, 118, 205, 106, 59, 111, 221, 224, 248, 126, 0, 245, 205, 17, 40, 175, 40, 142, 169, 207, 90, 19},
+{123, 26, 136, 97, 58, 49, 110, 50, 17, 62, 196, 241, 19, 245, 156, 179, 233, 104, 155, 138, 36, 243, 53, 42, 47, 229, 120, 198, 240, 168, 136, 125, 234, 99, 189, 136, 238, 165, 180, 130, 107, 122, 91, 99, 39, 216, 127, 65, 103, 127, 69, 125, 159, 195, 173, 97, 138, 188, 1, 201, 160, 244, 247, 184, 241, 73, 21, 223, 22, 246, 47, 99, 51, 58, 229, 111, 167, 173, 173, 34, 209, 157, 228, 130, 35, 105, 154, 193, 108, 79, 157, 30, 144, 186, 254, 103, 85, 116, 192, 145, 68, 42, 43, 101, 137, 164, 132, 56, 132, 204, 34, 91, 127, 40, 85, 134, 192, 143, 230, 31, 30, 58, 194, 226, 222, 117, 86, 18},
+{156, 215, 183, 116, 254, 145, 183, 185, 212, 58, 237, 210, 177, 90, 220, 44, 171, 99, 86, 70, 244, 122, 160, 67, 150, 17, 61, 41, 242, 221, 203, 154, 2, 93, 115, 116, 93, 205, 172, 251, 144, 53, 65, 20, 246, 162, 62, 165, 75, 159, 79, 211, 250, 222, 41, 198, 213, 176, 156, 27, 90, 89, 185, 124, 172, 138, 10, 41, 226, 2, 42, 247, 159, 229, 132, 13, 151, 133, 103, 149, 159, 218, 20, 101, 187, 64, 236, 46, 157, 86, 147, 154, 163, 11, 209, 72, 92, 166, 104, 95, 177, 32, 145, 181, 98, 225, 97, 145, 33, 47, 22, 33, 237, 193, 27, 235, 57, 127, 62, 236, 253, 209, 111, 126, 145, 224, 158, 245},
+{47, 162, 250, 153, 169, 151, 101, 103, 40, 178, 102, 131, 226, 190, 140, 67, 92, 249, 247, 207, 154, 156, 85, 95, 7, 116, 68, 106, 40, 253, 182, 121, 136, 198, 142, 104, 234, 50, 73, 98, 140, 72, 79, 147, 189, 0, 159, 102, 190, 53, 75, 131, 249, 3, 60, 22, 62, 102, 29, 195, 190, 1, 169, 62, 52, 122, 37, 36, 39, 229, 71, 130, 77, 227, 174, 26, 87, 57, 33, 150, 97, 54, 251, 78, 114, 174, 61, 202, 119, 175, 152, 35, 59, 202, 32, 73, 196, 87, 178, 33, 231, 81, 220, 248, 46, 45, 85, 189, 198, 77, 137, 103, 168, 147, 153, 39, 224, 44, 174, 111, 61, 206, 99, 123, 223, 100, 208, 96},
+{104, 12, 225, 120, 208, 34, 141, 241, 60, 82, 172, 12, 187, 209, 188, 177, 250, 7, 37, 115, 33, 226, 68, 20, 117, 252, 192, 66, 25, 16, 216, 74, 181, 188, 180, 199, 222, 17, 97, 225, 51, 155, 138, 47, 155, 101, 172, 242, 63, 94, 224, 238, 182, 229, 140, 126, 92, 232, 155, 24, 120, 12, 60, 133, 238, 33, 30, 134, 250, 159, 210, 120, 181, 167, 133, 72, 106, 57, 34, 153, 168, 71, 43, 109, 155, 31, 226, 102, 255, 135, 35, 176, 188, 138, 232, 204, 222, 196, 61, 234, 15, 23, 237, 124, 193, 210, 57, 34, 115, 253, 62, 8, 144, 101, 31, 162, 194, 117, 134, 129, 24, 9, 204, 115, 12, 219, 102, 208},
+{164, 176, 160, 245, 62, 42, 236, 228, 41, 10, 33, 224, 129, 111, 155, 235, 19, 196, 223, 125, 4, 63, 90, 193, 238, 193, 58, 54, 240, 40, 48, 74, 202, 87, 236, 141, 252, 225, 229, 74, 227, 16, 175, 221, 100, 81, 127, 128, 200, 210, 60, 247, 100, 44, 168, 94, 121, 208, 221, 115, 240, 143, 15, 81, 51, 158, 129, 80, 65, 36, 9, 233, 142, 191, 153, 41, 168, 19, 218, 38, 8, 11, 111, 25, 77, 240, 244, 115, 183, 126, 56, 206, 128, 177, 232, 8, 239, 75, 146, 115, 139, 99, 218, 87, 37, 144, 187, 97, 207, 153, 114, 44, 188, 251, 16, 209, 166, 57, 233, 39, 214, 77, 175, 126, 155, 54, 141, 95},
+{193, 60, 4, 30, 238, 122, 124, 4, 170, 217, 231, 255, 56, 205, 138, 64, 27, 33, 163, 99, 128, 45, 92, 131, 253, 246, 237, 54, 187, 129, 164, 31, 110, 123, 199, 108, 29, 9, 234, 44, 86, 248, 189, 213, 221, 108, 106, 239, 238, 195, 246, 119, 193, 98, 56, 206, 115, 153, 92, 204, 215, 136, 103, 15, 87, 244, 62, 160, 241, 91, 77, 217, 187, 84, 83, 97, 91, 155, 143, 155, 32, 22, 36, 198, 238, 90, 214, 131, 22, 61, 12, 68, 6, 16, 212, 7, 218, 225, 32, 33, 166, 29, 11, 232, 214, 69, 177, 106, 201, 167, 253, 120, 131, 253, 13, 95, 11, 174, 22, 63, 73, 6, 51, 128, 194, 214, 84, 100},
+{37, 190, 59, 214, 215, 185, 104, 247, 88, 99, 0, 127, 109, 215, 105, 66, 109, 128, 10, 10, 109, 168, 72, 233, 57, 248, 103, 85, 247, 111, 134, 235, 153, 205, 108, 22, 191, 192, 98, 30, 170, 40, 31, 146, 42, 56, 136, 148, 215, 211, 68, 151, 181, 55, 118, 198, 41, 12, 203, 75, 132, 236, 215, 33, 149, 158, 181, 53, 243, 195, 137, 137, 177, 178, 109, 242, 169, 110, 149, 155, 94, 124, 85, 69, 32, 70, 202, 54, 48, 62, 39, 158, 222, 40, 206, 159, 61, 45, 102, 17, 65, 21, 244, 216, 130, 203, 236, 41, 65, 253, 135, 125, 121, 207, 191, 75, 3, 250, 152, 195, 242, 111, 225, 94, 226, 25, 37, 228},
+{95, 211, 122, 47, 218, 108, 154, 5, 15, 53, 173, 156, 250, 191, 123, 188, 222, 158, 219, 211, 178, 229, 233, 180, 30, 104, 238, 76, 112, 28, 50, 108, 16, 99, 46, 70, 196, 218, 164, 95, 157, 7, 237, 209, 21, 248, 27, 118, 216, 199, 121, 226, 41, 196, 253, 125, 88, 132, 179, 237, 244, 228, 243, 207, 174, 118, 54, 113, 202, 92, 184, 211, 176, 66, 130, 150, 16, 111, 215, 109, 138, 61, 47, 160, 242, 5, 112, 41, 23, 37, 106, 187, 145, 62, 54, 128, 123, 155, 192, 170, 233, 127, 20, 33, 86, 254, 11, 213, 165, 15, 31, 240, 86, 31, 90, 75, 128, 102, 128, 8, 7, 177, 159, 124, 82, 191, 106, 5},
+{148, 27, 121, 52, 71, 52, 226, 219, 241, 28, 148, 170, 227, 177, 0, 241, 123, 197, 17, 23, 90, 232, 95, 187, 125, 130, 165, 96, 125, 60, 118, 12, 104, 201, 42, 76, 94, 9, 83, 130, 159, 210, 154, 174, 31, 14, 173, 243, 157, 124, 224, 43, 176, 174, 201, 80, 38, 3, 159, 191, 12, 148, 210, 102, 13, 17, 59, 101, 121, 52, 59, 91, 172, 115, 65, 84, 236, 18, 166, 199, 192, 29, 13, 158, 89, 228, 28, 143, 78, 132, 193, 14, 158, 157, 135, 75, 19, 246, 232, 205, 142, 77, 164, 215, 138, 74, 95, 61, 146, 178, 188, 106, 144, 161, 214, 237, 47, 31, 43, 4, 49, 65, 215, 130, 19, 157, 106, 3},
+{65, 14, 132, 251, 214, 241, 187, 87, 221, 189, 193, 6, 20, 198, 69, 251, 3, 13, 60, 86, 57, 4, 183, 36, 57, 146, 221, 238, 231, 23, 122, 159, 205, 166, 158, 124, 107, 9, 108, 179, 36, 66, 133, 206, 151, 132, 226, 95, 215, 253, 237, 12, 86, 90, 177, 12, 135, 211, 128, 254, 217, 25, 60, 255, 213, 138, 247, 114, 110, 79, 136, 74, 57, 186, 73, 255, 140, 244, 111, 78, 73, 169, 24, 129, 58, 26, 144, 128, 217, 113, 153, 40, 29, 135, 34, 50, 235, 97, 154, 46, 221, 133, 28, 62, 130, 106, 27, 150, 68, 51, 49, 94, 212, 19, 69, 2, 67, 173, 166, 1, 35, 148, 134, 245, 120, 97, 253, 167},
+{64, 209, 247, 46, 99, 9, 222, 233, 11, 152, 87, 93, 61, 9, 107, 197, 202, 31, 203, 235, 217, 147, 161, 145, 130, 221, 199, 93, 93, 82, 180, 187, 174, 236, 223, 113, 212, 77, 242, 146, 185, 181, 101, 33, 162, 130, 157, 166, 0, 50, 78, 11, 96, 182, 51, 134, 252, 89, 125, 60, 214, 62, 158, 55, 100, 113, 29, 92, 192, 124, 139, 50, 84, 75, 194, 0, 15, 29, 83, 18, 195, 137, 29, 69, 136, 219, 56, 190, 145, 67, 174, 151, 102, 140, 135, 219, 195, 171, 40, 56, 5, 246, 147, 174, 142, 34, 153, 43, 183, 198, 4, 44, 252, 92, 167, 189, 1, 205, 238, 46, 190, 228, 6, 141, 16, 108, 240, 184},
+{198, 89, 51, 224, 246, 125, 121, 235, 173, 112, 235, 154, 43, 110, 41, 132, 22, 187, 75, 65, 174, 140, 190, 23, 248, 46, 143, 241, 22, 49, 243, 48, 135, 91, 26, 58, 234, 192, 140, 243, 209, 230, 137, 165, 82, 85, 161, 168, 200, 77, 123, 231, 228, 45, 76, 146, 84, 86, 66, 16, 255, 213, 42, 134, 98, 110, 223, 4, 227, 140, 59, 151, 136, 220, 207, 188, 135, 31, 176, 11, 255, 37, 2, 155, 64, 165, 43, 236, 7, 19, 156, 24, 156, 71, 116, 30, 167, 213, 224, 231, 89, 97, 229, 63, 16, 84, 89, 232, 171, 81, 238, 21, 94, 30, 28, 74, 158, 123, 173, 157, 87, 141, 144, 187, 213, 154, 170, 248},
+{178, 44, 204, 156, 178, 145, 3, 41, 159, 228, 113, 40, 161, 253, 39, 214, 36, 249, 122, 159, 223, 105, 252, 136, 85, 100, 168, 43, 146, 96, 85, 108, 206, 163, 169, 235, 243, 237, 115, 180, 3, 80, 29, 138, 239, 20, 160, 201, 176, 231, 126, 225, 226, 134, 25, 125, 21, 167, 38, 67, 72, 124, 125, 250, 23, 156, 111, 138, 147, 193, 180, 42, 127, 178, 210, 11, 248, 120, 35, 62, 38, 82, 200, 25, 62, 111, 178, 134, 31, 112, 224, 182, 150, 148, 251, 135, 146, 63, 244, 76, 127, 215, 35, 181, 132, 0, 75, 27, 51, 43, 179, 97, 1, 62, 38, 250, 87, 4, 235, 13, 4, 23, 110, 116, 212, 206, 122, 140},
+{59, 219, 29, 55, 58, 225, 225, 94, 181, 62, 69, 199, 85, 252, 145, 150, 16, 168, 200, 185, 35, 214, 204, 133, 14, 199, 46, 99, 118, 88, 69, 149, 194, 100, 82, 106, 204, 253, 187, 50, 44, 245, 50, 196, 116, 173, 104, 139, 234, 75, 127, 149, 130, 243, 116, 234, 194, 202, 79, 184, 249, 108, 197, 124, 34, 113, 162, 3, 162, 7, 15, 47, 58, 196, 197, 150, 230, 174, 20, 201, 226, 95, 20, 231, 96, 234, 47, 147, 108, 121, 207, 151, 44, 139, 188, 251, 45, 183, 82, 148, 0, 197, 98, 225, 236, 140, 163, 25, 194, 86, 214, 11, 174, 1, 207, 132, 172, 158, 2, 50, 155, 224, 185, 108, 96, 74, 181, 64},
+{98, 141, 72, 96, 47, 23, 50, 222, 56, 246, 21, 106, 3, 251, 139, 14, 177, 79, 67, 169, 245, 87, 58, 75, 209, 5, 172, 39, 49, 187, 98, 246, 109, 154, 183, 146, 136, 220, 74, 202, 132, 112, 254, 207, 230, 39, 224, 27, 186, 119, 95, 51, 137, 181, 141, 123, 75, 99, 252, 248, 67, 161, 106, 26, 215, 191, 32, 48, 192, 170, 175, 37, 26, 178, 143, 16, 190, 232, 79, 58, 127, 246, 210, 206, 170, 99, 30, 186, 84, 151, 229, 202, 208, 133, 216, 218, 123, 107, 75, 228, 26, 187, 129, 8, 191, 29, 49, 160, 253, 190, 92, 158, 96, 207, 98, 246, 196, 1, 118, 159, 7, 113, 198, 201, 41, 194, 174, 133},
+{36, 210, 215, 83, 209, 197, 171, 241, 175, 91, 239, 112, 5, 0, 79, 164, 12, 114, 212, 82, 80, 189, 61, 211, 250, 185, 206, 159, 179, 76, 89, 246, 150, 127, 237, 190, 232, 32, 53, 143, 63, 178, 129, 252, 49, 72, 165, 58, 129, 214, 181, 50, 67, 72, 192, 244, 108, 48, 243, 29, 19, 207, 174, 10, 152, 120, 124, 233, 150, 157, 171, 190, 19, 151, 44, 125, 188, 167, 102, 252, 73, 47, 156, 219, 143, 17, 189, 40, 36, 224, 76, 153, 213, 207, 208, 78, 189, 93, 99, 55, 94, 151, 80, 118, 104, 90, 14, 159, 160, 154, 117, 114, 81, 176, 143, 141, 217, 115, 202, 80, 50, 11, 181, 73, 192, 149, 13, 143},
+{101, 242, 142, 141, 173, 136, 37, 34, 13, 131, 177, 85, 141, 2, 94, 246, 169, 12, 251, 183, 40, 18, 31, 100, 139, 214, 191, 45, 252, 193, 36, 16, 16, 178, 245, 153, 142, 115, 35, 97, 27, 86, 236, 79, 237, 217, 154, 38, 180, 67, 147, 125, 192, 78, 73, 157, 164, 138, 214, 85, 149, 211, 189, 208, 217, 45, 10, 173, 183, 218, 49, 241, 64, 197, 17, 144, 183, 49, 250, 101, 85, 29, 242, 173, 248, 11, 230, 153, 235, 49, 120, 193, 205, 225, 16, 167, 94, 210, 180, 166, 150, 179, 155, 85, 56, 43, 209, 121, 217, 45, 92, 77, 73, 196, 133, 110, 200, 160, 155, 182, 49, 210, 113, 15, 24, 149, 72, 64},
+{140, 71, 73, 152, 48, 231, 167, 96, 239, 51, 151, 60, 174, 184, 112, 194, 73, 142, 135, 57, 160, 127, 74, 138, 130, 28, 144, 171, 229, 209, 149, 68, 17, 66, 41, 74, 110, 237, 209, 185, 80, 247, 147, 249, 248, 116, 251, 115, 24, 158, 173, 195, 190, 76, 223, 23, 92, 148, 68, 134, 96, 40, 225, 240, 185, 60, 95, 235, 67, 181, 51, 250, 37, 125, 133, 213, 46, 218, 179, 184, 226, 242, 106, 183, 116, 46, 99, 42, 138, 139, 29, 94, 109, 89, 64, 227, 149, 21, 40, 172, 189, 190, 125, 2, 44, 28, 219, 183, 89, 65, 159, 4, 209, 107, 163, 127, 250, 24, 199, 70, 131, 193, 132, 128, 114, 233, 165, 60},
+{99, 125, 240, 221, 43, 53, 71, 17, 235, 51, 46, 185, 223, 55, 201, 52, 210, 134, 206, 89, 181, 46, 74, 8, 23, 233, 19, 223, 220, 218, 214, 222, 189, 199, 62, 9, 196, 93, 107, 93, 58, 26, 204, 4, 60, 91, 205, 49, 21, 97, 0, 122, 177, 158, 113, 185, 4, 42, 248, 19, 162, 2, 74, 144, 24, 206, 182, 128, 46, 19, 48, 189, 104, 149, 14, 238, 75, 46, 178, 233, 159, 80, 69, 158, 185, 96, 240, 60, 138, 153, 235, 106, 16, 229, 203, 140, 247, 54, 62, 198, 110, 85, 134, 240, 131, 74, 11, 234, 6, 212, 34, 48, 171, 42, 216, 24, 241, 172, 35, 159, 150, 121, 255, 2, 85, 137, 49, 51},
+{170, 188, 52, 185, 180, 17, 117, 177, 82, 13, 125, 108, 70, 144, 44, 254, 215, 192, 166, 124, 43, 99, 38, 230, 230, 175, 16, 118, 144, 172, 111, 239, 138, 105, 132, 140, 183, 225, 23, 130, 144, 43, 61, 59, 4, 214, 113, 151, 52, 191, 183, 90, 186, 223, 118, 242, 181, 146, 93, 219, 75, 189, 68, 221, 155, 160, 96, 145, 59, 161, 69, 118, 101, 134, 46, 89, 228, 100, 120, 39, 185, 71, 118, 141, 150, 23, 137, 245, 45, 211, 191, 79, 213, 163, 39, 32, 119, 183, 153, 152, 131, 233, 21, 160, 12, 90, 44, 97, 142, 60, 150, 164, 101, 252, 245, 63, 179, 102, 217, 114, 80, 149, 98, 143, 82, 83, 222, 64},
+{120, 51, 75, 184, 137, 246, 13, 218, 103, 154, 11, 184, 10, 251, 177, 119, 193, 73, 13, 102, 194, 38, 166, 141, 109, 177, 75, 112, 224, 99, 145, 204, 31, 5, 142, 235, 130, 6, 182, 83, 169, 108, 221, 88, 253, 178, 79, 46, 223, 17, 230, 211, 19, 153, 143, 35, 192, 52, 208, 81, 171, 59, 50, 180, 22, 87, 187, 52, 220, 63, 181, 53, 164, 124, 168, 161, 89, 35, 140, 136, 219, 144, 193, 121, 243, 31, 153, 71, 188, 221, 125, 3, 117, 152, 241, 127, 244, 150, 184, 172, 66, 138, 2, 123, 171, 112, 94, 19, 182, 225, 196, 240, 210, 210, 251, 132, 60, 240, 245, 179, 2, 128, 102, 50, 35, 246, 188, 167},
+{171, 30, 244, 184, 161, 242, 25, 227, 140, 46, 112, 123, 122, 165, 13, 217, 62, 83, 82, 208, 118, 48, 174, 198, 126, 110, 118, 139, 38, 162, 90, 206, 154, 159, 225, 30, 171, 145, 188, 166, 149, 222, 229, 59, 136, 199, 33, 149, 86, 82, 114, 55, 251, 99, 223, 61, 151, 38, 214, 118, 214, 129, 210, 91, 76, 127, 54, 141, 71, 91, 182, 41, 212, 90, 207, 28, 53, 176, 115, 154, 248, 100, 230, 108, 101, 114, 132, 87, 49, 123, 194, 11, 172, 211, 187, 228, 37, 85, 78, 120, 32, 158, 155, 41, 118, 177, 73, 170, 199, 50, 112, 116, 149, 210, 39, 255, 77, 79, 60, 232, 198, 231, 184, 252, 201, 74, 62, 173},
+{107, 215, 58, 192, 112, 8, 190, 93, 31, 52, 176, 110, 202, 224, 49, 208, 152, 127, 37, 222, 61, 99, 143, 45, 207, 133, 37, 35, 72, 149, 213, 224, 136, 68, 147, 15, 69, 179, 162, 83, 136, 117, 138, 231, 156, 216, 46, 220, 12, 215, 153, 180, 107, 92, 43, 70, 24, 101, 111, 51, 126, 13, 124, 46, 216, 245, 185, 1, 241, 180, 152, 227, 79, 154, 68, 41, 171, 228, 63, 100, 109, 93, 89, 42, 93, 30, 226, 133, 196, 194, 200, 253, 12, 241, 141, 88, 47, 246, 146, 76, 60, 88, 93, 218, 207, 175, 72, 38, 183, 234, 191, 17, 249, 18, 193, 127, 230, 89, 118, 164, 67, 167, 104, 52, 23, 250, 126, 120},
+{106, 157, 80, 150, 49, 230, 244, 220, 171, 148, 89, 58, 224, 23, 213, 173, 252, 146, 86, 6, 95, 114, 71, 148, 252, 85, 234, 95, 33, 69, 192, 212, 63, 192, 167, 220, 236, 151, 111, 125, 16, 28, 75, 239, 223, 0, 147, 138, 93, 235, 114, 162, 0, 110, 17, 105, 113, 121, 155, 5, 43, 247, 252, 250, 196, 148, 177, 146, 53, 247, 190, 115, 102, 75, 31, 86, 21, 119, 135, 51, 178, 220, 141, 10, 160, 129, 189, 214, 135, 53, 82, 67, 33, 195, 236, 158, 71, 52, 154, 168, 163, 122, 207, 88, 180, 201, 88, 206, 150, 66, 93, 99, 200, 2, 184, 55, 98, 143, 227, 56, 77, 6, 253, 223, 237, 190, 133, 19},
+{153, 215, 150, 126, 151, 21, 232, 175, 239, 213, 148, 12, 124, 15, 75, 231, 177, 143, 71, 96, 77, 54, 70, 176, 207, 196, 172, 39, 115, 223, 225, 89, 138, 9, 103, 69, 80, 56, 216, 7, 3, 230, 139, 31, 18, 219, 154, 118, 44, 36, 58, 81, 114, 33, 161, 161, 241, 16, 136, 92, 102, 39, 75, 182, 124, 234, 127, 37, 35, 64, 223, 179, 240, 44, 129, 178, 198, 90, 64, 109, 79, 51, 15, 244, 37, 50, 234, 90, 49, 71, 141, 234, 155, 3, 15, 199, 113, 73, 201, 61, 194, 71, 76, 166, 141, 123, 202, 69, 44, 92, 153, 163, 192, 31, 92, 203, 164, 47, 119, 226, 3, 167, 102, 130, 57, 23, 246, 80},
+{12, 68, 63, 232, 160, 5, 233, 243, 209, 103, 42, 116, 226, 5, 136, 236, 44, 103, 66, 89, 211, 174, 125, 206, 223, 47, 55, 55, 171, 36, 57, 255, 178, 149, 123, 23, 50, 186, 111, 187, 233, 178, 1, 130, 77, 246, 85, 102, 132, 103, 214, 157, 246, 44, 68, 235, 140, 49, 56, 43, 212, 42, 250, 64, 193, 133, 223, 184, 27, 69, 133, 180, 81, 109, 81, 120, 216, 121, 242, 83, 198, 241, 105, 204, 131, 158, 70, 105, 138, 161, 248, 246, 233, 165, 170, 222, 251, 132, 98, 146, 59, 93, 216, 255, 110, 166, 191, 42, 99, 207, 28, 89, 201, 254, 17, 202, 7, 51, 229, 90, 111, 179, 237, 136, 245, 187, 150, 56},
+{98, 173, 38, 48, 30, 1, 26, 3, 79, 252, 66, 114, 115, 251, 189, 53, 232, 104, 17, 16, 32, 207, 34, 84, 176, 159, 181, 19, 193, 70, 73, 11, 218, 80, 185, 51, 40, 209, 129, 93, 170, 163, 85, 59, 108, 87, 225, 214, 111, 19, 98, 151, 212, 225, 124, 18, 86, 151, 157, 56, 55, 140, 40, 3, 136, 157, 21, 9, 8, 182, 253, 153, 82, 32, 187, 17, 241, 15, 25, 72, 189, 137, 161, 5, 91, 193, 74, 184, 158, 5, 217, 139, 174, 252, 162, 209, 18, 98, 166, 191, 224, 146, 43, 137, 13, 125, 208, 233, 77, 172, 187, 31, 47, 5, 195, 127, 4, 95, 163, 226, 46, 150, 252, 180, 8, 77, 95, 221},
+{102, 135, 236, 133, 84, 9, 40, 56, 88, 58, 133, 53, 200, 131, 217, 55, 206, 45, 27, 187, 173, 169, 137, 149, 41, 180, 128, 153, 213, 172, 187, 186, 24, 212, 36, 48, 108, 241, 176, 132, 188, 46, 33, 89, 213, 113, 103, 137, 249, 239, 30, 130, 20, 30, 72, 109, 6, 245, 247, 64, 235, 145, 105, 206, 117, 106, 225, 68, 133, 24, 84, 75, 248, 153, 38, 47, 74, 209, 172, 79, 138, 8, 190, 27, 70, 205, 46, 108, 154, 213, 224, 189, 62, 198, 8, 60, 144, 230, 208, 204, 242, 141, 45, 111, 185, 156, 169, 66, 66, 76, 128, 199, 189, 217, 141, 136, 14, 80, 84, 72, 95, 250, 74, 178, 237, 220, 231, 97},
+{200, 79, 78, 63, 3, 8, 67, 178, 222, 22, 76, 223, 141, 224, 241, 169, 178, 250, 64, 92, 148, 36, 67, 56, 129, 222, 97, 112, 148, 233, 42, 209, 98, 57, 223, 154, 61, 61, 227, 63, 77, 136, 127, 100, 54, 101, 240, 70, 109, 36, 93, 67, 81, 78, 10, 142, 41, 92, 219, 98, 178, 237, 171, 126, 90, 48, 108, 124, 11, 235, 118, 222, 3, 87, 90, 113, 9, 106, 222, 210, 26, 176, 88, 65, 91, 84, 255, 35, 105, 29, 185, 1, 31, 93, 227, 184, 42, 109, 165, 245, 44, 186, 127, 216, 31, 141, 32, 9, 88, 141, 202, 50, 95, 71, 214, 253, 214, 68, 247, 197, 195, 69, 3, 172, 49, 57, 219, 104},
+{123, 87, 203, 37, 231, 2, 36, 40, 102, 81, 142, 248, 3, 230, 108, 124, 227, 227, 209, 173, 162, 87, 182, 27, 29, 177, 25, 203, 204, 29, 243, 84, 200, 82, 53, 226, 29, 131, 169, 151, 254, 78, 196, 196, 133, 190, 222, 69, 121, 60, 207, 54, 222, 1, 15, 53, 8, 86, 124, 40, 171, 33, 252, 19, 84, 61, 106, 16, 105, 40, 212, 59, 107, 214, 82, 203, 215, 253, 99, 136, 36, 26, 246, 70, 128, 155, 96, 129, 71, 216, 102, 109, 109, 178, 123, 145, 71, 187, 52, 186, 223, 203, 226, 104, 192, 158, 88, 181, 110, 230, 5, 76, 48, 55, 213, 143, 5, 127, 63, 200, 134, 155, 10, 195, 220, 174, 66, 209},
+{167, 130, 14, 227, 235, 26, 116, 250, 150, 23, 119, 24, 210, 142, 46, 176, 135, 38, 153, 96, 202, 108, 64, 221, 83, 50, 87, 7, 94, 191, 167, 217, 48, 148, 228, 49, 134, 202, 1, 162, 239, 186, 135, 62, 199, 246, 212, 208, 63, 100, 198, 78, 219, 92, 141, 9, 95, 146, 18, 147, 251, 246, 29, 199, 234, 79, 152, 79, 41, 233, 165, 166, 120, 13, 220, 38, 78, 167, 66, 25, 132, 254, 112, 154, 94, 119, 194, 34, 132, 77, 228, 212, 175, 158, 129, 231, 3, 76, 18, 219, 212, 102, 4, 134, 36, 81, 84, 204, 211, 164, 220, 154, 11, 216, 51, 232, 157, 153, 212, 153, 107, 202, 125, 30, 215, 146, 244, 60},
+{198, 1, 57, 205, 14, 13, 129, 176, 177, 96, 51, 187, 49, 167, 153, 15, 8, 185, 207, 57, 158, 236, 152, 28, 35, 38, 220, 73, 250, 54, 21, 246, 7, 203, 5, 133, 222, 162, 107, 12, 155, 102, 95, 159, 142, 128, 243, 169, 132, 13, 30, 116, 101, 215, 219, 173, 205, 60, 180, 243, 106, 193, 240, 230, 100, 244, 233, 126, 201, 169, 173, 39, 226, 16, 218, 255, 15, 234, 210, 32, 126, 150, 41, 144, 193, 61, 107, 166, 103, 141, 212, 174, 109, 160, 26, 26, 253, 183, 141, 226, 136, 176, 3, 99, 139, 67, 44, 88, 144, 201, 153, 255, 78, 222, 113, 174, 147, 176, 251, 205, 25, 50, 158, 193, 230, 31, 87, 243},
+{187, 27, 242, 238, 32, 236, 33, 119, 17, 180, 159, 44, 24, 92, 232, 130, 181, 159, 20, 31, 124, 198, 241, 118, 148, 199, 46, 37, 73, 163, 169, 252, 165, 65, 253, 48, 118, 213, 17, 187, 212, 82, 164, 22, 165, 226, 150, 84, 239, 72, 13, 67, 28, 237, 66, 16, 68, 27, 210, 183, 222, 88, 4, 234, 150, 145, 157, 151, 7, 170, 250, 53, 102, 21, 243, 9, 76, 97, 211, 205, 248, 247, 68, 37, 220, 237, 215, 72, 140, 236, 222, 117, 55, 137, 243, 203, 227, 212, 64, 58, 43, 5, 189, 6, 133, 114, 241, 195, 193, 165, 202, 218, 113, 97, 226, 109, 78, 238, 188, 211, 254, 46, 34, 209, 34, 23, 147, 168},
+{167, 175, 222, 55, 109, 105, 82, 246, 160, 14, 82, 26, 98, 161, 202, 51, 119, 42, 188, 25, 190, 9, 113, 138, 64, 145, 175, 87, 244, 131, 67, 129, 151, 11, 226, 148, 19, 197, 228, 33, 124, 168, 229, 43, 135, 199, 16, 41, 244, 189, 56, 193, 91, 13, 79, 209, 207, 250, 34, 127, 247, 166, 68, 137, 9, 207, 246, 51, 218, 80, 240, 111, 89, 238, 90, 196, 216, 242, 238, 75, 168, 116, 137, 130, 58, 136, 121, 228, 205, 56, 146, 18, 134, 92, 47, 141, 88, 113, 20, 73, 172, 2, 115, 109, 126, 181, 11, 168, 71, 223, 132, 130, 64, 249, 225, 118, 43, 196, 130, 21, 9, 185, 37, 107, 79, 87, 215, 194},
+{46, 78, 60, 17, 30, 220, 74, 206, 52, 120, 197, 211, 192, 51, 124, 125, 118, 8, 249, 148, 157, 197, 206, 117, 50, 75, 25, 244, 64, 114, 199, 170, 116, 86, 142, 79, 191, 133, 22, 95, 49, 182, 125, 80, 23, 46, 7, 69, 230, 45, 117, 7, 54, 166, 168, 248, 82, 45, 241, 161, 200, 45, 80, 166, 114, 77, 108, 250, 188, 196, 103, 34, 131, 151, 64, 142, 243, 142, 158, 196, 73, 148, 126, 43, 227, 215, 6, 11, 126, 106, 76, 79, 103, 122, 248, 160, 162, 99, 181, 49, 39, 230, 220, 127, 218, 31, 100, 52, 178, 20, 28, 167, 154, 30, 146, 39, 27, 15, 142, 77, 178, 164, 240, 146, 190, 148, 181, 178},
+{19, 12, 8, 8, 237, 173, 199, 243, 157, 208, 16, 90, 137, 162, 241, 52, 3, 152, 25, 157, 85, 194, 24, 180, 83, 71, 86, 93, 235, 52, 164, 190, 102, 213, 99, 17, 44, 208, 174, 191, 74, 227, 200, 60, 146, 182, 215, 87, 83, 158, 253, 60, 225, 82, 4, 109, 242, 156, 77, 40, 6, 102, 74, 131, 163, 198, 120, 20, 36, 59, 167, 170, 181, 211, 35, 110, 243, 50, 173, 67, 127, 64, 63, 111, 51, 242, 192, 255, 65, 152, 159, 16, 135, 177, 206, 107, 14, 86, 131, 3, 49, 235, 4, 171, 68, 96, 179, 106, 106, 242, 238, 3, 35, 165, 65, 21, 0, 113, 213, 235, 122, 40, 116, 60, 146, 33, 79, 67},
+{52, 57, 5, 247, 242, 14, 81, 111, 222, 183, 93, 49, 52, 145, 16, 139, 88, 160, 201, 105, 9, 167, 185, 229, 240, 196, 128, 199, 182, 191, 195, 232, 208, 37, 15, 2, 233, 181, 134, 249, 102, 216, 65, 44, 14, 62, 58, 106, 226, 88, 215, 44, 142, 217, 113, 145, 65, 56, 250, 209, 254, 158, 240, 242, 166, 50, 163, 107, 147, 23, 68, 162, 161, 214, 38, 191, 53, 49, 155, 164, 74, 231, 72, 133, 160, 208, 209, 80, 192, 246, 225, 30, 197, 240, 255, 79, 159, 9, 135, 32, 27, 234, 192, 190, 61, 60, 149, 234, 200, 176, 157, 137, 140, 111, 95, 25, 159, 77, 64, 130, 127, 45, 40, 91, 92, 95, 108, 151},
+{184, 193, 138, 102, 134, 249, 75, 25, 186, 34, 13, 43, 70, 148, 108, 58, 198, 189, 131, 67, 122, 74, 177, 84, 123, 64, 93, 230, 86, 96, 223, 144, 133, 95, 38, 3, 150, 88, 22, 79, 190, 49, 163, 208, 183, 34, 111, 77, 221, 182, 30, 64, 9, 23, 54, 144, 60, 167, 197, 20, 36, 96, 233, 46, 160, 77, 168, 204, 130, 246, 72, 45, 106, 236, 154, 116, 191, 215, 165, 39, 146, 1, 26, 9, 78, 244, 92, 244, 66, 152, 19, 28, 33, 7, 240, 179, 67, 152, 104, 59, 48, 179, 224, 204, 4, 81, 58, 49, 188, 135, 32, 194, 118, 177, 195, 169, 209, 219, 64, 56, 10, 190, 127, 215, 229, 209, 192, 22},
+{187, 28, 41, 230, 75, 116, 166, 63, 193, 140, 177, 152, 122, 109, 67, 216, 98, 69, 202, 239, 53, 105, 202, 224, 121, 232, 128, 118, 101, 214, 218, 124, 103, 88, 70, 86, 239, 184, 94, 64, 140, 180, 168, 43, 53, 38, 216, 85, 111, 171, 231, 244, 174, 12, 250, 5, 90, 207, 238, 236, 161, 111, 58, 48, 110, 221, 145, 36, 186, 31, 234, 15, 123, 124, 244, 230, 58, 204, 81, 135, 34, 119, 193, 145, 162, 248, 215, 22, 245, 189, 239, 219, 60, 158, 151, 64, 80, 178, 111, 249, 167, 49, 72, 6, 43, 74, 61, 132, 214, 176, 33, 45, 41, 64, 207, 123, 10, 100, 18, 128, 52, 53, 33, 100, 61, 242, 189, 94},
+{44, 47, 11, 123, 120, 142, 13, 56, 57, 145, 175, 188, 220, 43, 32, 66, 13, 222, 160, 72, 128, 28, 25, 129, 85, 110, 126, 235, 21, 86, 7, 161, 85, 174, 55, 244, 248, 180, 114, 234, 27, 43, 229, 10, 37, 65, 12, 35, 225, 15, 223, 144, 100, 117, 116, 74, 37, 240, 75, 155, 75, 28, 84, 96, 225, 38, 50, 24, 94, 8, 239, 217, 91, 99, 97, 46, 102, 240, 98, 235, 58, 187, 130, 53, 104, 30, 250, 219, 34, 125, 208, 102, 17, 25, 14, 57, 63, 184, 70, 132, 54, 204, 115, 236, 97, 140, 245, 165, 244, 199, 35, 253, 7, 64, 180, 41, 80, 55, 106, 218, 151, 69, 123, 47, 74, 153, 193, 106},
+{181, 134, 12, 209, 197, 19, 45, 90, 161, 189, 126, 122, 146, 34, 195, 253, 222, 139, 129, 179, 149, 43, 78, 220, 153, 55, 248, 101, 27, 56, 97, 25, 227, 111, 189, 242, 137, 226, 23, 158, 101, 193, 203, 139, 194, 62, 108, 103, 203, 66, 222, 184, 53, 66, 21, 0, 199, 200, 121, 221, 154, 40, 168, 221, 143, 198, 247, 94, 73, 227, 191, 90, 63, 120, 187, 128, 251, 3, 113, 179, 102, 6, 152, 105, 96, 51, 121, 238, 169, 24, 205, 14, 37, 197, 221, 215, 236, 220, 62, 70, 151, 94, 124, 125, 32, 23, 243, 135, 165, 106, 40, 168, 251, 153, 115, 41, 229, 90, 174, 24, 136, 3, 14, 95, 54, 55, 84, 34},
+{195, 247, 255, 24, 182, 84, 161, 105, 192, 1, 123, 53, 251, 78, 122, 213, 62, 224, 229, 26, 243, 11, 255, 245, 111, 126, 121, 188, 3, 7, 109, 58, 195, 76, 221, 225, 57, 7, 40, 254, 48, 172, 59, 248, 11, 152, 205, 5, 33, 139, 12, 116, 22, 95, 13, 40, 111, 30, 112, 209, 176, 240, 104, 169, 165, 81, 168, 42, 108, 10, 81, 30, 78, 233, 155, 251, 142, 200, 62, 201, 117, 231, 185, 13, 60, 89, 125, 88, 209, 153, 42, 135, 153, 24, 124, 152, 252, 89, 6, 45, 132, 247, 130, 10, 77, 214, 215, 195, 193, 38, 173, 29, 193, 50, 170, 154, 214, 10, 39, 86, 105, 133, 103, 63, 187, 33, 60, 208},
+{100, 30, 54, 249, 255, 201, 163, 138, 122, 12, 147, 76, 230, 239, 249, 113, 141, 99, 34, 90, 23, 190, 212, 168, 74, 19, 129, 214, 62, 182, 8, 107, 214, 59, 11, 163, 62, 78, 1, 166, 186, 224, 218, 198, 8, 62, 168, 206, 154, 139, 134, 246, 93, 15, 101, 231, 186, 166, 149, 66, 195, 79, 83, 220, 222, 29, 66, 90, 127, 67, 220, 220, 185, 206, 17, 75, 255, 179, 43, 81, 236, 174, 219, 159, 249, 228, 23, 64, 148, 177, 32, 131, 184, 194, 24, 81, 185, 31, 144, 163, 6, 174, 184, 104, 9, 82, 155, 127, 142, 35, 0, 225, 86, 231, 118, 137, 130, 20, 10, 74, 68, 243, 99, 254, 210, 67, 118, 242},
+{140, 166, 208, 251, 103, 91, 24, 111, 138, 104, 79, 217, 22, 237, 85, 27, 39, 116, 230, 112, 99, 191, 146, 234, 243, 205, 31, 181, 104, 227, 187, 250, 150, 89, 49, 134, 103, 149, 32, 87, 222, 247, 8, 177, 31, 203, 74, 233, 97, 83, 61, 148, 56, 188, 209, 210, 157, 39, 234, 78, 245, 240, 118, 156, 154, 156, 216, 193, 63, 119, 174, 85, 223, 4, 43, 169, 17, 79, 212, 229, 108, 159, 103, 61, 106, 48, 7, 191, 114, 255, 197, 134, 53, 120, 29, 13, 156, 37, 156, 184, 113, 135, 42, 145, 145, 0, 216, 89, 17, 143, 205, 75, 220, 56, 135, 214, 121, 10, 218, 109, 209, 18, 87, 92, 215, 191, 241, 121},
+{34, 205, 151, 44, 43, 210, 232, 166, 189, 107, 161, 201, 46, 41, 162, 127, 97, 45, 247, 140, 248, 224, 247, 189, 174, 160, 18, 42, 149, 185, 169, 208, 191, 87, 15, 68, 215, 146, 50, 178, 223, 228, 144, 92, 244, 72, 208, 217, 0, 110, 175, 74, 212, 114, 250, 76, 213, 105, 126, 130, 105, 203, 222, 63, 40, 174, 34, 43, 125, 173, 237, 228, 24, 6, 230, 243, 193, 43, 70, 172, 195, 194, 101, 204, 92, 23, 91, 99, 102, 103, 132, 255, 134, 164, 21, 22, 131, 208, 27, 132, 170, 176, 135, 178, 127, 198, 64, 221, 72, 173, 62, 105, 5, 69, 20, 22, 168, 208, 11, 22, 130, 173, 75, 131, 111, 193, 47, 93},
+{86, 72, 91, 233, 58, 83, 210, 220, 15, 204, 220, 60, 119, 6, 195, 84, 75, 209, 116, 4, 64, 217, 237, 125, 109, 217, 18, 133, 20, 11, 188, 105, 199, 182, 54, 138, 193, 250, 135, 103, 245, 31, 64, 105, 8, 132, 13, 20, 47, 206, 28, 50, 244, 142, 213, 165, 169, 169, 0, 143, 17, 55, 226, 213, 131, 117, 80, 160, 140, 77, 167, 62, 82, 70, 187, 131, 14, 147, 218, 11, 215, 6, 234, 201, 137, 10, 8, 91, 66, 169, 107, 165, 120, 218, 41, 67, 100, 68, 126, 239, 144, 54, 22, 142, 160, 218, 101, 208, 26, 177, 224, 59, 5, 92, 44, 212, 106, 169, 187, 40, 225, 92, 32, 53, 184, 30, 70, 26},
+{207, 247, 102, 216, 56, 126, 127, 153, 70, 84, 66, 105, 116, 156, 118, 28, 211, 86, 156, 138, 92, 20, 65, 203, 16, 69, 220, 197, 14, 138, 84, 156, 227, 178, 144, 28, 176, 211, 83, 179, 80, 186, 121, 7, 147, 198, 14, 65, 102, 188, 57, 136, 55, 44, 207, 159, 127, 76, 68, 208, 36, 28, 57, 83, 94, 186, 65, 147, 9, 158, 45, 70, 203, 13, 197, 12, 202, 119, 241, 50, 99, 174, 33, 142, 71, 83, 50, 180, 203, 30, 233, 218, 134, 3, 12, 182, 142, 50, 141, 35, 102, 125, 202, 167, 96, 230, 84, 21, 152, 44, 137, 73, 78, 10, 246, 132, 170, 187, 156, 195, 105, 17, 196, 49, 237, 220, 153, 242},
+{44, 12, 41, 172, 36, 107, 20, 153, 78, 128, 68, 100, 68, 255, 226, 35, 123, 244, 23, 167, 82, 90, 220, 113, 116, 0, 186, 182, 81, 95, 213, 156, 209, 188, 221, 206, 92, 240, 70, 92, 115, 119, 196, 166, 16, 180, 9, 177, 115, 39, 233, 140, 92, 160, 216, 87, 246, 250, 175, 193, 163, 232, 58, 61, 156, 122, 231, 30, 72, 211, 42, 136, 253, 22, 109, 127, 0, 32, 0, 247, 107, 150, 32, 94, 67, 53, 134, 142, 156, 93, 229, 143, 57, 197, 166, 11, 45, 102, 221, 147, 170, 143, 101, 165, 122, 25, 61, 102, 159, 79, 130, 33, 12, 13, 137, 255, 50, 233, 155, 179, 198, 244, 133, 149, 54, 239, 76, 222},
+{148, 112, 143, 221, 172, 232, 124, 190, 214, 7, 36, 98, 145, 91, 88, 235, 131, 95, 222, 10, 54, 34, 168, 20, 161, 70, 194, 192, 193, 55, 246, 16, 207, 138, 189, 62, 109, 86, 215, 115, 97, 148, 243, 2, 121, 168, 168, 139, 122, 183, 163, 205, 61, 83, 211, 20, 60, 226, 48, 232, 32, 141, 175, 205, 180, 120, 225, 22, 164, 106, 216, 186, 252, 182, 11, 120, 22, 157, 109, 64, 30, 163, 121, 97, 180, 55, 59, 245, 238, 147, 39, 56, 114, 214, 116, 80, 1, 174, 55, 153, 208, 251, 115, 131, 196, 8, 160, 108, 41, 108, 48, 71, 203, 245, 50, 41, 125, 135, 131, 86, 204, 42, 245, 80, 56, 68, 145, 78},
+{165, 35, 113, 73, 131, 11, 4, 73, 15, 135, 231, 22, 197, 198, 178, 80, 101, 54, 240, 1, 193, 236, 168, 132, 33, 84, 167, 215, 172, 178, 177, 66, 52, 223, 62, 95, 92, 251, 34, 80, 10, 240, 138, 92, 115, 185, 76, 255, 118, 207, 151, 88, 59, 29, 7, 65, 244, 108, 132, 236, 124, 137, 214, 138, 128, 132, 178, 184, 177, 228, 199, 255, 98, 27, 69, 28, 255, 17, 123, 58, 237, 144, 141, 158, 39, 23, 183, 220, 140, 153, 6, 195, 89, 87, 169, 88, 233, 64, 232, 184, 182, 134, 224, 0, 134, 199, 118, 244, 190, 249, 80, 156, 135, 69, 241, 135, 72, 121, 51, 224, 197, 15, 35, 13, 155, 198, 209, 161},
+{141, 74, 27, 214, 179, 158, 228, 99, 60, 29, 215, 123, 32, 84, 141, 158, 108, 112, 242, 255, 17, 116, 213, 22, 220, 185, 247, 112, 141, 195, 95, 62, 191, 55, 38, 249, 126, 103, 125, 125, 63, 2, 135, 17, 96, 163, 249, 131, 216, 94, 234, 222, 253, 164, 235, 37, 18, 154, 135, 218, 36, 176, 65, 92, 11, 133, 201, 233, 3, 7, 113, 197, 120, 223, 185, 254, 116, 154, 68, 255, 126, 100, 95, 209, 94, 51, 34, 104, 165, 88, 215, 161, 33, 161, 141, 132, 117, 112, 0, 206, 81, 50, 55, 121, 32, 112, 174, 223, 10, 5, 174, 31, 216, 142, 185, 110, 225, 60, 38, 36, 84, 117, 16, 148, 4, 48, 104, 229},
+{197, 211, 130, 213, 207, 145, 121, 90, 74, 151, 246, 65, 67, 88, 87, 18, 6, 83, 106, 252, 203, 183, 192, 38, 143, 70, 133, 158, 128, 221, 181, 151, 20, 22, 40, 2, 238, 255, 233, 226, 79, 138, 227, 230, 74, 71, 51, 40, 173, 214, 13, 229, 181, 11, 234, 111, 115, 8, 7, 153, 36, 94, 251, 34, 80, 11, 255, 210, 238, 38, 99, 252, 215, 234, 85, 90, 140, 201, 154, 125, 126, 118, 24, 21, 0, 119, 15, 238, 189, 126, 175, 96, 170, 58, 101, 138, 195, 85, 205, 153, 5, 213, 91, 92, 0, 172, 207, 101, 67, 28, 45, 207, 163, 145, 125, 81, 23, 254, 102, 5, 60, 202, 5, 87, 96, 230, 207, 123},
+{103, 51, 215, 97, 51, 88, 121, 176, 93, 112, 228, 137, 105, 46, 4, 206, 223, 163, 39, 173, 9, 211, 255, 104, 232, 133, 26, 41, 0, 190, 152, 157, 233, 180, 163, 77, 116, 120, 221, 204, 59, 249, 131, 50, 58, 25, 205, 75, 14, 220, 209, 148, 232, 56, 178, 85, 95, 201, 255, 148, 197, 187, 228, 28, 97, 140, 196, 222, 36, 131, 254, 203, 218, 103, 139, 158, 52, 123, 70, 79, 197, 215, 247, 172, 21, 137, 124, 106, 225, 54, 107, 161, 165, 69, 243, 125, 203, 32, 55, 249, 99, 19, 214, 233, 240, 173, 246, 71, 138, 253, 90, 194, 156, 213, 43, 176, 12, 35, 6, 33, 202, 192, 115, 200, 107, 69, 50, 225},
+{124, 38, 147, 90, 87, 134, 182, 144, 61, 160, 17, 42, 211, 112, 0, 102, 254, 131, 56, 220, 99, 28, 10, 37, 67, 233, 134, 207, 145, 234, 63, 136, 95, 112, 79, 10, 49, 105, 177, 88, 156, 61, 243, 156, 139, 204, 67, 222, 191, 181, 187, 29, 136, 235, 220, 110, 126, 54, 16, 130, 109, 62, 108, 135, 8, 79, 247, 3, 35, 160, 166, 127, 74, 13, 179, 223, 68, 65, 176, 133, 114, 162, 196, 197, 89, 185, 124, 17, 4, 64, 45, 222, 24, 114, 192, 86, 2, 6, 248, 161, 3, 100, 152, 246, 248, 104, 19, 60, 39, 241, 201, 186, 18, 210, 102, 64, 252, 138, 247, 251, 214, 201, 108, 68, 232, 124, 70, 133},
+{42, 168, 210, 181, 110, 212, 13, 234, 230, 127, 71, 203, 3, 102, 143, 12, 50, 38, 231, 244, 245, 249, 199, 107, 36, 59, 88, 124, 225, 52, 102, 97, 252, 7, 109, 9, 234, 180, 145, 221, 211, 235, 184, 79, 39, 74, 46, 0, 235, 52, 92, 102, 161, 62, 37, 191, 249, 148, 84, 221, 29, 28, 241, 166, 160, 212, 175, 147, 145, 206, 228, 149, 4, 10, 104, 59, 246, 115, 66, 83, 152, 49, 249, 171, 187, 133, 31, 243, 195, 61, 171, 223, 197, 59, 171, 181, 122, 42, 105, 73, 228, 230, 198, 159, 127, 64, 127, 244, 128, 195, 19, 184, 156, 63, 170, 111, 121, 17, 77, 170, 57, 135, 12, 106, 136, 141, 133, 131},
+{177, 128, 83, 120, 25, 145, 207, 180, 159, 132, 35, 191, 3, 192, 183, 64, 251, 163, 239, 161, 85, 43, 136, 242, 99, 238, 212, 227, 102, 252, 62, 27, 27, 80, 15, 170, 13, 137, 33, 163, 154, 161, 145, 14, 168, 64, 67, 218, 197, 125, 154, 242, 155, 32, 121, 176, 11, 51, 177, 232, 110, 75, 8, 115, 133, 36, 35, 5, 136, 182, 1, 154, 175, 64, 196, 26, 150, 90, 184, 130, 76, 144, 157, 149, 77, 169, 122, 241, 91, 81, 39, 121, 66, 182, 100, 254, 68, 88, 41, 128, 122, 205, 95, 243, 97, 251, 70, 128, 134, 7, 103, 21, 28, 100, 16, 174, 26, 1, 252, 10, 213, 39, 30, 113, 59, 28, 214, 241},
+{81, 99, 168, 180, 226, 181, 167, 114, 188, 80, 8, 78, 207, 119, 193, 154, 11, 153, 179, 54, 49, 240, 175, 149, 67, 87, 117, 31, 183, 97, 24, 240, 16, 5, 65, 248, 25, 144, 29, 203, 122, 11, 114, 196, 105, 138, 139, 249, 88, 144, 184, 55, 235, 142, 67, 79, 185, 169, 102, 71, 87, 6, 12, 128, 115, 161, 59, 224, 205, 244, 197, 176, 23, 117, 249, 42, 226, 103, 78, 224, 128, 238, 140, 113, 131, 169, 88, 205, 105, 31, 176, 150, 108, 220, 104, 163, 231, 61, 54, 19, 147, 166, 91, 255, 64, 65, 236, 254, 42, 214, 145, 16, 113, 147, 147, 78, 30, 168, 23, 39, 173, 250, 96, 13, 42, 90, 16, 200},
+{202, 149, 89, 22, 112, 140, 28, 24, 215, 245, 85, 14, 221, 171, 95, 144, 129, 17, 22, 126, 196, 55, 183, 120, 64, 163, 122, 112, 41, 104, 155, 3, 67, 197, 155, 143, 123, 53, 80, 23, 106, 100, 247, 53, 42, 224, 127, 59, 89, 175, 222, 250, 100, 33, 151, 165, 131, 202, 169, 100, 81, 61, 12, 203, 212, 64, 248, 182, 183, 99, 254, 189, 75, 98, 87, 195, 145, 4, 229, 124, 120, 58, 91, 162, 56, 195, 133, 188, 78, 18, 137, 24, 247, 108, 61, 176, 130, 192, 198, 229, 238, 149, 199, 114, 58, 212, 120, 73, 251, 202, 40, 142, 23, 234, 189, 148, 224, 217, 183, 78, 172, 149, 236, 250, 237, 196, 76, 206},
+{155, 61, 191, 255, 65, 226, 78, 61, 255, 77, 80, 10, 98, 77, 99, 198, 58, 20, 208, 67, 8, 84, 21, 35, 221, 223, 237, 36, 155, 239, 201, 65, 201, 50, 95, 148, 83, 49, 118, 33, 33, 163, 100, 8, 148, 253, 12, 204, 176, 180, 37, 190, 236, 165, 252, 255, 54, 42, 21, 18, 251, 43, 3, 4, 117, 254, 157, 156, 102, 103, 81, 88, 12, 88, 234, 81, 242, 158, 182, 124, 146, 63, 67, 118, 21, 164, 196, 252, 70, 251, 163, 101, 244, 52, 143, 174, 69, 81, 31, 132, 78, 24, 241, 125, 177, 207, 113, 1, 49, 252, 92, 72, 49, 12, 212, 201, 36, 43, 89, 20, 246, 236, 177, 11, 118, 186, 220, 6},
+{18, 201, 124, 179, 54, 166, 220, 154, 239, 44, 89, 164, 209, 233, 173, 88, 208, 187, 10, 50, 166, 50, 49, 78, 233, 133, 177, 185, 147, 116, 49, 27, 21, 118, 196, 252, 88, 221, 250, 244, 157, 167, 173, 128, 35, 145, 228, 22, 112, 50, 169, 132, 142, 181, 131, 163, 171, 217, 94, 240, 171, 63, 68, 95, 139, 75, 209, 148, 96, 250, 75, 117, 189, 118, 125, 37, 166, 74, 116, 134, 92, 52, 76, 244, 142, 206, 136, 17, 96, 37, 211, 201, 174, 6, 189, 125, 20, 84, 18, 41, 163, 0, 170, 254, 223, 245, 188, 139, 214, 100, 106, 10, 128, 71, 238, 23, 15, 190, 122, 79, 93, 101, 186, 49, 102, 10, 245, 168},
+{191, 120, 34, 222, 77, 32, 174, 147, 157, 47, 206, 109, 173, 177, 105, 182, 92, 126, 181, 20, 186, 183, 54, 200, 125, 192, 174, 125, 241, 179, 107, 151, 42, 120, 236, 202, 191, 185, 212, 32, 57, 45, 23, 167, 184, 7, 33, 165, 12, 103, 32, 168, 6, 112, 233, 253, 192, 40, 210, 108, 236, 147, 47, 223, 98, 244, 241, 184, 105, 189, 103, 235, 252, 127, 215, 209, 48, 53, 127, 143, 138, 100, 136, 144, 215, 23, 123, 200, 43, 217, 88, 111, 44, 132, 60, 57, 99, 3, 64, 157, 44, 166, 91, 41, 152, 60, 17, 213, 76, 39, 138, 11, 91, 49, 89, 124, 114, 187, 11, 86, 238, 132, 50, 141, 128, 202, 172, 76},
+{118, 18, 103, 106, 220, 146, 159, 187, 87, 76, 251, 205, 194, 139, 219, 91, 168, 47, 140, 23, 193, 95, 39, 185, 144, 51, 156, 105, 99, 106, 34, 233, 103, 222, 52, 138, 240, 229, 179, 201, 52, 159, 197, 176, 63, 81, 179, 252, 46, 75, 160, 63, 78, 213, 115, 149, 181, 224, 44, 39, 211, 71, 108, 199, 17, 125, 211, 30, 70, 74, 152, 117, 228, 224, 236, 167, 156, 13, 171, 84, 38, 24, 191, 147, 199, 219, 240, 216, 139, 54, 204, 24, 50, 90, 99, 63, 237, 185, 90, 148, 38, 25, 78, 151, 178, 226, 94, 191, 59, 164, 198, 45, 49, 1, 16, 20, 220, 233, 221, 250, 60, 35, 157, 233, 197, 77, 169, 164},
+{173, 248, 195, 249, 112, 242, 249, 168, 26, 81, 127, 184, 196, 157, 174, 254, 164, 117, 115, 215, 42, 180, 231, 203, 39, 141, 180, 252, 196, 160, 214, 86, 149, 196, 169, 74, 123, 6, 68, 191, 123, 153, 105, 77, 122, 214, 185, 171, 202, 167, 223, 28, 184, 116, 229, 44, 201, 225, 255, 57, 126, 165, 145, 217, 243, 129, 250, 88, 30, 229, 144, 228, 96, 52, 205, 137, 67, 236, 22, 230, 184, 212, 45, 246, 97, 189, 148, 244, 51, 123, 121, 107, 145, 45, 186, 153, 49, 135, 47, 184, 186, 163, 186, 194, 151, 74, 229, 136, 222, 171, 86, 174, 122, 15, 102, 235, 24, 204, 69, 113, 70, 31, 87, 20, 164, 199, 65, 31},
+{109, 55, 184, 5, 149, 102, 61, 68, 180, 93, 12, 46, 148, 82, 109, 90, 65, 86, 7, 183, 210, 101, 139, 109, 217, 91, 113, 28, 198, 5, 220, 109, 219, 66, 60, 185, 243, 173, 205, 238, 33, 203, 117, 209, 113, 112, 56, 5, 7, 12, 102, 108, 34, 240, 174, 131, 9, 114, 108, 177, 233, 150, 46, 91, 234, 129, 121, 95, 16, 60, 165, 148, 158, 210, 99, 98, 84, 31, 126, 124, 105, 184, 132, 56, 108, 222, 123, 230, 42, 163, 125, 48, 77, 70, 130, 131, 254, 123, 130, 142, 131, 99, 125, 230, 36, 136, 65, 201, 0, 21, 136, 242, 243, 242, 119, 198, 228, 198, 60, 189, 127, 2, 209, 9, 171, 195, 18, 131},
+{206, 97, 134, 35, 223, 51, 229, 168, 171, 142, 34, 39, 178, 144, 248, 2, 140, 158, 51, 0, 72, 200, 127, 192, 40, 118, 10, 167, 150, 92, 41, 92, 33, 99, 25, 240, 219, 188, 132, 207, 197, 194, 194, 202, 16, 152, 13, 63, 50, 104, 18, 255, 111, 125, 100, 42, 232, 204, 210, 135, 30, 209, 132, 206, 172, 164, 70, 69, 252, 171, 117, 154, 223, 23, 6, 88, 15, 130, 74, 65, 114, 205, 44, 245, 133, 180, 116, 193, 23, 197, 170, 142, 133, 241, 249, 209, 212, 97, 164, 192, 236, 115, 160, 106, 64, 176, 118, 171, 205, 28, 86, 195, 155, 252, 199, 225, 183, 19, 176, 33, 3, 220, 248, 213, 88, 75, 23, 15},
+{96, 212, 228, 207, 150, 242, 18, 61, 196, 217, 40, 4, 148, 233, 33, 249, 177, 133, 158, 11, 220, 7, 131, 180, 116, 123, 183, 205, 168, 44, 41, 47, 251, 141, 183, 240, 174, 151, 41, 145, 27, 190, 215, 183, 193, 77, 114, 74, 227, 242, 227, 252, 28, 139, 120, 100, 202, 51, 119, 149, 47, 203, 247, 64, 140, 250, 97, 31, 130, 87, 103, 239, 246, 165, 136, 98, 81, 209, 57, 80, 196, 69, 163, 37, 134, 23, 197, 130, 37, 184, 142, 242, 185, 47, 129, 73, 101, 34, 246, 124, 139, 56, 3, 147, 185, 88, 75, 109, 63, 21, 253, 9, 166, 117, 175, 160, 235, 107, 59, 192, 151, 29, 243, 157, 151, 41, 116, 87},
+{11, 102, 227, 77, 107, 231, 63, 248, 34, 55, 234, 119, 46, 85, 246, 163, 157, 12, 92, 5, 231, 157, 3, 111, 138, 159, 96, 39, 242, 23, 89, 170, 28, 44, 5, 236, 230, 62, 33, 77, 227, 222, 142, 204, 95, 33, 117, 151, 176, 0, 236, 252, 28, 242, 245, 2, 73, 220, 231, 48, 125, 15, 85, 171, 172, 77, 247, 52, 189, 138, 160, 118, 64, 13, 142, 209, 65, 200, 161, 207, 252, 93, 56, 56, 60, 182, 210, 12, 255, 69, 81, 46, 69, 145, 90, 223, 61, 215, 124, 44, 13, 94, 171, 45, 12, 235, 212, 26, 209, 125, 23, 106, 173, 19, 131, 57, 124, 178, 224, 43, 164, 119, 216, 156, 222, 101, 16, 248},
+{55, 155, 158, 171, 80, 142, 210, 213, 89, 254, 57, 205, 153, 38, 227, 53, 173, 44, 12, 252, 210, 219, 240, 139, 13, 212, 36, 141, 42, 14, 65, 123, 108, 31, 159, 88, 205, 164, 194, 184, 223, 120, 197, 239, 151, 168, 214, 158, 16, 206, 163, 168, 91, 47, 77, 230, 198, 152, 197, 106, 226, 137, 179, 48, 229, 57, 142, 13, 152, 26, 12, 177, 41, 130, 54, 96, 5, 28, 32, 58, 172, 15, 188, 115, 200, 196, 236, 226, 200, 11, 82, 213, 10, 188, 176, 234, 134, 214, 219, 114, 37, 212, 127, 224, 74, 179, 177, 252, 118, 136, 117, 172, 225, 91, 194, 245, 179, 227, 198, 197, 129, 233, 150, 13, 112, 88, 69, 6},
+{18, 230, 35, 63, 184, 92, 95, 140, 129, 52, 87, 19, 119, 166, 74, 94, 193, 44, 4, 225, 202, 190, 78, 253, 218, 135, 19, 169, 54, 213, 49, 86, 55, 182, 25, 220, 97, 185, 57, 65, 103, 152, 231, 205, 101, 180, 172, 57, 107, 26, 92, 14, 238, 190, 93, 45, 60, 174, 196, 77, 62, 226, 31, 11, 48, 8, 39, 194, 150, 85, 251, 197, 109, 104, 208, 30, 90, 151, 13, 244, 75, 239, 58, 51, 110, 13, 202, 243, 154, 55, 247, 79, 142, 184, 118, 58, 100, 246, 107, 116, 39, 71, 182, 55, 26, 13, 57, 133, 86, 139, 123, 228, 9, 100, 234, 52, 215, 150, 70, 215, 151, 196, 152, 196, 62, 240, 200, 6},
+{98, 34, 99, 172, 72, 178, 239, 185, 253, 117, 34, 214, 225, 96, 247, 54, 108, 138, 143, 29, 31, 35, 210, 225, 183, 18, 208, 148, 146, 126, 169, 250, 78, 26, 184, 239, 213, 51, 226, 175, 23, 55, 56, 93, 96, 168, 248, 170, 126, 241, 21, 203, 218, 246, 190, 144, 121, 204, 43, 177, 193, 79, 140, 110, 139, 82, 135, 164, 71, 209, 2, 184, 52, 33, 100, 113, 13, 55, 96, 36, 251, 88, 96, 215, 31, 38, 208, 210, 149, 82, 161, 51, 209, 76, 55, 150, 110, 205, 247, 118, 3, 1, 161, 79, 42, 153, 76, 214, 67, 9, 53, 26, 153, 22, 52, 3, 176, 87, 121, 73, 115, 219, 63, 27, 24, 84, 37, 16},
+{83, 131, 84, 28, 62, 213, 102, 24, 171, 20, 138, 104, 232, 28, 87, 84, 113, 187, 254, 179, 131, 240, 165, 108, 206, 75, 49, 159, 33, 138, 112, 194, 25, 68, 71, 178, 67, 98, 21, 73, 77, 8, 127, 123, 67, 178, 211, 124, 213, 229, 139, 24, 165, 120, 124, 130, 198, 173, 137, 191, 123, 39, 42, 2, 222, 202, 140, 71, 26, 22, 214, 55, 79, 14, 244, 51, 148, 12, 70, 253, 34, 235, 144, 64, 56, 4, 49, 168, 146, 176, 71, 92, 100, 51, 0, 220, 21, 40, 102, 7, 118, 234, 35, 233, 209, 75, 168, 60, 101, 167, 102, 89, 144, 56, 235, 122, 115, 54, 206, 228, 121, 60, 178, 7, 16, 220, 68, 174},
+{163, 31, 44, 255, 123, 201, 78, 151, 227, 179, 12, 219, 146, 82, 156, 27, 91, 234, 4, 139, 101, 157, 148, 13, 106, 112, 37, 183, 212, 116, 186, 253, 222, 71, 170, 44, 214, 218, 250, 117, 246, 76, 237, 198, 124, 91, 255, 140, 171, 180, 59, 184, 104, 107, 47, 70, 115, 199, 62, 98, 219, 166, 113, 196, 83, 94, 5, 76, 181, 200, 39, 31, 91, 158, 167, 119, 204, 125, 55, 201, 112, 255, 160, 215, 227, 143, 186, 97, 215, 180, 184, 115, 18, 230, 145, 32, 90, 36, 192, 27, 151, 121, 75, 215, 38, 118, 98, 192, 209, 102, 55, 198, 157, 31, 93, 2, 197, 202, 215, 146, 97, 3, 52, 47, 59, 94, 7, 42},
+{171, 94, 6, 35, 96, 100, 131, 158, 110, 211, 18, 87, 16, 200, 181, 143, 48, 213, 154, 23, 110, 8, 176, 223, 53, 251, 21, 92, 152, 88, 216, 179, 203, 131, 138, 136, 76, 70, 52, 122, 190, 218, 250, 207, 69, 61, 60, 255, 232, 120, 221, 185, 31, 52, 194, 184, 245, 159, 134, 16, 232, 158, 188, 153, 188, 27, 245, 20, 222, 206, 234, 66, 53, 230, 167, 4, 158, 192, 122, 255, 207, 61, 157, 31, 31, 81, 209, 229, 43, 176, 41, 159, 81, 159, 71, 26, 70, 53, 25, 208, 130, 55, 56, 227, 3, 167, 64, 132, 169, 202, 72, 233, 34, 98, 32, 226, 136, 208, 30, 105, 90, 172, 85, 189, 194, 221, 57, 23},
+{77, 243, 215, 32, 134, 68, 220, 4, 113, 170, 82, 41, 39, 70, 104, 135, 126, 93, 95, 228, 201, 218, 106, 142, 56, 88, 201, 75, 8, 209, 75, 52, 112, 128, 213, 49, 177, 234, 74, 172, 224, 105, 196, 77, 85, 110, 176, 243, 240, 144, 180, 138, 9, 49, 51, 154, 96, 57, 243, 235, 192, 80, 39, 185, 178, 1, 149, 42, 221, 203, 144, 186, 72, 10, 0, 88, 136, 87, 61, 85, 96, 152, 168, 235, 236, 99, 63, 227, 61, 14, 163, 23, 16, 165, 42, 102, 181, 64, 90, 227, 48, 19, 195, 116, 12, 40, 88, 144, 135, 147, 208, 100, 25, 80, 62, 144, 209, 135, 145, 158, 146, 117, 157, 188, 20, 161, 88, 99},
+{62, 192, 161, 168, 94, 176, 65, 243, 251, 180, 210, 208, 163, 175, 234, 60, 182, 173, 101, 222, 15, 166, 171, 39, 250, 218, 43, 37, 161, 247, 69, 160, 193, 48, 195, 250, 5, 71, 98, 11, 104, 218, 245, 90, 107, 157, 216, 64, 114, 133, 27, 62, 108, 152, 46, 171, 151, 11, 218, 247, 86, 39, 40, 8, 14, 80, 62, 61, 194, 88, 204, 130, 252, 30, 188, 86, 216, 113, 206, 201, 202, 44, 159, 66, 119, 60, 78, 158, 147, 243, 110, 249, 222, 148, 63, 145, 148, 179, 137, 247, 62, 104, 0, 212, 197, 125, 38, 223, 204, 245, 59, 139, 9, 24, 3, 199, 182, 20, 26, 220, 236, 219, 17, 29, 11, 10, 33, 25},
+{21, 254, 69, 53, 43, 220, 237, 235, 67, 133, 59, 190, 29, 92, 78, 194, 218, 177, 114, 58, 36, 147, 109, 212, 135, 25, 242, 50, 177, 100, 92, 229, 128, 141, 132, 173, 188, 63, 84, 86, 23, 133, 235, 123, 101, 66, 226, 100, 27, 128, 5, 56, 191, 171, 219, 195, 181, 7, 153, 87, 217, 25, 217, 35, 234, 126, 184, 189, 242, 181, 46, 42, 143, 84, 53, 127, 141, 10, 52, 26, 8, 186, 16, 93, 192, 242, 89, 77, 232, 194, 229, 184, 199, 165, 232, 164, 98, 128, 83, 215, 37, 116, 161, 205, 92, 153, 155, 149, 193, 155, 103, 181, 180, 172, 2, 32, 121, 216, 236, 113, 55, 20, 138, 145, 34, 207, 80, 231},
+{81, 254, 141, 215, 211, 18, 97, 43, 147, 30, 139, 245, 218, 245, 167, 14, 88, 237, 162, 229, 78, 138, 34, 183, 88, 52, 88, 181, 19, 127, 215, 4, 135, 150, 188, 225, 224, 117, 196, 107, 138, 14, 236, 167, 101, 0, 150, 190, 90, 28, 85, 63, 252, 242, 221, 240, 123, 28, 226, 205, 73, 92, 72, 223, 233, 190, 195, 39, 203, 140, 56, 114, 115, 199, 193, 7, 46, 83, 184, 181, 29, 179, 204, 224, 72, 232, 156, 53, 19, 191, 145, 120, 216, 66, 102, 121, 192, 110, 59, 46, 250, 193, 58, 228, 115, 62, 94, 14, 197, 83, 93, 95, 58, 37, 168, 206, 35, 70, 203, 158, 111, 5, 111, 7, 198, 125, 192, 201},
+{184, 144, 176, 47, 203, 204, 208, 199, 185, 141, 100, 248, 189, 217, 31, 176, 205, 101, 135, 64, 86, 45, 14, 13, 103, 60, 6, 175, 158, 189, 64, 242, 118, 69, 187, 174, 2, 34, 185, 240, 161, 230, 138, 169, 118, 107, 104, 224, 44, 2, 87, 56, 26, 140, 249, 185, 249, 233, 12, 160, 218, 11, 218, 217, 39, 175, 32, 35, 15, 214, 43, 74, 23, 126, 243, 107, 23, 207, 231, 183, 192, 211, 18, 96, 147, 228, 172, 167, 172, 208, 167, 109, 122, 136, 133, 152, 108, 139, 77, 205, 93, 99, 87, 60, 170, 173, 249, 43, 223, 133, 166, 129, 59, 54, 83, 137, 76, 181, 41, 74, 37, 173, 29, 50, 99, 43, 17, 37},
+{43, 196, 30, 82, 187, 249, 95, 77, 76, 9, 40, 19, 159, 247, 90, 25, 93, 105, 25, 42, 165, 158, 174, 107, 122, 91, 84, 9, 249, 232, 83, 133, 216, 215, 236, 96, 55, 53, 233, 114, 75, 40, 213, 223, 34, 43, 136, 128, 201, 44, 130, 11, 65, 139, 60, 102, 3, 14, 184, 100, 102, 69, 234, 251, 139, 96, 132, 15, 68, 32, 173, 180, 101, 83, 208, 229, 116, 42, 3, 168, 170, 115, 91, 152, 55, 170, 44, 253, 66, 15, 104, 50, 153, 207, 43, 223, 38, 17, 21, 233, 159, 84, 227, 33, 209, 172, 76, 59, 96, 69, 199, 135, 65, 17, 54, 250, 63, 54, 109, 103, 243, 125, 250, 194, 143, 138, 154, 225},
+{23, 140, 114, 84, 173, 194, 133, 13, 65, 192, 243, 70, 153, 160, 98, 204, 115, 93, 124, 209, 33, 13, 23, 68, 192, 26, 120, 56, 111, 175, 25, 109, 90, 9, 182, 127, 253, 118, 238, 17, 132, 21, 235, 19, 122, 250, 253, 141, 5, 25, 154, 177, 243, 15, 36, 111, 171, 230, 221, 231, 201, 77, 29, 166, 13, 93, 120, 14, 106, 189, 191, 78, 48, 18, 177, 89, 236, 31, 241, 196, 17, 218, 158, 62, 4, 80, 46, 230, 68, 232, 74, 70, 253, 137, 185, 147, 39, 164, 21, 48, 175, 172, 85, 168, 205, 8, 217, 83, 89, 1, 48, 62, 54, 235, 53, 244, 209, 46, 54, 165, 29, 19, 227, 39, 188, 152, 189, 30},
+{75, 50, 88, 56, 198, 160, 155, 50, 51, 145, 245, 185, 39, 95, 158, 159, 49, 201, 153, 169, 198, 52, 149, 17, 31, 61, 202, 122, 13, 21, 254, 104, 208, 242, 238, 102, 43, 10, 234, 183, 141, 197, 244, 161, 212, 74, 42, 191, 224, 47, 224, 138, 155, 224, 226, 185, 10, 91, 177, 228, 66, 71, 128, 48, 21, 160, 247, 25, 243, 103, 234, 229, 230, 225, 50, 220, 117, 162, 89, 21, 139, 75, 107, 23, 70, 5, 19, 212, 104, 132, 97, 51, 99, 210, 44, 122, 103, 162, 135, 156, 17, 130, 44, 20, 141, 58, 46, 182, 188, 186, 77, 75, 90, 228, 132, 8, 192, 237, 15, 81, 117, 69, 34, 221, 152, 246, 240, 184},
+{188, 70, 124, 83, 119, 73, 136, 133, 3, 124, 236, 23, 106, 188, 145, 19, 93, 16, 75, 105, 5, 140, 214, 59, 93, 194, 59, 147, 62, 237, 85, 72, 154, 119, 82, 232, 222, 90, 141, 195, 244, 139, 129, 166, 143, 166, 12, 32, 108, 227, 155, 242, 17, 172, 179, 210, 204, 128, 116, 49, 79, 195, 47, 22, 220, 1, 93, 171, 185, 172, 163, 0, 147, 176, 106, 60, 118, 6, 212, 39, 116, 180, 126, 59, 99, 14, 139, 208, 213, 96, 76, 255, 209, 184, 16, 95, 43, 42, 194, 39, 31, 81, 119, 55, 165, 154, 233, 248, 77, 219, 184, 107, 57, 25, 40, 105, 231, 85, 238, 186, 94, 102, 27, 250, 79, 163, 233, 119},
+{82, 138, 112, 20, 0, 197, 7, 193, 233, 208, 18, 88, 85, 236, 121, 64, 97, 166, 194, 78, 99, 154, 151, 187, 112, 58, 117, 219, 21, 247, 90, 169, 96, 64, 173, 111, 213, 162, 5, 95, 215, 74, 224, 198, 146, 228, 84, 217, 9, 41, 178, 114, 231, 66, 218, 78, 152, 114, 159, 194, 67, 56, 184, 89, 16, 83, 215, 157, 109, 143, 147, 34, 248, 62, 17, 102, 53, 71, 244, 199, 77, 179, 66, 37, 3, 49, 133, 181, 1, 8, 225, 2, 166, 226, 164, 119, 118, 4, 157, 158, 236, 245, 155, 168, 181, 19, 188, 212, 209, 62, 38, 43, 123, 20, 211, 162, 65, 244, 94, 52, 70, 169, 156, 67, 85, 181, 166, 51},
+{103, 133, 35, 214, 21, 75, 149, 91, 102, 45, 254, 52, 40, 215, 172, 73, 159, 10, 253, 138, 22, 24, 245, 152, 234, 237, 112, 66, 52, 153, 154, 139, 74, 216, 224, 176, 11, 67, 106, 110, 166, 226, 71, 34, 129, 193, 89, 46, 3, 145, 154, 123, 148, 125, 216, 240, 248, 4, 232, 30, 186, 104, 161, 118, 82, 209, 60, 51, 76, 46, 209, 145, 126, 67, 97, 52, 151, 101, 163, 173, 202, 132, 100, 254, 235, 164, 12, 137, 170, 127, 178, 141, 7, 164, 75, 190, 58, 84, 233, 102, 138, 163, 242, 82, 187, 237, 15, 67, 38, 179, 29, 5, 194, 72, 1, 123, 130, 106, 230, 41, 144, 175, 32, 112, 123, 246, 12, 200},
+{170, 129, 118, 243, 28, 24, 103, 162, 20, 86, 71, 217, 238, 242, 142, 252, 79, 245, 238, 23, 183, 90, 3, 190, 207, 6, 222, 218, 230, 84, 103, 78, 105, 159, 9, 23, 7, 238, 235, 146, 42, 152, 38, 34, 58, 90, 17, 143, 230, 70, 170, 84, 142, 108, 207, 158, 17, 190, 9, 248, 180, 186, 24, 180, 91, 169, 223, 64, 235, 252, 236, 99, 226, 44, 172, 175, 199, 54, 28, 76, 161, 26, 21, 98, 226, 122, 50, 56, 112, 125, 153, 139, 221, 30, 253, 72, 173, 45, 138, 31, 160, 144, 19, 233, 115, 0, 94, 140, 178, 203, 43, 151, 115, 44, 31, 133, 163, 94, 86, 51, 56, 158, 231, 132, 118, 232, 158, 125},
+{84, 52, 88, 203, 109, 171, 175, 21, 114, 134, 98, 148, 211, 200, 34, 5, 70, 147, 82, 93, 251, 14, 198, 253, 239, 13, 130, 138, 51, 194, 154, 241, 253, 10, 71, 80, 233, 230, 162, 58, 124, 113, 121, 96, 93, 135, 178, 191, 172, 181, 125, 88, 96, 97, 84, 167, 13, 112, 19, 204, 53, 206, 154, 59, 100, 130, 34, 213, 63, 198, 211, 63, 204, 72, 10, 76, 34, 221, 158, 210, 188, 86, 238, 139, 212, 237, 179, 254, 195, 11, 239, 29, 192, 181, 74, 11, 26, 20, 59, 106, 234, 105, 70, 69, 63, 196, 196, 170, 250, 164, 14, 5, 102, 33, 2, 240, 202, 173, 254, 200, 158, 155, 117, 211, 199, 52, 192, 157},
+{203, 16, 21, 66, 230, 108, 220, 9, 78, 59, 180, 238, 7, 47, 176, 190, 169, 166, 141, 197, 94, 155, 224, 244, 17, 181, 132, 156, 240, 206, 181, 116, 206, 159, 100, 156, 82, 210, 255, 54, 119, 74, 151, 241, 121, 60, 89, 238, 124, 83, 141, 113, 82, 93, 249, 133, 183, 19, 165, 114, 191, 246, 160, 125, 52, 105, 71, 194, 228, 190, 86, 153, 138, 226, 178, 241, 16, 79, 253, 88, 166, 133, 155, 56, 145, 6, 105, 15, 133, 245, 193, 232, 149, 1, 23, 42, 175, 13, 46, 223, 77, 189, 255, 107, 195, 82, 48, 108, 78, 210, 17, 155, 55, 162, 235, 22, 145, 156, 104, 82, 154, 11, 142, 98, 98, 121, 166, 82},
+{103, 105, 51, 34, 83, 44, 225, 89, 108, 91, 155, 186, 174, 90, 66, 36, 245, 48, 247, 217, 106, 151, 211, 254, 150, 142, 242, 97, 229, 140, 82, 112, 94, 4, 78, 231, 187, 77, 136, 118, 63, 126, 150, 33, 155, 156, 31, 24, 147, 137, 41, 124, 10, 205, 179, 34, 41, 195, 119, 79, 167, 71, 249, 141, 238, 96, 45, 36, 105, 41, 30, 102, 148, 182, 188, 75, 152, 53, 146, 34, 136, 144, 165, 232, 230, 146, 24, 196, 63, 136, 57, 85, 220, 120, 196, 77, 78, 51, 180, 115, 54, 173, 18, 97, 66, 86, 188, 56, 65, 162, 235, 84, 92, 89, 101, 93, 188, 161, 143, 152, 10, 235, 164, 111, 151, 229, 251, 209},
+{64, 254, 167, 86, 57, 231, 234, 139, 182, 56, 145, 207, 12, 184, 246, 102, 249, 82, 237, 129, 54, 216, 248, 115, 221, 125, 252, 185, 175, 194, 136, 161, 121, 150, 46, 175, 158, 187, 248, 69, 124, 12, 231, 158, 243, 75, 28, 147, 193, 130, 25, 244, 128, 175, 100, 32, 69, 195, 252, 172, 72, 207, 228, 12, 121, 55, 224, 19, 84, 35, 63, 16, 227, 112, 1, 27, 85, 208, 53, 100, 21, 192, 12, 67, 131, 87, 108, 169, 255, 198, 241, 119, 69, 36, 236, 117, 115, 156, 195, 191, 24, 174, 75, 183, 138, 239, 145, 21, 2, 149, 22, 200, 251, 233, 150, 91, 98, 39, 160, 234, 238, 188, 191, 45, 225, 113, 35, 195},
+{57, 79, 124, 40, 55, 166, 72, 88, 160, 24, 97, 217, 30, 54, 47, 232, 206, 103, 207, 145, 10, 185, 158, 149, 9, 168, 197, 220, 22, 56, 182, 198, 223, 46, 104, 204, 205, 27, 64, 231, 240, 44, 79, 135, 99, 66, 143, 243, 13, 116, 30, 17, 167, 225, 59, 179, 208, 20, 127, 177, 238, 17, 109, 178, 140, 134, 85, 102, 57, 100, 123, 85, 208, 94, 131, 236, 78, 99, 240, 201, 173, 107, 17, 123, 136, 176, 143, 73, 196, 190, 36, 175, 148, 247, 83, 13, 23, 200, 64, 63, 232, 36, 156, 43, 216, 81, 52, 28, 219, 64, 25, 216, 29, 5, 58, 69, 251, 44, 122, 19, 67, 141, 192, 119, 169, 9, 48, 187},
+{61, 226, 224, 76, 145, 28, 77, 158, 29, 114, 39, 237, 221, 164, 190, 99, 239, 164, 212, 173, 127, 9, 33, 181, 228, 213, 69, 182, 28, 80, 21, 34, 161, 237, 141, 204, 63, 7, 1, 103, 129, 16, 150, 252, 74, 223, 79, 251, 72, 214, 141, 153, 11, 53, 162, 26, 49, 180, 232, 117, 47, 135, 97, 70, 126, 243, 152, 228, 100, 242, 179, 89, 199, 165, 49, 49, 9, 212, 77, 251, 111, 197, 106, 128, 146, 198, 194, 20, 215, 29, 129, 89, 76, 104, 9, 57, 202, 204, 47, 116, 155, 96, 217, 83, 253, 202, 172, 245, 180, 20, 142, 163, 28, 14, 78, 255, 149, 219, 59, 151, 164, 246, 69, 40, 123, 91, 103, 83},
+{114, 54, 178, 229, 128, 171, 117, 228, 103, 75, 143, 121, 16, 165, 191, 173, 237, 70, 36, 212, 120, 59, 52, 100, 168, 112, 19, 86, 129, 44, 114, 171, 81, 72, 179, 62, 152, 163, 228, 37, 229, 129, 56, 113, 151, 18, 165, 193, 111, 40, 43, 12, 75, 39, 234, 117, 221, 180, 186, 199, 32, 247, 146, 32, 9, 106, 158, 235, 117, 247, 245, 68, 56, 93, 241, 85, 112, 58, 198, 104, 43, 69, 153, 190, 127, 41, 210, 210, 79, 210, 87, 112, 60, 22, 126, 88, 201, 229, 233, 147, 136, 37, 21, 47, 237, 230, 54, 114, 65, 117, 51, 74, 195, 36, 98, 137, 172, 121, 104, 166, 231, 183, 34, 139, 251, 92, 202, 92},
+{171, 200, 227, 138, 44, 137, 209, 29, 123, 220, 150, 238, 101, 6, 79, 211, 66, 80, 143, 1, 20, 229, 154, 126, 61, 12, 246, 24, 133, 111, 60, 169, 100, 191, 171, 49, 64, 102, 180, 181, 21, 172, 182, 121, 235, 178, 147, 37, 22, 88, 63, 239, 6, 214, 38, 83, 84, 105, 79, 86, 82, 205, 205, 159, 86, 208, 65, 102, 30, 50, 19, 65, 77, 102, 187, 28, 213, 233, 206, 96, 124, 4, 111, 157, 105, 145, 124, 72, 99, 255, 218, 148, 47, 178, 203, 230, 0, 158, 2, 147, 0, 159, 235, 88, 212, 95, 188, 95, 171, 116, 122, 17, 233, 240, 59, 148, 243, 11, 67, 35, 218, 219, 239, 228, 237, 88, 121, 115},
+{35, 99, 171, 177, 22, 142, 150, 93, 3, 98, 185, 85, 151, 254, 224, 141, 55, 241, 76, 203, 81, 56, 10, 24, 225, 27, 231, 156, 15, 206, 13, 67, 206, 56, 131, 221, 254, 144, 16, 59, 112, 252, 156, 157, 28, 195, 117, 121, 36, 230, 21, 223, 211, 203, 105, 169, 163, 141, 1, 6, 163, 96, 239, 249, 81, 52, 11, 176, 198, 77, 54, 48, 242, 41, 111, 107, 120, 253, 254, 160, 211, 183, 132, 164, 122, 168, 76, 178, 143, 85, 121, 103, 46, 95, 201, 105, 183, 55, 34, 228, 248, 252, 24, 160, 124, 44, 239, 255, 88, 18, 55, 60, 132, 200, 212, 5, 219, 214, 24, 49, 52, 10, 24, 194, 42, 55, 9, 169},
+{25, 99, 238, 179, 130, 9, 122, 57, 31, 5, 119, 122, 70, 5, 195, 138, 249, 216, 106, 63, 221, 246, 157, 92, 133, 126, 1, 67, 189, 163, 159, 100, 140, 69, 220, 148, 8, 222, 245, 19, 60, 109, 167, 221, 118, 176, 71, 15, 172, 177, 131, 39, 179, 166, 239, 209, 108, 103, 5, 32, 187, 198, 143, 149, 134, 172, 31, 57, 99, 40, 26, 172, 99, 209, 129, 165, 60, 123, 103, 184, 72, 225, 140, 181, 245, 199, 5, 150, 122, 253, 52, 76, 168, 140, 39, 62, 41, 202, 171, 150, 246, 167, 121, 110, 237, 213, 48, 18, 248, 31, 210, 20, 80, 190, 13, 175, 183, 167, 115, 100, 209, 177, 152, 103, 232, 130, 86, 121},
+{176, 217, 171, 56, 27, 236, 194, 92, 159, 58, 223, 132, 178, 250, 150, 18, 115, 34, 39, 82, 176, 41, 244, 18, 86, 32, 49, 174, 183, 246, 32, 165, 127, 220, 127, 191, 59, 30, 116, 189, 42, 85, 24, 216, 78, 66, 180, 128, 74, 177, 106, 152, 239, 104, 186, 118, 39, 43, 197, 235, 245, 137, 6, 212, 192, 144, 225, 232, 193, 150, 198, 168, 74, 70, 9, 140, 142, 229, 119, 140, 5, 67, 153, 254, 108, 143, 81, 102, 174, 140, 115, 255, 89, 167, 32, 79, 226, 132, 148, 196, 27, 76, 231, 100, 167, 139, 207, 26, 222, 168, 54, 224, 57, 152, 88, 198, 56, 60, 33, 227, 67, 16, 124, 54, 118, 253, 153, 168},
+{23, 127, 54, 122, 63, 251, 144, 163, 80, 35, 192, 106, 196, 16, 147, 228, 244, 114, 75, 3, 163, 185, 224, 178, 175, 110, 162, 17, 202, 237, 243, 193, 86, 140, 99, 228, 100, 135, 154, 40, 161, 87, 64, 167, 48, 73, 185, 39, 195, 146, 55, 229, 7, 161, 87, 231, 184, 87, 133, 255, 133, 166, 48, 14, 158, 86, 118, 191, 73, 128, 162, 154, 19, 133, 252, 49, 111, 210, 205, 66, 229, 247, 76, 211, 221, 234, 191, 249, 94, 148, 181, 10, 57, 100, 43, 141, 193, 231, 202, 183, 207, 39, 5, 211, 221, 228, 185, 213, 215, 236, 146, 67, 70, 31, 208, 184, 150, 139, 27, 214, 99, 22, 209, 50, 103, 212, 232, 169},
+{89, 27, 89, 207, 151, 246, 6, 23, 218, 0, 128, 180, 181, 53, 208, 123, 20, 48, 111, 188, 137, 141, 110, 206, 7, 125, 226, 196, 64, 14, 136, 10, 57, 173, 255, 9, 145, 43, 12, 176, 173, 17, 47, 71, 238, 121, 245, 118, 255, 171, 171, 194, 16, 188, 71, 1, 41, 106, 55, 248, 243, 25, 65, 255, 116, 75, 43, 103, 144, 170, 252, 212, 159, 44, 142, 44, 192, 152, 24, 223, 110, 8, 42, 32, 41, 79, 44, 80, 216, 83, 57, 184, 233, 51, 103, 218, 101, 151, 123, 244, 91, 110, 201, 68, 147, 122, 98, 138, 49, 245, 252, 144, 68, 28, 233, 40, 129, 100, 124, 104, 40, 248, 5, 90, 193, 95, 181, 168},
+{30, 148, 85, 57, 247, 17, 187, 156, 172, 199, 1, 173, 32, 152, 36, 203, 2, 255, 126, 12, 64, 37, 245, 35, 224, 149, 29, 154, 21, 250, 152, 46, 124, 158, 107, 237, 96, 157, 7, 90, 49, 125, 89, 153, 169, 117, 26, 92, 18, 26, 245, 87, 16, 161, 254, 188, 78, 92, 177, 2, 194, 56, 48, 1, 65, 92, 34, 81, 219, 232, 63, 80, 243, 99, 215, 109, 54, 140, 146, 101, 18, 167, 104, 127, 116, 51, 216, 92, 11, 131, 107, 143, 9, 163, 217, 7, 147, 173, 7, 148, 169, 58, 226, 236, 103, 166, 150, 135, 63, 59, 201, 159, 83, 169, 253, 232, 34, 194, 172, 6, 140, 166, 128, 121, 25, 172, 95, 139},
+{75, 196, 121, 203, 89, 138, 239, 187, 68, 40, 79, 183, 246, 35, 249, 57, 73, 224, 253, 127, 79, 181, 174, 18, 188, 109, 32, 46, 166, 175, 215, 83, 193, 116, 219, 81, 142, 36, 124, 229, 197, 54, 100, 57, 253, 122, 106, 34, 194, 40, 153, 180, 166, 228, 234, 206, 43, 219, 108, 181, 84, 160, 46, 221, 155, 195, 209, 17, 134, 50, 137, 192, 210, 6, 164, 210, 95, 82, 136, 241, 138, 97, 144, 162, 150, 63, 167, 43, 48, 183, 86, 31, 38, 26, 86, 115, 2, 17, 45, 113, 183, 70, 158, 112, 87, 156, 11, 247, 84, 39, 56, 244, 5, 213, 100, 51, 131, 76, 103, 168, 32, 84, 79, 142, 54, 130, 65, 184},
+{160, 157, 198, 24, 204, 238, 69, 123, 58, 174, 156, 239, 100, 40, 18, 19, 206, 163, 78, 112, 68, 180, 165, 132, 26, 14, 13, 252, 188, 107, 103, 153, 194, 150, 34, 253, 234, 212, 46, 177, 90, 3, 157, 196, 46, 73, 243, 204, 146, 6, 23, 38, 183, 83, 150, 219, 61, 138, 130, 222, 105, 93, 54, 153, 93, 41, 237, 195, 207, 19, 224, 145, 131, 160, 11, 160, 205, 43, 28, 210, 89, 52, 24, 56, 162, 200, 240, 218, 57, 213, 194, 128, 92, 88, 11, 71, 69, 181, 156, 64, 199, 109, 198, 165, 244, 72, 179, 140, 114, 42, 141, 99, 244, 187, 37, 190, 206, 113, 227, 94, 101, 111, 117, 123, 225, 24, 55, 88},
+{162, 115, 41, 181, 78, 252, 134, 197, 146, 196, 115, 112, 21, 79, 189, 120, 88, 77, 26, 172, 173, 232, 75, 109, 96, 97, 88, 189, 117, 15, 168, 0, 254, 123, 9, 125, 127, 66, 51, 24, 194, 208, 178, 39, 89, 0, 200, 135, 254, 10, 217, 90, 123, 112, 106, 2, 139, 177, 136, 46, 128, 83, 108, 194, 137, 83, 67, 124, 117, 241, 109, 59, 76, 27, 173, 139, 29, 10, 144, 66, 179, 141, 118, 131, 55, 19, 210, 62, 159, 201, 140, 33, 123, 194, 76, 30, 139, 80, 61, 167, 20, 91, 228, 68, 180, 2, 255, 27, 164, 140, 95, 252, 74, 29, 141, 32, 77, 205, 106, 18, 118, 242, 119, 125, 163, 199, 212, 90},
+{194, 246, 254, 18, 111, 251, 52, 117, 112, 248, 88, 128, 143, 98, 64, 182, 239, 125, 51, 207, 175, 202, 200, 64, 252, 72, 38, 82, 173, 61, 180, 56, 227, 70, 214, 63, 77, 73, 162, 227, 115, 223, 134, 90, 149, 203, 68, 135, 80, 211, 55, 131, 186, 107, 194, 58, 103, 174, 219, 229, 243, 96, 205, 43, 81, 87, 91, 102, 61, 82, 152, 133, 164, 115, 47, 102, 61, 149, 39, 159, 129, 13, 151, 107, 167, 83, 220, 116, 191, 59, 17, 67, 228, 80, 41, 220, 54, 11, 1, 196, 67, 100, 77, 123, 56, 159, 98, 177, 98, 22, 145, 219, 176, 50, 132, 21, 45, 221, 95, 100, 103, 128, 162, 134, 56, 171, 176, 92},
+{10, 134, 135, 74, 240, 89, 130, 93, 46, 212, 152, 145, 243, 43, 131, 38, 107, 205, 125, 117, 101, 60, 241, 148, 143, 248, 207, 1, 110, 98, 9, 78, 93, 94, 249, 196, 104, 105, 218, 135, 128, 0, 123, 101, 166, 170, 114, 224, 139, 185, 232, 195, 44, 204, 228, 113, 101, 151, 166, 6, 12, 98, 226, 255, 118, 240, 251, 99, 173, 5, 20, 206, 164, 55, 126, 142, 189, 148, 75, 246, 236, 56, 215, 64, 189, 78, 50, 130, 174, 13, 229, 216, 45, 220, 86, 88, 140, 82, 104, 207, 245, 159, 128, 39, 226, 61, 185, 133, 45, 101, 164, 195, 25, 91, 213, 61, 65, 246, 204, 243, 18, 100, 76, 71, 121, 251, 200, 67},
+{75, 147, 74, 255, 163, 1, 180, 44, 100, 34, 108, 2, 105, 201, 126, 165, 149, 42, 90, 73, 226, 197, 26, 1, 46, 82, 215, 23, 8, 120, 202, 49, 151, 12, 2, 212, 213, 181, 63, 176, 28, 185, 93, 205, 50, 113, 104, 152, 209, 78, 160, 107, 101, 54, 160, 64, 179, 89, 44, 184, 168, 174, 217, 154, 209, 23, 18, 12, 17, 80, 210, 88, 214, 240, 71, 132, 94, 74, 159, 242, 202, 39, 195, 227, 92, 197, 249, 133, 17, 25, 237, 31, 79, 131, 209, 119, 67, 65, 209, 234, 243, 241, 219, 69, 51, 229, 31, 67, 196, 12, 102, 24, 236, 158, 180, 157, 56, 234, 145, 22, 50, 60, 204, 216, 72, 251, 135, 89},
+{75, 45, 234, 88, 252, 210, 104, 216, 38, 19, 125, 42, 188, 93, 33, 42, 254, 83, 12, 133, 203, 117, 0, 102, 22, 250, 165, 41, 149, 249, 225, 222, 36, 247, 71, 22, 73, 179, 230, 21, 131, 90, 235, 121, 96, 65, 86, 203, 137, 59, 235, 89, 180, 19, 196, 17, 244, 99, 224, 5, 137, 230, 64, 135, 35, 217, 94, 109, 35, 56, 5, 137, 1, 238, 4, 53, 228, 137, 125, 97, 70, 217, 176, 90, 136, 34, 201, 255, 190, 23, 37, 111, 165, 109, 246, 213, 209, 45, 68, 79, 180, 101, 39, 195, 229, 142, 197, 85, 179, 121, 53, 132, 14, 94, 106, 12, 148, 242, 203, 194, 170, 157, 142, 202, 189, 67, 144, 167},
+{122, 243, 31, 112, 193, 40, 227, 248, 33, 106, 99, 124, 249, 6, 201, 118, 97, 225, 189, 155, 68, 147, 249, 47, 93, 125, 147, 136, 216, 66, 105, 238, 133, 123, 36, 136, 30, 217, 189, 56, 190, 190, 38, 87, 3, 252, 151, 129, 253, 53, 221, 167, 15, 197, 95, 148, 14, 197, 44, 195, 53, 76, 192, 114, 56, 161, 222, 180, 4, 112, 199, 110, 105, 43, 194, 19, 219, 231, 182, 254, 233, 100, 73, 83, 225, 111, 0, 154, 224, 146, 104, 218, 255, 59, 46, 46, 122, 40, 189, 12, 218, 90, 196, 178, 23, 65, 154, 229, 218, 156, 145, 239, 157, 75, 210, 109, 236, 103, 29, 244, 26, 26, 103, 64, 149, 172, 117, 164},
+{148, 44, 67, 56, 22, 49, 226, 63, 53, 192, 6, 204, 109, 76, 146, 33, 163, 85, 160, 104, 247, 96, 59, 24, 228, 14, 82, 157, 177, 164, 239, 109, 12, 181, 249, 43, 111, 109, 181, 9, 156, 149, 108, 157, 245, 136, 53, 96, 255, 119, 174, 37, 190, 141, 40, 222, 151, 166, 88, 217, 144, 146, 80, 235, 50, 86, 74, 193, 124, 217, 216, 170, 22, 205, 206, 187, 223, 47, 39, 11, 108, 143, 186, 20, 131, 150, 148, 193, 70, 140, 81, 158, 183, 106, 78, 30, 0, 98, 142, 5, 55, 217, 181, 241, 149, 56, 168, 38, 242, 142, 208, 114, 90, 178, 101, 134, 81, 147, 65, 173, 114, 119, 234, 146, 161, 223, 62, 49},
+{185, 114, 74, 219, 17, 95, 135, 21, 200, 226, 93, 225, 65, 124, 156, 172, 69, 202, 54, 56, 186, 157, 157, 44, 48, 162, 238, 144, 157, 212, 103, 170, 75, 56, 244, 25, 99, 83, 33, 33, 130, 51, 28, 245, 186, 249, 62, 253, 122, 186, 96, 182, 88, 17, 147, 242, 253, 53, 244, 194, 48, 34, 135, 221, 101, 14, 145, 60, 159, 65, 59, 177, 175, 20, 130, 2, 16, 104, 123, 5, 178, 154, 101, 47, 3, 92, 101, 122, 209, 7, 27, 229, 92, 135, 93, 69, 42, 50, 184, 129, 50, 245, 41, 31, 201, 239, 106, 153, 136, 79, 252, 217, 113, 136, 121, 41, 251, 183, 204, 197, 250, 135, 218, 75, 208, 106, 255, 107},
+{19, 228, 105, 108, 134, 246, 16, 107, 205, 42, 177, 218, 163, 170, 9, 40, 66, 214, 6, 27, 20, 237, 166, 128, 177, 212, 14, 138, 252, 207, 100, 160, 253, 71, 176, 56, 18, 63, 105, 156, 189, 112, 64, 66, 242, 178, 58, 254, 26, 206, 12, 100, 93, 48, 103, 11, 16, 63, 0, 111, 221, 93, 57, 131, 39, 170, 65, 235, 112, 96, 112, 138, 164, 25, 135, 101, 87, 27, 200, 31, 191, 155, 205, 232, 54, 90, 52, 23, 153, 7, 45, 115, 220, 174, 93, 191, 188, 151, 2, 138, 134, 85, 184, 43, 167, 100, 207, 244, 45, 126, 66, 41, 66, 115, 109, 44, 37, 70, 115, 137, 206, 3, 26, 197, 134, 119, 185, 253},
+{76, 68, 192, 116, 40, 2, 38, 168, 62, 201, 157, 170, 58, 231, 163, 135, 0, 188, 10, 174, 149, 16, 195, 64, 138, 104, 137, 6, 137, 49, 225, 109, 22, 124, 113, 170, 141, 228, 218, 168, 59, 170, 69, 102, 94, 222, 121, 32, 188, 16, 156, 135, 255, 206, 83, 72, 126, 175, 204, 18, 69, 154, 225, 248, 66, 69, 125, 150, 100, 196, 195, 102, 100, 122, 30, 116, 246, 150, 182, 245, 44, 23, 173, 42, 43, 145, 131, 221, 55, 230, 16, 206, 123, 157, 21, 69, 112, 44, 107, 162, 8, 164, 153, 50, 188, 230, 11, 206, 30, 91, 214, 13, 243, 49, 233, 195, 206, 211, 74, 6, 140, 219, 63, 122, 28, 151, 128, 45},
+{102, 92, 245, 125, 168, 143, 111, 231, 37, 27, 45, 62, 213, 206, 239, 93, 3, 2, 177, 98, 85, 130, 149, 9, 131, 176, 240, 199, 254, 79, 166, 173, 165, 75, 133, 101, 247, 225, 205, 212, 88, 92, 14, 158, 221, 233, 128, 183, 33, 129, 155, 159, 16, 247, 207, 44, 85, 230, 176, 117, 78, 42, 240, 196, 105, 209, 166, 50, 0, 131, 85, 157, 255, 161, 26, 68, 252, 124, 247, 193, 237, 238, 164, 154, 177, 199, 218, 200, 139, 199, 106, 188, 143, 126, 185, 194, 251, 25, 234, 208, 57, 79, 249, 65, 24, 112, 125, 52, 201, 175, 2, 8, 104, 34, 1, 41, 183, 110, 171, 137, 211, 69, 2, 21, 202, 116, 15, 31},
+{196, 24, 52, 158, 146, 102, 187, 172, 223, 75, 18, 230, 101, 192, 104, 124, 91, 89, 199, 5, 111, 53, 64, 166, 230, 94, 163, 106, 66, 200, 190, 5, 76, 56, 122, 195, 87, 156, 123, 129, 98, 15, 228, 83, 182, 201, 165, 97, 89, 33, 67, 94, 233, 38, 24, 64, 218, 244, 170, 96, 123, 64, 235, 252, 16, 77, 239, 137, 136, 47, 227, 177, 211, 226, 67, 28, 79, 246, 30, 25, 127, 31, 178, 178, 175, 96, 166, 144, 144, 188, 79, 126, 92, 181, 32, 87, 185, 116, 74, 122, 105, 223, 132, 181, 164, 77, 31, 76, 88, 251, 250, 29, 69, 139, 105, 189, 181, 131, 40, 59, 239, 30, 252, 184, 67, 12, 165, 152},
+{149, 180, 148, 0, 249, 78, 194, 149, 109, 40, 216, 23, 33, 61, 205, 71, 192, 149, 85, 53, 38, 131, 206, 87, 106, 118, 68, 220, 58, 185, 111, 46, 207, 232, 234, 49, 196, 132, 28, 110, 5, 72, 208, 127, 62, 176, 24, 245, 105, 232, 114, 62, 179, 193, 57, 79, 9, 123, 117, 203, 34, 166, 177, 29, 186, 190, 211, 200, 50, 5, 37, 62, 66, 251, 54, 244, 122, 20, 118, 247, 239, 211, 120, 4, 104, 179, 114, 121, 180, 115, 239, 8, 102, 252, 128, 51, 242, 205, 94, 26, 37, 238, 58, 165, 89, 207, 97, 228, 238, 149, 93, 168, 166, 179, 29, 234, 142, 190, 121, 127, 159, 149, 69, 211, 102, 203, 33, 31},
+{41, 242, 211, 82, 246, 107, 31, 55, 249, 118, 252, 119, 127, 159, 65, 132, 163, 49, 248, 33, 87, 137, 110, 133, 51, 136, 245, 48, 172, 10, 126, 145, 50, 93, 125, 244, 105, 56, 182, 151, 85, 59, 34, 147, 249, 68, 90, 156, 246, 202, 174, 58, 181, 13, 182, 245, 199, 215, 234, 78, 159, 13, 132, 206, 224, 160, 60, 206, 245, 126, 168, 22, 217, 132, 218, 4, 235, 2, 90, 213, 103, 255, 186, 190, 90, 76, 225, 44, 104, 207, 131, 135, 77, 39, 231, 205, 172, 79, 170, 187, 154, 164, 41, 49, 13, 65, 232, 159, 151, 110, 142, 198, 192, 91, 238, 109, 12, 105, 232, 106, 30, 74, 238, 177, 127, 144, 22, 0},
+{51, 202, 44, 16, 126, 253, 89, 10, 114, 123, 113, 34, 144, 187, 92, 54, 108, 241, 253, 110, 251, 89, 62, 17, 164, 42, 176, 123, 81, 254, 93, 234, 208, 101, 58, 219, 144, 118, 100, 199, 189, 165, 72, 99, 84, 204, 34, 65, 22, 126, 97, 203, 238, 220, 113, 84, 195, 109, 251, 150, 69, 249, 219, 178, 158, 226, 120, 148, 175, 33, 149, 120, 4, 228, 121, 32, 60, 113, 86, 164, 93, 162, 244, 181, 72, 191, 174, 141, 34, 211, 190, 67, 7, 146, 71, 225, 229, 123, 138, 24, 199, 60, 136, 236, 82, 78, 99, 65, 190, 33, 65, 158, 103, 156, 105, 104, 163, 49, 252, 226, 50, 100, 19, 227, 132, 91, 91, 59},
+{16, 3, 147, 59, 15, 175, 210, 50, 57, 213, 64, 140, 138, 128, 110, 95, 80, 202, 41, 164, 44, 131, 191, 243, 23, 46, 222, 40, 242, 93, 167, 138, 191, 115, 81, 9, 12, 20, 86, 141, 210, 48, 123, 6, 244, 101, 77, 168, 237, 102, 197, 153, 83, 181, 106, 171, 48, 231, 11, 118, 16, 99, 188, 34, 39, 51, 240, 172, 44, 242, 17, 165, 25, 105, 22, 94, 40, 211, 84, 223, 67, 132, 80, 123, 218, 2, 84, 166, 178, 73, 217, 123, 23, 10, 83, 216, 111, 127, 118, 57, 173, 222, 164, 238, 3, 21, 60, 207, 35, 101, 171, 106, 143, 16, 190, 211, 208, 253, 119, 67, 119, 68, 125, 118, 53, 143, 54, 73},
+{138, 101, 168, 237, 217, 9, 43, 44, 249, 44, 149, 45, 27, 22, 174, 97, 95, 61, 248, 138, 45, 123, 220, 144, 23, 72, 168, 136, 0, 217, 19, 141, 81, 193, 245, 40, 0, 69, 60, 125, 9, 0, 170, 128, 124, 147, 122, 168, 63, 157, 132, 35, 190, 183, 163, 171, 23, 106, 37, 232, 73, 155, 147, 102, 207, 9, 159, 92, 137, 119, 209, 175, 41, 214, 122, 148, 11, 107, 219, 191, 152, 37, 214, 75, 142, 208, 58, 80, 57, 80, 191, 131, 9, 74, 182, 234, 37, 134, 76, 57, 141, 220, 209, 168, 148, 231, 127, 126, 231, 169, 196, 129, 146, 206, 207, 110, 213, 250, 116, 248, 215, 74, 190, 168, 214, 78, 140, 218},
+{37, 223, 33, 172, 77, 238, 28, 120, 120, 207, 185, 73, 229, 191, 40, 68, 208, 16, 175, 2, 165, 157, 73, 243, 94, 242, 138, 60, 90, 108, 33, 110, 52, 67, 180, 203, 29, 2, 158, 100, 119, 82, 254, 219, 107, 17, 67, 63, 106, 115, 100, 86, 65, 50, 111, 239, 141, 54, 196, 50, 156, 218, 122, 180, 237, 249, 115, 24, 133, 19, 204, 210, 237, 193, 49, 172, 246, 5, 197, 53, 158, 173, 39, 136, 3, 130, 249, 35, 128, 81, 132, 41, 213, 3, 92, 146, 154, 47, 67, 235, 234, 23, 233, 208, 58, 225, 66, 69, 226, 140, 250, 78, 246, 27, 210, 222, 73, 99, 133, 33, 42, 156, 60, 4, 104, 25, 7, 40},
+{135, 5, 136, 215, 55, 234, 38, 94, 74, 197, 77, 9, 204, 155, 72, 102, 56, 11, 195, 159, 179, 46, 138, 89, 177, 242, 65, 221, 153, 159, 250, 31, 195, 203, 167, 72, 150, 39, 240, 220, 167, 84, 39, 149, 139, 66, 74, 253, 254, 134, 116, 222, 236, 33, 189, 75, 220, 22, 187, 217, 156, 155, 17, 63, 229, 164, 184, 224, 121, 59, 48, 77, 69, 175, 138, 221, 164, 252, 70, 27, 67, 15, 241, 62, 144, 63, 84, 155, 79, 12, 140, 166, 6, 90, 99, 165, 81, 222, 91, 146, 35, 235, 96, 2, 208, 171, 171, 154, 10, 241, 101, 64, 207, 254, 145, 228, 69, 163, 33, 245, 192, 102, 153, 153, 55, 222, 81, 215},
+{159, 239, 156, 196, 130, 72, 247, 58, 116, 191, 2, 163, 46, 106, 215, 38, 158, 154, 131, 133, 163, 200, 108, 22, 63, 135, 111, 48, 56, 17, 67, 8, 4, 48, 153, 205, 254, 163, 166, 182, 166, 242, 104, 162, 224, 80, 35, 142, 214, 122, 173, 241, 74, 194, 124, 122, 191, 215, 46, 194, 2, 48, 176, 90, 216, 32, 122, 116, 101, 244, 93, 35, 84, 65, 112, 71, 94, 15, 18, 116, 111, 58, 121, 72, 112, 99, 73, 129, 44, 182, 85, 79, 8, 63, 222, 55, 116, 227, 124, 231, 79, 15, 217, 23, 24, 35, 122, 235, 232, 124, 92, 98, 57, 70, 99, 154, 151, 73, 144, 55, 61, 241, 9, 156, 17, 249, 94, 69},
+{35, 63, 193, 68, 114, 79, 108, 18, 242, 15, 124, 110, 119, 97, 183, 90, 181, 45, 215, 15, 22, 251, 207, 30, 22, 56, 182, 252, 72, 157, 119, 112, 90, 89, 71, 54, 109, 152, 3, 247, 108, 64, 178, 6, 212, 102, 251, 157, 32, 233, 0, 126, 106, 187, 182, 78, 132, 239, 112, 137, 149, 16, 190, 169, 213, 161, 54, 131, 5, 121, 236, 58, 183, 189, 206, 72, 163, 9, 153, 105, 36, 205, 238, 240, 123, 255, 128, 131, 170, 173, 149, 225, 55, 229, 99, 96, 152, 109, 87, 42, 240, 22, 75, 153, 79, 179, 11, 149, 115, 232, 111, 67, 10, 87, 22, 92, 175, 28, 52, 236, 125, 46, 19, 9, 204, 44, 119, 175},
+{168, 94, 243, 63, 81, 24, 216, 28, 163, 239, 213, 27, 190, 96, 145, 66, 220, 109, 180, 165, 75, 132, 117, 168, 1, 186, 37, 18, 170, 36, 222, 203, 33, 203, 61, 23, 11, 220, 70, 151, 138, 223, 61, 55, 51, 145, 208, 11, 226, 45, 153, 207, 193, 43, 233, 216, 238, 154, 117, 99, 119, 128, 156, 250, 245, 198, 234, 61, 7, 110, 254, 145, 158, 19, 16, 72, 81, 0, 208, 214, 81, 172, 53, 79, 45, 31, 238, 192, 226, 67, 135, 90, 166, 88, 250, 115, 89, 243, 241, 23, 168, 150, 26, 5, 36, 207, 122, 22, 69, 38, 105, 98, 5, 184, 202, 77, 35, 153, 16, 182, 210, 225, 188, 233, 234, 162, 154, 161},
+{165, 153, 163, 101, 252, 95, 19, 125, 210, 102, 214, 48, 139, 179, 76, 112, 42, 64, 215, 175, 243, 58, 155, 201, 186, 185, 14, 152, 224, 12, 85, 31, 184, 74, 155, 31, 18, 50, 7, 247, 143, 71, 236, 235, 159, 121, 245, 204, 17, 195, 215, 128, 112, 171, 22, 28, 158, 135, 212, 160, 133, 213, 96, 210, 80, 213, 193, 210, 91, 11, 240, 130, 158, 247, 234, 142, 149, 209, 160, 121, 188, 52, 182, 154, 215, 78, 161, 134, 78, 172, 25, 180, 248, 236, 121, 82, 142, 251, 182, 139, 230, 67, 73, 36, 44, 17, 27, 72, 58, 104, 106, 62, 60, 207, 171, 117, 237, 30, 168, 9, 36, 197, 28, 232, 190, 123, 13, 244},
+{9, 97, 176, 198, 48, 62, 109, 84, 20, 105, 21, 33, 32, 184, 131, 209, 228, 175, 25, 212, 59, 220, 19, 78, 213, 121, 157, 106, 192, 200, 87, 230, 73, 199, 67, 121, 228, 70, 227, 216, 29, 133, 33, 196, 28, 232, 89, 96, 61, 2, 189, 28, 120, 202, 106, 210, 94, 167, 158, 175, 157, 102, 65, 146, 167, 173, 150, 43, 8, 202, 63, 169, 17, 4, 160, 250, 72, 119, 136, 11, 157, 76, 222, 6, 177, 196, 138, 80, 128, 207, 214, 205, 143, 182, 219, 136, 178, 72, 63, 33, 225, 48, 65, 238, 133, 252, 64, 78, 139, 99, 169, 169, 47, 167, 50, 163, 245, 54, 28, 130, 166, 255, 85, 75, 116, 181, 33, 174},
+{21, 99, 58, 253, 62, 193, 117, 243, 79, 154, 184, 22, 106, 52, 227, 18, 19, 94, 6, 168, 17, 225, 57, 238, 251, 59, 223, 188, 207, 37, 16, 234, 193, 201, 36, 172, 121, 69, 213, 255, 70, 2, 174, 76, 41, 125, 85, 114, 1, 134, 35, 214, 85, 55, 169, 44, 253, 147, 136, 48, 189, 209, 124, 225, 43, 231, 167, 7, 100, 62, 142, 251, 135, 141, 224, 199, 138, 185, 129, 229, 170, 253, 103, 149, 51, 111, 102, 106, 72, 235, 188, 194, 26, 43, 38, 191, 54, 196, 98, 57, 68, 91, 163, 124, 38, 171, 173, 34, 175, 180, 174, 13, 101, 56, 88, 54, 223, 29, 22, 58, 155, 208, 87, 250, 71, 245, 38, 99},
+{26, 208, 147, 132, 72, 39, 154, 20, 54, 78, 228, 236, 67, 169, 113, 204, 51, 183, 66, 69, 244, 182, 132, 65, 54, 157, 32, 202, 190, 103, 45, 3, 96, 135, 37, 104, 66, 166, 109, 205, 207, 1, 179, 84, 57, 119, 144, 94, 142, 174, 174, 64, 81, 239, 245, 51, 78, 82, 91, 31, 209, 164, 46, 173, 169, 109, 131, 134, 93, 221, 243, 194, 10, 250, 129, 223, 148, 151, 181, 234, 132, 119, 192, 142, 113, 97, 171, 65, 143, 237, 101, 40, 59, 100, 136, 252, 20, 104, 161, 121, 119, 220, 54, 90, 37, 81, 232, 179, 85, 37, 188, 19, 235, 114, 231, 109, 53, 141, 100, 12, 215, 59, 59, 70, 110, 236, 124, 251},
+{152, 20, 141, 236, 155, 91, 255, 58, 92, 106, 94, 156, 74, 230, 146, 142, 222, 245, 34, 7, 186, 203, 79, 37, 164, 81, 197, 147, 73, 68, 253, 242, 204, 208, 60, 243, 203, 252, 51, 144, 21, 150, 6, 173, 169, 44, 196, 117, 50, 201, 164, 92, 134, 178, 181, 108, 241, 118, 80, 232, 69, 229, 15, 42, 122, 221, 105, 160, 222, 242, 33, 195, 239, 102, 127, 46, 89, 112, 199, 84, 14, 9, 127, 152, 19, 252, 157, 69, 172, 189, 212, 149, 222, 44, 63, 54, 184, 52, 67, 102, 154, 180, 54, 13, 42, 254, 14, 170, 13, 39, 60, 57, 154, 154, 4, 153, 137, 100, 209, 97, 242, 142, 178, 247, 69, 164, 218, 70},
+{41, 169, 49, 110, 40, 230, 179, 178, 53, 25, 155, 163, 216, 152, 252, 156, 106, 29, 185, 163, 246, 165, 176, 67, 192, 245, 67, 85, 200, 235, 108, 126, 129, 67, 41, 235, 7, 249, 225, 149, 48, 97, 30, 172, 123, 220, 53, 236, 26, 54, 248, 208, 35, 85, 194, 136, 70, 244, 70, 227, 72, 8, 174, 147, 108, 12, 26, 163, 252, 197, 86, 226, 253, 39, 229, 135, 216, 225, 197, 232, 144, 47, 98, 47, 85, 234, 179, 80, 65, 246, 172, 163, 162, 246, 20, 234, 154, 97, 26, 162, 90, 32, 145, 38, 188, 159, 85, 78, 183, 230, 45, 49, 188, 238, 17, 158, 108, 228, 167, 37, 42, 54, 203, 85, 10, 102, 208, 103},
+{196, 216, 56, 219, 166, 187, 74, 178, 115, 36, 79, 251, 212, 245, 128, 245, 18, 215, 125, 49, 37, 127, 118, 3, 137, 169, 249, 119, 63, 239, 2, 171, 85, 122, 223, 79, 94, 21, 34, 223, 130, 222, 221, 60, 90, 239, 254, 179, 118, 124, 239, 249, 58, 177, 77, 219, 144, 129, 59, 28, 20, 47, 134, 77, 110, 66, 135, 251, 10, 82, 223, 56, 45, 229, 142, 141, 244, 26, 27, 155, 190, 195, 62, 218, 189, 6, 182, 56, 51, 171, 245, 162, 189, 83, 200, 19, 90, 89, 24, 60, 23, 194, 56, 109, 225, 92, 74, 127, 153, 154, 103, 160, 22, 193, 207, 216, 53, 174, 80, 8, 247, 158, 99, 84, 36, 126, 165, 66},
+{95, 132, 240, 217, 203, 28, 139, 210, 149, 121, 2, 248, 70, 139, 89, 151, 112, 117, 161, 115, 217, 63, 15, 180, 233, 86, 204, 255, 111, 62, 230, 233, 136, 66, 165, 72, 131, 15, 74, 249, 200, 38, 61, 16, 122, 22, 94, 34, 4, 145, 180, 234, 200, 21, 97, 26, 49, 233, 137, 163, 76, 216, 228, 28, 87, 250, 223, 78, 187, 108, 35, 49, 5, 68, 249, 114, 230, 18, 180, 104, 151, 143, 76, 35, 12, 81, 38, 199, 115, 34, 110, 108, 230, 82, 182, 14, 169, 203, 75, 67, 121, 46, 144, 174, 52, 233, 244, 41, 75, 220, 150, 29, 54, 179, 31, 236, 70, 98, 173, 73, 106, 123, 121, 18, 153, 245, 97, 188},
+{154, 124, 10, 63, 47, 108, 61, 109, 201, 114, 108, 203, 27, 188, 162, 53, 136, 42, 128, 84, 36, 235, 233, 62, 109, 171, 255, 102, 224, 73, 60, 1, 245, 187, 191, 88, 236, 195, 223, 186, 61, 81, 35, 71, 71, 3, 90, 123, 37, 103, 138, 179, 44, 244, 42, 67, 77, 79, 84, 230, 9, 172, 167, 142, 238, 47, 57, 75, 134, 28, 210, 30, 130, 88, 155, 9, 3, 85, 244, 161, 17, 24, 3, 162, 127, 101, 250, 11, 64, 144, 76, 28, 229, 193, 55, 105, 164, 16, 219, 77, 165, 15, 250, 209, 201, 98, 82, 158, 87, 243, 84, 65, 129, 246, 181, 179, 149, 241, 99, 216, 172, 211, 185, 50, 250, 114, 52, 254},
+{187, 87, 246, 170, 201, 230, 37, 86, 191, 124, 134, 4, 82, 221, 193, 158, 145, 221, 31, 137, 135, 82, 19, 141, 191, 150, 251, 121, 125, 56, 0, 42, 21, 168, 30, 147, 27, 78, 20, 223, 200, 65, 185, 49, 27, 179, 232, 29, 137, 139, 100, 196, 188, 52, 145, 97, 209, 181, 241, 50, 245, 136, 234, 86, 58, 109, 183, 48, 227, 222, 127, 56, 141, 151, 91, 219, 204, 246, 202, 168, 228, 137, 40, 170, 220, 18, 227, 193, 12, 195, 242, 66, 76, 215, 154, 63, 112, 199, 25, 237, 148, 44, 99, 224, 165, 109, 239, 239, 196, 172, 110, 196, 91, 53, 21, 195, 39, 220, 3, 250, 54, 3, 253, 169, 170, 216, 147, 6},
+{145, 62, 6, 236, 31, 30, 26, 127, 121, 231, 25, 140, 227, 80, 203, 65, 68, 67, 255, 224, 83, 198, 235, 16, 94, 64, 216, 18, 97, 41, 242, 247, 75, 103, 173, 142, 194, 14, 182, 87, 123, 196, 73, 206, 94, 48, 232, 211, 21, 136, 31, 232, 115, 197, 234, 207, 84, 193, 8, 24, 12, 53, 208, 90, 230, 107, 248, 239, 74, 134, 20, 181, 224, 127, 56, 185, 5, 198, 67, 169, 213, 136, 120, 113, 110, 163, 194, 67, 105, 12, 31, 160, 31, 225, 208, 139, 67, 15, 16, 208, 123, 114, 182, 136, 28, 129, 116, 7, 209, 92, 6, 10, 17, 238, 245, 93, 5, 128, 0, 248, 144, 207, 4, 89, 75, 106, 137, 66},
+{171, 67, 231, 104, 191, 125, 227, 170, 132, 63, 167, 159, 145, 6, 16, 80, 139, 172, 40, 200, 54, 190, 57, 113, 199, 118, 22, 155, 206, 118, 252, 210, 103, 187, 47, 13, 155, 150, 154, 174, 116, 12, 168, 104, 153, 219, 148, 104, 202, 226, 249, 216, 139, 171, 90, 73, 224, 14, 59, 235, 31, 87, 184, 209, 108, 158, 194, 45, 91, 222, 16, 188, 14, 243, 44, 51, 18, 203, 27, 3, 140, 231, 73, 69, 34, 251, 67, 119, 208, 137, 84, 42, 5, 159, 13, 144, 175, 24, 91, 177, 32, 161, 246, 106, 108, 129, 160, 160, 240, 33, 233, 43, 105, 193, 33, 162, 252, 188, 30, 141, 163, 115, 193, 198, 119, 79, 207, 20},
+{36, 216, 138, 88, 220, 78, 134, 234, 209, 214, 243, 24, 40, 115, 234, 157, 16, 229, 88, 203, 252, 155, 76, 59, 210, 185, 94, 7, 96, 163, 249, 58, 110, 121, 187, 144, 221, 91, 113, 52, 105, 113, 64, 143, 113, 21, 138, 158, 157, 65, 170, 233, 113, 46, 99, 127, 100, 154, 85, 113, 7, 32, 200, 166, 175, 252, 212, 49, 57, 62, 103, 223, 63, 101, 150, 162, 171, 45, 249, 166, 226, 218, 24, 155, 209, 72, 108, 211, 5, 64, 149, 125, 92, 230, 28, 66, 212, 169, 229, 206, 102, 0, 60, 74, 15, 30, 182, 223, 193, 83, 163, 68, 109, 86, 103, 68, 193, 77, 78, 231, 13, 84, 35, 138, 139, 236, 87, 65},
+{105, 127, 69, 79, 33, 163, 253, 179, 201, 137, 68, 127, 109, 154, 132, 203, 108, 3, 114, 168, 91, 82, 11, 115, 253, 235, 203, 208, 122, 123, 151, 204, 94, 79, 136, 5, 21, 179, 50, 232, 100, 104, 5, 215, 234, 211, 119, 190, 3, 183, 54, 29, 231, 202, 90, 254, 93, 88, 242, 143, 70, 211, 56, 66, 141, 124, 5, 216, 97, 89, 218, 81, 23, 181, 240, 136, 145, 56, 27, 87, 33, 245, 78, 97, 129, 36, 57, 188, 33, 11, 96, 145, 249, 221, 177, 224, 58, 84, 189, 50, 186, 188, 0, 113, 59, 212, 241, 76, 217, 31, 145, 249, 129, 1, 11, 18, 71, 239, 124, 179, 20, 44, 251, 21, 176, 54, 161, 52},
+{75, 208, 242, 227, 214, 232, 201, 131, 238, 93, 5, 143, 239, 92, 207, 112, 215, 181, 248, 69, 32, 158, 120, 181, 55, 12, 190, 153, 13, 120, 81, 237, 119, 80, 92, 14, 80, 189, 18, 89, 249, 199, 88, 55, 161, 111, 169, 1, 223, 153, 123, 127, 240, 193, 254, 111, 240, 225, 33, 180, 135, 215, 63, 94, 91, 229, 55, 14, 220, 17, 86, 224, 208, 145, 57, 191, 241, 23, 62, 10, 113, 165, 85, 213, 71, 191, 168, 253, 145, 163, 252, 75, 53, 208, 224, 178, 115, 24, 27, 247, 178, 175, 223, 179, 57, 186, 236, 219, 57, 51, 241, 137, 207, 38, 118, 78, 74, 168, 31, 144, 77, 43, 17, 176, 0, 158, 20, 111},
+{64, 199, 232, 165, 217, 204, 173, 45, 32, 158, 82, 47, 94, 158, 147, 16, 186, 121, 142, 184, 214, 128, 54, 91, 198, 82, 205, 251, 239, 24, 122, 146, 138, 170, 79, 24, 94, 95, 63, 50, 228, 77, 12, 113, 27, 120, 22, 18, 137, 56, 29, 181, 216, 33, 85, 75, 30, 115, 162, 36, 2, 113, 53, 242, 158, 254, 230, 20, 110, 229, 121, 85, 45, 253, 72, 88, 56, 146, 247, 141, 12, 28, 34, 67, 119, 59, 33, 11, 10, 176, 63, 117, 190, 99, 205, 184, 36, 82, 141, 75, 114, 112, 88, 148, 127, 63, 234, 64, 55, 29, 171, 129, 0, 169, 160, 152, 77, 183, 202, 201, 26, 96, 52, 236, 215, 118, 147, 240},
+{5, 230, 165, 48, 87, 193, 109, 159, 175, 186, 252, 40, 212, 26, 69, 225, 139, 79, 13, 176, 198, 245, 4, 245, 204, 118, 172, 113, 135, 69, 85, 129, 196, 85, 10, 54, 125, 37, 210, 53, 130, 197, 240, 175, 76, 8, 129, 152, 159, 237, 29, 162, 228, 124, 143, 245, 205, 118, 98, 97, 123, 157, 106, 134, 40, 58, 161, 102, 126, 128, 141, 135, 98, 101, 206, 40, 205, 42, 241, 44, 223, 150, 126, 72, 25, 158, 90, 62, 80, 170, 59, 11, 60, 200, 47, 51, 13, 112, 112, 0, 158, 81, 172, 10, 194, 218, 103, 226, 103, 232, 227, 21, 201, 208, 60, 89, 117, 149, 68, 229, 219, 211, 103, 92, 133, 68, 152, 175},
+{26, 184, 116, 161, 60, 239, 92, 199, 125, 39, 235, 108, 141, 57, 129, 193, 25, 200, 164, 17, 111, 24, 61, 14, 118, 163, 71, 181, 93, 158, 183, 10, 47, 109, 79, 143, 242, 218, 30, 126, 181, 180, 99, 85, 229, 193, 64, 234, 19, 223, 54, 41, 253, 15, 112, 141, 227, 33, 51, 227, 34, 191, 42, 131, 109, 42, 177, 214, 130, 121, 1, 133, 142, 122, 39, 229, 102, 105, 211, 22, 112, 1, 181, 251, 186, 170, 13, 206, 188, 86, 214, 215, 9, 28, 87, 106, 156, 244, 143, 190, 212, 181, 197, 226, 235, 116, 118, 17, 234, 55, 196, 68, 90, 175, 149, 186, 162, 42, 213, 174, 142, 124, 152, 237, 31, 173, 32, 133},
+{65, 234, 103, 28, 41, 161, 29, 113, 43, 42, 76, 14, 80, 155, 56, 130, 48, 203, 236, 46, 243, 109, 173, 233, 246, 92, 175, 129, 76, 235, 231, 155, 246, 247, 95, 22, 231, 66, 124, 6, 39, 63, 95, 129, 3, 181, 4, 184, 88, 6, 17, 206, 77, 46, 176, 148, 85, 46, 143, 1, 223, 91, 179, 1, 170, 234, 97, 66, 226, 116, 81, 113, 213, 81, 19, 205, 133, 198, 235, 43, 77, 18, 140, 238, 61, 244, 219, 118, 209, 173, 240, 36, 48, 42, 230, 85, 232, 247, 118, 170, 208, 233, 71, 56, 75, 252, 2, 40, 104, 104, 227, 74, 67, 76, 70, 62, 254, 71, 212, 37, 102, 125, 232, 237, 175, 29, 142, 50},
+{156, 227, 203, 55, 164, 127, 129, 216, 116, 236, 208, 77, 106, 7, 184, 29, 68, 23, 213, 219, 138, 108, 17, 195, 131, 242, 39, 230, 104, 7, 148, 207, 7, 10, 166, 128, 42, 138, 42, 88, 152, 91, 8, 176, 151, 168, 94, 27, 161, 224, 185, 46, 179, 131, 109, 33, 150, 199, 120, 63, 144, 107, 195, 54, 161, 6, 15, 116, 219, 85, 165, 107, 139, 96, 17, 90, 91, 151, 119, 202, 20, 174, 192, 5, 54, 107, 172, 102, 218, 163, 118, 237, 139, 224, 253, 76, 241, 64, 157, 23, 93, 126, 116, 28, 208, 215, 187, 69, 27, 18, 86, 144, 68, 49, 67, 145, 2, 10, 249, 110, 154, 244, 133, 103, 161, 167, 59, 183},
+{20, 241, 96, 158, 35, 161, 64, 238, 144, 63, 45, 45, 13, 82, 190, 97, 198, 64, 87, 143, 28, 164, 248, 55, 16, 140, 144, 188, 215, 163, 45, 250, 58, 116, 203, 30, 21, 47, 44, 1, 233, 166, 120, 99, 132, 250, 150, 139, 102, 182, 135, 180, 70, 229, 152, 21, 206, 157, 252, 124, 213, 211, 106, 96, 150, 105, 109, 83, 122, 117, 100, 253, 177, 230, 70, 102, 227, 224, 17, 11, 150, 242, 129, 222, 245, 146, 78, 168, 58, 48, 235, 180, 124, 212, 7, 226, 200, 72, 80, 239, 199, 245, 172, 54, 244, 189, 104, 185, 17, 222, 60, 67, 46, 185, 202, 248, 223, 212, 60, 193, 39, 189, 42, 80, 196, 21, 148, 24},
+{122, 117, 66, 254, 88, 15, 1, 198, 136, 155, 183, 225, 207, 137, 11, 76, 222, 139, 105, 18, 193, 115, 217, 186, 195, 168, 17, 176, 101, 100, 235, 56, 157, 61, 17, 132, 11, 70, 206, 100, 91, 133, 39, 106, 222, 251, 178, 158, 217, 245, 18, 109, 109, 197, 161, 232, 107, 170, 157, 139, 121, 90, 102, 91, 220, 218, 54, 214, 111, 174, 25, 248, 210, 214, 56, 3, 58, 83, 198, 133, 34, 65, 234, 116, 221, 190, 91, 13, 173, 13, 66, 88, 198, 239, 120, 180, 228, 104, 48, 94, 139, 240, 14, 19, 192, 14, 107, 89, 24, 214, 109, 165, 204, 247, 208, 170, 210, 42, 251, 15, 82, 24, 131, 213, 151, 228, 164, 25},
+{186, 96, 64, 252, 152, 202, 181, 217, 71, 31, 47, 57, 206, 71, 173, 219, 15, 222, 231, 50, 210, 57, 239, 25, 96, 182, 227, 181, 206, 218, 137, 243, 149, 142, 148, 81, 209, 242, 142, 91, 119, 27, 22, 179, 175, 206, 57, 168, 91, 8, 26, 77, 156, 7, 40, 189, 241, 213, 47, 10, 217, 73, 67, 254, 184, 152, 73, 89, 222, 230, 184, 123, 82, 142, 195, 102, 233, 64, 42, 248, 52, 125, 231, 227, 228, 155, 68, 238, 118, 81, 8, 150, 121, 124, 253, 161, 2, 93, 113, 123, 110, 70, 155, 2, 247, 191, 205, 35, 214, 192, 28, 107, 169, 129, 233, 209, 194, 26, 130, 127, 151, 207, 117, 101, 93, 170, 246, 133},
+{175, 136, 17, 30, 148, 210, 141, 106, 195, 21, 171, 32, 64, 82, 53, 173, 33, 243, 173, 26, 182, 212, 186, 67, 224, 87, 189, 87, 174, 228, 77, 82, 22, 245, 66, 104, 14, 49, 8, 111, 53, 228, 232, 245, 30, 233, 121, 214, 68, 61, 141, 175, 93, 214, 233, 179, 41, 77, 208, 73, 144, 127, 24, 14, 98, 39, 213, 104, 125, 158, 118, 28, 210, 232, 194, 95, 22, 158, 34, 74, 84, 137, 219, 199, 171, 49, 147, 51, 102, 18, 36, 42, 107, 22, 247, 252, 8, 31, 139, 138, 61, 181, 108, 13, 251, 51, 28, 63, 243, 78, 133, 172, 77, 155, 17, 164, 240, 213, 106, 27, 132, 252, 104, 71, 217, 185, 147, 160},
+{166, 136, 181, 10, 0, 167, 213, 45, 198, 246, 108, 201, 198, 188, 4, 154, 246, 10, 28, 14, 143, 49, 55, 254, 226, 33, 189, 87, 159, 83, 116, 7, 193, 169, 217, 209, 89, 140, 190, 121, 200, 96, 227, 85, 26, 186, 81, 186, 64, 135, 144, 58, 94, 250, 25, 85, 10, 130, 48, 114, 148, 77, 71, 144, 110, 47, 65, 136, 69, 230, 211, 182, 196, 203, 185, 229, 212, 105, 206, 222, 77, 249, 104, 248, 250, 148, 9, 144, 82, 34, 223, 37, 245, 1, 35, 86, 220, 220, 165, 94, 119, 224, 198, 130, 17, 247, 96, 118, 189, 144, 186, 122, 196, 116, 216, 95, 109, 115, 134, 148, 22, 128, 192, 105, 81, 58, 162, 146},
+{145, 197, 127, 226, 244, 110, 56, 20, 28, 186, 254, 25, 103, 106, 71, 222, 9, 235, 99, 128, 17, 209, 128, 206, 37, 250, 89, 252, 136, 224, 208, 149, 200, 3, 10, 61, 111, 176, 216, 190, 45, 117, 174, 165, 94, 134, 13, 7, 241, 102, 224, 15, 162, 99, 44, 81, 171, 48, 222, 90, 220, 95, 63, 229, 166, 25, 124, 187, 126, 244, 143, 88, 173, 152, 95, 182, 79, 36, 197, 142, 177, 105, 179, 74, 51, 85, 155, 203, 41, 22, 200, 13, 144, 104, 66, 240, 240, 84, 198, 237, 20, 172, 74, 215, 167, 4, 217, 227, 221, 169, 218, 98, 158, 133, 168, 199, 243, 146, 236, 39, 219, 57, 147, 88, 25, 247, 190, 238},
+{29, 68, 211, 164, 35, 38, 135, 4, 115, 209, 154, 157, 143, 217, 98, 18, 119, 8, 247, 84, 229, 26, 252, 50, 233, 187, 115, 69, 181, 227, 12, 29, 43, 22, 139, 16, 130, 50, 112, 217, 181, 3, 107, 210, 200, 248, 140, 176, 10, 226, 46, 178, 104, 61, 170, 240, 65, 35, 7, 67, 23, 184, 75, 255, 190, 3, 27, 241, 45, 86, 121, 167, 252, 73, 89, 108, 225, 176, 161, 121, 80, 21, 172, 249, 251, 48, 12, 6, 26, 67, 229, 93, 182, 182, 216, 199, 29, 253, 47, 252, 145, 191, 123, 234, 92, 24, 64, 38, 134, 169, 19, 208, 128, 194, 96, 245, 197, 213, 160, 80, 53, 17, 208, 37, 74, 3, 178, 209},
+{193, 161, 191, 72, 161, 176, 10, 98, 79, 228, 138, 177, 29, 78, 149, 36, 40, 10, 54, 171, 145, 27, 178, 176, 41, 161, 31, 146, 207, 40, 15, 243, 191, 39, 123, 181, 229, 189, 169, 168, 169, 130, 57, 180, 192, 39, 137, 78, 179, 107, 40, 4, 48, 128, 44, 84, 25, 152, 65, 252, 187, 55, 197, 18, 193, 179, 12, 229, 16, 253, 4, 2, 29, 15, 106, 107, 141, 99, 221, 79, 130, 93, 65, 120, 203, 26, 147, 60, 231, 233, 48, 139, 110, 29, 49, 246, 92, 165, 203, 118, 113, 140, 35, 237, 103, 153, 169, 79, 7, 68, 173, 102, 65, 199, 178, 234, 136, 18, 16, 30, 89, 160, 247, 71, 73, 183, 208, 21},
+{169, 186, 116, 82, 198, 205, 242, 24, 128, 190, 68, 11, 221, 216, 90, 141, 3, 153, 114, 147, 78, 193, 218, 201, 73, 81, 67, 177, 228, 70, 165, 15, 92, 118, 93, 115, 255, 80, 156, 240, 48, 9, 14, 126, 111, 164, 28, 45, 19, 147, 172, 181, 50, 54, 106, 36, 90, 11, 27, 0, 244, 52, 25, 129, 232, 36, 99, 189, 80, 180, 13, 193, 183, 40, 149, 161, 118, 218, 184, 23, 120, 199, 65, 50, 13, 53, 241, 250, 101, 144, 222, 232, 96, 168, 242, 178, 249, 14, 196, 4, 169, 135, 113, 36, 20, 183, 120, 171, 124, 224, 25, 55, 3, 212, 117, 153, 141, 253, 102, 223, 21, 220, 132, 107, 30, 100, 113, 165},
+{124, 238, 195, 230, 8, 27, 233, 4, 119, 60, 199, 71, 104, 13, 95, 2, 59, 19, 137, 226, 16, 17, 186, 205, 22, 202, 74, 52, 164, 249, 69, 170, 203, 228, 72, 237, 201, 87, 23, 53, 183, 78, 176, 193, 55, 221, 54, 104, 90, 69, 68, 146, 15, 184, 152, 128, 8, 231, 204, 190, 71, 125, 164, 182, 140, 149, 135, 220, 184, 235, 40, 224, 127, 43, 85, 226, 212, 180, 163, 185, 138, 70, 107, 42, 243, 30, 26, 42, 20, 200, 39, 18, 233, 232, 237, 112, 100, 60, 242, 255, 237, 237, 145, 245, 120, 125, 21, 53, 200, 121, 168, 77, 131, 30, 132, 150, 201, 65, 58, 30, 104, 168, 241, 170, 115, 31, 162, 5},
+{90, 132, 128, 80, 239, 216, 97, 221, 81, 245, 171, 222, 227, 159, 148, 79, 64, 125, 92, 70, 11, 87, 229, 117, 81, 15, 240, 66, 200, 143, 1, 176, 149, 20, 27, 137, 87, 244, 113, 201, 193, 215, 132, 100, 107, 65, 239, 158, 122, 253, 79, 35, 198, 84, 139, 163, 251, 164, 223, 160, 37, 127, 31, 25, 2, 24, 153, 9, 115, 243, 200, 173, 30, 73, 173, 33, 128, 58, 186, 184, 13, 76, 254, 200, 137, 74, 226, 48, 70, 69, 188, 33, 132, 44, 122, 158, 220, 116, 194, 113, 240, 86, 25, 41, 143, 163, 188, 159, 12, 9, 70, 210, 116, 125, 48, 243, 116, 255, 128, 19, 67, 193, 150, 88, 25, 10, 171, 174},
+{175, 231, 204, 141, 255, 46, 220, 248, 207, 162, 32, 40, 148, 29, 19, 252, 15, 149, 9, 93, 66, 16, 135, 180, 60, 28, 24, 22, 67, 113, 139, 137, 221, 110, 66, 229, 82, 52, 254, 210, 179, 2, 141, 5, 97, 242, 151, 244, 152, 31, 98, 166, 68, 169, 84, 181, 125, 141, 186, 90, 135, 38, 121, 3, 100, 45, 57, 208, 167, 215, 157, 117, 57, 38, 182, 54, 194, 184, 101, 250, 70, 62, 165, 204, 97, 54, 89, 41, 74, 116, 179, 152, 96, 193, 189, 163, 145, 1, 53, 130, 31, 168, 159, 127, 4, 125, 159, 169, 159, 114, 222, 154, 236, 213, 100, 51, 97, 244, 223, 88, 126, 57, 173, 25, 180, 229, 50, 158},
+{115, 117, 175, 104, 21, 44, 74, 7, 119, 117, 175, 203, 57, 56, 152, 181, 35, 176, 40, 111, 81, 168, 248, 91, 89, 21, 185, 247, 117, 185, 216, 223, 89, 161, 216, 29, 68, 12, 51, 84, 118, 145, 141, 55, 1, 174, 4, 68, 190, 109, 205, 125, 167, 228, 251, 47, 15, 155, 170, 25, 88, 80, 10, 59, 202, 198, 101, 92, 123, 218, 220, 216, 101, 254, 214, 69, 33, 200, 59, 151, 226, 71, 111, 212, 226, 190, 145, 181, 177, 239, 37, 39, 143, 175, 254, 47, 98, 156, 34, 153, 225, 14, 143, 157, 205, 255, 155, 246, 240, 49, 24, 148, 185, 61, 143, 212, 137, 115, 86, 245, 186, 247, 105, 28, 194, 49, 92, 144},
+{182, 170, 227, 234, 85, 139, 87, 204, 68, 33, 208, 181, 152, 243, 223, 132, 26, 147, 95, 128, 134, 54, 27, 26, 42, 177, 94, 67, 109, 227, 223, 145, 182, 20, 233, 5, 175, 16, 77, 221, 94, 122, 183, 127, 27, 170, 117, 97, 19, 14, 153, 203, 62, 51, 253, 64, 18, 14, 197, 4, 128, 31, 138, 158, 111, 188, 43, 2, 123, 248, 92, 168, 129, 203, 68, 59, 61, 218, 250, 244, 27, 105, 100, 76, 34, 128, 38, 210, 111, 102, 211, 162, 175, 132, 89, 61, 184, 46, 120, 189, 218, 42, 32, 139, 63, 2, 99, 75, 218, 224, 75, 165, 212, 109, 125, 17, 240, 214, 184, 33, 231, 142, 122, 185, 114, 225, 227},
+{145, 26, 71, 152, 167, 43, 139, 26, 198, 239, 81, 205, 206, 72, 154, 182, 99, 160, 26, 55, 33, 202, 78, 25, 208, 88, 39, 189, 91, 26, 187, 254, 102, 86, 3, 81, 116, 87, 193, 62, 168, 94, 74, 158, 200, 18, 171, 174, 221, 10, 54, 67, 136, 86, 35, 24, 227, 115, 5, 180, 190, 226, 180, 83, 21, 199, 19, 169, 61, 114, 136, 201, 194, 104, 86, 211, 190, 31, 219, 140, 57, 221, 122, 184, 215, 150, 246, 166, 233, 192, 220, 198, 232, 90, 200, 138, 21, 151, 196, 199, 179, 215, 255, 195, 74, 87, 116, 120, 60, 230, 183, 1, 79, 37, 13, 247, 243, 210, 221, 59, 203, 237, 47, 184, 77, 130, 51, 142},
+{73, 37, 119, 200, 60, 64, 207, 54, 243, 198, 184, 110, 32, 156, 33, 236, 55, 40, 168, 255, 122, 121, 28, 35, 12, 46, 66, 141, 206, 48, 201, 138, 223, 243, 8, 126, 40, 150, 176, 33, 155, 125, 105, 128, 207, 126, 188, 241, 160, 25, 5, 189, 24, 77, 176, 226, 209, 81, 207, 227, 192, 16, 126, 121, 81, 163, 24, 37, 122, 175, 51, 90, 205, 250, 54, 64, 50, 139, 180, 244, 58, 1, 50, 244, 201, 225, 105, 114, 149, 145, 18, 120, 11, 116, 196, 161, 235, 41, 195, 57, 55, 238, 88, 186, 111, 34, 109, 39, 3, 49, 19, 102, 95, 8, 233, 17, 65, 226, 205, 192, 81, 17, 176, 133, 100, 244, 153, 91},
+{176, 152, 116, 71, 86, 210, 151, 128, 83, 165, 155, 129, 118, 46, 253, 224, 4, 62, 101, 235, 33, 103, 166, 51, 53, 101, 36, 189, 130, 130, 235, 113, 239, 29, 24, 12, 170, 112, 229, 24, 183, 230, 116, 2, 237, 160, 124, 89, 225, 212, 95, 24, 147, 67, 160, 15, 110, 68, 130, 101, 165, 174, 246, 247, 131, 6, 153, 157, 202, 220, 222, 188, 242, 37, 221, 181, 15, 178, 135, 172, 241, 12, 23, 155, 42, 32, 93, 1, 245, 161, 192, 119, 205, 252, 169, 68, 217, 82, 9, 151, 152, 49, 5, 119, 125, 2, 52, 210, 24, 21, 111, 131, 254, 173, 35, 253, 235, 231, 40, 193, 198, 96, 150, 239, 210, 80, 248, 220},
+{194, 5, 7, 239, 100, 139, 223, 16, 241, 86, 185, 45, 150, 42, 117, 19, 223, 90, 178, 10, 81, 235, 23, 251, 101, 168, 72, 64, 135, 11, 150, 67, 214, 198, 155, 216, 236, 174, 15, 63, 129, 226, 114, 139, 131, 188, 105, 38, 197, 2, 195, 181, 34, 201, 180, 231, 169, 227, 246, 60, 134, 210, 55, 67, 33, 225, 199, 14, 222, 114, 213, 254, 77, 122, 210, 154, 90, 78, 108, 52, 210, 88, 192, 153, 2, 243, 112, 0, 203, 222, 200, 70, 144, 43, 24, 187, 158, 221, 111, 153, 56, 102, 246, 188, 50, 229, 234, 110, 234, 240, 82, 232, 126, 190, 247, 120, 143, 112, 232, 240, 248, 157, 230, 109, 21, 164, 248, 25},
+{178, 156, 107, 120, 88, 43, 28, 157, 99, 156, 219, 252, 24, 254, 81, 142, 21, 130, 183, 219, 187, 35, 16, 164, 116, 146, 109, 196, 104, 120, 54, 35, 25, 188, 210, 6, 197, 208, 228, 154, 238, 172, 65, 246, 151, 91, 195, 212, 159, 198, 81, 37, 251, 253, 240, 12, 251, 21, 190, 121, 118, 43, 182, 53, 189, 14, 0, 77, 198, 163, 222, 57, 187, 95, 113, 0, 147, 61, 39, 88, 53, 141, 36, 216, 96, 205, 211, 30, 99, 196, 2, 94, 129, 215, 131, 64, 39, 207, 109, 162, 246, 89, 90, 226, 8, 43, 195, 28, 200, 22, 116, 204, 212, 242, 97, 60, 150, 67, 49, 76, 197, 186, 68, 166, 179, 115, 50, 162},
+{177, 83, 215, 137, 173, 194, 105, 255, 119, 35, 243, 71, 33, 109, 40, 144, 171, 70, 104, 160, 18, 252, 2, 153, 18, 169, 112, 108, 95, 136, 48, 113, 98, 153, 159, 177, 147, 30, 202, 231, 211, 154, 166, 30, 25, 180, 104, 185, 23, 153, 177, 153, 68, 31, 207, 118, 7, 242, 222, 22, 75, 242, 123, 174, 90, 116, 98, 11, 243, 253, 182, 199, 165, 68, 226, 120, 98, 113, 28, 101, 77, 43, 90, 148, 185, 71, 156, 10, 11, 177, 136, 94, 17, 34, 72, 219, 0, 1, 110, 33, 55, 127, 63, 141, 136, 12, 59, 32, 54, 238, 10, 74, 157, 125, 26, 222, 233, 148, 166, 1, 222, 175, 160, 118, 9, 139, 73, 227},
+{61, 203, 224, 209, 81, 205, 165, 152, 224, 8, 94, 199, 238, 190, 201, 85, 56, 54, 151, 4, 84, 32, 40, 213, 150, 99, 107, 131, 192, 8, 75, 139, 193, 44, 112, 100, 231, 16, 239, 200, 18, 104, 110, 75, 79, 140, 225, 80, 151, 28, 16, 167, 185, 156, 230, 86, 74, 179, 203, 209, 144, 49, 2, 250, 138, 228, 81, 89, 229, 97, 31, 68, 33, 173, 173, 3, 136, 56, 150, 216, 108, 9, 71, 208, 138, 22, 230, 124, 220, 234, 33, 13, 160, 0, 73, 79, 58, 147, 90, 152, 191, 222, 64, 136, 57, 221, 111, 149, 18, 42, 52, 190, 27, 187, 37, 30, 216, 53, 142, 169, 153, 136, 27, 56, 170, 62, 129, 77},
+{194, 110, 90, 133, 107, 91, 156, 101, 126, 67, 144, 35, 191, 61, 182, 77, 91, 224, 107, 160, 120, 180, 224, 251, 240, 12, 188, 20, 186, 246, 126, 208, 82, 104, 111, 32, 36, 38, 229, 32, 37, 37, 235, 15, 36, 31, 104, 152, 96, 190, 108, 120, 239, 80, 53, 1, 224, 131, 213, 228, 87, 118, 36, 238, 227, 71, 187, 238, 26, 238, 19, 195, 155, 167, 4, 198, 155, 69, 127, 32, 226, 133, 192, 116, 219, 182, 249, 226, 117, 30, 79, 199, 240, 251, 204, 34, 70, 191, 21, 94, 194, 216, 163, 194, 144, 176, 61, 91, 125, 97, 40, 1, 229, 211, 235, 79, 91, 28, 35, 221, 182, 120, 165, 89, 117, 182, 118, 115},
+{44, 134, 211, 173, 134, 130, 213, 31, 35, 235, 232, 1, 149, 155, 234, 237, 163, 83, 173, 12, 212, 171, 189, 37, 168, 28, 253, 14, 46, 63, 111, 149, 12, 70, 14, 50, 12, 221, 168, 117, 207, 147, 163, 53, 70, 147, 166, 233, 206, 94, 81, 101, 157, 197, 166, 246, 64, 9, 76, 153, 87, 48, 35, 170, 158, 144, 2, 136, 168, 19, 83, 65, 220, 135, 144, 189, 67, 251, 88, 40, 149, 115, 59, 53, 224, 119, 18, 196, 23, 87, 86, 11, 1, 29, 24, 218, 48, 251, 13, 4, 56, 121, 71, 166, 46, 157, 150, 215, 188, 157, 44, 173, 148, 116, 244, 177, 44, 111, 41, 47, 234, 36, 44, 181, 0, 194, 195, 66},
+{2, 2, 74, 188, 57, 193, 211, 46, 126, 179, 41, 14, 204, 151, 58, 124, 123, 184, 120, 34, 71, 81, 224, 190, 19, 152, 117, 194, 195, 170, 58, 9, 45, 180, 31, 147, 215, 40, 7, 144, 28, 184, 98, 198, 154, 94, 170, 66, 120, 250, 205, 63, 16, 150, 124, 207, 41, 168, 18, 116, 95, 91, 205, 244, 138, 198, 236, 38, 161, 225, 55, 93, 184, 158, 87, 254, 142, 203, 140, 139, 55, 232, 216, 119, 100, 191, 120, 110, 175, 209, 195, 22, 186, 153, 160, 27, 181, 38, 146, 139, 234, 144, 103, 67, 93, 207, 128, 190, 223, 35, 118, 55, 25, 62, 204, 89, 113, 154, 202, 58, 100, 231, 119, 206, 0, 166, 212, 243},
+{120, 166, 244, 27, 3, 87, 174, 235, 109, 128, 182, 61, 58, 203, 84, 76, 187, 222, 251, 224, 44, 228, 54, 219, 184, 232, 213, 225, 82, 210, 13, 185, 74, 96, 248, 235, 65, 0, 47, 221, 180, 77, 69, 223, 48, 138, 68, 53, 63, 155, 152, 76, 176, 144, 47, 188, 71, 9, 37, 193, 11, 169, 222, 41, 248, 28, 179, 138, 137, 152, 197, 123, 244, 165, 214, 137, 124, 57, 119, 250, 50, 59, 160, 199, 140, 54, 68, 56, 194, 230, 121, 115, 31, 21, 141, 135, 196, 92, 245, 9, 63, 114, 179, 75, 52, 129, 244, 31, 132, 25, 230, 187, 224, 230, 172, 219, 210, 183, 141, 59, 94, 156, 126, 32, 106, 71, 201, 55},
+{210, 120, 9, 127, 30, 26, 4, 112, 170, 225, 210, 180, 4, 167, 205, 134, 145, 213, 50, 92, 166, 134, 90, 132, 208, 153, 254, 205, 9, 195, 16, 183, 97, 49, 44, 116, 38, 192, 252, 61, 74, 8, 54, 235, 113, 68, 141, 171, 51, 26, 118, 51, 244, 37, 7, 95, 62, 208, 57, 70, 175, 183, 25, 70, 150, 245, 232, 177, 36, 237, 169, 3, 175, 37, 214, 92, 62, 17, 200, 110, 158, 83, 19, 79, 118, 21, 246, 98, 50, 158, 191, 120, 209, 243, 51, 119, 20, 78, 176, 70, 90, 200, 70, 251, 239, 55, 103, 196, 250, 97, 94, 68, 192, 45, 159, 152, 242, 168, 207, 208, 75, 140, 111, 153, 123, 48, 103, 8},
+{98, 40, 185, 206, 106, 117, 88, 146, 79, 116, 220, 160, 166, 168, 17, 69, 255, 24, 126, 209, 135, 72, 136, 154, 74, 97, 109, 79, 183, 167, 7, 121, 246, 176, 126, 228, 252, 188, 107, 159, 175, 234, 165, 61, 195, 196, 202, 94, 160, 166, 201, 235, 243, 18, 122, 147, 20, 55, 239, 78, 150, 241, 54, 228, 169, 122, 9, 225, 140, 210, 99, 178, 202, 27, 41, 44, 127, 240, 221, 200, 208, 105, 248, 171, 216, 117, 102, 217, 121, 216, 193, 13, 70, 193, 6, 236, 105, 152, 47, 126, 2, 40, 1, 210, 57, 158, 166, 238, 170, 123, 242, 135, 18, 40, 9, 164, 138, 149, 136, 115, 176, 189, 58, 13, 31, 123, 233, 25},
+{199, 151, 60, 9, 190, 184, 138, 253, 31, 147, 89, 55, 198, 234, 230, 55, 21, 113, 112, 202, 23, 57, 127, 2, 92, 208, 30, 188, 3, 209, 75, 243, 222, 75, 163, 228, 248, 106, 40, 238, 69, 173, 147, 205, 79, 181, 176, 135, 228, 207, 129, 165, 35, 164, 228, 184, 118, 128, 27, 231, 144, 163, 3, 129, 118, 253, 38, 164, 144, 38, 24, 5, 224, 85, 13, 162, 23, 132, 34, 82, 142, 194, 205, 78, 247, 49, 16, 194, 215, 238, 141, 217, 137, 21, 182, 31, 32, 177, 50, 111, 229, 251, 98, 172, 116, 100, 146, 52, 169, 127, 10, 139, 100, 9, 224, 116, 228, 187, 14, 64, 224, 29, 133, 37, 177, 164, 16, 178},
+{200, 94, 32, 10, 245, 247, 107, 137, 210, 58, 25, 221, 102, 56, 43, 227, 8, 55, 97, 109, 166, 231, 242, 140, 166, 229, 195, 58, 170, 6, 65, 11, 214, 64, 241, 151, 163, 147, 31, 198, 119, 98, 237, 254, 90, 79, 16, 5, 28, 255, 194, 93, 168, 1, 177, 53, 59, 56, 136, 2, 95, 203, 22, 25, 93, 133, 132, 171, 190, 28, 37, 255, 236, 204, 3, 105, 24, 11, 148, 102, 127, 45, 17, 234, 230, 128, 83, 158, 5, 98, 224, 233, 90, 84, 2, 123, 20, 196, 50, 230, 11, 149, 46, 150, 65, 30, 124, 117, 154, 176, 113, 214, 24, 77, 29, 110, 241, 119, 46, 241, 56, 176, 136, 219, 57, 213, 198, 28},
+{158, 136, 32, 11, 10, 6, 60, 12, 217, 157, 179, 172, 26, 229, 137, 236, 30, 221, 223, 26, 28, 94, 166, 13, 175, 77, 248, 170, 81, 108, 231, 22, 15, 145, 171, 245, 7, 247, 189, 92, 51, 147, 34, 195, 144, 241, 90, 199, 140, 82, 103, 12, 161, 40, 255, 106, 103, 82, 130, 33, 45, 147, 53, 180, 206, 183, 247, 143, 221, 126, 98, 251, 216, 125, 85, 144, 105, 163, 132, 179, 137, 71, 204, 13, 125, 252, 1, 171, 135, 119, 158, 49, 183, 43, 240, 73, 115, 164, 80, 186, 2, 105, 230, 5, 15, 27, 198, 103, 111, 239, 27, 200, 151, 188, 205, 182, 32, 157, 254, 108, 196, 148, 149, 168, 47, 29, 237, 137},
+{177, 115, 5, 190, 193, 19, 150, 10, 104, 106, 247, 107, 149, 226, 42, 69, 232, 228, 18, 150, 183, 191, 98, 165, 147, 2, 106, 24, 195, 121, 228, 230, 201, 185, 126, 123, 168, 210, 132, 157, 127, 200, 194, 155, 217, 73, 147, 66, 64, 16, 105, 24, 94, 166, 142, 158, 193, 58, 6, 94, 69, 193, 14, 134, 107, 215, 183, 34, 178, 192, 235, 5, 4, 205, 195, 43, 210, 72, 196, 76, 135, 96, 176, 27, 251, 134, 166, 171, 33, 9, 224, 218, 97, 119, 11, 45, 40, 46, 59, 97, 235, 21, 150, 251, 198, 79, 201, 200, 37, 4, 130, 86, 219, 64, 250, 187, 58, 81, 85, 199, 81, 11, 161, 234, 16, 28, 192, 97},
+{135, 202, 109, 145, 221, 238, 62, 230, 23, 226, 236, 14, 183, 21, 196, 249, 32, 133, 127, 194, 131, 218, 224, 113, 198, 45, 49, 128, 160, 227, 149, 104, 216, 80, 33, 158, 236, 126, 164, 128, 126, 37, 147, 44, 1, 82, 70, 166, 225, 95, 191, 95, 15, 148, 60, 71, 21, 244, 181, 185, 100, 240, 182, 161, 228, 44, 216, 222, 171, 139, 110, 179, 56, 167, 229, 186, 18, 171, 29, 214, 134, 78, 82, 31, 48, 14, 229, 149, 91, 29, 111, 168, 109, 198, 224, 228, 85, 127, 33, 200, 236, 199, 75, 249, 40, 23, 123, 229, 209, 36, 160, 52, 128, 164, 14, 239, 242, 124, 28, 52, 180, 93, 100, 39, 68, 145, 207, 237},
+{179, 209, 248, 146, 21, 60, 224, 96, 255, 251, 144, 63, 39, 237, 79, 131, 58, 40, 192, 111, 77, 149, 145, 74, 67, 126, 57, 254, 205, 75, 205, 135, 171, 238, 177, 193, 254, 89, 253, 193, 52, 203, 118, 37, 94, 77, 232, 59, 120, 153, 39, 185, 243, 67, 36, 28, 83, 59, 99, 79, 120, 28, 16, 134, 210, 132, 26, 251, 107, 109, 92, 70, 68, 21, 197, 78, 108, 176, 43, 111, 66, 185, 216, 135, 40, 238, 136, 248, 199, 97, 63, 165, 57, 69, 134, 189, 76, 10, 175, 35, 107, 95, 232, 14, 68, 40, 84, 20, 32, 99, 131, 28, 203, 58, 188, 90, 19, 232, 191, 224, 7, 190, 217, 237, 169, 102, 163, 175},
+{207, 97, 122, 82, 207, 25, 129, 136, 166, 125, 224, 122, 182, 184, 146, 226, 5, 170, 62, 238, 131, 132, 223, 33, 252, 18, 238, 178, 176, 155, 186, 75, 243, 42, 179, 140, 93, 50, 39, 135, 231, 2, 152, 205, 7, 252, 150, 81, 34, 60, 78, 196, 197, 210, 4, 166, 200, 242, 48, 85, 111, 224, 77, 214, 183, 222, 15, 253, 124, 73, 97, 185, 118, 201, 74, 49, 0, 154, 211, 7, 8, 222, 72, 119, 39, 250, 96, 156, 64, 166, 231, 113, 68, 1, 103, 82, 0, 102, 134, 165, 217, 45, 1, 37, 56, 38, 114, 158, 246, 166, 86, 89, 191, 50, 162, 252, 148, 45, 127, 61, 41, 44, 242, 248, 10, 192, 148, 9},
+{103, 186, 117, 14, 153, 70, 101, 239, 123, 175, 210, 17, 99, 211, 86, 100, 234, 160, 254, 232, 134, 126, 108, 123, 250, 177, 187, 139, 233, 223, 14, 213, 250, 202, 229, 5, 123, 158, 190, 35, 16, 184, 159, 214, 150, 177, 171, 137, 21, 87, 121, 68, 49, 6, 92, 149, 32, 171, 60, 236, 234, 166, 177, 241, 8, 52, 68, 170, 83, 189, 1, 20, 228, 175, 65, 64, 243, 90, 75, 239, 181, 88, 204, 190, 146, 226, 239, 29, 232, 112, 213, 189, 155, 254, 13, 243, 246, 214, 151, 64, 233, 247, 28, 73, 55, 202, 155, 116, 66, 56, 149, 192, 77, 161, 171, 127, 246, 208, 250, 31, 81, 13, 146, 112, 223, 43, 249, 153},
+{47, 97, 143, 207, 150, 166, 120, 215, 209, 120, 167, 74, 212, 135, 89, 14, 155, 100, 130, 24, 170, 106, 241, 143, 44, 234, 192, 167, 109, 147, 155, 145, 128, 90, 177, 100, 150, 249, 74, 50, 143, 160, 246, 58, 9, 213, 52, 180, 191, 82, 215, 168, 98, 45, 16, 171, 181, 207, 177, 118, 106, 3, 30, 226, 154, 92, 23, 157, 173, 193, 32, 70, 123, 228, 187, 47, 179, 207, 83, 211, 243, 127, 11, 144, 200, 117, 112, 168, 249, 110, 156, 126, 40, 253, 131, 112, 37, 16, 40, 38, 248, 211, 112, 211, 247, 37, 29, 65, 92, 242, 68, 67, 51, 162, 192, 214, 202, 53, 254, 127, 11, 97, 122, 177, 86, 144, 74, 68},
+{11, 236, 233, 244, 128, 241, 170, 65, 220, 169, 85, 113, 44, 19, 11, 123, 67, 73, 11, 241, 243, 97, 237, 207, 182, 92, 232, 79, 59, 202, 38, 69, 208, 62, 38, 109, 83, 101, 239, 2, 85, 0, 144, 118, 121, 117, 2, 202, 249, 217, 195, 22, 229, 152, 100, 175, 221, 149, 135, 97, 12, 65, 174, 228, 56, 51, 139, 167, 78, 136, 103, 129, 94, 117, 120, 48, 84, 57, 182, 93, 231, 129, 39, 28, 249, 144, 240, 64, 34, 154, 132, 173, 74, 23, 165, 82, 202, 196, 225, 164, 170, 212, 36, 236, 191, 217, 40, 230, 227, 19, 152, 134, 138, 84, 138, 199, 22, 107, 177, 244, 229, 28, 167, 166, 244, 186, 226, 168},
+{10, 136, 103, 211, 173, 173, 161, 170, 35, 232, 154, 224, 82, 67, 197, 128, 39, 59, 38, 182, 222, 133, 185, 204, 91, 127, 13, 75, 248, 233, 175, 159, 116, 131, 153, 70, 125, 99, 79, 225, 90, 113, 148, 35, 93, 16, 117, 200, 152, 182, 222, 127, 24, 228, 218, 147, 190, 42, 33, 13, 219, 42, 191, 132, 86, 188, 113, 119, 159, 73, 243, 191, 10, 73, 205, 139, 92, 85, 46, 187, 222, 136, 141, 181, 236, 60, 244, 243, 72, 158, 191, 81, 40, 43, 153, 242, 250, 87, 49, 198, 10, 214, 205, 42, 2, 142, 26, 226, 117, 239, 240, 27, 42, 141, 98, 118, 219, 245, 175, 160, 155, 56, 34, 154, 79, 50, 182, 207},
+{91, 36, 132, 176, 238, 99, 166, 218, 200, 55, 27, 95, 90, 240, 135, 68, 237, 205, 59, 172, 22, 187, 138, 119, 5, 37, 21, 204, 33, 163, 42, 250, 118, 131, 88, 32, 124, 163, 183, 180, 74, 243, 194, 82, 22, 95, 252, 221, 209, 123, 149, 39, 175, 225, 9, 145, 28, 123, 8, 29, 79, 201, 151, 231, 47, 200, 80, 50, 219, 91, 196, 48, 20, 8, 247, 211, 188, 226, 189, 134, 43, 157, 81, 113, 243, 142, 160, 110, 70, 218, 97, 175, 205, 182, 76, 240, 64, 144, 52, 103, 141, 174, 164, 129, 198, 18, 166, 233, 184, 136, 229, 168, 43, 176, 188, 136, 252, 138, 49, 238, 251, 85, 140, 154, 107, 80, 71, 98},
+{183, 239, 179, 133, 195, 226, 210, 143, 229, 130, 74, 27, 162, 207, 238, 141, 3, 246, 177, 36, 140, 23, 60, 210, 0, 161, 87, 33, 104, 178, 10, 103, 134, 143, 186, 39, 84, 222, 27, 25, 161, 59, 56, 76, 183, 155, 109, 242, 152, 198, 17, 49, 24, 205, 254, 191, 44, 5, 158, 6, 66, 252, 119, 86, 120, 190, 203, 196, 124, 4, 177, 142, 135, 226, 173, 146, 64, 244, 126, 12, 103, 62, 174, 63, 137, 156, 225, 172, 0, 106, 109, 32, 203, 229, 61, 76, 110, 128, 158, 150, 93, 90, 200, 73, 126, 201, 153, 47, 112, 91, 189, 173, 205, 72, 130, 229, 181, 174, 186, 148, 62, 112, 227, 202, 251, 121, 144, 112},
+{127, 152, 67, 114, 165, 250, 229, 145, 32, 250, 157, 36, 70, 199, 63, 56, 2, 2, 51, 31, 133, 21, 3, 111, 206, 72, 59, 211, 21, 175, 193, 109, 245, 133, 117, 195, 2, 132, 87, 25, 14, 122, 249, 82, 28, 10, 112, 189, 249, 234, 65, 15, 84, 224, 11, 196, 249, 156, 30, 215, 22, 63, 122, 130, 240, 168, 191, 216, 23, 0, 120, 205, 42, 140, 137, 87, 249, 76, 249, 209, 57, 74, 14, 82, 58, 138, 104, 111, 108, 65, 77, 94, 130, 120, 67, 85, 68, 69, 14, 10, 167, 153, 119, 203, 75, 11, 24, 239, 167, 165, 31, 91, 4, 170, 101, 65, 207, 221, 143, 208, 112, 51, 182, 143, 240, 205, 44, 243},
+{30, 15, 101, 143, 12, 171, 62, 163, 37, 19, 239, 63, 165, 160, 126, 147, 202, 43, 69, 154, 63, 152, 194, 214, 73, 103, 62, 95, 2, 174, 21, 125, 90, 202, 37, 84, 75, 175, 177, 15, 51, 88, 4, 113, 21, 67, 116, 255, 151, 176, 48, 183, 29, 235, 95, 152, 246, 104, 9, 41, 139, 58, 9, 142, 45, 194, 223, 4, 205, 26, 208, 232, 139, 227, 105, 16, 58, 183, 123, 101, 26, 195, 167, 106, 180, 86, 164, 6, 213, 25, 15, 24, 248, 189, 215, 254, 193, 91, 159, 59, 108, 104, 132, 84, 152, 148, 90, 91, 148, 205, 141, 132, 7, 105, 230, 221, 63, 47, 19, 223, 139, 116, 181, 246, 220, 12, 65, 115},
+{111, 130, 69, 212, 6, 39, 232, 152, 30, 54, 52, 33, 106, 20, 146, 235, 212, 70, 156, 36, 192, 23, 244, 220, 179, 79, 61, 224, 86, 127, 111, 2, 1, 248, 245, 138, 208, 136, 122, 211, 36, 176, 50, 31, 174, 252, 76, 93, 155, 97, 76, 145, 97, 229, 144, 11, 131, 98, 0, 76, 104, 35, 35, 189, 83, 22, 53, 234, 230, 108, 191, 177, 247, 252, 230, 246, 94, 210, 92, 159, 180, 156, 45, 50, 120, 121, 154, 187, 43, 50, 96, 66, 107, 98, 46, 157, 214, 8, 74, 205, 162, 8, 0, 70, 19, 224, 59, 1, 125, 48, 78, 108, 111, 14, 88, 190, 28, 108, 126, 18, 179, 130, 3, 247, 107, 57, 243, 154},
+{21, 125, 154, 2, 252, 248, 189, 144, 21, 113, 217, 153, 155, 32, 226, 71, 121, 69, 40, 39, 34, 84, 44, 141, 207, 241, 84, 62, 203, 234, 208, 85, 106, 104, 131, 26, 174, 106, 174, 98, 155, 66, 175, 67, 200, 125, 216, 175, 10, 134, 138, 150, 188, 187, 171, 145, 13, 200, 209, 246, 19, 81, 90, 158, 225, 23, 4, 39, 43, 232, 132, 128, 187, 193, 56, 14, 43, 80, 184, 141, 50, 223, 159, 78, 49, 131, 10, 23, 35, 208, 174, 250, 168, 230, 192, 159, 75, 120, 173, 45, 21, 242, 100, 224, 64, 249, 101, 101, 158, 228, 8, 69, 134, 191, 94, 175, 20, 49, 180, 5, 22, 255, 49, 254, 84, 245, 5, 198},
+{2, 246, 45, 233, 215, 227, 237, 0, 229, 209, 252, 106, 233, 66, 218, 95, 209, 61, 196, 249, 15, 110, 33, 41, 5, 78, 250, 193, 70, 94, 229, 110, 213, 6, 42, 247, 93, 201, 165, 97, 59, 178, 203, 211, 163, 58, 182, 145, 23, 159, 18, 248, 9, 247, 100, 141, 120, 233, 189, 143, 220, 233, 45, 161, 200, 52, 142, 127, 21, 233, 246, 147, 204, 3, 154, 90, 95, 190, 27, 26, 103, 193, 233, 230, 188, 156, 31, 232, 43, 173, 29, 16, 87, 149, 202, 18, 180, 87, 56, 105, 79, 28, 123, 17, 110, 89, 222, 80, 178, 153, 58, 15, 127, 26, 142, 82, 186, 222, 146, 17, 34, 117, 57, 36, 33, 171, 22, 128},
+{187, 216, 5, 18, 226, 167, 192, 152, 163, 127, 91, 94, 141, 161, 89, 139, 188, 159, 121, 138, 234, 190, 125, 24, 238, 156, 238, 71, 52, 60, 195, 134, 125, 5, 216, 134, 64, 216, 251, 185, 65, 83, 208, 221, 163, 170, 183, 200, 45, 244, 71, 9, 169, 179, 113, 14, 188, 175, 240, 161, 23, 235, 165, 190, 208, 125, 96, 226, 13, 36, 115, 192, 0, 21, 99, 162, 11, 164, 120, 138, 86, 209, 243, 3, 38, 214, 171, 43, 50, 149, 34, 201, 160, 135, 164, 255, 161, 102, 166, 157, 250, 180, 173, 149, 125, 80, 110, 173, 15, 22, 129, 65, 85, 194, 184, 83, 241, 151, 11, 34, 205, 192, 226, 139, 185, 208, 167, 218},
+{111, 77, 154, 7, 35, 233, 213, 148, 129, 124, 206, 178, 86, 30, 218, 78, 87, 134, 225, 210, 46, 91, 76, 205, 35, 106, 197, 83, 176, 199, 229, 95, 247, 249, 12, 209, 11, 32, 152, 131, 200, 93, 229, 30, 13, 137, 125, 167, 100, 48, 55, 74, 204, 149, 69, 90, 44, 254, 1, 102, 150, 80, 62, 61, 58, 242, 107, 109, 79, 163, 74, 116, 67, 120, 130, 106, 25, 198, 238, 55, 36, 110, 29, 223, 124, 179, 162, 64, 69, 98, 147, 47, 148, 57, 88, 86, 23, 53, 212, 155, 23, 197, 215, 152, 139, 50, 104, 133, 142, 78, 255, 88, 205, 249, 112, 241, 162, 26, 28, 158, 68, 106, 252, 178, 51, 205, 159, 107},
+{54, 1, 2, 217, 200, 17, 144, 120, 246, 164, 234, 218, 153, 62, 33, 218, 152, 214, 121, 111, 21, 37, 45, 209, 65, 168, 252, 118, 167, 74, 229, 104, 90, 175, 148, 253, 209, 168, 209, 222, 224, 77, 71, 168, 49, 117, 155, 138, 100, 46, 74, 153, 116, 157, 154, 164, 99, 168, 53, 221, 115, 67, 16, 184, 100, 149, 11, 107, 106, 191, 157, 87, 20, 16, 169, 103, 117, 26, 8, 154, 189, 148, 222, 94, 152, 185, 149, 237, 53, 250, 4, 149, 220, 76, 58, 74, 66, 191, 245, 124, 140, 84, 247, 21, 43, 52, 47, 49, 57, 217, 246, 191, 21, 176, 54, 93, 105, 224, 97, 40, 170, 41, 231, 216, 252, 248, 196, 157},
+{89, 193, 95, 185, 3, 202, 250, 9, 103, 251, 255, 177, 94, 50, 176, 53, 240, 191, 212, 138, 217, 80, 148, 50, 190, 216, 179, 122, 240, 140, 62, 144, 86, 120, 92, 180, 117, 158, 230, 30, 232, 210, 161, 67, 90, 221, 253, 70, 159, 196, 213, 210, 206, 139, 64, 93, 53, 151, 153, 144, 137, 71, 63, 11, 226, 165, 146, 9, 70, 10, 72, 185, 136, 119, 103, 204, 36, 33, 13, 19, 241, 234, 132, 58, 178, 234, 242, 136, 92, 49, 35, 75, 83, 47, 171, 208, 133, 95, 244, 5, 227, 223, 253, 219, 52, 20, 200, 229, 55, 240, 74, 179, 226, 140, 147, 60, 112, 207, 173, 233, 117, 60, 183, 232, 169, 63, 239, 48},
+{86, 43, 78, 85, 152, 239, 30, 84, 130, 243, 251, 234, 243, 226, 243, 241, 155, 59, 89, 220, 14, 142, 98, 134, 220, 60, 90, 9, 190, 98, 185, 3, 10, 27, 5, 61, 221, 93, 23, 21, 208, 27, 21, 108, 146, 179, 195, 38, 211, 28, 95, 102, 226, 66, 160, 207, 191, 87, 50, 158, 62, 227, 149, 51, 162, 228, 118, 232, 251, 177, 57, 184, 57, 61, 235, 242, 103, 48, 251, 90, 31, 83, 126, 89, 179, 247, 104, 174, 111, 85, 111, 199, 16, 36, 187, 127, 113, 110, 10, 167, 189, 253, 192, 223, 23, 49, 153, 50, 182, 242, 99, 160, 240, 72, 87, 238, 80, 46, 230, 57, 118, 167, 153, 73, 74, 216, 182, 197},
+{26, 99, 174, 109, 78, 178, 226, 165, 240, 44, 107, 40, 161, 63, 172, 249, 250, 9, 129, 161, 152, 28, 11, 95, 243, 88, 174, 126, 68, 223, 0, 88, 237, 237, 132, 191, 23, 190, 38, 180, 61, 126, 62, 158, 21, 61, 124, 108, 222, 81, 160, 7, 204, 115, 200, 128, 64, 41, 240, 210, 185, 246, 171, 248, 251, 151, 38, 213, 13, 253, 244, 57, 225, 1, 205, 230, 157, 91, 195, 103, 11, 152, 194, 128, 124, 66, 187, 0, 125, 195, 12, 212, 70, 32, 32, 241, 30, 193, 177, 22, 178, 42, 161, 91, 41, 230, 234, 103, 203, 72, 180, 66, 164, 119, 185, 238, 139, 246, 159, 193, 214, 90, 156, 169, 71, 141, 246, 235},
+{43, 143, 72, 24, 146, 7, 95, 70, 11, 157, 30, 57, 181, 126, 151, 182, 221, 32, 239, 171, 225, 115, 59, 152, 197, 213, 197, 217, 195, 68, 108, 160, 181, 87, 64, 70, 97, 243, 253, 68, 159, 35, 61, 86, 46, 44, 101, 110, 2, 186, 66, 239, 84, 118, 158, 220, 183, 237, 208, 162, 141, 126, 73, 77, 117, 191, 242, 44, 75, 141, 215, 218, 160, 220, 84, 119, 10, 218, 118, 134, 185, 216, 144, 170, 23, 220, 185, 44, 75, 229, 148, 227, 170, 204, 0, 192, 78, 234, 35, 92, 180, 231, 25, 36, 169, 4, 28, 13, 166, 133, 128, 85, 124, 79, 234, 249, 244, 228, 198, 167, 24, 151, 84, 128, 28, 210, 237, 217},
+{64, 239, 181, 67, 36, 129, 179, 235, 208, 45, 245, 223, 223, 4, 167, 110, 142, 39, 95, 31, 249, 178, 221, 197, 130, 230, 171, 178, 14, 183, 171, 63, 251, 144, 186, 57, 153, 245, 158, 201, 157, 74, 206, 139, 111, 122, 119, 55, 167, 92, 137, 153, 199, 121, 101, 145, 89, 163, 104, 11, 195, 245, 205, 121, 76, 60, 164, 22, 52, 183, 34, 206, 168, 83, 176, 72, 138, 241, 218, 222, 202, 151, 190, 130, 234, 85, 140, 240, 112, 105, 170, 143, 249, 197, 206, 151, 68, 152, 205, 94, 163, 146, 125, 170, 8, 72, 52, 48, 166, 106, 111, 134, 76, 107, 123, 235, 152, 196, 3, 253, 111, 204, 88, 141, 204, 67, 129, 81},
+{75, 203, 161, 78, 44, 56, 85, 207, 54, 201, 219, 61, 26, 137, 219, 122, 112, 156, 111, 1, 86, 146, 169, 160, 216, 28, 171, 110, 247, 252, 93, 192, 121, 185, 49, 127, 67, 135, 182, 99, 49, 160, 85, 92, 230, 226, 26, 244, 215, 171, 229, 213, 19, 52, 193, 212, 160, 208, 76, 125, 165, 92, 100, 93, 57, 40, 38, 134, 227, 27, 156, 48, 8, 164, 90, 25, 76, 18, 3, 141, 101, 240, 225, 31, 178, 181, 44, 30, 120, 247, 151, 21, 188, 0, 193, 195, 207, 83, 132, 247, 90, 138, 211, 146, 15, 45, 250, 150, 210, 167, 55, 201, 248, 229, 148, 169, 205, 19, 21, 67, 32, 90, 125, 139, 23, 8, 212, 163},
+{75, 203, 161, 78, 44, 56, 85, 207, 54, 201, 219, 61, 26, 137, 219, 122, 112, 156, 111, 1, 86, 146, 169, 160, 216, 28, 171, 110, 247, 252, 93, 192, 121, 185, 49, 127, 67, 135, 182, 99, 49, 160, 85, 92, 230, 226, 26, 244, 215, 171, 229, 213, 19, 52, 193, 212, 160, 208, 76, 125, 165, 92, 100, 93, 57, 40, 38, 134, 227, 27, 156, 48, 8, 164, 90, 25, 76, 18, 3, 141, 101, 240, 225, 31, 178, 181, 44, 30, 120, 247, 151, 21, 188, 0, 193, 195, 207, 83, 132, 247, 90, 138, 211, 146, 15, 45, 250, 150, 210, 167, 55, 201, 248, 229, 148, 169, 205, 19, 21, 67, 32, 90, 125, 139, 23, 8, 212, 163},
+{75, 203, 161, 78, 44, 56, 85, 207, 54, 201, 219, 61, 26, 137, 219, 122, 112, 156, 111, 1, 86, 146, 169, 160, 216, 28, 171, 110, 247, 252, 93, 192, 121, 185, 49, 127, 67, 135, 182, 99, 49, 160, 85, 92, 230, 226, 26, 244, 215, 171, 229, 213, 19, 52, 193, 212, 160, 208, 76, 125, 165, 92, 100, 93, 57, 40, 38, 134, 227, 27, 156, 48, 8, 164, 90, 25, 76, 18, 3, 141, 101, 240, 225, 31, 178, 181, 44, 30, 120, 247, 151, 21, 188, 0, 193, 195, 207, 83, 132, 247, 90, 138, 211, 146, 15, 45, 250, 150, 210, 167, 55, 201, 248, 229, 148, 169, 205, 19, 21, 67, 32, 90, 125, 139, 23, 8, 212, 163},
+{113, 198, 198, 197, 160, 165, 239, 255, 144, 137, 117, 186, 178, 54, 141, 74, 90, 126, 150, 114, 73, 158, 120, 196, 255, 16, 23, 44, 24, 205, 156, 29, 74, 185, 19, 178, 28, 171, 227, 247, 250, 9, 48, 86, 87, 68, 198, 98, 217, 174, 91, 132, 7, 121, 152, 161, 233, 165, 28, 74, 51, 85, 109, 242, 107, 25, 139, 178, 7, 28, 113, 211, 94, 117, 22, 215, 214, 190, 35, 193, 55, 255, 36, 195, 107, 106, 158, 187, 234, 178, 11, 59, 252, 158, 79, 165, 131, 64, 188, 156, 169, 24, 157, 180, 146, 113, 162, 117, 95, 86, 155, 81, 168, 3, 248, 100, 91, 189, 60, 187, 36, 189, 6, 145, 8, 106, 198, 87},
+{51, 23, 100, 31, 200, 96, 188, 79, 98, 86, 46, 240, 155, 80, 216, 103, 229, 10, 104, 134, 4, 167, 118, 10, 8, 51, 229, 137, 103, 25, 14, 16, 200, 39, 6, 252, 200, 139, 205, 236, 244, 113, 97, 99, 194, 128, 196, 126, 80, 49, 87, 170, 92, 76, 8, 214, 149, 234, 246, 216, 98, 31, 58, 53, 221, 4, 168, 155, 249, 131, 137, 32, 124, 203, 187, 116, 1, 36, 48, 202, 231, 192, 29, 153, 227, 111, 241, 139, 77, 83, 239, 212, 53, 156, 81, 208, 223, 83, 15, 46, 234, 129, 232, 14, 55, 20, 105, 209, 76, 20, 67, 39, 163, 74, 78, 50, 121, 203, 141, 44, 231, 248, 48, 238, 76, 121, 74, 189},
+{75, 226, 1, 226, 223, 116, 167, 14, 51, 84, 56, 227, 82, 21, 248, 64, 21, 24, 165, 122, 87, 167, 38, 215, 243, 6, 224, 167, 46, 202, 48, 97, 103, 47, 203, 49, 40, 18, 194, 52, 251, 217, 137, 247, 135, 213, 170, 34, 218, 18, 15, 61, 113, 70, 4, 23, 170, 207, 169, 223, 249, 73, 3, 194, 65, 81, 210, 153, 238, 66, 126, 185, 54, 127, 215, 252, 40, 148, 91, 29, 26, 225, 105, 79, 156, 251, 253, 253, 130, 68, 127, 226, 46, 169, 189, 13, 14, 65, 183, 40, 217, 239, 249, 160, 118, 127, 254, 104, 188, 115, 215, 128, 245, 255, 75, 126, 180, 150, 113, 94, 180, 178, 33, 46, 237, 117, 77, 61},
+{88, 91, 114, 49, 112, 224, 215, 12, 150, 62, 119, 28, 184, 103, 160, 20, 150, 87, 172, 221, 207, 171, 209, 208, 199, 253, 231, 92, 64, 96, 187, 189, 183, 52, 14, 188, 89, 49, 34, 116, 204, 48, 231, 31, 205, 255, 12, 64, 227, 30, 41, 95, 35, 223, 180, 170, 3, 54, 162, 2, 93, 230, 236, 32, 58, 100, 196, 43, 154, 67, 76, 60, 98, 33, 12, 66, 50, 189, 96, 87, 21, 238, 177, 192, 53, 69, 58, 123, 116, 91, 249, 253, 105, 129, 9, 240, 39, 196, 128, 201, 9, 21, 134, 242, 166, 74, 95, 139, 209, 113, 1, 207, 177, 230, 7, 31, 253, 52, 112, 41, 37, 224, 132, 55, 182, 62, 208, 51},
+{79, 154, 139, 113, 210, 27, 6, 67, 205, 47, 235, 120, 65, 173, 73, 173, 197, 34, 43, 173, 154, 42, 196, 34, 135, 97, 37, 25, 129, 110, 1, 63, 15, 146, 227, 226, 249, 226, 9, 103, 7, 205, 204, 229, 227, 24, 38, 74, 210, 101, 55, 131, 140, 175, 243, 177, 39, 197, 47, 89, 72, 234, 231, 78, 99, 255, 80, 34, 229, 83, 215, 192, 2, 37, 44, 4, 105, 14, 118, 251, 215, 91, 28, 253, 64, 199, 84, 201, 149, 235, 43, 121, 100, 153, 72, 75, 143, 203, 176, 63, 245, 6, 209, 102, 18, 177, 179, 124, 204, 134, 26, 204, 143, 100, 211, 78, 54, 216, 97, 92, 124, 79, 107, 175, 91, 192, 225, 166},
+{69, 172, 151, 157, 194, 179, 98, 136, 56, 143, 50, 183, 149, 117, 146, 223, 103, 225, 83, 125, 77, 22, 241, 187, 207, 226, 34, 50, 145, 208, 63, 132, 106, 51, 200, 74, 180, 31, 24, 142, 12, 224, 236, 11, 9, 44, 174, 255, 2, 128, 218, 64, 25, 56, 194, 228, 115, 160, 184, 83, 117, 21, 209, 245, 217, 129, 244, 116, 130, 183, 14, 24, 111, 86, 227, 84, 146, 46, 72, 196, 24, 61, 177, 89, 165, 139, 215, 168, 72, 91, 209, 1, 72, 5, 70, 174, 231, 172, 255, 9, 247, 241, 242, 91, 85, 179, 127, 220, 54, 198, 230, 76, 118, 12, 40, 52, 168, 113, 232, 169, 147, 143, 208, 154, 31, 80, 120, 143},
+{114, 32, 147, 217, 239, 215, 145, 157, 50, 124, 224, 85, 158, 24, 74, 55, 8, 53, 109, 204, 0, 80, 249, 44, 160, 176, 227, 85, 168, 57, 86, 97, 229, 114, 107, 179, 123, 121, 30, 96, 78, 20, 133, 66, 9, 219, 169, 23, 222, 48, 218, 149, 36, 195, 42, 190, 148, 4, 181, 161, 229, 162, 2, 137, 209, 234, 139, 182, 49, 183, 2, 150, 87, 66, 147, 11, 177, 185, 19, 60, 252, 146, 30, 142, 45, 106, 235, 252, 153, 156, 124, 91, 241, 49, 225, 254, 194, 102, 127, 103, 92, 130, 217, 136, 170, 166, 166, 28, 176, 34, 39, 218, 38, 108, 62, 77, 247, 114, 74, 48, 236, 73, 41, 85, 104, 170, 128, 127},
+{127, 7, 76, 136, 64, 254, 66, 153, 160, 20, 232, 187, 156, 145, 226, 213, 111, 139, 3, 234, 39, 194, 35, 29, 33, 160, 13, 170, 108, 64, 193, 48, 40, 142, 182, 62, 230, 196, 92, 32, 190, 15, 189, 55, 102, 26, 183, 230, 161, 118, 130, 11, 155, 183, 208, 237, 225, 66, 47, 182, 37, 208, 112, 118, 18, 114, 44, 107, 180, 230, 39, 254, 26, 141, 48, 6, 2, 95, 8, 45, 87, 26, 5, 20, 72, 116, 177, 214, 28, 143, 225, 254, 91, 198, 95, 127, 196, 103, 152, 179, 215, 149, 12, 106, 128, 237, 8, 226, 116, 185, 137, 185, 147, 190, 5, 74, 65, 60, 108, 122, 41, 197, 222, 182, 16, 136, 3, 161},
+{186, 193, 93, 251, 204, 158, 98, 152, 180, 41, 241, 16, 239, 0, 204, 69, 55, 91, 9, 148, 44, 144, 244, 151, 164, 34, 14, 205, 92, 175, 219, 180, 231, 35, 123, 57, 144, 4, 2, 91, 158, 244, 229, 16, 162, 89, 33, 60, 77, 91, 147, 29, 65, 51, 81, 83, 202, 142, 148, 152, 166, 238, 202, 170, 237, 44, 162, 99, 9, 43, 161, 4, 95, 86, 167, 90, 95, 86, 154, 148, 68, 162, 78, 130, 89, 231, 25, 75, 115, 224, 186, 124, 160, 219, 199, 242, 20, 105, 183, 216, 166, 247, 111, 61, 153, 242, 27, 226, 96, 234, 200, 159, 57, 91, 152, 111, 103, 249, 27, 226, 203, 117, 213, 159, 34, 244, 212, 18},
+{126, 44, 189, 71, 5, 157, 244, 153, 58, 11, 223, 197, 201, 190, 103, 34, 249, 96, 87, 31, 35, 8, 252, 49, 209, 92, 253, 68, 221, 254, 143, 100, 126, 160, 35, 216, 49, 57, 40, 55, 229, 187, 151, 243, 31, 227, 253, 78, 211, 161, 31, 183, 19, 75, 200, 44, 90, 35, 190, 206, 230, 3, 168, 41, 235, 129, 5, 37, 129, 175, 29, 88, 63, 43, 63, 16, 61, 55, 160, 147, 124, 233, 109, 66, 203, 228, 222, 95, 165, 160, 70, 193, 95, 201, 80, 239, 147, 119, 194, 11, 94, 125, 206, 200, 136, 191, 235, 75, 49, 88, 96, 220, 102, 49, 20, 71, 174, 243, 61, 250, 37, 148, 173, 123, 155, 94, 210, 211},
+{154, 118, 77, 7, 118, 81, 153, 216, 227, 245, 210, 62, 255, 152, 151, 133, 184, 39, 51, 195, 232, 125, 127, 170, 24, 212, 9, 175, 206, 130, 236, 139, 181, 200, 10, 20, 116, 72, 41, 214, 118, 139, 150, 61, 156, 199, 243, 1, 125, 244, 224, 240, 255, 235, 138, 92, 209, 188, 125, 35, 250, 238, 52, 238, 178, 5, 89, 132, 231, 124, 115, 143, 177, 200, 83, 255, 251, 147, 175, 147, 58, 149, 136, 183, 156, 55, 177, 18, 236, 248, 220, 150, 130, 251, 91, 136, 79, 202, 32, 142, 137, 39, 155, 17, 217, 195, 171, 95, 134, 68, 170, 23, 79, 145, 16, 182, 239, 107, 246, 60, 163, 86, 164, 62, 195, 182, 99, 246},
+{49, 138, 241, 246, 248, 175, 80, 94, 233, 181, 132, 46, 59, 24, 233, 112, 23, 202, 134, 205, 30, 146, 215, 77, 123, 136, 78, 100, 217, 224, 237, 32, 101, 90, 29, 127, 30, 128, 154, 149, 124, 191, 247, 177, 216, 60, 228, 143, 220, 22, 19, 21, 112, 16, 123, 198, 11, 2, 153, 5, 206, 195, 181, 54, 128, 210, 42, 187, 71, 214, 237, 121, 18, 100, 236, 232, 91, 113, 108, 81, 255, 253, 23, 16, 139, 171, 43, 227, 77, 237, 51, 40, 141, 225, 164, 109, 210, 127, 66, 146, 126, 225, 174, 55, 119, 119, 107, 25, 233, 119, 198, 150, 2, 192, 14, 207, 24, 242, 73, 17, 177, 33, 87, 30, 24, 155, 230, 244},
+{34, 204, 38, 98, 180, 228, 47, 236, 107, 226, 82, 201, 192, 252, 239, 248, 136, 112, 218, 86, 246, 11, 125, 104, 62, 238, 199, 24, 214, 9, 163, 98, 199, 251, 35, 164, 43, 57, 240, 115, 237, 231, 167, 167, 237, 237, 222, 4, 76, 211, 192, 111, 236, 241, 240, 78, 197, 97, 65, 3, 0, 68, 78, 196, 234, 234, 92, 68, 163, 142, 26, 154, 143, 24, 179, 30, 112, 13, 70, 46, 53, 139, 225, 254, 184, 58, 242, 95, 143, 255, 143, 29, 128, 16, 145, 215, 188, 83, 192, 47, 127, 174, 242, 203, 195, 99, 200, 226, 189, 237, 220, 41, 110, 189, 178, 28, 0, 90, 111, 226, 109, 116, 227, 32, 208, 122, 194, 91},
+{73, 160, 177, 249, 254, 118, 21, 97, 64, 81, 120, 196, 64, 87, 37, 5, 252, 10, 225, 2, 101, 210, 61, 184, 166, 61, 18, 196, 207, 86, 25, 102, 8, 39, 240, 140, 53, 44, 237, 127, 244, 67, 94, 218, 102, 165, 123, 61, 160, 174, 105, 7, 53, 247, 92, 169, 46, 201, 114, 138, 243, 203, 189, 166, 80, 45, 90, 172, 202, 131, 106, 123, 229, 161, 20, 228, 228, 249, 89, 7, 190, 179, 188, 163, 88, 79, 181, 191, 63, 114, 51, 190, 15, 198, 9, 65, 139, 225, 244, 167, 13, 243, 103, 173, 126, 85, 52, 18, 133, 217, 108, 191, 12, 61, 148, 113, 93, 25, 107, 221, 43, 124, 33, 71, 131, 182, 202, 48},
+{12, 210, 220, 169, 124, 219, 59, 222, 115, 199, 134, 81, 112, 200, 14, 230, 161, 11, 80, 68, 40, 99, 42, 179, 10, 132, 29, 9, 153, 53, 151, 10, 123, 101, 45, 94, 29, 109, 70, 128, 121, 116, 131, 139, 177, 7, 229, 154, 164, 242, 142, 187, 54, 87, 108, 189, 152, 147, 194, 146, 119, 153, 192, 210, 0, 219, 11, 50, 125, 211, 125, 72, 214, 176, 154, 235, 135, 87, 71, 1, 188, 127, 123, 148, 0, 94, 41, 118, 13, 205, 105, 152, 250, 204, 250, 41, 65, 223, 48, 159, 23, 206, 83, 220, 177, 200, 210, 231, 66, 188, 200, 181, 159, 63, 124, 195, 237, 71, 240, 170, 177, 31, 62, 68, 129, 23, 121, 84},
+{107, 172, 140, 50, 130, 172, 213, 26, 197, 156, 130, 163, 161, 205, 124, 32, 22, 28, 21, 225, 98, 235, 228, 159, 64, 113, 49, 2, 44, 88, 130, 80, 201, 158, 9, 12, 235, 246, 251, 13, 141, 110, 31, 127, 0, 0, 31, 213, 213, 195, 34, 99, 93, 253, 230, 3, 9, 238, 63, 106, 230, 184, 189, 44, 163, 229, 88, 95, 187, 226, 225, 142, 183, 17, 179, 193, 51, 74, 15, 174, 242, 251, 39, 151, 62, 249, 6, 137, 253, 73, 208, 13, 196, 35, 218, 28, 250, 35, 149, 25, 168, 35, 180, 237, 219, 47, 88, 36, 104, 28, 88, 60, 26, 133, 197, 39, 117, 67, 30, 100, 206, 60, 210, 190, 16, 4, 27, 215},
+{183, 127, 146, 232, 66, 242, 39, 229, 131, 164, 119, 186, 109, 88, 69, 215, 69, 153, 228, 254, 0, 187, 101, 42, 110, 129, 41, 53, 199, 116, 215, 140, 225, 87, 110, 32, 128, 217, 156, 149, 220, 185, 14, 73, 163, 92, 82, 130, 55, 244, 233, 66, 155, 125, 112, 107, 109, 216, 1, 181, 84, 71, 232, 56, 6, 88, 108, 135, 34, 138, 111, 242, 114, 108, 42, 214, 163, 123, 248, 200, 23, 174, 222, 62, 155, 151, 225, 81, 102, 187, 2, 130, 74, 5, 79, 157, 237, 134, 215, 86, 215, 143, 252, 33, 175, 35, 194, 42, 199, 170, 147, 199, 4, 60, 24, 21, 64, 178, 87, 66, 214, 170, 0, 154, 5, 115, 136, 7},
+{97, 231, 222, 131, 195, 245, 195, 222, 220, 95, 186, 226, 220, 143, 45, 121, 144, 200, 140, 242, 149, 87, 187, 64, 187, 250, 44, 150, 43, 119, 10, 45, 0, 131, 110, 242, 210, 128, 89, 216, 192, 169, 125, 124, 104, 71, 249, 165, 22, 141, 145, 79, 122, 175, 253, 230, 96, 70, 68, 194, 234, 211, 38, 23, 22, 254, 151, 204, 160, 198, 33, 164, 113, 27, 217, 61, 205, 138, 95, 214, 161, 223, 140, 191, 205, 96, 191, 10, 200, 242, 183, 160, 132, 175, 173, 82, 36, 22, 225, 209, 130, 23, 9, 166, 155, 42, 21, 67, 165, 149, 126, 107, 183, 237, 86, 245, 247, 154, 126, 227, 145, 220, 227, 170, 161, 206, 244, 214},
+{74, 17, 125, 222, 218, 18, 72, 96, 103, 210, 173, 146, 210, 71, 48, 247, 148, 90, 228, 55, 221, 79, 76, 242, 190, 112, 173, 25, 229, 93, 198, 122, 97, 93, 63, 162, 46, 125, 144, 54, 213, 65, 27, 222, 237, 168, 125, 122, 35, 37, 95, 243, 168, 23, 18, 19, 188, 129, 77, 102, 74, 132, 81, 112, 176, 23, 175, 58, 139, 192, 202, 182, 55, 24, 181, 143, 82, 67, 187, 224, 202, 171, 159, 209, 241, 126, 226, 68, 153, 52, 42, 171, 30, 73, 199, 56, 100, 76, 208, 127, 120, 135, 50, 166, 233, 105, 253, 223, 15, 43, 76, 235, 21, 153, 2, 206, 87, 65, 191, 74, 86, 189, 21, 190, 103, 43, 103, 221},
+{175, 225, 86, 75, 125, 148, 118, 139, 104, 42, 135, 62, 180, 142, 178, 195, 203, 198, 92, 160, 232, 98, 158, 43, 110, 52, 146, 200, 140, 191, 114, 107, 217, 213, 136, 184, 8, 171, 72, 72, 35, 195, 70, 213, 29, 185, 40, 174, 39, 195, 15, 238, 24, 70, 21, 59, 30, 16, 77, 52, 49, 98, 230, 41, 220, 190, 82, 164, 142, 147, 139, 60, 112, 98, 192, 151, 28, 1, 192, 206, 95, 155, 143, 15, 163, 120, 92, 17, 201, 118, 162, 2, 75, 166, 72, 139, 205, 70, 249, 205, 47, 99, 58, 158, 130, 204, 109, 137, 210, 225, 244, 218, 110, 131, 225, 47, 234, 47, 177, 134, 215, 45, 185, 251, 148, 213, 176, 248},
+{161, 95, 0, 203, 56, 204, 37, 23, 84, 153, 58, 8, 155, 111, 21, 92, 12, 244, 10, 55, 32, 106, 110, 139, 33, 24, 138, 167, 222, 95, 35, 188, 243, 57, 72, 44, 176, 102, 62, 29, 189, 79, 85, 195, 25, 89, 58, 9, 133, 76, 95, 224, 181, 114, 167, 44, 27, 206, 33, 189, 87, 80, 38, 6, 182, 111, 197, 225, 243, 59, 8, 222, 20, 85, 180, 131, 229, 50, 48, 161, 237, 130, 53, 141, 20, 197, 82, 238, 17, 228, 158, 132, 123, 15, 163, 66, 122, 110, 102, 226, 216, 138, 189, 63, 134, 6, 240, 211, 140, 233, 119, 209, 228, 130, 128, 248, 206, 154, 169, 229, 180, 150, 83, 81, 25, 242, 230, 60},
+{34, 163, 205, 244, 12, 212, 40, 250, 128, 100, 31, 63, 53, 67, 122, 153, 163, 233, 245, 25, 96, 220, 90, 31, 56, 248, 59, 255, 149, 81, 240, 133, 67, 253, 211, 39, 212, 239, 220, 14, 92, 59, 54, 56, 69, 233, 88, 52, 134, 20, 233, 25, 254, 122, 33, 36, 129, 87, 83, 224, 126, 244, 98, 143, 157, 191, 44, 41, 244, 163, 74, 146, 147, 36, 220, 13, 227, 146, 143, 136, 104, 175, 224, 39, 13, 237, 236, 246, 75, 45, 47, 207, 133, 210, 98, 85, 5, 245, 225, 58, 35, 33, 216, 153, 111, 205, 12, 16, 116, 25, 109, 110, 250, 221, 238, 61, 166, 163, 96, 215, 26, 218, 84, 188, 20, 20, 210, 19},
+{16, 111, 208, 41, 251, 106, 243, 92, 91, 225, 126, 116, 111, 70, 190, 142, 217, 135, 174, 127, 106, 164, 94, 210, 145, 176, 27, 251, 171, 87, 242, 59, 219, 76, 61, 107, 232, 222, 103, 41, 150, 237, 16, 220, 139, 52, 150, 250, 5, 186, 94, 109, 51, 160, 39, 169, 104, 200, 140, 129, 125, 154, 241, 171, 161, 208, 197, 41, 63, 73, 238, 197, 99, 144, 226, 38, 176, 37, 118, 90, 113, 120, 172, 199, 207, 70, 79, 118, 157, 121, 86, 8, 111, 244, 203, 99, 72, 140, 228, 2, 249, 86, 217, 120, 169, 87, 30, 237, 11, 217, 108, 221, 0, 30, 221, 37, 204, 46, 249, 236, 60, 55, 221, 181, 132, 20, 25, 163},
+{172, 31, 26, 129, 41, 19, 173, 173, 215, 164, 48, 114, 39, 35, 249, 169, 129, 86, 193, 112, 30, 91, 157, 147, 119, 169, 72, 78, 0, 104, 216, 98, 171, 120, 211, 183, 97, 208, 209, 19, 122, 23, 90, 81, 118, 56, 107, 28, 48, 120, 187, 241, 189, 62, 106, 135, 166, 222, 64, 187, 78, 182, 21, 167, 180, 28, 62, 20, 238, 217, 235, 207, 204, 243, 87, 72, 81, 28, 118, 247, 47, 255, 197, 28, 132, 54, 27, 125, 112, 119, 164, 106, 54, 52, 81, 101, 110, 25, 178, 216, 66, 228, 39, 200, 60, 95, 140, 94, 1, 131, 225, 205, 141, 78, 111, 110, 16, 233, 155, 219, 19, 90, 17, 93, 35, 146, 75, 70},
+{47, 125, 57, 243, 154, 238, 209, 10, 177, 196, 77, 56, 228, 42, 10, 111, 143, 21, 252, 245, 167, 222, 64, 228, 133, 233, 181, 123, 229, 52, 240, 213, 188, 207, 59, 55, 1, 76, 196, 222, 244, 78, 7, 167, 29, 87, 56, 127, 232, 57, 229, 227, 229, 200, 163, 232, 83, 32, 46, 187, 226, 235, 12, 121, 223, 136, 158, 239, 34, 29, 186, 53, 169, 8, 207, 50, 131, 99, 5, 88, 130, 181, 62, 36, 186, 57, 226, 131, 18, 252, 246, 9, 5, 130, 184, 190, 7, 241, 243, 223, 179, 191, 217, 106, 99, 201, 183, 27, 30, 155, 126, 169, 208, 33, 153, 141, 169, 39, 55, 199, 139, 28, 4, 50, 184, 123, 112, 36},
+{172, 12, 202, 72, 200, 210, 21, 156, 33, 229, 81, 69, 112, 198, 183, 43, 168, 159, 144, 230, 162, 147, 215, 49, 113, 252, 101, 222, 241, 107, 73, 189, 90, 124, 87, 25, 183, 30, 133, 235, 60, 127, 100, 233, 174, 147, 53, 213, 136, 109, 94, 168, 235, 40, 236, 169, 229, 209, 149, 36, 142, 136, 170, 201, 26, 110, 30, 174, 64, 220, 174, 16, 15, 232, 252, 215, 236, 43, 4, 121, 239, 35, 146, 103, 204, 123, 89, 31, 116, 16, 21, 251, 128, 143, 25, 104, 44, 20, 31, 27, 218, 47, 6, 238, 95, 127, 129, 95, 105, 84, 74, 254, 60, 241, 72, 254, 152, 27, 235, 207, 215, 206, 137, 2, 211, 31, 172, 180},
+{172, 185, 177, 181, 245, 162, 24, 162, 85, 75, 166, 84, 161, 254, 177, 56, 216, 117, 76, 162, 178, 20, 154, 29, 177, 244, 233, 154, 172, 185, 109, 75, 197, 251, 192, 184, 164, 146, 101, 193, 100, 155, 231, 246, 106, 71, 144, 37, 55, 39, 124, 89, 171, 160, 185, 108, 179, 118, 14, 175, 60, 158, 190, 72, 12, 33, 76, 5, 220, 42, 195, 88, 247, 254, 190, 67, 224, 37, 54, 4, 219, 30, 194, 82, 1, 127, 118, 195, 174, 94, 230, 186, 117, 197, 186, 20, 8, 111, 25, 22, 168, 172, 104, 73, 119, 198, 54, 209, 151, 25, 125, 149, 96, 234, 161, 190, 134, 183, 208, 136, 61, 34, 153, 220, 167, 6, 139, 80},
+{65, 164, 35, 206, 232, 236, 98, 214, 141, 84, 147, 202, 138, 159, 109, 41, 243, 139, 199, 132, 46, 177, 152, 142, 91, 215, 230, 97, 55, 249, 51, 135, 0, 139, 134, 175, 196, 102, 50, 214, 236, 16, 85, 75, 10, 139, 54, 163, 147, 167, 27, 180, 143, 74, 29, 9, 101, 191, 45, 207, 171, 176, 91, 240, 46, 196, 116, 64, 42, 172, 228, 65, 54, 203, 34, 121, 123, 250, 237, 40, 3, 150, 186, 235, 241, 173, 214, 247, 8, 174, 105, 8, 31, 11, 199, 100, 195, 144, 235, 74, 155, 62, 176, 232, 106, 124, 56, 52, 84, 144, 69, 40, 18, 83, 132, 186, 39, 30, 4, 84, 166, 11, 37, 60, 214, 202, 42, 171},
+{127, 20, 61, 250, 201, 191, 255, 230, 219, 203, 101, 90, 143, 78, 105, 135, 203, 104, 238, 235, 35, 129, 8, 64, 56, 3, 54, 81, 71, 31, 83, 169, 235, 169, 180, 88, 192, 197, 76, 192, 34, 197, 224, 120, 88, 98, 195, 196, 134, 101, 81, 177, 136, 29, 1, 41, 227, 149, 61, 225, 32, 215, 182, 29, 113, 14, 56, 167, 235, 61, 92, 89, 234, 72, 192, 158, 129, 223, 29, 52, 144, 142, 199, 144, 176, 94, 207, 250, 71, 201, 196, 60, 60, 158, 207, 128, 119, 207, 115, 233, 156, 89, 192, 232, 16, 208, 120, 221, 77, 102, 76, 178, 11, 119, 32, 224, 162, 153, 76, 238, 246, 105, 240, 179, 50, 40, 132, 234},
+{11, 194, 200, 126, 237, 14, 158, 120, 209, 30, 176, 234, 119, 91, 77, 25, 78, 125, 138, 99, 138, 222, 143, 3, 215, 165, 4, 143, 128, 209, 68, 20, 81, 141, 156, 20, 111, 199, 154, 174, 160, 88, 50, 108, 4, 205, 255, 176, 179, 109, 165, 133, 147, 184, 168, 109, 233, 70, 57, 47, 63, 130, 102, 132, 180, 142, 108, 97, 9, 44, 29, 182, 163, 94, 82, 52, 178, 122, 218, 100, 43, 210, 34, 3, 136, 8, 217, 64, 112, 28, 32, 104, 0, 71, 48, 209, 116, 230, 247, 70, 124, 204, 69, 198, 17, 101, 78, 80, 83, 187, 6, 18, 15, 45, 137, 222, 199, 70, 229, 68, 167, 107, 93, 152, 6, 179, 106, 170},
+{160, 158, 75, 41, 74, 191, 226, 97, 94, 168, 110, 18, 64, 73, 180, 71, 125, 252, 63, 72, 181, 182, 53, 62, 155, 131, 74, 220, 235, 16, 54, 106, 162, 205, 163, 101, 115, 207, 82, 87, 54, 41, 52, 127, 153, 183, 225, 218, 109, 194, 181, 57, 1, 118, 106, 211, 219, 42, 243, 120, 168, 94, 45, 170, 249, 124, 172, 232, 25, 171, 98, 196, 68, 123, 167, 181, 182, 135, 45, 248, 0, 182, 134, 194, 244, 148, 65, 225, 65, 36, 160, 230, 202, 67, 176, 226, 129, 255, 233, 222, 254, 109, 176, 138, 222, 252, 98, 141, 98, 236, 28, 10, 233, 158, 175, 23, 98, 156, 123, 129, 68, 148, 212, 154, 113, 205, 171, 232},
+{73, 83, 55, 146, 37, 238, 151, 104, 19, 84, 88, 194, 110, 83, 129, 35, 123, 196, 96, 253, 221, 179, 191, 119, 189, 139, 49, 199, 64, 182, 139, 242, 65, 220, 168, 206, 187, 81, 188, 186, 12, 103, 60, 143, 79, 125, 74, 53, 229, 2, 146, 251, 235, 247, 145, 161, 111, 169, 139, 198, 125, 223, 104, 42, 3, 63, 214, 210, 30, 102, 110, 171, 211, 114, 55, 171, 6, 134, 14, 27, 166, 42, 184, 236, 196, 95, 236, 53, 245, 21, 98, 95, 199, 235, 176, 36, 25, 32, 50, 125, 43, 97, 153, 37, 242, 114, 80, 216, 185, 165, 23, 17, 92, 67, 41, 50, 147, 199, 174, 219, 56, 22, 236, 124, 78, 5, 135, 217},
+{141, 33, 13, 126, 189, 152, 114, 215, 81, 232, 138, 183, 161, 147, 130, 192, 153, 107, 3, 217, 119, 53, 213, 52, 66, 107, 154, 132, 176, 86, 127, 15, 4, 34, 29, 59, 233, 29, 152, 53, 174, 167, 238, 148, 223, 94, 97, 74, 246, 75, 125, 96, 93, 195, 41, 136, 105, 161, 30, 238, 207, 227, 236, 188, 231, 139, 246, 35, 143, 230, 136, 242, 8, 202, 139, 137, 142, 50, 35, 176, 117, 188, 24, 150, 100, 235, 234, 126, 124, 14, 234, 17, 65, 114, 168, 215, 50, 196, 168, 127, 158, 56, 248, 118, 255, 166, 48, 39, 110, 44, 117, 87, 145, 134, 165, 127, 152, 40, 101, 18, 60, 202, 23, 227, 88, 153, 150, 23},
+{64, 82, 187, 134, 104, 250, 119, 230, 132, 152, 236, 45, 171, 184, 188, 25, 46, 164, 167, 172, 159, 95, 119, 32, 235, 182, 140, 22, 219, 55, 20, 188, 116, 206, 147, 149, 101, 114, 56, 187, 33, 134, 121, 27, 109, 121, 165, 117, 237, 60, 139, 36, 15, 231, 145, 140, 150, 4, 57, 154, 208, 158, 149, 98, 218, 195, 102, 172, 44, 39, 218, 219, 38, 85, 208, 211, 118, 33, 240, 133, 1, 36, 193, 30, 107, 102, 19, 70, 186, 129, 42, 87, 40, 83, 31, 51, 63, 48, 11, 250, 213, 55, 174, 109, 24, 209, 255, 203, 246, 237, 49, 99, 60, 49, 173, 115, 163, 22, 169, 174, 68, 167, 177, 60, 61, 231, 105, 61},
+{173, 103, 121, 63, 52, 53, 0, 93, 159, 172, 15, 96, 12, 38, 107, 83, 179, 39, 71, 249, 143, 113, 152, 170, 208, 225, 105, 29, 67, 254, 200, 131, 25, 186, 87, 212, 4, 155, 199, 18, 232, 27, 107, 206, 169, 96, 201, 155, 35, 140, 219, 80, 213, 220, 86, 190, 181, 119, 136, 164, 194, 156, 100, 75, 42, 239, 235, 175, 179, 149, 235, 252, 161, 204, 177, 217, 46, 118, 32, 19, 171, 185, 81, 95, 160, 120, 147, 149, 106, 1, 80, 121, 179, 14, 119, 205, 148, 232, 159, 191, 161, 224, 117, 27, 195, 18, 8, 18, 36, 168, 205, 75, 92, 58, 225, 183, 86, 61, 64, 172, 3, 57, 160, 29, 40, 47, 33, 182},
+{143, 65, 173, 210, 234, 88, 5, 179, 223, 37, 32, 28, 84, 9, 148, 195, 40, 142, 25, 233, 178, 36, 80, 210, 208, 128, 56, 3, 197, 90, 115, 10, 219, 175, 142, 25, 146, 99, 125, 40, 254, 148, 28, 207, 7, 132, 12, 215, 173, 226, 64, 117, 37, 95, 211, 17, 113, 29, 107, 193, 93, 87, 55, 156, 69, 225, 100, 238, 225, 236, 118, 1, 211, 103, 146, 42, 121, 67, 201, 55, 231, 181, 43, 189, 76, 251, 185, 64, 144, 29, 154, 249, 50, 168, 100, 181, 2, 175, 196, 108, 248, 131, 156, 124, 208, 71, 206, 200, 44, 151, 89, 108, 70, 140, 109, 48, 174, 254, 169, 166, 90, 105, 237, 131, 51, 109, 114, 15},
+{93, 4, 88, 163, 191, 248, 113, 204, 70, 99, 19, 81, 179, 5, 251, 129, 45, 177, 163, 22, 141, 25, 200, 132, 175, 26, 50, 226, 253, 28, 151, 235, 54, 213, 57, 53, 101, 160, 55, 227, 166, 109, 52, 233, 156, 160, 248, 186, 222, 6, 185, 75, 46, 67, 81, 171, 254, 120, 33, 251, 155, 151, 63, 81, 223, 169, 74, 218, 42, 176, 250, 182, 127, 14, 246, 100, 173, 105, 61, 75, 229, 136, 88, 64, 177, 91, 221, 215, 31, 123, 53, 216, 122, 84, 248, 57, 124, 5, 254, 243, 156, 145, 179, 163, 45, 208, 41, 99, 37, 32, 15, 83, 27, 239, 207, 80, 66, 45, 144, 38, 205, 183, 72, 35, 117, 142, 170, 212},
+{117, 163, 201, 104, 24, 212, 31, 245, 22, 122, 165, 177, 55, 188, 22, 86, 250, 244, 86, 160, 253, 86, 242, 79, 231, 47, 127, 26, 169, 225, 92, 70, 124, 37, 184, 93, 49, 171, 216, 179, 92, 167, 84, 36, 73, 201, 47, 160, 223, 24, 190, 82, 211, 112, 165, 164, 11, 37, 202, 117, 146, 92, 238, 212, 130, 107, 95, 139, 201, 106, 108, 113, 6, 192, 114, 98, 238, 207, 179, 12, 118, 1, 13, 59, 71, 42, 244, 153, 93, 248, 248, 113, 17, 120, 195, 64, 21, 251, 114, 147, 155, 244, 25, 217, 145, 167, 182, 69, 243, 91, 110, 244, 81, 196, 181, 240, 231, 179, 12, 252, 218, 181, 222, 79, 123, 99, 7, 165},
+{116, 208, 6, 17, 70, 75, 233, 147, 149, 146, 205, 76, 227, 240, 195, 170, 168, 193, 227, 29, 208, 85, 149, 81, 175, 49, 74, 91, 232, 118, 191, 244, 42, 147, 204, 193, 24, 116, 122, 251, 153, 154, 150, 78, 31, 220, 238, 126, 57, 118, 165, 239, 172, 167, 14, 159, 16, 171, 181, 233, 29, 124, 139, 218, 108, 128, 58, 206, 6, 200, 45, 135, 121, 243, 10, 181, 118, 221, 44, 45, 150, 87, 163, 110, 54, 230, 155, 24, 252, 61, 162, 102, 72, 83, 89, 133, 83, 106, 42, 25, 94, 5, 248, 136, 229, 175, 72, 151, 179, 223, 140, 205, 149, 115, 209, 107, 107, 231, 41, 27, 203, 162, 70, 190, 150, 144, 176, 12},
+{29, 198, 205, 159, 39, 232, 47, 179, 53, 213, 62, 207, 203, 194, 80, 25, 104, 115, 149, 76, 168, 49, 228, 171, 78, 235, 242, 124, 63, 80, 237, 198, 229, 12, 223, 81, 97, 149, 215, 109, 213, 0, 241, 222, 103, 252, 55, 56, 75, 232, 221, 47, 121, 2, 238, 39, 195, 48, 206, 171, 168, 108, 11, 73, 40, 119, 94, 70, 158, 22, 7, 61, 135, 238, 249, 51, 77, 20, 97, 67, 132, 169, 218, 124, 85, 60, 128, 140, 155, 70, 69, 226, 223, 176, 136, 26, 81, 169, 100, 91, 126, 164, 163, 32, 150, 229, 252, 40, 81, 206, 151, 238, 240, 69, 14, 10, 226, 78, 78, 204, 126, 29, 6, 194, 190, 133, 235, 146},
+{142, 235, 12, 80, 239, 235, 13, 128, 166, 201, 218, 83, 150, 72, 160, 107, 129, 195, 73, 123, 232, 243, 217, 228, 110, 162, 162, 106, 87, 188, 252, 27, 74, 161, 47, 82, 158, 141, 136, 252, 37, 241, 33, 36, 69, 17, 115, 145, 177, 185, 176, 212, 248, 207, 156, 192, 38, 225, 63, 18, 118, 223, 163, 144, 229, 216, 97, 161, 136, 181, 106, 220, 229, 114, 68, 77, 199, 209, 99, 139, 118, 225, 251, 155, 218, 88, 13, 142, 166, 5, 209, 187, 42, 87, 130, 164, 59, 153, 48, 75, 121, 42, 19, 198, 196, 214, 248, 86, 99, 159, 184, 55, 212, 127, 93, 197, 205, 165, 165, 126, 237, 20, 110, 140, 232, 114, 158, 155},
+{166, 252, 241, 189, 178, 198, 195, 103, 44, 25, 144, 150, 2, 115, 181, 147, 48, 237, 99, 233, 62, 124, 154, 25, 14, 246, 255, 197, 49, 23, 151, 193, 88, 247, 91, 247, 63, 155, 147, 71, 134, 231, 223, 230, 123, 4, 82, 115, 126, 121, 196, 239, 75, 153, 4, 16, 132, 82, 221, 63, 187, 11, 116, 29, 24, 245, 43, 12, 165, 132, 164, 105, 200, 235, 21, 97, 30, 63, 173, 193, 32, 244, 132, 110, 83, 119, 233, 1, 163, 242, 221, 139, 242, 185, 50, 12, 186, 146, 243, 30, 205, 36, 66, 175, 211, 193, 232, 34, 241, 202, 193, 56, 123, 214, 180, 185, 80, 191, 47, 200, 130, 215, 241, 177, 2, 28, 79, 87},
+{16, 203, 88, 68, 94, 48, 34, 60, 101, 213, 8, 19, 81, 237, 5, 160, 116, 107, 168, 253, 250, 104, 232, 70, 242, 210, 100, 66, 200, 226, 194, 169, 136, 118, 201, 16, 192, 168, 21, 236, 202, 42, 121, 96, 138, 251, 77, 75, 100, 2, 102, 244, 111, 176, 168, 213, 249, 236, 10, 207, 141, 66, 229, 235, 60, 36, 63, 13, 107, 136, 170, 147, 225, 135, 255, 74, 167, 165, 32, 58, 72, 252, 241, 43, 164, 140, 23, 191, 3, 35, 250, 79, 145, 98, 4, 133, 132, 75, 163, 225, 234, 5, 144, 132, 239, 116, 187, 89, 94, 79, 179, 189, 58, 171, 242, 68, 99, 134, 35, 6, 166, 89, 210, 175, 246, 161, 205, 128},
+{114, 39, 110, 89, 9, 73, 166, 90, 93, 3, 57, 127, 206, 255, 100, 187, 7, 120, 9, 89, 71, 162, 214, 106, 81, 216, 126, 225, 164, 213, 184, 75, 67, 108, 116, 92, 126, 146, 50, 165, 4, 31, 17, 197, 217, 7, 184, 75, 13, 11, 170, 250, 17, 93, 209, 100, 104, 189, 174, 17, 62, 172, 33, 53, 72, 199, 146, 132, 18, 19, 215, 70, 184, 38, 123, 28, 1, 228, 59, 99, 17, 32, 254, 45, 168, 211, 115, 44, 145, 179, 255, 242, 38, 98, 177, 47, 156, 91, 192, 186, 93, 177, 194, 226, 117, 81, 185, 174, 194, 22, 7, 41, 7, 59, 245, 154, 9, 65, 58, 195, 20, 197, 216, 163, 165, 20, 52, 72},
+{53, 88, 139, 141, 251, 241, 168, 65, 184, 39, 127, 28, 48, 250, 107, 62, 163, 166, 79, 214, 8, 237, 143, 59, 45, 180, 170, 41, 250, 38, 226, 226, 33, 238, 20, 76, 21, 99, 103, 184, 109, 50, 82, 201, 79, 120, 66, 19, 182, 157, 116, 6, 77, 78, 188, 153, 170, 107, 165, 109, 15, 85, 232, 51, 127, 174, 208, 202, 208, 224, 247, 58, 75, 80, 26, 48, 202, 93, 223, 193, 1, 5, 36, 194, 225, 215, 177, 158, 92, 139, 143, 140, 244, 61, 167, 114, 162, 10, 33, 69, 160, 50, 228, 90, 180, 210, 2, 106, 126, 122, 42, 75, 245, 223, 237, 246, 197, 85, 135, 119, 203, 192, 150, 131, 69, 157, 246, 127},
+{14, 254, 241, 140, 205, 244, 49, 105, 106, 195, 82, 66, 133, 174, 222, 90, 109, 144, 115, 224, 48, 40, 69, 40, 212, 62, 72, 78, 201, 111, 221, 83, 126, 233, 136, 47, 243, 90, 249, 80, 45, 244, 253, 105, 217, 193, 34, 244, 23, 226, 203, 31, 142, 11, 175, 195, 223, 152, 243, 188, 159, 113, 112, 169, 140, 81, 221, 236, 168, 75, 166, 237, 169, 180, 0, 44, 85, 140, 37, 189, 236, 181, 21, 184, 233, 248, 30, 232, 66, 251, 29, 101, 125, 144, 224, 176, 219, 225, 177, 128, 234, 140, 212, 243, 84, 137, 12, 229, 181, 153, 237, 136, 250, 112, 70, 134, 18, 104, 158, 63, 48, 224, 113, 65, 174, 213, 21, 92},
+{4, 134, 151, 89, 200, 27, 1, 73, 230, 143, 82, 107, 181, 225, 159, 27, 226, 72, 71, 238, 251, 5, 189, 30, 192, 133, 223, 255, 144, 170, 91, 53, 141, 182, 222, 173, 247, 131, 0, 91, 222, 87, 62, 171, 17, 201, 103, 99, 2, 100, 171, 216, 212, 173, 163, 158, 143, 211, 111, 80, 26, 43, 100, 183, 96, 253, 119, 99, 205, 233, 132, 0, 11, 84, 32, 98, 127, 237, 184, 88, 97, 122, 196, 223, 212, 36, 137, 176, 250, 123, 137, 44, 118, 51, 78, 10, 169, 39, 137, 207, 196, 131, 131, 224, 87, 60, 210, 246, 223, 171, 237, 59, 13, 113, 79, 7, 227, 91, 130, 227, 126, 31, 28, 141, 40, 153, 227, 185},
+{80, 227, 209, 133, 17, 135, 81, 221, 80, 195, 8, 93, 219, 11, 149, 105, 135, 162, 249, 103, 246, 158, 1, 176, 68, 222, 156, 99, 22, 1, 48, 24, 54, 77, 200, 249, 73, 200, 87, 169, 8, 222, 153, 33, 187, 204, 186, 1, 44, 61, 34, 100, 161, 112, 109, 241, 78, 198, 74, 136, 130, 177, 131, 191, 110, 190, 172, 90, 83, 31, 45, 17, 122, 57, 211, 212, 224, 216, 63, 240, 228, 57, 158, 195, 46, 47, 84, 105, 50, 218, 93, 72, 174, 83, 250, 79, 147, 25, 26, 228, 159, 167, 240, 245, 188, 19, 22, 64, 124, 199, 228, 123, 50, 223, 217, 6, 195, 72, 34, 154, 49, 70, 26, 86, 83, 185, 39, 163},
+{117, 68, 40, 72, 254, 55, 62, 129, 181, 227, 9, 133, 16, 91, 9, 232, 110, 60, 92, 218, 140, 27, 19, 32, 43, 28, 90, 239, 163, 213, 91, 157, 181, 69, 176, 13, 194, 208, 192, 61, 11, 126, 27, 128, 129, 156, 204, 121, 252, 248, 163, 30, 138, 201, 124, 54, 202, 225, 255, 40, 239, 22, 158, 84, 117, 81, 25, 174, 156, 159, 178, 21, 9, 148, 120, 245, 79, 242, 161, 13, 147, 118, 100, 16, 205, 11, 214, 127, 202, 50, 177, 58, 44, 190, 119, 168, 107, 197, 49, 100, 255, 37, 61, 188, 250, 172, 82, 147, 179, 88, 158, 104, 42, 85, 237, 25, 17, 121, 133, 250, 231, 37, 187, 74, 165, 217, 56, 245},
+{99, 1, 109, 115, 70, 84, 111, 132, 202, 17, 127, 136, 113, 86, 33, 244, 74, 200, 188, 76, 2, 232, 14, 47, 248, 34, 141, 187, 86, 44, 86, 93, 131, 51, 118, 10, 129, 53, 201, 201, 59, 67, 172, 3, 30, 125, 62, 2, 4, 137, 180, 95, 104, 181, 39, 160, 103, 120, 93, 54, 167, 50, 78, 90, 155, 140, 233, 28, 111, 65, 95, 108, 113, 214, 220, 235, 242, 151, 182, 142, 59, 185, 249, 121, 171, 149, 223, 208, 96, 120, 233, 154, 124, 144, 18, 40, 189, 150, 24, 95, 179, 51, 13, 188, 174, 100, 11, 26, 182, 231, 2, 37, 255, 224, 198, 125, 154, 131, 108, 79, 77, 13, 142, 151, 249, 201, 21, 222},
+{20, 236, 196, 94, 50, 63, 89, 140, 95, 78, 164, 126, 214, 132, 174, 214, 75, 221, 126, 87, 111, 98, 13, 142, 44, 223, 63, 214, 28, 60, 66, 43, 71, 17, 196, 147, 66, 26, 88, 7, 141, 118, 105, 0, 116, 128, 51, 12, 32, 126, 148, 128, 21, 164, 101, 226, 249, 170, 235, 149, 85, 105, 250, 189, 38, 192, 214, 170, 113, 68, 34, 190, 234, 163, 97, 59, 147, 95, 79, 225, 247, 197, 89, 35, 70, 202, 233, 95, 184, 50, 73, 83, 149, 73, 112, 22, 80, 182, 161, 80, 217, 149, 96, 155, 89, 205, 25, 122, 130, 14, 184, 70, 161, 106, 170, 216, 46, 133, 108, 132, 216, 185, 108, 90, 138, 223, 169, 139},
+{61, 181, 33, 79, 43, 215, 72, 248, 236, 217, 75, 135, 103, 192, 28, 223, 0, 254, 27, 54, 30, 184, 212, 17, 91, 171, 232, 171, 143, 147, 83, 194, 138, 25, 172, 240, 53, 111, 70, 87, 24, 83, 213, 175, 229, 155, 250, 133, 32, 226, 167, 120, 29, 91, 134, 241, 136, 31, 221, 124, 208, 143, 159, 136, 223, 34, 106, 114, 142, 58, 90, 173, 76, 166, 5, 72, 63, 247, 119, 248, 82, 17, 98, 181, 35, 162, 233, 76, 154, 26, 62, 204, 239, 105, 141, 96, 163, 248, 66, 39, 74, 191, 77, 203, 63, 254, 76, 230, 155, 169, 37, 57, 81, 229, 216, 236, 137, 245, 2, 249, 171, 48, 32, 153, 147, 171, 40, 56},
+{200, 130, 152, 68, 234, 170, 208, 253, 168, 205, 89, 32, 228, 84, 217, 182, 181, 59, 111, 227, 39, 234, 218, 147, 111, 53, 163, 57, 127, 97, 146, 240, 157, 158, 125, 122, 132, 186, 178, 121, 102, 181, 129, 36, 32, 80, 25, 34, 131, 63, 156, 53, 132, 184, 130, 12, 52, 10, 58, 132, 57, 245, 234, 221, 20, 137, 79, 143, 130, 27, 58, 123, 148, 161, 217, 27, 115, 92, 130, 151, 245, 231, 24, 135, 198, 124, 223, 195, 28, 90, 155, 144, 166, 31, 62, 62, 107, 40, 233, 66, 191, 216, 134, 132, 31, 122, 0, 25, 177, 77, 119, 12, 223, 239, 255, 20, 249, 125, 128, 72, 47, 32, 206, 153, 122, 28, 125, 151},
+{178, 108, 238, 98, 42, 158, 250, 84, 88, 9, 198, 241, 151, 51, 146, 249, 252, 166, 180, 189, 34, 33, 132, 23, 81, 243, 240, 174, 209, 208, 46, 78, 101, 101, 86, 31, 233, 240, 48, 163, 120, 131, 171, 230, 131, 151, 4, 57, 74, 26, 166, 186, 200, 184, 224, 7, 42, 149, 85, 122, 134, 41, 188, 208, 21, 63, 37, 15, 23, 30, 18, 199, 247, 16, 247, 191, 51, 66, 195, 176, 67, 84, 240, 189, 85, 74, 246, 229, 196, 56, 76, 233, 17, 135, 65, 170, 38, 190, 1, 237, 218, 7, 33, 155, 125, 188, 34, 82, 29, 92, 143, 62, 134, 157, 212, 96, 167, 199, 133, 128, 4, 110, 130, 252, 22, 5, 59, 26},
+{60, 165, 83, 142, 4, 231, 242, 44, 222, 24, 96, 139, 40, 50, 149, 115, 151, 152, 208, 142, 4, 43, 2, 106, 168, 115, 118, 71, 53, 177, 55, 8, 70, 107, 182, 13, 84, 147, 126, 25, 250, 183, 195, 132, 95, 228, 242, 172, 185, 113, 41, 252, 147, 127, 148, 2, 247, 205, 184, 179, 55, 31, 172, 23, 61, 216, 52, 157, 73, 165, 12, 44, 219, 113, 98, 162, 11, 72, 195, 95, 114, 63, 47, 247, 65, 107, 12, 152, 216, 96, 186, 110, 235, 254, 60, 119, 181, 20, 198, 251, 145, 187, 31, 21, 220, 191, 32, 66, 218, 43, 142, 56, 140, 110, 37, 15, 229, 79, 15, 234, 3, 67, 162, 54, 38, 222, 114, 153},
+{210, 25, 72, 182, 176, 151, 98, 197, 169, 32, 36, 161, 76, 76, 180, 31, 75, 58, 4, 139, 196, 222, 225, 207, 46, 52, 191, 7, 186, 165, 58, 213, 38, 138, 62, 75, 92, 26, 180, 35, 179, 3, 85, 17, 32, 114, 225, 31, 15, 45, 244, 68, 52, 80, 31, 8, 226, 112, 129, 171, 41, 80, 44, 128, 30, 248, 190, 243, 205, 226, 188, 46, 126, 32, 110, 79, 24, 192, 117, 135, 47, 222, 9, 17, 38, 82, 155, 75, 170, 221, 96, 3, 175, 57, 93, 110, 211, 235, 222, 128, 152, 208, 185, 40, 131, 98, 198, 120, 238, 235, 242, 221, 203, 211, 33, 107, 73, 1, 165, 246, 180, 121, 222, 76, 31, 100, 144, 216},
+{29, 41, 190, 84, 196, 51, 150, 230, 200, 154, 238, 95, 131, 144, 224, 171, 18, 193, 106, 200, 246, 115, 102, 134, 105, 18, 158, 219, 254, 0, 158, 221, 106, 201, 142, 74, 189, 196, 9, 44, 69, 69, 74, 149, 67, 199, 60, 81, 12, 115, 248, 22, 239, 129, 19, 4, 10, 75, 19, 230, 62, 21, 4, 89, 101, 254, 144, 199, 225, 242, 196, 126, 17, 218, 60, 226, 154, 172, 172, 35, 157, 233, 205, 242, 54, 214, 182, 145, 218, 76, 94, 119, 186, 95, 80, 132, 2, 217, 121, 20, 139, 119, 146, 5, 78, 144, 93, 187, 206, 88, 203, 233, 9, 20, 243, 161, 34, 31, 9, 216, 157, 45, 227, 138, 113, 158, 224, 47},
+{209, 14, 15, 212, 116, 3, 191, 254, 30, 208, 155, 24, 209, 247, 244, 74, 208, 152, 251, 170, 233, 218, 167, 120, 184, 232, 119, 25, 222, 49, 193, 172, 173, 71, 168, 53, 117, 97, 207, 247, 172, 94, 172, 78, 12, 170, 215, 181, 123, 191, 230, 109, 160, 33, 25, 24, 33, 93, 44, 189, 202, 238, 99, 175, 93, 150, 140, 250, 22, 34, 189, 223, 165, 202, 36, 96, 211, 106, 42, 226, 155, 145, 34, 222, 104, 31, 143, 214, 63, 55, 96, 75, 158, 253, 194, 162, 126, 233, 74, 128, 65, 143, 93, 202, 25, 82, 27, 36, 105, 236, 58, 208, 207, 18, 43, 169, 13, 93, 200, 244, 216, 206, 244, 203, 142, 218, 253, 129},
+{77, 102, 60, 165, 45, 12, 1, 146, 212, 35, 1, 82, 142, 38, 179, 16, 156, 236, 235, 210, 19, 66, 147, 139, 7, 213, 44, 207, 156, 174, 13, 52, 144, 179, 105, 50, 183, 191, 131, 90, 189, 181, 119, 195, 17, 176, 139, 139, 6, 115, 69, 134, 176, 170, 150, 238, 104, 59, 75, 205, 255, 90, 7, 233, 111, 90, 88, 164, 129, 187, 69, 100, 165, 41, 211, 166, 130, 42, 91, 53, 45, 169, 39, 31, 172, 101, 121, 111, 102, 221, 109, 112, 9, 84, 130, 172, 162, 137, 155, 199, 119, 252, 196, 137, 123, 148, 95, 55, 32, 29, 188, 101, 116, 126, 210, 41, 200, 109, 117, 141, 16, 15, 183, 240, 73, 140, 246, 72},
+{101, 172, 105, 183, 157, 97, 149, 122, 43, 23, 245, 131, 97, 237, 211, 155, 77, 140, 159, 37, 15, 230, 189, 83, 170, 101, 251, 100, 54, 227, 117, 39, 144, 250, 68, 21, 41, 114, 105, 235, 80, 108, 134, 118, 87, 240, 142, 20, 164, 227, 137, 79, 228, 132, 129, 157, 41, 112, 113, 247, 50, 113, 58, 105, 59, 112, 178, 42, 73, 110, 60, 79, 132, 242, 244, 99, 192, 191, 88, 93, 88, 78, 9, 77, 115, 55, 212, 97, 225, 83, 70, 239, 70, 193, 244, 50, 70, 97, 18, 223, 210, 133, 99, 77, 61, 84, 11, 36, 44, 100, 251, 134, 51, 22, 250, 126, 34, 164, 35, 114, 157, 200, 203, 38, 22, 61, 125, 126},
+{112, 77, 102, 47, 17, 130, 145, 63, 219, 3, 12, 110, 120, 250, 2, 139, 122, 162, 227, 192, 153, 52, 190, 1, 106, 61, 167, 67, 61, 163, 135, 73, 219, 9, 167, 137, 219, 78, 143, 95, 239, 178, 207, 80, 68, 154, 15, 83, 252, 12, 181, 146, 180, 230, 151, 107, 81, 187, 11, 240, 85, 66, 177, 82, 10, 178, 244, 112, 192, 213, 219, 144, 106, 165, 247, 59, 179, 198, 143, 90, 136, 14, 211, 21, 174, 94, 74, 103, 156, 162, 200, 9, 34, 168, 79, 44, 166, 119, 46, 229, 169, 48, 95, 122, 248, 165, 22, 124, 54, 4, 53, 18, 195, 107, 137, 63, 242, 88, 156, 18, 121, 206, 182, 242, 253, 53, 196, 207},
+{203, 1, 244, 249, 71, 167, 208, 33, 70, 180, 170, 38, 14, 250, 56, 234, 233, 174, 157, 121, 97, 61, 92, 2, 203, 150, 20, 62, 125, 250, 50, 167, 188, 135, 80, 110, 42, 5, 111, 108, 22, 251, 119, 170, 145, 17, 124, 206, 12, 24, 60, 254, 193, 224, 190, 252, 215, 54, 148, 217, 49, 228, 53, 56, 229, 59, 140, 16, 219, 138, 165, 245, 139, 173, 20, 81, 23, 99, 241, 65, 183, 224, 13, 2, 168, 229, 176, 19, 130, 250, 155, 150, 170, 246, 76, 159, 129, 75, 11, 119, 131, 18, 204, 132, 142, 146, 85, 14, 98, 125, 234, 27, 24, 134, 199, 136, 213, 229, 166, 98, 16, 207, 211, 123, 93, 179, 90, 95},
+{88, 126, 12, 191, 132, 160, 203, 68, 187, 237, 183, 170, 113, 145, 184, 16, 13, 188, 138, 187, 4, 16, 238, 64, 129, 137, 230, 189, 242, 67, 254, 162, 173, 60, 132, 188, 200, 99, 97, 191, 79, 149, 98, 118, 195, 93, 242, 144, 178, 212, 187, 218, 255, 143, 122, 123, 58, 23, 149, 30, 28, 212, 10, 199, 86, 36, 219, 182, 63, 93, 202, 104, 121, 71, 234, 180, 127, 199, 95, 254, 169, 190, 23, 28, 39, 148, 75, 13, 60, 163, 112, 77, 55, 86, 16, 11, 130, 127, 13, 211, 21, 200, 246, 160, 178, 24, 159, 140, 147, 206, 225, 231, 24, 201, 46, 80, 206, 11, 163, 232, 250, 134, 107, 140, 116, 156, 9, 97},
+{184, 55, 11, 16, 206, 52, 241, 103, 89, 70, 251, 164, 54, 53, 200, 139, 116, 136, 160, 211, 229, 255, 249, 231, 14, 54, 50, 55, 246, 111, 38, 182, 68, 195, 249, 95, 136, 236, 159, 123, 71, 108, 13, 164, 20, 77, 124, 23, 76, 185, 246, 222, 134, 229, 106, 34, 179, 90, 224, 148, 97, 28, 181, 136, 86, 23, 237, 69, 67, 147, 217, 104, 1, 76, 250, 133, 221, 19, 211, 216, 82, 32, 245, 44, 11, 240, 241, 110, 166, 107, 97, 170, 238, 235, 28, 60, 107, 132, 225, 126, 195, 250, 71, 126, 245, 92, 25, 48, 243, 221, 85, 222, 239, 93, 172, 38, 23, 236, 208, 109, 109, 131, 37, 85, 124, 219, 255, 158},
+{41, 12, 238, 85, 1, 24, 138, 11, 217, 42, 108, 40, 66, 128, 120, 180, 58, 173, 192, 91, 136, 134, 23, 93, 141, 225, 186, 239, 225, 212, 202, 57, 94, 88, 217, 182, 186, 181, 235, 26, 135, 34, 124, 31, 137, 216, 66, 143, 15, 154, 199, 152, 151, 237, 32, 231, 176, 89, 46, 205, 126, 192, 60, 5, 66, 177, 111, 71, 168, 98, 24, 138, 154, 39, 204, 77, 130, 176, 35, 101, 129, 4, 164, 230, 139, 211, 45, 100, 254, 144, 250, 83, 159, 246, 217, 123, 249, 248, 199, 81, 61, 161, 38, 254, 66, 126, 145, 165, 25, 162, 224, 237, 89, 235, 167, 66, 236, 96, 115, 160, 169, 220, 198, 251, 186, 228, 251, 112},
+{80, 129, 68, 96, 131, 84, 86, 34, 146, 170, 70, 126, 91, 225, 113, 241, 142, 165, 52, 198, 1, 140, 232, 38, 41, 141, 64, 26, 105, 238, 2, 156, 172, 54, 217, 44, 244, 143, 191, 22, 169, 29, 212, 171, 8, 4, 113, 40, 45, 50, 100, 67, 164, 79, 173, 167, 75, 66, 106, 218, 96, 110, 127, 123, 0, 190, 238, 208, 229, 179, 39, 3, 142, 50, 90, 133, 196, 153, 35, 116, 199, 109, 36, 80, 213, 152, 200, 226, 195, 248, 109, 38, 151, 182, 84, 240, 178, 34, 116, 93, 107, 224, 202, 155, 240, 178, 38, 204, 126, 229, 203, 147, 221, 57, 237, 97, 196, 40, 26, 72, 122, 98, 95, 68, 64, 82, 120, 240},
+{120, 183, 115, 185, 42, 55, 23, 83, 182, 216, 255, 164, 71, 156, 199, 117, 28, 60, 67, 237, 145, 252, 51, 62, 44, 71, 91, 201, 140, 16, 209, 157, 150, 248, 246, 122, 119, 9, 84, 106, 136, 24, 157, 155, 15, 36, 45, 161, 203, 76, 176, 42, 15, 66, 43, 87, 235, 209, 177, 212, 110, 123, 203, 156, 195, 202, 6, 242, 19, 200, 248, 154, 59, 191, 70, 169, 157, 107, 226, 1, 102, 71, 51, 227, 194, 1, 217, 116, 150, 10, 92, 199, 135, 82, 77, 184, 216, 76, 43, 178, 136, 74, 48, 150, 160, 120, 70, 103, 38, 95, 108, 49, 230, 77, 88, 75, 59, 247, 25, 123, 93, 114, 178, 124, 51, 116, 134, 2},
+{177, 204, 70, 102, 76, 95, 95, 80, 219, 99, 58, 239, 241, 43, 247, 19, 165, 19, 208, 116, 208, 80, 15, 72, 75, 198, 9, 132, 245, 36, 192, 116, 74, 160, 11, 133, 167, 243, 128, 254, 110, 22, 168, 177, 85, 203, 64, 63, 86, 175, 108, 180, 112, 56, 213, 142, 244, 156, 198, 203, 188, 54, 226, 132, 212, 191, 7, 25, 148, 167, 217, 247, 136, 252, 50, 4, 98, 75, 138, 198, 142, 161, 19, 136, 82, 194, 237, 149, 67, 41, 104, 10, 25, 46, 76, 43, 68, 180, 55, 219, 100, 241, 104, 0, 115, 195, 124, 48, 238, 21, 87, 64, 100, 58, 212, 179, 244, 79, 105, 63, 6, 202, 191, 5, 171, 121, 140, 182},
+{15, 5, 57, 160, 25, 136, 118, 215, 120, 67, 73, 251, 72, 101, 122, 65, 132, 157, 190, 176, 77, 112, 12, 208, 126, 102, 5, 247, 16, 66, 140, 49, 82, 106, 234, 14, 77, 61, 3, 86, 174, 142, 94, 5, 225, 203, 168, 109, 117, 100, 222, 80, 47, 157, 174, 205, 136, 165, 51, 43, 101, 14, 219, 193, 177, 28, 180, 146, 208, 124, 6, 113, 83, 62, 39, 35, 131, 238, 159, 142, 211, 54, 60, 231, 17, 97, 88, 170, 127, 187, 70, 171, 211, 41, 197, 134, 174, 1, 181, 195, 181, 4, 163, 141, 128, 96, 54, 41, 54, 237, 180, 239, 244, 131, 181, 254, 60, 157, 141, 92, 195, 168, 114, 128, 201, 122, 233, 20},
+{208, 246, 90, 58, 219, 232, 182, 92, 189, 121, 173, 133, 137, 101, 161, 243, 193, 119, 194, 89, 224, 189, 217, 86, 58, 104, 223, 43, 123, 251, 69, 93, 192, 5, 110, 37, 149, 58, 62, 25, 54, 201, 185, 81, 255, 204, 182, 161, 94, 80, 44, 116, 97, 250, 244, 21, 154, 115, 42, 49, 152, 24, 205, 3, 233, 73, 214, 185, 59, 140, 75, 255, 69, 120, 99, 184, 108, 26, 20, 22, 192, 43, 212, 140, 108, 145, 36, 214, 94, 161, 72, 44, 128, 195, 137, 153, 238, 80, 94, 166, 153, 66, 14, 176, 124, 61, 94, 210, 184, 130, 21, 19, 147, 106, 22, 110, 125, 13, 193, 219, 28, 182, 165, 167, 172, 87, 105, 244},
+{177, 86, 70, 221, 103, 244, 185, 237, 53, 19, 48, 185, 78, 160, 199, 165, 237, 133, 119, 128, 127, 148, 134, 120, 141, 32, 47, 43, 213, 22, 65, 33, 129, 255, 44, 110, 3, 56, 108, 220, 139, 72, 185, 136, 80, 167, 146, 252, 66, 105, 170, 61, 76, 115, 187, 17, 237, 244, 111, 255, 59, 194, 47, 157, 242, 90, 184, 235, 37, 202, 166, 240, 98, 78, 132, 95, 136, 136, 65, 56, 223, 151, 119, 10, 195, 76, 92, 237, 236, 132, 198, 255, 145, 93, 47, 23, 34, 219, 151, 220, 243, 213, 157, 64, 242, 15, 175, 59, 53, 27, 191, 203, 226, 62, 111, 73, 186, 247, 108, 206, 62, 161, 77, 45, 50, 216, 166, 73},
+{41, 9, 237, 179, 119, 30, 209, 118, 192, 85, 41, 6, 188, 90, 115, 44, 114, 136, 1, 111, 70, 246, 250, 152, 161, 176, 231, 202, 186, 28, 167, 11, 35, 107, 63, 93, 85, 120, 62, 176, 86, 125, 89, 107, 19, 117, 20, 56, 146, 5, 45, 19, 61, 229, 107, 26, 75, 138, 56, 142, 67, 71, 59, 153, 155, 141, 77, 179, 164, 142, 96, 179, 58, 133, 142, 14, 188, 12, 119, 139, 38, 231, 112, 78, 111, 91, 249, 247, 153, 235, 177, 85, 243, 134, 42, 72, 102, 165, 124, 225, 88, 160, 254, 131, 8, 75, 189, 91, 251, 118, 132, 21, 211, 179, 223, 242, 196, 163, 228, 184, 13, 51, 248, 63, 104, 8, 67, 81},
+{141, 9, 182, 224, 245, 77, 88, 19, 148, 84, 202, 119, 191, 97, 5, 164, 150, 61, 183, 174, 162, 91, 199, 203, 37, 98, 76, 153, 122, 139, 224, 234, 66, 173, 163, 186, 141, 79, 129, 125, 206, 12, 28, 74, 32, 226, 18, 151, 94, 146, 179, 191, 173, 77, 116, 183, 39, 80, 204, 128, 229, 147, 192, 23, 235, 68, 252, 104, 89, 187, 118, 15, 248, 178, 188, 251, 171, 235, 94, 203, 91, 184, 217, 175, 101, 160, 79, 196, 181, 20, 100, 153, 3, 196, 151, 105, 67, 239, 180, 244, 228, 92, 53, 119, 139, 88, 70, 246, 0, 88, 109, 49, 177, 86, 251, 226, 6, 150, 88, 48, 242, 123, 4, 90, 55, 109, 46, 70},
+{117, 161, 202, 35, 138, 254, 248, 198, 152, 177, 196, 117, 135, 148, 26, 40, 152, 219, 86, 77, 17, 123, 201, 36, 150, 241, 3, 3, 108, 155, 227, 23, 23, 53, 204, 243, 54, 240, 121, 169, 26, 206, 209, 194, 19, 241, 2, 247, 246, 105, 235, 224, 176, 120, 44, 184, 13, 112, 71, 218, 226, 207, 68, 248, 252, 132, 59, 106, 102, 180, 18, 39, 122, 248, 111, 168, 127, 67, 189, 10, 108, 183, 72, 46, 154, 183, 117, 84, 76, 51, 177, 58, 148, 153, 199, 246, 120, 173, 22, 92, 251, 174, 59, 251, 41, 249, 151, 82, 86, 87, 6, 147, 168, 155, 140, 25, 223, 170, 248, 147, 101, 252, 54, 86, 133, 200, 157, 181},
+{64, 148, 144, 24, 217, 165, 184, 229, 128, 101, 238, 130, 183, 208, 60, 180, 197, 96, 35, 177, 251, 29, 255, 164, 190, 209, 172, 131, 78, 48, 143, 82, 194, 76, 38, 232, 93, 119, 226, 176, 120, 162, 88, 203, 2, 121, 25, 226, 162, 121, 204, 125, 108, 146, 162, 35, 52, 242, 110, 200, 33, 129, 217, 141, 140, 24, 172, 152, 192, 58, 115, 118, 80, 105, 42, 117, 254, 17, 131, 34, 200, 220, 79, 34, 70, 204, 52, 78, 68, 129, 114, 241, 142, 254, 134, 180, 95, 230, 86, 232, 84, 66, 166, 23, 52, 27, 162, 251, 134, 136, 204, 81, 173, 147, 73, 103, 141, 220, 46, 195, 173, 247, 99, 99, 235, 113, 7, 156},
+{136, 150, 42, 90, 208, 227, 196, 244, 58, 221, 133, 50, 176, 26, 1, 102, 137, 43, 234, 63, 254, 113, 216, 236, 142, 208, 172, 30, 129, 69, 233, 22, 89, 115, 25, 234, 149, 4, 102, 254, 124, 4, 46, 66, 106, 102, 6, 110, 58, 217, 211, 195, 209, 216, 249, 216, 119, 208, 117, 5, 168, 149, 153, 225, 172, 100, 233, 188, 163, 205, 102, 56, 28, 21, 216, 145, 196, 248, 21, 153, 129, 184, 30, 202, 126, 127, 187, 139, 43, 192, 2, 32, 48, 252, 2, 161, 81, 41, 177, 14, 163, 93, 64, 56, 137, 172, 76, 97, 13, 22, 205, 77, 2, 6, 85, 196, 236, 153, 182, 72, 10, 109, 36, 46, 25, 166, 114, 163},
+{46, 164, 30, 21, 2, 138, 141, 77, 2, 203, 220, 246, 169, 15, 18, 117, 72, 94, 68, 71, 80, 145, 94, 241, 8, 130, 229, 143, 159, 124, 111, 231, 190, 220, 101, 120, 35, 54, 192, 18, 170, 101, 214, 67, 27, 233, 126, 204, 185, 33, 68, 63, 190, 234, 186, 213, 250, 174, 127, 47, 72, 87, 31, 23, 171, 198, 153, 243, 244, 184, 117, 232, 28, 125, 123, 50, 44, 65, 69, 24, 42, 210, 55, 55, 56, 116, 102, 167, 70, 152, 252, 19, 188, 109, 237, 35, 53, 111, 168, 220, 209, 140, 106, 248, 185, 3, 221, 218, 17, 53, 211, 64, 212, 115, 103, 143, 120, 30, 72, 143, 109, 35, 181, 128, 26, 86, 234, 180},
+{64, 140, 77, 159, 150, 161, 158, 247, 14, 167, 12, 71, 235, 203, 99, 11, 101, 243, 163, 179, 148, 108, 38, 15, 250, 190, 2, 52, 116, 188, 190, 107, 149, 225, 223, 31, 102, 151, 210, 172, 240, 144, 238, 235, 43, 179, 160, 213, 48, 250, 99, 139, 204, 170, 253, 174, 108, 157, 117, 61, 0, 45, 7, 73, 213, 177, 41, 172, 26, 14, 150, 227, 110, 160, 164, 227, 117, 190, 167, 209, 35, 47, 235, 30, 210, 21, 239, 208, 114, 26, 3, 240, 39, 136, 189, 80, 103, 251, 198, 26, 9, 28, 155, 119, 162, 200, 248, 233, 166, 54, 135, 79, 196, 4, 33, 76, 54, 95, 51, 30, 141, 17, 93, 62, 60, 87, 197, 118},
+{31, 218, 225, 41, 228, 203, 167, 230, 222, 194, 60, 43, 117, 25, 212, 132, 126, 239, 183, 91, 40, 234, 187, 183, 101, 15, 81, 175, 119, 189, 133, 122, 33, 6, 87, 194, 41, 249, 99, 16, 137, 252, 183, 54, 118, 30, 126, 96, 183, 136, 42, 13, 50, 21, 15, 230, 185, 157, 24, 189, 72, 108, 200, 86, 212, 63, 155, 30, 213, 252, 233, 175, 81, 195, 143, 113, 179, 244, 133, 24, 220, 43, 197, 60, 42, 41, 191, 208, 219, 128, 117, 14, 243, 161, 179, 134, 2, 169, 34, 189, 91, 184, 14, 221, 35, 97, 17, 63, 54, 232, 227, 192, 73, 72, 206, 216, 131, 13, 28, 161, 78, 253, 5, 150, 214, 81, 249, 17},
+{12, 84, 32, 6, 0, 199, 19, 209, 107, 17, 83, 47, 156, 186, 110, 231, 228, 215, 179, 43, 153, 181, 46, 58, 158, 156, 184, 158, 75, 11, 241, 153, 137, 16, 129, 209, 135, 46, 80, 253, 49, 76, 165, 190, 180, 194, 52, 86, 197, 208, 140, 142, 132, 215, 75, 158, 113, 7, 47, 21, 131, 92, 36, 157, 143, 223, 55, 245, 44, 195, 16, 222, 94, 228, 145, 178, 148, 102, 227, 172, 40, 184, 123, 10, 119, 22, 136, 245, 22, 169, 69, 124, 102, 124, 209, 6, 181, 143, 240, 217, 2, 59, 164, 127, 41, 250, 77, 241, 119, 252, 251, 69, 158, 124, 208, 214, 248, 154, 140, 6, 174, 91, 117, 128, 226, 183, 76, 241},
+{62, 190, 232, 161, 19, 212, 16, 0, 176, 254, 146, 10, 122, 216, 179, 99, 62, 244, 133, 44, 158, 127, 65, 82, 184, 123, 42, 117, 58, 219, 17, 49, 96, 194, 169, 171, 247, 90, 115, 28, 172, 41, 203, 200, 228, 162, 81, 88, 2, 7, 40, 192, 204, 6, 119, 62, 205, 151, 151, 196, 201, 25, 225, 2, 159, 41, 42, 161, 56, 233, 85, 177, 65, 98, 90, 230, 58, 74, 149, 29, 59, 82, 189, 102, 103, 52, 44, 158, 66, 20, 242, 87, 210, 48, 228, 26, 243, 213, 19, 67, 193, 108, 54, 223, 209, 76, 237, 178, 7, 144, 117, 140, 253, 205, 100, 17, 31, 211, 159, 206, 216, 32, 101, 53, 172, 234, 3, 2},
+{28, 44, 97, 11, 84, 211, 172, 71, 255, 36, 247, 166, 38, 41, 62, 136, 152, 157, 157, 222, 120, 50, 166, 227, 139, 53, 118, 54, 70, 242, 40, 160, 36, 251, 8, 240, 240, 88, 171, 33, 202, 29, 124, 134, 82, 129, 24, 62, 186, 37, 239, 187, 9, 69, 255, 41, 42, 187, 220, 164, 0, 182, 167, 6, 22, 250, 178, 122, 31, 114, 123, 239, 122, 134, 56, 10, 154, 199, 102, 165, 178, 81, 62, 232, 158, 222, 79, 7, 44, 83, 209, 41, 71, 221, 130, 113, 62, 245, 178, 203, 102, 105, 64, 153, 235, 28, 97, 41, 192, 232, 191, 24, 173, 225, 41, 197, 30, 161, 129, 200, 244, 224, 112, 124, 188, 139, 149, 80},
+{43, 66, 242, 91, 144, 251, 130, 50, 220, 160, 0, 240, 50, 18, 7, 199, 163, 195, 216, 122, 85, 94, 67, 189, 191, 15, 43, 172, 201, 245, 236, 122, 192, 146, 138, 182, 74, 103, 237, 159, 3, 246, 238, 18, 126, 247, 107, 238, 230, 242, 81, 120, 19, 104, 60, 154, 174, 170, 140, 172, 55, 85, 246, 23, 250, 113, 237, 3, 124, 116, 26, 240, 64, 120, 67, 219, 24, 249, 30, 218, 73, 104, 32, 57, 64, 91, 5, 205, 218, 205, 155, 225, 19, 33, 162, 99, 154, 245, 137, 72, 44, 241, 78, 154, 83, 43, 191, 0, 28, 205, 124, 35, 144, 70, 255, 59, 187, 4, 53, 90, 168, 207, 54, 238, 251, 249, 17, 69},
+{51, 13, 79, 171, 213, 134, 45, 9, 41, 229, 33, 204, 82, 91, 192, 146, 86, 107, 179, 175, 31, 143, 91, 120, 251, 218, 49, 219, 149, 202, 25, 165, 110, 249, 155, 174, 131, 79, 182, 75, 79, 230, 191, 185, 16, 144, 37, 139, 122, 38, 184, 88, 120, 123, 198, 157, 11, 47, 237, 187, 233, 151, 137, 120, 129, 138, 230, 62, 198, 157, 39, 219, 143, 224, 38, 102, 158, 39, 75, 251, 200, 117, 38, 131, 102, 139, 240, 223, 7, 197, 182, 156, 62, 148, 123, 103, 197, 150, 138, 52, 128, 141, 251, 158, 255, 163, 5, 232, 187, 41, 154, 7, 212, 174, 19, 221, 24, 202, 88, 81, 141, 172, 92, 222, 152, 176, 107, 172},
+{106, 21, 17, 219, 223, 92, 94, 194, 23, 89, 170, 85, 92, 2, 11, 230, 30, 113, 232, 97, 121, 193, 148, 226, 237, 209, 242, 4, 127, 165, 56, 135, 15, 204, 63, 134, 91, 119, 26, 188, 67, 49, 140, 191, 95, 216, 22, 171, 182, 170, 74, 213, 39, 87, 182, 70, 205, 87, 34, 120, 124, 166, 61, 134, 99, 137, 84, 74, 195, 45, 251, 21, 28, 75, 231, 103, 28, 248, 49, 67, 117, 191, 243, 131, 14, 112, 167, 250, 84, 57, 153, 122, 235, 80, 18, 28, 221, 197, 4, 62, 194, 53, 101, 1, 64, 21, 97, 193, 64, 86, 63, 92, 165, 63, 47, 162, 36, 160, 65, 236, 82, 35, 67, 191, 101, 25, 217, 196},
+{80, 205, 180, 147, 23, 42, 180, 115, 135, 94, 31, 3, 247, 79, 27, 233, 231, 51, 239, 115, 40, 161, 2, 99, 229, 79, 151, 67, 230, 210, 46, 96, 122, 255, 62, 158, 171, 188, 125, 56, 150, 163, 255, 63, 194, 117, 233, 59, 71, 5, 157, 96, 63, 31, 247, 221, 68, 34, 241, 172, 79, 36, 191, 65, 252, 208, 66, 114, 195, 241, 145, 33, 21, 234, 244, 97, 160, 179, 144, 140, 11, 41, 53, 4, 232, 128, 73, 224, 138, 187, 8, 7, 30, 125, 14, 28, 3, 207, 23, 97, 44, 34, 208, 131, 50, 40, 178, 60, 50, 148, 9, 149, 183, 12, 25, 134, 75, 81, 116, 48, 154, 52, 180, 145, 9, 188, 169, 155},
+{197, 140, 17, 23, 231, 168, 156, 187, 251, 38, 19, 22, 230, 148, 26, 37, 183, 72, 9, 215, 196, 121, 95, 16, 156, 95, 246, 212, 178, 80, 152, 243, 65, 201, 136, 157, 149, 5, 233, 109, 88, 87, 156, 216, 31, 51, 199, 88, 56, 12, 67, 180, 129, 128, 107, 179, 60, 111, 110, 115, 211, 252, 188, 250, 175, 35, 84, 213, 208, 132, 84, 212, 83, 221, 149, 97, 148, 249, 0, 94, 110, 132, 50, 137, 79, 52, 39, 146, 25, 34, 175, 197, 169, 170, 252, 179, 181, 191, 116, 97, 70, 38, 143, 225, 132, 104, 34, 135, 25, 155, 168, 248, 177, 246, 96, 154, 15, 198, 171, 189, 33, 226, 192, 37, 124, 115, 121, 84},
+{80, 165, 185, 114, 65, 26, 115, 238, 71, 53, 72, 164, 159, 147, 58, 14, 152, 61, 17, 189, 57, 45, 170, 124, 28, 0, 127, 185, 157, 2, 39, 36, 78, 225, 122, 156, 223, 174, 171, 151, 15, 201, 79, 175, 137, 248, 108, 198, 34, 189, 22, 49, 51, 136, 158, 248, 236, 196, 83, 40, 105, 182, 22, 209, 194, 150, 139, 168, 153, 218, 20, 127, 169, 107, 75, 141, 208, 252, 165, 212, 187, 219, 124, 88, 176, 150, 58, 17, 215, 199, 81, 164, 192, 57, 50, 142, 187, 195, 35, 56, 145, 49, 80, 109, 235, 7, 129, 142, 234, 126, 45, 140, 142, 177, 127, 201, 29, 1, 202, 178, 10, 91, 224, 168, 216, 123, 165, 77},
+{154, 174, 167, 92, 95, 59, 100, 82, 19, 151, 108, 39, 52, 254, 157, 9, 150, 59, 201, 139, 117, 226, 100, 248, 173, 91, 96, 245, 202, 162, 79, 193, 47, 91, 41, 197, 164, 126, 185, 225, 124, 220, 39, 11, 85, 147, 88, 112, 163, 181, 184, 27, 94, 84, 94, 212, 88, 184, 148, 54, 86, 95, 255, 242, 177, 36, 187, 86, 92, 120, 100, 119, 144, 99, 247, 221, 28, 189, 192, 235, 238, 167, 231, 66, 194, 210, 127, 37, 184, 203, 233, 33, 59, 4, 48, 113, 190, 213, 154, 105, 2, 211, 124, 54, 150, 42, 58, 254, 25, 84, 6, 143, 62, 226, 206, 19, 208, 160, 22, 102, 216, 59, 103, 195, 37, 198, 40, 193},
+{35, 109, 41, 90, 230, 206, 241, 76, 143, 22, 112, 80, 121, 47, 36, 48, 193, 210, 90, 193, 66, 153, 223, 203, 52, 172, 92, 53, 121, 22, 105, 34, 178, 84, 55, 211, 245, 134, 17, 130, 192, 124, 129, 180, 142, 124, 248, 50, 179, 162, 163, 205, 80, 206, 23, 57, 193, 19, 166, 240, 48, 123, 119, 225, 169, 80, 195, 33, 245, 29, 59, 20, 30, 132, 104, 34, 219, 186, 108, 93, 64, 156, 252, 235, 40, 29, 208, 17, 69, 185, 215, 169, 188, 74, 193, 210, 153, 33, 204, 151, 185, 37, 173, 246, 90, 165, 121, 221, 35, 128, 248, 67, 196, 113, 185, 242, 46, 183, 4, 213, 50, 216, 8, 215, 13, 124, 90, 44},
+{91, 70, 234, 31, 203, 231, 93, 5, 179, 203, 105, 152, 73, 31, 248, 3, 244, 64, 39, 36, 213, 14, 197, 76, 86, 235, 39, 153, 99, 50, 95, 80, 205, 33, 207, 155, 49, 203, 27, 77, 152, 169, 142, 149, 77, 130, 209, 198, 72, 168, 242, 91, 105, 225, 218, 67, 42, 108, 227, 11, 103, 179, 2, 210, 121, 46, 132, 93, 42, 185, 240, 190, 120, 40, 181, 2, 17, 181, 234, 59, 57, 69, 231, 68, 111, 124, 249, 129, 97, 126, 227, 168, 230, 140, 119, 138, 126, 138, 173, 80, 73, 95, 111, 146, 14, 46, 145, 165, 31, 138, 95, 147, 40, 54, 14, 113, 43, 74, 198, 118, 8, 34, 236, 240, 69, 244, 46, 16},
+{7, 108, 150, 200, 205, 128, 69, 96, 52, 104, 58, 67, 166, 117, 241, 155, 99, 174, 193, 121, 255, 97, 5, 2, 175, 201, 162, 28, 252, 94, 118, 134, 98, 142, 134, 89, 15, 62, 190, 178, 52, 219, 42, 66, 237, 139, 25, 71, 194, 125, 167, 48, 81, 49, 128, 151, 166, 24, 229, 210, 15, 229, 67, 183, 138, 255, 81, 82, 106, 59, 3, 72, 131, 158, 147, 62, 15, 171, 132, 177, 74, 63, 50, 48, 154, 75, 249, 227, 147, 227, 191, 116, 213, 210, 72, 40, 173, 71, 17, 49, 140, 234, 136, 92, 21, 136, 133, 9, 107, 80, 71, 182, 90, 226, 238, 49, 203, 66, 200, 98, 241, 44, 154, 154, 236, 218, 51, 145},
+{21, 239, 142, 52, 20, 89, 123, 46, 80, 86, 108, 239, 91, 115, 227, 213, 40, 201, 38, 141, 206, 125, 245, 69, 164, 176, 198, 168, 124, 96, 142, 32, 87, 16, 246, 189, 82, 186, 209, 47, 130, 104, 84, 141, 248, 15, 182, 41, 139, 6, 201, 195, 163, 193, 216, 181, 143, 60, 135, 192, 10, 83, 45, 76, 16, 5, 157, 234, 0, 37, 96, 3, 147, 134, 253, 203, 31, 247, 92, 216, 104, 251, 226, 101, 155, 171, 16, 129, 150, 175, 179, 246, 140, 178, 179, 141, 247, 8, 1, 58, 15, 70, 228, 148, 240, 114, 224, 166, 212, 178, 15, 80, 121, 42, 29, 60, 212, 86, 162, 96, 51, 69, 114, 217, 167, 33, 218, 78},
+{15, 172, 131, 50, 139, 244, 147, 239, 4, 105, 33, 99, 59, 73, 153, 251, 150, 109, 18, 55, 128, 224, 118, 217, 237, 113, 155, 95, 151, 128, 205, 39, 131, 14, 133, 128, 163, 116, 45, 123, 245, 109, 226, 172, 58, 139, 151, 200, 244, 99, 243, 69, 226, 174, 33, 202, 235, 248, 210, 233, 40, 61, 187, 230, 42, 50, 14, 214, 195, 105, 77, 185, 151, 215, 94, 106, 140, 211, 174, 60, 74, 64, 226, 251, 26, 33, 12, 43, 243, 108, 201, 15, 145, 222, 32, 158, 6, 228, 162, 157, 166, 112, 31, 236, 113, 45, 68, 196, 90, 138, 227, 36, 1, 162, 78, 98, 87, 132, 68, 155, 129, 232, 83, 121, 39, 245, 97, 46},
+{93, 61, 129, 234, 18, 21, 54, 34, 32, 233, 93, 76, 249, 145, 224, 199, 15, 34, 117, 254, 5, 170, 122, 213, 212, 230, 10, 202, 15, 124, 125, 161, 64, 212, 148, 152, 16, 176, 213, 143, 124, 162, 161, 130, 157, 68, 203, 32, 1, 252, 3, 174, 143, 70, 4, 233, 152, 24, 156, 57, 40, 196, 157, 43, 132, 188, 82, 76, 228, 109, 55, 87, 99, 209, 79, 202, 171, 189, 13, 118, 46, 216, 197, 53, 164, 20, 128, 166, 26, 77, 205, 86, 25, 115, 88, 154, 63, 47, 235, 98, 117, 180, 170, 22, 81, 170, 192, 134, 116, 59, 3, 249, 29, 225, 172, 126, 239, 74, 224, 119, 187, 106, 149, 201, 91, 69, 7, 244},
+{11, 104, 28, 113, 30, 123, 222, 195, 229, 191, 69, 83, 245, 38, 209, 218, 251, 59, 189, 72, 121, 36, 162, 77, 11, 78, 95, 136, 125, 228, 86, 37, 211, 11, 203, 169, 38, 129, 57, 19, 233, 251, 255, 114, 249, 117, 195, 68, 18, 203, 120, 176, 101, 190, 91, 155, 138, 196, 33, 44, 183, 29, 99, 207, 32, 228, 115, 83, 206, 164, 114, 202, 246, 88, 84, 58, 41, 254, 90, 76, 252, 37, 5, 11, 247, 79, 189, 59, 39, 66, 74, 158, 201, 121, 172, 60, 84, 187, 118, 137, 26, 214, 111, 254, 170, 141, 81, 5, 150, 136, 76, 196, 198, 208, 217, 231, 64, 196, 251, 251, 192, 190, 51, 69, 141, 96, 162, 74},
+{158, 94, 86, 151, 78, 102, 227, 105, 131, 131, 81, 101, 177, 82, 88, 33, 251, 86, 23, 215, 22, 97, 39, 180, 247, 94, 67, 130, 232, 61, 82, 143, 214, 135, 125, 220, 205, 8, 137, 143, 133, 74, 240, 77, 157, 35, 163, 204, 183, 223, 44, 197, 141, 160, 245, 212, 3, 123, 9, 65, 220, 73, 159, 4, 113, 223, 89, 196, 47, 117, 182, 215, 10, 61, 255, 70, 122, 127, 45, 228, 42, 83, 133, 28, 170, 99, 135, 145, 115, 47, 251, 110, 161, 141, 167, 162, 66, 103, 161, 200, 59, 156, 17, 104, 55, 221, 150, 219, 200, 202, 225, 106, 201, 68, 45, 105, 143, 215, 142, 109, 244, 12, 158, 185, 115, 46, 99, 58},
+{163, 177, 4, 82, 247, 123, 40, 253, 250, 163, 176, 229, 43, 54, 187, 54, 251, 19, 194, 186, 132, 192, 3, 139, 198, 81, 55, 68, 108, 189, 8, 164, 47, 208, 15, 188, 55, 181, 131, 202, 111, 126, 234, 211, 232, 18, 40, 192, 105, 57, 108, 231, 52, 235, 116, 191, 183, 185, 240, 147, 188, 213, 21, 68, 140, 83, 71, 89, 144, 82, 155, 174, 118, 96, 40, 205, 213, 245, 149, 93, 149, 73, 64, 61, 169, 222, 29, 26, 43, 227, 5, 22, 249, 123, 205, 168, 152, 154, 128, 51, 5, 70, 126, 55, 42, 33, 254, 179, 218, 178, 51, 25, 15, 88, 86, 163, 68, 28, 221, 241, 84, 198, 204, 46, 231, 30, 143, 188},
+{65, 107, 203, 212, 134, 70, 9, 69, 251, 73, 80, 107, 187, 17, 82, 191, 188, 97, 192, 102, 95, 62, 75, 153, 156, 164, 213, 34, 156, 206, 67, 221, 140, 160, 11, 216, 9, 44, 231, 83, 195, 26, 119, 18, 95, 92, 221, 239, 90, 127, 144, 146, 139, 36, 225, 56, 212, 13, 164, 203, 194, 23, 127, 19, 147, 39, 217, 142, 141, 28, 193, 148, 253, 2, 86, 53, 131, 146, 246, 164, 187, 153, 36, 211, 70, 57, 249, 240, 186, 67, 254, 65, 11, 167, 176, 92, 35, 247, 186, 161, 139, 81, 25, 205, 136, 182, 242, 142, 75, 129, 158, 116, 121, 20, 72, 74, 94, 217, 34, 168, 118, 89, 105, 56, 94, 221, 150, 234},
+{48, 230, 242, 128, 219, 18, 110, 78, 112, 167, 249, 206, 204, 124, 151, 26, 2, 178, 106, 23, 14, 161, 28, 95, 112, 104, 90, 131, 248, 148, 62, 157, 248, 185, 254, 61, 166, 32, 14, 223, 88, 162, 38, 98, 29, 185, 161, 178, 240, 116, 7, 137, 78, 2, 116, 166, 126, 132, 140, 255, 148, 151, 228, 139, 114, 196, 218, 130, 68, 108, 55, 31, 109, 40, 186, 236, 66, 110, 56, 202, 190, 151, 207, 203, 245, 167, 253, 118, 249, 39, 160, 254, 170, 155, 63, 183, 210, 233, 55, 231, 179, 108, 120, 19, 3, 94, 68, 252, 148, 147, 208, 4, 227, 237, 74, 236, 192, 232, 197, 64, 205, 237, 190, 151, 126, 55, 57, 13},
+{63, 178, 81, 218, 17, 235, 206, 114, 170, 129, 19, 245, 199, 198, 110, 207, 201, 133, 113, 56, 86, 119, 15, 37, 142, 26, 147, 89, 32, 60, 195, 187, 234, 11, 134, 57, 108, 55, 135, 78, 232, 129, 49, 206, 39, 30, 95, 249, 192, 107, 211, 89, 229, 166, 203, 105, 73, 235, 37, 71, 35, 104, 9, 235, 16, 86, 114, 120, 104, 199, 18, 253, 45, 133, 184, 208, 179, 226, 168, 35, 187, 95, 230, 105, 126, 113, 240, 88, 201, 138, 186, 209, 5, 139, 42, 218, 72, 90, 106, 104, 69, 165, 36, 120, 204, 34, 202, 249, 132, 67, 124, 117, 91, 204, 251, 119, 91, 195, 135, 99, 33, 167, 238, 119, 105, 158, 172, 157},
+{179, 103, 18, 22, 250, 119, 52, 174, 169, 58, 60, 45, 140, 108, 122, 219, 103, 89, 1, 211, 193, 134, 3, 230, 157, 174, 9, 141, 63, 139, 217, 4, 84, 7, 26, 136, 217, 164, 30, 154, 172, 119, 74, 91, 69, 42, 111, 48, 87, 28, 31, 157, 216, 101, 81, 164, 78, 120, 44, 70, 196, 223, 34, 96, 115, 113, 65, 220, 38, 66, 198, 191, 168, 203, 66, 42, 70, 118, 110, 188, 156, 112, 186, 174, 81, 248, 15, 222, 35, 57, 45, 144, 243, 61, 66, 178, 173, 105, 151, 139, 223, 222, 164, 90, 165, 222, 134, 9, 9, 226, 99, 209, 226, 34, 140, 90, 92, 32, 195, 165, 28, 144, 176, 139, 48, 158, 24, 143},
+{42, 189, 168, 210, 117, 8, 36, 73, 3, 51, 21, 50, 10, 153, 195, 30, 93, 206, 148, 95, 154, 80, 113, 206, 221, 5, 31, 222, 202, 116, 123, 226, 4, 83, 116, 99, 113, 185, 38, 163, 216, 179, 164, 2, 239, 16, 182, 181, 220, 230, 218, 28, 124, 184, 170, 167, 17, 247, 190, 118, 32, 160, 136, 127, 228, 184, 210, 3, 129, 140, 251, 218, 227, 186, 15, 208, 227, 29, 189, 177, 42, 217, 47, 51, 145, 121, 150, 89, 116, 225, 183, 97, 228, 104, 15, 96, 18, 180, 194, 128, 234, 8, 183, 11, 1, 187, 173, 45, 61, 51, 225, 107, 91, 168, 239, 230, 40, 8, 168, 9, 45, 52, 125, 56, 248, 168, 253, 34},
+{198, 159, 250, 42, 243, 233, 252, 101, 88, 57, 160, 179, 75, 243, 165, 100, 211, 110, 221, 168, 232, 231, 33, 70, 199, 126, 72, 28, 223, 127, 175, 126, 197, 185, 196, 248, 62, 145, 205, 235, 90, 94, 194, 107, 130, 64, 23, 156, 40, 33, 121, 36, 186, 246, 93, 161, 81, 35, 56, 224, 152, 112, 29, 169, 16, 204, 180, 44, 152, 58, 140, 118, 102, 20, 34, 43, 142, 253, 203, 52, 71, 238, 22, 232, 7, 132, 6, 110, 117, 49, 231, 15, 40, 138, 145, 243, 186, 143, 207, 211, 143, 234, 35, 35, 36, 91, 199, 132, 7, 68, 29, 172, 236, 136, 241, 17, 147, 241, 178, 28, 38, 186, 39, 45, 60, 129, 56, 229},
+{140, 245, 227, 114, 218, 221, 11, 35, 196, 122, 25, 120, 15, 242, 159, 185, 209, 166, 3, 162, 106, 88, 68, 136, 235, 187, 38, 28, 221, 32, 184, 31, 141, 6, 226, 95, 84, 171, 252, 222, 66, 0, 50, 240, 151, 167, 63, 126, 220, 212, 234, 77, 133, 188, 198, 138, 58, 57, 186, 110, 112, 244, 74, 203, 44, 142, 90, 147, 245, 90, 202, 163, 214, 241, 252, 106, 56, 14, 123, 230, 241, 211, 214, 187, 23, 74, 152, 236, 197, 169, 28, 53, 119, 15, 7, 5, 159, 252, 22, 16, 131, 112, 157, 92, 125, 48, 215, 171, 238, 195, 193, 21, 166, 22, 195, 164, 66, 34, 237, 69, 100, 222, 202, 213, 208, 166, 43, 33},
+{37, 44, 17, 175, 109, 104, 68, 241, 49, 162, 128, 211, 56, 70, 166, 71, 0, 20, 97, 74, 139, 134, 142, 38, 248, 212, 138, 177, 22, 99, 182, 67, 10, 4, 130, 200, 30, 34, 37, 251, 68, 3, 72, 83, 21, 30, 213, 87, 146, 187, 244, 216, 195, 93, 238, 219, 134, 135, 134, 122, 125, 140, 70, 140, 156, 6, 93, 41, 20, 224, 8, 14, 218, 37, 28, 73, 130, 51, 224, 9, 72, 16, 100, 170, 68, 246, 144, 27, 168, 133, 28, 157, 17, 135, 25, 180, 192, 243, 120, 29, 203, 40, 39, 228, 213, 139, 9, 77, 233, 159, 93, 92, 37, 185, 21, 115, 189, 107, 64, 95, 136, 238, 200, 194, 89, 104, 30, 26},
+{162, 187, 158, 23, 114, 7, 82, 237, 175, 97, 107, 103, 227, 74, 139, 126, 253, 216, 81, 81, 228, 239, 67, 199, 239, 165, 87, 165, 52, 69, 201, 91, 108, 9, 35, 250, 141, 130, 28, 94, 30, 189, 151, 10, 163, 33, 138, 18, 182, 62, 96, 114, 210, 227, 240, 193, 19, 21, 74, 240, 93, 241, 231, 128, 38, 139, 216, 220, 220, 150, 224, 14, 130, 58, 101, 25, 140, 61, 182, 20, 18, 54, 28, 50, 55, 159, 179, 124, 235, 46, 180, 173, 189, 74, 81, 24, 52, 254, 164, 90, 117, 198, 77, 57, 100, 154, 93, 189, 241, 133, 100, 94, 194, 78, 101, 225, 54, 31, 156, 187, 43, 156, 144, 124, 57, 35, 68, 208},
+{122, 66, 52, 198, 64, 181, 186, 232, 112, 93, 98, 15, 104, 1, 242, 85, 174, 57, 81, 142, 197, 231, 32, 12, 42, 220, 6, 61, 65, 203, 186, 185, 229, 162, 114, 189, 174, 186, 42, 156, 24, 148, 161, 43, 40, 81, 100, 91, 54, 199, 105, 91, 36, 167, 80, 175, 122, 146, 124, 37, 119, 107, 245, 93, 119, 115, 69, 229, 104, 137, 253, 95, 12, 216, 69, 188, 154, 142, 64, 31, 102, 146, 115, 181, 77, 170, 111, 183, 169, 199, 172, 248, 232, 75, 78, 10, 254, 171, 144, 200, 235, 2, 88, 148, 36, 84, 86, 102, 20, 224, 162, 186, 44, 253, 125, 72, 199, 244, 220, 130, 48, 157, 60, 5, 235, 78, 207, 224},
+{111, 140, 167, 207, 113, 64, 176, 54, 235, 20, 84, 105, 205, 94, 108, 241, 223, 147, 199, 87, 99, 71, 207, 156, 179, 253, 75, 134, 136, 251, 67, 61, 171, 8, 79, 101, 157, 186, 240, 157, 233, 141, 207, 24, 37, 128, 59, 1, 103, 91, 253, 86, 140, 221, 77, 99, 253, 192, 50, 161, 225, 150, 143, 151, 216, 49, 191, 212, 170, 236, 20, 197, 236, 205, 10, 157, 106, 33, 20, 3, 18, 215, 146, 47, 28, 91, 149, 147, 136, 41, 116, 59, 100, 0, 22, 194, 103, 34, 195, 25, 179, 187, 208, 152, 106, 216, 64, 75, 80, 18, 91, 128, 207, 188, 35, 237, 96, 74, 152, 35, 238, 206, 179, 87, 22, 135, 7, 222},
+{174, 175, 213, 188, 230, 191, 118, 253, 124, 175, 223, 146, 21, 8, 244, 199, 44, 162, 92, 35, 108, 41, 174, 93, 161, 174, 106, 46, 53, 35, 181, 252, 237, 157, 32, 115, 29, 209, 160, 54, 210, 115, 27, 45, 77, 222, 41, 155, 184, 247, 156, 78, 204, 91, 181, 107, 90, 5, 29, 41, 253, 167, 92, 145, 234, 144, 75, 136, 133, 135, 69, 235, 72, 142, 170, 141, 231, 78, 248, 213, 99, 39, 251, 5, 49, 183, 169, 96, 105, 204, 128, 2, 143, 1, 22, 100, 152, 159, 68, 98, 10, 83, 119, 85, 210, 89, 34, 30, 25, 163, 110, 137, 10, 2, 234, 183, 39, 180, 173, 126, 244, 147, 63, 28, 188, 247, 40, 55},
+{45, 49, 162, 246, 217, 94, 229, 72, 215, 16, 136, 243, 203, 74, 204, 38, 175, 215, 190, 78, 200, 111, 127, 137, 123, 74, 93, 91, 131, 49, 74, 212, 197, 130, 71, 146, 41, 182, 226, 31, 16, 114, 197, 19, 179, 208, 127, 252, 132, 60, 185, 224, 237, 109, 161, 155, 132, 229, 18, 16, 69, 68, 139, 202, 222, 98, 173, 73, 126, 31, 163, 181, 219, 111, 121, 105, 187, 75, 223, 79, 130, 238, 120, 160, 162, 116, 212, 173, 95, 155, 204, 90, 182, 140, 220, 57, 155, 97, 88, 111, 240, 79, 38, 34, 97, 192, 25, 4, 20, 42, 184, 189, 207, 105, 213, 11, 75, 142, 198, 205, 50, 41, 253, 68, 43, 206, 63, 85},
+{143, 26, 157, 119, 132, 89, 38, 84, 93, 245, 64, 204, 240, 243, 13, 239, 229, 245, 56, 71, 54, 233, 116, 134, 10, 243, 99, 221, 42, 7, 116, 125, 235, 187, 186, 167, 214, 110, 23, 52, 114, 192, 144, 56, 172, 43, 91, 191, 108, 221, 7, 5, 141, 196, 186, 183, 228, 66, 112, 43, 216, 151, 192, 84, 37, 53, 44, 54, 251, 42, 229, 219, 194, 126, 248, 77, 196, 187, 17, 236, 162, 217, 30, 2, 228, 33, 36, 13, 120, 55, 91, 206, 198, 185, 177, 210, 33, 154, 123, 170, 106, 134, 37, 211, 158, 85, 152, 32, 86, 147, 168, 144, 223, 239, 111, 137, 136, 72, 129, 210, 220, 175, 250, 133, 8, 74, 114, 118},
+{108, 30, 31, 14, 119, 207, 197, 128, 121, 140, 114, 97, 76, 25, 197, 158, 246, 121, 161, 24, 230, 129, 108, 168, 114, 52, 19, 148, 237, 85, 25, 3, 88, 123, 254, 0, 247, 147, 244, 73, 1, 198, 43, 241, 155, 124, 96, 225, 149, 202, 241, 38, 1, 218, 247, 176, 29, 182, 196, 96, 22, 94, 98, 161, 76, 215, 254, 207, 158, 162, 28, 121, 125, 132, 67, 144, 162, 68, 196, 209, 128, 154, 163, 72, 13, 223, 196, 208, 96, 79, 1, 106, 104, 84, 206, 182, 173, 8, 106, 29, 161, 225, 55, 161, 229, 46, 246, 17, 216, 38, 239, 81, 14, 61, 170, 65, 243, 243, 171, 214, 190, 212, 59, 70, 166, 50, 7, 47},
+{207, 57, 181, 231, 173, 112, 77, 57, 104, 60, 73, 136, 53, 207, 53, 166, 230, 29, 83, 239, 35, 17, 201, 213, 251, 93, 145, 131, 195, 134, 24, 177, 21, 143, 59, 156, 73, 109, 19, 224, 88, 39, 220, 166, 251, 163, 190, 195, 7, 166, 220, 185, 192, 136, 149, 205, 172, 242, 185, 138, 176, 37, 121, 75, 83, 28, 97, 55, 38, 193, 10, 167, 143, 45, 8, 193, 99, 56, 199, 188, 198, 50, 111, 188, 134, 232, 172, 46, 135, 109, 11, 147, 205, 208, 237, 251, 186, 95, 133, 83, 196, 213, 77, 192, 172, 153, 219, 229, 201, 121, 207, 156, 218, 82, 248, 190, 136, 105, 129, 73, 233, 240, 246, 10, 158, 18, 73, 37},
+{83, 179, 41, 32, 162, 109, 36, 13, 219, 124, 94, 103, 252, 232, 79, 148, 204, 39, 46, 209, 233, 168, 29, 253, 241, 12, 50, 119, 86, 0, 134, 99, 76, 7, 227, 6, 54, 193, 143, 180, 185, 234, 111, 71, 89, 65, 95, 7, 131, 218, 157, 188, 32, 111, 91, 17, 190, 160, 252, 220, 133, 2, 123, 156, 244, 104, 217, 24, 5, 190, 145, 187, 170, 69, 185, 128, 32, 76, 134, 228, 44, 184, 144, 160, 7, 142, 24, 140, 240, 242, 91, 51, 107, 111, 77, 46, 221, 79, 87, 59, 63, 77, 227, 145, 70, 120, 129, 62, 246, 63, 16, 203, 170, 13, 69, 160, 101, 197, 127, 88, 5, 217, 214, 162, 147, 201, 51, 129},
+{45, 54, 102, 178, 108, 113, 32, 253, 39, 160, 151, 58, 158, 121, 41, 212, 4, 245, 224, 248, 8, 11, 6, 100, 66, 43, 251, 18, 93, 35, 70, 9, 231, 205, 117, 19, 249, 214, 181, 241, 1, 125, 31, 39, 39, 23, 29, 7, 67, 19, 150, 29, 11, 226, 66, 1, 11, 86, 129, 5, 228, 255, 219, 66, 19, 201, 217, 168, 169, 180, 2, 78, 92, 58, 110, 114, 147, 150, 99, 230, 21, 203, 92, 48, 115, 235, 65, 95, 57, 202, 167, 27, 107, 148, 84, 240, 55, 25, 160, 93, 118, 195, 84, 203, 221, 87, 228, 238, 172, 232, 182, 51, 160, 147, 163, 74, 206, 25, 18, 61, 181, 1, 18, 145, 4, 76, 214, 171},
+{190, 173, 103, 130, 8, 159, 55, 127, 148, 247, 237, 51, 28, 73, 56, 171, 101, 62, 239, 69, 167, 219, 97, 124, 90, 131, 68, 24, 251, 11, 143, 111, 228, 47, 32, 202, 52, 222, 22, 89, 180, 102, 150, 223, 32, 9, 29, 75, 155, 122, 213, 92, 179, 103, 66, 9, 119, 39, 49, 46, 133, 216, 195, 65, 151, 207, 187, 153, 88, 93, 210, 11, 158, 69, 194, 138, 4, 13, 172, 127, 223, 98, 3, 49, 208, 174, 36, 33, 49, 166, 141, 50, 255, 9, 2, 136, 248, 128, 65, 219, 73, 56, 164, 13, 65, 117, 119, 35, 101, 165, 202, 28, 25, 219, 68, 142, 90, 56, 92, 119, 226, 113, 147, 77, 128, 141, 97, 211},
+{69, 69, 29, 127, 97, 212, 157, 142, 106, 78, 10, 64, 13, 136, 174, 133, 15, 215, 220, 147, 50, 87, 215, 249, 232, 85, 244, 33, 236, 206, 97, 124, 175, 114, 212, 74, 253, 50, 239, 159, 153, 202, 107, 226, 111, 26, 128, 4, 203, 4, 34, 114, 234, 235, 203, 198, 172, 91, 22, 148, 125, 194, 117, 39, 83, 209, 36, 96, 160, 249, 52, 15, 171, 138, 166, 70, 65, 173, 22, 24, 111, 137, 16, 102, 178, 56, 230, 44, 140, 73, 76, 144, 185, 240, 101, 72, 46, 254, 203, 120, 96, 85, 231, 88, 31, 38, 33, 206, 180, 253, 58, 168, 121, 58, 129, 171, 50, 216, 7, 201, 70, 67, 10, 158, 218, 25, 200, 246},
+{176, 237, 65, 200, 47, 209, 124, 194, 83, 145, 239, 233, 74, 245, 58, 58, 22, 130, 30, 30, 36, 139, 197, 165, 186, 20, 1, 127, 52, 213, 125, 222, 131, 179, 191, 198, 246, 140, 196, 184, 169, 101, 205, 138, 52, 23, 116, 253, 79, 125, 109, 162, 196, 161, 103, 134, 89, 75, 187, 149, 148, 106, 181, 131, 94, 207, 249, 205, 168, 162, 138, 214, 232, 154, 164, 39, 54, 11, 185, 79, 16, 200, 56, 227, 96, 174, 157, 154, 72, 173, 171, 126, 174, 58, 62, 98, 118, 249, 89, 58, 98, 54, 162, 150, 120, 127, 128, 54, 159, 165, 9, 73, 206, 102, 69, 162, 226, 81, 36, 213, 187, 81, 53, 214, 203, 42, 250, 49},
+{43, 103, 250, 18, 11, 53, 208, 131, 204, 86, 81, 168, 2, 8, 238, 4, 2, 143, 223, 184, 141, 10, 105, 116, 104, 23, 210, 233, 236, 9, 234, 246, 148, 46, 97, 27, 159, 166, 17, 58, 166, 160, 128, 91, 142, 101, 43, 170, 48, 186, 248, 37, 42, 38, 235, 220, 216, 185, 41, 108, 133, 108, 32, 243, 89, 249, 12, 72, 23, 238, 228, 42, 34, 207, 41, 11, 195, 187, 115, 87, 139, 217, 104, 78, 107, 46, 64, 165, 187, 39, 61, 107, 214, 211, 100, 178, 49, 213, 69, 227, 160, 50, 133, 128, 193, 32, 53, 179, 227, 101, 186, 174, 32, 238, 55, 62, 72, 219, 232, 163, 133, 85, 87, 223, 38, 209, 161, 226},
+{180, 172, 158, 209, 19, 188, 55, 248, 10, 147, 252, 253, 42, 16, 7, 254, 33, 122, 51, 158, 90, 159, 118, 158, 210, 12, 189, 132, 0, 211, 148, 196, 159, 104, 23, 153, 101, 140, 51, 76, 18, 106, 164, 144, 17, 37, 60, 96, 86, 215, 121, 104, 173, 255, 42, 69, 113, 126, 132, 240, 12, 151, 48, 171, 245, 220, 178, 231, 105, 251, 10, 27, 219, 77, 59, 120, 176, 66, 221, 53, 36, 190, 83, 33, 73, 117, 92, 28, 243, 248, 169, 34, 126, 42, 43, 231, 80, 3, 227, 47, 149, 83, 245, 173, 82, 145, 155, 166, 250, 30, 182, 222, 246, 166, 173, 181, 158, 101, 129, 49, 147, 208, 232, 33, 216, 211, 221, 138},
+{168, 135, 144, 166, 30, 204, 240, 91, 129, 170, 8, 29, 249, 29, 18, 195, 132, 247, 199, 166, 135, 207, 100, 5, 151, 102, 118, 109, 107, 242, 41, 107, 240, 94, 196, 122, 254, 42, 201, 237, 55, 53, 115, 142, 179, 48, 225, 163, 49, 3, 89, 75, 203, 180, 101, 214, 240, 60, 226, 162, 153, 246, 129, 205, 117, 28, 137, 153, 37, 219, 248, 136, 231, 177, 69, 146, 111, 87, 91, 58, 90, 211, 80, 16, 224, 24, 191, 216, 71, 245, 31, 190, 58, 219, 221, 219, 84, 232, 150, 194, 206, 11, 21, 100, 48, 225, 140, 52, 217, 204, 100, 59, 7, 166, 27, 52, 207, 45, 165, 148, 122, 17, 32, 255, 241, 243, 237, 196},
+{97, 15, 221, 243, 19, 71, 43, 195, 104, 132, 47, 120, 71, 23, 53, 210, 234, 79, 153, 188, 189, 187, 1, 179, 220, 245, 229, 30, 5, 71, 90, 156, 163, 94, 146, 57, 157, 204, 224, 95, 152, 248, 43, 71, 65, 152, 161, 28, 227, 99, 175, 20, 127, 199, 109, 249, 154, 249, 177, 250, 181, 51, 10, 151, 19, 50, 181, 161, 195, 126, 127, 158, 253, 37, 150, 62, 151, 145, 31, 126, 244, 37, 107, 203, 94, 191, 76, 57, 58, 21, 82, 54, 177, 55, 163, 235, 101, 220, 134, 153, 132, 247, 28, 2, 150, 234, 36, 11, 190, 146, 44, 173, 0, 95, 130, 32, 83, 9, 182, 65, 233, 93, 33, 134, 101, 27, 187, 164},
+{72, 247, 62, 56, 120, 13, 24, 144, 120, 218, 234, 253, 56, 22, 123, 67, 212, 183, 148, 215, 93, 51, 177, 192, 164, 97, 213, 216, 118, 127, 184, 168, 80, 42, 166, 69, 39, 28, 180, 233, 115, 106, 131, 154, 135, 55, 92, 25, 172, 217, 156, 36, 65, 190, 171, 50, 250, 63, 44, 62, 52, 18, 2, 106, 28, 228, 29, 67, 78, 36, 72, 208, 29, 173, 219, 244, 124, 28, 1, 229, 119, 29, 156, 108, 31, 65, 66, 58, 150, 128, 161, 155, 142, 251, 22, 10, 183, 11, 219, 115, 129, 240, 201, 96, 26, 136, 246, 82, 213, 183, 222, 78, 115, 60, 209, 129, 47, 229, 219, 229, 252, 209, 250, 236, 164, 10, 128, 123},
+{104, 169, 247, 120, 192, 33, 110, 186, 7, 157, 112, 63, 65, 187, 104, 217, 217, 26, 231, 144, 88, 140, 99, 226, 87, 57, 109, 171, 184, 207, 129, 230, 39, 41, 43, 115, 149, 35, 137, 57, 219, 127, 44, 92, 34, 30, 212, 102, 18, 171, 20, 236, 171, 157, 123, 11, 45, 52, 2, 33, 70, 61, 33, 251, 50, 124, 8, 211, 34, 145, 144, 203, 83, 229, 240, 133, 41, 43, 100, 9, 12, 12, 159, 6, 62, 43, 142, 238, 57, 130, 28, 174, 6, 8, 228, 95, 137, 23, 247, 57, 191, 91, 135, 6, 33, 94, 85, 214, 226, 61, 202, 26, 75, 38, 56, 197, 81, 4, 70, 64, 193, 121, 71, 10, 196, 209, 202, 84},
+{104, 192, 62, 118, 103, 96, 169, 203, 217, 143, 132, 178, 5, 141, 10, 212, 109, 249, 130, 138, 43, 13, 191, 122, 94, 52, 216, 2, 20, 12, 226, 135, 97, 96, 216, 103, 2, 232, 132, 52, 185, 202, 71, 221, 74, 31, 246, 40, 93, 75, 46, 174, 9, 111, 6, 149, 175, 216, 7, 8, 28, 246, 118, 159, 177, 166, 205, 98, 127, 246, 115, 177, 150, 250, 110, 3, 162, 20, 84, 240, 198, 245, 68, 144, 184, 0, 233, 67, 231, 156, 244, 7, 208, 198, 145, 215, 189, 123, 170, 173, 187, 213, 135, 43, 255, 190, 67, 30, 173, 24, 54, 106, 104, 181, 61, 16, 34, 194, 155, 166, 168, 203, 184, 122, 71, 167, 200, 194},
+{205, 21, 224, 74, 254, 53, 180, 237, 190, 23, 66, 49, 132, 130, 126, 62, 161, 12, 65, 102, 246, 78, 209, 157, 9, 30, 183, 114, 89, 29, 224, 251, 184, 134, 42, 104, 148, 102, 60, 135, 87, 37, 115, 52, 210, 1, 86, 137, 118, 233, 78, 22, 95, 27, 53, 237, 8, 251, 102, 168, 239, 175, 178, 184, 109, 209, 72, 80, 32, 29, 9, 230, 132, 166, 46, 100, 190, 112, 239, 79, 173, 44, 181, 112, 207, 124, 39, 247, 78, 218, 180, 123, 248, 203, 236, 6, 110, 25, 7, 234, 246, 47, 10, 107, 24, 184, 149, 249, 211, 198, 118, 107, 104, 170, 94, 45, 96, 220, 29, 97, 255, 237, 231, 47, 67, 68, 85, 210},
+{85, 33, 181, 113, 111, 104, 102, 177, 145, 192, 158, 28, 213, 99, 197, 58, 55, 137, 197, 65, 200, 22, 68, 146, 244, 168, 2, 191, 38, 160, 106, 23, 99, 186, 72, 111, 119, 133, 5, 251, 101, 75, 78, 236, 147, 234, 137, 107, 71, 121, 135, 253, 94, 45, 182, 56, 134, 137, 93, 144, 165, 251, 35, 8, 81, 8, 77, 245, 168, 6, 9, 144, 75, 47, 149, 129, 100, 240, 195, 177, 62, 82, 235, 178, 231, 66, 79, 213, 213, 225, 3, 115, 186, 3, 122, 239, 97, 153, 200, 127, 81, 49, 82, 110, 77, 109, 227, 49, 92, 81, 226, 57, 0, 124, 118, 35, 114, 145, 108, 3, 163, 137, 116, 87, 90, 221, 50, 68},
+{89, 217, 16, 76, 171, 111, 150, 87, 226, 151, 86, 51, 110, 158, 61, 131, 243, 194, 33, 81, 232, 126, 172, 96, 7, 68, 7, 177, 11, 217, 7, 1, 20, 46, 44, 93, 183, 207, 146, 20, 212, 119, 111, 243, 47, 108, 125, 110, 219, 3, 19, 151, 86, 33, 103, 2, 176, 132, 57, 192, 254, 160, 254, 70, 80, 76, 106, 210, 57, 0, 233, 88, 35, 40, 100, 183, 135, 230, 146, 201, 11, 192, 138, 13, 169, 139, 102, 21, 189, 19, 135, 50, 39, 91, 114, 28, 158, 24, 84, 82, 207, 237, 75, 7, 19, 122, 238, 214, 181, 200, 31, 90, 3, 7, 242, 143, 127, 131, 226, 248, 130, 201, 0, 203, 19, 54, 125, 159},
+{112, 70, 191, 113, 147, 85, 176, 243, 50, 93, 152, 131, 145, 197, 61, 188, 231, 219, 246, 64, 88, 141, 245, 151, 147, 253, 171, 143, 154, 144, 195, 172, 48, 89, 158, 110, 26, 1, 216, 247, 215, 85, 253, 24, 154, 161, 23, 132, 111, 38, 141, 236, 213, 161, 220, 129, 74, 41, 111, 181, 180, 75, 80, 142, 48, 187, 89, 20, 4, 109, 214, 121, 192, 24, 17, 70, 209, 43, 150, 76, 228, 169, 225, 202, 43, 240, 189, 132, 179, 185, 14, 4, 92, 142, 27, 137, 157, 229, 142, 241, 59, 11, 45, 140, 166, 158, 135, 43, 65, 244, 238, 55, 233, 21, 223, 216, 173, 100, 142, 150, 202, 81, 138, 34, 171, 110, 134, 230},
+{87, 71, 236, 158, 152, 26, 89, 193, 94, 192, 162, 83, 3, 205, 114, 160, 17, 233, 213, 39, 241, 86, 139, 134, 108, 241, 156, 209, 159, 199, 152, 149, 151, 164, 31, 38, 50, 73, 153, 26, 214, 206, 51, 151, 232, 141, 38, 87, 242, 166, 172, 7, 102, 199, 185, 90, 50, 62, 102, 189, 69, 198, 50, 121, 221, 160, 34, 167, 81, 133, 173, 209, 54, 61, 20, 250, 213, 200, 160, 50, 9, 116, 232, 152, 9, 91, 74, 53, 98, 70, 151, 31, 172, 60, 78, 15, 54, 25, 202, 18, 224, 64, 100, 172, 23, 245, 139, 148, 33, 35, 70, 241, 182, 85, 193, 70, 172, 79, 134, 134, 24, 121, 246, 23, 63, 86, 191, 134},
+{80, 140, 249, 186, 7, 190, 240, 233, 156, 17, 219, 213, 231, 38, 16, 76, 4, 41, 124, 168, 14, 51, 167, 32, 42, 30, 251, 28, 209, 66, 60, 104, 3, 177, 192, 193, 134, 27, 239, 171, 171, 47, 123, 133, 252, 155, 212, 99, 242, 10, 119, 23, 224, 24, 31, 95, 175, 200, 149, 22, 5, 243, 166, 1, 5, 231, 51, 4, 180, 39, 234, 9, 115, 144, 177, 209, 159, 122, 103, 199, 88, 189, 211, 74, 63, 232, 54, 59, 170, 164, 109, 32, 162, 48, 225, 128, 87, 10, 141, 230, 119, 167, 12, 101, 108, 234, 57, 163, 105, 93, 198, 72, 87, 223, 138, 91, 212, 61, 113, 177, 99, 86, 127, 242, 24, 240, 144, 103},
+{120, 20, 125, 180, 49, 72, 41, 36, 58, 92, 219, 181, 14, 80, 85, 205, 30, 70, 123, 213, 30, 112, 142, 178, 170, 181, 196, 169, 29, 76, 155, 123, 136, 102, 231, 148, 6, 123, 68, 43, 38, 253, 162, 4, 95, 18, 28, 90, 92, 140, 117, 66, 22, 24, 255, 216, 247, 177, 78, 199, 92, 67, 54, 81, 51, 47, 214, 112, 28, 180, 219, 164, 229, 150, 229, 50, 210, 216, 52, 32, 185, 168, 164, 93, 182, 194, 159, 78, 128, 166, 216, 159, 66, 36, 238, 82, 65, 124, 241, 151, 58, 129, 70, 224, 139, 144, 130, 156, 5, 13, 38, 104, 188, 169, 207, 109, 210, 75, 37, 180, 239, 201, 223, 233, 182, 228, 76, 233},
+{165, 56, 169, 3, 153, 25, 110, 116, 178, 82, 60, 53, 27, 75, 11, 33, 21, 58, 190, 141, 180, 207, 127, 188, 15, 249, 233, 46, 53, 34, 230, 32, 194, 62, 111, 40, 241, 66, 233, 82, 15, 108, 66, 153, 11, 166, 85, 131, 140, 196, 210, 54, 244, 250, 101, 109, 25, 170, 253, 28, 200, 210, 39, 102, 202, 89, 196, 180, 169, 62, 22, 15, 38, 72, 229, 96, 88, 96, 141, 75, 120, 227, 229, 202, 94, 117, 255, 76, 230, 22, 210, 221, 185, 36, 131, 17, 3, 240, 137, 16, 115, 12, 85, 47, 239, 249, 30, 206, 68, 22, 159, 35, 151, 217, 210, 150, 6, 111, 223, 28, 164, 109, 82, 61, 35, 73, 229, 181},
+{91, 175, 188, 150, 194, 118, 205, 41, 105, 178, 24, 107, 101, 101, 213, 53, 23, 27, 84, 145, 19, 199, 155, 51, 136, 41, 44, 93, 5, 92, 234, 200, 58, 14, 101, 76, 247, 107, 120, 10, 134, 98, 107, 1, 112, 241, 116, 143, 219, 214, 116, 78, 120, 0, 45, 84, 127, 3, 192, 189, 178, 113, 173, 85, 166, 92, 232, 72, 15, 144, 13, 51, 0, 228, 48, 130, 23, 76, 217, 209, 109, 247, 156, 62, 34, 114, 45, 208, 85, 190, 165, 236, 224, 5, 88, 9, 224, 75, 201, 167, 93, 224, 192, 46, 201, 62, 129, 210, 90, 251, 166, 50, 173, 109, 179, 212, 65, 99, 96, 245, 38, 14, 44, 248, 174, 37, 255, 39},
+{205, 149, 163, 29, 24, 182, 86, 190, 234, 85, 224, 67, 129, 11, 4, 164, 29, 82, 9, 145, 233, 195, 59, 33, 182, 38, 145, 120, 124, 118, 126, 7, 223, 146, 100, 133, 16, 140, 194, 49, 105, 230, 182, 59, 93, 71, 94, 100, 235, 21, 245, 155, 104, 240, 84, 42, 15, 23, 204, 150, 236, 131, 21, 53, 7, 2, 43, 184, 146, 88, 172, 108, 227, 55, 4, 59, 220, 15, 145, 95, 19, 253, 73, 197, 98, 198, 62, 92, 116, 104, 20, 194, 150, 166, 107, 46, 145, 147, 98, 145, 216, 182, 31, 127, 73, 101, 114, 216, 136, 122, 155, 50, 167, 164, 221, 174, 18, 244, 100, 63, 30, 69, 199, 65, 146, 19, 72, 174},
+{199, 131, 204, 241, 55, 67, 115, 254, 226, 218, 110, 94, 170, 14, 227, 228, 250, 118, 211, 126, 105, 145, 132, 171, 21, 22, 177, 116, 74, 52, 38, 150, 126, 255, 31, 190, 65, 189, 152, 31, 177, 90, 226, 7, 105, 41, 45, 218, 145, 24, 103, 198, 46, 110, 77, 122, 250, 212, 28, 116, 196, 82, 213, 53, 21, 207, 249, 94, 110, 27, 165, 173, 35, 162, 215, 116, 117, 98, 62, 203, 37, 24, 17, 110, 139, 103, 124, 208, 90, 77, 86, 83, 54, 14, 93, 192, 225, 222, 222, 180, 249, 234, 190, 23, 35, 20, 21, 194, 155, 58, 212, 234, 144, 242, 237, 18, 89, 161, 136, 190, 85, 96, 178, 22, 29, 152, 144, 17},
+{195, 183, 226, 177, 1, 175, 193, 245, 152, 229, 152, 191, 120, 71, 40, 221, 57, 66, 217, 224, 31, 25, 140, 52, 225, 38, 66, 31, 37, 165, 64, 71, 224, 6, 49, 23, 96, 97, 207, 206, 198, 241, 190, 41, 183, 157, 32, 188, 147, 32, 55, 131, 233, 226, 0, 152, 26, 245, 163, 29, 226, 100, 118, 24, 85, 136, 219, 198, 240, 75, 87, 7, 179, 138, 238, 65, 223, 77, 208, 217, 84, 211, 167, 96, 68, 160, 204, 249, 183, 91, 237, 225, 126, 118, 127, 134, 255, 133, 67, 50, 199, 89, 89, 99, 94, 117, 8, 85, 202, 240, 208, 108, 184, 99, 151, 130, 163, 128, 43, 148, 16, 183, 59, 63, 198, 225, 100, 153},
+{168, 38, 122, 37, 244, 119, 177, 216, 3, 82, 196, 73, 141, 172, 103, 93, 20, 251, 82, 51, 18, 78, 71, 70, 137, 169, 42, 79, 232, 24, 225, 20, 246, 152, 246, 4, 56, 231, 202, 168, 144, 150, 26, 250, 35, 189, 222, 254, 38, 108, 246, 121, 159, 38, 239, 253, 51, 110, 147, 189, 47, 204, 238, 151, 50, 31, 195, 92, 83, 25, 28, 4, 62, 247, 69, 40, 55, 26, 49, 148, 49, 74, 9, 127, 121, 206, 163, 42, 45, 152, 160, 183, 196, 244, 174, 248, 104, 72, 131, 108, 228, 11, 34, 71, 43, 161, 182, 129, 125, 167, 193, 217, 94, 134, 166, 64, 31, 155, 39, 138, 169, 164, 90, 36, 139, 227, 48, 223},
+{171, 178, 210, 71, 241, 56, 165, 198, 227, 156, 69, 110, 139, 98, 70, 201, 84, 87, 141, 222, 13, 135, 64, 163, 237, 15, 77, 155, 68, 164, 156, 184, 0, 166, 243, 198, 227, 52, 177, 156, 232, 249, 246, 114, 142, 213, 198, 113, 178, 190, 250, 43, 75, 156, 129, 198, 72, 252, 140, 248, 15, 41, 150, 149, 204, 190, 192, 162, 159, 41, 36, 28, 243, 35, 232, 28, 93, 79, 224, 3, 187, 68, 221, 249, 213, 202, 62, 123, 164, 177, 89, 166, 23, 121, 184, 68, 245, 93, 174, 148, 229, 249, 139, 201, 108, 179, 211, 31, 10, 80, 64, 61, 88, 208, 21, 69, 170, 202, 163, 58, 198, 201, 227, 144, 184, 128, 208, 106},
+{185, 252, 242, 127, 75, 45, 66, 86, 224, 169, 140, 107, 255, 178, 142, 230, 171, 30, 165, 169, 50, 52, 123, 95, 25, 5, 43, 61, 139, 79, 111, 60, 164, 119, 115, 245, 15, 118, 124, 34, 15, 7, 54, 81, 172, 4, 121, 41, 206, 29, 181, 198, 161, 252, 93, 18, 13, 119, 132, 81, 27, 11, 137, 129, 151, 191, 248, 158, 175, 183, 8, 51, 6, 252, 66, 138, 98, 206, 56, 103, 136, 240, 235, 233, 105, 121, 36, 131, 52, 112, 153, 133, 155, 104, 251, 222, 224, 244, 114, 234, 46, 247, 240, 149, 245, 26, 192, 122, 202, 41, 167, 218, 107, 164, 206, 109, 145, 37, 174, 11, 241, 58, 118, 75, 193, 32, 228, 150},
+{118, 124, 199, 172, 24, 204, 109, 197, 129, 153, 52, 7, 250, 201, 92, 89, 118, 217, 98, 254, 121, 29, 147, 232, 48, 98, 102, 46, 182, 236, 77, 151, 120, 223, 144, 145, 9, 69, 153, 174, 3, 47, 129, 84, 176, 149, 135, 70, 22, 119, 74, 35, 247, 145, 247, 243, 108, 111, 36, 130, 153, 61, 47, 35, 31, 149, 225, 178, 4, 127, 158, 113, 208, 34, 89, 151, 111, 148, 252, 126, 64, 128, 173, 86, 57, 73, 44, 85, 211, 50, 105, 21, 216, 167, 21, 165, 117, 103, 142, 38, 44, 41, 14, 136, 169, 253, 17, 233, 10, 64, 176, 217, 55, 42, 138, 188, 80, 117, 204, 246, 21, 251, 23, 21, 116, 72, 85, 121},
+{116, 203, 70, 218, 54, 142, 135, 148, 220, 106, 210, 165, 13, 129, 123, 8, 68, 193, 112, 88, 89, 114, 251, 169, 94, 85, 139, 109, 176, 207, 136, 251, 43, 247, 88, 188, 252, 137, 122, 75, 29, 186, 24, 78, 9, 113, 168, 126, 183, 175, 35, 219, 158, 87, 85, 146, 248, 206, 190, 150, 136, 170, 197, 224, 79, 226, 196, 199, 139, 95, 157, 70, 224, 98, 165, 193, 11, 148, 123, 250, 72, 6, 86, 213, 50, 251, 224, 66, 33, 162, 231, 127, 150, 113, 72, 113, 0, 157, 198, 171, 21, 87, 25, 234, 102, 111, 11, 55, 89, 143, 40, 9, 43, 111, 240, 219, 15, 120, 47, 44, 174, 66, 166, 230, 97, 102, 185, 38},
+{157, 225, 142, 187, 188, 53, 74, 95, 165, 202, 190, 52, 148, 136, 122, 83, 251, 128, 192, 182, 203, 68, 142, 142, 207, 238, 218, 46, 61, 45, 213, 107, 5, 200, 54, 241, 63, 217, 251, 190, 41, 119, 239, 43, 233, 56, 114, 69, 53, 137, 226, 50, 223, 21, 239, 90, 135, 150, 53, 192, 220, 189, 185, 112, 84, 185, 19, 216, 253, 152, 73, 96, 45, 21, 83, 38, 44, 54, 255, 178, 3, 231, 28, 196, 3, 208, 2, 161, 232, 36, 47, 152, 34, 202, 82, 120, 28, 151, 126, 185, 19, 85, 233, 172, 80, 145, 150, 122, 113, 45, 31, 145, 155, 78, 21, 97, 198, 203, 62, 132, 32, 196, 3, 60, 50, 224, 125, 18},
+{99, 124, 235, 192, 234, 122, 108, 202, 184, 223, 113, 90, 158, 128, 245, 156, 227, 35, 49, 20, 220, 100, 74, 190, 135, 63, 34, 117, 95, 82, 160, 158, 77, 244, 222, 11, 8, 18, 248, 146, 17, 34, 39, 93, 202, 182, 103, 108, 182, 30, 29, 210, 171, 240, 222, 254, 77, 17, 170, 95, 143, 232, 207, 141, 218, 254, 113, 94, 34, 64, 209, 21, 230, 2, 82, 228, 220, 28, 171, 34, 74, 88, 45, 119, 214, 130, 193, 22, 9, 30, 233, 115, 99, 58, 124, 63, 183, 252, 22, 238, 40, 179, 87, 8, 94, 9, 207, 145, 163, 178, 63, 216, 126, 223, 200, 91, 15, 170, 185, 197, 174, 124, 138, 28, 17, 44, 195, 123},
+{31, 192, 214, 174, 240, 246, 244, 242, 216, 18, 228, 48, 34, 235, 179, 18, 185, 24, 34, 213, 167, 86, 153, 83, 241, 69, 159, 27, 98, 193, 153, 126, 3, 162, 227, 200, 41, 137, 123, 202, 118, 172, 187, 164, 228, 102, 171, 14, 94, 195, 123, 93, 57, 168, 181, 251, 59, 203, 193, 224, 212, 195, 90, 51, 31, 58, 3, 17, 184, 208, 232, 91, 182, 114, 197, 122, 46, 187, 218, 171, 89, 155, 242, 0, 202, 153, 15, 196, 7, 57, 233, 53, 107, 163, 149, 87, 0, 235, 106, 224, 107, 91, 207, 99, 4, 47, 84, 182, 120, 141, 4, 66, 98, 11, 105, 136, 67, 251, 60, 216, 43, 247, 253, 113, 55, 181, 183, 228},
+{101, 190, 128, 196, 36, 119, 111, 240, 78, 161, 24, 143, 140, 162, 254, 101, 104, 13, 242, 117, 95, 29, 112, 146, 130, 31, 75, 109, 252, 247, 190, 238, 248, 0, 8, 20, 38, 107, 178, 71, 148, 164, 57, 114, 9, 144, 91, 146, 37, 33, 214, 103, 6, 127, 122, 154, 150, 167, 188, 16, 209, 176, 201, 92, 151, 20, 228, 23, 144, 76, 240, 155, 72, 193, 55, 181, 98, 113, 208, 30, 98, 241, 232, 161, 91, 85, 200, 150, 138, 221, 213, 154, 153, 221, 223, 213, 170, 52, 22, 147, 166, 29, 200, 227, 175, 232, 119, 159, 58, 118, 72, 114, 106, 76, 3, 123, 7, 99, 53, 236, 84, 247, 181, 205, 237, 244, 179, 218},
+{45, 28, 123, 197, 152, 200, 178, 100, 66, 254, 223, 247, 107, 35, 162, 155, 90, 142, 132, 217, 252, 231, 32, 31, 218, 2, 23, 168, 135, 143, 71, 121, 131, 76, 122, 232, 156, 246, 199, 166, 68, 29, 149, 240, 202, 95, 80, 69, 10, 216, 142, 183, 227, 54, 62, 77, 186, 34, 193, 163, 209, 227, 39, 46, 69, 40, 54, 133, 75, 117, 172, 25, 84, 217, 23, 17, 115, 174, 145, 34, 131, 132, 163, 132, 173, 83, 150, 226, 246, 65, 31, 218, 62, 115, 52, 234, 149, 210, 151, 237, 60, 81, 82, 254, 136, 39, 72, 203, 58, 118, 186, 148, 154, 175, 169, 113, 211, 221, 73, 121, 141, 37, 125, 127, 96, 120, 99, 139},
+{66, 81, 13, 176, 239, 127, 247, 170, 23, 115, 117, 112, 91, 196, 81, 53, 203, 240, 159, 110, 206, 114, 78, 30, 168, 143, 38, 172, 161, 225, 79, 0, 175, 17, 19, 92, 191, 206, 169, 221, 39, 228, 123, 248, 15, 57, 167, 54, 203, 6, 100, 175, 152, 45, 135, 204, 79, 50, 41, 9, 64, 8, 210, 103, 46, 93, 121, 206, 198, 152, 240, 59, 85, 93, 35, 188, 145, 227, 40, 237, 249, 23, 69, 241, 136, 168, 66, 242, 58, 21, 28, 209, 41, 223, 17, 120, 120, 253, 145, 240, 71, 64, 203, 218, 140, 47, 178, 49, 176, 225, 49, 120, 12, 130, 115, 157, 202, 217, 104, 37, 254, 189, 36, 33, 213, 248, 134, 16},
+{193, 205, 173, 189, 210, 45, 219, 74, 173, 252, 183, 155, 162, 138, 143, 207, 245, 168, 37, 10, 147, 193, 238, 95, 2, 78, 147, 194, 204, 193, 189, 255, 240, 205, 230, 200, 248, 0, 132, 241, 242, 242, 165, 217, 124, 227, 131, 220, 231, 209, 199, 22, 3, 41, 104, 65, 251, 93, 7, 252, 18, 198, 72, 222, 68, 117, 37, 163, 150, 87, 73, 148, 112, 54, 208, 193, 218, 151, 33, 8, 18, 41, 211, 136, 254, 232, 198, 244, 253, 73, 52, 223, 68, 77, 64, 32, 206, 197, 76, 157, 64, 120, 103, 55, 93, 5, 97, 183, 221, 153, 171, 224, 76, 76, 102, 89, 163, 66, 147, 111, 158, 228, 121, 91, 193, 67, 186, 243},
+{165, 245, 225, 142, 150, 232, 217, 156, 180, 150, 125, 206, 59, 200, 238, 250, 115, 129, 232, 89, 67, 81, 161, 217, 205, 80, 128, 229, 69, 189, 212, 91, 217, 117, 87, 150, 1, 145, 18, 154, 32, 219, 231, 100, 10, 110, 68, 22, 112, 91, 150, 194, 174, 207, 33, 63, 1, 155, 220, 114, 136, 209, 76, 214, 210, 197, 247, 238, 201, 26, 61, 255, 29, 250, 208, 150, 238, 26, 32, 40, 221, 232, 144, 77, 195, 177, 109, 17, 148, 141, 42, 183, 62, 62, 107, 70, 66, 238, 62, 50, 87, 239, 198, 239, 152, 30, 22, 21, 235, 203, 114, 202, 142, 127, 236, 18, 170, 43, 93, 209, 69, 153, 121, 25, 88, 183, 139, 28},
+{7, 53, 211, 52, 251, 106, 237, 75, 156, 205, 87, 50, 36, 241, 132, 175, 110, 226, 219, 170, 17, 155, 238, 119, 232, 164, 84, 10, 97, 227, 203, 23, 37, 69, 235, 254, 177, 13, 150, 86, 67, 143, 29, 230, 235, 132, 96, 63, 188, 55, 74, 53, 211, 3, 177, 2, 7, 85, 78, 245, 143, 87, 248, 55, 210, 45, 213, 128, 132, 84, 194, 99, 149, 82, 34, 2, 172, 207, 35, 89, 130, 126, 191, 38, 92, 118, 146, 30, 25, 164, 45, 20, 43, 63, 110, 174, 197, 201, 228, 140, 6, 22, 179, 179, 53, 167, 119, 192, 255, 193, 190, 158, 161, 164, 220, 89, 234, 168, 81, 26, 182, 172, 238, 86, 60, 244, 22, 71},
+{200, 247, 118, 194, 226, 50, 68, 113, 5, 46, 161, 31, 115, 35, 129, 40, 184, 110, 244, 25, 54, 68, 107, 17, 75, 189, 131, 37, 175, 145, 86, 146, 53, 20, 77, 74, 67, 142, 6, 172, 148, 168, 240, 61, 189, 147, 216, 240, 132, 252, 238, 25, 113, 234, 45, 40, 42, 135, 227, 189, 172, 39, 60, 51, 167, 44, 64, 206, 230, 7, 92, 33, 130, 123, 110, 97, 241, 77, 4, 96, 127, 149, 236, 219, 170, 222, 109, 255, 26, 254, 209, 13, 130, 50, 108, 27, 248, 47, 93, 189, 174, 209, 230, 124, 236, 216, 170, 245, 211, 224, 213, 10, 6, 224, 52, 177, 39, 90, 235, 21, 180, 169, 94, 91, 169, 75, 192, 247},
+{204, 110, 20, 130, 231, 155, 247, 136, 26, 147, 162, 39, 94, 201, 148, 145, 68, 5, 111, 245, 160, 222, 73, 166, 220, 169, 179, 84, 157, 233, 88, 37, 173, 227, 186, 147, 114, 202, 142, 163, 7, 162, 207, 42, 141, 232, 231, 148, 106, 245, 122, 203, 42, 2, 18, 225, 225, 36, 69, 149, 34, 193, 217, 105, 242, 56, 151, 228, 112, 84, 3, 232, 216, 3, 57, 175, 176, 177, 55, 89, 96, 187, 51, 35, 177, 184, 177, 149, 218, 9, 8, 125, 23, 9, 239, 239, 131, 220, 248, 177, 197, 120, 179, 215, 61, 145, 254, 13, 39, 131, 45, 38, 136, 111, 35, 234, 209, 247, 240, 112, 33, 50, 23, 36, 99, 97, 127, 16},
+{143, 15, 107, 139, 145, 82, 177, 183, 100, 140, 179, 107, 237, 105, 210, 120, 30, 68, 62, 218, 173, 67, 0, 189, 250, 154, 213, 177, 217, 135, 117, 83, 82, 41, 204, 179, 160, 31, 107, 140, 33, 206, 102, 165, 5, 210, 137, 159, 212, 175, 23, 151, 31, 106, 5, 250, 49, 40, 241, 22, 225, 155, 58, 121, 234, 123, 108, 38, 101, 178, 157, 23, 52, 111, 137, 26, 100, 155, 161, 58, 242, 189, 92, 65, 85, 237, 216, 238, 186, 135, 213, 113, 187, 105, 49, 193, 105, 90, 156, 161, 4, 61, 89, 174, 245, 66, 123, 75, 243, 180, 50, 203, 113, 57, 42, 65, 200, 175, 125, 206, 7, 254, 233, 33, 205, 225, 249, 164},
+{166, 250, 138, 111, 245, 109, 44, 43, 145, 44, 188, 187, 63, 246, 185, 190, 127, 174, 25, 176, 69, 69, 170, 99, 194, 59, 107, 218, 62, 67, 227, 130, 207, 95, 170, 196, 130, 16, 83, 236, 52, 213, 246, 157, 19, 120, 237, 37, 182, 134, 86, 229, 240, 50, 239, 184, 175, 158, 237, 3, 166, 32, 151, 13, 20, 204, 171, 247, 237, 132, 26, 34, 137, 64, 222, 66, 222, 234, 120, 10, 66, 102, 168, 40, 46, 43, 68, 71, 187, 196, 215, 252, 217, 41, 53, 190, 84, 237, 222, 47, 248, 230, 186, 217, 151, 40, 241, 122, 90, 26, 2, 253, 211, 175, 182, 222, 111, 80, 125, 248, 41, 205, 221, 0, 199, 5, 206, 185},
+{65, 102, 31, 200, 208, 197, 102, 20, 175, 194, 93, 244, 75, 181, 203, 96, 121, 40, 156, 134, 93, 29, 21, 131, 35, 206, 101, 92, 161, 110, 14, 250, 208, 149, 148, 184, 2, 136, 252, 198, 130, 115, 221, 23, 6, 57, 47, 32, 67, 104, 193, 141, 5, 240, 134, 202, 216, 35, 70, 167, 236, 220, 223, 127, 180, 145, 103, 69, 175, 254, 16, 232, 32, 108, 70, 5, 107, 77, 84, 166, 224, 13, 201, 200, 146, 126, 226, 93, 47, 237, 90, 63, 216, 48, 216, 113, 100, 97, 157, 247, 95, 116, 207, 44, 244, 184, 35, 97, 166, 185, 21, 11, 251, 19, 88, 133, 61, 144, 254, 129, 130, 46, 138, 207, 232, 57, 40, 4},
+{86, 195, 209, 247, 219, 246, 77, 252, 216, 29, 117, 41, 40, 210, 249, 155, 49, 0, 47, 153, 114, 133, 242, 143, 225, 81, 86, 66, 214, 30, 29, 227, 108, 230, 78, 50, 97, 206, 46, 51, 95, 110, 74, 12, 223, 212, 52, 249, 0, 47, 195, 136, 32, 214, 213, 90, 201, 19, 196, 125, 237, 107, 100, 178, 104, 56, 97, 242, 158, 193, 61, 30, 119, 136, 234, 219, 112, 4, 152, 196, 113, 179, 150, 171, 57, 37, 80, 153, 121, 151, 36, 95, 219, 82, 17, 248, 13, 45, 23, 146, 70, 190, 99, 206, 64, 75, 13, 6, 20, 115, 9, 216, 159, 60, 33, 107, 110, 167, 168, 31, 216, 157, 155, 163, 177, 112, 191, 101},
+{141, 129, 175, 212, 34, 125, 136, 136, 66, 223, 239, 92, 86, 247, 34, 95, 45, 90, 182, 64, 97, 168, 49, 21, 67, 70, 78, 228, 188, 179, 188, 148, 217, 253, 205, 8, 104, 195, 53, 249, 104, 224, 71, 48, 205, 240, 223, 1, 95, 141, 9, 159, 95, 65, 229, 69, 109, 222, 29, 165, 75, 93, 20, 55, 82, 154, 189, 12, 2, 93, 27, 207, 14, 207, 58, 191, 103, 145, 190, 163, 144, 4, 152, 30, 132, 179, 116, 22, 48, 95, 91, 74, 141, 213, 239, 47, 36, 156, 179, 245, 56, 59, 129, 31, 62, 82, 178, 208, 157, 24, 11, 119, 244, 233, 10, 219, 13, 123, 31, 37, 26, 158, 61, 36, 61, 40, 111, 122},
+{29, 110, 70, 119, 129, 221, 91, 30, 242, 116, 73, 156, 139, 92, 83, 21, 142, 32, 46, 121, 231, 129, 63, 5, 146, 66, 60, 130, 172, 47, 120, 122, 144, 221, 109, 60, 37, 145, 238, 228, 47, 81, 60, 84, 17, 149, 240, 155, 83, 20, 152, 54, 34, 133, 81, 247, 42, 2, 240, 23, 160, 179, 15, 218, 128, 79, 210, 56, 27, 68, 70, 133, 65, 227, 213, 94, 197, 129, 183, 51, 160, 197, 177, 39, 144, 1, 180, 183, 28, 7, 78, 92, 14, 74, 237, 161, 41, 22, 205, 245, 186, 23, 202, 120, 86, 136, 137, 132, 246, 183, 192, 154, 207, 223, 110, 65, 246, 249, 239, 72, 119, 23, 16, 34, 157, 64, 93, 3},
+{209, 39, 227, 84, 22, 204, 128, 227, 47, 160, 158, 203, 67, 11, 86, 208, 63, 96, 230, 15, 85, 183, 227, 28, 53, 48, 218, 245, 163, 96, 86, 148, 19, 165, 250, 173, 174, 16, 244, 220, 177, 205, 159, 194, 21, 111, 160, 217, 169, 23, 118, 159, 242, 38, 178, 171, 4, 37, 227, 129, 156, 195, 158, 229, 234, 53, 251, 151, 3, 137, 67, 180, 92, 117, 117, 145, 15, 142, 237, 175, 238, 22, 183, 45, 82, 184, 194, 75, 60, 130, 195, 252, 97, 255, 7, 222, 14, 131, 12, 216, 184, 165, 55, 148, 84, 60, 116, 61, 136, 42, 40, 96, 185, 37, 184, 77, 240, 96, 177, 142, 59, 189, 249, 95, 201, 173, 202, 212},
+{170, 2, 56, 229, 10, 180, 80, 206, 25, 247, 158, 105, 189, 180, 71, 68, 165, 147, 20, 232, 221, 213, 129, 195, 147, 253, 2, 16, 59, 78, 220, 89, 182, 226, 204, 151, 224, 145, 66, 241, 211, 49, 202, 95, 171, 10, 107, 249, 195, 113, 148, 148, 198, 140, 245, 109, 7, 166, 122, 38, 203, 205, 183, 128, 211, 232, 149, 198, 222, 124, 108, 157, 149, 72, 88, 86, 213, 210, 158, 226, 228, 114, 138, 23, 106, 9, 129, 161, 178, 89, 117, 105, 28, 83, 96, 72, 9, 52, 248, 115, 15, 73, 249, 202, 80, 73, 211, 153, 200, 101, 83, 217, 86, 98, 147, 29, 155, 171, 135, 73, 171, 72, 239, 77, 99, 62, 26, 42},
+{118, 251, 58, 64, 28, 212, 231, 44, 24, 234, 38, 70, 5, 39, 79, 45, 38, 122, 53, 244, 145, 30, 121, 106, 114, 184, 238, 176, 242, 101, 103, 27, 155, 93, 91, 122, 28, 162, 3, 251, 172, 242, 153, 220, 70, 226, 202, 202, 213, 229, 134, 7, 168, 137, 65, 214, 4, 103, 104, 130, 127, 112, 116, 13, 207, 109, 99, 98, 233, 42, 14, 50, 55, 128, 36, 9, 125, 67, 51, 188, 175, 231, 214, 12, 42, 236, 177, 20, 78, 114, 254, 143, 36, 71, 237, 220, 189, 67, 140, 72, 18, 57, 35, 111, 180, 168, 19, 172, 209, 124, 247, 96, 91, 87, 192, 124, 210, 248, 115, 74, 194, 35, 193, 195, 11, 228, 223, 36},
+{27, 39, 73, 246, 146, 55, 52, 150, 154, 204, 62, 164, 12, 251, 206, 221, 105, 16, 35, 103, 235, 243, 195, 24, 95, 65, 76, 232, 231, 30, 114, 35, 156, 41, 109, 103, 241, 3, 197, 73, 151, 191, 150, 105, 42, 86, 25, 234, 76, 8, 123, 111, 124, 168, 136, 150, 150, 254, 102, 129, 132, 159, 160, 23, 86, 151, 140, 168, 52, 76, 227, 157, 87, 253, 225, 192, 59, 81, 231, 89, 188, 139, 228, 92, 93, 32, 114, 197, 113, 56, 211, 78, 104, 37, 1, 9, 100, 11, 150, 50, 187, 101, 104, 81, 135, 143, 200, 6, 21, 182, 222, 183, 143, 104, 65, 39, 30, 2, 59, 7, 122, 7, 255, 164, 9, 195, 214, 103},
+{37, 49, 132, 182, 220, 14, 30, 235, 43, 142, 161, 192, 183, 145, 132, 140, 252, 82, 146, 13, 134, 232, 248, 117, 171, 140, 205, 38, 104, 192, 252, 69, 221, 144, 120, 34, 65, 62, 239, 203, 87, 49, 49, 80, 130, 42, 98, 149, 89, 71, 3, 224, 27, 237, 61, 162, 224, 6, 147, 166, 80, 162, 241, 14, 231, 11, 119, 233, 75, 219, 101, 85, 91, 252, 108, 248, 78, 234, 115, 67, 94, 22, 139, 126, 73, 179, 17, 160, 83, 40, 212, 27, 227, 80, 93, 212, 23, 216, 105, 130, 39, 16, 37, 232, 13, 169, 51, 147, 52, 38, 174, 122, 185, 200, 139, 30, 248, 10, 221, 141, 109, 111, 152, 149, 180, 46, 82, 11},
+{179, 229, 92, 72, 228, 210, 176, 248, 106, 5, 147, 101, 131, 247, 235, 125, 172, 100, 232, 101, 124, 35, 96, 144, 205, 21, 182, 246, 58, 182, 212, 243, 203, 42, 86, 186, 250, 27, 85, 76, 155, 143, 199, 76, 224, 241, 30, 88, 207, 137, 67, 172, 76, 85, 73, 38, 106, 178, 115, 238, 52, 111, 10, 23, 105, 106, 8, 98, 158, 98, 241, 151, 206, 199, 241, 254, 34, 246, 54, 32, 53, 117, 110, 161, 212, 88, 8, 125, 224, 65, 98, 250, 91, 91, 133, 103, 83, 114, 236, 198, 241, 26, 155, 240, 166, 73, 69, 70, 144, 243, 157, 105, 98, 98, 118, 47, 19, 188, 254, 118, 176, 145, 128, 90, 180, 9, 142, 145},
+{113, 225, 163, 117, 122, 3, 236, 234, 53, 0, 164, 184, 88, 224, 197, 150, 243, 220, 100, 7, 140, 192, 117, 189, 95, 219, 178, 11, 184, 200, 245, 187, 211, 251, 53, 205, 195, 4, 52, 157, 244, 188, 105, 114, 164, 153, 227, 218, 137, 102, 172, 21, 19, 192, 40, 5, 115, 37, 108, 208, 184, 75, 156, 40, 205, 209, 124, 139, 97, 25, 108, 185, 242, 56, 146, 236, 224, 44, 214, 173, 12, 162, 24, 49, 212, 82, 198, 199, 215, 164, 22, 209, 136, 168, 147, 249, 123, 29, 27, 13, 57, 36, 243, 203, 124, 81, 71, 118, 90, 159, 111, 93, 162, 137, 114, 79, 129, 221, 206, 216, 162, 122, 96, 0, 200, 239, 32, 79},
+{47, 135, 53, 228, 178, 76, 150, 209, 120, 8, 129, 24, 186, 211, 30, 161, 4, 232, 19, 147, 60, 96, 116, 5, 209, 158, 179, 76, 67, 215, 161, 75, 185, 136, 87, 34, 220, 26, 93, 71, 55, 12, 73, 248, 141, 252, 199, 186, 18, 184, 64, 55, 129, 89, 189, 178, 115, 41, 101, 113, 99, 146, 66, 213, 63, 5, 59, 13, 231, 69, 57, 105, 251, 183, 97, 186, 166, 17, 254, 175, 110, 209, 147, 181, 7, 22, 120, 75, 136, 193, 54, 130, 85, 154, 200, 123, 216, 230, 153, 3, 94, 98, 172, 15, 254, 13, 174, 180, 187, 224, 170, 187, 40, 115, 248, 186, 123, 34, 166, 129, 84, 88, 15, 48, 47, 129, 177, 214},
+{177, 182, 166, 34, 247, 132, 232, 134, 70, 165, 144, 191, 51, 109, 103, 204, 218, 38, 166, 19, 106, 66, 165, 77, 204, 47, 243, 3, 49, 37, 31, 55, 0, 214, 54, 68, 254, 223, 6, 68, 243, 183, 157, 123, 55, 90, 62, 67, 98, 255, 53, 31, 13, 94, 68, 78, 160, 94, 94, 64, 19, 20, 32, 99, 0, 194, 115, 127, 101, 231, 59, 63, 159, 35, 165, 95, 63, 200, 208, 164, 43, 143, 79, 145, 180, 206, 223, 82, 23, 216, 22, 175, 194, 50, 177, 130, 204, 114, 36, 25, 44, 204, 160, 17, 24, 99, 120, 232, 229, 81, 217, 28, 43, 227, 43, 86, 250, 199, 8, 242, 225, 77, 196, 117, 234, 86, 178, 92},
+{149, 127, 123, 240, 7, 84, 9, 60, 106, 98, 151, 23, 116, 232, 106, 60, 172, 223, 182, 8, 194, 65, 45, 83, 28, 220, 237, 48, 210, 216, 119, 204, 109, 146, 236, 173, 251, 0, 151, 35, 31, 33, 23, 73, 43, 243, 16, 8, 159, 244, 130, 12, 71, 224, 70, 12, 125, 96, 183, 147, 54, 98, 215, 216, 8, 171, 152, 115, 219, 30, 13, 135, 159, 111, 120, 43, 26, 105, 119, 14, 180, 19, 251, 191, 210, 55, 116, 7, 120, 132, 219, 175, 187, 247, 242, 117, 18, 72, 118, 109, 102, 224, 159, 30, 250, 72, 15, 13, 180, 2, 233, 182, 121, 5, 15, 214, 49, 163, 151, 118, 161, 201, 125, 58, 2, 150, 214, 168},
+{15, 205, 43, 1, 116, 65, 190, 168, 58, 162, 219, 228, 5, 213, 247, 65, 73, 222, 64, 53, 193, 27, 55, 37, 209, 211, 245, 196, 140, 113, 55, 146, 186, 246, 131, 79, 167, 202, 102, 52, 89, 134, 33, 187, 29, 246, 3, 137, 248, 178, 53, 53, 6, 134, 90, 209, 70, 85, 34, 184, 1, 242, 5, 124, 20, 171, 231, 238, 223, 249, 142, 49, 34, 96, 166, 217, 240, 33, 162, 23, 200, 232, 44, 70, 47, 111, 33, 69, 78, 25, 244, 108, 239, 246, 17, 153, 145, 221, 125, 53, 191, 83, 14, 36, 252, 217, 240, 160, 17, 99, 25, 44, 31, 78, 34, 217, 110, 180, 224, 18, 230, 173, 36, 18, 150, 229, 18, 55},
+{179, 200, 21, 214, 185, 155, 100, 200, 250, 11, 220, 27, 96, 220, 4, 85, 39, 243, 37, 243, 113, 104, 86, 194, 187, 108, 129, 128, 51, 187, 5, 73, 155, 72, 210, 91, 217, 41, 233, 129, 123, 60, 141, 110, 240, 199, 135, 69, 54, 119, 63, 67, 52, 49, 45, 16, 79, 14, 242, 153, 102, 57, 130, 118, 192, 47, 138, 98, 118, 26, 63, 250, 6, 58, 132, 72, 139, 80, 213, 97, 195, 120, 52, 165, 77, 168, 83, 206, 252, 158, 13, 230, 71, 215, 12, 145, 248, 55, 210, 68, 12, 251, 121, 123, 237, 112, 116, 231, 225, 102, 181, 196, 124, 60, 233, 243, 52, 65, 53, 115, 242, 100, 95, 119, 158, 206, 144, 149},
+{99, 169, 56, 78, 214, 177, 75, 248, 138, 55, 18, 240, 27, 0, 138, 155, 83, 37, 3, 195, 251, 252, 148, 161, 216, 208, 237, 27, 196, 255, 111, 192, 172, 93, 143, 248, 127, 204, 121, 77, 232, 252, 45, 250, 100, 196, 28, 41, 107, 73, 229, 41, 194, 0, 197, 229, 217, 177, 127, 217, 132, 49, 103, 185, 1, 75, 252, 187, 67, 149, 127, 171, 36, 24, 61, 209, 179, 218, 207, 199, 134, 8, 241, 214, 240, 115, 38, 254, 137, 7, 211, 221, 211, 155, 114, 82, 90, 238, 74, 23, 109, 84, 49, 153, 165, 234, 89, 147, 62, 110, 163, 57, 138, 35, 63, 138, 41, 218, 115, 38, 146, 189, 251, 101, 19, 63, 212, 188},
+{182, 183, 45, 242, 32, 218, 47, 247, 36, 28, 147, 88, 56, 184, 204, 197, 29, 183, 37, 215, 118, 51, 209, 199, 241, 33, 17, 149, 120, 200, 19, 8, 84, 46, 65, 235, 216, 94, 3, 160, 170, 85, 225, 191, 41, 121, 142, 167, 68, 84, 18, 4, 90, 207, 240, 133, 33, 187, 245, 86, 179, 210, 214, 75, 70, 154, 233, 221, 42, 9, 53, 1, 137, 186, 42, 223, 216, 18, 242, 74, 107, 70, 210, 56, 137, 110, 168, 226, 209, 211, 50, 48, 196, 250, 70, 81, 185, 236, 221, 18, 53, 118, 202, 45, 104, 95, 207, 234, 154, 192, 149, 90, 134, 247, 27, 29, 25, 209, 196, 45, 115, 38, 185, 104, 86, 209, 201, 105},
+{56, 236, 211, 130, 112, 233, 143, 65, 242, 49, 24, 73, 114, 197, 44, 187, 19, 192, 3, 9, 232, 245, 117, 132, 23, 204, 119, 231, 23, 92, 151, 169, 182, 114, 130, 214, 107, 209, 93, 152, 153, 107, 36, 197, 183, 226, 73, 63, 35, 154, 126, 248, 189, 155, 113, 100, 132, 81, 242, 11, 48, 234, 116, 114, 24, 178, 60, 248, 121, 1, 236, 16, 0, 222, 138, 248, 214, 163, 226, 98, 246, 222, 243, 74, 35, 5, 36, 147, 24, 224, 227, 30, 180, 21, 74, 188, 240, 0, 219, 73, 143, 40, 13, 18, 132, 158, 163, 253, 182, 135, 78, 169, 207, 143, 110, 24, 139, 239, 229, 89, 95, 64, 137, 213, 141, 65, 155, 92},
+{63, 32, 31, 233, 204, 57, 66, 18, 189, 245, 250, 228, 124, 172, 151, 224, 230, 181, 202, 111, 106, 50, 18, 189, 29, 184, 43, 9, 29, 65, 172, 131, 157, 6, 209, 157, 196, 182, 195, 89, 163, 155, 57, 180, 90, 212, 208, 121, 237, 160, 217, 171, 38, 82, 245, 151, 229, 77, 224, 26, 8, 181, 253, 14, 112, 115, 72, 189, 206, 68, 154, 54, 87, 168, 159, 91, 16, 114, 118, 213, 158, 12, 227, 48, 192, 102, 199, 160, 78, 220, 87, 103, 226, 123, 135, 156, 238, 83, 193, 16, 81, 73, 10, 30, 40, 183, 233, 211, 51, 162, 17, 56, 155, 207, 226, 81, 173, 73, 148, 31, 219, 234, 222, 98, 10, 0, 17, 126},
+{151, 199, 75, 172, 17, 252, 214, 226, 254, 13, 167, 2, 73, 152, 245, 195, 176, 94, 32, 33, 112, 148, 160, 20, 247, 237, 151, 60, 133, 212, 97, 225, 128, 171, 38, 230, 17, 89, 163, 230, 179, 137, 199, 10, 180, 0, 75, 149, 217, 229, 171, 230, 158, 21, 174, 200, 169, 144, 98, 254, 65, 143, 143, 39, 156, 128, 37, 70, 151, 235, 148, 75, 11, 20, 57, 168, 50, 30, 114, 183, 56, 229, 5, 103, 149, 91, 173, 146, 17, 123, 47, 221, 235, 108, 232, 208, 150, 220, 64, 15, 28, 213, 6, 118, 187, 159, 229, 88, 174, 72, 58, 51, 177, 88, 184, 184, 201, 206, 99, 7, 106, 21, 107, 193, 90, 241, 98, 46},
+{189, 45, 200, 4, 35, 205, 114, 208, 191, 9, 253, 91, 172, 46, 121, 216, 104, 133, 85, 24, 78, 166, 28, 192, 79, 50, 223, 77, 174, 186, 41, 242, 36, 208, 54, 93, 112, 15, 178, 94, 165, 68, 36, 251, 231, 131, 85, 114, 175, 70, 247, 59, 233, 3, 219, 151, 119, 48, 21, 175, 228, 217, 48, 239, 133, 215, 4, 153, 180, 46, 96, 77, 129, 129, 219, 165, 139, 2, 203, 90, 255, 106, 65, 108, 22, 112, 52, 127, 13, 240, 212, 226, 166, 168, 251, 181, 224, 181, 241, 122, 205, 101, 14, 157, 18, 140, 27, 60, 88, 235, 68, 206, 43, 185, 5, 46, 6, 255, 27, 44, 191, 38, 85, 160, 97, 0, 93, 67},
+{99, 58, 169, 85, 149, 248, 13, 224, 194, 189, 156, 28, 61, 11, 102, 227, 79, 147, 7, 142, 87, 12, 249, 224, 129, 179, 143, 173, 2, 122, 28, 159, 133, 191, 168, 133, 241, 57, 222, 170, 166, 23, 31, 211, 64, 123, 225, 230, 148, 83, 3, 151, 236, 131, 71, 77, 254, 79, 110, 56, 176, 132, 43, 107, 175, 163, 16, 36, 18, 152, 145, 126, 214, 162, 216, 248, 108, 176, 65, 149, 239, 150, 71, 238, 52, 148, 6, 30, 174, 55, 19, 199, 230, 8, 121, 165, 52, 118, 163, 190, 116, 40, 170, 105, 151, 128, 194, 122, 190, 102, 208, 224, 125, 16, 30, 57, 88, 173, 181, 137, 218, 190, 247, 119, 14, 223, 51, 158},
+{178, 182, 230, 13, 130, 61, 185, 23, 211, 37, 204, 207, 230, 220, 245, 219, 186, 166, 38, 0, 1, 61, 52, 57, 145, 165, 54, 42, 67, 197, 82, 6, 56, 77, 39, 3, 48, 103, 114, 118, 102, 41, 171, 175, 138, 7, 155, 41, 217, 209, 203, 34, 252, 66, 13, 176, 88, 75, 171, 242, 51, 29, 20, 78, 90, 3, 55, 230, 100, 149, 184, 151, 137, 246, 62, 204, 97, 140, 60, 191, 26, 54, 88, 116, 193, 195, 135, 209, 74, 5, 17, 4, 196, 198, 210, 12, 214, 77, 29, 249, 213, 50, 139, 15, 176, 76, 36, 179, 81, 63, 100, 65, 130, 106, 233, 172, 22, 231, 189, 187, 36, 186, 219, 194, 82, 30, 146, 164},
+{183, 164, 28, 153, 38, 35, 26, 248, 204, 14, 41, 221, 0, 128, 252, 57, 115, 82, 109, 62, 101, 8, 223, 167, 118, 104, 18, 160, 127, 118, 42, 171, 55, 14, 189, 196, 200, 80, 88, 55, 238, 107, 70, 239, 190, 222, 191, 132, 9, 1, 58, 130, 176, 110, 14, 17, 8, 58, 142, 107, 70, 132, 68, 9, 218, 24, 205, 113, 5, 48, 231, 12, 173, 213, 178, 210, 141, 228, 5, 7, 191, 25, 181, 189, 209, 125, 144, 11, 54, 214, 191, 14, 210, 158, 90, 217, 96, 62, 179, 174, 89, 6, 0, 27, 195, 137, 91, 123, 165, 38, 236, 115, 216, 166, 103, 108, 64, 69, 161, 99, 208, 35, 18, 184, 17, 200, 55, 204},
+{117, 143, 92, 182, 101, 95, 83, 140, 242, 97, 185, 6, 81, 84, 5, 116, 40, 123, 144, 62, 237, 30, 192, 246, 97, 248, 41, 150, 151, 78, 189, 17, 125, 74, 74, 10, 28, 203, 66, 90, 172, 220, 240, 4, 40, 229, 70, 239, 123, 42, 193, 176, 115, 133, 199, 224, 66, 235, 21, 1, 160, 5, 213, 218, 70, 147, 84, 229, 26, 58, 105, 17, 138, 115, 187, 87, 67, 227, 253, 45, 179, 64, 187, 90, 82, 201, 29, 105, 31, 173, 186, 221, 75, 112, 2, 138, 151, 122, 37, 101, 92, 47, 4, 205, 66, 12, 115, 22, 57, 125, 16, 155, 58, 136, 136, 153, 180, 212, 133, 67, 98, 1, 137, 59, 239, 191, 106, 62},
+{139, 229, 129, 128, 93, 77, 239, 168, 38, 248, 193, 127, 243, 236, 27, 192, 224, 249, 14, 166, 224, 154, 156, 239, 117, 195, 170, 90, 122, 177, 229, 29, 99, 178, 188, 229, 64, 186, 226, 236, 250, 247, 84, 216, 195, 122, 192, 59, 196, 62, 12, 191, 74, 200, 237, 21, 52, 126, 255, 19, 75, 90, 242, 19, 58, 45, 19, 2, 23, 92, 32, 214, 100, 138, 19, 50, 195, 228, 40, 1, 124, 107, 206, 61, 62, 177, 168, 195, 80, 247, 22, 211, 183, 28, 138, 194, 6, 234, 159, 170, 53, 98, 120, 116, 246, 206, 199, 174, 215, 229, 77, 86, 107, 186, 191, 228, 146, 107, 41, 3, 121, 255, 40, 208, 97, 54, 88, 42},
+{38, 226, 147, 90, 227, 99, 82, 71, 124, 8, 208, 20, 240, 189, 247, 233, 84, 32, 16, 251, 121, 87, 141, 24, 185, 88, 45, 14, 198, 27, 55, 86, 172, 84, 77, 22, 171, 120, 207, 240, 181, 31, 14, 5, 175, 216, 212, 118, 84, 254, 44, 210, 155, 37, 2, 137, 38, 49, 5, 239, 235, 9, 98, 158, 146, 154, 87, 6, 129, 117, 61, 194, 124, 245, 244, 97, 164, 196, 131, 232, 154, 160, 183, 57, 81, 178, 53, 140, 219, 37, 158, 17, 215, 220, 14, 81, 88, 169, 197, 68, 225, 41, 165, 154, 217, 245, 21, 19, 24, 18, 56, 163, 145, 179, 216, 76, 243, 170, 33, 254, 186, 19, 152, 248, 206, 46, 225, 247},
+{72, 47, 78, 134, 79, 109, 84, 34, 146, 205, 6, 214, 57, 12, 249, 254, 143, 226, 232, 182, 13, 144, 246, 8, 78, 51, 5, 138, 47, 68, 81, 59, 46, 102, 62, 176, 50, 23, 57, 145, 7, 250, 172, 234, 24, 115, 216, 177, 149, 70, 148, 46, 46, 68, 157, 42, 244, 166, 178, 223, 40, 130, 21, 126, 38, 242, 81, 40, 1, 200, 140, 191, 80, 57, 157, 142, 74, 137, 61, 198, 123, 80, 197, 46, 117, 31, 60, 212, 211, 210, 182, 227, 163, 254, 24, 142, 245, 3, 40, 184, 35, 126, 26, 215, 166, 59, 157, 31, 69, 147, 50, 36, 68, 170, 160, 211, 0, 221, 125, 58, 221, 166, 196, 91, 154, 78, 95, 53},
+{119, 52, 46, 169, 91, 187, 107, 231, 251, 186, 198, 89, 146, 237, 93, 189, 178, 66, 31, 208, 171, 10, 254, 145, 80, 36, 26, 148, 250, 16, 139, 147, 85, 82, 149, 152, 188, 123, 21, 246, 244, 5, 14, 11, 61, 119, 111, 247, 66, 163, 129, 161, 210, 59, 126, 176, 218, 54, 72, 179, 223, 221, 186, 130, 43, 147, 185, 31, 1, 9, 103, 80, 25, 70, 211, 1, 1, 135, 113, 61, 93, 212, 221, 161, 249, 153, 74, 238, 207, 66, 39, 209, 165, 79, 160, 1, 185, 93, 189, 220, 3, 132, 165, 114, 254, 30, 185, 99, 94, 76, 212, 2, 38, 52, 35, 190, 234, 156, 5, 155, 227, 124, 211, 242, 157, 155, 238, 67},
+{7, 130, 161, 247, 168, 87, 75, 173, 245, 3, 118, 125, 80, 128, 7, 157, 125, 216, 86, 21, 141, 253, 234, 244, 157, 215, 151, 247, 11, 154, 110, 2, 50, 117, 119, 191, 16, 12, 33, 107, 138, 71, 250, 203, 126, 17, 145, 112, 166, 94, 213, 118, 15, 194, 45, 201, 172, 4, 183, 113, 145, 35, 103, 172, 218, 35, 113, 158, 3, 51, 109, 236, 39, 33, 130, 245, 235, 105, 61, 138, 228, 121, 64, 71, 144, 56, 91, 56, 169, 11, 32, 177, 218, 8, 154, 95, 198, 101, 148, 160, 143, 27, 110, 102, 71, 234, 168, 35, 54, 115, 158, 48, 121, 22, 95, 19, 127, 236, 130, 131, 231, 43, 159, 39, 81, 142, 254, 206},
+{200, 124, 218, 171, 163, 211, 45, 48, 74, 17, 148, 157, 241, 143, 40, 8, 28, 184, 1, 120, 27, 229, 229, 247, 169, 196, 245, 83, 22, 53, 164, 163, 1, 250, 193, 36, 178, 228, 115, 243, 184, 199, 194, 110, 129, 17, 177, 33, 101, 238, 121, 206, 86, 253, 84, 62, 144, 235, 18, 122, 95, 139, 203, 254, 152, 144, 198, 236, 198, 121, 210, 183, 123, 38, 154, 4, 117, 123, 28, 248, 81, 196, 248, 49, 187, 120, 71, 22, 166, 6, 94, 204, 251, 148, 196, 200, 185, 171, 8, 254, 26, 193, 51, 16, 139, 211, 85, 204, 14, 255, 123, 187, 23, 74, 112, 238, 106, 168, 223, 176, 150, 242, 5, 123, 177, 213, 53, 79},
+{79, 64, 208, 172, 187, 24, 112, 28, 224, 207, 56, 217, 97, 97, 36, 216, 246, 40, 48, 127, 72, 36, 169, 68, 53, 232, 163, 38, 177, 246, 61, 156, 133, 47, 83, 166, 89, 180, 100, 182, 54, 195, 56, 49, 147, 128, 40, 233, 89, 176, 190, 110, 253, 50, 84, 176, 131, 149, 44, 176, 102, 214, 150, 203, 25, 86, 119, 55, 60, 22, 91, 74, 114, 102, 57, 240, 229, 226, 17, 53, 61, 171, 168, 21, 13, 100, 213, 139, 39, 110, 7, 58, 117, 162, 31, 139, 46, 208, 51, 152, 12, 68, 161, 89, 27, 138, 10, 226, 129, 5, 173, 16, 156, 121, 250, 206, 216, 161, 122, 128, 30, 92, 135, 226, 217, 34, 208, 80},
+{75, 19, 127, 46, 216, 180, 27, 135, 90, 198, 200, 131, 226, 65, 28, 86, 101, 72, 199, 5, 122, 169, 48, 233, 179, 15, 167, 225, 84, 108, 244, 114, 175, 142, 180, 186, 225, 18, 72, 124, 252, 241, 30, 148, 135, 199, 85, 109, 33, 97, 190, 3, 136, 195, 135, 198, 231, 134, 153, 86, 169, 172, 12, 221, 202, 40, 168, 162, 101, 10, 154, 251, 175, 182, 76, 79, 98, 6, 64, 4, 126, 66, 33, 42, 219, 107, 24, 228, 117, 158, 48, 194, 235, 63, 90, 237, 65, 85, 134, 67, 91, 201, 96, 230, 63, 169, 91, 229, 250, 57, 149, 22, 243, 238, 106, 159, 93, 169, 30, 144, 63, 183, 33, 154, 203, 71, 127, 68},
+{200, 169, 112, 242, 147, 28, 12, 186, 93, 218, 12, 51, 91, 42, 177, 134, 183, 91, 167, 58, 242, 253, 42, 3, 169, 180, 65, 170, 99, 15, 225, 95, 118, 151, 131, 243, 25, 140, 212, 252, 161, 194, 61, 4, 236, 45, 16, 73, 170, 0, 95, 248, 226, 131, 197, 151, 97, 237, 107, 132, 50, 205, 21, 86, 239, 181, 32, 124, 194, 30, 68, 234, 81, 186, 30, 238, 196, 235, 24, 234, 29, 239, 52, 183, 78, 99, 5, 104, 111, 108, 99, 69, 224, 45, 153, 235, 14, 225, 47, 145, 86, 5, 49, 63, 36, 171, 222, 59, 140, 78, 16, 34, 239, 128, 3, 127, 222, 208, 220, 116, 49, 64, 126, 150, 25, 8, 194, 167},
+{96, 36, 13, 151, 150, 224, 164, 118, 75, 119, 156, 160, 35, 83, 27, 32, 177, 163, 181, 192, 179, 36, 159, 177, 214, 172, 131, 24, 164, 61, 83, 76, 161, 9, 247, 70, 170, 14, 225, 81, 194, 184, 151, 212, 18, 20, 179, 254, 3, 0, 115, 241, 183, 38, 38, 85, 182, 221, 184, 36, 90, 9, 219, 85, 135, 19, 49, 158, 100, 84, 231, 61, 216, 188, 165, 59, 54, 220, 95, 252, 181, 127, 53, 190, 153, 86, 217, 145, 50, 42, 100, 72, 117, 64, 204, 247, 34, 192, 16, 102, 234, 46, 76, 95, 23, 152, 113, 67, 174, 87, 32, 248, 106, 103, 193, 197, 33, 118, 70, 28, 139, 215, 174, 207, 87, 185, 15, 222},
+{39, 162, 152, 218, 160, 28, 155, 247, 108, 222, 38, 33, 167, 82, 155, 126, 250, 29, 81, 67, 45, 22, 123, 69, 195, 28, 213, 88, 247, 101, 7, 79, 235, 70, 28, 121, 203, 58, 62, 143, 236, 87, 196, 95, 149, 202, 206, 21, 134, 247, 114, 63, 50, 215, 199, 217, 143, 138, 157, 121, 83, 39, 137, 239, 112, 111, 150, 204, 64, 14, 120, 95, 100, 213, 243, 35, 106, 105, 247, 178, 228, 206, 196, 79, 74, 17, 72, 87, 86, 88, 103, 147, 220, 249, 194, 14, 37, 207, 16, 57, 15, 254, 159, 116, 119, 212, 0, 194, 190, 35, 185, 177, 2, 46, 228, 247, 58, 84, 100, 54, 248, 192, 108, 44, 184, 136, 40, 204},
+{74, 86, 121, 220, 130, 78, 199, 1, 59, 146, 234, 4, 238, 200, 54, 77, 133, 213, 17, 20, 92, 42, 99, 77, 240, 165, 241, 12, 222, 96, 232, 103, 131, 30, 101, 228, 35, 53, 183, 152, 159, 182, 119, 169, 76, 33, 10, 19, 168, 100, 159, 78, 237, 192, 69, 141, 67, 14, 215, 135, 86, 187, 192, 162, 61, 61, 82, 51, 124, 133, 15, 182, 49, 150, 43, 185, 59, 200, 30, 98, 189, 100, 146, 179, 253, 133, 236, 80, 98, 103, 62, 130, 43, 5, 97, 29, 18, 246, 58, 116, 176, 198, 42, 216, 70, 0, 14, 193, 230, 235, 2, 168, 215, 225, 44, 79, 150, 49, 26, 204, 159, 114, 236, 3, 250, 124, 7, 253},
+{9, 33, 163, 56, 189, 226, 80, 233, 217, 32, 35, 35, 239, 163, 177, 245, 198, 232, 78, 20, 79, 186, 232, 26, 19, 233, 185, 173, 218, 36, 210, 63, 128, 5, 249, 196, 122, 13, 42, 31, 182, 67, 126, 29, 60, 94, 189, 115, 187, 178, 101, 92, 94, 84, 100, 238, 150, 117, 103, 248, 25, 252, 161, 204, 82, 91, 144, 99, 19, 124, 130, 245, 116, 125, 199, 19, 199, 42, 52, 48, 47, 164, 12, 113, 145, 110, 159, 195, 169, 101, 134, 175, 72, 107, 174, 49, 29, 166, 241, 121, 158, 132, 75, 53, 170, 182, 215, 17, 191, 127, 156, 198, 41, 52, 64, 28, 99, 97, 66, 79, 101, 60, 46, 14, 228, 34, 94, 71},
+{57, 210, 88, 47, 69, 218, 123, 110, 203, 253, 226, 83, 148, 140, 118, 22, 47, 221, 112, 175, 86, 168, 144, 59, 129, 2, 50, 114, 194, 107, 112, 114, 29, 94, 91, 216, 75, 99, 120, 134, 247, 78, 177, 182, 4, 210, 88, 74, 11, 135, 27, 78, 253, 111, 44, 7, 152, 122, 45, 204, 70, 144, 97, 131, 241, 30, 218, 210, 26, 43, 44, 48, 35, 115, 130, 168, 190, 109, 51, 106, 84, 137, 159, 254, 96, 50, 28, 217, 132, 188, 65, 30, 102, 102, 157, 127, 102, 81, 204, 33, 59, 14, 92, 117, 194, 47, 106, 70, 109, 219, 124, 252, 188, 251, 173, 0, 7, 217, 91, 26, 132, 109, 188, 113, 206, 15, 65, 228},
+{12, 103, 235, 107, 113, 251, 242, 128, 133, 29, 74, 189, 194, 76, 146, 103, 112, 124, 82, 11, 254, 111, 41, 138, 49, 142, 47, 250, 147, 77, 11, 253, 93, 24, 127, 224, 163, 208, 194, 253, 64, 167, 235, 136, 129, 220, 112, 244, 252, 219, 245, 248, 199, 35, 4, 132, 242, 136, 131, 227, 48, 151, 219, 196, 35, 178, 7, 32, 48, 103, 235, 210, 36, 117, 3, 83, 120, 250, 13, 224, 47, 216, 131, 254, 51, 199, 87, 251, 46, 51, 137, 0, 101, 245, 1, 176, 231, 29, 38, 82, 101, 77, 155, 177, 115, 122, 251, 186, 173, 50, 44, 47, 43, 8, 54, 50, 101, 236, 161, 99, 232, 113, 124, 63, 178, 78, 6, 80},
+{82, 184, 112, 2, 9, 104, 127, 21, 71, 135, 161, 247, 86, 224, 49, 247, 70, 102, 229, 246, 149, 78, 178, 23, 72, 185, 168, 70, 112, 200, 126, 127, 124, 68, 152, 225, 9, 79, 35, 160, 78, 197, 195, 155, 124, 25, 177, 80, 101, 195, 182, 15, 255, 34, 96, 236, 167, 222, 206, 90, 168, 74, 197, 220, 216, 104, 145, 73, 103, 157, 234, 179, 186, 242, 139, 84, 90, 47, 96, 7, 237, 65, 3, 45, 114, 245, 16, 131, 137, 81, 203, 209, 221, 195, 184, 96, 122, 201, 20, 54, 226, 33, 228, 190, 103, 136, 211, 9, 182, 10, 70, 212, 26, 198, 143, 23, 91, 112, 107, 4, 55, 186, 119, 21, 199, 11, 80, 180},
+{13, 149, 85, 135, 211, 168, 200, 217, 82, 76, 14, 194, 209, 148, 108, 44, 7, 81, 68, 153, 85, 167, 107, 164, 84, 178, 47, 38, 96, 111, 59, 129, 154, 188, 92, 204, 154, 182, 14, 152, 30, 27, 183, 171, 129, 84, 232, 166, 85, 126, 244, 232, 163, 181, 147, 196, 69, 154, 57, 76, 203, 195, 68, 176, 106, 175, 137, 91, 48, 14, 94, 220, 40, 151, 7, 226, 62, 20, 197, 48, 243, 110, 96, 200, 49, 253, 113, 52, 26, 93, 226, 22, 194, 5, 136, 183, 30, 100, 197, 116, 39, 211, 159, 102, 171, 108, 161, 155, 197, 32, 184, 161, 198, 164, 81, 235, 67, 31, 166, 243, 6, 204, 203, 49, 115, 149, 26, 254},
+{54, 7, 43, 190, 163, 27, 206, 78, 83, 119, 187, 51, 183, 49, 177, 127, 105, 85, 53, 232, 115, 75, 92, 151, 189, 242, 19, 176, 136, 120, 72, 241, 78, 195, 232, 76, 2, 38, 108, 184, 190, 85, 22, 192, 41, 228, 234, 3, 71, 252, 178, 207, 114, 23, 200, 173, 194, 140, 43, 118, 31, 93, 4, 93, 37, 94, 201, 213, 207, 18, 241, 232, 6, 2, 121, 191, 176, 235, 13, 217, 190, 169, 184, 98, 188, 145, 60, 234, 25, 79, 151, 10, 47, 50, 83, 194, 155, 193, 190, 141, 174, 131, 58, 178, 138, 135, 243, 38, 60, 203, 190, 141, 69, 233, 222, 111, 167, 114, 219, 115, 218, 167, 1, 218, 183, 219, 75, 138},
+{156, 25, 219, 225, 169, 39, 75, 225, 153, 185, 157, 110, 76, 18, 224, 199, 38, 216, 255, 177, 91, 224, 30, 93, 64, 83, 118, 56, 216, 13, 126, 165, 175, 27, 61, 103, 90, 202, 22, 39, 52, 194, 232, 94, 202, 197, 184, 212, 104, 23, 1, 251, 196, 15, 26, 191, 193, 108, 181, 223, 228, 140, 148, 174, 198, 128, 90, 169, 55, 70, 73, 221, 161, 111, 211, 121, 124, 121, 173, 89, 36, 120, 193, 87, 185, 86, 60, 182, 188, 158, 76, 201, 79, 203, 7, 63, 207, 40, 143, 116, 31, 246, 107, 72, 17, 214, 249, 160, 235, 41, 211, 126, 172, 166, 190, 28, 44, 164, 243, 248, 99, 163, 116, 77, 93, 185, 203, 91},
+{123, 53, 100, 246, 78, 237, 246, 177, 171, 42, 181, 69, 99, 114, 137, 32, 204, 73, 66, 227, 166, 74, 111, 5, 78, 181, 156, 191, 195, 184, 78, 171, 155, 3, 2, 206, 163, 8, 2, 235, 88, 14, 205, 148, 112, 144, 215, 157, 103, 40, 106, 155, 19, 234, 228, 83, 59, 236, 133, 120, 14, 69, 19, 240, 206, 115, 9, 29, 55, 155, 78, 185, 142, 93, 26, 115, 155, 232, 240, 45, 202, 220, 137, 107, 121, 112, 12, 3, 39, 224, 112, 148, 3, 62, 255, 16, 102, 197, 252, 250, 217, 55, 33, 146, 22, 159, 248, 228, 109, 123, 95, 99, 84, 92, 104, 239, 145, 248, 170, 110, 148, 26, 13, 164, 192, 228, 210, 63},
+{114, 151, 95, 88, 162, 157, 83, 35, 7, 186, 194, 189, 228, 58, 130, 54, 193, 81, 126, 53, 156, 38, 17, 213, 83, 52, 254, 76, 13, 183, 246, 45, 37, 3, 119, 150, 165, 244, 148, 3, 104, 45, 107, 102, 162, 144, 149, 136, 86, 142, 28, 179, 233, 229, 74, 251, 91, 86, 38, 3, 25, 241, 128, 225, 198, 75, 5, 110, 53, 151, 103, 38, 52, 134, 75, 129, 203, 4, 100, 71, 238, 237, 230, 90, 139, 249, 250, 227, 252, 22, 66, 163, 248, 150, 195, 173, 64, 146, 134, 83, 153, 251, 8, 158, 148, 174, 123, 110, 85, 113, 226, 69, 140, 41, 86, 128, 63, 75, 172, 21, 139, 79, 166, 243, 7, 243, 69, 118},
+{148, 66, 109, 251, 240, 143, 165, 134, 105, 239, 146, 133, 77, 64, 188, 6, 151, 201, 36, 138, 65, 43, 40, 194, 102, 70, 9, 179, 120, 253, 139, 41, 111, 155, 51, 170, 31, 228, 166, 182, 28, 137, 248, 106, 102, 192, 156, 175, 52, 64, 197, 34, 239, 0, 204, 170, 241, 56, 187, 42, 220, 109, 229, 96, 245, 41, 211, 84, 44, 199, 54, 127, 135, 216, 191, 191, 75, 185, 42, 8, 63, 232, 108, 33, 78, 79, 255, 197, 146, 21, 17, 210, 19, 39, 61, 188, 141, 239, 69, 11, 44, 223, 121, 49, 160, 77, 213, 186, 207, 60, 133, 34, 197, 30, 51, 116, 187, 98, 201, 168, 216, 30, 252, 89, 0, 218, 32, 216},
+{119, 253, 158, 28, 73, 51, 228, 150, 61, 206, 112, 147, 186, 208, 185, 78, 158, 79, 179, 0, 95, 127, 66, 99, 101, 142, 25, 244, 9, 31, 222, 133, 150, 178, 164, 89, 188, 126, 221, 130, 56, 142, 186, 46, 203, 176, 159, 172, 203, 202, 107, 176, 181, 11, 81, 1, 226, 213, 13, 33, 12, 61, 52, 24, 240, 121, 97, 206, 175, 199, 162, 105, 39, 174, 155, 195, 213, 163, 29, 105, 147, 134, 219, 189, 115, 91, 2, 103, 160, 152, 6, 16, 71, 117, 218, 187, 254, 144, 134, 50, 10, 7, 184, 34, 111, 100, 39, 59, 25, 174, 183, 26, 251, 48, 168, 103, 43, 88, 226, 109, 21, 4, 45, 183, 148, 66, 70, 238},
+{132, 216, 84, 171, 205, 178, 233, 52, 46, 243, 90, 197, 72, 29, 181, 50, 228, 41, 222, 209, 54, 79, 178, 35, 79, 223, 112, 241, 74, 91, 206, 32, 81, 73, 247, 50, 68, 218, 39, 154, 97, 139, 139, 83, 18, 33, 198, 78, 253, 211, 71, 97, 227, 89, 190, 60, 17, 148, 254, 127, 193, 174, 202, 176, 67, 215, 64, 131, 255, 200, 24, 103, 125, 6, 190, 155, 152, 251, 67, 94, 52, 10, 251, 52, 180, 209, 172, 160, 153, 59, 170, 63, 23, 82, 17, 243, 134, 239, 111, 25, 102, 168, 212, 32, 124, 51, 100, 227, 64, 230, 214, 240, 237, 224, 46, 104, 153, 176, 3, 65, 4, 137, 234, 171, 87, 118, 171, 33},
+{42, 40, 117, 99, 169, 91, 62, 154, 103, 202, 236, 135, 146, 195, 229, 64, 156, 220, 58, 32, 123, 141, 98, 209, 165, 25, 171, 105, 40, 0, 165, 168, 193, 156, 180, 97, 29, 87, 171, 1, 127, 185, 71, 68, 168, 101, 73, 102, 254, 142, 47, 116, 142, 221, 176, 174, 185, 150, 43, 114, 130, 54, 222, 54, 213, 27, 20, 68, 51, 19, 29, 155, 208, 20, 11, 3, 85, 222, 30, 187, 189, 23, 228, 69, 244, 248, 202, 252, 6, 195, 128, 44, 235, 64, 78, 149, 154, 80, 202, 122, 91, 254, 148, 176, 111, 254, 97, 255, 159, 126, 9, 188, 4, 119, 6, 132, 1, 51, 156, 60, 42, 46, 203, 254, 188, 195, 135, 66},
+{52, 222, 200, 93, 25, 224, 67, 140, 151, 191, 245, 141, 114, 194, 243, 94, 187, 69, 158, 75, 124, 62, 50, 65, 136, 155, 65, 155, 145, 36, 10, 158, 197, 170, 32, 233, 84, 142, 160, 46, 219, 49, 52, 7, 93, 152, 30, 188, 241, 223, 188, 130, 186, 20, 18, 172, 160, 206, 107, 159, 52, 52, 198, 224, 21, 154, 250, 4, 176, 115, 30, 194, 37, 242, 143, 218, 26, 13, 25, 41, 121, 39, 61, 113, 86, 153, 20, 16, 182, 51, 70, 19, 102, 88, 142, 13, 100, 52, 83, 61, 252, 67, 99, 22, 22, 203, 89, 61, 223, 161, 87, 103, 29, 169, 48, 89, 22, 133, 106, 4, 200, 238, 197, 56, 46, 45, 145, 111},
+{184, 11, 203, 158, 37, 203, 111, 210, 240, 183, 222, 63, 74, 37, 92, 158, 117, 168, 17, 152, 199, 228, 251, 159, 0, 252, 107, 246, 192, 206, 152, 62, 213, 185, 120, 105, 127, 15, 168, 115, 219, 151, 34, 86, 120, 184, 32, 25, 177, 23, 136, 19, 189, 106, 180, 48, 43, 32, 137, 57, 106, 167, 76, 31, 231, 24, 80, 151, 164, 131, 164, 187, 233, 185, 84, 61, 228, 196, 218, 215, 122, 62, 215, 198, 138, 114, 189, 85, 141, 211, 166, 245, 230, 74, 236, 124, 53, 184, 146, 97, 228, 149, 7, 205, 142, 213, 2, 68, 70, 231, 173, 185, 149, 36, 182, 148, 211, 72, 71, 8, 250, 31, 22, 45, 245, 154, 244, 40},
+{90, 57, 223, 193, 224, 139, 210, 60, 36, 59, 98, 209, 82, 223, 189, 35, 141, 217, 192, 214, 215, 200, 93, 112, 252, 0, 141, 35, 216, 50, 57, 225, 200, 104, 166, 184, 86, 235, 96, 240, 217, 143, 251, 145, 5, 31, 133, 199, 210, 19, 129, 195, 41, 238, 195, 166, 226, 176, 57, 9, 108, 129, 140, 176, 54, 174, 44, 238, 164, 100, 209, 55, 21, 49, 202, 23, 240, 126, 230, 49, 199, 182, 233, 24, 224, 241, 48, 152, 159, 116, 218, 216, 100, 201, 252, 215, 104, 220, 75, 147, 253, 144, 1, 117, 135, 244, 76, 134, 205, 250, 191, 115, 98, 211, 224, 253, 255, 176, 178, 10, 133, 72, 14, 25, 203, 109, 14, 163},
+{23, 153, 38, 175, 23, 29, 161, 58, 72, 204, 181, 151, 255, 226, 141, 104, 121, 235, 16, 2, 180, 150, 217, 28, 181, 80, 62, 240, 131, 216, 16, 4, 22, 56, 84, 203, 58, 250, 217, 65, 72, 138, 162, 211, 149, 65, 34, 76, 177, 232, 34, 45, 248, 8, 222, 10, 5, 126, 109, 2, 69, 129, 168, 27, 107, 115, 93, 205, 49, 255, 193, 196, 77, 237, 30, 193, 174, 55, 241, 178, 118, 150, 203, 152, 100, 23, 8, 152, 33, 190, 93, 183, 242, 171, 136, 52, 124, 82, 24, 49, 98, 217, 203, 41, 28, 206, 209, 230, 197, 218, 103, 13, 55, 48, 164, 188, 202, 164, 52, 20, 109, 106, 174, 64, 97, 6, 26, 165},
+{36, 92, 2, 81, 34, 11, 114, 107, 49, 156, 185, 65, 157, 8, 128, 112, 85, 209, 232, 98, 106, 22, 166, 31, 122, 167, 232, 27, 158, 82, 76, 14, 46, 202, 50, 200, 14, 10, 173, 151, 220, 126, 62, 52, 163, 36, 100, 124, 200, 229, 37, 27, 168, 118, 9, 189, 51, 28, 76, 235, 172, 89, 241, 190, 150, 190, 223, 156, 120, 169, 218, 31, 81, 156, 206, 73, 64, 162, 219, 146, 255, 227, 253, 251, 104, 61, 184, 39, 69, 32, 97, 218, 103, 162, 220, 116, 202, 68, 185, 160, 193, 149, 98, 138, 141, 99, 42, 216, 68, 244, 191, 235, 148, 157, 187, 125, 121, 45, 34, 91, 101, 178, 133, 17, 128, 219, 230, 170},
+{120, 111, 95, 25, 233, 208, 137, 16, 144, 87, 59, 233, 47, 173, 148, 204, 36, 108, 139, 11, 6, 50, 241, 6, 145, 147, 147, 223, 48, 182, 166, 122, 219, 13, 87, 65, 164, 118, 155, 87, 126, 31, 191, 198, 108, 204, 152, 51, 36, 27, 23, 104, 70, 222, 7, 68, 51, 62, 127, 178, 248, 70, 58, 133, 167, 97, 71, 82, 5, 149, 208, 237, 176, 171, 43, 161, 30, 204, 246, 214, 16, 252, 131, 248, 219, 53, 96, 37, 41, 85, 249, 229, 231, 140, 193, 94, 91, 61, 229, 6, 237, 243, 22, 67, 27, 40, 214, 147, 39, 147, 192, 166, 196, 254, 169, 87, 159, 235, 251, 77, 107, 24, 99, 130, 37, 102, 227, 169},
+{28, 115, 33, 205, 235, 57, 93, 235, 40, 95, 3, 248, 225, 147, 246, 136, 93, 126, 168, 85, 255, 92, 123, 19, 10, 37, 189, 255, 147, 239, 190, 24, 158, 193, 157, 41, 198, 107, 50, 73, 120, 189, 110, 164, 229, 82, 53, 107, 161, 218, 176, 144, 107, 35, 85, 245, 74, 85, 240, 136, 11, 56, 34, 135, 14, 138, 104, 93, 6, 246, 162, 76, 12, 120, 170, 86, 93, 238, 108, 99, 116, 113, 206, 65, 25, 214, 49, 217, 175, 51, 202, 66, 27, 82, 251, 176, 178, 168, 72, 217, 202, 162, 152, 208, 110, 116, 176, 174, 59, 172, 11, 87, 141, 221, 160, 44, 5, 98, 152, 50, 199, 153, 32, 142, 229, 132, 179, 124},
+{127, 251, 85, 168, 67, 92, 223, 117, 41, 7, 231, 248, 16, 133, 157, 204, 230, 21, 206, 99, 150, 177, 94, 124, 246, 73, 228, 244, 231, 134, 248, 167, 151, 50, 103, 185, 224, 96, 65, 105, 232, 92, 200, 159, 157, 195, 60, 146, 206, 157, 141, 18, 68, 154, 255, 61, 166, 105, 235, 165, 224, 162, 34, 217, 179, 180, 38, 118, 233, 249, 151, 102, 244, 147, 99, 207, 209, 149, 46, 108, 127, 229, 16, 125, 13, 218, 237, 1, 221, 67, 77, 246, 96, 45, 134, 101, 65, 205, 39, 36, 106, 192, 61, 204, 43, 50, 68, 166, 21, 77, 46, 253, 240, 27, 97, 58, 227, 81, 173, 219, 236, 238, 157, 233, 36, 163, 215, 169},
+{41, 129, 136, 167, 128, 22, 187, 188, 148, 187, 71, 32, 197, 217, 86, 98, 18, 126, 170, 167, 188, 49, 2, 65, 86, 173, 0, 161, 97, 195, 209, 128, 169, 129, 75, 45, 192, 149, 196, 41, 181, 99, 217, 8, 47, 18, 210, 230, 88, 243, 90, 186, 197, 57, 225, 249, 127, 124, 27, 146, 179, 8, 251, 92, 185, 220, 167, 11, 144, 147, 195, 2, 246, 240, 153, 135, 195, 207, 166, 74, 42, 245, 53, 19, 210, 170, 70, 106, 109, 243, 197, 204, 134, 94, 164, 67, 42, 122, 82, 227, 197, 68, 53, 213, 244, 232, 104, 254, 192, 193, 234, 67, 91, 143, 150, 179, 78, 145, 119, 10, 41, 235, 110, 63, 209, 64, 171, 38},
+{2, 196, 12, 108, 91, 242, 206, 168, 57, 207, 238, 44, 11, 212, 144, 164, 111, 185, 5, 12, 67, 47, 70, 85, 246, 124, 146, 227, 86, 218, 244, 99, 30, 119, 43, 207, 52, 213, 209, 101, 48, 226, 119, 206, 41, 250, 179, 68, 113, 217, 118, 151, 126, 134, 227, 52, 149, 52, 141, 96, 218, 154, 115, 254, 144, 235, 63, 4, 182, 59, 92, 133, 112, 245, 231, 244, 178, 100, 102, 129, 146, 41, 31, 77, 62, 1, 239, 21, 18, 197, 17, 100, 98, 89, 218, 140, 101, 145, 65, 230, 209, 75, 149, 58, 95, 153, 74, 63, 171, 61, 133, 150, 12, 153, 247, 123, 180, 207, 189, 133, 98, 255, 248, 61, 167, 122, 58, 234},
+{40, 78, 152, 204, 97, 72, 5, 70, 43, 168, 24, 237, 194, 245, 110, 233, 52, 159, 87, 45, 69, 64, 9, 246, 64, 37, 96, 111, 116, 145, 236, 29, 47, 104, 17, 129, 223, 138, 107, 248, 188, 229, 215, 246, 129, 111, 39, 164, 174, 25, 16, 11, 94, 103, 211, 107, 96, 131, 110, 151, 239, 171, 25, 48, 151, 233, 97, 3, 18, 148, 37, 238, 92, 2, 53, 0, 120, 191, 150, 8, 224, 236, 145, 109, 230, 150, 61, 37, 154, 36, 47, 142, 10, 206, 69, 92, 4, 167, 152, 81, 153, 3, 248, 197, 214, 63, 55, 143, 218, 122, 146, 102, 154, 170, 38, 146, 205, 232, 3, 153, 4, 238, 134, 74, 203, 158, 175, 42},
+{3, 75, 250, 248, 135, 180, 94, 58, 136, 36, 202, 249, 12, 223, 194, 192, 217, 107, 251, 139, 216, 222, 29, 129, 50, 119, 161, 79, 141, 149, 40, 104, 68, 149, 91, 42, 84, 111, 58, 244, 82, 197, 249, 219, 103, 27, 24, 150, 76, 223, 122, 51, 136, 136, 243, 122, 7, 98, 54, 134, 26, 138, 166, 46, 89, 182, 15, 195, 46, 43, 249, 61, 206, 101, 118, 82, 61, 251, 247, 186, 58, 106, 74, 17, 56, 68, 68, 100, 203, 184, 149, 86, 187, 86, 125, 10, 71, 18, 194, 49, 199, 194, 114, 10, 70, 179, 231, 175, 108, 119, 29, 9, 119, 34, 73, 1, 34, 196, 204, 63, 32, 76, 59, 156, 3, 6, 0, 140},
+{18, 18, 127, 213, 40, 12, 14, 75, 138, 119, 134, 241, 147, 242, 161, 27, 21, 12, 162, 167, 6, 208, 57, 174, 224, 212, 180, 119, 255, 22, 114, 210, 67, 255, 230, 206, 165, 71, 225, 211, 20, 20, 235, 112, 51, 21, 233, 176, 70, 11, 197, 177, 37, 36, 186, 98, 132, 174, 10, 4, 149, 240, 187, 107, 207, 159, 84, 55, 13, 114, 34, 192, 69, 71, 122, 194, 172, 38, 104, 179, 214, 78, 16, 3, 124, 194, 158, 104, 35, 84, 36, 253, 124, 121, 151, 201, 148, 251, 154, 209, 152, 88, 60, 5, 204, 233, 134, 142, 155, 217, 202, 197, 93, 141, 26, 26, 187, 243, 106, 181, 86, 27, 20, 106, 42, 140, 20, 200},
+{49, 51, 98, 159, 32, 137, 29, 198, 132, 218, 67, 153, 185, 114, 220, 148, 201, 33, 223, 68, 118, 174, 97, 130, 38, 181, 137, 18, 23, 75, 33, 198, 209, 212, 118, 234, 59, 108, 224, 104, 251, 228, 88, 68, 54, 118, 41, 4, 55, 64, 201, 46, 184, 15, 218, 247, 202, 181, 196, 0, 156, 244, 81, 136, 35, 243, 23, 24, 32, 109, 195, 245, 104, 169, 63, 63, 132, 108, 83, 164, 13, 103, 40, 23, 29, 178, 64, 230, 226, 161, 12, 86, 78, 190, 184, 49, 40, 235, 25, 58, 182, 153, 243, 154, 48, 162, 121, 14, 154, 235, 9, 91, 91, 10, 72, 123, 201, 51, 168, 7, 253, 129, 205, 112, 105, 252, 239, 124},
+{154, 67, 59, 223, 71, 149, 185, 65, 248, 22, 85, 46, 55, 24, 20, 151, 186, 29, 8, 195, 142, 101, 155, 177, 134, 11, 109, 246, 225, 150, 243, 245, 137, 113, 109, 206, 86, 166, 121, 252, 146, 93, 85, 95, 155, 207, 246, 1, 233, 108, 219, 40, 50, 55, 232, 245, 248, 147, 196, 181, 43, 5, 71, 212, 170, 100, 122, 7, 117, 71, 228, 91, 47, 22, 203, 248, 5, 222, 142, 43, 15, 78, 243, 205, 118, 232, 41, 187, 22, 222, 19, 198, 124, 66, 1, 80, 181, 16, 233, 236, 99, 235, 49, 4, 116, 97, 112, 181, 251, 239, 99, 112, 9, 72, 150, 126, 182, 105, 242, 211, 141, 127, 6, 214, 32, 17, 108, 63},
+{136, 8, 254, 39, 65, 234, 121, 95, 165, 154, 176, 160, 196, 84, 84, 146, 78, 182, 123, 137, 5, 54, 155, 119, 96, 209, 19, 84, 129, 224, 191, 138, 79, 101, 248, 108, 34, 129, 96, 73, 91, 184, 255, 111, 119, 183, 86, 173, 177, 74, 254, 24, 129, 34, 200, 199, 24, 187, 103, 71, 11, 40, 55, 175, 160, 59, 169, 95, 69, 15, 37, 3, 9, 185, 235, 19, 169, 177, 92, 104, 111, 219, 252, 238, 218, 146, 212, 68, 193, 55, 227, 86, 179, 34, 221, 63, 59, 153, 80, 217, 45, 82, 45, 105, 216, 48, 75, 178, 183, 187, 199, 217, 102, 150, 207, 121, 66, 83, 126, 209, 168, 230, 203, 41, 81, 178, 216, 156},
+{74, 94, 20, 212, 97, 91, 6, 172, 223, 35, 130, 213, 130, 25, 138, 221, 149, 159, 252, 97, 41, 91, 75, 194, 65, 166, 193, 23, 12, 63, 63, 188, 210, 131, 127, 248, 126, 6, 57, 253, 76, 159, 229, 98, 238, 118, 76, 40, 53, 189, 70, 68, 8, 65, 123, 181, 212, 245, 247, 219, 182, 89, 59, 218, 51, 112, 254, 140, 110, 226, 200, 142, 5, 253, 106, 185, 11, 105, 107, 222, 182, 78, 37, 220, 146, 56, 76, 188, 235, 56, 80, 59, 59, 40, 140, 247, 215, 199, 238, 61, 119, 126, 14, 164, 98, 96, 96, 30, 125, 43, 200, 243, 156, 130, 114, 171, 145, 205, 160, 55, 112, 33, 205, 215, 49, 248, 52, 228},
+{126, 233, 70, 26, 216, 139, 25, 65, 62, 92, 167, 126, 4, 110, 180, 217, 123, 120, 155, 186, 175, 60, 163, 143, 237, 45, 37, 40, 8, 241, 114, 245, 171, 84, 37, 13, 45, 211, 2, 17, 133, 1, 153, 154, 100, 166, 28, 117, 180, 203, 0, 133, 253, 13, 175, 85, 2, 153, 93, 213, 28, 205, 92, 87, 158, 98, 133, 148, 168, 150, 55, 209, 74, 0, 58, 67, 37, 153, 127, 71, 145, 120, 69, 68, 255, 74, 189, 118, 159, 130, 253, 155, 88, 129, 255, 213, 38, 139, 16, 64, 250, 182, 33, 43, 226, 123, 14, 168, 175, 99, 219, 34, 192, 64, 120, 122, 180, 216, 169, 188, 195, 231, 208, 244, 206, 33, 1, 223},
+{37, 20, 174, 233, 185, 43, 185, 104, 154, 110, 247, 241, 76, 19, 27, 98, 41, 176, 178, 49, 215, 62, 176, 149, 96, 239, 95, 17, 223, 255, 88, 203, 148, 11, 104, 41, 224, 145, 205, 74, 140, 112, 213, 164, 232, 45, 155, 162, 137, 151, 227, 124, 198, 210, 176, 13, 210, 26, 104, 184, 231, 174, 202, 188, 161, 100, 90, 197, 153, 128, 237, 190, 24, 146, 247, 6, 27, 114, 47, 19, 144, 202, 33, 135, 224, 166, 109, 5, 183, 28, 203, 57, 45, 73, 144, 75, 235, 146, 56, 30, 1, 144, 83, 183, 40, 180, 162, 213, 34, 157, 12, 227, 25, 174, 185, 184, 29, 39, 145, 152, 85, 248, 219, 236, 31, 60, 108, 32},
+{60, 196, 242, 123, 49, 1, 193, 123, 128, 42, 51, 5, 23, 199, 52, 91, 224, 183, 165, 96, 199, 175, 219, 155, 228, 65, 71, 189, 69, 143, 149, 214, 196, 243, 161, 195, 116, 153, 112, 122, 188, 50, 232, 208, 21, 76, 141, 191, 220, 139, 125, 246, 2, 167, 24, 80, 70, 244, 14, 232, 183, 208, 180, 202, 33, 194, 56, 234, 146, 21, 182, 162, 44, 108, 203, 72, 21, 232, 255, 95, 115, 249, 149, 236, 96, 69, 43, 75, 81, 11, 9, 164, 56, 170, 18, 101, 206, 119, 130, 108, 95, 136, 171, 62, 246, 87, 124, 78, 182, 222, 164, 20, 130, 130, 200, 235, 21, 94, 195, 137, 83, 53, 167, 110, 34, 2, 211, 13},
+{3, 87, 217, 51, 42, 24, 142, 31, 168, 91, 15, 98, 67, 43, 56, 77, 203, 129, 185, 9, 226, 74, 146, 17, 211, 35, 2, 173, 49, 229, 226, 44, 233, 0, 65, 179, 7, 193, 192, 102, 163, 7, 81, 101, 112, 148, 40, 77, 142, 222, 21, 227, 106, 48, 58, 43, 241, 51, 48, 186, 0, 76, 87, 148, 136, 88, 211, 91, 173, 158, 203, 153, 46, 246, 177, 58, 177, 246, 104, 85, 200, 152, 66, 139, 222, 52, 79, 191, 125, 153, 182, 246, 137, 207, 125, 242, 50, 140, 28, 13, 136, 61, 92, 72, 110, 69, 152, 225, 200, 136, 67, 207, 104, 60, 45, 153, 109, 106, 155, 11, 40, 11, 75, 165, 97, 92, 197, 127},
+{41, 159, 156, 123, 144, 167, 6, 123, 85, 246, 116, 139, 92, 99, 230, 101, 68, 17, 204, 240, 114, 237, 51, 79, 124, 218, 17, 254, 149, 151, 66, 199, 75, 201, 239, 251, 26, 219, 243, 8, 11, 152, 143, 99, 39, 221, 105, 125, 121, 204, 37, 36, 212, 146, 159, 87, 7, 132, 241, 58, 141, 123, 49, 243, 7, 135, 97, 90, 29, 158, 228, 141, 61, 74, 27, 226, 227, 203, 20, 248, 169, 199, 176, 12, 161, 149, 47, 8, 242, 170, 24, 7, 164, 221, 5, 65, 210, 191, 98, 172, 212, 30, 183, 9, 37, 122, 122, 167, 140, 28, 7, 219, 152, 130, 84, 197, 203, 144, 182, 61, 2, 5, 214, 40, 24, 147, 178, 80},
+{33, 251, 234, 68, 160, 52, 108, 82, 32, 73, 109, 50, 171, 224, 103, 95, 192, 143, 65, 66, 4, 215, 82, 18, 92, 31, 104, 30, 176, 229, 231, 149, 195, 248, 54, 56, 14, 181, 200, 90, 187, 81, 99, 185, 136, 131, 34, 65, 76, 182, 16, 210, 196, 122, 144, 14, 130, 251, 122, 155, 109, 151, 151, 102, 168, 195, 204, 233, 37, 221, 209, 246, 143, 193, 218, 193, 16, 146, 193, 104, 198, 54, 32, 87, 155, 78, 98, 10, 190, 146, 181, 250, 109, 9, 1, 232, 254, 30, 99, 229, 4, 6, 73, 84, 161, 141, 164, 67, 121, 65, 211, 247, 48, 240, 15, 144, 46, 101, 5, 0, 48, 232, 99, 71, 212, 96, 233, 45},
+{26, 254, 41, 59, 29, 253, 57, 43, 159, 106, 46, 253, 141, 15, 112, 78, 165, 19, 17, 87, 12, 243, 164, 70, 146, 34, 22, 242, 13, 119, 123, 178, 97, 109, 16, 88, 80, 21, 228, 2, 218, 22, 24, 237, 0, 224, 30, 41, 211, 163, 227, 135, 114, 141, 253, 156, 19, 15, 237, 33, 206, 196, 155, 70, 175, 227, 50, 143, 68, 130, 160, 108, 50, 248, 244, 255, 106, 17, 40, 61, 13, 228, 23, 148, 157, 32, 117, 221, 229, 189, 103, 102, 150, 4, 174, 234, 60, 70, 95, 0, 103, 202, 206, 58, 206, 103, 229, 175, 101, 189, 190, 4, 209, 24, 198, 193, 32, 165, 30, 206, 238, 209, 245, 237, 58, 107, 150, 135},
+{194, 243, 244, 22, 195, 183, 29, 128, 59, 113, 12, 106, 220, 219, 199, 98, 97, 101, 153, 255, 236, 6, 77, 39, 21, 10, 223, 187, 218, 38, 133, 214, 69, 158, 13, 89, 204, 243, 227, 16, 56, 150, 199, 114, 196, 227, 19, 48, 224, 36, 186, 114, 81, 60, 125, 225, 197, 167, 129, 95, 187, 71, 115, 30, 196, 138, 142, 34, 230, 141, 10, 40, 189, 18, 89, 22, 215, 207, 73, 122, 76, 216, 222, 197, 154, 68, 242, 53, 147, 154, 52, 89, 14, 232, 29, 188, 29, 207, 199, 248, 193, 55, 49, 79, 44, 13, 229, 181, 217, 92, 14, 101, 178, 114, 110, 34, 231, 178, 150, 60, 44, 221, 7, 75, 185, 167, 167, 0},
+{91, 62, 9, 82, 123, 125, 20, 216, 26, 152, 192, 3, 201, 1, 199, 249, 215, 18, 44, 111, 20, 12, 106, 246, 77, 200, 246, 218, 122, 147, 26, 159, 32, 234, 105, 27, 19, 143, 3, 60, 151, 141, 75, 25, 28, 174, 174, 36, 145, 208, 110, 170, 142, 129, 199, 194, 137, 113, 107, 220, 163, 250, 114, 110, 131, 142, 20, 236, 221, 103, 53, 122, 129, 205, 27, 64, 163, 84, 199, 126, 78, 98, 32, 252, 51, 189, 212, 136, 178, 79, 87, 74, 79, 254, 91, 229, 116, 145, 11, 254, 177, 143, 180, 205, 162, 23, 60, 4, 207, 187, 243, 163, 90, 202, 64, 76, 111, 153, 182, 239, 110, 65, 172, 236, 42, 191, 144, 23},
+{95, 166, 168, 89, 1, 211, 235, 56, 41, 13, 154, 176, 226, 156, 118, 30, 152, 29, 38, 229, 71, 58, 57, 172, 120, 204, 191, 130, 192, 36, 247, 148, 21, 232, 85, 159, 254, 24, 73, 96, 50, 212, 40, 179, 216, 211, 211, 103, 29, 64, 209, 169, 178, 166, 239, 220, 164, 150, 87, 161, 6, 103, 90, 80, 27, 219, 169, 196, 6, 189, 149, 195, 219, 46, 112, 72, 249, 28, 188, 237, 1, 146, 193, 104, 177, 106, 110, 89, 87, 139, 100, 2, 109, 104, 95, 77, 36, 69, 244, 147, 49, 73, 14, 98, 197, 67, 174, 189, 177, 101, 239, 114, 239, 13, 146, 90, 22, 31, 45, 132, 255, 64, 195, 192, 188, 243, 187, 52},
+{73, 232, 76, 136, 246, 205, 63, 242, 63, 206, 166, 214, 30, 248, 36, 34, 62, 124, 131, 95, 184, 231, 199, 233, 33, 226, 17, 76, 144, 233, 194, 214, 36, 210, 250, 255, 53, 72, 52, 125, 144, 187, 38, 195, 66, 26, 95, 252, 194, 151, 39, 159, 160, 210, 33, 59, 154, 177, 120, 135, 34, 40, 187, 207, 92, 83, 127, 135, 49, 209, 231, 151, 129, 84, 227, 194, 31, 69, 9, 116, 161, 101, 115, 158, 0, 221, 194, 225, 115, 186, 97, 85, 14, 242, 125, 23, 222, 25, 245, 213, 119, 211, 124, 73, 37, 173, 229, 106, 110, 47, 39, 17, 252, 147, 231, 136, 22, 48, 67, 46, 88, 246, 255, 65, 86, 196, 154, 63},
+{112, 46, 165, 126, 48, 53, 131, 83, 74, 46, 166, 168, 43, 21, 111, 88, 76, 98, 179, 117, 41, 204, 170, 253, 69, 149, 146, 174, 55, 78, 217, 200, 170, 231, 250, 206, 53, 61, 225, 101, 26, 62, 230, 68, 128, 9, 169, 174, 183, 99, 198, 105, 237, 21, 79, 113, 191, 48, 241, 251, 131, 15, 93, 82, 0, 173, 108, 99, 38, 173, 198, 131, 25, 130, 19, 143, 244, 210, 111, 63, 215, 64, 182, 238, 229, 220, 238, 174, 162, 183, 195, 78, 186, 249, 14, 119, 12, 241, 123, 80, 203, 181, 176, 37, 15, 10, 81, 101, 161, 143, 179, 42, 230, 149, 192, 98, 172, 241, 242, 144, 191, 195, 94, 224, 93, 196, 100, 112},
+{43, 166, 0, 215, 194, 106, 55, 62, 231, 67, 18, 220, 152, 205, 129, 72, 45, 229, 124, 99, 38, 173, 76, 204, 105, 253, 21, 120, 236, 92, 26, 39, 19, 79, 59, 101, 62, 117, 39, 98, 93, 78, 133, 42, 238, 246, 115, 194, 168, 150, 128, 95, 198, 140, 144, 88, 108, 202, 39, 31, 151, 250, 254, 237, 29, 4, 61, 34, 3, 119, 248, 2, 12, 5, 49, 216, 59, 120, 224, 84, 132, 45, 102, 178, 47, 6, 166, 12, 4, 142, 239, 198, 68, 205, 55, 1, 55, 237, 113, 83, 106, 19, 112, 41, 97, 132, 223, 42, 251, 116, 213, 90, 155, 106, 35, 242, 101, 222, 56, 55, 94, 138, 239, 175, 229, 220, 211, 233},
+{86, 55, 225, 189, 74, 174, 248, 82, 1, 248, 0, 206, 13, 133, 114, 235, 112, 84, 194, 174, 144, 177, 101, 99, 254, 129, 221, 204, 236, 193, 134, 6, 217, 52, 205, 59, 78, 118, 81, 3, 18, 108, 223, 109, 56, 179, 220, 121, 216, 115, 83, 145, 187, 28, 101, 60, 51, 215, 73, 55, 213, 129, 22, 99, 50, 213, 201, 108, 108, 163, 42, 60, 159, 233, 113, 215, 146, 220, 81, 203, 51, 90, 179, 250, 99, 144, 81, 230, 152, 38, 43, 98, 78, 69, 4, 160, 249, 108, 145, 236, 82, 13, 125, 91, 180, 7, 134, 169, 176, 195, 150, 118, 141, 109, 60, 157, 70, 192, 96, 85, 56, 165, 69, 29, 45, 219, 112, 82},
+{160, 131, 146, 159, 65, 118, 7, 36, 70, 154, 104, 220, 212, 197, 31, 135, 201, 171, 70, 251, 115, 98, 182, 134, 173, 175, 199, 94, 234, 199, 204, 246, 35, 26, 11, 228, 201, 217, 65, 211, 246, 2, 151, 43, 138, 242, 53, 108, 189, 121, 65, 31, 93, 74, 134, 103, 146, 243, 134, 246, 62, 16, 191, 123, 148, 35, 60, 26, 228, 253, 15, 18, 233, 199, 63, 57, 57, 35, 218, 193, 117, 224, 44, 122, 198, 169, 198, 166, 82, 162, 130, 239, 229, 200, 25, 232, 93, 147, 204, 57, 68, 141, 169, 175, 96, 175, 207, 75, 21, 212, 28, 19, 25, 176, 34, 81, 74, 39, 89, 95, 110, 55, 60, 9, 198, 62, 108, 134},
+{108, 112, 191, 235, 128, 6, 130, 85, 65, 229, 73, 49, 86, 29, 218, 145, 184, 139, 96, 25, 254, 142, 38, 106, 16, 11, 254, 24, 5, 40, 35, 72, 38, 191, 47, 24, 255, 179, 106, 57, 241, 12, 12, 129, 63, 188, 236, 156, 105, 17, 88, 30, 164, 165, 221, 40, 58, 98, 20, 191, 56, 105, 22, 246, 126, 71, 48, 76, 190, 198, 111, 56, 243, 162, 37, 175, 111, 175, 22, 121, 54, 194, 94, 237, 106, 75, 232, 63, 22, 164, 113, 111, 1, 183, 132, 96, 204, 140, 119, 55, 232, 51, 120, 222, 6, 16, 5, 202, 241, 239, 61, 174, 63, 25, 76, 211, 125, 38, 105, 196, 144, 75, 35, 58, 153, 193, 38, 7},
+{72, 67, 129, 250, 11, 190, 80, 220, 61, 31, 38, 171, 119, 230, 50, 88, 78, 88, 39, 71, 68, 160, 245, 127, 145, 238, 3, 187, 37, 21, 118, 207, 190, 155, 103, 81, 204, 138, 153, 201, 98, 83, 159, 90, 102, 159, 26, 23, 13, 131, 65, 241, 33, 151, 82, 146, 92, 196, 134, 139, 48, 131, 23, 77, 203, 54, 189, 241, 146, 52, 24, 174, 78, 178, 247, 74, 184, 85, 176, 179, 68, 229, 2, 215, 4, 232, 36, 238, 253, 23, 10, 212, 80, 37, 64, 195, 82, 219, 57, 66, 156, 125, 158, 35, 87, 94, 2, 196, 76, 187, 234, 117, 30, 49, 74, 2, 25, 45, 40, 192, 208, 132, 148, 76, 55, 196, 143, 178},
+{41, 141, 227, 154, 76, 172, 232, 194, 234, 224, 151, 131, 130, 206, 216, 217, 226, 174, 103, 136, 85, 64, 94, 122, 108, 92, 83, 36, 154, 237, 73, 234, 19, 25, 41, 20, 19, 160, 8, 29, 53, 141, 8, 186, 178, 101, 54, 30, 166, 201, 83, 110, 124, 107, 120, 221, 158, 71, 145, 52, 7, 251, 82, 83, 209, 11, 80, 185, 174, 41, 245, 39, 176, 212, 166, 117, 123, 56, 30, 173, 232, 36, 191, 54, 26, 182, 240, 234, 38, 221, 24, 164, 181, 13, 209, 10, 48, 217, 112, 83, 13, 239, 92, 171, 7, 16, 23, 91, 176, 245, 223, 206, 234, 125, 177, 245, 200, 222, 144, 152, 184, 24, 55, 121, 204, 224, 156, 158},
+{54, 172, 64, 137, 27, 214, 73, 64, 240, 185, 255, 187, 80, 40, 112, 188, 172, 77, 54, 122, 196, 178, 228, 171, 182, 60, 214, 41, 153, 243, 24, 91, 121, 130, 207, 239, 251, 129, 236, 171, 114, 65, 168, 231, 254, 149, 145, 21, 165, 165, 80, 120, 201, 45, 17, 56, 65, 116, 152, 116, 121, 200, 139, 63, 68, 99, 153, 118, 92, 142, 81, 186, 200, 25, 200, 9, 230, 245, 250, 4, 96, 205, 123, 214, 242, 71, 183, 129, 39, 23, 123, 223, 76, 179, 178, 95, 185, 179, 207, 127, 235, 186, 172, 215, 76, 250, 18, 26, 193, 56, 38, 230, 243, 246, 9, 130, 151, 26, 212, 210, 56, 27, 211, 139, 76, 23, 214, 251},
+{33, 50, 21, 19, 79, 34, 90, 145, 208, 166, 160, 129, 200, 158, 50, 56, 118, 110, 231, 197, 214, 16, 207, 76, 252, 218, 69, 246, 1, 90, 2, 15, 10, 170, 77, 200, 181, 27, 141, 116, 26, 211, 102, 121, 147, 112, 17, 62, 247, 37, 105, 138, 123, 4, 22, 252, 54, 184, 59, 100, 103, 82, 240, 229, 114, 209, 159, 104, 151, 254, 231, 226, 103, 6, 189, 184, 200, 18, 40, 57, 25, 52, 48, 107, 11, 91, 142, 149, 237, 10, 93, 80, 6, 247, 174, 69, 131, 112, 77, 88, 134, 20, 159, 3, 254, 33, 8, 30, 167, 82, 254, 23, 250, 51, 199, 108, 75, 201, 88, 247, 195, 94, 97, 128, 91, 1, 63, 144},
+{182, 115, 88, 183, 0, 241, 161, 98, 235, 43, 224, 204, 170, 4, 192, 98, 113, 114, 182, 118, 13, 163, 191, 107, 207, 172, 189, 199, 41, 105, 69, 246, 6, 223, 94, 86, 102, 142, 255, 58, 84, 205, 22, 47, 248, 87, 78, 98, 253, 171, 38, 228, 33, 126, 189, 101, 141, 89, 143, 191, 92, 196, 0, 124, 50, 23, 36, 3, 43, 253, 213, 117, 73, 121, 217, 109, 9, 240, 19, 17, 18, 251, 162, 169, 6, 50, 144, 193, 239, 19, 103, 215, 150, 190, 14, 226, 10, 10, 203, 119, 122, 149, 175, 137, 19, 126, 143, 112, 152, 208, 11, 62, 188, 59, 80, 168, 121, 189, 27, 33, 97, 125, 25, 229, 15, 156, 151, 119},
+{198, 182, 140, 233, 157, 177, 150, 53, 5, 130, 250, 199, 171, 11, 41, 205, 39, 232, 96, 36, 57, 34, 189, 54, 47, 114, 182, 12, 150, 175, 232, 162, 115, 73, 17, 255, 132, 109, 117, 194, 101, 124, 103, 31, 148, 195, 151, 21, 77, 216, 22, 139, 222, 194, 184, 41, 64, 2, 74, 232, 208, 108, 169, 91, 201, 127, 1, 197, 20, 14, 245, 98, 172, 16, 155, 23, 222, 160, 3, 235, 74, 104, 152, 204, 85, 124, 127, 143, 25, 132, 199, 79, 241, 24, 117, 57, 29, 245, 93, 175, 45, 153, 116, 188, 226, 58, 103, 87, 105, 133, 164, 217, 64, 100, 46, 239, 175, 87, 174, 122, 1, 76, 82, 245, 82, 142, 110, 140},
+{84, 226, 121, 152, 44, 130, 9, 171, 249, 64, 148, 37, 6, 14, 183, 74, 169, 137, 51, 92, 99, 26, 131, 175, 138, 49, 14, 44, 178, 87, 7, 140, 129, 39, 80, 253, 27, 128, 77, 86, 25, 195, 86, 119, 13, 201, 128, 197, 16, 15, 107, 93, 207, 62, 74, 205, 22, 77, 41, 185, 166, 6, 157, 77, 29, 227, 47, 53, 213, 2, 187, 174, 152, 107, 216, 57, 24, 101, 186, 186, 147, 104, 41, 110, 234, 141, 229, 42, 206, 253, 198, 34, 65, 27, 228, 67, 206, 115, 38, 29, 201, 166, 193, 22, 129, 153, 158, 100, 190, 167, 158, 58, 78, 76, 89, 31, 102, 64, 25, 112, 164, 132, 131, 231, 75, 117, 34, 198},
+{150, 17, 193, 90, 203, 154, 234, 234, 246, 132, 173, 45, 55, 91, 118, 35, 190, 30, 182, 184, 46, 38, 28, 85, 202, 70, 182, 30, 170, 92, 91, 157, 172, 123, 190, 151, 195, 3, 109, 125, 92, 9, 209, 39, 127, 26, 79, 233, 205, 143, 176, 79, 168, 1, 54, 50, 12, 135, 96, 97, 243, 169, 232, 74, 40, 95, 215, 63, 16, 160, 31, 182, 55, 184, 153, 122, 255, 179, 173, 88, 182, 71, 153, 237, 248, 219, 41, 186, 245, 137, 75, 227, 65, 10, 130, 235, 152, 17, 77, 133, 116, 245, 11, 40, 68, 2, 163, 156, 196, 78, 46, 136, 192, 74, 181, 224, 47, 172, 204, 29, 33, 244, 212, 99, 87, 244, 44, 170},
+{15, 158, 38, 247, 87, 11, 97, 165, 202, 106, 150, 113, 148, 171, 163, 28, 195, 84, 78, 183, 50, 231, 122, 50, 146, 127, 20, 174, 150, 102, 215, 105, 156, 41, 151, 178, 78, 12, 152, 188, 242, 46, 36, 100, 189, 136, 89, 81, 99, 55, 141, 57, 143, 26, 243, 221, 211, 250, 105, 108, 195, 120, 245, 159, 2, 184, 55, 15, 186, 217, 85, 64, 219, 214, 165, 51, 217, 100, 243, 88, 93, 25, 239, 113, 3, 28, 30, 62, 110, 65, 211, 144, 158, 210, 124, 174, 2, 97, 251, 167, 25, 182, 135, 219, 5, 12, 7, 208, 120, 206, 93, 54, 169, 95, 78, 19, 46, 249, 170, 101, 135, 250, 41, 228, 105, 101, 143, 131},
+{1, 79, 156, 99, 86, 156, 211, 92, 177, 234, 46, 194, 191, 40, 248, 50, 78, 225, 79, 34, 26, 78, 142, 117, 84, 246, 58, 230, 103, 156, 198, 181, 10, 44, 105, 72, 204, 7, 188, 35, 210, 77, 144, 49, 213, 220, 2, 86, 32, 26, 254, 70, 84, 82, 168, 230, 254, 26, 192, 238, 195, 23, 124, 136, 102, 120, 239, 254, 173, 115, 180, 247, 230, 9, 79, 156, 177, 42, 178, 191, 108, 131, 233, 215, 230, 14, 154, 208, 227, 67, 246, 244, 85, 85, 64, 163, 187, 245, 247, 84, 171, 142, 100, 126, 248, 173, 246, 14, 229, 251, 100, 115, 67, 44, 67, 35, 239, 207, 58, 124, 58, 148, 164, 120, 143, 168, 176, 173},
+{114, 86, 142, 177, 194, 201, 139, 196, 62, 31, 162, 178, 175, 112, 145, 67, 10, 117, 189, 182, 249, 211, 216, 58, 158, 150, 170, 145, 186, 238, 17, 0, 13, 126, 90, 218, 205, 116, 111, 161, 7, 63, 47, 112, 161, 32, 158, 216, 238, 80, 10, 225, 170, 7, 251, 198, 20, 78, 79, 15, 162, 77, 244, 250, 177, 47, 32, 239, 63, 233, 136, 220, 110, 184, 235, 161, 123, 77, 43, 225, 123, 232, 22, 204, 152, 142, 82, 212, 73, 103, 88, 207, 248, 144, 156, 32, 190, 42, 75, 11, 82, 226, 181, 115, 66, 132, 54, 244, 16, 26, 106, 162, 235, 37, 161, 35, 45, 102, 90, 111, 205, 124, 181, 1, 174, 53, 96, 72},
+{27, 43, 215, 219, 221, 151, 13, 2, 253, 254, 242, 163, 200, 188, 226, 13, 143, 109, 31, 120, 12, 135, 195, 203, 46, 191, 115, 226, 209, 172, 150, 116, 71, 66, 94, 109, 64, 154, 135, 242, 7, 136, 45, 86, 241, 194, 54, 231, 27, 117, 119, 220, 48, 87, 42, 63, 226, 185, 179, 2, 212, 165, 215, 77, 119, 147, 183, 114, 132, 153, 89, 178, 74, 76, 146, 66, 109, 247, 94, 74, 229, 255, 227, 152, 90, 15, 139, 156, 189, 226, 245, 52, 1, 248, 202, 191, 142, 187, 93, 13, 140, 9, 44, 103, 190, 176, 243, 126, 146, 94, 60, 244, 14, 161, 84, 23, 211, 171, 254, 47, 204, 80, 89, 1, 115, 131, 197, 13},
+{125, 51, 208, 112, 136, 245, 203, 14, 63, 84, 145, 149, 77, 10, 40, 64, 92, 37, 104, 103, 161, 195, 204, 65, 40, 127, 79, 8, 122, 93, 126, 226, 199, 8, 214, 97, 51, 89, 162, 97, 51, 5, 210, 102, 246, 207, 168, 169, 15, 254, 54, 127, 138, 14, 255, 122, 103, 40, 219, 1, 131, 22, 19, 54, 240, 177, 168, 27, 24, 29, 245, 170, 124, 148, 210, 199, 253, 153, 251, 11, 11, 174, 219, 126, 10, 207, 157, 53, 26, 244, 223, 241, 105, 207, 127, 203, 215, 6, 236, 102, 195, 129, 79, 170, 217, 241, 112, 214, 247, 71, 178, 223, 212, 201, 50, 179, 2, 92, 233, 231, 62, 167, 44, 236, 62, 125, 23, 245},
+{99, 105, 163, 184, 142, 218, 173, 195, 117, 238, 74, 202, 144, 162, 215, 5, 33, 128, 119, 146, 41, 104, 31, 160, 1, 72, 10, 167, 99, 234, 88, 168, 68, 53, 76, 116, 136, 32, 21, 206, 75, 201, 45, 151, 194, 225, 72, 33, 238, 175, 97, 118, 40, 162, 250, 110, 122, 193, 91, 207, 250, 45, 106, 155, 45, 142, 179, 141, 115, 5, 37, 81, 57, 170, 118, 128, 164, 20, 63, 237, 0, 226, 223, 169, 93, 75, 203, 167, 15, 221, 175, 110, 155, 47, 235, 75, 239, 203, 180, 208, 83, 148, 77, 57, 31, 198, 160, 199, 223, 199, 124, 175, 28, 172, 162, 210, 34, 21, 209, 144, 231, 97, 139, 208, 173, 13, 98, 162},
+{186, 187, 148, 111, 24, 98, 203, 207, 239, 155, 81, 253, 141, 167, 228, 185, 166, 212, 149, 154, 174, 253, 40, 216, 143, 226, 88, 140, 69, 143, 34, 56, 192, 23, 53, 215, 131, 155, 72, 80, 20, 67, 110, 86, 9, 23, 138, 66, 172, 17, 82, 46, 231, 71, 67, 76, 158, 132, 215, 172, 189, 30, 102, 98, 245, 221, 179, 246, 50, 194, 240, 183, 229, 223, 166, 124, 23, 76, 99, 211, 170, 137, 39, 0, 112, 98, 135, 218, 237, 30, 157, 78, 212, 180, 116, 34, 68, 200, 212, 36, 223, 51, 243, 78, 220, 165, 140, 112, 255, 225, 115, 21, 54, 72, 194, 94, 252, 125, 211, 160, 216, 218, 37, 64, 65, 113, 103, 95}
diff --git a/tests/testcases/test_file b/tests/testcases/test_file
new file mode 100644 (file)
index 0000000..9322cf1
Binary files /dev/null and b/tests/testcases/test_file differ
diff --git a/tests/testcases/test_file.rsa1024_sha1.sig b/tests/testcases/test_file.rsa1024_sha1.sig
new file mode 100644 (file)
index 0000000..7c1e9ef
Binary files /dev/null and b/tests/testcases/test_file.rsa1024_sha1.sig differ
diff --git a/tests/testcases/test_file.rsa1024_sha256.sig b/tests/testcases/test_file.rsa1024_sha256.sig
new file mode 100644 (file)
index 0000000..112eb89
--- /dev/null
@@ -0,0 +1,3 @@
+$ü¾ª\8eâv\ fUmÃ-ÔUq ÁXøho\18ÃÛ"e/°rc\15\93ô){e\97ÑT,\ 5î\Õ
+\9a;\99oÄC\1c\15è¯ô¼xá$\9a\17E&í\7f¡{É?a>\9e£`¸<Ø^ý\8b\8cE\80Ë
+VÆR\10\1cù!\99б\15À®Â\8fê³FVã³»~N\97÷Ò\13\10µö\10\8dU SQ\9b\9d+
\ No newline at end of file
diff --git a/tests/testcases/test_file.rsa1024_sha512.sig b/tests/testcases/test_file.rsa1024_sha512.sig
new file mode 100644 (file)
index 0000000..1bb708d
--- /dev/null
@@ -0,0 +1 @@
+R\89\ 2Q&öY\1fôV>1\11Å\13ê\ 4àJl\1crhMü\915\16\85l\8d\7föxØ=IF WãÐ\91\vøÙK\1dæ'\13\18°#L)~\15;b¥üµ½\ e&\ fA\8bï\91\7f\ 6\ 2ê\1aN§¼\ 3\1f\87ródz\8c\15ÁTɬۤòeú÷X\ e¤øêÌO6\8b\ 4·\99Ñ\8asVôÖ\9do!b·³
\ No newline at end of file
diff --git a/tests/testcases/test_file.rsa2048_exp3_sha1.sig b/tests/testcases/test_file.rsa2048_exp3_sha1.sig
new file mode 100644 (file)
index 0000000..75cd3ba
Binary files /dev/null and b/tests/testcases/test_file.rsa2048_exp3_sha1.sig differ
diff --git a/tests/testcases/test_file.rsa2048_exp3_sha256.sig b/tests/testcases/test_file.rsa2048_exp3_sha256.sig
new file mode 100644 (file)
index 0000000..1192c8e
--- /dev/null
@@ -0,0 +1,2 @@
+Û »_ñ#Ù\8c%:ê¥a¨\vol\11\81ÂlnLN¨\84A¤UÊ©u4y\fÑ·_é\b\8102ú\15ÛmÔ©Ê*aÿ¶.Ъ\82\ fÒÉøçõ§aÎÝ-¸ÂÍf@\16\a+\89é"×ýù+|+»Y\ ex¡H4¸ðê~\ 5ÒÆ\9bVWÄ<vO5:\90\96óùç@8\80ébp'äXzé\12\1dLóÈLñ©Qß÷èýÙ4
+J¡©Õ\ 2É~\ 56º ÙiËQ\83¢C9]SìÖa qOn\88Ü\1f³l\14Úî_x-iÉën\83uy¤z\ 4Ñ\a¶Ki2|xä½ùÔ\82ÉÏý\12¹I\19Vgº\96·=Âݬ»~ÉØGΰ\8e^Ü u¤\837\8f\bT\13\95È\98 =Kk,à%¹¥*\85ÐË
\ No newline at end of file
diff --git a/tests/testcases/test_file.rsa2048_exp3_sha512.sig b/tests/testcases/test_file.rsa2048_exp3_sha512.sig
new file mode 100644 (file)
index 0000000..155474a
Binary files /dev/null and b/tests/testcases/test_file.rsa2048_exp3_sha512.sig differ
diff --git a/tests/testcases/test_file.rsa2048_sha1.sig b/tests/testcases/test_file.rsa2048_sha1.sig
new file mode 100644 (file)
index 0000000..846e6c2
--- /dev/null
@@ -0,0 +1 @@
+D\19\95J\ 5\8dyô@įD\8c\913´×)Ì·Ò¡A\12 \9c\90Q(3\87È\80u<Úæq/\8f\94\1aèU#\88;Z?Ñ%s\89è«v»\9b\a\96Â\97bßÅ ]ùJyN,\8bÑ[\95Æò³öèÒ\11êë\91õõN\fÙ\81?Ìx\19\18þ\a\14«m\87Ú\85Gj9\88{$1af\18Í5¢w*w\8c\\13'\81y"³G3Ê\8dgÝê\9cR\87\99H¥I%˨\vs!{e\9d\17½\11õÉÆ\14CÈ ãéC\19[JÑ\15¾\9aÀå>g\ fÃà¨-\81LÄQ÷3Ë\a\11<ëßtUù\88\94û\96G)\95\7f×Su®¥7À¤\ 2\8b\86:$\e\97G{   ï\19î?\eµµÔ\e|\8b\12 ªÁ²\17d\16Xmâ\14åûH\v
\ No newline at end of file
diff --git a/tests/testcases/test_file.rsa2048_sha256.sig b/tests/testcases/test_file.rsa2048_sha256.sig
new file mode 100644 (file)
index 0000000..59efe89
--- /dev/null
@@ -0,0 +1,2 @@
+{Úû<ôªN³CÓ\94Iöö\117\ 2Ì\a\801{[]ë7\94\8exÌA:*°b\b¢N¹Æî¹\99º¨ãm3¡\1fÞ\bzùl\94ÆÙ\96#Wù\1d\8bK\a§H×\88\87\ 26^\82\91\9dw\8a\7fp\1e$h\99eMõ.HÓf¢ÒÖÁJt\97\8b|;à<\15ʪ«\17 y¶\ 6\92Ñî       ½h.}/\96øú\95#S\9de+\81:Á)3ìÔÀ%j)\10ØZâÏb©\89"Ïç#i\1a\9cØ
+%z\93/\ee@Û@_\85\10)M\8dƶJ\81¡\vÑ\94Ä\97\99\7fX\9b\8b>JÛ*H°+Õhu:a¼\9dÁÍ\86;ÂíßF$É\ 2ñ#²wD Wø7\1d­æ \8fO«/\ 1¼'\9eêô|Uç/q\9dBEÑ\9b=4®\ fQ
\ No newline at end of file
diff --git a/tests/testcases/test_file.rsa2048_sha512.sig b/tests/testcases/test_file.rsa2048_sha512.sig
new file mode 100644 (file)
index 0000000..a87d4b8
Binary files /dev/null and b/tests/testcases/test_file.rsa2048_sha512.sig differ
diff --git a/tests/testcases/test_file.rsa3072_exp3_sha1.sig b/tests/testcases/test_file.rsa3072_exp3_sha1.sig
new file mode 100644 (file)
index 0000000..caac8e9
--- /dev/null
@@ -0,0 +1,3 @@
+Fù\f\9a\83bd\ 6É\ 3m=È%±Ò\9f>/£ñmÞºzÏJ\8b\8fÕå\8fÂ\1d\vQ\825¸ÊJq\eþ%Ó£O_ô^DrÝIgY;Iª{\r{M\84\9c²\9aÔ\9b_ÑY0Ãs½îOø¬ßG÷\ fú@Í«ö Û\9cí®ûI\8fÊ\87¶ê?\83»{Y\93\1a½Cû\ f»\9c#±ê\8d\ f×ë\\9c¬¤¢õ\15 n\80í¢\ 5\1a².bÒ©vå»\8e\1d8\r\86í\904@d7ªU4\10\9eð\90\82Ò\ f\18³·\9aq@F\ 6ÊϦ,à\85\84YuÃï¯ñzüT \f¨B      ÿÞÔ\vàߦùöõÇ`~ØÈ\8cu³qý´\99óà¥{[¢\v\90Ðÿ^\82
+pVïüªQW3îe\rª ÙãÞ§\90\9dý8\892\84¨xZISn¬JV\83\80\1ad÷%\ 2§\eìó\9eöp\85QÝô+\b<íÍ\fDë+\9c ÙØ\b\ 6\91\9f.\Ö¾Ò\89\11\84k\17\1e$\ 2\87mS\84\8b\18_\91ÄH/ï§\94Ä:¹C
+J<%½È\r­îÿ\9aÕ½²ò"X?Y³þup_é\8cJ\81\10³SX5p\ 3k+>­À+mA¿¡í\91Ë\8d\r@ß   
\ No newline at end of file
diff --git a/tests/testcases/test_file.rsa3072_exp3_sha256.sig b/tests/testcases/test_file.rsa3072_exp3_sha256.sig
new file mode 100644 (file)
index 0000000..67bb39f
--- /dev/null
@@ -0,0 +1,4 @@
+\82Ä>È´5/\88Т/÷(\ 1\8c\fO¢\\9d\e\1f4\1fî1~Þ\bÊvBGK
\ 3\1c\92\92\87\9bM
\80B\91¡'ñÑz²¡\84rjf\1fQ1Á9ÔºQ¼Ò¾æYF|ÓddU\8aJ\12fÚ4ºÀénQGªa]¶Ù*/j\875/ªÑ\98L\87AwU:£qU3¢\ f+o\ 6\1e,¦Ë./åiç\ f_IÓ\ 3µ\19ÍAø&¶\ 25ØÕ\8e\84ü>JZ#6`\1fõ®|8WíÔÏ]\15×û\81Þ\11\ 5ké½m\15l\82ØPà¼<\99\83µëO\8b\90xØH4*\94Ì$\8cA(éj\eÀ¦ÊÊ\9d9íÄvª>\9e@M²8EîÁ/J~HEË\ 1yÆPÕ\85&myw\ 2\ 5#\83%ñä\8aÒKÏúçñ\1eîq¯\9f÷\8cÈbwÕ\fm\1c <JVû]\ 6  ö\15À´!¨e\9c7\83\ 5é-h\1et\e\99N4\14#)\%º¼Fñ\ 3Þ:³\10.Su
\88._\8aéõ\ 3½ós@ØûSã+q\1e\8f\8db§a\8d5\9aî\17\89<ò¦ÛYu\87\f\9b\9c2%\ f|÷·Û\80£ëàÏúð"ný|\8d 90ÇÇ\v\94´2NÜ
\ No newline at end of file
diff --git a/tests/testcases/test_file.rsa3072_exp3_sha512.sig b/tests/testcases/test_file.rsa3072_exp3_sha512.sig
new file mode 100644 (file)
index 0000000..8156757
Binary files /dev/null and b/tests/testcases/test_file.rsa3072_exp3_sha512.sig differ
diff --git a/tests/testcases/test_file.rsa4096_sha1.sig b/tests/testcases/test_file.rsa4096_sha1.sig
new file mode 100644 (file)
index 0000000..bb4ba6f
--- /dev/null
@@ -0,0 +1 @@
+.\90az:bÁ8"\ 1²sá®[fÂ\\ 2AEÄ\92BOØ\99¿ÖõQ"ó\98¢\rc-R        /\8fIWøå<ù.I·dªÎsÆ#mõ\ 5D\91Gi\e\8dÏ\9e~\89xm&\8a¾ö®Å\19cØÐ:ðæú"\8b\14\92\9f¬À\93Ä\8fÂT\91\1c\89\85Ü3:Az\8e\ 6\ 6\86¥O­\89ó\ 6((ØÎTÖ\89¬"\ 4íð|»M\bpnGàïí¦\1aêJ0;\9a\8cWø_¦\8e\94ÄÑ\86\9d\8b?«z=@7ÝHªSÔ~\12¯\84±\1d\1a\9cÇ̪W\1d¾Òß\83&Qº\1e\94ð3à*\827!Ü»fmnä£HN6¡F\10¹Ä\98\9b¨~á%\9e\ 2ÀéÃ\ 4º°/cALhm\95\1f\19×\19ø¶\98ÀwîÐ4k\8e\98,Élò e§-lG÷à\1fQ\11\16b,\9b\15DíÄüg5ÍO\1dÓ`â°În¸ìFr=w\84Öex¹WÒäåëOè¾­\94q#\96\ 1n\85y¿L#xüsÒ\ f!½ãã\17 ¡Är\92Ü\11\s\8f\85\13Â\ 6@A]\bIRN\85\9f0iýê2¿îÜ"8&¶\9f¥|ý\11\13§$ËÌÉ$ð¾ã\8bí\99     ÙÊPVÔ*\b% Þ&\9a\89Zi#ýi»úqI n\ 4c\15fb i§ãàTí°j:\8c«½2³²Ù\9fI\18Sa m\12\90\ 1¼\93¥\rW£ìÌ\9b¤ûã\ f«\ 4 \a¸6µÕoª0ÿI\9f¡öJ\93\e·.\e¿p\80)\99\ f!d\8c\ f#p\9b\81\12\8e\17Ö\11¯ï7ü,\9fG\85ÙûZ³,\99ܤÀ
\ No newline at end of file
diff --git a/tests/testcases/test_file.rsa4096_sha256.sig b/tests/testcases/test_file.rsa4096_sha256.sig
new file mode 100644 (file)
index 0000000..7648d00
Binary files /dev/null and b/tests/testcases/test_file.rsa4096_sha256.sig differ
diff --git a/tests/testcases/test_file.rsa4096_sha512.sig b/tests/testcases/test_file.rsa4096_sha512.sig
new file mode 100644 (file)
index 0000000..3a091d7
Binary files /dev/null and b/tests/testcases/test_file.rsa4096_sha512.sig differ
diff --git a/tests/testcases/test_file.rsa8192_sha1.sig b/tests/testcases/test_file.rsa8192_sha1.sig
new file mode 100644 (file)
index 0000000..43a79b8
Binary files /dev/null and b/tests/testcases/test_file.rsa8192_sha1.sig differ
diff --git a/tests/testcases/test_file.rsa8192_sha256.sig b/tests/testcases/test_file.rsa8192_sha256.sig
new file mode 100644 (file)
index 0000000..3ab00ae
Binary files /dev/null and b/tests/testcases/test_file.rsa8192_sha256.sig differ
diff --git a/tests/testcases/test_file.rsa8192_sha512.sig b/tests/testcases/test_file.rsa8192_sha512.sig
new file mode 100644 (file)
index 0000000..389a2e4
Binary files /dev/null and b/tests/testcases/test_file.rsa8192_sha512.sig differ
diff --git a/tests/testcases/test_file.sha1.digest b/tests/testcases/test_file.sha1.digest
new file mode 100644 (file)
index 0000000..64a8a13
--- /dev/null
@@ -0,0 +1 @@
+»¼\ 3(Ç\\1a\ 4»ñm\80%~l8K!Jo
\ No newline at end of file
diff --git a/tests/testcases/test_file.sha256.digest b/tests/testcases/test_file.sha256.digest
new file mode 100644 (file)
index 0000000..1a6f871
--- /dev/null
@@ -0,0 +1 @@
+@Åû\8eê\ e\fßGw<«8Å\10!\81G3iå¦S\83hZT\9fÎa³½
\ No newline at end of file
diff --git a/tests/testcases/test_file.sha512.digest b/tests/testcases/test_file.sha512.digest
new file mode 100644 (file)
index 0000000..b518ed7
--- /dev/null
@@ -0,0 +1 @@
+\1e\ 4ÎÁ®\97\8b\89k+ÜZ%YuÕ ´\f\1eó´\9bl`Û\96¥4ÚH\96\1aû,Ä\95\80*\ 6\9c\95\f¬1üYr\ eôåÓÝô4jWrB\92
\ No newline at end of file
diff --git a/tests/testdata/datakey_digest.bin b/tests/testdata/datakey_digest.bin
new file mode 100644 (file)
index 0000000..23f1322
--- /dev/null
@@ -0,0 +1 @@
+\ 5w\8f\1e\1eÆ\ 6\10˳ßc»ø\7fجî&\8cQ\10ÇiýÛV\8e\92\10
\ No newline at end of file
diff --git a/tests/testdata/sp-rw.bin b/tests/testdata/sp-rw.bin
new file mode 100644 (file)
index 0000000..df31026
--- /dev/null
@@ -0,0 +1 @@
+This is a pretend sp-rw.bin image.
diff --git a/tests/testkeys/datakey.crt b/tests/testkeys/datakey.crt
new file mode 100644 (file)
index 0000000..fad23f4
--- /dev/null
@@ -0,0 +1,26 @@
+-----BEGIN CERTIFICATE-----
+MIIEWzCCAsOgAwIBAgIJAKOPQrNCNRSqMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTUxMTIzMjA1MTI4WhcNMTUxMjIzMjA1MTI4WjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBoDANBgkqhkiG9w0BAQEFAAOCAY0AMIIB
+iAKCAYEA1/JAfpirBAFZdm+m6AcX5QQt7vWDV6OAN4T5nWxAtedRb0XLeV9ICJJI
+4CwxWKhvM4pe8pUwwldjoIHIs7viDjBnFVO6+41Gwdsp54AO9qpd//izjarwrOFq
+QcZIn7KVOaYxTlMWlfIDOS3K0rr2adBuR/Yq4Nj61XevNsxRelojDLAQeamRia8t
+hB3vR1LHQJlMT7R8VXy3AOHx+YcYKUFCgf5A7J+pdAaOIgkFKuakZZNDC+7D0Ykq
+jPHadHKzT1SCJxILD/YkCUCOn5bdh7oQekCnhJgf3bwPRDaGEsJL3nnxhc8hx3tI
+7DHwKmz9naz63S41Zqd+VvWam7Jttyb6lQjj7Y8TauXGAL3vEiI/u0iiVyw6b3c3
+77/W4RWuRIiMAn6FAkUY6oxKB+67ZA1PoRLfiIxFGot1KEpTeLzdsyYx7fB1Scj+
+DDzx3EaHQAz12E4anTozljvdAPMoZ6i9Dar3eZvA0KFsM5sdNy0Hp96PBeBNiw1O
+XZYUrYgVAgEDo1AwTjAdBgNVHQ4EFgQUiwtVmJWqyIBZWV1xvn7iMbLeE30wHwYD
+VR0jBBgwFoAUiwtVmJWqyIBZWV1xvn7iMbLeE30wDAYDVR0TBAUwAwEB/zANBgkq
+hkiG9w0BAQsFAAOCAYEAJXgsYoQ7QDNf1GF0bQQKnSqIKMssecD8x66rrJQr1Yon
+biJeUfN9N/pAca7CI/vjeTC1w6BlXEbUDNNwLKQYVfTOBdmbW1qDANMUP05PaiAG
+cZHVKMZZrR/5+z+LWG157cP7HzHPGfw78LopVXUDZmd5fRD2d7MnqYCrswp/dORM
+brHTwzpPhH75uNQmq6w2RowjrntDnKhGT0tSY57/OI+Gke3ch3XPPg3juhREaVUm
+4ZXSCwajKmPBju+7adT46gY/LjAYv/rAEiUN5YHOBVHxHdoMOIqsf6VfPVc8USpg
+5fsV7NWGNSuvpiA7xBIBKai3dZl8nztFHvjn7z4x6XrqQ1KTMBvnGONHAHopeUtj
+a3WPd3GpBmLMpSfDWtcaSSuwOAgZro6vGqcHN4FybKASbtS0RynPRL42DBbLiarn
+nA0hhR1YR03Kqc6hexrsg7zrjcNL6b8dzu6o+VxD30ecj68D7IliORtouJahvk5/
+F8MyzvHvAa+K7Hb/IcJv
+-----END CERTIFICATE-----
diff --git a/tests/testkeys/datakey.keyb b/tests/testkeys/datakey.keyb
new file mode 100644 (file)
index 0000000..33ed4ac
Binary files /dev/null and b/tests/testkeys/datakey.keyb differ
diff --git a/tests/testkeys/datakey.pem b/tests/testkeys/datakey.pem
new file mode 100644 (file)
index 0000000..2a8885e
--- /dev/null
@@ -0,0 +1,39 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIG4wIBAAKCAYEA1/JAfpirBAFZdm+m6AcX5QQt7vWDV6OAN4T5nWxAtedRb0XL
+eV9ICJJI4CwxWKhvM4pe8pUwwldjoIHIs7viDjBnFVO6+41Gwdsp54AO9qpd//iz
+jarwrOFqQcZIn7KVOaYxTlMWlfIDOS3K0rr2adBuR/Yq4Nj61XevNsxRelojDLAQ
+eamRia8thB3vR1LHQJlMT7R8VXy3AOHx+YcYKUFCgf5A7J+pdAaOIgkFKuakZZND
+C+7D0YkqjPHadHKzT1SCJxILD/YkCUCOn5bdh7oQekCnhJgf3bwPRDaGEsJL3nnx
+hc8hx3tI7DHwKmz9naz63S41Zqd+VvWam7Jttyb6lQjj7Y8TauXGAL3vEiI/u0ii
+Vyw6b3c377/W4RWuRIiMAn6FAkUY6oxKB+67ZA1PoRLfiIxFGot1KEpTeLzdsyYx
+7fB1Scj+DDzx3EaHQAz12E4anTozljvdAPMoZ6i9Dar3eZvA0KFsM5sdNy0Hp96P
+BeBNiw1OXZYUrYgVAgEDAoIBgQCP9tWpuxytVjukSm9FWg/uAslJ+QI6bQAlA1ET
+nYB5ROD02TJQ6jAFtttAHXY7GvTNBun3DiCBj5fAVoXNJ+wJdZoON9H9CNnWkhvv
+qrSkcZP/+yJecfXIlkbWhDBqdw4mbsuJjLm5TAImHoc3J07xNZ7apByV5fyOT8ok
+iDZRkWyzIAr7xmEGdMkCvp+E4dorEN2KeFLjqHoAlqFRBLrGK4Gr/tXzFRuirwls
+BgNx7xhDt4IH9IKLsMcIoTxNocul86msFzeUDFXM/ruLFa34DBtT935WhGn+18+/
+bYA+qM4GoC8N/4sSQtENQ8bX21aUHRs1MIOa82rJEmkCWW+Tgw8kYSSi8gVmd7Ly
+QFp4XN17ReaIZZKBYJt/3XamcV2tcapxwqBNiGOLPQM4wnnuinkiZD7rXf1u/NFV
+rHiVFu1+ORZaTX34+Vq9/wdj18E3cm1ghQsN3BQNzCE1qtulDcs5w2O1iZlP29wq
+mtgeU7YHK7CzqNuUiPJWJardCWsCgcEA8VAXoPMSAJByCk3l92eDTOe8n5IMZ307
+qXpGMlSUT+SctpgVdoN9iV+7bUQE636Hn37E5czANNpERIoVjFJRm0ioYW/9jOEN
+B8zPnvwtLN1vVD1u5XNlumDGWGU1bQCdjgA07DtCM0S5xfhWOACCUJ4l4TDE3DAz
+eNfnaXXP8UNfpL6gaWb/xZZwwTesS+hcX8zw14Gzn/GHkyGEtSMA+lezI5C37bzk
+ao2pWr+W26HeDPwdG/38gBQceUujidJ9AoHBAOUW7AP8JbFTMUt0j1eO1UbAKty7
+XZtURTX+EXK9sWTgeh3xlXpMU6K3U+sIQPsldCACjSeYr8lgGeTP54vZ9L6Zu30H
+L2xC/kllafZhOjC5hC4iWaUgePMFiFeOb3prBDJd12ufUlqzydO4bvrKgi2fdAxL
+vEtPFXs4U75RzqfXGdER7/0VOI68hS4GunqaiQ0UYPAE1mh+je5oJntP3fW8WRN1
+KfuQdm5J+JjzQi4NmJAg6NxlB6wrxmMR8NgneQKBwQCg4A/AogwAYEwG3plPmleI
+mn2/trLvqNJw/C7MOGLf7b3PEA5PAlOw6nzzgq3yVFpqVIND3dV4kYLYXA5djDZn
+hcWWSqkIlgiv3d+/UsjIk5+NfknuTO58QIQ67iOeAGkJVXidfNbM2HvZUDl6qwGL
+FBlAyy3oICJQj++bo9/2LOpt1Grw71UuZEsrenLdRZLqiKCPq80VS6+3a63OF1X8
+OndtCyVJKJhHCRuR1Q89FpQIqBNn/qhVYr2mMm0GjFMCgcEAmLnyrVLDy4zLh6MK
+Ol842dVx6HzpEjguI/62TH52Q0BRaUu4/DLibHo38gWAp25NaqxeGmXKhkARQzVF
+B+ajKbvSU1ofnYH+25jxTut8IHutdBbmbhWl91kFj7RKUZytduk6R7+MPHfb4nr0
+pzGsHmpNXYfS3N9jp3rifuE0b+S74Laf/g4ltH2uHq8m/GcGCLhAoAM5mv8JSZrE
+UjU+o9LmDPjGp7WkSYalu0zWyV5ltWtF6ENacsfZl2FLOsT7AoHARP9ZNA7JMYMs
+dbx2l7eLaTtdOeeSE9AxssmzXBsNHWklEx8DTI3MAFcIXPNesqnm++D/T5sXsIy6
+kd3srldHGYHoh1IT5mOO7S8SlKLdYTIlsVIg+I4jpqmHTgk7DWDDpjYzkmJz3A29
+q4HHmNx92SXNZD+mX0GnDdP9XDbT3tbt3ANuR1LoTcI3wAUMTN/NQiF8qj2NHzb1
+CFOpBOJ9cuUgkWcntjqLJ6mUAMcQ8kF7Pyuhn46qDhY5ceVhrPt9
+-----END RSA PRIVATE KEY-----
diff --git a/tests/testkeys/key_rsa1024.crt b/tests/testkeys/key_rsa1024.crt
new file mode 100644 (file)
index 0000000..918885c
--- /dev/null
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICsDCCAhmgAwIBAgIJANBQvWlcbWbnMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTAwOTI5MTgxNjM2WhcNMTAxMDI5MTgxNjM2WjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
+gQCdYBOJIJvGX9vC4E5XD1jb9zJ99FzR4G0n8HNyWy5ZKyy/hi80ibXpy6QdWcm4
+wqTvmVjU+20sP4AgzKC65fKyFvvAHUiD4yGr1qWtg4YFUcBbUiXOCQ66W3AC4g2J
+u9C16AzMpBk043bQsUQvxILEumQqQ1VS33uM7Kq8dWpL6QIDAQABo4GnMIGkMB0G
+A1UdDgQWBBTMzkdGAo5MwUWuboTo3FMDlmN8xTB1BgNVHSMEbjBsgBTMzkdGAo5M
+wUWuboTo3FMDlmN8xaFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUt
+U3RhdGUxITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJANBQvWlc
+bWbnMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAODANXcuEhjcPnBDU
+eyWbw5HAxzCizL/sAnNijC+Ylr/RDb8WxUoqydRW3ueunolgnoXg6MsCqzNYGrgM
+oCvD+pQTT3ffHTIIEmBfBwZ1s1q9N5ostHqiaq/QTknNJxekvELq1T7pOj5NCBVc
+TAQutEJAB7s3AOMNlI3/fkSqIVM=
+-----END CERTIFICATE-----
diff --git a/tests/testkeys/key_rsa1024.keyb b/tests/testkeys/key_rsa1024.keyb
new file mode 100644 (file)
index 0000000..51dcdd2
Binary files /dev/null and b/tests/testkeys/key_rsa1024.keyb differ
diff --git a/tests/testkeys/key_rsa1024.pem b/tests/testkeys/key_rsa1024.pem
new file mode 100644 (file)
index 0000000..7184c98
--- /dev/null
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQCdYBOJIJvGX9vC4E5XD1jb9zJ99FzR4G0n8HNyWy5ZKyy/hi80
+ibXpy6QdWcm4wqTvmVjU+20sP4AgzKC65fKyFvvAHUiD4yGr1qWtg4YFUcBbUiXO
+CQ66W3AC4g2Ju9C16AzMpBk043bQsUQvxILEumQqQ1VS33uM7Kq8dWpL6QIDAQAB
+AoGAb12y1WIu+gWRtWkX5wHkRty6bWmEWbzwYcgFWlJuDQnBg9MICqy8/7Js85w7
+ZLTRFQC2XRmDW0GggRVtVHUu9X2jwkHR9+TWza4xAtYcSwDl6VJTHX2ygptrG/n9
+qPFinfvnpiP7b2WNjC53V3cnjg3m+1B5zrmFxsVLDMVLQhECQQDN7i1NWZFVNfYa
+GT2GSgMpD0nPXA1HHUvFFgnI9xJkBCewHzega+PrrrpMKZZWLpc4YCm3PK9nI8Nk
+EmJE5HwNAkEAw6OpiOgWdRaJWx3+XBsFOhz6K86xwV0NpVb6ocrBKU/t0OqP+gZh
+B/YBDfwXPr2w5FCwozUs/MrBdoYR3WnsTQJABNn/pzrc+azzx1mg4XEM8gKyMnhw
+t6QxDMugH2Pywvh2FuglX1orXHoZWYIBULZ4SZO6Z96+IyfsiocEWasoYQJBALZ/
+onO7BM/+0Oz1osSq1Aps45Yf/0OAmW0mITDyIZR3IkJjvSEf+D3j5wHzqn91lmC1
+QMFOpoO+ZBA7asjfuXUCQGmHgpC0BuD4S1QlcF0nrVHTG7Y8KZ18s9qPJS3csuGf
+or10mrNRF3tyGy8e/sw88a74Q/6v/PgChZHmq6QjOOU=
+-----END RSA PRIVATE KEY-----
diff --git a/tests/testkeys/key_rsa1024.pub.pem b/tests/testkeys/key_rsa1024.pub.pem
new file mode 100644 (file)
index 0000000..85646f4
--- /dev/null
@@ -0,0 +1,6 @@
+-----BEGIN PUBLIC KEY-----
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCdYBOJIJvGX9vC4E5XD1jb9zJ9
+9FzR4G0n8HNyWy5ZKyy/hi80ibXpy6QdWcm4wqTvmVjU+20sP4AgzKC65fKyFvvA
+HUiD4yGr1qWtg4YFUcBbUiXOCQ66W3AC4g2Ju9C16AzMpBk043bQsUQvxILEumQq
+Q1VS33uM7Kq8dWpL6QIDAQAB
+-----END PUBLIC KEY-----
diff --git a/tests/testkeys/key_rsa1024.sha1.vbprivk b/tests/testkeys/key_rsa1024.sha1.vbprivk
new file mode 100644 (file)
index 0000000..76b835a
Binary files /dev/null and b/tests/testkeys/key_rsa1024.sha1.vbprivk differ
diff --git a/tests/testkeys/key_rsa1024.sha1.vbpubk b/tests/testkeys/key_rsa1024.sha1.vbpubk
new file mode 100644 (file)
index 0000000..9fe3956
Binary files /dev/null and b/tests/testkeys/key_rsa1024.sha1.vbpubk differ
diff --git a/tests/testkeys/key_rsa1024.sha256.vbprivk b/tests/testkeys/key_rsa1024.sha256.vbprivk
new file mode 100644 (file)
index 0000000..cdcd2cc
Binary files /dev/null and b/tests/testkeys/key_rsa1024.sha256.vbprivk differ
diff --git a/tests/testkeys/key_rsa1024.sha256.vbpubk b/tests/testkeys/key_rsa1024.sha256.vbpubk
new file mode 100644 (file)
index 0000000..7656569
Binary files /dev/null and b/tests/testkeys/key_rsa1024.sha256.vbpubk differ
diff --git a/tests/testkeys/key_rsa1024.sha512.vbprivk b/tests/testkeys/key_rsa1024.sha512.vbprivk
new file mode 100644 (file)
index 0000000..2fc8346
Binary files /dev/null and b/tests/testkeys/key_rsa1024.sha512.vbprivk differ
diff --git a/tests/testkeys/key_rsa1024.sha512.vbpubk b/tests/testkeys/key_rsa1024.sha512.vbpubk
new file mode 100644 (file)
index 0000000..fe2f1c6
Binary files /dev/null and b/tests/testkeys/key_rsa1024.sha512.vbpubk differ
diff --git a/tests/testkeys/key_rsa2048.crt b/tests/testkeys/key_rsa2048.crt
new file mode 100644 (file)
index 0000000..345c5b0
--- /dev/null
@@ -0,0 +1,22 @@
+-----BEGIN CERTIFICATE-----
+MIIDtTCCAp2gAwIBAgIJALUtT8qFaG3MMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTAwOTI5MTgxNjM3WhcNMTAxMDI5MTgxNjM3WjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAlF3KFZo9kW2YYaUJTce11BYEq9nTsP8E0+e+Tw5JUJ1M45s8UJSzOgKQ
+eSLR3399TSq0WSqsSa8QFvBACv7LmM7CgkgI4mMj2Zl96XJVyZP2+2c6hgvwRuB3
+eG6J5K2sW5YwiIz+5SQcPolp5F6r17tMZzgidgIxrN32VvUZt5VplILTU4h7J9ZN
+aipoG3JdFloxqOqOda5Lksf8CicshGJqSiqgpvdx2zVNX9cjKNpqzEvZrNKPLKDt
+eFzohPqrM7n2g+nKgAbwWLa9zELCRG8h1qfbLOXOjrgVgy/g8t5ixWOrRBrbY5nQ
+Cv7eeKEetH8ru3ZMNtOgeWzOup0Q1QIDAQABo4GnMIGkMB0GA1UdDgQWBBS4iVvg
+Pwj7rvZGFREEB72zhy5ioDB1BgNVHSMEbjBsgBS4iVvgPwj7rvZGFREEB72zhy5i
+oKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
+BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJALUtT8qFaG3MMAwGA1UdEwQF
+MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAEvl4kjYGYjCiUyRjWm6pm18riNHWPd3
+u9RImngeZTj1E0eojD+8ZxI4jUBMHrgFURbcp1jvnZnBBYQfNpq4vM2f88YtEBvA
+oEt09Tj24uGHMIDihY1pnmFnSA9d22Qpca0AwpFj2LRlu4CcdPA/zE/+YBAiTnjW
+Z9pkLggI4w0j35eUgSBUQHdrZKQ7w6iALp37pDBjHVB5tIaRczJhh5DyULWZueEV
+aqtvYyp3uH8BljRXiT2mw5tjITJnb5VsE/fhM6y3V+oIGooTjUGMiUUnn9TAQDli
+FVFopNQfX1TfOaATx9lmnrdr/YzALz2bgjg45Q/IBQ+Q7SvG8YTU03Y=
+-----END CERTIFICATE-----
diff --git a/tests/testkeys/key_rsa2048.keyb b/tests/testkeys/key_rsa2048.keyb
new file mode 100644 (file)
index 0000000..5b9d5d7
Binary files /dev/null and b/tests/testkeys/key_rsa2048.keyb differ
diff --git a/tests/testkeys/key_rsa2048.pem b/tests/testkeys/key_rsa2048.pem
new file mode 100644 (file)
index 0000000..4af56c6
--- /dev/null
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEAlF3KFZo9kW2YYaUJTce11BYEq9nTsP8E0+e+Tw5JUJ1M45s8
+UJSzOgKQeSLR3399TSq0WSqsSa8QFvBACv7LmM7CgkgI4mMj2Zl96XJVyZP2+2c6
+hgvwRuB3eG6J5K2sW5YwiIz+5SQcPolp5F6r17tMZzgidgIxrN32VvUZt5VplILT
+U4h7J9ZNaipoG3JdFloxqOqOda5Lksf8CicshGJqSiqgpvdx2zVNX9cjKNpqzEvZ
+rNKPLKDteFzohPqrM7n2g+nKgAbwWLa9zELCRG8h1qfbLOXOjrgVgy/g8t5ixWOr
+RBrbY5nQCv7eeKEetH8ru3ZMNtOgeWzOup0Q1QIDAQABAoIBAA3SItYaVSvr8qr9
+7bzyIq0MFAlSNFcjmnaG+wJwSUIaNSRqvJahE4UO4hh2tuhD/w8mMECyKfR/O1d3
+r++WRq8Ia7QpM7KrG5bUppcNkJJDl1laB2ifShXAKUDtwyirSQgLGKBPyhrcX0kw
+Ec41R3rENtzSrNsjXy9ESgNVt7yTKUBUGrEOZ5w2fm48eSHZ1MlQQuBVTCR8Pqqg
+VY8KdMgUflOW3J/W4EFA7V7mnb1XA6uTNU9uKCVDV5OKh4PXGbf21JAzwJZxMsK9
+xqhyK+JWpg28T23qBuZyslGKIVGWybNvBWYO3ps4RQpspihBzaFM2Ha39nlcbzyl
+z3iMoIECgYEAw4WP4oPW+GyCjq9/RAdaU9UAER9buRUgrCBchTIhXA3MNOIJRLql
+TRGCfAFqcKR+zupFKZJwuMgtaAWSRUa+dZ2av2VR3LRUSGijScsjCwZjIVmAdSS4
+iVD8bxPbant/6eDgMlvhXCrFahCTZjNLd9CencvvloegIc5pgOMhDrUCgYEAwkI3
+yyYc6id3sklT/TFyy0XAxU74cUAqMZabmGqTzm2PRcyNM43ouHhMmfDayT8YWSSe
+3fNoL+bCEXeRRWyA1HedHhWQjrnNMOSbFtH/n5IkTnfFb8A+LVyHU+axpLrgXjbM
+JiDdV7euhaZ7tyHRsamczQVa9zY6jm5q/79pLaECgYA81ko3CR7SnbDiBOlsmX0Z
+qKUkrsUzicdox4kCSN7obcKkkdCgehMFL/WR8D7WXdi3OV3b2Z0JYf/+5fzlYWXR
+4wBLnZMjQVkYTrbAN1zoCUy/C8JUsOBamcByL5OORm8+rqIUCVLOAuD6Z731hvBs
+j5VLNDGQfRLucfOSDxoyIQKBgCqvpFT2lgn6DDpYFKWhdQkn1blFpiA0qlDlOGGg
+ocQNnRsIXMrEVywZ+zMkkt8AB1inTGWXNAC6o1B1Rq3Lru+BLTxMHszOFUG2KkI0
+eQhWc7Xuaaspwj/zgiU0nzqEegMZ5XhHZnv899OUhsDyJIL2s2b100xZVTqxFsAG
+DpWhAoGAZk7h0YGa8ob01ikrDIyGXXbHkuCC9M+breyiKkZT5+efHqjNMyEerPVg
+gMeBYHvt717zE1pIMnLPUnY1iKgnIPyuvLRVVq1rmjv0xJ/G4GN7/MGQjNknIPmN
+J2abeFe+U5cxfm58j1cryaPgn0mr9yOtMRHain1T6LxcE3PXaXs=
+-----END RSA PRIVATE KEY-----
diff --git a/tests/testkeys/key_rsa2048.pub.pem b/tests/testkeys/key_rsa2048.pub.pem
new file mode 100644 (file)
index 0000000..c45a80c
--- /dev/null
@@ -0,0 +1,9 @@
+-----BEGIN PUBLIC KEY-----
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlF3KFZo9kW2YYaUJTce1
+1BYEq9nTsP8E0+e+Tw5JUJ1M45s8UJSzOgKQeSLR3399TSq0WSqsSa8QFvBACv7L
+mM7CgkgI4mMj2Zl96XJVyZP2+2c6hgvwRuB3eG6J5K2sW5YwiIz+5SQcPolp5F6r
+17tMZzgidgIxrN32VvUZt5VplILTU4h7J9ZNaipoG3JdFloxqOqOda5Lksf8Cics
+hGJqSiqgpvdx2zVNX9cjKNpqzEvZrNKPLKDteFzohPqrM7n2g+nKgAbwWLa9zELC
+RG8h1qfbLOXOjrgVgy/g8t5ixWOrRBrbY5nQCv7eeKEetH8ru3ZMNtOgeWzOup0Q
+1QIDAQAB
+-----END PUBLIC KEY-----
diff --git a/tests/testkeys/key_rsa2048.sha1.vbprivk b/tests/testkeys/key_rsa2048.sha1.vbprivk
new file mode 100644 (file)
index 0000000..fe625b1
Binary files /dev/null and b/tests/testkeys/key_rsa2048.sha1.vbprivk differ
diff --git a/tests/testkeys/key_rsa2048.sha1.vbpubk b/tests/testkeys/key_rsa2048.sha1.vbpubk
new file mode 100644 (file)
index 0000000..b8d5b4c
Binary files /dev/null and b/tests/testkeys/key_rsa2048.sha1.vbpubk differ
diff --git a/tests/testkeys/key_rsa2048.sha256.vbprivk b/tests/testkeys/key_rsa2048.sha256.vbprivk
new file mode 100644 (file)
index 0000000..da6b881
Binary files /dev/null and b/tests/testkeys/key_rsa2048.sha256.vbprivk differ
diff --git a/tests/testkeys/key_rsa2048.sha256.vbpubk b/tests/testkeys/key_rsa2048.sha256.vbpubk
new file mode 100644 (file)
index 0000000..bd53ba1
Binary files /dev/null and b/tests/testkeys/key_rsa2048.sha256.vbpubk differ
diff --git a/tests/testkeys/key_rsa2048.sha512.vbprivk b/tests/testkeys/key_rsa2048.sha512.vbprivk
new file mode 100644 (file)
index 0000000..a6ba819
Binary files /dev/null and b/tests/testkeys/key_rsa2048.sha512.vbprivk differ
diff --git a/tests/testkeys/key_rsa2048.sha512.vbpubk b/tests/testkeys/key_rsa2048.sha512.vbpubk
new file mode 100644 (file)
index 0000000..d9b1054
Binary files /dev/null and b/tests/testkeys/key_rsa2048.sha512.vbpubk differ
diff --git a/tests/testkeys/key_rsa2048_exp3.crt b/tests/testkeys/key_rsa2048_exp3.crt
new file mode 100644 (file)
index 0000000..1c88aea
--- /dev/null
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDWzCCAkOgAwIBAgIJAO+pvxf/+8DVMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTcwMjA3MDgzNTQ5WhcNMTcwMzA5MDgzNTQ5WjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIB
+CAKCAQEA3UvKSmYs87zzCjmpwlSJlOdsoz+7JFekYTbUizUwf+k20mz9d042zL3X
+PFenwKsNwrqS0+iJ+zwLMXmDG5+Jnh/4k1xCpjz9gAoIuTHYSR+nFfvJBocdZhiX
+LAZW1RSbqYaZJn67JR4GgajrmhJkk1nOhY1y4kPqEwuVbWFX5V50ZiDta0iqUyph
+ADb3Z0xBRS6SjRJAtyV2KiR6oi15qnKCD9rxIOtWAUMUjmhZeSpxUS4+iPsEh7j4
+oKlMys7Ty2NXxxo12f6orz0vJn3zcaj2XFgQZNZF56W5N5VjXIiDPNYoNArDICXm
+BhhtAYRh+tGGsUotNKiC4k4hufEvVQIBA6NQME4wHQYDVR0OBBYEFHfxG/+7G+zh
+jH4d8VpC/dnCXTN0MB8GA1UdIwQYMBaAFHfxG/+7G+zhjH4d8VpC/dnCXTN0MAwG
+A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAMJe2ClDV+DeQudWz++yTLUz
+qgn6XHSgPv/jgyWXxEcguh6G4GXuCgEykkJ2l4Zyb9+0QurOa4/cDv1Vu54p60ZF
+OhQyX0YFNTXIXJkuFy2KEClSpQ0yglrFaPzBmpmJY4LMR2Dbxze/f+i94HaeQDFd
+Sze8VyJxnqagBNX6QgxWEhUvIs/OVwkkJ2ZoK7JkhX9gDzxUZ01EvFkoszQNxDgy
+ETFxBf/pbZspKiyOVoWCm4OzKXIAqRqWX1Gg2BFUdxLof6XbD/F96xcsUgZkTBuu
+thBMQrCxGwmbZhwnfoZ0PgcagCdqlLkUUsOJuj4AGDK+4X8Rdzlc5wbjPBAgt9U=
+-----END CERTIFICATE-----
diff --git a/tests/testkeys/key_rsa2048_exp3.keyb b/tests/testkeys/key_rsa2048_exp3.keyb
new file mode 100644 (file)
index 0000000..3f8c564
Binary files /dev/null and b/tests/testkeys/key_rsa2048_exp3.keyb differ
diff --git a/tests/testkeys/key_rsa2048_exp3.pem b/tests/testkeys/key_rsa2048_exp3.pem
new file mode 100644 (file)
index 0000000..ca3127c
--- /dev/null
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA3UvKSmYs87zzCjmpwlSJlOdsoz+7JFekYTbUizUwf+k20mz9
+d042zL3XPFenwKsNwrqS0+iJ+zwLMXmDG5+Jnh/4k1xCpjz9gAoIuTHYSR+nFfvJ
+BocdZhiXLAZW1RSbqYaZJn67JR4GgajrmhJkk1nOhY1y4kPqEwuVbWFX5V50ZiDt
+a0iqUyphADb3Z0xBRS6SjRJAtyV2KiR6oi15qnKCD9rxIOtWAUMUjmhZeSpxUS4+
+iPsEh7j4oKlMys7Ty2NXxxo12f6orz0vJn3zcaj2XFgQZNZF56W5N5VjXIiDPNYo
+NArDICXmBhhtAYRh+tGGsUotNKiC4k4hufEvVQIBAwKCAQEAk4fcMZlzTSiiBtEb
+1uMGY0TzF3/SGDptliSNsiN1qpt54Z3+T4l53dPk0uUagHIJLHxh4psGp31cy6ZX
+Z7+xFBVQYj2BxCipAAawe3aQML/EuVKGBFoTmWW6HVmPOLhnxlm7bv8nbhQEVnCd
+EWGYYjvfA7Oh7C1Gt10OSOuP7j26NRur2gNita/MT2FCKxQ6Dnu2lkTc9I5XkP2+
+v7BhLG/zkwvOcGeXtSbmAXXh5ON/igSe0WZvMKj0ql+f8S7vnevoDOFIeHm7diCO
+Ej0fWavFMAPOZokBzQycSuQ0awrV8gM4xMpahBjwRcC3UMoNLmlvo8kcbkxJ0Sbv
+AcLMMwKBgQD+ZjSJyf6Or48fyOlWG0/do1mpJogoawyOK5mF3Z7O6wVm+DMpXQsE
+ApIZzblMajmZQcvZ/AR+/mDV2s34x6WGFkR7GMIHHoaIuA3Qk6jm/qFdgcAmumHU
+vtrGDX+votDfBeoIb+bWCRjjD3SeEpoNjy/1DYNQmYkRQ0zIJZ9QUwKBgQDesELh
+2kUHkxOOwDu+C14MjBtXhSLM3UNkpQ5WpQYY/MUtuxYSG0Tubvahvn46N5uYwFt2
+UtzewFqzxkvkGWLmSD0AmwZCBsGGxf6Jd3ldbIXxEpI0EKbudTgIub9lGSdjS+dK
+nPRlUOeajgK79btApgNqLhkx9a0C5UbzEa2stwKBgQCpmXhb2/8Jyl9qhfDkEjU+
+bOZwxFrFnLMJcmZZPmnfR1jvUCIbk1ytVwwRM9DdnCZmK907/VhUqZXj5zP7L8Ou
+uYL8uywEvwRbJV6LDRtEqcDpASrEfEE4fzyECP/KbIs/WUawSpnkBhCXX6MUDGaz
+tMqjXleLEQYLgjMwGRTgNwKBgQCUdYHr5tivt2JfKtJ+sj6zCBI6WMHd6NeYbgmP
+GK67Uy4efLlhZ4NJn08Wfv7Reme7KuekNz3p1ZHNLt1Cu5dEMCirEgQsBIEEg/8G
+T6Y+SFlLYbbNYG9Jo3qwe9TuEMTs3UTcaKLuNe+8Xqx9TnzVxAJGyWYhTnNXQ4Si
+C8kdzwKBgQCmfbKHyzXa0E1dFQKU59hXBhSKBp6ZvD/pF5Ed4tZW0ubdCVs7665p
+cdi5ljpJsjqHzWTn8TLdbXZ2jYPPNTC89wZ8F1lrPHCYz/Ifnoahlcbp7OIiIcWx
+S6YTzuFdpxAAdwstY91LMxzzMZm47hZUw/KzEVfzIpdyLbeCouohzg==
+-----END RSA PRIVATE KEY-----
diff --git a/tests/testkeys/key_rsa2048_exp3.sha1.vbprivk b/tests/testkeys/key_rsa2048_exp3.sha1.vbprivk
new file mode 100644 (file)
index 0000000..357a53a
Binary files /dev/null and b/tests/testkeys/key_rsa2048_exp3.sha1.vbprivk differ
diff --git a/tests/testkeys/key_rsa2048_exp3.sha1.vbpubk b/tests/testkeys/key_rsa2048_exp3.sha1.vbpubk
new file mode 100644 (file)
index 0000000..8f17ce9
Binary files /dev/null and b/tests/testkeys/key_rsa2048_exp3.sha1.vbpubk differ
diff --git a/tests/testkeys/key_rsa2048_exp3.sha256.vbprivk b/tests/testkeys/key_rsa2048_exp3.sha256.vbprivk
new file mode 100644 (file)
index 0000000..eb10c73
Binary files /dev/null and b/tests/testkeys/key_rsa2048_exp3.sha256.vbprivk differ
diff --git a/tests/testkeys/key_rsa2048_exp3.sha256.vbpubk b/tests/testkeys/key_rsa2048_exp3.sha256.vbpubk
new file mode 100644 (file)
index 0000000..70bfcf6
Binary files /dev/null and b/tests/testkeys/key_rsa2048_exp3.sha256.vbpubk differ
diff --git a/tests/testkeys/key_rsa2048_exp3.sha512.vbprivk b/tests/testkeys/key_rsa2048_exp3.sha512.vbprivk
new file mode 100644 (file)
index 0000000..0e1f862
Binary files /dev/null and b/tests/testkeys/key_rsa2048_exp3.sha512.vbprivk differ
diff --git a/tests/testkeys/key_rsa2048_exp3.sha512.vbpubk b/tests/testkeys/key_rsa2048_exp3.sha512.vbpubk
new file mode 100644 (file)
index 0000000..429d2c3
Binary files /dev/null and b/tests/testkeys/key_rsa2048_exp3.sha512.vbpubk differ
diff --git a/tests/testkeys/key_rsa3072_exp3.crt b/tests/testkeys/key_rsa3072_exp3.crt
new file mode 100644 (file)
index 0000000..e0883c9
--- /dev/null
@@ -0,0 +1,26 @@
+-----BEGIN CERTIFICATE-----
+MIIEWzCCAsOgAwIBAgIJAPyixe4BfOZeMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTcwMzAyMTAxNDU1WhcNMTcwNDAxMTAxNDU1WjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBoDANBgkqhkiG9w0BAQEFAAOCAY0AMIIB
+iAKCAYEAlQVTZVpsQ7V4qs6KR8Ae77fkbLX8kPXe5kNTHGT7Xv8gmNYkfR2iybFH
+99bOzXEhGvHhbVurIFxOcunb0qpNMxiD/lCtLs+OiL3KyV8AreyQQ0QI0kCPw0JB
+UqoR3sdv5F5AeuoPVxgW3MuesFYa9DhGh2e1v3lwBxpKjVGpNXyWNJax0+QbgmLB
+gOkA6HTPF7CYrihfAMe88rFDC4XPH/azMljWHLhQ3Ee2ACV2a3DY03NsyWIB9Te0
+hmxOgz+fwQ/m04Ihdl6PMvuUPsdb1reYZNA7cqEx1vhzI0ND4+Rqpiot+f7QRHDa
+plmE7A8bzSVaL9hGv/v7X/AQc0ZWdOMykk6ZbkbrKbCTUlZLorLdJrZkDWO0vLnD
+I6L8aKvzXwcZM5mDUU18RhhTmL7IeIeVfydyPS3YI/FyDk9tfYa9Dd/P7SHdEsyB
+Brr0eW1EJk68V1ZbVQ8LdLBc454u7wGKlXu/Oz1dTrb5QkwnzVRKtW/ARTkBbj1W
+Cl5os6e3AgEDo1AwTjAdBgNVHQ4EFgQUK2yq+G5PiQeas4aZebXSluM/NNYwHwYD
+VR0jBBgwFoAUK2yq+G5PiQeas4aZebXSluM/NNYwDAYDVR0TBAUwAwEB/zANBgkq
+hkiG9w0BAQsFAAOCAYEAi9vvg7/EE1KYsjrusb7i+yPb4vg/u6yYrC7rnF08VVGj
+BCHCJw1IxuQpFKP6MuQmW4dnwM1jRVdmwZj1Mc3CzMyyboJZ6hpUiU0jozL0fA2x
+rxB0/3kerOFTK+CfTqvU3whR7Ro2p9xYz67vhWr8JAyh+M71pTel2CT3WSGZyeFE
+pjdRVij0f9jqOzFdQgBgpTlghe9zk6+0Ie3ZpPrzzs2kL/W3kKrbVHuAp5OUV4WD
+nZ/UC64b2qTa1zJI4tBxE71/iD1sMe8C6CO4AmnmVvvir370bAV9I5X5MaSnwY78
+1iEkd1Ms+wropdi7Krej5N+pqe9nxOsf7hr9qSoAEfCnhBbkvkwepcaldCCs1mbt
+z7nAAJ7qEhTp0qiJsSb+WfbMFrRT6IrmCxLk52ep8r9y+mD7rb5kfW9on7mu1Cky
+qvCgtVklqw2Lc3WJKTMX7q4CgT08IUJP1cK+PD/veYD3U56XoddqegkBqb+ez8/N
+PruE8JOEBrY80grErc4X
+-----END CERTIFICATE-----
diff --git a/tests/testkeys/key_rsa3072_exp3.keyb b/tests/testkeys/key_rsa3072_exp3.keyb
new file mode 100644 (file)
index 0000000..ff23b17
Binary files /dev/null and b/tests/testkeys/key_rsa3072_exp3.keyb differ
diff --git a/tests/testkeys/key_rsa3072_exp3.pem b/tests/testkeys/key_rsa3072_exp3.pem
new file mode 100644 (file)
index 0000000..b62eebc
--- /dev/null
@@ -0,0 +1,39 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIG4gIBAAKCAYEAlQVTZVpsQ7V4qs6KR8Ae77fkbLX8kPXe5kNTHGT7Xv8gmNYk
+fR2iybFH99bOzXEhGvHhbVurIFxOcunb0qpNMxiD/lCtLs+OiL3KyV8AreyQQ0QI
+0kCPw0JBUqoR3sdv5F5AeuoPVxgW3MuesFYa9DhGh2e1v3lwBxpKjVGpNXyWNJax
+0+QbgmLBgOkA6HTPF7CYrihfAMe88rFDC4XPH/azMljWHLhQ3Ee2ACV2a3DY03Ns
+yWIB9Te0hmxOgz+fwQ/m04Ihdl6PMvuUPsdb1reYZNA7cqEx1vhzI0ND4+Rqpiot
++f7QRHDaplmE7A8bzSVaL9hGv/v7X/AQc0ZWdOMykk6ZbkbrKbCTUlZLorLdJrZk
+DWO0vLnDI6L8aKvzXwcZM5mDUU18RhhTmL7IeIeVfydyPS3YI/FyDk9tfYa9Dd/P
+7SHdEsyBBrr0eW1EJk68V1ZbVQ8LdLBc454u7wGKlXu/Oz1dTrb5QkwnzVRKtW/A
+RTkBbj1WCl5os6e3AgEDAoIBgGNY4kORnYJ4+xyJsYUqv0p6mEh5UwtOlJmCN2hD
+Uj9UwGXkGFNpFzEg2qU53zOgwLyhQPOSchWS3vdGkoxxiMy7AqmLHh81CbB+hzDq
+AHPzCteCsIwrCoIsK4xxYT8vn+2UKvycCjoQDz3dFHWOvKLQLwTvzn+mSq9m3F42
+cM5TDs25y+KYElbsgQCbVfBN32UgZclwP1Xaffcg110D32qkd3bl5BMliz2FJAAY
++Zz15eJM8zDsAU4lIwRINFd/vtGY+Z5HKMItE8QGhbh4ioTIVhLE9Nv3xqdy00nq
+Vzzdk6xuvvVaWyzLA85h1NMx3dyqycBsEugvqyB2+ZSZD2gxaI8ImyZxrtKjkLh2
+LHak8duMq0v/NjDgOiUXxyBMFF4mTDVwqW1o6QnlUdGCuPs1EsLHWNrEnyARhmOz
+gjepJMkJAoitfcBQ1uWlp+mFoYOhNNPq18nUbLJwNsiE2J/p7t/eOa2pCXcWpZKG
+9Lat3DNbvouFpZGyQ9F7tEpRuwKBwQDFs6hFVKDb1de2cYPKkIhb1rIUdzTYbk7M
+Ul+xcqMyPdCphDUOZ8fipYvQOCsIKPdAQ8LDsvR9neU3zM1yh/Nat5JYjVGMvJCa
+oxMexZhK07Kg2yrRYB/eJijY1NsU8Yt0dd612HRs++zsZNZDfCwpHa0065HB6tdK
+EIJnadBZm3bITnk1jCVqEZ5qd47Or2NuipMRNxqASBkUPUmar26Trj+F+f5tWWo9
+7038Vd0WU05bpPwlOFmmazDynAmNh3MCgcEAwPbIIMLDd0UZ1oBH34IDs7RlNDGX
+UD85D3nWgvEd1lo8ef/ae49/nprJII6apxtXweFoy4M15haVd3DModjL/eGDYzRf
+J9/UUxgnHt9wpee/vIg4SgTDlUNDEyp2o0hJXVfILZgQwDQxytuCmv6G1ppMJhDb
+MxwSKcamEVhZ0G2PGAPS6pF7CEGgQ8rpzHVuclJaCD79JghPVMrBHCd7a3Rkv7Rq
+SWZk3iWy6ivbpPwyDMEmTrgvbUa/XYjQtqWtAoHBAIPNGtjjFefj5SRLrTG1sD05
+zA2kzeWe3zLhlSD3F3bT4HECzgmahUHDsorQHLAbT4AtLIJ3TakT7iUzM6Gv95HP
+tuWzi7MoYGcXYhSDutyNIcCSHIuVapQZcJCN52NLsk2j6c6QTZ39SJ2YjteoHXC+
+c3idC9acj4a1rETxNZESTzA0UM5dbka2aZxPtInKQkmxt2DPZwAwELgo27x09GJ0
+KllRVEjmRtP03qg5Pg7iND0YqBjQO8RHdfcSsQkE9wKBwQCApIVrLIJPg2aPAC/q
+Vq0ieEN4IQ+K1NC0++RXS2k5kX2mqpGntP+/EdtrCbxvZ4/WlkXdAiPuubj6SzMW
+kIf+lleXeD9v6o2MusS/P6Bumn/TBXrcAy0OLNdiHE8XhYY+OoVzurXVeCEx56xn
+VFnkZt1uted3aAwb2cQLkDvgSQoQAoycYPywK8AtMfEy+PRMNuawKf4ZWt+N3IC9
+b6ec+EMqeEbbmZiUGSHxcpJt/XazK27fJXTzhH+TsIskbnMCgcBwtxfAPj2rT6/R
+Q69jnrIJgyYVro6Ev6jZaQOtO3VgmPt/CeXF6RCSzUcewm76sYxD0uxQFbNOJhq5
+XSFmIOhIxlE3XgS5SBnaBHQAT2C6Wp75H3UPvQjHzZgj9/PM4APWScr/MvGkLIAq
+fn5NvytPSGlfjnCRDQn2tD5kFDPOv7gm3dsCKeYazOaGsVkK6OYDv60+4/wYQ1Yc
+SgrIjXyB3+rMAPo5WlTkWloh/WhZft3UthluWFPrsUePrBB6nb8=
+-----END RSA PRIVATE KEY-----
diff --git a/tests/testkeys/key_rsa3072_exp3.sha1.vbprivk b/tests/testkeys/key_rsa3072_exp3.sha1.vbprivk
new file mode 100644 (file)
index 0000000..3ea5955
Binary files /dev/null and b/tests/testkeys/key_rsa3072_exp3.sha1.vbprivk differ
diff --git a/tests/testkeys/key_rsa3072_exp3.sha1.vbpubk b/tests/testkeys/key_rsa3072_exp3.sha1.vbpubk
new file mode 100644 (file)
index 0000000..81f4db0
Binary files /dev/null and b/tests/testkeys/key_rsa3072_exp3.sha1.vbpubk differ
diff --git a/tests/testkeys/key_rsa3072_exp3.sha256.vbprivk b/tests/testkeys/key_rsa3072_exp3.sha256.vbprivk
new file mode 100644 (file)
index 0000000..af59907
Binary files /dev/null and b/tests/testkeys/key_rsa3072_exp3.sha256.vbprivk differ
diff --git a/tests/testkeys/key_rsa3072_exp3.sha256.vbpubk b/tests/testkeys/key_rsa3072_exp3.sha256.vbpubk
new file mode 100644 (file)
index 0000000..f8d6b42
Binary files /dev/null and b/tests/testkeys/key_rsa3072_exp3.sha256.vbpubk differ
diff --git a/tests/testkeys/key_rsa3072_exp3.sha512.vbprivk b/tests/testkeys/key_rsa3072_exp3.sha512.vbprivk
new file mode 100644 (file)
index 0000000..c9401c8
Binary files /dev/null and b/tests/testkeys/key_rsa3072_exp3.sha512.vbprivk differ
diff --git a/tests/testkeys/key_rsa3072_exp3.sha512.vbpubk b/tests/testkeys/key_rsa3072_exp3.sha512.vbpubk
new file mode 100644 (file)
index 0000000..5c182e7
Binary files /dev/null and b/tests/testkeys/key_rsa3072_exp3.sha512.vbpubk differ
diff --git a/tests/testkeys/key_rsa4096.crt b/tests/testkeys/key_rsa4096.crt
new file mode 100644 (file)
index 0000000..383216a
--- /dev/null
@@ -0,0 +1,33 @@
+-----BEGIN CERTIFICATE-----
+MIIFtTCCA52gAwIBAgIJANitnQKymb5VMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTAwOTI5MTgxNjM4WhcNMTAxMDI5MTgxNjM4WjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
+CgKCAgEAm5v71oqFynujT4FVq5lKaYxpmKfXdeBNKDmLzgu7fXLUKaEqTGEDsseE
+5qyaaP+dmTnQKfne7G31zgf46//YEl+u5Gt/S4oAgYyvs3rjymzD5kVOLEAzgrIX
+AwyhDFARRzAFWos43hypunHGvu4fDBAzZ3zGVulhjgAzD/gNjToVYCP7bj6kTaDx
+1u9siCKdYN09vGwSUt9WuV+yort7kns/B8ArVxt3bFSjsAxuWel/dJyLwCMQ9XAx
+dgWpg3RBUsK/KgekQybPLrhLYJn1AeOApwzJ4HoJSqU/1jCEaGrKA/KtCRXiurZz
+6lBi7sElsigjBvEZH0iCmmRgH3Oi/cbpHIs1C6YHvCCbO90ntwgtDf0+2WJtFtbG
+t5Do3CXri0tcsXBWqISSK3VzzjHH691BVwLuoBvF1XICMEjmq9aJ+MdbEe4E+GU8
+TV9NnRnuYyOUoxeisyXiArUUI9+1qL6pIgulTlY2Ch51QZY5n2aYY97PtosNotbS
+ylMrLvWXGiiQWxux12eOnB3c/3wNYWey8Km4cmOhEOYz7hLz2r1uIoC/SzM5wLnn
+TEQmaiUDNV9R3Gj3E3xkpTq3UNSSPsV7k8lInMtWqzps6aTvBw1k6i6CUvWbEZqm
+t/0bimQHOEdg3OrJjQpwTKSp4ouSyVu0IphDwy1yjKCfNWKRzrUCAwEAAaOBpzCB
+pDAdBgNVHQ4EFgQUyBKBgFg+vONV1sbup7QtFa7DR78wdQYDVR0jBG4wbIAUyBKB
+gFg+vONV1sbup7QtFa7DR7+hSaRHMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpT
+b21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGSCCQDY
+rZ0Cspm+VTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4ICAQA0wtlLEAKR
+ctB41x/V10SMFIg5eLbDrUKQQT33BddrhFu0blc7U5jgXjqTYS80xIlOC0hXtN7D
+Z478st3NAxjtvBKxNMWB9Ppz6+15UENnXNGLElhRPaeAbxBs7zVB64b8fY69EJRe
+JOJNp6+c4WJsHWzxrmfHD0Wx18pJ877ThRi/ZH0QP2TjPc0gZT4szP1taoOJ7SXy
+gO10WfPoF1GgI/VXhPLnk2zXpTlFdp+qyKOtDFxOOK/cVKdXAxDDDO9DAw6cvrEn
+mPS2Zml9HI25/CrE00y+k4w7bqzNeGNzhSGPBvq5Yqnefc1dJSdDQZ3XLG9Fis4a
+nVfuSTvP1MUrFEGEvuxRcA0rWPwQtYSHHs8ZnpT6eayTPcpDvWSihe4xUywirXTT
+kbWgeABGQGaoAnFJYhjqBROGdVb4V3vbsjbCi8k2r4IIcqOzp6OIJxha2LvkZ+iu
+f+OlMVAO/C1LbRsVQkfJp7NxEt6PVewQV5Kgnwlf+x7Q2tUfZfdpLd/EMtojv3BD
+Ewx5X2yHGXcYZG/C1kNzyGTfg97/+55mtNlkTmo8elcPxlpnEuMXEv4JthnRy90x
+ZLflcR9q0pOiV+n//KyQvfjH99JmRtVJGG8xlDEtRbJWjFQD/uSEBxeS0T6INrza
+0WTaiIOZB1vMPe6CDYDWDzrFdQrD6HoWDQ==
+-----END CERTIFICATE-----
diff --git a/tests/testkeys/key_rsa4096.keyb b/tests/testkeys/key_rsa4096.keyb
new file mode 100644 (file)
index 0000000..515aaa9
Binary files /dev/null and b/tests/testkeys/key_rsa4096.keyb differ
diff --git a/tests/testkeys/key_rsa4096.pem b/tests/testkeys/key_rsa4096.pem
new file mode 100644 (file)
index 0000000..204b440
--- /dev/null
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIJKQIBAAKCAgEAm5v71oqFynujT4FVq5lKaYxpmKfXdeBNKDmLzgu7fXLUKaEq
+TGEDsseE5qyaaP+dmTnQKfne7G31zgf46//YEl+u5Gt/S4oAgYyvs3rjymzD5kVO
+LEAzgrIXAwyhDFARRzAFWos43hypunHGvu4fDBAzZ3zGVulhjgAzD/gNjToVYCP7
+bj6kTaDx1u9siCKdYN09vGwSUt9WuV+yort7kns/B8ArVxt3bFSjsAxuWel/dJyL
+wCMQ9XAxdgWpg3RBUsK/KgekQybPLrhLYJn1AeOApwzJ4HoJSqU/1jCEaGrKA/Kt
+CRXiurZz6lBi7sElsigjBvEZH0iCmmRgH3Oi/cbpHIs1C6YHvCCbO90ntwgtDf0+
+2WJtFtbGt5Do3CXri0tcsXBWqISSK3VzzjHH691BVwLuoBvF1XICMEjmq9aJ+Mdb
+Ee4E+GU8TV9NnRnuYyOUoxeisyXiArUUI9+1qL6pIgulTlY2Ch51QZY5n2aYY97P
+tosNotbSylMrLvWXGiiQWxux12eOnB3c/3wNYWey8Km4cmOhEOYz7hLz2r1uIoC/
+SzM5wLnnTEQmaiUDNV9R3Gj3E3xkpTq3UNSSPsV7k8lInMtWqzps6aTvBw1k6i6C
+UvWbEZqmt/0bimQHOEdg3OrJjQpwTKSp4ouSyVu0IphDwy1yjKCfNWKRzrUCAwEA
+AQKCAgEAlbfvBu0g7UEoUEbQdtp2jjdbIlXbKL83fYxgx07ihkEFgUhfuj1doZX2
+eTt5Fa1bpSHK95hCtJjX9/QTvH3dF1CYpY4IXFXbRspmAvoqUYl0swnbvRfId+eB
+3J06Fu6ysRuzCvsJLCvH4mu2Hd5eYOz1iIy1CMpj4oyulJ7F6ywHhQkZ0WjUDRzd
+kz+p3RHw+lHkJHaW6sWYW6OH7KsWqkmKy5pKGPWEYebN14UeZ8QRrdExZRxYJM5d
+yICKKMCiWU6nP3k6wqGElh8b50Y6RibukcvsMN86MWftk9f6jbyxwjqr4iH8lEkY
+HkpZ5f5QlqmnifZPhZnujz4kfh50oteC2QPQ0hrNYCDG75wuiNX/vINVfrKG0ddg
+iQDFqyQyQirxCGQgy7Wto08KAzKt146ST28N+kdF/kY14ou5f5+GlWQJcnqdHd2p
+R25MueXUsY3I63dULR6k02Y6M7Tzo39lYe0LV82+G0A3iGpI+eM7xw/sQDNb2sQs
+jCcz7XPrfTomrVJaW1FkM8vM6eWhuhAyDFP+unz0aMnKrkUrarh4t9QpriiCjm3E
+HV2Hc7t/Do/w+B3rywKy3PE2yO49eGz20um0JqWcAbGDZY2vDnyV+/xibxqaIZUo
+saI/btlyvCv00812momkX/qWwS+1GHvyYYcpIg0XQbZY1TvEi8ECggEBAM6LTfVu
+MKNwW/QdZ6pxKl/Oy8zlb1o8HET5hKCdhoMvpwlvpO2qSvlCxH3VZTmcXIXd+Mkd
+e4OZrzeMLVxMd64xP10k2ui/O2/8G38xmpMGqZihc+LnY6JgajujfAQHljOgrAJL
+xzO2Gk4oWX72oA6jqP8LZkRp/9acTWqBTKs6MOdrfn6I3k0urBB29+jcbqFAfgMx
+hfcTKAOHYmg/SeEZDvKP6fRDJGMGXqJ4TaBXjsnhNGCjGmuCqJhxxIGCI/AVK10B
+CjEboo9vACzNE1/JMxH8aT5up7e+7R/WoiJ5e3jlvSKmcO7KiR27JVsAlZeIddKd
+LzG9KKZ8Yla0U3MCggEBAMDefKVTqSPaG7cmAQGtXrbBDLdCWIaT08v+kMw/drlq
+NqLD+1ct098iFwRtKaYPERPKqNtxfJdkUMqWELBWV2Sq4Fi+JVXjGOUctP7Atd2x
+6NJ9xHqQKQwKUv0/9jN5Oie9sFvsLwPAJNOJej1BrmvPZvc0CoMyOjkmxEhYu3qG
+i26ZTSZSCTrbE8eAL0EJdH0gB7Ryuks8O+jEF7eXuZLZyN3AromISJtmLVlMFZ7m
++0sQnZQqwNF+BIrOgO+3R61jjNzCJbFo7frvRIlDSnrbmWp6sYns1cjhZiKCnO78
+RgDiaJcuceqsalgBZi8/Fmam2IPeqhvTNg+5alCuWzcCggEAXFjglFmeGZVFJ9J1
+5TkPzyJw8L2smdXCdfxyFjYYTFNkBc4LGdBIEUaPAAwHZEjK/XePoqwx61cthlKA
+fYIbCKEwSX8O+X13H8zCpo4RJKeX8IxPeiYm4BTnqp6f9lVGDPNLtQMYn8BN5qAX
+07KFQcZe6xm3seMK5nOgEXyaQPyVnQLs3bpoWm4BtKLcmRrlw+dH8DmWQjAoddt0
+XlPdvm0rx7wcyH+0pynT6iSL4KMFTrIIbyS9zU/v/ajwSU9crh1o8/5hBi/q8OKa
+W22dufgFg4ctryJejsMo1lFq0KssT5O4iuOMHtgjkk14mEWcnNIAjBiHX1/J6xY2
+Cbo6jQKCAQBtvmt4e1kz8Ehy92n9NVQ+cyy0HklXEkiiu9BSmA4LRPefuBqNKaN0
+ROaJ+z+GoO4br+ZTL4kwb8FU9Py8CfUib+TGOjPuYhFpVONcTfVuF2yeUTf6cYsZ
+sco1Fi8WbPV9ZX8zXvoFjVCnGYP31SbVa6dwJCmTK4JbwMZRUEQlXOd74Dk5A9cC
+qWPg0fyRajrhc9dOgzWj17tTIDlKm0fZ2phkLd5inayK2CIXvKZUy6PTu7medJFQ
+4v7cqNJPFJ/xdkLR3psqDsXTUlBSNnrr24a5QuVA0QV4j2DZZC6+Acgneqz+0Uu6
+t66vMuSdH620bV2n84wh1xXc7qkjDYMTAoIBAQC6DsTyBGNNI0/DGwAsae5Zri8w
+T/SOER7Tc/PCgQyFUNsJJc/OmSy66PPiH2HzqLjl6/jeiJP++oCnfO6pNTq1Fjz4
+Le2iS1szlcuJ9QLdtn2LTqORzdQVpka42X+o+NqJEdzkZb/N6eBA4PPQdTxHIiu1
+WGBpDc5vGkpuzLm9SVCw/4SD84z+Nhs0pqOvwWhmQWCtl28fgqU4LMeOX1Wz5P8E
+IledlgbCZh2KwXuv3BJdkawuwrSPsahnZmoJapx2dE+FkNl4equaBwImfLf5Qifj
+IhIN5GueO9k/D2/7/XvW2qJ3Vy0z0xMMNiTVYufVpbh77Kn2ebKfROlkzMEU
+-----END RSA PRIVATE KEY-----
diff --git a/tests/testkeys/key_rsa4096.pub.pem b/tests/testkeys/key_rsa4096.pub.pem
new file mode 100644 (file)
index 0000000..a36d44e
--- /dev/null
@@ -0,0 +1,14 @@
+-----BEGIN PUBLIC KEY-----
+MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAm5v71oqFynujT4FVq5lK
+aYxpmKfXdeBNKDmLzgu7fXLUKaEqTGEDsseE5qyaaP+dmTnQKfne7G31zgf46//Y
+El+u5Gt/S4oAgYyvs3rjymzD5kVOLEAzgrIXAwyhDFARRzAFWos43hypunHGvu4f
+DBAzZ3zGVulhjgAzD/gNjToVYCP7bj6kTaDx1u9siCKdYN09vGwSUt9WuV+yort7
+kns/B8ArVxt3bFSjsAxuWel/dJyLwCMQ9XAxdgWpg3RBUsK/KgekQybPLrhLYJn1
+AeOApwzJ4HoJSqU/1jCEaGrKA/KtCRXiurZz6lBi7sElsigjBvEZH0iCmmRgH3Oi
+/cbpHIs1C6YHvCCbO90ntwgtDf0+2WJtFtbGt5Do3CXri0tcsXBWqISSK3VzzjHH
+691BVwLuoBvF1XICMEjmq9aJ+MdbEe4E+GU8TV9NnRnuYyOUoxeisyXiArUUI9+1
+qL6pIgulTlY2Ch51QZY5n2aYY97PtosNotbSylMrLvWXGiiQWxux12eOnB3c/3wN
+YWey8Km4cmOhEOYz7hLz2r1uIoC/SzM5wLnnTEQmaiUDNV9R3Gj3E3xkpTq3UNSS
+PsV7k8lInMtWqzps6aTvBw1k6i6CUvWbEZqmt/0bimQHOEdg3OrJjQpwTKSp4ouS
+yVu0IphDwy1yjKCfNWKRzrUCAwEAAQ==
+-----END PUBLIC KEY-----
diff --git a/tests/testkeys/key_rsa4096.sha1.vbprivk b/tests/testkeys/key_rsa4096.sha1.vbprivk
new file mode 100644 (file)
index 0000000..777b4db
Binary files /dev/null and b/tests/testkeys/key_rsa4096.sha1.vbprivk differ
diff --git a/tests/testkeys/key_rsa4096.sha1.vbpubk b/tests/testkeys/key_rsa4096.sha1.vbpubk
new file mode 100644 (file)
index 0000000..ba8ac08
Binary files /dev/null and b/tests/testkeys/key_rsa4096.sha1.vbpubk differ
diff --git a/tests/testkeys/key_rsa4096.sha256.vbprivk b/tests/testkeys/key_rsa4096.sha256.vbprivk
new file mode 100644 (file)
index 0000000..7a08864
Binary files /dev/null and b/tests/testkeys/key_rsa4096.sha256.vbprivk differ
diff --git a/tests/testkeys/key_rsa4096.sha256.vbpubk b/tests/testkeys/key_rsa4096.sha256.vbpubk
new file mode 100644 (file)
index 0000000..72f808a
Binary files /dev/null and b/tests/testkeys/key_rsa4096.sha256.vbpubk differ
diff --git a/tests/testkeys/key_rsa4096.sha512.vbprivk b/tests/testkeys/key_rsa4096.sha512.vbprivk
new file mode 100644 (file)
index 0000000..72e4c37
Binary files /dev/null and b/tests/testkeys/key_rsa4096.sha512.vbprivk differ
diff --git a/tests/testkeys/key_rsa4096.sha512.vbpubk b/tests/testkeys/key_rsa4096.sha512.vbpubk
new file mode 100644 (file)
index 0000000..53266fb
Binary files /dev/null and b/tests/testkeys/key_rsa4096.sha512.vbpubk differ
diff --git a/tests/testkeys/key_rsa8192.crt b/tests/testkeys/key_rsa8192.crt
new file mode 100644 (file)
index 0000000..dd78f80
--- /dev/null
@@ -0,0 +1,54 @@
+-----BEGIN CERTIFICATE-----
+MIIJtTCCBZ2gAwIBAgIJAJoPFdjzTxDHMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTAwOTI5MTgxNzE0WhcNMTAxMDI5MTgxNzE0WjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIEIjANBgkqhkiG9w0BAQEFAAOCBA8AMIIE
+CgKCBAEA19BF/7el6ZXitFI71Glw4/bjNiOWxRLO+zU2IKIJZYjatWWBOcB7pfnQ
+QtoF6gtItnBT0/6NaCzucKd+TFb8Bz7pxK/ljSSJAFSOSf91b25mTcc4ohLkIvET
+X5g++jlaRuKDX5mnxUgEHUtMGvu5xMOSQi7UNM9Yxx26yRkIKaPNk2C5IeoXvKh9
+Xa4NS5hJSJnm3bG3oURAtugFS9ahAAoM0+e21FrlAxCUiVzF/BJip7xN3COjo8no
+Dda3RMDz12Udrwgrme+4xu0FOx1xLGOIOgLzbP9HG56uGOMv58ExIem2YgTsMgHI
+bzqqnpymcnBes6DHhnRRK0jplIxFpjqZqzSizYXUIY7vauiYXiZZnr5fpbrT+Y2b
+4Vza1PlPm68GkOgu39Cq4c+tjJJ3R/db9k+DWFfqfOLN4qqOO3szwnTtWQomj/4M
+cZdpmapY5Fnofu01Rw9cg+V1OO/Dj1Q1BF7CqKmCEBICKT5Mk/oaTwZS4bWcgIJj
+PdBn9Im/bAulc9eGNg6Fo1Y+iVCjDgLbQ+9SmFj6/JKlJRlAn21FburA+RaSirwF
+1IZ8eqMgUY6/Viu4eJNwbvWkeyaz02Ss7hs6VRDhUSzJbg4OMIE4qjxNJcbuyAIb
+tQs39PtH/iIY/2kPaNFjKU+ah4CI3kVIlgb/kgfqnUSQS4AHIubsZVpszUVE2A38
+R22OEGUenCLsljjWkv3snosY8gyJs9YumTGk2K/OiIAf0X8kXsv5Isq2ky+3T7PJ
+YqQ67WjENCxEOi7AkDlJls7omAhT8umGJPfF3R9izWYy5UJ4pNL2Cs8wv1vQcf9n
+DS5cpgqa6/w9sRo1bJjRlopi53Ph6D+7CicoQP5M0tH2p3dD8qP6RZNqtWP0eOZ0
+el0DMFh5hjYXHDnxZaEL5fcpVX8FdrDltgFbUUYRDlJDr0j6/TXOdnAwyc6scAbw
+cWm9dKwJJQogRxXuvh11Yt8j8U3tX95isL1QUIube3o8I7vXiMFRVRUg5NVM6sTg
+VsXRpybTecRsmDD76RerJEhi5vwfmJz5qzLTSH9JgCY9EuI38WzmeGZ6F8kfRHEs
+9Gh5/XvOB7UsqZXaU5NTT5LBiiFXIZoYFxnFpLl/crGc7oCP7JwsY0hW5CgK0829
+tY3aWLpY+a34Z2/wtc6dgKKA40Lj7y3pKwwMFaPo+widtjVkCk3n9Rq0X6ubHi+u
+ml42NYBRgvfoaZ4FbCTpRWV6kcGpM76O3bqV63iS9wdOFK4IO0zrJ/QI73yHz9LU
+61BmQGVTze2+tSifYFersjvmoJrgx703iljO9Xi1NfwoQpv0XwrdIgfHOSD1S3d1
+Id/R2tOBF7meHmCfki18KHOzk/2uJQIDAQABo4GnMIGkMB0GA1UdDgQWBBRE8ddB
+ODN/lDZfHqrUdMEuCS0mMTB1BgNVHSMEbjBsgBRE8ddBODN/lDZfHqrUdMEuCS0m
+MaFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
+BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAJoPFdjzTxDHMAwGA1UdEwQF
+MAMBAf8wDQYJKoZIhvcNAQEFBQADggQBAJS8VZtCKTjVbg1FM8I5agjh7V/PxZ27
+foaU/LXDb/fK+xyumAxW+YpqMpd3tRLwYe50yOZJTydkNmQ5zvykhpYVnsvRYHhT
+MtIc4lXDMnC79UY5kWgyvXxbq5psEd2HYVkpn6DhEyogqEIDdFpevQHGBP5lZ/55
+pOnerERJf4vXOs7tanHEavr1hMwCpG+GpvGrKLA7cm8p0C5OWR0IPk3Eee0Cq4AC
+Jb5U6ZyVV7m8Tf6nrBZrzJLYiwVg7Pc03zfjut+mlc7s9ZazN5czMZwBsuVfbCe3
+vYT405tibumUjq0NqvKS/9IRpwiD/GRpl2NCfChAAiIpcLwrlde0gzzF21DkroS/
+RCJGpDzwL2eOVPoC12jwsCX9tBxsPMEjbpd2mYA+dliv4DCdYFnHGQ6g5lPJcpU0
+qQsU1a7FtkD/MvwzKQnm0HoEszMUAStyj3d9yajnaTZJTQknEuhD+sLyacdzJHGX
+LXpBhKpB1+kQvSjiGPTdm8N/6F9hxDHGwsYaAlWwXGkD0vvYPQuRR4VcquNOX1dI
+CGTMFhMHV3J3iUThQeefs1i2hdCcE8vwYwlI7UMDCy+anSfCNocdXaenB0n7lTZO
+4iRsIpxryvoaMb+cCfs2xsLDB5RDM1bqBCzADhAd2f03fUib+ZTlw5NtPeJsla9s
+1DJam8zmjd+yKEyB3Nkc28rUN+x+qFbV7RSOs78dT2GZzvz50rm/j5KR5VhJl4O/
+7yH63U4t41HMFoT6kTeroSGdh/hE1qkUrpjgc6ZLVIgZnzTuvS0tzuaZKwgjgWJ0
+yeMks3jjyqaSl4dRKzh5NDMMaFxFV3R06p856lBNK4Rb+QbdDb8Yy84cbeEOlFPU
+0qHgspOxysdScM68NY0QHyptWCK1EPCPJYCNYh/l9ARS2hdN18P7rINiOetpr9Rt
+FLwTIRKpcDhptYl0Elknu96fVHJkuhAaft+83cl+P+HDrEzuunx+Pbhl24GgIQS1
+9GyYI51DfCh2icDPrQUhS74l6V4JQEwr4S3ZEFu86FbEEz/1w3R/SrxofjP4+MDx
+Qyw6gXO3jFQ605LqY1XQIxXi17LVUUKFWd5yUoJngy0u7SGqke+CWCcrFBsh0HYs
+hzbAtlkK5b3kMuaSfT5F9AlxUZgD6T9iN2dhQTHf78l7aK2L9mWCdrQZYB2YmLaA
+VH33h5tIDXVihHFANHJbUNcQsMGFdsTqGJVAH62G+DlCgnlGdjS6nsgnAbpcGESh
+5gdjvGLtYBZr5dY7O/evAEvpYqn8H0IzojlvyZAHyWxa421hnMPlTRu9w3yXuqy0
+gocynXX2+wJIENfXQxWUqKYegYNr2vMJriIsbB3evbrHuaofmunBpe8=
+-----END CERTIFICATE-----
diff --git a/tests/testkeys/key_rsa8192.keyb b/tests/testkeys/key_rsa8192.keyb
new file mode 100644 (file)
index 0000000..dad394e
Binary files /dev/null and b/tests/testkeys/key_rsa8192.keyb differ
diff --git a/tests/testkeys/key_rsa8192.pem b/tests/testkeys/key_rsa8192.pem
new file mode 100644 (file)
index 0000000..759194a
--- /dev/null
@@ -0,0 +1,99 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIISKAIBAAKCBAEA19BF/7el6ZXitFI71Glw4/bjNiOWxRLO+zU2IKIJZYjatWWB
+OcB7pfnQQtoF6gtItnBT0/6NaCzucKd+TFb8Bz7pxK/ljSSJAFSOSf91b25mTcc4
+ohLkIvETX5g++jlaRuKDX5mnxUgEHUtMGvu5xMOSQi7UNM9Yxx26yRkIKaPNk2C5
+IeoXvKh9Xa4NS5hJSJnm3bG3oURAtugFS9ahAAoM0+e21FrlAxCUiVzF/BJip7xN
+3COjo8noDda3RMDz12Udrwgrme+4xu0FOx1xLGOIOgLzbP9HG56uGOMv58ExIem2
+YgTsMgHIbzqqnpymcnBes6DHhnRRK0jplIxFpjqZqzSizYXUIY7vauiYXiZZnr5f
+pbrT+Y2b4Vza1PlPm68GkOgu39Cq4c+tjJJ3R/db9k+DWFfqfOLN4qqOO3szwnTt
+WQomj/4McZdpmapY5Fnofu01Rw9cg+V1OO/Dj1Q1BF7CqKmCEBICKT5Mk/oaTwZS
+4bWcgIJjPdBn9Im/bAulc9eGNg6Fo1Y+iVCjDgLbQ+9SmFj6/JKlJRlAn21FburA
++RaSirwF1IZ8eqMgUY6/Viu4eJNwbvWkeyaz02Ss7hs6VRDhUSzJbg4OMIE4qjxN
+JcbuyAIbtQs39PtH/iIY/2kPaNFjKU+ah4CI3kVIlgb/kgfqnUSQS4AHIubsZVps
+zUVE2A38R22OEGUenCLsljjWkv3snosY8gyJs9YumTGk2K/OiIAf0X8kXsv5Isq2
+ky+3T7PJYqQ67WjENCxEOi7AkDlJls7omAhT8umGJPfF3R9izWYy5UJ4pNL2Cs8w
+v1vQcf9nDS5cpgqa6/w9sRo1bJjRlopi53Ph6D+7CicoQP5M0tH2p3dD8qP6RZNq
+tWP0eOZ0el0DMFh5hjYXHDnxZaEL5fcpVX8FdrDltgFbUUYRDlJDr0j6/TXOdnAw
+yc6scAbwcWm9dKwJJQogRxXuvh11Yt8j8U3tX95isL1QUIube3o8I7vXiMFRVRUg
+5NVM6sTgVsXRpybTecRsmDD76RerJEhi5vwfmJz5qzLTSH9JgCY9EuI38WzmeGZ6
+F8kfRHEs9Gh5/XvOB7UsqZXaU5NTT5LBiiFXIZoYFxnFpLl/crGc7oCP7JwsY0hW
+5CgK0829tY3aWLpY+a34Z2/wtc6dgKKA40Lj7y3pKwwMFaPo+widtjVkCk3n9Rq0
+X6ubHi+uml42NYBRgvfoaZ4FbCTpRWV6kcGpM76O3bqV63iS9wdOFK4IO0zrJ/QI
+73yHz9LU61BmQGVTze2+tSifYFersjvmoJrgx703iljO9Xi1NfwoQpv0XwrdIgfH
+OSD1S3d1Id/R2tOBF7meHmCfki18KHOzk/2uJQIDAQABAoIEAAkyhhks0XRP//Zh
+Xs1hpP8CIZLIF3/Uml+YV/MyFKZwG6oJZmV4r4xWRirjMcdUrcegp+HsAkjDSXIh
+oT9NobYJV1sbh/Po77HE6L98lJuoH9IGwIIfvftDPOkhCuYNFazZsHGdkcnVlN9O
+uzKXMcaR8yTA7ChIAeeSe8hgObnUkklKoPkyCcrvf1BDv6tOFSlz7aPbFBFaYEur
+PbaKshfXVc6eHGuWaBYmWb405vckLXIqk0LjffDYBPy5/tt+QaYXWBmChqEr1zsb
+FNL9ITqcD00xnQAzLOufapoC7KK62AYy+KPaw9opu0oKPQU/ddSAt3h+TKKNSHxI
+wjOjesBn1O638oxBvNWlSszKltvEVKNwR5E/khMblt4W3/idm2fuIKCCVKUTNoUj
+HalVAKJfh1rK7rUQIh0qaU3UqPUd/gm2g/r8dMJEOHGK22RCH0G0FzV5lICvxeiV
+GdbQWQw9sXi7NR6NAs7+hXsOfaL80Kw3f8bAv6e2ZtZWkGeaiz7mjCmQsNaS7d0V
+KtsdRaWuN3wAsgtuF1w2P7WCCwAAXyon9Qtoi9w/wRvak2mClDkFlV/twxHYbr07
+2MOq1ZUXwErxfB3t9zxHZVo8XRxyFWEj6sHGZZy+gkHH9Z2KK/pHp7sS1iZIbipv
+iw1lS+/1Ee/a4n9tuPD04BVnomY5TyLsFvCB7lO+WbhHRcRkbPTfQtwV0dRPlbK+
+IOTjF43cMfWjPwBGTsLXCR6O7OhmgQbqQ1asc4GiqjJlvVQ6wlboxWsEGm0Iat7o
+3cpTOkWtaAth+bSXOT5APkt+O3WCFlIVm8zxUTyxpO5xdP+YyXrX81VU6hYvP80e
+xvm2rGzXx4PEO6jEPIak4nsZqTdHKxxSoJ+Gej+9RO3KsUVU8o22DTKuzSrOneJJ
+Zo+Fo+0Ez+2E61U0lZtrETS/BhfjnKNsb5sqJc/jLHpFtZD5yqQGJ4U3saQ3u7VM
+6jDqu4WqeuRJAP1DLzZPu69BzBTT7nBWn9mD+fd5ck4g6jnLOwh+DGfmzIolkuPs
+yPkxEWFvLq/5CC2ZkKAmwJUFr/v37pwUFVKAsIFPqoVqm/ULLXh6AhBHPqcn6VQU
+IWPnJu3C7WtAVzLhKtJ3C2L2/NhvvQstTKUemQeon7/3J3ayIQfkhpON1s3N3sOQ
+c0ebyU7lyagCGUeVaplThjhHzv0QWvYeopRDAldplOM02cIDWH7RI5lH5o4A5+Ge
+9q42PjcyNNNUdINIJdTOafADA2/5uB5lRx+ryuDHGVnHWrHpN9I13GLjKWqR4rNU
+VffQw1eZxCLrqUOD6Nfg5f1Vkr8EVgq54s2p6P2EmHltq/s5lRB9QM4ChxGQ7G/i
+HJhuxo0CggIBAPSOJ6CaAWpcO7ZYNRdnu9AMuSPIWq9E77D6W5rNQ00207mvSWBL
+BXxi27nan2xq2iAiXNBLA70gUqXkS7a7mjVhOgL6TOapqJI9qhV6BsZyxSyJ4Rb/
+Wjjocr2X9T0aqBvuzFIVoknw9oEgDYlrUuvbGD13Ae5CxA0csDFbhvEUNd+UbHUM
+FZHjqQQP8Wk4hFacWc4UfYl02r8iwV37d6MLUOVsr9dDcZtAe4IJJvivef07dZaC
+Yi5gg5BTLcXG9wy7tWSYSZwU5oW+M48RVnFO45gkGaTaKArKDybD8kcNH36ps2yF
+VrmDmLGT7Vdah+Lu8aLOF1fCLGGknuAeUn7WOq6ITUBiP4T4c5BUmsMpILw4mjEL
+2wPoCXNQXIZBAeU3n+xvO3vYuYRxFwyt8KSzcGEIrYXSZcfFchMYYwSL457+6Hcp
+nXwstyzamWFriiWl5I9C8fcbKvvI1SmTyNdAspZcN1OXnYmca6Le886wV2XZFW9n
+8kCDozA78x9wRjKbMhh4RZJIyuc9X+e7gRBqbpiW8hvZXQxMAtyHjidR1GiM+NOR
+qDrjUkMFPadKtYG8OMxJVOIbISGOCajRC76JKoBj41KhS4Dy0+ArhsG7l3MI/fEk
+eE/aEF9oh/1H2+ezdVuG9QKDAFB9PWuaMBFzw68/dR030DwycnsbhnzzAoICAQDh
+6cjDKb6ZKVvmjYOeYJnI5V5CleTxrFVbyH9zmgR/lg4dHvVQ+JoAplkmqoTX0ebm
+tkBp//b7jVAbDimc2nLwj8BFfDykugi0ehK0NgTMNAD+4k4JR9McYI18G9mQnzLX
+hvt0v2/Q7dflRtNVeFTHNLB5GPvTZADDtXftfdep1n6YrtrsrRT5XTQG2YDgO2ra
+y0EKgxoiOD49/49EDBIRifaeDKnrymWjV4xB7o9HSXvuZ/QWvR29GVoOBsB7PxJB
+IWEnVnr70khwESTH8Y3n9ldV38ffk1twL1lWvgA6CfggLS2E/ss/3zroa47Ef/ta
+wm6idtC0Ck+OOZof8KLCeFwbMN4Z2PWRXXKqnHV5K4PtmXwdRnj9HnKyIgE/g+FI
+MfSHXznczGaOeX+uDYml1QECx739k4ykMkcLA/q9jqsXR4KQ0iaUrRr9acCE/Xzy
+ZkiS412o0ygVARQIrsyvdTImu+YuPqsdG+wuNkGd76MKzxk7dXGqDFQlXGA3I8KY
+nmn3NFZORX+D7C/OE5seEVQ0MgqcIaIE435FNRqhAX91RncqCjHEDdGSfcyjBqqm
+urQ5K7U1R/19Y6C0VibrwRRlwNwMhNE0z3FwTuHJZ+MQnCM2ndc1cQanAkOera2I
+WoFqXMXfll3YqBqd5e/xmsQLWitLt2XGEusWUvGOhwKCAgBgcTMVdcZ7IFZ4CX8e
+dM0vNeVJRDjnB8OSwpifirUw3R9QCd1g+RT3wbCvMZVPVzAgHg0GI58c1YNiYo6t
+SHx+8pHDHNx41o1g5qqNf6ruVdKGRvWacScubBTbyfJvn3SOV3UCJf/zMvCzaWWN
+POLdmnCLxMPhJzlThm3BeTvVFMhOHKVM33AeMW606GimuyANW+laiOAc9hVR7S3e
+l03N4aeMYnlR5goGVL6gQGW7CtCL2gf8S/zWFz+rCfJyHY3N2rSlMB1PTTq/oYuJ
+ryes1ZSRqiLmzRWfc6HYAswn0vgJpnjYohjaXhg4Z4LgwRX3m411S9sOw8dm1lnF
+Po//7xIDRENa0aQFF0nTsFm7/xsmvxenoepENxyK+jUSyM4ri+0oe5E0vPokTcju
+OiY9fXoi+h4cOSXkS2w6NZLO9y/TwukAHUw67RNrv+Ve8t7vC+X/zUHI1lD0LHZL
+yDkbEiubelBjSdZZr3MPLudtKkO9KYf3gEGbyY3wdqPhURCN4oA2ADBHiSdjW+PX
+ai1ywNZOnLBr5SN5tvwl5dtcjDu842M5ZCa42m7VeVqf/6lmuUiY3453AIXnSrFq
+fs4n3MYDDeFW877n4ltF+0RQYF9QgUpL77r2mqN8TKfcbZs+W5o7dxRmYi0ckNdI
++Oxd5Y5VLSxNUnZvVuGoxOkbmwKCAgBz2pmLhHfrQeuQQ5hw+ydCgGYjjY1YZsFr
+jVnXJfASohhg1MSHnsYTeTuU+bOgnlNkk6ha89psTJ79EPlEKD7zoTTALaNH8uON
+8mBvLJivRCgSjmnoln3sOpO0Ru//G7VOFDoWOCqWobKrMPQmC8ymUB4ELEzQrqM5
+unFjSLr1rTtE/77jyytLaoHI1XgjBjWZOM0FIBCh5ef9kXaeNfZ6Kh9gFCx78FLJ
+Ppd+JGIz87prm8Hwe1Gp7TtioBHL4p9w6TZSnyX4yHE/j3smUnkssQc+0cFFpeMp
+mA6fzlZ9bSljDugeITCIc+lY0ffoS53SgI2OIZKMEhGUZXPl11kQk/rgMuJjrQDa
+aGrqlcwktK02hxTASqi3XgsB0TCEqxQ4Gu5FEg+xbN1XSXWyA91IPwECtP548VcZ
+yXLnckX/OhABozmRHUSN0Gxb8wS47upJwSyMr68Tah5PDzt/7Gypuldax9eWdar5
+BZ3MYSSrYv5hB63v8R22UBZDBqmM/XjJHcxH6v4rq7ZmKBSoASP2enqNPfB0+0aE
+bUoPIdmjIgqEUPvBgnLdER0dnAf6vut7D5pnC0Qlq+KSkCoU8W2KT30vZYUzolVL
+WOra5okh6XXnybrBQpbgIDOCKEYXNQgeOhPOQP901z8PYb4spYO0imLpU3eKn+XA
+e2k2DJk2NwKCAgEA3B9SHmsO/uUCrfhQFk589AsX1/Zzcm0fPPOqqIXg3E/yuIZR
+vyvYalCjyt1Gp00k1/d6Qb6gbemgENgUpGzDteiP07FmT7PEdGYUf7CQkUk+RoZN
+N1yrzDlc+oo07DWgUPI44ZVJg34gvkCN3u3eKfbnWfjTPlmvHsz5wv5vU2o+svJz
+LHSzBnPCvv6uMw4FRSdFHYqE/WFIDqLiR3lV7Q0C4JJwgUCCP8vCP6OsGwgf2x0j
+rmBQOcLxgs4AxPu7aqC9KW4lSNIW6bd31sL6E6cz6SX3BF6QJPX3vtm6eYRM1kva
+vX1JjtFXa9gddbneJ8to1SVXkwOJFBuaW2T9MPj51hqweP959VNIA6ICMEY/8W3/
+jHzPgyPoJ7FZQxPUsXeATUEi624Nv3e5LEjPFRU4CBGM2l+tD0lLROSHvCgh3Sod
+ybjQWzPHU0XNGsXk7g6Qn+Q8CeJ/mMWHjclOv84k8dzuGCsXmPoArgVlHq1DiUiL
+5/4rHwUvZtQdW99o0OPDbFp5clpRv2V4T+tWgOn8G4jdF1HULvu/zBtTHNIctFDa
+tuAueBg3Dnybmp40ymId5cuIVwIY9Pb0qjmd8b40XtSfuAJ5/aLMqYHt8NRC896V
+n91wqSdesTo/LXoDf2K8XUFNTOFn/O8DYL/j1v+8pusCwkTagEopTxdeq68=
+-----END RSA PRIVATE KEY-----
diff --git a/tests/testkeys/key_rsa8192.pub.pem b/tests/testkeys/key_rsa8192.pub.pem
new file mode 100644 (file)
index 0000000..616c955
--- /dev/null
@@ -0,0 +1,25 @@
+-----BEGIN PUBLIC KEY-----
+MIIEIjANBgkqhkiG9w0BAQEFAAOCBA8AMIIECgKCBAEA19BF/7el6ZXitFI71Glw
+4/bjNiOWxRLO+zU2IKIJZYjatWWBOcB7pfnQQtoF6gtItnBT0/6NaCzucKd+TFb8
+Bz7pxK/ljSSJAFSOSf91b25mTcc4ohLkIvETX5g++jlaRuKDX5mnxUgEHUtMGvu5
+xMOSQi7UNM9Yxx26yRkIKaPNk2C5IeoXvKh9Xa4NS5hJSJnm3bG3oURAtugFS9ah
+AAoM0+e21FrlAxCUiVzF/BJip7xN3COjo8noDda3RMDz12Udrwgrme+4xu0FOx1x
+LGOIOgLzbP9HG56uGOMv58ExIem2YgTsMgHIbzqqnpymcnBes6DHhnRRK0jplIxF
+pjqZqzSizYXUIY7vauiYXiZZnr5fpbrT+Y2b4Vza1PlPm68GkOgu39Cq4c+tjJJ3
+R/db9k+DWFfqfOLN4qqOO3szwnTtWQomj/4McZdpmapY5Fnofu01Rw9cg+V1OO/D
+j1Q1BF7CqKmCEBICKT5Mk/oaTwZS4bWcgIJjPdBn9Im/bAulc9eGNg6Fo1Y+iVCj
+DgLbQ+9SmFj6/JKlJRlAn21FburA+RaSirwF1IZ8eqMgUY6/Viu4eJNwbvWkeyaz
+02Ss7hs6VRDhUSzJbg4OMIE4qjxNJcbuyAIbtQs39PtH/iIY/2kPaNFjKU+ah4CI
+3kVIlgb/kgfqnUSQS4AHIubsZVpszUVE2A38R22OEGUenCLsljjWkv3snosY8gyJ
+s9YumTGk2K/OiIAf0X8kXsv5Isq2ky+3T7PJYqQ67WjENCxEOi7AkDlJls7omAhT
+8umGJPfF3R9izWYy5UJ4pNL2Cs8wv1vQcf9nDS5cpgqa6/w9sRo1bJjRlopi53Ph
+6D+7CicoQP5M0tH2p3dD8qP6RZNqtWP0eOZ0el0DMFh5hjYXHDnxZaEL5fcpVX8F
+drDltgFbUUYRDlJDr0j6/TXOdnAwyc6scAbwcWm9dKwJJQogRxXuvh11Yt8j8U3t
+X95isL1QUIube3o8I7vXiMFRVRUg5NVM6sTgVsXRpybTecRsmDD76RerJEhi5vwf
+mJz5qzLTSH9JgCY9EuI38WzmeGZ6F8kfRHEs9Gh5/XvOB7UsqZXaU5NTT5LBiiFX
+IZoYFxnFpLl/crGc7oCP7JwsY0hW5CgK0829tY3aWLpY+a34Z2/wtc6dgKKA40Lj
+7y3pKwwMFaPo+widtjVkCk3n9Rq0X6ubHi+uml42NYBRgvfoaZ4FbCTpRWV6kcGp
+M76O3bqV63iS9wdOFK4IO0zrJ/QI73yHz9LU61BmQGVTze2+tSifYFersjvmoJrg
+x703iljO9Xi1NfwoQpv0XwrdIgfHOSD1S3d1Id/R2tOBF7meHmCfki18KHOzk/2u
+JQIDAQAB
+-----END PUBLIC KEY-----
diff --git a/tests/testkeys/key_rsa8192.sha1.vbprivk b/tests/testkeys/key_rsa8192.sha1.vbprivk
new file mode 100644 (file)
index 0000000..9fcf643
Binary files /dev/null and b/tests/testkeys/key_rsa8192.sha1.vbprivk differ
diff --git a/tests/testkeys/key_rsa8192.sha1.vbpubk b/tests/testkeys/key_rsa8192.sha1.vbpubk
new file mode 100644 (file)
index 0000000..2cc4e45
Binary files /dev/null and b/tests/testkeys/key_rsa8192.sha1.vbpubk differ
diff --git a/tests/testkeys/key_rsa8192.sha256.vbprivk b/tests/testkeys/key_rsa8192.sha256.vbprivk
new file mode 100644 (file)
index 0000000..64a4f61
Binary files /dev/null and b/tests/testkeys/key_rsa8192.sha256.vbprivk differ
diff --git a/tests/testkeys/key_rsa8192.sha256.vbpubk b/tests/testkeys/key_rsa8192.sha256.vbpubk
new file mode 100644 (file)
index 0000000..c826698
Binary files /dev/null and b/tests/testkeys/key_rsa8192.sha256.vbpubk differ
diff --git a/tests/testkeys/key_rsa8192.sha512.vbprivk b/tests/testkeys/key_rsa8192.sha512.vbprivk
new file mode 100644 (file)
index 0000000..bb8725f
Binary files /dev/null and b/tests/testkeys/key_rsa8192.sha512.vbprivk differ
diff --git a/tests/testkeys/key_rsa8192.sha512.vbpubk b/tests/testkeys/key_rsa8192.sha512.vbpubk
new file mode 100644 (file)
index 0000000..c399a66
Binary files /dev/null and b/tests/testkeys/key_rsa8192.sha512.vbpubk differ
diff --git a/tests/testkeys/rsa_padding_test_pubkey.keyb b/tests/testkeys/rsa_padding_test_pubkey.keyb
new file mode 100644 (file)
index 0000000..fe289fe
Binary files /dev/null and b/tests/testkeys/rsa_padding_test_pubkey.keyb differ
diff --git a/tests/testkeys/rsa_padding_test_pubkey.pem b/tests/testkeys/rsa_padding_test_pubkey.pem
new file mode 100644 (file)
index 0000000..116f39b
--- /dev/null
@@ -0,0 +1,6 @@
+-----BEGIN PUBLIC KEY-----
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSiGmidatyklHyFd5XPHqw9TnV
+n8SlKEuSI3J2GcSWJijDOG2RL6t1Odywukav3kE8QR9YXdwbSkkrcAbyTiblOs7I
+BMRDCI0VjU/W3bO4QFwI3kQQYWVE0pvZ7k7PyisQ8cJOHKx8LG+1u0c5vjJt/qpn
+fnycqSSkuohsQiyTiQIDAQAB
+-----END PUBLIC KEY-----
diff --git a/tests/timer_utils.c b/tests/timer_utils.c
new file mode 100644 (file)
index 0000000..25e7503
--- /dev/null
@@ -0,0 +1,24 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "timer_utils.h"
+
+void StartTimer(ClockTimerState* ct) {
+       clock_gettime(CLOCK_REALTIME, &ct->start_time);
+}
+
+void StopTimer(ClockTimerState* ct) {
+       clock_gettime(CLOCK_REALTIME, &ct->end_time);
+}
+
+uint32_t GetDurationMsecs(ClockTimerState* ct) {
+       uint64_t start = ((uint64_t) ct->start_time.tv_sec * 1000000000 +
+                         (uint64_t) ct->start_time.tv_nsec);
+       uint64_t end = ((uint64_t) ct->end_time.tv_sec * 1000000000 +
+                       (uint64_t) ct->end_time.tv_nsec);
+       uint64_t duration_msecs = (end - start) / 1000000U;  /* Nanoseconds ->
+                                                             * Milliseconds. */
+       return (uint32_t) duration_msecs;
+}
diff --git a/tests/timer_utils.h b/tests/timer_utils.h
new file mode 100644 (file)
index 0000000..8cafdf9
--- /dev/null
@@ -0,0 +1,26 @@
+ /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_TIMER_UTILS_H_
+#define VBOOT_REFERENCE_TIMER_UTILS_H_
+
+#include <inttypes.h>
+#include <time.h>
+
+typedef struct ClockTimer {
+       struct timespec start_time;
+       struct timespec end_time;
+} ClockTimerState;
+
+/* Start timer and update [ct]. */
+void StartTimer(ClockTimerState* ct);
+
+/* Stop timer and update [ct]. */
+void StopTimer(ClockTimerState* ct);
+
+/* Get duration in milliseconds. */
+uint32_t GetDurationMsecs(ClockTimerState* ct);
+
+#endif  /* VBOOT_REFERENCE_TIMER_UTILS_H_ */
diff --git a/tests/tlcl_tests.c b/tests/tlcl_tests.c
new file mode 100644 (file)
index 0000000..328abbe
--- /dev/null
@@ -0,0 +1,1173 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for TPM lite library
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "2api.h"
+#include "host_common.h"
+#include "test_common.h"
+#include "tlcl.h"
+#include "tlcl_internal.h"
+
+/* Mock data */
+static char debug_info[4096];
+static vb2_error_t mock_retval;
+
+/* Call to mocked vb2ex_tpm_send_recv() */
+struct srcall
+{
+       const uint8_t *req;  /* Request */
+       uint8_t *rsp;  /* Response */
+       uint8_t rsp_buf[32];  /* Default response buffer, if not overridden */
+       int req_size;  /* Request size */
+       uint32_t req_cmd;  /* Request command code */
+       int rsp_size;  /* Response size */
+       vb2_error_t retval;  /* Value to return */
+};
+
+#define MAXCALLS 8
+static struct srcall calls[MAXCALLS];
+static int ncalls;
+
+/**
+ * Reset mock data (for use before each test)
+ */
+static void ResetMocks(void)
+{
+       int i;
+
+       *debug_info = 0;
+       mock_retval = VB2_SUCCESS;
+
+       memset(calls, 0, sizeof(calls));
+       for (i = 0; i < MAXCALLS; i++)
+               calls[i].rsp = calls[i].rsp_buf;
+       ncalls = 0;
+}
+
+/**
+ * Set response code and length for call <call_idx>.
+ */
+static void SetResponse(int call_idx, uint32_t response_code, int rsp_size)
+{
+       struct srcall *c = calls + call_idx;
+
+       c->rsp_size = rsp_size;
+       ToTpmUint32(c->rsp_buf + 6, response_code);
+}
+
+/* Mocks */
+
+vb2_error_t vb2ex_tpm_init(void)
+{
+       return mock_retval;
+}
+
+vb2_error_t vb2ex_tpm_close(void)
+{
+       return mock_retval;
+}
+
+uint32_t vb2ex_tpm_send_recv(const uint8_t *request, uint32_t request_length,
+                            uint8_t *response, uint32_t *response_length)
+{
+       struct srcall *c = calls + ncalls++;
+
+       c->req = request;
+       c->req_size = request_length;
+
+       /* Parse out the command code */
+       FromTpmUint32(request + 6, &c->req_cmd);
+
+       // KLUDGE - remove
+       printf("TSR [%d] %#x\n", ncalls-1, c->req_cmd);
+
+       memset(response, 0, *response_length);
+       if (c->rsp_size)
+               memcpy(response, c->rsp, c->rsp_size);
+       *response_length = c->rsp_size;
+
+       return c->retval;
+}
+
+vb2_error_t vb2ex_tpm_get_random(uint8_t *buf, uint32_t length)
+{
+       memset(buf, 0xa5, length);
+       return VB2_SUCCESS;
+}
+
+/**
+ * Test assorted tlcl functions
+ */
+static void TlclTest(void)
+{
+       uint8_t buf[32], buf2[32];
+
+       ResetMocks();
+       TEST_EQ(TlclLibInit(), VB2_SUCCESS, "Init");
+
+       ResetMocks();
+       mock_retval = VB2_ERROR_MOCK;
+       TEST_EQ(TlclLibInit(), mock_retval, "Init bad");
+
+       ResetMocks();
+       TEST_EQ(TlclLibClose(), VB2_SUCCESS, "Close");
+
+       ResetMocks();
+       mock_retval = VB2_ERROR_MOCK;
+       TEST_EQ(TlclLibClose(), mock_retval, "Close bad");
+
+       ResetMocks();
+       ToTpmUint32(buf + 2, 123);
+       TEST_EQ(TlclPacketSize(buf), 123, "TlclPacketSize");
+
+       ResetMocks();
+       ToTpmUint32(buf + 2, 10);
+       TEST_EQ(TlclSendReceive(buf, buf2, sizeof(buf2)), 0, "SendReceive");
+       TEST_PTR_EQ(calls[0].req, buf, "SendReceive req ptr");
+       TEST_EQ(calls[0].req_size, 10, "SendReceive size");
+
+       ResetMocks();
+       calls[0].retval = VB2_ERROR_MOCK;
+       ToTpmUint32(buf + 2, 10);
+       TEST_EQ(TlclSendReceive(buf, buf2, sizeof(buf2)), VB2_ERROR_MOCK,
+               "SendReceive fail");
+
+       ResetMocks();
+       SetResponse(0, 123, 10);
+       ToTpmUint32(buf + 2, 10);
+       TEST_EQ(TlclSendReceive(buf, buf2, sizeof(buf2)), 123,
+               "SendReceive error response");
+
+       // TODO: continue self test (if needed or doing)
+       // TODO: then retry doing self test
+
+}
+
+
+/**
+ * Test send-command functions
+ */
+static void SendCommandTest(void)
+{
+       ResetMocks();
+       TEST_EQ(TlclStartup(), 0, "SaveState");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_Startup, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclSaveState(), 0, "SaveState");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_SaveState, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclResume(), 0, "Resume");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_Startup, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclSelfTestFull(), 0, "SelfTestFull");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_SelfTestFull, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclContinueSelfTest(), 0, "ContinueSelfTest");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_ContinueSelfTest, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclAssertPhysicalPresence(), 0,
+               "AssertPhysicalPresence");
+       TEST_EQ(calls[0].req_cmd, TSC_ORD_PhysicalPresence, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclPhysicalPresenceCMDEnable(), 0,
+               "PhysicalPresenceCMDEnable");
+       TEST_EQ(calls[0].req_cmd, TSC_ORD_PhysicalPresence, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclFinalizePhysicalPresence(), 0,
+               "FinalizePhysicalPresence");
+       TEST_EQ(calls[0].req_cmd, TSC_ORD_PhysicalPresence, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclAssertPhysicalPresenceResult(), 0,
+               "AssertPhysicalPresenceResult");
+       TEST_EQ(calls[0].req_cmd, TSC_ORD_PhysicalPresence, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclLockPhysicalPresence(), 0,
+               "LockPhysicalPresence");
+       TEST_EQ(calls[0].req_cmd, TSC_ORD_PhysicalPresence, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclIsOwned(), 0, "IsOwned");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_ReadPubek, "  cmd");
+       ResetMocks();
+       calls[0].retval = VB2_ERROR_MOCK;
+       TEST_NEQ(TlclIsOwned(), 0, "IsOwned");
+
+       ResetMocks();
+       TEST_EQ(TlclForceClear(), 0, "ForceClear");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_ForceClear, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclSetEnable(), 0, "SetEnable");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_PhysicalEnable, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclClearEnable(), 0, "ClearEnable");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_PhysicalDisable, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclSetDeactivated(0), 0, "SetDeactivated");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_PhysicalSetDeactivated, "  cmd");
+}
+
+/**
+ * NV spaces test
+ *
+ * TODO: check params/data read/written.
+ */
+static void ReadWriteTest(void)
+{
+       uint8_t buf[32];
+
+       ResetMocks();
+       TEST_EQ(TlclDefineSpace(1, 2, 3), 0, "DefineSpace");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_NV_DefineSpace, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclUndefineSpace(1), 0, "UndefineSpace");
+       // TPM1.2 use TPM_ORD_NV_DefineSpace with size 0 to delete space
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_NV_DefineSpace, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclSetNvLocked(), 0, "SetNvLocked");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_NV_DefineSpace, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclWrite(1, buf, 3), 0, "Write");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_NV_WriteValue, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclRead(1, buf, 3), 0, "Read");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_NV_ReadValue, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclWriteLock(1), 0, "WriteLock");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_NV_WriteValue, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclReadLock(1), 0, "ReadLock");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_NV_ReadValue, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclSetGlobalLock(), 0, "SetGlobalLock");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_NV_WriteValue, "  cmd");
+}
+
+/**
+ * Test DefineSpaceEx
+ */
+static void DefineSpaceExTest(void) {
+       uint8_t osap_response[] = {
+               0x00, 0xc4, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00,
+               0x00, 0x00, 0x02, 0x41, 0x3d, 0xce, 0x20, 0xa2,
+               0x5a, 0xa5, 0x95, 0xbe, 0x26, 0xe8, 0x76, 0x74,
+               0x6c, 0x61, 0xf7, 0xa7, 0x24, 0x17, 0xa1, 0x06,
+               0xcf, 0x53, 0x6d, 0xd4, 0x26, 0x98, 0x68, 0x86,
+               0xe6, 0xf6, 0x62, 0x58, 0xdb, 0xa2, 0x9f, 0x5b,
+               0x18, 0xa6, 0xae, 0x36, 0x32, 0x5d,
+       };
+       uint8_t define_space_response[] = {
+               0x00, 0xc5, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00,
+               0x00, 0x00, 0x42, 0xe6, 0x38, 0xc6, 0x37, 0x2a,
+               0xf2, 0xfe, 0xb4, 0x01, 0x4b, 0x29, 0x63, 0x30,
+               0x4e, 0x2f, 0x2e, 0x74, 0x58, 0xcd, 0x00, 0x40,
+               0x42, 0x10, 0x40, 0xac, 0x93, 0x0c, 0xff, 0x8a,
+               0xc4, 0x98, 0x78, 0xe3, 0xfe, 0x48, 0x5b, 0xb7,
+               0xc8, 0x8d, 0xf4,
+       };
+       uint8_t owner_secret[TPM_AUTH_DATA_LEN] = { 0 };
+       TPM_NV_AUTH_POLICY policy;
+
+       ResetMocks();
+       calls[0].rsp = osap_response;
+       calls[0].rsp_size = sizeof(osap_response);
+       calls[1].rsp = define_space_response;
+       calls[1].rsp_size = sizeof(define_space_response);
+       TEST_EQ(TlclDefineSpaceEx(owner_secret, sizeof(owner_secret),
+                                 0x20000005, 0x2000, 0x10, NULL, 0),
+               TPM_SUCCESS, "DefineSpace");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_OSAP, "  osap cmd");
+       TEST_EQ(calls[1].req_cmd, TPM_ORD_NV_DefineSpace, "  definespace cmd");
+
+       /* Pass an auth policy. */
+       ResetMocks();
+       calls[0].rsp = osap_response;
+       calls[0].rsp_size = sizeof(osap_response);
+       calls[1].rsp = define_space_response;
+       calls[1].rsp_size = sizeof(define_space_response);
+       TEST_EQ(TlclDefineSpaceEx(owner_secret, sizeof(owner_secret),
+                                 0x20000005, 0x2000, 0x10, &policy,
+                                 sizeof(policy)),
+               TPM_SUCCESS, "DefineSpace");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_OSAP, "  osap cmd");
+       TEST_EQ(calls[1].req_cmd, TPM_ORD_NV_DefineSpace, "  definespace cmd");
+
+       /* Verify that the response gets authenticated. */
+       ResetMocks();
+       calls[0].rsp = osap_response;
+       calls[0].rsp_size = sizeof(osap_response);
+       calls[1].rsp = define_space_response;
+       calls[1].rsp_size = sizeof(define_space_response);
+       define_space_response[31] = 0;
+       TEST_EQ(TlclDefineSpaceEx(owner_secret, sizeof(owner_secret),
+                                 0x20000005, 0x2000, 0x10, NULL, 0),
+               TPM_E_AUTHFAIL, "DefineSpace - response auth");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_OSAP, "  osap cmd");
+       TEST_EQ(calls[1].req_cmd, TPM_ORD_NV_DefineSpace, "  definespace cmd");
+       define_space_response[31] = 0x40;
+
+       /* Verify that a short OSAP response gets caught. */
+       ResetMocks();
+       calls[0].rsp = osap_response;
+       calls[0].rsp_size = sizeof(osap_response);
+       ToTpmUint32(osap_response + sizeof(uint16_t),
+                   kTpmRequestHeaderLength + sizeof(uint32_t) +
+                   2 * sizeof(TPM_NONCE) - 1);
+       TEST_EQ(TlclDefineSpaceEx(owner_secret, sizeof(owner_secret),
+                                 0x20000005, 0x2000, 0x10, NULL, 0),
+               TPM_E_INVALID_RESPONSE, "DefineSpace - short OSAP response");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_OSAP, "  osap cmd");
+       ToTpmUint32(osap_response + sizeof(uint16_t), sizeof(osap_response));
+
+       /* Verify that a short DefineSpace response gets caught. */
+       ResetMocks();
+       calls[0].rsp = osap_response;
+       calls[0].rsp_size = sizeof(osap_response);
+       calls[1].rsp = define_space_response;
+       calls[1].rsp_size = sizeof(define_space_response);
+       ToTpmUint32(define_space_response + sizeof(uint16_t),
+                   kTpmResponseHeaderLength + kTpmResponseAuthBlockLength - 1);
+       TEST_EQ(TlclDefineSpaceEx(owner_secret, sizeof(owner_secret),
+                                 0x20000005, 0x2000, 0x10, NULL, 0),
+               TPM_E_INVALID_RESPONSE,
+               "DefineSpace - short DefineSpace response");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_OSAP, "  osap cmd");
+       TEST_EQ(calls[1].req_cmd, TPM_ORD_NV_DefineSpace, "  definespace cmd");
+       ToTpmUint32(define_space_response + sizeof(uint16_t),
+                   sizeof(define_space_response));
+}
+
+/**
+ * Test TlclInitNvAuthPolicy.
+ */
+static void InitNvAuthPolicyTest(void) {
+       const uint8_t empty_selection_digest[] = {
+               0x79, 0xdd, 0xda, 0xfd, 0xc1, 0x97, 0xdc, 0xcc,
+               0xe9, 0x98, 0x9a, 0xee, 0xf5, 0x52, 0x89, 0xee,
+               0x24, 0x96, 0x4c, 0xac,
+       };
+       const uint8_t pcr0_selection_digest[] = {
+               0xb3, 0x2b, 0x96, 0x30, 0xd3, 0x21, 0x1e, 0x99,
+               0x78, 0x9e, 0xd3, 0x1f, 0x11, 0x8e, 0x96, 0xbc,
+               0xf7, 0x7e, 0x7b, 0x06,
+       };
+       const uint8_t empty_selection_encoding[] = { 0x0, 0x0, 0x0 };
+       const uint8_t pcr0_selection_encoding[] = { 0x1, 0x0, 0x0 };
+       const uint8_t pcr_values[][TPM_PCR_DIGEST] = {
+               { 0x06, 0x4a, 0xec, 0x9b, 0xbd, 0x94, 0xde, 0xa1,
+                 0x23, 0x1a, 0xe7, 0x57, 0x67, 0x64, 0x7f, 0x09,
+                 0x8c, 0x39, 0x8e, 0x79, },
+       };
+       TPM_NV_AUTH_POLICY policy;
+
+       /* Test empty selection. */
+       uint32_t policy_size = sizeof(policy);
+       TlclInitNvAuthPolicy(0x0, NULL, &policy, &policy_size);
+       TEST_EQ(policy_size, sizeof(policy), "policy size");
+
+       uint16_t size_of_select;
+       FromTpmUint16(
+               (uint8_t*)&policy.pcr_info_read.pcrSelection.sizeOfSelect,
+               &size_of_select);
+       TEST_EQ(size_of_select, 3, "empty PCR selection read size of select");
+       TEST_EQ(memcmp(policy.pcr_info_read.pcrSelection.pcrSelect,
+                      empty_selection_encoding,
+                      sizeof(empty_selection_encoding)), 0,
+               "empty PCR selection read selection encoding");
+       TEST_EQ(policy.pcr_info_read.localityAtRelease,
+               TPM_ALL_LOCALITIES & ~TPM_LOC_THREE,
+               "empty PCR selection read locality");
+       TEST_EQ(memcmp(empty_selection_digest,
+                      policy.pcr_info_read.digestAtRelease.digest,
+                      TPM_PCR_DIGEST),
+               0, "empty PCR selection read digest");
+
+       FromTpmUint16(
+               (uint8_t*)&policy.pcr_info_write.pcrSelection.sizeOfSelect,
+               &size_of_select);
+       TEST_EQ(size_of_select, 3, "empty PCR selection write size of select");
+       TEST_EQ(memcmp(policy.pcr_info_write.pcrSelection.pcrSelect,
+                      empty_selection_encoding,
+                      sizeof(empty_selection_encoding)), 0,
+               "empty PCR selection write selection encoding");
+       TEST_EQ(policy.pcr_info_write.localityAtRelease,
+               TPM_ALL_LOCALITIES & ~TPM_LOC_THREE,
+               "empty PCR selection write locality");
+       TEST_EQ(memcmp(empty_selection_digest,
+                      policy.pcr_info_write.digestAtRelease.digest,
+                      TPM_PCR_DIGEST),
+               0, "empty PCR selection write digest");
+
+       /* Test PCR0 selection. */
+       TlclInitNvAuthPolicy(0x1, pcr_values, &policy, &policy_size);
+       TEST_EQ(policy_size, sizeof(policy), "policy size");
+
+       TEST_EQ(memcmp(policy.pcr_info_read.pcrSelection.pcrSelect,
+                      pcr0_selection_encoding,
+                      sizeof(pcr0_selection_encoding)), 0,
+               "PCR0 selection read selection encoding");
+       TEST_EQ(memcmp(pcr0_selection_digest,
+                      policy.pcr_info_read.digestAtRelease.digest,
+                      TPM_PCR_DIGEST),
+               0, "PCR0 selection read digest");
+
+       TEST_EQ(memcmp(policy.pcr_info_write.pcrSelection.pcrSelect,
+                      pcr0_selection_encoding,
+                      sizeof(pcr0_selection_encoding)), 0,
+               "PCR0 selection write selection encoding");
+       TEST_EQ(memcmp(pcr0_selection_digest,
+                      policy.pcr_info_write.digestAtRelease.digest,
+                      TPM_PCR_DIGEST),
+               0, "PCR0 selection write digest");
+}
+
+/**
+ * Test PCR funcs
+ *
+ * TODO: check params/data read/written.
+ */
+static void PcrTest(void)
+{
+       uint8_t buf[kPcrDigestLength], buf2[kPcrDigestLength];
+
+       ResetMocks();
+       TEST_EQ(TlclPCRRead(1, buf, kPcrDigestLength), 0, "PCRRead");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_PcrRead, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclPCRRead(1, buf, kPcrDigestLength - 1), TPM_E_IOERROR,
+               "PCRRead too small");
+
+       ResetMocks();
+       TEST_EQ(TlclExtend(1, buf, buf2), 0, "Extend");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_Extend, "  cmd");
+}
+
+/**
+ * Test TlclGetSpaceInfo.
+ */
+static void GetSpaceInfoTest(void)
+{
+       uint8_t response[] = {
+               0x00, 0xc4, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x18,
+               0x20, 0x00, 0x00, 0x04, 0x00, 0x03, 0x01, 0x00,
+               0x00, 0x01, 0xb3, 0x2b, 0x96, 0x30, 0xd3, 0x21,
+               0x1e, 0x99, 0x78, 0x9e, 0xd3, 0x1f, 0x11, 0x8e,
+               0x96, 0xbc, 0xf7, 0x7e, 0x7b, 0x06, 0x00, 0x03,
+               0x20, 0x00, 0x00, 0x10, 0x3b, 0xb2, 0x69, 0x03,
+               0x3d, 0x12, 0xe1, 0x99, 0x87, 0xe9, 0x3d, 0xf1,
+               0x11, 0xe8, 0x69, 0xcb, 0x7f, 0xe7, 0xb7, 0x60,
+               0x00, 0x17, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01,
+               0x01, 0x00, 0x00, 0x00, 0x45,
+       };
+
+       uint32_t attributes = 0;
+       uint32_t size = 0;
+       TPM_NV_AUTH_POLICY policy;
+       uint32_t policy_size = sizeof(policy);
+
+       /* Test successful parsing. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       TEST_EQ(TlclGetSpaceInfo(0x20000004, &attributes, &size, &policy,
+                                &policy_size),
+               TPM_SUCCESS, "GetSpaceInfo");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_GetCapability, "  cmd");
+       TEST_EQ(policy_size, sizeof(policy), "  policy_size");
+       TEST_EQ(attributes, TPM_NV_PER_WRITEDEFINE, "  attributes");
+       TEST_EQ(size, 0x45, "  size");
+       TEST_EQ(memcmp(&policy, response + 20, sizeof(policy)), 0, "  policy");
+
+       /* Test that GetPermissions returns the attributes as well. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       TEST_EQ(TlclGetPermissions(0x20000004, &attributes),
+               TPM_SUCCESS, "GetPermissions");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_GetCapability, "  cmd");
+       TEST_EQ(attributes, TPM_NV_PER_WRITEDEFINE, "  attributes");
+
+       /* Test whether a short response gets detected. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       ToTpmUint32(response + 10, 0x46);
+       TEST_EQ(TlclGetSpaceInfo(0x20000004, &attributes, &size, &policy,
+                                &policy_size),
+               TPM_E_INVALID_RESPONSE, "GetSpaceInfo short length");
+       ToTpmUint32(response + 10, 0x47);
+
+       /* Test whether an overlong PCR selection length causes failure. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       ToTpmUint16(response + 20, 4);
+       TEST_EQ(TlclGetSpaceInfo(0x20000004, &attributes, &size, &policy,
+                                &policy_size),
+               TPM_E_INVALID_RESPONSE, "GetSpaceInfo overlong pcr selection");
+       ToTpmUint16(response + 20, 3);
+
+       /* Test that a short policy buffer triggers an error. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       policy_size = sizeof(policy) - 1;
+       TEST_EQ(TlclGetSpaceInfo(0x20000004, &attributes, &size, &policy,
+                                &policy_size),
+               TPM_E_BUFFER_SIZE, "GetSpaceInfo short policy buffer");
+       TEST_EQ(sizeof(policy), policy_size, "  policy_size");
+}
+
+/**
+ * Test flags / capabilities
+ *
+ * TODO: check params/data read/written.
+ */
+static void FlagsTest(void)
+{
+       TPM_PERMANENT_FLAGS pflags;
+       TPM_STCLEAR_FLAGS vflags;
+       uint8_t disable = 0, deactivated = 0, nvlocked = 0;
+       uint8_t buf[32];
+
+       ResetMocks();
+       TEST_EQ(TlclGetPermanentFlags(&pflags), 0, "GetPermanentFlags");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_GetCapability, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclGetSTClearFlags(&vflags), 0, "GetSTClearFlags");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_GetCapability, "  cmd");
+
+       ResetMocks();
+       TEST_EQ(TlclGetFlags(NULL, NULL, NULL), 0, "GetFlags NULL");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_GetCapability, "  cmd");
+       ResetMocks();
+       TEST_EQ(TlclGetFlags(&disable, &deactivated, &nvlocked), 0, "GetFlags");
+
+       ResetMocks();
+       TEST_EQ(TlclGetOwnership(buf), 0, "GetOwnership");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_GetCapability, "  cmd");
+}
+
+/**
+ * Test random
+ *
+ * TODO: check params/data read/written.
+ * TODO: check overflow tests.
+ */
+static void RandomTest(void)
+{
+       uint8_t buf[32];
+       uint32_t size;
+
+       ResetMocks();
+       size = sizeof(buf);
+       TEST_EQ(TlclGetRandom(buf, sizeof(buf), &size), 0, "GetRandom");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_GetRandom, "  cmd");
+       TEST_EQ(size, 0, "  size 0");
+}
+
+/**
+ * Test GetVersion
+ */
+static void GetVersionTest(void)
+{
+       uint8_t response[] = {
+               0x00, 0xc4, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x30,
+               0x01, 0x02, 0x04, 0x20, 0x00, 0x02, 0x03, 0x49,
+               0x46, 0x58, 0x00, 0x00, 0x0d, 0x04, 0x20, 0x03,
+               0x6f, 0x00, 0x74, 0x70, 0x6d, 0x33, 0x38, 0xff,
+               0xff, 0xff
+       };
+
+       uint32_t vendor;
+       uint64_t firmware_version;
+       uint8_t vendor_specific[32];
+       size_t vendor_specific_size;
+
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       TEST_EQ(TlclGetVersion(&vendor, &firmware_version, NULL, NULL), 0,
+               "GetVersion");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_GetCapability, "  cmd");
+       TEST_EQ(vendor, 0x49465800, "  vendor");
+       TEST_EQ(firmware_version, 0x420, "  firmware_version");
+
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       vendor_specific_size = 100;
+       TEST_EQ(TlclGetVersion(&vendor, &firmware_version,
+               NULL, &vendor_specific_size), 0,
+               "GetVersion - vendor specific size");
+       TEST_EQ(vendor_specific_size, 0xd, "  vendor specific size");
+
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       vendor_specific_size = sizeof(vendor_specific);
+       TEST_EQ(TlclGetVersion(&vendor, &firmware_version,
+               vendor_specific, &vendor_specific_size), 0,
+               "GetVersion - vendor specific data");
+       TEST_EQ(vendor_specific_size, 0xd, "  vendor specific size");
+       TEST_EQ(memcmp(vendor_specific, response + 29, 0xd), 0,
+               "  vendor specific data check");
+
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       vendor_specific_size = 4;
+       TEST_EQ(TlclGetVersion(&vendor, &firmware_version,
+               vendor_specific, &vendor_specific_size), 0,
+               "GetVersion - vendor specific data, short buf");
+       TEST_EQ(vendor_specific_size, 4,
+               "  min(vendor specific size, buf size)");
+       TEST_EQ(memcmp(vendor_specific, response + 29, 4), 0,
+               "  vendor specific data check");
+
+       ResetMocks();
+       SetResponse(0, TPM_E_IOERROR, 0);
+       TEST_EQ(TlclGetVersion(&vendor, &firmware_version, NULL, NULL),
+               TPM_E_IOERROR, "GetVersion - error");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_GetCapability, "  cmd");
+
+       /* Adjust response to indicate a 1 byte too short payload size. */
+       ToTpmUint32(response + kTpmResponseHeaderLength, 14);
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       TEST_EQ(TlclGetVersion(&vendor, &firmware_version, NULL, NULL),
+               TPM_E_IOERROR, "GetVersion -- short");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_GetCapability, "  cmd");
+
+       /* Adjust response to indicate a payload size too long for the
+        * response buffer. */
+       ToTpmUint32(response + kTpmResponseHeaderLength,
+                       TPM_LARGE_ENOUGH_COMMAND_SIZE - sizeof(uint32_t) -
+                       kTpmResponseHeaderLength + 1);
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       TEST_EQ(TlclGetVersion(&vendor, &firmware_version, NULL, NULL),
+               TPM_E_IOERROR, "GetVersion -- long");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_GetCapability, "  cmd");
+
+       /* Restore the original payload length and adjust response to contain
+        * less vendor specific data than indicated in its size. */
+       ToTpmUint32(response + kTpmResponseHeaderLength, 0x1c);
+       ToTpmUint16(response + 27, 0xd + 1);
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       TEST_EQ(TlclGetVersion(&vendor, &firmware_version,
+               NULL, &vendor_specific_size), TPM_E_IOERROR,
+               "GetVersion -- short with vendor specific");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_GetCapability, "  cmd");
+}
+
+/**
+ * Test IFX FieldUpgradeInfoRequest2
+ */
+static void IFXFieldUpgradeInfoTest(void)
+{
+       uint8_t version_response[] = {
+               0x00, 0xc4, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x30,
+               0x01, 0x02, 0x04, 0x20, 0x00, 0x02, 0x03, 0x49,
+               0x46, 0x58, 0x00, 0x00, 0x0d, 0x04, 0x20, 0x03,
+               0x6f, 0x00, 0x74, 0x70, 0x6d, 0x33, 0x38, 0xff,
+               0xff, 0xff
+       };
+       uint8_t upgrade_info_response[] = {
+               0x00, 0xc4, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x6a, 0x03, 0x02, 0x04, 0x9c,
+               0x04, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x08,
+               0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x05, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x01,
+               0x01, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00,
+               0x00, 0x00, 0x04, 0x01, 0x02, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0xff, 0xff, 0xee, 0xee, 0x5a, 0x3c,
+               0x04, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x32,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x3f
+       };
+
+       ResetMocks();
+       calls[0].rsp = version_response;
+       calls[0].rsp_size = sizeof(version_response);
+       calls[1].rsp = upgrade_info_response;
+       calls[1].rsp_size = sizeof(upgrade_info_response);
+       TPM_IFX_FIELDUPGRADEINFO info;
+       TEST_EQ(TlclIFXFieldUpgradeInfo(&info), 0, "IFXFieldUpgradeInfo");
+       TEST_EQ(calls[1].req_cmd, TPM_ORD_FieldUpgrade, "  cmd");
+       TEST_EQ(info.wMaxDataSize, 1180, "  wMaxDatasize");
+       TEST_EQ(info.sBootloaderFirmwarePackage.FwPackageIdentifier, 0x50100,
+               "  bootloader FWPackageIdeintifier");
+       TEST_EQ(info.sBootloaderFirmwarePackage.Version, 0xffff,
+               "  bootloader Version");
+       TEST_EQ(info.sBootloaderFirmwarePackage.StaleVersion, 0x0,
+               "  bootloader StaleVersion");
+       TEST_EQ(info.sFirmwarePackages[0].FwPackageIdentifier, 0x4010100,
+               "  fw[0] FWPackageIdeintifier");
+       TEST_EQ(info.sFirmwarePackages[0].Version, 0xbe,
+               "  fw[0] Version");
+       TEST_EQ(info.sFirmwarePackages[0].StaleVersion, 0x0,
+               "  fw[0] StaleVersion");
+       TEST_EQ(info.sFirmwarePackages[1].FwPackageIdentifier, 0x4010200,
+               "  fw[1] FWPackageIdeintifier");
+       TEST_EQ(info.sFirmwarePackages[1].Version, 0x0,
+               "  fw[1] Version");
+       TEST_EQ(info.sFirmwarePackages[1].StaleVersion, 0xffffeeee,
+               "  fw[1] StaleVersion");
+       TEST_EQ(info.wSecurityModuleStatus, 0x5a3c, "  wSecurityModuleStatus");
+       TEST_EQ(info.sProcessFirmwarePackage.FwPackageIdentifier, 0x4010200,
+               "  process FWPackageIdeintifier");
+       TEST_EQ(info.sProcessFirmwarePackage.Version, 0x832,
+               "  process Version");
+       TEST_EQ(info.sProcessFirmwarePackage.StaleVersion, 0x0,
+               "  process StaleVersion");
+       TEST_EQ(info.wFieldUpgradeCounter, 0x3f, "  wFieldUpgradeCounter");
+
+       ResetMocks();
+       calls[0].rsp = version_response;
+       calls[0].rsp_size = sizeof(version_response);
+       SetResponse(1, TPM_E_IOERROR, sizeof(upgrade_info_response) - 1);
+       TEST_EQ(TlclIFXFieldUpgradeInfo(&info), TPM_E_IOERROR,
+               "IFXFieldUpgradeInfo - error");
+       TEST_EQ(calls[1].req_cmd, TPM_ORD_FieldUpgrade, "  cmd");
+
+       /* Adjust response to indicate a 1 byte too short payload size. */
+       ToTpmUint16(upgrade_info_response + kTpmRequestHeaderLength,
+                   sizeof(upgrade_info_response) - kTpmRequestHeaderLength -
+                   sizeof(uint16_t) - 1);
+       ResetMocks();
+       calls[0].rsp = version_response;
+       calls[0].rsp_size = sizeof(version_response);
+       calls[1].rsp = upgrade_info_response;
+       calls[1].rsp_size = sizeof(upgrade_info_response);
+       TEST_EQ(TlclIFXFieldUpgradeInfo(&info), TPM_E_INVALID_RESPONSE,
+               "IFXFieldUpgradeInfo - short");
+       TEST_EQ(calls[1].req_cmd, TPM_ORD_FieldUpgrade, "  cmd");
+
+       /* Adjust version response to claim a non-IFX vendor. */
+       ToTpmUint32(version_response + kTpmResponseHeaderLength +
+                   sizeof(uint32_t), 0);
+       ResetMocks();
+       calls[0].rsp = version_response;
+       calls[0].rsp_size = sizeof(version_response);
+       TEST_EQ(TlclIFXFieldUpgradeInfo(&info), TPM_E_INVALID_RESPONSE,
+               "IFXFieldUpgradeInfo - bad vendor");
+       TEST_EQ(calls[1].req_cmd, TPM_ORD_FieldUpgrade, "  cmd");
+}
+
+/**
+ * Test ReadPubek
+ */
+static void ReadPubekTest(void) {
+       uint8_t response[] = {
+               0x00, 0xc4, 0x00, 0x00, 0x01, 0x3a, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03,
+               0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00,
+               0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x9c, 0xa8,
+               0x8f, 0x15, 0x6d, 0xbf, 0x37, 0x6f, 0x8d, 0xb7,
+               0xb2, 0xe2, 0x79, 0x81, 0xf7, 0xc2, 0x3c, 0x84,
+               0x64, 0x35, 0x38, 0x59, 0x6a, 0x87, 0x23, 0xe0,
+               0x2a, 0xca, 0x40, 0x37, 0x78, 0x75, 0x18, 0xfc,
+               0x2d, 0xbe, 0x2b, 0xd9, 0x77, 0x49, 0x4b, 0x8c,
+               0xea, 0xe3, 0xcd, 0xa5, 0x27, 0x2b, 0x48, 0x2f,
+               0xbe, 0x3b, 0x14, 0xca, 0xe5, 0x22, 0x31, 0xb8,
+               0xa1, 0x14, 0xc6, 0x06, 0x8d, 0x14, 0xe8, 0x4a,
+               0x36, 0x4d, 0xd3, 0x5f, 0xde, 0x23, 0xd1, 0x7b,
+               0xec, 0x3b, 0xdd, 0x84, 0xa4, 0xd4, 0xe9, 0x9a,
+               0x89, 0x94, 0x5c, 0xa0, 0x01, 0xfb, 0x95, 0x61,
+               0x01, 0xaf, 0x6b, 0x17, 0x39, 0x44, 0x7e, 0x25,
+               0x9b, 0x73, 0xfa, 0xde, 0x20, 0xb6, 0x92, 0x95,
+               0x7b, 0x76, 0x9f, 0x44, 0xb0, 0xfb, 0x86, 0x9f,
+               0xc5, 0xe2, 0x38, 0x9d, 0xcf, 0xce, 0x32, 0x53,
+               0x3b, 0x3d, 0x10, 0xb7, 0x89, 0x53, 0x54, 0xc0,
+               0x28, 0x52, 0xfc, 0x7a, 0xa9, 0x5b, 0x03, 0xd7,
+               0x55, 0x2b, 0x07, 0xa7, 0x22, 0x5b, 0x1e, 0xe5,
+               0x4f, 0x43, 0x70, 0x7d, 0x81, 0xbb, 0x3d, 0x56,
+               0xfe, 0x5c, 0x47, 0xcc, 0xc0, 0x6e, 0xc8, 0xc7,
+               0xd9, 0x96, 0x53, 0x2d, 0xd2, 0x28, 0xc7, 0xdf,
+               0x5a, 0x07, 0x50, 0x3b, 0x17, 0x25, 0xe7, 0x51,
+               0xed, 0xf7, 0x94, 0x02, 0x2a, 0x4c, 0x31, 0x57,
+               0x34, 0x51, 0x05, 0x26, 0x43, 0xd4, 0x40, 0x47,
+               0x3e, 0x02, 0xfe, 0xa5, 0x08, 0xc7, 0x94, 0xaa,
+               0xd3, 0x14, 0x02, 0x1b, 0x41, 0x4c, 0xcd, 0xd6,
+               0x8c, 0xad, 0x8e, 0x72, 0x1a, 0x36, 0xc7, 0x23,
+               0xd1, 0x38, 0x83, 0x9f, 0xac, 0x66, 0xc5, 0x25,
+               0x82, 0x9d, 0x18, 0x67, 0x78, 0xca, 0x15, 0x63,
+               0x15, 0xd8, 0x83, 0xbd, 0xcc, 0xe7, 0xf7, 0xe9,
+               0xba, 0xda, 0x23, 0xdf, 0x53, 0x30, 0x51, 0x1a,
+               0xf1, 0x0c, 0x02, 0xe7, 0x65, 0x0d, 0x95, 0x52,
+               0x76, 0xd1, 0x1b, 0xb0, 0x77, 0xba, 0x31, 0x0b,
+               0x17, 0xb5, 0x63, 0x0d, 0x50, 0x7c, 0xbc, 0x63,
+               0xbf, 0xc3,
+       };
+       uint32_t exponent = 0;
+       uint8_t modulus[TPM_RSA_2048_LEN];
+       uint32_t modulus_size = TPM_RSA_2048_LEN;
+
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       TEST_EQ(TlclReadPubek(&exponent, modulus, &modulus_size), TPM_SUCCESS,
+               "ReadPubek");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_ReadPubek, "  cmd");
+       TEST_EQ(exponent, 0x10001, "  exponent");
+       TEST_EQ(memcmp(modulus, response + 38, sizeof(modulus)), TPM_SUCCESS,
+               "  modulus");
+       TEST_EQ(modulus_size, 0x100, "  modulus_size");
+
+       /* Test that the command returns the full size of the modulus if the
+        * input buffer is too small. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       modulus_size = 0;
+       TEST_EQ(TlclReadPubek(&exponent, NULL, &modulus_size),
+               TPM_E_BUFFER_SIZE, "ReadPubek - returns modulus size");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_ReadPubek, "  cmd");
+       TEST_EQ(modulus_size, 0x100, "  modulus_size");
+
+       /* Test that a too large parm_size value gets handled correctly. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       ToTpmUint32(response + 18, 1 << 24);
+       TEST_EQ(TlclReadPubek(&exponent, NULL, &modulus_size),
+               TPM_E_INVALID_RESPONSE, "ReadPubek - large parm_size");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_ReadPubek, "  cmd");
+       ToTpmUint32(response + 18, 12);
+
+       /* Test that a too small parm_size value gets handled correctly. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       ToTpmUint32(response + 18, 11);
+       TEST_EQ(TlclReadPubek(&exponent, NULL, &modulus_size),
+               TPM_E_INVALID_RESPONSE, "ReadPubek - small parm_size");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_ReadPubek, "  cmd");
+       ToTpmUint32(response + 18, 12);
+
+       /* Test that an overlong modulus size gets handled correctly. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       ToTpmUint32(response + 34, 1 << 24);
+       modulus_size = sizeof(modulus);
+       TEST_EQ(TlclReadPubek(&exponent, NULL, &modulus_size),
+               TPM_E_INVALID_RESPONSE, "ReadPubek - large modulus size");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_ReadPubek, "  cmd");
+       ToTpmUint32(response + 34, TPM_RSA_2048_LEN);
+
+       /* Test that a large exponent size gets handled correctly. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       ToTpmUint32(response + 20, 1 << 24);
+       TEST_EQ(TlclReadPubek(&exponent, NULL, &modulus_size),
+               TPM_E_INVALID_RESPONSE, "ReadPubek - large exponent size");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_ReadPubek, "  cmd");
+       ToTpmUint32(response + 20, 0);
+
+       /* Test that an incorrect auth tag causes an error. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       response[294] = 0;
+       TEST_EQ(TlclReadPubek(&exponent, NULL, &modulus_size),
+               TPM_E_INVALID_RESPONSE, "ReadPubek - incorrect auth");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_ReadPubek, "  cmd");
+       response[294] = 0x60;
+}
+
+/**
+ * Test TakeOwnership
+ */
+static void TakeOwnershipTest(void) {
+       uint8_t oiap_response[] = {
+               0x00, 0xc4, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x4c, 0x04, 0x1a, 0x18, 0xa9,
+               0xf7, 0x9b, 0x2e, 0xe1, 0xf2, 0x16, 0x99, 0xa0,
+               0x27, 0x5f, 0x0c, 0x8f, 0x24, 0x55, 0x1d, 0xaf,
+               0x96, 0x49,
+       };
+       uint8_t take_ownership_response[] = {
+               0x00, 0xc5, 0x00, 0x00, 0x01, 0x62, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x11,
+               0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+               0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00,
+               0x0c, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+               0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x01, 0x00, 0x92, 0x61, 0xa5,
+               0x30, 0x5f, 0x39, 0xb7, 0xc3, 0x51, 0x53, 0x84,
+               0xaf, 0x51, 0x64, 0x65, 0xd7, 0x58, 0xda, 0x15,
+               0xb0, 0xb8, 0xe8, 0xea, 0xf5, 0xb2, 0x21, 0x34,
+               0x09, 0x71, 0xa0, 0xd5, 0x2b, 0x21, 0xd6, 0x16,
+               0xbd, 0x03, 0xc3, 0x83, 0x7e, 0x48, 0x36, 0xd7,
+               0xfa, 0xc7, 0x5e, 0x5e, 0xb4, 0xc3, 0x9f, 0x00,
+               0xcc, 0x7a, 0x3e, 0x0a, 0x00, 0x34, 0xbd, 0xbc,
+               0x7b, 0x28, 0x0e, 0x4a, 0xef, 0xa5, 0x86, 0x50,
+               0xa5, 0xfe, 0x8f, 0x7d, 0xbc, 0x86, 0xf3, 0x3d,
+               0x8c, 0x65, 0x4c, 0x3b, 0x29, 0x3b, 0x40, 0x8b,
+               0xca, 0xf9, 0xa1, 0xc8, 0x62, 0x52, 0xe1, 0x1f,
+               0x0d, 0x89, 0x71, 0xca, 0xbb, 0x64, 0xef, 0x3f,
+               0x97, 0x97, 0xed, 0x57, 0xb3, 0xd8, 0x67, 0x4c,
+               0x46, 0x1c, 0x35, 0x0c, 0xba, 0x12, 0xae, 0x2e,
+               0x6d, 0xa7, 0x48, 0xd6, 0x9a, 0x8a, 0x60, 0x22,
+               0xd9, 0xe5, 0x97, 0x50, 0xc1, 0x24, 0xaf, 0xb6,
+               0x41, 0xfe, 0x6d, 0xfe, 0x28, 0x3f, 0xce, 0x35,
+               0x9b, 0x77, 0xe9, 0xd5, 0x36, 0xdb, 0x70, 0x5e,
+               0xd7, 0xb9, 0x89, 0xac, 0xae, 0x55, 0x59, 0x00,
+               0x7d, 0x47, 0x5d, 0x73, 0x4f, 0x1b, 0x17, 0xfa,
+               0xae, 0xb0, 0xf7, 0xb7, 0x63, 0x4d, 0xa9, 0x94,
+               0x0c, 0x1e, 0x02, 0x59, 0x8d, 0x34, 0x1f, 0x01,
+               0x6d, 0xa7, 0x05, 0xa7, 0xae, 0xbd, 0x9b, 0xfa,
+               0xed, 0xe6, 0xe3, 0xf2, 0xc0, 0xa9, 0x16, 0xb6,
+               0xd2, 0x23, 0x37, 0x2e, 0x43, 0x5e, 0x5f, 0xe6,
+               0x77, 0x0d, 0x49, 0x48, 0x07, 0x57, 0x64, 0xd2,
+               0xd9, 0x60, 0xff, 0xe3, 0x60, 0xb6, 0xd7, 0xa5,
+               0xe3, 0xd8, 0xa3, 0x93, 0xb3, 0xe9, 0xeb, 0x1c,
+               0x53, 0x42, 0x08, 0x9f, 0x0c, 0x13, 0x72, 0x3c,
+               0x80, 0xf8, 0xa1, 0x8c, 0x4d, 0xe5, 0x1e, 0xe7,
+               0xef, 0x2b, 0x33, 0x23, 0x1e, 0x5a, 0xf6, 0xc1,
+               0x46, 0x78, 0x06, 0x7e, 0xe7, 0x00, 0x00, 0x00,
+               0x00, 0xef, 0x84, 0x26, 0xd3, 0xb6, 0x27, 0x4a,
+               0x4a, 0x0f, 0x84, 0x65, 0x4b, 0xff, 0x80, 0x7e,
+               0xb5, 0xf6, 0xbe, 0x8c, 0xed, 0x00, 0xad, 0xd1,
+               0x73, 0x8a, 0x55, 0x9f, 0x50, 0xb4, 0x34, 0xba,
+               0x2d, 0x6d, 0x80, 0x3a, 0xdc, 0x82, 0x94, 0x3b,
+               0x96, 0x58,
+       };
+       uint8_t encrypted_secret[] = {
+               0x46, 0x9a, 0x17, 0x31, 0x04, 0x72, 0x58, 0xcd,
+               0xac, 0xe7, 0xa4, 0x1f, 0x48, 0xa3, 0x89, 0x10,
+               0xac, 0x40, 0xe2, 0x66, 0xfa, 0xfd, 0xe9, 0xab,
+               0x7a, 0x55, 0xd3, 0xc0, 0x61, 0xca, 0x28, 0x0d,
+               0x29, 0x4a, 0xe4, 0x9a, 0xbe, 0x62, 0x51, 0xe8,
+               0x3f, 0xbf, 0x84, 0xae, 0x4e, 0x6c, 0x0e, 0x11,
+               0x2b, 0xba, 0x62, 0x5d, 0xf5, 0x9d, 0xf8, 0xcd,
+               0x5c, 0x9d, 0x5b, 0xee, 0x5e, 0xdc, 0xaf, 0xc1,
+               0xbf, 0x22, 0x14, 0x0d, 0x68, 0xdf, 0xe1, 0x94,
+               0x6b, 0x06, 0xc4, 0x5b, 0xdd, 0xee, 0xd3, 0xef,
+               0x67, 0xb5, 0xb0, 0xee, 0x58, 0x88, 0x2d, 0x5c,
+               0x7d, 0xda, 0x83, 0xd5, 0xb5, 0x72, 0x43, 0x33,
+               0xf7, 0x9e, 0xf0, 0x52, 0x8c, 0xc1, 0xf1, 0xea,
+               0xcf, 0x9f, 0x0e, 0xfb, 0xb3, 0x03, 0xfe, 0xb3,
+               0xb4, 0x38, 0xa2, 0xfb, 0x2f, 0x64, 0xb6, 0x42,
+               0x4c, 0x76, 0x70, 0xfa, 0x67, 0xc0, 0x48, 0x98,
+               0x52, 0x3e, 0xdb, 0xe6, 0xfe, 0x44, 0x96, 0x14,
+               0x5a, 0x6a, 0x19, 0x53, 0x46, 0x13, 0xe6, 0xc9,
+               0x21, 0xee, 0x8e, 0xc2, 0xf2, 0x39, 0x2d, 0xba,
+               0x6f, 0xeb, 0x80, 0x89, 0xf3, 0xea, 0xfa, 0x5c,
+               0x9c, 0x88, 0xe0, 0xb1, 0x53, 0xa0, 0xe5, 0xe0,
+               0x90, 0x33, 0x9d, 0x9d, 0x5f, 0xba, 0x6d, 0x68,
+               0xb2, 0x9f, 0x4f, 0xa1, 0x28, 0xf9, 0xc4, 0x53,
+               0x72, 0x51, 0x48, 0x4b, 0xb3, 0xf9, 0x18, 0x43,
+               0x3a, 0x85, 0xdc, 0x70, 0x46, 0x0c, 0x3c, 0xe1,
+               0x17, 0x1c, 0x18, 0x6f, 0xfd, 0xff, 0x77, 0x8d,
+               0x04, 0xfc, 0xb3, 0xc0, 0x9a, 0x03, 0x74, 0x1d,
+               0x06, 0x8f, 0xb6, 0x0a, 0x3e, 0xea, 0x91, 0x87,
+               0xa9, 0x68, 0x26, 0x91, 0x81, 0x02, 0xe4, 0x10,
+               0x66, 0xb6, 0x5f, 0x43, 0x47, 0x55, 0x25, 0xe0,
+               0xbd, 0xd3, 0xab, 0xbd, 0xfd, 0x15, 0x85, 0x39,
+               0x22, 0x93, 0xfc, 0x9d, 0x74, 0x0e, 0xcf, 0x5a,
+       };
+       uint8_t owner_secret[TPM_AUTH_DATA_LEN] = { 0 };
+
+       ResetMocks();
+       calls[0].rsp = oiap_response;
+       calls[0].rsp_size = sizeof(oiap_response);
+       calls[1].rsp = take_ownership_response;
+       calls[1].rsp_size = sizeof(take_ownership_response);
+       TEST_EQ(TlclTakeOwnership(encrypted_secret, encrypted_secret,
+                                 owner_secret), TPM_SUCCESS, "TakeOwnership");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_OIAP, "  oiap cmd");
+       TEST_EQ(calls[1].req_cmd, TPM_ORD_TakeOwnership, "  takeownership cmd");
+
+       /* Verify that the response gets authenticated. */
+       ResetMocks();
+       calls[0].rsp = oiap_response;
+       calls[0].rsp_size = sizeof(oiap_response);
+       calls[1].rsp = take_ownership_response;
+       calls[1].rsp_size = sizeof(take_ownership_response);
+       take_ownership_response[334] = 0;
+       TEST_EQ(TlclTakeOwnership(encrypted_secret, encrypted_secret,
+                                 owner_secret),
+               TPM_E_AUTHFAIL, "TakeOwnership - response auth");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_OIAP, "  oiap cmd");
+       TEST_EQ(calls[1].req_cmd, TPM_ORD_TakeOwnership, "  takeownership cmd");
+       take_ownership_response[334] = 0xad;
+
+       /* Verify that a short OIAP response gets caught. */
+       ResetMocks();
+       calls[0].rsp = oiap_response;
+       calls[0].rsp_size = sizeof(oiap_response);
+       ToTpmUint32(oiap_response + sizeof(uint16_t),
+                   kTpmRequestHeaderLength + sizeof(uint32_t) +
+                   sizeof(TPM_NONCE) - 1);
+       TEST_EQ(TlclTakeOwnership(encrypted_secret, encrypted_secret,
+                                 owner_secret),
+               TPM_E_INVALID_RESPONSE, "TakeOwnership - short OIAP response");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_OIAP, "  oiap cmd");
+       ToTpmUint32(oiap_response + sizeof(uint16_t), sizeof(oiap_response));
+
+       /* Verify that a short TakeOwnership response gets caught. */
+       ResetMocks();
+       calls[0].rsp = oiap_response;
+       calls[0].rsp_size = sizeof(oiap_response);
+       calls[1].rsp = take_ownership_response;
+       calls[1].rsp_size = sizeof(take_ownership_response);
+       ToTpmUint32(take_ownership_response + sizeof(uint16_t),
+                   kTpmResponseHeaderLength + kTpmResponseAuthBlockLength - 1);
+       TEST_EQ(TlclTakeOwnership(encrypted_secret, encrypted_secret,
+                                 owner_secret),
+               TPM_E_INVALID_RESPONSE,
+               "TakeOwnership - short TakeOwnership response");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_OIAP, "  oiap cmd");
+       TEST_EQ(calls[1].req_cmd, TPM_ORD_TakeOwnership, "  takeownership cmd");
+       ToTpmUint32(take_ownership_response + sizeof(uint16_t),
+                   sizeof(take_ownership_response));
+}
+
+/**
+ * Test ReadDelegationFamilyTable
+ */
+static void ReadDelegationFamilyTableTest(void) {
+       uint8_t response[] = {
+               0x00, 0xc4, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x25,
+               0x17, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00,
+               0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x25, 0x42,
+               0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x01,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+       };
+
+       TPM_FAMILY_TABLE_ENTRY table[20];
+       uint32_t table_size;
+
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       table_size = 8;
+       TEST_EQ(TlclReadDelegationFamilyTable(table, &table_size),
+               TPM_SUCCESS, "ReadDelegationFamilyTable");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_Delegate_ReadTable, "  cmd");
+       TEST_EQ(table_size, 2, "  table_size");
+       TEST_EQ(table[0].tag, 0x25, "  table[0].tag");
+       TEST_EQ(table[0].familyLabel, 0x17, "  table[0].familyLabel");
+       TEST_EQ(table[0].familyID, 0x4f, "  table[0].familyID");
+       TEST_EQ(table[0].verificationCount, 0x1,
+               "  table[0].verificationCount");
+       TEST_EQ(table[0].flags, 0x2, "  table[0].flags");
+       TEST_EQ(table[1].tag, 0x25, "  table[1].tag");
+       TEST_EQ(table[1].familyLabel, 0x42, "  table[1].familyLabel");
+       TEST_EQ(table[1].familyID, 0x50, "  table[1].familyID");
+       TEST_EQ(table[1].verificationCount, 0x1,
+               "  table[1].verificationCount");
+       TEST_EQ(table[1].flags, 0x0, "  table[1].flags");
+
+       /* Test that required table size is returned if more space required. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       table_size = 1;
+       TEST_EQ(TlclReadDelegationFamilyTable(table, &table_size),
+               TPM_E_BUFFER_SIZE, "ReadDelegationFamilyTable");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_Delegate_ReadTable, "  cmd");
+       TEST_EQ(table_size, 2, "  table_size");
+
+       /* Test that an overlong response gets caught. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       ToTpmUint32(response + sizeof(uint16_t), TPM_LARGE_ENOUGH_COMMAND_SIZE +
+                   1);
+       TEST_EQ(TlclReadDelegationFamilyTable(table, &table_size),
+               TPM_E_INVALID_RESPONSE,
+               "ReadDelegationFamilyTable - too long response");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_Delegate_ReadTable, "  cmd");
+       ToTpmUint32(response + sizeof(uint16_t), sizeof(response));
+
+       /* Test that a short response gets caught. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       ToTpmUint32(response + sizeof(uint16_t),
+                   kTpmRequestHeaderLength + sizeof(uint32_t) - 1);
+       TEST_EQ(TlclReadDelegationFamilyTable(table, &table_size),
+               TPM_E_INVALID_RESPONSE,
+               "ReadDelegationFamilyTable - too short response");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_Delegate_ReadTable, "  cmd");
+       ToTpmUint32(response + sizeof(uint16_t), sizeof(response));
+
+       /* Test that long table size in response gets caught. */
+       ResetMocks();
+       calls[0].rsp = response;
+       calls[0].rsp_size = sizeof(response);
+       table_size = 20;
+       ToTpmUint32(response + kTpmResponseHeaderLength,
+                   TPM_LARGE_ENOUGH_COMMAND_SIZE);
+       TEST_EQ(TlclReadDelegationFamilyTable(table, &table_size),
+               TPM_E_INVALID_RESPONSE,
+               "ReadDelegationFamilyTable - overlong family table");
+       TEST_EQ(calls[0].req_cmd, TPM_ORD_Delegate_ReadTable, "  cmd");
+       ToTpmUint32(response + kTpmResponseHeaderLength, 0x1e);
+}
+
+int main(void)
+{
+       TlclTest();
+       SendCommandTest();
+       ReadWriteTest();
+       DefineSpaceExTest();
+       InitNvAuthPolicyTest();
+       PcrTest();
+       GetSpaceInfoTest();
+       FlagsTest();
+       RandomTest();
+       GetVersionTest();
+       IFXFieldUpgradeInfoTest();
+       ReadPubekTest();
+       TakeOwnershipTest();
+       ReadDelegationFamilyTableTest();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/tpm_lite/lock.c b/tests/tpm_lite/lock.c
new file mode 100644 (file)
index 0000000..55d2dfe
--- /dev/null
@@ -0,0 +1,29 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Test of locking, to see if locks count as writes.  (They should.)
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "tlcl.h"
+
+#define INDEX0 0xda70
+
+
+int main(int argc, char** argv) {
+       TlclLibInit();
+
+       TlclStartup();
+       TlclSelfTestFull();
+
+       TlclAssertPhysicalPresence();
+
+       TlclWriteLock(INDEX0);
+
+       printf("Locked %#x\n", INDEX0);
+       exit(0);
+}
diff --git a/tests/tpm_lite/readonly.c b/tests/tpm_lite/readonly.c
new file mode 100644 (file)
index 0000000..68de06b
--- /dev/null
@@ -0,0 +1,114 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* This program mimicks the TPM usage from read-only firmware.  It exercises
+ * the TPM functionality needed in the read-only firmware.  It is meant to be
+ * integrated with the rest of the read-only firmware.  It is also provided as
+ * a test.
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "tlcl.h"
+
+/* These index values are used to create NVRAM spaces.  They only need to be
+ * unique.
+ */
+#define INDEX0 0xda70
+#define INDEX1 0xda71
+#define INDEX2 0xda72
+#define INDEX3 0xda73
+
+#define INDEX_INITIALIZED 0xda80
+
+/* This is called once at initialization time.  It may be called again from
+ * recovery mode to rebuild the spaces if something incomprehensible happened
+ * and the spaces are gone or messed up.  This is called after TPM_Startup and
+ * before the spaces are write-locked, so there is a chance that they can be
+ * recreated (but who knows---if anything can happen, there are plenty of ways
+ * of making this FUBAR).
+ */
+void InitializeSpaces(void) {
+       uint32_t zero = 0;
+       uint32_t perm = TPM_NV_PER_WRITE_STCLEAR | TPM_NV_PER_PPWRITE;
+
+       printf("Initializing spaces\n");
+       TlclSetNvLocked();  /* useful only the first time */
+
+       TlclDefineSpace(INDEX0, perm, 4);
+       TlclWrite(INDEX0, (uint8_t *) &zero, 4);
+       TlclDefineSpace(INDEX1, perm, 4);
+       TlclWrite(INDEX1, (uint8_t *) &zero, 4);
+       TlclDefineSpace(INDEX2, perm, 4);
+       TlclWrite(INDEX2, (uint8_t *) &zero, 4);
+       TlclDefineSpace(INDEX3, perm, 4);
+       TlclWrite(INDEX3, (uint8_t *) &zero, 4);
+
+       perm = (TPM_NV_PER_READ_STCLEAR | TPM_NV_PER_WRITE_STCLEAR |
+               TPM_NV_PER_PPWRITE);
+       TlclDefineSpace(INDEX_INITIALIZED, perm, 1);
+}
+
+
+void EnterRecoveryMode(void) {
+       printf("entering recovery mode");
+       exit(0);
+}
+
+
+int main(int argc, char** argv) {
+       uint8_t c;
+       uint32_t index_0, index_1, index_2, index_3;
+
+       TlclLibInit();
+
+       TlclStartup();
+       TlclSelfTestFull();
+
+       TlclAssertPhysicalPresence();
+
+       /* Checks if initialization has completed by trying to read-lock a space
+        * that's created at the end of initialization.
+        */
+       if (TlclRead(INDEX_INITIALIZED, &c, 0) == TPM_E_BADINDEX) {
+               /* The initialization did not complete.
+               */
+               InitializeSpaces();
+       }
+
+       /* Checks if spaces are OK or messed up.
+        */
+       if (TlclRead(INDEX0, (uint8_t*) &index_0,
+                    sizeof(index_0)) != TPM_SUCCESS ||
+           TlclRead(INDEX1, (uint8_t*) &index_1,
+                    sizeof(index_1)) != TPM_SUCCESS ||
+           TlclRead(INDEX2, (uint8_t*) &index_2,
+                    sizeof(index_2)) != TPM_SUCCESS ||
+           TlclRead(INDEX3, (uint8_t*) &index_3,
+                    sizeof(index_3)) != TPM_SUCCESS) {
+               EnterRecoveryMode();
+       }
+
+       /* Writes space, and locks it.  Then attempts to write again.  I really wish
+        * I could use the imperative.
+        */
+       index_0 += 1;
+       if (TlclWrite(INDEX0, (uint8_t*) &index_0,
+                     sizeof(index_0) != TPM_SUCCESS)) {
+               error("could not write index 0\n");
+       }
+       TlclWriteLock(INDEX0);
+       if (TlclWrite(INDEX0, (uint8_t*) &index_0,
+                     sizeof(index_0)) == TPM_SUCCESS) {
+               error("index 0 is not locked\n");
+       }
+
+       /* Done for now.
+        */
+       printf("TEST SUCCEEDED\n");
+       exit(0);
+}
diff --git a/tests/tpm_lite/startup.c b/tests/tpm_lite/startup.c
new file mode 100644 (file)
index 0000000..573373d
--- /dev/null
@@ -0,0 +1,32 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Only perform a TPM_Startup command.
+ */
+
+#include <stdio.h>
+
+#include "tlcl.h"
+
+int main(int argc, char** argv) {
+       uint32_t result;
+       TlclLibInit();
+       result = TlclStartup();
+       if (result != 0) {
+               printf("tpm startup failed with %#x\n", result);
+       }
+       result = TlclGetFlags(NULL, NULL, NULL);
+       if (result != 0) {
+               printf("tpm getflags failed with %#x\n", result);
+       }
+       printf("executing SelfTestFull\n");
+       TlclSelfTestFull();
+       result = TlclGetFlags(NULL, NULL, NULL);
+       if (result != 0) {
+               printf("tpm getflags failed with %#x\n", result);
+       }
+       printf("TEST SUCCEEDED\n");
+       return 0;
+}
diff --git a/tests/tpm_lite/tlcl_tests.c b/tests/tpm_lite/tlcl_tests.c
new file mode 100644 (file)
index 0000000..40b9888
--- /dev/null
@@ -0,0 +1,29 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Shared code for tests.
+ */
+
+#include "2sysincludes.h"
+
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+const char* resilient_startup = NULL;
+
+uint32_t TlclStartupIfNeeded(void) {
+       static const char* null_getenv = "some string";  /* a unique address */
+       uint32_t result = TlclStartup();
+       if (resilient_startup == NULL) {
+               resilient_startup = getenv("TLCL_RESILIENT_STARTUP");
+               if (resilient_startup == NULL) {
+                       resilient_startup = null_getenv;
+               }
+       }
+       if (resilient_startup == null_getenv) {
+               return result;
+       }
+       return result == TPM_E_INVALID_POSTINIT ? TPM_SUCCESS : result;
+}
diff --git a/tests/tpm_lite/tlcl_tests.h b/tests/tpm_lite/tlcl_tests.h
new file mode 100644 (file)
index 0000000..db0999c
--- /dev/null
@@ -0,0 +1,34 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Common definitions for test programs.
+ */
+
+#ifndef VBOOT_REFERENCE_TLCL_TESTS_H_
+#define VBOOT_REFERENCE_TLCL_TESTS_H_
+
+/* Standard testing indexes. */
+#define INDEX0 0xcafe
+#define INDEX1 0xcaff
+
+/* Prints error and returns on failure */
+#define TPM_CHECK(tpm_command) TPM_EXPECT(tpm_command, TPM_SUCCESS)
+
+#define TPM_EXPECT(tpm_command, expected_result) do {                    \
+       uint32_t _result = (tpm_command);                                \
+       uint32_t _exp = (expected_result);                               \
+       if (_result != _exp) {                                           \
+               printf("TEST FAILED: line %d: " #tpm_command ": %#x"    \
+                      " (expecting %#x)\n", __LINE__, _result, _exp);  \
+               return _result;                                          \
+       }                                                                \
+} while (0)
+
+
+/* Executes TlclStartup(), but ignores POSTINIT error if the
+ * TLCL_RESILIENT_STARTUP environment variable is set.
+ */
+uint32_t TlclStartupIfNeeded(void);
+
+#endif  /* VBOOT_REFERENCE_TLCL_TESTS_H_ */
diff --git a/tests/tpm_lite/tpmtest_earlyextend.c b/tests/tpm_lite/tpmtest_earlyextend.c
new file mode 100644 (file)
index 0000000..8bab8af
--- /dev/null
@@ -0,0 +1,26 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Test of early use of TPM_Extend.
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+int main(int argc, char** argv) {
+       uint8_t value_in[20];
+       uint8_t value_out[20];
+
+       TlclLibInit();
+       TPM_CHECK(TlclStartup());
+       TPM_CHECK(TlclContinueSelfTest());
+       TPM_CHECK(TlclExtend(1, value_in, value_out));
+       printf("TEST SUCCEEDED\n");
+       exit(0);
+}
diff --git a/tests/tpm_lite/tpmtest_earlynvram.c b/tests/tpm_lite/tpmtest_earlynvram.c
new file mode 100644 (file)
index 0000000..db44862
--- /dev/null
@@ -0,0 +1,28 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Test of early writing to the NVRAM.
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+#define INDEX0 0xcafe
+
+int main(int argc, char** argv) {
+       uint32_t x;
+
+       TlclLibInit();
+       TPM_CHECK(TlclStartup());
+       TPM_CHECK(TlclContinueSelfTest());
+       TPM_CHECK(TlclAssertPhysicalPresence());
+       TPM_CHECK(TlclRead(INDEX0, (uint8_t*) &x, sizeof(x)));
+       printf("TEST SUCCEEDED\n");
+       return 0;
+}
diff --git a/tests/tpm_lite/tpmtest_earlynvram2.c b/tests/tpm_lite/tpmtest_earlynvram2.c
new file mode 100644 (file)
index 0000000..9307a58
--- /dev/null
@@ -0,0 +1,26 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Test of early writing to the NVRAM.
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+int main(int argc, char** argv) {
+       uint32_t x;
+
+       TlclLibInit();
+       TPM_CHECK(TlclStartup());
+       TPM_CHECK(TlclContinueSelfTest());
+       TPM_CHECK(TlclAssertPhysicalPresence());
+       TPM_CHECK(TlclWrite(INDEX0, (uint8_t*) &x, sizeof(x)));
+       printf("TEST SUCCEEDED\n");
+       return 0;
+}
diff --git a/tests/tpm_lite/tpmtest_enable.c b/tests/tpm_lite/tpmtest_enable.c
new file mode 100644 (file)
index 0000000..c2fe54b
--- /dev/null
@@ -0,0 +1,36 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Testing: ownership testing code, ForceClear, and nvram write limit.
+ */
+
+#include <stdio.h>
+
+#include "2common.h"
+#include "host_common.h"
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+
+int main(int argc, char** argv) {
+       uint8_t disable, deactivated;
+
+       TlclLibInit();
+       TPM_CHECK(TlclStartupIfNeeded());
+       TPM_CHECK(TlclSelfTestFull());
+       TPM_CHECK(TlclAssertPhysicalPresence());
+       TPM_CHECK(TlclGetFlags(&disable, &deactivated, NULL));
+       printf("disable is %d, deactivated is %d\n", disable, deactivated);
+       TPM_CHECK(TlclSetEnable());
+       TPM_CHECK(TlclSetDeactivated(0));
+       TPM_CHECK(TlclGetFlags(&disable, &deactivated, NULL));
+       printf("disable is %d, deactivated is %d\n", disable, deactivated);
+       if (disable == 1 || deactivated == 1) {
+               VB2_DEBUG("failed to enable or activate");
+               return 1;
+       }
+       printf("TEST SUCCEEDED\n");
+       return 0;
+}
diff --git a/tests/tpm_lite/tpmtest_fastenable.c b/tests/tpm_lite/tpmtest_fastenable.c
new file mode 100644 (file)
index 0000000..a93dfd7
--- /dev/null
@@ -0,0 +1,49 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Testing: ForceClear and behavior of disable and permanent deactivated flags.
+ *
+ * ForceClear sets the permanent disable and deactivated flags to their default
+ * value of TRUE.  The specs say nothing about STCLEAR flags, so they should be
+ * left alone.  This test checks that both flags may be reset without a reboot,
+ * resulting in a fully enabled and activated TPM.  (We know that because
+ * ForceClear requires that the TPM be enabled and activated to run.)
+ */
+
+#include <stdio.h>
+
+#include "host_common.h"
+#include "test_common.h"
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+int main(int argc, char** argv) {
+       uint8_t disable, deactivated;
+       int i;
+
+       TlclLibInit();
+       TPM_CHECK(TlclStartupIfNeeded());
+       TPM_CHECK(TlclSelfTestFull());
+       TPM_CHECK(TlclAssertPhysicalPresence());
+       TPM_CHECK(TlclGetFlags(&disable, &deactivated, NULL));
+       printf("disable is %d, deactivated is %d\n", disable, deactivated);
+
+       for (i = 0; i < 2; i++) {
+               TPM_CHECK(TlclForceClear());
+               TPM_CHECK(TlclGetFlags(&disable, &deactivated, NULL));
+               printf("disable is %d, deactivated is %d\n", disable, deactivated);
+               TEST_EQ(disable, 1, "after ForceClear, disable");
+               TEST_EQ(deactivated, 1, "after ForceClear, deactivated");
+               TPM_CHECK(TlclSetEnable());
+               TPM_CHECK(TlclSetDeactivated(0));
+               TPM_CHECK(TlclGetFlags(&disable, &deactivated, NULL));
+               printf("disable is %d, deactivated is %d\n", disable, deactivated);
+               TEST_EQ(disable, 0, "after SetEnable, enabled");
+               TEST_EQ(deactivated, 0, "after SetDeactivated(0), activated");
+       }
+
+       printf("TEST SUCCEEDED\n");
+       return 0;
+}
diff --git a/tests/tpm_lite/tpmtest_globallock.c b/tests/tpm_lite/tpmtest_globallock.c
new file mode 100644 (file)
index 0000000..14f16de
--- /dev/null
@@ -0,0 +1,56 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Test of two-stage locking using bGlobalLock and PP.
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "host_common.h"
+#include "test_common.h"
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+int main(int argc, char** argv) {
+       uint32_t zero = 0;
+       uint32_t x;
+
+       TlclLibInit();
+       TPM_CHECK(TlclStartupIfNeeded());
+       TPM_CHECK(TlclSelfTestFull());
+       TPM_CHECK(TlclAssertPhysicalPresence());
+       TPM_CHECK(TlclRead(INDEX0, (uint8_t*) &x, sizeof(x)));
+       TPM_CHECK(TlclWrite(INDEX0, (uint8_t*) &zero, sizeof(uint32_t)));
+       TPM_CHECK(TlclRead(INDEX1, (uint8_t*) &x, sizeof(x)));
+       TPM_CHECK(TlclWrite(INDEX1, (uint8_t*) &zero, sizeof(uint32_t)));
+       TPM_CHECK(TlclSetGlobalLock());
+
+       // Verifies that write to index0 fails.
+       x = 1;
+       TPM_EXPECT(TlclWrite(INDEX0, (uint8_t*) &x, sizeof(x)),
+                  TPM_E_AREA_LOCKED);
+       TPM_CHECK(TlclRead(INDEX0, (uint8_t*) &x, sizeof(x)));
+       TEST_EQ(x, 0, "Read from INDEX0 should give 0");
+
+       // Verifies that write to index1 is still possible.
+       x = 2;
+       TPM_CHECK(TlclWrite(INDEX1, (uint8_t*) &x, sizeof(x)));
+       TPM_CHECK(TlclRead(INDEX1, (uint8_t*) &x, sizeof(x)));
+       TEST_EQ(x, 0, "Read from INDEX1 should give 2");
+
+       // Turns off PP.
+       TlclLockPhysicalPresence();
+
+       // Verifies that write to index1 fails.
+       x = 3;
+       TPM_EXPECT(TlclWrite(INDEX1, (uint8_t*) &x, sizeof(x)),
+                  TPM_E_BAD_PRESENCE);
+       TPM_CHECK(TlclRead(INDEX1, (uint8_t*) &x, sizeof(x)));
+       TEST_EQ(x, 2, "Read from INDEX1 should give 2");
+       printf("TEST SUCCEEDED\n");
+       exit(0);
+}
diff --git a/tests/tpm_lite/tpmtest_redefine_unowned.c b/tests/tpm_lite/tpmtest_redefine_unowned.c
new file mode 100644 (file)
index 0000000..0f89870
--- /dev/null
@@ -0,0 +1,64 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Test of protection from space redefinition when an owner is NOT present.
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "host_common.h"
+#include "test_common.h"
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+int main(int argc, char** argv) {
+       uint32_t perm;
+       uint32_t x;
+
+       TlclLibInit();
+       TPM_CHECK(TlclStartupIfNeeded());
+       TPM_CHECK(TlclSelfTestFull());
+       TPM_CHECK(TlclAssertPhysicalPresence());
+
+       TEST_FALSE(TlclIsOwned(), "TlclIsOwned should return false");
+
+       /* Ensures spaces exist. */
+       TPM_CHECK(TlclRead(INDEX0, (uint8_t*) &x, sizeof(x)));
+       TPM_CHECK(TlclRead(INDEX1, (uint8_t*) &x, sizeof(x)));
+
+       /* Redefines spaces a couple of times. */
+       perm = TPM_NV_PER_PPWRITE | TPM_NV_PER_GLOBALLOCK;
+       TPM_CHECK(TlclDefineSpace(INDEX0, perm, 2 * sizeof(uint32_t)));
+       TPM_CHECK(TlclDefineSpace(INDEX0, perm, sizeof(uint32_t)));
+
+       perm = TPM_NV_PER_PPWRITE;
+       TPM_CHECK(TlclDefineSpace(INDEX1, perm, 2 * sizeof(uint32_t)));
+       TPM_CHECK(TlclDefineSpace(INDEX1, perm, sizeof(uint32_t)));
+
+       // Sets the global lock.
+       TlclSetGlobalLock();
+
+       // Verifies that index0 cannot be redefined.
+       TPM_EXPECT(TlclDefineSpace(INDEX0, perm, sizeof(uint32_t)),
+                  TPM_E_AREA_LOCKED);
+
+       // Checks that index1 can.
+       TPM_CHECK(TlclDefineSpace(INDEX1, perm, 2 * sizeof(uint32_t)));
+       TPM_CHECK(TlclDefineSpace(INDEX1, perm, sizeof(uint32_t)));
+
+       // Turns off PP.
+       TlclLockPhysicalPresence();
+
+       // Verifies that neither index0 nor index1 can be redefined.
+       TPM_EXPECT(TlclDefineSpace(INDEX0, perm, sizeof(uint32_t)),
+                  TPM_E_BAD_PRESENCE);
+       TPM_EXPECT(TlclDefineSpace(INDEX1, perm, sizeof(uint32_t)),
+                  TPM_E_BAD_PRESENCE);
+
+       printf("TEST SUCCEEDED\n");
+       exit(0);
+}
diff --git a/tests/tpm_lite/tpmtest_spaceperm.c b/tests/tpm_lite/tpmtest_spaceperm.c
new file mode 100644 (file)
index 0000000..8c9232b
--- /dev/null
@@ -0,0 +1,37 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Test of space permissions retrieval.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "host_common.h"
+#include "test_common.h"
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+#define PERMPPGL (TPM_NV_PER_PPWRITE | TPM_NV_PER_GLOBALLOCK)
+#define PERMPP TPM_NV_PER_PPWRITE
+
+int main(int argc, char** argv) {
+       uint32_t perm;
+
+       TlclLibInit();
+       TPM_CHECK(TlclStartupIfNeeded());
+       TPM_CHECK(TlclContinueSelfTest());
+       TPM_CHECK(TlclAssertPhysicalPresence());
+
+       TPM_CHECK(TlclGetPermissions(INDEX0, &perm));
+       TEST_NEQ(perm & PERMPPGL, 0, "INDEX0: PERMPPGL is not set");
+
+       TPM_CHECK(TlclGetPermissions(INDEX1, &perm));
+       TEST_NEQ(perm & PERMPP, 0, "INDEX1: PERMPP is not set");
+
+       printf("TEST SUCCEEDED\n");
+       exit(0);
+}
diff --git a/tests/tpm_lite/tpmtest_testsetup.c b/tests/tpm_lite/tpmtest_testsetup.c
new file mode 100644 (file)
index 0000000..a6331d9
--- /dev/null
@@ -0,0 +1,44 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Create two spaces for uses in tests.  OK if they already exist.
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+int main(int argc, char** argv) {
+       uint32_t perm;
+       uint32_t result;
+       uint32_t x;
+
+       TlclLibInit();
+
+       TPM_CHECK(TlclStartupIfNeeded());
+       TPM_CHECK(TlclSelfTestFull());
+       TPM_CHECK(TlclAssertPhysicalPresence());
+       TPM_CHECK(TlclForceClear());
+       TPM_CHECK(TlclSetEnable());
+       TPM_CHECK(TlclSetDeactivated(0));
+
+       result = TlclRead(INDEX0, (uint8_t*) &x, sizeof(x));
+       if (result == TPM_E_BADINDEX) {
+               perm = TPM_NV_PER_PPWRITE | TPM_NV_PER_GLOBALLOCK;
+               TPM_CHECK(TlclDefineSpace(INDEX0, perm, sizeof(uint32_t)));
+       }
+
+       result = TlclRead(INDEX1, (uint8_t*) &x, sizeof(x));
+       if (result == TPM_E_BADINDEX) {
+               perm = TPM_NV_PER_PPWRITE;
+               TPM_CHECK(TlclDefineSpace(INDEX1, perm, sizeof(uint32_t)));
+       }
+
+       printf("TEST SUCCEEDED\n");
+       exit(0);
+}
diff --git a/tests/tpm_lite/tpmtest_timing.c b/tests/tpm_lite/tpmtest_timing.c
new file mode 100644 (file)
index 0000000..b021763
--- /dev/null
@@ -0,0 +1,67 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Timing test for various TPM operations.  This is mostly a validity check to
+ * make sure the part doesn't have ridicolously bad timing on simple
+ * operations.
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <sys/time.h>
+#include <time.h>
+
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+/* Runs [op] and ensures it returns success and doesn't run longer than
+ * [time_limit] in milliseconds.
+ */
+#define TTPM_CHECK(op, time_limit) do {                          \
+       struct timeval before, after;                            \
+       int time;                                                \
+       uint32_t __result;                                       \
+       gettimeofday(&before, NULL);                             \
+       __result = op;                                           \
+       if (__result != TPM_SUCCESS) {                           \
+               printf(#op ": error %#x\n", __result);          \
+               errors++;                                        \
+       }                                                        \
+       gettimeofday(&after, NULL);                              \
+       time = (int) ((after.tv_sec - before.tv_sec) * 1000 +    \
+                     (after.tv_usec - before.tv_usec) / 1000);  \
+       printf(#op ": %d ms\n", time);                           \
+       if (time > time_limit) {                                 \
+               printf(#op " exceeded " #time_limit " ms\n");    \
+               time_limit_exceeded = 1;                         \
+       }                                                        \
+} while (0)
+
+int main(int argc, char** argv) {
+       uint32_t x;
+       uint8_t in[20], out[20];
+       int time_limit_exceeded = 0;
+       int errors = 0;
+
+       TlclLibInit();
+       TTPM_CHECK(0, 50);
+       TTPM_CHECK(TlclStartupIfNeeded(), 50);
+       TTPM_CHECK(TlclContinueSelfTest(), 100);
+       TTPM_CHECK(TlclSelfTestFull(), 1000);
+       TTPM_CHECK(TlclAssertPhysicalPresence(), 100);
+       TTPM_CHECK(TlclWrite(INDEX0, (uint8_t*) &x, sizeof(x)), 100);
+       TTPM_CHECK(TlclRead(INDEX0, (uint8_t*) &x, sizeof(x)), 100);
+       TTPM_CHECK(TlclExtend(0, in, out), 200);
+       TTPM_CHECK(TlclSetGlobalLock(), 50);
+       TTPM_CHECK(TlclLockPhysicalPresence(), 100);
+       if (time_limit_exceeded || errors > 0) {
+               printf("TEST FAILED\n");
+               exit(1);
+       } else {
+               printf("TEST SUCCEEDED\n");
+               return 0;
+       }
+}
diff --git a/tests/tpm_lite/tpmtest_writelimit.c b/tests/tpm_lite/tpmtest_writelimit.c
new file mode 100644 (file)
index 0000000..05e4a17
--- /dev/null
@@ -0,0 +1,63 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Test of recovery when we hit the NVRAM write limit for an unowned TPM.
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "2common.h"
+#include "host_common.h"
+#include "test_common.h"
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+#define TPM_MAX_NV_WRITES_NOOWNER 64
+
+int main(int argc, char** argv) {
+       int i;
+
+       uint32_t result;
+
+       TlclLibInit();
+
+       TPM_CHECK(TlclStartupIfNeeded());
+       TPM_CHECK(TlclSelfTestFull());
+       TPM_CHECK(TlclAssertPhysicalPresence());
+       TPM_CHECK(TlclForceClear());
+       TPM_CHECK(TlclSetEnable());
+       TPM_CHECK(TlclSetDeactivated(0));
+
+       for (i = 0; i < TPM_MAX_NV_WRITES_NOOWNER + 2; i++) {
+               printf("writing %d\n", i);
+               if ((result = TlclWrite(INDEX0, (uint8_t*)&i,
+                                       sizeof(i))) != TPM_SUCCESS) {
+                       switch (result) {
+                       case TPM_E_MAXNVWRITES:
+                               TEST_TRUE(i >= TPM_MAX_NV_WRITES_NOOWNER,
+                                         "MAXNVWRITES should only occur after "
+                                         "MAX_NV_WRITES_NOOWNER reached");
+                               break;
+                       default:
+                               VB2_DEBUG("unexpected error code %d (%#x)\n",
+                                         result, result);
+                               exit(1);
+                       }
+               }
+       }
+
+       /* Reset write count */
+       TPM_CHECK(TlclForceClear());
+       TPM_CHECK(TlclSetEnable());
+       TPM_CHECK(TlclSetDeactivated(0));
+
+       /* Try writing again. */
+       TPM_CHECK(TlclWrite(INDEX0, (uint8_t*)&i, sizeof(i)));
+
+       printf("TEST SUCCEEDED\n");
+       exit(0);
+}
diff --git a/tests/vb20_api_kernel_tests.c b/tests/vb20_api_kernel_tests.c
new file mode 100644 (file)
index 0000000..b835251
--- /dev/null
@@ -0,0 +1,367 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for kernel verification library, api layer
+ */
+
+#include <stdio.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2secdata.h"
+#include "2sysincludes.h"
+#include "test_common.h"
+#include "vboot_struct.h"
+
+/* Common context for tests */
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+static struct vb2_fw_preamble *fwpre;
+static struct vb2_kernel_preamble *kpre;
+static struct vb2_packed_key *kdkey;
+static const char fw_kernel_key_data[36] = "Test kernel key data";
+static char kernel_data[0x4008] = "Sure it's a kernel...";
+
+/* Mocked function data */
+
+static struct {
+       struct vb2_gbb_header h;
+       struct vb2_packed_key recovery_key;
+       char recovery_key_data[32];
+} mock_gbb;
+
+static int mock_read_res_fail_on_call;
+static int mock_unpack_key_retval;
+static int mock_load_kernel_keyblock_retval;
+static int mock_load_kernel_preamble_retval;
+static int mock_secdata_fwmp_check_retval;
+
+/* Type of test to reset for */
+enum reset_type {
+       FOR_PHASE1,
+       FOR_PHASE2,
+       FOR_PHASE3,
+};
+
+static void reset_common_data(enum reset_type t)
+{
+       struct vb2_packed_key *k;
+
+       memset(workbuf, 0xaa, sizeof(workbuf));
+
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+
+       sd = vb2_get_sd(ctx);
+       sd->status |= VB2_SD_STATUS_RECOVERY_DECIDED;
+       vb2_nv_init(ctx);
+
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS, 0x20002);
+
+       mock_read_res_fail_on_call = 0;
+       mock_unpack_key_retval = VB2_SUCCESS;
+       mock_load_kernel_keyblock_retval = VB2_SUCCESS;
+       mock_load_kernel_preamble_retval = VB2_SUCCESS;
+       mock_secdata_fwmp_check_retval = VB2_SUCCESS;
+
+       /* Recovery key in mock GBB */
+       memset(&mock_gbb, 0, sizeof(mock_gbb));
+       mock_gbb.recovery_key.algorithm = 11;
+       mock_gbb.recovery_key.key_offset =
+               vb2_offset_of(&mock_gbb.recovery_key,
+                             &mock_gbb.recovery_key_data);
+       mock_gbb.recovery_key.key_size = sizeof(mock_gbb.recovery_key_data);
+       strcpy(mock_gbb.recovery_key_data, "The recovery key");
+       mock_gbb.h.recovery_key_offset =
+               vb2_offset_of(&mock_gbb, &mock_gbb.recovery_key);
+       mock_gbb.h.recovery_key_size =
+               mock_gbb.recovery_key.key_offset +
+               mock_gbb.recovery_key.key_size;
+
+
+       if (t == FOR_PHASE1) {
+               uint8_t *kdata;
+
+               /* Create mock firmware preamble in the context */
+               sd->preamble_offset = sd->workbuf_used;
+               fwpre = (struct vb2_fw_preamble *)
+                       vb2_member_of(sd, sd->preamble_offset);
+               k = &fwpre->kernel_subkey;
+               kdata = (uint8_t *)fwpre + sizeof(*fwpre);
+               memcpy(kdata, fw_kernel_key_data, sizeof(fw_kernel_key_data));
+               k->algorithm = 7;
+               k->key_offset = vb2_offset_of(k, kdata);
+               k->key_size = sizeof(fw_kernel_key_data);
+               sd->preamble_size = sizeof(*fwpre) + k->key_size;
+               vb2_set_workbuf_used(ctx,
+                                    sd->preamble_offset + sd->preamble_size);
+
+               /* Needed to check that secdata_kernel initialization is
+                  performed by phase1 function. */
+               sd->status &= ~VB2_SD_STATUS_SECDATA_KERNEL_INIT;
+
+       } else if (t == FOR_PHASE2) {
+               struct vb2_signature *sig;
+               struct vb2_digest_context dc;
+               uint8_t *sdata;
+
+               /* Create mock kernel data key */
+               sd->data_key_offset = sd->workbuf_used;
+               kdkey = (struct vb2_packed_key *)
+                       vb2_member_of(sd, sd->data_key_offset);
+               kdkey->algorithm = VB2_ALG_RSA2048_SHA256;
+               sd->data_key_size = sizeof(*kdkey);
+               vb2_set_workbuf_used(ctx,
+                                    sd->data_key_offset + sd->data_key_size);
+
+               /* Create mock kernel preamble in the context */
+               sd->preamble_offset = sd->workbuf_used;
+               kpre = (struct vb2_kernel_preamble *)
+                       vb2_member_of(sd, sd->preamble_offset);
+               sdata = (uint8_t *)kpre + sizeof(*kpre);
+
+               sig = &kpre->body_signature;
+               sig->data_size = sizeof(kernel_data);
+               sig->sig_offset = vb2_offset_of(sig, sdata);
+               sig->sig_size = VB2_SHA512_DIGEST_SIZE;
+
+               vb2_digest_init(&dc, VB2_HASH_SHA256);
+               vb2_digest_extend(&dc, (const uint8_t *)kernel_data,
+                                 sizeof(kernel_data));
+               vb2_digest_finalize(&dc, sdata, sig->sig_size);
+
+               sd->preamble_size = sizeof(*kpre) + sig->sig_size;
+               sd->vblock_preamble_offset =
+                       0x10000 - sd->preamble_size;
+               vb2_set_workbuf_used(ctx,
+                                    sd->preamble_offset + sd->preamble_size);
+
+       } else {
+               /* Set flags and versions for roll-forward */
+               sd->kernel_version = 0x20004;
+               sd->kernel_version_secdata = 0x20002;
+               sd->flags |= VB2_SD_FLAG_KERNEL_SIGNED;
+               ctx->flags |= VB2_CONTEXT_ALLOW_KERNEL_ROLL_FORWARD;
+       }
+};
+
+/* Mocked functions */
+
+vb2_error_t vb2api_secdata_fwmp_check(struct vb2_context *c, uint8_t *size)
+{
+       return mock_secdata_fwmp_check_retval;
+}
+
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
+{
+       return &mock_gbb.h;
+}
+
+vb2_error_t vb2ex_read_resource(struct vb2_context *c,
+                               enum vb2_resource_index index, uint32_t offset,
+                               void *buf, uint32_t size)
+{
+       uint8_t *rptr;
+       uint32_t rsize;
+
+       if (--mock_read_res_fail_on_call == 0)
+               return VB2_ERROR_MOCK;
+
+       switch(index) {
+       case VB2_RES_GBB:
+               rptr = (uint8_t *)&mock_gbb;
+               rsize = sizeof(mock_gbb);
+               break;
+       default:
+               return VB2_ERROR_EX_READ_RESOURCE_INDEX;
+       }
+
+       if (offset > rsize || offset + size > rsize)
+               return VB2_ERROR_EX_READ_RESOURCE_SIZE;
+
+       memcpy(buf, rptr + offset, size);
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_load_kernel_keyblock(struct vb2_context *c)
+{
+       return mock_load_kernel_keyblock_retval;
+}
+
+vb2_error_t vb2_load_kernel_preamble(struct vb2_context *c)
+{
+       return mock_load_kernel_preamble_retval;
+}
+
+vb2_error_t vb2_unpack_key_buffer(struct vb2_public_key *key,
+                                 const uint8_t *buf, uint32_t size)
+{
+       const struct vb2_packed_key *k = (const struct vb2_packed_key *)buf;
+
+       key->arrsize = 0;
+       key->hash_alg = vb2_crypto_to_hash(k->algorithm);
+       return mock_unpack_key_retval;
+}
+
+vb2_error_t vb2_verify_digest(const struct vb2_public_key *key,
+                             struct vb2_signature *sig, const uint8_t *digest,
+                             const struct vb2_workbuf *wb)
+{
+       if (memcmp(digest, (uint8_t *)sig + sig->sig_offset, sig->sig_size))
+               return VB2_ERROR_VDATA_VERIFY_DIGEST;
+
+       return VB2_SUCCESS;
+}
+
+/* Tests */
+
+static void load_kernel_vblock_tests(void)
+{
+       reset_common_data(FOR_PHASE1);
+       TEST_SUCC(vb2api_load_kernel_vblock(ctx), "load vblock good");
+
+       reset_common_data(FOR_PHASE1);
+       mock_load_kernel_keyblock_retval = VB2_ERROR_MOCK;
+       TEST_EQ(vb2api_load_kernel_vblock(ctx), VB2_ERROR_MOCK,
+               "load vblock bad keyblock");
+
+       reset_common_data(FOR_PHASE1);
+       mock_load_kernel_preamble_retval = VB2_ERROR_MOCK;
+       TEST_EQ(vb2api_load_kernel_vblock(ctx), VB2_ERROR_MOCK,
+               "load vblock bad preamble");
+}
+
+static void get_kernel_size_tests(void)
+{
+       uint32_t offs, size;
+
+       reset_common_data(FOR_PHASE2);
+       offs = size = 0;
+       TEST_SUCC(vb2api_get_kernel_size(ctx, &offs, &size), "get size good");
+       TEST_EQ(offs, 0x10000, "  offset");
+       TEST_EQ(size, sizeof(kernel_data), "  size");
+
+       /* Don't need to pass pointers */
+       reset_common_data(FOR_PHASE2);
+       TEST_SUCC(vb2api_get_kernel_size(ctx, NULL, NULL), "get size null");
+
+       reset_common_data(FOR_PHASE2);
+       sd->preamble_size = 0;
+       TEST_EQ(vb2api_get_kernel_size(ctx, &offs, &size),
+               VB2_ERROR_API_GET_KERNEL_SIZE_PREAMBLE,
+               "get size no preamble");
+}
+
+static void verify_kernel_data_tests(void)
+{
+       reset_common_data(FOR_PHASE2);
+       TEST_SUCC(vb2api_verify_kernel_data(ctx, kernel_data,
+                                           sizeof(kernel_data)),
+                 "verify data good");
+
+       reset_common_data(FOR_PHASE2);
+       sd->preamble_size = 0;
+       TEST_EQ(vb2api_verify_kernel_data(ctx, kernel_data,
+                                         sizeof(kernel_data)),
+               VB2_ERROR_API_VERIFY_KDATA_PREAMBLE, "verify no preamble");
+
+       reset_common_data(FOR_PHASE2);
+       TEST_EQ(vb2api_verify_kernel_data(ctx, kernel_data,
+                                         sizeof(kernel_data) + 1),
+               VB2_ERROR_API_VERIFY_KDATA_SIZE, "verify size");
+
+       reset_common_data(FOR_PHASE2);
+       sd->workbuf_used = sd->workbuf_size + VB2_WORKBUF_ALIGN -
+                          vb2_wb_round_up(sizeof(struct vb2_digest_context));
+       TEST_EQ(vb2api_verify_kernel_data(ctx, kernel_data,
+                                         sizeof(kernel_data)),
+               VB2_ERROR_API_VERIFY_KDATA_WORKBUF, "verify workbuf");
+
+       reset_common_data(FOR_PHASE2);
+       sd->data_key_size = 0;
+       TEST_EQ(vb2api_verify_kernel_data(ctx, kernel_data,
+                                         sizeof(kernel_data)),
+               VB2_ERROR_API_VERIFY_KDATA_KEY, "verify no key");
+
+       reset_common_data(FOR_PHASE2);
+       mock_unpack_key_retval = VB2_ERROR_MOCK;
+       TEST_EQ(vb2api_verify_kernel_data(ctx, kernel_data,
+                                         sizeof(kernel_data)),
+               VB2_ERROR_MOCK, "verify unpack key");
+
+       reset_common_data(FOR_PHASE2);
+       kdkey->algorithm = VB2_ALG_COUNT;
+       TEST_EQ(vb2api_verify_kernel_data(ctx, kernel_data,
+                                         sizeof(kernel_data)),
+               VB2_ERROR_SHA_INIT_ALGORITHM, "verify hash init");
+
+       reset_common_data(FOR_PHASE2);
+       sd->workbuf_used = sd->workbuf_size -
+                          vb2_wb_round_up(sizeof(struct vb2_digest_context));
+       TEST_EQ(vb2api_verify_kernel_data(ctx, kernel_data,
+                                         sizeof(kernel_data)),
+               VB2_ERROR_API_CHECK_HASH_WORKBUF_DIGEST, "verify hash workbuf");
+
+       reset_common_data(FOR_PHASE2);
+       kernel_data[3] ^= 0xd0;
+       TEST_EQ(vb2api_verify_kernel_data(ctx, kernel_data,
+                                         sizeof(kernel_data)),
+               VB2_ERROR_VDATA_VERIFY_DIGEST, "verify hash digest");
+       kernel_data[3] ^= 0xd0;
+}
+
+static void phase3_tests(void)
+{
+       uint32_t v;
+
+       reset_common_data(FOR_PHASE3);
+       TEST_SUCC(vb2api_kernel_phase3(ctx), "phase3 good");
+       v = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS);
+       TEST_EQ(v, 0x20004, "  version");
+
+       reset_common_data(FOR_PHASE3);
+       sd->kernel_version = 0x20001;
+       TEST_SUCC(vb2api_kernel_phase3(ctx), "phase3 no rollback");
+       v = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS);
+       TEST_EQ(v, 0x20002, "  version");
+
+       reset_common_data(FOR_PHASE3);
+       sd->flags &= ~VB2_SD_FLAG_KERNEL_SIGNED;
+       TEST_SUCC(vb2api_kernel_phase3(ctx), "phase3 unsigned kernel");
+       v = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS);
+       TEST_EQ(v, 0x20002, "  version");
+
+       reset_common_data(FOR_PHASE3);
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       TEST_SUCC(vb2api_kernel_phase3(ctx), "phase3 recovery");
+       v = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS);
+       TEST_EQ(v, 0x20002, "  version");
+
+       reset_common_data(FOR_PHASE3);
+       ctx->flags &= ~VB2_CONTEXT_ALLOW_KERNEL_ROLL_FORWARD;
+       TEST_SUCC(vb2api_kernel_phase3(ctx), "phase3 no rollforward");
+       v = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS);
+       TEST_EQ(v, 0x20002, "  version");
+
+       reset_common_data(FOR_PHASE3);
+       sd->status &= ~VB2_SD_STATUS_SECDATA_KERNEL_INIT;
+       TEST_ABORT(vb2api_kernel_phase3(ctx), "phase3 set fail");
+}
+
+int main(int argc, char* argv[])
+{
+       load_kernel_vblock_tests();
+       get_kernel_size_tests();
+       verify_kernel_data_tests();
+       phase3_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb20_kernel_tests.c b/tests/vb20_kernel_tests.c
new file mode 100644 (file)
index 0000000..8766114
--- /dev/null
@@ -0,0 +1,476 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for kernel verification library
+ */
+
+#include <stdio.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2secdata.h"
+#include "2sysincludes.h"
+#include "test_common.h"
+
+/* Common context for tests */
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_workbuf wb;
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+
+/* Mocked function data */
+
+static struct {
+       struct vb2_gbb_header h;
+       struct vb2_packed_key recovery_key;
+       char recovery_key_data[32];
+} mock_gbb;
+
+static struct {
+       /* Keyblock */
+       struct {
+               struct vb2_keyblock kb;
+               char data_key_data[16];
+               uint8_t kbdata[128];
+               uint8_t hash[VB2_SHA512_DIGEST_SIZE];
+       } k;
+       /* Preamble follows keyblock */
+       struct {
+               struct vb2_kernel_preamble pre;
+               uint8_t predata[128];
+       } p;
+} mock_vblock;
+
+static int mock_read_res_fail_on_call;
+static int mock_unpack_key_retval;
+static int mock_verify_keyblock_retval;
+static int mock_verify_preamble_retval;
+
+/* Type of test to reset for */
+enum reset_type {
+       FOR_KEYBLOCK,
+       FOR_PREAMBLE
+};
+
+static void rehash_keyblock(void)
+{
+       struct vb2_keyblock *kb = &mock_vblock.k.kb;
+       struct vb2_signature *hashsig = &mock_vblock.k.kb.keyblock_hash;
+       struct vb2_digest_context dc;
+
+
+       hashsig->sig_offset = vb2_offset_of(hashsig, mock_vblock.k.hash);
+       hashsig->sig_size = sizeof(mock_vblock.k.hash);
+       hashsig->data_size = hashsig->sig_offset;
+       vb2_digest_init(&dc, VB2_HASH_SHA512);
+       vb2_digest_extend(&dc, (const uint8_t *)kb, hashsig->data_size);
+       vb2_digest_finalize(&dc, mock_vblock.k.hash, hashsig->sig_size);
+}
+
+static void reset_common_data(enum reset_type t)
+{
+       struct vb2_keyblock *kb = &mock_vblock.k.kb;
+       struct vb2_kernel_preamble *pre = &mock_vblock.p.pre;
+
+       memset(workbuf, 0xaa, sizeof(workbuf));
+
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+       sd = vb2_get_sd(ctx);
+
+       vb2_nv_init(ctx);
+
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+
+       mock_read_res_fail_on_call = 0;
+       mock_unpack_key_retval = VB2_SUCCESS;
+       mock_verify_keyblock_retval = VB2_SUCCESS;
+       mock_verify_preamble_retval = VB2_SUCCESS;
+
+       /* Set up mock data for verifying keyblock */
+       sd->kernel_version_secdata = 0x20002;
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS, 0x20002);
+
+       mock_gbb.recovery_key.algorithm = 11;
+       mock_gbb.recovery_key.key_offset =
+               vb2_offset_of(&mock_gbb.recovery_key,
+                             &mock_gbb.recovery_key_data);
+       mock_gbb.recovery_key.key_size = sizeof(mock_gbb.recovery_key_data);
+
+       kb->keyblock_size = sizeof(mock_vblock.k);
+       memcpy(kb->magic, VB2_KEYBLOCK_MAGIC, VB2_KEYBLOCK_MAGIC_SIZE);
+
+       kb->keyblock_flags = VB2_KEYBLOCK_FLAG_DEVELOPER_1 |
+               VB2_KEYBLOCK_FLAG_DEVELOPER_0 |
+               VB2_KEYBLOCK_FLAG_RECOVERY_1 | VB2_KEYBLOCK_FLAG_RECOVERY_0;
+       kb->header_version_major = VB2_KEYBLOCK_VERSION_MAJOR;
+       kb->header_version_minor = VB2_KEYBLOCK_VERSION_MINOR;
+       kb->data_key.algorithm = 7;
+       kb->data_key.key_version = 2;
+       kb->data_key.key_offset =
+               vb2_offset_of(&mock_vblock.k, &mock_vblock.k.data_key_data) -
+               vb2_offset_of(&mock_vblock.k, &kb->data_key);
+       kb->data_key.key_size = sizeof(mock_vblock.k.data_key_data);
+       strcpy(mock_vblock.k.data_key_data, "data key data!!");
+       rehash_keyblock();
+
+       pre->preamble_size = sizeof(mock_vblock.p);
+       pre->kernel_version = 2;
+
+       /* If verifying preamble, verify keyblock first to set up data key */
+       if (t == FOR_PREAMBLE)
+               vb2_load_kernel_keyblock(ctx);
+};
+
+/* Mocked functions */
+
+vb2_error_t vb2ex_read_resource(struct vb2_context *c,
+                               enum vb2_resource_index index, uint32_t offset,
+                               void *buf, uint32_t size)
+{
+       uint8_t *rptr;
+       uint32_t rsize;
+
+       if (--mock_read_res_fail_on_call == 0)
+               return VB2_ERROR_MOCK;
+
+       switch(index) {
+       case VB2_RES_GBB:
+               rptr = (uint8_t *)&mock_gbb;
+               rsize = sizeof(mock_gbb);
+               break;
+       case VB2_RES_KERNEL_VBLOCK:
+               rptr = (uint8_t *)&mock_vblock;
+               rsize = sizeof(mock_vblock);
+               break;
+       default:
+               return VB2_ERROR_EX_READ_RESOURCE_INDEX;
+       }
+
+       if (offset > rsize || offset + size > rsize)
+               return VB2_ERROR_EX_READ_RESOURCE_SIZE;
+
+       memcpy(buf, rptr + offset, size);
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_unpack_key_buffer(struct vb2_public_key *key,
+                                 const uint8_t *buf, uint32_t size)
+{
+       key->arrsize = 0;
+       return mock_unpack_key_retval;
+}
+
+vb2_error_t vb2_verify_keyblock(struct vb2_keyblock *block, uint32_t size,
+                               const struct vb2_public_key *key,
+                               const struct vb2_workbuf *w)
+{
+       return mock_verify_keyblock_retval;
+}
+
+vb2_error_t vb2_verify_kernel_preamble(struct vb2_kernel_preamble *preamble,
+                                      uint32_t size,
+                                      const struct vb2_public_key *key,
+                                      const struct vb2_workbuf *w)
+{
+       return mock_verify_preamble_retval;
+}
+
+/* Tests */
+
+static void verify_keyblock_hash_tests(void)
+{
+       struct vb2_keyblock *kb = &mock_vblock.k.kb;
+
+       /* Test successful call */
+       reset_common_data(FOR_KEYBLOCK);
+       TEST_SUCC(vb2_verify_keyblock_hash(kb, kb->keyblock_size, &wb),
+                 "Keyblock hash good");
+
+       /* Validity check keyblock */
+       reset_common_data(FOR_KEYBLOCK);
+       kb->magic[0] ^= 0xd0;
+       TEST_EQ(vb2_verify_keyblock_hash(kb, kb->keyblock_size, &wb),
+               VB2_ERROR_KEYBLOCK_MAGIC, "Keyblock validity check");
+
+       /*
+        * Validity check should be looking at the keyblock hash struct, not
+        * the keyblock signature struct.
+        */
+       reset_common_data(FOR_KEYBLOCK);
+       kb->keyblock_hash.data_size = sizeof(*kb) - 1;
+       TEST_EQ(vb2_verify_keyblock_hash(kb, kb->keyblock_size, &wb),
+               VB2_ERROR_KEYBLOCK_SIGNED_TOO_LITTLE,
+               "Keyblock check hash sig");
+
+       reset_common_data(FOR_KEYBLOCK);
+       wb.size = VB2_SHA512_DIGEST_SIZE - 1;
+       TEST_EQ(vb2_verify_keyblock_hash(kb, kb->keyblock_size, &wb),
+               VB2_ERROR_VDATA_WORKBUF_DIGEST,
+               "Keyblock check hash workbuf digest");
+
+       reset_common_data(FOR_KEYBLOCK);
+       wb.size = VB2_SHA512_DIGEST_SIZE +
+               sizeof(struct vb2_digest_context) - 1;
+       TEST_EQ(vb2_verify_keyblock_hash(kb, kb->keyblock_size, &wb),
+               VB2_ERROR_VDATA_WORKBUF_HASHING,
+               "Keyblock check hash workbuf hashing");
+
+       reset_common_data(FOR_KEYBLOCK);
+       mock_vblock.k.data_key_data[0] ^= 0xa0;
+       TEST_EQ(vb2_verify_keyblock_hash(kb, kb->keyblock_size, &wb),
+               VB2_ERROR_KEYBLOCK_HASH_INVALID_IN_DEV_MODE,
+               "Keyblock check hash invalid");
+}
+
+static void load_kernel_keyblock_tests(void)
+{
+       struct vb2_keyblock *kb = &mock_vblock.k.kb;
+       struct vb2_packed_key *k;
+       int expected_offset;
+
+       /* Test successful call */
+       reset_common_data(FOR_KEYBLOCK);
+       expected_offset = sd->workbuf_used;
+       TEST_SUCC(vb2_load_kernel_keyblock(ctx), "Kernel keyblock good");
+       TEST_NEQ(sd->flags & VB2_SD_FLAG_KERNEL_SIGNED, 0, "  Kernel signed");
+       TEST_EQ(sd->kernel_version, 0x20000, "keyblock version");
+       TEST_EQ(sd->vblock_preamble_offset, sizeof(mock_vblock.k),
+               "preamble offset");
+       TEST_EQ(sd->data_key_offset, expected_offset,
+               "keyblock data key offset");
+       TEST_EQ(sd->workbuf_used,
+               vb2_wb_round_up(sd->data_key_offset +
+                               sd->data_key_size),
+               "workbuf used");
+
+       /* Make sure data key was properly saved */
+       k = vb2_member_of(sd, sd->data_key_offset);
+       TEST_EQ(k->algorithm, 7, "data key algorithm");
+       TEST_EQ(k->key_version, 2, "data key version");
+       TEST_EQ(k->key_size, sizeof(mock_vblock.k.data_key_data),
+               "data key size");
+       TEST_EQ(memcmp(vb2_member_of(k, k->key_offset),
+                      mock_vblock.k.data_key_data,
+                      sizeof(mock_vblock.k.data_key_data)),
+               0, "data key data");
+       TEST_EQ(sd->workbuf_used,
+               vb2_wb_round_up(sd->data_key_offset +
+                               sd->data_key_size),
+               "workbuf used after");
+
+       /* Test failures */
+       reset_common_data(FOR_KEYBLOCK);
+       mock_unpack_key_retval = VB2_ERROR_MOCK;
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_MOCK, "Kernel keyblock unpack key");
+
+       reset_common_data(FOR_KEYBLOCK);
+       sd->workbuf_used = sd->workbuf_size + VB2_WORKBUF_ALIGN -
+                          vb2_wb_round_up(sizeof(*kb));
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_KERNEL_KEYBLOCK_WORKBUF_HEADER,
+               "Kernel keyblock workbuf header");
+
+       reset_common_data(FOR_KEYBLOCK);
+       mock_read_res_fail_on_call = 1;
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_MOCK, "Kernel keyblock read header");
+
+       reset_common_data(FOR_KEYBLOCK);
+       sd->workbuf_used = sd->workbuf_size + VB2_WORKBUF_ALIGN -
+                          vb2_wb_round_up(kb->keyblock_size);
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_KERNEL_KEYBLOCK_WORKBUF,
+               "Kernel keyblock workbuf");
+
+       reset_common_data(FOR_KEYBLOCK);
+       mock_read_res_fail_on_call = 2;
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_MOCK, "Kernel keyblock read");
+
+       /* Normally, require signed keyblock */
+       reset_common_data(FOR_KEYBLOCK);
+       mock_verify_keyblock_retval = VB2_ERROR_MOCK;
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_MOCK, "Verify keyblock");
+
+       /* Not in dev mode */
+       reset_common_data(FOR_KEYBLOCK);
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       mock_verify_keyblock_retval = VB2_ERROR_MOCK;
+       TEST_SUCC(vb2_load_kernel_keyblock(ctx), "Kernel keyblock hash good");
+       TEST_EQ(sd->flags & VB2_SD_FLAG_KERNEL_SIGNED, 0, "  Kernel signed");
+
+       /* But we do in dev+rec mode */
+       reset_common_data(FOR_KEYBLOCK);
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE | VB2_CONTEXT_RECOVERY_MODE;
+       mock_verify_keyblock_retval = VB2_ERROR_MOCK;
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_MOCK, "Kernel keyblock dev+rec");
+
+       /* Test keyblock flags matching mode */
+       reset_common_data(FOR_KEYBLOCK);
+       kb->keyblock_flags &= ~VB2_KEYBLOCK_FLAG_DEVELOPER_0;
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_KERNEL_KEYBLOCK_DEV_FLAG,
+               "Kernel keyblock dev only");
+
+       reset_common_data(FOR_KEYBLOCK);
+       kb->keyblock_flags &= ~VB2_KEYBLOCK_FLAG_RECOVERY_0;
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_KERNEL_KEYBLOCK_REC_FLAG,
+               "Kernel keyblock rec only");
+
+       reset_common_data(FOR_KEYBLOCK);
+       kb->keyblock_flags &= ~VB2_KEYBLOCK_FLAG_RECOVERY_1;
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_KERNEL_KEYBLOCK_REC_FLAG,
+               "Kernel keyblock not rec");
+
+       reset_common_data(FOR_KEYBLOCK);
+       kb->keyblock_flags &= ~VB2_KEYBLOCK_FLAG_DEVELOPER_0;
+       kb->keyblock_flags &= ~VB2_KEYBLOCK_FLAG_RECOVERY_0;
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_KERNEL_KEYBLOCK_DEV_FLAG,
+               "Kernel keyblock rec but not dev+rec");
+
+       reset_common_data(FOR_KEYBLOCK);
+       kb->keyblock_flags &= ~VB2_KEYBLOCK_FLAG_DEVELOPER_0;
+       kb->keyblock_flags &= ~VB2_KEYBLOCK_FLAG_RECOVERY_0;
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE | VB2_CONTEXT_RECOVERY_MODE;
+       TEST_SUCC(vb2_load_kernel_keyblock(ctx),
+                 "Kernel keyblock flags dev+rec");
+
+       /* System in dev mode ignores flags */
+       reset_common_data(FOR_KEYBLOCK);
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       kb->keyblock_flags = 0;
+       TEST_SUCC(vb2_load_kernel_keyblock(ctx), "Kernel keyblock dev flags");
+
+       /* Test rollback */
+       reset_common_data(FOR_KEYBLOCK);
+       kb->data_key.key_version = 0x10000;
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_KERNEL_KEYBLOCK_VERSION_RANGE,
+               "Kernel keyblock version range");
+
+       reset_common_data(FOR_KEYBLOCK);
+       kb->data_key.key_version = 1;
+       TEST_EQ(vb2_load_kernel_keyblock(ctx),
+               VB2_ERROR_KERNEL_KEYBLOCK_VERSION_ROLLBACK,
+               "Kernel keyblock rollback");
+
+       /* Rollback ok in developer mode */
+       reset_common_data(FOR_KEYBLOCK);
+       kb->data_key.key_version = 1;
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       TEST_SUCC(vb2_load_kernel_keyblock(ctx),
+                 "Kernel keyblock rollback dev");
+
+       /*
+        * Recovery keyblocks aren't versioned (and even if they were, it
+        * wouldn't be with the same version as a normal kernel).
+        */
+       reset_common_data(FOR_KEYBLOCK);
+       kb->data_key.key_version = 1;
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       TEST_SUCC(vb2_load_kernel_keyblock(ctx),
+                 "Kernel keyblock rollback rec");
+}
+
+static void load_kernel_preamble_tests(void)
+{
+       struct vb2_kernel_preamble *pre = &mock_vblock.p.pre;
+       int expected_offset;
+       //uint32_t v;
+
+       /* Test successful call */
+       reset_common_data(FOR_PREAMBLE);
+       expected_offset = sd->workbuf_used;
+       TEST_SUCC(vb2_load_kernel_preamble(ctx), "preamble good");
+       TEST_EQ(sd->kernel_version, 0x20002, "combined version");
+       TEST_EQ(sd->preamble_offset, expected_offset,
+               "preamble offset");
+       TEST_EQ(sd->preamble_size, pre->preamble_size, "preamble size");
+       TEST_EQ(sd->workbuf_used,
+               vb2_wb_round_up(sd->preamble_offset +
+                               sd->preamble_size),
+               "workbuf used");
+
+       /* Expected failures */
+       reset_common_data(FOR_PREAMBLE);
+       sd->data_key_size = 0;
+       TEST_EQ(vb2_load_kernel_preamble(ctx),
+               VB2_ERROR_KERNEL_PREAMBLE2_DATA_KEY,
+               "preamble no data key");
+
+       reset_common_data(FOR_PREAMBLE);
+       mock_unpack_key_retval = VB2_ERROR_UNPACK_KEY_HASH_ALGORITHM;
+       TEST_EQ(vb2_load_kernel_preamble(ctx),
+               VB2_ERROR_UNPACK_KEY_HASH_ALGORITHM,
+               "preamble unpack data key");
+
+       reset_common_data(FOR_PREAMBLE);
+       sd->workbuf_used = sd->workbuf_size + VB2_WORKBUF_ALIGN -
+                          vb2_wb_round_up(sizeof(struct vb2_kernel_preamble));
+       TEST_EQ(vb2_load_kernel_preamble(ctx),
+               VB2_ERROR_KERNEL_PREAMBLE2_WORKBUF_HEADER,
+               "preamble not enough workbuf for header");
+
+       reset_common_data(FOR_PREAMBLE);
+       sd->vblock_preamble_offset = sizeof(mock_vblock);
+       TEST_EQ(vb2_load_kernel_preamble(ctx),
+               VB2_ERROR_EX_READ_RESOURCE_SIZE,
+               "preamble read header");
+
+       reset_common_data(FOR_PREAMBLE);
+       sd->workbuf_used = sd->workbuf_size + VB2_WORKBUF_ALIGN -
+                          vb2_wb_round_up(sizeof(mock_vblock.p));
+       TEST_EQ(vb2_load_kernel_preamble(ctx),
+               VB2_ERROR_KERNEL_PREAMBLE2_WORKBUF,
+               "preamble not enough workbuf");
+
+       reset_common_data(FOR_PREAMBLE);
+       pre->preamble_size = sizeof(mock_vblock);
+       TEST_EQ(vb2_load_kernel_preamble(ctx),
+               VB2_ERROR_EX_READ_RESOURCE_SIZE,
+               "preamble read full");
+
+       reset_common_data(FOR_PREAMBLE);
+       mock_verify_preamble_retval = VB2_ERROR_MOCK;
+       TEST_EQ(vb2_load_kernel_preamble(ctx),
+               VB2_ERROR_MOCK,
+               "preamble verify");
+
+       reset_common_data(FOR_PREAMBLE);
+       pre->kernel_version = 0x10000;
+       TEST_EQ(vb2_load_kernel_preamble(ctx),
+               VB2_ERROR_KERNEL_PREAMBLE_VERSION_RANGE,
+               "preamble version range");
+
+       reset_common_data(FOR_PREAMBLE);
+       pre->kernel_version = 1;
+       TEST_EQ(vb2_load_kernel_preamble(ctx),
+               VB2_ERROR_KERNEL_PREAMBLE_VERSION_ROLLBACK,
+               "preamble version rollback");
+}
+
+int main(int argc, char* argv[])
+{
+       verify_keyblock_hash_tests();
+       load_kernel_keyblock_tests();
+       load_kernel_preamble_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb20_rsa_padding_tests.c b/tests/vb20_rsa_padding_tests.c
new file mode 100644 (file)
index 0000000..90ff42a
--- /dev/null
@@ -0,0 +1,153 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sysincludes.h"
+#include "file_keys.h"
+#include "host_key.h"
+#include "rsa_padding_test.h"
+#include "test_common.h"
+
+vb2_error_t hwcrypto_modexp_return_value = VB2_SUCCESS;
+vb2_error_t vb2ex_hwcrypto_modexp(const struct vb2_public_key *key,
+                                 uint8_t *inout,
+                                 uint32_t *workbuf32, int exp) {
+       return hwcrypto_modexp_return_value;
+}
+
+
+/**
+ * Test valid and invalid signatures.
+ */
+static void test_signatures(const struct vb2_public_key *key)
+{
+       uint8_t workbuf[VB2_VERIFY_DIGEST_WORKBUF_BYTES]
+                __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       uint8_t sig[RSA1024NUMBYTES];
+       struct vb2_workbuf wb;
+       int unexpected_success;
+       int i;
+
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       /* The first test signature is valid. */
+       memcpy(sig, signatures[0], sizeof(sig));
+       TEST_SUCC(vb2_rsa_verify_digest(key, sig, test_message_sha1_hash, &wb),
+                 "RSA Padding Test valid sig");
+
+       /* All other signatures should fail verification. */
+       unexpected_success = 0;
+       for (i = 1; i < sizeof(signatures) / sizeof(signatures[0]); i++) {
+               memcpy(sig, signatures[i], sizeof(sig));
+               if (!vb2_rsa_verify_digest(key, sig,
+                                          test_message_sha1_hash, &wb)) {
+                       fprintf(stderr,
+                               "RSA Padding Test vector %d FAILED!\n", i);
+                       unexpected_success++;
+               }
+       }
+       TEST_EQ(unexpected_success, 0, "RSA Padding Test invalid sigs");
+}
+
+
+/**
+ * Test other error conditions in vb2_rsa_verify_digest().
+ */
+static void test_verify_digest(struct vb2_public_key *key) {
+       uint8_t workbuf[VB2_VERIFY_DIGEST_WORKBUF_BYTES]
+                __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       uint8_t sig[RSA1024NUMBYTES];
+       struct vb2_workbuf wb;
+       enum vb2_signature_algorithm orig_key_alg = key->sig_alg;
+
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       memcpy(sig, signatures[0], sizeof(sig));
+       TEST_SUCC(vb2_rsa_verify_digest(key, sig, test_message_sha1_hash, &wb),
+                 "vb2_rsa_verify_digest() good");
+
+       TEST_EQ(vb2_rsa_verify_digest(key, NULL, test_message_sha1_hash, &wb),
+               VB2_ERROR_RSA_VERIFY_PARAM, "vb2_rsa_verify_digest() bad arg");
+
+       key->allow_hwcrypto = 1;
+       memcpy(sig, signatures[0], sizeof(sig));
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+       hwcrypto_modexp_return_value = VB2_SUCCESS;
+       TEST_NEQ(vb2_rsa_verify_digest(key, sig, test_message_sha1_hash, &wb),
+               VB2_SUCCESS, "vb2_rsa_verify_digest() hwcrypto modexp fails");
+
+       memcpy(sig, signatures[0], sizeof(sig));
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+       hwcrypto_modexp_return_value = VB2_ERROR_EX_HWCRYPTO_UNSUPPORTED;
+       TEST_SUCC(vb2_rsa_verify_digest(key, sig, test_message_sha1_hash, &wb),
+               "vb2_rsa_verify_digest() hwcrypto modexp fallback to sw");
+       key->allow_hwcrypto = 0;
+
+       memcpy(sig, signatures[0], sizeof(sig));
+       vb2_workbuf_init(&wb, workbuf, sizeof(sig) * 3 - 1);
+       TEST_EQ(vb2_rsa_verify_digest(key, sig, test_message_sha1_hash, &wb),
+               VB2_ERROR_RSA_VERIFY_WORKBUF,
+               "vb2_rsa_verify_digest() small workbuf");
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       key->sig_alg = VB2_SIG_INVALID;
+       memcpy(sig, signatures[0], sizeof(sig));
+       TEST_EQ(vb2_rsa_verify_digest(key, sig, test_message_sha1_hash, &wb),
+               VB2_ERROR_RSA_VERIFY_ALGORITHM,
+               "vb2_rsa_verify_digest() bad key alg");
+       key->sig_alg = orig_key_alg;
+
+       key->arrsize *= 2;
+       memcpy(sig, signatures[0], sizeof(sig));
+       TEST_EQ(vb2_rsa_verify_digest(key, sig, test_message_sha1_hash, &wb),
+               VB2_ERROR_RSA_VERIFY_SIG_LEN,
+               "vb2_rsa_verify_digest() bad sig len");
+       key->arrsize /= 2;
+
+       /* Corrupt the signature near start and end */
+       memcpy(sig, signatures[0], sizeof(sig));
+       sig[3] ^= 0x42;
+       TEST_EQ(vb2_rsa_verify_digest(key, sig, test_message_sha1_hash, &wb),
+               VB2_ERROR_RSA_PADDING, "vb2_rsa_verify_digest() bad sig");
+
+       memcpy(sig, signatures[0], sizeof(sig));
+       sig[RSA1024NUMBYTES - 3] ^= 0x56;
+       TEST_EQ(vb2_rsa_verify_digest(key, sig, test_message_sha1_hash, &wb),
+               VB2_ERROR_RSA_PADDING, "vb2_rsa_verify_digest() bad sig end");
+}
+
+int main(int argc, char *argv[])
+{
+       struct vb2_public_key k2;
+       struct vb2_packed_key *pk;
+
+       /* Read test key */
+       if (argc != 2) {
+               fprintf(stderr, "Usage: %s <test public key>\n", argv[0]);
+               return 1;
+       }
+       pk = vb2_read_packed_keyb(argv[1], VB2_ALG_RSA1024_SHA1, 0);
+       if (!pk) {
+               fprintf(stderr, "Couldn't read RSA public key for the test.\n");
+               return 1;
+       }
+       if (VB2_SUCCESS != vb2_unpack_key(&k2, pk)) {
+               fprintf(stderr, "Couldn't unpack RSA public key.\n");
+               free(pk);
+               return 1;
+       }
+
+       /* Run tests */
+       test_signatures(&k2);
+       test_verify_digest(&k2);
+
+       /* Clean up and exit */
+       free(pk);
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb20_verify_fw.c b/tests/vb20_verify_fw.c
new file mode 100644 (file)
index 0000000..f732b8b
--- /dev/null
@@ -0,0 +1,227 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Routines for verifying a firmware image's signature.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "2common.h"
+#include "2misc.h"
+#include "2sysincludes.h"
+
+const char *gbb_fname;
+const char *vblock_fname;
+const char *body_fname;
+
+/**
+ * Local implementation which reads resources from individual files.  Could be
+ * more elegant and read from bios.bin, if we understood the fmap.
+ */
+vb2_error_t vb2ex_read_resource(struct vb2_context *c,
+                               enum vb2_resource_index index, uint32_t offset,
+                               void *buf, uint32_t size)
+{
+       const char *fname;
+       FILE *f;
+       int got_size;
+
+       /* Get the filename for the resource */
+       switch (index) {
+       case VB2_RES_GBB:
+               fname = gbb_fname;
+               break;
+       case VB2_RES_FW_VBLOCK:
+               fname = vblock_fname;
+               break;
+       default:
+               return VB2_ERROR_UNKNOWN;
+       }
+
+       /* Open file and seek to the requested offset */
+       f = fopen(fname, "rb");
+       if (!f)
+               return VB2_ERROR_UNKNOWN;
+
+       if (fseek(f, offset, SEEK_SET)) {
+               fclose(f);
+               return VB2_ERROR_UNKNOWN;
+       }
+
+       /* Read data and close file */
+       got_size = fread(buf, 1, size, f);
+       fclose(f);
+
+       /* Return success if we read everything */
+       return got_size == size ? VB2_SUCCESS : VB2_ERROR_UNKNOWN;
+}
+
+vb2_error_t vb2ex_tpm_clear_owner(struct vb2_context *c)
+{
+       // TODO: implement
+       return VB2_SUCCESS;
+}
+
+/**
+ * Save non-volatile and/or secure data if needed.
+ */
+static void save_if_needed(struct vb2_context *c)
+{
+
+       if (c->flags & VB2_CONTEXT_NVDATA_CHANGED) {
+               // TODO: implement
+               c->flags &= ~VB2_CONTEXT_NVDATA_CHANGED;
+       }
+
+       if (c->flags & VB2_CONTEXT_SECDATA_FIRMWARE_CHANGED) {
+               // TODO: implement
+               c->flags &= ~VB2_CONTEXT_SECDATA_FIRMWARE_CHANGED;
+       }
+}
+
+/**
+ * Verify firmware body
+ */
+static vb2_error_t hash_body(struct vb2_context *c)
+{
+       uint32_t remaining;
+       uint8_t block[8192];
+       uint32_t size;
+       FILE *f;
+       vb2_error_t rv;
+
+       /* Open the body data */
+       f = fopen(body_fname, "rb");
+       if (!f)
+               return VB2_ERROR_TEST_INPUT_FILE;
+
+       /* Start the body hash */
+       rv = vb2api_init_hash(c, VB2_HASH_TAG_FW_BODY);
+       if (rv) {
+               fclose(f);
+               return rv;
+       }
+
+       remaining = vb2api_get_firmware_size(c);
+       printf("Expect %d bytes of body...\n", remaining);
+
+       /* Extend over the body */
+       while (remaining) {
+               size = sizeof(block);
+               if (size > remaining)
+                       size = remaining;
+
+               /* Read next body block */
+               size = fread(block, 1, size, f);
+               if (size <= 0)
+                       break;
+
+               /* Hash it */
+               rv = vb2api_extend_hash(c, block, size);
+               if (rv) {
+                       fclose(f);
+                       return rv;
+               }
+
+               remaining -= size;
+       }
+
+       fclose(f);
+
+       /* Check the result */
+       rv = vb2api_check_hash(c);
+       if (rv)
+               return rv;
+
+       return VB2_SUCCESS;
+}
+
+static void print_help(const char *progname)
+{
+       printf("Usage: %s <gbb> <vblock> <body>\n", progname);
+}
+
+int main(int argc, char *argv[])
+{
+       uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+               __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_context *ctx;
+       struct vb2_shared_data *sd;
+       vb2_error_t rv;
+
+       if (argc < 4) {
+               print_help(argv[0]);
+               return 1;
+       }
+
+       /* Save filenames */
+       gbb_fname = argv[1];
+       vblock_fname = argv[2];
+       body_fname = argv[3];
+
+       /* Intialize workbuf with sentinel value to see how much we'll use. */
+       uint32_t *ptr = (uint32_t *)workbuf;
+       while ((uint8_t *)ptr + sizeof(*ptr) <= workbuf + sizeof(workbuf))
+               *ptr++ = 0xbeefdead;
+
+       /* Set up context */
+       if (vb2api_init(workbuf, sizeof(workbuf), &ctx)) {
+               printf("Failed to initialize workbuf.\n");
+               return 1;
+       }
+       sd = vb2_get_sd(ctx);
+
+       /* Initialize secure context */
+       vb2api_secdata_firmware_create(ctx);
+       vb2api_secdata_kernel_create(ctx);
+
+       // TODO: optional args to set contents for nvdata, secdata?
+
+       /* Do early init */
+       printf("Phase 1...\n");
+       rv = vb2api_fw_phase1(ctx);
+       if (rv) {
+               printf("Phase 1 wants recovery mode.\n");
+               save_if_needed(ctx);
+               return rv;
+       }
+
+       /* Determine which firmware slot to boot */
+       printf("Phase 2...\n");
+       rv = vb2api_fw_phase2(ctx);
+       if (rv) {
+               printf("Phase 2 wants reboot.\n");
+               save_if_needed(ctx);
+               return rv;
+       }
+
+       /* Try that slot */
+       printf("Phase 3...\n");
+       rv = vb2api_fw_phase3(ctx);
+       if (rv) {
+               printf("Phase 3 wants reboot.\n");
+               save_if_needed(ctx);
+               return rv;
+       }
+
+       /* Verify body */
+       printf("Hash body...\n");
+       rv = hash_body(ctx);
+       save_if_needed(ctx);
+       if (rv) {
+               printf("Phase 4 wants reboot.\n");
+               return rv;
+       }
+
+       printf("Yaay!\n");
+
+       while ((uint8_t *)ptr > workbuf && *--ptr == 0xbeefdead)
+               /* find last used workbuf offset */;
+       printf("Workbuf used = %d bytes, high watermark = %zu bytes\n",
+               sd->workbuf_used, (uint8_t *)ptr + sizeof(*ptr) - workbuf);
+
+       return 0;
+}
diff --git a/tests/vb21_host_common2_tests.c b/tests/vb21_host_common2_tests.c
new file mode 100644 (file)
index 0000000..b2ceb95
--- /dev/null
@@ -0,0 +1,340 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for firmware image library.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_common21.h"
+#include "host_key21.h"
+#include "host_signature21.h"
+#include "test_common.h"
+#include "util_misc.h"
+
+static const uint8_t test_data[] = "This is some test data to sign.";
+static const uint32_t test_size = sizeof(test_data);
+
+static void test_unpack_key(const struct vb21_packed_key *key)
+{
+       struct vb2_public_key pubk;
+       struct vb21_packed_key *key2;
+       uint32_t size = key->c.total_size;
+
+       /* Make a copy of the key for testing */
+       key2 = (struct vb21_packed_key *)malloc(size);
+
+       memcpy(key2, key, size);
+       TEST_SUCC(vb21_unpack_key(&pubk, (uint8_t *)key2, size),
+                 "vb21_unpack_key() ok");
+
+       memcpy(key2, key, size);
+       key2->key_offset += 4;
+       TEST_EQ(vb21_unpack_key(&pubk, (uint8_t *)key2, size),
+               VB2_ERROR_COMMON_MEMBER_SIZE,
+               "vb21_unpack_key() buffer too small");
+
+       memcpy(key2, key, size);
+       key2->c.fixed_size += size;
+       TEST_EQ(vb21_unpack_key(&pubk, (uint8_t *)key2, size),
+               VB2_ERROR_COMMON_FIXED_SIZE,
+               "vb21_unpack_key() buffer too small for desc");
+
+       memcpy(key2, key, size);
+       key2->c.desc_size = 0;
+       TEST_SUCC(vb21_unpack_key(&pubk, (uint8_t *)key2, size),
+                 "vb21_unpack_key() no desc");
+       TEST_EQ(strcmp(pubk.desc, ""), 0, "  empty desc string");
+
+       memcpy(key2, key, size);
+       key2->c.magic++;
+       TEST_EQ(vb21_unpack_key(&pubk, (uint8_t *)key2, size),
+               VB2_ERROR_UNPACK_KEY_MAGIC,
+               "vb21_unpack_key() bad magic");
+
+       memcpy(key2, key, size);
+       key2->c.struct_version_major++;
+       TEST_EQ(vb21_unpack_key(&pubk, (uint8_t *)key2, size),
+               VB2_ERROR_UNPACK_KEY_STRUCT_VERSION,
+               "vb21_unpack_key() bad major version");
+
+       /*
+        * Minor version changes are ok.  Note that this test assumes that the
+        * source key struct version is the highest actually known to the
+        * reader.  If the reader does know about minor version + 1 and that
+        * adds fields, this test will likely fail.  But at that point, we
+        * should have already added a test for minor version compatibility to
+        * handle both old and new struct versions, so someone will have
+        * noticed this comment.
+        */
+       memcpy(key2, key, size);
+       key2->c.struct_version_minor++;
+       TEST_SUCC(vb21_unpack_key(&pubk, (uint8_t *)key2, size),
+                 "vb21_unpack_key() minor version change ok");
+
+       memcpy(key2, key, size);
+       key2->sig_alg = VB2_SIG_INVALID;
+       TEST_EQ(vb21_unpack_key(&pubk, (uint8_t *)key2, size),
+               VB2_ERROR_UNPACK_KEY_SIG_ALGORITHM,
+               "vb21_unpack_key() bad sig algorithm");
+
+       memcpy(key2, key, size);
+       key2->hash_alg = VB2_HASH_INVALID;
+       TEST_EQ(vb21_unpack_key(&pubk, (uint8_t *)key2, size),
+               VB2_ERROR_UNPACK_KEY_HASH_ALGORITHM,
+               "vb21_unpack_key() bad hash algorithm");
+
+       memcpy(key2, key, size);
+       key2->key_size -= 4;
+       TEST_EQ(vb21_unpack_key(&pubk, (uint8_t *)key2, size),
+               VB2_ERROR_UNPACK_KEY_SIZE,
+               "vb21_unpack_key() invalid size");
+
+       memcpy(key2, key, size);
+       key2->key_offset--;
+       TEST_EQ(vb21_unpack_key(&pubk, (uint8_t *)key2, size),
+               VB2_ERROR_COMMON_MEMBER_UNALIGNED,
+               "vb21_unpack_key() unaligned data");
+
+       memcpy(key2, key, size);
+       *(uint32_t *)((uint8_t *)key2 + key2->key_offset) /= 2;
+       TEST_EQ(vb21_unpack_key(&pubk, (uint8_t *)key2, size),
+               VB2_ERROR_UNPACK_KEY_ARRAY_SIZE,
+               "vb21_unpack_key() invalid key array size");
+
+       free(key2);
+}
+
+static void test_verify_signature(const struct vb21_signature *sig)
+{
+       struct vb21_signature *sig2;
+       uint8_t *buf2;
+       uint32_t size;
+
+       /* Make a copy of the signature */
+       size = sig->c.total_size;
+       buf2 = malloc(size);
+       sig2 = (struct vb21_signature *)buf2;
+
+       memcpy(buf2, sig, size);
+       TEST_SUCC(vb21_verify_signature(sig2, size), "verify_sig ok");
+       sig2->c.magic = VB21_MAGIC_PACKED_KEY;
+       TEST_EQ(vb21_verify_signature(sig2, size), VB2_ERROR_SIG_MAGIC,
+               "verify_sig magic");
+
+       memcpy(buf2, sig, size);
+       sig2->c.total_size += 4;
+       TEST_EQ(vb21_verify_signature(sig2, size), VB2_ERROR_COMMON_TOTAL_SIZE,
+               "verify_sig common header");
+
+       memcpy(buf2, sig, size);
+       sig2->c.struct_version_minor++;
+       TEST_SUCC(vb21_verify_signature(sig2, size), "verify_sig minor ver");
+       sig2->c.struct_version_major++;
+       TEST_EQ(vb21_verify_signature(sig2, size), VB2_ERROR_SIG_VERSION,
+               "verify_sig major ver");
+
+       memcpy(buf2, sig, size);
+       sig2->c.fixed_size -= 4;
+       sig2->c.desc_size += 4;
+       TEST_EQ(vb21_verify_signature(sig2, size), VB2_ERROR_SIG_HEADER_SIZE,
+               "verify_sig header size");
+
+       memcpy(buf2, sig, size);
+       sig2->sig_size += 4;
+       TEST_EQ(vb21_verify_signature(sig2, size), VB2_ERROR_COMMON_MEMBER_SIZE,
+               "verify_sig sig size");
+
+       memcpy(buf2, sig, size);
+       sig2->sig_alg = VB2_SIG_INVALID;
+       TEST_EQ(vb21_verify_signature(sig2, size), VB2_ERROR_SIG_ALGORITHM,
+               "verify_sig sig alg");
+
+       memcpy(buf2, sig, size);
+       sig2->sig_alg = (sig2->sig_alg == VB2_SIG_NONE ?
+                        VB2_SIG_RSA1024 : VB2_SIG_NONE);
+       TEST_EQ(vb21_verify_signature(sig2, size), VB2_ERROR_SIG_SIZE,
+               "verify_sig sig size");
+
+       free(buf2);
+}
+
+static void test_verify_data(const struct vb2_public_key *pubk_orig,
+                             const struct vb21_signature *sig)
+{
+       uint8_t workbuf[VB2_VERIFY_DATA_WORKBUF_BYTES]
+                __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+
+       struct vb2_public_key pubk;
+       struct vb21_signature *sig2;
+       uint8_t *buf2;
+       uint32_t size;
+
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       pubk = *pubk_orig;
+
+       /* Allocate signature copy for tests */
+       size = sig->c.total_size;
+       buf2 = malloc(size);
+       sig2 = (struct vb21_signature *)buf2;
+
+       memcpy(buf2, sig, size);
+       pubk.sig_alg = VB2_SIG_INVALID;
+       TEST_EQ(vb21_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               VB2_ERROR_VDATA_ALGORITHM, "vb21_verify_data() bad sig alg");
+       pubk = *pubk_orig;
+
+       memcpy(buf2, sig, size);
+       pubk.hash_alg = VB2_HASH_INVALID;
+       TEST_EQ(vb21_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               VB2_ERROR_VDATA_DIGEST_SIZE,
+               "vb21_verify_data() bad hash alg");
+       pubk = *pubk_orig;
+
+       vb2_workbuf_init(&wb, workbuf, 4);
+       memcpy(buf2, sig, size);
+       TEST_EQ(vb21_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               VB2_ERROR_VDATA_WORKBUF_DIGEST,
+               "vb21_verify_data() workbuf too small");
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       memcpy(buf2, sig, size);
+       TEST_EQ(vb21_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb21_verify_data() ok");
+
+       memcpy(buf2, sig, size);
+       sig2->sig_size -= 16;
+       TEST_EQ(vb21_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               VB2_ERROR_VDATA_SIG_SIZE, "vb21_verify_data() wrong sig size");
+
+       memcpy(buf2, sig, size);
+       TEST_EQ(vb21_verify_data(test_data, test_size - 1, sig2, &pubk, &wb),
+               VB2_ERROR_VDATA_SIZE, "vb21_verify_data() wrong data size");
+
+       memcpy(buf2, sig, size);
+       sig2->hash_alg = (sig2->hash_alg == VB2_HASH_SHA1 ?
+                         VB2_HASH_SHA256 : VB2_HASH_SHA1);
+       TEST_EQ(vb21_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               VB2_ERROR_VDATA_ALGORITHM_MISMATCH,
+               "vb21_verify_data() alg mismatch");
+
+
+       memcpy(buf2, sig, size);
+       buf2[sig2->sig_offset] ^= 0x5A;
+       TEST_EQ(vb21_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               VB2_ERROR_RSA_PADDING, "vb21_verify_data() wrong sig");
+
+       free(buf2);
+}
+
+static int test_algorithm(int key_algorithm, const char *keys_dir)
+{
+       char filename[1024];
+
+       enum vb2_signature_algorithm sig_alg =
+               vb2_crypto_to_signature(key_algorithm);
+       enum vb2_hash_algorithm hash_alg = vb2_crypto_to_hash(key_algorithm);
+
+       struct vb2_private_key *prik = NULL;
+       struct vb21_signature *sig2 = NULL;
+       struct vb2_public_key *pubk;
+       uint8_t *pubk_buf = 0;
+       uint8_t *keyb_data = 0;
+       uint32_t keyb_size;
+       struct vb21_packed_key *key2 = NULL;
+
+       printf("***Testing algorithm: %s\n",
+              vb2_get_crypto_algorithm_name(key_algorithm));
+
+       snprintf(filename, sizeof(filename), "%s/key_%s.pem",
+                keys_dir,
+                vb2_get_crypto_algorithm_file(key_algorithm));
+       TEST_SUCC(vb2_private_key_read_pem(&prik, filename),
+                 "Read private key");
+       prik->hash_alg = hash_alg;
+       prik->sig_alg = sig_alg;
+       vb2_private_key_set_desc(prik, "private key");
+
+
+       /* Create the public key */
+       TEST_SUCC(vb2_public_key_alloc(&pubk, sig_alg), "Allocate public key");
+       /* Extract the keyb blob */
+       TEST_SUCC(vb_keyb_from_rsa(prik->rsa_private_key,
+                                  &keyb_data, &keyb_size),
+                 "Extract public key");
+
+       /*
+        * Copy the keyb blob to the public key's buffer, because that's
+        * where vb2_unpack_key_data() and vb2_public_key_pack() expect
+        * to find it.
+        */
+       pubk_buf = vb2_public_key_packed_data(pubk);
+       memcpy(pubk_buf, keyb_data, keyb_size);
+
+       /* Fill in the internal struct pointers */
+       TEST_SUCC(vb2_unpack_key_data(pubk, pubk_buf, keyb_size),
+               "unpack public key blob");
+
+       pubk->hash_alg = hash_alg;
+       vb2_public_key_set_desc(pubk, "public key");
+       TEST_SUCC(vb21_public_key_pack(&key2, pubk), "Pack public key");
+
+       /* Calculate good signatures */
+       TEST_SUCC(vb21_sign_data(&sig2, test_data, test_size, prik, ""),
+                 "Make test signature");
+
+       test_unpack_key(key2);
+       test_verify_data(pubk, sig2);
+       test_verify_signature(sig2);
+
+       free(keyb_data);
+       free(key2);
+       free(sig2);
+       vb2_private_key_free(prik);
+       vb2_public_key_free(pubk);
+
+       return 0;
+}
+
+/* Test only the algorithms we use */
+const int key_algs[] = {
+       VB2_ALG_RSA2048_SHA256,
+       VB2_ALG_RSA4096_SHA256,
+       VB2_ALG_RSA8192_SHA512,
+};
+
+int main(int argc, char *argv[]) {
+
+       if (argc == 2) {
+               int i;
+
+               for (i = 0; i < ARRAY_SIZE(key_algs); i++) {
+                       if (test_algorithm(key_algs[i], argv[1]))
+                               return 1;
+               }
+
+       } else if (argc == 3 && !strcasecmp(argv[2], "--all")) {
+               /* Test all the algorithms */
+               int alg;
+
+               for (alg = 0; alg < VB2_ALG_COUNT; alg++) {
+                       if (test_algorithm(alg, argv[1]))
+                               return 1;
+               }
+
+       } else {
+               fprintf(stderr, "Usage: %s <keys_dir> [--all]", argv[0]);
+               return -1;
+       }
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb21_host_common_tests.c b/tests/vb21_host_common_tests.c
new file mode 100644 (file)
index 0000000..3ab5dbc
--- /dev/null
@@ -0,0 +1,247 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for firmware 2common.c
+ */
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sysincludes.h"
+#include "host_common21.h"
+#include "host_key21.h"
+#include "host_signature21.h"
+#include "test_common.h"
+
+static const uint8_t test_data[] = "This is some test data to sign.";
+
+/*
+ * Test struct packing for vboot_struct.h structs which are passed between
+ * firmware and OS, or passed between different phases of firmware.
+ */
+static void test_struct_packing(void)
+{
+       /* Test new struct sizes */
+       TEST_EQ(EXPECTED_ID_SIZE,
+               sizeof(struct vb2_id),
+               "sizeof(vb2_id)");
+       TEST_EQ(EXPECTED_VB21_STRUCT_COMMON_SIZE,
+               sizeof(struct vb21_struct_common),
+               "sizeof(vb21_struct_common)");
+       TEST_EQ(EXPECTED_VB21_PACKED_KEY_SIZE,
+               sizeof(struct vb21_packed_key),
+               "sizeof(vb21_packed_key)");
+       TEST_EQ(EXPECTED_VB21_SIGNATURE_SIZE,
+               sizeof(struct vb21_signature),
+               "sizeof(vb21_signature)");
+}
+
+/**
+ * Common header functions
+ */
+static void test_common_header_functions(void)
+{
+       uint8_t cbuf[sizeof(struct vb21_struct_common) + 128];
+       uint8_t cbufgood[sizeof(cbuf)];
+       struct vb21_struct_common *c = (struct vb21_struct_common *)cbuf;
+       struct vb21_struct_common *c2;
+       const char test_desc[32] = "test desc";
+       uint32_t desc_end, m;
+
+       c->total_size = sizeof(cbuf);
+       c->fixed_size = sizeof(*c);
+       c->desc_size = sizeof(test_desc);
+       memcpy(cbuf + c->fixed_size, test_desc, sizeof(test_desc));
+       desc_end = c->fixed_size + c->desc_size;
+
+       c2 = (struct vb21_struct_common *)(cbuf + desc_end);
+       c2->total_size = c->total_size - desc_end;
+       c2->fixed_size = sizeof(*c2);
+       c2->desc_size = 0;
+
+       /* Description helper */
+       TEST_EQ(0, strcmp(vb21_common_desc(c), test_desc), "vb21_common_desc()");
+       TEST_EQ(0, strcmp(vb21_common_desc(c2), ""), "vb21_common_desc() empty");
+
+       TEST_SUCC(vb21_verify_common_header(cbuf, sizeof(cbuf)),
+                 "vb21_verify_common_header() good");
+       memcpy(cbufgood, cbuf, sizeof(cbufgood));
+
+       memcpy(cbuf, cbufgood, sizeof(cbuf));
+       c->total_size += 4;
+       TEST_EQ(vb21_verify_common_header(cbuf, sizeof(cbuf)),
+               VB2_ERROR_COMMON_TOTAL_SIZE,
+               "vb21_verify_common_header() total size");
+
+       memcpy(cbuf, cbufgood, sizeof(cbuf));
+       c->fixed_size = c->total_size + 4;
+       TEST_EQ(vb21_verify_common_header(cbuf, sizeof(cbuf)),
+               VB2_ERROR_COMMON_FIXED_SIZE,
+               "vb21_verify_common_header() fixed size");
+
+       memcpy(cbuf, cbufgood, sizeof(cbuf));
+       c->desc_size = c->total_size - c->fixed_size + 4;
+       TEST_EQ(vb21_verify_common_header(cbuf, sizeof(cbuf)),
+               VB2_ERROR_COMMON_DESC_SIZE,
+               "vb21_verify_common_header() desc size");
+
+       memcpy(cbuf, cbufgood, sizeof(cbuf));
+       c->total_size--;
+       TEST_EQ(vb21_verify_common_header(cbuf, sizeof(cbuf)),
+               VB2_ERROR_COMMON_TOTAL_UNALIGNED,
+               "vb21_verify_common_header() total unaligned");
+
+       memcpy(cbuf, cbufgood, sizeof(cbuf));
+       c->fixed_size++;
+       TEST_EQ(vb21_verify_common_header(cbuf, sizeof(cbuf)),
+               VB2_ERROR_COMMON_FIXED_UNALIGNED,
+               "vb21_verify_common_header() fixed unaligned");
+
+       memcpy(cbuf, cbufgood, sizeof(cbuf));
+       c->desc_size--;
+       TEST_EQ(vb21_verify_common_header(cbuf, sizeof(cbuf)),
+               VB2_ERROR_COMMON_DESC_UNALIGNED,
+               "vb21_verify_common_header() desc unaligned");
+
+       memcpy(cbuf, cbufgood, sizeof(cbuf));
+       c->desc_size = -4;
+       TEST_EQ(vb21_verify_common_header(cbuf, sizeof(cbuf)),
+               VB2_ERROR_COMMON_DESC_WRAPS,
+               "vb21_verify_common_header() desc wraps");
+
+       memcpy(cbuf, cbufgood, sizeof(cbuf));
+       cbuf[desc_end - 1] = 1;
+       TEST_EQ(vb21_verify_common_header(cbuf, sizeof(cbuf)),
+               VB2_ERROR_COMMON_DESC_TERMINATOR,
+               "vb21_verify_common_header() desc not terminated");
+
+       /* Member checking function */
+       memcpy(cbuf, cbufgood, sizeof(cbuf));
+       m = 0;
+       TEST_SUCC(vb21_verify_common_member(cbuf, &m, c->total_size - 8, 4),
+                 "vb21_verify_common_member()");
+       TEST_EQ(m, c->total_size - 4, "  new minimum");
+
+       m = desc_end;
+       TEST_SUCC(vb21_verify_common_member(cbuf, &m, desc_end, 4),
+                 "vb21_verify_common_member() good offset");
+       TEST_EQ(m, desc_end + 4, "  new minimum");
+
+       m = 0;
+       TEST_EQ(vb21_verify_common_member(cbuf, &m, c->total_size - 8, -4),
+               VB2_ERROR_COMMON_MEMBER_WRAPS,
+               "vb21_verify_common_member() wraps");
+
+       m = 0;
+       TEST_EQ(vb21_verify_common_member(cbuf, &m, c->total_size - 7, 4),
+               VB2_ERROR_COMMON_MEMBER_UNALIGNED,
+               "vb21_verify_common_member() offset unaligned");
+
+       m = 0;
+       TEST_EQ(vb21_verify_common_member(cbuf, &m, c->total_size - 8, 5),
+               VB2_ERROR_COMMON_MEMBER_UNALIGNED,
+               "vb21_verify_common_member() size unaligned");
+
+       m = 0;
+       TEST_EQ(vb21_verify_common_member(cbuf, &m, desc_end - 4, 4),
+               VB2_ERROR_COMMON_MEMBER_OVERLAP,
+               "vb21_verify_common_member() overlap");
+
+       m = desc_end + 4;
+       TEST_EQ(vb21_verify_common_member(cbuf, &m, desc_end, 4),
+               VB2_ERROR_COMMON_MEMBER_OVERLAP,
+               "vb21_verify_common_member() overlap 2");
+
+       m = 0;
+       TEST_EQ(vb21_verify_common_member(cbuf, &m, c->total_size - 4, 8),
+               VB2_ERROR_COMMON_MEMBER_SIZE,
+               "vb21_verify_common_member() size");
+
+       /* Subobject checking */
+       m = 0;
+       TEST_SUCC(vb21_verify_common_subobject(cbuf, &m, desc_end),
+                 "vb21_verify_common_subobject() good offset");
+       TEST_EQ(m, sizeof(cbuf), "  new minimum");
+
+       m = desc_end + 4;
+       TEST_EQ(vb21_verify_common_subobject(cbuf, &m, desc_end),
+               VB2_ERROR_COMMON_MEMBER_OVERLAP,
+               "vb21_verify_common_subobject() overlap");
+
+       m = 0;
+       c2->total_size += 4;
+       TEST_EQ(vb21_verify_common_subobject(cbuf, &m, desc_end),
+               VB2_ERROR_COMMON_TOTAL_SIZE,
+               "vb21_verify_common_subobject() size");
+}
+
+/**
+ * Signature size
+ */
+static void test_sig_size(void)
+{
+       TEST_EQ(vb2_sig_size(VB2_SIG_INVALID, VB2_HASH_SHA256), 0,
+               "vb2_sig_size() sig invalid");
+
+       TEST_EQ(vb2_sig_size(VB2_SIG_RSA2048, VB2_HASH_INVALID), 0,
+               "vb2_sig_size() hash invalid");
+
+       TEST_EQ(vb2_sig_size(VB2_SIG_RSA2048, VB2_HASH_SHA256), 2048 / 8,
+               "vb2_sig_size() RSA2048");
+       TEST_EQ(vb2_sig_size(VB2_SIG_RSA4096, VB2_HASH_SHA256), 4096 / 8,
+               "vb2_sig_size() RSA4096");
+       TEST_EQ(vb2_sig_size(VB2_SIG_RSA8192, VB2_HASH_SHA512), 8192 / 8,
+               "vb2_sig_size() RSA8192");
+
+       TEST_EQ(vb2_sig_size(VB2_SIG_NONE, VB2_HASH_SHA1),
+               VB2_SHA1_DIGEST_SIZE, "vb2_sig_size() SHA1");
+       TEST_EQ(vb2_sig_size(VB2_SIG_NONE, VB2_HASH_SHA256),
+               VB2_SHA256_DIGEST_SIZE, "vb2_sig_size() SHA256");
+       TEST_EQ(vb2_sig_size(VB2_SIG_NONE, VB2_HASH_SHA512),
+               VB2_SHA512_DIGEST_SIZE, "vb2_sig_size() SHA512");
+}
+
+/**
+ * Verify data on bare hash
+ */
+static void test_verify_hash(void)
+{
+       struct vb21_signature *sig;
+       const struct vb2_private_key *prik;
+       struct vb2_public_key pubk;
+       uint8_t workbuf[VB2_VERIFY_DATA_WORKBUF_BYTES]
+                __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       TEST_SUCC(vb2_private_key_hash(&prik, VB2_HASH_SHA256),
+                 "create private hash key");
+       TEST_SUCC(vb2_public_key_hash(&pubk, VB2_HASH_SHA256),
+                 "create hash key");
+
+       /* Create the signature */
+       TEST_SUCC(vb21_sign_data(&sig, test_data, sizeof(test_data),
+                                prik, NULL),
+                 "create hash sig");
+
+       TEST_SUCC(vb21_verify_data(test_data, sizeof(test_data),
+                                  sig, &pubk, &wb),
+                 "vb21_verify_data() hash ok");
+
+       *((uint8_t *)sig + sig->sig_offset) ^= 0xab;
+       TEST_EQ(vb21_verify_data(test_data, sizeof(test_data), sig, &pubk, &wb),
+               VB2_ERROR_VDATA_VERIFY_DIGEST, "vb21_verify_data() hash bad");
+
+       free(sig);
+}
+
+int main(int argc, char* argv[])
+{
+       test_struct_packing();
+       test_common_header_functions();
+       test_sig_size();
+       test_verify_hash();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb21_host_key_tests.c b/tests/vb21_host_key_tests.c
new file mode 100644 (file)
index 0000000..e8eef9b
--- /dev/null
@@ -0,0 +1,320 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for host library vboot2 key functions
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_common21.h"
+#include "host_key21.h"
+#include "test_common.h"
+
+/* Test only the algorithms we use */
+struct alg_combo {
+       const char *name;
+       enum vb2_signature_algorithm sig_alg;
+       enum vb2_hash_algorithm hash_alg;
+};
+
+static const struct alg_combo test_algs[] = {
+       {"RSA2048/SHA-256", VB2_SIG_RSA2048, VB2_HASH_SHA256},
+       {"RSA4096/SHA-256", VB2_SIG_RSA4096, VB2_HASH_SHA256},
+       {"RSA8192/SHA-512", VB2_SIG_RSA8192, VB2_HASH_SHA512},
+};
+
+static void private_key_tests(const struct alg_combo *combo,
+                             const char *pemfile, const char *temp_dir)
+{
+       struct vb2_private_key *key, *k2;
+       const struct vb2_private_key *ckey;
+       struct vb21_packed_private_key *pkey;
+       char *testfile;
+       const char notapem[] = "not_a_pem";
+       const char testdesc[] = "test desc";
+       const struct vb2_id test_id = {.raw = {0xaa}};
+       uint8_t *buf, *buf2;
+       uint32_t bufsize;
+
+       xasprintf(&testfile, "%s/test.vbprik2", temp_dir);
+
+       TEST_SUCC(vb2_private_key_read_pem(&key, pemfile), "Read pem - good");
+       TEST_PTR_NEQ(key, NULL, "  key_ptr");
+       TEST_PTR_NEQ(key->rsa_private_key, NULL, "  rsa_private_key");
+       TEST_PTR_EQ(key->desc, NULL, "  desc");
+       vb2_private_key_free(key);
+
+       TEST_EQ(vb2_private_key_read_pem(&key, "no_such_key"),
+               VB2_ERROR_READ_PEM_FILE_OPEN, "Read pem - no key");
+       TEST_PTR_EQ(key, NULL, "  key_ptr");
+
+       vb2_write_file(testfile, (const uint8_t *)notapem, sizeof(notapem));
+       TEST_EQ(vb2_private_key_read_pem(&key, testfile),
+               VB2_ERROR_READ_PEM_RSA, "Read pem - not a pem");
+       unlink(testfile);
+
+       TEST_SUCC(vb2_private_key_read_pem(&key, pemfile), "Read pem - good2");
+       TEST_SUCC(vb2_private_key_set_desc(key, testdesc), "Set desc");
+       TEST_PTR_NEQ(key->desc, NULL, "  desc");
+       TEST_PTR_NEQ(key->desc, testdesc, "  made a copy");
+       TEST_EQ(strcmp(key->desc, testdesc), 0, "  right contents");
+       TEST_SUCC(vb2_private_key_set_desc(key, NULL), "Clear desc");
+       TEST_PTR_EQ(key->desc, NULL, "  desc");
+       TEST_SUCC(vb2_private_key_set_desc(key, testdesc), "Set desc");
+       vb2_private_key_free(key);
+
+       TEST_SUCC(vb2_private_key_read_pem(&key, pemfile), "Read pem - good3");
+       TEST_SUCC(vb2_private_key_set_desc(key, testdesc), "Set desc");
+       key->hash_alg = combo->hash_alg;
+       key->sig_alg = combo->sig_alg;
+       key->id = test_id;
+
+       unlink(testfile);
+
+       TEST_EQ(vb21_private_key_read(&k2, testfile),
+               VB2_ERROR_READ_FILE_OPEN, "Read key no file");
+       TEST_EQ(vb21_private_key_write(key, "no/such/dir"),
+               VB2_ERROR_PRIVATE_KEY_WRITE_FILE, "Write key to bad path");
+
+       TEST_SUCC(vb21_private_key_write(key, testfile), "Write key good");
+       TEST_SUCC(vb21_private_key_read(&k2, testfile), "Read key good");
+       TEST_PTR_NEQ(k2, NULL, "  key_ptr");
+       TEST_EQ(k2->sig_alg, key->sig_alg, "  sig alg");
+       TEST_EQ(k2->hash_alg, key->hash_alg, "  hash alg");
+       TEST_EQ(memcmp(&k2->id, &key->id, sizeof(k2->id)), 0, "  id");
+       TEST_EQ(strcmp(k2->desc, testdesc), 0, "  desc");
+       vb2_private_key_free(k2);
+
+       TEST_SUCC(vb2_read_file(testfile, &buf, &bufsize), "Read key raw");
+       pkey = (struct vb21_packed_private_key *)buf;
+
+       /* Make a backup of the good buffer so we can mangle it */
+       buf2 = malloc(bufsize);
+       memcpy(buf2, buf, bufsize);
+
+       TEST_SUCC(vb21_private_key_unpack(&k2, buf, bufsize),
+                 "Unpack private key good");
+       vb2_private_key_free(k2);
+
+       memcpy(buf, buf2, bufsize);
+       pkey->c.magic = VB21_MAGIC_PACKED_KEY;
+       TEST_EQ(vb21_private_key_unpack(&k2, buf, bufsize),
+               VB2_ERROR_UNPACK_PRIVATE_KEY_MAGIC,
+               "Unpack private key bad magic");
+       TEST_PTR_EQ(k2, NULL, "  key_ptr");
+
+       memcpy(buf, buf2, bufsize);
+       pkey->c.desc_size++;
+       TEST_EQ(vb21_private_key_unpack(&k2, buf, bufsize),
+               VB2_ERROR_UNPACK_PRIVATE_KEY_HEADER,
+               "Unpack private key bad header");
+
+       memcpy(buf, buf2, bufsize);
+       pkey->key_size += pkey->c.total_size;
+       TEST_EQ(vb21_private_key_unpack(&k2, buf, bufsize),
+               VB2_ERROR_UNPACK_PRIVATE_KEY_DATA,
+               "Unpack private key bad data size");
+
+       memcpy(buf, buf2, bufsize);
+       pkey->c.struct_version_major++;
+       TEST_EQ(vb21_private_key_unpack(&k2, buf, bufsize),
+               VB2_ERROR_UNPACK_PRIVATE_KEY_STRUCT_VERSION,
+               "Unpack private key bad struct version");
+
+       memcpy(buf, buf2, bufsize);
+       pkey->c.struct_version_minor++;
+       TEST_SUCC(vb21_private_key_unpack(&k2, buf, bufsize),
+                 "Unpack private key minor version");
+       vb2_private_key_free(k2);
+
+       memcpy(buf, buf2, bufsize);
+       pkey->key_size -= 32;
+       TEST_EQ(vb21_private_key_unpack(&k2, buf, bufsize),
+               VB2_ERROR_UNPACK_PRIVATE_KEY_RSA,
+               "Unpack private key bad rsa data");
+
+       memcpy(buf, buf2, bufsize);
+       pkey->sig_alg = VB2_SIG_NONE;
+       TEST_EQ(vb21_private_key_unpack(&k2, buf, bufsize),
+               VB2_ERROR_UNPACK_PRIVATE_KEY_HASH,
+               "Unpack private key hash but has data");
+
+       free(buf);
+       free(buf2);
+       unlink(testfile);
+
+       TEST_EQ(vb2_private_key_hash(&ckey, VB2_HASH_INVALID),
+               VB2_ERROR_PRIVATE_KEY_HASH,
+               "Hash key invalid");
+       TEST_PTR_EQ(ckey, NULL, "  key_ptr");
+
+       TEST_SUCC(vb2_private_key_hash(&ckey, combo->hash_alg), "Hash key");
+       TEST_PTR_NEQ(ckey, NULL, "  key_ptr");
+       TEST_EQ(ckey->hash_alg, combo->hash_alg, "  hash_alg");
+       TEST_EQ(ckey->sig_alg, VB2_SIG_NONE, "  sig_alg");
+       TEST_EQ(memcmp(&ckey->id, vb2_hash_id(combo->hash_alg),
+                      sizeof(ckey->id)), 0, "  id");
+
+       TEST_SUCC(vb21_private_key_write(ckey, testfile), "Write hash key");
+       TEST_SUCC(vb21_private_key_read(&key, testfile), "Read hash key");
+       unlink(testfile);
+}
+
+static void public_key_tests(const struct alg_combo *combo,
+                            const char *keybfile, const char *temp_dir)
+{
+       struct vb2_public_key *key, k2;
+       struct vb21_packed_key *pkey;
+       char *testfile;
+       const char *testdesc = "test desc";
+       const struct vb2_id test_id = {.raw = {0xbb}};
+       const uint32_t test_version = 0xcc01;
+       uint8_t *buf;
+       uint32_t bufsize;
+
+       xasprintf(&testfile, "%s/test.vbprik2", temp_dir);
+
+       TEST_EQ(vb2_public_key_read_keyb(&key, "no_such_key"),
+               VB2_ERROR_READ_KEYB_DATA, "Read keyb - no file");
+       TEST_PTR_EQ(key, NULL, "  key_ptr");
+
+       TEST_SUCC(vb2_public_key_read_keyb(&key, keybfile), "Read keyb - good");
+       TEST_PTR_NEQ(key, NULL, "  key_ptr");
+       TEST_EQ(key->sig_alg, combo->sig_alg, "  sig_alg");
+       TEST_PTR_EQ(key->desc, NULL, "  desc");
+       vb2_public_key_free(key);
+
+       bufsize = vb2_packed_key_size(combo->sig_alg);
+       buf = calloc(1, bufsize);
+
+       vb2_write_file(testfile, buf, bufsize - 1);
+       TEST_EQ(vb2_public_key_read_keyb(&key, testfile),
+               VB2_ERROR_READ_KEYB_SIZE, "Read keyb - bad size");
+       unlink(testfile);
+
+       vb2_write_file(testfile, buf, bufsize);
+       free(buf);
+       TEST_EQ(vb2_public_key_read_keyb(&key, testfile),
+               VB2_ERROR_READ_KEYB_UNPACK, "Read keyb - unpack");
+       unlink(testfile);
+
+       TEST_SUCC(vb2_public_key_read_keyb(&key, keybfile), "Read keyb 2");
+       TEST_SUCC(vb2_public_key_set_desc(key, testdesc), "Set desc");
+       TEST_PTR_NEQ(key->desc, NULL, "  desc");
+       TEST_PTR_NEQ(key->desc, testdesc, "  made a copy");
+       TEST_EQ(strcmp(key->desc, testdesc), 0, "  right contents");
+       TEST_SUCC(vb2_public_key_set_desc(key, NULL), "Clear desc");
+       TEST_PTR_EQ(key->desc, NULL, "  desc");
+       TEST_SUCC(vb2_public_key_set_desc(key, testdesc), "Set desc");
+       vb2_public_key_free(key);
+
+       TEST_SUCC(vb2_public_key_read_keyb(&key, keybfile), "Read keyb 3");
+       TEST_SUCC(vb2_public_key_set_desc(key, testdesc), "Set desc");
+       key->hash_alg = combo->hash_alg;
+       key->id = &test_id;
+       key->version = test_version;
+
+       TEST_SUCC(vb21_public_key_pack(&pkey, key), "Pack public key");
+       TEST_PTR_NEQ(pkey, NULL, "  key_ptr");
+       TEST_EQ(pkey->hash_alg, key->hash_alg, "  hash_alg");
+       TEST_EQ(pkey->sig_alg, key->sig_alg, "  sig_alg");
+       TEST_EQ(pkey->key_version, key->version, "  version");
+       TEST_EQ(memcmp(&pkey->id, key->id, sizeof(pkey->id)), 0,
+               "  id");
+       TEST_EQ(strcmp(vb21_common_desc(pkey), key->desc), 0, "  desc");
+       TEST_SUCC(vb21_unpack_key(&k2, (uint8_t *)pkey, pkey->c.total_size),
+                 "Unpack public key");
+       TEST_EQ(key->arrsize, k2.arrsize, "  arrsize");
+       TEST_EQ(key->n0inv, k2.n0inv, "  n0inv");
+       TEST_EQ(memcmp(key->n, k2.n, key->arrsize * sizeof(uint32_t)), 0,
+               "  n");
+       TEST_EQ(memcmp(key->rr, k2.rr, key->arrsize * sizeof(uint32_t)), 0,
+               "  rr");
+
+       TEST_SUCC(vb21_write_object(testfile, pkey), "Write packed key");
+       free(pkey);
+
+       TEST_SUCC(vb21_packed_key_read(&pkey, testfile), "Read packed key");
+       TEST_PTR_NEQ(pkey, NULL, "  key_ptr");
+       unlink(testfile);
+
+       pkey->hash_alg = VB2_HASH_INVALID;
+       TEST_SUCC(vb21_write_object(testfile, pkey), "Write bad packed key");
+       free(pkey);
+
+       TEST_EQ(vb21_packed_key_read(&pkey, testfile),
+               VB2_ERROR_READ_PACKED_KEY, "Read bad packed key");
+       TEST_PTR_EQ(pkey, NULL, "  key_ptr");
+       unlink(testfile);
+
+       TEST_EQ(vb21_packed_key_read(&pkey, testfile),
+               VB2_ERROR_READ_PACKED_KEY_DATA, "Read missing packed key");
+
+       key->sig_alg = VB2_SIG_INVALID;
+       TEST_EQ(vb21_public_key_pack(&pkey, key),
+               VB2_ERROR_PUBLIC_KEY_PACK_SIZE,
+               "Pack invalid sig alg");
+       vb2_public_key_free(key);
+
+       TEST_EQ(vb2_public_key_hash(&k2, VB2_HASH_INVALID),
+               VB2_ERROR_PUBLIC_KEY_HASH,
+               "Hash key invalid");
+
+       TEST_SUCC(vb2_public_key_hash(&k2, combo->hash_alg), "Hash key");
+       TEST_EQ(k2.hash_alg, combo->hash_alg, "  hash_alg");
+       TEST_EQ(k2.sig_alg, VB2_SIG_NONE, "  sig_alg");
+       TEST_EQ(memcmp(k2.id, vb2_hash_id(combo->hash_alg),
+                      sizeof(*k2.id)), 0, "  id");
+
+       TEST_SUCC(vb21_public_key_pack(&pkey, &k2), "Pack public hash key");
+       TEST_PTR_NEQ(pkey, NULL, "  key_ptr");
+       TEST_SUCC(vb21_unpack_key(&k2, (uint8_t *)pkey, pkey->c.total_size),
+                 "Unpack public hash key");
+       free(pkey);
+}
+
+static int test_algorithm(const struct alg_combo *combo, const char *keys_dir,
+                         const char *temp_dir)
+{
+       int rsa_bits = vb2_rsa_sig_size(combo->sig_alg) * 8;
+       char *pemfile;
+       char *keybfile;
+
+       printf("***Testing algorithm: %s\n", combo->name);
+
+       xasprintf(&pemfile, "%s/key_rsa%d.pem", keys_dir, rsa_bits);
+       xasprintf(&keybfile, "%s/key_rsa%d.keyb", keys_dir, rsa_bits);
+
+       private_key_tests(combo, pemfile, temp_dir);
+       public_key_tests(combo, keybfile, temp_dir);
+
+       free(pemfile);
+       free(keybfile);
+
+       return 0;
+}
+
+int main(int argc, char *argv[]) {
+
+       if (argc == 3) {
+               const char *keys_dir = argv[1];
+               const char *temp_dir = argv[2];
+               int i;
+
+               for (i = 0; i < ARRAY_SIZE(test_algs); i++) {
+                       if (test_algorithm(test_algs + i, keys_dir, temp_dir))
+                               return 1;
+               }
+       } else {
+               fprintf(stderr, "Usage: %s <keys_dir> <temp_dir>\n", argv[0]);
+               return -1;
+       }
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb21_host_misc_tests.c b/tests/vb21_host_misc_tests.c
new file mode 100644 (file)
index 0000000..f437803
--- /dev/null
@@ -0,0 +1,85 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for host misc library vboot2 functions
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_common21.h"
+#include "host_misc.h"
+#include "test_common.h"
+
+static void misc_tests(void)
+{
+       TEST_EQ(roundup32(0), 0, "roundup32(0)");
+       TEST_EQ(roundup32(15), 16, "roundup32(15)");
+       TEST_EQ(roundup32(16), 16, "roundup32(16)");
+
+       TEST_EQ(vb2_desc_size(NULL), 0, "desc size null");
+       TEST_EQ(vb2_desc_size(""), 0, "desc size empty");
+       TEST_EQ(vb2_desc_size("foo"), 4, "desc size 'foo'");
+       TEST_EQ(vb2_desc_size("foob"), 8, "desc size 'foob'");
+}
+
+static void file_tests(const char *temp_dir)
+{
+       char *testfile;
+       const uint8_t test_data[] = "Some test data";
+       uint8_t *read_data;
+       uint32_t read_size;
+
+       uint8_t cbuf[sizeof(struct vb21_struct_common) + 12];
+       struct vb21_struct_common *c = (struct vb21_struct_common *)cbuf;
+
+       xasprintf(&testfile, "%s/file_tests.dat", temp_dir);
+
+       unlink(testfile);
+
+       TEST_EQ(vb2_read_file(testfile, &read_data, &read_size),
+               VB2_ERROR_READ_FILE_OPEN, "vb2_read_file() missing");
+       TEST_EQ(vb2_write_file("no/such/dir", test_data, sizeof(test_data)),
+               VB2_ERROR_WRITE_FILE_OPEN, "vb2_write_file() open");
+
+       TEST_SUCC(vb2_write_file(testfile, test_data, sizeof(test_data)),
+                 "vb2_write_file() good");
+       TEST_SUCC(vb2_read_file(testfile, &read_data, &read_size),
+                 "vb2_read_file() good");
+       TEST_EQ(read_size, sizeof(test_data), "  data size");
+       TEST_EQ(memcmp(read_data, test_data, read_size), 0, "  data");
+       free(read_data);
+       unlink(testfile);
+
+       memset(cbuf, 0, sizeof(cbuf));
+       c->fixed_size = sizeof(*c);
+       c->total_size = sizeof(cbuf);
+       c->magic = 0x1234;
+       cbuf[sizeof(cbuf) - 1] = 0xed;  /* Some non-zero data at the end */
+       TEST_SUCC(vb21_write_object(testfile, c), "vb2_write_object() good");
+       TEST_SUCC(vb2_read_file(testfile, &read_data, &read_size),
+                 "vb2_read_file() object");
+       TEST_EQ(read_size, c->total_size, "  data size");
+       /* Compare the entire buffer, including the non-zero data at the end */
+       TEST_EQ(memcmp(read_data, c, read_size), 0, "  data");
+       free(read_data);
+       unlink(testfile);
+}
+
+int main(int argc, char* argv[])
+{
+       if (argc != 2) {
+               fprintf(stderr, "Usage: %s <temp_dir>\n", argv[0]);
+               return -1;
+       }
+       const char *temp_dir = argv[1];
+
+       misc_tests();
+       file_tests(temp_dir);
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb21_host_sig_tests.c b/tests/vb21_host_sig_tests.c
new file mode 100644 (file)
index 0000000..f337eaa
--- /dev/null
@@ -0,0 +1,199 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for host library vboot2 key functions
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_common21.h"
+#include "host_key21.h"
+#include "host_signature21.h"
+#include "test_common.h"
+
+/* Test only the algorithms we use */
+struct alg_combo {
+       const char *name;
+       enum vb2_signature_algorithm sig_alg;
+       enum vb2_hash_algorithm hash_alg;
+};
+
+static const struct alg_combo test_algs[] = {
+       {"RSA2048/SHA-256", VB2_SIG_RSA2048, VB2_HASH_SHA256},
+       {"RSA4096/SHA-256", VB2_SIG_RSA4096, VB2_HASH_SHA256},
+       {"RSA8192/SHA-512", VB2_SIG_RSA8192, VB2_HASH_SHA512},
+};
+
+const struct vb2_id test_id = {.raw = {0xaa}};
+const char *test_desc = "The test key";
+const char *test_sig_desc = "The test signature";
+const uint8_t test_data[] = "Some test data";
+const uint32_t test_size = sizeof(test_data);
+
+static void sig_tests(const struct alg_combo *combo,
+                     const char *pemfile,
+                     const char *keybfile)
+{
+       struct vb2_private_key *prik, prik2;
+       const struct vb2_private_key *prihash, *priks[2];
+       struct vb2_public_key *pubk, pubhash;
+       struct vb21_signature *sig, *sig2;
+       uint32_t size;
+
+       uint8_t workbuf[VB2_VERIFY_DATA_WORKBUF_BYTES]
+                __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+
+       uint8_t *buf;
+       uint32_t bufsize;
+       struct vb21_struct_common *c;
+       uint32_t c_sig_offs;
+
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       /* Create test keys */
+       /* TODO: should read these from .vbprik2, .vbpubk2 files */
+       TEST_SUCC(vb2_private_key_read_pem(&prik, pemfile), "Read private key");
+       prik->id = test_id;
+       prik->hash_alg = combo->hash_alg;
+       prik->sig_alg = combo->sig_alg;
+       vb2_private_key_set_desc(prik, test_desc);
+
+       TEST_SUCC(vb2_public_key_read_keyb(&pubk, keybfile), "Read pub key");
+       pubk->id = &test_id;
+       pubk->hash_alg = combo->hash_alg;
+       vb2_public_key_set_desc(pubk, test_desc);
+
+       TEST_SUCC(vb2_private_key_hash(&prihash, combo->hash_alg),
+                 "Private hash key");
+       TEST_SUCC(vb2_public_key_hash(&pubhash, combo->hash_alg),
+                 "Public hash key");
+
+       priks[0] = prik;
+       priks[1] = prihash;
+
+       /* Sign test data */
+       TEST_SUCC(vb21_sign_data(&sig, test_data, test_size, prik, NULL),
+                 "Sign good");
+       TEST_PTR_NEQ(sig, NULL, "  sig_ptr");
+       TEST_EQ(0, strcmp(vb21_common_desc(sig), test_desc), "  desc");
+       TEST_EQ(0, memcmp(&sig->id, &test_id, sizeof(test_id)), "  id");
+       TEST_EQ(sig->data_size, test_size, "  data_size");
+       TEST_SUCC(vb21_sig_size_for_key(&size, prik, NULL), "Sig size");
+       TEST_EQ(size, sig->c.total_size, "  size");
+       TEST_SUCC(vb21_verify_data(test_data, test_size, sig, pubk, &wb),
+                 "Verify good");
+       free(sig);
+
+       TEST_SUCC(vb21_sign_data(&sig, test_data, test_size, prik,
+                               test_sig_desc),
+                 "Sign with desc");
+       TEST_EQ(0, strcmp(vb21_common_desc(sig),        test_sig_desc), "  desc");
+       free(sig);
+
+       TEST_SUCC(vb21_sign_data(&sig, test_data, test_size, prik, ""),
+                 "Sign with no desc");
+       TEST_EQ(sig->c.desc_size, 0, "  desc");
+       TEST_SUCC(vb21_sig_size_for_key(&size, prik, ""), "Sig size");
+       TEST_EQ(size, sig->c.total_size, "  size");
+       free(sig);
+
+       TEST_SUCC(vb21_sign_data(&sig, test_data, test_size, prihash, NULL),
+                 "Sign with hash");
+       TEST_SUCC(vb21_verify_data(test_data, test_size, sig, &pubhash, &wb),
+                 "Verify with hash");
+       free(sig);
+
+       prik2 = *prik;
+       prik2.sig_alg = VB2_SIG_INVALID;
+       TEST_EQ(vb21_sign_data(&sig, test_data, test_size, &prik2, NULL),
+               VB2_SIGN_DATA_SIG_SIZE, "Sign bad sig alg");
+
+       /* Sign an object with a little (24 bytes) data */
+       c_sig_offs = sizeof(*c) + 24;
+       TEST_SUCC(vb21_sig_size_for_key(&size, prik, NULL), "Sig size");
+       bufsize = c_sig_offs + size;
+       buf = calloc(1, bufsize);
+       memset(buf + sizeof(*c), 0x12, 24);
+       c = (struct vb21_struct_common *)buf;
+       c->total_size = bufsize;
+
+       TEST_SUCC(vb21_sign_object(buf, c_sig_offs, prik, NULL), "Sign object");
+       sig = (struct vb21_signature *)(buf + c_sig_offs);
+       TEST_SUCC(vb21_verify_data(buf, c_sig_offs, sig, pubk, &wb),
+                 "Verify object");
+
+       TEST_EQ(vb21_sign_object(buf, c_sig_offs + 4, prik, NULL),
+               VB2_SIGN_OBJECT_OVERFLOW, "Sign object overflow");
+       free(buf);
+
+       /* Multiply sign an object */
+       TEST_SUCC(vb21_sig_size_for_keys(&size, priks, 2), "Sigs size");
+       bufsize = c_sig_offs + size;
+       buf = calloc(1, bufsize);
+       memset(buf + sizeof(*c), 0x12, 24);
+       c = (struct vb21_struct_common *)buf;
+       c->total_size = bufsize;
+
+       TEST_SUCC(vb21_sign_object_multiple(buf, c_sig_offs, priks, 2),
+                 "Sign multiple");
+       sig = (struct vb21_signature *)(buf + c_sig_offs);
+       TEST_SUCC(vb21_verify_data(buf, c_sig_offs, sig, pubk, &wb),
+                 "Verify object with sig 1");
+       sig2 = (struct vb21_signature *)(buf + c_sig_offs + sig->c.total_size);
+       TEST_SUCC(vb21_verify_data(buf, c_sig_offs, sig2, &pubhash, &wb),
+                 "Verify object with sig 2");
+
+       c->total_size -= 4;
+       TEST_EQ(vb21_sign_object_multiple(buf, c_sig_offs, priks, 2),
+               VB2_SIGN_OBJECT_OVERFLOW, "Sign multple overflow");
+
+       TEST_EQ(size, sig->c.total_size + sig2->c.total_size,
+               "Sigs size total");
+
+       free(buf);
+
+       vb2_private_key_free(prik);
+       vb2_public_key_free(pubk);
+}
+
+static int test_algorithm(const struct alg_combo *combo, const char *keys_dir)
+{
+       int rsa_bits = vb2_rsa_sig_size(combo->sig_alg) * 8;
+       char pemfile[1024];
+       char keybfile[1024];
+
+       printf("***Testing algorithm: %s\n", combo->name);
+
+       snprintf(pemfile, sizeof(pemfile),
+                "%s/key_rsa%d.pem", keys_dir, rsa_bits);
+       snprintf(keybfile, sizeof(keybfile),
+                "%s/key_rsa%d.keyb", keys_dir, rsa_bits);
+
+       sig_tests(combo, pemfile, keybfile);
+
+       return 0;
+}
+
+int main(int argc, char *argv[]) {
+
+       if (argc == 2) {
+               int i;
+
+               for (i = 0; i < ARRAY_SIZE(test_algs); i++) {
+                       if (test_algorithm(test_algs + i, argv[1]))
+                               return 1;
+               }
+       } else {
+               fprintf(stderr, "Usage: %s <keys_dir>", argv[0]);
+               return -1;
+       }
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_api_tests.c b/tests/vb2_api_tests.c
new file mode 100644 (file)
index 0000000..15c9bd1
--- /dev/null
@@ -0,0 +1,876 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for api.c
+ */
+
+#include <stdio.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2secdata.h"
+#include "2sysincludes.h"
+#include "test_common.h"
+
+/* Common context for tests */
+
+static uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+static struct vb2_gbb_header gbb;
+
+const char mock_body[320] = "Mock body";
+const int mock_body_size = sizeof(mock_body);
+const int mock_algorithm = VB2_ALG_RSA2048_SHA256;
+const int mock_hash_alg = VB2_HASH_SHA256;
+static const uint8_t mock_hwid_digest[VB2_GBB_HWID_DIGEST_SIZE] = {
+       0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+       0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
+       0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
+};
+const int mock_sig_size = 64;
+static uint8_t digest_result[VB2_SHA256_DIGEST_SIZE];
+static const uint32_t digest_result_size = sizeof(digest_result);
+
+/* Mocked function data */
+
+static enum {
+       HWCRYPTO_DISABLED,
+       HWCRYPTO_ENABLED,
+       HWCRYPTO_FORBIDDEN,
+} hwcrypto_state;
+
+static int force_dev_mode;
+static vb2_error_t retval_vb2_fw_init_gbb;
+static vb2_error_t retval_vb2_check_dev_switch;
+static vb2_error_t retval_vb2_check_tpm_clear;
+static vb2_error_t retval_vb2_select_fw_slot;
+static vb2_error_t retval_vb2_load_fw_keyblock;
+static vb2_error_t retval_vb2_load_fw_preamble;
+static vb2_error_t retval_vb2_digest_finalize;
+static vb2_error_t retval_vb2_verify_digest;
+
+/* Type of test to reset for */
+
+enum reset_type {
+       FOR_MISC,
+       FOR_EXTEND_HASH,
+       FOR_CHECK_HASH,
+};
+
+static void reset_common_data(enum reset_type t)
+{
+       struct vb2_fw_preamble *pre;
+       struct vb2_packed_key *k;
+
+       memset(workbuf, 0xaa, sizeof(workbuf));
+
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+       sd = vb2_get_sd(ctx);
+
+       vb2_nv_init(ctx);
+
+       vb2api_secdata_firmware_create(ctx);
+
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       if (hwcrypto_state != HWCRYPTO_FORBIDDEN)
+               vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS,
+                               VB2_SECDATA_KERNEL_FLAG_HWCRYPTO_ALLOWED);
+
+       force_dev_mode = 0;
+       retval_vb2_fw_init_gbb = VB2_SUCCESS;
+       retval_vb2_check_dev_switch = VB2_SUCCESS;
+       retval_vb2_check_tpm_clear = VB2_SUCCESS;
+       retval_vb2_select_fw_slot = VB2_SUCCESS;
+       retval_vb2_load_fw_keyblock = VB2_SUCCESS;
+       retval_vb2_load_fw_preamble = VB2_SUCCESS;
+       retval_vb2_digest_finalize = VB2_SUCCESS;
+       retval_vb2_verify_digest = VB2_SUCCESS;
+
+       memcpy(&gbb.hwid_digest, mock_hwid_digest,
+              sizeof(gbb.hwid_digest));
+
+       sd->preamble_offset = sd->workbuf_used;
+       sd->preamble_size = sizeof(*pre);
+       vb2_set_workbuf_used(ctx, sd->preamble_offset + sd->preamble_size);
+       pre = vb2_member_of(sd, sd->preamble_offset);
+       pre->body_signature.data_size = mock_body_size;
+       pre->body_signature.sig_size = mock_sig_size;
+       pre->flags = 0;
+
+       sd->data_key_offset = sd->workbuf_used;
+       sd->data_key_size = sizeof(*k) + 8;
+       vb2_set_workbuf_used(ctx, sd->data_key_offset + sd->data_key_size);
+       k = vb2_member_of(sd, sd->data_key_offset);
+       k->algorithm = mock_algorithm;
+
+       if (t == FOR_EXTEND_HASH || t == FOR_CHECK_HASH)
+               vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY);
+
+       if (t == FOR_CHECK_HASH)
+               vb2api_extend_hash(ctx, mock_body, mock_body_size);
+
+       /* Always clear out the digest result. */
+       memset(digest_result, 0, digest_result_size);
+};
+
+/* Mocked functions */
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
+{
+       return &gbb;
+}
+
+vb2_error_t vb2_fw_init_gbb(struct vb2_context *c)
+{
+       return retval_vb2_fw_init_gbb;
+}
+
+vb2_error_t vb2_check_dev_switch(struct vb2_context *c)
+{
+       if (force_dev_mode)
+               sd->flags |= VB2_SD_FLAG_DEV_MODE_ENABLED;
+       return retval_vb2_check_dev_switch;
+}
+
+vb2_error_t vb2_check_tpm_clear(struct vb2_context *c)
+{
+       return retval_vb2_check_tpm_clear;
+}
+
+vb2_error_t vb2_select_fw_slot(struct vb2_context *c)
+{
+       return retval_vb2_select_fw_slot;
+}
+
+vb2_error_t vb2_load_fw_keyblock(struct vb2_context *c)
+{
+       return retval_vb2_load_fw_keyblock;
+}
+
+vb2_error_t vb2_load_fw_preamble(struct vb2_context *c)
+{
+       return retval_vb2_load_fw_preamble;
+}
+
+vb2_error_t vb2_unpack_key_buffer(struct vb2_public_key *key,
+                                 const uint8_t *buf, uint32_t size)
+{
+       struct vb2_packed_key *k = (struct vb2_packed_key *)buf;
+
+       if (size != sizeof(*k) + 8)
+               return VB2_ERROR_UNPACK_KEY_SIZE;
+
+       key->sig_alg = vb2_crypto_to_signature(k->algorithm);
+       key->hash_alg = vb2_crypto_to_hash(k->algorithm);
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2ex_hwcrypto_digest_init(enum vb2_hash_algorithm hash_alg,
+                                      uint32_t data_size)
+{
+       switch (hwcrypto_state) {
+       case HWCRYPTO_DISABLED:
+               return VB2_ERROR_EX_HWCRYPTO_UNSUPPORTED;
+       case HWCRYPTO_ENABLED:
+               if (hash_alg != mock_hash_alg)
+                       return VB2_ERROR_SHA_INIT_ALGORITHM;
+               else
+                       return VB2_SUCCESS;
+       case HWCRYPTO_FORBIDDEN:
+       default:
+               return VB2_ERROR_UNKNOWN;
+       }
+}
+
+vb2_error_t vb2ex_hwcrypto_digest_extend(const uint8_t *buf,
+                                        uint32_t size)
+{
+       if (hwcrypto_state != HWCRYPTO_ENABLED)
+               return VB2_ERROR_UNKNOWN;
+
+       return VB2_SUCCESS;
+}
+
+static void fill_digest(uint8_t *digest, uint32_t digest_size)
+{
+       /* Set the result to a known value. */
+       memset(digest, 0x0a, digest_size);
+}
+
+vb2_error_t vb2ex_hwcrypto_digest_finalize(uint8_t *digest,
+                                  uint32_t digest_size)
+{
+       if (hwcrypto_state != HWCRYPTO_ENABLED)
+               return VB2_ERROR_UNKNOWN;
+
+       if (retval_vb2_digest_finalize == VB2_SUCCESS)
+               fill_digest(digest, digest_size);
+
+       return retval_vb2_digest_finalize;
+}
+
+vb2_error_t vb2_digest_init(struct vb2_digest_context *dc,
+                   enum vb2_hash_algorithm hash_alg)
+{
+       if (hwcrypto_state == HWCRYPTO_ENABLED)
+               return VB2_ERROR_UNKNOWN;
+       if (hash_alg != mock_hash_alg)
+               return VB2_ERROR_SHA_INIT_ALGORITHM;
+
+       dc->hash_alg = hash_alg;
+       dc->using_hwcrypto = 0;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_digest_extend(struct vb2_digest_context *dc, const uint8_t *buf,
+                             uint32_t size)
+{
+       if (hwcrypto_state == HWCRYPTO_ENABLED)
+               return VB2_ERROR_UNKNOWN;
+       if (dc->hash_alg != mock_hash_alg)
+               return VB2_ERROR_SHA_EXTEND_ALGORITHM;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_digest_finalize(struct vb2_digest_context *dc, uint8_t *digest,
+                               uint32_t digest_size)
+{
+       if (hwcrypto_state == HWCRYPTO_ENABLED)
+               return VB2_ERROR_UNKNOWN;
+
+       if (retval_vb2_digest_finalize == VB2_SUCCESS)
+               fill_digest(digest, digest_size);
+
+       return retval_vb2_digest_finalize;
+}
+
+uint32_t vb2_rsa_sig_size(enum vb2_signature_algorithm sig_alg)
+{
+       return mock_sig_size;
+}
+
+static struct vb2_public_key last_used_key;
+
+vb2_error_t vb2_rsa_verify_digest(const struct vb2_public_key *key,
+                                 uint8_t *sig, const uint8_t *digest,
+                                 const struct vb2_workbuf *wb)
+{
+       memcpy(&last_used_key, key, sizeof(struct vb2_public_key));
+       return retval_vb2_verify_digest;
+}
+
+/* Tests */
+static int vb2_try_returned;
+
+static vb2_error_t call_vb2_try(vb2_error_t expr, uint8_t recovery_reason,
+                               int one_arg)
+{
+       vb2_try_returned = 1;
+       if (one_arg)
+               VB2_TRY(expr);
+       else
+               VB2_TRY(expr, ctx, recovery_reason);
+       vb2_try_returned = 0;
+       return VB2_SUCCESS;
+}
+
+static void misc_tests(void)
+{
+       /* Test secdata_firmware passthru functions */
+       reset_common_data(FOR_MISC);
+       /* Corrupt secdata_firmware so initial check will fail */
+       ctx->secdata_firmware[0] ^= 0x42;
+       TEST_EQ(vb2api_secdata_firmware_check(ctx),
+               VB2_ERROR_SECDATA_FIRMWARE_CRC,
+               "secdata_firmware check");
+       TEST_EQ(vb2api_secdata_firmware_create(ctx), VB2_SECDATA_FIRMWARE_SIZE,
+                 "secdata_firmware create");
+       TEST_SUCC(vb2api_secdata_firmware_check(ctx),
+                 "secdata_firmware check 2");
+
+       /* Test fail passthru */
+       reset_common_data(FOR_MISC);
+       vb2api_fail(ctx, 12, 34);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               12, "vb2api_fail request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE),
+               34, "vb2api_fail subcode");
+
+       /* Test get_firmware_size() */
+       reset_common_data(FOR_MISC);
+       TEST_EQ(vb2api_get_firmware_size(ctx), mock_body_size, "firmware_size");
+
+       reset_common_data(FOR_MISC);
+       sd->preamble_size = 0;
+       TEST_EQ(vb2api_get_firmware_size(ctx), 0, "firmware_size too early");
+
+       /* Test VB2_TRY() */
+       reset_common_data(FOR_MISC);
+       call_vb2_try(VB2_SUCCESS, VB2_RECOVERY_NOT_REQUESTED, 1);
+       TEST_EQ(vb2_try_returned, 0, "VB2_TRY(expr) success");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_NOT_REQUESTED, "  vb2api_fail no request");
+
+       reset_common_data(FOR_MISC);
+       call_vb2_try(VB2_REQUEST, VB2_RECOVERY_NOT_REQUESTED, 1);
+       TEST_EQ(vb2_try_returned, 1, "VB2_TRY(expr) request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_NOT_REQUESTED, "  vb2api_fail no request");
+
+       reset_common_data(FOR_MISC);
+       call_vb2_try(VB2_ERROR_MOCK, VB2_RECOVERY_NOT_REQUESTED, 1);
+       TEST_EQ(vb2_try_returned, 1, "VB2_TRY(expr) error");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_NOT_REQUESTED, "  vb2api_fail no request");
+
+       reset_common_data(FOR_MISC);
+       call_vb2_try(VB2_SUCCESS, 123, 0);
+       TEST_EQ(vb2_try_returned, 0, "VB2_TRY(expr, ...) success");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_NOT_REQUESTED, "  vb2api_fail no request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE),
+               0, "  vb2api_fail no subcode");
+
+       reset_common_data(FOR_MISC);
+       call_vb2_try(VB2_REQUEST, 123, 0);
+       TEST_EQ(vb2_try_returned, 1, "VB2_TRY(expr, ...) request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_NOT_REQUESTED, "  vb2api_fail no request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE),
+               0, "  vb2api_fail no subcode");
+
+       reset_common_data(FOR_MISC);
+       call_vb2_try(VB2_ERROR_MOCK, 123, 0);
+       TEST_EQ(vb2_try_returned, 1, "VB2_TRY(expr, ...) error");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               123, "  vb2api_fail request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE),
+               VB2_ERROR_MOCK & 0xff, "  vb2api_fail subcode");
+}
+
+static void phase1_tests(void)
+{
+       reset_common_data(FOR_MISC);
+       TEST_SUCC(vb2api_fw_phase1(ctx), "phase1 good");
+       TEST_EQ(sd->recovery_reason, 0, "  not recovery");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_RECOVERY_MODE, 0, "  recovery flag");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_CLEAR_RAM, 0, "  clear ram flag");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_DISPLAY_INIT,
+               0, "  display init context flag");
+       TEST_EQ(sd->flags & VB2_SD_FLAG_DISPLAY_AVAILABLE,
+               0, "  display available SD flag");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_SECDATA_FIRMWARE_INIT,
+                0, "  secdata firmware initialized");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_SECDATA_KERNEL_INIT,
+                0, "  secdata kernel initialized");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "  recovery decided");
+
+       reset_common_data(FOR_MISC);
+       retval_vb2_fw_init_gbb = VB2_ERROR_GBB_MAGIC;
+       TEST_EQ(vb2api_fw_phase1(ctx), VB2_ERROR_API_PHASE1_RECOVERY,
+               "phase1 gbb");
+       TEST_EQ(sd->recovery_reason, VB2_RECOVERY_GBB_HEADER,
+               "  recovery reason");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_RECOVERY_MODE, 0, "  recovery flag");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_CLEAR_RAM, 0, "  clear ram flag");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "  recovery decided");
+
+       /* Dev switch error proceeds to a recovery boot */
+       reset_common_data(FOR_MISC);
+       retval_vb2_check_dev_switch = VB2_ERROR_MOCK;
+       TEST_EQ(vb2api_fw_phase1(ctx), VB2_ERROR_API_PHASE1_RECOVERY,
+               "phase1 dev switch error proceeds to recovery");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_DEV_SWITCH, "  recovery request");
+       TEST_EQ(sd->recovery_reason, VB2_RECOVERY_DEV_SWITCH,
+               "  recovery reason");
+       /* Check that DISPLAY_AVAILABLE gets set on recovery mode. */
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_DISPLAY_INIT,
+                0, "  display init context flag");
+       TEST_NEQ(sd->flags & VB2_SD_FLAG_DISPLAY_AVAILABLE,
+                0, "  display available SD flag");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "  recovery decided");
+
+       reset_common_data(FOR_MISC);
+       ctx->secdata_firmware[0] ^= 0x42;
+       TEST_EQ(vb2api_fw_phase1(ctx), VB2_ERROR_API_PHASE1_RECOVERY,
+               "phase1 secdata_firmware");
+       TEST_EQ(sd->recovery_reason, VB2_RECOVERY_SECDATA_FIRMWARE_INIT,
+               "  recovery reason");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_RECOVERY_MODE, 0, "  recovery flag");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_CLEAR_RAM, 0, "  clear ram flag");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "  recovery decided");
+
+       /* Bad secdata_kernel causes recovery mode */
+       reset_common_data(FOR_MISC);
+       ctx->secdata_kernel[2] ^= 0x42;  /* 3rd byte is CRC */
+       TEST_EQ(vb2api_fw_phase1(ctx), VB2_ERROR_API_PHASE1_RECOVERY,
+               "phase1 bad secdata_kernel");
+       TEST_EQ(sd->recovery_reason, VB2_RECOVERY_SECDATA_KERNEL_INIT,
+               "  recovery reason");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_RECOVERY_MODE, 0, "  recovery flag");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_CLEAR_RAM, 0, "  clear ram flag");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "  recovery decided");
+
+       /* Test secdata_firmware-requested reboot */
+       reset_common_data(FOR_MISC);
+       ctx->flags |= VB2_CONTEXT_SECDATA_WANTS_REBOOT;
+       TEST_EQ(vb2api_fw_phase1(ctx), VB2_ERROR_API_PHASE1_SECDATA_REBOOT,
+               "phase1 secdata_firmware reboot normal");
+       TEST_EQ(sd->recovery_reason, 0, "  recovery reason");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TPM_REQUESTED_REBOOT),
+               1, "  tpm reboot request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               0, "  recovery request");
+       TEST_EQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+               0, "  recovery decided");
+
+       reset_common_data(FOR_MISC);
+       vb2_nv_set(ctx, VB2_NV_TPM_REQUESTED_REBOOT, 1);
+       TEST_SUCC(vb2api_fw_phase1(ctx),
+                 "phase1 secdata_firmware reboot back normal");
+       TEST_EQ(sd->recovery_reason, 0, "  recovery reason");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TPM_REQUESTED_REBOOT),
+               0, "  tpm reboot request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               0, "  recovery request");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "  recovery decided");
+
+       reset_common_data(FOR_MISC);
+       ctx->flags |= VB2_CONTEXT_SECDATA_WANTS_REBOOT;
+       memset(ctx->secdata_firmware, 0, sizeof(ctx->secdata_firmware));
+       TEST_EQ(vb2api_fw_phase1(ctx), VB2_ERROR_API_PHASE1_SECDATA_REBOOT,
+               "phase1 secdata_firmware reboot normal, "
+               "secdata_firmware blank");
+       TEST_EQ(sd->recovery_reason, 0, "  recovery reason");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TPM_REQUESTED_REBOOT),
+               1, "  tpm reboot request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               0, "  recovery request");
+       TEST_EQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+               0, "  recovery decided");
+
+       reset_common_data(FOR_MISC);
+       ctx->flags |= VB2_CONTEXT_SECDATA_WANTS_REBOOT;
+       vb2_nv_set(ctx, VB2_NV_TPM_REQUESTED_REBOOT, 1);
+       TEST_EQ(vb2api_fw_phase1(ctx), VB2_ERROR_API_PHASE1_RECOVERY,
+               "phase1 secdata_firmware reboot normal again");
+       TEST_EQ(sd->recovery_reason, VB2_RECOVERY_RO_TPM_REBOOT,
+               "  recovery reason");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TPM_REQUESTED_REBOOT),
+               1, "  tpm reboot request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_RO_TPM_REBOOT, "  recovery request");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "  recovery decided");
+
+       reset_common_data(FOR_MISC);
+       ctx->flags |= VB2_CONTEXT_SECDATA_WANTS_REBOOT;
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, VB2_RECOVERY_RO_UNSPECIFIED);
+       TEST_EQ(vb2api_fw_phase1(ctx), VB2_ERROR_API_PHASE1_SECDATA_REBOOT,
+               "phase1 secdata_firmware reboot recovery");
+       /* Recovery reason isn't set this boot because we're rebooting first */
+       TEST_EQ(sd->recovery_reason, 0, "  recovery reason not set THIS boot");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TPM_REQUESTED_REBOOT),
+               1, "  tpm reboot request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_RO_UNSPECIFIED, "  recovery request");
+       TEST_EQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+               0, "  recovery decided");
+
+       reset_common_data(FOR_MISC);
+       vb2_nv_set(ctx, VB2_NV_TPM_REQUESTED_REBOOT, 1);
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, VB2_RECOVERY_RO_UNSPECIFIED);
+       TEST_EQ(vb2api_fw_phase1(ctx), VB2_ERROR_API_PHASE1_RECOVERY,
+               "phase1 secdata_firmware reboot back recovery");
+       TEST_EQ(sd->recovery_reason, VB2_RECOVERY_RO_UNSPECIFIED,
+               "  recovery reason");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TPM_REQUESTED_REBOOT),
+               0, "  tpm reboot request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_RO_UNSPECIFIED, "  recovery request");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "  recovery decided");
+
+       reset_common_data(FOR_MISC);
+       ctx->flags |= VB2_CONTEXT_SECDATA_WANTS_REBOOT;
+       vb2_nv_set(ctx, VB2_NV_TPM_REQUESTED_REBOOT, 1);
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, VB2_RECOVERY_RO_UNSPECIFIED);
+       TEST_EQ(vb2api_fw_phase1(ctx), VB2_ERROR_API_PHASE1_RECOVERY,
+               "phase1 secdata_firmware reboot recovery again");
+       TEST_EQ(sd->recovery_reason, VB2_RECOVERY_RO_UNSPECIFIED,
+               "  recovery reason");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TPM_REQUESTED_REBOOT),
+               1, "  tpm reboot request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_RO_UNSPECIFIED, "  recovery request");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "  recovery decided");
+
+       /* Cases for checking DISPLAY_INIT and DISPLAY_AVAILABLE. */
+       reset_common_data(FOR_MISC);
+       ctx->flags |= VB2_CONTEXT_DISPLAY_INIT;
+       TEST_SUCC(vb2api_fw_phase1(ctx), "phase1 with DISPLAY_INIT");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_DISPLAY_INIT,
+                0, "  display init context flag");
+       TEST_NEQ(sd->flags & VB2_SD_FLAG_DISPLAY_AVAILABLE,
+                0, "  display available SD flag");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "  recovery decided");
+
+       reset_common_data(FOR_MISC);
+       vb2_nv_set(ctx, VB2_NV_DISPLAY_REQUEST, 1);
+       TEST_SUCC(vb2api_fw_phase1(ctx), "phase1 with DISPLAY_REQUEST");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_DISPLAY_INIT,
+                0, "  display init context flag");
+       TEST_NEQ(sd->flags & VB2_SD_FLAG_DISPLAY_AVAILABLE,
+                0, "  display available SD flag");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "  recovery decided");
+
+       reset_common_data(FOR_MISC);
+       force_dev_mode = 1;
+       TEST_SUCC(vb2api_fw_phase1(ctx), "phase1 in dev mode");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_DISPLAY_INIT,
+                0, "  display init context flag");
+       TEST_NEQ(sd->flags & VB2_SD_FLAG_DISPLAY_AVAILABLE,
+                0, "  display available SD flag");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "  recovery decided");
+}
+
+static void phase2_tests(void)
+{
+       reset_common_data(FOR_MISC);
+       TEST_SUCC(vb2api_fw_phase2(ctx), "phase2 good");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_CLEAR_RAM, 0, "  clear ram flag");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_FW_SLOT_B, 0, "  slot b flag");
+
+       reset_common_data(FOR_MISC);
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       TEST_SUCC(vb2api_fw_phase2(ctx), "phase2 dev");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_CLEAR_RAM, 0, "  clear ram flag");
+
+       reset_common_data(FOR_MISC);
+       retval_vb2_check_tpm_clear = VB2_ERROR_MOCK;
+       TEST_EQ(vb2api_fw_phase2(ctx), VB2_ERROR_MOCK, "phase2 tpm clear");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_TPM_CLEAR_OWNER, "  recovery reason");
+
+       reset_common_data(FOR_MISC);
+       retval_vb2_select_fw_slot = VB2_ERROR_MOCK;
+       TEST_EQ(vb2api_fw_phase2(ctx), VB2_ERROR_MOCK, "phase2 slot");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_FW_SLOT, "  recovery reason");
+
+       /* S3 resume exits before clearing RAM */
+       reset_common_data(FOR_MISC);
+       ctx->flags |= VB2_CONTEXT_S3_RESUME;
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       TEST_SUCC(vb2api_fw_phase2(ctx), "phase2 s3 dev");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_CLEAR_RAM, 0, "  clear ram flag");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_FW_SLOT_B, 0, "  slot b flag");
+
+       reset_common_data(FOR_MISC);
+       ctx->flags |= VB2_CONTEXT_S3_RESUME;
+       vb2_nv_set(ctx, VB2_NV_FW_TRIED, 1);
+       TEST_SUCC(vb2api_fw_phase2(ctx), "phase2 s3");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_FW_SLOT_B, 0, "  slot b flag");
+}
+
+static void get_pcr_digest_tests(void)
+{
+       uint8_t digest[VB2_PCR_DIGEST_RECOMMENDED_SIZE];
+       uint8_t digest_org[VB2_PCR_DIGEST_RECOMMENDED_SIZE];
+       uint32_t digest_size;
+
+       reset_common_data(FOR_MISC);
+       memset(digest_org, 0, sizeof(digest_org));
+
+       digest_size = sizeof(digest);
+       memset(digest, 0, sizeof(digest));
+       TEST_SUCC(vb2api_get_pcr_digest(
+                       ctx, BOOT_MODE_PCR, digest, &digest_size),
+                 "BOOT_MODE_PCR");
+       TEST_EQ(digest_size, VB2_SHA1_DIGEST_SIZE, "BOOT_MODE_PCR digest size");
+       TEST_TRUE(memcmp(digest, digest_org, digest_size),
+                 "BOOT_MODE_PCR digest");
+
+       digest_size = sizeof(digest);
+       memset(digest, 0, sizeof(digest));
+       TEST_SUCC(vb2api_get_pcr_digest(
+                       ctx, HWID_DIGEST_PCR, digest, &digest_size),
+                 "HWID_DIGEST_PCR");
+       TEST_EQ(digest_size, VB2_GBB_HWID_DIGEST_SIZE,
+               "HWID_DIGEST_PCR digest size");
+       TEST_FALSE(memcmp(digest, mock_hwid_digest, digest_size),
+                  "HWID_DIGEST_PCR digest");
+
+       digest_size = 1;
+       TEST_EQ(vb2api_get_pcr_digest(ctx, BOOT_MODE_PCR, digest, &digest_size),
+               VB2_ERROR_API_PCR_DIGEST_BUF,
+               "BOOT_MODE_PCR buffer too small");
+
+       TEST_EQ(vb2api_get_pcr_digest(
+                       ctx, HWID_DIGEST_PCR + 1, digest, &digest_size),
+               VB2_ERROR_API_PCR_DIGEST,
+               "invalid enum vb2_pcr_digest");
+}
+
+static void phase3_tests(void)
+{
+       reset_common_data(FOR_MISC);
+       TEST_SUCC(vb2api_fw_phase3(ctx), "phase3 good");
+
+       reset_common_data(FOR_MISC);
+       retval_vb2_load_fw_keyblock = VB2_ERROR_MOCK;
+       TEST_EQ(vb2api_fw_phase3(ctx), VB2_ERROR_MOCK, "phase3 keyblock");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_RO_INVALID_RW, "  recovery reason");
+
+       reset_common_data(FOR_MISC);
+       retval_vb2_load_fw_preamble = VB2_ERROR_MOCK;
+       TEST_EQ(vb2api_fw_phase3(ctx), VB2_ERROR_MOCK, "phase3 keyblock");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_RO_INVALID_RW, "  recovery reason");
+}
+
+static void init_hash_tests(void)
+{
+       struct vb2_packed_key *k;
+       int wb_used_before;
+
+       /* For now, all we support is body signature hash */
+       reset_common_data(FOR_MISC);
+       wb_used_before = sd->workbuf_used;
+       TEST_SUCC(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
+                 "init hash good");
+       TEST_EQ(sd->hash_offset, wb_used_before, "hash context offset");
+       TEST_EQ(sd->hash_size, sizeof(struct vb2_digest_context),
+               "hash context size");
+       TEST_EQ(sd->workbuf_used,
+               vb2_wb_round_up(sd->hash_offset + sd->hash_size),
+               "hash uses workbuf");
+       TEST_EQ(sd->hash_tag, VB2_HASH_TAG_FW_BODY, "hash tag");
+       TEST_EQ(sd->hash_remaining_size, mock_body_size, "hash remaining");
+
+       wb_used_before = sd->workbuf_used;
+       TEST_SUCC(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
+                 "init hash again");
+       TEST_EQ(sd->workbuf_used, wb_used_before, "init hash reuses context");
+
+       reset_common_data(FOR_MISC);
+       TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_INVALID),
+               VB2_ERROR_API_INIT_HASH_TAG, "init hash invalid tag");
+
+       reset_common_data(FOR_MISC);
+       sd->preamble_size = 0;
+       TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
+               VB2_ERROR_API_INIT_HASH_PREAMBLE, "init hash preamble");
+
+       reset_common_data(FOR_MISC);
+       TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY + 1),
+               VB2_ERROR_API_INIT_HASH_TAG, "init hash unknown tag");
+
+       reset_common_data(FOR_MISC);
+       sd->workbuf_used = sd->workbuf_size + VB2_WORKBUF_ALIGN -
+                       vb2_wb_round_up(sizeof(struct vb2_digest_context));
+       TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
+               VB2_ERROR_API_INIT_HASH_WORKBUF, "init hash workbuf");
+
+       reset_common_data(FOR_MISC);
+       sd->data_key_size = 0;
+       TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
+               VB2_ERROR_API_INIT_HASH_DATA_KEY, "init hash data key");
+
+       reset_common_data(FOR_MISC);
+       sd->data_key_size--;
+       TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
+               VB2_ERROR_UNPACK_KEY_SIZE, "init hash data key size");
+
+       reset_common_data(FOR_MISC);
+       k = vb2_member_of(sd, sd->data_key_offset);
+       k->algorithm--;
+       TEST_EQ(vb2api_init_hash(ctx, VB2_HASH_TAG_FW_BODY),
+               VB2_ERROR_SHA_INIT_ALGORITHM, "init hash algorithm");
+}
+
+static void extend_hash_tests(void)
+{
+       struct vb2_digest_context *dc;
+
+       reset_common_data(FOR_EXTEND_HASH);
+       TEST_SUCC(vb2api_extend_hash(ctx, mock_body, 32),
+               "hash extend good");
+       TEST_EQ(sd->hash_remaining_size, mock_body_size - 32,
+               "hash extend remaining");
+       TEST_SUCC(vb2api_extend_hash(ctx, mock_body, mock_body_size - 32),
+               "hash extend again");
+       TEST_EQ(sd->hash_remaining_size, 0, "hash extend remaining 2");
+
+       reset_common_data(FOR_EXTEND_HASH);
+       sd->hash_size = 0;
+       TEST_EQ(vb2api_extend_hash(ctx, mock_body, mock_body_size),
+               VB2_ERROR_API_EXTEND_HASH_WORKBUF, "hash extend no workbuf");
+
+       reset_common_data(FOR_EXTEND_HASH);
+       TEST_EQ(vb2api_extend_hash(ctx, mock_body, mock_body_size + 1),
+               VB2_ERROR_API_EXTEND_HASH_SIZE, "hash extend too much");
+
+       reset_common_data(FOR_EXTEND_HASH);
+       TEST_EQ(vb2api_extend_hash(ctx, mock_body, 0),
+               VB2_ERROR_API_EXTEND_HASH_SIZE, "hash extend empty");
+
+       if (hwcrypto_state != HWCRYPTO_ENABLED) {
+               reset_common_data(FOR_EXTEND_HASH);
+               dc = (struct vb2_digest_context *)
+                       vb2_member_of(sd, sd->hash_offset);
+               dc->hash_alg = mock_hash_alg + 1;
+               TEST_EQ(vb2api_extend_hash(ctx, mock_body, mock_body_size),
+                       VB2_ERROR_SHA_EXTEND_ALGORITHM, "hash extend fail");
+       }
+}
+
+static void check_hash_tests(void)
+{
+       struct vb2_fw_preamble *pre;
+       const uint32_t digest_value = 0x0a0a0a0a;
+
+       reset_common_data(FOR_CHECK_HASH);
+       TEST_SUCC(vb2api_check_hash(ctx), "check hash good");
+
+       reset_common_data(FOR_CHECK_HASH);
+       TEST_SUCC(vb2api_check_hash_get_digest(ctx, digest_result,
+                       digest_result_size), "check hash good with result");
+       /* Check the first 4 bytes to ensure it was copied over. */
+       TEST_SUCC(memcmp(digest_result, &digest_value, sizeof(digest_value)),
+               "check digest value");
+
+       /* Test hwcrypto conditions */
+       if (hwcrypto_state == HWCRYPTO_FORBIDDEN) {
+               reset_common_data(FOR_CHECK_HASH);
+               TEST_SUCC(vb2api_check_hash(ctx), "check hash good");
+               TEST_EQ(last_used_key.allow_hwcrypto, 0,
+                       "hwcrypto is forbidden by TPM flag");
+
+               reset_common_data(FOR_CHECK_HASH);
+               ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+               TEST_SUCC(vb2api_check_hash(ctx), "check hash good");
+               TEST_EQ(last_used_key.allow_hwcrypto, 0,
+                       "hwcrypto is forbidden by TPM flag on recovery mode");
+       } else {
+               reset_common_data(FOR_CHECK_HASH);
+               TEST_SUCC(vb2api_check_hash(ctx), "check hash good");
+               TEST_EQ(last_used_key.allow_hwcrypto, 1, "hwcrypto is allowed");
+
+               reset_common_data(FOR_CHECK_HASH);
+               ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+               TEST_SUCC(vb2api_check_hash(ctx), "check hash good");
+               TEST_EQ(last_used_key.allow_hwcrypto, 0,
+                       "hwcrypto is forbidden on recovery mode");
+       }
+
+       reset_common_data(FOR_CHECK_HASH);
+       TEST_EQ(vb2api_check_hash_get_digest(ctx, digest_result,
+                       digest_result_size - 1),
+               VB2_ERROR_API_CHECK_DIGEST_SIZE, "check digest size");
+       TEST_NEQ(memcmp(digest_result, &digest_value, sizeof(digest_value)), 0,
+               "check digest wrong size");
+
+       reset_common_data(FOR_CHECK_HASH);
+       sd->preamble_size = 0;
+       TEST_EQ(vb2api_check_hash(ctx),
+               VB2_ERROR_API_CHECK_HASH_PREAMBLE, "check hash preamble");
+
+       reset_common_data(FOR_CHECK_HASH);
+       sd->hash_size = 0;
+       TEST_EQ(vb2api_check_hash(ctx),
+               VB2_ERROR_API_CHECK_HASH_WORKBUF, "check hash no workbuf");
+
+       reset_common_data(FOR_CHECK_HASH);
+       sd->hash_remaining_size = 1;
+       TEST_EQ(vb2api_check_hash(ctx),
+               VB2_ERROR_API_CHECK_HASH_SIZE, "check hash size");
+
+       reset_common_data(FOR_CHECK_HASH);
+       sd->workbuf_used = sd->workbuf_size;
+       TEST_EQ(vb2api_check_hash(ctx),
+               VB2_ERROR_API_CHECK_HASH_WORKBUF_DIGEST, "check hash workbuf");
+
+       reset_common_data(FOR_CHECK_HASH);
+       retval_vb2_digest_finalize = VB2_ERROR_MOCK;
+       TEST_EQ(vb2api_check_hash(ctx), VB2_ERROR_MOCK, "check hash finalize");
+
+       reset_common_data(FOR_CHECK_HASH);
+       sd->hash_tag = VB2_HASH_TAG_INVALID;
+       TEST_EQ(vb2api_check_hash(ctx),
+               VB2_ERROR_API_CHECK_HASH_TAG, "check hash tag");
+
+       reset_common_data(FOR_CHECK_HASH);
+       sd->data_key_size = 0;
+       TEST_EQ(vb2api_check_hash(ctx),
+               VB2_ERROR_API_CHECK_HASH_DATA_KEY, "check hash data key");
+
+       reset_common_data(FOR_CHECK_HASH);
+       sd->data_key_size--;
+       TEST_EQ(vb2api_check_hash(ctx),
+               VB2_ERROR_UNPACK_KEY_SIZE, "check hash data key size");
+
+       reset_common_data(FOR_CHECK_HASH);
+       pre = vb2_member_of(sd, sd->preamble_offset);
+       pre->body_signature.sig_size++;
+       TEST_EQ(vb2api_check_hash(ctx),
+               VB2_ERROR_VDATA_SIG_SIZE, "check hash sig size");
+
+       reset_common_data(FOR_CHECK_HASH);
+       retval_vb2_digest_finalize = VB2_ERROR_RSA_VERIFY_DIGEST;
+       TEST_EQ(vb2api_check_hash(ctx),
+               VB2_ERROR_RSA_VERIFY_DIGEST, "check hash finalize");
+}
+
+int main(int argc, char* argv[])
+{
+       misc_tests();
+       phase1_tests();
+       phase2_tests();
+       phase3_tests();
+
+       fprintf(stderr, "Running hash API tests without hwcrypto support...\n");
+       hwcrypto_state = HWCRYPTO_DISABLED;
+       init_hash_tests();
+       extend_hash_tests();
+       check_hash_tests();
+
+       fprintf(stderr, "Running hash API tests with hwcrypto support...\n");
+       hwcrypto_state = HWCRYPTO_ENABLED;
+       init_hash_tests();
+       extend_hash_tests();
+       check_hash_tests();
+
+       fprintf(stderr, "Running hash API tests with forbidden hwcrypto...\n");
+       hwcrypto_state = HWCRYPTO_FORBIDDEN;
+       init_hash_tests();
+       extend_hash_tests();
+       check_hash_tests();
+
+       get_pcr_digest_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_auxfw_sync_tests.c b/tests/vb2_auxfw_sync_tests.c
new file mode 100644 (file)
index 0000000..bcdd67a
--- /dev/null
@@ -0,0 +1,165 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for auxfw synchronization.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "load_kernel_fw.h"
+#include "test_common.h"
+#include "vboot_struct.h"
+
+/* Mock data */
+static struct vb2_context *ctx;
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_shared_data *sd;
+static struct vb2_gbb_header gbb;
+
+static vb2_error_t auxfw_retval;
+static int auxfw_update_req;
+static enum vb2_auxfw_update_severity auxfw_mock_severity;
+static enum vb2_auxfw_update_severity auxfw_update_severity;
+static int auxfw_mock_display_available;
+static int auxfw_protected;
+static vb2_error_t auxfw_done_retval;
+
+/* Reset mock data (for use before each test) */
+static void ResetMocks(void)
+{
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+
+       ctx->flags = VB2_CONTEXT_EC_SYNC_SUPPORTED;
+       vb2_nv_init(ctx);
+
+       sd = vb2_get_sd(ctx);
+
+       memset(&gbb, 0, sizeof(gbb));
+
+       auxfw_retval = VB2_SUCCESS;
+       auxfw_mock_severity = VB2_AUXFW_NO_UPDATE;
+       auxfw_update_severity = VB2_AUXFW_NO_UPDATE;
+       auxfw_mock_display_available = 1;
+       auxfw_update_req = 0;
+       auxfw_protected = 0;
+       auxfw_done_retval = VB2_SUCCESS;
+}
+
+/* Mock functions */
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
+{
+       return &gbb;
+}
+
+vb2_error_t vb2ex_auxfw_check(enum vb2_auxfw_update_severity *severity)
+{
+       *severity = auxfw_mock_severity;
+       auxfw_update_severity = auxfw_mock_severity;
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2ex_auxfw_update(void)
+{
+       if (auxfw_update_severity == VB2_AUXFW_SLOW_UPDATE)
+               if (!auxfw_mock_display_available)
+                       return VB2_REQUEST_REBOOT;
+
+       if (auxfw_update_severity != VB2_AUXFW_NO_DEVICE &&
+           auxfw_update_severity != VB2_AUXFW_NO_UPDATE)
+               auxfw_update_req = 1;
+       return auxfw_retval;
+}
+
+vb2_error_t vb2ex_auxfw_finalize(struct vb2_context *c)
+{
+       auxfw_protected = auxfw_update_severity != VB2_AUXFW_NO_DEVICE;
+       return auxfw_done_retval;
+}
+
+static void test_auxsync(vb2_error_t retval, int recovery_reason,
+                        const char *desc)
+{
+       TEST_EQ(vb2api_auxfw_sync(ctx), retval, desc);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               recovery_reason, "  recovery reason");
+}
+
+/* Tests */
+
+static void VbSoftwareSyncTest(void)
+{
+       ResetMocks();
+       gbb.flags |= VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC;
+       auxfw_mock_severity = VB2_AUXFW_FAST_UPDATE;
+       test_auxsync(VB2_REQUEST_REBOOT_EC_TO_RO, 0,
+                    "VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC"
+                    " does not disable auxfw update request");
+       TEST_EQ(auxfw_update_req, 1, "  auxfw update requested");
+       TEST_EQ(auxfw_protected, 0, "  auxfw protected");
+
+       ResetMocks();
+       gbb.flags |= VB2_GBB_FLAG_DISABLE_AUXFW_SOFTWARE_SYNC;
+       auxfw_mock_severity = VB2_AUXFW_FAST_UPDATE;
+       test_auxsync(VB2_SUCCESS, 0,
+                    "VB2_GBB_FLAG_DISABLE_AUXFW_SOFTWARE_SYNC"
+                    " disables auxfw update request");
+       TEST_EQ(auxfw_update_req, 0, "  auxfw update disabled");
+       TEST_EQ(auxfw_protected, 1, "  auxfw protected");
+
+       ResetMocks();
+       auxfw_mock_severity = VB2_AUXFW_NO_DEVICE;
+       test_auxsync(VB2_SUCCESS, 0,
+                    "No auxfw update needed");
+       TEST_EQ(auxfw_update_req, 0, "  no auxfw update requested");
+       TEST_EQ(auxfw_protected, 0, "  no auxfw protected");
+
+       ResetMocks();
+       auxfw_mock_severity = VB2_AUXFW_NO_UPDATE;
+       test_auxsync(VB2_SUCCESS, 0,
+               "No auxfw update needed");
+       TEST_EQ(auxfw_update_req, 0, "  no auxfw update requested");
+       TEST_EQ(auxfw_protected, 1, "  auxfw protected");
+
+       ResetMocks();
+       auxfw_mock_severity = VB2_AUXFW_FAST_UPDATE;
+       test_auxsync(VB2_REQUEST_REBOOT_EC_TO_RO, 0,
+                    "Fast auxfw update needed");
+       TEST_EQ(auxfw_update_req, 1, "  auxfw update requested");
+       TEST_EQ(auxfw_protected, 0, "  auxfw protected");
+
+       ResetMocks();
+       auxfw_mock_severity = VB2_AUXFW_SLOW_UPDATE;
+       auxfw_mock_display_available = 0;
+       test_auxsync(VB2_REQUEST_REBOOT, 0,
+                    "Slow auxfw update needed - reboot for display");
+
+       ResetMocks();
+       auxfw_mock_severity = VB2_AUXFW_SLOW_UPDATE;
+       test_auxsync(VB2_REQUEST_REBOOT_EC_TO_RO, 0,
+                    "Slow auxfw update needed");
+       TEST_EQ(auxfw_update_req, 1, "  auxfw update requested");
+       TEST_EQ(auxfw_protected, 0, "  auxfw protected");
+
+       ResetMocks();
+       auxfw_mock_severity = VB2_AUXFW_FAST_UPDATE;
+       auxfw_retval = VB2_ERROR_UNKNOWN;
+       test_auxsync(VB2_ERROR_UNKNOWN, VB2_RECOVERY_AUXFW_UPDATE,
+                    "Error updating auxfw");
+}
+
+int main(void)
+{
+       VbSoftwareSyncTest();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_common2_tests.c b/tests/vb2_common2_tests.c
new file mode 100644 (file)
index 0000000..5f065f8
--- /dev/null
@@ -0,0 +1,341 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for firmware image library.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sysincludes.h"
+#include "file_keys.h"
+#include "host_common.h"
+#include "host_key21.h"
+#include "test_common.h"
+
+static const uint8_t test_data[] = "This is some test data to sign.";
+static const uint32_t test_size = sizeof(test_data);
+
+static enum hwcrypto_state {
+       HWCRYPTO_OK,
+       HWCRYPTO_NOTSUPPORTED,
+       HWCRYPTO_ERROR,
+       HWCRYPTO_ABORT,
+} hwcrypto_state_rsa, hwcrypto_state_digest;
+
+static vb2_error_t hwcrypto_mock(enum hwcrypto_state *state)
+{
+       switch (*state) {
+               case HWCRYPTO_OK:
+                       return VB2_SUCCESS;
+               case HWCRYPTO_NOTSUPPORTED:
+                       return VB2_ERROR_EX_HWCRYPTO_UNSUPPORTED;
+               case HWCRYPTO_ERROR:
+                       return VB2_ERROR_MOCK;
+               case HWCRYPTO_ABORT:
+                       vb2ex_abort();
+                       /* shouldn't reach here but added for compiler */
+                       return VB2_ERROR_MOCK;
+       }
+       return VB2_ERROR_MOCK;
+}
+
+vb2_error_t vb2ex_hwcrypto_digest_init(enum vb2_hash_algorithm hash_alg,
+                                      uint32_t data_size)
+{
+       return hwcrypto_mock(&hwcrypto_state_digest);
+}
+
+vb2_error_t vb2ex_hwcrypto_digest_extend(const uint8_t *buf, uint32_t size)
+{
+       return hwcrypto_mock(&hwcrypto_state_digest);
+}
+
+vb2_error_t vb2ex_hwcrypto_digest_finalize(uint8_t *digest,
+                                          uint32_t digest_size)
+{
+       return hwcrypto_mock(&hwcrypto_state_digest);
+}
+
+vb2_error_t vb2ex_hwcrypto_rsa_verify_digest(const struct vb2_public_key *key,
+                                            const uint8_t *sig, const uint8_t *digest)
+{
+       return hwcrypto_mock(&hwcrypto_state_rsa);
+}
+
+
+static void test_unpack_key(const struct vb2_packed_key *key1)
+{
+       struct vb2_public_key pubk;
+
+       /*
+        * Key data follows the header for a newly allocated key, so we can
+        * calculate the buffer size by looking at how far the key data goes.
+        */
+       uint32_t size = key1->key_offset + key1->key_size;
+       uint8_t *buf = malloc(size);
+       struct vb2_packed_key *key = (struct vb2_packed_key *)buf;
+
+       memcpy(key, key1, size);
+       TEST_SUCC(vb2_unpack_key_buffer(&pubk, buf, size),
+                 "vb2_unpack_key_buffer() ok");
+
+       TEST_EQ(pubk.sig_alg, vb2_crypto_to_signature(key->algorithm),
+               "vb2_unpack_key_buffer() sig_alg");
+       TEST_EQ(pubk.hash_alg, vb2_crypto_to_hash(key->algorithm),
+               "vb2_unpack_key_buffer() hash_alg");
+
+
+       memcpy(key, key1, size);
+       key->algorithm = VB2_ALG_COUNT;
+       TEST_EQ(vb2_unpack_key_buffer(&pubk, buf, size),
+               VB2_ERROR_UNPACK_KEY_SIG_ALGORITHM,
+               "vb2_unpack_key_buffer() invalid algorithm");
+
+       memcpy(key, key1, size);
+       key->key_size--;
+       TEST_EQ(vb2_unpack_key_buffer(&pubk, buf, size),
+               VB2_ERROR_UNPACK_KEY_SIZE,
+               "vb2_unpack_key_buffer() invalid size");
+
+       memcpy(key, key1, size);
+       key->key_offset++;
+       TEST_EQ(vb2_unpack_key_buffer(&pubk, buf, size + 1),
+               VB2_ERROR_UNPACK_KEY_ALIGN,
+               "vb2_unpack_key_buffer() unaligned data");
+
+       memcpy(key, key1, size);
+       *(uint32_t *)(buf + key->key_offset) /= 2;
+       TEST_EQ(vb2_unpack_key_buffer(&pubk, buf, size),
+               VB2_ERROR_UNPACK_KEY_ARRAY_SIZE,
+               "vb2_unpack_key_buffer() invalid key array size");
+
+       memcpy(key, key1, size);
+       TEST_EQ(vb2_unpack_key_buffer(&pubk, buf, size - 1),
+               VB2_ERROR_INSIDE_DATA_OUTSIDE,
+               "vb2_unpack_key_buffer() buffer too small");
+
+       free(key);
+
+       TEST_EQ(vb2_unpack_key(&pubk, NULL),
+               VB2_ERROR_UNPACK_KEY_BUFFER,
+               "vb2_unpack_key_() buffer NULL");
+}
+
+static void test_verify_data(const struct vb2_packed_key *key1,
+                            const struct vb2_signature *sig)
+{
+       uint8_t workbuf[VB2_VERIFY_DATA_WORKBUF_BYTES]
+                __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+
+       struct vb2_public_key pubk, pubk_orig;
+       uint32_t sig_total_size = sig->sig_offset + sig->sig_size;
+       struct vb2_signature *sig2;
+
+       hwcrypto_state_rsa = HWCRYPTO_ABORT;
+       hwcrypto_state_digest = HWCRYPTO_ABORT;
+
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       /* Allocate signature copy for tests */
+       sig2 = (struct vb2_signature *)malloc(sig_total_size);
+
+       TEST_SUCC(vb2_unpack_key(&pubk, key1), "vb2_verify_data() unpack key");
+       pubk_orig = pubk;
+
+       memcpy(sig2, sig, sig_total_size);
+       pubk.sig_alg = VB2_SIG_INVALID;
+       TEST_NEQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+                0, "vb2_verify_data() bad sig alg");
+       pubk.sig_alg = pubk_orig.sig_alg;
+
+       memcpy(sig2, sig, sig_total_size);
+       pubk.hash_alg = VB2_HASH_INVALID;
+       TEST_NEQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+                0, "vb2_verify_data() bad hash alg");
+       pubk.hash_alg = pubk_orig.hash_alg;
+
+       vb2_workbuf_init(&wb, workbuf, 4);
+       memcpy(sig2, sig, sig_total_size);
+       TEST_NEQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+                0, "vb2_verify_data() workbuf too small");
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       memcpy(sig2, sig, sig_total_size);
+       TEST_EQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb2_verify_data() ok");
+
+       memcpy(sig2, sig, sig_total_size);
+       sig2->sig_size -= 16;
+       TEST_NEQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+                0, "vb2_verify_data() wrong sig size");
+
+       memcpy(sig2, sig, sig_total_size);
+       TEST_NEQ(vb2_verify_data(test_data, test_size - 1, sig2, &pubk, &wb),
+                0, "vb2_verify_data() input buffer too small");
+
+       memcpy(sig2, sig, sig_total_size);
+       vb2_signature_data_mutable(sig2)[0] ^= 0x5A;
+       TEST_NEQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+                0, "vb2_verify_data() wrong sig");
+
+       pubk.allow_hwcrypto = 1;
+
+       hwcrypto_state_digest = HWCRYPTO_OK;
+       hwcrypto_state_rsa = HWCRYPTO_OK;
+       memcpy(sig2, sig, sig_total_size);
+       vb2_signature_data_mutable(sig2)[0] ^= 0x5A;
+       TEST_EQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb2_verify_data() hwcrypto ok");
+
+       hwcrypto_state_rsa = HWCRYPTO_ERROR;
+       memcpy(sig2, sig, sig_total_size);
+       TEST_NEQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb2_verify_data() hwcrypto error");
+
+       hwcrypto_state_rsa = HWCRYPTO_NOTSUPPORTED;
+       memcpy(sig2, sig, sig_total_size);
+       TEST_EQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb2_verify_data() hwcrypto fallback ok");
+
+       memcpy(sig2, sig, sig_total_size);
+       sig2->sig_size -= 16;
+       TEST_NEQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb2_verify_data() hwcrypto fallback error");
+
+       hwcrypto_state_digest = HWCRYPTO_ERROR;
+       hwcrypto_state_rsa = HWCRYPTO_OK;
+       memcpy(sig2, sig, sig_total_size);
+       TEST_NEQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb2_verify_data() hwcrypto error");
+
+       hwcrypto_state_rsa = HWCRYPTO_ERROR;
+       memcpy(sig2, sig, sig_total_size);
+       TEST_NEQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb2_verify_data() hwcrypto error");
+
+       hwcrypto_state_rsa = HWCRYPTO_NOTSUPPORTED;
+       memcpy(sig2, sig, sig_total_size);
+       TEST_NEQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb2_verify_data() hwcrypto fallback error");
+
+       hwcrypto_state_digest = HWCRYPTO_NOTSUPPORTED;
+       hwcrypto_state_rsa = HWCRYPTO_OK;
+       memcpy(sig2, sig, sig_total_size);
+       vb2_signature_data_mutable(sig2)[0] ^= 0x5A;
+       TEST_EQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb2_verify_data() hwcrypto ok");
+
+       hwcrypto_state_rsa = HWCRYPTO_ERROR;
+       memcpy(sig2, sig, sig_total_size);
+       TEST_NEQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb2_verify_data() hwcrypto error");
+
+       hwcrypto_state_rsa = HWCRYPTO_NOTSUPPORTED;
+       memcpy(sig2, sig, sig_total_size);
+       TEST_EQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb2_verify_data() hwcrypto fallback ok");
+
+       memcpy(sig2, sig, sig_total_size);
+       sig2->sig_size -= 16;
+       TEST_NEQ(vb2_verify_data(test_data, test_size, sig2, &pubk, &wb),
+               0, "vb2_verify_data() hwcrypto fallback error");
+
+       pubk.allow_hwcrypto = 0;
+
+
+       free(sig2);
+}
+
+
+static int test_algorithm(int key_algorithm, const char *keys_dir)
+{
+       char filename[1024];
+       struct vb2_private_key *private_key = NULL;
+       struct vb2_signature *sig = NULL;
+       struct vb2_packed_key *key1 = NULL;
+
+       int retval = 1;
+
+       printf("***Testing algorithm: %s\n",
+              vb2_get_crypto_algorithm_name(key_algorithm));
+
+       snprintf(filename, sizeof(filename), "%s/key_%s.pem",
+                keys_dir,
+                vb2_get_crypto_algorithm_file(key_algorithm));
+       private_key = vb2_read_private_key_pem(filename, key_algorithm);
+       if (!private_key) {
+               fprintf(stderr, "Error reading private_key: %s\n", filename);
+               goto cleanup_algorithm;
+       }
+
+       snprintf(filename, sizeof(filename), "%s/key_%s.keyb",
+                keys_dir,
+                vb2_get_crypto_algorithm_file(key_algorithm));
+       key1 = vb2_read_packed_keyb(filename, key_algorithm, 1);
+       if (!key1) {
+               fprintf(stderr, "Error reading public_key: %s\n", filename);
+               goto cleanup_algorithm;
+       }
+
+       /* Calculate good signatures */
+       sig = vb2_calculate_signature(test_data, sizeof(test_data),
+                                     private_key);
+       TEST_PTR_NEQ(sig, 0, "Calculate signature");
+       if (!sig)
+               goto cleanup_algorithm;
+
+       test_unpack_key(key1);
+       test_verify_data(key1, sig);
+
+       retval = 0;
+
+cleanup_algorithm:
+       if (key1)
+               free(key1);
+       if (private_key)
+               free(private_key);
+       if (sig)
+               free(sig);
+
+       return retval;
+}
+
+/* Test only the algorithms we use */
+const int key_algs[] = {
+       VB2_ALG_RSA2048_SHA256,
+       VB2_ALG_RSA4096_SHA256,
+       VB2_ALG_RSA8192_SHA512,
+};
+
+int main(int argc, char *argv[]) {
+
+       if (argc == 2) {
+               int i;
+
+               for (i = 0; i < ARRAY_SIZE(key_algs); i++) {
+                       if (test_algorithm(key_algs[i], argv[1]))
+                               return 1;
+               }
+
+       } else if (argc == 3 && !strcasecmp(argv[2], "--all")) {
+               /* Test all the algorithms */
+               int alg;
+
+               for (alg = 0; alg < VB2_ALG_COUNT; alg++) {
+                       if (test_algorithm(alg, argv[1]))
+                               return 1;
+               }
+
+       } else {
+               fprintf(stderr, "Usage: %s <keys_dir> [--all]", argv[0]);
+               return -1;
+       }
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_common3_tests.c b/tests/vb2_common3_tests.c
new file mode 100644 (file)
index 0000000..5805204
--- /dev/null
@@ -0,0 +1,635 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for firmware image library.
+ */
+
+#include <stdio.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sysincludes.h"
+#include "file_keys.h"
+#include "host_common.h"
+#include "host_keyblock.h"
+#include "host_key.h"
+#include "host_signature.h"
+#include "test_common.h"
+
+static void resign_keyblock(struct vb2_keyblock *h,
+                           const struct vb2_private_key *key)
+{
+       struct vb2_signature *sig =
+               vb2_calculate_signature((const uint8_t *)h,
+                                       h->keyblock_signature.data_size, key);
+
+       vb2_copy_signature(&h->keyblock_signature, sig);
+       free(sig);
+}
+
+static void test_check_keyblock(const struct vb2_public_key *public_key,
+                               const struct vb2_private_key *private_key,
+                               const struct vb2_packed_key *data_key)
+{
+       struct vb2_keyblock *hdr;
+       struct vb2_keyblock *h;
+       struct vb2_signature *sig;
+       uint32_t hsize;
+
+       hdr = vb2_create_keyblock(data_key, private_key, 0x1234);
+       TEST_NEQ((size_t)hdr, 0, "vb2_verify_keyblock() prerequisites");
+       if (!hdr)
+               return;
+       hsize = hdr->keyblock_size;
+       h = (struct vb2_keyblock *)malloc(hsize + 2048);
+       sig = &h->keyblock_signature;
+
+       memcpy(h, hdr, hsize);
+       TEST_SUCC(vb2_check_keyblock(h, hsize, sig),
+                 "vb2_check_keyblock() ok");
+
+       memcpy(h, hdr, hsize);
+       TEST_EQ(vb2_check_keyblock(h, hsize - 1, sig),
+               VB2_ERROR_KEYBLOCK_SIZE, "vb2_check_keyblock() size--");
+
+       /* Buffer is allowed to be bigger than keyblock */
+       memcpy(h, hdr, hsize);
+       TEST_SUCC(vb2_check_keyblock(h, hsize + 1, sig),
+                 "vb2_check_keyblock() size++");
+
+       memcpy(h, hdr, hsize);
+       h->magic[0] &= 0x12;
+       TEST_EQ(vb2_check_keyblock(h, hsize, sig),
+               VB2_ERROR_KEYBLOCK_MAGIC, "vb2_check_keyblock() magic");
+
+       /* Care about major version but not minor */
+       memcpy(h, hdr, hsize);
+       h->header_version_major++;
+       resign_keyblock(h, private_key);
+       TEST_EQ(vb2_check_keyblock(h, hsize, sig),
+               VB2_ERROR_KEYBLOCK_HEADER_VERSION,
+               "vb2_check_keyblock() major++");
+
+       memcpy(h, hdr, hsize);
+       h->header_version_major--;
+       resign_keyblock(h, private_key);
+       TEST_EQ(vb2_check_keyblock(h, hsize, sig),
+               VB2_ERROR_KEYBLOCK_HEADER_VERSION,
+               "vb2_check_keyblock() major--");
+
+       memcpy(h, hdr, hsize);
+       h->header_version_minor++;
+       resign_keyblock(h, private_key);
+       TEST_SUCC(vb2_check_keyblock(h, hsize, sig),
+                 "vb2_check_keyblock() minor++");
+
+       memcpy(h, hdr, hsize);
+       h->header_version_minor--;
+       resign_keyblock(h, private_key);
+       TEST_SUCC(vb2_check_keyblock(h, hsize, sig),
+                 "vb2_check_keyblock() minor--");
+
+       /* Check signature */
+       memcpy(h, hdr, hsize);
+       h->keyblock_signature.sig_offset = hsize;
+       resign_keyblock(h, private_key);
+       TEST_EQ(vb2_check_keyblock(h, hsize, sig),
+               VB2_ERROR_KEYBLOCK_SIG_OUTSIDE,
+               "vb2_check_keyblock() sig off end");
+
+       memcpy(h, hdr, hsize);
+       h->keyblock_signature.data_size = h->keyblock_size + 1;
+       TEST_EQ(vb2_check_keyblock(h, hsize, sig),
+               VB2_ERROR_KEYBLOCK_SIGNED_TOO_MUCH,
+               "vb2_check_keyblock() sig data past end of block");
+
+       /* Check that we signed header and data key */
+       memcpy(h, hdr, hsize);
+       h->keyblock_signature.data_size = 4;
+       h->data_key.key_offset = 0;
+       h->data_key.key_size = 0;
+       resign_keyblock(h, private_key);
+       TEST_EQ(vb2_check_keyblock(h, hsize, sig),
+               VB2_ERROR_KEYBLOCK_SIGNED_TOO_LITTLE,
+               "vb2_check_keyblock() didn't sign header");
+
+       memcpy(h, hdr, hsize);
+       h->data_key.key_offset = hsize;
+       resign_keyblock(h, private_key);
+       TEST_EQ(vb2_check_keyblock(h, hsize, sig),
+               VB2_ERROR_KEYBLOCK_DATA_KEY_OUTSIDE,
+               "vb2_check_keyblock() data key off end");
+
+       /* Corner cases for error checking */
+       TEST_EQ(vb2_check_keyblock(NULL, 4, sig),
+               VB2_ERROR_KEYBLOCK_TOO_SMALL_FOR_HEADER,
+               "vb2_check_keyblock size too small");
+
+       /*
+        * TODO: verify parser can support a bigger header (i.e., one where
+        * data_key.key_offset is bigger than expected).
+        */
+
+       free(h);
+       free(hdr);
+}
+
+static void test_verify_keyblock(const struct vb2_public_key *public_key,
+                               const struct vb2_private_key *private_key,
+                               const struct vb2_packed_key *data_key)
+{
+       uint8_t workbuf[VB2_KEYBLOCK_VERIFY_WORKBUF_BYTES]
+               __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+       struct vb2_keyblock *hdr;
+       struct vb2_keyblock *h;
+       uint32_t hsize;
+
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       hdr = vb2_create_keyblock(data_key, private_key, 0x1234);
+       TEST_NEQ((size_t)hdr, 0, "vb2_verify_keyblock() prerequisites");
+       if (!hdr)
+               return;
+       hsize = hdr->keyblock_size;
+       h = (struct vb2_keyblock *)malloc(hsize + 2048);
+
+       memcpy(h, hdr, hsize);
+       TEST_SUCC(vb2_verify_keyblock(h, hsize, public_key, &wb),
+                 "vb2_verify_keyblock() ok using key");
+
+       /* Failures in keyblock check also cause verify to fail */
+       memcpy(h, hdr, hsize);
+       TEST_EQ(vb2_verify_keyblock(h, hsize - 1, public_key, &wb),
+               VB2_ERROR_KEYBLOCK_SIZE, "vb2_verify_keyblock() check");
+
+       /* Check signature */
+       memcpy(h, hdr, hsize);
+       h->keyblock_signature.sig_size--;
+       resign_keyblock(h, private_key);
+       TEST_EQ(vb2_verify_keyblock(h, hsize, public_key, &wb),
+               VB2_ERROR_KEYBLOCK_SIG_INVALID,
+               "vb2_verify_keyblock() sig too small");
+
+       memcpy(h, hdr, hsize);
+       ((uint8_t *)vb2_packed_key_data_mutable(&h->data_key))[0] ^= 0x34;
+       TEST_EQ(vb2_verify_keyblock(h, hsize, public_key, &wb),
+               VB2_ERROR_KEYBLOCK_SIG_INVALID,
+               "vb2_verify_keyblock() sig mismatch");
+
+       /*
+        * TODO: verify parser can support a bigger header (i.e., one where
+        * data_key.key_offset is bigger than expected).
+        */
+
+       free(h);
+       free(hdr);
+}
+
+static void resign_fw_preamble(struct vb2_fw_preamble *h,
+                              struct vb2_private_key *key)
+{
+       struct vb2_signature *sig = vb2_calculate_signature(
+               (const uint8_t *)h, h->preamble_signature.data_size, key);
+
+       vb2_copy_signature(&h->preamble_signature, sig);
+       free(sig);
+}
+
+static void test_verify_fw_preamble(struct vb2_packed_key *public_key,
+                                   struct vb2_private_key *private_key,
+                                   struct vb2_packed_key *kernel_subkey)
+{
+       struct vb2_fw_preamble *hdr;
+       struct vb2_fw_preamble *h;
+       struct vb2_public_key rsa;
+       uint8_t workbuf[VB2_VERIFY_FIRMWARE_PREAMBLE_WORKBUF_BYTES]
+                __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+       uint32_t hsize;
+
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       /* Create a dummy signature */
+       struct vb2_signature *body_sig = vb2_alloc_signature(56, 78);
+
+       TEST_SUCC(vb2_unpack_key(&rsa, public_key),
+                 "vb2_verify_fw_preamble() prereq key");
+
+       hdr = vb2_create_fw_preamble(0x1234, kernel_subkey, body_sig,
+                                    private_key, 0x5678);
+       TEST_PTR_NEQ(hdr, NULL,
+                    "vb2_verify_fw_preamble() prereq test preamble");
+       if (!hdr) {
+               free(body_sig);
+               return;
+       }
+
+       hsize = (uint32_t) hdr->preamble_size;
+       h = (struct vb2_fw_preamble *)malloc(hsize + 16384);
+
+       memcpy(h, hdr, hsize);
+       TEST_SUCC(vb2_verify_fw_preamble(h, hsize, &rsa, &wb),
+                 "vb2_verify_fw_preamble() ok using key");
+
+       memcpy(h, hdr, hsize);
+       TEST_EQ(vb2_verify_fw_preamble(h, 4, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_TOO_SMALL_FOR_HEADER,
+               "vb2_verify_fw_preamble() size tiny");
+
+       memcpy(h, hdr, hsize);
+       TEST_EQ(vb2_verify_fw_preamble(h, hsize - 1, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_SIZE,
+               "vb2_verify_fw_preamble() size--");
+
+       /* Buffer is allowed to be bigger than preamble */
+       memcpy(h, hdr, hsize);
+       TEST_SUCC(vb2_verify_fw_preamble(h, hsize + 1, &rsa, &wb),
+                 "vb2_verify_fw_preamble() size++");
+
+       /* Care about major version but not minor */
+       memcpy(h, hdr, hsize);
+       h->header_version_major++;
+       resign_fw_preamble(h, private_key);
+       TEST_EQ(vb2_verify_fw_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_HEADER_VERSION
+               , "vb2_verify_fw_preamble() major++");
+
+       memcpy(h, hdr, hsize);
+       h->header_version_major--;
+       resign_fw_preamble(h, private_key);
+       TEST_EQ(vb2_verify_fw_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_HEADER_VERSION,
+               "vb2_verify_fw_preamble() major--");
+
+       memcpy(h, hdr, hsize);
+       h->header_version_minor++;
+       resign_fw_preamble(h, private_key);
+       TEST_SUCC(vb2_verify_fw_preamble(h, hsize, &rsa, &wb),
+                 "vb2_verify_fw_preamble() minor++");
+
+       memcpy(h, hdr, hsize);
+       h->header_version_minor--;
+       resign_fw_preamble(h, private_key);
+       TEST_EQ(vb2_verify_fw_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_HEADER_OLD,
+               "vb2_verify_fw_preamble() 2.0 not supported");
+
+       /* Check signature */
+       memcpy(h, hdr, hsize);
+       h->preamble_signature.sig_offset = hsize;
+       resign_fw_preamble(h, private_key);
+       TEST_EQ(vb2_verify_fw_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_SIG_OUTSIDE,
+               "vb2_verify_fw_preamble() sig off end");
+
+       memcpy(h, hdr, hsize);
+       h->preamble_signature.sig_size--;
+       resign_fw_preamble(h, private_key);
+       TEST_EQ(vb2_verify_fw_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_SIG_INVALID,
+               "vb2_verify_fw_preamble() sig too small");
+
+       memcpy(h, hdr, hsize);
+       ((uint8_t *)vb2_packed_key_data_mutable(&h->kernel_subkey))[0] ^= 0x34;
+       TEST_EQ(vb2_verify_fw_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_SIG_INVALID,
+               "vb2_verify_fw_preamble() sig mismatch");
+
+       /* Check that we signed header, kernel subkey, and body sig */
+       memcpy(h, hdr, hsize);
+       h->preamble_signature.data_size = 4;
+       h->kernel_subkey.key_offset = 0;
+       h->kernel_subkey.key_size = 0;
+       h->body_signature.sig_offset = 0;
+       h->body_signature.sig_size = 0;
+       resign_fw_preamble(h, private_key);
+       TEST_EQ(vb2_verify_fw_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_SIGNED_TOO_LITTLE,
+               "vb2_verify_fw_preamble() didn't sign header");
+
+       memcpy(h, hdr, hsize);
+       h->kernel_subkey.key_offset = hsize;
+       resign_fw_preamble(h, private_key);
+       TEST_EQ(vb2_verify_fw_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_KERNEL_SUBKEY_OUTSIDE,
+               "vb2_verify_fw_preamble() kernel subkey off end");
+
+       memcpy(h, hdr, hsize);
+       h->body_signature.sig_offset = hsize;
+       resign_fw_preamble(h, private_key);
+       TEST_EQ(vb2_verify_fw_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_BODY_SIG_OUTSIDE,
+               "vb2_verify_fw_preamble() body sig off end");
+
+       /* TODO: verify with extra padding at end of header. */
+
+       free(h);
+       free(hdr);
+       free(body_sig);
+}
+
+static void resign_kernel_preamble(struct vb2_kernel_preamble *h,
+                                  const struct vb2_private_key *key)
+{
+       struct vb2_signature *sig = vb2_calculate_signature(
+               (const uint8_t *)h, h->preamble_signature.data_size, key);
+
+       vb2_copy_signature(&h->preamble_signature, sig);
+       free(sig);
+}
+
+static void test_verify_kernel_preamble(
+               const struct vb2_packed_key *public_key,
+               const struct vb2_private_key *private_key)
+{
+       struct vb2_public_key rsa;
+       // TODO: how many workbuf bytes?
+       uint8_t workbuf[VB2_VERIFY_FIRMWARE_PREAMBLE_WORKBUF_BYTES]
+                __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+       uint32_t hsize;
+
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       /* Create a dummy signature */
+       struct vb2_signature *body_sig = vb2_alloc_signature(56, 0x214000);
+
+       TEST_SUCC(vb2_unpack_key(&rsa, public_key),
+                 "vb2_verify_kernel_preamble() prereq key");
+
+       struct vb2_kernel_preamble *hdr =
+               vb2_create_kernel_preamble(0x1234, 0x100000, 0x300000, 0x4000,
+                                          body_sig, 0x304000, 0x10000, 0, 0,
+                                          private_key);
+       TEST_PTR_NEQ(hdr, NULL,
+                    "vb2_verify_kernel_preamble() prereq test preamble");
+       if (!hdr) {
+               free(body_sig);
+               return;
+       }
+
+       hsize = (uint32_t) hdr->preamble_size;
+       struct vb2_kernel_preamble *h =
+               (struct vb2_kernel_preamble *)malloc(hsize + 16384);
+
+       memcpy(h, hdr, hsize);
+       TEST_SUCC(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+                 "vb2_verify_kernel_preamble() ok using key");
+
+       memcpy(h, hdr, hsize);
+       TEST_EQ(vb2_verify_kernel_preamble(h, 4, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_TOO_SMALL_FOR_HEADER,
+               "vb2_verify_kernel_preamble() size tiny");
+
+       memcpy(h, hdr, hsize);
+       TEST_EQ(vb2_verify_kernel_preamble(h, hsize - 1, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_SIZE,
+               "vb2_verify_kernel_preamble() size--");
+
+       /* Buffer is allowed to be bigger than preamble */
+       memcpy(h, hdr, hsize);
+       TEST_SUCC(vb2_verify_kernel_preamble(h, hsize + 1, &rsa, &wb),
+                 "vb2_verify_kernel_preamble() size++");
+
+       /* Care about major version but not minor */
+       memcpy(h, hdr, hsize);
+       h->header_version_major++;
+       resign_kernel_preamble(h, private_key);
+       TEST_EQ(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_HEADER_VERSION
+               , "vb2_verify_kernel_preamble() major++");
+
+       memcpy(h, hdr, hsize);
+       h->header_version_major--;
+       resign_kernel_preamble(h, private_key);
+       TEST_EQ(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_HEADER_VERSION,
+               "vb2_verify_kernel_preamble() major--");
+
+       memcpy(h, hdr, hsize);
+       h->header_version_minor++;
+       resign_kernel_preamble(h, private_key);
+       TEST_SUCC(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+                 "vb2_verify_kernel_preamble() minor++");
+
+       /* Check signature */
+       memcpy(h, hdr, hsize);
+       h->preamble_signature.sig_offset = hsize;
+       resign_kernel_preamble(h, private_key);
+       TEST_EQ(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_SIG_OUTSIDE,
+               "vb2_verify_kernel_preamble() sig off end");
+
+       memcpy(h, hdr, hsize);
+       h->preamble_signature.sig_size--;
+       resign_kernel_preamble(h, private_key);
+       TEST_EQ(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_SIG_INVALID,
+               "vb2_verify_kernel_preamble() sig too small");
+
+       memcpy(h, hdr, hsize);
+       h->flags++;
+       TEST_EQ(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_SIG_INVALID,
+               "vb2_verify_kernel_preamble() sig mismatch");
+
+       /* Check that we signed header and body sig */
+       memcpy(h, hdr, hsize);
+       h->preamble_signature.data_size = 4;
+       h->body_signature.sig_offset = 0;
+       h->body_signature.sig_size = 0;
+       resign_kernel_preamble(h, private_key);
+       TEST_EQ(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_SIGNED_TOO_LITTLE,
+               "vb2_verify_kernel_preamble() didn't sign header");
+
+       memcpy(h, hdr, hsize);
+       h->body_signature.sig_offset = hsize;
+       resign_kernel_preamble(h, private_key);
+       TEST_EQ(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_BODY_SIG_OUTSIDE,
+               "vb2_verify_kernel_preamble() body sig off end");
+
+       /* Check bootloader inside signed body */
+       memcpy(h, hdr, hsize);
+       h->bootloader_address = h->body_load_address - 1;
+       resign_kernel_preamble(h, private_key);
+       TEST_EQ(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_BOOTLOADER_OUTSIDE,
+               "vb2_verify_kernel_preamble() bootloader before body");
+
+       memcpy(h, hdr, hsize);
+       h->bootloader_address = h->body_load_address +
+               h->body_signature.data_size + 1;
+       resign_kernel_preamble(h, private_key);
+       TEST_EQ(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_BOOTLOADER_OUTSIDE,
+               "vb2_verify_kernel_preamble() bootloader off end of body");
+
+       memcpy(h, hdr, hsize);
+       h->bootloader_address = h->body_load_address +
+               h->body_signature.data_size + 1;
+       h->bootloader_size = 0;
+       resign_kernel_preamble(h, private_key);
+       TEST_SUCC(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+                 "vb2_verify_kernel_preamble() no bootloader");
+
+       /* Check vmlinuz inside signed body */
+       memcpy(h, hdr, hsize);
+       h->vmlinuz_header_address = h->body_load_address - 1;
+       resign_kernel_preamble(h, private_key);
+       TEST_EQ(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_VMLINUZ_HEADER_OUTSIDE,
+               "vb2_verify_kernel_preamble() vmlinuz_header before body");
+
+       memcpy(h, hdr, hsize);
+       h->vmlinuz_header_address = h->body_load_address +
+               h->body_signature.data_size + 1;
+       resign_kernel_preamble(h, private_key);
+       TEST_EQ(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+               VB2_ERROR_PREAMBLE_VMLINUZ_HEADER_OUTSIDE,
+               "vb2_verify_kernel_preamble() vmlinuz_header off end of body");
+
+       memcpy(h, hdr, hsize);
+       h->vmlinuz_header_address = h->body_load_address +
+               h->body_signature.data_size + 1;
+       h->vmlinuz_header_size = 0;
+       resign_kernel_preamble(h, private_key);
+       TEST_SUCC(vb2_verify_kernel_preamble(h, hsize, &rsa, &wb),
+                 "vb2_verify_kernel_preamble() no vmlinuz_header");
+
+       /* TODO: verify with extra padding at end of header. */
+
+       free(h);
+       free(hdr);
+       free(body_sig);
+}
+
+static int test_permutation(int signing_key_algorithm, int data_key_algorithm,
+                           const char *keys_dir)
+{
+       char filename[1024];
+       int retval = 1;
+
+       struct vb2_private_key *signing_private_key = NULL;
+       struct vb2_packed_key *signing_public_key = NULL;
+       struct vb2_packed_key *data_public_key = NULL;
+
+       printf("***Testing signing algorithm: %s\n",
+              vb2_get_crypto_algorithm_name(signing_key_algorithm));
+       printf("***With data key algorithm: %s\n",
+              vb2_get_crypto_algorithm_name(data_key_algorithm));
+
+       snprintf(filename, sizeof(filename), "%s/key_%s.pem",
+                keys_dir,
+                vb2_get_crypto_algorithm_file(signing_key_algorithm));
+       signing_private_key =
+               vb2_read_private_key_pem(filename, signing_key_algorithm);
+       if (!signing_private_key) {
+               fprintf(stderr, "Error reading signing_private_key: %s\n",
+                       filename);
+               goto cleanup_permutation;
+       }
+
+       snprintf(filename, sizeof(filename), "%s/key_%s.keyb",
+                keys_dir,
+                vb2_get_crypto_algorithm_file(signing_key_algorithm));
+       signing_public_key =
+               vb2_read_packed_keyb(filename, signing_key_algorithm, 1);
+       if (!signing_public_key) {
+               fprintf(stderr, "Error reading signing_public_key: %s\n",
+                       filename);
+               goto cleanup_permutation;
+       }
+
+       snprintf(filename, sizeof(filename), "%s/key_%s.keyb",
+                keys_dir,
+                vb2_get_crypto_algorithm_file(data_key_algorithm));
+       data_public_key =
+               vb2_read_packed_keyb(filename, data_key_algorithm, 1);
+       if (!data_public_key) {
+               fprintf(stderr, "Error reading data_public_key: %s\n",
+                       filename);
+               goto cleanup_permutation;
+       }
+
+       /* Unpack public key */
+       struct vb2_public_key signing_public_key2;
+       if (VB2_SUCCESS !=
+           vb2_unpack_key_buffer(&signing_public_key2,
+                          (uint8_t *)signing_public_key,
+                          signing_public_key->key_offset +
+                          signing_public_key->key_size)) {
+               fprintf(stderr, "Error unpacking signing_public_key: %s\n",
+                       filename);
+               goto cleanup_permutation;
+       }
+
+       test_check_keyblock(&signing_public_key2, signing_private_key,
+                           data_public_key);
+       test_verify_keyblock(&signing_public_key2, signing_private_key,
+                            data_public_key);
+       test_verify_fw_preamble(signing_public_key, signing_private_key,
+                               data_public_key);
+       test_verify_kernel_preamble(signing_public_key, signing_private_key);
+
+       retval = 0;
+
+cleanup_permutation:
+       if (signing_public_key)
+               free(signing_public_key);
+       if (signing_private_key)
+               free(signing_private_key);
+       if (data_public_key)
+               free(data_public_key);
+
+       return retval;
+}
+
+struct test_perm
+{
+       int signing_algorithm;
+       int data_key_algorithm;
+};
+
+/* Permutations of signing and data key algorithms in active use */
+const struct test_perm test_perms[] = {
+       {VB2_ALG_RSA4096_SHA256, VB2_ALG_RSA2048_SHA256},
+       {VB2_ALG_RSA8192_SHA512, VB2_ALG_RSA2048_SHA256},
+       {VB2_ALG_RSA8192_SHA512, VB2_ALG_RSA4096_SHA256},
+};
+
+int main(int argc, char *argv[])
+{
+       if (argc == 2) {
+               /* Test only the algorithms we use */
+               int i;
+
+               for (i = 0; i < ARRAY_SIZE(test_perms); i++) {
+                       if (test_permutation(test_perms[i].signing_algorithm,
+                                            test_perms[i].data_key_algorithm,
+                                            argv[1]))
+                               return 1;
+               }
+
+       } else if (argc == 3 && !strcasecmp(argv[2], "--all")) {
+               /* Test all the algorithms */
+               int sign_alg, data_alg;
+
+               for (sign_alg = 0; sign_alg < VB2_ALG_COUNT; sign_alg++) {
+                       for (data_alg = 0; data_alg < VB2_ALG_COUNT;
+                            data_alg++) {
+                               if (test_permutation(sign_alg, data_alg,
+                                                    argv[1]))
+                                       return 1;
+                       }
+               }
+       } else {
+               fprintf(stderr, "Usage: %s <keys_dir> [--all]", argv[0]);
+               return -1;
+       }
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_common_tests.c b/tests/vb2_common_tests.c
new file mode 100644 (file)
index 0000000..d76c402
--- /dev/null
@@ -0,0 +1,352 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for firmware 2common.c
+ */
+
+#include "2common.h"
+#include "2sysincludes.h"
+#include "test_common.h"
+#include "vboot_struct.h"  /* For old struct sizes */
+
+/* Mock data */
+static int counter_calls_left = 0;
+
+/* Mock functions */
+static int counter(void)
+{
+       counter_calls_left--;
+       return 0;
+}
+
+/*
+ * Test arithmetic-related macros and operators.
+ */
+static void test_arithmetic(void)
+{
+       int64_t a = -10, b = -20;
+       uint64_t u = (0xabcd00000000ULL);
+       uint64_t v = (0xabcd000000ULL);
+
+       TEST_EQ(VB2_MIN(1, 2), 1, "MIN 1");
+       TEST_EQ(VB2_MIN(4, 3), 3, "MIN 3");
+       TEST_EQ(VB2_MIN(5, 5), 5, "MIN 5");
+       TEST_EQ(VB2_MIN(a, b), b, "MIN uint64 1");
+       TEST_EQ(VB2_MIN(b, a), b, "MIN uint64 2");
+       TEST_EQ(VB2_MIN(b, b), b, "MIN uint64 same");
+
+       counter_calls_left = 2;
+       VB2_MIN(counter(), counter());
+       TEST_EQ(counter_calls_left, 0, "MIN double-evaluation");
+
+       TEST_EQ(VB2_MAX(1, 2), 2, "MAX 2");
+       TEST_EQ(VB2_MAX(4, 3), 4, "MAX 4");
+       TEST_EQ(VB2_MAX(5, 5), 5, "MAX 5");
+       TEST_EQ(VB2_MAX(a, b), a, "MAX uint64 1");
+       TEST_EQ(VB2_MAX(b, a), a, "MAX uint64 2");
+       TEST_EQ(VB2_MAX(b, b), b, "MAX uint64 same");
+
+       counter_calls_left = 2;
+       VB2_MAX(counter(), counter());
+       TEST_EQ(counter_calls_left, 0, "MAX double-evaluation");
+
+       TEST_EQ(u >> 8, v, "uint64_t >> 8");
+       TEST_EQ(u >> 0, u, "uint64_t >> 0");
+       TEST_EQ(u >> 36, (uint64_t)0xabc, "uint64_t >> 36");
+
+       TEST_EQ(v * (uint32_t)0, 0, "uint64_t * uint32_t 0");
+       TEST_EQ(v * (uint32_t)1, v, "uint64_t * uint32_t 1");
+       TEST_EQ(v * (uint32_t)256, u, "uint64_t * uint32_t 256");
+}
+
+/*
+ * Test array size macro.
+ */
+static void test_array_size(void)
+{
+       uint8_t arr1[12];
+       uint32_t arr2[7];
+       uint64_t arr3[9];
+
+       TEST_EQ(ARRAY_SIZE(arr1), 12, "ARRAYSIZE(uint8_t)");
+       TEST_EQ(ARRAY_SIZE(arr2), 7, "ARRAYSIZE(uint32_t)");
+       TEST_EQ(ARRAY_SIZE(arr3), 9, "ARRAYSIZE(uint64_t)");
+}
+
+/*
+ * Test struct packing for vboot_struct.h structs which are passed between
+ * firmware and OS, or passed between different phases of firmware.
+ */
+static void test_struct_packing(void)
+{
+       TEST_EQ(EXPECTED_VB2_PACKED_KEY_SIZE,
+               sizeof(struct vb2_packed_key),
+               "sizeof(vb2_packed_key)");
+       TEST_EQ(EXPECTED_VB2_GBB_HEADER_SIZE,
+               sizeof(struct vb2_gbb_header),
+               "sizeof(vb2_gbb_header)");
+       TEST_EQ(EXPECTED_VB2_SIGNATURE_SIZE,
+               sizeof(struct vb2_signature),
+               "sizeof(vb2_signature)");
+       TEST_EQ(EXPECTED_VB2_KEYBLOCK_SIZE,
+               sizeof(struct vb2_keyblock),
+               "sizeof(vb2_keyblock)");
+}
+
+/**
+ * Test memory compare functions
+ */
+static void test_memcmp(void)
+{
+       TEST_EQ(vb2_safe_memcmp("foo", "foo", 3), 0, "memcmp equal");
+       TEST_NEQ(vb2_safe_memcmp("foo1", "foo2", 4), 0, "memcmp different");
+       TEST_EQ(vb2_safe_memcmp("foo1", "foo2", 0), 0, "memcmp 0-size");
+}
+
+/**
+ * Test alignment functions
+ */
+static void test_align(void)
+{
+       uint64_t buf[4];
+       uint8_t *p0, *ptr;
+       uint32_t size;
+
+       /* Already aligned */
+       p0 = (uint8_t *)buf;
+       ptr = p0;
+       size = 16;
+       TEST_SUCC(vb2_align(&ptr, &size, 4, 16), "vb2_align() aligned");
+       TEST_EQ(vb2_offset_of(p0, ptr), 0, "ptr");
+       TEST_EQ(size, 16, "  size");
+       TEST_EQ(vb2_align(&ptr, &size, 4, 17),
+               VB2_ERROR_ALIGN_SIZE, "vb2_align() small");
+
+       /* Offset */
+       ptr = p0 + 1;
+       size = 15;
+       TEST_SUCC(vb2_align(&ptr, &size, 4, 12), "vb2_align() offset");
+       TEST_EQ(vb2_offset_of(p0, ptr), 4, "ptr");
+       TEST_EQ(size, 12, "  size");
+
+       /* Offset, now too small */
+       ptr = p0 + 1;
+       size = 15;
+       TEST_EQ(vb2_align(&ptr, &size, 4, 15),
+               VB2_ERROR_ALIGN_SIZE, "vb2_align() offset small");
+
+       /* Offset, too small even to align */
+       ptr = p0 + 1;
+       size = 1;
+       TEST_EQ(vb2_align(&ptr, &size, 4, 1),
+               VB2_ERROR_ALIGN_BIGGER_THAN_SIZE, "vb2_align() offset tiny");
+}
+
+/**
+ * Test work buffer functions
+ */
+static void test_workbuf(void)
+{
+       uint64_t buf[8] __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       uint8_t *p0 = (uint8_t *)buf, *ptr;
+       struct vb2_workbuf wb;
+
+       /* Init */
+       vb2_workbuf_init(&wb, p0, VB2_WORKBUF_ALIGN * 2);
+       TEST_EQ(vb2_offset_of(p0, wb.buf), 0, "Workbuf init aligned");
+       TEST_EQ(wb.size, VB2_WORKBUF_ALIGN * 2, "  size");
+
+       /* Unaligned init */
+       vb2_workbuf_init(&wb, p0 + 1, VB2_WORKBUF_ALIGN * 2);
+       TEST_EQ(vb2_offset_of(p0, wb.buf), VB2_WORKBUF_ALIGN,
+               "Workbuf init unaligned");
+       TEST_EQ(wb.size, VB2_WORKBUF_ALIGN + 1, "  size");
+
+       /* No size left after align */
+       vb2_workbuf_init(&wb, p0 + 1, VB2_WORKBUF_ALIGN - 1);
+       TEST_EQ(wb.size, 0, "Workbuf init size=0 after align");
+       vb2_workbuf_init(&wb, p0 + 1, VB2_WORKBUF_ALIGN - 2);
+       TEST_EQ(wb.size, 0, "Workbuf init size=-1 after align");
+
+       /* Alloc rounds up */
+       vb2_workbuf_init(&wb, p0, VB2_WORKBUF_ALIGN * 2);
+       ptr = vb2_workbuf_alloc(&wb, VB2_WORKBUF_ALIGN - 1);
+       TEST_EQ(vb2_offset_of(p0, ptr), 0, "Workbuf alloc");
+       TEST_EQ(vb2_offset_of(p0, wb.buf), VB2_WORKBUF_ALIGN, "  buf");
+       TEST_EQ(wb.size, VB2_WORKBUF_ALIGN, "  size");
+
+       /* Alloc doesn't fit */
+       vb2_workbuf_init(&wb, p0, VB2_WORKBUF_ALIGN);
+       TEST_PTR_EQ(vb2_workbuf_alloc(&wb, VB2_WORKBUF_ALIGN + 1), NULL,
+                   "Workbuf alloc too big");
+
+       /* Free reverses alloc */
+       vb2_workbuf_init(&wb, p0, VB2_WORKBUF_ALIGN * 2);
+       vb2_workbuf_alloc(&wb, VB2_WORKBUF_ALIGN + 1);
+       vb2_workbuf_free(&wb, VB2_WORKBUF_ALIGN + 1);
+       TEST_EQ(vb2_offset_of(p0, wb.buf), 0, "Workbuf free buf");
+       TEST_EQ(wb.size, VB2_WORKBUF_ALIGN * 2, "  size");
+
+       /* Realloc keeps same pointer as alloc */
+       vb2_workbuf_init(&wb, p0, VB2_WORKBUF_ALIGN * 3);
+       vb2_workbuf_alloc(&wb, VB2_WORKBUF_ALIGN - 1);
+       ptr = vb2_workbuf_realloc(&wb, VB2_WORKBUF_ALIGN - 1,
+                                 VB2_WORKBUF_ALIGN + 1);
+       TEST_EQ(vb2_offset_of(p0, ptr), 0, "Workbuf realloc");
+       TEST_EQ(vb2_offset_of(p0, wb.buf), VB2_WORKBUF_ALIGN * 2, "  buf");
+       TEST_EQ(wb.size, VB2_WORKBUF_ALIGN, "  size");
+}
+
+/**
+ * Helper functions not dependent on specific key sizes
+ */
+static void test_helper_functions(void)
+{
+       {
+               struct vb2_packed_key k = {.key_offset = sizeof(k)};
+               TEST_EQ((int)vb2_offset_of(&k, vb2_packed_key_data(&k)),
+                       sizeof(k), "vb2_packed_key_data() adjacent");
+       }
+
+       {
+               struct vb2_packed_key k = {.key_offset = 123};
+               TEST_EQ((int)vb2_offset_of(&k, vb2_packed_key_data(&k)), 123,
+                       "vb2_packed_key_data() spaced");
+       }
+       {
+               struct vb2_signature s = {.sig_offset = sizeof(s)};
+               TEST_EQ((int)vb2_offset_of(&s, vb2_signature_data(&s)),
+                       sizeof(s), "vb2_signature_data() adjacent");
+       }
+
+       {
+               struct vb2_signature s = {.sig_offset = 123};
+               TEST_EQ((int)vb2_offset_of(&s, vb2_signature_data(&s)), 123,
+                       "vb2_signature_data() spaced");
+       }
+
+       {
+               uint8_t *p = (uint8_t *)test_helper_functions;
+               TEST_EQ((int)vb2_offset_of(p, p), 0, "vb2_offset_of() equal");
+               TEST_EQ((int)vb2_offset_of(p, p+10), 10,
+                       "vb2_offset_of() positive");
+               TEST_EQ((int)vb2_offset_of(p, p+0x12345678), 0x12345678,
+                       "vb2_offset_of() large");
+       }
+
+       {
+               uint8_t *p = (uint8_t *)test_helper_functions;
+               TEST_SUCC(vb2_verify_member_inside(p, 20, p, 6, 11, 3),
+                         "vb2_verify_member_inside() ok 1");
+               TEST_SUCC(vb2_verify_member_inside(p, 20, p+4, 4, 8, 4),
+                         "vb2_verify_member_inside() ok 2");
+               TEST_EQ(vb2_verify_member_inside(p, 20, p-4, 4, 8, 4),
+                       VB2_ERROR_INSIDE_MEMBER_OUTSIDE,
+                       "vb2_verify_member_inside() member before parent");
+               TEST_EQ(vb2_verify_member_inside(p, 20, p+20, 4, 8, 4),
+                       VB2_ERROR_INSIDE_MEMBER_OUTSIDE,
+                       "vb2_verify_member_inside() member after parent");
+               TEST_EQ(vb2_verify_member_inside(p, 20, p, 21, 0, 0),
+                       VB2_ERROR_INSIDE_MEMBER_OUTSIDE,
+                       "vb2_verify_member_inside() member too big");
+               TEST_EQ(vb2_verify_member_inside(p, 20, p, 4, 21, 0),
+                       VB2_ERROR_INSIDE_DATA_OUTSIDE,
+                       "vb2_verify_member_inside() data after parent");
+               TEST_EQ(vb2_verify_member_inside(p, 20, p, 4, SIZE_MAX, 0),
+                       VB2_ERROR_INSIDE_DATA_OUTSIDE,
+                       "vb2_verify_member_inside() data before parent");
+               TEST_EQ(vb2_verify_member_inside(p, 20, p, 4, 4, 17),
+                       VB2_ERROR_INSIDE_DATA_OUTSIDE,
+                       "vb2_verify_member_inside() data too big");
+               TEST_EQ(vb2_verify_member_inside(p, 20, p, 8, 4, 8),
+                       VB2_ERROR_INSIDE_DATA_OVERLAP,
+                       "vb2_verify_member_inside() data overlaps member");
+               TEST_EQ(vb2_verify_member_inside(p, -8, p, 12, 0, 0),
+                       VB2_ERROR_INSIDE_PARENT_WRAPS,
+                       "vb2_verify_member_inside() wraparound 1");
+               TEST_EQ(vb2_verify_member_inside(p, 20, p, -8, 0, 0),
+                       VB2_ERROR_INSIDE_MEMBER_WRAPS,
+                       "vb2_verify_member_inside() wraparound 2");
+               TEST_EQ(vb2_verify_member_inside(p, 20, p, 4, 4, -12),
+                       VB2_ERROR_INSIDE_DATA_WRAPS,
+                       "vb2_verify_member_inside() wraparound 3");
+       }
+
+       {
+               struct vb2_packed_key k = {.key_offset = sizeof(k),
+                                          .key_size = 128};
+               const void *lower_base;
+               TEST_SUCC(vb2_verify_packed_key_inside(&k, sizeof(k)+128, &k),
+                         "vb2_packed_key_inside() ok 1");
+               lower_base = (const void *)((uintptr_t)&k - sizeof(k));
+               TEST_SUCC(vb2_verify_packed_key_inside(lower_base,
+                                                      2*sizeof(k)+128, &k),
+                         "vb2_packed_key_inside() ok 2");
+               TEST_EQ(vb2_verify_packed_key_inside(&k, 128, &k),
+                       VB2_ERROR_INSIDE_DATA_OUTSIDE,
+                       "vb2_packed_key_inside() key too big");
+       }
+
+       {
+               struct vb2_packed_key k = {.key_offset = 100,
+                                          .key_size = 4};
+               TEST_EQ(vb2_verify_packed_key_inside(&k, 99, &k),
+                       VB2_ERROR_INSIDE_DATA_OUTSIDE,
+                       "vb2_packed_key_inside() offset too big");
+       }
+
+       {
+               struct vb2_signature s = {.sig_offset = sizeof(s),
+                                         .sig_size = 128};
+               const void *lower_base;
+               TEST_SUCC(vb2_verify_signature_inside(&s, sizeof(s)+128, &s),
+                       "vb2_verify_signature_inside() ok 1");
+               lower_base = (const void *)((uintptr_t)&s - sizeof(s));
+               TEST_SUCC(vb2_verify_signature_inside(lower_base,
+                                                     2*sizeof(s)+128, &s),
+                         "vb2_verify_signature_inside() ok 2");
+               TEST_EQ(vb2_verify_signature_inside(&s, 128, &s),
+                       VB2_ERROR_INSIDE_DATA_OUTSIDE,
+                       "vb2_verify_signature_inside() sig too big");
+       }
+
+       {
+               struct vb2_signature s = {.sig_offset = 100,
+                                         .sig_size = 4};
+               TEST_EQ(vb2_verify_signature_inside(&s, 99, &s),
+                       VB2_ERROR_INSIDE_DATA_OUTSIDE,
+                       "vb2_verify_signature_inside() offset too big");
+       }
+}
+
+/* Helper for test_assert_die() below */
+static int _true_assertion_helper(void)
+{
+       VB2_ASSERT(2 + 2 == 4);
+       return 1;
+}
+
+/**
+ * Test VB2_ASSERT and VB2_DIE macros
+ */
+static void test_assert_die(void)
+{
+       TEST_ABORT(VB2_DIE("die"), "DIE should abort");
+       TEST_ABORT(VB2_ASSERT(2 + 2 == 5), "ASSERT false should abort");
+       TEST_TRUE(_true_assertion_helper(), "ASSERT true should continue");
+}
+
+int main(int argc, char* argv[])
+{
+       test_arithmetic();
+       test_array_size();
+       test_struct_packing();
+       test_memcmp();
+       test_align();
+       test_workbuf();
+       test_helper_functions();
+       test_assert_die();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_crypto_tests.c b/tests/vb2_crypto_tests.c
new file mode 100644 (file)
index 0000000..c7d6676
--- /dev/null
@@ -0,0 +1,104 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for generic crypto algorithm helper stuff.
+ */
+
+#include <stdio.h>
+
+#include "2crypto.h"
+#include "2return_codes.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "test_common.h"
+#include "vboot_host.h"
+
+static void hash_algorithm_name_tests(void)
+{
+       enum vb2_hash_algorithm alg;
+       char test_name[256];
+
+       for (alg = 0; alg < VB2_HASH_ALG_COUNT; alg++) {
+               sprintf(test_name, "%s (alg=%d)",
+                       vb2_get_hash_algorithm_name(alg), alg);
+               TEST_STR_NEQ(vb2_get_hash_algorithm_name(alg),
+                            VB2_INVALID_ALG_NAME, test_name);
+       }
+
+       TEST_STR_EQ(vb2_get_hash_algorithm_name(VB2_HASH_ALG_COUNT),
+                   VB2_INVALID_ALG_NAME, "hash alg name out of range");
+}
+
+static void sig_algorithm_name_tests(void)
+{
+       enum vb2_signature_algorithm alg;
+       char test_name[256];
+
+       for (alg = 1; alg < VB2_SIG_ALG_COUNT; alg++) {
+               sprintf(test_name, "%s (alg=%d)",
+                       vb2_get_sig_algorithm_name(alg), alg);
+               TEST_STR_NEQ(vb2_get_sig_algorithm_name(alg),
+                            VB2_INVALID_ALG_NAME, test_name);
+       }
+
+       TEST_STR_EQ(vb2_get_sig_algorithm_name(VB2_SIG_INVALID),
+                   VB2_INVALID_ALG_NAME, "sig alg name invalid");
+       TEST_STR_EQ(vb2_get_sig_algorithm_name(VB2_SIG_ALG_COUNT),
+                   VB2_INVALID_ALG_NAME, "sig alg name out of range");
+}
+
+static void hash_algorithm_lookup_tests(void)
+{
+       enum vb2_hash_algorithm alg, out;
+       char test_name[256];
+
+       for (alg = 1; alg < VB2_HASH_ALG_COUNT; alg++) {
+               sprintf(test_name, "%s (alg=%d)",
+                       vb2_get_hash_algorithm_name(alg), alg);
+               TEST_EQ(vb2_lookup_hash_alg(vb2_get_hash_algorithm_name(alg),
+                       &out), 1, test_name);
+               TEST_EQ(out, alg, "  algorithm correct");
+       }
+
+       TEST_EQ(vb2_lookup_hash_alg(VB2_INVALID_ALG_NAME, &out), 0,
+               "invalid algorithm cannot be parsed");
+       TEST_EQ(vb2_lookup_hash_alg("RSA1024", &out), 0,
+               "cannot parse hash  as signature");
+       TEST_EQ(vb2_lookup_hash_alg("shA512", &out), 1,
+               "case insensitivity spot check");
+       TEST_EQ(out, VB2_HASH_SHA512, "  algorithm correct");
+}
+
+static void sig_algorithm_lookup_tests(void)
+{
+       enum vb2_signature_algorithm alg, out;
+       char test_name[256];
+
+       for (alg = 1; alg < VB2_SIG_ALG_COUNT; alg++) {
+               sprintf(test_name, "%s (alg=%d)",
+                       vb2_get_sig_algorithm_name(alg), alg);
+               TEST_EQ(vb2_lookup_sig_alg(vb2_get_sig_algorithm_name(alg),
+                       &out), 1, test_name);
+               TEST_EQ(out, alg, "  algorithm correct");
+       }
+
+       TEST_EQ(vb2_lookup_sig_alg(VB2_INVALID_ALG_NAME, &out), 0,
+               "invalid algorithm cannot be parsed");
+       TEST_EQ(vb2_lookup_sig_alg("SHA256", &out), 0,
+               "cannot parse signature as hash");
+       TEST_EQ(vb2_lookup_sig_alg("rSa2048", &out), 1,
+               "case insensitivity spot check");
+       TEST_EQ(out, VB2_SIG_RSA2048, "  algorithm correct");
+}
+
+int main(int argc, char *argv[])
+{
+       hash_algorithm_name_tests();
+       sig_algorithm_name_tests();
+       hash_algorithm_lookup_tests();
+       sig_algorithm_lookup_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_ec_sync_tests.c b/tests/vb2_ec_sync_tests.c
new file mode 100644 (file)
index 0000000..f4631b7
--- /dev/null
@@ -0,0 +1,594 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for vboot_api_kernel, part 3 - software sync
+ */
+
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2secdata.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "load_kernel_fw.h"
+#include "test_common.h"
+#include "vboot_struct.h"
+
+/* Mock data */
+static int ec_ro_updated;
+static int ec_rw_updated;
+static int ec_ro_protected;
+static int ec_rw_protected;
+static int ec_run_image;  /* 0 = RO, 1 = RW */
+
+static vb2_error_t in_rw_retval;
+static int protect_retval;
+static int jump_retval;
+static int update_retval;
+static int get_expected_retval;
+static int shutdown_request_calls_left;
+static vb2_error_t ec_vboot_done_retval;
+static int ec_vboot_done_calls;
+
+static int mock_display_available;
+static uint8_t mock_ec_ro_hash[32];
+static uint8_t mock_ec_rw_hash[32];
+static uint8_t hmir[32];
+static int mock_ec_ro_hash_size;
+static int mock_ec_rw_hash_size;
+static uint8_t hexp[32];
+static uint8_t update_hash;
+static int hexp_size;
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+static struct vb2_gbb_header gbb;
+
+/* Reset mock data (for use before each test) */
+static void ResetMocks(void)
+{
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init passed");
+
+       ctx->flags = VB2_CONTEXT_EC_SYNC_SUPPORTED;
+       vb2_nv_init(ctx);
+
+       sd = vb2_get_sd(ctx);
+
+       memset(&gbb, 0, sizeof(gbb));
+
+       mock_display_available = 1;
+
+       ec_ro_updated = 0;
+       ec_rw_updated = 0;
+       ec_ro_protected = 0;
+       ec_rw_protected = 0;
+       ec_run_image = 0;
+
+       in_rw_retval = VB2_SUCCESS;
+       protect_retval = VB2_SUCCESS;
+       update_retval = VB2_SUCCESS;
+       jump_retval = VB2_SUCCESS;
+       get_expected_retval = VB2_SUCCESS;
+       shutdown_request_calls_left = -1;
+       ec_vboot_done_retval = VB2_SUCCESS;
+       ec_vboot_done_calls = 0;
+
+       memset(mock_ec_ro_hash, 0, sizeof(mock_ec_ro_hash));
+       mock_ec_ro_hash[0] = 42;
+       mock_ec_ro_hash_size = sizeof(mock_ec_ro_hash);
+
+       memset(mock_ec_rw_hash, 0, sizeof(mock_ec_rw_hash));
+       mock_ec_rw_hash[0] = 42;
+       mock_ec_rw_hash_size = sizeof(mock_ec_rw_hash);
+
+       memset(hexp, 0, sizeof(hexp));
+       hexp[0] = 42;
+       hexp_size = sizeof(hexp);
+
+       update_hash = 42;
+
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+
+       memset(hmir, 0, sizeof(hmir));
+       hmir[0] = 42;
+       vb2_secdata_kernel_set_ec_hash(ctx, hmir);
+
+       /*
+        * This flag should not involve in the steps deciding whether EC is
+        * running RW. The only concern here is we need to clear this flag after
+        * attempting a jump to RW.
+        */
+       ctx->flags |= VB2_CONTEXT_EC_TRUSTED;
+}
+
+/* Mock functions */
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
+{
+       return &gbb;
+}
+
+vb2_error_t vb2ex_ec_running_rw(int *in_rw)
+{
+       *in_rw = ec_run_image;
+       return in_rw_retval;
+}
+
+vb2_error_t vb2ex_ec_protect(enum vb2_firmware_selection select)
+{
+       if (protect_retval)
+               return protect_retval;
+
+       if (select == VB_SELECT_FIRMWARE_READONLY)
+               ec_ro_protected = 1;
+       else
+               ec_rw_protected = 1;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2ex_ec_disable_jump(void)
+{
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2ex_ec_jump_to_rw(void)
+{
+       if (jump_retval == VB2_SUCCESS)
+               ec_run_image = 1;
+
+       return jump_retval;
+}
+
+vb2_error_t vb2ex_ec_hash_image(enum vb2_firmware_selection select,
+                               const uint8_t **hash, int *hash_size)
+{
+       *hash = select == VB_SELECT_FIRMWARE_READONLY ?
+               mock_ec_ro_hash : mock_ec_rw_hash;
+       *hash_size = select == VB_SELECT_FIRMWARE_READONLY ?
+                    mock_ec_ro_hash_size : mock_ec_rw_hash_size;
+       return *hash_size ? VB2_SUCCESS : VB2_ERROR_MOCK;
+}
+
+vb2_error_t vb2ex_ec_get_expected_image_hash(enum vb2_firmware_selection select,
+                                            const uint8_t **hash, int *hash_size)
+{
+       *hash = hexp;
+       *hash_size = hexp_size;
+
+       return hexp_size ? VB2_SUCCESS : VB2_ERROR_MOCK;
+}
+
+vb2_error_t vb2ex_ec_update_image(enum vb2_firmware_selection select)
+{
+       if (update_retval)
+               return update_retval;
+
+       if (!mock_display_available)
+               return VB2_REQUEST_REBOOT;
+
+       if (select == VB_SELECT_FIRMWARE_READONLY) {
+               ec_ro_updated = 1;
+               mock_ec_ro_hash[0] = update_hash;
+        } else {
+               ec_rw_updated = 1;
+               mock_ec_rw_hash[0] = update_hash;
+       }
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2ex_ec_vboot_done(struct vb2_context *c)
+{
+       ec_vboot_done_calls++;
+       return ec_vboot_done_retval;
+}
+
+static void test_ssync(vb2_error_t retval, int recovery_reason,
+                      const char *desc)
+{
+       TEST_EQ(vb2api_ec_sync(ctx), retval, desc);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               recovery_reason, "  recovery reason");
+       struct vb2_secdata_kernel_v1 *sec = (void *)ctx->secdata_kernel;
+       if (sec->struct_version >= VB2_SECDATA_KERNEL_VERSION_V10) {
+               const uint8_t *hash = vb2_secdata_kernel_get_ec_hash(ctx);
+               TEST_EQ(memcmp(hash, hexp, sizeof(hexp)), 0, "Hmir synced");
+       }
+}
+
+/* Tests */
+
+static void VbSoftwareSyncTest(void)
+{
+       /* Check flag toggling */
+       ResetMocks();
+       test_ssync(VB2_SUCCESS, 0, "Normal (no) sync");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_EC_SYNC_COMPLETE, 0,
+                "  EC sync complete");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 1, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 1, "  ec rw protected");
+       TEST_EQ(ec_run_image, 1, "  ec run image");
+       TEST_EQ(ec_vboot_done_calls, 1, "ec_vboot_done calls");
+       /* Sync again to check ec_vboot_done */
+       test_ssync(VB2_SUCCESS, 0, "Normal sync");
+       TEST_EQ(ec_vboot_done_calls, 1, "ec_vboot_done calls");
+
+       ResetMocks();
+       sd->status |= VB2_SD_STATUS_EC_SYNC_COMPLETE;
+       test_ssync(VB2_SUCCESS, 0, "EC sync already complete");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+       TEST_EQ(ec_vboot_done_calls, 0, "ec_vboot_done calls");
+
+       ResetMocks();
+       ctx->flags &= ~VB2_CONTEXT_EC_SYNC_SUPPORTED;
+       test_ssync(VB2_SUCCESS, 0, "EC sync not supported");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_EC_SYNC_COMPLETE, 0,
+                "  EC sync complete");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+       TEST_EQ(ec_vboot_done_calls, 1, "ec_vboot_done calls");
+
+       ResetMocks();
+       gbb.flags |= VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC;
+       test_ssync(VB2_SUCCESS, 0, "EC sync disabled by GBB");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_EC_SYNC_COMPLETE, 0,
+                "  EC sync complete");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+       TEST_EQ(ec_vboot_done_calls, 1, "ec_vboot_done calls");
+
+       /* AP-RO cases */
+       ResetMocks();
+       in_rw_retval = VB2_ERROR_MOCK;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  VB2_RECOVERY_EC_UNKNOWN_IMAGE, "Unknown EC image");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       /* Calculate hashes */
+       ResetMocks();
+       mock_ec_rw_hash_size = 0;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  VB2_RECOVERY_EC_HASH_FAILED, "Bad EC hash");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       ResetMocks();
+       mock_ec_rw_hash_size = 16;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  VB2_RECOVERY_EC_HASH_SIZE, "Bad EC hash size");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       ResetMocks();
+       hexp_size = 0;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  VB2_RECOVERY_EC_EXPECTED_HASH, "Bad precalculated hash");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       ResetMocks();
+       hexp_size = 16;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  VB2_RECOVERY_EC_HASH_SIZE,
+                  "Hash size mismatch");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       ResetMocks();
+       hexp_size = 4;
+       mock_ec_rw_hash_size = 4;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO, VB2_RECOVERY_EC_HASH_SIZE,
+                  "Custom hash size secdata_kernel v1");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       ResetMocks();
+       vb2api_secdata_kernel_create_v0(ctx);
+       vb2_secdata_kernel_init(ctx);
+       hexp_size = 4;
+       mock_ec_rw_hash_size = 4;
+       test_ssync(0, 0, "Custom hash size secdata_kernel v0");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 1, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 1, "  ec rw protected");
+       TEST_EQ(ec_run_image, 1, "  ec run image");
+
+       /* Updates required */
+       ResetMocks();
+       ec_run_image = 1;
+       mock_ec_rw_hash[0]++;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  0, "Pending update needs reboot");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 1, "  ec run image");
+
+       /* Hexp != Hmir == Heff */
+       ResetMocks();
+       hmir[0] = 43;
+       vb2_secdata_kernel_set_ec_hash(ctx, hmir);
+       ec_run_image = 1;
+       mock_ec_rw_hash[0] = 43;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  0, "Reboot after synching Hmir");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 1, "  ec run image");
+
+       /* Hexp == Hmir != Heff */
+       ResetMocks();
+       ec_run_image = 0;
+       ctx->flags |= VB2_CONTEXT_NO_BOOT;
+       mock_ec_rw_hash[0] = 43;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  0, "Reboot after synching Heff");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 1, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       /* Hexp != Hmir != Heff */
+       ResetMocks();
+       hmir[0] = 44;
+       vb2_secdata_kernel_set_ec_hash(ctx, hmir);
+       ec_run_image = 0;
+       ctx->flags |= VB2_CONTEXT_NO_BOOT;
+       mock_ec_rw_hash[0] = 43;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  0, "Reboot after synching Hmir and Heff");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 1, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       /* Hexp == Heff != Hmir */
+       ResetMocks();
+       hmir[0] = 44;
+       vb2_secdata_kernel_set_ec_hash(ctx, hmir);
+       ec_run_image = 0;
+       ctx->flags |= VB2_CONTEXT_NO_BOOT;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  0, "Reboot after synching Hmir");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       ResetMocks();
+       mock_ec_rw_hash[0]++;
+       vb2_nv_set(ctx, VB2_NV_TRY_RO_SYNC, 1);
+       test_ssync(0, 0, "Update rw without reboot");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 1, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 1, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 1, "  ec rw protected");
+       TEST_EQ(ec_run_image, 1, "  ec run image");
+
+       ResetMocks();
+       mock_ec_rw_hash[0]++;
+       mock_ec_ro_hash[0]++;
+       vb2_nv_set(ctx, VB2_NV_TRY_RO_SYNC, 1);
+       test_ssync(0, 0, "Update rw and ro images without reboot");
+       TEST_EQ(ec_ro_updated, 1, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 1, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 1, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 1, "  ec rw protected");
+       TEST_EQ(ec_run_image, 1, "  ec run image");
+
+       ResetMocks();
+       vb2_nv_set(ctx, VB2_NV_TRY_RO_SYNC, 1);
+       mock_ec_ro_hash[0]++;
+       vb2_nv_set(ctx, VB2_NV_DISPLAY_REQUEST, 1);
+       test_ssync(0, 0, "rw update not needed");
+       TEST_EQ(ec_ro_updated, 1, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 1, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 1, "  ec rw protected");
+       TEST_EQ(ec_run_image, 1, "  ec run image");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DISPLAY_REQUEST), 1,
+               "  DISPLAY_REQUEST left untouched");
+
+       ResetMocks();
+       mock_ec_rw_hash[0]++;
+       mock_ec_ro_hash[0]++;
+       test_ssync(0, 0, "ro update not requested");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 1, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 1, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 1, "  ec rw protected");
+       TEST_EQ(ec_run_image, 1, "  ec run image");
+
+       ResetMocks();
+       mock_ec_rw_hash[0]++;
+       update_hash++;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  VB2_RECOVERY_EC_UPDATE, "Updated hash mismatch");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 1, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       ResetMocks();
+       mock_ec_rw_hash[0]++;
+       update_retval = VB2_REQUEST_REBOOT_EC_TO_RO;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  0, "Reboot for rw update");
+       TEST_EQ(ec_ro_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       ResetMocks();
+       mock_ec_rw_hash[0]++;
+       update_retval = VB2_ERROR_MOCK;
+       test_ssync(VB2_ERROR_MOCK,
+                  VB2_RECOVERY_EC_UPDATE, "Update failed");
+       TEST_EQ(ec_ro_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       /* Display not available - RW */
+       ResetMocks();
+       mock_ec_rw_hash[0]++;
+       mock_display_available = 0;
+       test_ssync(VB2_REQUEST_REBOOT, 0,
+                  "Reboot for display - ec rw");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+
+       /* Display not available - RO */
+       ResetMocks();
+       vb2_nv_set(ctx, VB2_NV_TRY_RO_SYNC, 1);
+       mock_ec_ro_hash[0]++;
+       mock_display_available = 0;
+       test_ssync(VB2_REQUEST_REBOOT, 0,
+                  "Reboot for display - ec ro");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 1, "  ec run image");
+
+       /* RW cases, no update */
+       ResetMocks();
+       ec_run_image = 1;
+       test_ssync(0, 0, "AP-RW, EC-RW");
+       TEST_EQ(ec_ro_updated, 0, "ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "ec rw updated");
+       TEST_EQ(ec_ro_protected, 1, "ec ro protected");
+       TEST_EQ(ec_rw_protected, 1, "ec rw protected");
+       TEST_EQ(ec_run_image, 1, "ec run image");
+       TEST_FALSE(ctx->flags & VB2_CONTEXT_EC_TRUSTED,
+                  "  VB2_CONTEXT_EC_TRUSTED is cleared");
+
+       ResetMocks();
+       test_ssync(0, 0, "AP-RW, EC-RO -> EC-RW");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 1, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 1, "  ec rw protected");
+       TEST_EQ(ec_run_image, 1, "  ec run image");
+       TEST_FALSE(ctx->flags & VB2_CONTEXT_EC_TRUSTED,
+                  "  VB2_CONTEXT_EC_TRUSTED is cleared");
+
+       ResetMocks();
+       jump_retval = VB2_ERROR_MOCK;
+       test_ssync(VB2_ERROR_MOCK,
+                  VB2_RECOVERY_EC_JUMP_RW, "Jump to RW fail");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+       TEST_FALSE(ctx->flags & VB2_CONTEXT_EC_TRUSTED,
+                  "  VB2_CONTEXT_EC_TRUSTED is cleared");
+
+       ResetMocks();
+       jump_retval = VB2_REQUEST_REBOOT_EC_TO_RO;
+       test_ssync(VB2_REQUEST_REBOOT_EC_TO_RO,
+                  0, "Jump to RW fail because locked");
+       TEST_EQ(ec_ro_updated, 0, "  ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "  ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "  ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "  ec rw protected");
+       TEST_EQ(ec_run_image, 0, "  ec run image");
+       TEST_FALSE(ctx->flags & VB2_CONTEXT_EC_TRUSTED,
+                  "  VB2_CONTEXT_EC_TRUSTED is cleared");
+
+       ResetMocks();
+       protect_retval = VB2_ERROR_MOCK;
+       test_ssync(VB2_ERROR_MOCK, VB2_RECOVERY_EC_PROTECT, "Protect error");
+       TEST_EQ(ec_ro_updated, 0, "ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "ec rw protected");
+       TEST_EQ(ec_run_image, 1, "ec run image");
+       TEST_FALSE(ctx->flags & VB2_CONTEXT_EC_TRUSTED,
+                  "  VB2_CONTEXT_EC_TRUSTED is cleared");
+
+       /* No longer check for shutdown requested */
+       ResetMocks();
+       shutdown_request_calls_left = 0;
+       test_ssync(0, 0, "AP-RW, EC-RO -> EC-RW shutdown requested");
+       TEST_EQ(ec_ro_updated, 0, "ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "ec rw updated");
+       TEST_EQ(ec_ro_protected, 1, "ec ro protected");
+       TEST_EQ(ec_rw_protected, 1, "ec rw protected");
+       TEST_EQ(ec_run_image, 1, "ec run image");
+
+       ResetMocks();
+       ec_run_image = 1;
+       shutdown_request_calls_left = 0;
+       test_ssync(0, 0, "AP-RW shutdown requested");
+       TEST_EQ(ec_ro_updated, 0, "ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "ec rw updated");
+       TEST_EQ(ec_ro_protected, 1, "ec ro protected");
+       TEST_EQ(ec_rw_protected, 1, "ec rw protected");
+       TEST_EQ(ec_run_image, 1, "ec run image");
+
+       /* EC sync not allowed in recovery mode */
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       test_ssync(0, 0, "No sync in recovery mode");
+       TEST_EQ(ec_ro_updated, 0, "ec ro updated");
+       TEST_EQ(ec_rw_updated, 0, "ec rw updated");
+       TEST_EQ(ec_ro_protected, 0, "ec ro protected");
+       TEST_EQ(ec_rw_protected, 0, "ec rw protected");
+       TEST_EQ(ec_run_image, 0, "ec run image");
+}
+
+int main(void)
+{
+       VbSoftwareSyncTest();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_firmware_tests.c b/tests/vb2_firmware_tests.c
new file mode 100644 (file)
index 0000000..681e5d6
--- /dev/null
@@ -0,0 +1,449 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for firmware verification library
+ */
+
+#include <stdio.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2secdata.h"
+#include "2sysincludes.h"
+#include "test_common.h"
+
+/* Common context for tests */
+static uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+static struct vb2_gbb_header gbb;
+
+/* Mocked function data */
+
+static struct {
+       struct vb2_gbb_header h;
+       struct vb2_packed_key rootkey;
+       char rootkey_data[32];
+} mock_gbb;
+
+static struct {
+       /* Keyblock */
+       struct {
+               struct vb2_keyblock kb;
+               char data_key_data[16];
+               uint8_t kbdata[128];
+       } k;
+       /* Preamble follows keyblock */
+       struct {
+               struct vb2_fw_preamble pre;
+               uint8_t predata[128];
+       } p;
+
+} mock_vblock;
+
+static int mock_read_res_fail_on_call;
+static int mock_unpack_key_retval;
+static int mock_verify_keyblock_retval;
+static int mock_verify_preamble_retval;
+
+/* Type of test to reset for */
+enum reset_type {
+       FOR_KEYBLOCK,
+       FOR_PREAMBLE
+};
+
+static void reset_common_data(enum reset_type t)
+{
+       struct vb2_keyblock *kb = &mock_vblock.k.kb;
+       struct vb2_fw_preamble *pre = &mock_vblock.p.pre;
+
+       memset(workbuf, 0xaa, sizeof(workbuf));
+
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+
+       memset(&gbb, 0, sizeof(gbb));
+       sd = vb2_get_sd(ctx);
+
+       vb2_nv_init(ctx);
+
+       vb2api_secdata_firmware_create(ctx);
+       vb2_secdata_firmware_init(ctx);
+
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+
+       mock_read_res_fail_on_call = 0;
+       mock_unpack_key_retval = VB2_SUCCESS;
+       mock_verify_keyblock_retval = VB2_SUCCESS;
+       mock_verify_preamble_retval = VB2_SUCCESS;
+
+       /* Set up mock data for verifying keyblock */
+       sd->fw_version_secdata = 0x20002;
+       vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_VERSIONS,
+                                sd->fw_version_secdata);
+
+       gbb.rootkey_offset = vb2_offset_of(&mock_gbb, &mock_gbb.rootkey);
+       gbb.rootkey_size = sizeof(mock_gbb.rootkey_data);
+       sd->last_fw_result = VB2_FW_RESULT_SUCCESS;
+
+       mock_gbb.rootkey.algorithm = 11;
+       mock_gbb.rootkey.key_offset =
+               vb2_offset_of(&mock_gbb.rootkey,
+                             &mock_gbb.rootkey_data);
+       mock_gbb.rootkey.key_size = sizeof(mock_gbb.rootkey_data);
+
+       kb->keyblock_size = sizeof(mock_vblock.k);
+       kb->data_key.algorithm = 7;
+       kb->data_key.key_version = 2;
+       kb->data_key.key_offset =
+               vb2_offset_of(&mock_vblock.k, &mock_vblock.k.data_key_data) -
+               vb2_offset_of(&mock_vblock.k, &kb->data_key);
+       kb->data_key.key_size = sizeof(mock_vblock.k.data_key_data);
+       strcpy(mock_vblock.k.data_key_data, "data key data!!");
+
+       pre->preamble_size = sizeof(mock_vblock.p);
+       pre->firmware_version = 2;
+
+       /* If verifying preamble, verify keyblock first to set up data key */
+       if (t == FOR_PREAMBLE)
+               vb2_load_fw_keyblock(ctx);
+};
+
+/* Mocked functions */
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
+{
+       return &gbb;
+}
+
+vb2_error_t vb2ex_read_resource(struct vb2_context *c,
+                               enum vb2_resource_index index, uint32_t offset,
+                               void *buf, uint32_t size)
+{
+       uint8_t *rptr;
+       uint32_t rsize;
+
+       if (--mock_read_res_fail_on_call == 0)
+               return VB2_ERROR_EX_READ_RESOURCE_INDEX;
+
+       switch(index) {
+       case VB2_RES_GBB:
+               rptr = (uint8_t *)&mock_gbb;
+               rsize = sizeof(mock_gbb);
+               break;
+       case VB2_RES_FW_VBLOCK:
+               rptr = (uint8_t *)&mock_vblock;
+               rsize = sizeof(mock_vblock);
+               break;
+       default:
+               return VB2_ERROR_EX_READ_RESOURCE_INDEX;
+       }
+
+       if (offset > rsize || offset + size > rsize)
+               return VB2_ERROR_EX_READ_RESOURCE_SIZE;
+
+       memcpy(buf, rptr + offset, size);
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_unpack_key_buffer(struct vb2_public_key *key,
+                                 const uint8_t *buf, uint32_t size)
+{
+       key->arrsize = 0;
+       return mock_unpack_key_retval;
+}
+
+static struct vb2_public_key last_used_key;
+
+vb2_error_t vb2_verify_keyblock(struct vb2_keyblock *block, uint32_t size,
+                               const struct vb2_public_key *key,
+                               const struct vb2_workbuf *wb)
+{
+       memcpy(&last_used_key, key, sizeof(struct vb2_public_key));
+       return mock_verify_keyblock_retval;
+}
+
+vb2_error_t vb2_verify_fw_preamble(struct vb2_fw_preamble *preamble,
+                                  uint32_t size,
+                                  const struct vb2_public_key *key,
+                                  const struct vb2_workbuf *wb)
+{
+       memcpy(&last_used_key, key, sizeof(struct vb2_public_key));
+       return mock_verify_preamble_retval;
+}
+
+/* Tests */
+
+static void verify_keyblock_tests(void)
+{
+       struct vb2_keyblock *kb = &mock_vblock.k.kb;
+       struct vb2_packed_key *k;
+       int expected_offset;
+
+       /* Test successful call */
+       reset_common_data(FOR_KEYBLOCK);
+       expected_offset = sd->workbuf_used;
+       TEST_SUCC(vb2_load_fw_keyblock(ctx), "keyblock verify");
+       TEST_EQ(sd->fw_version, 0x20000, "keyblock version");
+       TEST_EQ(sd->vblock_preamble_offset, sizeof(mock_vblock.k),
+               "preamble offset");
+       TEST_EQ(sd->data_key_offset, expected_offset,
+               "keyblock data key offset");
+       TEST_EQ(sd->workbuf_used,
+               vb2_wb_round_up(sd->data_key_offset +
+                               sd->data_key_size),
+               "workbuf used");
+
+       /* Make sure data key was properly saved */
+       k = vb2_member_of(sd, sd->data_key_offset);
+       TEST_EQ(k->algorithm, 7, "data key algorithm");
+       TEST_EQ(k->key_version, 2, "data key version");
+       TEST_EQ(k->key_size, sizeof(mock_vblock.k.data_key_data),
+               "data key size");
+       TEST_EQ(memcmp(vb2_member_of(k, k->key_offset),
+                      mock_vblock.k.data_key_data,
+                      sizeof(mock_vblock.k.data_key_data)),
+               0, "data key data");
+       TEST_EQ(sd->workbuf_used,
+               vb2_wb_round_up(sd->data_key_offset +
+                               sd->data_key_size),
+               "workbuf used after");
+
+       /* Test hwcrypto conditions */
+       reset_common_data(FOR_KEYBLOCK);
+
+       TEST_SUCC(vb2_load_fw_keyblock(ctx), "keyblock verify");
+       TEST_EQ(last_used_key.allow_hwcrypto, 0,
+               "hwcrypto is forbidden by TPM flag");
+
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       TEST_SUCC(vb2_load_fw_keyblock(ctx), "keyblock verify");
+       TEST_EQ(last_used_key.allow_hwcrypto, 0,
+               "hwcrypto is forbidden by TPM flag on recovery mode");
+
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS,
+                       VB2_SECDATA_KERNEL_FLAG_HWCRYPTO_ALLOWED);
+
+       TEST_SUCC(vb2_load_fw_keyblock(ctx), "keyblock verify");
+       TEST_EQ(last_used_key.allow_hwcrypto, 0,
+               "hwcrypto is forbidden on recovery mode");
+
+       ctx->flags &= ~VB2_CONTEXT_RECOVERY_MODE;
+       TEST_SUCC(vb2_load_fw_keyblock(ctx), "keyblock verify");
+       TEST_EQ(last_used_key.allow_hwcrypto, 1, "hwcrypto is allowed");
+
+       /* Test failures */
+       reset_common_data(FOR_KEYBLOCK);
+       sd->workbuf_used = sd->workbuf_size + VB2_WORKBUF_ALIGN -
+                          vb2_wb_round_up(gbb.rootkey_size);
+       TEST_EQ(vb2_load_fw_keyblock(ctx),
+               VB2_ERROR_FW_KEYBLOCK_WORKBUF_ROOT_KEY,
+               "keyblock not enough workbuf for root key");
+
+       reset_common_data(FOR_KEYBLOCK);
+       gbb.rootkey_size = sizeof(mock_gbb);
+       TEST_EQ(vb2_load_fw_keyblock(ctx),
+               VB2_ERROR_EX_READ_RESOURCE_SIZE,
+               "keyblock read root key");
+
+       reset_common_data(FOR_KEYBLOCK);
+       mock_unpack_key_retval = VB2_ERROR_UNPACK_KEY_SIG_ALGORITHM;
+       TEST_EQ(vb2_load_fw_keyblock(ctx),
+               VB2_ERROR_UNPACK_KEY_SIG_ALGORITHM,
+               "keyblock unpack root key");
+
+       reset_common_data(FOR_KEYBLOCK);
+       sd->workbuf_used = sd->workbuf_size -
+                          vb2_wb_round_up(gbb.rootkey_size);
+       TEST_EQ(vb2_load_fw_keyblock(ctx),
+               VB2_ERROR_FW_KEYBLOCK_WORKBUF_HEADER,
+               "keyblock not enough workbuf for header");
+
+       reset_common_data(FOR_KEYBLOCK);
+       mock_read_res_fail_on_call = 2;
+       TEST_EQ(vb2_load_fw_keyblock(ctx),
+               VB2_ERROR_EX_READ_RESOURCE_INDEX,
+               "keyblock read keyblock header");
+
+       reset_common_data(FOR_KEYBLOCK);
+       sd->workbuf_used = sd->workbuf_size -
+                          vb2_wb_round_up(gbb.rootkey_size) -
+                          vb2_wb_round_up(sizeof(struct vb2_keyblock));
+       TEST_EQ(vb2_load_fw_keyblock(ctx),
+               VB2_ERROR_FW_KEYBLOCK_WORKBUF,
+               "keyblock not enough workbuf for entire keyblock");
+
+       reset_common_data(FOR_KEYBLOCK);
+       kb->keyblock_size = sizeof(mock_vblock) + 1;
+       TEST_EQ(vb2_load_fw_keyblock(ctx),
+               VB2_ERROR_EX_READ_RESOURCE_SIZE,
+               "keyblock read keyblock");
+
+       reset_common_data(FOR_KEYBLOCK);
+       mock_verify_keyblock_retval = VB2_ERROR_KEYBLOCK_MAGIC;
+       TEST_EQ(vb2_load_fw_keyblock(ctx),
+               VB2_ERROR_KEYBLOCK_MAGIC,
+               "keyblock verify keyblock");
+
+       reset_common_data(FOR_KEYBLOCK);
+       kb->data_key.key_version = 0x10000;
+       TEST_EQ(vb2_load_fw_keyblock(ctx),
+               VB2_ERROR_FW_KEYBLOCK_VERSION_RANGE,
+               "keyblock version range");
+
+       reset_common_data(FOR_KEYBLOCK);
+       kb->data_key.key_version = 1;
+       TEST_EQ(vb2_load_fw_keyblock(ctx),
+               VB2_ERROR_FW_KEYBLOCK_VERSION_ROLLBACK,
+               "keyblock rollback");
+
+       reset_common_data(FOR_KEYBLOCK);
+       kb->data_key.key_version = 1;
+       gbb.flags |= VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK;
+       TEST_SUCC(vb2_load_fw_keyblock(ctx), "keyblock rollback with GBB flag");
+}
+
+static void verify_preamble_tests(void)
+{
+       struct vb2_fw_preamble *pre = &mock_vblock.p.pre;
+       int expected_offset;
+       uint32_t v;
+
+       /* Test successful call */
+       reset_common_data(FOR_PREAMBLE);
+       expected_offset = sd->workbuf_used;
+       TEST_SUCC(vb2_load_fw_preamble(ctx), "preamble good");
+       TEST_EQ(sd->fw_version, 0x20002, "combined version");
+       TEST_EQ(sd->preamble_offset, expected_offset,
+               "preamble offset");
+       TEST_EQ(sd->preamble_size, pre->preamble_size, "preamble size");
+       TEST_EQ(sd->workbuf_used,
+               vb2_wb_round_up(sd->preamble_offset +
+                               sd->preamble_size),
+               "workbuf used");
+
+       /* Test hwcrypto conditions */
+       reset_common_data(FOR_PREAMBLE);
+
+       TEST_SUCC(vb2_load_fw_preamble(ctx), "preamble good");
+       TEST_EQ(last_used_key.allow_hwcrypto, 0,
+               "hwcrypto is forbidden by TPM flag");
+
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       TEST_SUCC(vb2_load_fw_preamble(ctx), "preamble good");
+       TEST_EQ(last_used_key.allow_hwcrypto, 0,
+               "hwcrypto is forbidden by TPM flag on recovery mode");
+
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS,
+                       VB2_SECDATA_KERNEL_FLAG_HWCRYPTO_ALLOWED);
+
+       TEST_SUCC(vb2_load_fw_preamble(ctx), "preamble good");
+       TEST_EQ(last_used_key.allow_hwcrypto, 0,
+               "hwcrypto is forbidden on recovery mode");
+
+       ctx->flags &= ~VB2_CONTEXT_RECOVERY_MODE;
+       TEST_SUCC(vb2_load_fw_preamble(ctx), "preamble good");
+       TEST_EQ(last_used_key.allow_hwcrypto, 1,
+               "hwcrypto is allowed");
+
+
+       /* Expected failures */
+       reset_common_data(FOR_PREAMBLE);
+       sd->data_key_size = 0;
+       TEST_EQ(vb2_load_fw_preamble(ctx),
+               VB2_ERROR_FW_PREAMBLE2_DATA_KEY,
+               "preamble no data key");
+
+       reset_common_data(FOR_PREAMBLE);
+       mock_unpack_key_retval = VB2_ERROR_UNPACK_KEY_HASH_ALGORITHM;
+       TEST_EQ(vb2_load_fw_preamble(ctx),
+               VB2_ERROR_UNPACK_KEY_HASH_ALGORITHM,
+               "preamble unpack data key");
+
+       reset_common_data(FOR_PREAMBLE);
+       sd->workbuf_used = sd->workbuf_size + VB2_WORKBUF_ALIGN -
+                          vb2_wb_round_up(sizeof(struct vb2_fw_preamble));
+       TEST_EQ(vb2_load_fw_preamble(ctx),
+               VB2_ERROR_FW_PREAMBLE2_WORKBUF_HEADER,
+               "preamble not enough workbuf for header");
+
+       reset_common_data(FOR_PREAMBLE);
+       sd->vblock_preamble_offset = sizeof(mock_vblock);
+       TEST_EQ(vb2_load_fw_preamble(ctx),
+               VB2_ERROR_EX_READ_RESOURCE_SIZE,
+               "preamble read header");
+
+       reset_common_data(FOR_PREAMBLE);
+       sd->workbuf_used = sd->workbuf_size + VB2_WORKBUF_ALIGN -
+                          vb2_wb_round_up(sizeof(mock_vblock.p));
+       TEST_EQ(vb2_load_fw_preamble(ctx),
+               VB2_ERROR_FW_PREAMBLE2_WORKBUF,
+               "preamble not enough workbuf");
+
+       reset_common_data(FOR_PREAMBLE);
+       pre->preamble_size = sizeof(mock_vblock);
+       TEST_EQ(vb2_load_fw_preamble(ctx),
+               VB2_ERROR_EX_READ_RESOURCE_SIZE,
+               "preamble read full");
+
+       reset_common_data(FOR_PREAMBLE);
+       mock_verify_preamble_retval = VB2_ERROR_PREAMBLE_SIG_INVALID;
+       TEST_EQ(vb2_load_fw_preamble(ctx),
+               VB2_ERROR_PREAMBLE_SIG_INVALID,
+               "preamble verify");
+
+       reset_common_data(FOR_PREAMBLE);
+       pre->firmware_version = 0x10000;
+       TEST_EQ(vb2_load_fw_preamble(ctx),
+               VB2_ERROR_FW_PREAMBLE_VERSION_RANGE,
+               "preamble version range");
+
+       reset_common_data(FOR_PREAMBLE);
+       pre->firmware_version = 1;
+       TEST_EQ(vb2_load_fw_preamble(ctx),
+               VB2_ERROR_FW_PREAMBLE_VERSION_ROLLBACK,
+               "preamble version rollback");
+
+       reset_common_data(FOR_PREAMBLE);
+       pre->firmware_version = 1;
+       gbb.flags |= VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK;
+       TEST_SUCC(vb2_load_fw_preamble(ctx), "version rollback with GBB flag");
+
+       reset_common_data(FOR_PREAMBLE);
+       pre->firmware_version = 3;
+       TEST_SUCC(vb2_load_fw_preamble(ctx),
+                 "preamble version roll forward");
+       v = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_VERSIONS);
+       TEST_EQ(v, 0x20003, "roll forward");
+
+       /* Newer version without result success doesn't roll forward */
+       reset_common_data(FOR_PREAMBLE);
+       pre->firmware_version = 3;
+       sd->last_fw_result = VB2_FW_RESULT_UNKNOWN;
+       TEST_SUCC(vb2_load_fw_preamble(ctx),
+                 "preamble version no roll forward 1");
+       v = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_VERSIONS);
+       TEST_EQ(v, 0x20002, "no roll forward");
+
+       /* Newer version with success but for other slot doesn't roll forward */
+       reset_common_data(FOR_PREAMBLE);
+       pre->firmware_version = 3;
+       sd->last_fw_slot = 1;
+       TEST_SUCC(vb2_load_fw_preamble(ctx),
+                 "preamble version no roll forward 2");
+       v = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_VERSIONS);
+       TEST_EQ(v, 0x20002, "no roll forward");
+}
+
+int main(int argc, char* argv[])
+{
+       verify_keyblock_tests();
+       verify_preamble_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_firmware_tests.sh b/tests/vb2_firmware_tests.sh
new file mode 100755 (executable)
index 0000000..88b6e6a
--- /dev/null
@@ -0,0 +1,99 @@
+#!/bin/bash
+
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# End-to-end test for vboot2 firmware verification
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+set -e
+
+echo 'Creating test firmware'
+
+# Run tests in a dedicated directory for easy cleanup or debugging.
+DIR="${TEST_DIR}/vb2fw_test_dir"
+[ -d "$DIR" ] || mkdir -p "$DIR"
+echo "Testing vb2_verify_fw in $DIR"
+cd "$DIR"
+
+# Dummy firmware body
+echo 'This is a test firmware body.  This is only a test.  Lalalalala' \
+    > body.test
+
+algo_to_rsa()
+{
+       case $1 in
+       0|1|2) printf "rsa1024";;
+       3|4|5) printf "rsa2048";;
+       6|7|8) printf "rsa4096";;
+       9|10|11) printf "rsa8192";;
+       *) exit 1;;
+       esac
+}
+
+algo_to_sha()
+{
+       case $1 in
+       0|3|6|9) printf "sha1";;
+       1|4|7|10) printf "sha256";;
+       2|5|8|11) printf "sha512";;
+       *) exit 1;;
+       esac
+}
+
+run_test()
+{
+       local root_algo=$1
+       local fw_algo=$2
+       local kern_algo=$3
+
+       local root_rsa="$(algo_to_rsa ${root_algo})"
+       local fw_rsa="$(algo_to_rsa ${fw_algo})"
+       local kern_rsa="$(algo_to_rsa ${kern_algo})"
+
+       local root_sha="$(algo_to_sha ${root_algo})"
+       local fw_sha="$(algo_to_sha ${fw_algo})"
+       local kern_sha="$(algo_to_sha ${kern_algo})"
+
+       # Pack keys using original vboot utilities
+       ${FUTILITY} vbutil_key --pack rootkey.test \
+           --key "${TESTKEY_DIR}/key_${root_rsa}.keyb" --algorithm ${root_algo}
+       ${FUTILITY} vbutil_key --pack fwsubkey.test \
+           --key "${TESTKEY_DIR}/key_${fw_rsa}.keyb" --algorithm ${fw_algo}
+       ${FUTILITY} vbutil_key --pack kernkey.test \
+           --key "${TESTKEY_DIR}/key_${kern_rsa}.keyb" --algorithm ${kern_algo}
+
+       # Create a GBB with the root key
+       ${FUTILITY} gbb -c 128,2400,0,0 gbb.test
+       ${FUTILITY} gbb gbb.test -s --hwid='Test GBB' \
+         --rootkey=rootkey.test
+
+       # Keyblock with firmware subkey is signed by root key
+       ${FUTILITY} vbutil_keyblock --pack keyblock.test \
+           --datapubkey fwsubkey.test \
+           --signprivate "${TESTKEY_DIR}/key_${root_rsa}.${root_sha}.vbprivk"
+
+       # Firmware preamble is signed with the firmware subkey
+       ${FUTILITY} vbutil_firmware \
+           --vblock vblock.test \
+           --keyblock keyblock.test \
+           --signprivate "${TESTKEY_DIR}/key_${fw_rsa}.${fw_sha}.vbprivk" \
+           --fv body.test \
+           --version 1 \
+           --kernelkey kernkey.test
+
+       echo "Verifying test firmware using vb2_verify_fw" \
+               "(root=${root_algo}, fw=${fw_algo}, kernel=${kern_algo})"
+
+       # Verify the firmware using vboot2 checks
+       ${BUILD_RUN}/tests/vb20_verify_fw gbb.test vblock.test body.test
+
+       happy 'vb2_verify_fw succeeded'
+}
+
+run_test 11 7 4
+run_test 11 11 11
+run_test 1 1 1
diff --git a/tests/vb2_gbb_tests.c b/tests/vb2_gbb_tests.c
new file mode 100644 (file)
index 0000000..047fa42
--- /dev/null
@@ -0,0 +1,355 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for GBB library.
+ */
+
+#include "2common.h"
+#include "2misc.h"
+#include "test_common.h"
+
+/* Mock data */
+static char gbb_data[4096 + sizeof(struct vb2_gbb_header)];
+static struct vb2_gbb_header *gbb = (struct vb2_gbb_header *)gbb_data;
+static struct vb2_packed_key *rootkey;
+static struct vb2_context *ctx;
+static struct vb2_workbuf wb;
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+
+static void set_gbb_hwid(const char *hwid, size_t size)
+{
+       memcpy(gbb_data + gbb->hwid_offset, hwid, size);
+       gbb->hwid_size = size;
+}
+
+static void reset_common_data(void)
+{
+       int gbb_used;
+
+       memset(gbb_data, 0, sizeof(gbb_data));
+       gbb->header_size = sizeof(*gbb);
+       gbb->major_version = VB2_GBB_MAJOR_VER;
+       gbb->minor_version = VB2_GBB_MINOR_VER;
+       gbb->flags = 0;
+       gbb_used = sizeof(struct vb2_gbb_header);
+
+       gbb->recovery_key_offset = gbb_used;
+       gbb->recovery_key_size = 64;
+       gbb_used += gbb->recovery_key_size;
+       gbb->rootkey_offset = gbb_used;
+       gbb->rootkey_size = sizeof(struct vb2_packed_key);
+       gbb_used += gbb->rootkey_size;
+
+       rootkey = ((void *)gbb + gbb->rootkey_offset);
+       rootkey->key_offset = sizeof(*rootkey);
+
+       gbb->hwid_offset = gbb_used;
+       const char hwid_src[] = "Test HWID";
+       set_gbb_hwid(hwid_src, sizeof(hwid_src));
+
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+       vb2_workbuf_from_ctx(ctx, &wb);
+}
+
+/* Mocks */
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
+{
+       return gbb;
+}
+
+vb2_error_t vb2ex_read_resource(struct vb2_context *c,
+                               enum vb2_resource_index index, uint32_t offset,
+                               void *buf, uint32_t size)
+{
+       uint8_t *rptr;
+       uint32_t rsize;
+
+       switch(index) {
+       case VB2_RES_GBB:
+               rptr = (uint8_t *)&gbb_data;
+               rsize = sizeof(gbb_data);
+               break;
+       default:
+               return VB2_ERROR_EX_READ_RESOURCE_INDEX;
+       }
+
+       if (offset + size >= rsize)
+               return VB2_ERROR_EX_READ_RESOURCE_SIZE;
+
+       memcpy(buf, rptr + offset, size);
+       return VB2_SUCCESS;
+}
+
+/* Tests */
+static void flag_tests(void)
+{
+       reset_common_data();
+       gbb->flags = 0xdeadbeef;
+       TEST_EQ(vb2api_gbb_get_flags(ctx), gbb->flags,
+               "retrieve GBB flags");
+}
+
+static void key_tests(void)
+{
+       /* Assume that root key and recovery key are dealt with using the same
+          code in our GBB library functions. */
+       struct vb2_packed_key *keyp;
+       struct vb2_workbuf wborig;
+       const char key_data[] = "HELLOWORLD";
+       uint32_t size;
+
+       /* gbb.offset < sizeof(vb2_gbb_header) */
+       reset_common_data();
+       wborig = wb;
+       gbb->rootkey_offset = sizeof(*gbb) - 1;
+       TEST_EQ(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+               VB2_ERROR_GBB_INVALID,
+               "gbb.rootkey offset too small");
+       TEST_TRUE(wb.buf == wborig.buf,
+                 "  workbuf restored on error");
+
+       /* gbb.offset > gbb_data */
+       reset_common_data();
+       wborig = wb;
+       gbb->rootkey_offset = sizeof(gbb_data) + 1;
+       TEST_EQ(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+               VB2_ERROR_EX_READ_RESOURCE_SIZE,
+               "gbb.rootkey offset too large");
+       TEST_TRUE(wb.buf == wborig.buf,
+                 "  workbuf restored on error");
+
+       /* gbb.size < sizeof(vb2_packed_key) */
+       reset_common_data();
+       wborig = wb;
+       gbb->rootkey_size = sizeof(*rootkey) - 1;
+       TEST_EQ(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+               VB2_ERROR_GBB_INVALID,
+               "gbb.rootkey size too small");
+       TEST_TRUE(wb.buf == wborig.buf,
+                 "  workbuf restored on error");
+
+       /* sizeof(vb2_packed_key) > workbuf.size */
+       reset_common_data();
+       wborig = wb;
+       wb.size = sizeof(*rootkey) - 1;
+       TEST_EQ(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+               VB2_ERROR_GBB_WORKBUF,
+               "workbuf size too small for vb2_packed_key header");
+       TEST_TRUE(wb.buf == wborig.buf,
+                 "  workbuf restored on error");
+
+       /* packed_key.offset < sizeof(vb2_packed_key) */
+       reset_common_data();
+       wborig = wb;
+       rootkey->key_size = 1;
+       rootkey->key_offset = sizeof(*rootkey) - 1;
+       TEST_EQ(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+               VB2_ERROR_INSIDE_DATA_OVERLAP,
+               "rootkey offset too small");
+       TEST_TRUE(wb.buf == wborig.buf,
+                 "  workbuf restored on error");
+
+       /* packed_key.offset > gbb_data */
+       reset_common_data();
+       wborig = wb;
+       rootkey->key_size = 1;
+       rootkey->key_offset = sizeof(gbb_data) + 1;
+       gbb->rootkey_size = rootkey->key_offset + rootkey->key_size;
+       TEST_EQ(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+               VB2_ERROR_EX_READ_RESOURCE_SIZE,
+               "rootkey size too large");
+       TEST_TRUE(wb.buf == wborig.buf,
+                 "  workbuf restored on error");
+
+       /* packed_key.size > workbuf.size */
+       reset_common_data();
+       wborig = wb;
+       rootkey->key_size = wb.size + 1;
+       gbb->rootkey_size = rootkey->key_offset + rootkey->key_size + 1;
+       TEST_EQ(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+               VB2_ERROR_GBB_WORKBUF,
+               "workbuf size too small for vb2_packed_key contents");
+       TEST_TRUE(wb.buf == wborig.buf,
+                 "  workbuf restored on error");
+
+       /* gbb.size < sizeof(vb2_packed_key) + packed_key.size */
+       reset_common_data();
+       wborig = wb;
+       rootkey->key_size = 2;
+       gbb->rootkey_size = rootkey->key_offset + rootkey->key_size - 1;
+       TEST_EQ(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+               VB2_ERROR_INSIDE_DATA_OUTSIDE,
+               "rootkey size exceeds gbb.rootkey size");
+       TEST_TRUE(wb.buf == wborig.buf,
+                 "  workbuf restored on error");
+
+       /* gbb.size == sizeof(vb2_packed_key) + packed_key.size */
+       reset_common_data();
+       wborig = wb;
+       rootkey->key_size = sizeof(key_data);
+       memcpy((void *)rootkey + rootkey->key_offset,
+              key_data, sizeof(key_data));
+       gbb->rootkey_size = rootkey->key_offset + rootkey->key_size;
+       TEST_SUCC(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+                 "succeeds when gbb.rootkey and rootkey sizes agree");
+       TEST_TRUE(wb.size < wborig.size,
+                 "  workbuf shrank on success");
+       TEST_EQ(memcmp(rootkey, keyp, rootkey->key_offset + rootkey->key_size),
+               0, "  copied key data successfully");
+       TEST_EQ(size, rootkey->key_offset + rootkey->key_size,
+               "  correct size returned");
+
+       /* gbb.size > sizeof(vb2_packed_key) + packed_key.size
+          packed_key.offset = +0 */
+       reset_common_data();
+       wborig = wb;
+       rootkey->key_size = 1;
+       gbb->rootkey_size = rootkey->key_offset + rootkey->key_size + 1;
+       TEST_SUCC(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+                 "succeeds when gbb.rootkey is padded after key");
+       TEST_TRUE(wb.size < wborig.size,
+                 "  workbuf shrank on success");
+       TEST_EQ(size, rootkey->key_offset + rootkey->key_size,
+               "  correct size returned");
+
+       /* gbb.size > sizeof(vb2_packed_key) + packed_key.size
+          packed_key.offset = +1 */
+       reset_common_data();
+       wborig = wb;
+       rootkey->key_offset = sizeof(*rootkey) + 1;
+       rootkey->key_size = 1;
+       gbb->rootkey_size = rootkey->key_offset + rootkey->key_size;
+       TEST_SUCC(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+                 "succeeds when gbb.rootkey is padded before key");
+       TEST_TRUE(wb.size < wborig.size,
+                 "  workbuf shrank on success");
+       TEST_EQ(size, rootkey->key_offset + rootkey->key_size,
+               "  correct size returned");
+
+       /* packed_key.size = 0, packed_key.offset = +1 */
+       reset_common_data();
+       wborig = wb;
+       rootkey->key_offset = sizeof(*rootkey) + 1;
+       rootkey->key_size = 0;
+       gbb->rootkey_size = rootkey->key_offset + rootkey->key_size + 1;
+       TEST_SUCC(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+                 "succeeds when gbb.rootkey is padded; empty test key");
+       TEST_TRUE(wb.size < wborig.size,
+                 "  workbuf shrank on success");
+       TEST_EQ(size, rootkey->key_offset + rootkey->key_size,
+               "  correct size returned");
+
+       /* packed_key.size = 0, packed_key.offset = -1 */
+       reset_common_data();
+       wborig = wb;
+       rootkey->key_offset = sizeof(*rootkey) - 1;
+       rootkey->key_size = 0;
+       gbb->rootkey_size = sizeof(*rootkey) + rootkey->key_size + 1;
+       TEST_SUCC(vb2_gbb_read_root_key(ctx, &keyp, &size, &wb),
+                 "succeeds when gbb.rootkey is padded; empty test key");
+       TEST_TRUE(wb.size < wborig.size,
+                 "  workbuf shrank on success");
+       TEST_EQ(size, sizeof(*rootkey), "  correct size returned");
+}
+
+static void hwid_tests(void)
+{
+       char hwid[VB2_GBB_HWID_MAX_SIZE];
+       uint32_t size;
+
+       /* GBB HWID size = 0 */
+       {
+               reset_common_data();
+               gbb->hwid_size = 0;
+               size = VB2_GBB_HWID_MAX_SIZE;
+               TEST_EQ(vb2api_gbb_read_hwid(ctx, hwid, &size),
+                       VB2_ERROR_GBB_INVALID,
+                       "GBB HWID size invalid (HWID missing)");
+       }
+
+       /* GBB HWID offset > GBB size */
+       {
+               reset_common_data();
+               gbb->hwid_offset = sizeof(gbb_data) + 1;
+               size = VB2_GBB_HWID_MAX_SIZE;
+               TEST_EQ(vb2api_gbb_read_hwid(ctx, hwid, &size),
+                       VB2_ERROR_EX_READ_RESOURCE_SIZE,
+                       "GBB HWID offset invalid");
+       }
+
+       /* buffer size < HWID size */
+       {
+               const char hwid_src[] = "Test HWID";
+               reset_common_data();
+               set_gbb_hwid(hwid_src, sizeof(hwid_src));
+               size = sizeof(hwid_src) - 1;
+               TEST_EQ(vb2api_gbb_read_hwid(ctx, hwid, &size),
+                       VB2_ERROR_INVALID_PARAMETER,
+                       "HWID too large for buffer");
+       }
+
+       /* GBB HWID size < HWID size */
+       {
+               const char hwid_src[] = "Test HWID";
+               reset_common_data();
+               set_gbb_hwid(hwid_src, sizeof(hwid_src) - 1);
+               size = sizeof(hwid_src);
+               TEST_EQ(vb2api_gbb_read_hwid(ctx, hwid, &size),
+                       VB2_ERROR_INVALID_PARAMETER,
+                       "HWID larger than GBB HWID size");
+       }
+
+       /* buffer size == HWID size */
+       {
+               const char hwid_src[] = "Test HWID";
+               reset_common_data();
+               set_gbb_hwid(hwid_src, sizeof(hwid_src));
+               size = sizeof(hwid_src);
+               TEST_SUCC(vb2api_gbb_read_hwid(ctx, hwid, &size),
+                         "read normal HWID");
+               TEST_EQ(strcmp(hwid, "Test HWID"), 0, "  HWID correct");
+               TEST_EQ(strlen(hwid) + 1, size, "  HWID size consistent");
+               TEST_EQ(strlen(hwid), strlen("Test HWID"),
+                       "  HWID size correct");
+       }
+
+       /* buffer size > HWID size */
+       {
+               const char hwid_src[] = "Test HWID";
+               reset_common_data();
+               set_gbb_hwid(hwid_src, sizeof(hwid_src));
+               size = sizeof(hwid_src) + 1;
+               TEST_SUCC(vb2api_gbb_read_hwid(ctx, hwid, &size),
+                         "read normal HWID");
+               TEST_EQ(strcmp(hwid, "Test HWID"), 0, "  HWID correct");
+               TEST_EQ(strlen(hwid) + 1, size, "  HWID size consistent");
+               TEST_EQ(strlen(hwid), strlen("Test HWID"),
+                       "  HWID size correct");
+       }
+
+       /* HWID with garbage */
+       {
+               const char hwid_src[] = "Test HWID\0garbagegarbage";
+               reset_common_data();
+               set_gbb_hwid(hwid_src, sizeof(hwid_src));
+               size = VB2_GBB_HWID_MAX_SIZE;
+               TEST_SUCC(vb2api_gbb_read_hwid(ctx, hwid, &size),
+                         "read HWID with garbage");
+               TEST_EQ(strcmp(hwid, "Test HWID"), 0, "  HWID correct");
+               TEST_EQ(strlen(hwid) + 1, size, "  HWID size consistent");
+               TEST_EQ(strlen(hwid), strlen("Test HWID"),
+                       "  HWID size correct");
+       }
+}
+
+int main(int argc, char* argv[])
+{
+       flag_tests();
+       key_tests();
+       hwid_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_host_flashrom_tests.c b/tests/vb2_host_flashrom_tests.c
new file mode 100644 (file)
index 0000000..8552d0a
--- /dev/null
@@ -0,0 +1,267 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for host flashrom utilities.
+ */
+
+/* For strdup */
+#define _POSIX_C_SOURCE 200809L
+
+#include <fcntl.h>
+#include <getopt.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2return_codes.h"
+#include "host_misc.h"
+#include "flashrom.h"
+#include "subprocess.h"
+#include "test_common.h"
+
+#define MOCK_TMPFILE_NAME "/tmp/vb2_unittest"
+#define MOCK_ROM_CONTENTS "bloop123"
+
+static bool flashrom_mock_success = true;
+static enum { FLASHROM_NONE, FLASHROM_READ, FLASHROM_WRITE } captured_operation;
+static enum {
+       FLASHROM_VERIFY_UNSPECIFIED,
+       FLASHROM_VERIFY_FAST,
+} captured_verify;
+static const char *captured_op_filename;
+static const char *captured_region_param;
+static const char *captured_programmer;
+static uint8_t *captured_rom_contents;
+static uint32_t captured_rom_size;
+
+/* Mocked mkstemp for tests. */
+int mkstemp(char *template_name)
+{
+       strncpy(template_name, MOCK_TMPFILE_NAME, strlen(template_name));
+       return open(template_name, O_RDWR | O_CREAT | O_TRUNC, 0666);
+}
+
+/* Mocked subprocess_run for tests. */
+int subprocess_run(const char *const argv[],
+                  struct subprocess_target *input,
+                  struct subprocess_target *output,
+                  struct subprocess_target *error)
+{
+       int argc;
+       int opt;
+       int rv;
+       /* getopt_long wants an int instead of an enum, bummer... */
+       int captured_verify_int = FLASHROM_VERIFY_UNSPECIFIED;
+       struct option long_opts[] = {
+               {
+                       .name = "noverify-all",
+                       .has_arg = no_argument,
+                       .flag = &captured_verify_int,
+                       .val = FLASHROM_VERIFY_FAST,
+               },
+       };
+
+       /* Reset static variables to their defaults. */
+       captured_operation = FLASHROM_NONE;
+       captured_operation = FLASHROM_VERIFY_UNSPECIFIED;
+       captured_op_filename = NULL;
+       captured_region_param = NULL;
+       captured_programmer = NULL;
+       captured_rom_contents = NULL;
+       captured_rom_size = 0;
+       optind = 0;
+
+       /* Count the number of arguments, a required formalism for
+          getopt. */
+       for (argc = 0; argv[argc]; argc++)
+               continue;
+
+       /* We only understand the subset of arguments used by the
+          wrapper library.  If it's updated to support more modes of
+          operation, this unit test code should be updated too. */
+       while ((opt = getopt_long(argc, (char *const *)argv,
+                                 ":p:r:w:i:", long_opts, NULL)) != -1) {
+               /* Always consume the next argument if it does not
+                  start with a dash.  We have to muck with getopt's
+                  global variables to make this happen. */
+               if (opt == ':' && argv[optind] && argv[optind][0] != '-') {
+                       optarg = strdup(argv[optind]);
+                       optind++;
+                       opt = optopt;
+               } else if (optarg && optarg[0] == '-') {
+                       optarg = NULL;
+                       optind--;
+               } else if (optarg) {
+                       optarg = strdup(optarg);
+               }
+
+               switch (opt) {
+               case 'p':
+                       captured_programmer = optarg;
+                       break;
+               case 'r':
+                       captured_operation = FLASHROM_READ;
+                       captured_op_filename = optarg;
+                       break;
+               case 'w':
+                       captured_operation = FLASHROM_WRITE;
+                       captured_op_filename = optarg;
+                       break;
+               case 'i':
+                       captured_region_param = optarg;
+                       break;
+               case 0:
+                       /* long option */
+                       break;
+               default:
+                       return 1;
+               }
+       }
+
+       if (optind != argc) {
+               /* Extra arguments we don't understand. */
+               return 1;
+       }
+
+       rv = !flashrom_mock_success;
+       captured_verify = captured_verify_int;
+
+       if (captured_operation == FLASHROM_READ) {
+               /* Write the mocked string we read from the ROM. */
+               rv |= vb2_write_file(MOCK_TMPFILE_NAME, MOCK_ROM_CONTENTS,
+                                    strlen(MOCK_ROM_CONTENTS));
+       } else if (captured_operation == FLASHROM_WRITE) {
+               /* Capture the buffer contents we wrote to the ROM. */
+               rv |= vb2_read_file(MOCK_TMPFILE_NAME, &captured_rom_contents,
+                                   &captured_rom_size);
+       }
+
+       return rv;
+}
+
+static void test_read_whole_chip(void)
+{
+       uint8_t *buf;
+       uint32_t buf_sz;
+
+       TEST_SUCC(flashrom_read("someprog", NULL, &buf, &buf_sz),
+                 "Flashrom read succeeds");
+       TEST_STR_EQ(captured_programmer, "someprog",
+                   "Using specified programmer");
+       TEST_EQ(captured_operation, FLASHROM_READ, "Doing a read operation");
+       TEST_EQ(captured_verify, FLASHROM_VERIFY_UNSPECIFIED,
+               "Verification not enabled");
+       TEST_STR_EQ(captured_op_filename, MOCK_TMPFILE_NAME,
+                   "Reading to correct file");
+       TEST_PTR_EQ(captured_region_param, NULL, "Not operating on a region");
+       TEST_EQ(buf_sz, strlen(MOCK_ROM_CONTENTS), "Contents correct size");
+       TEST_SUCC(memcmp(buf, MOCK_ROM_CONTENTS, buf_sz),
+                 "Buffer has correct contents");
+
+       free(buf);
+}
+
+static void test_read_region(void)
+{
+       uint8_t *buf;
+       uint32_t buf_sz;
+
+       TEST_SUCC(flashrom_read("someprog", "SOME_REGION", &buf, &buf_sz),
+                 "Flashrom read succeeds");
+       TEST_STR_EQ(captured_programmer, "someprog",
+                   "Using specified programmer");
+       TEST_EQ(captured_operation, FLASHROM_READ, "Doing a read operation");
+       TEST_EQ(captured_verify, FLASHROM_VERIFY_UNSPECIFIED,
+               "Verification not enabled");
+       TEST_PTR_EQ(captured_op_filename, NULL,
+                   "Not doing a read of the whole ROM");
+       TEST_STR_EQ(captured_region_param, "SOME_REGION:" MOCK_TMPFILE_NAME,
+                   "Reading to correct file and from correct region");
+       TEST_EQ(buf_sz, strlen(MOCK_ROM_CONTENTS), "Contents correct size");
+       TEST_SUCC(memcmp(buf, MOCK_ROM_CONTENTS, buf_sz),
+                 "Buffer has correct contents");
+
+       free(buf);
+}
+
+static void test_read_failure(void)
+{
+       uint8_t *buf;
+       uint32_t buf_sz;
+
+       flashrom_mock_success = false;
+       TEST_NEQ(flashrom_read("someprog", "SOME_REGION", &buf, &buf_sz),
+                VB2_SUCCESS, "Flashrom read fails");
+       flashrom_mock_success = true;
+}
+
+static void test_write_whole_chip(void)
+{
+       uint8_t buf[sizeof(MOCK_ROM_CONTENTS) - 1];
+
+       memcpy(buf, MOCK_ROM_CONTENTS, sizeof(buf));
+
+       TEST_SUCC(flashrom_write("someprog", NULL, buf, sizeof(buf)),
+                 "Flashrom write succeeds");
+       TEST_STR_EQ(captured_programmer, "someprog",
+                   "Using specified programmer");
+       TEST_EQ(captured_operation, FLASHROM_WRITE, "Doing a write operation");
+       TEST_EQ(captured_verify, FLASHROM_VERIFY_FAST,
+               "Fast verification enabled");
+       TEST_STR_EQ(captured_op_filename, MOCK_TMPFILE_NAME,
+                   "Writing to correct file");
+       TEST_PTR_EQ(captured_region_param, NULL, "Not operating on a region");
+       TEST_EQ(captured_rom_size, strlen(MOCK_ROM_CONTENTS),
+               "Contents correct size");
+       TEST_SUCC(memcmp(captured_rom_contents, MOCK_ROM_CONTENTS,
+                        captured_rom_size), "Buffer has correct contents");
+}
+
+static void test_write_region(void)
+{
+       uint8_t buf[sizeof(MOCK_ROM_CONTENTS) - 1];
+
+       memcpy(buf, MOCK_ROM_CONTENTS, sizeof(buf));
+
+       TEST_SUCC(flashrom_write("someprog", "SOME_REGION", buf, sizeof(buf)),
+                 "Flashrom write succeeds");
+       TEST_STR_EQ(captured_programmer, "someprog",
+                   "Using specified programmer");
+       TEST_EQ(captured_operation, FLASHROM_WRITE, "Doing a write operation");
+       TEST_EQ(captured_verify, FLASHROM_VERIFY_FAST,
+               "Fast verification enabled");
+       TEST_PTR_EQ(captured_op_filename, NULL,
+                   "Not doing a write of the whole ROM");
+       TEST_STR_EQ(captured_region_param, "SOME_REGION:" MOCK_TMPFILE_NAME,
+                   "Writing to correct file and from correct region");
+       TEST_EQ(captured_rom_size, strlen(MOCK_ROM_CONTENTS),
+               "Contents correct size");
+       TEST_SUCC(memcmp(captured_rom_contents, MOCK_ROM_CONTENTS,
+                        captured_rom_size), "Buffer has correct contents");
+}
+
+static void test_write_failure(void)
+{
+       uint8_t buf[20] = { 0 };
+
+       flashrom_mock_success = false;
+       TEST_NEQ(flashrom_write("someprog", "SOME_REGION", buf, sizeof(buf)),
+                VB2_SUCCESS, "Flashrom write fails");
+       flashrom_mock_success = true;
+}
+
+int main(int argc, char *argv[])
+{
+       test_read_whole_chip();
+       test_read_region();
+       test_read_failure();
+       test_write_whole_chip();
+       test_write_region();
+       test_write_failure();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_host_key_tests.c b/tests/vb2_host_key_tests.c
new file mode 100644 (file)
index 0000000..82dd357
--- /dev/null
@@ -0,0 +1,68 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for host library vboot2 key functions
+ */
+
+#include "2common.h"
+#include "host_common.h"
+#include "test_common.h"
+
+/* Public key utility functions */
+static void public_key_tests(void)
+{
+       struct vb2_packed_key k[3];
+       struct vb2_packed_key j[5];
+
+       /* Fill some bits of the public key data */
+       memset(j, 0, sizeof(j));
+       memset(k, 0x42, sizeof(k));
+       k[1].key_size = 12345;
+       k[2].key_version = 67;
+
+       vb2_init_packed_key(k, (uint8_t*)(k + 1),
+                           2 * sizeof(struct vb2_packed_key));
+       TEST_EQ(k->key_offset, sizeof(struct vb2_packed_key),
+               "vb2_init_packed_key key_offset");
+       TEST_EQ(k->key_size, 2 * sizeof(struct vb2_packed_key),
+               "vb2_init_packed_key key_size");
+       TEST_EQ(k->algorithm, VB2_ALG_COUNT, "vb2_init_packed_key algorithm");
+       TEST_EQ(k->key_version, 0, "vb2_init_packed_key key_version");
+
+       /* Set algorithm and version, so we can tell if they get copied */
+       k->algorithm = 3;
+       k->key_version = 21;
+
+       /* Copying to a smaller destination should fail */
+       vb2_init_packed_key(j, (uint8_t*)(j + 1),
+                     2 * sizeof(struct vb2_packed_key) - 1);
+       TEST_NEQ(0, vb2_copy_packed_key(j, k), "vb2_copy_packed_key too small");
+
+       /* Copying to same or larger size should succeed */
+       vb2_init_packed_key(j, (uint8_t*)(j + 2),
+                     2 * sizeof(struct vb2_packed_key) + 1);
+       TEST_EQ(0, vb2_copy_packed_key(j, k), "vb2_copy_packed_key same");
+       /* Offset in destination shouldn't have been modified */
+       TEST_EQ(j->key_offset, 2 * sizeof(struct vb2_packed_key),
+               "vb2_copy_packed_key key_offset");
+       /* Size should have been reduced to match the source */
+       TEST_EQ(k->key_size, 2 * sizeof(struct vb2_packed_key),
+               "vb2_copy_packed_key key_size");
+       /* Other fields should have been copied */
+       TEST_EQ(k->algorithm, j->algorithm, "vb2_copy_packed_key algorithm");
+       TEST_EQ(k->key_version, j->key_version,
+               "vb2_copy_packed_key key_version");
+       /* Data should have been copied */
+       TEST_EQ(0,
+               memcmp(vb2_packed_key_data(k),
+                      vb2_packed_key_data(j), k->key_size),
+               "vb2_copy_packed_key data");
+}
+
+int main(int argc, char* argv[])
+{
+       public_key_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_host_nvdata_flashrom_tests.c b/tests/vb2_host_nvdata_flashrom_tests.c
new file mode 100644 (file)
index 0000000..33b435d
--- /dev/null
@@ -0,0 +1,279 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for crossystem flashrom-based nvdata functions.
+ */
+
+#include <fcntl.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "2constants.h"
+#include "2nvstorage.h"
+#include "2return_codes.h"
+#include "crossystem_vbnv.h"
+#include "flashrom.h"
+#include "test_common.h"
+
+/* Mocked flashrom only supports host programmer, and RW_NVRAM
+   region. */
+static void assert_mock_params(const char *programmer, const char *region)
+{
+       TEST_STR_EQ(programmer, FLASHROM_PROGRAMMER_INTERNAL_AP,
+                   "Using internal AP programmer");
+       TEST_STR_EQ(region, "RW_NVRAM", "Using NVRAM region");
+}
+
+static bool mock_flashrom_fail;
+
+/* To support both 16-byte and 64-byte nvdata with the same fake
+   eeprom, we can size the flash chip to be 16x64. So, for 16-byte
+   nvdata, this is a flash chip with 64 entries, and for 64-byte
+   nvdata, this is a flash chip with 16 entries. */
+static uint8_t fake_flash_region[VB2_NVDATA_SIZE * VB2_NVDATA_SIZE_V2];
+static int fake_flash_entry_count;
+
+static const uint8_t test_nvdata_16b[] = {
+       0x60, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x4e,
+       0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x5e,
+};
+
+static const uint8_t test_nvdata2_16b[] = {
+       0x60, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x4c,
+       0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x78,
+};
+
+static void reset_test_data(struct vb2_context *ctx, int nvdata_size)
+{
+       /* Initialize the context value. */
+       ctx->flags = 0;
+
+       switch (nvdata_size) {
+       case VB2_NVDATA_SIZE:
+               fake_flash_entry_count = VB2_NVDATA_SIZE_V2;
+               memcpy(ctx->nvdata, test_nvdata_16b, sizeof(test_nvdata_16b));
+               break;
+       case VB2_NVDATA_SIZE_V2:
+               ctx->flags |= VB2_CONTEXT_NVDATA_V2;
+               fake_flash_entry_count = VB2_NVDATA_SIZE;
+               /* TODO: create some test data for 64-byte nvdata and
+                  put it here. Right now, this only tests 16-byte
+                  nvdata. */
+               break;
+       default:
+               /* This is not valid. */
+               TEST_TRUE(false, "Test failed, invalid nvdata size");
+               fake_flash_entry_count = 0;
+               break;
+       }
+
+       /* Clear the fake flash chip. */
+       memset(fake_flash_region, 0xff, sizeof(fake_flash_region));
+
+       /* Flashrom succeeds unless the test says otherwise. */
+       mock_flashrom_fail = false;
+}
+
+/* Mocked flashrom_read for tests. */
+vb2_error_t flashrom_read(const char *programmer, const char *region,
+                         uint8_t **data_out, uint32_t *size_out)
+{
+       if (mock_flashrom_fail) {
+               *data_out = NULL;
+               *size_out = 0;
+               return VB2_ERROR_FLASHROM;
+       }
+
+       assert_mock_params(programmer, region);
+
+       *data_out = malloc(sizeof(fake_flash_region));
+       *size_out = sizeof(fake_flash_region);
+       memcpy(*data_out, fake_flash_region, sizeof(fake_flash_region));
+       return VB2_SUCCESS;
+}
+
+/* Mocked flashrom_write for tests. */
+vb2_error_t flashrom_write(const char *programmer, const char *region,
+                          uint8_t *data, uint32_t data_size)
+{
+       if (mock_flashrom_fail)
+               return VB2_ERROR_FLASHROM;
+
+       assert_mock_params(programmer, region);
+
+       TEST_EQ(data_size, sizeof(fake_flash_region),
+               "The flash size is correct");
+       memcpy(fake_flash_region, data, data_size);
+       return VB2_SUCCESS;
+}
+
+static void test_read_ok_beginning(void)
+{
+       struct vb2_context ctx;
+
+       reset_test_data(&ctx, sizeof(test_nvdata_16b));
+       memcpy(fake_flash_region, test_nvdata2_16b, sizeof(test_nvdata2_16b));
+
+       TEST_EQ(vb2_read_nv_storage_flashrom(&ctx), 0,
+               "Reading storage succeeds");
+       TEST_EQ(memcmp(ctx.nvdata, test_nvdata2_16b, sizeof(test_nvdata2_16b)),
+               0, "The nvdata in the vb2_context was updated from flash");
+}
+
+static void test_read_ok_2ndentry(void)
+{
+       struct vb2_context ctx;
+
+       reset_test_data(&ctx, sizeof(test_nvdata_16b));
+       memcpy(fake_flash_region, test_nvdata_16b, sizeof(test_nvdata_16b));
+       memcpy(fake_flash_region + VB2_NVDATA_SIZE, test_nvdata2_16b,
+              sizeof(test_nvdata2_16b));
+
+       TEST_EQ(vb2_read_nv_storage_flashrom(&ctx), 0,
+               "Reading storage succeeds");
+       TEST_EQ(memcmp(ctx.nvdata, test_nvdata2_16b, sizeof(test_nvdata2_16b)),
+               0, "The nvdata in the vb2_context was updated from flash");
+}
+
+static void test_read_ok_full(void)
+{
+       struct vb2_context ctx;
+
+       reset_test_data(&ctx, sizeof(test_nvdata_16b));
+
+       for (int entry = 0; entry < fake_flash_entry_count - 1; entry++)
+               memcpy(fake_flash_region + (entry * VB2_NVDATA_SIZE),
+                      test_nvdata_16b, sizeof(test_nvdata_16b));
+
+       memcpy(fake_flash_region +
+              ((fake_flash_entry_count - 1) * VB2_NVDATA_SIZE),
+              test_nvdata2_16b, sizeof(test_nvdata2_16b));
+
+       TEST_EQ(vb2_read_nv_storage_flashrom(&ctx), 0,
+               "Reading storage succeeds");
+       TEST_EQ(memcmp(ctx.nvdata, test_nvdata2_16b, sizeof(test_nvdata2_16b)),
+               0, "The nvdata in the vb2_context was updated from flash");
+}
+
+static void test_read_fail_uninitialized(void)
+{
+       struct vb2_context ctx;
+
+       reset_test_data(&ctx, sizeof(test_nvdata_16b));
+
+       TEST_NEQ(vb2_read_nv_storage_flashrom(&ctx), 0,
+                "Reading storage fails when flash is erased");
+}
+
+static void test_read_fail_flashrom(void)
+{
+       struct vb2_context ctx;
+
+       reset_test_data(&ctx, sizeof(test_nvdata_16b));
+       memcpy(fake_flash_region, test_nvdata_16b, sizeof(test_nvdata_16b));
+       mock_flashrom_fail = true;
+
+       TEST_NEQ(vb2_read_nv_storage_flashrom(&ctx), 0,
+                "Reading storage fails when flashrom fails");
+}
+
+static void test_write_ok_beginning(void)
+{
+       struct vb2_context ctx;
+
+       reset_test_data(&ctx, sizeof(test_nvdata_16b));
+       memcpy(fake_flash_region, test_nvdata_16b, sizeof(test_nvdata_16b));
+       memcpy(ctx.nvdata, test_nvdata2_16b, sizeof(test_nvdata2_16b));
+
+       TEST_EQ(vb2_write_nv_storage_flashrom(&ctx), 0,
+               "Writing storage succeeds");
+       TEST_EQ(memcmp(fake_flash_region + VB2_NVDATA_SIZE, test_nvdata2_16b,
+                      sizeof(test_nvdata2_16b)),
+               0, "The flash was updated with a new entry");
+}
+
+static void test_write_ok_2ndentry(void)
+{
+       struct vb2_context ctx;
+
+       reset_test_data(&ctx, sizeof(test_nvdata_16b));
+       memcpy(fake_flash_region, test_nvdata_16b, sizeof(test_nvdata_16b));
+       memcpy(fake_flash_region + VB2_NVDATA_SIZE, test_nvdata_16b,
+              sizeof(test_nvdata_16b));
+       memcpy(ctx.nvdata, test_nvdata2_16b, sizeof(test_nvdata2_16b));
+
+       TEST_EQ(vb2_write_nv_storage_flashrom(&ctx), 0,
+               "Writing storage succeeds");
+       TEST_EQ(memcmp(fake_flash_region + (2 * VB2_NVDATA_SIZE),
+                      test_nvdata2_16b, sizeof(test_nvdata2_16b)),
+               0, "The flash was updated with a new entry");
+}
+
+static void test_write_ok_full(void)
+{
+       struct vb2_context ctx;
+       uint8_t expected_flash[sizeof(fake_flash_region)];
+
+       reset_test_data(&ctx, sizeof(test_nvdata_16b));
+
+       for (int entry = 0; entry < fake_flash_entry_count; entry++)
+               memcpy(fake_flash_region + (entry * VB2_NVDATA_SIZE),
+                      test_nvdata_16b, sizeof(test_nvdata_16b));
+
+       memcpy(expected_flash, test_nvdata2_16b, sizeof(test_nvdata2_16b));
+       memset(expected_flash + VB2_NVDATA_SIZE, 0xff,
+              sizeof(expected_flash) - VB2_NVDATA_SIZE);
+       memcpy(ctx.nvdata, test_nvdata2_16b, sizeof(test_nvdata2_16b));
+
+       TEST_EQ(vb2_write_nv_storage_flashrom(&ctx), 0,
+               "Writing storage succeeds");
+       TEST_EQ(memcmp(fake_flash_region, expected_flash,
+                      sizeof(expected_flash)),
+               0,
+               "The flash was erased and the new entry was placed at "
+               "the beginning");
+}
+
+static void test_write_fail_uninitialized(void)
+{
+       struct vb2_context ctx;
+
+       reset_test_data(&ctx, sizeof(test_nvdata_16b));
+
+       TEST_NEQ(vb2_write_nv_storage_flashrom(&ctx), 0,
+                "Writing storage fails when the flash is erased");
+}
+
+static void test_write_fail_flashrom(void)
+{
+       struct vb2_context ctx;
+
+       reset_test_data(&ctx, sizeof(test_nvdata_16b));
+       memcpy(fake_flash_region, test_nvdata_16b, sizeof(test_nvdata_16b));
+       mock_flashrom_fail = true;
+
+       TEST_NEQ(vb2_write_nv_storage_flashrom(&ctx), 0,
+                "Writing storage fails when flashrom fails");
+}
+
+int main(int argc, char *argv[])
+{
+       test_read_ok_beginning();
+       test_read_ok_2ndentry();
+       test_read_ok_full();
+       test_read_fail_uninitialized();
+       test_read_fail_flashrom();
+       test_write_ok_beginning();
+       test_write_ok_2ndentry();
+       test_write_ok_full();
+       test_write_fail_uninitialized();
+       test_write_fail_flashrom();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_kernel_tests.c b/tests/vb2_kernel_tests.c
new file mode 100644 (file)
index 0000000..0b3e94c
--- /dev/null
@@ -0,0 +1,341 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for kernel selection, loading, verification, and booting.
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2kernel.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2secdata.h"
+#include "2sysincludes.h"
+#include "test_common.h"
+#include "vboot_struct.h"
+#include "vboot_api.h"
+
+/* Common context for tests */
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+static struct vb2_fw_preamble *fwpre;
+static const char fw_kernel_key_data[36] = "Test kernel key data";
+static enum vb2_boot_mode *boot_mode;
+
+/* Mocked function data */
+
+static struct {
+       struct vb2_gbb_header h;
+       struct vb2_packed_key recovery_key;
+       char recovery_key_data[32];
+} mock_gbb;
+
+static int mock_read_res_fail_on_call;
+static int mock_secdata_fwmp_check_retval;
+static int mock_vbtlk_expect_fixed;
+static int mock_vbtlk_expect_removable;
+static vb2_error_t mock_vbtlk_retval;
+
+/* Type of test to reset for */
+enum reset_type {
+       FOR_PHASE1,
+       FOR_NORMAL_BOOT,
+};
+
+static void reset_common_data(enum reset_type t)
+{
+       struct vb2_packed_key *k;
+
+       memset(workbuf, 0xaa, sizeof(workbuf));
+
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+
+       sd = vb2_get_sd(ctx);
+       vb2_nv_init(ctx);
+
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS, 0x20002);
+
+       mock_read_res_fail_on_call = 0;
+       mock_secdata_fwmp_check_retval = VB2_SUCCESS;
+       mock_vbtlk_expect_fixed = 0;
+       mock_vbtlk_expect_removable = 0;
+       mock_vbtlk_retval = VB2_SUCCESS;
+
+
+       /* Recovery key in mock GBB */
+       memset(&mock_gbb, 0, sizeof(mock_gbb));
+       mock_gbb.recovery_key.algorithm = 11;
+       mock_gbb.recovery_key.key_offset =
+               vb2_offset_of(&mock_gbb.recovery_key,
+                             &mock_gbb.recovery_key_data);
+       mock_gbb.recovery_key.key_size = sizeof(mock_gbb.recovery_key_data);
+       strcpy(mock_gbb.recovery_key_data, "The recovery key");
+       mock_gbb.h.recovery_key_offset =
+               vb2_offset_of(&mock_gbb, &mock_gbb.recovery_key);
+       mock_gbb.h.recovery_key_size =
+               mock_gbb.recovery_key.key_offset +
+               mock_gbb.recovery_key.key_size;
+
+       /* For boot_mode */
+       boot_mode = (enum vb2_boot_mode *)&ctx->boot_mode;
+       if (t == FOR_PHASE1)
+               *boot_mode = VB2_BOOT_MODE_BROKEN_SCREEN;
+       else if (t == FOR_NORMAL_BOOT)
+               *boot_mode = VB2_BOOT_MODE_NORMAL;
+       else
+               *boot_mode = VB2_BOOT_MODE_UNDEFINED;
+
+       if (t == FOR_PHASE1) {
+               uint8_t *kdata;
+
+               /* Create mock firmware preamble in the context */
+               sd->preamble_offset = sd->workbuf_used;
+               fwpre = (struct vb2_fw_preamble *)
+                       vb2_member_of(sd, sd->preamble_offset);
+               k = &fwpre->kernel_subkey;
+               kdata = (uint8_t *)fwpre + sizeof(*fwpre);
+               memcpy(kdata, fw_kernel_key_data, sizeof(fw_kernel_key_data));
+               k->algorithm = 7;
+               k->key_offset = vb2_offset_of(k, kdata);
+               k->key_size = sizeof(fw_kernel_key_data);
+               sd->preamble_size = sizeof(*fwpre) + k->key_size;
+               vb2_set_workbuf_used(ctx,
+                                    sd->preamble_offset + sd->preamble_size);
+       }
+};
+
+/* Mocked functions */
+
+vb2_error_t vb2api_secdata_fwmp_check(struct vb2_context *c, uint8_t *size)
+{
+       return mock_secdata_fwmp_check_retval;
+}
+
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
+{
+       return &mock_gbb.h;
+}
+
+vb2_error_t vb2ex_read_resource(struct vb2_context *c,
+                               enum vb2_resource_index index, uint32_t offset,
+                               void *buf, uint32_t size)
+{
+       uint8_t *rptr;
+       uint32_t rsize;
+
+       if (--mock_read_res_fail_on_call == 0)
+               return VB2_ERROR_MOCK;
+
+       switch(index) {
+       case VB2_RES_GBB:
+               rptr = (uint8_t *)&mock_gbb;
+               rsize = sizeof(mock_gbb);
+               break;
+       default:
+               return VB2_ERROR_EX_READ_RESOURCE_INDEX;
+       }
+
+       if (offset > rsize || offset + size > rsize)
+               return VB2_ERROR_EX_READ_RESOURCE_SIZE;
+
+       memcpy(buf, rptr + offset, size);
+       return VB2_SUCCESS;
+}
+
+vb2_error_t VbTryLoadKernel(struct vb2_context *c, uint32_t disk_flags)
+{
+       /*
+        * TODO: Currently we don't have a good way of testing for an ordered
+        * sequence of VB_DISK_FLAG_FIXED and then VB_DISK_FLAG_REMOVABLE.  If
+        * both are set, then just assume success.
+        */
+       if (mock_vbtlk_expect_fixed && mock_vbtlk_expect_removable)
+               return mock_vbtlk_retval;
+
+       TEST_EQ(!!mock_vbtlk_expect_fixed,
+               !!(disk_flags & VB_DISK_FLAG_FIXED),
+               "  VbTryLoadKernel unexpected fixed disk call");
+       TEST_EQ(!!mock_vbtlk_expect_removable,
+               !!(disk_flags & VB_DISK_FLAG_REMOVABLE),
+               "  VbTryLoadKernel unexpected removable disk call");
+
+       return mock_vbtlk_retval;
+}
+
+/* Tests */
+
+static void phase1_tests(void)
+{
+       struct vb2_packed_key *k;
+       uint32_t wb_used_before;
+
+       /* Test successful call */
+       reset_common_data(FOR_PHASE1);
+       TEST_SUCC(vb2api_kernel_phase1(ctx), "phase1 good");
+       /* Make sure normal key was loaded */
+       TEST_EQ(sd->kernel_key_offset, sd->preamble_offset +
+               offsetof(struct vb2_fw_preamble, kernel_subkey),
+               "  workbuf key offset");
+       k = vb2_member_of(sd, sd->kernel_key_offset);
+       TEST_EQ(sd->kernel_key_size, k->key_offset + k->key_size,
+               "  workbuf key size");
+       TEST_EQ(sd->workbuf_used,
+               vb2_wb_round_up(sd->kernel_key_offset +
+                               sd->kernel_key_size),
+               "  workbuf used");
+       TEST_EQ(k->algorithm, 7, "  key algorithm");
+       TEST_EQ(k->key_size, sizeof(fw_kernel_key_data), "  key_size");
+       TEST_EQ(memcmp((uint8_t *)k + k->key_offset, fw_kernel_key_data,
+                      k->key_size), 0, "  key data");
+       TEST_EQ(sd->kernel_version_secdata, 0x20002,
+               "  secdata_kernel version");
+
+       /* Test successful call in recovery mode */
+       reset_common_data(FOR_PHASE1);
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       /* No preamble needed in recovery mode */
+       sd->workbuf_used = sd->preamble_offset;
+       sd->preamble_offset = sd->preamble_size = 0;
+       wb_used_before = sd->workbuf_used;
+       TEST_SUCC(vb2api_kernel_phase1(ctx), "phase1 rec good");
+       /* Make sure recovery key was loaded */
+       TEST_EQ(sd->kernel_key_offset, wb_used_before,
+               "  workbuf key offset");
+       k = vb2_member_of(sd, sd->kernel_key_offset);
+       TEST_EQ(sd->kernel_key_size, k->key_offset + k->key_size,
+               "  workbuf key size");
+       TEST_EQ(sd->workbuf_used,
+               vb2_wb_round_up(sd->kernel_key_offset +
+                               sd->kernel_key_size),
+               "  workbuf used");
+       TEST_EQ(k->algorithm, 11, "  key algorithm");
+       TEST_EQ(k->key_size, sizeof(mock_gbb.recovery_key_data), "  key_size");
+       TEST_EQ(memcmp((uint8_t *)k + k->key_offset,
+                      mock_gbb.recovery_key_data, k->key_size), 0,
+               "  key data");
+       TEST_EQ(sd->kernel_version_secdata, 0x20002,
+               "  secdata_kernel version");
+
+       /* Test flags for experimental features in non-recovery path */
+       reset_common_data(FOR_PHASE1);
+       ctx->flags &= ~VB2_CONTEXT_RECOVERY_MODE;
+       TEST_SUCC(vb2api_kernel_phase1(ctx), "phase1 non-rec good");
+       /* Make sure phone recovery functionality is enabled, but UI disabled */
+       TEST_EQ(vb2api_phone_recovery_enabled(ctx), 1,
+               "  phone recovery enabled");
+       TEST_EQ(vb2api_phone_recovery_ui_enabled(ctx), 0,
+               "  phone recovery ui disabled");
+       /* Make sure diagnostic UI is enabled */
+       TEST_EQ(vb2api_diagnostic_ui_enabled(ctx), 1,
+               "  diagnostic ui enabled");
+
+       /*
+        * Test flags are unchanged for experimental features in recovery path
+        */
+
+       /* Set 8 bits to 0 */
+       reset_common_data(FOR_PHASE1);
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS, 0);
+       TEST_SUCC(vb2api_kernel_phase1(ctx), "phase1 rec good");
+       TEST_EQ(vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS), 0,
+               "VB2_SECDATA_KERNEL_FLAGS remains unchanged in recovery path");
+
+       /* Set 8 bits to 1 */
+       reset_common_data(FOR_PHASE1);
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS, UINT8_MAX);
+       TEST_SUCC(vb2api_kernel_phase1(ctx), "phase1 rec good");
+       TEST_EQ(vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS),
+               UINT8_MAX,
+               "VB2_SECDATA_KERNEL_FLAGS remains unchanged in recovery path");
+
+       /* Bad secdata_fwmp causes failure in normal mode only */
+       reset_common_data(FOR_PHASE1);
+       mock_secdata_fwmp_check_retval = VB2_ERROR_SECDATA_FWMP_CRC;
+       TEST_EQ(vb2api_kernel_phase1(ctx), mock_secdata_fwmp_check_retval,
+               "phase1 bad secdata_fwmp");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_SECDATA_FWMP_INIT, "  recovery reason");
+
+       reset_common_data(FOR_PHASE1);
+       mock_secdata_fwmp_check_retval = VB2_ERROR_SECDATA_FWMP_CRC;
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       TEST_SUCC(vb2api_kernel_phase1(ctx), "phase1 bad secdata_fwmp rec");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_NOT_REQUESTED, "  no recovery");
+
+       /* Failures while reading recovery key */
+       reset_common_data(FOR_PHASE1);
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       mock_gbb.h.recovery_key_size = sd->workbuf_size - 1;
+       mock_gbb.recovery_key.key_size =
+               mock_gbb.h.recovery_key_size - sizeof(mock_gbb.recovery_key);
+       TEST_EQ(vb2api_kernel_phase1(ctx), VB2_SUCCESS,
+               "phase1 rec workbuf key");
+       TEST_EQ(sd->kernel_key_offset, 0, "  workbuf key offset");
+       TEST_EQ(sd->kernel_key_size, 0, "  workbuf key size");
+       mock_gbb.h.flags |= VB2_GBB_FLAG_FORCE_MANUAL_RECOVERY;
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       TEST_ABORT(vb2api_kernel_phase1(ctx), "  fatal for manual recovery");
+
+       reset_common_data(FOR_PHASE1);
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       mock_read_res_fail_on_call = 1;
+       TEST_EQ(vb2api_kernel_phase1(ctx), VB2_SUCCESS,
+               "phase1 rec gbb read key");
+       TEST_EQ(sd->kernel_key_offset, 0, "  workbuf key offset");
+       TEST_EQ(sd->kernel_key_size, 0, "  workbuf key size");
+       mock_gbb.h.flags |= VB2_GBB_FLAG_FORCE_MANUAL_RECOVERY;
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       mock_read_res_fail_on_call = 1;
+       TEST_ABORT(vb2api_kernel_phase1(ctx), "  fatal for manual recovery");
+
+       /* Failures while parsing subkey from firmware preamble */
+       reset_common_data(FOR_PHASE1);
+       sd->preamble_size = 0;
+       TEST_EQ(vb2api_kernel_phase1(ctx), VB2_ERROR_API_KPHASE1_PREAMBLE,
+               "phase1 fw preamble");
+}
+
+static void normal_boot_tests(void)
+{
+       reset_common_data(FOR_NORMAL_BOOT);
+       mock_vbtlk_expect_fixed = 1;
+       TEST_EQ(vb2_normal_boot(ctx), VB2_SUCCESS,
+               "vb2_normal_boot() returns VB2_SUCCESS");
+
+       reset_common_data(FOR_NORMAL_BOOT);
+       mock_vbtlk_expect_fixed = 1;
+       mock_vbtlk_retval = VB2_ERROR_MOCK;
+       TEST_EQ(vb2_normal_boot(ctx), VB2_ERROR_MOCK,
+               "vb2_normal_boot() returns VB2_ERROR_MOCK");
+
+       reset_common_data(FOR_NORMAL_BOOT);
+       vb2_nv_set(ctx, VB2_NV_DISPLAY_REQUEST, 1);
+       TEST_EQ(vb2_normal_boot(ctx), VB2_REQUEST_REBOOT,
+               "vb2_normal_boot() reboot to reset NVRAM display request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DISPLAY_REQUEST), 0,
+               "  display request reset");
+
+       reset_common_data(FOR_NORMAL_BOOT);
+       vb2_nv_set(ctx, VB2_NV_DIAG_REQUEST, 1);
+       TEST_EQ(vb2_normal_boot(ctx), VB2_REQUEST_REBOOT,
+               "vb2_normal_boot() reboot to reset NVRAM diag request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DIAG_REQUEST), 0,
+               "  diag request reset");}
+
+int main(int argc, char* argv[])
+{
+       phase1_tests();
+       normal_boot_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_keyblock_fuzzer.c b/tests/vb2_keyblock_fuzzer.c
new file mode 100644 (file)
index 0000000..2aa83e1
--- /dev/null
@@ -0,0 +1,102 @@
+// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2rsa_private.h"
+#include "2secdata.h"
+#include "vboot_test.h"
+
+static struct vb2_context *ctx;
+static uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct {
+       struct vb2_gbb_header h;
+       uint8_t rootkey[4096];
+} gbb;
+
+static const uint8_t *mock_keyblock;
+static size_t mock_keyblock_size;
+
+/* Limit exposure of code for which we didn't set up the environment right. */
+void vb2api_fail(struct vb2_context *c, uint8_t reason, uint8_t subcode)
+{
+       return;
+}
+
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
+{
+       return &gbb.h;
+}
+
+vb2_error_t vb2ex_read_resource(struct vb2_context *c,
+                               enum vb2_resource_index index, uint32_t offset,
+                               void *buf, uint32_t size)
+{
+       const void *rbase;
+       size_t rsize;
+
+       switch (index) {
+       case VB2_RES_GBB:
+               rbase = &gbb;
+               rsize = sizeof(gbb);
+               break;
+       case VB2_RES_FW_VBLOCK:
+               rbase = mock_keyblock;
+               rsize = mock_keyblock_size;
+               break;
+       default:
+               return VB2_ERROR_EX_READ_RESOURCE_INDEX;
+       }
+
+       if (offset > rsize || rsize - offset < size)
+               return VB2_ERROR_EX_READ_RESOURCE_SIZE;
+
+       memcpy(buf, rbase + offset, size);
+       return VB2_SUCCESS;
+}
+
+/* Pretend that signature checks always succeed so the fuzzer can cover more. */
+vb2_error_t vb2_check_padding(const uint8_t *sig,
+                             const struct vb2_public_key *key)
+{
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_safe_memcmp(const void *s1, const void *s2, size_t size)
+{
+       return VB2_SUCCESS;
+}
+
+int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size);
+int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+       /* Initialize fuzzing inputs. */
+       if (size < sizeof(gbb.rootkey))
+               return 0;
+
+       memset(&gbb.h, 0, sizeof(gbb.h));
+       gbb.h.rootkey_offset = gbb.rootkey - (uint8_t *)&gbb;
+       gbb.h.rootkey_size = sizeof(gbb.rootkey);
+
+       memcpy(gbb.rootkey, data, sizeof(gbb.rootkey));
+       mock_keyblock = data + sizeof(gbb.rootkey);
+       mock_keyblock_size = size - sizeof(gbb.rootkey);
+
+       /* Set up data structures needed by the tested function. */
+       if (vb2api_init(workbuf, sizeof(workbuf), &ctx))
+               abort();
+       vb2_nv_init(ctx);
+       vb2api_secdata_firmware_create(ctx);
+       vb2api_secdata_kernel_create(ctx);
+       if (vb2_secdata_firmware_init(ctx) || vb2_secdata_kernel_init(ctx))
+               abort();
+
+       /* Run function to test. */
+       vb2_load_fw_keyblock(ctx);
+
+       return 0;
+}
diff --git a/tests/vb2_misc_tests.c b/tests/vb2_misc_tests.c
new file mode 100644 (file)
index 0000000..99f8bae
--- /dev/null
@@ -0,0 +1,1108 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for misc library
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2secdata.h"
+#include "2sysincludes.h"
+#include "test_common.h"
+
+/* Common context for tests */
+static uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static uint8_t workbuf2[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+static struct vb2_gbb_header gbb;
+static struct vb2_secdata_fwmp *fwmp;
+static enum vb2_boot_mode *boot_mode;
+
+/* Mocked function data */
+static enum vb2_resource_index mock_resource_index;
+static void *mock_resource_ptr;
+static uint32_t mock_resource_size;
+static int mock_tpm_clear_called;
+static int mock_tpm_clear_retval;
+
+static void reset_common_data(void)
+{
+       memset(workbuf, 0xaa, sizeof(workbuf));
+       memset(workbuf2, 0xbb, sizeof(workbuf2));
+
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+
+       sd = vb2_get_sd(ctx);
+       sd->status |= VB2_SD_STATUS_SECDATA_FWMP_INIT;
+
+       memset(&gbb, 0, sizeof(gbb));
+
+       vb2_nv_init(ctx);
+
+       vb2api_secdata_firmware_create(ctx);
+       vb2_secdata_firmware_init(ctx);
+
+       fwmp = (struct vb2_secdata_fwmp *)&ctx->secdata_fwmp;
+
+       mock_tpm_clear_called = 0;
+       mock_tpm_clear_retval = VB2_SUCCESS;
+
+       boot_mode = (enum vb2_boot_mode *)&ctx->boot_mode;
+       *boot_mode = VB2_BOOT_MODE_NORMAL;
+};
+
+/* Mocked functions */
+
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
+{
+       return &gbb;
+}
+
+vb2_error_t vb2ex_read_resource(struct vb2_context *c,
+                               enum vb2_resource_index index, uint32_t offset,
+                               void *buf, uint32_t size)
+{
+       if (index != mock_resource_index)
+               return VB2_ERROR_EX_READ_RESOURCE_INDEX;
+
+       if (offset > mock_resource_size || offset + size > mock_resource_size)
+               return VB2_ERROR_EX_READ_RESOURCE_SIZE;
+
+       memcpy(buf, (uint8_t *)mock_resource_ptr + offset, size);
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2ex_tpm_clear_owner(struct vb2_context *c)
+{
+       mock_tpm_clear_called++;
+
+       return mock_tpm_clear_retval;
+}
+
+/* Tests */
+static void init_workbuf_tests(void)
+{
+       struct vb2_context *orig_ctx;
+
+       /* check constants */
+       TEST_TRUE(sizeof(struct vb2_context) < VB2_CONTEXT_MAX_SIZE,
+                 "vb2_context max size constant");
+
+       /* vb2api_init() - misaligned */
+       TEST_EQ(vb2api_init(workbuf + 1, sizeof(workbuf) - 1, &ctx),
+               VB2_ERROR_WORKBUF_ALIGN, "vb2api_init - misaligned");
+
+       /* vb2api_init() - size too small */
+       TEST_EQ(vb2api_init(workbuf, sizeof(struct vb2_shared_data) - 1,
+                             &ctx), VB2_ERROR_WORKBUF_SMALL,
+               "vb2api_init - size too small");
+
+       /* vb2api_init() - success */
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init - success");
+       TEST_TRUE((uintptr_t)workbuf < (uintptr_t)ctx &&
+                 (uintptr_t)ctx < (uintptr_t)workbuf + sizeof(workbuf),
+                 "  return proper pointer");
+       struct vb2_context zero_ctx = {0};
+       TEST_SUCC(memcmp(ctx, &zero_ctx, sizeof(struct vb2_context)),
+                 "  vb2_context set to zero");
+       sd = vb2_get_sd(ctx);
+       TEST_EQ(sd->magic, VB2_SHARED_DATA_MAGIC, "  set magic");
+       TEST_EQ(sd->struct_version_major, VB2_SHARED_DATA_VERSION_MAJOR,
+               "  set major version");
+       TEST_EQ(sd->struct_version_minor, VB2_SHARED_DATA_VERSION_MINOR,
+               "  set minor version");
+       TEST_EQ(sd->workbuf_size, sizeof(workbuf), "  set workbuf size");
+       TEST_TRUE(sd->workbuf_used - sizeof(struct vb2_shared_data)
+                 < VB2_WORKBUF_ALIGN, "  set workbuf used");
+
+       /* vb2api_relocate() - misaligned source */
+       reset_common_data();
+       memmove(workbuf + 1, workbuf, sizeof(workbuf) - 1);
+       TEST_SUCC(vb2api_relocate(workbuf2, workbuf + 1, sizeof(workbuf) - 1,
+                                 &ctx), "vb2api_relocate - misaligned source");
+
+       /* vb2api_relocate() - misaligned target */
+       reset_common_data();
+       TEST_EQ(vb2api_relocate(workbuf2 + 1, workbuf, sizeof(workbuf) - 1,
+                               &ctx),
+               VB2_ERROR_WORKBUF_ALIGN, "vb2api_relocate - misaligned target");
+
+       /* vb2api_relocate() - bad magic */
+       reset_common_data();
+       sd->magic = 0;
+       TEST_EQ(vb2api_relocate(workbuf2, workbuf, sizeof(workbuf), &ctx),
+               VB2_ERROR_SHARED_DATA_MAGIC, "vb2api_relocate - bad magic");
+
+       /* vb2api_relocate() - small major version */
+       reset_common_data();
+       sd->struct_version_major--;
+       TEST_EQ(vb2api_relocate(workbuf2, workbuf, sizeof(workbuf), &ctx),
+               VB2_ERROR_SHARED_DATA_VERSION,
+               "vb2api_relocate - small major version");
+
+       /* vb2api_relocate() - big major version */
+       reset_common_data();
+       sd->struct_version_major++;
+       TEST_EQ(vb2api_relocate(workbuf2, workbuf, sizeof(workbuf), &ctx),
+               VB2_ERROR_SHARED_DATA_VERSION,
+               "vb2api_relocate - big major version");
+
+       /* vb2api_relocate() - small minor version */
+       if (VB2_SHARED_DATA_VERSION_MINOR > 0) {
+               reset_common_data();
+               sd->struct_version_minor--;
+               TEST_EQ(vb2api_relocate(workbuf2, workbuf, sizeof(workbuf),
+                                       &ctx),
+                       VB2_ERROR_SHARED_DATA_VERSION,
+                         "vb2api_relocate - small minor version");
+       }
+
+       /* vb2api_relocate() - big minor version */
+       reset_common_data();
+       sd->struct_version_minor++;
+       TEST_SUCC(vb2api_relocate(workbuf2, workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_relocate - big minor version");
+
+       /* vb2api_relocate() - small workbuf_used */
+       reset_common_data();
+       sd->workbuf_used = sizeof(struct vb2_shared_data) - 1;
+       TEST_EQ(vb2api_relocate(workbuf2, workbuf, sizeof(workbuf), &ctx),
+               VB2_ERROR_WORKBUF_INVALID,
+               "vb2api_relocate - small workbuf_used");
+
+       /* vb2api_relocate() - workbuf_size < workbuf_used */
+       reset_common_data();
+       sd->workbuf_used = sd->workbuf_size;
+       sd->workbuf_size--;
+       TEST_EQ(vb2api_relocate(workbuf2, workbuf, sizeof(workbuf), &ctx),
+               VB2_ERROR_WORKBUF_INVALID,
+               "vb2api_relocate - workbuf_size < workbuf_used");
+
+       /* vb2api_relocate() - target workbuf too small */
+       reset_common_data();
+       sd->workbuf_used = sd->workbuf_size - 1;
+       TEST_EQ(vb2api_relocate(workbuf2, workbuf, sd->workbuf_used - 1, &ctx),
+               VB2_ERROR_WORKBUF_SMALL,
+               "vb2api_relocate - target workbuf too small");
+
+       /* vb2api_relocate() - success (same size) */
+       reset_common_data();
+       orig_ctx = ctx;
+       TEST_SUCC(vb2api_relocate(workbuf2, workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_relocate - success (same size)");
+       sd = vb2_get_sd(ctx);
+       TEST_EQ((uintptr_t)orig_ctx - (uintptr_t)workbuf,
+               (uintptr_t)ctx - (uintptr_t)workbuf2,
+               "  same context pointer");
+       TEST_SUCC(memcmp(workbuf2, workbuf, sd->workbuf_used),
+                 "  same workbuf");
+
+       /* vb2api_relocate() - success (smaller size) */
+       reset_common_data();
+       TEST_SUCC(vb2api_relocate(workbuf2, workbuf, sizeof(workbuf) - 1, &ctx),
+                 "vb2api_relocate - success (smaller size)");
+       sd = vb2_get_sd(ctx);
+       TEST_EQ(sd->workbuf_size, sizeof(workbuf) - 1, "  set workbuf size");
+
+       /* vb2api_relocate() - success (larger size) */
+       reset_common_data();
+       sd->workbuf_size--;
+       TEST_SUCC(vb2api_relocate(workbuf2, workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_relocate - success (larger size)");
+       sd = vb2_get_sd(ctx);
+       TEST_EQ(sd->workbuf_size, sizeof(workbuf), "  set workbuf size");
+
+       /* vb2api_relocate() - success (overlapping) */
+       reset_common_data();
+       orig_ctx = ctx;
+       sd->workbuf_size -= VB2_WORKBUF_ALIGN;
+       memcpy(workbuf2, workbuf, sd->workbuf_used);
+       TEST_SUCC(vb2api_relocate(workbuf + VB2_WORKBUF_ALIGN, workbuf,
+                                 sizeof(workbuf) - VB2_WORKBUF_ALIGN, &ctx),
+                 "vb2api_relocate - success (overlapping)");
+       sd = vb2_get_sd(ctx);
+       TEST_EQ((uintptr_t)ctx - (uintptr_t)orig_ctx,
+               VB2_WORKBUF_ALIGN,
+               "  context pointer moved");
+       TEST_SUCC(memcmp(workbuf2, workbuf + VB2_WORKBUF_ALIGN,
+                        sd->workbuf_used), "  same workbuf");
+
+       /* vb2api_reinit() - workbuf_size < workbuf_used */
+       reset_common_data();
+       sd->workbuf_size = sd->workbuf_used - 1;
+       TEST_EQ(vb2api_reinit(workbuf, &ctx), VB2_ERROR_WORKBUF_INVALID,
+               "vb2api_reinit - workbuf_size < workbuf_used");
+
+       /* vb2api_reinit() - success */
+       reset_common_data();
+       orig_ctx = ctx;
+       TEST_SUCC(vb2api_reinit(workbuf, &ctx),
+                 "vb2api_reinit - success");
+       TEST_EQ((uintptr_t)ctx, (uintptr_t)orig_ctx,
+               "  context pointer unchanged");
+}
+
+static void misc_tests(void)
+{
+       struct vb2_workbuf wb;
+
+       reset_common_data();
+       sd->workbuf_used = VB2_WORKBUF_ALIGN;
+
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       TEST_PTR_EQ(wb.buf, workbuf + VB2_WORKBUF_ALIGN,
+                   "vb_workbuf_from_ctx() buf");
+       TEST_EQ(wb.size, sd->workbuf_size - VB2_WORKBUF_ALIGN,
+               "vb_workbuf_from_ctx() size");
+
+       reset_common_data();
+       sd->status |= VB2_SD_STATUS_RECOVERY_DECIDED;
+       TEST_ABORT(VB2_REC_OR_DIE(ctx, "die\n"), "REC_OR_DIE in normal mode");
+
+       reset_common_data();
+       sd->status |= VB2_SD_STATUS_RECOVERY_DECIDED;
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       VB2_REC_OR_DIE(ctx, "VB2_REC_OR_DIE() test in recovery mode\n");
+       /* Would exit here if it didn't work as intended. */
+
+       reset_common_data();
+       VB2_REC_OR_DIE(ctx, "VB2_REC_OR_DIE() test in fw_phase1\n");
+}
+
+static void gbb_tests(void)
+{
+       struct vb2_gbb_header gbbsrc = {
+               .signature = {'$', 'G', 'B', 'B'},
+               .major_version = VB2_GBB_MAJOR_VER,
+               .minor_version = VB2_GBB_MINOR_VER,
+               .header_size = sizeof(struct vb2_gbb_header),
+               .flags = 0x1234,
+               .rootkey_offset = 240,
+               .rootkey_size = 1040,
+       };
+
+       struct vb2_gbb_header gbbdest;
+
+       TEST_EQ(sizeof(struct vb2_gbb_header),
+               EXPECTED_VB2_GBB_HEADER_SIZE,
+               "sizeof(struct vb2_gbb_header)");
+
+       reset_common_data();
+
+       /* Good contents */
+       mock_resource_index = VB2_RES_GBB;
+       mock_resource_ptr = &gbbsrc;
+       mock_resource_size = sizeof(gbbsrc);
+       TEST_SUCC(vb2_read_gbb_header(ctx, &gbbdest), "read gbb header good");
+       TEST_SUCC(memcmp(&gbbsrc, &gbbdest, sizeof(gbbsrc)),
+                 "read gbb contents");
+
+       mock_resource_index = VB2_RES_GBB + 1;
+       TEST_EQ(vb2_read_gbb_header(ctx, &gbbdest),
+               VB2_ERROR_EX_READ_RESOURCE_INDEX, "read gbb header missing");
+       mock_resource_index = VB2_RES_GBB;
+
+       gbbsrc.signature[0]++;
+       TEST_EQ(vb2_read_gbb_header(ctx, &gbbdest),
+               VB2_ERROR_GBB_MAGIC, "read gbb header bad magic");
+       gbbsrc.signature[0]--;
+
+       gbbsrc.major_version = VB2_GBB_MAJOR_VER + 1;
+       TEST_EQ(vb2_read_gbb_header(ctx, &gbbdest),
+               VB2_ERROR_GBB_VERSION, "read gbb header major version");
+       gbbsrc.major_version = VB2_GBB_MAJOR_VER;
+
+       gbbsrc.minor_version = VB2_GBB_MINOR_VER + 1;
+       TEST_SUCC(vb2_read_gbb_header(ctx, &gbbdest),
+                 "read gbb header minor++");
+       gbbsrc.minor_version = 1;
+       TEST_EQ(vb2_read_gbb_header(ctx, &gbbdest),
+               VB2_ERROR_GBB_TOO_OLD, "read gbb header 1.1 fails");
+       gbbsrc.minor_version = 0;
+       TEST_EQ(vb2_read_gbb_header(ctx, &gbbdest),
+               VB2_ERROR_GBB_TOO_OLD, "read gbb header 1.0 fails");
+       gbbsrc.minor_version = VB2_GBB_MINOR_VER;
+
+       gbbsrc.header_size--;
+       TEST_EQ(vb2_read_gbb_header(ctx, &gbbdest),
+               VB2_ERROR_GBB_HEADER_SIZE, "read gbb header size");
+       TEST_EQ(vb2_fw_init_gbb(ctx),
+               VB2_ERROR_GBB_HEADER_SIZE, "init gbb failure");
+       gbbsrc.header_size++;
+
+       /* Init GBB */
+       int used_before = sd->workbuf_used;
+       TEST_SUCC(vb2_fw_init_gbb(ctx), "init gbb");
+       /* Manually calculate the location of GBB since we have mocked out the
+          original definition of vb2_get_gbb. */
+       struct vb2_gbb_header *current_gbb = vb2_member_of(sd, sd->gbb_offset);
+       TEST_SUCC(memcmp(&gbbsrc, current_gbb, sizeof(gbbsrc)),
+                 "  copy gbb contents");
+       TEST_TRUE(sd->workbuf_used - sizeof(gbbsrc) - used_before
+                 < VB2_WORKBUF_ALIGN, "  unexpected workbuf size");
+
+       /* Workbuf failure */
+       reset_common_data();
+       sd->workbuf_used = sd->workbuf_size - 4;
+       TEST_EQ(vb2_fw_init_gbb(ctx),
+               VB2_ERROR_GBB_WORKBUF, "init gbb no workbuf");
+
+       /* Check for setting NO_SECDATA_FWMP context flag */
+       reset_common_data();
+       TEST_SUCC(vb2_fw_init_gbb(ctx), "init gbb");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_NO_SECDATA_FWMP, 0,
+               "without DISABLE_FWMP: NO_SECDATA_FWMP shouldn't be set");
+       reset_common_data();
+       gbbsrc.flags |= VB2_GBB_FLAG_DISABLE_FWMP;
+       TEST_SUCC(vb2_fw_init_gbb(ctx), "init gbb");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_NO_SECDATA_FWMP, 0,
+                "with DISABLE_FWMP: NO_SECDATA_FWMP should be set");
+}
+
+static void fail_tests(void)
+{
+       /* Early fail (before even NV init) */
+       reset_common_data();
+       sd->status &= ~VB2_SD_STATUS_NV_INIT;
+       vb2api_fail(ctx, 1, 2);
+       TEST_NEQ(sd->status & VB2_SD_STATUS_NV_INIT, 0, "vb2api_fail inits NV");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               1, "vb2api_fail request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE),
+               2, "vb2api_fail subcode");
+
+       /* Repeated fail doesn't overwrite the error code */
+       vb2api_fail(ctx, 3, 4);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               1, "vb2api_fail repeat");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE),
+               2, "vb2api_fail repeat2");
+
+       /* Fail with other slot good doesn't trigger recovery */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_TRY_COUNT, 3);
+       vb2_nv_set(ctx, VB2_NV_FW_RESULT, VB2_FW_RESULT_UNKNOWN);
+       sd->status |= VB2_SD_STATUS_CHOSE_SLOT;
+       sd->fw_slot = 0;
+       sd->last_fw_slot = 1;
+       sd->last_fw_result = VB2_FW_RESULT_UNKNOWN;
+       vb2api_fail(ctx, 5, 6);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST), 0, "vb2_failover");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_RESULT),
+               VB2_FW_RESULT_FAILURE, "vb2api_fail this fw");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TRY_COUNT), 0,
+               "vb2api_fail use up tries");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TRY_NEXT), 1,
+               "vb2api_fail try other slot");
+
+       /* Fail with other slot already failing triggers recovery */
+       reset_common_data();
+       sd->status |= VB2_SD_STATUS_CHOSE_SLOT;
+       sd->fw_slot = 1;
+       sd->last_fw_slot = 0;
+       sd->last_fw_result = VB2_FW_RESULT_FAILURE;
+       vb2api_fail(ctx, 7, 8);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST), 7,
+               "vb2api_fail both slots bad");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_RESULT),
+               VB2_FW_RESULT_FAILURE, "vb2api_fail this fw");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TRY_NEXT), 0,
+               "vb2api_fail try other slot");
+}
+
+static void recovery_tests(void)
+{
+       /* No recovery */
+       reset_common_data();
+       TEST_EQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+               0, "recovery not yet decided before testing check_recovery()");
+       vb2_check_recovery(ctx);
+       TEST_EQ(sd->recovery_reason, 0, "No recovery reason");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_RECOVERY_MODE,
+               0, "Not recovery mode");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "Recovery decided");
+
+       /* From request */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, 3);
+       vb2_check_recovery(ctx);
+       TEST_EQ(sd->recovery_reason, 3, "Recovery reason from request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST), 3, "NV not cleared");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_RECOVERY_MODE,
+                0, "Recovery mode");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "Recovery decided");
+
+       /* From request, but already failed */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, 4);
+       sd->recovery_reason = 5;
+       vb2_check_recovery(ctx);
+       TEST_EQ(sd->recovery_reason, 5, "Recovery reason already failed");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               4, "NV not cleared");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "Recovery decided");
+
+       /* Override */
+       reset_common_data();
+       sd->recovery_reason = 6;
+       ctx->flags |= VB2_CONTEXT_FORCE_RECOVERY_MODE;
+       vb2_check_recovery(ctx);
+       TEST_EQ(sd->recovery_reason, VB2_RECOVERY_RO_MANUAL,
+               "Recovery reason forced");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "Recovery decided");
+
+       /* Override subcode TRAIN_AND_REBOOT */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_SUBCODE, VB2_RECOVERY_TRAIN_AND_REBOOT);
+       ctx->flags |= VB2_CONTEXT_FORCE_RECOVERY_MODE;
+       vb2_check_recovery(ctx);
+       TEST_EQ(sd->recovery_reason, VB2_RECOVERY_RO_MANUAL,
+               "Recovery reason forced");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "Recovery decided");
+
+       /* Promote subcode from BROKEN screen*/
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_SUBCODE, VB2_RECOVERY_US_TEST);
+       ctx->flags |= VB2_CONTEXT_FORCE_RECOVERY_MODE;
+       vb2_check_recovery(ctx);
+       TEST_EQ(sd->recovery_reason, VB2_RECOVERY_US_TEST,
+               "Recovery reason forced from BROKEN");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_RECOVERY_DECIDED,
+                0, "Recovery decided");
+}
+
+static void dev_switch_tests(void)
+{
+       uint32_t v;
+
+       /* Normal mode */
+       reset_common_data();
+       TEST_SUCC(vb2_check_dev_switch(ctx), "dev mode off");
+       TEST_EQ(sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED, 0, "  sd not in dev");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_DEVELOPER_MODE, 0, "  ctx not in dev");
+       TEST_EQ(mock_tpm_clear_called, 0, "  no tpm clear");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_REQ_WIPEOUT), 0, "  no nv wipeout");
+
+       /* Dev mode */
+       reset_common_data();
+       vb2_secdata_firmware_set(
+               ctx, VB2_SECDATA_FIRMWARE_FLAGS,
+               (VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE |
+                VB2_SECDATA_FIRMWARE_FLAG_LAST_BOOT_DEVELOPER));
+       TEST_SUCC(vb2_check_dev_switch(ctx), "dev mode on");
+       TEST_NEQ(sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED, 0, "  sd in dev");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_DEVELOPER_MODE, 0, "  ctx in dev");
+       TEST_EQ(mock_tpm_clear_called, 0, "  no tpm clear");
+
+       /* Any normal mode boot clears dev boot flags */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_DEV_BOOT_EXTERNAL, 1);
+       vb2_nv_set(ctx, VB2_NV_DEV_BOOT_ALTFW, 1);
+       vb2_nv_set(ctx, VB2_NV_DEV_BOOT_SIGNED_ONLY, 1);
+       vb2_nv_set(ctx, VB2_NV_DEV_DEFAULT_BOOT, 1);
+       TEST_SUCC(vb2_check_dev_switch(ctx), "dev mode off");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DEV_BOOT_EXTERNAL),
+               0, "  cleared dev boot external");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DEV_BOOT_ALTFW),
+               0, "  cleared dev boot altfw");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DEV_BOOT_SIGNED_ONLY),
+               0, "  cleared dev boot signed only");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DEV_DEFAULT_BOOT),
+               0, "  cleared dev default boot");
+
+       /* Normal-dev transition clears TPM */
+       reset_common_data();
+       vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_FLAGS,
+                                VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE);
+       TEST_SUCC(vb2_check_dev_switch(ctx), "to dev mode");
+       TEST_EQ(mock_tpm_clear_called, 1, "  tpm clear");
+       v = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS);
+       TEST_EQ(v, (VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE |
+                   VB2_SECDATA_FIRMWARE_FLAG_LAST_BOOT_DEVELOPER),
+               "  last boot developer now");
+
+       /* Dev-normal transition clears TPM too */
+       reset_common_data();
+       vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_FLAGS,
+                                VB2_SECDATA_FIRMWARE_FLAG_LAST_BOOT_DEVELOPER);
+       TEST_SUCC(vb2_check_dev_switch(ctx), "from dev mode");
+       TEST_EQ(mock_tpm_clear_called, 1, "  tpm clear");
+       v = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS);
+       TEST_EQ(v, 0, "  last boot not developer now");
+
+       /* Disable dev mode */
+       reset_common_data();
+       vb2_secdata_firmware_set(
+               ctx, VB2_SECDATA_FIRMWARE_FLAGS,
+               (VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE |
+                VB2_SECDATA_FIRMWARE_FLAG_LAST_BOOT_DEVELOPER));
+       vb2_nv_set(ctx, VB2_NV_DISABLE_DEV_REQUEST, 1);
+       TEST_SUCC(vb2_check_dev_switch(ctx), "disable dev request");
+       TEST_EQ(sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED, 0, "  sd not in dev");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DISABLE_DEV_REQUEST),
+               0, "  request cleared");
+
+       /* Force enabled by GBB */
+       reset_common_data();
+       gbb.flags |= VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON;
+       TEST_SUCC(vb2_check_dev_switch(ctx), "dev on via gbb");
+       TEST_NEQ(sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED, 0, "  sd in dev");
+       v = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS);
+       TEST_EQ(v, VB2_SECDATA_FIRMWARE_FLAG_LAST_BOOT_DEVELOPER,
+               "  doesn't set dev on in secdata_firmware "
+               "but does set last boot dev");
+       TEST_EQ(mock_tpm_clear_called, 1, "  tpm clear");
+
+       /* Request disable by ctx flag */
+       reset_common_data();
+       vb2_secdata_firmware_set(
+               ctx, VB2_SECDATA_FIRMWARE_FLAGS,
+               (VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE |
+                VB2_SECDATA_FIRMWARE_FLAG_LAST_BOOT_DEVELOPER));
+       ctx->flags |= VB2_CONTEXT_DISABLE_DEVELOPER_MODE;
+       TEST_SUCC(vb2_check_dev_switch(ctx), "disable dev on ctx request");
+       TEST_EQ(sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED, 0, "  sd not in dev");
+
+       /* Simulate clear owner failure */
+       reset_common_data();
+       vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_FLAGS,
+                                VB2_SECDATA_FIRMWARE_FLAG_LAST_BOOT_DEVELOPER);
+       mock_tpm_clear_retval = VB2_ERROR_EX_TPM_CLEAR_OWNER;
+       TEST_EQ(vb2_check_dev_switch(ctx),
+               VB2_ERROR_EX_TPM_CLEAR_OWNER, "tpm clear fail");
+       TEST_EQ(mock_tpm_clear_called, 1, "  tpm clear");
+       v = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS);
+       TEST_EQ(v, VB2_SECDATA_FIRMWARE_FLAG_LAST_BOOT_DEVELOPER,
+               "  last boot still developer");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_TPM_CLEAR_OWNER, "  requests recovery");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE),
+               (uint8_t)VB2_ERROR_EX_TPM_CLEAR_OWNER, "  recovery subcode");
+
+       /*
+        * secdata_firmware failure in normal mode fails and shows dev=0 even
+        * if dev mode was on in the (inaccessible) secdata_firmware. Since this
+        * happens in fw_phase1, we do not abort -- we know that when secdata
+        * is uninitialized here, we must be headed for recovery mode.
+        */
+       reset_common_data();
+       vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_FLAGS,
+                                VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE);
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FIRMWARE_INIT;
+       TEST_SUCC(vb2_check_dev_switch(ctx), "secdata_firmware fail normal");
+       TEST_EQ(sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED, 0, "  sd not in dev");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_DEVELOPER_MODE, 0, "  ctx not in dev");
+
+       /* secdata_firmware failure in recovery mode continues */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FIRMWARE_INIT;
+       TEST_SUCC(vb2_check_dev_switch(ctx), "secdata_firmware fail recovery");
+       TEST_EQ(sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED, 0, "  sd not in dev");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_DEVELOPER_MODE, 0, "  ctx not in dev");
+
+       /* And doesn't check or clear dev disable request */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FIRMWARE_INIT;
+       vb2_nv_set(ctx, VB2_NV_DISABLE_DEV_REQUEST, 1);
+       TEST_SUCC(vb2_check_dev_switch(ctx),
+                 "secdata_firmware fail recovery disable");
+       TEST_EQ(sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED, 0, "  sd not in dev");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_DEVELOPER_MODE, 0, "  ctx not in dev");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DISABLE_DEV_REQUEST),
+               1, "  request not cleared");
+
+       /* Can still override with GBB flag */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FIRMWARE_INIT;
+       gbb.flags |= VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON;
+       TEST_SUCC(vb2_check_dev_switch(ctx),
+                 "secdata_firmware fail recovery gbb");
+       TEST_NEQ(sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED, 0, "  sd in dev");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_DEVELOPER_MODE, 0, "  ctx in dev");
+       TEST_EQ(mock_tpm_clear_called, 1, "  tpm clear");
+
+       /* Force wipeout by ctx flag */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_FORCE_WIPEOUT_MODE;
+       TEST_SUCC(vb2_check_dev_switch(ctx), "wipeout on ctx flag");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_REQ_WIPEOUT), 1, "  nv wipeout");
+}
+
+static void enable_dev_tests(void)
+{
+       reset_common_data();
+       TEST_FAIL(vb2api_enable_developer_mode(ctx),
+                "vb2api_enable_developer_mode - failed");
+       TEST_EQ(vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS) &
+               VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE, 0,
+               "  dev mode flag not set");
+
+       reset_common_data();
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       TEST_SUCC(vb2api_enable_developer_mode(ctx),
+                 "vb2api_enable_developer_mode - success");
+       TEST_NEQ(vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS) &
+                VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE, 0,
+                "  dev mode flag set");
+
+       /* secdata_firmware not initialized, aborts */
+       reset_common_data();
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FIRMWARE_INIT;
+       sd->status |= VB2_SD_STATUS_RECOVERY_DECIDED;
+       TEST_ABORT(vb2api_enable_developer_mode(ctx),
+                  "secdata_firmware no init, enable dev mode aborted");
+       sd->status |= VB2_SD_STATUS_SECDATA_FIRMWARE_INIT;
+       TEST_EQ(vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS) &
+               VB2_SECDATA_FIRMWARE_FLAG_DEV_MODE, 0,
+               "  dev mode flag not set");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DEV_BOOT_EXTERNAL), 0,
+               "  NV_DEV_BOOT_EXTERNAL not set");
+}
+
+static void tpm_clear_tests(void)
+{
+       /* No clear request */
+       reset_common_data();
+       TEST_SUCC(vb2_check_tpm_clear(ctx), "no clear request");
+       TEST_EQ(mock_tpm_clear_called, 0, "tpm not cleared");
+
+       /* Successful request */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_CLEAR_TPM_OWNER_REQUEST, 1);
+       TEST_SUCC(vb2_check_tpm_clear(ctx), "clear request");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_CLEAR_TPM_OWNER_REQUEST),
+               0, "request cleared");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_CLEAR_TPM_OWNER_DONE),
+               1, "done set");
+       TEST_EQ(mock_tpm_clear_called, 1, "tpm cleared");
+
+       /* Failed request */
+       reset_common_data();
+       mock_tpm_clear_retval = VB2_ERROR_EX_TPM_CLEAR_OWNER;
+       vb2_nv_set(ctx, VB2_NV_CLEAR_TPM_OWNER_REQUEST, 1);
+       TEST_EQ(vb2_check_tpm_clear(ctx),
+               VB2_ERROR_EX_TPM_CLEAR_OWNER, "clear failure");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_CLEAR_TPM_OWNER_REQUEST),
+               0, "request cleared");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_CLEAR_TPM_OWNER_DONE),
+               0, "done not set");
+}
+
+static void select_slot_tests(void)
+{
+       /* Slot A */
+       reset_common_data();
+       TEST_SUCC(vb2_select_fw_slot(ctx), "select slot A");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_RESULT),
+               VB2_FW_RESULT_UNKNOWN, "result unknown");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_CHOSE_SLOT, 0, "chose slot");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_TRIED), 0, "tried A");
+       TEST_EQ(sd->fw_slot, 0, "selected A");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_FW_SLOT_B, 0, "didn't choose B");
+
+       /* Slot B */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_TRY_NEXT, 1);
+       TEST_SUCC(vb2_select_fw_slot(ctx), "select slot B");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_RESULT),
+               VB2_FW_RESULT_UNKNOWN, "result unknown");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_CHOSE_SLOT, 0, "chose slot");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_TRIED), 1, "tried B");
+       TEST_EQ(sd->fw_slot, 1, "selected B");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_FW_SLOT_B, 0, "ctx says choose B");
+
+       /* Slot A ran out of tries */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_FW_RESULT, VB2_FW_RESULT_TRYING);
+       TEST_SUCC(vb2_select_fw_slot(ctx), "select slot A out of tries");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TRY_NEXT), 1, "try B next");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_CHOSE_SLOT, 0, "chose slot");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_TRIED), 1, "tried B");
+       TEST_EQ(sd->fw_slot, 1, "selected B");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_FW_SLOT_B, 0, "ctx says choose B");
+
+       /* Slot A ran out of tries, even with nofail active */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_NOFAIL_BOOT;
+       vb2_nv_set(ctx, VB2_NV_FW_RESULT, VB2_FW_RESULT_TRYING);
+       TEST_SUCC(vb2_select_fw_slot(ctx), "select slot A out of tries");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TRY_NEXT), 1, "try B next");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_CHOSE_SLOT, 0, "chose slot");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_TRIED), 1, "tried B");
+       TEST_EQ(sd->fw_slot, 1, "selected B");
+       TEST_NEQ(ctx->flags & VB2_CONTEXT_FW_SLOT_B, 0, "ctx says choose B");
+
+       /* Slot A used up a try */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_TRY_COUNT, 3);
+       TEST_SUCC(vb2_select_fw_slot(ctx), "try slot A");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_RESULT),
+               VB2_FW_RESULT_TRYING, "result trying");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_CHOSE_SLOT, 0, "chose slot");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_TRIED), 0, "tried A");
+       TEST_EQ(sd->fw_slot, 0, "selected A");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_FW_SLOT_B, 0, "didn't choose B");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TRY_COUNT), 2, "tries decremented");
+
+       /* Slot A failed, but nofail active */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_NOFAIL_BOOT;
+       vb2_nv_set(ctx, VB2_NV_TRY_COUNT, 3);
+       TEST_SUCC(vb2_select_fw_slot(ctx), "try slot A");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_RESULT),
+               VB2_FW_RESULT_TRYING, "result trying");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_CHOSE_SLOT, 0, "chose slot");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_TRIED), 0, "tried A");
+       TEST_EQ(sd->fw_slot, 0, "selected A");
+       TEST_EQ(ctx->flags & VB2_CONTEXT_FW_SLOT_B, 0, "didn't choose B");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TRY_COUNT), 3, "tries not decremented");
+
+       /* Tried/result get copied to the previous fields */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_FW_TRIED, 0);
+       vb2_nv_set(ctx, VB2_NV_FW_RESULT, VB2_FW_RESULT_SUCCESS);
+       vb2_select_fw_slot(ctx);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_PREV_TRIED), 0, "prev A");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_PREV_RESULT), VB2_FW_RESULT_SUCCESS,
+               "prev success");
+
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_FW_TRIED, 1);
+       vb2_nv_set(ctx, VB2_NV_FW_RESULT, VB2_FW_RESULT_FAILURE);
+       vb2_select_fw_slot(ctx);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_PREV_TRIED), 1, "prev B");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_PREV_RESULT), VB2_FW_RESULT_FAILURE,
+               "prev failure");
+}
+
+static void need_reboot_for_display_tests(void)
+{
+       /* Display not available, reboot required */
+       reset_common_data();
+       TEST_EQ(vb2api_need_reboot_for_display(ctx), 1,
+               "need_reboot_for_display: need reboot");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DISPLAY_REQUEST), 1,
+               "  set display request");
+
+       /* Display available, don't need reboot */
+       reset_common_data();
+       sd->flags |= VB2_SD_FLAG_DISPLAY_AVAILABLE;
+       TEST_EQ(vb2api_need_reboot_for_display(ctx), 0,
+               "need_reboot_for_display: don't need reboot");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DISPLAY_REQUEST), 0,
+               "  not set display request");
+}
+
+static void clear_recovery_tests(void)
+{
+
+       /* Manual recovery */
+       reset_common_data();
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       sd->recovery_reason = 4;
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, 5);
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_SUBCODE, 13);
+       vb2_clear_recovery(ctx);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               0, "  request cleared");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE),
+               0, "  subcode cleared");
+
+       /* Broken screen */
+       reset_common_data();
+       *boot_mode = VB2_BOOT_MODE_BROKEN_SCREEN;
+       sd->recovery_reason = 4;
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, 5);
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_SUBCODE, 13);
+       vb2_clear_recovery(ctx);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               0, "  request cleared");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_SUBCODE),
+               4, "  subcode shifted");
+}
+
+static void get_recovery_reason_tests(void)
+{
+       reset_common_data();
+       sd->recovery_reason = 4;
+       TEST_EQ(vb2api_get_recovery_reason(ctx), 4, "correct recovery reason");
+}
+
+static void phone_recovery_enabled_tests(void)
+{
+       /* Phone recovery enabled */
+       reset_common_data();
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       TEST_EQ(vb2api_phone_recovery_enabled(ctx), 1,
+               "phone recovery enabled");
+       TEST_EQ(vb2api_phone_recovery_ui_enabled(ctx), 1,
+               "  ui also enabled");
+
+       /* Phone recovery disabled */
+       reset_common_data();
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS,
+                              VB2_SECDATA_KERNEL_FLAG_PHONE_RECOVERY_DISABLED);
+       TEST_EQ(vb2api_phone_recovery_enabled(ctx), 0,
+               "phone recovery disabled");
+       TEST_EQ(vb2api_phone_recovery_ui_enabled(ctx), 0,
+               "  ui also disabled");
+
+       /* Only UI disabled */
+       reset_common_data();
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       vb2_secdata_kernel_set(
+               ctx, VB2_SECDATA_KERNEL_FLAGS,
+               VB2_SECDATA_KERNEL_FLAG_PHONE_RECOVERY_UI_DISABLED);
+       TEST_EQ(vb2api_phone_recovery_enabled(ctx), 1,
+               "phone recovery enabled again");
+       TEST_EQ(vb2api_phone_recovery_ui_enabled(ctx), 0,
+               "  ui disabled");
+}
+
+static void diagnostic_ui_enabled_tests(void)
+{
+       reset_common_data();
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       TEST_EQ(vb2api_diagnostic_ui_enabled(ctx), 1,
+               "diagnostic UI enabled");
+
+       reset_common_data();
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       vb2_secdata_kernel_set(
+               ctx, VB2_SECDATA_KERNEL_FLAGS,
+               VB2_SECDATA_KERNEL_FLAG_DIAGNOSTIC_UI_DISABLED);
+       TEST_EQ(vb2api_diagnostic_ui_enabled(ctx), 0,
+               "diagnostic UI disabled");
+}
+
+static void dev_default_boot_tests(void)
+{
+       /* No default boot */
+       reset_common_data();
+       TEST_EQ(vb2api_get_dev_default_boot_target(ctx),
+               VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL,
+               "no default boot, boot disk");
+
+       /* Set boot altfw by GBB */
+       reset_common_data();
+       gbb.flags |= VB2_GBB_FLAG_DEFAULT_DEV_BOOT_ALTFW;
+       vb2_nv_set(ctx, VB2_NV_DEV_DEFAULT_BOOT,
+                  VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL);
+       TEST_EQ(vb2api_get_dev_default_boot_target(ctx),
+               VB2_DEV_DEFAULT_BOOT_TARGET_ALTFW,
+               "GBB set default boot altfw");
+
+       /* Boot from internal disk */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_DEV_DEFAULT_BOOT,
+                  VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL);
+       TEST_EQ(vb2api_get_dev_default_boot_target(ctx),
+               VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL,
+               "set default boot internal disk");
+
+       /* Boot from external disk */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED;
+       vb2_nv_set(ctx, VB2_NV_DEV_DEFAULT_BOOT,
+                  VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL);
+       TEST_EQ(vb2api_get_dev_default_boot_target(ctx),
+               VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL,
+               "set default boot external disk");
+
+       /* Boot from external disk not allowed */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_DEV_DEFAULT_BOOT,
+                  VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL);
+       TEST_EQ(vb2api_get_dev_default_boot_target(ctx),
+               VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL,
+               "default boot external not allowed");
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED;
+       vb2_nv_set(ctx, VB2_NV_DEV_DEFAULT_BOOT,
+                  VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL);
+       TEST_EQ(vb2api_get_dev_default_boot_target(ctx),
+               VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL,
+               "default boot external not allowed");
+
+       /* Boot altfw */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED;
+       vb2_nv_set(ctx, VB2_NV_DEV_DEFAULT_BOOT,
+                  VB2_DEV_DEFAULT_BOOT_TARGET_ALTFW);
+       TEST_EQ(vb2api_get_dev_default_boot_target(ctx),
+               VB2_DEV_DEFAULT_BOOT_TARGET_ALTFW,
+               "set default boot altfw");
+
+       /* Boot altfw not allowed */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_DEV_DEFAULT_BOOT,
+                  VB2_DEV_DEFAULT_BOOT_TARGET_ALTFW);
+       TEST_EQ(vb2api_get_dev_default_boot_target(ctx),
+               VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL,
+               "default boot altfw not allowed");
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED;
+       vb2_nv_set(ctx, VB2_NV_DEV_DEFAULT_BOOT,
+                  VB2_DEV_DEFAULT_BOOT_TARGET_ALTFW);
+       TEST_EQ(vb2api_get_dev_default_boot_target(ctx),
+               VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL,
+               "default boot altfw not allowed");
+}
+
+static void fill_dev_boot_flags_tests(void)
+{
+       /* Dev boot - allowed by default */
+       reset_common_data();
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_TRUE(ctx->flags & VB2_CONTEXT_DEV_BOOT_ALLOWED,
+                 "dev boot - allowed by default");
+
+       /* Dev boot - disabled by FWMP */
+       reset_common_data();
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_DISABLE_BOOT;
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_FALSE(ctx->flags & VB2_CONTEXT_DEV_BOOT_ALLOWED,
+                  "dev boot - FWMP disabled");
+
+       /* Dev boot - force enabled by GBB */
+       reset_common_data();
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_DISABLE_BOOT;
+       gbb.flags |= VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON;
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_TRUE(ctx->flags & VB2_CONTEXT_DEV_BOOT_ALLOWED,
+                 "dev boot - GBB force dev on");
+
+       /* External boot - not allowed by default */
+       reset_common_data();
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_FALSE(ctx->flags & VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED,
+                  "dev boot external - not allowed by default");
+
+       /* External boot - enabled by nvdata */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_DEV_BOOT_EXTERNAL, 1);
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_TRUE(ctx->flags & VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED,
+                 "dev boot external - nvdata enabled");
+
+       /* External boot - enabled by FWMP */
+       reset_common_data();
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_ENABLE_EXTERNAL;
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_TRUE(ctx->flags & VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED,
+                 "dev boot external - secdata enabled");
+
+       /* External boot - force enabled by GBB */
+       reset_common_data();
+       gbb.flags |= VB2_GBB_FLAG_FORCE_DEV_BOOT_USB;
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_TRUE(ctx->flags & VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED,
+                 "dev boot external - GBB force enabled");
+
+       /* External boot - set all flags */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_DEV_BOOT_EXTERNAL, 1);
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_ENABLE_EXTERNAL;
+       gbb.flags |= VB2_GBB_FLAG_FORCE_DEV_BOOT_USB;
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_TRUE(ctx->flags & VB2_CONTEXT_DEV_BOOT_EXTERNAL_ALLOWED,
+                 "dev boot external - all flags set");
+
+       /* Alternate boot - not allowed by default */
+       reset_common_data();
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_FALSE(ctx->flags & VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED,
+                  "dev boot altfw - not allowed by default");
+
+       /* Alternate boot - enabled by nvdata */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_DEV_BOOT_ALTFW, 1);
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_TRUE(ctx->flags & VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED,
+                 "dev boot altfw - nvdata enabled");
+
+       /* Alternate boot - enabled by FWMP */
+       reset_common_data();
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_ENABLE_ALTFW;
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_TRUE(ctx->flags & VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED,
+                 "dev boot altfw - secdata enabled");
+
+       /* Alternate boot - force enabled by GBB */
+       reset_common_data();
+       gbb.flags |= VB2_GBB_FLAG_FORCE_DEV_BOOT_ALTFW;
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_TRUE(ctx->flags & VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED,
+                 "dev boot altfw - GBB force enabled");
+
+       /* Alternate boot - set all flags */
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_DEV_BOOT_ALTFW, 1);
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_ENABLE_ALTFW;
+       gbb.flags |= VB2_GBB_FLAG_FORCE_DEV_BOOT_ALTFW;
+       vb2_fill_dev_boot_flags(ctx);
+       TEST_TRUE(ctx->flags & VB2_CONTEXT_DEV_BOOT_ALTFW_ALLOWED,
+                 "dev boot altfw - all flags set");
+}
+
+static void use_dev_screen_short_delay_tests(void)
+{
+       /* Normal delay */
+       reset_common_data();
+       TEST_EQ(vb2api_use_short_dev_screen_delay(ctx), 0,
+               "short delay: no");
+
+       /* Short delay */
+       gbb.flags |= VB2_GBB_FLAG_DEV_SCREEN_SHORT_DELAY;
+       TEST_EQ(vb2api_use_short_dev_screen_delay(ctx), 1,
+               "short delay: yes");
+}
+
+int main(int argc, char* argv[])
+{
+       init_workbuf_tests();
+       misc_tests();
+       gbb_tests();
+       fail_tests();
+       recovery_tests();
+       dev_switch_tests();
+       enable_dev_tests();
+       tpm_clear_tests();
+       select_slot_tests();
+       need_reboot_for_display_tests();
+       clear_recovery_tests();
+       get_recovery_reason_tests();
+       phone_recovery_enabled_tests();
+       diagnostic_ui_enabled_tests();
+       dev_default_boot_tests();
+       fill_dev_boot_flags_tests();
+       use_dev_screen_short_delay_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_nvstorage_tests.c b/tests/vb2_nvstorage_tests.c
new file mode 100644 (file)
index 0000000..94bcfca
--- /dev/null
@@ -0,0 +1,277 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for firmware NV storage library.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage_fields.h"
+#include "2nvstorage.h"
+#include "2sysincludes.h"
+#include "test_common.h"
+
+/* Single NV storage field to test */
+struct nv_field {
+       enum vb2_nv_param param;  /* Parameter index */
+       uint32_t default_value;   /* Expected default value */
+       uint32_t test_value;      /* Value to test writing */
+       uint32_t test_value2;     /* Second value to test writing */
+       const char *desc;         /* Field description */
+};
+
+/* Array of fields to test, terminated with a field with desc==NULL. */
+static struct nv_field nvfields[] = {
+       {VB2_NV_DEBUG_RESET_MODE, 0, 1, 0, "debug reset mode"},
+       {VB2_NV_TRY_NEXT, 0, 1, 0, "try next"},
+       {VB2_NV_TRY_COUNT, 0, 6, 15, "try B count"},
+       {VB2_NV_FW_TRIED, 0, 1, 0, "firmware tried"},
+       {VB2_NV_FW_RESULT, 0, 1, 2, "firmware result"},
+       {VB2_NV_FW_PREV_TRIED, 0, 1, 0, "firmware prev tried"},
+       {VB2_NV_FW_PREV_RESULT, 0, 1, 3, "firmware prev result"},
+       {VB2_NV_RECOVERY_REQUEST, 0, 0x42, 0xED, "recovery request"},
+       {VB2_NV_RECOVERY_SUBCODE, 0, 0x56, 0xAC, "recovery subcode"},
+       {VB2_NV_LOCALIZATION_INDEX, 0, 0x69, 0xB0, "localization index"},
+       {VB2_NV_KERNEL_FIELD, 0, 0x1234, 0xFEDC, "kernel field"},
+       {VB2_NV_DEV_BOOT_EXTERNAL, 0, 1, 0, "dev boot usb"},
+       {VB2_NV_DEV_BOOT_ALTFW, 0, 1, 0, "dev boot altfw"},
+       {VB2_NV_DEV_BOOT_SIGNED_ONLY, 0, 1, 0, "dev boot custom"},
+       {VB2_NV_DEV_DEFAULT_BOOT, 0, 1, 2, "dev default boot"},
+       {VB2_NV_DIAG_REQUEST, 0, 1, 0, "diagnostic rom request"},
+       {VB2_NV_DISABLE_DEV_REQUEST, 0, 1, 0, "disable dev request"},
+       {VB2_NV_CLEAR_TPM_OWNER_REQUEST, 0, 1, 0, "clear tpm owner request"},
+       {VB2_NV_CLEAR_TPM_OWNER_DONE, 0, 1, 0, "clear tpm owner done"},
+       {VB2_NV_TPM_REQUESTED_REBOOT, 0, 1, 0, "tpm requested reboot"},
+       {VB2_NV_REQ_WIPEOUT, 0, 1, 0, "request wipeout"},
+       {VB2_NV_DISPLAY_REQUEST, 0, 1, 0, "oprom needed"},
+       {VB2_NV_BACKUP_NVRAM_REQUEST, 0, 1, 0, "backup nvram request"},
+       {VB2_NV_BOOT_ON_AC_DETECT, 0, 1, 0, "boot on ac detect"},
+       {VB2_NV_TRY_RO_SYNC, 0, 1, 0, "try read only software sync"},
+       {VB2_NV_BATTERY_CUTOFF_REQUEST, 0, 1, 0, "battery cutoff request"},
+       {VB2_NV_KERNEL_MAX_ROLLFORWARD, 0, 0x12345678, 0xFEDCBA98,
+        "kernel max rollforward"},
+       {VB2_NV_POST_EC_SYNC_DELAY, 0, 1, 0, "enable post-ec sync delay"},
+       {0, 0, 0, 0, NULL}
+};
+
+/* Fields added in v2.  The test_value field is the default returned for V1. */
+static struct nv_field nv2fields[] = {
+       {VB2_NV_FW_MAX_ROLLFORWARD, 0, VB2_FW_MAX_ROLLFORWARD_V1_DEFAULT,
+        0x87654321, "firmware max rollforward"},
+       {0, 0, 0, 0, NULL}
+};
+
+static void test_changed(struct vb2_context *c, int changed, const char *why)
+{
+       if (changed)
+               TEST_NEQ(c->flags & VB2_CONTEXT_NVDATA_CHANGED, 0, why);
+       else
+               TEST_EQ(c->flags & VB2_CONTEXT_NVDATA_CHANGED, 0, why);
+};
+
+static void nv_storage_test(uint32_t ctxflags)
+{
+       struct nv_field *vnf;
+       uint8_t goodcrc;
+       uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+               __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_context *ctx;
+
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+       ctx->flags = ctxflags;
+
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+
+       /* Things that change between V1 and V2 */
+       int expect_header = 0x30 | (ctxflags ? VB2_NV_HEADER_SIGNATURE_V2 :
+                                   VB2_NV_HEADER_SIGNATURE_V1);
+       int crc_offs = ctxflags ? VB2_NV_OFFS_CRC_V2 : VB2_NV_OFFS_CRC_V1;
+
+       TEST_EQ(vb2_nv_get_size(ctx), ctxflags ? VB2_NVDATA_SIZE_V2 :
+                               VB2_NVDATA_SIZE, "vb2_nv_get_size()");
+
+       memset(ctx->nvdata, 0xA6, sizeof(ctx->nvdata));
+
+       /* Init with invalid data should set defaults and regenerate CRC */
+       vb2_nv_init(ctx);
+       TEST_EQ(ctx->nvdata[VB2_NV_OFFS_HEADER], expect_header,
+               "vb2_nv_init() reset header byte");
+       TEST_NEQ(ctx->nvdata[crc_offs], 0, "vb2_nv_init() CRC");
+       TEST_EQ(sd->status, VB2_SD_STATUS_NV_INIT | VB2_SD_STATUS_NV_REINIT,
+               "vb2_nv_init() status changed");
+       test_changed(ctx, 1, "vb2_nv_init() reset changed");
+       goodcrc = ctx->nvdata[crc_offs];
+       TEST_SUCC(vb2_nv_check_crc(ctx), "vb2_nv_check_crc() good");
+
+       /* Another init should not cause further changes */
+       ctx->flags = ctxflags;
+       sd->status = 0;
+       vb2_nv_init(ctx);
+       test_changed(ctx, 0, "vb2_nv_init() didn't re-reset");
+       TEST_EQ(ctx->nvdata[crc_offs], goodcrc,
+               "vb2_nv_init() CRC same");
+       TEST_EQ(sd->status, VB2_SD_STATUS_NV_INIT,
+               "vb2_nv_init() status same");
+
+       /* Perturbing signature bits in the header should force defaults */
+       ctx->nvdata[VB2_NV_OFFS_HEADER] ^= 0x40;
+       TEST_EQ(vb2_nv_check_crc(ctx),
+               VB2_ERROR_NV_HEADER, "vb2_nv_check_crc() bad header");
+       vb2_nv_init(ctx);
+       TEST_EQ(ctx->nvdata[VB2_NV_OFFS_HEADER], expect_header,
+               "vb2_nv_init() reset header byte again");
+       test_changed(ctx, 1, "vb2_nv_init() corrupt changed");
+       TEST_EQ(ctx->nvdata[crc_offs], goodcrc,
+               "vb2_nv_init() CRC same again");
+
+       /* So should perturbing some other byte */
+       TEST_EQ(ctx->nvdata[VB2_NV_OFFS_KERNEL1], 0, "Kernel byte starts at 0");
+       ctx->nvdata[VB2_NV_OFFS_KERNEL1] = 12;
+       TEST_EQ(vb2_nv_check_crc(ctx),
+               VB2_ERROR_NV_CRC, "vb2_nv_check_crc() bad CRC");
+       vb2_nv_init(ctx);
+       TEST_EQ(ctx->nvdata[VB2_NV_OFFS_KERNEL1], 0,
+               "vb2_nv_init() reset kernel byte");
+       test_changed(ctx, 1, "vb2_nv_init() corrupt elsewhere changed");
+       TEST_EQ(ctx->nvdata[crc_offs], goodcrc,
+               "vb2_nv_init() CRC same again");
+
+       /* Clear the kernel and firmware flags */
+       vb2_nv_init(ctx);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FIRMWARE_SETTINGS_RESET),
+               1, "Firmware settings are reset");
+       vb2_nv_set(ctx, VB2_NV_FIRMWARE_SETTINGS_RESET, 0);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FIRMWARE_SETTINGS_RESET),
+               0, "Firmware settings are clear");
+
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_KERNEL_SETTINGS_RESET),
+               1, "Kernel settings are reset");
+       vb2_nv_set(ctx, VB2_NV_KERNEL_SETTINGS_RESET, 0);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_KERNEL_SETTINGS_RESET),
+               0, "Kernel settings are clear");
+
+       TEST_EQ(ctx->nvdata[VB2_NV_OFFS_HEADER],
+               expect_header & VB2_NV_HEADER_SIGNATURE_MASK,
+               "Header byte now just has the signature");
+       /* That should have changed the CRC */
+       TEST_NEQ(ctx->nvdata[crc_offs], goodcrc,
+                "vb2_nv_init() CRC changed due to flags clear");
+
+       /* Test explicitly setting the reset flags again */
+       vb2_nv_init(ctx);
+       vb2_nv_set(ctx, VB2_NV_FIRMWARE_SETTINGS_RESET, 1);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FIRMWARE_SETTINGS_RESET),
+               1, "Firmware settings forced reset");
+       vb2_nv_set(ctx, VB2_NV_FIRMWARE_SETTINGS_RESET, 0);
+
+       vb2_nv_set(ctx, VB2_NV_KERNEL_SETTINGS_RESET, 1);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_KERNEL_SETTINGS_RESET),
+               1, "Kernel settings forced reset");
+       vb2_nv_set(ctx, VB2_NV_KERNEL_SETTINGS_RESET, 0);
+
+       /* Get/set an invalid field */
+       vb2_nv_init(ctx);
+       vb2_nv_set(ctx, -1, 1);
+       TEST_EQ(vb2_nv_get(ctx, -1), 0, "Get invalid setting");
+
+       /* Test other fields */
+       vb2_nv_init(ctx);
+       for (vnf = nvfields; vnf->desc; vnf++) {
+               TEST_EQ(vb2_nv_get(ctx, vnf->param), vnf->default_value,
+                       vnf->desc);
+               vb2_nv_set(ctx, vnf->param, vnf->test_value);
+               TEST_EQ(vb2_nv_get(ctx, vnf->param), vnf->test_value, vnf->desc);
+               vb2_nv_set(ctx, vnf->param, vnf->test_value2);
+               TEST_EQ(vb2_nv_get(ctx, vnf->param), vnf->test_value2,
+                       vnf->desc);
+       }
+
+       for (vnf = nv2fields; vnf->desc; vnf++) {
+               if (ctxflags) {
+                       TEST_EQ(vb2_nv_get(ctx, vnf->param), vnf->default_value,
+                               vnf->desc);
+                       vb2_nv_set(ctx, vnf->param, vnf->test_value);
+                       TEST_EQ(vb2_nv_get(ctx, vnf->param), vnf->test_value,
+                               vnf->desc);
+                       vb2_nv_set(ctx, vnf->param, vnf->test_value2);
+                       TEST_EQ(vb2_nv_get(ctx, vnf->param), vnf->test_value2,
+                               vnf->desc);
+               } else {
+                       /*
+                        * V2 fields always return defaults and can't be set if
+                        * a V1 struct is present.
+                        */
+                       TEST_EQ(vb2_nv_get(ctx, vnf->param), vnf->test_value,
+                               vnf->desc);
+                       vb2_nv_set(ctx, vnf->param, vnf->test_value2);
+                       TEST_EQ(vb2_nv_get(ctx, vnf->param), vnf->test_value,
+                               vnf->desc);
+               }
+       }
+
+       /* None of those changes should have caused a reset to defaults */
+       vb2_nv_init(ctx);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FIRMWARE_SETTINGS_RESET),
+               0, "Firmware settings are still clear");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_KERNEL_SETTINGS_RESET),
+               0, "Kernel settings are still clear");
+
+       /* Writing identical settings doesn't cause the CRC to regenerate */
+       ctx->flags = ctxflags;
+       vb2_nv_init(ctx);
+       test_changed(ctx, 0, "No regen CRC on open");
+       for (vnf = nvfields; vnf->desc; vnf++)
+               vb2_nv_set(ctx, vnf->param, vnf->test_value2);
+       test_changed(ctx, 0, "No regen CRC if data not changed");
+       /*
+        * If struct is V2, this is the same test.  If struct is V1, this
+        * verifies that the field couldn't be changed anyway.
+        */
+       for (vnf = nv2fields; vnf->desc; vnf++)
+               vb2_nv_set(ctx, vnf->param, vnf->test_value2);
+       test_changed(ctx, 0, "No regen CRC if V2 data not changed");
+
+       /* Test out-of-range fields mapping to defaults or failing */
+       vb2_nv_init(ctx);
+       vb2_nv_set(ctx, VB2_NV_TRY_COUNT, 16);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_TRY_COUNT),
+               15, "Try b count out of range");
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, 0x101);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               VB2_RECOVERY_LEGACY, "Recovery request out of range");
+       vb2_nv_set(ctx, VB2_NV_LOCALIZATION_INDEX, 0x102);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_LOCALIZATION_INDEX),
+               0, "Localization index out of range");
+
+       vb2_nv_set(ctx, VB2_NV_FW_RESULT, 100);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_RESULT),
+               VB2_FW_RESULT_UNKNOWN, "Firmware result out of range");
+
+       vb2_nv_set(ctx, VB2_NV_FW_PREV_RESULT, 100);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_FW_PREV_RESULT),
+               VB2_FW_RESULT_UNKNOWN, "Fw prev result out of range");
+
+       vb2_nv_set(ctx, VB2_NV_DEV_DEFAULT_BOOT,
+                  VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL + 100);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DEV_DEFAULT_BOOT),
+               VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL,
+               "default to booting from disk");
+}
+
+int main(int argc, char* argv[])
+{
+       printf("Testing V1\n");
+       nv_storage_test(0);
+       printf("Testing V2\n");
+       nv_storage_test(VB2_CONTEXT_NVDATA_V2);
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_preamble_fuzzer.c b/tests/vb2_preamble_fuzzer.c
new file mode 100644 (file)
index 0000000..186ee9f
--- /dev/null
@@ -0,0 +1,90 @@
+// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2rsa.h"
+#include "2rsa_private.h"
+#include "2secdata.h"
+#include "vboot_test.h"
+
+static struct vb2_context *ctx;
+static uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+
+static const uint8_t *mock_preamble;
+static size_t mock_preamble_size;
+
+/* Limit exposure of code for which we didn't set up the environment right. */
+void vb2api_fail(struct vb2_context *c, uint8_t reason, uint8_t subcode)
+{
+       return;
+}
+
+vb2_error_t vb2ex_read_resource(struct vb2_context *c,
+                               enum vb2_resource_index index, uint32_t offset,
+                               void *buf, uint32_t size)
+{
+       if (index != VB2_RES_FW_VBLOCK)
+               return VB2_ERROR_EX_READ_RESOURCE_INDEX;
+
+       /* The preamble_offset in our mock shared data is 0, so we can assume
+          that offset here is a direct offset into the preamble. */
+       if (offset > mock_preamble_size || mock_preamble_size - offset < size)
+               return VB2_ERROR_EX_READ_RESOURCE_SIZE;
+
+       memcpy(buf, mock_preamble + offset, size);
+       return VB2_SUCCESS;
+}
+
+/* Pretend that signature checks always succeed so the fuzzer can cover more. */
+vb2_error_t vb2_check_padding(const uint8_t *sig,
+                             const struct vb2_public_key *key)
+{
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_safe_memcmp(const void *s1, const void *s2, size_t size)
+{
+       return VB2_SUCCESS;
+}
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+       const size_t datakey_size = 4096;       // enough for all our signatures
+
+       if (size < datakey_size)
+               return 0;
+
+       if (vb2api_init(workbuf, sizeof(workbuf), &ctx))
+               abort();
+       vb2_nv_init(ctx);
+       vb2api_secdata_firmware_create(ctx);
+       vb2api_secdata_kernel_create(ctx);
+       if (vb2_secdata_firmware_init(ctx) || vb2_secdata_kernel_init(ctx))
+               abort();
+
+       struct vb2_workbuf wb;
+       vb2_workbuf_from_ctx(ctx, &wb);
+
+       uint8_t *key = vb2_workbuf_alloc(&wb, datakey_size);
+       if (!key)
+               abort();
+       memcpy(key, data, datakey_size);
+
+       mock_preamble = data + datakey_size;
+       mock_preamble_size = size - datakey_size;
+
+       struct vb2_shared_data *sd = vb2_get_sd(ctx);
+       sd->data_key_offset = vb2_offset_of(sd, key);
+       sd->data_key_size = datakey_size;
+       vb2_set_workbuf_used(ctx, sd->data_key_offset + sd->data_key_size);
+
+       sd->vblock_preamble_offset = 0;
+       vb2_load_fw_preamble(ctx);
+
+       return 0;
+}
diff --git a/tests/vb2_recovery_reasons_tests.c b/tests/vb2_recovery_reasons_tests.c
new file mode 100644 (file)
index 0000000..5def4d2
--- /dev/null
@@ -0,0 +1,31 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for recovery reasons.
+ */
+
+#include "2recovery_reasons.h"
+#include "test_common.h"
+
+static void get_recovery_reason_string_tests(void)
+{
+       int i;
+
+       /* Recovery string should be non-null for any code */
+       for (i = 0; i < 0x100; i++)
+               TEST_PTR_NEQ(vb2_get_recovery_reason_string(i), NULL,
+                            "Non-null reason");
+
+       /* Validity check on one of the strings */
+       TEST_EQ(strcmp(vb2_get_recovery_reason_string(VB2_RECOVERY_GBB_HEADER),
+                      "Error parsing GBB header"), 0,
+               "Recovery reason validity check");
+}
+
+int main(void)
+{
+       get_recovery_reason_string_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_rsa_tests.sh b/tests/vb2_rsa_tests.sh
new file mode 100755 (executable)
index 0000000..903d38d
--- /dev/null
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Run tests for RSA Signature verification.
+
+# Load common constants and variables.
+. "$(dirname "$0")/common.sh"
+
+set -e
+
+return_code=0
+TEST_FILE=${TESTCASE_DIR}/test_file
+
+function test_signatures {
+  algorithmcounter=0
+  for keylen in ${key_lengths[@]}
+  do
+    for hashalgo in ${hash_algos[@]}
+    do
+      echo -e "For ${COL_YELLOW}RSA-$keylen and $hashalgo${COL_STOP}:"
+      ${BIN_DIR}/verify_data $algorithmcounter \
+        ${TESTKEY_DIR}/key_rsa${keylen}.keyb \
+        ${TEST_FILE}.rsa${keylen}_${hashalgo}.sig \
+        ${TEST_FILE}
+      if [ $? -ne 0 ]
+      then
+        return_code=255
+      fi
+      let algorithmcounter=algorithmcounter+1
+    done
+  done
+  echo -e "Peforming ${COL_YELLOW}PKCS #1 v1.5 Padding Tests${COL_STOP}..."
+  ${TEST_DIR}/vb20_rsa_padding_tests ${TESTKEY_DIR}/rsa_padding_test_pubkey.keyb
+}
+
+check_test_keys
+echo "Testing signature verification..."
+test_signatures
+
+exit $return_code
+
diff --git a/tests/vb2_rsa_utility_tests.c b/tests/vb2_rsa_utility_tests.c
new file mode 100644 (file)
index 0000000..4ad5a95
--- /dev/null
@@ -0,0 +1,120 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2rsa_private.h"
+#include "2sysincludes.h"
+#include "file_keys.h"
+#include "rsa_padding_test.h"
+#include "test_common.h"
+#include "vboot_api.h"
+#include "vboot_test.h"
+
+/**
+ * Test RSA utility funcs
+ */
+static void test_utils(void)
+{
+       uint8_t sig[RSA1024NUMBYTES];
+       struct vb2_public_key kbad = {.sig_alg = VB2_SIG_INVALID,
+                                     .hash_alg = VB2_HASH_INVALID};
+
+       /* Verify old and new algorithm count constants match */
+       TEST_EQ(VB2_ALG_COUNT, VB2_ALG_COUNT, "Algorithm counts");
+
+       /* Crypto algorithm to sig algorithm mapping */
+       TEST_EQ(vb2_crypto_to_signature(VB2_ALG_RSA1024_SHA1),
+               VB2_SIG_RSA1024, "Crypto map to RSA1024");
+       TEST_EQ(vb2_crypto_to_signature(VB2_ALG_RSA2048_SHA256),
+               VB2_SIG_RSA2048, "Crypto map to RSA2048");
+       TEST_EQ(vb2_crypto_to_signature(VB2_ALG_RSA4096_SHA256),
+               VB2_SIG_RSA4096, "Crypto map to RSA4096");
+       TEST_EQ(vb2_crypto_to_signature(VB2_ALG_RSA8192_SHA512),
+               VB2_SIG_RSA8192, "Crypto map to RSA8192");
+       TEST_EQ(vb2_crypto_to_signature(VB2_ALG_COUNT),
+               VB2_SIG_INVALID, "Crypto map to invalid");
+
+       /* Sig size */
+       TEST_EQ(vb2_rsa_sig_size(VB2_SIG_RSA1024), RSA1024NUMBYTES,
+               "Sig size RSA1024");
+       TEST_EQ(vb2_rsa_sig_size(VB2_SIG_RSA2048), RSA2048NUMBYTES,
+               "Sig size RSA2048");
+       TEST_EQ(vb2_rsa_sig_size(VB2_SIG_RSA4096), RSA4096NUMBYTES,
+               "Sig size RSA4096");
+       TEST_EQ(vb2_rsa_sig_size(VB2_SIG_RSA8192), RSA8192NUMBYTES,
+               "Sig size RSA8192");
+       TEST_EQ(vb2_rsa_sig_size(VB2_SIG_RSA2048_EXP3), RSA2048NUMBYTES,
+               "Sig size RSA2048_EXP3");
+       TEST_EQ(vb2_rsa_sig_size(VB2_SIG_RSA3072_EXP3), RSA3072NUMBYTES,
+               "Sig size RSA3072_EXP3");
+       TEST_EQ(vb2_rsa_sig_size(VB2_SIG_INVALID), 0,
+               "Sig size invalid algorithm");
+       TEST_EQ(vb2_rsa_sig_size(VB2_SIG_NONE), 0,
+               "Sig size no signing algorithm");
+
+       /* Packed key size */
+       TEST_EQ(vb2_packed_key_size(VB2_SIG_RSA1024),
+               RSA1024NUMBYTES * 2 + sizeof(uint32_t) * 2,
+               "Packed key size VB2_SIG_RSA1024");
+       TEST_EQ(vb2_packed_key_size(VB2_SIG_RSA2048),
+               RSA2048NUMBYTES * 2 + sizeof(uint32_t) * 2,
+               "Packed key size VB2_SIG_RSA2048");
+       TEST_EQ(vb2_packed_key_size(VB2_SIG_RSA4096),
+               RSA4096NUMBYTES * 2 + sizeof(uint32_t) * 2,
+               "Packed key size VB2_SIG_RSA4096");
+       TEST_EQ(vb2_packed_key_size(VB2_SIG_RSA8192),
+               RSA8192NUMBYTES * 2 + sizeof(uint32_t) * 2,
+               "Packed key size VB2_SIG_RSA8192");
+       TEST_EQ(vb2_packed_key_size(VB2_SIG_RSA2048_EXP3),
+               RSA2048NUMBYTES * 2 + sizeof(uint32_t) * 2,
+               "Packed key size VB2_SIG_RSA2048_EXP3");
+       TEST_EQ(vb2_packed_key_size(VB2_SIG_RSA3072_EXP3),
+               RSA3072NUMBYTES * 2 + sizeof(uint32_t) * 2,
+               "Packed key size VB2_SIG_RSA3072_EXP3");
+       TEST_EQ(vb2_packed_key_size(VB2_SIG_INVALID), 0,
+               "Packed key size invalid algorithm");
+       TEST_EQ(vb2_packed_key_size(VB2_SIG_NONE), 0,
+               "Packed key size no signing algorithm");
+
+       /* Test padding check with bad algorithm */
+       memcpy(sig, signatures[0], sizeof(sig));
+       TEST_EQ(vb2_check_padding(sig, &kbad),
+               VB2_ERROR_RSA_PADDING_SIZE,
+               "vb2_check_padding() bad padding algorithm/size");
+
+       /* Test safe memcmp */
+       TEST_EQ(vb2_safe_memcmp("foo", "foo", 3), 0, "vb2_safe_memcmp() good");
+       TEST_NEQ(vb2_safe_memcmp("foo", "bar", 3), 0, "vb2_safe_memcmp() bad");
+       TEST_EQ(vb2_safe_memcmp("foo", "bar", 0), 0, "vb2_safe_memcmp() zero");
+
+       /* Test Montgomery >= */
+       {
+               uint32_t n[4] = {4, 4, 4, 4};
+               uint32_t a[4] = {4, 4, 4, 4};
+               struct vb2_public_key k = {
+                       .arrsize = 4,
+                       .n = n,
+               };
+               TEST_EQ(vb2_mont_ge(&k, a), 1, "mont_ge equal");
+
+               a[2] = 3;
+               TEST_EQ(vb2_mont_ge(&k, a), 0, "mont_ge less");
+
+               a[1] = 5;
+               TEST_EQ(vb2_mont_ge(&k, a), 0, "mont_ge greater");
+       }
+}
+
+int main(int argc, char* argv[])
+{
+       /* Run tests */
+       test_utils();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_secdata_firmware_tests.c b/tests/vb2_secdata_firmware_tests.c
new file mode 100644 (file)
index 0000000..c1b0a73
--- /dev/null
@@ -0,0 +1,168 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for firmware secure storage library.
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2crc8.h"
+#include "2misc.h"
+#include "2secdata.h"
+#include "2secdata_struct.h"
+#include "2sysincludes.h"
+#include "test_common.h"
+
+static uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+static struct vb2_secdata_firmware *sec;
+
+static void reset_common_data(void)
+{
+       memset(workbuf, 0xaa, sizeof(workbuf));
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+
+       sd = vb2_get_sd(ctx);
+
+       /* Most tests assume we have passed fw_phase1() */
+       sd->status |= VB2_SD_STATUS_RECOVERY_DECIDED;
+
+       sec = (struct vb2_secdata_firmware *)ctx->secdata_firmware;
+}
+
+static void test_changed(struct vb2_context *c, int changed, const char *why)
+{
+       if (changed)
+               TEST_NEQ(c->flags & VB2_CONTEXT_SECDATA_FIRMWARE_CHANGED,
+                        0, why);
+       else
+               TEST_EQ(c->flags & VB2_CONTEXT_SECDATA_FIRMWARE_CHANGED,
+                       0, why);
+
+       c->flags &= ~VB2_CONTEXT_SECDATA_FIRMWARE_CHANGED;
+};
+
+static void secdata_firmware_test(void)
+{
+       uint32_t v = 1;
+       reset_common_data();
+
+       /* Check size constant */
+       TEST_EQ(VB2_SECDATA_FIRMWARE_SIZE, sizeof(struct vb2_secdata_firmware),
+               "Struct size constant");
+
+       /* Blank data is invalid */
+       memset(&ctx->secdata_firmware, 0xa6, sizeof(ctx->secdata_firmware));
+       TEST_EQ(vb2api_secdata_firmware_check(ctx),
+               VB2_ERROR_SECDATA_FIRMWARE_CRC, "Check blank CRC");
+       TEST_EQ(vb2_secdata_firmware_init(ctx),
+               VB2_ERROR_SECDATA_FIRMWARE_CRC, "Init blank CRC");
+
+       /* Ensure zeroed buffers are invalid (coreboot relies on this) */
+       memset(&ctx->secdata_firmware, 0, sizeof(ctx->secdata_firmware));
+       TEST_EQ(vb2_secdata_firmware_init(ctx),
+               VB2_ERROR_SECDATA_FIRMWARE_VERSION,
+               "Zeroed buffer (invalid version)");
+
+       /* Try with bad version */
+       TEST_EQ(vb2api_secdata_firmware_create(ctx), VB2_SECDATA_FIRMWARE_SIZE,
+               "Create");
+       sec->struct_version -= 1;
+       sec->crc8 = vb2_crc8(sec, offsetof(struct vb2_secdata_firmware, crc8));
+       TEST_EQ(vb2api_secdata_firmware_check(ctx),
+               VB2_ERROR_SECDATA_FIRMWARE_VERSION, "Check invalid version");
+       TEST_EQ(vb2_secdata_firmware_init(ctx),
+               VB2_ERROR_SECDATA_FIRMWARE_VERSION, "Init invalid version");
+
+       /* Create good data */
+       vb2api_secdata_firmware_create(ctx);
+       TEST_SUCC(vb2api_secdata_firmware_check(ctx), "Check created CRC");
+       TEST_SUCC(vb2_secdata_firmware_init(ctx), "Init created CRC");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_SECDATA_FIRMWARE_INIT, 0,
+                "Init set SD status");
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FIRMWARE_INIT;
+       test_changed(ctx, 1, "Create changes data");
+
+       /* Now corrupt it */
+       ctx->secdata_firmware[2]++;
+       TEST_EQ(vb2api_secdata_firmware_check(ctx),
+               VB2_ERROR_SECDATA_FIRMWARE_CRC, "Check invalid CRC");
+       TEST_EQ(vb2_secdata_firmware_init(ctx),
+               VB2_ERROR_SECDATA_FIRMWARE_CRC, "Init invalid CRC");
+
+       /* Read/write flags */
+       vb2api_secdata_firmware_create(ctx);
+       vb2_secdata_firmware_init(ctx);
+       ctx->flags = 0;
+       v = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS);
+       TEST_EQ(v, 0, "Flags created 0");
+       test_changed(ctx, 0, "Get doesn't change data");
+       vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_FLAGS, 0x12);
+       test_changed(ctx, 1, "Set changes data");
+       vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_FLAGS, 0x12);
+       test_changed(ctx, 0, "Set again doesn't change data");
+       v = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_FLAGS);
+       TEST_EQ(v, 0x12, "Flags changed");
+       TEST_ABORT(vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_FLAGS,
+                                           0x100),
+                  "Bad flags");
+
+       /* Read/write versions */
+       v = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_VERSIONS);
+       TEST_EQ(v, 0, "Versions created 0");
+       test_changed(ctx, 0, "Get doesn't change data");
+       vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_VERSIONS,
+                                0x123456ff);
+       test_changed(ctx, 1, "Set changes data");
+       vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_VERSIONS,
+                                0x123456ff);
+       test_changed(ctx, 0, "Set again doesn't change data");
+       v = vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_VERSIONS);
+       TEST_EQ(v, 0x123456ff, "Versions changed");
+
+       /* Invalid field fails */
+       TEST_ABORT(vb2_secdata_firmware_get(ctx, -1), "Get invalid");
+       TEST_ABORT(vb2_secdata_firmware_set(ctx, -1, 456), "Set invalid");
+       test_changed(ctx, 0, "Set invalid field doesn't change data");
+
+       /* Read/write uninitialized data fails */
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FIRMWARE_INIT;
+       TEST_ABORT(vb2_secdata_firmware_get(ctx,
+                                           VB2_SECDATA_FIRMWARE_VERSIONS),
+                  "Get uninitialized");
+       test_changed(ctx, 0, "Get uninitialized doesn't change data");
+       TEST_ABORT(vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_VERSIONS,
+                                           0x123456ff),
+                  "Set uninitialized");
+       test_changed(ctx, 0, "Set uninitialized doesn't change data");
+
+       /* Read/write uninitialized in recovery mode */
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       TEST_EQ(vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_VERSIONS), 0,
+               "Get uninitialized (recmode)");
+       test_changed(ctx, 0, "Get uninitialized (recmode) doesn't change data");
+       vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_VERSIONS,
+                                0x123456ff);
+       test_changed(ctx, 0, "Set uninitialized (recmode) doesn't change data");
+
+       /* Read/write early in fw_phase1 */
+       ctx->flags &= ~VB2_CONTEXT_RECOVERY_MODE;
+       sd->status &= ~VB2_SD_STATUS_RECOVERY_DECIDED;
+       TEST_EQ(vb2_secdata_firmware_get(ctx, VB2_SECDATA_FIRMWARE_VERSIONS), 0,
+               "Get uninitialized (phase1)");
+       test_changed(ctx, 0, "Get uninitialized (phase1) doesn't change data");
+       vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_VERSIONS,
+                                0x123456ff);
+       test_changed(ctx, 0, "Set uninitialized (phase1) doesn't change data");
+}
+
+int main(int argc, char* argv[])
+{
+       secdata_firmware_test();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_secdata_fwmp_tests.c b/tests/vb2_secdata_fwmp_tests.c
new file mode 100644 (file)
index 0000000..79b0f55
--- /dev/null
@@ -0,0 +1,253 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for firmware management parameters (FWMP) library.
+ */
+
+#include "2common.h"
+#include "2misc.h"
+#include "2secdata.h"
+#include "2secdata_struct.h"
+#include "test_common.h"
+
+static uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct vb2_gbb_header gbb;
+static struct vb2_shared_data *sd;
+static struct vb2_secdata_fwmp *sec;
+
+static void reset_common_data(void)
+{
+       memset(workbuf, 0xaa, sizeof(workbuf));
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+
+       sd = vb2_get_sd(ctx);
+       sd->status |= VB2_SD_STATUS_SECDATA_FWMP_INIT;
+       sd->status |= VB2_SD_STATUS_RECOVERY_DECIDED;
+
+       memset(&gbb, 0, sizeof(gbb));
+
+       sec = (struct vb2_secdata_fwmp *)ctx->secdata_fwmp;
+       sec->struct_size = VB2_SECDATA_FWMP_MIN_SIZE;
+       sec->struct_version = VB2_SECDATA_FWMP_VERSION;
+       sec->flags = 0;
+       sec->crc8 = vb2_secdata_fwmp_crc(sec);
+}
+
+/* Mocked functions */
+
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
+{
+       return &gbb;
+}
+
+static void check_init_test(void)
+{
+       uint8_t size;
+
+       /* Check size constants */
+       TEST_TRUE(sizeof(struct vb2_secdata_fwmp) >= VB2_SECDATA_FWMP_MIN_SIZE,
+                 "Struct min size constant");
+       TEST_TRUE(sizeof(struct vb2_secdata_fwmp) <= VB2_SECDATA_FWMP_MAX_SIZE,
+                 "Struct max size constant");
+
+       /* struct_size too large */
+       reset_common_data();
+       sec->struct_size = VB2_SECDATA_FWMP_MAX_SIZE + 1;
+       sec->crc8 = vb2_secdata_fwmp_crc(sec);
+       size = sec->struct_size;
+       TEST_EQ(vb2api_secdata_fwmp_check(ctx, &size),
+               VB2_ERROR_SECDATA_FWMP_SIZE, "Check struct_size too large");
+       TEST_EQ(vb2_secdata_fwmp_init(ctx),
+               VB2_ERROR_SECDATA_FWMP_SIZE, "Init struct_size too large");
+
+       /* struct_size too small */
+       reset_common_data();
+       sec->struct_size = VB2_SECDATA_FWMP_MIN_SIZE - 1;
+       sec->crc8 = vb2_secdata_fwmp_crc(sec);
+       size = VB2_SECDATA_FWMP_MIN_SIZE;
+       TEST_EQ(vb2api_secdata_fwmp_check(ctx, &size),
+               VB2_ERROR_SECDATA_FWMP_SIZE, "Check struct_size too small");
+
+       /* Need more data to reach minimum size */
+       reset_common_data();
+       sec->struct_size = VB2_SECDATA_FWMP_MIN_SIZE - 1;
+       sec->crc8 = vb2_secdata_fwmp_crc(sec);
+       size = 0;
+       TEST_EQ(vb2api_secdata_fwmp_check(ctx, &size),
+               VB2_ERROR_SECDATA_FWMP_INCOMPLETE, "Check more to reach MIN");
+       TEST_EQ(vb2_secdata_fwmp_init(ctx),
+               VB2_ERROR_SECDATA_FWMP_INCOMPLETE, "Init more to reach MIN");
+
+       /* Need more data to reach full size */
+       reset_common_data();
+       sec->struct_size = VB2_SECDATA_FWMP_MIN_SIZE + 1;
+       sec->crc8 = vb2_secdata_fwmp_crc(sec);
+       size = VB2_SECDATA_FWMP_MIN_SIZE;
+       TEST_EQ(vb2api_secdata_fwmp_check(ctx, &size),
+               VB2_ERROR_SECDATA_FWMP_INCOMPLETE, "Check more for full size");
+
+       /* Bad data is invalid */
+       reset_common_data();
+       memset(&ctx->secdata_fwmp, 0xa6, sizeof(ctx->secdata_fwmp));
+       sec->struct_size = VB2_SECDATA_FWMP_MIN_SIZE;
+       size = sec->struct_size;
+       TEST_EQ(vb2api_secdata_fwmp_check(ctx, &size),
+               VB2_ERROR_SECDATA_FWMP_CRC, "Check bad data CRC");
+       TEST_EQ(vb2_secdata_fwmp_init(ctx),
+               VB2_ERROR_SECDATA_FWMP_CRC, "Init bad data CRC");
+
+       /* Bad CRC with corruption past minimum size */
+       reset_common_data();
+       sec->struct_size = VB2_SECDATA_FWMP_MIN_SIZE + 1;
+       sec->crc8 = vb2_secdata_fwmp_crc(sec);
+       size = sec->struct_size;
+       *((uint8_t *)sec + sec->struct_size - 1) += 1;
+       TEST_EQ(vb2api_secdata_fwmp_check(ctx, &size),
+               VB2_ERROR_SECDATA_FWMP_CRC, "Check corruption CRC");
+       TEST_EQ(vb2_secdata_fwmp_init(ctx),
+               VB2_ERROR_SECDATA_FWMP_CRC, "Init corruption CRC");
+
+       /* Zeroed data is invalid */
+       reset_common_data();
+       memset(&ctx->secdata_fwmp, 0, sizeof(ctx->secdata_fwmp));
+       sec->struct_size = VB2_SECDATA_FWMP_MIN_SIZE;
+       size = sec->struct_size;
+       TEST_EQ(vb2api_secdata_fwmp_check(ctx, &size),
+               VB2_ERROR_SECDATA_FWMP_VERSION, "Check zeroed data CRC");
+       TEST_EQ(vb2_secdata_fwmp_init(ctx),
+               VB2_ERROR_SECDATA_FWMP_VERSION, "Init zeroed data CRC");
+
+       /* Major version too high */
+       reset_common_data();
+       sec->struct_version = ((VB2_SECDATA_FWMP_VERSION >> 4) + 1) << 4;
+       sec->crc8 = vb2_secdata_fwmp_crc(sec);
+       TEST_EQ(vb2api_secdata_fwmp_check(ctx, &size),
+               VB2_ERROR_SECDATA_FWMP_VERSION, "Check major too high");
+       TEST_EQ(vb2_secdata_fwmp_init(ctx),
+               VB2_ERROR_SECDATA_FWMP_VERSION, "Init major too high");
+
+       /* Major version too low */
+       reset_common_data();
+       sec->struct_version = ((VB2_SECDATA_FWMP_VERSION >> 4) - 1) << 4;
+       sec->crc8 = vb2_secdata_fwmp_crc(sec);
+       TEST_EQ(vb2api_secdata_fwmp_check(ctx, &size),
+               VB2_ERROR_SECDATA_FWMP_VERSION, "Check major too low");
+       TEST_EQ(vb2_secdata_fwmp_init(ctx),
+               VB2_ERROR_SECDATA_FWMP_VERSION, "Init major too low");
+
+       /* Minor version difference okay */
+       reset_common_data();
+       sec->struct_version += 1;
+       sec->crc8 = vb2_secdata_fwmp_crc(sec);
+       TEST_SUCC(vb2api_secdata_fwmp_check(ctx, &size), "Check minor okay");
+       TEST_SUCC(vb2_secdata_fwmp_init(ctx), "Init minor okay");
+
+       /* Good FWMP data at minimum size */
+       reset_common_data();
+       TEST_SUCC(vb2api_secdata_fwmp_check(ctx, &size), "Check good (min)");
+       TEST_SUCC(vb2_secdata_fwmp_init(ctx), "Init good (min)");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_SECDATA_FWMP_INIT, 0,
+                "Init flag set");
+
+       /* Good FWMP data at minimum + N size */
+       reset_common_data();
+       sec->struct_size = VB2_SECDATA_FWMP_MIN_SIZE + 1;
+       sec->crc8 = vb2_secdata_fwmp_crc(sec);
+       size = sec->struct_size;
+       TEST_SUCC(vb2api_secdata_fwmp_check(ctx, &size), "Check good (min+N)");
+       TEST_SUCC(vb2_secdata_fwmp_init(ctx), "Init good (min+N)");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_SECDATA_FWMP_INIT, 0,
+                "Init flag set");
+
+       /* Skip data check when NO_SECDATA_FWMP set */
+       reset_common_data();
+       memset(&ctx->secdata_fwmp, 0xa6, sizeof(ctx->secdata_fwmp));
+       ctx->flags |= VB2_CONTEXT_NO_SECDATA_FWMP;
+       TEST_EQ(vb2_secdata_fwmp_init(ctx), 0,
+               "Init skip data check when NO_SECDATA_FWMP set");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_SECDATA_FWMP_INIT, 0,
+                "Init flag set");
+}
+
+static void get_flag_test(void)
+{
+       /* Successfully returns value */
+       reset_common_data();
+       sec->flags |= 1;
+       TEST_EQ(vb2_secdata_fwmp_get_flag(ctx, 1), 1,
+               "Successfully returns flag value");
+
+       /* NO_SECDATA_FWMP */
+       reset_common_data();
+       sec->flags |= 1;
+       ctx->flags |= VB2_CONTEXT_NO_SECDATA_FWMP;
+       TEST_EQ(vb2_secdata_fwmp_get_flag(ctx, 1), 0,
+               "NO_SECDATA_FWMP forces default flag value");
+
+       /* FWMP hasn't been initialized (recovery mode) */
+       reset_common_data();
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FWMP_INIT;
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       TEST_EQ(vb2_secdata_fwmp_get_flag(ctx, 0), 0,
+               "non-init in recovery mode forces default flag value");
+
+       /* FWMP hasn't been initialized (normal mode) */
+       reset_common_data();
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FWMP_INIT;
+       TEST_ABORT(vb2_secdata_fwmp_get_flag(ctx, 0),
+                  "non-init in normal mode triggers abort");
+
+       /* FWMP hasn't been initialized (before recovery decision) */
+       reset_common_data();
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FWMP_INIT;
+       sd->status &= ~VB2_SD_STATUS_RECOVERY_DECIDED;
+       TEST_EQ(vb2_secdata_fwmp_get_flag(ctx, 0), 0,
+               "non-init in fw_phase1 forces default flag value");
+}
+
+static void get_dev_key_hash_test(void)
+{
+       /* CONTEXT_NO_SECDATA_FWMP */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_NO_SECDATA_FWMP;
+       TEST_TRUE(vb2_secdata_fwmp_get_dev_key_hash(ctx) == NULL,
+                 "NO_SECDATA_FWMP forces NULL pointer");
+
+       /* FWMP hasn't been initialized (recovery mode) */
+       reset_common_data();
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FWMP_INIT;
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       TEST_TRUE(vb2_secdata_fwmp_get_dev_key_hash(ctx) == NULL,
+                 "non-init in recovery mode forces NULL pointer");
+
+       /* FWMP hasn't been initialized (normal mode) */
+       reset_common_data();
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FWMP_INIT;
+       TEST_ABORT(vb2_secdata_fwmp_get_dev_key_hash(ctx),
+                  "non-init in normal mode triggers abort");
+
+       /* FWMP hasn't been initialized (before recovery decision) */
+       reset_common_data();
+       sd->status &= ~VB2_SD_STATUS_SECDATA_FWMP_INIT;
+       sd->status &= ~VB2_SD_STATUS_RECOVERY_DECIDED;
+       TEST_TRUE(vb2_secdata_fwmp_get_dev_key_hash(ctx) == NULL,
+                 "non-init in fw_phase1 forces NULL pointer");
+
+       /* Success case */
+       reset_common_data();
+       TEST_TRUE(vb2_secdata_fwmp_get_dev_key_hash(ctx) ==
+                 sec->dev_key_hash, "proper dev_key_hash pointer returned");
+}
+
+int main(int argc, char* argv[])
+{
+       check_init_test();
+       get_flag_test();
+       get_dev_key_hash_test();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_secdata_kernel_tests.c b/tests/vb2_secdata_kernel_tests.c
new file mode 100644 (file)
index 0000000..dc41f1a
--- /dev/null
@@ -0,0 +1,358 @@
+/* Copyright 2015 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for kernel secure storage library.
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2crc8.h"
+#include "2misc.h"
+#include "2secdata.h"
+#include "2secdata_struct.h"
+#include "2sysincludes.h"
+#include "test_common.h"
+#include "vboot_test.h"
+
+static uint8_t workbuf[VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+static struct vb2_secdata_kernel_v0 *sec02;
+static struct vb2_secdata_kernel_v1 *sec10;
+
+static void reset_common_data(void)
+{
+       memset(workbuf, 0xaa, sizeof(workbuf));
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+
+       sd = vb2_get_sd(ctx);
+
+       /* Most tests assume we have passed fw_phase1() */
+       sd->status |= VB2_SD_STATUS_RECOVERY_DECIDED;
+
+       sec02 = (struct vb2_secdata_kernel_v0 *)ctx->secdata_kernel;
+       sec10 = (struct vb2_secdata_kernel_v1 *)ctx->secdata_kernel;
+}
+
+static void test_init(struct vb2_shared_data *s, int init, const char *why)
+{
+       if (init)
+               TEST_NEQ(s->status & VB2_SD_STATUS_SECDATA_KERNEL_INIT, 0, why);
+       else
+               TEST_EQ(s->status & VB2_SD_STATUS_SECDATA_KERNEL_INIT, 0, why);
+}
+
+static void test_changed(struct vb2_context *c, int changed, const char *why)
+{
+       if (changed)
+               TEST_NEQ(c->flags & VB2_CONTEXT_SECDATA_KERNEL_CHANGED, 0, why);
+       else
+               TEST_EQ(c->flags & VB2_CONTEXT_SECDATA_KERNEL_CHANGED, 0, why);
+
+       c->flags &= ~VB2_CONTEXT_SECDATA_KERNEL_CHANGED;
+}
+
+/*
+ * Version-independent tests
+ */
+static void secdata_kernel_test(void)
+{
+       uint8_t size;
+
+       reset_common_data();
+
+       /* Blank data is invalid */
+       size = VB2_SECDATA_KERNEL_MIN_SIZE;
+       memset(&ctx->secdata_kernel, 0xa6, size);
+       TEST_EQ(vb2api_secdata_kernel_check(ctx, &size),
+               VB2_ERROR_SECDATA_KERNEL_VERSION, "Check blank bad version");
+       TEST_EQ(vb2_secdata_kernel_init(ctx),
+               VB2_ERROR_SECDATA_KERNEL_VERSION, "Init blank bad version");
+       test_init(sd, 0, "Init set SD status");
+
+       /* Ensure zeroed buffers are invalid */
+       size = VB2_SECDATA_KERNEL_MIN_SIZE;
+       memset(&ctx->secdata_kernel, 0, size);
+       TEST_EQ(vb2api_secdata_kernel_check(ctx, &size),
+               VB2_ERROR_SECDATA_KERNEL_VERSION, "Check zero bad version");
+       TEST_EQ(vb2_secdata_kernel_init(ctx),
+               VB2_ERROR_SECDATA_KERNEL_VERSION, "Init zero incomplete");
+       test_init(sd, 0, "Init set SD status");
+
+       /* Read data less than minimum size */
+       size = VB2_SECDATA_KERNEL_MIN_SIZE - 1;
+       TEST_EQ(vb2api_secdata_kernel_check(ctx, &size),
+               VB2_ERROR_SECDATA_KERNEL_INCOMPLETE, "Check incomplete");
+       TEST_EQ(size, VB2_SECDATA_KERNEL_MIN_SIZE, "Return minimum size");
+}
+
+static void secdata_kernel_test_v10(void)
+{
+       uint8_t size;
+
+       reset_common_data();
+
+       /* Create good data */
+       size = VB2_SECDATA_KERNEL_SIZE_V10;
+       TEST_EQ(vb2api_secdata_kernel_create(ctx),
+               VB2_SECDATA_KERNEL_SIZE_V10, "Create v1.0");
+       TEST_SUCC(vb2api_secdata_kernel_check(ctx, &size), "Check created CRC");
+       TEST_SUCC(vb2_secdata_kernel_init(ctx), "Init created CRC");
+       test_init(sd, 1, "Init set SD status");
+       test_changed(ctx, 1, "Create changes data");
+
+       /* Check excessive data */
+       size = VB2_SECDATA_KERNEL_SIZE_V10 + 1;
+       TEST_SUCC(vb2api_secdata_kernel_check(ctx, &size),
+                 "Check large v1.0 data");
+       TEST_EQ(size, VB2_SECDATA_KERNEL_SIZE_V10, "Return expected size");
+
+       /* Check incomplete data */
+       size = VB2_SECDATA_KERNEL_SIZE_V10 - 1;
+       vb2api_secdata_kernel_create(ctx);
+       TEST_EQ(vb2api_secdata_kernel_check(ctx, &size),
+               VB2_ERROR_SECDATA_KERNEL_INCOMPLETE, "Check incomplete");
+       TEST_EQ(size, VB2_SECDATA_KERNEL_SIZE_V10, "Return expected size");
+
+       reset_common_data();
+
+       /* Bad version */
+       size = VB2_SECDATA_KERNEL_SIZE_V10;
+       vb2api_secdata_kernel_create(ctx);
+       sec10->struct_version -= 1;
+       TEST_EQ(vb2api_secdata_kernel_check(ctx, &size),
+               VB2_ERROR_SECDATA_KERNEL_VERSION, "Check invalid version");
+       TEST_EQ(vb2_secdata_kernel_init(ctx),
+               VB2_ERROR_SECDATA_KERNEL_VERSION, "Init invalid version");
+       test_init(sd, 0, "Init set SD status");
+
+       /* Higher minor version */
+       vb2api_secdata_kernel_create(ctx);
+       sec10->struct_version += 1;
+       TEST_SUCC(vb2api_secdata_kernel_check(ctx, &size), "Check v1.1 data");
+       TEST_SUCC(vb2_secdata_kernel_init(ctx), "Init v1.1 data");
+       test_init(sd, 1, "Init set SD status");
+
+       reset_common_data();
+
+       /* Higher major version */
+       vb2api_secdata_kernel_create(ctx);
+       sec10->struct_version += 0x10;
+       TEST_EQ(vb2api_secdata_kernel_check(ctx, &size),
+               VB2_ERROR_SECDATA_KERNEL_VERSION, "Check v2.0 data");
+       TEST_EQ(vb2_secdata_kernel_init(ctx),
+               VB2_ERROR_SECDATA_KERNEL_VERSION, "Init v2.0 data");
+       test_init(sd, 0, "Init set SD status");
+
+       reset_common_data();
+
+       /* Corrupt data */
+       size = VB2_SECDATA_KERNEL_SIZE_V10;
+       vb2api_secdata_kernel_create(ctx);
+       sec10->kernel_versions++;
+       TEST_EQ(vb2api_secdata_kernel_check(ctx, &size),
+               VB2_ERROR_SECDATA_KERNEL_CRC, "Check invalid CRC");
+       TEST_EQ(vb2_secdata_kernel_init(ctx),
+               VB2_ERROR_SECDATA_KERNEL_CRC, "Init invalid CRC");
+       test_init(sd, 0, "Init set SD status");
+}
+
+static void secdata_kernel_test_v02(void)
+{
+       uint8_t size;
+
+       reset_common_data();
+
+       /* Create good data */
+       size = VB2_SECDATA_KERNEL_SIZE_V02;
+       TEST_EQ(vb2api_secdata_kernel_create_v0(ctx), size, "Create v0.2");
+       TEST_SUCC(vb2api_secdata_kernel_check(ctx, &size), "Check v0.2");
+       TEST_SUCC(vb2_secdata_kernel_init(ctx), "Init created CRC");
+       test_init(sd, 1, "Init set SD status");
+
+       /* Check excessive data */
+       size = VB2_SECDATA_KERNEL_SIZE_V02 + 1;
+       TEST_SUCC(vb2api_secdata_kernel_check(ctx, &size),
+                 "Check large v0.2 data");
+       TEST_EQ(size, VB2_SECDATA_KERNEL_SIZE_V02, "Return expected size");
+
+       /* Check incomplete data */
+       size = VB2_SECDATA_KERNEL_SIZE_V02 - 1;
+       TEST_EQ(vb2api_secdata_kernel_check(ctx, &size),
+               VB2_ERROR_SECDATA_KERNEL_INCOMPLETE, "Check small v0.2 data");
+       TEST_EQ(size, VB2_SECDATA_KERNEL_SIZE_V02, "Return expected size");
+       reset_common_data();
+
+       /* Corrupt data */
+       vb2api_secdata_kernel_create_v0(ctx);
+       sec02->kernel_versions++;
+       TEST_EQ(vb2api_secdata_kernel_check(ctx, &size),
+               VB2_ERROR_SECDATA_KERNEL_CRC, "Check invalid CRC");
+       TEST_EQ(vb2_secdata_kernel_init(ctx),
+               VB2_ERROR_SECDATA_KERNEL_CRC, "Init invalid CRC");
+}
+
+static void secdata_kernel_access_test_v10(void)
+{
+       uint32_t v = 1;
+       const uint8_t *p;
+       uint8_t ec_hash[VB2_SHA256_DIGEST_SIZE];
+
+       reset_common_data();
+
+       /* Read/write versions */
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       ctx->flags = 0;
+       v = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS);
+       TEST_EQ(v, 0, "Versions created 0");
+       test_changed(ctx, 0, "Get doesn't change data");
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS, 0x123456ff);
+       test_changed(ctx, 1, "Set changes data");
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS, 0x123456ff);
+       test_changed(ctx, 0, "Set again doesn't change data");
+       v = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS);
+       TEST_EQ(v, 0x123456ff, "Versions changed");
+
+       /* Read/write flags */
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       ctx->flags = 0;
+       v = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS);
+       TEST_EQ(v, 0, "Flags created 0");
+       test_changed(ctx, 0, "Get doesn't change data");
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS, 0x12);
+       test_changed(ctx, 1, "Set changes data");
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS, 0x12);
+       test_changed(ctx, 0, "Set again doesn't change data");
+       v = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS);
+       TEST_EQ(v, 0x12, "Flags changed");
+       TEST_ABORT(vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS, 0x100),
+                  "Bad flags");
+
+       /* Invalid field fails */
+       TEST_ABORT(vb2_secdata_kernel_get(ctx, -1), "Get invalid");
+       TEST_ABORT(vb2_secdata_kernel_set(ctx, -1, 456), "Set invalid");
+       test_changed(ctx, 0, "Set invalid field doesn't change data");
+
+       /* Read/write uninitialized data fails */
+       sd->status &= ~VB2_SD_STATUS_SECDATA_KERNEL_INIT;
+       TEST_ABORT(vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS),
+                  "Get uninitialized");
+       test_changed(ctx, 0, "Get uninitialized doesn't change data");
+       TEST_ABORT(vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS,
+                                         0x123456ff),
+                  "Set uninitialized");
+       test_changed(ctx, 0, "Set uninitialized doesn't change data");
+
+       /* Read/write uninitialized in recovery mode */
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       TEST_EQ(vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS), 0,
+               "Get uninitialized (recmode)");
+       test_changed(ctx, 0, "Get uninitialized (recmode) doesn't change data");
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS,
+                                0x123456ff);
+       test_changed(ctx, 0, "Set uninitialized (recmode) doesn't change data");
+
+       /* Read/write early in fw_phase1 */
+       ctx->flags &= ~VB2_CONTEXT_RECOVERY_MODE;
+       sd->status &= ~VB2_SD_STATUS_RECOVERY_DECIDED;
+       TEST_EQ(vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS), 0,
+               "Get uninitialized (phase1)");
+       test_changed(ctx, 0, "Get uninitialized (phase1) doesn't change data");
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS,
+                                0x123456ff);
+       test_changed(ctx, 0, "Set uninitialized (phase1) doesn't change data");
+
+       /* Test EC hash set */
+       reset_common_data();
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       memset(ec_hash, 0xaa, sizeof(ec_hash));
+       vb2_secdata_kernel_set_ec_hash(ctx, ec_hash);
+       TEST_EQ(memcmp(ec_hash, sec10->ec_hash, sizeof(ec_hash)), 0,
+                      "Check EC hash");
+       test_changed(ctx, 1, "Set EC hash changes data");
+
+       sec10->struct_version = VB2_SECDATA_KERNEL_VERSION_V02;
+       TEST_ABORT(vb2_secdata_kernel_set_ec_hash(ctx, ec_hash),
+                  "Can't set EC hash for v0.2");
+       test_changed(ctx, 0, "Failing to set EC hash doesn't change data");
+       sec10->struct_version = VB2_SECDATA_KERNEL_VERSION_V10;
+
+       sd->status &= ~VB2_SD_STATUS_SECDATA_KERNEL_INIT;
+       TEST_ABORT(vb2_secdata_kernel_set_ec_hash(ctx, ec_hash),
+                  "Can't set EC hash before init");
+       sd->status |= VB2_SD_STATUS_SECDATA_KERNEL_INIT;
+
+       /* Test EC hash get */
+       p = vb2_secdata_kernel_get_ec_hash(ctx);
+       TEST_PTR_EQ(p, sec10->ec_hash, "Get EC hash returns pointer");
+       test_changed(ctx, 0, "Get EC hash doesn't change data");
+
+       sec10->struct_version = VB2_SECDATA_KERNEL_VERSION_V02;
+       TEST_PTR_EQ(vb2_secdata_kernel_get_ec_hash(ctx), NULL,
+                   "Can't get EC hash for v0.2");
+       sec10->struct_version = VB2_SECDATA_KERNEL_VERSION_V10;
+
+       sd->status &= ~VB2_SD_STATUS_SECDATA_KERNEL_INIT;
+       TEST_ABORT(vb2_secdata_kernel_get_ec_hash(ctx),
+                  "Can't get EC hash before init");
+       sd->status |= VB2_SD_STATUS_SECDATA_KERNEL_INIT;
+}
+
+static void secdata_kernel_access_test_v02(void)
+{
+       uint32_t v = 1;
+       reset_common_data();
+
+       /* Read/write versions */
+       vb2api_secdata_kernel_create_v0(ctx);
+       vb2_secdata_kernel_init(ctx);
+       ctx->flags = 0;
+       v = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS);
+       TEST_EQ(v, 0, "Versions created 0");
+       test_changed(ctx, 0, "Get doesn't change data");
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS, 0x123456ff);
+       test_changed(ctx, 1, "Set changes data");
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS, 0x123456ff);
+       test_changed(ctx, 0, "Set again doesn't change data");
+       v = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS);
+       TEST_EQ(v, 0x123456ff, "Versions changed");
+
+       /* Read/write flags: should be no-op for v0 */
+       TEST_EQ(vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS), 0,
+               "Get flags");
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS, 0x1);
+       TEST_EQ(vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS), 0,
+               "Get flags again");
+
+       /* Invalid field fails */
+       TEST_ABORT(vb2_secdata_kernel_get(ctx, -1), "Get invalid");
+       TEST_ABORT(vb2_secdata_kernel_set(ctx, -1, 456), "Set invalid");
+       test_changed(ctx, 0, "Set invalid field doesn't change data");
+
+       /* Read/write uninitialized data fails */
+       sd->status &= ~VB2_SD_STATUS_SECDATA_KERNEL_INIT;
+       TEST_ABORT(vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_VERSIONS),
+                  "Get uninitialized");
+       test_changed(ctx, 0, "Get uninitialized doesn't change data");
+       TEST_ABORT(vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_VERSIONS,
+                                         0x123456ff),
+                  "Set uninitialized");
+       test_changed(ctx, 0, "Set uninitialized doesn't change data");
+}
+
+int main(int argc, char* argv[])
+{
+       secdata_kernel_test();
+       secdata_kernel_test_v10();
+       secdata_kernel_test_v02();
+       secdata_kernel_access_test_v10();
+       secdata_kernel_access_test_v02();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_sha256_x86_tests.c b/tests/vb2_sha256_x86_tests.c
new file mode 100644 (file)
index 0000000..06ba12e
--- /dev/null
@@ -0,0 +1,137 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* FIPS 180-2 Tests for message digest functions. */
+
+#include <cpuid.h>
+#include <stdio.h>
+
+#include "2api.h"
+#include "2sha.h"
+#include "sha_test_vectors.h"
+#include "test_common.h"
+
+vb2_error_t vb2_digest_buffer(const uint8_t *buf, uint32_t size,
+                             enum vb2_hash_algorithm hash_alg, uint8_t *digest,
+                             uint32_t digest_size)
+{
+       VB2_TRY(vb2ex_hwcrypto_digest_init(hash_alg, size));
+       VB2_TRY(vb2ex_hwcrypto_digest_extend(buf, size));
+
+       return vb2ex_hwcrypto_digest_finalize(digest, digest_size);
+
+}
+
+static void sha256_tests(void)
+{
+       uint8_t digest[VB2_SHA256_DIGEST_SIZE];
+       uint8_t *test_inputs[3];
+       const uint8_t expect_multiple[VB2_SHA256_DIGEST_SIZE] = {
+                       0x07, 0x08, 0xb4, 0xca, 0x46, 0x4c, 0x40, 0x39,
+                       0x07, 0x06, 0x88, 0x80, 0x30, 0x55, 0x5d, 0x86,
+                       0x0e, 0x4a, 0x0d, 0x2b, 0xc6, 0xc4, 0x87, 0x39,
+                       0x2c, 0x16, 0x55, 0xb0, 0x82, 0x13, 0x16, 0x29 };
+       int i;
+
+       test_inputs[0] = (uint8_t *) oneblock_msg;
+       test_inputs[1] = (uint8_t *) multiblock_msg1;
+       test_inputs[2] = (uint8_t *) long_msg;
+
+       for (i = 0; i < 3; i++) {
+               TEST_SUCC(vb2_digest_buffer(test_inputs[i],
+                                           strlen((char *)test_inputs[i]),
+                                           VB2_HASH_SHA256,
+                                           digest, sizeof(digest)),
+                         "vb2_digest_buffer() SHA256");
+               TEST_EQ(memcmp(digest, sha256_results[i], sizeof(digest)),
+                       0, "SHA-256 digest");
+       }
+
+       TEST_EQ(vb2_digest_buffer(test_inputs[0],
+                                 strlen((char *)test_inputs[0]),
+                                 VB2_HASH_SHA256, digest, sizeof(digest) - 1),
+               VB2_ERROR_SHA_FINALIZE_DIGEST_SIZE,
+               "vb2_digest_buffer() too small");
+
+       /* Test multiple small extends */
+       vb2ex_hwcrypto_digest_init(VB2_HASH_SHA256, 15);
+       vb2ex_hwcrypto_digest_extend((uint8_t *)"test1", 5);
+       vb2ex_hwcrypto_digest_extend((uint8_t *)"test2", 5);
+       vb2ex_hwcrypto_digest_extend((uint8_t *)"test3", 5);
+       vb2ex_hwcrypto_digest_finalize(digest, VB2_SHA256_DIGEST_SIZE);
+       TEST_EQ(memcmp(digest, expect_multiple, sizeof(digest)), 0,
+               "SHA-256 multiple extends");
+
+       TEST_EQ(vb2_hash_block_size(VB2_HASH_SHA256), VB2_SHA256_BLOCK_SIZE,
+               "vb2_hash_block_size(VB2_HASH_SHA256)");
+
+}
+
+static void known_value_tests(void)
+{
+       const char sentinel[] = "keepme";
+       union {
+               struct vb2_hash hash;
+               char overflow[sizeof(struct vb2_hash) + 8];
+       } test;
+
+#define TEST_KNOWN_VALUE(algo, str, value) \
+       TEST_EQ(vb2_digest_size(algo), sizeof(value) - 1, \
+               "Known hash size " #algo ": " #str);                    \
+       {                                                               \
+               char *sent_base = test.overflow +                       \
+                       offsetof(struct vb2_hash, raw) + sizeof(value) - 1; \
+               strcpy(sent_base, sentinel);                            \
+               strcpy(sent_base, sentinel);                            \
+               TEST_SUCC(vb2_digest_buffer((const uint8_t *)str,       \
+                                           sizeof(str) - 1,            \
+                                           algo, test.hash.raw,        \
+                                           vb2_digest_size(algo)),     \
+                         "Calculate known hash " #algo ": " #str);     \
+               TEST_EQ(memcmp(test.hash.raw, value, sizeof(value) - 1), 0, \
+                       "Known hash " #algo ": " #str);                 \
+               TEST_EQ(strcmp(sent_base, sentinel), 0,                 \
+                       "Overflow known hash " #algo ": " #str);        \
+       }
+
+       TEST_KNOWN_VALUE(VB2_HASH_SHA256, "",
+               "\xe3\xb0\xc4\x42\x98\xfc\x1c\x14\x9a\xfb\xf4\xc8\x99\x6f\xb9"
+               "\x24\x27\xae\x41\xe4\x64\x9b\x93\x4c\xa4\x95\x99\x1b\x78\x52"
+               "\xb8\x55");
+
+       const char long_test_string[] = "abcdefghbcdefghicdefghijdefghijkefgh"
+               "ijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrs"
+               "mnopqrstnopqrstu";
+       TEST_KNOWN_VALUE(VB2_HASH_SHA256, long_test_string,
+               "\xcf\x5b\x16\xa7\x78\xaf\x83\x80\x03\x6c\xe5\x9e\x7b\x04\x92"
+               "\x37\x0b\x24\x9b\x11\xe8\xf0\x7a\x51\xaf\xac\x45\x03\x7a\xfe"
+               "\xe9\xd1");
+
+       /* vim helper to escape hex: <Shift+V>:s/\([a-f0-9]\{2\}\)/\\x\1/g */
+#undef TEST_KNOWN_VALUE
+}
+
+int main(int argc, char *argv[])
+{
+       uint32_t a, b = 0, c, d;
+       /* EAX = 07H, sub-leaf 0 */
+       __get_cpuid_count(7, 0, &a, &b, &c, &d);
+       if ((b & bit_SHA) == 0) {
+               fprintf(stderr, "SHA-NI not supported.\n");
+               return 254;
+       }
+
+       /* Initialize long_msg with 'a' x 1,000,000 */
+       long_msg = (char *) malloc(1000001);
+       memset(long_msg, 'a', 1000000);
+       long_msg[1000000]=0;
+
+       sha256_tests();
+       known_value_tests();
+
+       free(long_msg);
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_sha_api_tests.c b/tests/vb2_sha_api_tests.c
new file mode 100644 (file)
index 0000000..cb58f7b
--- /dev/null
@@ -0,0 +1,137 @@
+/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for vb2_hash_(calculate|verify) functions.
+ */
+
+#include "2return_codes.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "test_common.h"
+
+uint8_t mock_sha1[] = {0x1, 0x3, 0x5, 0x2, 0x4, 0x6, 0xa, 0xb, 0xc, 0xd,
+                      0xd, 0xe, 0xa, 0xd, 0xb, 0xe, 0xe, 0xf, 0x0, 0xf0};
+_Static_assert(sizeof(mock_sha1) == VB2_SHA1_DIGEST_SIZE, "");
+
+struct vb2_hash mock_hash;
+uint8_t mock_buffer[] = "Mock Buffer";
+
+vb2_error_t mock_init_rv;
+vb2_error_t mock_extend_rv;
+vb2_error_t mock_finalize_rv;
+
+static void reset_common_data(void)
+{
+       memset(&mock_hash, 0xaa, sizeof(mock_hash));
+
+       mock_init_rv = VB2_SUCCESS;
+       mock_extend_rv = VB2_SUCCESS;
+       mock_finalize_rv = VB2_SUCCESS;
+}
+
+vb2_error_t vb2_digest_init(struct vb2_digest_context *dc,
+                           enum vb2_hash_algorithm hash_alg)
+{
+       if (hash_alg != VB2_HASH_SHA1)
+               return VB2_ERROR_MOCK;
+       return mock_init_rv;
+}
+
+vb2_error_t vb2_digest_extend(struct vb2_digest_context *dc, const uint8_t *buf,
+                             uint32_t size)
+{
+       TEST_PTR_EQ(buf, mock_buffer, "digest_extend unexpected buf");
+       TEST_EQ(size, sizeof(mock_buffer), "digest_extend unexpected size");
+       return mock_extend_rv;
+}
+
+vb2_error_t vb2_digest_finalize(struct vb2_digest_context *dc, uint8_t *digest,
+                               uint32_t size)
+{
+       TEST_EQ(size, VB2_SHA1_DIGEST_SIZE, "digest_finalize unexpected size");
+       memcpy(digest, mock_sha1, size);
+       return mock_finalize_rv;
+}
+
+static void vb2_hash_cbfs_compatibility_test(void)
+{
+       /* 'algo' used to be represented as a 4-byte big-endian in CBFS. Confirm
+          that the new representation is binary compatible for small values. */
+       union {
+               struct vb2_hash hash;
+               struct {
+                       uint32_t be32;
+                       uint8_t bytes[0];
+               };
+       } test = {0};
+
+       test.be32 = htobe32(0xa5);
+       TEST_EQ(test.hash.algo, 0xa5, "vb2_hash algo compatible to CBFS attr");
+       TEST_PTR_EQ(&test.hash.raw, &test.bytes, "  digest offset matches");
+}
+
+static void vb2_hash_calculate_tests(void)
+{
+       reset_common_data();
+       TEST_SUCC(vb2_hash_calculate(&mock_buffer, sizeof(mock_buffer),
+                                    VB2_HASH_SHA1, &mock_hash),
+                 "hash_calculate success");
+       TEST_SUCC(memcmp(mock_hash.sha1, mock_sha1, sizeof(mock_sha1)),
+                 "  got the right hash");
+       TEST_EQ(mock_hash.algo, VB2_HASH_SHA1, "  set algo correctly");
+
+       reset_common_data();
+       mock_init_rv = VB2_ERROR_MOCK;
+       TEST_EQ(vb2_hash_calculate(mock_buffer, sizeof(mock_buffer),
+                                  VB2_HASH_SHA1, &mock_hash),
+               VB2_ERROR_MOCK, "hash_calculate init error");
+
+       reset_common_data();
+       mock_extend_rv = VB2_ERROR_MOCK;
+       TEST_EQ(vb2_hash_calculate(mock_buffer, sizeof(mock_buffer),
+                                  VB2_HASH_SHA1, &mock_hash),
+               VB2_ERROR_MOCK, "hash_calculate extend error");
+
+       reset_common_data();
+       mock_finalize_rv = VB2_ERROR_MOCK;
+       TEST_EQ(vb2_hash_calculate(mock_buffer, sizeof(mock_buffer),
+                                  VB2_HASH_SHA1, &mock_hash),
+               VB2_ERROR_MOCK, "hash_calculate finalize error");
+}
+
+static void vb2_hash_verify_tests(void)
+{
+       reset_common_data();
+
+       memcpy(mock_hash.sha1, mock_sha1, sizeof(mock_sha1));
+       mock_hash.algo = VB2_HASH_SHA1;
+       TEST_SUCC(vb2_hash_verify(mock_buffer, sizeof(mock_buffer),
+                                 &mock_hash), "hash_verify success");
+
+       memcpy(mock_hash.sha1, mock_sha1, sizeof(mock_sha1));
+       mock_hash.algo = VB2_HASH_SHA256;
+       TEST_EQ(vb2_hash_verify(mock_buffer, sizeof(mock_buffer),
+                               &mock_hash), VB2_ERROR_MOCK,
+               "hash_verify wrong algo");
+
+       memcpy(mock_hash.sha1, mock_sha1, sizeof(mock_sha1));
+       mock_hash.sha1[5] = 0xfe;
+       mock_hash.algo = VB2_HASH_SHA1;
+       TEST_EQ(vb2_hash_verify(mock_buffer, sizeof(mock_buffer),
+                               &mock_hash), VB2_ERROR_SHA_MISMATCH,
+               "hash_verify mismatch");
+}
+
+int main(int argc, char *argv[])
+{
+       TEST_EQ(sizeof(mock_hash),
+               offsetof(struct vb2_hash, raw) + VB2_SHA512_DIGEST_SIZE,
+               "tests run with all SHA algorithms enabled");
+
+       vb2_hash_cbfs_compatibility_test();
+       vb2_hash_calculate_tests();
+       vb2_hash_verify_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vb2_sha_tests.c b/tests/vb2_sha_tests.c
new file mode 100644 (file)
index 0000000..a14af65
--- /dev/null
@@ -0,0 +1,264 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* FIPS 180-2 Tests for message digest functions. */
+
+#include <stdio.h>
+
+#include "2return_codes.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "sha_test_vectors.h"
+#include "test_common.h"
+
+static void sha1_tests(void)
+{
+       uint8_t digest[VB2_SHA1_DIGEST_SIZE];
+       uint8_t *test_inputs[3];
+       int i;
+
+       test_inputs[0] = (uint8_t *) oneblock_msg;
+       test_inputs[1] = (uint8_t *) multiblock_msg1;
+       test_inputs[2] = (uint8_t *) long_msg;
+
+       for (i = 0; i < 3; i++) {
+               TEST_SUCC(vb2_digest_buffer(test_inputs[i],
+                                           strlen((char *)test_inputs[i]),
+                                           VB2_HASH_SHA1,
+                                           digest, sizeof(digest)),
+                         "vb2_digest_buffer() SHA1");
+               TEST_EQ(memcmp(digest, sha1_results[i], sizeof(digest)),
+                       0, "SHA1 digest");
+       }
+
+       TEST_EQ(vb2_digest_buffer(test_inputs[0],
+                                 strlen((char *)test_inputs[0]),
+                                 VB2_HASH_SHA1, digest, sizeof(digest) - 1),
+               VB2_ERROR_SHA_FINALIZE_DIGEST_SIZE,
+               "vb2_digest_buffer() too small");
+
+       TEST_EQ(vb2_hash_block_size(VB2_HASH_SHA1), VB2_SHA1_BLOCK_SIZE,
+               "vb2_hash_block_size(VB2_HASH_SHA1)");
+}
+
+static void sha256_tests(void)
+{
+       uint8_t digest[VB2_SHA256_DIGEST_SIZE];
+       uint8_t *test_inputs[3];
+       struct vb2_sha256_context ctx;
+       const uint8_t expect_multiple[VB2_SHA256_DIGEST_SIZE] = {
+                       0x07, 0x08, 0xb4, 0xca, 0x46, 0x4c, 0x40, 0x39,
+                       0x07, 0x06, 0x88, 0x80, 0x30, 0x55, 0x5d, 0x86,
+                       0x0e, 0x4a, 0x0d, 0x2b, 0xc6, 0xc4, 0x87, 0x39,
+                       0x2c, 0x16, 0x55, 0xb0, 0x82, 0x13, 0x16, 0x29 };
+       const uint8_t extend_from[VB2_SHA256_DIGEST_SIZE] = { 0x00, };
+       const uint8_t extend_by[VB2_SHA256_BLOCK_SIZE] = { 0x00, };
+       const uint8_t expected_extend[VB2_SHA256_DIGEST_SIZE] = {
+               0x7c, 0xa5, 0x16, 0x14, 0x42, 0x5c, 0x3b, 0xa8, 0xce, 0x54,
+               0xdd, 0x2f, 0xc2, 0x02, 0x0a, 0xe7, 0xb6, 0xe5, 0x74, 0xd1,
+               0x98, 0x13, 0x6d, 0x0f, 0xae, 0x7e, 0x26, 0xcc, 0xbf, 0x0b,
+               0xe7, 0xa6 };
+       int i;
+
+       test_inputs[0] = (uint8_t *) oneblock_msg;
+       test_inputs[1] = (uint8_t *) multiblock_msg1;
+       test_inputs[2] = (uint8_t *) long_msg;
+
+       for (i = 0; i < 3; i++) {
+               TEST_SUCC(vb2_digest_buffer(test_inputs[i],
+                                           strlen((char *)test_inputs[i]),
+                                           VB2_HASH_SHA256,
+                                           digest, sizeof(digest)),
+                         "vb2_digest_buffer() SHA256");
+               TEST_EQ(memcmp(digest, sha256_results[i], sizeof(digest)),
+                       0, "SHA-256 digest");
+       }
+
+       TEST_EQ(vb2_digest_buffer(test_inputs[0],
+                                 strlen((char *)test_inputs[0]),
+                                 VB2_HASH_SHA256, digest, sizeof(digest) - 1),
+               VB2_ERROR_SHA_FINALIZE_DIGEST_SIZE,
+               "vb2_digest_buffer() too small");
+
+       /* Test multiple small extends */
+       vb2_sha256_init(&ctx, VB2_HASH_SHA256);
+       vb2_sha256_update(&ctx, (uint8_t *)"test1", 5);
+       vb2_sha256_update(&ctx, (uint8_t *)"test2", 5);
+       vb2_sha256_update(&ctx, (uint8_t *)"test3", 5);
+       vb2_sha256_finalize(&ctx, digest, VB2_HASH_SHA256);
+       TEST_EQ(memcmp(digest, expect_multiple, sizeof(digest)), 0,
+               "SHA-256 multiple extends");
+
+       TEST_EQ(vb2_hash_block_size(VB2_HASH_SHA256), VB2_SHA256_BLOCK_SIZE,
+               "vb2_hash_block_size(VB2_HASH_SHA256)");
+
+       /* Test SHA256 hash extend */
+       vb2_sha256_extend(extend_from, extend_by, digest);
+       TEST_SUCC(memcmp(digest, expected_extend, sizeof(digest)), NULL);
+}
+
+static void sha512_tests(void)
+{
+       uint8_t digest[VB2_SHA512_DIGEST_SIZE];
+       uint8_t *test_inputs[3];
+       int i;
+
+       test_inputs[0] = (uint8_t *) oneblock_msg;
+       test_inputs[1] = (uint8_t *) multiblock_msg2;
+       test_inputs[2] = (uint8_t *) long_msg;
+
+       for (i = 0; i < 3; i++) {
+               TEST_SUCC(vb2_digest_buffer(test_inputs[i],
+                                           strlen((char *)test_inputs[i]),
+                                           VB2_HASH_SHA512,
+                                           digest, sizeof(digest)),
+                         "vb2_digest_buffer() SHA512");
+               TEST_EQ(memcmp(digest, sha512_results[i], sizeof(digest)),
+                       0, "SHA-512 digest");
+       }
+
+       TEST_EQ(vb2_digest_buffer(test_inputs[0],
+                                 strlen((char *)test_inputs[0]),
+                                 VB2_HASH_SHA512, digest, sizeof(digest) - 1),
+               VB2_ERROR_SHA_FINALIZE_DIGEST_SIZE,
+               "vb2_digest_buffer() too small");
+
+       TEST_EQ(vb2_hash_block_size(VB2_HASH_SHA512), VB2_SHA512_BLOCK_SIZE,
+               "vb2_hash_block_size(VB2_HASH_SHA512)");
+}
+
+static void misc_tests(void)
+{
+       uint8_t digest[VB2_SHA512_DIGEST_SIZE];
+       struct vb2_digest_context dc;
+
+       /* Crypto algorithm to hash algorithm mapping */
+       TEST_EQ(vb2_crypto_to_hash(VB2_ALG_RSA1024_SHA1), VB2_HASH_SHA1,
+               "Crypto map to SHA1");
+       TEST_EQ(vb2_crypto_to_hash(VB2_ALG_RSA2048_SHA256), VB2_HASH_SHA256,
+               "Crypto map to SHA256");
+       TEST_EQ(vb2_crypto_to_hash(VB2_ALG_RSA4096_SHA256), VB2_HASH_SHA256,
+               "Crypto map to SHA256 2");
+       TEST_EQ(vb2_crypto_to_hash(VB2_ALG_RSA8192_SHA512), VB2_HASH_SHA512,
+               "Crypto map to SHA512");
+       TEST_EQ(vb2_crypto_to_hash(VB2_ALG_COUNT), VB2_HASH_INVALID,
+               "Crypto map to invalid");
+
+       TEST_EQ(vb2_digest_size(VB2_HASH_INVALID), 0,
+               "digest size invalid alg");
+
+       TEST_EQ(vb2_hash_block_size(VB2_HASH_INVALID), 0,
+               "vb2_hash_block_size(VB2_HASH_INVALID)");
+
+       TEST_EQ(vb2_digest_buffer((uint8_t *)oneblock_msg, strlen(oneblock_msg),
+                                 VB2_HASH_INVALID, digest, sizeof(digest)),
+               VB2_ERROR_SHA_INIT_ALGORITHM,
+               "vb2_digest_buffer() invalid alg");
+
+       /* Test bad algorithm inside extend and finalize */
+       vb2_digest_init(&dc, VB2_HASH_SHA256);
+       dc.hash_alg = VB2_HASH_INVALID;
+       TEST_EQ(vb2_digest_extend(&dc, digest, sizeof(digest)),
+               VB2_ERROR_SHA_EXTEND_ALGORITHM,
+               "vb2_digest_extend() invalid alg");
+       TEST_EQ(vb2_digest_finalize(&dc, digest, sizeof(digest)),
+               VB2_ERROR_SHA_FINALIZE_ALGORITHM,
+               "vb2_digest_finalize() invalid alg");
+}
+
+static void known_value_tests(void)
+{
+       const char sentinel[] = "keepme";
+       union {
+               struct vb2_hash hash;
+               char overflow[sizeof(struct vb2_hash) + 8];
+       } test;
+
+
+#define TEST_KNOWN_VALUE(algo, str, value) \
+       TEST_EQ(vb2_digest_size(algo), sizeof(value) - 1, \
+               "Known hash size " #algo ": " #str); \
+       {                                                               \
+               char *sent_base = test.overflow + \
+                       offsetof(struct vb2_hash, raw) + sizeof(value) - 1; \
+               strcpy(sent_base, sentinel);                            \
+               TEST_SUCC(vb2_hash_calculate(str, sizeof(str) - 1,      \
+                                            algo, &test.hash),         \
+                         "Calculate known hash " #algo ": " #str);     \
+               TEST_EQ(memcmp(test.hash.raw, value, sizeof(value) - 1), 0, \
+                       "Known hash " #algo ": " #str);                 \
+               TEST_EQ(strcmp(sent_base, sentinel), 0,                 \
+                       "Overflow known hash " #algo ": " #str);        \
+       }
+
+       TEST_KNOWN_VALUE(VB2_HASH_SHA1, "",
+               "\xda\x39\xa3\xee\x5e\x6b\x4b\x0d\x32\x55\xbf\xef\x95\x60\x18"
+               "\x90\xaf\xd8\x07\x09");
+       TEST_KNOWN_VALUE(VB2_HASH_SHA256, "",
+               "\xe3\xb0\xc4\x42\x98\xfc\x1c\x14\x9a\xfb\xf4\xc8\x99\x6f\xb9"
+               "\x24\x27\xae\x41\xe4\x64\x9b\x93\x4c\xa4\x95\x99\x1b\x78\x52"
+               "\xb8\x55");
+       TEST_KNOWN_VALUE(VB2_HASH_SHA512, "",
+               "\xcf\x83\xe1\x35\x7e\xef\xb8\xbd\xf1\x54\x28\x50\xd6\x6d\x80"
+               "\x07\xd6\x20\xe4\x05\x0b\x57\x15\xdc\x83\xf4\xa9\x21\xd3\x6c"
+               "\xe9\xce\x47\xd0\xd1\x3c\x5d\x85\xf2\xb0\xff\x83\x18\xd2\x87"
+               "\x7e\xec\x2f\x63\xb9\x31\xbd\x47\x41\x7a\x81\xa5\x38\x32\x7a"
+               "\xf9\x27\xda\x3e");
+       TEST_KNOWN_VALUE(VB2_HASH_SHA224, "",
+               "\xd1\x4a\x02\x8c\x2a\x3a\x2b\xc9\x47\x61\x02\xbb\x28\x82\x34"
+               "\xc4\x15\xa2\xb0\x1f\x82\x8e\xa6\x2a\xc5\xb3\xe4\x2f");
+       TEST_KNOWN_VALUE(VB2_HASH_SHA384, "",
+               "\x38\xb0\x60\xa7\x51\xac\x96\x38\x4c\xd9\x32\x7e\xb1\xb1\xe3"
+               "\x6a\x21\xfd\xb7\x11\x14\xbe\x07\x43\x4c\x0c\xc7\xbf\x63\xf6"
+               "\xe1\xda\x27\x4e\xde\xbf\xe7\x6f\x65\xfb\xd5\x1a\xd2\xf1\x48"
+               "\x98\xb9\x5b");
+
+       const char long_test_string[] = "abcdefghbcdefghicdefghijdefghijkefgh"
+               "ijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrs"
+               "mnopqrstnopqrstu";
+       TEST_KNOWN_VALUE(VB2_HASH_SHA1, long_test_string,
+               "\xa4\x9b\x24\x46\xa0\x2c\x64\x5b\xf4\x19\xf9\x95\xb6\x70\x91"
+               "\x25\x3a\x04\xa2\x59");
+       TEST_KNOWN_VALUE(VB2_HASH_SHA256, long_test_string,
+               "\xcf\x5b\x16\xa7\x78\xaf\x83\x80\x03\x6c\xe5\x9e\x7b\x04\x92"
+               "\x37\x0b\x24\x9b\x11\xe8\xf0\x7a\x51\xaf\xac\x45\x03\x7a\xfe"
+               "\xe9\xd1");
+       TEST_KNOWN_VALUE(VB2_HASH_SHA512, long_test_string,
+               "\x8e\x95\x9b\x75\xda\xe3\x13\xda\x8c\xf4\xf7\x28\x14\xfc\x14"
+               "\x3f\x8f\x77\x79\xc6\xeb\x9f\x7f\xa1\x72\x99\xae\xad\xb6\x88"
+               "\x90\x18\x50\x1d\x28\x9e\x49\x00\xf7\xe4\x33\x1b\x99\xde\xc4"
+               "\xb5\x43\x3a\xc7\xd3\x29\xee\xb6\xdd\x26\x54\x5e\x96\xe5\x5b"
+               "\x87\x4b\xe9\x09");
+       TEST_KNOWN_VALUE(VB2_HASH_SHA224, long_test_string,
+               "\xc9\x7c\xa9\xa5\x59\x85\x0c\xe9\x7a\x04\xa9\x6d\xef\x6d\x99"
+               "\xa9\xe0\xe0\xe2\xab\x14\xe6\xb8\xdf\x26\x5f\xc0\xb3");
+       TEST_KNOWN_VALUE(VB2_HASH_SHA384, long_test_string,
+               "\x09\x33\x0c\x33\xf7\x11\x47\xe8\x3d\x19\x2f\xc7\x82\xcd\x1b"
+               "\x47\x53\x11\x1b\x17\x3b\x3b\x05\xd2\x2f\xa0\x80\x86\xe3\xb0"
+               "\xf7\x12\xfc\xc7\xc7\x1a\x55\x7e\x2d\xb9\x66\xc3\xe9\xfa\x91"
+               "\x74\x60\x39");
+
+       /* vim helper to escape hex: <Shift+V>:s/\([a-f0-9]\{2\}\)/\\x\1/g */
+#undef TEST_KNOWN_VALUE
+}
+
+int main(int argc, char *argv[])
+{
+       /* Initialize long_msg with 'a' x 1,000,000 */
+       long_msg = (char *) malloc(1000001);
+       memset(long_msg, 'a', 1000000);
+       long_msg[1000000]=0;
+
+       sha1_tests();
+       sha256_tests();
+       sha512_tests();
+       misc_tests();
+       known_value_tests();
+
+       free(long_msg);
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vboot_api_kernel4_tests.c b/tests/vboot_api_kernel4_tests.c
new file mode 100644 (file)
index 0000000..e3f19a8
--- /dev/null
@@ -0,0 +1,341 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for vboot_api_kernel, part 4 - select and load kernel
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2secdata.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "load_kernel_fw.h"
+#include "test_common.h"
+#include "tlcl.h"
+#include "tss_constants.h"
+#include "vboot_struct.h"
+#include "vboot_test.h"
+
+/* Mock data */
+
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+static VbSelectAndLoadKernelParams kparams;
+static struct vb2_gbb_header gbb;
+
+static uint32_t kernel_version;
+static uint32_t new_version;
+static vb2_error_t vbboot_retval;
+static int commit_data_called;
+static vb2_error_t secdata_kernel_init_retval;
+static vb2_error_t secdata_fwmp_init_retval;
+static vb2_error_t kernel_phase1_retval;
+static uint32_t current_recovery_reason;
+static uint32_t expected_recovery_reason;
+
+static int mock_diagnostic_ui_enabled;
+
+static void reset_common_data(void)
+{
+       memset(&kparams, 0, sizeof(kparams));
+
+       memset(&gbb, 0, sizeof(gbb));
+       gbb.major_version = VB2_GBB_MAJOR_VER;
+       gbb.minor_version = VB2_GBB_MINOR_VER;
+       gbb.flags = 0;
+
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+       sd = vb2_get_sd(ctx);
+       sd->flags |= VB2_SD_FLAG_DISPLAY_AVAILABLE;
+       ctx->flags |= VB2_CONTEXT_NO_SECDATA_FWMP;
+       sd->preamble_size = 1;
+
+       vb2_nv_init(ctx);
+       vb2_nv_set(ctx, VB2_NV_KERNEL_MAX_ROLLFORWARD, 0xffffffff);
+       commit_data_called = 0;
+
+       kernel_version = new_version = 0x10002;
+       vbboot_retval = VB2_SUCCESS;
+       secdata_kernel_init_retval = VB2_SUCCESS;
+       secdata_fwmp_init_retval = VB2_SUCCESS;
+       kernel_phase1_retval = VB2_SUCCESS;
+       current_recovery_reason = 0;
+       expected_recovery_reason = 0;
+
+       mock_diagnostic_ui_enabled = 0;
+
+       sd->status |= VB2_SD_STATUS_SECDATA_KERNEL_INIT;
+       sd->status |= VB2_SD_STATUS_SECDATA_FWMP_INIT;
+}
+
+static void test_slk(vb2_error_t retval, int recovery_reason, const char *desc)
+{
+       if (sd->recovery_reason)
+               ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+
+       expected_recovery_reason = recovery_reason;
+       /* The VbSelectAndLoadKernel directly leverages the value at
+          ctx->boot_mode, so we have to call vb2_set_boot_mode first. */
+       vb2_set_boot_mode(ctx);
+       TEST_EQ(VbSelectAndLoadKernel(ctx, &kparams), retval, desc);
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST),
+               recovery_reason, "  recovery reason");
+}
+
+/* Mock functions */
+
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
+{
+       return &gbb;
+}
+
+vb2_error_t vb2api_kernel_phase1(struct vb2_context *c)
+{
+       sd->kernel_version_secdata = kernel_version;
+       sd->kernel_version = kernel_version;
+       return kernel_phase1_retval;
+}
+
+vb2_error_t vb2ex_commit_data(struct vb2_context *c)
+{
+       current_recovery_reason = vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST);
+       commit_data_called = 1;
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_secdata_fwmp_init(struct vb2_context *c)
+{
+       return secdata_fwmp_init_retval;
+}
+
+void vb2_secdata_kernel_set(struct vb2_context *c,
+                           enum vb2_secdata_kernel_param param,
+                           uint32_t value)
+{
+       kernel_version = value;
+}
+
+vb2_error_t VbTryLoadKernel(struct vb2_context *c, uint32_t disk_flags)
+{
+       sd->kernel_version = new_version;
+
+       if (vbboot_retval == -1)
+               return VB2_ERROR_MOCK;
+
+       return vbboot_retval;
+}
+
+static vb2_error_t boot_dev(struct vb2_context *c)
+{
+       if (vbboot_retval == -2)
+               return VB2_ERROR_MOCK;
+
+       return vbboot_retval;
+}
+
+vb2_error_t vb2ex_developer_ui(struct vb2_context *c)
+{
+       return boot_dev(c);
+}
+
+static void rec_check(struct vb2_context *c)
+{
+       TEST_EQ(current_recovery_reason, expected_recovery_reason,
+               "  recovery reason");
+       TEST_TRUE(commit_data_called, "  commit data");
+}
+
+vb2_error_t vb2ex_manual_recovery_ui(struct vb2_context *c)
+{
+       rec_check(c);
+       if (vbboot_retval == -3)
+               return VB2_ERROR_MOCK;
+       return vbboot_retval;
+}
+
+vb2_error_t vb2ex_broken_screen_ui(struct vb2_context *c)
+{
+       rec_check(c);
+       if (vbboot_retval == -4)
+               return VB2_ERROR_MOCK;
+       return vbboot_retval;
+}
+
+vb2_error_t vb2ex_diagnostic_ui(struct vb2_context *c)
+{
+       if (vbboot_retval == -5)
+               return VB2_ERROR_MOCK;
+
+       return vbboot_retval;
+}
+
+int vb2api_diagnostic_ui_enabled(struct vb2_context *c)
+{
+       return mock_diagnostic_ui_enabled;
+}
+
+vb2_error_t vb2ex_tpm_set_mode(enum vb2_tpm_mode mode_val)
+{
+       return VB2_SUCCESS;
+}
+
+/* Tests */
+
+static void select_and_load_kernel_tests(void)
+{
+       /* Normal boot */
+       reset_common_data();
+       test_slk(0, 0, "Normal");
+       TEST_EQ(kernel_version, 0x10002, "  version");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_EC_SYNC_COMPLETE, 0,
+                "  EC sync complete");
+       TEST_FALSE(commit_data_called, "  no commit data");
+
+       /* Check EC sync toggling */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_EC_SYNC_SUPPORTED;
+       gbb.flags |= VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC;
+       test_slk(0, 0, "EC sync disabled by GBB");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_EC_SYNC_COMPLETE, 0,
+                "  EC sync complete");
+
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_EC_SYNC_SUPPORTED;
+       test_slk(0, 0, "Normal with EC sync");
+       TEST_NEQ(sd->status & VB2_SD_STATUS_EC_SYNC_COMPLETE, 0,
+                "  EC sync complete");
+
+       reset_common_data();
+       new_version = 0x20003;
+       test_slk(0, 0, "Roll forward");
+       TEST_EQ(kernel_version, 0x20003, "  version");
+
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_FW_RESULT, VB2_FW_RESULT_TRYING);
+       new_version = 0x20003;
+       test_slk(0, 0, "Don't roll forward kernel when trying new FW");
+       TEST_EQ(kernel_version, 0x10002, "  version");
+
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_KERNEL_MAX_ROLLFORWARD, 0x30005);
+       new_version = 0x40006;
+       test_slk(0, 0, "Limit max roll forward");
+       TEST_EQ(kernel_version, 0x30005, "  version");
+
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_KERNEL_MAX_ROLLFORWARD, 0x10001);
+       new_version = 0x40006;
+       test_slk(0, 0, "Max roll forward can't rollback");
+       TEST_EQ(kernel_version, 0x10002, "  version");
+
+       /* Boot normal */
+       reset_common_data();
+       vbboot_retval = -1;
+       test_slk(VB2_ERROR_MOCK, 0, "Normal boot bad");
+
+       /* Check that NV_DIAG_REQUEST triggers diagnostic UI */
+       reset_common_data();
+       mock_diagnostic_ui_enabled = 1;
+       vb2_nv_set(ctx, VB2_NV_DIAG_REQUEST, 1);
+       vbboot_retval = -5;
+       test_slk(VB2_ERROR_MOCK, 0,
+                "Normal boot with diag enabled");
+       TEST_EQ(vb2_nv_get(ctx, VB2_NV_DIAG_REQUEST), 0,
+               "  diag not requested");
+
+       reset_common_data();
+       vb2_nv_set(ctx, VB2_NV_DIAG_REQUEST, 1);
+       test_slk(VB2_REQUEST_REBOOT, 0,
+                "Normal boot with diag disabled (reboot to unset)");
+
+       /* Boot normal - phase1 failure */
+       reset_common_data();
+       kernel_phase1_retval = VB2_ERROR_MOCK;
+       test_slk(VB2_ERROR_MOCK, 0, "Normal phase1 failure");
+
+       /* Recovery - VB2_ERROR_ESCAPE_NO_BOOT */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_NO_BOOT;
+       test_slk(VB2_ERROR_ESCAPE_NO_BOOT,
+                VB2_RECOVERY_ESCAPE_NO_BOOT, "Recovery for NO_BOOT escape");
+
+       /* Boot normal - VB2_ERROR_ESCAPE_NO_BOOT */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_NO_BOOT;
+       gbb.flags |= VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC;
+       test_slk(VB2_SUCCESS, 0, "DISABLE_EC_SOFTWARE_SYNC ignores NO_BOOT");
+
+       /* Boot dev */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       vbboot_retval = -2;
+       test_slk(VB2_ERROR_MOCK, 0, "Dev boot bad");
+       TEST_FALSE(commit_data_called, "  no commit data");
+
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       new_version = 0x20003;
+       test_slk(0, 0, "Dev doesn't roll forward");
+       TEST_EQ(kernel_version, 0x10002, "  version");
+
+       /* Boot dev - phase1 failure */
+       reset_common_data();
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       kernel_phase1_retval = VB2_ERROR_MOCK;
+       test_slk(VB2_ERROR_MOCK, 0, "Dev phase1 failure");
+
+       /* Boot recovery */
+       reset_common_data();
+       sd->recovery_reason = 123;
+       vbboot_retval = -4;
+       test_slk(VB2_ERROR_MOCK, 0, "Recovery boot bad");
+       TEST_TRUE(commit_data_called, "  commit data");
+
+       reset_common_data();
+       sd->recovery_reason = 123;
+       new_version = 0x20003;
+       test_slk(0, 0, "Recovery doesn't roll forward");
+       TEST_EQ(kernel_version, 0x10002, "  version");
+       TEST_TRUE(commit_data_called, "  commit data");
+
+       /* Boot recovery - phase1 failure */
+       reset_common_data();
+       sd->recovery_reason = 123;
+       kernel_phase1_retval = VB2_ERROR_MOCK;
+       test_slk(VB2_ERROR_MOCK, 0, "Recovery phase1 failure");
+       TEST_FALSE(commit_data_called, "  no commit data");
+
+       /* Boot recovery - memory retraining */
+       reset_common_data();
+       sd->recovery_reason = VB2_RECOVERY_TRAIN_AND_REBOOT;
+       test_slk(VB2_REQUEST_REBOOT, 0, "Recovery train and reboot");
+       TEST_FALSE(commit_data_called, "  no commit data");
+
+       /* Boot BROKEN recovery */
+       reset_common_data();
+       sd->recovery_reason = 123;
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_SUBCODE, 13);
+       test_slk(0, 0, "BROKEN recovery");
+       TEST_TRUE(commit_data_called, "  commit data");
+
+       /* Boot manual recovery */
+       reset_common_data();
+       sd->recovery_reason = VB2_RECOVERY_RO_MANUAL;
+       vb2_nv_set(ctx, VB2_NV_RECOVERY_SUBCODE, 13);
+       ctx->flags &= VB2_CONTEXT_FORCE_RECOVERY_MODE;
+       test_slk(0, 0, "Manual recovery");
+       TEST_TRUE(commit_data_called, "  commit data");
+}
+
+int main(void)
+{
+       select_and_load_kernel_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vboot_api_kernel_tests.c b/tests/vboot_api_kernel_tests.c
new file mode 100644 (file)
index 0000000..b66c432
--- /dev/null
@@ -0,0 +1,642 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for VbTryLoadKernel()
+ */
+
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2sysincludes.h"
+#include "load_kernel_fw.h"
+#include "test_common.h"
+#include "vboot_api.h"
+#include "vboot_test.h"
+
+#define MAX_TEST_DISKS 10
+#define DEFAULT_COUNT -1
+
+typedef struct {
+       uint64_t bytes_per_lba;
+       uint64_t lba_count;
+       uint32_t flags;
+       const char *diskname;
+} disk_desc_t;
+
+typedef struct {
+       const char *name;
+
+       /* inputs for test case */
+       uint32_t ctx_flags;
+       uint32_t want_flags;
+       vb2_error_t diskgetinfo_return_val;
+       disk_desc_t disks_to_provide[MAX_TEST_DISKS];
+       int disk_count_to_return;
+       vb2_error_t loadkernel_return_val[MAX_TEST_DISKS];
+       uint8_t external_expected[MAX_TEST_DISKS];
+
+       /* outputs from test */
+       uint32_t expected_recovery_request_val;
+       const char *expected_to_find_disk;
+       const char *expected_to_load_disk;
+       uint32_t expected_return_val;
+
+} test_case_t;
+
+/****************************************************************************/
+/* Test cases */
+
+static const char pickme[] = "correct choice";
+#define DONT_CARE ((const char *)42)
+
+test_case_t normal_tests[] = {
+       {
+               .name = "first drive (removable)",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_REMOVABLE | VB_DISK_FLAG_FIXED,
+               .disks_to_provide = {
+                       {4096, 100, VB_DISK_FLAG_REMOVABLE, pickme},
+                       {4096, 100, VB_DISK_FLAG_FIXED, "holygrail"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {0},
+               .external_expected = {0},
+
+               .expected_recovery_request_val = VB2_RECOVERY_NOT_REQUESTED,
+               .expected_to_find_disk = pickme,
+               .expected_to_load_disk = pickme,
+               .expected_return_val = VB2_SUCCESS
+       },
+       {
+               .name = "first drive (fixed)",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_REMOVABLE | VB_DISK_FLAG_FIXED,
+               .disks_to_provide = {
+                       {4096, 100, VB_DISK_FLAG_FIXED, pickme},
+                       {4096, 100, VB_DISK_FLAG_REMOVABLE, "holygrail"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {0},
+               .external_expected = {0},
+
+               .expected_recovery_request_val = VB2_RECOVERY_NOT_REQUESTED,
+               .expected_to_find_disk = pickme,
+               .expected_to_load_disk = pickme,
+               .expected_return_val = VB2_SUCCESS
+       },
+       {
+               .name = "first removable drive",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_REMOVABLE,
+               .disks_to_provide = {
+                       /* too small */
+                       {512,  10,   VB_DISK_FLAG_REMOVABLE, 0},
+                       /* wrong LBA */
+                       {511, 100,  VB_DISK_FLAG_REMOVABLE, 0},
+                       /* not a power of 2 */
+                       {2047, 100,  VB_DISK_FLAG_REMOVABLE, 0},
+                       /* wrong type */
+                       {512,  100,  VB_DISK_FLAG_FIXED, 0},
+                       /* wrong flags */
+                       {512,  100,  0, 0},
+                       /* still wrong flags */
+                       {512,  100,  -1, 0},
+                       {4096, 100,  VB_DISK_FLAG_REMOVABLE, pickme},
+                       /* already got one */
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, "holygrail"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {0},
+               .external_expected = {0},
+
+               .expected_recovery_request_val = VB2_RECOVERY_NOT_REQUESTED,
+               .expected_to_find_disk = pickme,
+               .expected_to_load_disk = pickme,
+               .expected_return_val = VB2_SUCCESS
+       },
+       {
+               .name = "first removable drive (skip external GPT)",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_REMOVABLE,
+               .disks_to_provide = {
+                       /* too small */
+                       {512,  10,   VB_DISK_FLAG_REMOVABLE, 0},
+                       /* wrong LBA */
+                       {511, 100,  VB_DISK_FLAG_REMOVABLE, 0},
+                       /* not a power of 2 */
+                       {2047, 100,  VB_DISK_FLAG_REMOVABLE, 0},
+                       /* wrong type */
+                       {512,  100,  VB_DISK_FLAG_FIXED, 0},
+                       /* wrong flags */
+                       {512,  100,  0, 0},
+                       /* still wrong flags */
+                       {512,  100,  -1, 0},
+                       {512,  100,
+                        VB_DISK_FLAG_REMOVABLE | VB_DISK_FLAG_EXTERNAL_GPT,
+                        pickme},
+                       /* already got one */
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, "holygrail"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {0, 0},
+               .external_expected = {1, 0},
+
+               .expected_recovery_request_val = VB2_RECOVERY_NOT_REQUESTED,
+               .expected_to_find_disk = pickme,
+               .expected_to_load_disk = pickme,
+               .expected_return_val = VB2_SUCCESS
+       },
+       {
+               .name = "second removable drive",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_REMOVABLE,
+               .disks_to_provide = {
+                       /* wrong flags */
+                       {512,  100,  0, 0},
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, "not yet"},
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, pickme},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {VB2_ERROR_LK_INVALID_KERNEL_FOUND, 0},
+
+               .expected_recovery_request_val = VB2_RECOVERY_NOT_REQUESTED,
+               .expected_to_find_disk = pickme,
+               .expected_to_load_disk = pickme,
+               .expected_return_val = VB2_SUCCESS
+       },
+       {
+               .name = "first fixed drive",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_FIXED,
+               .disks_to_provide = {
+                       /* too small */
+                       {512,   10,  VB_DISK_FLAG_FIXED, 0},
+                       /* wrong LBA */
+                       {511, 100,  VB_DISK_FLAG_FIXED, 0},
+                       /* not a power of 2 */
+                       {2047, 100,  VB_DISK_FLAG_REMOVABLE, 0},
+                       /* wrong type */
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, 0},
+                       /* wrong flags */
+                       {512,  100,  0, 0},
+                       /* still wrong flags */
+                       {512,  100,  -1, 0},
+                       /* flags */
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE|VB_DISK_FLAG_FIXED,
+                        0},
+                       {512,  100,  VB_DISK_FLAG_FIXED, pickme},
+                       /* already got one */
+                       {512,  100,  VB_DISK_FLAG_FIXED, "holygrail"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {0},
+
+               .expected_recovery_request_val = VB2_RECOVERY_NOT_REQUESTED,
+               .expected_to_find_disk = pickme,
+               .expected_to_load_disk = pickme,
+               .expected_return_val = VB2_SUCCESS
+       },
+       {
+               .name = "no drives at all",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_FIXED,
+               .disks_to_provide = {},
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+
+               .expected_recovery_request_val = VB2_RECOVERY_RW_NO_DISK,
+               .expected_to_find_disk = 0,
+               .expected_to_load_disk = 0,
+               .expected_return_val = VB2_ERROR_LK_NO_DISK_FOUND
+       },
+       {
+               .name = "VbExDiskGetInfo() error",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_FIXED,
+               .disks_to_provide = {
+                       {512,  10, VB_DISK_FLAG_REMOVABLE, 0},
+                       {512, 100, VB_DISK_FLAG_FIXED, 0},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_ERROR_UNKNOWN,
+
+               .expected_recovery_request_val = VB2_RECOVERY_RW_NO_DISK,
+               .expected_to_find_disk = 0,
+               .expected_to_load_disk = 0,
+               .expected_return_val = VB2_ERROR_LK_NO_DISK_FOUND,
+       },
+       {
+               .name = "invalid kernel",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_FIXED,
+               .disks_to_provide = {
+                       /* too small */
+                       {512,   10,  VB_DISK_FLAG_FIXED, 0},
+                       /* wrong LBA */
+                       {511, 100,  VB_DISK_FLAG_FIXED, 0},
+                       /* not a power of 2 */
+                       {2047, 100,  VB_DISK_FLAG_FIXED, 0},
+                       /* wrong type */
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, 0},
+                       /* wrong flags */
+                       {512,  100,  0, 0},
+                       /* still wrong flags */
+                       {512,  100,  -1, 0},
+                       /* doesn't load */
+                       {512,  100,  VB_DISK_FLAG_FIXED, "corrupted kernel"},
+                       /* doesn't load */
+                       {512,  100,  VB_DISK_FLAG_FIXED, "stateful partition"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                                         VB2_ERROR_LK_NO_KERNEL_FOUND},
+
+               .expected_recovery_request_val = VB2_RECOVERY_RW_INVALID_OS,
+               .expected_to_find_disk = DONT_CARE,
+               .expected_to_load_disk = 0,
+               .expected_return_val = VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+       },
+       {
+               .name = "invalid kernel, order flipped",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_FIXED,
+               .disks_to_provide = {
+                       {512, 1000, VB_DISK_FLAG_FIXED, "stateful partition"},
+                       {512, 1000, VB_DISK_FLAG_FIXED, "corrupted kernel"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {VB2_ERROR_LK_NO_KERNEL_FOUND,
+                                         VB2_ERROR_LK_INVALID_KERNEL_FOUND},
+
+               .expected_recovery_request_val = VB2_RECOVERY_RW_INVALID_OS,
+               .expected_to_find_disk = DONT_CARE,
+               .expected_to_load_disk = 0,
+               .expected_return_val = VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+       },
+       {
+               .name = "no Chrome OS partitions",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_FIXED,
+               .disks_to_provide = {
+                       {512, 100, VB_DISK_FLAG_FIXED, "stateful partition"},
+                       {512, 1000, VB_DISK_FLAG_FIXED, "Chrubuntu"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {VB2_ERROR_LK_NO_KERNEL_FOUND,
+                                         VB2_ERROR_LK_NO_KERNEL_FOUND},
+
+               .expected_recovery_request_val = VB2_RECOVERY_RW_NO_KERNEL,
+               .expected_to_find_disk = DONT_CARE,
+               .expected_to_load_disk = 0,
+               .expected_return_val = VB2_ERROR_LK_NO_KERNEL_FOUND,
+       },
+       {
+               .name = "invalid kernel (removable)",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_REMOVABLE,
+               .disks_to_provide = {
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, "corrupted"},
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, "data"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                                         VB2_ERROR_LK_NO_KERNEL_FOUND},
+
+               .expected_recovery_request_val = VB2_RECOVERY_RW_INVALID_OS,
+               .expected_to_find_disk = DONT_CARE,
+               .expected_to_load_disk = 0,
+               .expected_return_val = VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+       },
+       {
+               .name = "invalid kernel (removable, rec mode)",
+               .ctx_flags = VB2_CONTEXT_RECOVERY_MODE,
+               .want_flags = VB_DISK_FLAG_REMOVABLE,
+               .disks_to_provide = {
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, "corrupted"},
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, "data"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                                         VB2_ERROR_LK_NO_KERNEL_FOUND},
+
+               .expected_recovery_request_val = VB2_RECOVERY_NOT_REQUESTED,
+               .expected_to_find_disk = DONT_CARE,
+               .expected_to_load_disk = 0,
+               .expected_return_val = VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+       },
+       {
+               .name = "invalid kernel (removable, dev mode)",
+               .ctx_flags = VB2_CONTEXT_DEVELOPER_MODE,
+               .want_flags = VB_DISK_FLAG_REMOVABLE,
+               .disks_to_provide = {
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, "corrupted"},
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, "data"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                                         VB2_ERROR_LK_NO_KERNEL_FOUND},
+
+               .expected_recovery_request_val = VB2_RECOVERY_NOT_REQUESTED,
+               .expected_to_find_disk = DONT_CARE,
+               .expected_to_load_disk = 0,
+               .expected_return_val = VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+       },
+       {
+               .name = "no kernel (removable)",
+               .ctx_flags = 0,
+               .want_flags = VB_DISK_FLAG_REMOVABLE,
+               .disks_to_provide = {
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, "data"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {VB2_ERROR_LK_NO_KERNEL_FOUND},
+
+               .expected_recovery_request_val = VB2_RECOVERY_RW_NO_KERNEL,
+               .expected_to_find_disk = DONT_CARE,
+               .expected_to_load_disk = 0,
+               .expected_return_val = VB2_ERROR_LK_NO_KERNEL_FOUND,
+       },
+       {
+               .name = "no kernel (removable, rec mode)",
+               .ctx_flags = VB2_CONTEXT_RECOVERY_MODE,
+               .want_flags = VB_DISK_FLAG_REMOVABLE,
+               .disks_to_provide = {
+                       {512,  100,  VB_DISK_FLAG_REMOVABLE, "data"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {VB2_ERROR_LK_NO_KERNEL_FOUND},
+
+               .expected_recovery_request_val = VB2_RECOVERY_NOT_REQUESTED,
+               .expected_to_find_disk = DONT_CARE,
+               .expected_to_load_disk = 0,
+               .expected_return_val = VB2_ERROR_LK_NO_KERNEL_FOUND,
+       },
+};
+
+test_case_t minios_tests[] = {
+       {
+               .name = "pick first fixed drive",
+               .ctx_flags = 0,
+               .disks_to_provide = {
+                       {4096, 100, VB_DISK_FLAG_REMOVABLE, 0},
+                       {4096, 100, VB_DISK_FLAG_FIXED, pickme},
+                       {4096, 100, VB_DISK_FLAG_FIXED, "holygrail"},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {0},
+               .external_expected = {0},
+
+               .expected_recovery_request_val = VB2_RECOVERY_NOT_REQUESTED,
+               .expected_to_find_disk = pickme,
+               .expected_to_load_disk = pickme,
+               .expected_return_val = VB2_SUCCESS
+       },
+       {
+               .name = "skip failed fixed drive",
+               .ctx_flags = 0,
+               .disks_to_provide = {
+                       {4096, 100, VB_DISK_FLAG_FIXED, "holygrail"},
+                       {4096, 100, VB_DISK_FLAG_FIXED, pickme},
+               },
+               .disk_count_to_return = DEFAULT_COUNT,
+               .diskgetinfo_return_val = VB2_SUCCESS,
+               .loadkernel_return_val = {VB2_ERROR_LK_INVALID_KERNEL_FOUND, 0},
+               .external_expected = {0},
+
+               .expected_recovery_request_val = VB2_RECOVERY_NOT_REQUESTED,
+               .expected_to_find_disk = pickme,
+               .expected_to_load_disk = pickme,
+               .expected_return_val = VB2_SUCCESS
+       },
+};
+
+/****************************************************************************/
+
+/* Mock data */
+static VbDiskInfo mock_disks[MAX_TEST_DISKS];
+static test_case_t *t;
+static int load_kernel_calls;
+static int lk_normal_calls;
+static int lk_minios_calls;
+static uint32_t got_recovery_request_val;
+static const char *got_find_disk;
+static const char *got_load_disk;
+static uint32_t got_return_val;
+static uint32_t got_external_mismatch;
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct VbSelectAndLoadKernelParams kparams;
+
+/**
+ * Reset mock data (for use before each test)
+ */
+static void ResetMocks(test_case_t *test_case)
+{
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+
+       memset(&kparams, 0, sizeof(VbSelectAndLoadKernelParams));
+       *VbApiKernelGetParamsPtr() = &kparams;
+
+
+       memset(&mock_disks, 0, sizeof(mock_disks));
+       load_kernel_calls = 0;
+       lk_normal_calls = 0;
+       lk_minios_calls = 0;
+
+       got_recovery_request_val = VB2_RECOVERY_NOT_REQUESTED;
+       got_find_disk = 0;
+       got_load_disk = 0;
+       got_return_val = 0xdeadbeef;
+
+       t = test_case;
+}
+
+static int is_nonzero(const void *vptr, size_t count)
+{
+       const char *p = (const char *)vptr;
+       while (count--)
+               if (*p++)
+                       return 1;
+
+       return 0;
+}
+
+/****************************************************************************/
+/* Mocked verification functions */
+
+vb2_error_t VbExDiskGetInfo(VbDiskInfo **infos_ptr, uint32_t *count,
+                           uint32_t disk_flags)
+{
+       int i;
+       int num_disks = 0;
+
+       VB2_DEBUG("My %s\n", __FUNCTION__);
+
+       *infos_ptr = mock_disks;
+
+       for(i = 0; i < MAX_TEST_DISKS; i++) {
+               if (is_nonzero(&t->disks_to_provide[i],
+                              sizeof(t->disks_to_provide[i]))) {
+                       mock_disks[num_disks].bytes_per_lba =
+                               t->disks_to_provide[i].bytes_per_lba;
+                       mock_disks[num_disks].lba_count =
+                               mock_disks[num_disks].streaming_lba_count =
+                               t->disks_to_provide[i].lba_count;
+                       mock_disks[num_disks].flags =
+                               t->disks_to_provide[i].flags;
+                       mock_disks[num_disks].handle = (VbExDiskHandle_t)
+                               t->disks_to_provide[i].diskname;
+                       VB2_DEBUG("  mock_disk[%d] %" PRIu64 " %" PRIu64
+                                 " %#x %s\n", i,
+                                 mock_disks[num_disks].bytes_per_lba,
+                                 mock_disks[num_disks].lba_count,
+                                 mock_disks[num_disks].flags,
+                                 (mock_disks[num_disks].handle
+                                  ? (char *)mock_disks[num_disks].handle
+                                  : "0"));
+                       num_disks++;
+               } else {
+                       mock_disks[num_disks].handle =
+                               (VbExDiskHandle_t)"INVALID";
+               }
+       }
+
+       if (t->disk_count_to_return >= 0)
+               *count = t->disk_count_to_return;
+       else
+               *count = num_disks;
+
+       VB2_DEBUG("  *count=%" PRIu32 "\n", *count);
+       VB2_DEBUG("  return %#x\n", t->diskgetinfo_return_val);
+
+       return t->diskgetinfo_return_val;
+}
+
+vb2_error_t VbExDiskFreeInfo(VbDiskInfo *infos,
+                          VbExDiskHandle_t preserve_handle)
+{
+       got_load_disk = (const char *)preserve_handle;
+       VB2_DEBUG("%s(): got_load_disk = %s\n", __FUNCTION__,
+                 got_load_disk ? got_load_disk : "0");
+       return VB2_SUCCESS;
+}
+
+static vb2_error_t LoadKernelImpl(struct vb2_context *c,
+                                 VbSelectAndLoadKernelParams *params,
+                                 VbDiskInfo *disk_info)
+{
+       got_find_disk = (const char *)params->disk_handle;
+       VB2_DEBUG("%s(%d): got_find_disk = %s\n", __FUNCTION__,
+                 load_kernel_calls,
+                 got_find_disk ? got_find_disk : "0");
+       if (t->external_expected[load_kernel_calls] !=
+                       !!(disk_info->flags & VB_DISK_FLAG_EXTERNAL_GPT))
+               got_external_mismatch++;
+       return t->loadkernel_return_val[load_kernel_calls++];
+}
+
+vb2_error_t LoadKernel(struct vb2_context *c,
+                      VbSelectAndLoadKernelParams *params,
+                      VbDiskInfo *disk_info)
+{
+       lk_normal_calls++;
+       return LoadKernelImpl(c, params, disk_info);
+}
+
+vb2_error_t LoadMiniOsKernel(struct vb2_context *c,
+                            VbSelectAndLoadKernelParams *params,
+                            VbDiskInfo *disk_info, uint32_t minios_flags)
+{
+       lk_minios_calls++;
+       return LoadKernelImpl(c, params, disk_info);
+}
+
+void vb2_nv_set(struct vb2_context *c,
+               enum vb2_nv_param param,
+               uint32_t value)
+{
+       if (param != VB2_NV_RECOVERY_REQUEST)
+               return;
+       VB2_DEBUG("%s(): got_recovery_request_val = %d (%#x)\n", __FUNCTION__,
+                 value, value);
+       got_recovery_request_val = value;
+}
+
+/****************************************************************************/
+
+static void VbTryLoadKernelTest(void)
+{
+       int i;
+       int num_tests = ARRAY_SIZE(normal_tests);
+
+       for (i = 0; i < num_tests; i++) {
+               printf("Test case: %s ...\n", normal_tests[i].name);
+               ResetMocks(&normal_tests[i]);
+               ctx->flags = t->ctx_flags;
+               TEST_EQ(VbTryLoadKernel(ctx, t->want_flags),
+                       t->expected_return_val, "  return value");
+               TEST_EQ(got_recovery_request_val,
+                       t->expected_recovery_request_val, "  recovery_request");
+               if (t->expected_to_find_disk != DONT_CARE) {
+                       TEST_PTR_EQ(got_find_disk, t->expected_to_find_disk,
+                                   "  find disk");
+                       TEST_PTR_EQ(got_load_disk, t->expected_to_load_disk,
+                                   "  load disk");
+               }
+               TEST_EQ(got_external_mismatch, 0, "  external GPT errors");
+       }
+       TEST_EQ(lk_normal_calls, load_kernel_calls, "  LoadKernel called");
+       TEST_EQ(lk_minios_calls, 0, "  LoadMiniOsKernel not called");
+}
+
+static void VbTryLoadMiniOsKernelTest(void)
+{
+       int i;
+       int num_tests =  ARRAY_SIZE(minios_tests);
+
+       for (i = 0; i < num_tests; i++) {
+               printf("Test case: %s ...\n", minios_tests[i].name);
+               ResetMocks(&minios_tests[i]);
+               ctx->flags = t->ctx_flags;
+               TEST_EQ(VbTryLoadMiniOsKernel(ctx, 0),
+                       t->expected_return_val, "  return value");
+               TEST_EQ(got_recovery_request_val,
+                       t->expected_recovery_request_val, "  recovery_request");
+               if (t->expected_to_find_disk != DONT_CARE) {
+                       TEST_PTR_EQ(got_find_disk, t->expected_to_find_disk,
+                                   "  find disk");
+                       TEST_PTR_EQ(got_load_disk, t->expected_to_load_disk,
+                                   "  load disk");
+               }
+               TEST_EQ(got_external_mismatch, 0, "  external GPT errors");
+       }
+       TEST_EQ(lk_normal_calls, 0, "  LoadKernel not called");
+       TEST_EQ(lk_minios_calls, load_kernel_calls,
+               "  LoadMiniOsKernel called");
+}
+
+int main(void)
+{
+       VbTryLoadKernelTest();
+       VbTryLoadMiniOsKernelTest();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vboot_kernel2_tests.c b/tests/vboot_kernel2_tests.c
new file mode 100644 (file)
index 0000000..5fc66f1
--- /dev/null
@@ -0,0 +1,459 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for miniOS kernel selection, loading, verification, and booting.
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2secdata.h"
+#include "load_kernel_fw.h"
+#include "test_common.h"
+#include "vboot_api.h"
+
+#define MAX_MOCK_KERNELS 10
+#define KBUF_SIZE 65536
+
+/* Internal struct to simulate a stream for sector-based disks */
+struct disk_stream {
+       /* Disk handle */
+       VbExDiskHandle_t handle;
+
+       /* Next sector to read */
+       uint64_t sector;
+
+       /* Number of sectors left */
+       uint64_t sectors_left;
+};
+
+/* Represent a "kernel" located on the disk */
+struct mock_kernel {
+       /* Sector where the kernel begins */
+       uint64_t sector;
+
+       /* Return value from vb2_load_partition */
+       vb2_error_t rv;
+
+       /* Number of times the sector was read */
+       int read_count;
+};
+
+/* Mock data */
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+static struct vb2_workbuf wb;
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static enum vb2_boot_mode *boot_mode;
+
+static VbSelectAndLoadKernelParams lkp;
+static VbDiskInfo disk_info;
+static struct vb2_keyblock kbh;
+static struct vb2_kernel_preamble kph;
+static uint8_t kernel_buffer[80000];
+
+static struct mock_kernel kernels[MAX_MOCK_KERNELS];
+static int kernel_count;
+static struct mock_kernel *cur_kernel;
+
+static int mock_tpm_set_mode_calls;
+
+static void add_mock_kernel(uint64_t sector, vb2_error_t rv)
+{
+       if (kernel_count >= ARRAY_SIZE(kernels)) {
+               TEST_TRUE(0, "  kernel_count ran out of entries!");
+               return;
+       }
+
+       kernels[kernel_count].sector = sector;
+       kernels[kernel_count].rv = rv;
+       kernel_count++;
+}
+
+static void reset_common_data(void)
+{
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+       vb2_workbuf_from_ctx(ctx, &wb);
+       vb2_nv_init(ctx);
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       ctx->flags = VB2_CONTEXT_RECOVERY_MODE;
+
+       boot_mode = (enum vb2_boot_mode *)&ctx->boot_mode;
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+
+       sd = vb2_get_sd(ctx);
+       sd->kernel_version_secdata = 0xabcdef | (1 << 24);
+
+       memset(&lkp, 0, sizeof(lkp));
+       lkp.kernel_buffer = kernel_buffer;
+       lkp.kernel_buffer_size = sizeof(kernel_buffer);
+       lkp.disk_handle = (VbExDiskHandle_t)1;
+
+       memset(&disk_info, 0, sizeof(disk_info));
+       disk_info.bytes_per_lba = 512;
+       disk_info.lba_count = 1024;
+       disk_info.handle = lkp.disk_handle;
+
+       memset(&kbh, 0, sizeof(kbh));
+       kbh.data_key.key_version = 2;
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_DEVELOPER_0
+               | VB2_KEYBLOCK_FLAG_DEVELOPER_1
+               | VB2_KEYBLOCK_FLAG_RECOVERY_1
+               | VB2_KEYBLOCK_FLAG_MINIOS_1;
+       kbh.keyblock_size = sizeof(kbh);
+
+       memset(&kph, 0, sizeof(kph));
+       kph.kernel_version = 1;
+       kph.preamble_size = 4096 - kbh.keyblock_size;
+       kph.body_signature.data_size = 0;
+       kph.bootloader_address = 0xbeadd008;
+       kph.bootloader_size = 0x1234;
+
+
+       memset(&kernels, 0, sizeof(kernels));
+       kernel_count = 0;
+       cur_kernel = NULL;
+
+       mock_tpm_set_mode_calls = 0;
+}
+
+/* Mocks */
+
+vb2_error_t VbExStreamOpen(VbExDiskHandle_t handle, uint64_t lba_start,
+                          uint64_t lba_count, VbExStream_t *stream)
+{
+       struct disk_stream *s;
+       uint64_t i;
+
+       if (!handle) {
+               *stream = NULL;
+               return VB2_ERROR_UNKNOWN;
+       }
+
+       if (lba_start + lba_count > disk_info.lba_count)
+               return VB2_ERROR_UNKNOWN;
+
+       s = malloc(sizeof(*s));
+       s->handle = handle;
+       s->sector = lba_start;
+       s->sectors_left = lba_count;
+
+       *stream = (void *)s;
+
+       for (i = 0; i < kernel_count; i++) {
+               if (kernels[i].sector == lba_start)
+                       cur_kernel = &kernels[i];
+       }
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t VbExStreamRead(VbExStream_t stream, uint32_t bytes, void *buffer)
+{
+       struct disk_stream *s = (struct disk_stream *)stream;
+       uint64_t sectors;
+       uint64_t i;
+
+       if (!s)
+               return VB2_ERROR_UNKNOWN;
+
+       /* For now, require reads to be a multiple of the LBA size */
+       if (bytes % disk_info.bytes_per_lba)
+               return VB2_ERROR_UNKNOWN;
+
+       /* Fail on overflow */
+       sectors = bytes / disk_info.bytes_per_lba;
+       if (sectors > s->sectors_left)
+               return VB2_ERROR_UNKNOWN;
+
+       memset(buffer, 0, bytes);
+       for (i = 0; i < kernel_count; i++) {
+               if (kernels[i].sector >= s->sector &&
+                   kernels[i].sector < s->sector + sectors) {
+                       VB2_DEBUG("Simulating kernel %" PRIu64 " match\n", i);
+                       uint64_t buf_offset = (kernels[i].sector - s->sector)
+                               * disk_info.bytes_per_lba;
+                       memcpy(buffer + buf_offset, VB2_KEYBLOCK_MAGIC,
+                              VB2_KEYBLOCK_MAGIC_SIZE);
+                       kernels[i].read_count++;
+                       TEST_TRUE(kernels[i].read_count <= 2,
+                                 "  Max read count exceeded");
+               }
+       }
+
+       s->sector += sectors;
+       s->sectors_left -= sectors;
+
+       return VB2_SUCCESS;
+}
+
+void VbExStreamClose(VbExStream_t stream)
+{
+       free(stream);
+}
+
+vb2_error_t vb2_unpack_key_buffer(struct vb2_public_key *key,
+                                 const uint8_t *buf, uint32_t size)
+{
+       return cur_kernel->rv;
+}
+
+vb2_error_t vb2_verify_keyblock(struct vb2_keyblock *block, uint32_t size,
+                               const struct vb2_public_key *key,
+                               const struct vb2_workbuf *w)
+{
+       /* Use this as an opportunity to override the keyblock */
+       memcpy((void *)block, &kbh, sizeof(kbh));
+
+       return cur_kernel->rv;
+}
+
+vb2_error_t vb2_verify_keyblock_hash(const struct vb2_keyblock *block,
+                                    uint32_t size,
+                                    const struct vb2_workbuf *w)
+{
+       /* Use this as an opportunity to override the keyblock */
+       memcpy((void *)block, &kbh, sizeof(kbh));
+
+       return cur_kernel->rv;
+}
+
+vb2_error_t vb2_verify_kernel_preamble(struct vb2_kernel_preamble *preamble,
+                              uint32_t size, const struct vb2_public_key *key,
+                              const struct vb2_workbuf *w)
+{
+       /* Use this as an opportunity to override the preamble */
+       memcpy((void *)preamble, &kph, sizeof(kph));
+
+       return cur_kernel->rv;
+}
+
+vb2_error_t vb2_verify_data(const uint8_t *data, uint32_t size,
+                           struct vb2_signature *sig,
+                           const struct vb2_public_key *key,
+                           const struct vb2_workbuf *w)
+{
+       return cur_kernel->rv;
+}
+
+vb2_error_t vb2_digest_buffer(const uint8_t *buf, uint32_t size,
+                             enum vb2_hash_algorithm hash_alg, uint8_t *digest,
+                             uint32_t digest_size)
+{
+       return cur_kernel->rv;
+}
+
+vb2_error_t vb2ex_tpm_set_mode(enum vb2_tpm_mode mode_val)
+{
+       mock_tpm_set_mode_calls++;
+       return VB2_SUCCESS;
+}
+
+/* Make sure nothing tested here ever calls this directly. */
+void vb2api_fail(struct vb2_context *c, uint8_t reason, uint8_t subcode)
+{
+       TEST_TRUE(0, "  called vb2api_fail()");
+}
+
+/* Tests */
+
+static void load_minios_kernel_tests(void)
+{
+       reset_common_data();
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 1;
+       add_mock_kernel(0, VB2_SUCCESS);
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+                 "{valid kernel}");
+       TEST_EQ(mock_tpm_set_mode_calls, 1,
+               "  TPM disabled");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 1;
+       TEST_EQ(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+               VB2_ERROR_LK_NO_KERNEL_FOUND, "{no kernel}");
+       TEST_EQ(mock_tpm_set_mode_calls, 0,
+               "  TPM not disabled");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 2;
+       add_mock_kernel(1, VB2_SUCCESS);
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+                 "{no kernel, valid kernel}");
+       TEST_EQ(cur_kernel->sector, 1, "  select kernel");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 2;
+       add_mock_kernel(0, VB2_ERROR_MOCK);
+       add_mock_kernel(1, VB2_SUCCESS);
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+                 "{invalid kernel, valid kernel}");
+       TEST_EQ(cur_kernel->sector, 1, "  select second kernel");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 2;
+       add_mock_kernel(0, VB2_ERROR_MOCK);
+       add_mock_kernel(1, VB2_ERROR_MOCK);
+       TEST_EQ(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+               VB2_ERROR_LK_NO_KERNEL_FOUND,
+               "{invalid kernel, invalid kernel}");
+       TEST_EQ(mock_tpm_set_mode_calls, 0,
+               "  TPM not disabled");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 2;
+       add_mock_kernel(0, VB2_SUCCESS);
+       add_mock_kernel(1, VB2_SUCCESS);
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+                 "{valid kernel, valid kernel} minios_priority=0");
+       TEST_EQ(cur_kernel->sector, 0, "  select first kernel");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 2;
+       add_mock_kernel(0, VB2_SUCCESS);
+       add_mock_kernel(1, VB2_SUCCESS);
+       vb2_nv_set(ctx, VB2_NV_MINIOS_PRIORITY, 1);
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+                 "{valid kernel, valid kernel} minios_priority=1");
+       TEST_EQ(cur_kernel->sector, 1, "  select second kernel");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 2;
+       add_mock_kernel(0, VB2_SUCCESS);
+       add_mock_kernel(1, VB2_SUCCESS);
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info,
+                                  VB_MINIOS_FLAG_NON_ACTIVE),
+                 "{valid kernel, valid kernel} minios_priority=0 non-active");
+       TEST_EQ(cur_kernel->sector, 1, "  select second kernel");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 2;
+       add_mock_kernel(0, VB2_ERROR_MOCK);
+       add_mock_kernel(1, VB2_SUCCESS);
+       vb2_nv_set(ctx, VB2_NV_MINIOS_PRIORITY, 1);
+       TEST_EQ(LoadMiniOsKernel(ctx, &lkp, &disk_info,
+                                VB_MINIOS_FLAG_NON_ACTIVE),
+               VB2_ERROR_LK_NO_KERNEL_FOUND,
+               "{invalid kernel, valid kernel} minios_priority=1 non-active");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = VB2_KEYBLOCK_MAGIC_SIZE;
+       disk_info.lba_count = 4;
+       add_mock_kernel(1, VB2_SUCCESS);
+       TEST_EQ(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+               VB2_ERROR_LK_NO_KERNEL_FOUND,
+               "valid kernel header near start of disk (disk too small)");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = VB2_KEYBLOCK_MAGIC_SIZE;
+       disk_info.lba_count = 1000;
+       add_mock_kernel(999, VB2_SUCCESS);
+       TEST_EQ(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+               VB2_ERROR_LK_NO_KERNEL_FOUND,
+               "valid kernel header near end of disk");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = 1024;
+       disk_info.lba_count = 128;
+       add_mock_kernel(63, VB2_SUCCESS);
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+                 "start/end overlap assuming >128 MB search range (start)");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = 1024;
+       disk_info.lba_count = 128;
+       add_mock_kernel(64, VB2_SUCCESS);
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+                 "start/end overlap assuming >128 MB search range (end)");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = 128;
+       disk_info.lba_count = 1024;
+       add_mock_kernel(3, VB2_SUCCESS);
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+                 "kernel at last sector in batch assuming 512 KB batches");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = 256;
+       disk_info.lba_count = 1024;
+       add_mock_kernel(3, VB2_SUCCESS);
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+                 "kernel at last sector in batch assuming 1 MB batches");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = 512;
+       disk_info.lba_count = 1024;
+       add_mock_kernel(3, VB2_SUCCESS);
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+                 "kernel at last sector in batch assuming 2 MB batches");
+
+       reset_common_data();
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_DEVELOPER_0
+               | VB2_KEYBLOCK_FLAG_RECOVERY_1
+               | VB2_KEYBLOCK_FLAG_MINIOS_1;
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 2;
+       add_mock_kernel(0, VB2_SUCCESS);
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+                 "kernel with minios keyblock flag");
+
+       reset_common_data();
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_DEVELOPER_0
+               | VB2_KEYBLOCK_FLAG_RECOVERY_1
+               | VB2_KEYBLOCK_FLAG_MINIOS_0;
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 2;
+       add_mock_kernel(0, VB2_SUCCESS);
+       TEST_EQ(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+               VB2_ERROR_LK_NO_KERNEL_FOUND,
+               "kernel with !minios keyblock flag");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 2;
+       add_mock_kernel(0, VB2_SUCCESS);
+       sd->kernel_version_secdata = 5 << 24;
+       kph.kernel_version = 4;
+       TEST_EQ(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+               VB2_ERROR_LK_NO_KERNEL_FOUND,
+               "kernel version too old");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 2;
+       add_mock_kernel(0, VB2_SUCCESS);
+       sd->kernel_version_secdata = 5 << 24;
+       kph.kernel_version = 0x100;
+       TEST_EQ(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+               VB2_ERROR_LK_NO_KERNEL_FOUND,
+               "kernel version greater than 0xff");
+
+       reset_common_data();
+       disk_info.bytes_per_lba = KBUF_SIZE;
+       disk_info.lba_count = 2;
+       add_mock_kernel(0, VB2_SUCCESS);
+       sd->kernel_version_secdata = 5 << 24;
+       kph.kernel_version = 6;
+       TEST_SUCC(LoadMiniOsKernel(ctx, &lkp, &disk_info, 0),
+                "newer kernel version");
+}
+
+int main(void)
+{
+       load_minios_kernel_tests();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/vboot_kernel_tests.c b/tests/vboot_kernel_tests.c
new file mode 100644 (file)
index 0000000..1f77cc5
--- /dev/null
@@ -0,0 +1,625 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Tests for vboot_kernel.c
+ */
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2secdata.h"
+#include "2secdata_struct.h"
+#include "cgptlib.h"
+#include "cgptlib_internal.h"
+#include "gpt.h"
+#include "load_kernel_fw.h"
+#include "test_common.h"
+#include "vboot_api.h"
+
+/* Mock kernel partition */
+struct mock_part {
+       uint32_t start;
+       uint32_t size;
+};
+
+/* Partition list; ends with a 0-size partition. */
+#define MOCK_PART_COUNT 8
+static struct mock_part mock_parts[MOCK_PART_COUNT];
+static int mock_part_next;
+
+/* Mock data */
+static uint8_t kernel_buffer[80000];
+static int disk_read_to_fail;
+static int gpt_init_fail;
+static int keyblock_verify_fail;  /* 0=ok, 1=sig, 2=hash */
+static int preamble_verify_fail;
+static int verify_data_fail;
+static int unpack_key_fail;
+static int gpt_flag_external;
+
+static struct vb2_gbb_header gbb;
+static VbSelectAndLoadKernelParams lkp;
+static VbDiskInfo disk_info;
+static struct vb2_keyblock kbh;
+static struct vb2_kernel_preamble kph;
+static struct vb2_secdata_fwmp *fwmp;
+static uint8_t mock_digest[VB2_SHA256_DIGEST_SIZE] = {12, 34, 56, 78};
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+static struct vb2_packed_key mock_key;
+static enum vb2_boot_mode *boot_mode;
+
+/**
+ * Reset mock data (for use before each test)
+ */
+static void ResetMocks(void)
+{
+       disk_read_to_fail = -1;
+
+       gpt_init_fail = 0;
+       keyblock_verify_fail = 0;
+       preamble_verify_fail = 0;
+       verify_data_fail = 0;
+       unpack_key_fail = 0;
+
+       gpt_flag_external = 0;
+
+       memset(&gbb, 0, sizeof(gbb));
+       gbb.major_version = VB2_GBB_MAJOR_VER;
+       gbb.minor_version = VB2_GBB_MINOR_VER;
+       gbb.flags = 0;
+
+       memset(&lkp, 0, sizeof(lkp));
+       lkp.kernel_buffer = kernel_buffer;
+       lkp.kernel_buffer_size = sizeof(kernel_buffer);
+       lkp.disk_handle = (VbExDiskHandle_t)1;
+
+       memset(&disk_info, 0, sizeof(disk_info));
+       disk_info.bytes_per_lba = 512;
+       disk_info.streaming_lba_count = 1024;
+       disk_info.lba_count = 1024;
+       disk_info.handle = lkp.disk_handle;
+
+       memset(&kbh, 0, sizeof(kbh));
+       kbh.data_key.key_version = 2;
+       kbh.keyblock_flags = -1;
+       kbh.keyblock_size = sizeof(kbh);
+
+       memset(&kph, 0, sizeof(kph));
+       kph.kernel_version = 1;
+       kph.preamble_size = 4096 - kbh.keyblock_size;
+       kph.body_signature.data_size = 70144;
+       kph.bootloader_address = 0xbeadd008;
+       kph.bootloader_size = 0x1234;
+
+       memset(mock_parts, 0, sizeof(mock_parts));
+       mock_parts[0].start = 100;
+       mock_parts[0].size = 150;  /* 75 KB */
+       mock_part_next = 0;
+
+       memset(&mock_key, 0, sizeof(mock_key));
+
+       TEST_SUCC(vb2api_init(workbuf, sizeof(workbuf), &ctx),
+                 "vb2api_init failed");
+       vb2_nv_init(ctx);
+
+       sd = vb2_get_sd(ctx);
+       sd->kernel_version_secdata = 0x20001;
+
+       /* CRC will be invalid after here, but nobody's checking */
+       sd->status |= VB2_SD_STATUS_SECDATA_FWMP_INIT;
+       fwmp = (struct vb2_secdata_fwmp *)ctx->secdata_fwmp;
+       memcpy(&fwmp->dev_key_hash, mock_digest, sizeof(fwmp->dev_key_hash));
+
+       boot_mode = (enum vb2_boot_mode *)&ctx->boot_mode;
+       *boot_mode = VB2_BOOT_MODE_NORMAL;
+
+       // TODO: more workbuf fields - flags, secdata_firmware
+
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+       vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS,
+                       VB2_SECDATA_KERNEL_FLAG_HWCRYPTO_ALLOWED);
+}
+
+/* Mocks */
+struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
+{
+       return &gbb;
+}
+
+vb2_error_t vb2ex_read_resource(struct vb2_context *c,
+                               enum vb2_resource_index index, uint32_t offset,
+                               void *buf, uint32_t size)
+{
+       memset(buf, 0, size);
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_gbb_read_root_key(struct vb2_context *c,
+                                 struct vb2_packed_key **keyp, uint32_t *size,
+                                 struct vb2_workbuf *wb)
+{
+       *keyp = &mock_key;
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_gbb_read_recovery_key(struct vb2_context *c,
+                                     struct vb2_packed_key **keyp,
+                                     uint32_t *size, struct vb2_workbuf *wb)
+{
+       *keyp = &mock_key;
+       return VB2_SUCCESS;
+}
+
+vb2_error_t VbExDiskRead(VbExDiskHandle_t h, uint64_t lba_start,
+                        uint64_t lba_count, void *buffer)
+{
+       if ((int)lba_start == disk_read_to_fail)
+               return VB2_ERROR_MOCK;
+
+       return VB2_SUCCESS;
+}
+
+int AllocAndReadGptData(VbExDiskHandle_t disk_handle, GptData *gptdata)
+{
+       return GPT_SUCCESS;
+}
+
+int GptInit(GptData *gpt)
+{
+       return gpt_init_fail;
+}
+
+int GptNextKernelEntry(GptData *gpt, uint64_t *start_sector, uint64_t *size)
+{
+       struct mock_part *p = mock_parts + mock_part_next;
+
+       if (!p->size)
+               return GPT_ERROR_NO_VALID_KERNEL;
+
+       if (gpt->flags & GPT_FLAG_EXTERNAL)
+               gpt_flag_external++;
+
+       gpt->current_kernel = mock_part_next;
+       *start_sector = p->start;
+       *size = p->size;
+       mock_part_next++;
+       return GPT_SUCCESS;
+}
+
+int GptUpdateKernelEntry(GptData *gpt, uint32_t update_type)
+{
+       return GPT_SUCCESS;
+}
+
+int WriteAndFreeGptData(VbExDiskHandle_t disk_handle, GptData *gptdata)
+{
+       return GPT_SUCCESS;
+}
+
+void GetCurrentKernelUniqueGuid(GptData *gpt, void *dest)
+{
+       static char fake_guid[] = "FakeGuid";
+
+       memcpy(dest, fake_guid, sizeof(fake_guid));
+}
+
+vb2_error_t vb2_unpack_key_buffer(struct vb2_public_key *key,
+                                 const uint8_t *buf, uint32_t size)
+{
+       if (--unpack_key_fail == 0)
+               return VB2_ERROR_MOCK;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_verify_keyblock(struct vb2_keyblock *block, uint32_t size,
+                               const struct vb2_public_key *key,
+                               const struct vb2_workbuf *wb)
+{
+       if (keyblock_verify_fail >= 1)
+               return VB2_ERROR_MOCK;
+
+       /* Use this as an opportunity to override the keyblock */
+       memcpy((void *)block, &kbh, sizeof(kbh));
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_verify_keyblock_hash(const struct vb2_keyblock *block,
+                                    uint32_t size,
+                                    const struct vb2_workbuf *wb)
+{
+       if (keyblock_verify_fail >= 2)
+               return VB2_ERROR_MOCK;
+
+       /* Use this as an opportunity to override the keyblock */
+       memcpy((void *)block, &kbh, sizeof(kbh));
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_verify_kernel_preamble(struct vb2_kernel_preamble *preamble,
+                              uint32_t size, const struct vb2_public_key *key,
+                              const struct vb2_workbuf *wb)
+{
+       if (preamble_verify_fail)
+               return VB2_ERROR_MOCK;
+
+       /* Use this as an opportunity to override the preamble */
+       memcpy((void *)preamble, &kph, sizeof(kph));
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_verify_data(const uint8_t *data, uint32_t size,
+                           struct vb2_signature *sig,
+                           const struct vb2_public_key *key,
+                           const struct vb2_workbuf *wb)
+{
+       if (verify_data_fail)
+               return VB2_ERROR_MOCK;
+
+       return VB2_SUCCESS;
+}
+
+vb2_error_t vb2_digest_buffer(const uint8_t *buf, uint32_t size,
+                             enum vb2_hash_algorithm hash_alg, uint8_t *digest,
+                             uint32_t digest_size)
+{
+       memcpy(digest, mock_digest, sizeof(mock_digest));
+       return VB2_SUCCESS;
+}
+
+/* Make sure nothing tested here ever calls this directly. */
+void vb2api_fail(struct vb2_context *c, uint8_t reason, uint8_t subcode)
+{
+       TEST_TRUE(0, "  called vb2api_fail()");
+}
+
+static void TestLoadKernel(int expect_retval, const char *test_name)
+{
+       TEST_EQ(LoadKernel(ctx, &lkp, &disk_info), expect_retval, test_name);
+}
+
+/**
+ * Trivial invalid calls to LoadKernel()
+ */
+static void InvalidParamsTest(void)
+{
+       ResetMocks();
+       gpt_init_fail = 1;
+       TestLoadKernel(VB2_ERROR_LK_NO_KERNEL_FOUND, "Bad GPT");
+
+       /* This causes the stream open call to fail */
+       ResetMocks();
+       lkp.disk_handle = NULL;
+       disk_info.handle = NULL;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND, "Bad disk handle");
+}
+
+static void LoadKernelTest(void)
+{
+       ResetMocks();
+       TestLoadKernel(0, "First kernel good");
+       TEST_EQ(lkp.partition_number, 1, "  part num");
+       TEST_EQ(lkp.bootloader_address, 0xbeadd008, "  bootloader addr");
+       TEST_EQ(lkp.bootloader_size, 0x1234, "  bootloader size");
+       TEST_STR_EQ((char *)lkp.partition_guid, "FakeGuid", "  guid");
+       TEST_EQ(gpt_flag_external, 0, "GPT was internal");
+       TEST_NEQ(sd->flags & VB2_SD_FLAG_KERNEL_SIGNED, 0, "  use signature");
+
+       ResetMocks();
+       mock_parts[1].start = 300;
+       mock_parts[1].size = 150;
+       TestLoadKernel(0, "Two good kernels");
+       TEST_EQ(lkp.partition_number, 1, "  part num");
+       TEST_EQ(mock_part_next, 1, "  didn't read second one");
+
+       /* Fail if no kernels found */
+       ResetMocks();
+       mock_parts[0].size = 0;
+       TestLoadKernel(VB2_ERROR_LK_NO_KERNEL_FOUND, "No kernels");
+
+       /* Skip kernels which are too small */
+       ResetMocks();
+       mock_parts[0].size = 10;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND, "Too small");
+
+       ResetMocks();
+       disk_read_to_fail = 100;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Fail reading kernel start");
+
+       ResetMocks();
+       keyblock_verify_fail = 1;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Fail key block sig");
+
+       /* In dev mode, fail if hash is bad too */
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       keyblock_verify_fail = 2;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Fail key block dev hash");
+
+       /* But just bad sig is ok */
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       keyblock_verify_fail = 1;
+       TestLoadKernel(0, "Succeed keyblock dev sig");
+       TEST_EQ(sd->flags & VB2_SD_FLAG_KERNEL_SIGNED, 0, "  use hash");
+
+       /* In dev mode and requiring signed kernel, fail if sig is bad */
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       vb2_nv_set(ctx, VB2_NV_DEV_BOOT_SIGNED_ONLY, 1);
+       keyblock_verify_fail = 1;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Fail key block dev sig");
+
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_ENABLE_OFFICIAL_ONLY;
+       keyblock_verify_fail = 1;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Fail key block dev sig fwmp");
+
+       /* Check keyblock flags */
+       ResetMocks();
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_RECOVERY_0
+               | VB2_KEYBLOCK_FLAG_DEVELOPER_1
+               | VB2_KEYBLOCK_FLAG_MINIOS_0;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Keyblock dev flag mismatch");
+
+       ResetMocks();
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_RECOVERY_1
+               | VB2_KEYBLOCK_FLAG_DEVELOPER_0
+               | VB2_KEYBLOCK_FLAG_MINIOS_0;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Keyblock rec flag mismatch");
+
+       ResetMocks();
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_RECOVERY_0
+               | VB2_KEYBLOCK_FLAG_DEVELOPER_0
+               | VB2_KEYBLOCK_FLAG_MINIOS_1;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Keyblock minios flag mismatch");
+
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_RECOVERY_1
+               | VB2_KEYBLOCK_FLAG_DEVELOPER_1
+               | VB2_KEYBLOCK_FLAG_MINIOS_0;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Keyblock recdev flag mismatch");
+
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_RECOVERY_1
+               | VB2_KEYBLOCK_FLAG_DEVELOPER_0
+               | VB2_KEYBLOCK_FLAG_MINIOS_0;
+       TestLoadKernel(0, "Keyblock rec flag okay");
+
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE | VB2_CONTEXT_DEVELOPER_MODE;
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_RECOVERY_1
+               | VB2_KEYBLOCK_FLAG_DEVELOPER_0
+               | VB2_KEYBLOCK_FLAG_MINIOS_0;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Keyblock rec!dev flag mismatch");
+
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_RECOVERY_MODE | VB2_CONTEXT_DEVELOPER_MODE;
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_RECOVERY_1
+               | VB2_KEYBLOCK_FLAG_DEVELOPER_1
+               | VB2_KEYBLOCK_FLAG_MINIOS_0;
+       TestLoadKernel(0, "Keyblock recdev flag okay");
+
+       /* Check keyblock flags (dev mode + signed kernel required) */
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       vb2_nv_set(ctx, VB2_NV_DEV_BOOT_SIGNED_ONLY, 1);
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_RECOVERY_1
+               | VB2_KEYBLOCK_FLAG_DEVELOPER_0
+               | VB2_KEYBLOCK_FLAG_MINIOS_0;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Keyblock dev flag mismatch (signed kernel required)");
+
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_ENABLE_OFFICIAL_ONLY;
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_RECOVERY_1
+               | VB2_KEYBLOCK_FLAG_DEVELOPER_0
+               | VB2_KEYBLOCK_FLAG_MINIOS_0;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Keyblock dev flag mismatch (signed kernel required)");
+
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_ENABLE_OFFICIAL_ONLY;
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_RECOVERY_0
+               | VB2_KEYBLOCK_FLAG_DEVELOPER_0
+               | VB2_KEYBLOCK_FLAG_MINIOS_1;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Keyblock dev flag mismatch (signed kernel required)");
+
+       ResetMocks();
+       ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       vb2_nv_set(ctx, VB2_NV_DEV_BOOT_SIGNED_ONLY, 1);
+       kbh.keyblock_flags = VB2_KEYBLOCK_FLAG_RECOVERY_0
+               | VB2_KEYBLOCK_FLAG_DEVELOPER_1
+               | VB2_KEYBLOCK_FLAG_MINIOS_0;
+       TestLoadKernel(0, "Keyblock dev flag okay (signed kernel required)");
+
+       /* Check kernel key version */
+       ResetMocks();
+       kbh.data_key.key_version = 1;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Keyblock kernel key rollback");
+
+       ResetMocks();
+       kbh.data_key.key_version = 0x10000;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Keyblock kernel key version too big");
+
+       ResetMocks();
+       kbh.data_key.key_version = 3;
+       TestLoadKernel(0, "Keyblock version roll forward");
+       TEST_EQ(sd->kernel_version, 0x30001, "  SD version");
+
+       ResetMocks();
+       kbh.data_key.key_version = 3;
+       mock_parts[1].start = 300;
+       mock_parts[1].size = 150;
+       TestLoadKernel(0, "Two kernels roll forward");
+       TEST_EQ(mock_part_next, 2, "  read both");
+       TEST_EQ(sd->kernel_version, 0x30001, "  SD version");
+
+       ResetMocks();
+       kbh.data_key.key_version = 1;
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       TestLoadKernel(0, "Key version ignored in dev mode");
+
+       ResetMocks();
+       kbh.data_key.key_version = 1;
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       TestLoadKernel(0, "Key version ignored in rec mode");
+
+       ResetMocks();
+       unpack_key_fail = 2;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND, "Bad data key");
+
+       ResetMocks();
+       preamble_verify_fail = 1;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND, "Bad preamble");
+
+       ResetMocks();
+       kph.kernel_version = 0;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Kernel version rollback");
+
+       ResetMocks();
+       kph.kernel_version = 0;
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       TestLoadKernel(0, "Kernel version ignored in dev mode");
+
+       ResetMocks();
+       kph.kernel_version = 0;
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       TestLoadKernel(0, "Kernel version ignored in rec mode");
+
+       /* Check kernel version (dev mode + signed kernel required) */
+       ResetMocks();
+       kbh.data_key.key_version = 0;
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       vb2_nv_set(ctx, VB2_NV_DEV_BOOT_SIGNED_ONLY, 1);
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Keyblock key version checked in dev mode "
+                      "(signed kernel required)");
+
+       ResetMocks();
+       kbh.data_key.key_version = 0;
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_ENABLE_OFFICIAL_ONLY;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Keyblock key version checked in dev mode "
+                      "(signed kernel required)");
+
+       /* Check developer key hash - bad */
+       ResetMocks();
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_USE_KEY_HASH;
+       fwmp->dev_key_hash[0]++;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Fail keyblock dev fwmp hash");
+
+       /* Check developer key hash - bad (recovery mode) */
+       ResetMocks();
+       *boot_mode = VB2_BOOT_MODE_MANUAL_RECOVERY;
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_USE_KEY_HASH;
+       fwmp->dev_key_hash[0]++;
+       TestLoadKernel(0, "Bad keyblock dev fwmp hash ignored in rec mode");
+
+       /* Check developer key hash - good */
+       ResetMocks();
+       *boot_mode = VB2_BOOT_MODE_DEVELOPER;
+       fwmp->flags |= VB2_SECDATA_FWMP_DEV_USE_KEY_HASH;
+       TestLoadKernel(0, "Good keyblock dev fwmp hash");
+
+       ResetMocks();
+       kph.preamble_size |= 0x07;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Kernel body offset");
+
+       ResetMocks();
+       kph.preamble_size += 65536;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Kernel body offset huge");
+
+       /* Check getting kernel load address from header */
+       ResetMocks();
+       kph.body_load_address = (size_t)kernel_buffer;
+       lkp.kernel_buffer = NULL;
+       TestLoadKernel(0, "Get load address from preamble");
+       TEST_PTR_EQ(lkp.kernel_buffer, kernel_buffer, "  address");
+       /* Size is rounded up to nearest sector */
+       TEST_EQ(lkp.kernel_buffer_size, 70144, "  size");
+
+       ResetMocks();
+       lkp.kernel_buffer_size = 8192;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Kernel too big for buffer");
+
+       ResetMocks();
+       mock_parts[0].size = 130;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Kernel too big for partition");
+
+       ResetMocks();
+       kph.body_signature.data_size = 8192;
+       TestLoadKernel(0, "Kernel tiny");
+
+       ResetMocks();
+       disk_read_to_fail = 228;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND,
+                      "Fail reading kernel data");
+
+       ResetMocks();
+       verify_data_fail = 1;
+       TestLoadKernel(VB2_ERROR_LK_INVALID_KERNEL_FOUND, "Bad data");
+
+       /* Check that EXTERNAL_GPT flag makes it down */
+       ResetMocks();
+       disk_info.flags |= VB_DISK_FLAG_EXTERNAL_GPT;
+       TestLoadKernel(0, "Succeed external GPT");
+       TEST_EQ(gpt_flag_external, 1, "GPT was external");
+
+       /* Check recovery from unreadble primary GPT */
+       ResetMocks();
+       disk_read_to_fail = 1;
+       TestLoadKernel(0, "Can't read disk");
+}
+
+int main(void)
+{
+       InvalidParamsTest();
+       LoadKernelTest();
+
+       return gTestSuccess ? 0 : 255;
+}
diff --git a/tests/verify_kernel.c b/tests/verify_kernel.c
new file mode 100644 (file)
index 0000000..a79f33a
--- /dev/null
@@ -0,0 +1,152 @@
+/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Routines for verifying a kernel or disk image
+ */
+
+#include "2sysincludes.h"
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2nvstorage.h"
+#include "2secdata.h"
+#include "host_common.h"
+#include "util_misc.h"
+#include "vboot_api.h"
+#include "load_kernel_fw.h"
+
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE]
+       __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+
+static uint8_t *diskbuf;
+
+static VbSelectAndLoadKernelParams params;
+static VbDiskInfo disk_info;
+
+vb2_error_t VbExDiskRead(VbExDiskHandle_t handle, uint64_t lba_start,
+                        uint64_t lba_count, void *buffer)
+{
+       if (handle != (VbExDiskHandle_t)1)
+               return VB2_ERROR_UNKNOWN;
+       if (lba_start >= disk_info.streaming_lba_count)
+               return VB2_ERROR_UNKNOWN;
+       if (lba_start + lba_count > disk_info.streaming_lba_count)
+               return VB2_ERROR_UNKNOWN;
+
+       memcpy(buffer, diskbuf + lba_start * 512, lba_count * 512);
+       return VB2_SUCCESS;
+}
+
+vb2_error_t VbExDiskWrite(VbExDiskHandle_t handle, uint64_t lba_start,
+                         uint64_t lba_count, const void *buffer)
+{
+       if (handle != (VbExDiskHandle_t)1)
+               return VB2_ERROR_UNKNOWN;
+       if (lba_start >= disk_info.streaming_lba_count)
+               return VB2_ERROR_UNKNOWN;
+       if (lba_start + lba_count > disk_info.streaming_lba_count)
+               return VB2_ERROR_UNKNOWN;
+
+       memcpy(diskbuf + lba_start * 512, buffer, lba_count * 512);
+       return VB2_SUCCESS;
+}
+
+static void print_help(const char *progname)
+{
+       printf("\nUsage: %s <disk_image> <kernel.vbpubk>\n\n",
+              progname);
+}
+
+int main(int argc, char *argv[])
+{
+       struct vb2_packed_key *kernkey;
+       uint64_t disk_bytes = 0;
+       vb2_error_t rv;
+
+       if (argc < 3) {
+               print_help(argv[0]);
+               return 1;
+       }
+
+       /* Load disk file */
+       /* TODO: is it better to mmap() in the long run? */
+       diskbuf = ReadFile(argv[1], &disk_bytes);
+       if (!diskbuf) {
+               fprintf(stderr, "Can't read disk file %s\n", argv[1]);
+               return 1;
+       }
+
+       /* Read public key */
+       kernkey = vb2_read_packed_key(argv[2]);
+       if (!kernkey) {
+               fprintf(stderr, "Can't read key file %s\n", argv[2]);
+               return 1;
+       }
+
+       /* Set up params */
+       params.disk_handle = (VbExDiskHandle_t)1;
+       disk_info.handle = (VbExDiskHandle_t)1;
+       disk_info.bytes_per_lba = 512;
+       disk_info.streaming_lba_count = disk_bytes / 512;
+       disk_info.lba_count = disk_info.streaming_lba_count;
+
+       params.kernel_buffer_size = 16 * 1024 * 1024;
+       params.kernel_buffer = malloc(params.kernel_buffer_size);
+       if (!params.kernel_buffer) {
+               fprintf(stderr, "Can't allocate kernel buffer\n");
+               return 1;
+       }
+
+       /* TODO(chromium:441893): support dev-mode flag and external gpt flag */
+       disk_info.flags = 0;
+
+       if (vb2api_init(&workbuf, sizeof(workbuf), &ctx)) {
+               fprintf(stderr, "Can't initialize workbuf\n");
+               return 1;
+       }
+       sd = vb2_get_sd(ctx);
+
+       /* Copy kernel subkey to workbuf */
+       {
+               struct vb2_workbuf wb;
+               struct vb2_packed_key *dst;
+               uint32_t kernkey_size = kernkey->key_offset + kernkey->key_size;
+               vb2_workbuf_from_ctx(ctx, &wb);
+               dst = vb2_workbuf_alloc(&wb, kernkey_size);
+               memcpy(dst, kernkey, kernkey_size);
+               vb2_set_workbuf_used(ctx, vb2_offset_of(sd, wb.buf));
+               sd->kernel_key_offset = vb2_offset_of(sd, dst);
+               sd->kernel_key_size = kernkey_size;
+       }
+
+       /*
+        * LoadKernel() cares only about VBNV_DEV_BOOT_SIGNED_ONLY, and only in
+        * dev mode.  So just use defaults for nv storage.
+        */
+       vb2_nv_init(ctx);
+       /* We need to init kernel secdata for
+        * VB2_SECDATA_KERNEL_FLAG_HWCRYPTO_ALLOWED.
+        */
+       vb2api_secdata_kernel_create(ctx);
+       vb2_secdata_kernel_init(ctx);
+
+       /* Try loading kernel */
+       rv = LoadKernel(ctx, &params, &disk_info);
+       if (rv != VB2_SUCCESS) {
+               fprintf(stderr, "LoadKernel() failed with code %d\n", rv);
+               return 1;
+       }
+
+       printf("Found a good kernel.\n");
+       printf("Partition number:   %u\n", params.partition_number);
+       printf("Bootloader address: 0x%" PRIx64 "\n",
+              params.bootloader_address);
+
+       /* TODO: print other things (partition GUID, shared_data) */
+
+       printf("Yaay!\n");
+       return 0;
+}
diff --git a/unblocked_terms.txt b/unblocked_terms.txt
new file mode 100644 (file)
index 0000000..e9ad8c2
--- /dev/null
@@ -0,0 +1,2 @@
+dummy
+master
\ No newline at end of file
diff --git a/utility/chromeos-tpm-recovery b/utility/chromeos-tpm-recovery
new file mode 100755 (executable)
index 0000000..12616b4
--- /dev/null
@@ -0,0 +1,229 @@
+#!/bin/sh -u
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Run TPM diagnostics in recovery mode, and attempt to fix problems.  This is
+# specific to devices with chromeos firmware.
+#
+# Most of the diagnostics examine the TPM state and try to fix it.  This may
+# require clearing TPM ownership.
+
+tpmc=${USR_BIN:=/usr/bin}/tpmc
+crossystem=${USR_BIN}/crossystem
+dot_recovery=${DOT_RECOVERY:=/mnt/stateful_partition/.recovery}
+awk=/usr/bin/awk
+initctl=/sbin/initctl
+daemon_was_running=
+err=0
+secdata_firmware=0x1007
+secdata_kernel=0x1008
+
+tpm2_target() {
+  # This is not an ideal way to tell if we are running on a tpm2 target, but
+  # it will have to do for now.
+  if [ -f "/etc/init/trunksd.conf" ]; then
+    return 0
+  else
+    return 1
+  fi
+}
+
+use_v0_secdata_kernel() {
+  local fwid="$(crossystem ro_fwid)"
+  local major="$(printf "$fwid" | cut -d. -f2)"
+  local minor="$(printf "$fwid" | cut -d. -f3)"
+
+  # TPM1 firmware never supports the v1 kernel space format.
+  if ! tpm2_target; then
+    return 0
+  fi
+
+  # First some validity checks: X -eq X checks that X is a number. cut may
+  # return the whole string if no delimiter found, so major != minor checks that
+  # the version was at least somewhat correctly formatted.
+  if [ $major -eq $major ] && [ $minor -eq $minor ] && [ $major -ne $minor ]; then
+    # Now what we really care about: is this firmware older than CL:2041695?
+    if [ $major -lt 12953 ]; then
+      return 0
+    else
+      return 1
+    fi
+  else
+    log "Cannot parse FWID. Assuming local build that supports v1 kernel space."
+    return 1
+  fi
+}
+
+log() {
+  echo "$*"
+}
+
+quit() {
+  log "ERROR: $*"
+  restart_daemon_if_needed
+  log "exiting"
+
+  exit 1
+}
+
+log_tryfix() {
+  log "$*: attempting to fix"
+}
+
+log_error() {
+  err=$((err + 1))
+  log "ERROR: $*"
+}
+
+
+log_warn() {
+  log "WARNING: $*"
+}
+
+tpm_clear_and_reenable () {
+  $tpmc clear
+
+  # The below commands are are no-op on tpm2, but let's keep them here for
+  # both TPM versions in case they are implemented in the future for
+  # version 2.
+  $tpmc enable
+  $tpmc activate
+}
+
+write_space () {
+  # do not quote "$2", as we mean to expand it here
+  if ! $tpmc write $1 $2; then
+    log_error "writing to $1 failed"
+  else
+    log "$1 written successfully"
+  fi
+}
+
+reset_ro_space () {
+  local index=$1
+  local bytes="$2"
+  local size=$(printf "$bytes" | wc -w)
+  local permissions=0x8001
+
+  if tpm2_target; then
+    log "Cannot redefine RO space for TPM2 (b/140958855). Let's just hope it looks good..."
+  else
+    if ! $tpmc definespace $index $size $permissions; then
+      log_error "could not redefine RO space $index"
+      # try writing it anyway, just in case it works...
+    fi
+  fi
+
+  write_space $index "$bytes"
+}
+
+reset_rw_space () {
+  local index=$1
+  local bytes="$2"
+  local size=$(printf "$bytes" | wc -w)
+  local permissions=0x1
+
+  if tpm2_target; then
+    permissions=0x40050001
+  fi
+
+  if ! $tpmc definespace $index $size $permissions; then
+    log_error "could not redefine RW space $index"
+    # try writing it anyway, just in case it works...
+  fi
+
+  write_space $index "$bytes"
+}
+
+restart_daemon_if_needed() {
+  if [ "$daemon_was_running" = 1 ]; then
+    log "Restarting ${DAEMON}..."
+    $initctl start "${DAEMON}" >/dev/null
+  fi
+}
+
+# ------------
+# MAIN PROGRAM
+# ------------
+
+# validity check: are we executing in a recovery image?
+
+if [ -e $dot_recovery ]; then
+  quit "This is a developer utility, it should never run on a (production) recovery image"
+fi
+
+# Did the firmware keep the TPM unlocked?
+
+if ! $($crossystem mainfw_type?recovery); then
+  quit "You must put a test image on a USB stick and boot it in recovery mode (this means Esc+Refresh+Power, *not* Ctrl-U!) to run this"
+fi
+
+if tpm2_target; then
+  DAEMON="trunksd"
+else
+  DAEMON="tcsd"
+fi
+
+# TPM daemon may or may not be running
+
+log "Stopping ${DAEMON}..."
+if $initctl stop "${DAEMON}" >/dev/null 2>/dev/null; then
+  daemon_was_running=1
+  log "done"
+else
+  daemon_was_running=0
+  log "(was not running)"
+fi
+
+# Is the state of the PP enable flags correct?
+
+if ! tpm2_target; then
+  if ! ($tpmc getpf | grep -q "physicalPresenceLifetimeLock 1" &&
+      $tpmc getpf | grep -q "physicalPresenceHWEnable 0" &&
+      $tpmc getpf | grep -q "physicalPresenceCMDEnable 1"); then
+    log_tryfix "bad state of physical presence enable flags"
+    if $tpmc ppfin; then
+      log "physical presence enable flags are now correctly set"
+    else
+      quit "could not set physical presence enable flags"
+    fi
+  fi
+
+  # Is physical presence turned on?
+
+  if $tpmc getvf | grep -q "physicalPresence 0"; then
+    log_tryfix "physical presence is OFF, expected ON"
+    # attempt to turn on physical presence
+    if $tpmc ppon; then
+      log "physical presence is now on"
+    else
+      quit "could not turn physical presence on"
+    fi
+  fi
+else
+  if ! $tpmc getvf | grep -q 'phEnable 1'; then
+    quit "Platform Hierarchy is disabled, TPM can't be recovered"
+  fi
+fi
+
+# I never learned what this does, but it's probably good just in case...
+tpm_clear_and_reenable
+
+# Reset firmware and kernel spaces to default (rollback version 1/1)
+reset_ro_space $secdata_firmware "02  0  1 0 1 0  0 0 0  4f"
+
+if use_v0_secdata_kernel; then
+  reset_rw_space $secdata_kernel "02  4c 57 52 47  1 0 1 0  0 0 0  55"
+else
+  reset_rw_space $secdata_kernel "10  28  0c  0  1 0 1 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
+fi
+
+restart_daemon_if_needed
+
+if [ "$err" -eq 0 ]; then
+  log "TPM has successfully been reset to factory defaults"
+else
+  log_error "TPM was not fully recovered."
+  exit 1
+fi
diff --git a/utility/chromeos-tpm-recovery-test b/utility/chromeos-tpm-recovery-test
new file mode 100755 (executable)
index 0000000..42331e2
--- /dev/null
@@ -0,0 +1,343 @@
+#!/bin/sh -u
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Test the chromeos TPM recovery script by faking the entire execution
+# environment.
+
+rm -rf tpm-recovery-test-workdir
+mkdir  tpm-recovery-test-workdir
+cd     tpm-recovery-test-workdir
+
+test_kind=
+if [ $# -ge 1 ]; then
+  test_kind="$1"
+fi
+
+if [ "$test_kind" != "" -a "$test_kind" != "fake" ]; then
+  echo "$0: usage: $0 [fake]"
+  echo "With fake as the argument, use a simulated TPM instead of the real one"
+fi
+
+if [ "$test_kind" = "fake" ]; then
+  export USR_BIN=.
+  export USR_SBIN=.
+  export USR_LOCAL_BIN=.
+  export USR_LOCAL_SBIN=.
+  export DOT_RECOVERY=.recovery
+  export ACPI_DIR=.
+  ctr=../chromeos-tpm-recovery
+  tpmc=./tpmc
+else
+  ctr=chromeos-tpm-recovery
+  tpmc=tpmc
+fi
+
+# For simplicity, build the permanent environment as if we prepared to run the
+# fake test, even if we're running the test on a real TPM.
+
+echo > .recovery
+echo 3 > BINF.0
+echo 0 > CHSW
+
+export NVRAM_SPACE_OVERHEAD=200
+space_overhead=$NVRAM_SPACE_OVERHEAD
+
+# build tpmc
+cat > tpmc <<"EOF"
+#!/bin/sh -u
+# Fake tpmc program
+
+definespace () {
+  index=$2
+  size=$3
+  permissions=$4
+  space_overhead=$NVRAM_SPACE_OVERHEAD
+
+  if [ -e space.$index.data -a -e tpm-owned ]; then
+    echo "cannot redefine space without auth"
+  fi
+
+  totalsize=$(( $size + $space_overhead ))
+  free=$(cat nvram.freespace)
+
+  if [ $totalsize -gt $free ]; then
+    return 17  # NO_SPACE
+  fi
+
+  if [ $index != 0xf004 ]; then
+    echo $size > space.$index.size
+    echo $permissions > space.$index.perm
+    for i in $(seq 1 $(($size))); do
+      echo -n "ff " >> space.$index.data
+    done
+    echo $(( $free - $totalsize )) > nvram.freespace
+  fi
+  return 0
+}
+
+case $1 in
+
+  clear)
+    rm -f tpm-owned
+  ;;
+
+  enable)
+    # boring
+  ;;
+
+  activate)
+    # boring
+  ;;
+
+  definespace)
+    definespace $*
+  ;;
+
+  getp)
+    echo space blah has permissions $(cat space.$2.perm)
+  ;;
+
+  read)
+    index=$2
+    size=$3
+    maxsize=$(cat space.$index.size)
+    if [ $(($size > $maxsize)) -eq 1  ]; then
+      echo "size $size too large for space (max is $maxsize)"
+      exit 1
+    fi
+    dd if=space.$index.data bs=1 count=$(($3 * 3)) 2> /dev/null
+  ;;
+
+  write)
+    args="$@"
+    index=$2
+    bytes="$(echo $args | sed 's/[^ ]* [^ ]* //')"
+    size=$(echo $bytes | wc -w)
+    maxsize=$(cat space.$index.size)
+    if [ $(($size > $maxsize)) -eq 1  ]; then
+      echo "size $size too large for space (max is $(($maxsize)))"
+      exit 1
+    fi
+    re=$(echo "$bytes " | sed 's/././g')
+    sed "s/$re/$bytes /" < space.$index.data > _tmp_
+    mv _tmp_ space.$index.data
+  ;;
+
+  getpf)
+    echo "disable 0"
+    echo "deactivated 0"
+    echo "nvLocked 1"
+    echo "physicalPresenceLifetimeLock 1"
+    echo "physicalPresenceHWEnable 0"
+    echo "physicalPresenceCMDEnable 1"
+  ;;
+
+  getvf)
+    echo "bGlobalLock 1"
+    echo "physicalPresence 1"
+    echo "physicalPresenceLock 0"
+  ;;
+
+  ppfin)
+    # boring
+  ;;
+
+  ppon)
+    # boring
+  ;;
+
+  *)
+    echo "tpmc: invalid command $1"
+    exit 1
+  ;;
+esac
+
+EOF
+
+# build nvtool
+cat > tpm-nvtool <<"EOF"
+#!/bin/sh -u
+
+space_overhead=$NVRAM_SPACE_OVERHEAD
+
+print_space () {
+  local index=$1
+  printf "# NV Index 0x%08x" $(( $index ))
+  echo " uninteresting random garbage"
+  echo " further random garbage"
+  echo ""
+}
+
+if [ "$1" = "--release" ]; then
+  if [ "$2" != "--index" -o \
+       "$4" != "--owner_password" ]; then
+    echo "sorry, picky tpm-nvtool"
+    exit 1
+  fi
+  index=$3
+  if [ ! -f tpm-owned ]; then
+    echo "tpm is unowned"
+    exit 1
+  fi
+  size=$(cat space.$index.size)
+  free=$(cat nvram.freespace)
+  rm space.$index.*
+  echo $(( $size + $space_overhead + $free )) > nvram.freespace
+elif [ "$1" = "--list" ]; then
+  for s in space.*.data; do
+    print_space $(echo $s | sed -e "s/[^.]*\.//" -e "s/\..*//")
+  done
+fi
+EOF
+
+# build tpm_takeownership
+cat > tpm_takeownership <<"EOF"
+#!/bin/sh -u
+if [ -f tpm-owned ]; then
+  echo "tpm is already owned"
+  exit 1
+fi
+echo > tpm-owned
+EOF
+
+# build tcsd
+cat > tcsd <<"EOF"
+#!/bin/sh -u
+trap "{ rm tcsd_is_running; }" EXIT
+echo > tcsd_is_running
+sleep 365d
+EOF
+
+tcsd_pid=0
+
+start_tcsd () {
+  if [ $tcsd_pid -ne 0 ]; then
+    echo TCSD is already started
+    exit 1
+  fi
+  tcsd -f &
+  tcsd_pid=$!
+  sleep 2
+}
+
+stop_tcsd () {
+  if [ $tcsd_pid -eq 0 ]; then
+    echo TCSD is already stopped
+    exit 1
+  fi
+  kill $tcsd_pid
+  sleep 0.5
+  kill $tcsd_pid > /dev/null 2>&1
+  sleep 0.5
+  wait $tcsd_pid > /dev/null 2>&1  # we trust that tcsd will agree to die
+  tcsd_pid=0
+}
+
+tpm_clear_and_reenable () {
+  tpmc clear
+  tpmc enable
+  tpmc activate
+}
+
+takeownership () {
+  if [ "$test_kind" = "fake" ]; then
+    touch tpm_owned
+  else
+    tpm_clear_and_reenable
+    start_tcsd
+    tpm_takeownership -y -z
+    stop_tcsd
+  fi
+}
+
+remove_chromeos_spaces () {
+  if [ "$test_kind" = "fake" ]; then
+    rm -f space.*
+    echo 1500 > nvram.freespace
+  else
+    takeownership
+    start_tcsd
+    tpm-nvtool --release --index 0x1007 --owner_password ""
+    tpm-nvtool --release --index 0x1008 --owner_password ""
+    stop_tcsd
+    tpm_clear_and_reenable
+  fi
+}
+
+chmod 755 tpmc tpm-nvtool tpm_takeownership tcsd
+
+echo "starting test, results in $(pwd)/log"
+echo "starting TPM recovery test" > log
+
+if ps ax | grep "tcs[d]"; then
+  echo "a tcsd is process appears to be running, please kill it first"
+  exit 1
+fi
+
+# normal run
+test_normal_run () {
+  echo "TEST: normal run" >> log
+
+  remove_chromeos_spaces
+  $tpmc definespace 0x1007 0xa 0x8001
+  $tpmc definespace 0x1008 0xd 0x1
+  $tpmc write 0x1008 01 4c 57 52 47
+  takeownership
+
+  $ctr log
+}
+
+# Kernel space with wrong ID
+test_wrong_id () {
+  echo "TEST: bad kernel space ID" >> log
+
+  remove_chromeos_spaces
+  $tpmc definespace 0x1007 0xa 0x8001
+  $tpmc definespace 0x1008 0xd 0x1
+  takeownership
+
+  $ctr log
+}
+
+# Kernel space with wrong size
+test_wrong_size () {
+  echo "TEST: bad kernel space size" >> log
+
+  remove_chromeos_spaces
+  $tpmc definespace 0x1007 0xa 0x8001
+  $tpmc definespace 0x1008 0xc 0x1
+  takeownership
+
+  $ctr log
+}
+
+# Kernel space with wrong size AND bogus space to exhaust nvram
+test_wrong_size_hog () {
+  echo "TEST: bad kernel space size and no room" >> log
+
+  remove_chromeos_spaces
+  $tpmc definespace 0x1007 0xa 0x8001
+  $tpmc definespace 0x1008 0x1 0x1
+  if [ "$test_kind" = "fake" ]; then
+    space_hog_size=$(( $(cat nvram.freespace) - $space_overhead - 1 ))
+    echo "remaining $(cat nvram.freespace) bytes" >> log
+  else
+    space_hog_size=$(( $(tpm-nvsize) - 2 ))
+  fi
+  echo "hogging $(( $space_hog_size )) bytes" >> log
+  $tpmc definespace 0xcafe $(printf "%#x" $space_hog_size) 0x1 \
+    || echo "hogging failed!" >> log
+  takeownership
+
+  $ctr log
+}
+
+test_normal_run
+test_wrong_id
+test_wrong_size
+test_wrong_size_hog
+
+echo "test completed" >> log
+echo "test completed"
diff --git a/utility/crossystem.c b/utility/crossystem.c
new file mode 100644 (file)
index 0000000..7781e94
--- /dev/null
@@ -0,0 +1,341 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Chrome OS firmware/system interface utility
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "crossystem.h"
+
+/* Flags for Param */
+#define IS_STRING      0x01  /* String (not present = integer) */
+#define CAN_WRITE      0x02  /* Writable (not present = read-only */
+#define NO_PRINT_ALL   0x04  /* Don't print contents of parameter when
+                              * doing a print-all */
+
+typedef struct Param {
+  const char* name;  /* Parameter name */
+  int flags;         /* Flags (see above) */
+  const char* desc;  /* Human-readable description */
+  const char* format; /* Format string, if non-NULL and 0==is_string*/
+} Param;
+
+/* List of parameters, terminated with a param with NULL name */
+const Param sys_param_list[] = {
+  {"arch", IS_STRING, "Platform architecture"},
+  {"backup_nvram_request", CAN_WRITE,
+   "Backup the nvram somewhere at the next boot. Cleared on success."},
+  {"battery_cutoff_request", CAN_WRITE,
+   "Cut off battery and shutdown on next boot"},
+  {"block_devmode", CAN_WRITE, "Block all use of developer mode"},
+  {"clear_tpm_owner_done", CAN_WRITE, "Clear TPM owner done"},
+  {"clear_tpm_owner_request", CAN_WRITE, "Clear TPM owner on next boot"},
+  {"cros_debug", 0, "OS should allow debug features"},
+  {"dbg_reset", CAN_WRITE, "Debug reset mode request"},
+  {"debug_build", 0, "OS image built for debug features"},
+  {"dev_boot_altfw", CAN_WRITE, "Enable developer mode alternate bootloader"},
+  {"dev_boot_signed_only", CAN_WRITE,
+   "Enable developer mode boot only from official kernels"},
+  {"dev_boot_usb", CAN_WRITE,
+   "Enable developer mode boot from external disk (USB/SD)"},
+  {"dev_default_boot", IS_STRING|CAN_WRITE,
+   "Default boot from disk, altfw or usb"},
+  {"dev_enable_udc", CAN_WRITE, "Enable USB Device Controller"},
+  {"devsw_boot", 0, "Developer switch position at boot"},
+  {"devsw_cur",  0, "Developer switch current position"},
+  {"diagnostic_request", CAN_WRITE, "Request diagnostic rom run on next boot"},
+  {"disable_dev_request", CAN_WRITE, "Disable virtual dev-mode on next boot"},
+  {"ecfw_act", IS_STRING, "Active EC firmware"},
+  {"post_ec_sync_delay", CAN_WRITE,
+   "Short delay after EC software sync (persistent, writable, eve only)"},
+  {"fw_prev_result", IS_STRING, "Firmware result of previous boot"},
+  {"fw_prev_tried", IS_STRING, "Firmware tried on previous boot (A or B)"},
+  {"fw_result", IS_STRING|CAN_WRITE, "Firmware result this boot"},
+  {"fw_tried", IS_STRING, "Firmware tried this boot (A or B)"},
+  {"fw_try_count", CAN_WRITE, "Number of times to try fw_try_next"},
+  {"fw_try_next", IS_STRING|CAN_WRITE, "Firmware to try next (A or B)"},
+  {"fw_vboot2", 0, "1 if firmware was selected by vboot2 or 0 otherwise"},
+  {"fwb_tries", CAN_WRITE, "Try firmware B count"},
+  {"fwid", IS_STRING, "Active firmware ID"},
+  {"fwupdate_tries", CAN_WRITE,
+   "Times to try OS firmware update (inside kern_nv)"},
+  {"hwid", IS_STRING, "Hardware ID"},
+  {"inside_vm", 0, "Running in a VM?"},
+  {"kern_nv", 0, "Non-volatile field for kernel use", "0x%04x"},
+  {"kernel_max_rollforward", CAN_WRITE, "Max kernel version to store into TPM",
+   "0x%08x"},
+  {"kernkey_vfy", IS_STRING, "Type of verification done on kernel keyblock"},
+  {"loc_idx", CAN_WRITE, "Localization index for firmware screens"},
+  {"mainfw_act", IS_STRING, "Active main firmware"},
+  {"mainfw_type", IS_STRING, "Active main firmware type"},
+  {"minios_priority", IS_STRING|CAN_WRITE,
+   "miniOS image to try first (A or B)"},
+  {"nvram_cleared", CAN_WRITE, "Have NV settings been lost?  Write 0 to clear"},
+  {"display_request", CAN_WRITE, "Should we initialize the display at boot?"},
+  {"phase_enforcement", 0,
+    "Board should have full security settings applied"},
+  {"recovery_reason", 0, "Recovery mode reason for current boot"},
+  {"recovery_request", CAN_WRITE, "Recovery mode request"},
+  {"recovery_subcode", CAN_WRITE, "Recovery reason subcode"},
+  {"recoverysw_boot", 0, "Recovery switch position at boot"},
+  {"recoverysw_cur", 0, "Recovery switch current position"},
+  {"recoverysw_ec_boot", 0, "Recovery switch position at EC boot"},
+  {"ro_fwid", IS_STRING, "Read-only firmware ID"},
+  {"tpm_attack", CAN_WRITE, "TPM was interrupted since this flag was cleared"},
+  {"tpm_fwver", 0, "Firmware version stored in TPM", "0x%08x"},
+  {"tpm_kernver", 0, "Kernel version stored in TPM", "0x%08x"},
+  {"tpm_rebooted", 0, "TPM requesting repeated reboot"},
+  {"tried_fwb", 0, "Tried firmware B before A this boot"},
+  {"try_ro_sync", 0, "try read only software sync"},
+  {"vdat_flags", 0, "Flags from VbSharedData", "0x%08x"},
+  {"vdat_lfdebug", IS_STRING|NO_PRINT_ALL,
+   "LoadFirmware() debug data (not in print-all)"},
+  {"wipeout_request", CAN_WRITE, "Firmware requested factory reset (wipeout)"},
+  {"wpsw_cur", 0, "Firmware write protect hardware switch current position"},
+  /* Terminate with null name */
+  {NULL, 0, NULL}
+};
+
+/* Longest Param name. */
+static const int kNameWidth = 23;
+
+
+/* Print help */
+static void PrintHelp(const char *progname) {
+  const Param *p;
+
+  printf("Usage:\n"
+         "  %s [--all]\n"
+         "    Prints all parameters with descriptions and current values.\n"
+         "    If --all is specified, prints even normally hidden fields.\n"
+         "  %s [param1 [param2 [...]]]\n"
+         "    Prints the current value(s) of the parameter(s).\n"
+         "  %s [param1=value1] [param2=value2 [...]]]\n"
+         "    Sets the parameter(s) to the specified value(s).\n"
+         "  %s [param1?value1] [param2?value2 [...]]]\n"
+         "    Checks if the parameter(s) all contain the specified value(s).\n"
+         "    Stops at the first error.\n"
+         "\n"
+         "Valid parameters:\n", progname, progname, progname, progname);
+  for (p = sys_param_list; p->name; p++) {
+    printf("  %-*s  [%s/%s] %s\n", kNameWidth, p->name,
+           (p->flags & CAN_WRITE) ? "RW" : "RO",
+           (p->flags & IS_STRING) ? "str" : "int",
+           p->desc);
+  }
+  printf("\n"
+         "For more information, please see:\n"
+         "https://chromium.googlesource.com/chromiumos/docs/+/HEAD/"
+         "os_config.md#crossystem\n");
+}
+
+
+/* Find the parameter in the list.
+ *
+ * Returns the parameter, or NULL if no match. */
+static const Param* FindParam(const char* name) {
+  const Param* p;
+  if (!name)
+    return NULL;
+  /* "legacy" term deprecated in favour of "altfw" (see: b/179458327) */
+  if (!strcasecmp(name, "dev_boot_legacy")) {
+    fprintf(stderr,
+            "!!!\n"
+            "!!! PLEASE USE 'dev_boot_altfw' INSTEAD OF 'dev_boot_legacy'\n"
+            "!!!\n");
+    name = "dev_boot_altfw";
+  }
+  for (p = sys_param_list; p->name; p++) {
+    if (!strcasecmp(p->name, name))
+      return p;
+  }
+  return NULL;
+}
+
+/* Return code of SetParam() below. */
+enum {
+  PARAM_SUCCESS = 0,
+  PARAM_ERROR_UNKNOWN,
+  PARAM_ERROR_READ_ONLY,
+  PARAM_ERROR_INVALID_INT,
+};
+
+/* Set the specified parameter.
+ *
+ * Returns PARAM_SUCCESS if success, PARAM_ERROR_* if error. */
+static int SetParam(const Param* p, const char* value) {
+  if (!(p->flags & CAN_WRITE))
+    return PARAM_ERROR_READ_ONLY;
+
+  if (p->flags & IS_STRING) {
+    return (0 == VbSetSystemPropertyString(p->name, value) ?
+            0 : PARAM_ERROR_UNKNOWN);
+  } else {
+    char* e;
+    int i = (int)strtol(value, &e, 0);
+    if (!*value || (e && *e))
+      return PARAM_ERROR_INVALID_INT;
+    return (0 == VbSetSystemPropertyInt(p->name, i) ?
+            0 : PARAM_ERROR_UNKNOWN);
+  }
+}
+
+/* Compares the parameter with the expected value.
+ *
+ * Returns 0 if success (match), non-zero if error (mismatch). */
+static int CheckParam(const Param* p, const char* expect) {
+  if (p->flags & IS_STRING) {
+    char buf[VB_MAX_STRING_PROPERTY];
+    const char* v = VbGetSystemPropertyString(p->name, buf, sizeof(buf));
+    if (!v || 0 != strcmp(v, expect))
+      return 1;
+  } else {
+    char* e;
+    int i = (int)strtol(expect, &e, 0);
+    int v = VbGetSystemPropertyInt(p->name);
+    if (!*expect || (e && *e))
+      return 1;
+    if (v == -1 || i != v)
+      return 1;
+  }
+  return 0;
+}
+
+
+/* Print the specified parameter.
+ *
+ * Returns 0 if success, non-zero if error. */
+static int PrintParam(const Param* p) {
+  if (p->flags & IS_STRING) {
+    char buf[VB_MAX_STRING_PROPERTY];
+    const char* v = VbGetSystemPropertyString(p->name, buf, sizeof(buf));
+    if (!v)
+      return 1;
+    printf("%s", v);
+  } else {
+    int v = VbGetSystemPropertyInt(p->name);
+    if (v == -1)
+      return 1;
+    printf(p->format ? p->format : "%d", v);
+  }
+  return 0;
+}
+
+
+/* Print all parameters with descriptions.  If force_all!=0, prints even
+ * parameters that specify the NO_PRINT_ALL flag.
+ *
+ * Returns 0 if success, non-zero if error. */
+static int PrintAllParams(int force_all) {
+  const Param* p;
+  int retval = 0;
+  char buf[VB_MAX_STRING_PROPERTY];
+  const char* value;
+
+  for (p = sys_param_list; p->name; p++) {
+    if (0 == force_all && (p->flags & NO_PRINT_ALL))
+      continue;
+    if (p->flags & IS_STRING) {
+      value = VbGetSystemPropertyString(p->name, buf, sizeof(buf));
+    } else {
+      int v = VbGetSystemPropertyInt(p->name);
+      if (v == -1)
+        value = NULL;
+      else {
+        snprintf(buf, sizeof(buf), p->format ? p->format : "%d", v);
+        value = buf;
+      }
+    }
+    printf("%-*s = %-30s # [%s/%s] %s\n", kNameWidth, p->name,
+           (value ? value : "(error)"),
+           (p->flags & CAN_WRITE) ? "RW" : "RO",
+           (p->flags & IS_STRING) ? "str" : "int",
+           p->desc);
+  }
+  return retval;
+}
+
+
+int main(int argc, char* argv[]) {
+  int retval = 0;
+  int i;
+
+  char* progname = strrchr(argv[0], '/');
+  if (progname)
+    progname++;
+  else
+    progname = argv[0];
+
+  /* If no args specified, print all params */
+  if (argc == 1)
+    return PrintAllParams(0);
+  /* --all or -a prints all params including normally hidden ones */
+  if (!strcasecmp(argv[1], "--all") || !strcmp(argv[1], "-a"))
+    return PrintAllParams(1);
+
+  /* Print help if needed */
+  if (!strcasecmp(argv[1], "-h") || !strcmp(argv[1], "-?") ||
+      !strcmp(argv[1], "--help")) {
+    PrintHelp(progname);
+    return 0;
+  }
+
+  /* Otherwise, loop through params and get/set them */
+  for (i = 1; i < argc && retval == 0; i++) {
+    char* has_set = strchr(argv[i], '=');
+    char* has_expect = strchr(argv[i], '?');
+    char* name = strtok(argv[i], "=?");
+    const char* value = strtok(NULL, "=?");
+    const Param* p;
+
+    /* Make sure args are well-formed. '' or '=foo' or '?foo' not allowed. */
+    if (!name || has_set == argv[i] || has_expect == argv[i]) {
+      fprintf(stderr, "Poorly formed parameter\n");
+      PrintHelp(progname);
+      return 1;
+    }
+    if (!value)
+      value=""; /* Allow setting/checking an empty string ('foo=' or 'foo?') */
+    if (has_set && has_expect) {
+      fprintf(stderr, "Use either = or ? in a parameter, but not both.\n");
+      PrintHelp(progname);
+      return 1;
+    }
+
+    /* Find the parameter */
+    p = FindParam(name);
+    if (!p) {
+      fprintf(stderr, "Invalid parameter name: %s\n", name);
+      PrintHelp(progname);
+      return 1;
+    }
+
+    if (i > 1)
+      printf(" ");  /* Output params space-delimited */
+    if (has_set) {
+      retval = SetParam(p, value);
+      switch (retval) {
+      case PARAM_SUCCESS:
+        break;
+      case PARAM_ERROR_READ_ONLY:
+        fprintf(stderr, "Parameter %s is read-only\n", p->name);
+        break;
+      case PARAM_ERROR_INVALID_INT:
+        fprintf(stderr, "Value %s is not a valid integer\n", value);
+        break;
+      default:
+        fprintf(stderr, "Failed to set parameter %s\n", p->name);
+        break;
+      }
+    } else if (has_expect)
+      retval = CheckParam(p, value);
+    else
+      retval = PrintParam(p);
+  }
+
+  return retval;
+}
diff --git a/utility/dev_debug_vboot b/utility/dev_debug_vboot
new file mode 100755 (executable)
index 0000000..48c48a1
--- /dev/null
@@ -0,0 +1,387 @@
+#!/bin/sh -ue
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Usage:  dev_debug_vboot [ --cleanup | DIRECTORY ]
+#
+# This extracts some useful debugging information about verified boot. A short
+# summary is printed on stdout, more detailed information and working files are
+# left in a log directory.
+#
+##############################################################################
+
+# Clean up PATH for root use. Note that we're assuming [ is always built-in.
+[ "${EUID:-0}" = 0 ] && PATH=/bin:/sbin:/usr/bin:/usr/sbin
+
+PUBLOGFILE="/var/log/debug_vboot_noisy.log"
+
+OPT_CLEANUP=
+OPT_BIOS=
+OPT_FORCE=
+OPT_IMAGE=
+OPT_KERNEL=
+OPT_VERBOSE=
+
+FLAG_SAVE_LOG_FILE=yes
+
+LOGFILE=/dev/stdout
+TMPDIR=
+
+##############################################################################
+
+usage() {
+  local prog
+
+  prog=${0##*/}
+  cat <<EOF
+
+Usage: $prog [options] [DIRECTORY]
+
+This logs as much as it can about the verified boot process. With no arguments
+it will attempt to read the current BIOS, extract the firmware keys, and use
+those keys to validate all the ChromeOS kernel partitions it can find. A
+summary output is printed on stdout, and the detailed log is copied to
+$PUBLOGFILE afterwards.
+
+If a directory is given, it will attempt to use the components from that
+directory and will leave the detailed log in that directory.
+
+Options:
+
+   -b FILE, --bios FILE        Specify the BIOS image to use
+   -i FILE, --image FILE       Specify the disk image to use
+   -k FILE, --kernel FILE      Specify the kernel partition image to use
+   -v                          Spew the detailed log to stdout
+
+   -c, --cleanup               Delete the DIRECTORY when done
+
+   -h, --help                  Print this help message and exit
+
+EOF
+exit 0
+}
+
+cleanup() {
+  if [ -n "${FLAG_SAVE_LOG_FILE}" ]; then
+    if cp -f "${LOGFILE}" "${PUBLOGFILE}" 2>/dev/null; then
+      info "Exporting log file as ${PUBLOGFILE}"
+    fi
+  fi
+  if [ -n "${OPT_CLEANUP}" ] && [ -d "${TMPDIR}" ] ; then
+    cd /
+    rm -rf "${TMPDIR}"
+  fi
+}
+
+die() {
+  echo "$*" 1>&2
+  exit 1
+}
+
+info() {
+  echo "$@"
+  echo "#" "$@" >> "$LOGFILE"
+}
+
+infon() {
+  echo -n "$@"
+  echo "#" "$@" >> "$LOGFILE"
+}
+
+debug() {
+  echo "#" "$@" >> "$LOGFILE"
+}
+
+log() {
+  echo "+" "$@" >> "$LOGFILE"
+  "$@" >> "$LOGFILE" 2>&1
+}
+
+loghead() {
+  echo "+" "$@" "| head" >> "$LOGFILE"
+  "$@" | head >> "$LOGFILE" 2>&1
+}
+
+logdie() {
+  echo "+ERROR:" "$@" >> "$LOGFILE"
+  die "$@"
+}
+
+result() {
+  LAST_RESULT=$?
+  if [ "${LAST_RESULT}" = "0" ]; then
+    info "OK"
+  else
+    info "FAILED"
+  fi
+}
+
+require_utils() {
+  local missing
+
+  missing=
+  for tool in $* ; do
+    if ! type "$tool" >/dev/null 2>&1 ; then
+      missing="$missing $tool"
+    fi
+  done
+  if [ -n "$missing" ]; then
+    logdie "can't find these programs: $missing"
+  fi
+}
+
+extract_kerns_from_file() {
+  local start
+  local size
+  local part
+  local rest
+
+  debug "Extracting kernel partitions from $1 ..."
+  cgpt find -v -t kernel "$1" | grep 'Label:' |
+    while read start size part rest; do
+      name="part_${part}"
+      log dd if="$1" bs=512 skip=${start} count=${size} of="${name}" &&
+        echo "${name}"
+    done
+}
+
+format_as_tpm_version() {
+  local a
+  local b
+  local what
+  local num
+  local rest
+
+  a='/(Data|Kernel) key version/ {print $1,$4}'
+  b='/Kernel version/ {print $1, $3}'
+  awk "$a $b" "$1" | while read what num rest; do
+    [ "${what}" = "Data" ] && block="${num}"
+    [ "${what}" = "Kernel" ] && printf '0x%04x%04x' "${block}" "${num}"
+  done
+}
+
+fix_old_names() {
+  # Convert any old-style names to new-style
+  [ -f GBB_Area ]        && log mv -f GBB_Area GBB
+  [ -f Firmware_A_Key ]  && log mv -f Firmware_A_Key VBLOCK_A
+  [ -f Firmware_B_Key ]  && log mv -f Firmware_B_Key VBLOCK_B
+  [ -f Firmware_A_Data ] && log mv -f Firmware_A_Data FW_MAIN_A
+  [ -f Firmware_B_Data ] && log mv -f Firmware_B_Data FW_MAIN_B
+  true
+}
+
+##############################################################################
+# Here we go...
+
+umask 022
+
+# defaults
+DEV_DEBUG_FORCE=
+
+# override them?
+[ -f /etc/default/vboot_reference ] && . /etc/default/vboot_reference
+
+# Pre-parse args to replace actual args with a sanitized version.
+TEMP=$(getopt -o hvb:i:k:cf --long help,bios:,image:,kernel:,cleanup,force \
+       -n $0 -- "$@")
+eval set -- "$TEMP"
+
+# Now look at them.
+while true ; do
+  case "${1:-}" in
+    -b|--bios)
+      OPT_BIOS=$(readlink -f "$2")
+      shift 2
+      FLAG_SAVE_LOG_FILE=
+      ;;
+    -i|--image=*)
+      OPT_IMAGE=$(readlink -f "$2")
+      shift 2
+      FLAG_SAVE_LOG_FILE=
+      ;;
+    -k|--kernel)
+      OPT_KERNEL=$(readlink -f "$2")
+      shift 2
+      FLAG_SAVE_LOG_FILE=
+      ;;
+    -c|--cleanup)
+      OPT_CLEANUP=yes
+      shift
+      ;;
+    -f|--force)
+      OPT_FORCE=yes
+      shift
+      ;;
+    -v)
+      OPT_VERBOSE=yes
+      shift
+      FLAG_SAVE_LOG_FILE=
+      ;;
+    -h|--help)
+      usage
+      break
+      ;;
+    --)
+      shift
+      break
+      ;;
+    *)
+      die "Internal error in option parsing"
+      ;;
+  esac
+done
+
+if [ -z "${1:-}" ]; then
+  TMPDIR=$(mktemp -d /tmp/debug_vboot_XXXXXXXXX)
+else
+  TMPDIR="$1"
+  [ -d ${TMPDIR} ] || die "$TMPDIR doesn't exist"
+  FLAG_SAVE_LOG_FILE=
+fi
+[ -z "${OPT_VERBOSE}" ] && LOGFILE="${TMPDIR}/noisy.log"
+
+[ -d ${TMPDIR} ] || mkdir -p ${TMPDIR} || exit 1
+cd ${TMPDIR} || exit 1
+echo "Running $0 $*" > "$LOGFILE"
+log date
+debug "DEV_DEBUG_FORCE=($DEV_DEBUG_FORCE)"
+debug "OPT_CLEANUP=($OPT_CLEANUP)"
+debug "OPT_BIOS=($OPT_BIOS)"
+debug "OPT_FORCE=($OPT_FORCE)"
+debug "OPT_IMAGE=($OPT_IMAGE)"
+debug "OPT_KERNEL=($OPT_KERNEL)"
+debug "FLAG_SAVE_LOG_FILE=($FLAG_SAVE_LOG_FILE)"
+echo "Saving verbose log as $LOGFILE"
+trap cleanup EXIT
+
+if [ -n "${DEV_DEBUG_FORCE}" ] && [ -z "${OPT_FORCE}" ]; then
+  info "Not gonna do anything without the --force option."
+  exit 0
+fi
+
+
+# Make sure we have the programs we need
+need="futility"
+[ -z "${OPT_BIOS}" ] && need="$need flashrom"
+[ -z "${OPT_KERNEL}" ] && need="$need cgpt"
+require_utils $need
+
+
+# Assuming we're on a ChromeOS device, see what we know.
+set +e
+log crossystem --all
+log rootdev -s
+log ls -aCF /root
+log ls -aCF /mnt/stateful_partition
+devs=$(awk '/(mmcblk[0-9])$|(sd[a-z])$|(nvme[0-9]+n[0-9]+)$/ {print "/dev/"$4}' /proc/partitions)
+for d in $devs; do
+  log cgpt show $d
+done
+log flashrom -V -p host --wp-status
+tpm_fwver=$(crossystem tpm_fwver) || tpm_fwver="UNKNOWN"
+tpm_kernver=$(crossystem tpm_kernver) || tpm_kernver="UNKNOWN"
+set -e
+
+
+info "Extracting BIOS components..."
+if [ -n "${OPT_BIOS}" ]; then
+  # If we've already got a file, just extract everything.
+  log futility dump_fmap -x "${OPT_BIOS}"
+  fix_old_names
+else
+  # First try pulling just the components we want (using new-style names)
+  if log flashrom -p host -r /dev/null \
+    -i"GBB":GBB \
+    -i"FMAP":FMAP \
+    -i"VBLOCK_A":VBLOCK_A \
+    -i"VBLOCK_B":VBLOCK_B \
+    -i"FW_MAIN_A":FW_MAIN_A \
+    -i"FW_MAIN_B":FW_MAIN_B ; then
+      log futility dump_fmap FMAP
+    else
+      info "Couldn't read individual components. Read the whole thing..."
+      if log flashrom -p host -r bios.rom ; then
+        log futility dump_fmap -x bios.rom
+        fix_old_names
+      else
+        logdie "Can't read BIOS at all. Giving up."
+      fi
+  fi
+fi
+
+info "Pulling root and recovery keys from GBB..."
+log futility gbb -g --rootkey rootkey.vbpubk \
+  --recoverykey recoverykey.vbpubk \
+  "GBB" || logdie "Unable to extract keys from GBB"
+log futility vbutil_key --unpack rootkey.vbpubk
+log futility vbutil_key --unpack recoverykey.vbpubk
+futility vbutil_key --unpack rootkey.vbpubk |
+  grep -q b11d74edd286c144e1135b49e7f0bc20cf041f10 &&
+  info "  Looks like dev-keys"
+# Okay if one of the firmware verifications fails
+set +e
+for fw in A B; do
+  infon "Verify firmware ${fw} with root key: "
+  log futility vbutil_firmware --verify "VBLOCK_${fw}" \
+    --signpubkey rootkey.vbpubk \
+    --fv "FW_MAIN_${fw}" --kernelkey "kern_subkey_${fw}.vbpubk" ; result
+  if [ "${LAST_RESULT}" = "0" ]; then
+    # rerun to get version numbers
+    futility vbutil_firmware --verify "VBLOCK_${fw}" \
+      --signpubkey rootkey.vbpubk \
+      --fv "FW_MAIN_${fw}" > tmp.txt
+    ver=$(format_as_tpm_version tmp.txt)
+    info "  TPM=${tpm_fwver}, this=${ver}"
+  fi
+done
+set -e
+
+info "Examining kernels..."
+if [ -n "${OPT_KERNEL}" ]; then
+  kernparts="${OPT_KERNEL}"
+elif [ -n "${OPT_IMAGE}" ]; then
+  if [ -f "${OPT_IMAGE}" ]; then
+    kernparts=$(extract_kerns_from_file "${OPT_IMAGE}")
+  else
+    kernparts=$(cgpt find -t kernel "${OPT_IMAGE}")
+  fi
+else
+  kernparts=$(cgpt find -t kernel)
+fi
+[ -n "${kernparts}" ] || logdie "No kernels found"
+
+# Okay if any of the kernel verifications fails
+set +e
+kc=0
+for kname in ${kernparts}; do
+  if [ -f "${kname}" ]; then
+    kfile="${kname}"
+  else
+    kfile="kern_${kc}"
+    debug "copying ${kname} to ${kfile}..."
+    log dd if="${kname}" of="${kfile}"
+  fi
+
+  infon "Kernel ${kname}: "
+  log futility vbutil_keyblock --unpack "${kfile}" ; result
+  if [ "${LAST_RESULT}" != "0" ]; then
+    loghead od -Ax -tx1 "${kfile}"
+  else
+    # Test each kernel with each key
+    for key in kern_subkey_A.vbpubk kern_subkey_B.vbpubk recoverykey.vbpubk; do
+      infon "  Verify ${kname} with $key: "
+      log futility vbutil_kernel --verify "${kfile}" --signpubkey "$key" ; result
+      if [ "${LAST_RESULT}" = "0" ]; then
+        # rerun to get version numbers
+        futility vbutil_kernel --verify "${kfile}" --signpubkey "$key" > tmp.txt
+        ver=$(format_as_tpm_version tmp.txt)
+        info "    TPM=${tpm_kernver} this=${ver}"
+      fi
+    done
+  fi
+
+  kc=$(expr $kc + 1)
+done
+
+exit 0
diff --git a/utility/dev_make_keypair b/utility/dev_make_keypair
new file mode 100755 (executable)
index 0000000..7486d9e
--- /dev/null
@@ -0,0 +1,83 @@
+#!/bin/bash -e
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+
+# Check args first.
+if [ "$#" -lt "1" ]; then
+  cat <<EOF 1>&2
+
+Usage:  ${0##*/} BASENAME [ALG]
+
+This creates BASENAME.vbpubk and BASENAME.vbprivk pairs for use in signing
+developer files. This also creates a BASENAME.keyblock file containing the
+BASENAME.vbpubk, which can be used to sign a developer kernel.
+
+If specified, ALG is one of:
+
+  0    =  RSA1024 with SHA1
+  1    =  RSA1024 with SHA256
+  2    =  RSA1024 with SHA512
+  3    =  RSA2048 with SHA1
+  4    =  RSA2048 with SHA256
+  5    =  RSA2048 with SHA512
+  6    =  RSA4096 with SHA1
+  7    =  RSA4096 with SHA256
+  8    =  RSA4096 with SHA512
+  9    =  RSA8192 with SHA1
+  10   =  RSA8192 with SHA256
+  11   =  RSA8192 with SHA512
+
+If ALG is not specified, a default value will be used.
+
+EOF
+  exit 1
+fi
+
+
+# Compute the key length assuming the sizes shown above.
+function alg_to_keylen {
+  echo $(( 1 << (10 + ($1 / 3)) ))
+}
+
+# Emit .vbpubk and .vbprivk using given basename and algorithm.
+function make_pair {
+  local base=$1
+  local alg=$2
+  local len=$(alg_to_keylen $alg)
+
+  # make the RSA keypair
+  openssl genrsa -F4 -out "${base}_${len}.pem" $len
+  # create a self-signed certificate
+  openssl req -batch -new -x509 -key "${base}_${len}.pem" \
+    -out "${base}_${len}.crt"
+  # generate pre-processed RSA public key
+  dumpRSAPublicKey -cert "${base}_${len}.crt" > "${base}_${len}.keyb"
+
+  # wrap the public key
+  futility vbutil_key \
+    --pack "${base}.vbpubk" \
+    --key "${base}_${len}.keyb" \
+    --version 1 \
+    --algorithm $alg
+
+  # wrap the private key
+  futility vbutil_key \
+    --pack "${base}.vbprivk" \
+    --key "${base}_${len}.pem" \
+    --algorithm $alg
+
+  # remove intermediate files
+  rm -f "${base}_${len}.pem" "${base}_${len}.crt" "${base}_${len}.keyb"
+}
+
+# First create the .vbpubk and .vbprivk pair.
+make_pair "$1" "${2:-4}"
+
+# Now create a .keyblock to hold our .vbpubk. Since it's for developer use, it
+# won't be signed, just checksummed. Developer kernels can only be run in
+# non-recovery mode with the developer switch enabled, but it won't hurt us to
+# turn on all the flags bits anyway.
+futility vbutil_keyblock --pack "$1.keyblock" \
+  --datapubkey "$1.vbpubk" --flags 15
diff --git a/utility/dumpRSAPublicKey.c b/utility/dumpRSAPublicKey.c
new file mode 100644 (file)
index 0000000..d7f66e5
--- /dev/null
@@ -0,0 +1,207 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* C port of DumpPublicKey.java from the Android Open source project with
+ * support for additional RSA key sizes. (platform/system/core,git/libmincrypt
+ * /tools/DumpPublicKey.java). Uses the OpenSSL X509 and BIGNUM library.
+ */
+
+#include <openssl/pem.h>
+
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "openssl_compat.h"
+
+/* Command line tool to extract RSA public keys from X.509 certificates
+ * and output a pre-processed version of keys for use by RSA verification
+ * routines.
+ */
+
+static int check(RSA* key) {
+  const BIGNUM *n, *e;
+  int public_exponent, modulus;
+
+  RSA_get0_key(key, &n, &e, NULL);
+  public_exponent = BN_get_word(e);
+  modulus = BN_num_bits(n);
+
+  if (public_exponent != 3 && public_exponent != 65537) {
+    fprintf(stderr,
+            "WARNING: Public exponent should be 3 or 65537 (but is %d).\n",
+            public_exponent);
+  }
+
+  if (modulus != 1024 && modulus != 2048 && modulus != 3072 && modulus != 4096
+      && modulus != 8192) {
+    fprintf(stderr, "ERROR: Unknown modulus length = %d.\n", modulus);
+    return 0;
+  }
+  return 1;
+}
+
+/* Pre-processes and outputs RSA public key to standard out.
+ */
+static void output(RSA* key) {
+  int i, nwords;
+  const BIGNUM *key_n;
+  BIGNUM *N = NULL;
+  BIGNUM *Big1 = NULL, *Big2 = NULL, *Big32 = NULL, *BigMinus1 = NULL;
+  BIGNUM *B = NULL;
+  BIGNUM *N0inv= NULL, *R = NULL, *RR = NULL, *RRTemp = NULL, *NnumBits = NULL;
+  BIGNUM *n = NULL, *rr = NULL;
+  BN_CTX *bn_ctx = BN_CTX_new();
+  uint32_t n0invout;
+
+  /* Output size of RSA key in 32-bit words */
+  nwords = RSA_size(key) / 4;
+  if (-1 == write(1, &nwords, sizeof(nwords)))
+    goto failure;
+
+
+  /* Initialize BIGNUMs */
+  RSA_get0_key(key, &key_n, NULL, NULL);
+  N = BN_dup(key_n);
+  Big1 = BN_new();
+  Big2 = BN_new();
+  Big32 = BN_new();
+  BigMinus1 = BN_new();
+  N0inv= BN_new();
+  R = BN_new();
+  RR = BN_new();
+  RRTemp = BN_new();
+  NnumBits = BN_new();
+  n = BN_new();
+  rr = BN_new();
+
+
+  BN_set_word(Big1, 1L);
+  BN_set_word(Big2, 2L);
+  BN_set_word(Big32, 32L);
+  BN_sub(BigMinus1, Big1, Big2);
+
+  B = BN_new();
+  BN_exp(B, Big2, Big32, bn_ctx); /* B = 2^32 */
+
+  /* Calculate and output N0inv = -1 / N[0] mod 2^32 */
+  BN_mod_inverse(N0inv, N, B, bn_ctx);
+  BN_sub(N0inv, B, N0inv);
+  n0invout = BN_get_word(N0inv);
+  if (-1 == write(1, &n0invout, sizeof(n0invout)))
+    goto failure;
+
+  /* Calculate R = 2^(# of key bits) */
+  BN_set_word(NnumBits, BN_num_bits(N));
+  BN_exp(R, Big2, NnumBits, bn_ctx);
+
+  /* Calculate RR = R^2 mod N */
+  BN_copy(RR, R);
+  BN_mul(RRTemp, RR, R, bn_ctx);
+  BN_mod(RR, RRTemp, N, bn_ctx);
+
+
+  /* Write out modulus as little endian array of integers. */
+  for (i = 0; i < nwords; ++i) {
+    uint32_t nout;
+
+    BN_mod(n, N, B, bn_ctx); /* n = N mod B */
+    nout = BN_get_word(n);
+    if (-1 == write(1, &nout, sizeof(nout)))
+      goto failure;
+
+    BN_rshift(N, N, 32); /*  N = N/B */
+  }
+
+  /* Write R^2 as little endian array of integers. */
+  for (i = 0; i < nwords; ++i) {
+    uint32_t rrout;
+
+    BN_mod(rr, RR, B, bn_ctx); /* rr = RR mod B */
+    rrout = BN_get_word(rr);
+    if (-1 == write(1, &rrout, sizeof(rrout)))
+      goto failure;
+
+    BN_rshift(RR, RR, 32); /* RR = RR/B */
+  }
+
+failure:
+  /* Free BIGNUMs. */
+  BN_free(N);
+  BN_free(Big1);
+  BN_free(Big2);
+  BN_free(Big32);
+  BN_free(BigMinus1);
+  BN_free(N0inv);
+  BN_free(R);
+  BN_free(RRTemp);
+  BN_free(NnumBits);
+  BN_free(n);
+  BN_free(rr);
+
+}
+
+int main(int argc, char* argv[]) {
+  int cert_mode = 0;
+  FILE* fp;
+  X509* cert = NULL;
+  RSA* pubkey = NULL;
+  EVP_PKEY* key;
+  char *progname;
+
+  if (argc != 3 || (strcmp(argv[1], "-cert") && strcmp(argv[1], "-pub"))) {
+    progname = strrchr(argv[0], '/');
+    if (progname)
+      progname++;
+    else
+      progname = argv[0];
+    fprintf(stderr, "Usage: %s <-cert | -pub> <file>\n", progname);
+    return -1;
+  }
+
+  if (!strcmp(argv[1], "-cert"))
+    cert_mode = 1;
+
+  fp = fopen(argv[2], "r");
+
+  if (!fp) {
+    fprintf(stderr, "Couldn't open file %s!\n", argv[2]);
+    return -1;
+  }
+
+  if (cert_mode) {
+    /* Read the certificate */
+    if (!PEM_read_X509(fp, &cert, NULL, NULL)) {
+      fprintf(stderr, "Couldn't read certificate.\n");
+      goto fail;
+    }
+
+    /* Get the public key from the certificate. */
+    key = X509_get_pubkey(cert);
+
+    /* Convert to a RSA_style key. */
+    if (!(pubkey = EVP_PKEY_get1_RSA(key))) {
+      fprintf(stderr, "Couldn't convert to a RSA style key.\n");
+      goto fail;
+    }
+  } else {
+    /* Read the pubkey in .PEM format. */
+    if (!(pubkey = PEM_read_RSA_PUBKEY(fp, NULL, NULL, NULL))) {
+      fprintf(stderr, "Couldn't read public key file.\n");
+      goto fail;
+    }
+  }
+
+  if (check(pubkey)) {
+    output(pubkey);
+  }
+
+fail:
+  X509_free(cert);
+  RSA_free(pubkey);
+  fclose(fp);
+
+  return 0;
+}
diff --git a/utility/enable_dev_usb_boot b/utility/enable_dev_usb_boot
new file mode 100755 (executable)
index 0000000..8cf16ba
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+alert() {
+  echo "$*" >&2
+}
+
+die() {
+  alert "ERROR: $*"
+  exit 1
+}
+
+case "$(crossystem fwid 2>/dev/null || true)" in
+  Mario.* )
+    die "Sorry, your platform does not support booting from USB."
+    ;;
+
+  Alex.* | ZGB.* )
+    # For these legacy platforms, we need to re-flash firmware to get USB boot.
+    chromeos-firmwareupdate --mode=todev || die "Failed to enable USB boot."
+    ;;
+
+  "" )
+    die "Sorry, your firmware does not look like ChromeOS firmware."
+    ;;
+
+  * )
+    crossystem dev_boot_usb=1 2>/dev/null || die "Failed to enable USB boot."
+    echo "
+    SUCCESS: Booting any self-signed kernel from SSD/USB/SDCard slot is enabled.
+
+    Insert bootable media into USB / SDCard slot and press Ctrl-U in developer
+    screen to boot your self-signed image.
+    "
+    ;;
+esac
diff --git a/utility/include/gbb_utility.h b/utility/include/gbb_utility.h
new file mode 100644 (file)
index 0000000..da4504b
--- /dev/null
@@ -0,0 +1,102 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef VBOOT_REFERENCE_GBB_UTILITY_H_
+#define VBOOT_REFERENCE_GBB_UTILITY_H_
+
+#include <string>
+#include <vector>
+
+namespace vboot_reference {
+
+class GoogleBinaryBlockUtil {
+ public:
+  // enumerate of available data fields
+  enum PROPINDEX {
+    PROP_FLAGS = -1,// flags (virtual property)
+    PROP_HWID,      // hardware id
+    PROP_ROOTKEY,   // root key
+    PROP_BMPFV,     // bitmap FV
+    PROP_RCVKEY,    // recovery key
+    PROP_RANGE,     // indicator of valid property range
+  };
+
+  GoogleBinaryBlockUtil();
+  ~GoogleBinaryBlockUtil();
+
+  // load GBB from a BIOS image file.
+  // return true if a valid GBB was retrieved.
+  bool load_from_file(const char *filename);
+
+  // save loaded (and modified) GBB with BIOS image to new file
+  // return true on success.
+  bool save_to_file(const char *filename);
+
+  // create a new GBB blob by providing a list of reserved data size for each
+  // properties, following the order described in vb2_gbb_header.
+  // return true on success.
+  bool create_new(const std::vector<uint32_t> &create_param);
+
+  // retrieve the value of GBB header flags.
+  // return the flags value.
+  uint32_t get_flags() const;
+
+  // overwrite GBB header flags.
+  // return true on success.
+  bool set_flags(const uint32_t flags);
+
+  // retrieve the value of a property from GBB data.
+  // return the property value.
+  std::string get_property(PROPINDEX i) const;
+
+  // overwrite a property in GBB data.
+  // return true on success.
+  bool set_property(PROPINDEX i, const std::string &value);
+
+  // get a readable name by a property index.
+  // return the name for valid properties, otherwise unexpected empty string.
+  std::string get_property_name(PROPINDEX i) const;
+
+  // quick getters and setters of known properties in GBB
+  bool set_hwid(const char *hwid);      // NOTE: hwid is NUL-terminated.
+  bool set_rootkey(const std::string &value);
+  bool set_bmpfv(const std::string &value);
+  bool set_recovery_key(const std::string &value);
+  std::string get_hwid() const { return get_property(PROP_HWID); }
+  std::string get_rootkey() const { return get_property(PROP_ROOTKEY); }
+  std::string get_bmpfv() const { return get_property(PROP_BMPFV); }
+  std::string get_recovery_key() const { return get_property(PROP_RCVKEY); }
+
+ private:
+  // clear all cached data and initialize to original state
+  void initialize();
+
+  // search and count for GBB signatures in loaded image.
+  // return the number of signatures found.
+  int search_header_signatures(const std::string &image, long *poffset) const;
+
+  // load and check header structure from image by given offset.
+  // return true if a valid GBB header is loaded into *phdr.
+  bool load_gbb_header(const std::string &image, long offset,
+                       struct vb2_gbb_header *phdr) const;
+
+  // find the size, offset, and name information for given property.
+  // return true if the offset and size are assign to *poffset and *psize;
+  // if pname is not NULL, *pname will hold a pointer to a readable name.
+  // return false if the property index is invalid.
+  bool find_property(PROPINDEX i, uint32_t *poffset, uint32_t *psize,
+                     const char **pname) const;
+
+  struct vb2_gbb_header header_;        // copy of GBB header from image
+  std::string file_content_;            // complete image file content
+  long header_offset_;                  // offset to GBB header in file_content_
+  bool is_valid_gbb;                    // if we are holding a valid GBB
+
+  bool verbose;                         // provide verbose messages
+};
+
+}  // namespace vboot_reference
+
+#endif  /* VBOOT_REFERENCE_GBB_UTILITY_H_ */
diff --git a/utility/include/tpmextras.h b/utility/include/tpmextras.h
new file mode 100644 (file)
index 0000000..10802fc
--- /dev/null
@@ -0,0 +1,22 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * TPM definitions not available in any TSS include file :-(
+ */
+
+#ifndef VBOOT_REFERENCE_TPMEXTRAS_H_
+#define VBOOT_REFERENCE_TPMEXTRAS_H_
+
+#define TPM_MAX_COMMAND_SIZE 4096
+#define TPM_LARGE_ENOUGH_COMMAND_SIZE 256  /* saves space in the firmware */
+#define TPM_ENCAUTH_SIZE 20
+#define TPM_PUBEK_SIZE 256
+
+typedef struct tdTPM_WRITE_INFO {
+  uint32_t nvIndex;
+  uint32_t offset;
+  uint32_t dataSize;
+} TPM_WRITE_INFO;
+
+#endif  /* VBOOT_REFERENCE_TPMEXTRAS_H_ */
diff --git a/utility/load_kernel_test.c b/utility/load_kernel_test.c
new file mode 100644 (file)
index 0000000..405fced
--- /dev/null
@@ -0,0 +1,279 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Routines for verifying a file's signature. Useful in testing the core
+ * RSA verification implementation.
+ */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "2api.h"
+#include "2common.h"
+#include "2misc.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "load_kernel_fw.h"
+
+#define LBA_BYTES 512
+#define KERNEL_BUFFER_SIZE 0xA00000
+
+static uint8_t workbuf[VB2_KERNEL_WORKBUF_RECOMMENDED_SIZE];
+static struct vb2_context *ctx;
+static struct vb2_shared_data *sd;
+
+/* Global variables for stub functions */
+static VbSelectAndLoadKernelParams lkp;
+static VbDiskInfo disk_info;
+static FILE *image_file = NULL;
+
+
+/* Boot device stub implementations to read from the image file */
+vb2_error_t VbExDiskRead(VbExDiskHandle_t handle, uint64_t lba_start,
+                        uint64_t lba_count, void *buffer)
+{
+       printf("Read(%" PRIu64 ", %" PRIu64 ")\n", lba_start, lba_count);
+
+       if (lba_start >= disk_info.streaming_lba_count ||
+           lba_start + lba_count > disk_info.streaming_lba_count) {
+               fprintf(stderr,
+                       "Read overrun: %" PRIu64 " + %" PRIu64
+                       " > %" PRIu64 "\n", lba_start,
+                       lba_count, disk_info.streaming_lba_count);
+               return 1;
+       }
+
+       if (0 != fseek(image_file, lba_start * disk_info.bytes_per_lba,
+                      SEEK_SET) ||
+           1 != fread(buffer, lba_count * disk_info.bytes_per_lba, 1,
+                      image_file)) {
+               fprintf(stderr, "Read error.");
+               return 1;
+       }
+       return VB2_SUCCESS;
+}
+
+
+vb2_error_t VbExDiskWrite(VbExDiskHandle_t handle, uint64_t lba_start,
+                         uint64_t lba_count, const void *buffer)
+{
+       printf("Write(%" PRIu64 ", %" PRIu64 ")\n", lba_start, lba_count);
+
+       if (lba_start >= disk_info.streaming_lba_count ||
+           lba_start + lba_count > disk_info.streaming_lba_count) {
+               fprintf(stderr,
+                       "Read overrun: %" PRIu64 " + %" PRIu64
+                       " > %" PRIu64 "\n", lba_start, lba_count,
+                       disk_info.streaming_lba_count);
+               return 1;
+       }
+
+       /* TODO: enable writes, once we're sure it won't trash
+          our example file */
+       return VB2_SUCCESS;
+
+       fseek(image_file, lba_start * disk_info.bytes_per_lba, SEEK_SET);
+       if (1 != fwrite(buffer, lba_count * disk_info.bytes_per_lba, 1,
+                       image_file)) {
+               fprintf(stderr, "Read error.");
+               return 1;
+       }
+       return VB2_SUCCESS;
+}
+
+
+#define BOOT_FLAG_DEVELOPER (1 << 0)
+#define BOOT_FLAG_RECOVERY (1 << 1)
+
+/* Main routine */
+int main(int argc, char* argv[])
+{
+       const char* image_name;
+       uint64_t key_size = 0;
+       struct vb2_packed_key *key_blob = NULL;
+       struct vb2_gbb_header* gbb;
+       vb2_error_t rv;
+       int c, argsleft;
+       int errorcnt = 0;
+       char *e = 0;
+
+       memset(&lkp, 0, sizeof(VbSelectAndLoadKernelParams));
+       disk_info.bytes_per_lba = LBA_BYTES;
+       int boot_flags = BOOT_FLAG_RECOVERY;
+
+       /* Parse options */
+       opterr = 0;
+       while ((c = getopt(argc, argv, ":b:")) != -1) {
+               switch (c) {
+               case 'b':
+                       boot_flags = strtoull(optarg, &e, 0);
+                       if (!*optarg || (e && *e)) {
+                               fprintf(stderr,
+                                       "Invalid argument to -%c: \"%s\"\n",
+                                       c, optarg);
+                               errorcnt++;
+                       }
+                       break;
+               case '?':
+                       fprintf(stderr, "Unrecognized switch: -%c\n", optopt);
+                       errorcnt++;
+                       break;
+               case ':':
+                       fprintf(stderr, "Missing argument to -%c\n", optopt);
+                       errorcnt++;
+                       break;
+               default:
+                       errorcnt++;
+                       break;
+               }
+       }
+
+       /* Update argc */
+       argsleft = argc - optind;
+
+       if (errorcnt || !argsleft) {
+               fprintf(stderr,
+                       "usage: %s [options] <drive_image> [<sign_key>]\n",
+                       argv[0]);
+               fprintf(stderr, "\noptions:\n");
+               /* These cases are because uint64_t isn't necessarily the same
+                  as ULL. */
+               fprintf(stderr, "  -b NUM     boot flag bits (default %d):\n",
+                       BOOT_FLAG_RECOVERY);
+               fprintf(stderr, "               %d = developer mode on\n",
+                       BOOT_FLAG_DEVELOPER);
+               fprintf(stderr, "               %d = recovery mode on\n",
+                       BOOT_FLAG_RECOVERY);
+               return 1;
+       }
+
+       image_name = argv[optind];
+
+       /* Read header signing key blob */
+       if (argsleft > 1) {
+               key_blob = (struct vb2_packed_key *)
+                       ReadFile(argv[optind+1], &key_size);
+               if (!key_blob) {
+                       fprintf(stderr, "Unable to read key file %s\n",
+                               argv[optind+1]);
+                       return 1;
+               }
+               printf("Read %" PRIu64 " bytes of key from %s\n", key_size,
+                      argv[optind+1]);
+               if (key_size > 16*1024*1024) {
+                       fprintf(stderr, "Key blob size=%" PRIu64
+                               " is ridiculous.\n", key_size);
+                       free(key_blob);
+                       return 1;
+               }
+       }
+
+       /* Initialize the GBB */
+       uint32_t gbb_size = sizeof(struct vb2_gbb_header) + key_size;
+       gbb = (struct vb2_gbb_header*)malloc(gbb_size);
+       memset(gbb, 0, gbb_size);
+       memcpy(gbb->signature, VB2_GBB_SIGNATURE, VB2_GBB_SIGNATURE_SIZE);
+       gbb->major_version = VB2_GBB_MAJOR_VER;
+       gbb->minor_version = VB2_GBB_MINOR_VER;
+       gbb->header_size = sizeof(struct vb2_gbb_header);
+       /* Fill in the given key, if any, for both root and recovery */
+       if (key_blob) {
+               gbb->rootkey_offset = gbb->header_size;
+               gbb->rootkey_size = key_size;
+               memcpy((uint8_t*)gbb + gbb->rootkey_offset, key_blob, key_size);
+
+               gbb->recovery_key_offset = gbb->rootkey_offset;
+               gbb->recovery_key_size = key_size;
+       }
+
+       printf("bootflags = %d\n", boot_flags);
+
+       /* Get image size */
+       printf("Reading from image: %s\n", image_name);
+       image_file = fopen(image_name, "rb");
+       if (!image_file) {
+               fprintf(stderr, "Unable to open image file %s\n", image_name);
+               return 1;
+       }
+       fseek(image_file, 0, SEEK_END);
+       disk_info.streaming_lba_count = (ftell(image_file) / LBA_BYTES);
+       disk_info.lba_count = disk_info.streaming_lba_count;
+       rewind(image_file);
+       printf("Streaming LBA count: %" PRIu64 "\n",
+              disk_info.streaming_lba_count);
+
+       /* Allocate a buffer for the kernel */
+       lkp.kernel_buffer = malloc(KERNEL_BUFFER_SIZE);
+       if(!lkp.kernel_buffer) {
+               fprintf(stderr, "Unable to allocate kernel buffer.\n");
+               return 1;
+       }
+       lkp.kernel_buffer_size = KERNEL_BUFFER_SIZE;
+
+       /* Set up vboot context. */
+       if (vb2api_init(&workbuf, sizeof(workbuf), &ctx)) {
+               fprintf(stderr, "Can't initialize workbuf\n");
+               return 1;
+       }
+       sd = vb2_get_sd(ctx);
+
+       /* Copy kernel subkey to workbuf, if any */
+       if (key_blob) {
+               struct vb2_workbuf wb;
+               struct vb2_packed_key *dst;
+               uint32_t kernkey_size =
+                       key_blob->key_offset + key_blob->key_size;
+               vb2_workbuf_from_ctx(ctx, &wb);
+               dst = vb2_workbuf_alloc(&wb, kernkey_size);
+               memcpy(dst, key_blob, kernkey_size);
+               vb2_set_workbuf_used(ctx, vb2_offset_of(sd, wb.buf));
+               sd->kernel_key_offset = vb2_offset_of(sd, dst);
+               sd->kernel_key_size = kernkey_size;
+       }
+
+       /* Free the key blob, now that we're done with it */
+       free(key_blob);
+
+       /* No need to initialize ctx->nvdata[]; defaults are fine */
+       /* TODO(chromium:441893): support dev-mode flag and external gpt flag */
+       if (boot_flags & BOOT_FLAG_RECOVERY)
+               ctx->flags |= VB2_CONTEXT_RECOVERY_MODE;
+       if (boot_flags & BOOT_FLAG_DEVELOPER)
+               ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE;
+
+       /* Call LoadKernel() */
+       rv = LoadKernel(ctx, &lkp, &disk_info);
+       printf("LoadKernel() returned %d\n", rv);
+
+       if (VB2_SUCCESS == rv) {
+               printf("Partition number:   %u\n", lkp.partition_number);
+               printf("Bootloader address: %" PRIu64 "\n",
+                      lkp.bootloader_address);
+               printf("Bootloader size:    %u\n", lkp.bootloader_size);
+               printf("Partition guid:     "
+                      "%02x%02x%02x%02x-%02x%02x-%02x%02x"
+                      "-%02x%02x-%02x%02x%02x%02x%02x%02x\n",
+                      lkp.partition_guid[3],
+                      lkp.partition_guid[2],
+                      lkp.partition_guid[1],
+                      lkp.partition_guid[0],
+                      lkp.partition_guid[5],
+                      lkp.partition_guid[4],
+                      lkp.partition_guid[7],
+                      lkp.partition_guid[6],
+                      lkp.partition_guid[8],
+                      lkp.partition_guid[9],
+                      lkp.partition_guid[10],
+                      lkp.partition_guid[11],
+                      lkp.partition_guid[12],
+                      lkp.partition_guid[13],
+                      lkp.partition_guid[14],
+                      lkp.partition_guid[15]);
+       }
+
+       fclose(image_file);
+       free(lkp.kernel_buffer);
+       return rv != VB2_SUCCESS;
+}
diff --git a/utility/pad_digest_utility.c b/utility/pad_digest_utility.c
new file mode 100644 (file)
index 0000000..6f91cf3
--- /dev/null
@@ -0,0 +1,70 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "2common.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_signature21.h"
+#include "signature_digest.h"
+
+static void usage(char* argv[]) {
+       fprintf(stderr,
+               "Usage: %s <alg_id> <digest_file>\n"
+               "\n"
+               "Generate a padded hash suitable for generating PKCS#1.5 "
+               "signatures.\n",
+               basename(argv[0]));
+}
+
+int main(int argc, char* argv[])
+{
+       int algorithm = -1;
+       int error_code = -1;
+       uint8_t* digest = NULL;
+       uint8_t* padded_digest = NULL;
+       uint32_t len;
+
+       if (argc != 3) {
+               usage(argv);
+               goto cleanup;
+       }
+       algorithm = atoi(argv[1]);
+       if (algorithm < 0 || algorithm >= VB2_ALG_COUNT) {
+               fprintf(stderr, "Invalid Algorithm!\n");
+               goto cleanup;
+       }
+
+       enum vb2_hash_algorithm hash_alg = vb2_crypto_to_hash(algorithm);
+       uint32_t digest_size = vb2_digest_size(hash_alg);
+       uint32_t digestinfo_size = 0;
+       const uint8_t* digestinfo = NULL;
+       if (VB2_SUCCESS != vb2_digest_info(hash_alg, &digestinfo,
+                                          &digestinfo_size)) {
+               fprintf(stderr, "SignatureBuf(): Couldn't get digest info\n");
+               goto cleanup;
+       }
+       uint32_t padded_digest_len = digest_size + digestinfo_size;
+
+       if (VB2_SUCCESS != vb2_read_file(argv[2], &digest, &len)) {
+               fprintf(stderr, "Could not read file: %s\n", argv[2]);
+               goto cleanup;
+       }
+
+       padded_digest = PrependDigestInfo(hash_alg, digest);
+       if(padded_digest &&
+          fwrite(padded_digest, padded_digest_len, 1, stdout) == 1)
+               error_code = 0;
+
+cleanup:
+       free(padded_digest);
+       free(digest);
+       return error_code;
+}
diff --git a/utility/signature_digest_utility.c b/utility/signature_digest_utility.c
new file mode 100644 (file)
index 0000000..9f5138f
--- /dev/null
@@ -0,0 +1,61 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * Utility that outputs the cryptographic digest of a contents of a
+ * file in a format that can be directly used to generate PKCS#1 v1.5
+ * signatures via the "openssl" command line utility.
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "2common.h"
+#include "2sysincludes.h"
+#include "host_common.h"
+#include "host_signature21.h"
+#include "signature_digest.h"
+
+int main(int argc, char* argv[])
+{
+       int error_code = -1;
+       uint8_t *buf = NULL;
+       uint8_t *signature_digest = NULL;
+       uint32_t len;
+
+       if (argc != 3) {
+               fprintf(stderr, "Usage: %s <alg_id> <file>", argv[0]);
+               goto cleanup;
+       }
+
+       int algorithm = atoi(argv[1]);
+       if (algorithm < 0 || algorithm >= VB2_ALG_COUNT) {
+               fprintf(stderr, "Invalid Algorithm!\n");
+               goto cleanup;
+       }
+
+       if (VB2_SUCCESS != vb2_read_file(argv[2], &buf, &len)) {
+               fprintf(stderr, "Could not read file: %s\n", argv[2]);
+               goto cleanup;
+       }
+
+       enum vb2_hash_algorithm hash_alg = vb2_crypto_to_hash(algorithm);
+       uint32_t digest_size = vb2_digest_size(hash_alg);
+       uint32_t digestinfo_size = 0;
+       const uint8_t *digestinfo = NULL;
+       if (VB2_SUCCESS != vb2_digest_info(hash_alg, &digestinfo,
+                                          &digestinfo_size))
+               goto cleanup;
+
+       uint32_t signature_digest_len = digest_size + digestinfo_size;
+       signature_digest = SignatureDigest(buf, len, algorithm);
+       if(signature_digest &&
+          fwrite(signature_digest, signature_digest_len, 1, stdout) == 1)
+               error_code = 0;
+
+cleanup:
+       free(signature_digest);
+       free(buf);
+       return error_code;
+}
diff --git a/utility/tlcl_generator.c b/utility/tlcl_generator.c
new file mode 100644 (file)
index 0000000..99ec4a5
--- /dev/null
@@ -0,0 +1,680 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* This program generates partially filled TPM datagrams and other compile-time
+ * constants (e.g. structure sizes and offsets).  Compile this file---and ONLY
+ * this file---with -fpack-struct.  We take advantage of the fact that the
+ * (packed) TPM structures layout (mostly) match the TPM request and response
+ * datagram layout.  When they don't completely match, some fixing is necessary
+ * (see PCR_SELECTION_FIX below).
+ */
+
+#include <assert.h>
+#include <stdio.h>
+
+#include "2sysincludes.h"
+#include "tlcl_internal.h"
+#include "tpmextras.h"
+#include "tss_constants.h"
+
+/* See struct Command below.  This structure represent a field in a TPM
+ * command.  [name] is the field name.  [visible] is 1 if the field is
+ * modified by the run-time.  Non-visible fields are initialized at build time
+ * and remain constant.  [size] is the field size in bytes.  [value] is the
+ * fixed value of non-visible fields.
+ */
+typedef struct Field {
+  const char* name;
+  int visible;
+  int offset;
+  int size;
+  uint32_t value;     /* large enough for all initializers */
+  struct Field* next;
+} Field;
+
+/* This structure is used to build (at build time) and manipulate (at firmware
+ * or emulation run time) buffers containing TPM datagrams.  [name] is the name
+ * of a TPM command.  [size] is the size of the command buffer in bytes, when
+ * known.  [max_size] is the maximum size allowed for variable-length commands
+ * (such as Read and Write).  [fields] is a link-list of command fields.
+ */
+typedef struct Command {
+  const char* name;
+  int size;
+  int max_size;
+  Field* fields;
+  struct Command* next;
+} Command;
+
+/* Adds a field to a command, and makes its offset visible.  The fields must be
+ * added at increasing offsets.
+ */
+static void AddVisibleField(Command* cmd, const char* name, int offset) {
+  Field* fld = (Field*) calloc(1, sizeof(Field));
+  if (cmd->fields != NULL) {
+    assert(offset > fn->offset);
+  }
+  fld->next = cmd->fields;
+  cmd->fields = fld;
+  fld->name = name;
+  fld->visible = 1;
+  fld->offset = offset;
+}
+
+/* Adds a constant field with its value.  The fields must be added at
+ * increasing offsets.
+ */
+static void AddInitializedField(Command* cmd, int offset,
+                                int size, uint32_t value) {
+  Field* fld = (Field*) calloc(1, sizeof(Field));
+  fld->next = cmd->fields;
+  cmd->fields = fld;
+  fld->name = NULL;
+  fld->visible = 0;
+  fld->size = size;
+  fld->offset = offset;
+  fld->value = value;
+}
+
+/* Create a structure representing a TPM command datagram.
+ */
+Command* newCommandWithTag(TPM_COMMAND_CODE code, int size, TPM_TAG tag) {
+  Command* cmd = (Command*) calloc(1, sizeof(Command));
+  cmd->size = size;
+  AddInitializedField(cmd, 0, sizeof(TPM_TAG), tag);
+  AddInitializedField(cmd, sizeof(TPM_TAG), sizeof(uint32_t), size);
+  AddInitializedField(cmd, sizeof(TPM_TAG) + sizeof(uint32_t),
+                      sizeof(TPM_COMMAND_CODE), code);
+  return cmd;
+}
+
+Command* newCommand(TPM_COMMAND_CODE code, int size) {
+  return newCommandWithTag(code, size, TPM_TAG_RQU_COMMAND);
+}
+
+/* BuildXXX builds TPM command XXX.
+ */
+Command* BuildDefineSpaceCommand(void) {
+  int nv_data_public = kTpmRequestHeaderLength;
+  int nv_index = nv_data_public + offsetof(TPM_NV_DATA_PUBLIC, nvIndex);
+  int nv_pcr_info_read = nv_data_public +
+    offsetof(TPM_NV_DATA_PUBLIC, pcrInfoRead);
+  int read_locality = nv_pcr_info_read +
+    offsetof(TPM_PCR_INFO_SHORT, localityAtRelease);
+  int nv_pcr_info_write = nv_data_public +
+    offsetof(TPM_NV_DATA_PUBLIC, pcrInfoWrite);
+  int write_locality = nv_pcr_info_write +
+    offsetof(TPM_PCR_INFO_SHORT, localityAtRelease);
+  int nv_permission = nv_data_public +
+    offsetof(TPM_NV_DATA_PUBLIC, permission);
+  int nv_permission_tag =
+    nv_permission + offsetof(TPM_NV_ATTRIBUTES, tag);
+  int nv_permission_attributes =
+    nv_permission + offsetof(TPM_NV_ATTRIBUTES, attributes);
+  int nv_datasize = nv_data_public +
+    offsetof(TPM_NV_DATA_PUBLIC, dataSize);
+
+  int size = kTpmRequestHeaderLength + sizeof(TPM_NV_DATA_PUBLIC) +
+      kEncAuthLength;
+  Command* cmd = newCommand(TPM_ORD_NV_DefineSpace, size);
+  cmd->name = "tpm_nv_definespace_cmd";
+
+  AddVisibleField(cmd, "index", nv_index);
+  AddVisibleField(cmd, "pcr_info_read", nv_pcr_info_read);
+  AddVisibleField(cmd, "pcr_info_write", nv_pcr_info_write);
+  AddVisibleField(cmd, "perm", nv_permission_attributes);
+  AddVisibleField(cmd, "size", nv_datasize);
+
+  AddInitializedField(cmd, nv_data_public, sizeof(uint16_t),
+                      TPM_TAG_NV_DATA_PUBLIC);
+  AddInitializedField(cmd, nv_pcr_info_read, sizeof(uint16_t), 3);
+  AddInitializedField(cmd, read_locality, sizeof(TPM_LOCALITY_SELECTION),
+                      TPM_ALL_LOCALITIES);
+  AddInitializedField(cmd, nv_pcr_info_write, sizeof(uint16_t), 3);
+  AddInitializedField(cmd, write_locality, sizeof(TPM_LOCALITY_SELECTION),
+                      TPM_ALL_LOCALITIES);
+  AddInitializedField(cmd, nv_permission_tag, sizeof(TPM_STRUCTURE_TAG),
+                      TPM_TAG_NV_ATTRIBUTES);
+  return cmd;
+}
+
+/* BuildXXX builds TPM command XXX.
+ */
+Command* BuildWriteCommand(void) {
+  Command* cmd = newCommand(TPM_ORD_NV_WriteValue, 0);
+  cmd->name = "tpm_nv_write_cmd";
+  cmd->max_size = TPM_LARGE_ENOUGH_COMMAND_SIZE;
+  AddVisibleField(cmd, "index", kTpmRequestHeaderLength);
+  AddVisibleField(cmd, "length", kTpmRequestHeaderLength + 8);
+  AddVisibleField(cmd, "data", kTpmRequestHeaderLength + 12);
+  return cmd;
+}
+
+Command* BuildReadCommand(void) {
+  int size = kTpmRequestHeaderLength + kTpmReadInfoLength;
+  Command* cmd = newCommand(TPM_ORD_NV_ReadValue, size);
+  cmd->name = "tpm_nv_read_cmd";
+  AddVisibleField(cmd, "index", kTpmRequestHeaderLength);
+  AddVisibleField(cmd, "length", kTpmRequestHeaderLength + 8);
+  return cmd;
+}
+
+Command* BuildPCRReadCommand(void) {
+  int size = kTpmRequestHeaderLength + sizeof(uint32_t);
+  Command* cmd = newCommand(TPM_ORD_PcrRead, size);
+  cmd->name = "tpm_pcr_read_cmd";
+  AddVisibleField(cmd, "pcrNum", kTpmRequestHeaderLength);
+  return cmd;
+}
+
+Command* BuildPPAssertCommand(void) {
+  int size = kTpmRequestHeaderLength + sizeof(TPM_PHYSICAL_PRESENCE);
+  Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size);
+  cmd->name = "tpm_ppassert_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength,
+                      sizeof(TPM_PHYSICAL_PRESENCE),
+                      TPM_PHYSICAL_PRESENCE_PRESENT);
+  return cmd;
+}
+
+Command* BuildPPEnableCommand(void) {
+  int size = kTpmRequestHeaderLength + sizeof(TPM_PHYSICAL_PRESENCE);
+  Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size);
+  cmd->name = "tpm_ppenable_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength,
+                      sizeof(TPM_PHYSICAL_PRESENCE),
+                      TPM_PHYSICAL_PRESENCE_CMD_ENABLE);
+  return cmd;
+}
+
+Command* BuildFinalizePPCommand(void) {
+  int size = kTpmRequestHeaderLength + sizeof(TPM_PHYSICAL_PRESENCE);
+  Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size);
+  cmd->name = "tpm_finalizepp_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength,
+                      sizeof(TPM_PHYSICAL_PRESENCE),
+                      TPM_PHYSICAL_PRESENCE_CMD_ENABLE |
+                      TPM_PHYSICAL_PRESENCE_HW_DISABLE |
+                      TPM_PHYSICAL_PRESENCE_LIFETIME_LOCK);
+  return cmd;
+}
+
+Command* BuildPPLockCommand(void) {
+  int size = kTpmRequestHeaderLength + sizeof(TPM_PHYSICAL_PRESENCE);
+  Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size);
+  cmd->name = "tpm_pplock_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength,
+                      sizeof(TPM_PHYSICAL_PRESENCE),
+                      TPM_PHYSICAL_PRESENCE_LOCK);
+  return cmd;
+}
+
+Command* BuildStartupCommand(void) {
+  int size = kTpmRequestHeaderLength + sizeof(TPM_STARTUP_TYPE);
+  Command* cmd = newCommand(TPM_ORD_Startup, size);
+  cmd->name = "tpm_startup_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength,
+                      sizeof(TPM_STARTUP_TYPE),
+                      TPM_ST_CLEAR);
+  return cmd;
+}
+
+Command* BuildSaveStateCommand(void) {
+  int size = kTpmRequestHeaderLength;
+  Command* cmd = newCommand(TPM_ORD_SaveState, size);
+  cmd->name = "tpm_savestate_cmd";
+  return cmd;
+}
+
+Command* BuildResumeCommand(void) {
+  int size = kTpmRequestHeaderLength + sizeof(TPM_STARTUP_TYPE);
+  Command* cmd = newCommand(TPM_ORD_Startup, size);
+  cmd->name = "tpm_resume_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength,
+                      sizeof(TPM_STARTUP_TYPE),
+                      TPM_ST_STATE);
+  return cmd;
+}
+
+Command* BuildSelftestfullCommand(void) {
+  int size = kTpmRequestHeaderLength;
+  Command* cmd = newCommand(TPM_ORD_SelfTestFull, size);
+  cmd->name = "tpm_selftestfull_cmd";
+  return cmd;
+}
+
+Command* BuildContinueSelfTestCommand(void) {
+  int size = kTpmRequestHeaderLength;
+  Command* cmd = newCommand(TPM_ORD_ContinueSelfTest, size);
+  cmd->name = "tpm_continueselftest_cmd";
+  return cmd;
+}
+
+Command* BuildReadPubekCommand(void) {
+  int size = kTpmRequestHeaderLength + sizeof(TPM_NONCE);
+  Command* cmd = newCommand(TPM_ORD_ReadPubek, size);
+  cmd->name = "tpm_readpubek_cmd";
+  AddVisibleField(cmd, "antiReplay", kTpmRequestHeaderLength);
+  return cmd;
+}
+
+Command* BuildForceClearCommand(void) {
+  int size = kTpmRequestHeaderLength;
+  Command* cmd = newCommand(TPM_ORD_ForceClear, size);
+  cmd->name = "tpm_forceclear_cmd";
+  return cmd;
+}
+
+Command* BuildPhysicalEnableCommand(void) {
+  int size = kTpmRequestHeaderLength;
+  Command* cmd = newCommand(TPM_ORD_PhysicalEnable, size);
+  cmd->name = "tpm_physicalenable_cmd";
+  return cmd;
+}
+
+Command* BuildPhysicalDisableCommand(void) {
+  int size = kTpmRequestHeaderLength;
+  Command* cmd = newCommand(TPM_ORD_PhysicalDisable, size);
+  cmd->name = "tpm_physicaldisable_cmd";
+  return cmd;
+}
+
+Command* BuildPhysicalSetDeactivatedCommand(void) {
+  int size = kTpmRequestHeaderLength + sizeof(uint8_t);
+  Command* cmd = newCommand(TPM_ORD_PhysicalSetDeactivated, size);
+  cmd->name = "tpm_physicalsetdeactivated_cmd";
+  AddVisibleField(cmd, "deactivated", kTpmRequestHeaderLength);
+  return cmd;
+}
+
+Command* BuildExtendCommand(void) {
+  int size = kTpmRequestHeaderLength + sizeof(uint32_t) + kPcrDigestLength;
+  Command* cmd = newCommand(TPM_ORD_Extend, size);
+  cmd->name = "tpm_extend_cmd";
+  AddVisibleField(cmd, "pcrNum", kTpmRequestHeaderLength);
+  AddVisibleField(cmd, "inDigest", kTpmRequestHeaderLength + sizeof(uint32_t));
+  return cmd;
+}
+
+Command* BuildGetFlagsCommand(void) {
+  int size = (kTpmRequestHeaderLength +
+              sizeof(TPM_CAPABILITY_AREA) +   /* capArea */
+              sizeof(uint32_t) +              /* subCapSize */
+              sizeof(uint32_t));              /* subCap */
+
+  Command* cmd = newCommand(TPM_ORD_GetCapability, size);
+  cmd->name = "tpm_getflags_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength,
+                      sizeof(TPM_CAPABILITY_AREA), TPM_CAP_FLAG);
+  AddInitializedField(cmd, kTpmRequestHeaderLength +
+                      sizeof(TPM_CAPABILITY_AREA),
+                      sizeof(uint32_t), sizeof(uint32_t));
+  AddInitializedField(cmd, kTpmRequestHeaderLength +
+                      sizeof(TPM_CAPABILITY_AREA) + sizeof(uint32_t),
+                      sizeof(uint32_t), TPM_CAP_FLAG_PERMANENT);
+  return cmd;
+}
+
+Command* BuildGetSTClearFlagsCommand(void) {
+  int size = (kTpmRequestHeaderLength +
+              sizeof(TPM_CAPABILITY_AREA) +   /* capArea */
+              sizeof(uint32_t) +              /* subCapSize */
+              sizeof(uint32_t));              /* subCap */
+
+  Command* cmd = newCommand(TPM_ORD_GetCapability, size);
+  cmd->name = "tpm_getstclearflags_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength,
+                      sizeof(TPM_CAPABILITY_AREA), TPM_CAP_FLAG);
+  AddInitializedField(cmd, kTpmRequestHeaderLength +
+                      sizeof(TPM_CAPABILITY_AREA),
+                      sizeof(uint32_t), sizeof(uint32_t));
+  AddInitializedField(cmd, kTpmRequestHeaderLength +
+                      sizeof(TPM_CAPABILITY_AREA) + sizeof(uint32_t),
+                      sizeof(uint32_t), TPM_CAP_FLAG_VOLATILE);
+  return cmd;
+}
+
+Command* BuildGetSpaceInfoCommand(void) {
+  int size = (kTpmRequestHeaderLength +
+              sizeof(TPM_CAPABILITY_AREA) +   /* capArea */
+              sizeof(uint32_t) +              /* subCapSize */
+              sizeof(uint32_t));              /* subCap */
+
+  Command* cmd = newCommand(TPM_ORD_GetCapability, size);
+  cmd->name = "tpm_getspaceinfo_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength,
+                      sizeof(TPM_CAPABILITY_AREA), TPM_CAP_NV_INDEX);
+  AddInitializedField(cmd, kTpmRequestHeaderLength +
+                      sizeof(TPM_CAPABILITY_AREA),
+                      sizeof(uint32_t), sizeof(uint32_t));
+  AddVisibleField(cmd, "index", kTpmRequestHeaderLength +
+                  sizeof(TPM_CAPABILITY_AREA) + sizeof(uint32_t));
+  return cmd;
+}
+
+Command* BuildGetOwnershipCommand(void) {
+  int size = (kTpmRequestHeaderLength +
+              sizeof(TPM_CAPABILITY_AREA) +   /* capArea */
+              sizeof(uint32_t) +              /* subCapSize */
+              sizeof(uint32_t));              /* subCap */
+
+  Command* cmd = newCommand(TPM_ORD_GetCapability, size);
+  cmd->name = "tpm_getownership_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength,
+                      sizeof(TPM_CAPABILITY_AREA), TPM_CAP_PROPERTY);
+  AddInitializedField(cmd, kTpmRequestHeaderLength +
+                      sizeof(TPM_CAPABILITY_AREA),
+                      sizeof(uint32_t), sizeof(uint32_t));
+  AddInitializedField(cmd, kTpmRequestHeaderLength +
+                      sizeof(TPM_CAPABILITY_AREA) + sizeof(uint32_t),
+                      sizeof(uint32_t), TPM_CAP_PROP_OWNER);
+  return cmd;
+}
+
+Command* BuildGetRandomCommand(void) {
+  int size = kTpmRequestHeaderLength + sizeof(uint32_t);
+  Command* cmd = newCommand(TPM_ORD_GetRandom, size);
+  cmd->name = "tpm_get_random_cmd";
+  AddVisibleField(cmd, "bytesRequested", kTpmRequestHeaderLength);
+  return cmd;
+}
+
+Command* BuildGetVersionValCommand(void) {
+  int size = (kTpmRequestHeaderLength +
+              sizeof(TPM_CAPABILITY_AREA) +   /* capArea */
+              sizeof(uint32_t));              /* subCapSize */
+
+  Command* cmd = newCommand(TPM_ORD_GetCapability, size);
+  cmd->name = "tpm_getversionval_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength,
+                      sizeof(TPM_CAPABILITY_AREA), TPM_CAP_GET_VERSION_VAL);
+  AddInitializedField(cmd, kTpmRequestHeaderLength +
+                      sizeof(TPM_CAPABILITY_AREA),
+                      sizeof(uint32_t), 0);
+  return cmd;
+}
+
+Command* BuildIFXFieldUpgradeInfoRequest2Command(void) {
+  int size = (kTpmRequestHeaderLength +
+              sizeof(TPM_IFX_FieldUpgradeInfoRequest2) +
+              sizeof(uint16_t));
+  Command* cmd = newCommand(TPM_ORD_FieldUpgrade, size);
+  cmd->name = "tpm_ifx_fieldupgradeinforequest2_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength,
+                      sizeof(TPM_IFX_FieldUpgradeInfoRequest2),
+                      TPM_IFX_FieldUpgradeInfoRequest2);
+  AddInitializedField(cmd, kTpmRequestHeaderLength +
+                      sizeof(TPM_IFX_FieldUpgradeInfoRequest2),
+                      sizeof(uint16_t), 0);
+  return cmd;
+}
+
+Command* BuildOIAPCommand(void) {
+  int size = kTpmRequestHeaderLength;
+  Command* cmd = newCommand(TPM_ORD_OIAP, size);
+  cmd->name = "tpm_oiap_cmd";
+  return cmd;
+}
+
+Command* BuildOSAPCommand(void) {
+  int size = kTpmRequestHeaderLength + sizeof(uint16_t) + sizeof(uint32_t) +
+             sizeof(TPM_NONCE);
+  Command* cmd = newCommand(TPM_ORD_OSAP, size);
+  cmd->name = "tpm_osap_cmd";
+  AddVisibleField(cmd, "entityType", kTpmRequestHeaderLength);
+  AddVisibleField(cmd, "entityValue",
+                  kTpmRequestHeaderLength + sizeof(uint16_t));
+  AddVisibleField(
+      cmd, "nonceOddOSAP",
+      kTpmRequestHeaderLength + sizeof(uint16_t) + sizeof(uint32_t));
+  return cmd;
+}
+
+Command* BuildTakeOwnershipCommand(void) {
+  Command* cmd = newCommandWithTag(TPM_ORD_TakeOwnership, 624,
+                                   TPM_TAG_RQU_AUTH1_COMMAND);
+  cmd->name = "tpm_takeownership_cmd";
+  int offset = kTpmRequestHeaderLength;
+  AddInitializedField(cmd, offset, sizeof(uint16_t), TPM_PID_OWNER);
+  offset += sizeof(uint16_t);
+  AddInitializedField(cmd, offset, sizeof(uint32_t), TPM_RSA_2048_LEN);
+  offset += sizeof(uint32_t);
+  AddVisibleField(cmd, "encOwnerAuth", offset);
+  offset += sizeof(uint8_t[TPM_RSA_2048_LEN]);
+  AddInitializedField(cmd, offset, sizeof(uint32_t), TPM_RSA_2048_LEN);
+  offset += sizeof(uint32_t);
+  AddVisibleField(cmd, "encSrkAuth", offset);
+  offset += sizeof(uint8_t[TPM_RSA_2048_LEN]);
+
+  /* The remainder are the srkParams struct TPM_KEY12 contents. */
+  AddInitializedField(cmd, offset, sizeof(uint16_t), TPM_TAG_KEY12);
+  offset += sizeof(uint16_t);
+  AddInitializedField(cmd, offset, sizeof(uint16_t), 0);
+  offset += sizeof(uint16_t);
+  AddInitializedField(cmd, offset, sizeof(uint16_t), TPM_KEY_USAGE_STORAGE);
+  offset += sizeof(uint16_t);
+  AddInitializedField(cmd, offset, sizeof(uint32_t), 0 /* keyFlags */);
+  offset += sizeof(uint32_t);
+  AddInitializedField(cmd, offset, sizeof(uint8_t), TPM_AUTH_ALWAYS);
+  offset += sizeof(uint8_t);
+  AddInitializedField(cmd, offset, sizeof(uint32_t), TPM_ALG_RSA);
+  offset += sizeof(uint32_t);
+  AddInitializedField(cmd, offset, sizeof(uint16_t),
+                      TPM_ES_RSAESOAEP_SHA1_MGF1);
+  offset += sizeof(uint16_t);
+  AddInitializedField(cmd, offset, sizeof(uint16_t), TPM_SS_NONE);
+  offset += sizeof(uint16_t);
+  AddInitializedField(cmd, offset, sizeof(uint32_t),
+                      3 * sizeof(uint32_t) /* algorithmParams.parmSize */);
+  offset += sizeof(uint32_t);
+  AddInitializedField(cmd, offset, sizeof(uint32_t),
+                      2048 /* algorithmParms.parms.keyLength */);
+  offset += sizeof(uint32_t);
+  AddInitializedField(cmd, offset, sizeof(uint32_t),
+                      2 /* algorithmParms.parms.numPrimes */);
+  offset += sizeof(uint32_t);
+  AddInitializedField(cmd, offset, sizeof(uint32_t),
+                      0 /* algorithmParms.parms.exponentSize */);
+  offset += sizeof(uint32_t);
+  AddInitializedField(cmd, offset, sizeof(uint32_t), 0 /* PCRInfoSize */);
+  offset += sizeof(uint32_t);
+  AddInitializedField(cmd, offset, sizeof(uint32_t), 0 /* pubkey.keyLength */);
+  offset += sizeof(uint32_t);
+  AddInitializedField(cmd, offset, sizeof(uint32_t), 0 /* encDataSize */);
+  offset += sizeof(uint32_t);
+
+  /* Allocate space for the auth block. */
+  offset += kTpmRequestAuthBlockLength;
+
+  assert(offset == cmd->size);
+
+  return cmd;
+}
+
+Command* BuildCreateDelegationFamilyCommand(void) {
+  int size = kTpmRequestHeaderLength + 3 * sizeof(uint32_t) + sizeof(uint8_t);
+  Command* cmd = newCommand(TPM_ORD_Delegate_Manage, size);
+  cmd->name = "tpm_create_delegation_family_cmd";
+  AddInitializedField(cmd, kTpmRequestHeaderLength, sizeof(uint32_t),
+                      0 /* familyID */);
+  AddInitializedField(cmd, kTpmRequestHeaderLength + sizeof(uint32_t),
+                      sizeof(uint32_t), TPM_FAMILY_CREATE);
+  AddInitializedField(cmd, kTpmRequestHeaderLength + 2 * sizeof(uint32_t),
+                      sizeof(uint32_t), sizeof(uint8_t) /* opDataSize */);
+  AddVisibleField(cmd, "familyLabel",
+                  kTpmRequestHeaderLength + 3 * sizeof(uint32_t));
+  return cmd;
+}
+
+Command* BuildReadDelegationFamilyTableCommand(void) {
+  Command* cmd =
+      newCommand(TPM_ORD_Delegate_ReadTable, kTpmRequestHeaderLength);
+  cmd->name = "tpm_delegate_read_table_cmd";
+  return cmd;
+}
+
+/* Output the fields of a structure.
+ */
+void OutputFields(Field* fld) {
+  /*
+   * Field order is reversed.
+   */
+  if (fld != NULL) {
+    OutputFields(fld->next);
+    if (fld->visible) {
+      printf("  uint16_t %s;\n", fld->name);
+    }
+  }
+}
+
+/* Outputs a structure initializer.
+ */
+int OutputBytes_(Command* cmd, Field* fld) {
+  int cursor = 0;
+  int i;
+  /*
+   * Field order is reversed.
+   */
+  if (fld != NULL) {
+    cursor = OutputBytes_(cmd, fld->next);
+  } else {
+    return 0;
+  }
+  if (!fld->visible) {
+    /*
+     * Catch up missing fields.
+     */
+    assert(fld->offset >= cursor);
+    for (i = 0; i < fld->offset - cursor; i++) {
+      printf("0, ");
+    }
+    cursor = fld->offset;
+    switch (fld->size) {
+    case 1:
+      printf("%#x, ", fld->value);
+      cursor += 1;
+      break;
+    case 2:
+      printf("%#x, %#x, ", fld->value >> 8, fld->value & 0xff);
+      cursor += 2;
+      break;
+    case 4:
+      printf("%#x, %#x, %#x, %#x, ", fld->value >> 24,
+             (fld->value >> 16) & 0xff,
+             (fld->value >> 8) & 0xff,
+             fld->value & 0xff);
+      cursor += 4;
+      break;
+    default:
+      fprintf(stderr, "invalid field size %d\n", fld->size);
+      exit(1);
+      break;
+    }
+  }
+  return cursor;
+}
+
+/* Helper to output a structure initializer.
+ */
+void OutputBytes(Command* cmd) {
+  (void) OutputBytes_(cmd, cmd->fields);
+}
+
+void OutputFieldPointers(Command* cmd, Field* fld) {
+  if (fld == NULL) {
+    return;
+  } else {
+    OutputFieldPointers(cmd, fld->next);
+    if (fld->visible) {
+      printf("%d, ", fld->offset);
+    }
+  }
+}
+
+/* Outputs the structure initializers for all commands.
+ */
+void OutputCommands(Command* cmd) {
+  if (cmd == NULL) {
+    return;
+  } else {
+    printf("const struct s_%s{\n  uint8_t buffer[%d];\n",
+           cmd->name, cmd->size == 0 ? cmd->max_size : cmd->size);
+    OutputFields(cmd->fields);
+    printf("} %s = {{", cmd->name);
+    OutputBytes(cmd);
+    printf("},\n");
+    OutputFieldPointers(cmd, cmd->fields);
+    printf("};\n\n");
+  }
+  OutputCommands(cmd->next);
+}
+
+Command* (*builders[])(void) = {
+  BuildDefineSpaceCommand,
+  BuildWriteCommand,
+  BuildReadCommand,
+  BuildPCRReadCommand,
+  BuildPPAssertCommand,
+  BuildPPEnableCommand,
+  BuildPPLockCommand,
+  BuildFinalizePPCommand,
+  BuildStartupCommand,
+  BuildSaveStateCommand,
+  BuildResumeCommand,
+  BuildSelftestfullCommand,
+  BuildContinueSelfTestCommand,
+  BuildReadPubekCommand,
+  BuildForceClearCommand,
+  BuildPhysicalDisableCommand,
+  BuildPhysicalEnableCommand,
+  BuildPhysicalSetDeactivatedCommand,
+  BuildGetFlagsCommand,
+  BuildGetSTClearFlagsCommand,
+  BuildGetSpaceInfoCommand,
+  BuildGetOwnershipCommand,
+  BuildGetRandomCommand,
+  BuildExtendCommand,
+  BuildGetVersionValCommand,
+  BuildIFXFieldUpgradeInfoRequest2Command,
+  BuildOIAPCommand,
+  BuildOSAPCommand,
+  BuildTakeOwnershipCommand,
+  BuildCreateDelegationFamilyCommand,
+  BuildReadDelegationFamilyTableCommand,
+};
+
+static void FreeFields(Field* fld) {
+  if (fld != NULL) {
+    Field* next_field = fld->next;
+    free(fld);
+    FreeFields(next_field);
+  }
+}
+
+static void FreeCommands(Command* cmd) {
+  if (cmd != NULL) {
+    Command* next_command = cmd->next;
+    FreeFields(cmd->fields);
+    free(cmd);
+    FreeCommands(next_command);
+  }
+}
+
+int main(void) {
+  Command* commands = NULL;
+  int i;
+  for (i = 0; i < sizeof(builders) / sizeof(builders[0]); i++) {
+    Command* cmd = builders[i]();
+    cmd->next = commands;
+    commands = cmd;
+  }
+
+  printf("/* This file is automatically generated */\n\n");
+  OutputCommands(commands);
+  printf("const int kWriteInfoLength = %d;\n", (int) sizeof(TPM_WRITE_INFO));
+
+  FreeCommands(commands);
+  return 0;
+}
diff --git a/utility/tpm-dad-lock b/utility/tpm-dad-lock
new file mode 100644 (file)
index 0000000..ba5527c
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/bash -e
+#
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Attempt to trigger the TPM Dictionary Attack Defense Lock and measure its
+# behavior.
+
+if [ -f /sys/class/misc/tpm0/device/owned ]; then
+  owned=$(cat /sys/class/misc/tpm0/device/owned)
+else
+  owned=$(cat /sys/class/tpm/tpm0/device/owned)
+fi
+if [ "$owned" = "" ]; then
+  echo "TPM is not functional"
+  exit 1
+fi
+if [ "$owned" = "0" ]; then
+  echo "please use random, non-empty passwords"
+  tpm_takeownership || exit 1
+fi
+
+attempts=0
+max=1
+e=/tmp/x$$
+
+while true; do
+  attempts=$(( $attempts + 1 ))
+  before=$(date +%s)
+  defending=1
+  while [ $defending -eq 1 ]; do
+    if tpm_getpubek -z 2> $e; then
+      echo "unexpected success of tpm_getpubek"
+      exit 1
+    fi
+    if grep -q communication $e; then
+      echo "communication failure"
+      exit 1
+    fi
+    if ! grep -q dictionary $e; then
+      defending=0
+    fi
+  done
+  after=$(date +%s)
+  elapsed=$(( $after - $before ))
+  if [ $elapsed -gt $max ]; then
+    echo delay of $elapsed seconds after $attempts attempts
+    max=$elapsed
+  fi
+done
diff --git a/utility/tpm-nvsize b/utility/tpm-nvsize
new file mode 100755 (executable)
index 0000000..ec2d033
--- /dev/null
@@ -0,0 +1,50 @@
+#! /bin/sh -e
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Finds the largest NV space that can be defined on the TPM in this state
+# (i.e. without removing existing spaces).
+#
+# The TPM must be unowned, and physical presence must be on.
+
+low=1
+high=1500
+try=$high
+
+# Binary search with no upper bound
+while true; do
+  ## echo trying $try [ $low $high ]
+  if /usr/bin/tpmc definespace 0xf004 $(printf "%#x" $try) 0x1 \
+                                                      > /dev/null 2>&1; then
+    # definespace success: end, or $try must grow
+    if [ $try -eq $low ]; then
+      echo $low
+      exit 0
+    elif [ $try -lt $high ]; then
+      low=$try
+      try=$(( ( $high + $low ) / 2 ))
+    else
+      # special case: when try == high, expand the search
+      low=$try
+      try=$(( $try * 2 ))
+      high=$try
+    fi
+  else
+    # check for unexpected errors
+    result=$?
+    if [ $result -ne 17 ]; then
+      echo running tpmc definespace 0xf004 0x1 0x1
+      /usr/bin/tpmc definespace 0xf004 0x1 0x1
+      echo please correct this condition and try again
+      exit 1
+    fi
+    # definespace failure: end, or $try must shrink
+    if [ $try -eq $low ]; then
+      echo 0
+      exit 0
+    fi
+    high=$try
+    try=$(( ( $high + $low ) / 2 ))
+  fi
+done
diff --git a/utility/tpmc.c b/utility/tpmc.c
new file mode 100644 (file)
index 0000000..841551c
--- /dev/null
@@ -0,0 +1,712 @@
+/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * TPM command utility.  Runs simple TPM commands.  Mostly useful when physical
+ * presence has not been locked.
+ *
+ * The exit code is 0 for success, the TPM error code for TPM errors, and 255
+ * for other errors.
+ */
+
+#include <inttypes.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <syslog.h>
+
+#include "tlcl.h"
+#include "tpm_error_messages.h"
+#include "tss_constants.h"
+
+#define OTHER_ERROR 255  /* OTHER_ERROR must be the largest uint8_t value. */
+
+#ifdef TPM2_MODE
+#define TPM_MODE_SELECT(_, tpm20_ver) tpm20_ver
+#else
+#define TPM_MODE_SELECT(tpm12_ver, _) tpm12_ver
+#endif
+
+#define TPM_MODE_STRING TPM_MODE_SELECT("1.2", "2.0")
+#define TPM12_NEEDS_PP TPM_MODE_SELECT(" (needs PP)", "")
+#define TPM12_NEEDS_PP_REBOOT TPM_MODE_SELECT(" (needs PP, maybe reboot)", "")
+
+#define TPM20_NOT_IMPLEMENTED_DESCR(descr) \
+  descr TPM_MODE_SELECT("", " [not-implemented for TPM2.0]")
+#define TPM20_NOT_IMPLEMENTED_HANDLER(handler) \
+  TPM_MODE_SELECT(handler, HandlerNotImplementedForTPM2)
+#define TPM20_NOT_IMPLEMENTED(descr, handler) \
+  TPM20_NOT_IMPLEMENTED_DESCR(descr), \
+  TPM20_NOT_IMPLEMENTED_HANDLER(handler)
+
+#define TPM20_DOES_NOTHING_DESCR(descr) \
+  descr TPM_MODE_SELECT("", " [no-op for TPM2.0]")
+#define TPM20_DOES_NOTHING_HANDLER(handler) \
+  TPM_MODE_SELECT(handler, HandlerDoNothingForTPM2)
+#define TPM20_DOES_NOTHING(descr, handler) \
+  TPM20_DOES_NOTHING_DESCR(descr), \
+  TPM20_DOES_NOTHING_HANDLER(handler)
+
+typedef struct command_record {
+  const char* name;
+  const char* abbr;
+  const char* description;
+  uint32_t (*handler)(void);
+} command_record;
+
+/* Set in main, consumed by handler functions below.  We use global variables
+ * so we can also choose to call Tlcl*() functions directly; they don't take
+ * argv/argc.
+ */
+int nargs;
+char** args;
+
+/* Converts a string in the form 0x[0-9a-f]+ to a 32-bit value.  Returns 0 for
+ * success, non-zero for failure.
+ */
+static int HexStringToUint32(const char* string, uint32_t* value) {
+  char tail;
+  /* strtoul is not as good because it overflows silently */
+  const char* format = strncmp(string, "0x", 2) ? "%8x%c" : "0x%8x%c";
+  int n = sscanf(string, format, value, &tail);
+  return n != 1;
+}
+
+/* Converts a string in the form [0-9a-f]+ to an 8-bit value.  Returns 0 for
+ * success, non-zero for failure.
+ */
+static int HexStringToUint8(const char* string, uint8_t* value) {
+  char* end;
+  uint32_t large_value = strtoul(string, &end, 16);
+  if (*end != '\0' || large_value > 0xff) {
+    return 1;
+  }
+  *value = large_value;
+  return 0;
+}
+
+static int HexStringToArray(const char* string, uint8_t* value, int num_bytes) {
+  int len = strlen(string);
+  if (!strncmp(string, "0x", 2)) {
+    string += 2;
+    len -= 2;
+  }
+  if (len != num_bytes * 2) {
+    return 1;
+  }
+  for (; len > 0; string += 2, len -= 2, value++) {
+    if (sscanf(string, "%2hhx", value) != 1) {
+      return 1;
+    }
+  }
+  return 0;
+}
+
+/* TPM error check and reporting.  Returns 0 if |result| is 0 (TPM_SUCCESS).
+ * Otherwise looks up a TPM error in the error table and prints the error if
+ * found.  Then returns min(result, OTHER_ERROR) since some error codes, such
+ * as TPM_E_RETRY, do not fit in a byte.
+ */
+static uint8_t ErrorCheck(uint32_t result, const char* cmd) {
+  uint8_t exit_code = result > OTHER_ERROR ? OTHER_ERROR : result;
+  if (result == 0) {
+    return 0;
+  } else {
+    int i;
+    int n = sizeof(tpm_error_table) / sizeof(tpm_error_table[0]);
+    fprintf(stderr, "command \"%s\" failed with code %#x\n", cmd, result);
+    for (i = 0; i < n; i++) {
+      if (tpm_error_table[i].code == result) {
+        fprintf(stderr, "%s\n%s\n", tpm_error_table[i].name,
+                tpm_error_table[i].description);
+        return exit_code;
+      }
+    }
+    fprintf(stderr, "the TPM error code is unknown to this program\n");
+    return exit_code;
+  }
+}
+
+/* Handler functions.  These wouldn't exist if C had closures.
+ */
+static uint32_t HandlerTpmVersion(void) {
+  puts(TPM_MODE_STRING);
+  return 0;
+}
+
+/* TODO(apronin): stub for selected flags for TPM2 */
+#ifdef TPM2_MODE
+static uint32_t HandlerGetFlags(void) {
+  fprintf(stderr, "getflags not implemented for TPM2\n");
+  exit(OTHER_ERROR);
+}
+#else
+static uint32_t HandlerGetFlags(void) {
+  uint8_t disabled;
+  uint8_t deactivated;
+  uint8_t nvlocked;
+  uint32_t result = TlclGetFlags(&disabled, &deactivated, &nvlocked);
+  if (result == 0) {
+    printf("disabled: %d\ndeactivated: %d\nnvlocked: %d\n",
+           disabled, deactivated, nvlocked);
+  }
+  return result;
+}
+#endif
+
+#ifndef TPM2_MODE
+static uint32_t HandlerActivate(void) {
+  return TlclSetDeactivated(0);
+}
+
+static uint32_t HandlerDeactivate(void) {
+  return TlclSetDeactivated(1);
+}
+#endif
+
+static uint32_t HandlerDefineSpace(void) {
+  uint32_t index, size, perm;
+  int overwrite = 1;
+
+  if (nargs != 5 && nargs != 6) {
+    fprintf(stderr, "usage: tpmc def <index> <size> <perm> "
+                    "[--no-overwrite])\n");
+    exit(OTHER_ERROR);
+  }
+
+  if (HexStringToUint32(args[2], &index) != 0 ||
+      HexStringToUint32(args[3], &size) != 0 ||
+      HexStringToUint32(args[4], &perm) != 0) {
+    fprintf(stderr, "<index>, <size>, and <perm> must be "
+            "32-bit hex (0x[0-9a-f]+)\n");
+    exit(OTHER_ERROR);
+  }
+
+  if (args[5] && strcmp(args[5], "--no-overwrite") == 0) {
+    overwrite = 0;
+  }
+
+#ifdef TPM2_MODE
+  // For TPM 2.0, DefineSpace will fail if the space already exists, so to
+  // support the default 'overwrite' mode, need to undefine the space first.
+  if (overwrite) {
+    TlclUndefineSpace(index);
+  }
+#else  /* ifndef TPM2_MODE */
+  // For TPM 1.2, we have to check the existing before calling DefineSpace(),
+  // since it will automaticly overwrite the existing space by default.
+  // Do nothing for TPM 2.0. We rely on DefineSpace() to return the appropriate
+  // error code.
+  if (!overwrite) {
+    uint32_t result , permissions;
+    result = TlclGetPermissions(index, &permissions);
+    if (!result) {
+      fprintf(stderr, "The space is existing but --no-overwrite is set.\n");
+      exit(OTHER_ERROR);
+    }
+  }
+#endif
+
+  return TlclDefineSpace(index, perm, size);
+}
+
+static uint32_t HandlerUndefineSpace(void) {
+  uint32_t index;
+  if (nargs != 3) {
+    fprintf(stderr, "usage: tpmc undef <index>\n");
+    exit(OTHER_ERROR);
+  }
+  if (HexStringToUint32(args[2], &index) != 0) {
+    fprintf(stderr, "<index> must be "
+            "32-bit hex (0x[0-9a-f]+)\n");
+    exit(OTHER_ERROR);
+  }
+  return TlclUndefineSpace(index);
+}
+
+static uint32_t HandlerWrite(void) {
+  uint32_t index, size;
+  uint8_t value[TPM_MAX_COMMAND_SIZE];
+  char** byteargs;
+  int i;
+  if (nargs < 3) {
+    fprintf(stderr, "usage: tpmc write <index> [<byte0> <byte1> ...]\n");
+    exit(OTHER_ERROR);
+  }
+  if (HexStringToUint32(args[2], &index) != 0) {
+    fprintf(stderr, "<index> must be 32-bit hex (0x[0-9a-f]+)\n");
+    exit(OTHER_ERROR);
+  }
+  size = nargs - 3;
+  if (size > sizeof(value)) {
+    fprintf(stderr, "byte array too large\n");
+    exit(OTHER_ERROR);
+  }
+
+  byteargs = args + 3;
+  for (i = 0; i < size; i++) {
+    if (HexStringToUint8(byteargs[i], &value[i]) != 0) {
+      fprintf(stderr, "invalid byte %s, should be [0-9a-f][0-9a-f]?\n",
+              byteargs[i]);
+      exit(OTHER_ERROR);
+    }
+  }
+
+  if (size == 0) {
+#ifndef TPM2_MODE
+    if (index == TPM_NV_INDEX_LOCK) {
+      fprintf(stderr, "This would set the nvLocked bit. "
+              "Use \"tpmc setnv\" instead.\n");
+      exit(OTHER_ERROR);
+    }
+#endif
+    printf("warning: zero-length write\n");
+  } else {
+    printf("writing %d byte%s\n", size, size > 1 ? "s" : "");
+  }
+
+  return TlclWrite(index, value, size);
+}
+
+static uint32_t HandlerPCRRead(void) {
+  uint32_t index;
+  uint8_t value[TPM_PCR_DIGEST];
+  uint32_t result;
+  int i;
+  if (nargs != 3) {
+    fprintf(stderr, "usage: tpmc pcrread <index>\n");
+    exit(OTHER_ERROR);
+  }
+  if (HexStringToUint32(args[2], &index) != 0) {
+    fprintf(stderr, "<index> must be 32-bit hex (0x[0-9a-f]+)\n");
+    exit(OTHER_ERROR);
+  }
+  result = TlclPCRRead(index, value, sizeof(value));
+  if (result == 0) {
+    for (i = 0; i < TPM_PCR_DIGEST; i++) {
+      printf("%02x", value[i]);
+    }
+    printf("\n");
+  }
+  return result;
+}
+
+static uint32_t HandlerPCRExtend(void) {
+  uint32_t index;
+  uint8_t value[TPM_PCR_DIGEST];
+  if (nargs != 4) {
+    fprintf(stderr, "usage: tpmc pcrextend <index> <extend_hash>\n");
+    exit(OTHER_ERROR);
+  }
+  if (HexStringToUint32(args[2], &index) != 0) {
+    fprintf(stderr, "<index> must be 32-bit hex (0x[0-9a-f]+)\n");
+    exit(OTHER_ERROR);
+  }
+  if (HexStringToArray(args[3], value, TPM_PCR_DIGEST)) {
+    fprintf(stderr, "<extend_hash> must be a %d-byte hex string\n",
+           TPM_PCR_DIGEST);
+    exit(OTHER_ERROR);
+  }
+  return TlclExtend(index, value, value);
+}
+
+static uint32_t HandlerRead(void) {
+  uint32_t index, size;
+  uint8_t value[4096];
+  uint32_t result;
+  int i;
+  if (nargs != 4) {
+    fprintf(stderr, "usage: tpmc read <index> <size>\n");
+    exit(OTHER_ERROR);
+  }
+  if (HexStringToUint32(args[2], &index) != 0 ||
+      HexStringToUint32(args[3], &size) != 0) {
+    fprintf(stderr, "<index> and <size> must be 32-bit hex (0x[0-9a-f]+)\n");
+    exit(OTHER_ERROR);
+  }
+  if (size > sizeof(value)) {
+    fprintf(stderr, "size of read (%#x) is too big\n", size);
+    exit(OTHER_ERROR);
+  }
+  result = TlclRead(index, value, size);
+  if (result == 0 && size > 0) {
+    for (i = 0; i < size - 1; i++) {
+      printf("%x ", value[i]);
+    }
+    printf("%x\n", value[i]);
+  }
+  return result;
+}
+
+static uint32_t HandlerGetPermissions(void) {
+  uint32_t index, permissions, result;
+  if (nargs != 3) {
+    fprintf(stderr, "usage: tpmc getp <index>\n");
+    exit(OTHER_ERROR);
+  }
+  if (HexStringToUint32(args[2], &index) != 0) {
+    fprintf(stderr, "<index> must be 32-bit hex (0x[0-9a-f]+)\n");
+    exit(OTHER_ERROR);
+  }
+  result = TlclGetPermissions(index, &permissions);
+  if (result == 0) {
+    printf("space %#x has permissions %#x\n", index, permissions);
+  }
+  return result;
+}
+
+static uint32_t HandlerGetOwnership(void) {
+  uint8_t owned = 0;
+  uint32_t result;
+  if (nargs != 2) {
+    fprintf(stderr, "usage: tpmc getownership\n");
+    exit(OTHER_ERROR);
+  }
+  result = TlclGetOwnership(&owned);
+  if (result == 0) {
+    printf("Owned: %s\n", owned ? "yes" : "no");
+  }
+  return result;
+}
+
+static uint32_t HandlerGetRandom(void) {
+  uint32_t length, size = 0;
+  uint8_t* bytes;
+  uint32_t result;
+  int i;
+  if (nargs != 3) {
+    fprintf(stderr, "usage: tpmc getrandom <size>\n");
+    exit(OTHER_ERROR);
+  }
+  if (HexStringToUint32(args[2], &length) != 0) {
+    fprintf(stderr, "<size> must be 32-bit hex (0x[0-9a-f]+)\n");
+    exit(OTHER_ERROR);
+  }
+  bytes = calloc(1, length);
+  if (bytes == NULL) {
+    perror("calloc");
+    exit(OTHER_ERROR);
+  }
+  result = TlclGetRandom(bytes, length, &size);
+  if (result == 0 && size > 0) {
+    for (i = 0; i < size; i++) {
+      printf("%02x", bytes[i]);
+    }
+    printf("\n");
+  }
+  free(bytes);
+  return result;
+}
+
+static uint32_t HandlerGetPermanentFlags(void) {
+  TPM_PERMANENT_FLAGS pflags;
+  uint32_t result = TlclGetPermanentFlags(&pflags);
+  if (result == 0) {
+#define P(name) printf("%s %d\n", #name, pflags.name)
+#ifdef TPM2_MODE
+    P(ownerAuthSet);
+    P(endorsementAuthSet);
+    P(lockoutAuthSet);
+    P(disableClear);
+    P(inLockout);
+    P(tpmGeneratedEPS);
+#else
+    P(disable);
+    P(ownership);
+    P(deactivated);
+    P(readPubek);
+    P(disableOwnerClear);
+    P(allowMaintenance);
+    P(physicalPresenceLifetimeLock);
+    P(physicalPresenceHWEnable);
+    P(physicalPresenceCMDEnable);
+    P(CEKPUsed);
+    P(TPMpost);
+    P(TPMpostLock);
+    P(FIPS);
+    P(Operator);
+    P(enableRevokeEK);
+    P(nvLocked);
+    P(readSRKPub);
+    P(tpmEstablished);
+    P(maintenanceDone);
+    P(disableFullDALogicInfo);
+#endif
+#undef P
+  }
+  return result;
+}
+
+static uint32_t HandlerGetSTClearFlags(void) {
+  TPM_STCLEAR_FLAGS vflags;
+  uint32_t result = TlclGetSTClearFlags(&vflags);
+  if (result == 0) {
+#define P(name) printf("%s %d\n", #name, vflags.name)
+#ifdef TPM2_MODE
+  P(phEnable);
+  P(shEnable);
+  P(ehEnable);
+  P(phEnableNV);
+  P(orderly);
+#else
+  P(deactivated);
+  P(disableForceClear);
+  P(physicalPresence);
+  P(physicalPresenceLock);
+  P(bGlobalLock);
+#endif
+#undef P
+  }
+  return result;
+}
+
+static uint32_t HandlerSendRaw(void) {
+  uint8_t request[4096];
+  uint8_t response[4096];
+  uint32_t result;
+  int size;
+  int i;
+  if (nargs == 2) {
+    fprintf(stderr, "usage: tpmc sendraw <hex byte 0> ... <hex byte N>\n");
+    exit(OTHER_ERROR);
+  }
+  for (i = 0; i < nargs - 2 && i < sizeof(request); i++) {
+    if (HexStringToUint8(args[2 + i], &request[i]) != 0) {
+      fprintf(stderr, "bad byte value \"%s\"\n", args[2 + i]);
+      exit(OTHER_ERROR);
+    }
+  }
+  size = TlclPacketSize(request);
+  if (size != i) {
+    fprintf(stderr, "bad request: size field is %d, but packet has %d bytes\n",
+            size, i);
+    exit(OTHER_ERROR);
+  }
+  bzero(response, sizeof(response));
+  result = TlclSendReceive(request, response, sizeof(response));
+  if (result != 0) {
+    fprintf(stderr, "request failed with code %d\n", result);
+  }
+  size = TlclPacketSize(response);
+  if (size < 10 || size > sizeof(response)) {
+    fprintf(stderr, "unexpected response size %d\n", size);
+    exit(OTHER_ERROR);
+  }
+  for (i = 0; i < size; i++) {
+    printf("0x%02x ", response[i]);
+    if (i == size - 1 || (i + 1) % 8 == 0) {
+      printf("\n");
+    }
+  }
+  return result;
+}
+
+static uint32_t HandlerGetVersion(void) {
+  uint32_t vendor;
+  uint64_t firmware_version;
+  uint8_t vendor_specific[32];
+  size_t vendor_specific_size = sizeof(vendor_specific);
+  uint32_t result = TlclGetVersion(&vendor, &firmware_version, vendor_specific,
+                                   &vendor_specific_size);
+  if (result == 0) {
+    printf("vendor %08x\nfirmware_version %016" PRIx64 "\nvendor_specific ",
+           vendor, firmware_version);
+    size_t n;
+    for (n = 0; n < vendor_specific_size; ++n) {
+      printf("%02x", vendor_specific[n]);
+    }
+    printf("\n");
+  }
+  return result;
+}
+
+#ifndef TPM2_MODE
+static void PrintIFXFirmwarePackage(TPM_IFX_FIRMWAREPACKAGE* firmware_package,
+                                    const char* prefix) {
+  printf("%s_package_id %08x\n", prefix,
+         firmware_package->FwPackageIdentifier);
+  printf("%s_version %08x\n", prefix, firmware_package->Version);
+  printf("%s_stale_version %08x\n", prefix, firmware_package->StaleVersion);
+}
+
+static uint32_t HandlerIFXFieldUpgradeInfo(void) {
+  TPM_IFX_FIELDUPGRADEINFO info;
+  uint32_t result = TlclIFXFieldUpgradeInfo(&info);
+  if (result == 0) {
+    printf("max_data_size %u\n", info.wMaxDataSize);
+    PrintIFXFirmwarePackage(&info.sBootloaderFirmwarePackage, "bootloader");
+    PrintIFXFirmwarePackage(&info.sFirmwarePackages[0], "fw0");
+    PrintIFXFirmwarePackage(&info.sFirmwarePackages[1], "fw1");
+    printf("status %04x\n", info.wSecurityModuleStatus);
+    PrintIFXFirmwarePackage(&info.sProcessFirmwarePackage, "process_fw");
+    printf("field_upgrade_counter %u\n", info.wFieldUpgradeCounter);
+  }
+  return result;
+}
+
+static uint32_t HandlerCheckOwnerAuth(void) {
+  /* Attempt to define an NVRAM space using owner auth. We're using
+   * TPM_NV_INDEX_TRIAL, which doesn't actually allocate a space but still
+   * performs the owner authorization checks. Thus the return status indicates
+   * whether owner authorization was successful or not.
+   *
+   * The owner_auth value below is the commonly used well-known secret, i.e. the
+   * SHA1 hash of 20 zero bytes. This is the owner secret that is effective
+   * immediately after taking TPM ownership when we haven't configured a random
+   * owner password yet.
+   */
+  uint8_t owner_auth[TPM_AUTH_DATA_LEN] = {
+      0x67, 0x68, 0x03, 0x3e, 0x21, 0x64, 0x68, 0x24, 0x7b, 0xd0,
+      0x31, 0xa0, 0xa2, 0xd9, 0x87, 0x6d, 0x79, 0x81, 0x8f, 0x8f};
+  return TlclDefineSpaceEx(owner_auth, sizeof(owner_auth), TPM_NV_INDEX_TRIAL,
+                           TPM_NV_PER_OWNERWRITE, 1, NULL, 0);
+}
+#endif  /* !TPM2_MODE */
+
+#ifdef TPM2_MODE
+static uint32_t HandlerDoNothingForTPM2(void) {
+  return 0;
+}
+
+static uint32_t HandlerNotImplementedForTPM2(void) {
+  fprintf(stderr, "%s: not implemented for TPM2.0\n", args[1]);
+  exit(OTHER_ERROR);
+}
+#endif
+
+/* Table of TPM commands.
+ */
+command_record command_table[] = {
+  { "tpmversion", "tpmver", "print TPM version: 1.2 or 2.0",
+    HandlerTpmVersion },
+  { "getflags", "getf", "read and print the value of selected flags",
+    HandlerGetFlags },
+  { "startup", "sta", "issue a Startup command", TlclStartup },
+  { "selftestfull", "test", "issue a SelfTestFull command", TlclSelfTestFull },
+  { "continueselftest", "ctest", "issue a ContinueSelfTest command",
+    TlclContinueSelfTest },
+  { "assertphysicalpresence", "ppon",
+    TPM20_DOES_NOTHING("assert Physical Presence",
+      TlclAssertPhysicalPresence) },
+  { "physicalpresencecmdenable", "ppcmd",
+    TPM20_NOT_IMPLEMENTED("turn on software PP",
+      TlclPhysicalPresenceCMDEnable) },
+  { "enable", "ena",
+    TPM20_DOES_NOTHING("enable the TPM" TPM12_NEEDS_PP,
+      TlclSetEnable) },
+  { "disable", "dis",
+    TPM20_NOT_IMPLEMENTED("disable the TPM" TPM12_NEEDS_PP,
+      TlclClearEnable) },
+  { "activate", "act",
+    TPM20_DOES_NOTHING("activate the TPM" TPM12_NEEDS_PP_REBOOT,
+      HandlerActivate) },
+  { "deactivate", "deact",
+    TPM20_NOT_IMPLEMENTED("deactivate the TPM" TPM12_NEEDS_PP_REBOOT,
+      HandlerDeactivate) },
+  { "clear", "clr",
+    "clear the TPM owner" TPM12_NEEDS_PP,
+    TlclForceClear },
+  { "setnvlocked", "setnv",
+    TPM20_NOT_IMPLEMENTED("set the nvLocked flag permanently (IRREVERSIBLE!)",
+      TlclSetNvLocked) },
+  { "lockphysicalpresence", "pplock",
+    TPM_MODE_SELECT("lock (turn off) PP until reboot",
+      "set rollback protection lock for kernel image until reboot"),
+    TlclLockPhysicalPresence },
+  { "setbgloballock", "block",
+    TPM_MODE_SELECT("set the bGlobalLock until reboot",
+      "set rollback protection lock for R/W firmware until reboot"),
+    TlclSetGlobalLock },
+  { "definespace", "def",
+    TPM_MODE_SELECT("define a space (def <index> <size> <perm>). ",
+        "define a space (def <index> <size> <perm> [--no-overwrite]). ")
+      "Default will overwrite if the space is defined.",
+    HandlerDefineSpace },
+  { "undefinespace", "undef",
+    "undefine a space (undef <index>)"
+    TPM_MODE_SELECT(" only succeeds when NvLocked is not set", ""),
+    HandlerUndefineSpace },
+  { "write", "write", "write to a space (write <index> [<byte0> <byte1> ...])",
+    HandlerWrite },
+  { "read", "read", "read from a space (read <index> <size>)",
+    HandlerRead },
+  { "pcrread", "pcr", "read from a PCR (pcrread <index>)",
+    HandlerPCRRead },
+  { "pcrextend", "extend", "extend a PCR (extend <index> <extend_hash>)",
+    HandlerPCRExtend },
+  { "getownership", "geto", "print state of TPM ownership",
+    HandlerGetOwnership },
+  { "getpermissions", "getp", "print space permissions (getp <index>)",
+    HandlerGetPermissions },
+  { "getpermanentflags", "getpf", "print all permanent flags",
+    HandlerGetPermanentFlags },
+  { "getrandom", "rand", "read bytes from RNG (rand <size>)",
+    HandlerGetRandom },
+  { "getstclearflags", "getvf", "print all volatile (ST_CLEAR) flags",
+    HandlerGetSTClearFlags },
+  { "resume", "res", "execute TPM_Startup(ST_STATE)", TlclResume },
+  { "savestate", "save", "execute TPM_SaveState", TlclSaveState },
+  { "sendraw", "raw", "send a raw request and print raw response",
+    HandlerSendRaw },
+  { "getversion", "getver", "get TPM vendor and firmware version",
+    HandlerGetVersion },
+  { "ifxfieldupgradeinfo", "ifxfui",
+    TPM20_NOT_IMPLEMENTED("read and print IFX field upgrade info",
+      HandlerIFXFieldUpgradeInfo) },
+  { "checkownerauth", "chko",
+    TPM20_NOT_IMPLEMENTED("Check owner authorization with well-known secret",
+      HandlerCheckOwnerAuth) },
+};
+
+static int n_commands = sizeof(command_table) / sizeof(command_table[0]);
+
+int main(int argc, char* argv[]) {
+  char *progname;
+  uint32_t result;
+
+  progname = strrchr(argv[0], '/');
+  if (progname)
+    progname++;
+  else
+    progname = argv[0];
+
+  if (argc < 2) {
+    fprintf(stderr, "usage: %s <TPM command> [args]\n   or: %s help\n",
+            progname, progname);
+    return OTHER_ERROR;
+  } else {
+    command_record* c;
+    const char* cmd = argv[1];
+    nargs = argc;
+    args = argv;
+
+    if (strcmp(cmd, "help") == 0) {
+      printf("tpmc mode: TPM%s\n", TPM_MODE_STRING);
+      printf("%26s %7s  %s\n\n", "command", "abbr.", "description");
+      for (c = command_table; c < command_table + n_commands; c++) {
+        printf("%26s %7s  %s\n", c->name, c->abbr, c->description);
+      }
+      return 0;
+    }
+    if (!strcmp(cmd, "tpmversion") || !strcmp(cmd, "tpmver")) {
+      return HandlerTpmVersion();
+    }
+
+    result = TlclLibInit();
+    if (result) {
+      fprintf(stderr, "initialization failed with code %d\n", result);
+      return result > OTHER_ERROR ? OTHER_ERROR : result;
+    }
+
+    for (c = command_table; c < command_table + n_commands; c++) {
+      if (strcmp(cmd, c->name) == 0 || strcmp(cmd, c->abbr) == 0) {
+        return ErrorCheck(c->handler(), cmd);
+      }
+    }
+
+    /* No command matched. */
+    fprintf(stderr, "%s: unknown command: %s\n", progname, cmd);
+    return OTHER_ERROR;
+  }
+}
diff --git a/utility/vbutil_what_keys b/utility/vbutil_what_keys
new file mode 100755 (executable)
index 0000000..b4427a3
--- /dev/null
@@ -0,0 +1,425 @@
+#!/bin/sh -u
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+if [ -z "$*" ]; then
+  cat <<EOF 1>&2
+
+Usage:  vbutil_what_keys [-v|-V] IMAGE [IMAGE...]
+
+Given a ChromiumOS disk (or BIOS) image, try to figure out how it's signed.
+Note that this does not verify the signature, it just reports which keyblock
+was used to create the signature.
+
+With the -v option, it will attempt to mount any rootfs partitions from disk
+images (using sudo), extract the BIOS from /usr/sbin/chromeos-firmwareupdate,
+and process it as well. Use -V to display the shellball -V message too.
+that.
+
+EOF
+  exit 1
+fi
+
+# We'll grep for the known sha1sums within this script (they're at the end).
+# Obtain them by running script on images you know have been signed correctly
+# (since the keys themselves are inside the HSM).
+#
+# BTW, the default H2C HWIDs are fixed for each platform:
+#
+# {97A1FBD6-FDE1-4FC5-BB81-286608B90FCE}    Alex H2C
+# {9D799111-A88A-439E-9E1F-FBBB41B00A9A}    Mario H2C
+# {24B107F2-BA6A-4EBD-8CDD-E768438CE0F0}    Stumpy H2C
+# {FA42644C-CF3A-4692-A9D3-1A667CB232E9}    ZGB H2C
+
+
+# args?
+unpack_it=
+verbose=
+if [ "${1:-}" = "-v" ]; then
+  unpack_it=yes
+  shift
+fi
+if [ "${1:-}" = "-V" ]; then
+  unpack_it=yes
+  verbose=yes
+  shift
+fi
+
+# clean up on exit
+cleanup() {
+  [ -n "${CLEAN_UM:-}" ] && sudo umount $CLEAN_UM
+  [ -n "${CLEAN_RM:-}" ] && rm -rf $CLEAN_RM
+}
+trap cleanup EXIT
+
+# temp stuff
+TMPFILE=$(mktemp /tmp/keyblock_XXXXXXXXX)
+CLEAN_RM="$TMPFILE"
+if [ -n "$unpack_it" ]; then
+  TMPMNT=$(mktemp -d /tmp/mountdir_XXXXXXXXX)
+  TMPDIR=$(mktemp -d /tmp/extractdir_XXXXXXXXX)
+  CLEAN_RM="$CLEAN_RM $TMPDIR $TMPMNT"
+fi
+
+greppy() {
+  local key="$1"
+  grep "$key" "$0" 2>/dev/null | sed -e 's/ \+/ /g' | \
+    cut -d ' ' -f 4- | sed -e ':a;N;$!ba;s/\n/, /g'
+}
+
+
+showbios() {
+  local file="$1" space="$2"
+  local hwid matchh rootkey matchn recoverykey matchr
+
+  hwid=$(futility gbb --hwid "$file" | sed -e 's/^.*: *//') || return
+  matchh=$(grep "$hwid" "$0" 2>/dev/null | sed -e 's/^# //')
+
+  futility gbb --rootkey="$TMPFILE" "$file" >/dev/null
+  rootkey=$(futility vbutil_key --unpack "$TMPFILE" | grep sha1sum | \
+    sed -e 's/^.*: *//')
+  matchn=$(greppy "$rootkey")
+
+  futility gbb --recoverykey="$TMPFILE" "$file" >/dev/null
+  recoverykey=$(futility vbutil_key --unpack "$TMPFILE" | grep sha1sum | \
+    sed -e 's/^.*: *//')
+  matchr=$(greppy "$recoverykey")
+
+  echo "$space  hwid:          ${matchh:-$hwid}"
+  echo "$space  root key:      ${rootkey}  ${matchn}"
+  echo "$space  recovery key:  ${recoverykey}  ${matchr}"
+}
+
+
+
+# handle one input file
+dofile() {
+  file="$1"
+  size=$(stat -c %s "$file")
+
+  if [ -f "$file" ] && [ "$size" -le 16777216 ]; then
+    echo -e "\nBIOS: $file"
+
+    showbios "$file" ""
+
+  else
+    echo -e "\nIMAGE: $file"
+
+    for pnum in $(cgpt find -n -t kernel "$file" 2>/dev/null); do
+
+      psize=$(cgpt show -s -i "$pnum" "$file")
+      if [ "$psize" -ge 128 ]; then
+
+        pstart=$(cgpt show -b -i "$pnum" "$file")
+        dd if="$file" of="$TMPFILE" bs=512 count=128 skip="$pstart" 2>/dev/null
+
+        psum=$(futility vbutil_keyblock --unpack "$TMPFILE" 2>/dev/null | \
+          grep sha1sum | sed -e 's/^.*: *//')
+
+        if [ -n "$psum" ]; then
+          match=$(greppy "$psum")
+          flags=$(futility vbutil_keyblock --unpack "$TMPFILE" 2>/dev/null | \
+            grep Flags: | sed -e 's/^.*:[ 0-9]*//')
+        else
+          match=""
+          psum="--invalid--"
+          flags=""
+        fi
+
+        echo "  part $pnum kernel:   $psum  ($flags)  $match"
+      fi
+
+    done
+
+    if [ -n "$unpack_it" ]; then
+      for pnum in $(cgpt find -n -t rootfs "$file" 2>/dev/null); do
+
+        psize=$(cgpt show -s -i "$pnum" "$file")
+        if [ "$psize" -ge 128 ]; then
+
+          pstart=$(cgpt show -b -i "$pnum" "$file")
+
+          echo "  part $pnum shellball:"
+          sudo mount -o loop,ro,offset=$(( $pstart * 512 )) "$file" "$TMPMNT"
+          CLEAN_UM="$TMPMNT"
+          [ -n "$verbose" ] && "$TMPMNT/usr/sbin/chromeos-firmwareupdate" -V
+          "$TMPMNT/usr/sbin/chromeos-firmwareupdate" \
+            --sb_extract "$TMPDIR" > /dev/null
+          sudo umount "$TMPMNT"
+          CLEAN_UM=
+
+          showbios "$TMPDIR/bios.bin" "  "
+        fi
+
+      done
+    fi
+
+  fi
+}
+
+
+for file in "$@"; do
+  dofile $file
+done
+
+echo ""
+
+exit 0;
+
+##############################################################################
+# Here are the known keys
+##############################################################################
+#
+# Firmware recovery keys
+#
+# c14bd720b70d97394257e3e826bd8f43de48d4ed  recovery developer keys
+#
+# 5c5776bf7574e5601c25042e0748b6844cfdd1dc  recovery Alex MP
+# 5c5776bf7574e5601c25042e0748b6844cfdd1dc  recovery Alex MP-v4
+# 5c5776bf7574e5601c25042e0748b6844cfdd1dc  recovery Alex-HE MP-v4
+# b3373d76358c3528d0653c4035bdd0020e2b0e1b  recovery Butterfly MP-v3
+# 8a22e18a91e89f46f1f59b44a7887ab3821cb18d  recovery Butterfly Pre-MP
+# b6079520f8c8dc7192a78d111b9fefb98cee49b3  recovery Clapper MP
+# 13b0ddf343bb0c325b178e5be138d4969a9e02be  recovery Daisy MP-v3
+# 5e9d23b2d908a6ac5ee5c9747a9e2fe6dff01372  recovery Daisy-Skate MP
+# 540bb135df55fe0036fe061b7a1f2a52d287cd1b  recovery Daisy-Spring MP-v2
+# ae67678f8ed662ef4d1e4a639226d278b90ccaa3  recovery Enguarde MP-v10
+# ff7c07ae0ac04ccb92090e339545b716228a6da4  recovery Expresso MP-v10
+# 3c359d59432641a151161e2738ba8ca2b3eb12ab  recovery Falco MP-v2
+# 3c359d59432641a151161e2738ba8ca2b3eb12ab  recovery Falco-li MP-v2
+# c989d1ab66d2a67886e1019330812cb9e4e48f31  recovery Glimmer MP
+# ab325d5411c6a21b41142b71b747335144e12538  recovery Gnawty MP
+# d81c751df76a7d53a6d3c2f58987562c87416735  recovery Kiev MP
+# 02601fcbcac953f043a53eac6fed7a5367a7189c  recovery Kiev PreMP
+# 6eaa4b094cd75eacc0f2fa4516d33ed86ea6f3d2  recovery Kip MP
+# dc65a88c92511494999d2c03a72ec2584d21917d  recovery Leon MP
+# 7e74cd6d66f361da068c0419d2e0946b4d091e1c  recovery Link MP
+# 7e74cd6d66f361da068c0419d2e0946b4d091e1c  recovery Link MP-v4
+# 08b2d19bc87d05d860a1c274f874bc9fa9ab7dfb  recovery Link Pre-MP
+# 0d800afb53cdd05dd849addee0143ca1d96e893c  recovery Lumpy MP
+# 0d800afb53cdd05dd849addee0143ca1d96e893c  recovery Lumpy MP-v3
+# ebcac421fbf411bee99ee90672a3add17f5a967b  recovery Lumpy PVT
+# 5d0d163b824cab5ae4f23fb2cc012e2a4124f4fe  recovery Mario MP
+# 5d0d163b824cab5ae4f23fb2cc012e2a4124f4fe  recovery Mario MP-v3
+# 51dd0b446540182fd91c6196b9a8dfcd7bcf6256  recovery McCloud MP
+# 67f01715f3acf6526ce48a3d2cf81b003a01f334  recovery Monroe MP
+# 40832bb15fa40a18b8e5d80fd17d0405b624884e  recovery Nyan PreMP
+# 2b356618cd0f739877b7a3f155917341f8778523  recovery Nyan-Big MP
+# 26900310befce802836cca982f819aa72445e190  recovery Nyan-Blaze MP
+# e74e63e14b285700324ffd3acc4b776dc3104b8f  recovery Panther MP
+# 7f03c648d2bb4ab3979cb87633da51ed90267f03  recovery Parrot MP
+# 7f03c648d2bb4ab3979cb87633da51ed90267f03  recovery Parrot MP-v3
+# 7f03c648d2bb4ab3979cb87633da51ed90267f03  recovery Parrot-ivb MP-v3
+# d254b3b3ddaac32f7b843753de9257ec4f6c67ed  recovery Peach-Pi MP
+# 6d9a2ca8b3080a97e1e5a4efbc5386ead77c3c7f  recovery Peach-Pit MP-v2
+# bf39d0d3e30cbf6a121416d04df4603ad5310779  recovery Peppy MP-v2
+# 60aa1bbbea1d2f724c6e5daa0653ca472ac3085e  recovery Quawks MP
+# fb4847ecb6bfcc300e5f570c5e8f3ab881204968  recovery Rambi PreMP
+# abd575549848c82b481068ddf0242ea38d2e5fdd  recovery Rowan PreMP
+# 462edb5ebfd817e29e813db7a424582c3ce35768  recovery Samus PreMP
+# 13b0ddf343bb0c325b178e5be138d4969a9e02be  recovery Snow MP
+# cdc2858ca78351dc4b54d5d5d02bc695830f7802  recovery Squawks MP
+# 5cb31faf8c524672a15fd4628c585af79eca0247  recovery Stout MP
+# 5cb31faf8c524672a15fd4628c585af79eca0247  recovery Stout MP-v3
+# 37e7bad73449f782f280b1668fed48d1132137fa  recovery Stumpy MP
+# 8540f56f87d91c5403704c960c1f385705201e20  recovery Stumpy PVT
+# e0b610bc85908c35fb7bd11bfd34afb84d547190  recovery Swanky MP
+# 50759cb8bc2f86ef378571fa7b30a161e7dcdc03  recovery Tricky MP
+# a0c56006541cd38d6c884d27210a135f5c309a3f  recovery Winky PreMP
+# a4ee431f7a07c59e920fe570ead0b938cdd4019d  recovery Wolf MP
+# 9bd99a594c45b6739899a17ec29ac2289ee75463  recovery ZGB MP
+# 9bd99a594c45b6739899a17ec29ac2289ee75463  recovery ZGB MP-v3
+# 9bd99a594c45b6739899a17ec29ac2289ee75463  recovery ZGB-HE MP-v3
+# ba07696c1c82891fdacab28a434148d239e7c834  recovery Zako MP-v2
+#
+# Firmware root keys
+#
+# b11d74edd286c144e1135b49e7f0bc20cf041f10      root developer keys
+#
+# 00f77be2a0c013343db84fc6259da09e558b8318      root Alex MP
+# 00f77be2a0c013343db84fc6259da09e558b8318      root Alex MP-v4
+# 00f77be2a0c013343db84fc6259da09e558b8318      root Alex-HE MP-v4
+# c788cee8c798669fe4822b7544dd3e399ce22604      root Butterfly MP-v3
+# 12a2c88b58cbd9eef6b777a3af440f611ea4f561      root Butterfly Pre-MP
+# 952dd6852c11fd8b36b4fb88f3335ecae722e0e6      root Clapper MP
+# a026a7a4a0bf0fa32d6b7aa90a80d5ef01a3b799      root Daisy MP-v3
+# c788cee8c798669fe4822b7544dd3e399ce22604      root Daisy-Skate MP
+# ab3521d3b1938af52009b2c3dfad964594f6b367      root Daisy-Spring MP-v2
+# 48dc3c5917b9095d6b4188560c9726ba31a192ee      root Enguarde MP-v10
+# 82f706e156e5927bbdf8f14f4a9f45bc59986311      root Expresso MP-v10
+# c788cee8c798669fe4822b7544dd3e399ce22604      root Falco MP-v2
+# c788cee8c798669fe4822b7544dd3e399ce22604      root Falco-li MP-v2
+# 952dd6852c11fd8b36b4fb88f3335ecae722e0e6      root Glimmer MP
+# fc68bcb88bf9af1907289a9f377d658b3b9fe5b0      root Gnawty MP
+# 4c5067795ddbbf100d19f9ba08928af1c1ef37c6      root Kiev MP
+# 9c138273527db0a0797233e2345ee39e46c0df95      root Kiev PreMP
+# c788cee8c798669fe4822b7544dd3e399ce22604      root Kip MP
+# 154512de86cc1cc36a67d4225eb2fcc37dac1b7c      root Leon MP
+# 7b5c520ceabce86f13e02b7ca363cfb509fc5b98      root Link MP
+# 7b5c520ceabce86f13e02b7ca363cfb509fc5b98      root Link MP-v4
+# e63058bf4b86b6fb1f148bc7acea9c71fe51675f      root Link Pre-MP
+# 4e92f07efd4a920c4e4f1ed97cf47b7b04ee1428      root Lumpy MP
+# 4e92f07efd4a920c4e4f1ed97cf47b7b04ee1428      root Lumpy MP-v3
+# c9fc61f331b34e00a148e657bde5fb6b0b576c0a      root Lumpy PVT
+# 541f467a7d8747f55ae9087ee4e34155f5ee3cd7      root Mario MP
+# 541f467a7d8747f55ae9087ee4e34155f5ee3cd7      root Mario MP-v3
+# fc68bcb88bf9af1907289a9f377d658b3b9fe5b0      root McCloud MP
+# eec186f8a0cd6be2e9d86dc9ce284790739be202      root Monroe MP
+# 3f54dd6a6e16128aec5c6c3052763388ae99d350      root Nyan PreMP
+# fc68bcb88bf9af1907289a9f377d658b3b9fe5b0      root Nyan-Big MP
+# c788cee8c798669fe4822b7544dd3e399ce22604      root Nyan-Blaze MP
+# 758a59f4f911b63a1335223d761d2485313674c8      root Panther MP
+# 9f59876c7f7dc881f02d934786c6b7c2c17dcaac      root Parrot MP
+# 9f59876c7f7dc881f02d934786c6b7c2c17dcaac      root Parrot MP-v3
+# 9f59876c7f7dc881f02d934786c6b7c2c17dcaac      root Parrot-ivb MP-v3
+# a026a7a4a0bf0fa32d6b7aa90a80d5ef01a3b799      root Peach-Pi MP
+# a026a7a4a0bf0fa32d6b7aa90a80d5ef01a3b799      root Peach-Pit MP-v2
+# fc68bcb88bf9af1907289a9f377d658b3b9fe5b0      root Peppy MP-v2
+# 758a59f4f911b63a1335223d761d2485313674c8      root Quawks MP
+# b3119b02f2b5371da5596b13d612facbca99b94f      root Rambi PreMP
+# cb67b1bda9965eebae6c477abf557d2c13690c30      root Rowan PreMP
+# cb8086a9c1cd26318fef9a9fb3f846ca12320737      root Samus PreMP
+# a026a7a4a0bf0fa32d6b7aa90a80d5ef01a3b799      root Snow MP
+# 758a59f4f911b63a1335223d761d2485313674c8      root Squawks MP
+# 952dd6852c11fd8b36b4fb88f3335ecae722e0e6      root Stout MP
+# 952dd6852c11fd8b36b4fb88f3335ecae722e0e6      root Stout MP-v3
+# 4ec4ba0a746b37b1c6286ab807c2a5b1e7ab4ab0      root Stumpy MP
+# 06939c65797eadfe6be1b3343a2e339800a34108      root Stumpy PVT
+# 154512de86cc1cc36a67d4225eb2fcc37dac1b7c      root Swanky MP
+# ed3dab48746de569513aa288439f86fe24cc3386      root Tricky MP
+# 5915703fb47bf569d7a6b8726cb9a1bd159487b0      root Winky PreMP
+# ed3dab48746de569513aa288439f86fe24cc3386      root Wolf MP
+# 9f59876c7f7dc881f02d934786c6b7c2c17dcaac      root ZGB MP
+# 9f59876c7f7dc881f02d934786c6b7c2c17dcaac      root ZGB MP-v3
+# 9f59876c7f7dc881f02d934786c6b7c2c17dcaac      root ZGB-HE MP-v3
+# c788cee8c798669fe4822b7544dd3e399ce22604      root Zako MP-v2
+#
+# Normal kernel keys
+#
+# d6170aa480136f1f29cf339a5ab1b960585fa444    normal developer keys
+#
+# af24e46b6c3805869616e71c002c9a2a847ad266    normal Alex MP
+# af24e46b6c3805869616e71c002c9a2a847ad266    normal Alex MP-v4
+# af24e46b6c3805869616e71c002c9a2a847ad266    normal Alex-HE MP-v4
+# 6026d95d1f11e1b88c19a139effbb02660523904    normal Butterfly MP-v3
+# 24fcff70ef3d834451384452bd9bc64c4d01c559    normal Butterfly Pre-MP
+# d03ba05319cd77d0830b268804804f21fcb7672c    normal Clapper MP
+# 0d96e14c31a405b28dd7c7d2e416bbf960bc9779    normal Daisy MP-v3
+# da0bb5a3e2e80ebab0ac268ba2204ec360e9bb45    normal Daisy-Skate MP
+# 94b5cfc5933e2f6294095820fa9eaf8162ca8021    normal Daisy-Spring MP-v2
+# dd15b9458ffc5ecb8048dbc4ae5e7f480c9e1852    normal Duck PreMP
+# d9ffc2514c179472b6c5553b8ed20237cdfef73e    normal Enguarde MP-v10
+# bd99dc86506b9ebe3025e5af69a26decf607173d    normal Expresso MP-v10
+# c5d935b69950c29b2d2bba7cecacd2859fb9afbd    normal Falco MP-v2
+# c5d935b69950c29b2d2bba7cecacd2859fb9afbd    normal Falco-li MP-v2
+# c6bc5788eb62701cdd69b309766fe2a49ead14d1    normal Glimmer MP
+# 32778b8483e14e4570b582c34df065c5ee833a59    normal Gnawty MP
+# f82f08a5953b688b078f465731f1077fdf0d97cf    normal Kiev MP
+# b3ad5503fda8b06c74a000fed289006c97bf5600    normal Kip MP
+# 933610d5c9926ec5540e180cda18c0395a853012    normal Leon MP
+# d5927774fc14bb18a38c27fef47a36517a089d04    normal Link MP
+# ad9e35dcd4287a3e27264ce49df6df40aaf2dcbb    normal Link MP-v4
+# 7cb50f352af15f807f4bf3eaaede62d2f9c70d27    normal Link Pre-MP
+# ad9e35dcd4287a3e27264ce49df6df40aaf2dcbb    normal Link-freon MP-v4
+# cc887372ac2d1c415eac93fc11e753629c387358    normal Lumpy MP v2
+# cc887372ac2d1c415eac93fc11e753629c387358    normal Lumpy MP-v3
+# fa55cba16857a49270fb1561f87343c00959eb19    normal Lumpy PVT
+# a1454fcecb98a6f33b38638564bdfc20161a7b04    normal Mario MP v2
+# a1454fcecb98a6f33b38638564bdfc20161a7b04    normal Mario MP-v3
+# 8848be24f4c34f064ae23c0450d27b62e558d2ed    normal McCloud MP
+# ac65608a05976a904f4c6123953968cd1aa444ab    normal Monroe MP
+# 78d388d49c494510d48cfa1650eacd45aa871da5    normal Nyan PreMP
+# 71dd606970080aab093da2bbe91ca4348988175c    normal Nyan-Big MP
+# c4c00693dd7b99fffc1b272641f769d0a2f19ef5    normal Nyan-Blaze MP
+# 39f6088397ebfcc8fffbd933b4bcd8a0e74ba409    normal Panther MP
+# 8975d168123d5cfc7cebf674627958445f0d2a52    normal Parrot MP v2
+# e18e8ac7835390a71d2d70d02880694c6da9ac92    normal Parrot MP-v3
+# e18e8ac7835390a71d2d70d02880694c6da9ac92    normal Parrot-ivb MP-v3
+# ef469c6417138a8a371b51483d941a01453d27a3    normal Peach-Pi MP
+# 2cf0eddab3a021044fc66fdca492c7899de5b7eb    normal Peach-Pit MP-v2
+# 320e083d80e1a49d9c11cc0d8d055b050a92805a    normal Peppy MP-v2
+# c65c3e3648eca66449ac9cdaf60edc2ba1b136e8    normal Quawks MP
+# 037f4ed441ac39ca0a7fdd6c0829d4add9bf5f34    normal Rambi PreMP
+# 3ca9ee2c112826aa89f0edf3cedcc5b65f250271    normal Rowan PreMP
+# 989186f9aec3bced013d7f085c0f8caa07518e34    normal Samus PreMP
+# c5120666c642f031e76edab8a2b45dd32232f80d    normal Snow MP v2
+# 1cab1dedc34076b8887c9ebd4e6769eda6c41ed2    normal Squawks MP
+# 09cb9b45c2cd4ca674861fe484aa758ba5568be0    normal Stout MP
+# 47a82928807763a30956f40e4de0e68af2a17975    normal Stout MP-v3
+# de0b76af3caa55a8e7aa34c805e4248ad03b18e7    normal Stumpy MP
+# f7e48006982a0ad4a41c0ca6610f062adb0eec44    normal Stumpy MP v2
+# 04dd63e835c979b57f87fd74e99af68e0cd39ad7    normal Stumpy PVT
+# c321ed66f9b999598d39be7be3246bb25362740b    normal Swanky MP
+# 5c626cd8a684e470e74d3ceaf518aae745fe15dc    normal Tegra2-Kaen PVT
+# 09790fcb8c2b6732ec54bc406d34ec16c55992ba    normal Tricky MP
+# 202bb448a3f269771cffe53c38d6f05b2d1329ae    normal Winky PreMP
+# 7d4f5255af3552d8c8b40f60873d683268050015    normal Wolf MP
+# 7b7ae8652775ad7305f565161b3acc00fcc8ea22    normal ZGB MP v2
+# 7b7ae8652775ad7305f565161b3acc00fcc8ea22    normal ZGB MP-v3
+# 7b7ae8652775ad7305f565161b3acc00fcc8ea22    normal ZGB-HE MP-v3
+# f70f0373b60ea8e2c5df7a9afeb75726fe0c8eb3    normal Zako MP-v2
+#
+# Recovery kernel keys
+#
+# e78ce746a037837155388a1096212ded04fb86eb  recovery developer keys
+#
+# 03172b08f0b99172c73d947f51e8ca23d418bcbf  recovery Alex MP
+# 03172b08f0b99172c73d947f51e8ca23d418bcbf  recovery Alex MP-v4
+# 03172b08f0b99172c73d947f51e8ca23d418bcbf  recovery Alex-HE MP-v4
+# c65d20649d35019a40642a4e2540b19587ee6458  recovery Butterfly MP-v3
+# 934e38b44b11eb892d1edc32cb3ba87c558232d9  recovery Butterfly Pre-MP
+# 889367bc86d0af857412a409f98e2ab9d798f887  recovery Clapper MP
+# f32b5f6b6cfb6d77136ac0d8ed0cdf67e6df7b91  recovery Daisy MP-v3
+# 66496dd27c44ae81cf0c41671b5af59a316969da  recovery Daisy-Skate MP
+# a1f00935770234a434c4b14414c48866b1661e40  recovery Daisy-Spring MP-v2
+# 9a04d0ea29b095c6c227b50d4bb75f431355dbb0  recovery Duck PreMP
+# e30dc74a05de0d0e7522817f8d97f04f08ff6a8b  recovery Enguarde MP-v10
+# 4e22acdedf89a3dbb6b9861b513e2121bd457a96  recovery Expresso MP-v10
+# af1e6c23c3148d3261b5fc7c30860d89faeee7a6  recovery Falco MP-v2
+# af1e6c23c3148d3261b5fc7c30860d89faeee7a6  recovery Falco-li MP-v2
+# 45145bcfc866b5cc7d711d6451fd1272f55ba087  recovery Glimmer MP
+# 377f89af74389c1d06876981bda3a7a591332f67  recovery Gnawty MP
+# 10d73c2b24b35c0ea387babd72e9b242f2d79c9f  recovery Kiev MP
+# 5dea047c25331a6b3ed0f40efa7e2b8b90676abf  recovery Kip MP
+# 51a7f92ef6d727da9b0f0ebd8882a836db296e97  recovery Leon MP
+# e8c4e66b00df5468e4d7ec9757347842cfd6c1da  recovery Link MP
+# e8c4e66b00df5468e4d7ec9757347842cfd6c1da  recovery Link MP-v4
+# 93e0ecffb36199071a3d995f6726770e799dcd0e  recovery Link Pre-MP
+# e8c4e66b00df5468e4d7ec9757347842cfd6c1da  recovery Link-freon MP-v4
+# 49d40533b0812d3f31232c5eedd47e7e11acc293  recovery Lumpy MP
+# 49d40533b0812d3f31232c5eedd47e7e11acc293  recovery Lumpy MP-v3
+# cb45bc04a932e4bcac41b44d31afd9516ca0fe24  recovery Lumpy PVT
+# f6fadd7e31eebf4bcc4eb8d2dd512e3a2313627f  recovery Mario MP
+# f6fadd7e31eebf4bcc4eb8d2dd512e3a2313627f  recovery Mario MP-v3
+# 95b4a4abb2a55e7163824e36583c109c90a2e78d  recovery McCloud MP
+# 5e2ca8bc287af2d94615e940ee17e9620d3191dd  recovery Monroe MP
+# b914dc4800f6929d0c1ecea536dbff9ef618af26  recovery Nyan PreMP
+# 9cdfb53d6ef4f4746de2dace828d1142c216a130  recovery Nyan-Big MP
+# 934ce4a3a23316457727a500b7dce4e04b2f7147  recovery Nyan-Blaze MP
+# ef1c9cdbf547acc397288cf58fd3ee274383abbb  recovery Panther MP
+# cfa1a4a784a90cc7c1df6859fa226b89e6afbeb5  recovery Parrot MP
+# cfa1a4a784a90cc7c1df6859fa226b89e6afbeb5  recovery Parrot MP-v3
+# cfa1a4a784a90cc7c1df6859fa226b89e6afbeb5  recovery Parrot-ivb MP-v3
+# 7cabfc4c72cb300399c8c490b39c1ce0c45b11c0  recovery Peach-Pi MP
+# b39e9b9b12f3ab4fd1017e6c92d4ccff2723347d  recovery Peach-Pit MP-v2
+# 74ec605d3525e24b7f7a4b633afd2ec048dc6d12  recovery Peppy MP-v2
+# 315417a5d8a95b954f5f101acaef5b107136a418  recovery Quawks MP
+# d0b7feba2bb53ecd8eda6602ccf6a0c25e5b001f  recovery Rambi PreMP
+# 942e15e118dca77b75a668c8c814bf8d67b774b2  recovery Rowan PreMP
+# 61cad57963dd64202cead8dcfc62aea76c9911c2  recovery Samus PreMP
+# f32b5f6b6cfb6d77136ac0d8ed0cdf67e6df7b91  recovery Snow MP
+# d45eb14119d14b5b1d4b259f177e32c522d27f99  recovery Squawks MP
+# fa4497f70968a1820ceb0ac4364d8e9ec0abc0b2  recovery Stout MP
+# fa4497f70968a1820ceb0ac4364d8e9ec0abc0b2  recovery Stout MP-v3
+# 6f6d6df4e328633904990cf8c60baa18b8cf6fc7  recovery Stumpy MP
+# 057a03c1526a1be7f42d29095c5a583231a75b35  recovery Stumpy PVT
+# d56ac05587d7d45d681cb52d113fb5d95e787d1d  recovery Swanky MP
+# de11a604715a920d7371ceefda75a5b1b062443f  recovery Tegra2-Kaen PVT
+# 4fe89a587d09c9fb58e79b556014b833f64559fb  recovery Tricky MP
+# 72bb00bb0c89d06569df2d9d2e8087e040bbbb8b  recovery Winky PreMP
+# a01a2a2502fe8f6e3dc8100080b0e486bc0a3468  recovery Wolf MP
+# 20f3e8b77da6577706c91feefb203f98ee20d479  recovery ZGB MP
+# 20f3e8b77da6577706c91feefb203f98ee20d479  recovery ZGB MP-v3
+# 20f3e8b77da6577706c91feefb203f98ee20d479  recovery ZGB-HE MP-v3
+# 070611f0aa70b6887dd3c96b4086c13894ffa25f  recovery Zako MP-v2
diff --git a/utility/verify_data.c b/utility/verify_data.c
new file mode 100644 (file)
index 0000000..6d3ea15
--- /dev/null
@@ -0,0 +1,110 @@
+/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Routines for verifying a file's signature. Useful in testing the core
+ * RSA verification implementation.
+ */
+
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "2common.h"
+#include "2rsa.h"
+#include "2sha.h"
+#include "2sysincludes.h"
+#include "file_keys.h"
+#include "host_common.h"
+
+/* ANSI Color coding sequences. */
+#define COL_GREEN "\e[1;32m"
+#define COL_RED "\e[0;31m"
+#define COL_STOP "\e[m"
+
+int main(int argc, char* argv[])
+{
+       uint8_t workbuf[VB2_VERIFY_DIGEST_WORKBUF_BYTES]
+                __attribute__((aligned(VB2_WORKBUF_ALIGN)));
+       struct vb2_workbuf wb;
+       vb2_workbuf_init(&wb, workbuf, sizeof(workbuf));
+
+       int return_code = 1;  /* Default to error. */
+       uint8_t digest[VB2_MAX_DIGEST_SIZE];
+       struct vb2_packed_key *pk = NULL;
+       uint8_t *signature = NULL;
+       uint32_t sig_len = 0;
+
+       if (argc != 5) {
+               int i;
+               fprintf(stderr,
+                       "Usage: %s <algorithm> <key file> <signature file>"
+                       " <input file>\n\n", argv[0]);
+               fprintf(stderr,
+                       "where <algorithm> depends on the signature algorithm"
+                       " used:\n");
+               for(i = 0; i < VB2_ALG_COUNT; i++)
+                       fprintf(stderr, "\t%d for %s\n", i,
+                               vb2_get_crypto_algorithm_name(i));
+               return -1;
+       }
+
+       int algorithm = atoi(argv[1]);
+       if (algorithm >= VB2_ALG_COUNT) {
+               fprintf(stderr, "Invalid algorithm %d\n", algorithm);
+               goto error;
+       }
+
+       pk = vb2_read_packed_keyb(argv[2], algorithm, 0);
+       if (!pk) {
+               fprintf(stderr, "Can't read RSA public key.\n");
+               goto error;
+       }
+
+       struct vb2_public_key k2;
+       if (VB2_SUCCESS != vb2_unpack_key(&k2, pk)) {
+               fprintf(stderr, "Can't unpack RSA public key.\n");
+               goto error;
+       }
+
+       if (VB2_SUCCESS != vb2_read_file(argv[3], &signature, &sig_len)) {
+               fprintf(stderr, "Can't read signature.\n");
+               goto error;
+       }
+
+       uint32_t expect_sig_size =
+                       vb2_rsa_sig_size(vb2_crypto_to_signature(algorithm));
+       if (sig_len != expect_sig_size) {
+               fprintf(stderr, "Expected signature size %u, got %u\n",
+                       expect_sig_size, sig_len);
+               goto error;
+       }
+
+       if (VB2_SUCCESS != DigestFile(argv[4], vb2_crypto_to_hash(algorithm),
+                                      digest, sizeof(digest))) {
+               fprintf(stderr, "Error calculating digest.\n");
+               goto error;
+       }
+
+       if (VB2_SUCCESS == vb2_rsa_verify_digest(&k2, signature, digest, &wb)) {
+               return_code = 0;
+               fprintf(stderr, "Signature Verification "
+                       COL_GREEN "SUCCEEDED" COL_STOP "\n");
+       } else {
+               fprintf(stderr, "Signature Verification "
+                       COL_RED "FAILED" COL_STOP "\n");
+       }
+
+error:
+       if (pk)
+               free(pk);
+       if (signature)
+               free(signature);
+
+       return return_code;
+}
diff --git a/vboot_host.pc.in b/vboot_host.pc.in
new file mode 100644 (file)
index 0000000..46243db
--- /dev/null
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+includedir=${prefix}/include
+libdir=${prefix}/@LIBDIR@
+
+Name: libvboot_host
+Version: 2
+Description: Static library of functions related to vboot and cgpt.
+Cflags: -I${includedir}
+Libs: -L${libdir} -lvboot_host @LDLIBS@